diff --git a/frontend/src/_common.scss b/frontend/src/_common.scss
new file mode 100644
index 000000000..d0652e036
--- /dev/null
+++ b/frontend/src/_common.scss
@@ -0,0 +1,8 @@
+@use "~@fortawesome/fontawesome-pro/scss/fontawesome" with (
+ $fa-font-path: "~@fortawesome/fontawesome-pro/webfonts"
+);
+@forward "~@fortawesome/fontawesome-pro/scss/fontawesome";
+@use "~@fortawesome/fontawesome-pro/scss/solid";
+
+@use "~typeface-roboto" as roboto;
+@use "~typeface-source-sans-pro" as source-sans-pro;
diff --git a/frontend/src/app.scss b/frontend/src/app.scss
index 5eeb75ecb..fd0d6f93c 100644
--- a/frontend/src/app.scss
+++ b/frontend/src/app.scss
@@ -1,11 +1,1517 @@
-$fa-font-path: "~@fortawesome/fontawesome-pro/webfonts";
+@use "common" as *;
-@import "@fortawesome/fontawesome-pro/scss/fontawesome.scss";
-@import "@fortawesome/fontawesome-pro/scss/solid.scss";
+:root {
+ /* THEME INDEPENDENT COLORS */
+ --color-error: #8c0707;
+ --color-error-dark: #500303;
+ --color-warning: #fc9900;
+ --color-warning-dark: #c27400;
+ --color-success: #23d160;
+ --color-success-dark: #1ca64c;
+ --color-info: #c4c4c4;
+ --color-info-dark: #919191;
+ --color-lightblack: #1A2A36;
+ --color-lightwhite: #fcfffa;
+ --color-grey: #B1B5C0;
+ --color-grey-light: #efefef;
+ --color-grey-lighter: #f5f5f5;
+ --color-grey-medium: #9A989E;
+ --color-font: #34303a;
+ --color-fontsec: #5b5861;
-$roboto: "Roboto";
-@import "~typeface-roboto/index.css";
+ /* FONTS */
+ --font-base: "Source Sans Pro", "Trebuchet MS", sans-serif;
+ --font-logo: "Roboto", var(--font-base);
-$source-sans: "Source Sans Pro";
-@import "~typeface-source-sans-pro/index.css";
+ /* DIMENSIONS */
+ --header-height: 100px;
+ --header-height-collapsed: 60px;
+
+ --asidenav-width-xl: 250px;
+ --asidenav-width-lg: 20%;
+ --asidenav-width-md: 60px;
+}
+
+* {
+ box-sizing: border-box;
+ padding: 0;
+ margin: 0;
+ -webkit-font-smoothing: antialiased;
+}
+
+body {
+ background-color: white;
+ color: var(--color-font);
+ font-family: var(--font-base);
+ font-weight: 400;
+ font-size: 16px;
+ overflow-y: scroll;
+}
+
+/* THEMES */
+
+body {
+ /* DEFAULT LMU THEME */
+ --color-lmu-green: #0a9342;
+ --color-primary: var(--color-lmu-green);
+ --color-light: #31cc72;
+ --color-lighter: #35db7a;
+ --color-dark: #087536;
+ --color-darker: #075728;
+ --color-link: var(--color-font);
+ --color-link-hover: var(--color-font);
+ --color-lmu-box-border: var(--color-lightwhite);
+
+ &.theme--lavender {
+ --color-primary: #584c9c;
+ --color-light: #5969b5;
+ --color-lighter: #5f7dc2;
+ --color-dark: #4c4279;
+ --color-darker: #3c2765;
+ --color-link: var(--color-dark);
+ --color-link-hover: var(--color-darker);
+ }
+
+ &.theme--neutral-blue {
+ --color-primary: #3E606F;
+ --color-light: rgb(189, 201, 219);
+ --color-lighter: rgb(145, 159, 170);
+ --color-dark: rgb(42, 74, 88);
+ --color-darker: #193441;
+ }
+
+ &.theme--aberdeen-reds {
+ --color-primary: #820333;
+ --color-light: #C9283E;
+ --color-lighter: #F0433A;
+ --color-dark: #540032;
+ --color-darker: #2E112D;
+ }
+
+ &.theme--moss-green {
+ --color-primary: #5C996B;
+ --color-light: #7ACC8F;
+ --color-lighter: #99FFB2;
+ --color-dark: #3D6647;
+ --color-darker: #1F3324;
+ }
+
+ &.theme--sky-love {
+ --color-primary: #87ABE5;
+ --color-light: #A0C6F2;
+ --color-lighter: #BAE2FF;
+ --color-dark: #7A95DE;
+ --color-darker: #6B7BC9;
+ --color-link: var(--color-lightblack);
+ --color-link-hover: var(--color-darker);
+ }
+}
+
+/* END THEMES */
+
+.emph {
+ font-style: italic;
+}
+
+a,
+a:visited {
+ text-decoration: none;
+ font-weight: 600;
+ transition: color .2s ease, background-color .2s ease;
+}
+
+a {
+ color: var(--color-link);
+}
+
+a:hover {
+ color: var(--color-link-hover);
+}
+
+
+ul {
+ margin-left: 20px;
+}
+
+h1, h2, h3, .div-h3 , h4, h5 {
+ font-weight: 600;
+}
+h1 {
+ font-size: 32px;
+ margin-bottom: 10px;
+}
+h2 {
+ font-size: 24px;
+ margin: 10px 0;
+
+ &:first-child {
+ margin-top: 0;
+ }
+}
+h3, .div-h3 {
+ font-size: 20px;
+ margin: 10px 0;
+
+ &:first-child {
+ margin-top: 0;
+ }
+}
+h4 {
+ font-size: 16px;
+ margin: 0;
+}
+
+@media (max-width: 768px) {
+
+ h1 {
+ font-size: 24px;
+ }
+
+ h2 {
+ font-size: 20px;
+ }
+
+ h3, .div-h3 {
+ font-size: 16px;
+ }
+}
+
+/* LAYOUT */
+.main {
+ position: relative;
+}
+
+.main__content {
+ position: relative;
+ background-color: white;
+ transition: padding-left .2s ease-out;
+ margin-top: var(--header-height-collapsed);
+ margin-left: 0;
+
+ > .container {
+ margin: 20px 0;
+ }
+}
+
+.main__content, .modal__content {
+ a {
+ text-decoration: underline;
+ }
+
+ p, form, .div-p {
+ margin: 0.5rem 0;
+
+ &:last-child {
+ margin: 0.5rem 0 0;
+
+ &:first-child {
+ margin: 0;
+ }
+ }
+ }
+}
+
+@media (min-width: 426px) {
+ .main__content {
+ margin-left: var(--asidenav-width-md, 50px);
+ }
+}
+
+@media (min-width: 769px) {
+ .main__content {
+ margin-left: var(--asidenav-width-lg, 20%);
+ margin-top: var(--header-height);
+ }
+}
+
+@media (min-width: 1200px) {
+ .main__content {
+ margin-left: var(--asidenav-width-xl, 250px);
+ }
+}
+
+.main__content-body {
+ padding: 13px;
+}
+
+@media (min-width: 426px) {
+ .main__content-body {
+ padding: 13px 20px;
+ }
+}
+
+@media (min-width: 769px) {
+ .main__content-body {
+ padding: 20px 40px;
+ }
+}
+
+.pseudo-focus {
+ outline: 5px auto var(--color-light);
+ outline: 5px auto -webkit-focus-ring-color;
+}
+
+/* CONTAINER */
+.container {
+
+ + .container {
+ margin-top: 20px;
+ }
+}
+
+/* GENERAL BUTTON STYLES */
+input[type="submit"],
+input[type="button"],
+button,
+.btn {
+ outline: 0;
+ border: 0;
+ box-shadow: 0;
+ background-color: var(--color-dark);
+ color: white;
+ padding: 10px 17px;
+ min-width: 100px;
+ transition: all .1s;
+ font-size: 16px;
+ cursor: pointer;
+ display: inline-block;
+ text-decoration: none;
+
+ a:hover {
+ color: white;
+ }
+
+ &:focus {
+ border-color: #3273dc;
+ box-shadow: 0 0 0 0.25rem rgba(50,115,220,.25);
+ outline: 0;
+ }
+}
+
+input[type="submit"][disabled],
+input[type="button"][disabled],
+button[disabled],
+.btn[disabled] {
+ opacity: 0.3;
+ background-color: var(--color-grey);
+ cursor: default;
+}
+
+input[type="submit"]:not([disabled]):hover,
+input[type="button"]:not([disabled]):hover,
+button:not([disabled]):hover,
+.btn:not([disabled]):hover {
+ background-color: var(--color-light);
+ color: white;
+}
+
+.btn-primary {
+ background-color: var(--color-primary);
+}
+
+.btn-info {
+ background-color: var(--color-info)
+}
+
+.btn--small {
+ padding: 4px 7px;
+ background-color: var(--color-darker);
+}
+
+input[type="submit"].btn-info:hover,
+input[type="button"].btn-info:hover,
+.btn-info:hover {
+ background-color: var(--color-grey)
+}
+
+/* GENERAL TABLE STYLES */
+.table {
+ margin: 21px 0;
+ width: 100%;
+}
+
+.table:first-child {
+ margin-top: 0;
+}
+
+.table:last-child {
+ margin-bottom: 0;
+}
+
+.table--striped {
+
+ .table__row:not(.no-stripe):not(.table__row--sum):nth-child(even) {
+ background-color: rgba(0, 0, 0, 0.03);
+ }
+}
+
+.table--hover {
+
+ .table__row:not(.no-hover):not(.table__row--sum):not(.table__row--head):not(.table__row--foot):hover {
+ background-color: rgba(0, 0, 0, 0.07);
+ }
+}
+
+.table__row--sum td.table__td::before {
+ content: 'Σ';
+ font-weight: bold;
+ margin-right: .25em;
+}
+
+/* SCROLLTABLE */
+.scrolltable {
+ overflow: auto;
+}
+
+.scrolltable--bordered {
+ box-shadow: 0 0 1px 1px var(--color-grey-light);
+}
+
+@media (max-width: 425px) {
+
+ .scrolltable {
+ margin-left: -10px;
+ padding-left: 10px;
+ margin-right: -10px;
+ padding-right: 10px;
+ }
+}
+
+/* TABLE DESIGN */
+.table__td, .table__th {
+ padding-top: 14px;
+ padding-bottom: 10px;
+ padding-left: 10px;
+ padding-right: 10px;
+ max-width: 300px;
+}
+
+.table__td {
+ font-size: 16px;
+ color: var(--color-font);
+ line-height: 1.4;
+ vertical-align: top;
+}
+
+.table__td--automatic {
+ font-style: oblique;
+ color: var(--color-fontsec);
+}
+
+.table__td--overriden {
+ font-weight: bold;
+}
+
+.table__th {
+ background-color: var(--color-dark);
+ position: relative;
+ font-size: 16px;
+ color: white;
+ line-height: 1.4;
+ padding-top: 10px;
+ padding-bottom: 10px;
+ font-weight: bold;
+ text-align: left;
+
+ a {
+ color: white;
+ text-decoration: none;
+ font-weight: bold;
+
+ &:hover {
+ color: inherit;
+ }
+
+ &::before {
+ @extend .fas;
+ content: fa-content($fa-var-link);
+ margin-right: 0.25em;
+ }
+ }
+}
+
+@media (max-width: 1200px) {
+
+ .table th {
+ padding: 4px 6px;
+ }
+}
+
+.table__td-content {
+ max-height: 200px;
+ overflow-y: auto;
+}
+
+.table__th-link {
+ font-weight: bold;
+
+ &::before {
+ display: none;
+ }
+}
+
+.table--vertical {
+
+ th {
+ background-color: transparent;
+ color: var(--color-font);
+ width: 170px;
+ text-align: right;
+ padding-right: 15px;
+ font-weight: 400;
+ }
+
+ td {
+ font-weight: 600;
+ color: var(--color-font);
+ }
+}
+
+.table--condensed {
+ margin: 0;
+
+ .table__th,
+ .table__td {
+ padding: 4px 8px;
+ }
+}
+
+/* UNORDERED LIST */
+.list-ul__item {
+ // padding: 4px 0;
+ line-height: 25px;
+}
+
+/* LIST MODIFIERS */
+.list--iconless {
+ list-style-type: none;
+ margin-left: 0;
+}
+
+.list--inline {
+ ul {
+ display: inline-block;
+ margin-left: 0;
+
+ li {
+ display: inline-block;
+ }
+ }
+}
+
+ul.list--inline {
+
+ display: inline-block;
+ margin-left: 0;
+
+ li {
+ display: inline-block;
+ }
+}
+
+.list--comma-separated li {
+ &::after {
+ content: ', ';
+ white-space: pre;
+ }
+
+ &:last-of-type::after {
+ content: none;
+ }
+}
+
+.list--space-separated li {
+ &::after {
+ content: ' ';
+ white-space: pre;
+ }
+
+ &:last-of-type::after {
+ content: none;
+ }
+}
+
+.list--icon-width li {
+ width: 1rem;
+ height: 1rem;
+}
+
+/* DEFINITION LIST */
+.deflist {
+ display: grid;
+ grid-template-columns: 100%;
+}
+.deflist__dt,
+.deflist__dd {
+ padding: 2px 0;
+}
+
+.deflist__dt {
+ font-weight: 600;
+}
+
+.deflist__dd {
+ font-size: 18px;
+ margin-bottom: 10px;
+
+ > p, > .div-p {
+ margin-top: 0;
+ }
+}
+
+@media (min-width: 768px) {
+
+ .deflist {
+ grid-template-columns: fit-content(25vw) 1fr;
+
+ .deflist {
+ margin-top: -10px;
+ margin-right: -15px;
+
+ .deflist__dd {
+ padding-right: 15px;
+ }
+ }
+ }
+
+ .deflist__dt,
+ .deflist__dd {
+ padding: 12px 0;
+ margin: 0;
+ font-size: 16px;
+
+ &:last-of-type {
+ border: 0;
+ }
+ }
+
+ .deflist__dt {
+ padding-right: 50px;
+ }
+
+ .deflist__dd {
+ padding-right: 15px;
+ }
+}
+
+section {
+ padding-bottom: 30px;
+ border-bottom: 1px solid #d3d3d3;
+
+ + section {
+ margin-top: 20px;
+ }
+
+ &:last-child {
+ border-bottom: none;
+ padding-bottom: 0px;
+ }
+}
+
+.pseudonym {
+ font-family: monospace;
+}
+
+.headline-one {
+ margin-bottom: 10px;
+}
+
+/* Notification style used as requested by @hamanf in #298, but class was not globally available. Copied from dead-code. For @hamanf to clean up: */
+
+.notification {
+ position: relative;
+ border-radius: 3px;
+ padding: 10px 20px 20px;
+ margin: 40px auto;
+ box-shadow: 0 0 4px 2px inset currentColor;
+ padding-left: 100px;
+ min-height: 100px;
+ max-width: 700px;
+ font-weight: 600;
+ vertical-align: center;
+ display: grid;
+ grid-column: 2;
+
+ &::before {
+ @extend .fas;
+ position: absolute;
+ display: flex;
+ left: 0;
+ top: 0;
+ height: 100%;
+ width: 100px;
+ font-size: 50px;
+ align-items: center;
+ justify-content: center;
+ }
+
+ .notification__content {
+ grid-column: 1;
+ align-self: center;
+
+ color: var(--color-font);
+ }
+
+ &.notification--broad {
+ max-width: none;
+ }
+}
+
+.form-section-notification {
+ display: grid;
+ grid-template-columns: 1fr 3fr;
+ grid-gap: 5px;
+
+ fieldset {
+ display: grid;
+ grid-template-columns: 1fr 3fr;
+ grid-gap: 5px;
+ grid-column: 1/3;
+ }
+
+ .notification {
+ margin: 0;
+ }
+
+ + .form-group, + .form-section-legend, + .form-section-notification {
+ margin-top: 11px;
+ }
+
+ + .form-section-title {
+ margin-top: 40px;
+ }
+}
+
+@media (max-width: 768px) {
+ .form-section-notification {
+ grid-template-columns: 1fr;
+ margin-top: 17px;
+
+ fieldset {
+ grid-template-columns: 1fr;
+ grid-column: 1/2;
+ }
+ }
+
+ .notification {
+ grid-column: 1;
+
+ max-width: none;
+
+ padding-left: 40px;
+
+ &::before {
+ height: auto;
+ width: 45px;
+ font-size: 40px;
+ top: 15px;
+ }
+ }
+}
+
+.notification-error {
+ color: var(--color-error) ;
+}
+
+.notification-warning {
+ color: var(--color-warning) ;
+}
+
+.notification-info {
+ color: var(--color-lightblack) ;
+}
+
+.notification-success {
+ color: var(--color-warning) ;
+}
+
+
+
+
+/*
+ "Heated" element.
+ Set custom property "--hotness" to a value from 0 to 1 to turn
+ the element's background to a color on a gradient from green to red.
+
+ TBD:
+ - move to a proper place
+ - think about font-weight...
+
+ Example:
+
Lorem ipsum
+*/
+
+.heated {
+ --hotness: 0;
+ --red: calc(var(--hotness) * 200);
+ --green: calc(255 - calc(var(--hotness) * 255));
+ --opacity: calc(calc(var(--red) / 600) + 0.1);
+
+ font-weight: var(--weight, 600);
+ background-color: rgba(var(--red), var(--green), 0, var(--opacity));
+}
+
+
+.uuid {
+ font-family: monospace;
+}
+
+
+.form--inline {
+ display: inline-block;
+}
+
+
+.ribbon {
+ position: fixed;
+ top: calc(40px + var(--header-height));
+ transition: all .2s cubic-bezier(0.03, 0.43, 0.58, 1);
+ right: -63px;
+ transform: rotate(45deg);
+ width: 250px;
+ background: var(--color-error);
+ text-align: center;
+ color: var(--color-lightwhite);
+ font-weight: 600;
+ font-size: 1.25rem;
+ line-height: 2em;
+ box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
+ z-index: 19;
+ pointer-events: none;
+}
+
+@media (max-width: 768px) {
+ .ribbon {
+ top: calc(20px + var(--header-height-collapsed));
+ right: -83px;
+ transform: rotate(45deg) scale(0.6);
+ }
+}
+
+#admin-studyterms {
+ select, option, input {
+ min-width: 50px;
+ }
+}
+
+.allocation__label, .allocation__explanation {
+ color: var(--color-fontsec);
+ font-style: italic;
+}
+
+.allocation__state {
+ color: var(--color-font);
+ font-weight: 600;
+ font-style: normal;
+}
+
+.allocation__courses {
+ margin: 20px 0 0 40px;
+}
+
+.allocation-course {
+ display: grid;
+ grid-template-columns: minmax(105px, 1fr) 9fr;
+ grid-template-areas:
+ 'name name '
+ '. registered '
+ 'prio-label prio '
+ 'instr-label instr '
+ 'form-label form ';
+
+ grid-gap: 5px 7px;
+ margin: 12px 0;
+ padding: 0 10px 12px 7px;
+
+ border-left: 1px solid var(--color-grey);
+
+ /* &:last-child {
+ * padding: 12px 10px 0 10px;
+ * }
+ *
+ * & + .allocation-course {
+ * border-top: 1px solid var(--color-grey);
+ * }
+ */
+
+ &:nth-child(2n) {
+ background-color: rgba(0, 0, 0, 0.015);
+ }
+
+ .allocation-course__registered {
+ grid-area: registered;
+ }
+
+ .allocation-course__priority {
+ grid-area: prio;
+ }
+ .allocation-course__priority-label {
+ grid-area: prio-label;
+ justify-self: end;
+ align-self: center;
+ text-align: right;
+ }
+
+ .allocation-course__name {
+ grid-area: name;
+
+ align-self: center;
+
+ font-size: 1.2rem;
+ }
+
+ .allocation-course__instructions {
+ grid-area: instr;
+ }
+ .allocation-course__instructions-label {
+ grid-area: instr-label;
+ justify-self: end;
+ text-align: right;
+ }
+
+ .allocation-course__application {
+ grid-area: form;
+ }
+ .allocation-course__application-label {
+ grid-area: form-label;
+ justify-self: end;
+ text-align: right;
+ padding-top: 6px;
+ }
+}
+
+@media (max-width: 426px) {
+ .allocation-course {
+ grid-template-columns: 1fr;
+ grid-template-areas:
+ 'name '
+ 'registered '
+ 'prio-label '
+ 'prio '
+ 'instr-label'
+ 'instr '
+ 'form-label '
+ 'form ';
+ }
+
+ .allocation-course__application-label {
+ padding-top: 0;
+ }
+}
+
+
+.comment {
+ white-space: pre-wrap;
+ font-family: monospace;
+}
+
+th {
+ vertical-align: top;
+ text-align: left;
+}
+
+th, td {
+ padding-bottom: 7px;
+}
+
+.course-news {
+ max-height: 50vh;
+ overflow: auto;
+
+ .course-news-item {
+ padding: 12px 0;
+ border-bottom: 1px solid #d3d3d3;
+
+ &:last-child {
+ padding-bottom: 0;
+ border-bottom: none;
+ }
+
+ &:first-child {
+ padding-top: 0;
+ }
+
+ .course-news-item__last-edit {
+ color: var(--color-fontsec);
+ font-style: italic;
+ }
+
+ .course-news-item__title .modal__trigger-label {
+ font-style: normal;
+ }
+
+ .course-news-item__summary .modal__trigger-label {
+ font-weight: normal;
+ font-style: normal;
+ color: var(--color-font);
+ }
+ }
+}
+
+
+.bound_explanation {
+ color: var(--color-fontsec);
+ font-style: italic;
+}
+
+
+.action {
+ max-width: 800px;
+ padding: 3px 0;
+
+ &:not(:last-child) {
+ margin-bottom: 7px;
+ }
+
+ &:not(:first-child) {
+ margin-top: 7px;
+ }
+}
+
+.action__options {
+ max-height: 450px;
+ overflow-y: auto;
+}
+
+.action__option {
+ display: flex;
+
+ &:not(:last-child) {
+ margin-bottom: 10px;
+ }
+}
+
+.action__label,
+.action__option-label {
+ margin-left: 15px;
+ vertical-align: top;
+}
+
+.action__fieldset {
+ margin: 7px 0 5px 9px;
+ padding: 5px 0 10px;
+ border-left: 1px solid #bcbcbc;
+ padding-left: 16px;
+ position: relative;
+}
+
+.action__toggle-all {
+ display: flex;
+ border-bottom: 1px solid #bcbcbc;
+ padding-bottom: 8px;
+ margin-bottom: 8px;
+}
+
+.action__checked-counter {
+ position: absolute;
+ right: 5px;
+ top: 5px;
+}
+
+
+.occurrence--not-registered, .no-bonus {
+ text-decoration: line-through;
+}
+
+.result {
+ font-size: 3rem;
+ margin: 30px 30px 0 !important;
+}
+
+
+.glossary {
+ dt, .dt {
+ font-weight: 600;
+ }
+
+ &.sec {
+ font-style: italic;
+ font-size: 0.9rem;
+ font-weight: 600;
+ color: var(--color-fontsec);
+ }
+ dd, .dd {
+ margin-left: 12px;
+ }
+
+ dd + dt, .dd + dt, dd + .dt, .dd + .dt {
+ margin-top: 17px;
+ }
+}
+
+
+/* SORTABLE TABLE-HEADERS*/
+.table__th.sortable {
+ position: relative;
+ padding-right: 24px;
+ cursor: pointer;
+}
+
+.table__th.sortable::after,
+.table__th.sortable::before {
+ content: '';
+ position: absolute;
+ top: 50%;
+ right: 4px;
+ width: 0;
+ height: 0;
+ border-left: 8px solid transparent;
+ border-right: 8px solid transparent;
+ border-bottom: 8px solid rgba(255, 255, 255, 0.4);
+}
+
+.table__th.sortable::before {
+ /* magic numbers to move arrow back in the right position after flipping it.
+ this allows us to use the same border for the up and the down arrow */
+ transform: translateY(150%) scale(1, -1);
+ transform-origin: top;
+}
+
+.table__th.sortable::after {
+ transform: translateY(-150%);
+}
+
+.table__th.sortable:hover::before,
+.table__th.sortable:hover::after {
+ border-bottom-color: rgba(255, 255, 255, 0.7);
+}
+
+.table__th.sorted-asc::before,
+.table__th.sorted-desc::after {
+ border-bottom-color: white !important;
+}
+
+
+:root {
+ --color-grey-light: #efefef;
+ --color-grey-lighter: #f5f5f5;
+ --color-fontsec: #5b5861;
+ --course-bg-color: var(--color-grey-lighter);
+ --course-expanded-bg-color: var(--color-grey-light);
+}
+
+.scrolltable {
+ box-shadow: none!important;
+}
+
+.course-header::after,
+.course-header::before {
+ content: '';
+ position: absolute;
+ right: 10px;
+ top: 20px;
+ width: 0;
+ height: 0;
+ border-left: 8px solid transparent;
+ border-right: 8px solid transparent;
+ border-bottom: 8px solid rgba(255, 255, 255, 0.4);
+}
+
+.course-header::before {
+ /* magic numbers to move arrow back in the right position after flipping it.
+ this allows us to use the same border for the up and the down arrow */
+ transform: translateY(150%) scale(1, -1);
+ transform-origin: top;
+}
+
+.course-header::after {
+ transform: translateY(-150%);
+}
+
+.course-header:hover::before,
+.course-header:hover::after {
+ border-bottom-color: rgba(255, 255, 255, 0.7);
+}
+
+.sorted-asc::before,
+.sorted-desc::after {
+ border-bottom-color: white !important;
+}
+
+.csv-export {
+ margin-bottom: 13px;
+
+}
+
+.csv-import {
+ margin-bottom: 13px;
+}
+
+
+.table-filter {
+ margin-bottom: 13px;
+}
+
+.table-filter__toggle {
+ padding: 3px 7px;
+}
+
+
+/* TABLE HEADER */
+.table-header {
+ display: flex;
+ flex-flow: row-reverse;
+ justify-content: space-between;
+ margin-bottom: 15px;
+}
+
+/* TABLE FOOTER */
+.table-footer {
+ display: flex;
+ flex-flow: row-reverse;
+ justify-content: space-between;
+ margin-top: 15px;
+}
+
+/* PAGINATION */
+.pagination {
+ margin-top: 20px;
+ overflow: auto;
+
+ .pages {
+ text-align: center;
+ white-space: nowrap;
+ margin: 0;
+
+ .page-link {
+ margin-top: 7px;
+ display: inline-block;
+ background-color: var(--color-grey-medium);
+
+ + .page-link {
+ margin-left: 7px;
+ }
+
+ a {
+ color: var(--color-lightwhite);
+ padding: 7px 13px;
+ display: inline-block;
+ text-decoration: none;
+ }
+
+ &:not(.current):hover {
+ background-color: var(--color-primary);
+
+ a {
+ color: var(--color-lightwhite);
+ }
+ }
+
+ &.current {
+ pointer-events: none;
+ background-color: var(--color-dark);
+
+ a {
+ pointer-events: none;
+ }
+ }
+ }
+ }
+}
+
+
+#changelog {
+ font-size: 14px;
+ white-space: pre-wrap;
+ font-family: monospace;
+}
+
+#gitrev {
+ font-size: 12px;
+ white-space: pre-wrap;
+ font-family: monospace;
+}
+
+
+.breadcrumbs__container {
+ position: relative;
+ color: var(--color-lightwhite);
+ padding: 4px 13px;
+ background-color: var(--color-dark);
+ line-height: 30px;
+}
+
+@media (min-width: 426px) {
+ .breadcrumbs__container {
+ padding: 7px 20px;
+ }
+}
+
+@media (min-width: 769px) {
+ .breadcrumbs__container {
+ padding: 7px 40px;
+ }
+}
+
+.breadcrumbs__link {
+ color: var(--color-lightwhite);
+
+ &:hover {
+ color: var(--color-white);
+ }
+}
+
+.breadcrumbs__item {
+ padding-right: 14px;
+ position: relative;
+ line-height: 28px;
+ opacity: 0.8;
+ z-index: 1;
+ margin-right: 10px;
+
+ &:hover {
+ opacity: 1;
+ }
+
+ &::after {
+ content: '';
+ position: absolute;
+ top: 11px;
+ right: 0;
+ width: 7px;
+ height: 7px;
+ border-style: solid;
+ border-width: 0;
+ border-bottom-width: 1px;
+ border-right-width: 1px;
+ border-color: var(--color-white);
+ transform: rotate(-45deg);
+ z-index: 10;
+ }
+}
+
+.breadcrumbs__last-item {
+ line-height: 28px;
+ vertical-align: bottom;
+ font-weight: 600;
+}
+
+
+.recipient-category {
+ max-width: 400px;
+ padding: 3px 0;
+
+ &:not(:last-child) {
+ margin-bottom: 7px;
+ }
+
+ &:not(:first-child) {
+ margin-top: 7px;
+ }
+}
+
+.recipient-category__options {
+ max-height: 150px;
+ overflow-y: auto;
+}
+
+.recipient-category__option {
+ display: flex;
+
+ &:not(:last-child) {
+ margin-bottom: 10px;
+ }
+}
+
+.recipient-category__label,
+.recipient-category__option-label {
+ margin-left: 15px;
+ vertical-align: top;
+}
+
+.recipient-category__fieldset {
+ margin: 7px 0 5px 9px;
+ padding: 5px 0 10px;
+ border-left: 1px solid #bcbcbc;
+ padding-left: 16px;
+ position: relative;
+}
+
+.recipient-category__option-add {
+ display: flex;
+
+ .btn-mass-input-add {
+ margin-left: 10px;
+ padding: 10px 0;
+ }
+}
+
+.recipient-category__options + .recipient-category__option-add {
+ margin-top: 10px;
+}
+
+.recipient-category__toggle-all {
+ display: flex;
+ border-bottom: 1px solid #bcbcbc;
+ padding-bottom: 8px;
+ margin-bottom: 8px;
+}
+
+.recipient-category__checked-counter {
+ position: absolute;
+ right: 5px;
+ top: 5px;
+}
+
+
+.table__td--csv, .table__th--csv {
+ font-family: monospace;
+}
+
+
+.confirmationText {
+ white-space: pre-wrap;
+ font-size: 14px;
+ font-family: monospace;
+}
+
+
+.func-field__wrapper {
+ max-height: 75vh;
+ overflow: auto;
+}
+
+
+.footer {
+ text-align: center;
+ padding: 20px;
+ position: relative;
+ margin: 40px 0;
+
+ &::before {
+ content: '';
+ position: absolute;
+ top: 0;
+ left: 10%;
+ width: 80%;
+ height: 2px;
+ background-color: var(--color-grey-light);
+ }
+}
+
+.footer-links * {
+ margin-right: 0.5em;
+
+ &:last {
+ margin-right: 0;
+ }
+}
+
+
+.table--grading-key {
+ th, td {
+ padding: 3px;
+ }
+}
+
+.btn.btn-mass-input-delete,
+.btn.btn-mass-input-add {
+ background-color: #999;
+ min-width: 50px;
+ padding: 5px 15px;
+ font-weight: 700;
+ font-size: 1.3rem;
+}
+
+
+.file-input__unpack {
+ font-size: .9rem;
+ display: flex;
+ align-items: center;
+ margin-top: 10px;
+
+ .checkbox {
+ display: inline-block;
+ margin-left: 7px;
+ }
+}
+
+
+.pagenav {
+ display: flex;
+ align-items: flex-start;
+ padding-bottom: 15px;
+ margin-bottom: 20px;
+ border-bottom: 1px solid #eee;
+}
+
+.pagenav__list-item {
+ flex: 1;
+ position: relative;
+ display: inline-flex;
+ box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.6);
+ margin: 10px 10px 0 0;
+}
+
+.pagenav__link-wrapper {
+ flex: 1;
+ padding: 10px 10px 12px;
+ text-decoration: none !important;
+
+ &:hover {
+ background-color: var(--color-grey-light);
+ }
+}
+
+@media (max-width: 1024px) {
+
+ .pagenav {
+ flex-direction: column;
+ }
+}
+
+@media (min-width: 1025px) {
+ .pagenav-secondary {
+ position: relative;
+ overflow: visible;
+ padding-top: 10px;
+
+ &::after {
+ content: '\2026';
+ display: inline-block;
+ padding: 10px 10px 12px;
+ width: 40px;
+ box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.6);
+ box-sizing: border-box;
+ text-align: center;
+ transition: box-shadow 0.2s ease;
+ }
+
+ &:hover {
+ &::after {
+ box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.8);
+ }
+
+ .pagenav-secondary__list {
+ display: block;
+ }
+ }
+ }
+
+ .pagenav-secondary__list {
+ position: absolute;
+ display: none;
+ right: 0;
+ top: 50px;
+ width: 250px;
+ background-color: white;
+ box-shadow: 0 0 6px 3px var(--color-grey-light);
+ z-index: 18;
+ }
+
+ .pagenav__list-item--secondary {
+ display: flex;
+ box-shadow: none;
+ margin: 0;
+
+ &:hover {
+ background-color: var(--color-grey-light);
+ }
+ }
+}
+
+
+##{theId} {
+ list-style-type: none;
+}
diff --git a/frontend/src/utils/alerts/alerts.scss b/frontend/src/utils/alerts/alerts.scss
index aa2f6acdc..ee800d40a 100644
--- a/frontend/src/utils/alerts/alerts.scss
+++ b/frontend/src/utils/alerts/alerts.scss
@@ -1,3 +1,5 @@
+@use "../../common" as *;
+
.alerts {
position: fixed;
bottom: 0;
@@ -18,9 +20,9 @@
cursor: pointer;
&::before {
- content: '\f077';
+ @extend .fas;
+ content: fa-content($fa-var-chevron-up);
position: absolute;
- font-family: 'Font Awesome 5 Free';
left: 50%;
top: 0;
height: 30px;
@@ -132,9 +134,7 @@
z-index: 40;
&::before {
- /* content: var(--alert-icon, var(--alert-icon-default, '\f05a')); */
position: absolute;
- /* font-family: 'Font Awesome 5 Free'; */
font-size: 24px;
top: 50%;
left: 50%;
@@ -170,9 +170,9 @@
}
&::before {
- content: '\f00d';
+ @extend .fas;
+ content: fa-content($fa-var-times);
position: absolute;
- font-family: 'Font Awesome 5 Free';
top: 50%;
left: 50%;
display: flex;
diff --git a/frontend/src/utils/modal/modal.scss b/frontend/src/utils/modal/modal.scss
index e9cd70494..446863f03 100644
--- a/frontend/src/utils/modal/modal.scss
+++ b/frontend/src/utils/modal/modal.scss
@@ -1,3 +1,5 @@
+@use "../../common" as *;
+
.modals-wrapper {
position: fixed;
left: 0;
@@ -106,8 +108,8 @@ div.modal__trigger {
z-index: 20;
&::before {
- content: '\f00d';
- font-family: 'Font Awesome 5 Free';
+ @extend .fas;
+ content: fa-content($fa-var-times);
color: white;
}
}
diff --git a/frontend/src/utils/show-hide/show-hide.scss b/frontend/src/utils/show-hide/show-hide.scss
index 04143d0ae..f557248fb 100644
--- a/frontend/src/utils/show-hide/show-hide.scss
+++ b/frontend/src/utils/show-hide/show-hide.scss
@@ -43,7 +43,7 @@ $show-hide-toggle-size: 6px;
transform: translateY(-50%) rotate(135deg);
}
- :not(.show-hide__toggle) {
+ & > :not(.show-hide__toggle) {
display: block;
height: 0;
margin: 0;
diff --git a/package-lock.json b/package-lock.json
index a1bd61eda..00d481b46 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2555,6 +2555,12 @@
}
}
},
+ "@csstools/convert-colors": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz",
+ "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==",
+ "dev": true
+ },
"@fortawesome/fontawesome-pro": {
"version": "5.12.0",
"resolved": "https://npm.fontawesome.com/@fortawesome/fontawesome-pro/-/5.12.0/fontawesome-pro-5.12.0.tgz",
@@ -2901,12 +2907,6 @@
"through": ">=2.2.7 <3"
}
},
- "abbrev": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
- "dev": true
- },
"accepts": {
"version": "1.3.7",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
@@ -2929,6 +2929,51 @@
"integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==",
"dev": true
},
+ "adjust-sourcemap-loader": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-2.0.0.tgz",
+ "integrity": "sha512-4hFsTsn58+YjrU9qKzML2JSSDqKvN8mUGQ0nNIrfPi8hmIONT4L3uUaT6MKdMsZ9AjsU6D2xDkZxCkbQPxChrA==",
+ "dev": true,
+ "requires": {
+ "assert": "1.4.1",
+ "camelcase": "5.0.0",
+ "loader-utils": "1.2.3",
+ "object-path": "0.11.4",
+ "regex-parser": "2.2.10"
+ },
+ "dependencies": {
+ "assert": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
+ "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
+ "dev": true,
+ "requires": {
+ "util": "0.10.3"
+ }
+ },
+ "camelcase": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz",
+ "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==",
+ "dev": true
+ },
+ "inherits": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+ "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
+ "dev": true
+ },
+ "util": {
+ "version": "0.10.3",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
+ "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.1"
+ }
+ }
+ }
+ },
"after": {
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
@@ -2977,12 +3022,6 @@
"integrity": "sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw==",
"dev": true
},
- "amdefine": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
- "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
- "dev": true
- },
"ansi-colors": {
"version": "3.2.4",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz",
@@ -3043,16 +3082,6 @@
"integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
"dev": true
},
- "are-we-there-yet": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
- "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
- "dev": true,
- "requires": {
- "delegates": "^1.0.0",
- "readable-stream": "^2.0.6"
- }
- },
"argparse": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
@@ -3062,6 +3091,12 @@
"sprintf-js": "~1.0.2"
}
},
+ "arity-n": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz",
+ "integrity": "sha1-2edrEXM+CFacCEeuezmyhgswt0U=",
+ "dev": true
+ },
"arr-diff": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
@@ -3143,15 +3178,6 @@
"integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
"dev": true
},
- "asn1": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
- "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
- "dev": true,
- "requires": {
- "safer-buffer": "~2.1.0"
- }
- },
"asn1.js": {
"version": "4.10.1",
"resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
@@ -3190,12 +3216,6 @@
}
}
},
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true
- },
"assign-symbols": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
@@ -3223,24 +3243,12 @@
"integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
"dev": true
},
- "async-foreach": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
- "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=",
- "dev": true
- },
"async-limiter": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
"integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
"dev": true
},
- "asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
- "dev": true
- },
"atob": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
@@ -3296,18 +3304,6 @@
}
}
},
- "aws-sign2": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
- "dev": true
- },
- "aws4": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.0.tgz",
- "integrity": "sha512-Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A==",
- "dev": true
- },
"babel-code-frame": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
@@ -4153,15 +4149,6 @@
"integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=",
"dev": true
},
- "bcrypt-pbkdf": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
- "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
- "dev": true,
- "requires": {
- "tweetnacl": "^0.14.3"
- }
- },
"better-assert": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
@@ -4189,15 +4176,6 @@
"integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==",
"dev": true
},
- "block-stream": {
- "version": "0.0.9",
- "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
- "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
- "dev": true,
- "requires": {
- "inherits": "~2.0.0"
- }
- },
"bluebird": {
"version": "3.5.5",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz",
@@ -4574,12 +4552,6 @@
"integrity": "sha512-/xL2AbW/XWHNu1gnIrO8UitBGoFthcsDgU9VLK1/dpsoxbaD5LscHozKze05R6WLsBvLhqv78dAPozMFQBYLbQ==",
"dev": true
},
- "caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
- "dev": true
- },
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@@ -4787,49 +4759,6 @@
"integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
"dev": true
},
- "cliui": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
- "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
- "dev": true,
- "requires": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wrap-ansi": "^2.0.0"
- },
- "dependencies": {
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "dev": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- },
- "wrap-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
- "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
- "dev": true,
- "requires": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1"
- }
- }
- }
- },
"clone-deep": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
@@ -4878,15 +4807,6 @@
"integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
"dev": true
},
- "combined-stream": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "dev": true,
- "requires": {
- "delayed-stream": "~1.0.0"
- }
- },
"commander": {
"version": "2.20.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
@@ -4927,6 +4847,15 @@
"integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=",
"dev": true
},
+ "compose-function": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz",
+ "integrity": "sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8=",
+ "dev": true,
+ "requires": {
+ "arity-n": "^1.0.4"
+ }
+ },
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -4963,12 +4892,6 @@
"integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
"dev": true
},
- "console-control-strings": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
- "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
- "dev": true
- },
"constants-browserify": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
@@ -6331,6 +6254,64 @@
"randomfill": "^1.0.3"
}
},
+ "css": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz",
+ "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "source-map": "^0.6.1",
+ "source-map-resolve": "^0.5.2",
+ "urix": "^0.1.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
+ }
+ },
+ "css-blank-pseudo": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz",
+ "integrity": "sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.5"
+ }
+ },
+ "css-has-pseudo": {
+ "version": "0.10.0",
+ "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz",
+ "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.6",
+ "postcss-selector-parser": "^5.0.0-rc.4"
+ },
+ "dependencies": {
+ "cssesc": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz",
+ "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==",
+ "dev": true
+ },
+ "postcss-selector-parser": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz",
+ "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==",
+ "dev": true,
+ "requires": {
+ "cssesc": "^2.0.0",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ }
+ }
+ },
"css-loader": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-2.1.1.tgz",
@@ -6350,6 +6331,21 @@
"schema-utils": "^1.0.0"
}
},
+ "css-prefers-color-scheme": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz",
+ "integrity": "sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.5"
+ }
+ },
+ "cssdb": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz",
+ "integrity": "sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==",
+ "dev": true
+ },
"cssesc": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
@@ -6395,15 +6391,6 @@
"number-is-nan": "^1.0.0"
}
},
- "dashdash": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
- "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
"date-fns": {
"version": "1.30.1",
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz",
@@ -6537,18 +6524,6 @@
}
}
},
- "delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
- "dev": true
- },
- "delegates": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
- "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
- "dev": true
- },
"depd": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
@@ -6687,16 +6662,6 @@
"stream-shift": "^1.0.0"
}
},
- "ecc-jsbn": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
- "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
- "dev": true,
- "requires": {
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.1.0"
- }
- },
"ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
@@ -7295,12 +7260,6 @@
}
}
},
- "extsprintf": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
- "dev": true
- },
"fast-deep-equal": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
@@ -7470,6 +7429,12 @@
"integrity": "sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg==",
"dev": true
},
+ "flatten": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz",
+ "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==",
+ "dev": true
+ },
"flush-write-stream": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
@@ -7518,23 +7483,6 @@
"integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
"dev": true
},
- "forever-agent": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
- "dev": true
- },
- "form-data": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
- "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
- "dev": true,
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- }
- },
"fragment-cache": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
@@ -8155,18 +8103,6 @@
}
}
},
- "fstream": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz",
- "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "inherits": "~2.0.0",
- "mkdirp": ">=0.5 0",
- "rimraf": "2"
- }
- },
"function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
@@ -8190,59 +8126,6 @@
"simple-git": "^1.85.0"
}
},
- "gauge": {
- "version": "2.7.4",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
- "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
- "dev": true,
- "requires": {
- "aproba": "^1.0.3",
- "console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.0",
- "object-assign": "^4.1.0",
- "signal-exit": "^3.0.0",
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wide-align": "^1.1.0"
- },
- "dependencies": {
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "dev": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- }
- }
- },
- "gaze": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
- "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
- "dev": true,
- "requires": {
- "globule": "^1.0.0"
- }
- },
- "get-caller-file": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
- "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
- "dev": true
- },
"get-own-enumerable-property-symbols": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz",
@@ -8283,15 +8166,6 @@
"integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
"dev": true
},
- "getpass": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
"git-raw-commits": {
"version": "1.3.6",
"resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-1.3.6.tgz",
@@ -8788,17 +8662,6 @@
}
}
},
- "globule": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz",
- "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==",
- "dev": true,
- "requires": {
- "glob": "~7.1.1",
- "lodash": "~4.17.10",
- "minimatch": "~3.0.2"
- }
- },
"graceful-fs": {
"version": "4.1.15",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
@@ -8825,22 +8688,6 @@
}
}
},
- "har-schema": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
- "dev": true
- },
- "har-validator": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
- "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
- "dev": true,
- "requires": {
- "ajv": "^6.5.5",
- "har-schema": "^2.0.0"
- }
- },
"has": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
@@ -8894,12 +8741,6 @@
"integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
"dev": true
},
- "has-unicode": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
- "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
- "dev": true
- },
"has-value": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
@@ -9012,17 +8853,6 @@
"requires-port": "^1.0.0"
}
},
- "http-signature": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
- "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
- }
- },
"https-browserify": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
@@ -9194,12 +9024,6 @@
"integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
"dev": true
},
- "in-publish": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz",
- "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=",
- "dev": true
- },
"indent-string": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz",
@@ -9299,12 +9123,6 @@
"loose-envify": "^1.0.0"
}
},
- "invert-kv": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
- "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
- "dev": true
- },
"is-accessor-descriptor": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
@@ -9567,12 +9385,6 @@
"text-extensions": "^1.0.0"
}
},
- "is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
- "dev": true
- },
"is-utf8": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
@@ -9618,12 +9430,6 @@
"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
"dev": true
},
- "isstream": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
- "dev": true
- },
"jasmine-core": {
"version": "3.5.0",
"resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.5.0.tgz",
@@ -9651,12 +9457,6 @@
}
}
},
- "js-base64": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz",
- "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==",
- "dev": true
- },
"js-levenshtein": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz",
@@ -9679,12 +9479,6 @@
"esprima": "^4.0.0"
}
},
- "jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
- "dev": true
- },
"jsesc": {
"version": "2.5.2",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
@@ -9697,12 +9491,6 @@
"integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
"dev": true
},
- "json-schema": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
- "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
- "dev": true
- },
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
@@ -9759,18 +9547,6 @@
"integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=",
"dev": true
},
- "jsprim": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
- "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
- "dev": true,
- "requires": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.2.3",
- "verror": "1.10.0"
- }
- },
"karma": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/karma/-/karma-4.4.1.tgz",
@@ -9994,15 +9770,6 @@
"integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
"dev": true
},
- "lcid": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
- "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
- "dev": true,
- "requires": {
- "invert-kv": "^1.0.0"
- }
- },
"levn": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
@@ -10772,7 +10539,8 @@
"version": "2.14.0",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
"integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==",
- "dev": true
+ "dev": true,
+ "optional": true
},
"nanomatch": {
"version": "1.2.13",
@@ -10823,34 +10591,6 @@
"integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
"dev": true
},
- "node-gyp": {
- "version": "3.8.0",
- "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz",
- "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==",
- "dev": true,
- "requires": {
- "fstream": "^1.0.0",
- "glob": "^7.0.3",
- "graceful-fs": "^4.1.2",
- "mkdirp": "^0.5.0",
- "nopt": "2 || 3",
- "npmlog": "0 || 1 || 2 || 3 || 4",
- "osenv": "0",
- "request": "^2.87.0",
- "rimraf": "2",
- "semver": "~5.3.0",
- "tar": "^2.0.0",
- "which": "1"
- },
- "dependencies": {
- "semver": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
- "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
- "dev": true
- }
- }
- },
"node-libs-browser": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
@@ -10907,83 +10647,6 @@
}
}
},
- "node-sass": {
- "version": "4.13.0",
- "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.13.0.tgz",
- "integrity": "sha512-W1XBrvoJ1dy7VsvTAS5q1V45lREbTlZQqFbiHb3R3OTTCma0XBtuG6xZ6Z4506nR4lmHPTqVRwxT6KgtWC97CA==",
- "dev": true,
- "requires": {
- "async-foreach": "^0.1.3",
- "chalk": "^1.1.1",
- "cross-spawn": "^3.0.0",
- "gaze": "^1.0.0",
- "get-stdin": "^4.0.1",
- "glob": "^7.0.3",
- "in-publish": "^2.0.0",
- "lodash": "^4.17.15",
- "meow": "^3.7.0",
- "mkdirp": "^0.5.1",
- "nan": "^2.13.2",
- "node-gyp": "^3.8.0",
- "npmlog": "^4.0.0",
- "request": "^2.88.0",
- "sass-graph": "^2.2.4",
- "stdout-stream": "^1.4.0",
- "true-case-path": "^1.0.2"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
- "dev": true
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "dev": true,
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- }
- },
- "cross-spawn": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
- "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
- "dev": true,
- "requires": {
- "lru-cache": "^4.0.1",
- "which": "^1.2.9"
- }
- },
- "get-stdin": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
- "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
- "dev": true
- },
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
- "dev": true
- }
- }
- },
- "nopt": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
- "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
- "dev": true,
- "requires": {
- "abbrev": "1"
- }
- },
"normalize-package-data": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
@@ -11029,9 +10692,9 @@
}
},
"npm": {
- "version": "6.13.3",
- "resolved": "https://registry.npmjs.org/npm/-/npm-6.13.3.tgz",
- "integrity": "sha512-j1miGFbOTg03eKeBBevFgDtb2EeUc99uxsEMEDmUmwDV2o9FVpXzdRgMhinpAFusY8TSZQuQHpYpTIwKvHijdQ==",
+ "version": "6.13.4",
+ "resolved": "https://registry.npmjs.org/npm/-/npm-6.13.4.tgz",
+ "integrity": "sha512-vTcUL4SCg3AzwInWTbqg1OIaOXlzKSS8Mb8kc5avwrJpcvevDA5J9BhYSuei+fNs3pwOp4lzA5x2FVDXACvoXA==",
"requires": {
"JSONStream": "^1.3.5",
"abbrev": "~1.1.1",
@@ -11039,7 +10702,7 @@
"ansistyles": "~0.1.3",
"aproba": "^2.0.0",
"archy": "~1.0.0",
- "bin-links": "^1.1.5",
+ "bin-links": "^1.1.6",
"bluebird": "^3.5.5",
"byte-size": "^5.0.1",
"cacache": "^12.0.3",
@@ -11060,7 +10723,7 @@
"find-npm-prefix": "^1.0.2",
"fs-vacuum": "~1.2.10",
"fs-write-stream-atomic": "~1.0.10",
- "gentle-fs": "^2.2.1",
+ "gentle-fs": "^2.3.0",
"glob": "^7.1.4",
"graceful-fs": "^4.2.3",
"has-unicode": "~2.0.1",
@@ -11298,12 +10961,12 @@
}
},
"bin-links": {
- "version": "1.1.5",
+ "version": "1.1.6",
"bundled": true,
"requires": {
"bluebird": "^3.5.3",
"cmd-shim": "^3.0.0",
- "gentle-fs": "^2.0.1",
+ "gentle-fs": "^2.3.0",
"graceful-fs": "^4.1.15",
"npm-normalize-package-bin": "^1.0.0",
"write-file-atomic": "^2.3.0"
@@ -12054,11 +11717,12 @@
"bundled": true
},
"gentle-fs": {
- "version": "2.2.1",
+ "version": "2.3.0",
"bundled": true,
"requires": {
"aproba": "^1.1.2",
"chownr": "^1.1.2",
+ "cmd-shim": "^3.0.3",
"fs-vacuum": "^1.2.10",
"graceful-fs": "^4.1.11",
"iferr": "^0.1.5",
@@ -14180,18 +13844,6 @@
"which": "^1.2.10"
}
},
- "npmlog": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
- "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
- "dev": true,
- "requires": {
- "are-we-there-yet": "~1.1.2",
- "console-control-strings": "~1.1.0",
- "gauge": "~2.7.3",
- "set-blocking": "~2.0.0"
- }
- },
"null-check": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz",
@@ -14220,12 +13872,6 @@
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
"dev": true
},
- "oauth-sign": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
- "dev": true
- },
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@@ -14275,6 +13921,12 @@
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
"dev": true
},
+ "object-path": {
+ "version": "0.11.4",
+ "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.4.tgz",
+ "integrity": "sha1-NwrnUvvzfePqcKhhwju6iRVpGUk=",
+ "dev": true
+ },
"object-visit": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
@@ -14388,31 +14040,12 @@
"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
"dev": true
},
- "os-locale": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
- "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
- "dev": true,
- "requires": {
- "lcid": "^1.0.0"
- }
- },
"os-tmpdir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
"dev": true
},
- "osenv": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
- "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
- "dev": true,
- "requires": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.0"
- }
- },
"outdent": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/outdent/-/outdent-0.7.0.tgz",
@@ -14633,12 +14266,6 @@
"sha.js": "^2.4.8"
}
},
- "performance-now": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
- "dev": true
- },
"picomatch": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.1.1.tgz",
@@ -14724,30 +14351,301 @@
}
}
},
- "postcss-load-config": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.0.0.tgz",
- "integrity": "sha512-V5JBLzw406BB8UIfsAWSK2KSwIJ5yoEIVFb4gVkXci0QdKgA24jLmHZ/ghe/GgX0lJ0/D1uUK1ejhzEY94MChQ==",
+ "postcss-attribute-case-insensitive": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.1.tgz",
+ "integrity": "sha512-L2YKB3vF4PetdTIthQVeT+7YiSzMoNMLLYxPXXppOOP7NoazEAy45sh2LvJ8leCQjfBcfkYQs8TtCcQjeZTp8A==",
"dev": true,
"requires": {
- "cosmiconfig": "^4.0.0",
- "import-cwd": "^2.0.0"
+ "postcss": "^7.0.2",
+ "postcss-selector-parser": "^5.0.0"
},
"dependencies": {
- "cosmiconfig": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-4.0.0.tgz",
- "integrity": "sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ==",
+ "cssesc": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz",
+ "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==",
+ "dev": true
+ },
+ "postcss-selector-parser": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz",
+ "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==",
"dev": true,
"requires": {
- "is-directory": "^0.3.1",
- "js-yaml": "^3.9.0",
- "parse-json": "^4.0.0",
- "require-from-string": "^2.0.1"
+ "cssesc": "^2.0.0",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
}
}
}
},
+ "postcss-color-functional-notation": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz",
+ "integrity": "sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.2",
+ "postcss-values-parser": "^2.0.0"
+ }
+ },
+ "postcss-color-gray": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz",
+ "integrity": "sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==",
+ "dev": true,
+ "requires": {
+ "@csstools/convert-colors": "^1.4.0",
+ "postcss": "^7.0.5",
+ "postcss-values-parser": "^2.0.0"
+ }
+ },
+ "postcss-color-hex-alpha": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz",
+ "integrity": "sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.14",
+ "postcss-values-parser": "^2.0.1"
+ }
+ },
+ "postcss-color-mod-function": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz",
+ "integrity": "sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==",
+ "dev": true,
+ "requires": {
+ "@csstools/convert-colors": "^1.4.0",
+ "postcss": "^7.0.2",
+ "postcss-values-parser": "^2.0.0"
+ }
+ },
+ "postcss-color-rebeccapurple": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz",
+ "integrity": "sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.2",
+ "postcss-values-parser": "^2.0.0"
+ }
+ },
+ "postcss-custom-media": {
+ "version": "7.0.8",
+ "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz",
+ "integrity": "sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.14"
+ }
+ },
+ "postcss-custom-properties": {
+ "version": "8.0.11",
+ "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz",
+ "integrity": "sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.17",
+ "postcss-values-parser": "^2.0.1"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "7.0.25",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.25.tgz",
+ "integrity": "sha512-NXXVvWq9icrm/TgQC0O6YVFi4StfJz46M1iNd/h6B26Nvh/HKI+q4YZtFN/EjcInZliEscO/WL10BXnc1E5nwg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss-custom-selectors": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz",
+ "integrity": "sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.2",
+ "postcss-selector-parser": "^5.0.0-rc.3"
+ },
+ "dependencies": {
+ "cssesc": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz",
+ "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==",
+ "dev": true
+ },
+ "postcss-selector-parser": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz",
+ "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==",
+ "dev": true,
+ "requires": {
+ "cssesc": "^2.0.0",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ }
+ }
+ },
+ "postcss-dir-pseudo-class": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz",
+ "integrity": "sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.2",
+ "postcss-selector-parser": "^5.0.0-rc.3"
+ },
+ "dependencies": {
+ "cssesc": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz",
+ "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==",
+ "dev": true
+ },
+ "postcss-selector-parser": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz",
+ "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==",
+ "dev": true,
+ "requires": {
+ "cssesc": "^2.0.0",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ }
+ }
+ },
+ "postcss-double-position-gradients": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz",
+ "integrity": "sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.5",
+ "postcss-values-parser": "^2.0.0"
+ }
+ },
+ "postcss-env-function": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz",
+ "integrity": "sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.2",
+ "postcss-values-parser": "^2.0.0"
+ }
+ },
+ "postcss-focus-visible": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz",
+ "integrity": "sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.2"
+ }
+ },
+ "postcss-focus-within": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz",
+ "integrity": "sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.2"
+ }
+ },
+ "postcss-font-variant": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.0.tgz",
+ "integrity": "sha512-M8BFYKOvCrI2aITzDad7kWuXXTm0YhGdP9Q8HanmN4EF1Hmcgs1KK5rSHylt/lUJe8yLxiSwWAHdScoEiIxztg==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.2"
+ }
+ },
+ "postcss-gap-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz",
+ "integrity": "sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.2"
+ }
+ },
+ "postcss-image-set-function": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz",
+ "integrity": "sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.2",
+ "postcss-values-parser": "^2.0.0"
+ }
+ },
+ "postcss-initial": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.2.tgz",
+ "integrity": "sha512-ugA2wKonC0xeNHgirR4D3VWHs2JcU08WAi1KFLVcnb7IN89phID6Qtg2RIctWbnvp1TM2BOmDtX8GGLCKdR8YA==",
+ "dev": true,
+ "requires": {
+ "lodash.template": "^4.5.0",
+ "postcss": "^7.0.2"
+ },
+ "dependencies": {
+ "lodash.template": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz",
+ "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==",
+ "dev": true,
+ "requires": {
+ "lodash._reinterpolate": "^3.0.0",
+ "lodash.templatesettings": "^4.0.0"
+ }
+ }
+ }
+ },
+ "postcss-lab-function": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz",
+ "integrity": "sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==",
+ "dev": true,
+ "requires": {
+ "@csstools/convert-colors": "^1.4.0",
+ "postcss": "^7.0.2",
+ "postcss-values-parser": "^2.0.0"
+ }
+ },
+ "postcss-load-config": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz",
+ "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==",
+ "dev": true,
+ "requires": {
+ "cosmiconfig": "^5.0.0",
+ "import-cwd": "^2.0.0"
+ }
+ },
"postcss-loader": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz",
@@ -14760,6 +14658,24 @@
"schema-utils": "^1.0.0"
}
},
+ "postcss-logical": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz",
+ "integrity": "sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.2"
+ }
+ },
+ "postcss-media-minmax": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz",
+ "integrity": "sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.2"
+ }
+ },
"postcss-modules-extract-imports": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz",
@@ -14800,6 +14716,174 @@
"postcss": "^7.0.6"
}
},
+ "postcss-nesting": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz",
+ "integrity": "sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.2"
+ }
+ },
+ "postcss-overflow-shorthand": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz",
+ "integrity": "sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.2"
+ }
+ },
+ "postcss-page-break": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz",
+ "integrity": "sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.2"
+ }
+ },
+ "postcss-place": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz",
+ "integrity": "sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.2",
+ "postcss-values-parser": "^2.0.0"
+ }
+ },
+ "postcss-preset-env": {
+ "version": "6.7.0",
+ "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz",
+ "integrity": "sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==",
+ "dev": true,
+ "requires": {
+ "autoprefixer": "^9.6.1",
+ "browserslist": "^4.6.4",
+ "caniuse-lite": "^1.0.30000981",
+ "css-blank-pseudo": "^0.1.4",
+ "css-has-pseudo": "^0.10.0",
+ "css-prefers-color-scheme": "^3.1.1",
+ "cssdb": "^4.4.0",
+ "postcss": "^7.0.17",
+ "postcss-attribute-case-insensitive": "^4.0.1",
+ "postcss-color-functional-notation": "^2.0.1",
+ "postcss-color-gray": "^5.0.0",
+ "postcss-color-hex-alpha": "^5.0.3",
+ "postcss-color-mod-function": "^3.0.3",
+ "postcss-color-rebeccapurple": "^4.0.1",
+ "postcss-custom-media": "^7.0.8",
+ "postcss-custom-properties": "^8.0.11",
+ "postcss-custom-selectors": "^5.1.2",
+ "postcss-dir-pseudo-class": "^5.0.0",
+ "postcss-double-position-gradients": "^1.0.0",
+ "postcss-env-function": "^2.0.2",
+ "postcss-focus-visible": "^4.0.0",
+ "postcss-focus-within": "^3.0.0",
+ "postcss-font-variant": "^4.0.0",
+ "postcss-gap-properties": "^2.0.0",
+ "postcss-image-set-function": "^3.0.1",
+ "postcss-initial": "^3.0.0",
+ "postcss-lab-function": "^2.0.1",
+ "postcss-logical": "^3.0.0",
+ "postcss-media-minmax": "^4.0.0",
+ "postcss-nesting": "^7.0.0",
+ "postcss-overflow-shorthand": "^2.0.0",
+ "postcss-page-break": "^2.0.0",
+ "postcss-place": "^4.0.1",
+ "postcss-pseudo-class-any-link": "^6.0.0",
+ "postcss-replace-overflow-wrap": "^3.0.0",
+ "postcss-selector-matches": "^4.0.0",
+ "postcss-selector-not": "^4.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "7.0.25",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.25.tgz",
+ "integrity": "sha512-NXXVvWq9icrm/TgQC0O6YVFi4StfJz46M1iNd/h6B26Nvh/HKI+q4YZtFN/EjcInZliEscO/WL10BXnc1E5nwg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss-pseudo-class-any-link": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz",
+ "integrity": "sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.2",
+ "postcss-selector-parser": "^5.0.0-rc.3"
+ },
+ "dependencies": {
+ "cssesc": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz",
+ "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==",
+ "dev": true
+ },
+ "postcss-selector-parser": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz",
+ "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==",
+ "dev": true,
+ "requires": {
+ "cssesc": "^2.0.0",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ }
+ }
+ },
+ "postcss-replace-overflow-wrap": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz",
+ "integrity": "sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.2"
+ }
+ },
+ "postcss-selector-matches": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz",
+ "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "postcss": "^7.0.2"
+ }
+ },
+ "postcss-selector-not": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.0.tgz",
+ "integrity": "sha512-W+bkBZRhqJaYN8XAnbbZPLWMvZD1wKTu0UxtFKdhtGjWYmxhkUneoeOhRJKdAE5V7ZTlnbHfCR+6bNwK9e1dTQ==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "postcss": "^7.0.2"
+ }
+ },
"postcss-selector-parser": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz",
@@ -14817,6 +14901,17 @@
"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
"dev": true
},
+ "postcss-values-parser": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz",
+ "integrity": "sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==",
+ "dev": true,
+ "requires": {
+ "flatten": "^1.0.2",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ },
"prelude-ls": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
@@ -14877,12 +14972,6 @@
"integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
"dev": true
},
- "psl": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.6.0.tgz",
- "integrity": "sha512-SYKKmVel98NCOYXpkwUqZqh0ahZeeKfmisiLIcEZdsb+WbLv02g/dI5BUmZnIyOe7RzZtLax81nnb2HbvC2tzA==",
- "dev": true
- },
"public-encrypt": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
@@ -15174,6 +15263,12 @@
"safe-regex": "^1.1.0"
}
},
+ "regex-parser": {
+ "version": "2.2.10",
+ "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.10.tgz",
+ "integrity": "sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA==",
+ "dev": true
+ },
"regexpp": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
@@ -15244,60 +15339,12 @@
"is-finite": "^1.0.0"
}
},
- "request": {
- "version": "2.88.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
- "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
- "dev": true,
- "requires": {
- "aws-sign2": "~0.7.0",
- "aws4": "^1.8.0",
- "caseless": "~0.12.0",
- "combined-stream": "~1.0.6",
- "extend": "~3.0.2",
- "forever-agent": "~0.6.1",
- "form-data": "~2.3.2",
- "har-validator": "~5.1.0",
- "http-signature": "~1.2.0",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.19",
- "oauth-sign": "~0.9.0",
- "performance-now": "^2.1.0",
- "qs": "~6.5.2",
- "safe-buffer": "^5.1.2",
- "tough-cookie": "~2.4.3",
- "tunnel-agent": "^0.6.0",
- "uuid": "^3.3.2"
- },
- "dependencies": {
- "qs": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
- "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
- "dev": true
- }
- }
- },
"require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
"dev": true
},
- "require-from-string": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
- "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
- "dev": true
- },
- "require-main-filename": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
- "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
- "dev": true
- },
"requires-port": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
@@ -15374,6 +15421,61 @@
"integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
"dev": true
},
+ "resolve-url-loader": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.1.tgz",
+ "integrity": "sha512-K1N5xUjj7v0l2j/3Sgs5b8CjrrgtC70SmdCuZiJ8tSyb5J+uk3FoeZ4b7yTnH6j7ngI+Bc5bldHJIa8hYdu2gQ==",
+ "dev": true,
+ "requires": {
+ "adjust-sourcemap-loader": "2.0.0",
+ "camelcase": "5.3.1",
+ "compose-function": "3.0.3",
+ "convert-source-map": "1.7.0",
+ "es6-iterator": "2.0.3",
+ "loader-utils": "1.2.3",
+ "postcss": "7.0.21",
+ "rework": "1.0.1",
+ "rework-visit": "1.0.0",
+ "source-map": "0.6.1"
+ },
+ "dependencies": {
+ "convert-source-map": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
+ "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.1"
+ }
+ },
+ "postcss": {
+ "version": "7.0.21",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.21.tgz",
+ "integrity": "sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
"restore-cursor": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
@@ -15390,6 +15492,30 @@
"integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
"dev": true
},
+ "rework": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz",
+ "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=",
+ "dev": true,
+ "requires": {
+ "convert-source-map": "^0.3.3",
+ "css": "^2.0.0"
+ },
+ "dependencies": {
+ "convert-source-map": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz",
+ "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=",
+ "dev": true
+ }
+ }
+ },
+ "rework-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz",
+ "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=",
+ "dev": true
+ },
"rfdc": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.4.tgz",
@@ -15469,16 +15595,13 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"dev": true
},
- "sass-graph": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz",
- "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=",
+ "sass": {
+ "version": "1.23.7",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.23.7.tgz",
+ "integrity": "sha512-cYgc0fanwIpi0rXisGxl+/wadVQ/HX3RhpdRcjLdj2o2ye/sxUTpAxIhbmJy3PLQgRFbf6Pn8Jsrta2vdXcoOQ==",
"dev": true,
"requires": {
- "glob": "^7.0.0",
- "lodash": "^4.0.0",
- "scss-tokenizer": "^0.2.3",
- "yargs": "^7.0.0"
+ "chokidar": ">=2.0.0 <4.0.0"
}
},
"sass-loader": {
@@ -15513,27 +15636,6 @@
"ajv-keywords": "^3.1.0"
}
},
- "scss-tokenizer": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz",
- "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=",
- "dev": true,
- "requires": {
- "js-base64": "^2.1.8",
- "source-map": "^0.4.2"
- },
- "dependencies": {
- "source-map": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
- "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
- "dev": true,
- "requires": {
- "amdefine": ">=0.0.4"
- }
- }
- }
- },
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
@@ -16007,23 +16109,6 @@
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
"dev": true
},
- "sshpk": {
- "version": "1.16.1",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
- "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
- "dev": true,
- "requires": {
- "asn1": "~0.2.3",
- "assert-plus": "^1.0.0",
- "bcrypt-pbkdf": "^1.0.0",
- "dashdash": "^1.12.0",
- "ecc-jsbn": "~0.1.1",
- "getpass": "^0.1.1",
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.0.2",
- "tweetnacl": "~0.14.0"
- }
- },
"ssri": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
@@ -16303,15 +16388,6 @@
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
"dev": true
},
- "stdout-stream": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz",
- "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==",
- "dev": true,
- "requires": {
- "readable-stream": "^2.0.1"
- }
- },
"stream-browserify": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
@@ -16585,17 +16661,6 @@
"integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
"dev": true
},
- "tar": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz",
- "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==",
- "dev": true,
- "requires": {
- "block-stream": "*",
- "fstream": "^1.0.12",
- "inherits": "2"
- }
- },
"terser": {
"version": "4.4.2",
"resolved": "https://registry.npmjs.org/terser/-/terser-4.4.2.tgz",
@@ -16880,24 +16945,6 @@
"integrity": "sha1-riF2gXXRVZ1IvvNUILL0li8JwzA=",
"dev": true
},
- "tough-cookie": {
- "version": "2.4.3",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
- "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
- "dev": true,
- "requires": {
- "psl": "^1.1.24",
- "punycode": "^1.4.1"
- },
- "dependencies": {
- "punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
- "dev": true
- }
- }
- },
"trim-newlines": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
@@ -16916,15 +16963,6 @@
"integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
"dev": true
},
- "true-case-path": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz",
- "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==",
- "dev": true,
- "requires": {
- "glob": "^7.1.2"
- }
- },
"tslib": {
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz",
@@ -16937,21 +16975,6 @@
"integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
"dev": true
},
- "tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
- "dev": true,
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- },
- "tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
- "dev": true
- },
"type-check": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
@@ -17241,17 +17264,6 @@
"spdx-expression-parse": "^3.0.0"
}
},
- "verror": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
- "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "^1.2.0"
- }
- },
"vm-browserify": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
@@ -17663,21 +17675,6 @@
"isexe": "^2.0.0"
}
},
- "which-module": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
- "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
- "dev": true
- },
- "wide-align": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
- "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
- "dev": true,
- "requires": {
- "string-width": "^1.0.2 || 2"
- }
- },
"wordwrap": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
@@ -17758,84 +17755,12 @@
"integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
"dev": true
},
- "y18n": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
- "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
- "dev": true
- },
"yallist": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
"integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
"dev": true
},
- "yargs": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz",
- "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
- "dev": true,
- "requires": {
- "camelcase": "^3.0.0",
- "cliui": "^3.2.0",
- "decamelize": "^1.1.1",
- "get-caller-file": "^1.0.1",
- "os-locale": "^1.4.0",
- "read-pkg-up": "^1.0.1",
- "require-directory": "^2.1.1",
- "require-main-filename": "^1.0.1",
- "set-blocking": "^2.0.0",
- "string-width": "^1.0.2",
- "which-module": "^1.0.0",
- "y18n": "^3.2.1",
- "yargs-parser": "^5.0.0"
- },
- "dependencies": {
- "camelcase": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
- "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "dev": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- }
- }
- },
- "yargs-parser": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz",
- "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
- "dev": true,
- "requires": {
- "camelcase": "^3.0.0"
- },
- "dependencies": {
- "camelcase": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
- "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
- "dev": true
- }
- }
- },
"yeast": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz",
diff --git a/package.json b/package.json
index 3361f6443..58d79f396 100644
--- a/package.json
+++ b/package.json
@@ -85,10 +85,12 @@
"lint-staged": "^8.2.1",
"lodash.debounce": "^4.0.8",
"mini-css-extract-plugin": "^0.8.0",
- "node-sass": "^4.13.0",
"npm-run-all": "^4.1.5",
"null-loader": "^2.0.0",
"postcss-loader": "^3.0.0",
+ "postcss-preset-env": "^6.7.0",
+ "resolve-url-loader": "^3.1.1",
+ "sass": "^1.23.7",
"sass-loader": "^7.3.1",
"semver": "^6.3.0",
"standard-version": "^6.0.1",
@@ -106,7 +108,7 @@
"@juggle/resize-observer": "^2.5.0",
"core-js": "^3.4.8",
"moment": "^2.24.0",
- "npm": "^6.13.3",
+ "npm": "^6.13.4",
"tail.datetime": "git+https://github.com/uni2work/tail.DateTime.git#master",
"whatwg-fetch": "^3.0.0"
}
diff --git a/records.json b/records.json
new file mode 100644
index 000000000..70313cfe0
--- /dev/null
+++ b/records.json
@@ -0,0 +1,509 @@
+{
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/sass-loader/dist/cjs.js??ref--6-3!frontend/src/app.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/sass-loader/dist/cjs.js??ref--6-3!frontend/src/utils/alerts/alerts.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/sass-loader/dist/cjs.js??ref--6-3!frontend/src/utils/async-form/async-form.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/sass-loader/dist/cjs.js??ref--6-3!frontend/src/utils/asidenav/asidenav.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/sass-loader/dist/cjs.js??ref--6-3!frontend/src/utils/async-table/async-table-filter.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/sass-loader/dist/cjs.js??ref--6-3!frontend/src/utils/async-table/async-table.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/sass-loader/dist/cjs.js??ref--6-3!frontend/src/utils/show-hide/show-hide.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/sass-loader/dist/cjs.js??ref--6-3!frontend/src/utils/form/form.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/sass-loader/dist/cjs.js??ref--6-3!frontend/src/utils/inputs/inputs.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/sass-loader/dist/cjs.js??ref--6-3!frontend/src/utils/inputs/radio.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/sass-loader/dist/cjs.js??ref--6-3!frontend/src/utils/mass-input/mass-input.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/sass-loader/dist/cjs.js??ref--6-3!frontend/src/utils/hide-columns/hide-columns.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/sass-loader/dist/cjs.js??ref--6-3!frontend/src/utils/navbar/navbar.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/sass-loader/dist/cjs.js??ref--6-3!frontend/src/utils/course-teaser/course-teaser.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/sass-loader/dist/cjs.js??ref--6-3!frontend/src/utils/tooltips/tooltips.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/sass-loader/dist/cjs.js??ref--6-3!frontend/src/utils/modal/modal.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/sass-loader/dist/cjs.js??ref--6-3!frontend/src/utils/inputs/file-input.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/sass-loader/dist/cjs.js??ref--6-3!frontend/src/utils/inputs/checkbox.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--5-1!node_modules/postcss-loader/src/index.js??ref--5-2!frontend/src/utils/form/datepicker.css": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "modules": {
+ "byIdentifier": {
+ "multi frontend/src/polyfill.js frontend/src/main.js": 0
+ },
+ "usedIds": {
+ "0": 0
+ }
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ },
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/resolve-url-loader/index.js??ref--6-3!node_modules/sass-loader/dist/cjs.js??ref--6-4!frontend/src/app.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/resolve-url-loader/index.js??ref--6-3!node_modules/sass-loader/dist/cjs.js??ref--6-4!frontend/src/utils/alerts/alerts.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/resolve-url-loader/index.js??ref--6-3!node_modules/sass-loader/dist/cjs.js??ref--6-4!frontend/src/utils/asidenav/asidenav.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/resolve-url-loader/index.js??ref--6-3!node_modules/sass-loader/dist/cjs.js??ref--6-4!frontend/src/utils/show-hide/show-hide.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/resolve-url-loader/index.js??ref--6-3!node_modules/sass-loader/dist/cjs.js??ref--6-4!frontend/src/utils/async-form/async-form.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/resolve-url-loader/index.js??ref--6-3!node_modules/sass-loader/dist/cjs.js??ref--6-4!frontend/src/utils/async-table/async-table-filter.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/resolve-url-loader/index.js??ref--6-3!node_modules/sass-loader/dist/cjs.js??ref--6-4!frontend/src/utils/async-table/async-table.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/resolve-url-loader/index.js??ref--6-3!node_modules/sass-loader/dist/cjs.js??ref--6-4!frontend/src/utils/form/form.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/resolve-url-loader/index.js??ref--6-3!node_modules/sass-loader/dist/cjs.js??ref--6-4!frontend/src/utils/inputs/inputs.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/resolve-url-loader/index.js??ref--6-3!node_modules/sass-loader/dist/cjs.js??ref--6-4!frontend/src/utils/inputs/radio.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/resolve-url-loader/index.js??ref--6-3!node_modules/sass-loader/dist/cjs.js??ref--6-4!frontend/src/utils/mass-input/mass-input.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/resolve-url-loader/index.js??ref--6-3!node_modules/sass-loader/dist/cjs.js??ref--6-4!frontend/src/utils/hide-columns/hide-columns.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/resolve-url-loader/index.js??ref--6-3!node_modules/sass-loader/dist/cjs.js??ref--6-4!frontend/src/utils/navbar/navbar.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/resolve-url-loader/index.js??ref--6-3!node_modules/sass-loader/dist/cjs.js??ref--6-4!frontend/src/utils/tooltips/tooltips.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/resolve-url-loader/index.js??ref--6-3!node_modules/sass-loader/dist/cjs.js??ref--6-4!frontend/src/utils/course-teaser/course-teaser.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/resolve-url-loader/index.js??ref--6-3!node_modules/sass-loader/dist/cjs.js??ref--6-4!frontend/src/utils/modal/modal.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/resolve-url-loader/index.js??ref--6-3!node_modules/sass-loader/dist/cjs.js??ref--6-4!frontend/src/utils/inputs/file-input.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/resolve-url-loader/index.js??ref--6-3!node_modules/sass-loader/dist/cjs.js??ref--6-4!frontend/src/utils/inputs/checkbox.scss": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ],
+ "mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--5-1!node_modules/postcss-loader/src/index.js??ref--5-2!node_modules/resolve-url-loader/index.js??ref--5-3!frontend/src/utils/form/datepicker.css": [
+ {
+ "modules": {
+ "byIdentifier": {},
+ "usedIds": {}
+ },
+ "chunks": {
+ "byName": {},
+ "bySource": {},
+ "usedIds": []
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/shell.nix b/shell.nix
index 1a285b264..ce4fd9035 100644
--- a/shell.nix
+++ b/shell.nix
@@ -19,10 +19,12 @@ let
'';
override = oldAttrs: {
- nativeBuildInputs = oldAttrs.nativeBuildInputs ++ (with pkgs; [ nodejs-12_x postgresql openldap ]) ++ (with haskellPackages; [ stack yesod-bin hlint cabal-install ]);
+ nativeBuildInputs = oldAttrs.nativeBuildInputs ++ (with pkgs; [ nodejs-12_x postgresql openldap google-chrome ]) ++ (with haskellPackages; [ stack yesod-bin hlint cabal-install ]);
shellHook = ''
export PROMPT_INFO="${oldAttrs.name}"
+ export CHROME_BIN=$(which google-chrome-stable)
+
if [[ -z "$PGHOST" ]]; then
set -xe
diff --git a/templates/adminFeatures.cassius b/templates/adminFeatures.cassius
deleted file mode 100644
index cc48016f1..000000000
--- a/templates/adminFeatures.cassius
+++ /dev/null
@@ -1,3 +0,0 @@
-#admin-studyterms
- select, option, input
- min-width: 50px
\ No newline at end of file
diff --git a/templates/allocation/show.lucius b/templates/allocation/show.lucius
deleted file mode 100644
index 5302b59a4..000000000
--- a/templates/allocation/show.lucius
+++ /dev/null
@@ -1,104 +0,0 @@
-.allocation__label, .allocation__explanation {
- color: var(--color-fontsec);
- font-style: italic;
-}
-
-.allocation__state {
- color: var(--color-font);
- font-weight: 600;
- font-style: normal;
-}
-
-.allocation__courses {
- margin: 20px 0 0 40px;
-}
-
-.allocation-course {
- display: grid;
- grid-template-columns: minmax(105px, 1fr) 9fr;
- grid-template-areas:
- 'name name '
- '. registered '
- 'prio-label prio '
- 'instr-label instr '
- 'form-label form ';
-
- grid-gap: 5px 7px;
- margin: 12px 0;
- padding: 0 10px 12px 7px;
-
- border-left: 1px solid var(--color-grey);
-
- /* &:last-child {
- * padding: 12px 10px 0 10px;
- * }
- *
- * & + .allocation-course {
- * border-top: 1px solid var(--color-grey);
- * }
- */
-
- &:nth-child(2n) {
- background-color: rgba(0, 0, 0, 0.015);
- }
-
- .allocation-course__registered {
- grid-area: registered;
- }
-
- .allocation-course__priority {
- grid-area: prio;
- }
- .allocation-course__priority-label {
- grid-area: prio-label;
- justify-self: end;
- align-self: center;
- text-align: right;
- }
-
- .allocation-course__name {
- grid-area: name;
-
- align-self: center;
-
- font-size: 1.2rem;
- }
-
- .allocation-course__instructions {
- grid-area: instr;
- }
- .allocation-course__instructions-label {
- grid-area: instr-label;
- justify-self: end;
- text-align: right;
- }
-
- .allocation-course__application {
- grid-area: form;
- }
- .allocation-course__application-label {
- grid-area: form-label;
- justify-self: end;
- text-align: right;
- padding-top: 6px;
- }
-}
-
-@media (max-width: 426px) {
- .allocation-course {
- grid-template-columns: 1fr;
- grid-template-areas:
- 'name '
- 'registered '
- 'prio-label '
- 'prio '
- 'instr-label'
- 'instr '
- 'form-label '
- 'form ';
- }
-
- .allocation-course__application-label {
- padding-top: 0;
- }
-}
diff --git a/templates/correction-user.cassius b/templates/correction-user.cassius
deleted file mode 100644
index 2b7b13b7a..000000000
--- a/templates/correction-user.cassius
+++ /dev/null
@@ -1,3 +0,0 @@
-.comment
- white-space: pre-wrap
- font-family: monospace
\ No newline at end of file
diff --git a/templates/course.lucius b/templates/course.lucius
deleted file mode 100644
index c28d8cf60..000000000
--- a/templates/course.lucius
+++ /dev/null
@@ -1,42 +0,0 @@
-th {
- vertical-align: top;
- text-align: left;
-}
-
-th, td {
- padding-bottom: 7px;
-}
-
-.course-news {
- max-height: 50vh;
- overflow: auto;
-
- .course-news-item {
- padding: 12px 0;
- border-bottom: 1px solid #d3d3d3;
-
- &:last-child {
- padding-bottom: 0;
- border-bottom: none;
- }
-
- &:first-child {
- padding-top: 0;
- }
-
- .course-news-item__last-edit {
- color: var(--color-fontsec);
- font-style: italic;
- }
-
- .course-news-item__title .modal__trigger-label {
- font-style: normal;
- }
-
- .course-news-item__summary .modal__trigger-label {
- font-weight: normal;
- font-style: normal;
- color: var(--color-font);
- }
- }
-}
diff --git a/templates/course/applications-list.lucius b/templates/course/applications-list.lucius
deleted file mode 100644
index 55579838c..000000000
--- a/templates/course/applications-list.lucius
+++ /dev/null
@@ -1,4 +0,0 @@
-.bound_explanation {
- color: var(--color-fontsec);
- font-style: italic;
-}
diff --git a/templates/csv-import-confirmation.lucius b/templates/csv-import-confirmation.lucius
deleted file mode 100644
index 2569e0836..000000000
--- a/templates/csv-import-confirmation.lucius
+++ /dev/null
@@ -1,52 +0,0 @@
-.action {
- max-width: 800px;
- padding: 3px 0;
-
- &:not(:last-child) {
- margin-bottom: 7px;
- }
-
- &:not(:first-child) {
- margin-top: 7px;
- }
-}
-
-.action__options {
- max-height: 450px;
- overflow-y: auto;
-}
-
-.action__option {
- display: flex;
-
- &:not(:last-child) {
- margin-bottom: 10px;
- }
-}
-
-.action__label,
-.action__option-label {
- margin-left: 15px;
- vertical-align: top;
-}
-
-.action__fieldset {
- margin: 7px 0 5px 9px;
- padding: 5px 0 10px;
- border-left: 1px solid #bcbcbc;
- padding-left: 16px;
- position: relative;
-}
-
-.action__toggle-all {
- display: flex;
- border-bottom: 1px solid #bcbcbc;
- padding-bottom: 8px;
- margin-bottom: 8px;
-}
-
-.action__checked-counter {
- position: absolute;
- right: 5px;
- top: 5px;
-}
diff --git a/templates/default-layout.lucius b/templates/default-layout.lucius
deleted file mode 100644
index 0f09cb225..000000000
--- a/templates/default-layout.lucius
+++ /dev/null
@@ -1,790 +0,0 @@
-:root {
- /* THEME INDEPENDENT COLORS */
- --color-error: #8c0707;
- --color-error-dark: #500303;
- --color-warning: #fc9900;
- --color-warning-dark: #c27400;
- --color-success: #23d160;
- --color-success-dark: #1ca64c;
- --color-info: #c4c4c4;
- --color-info-dark: #919191;
- --color-lightblack: #1A2A36;
- --color-lightwhite: #fcfffa;
- --color-grey: #B1B5C0;
- --color-grey-light: #efefef;
- --color-grey-lighter: #f5f5f5;
- --color-grey-medium: #9A989E;
- --color-font: #34303a;
- --color-fontsec: #5b5861;
-
-
- /* FONTS */
- --font-base: "Source Sans Pro", "Trebuchet MS", sans-serif;
- --font-logo: "Roboto", var(--font-base);
-
- /* DIMENSIONS */
- --header-height: 100px;
- --header-height-collapsed: 60px;
-
- --asidenav-width-xl: 250px;
- --asidenav-width-lg: 20%;
- --asidenav-width-md: 60px;
-}
-
-* {
- box-sizing: border-box;
- padding: 0;
- margin: 0;
- -webkit-font-smoothing: antialiased;
-}
-
-body {
- background-color: white;
- color: var(--color-font);
- font-family: var(--font-base);
- font-weight: 400;
- font-size: 16px;
- overflow-y: scroll;
-}
-
-/* THEMES */
-
-body {
- /* DEFAULT LMU THEME */
- --color-lmu-green: #0a9342;
- --color-primary: var(--color-lmu-green);
- --color-light: #31cc72;
- --color-lighter: #35db7a;
- --color-dark: #087536;
- --color-darker: #075728;
- --color-link: var(--color-font);
- --color-link-hover: var(--color-font);
- --color-lmu-box-border: var(--color-lightwhite);
-
- &.theme--lavender {
- --color-primary: #584c9c;
- --color-light: #5969b5;
- --color-lighter: #5f7dc2;
- --color-dark: #4c4279;
- --color-darker: #3c2765;
- --color-link: var(--color-dark);
- --color-link-hover: var(--color-darker);
- }
-
- &.theme--neutral-blue {
- --color-primary: #3E606F;
- --color-light: rgb(189, 201, 219);
- --color-lighter: rgb(145, 159, 170);
- --color-dark: rgb(42, 74, 88);
- --color-darker: #193441;
- }
-
- &.theme--aberdeen-reds {
- --color-primary: #820333;
- --color-light: #C9283E;
- --color-lighter: #F0433A;
- --color-dark: #540032;
- --color-darker: #2E112D;
- }
-
- &.theme--moss-green {
- --color-primary: #5C996B;
- --color-light: #7ACC8F;
- --color-lighter: #99FFB2;
- --color-dark: #3D6647;
- --color-darker: #1F3324;
- }
-
- &.theme--sky-love {
- --color-primary: #87ABE5;
- --color-light: #A0C6F2;
- --color-lighter: #BAE2FF;
- --color-dark: #7A95DE;
- --color-darker: #6B7BC9;
- --color-link: var(--color-lightblack);
- --color-link-hover: var(--color-darker);
- }
-}
-
-/* END THEMES */
-
-.emph {
- font-style: italic;
-}
-
-a,
-a:visited {
- text-decoration: none;
- font-weight: 600;
- transition: color .2s ease, background-color .2s ease;
-}
-
-a {
- color: var(--color-link);
-}
-
-a:hover {
- color: var(--color-link-hover);
-}
-
-
-ul {
- margin-left: 20px;
-}
-
-h1, h2, h3, .div-h3 , h4, h5 {
- font-weight: 600;
-}
-h1 {
- font-size: 32px;
- margin-bottom: 10px;
-}
-h2 {
- font-size: 24px;
- margin: 10px 0;
-
- &:first-child {
- margin-top: 0;
- }
-}
-h3, .div-h3 {
- font-size: 20px;
- margin: 10px 0;
-
- &:first-child {
- margin-top: 0;
- }
-}
-h4 {
- font-size: 16px;
- margin: 0;
-}
-
-@media (max-width: 768px) {
-
- h1 {
- font-size: 24px;
- }
-
- h2 {
- font-size: 20px;
- }
-
- h3, .div-h3 {
- font-size: 16px;
- }
-}
-
-/* LAYOUT */
-.main {
- position: relative;
-}
-
-.main__content {
- position: relative;
- background-color: white;
- transition: padding-left .2s ease-out;
- margin-top: var(--header-height-collapsed);
- margin-left: 0;
-
- > .container {
- margin: 20px 0;
- }
-}
-
-.main__content, .modal__content {
- a {
- text-decoration: underline;
- }
-
- p, form, .div-p {
- margin: 0.5rem 0;
-
- &:last-child {
- margin: 0.5rem 0 0;
-
- &:first-child {
- margin: 0;
- }
- }
- }
-}
-
-@media (min-width: 426px) {
- .main__content {
- margin-left: var(--asidenav-width-md, 50px);
- }
-}
-
-@media (min-width: 769px) {
- .main__content {
- margin-left: var(--asidenav-width-lg, 20%);
- margin-top: var(--header-height);
- }
-}
-
-@media (min-width: 1200px) {
- .main__content {
- margin-left: var(--asidenav-width-xl, 250px);
- }
-}
-
-.main__content-body {
- padding: 13px;
-}
-
-@media (min-width: 426px) {
- .main__content-body {
- padding: 13px 20px;
- }
-}
-
-@media (min-width: 769px) {
- .main__content-body {
- padding: 20px 40px;
- }
-}
-
-.pseudo-focus {
- outline: 5px auto var(--color-light);
- outline: 5px auto -webkit-focus-ring-color;
-}
-
-/* CONTAINER */
-.container {
-
- + .container {
- margin-top: 20px;
- }
-}
-
-/* GENERAL BUTTON STYLES */
-input[type="submit"],
-input[type="button"],
-button,
-.btn {
- outline: 0;
- border: 0;
- box-shadow: 0;
- background-color: var(--color-dark);
- color: white;
- padding: 10px 17px;
- min-width: 100px;
- transition: all .1s;
- font-size: 16px;
- cursor: pointer;
- display: inline-block;
- text-decoration: none;
-
- a:hover {
- color: white;
- }
-
- &:focus {
- border-color: #3273dc;
- box-shadow: 0 0 0 0.25rem rgba(50,115,220,.25);
- outline: 0;
- }
-}
-
-input[type="submit"][disabled],
-input[type="button"][disabled],
-button[disabled],
-.btn[disabled] {
- opacity: 0.3;
- background-color: var(--color-grey);
- cursor: default;
-}
-
-input[type="submit"]:not([disabled]):hover,
-input[type="button"]:not([disabled]):hover,
-button:not([disabled]):hover,
-.btn:not([disabled]):hover {
- background-color: var(--color-light);
- color: white;
-}
-
-.btn-primary {
- background-color: var(--color-primary);
-}
-
-.btn-info {
- background-color: var(--color-info)
-}
-
-.btn--small {
- padding: 4px 7px;
- background-color: var(--color-darker);
-}
-
-input[type="submit"].btn-info:hover,
-input[type="button"].btn-info:hover,
-.btn-info:hover {
- background-color: var(--color-grey)
-}
-
-/* GENERAL TABLE STYLES */
-.table {
- margin: 21px 0;
- width: 100%;
-}
-
-.table:first-child {
- margin-top: 0;
-}
-
-.table:last-child {
- margin-bottom: 0;
-}
-
-.table--striped {
-
- .table__row:not(.no-stripe):not(.table__row--sum):nth-child(even) {
- background-color: rgba(0, 0, 0, 0.03);
- }
-}
-
-.table--hover {
-
- .table__row:not(.no-hover):not(.table__row--sum):not(.table__row--head):not(.table__row--foot):hover {
- background-color: rgba(0, 0, 0, 0.07);
- }
-}
-
-.table__row--sum td.table__td::before {
- content: 'Σ';
- font-weight: bold;
- margin-right: .25em;
-}
-
-/* SCROLLTABLE */
-.scrolltable {
- overflow: auto;
-}
-
-.scrolltable--bordered {
- box-shadow: 0 0 1px 1px var(--color-grey-light);
-}
-
-@media (max-width: 425px) {
-
- .scrolltable {
- margin-left: -10px;
- padding-left: 10px;
- margin-right: -10px;
- padding-right: 10px;
- }
-}
-
-/* TABLE DESIGN */
-.table__td, .table__th {
- padding-top: 14px;
- padding-bottom: 10px;
- padding-left: 10px;
- padding-right: 10px;
- max-width: 300px;
-}
-
-.table__td {
- font-size: 16px;
- color: var(--color-font);
- line-height: 1.4;
- vertical-align: top;
-}
-
-.table__td--automatic {
- font-style: oblique;
- color: var(--color-fontsec);
-}
-
-.table__td--overriden {
- font-weight: bold;
-}
-
-.table__th {
- background-color: var(--color-dark);
- position: relative;
- font-size: 16px;
- color: white;
- line-height: 1.4;
- padding-top: 10px;
- padding-bottom: 10px;
- font-weight: bold;
- text-align: left;
-
- a {
- color: white;
- text-decoration: none;
- font-weight: bold;
-
- &:hover {
- color: inherit;
- }
-
- &::before {
- content: "\f0c1";
- font-family: "Font Awesome 5 Free";
- font-weight: 900;
- margin-right: 0.25em;
- }
- }
-}
-
-@media (max-width: 1200px) {
-
- .table th {
- padding: 4px 6px;
- }
-}
-
-.table__td-content {
- max-height: 200px;
- overflow-y: auto;
-}
-
-.table__th-link {
- font-weight: bold;
-
- &::before {
- display: none;
- }
-}
-
-.table--vertical {
-
- th {
- background-color: transparent;
- color: var(--color-font);
- width: 170px;
- text-align: right;
- padding-right: 15px;
- font-weight: 400;
- }
-
- td {
- font-weight: 600;
- color: var(--color-font);
- }
-}
-
-.table--condensed {
- margin: 0;
-
- .table__th,
- .table__td {
- padding: 4px 8px;
- }
-}
-
-/* UNORDERED LIST */
-.list-ul__item {
- // padding: 4px 0;
- line-height: 25px;
-}
-
-/* LIST MODIFIERS */
-.list--iconless {
- list-style-type: none;
- margin-left: 0;
-}
-
-.list--inline {
- ul {
- display: inline-block;
- margin-left: 0;
-
- li {
- display: inline-block;
- }
- }
-}
-
-ul.list--inline {
-
- display: inline-block;
- margin-left: 0;
-
- li {
- display: inline-block;
- }
-}
-
-.list--comma-separated li {
- &::after {
- content: ', ';
- white-space: pre;
- }
-
- &:last-of-type::after {
- content: none;
- }
-}
-
-.list--space-separated li {
- &::after {
- content: ' ';
- white-space: pre;
- }
-
- &:last-of-type::after {
- content: none;
- }
-}
-
-.list--icon-width li {
- width: 1rem;
- height: 1rem;
-}
-
-/* DEFINITION LIST */
-.deflist {
- display: grid;
- grid-template-columns: 100%;
-}
-.deflist__dt,
-.deflist__dd {
- padding: 2px 0;
-}
-
-.deflist__dt {
- font-weight: 600;
-}
-
-.deflist__dd {
- font-size: 18px;
- margin-bottom: 10px;
-
- > p, > .div-p {
- margin-top: 0;
- }
-}
-
-@media (min-width: 768px) {
-
- .deflist {
- grid-template-columns: fit-content(25vw) 1fr;
-
- .deflist {
- margin-top: -10px;
- margin-right: -15px;
-
- .deflist__dd {
- padding-right: 15px;
- }
- }
- }
-
- .deflist__dt,
- .deflist__dd {
- padding: 12px 0;
- margin: 0;
- font-size: 16px;
-
- &:last-of-type {
- border: 0;
- }
- }
-
- .deflist__dt {
- padding-right: 50px;
- }
-
- .deflist__dd {
- padding-right: 15px;
- }
-}
-
-section {
- padding-bottom: 30px;
- border-bottom: 1px solid #d3d3d3;
-
- + section {
- margin-top: 20px;
- }
-
- &:last-child {
- border-bottom: none;
- padding-bottom: 0px;
- }
-}
-
-.pseudonym {
- font-family: monospace;
-}
-
-.headline-one {
- margin-bottom: 10px;
-}
-
-/* Notification style used as requested by @hamanf in #298, but class was not globally available. Copied from dead-code. For @hamanf to clean up: */
-
-.notification {
- position: relative;
- border-radius: 3px;
- padding: 10px 20px 20px;
- margin: 40px auto;
- box-shadow: 0 0 4px 2px inset currentColor;
- padding-left: 100px;
- min-height: 100px;
- max-width: 700px;
- font-weight: 600;
- vertical-align: center;
- display: grid;
- grid-column: 2;
-
- &::before {
- font-family: "Font Awesome 5 Free";
- font-weight: 600;
- position: absolute;
- display: flex;
- left: 0;
- top: 0;
- height: 100%;
- width: 100px;
- font-size: 50px;
- align-items: center;
- justify-content: center;
- }
-
- .notification__content {
- grid-column: 1;
- align-self: center;
-
- color: var(--color-font);
- }
-
- &.notification--broad {
- max-width: none;
- }
-}
-
-.form-section-notification {
- display: grid;
- grid-template-columns: 1fr 3fr;
- grid-gap: 5px;
-
- fieldset {
- display: grid;
- grid-template-columns: 1fr 3fr;
- grid-gap: 5px;
- grid-column: 1/3;
- }
-
- .notification {
- margin: 0;
- }
-
- + .form-group, + .form-section-legend, + .form-section-notification {
- margin-top: 11px;
- }
-
- + .form-section-title {
- margin-top: 40px;
- }
-}
-
-@media (max-width: 768px) {
- .form-section-notification {
- grid-template-columns: 1fr;
- margin-top: 17px;
-
- fieldset {
- grid-template-columns: 1fr;
- grid-column: 1/2;
- }
- }
-
- .notification {
- grid-column: 1;
-
- max-width: none;
-
- padding-left: 40px;
-
- &::before {
- height: auto;
- width: 45px;
- font-size: 40px;
- top: 15px;
- }
- }
-}
-
-.notification-error {
- color: var(--color-error) ;
-}
-
-.notification-warning {
- color: var(--color-warning) ;
-}
-
-.notification-info {
- color: var(--color-lightblack) ;
-}
-
-.notification-success {
- color: var(--color-warning) ;
-}
-
-
-
-
-/*
- "Heated" element.
- Set custom property "--hotness" to a value from 0 to 1 to turn
- the element's background to a color on a gradient from green to red.
-
- TBD:
- - move to a proper place
- - think about font-weight...
-
- Example:
-
Lorem ipsum
-*/
-
-.heated {
- --hotness: 0;
- --red: calc(var(--hotness) * 200);
- --green: calc(255 - calc(var(--hotness) * 255));
- --opacity: calc(calc(var(--red) / 600) + 0.1);
-
- font-weight: var(--weight, 600);
- background-color: rgba(var(--red), var(--green), 0, var(--opacity));
-}
-
-
-.uuid {
- font-family: monospace;
-}
-
-
-.form--inline {
- display: inline-block;
-}
-
-
-.ribbon {
- position: fixed;
- top: calc(40px + var(--header-height));
- transition: all .2s cubic-bezier(0.03, 0.43, 0.58, 1);
- right: -63px;
- transform: rotate(45deg);
- width: 250px;
- background: var(--color-error);
- text-align: center;
- color: var(--color-lightwhite);
- font-weight: 600;
- font-size: 1.25rem;
- line-height: 2em;
- box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
- z-index: 19;
- pointer-events: none;
-}
-
-@media (max-width: 768px) {
- .ribbon {
- top: calc(20px + var(--header-height-collapsed));
- right: -83px;
- transform: rotate(45deg) scale(0.6);
- }
-}
diff --git a/templates/exam-show.cassius b/templates/exam-show.cassius
deleted file mode 100644
index 4588a6011..000000000
--- a/templates/exam-show.cassius
+++ /dev/null
@@ -1,6 +0,0 @@
-.occurrence--not-registered, .no-bonus
- text-decoration: line-through
-
-.result
- font-size: 3rem
- margin: 30px 30px 0 !important
diff --git a/templates/glossary.cassius b/templates/glossary.cassius
deleted file mode 100644
index 8a6bc42cf..000000000
--- a/templates/glossary.cassius
+++ /dev/null
@@ -1,14 +0,0 @@
-.glossary
- dt, .dt
- font-weight: 600
-
- &.sec
- font-style: italic
- font-size: 0.9rem
- font-weight: 600
- color: var(--color-fontsec)
- dd, .dd
- margin-left: 12px
-
- dd + dt, .dd + dt, dd + .dt, .dd + .dt
- margin-top: 17px
diff --git a/templates/table/colonnade.lucius b/templates/table/colonnade.lucius
deleted file mode 100644
index 918770d3e..000000000
--- a/templates/table/colonnade.lucius
+++ /dev/null
@@ -1,40 +0,0 @@
-/* SORTABLE TABLE-HEADERS*/
-.table__th.sortable {
- position: relative;
- padding-right: 24px;
- cursor: pointer;
-}
-
-.table__th.sortable::after,
-.table__th.sortable::before {
- content: '';
- position: absolute;
- top: 50%;
- right: 4px;
- width: 0;
- height: 0;
- border-left: 8px solid transparent;
- border-right: 8px solid transparent;
- border-bottom: 8px solid rgba(255, 255, 255, 0.4);
-}
-
-.table__th.sortable::before {
- /* magic numbers to move arrow back in the right position after flipping it.
- this allows us to use the same border for the up and the down arrow */
- transform: translateY(150%) scale(1, -1);
- transform-origin: top;
-}
-
-.table__th.sortable::after {
- transform: translateY(-150%);
-}
-
-.table__th.sortable:hover::before,
-.table__th.sortable:hover::after {
- border-bottom-color: rgba(255, 255, 255, 0.7);
-}
-
-.table__th.sorted-asc::before,
-.table__th.sorted-desc::after {
- border-bottom-color: white !important;
-}
diff --git a/templates/table/course/colonnade.lucius b/templates/table/course/colonnade.lucius
deleted file mode 100644
index 9590c7329..000000000
--- a/templates/table/course/colonnade.lucius
+++ /dev/null
@@ -1,45 +0,0 @@
-:root {
- --color-grey-light: #efefef;
- --color-grey-lighter: #f5f5f5;
- --color-fontsec: #5b5861;
- --course-bg-color: var(--color-grey-lighter);
- --course-expanded-bg-color: var(--color-grey-light);
-}
-
-.scrolltable {
- box-shadow: none!important;
-}
-
-.course-header::after,
-.course-header::before {
- content: '';
- position: absolute;
- right: 10px;
- top: 20px;
- width: 0;
- height: 0;
- border-left: 8px solid transparent;
- border-right: 8px solid transparent;
- border-bottom: 8px solid rgba(255, 255, 255, 0.4);
-}
-
-.course-header::before {
- /* magic numbers to move arrow back in the right position after flipping it.
- this allows us to use the same border for the up and the down arrow */
- transform: translateY(150%) scale(1, -1);
- transform-origin: top;
-}
-
-.course-header::after {
- transform: translateY(-150%);
-}
-
-.course-header:hover::before,
-.course-header:hover::after {
- border-bottom-color: rgba(255, 255, 255, 0.7);
-}
-
-.sorted-asc::before,
-.sorted-desc::after {
- border-bottom-color: white !important;
-}
\ No newline at end of file
diff --git a/templates/table/csv-transcode.lucius b/templates/table/csv-transcode.lucius
deleted file mode 100644
index bcf12df47..000000000
--- a/templates/table/csv-transcode.lucius
+++ /dev/null
@@ -1,8 +0,0 @@
-.csv-export {
- margin-bottom: 13px;
-
-}
-
-.csv-import {
- margin-bottom: 13px;
-}
diff --git a/templates/table/layout-filter-default.lucius b/templates/table/layout-filter-default.lucius
deleted file mode 100644
index 7c1d3ab14..000000000
--- a/templates/table/layout-filter-default.lucius
+++ /dev/null
@@ -1,7 +0,0 @@
-.table-filter {
- margin-bottom: 13px;
-}
-
-.table-filter__toggle {
- padding: 3px 7px;
-}
diff --git a/templates/table/layout.lucius b/templates/table/layout.lucius
deleted file mode 100644
index 943edbc15..000000000
--- a/templates/table/layout.lucius
+++ /dev/null
@@ -1,61 +0,0 @@
-/* TABLE HEADER */
-.table-header {
- display: flex;
- flex-flow: row-reverse;
- justify-content: space-between;
- margin-bottom: 15px;
-}
-
-/* TABLE FOOTER */
-.table-footer {
- display: flex;
- flex-flow: row-reverse;
- justify-content: space-between;
- margin-top: 15px;
-}
-
-/* PAGINATION */
-.pagination {
- margin-top: 20px;
- overflow: auto;
-
- .pages {
- text-align: center;
- white-space: nowrap;
- margin: 0;
-
- .page-link {
- margin-top: 7px;
- display: inline-block;
- background-color: var(--color-grey-medium);
-
- + .page-link {
- margin-left: 7px;
- }
-
- a {
- color: var(--color-lightwhite);
- padding: 7px 13px;
- display: inline-block;
- text-decoration: none;
- }
-
- &:not(.current):hover {
- background-color: var(--color-primary);
-
- a {
- color: var(--color-lightwhite);
- }
- }
-
- &.current {
- pointer-events: none;
- background-color: var(--color-dark);
-
- a {
- pointer-events: none;
- }
- }
- }
- }
-}
diff --git a/templates/versionHistory.lucius b/templates/versionHistory.lucius
deleted file mode 100644
index 60203fcc4..000000000
--- a/templates/versionHistory.lucius
+++ /dev/null
@@ -1,11 +0,0 @@
-#changelog {
- font-size: 14px;
- white-space: pre-wrap;
- font-family: monospace;
-}
-
-#gitrev {
- font-size: 12px;
- white-space: pre-wrap;
- font-family: monospace;
-}
diff --git a/templates/widgets/breadcrumbs/breadcrumbs.lucius b/templates/widgets/breadcrumbs/breadcrumbs.lucius
deleted file mode 100644
index ca5dfd56c..000000000
--- a/templates/widgets/breadcrumbs/breadcrumbs.lucius
+++ /dev/null
@@ -1,62 +0,0 @@
-.breadcrumbs__container {
- position: relative;
- color: var(--color-lightwhite);
- padding: 4px 13px;
- background-color: var(--color-dark);
- line-height: 30px;
-}
-
-@media (min-width: 426px) {
- .breadcrumbs__container {
- padding: 7px 20px;
- }
-}
-
-@media (min-width: 769px) {
- .breadcrumbs__container {
- padding: 7px 40px;
- }
-}
-
-.breadcrumbs__link {
- color: var(--color-lightwhite);
-
- &:hover {
- color: var(--color-white);
- }
-}
-
-.breadcrumbs__item {
- padding-right: 14px;
- position: relative;
- line-height: 28px;
- opacity: 0.8;
- z-index: 1;
- margin-right: 10px;
-
- &:hover {
- opacity: 1;
- }
-
- &::after {
- content: '';
- position: absolute;
- top: 11px;
- right: 0;
- width: 7px;
- height: 7px;
- border-style: solid;
- border-width: 0;
- border-bottom-width: 1px;
- border-right-width: 1px;
- border-color: var(--color-white);
- transform: rotate(-45deg);
- z-index: 10;
- }
-}
-
-.breadcrumbs__last-item {
- line-height: 28px;
- vertical-align: bottom;
- font-weight: 600;
-}
diff --git a/templates/widgets/communication/recipientLayout.lucius b/templates/widgets/communication/recipientLayout.lucius
deleted file mode 100644
index aa4cb072d..000000000
--- a/templates/widgets/communication/recipientLayout.lucius
+++ /dev/null
@@ -1,65 +0,0 @@
-.recipient-category {
- max-width: 400px;
- padding: 3px 0;
-
- &:not(:last-child) {
- margin-bottom: 7px;
- }
-
- &:not(:first-child) {
- margin-top: 7px;
- }
-}
-
-.recipient-category__options {
- max-height: 150px;
- overflow-y: auto;
-}
-
-.recipient-category__option {
- display: flex;
-
- &:not(:last-child) {
- margin-bottom: 10px;
- }
-}
-
-.recipient-category__label,
-.recipient-category__option-label {
- margin-left: 15px;
- vertical-align: top;
-}
-
-.recipient-category__fieldset {
- margin: 7px 0 5px 9px;
- padding: 5px 0 10px;
- border-left: 1px solid #bcbcbc;
- padding-left: 16px;
- position: relative;
-}
-
-.recipient-category__option-add {
- display: flex;
-
- .btn-mass-input-add {
- margin-left: 10px;
- padding: 10px 0;
- }
-}
-
-.recipient-category__options + .recipient-category__option-add {
- margin-top: 10px;
-}
-
-.recipient-category__toggle-all {
- display: flex;
- border-bottom: 1px solid #bcbcbc;
- padding-bottom: 8px;
- margin-bottom: 8px;
-}
-
-.recipient-category__checked-counter {
- position: absolute;
- right: 5px;
- top: 5px;
-}
diff --git a/templates/widgets/csvRendered.lucius b/templates/widgets/csvRendered.lucius
deleted file mode 100644
index 1187b7160..000000000
--- a/templates/widgets/csvRendered.lucius
+++ /dev/null
@@ -1,3 +0,0 @@
-.table__td--csv, .table__th--csv {
- font-family: monospace;
-}
diff --git a/templates/widgets/delete-confirmation/delete-confirmation.lucius b/templates/widgets/delete-confirmation/delete-confirmation.lucius
deleted file mode 100644
index daf5e5d29..000000000
--- a/templates/widgets/delete-confirmation/delete-confirmation.lucius
+++ /dev/null
@@ -1,5 +0,0 @@
-.confirmationText {
- white-space: pre-wrap;
- font-size: 14px;
- font-family: monospace;
-}
diff --git a/templates/widgets/fields/funcField.hamlet b/templates/widgets/fields/funcField.hamlet
index 167bf5a9b..18b76ac44 100644
--- a/templates/widgets/fields/funcField.hamlet
+++ b/templates/widgets/fields/funcField.hamlet
@@ -1,3 +1,3 @@
$newline never
-
"-wrapper"}>
+
^{formView}
diff --git a/templates/widgets/fields/funcField.lucius b/templates/widgets/fields/funcField.lucius
deleted file mode 100644
index 37a4c1a9c..000000000
--- a/templates/widgets/fields/funcField.lucius
+++ /dev/null
@@ -1,4 +0,0 @@
-##{fvId <> "-wrapper"} {
- max-height: 75vh;
- overflow: auto;
-}
diff --git a/templates/widgets/footer/footer.lucius b/templates/widgets/footer/footer.lucius
deleted file mode 100644
index 26c2ae10f..000000000
--- a/templates/widgets/footer/footer.lucius
+++ /dev/null
@@ -1,24 +0,0 @@
-.footer {
- text-align: center;
- padding: 20px;
- position: relative;
- margin: 40px 0;
-
- &::before {
- content: '';
- position: absolute;
- top: 0;
- left: 10%;
- width: 80%;
- height: 2px;
- background-color: var(--color-grey-light);
- }
-}
-
-.footer-links * {
- margin-right: 0.5em;
-
- &:last {
- margin-right: 0;
- }
-}
diff --git a/templates/widgets/gradingKey.cassius b/templates/widgets/gradingKey.cassius
deleted file mode 100644
index 396f41818..000000000
--- a/templates/widgets/gradingKey.cassius
+++ /dev/null
@@ -1,3 +0,0 @@
-.table--grading-key
- th, td
- padding: 3px;
\ No newline at end of file
diff --git a/templates/widgets/massinput/massinput.lucius b/templates/widgets/massinput/massinput.lucius
deleted file mode 100644
index 6af5274b0..000000000
--- a/templates/widgets/massinput/massinput.lucius
+++ /dev/null
@@ -1,8 +0,0 @@
-.btn.btn-mass-input-delete,
-.btn.btn-mass-input-add {
- background-color: #999;
- min-width: 50px;
- padding: 5px 15px;
- font-weight: 700;
- font-size: 1.3rem;
-}
diff --git a/templates/widgets/multiFileField.lucius b/templates/widgets/multiFileField.lucius
deleted file mode 100644
index 7c2d489a5..000000000
--- a/templates/widgets/multiFileField.lucius
+++ /dev/null
@@ -1,11 +0,0 @@
-.file-input__unpack {
- font-size: .9rem;
- display: flex;
- align-items: center;
- margin-top: 10px;
-
- .checkbox {
- display: inline-block;
- margin-left: 7px;
- }
-}
diff --git a/templates/widgets/pageaction/pageaction.lucius b/templates/widgets/pageaction/pageaction.lucius
deleted file mode 100644
index 95accefba..000000000
--- a/templates/widgets/pageaction/pageaction.lucius
+++ /dev/null
@@ -1,82 +0,0 @@
-.pagenav {
- display: flex;
- align-items: flex-start;
- padding-bottom: 15px;
- margin-bottom: 20px;
- border-bottom: 1px solid #eee;
-}
-
-.pagenav__list-item {
- flex: 1;
- position: relative;
- display: inline-flex;
- box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.6);
- margin: 10px 10px 0 0;
-}
-
-.pagenav__link-wrapper {
- flex: 1;
- padding: 10px 10px 12px;
- text-decoration: none !important;
-
- &:hover {
- background-color: var(--color-grey-light);
- }
-}
-
-@media (max-width: 1024px) {
-
- .pagenav {
- flex-direction: column;
- }
-}
-
-@media (min-width: 1025px) {
- .pagenav-secondary {
- position: relative;
- overflow: visible;
- padding-top: 10px;
-
- &::after {
- content: '\2026';
- display: inline-block;
- padding: 10px 10px 12px;
- width: 40px;
- box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.6);
- box-sizing: border-box;
- text-align: center;
- transition: box-shadow 0.2s ease;
- }
-
- &:hover {
- &::after {
- box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.8);
- }
-
- .pagenav-secondary__list {
- display: block;
- }
- }
- }
-
- .pagenav-secondary__list {
- position: absolute;
- display: none;
- right: 0;
- top: 50px;
- width: 250px;
- background-color: white;
- box-shadow: 0 0 6px 3px var(--color-grey-light);
- z-index: 18;
- }
-
- .pagenav__list-item--secondary {
- display: flex;
- box-shadow: none;
- margin: 0;
-
- &:hover {
- background-color: var(--color-grey-light);
- }
- }
-}
diff --git a/templates/widgets/permutation/permutation.lucius b/templates/widgets/permutation/permutation.lucius
deleted file mode 100644
index 0ae9d74e5..000000000
--- a/templates/widgets/permutation/permutation.lucius
+++ /dev/null
@@ -1,3 +0,0 @@
-##{theId} {
- list-style-type: none;
-}
diff --git a/webpack.config.js b/webpack.config.js
index c16c23a9d..376cc0b24 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -7,6 +7,7 @@ const CopyPlugin = require('copy-webpack-plugin');
const TerserPlugin = require('terser-webpack-plugin');
const yaml = require('js-yaml');
const HashOutput = require('webpack-plugin-hash-output');
+const postcssPresetEnv = require('postcss-preset-env');
const webpackVersion = require('webpack/package.json').version.split('.').slice(0, 2).join('.');
const packageVersion = require('./package.json').version;
@@ -45,15 +46,23 @@ module.exports = {
test: /\.css$/i,
use: [ MiniCssExtractPlugin.loader,
{ loader: 'css-loader', options: { sourceMap: true }},
- { loader: 'postcss-loader', options: { sourceMap: true }}
+ { loader: 'postcss-loader', options: {
+ sourceMap: true,
+ plugins: () => [ postcssPresetEnv ]
+ }},
+ { loader: 'resolve-url-loader', options: { sourceMap: true }}
]
},
{
test: /\.scss$/i,
use: [ MiniCssExtractPlugin.loader,
{ loader: 'css-loader', options: { sourceMap: true }},
- { loader: 'postcss-loader', options: { sourceMap: true }},
- { loader: 'sass-loader', options: { sourceMap: true, includePaths: [path.resolve(__dirname, 'node_modules')] }}
+ { loader: 'postcss-loader', options: {
+ sourceMap: true,
+ plugins: () => [ postcssPresetEnv ]
+ }},
+ { loader: 'resolve-url-loader', options: { sourceMap: true }},
+ { loader: 'sass-loader', options: { implementation: require('sass'), sourceMap: true }}
]
},
{