From 33461598db3936e74fa5c009c8eb397ab81cc8e6 Mon Sep 17 00:00:00 2001 From: Rhys Hall Date: Thu, 24 Feb 2022 21:06:00 +1100 Subject: [PATCH 1/5] Init --- README.md | 50 +- css/orbit.css | 3845 +---------------------------- css/orbit.css.map | 1 - css/orbit.min.css | 1 - package-lock.json | 3878 ++++++++++++++++++++++++++---- package.json | 34 +- scss/base/_all.scss | 5 - scss/base/_colors.scss | 91 +- scss/base/_functions.scss | 84 - scss/base/_general.scss | 99 - scss/base/_helpers.scss | 166 -- scss/base/_typography.scss | 182 -- scss/elements/_accordion.scss | 99 - scss/elements/_alert.scss | 43 - scss/elements/_all.scss | 13 - scss/elements/_button.scss | 269 --- scss/elements/_card.scss | 95 - scss/elements/_dropdown.scss | 138 -- scss/elements/_image.scss | 72 - scss/elements/_media.scss | 40 - scss/elements/_modal.scss | 76 - scss/elements/_panel.scss | 15 - scss/elements/_progress.scss | 69 - scss/elements/_table.scss | 102 - scss/elements/_tabs.scss | 120 - scss/elements/_tag.scss | 110 - scss/form/_all.scss | 3 - scss/form/_general.scss | 316 --- scss/form/_slider.scss | 72 - scss/form/_switch.scss | 74 - scss/layout/_all.scss | 4 - scss/layout/_container.scss | 16 - scss/layout/_grid.scss | 156 -- scss/layout/_hero.scss | 42 - scss/layout/_section.scss | 19 - scss/main.scss | 6 +- scss/navigation/_all.scss | 4 - scss/navigation/_breadcrumb.scss | 53 - scss/navigation/_menu.scss | 143 -- scss/navigation/_pagination.scss | 132 - scss/navigation/_top.scss | 354 --- src/app.css | 9 + src/cli | 4 + src/conf/colors.js | 139 ++ src/conf/utilityClasses.js | 81 + src/createCss.js | 13 + src/index.js | 116 + src/parseUtilities.js | 22 + src/utils/helpCli.js | 53 + 49 files changed, 4022 insertions(+), 7506 deletions(-) delete mode 100644 css/orbit.css.map delete mode 100755 css/orbit.min.css delete mode 100755 scss/base/_all.scss delete mode 100755 scss/base/_functions.scss delete mode 100755 scss/base/_general.scss delete mode 100755 scss/base/_helpers.scss delete mode 100755 scss/base/_typography.scss delete mode 100755 scss/elements/_accordion.scss delete mode 100755 scss/elements/_alert.scss delete mode 100755 scss/elements/_all.scss delete mode 100755 scss/elements/_button.scss delete mode 100755 scss/elements/_card.scss delete mode 100755 scss/elements/_dropdown.scss delete mode 100755 scss/elements/_image.scss delete mode 100755 scss/elements/_media.scss delete mode 100755 scss/elements/_modal.scss delete mode 100755 scss/elements/_panel.scss delete mode 100755 scss/elements/_progress.scss delete mode 100755 scss/elements/_table.scss delete mode 100755 scss/elements/_tabs.scss delete mode 100755 scss/elements/_tag.scss delete mode 100755 scss/form/_all.scss delete mode 100755 scss/form/_general.scss delete mode 100755 scss/form/_slider.scss delete mode 100755 scss/form/_switch.scss delete mode 100755 scss/layout/_all.scss delete mode 100755 scss/layout/_container.scss delete mode 100755 scss/layout/_grid.scss delete mode 100755 scss/layout/_hero.scss delete mode 100755 scss/layout/_section.scss delete mode 100755 scss/navigation/_all.scss delete mode 100755 scss/navigation/_breadcrumb.scss delete mode 100755 scss/navigation/_menu.scss delete mode 100755 scss/navigation/_pagination.scss delete mode 100755 scss/navigation/_top.scss create mode 100644 src/app.css create mode 100644 src/cli create mode 100644 src/conf/colors.js create mode 100644 src/conf/utilityClasses.js create mode 100644 src/createCss.js create mode 100644 src/index.js create mode 100644 src/parseUtilities.js create mode 100644 src/utils/helpCli.js diff --git a/README.md b/README.md index 4a97a57..9673a9a 100755 --- a/README.md +++ b/README.md @@ -1,49 +1,5 @@ # [OrbitCSS](https://orbitcss.com) -OrbitCSS is a modern CSS framework based on Flexbox. +OrbitCSS v3.0.0-dev. +This is a placeholder for a WIP next version of OrbitCSS. -[![npm](https://img.shields.io/npm/v/orbitcss.svg?color=%236e45e2)](https://www.npmjs.com/package/orbitcss) -[![npm](https://img.shields.io/npm/l/orbitcss.svg)](https://www.npmjs.com/package/orbitcss) - -A modern CSS framework based on Flexbox - -## Getting Started -You can install OrbitCSS via one of the methods below: - -### NPM -You can install OrbitCSS with NPM. This will give you all of the Sass files along with the compiled CSS. -```sh -npm install orbitcss -``` - -### CDN Links -Use the [jsDelivr](https://cdn.jsdelivr.net/) CDN to include OrbitCSS directly into your project. - -Compressed CSS -```sh -https://cdn.jsdelivr.net/npm/orbitcss/css/orbit.min.css -``` - -Uncompressed CSS -```sh -https://cdn.jsdelivr.net/npm/orbitcss/css/orbit.css -``` - -### Github -You can download the repository directly from Github (you are here right now!). -```sh -https://github.com/OrbitCSS/orbitcss/tree/master/css -``` - -## Documentation -You can browse the [online documentation here](https://orbitcss.com/documentation). - -## Examples -Check out the [examples page](https://orbitcss.com/examples) for samples and templates to kickstart your next project. - -## Contributing -Help OrbitCSS improve by contributing. - -Before opening a pull request, please first discuss the proposed changes via Github issue or email. - -## License -This project is licensed under the MIT License - see the [LICENSE](https://github.com/OrbitCSS/orbitcss/blob/master/LICENSE) file for details +#goodbyeSASS #hellopostcss diff --git a/css/orbit.css b/css/orbit.css index 61ef77f..2bc51ad 100755 --- a/css/orbit.css +++ b/css/orbit.css @@ -1,3783 +1,138 @@ -/*! Orbit CSS v2.0.0 | MIT license | https://orbitcss.com */ -@import url("https://fonts.googleapis.com/css?family=Lato|Roboto"); -:root { - --color-primary: hsl(255.6687898089deg, 73.023255814%, 57.8431372549%, 1); - --color-primary-darker: hsl(255.6687898089deg, 73.023255814%, 47.8431372549%, 1); - --color-primary-lighter: hsl(255.6687898089deg, 73.023255814%, 67.8431372549%, 1); - --color-primary-text: var(--color-white); - --color-primary-alert: hsl(255.6687898089deg, 73.023255814%, 57.8431372549%, 0.2); - --color-secondary: hsl(346.5838509317deg, 100%, 68.431372549%, 1); - --color-secondary-darker: hsl(346.5838509317deg, 100%, 58.431372549%, 1); - --color-secondary-lighter: hsl(346.5838509317deg, 100%, 78.431372549%, 1); - --color-secondary-text: var(--color-black); - --color-secondary-alert: hsl(346.5838509317deg, 100%, 68.431372549%, 0.2); - --color-warning: hsl(47.8571428571deg, 100%, 67.0588235294%, 1); - --color-warning-darker: hsl(47.8571428571deg, 100%, 57.0588235294%, 1); - --color-warning-lighter: hsl(47.8571428571deg, 100%, 77.0588235294%, 1); - --color-warning-text: var(--color-black); - --color-warning-alert: hsl(47.8571428571deg, 100%, 67.0588235294%, 0.2); - --color-info: hsl(215.2380952381deg, 96.9230769231%, 87.2549019608%, 1); - --color-info-darker: hsl(215.2380952381deg, 96.9230769231%, 77.2549019608%, 1); - --color-info-lighter: hsl(215.2380952381deg, 96.9230769231%, 97.2549019608%, 1); - --color-info-text: var(--color-black); - --color-info-alert: hsl(215.2380952381deg, 96.9230769231%, 87.2549019608%, 0.2); - --color-danger: hsl(347.8301886792deg, 100%, 58.431372549%, 1); - --color-danger-darker: hsl(347.8301886792deg, 100%, 48.431372549%, 1); - --color-danger-lighter: hsl(347.8301886792deg, 100%, 68.431372549%, 1); - --color-danger-text: var(--color-white); - --color-danger-alert: hsl(347.8301886792deg, 100%, 58.431372549%, 0.2); - --color-success: hsl(165.9911894273deg, 100%, 44.5098039216%, 1); - --color-success-darker: hsl(165.9911894273deg, 100%, 34.5098039216%, 1); - --color-success-lighter: hsl(165.9911894273deg, 100%, 54.5098039216%, 1); - --color-success-text: var(--color-white); - --color-success-alert: hsl(165.9911894273deg, 100%, 44.5098039216%, 0.2); - --color-black: hsl(0deg, 0%, 22.3529411765%, 1); - --color-black-darker: hsl(0deg, 0%, 12.3529411765%, 1); - --color-black-lighter: hsl(0deg, 0%, 32.3529411765%, 1); - --color-black-text: var(--color-white); - --color-black-alert: hsl(0deg, 0%, 22.3529411765%, 0.2); - --color-dark: hsl(206.4705882353deg, 26.1538461538%, 25.4901960784%, 1); - --color-dark-darker: hsl(206.4705882353deg, 26.1538461538%, 15.4901960784%, 1); - --color-dark-lighter: hsl(206.4705882353deg, 26.1538461538%, 35.4901960784%, 1); - --color-dark-text: var(--color-white); - --color-dark-alert: hsl(206.4705882353deg, 26.1538461538%, 25.4901960784%, 0.2); - --color-night: hsl(252.9411764706deg, 27.5675675676%, 36.2745098039%, 1); - --color-night-darker: hsl(252.9411764706deg, 27.5675675676%, 26.2745098039%, 1); - --color-night-lighter: hsl(252.9411764706deg, 27.5675675676%, 46.2745098039%, 1); - --color-night-text: var(--color-white); - --color-night-alert: hsl(252.9411764706deg, 27.5675675676%, 36.2745098039%, 0.2); - --color-white: hsl(0deg, 0%, 100%, 1); - --color-white-darker: hsl(0deg, 0%, 90%, 1); - --color-white-lighter: hsl(0deg, 0%, 100%, 1); - --color-white-text: var(--color-black); - --color-white-alert: hsl(0deg, 0%, 100%, 0.2); - --color-light: hsl(0deg, 0%, 96.0784313725%, 1); - --color-light-darker: hsl(0deg, 0%, 86.0784313725%, 1); - --color-light-lighter: hsl(0deg, 0%, 100%, 1); - --color-light-text: var(--color-black); - --color-light-alert: hsl(0deg, 0%, 96.0784313725%, 0.2); - --color-light-grey: hsl(32.7272727273deg, 12.0879120879%, 82.1568627451%, 1); - --color-light-grey-darker: hsl(32.7272727273deg, 12.0879120879%, 72.1568627451%, 1); - --color-light-grey-lighter: hsl(32.7272727273deg, 12.0879120879%, 92.1568627451%, 1); - --color-light-grey-text: var(--color-black); - --color-light-grey-alert: hsl(32.7272727273deg, 12.0879120879%, 82.1568627451%, 0.2); - --color-dark-grey: hsl(0deg, 0%, 38.0392156863%, 1); - --color-dark-grey-darker: hsl(0deg, 0%, 28.0392156863%, 1); - --color-dark-grey-lighter: hsl(0deg, 0%, 48.0392156863%, 1); - --color-dark-grey-text: var(--color-white); - --color-dark-grey-alert: hsl(0deg, 0%, 38.0392156863%, 0.2); - --color-black-overlay: hsl(0deg, 0%, 22.3529411765%, 0.5); - --color-link: hsl(234.3956043956deg, 100%, 64.3137254902%, 1); - --color-muted: hsl(0deg, 0%, 73.0392156863%, 1); - --color-disabled: hsl(0deg, 0%, 96.862745098%, 1); +.align-baseline { + vertical-align: baseline } - -.has-text-primary { - --font-color: var(--color-primary) !important; - color: var(--font-color) !important; +.align-top { + vertical-align: top } -.has-text-secondary { - --font-color: var(--color-secondary) !important; - color: var(--font-color) !important; +.align-middle { + vertical-align: middle } -.has-text-warning { - --font-color: var(--color-warning) !important; - color: var(--font-color) !important; +.align-bottom { + vertical-align: bottom } -.has-text-info { - --font-color: var(--color-info) !important; - color: var(--font-color) !important; +.align-text-top { + vertical-align: text-top } -.has-text-danger { - --font-color: var(--color-danger) !important; - color: var(--font-color) !important; +.align-text-bottom { + vertical-align: text-bottom } -.has-text-success { - --font-color: var(--color-success) !important; - color: var(--font-color) !important; +.align-sub { + vertical-align: sub } -.has-text-black { - --font-color: var(--color-black) !important; - color: var(--font-color) !important; +.align-super { + vertical-align: super } -.has-text-dark { - --font-color: var(--color-dark) !important; - color: var(--font-color) !important; +.text-left { + text-align: left } -.has-text-night { - --font-color: var(--color-night) !important; - color: var(--font-color) !important; +.text-right { + text-align: right } -.has-text-white { - --font-color: var(--color-white) !important; - color: var(--font-color) !important; +.text-center { + text-align: center } -.has-text-light { - --font-color: var(--color-light) !important; - color: var(--font-color) !important; +.text-justify { + text-align: justify } -.has-text-light-grey { - --font-color: var(--color-light-grey) !important; - color: var(--font-color) !important; +.serif: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; +.sans: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; +.mono: font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +.font-base { + font-size: 1rem; + line-height: 1.6 } -.has-text-dark-grey { - --font-color: var(--color-dark-grey) !important; - color: var(--font-color) !important; +.font-xs { + font-size: 0.75rem; + line-height: 1.6 } -.has-text-muted { - --font-color: var(--color-muted) !important; - color: var(--font-color) !important; +.font-s { + font-size: 0.875rem; + line-height: 1.6 } -.has-text-disabled { - --font-color: var(--color-disabled) !important; - color: var(--font-color) !important; +.font-lg { + font-size: 1.25rem; + line-height: 1.6 } - -.has-bg-primary { - --background-color: var(--color-primary) !important; - background-color: var(--background-color) !important; +.font-xl { + font-size: 1.5rem; + line-height: 1.6 } -.has-bg-secondary { - --background-color: var(--color-secondary) !important; - background-color: var(--background-color) !important; +.font-2xl { + font-size: 1.875rem; + line-height: 1.6 } -.has-bg-warning { - --background-color: var(--color-warning) !important; - background-color: var(--background-color) !important; +.font-3xl { + font-size: 2rem; + line-height: 1.6 } -.has-bg-info { - --background-color: var(--color-info) !important; - background-color: var(--background-color) !important; +.font-4xl { + font-size: 2.25rem; + line-height: 1.6 } -.has-bg-danger { - --background-color: var(--color-danger) !important; - background-color: var(--background-color) !important; +.non-italic: normal; +.italic: italic; +.weight-thin { + font-weight: 100 } -.has-bg-success { - --background-color: var(--color-success) !important; - background-color: var(--background-color) !important; +.weight-extralight { + font-weight: 200 } -.has-bg-black { - --background-color: var(--color-black) !important; - background-color: var(--background-color) !important; +.weight-light { + font-weight: 300 } -.has-bg-dark { - --background-color: var(--color-dark) !important; - background-color: var(--background-color) !important; +.weight-normal { + font-weight: 400 } -.has-bg-night { - --background-color: var(--color-night) !important; - background-color: var(--background-color) !important; +.weight-medium { + font-weight: 500 } -.has-bg-white { - --background-color: var(--color-white) !important; - background-color: var(--background-color) !important; +.weight-semibold { + font-weight: 600 } -.has-bg-light { - --background-color: var(--color-light) !important; - background-color: var(--background-color) !important; +.weight-bold { + font-weight: 700 } -.has-bg-light-grey { - --background-color: var(--color-light-grey) !important; - background-color: var(--background-color) !important; +.weight-extrabold { + font-weight: 800 } -.has-bg-dark-grey { - --background-color: var(--color-dark-grey) !important; - background-color: var(--background-color) !important; +.weight-black { + font-weight: 900 } -.has-bg-disabled { - --background-color: var(--color-disabled) !important; - background-color: var(--background-color) !important; +.line-0 { + line-height: 1 } - -:root { - --theme-font-size: 1rem; - --theme-font-color: hsl(0deg, 0%, 22.3529411765%, 1); - --theme-background-color: hsl(0deg, 0%, 100%, 1); - --theme-body-font-family: Roboto, sans-serif; +.line-xs { + line-height: 1.2 } - -html { - font-size: 100%; +.line-sm { + line-height: 1.375 } -html.has-clip { - overflow: hidden; +.line-base { + line-height: 1.5 } - -body, html { - min-height: 100%; - position: relative; +.line-lg { + line-height: 1.625 } - -body { - --font-weight: 400; - --line-height: 1.6; - --font-color: var(--theme-font-color); - --background-color: var(--theme-background-color); - --font-family: var(--theme-body-font-family); - background-color: var(--background-color); - color: var(--font-family); - font-family: var(--font-family); - font-style: normal; - font-weight: var(--font-weight); - line-height: var(--line-height); - min-height: 100%; - padding: 0; +.line-xl { + line-height: 2 } - -body, html, h1, h2, h3, h4, h5, h6, ul, ol, p, dt, dd, div { - --font-size: var(--theme-font-size); - font-size: var(--font-size); - margin: 0; - padding: 0; +.overline: red; +.underline: underline; +.line-through: line-through; +.no-underline: none; +.decoration-style { + solid: solid; + double: double; + dotted: dotted; + dashed: dashed; + wavy: wavy } - -hr { - --background-color: var(--color-light-grey-lighter); - --height: 0.125rem; - --margin: 1.25rem 0; - background-color: var(--background-color); - border: none; - height: var(--height); - margin: var(--margin); +.text-black { + color: #000000 } - -p { - --margin: 0 0 0.625rem 0; - margin: var(--margin); +.text-white { + color: #ffffff } - -p, span, small, i, b, strong { - color: inherit; -} - -img { - display: block; - height: auto; - max-width: 100%; - position: relative; -} - -*, ::after, ::before { - box-sizing: border-box; -} - -@-webkit-keyframes spinner { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } -} - -@keyframes spinner { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } -} -.is-block { - display: block !important; -} -.is-flex { - display: flex !important; -} -.is-inline { - display: inline !important; -} -.is-inline-block { - display: inline-block !important; -} -.is-inline-flex { - display: inline-flex !important; -} -.is-hidden { - display: none !important; -} -.is-invisible { - visibility: hidden !important; -} - -.has-no-padding { - padding: 0 !important; -} -.has-no-padding-top { - padding-top: 0 !important; -} -.has-no-padding-bottom { - padding-bottom: 0 !important; -} -.has-no-padding-left { - padding-left: 0 !important; -} -.has-no-padding-right { - padding-right: 0 !important; -} -.has-no-margin { - margin: 0 !important; -} -.has-no-border { - border: none !important; -} -.has-no-shadow { - box-shadow: none !important; -} -.has-no-wrap { - white-space: nowrap; -} -.has-no-transition { - transition: none !important; -} - -.has-text-left { - text-align: left !important; -} -.has-text-right { - text-align: right !important; -} -.has-text-center { - text-align: center !important; -} - -.has-font-normal { - font-weight: normal !important; -} -.has-font-bold { - font-weight: bold !important; -} - -.is-margin-center { - margin: 0 auto !important; -} - -.is-float-left { - float: left; -} -.is-float-right { - float: right; -} - -.is-vertically-centered { - display: flex; - flex-direction: column; - justify-content: center; -} - -.has-start { - justify-content: flex-start !important; -} -.has-centered { - justify-content: center !important; -} -.has-end { - justify-content: flex-end !important; -} - -@media (min-width: 768px) { - .is-mobile-only { - display: none !important; - } -} -@media (max-width: 767px) { - .is-tablet-up, .is-tablet-only { - display: none !important; - } -} -@media (min-width: 922px) { - .is-tablet-down, .is-tablet-only { - display: none !important; - } -} -@media (min-width: 1200px) { - .is-desktop-down, .is-desktop-only { - display: none !important; - } -} -@media (max-width: calc(922px - 1px)) { - .is-desktop-up, .is-desktop-only { - display: none !important; - } -} -@media (max-width: calc(1199px)) { - .is-desktop-x-only { - display: none !important; - } -} -:root { - --theme-heading-font-family: Lato, sans-serif; -} - -h6, .is-very-small-heading, h5, .is-small-heading, h4, .is-heading, h3, .is-medium-heading, h2, .is-big-heading, h1, .is-very-big-heading { - --font-color: inherit; - --font-family: var(--theme-heading-font-family); - --font-weight: 600; - --line-height: 1.4; - color: var(--font-color); - display: block; - font-family: var(--font-family); - font-size: var(--font-size); - font-weight: var(--font-weight); - line-height: var(--line-height); - margin-bottom: 0.45rem; -} -h6.is-subheading, .is-subheading.is-very-small-heading, h5.is-subheading, .is-subheading.is-small-heading, h4.is-subheading, .is-subheading.is-heading, h3.is-subheading, .is-subheading.is-medium-heading, h2.is-subheading, .is-subheading.is-big-heading, h1.is-subheading, .is-subheading.is-very-big-heading { - --font-color: hsl(0deg, 0%, 51.3725490196%, 1); - --font-weight: 400; - --line-height: 1.4; -} -h6:not(.is-subheading) + .is-subheading, .is-very-small-heading:not(.is-subheading) + .is-subheading, h5:not(.is-subheading) + .is-subheading, .is-small-heading:not(.is-subheading) + .is-subheading, h4:not(.is-subheading) + .is-subheading, .is-heading:not(.is-subheading) + .is-subheading, h3:not(.is-subheading) + .is-subheading, .is-medium-heading:not(.is-subheading) + .is-subheading, h2:not(.is-subheading) + .is-subheading, .is-big-heading:not(.is-subheading) + .is-subheading, h1:not(.is-subheading) + .is-subheading, .is-very-big-heading:not(.is-subheading) + .is-subheading { - margin-top: -0.4rem; -} -h6 + .is-subheading:last-of-type, .is-very-small-heading + .is-subheading:last-of-type, h5 + .is-subheading:last-of-type, .is-small-heading + .is-subheading:last-of-type, h4 + .is-subheading:last-of-type, .is-heading + .is-subheading:last-of-type, h3 + .is-subheading:last-of-type, .is-medium-heading + .is-subheading:last-of-type, h2 + .is-subheading:last-of-type, .is-big-heading + .is-subheading:last-of-type, h1 + .is-subheading:last-of-type, .is-very-big-heading + .is-subheading:last-of-type { - margin-bottom: -0.4rem; -} - -h1, .is-very-big-heading { - --font-size: 2.875rem; -} - -h2, .is-big-heading { - --font-size: 2.5rem; -} - -h3, .is-medium-heading { - --font-size: 1.875rem; -} - -h4, .is-heading { - --font-size: 1.5rem; -} - -h5, .is-small-heading { - --font-size: 1.25rem; -} - -h6, .is-very-small-heading { - --font-size: 1rem; -} - -a { - color: var(--color-link); - cursor: pointer; - text-decoration: none; -} -a:hover { - text-decoration: underline; -} -.has-link-inherit a:not(.button) { - color: inherit; -} - -ol, ul { - --margin-left: 1.25rem; - --margin-top: 1rem; - margin-left: var(--margin-left); - margin-top: var(--margin-top); -} -ol ul, ol ol, ol dl, ul ul, ul ol, ul dl { - margin-top: 0; -} - -ul, ol { - list-style-position: outside; -} - -ul { - --style-type: disc; - list-style-type: var(--style-type); -} -ul.has-no-list-style { - list-style-type: none; - margin-left: 0; -} -ul.is-inline-list { - display: flex !important; - flex-flow: row wrap; - list-style-type: none; - margin: 0; -} -ul.is-inline-list > li:not(:last-child) { - margin-right: 0.5rem; -} - -dl dt { - font-weight: bold; - margin-bottom: 0.3rem; -} -dl dd ~ dt { - margin-top: 0.3rem; -} - -blockquote { - --border-color: hsl(0deg, 0%, 83.9215686275%, 1); - --border-width: 1px; - --font-color: var(--color-black); - --margin: 1rem 0 0; - --padding: 0.5rem 0 0.5rem 1.25rem; - border-left: var(--border-width) solid var(--border-color); - color: var(--font-color); - margin: var(--margin); - padding: var(--padding); -} -blockquote cite { - --font-color: var(--color-black); - --font-size: 0.8125rem; - color: var(--font-color); - display: block; - font-size: var(--font-size); -} -blockquote cite::before { - content: "- "; -} - -abbr { - --border-color: var(--color-black); - border-bottom: 1px dotted var(--border-color); - cursor: help; - text-decoration: none; -} - -.container { - --padding: 20px; - --max-width: 1200px; - max-width: var(--max-width); - margin: 0 auto; - width: 100%; -} -.container.is-full { - max-width: 100%; - padding: 0 var(--padding); -} - -.grid { - --col-padding: 0.625rem; - --col-margin-top: 0.5rem; - --col-margin-bottom: 0.5rem; - --col-width: 100%; - display: flex; - flex-flow: row wrap; -} -.grid .column { - --margin: var(--col-margin-top) 0 var(--col-margin-bottom) 0; - --padding: var(--col-padding); - --width: var(--col-width); -} -.grid.has-centered.is-vertical { - align-items: center; -} -.grid.has-spacing { - justify-content: space-between; -} -.grid.has-row-margin .column { - margin: var(--margin); -} -.grid.is-vertical { - flex-direction: column; -} -.grid.is-flex-start { - align-items: flex-start; -} -.grid .column { - flex: none; - padding: var(--padding); - width: var(--width); -} -.grid .column.is-mobile-auto { - flex: 1; -} -@media (min-width: 768px) { - .grid .column { - flex: 1; - } -} -@media (min-width: 922px) { - .grid .column.is-desktop-auto { - flex: 1 !important; - } -} -@media (min-width: 1200px) { - .grid .column.is-desktop-x-auto { - flex: 1 !important; - } -} -.grid .column.is-end { - margin-left: auto; -} -.grid .column.is-center { - margin: 0 auto; -} -.grid.has-no-col-padding > .column { - padding: 0; -} -@media (min-width: 768px) { - .grid .column.is-shrink { - flex: none; - width: auto; - } - .grid .column.is-one-quarter { - --width: 25%; - flex: none; - } - .grid .column.is-offset-one-quarter { - margin-left: 25%; - } - .grid .column.is-half { - --width: 50%; - flex: none; - } - .grid .column.is-offset-half { - margin-left: 50%; - } - .grid .column.is-three-quarters { - --width: 75%; - flex: none; - } - .grid .column.is-offset-three-quarters { - margin-left: 75%; - } - .grid .column.is-one-third { - --width: 33.333333%; - flex: none; - } - .grid .column.is-offset-one-third { - margin-left: 33.333333%; - } - .grid .column.is-two-thirds { - --width: 66.666666%; - flex: none; - } - .grid .column.is-offset-two-thirds { - margin-left: 66.666666%; - } - .grid .column.is-full { - --width: 100%; - flex: none; - } - .grid .column.is-one-fifth { - --width: 20%; - flex: none; - } - .grid .column.is-offset-one-fifth { - margin-left: 20%; - } - .grid .column.is-two-fifths { - --width: 40%; - flex: none; - } - .grid .column.is-offset-two-fifths { - margin-left: 40%; - } - .grid .column.is-three-fifths { - --width: 60%; - flex: none; - } - .grid .column.is-offset-three-fifths { - margin-left: 60%; - } - .grid .column.is-four-fifths { - --width: 80%; - flex: none; - } - .grid .column.is-offset-four-fifths { - margin-left: 80%; - } - .grid .column.is-1 { - --width: 8.3333333333%; - flex: none; - } - .grid .column.is-offset-1 { - margin-left: 8.3333333333%; - } - .grid .column.is-2 { - --width: 16.6666666667%; - flex: none; - } - .grid .column.is-offset-2 { - margin-left: 16.6666666667%; - } - .grid .column.is-3 { - --width: 25%; - flex: none; - } - .grid .column.is-offset-3 { - margin-left: 25%; - } - .grid .column.is-4 { - --width: 33.3333333333%; - flex: none; - } - .grid .column.is-offset-4 { - margin-left: 33.3333333333%; - } - .grid .column.is-5 { - --width: 41.6666666667%; - flex: none; - } - .grid .column.is-offset-5 { - margin-left: 41.6666666667%; - } - .grid .column.is-6 { - --width: 50%; - flex: none; - } - .grid .column.is-offset-6 { - margin-left: 50%; - } - .grid .column.is-7 { - --width: 58.3333333333%; - flex: none; - } - .grid .column.is-offset-7 { - margin-left: 58.3333333333%; - } - .grid .column.is-8 { - --width: 66.6666666667%; - flex: none; - } - .grid .column.is-offset-8 { - margin-left: 66.6666666667%; - } - .grid .column.is-9 { - --width: 75%; - flex: none; - } - .grid .column.is-offset-9 { - margin-left: 75%; - } - .grid .column.is-10 { - --width: 83.3333333333%; - flex: none; - } - .grid .column.is-offset-10 { - margin-left: 83.3333333333%; - } - .grid .column.is-11 { - --width: 91.6666666667%; - flex: none; - } - .grid .column.is-offset-11 { - margin-left: 91.6666666667%; - } - .grid .column.is-12 { - --width: 100%; - flex: none; - } -} -@media (max-width: 767px) { - .grid .column.is-mobile-shrink { - width: auto; - } - .grid .column.is-mobile-one-quarter { - --width: 25%; - flex: none; - } - .grid .column.is-offset-mobile-one-quarter { - margin-left: 25%; - } - .grid .column.is-mobile-half { - --width: 50%; - flex: none; - } - .grid .column.is-offset-mobile-half { - margin-left: 50%; - } - .grid .column.is-mobile-three-quarters { - --width: 75%; - flex: none; - } - .grid .column.is-offset-mobile-three-quarters { - margin-left: 75%; - } - .grid .column.is-mobile-one-third { - --width: 33.333333%; - flex: none; - } - .grid .column.is-offset-mobile-one-third { - margin-left: 33.333333%; - } - .grid .column.is-mobile-two-thirds { - --width: 66.666666%; - flex: none; - } - .grid .column.is-offset-mobile-two-thirds { - margin-left: 66.666666%; - } - .grid .column.is-mobile-full { - --width: 100%; - flex: none; - } - .grid .column.is-mobile-one-fifth { - --width: 20%; - flex: none; - } - .grid .column.is-offset-mobile-one-fifth { - margin-left: 20%; - } - .grid .column.is-mobile-two-fifths { - --width: 40%; - flex: none; - } - .grid .column.is-offset-mobile-two-fifths { - margin-left: 40%; - } - .grid .column.is-mobile-three-fifths { - --width: 60%; - flex: none; - } - .grid .column.is-offset-mobile-three-fifths { - margin-left: 60%; - } - .grid .column.is-mobile-four-fifths { - --width: 80%; - flex: none; - } - .grid .column.is-offset-mobile-four-fifths { - margin-left: 80%; - } - .grid .column.is-mobile-1 { - --width: 8.3333333333%; - flex: none; - } - .grid .column.is-offset-mobile-1 { - margin-left: 8.3333333333%; - } - .grid .column.is-mobile-2 { - --width: 16.6666666667%; - flex: none; - } - .grid .column.is-offset-mobile-2 { - margin-left: 16.6666666667%; - } - .grid .column.is-mobile-3 { - --width: 25%; - flex: none; - } - .grid .column.is-offset-mobile-3 { - margin-left: 25%; - } - .grid .column.is-mobile-4 { - --width: 33.3333333333%; - flex: none; - } - .grid .column.is-offset-mobile-4 { - margin-left: 33.3333333333%; - } - .grid .column.is-mobile-5 { - --width: 41.6666666667%; - flex: none; - } - .grid .column.is-offset-mobile-5 { - margin-left: 41.6666666667%; - } - .grid .column.is-mobile-6 { - --width: 50%; - flex: none; - } - .grid .column.is-offset-mobile-6 { - margin-left: 50%; - } - .grid .column.is-mobile-7 { - --width: 58.3333333333%; - flex: none; - } - .grid .column.is-offset-mobile-7 { - margin-left: 58.3333333333%; - } - .grid .column.is-mobile-8 { - --width: 66.6666666667%; - flex: none; - } - .grid .column.is-offset-mobile-8 { - margin-left: 66.6666666667%; - } - .grid .column.is-mobile-9 { - --width: 75%; - flex: none; - } - .grid .column.is-offset-mobile-9 { - margin-left: 75%; - } - .grid .column.is-mobile-10 { - --width: 83.3333333333%; - flex: none; - } - .grid .column.is-offset-mobile-10 { - margin-left: 83.3333333333%; - } - .grid .column.is-mobile-11 { - --width: 91.6666666667%; - flex: none; - } - .grid .column.is-offset-mobile-11 { - margin-left: 91.6666666667%; - } - .grid .column.is-mobile-12 { - --width: 100%; - flex: none; - } -} -@media (min-width: 922px) { - .grid .column.is-desktop-shrink { - flex: none; - width: auto; - } - .grid .column.is-desktop-one-quarter { - --width: 25%; - flex: none; - } - .grid .column.is-offset-desktop-one-quarter { - margin-left: 25%; - } - .grid .column.is-desktop-half { - --width: 50%; - flex: none; - } - .grid .column.is-offset-desktop-half { - margin-left: 50%; - } - .grid .column.is-desktop-three-quarters { - --width: 75%; - flex: none; - } - .grid .column.is-offset-desktop-three-quarters { - margin-left: 75%; - } - .grid .column.is-desktop-one-third { - --width: 33.333333%; - flex: none; - } - .grid .column.is-offset-desktop-one-third { - margin-left: 33.333333%; - } - .grid .column.is-desktop-two-thirds { - --width: 66.666666%; - flex: none; - } - .grid .column.is-offset-desktop-two-thirds { - margin-left: 66.666666%; - } - .grid .column.is-desktop-full { - --width: 100%; - flex: none; - } - .grid .column.is-desktop-one-fifth { - --width: 20%; - flex: none; - } - .grid .column.is-offset-desktop-one-fifth { - margin-left: 20%; - } - .grid .column.is-desktop-two-fifths { - --width: 40%; - flex: none; - } - .grid .column.is-offset-desktop-two-fifths { - margin-left: 40%; - } - .grid .column.is-desktop-three-fifths { - --width: 60%; - flex: none; - } - .grid .column.is-offset-desktop-three-fifths { - margin-left: 60%; - } - .grid .column.is-desktop-four-fifths { - --width: 80%; - flex: none; - } - .grid .column.is-offset-desktop-four-fifths { - margin-left: 80%; - } - .grid .column.is-desktop-1 { - --width: 8.3333333333%; - flex: none; - } - .grid .column.is-offset-desktop-1 { - margin-left: 8.3333333333%; - } - .grid .column.is-desktop-2 { - --width: 16.6666666667%; - flex: none; - } - .grid .column.is-offset-desktop-2 { - margin-left: 16.6666666667%; - } - .grid .column.is-desktop-3 { - --width: 25%; - flex: none; - } - .grid .column.is-offset-desktop-3 { - margin-left: 25%; - } - .grid .column.is-desktop-4 { - --width: 33.3333333333%; - flex: none; - } - .grid .column.is-offset-desktop-4 { - margin-left: 33.3333333333%; - } - .grid .column.is-desktop-5 { - --width: 41.6666666667%; - flex: none; - } - .grid .column.is-offset-desktop-5 { - margin-left: 41.6666666667%; - } - .grid .column.is-desktop-6 { - --width: 50%; - flex: none; - } - .grid .column.is-offset-desktop-6 { - margin-left: 50%; - } - .grid .column.is-desktop-7 { - --width: 58.3333333333%; - flex: none; - } - .grid .column.is-offset-desktop-7 { - margin-left: 58.3333333333%; - } - .grid .column.is-desktop-8 { - --width: 66.6666666667%; - flex: none; - } - .grid .column.is-offset-desktop-8 { - margin-left: 66.6666666667%; - } - .grid .column.is-desktop-9 { - --width: 75%; - flex: none; - } - .grid .column.is-offset-desktop-9 { - margin-left: 75%; - } - .grid .column.is-desktop-10 { - --width: 83.3333333333%; - flex: none; - } - .grid .column.is-offset-desktop-10 { - margin-left: 83.3333333333%; - } - .grid .column.is-desktop-11 { - --width: 91.6666666667%; - flex: none; - } - .grid .column.is-offset-desktop-11 { - margin-left: 91.6666666667%; - } - .grid .column.is-desktop-12 { - --width: 100%; - flex: none; - } -} -@media (min-width: 1200px) { - .grid .column.is-desktop-x-shrink { - flex: none; - width: auto; - } - .grid .column.is-desktop-x-one-quarter { - --width: 25%; - flex: none; - } - .grid .column.is-offset-desktop-x-one-quarter { - margin-left: 25%; - } - .grid .column.is-desktop-x-half { - --width: 50%; - flex: none; - } - .grid .column.is-offset-desktop-x-half { - margin-left: 50%; - } - .grid .column.is-desktop-x-three-quarters { - --width: 75%; - flex: none; - } - .grid .column.is-offset-desktop-x-three-quarters { - margin-left: 75%; - } - .grid .column.is-desktop-x-one-third { - --width: 33.333333%; - flex: none; - } - .grid .column.is-offset-desktop-x-one-third { - margin-left: 33.333333%; - } - .grid .column.is-desktop-x-two-thirds { - --width: 66.666666%; - flex: none; - } - .grid .column.is-offset-desktop-x-two-thirds { - margin-left: 66.666666%; - } - .grid .column.is-desktop-x-full { - --width: 100%; - flex: none; - } - .grid .column.is-desktop-x-one-fifth { - --width: 20%; - flex: none; - } - .grid .column.is-offset-desktop-x-one-fifth { - margin-left: 20%; - } - .grid .column.is-desktop-x-two-fifths { - --width: 40%; - flex: none; - } - .grid .column.is-offset-desktop-x-two-fifths { - margin-left: 40%; - } - .grid .column.is-desktop-x-three-fifths { - --width: 60%; - flex: none; - } - .grid .column.is-offset-desktop-x-three-fifths { - margin-left: 60%; - } - .grid .column.is-desktop-x-four-fifths { - --width: 80%; - flex: none; - } - .grid .column.is-offset-desktop-x-four-fifths { - margin-left: 80%; - } - .grid .column.is-desktop-x-1 { - --width: 8.3333333333%; - flex: none; - } - .grid .column.is-offset-desktop-x-1 { - margin-left: 8.3333333333%; - } - .grid .column.is-desktop-x-2 { - --width: 16.6666666667%; - flex: none; - } - .grid .column.is-offset-desktop-x-2 { - margin-left: 16.6666666667%; - } - .grid .column.is-desktop-x-3 { - --width: 25%; - flex: none; - } - .grid .column.is-offset-desktop-x-3 { - margin-left: 25%; - } - .grid .column.is-desktop-x-4 { - --width: 33.3333333333%; - flex: none; - } - .grid .column.is-offset-desktop-x-4 { - margin-left: 33.3333333333%; - } - .grid .column.is-desktop-x-5 { - --width: 41.6666666667%; - flex: none; - } - .grid .column.is-offset-desktop-x-5 { - margin-left: 41.6666666667%; - } - .grid .column.is-desktop-x-6 { - --width: 50%; - flex: none; - } - .grid .column.is-offset-desktop-x-6 { - margin-left: 50%; - } - .grid .column.is-desktop-x-7 { - --width: 58.3333333333%; - flex: none; - } - .grid .column.is-offset-desktop-x-7 { - margin-left: 58.3333333333%; - } - .grid .column.is-desktop-x-8 { - --width: 66.6666666667%; - flex: none; - } - .grid .column.is-offset-desktop-x-8 { - margin-left: 66.6666666667%; - } - .grid .column.is-desktop-x-9 { - --width: 75%; - flex: none; - } - .grid .column.is-offset-desktop-x-9 { - margin-left: 75%; - } - .grid .column.is-desktop-x-10 { - --width: 83.3333333333%; - flex: none; - } - .grid .column.is-offset-desktop-x-10 { - margin-left: 83.3333333333%; - } - .grid .column.is-desktop-x-11 { - --width: 91.6666666667%; - flex: none; - } - .grid .column.is-offset-desktop-x-11 { - margin-left: 91.6666666667%; - } - .grid .column.is-desktop-x-12 { - --width: 100%; - flex: none; - } -} - -.hero { - --padding: 4rem 1.5rem; - --background-color: var(--color-white); - --font-color: var(--color-black); - display: flex; - flex-direction: column; -} -.hero__content, .hero__footer, .hero__header { - background-color: var(--background-color); - color: var(--font-color); -} -.hero__content { - flex: auto; - padding: var(--padding); -} -.hero__footer, .hero__header { - flex: none; -} -.hero.is-medium > .hero__content { - padding: 9rem 1.5rem; -} -.hero.is-large > .hero__content { - padding: 16rem 1.5rem; -} -.hero.is-full { - min-height: 100vh; -} -.hero.is-full > .hero__content { - align-items: center; - display: flex; -} - -.section { - --padding: 6rem 1rem; - --padding-small: 3rem 1rem; - --padding-large: 12rem 1rem; - padding: var(--padding); -} -.section.is-small { - --padding: var(--padding-small); -} -.section.is-large { - --padding: var(--padding-large); -} - -form, input, textarea, select { - margin: 0; - padding: 0; -} - -input[type=text], input[type=color], input[type=date], input[type=datetime-local], input[type=email], input[type=password], input[type=month], input[type=number], input[type=search], input[type=tel], input[type=time], input[type=week], input[type=url], textarea, select { - --border-width: 1px; - --border-radius: 0; - --box-shadow: inset 0 1px 2px hsl(0deg, 0%, 3.9215686275%, 0.1); - --font-size: 1rem; - --line-height: 1.5; - --padding: 0.5rem; - --background-color: var(--color-white); - --border-color: hsl(0deg, 0%, 85.8823529412%, 1); - --font-color: var(--color-black); - --padding: 0.5rem; - --width: 100%; - --focus-border-color: var(--color-info); - --focus-box-shadow: 0 0 0 0.125em hsl(217.0588235294deg, 70.8333333333%, 52.9411764706%, 0.25); - --disabled-background-color: var(--color-disabled); - --disabled-box-shadow: none; - --disabled-font-color: var(--color-muted); - --disabled-border-color: var(--color-disabled); - --error-border-color: var(--color-danger); - --error-background-color: var(--color-danger-alert); - --error-font-color: var(--color-black); - background-color: var(--background-color); - border-color: var(--border-color); - border-style: solid; - border-width: var(--border-width); - border-radius: var(--border-radius); - box-shadow: var(--box-shadow); - color: var(--font-color); - font-size: var(--font-size); - font-family: inherit; - line-height: var(--line-height); - padding: var(--padding, 0); - outline: none; - width: var(--width); -} -input[type=text]:focus, input[type=color]:focus, input[type=date]:focus, input[type=datetime-local]:focus, input[type=email]:focus, input[type=password]:focus, input[type=month]:focus, input[type=number]:focus, input[type=search]:focus, input[type=tel]:focus, input[type=time]:focus, input[type=week]:focus, input[type=url]:focus, textarea:focus, select:focus { - --border-color: var(--focus-border-color); -} -input[type=text]:not([readonly]):focus, input[type=color]:not([readonly]):focus, input[type=date]:not([readonly]):focus, input[type=datetime-local]:not([readonly]):focus, input[type=email]:not([readonly]):focus, input[type=password]:not([readonly]):focus, input[type=month]:not([readonly]):focus, input[type=number]:not([readonly]):focus, input[type=search]:not([readonly]):focus, input[type=tel]:not([readonly]):focus, input[type=time]:not([readonly]):focus, input[type=week]:not([readonly]):focus, input[type=url]:not([readonly]):focus, textarea:not([readonly]):focus, select:not([readonly]):focus { - --box-shadow: var(--focus-box-shadow); -} -input[type=text][disabled], input[type=color][disabled], input[type=date][disabled], input[type=datetime-local][disabled], input[type=email][disabled], input[type=password][disabled], input[type=month][disabled], input[type=number][disabled], input[type=search][disabled], input[type=tel][disabled], input[type=time][disabled], input[type=week][disabled], input[type=url][disabled], textarea[disabled], select[disabled] { - --background-color: var(--disabled-background-color); - --box-shadow: var(--disabled-box-shadow); - --font-color: var(--disabled-font-color); -} -:not(.is-input-group) > input[type=text][disabled], :not(.is-input-group) > input[type=color][disabled], :not(.is-input-group) > input[type=date][disabled], :not(.is-input-group) > input[type=datetime-local][disabled], :not(.is-input-group) > input[type=email][disabled], :not(.is-input-group) > input[type=password][disabled], :not(.is-input-group) > input[type=month][disabled], :not(.is-input-group) > input[type=number][disabled], :not(.is-input-group) > input[type=search][disabled], :not(.is-input-group) > input[type=tel][disabled], :not(.is-input-group) > input[type=time][disabled], :not(.is-input-group) > input[type=week][disabled], :not(.is-input-group) > input[type=url][disabled], :not(.is-input-group) > textarea[disabled], :not(.is-input-group) > select[disabled] { - --border-color: var(--disabled-border-color); -} -input[type=text].has-error, input[type=color].has-error, input[type=date].has-error, input[type=datetime-local].has-error, input[type=email].has-error, input[type=password].has-error, input[type=month].has-error, input[type=number].has-error, input[type=search].has-error, input[type=tel].has-error, input[type=time].has-error, input[type=week].has-error, input[type=url].has-error, textarea.has-error, select.has-error { - --border-color: var(--error-border-color); - --background-color: var(--error-background-color); - --font-color: var(--error-font-color); -} - -input[type=date]::-webkit-datetime-edit-fields-wrapper, input[type=datetime-local]::-webkit-datetime-edit-fields-wrapper { - padding: 0; -} - -textarea { - resize: none; -} -textarea.has-resize { - resize: both; -} -textarea.has-resize-vertical { - resize: vertical; -} -textarea.has-resize-horizontal { - resize: horizontal; -} - -.is-select { - --arrow-color: hsl(232.3404255319deg, 100%, 72.3529411765%, 1); - --arrow-width: 0.625em; - --loading-spinner-speed: 0.8s; - --loading-icon-width: 2px; - --loading-icon-color: var(--color-light-grey); - position: relative; - width: 100%; -} -.is-select select { - --pading: 0.5rem; - padding-right: 2rem; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; -} -.is-select:not(.is-loading)::after { - border-color: var(--arrow-color); - border-width: 3px; - border-style: solid; - border-radius: 2px; - border-right: 0; - border-top: 0; - content: " "; - display: block; - height: var(--arrow-width); - margin-top: -0.4em; - pointer-events: none; - position: absolute; - right: 0.9375em; - top: 50%; - transform: rotate(-45deg); - transform-origin: center; - width: var(--arrow-width); -} -.is-select.is-loading { - position: relative; -} -.is-select.is-loading::after { - -webkit-animation: spinner var(--loading-spinner-speed) linear infinite; - animation: spinner var(--loading-spinner-speed) linear infinite; - border: var(--loading-icon-width) solid var(--loading-icon-color); - border-left-color: transparent; - border-bottom-color: transparent; - border-radius: 50%; - content: " "; - display: block; - height: 1.25em; - position: absolute; - top: calc(50% - 0.625em); - right: 0.9375em; - width: 1.25em; - position: absolute !important; -} - -.is-multiple-select { - width: 100%; -} -.is-multiple-select select { - padding: 0; -} -.is-multiple-select option { - padding: 0.5rem 1rem; -} - -label { - --font-size: 1rem; - --font-weight: 600; - --line-height: 1.6; - --font-color: inherit; - color: var(--font-color); - display: inline-block; - font-size: var(--font-size); - font-weight: var(--font-weight); - line-height: var(--line-height); -} - -label:not(:last-child) { - margin-bottom: 0.4rem; -} - -.is-inline-label { - align-items: center; - display: flex; - justify-content: flex-start; -} - -.is-checkbox, .is-radio { - align-items: center; - display: flex; - flex-flow: row wrap; -} -.is-checkbox label, .is-radio label { - font-weight: 400; - margin-bottom: 0; -} -.is-checkbox > span, .is-radio > span { - align-items: center; - display: flex; - flex-flow: row nowrap; -} -.is-checkbox > span:not(:last-of-type), .is-radio > span:not(:last-of-type) { - margin-right: 12px; -} - -.is-checkbox input[type=checkbox] + label, .is-radio input[type=radio] + label { - margin-left: 4px; -} -.is-checkbox input[type=checkbox] + label:not(:last-of-type), .is-radio input[type=radio] + label:not(:last-of-type) { - margin-right: 12px; -} - -.is-input-group { - --background-color: var(--color-disabled); - --border-color: hsl(0deg, 0%, 85.8823529412%, 1); - --border-width: 1px; - --font-color: var(--color-black); - --font-size: 1rem; - --focus-color: var(--color-info); - align-items: center; - display: flex; - width: 100%; -} -.is-input-group > label, .is-input-group > span { - border-color: var(--border-color); - border-style: solid; - border-width: var(--border-width); - color: var(--font-color); - font-size: var(--font-size); - font-family: inherit; - font-weight: 400; - line-height: 1.5; - outline: none; - background-color: var(--background-color); - padding: 0.5rem 1rem; -} -.is-input-group > .button { - line-height: 1.5; - white-space: nowrap; -} -.is-input-group input, .is-input-group select { - box-shadow: none; -} -.is-input-group input:focus, .is-input-group select:focus { - box-shadow: none !important; -} -.is-input-group > label, .is-input-group > span, .is-input-group input, .is-input-group > .button { - margin: 0; -} -.is-input-group > label:not(:last-child), .is-input-group > span:not(:last-child), .is-input-group input:not(:last-child), .is-input-group > .button:not(:last-child) { - border-right: none; -} -.is-input-group > label:focus + *, .is-input-group > span:focus + *, .is-input-group input:focus + *, .is-input-group > .button:focus + * { - border-left-color: var(--focus-color); -} -.is-input-group .is-select:not(:last-child) select { - border-right-color: transparent; -} -.is-input-group .is-select:not(:last-child):focus-within + * { - border-left-color: var(--focus-color); -} - -.is-file-input input[type=file] { - display: none; -} -.is-file-input label { - font-weight: normal; -} - -.is-slider { - --thumb-color: var(--color-primary); - --thumb-radius: 20px; - --thumb-height: 1.5rem; - --thumb-width: 1.5rem; - --track-height: 8.4px; - --track-background-color: hsl(0deg, 0%, 85.8823529412%, 1); - width: 100%; -} -.is-slider input[type=range] { - background: transparent; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - width: 100%; -} -.is-slider input[type=range]::-webkit-slider-thumb { - height: var(--thumb-height); - width: var(--thumb-width); - border-radius: var(--thumb-radius); - background-color: var(--thumb-color); - cursor: pointer; - margin-top: -8px; - -webkit-appearance: none; -} -.is-slider input[type=range]::-moz-range-thumb { - height: var(--thumb-height); - width: var(--thumb-width); - border-radius: var(--thumb-radius); - background-color: var(--thumb-color); - cursor: pointer; - margin-top: -8px; - border-color: transparent; - -moz-appearance: none; -} -.is-slider input[type=range]::-ms-thumb { - height: var(--thumb-height); - width: var(--thumb-width); - border-radius: var(--thumb-radius); - background-color: var(--thumb-color); - cursor: pointer; - margin-top: -8px; - -ms-appearance: none; -} -.is-slider input[type=range]::-webkit-slider-runnable-track { - width: 100%; - height: var(--track-height); - cursor: pointer; - background-color: var(--track-background-color); -} -.is-slider input[type=range]::-moz-range-track { - width: 100%; - height: var(--track-height); - cursor: pointer; - background-color: var(--track-background-color); -} -.is-slider input[type=range]::-ms-track { - width: 100%; - height: var(--track-height); - cursor: pointer; - background-color: var(--track-background-color); -} -.is-slider input[type=range]:focus { - outline: none; -} - -.is-switch { - --track-rounded-radius: 20px; - --toggle-rounded-radius: 15px; - --track-radius: 0; - --toggle-radius: 0; - --track-background-color: hsl(0deg, 0%, 85.8823529412%, 1); - --active-track-background-color: var(--color-primary); - --toggle-background-color: var(--color-white); - --track-height: 2rem; - --track-width: 4rem; - --toggle-height: 1.5rem; - --toggle-width: 1.5rem; - line-height: 0.8; -} -.is-switch.is-rounded label { - --track-radius: var(--track-rounded-radius); -} -.is-switch.is-rounded label::after { - --toggle-radius: var(--toggle-rounded-radius); -} -.is-switch input { - margin: 0; - opacity: 0; - position: absolute; -} -.is-switch input:checked ~ label { - --track-background-color: var(--active-track-background-color); -} -.is-switch input:checked ~ label::after { - left: 2.25rem; -} -.is-switch label { - background-color: var(--track-background-color); - border-radius: var(--track-radius); - cursor: pointer; - display: inline-block; - height: var(--track-height); - position: relative; - transition: all 0.25s ease-out; - width: var(--track-width); -} -.is-switch label::after { - content: ""; - background-color: var(--toggle-background-color); - border-radius: var(--toggle-radius); - display: block; - left: 0.25rem; - height: var(--toggle-height); - position: absolute; - top: 0.25rem; - transition: all 0.25s ease-out; - width: var(--toggle-width); -} - -.breadcrumb { - --font-color: var(--color-link); - --separator-color: var(--color-black); - --separator-padding: 0 0.625rem; - --hover-font-color: var(--color-black); - --disabled-font-color: var(--color-muted); - --active-font-color: var(--color-black); - display: flex; - flex-flow: column wrap; -} -.breadcrumb ul { - display: flex; - flex-flow: row wrap; - list-style: none; - margin: 0; -} -.breadcrumb ul li { - color: var(--font-color); -} -.breadcrumb ul li a { - color: inherit; -} -.breadcrumb ul li:hover { - --font-color: var(--hover-font-color); -} -.breadcrumb ul li.is-disabled { - --font-color: var(--disabled-font-color); -} -.breadcrumb ul li.is-active { - --font-color: var(--active-font-color); -} -.breadcrumb ul li + li::before { - color: var(--separator-color); - content: "/"; - padding: var(--separator-padding); -} - -.menu__title { - --font-color: hsl(0deg, 0%, 63.0392156863%, 1); - --font-size: 0.85rem; - --line-height: 1.5; - --padding: 0.5rem 1rem; - --case: uppercase; - color: var(--font-color); - font-size: var(--font-size); - line-height: var(--line-height); - padding: var(--padding); - margin: 0; - text-transform: var(--case); -} -.menu__list { - --background-color: transparent; - --font-color: var(--color-black); - --active-background-color: var(--color-primary); - --active-font-color: var(--color-primary-text); - --hover-background-color: hsl(0deg, 0%, 75.2941176471%, 0.09); - --hover-font-color: var(--color-black); - --item-padding: 0.5rem 1.5rem; - --line-height: 1.5; - list-style: none; - margin: 0; -} -.menu__list > li.is-active:not(.is-expandable) > a, .menu__list li.is-expandable.is-active > :first-child, .menu__list li:not(.is-expandable) li.is-active > a { - --background-color: var(--active-background-color); - --font-color: var(--active-font-color); -} -.menu__list li > a { - background-color: var(--background-color); - color: var(--font-color); - line-height: var(--line-height); -} -.menu__list li > a:hover { - text-decoration: none; -} -.menu__list li.is-expandable { - --expandable-item-padding: 0 0.75rem; - --border-color: hsl(210deg, 15.7894736842%, 92.5490196078%, 1); - --border-width: 1px; - --padding-left: 0.75rem; - --margin: 0.75rem; -} -.menu__list li.is-expandable > :first-child { - display: block; - padding: var(--item-padding); -} -.menu__list li.is-expandable:not(.is-active) > :first-child:hover { - --background-color: var(--hover-background-color); - --font-color: var(--hover-font-color); -} -.menu__list li.is-expandable.is-active > ul { - display: block; -} -.menu__list li.is-expandable > ul { - border-left: var(--border-width) solid var(--border-color); - list-style: none; - display: none; - margin: var(--margin); - padding-left: var(--padding-left); -} -.menu__list li.is-expandable > ul li { - padding: var(--expandable-item-padding); -} -.menu__list li.is-expandable > ul li.is-active a { - --background-color: var(--hover-background-color); - --font-color: var(--hover-font-color); -} -.menu__list li:not(.is-expandable) ul { - list-style: none; -} -.menu__list li:not(.is-expandable) { - cursor: pointer; -} -.menu__list li:not(.is-expandable):not(.is-active) > a:hover { - --background-color: var(--hover-background-color); - --font-color: var(--hover-font-color); -} -.menu__list li:not(.is-expandable) a { - display: block; - padding: var(--item-padding); -} -.menu__divider { - --border-width: 1px; - --border-color: hsl(210deg, 15.7894736842%, 92.5490196078%, 1); - --margin: 0.5rem; - border-top: var(--border-width) solid var(--border-color); - margin: var(--margin); -} - -.pagination { - --background-color: transparent; - --font-color: var(--color-black); - --border-color: transparent; - --border-width: 1px; - --border-radius: 0; - --font-size: 0.875rem; - --line-height: 1.5; - --margin: 0.125rem; - --padding: 0.375rem 0.75rem; - --disabled-opacity: 0.5; - --hover-background-color: var(--color-light); - --hover-font-color: var(--color-black); - --hover-border-color: transparent; - --active-background-color: var(--color-primary); - --active-font-color: var(--color-primary-text); - --active-border-color: transparent; - display: flex; - flex-direction: column; - font-size: var(--font-size); -} -@media (min-width: 768px) { - .pagination { - align-items: flex-end; - flex-direction: row; - } -} -.pagination ul { - display: flex; - font-size: inherit; - margin: 0; -} -.pagination .is-center { - margin: 0 auto; -} -.pagination .is-end { - margin-left: auto; -} -.pagination li { - background-color: var(--background-color); - border-color: var(--border-color); - border-style: solid; - border-width: var(--border-width); - border-radius: var(--border-radius); - cursor: pointer; - color: var(--font-color); - display: inline-block; - line-height: var(--line-height); - justify-content: center; - margin: var(--margin); - text-align: center; -} -.pagination li a { - color: inherit; - display: block; - padding: var(--padding); -} -.pagination li a:hover { - text-decoration: none; -} -.pagination li.is-active { - --background-color: var(--active-background-color); - --font-color: var(--active-font-color); - --border-color: var(--active-border-color); -} -.pagination li.is-disabled, .pagination li.is-disabled > a { - cursor: not-allowed; - opacity: var(--disabled-opacity); -} -.pagination li:hover:not(.is-active):not(.is-disabled) { - --background-color: var(--hover-background-color); - --font-color: var(--hover-font-color); - --border-color: var(--hover-border-color); -} -.pagination.has-border { - --background-color: var(--color-white); - --font-color: var(--color-black); - --border-color: var(--color-light-grey); - --border-radius: 4px; - --hover-background-color: var(--color-white); - --hover-font-color: var(--color-black); - --hover-border-color: var(--color-light-grey-darker); - --active-background-color: var(--color-primary); - --active-font-color: var(--color-primary-text); - --active-border-color: var(--color-primary); -} -.pagination.has-round { - --margin: 0.25rem; - --border-radius: 50px; -} - -.top { - --padding: 1rem 0.75rem; - --box-shadow: none; - align-items: center; - box-shadow: var(--box-shadow); - display: flex; - flex-flow: row nowrap; - padding: var(--padding); - position: relative; - z-index: 40; -} -.top__brand, .top__links, .top__buttons, .top__social, .top__burger { - --padding: 0; - padding: var(--padding); -} -.top > .container { - align-items: center; - display: flex; - flex-direction: row; -} -.top__brand { - --padding: 0 0.65rem; - --font-color: inherit; - --max-width: 200px; - align-items: center; - color: var(--font-color); - display: flex; -} -.top__brand h1, .top__brand h2, .top__brand h3, .top__brand h4, .top__brand h5, .top__brand h6 { - margin-bottom: 0; -} -.top__brand img { - max-width: var(--max-width); -} -.top.is-static { - position: fixed; - top: 0; - width: 100%; -} -.top .is-end { - margin-left: auto; -} -.top__buttons { - --padding: 0 0.65rem; -} -.top__buttons .button, .top__buttons .is-button-group .button { - margin-bottom: 0; -} -.top__links { - --background-color: transparent; - --font-color: inherit; - --border-radius: 6px; - --link-padding: 0.3125rem 0.9375rem; - --text-align: start; - --hover-background-color: hsl(0deg, 0%, 66.2745098039%, 0.15); - --hover-font-color: inherit; - --active-background-color: transparent; - --active-font-color: inherit; - text-align: var(--text-align); -} -.top__links ul:not(.dropdown) > li { - background-color: var(--background-color); - border-radius: var(--border-radius); - color: var(--font-color); - cursor: pointer; - position: relative; - white-space: nowrap; -} -.top__links ul:not(.dropdown) > li a { - color: inherit; - display: block; - padding: var(--link-padding); -} -.top__links ul:not(.dropdown) > li.has-dropdown a { - padding-right: 0; -} -.top__links ul:not(.dropdown) > li.is-active { - --background-color: var(--active-background-color); - --font-color: var(--active-font-color); -} -.top__links ul:not(.dropdown) > li:hover { - --background-color: var(--hover-background-color); - --font-color: var(--hover-font-color); - text-decoration: none; -} -.top__links ul:not(.dropdown) > li:hover a { - text-decoration: inherit; -} -.top__links > ul { - display: inline-flex; - flex-flow: row wrap; - list-style: none; - margin: 0; -} -.top__social { - --padding: 0 0.65rem; - --font-color: inherit; - --item-margin: 0 6px; - --hover-font-color: inherit; -} -.top__social > ul { - display: inline-flex; - flex-flow: row wrap; - list-style: none; - margin: 0; -} -.top__social li { - color: var(--font-color); - margin: var(--item-margin); - position: relative; -} -.top__social li:hover { - --font-color: var(--hover-font-color); -} -.top__social li:first-of-type { - margin-left: 0; -} -.top__social li:last-of-type { - margin-right: 0; -} -.top__social a { - color: inherit; -} -.top__burger { - --font-color: inherit; - --padding: 0 0.65rem; - --width: 20px; - --bar-height: 2px; - --bar-gap: 4px; - --transition-speed: 0.75s; - display: flex; -} -.top__burger span { - display: flex; - flex-flow: column; - position: relative; - width: var(--width); -} -.top__burger span:before, .top__burger span:after { - border-color: var(--font-color); - border-style: solid; - content: ""; - cursor: pointer; - width: 100%; -} -.top__burger span:before { - border-width: var(--bar-height) 0 var(--bar-height); - padding-bottom: var(--bar-gap); -} -.top__burger span:after { - border-width: 0 0 var(--bar-height); - padding-top: var(--bar-gap); -} -.top__burger.has-animate span:before, .top__burger.has-animate span:after { - transition: var(--transition-speed); -} -.top__burger.is-active span:before, .top__burger.is-active span:after { - padding: 0; - position: absolute; -} -.top__burger.is-active span:before { - border-width: var(--bar-height) 0 0; - transform: rotate(405deg); -} -.top__burger.is-active span:after { - transform: rotate(-405deg); -} -@media (max-width: 767px) { - .top.is-mobile-responsive { - flex-flow: row wrap; - } - .top.is-mobile-responsive .container { - flex-flow: row wrap; - } - .top.is-mobile-responsive .top__brand + .top__links, .top.is-mobile-responsive .top__brand + .top__social, .top.is-mobile-responsive .top__brand .top__buttons { - padding-top: 1rem; - } - .top.is-mobile-responsive:not(.is-open) .top__links, .top.is-mobile-responsive:not(.is-open) .top__social, .top.is-mobile-responsive:not(.is-open) .top__buttons { - display: none; - } - .top.is-mobile-responsive .top__links, .top.is-mobile-responsive .top__social, .top.is-mobile-responsive .top__buttons { - order: 2; - width: 100%; - } - .top.is-mobile-responsive .top__links:first-of-type, .top.is-mobile-responsive .top__social:first-of-type, .top.is-mobile-responsive .top__buttons:first-of-type { - padding-top: 1rem; - } - .top.is-mobile-responsive .top__links ul:not(.dropdown), .top.is-mobile-responsive .top__social ul:not(.dropdown), .top.is-mobile-responsive .top__buttons ul:not(.dropdown) { - display: flex; - width: 100%; - } - .top.is-mobile-responsive .top__links ul { - flex-direction: column; - padding: 0.5rem 0; - } - .top.is-mobile-responsive .top__links .has-dropdown { - display: flex; - flex-direction: column; - } - .top.is-mobile-responsive .top__links .has-dropdown.is-hoverable:hover, .top.is-mobile-responsive .top__links .has-dropdown.is-active { - background-color: transparent; - } - .top.is-mobile-responsive .top__links .has-dropdown.is-hoverable:hover.has-arrow::after, .top.is-mobile-responsive .top__links .has-dropdown.is-active.has-arrow::after { - top: 17px; - } - .top.is-mobile-responsive .top__links .has-dropdown.is-hoverable:hover > .dropdown, .top.is-mobile-responsive .top__links .has-dropdown.is-active > .dropdown { - background-color: transparent; - border: none; - border-radius: 0; - box-shadow: none; - position: relative; - } - .top.is-mobile-responsive .top__links .has-dropdown .dropdown__link:hover { - background-color: var(--hover-background-color); - } - .top.is-mobile-responsive .top__social { - --padding: 0; - } - .top.is-mobile-responsive .top__social ul { - flex-direction: row; - padding: 0.5rem 0.9375rem; - } - .top.is-mobile-responsive .top__buttons { - --padding: 0.5rem 0.9375rem; - } - .top.is-mobile-responsive .top__burger { - --padding: 1rem 0.75rem; - } -} -@media (min-width: 768px) { - .top.is-mobile-responsive .top__burger { - display: none; - } -} -@media (max-width: calc(922px - 1px)) { - .top.is-tablet-responsive { - flex-flow: row wrap; - } - .top.is-tablet-responsive .container { - flex-flow: row wrap; - } - .top.is-tablet-responsive .top__brand + .top__links, .top.is-tablet-responsive .top__brand + .top__social, .top.is-tablet-responsive .top__brand .top__buttons { - padding-top: 1rem; - } - .top.is-tablet-responsive:not(.is-open) .top__links, .top.is-tablet-responsive:not(.is-open) .top__social, .top.is-tablet-responsive:not(.is-open) .top__buttons { - display: none; - } - .top.is-tablet-responsive .top__links, .top.is-tablet-responsive .top__social, .top.is-tablet-responsive .top__buttons { - order: 2; - width: 100%; - } - .top.is-tablet-responsive .top__links:first-of-type, .top.is-tablet-responsive .top__social:first-of-type, .top.is-tablet-responsive .top__buttons:first-of-type { - padding-top: 1rem; - } - .top.is-tablet-responsive .top__links ul:not(.dropdown), .top.is-tablet-responsive .top__social ul:not(.dropdown), .top.is-tablet-responsive .top__buttons ul:not(.dropdown) { - display: flex; - width: 100%; - } - .top.is-tablet-responsive .top__links ul { - flex-direction: column; - padding: 0.5rem 0; - } - .top.is-tablet-responsive .top__links .has-dropdown { - display: flex; - flex-direction: column; - } - .top.is-tablet-responsive .top__links .has-dropdown.is-hoverable:hover, .top.is-tablet-responsive .top__links .has-dropdown.is-active { - background-color: transparent; - } - .top.is-tablet-responsive .top__links .has-dropdown.is-hoverable:hover.has-arrow::after, .top.is-tablet-responsive .top__links .has-dropdown.is-active.has-arrow::after { - top: 17px; - } - .top.is-tablet-responsive .top__links .has-dropdown.is-hoverable:hover > .dropdown, .top.is-tablet-responsive .top__links .has-dropdown.is-active > .dropdown { - background-color: transparent; - border: none; - border-radius: 0; - box-shadow: none; - position: relative; - } - .top.is-tablet-responsive .top__links .has-dropdown .dropdown__link:hover { - background-color: var(--hover-background-color); - } - .top.is-tablet-responsive .top__social { - --padding: 0; - } - .top.is-tablet-responsive .top__social ul { - flex-direction: row; - padding: 0.5rem 0.9375rem; - } - .top.is-tablet-responsive .top__buttons { - --padding: 0.5rem 0.9375rem; - } - .top.is-tablet-responsive .top__burger { - --padding: 1rem 0.75rem; - } -} -@media (min-width: 922px) { - .top.is-tablet-responsive .top__burger { - display: none; - } -} - -.accordion { - --border-color: hsl(0deg, 0%, 90.1960784314%, 1); - --border-width: 1px; - border: var(--border-color) solid var(--border-width); - display: block; - width: 100%; -} -.accordion__list { - display: flex; - flex-direction: column; - list-style: none; - margin: 0; -} -.accordion__item { - --background-color: var(--color-white); - background-color: var(--background-color); -} -.accordion__item:not(:last-of-type) .accordion__title, .accordion__item:not(:last-of-type) .accordion__content { - border-bottom: var(--border-width) solid var(--border-color); -} -.accordion__item:last-of-type .accordion__content { - border-top: var(--border-width) solid var(--border-color); -} -.accordion__title { - --background-color: transparent; - --font-color: var(--color-black); - --padding: 0.75rem 1rem; - --active-background-color: var(--color-primary); - --active-font-color: var(--color-primary-text); - --hover-background-color: var(--color-light); - --hover-font-color: var(--color-light-text); - background-color: var(--background-color); - color: var(--font-color); - cursor: pointer; - display: block; - padding: var(--padding); - position: relative; -} -.accordion__title a { - color: inherit; -} -.accordion__title:hover, .accordion__title a { - text-decoration: none; -} -:not(.is-active) > .accordion__title:hover { - --background-color: var(--hover-background-color); - --font-color: var(--hover-font-color); -} -.is-active > .accordion__title { - --background-color: var(--active-background-color); - --font-color: var(--active-font-color); -} -.accordion__content { - --background-color: var(--color-white); - --font-color: var(--color-black); - --padding: 1rem; - background-color: var(--background-color); - border-top: none; - color: var(--font-color); - display: none; - padding: var(--padding); -} -.is-active > .accordion__content { - display: block; -} - -.alert { - --border-color: hsl(0deg, 0%, 3.9215686275%, 0.25); - --border-style: solid; - --border-width: 1px; - --padding: 1rem; - --background-color: var(--color-white); - --font-color: var(--color-black); - border-width: var(--border-width); - border-style: var(--border-style); - border-radius: var(--alert-border-radius); - display: flex; - flex-flow: column nowrap; - padding: var(--padding); - position: relative; - background-color: var(--background-color); - border-color: var(--border-color); - color: var(--font-color); -} -.alert .button--close { - position: absolute; - right: 0.5rem; - top: 0.5rem; -} -.alert.is-primary { - --background-color: var(--color-primary-alert); -} -.alert.is-primary.is-outline { - --background-color: var(--color-white); - --border-color: var(--color-primary); - --font-color: var(--color-primary); -} -.alert.is-secondary { - --background-color: var(--color-secondary-alert); -} -.alert.is-secondary.is-outline { - --background-color: var(--color-white); - --border-color: var(--color-secondary); - --font-color: var(--color-secondary); -} -.alert.is-warning { - --background-color: var(--color-warning-alert); -} -.alert.is-warning.is-outline { - --background-color: var(--color-white); - --border-color: var(--color-warning); - --font-color: var(--color-warning); -} -.alert.is-info { - --background-color: var(--color-info-alert); -} -.alert.is-info.is-outline { - --background-color: var(--color-white); - --border-color: var(--color-info); - --font-color: var(--color-info); -} -.alert.is-danger { - --background-color: var(--color-danger-alert); -} -.alert.is-danger.is-outline { - --background-color: var(--color-white); - --border-color: var(--color-danger); - --font-color: var(--color-danger); -} -.alert.is-success { - --background-color: var(--color-success-alert); -} -.alert.is-success.is-outline { - --background-color: var(--color-white); - --border-color: var(--color-success); - --font-color: var(--color-success); -} -.alert.is-black { - --background-color: var(--color-black-alert); -} -.alert.is-black.is-outline { - --background-color: var(--color-white); - --border-color: var(--color-black); - --font-color: var(--color-black); -} -.alert.is-dark { - --background-color: var(--color-dark-alert); -} -.alert.is-dark.is-outline { - --background-color: var(--color-white); - --border-color: var(--color-dark); - --font-color: var(--color-dark); -} -.alert.is-night { - --background-color: var(--color-night-alert); -} -.alert.is-night.is-outline { - --background-color: var(--color-white); - --border-color: var(--color-night); - --font-color: var(--color-night); -} -.alert.is-white { - --background-color: var(--color-white-alert); -} -.alert.is-white.is-outline { - --background-color: var(--color-white); - --border-color: var(--color-white); - --font-color: var(--color-white); -} -.alert.is-light { - --background-color: var(--color-light-alert); -} -.alert.is-light.is-outline { - --background-color: var(--color-white); - --border-color: var(--color-light); - --font-color: var(--color-light); -} -.alert.is-light-grey { - --background-color: var(--color-light-grey-alert); -} -.alert.is-light-grey.is-outline { - --background-color: var(--color-white); - --border-color: var(--color-light-grey); - --font-color: var(--color-light-grey); -} -.alert.is-dark-grey { - --background-color: var(--color-dark-grey-alert); -} -.alert.is-dark-grey.is-outline { - --background-color: var(--color-white); - --border-color: var(--color-dark-grey); - --font-color: var(--color-dark-grey); -} - -.button { - --border-width: 1px; - --border-color: var(--color-light-grey); - --font-size: 1rem; - --line-height: 1.6; - --margin-bottom: 0.4rem; - --padding: 0.5rem 0.75rem; - --transition: border-color 0.2s ease, background-color 0.3s ease; - --background-color: var(--color-white); - --font-color: var(--color-black); - --button-radius: 0; - --hover-background-color: var(--color-white); - --hover-font-color: var(--color-black); - --hover-border-color: var(--color-light-grey-darker); - --loading-speed: 0.8s; - --loading-width: 2px; - --loading-color: var(--color-light-grey); - align-items: center; - border-width: var(--border-width); - border-style: solid; - border-radius: var(--button-radius); - cursor: pointer; - display: inline-flex; - font-family: inherit; - font-size: var(--font-size); - justify-content: center; - line-height: var(--line-height); - margin-bottom: var(--margin-bottom); - padding: var(--padding); - text-align: center; - transition: var(--transition); - background-color: var(--background-color); - border-color: var(--border-color); - color: var(--font-color); -} -.button:hover, .button a { - text-decoration: none; -} -.button:hover, .button:focus, .button:active, .button.is-active { - --background-color: var(--hover-background-color); - --border-color: var(--hover-border-color); - --font-color: var(--hover-font-color); -} -.button.is-rounded { - --button-radius: 6px; -} -.button.is-small { - --font-size: 0.75rem; -} -.button.is-large { - --font-size: 1.375rem; -} -.button.is-full { - width: 100%; -} -.button.is-primary:not(.is-outline) { - --background-color: var(--color-primary); - --border-color: transparent; - --font-color: var(--color-primary-text); -} -.button.is-primary:not(.is-outline):hover:not([disabled]), .button.is-primary:not(.is-outline).is-active { - --background-color: var(--color-primary-darker); -} -.button.is-primary:not(.is-outline).is-loading::after { - border-right-color: var(--color-primary-text); - border-top-color: var(--color-primary-text); -} -.button.is-primary.is-outline { - --background-color: transparent; - --border-color: var(--color-primary); - --font-color: var(--color-primary); -} -.button.is-primary.is-outline:hover:not([disabled]), .button.is-primary.is-outline.is-active { - --background-color: var(--color-primary); - --border-color: transparent; - --font-color: var(--color-primary-text); -} -.button.is-primary.is-outline.is-loading::after { - border-right-color: var(--color-primary); - border-top-color: var(--color-primary); -} -.button.is-secondary:not(.is-outline) { - --background-color: var(--color-secondary); - --border-color: transparent; - --font-color: var(--color-secondary-text); -} -.button.is-secondary:not(.is-outline):hover:not([disabled]), .button.is-secondary:not(.is-outline).is-active { - --background-color: var(--color-secondary-darker); -} -.button.is-secondary:not(.is-outline).is-loading::after { - border-right-color: var(--color-secondary-text); - border-top-color: var(--color-secondary-text); -} -.button.is-secondary.is-outline { - --background-color: transparent; - --border-color: var(--color-secondary); - --font-color: var(--color-secondary); -} -.button.is-secondary.is-outline:hover:not([disabled]), .button.is-secondary.is-outline.is-active { - --background-color: var(--color-secondary); - --border-color: transparent; - --font-color: var(--color-secondary-text); -} -.button.is-secondary.is-outline.is-loading::after { - border-right-color: var(--color-secondary); - border-top-color: var(--color-secondary); -} -.button.is-warning:not(.is-outline) { - --background-color: var(--color-warning); - --border-color: transparent; - --font-color: var(--color-warning-text); -} -.button.is-warning:not(.is-outline):hover:not([disabled]), .button.is-warning:not(.is-outline).is-active { - --background-color: var(--color-warning-darker); -} -.button.is-warning:not(.is-outline).is-loading::after { - border-right-color: var(--color-warning-text); - border-top-color: var(--color-warning-text); -} -.button.is-warning.is-outline { - --background-color: transparent; - --border-color: var(--color-warning); - --font-color: var(--color-warning); -} -.button.is-warning.is-outline:hover:not([disabled]), .button.is-warning.is-outline.is-active { - --background-color: var(--color-warning); - --border-color: transparent; - --font-color: var(--color-warning-text); -} -.button.is-warning.is-outline.is-loading::after { - border-right-color: var(--color-warning); - border-top-color: var(--color-warning); -} -.button.is-info:not(.is-outline) { - --background-color: var(--color-info); - --border-color: transparent; - --font-color: var(--color-info-text); -} -.button.is-info:not(.is-outline):hover:not([disabled]), .button.is-info:not(.is-outline).is-active { - --background-color: var(--color-info-darker); -} -.button.is-info:not(.is-outline).is-loading::after { - border-right-color: var(--color-info-text); - border-top-color: var(--color-info-text); -} -.button.is-info.is-outline { - --background-color: transparent; - --border-color: var(--color-info); - --font-color: var(--color-info); -} -.button.is-info.is-outline:hover:not([disabled]), .button.is-info.is-outline.is-active { - --background-color: var(--color-info); - --border-color: transparent; - --font-color: var(--color-info-text); -} -.button.is-info.is-outline.is-loading::after { - border-right-color: var(--color-info); - border-top-color: var(--color-info); -} -.button.is-danger:not(.is-outline) { - --background-color: var(--color-danger); - --border-color: transparent; - --font-color: var(--color-danger-text); -} -.button.is-danger:not(.is-outline):hover:not([disabled]), .button.is-danger:not(.is-outline).is-active { - --background-color: var(--color-danger-darker); -} -.button.is-danger:not(.is-outline).is-loading::after { - border-right-color: var(--color-danger-text); - border-top-color: var(--color-danger-text); -} -.button.is-danger.is-outline { - --background-color: transparent; - --border-color: var(--color-danger); - --font-color: var(--color-danger); -} -.button.is-danger.is-outline:hover:not([disabled]), .button.is-danger.is-outline.is-active { - --background-color: var(--color-danger); - --border-color: transparent; - --font-color: var(--color-danger-text); -} -.button.is-danger.is-outline.is-loading::after { - border-right-color: var(--color-danger); - border-top-color: var(--color-danger); -} -.button.is-success:not(.is-outline) { - --background-color: var(--color-success); - --border-color: transparent; - --font-color: var(--color-success-text); -} -.button.is-success:not(.is-outline):hover:not([disabled]), .button.is-success:not(.is-outline).is-active { - --background-color: var(--color-success-darker); -} -.button.is-success:not(.is-outline).is-loading::after { - border-right-color: var(--color-success-text); - border-top-color: var(--color-success-text); -} -.button.is-success.is-outline { - --background-color: transparent; - --border-color: var(--color-success); - --font-color: var(--color-success); -} -.button.is-success.is-outline:hover:not([disabled]), .button.is-success.is-outline.is-active { - --background-color: var(--color-success); - --border-color: transparent; - --font-color: var(--color-success-text); -} -.button.is-success.is-outline.is-loading::after { - border-right-color: var(--color-success); - border-top-color: var(--color-success); -} -.button.is-black:not(.is-outline) { - --background-color: var(--color-black); - --border-color: transparent; - --font-color: var(--color-black-text); -} -.button.is-black:not(.is-outline):hover:not([disabled]), .button.is-black:not(.is-outline).is-active { - --background-color: var(--color-black-darker); -} -.button.is-black:not(.is-outline).is-loading::after { - border-right-color: var(--color-black-text); - border-top-color: var(--color-black-text); -} -.button.is-black.is-outline { - --background-color: transparent; - --border-color: var(--color-black); - --font-color: var(--color-black); -} -.button.is-black.is-outline:hover:not([disabled]), .button.is-black.is-outline.is-active { - --background-color: var(--color-black); - --border-color: transparent; - --font-color: var(--color-black-text); -} -.button.is-black.is-outline.is-loading::after { - border-right-color: var(--color-black); - border-top-color: var(--color-black); -} -.button.is-dark:not(.is-outline) { - --background-color: var(--color-dark); - --border-color: transparent; - --font-color: var(--color-dark-text); -} -.button.is-dark:not(.is-outline):hover:not([disabled]), .button.is-dark:not(.is-outline).is-active { - --background-color: var(--color-dark-darker); -} -.button.is-dark:not(.is-outline).is-loading::after { - border-right-color: var(--color-dark-text); - border-top-color: var(--color-dark-text); -} -.button.is-dark.is-outline { - --background-color: transparent; - --border-color: var(--color-dark); - --font-color: var(--color-dark); -} -.button.is-dark.is-outline:hover:not([disabled]), .button.is-dark.is-outline.is-active { - --background-color: var(--color-dark); - --border-color: transparent; - --font-color: var(--color-dark-text); -} -.button.is-dark.is-outline.is-loading::after { - border-right-color: var(--color-dark); - border-top-color: var(--color-dark); -} -.button.is-night:not(.is-outline) { - --background-color: var(--color-night); - --border-color: transparent; - --font-color: var(--color-night-text); -} -.button.is-night:not(.is-outline):hover:not([disabled]), .button.is-night:not(.is-outline).is-active { - --background-color: var(--color-night-darker); -} -.button.is-night:not(.is-outline).is-loading::after { - border-right-color: var(--color-night-text); - border-top-color: var(--color-night-text); -} -.button.is-night.is-outline { - --background-color: transparent; - --border-color: var(--color-night); - --font-color: var(--color-night); -} -.button.is-night.is-outline:hover:not([disabled]), .button.is-night.is-outline.is-active { - --background-color: var(--color-night); - --border-color: transparent; - --font-color: var(--color-night-text); -} -.button.is-night.is-outline.is-loading::after { - border-right-color: var(--color-night); - border-top-color: var(--color-night); -} -.button.is-white:not(.is-outline) { - --background-color: var(--color-white); - --border-color: transparent; - --font-color: var(--color-white-text); -} -.button.is-white:not(.is-outline):hover:not([disabled]), .button.is-white:not(.is-outline).is-active { - --background-color: var(--color-white-darker); -} -.button.is-white:not(.is-outline).is-loading::after { - border-right-color: var(--color-white-text); - border-top-color: var(--color-white-text); -} -.button.is-white.is-outline { - --background-color: transparent; - --border-color: var(--color-white); - --font-color: var(--color-white); -} -.button.is-white.is-outline:hover:not([disabled]), .button.is-white.is-outline.is-active { - --background-color: var(--color-white); - --border-color: transparent; - --font-color: var(--color-white-text); -} -.button.is-white.is-outline.is-loading::after { - border-right-color: var(--color-white); - border-top-color: var(--color-white); -} -.button.is-light:not(.is-outline) { - --background-color: var(--color-light); - --border-color: transparent; - --font-color: var(--color-light-text); -} -.button.is-light:not(.is-outline):hover:not([disabled]), .button.is-light:not(.is-outline).is-active { - --background-color: var(--color-light-darker); -} -.button.is-light:not(.is-outline).is-loading::after { - border-right-color: var(--color-light-text); - border-top-color: var(--color-light-text); -} -.button.is-light.is-outline { - --background-color: transparent; - --border-color: var(--color-light); - --font-color: var(--color-light); -} -.button.is-light.is-outline:hover:not([disabled]), .button.is-light.is-outline.is-active { - --background-color: var(--color-light); - --border-color: transparent; - --font-color: var(--color-light-text); -} -.button.is-light.is-outline.is-loading::after { - border-right-color: var(--color-light); - border-top-color: var(--color-light); -} -.button.is-light-grey:not(.is-outline) { - --background-color: var(--color-light-grey); - --border-color: transparent; - --font-color: var(--color-light-grey-text); -} -.button.is-light-grey:not(.is-outline):hover:not([disabled]), .button.is-light-grey:not(.is-outline).is-active { - --background-color: var(--color-light-grey-darker); -} -.button.is-light-grey:not(.is-outline).is-loading::after { - border-right-color: var(--color-light-grey-text); - border-top-color: var(--color-light-grey-text); -} -.button.is-light-grey.is-outline { - --background-color: transparent; - --border-color: var(--color-light-grey); - --font-color: var(--color-light-grey); -} -.button.is-light-grey.is-outline:hover:not([disabled]), .button.is-light-grey.is-outline.is-active { - --background-color: var(--color-light-grey); - --border-color: transparent; - --font-color: var(--color-light-grey-text); -} -.button.is-light-grey.is-outline.is-loading::after { - border-right-color: var(--color-light-grey); - border-top-color: var(--color-light-grey); -} -.button.is-dark-grey:not(.is-outline) { - --background-color: var(--color-dark-grey); - --border-color: transparent; - --font-color: var(--color-dark-grey-text); -} -.button.is-dark-grey:not(.is-outline):hover:not([disabled]), .button.is-dark-grey:not(.is-outline).is-active { - --background-color: var(--color-dark-grey-darker); -} -.button.is-dark-grey:not(.is-outline).is-loading::after { - border-right-color: var(--color-dark-grey-text); - border-top-color: var(--color-dark-grey-text); -} -.button.is-dark-grey.is-outline { - --background-color: transparent; - --border-color: var(--color-dark-grey); - --font-color: var(--color-dark-grey); -} -.button.is-dark-grey.is-outline:hover:not([disabled]), .button.is-dark-grey.is-outline.is-active { - --background-color: var(--color-dark-grey); - --border-color: transparent; - --font-color: var(--color-dark-grey-text); -} -.button.is-dark-grey.is-outline.is-loading::after { - border-right-color: var(--color-dark-grey); - border-top-color: var(--color-dark-grey); -} -.button.is-loading { - color: transparent !important; - pointer-events: none; - position: relative; -} -.button.is-loading::after { - -webkit-animation: spinner var(--loading-speed) linear infinite; - animation: spinner var(--loading-speed) linear infinite; - border: var(--loading-width) solid var(--loading-color); - border-left-color: transparent; - border-bottom-color: transparent; - border-radius: 50%; - content: " "; - display: block; - height: 1.25em; - left: calc(50% - 0.625em); - position: absolute; - top: calc(50% - 0.625em); - width: 1.25em; - position: absolute !important; -} -.button[disabled] { - cursor: not-allowed; - opacity: 0.5; -} -.button .icon:first-child:not(:only-child) { - margin-right: 0.45rem; -} -.button .icon:last-child:not(:only-child) { - margin-left: 0.45rem; -} -:not(.is-button-group):not(.is-addon-group) > .button { - align-self: flex-start; -} - -.is-addon-group, .is-button-group { - align-items: center; - display: flex; - flex-wrap: wrap; - width: 100%; -} - -.is-button-group { - --gap: 0.4rem; -} -.is-button-group > .button:not(.is-full):not(:last-child) { - margin-right: var(--gap); -} -.is-button-group > .is-addon-group:not(:last-child) { - margin-right: var(--gap); -} -.is-button-group > .is-addon-group { - width: auto; -} - -.is-addon-group { - --addon-radius: 6px; -} -.is-addon-group > .button { - margin-right: 0; -} -.is-addon-group > .button:not(:first-of-type) { - border-left-width: calc(var(--border-width) / 2); -} -.is-addon-group > .button:not(:last-of-type) { - border-right-width: calc(var(--border-width) / 2); -} -.is-addon-group.is-rounded .button:last-child { - border-top-right-radius: var(--addon-radius); - border-bottom-right-radius: var(--addon-radius); -} -.is-addon-group.is-rounded .button:first-child { - border-bottom-left-radius: var(--addon-radius); - border-top-left-radius: var(--addon-radius); -} - -.button--close { - --background-color: hsl(0deg, 0%, 22.3529411765%, 0.23); - --icon-color: inherit; - --height: 1.5rem; - --width: 1.5rem; - --icon-width: 1px; - --hover-background-color: hsl(0deg, 0%, 22.3529411765%, 0.41); - align-items: center; - background-color: var(--background-color); - border: none; - border-radius: 50%; - color: var(--icon-color); - cursor: pointer; - display: inline-block; - height: var(--height); - position: relative; - text-align: center; - width: var(--width); -} -.button--close.has-no-background { - --background-color: transparent; -} -.button--close:not(.has-no-background):hover { - --background-color: var(--hover-background-color); -} -.button--close::before, .button--close::after { - border-color: inherit; - border-style: solid; - border-width: var(--icon-width); - content: " "; - left: 50%; - position: absolute; - transform: translateX(-50%) translateY(-50%) rotate(45deg); - transform-origin: center center; - top: 50%; -} -.button--close::after { - width: 50%; -} -.button--close::before { - height: 50%; -} - -.card { - --border-color: hsl(0deg, 0%, 85.8823529412%, 0.36); - --border-width: 1px; - --border-radius: 0; - --box-shadow: 0 0 3px 0 hsl(0deg, 0%, 3.9215686275%, 0.1); - border: var(--border-color) solid var(--border-width); - box-shadow: var(--box-shadow); - display: flex; - flex-flow: column nowrap; - height: 100%; -} -.card .card__header, .card .card__image, .card .card__content, .card .card__footer { - --padding: 0; - padding: var(--padding); -} -.card .card__image { - display: block; - position: relative; -} -.card .card__image img { - width: 100%; -} -.card .card__header { - --background-color: hsl(0deg, 0%, 0%, 0.03); - --font-color: var(--color-black); - --padding: 0.625rem 1rem; - align-items: center; - background-color: var(--card-header-background-color); - border-top-left-radius: var(--border-radius); - border-top-right-radius: var(--border-radius); - color: var(--font-color); - display: flex; -} -.card .card__header .button--close { - margin-left: auto; -} -.card .card__header h1, .card .card__header h2, .card .card__header h3, .card .card__header h4, .card .card__header h5, .card .card__header h6, .card .card__header .is-very-big-title, .card .card__header .is-big-title, .card .card__header .is-medium-title, .card .card__header .is-regular-title, .card .card__header .is-small-title, .card .card__header .is-very-small-title { - margin-bottom: 0; -} -.card .card__content { - --padding: 1rem; - flex: auto; - position: relative; -} -.card.is-shrink { - height: auto; -} -.card.is-shrink .card__content { - flex: initial; -} -.card .card__footer { - --padding: 0.35rem 1rem; - align-items: center; - border-bottom-left-radius: var(--border-radius); - border-bottom-right-radius: var(--border-radius); - display: flex; -} -.card .card__footer > .is-end { - margin-left: auto; -} -.card .card__footer > .is-center { - margin: auto; -} -.card .card__footer button:not(:last-child) { - margin-right: 0.4rem; -} - -.dropdown { - --background-color: var(--color-white); - --font-color: var(--color-black); - --border-color: hsl(0deg, 0%, 80.3921568627%, 0.34); - --border-width: 1px; - --border-radius: 0; - --box-shadow: 0 6px 6px hsl(0deg, 0%, 3.9215686275%, 0.16); - --min-width: 12rem; - --padding: 10px 0; - background-color: var(--background-color); - border: var(--border-width) solid var(--border-color); - border-radius: var(--border-radius); - box-shadow: var(--box-shadow); - color: var(--font-color); - cursor: auto; - left: 0; - list-style: none; - margin: 0; - min-width: var(--min-width); - opacity: 0; - padding: var(--padding); - position: absolute; - top: 100%; - text-align: left; - transform: translateY(-5px); - transition-duration: 300ms; - transition-property: opacity, transform; - visibility: hidden; - z-index: 10; -} -.dropdown__link { - --font-color: inherit; - --padding: 5px 15px; - --hover-font-color: inherit; - --hover-background-color: hsl(0deg, 0%, 75.2941176471%, 0.09); - border-radius: 0; - color: var(--font-color); - cursor: pointer; - padding: var(--padding); -} -.dropdown__link:hover { - color: var(--hover-font-color); - background-color: var(--hover-background-color); -} -.dropdown__divider { - --color: hsl(210deg, 15.7894736842%, 92.5490196078%, 1); - --margin: 5px 0; - border-top: 1px solid var(--color); - margin: var(--margin); -} -.dropdown__item { - --font-color: inherit; - --padding: 5px 15px; - color: var(--font-color); - padding: var(--padding); -} - -.has-dropdown { - display: inline-flex; - position: relative; -} -.has-dropdown a { - color: inherit; - display: block; - text-decoration: none; - width: 100%; -} -.has-dropdown.is-hoverable:hover > .dropdown, .has-dropdown.is-active > .dropdown { - display: block; - opacity: 1; - transform: translateY(0); - visibility: visible; -} -.has-dropdown.is-right .dropdown { - right: 0; - left: unset; -} -.has-dropdown .has-arrow, .has-dropdown.has-arrow { - --arrow-color: hsl(232.3404255319deg, 100%, 72.3529411765%, 1); - padding-right: 2.1875em !important; - position: relative; -} -.has-dropdown .has-arrow::after, .has-dropdown.has-arrow::after { - border: 3px solid var(--arrow-color); - border-radius: 2px; - border-right: 0; - border-top: 0; - content: " "; - display: block; - height: 0.625em; - margin-top: -0.4em; - position: absolute; - right: 0.9375em; - top: 50%; - transform: rotate(315deg); - transform-origin: center; - width: 0.625em; -} - -.image { - --border-radius: 0; - --border-color: transparent; - --border-width: 0; - border: var(--border-width) solid var(--border-color); - border-radius: var(--border-radius); - display: flex; - flex-direction: column; -} -.image.is-thumbnail { - --border-width: 1px; - --border-color: var(--color-light-grey); - --border-radius: 6px; - --padding: 0.25rem; -} -.image.is-thumbnail img { - padding: var(--padding); -} -.image.is-rounded { - --border-radius: 50%; -} -.image.is-rounded img { - border-radius: inherit; -} -.image.is-tile, .image.is-rounded-tile { - --box-shadow: 0 5px 10px 0px hsl(0deg, 0%, 0%, 0.2); - box-shadow: var(--box-shadow); -} -.image.is-rounded-tile { - --border-radius: 6px; -} -.image.is-rounded-tile img { - border-radius: inherit; -} -.image.is-tiny-square { - --height: 48px; - --width: 48px; - height: var(--height); - width: var(--width); -} -.image.is-tiny-square img { - height: 100%; -} -.image.is-small-square { - --height: 96px; - --width: 96px; - height: var(--height); - width: var(--width); -} -.image.is-small-square img { - height: 100%; -} -.image.is-square { - --height: 128px; - --width: 128px; - height: var(--height); - width: var(--width); -} -.image.is-square img { - height: 100%; -} -.image.is-medium-square { - --height: 160px; - --width: 160px; - height: var(--height); - width: var(--width); -} -.image.is-medium-square img { - height: 100%; -} -.image.is-large-square { - --height: 208px; - --width: 208px; - height: var(--height); - width: var(--width); -} -.image.is-large-square img { - height: 100%; -} - -.media__content .media, .media + .media { - border-top: var(--border-width) solid var(--border-color); - margin-top: var(--margin-top); - padding-top: var(--padding-top); -} - -.media { - --border-width: 1px; - --border-color: hsl(210deg, 15.7894736842%, 92.5490196078%, 1); - --padding-top: 1rem; - --margin-top: 1rem; - align-items: flex-start; - display: flex; -} -.media__content { - flex: auto; -} -.media__left { - margin-right: 1rem; -} -.media__right { - margin-left: 1rem; -} - -.modal { - --background-color: var(--color-white); - --font-color: var(--color-black); - --border-radius: 0; - --width: 600px; - --padding: 1rem; - --overlay-background-color: var(--color-black-overlay); - display: none; - align-items: center; - flex-direction: column; - justify-content: center; - overflow: hidden; - position: fixed; - z-index: 100; - bottom: 0; - left: 0; - right: 0; - top: 0; - width: 100%; -} -.modal.is-active { - display: flex; -} -.modal__background { - background-color: var(--overlay-background-color); - bottom: 0; - left: 0; - position: absolute; - right: 0; - top: 0; -} -.modal__content { - background-color: var(--background-color); - border-radius: 0; - color: var(--font-color); - padding: var(--padding); - position: relative; - overflow: inherit; - width: 100%; -} -@media (min-width: 768px) { - .modal__content { - border-radius: var(--border-radius); - width: var(--width); - } - .modal.is-small > .modal__content { - width: 25%; - } - .modal.is-medium > .modal__content { - width: 45%; - } - .modal.is-large > .modal__content { - width: 75%; - } -} -.modal.is-full > .modal__content { - border-radius: 0; - flex: auto; - width: 100%; -} -.modal__close { - position: absolute; - right: 10px; - top: 10px; -} - -.panel { - --border-radius: 4px; - --box-shadow: 0 0 10px 0 hsl(0deg, 0%, 3.9215686275%, 0.21); - --padding: 1rem; - border-radius: var(--border-radius); - box-shadow: var(--box-shadow); - display: block; - padding: var(--padding); - width: 100%; -} - -.progress { - --bar-height: 1rem; - --margin-bottom: 0.4rem; - --bar-color: var(--color-light-grey); - --value-color: var(--color-dark); - border: none; - display: flex; - height: var(--bar-height); - margin-bottom: var(--margin-bottom); - -webkit-appearance: none; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - width: 100%; -} -.progress.is-round { - border-radius: 50px; -} -.progress.is-round::-webkit-progress-bar { - border-radius: 50px; -} -.progress.is-round::-webkit-progress-value { - border-radius: 50px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.progress.is-round::-moz-progress-bar { - border-radius: 50px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.progress::-webkit-progress-bar { - background-color: var(--bar-color); -} -.progress::-moz-progress-bar { - background-color: var(--value-color); - border: none; -} -.progress::-webkit-progress-value { - background-color: var(--value-color); - border: none; -} -.progress::-ms-fill { - background-color: var(--value-color); - border: none; -} -.progress.is-primary::-ms-fill { - --value-color: var(--color-primary); -} -.progress.is-primary::-moz-progress-bar { - --value-color: var(--color-primary); -} -.progress.is-primary::-webkit-progress-value { - --value-color: var(--color-primary); -} -.progress.is-secondary::-ms-fill { - --value-color: var(--color-secondary); -} -.progress.is-secondary::-moz-progress-bar { - --value-color: var(--color-secondary); -} -.progress.is-secondary::-webkit-progress-value { - --value-color: var(--color-secondary); -} -.progress.is-warning::-ms-fill { - --value-color: var(--color-warning); -} -.progress.is-warning::-moz-progress-bar { - --value-color: var(--color-warning); -} -.progress.is-warning::-webkit-progress-value { - --value-color: var(--color-warning); -} -.progress.is-info::-ms-fill { - --value-color: var(--color-info); -} -.progress.is-info::-moz-progress-bar { - --value-color: var(--color-info); -} -.progress.is-info::-webkit-progress-value { - --value-color: var(--color-info); -} -.progress.is-danger::-ms-fill { - --value-color: var(--color-danger); -} -.progress.is-danger::-moz-progress-bar { - --value-color: var(--color-danger); -} -.progress.is-danger::-webkit-progress-value { - --value-color: var(--color-danger); -} -.progress.is-success::-ms-fill { - --value-color: var(--color-success); -} -.progress.is-success::-moz-progress-bar { - --value-color: var(--color-success); -} -.progress.is-success::-webkit-progress-value { - --value-color: var(--color-success); -} -.progress.is-black::-ms-fill { - --value-color: var(--color-black); -} -.progress.is-black::-moz-progress-bar { - --value-color: var(--color-black); -} -.progress.is-black::-webkit-progress-value { - --value-color: var(--color-black); -} -.progress.is-dark::-ms-fill { - --value-color: var(--color-dark); -} -.progress.is-dark::-moz-progress-bar { - --value-color: var(--color-dark); -} -.progress.is-dark::-webkit-progress-value { - --value-color: var(--color-dark); -} -.progress.is-night::-ms-fill { - --value-color: var(--color-night); -} -.progress.is-night::-moz-progress-bar { - --value-color: var(--color-night); -} -.progress.is-night::-webkit-progress-value { - --value-color: var(--color-night); -} -.progress.is-white::-ms-fill { - --value-color: var(--color-white); -} -.progress.is-white::-moz-progress-bar { - --value-color: var(--color-white); -} -.progress.is-white::-webkit-progress-value { - --value-color: var(--color-white); -} -.progress.is-light::-ms-fill { - --value-color: var(--color-light); -} -.progress.is-light::-moz-progress-bar { - --value-color: var(--color-light); -} -.progress.is-light::-webkit-progress-value { - --value-color: var(--color-light); -} -.progress.is-light-grey::-ms-fill { - --value-color: var(--color-light-grey); -} -.progress.is-light-grey::-moz-progress-bar { - --value-color: var(--color-light-grey); -} -.progress.is-light-grey::-webkit-progress-value { - --value-color: var(--color-light-grey); -} -.progress.is-dark-grey::-ms-fill { - --value-color: var(--color-dark-grey); -} -.progress.is-dark-grey::-moz-progress-bar { - --value-color: var(--color-dark-grey); -} -.progress.is-dark-grey::-webkit-progress-value { - --value-color: var(--color-dark-grey); -} - -.table { - --background-color: var(--color-white); - --font-color: var(--color-black); - --border-color: hsl(0deg, 0%, 85.8823529412%, 1); - --border-width: 1px; - --font-size: 1rem; - --padding: 0.5rem 0.625rem; - --hover-background-color: hsl(0deg, 0%, 97.6470588235%, 1); - --stripe-background-color: hsl(0deg, 0%, 97.6470588235%, 1); - border-collapse: collapse; - border-spacing: 0; - text-align: left; - width: 100%; -} -.table tr { - background-color: var(--background-color); - color: var(--font-color); -} -.table th, .table td { - --border-width: 0 0 1px; - border-color: var(--border-color); - border-style: solid; - border-width: var(--border-width); - font-size: var(--font-size); - padding: var(--padding); -} -.table thead th { - --border-width: 1px 0 2px; -} -.table tr:last-child td { - border-bottom-width: 0; -} -.table.is-bordered th, .table.is-bordered td { - --border-color: hsl(0deg, 0%, 85.8823529412%, 1); - --border-width: 1px; -} -.table.is-bordered tr:last-child td { - border-bottom-width: var(--border-width); -} -.table.is-borderless th, .table.is-borderless td { - border: none; -} -.table.has-outline { - border: var(--border-width) solid var(--border-color); -} -.table.is-hoverable tbody tr:hover { - --background-color: var(--hover-background-color); -} -.table.is-striped tbody tr:nth-child(odd) { - --background-color: var(--stripe-background-color); -} -.table.is-striped-even tbody tr:nth-child(even) { - --background-color: var(--stripe-background-color); -} -.table.is-small th, .table.is-small td { - --padding: 0.25rem 0.5rem; -} - -.is-table-container { - display: flex; - flex-flow: row nowrap; - overflow-x: auto; - width: 100%; -} - -.tabs { - width: 100%; -} -.tabs__list { - --border-color: hsl(0deg, 0%, 90.1960784314%, 1); - --border-width: 1px; - --border-radius: 0; - --background-color: var(--color-white); - --font-color: var(--color-black); - --item-padding: 0.75rem 1rem 0.5rem; - --active-background-color: var(--color-white); - --active-font-color: var(--color-link); - --hover-background-color: var(--color-white); - --hover-font-color: var(--color-link); - align-items: center; - background-color: var(--background-color); - border-bottom: var(--border-width) solid var(--border-color); - display: flex; - flex-flow: row wrap; - flex: 1 0 auto; - list-style: none; - margin: 0; -} -.tabs__list li { - border-color: transparent; - border-style: solid; - border-width: var(--border-width); - color: var(--font-color); - margin-bottom: calc(var(--border-width) * -1); -} -.tabs__list li a { - color: inherit; - display: block; - padding: var(--item-padding); -} -.tabs__list li a:hover { - text-decoration: none; -} -.tabs__list li.is-active { - --background-color: var(--active-background-color); - --font-color: var(--active-font-color); -} -.tabs__list li:hover:not(.is-active) { - --background-color: var(--hover-background-color); - --font-color: var(--hover-font-color); -} -.is-primary > .tabs__list li.is-active, .is-primary > .tabs__list li:hover { - background-color: var(--color-primary); - --font-color: var(--color-primary-text); -} -.is-secondary > .tabs__list li.is-active, .is-secondary > .tabs__list li:hover { - background-color: var(--color-secondary); - --font-color: var(--color-secondary-text); -} -.is-warning > .tabs__list li.is-active, .is-warning > .tabs__list li:hover { - background-color: var(--color-warning); - --font-color: var(--color-warning-text); -} -.is-info > .tabs__list li.is-active, .is-info > .tabs__list li:hover { - background-color: var(--color-info); - --font-color: var(--color-info-text); -} -.is-danger > .tabs__list li.is-active, .is-danger > .tabs__list li:hover { - background-color: var(--color-danger); - --font-color: var(--color-danger-text); -} -.is-success > .tabs__list li.is-active, .is-success > .tabs__list li:hover { - background-color: var(--color-success); - --font-color: var(--color-success-text); -} -.is-black > .tabs__list li.is-active, .is-black > .tabs__list li:hover { - background-color: var(--color-black); - --font-color: var(--color-black-text); -} -.is-dark > .tabs__list li.is-active, .is-dark > .tabs__list li:hover { - background-color: var(--color-dark); - --font-color: var(--color-dark-text); -} -.is-night > .tabs__list li.is-active, .is-night > .tabs__list li:hover { - background-color: var(--color-night); - --font-color: var(--color-night-text); -} -.is-white > .tabs__list li.is-active, .is-white > .tabs__list li:hover { - background-color: var(--color-white); - --font-color: var(--color-white-text); -} -.is-light > .tabs__list li.is-active, .is-light > .tabs__list li:hover { - background-color: var(--color-light); - --font-color: var(--color-light-text); -} -.is-light-grey > .tabs__list li.is-active, .is-light-grey > .tabs__list li:hover { - background-color: var(--color-light-grey); - --font-color: var(--color-light-grey-text); -} -.is-dark-grey > .tabs__list li.is-active, .is-dark-grey > .tabs__list li:hover { - background-color: var(--color-dark-grey); - --font-color: var(--color-dark-grey-text); -} -.has-border > .tabs__list li { - border-color: var(--border-color); - border-width: var(--border-width) 0 var(--border-width) var(--border-width); -} -.has-border > .tabs__list li:first-of-type { - border-radius: var(--border-radius) 0 0; -} -.has-border > .tabs__list li:last-of-type { - border-radius: 0 var(--border-radius) 0 0; - border-width: var(--border-width); -} -.has-border > .tabs__list li:only-of-type { - border-radius: var(--border-radius) var(--border-radius) 0 0; -} -.tabs__content { - --border-color: hsl(0deg, 0%, 90.1960784314%, 1); - --border-width: 1px; - --border-radius: 0; - --padding: 1rem; - --background-color: transparent; - --font-color: var(--color-black); - background-color: var(--background-color); - color: var(--font-color); - display: none; - padding: var(--padding); -} -.tabs__content.is-open { - display: block; -} -.has-border > .tabs__content { - border: 1px solid var(--border-color); - border-radius: 0 0 var(--border-radius) var(--border-radius); - border-width: 0 var(--border-width) var(--border-width); -} - -.tag { - --background-color: hsl(0deg, 0%, 95.2941176471%, 1); - --font-color: var(--color-black); - --border-color: transparent; - --border-width: 1px; - --border-radius: 0; - --font-size: 0.8125rem; - --line-height: 1.6; - --height: 1.6rem; - align-items: center; - border-style: solid; - border-width: var(--border-width); - border-radius: var(--border-radius); - display: inline-flex; - font-size: var(--font-size); - height: var(--height); - justify-content: center; - line-height: var(--line-height); - padding: 0 0.5rem; - text-align: center; - white-space: nowrap; - background-color: var(--background-color); - border-color: var(--border-color); - color: var(--font-color); -} -.tag.is-rounded { - --border-radius: 6px; -} -.tag.is-full { - width: 100%; -} -.tag.is-primary { - --background-color: var(--color-primary); - --border-color: transparent; - --font-color: var(--color-primary-text); -} -.tag.is-primary.is-outline { - --background-color: var(--color-white); - --border-color: var(--color-primary); - --font-color: var(--color-primary); -} -.tag.is-secondary { - --background-color: var(--color-secondary); - --border-color: transparent; - --font-color: var(--color-secondary-text); -} -.tag.is-secondary.is-outline { - --background-color: var(--color-white); - --border-color: var(--color-secondary); - --font-color: var(--color-secondary); -} -.tag.is-warning { - --background-color: var(--color-warning); - --border-color: transparent; - --font-color: var(--color-warning-text); -} -.tag.is-warning.is-outline { - --background-color: var(--color-white); - --border-color: var(--color-warning); - --font-color: var(--color-warning); -} -.tag.is-info { - --background-color: var(--color-info); - --border-color: transparent; - --font-color: var(--color-info-text); -} -.tag.is-info.is-outline { - --background-color: var(--color-white); - --border-color: var(--color-info); - --font-color: var(--color-info); -} -.tag.is-danger { - --background-color: var(--color-danger); - --border-color: transparent; - --font-color: var(--color-danger-text); -} -.tag.is-danger.is-outline { - --background-color: var(--color-white); - --border-color: var(--color-danger); - --font-color: var(--color-danger); -} -.tag.is-success { - --background-color: var(--color-success); - --border-color: transparent; - --font-color: var(--color-success-text); -} -.tag.is-success.is-outline { - --background-color: var(--color-white); - --border-color: var(--color-success); - --font-color: var(--color-success); -} -.tag.is-black { - --background-color: var(--color-black); - --border-color: transparent; - --font-color: var(--color-black-text); -} -.tag.is-black.is-outline { - --background-color: var(--color-white); - --border-color: var(--color-black); - --font-color: var(--color-black); -} -.tag.is-dark { - --background-color: var(--color-dark); - --border-color: transparent; - --font-color: var(--color-dark-text); -} -.tag.is-dark.is-outline { - --background-color: var(--color-white); - --border-color: var(--color-dark); - --font-color: var(--color-dark); -} -.tag.is-night { - --background-color: var(--color-night); - --border-color: transparent; - --font-color: var(--color-night-text); -} -.tag.is-night.is-outline { - --background-color: var(--color-white); - --border-color: var(--color-night); - --font-color: var(--color-night); -} -.tag.is-white { - --background-color: var(--color-white); - --border-color: transparent; - --font-color: var(--color-white-text); -} -.tag.is-white.is-outline { - --background-color: var(--color-white); - --border-color: var(--color-white); - --font-color: var(--color-white); -} -.tag.is-light { - --background-color: var(--color-light); - --border-color: transparent; - --font-color: var(--color-light-text); -} -.tag.is-light.is-outline { - --background-color: var(--color-white); - --border-color: var(--color-light); - --font-color: var(--color-light); -} -.tag.is-light-grey { - --background-color: var(--color-light-grey); - --border-color: transparent; - --font-color: var(--color-light-grey-text); -} -.tag.is-light-grey.is-outline { - --background-color: var(--color-white); - --border-color: var(--color-light-grey); - --font-color: var(--color-light-grey); -} -.tag.is-dark-grey { - --background-color: var(--color-dark-grey); - --border-color: transparent; - --font-color: var(--color-dark-grey-text); -} -.tag.is-dark-grey.is-outline { - --background-color: var(--color-white); - --border-color: var(--color-dark-grey); - --font-color: var(--color-dark-grey); -} - -:not(.tag-group) > .tag { - align-self: flex-start; -} - -.is-tag-group, .is-addon-group { - --margin: 0.4rem; - align-items: center; - display: flex; - flex-flow: row wrap; - width: 100%; -} -.is-tag-group .tag, .is-addon-group .tag { - margin-bottom: var(--margin); -} - -.is-tag-group { - --gap: 0.4rem; -} -.is-tag-group > .tag:not(:last-child) { - margin-right: var(--gap); -} -.is-tag-group > .is-addon-group:not(:last-child) { - margin-right: var(--gap); -} -.is-tag-group > .is-addon-group { - width: auto; -} - -.is-addon-group { - --addon-border-radius: 6px; -} -.is-addon-group.is-rounded > .tag { - margin-right: 0; -} -.is-addon-group.is-rounded > .tag:last-child { - border-top-right-radius: var(--addon-border-radius); - border-bottom-right-radius: var(--addon-border-radius); -} -.is-addon-group.is-rounded > .tag:first-child { - border-bottom-left-radius: var(--addon-border-radius); - border-top-left-radius: var(--addon-border-radius); -} - -/*# sourceMappingURL=orbit.css.map */ \ No newline at end of file +.text-red { + color: 'red' +} \ No newline at end of file diff --git a/css/orbit.css.map b/css/orbit.css.map deleted file mode 100644 index ed7baa8..0000000 --- a/css/orbit.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../scss/main.scss","../scss/base/_general.scss","../scss/base/_colors.scss","orbit.css","../scss/base/_helpers.scss","../scss/base/_functions.scss","../scss/base/_typography.scss","../scss/layout/_container.scss","../scss/layout/_grid.scss","../scss/layout/_hero.scss","../scss/layout/_section.scss","../scss/form/_general.scss","../scss/form/_slider.scss","../scss/form/_switch.scss","../scss/navigation/_breadcrumb.scss","../scss/navigation/_menu.scss","../scss/navigation/_pagination.scss","../scss/navigation/_top.scss","../scss/elements/_accordion.scss","../scss/elements/_alert.scss","../scss/elements/_button.scss","../scss/elements/_card.scss","../scss/elements/_dropdown.scss","../scss/elements/_image.scss","../scss/elements/_media.scss","../scss/elements/_modal.scss","../scss/elements/_panel.scss","../scss/elements/_progress.scss","../scss/elements/_table.scss","../scss/elements/_tabs.scss","../scss/elements/_tag.scss"],"names":[],"mappings":"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","file":"orbit.css"} \ No newline at end of file diff --git a/css/orbit.min.css b/css/orbit.min.css deleted file mode 100755 index cd2a9da..0000000 --- a/css/orbit.min.css +++ /dev/null @@ -1 +0,0 @@ -/*! Orbit CSS v2.0.0 | MIT license | https://orbitcss.com */@import url(https://fonts.googleapis.com/css?family=Lato|Roboto);:root{--color-primary:hsl(255.6687898089deg, 73.023255814%, 57.8431372549%, 1);--color-primary-darker:hsl(255.6687898089deg, 73.023255814%, 47.8431372549%, 1);--color-primary-lighter:hsl(255.6687898089deg, 73.023255814%, 67.8431372549%, 1);--color-primary-text:var(--color-white);--color-primary-alert:hsl(255.6687898089deg, 73.023255814%, 57.8431372549%, 0.2);--color-secondary:hsl(346.5838509317deg, 100%, 68.431372549%, 1);--color-secondary-darker:hsl(346.5838509317deg, 100%, 58.431372549%, 1);--color-secondary-lighter:hsl(346.5838509317deg, 100%, 78.431372549%, 1);--color-secondary-text:var(--color-black);--color-secondary-alert:hsl(346.5838509317deg, 100%, 68.431372549%, 0.2);--color-warning:hsl(47.8571428571deg, 100%, 67.0588235294%, 1);--color-warning-darker:hsl(47.8571428571deg, 100%, 57.0588235294%, 1);--color-warning-lighter:hsl(47.8571428571deg, 100%, 77.0588235294%, 1);--color-warning-text:var(--color-black);--color-warning-alert:hsl(47.8571428571deg, 100%, 67.0588235294%, 0.2);--color-info:hsl(215.2380952381deg, 96.9230769231%, 87.2549019608%, 1);--color-info-darker:hsl(215.2380952381deg, 96.9230769231%, 77.2549019608%, 1);--color-info-lighter:hsl(215.2380952381deg, 96.9230769231%, 97.2549019608%, 1);--color-info-text:var(--color-black);--color-info-alert:hsl(215.2380952381deg, 96.9230769231%, 87.2549019608%, 0.2);--color-danger:hsl(347.8301886792deg, 100%, 58.431372549%, 1);--color-danger-darker:hsl(347.8301886792deg, 100%, 48.431372549%, 1);--color-danger-lighter:hsl(347.8301886792deg, 100%, 68.431372549%, 1);--color-danger-text:var(--color-white);--color-danger-alert:hsl(347.8301886792deg, 100%, 58.431372549%, 0.2);--color-success:hsl(165.9911894273deg, 100%, 44.5098039216%, 1);--color-success-darker:hsl(165.9911894273deg, 100%, 34.5098039216%, 1);--color-success-lighter:hsl(165.9911894273deg, 100%, 54.5098039216%, 1);--color-success-text:var(--color-white);--color-success-alert:hsl(165.9911894273deg, 100%, 44.5098039216%, 0.2);--color-black:hsl(0deg, 0%, 22.3529411765%, 1);--color-black-darker:hsl(0deg, 0%, 12.3529411765%, 1);--color-black-lighter:hsl(0deg, 0%, 32.3529411765%, 1);--color-black-text:var(--color-white);--color-black-alert:hsl(0deg, 0%, 22.3529411765%, 0.2);--color-dark:hsl(206.4705882353deg, 26.1538461538%, 25.4901960784%, 1);--color-dark-darker:hsl(206.4705882353deg, 26.1538461538%, 15.4901960784%, 1);--color-dark-lighter:hsl(206.4705882353deg, 26.1538461538%, 35.4901960784%, 1);--color-dark-text:var(--color-white);--color-dark-alert:hsl(206.4705882353deg, 26.1538461538%, 25.4901960784%, 0.2);--color-night:hsl(252.9411764706deg, 27.5675675676%, 36.2745098039%, 1);--color-night-darker:hsl(252.9411764706deg, 27.5675675676%, 26.2745098039%, 1);--color-night-lighter:hsl(252.9411764706deg, 27.5675675676%, 46.2745098039%, 1);--color-night-text:var(--color-white);--color-night-alert:hsl(252.9411764706deg, 27.5675675676%, 36.2745098039%, 0.2);--color-white:hsl(0deg, 0%, 100%, 1);--color-white-darker:hsl(0deg, 0%, 90%, 1);--color-white-lighter:hsl(0deg, 0%, 100%, 1);--color-white-text:var(--color-black);--color-white-alert:hsl(0deg, 0%, 100%, 0.2);--color-light:hsl(0deg, 0%, 96.0784313725%, 1);--color-light-darker:hsl(0deg, 0%, 86.0784313725%, 1);--color-light-lighter:hsl(0deg, 0%, 100%, 1);--color-light-text:var(--color-black);--color-light-alert:hsl(0deg, 0%, 96.0784313725%, 0.2);--color-light-grey:hsl(32.7272727273deg, 12.0879120879%, 82.1568627451%, 1);--color-light-grey-darker:hsl(32.7272727273deg, 12.0879120879%, 72.1568627451%, 1);--color-light-grey-lighter:hsl(32.7272727273deg, 12.0879120879%, 92.1568627451%, 1);--color-light-grey-text:var(--color-black);--color-light-grey-alert:hsl(32.7272727273deg, 12.0879120879%, 82.1568627451%, 0.2);--color-dark-grey:hsl(0deg, 0%, 38.0392156863%, 1);--color-dark-grey-darker:hsl(0deg, 0%, 28.0392156863%, 1);--color-dark-grey-lighter:hsl(0deg, 0%, 48.0392156863%, 1);--color-dark-grey-text:var(--color-white);--color-dark-grey-alert:hsl(0deg, 0%, 38.0392156863%, 0.2);--color-black-overlay:hsl(0deg, 0%, 22.3529411765%, 0.5);--color-link:hsl(234.3956043956deg, 100%, 64.3137254902%, 1);--color-muted:hsl(0deg, 0%, 73.0392156863%, 1);--color-disabled:hsl(0deg, 0%, 96.862745098%, 1)}.has-text-primary{--font-color:var(--color-primary)!important;color:var(--font-color)!important}.has-text-secondary{--font-color:var(--color-secondary)!important;color:var(--font-color)!important}.has-text-warning{--font-color:var(--color-warning)!important;color:var(--font-color)!important}.has-text-info{--font-color:var(--color-info)!important;color:var(--font-color)!important}.has-text-danger{--font-color:var(--color-danger)!important;color:var(--font-color)!important}.has-text-success{--font-color:var(--color-success)!important;color:var(--font-color)!important}.has-text-black{--font-color:var(--color-black)!important;color:var(--font-color)!important}.has-text-dark{--font-color:var(--color-dark)!important;color:var(--font-color)!important}.has-text-night{--font-color:var(--color-night)!important;color:var(--font-color)!important}.has-text-white{--font-color:var(--color-white)!important;color:var(--font-color)!important}.has-text-light{--font-color:var(--color-light)!important;color:var(--font-color)!important}.has-text-light-grey{--font-color:var(--color-light-grey)!important;color:var(--font-color)!important}.has-text-dark-grey{--font-color:var(--color-dark-grey)!important;color:var(--font-color)!important}.has-text-muted{--font-color:var(--color-muted)!important;color:var(--font-color)!important}.has-text-disabled{--font-color:var(--color-disabled)!important;color:var(--font-color)!important}.has-bg-primary{--background-color:var(--color-primary)!important;background-color:var(--background-color)!important}.has-bg-secondary{--background-color:var(--color-secondary)!important;background-color:var(--background-color)!important}.has-bg-warning{--background-color:var(--color-warning)!important;background-color:var(--background-color)!important}.has-bg-info{--background-color:var(--color-info)!important;background-color:var(--background-color)!important}.has-bg-danger{--background-color:var(--color-danger)!important;background-color:var(--background-color)!important}.has-bg-success{--background-color:var(--color-success)!important;background-color:var(--background-color)!important}.has-bg-black{--background-color:var(--color-black)!important;background-color:var(--background-color)!important}.has-bg-dark{--background-color:var(--color-dark)!important;background-color:var(--background-color)!important}.has-bg-night{--background-color:var(--color-night)!important;background-color:var(--background-color)!important}.has-bg-white{--background-color:var(--color-white)!important;background-color:var(--background-color)!important}.has-bg-light{--background-color:var(--color-light)!important;background-color:var(--background-color)!important}.has-bg-light-grey{--background-color:var(--color-light-grey)!important;background-color:var(--background-color)!important}.has-bg-dark-grey{--background-color:var(--color-dark-grey)!important;background-color:var(--background-color)!important}.has-bg-disabled{--background-color:var(--color-disabled)!important;background-color:var(--background-color)!important}:root{--theme-font-size:1rem;--theme-font-color:hsl(0deg, 0%, 22.3529411765%, 1);--theme-background-color:hsl(0deg, 0%, 100%, 1);--theme-body-font-family:Roboto,sans-serif}html{font-size:100%}html.has-clip{overflow:hidden}body,html{min-height:100%;position:relative}body{--font-weight:400;--line-height:1.6;--font-color:var(--theme-font-color);--background-color:var(--theme-background-color);--font-family:var(--theme-body-font-family);background-color:var(--background-color);color:var(--font-family);font-family:var(--font-family);font-style:normal;font-weight:var(--font-weight);line-height:var(--line-height);min-height:100%;padding:0}body,dd,div,dt,h1,h2,h3,h4,h5,h6,html,ol,p,ul{--font-size:var(--theme-font-size);font-size:var(--font-size);margin:0;padding:0}hr{--background-color:var(--color-light-grey-lighter);--height:0.125rem;--margin:1.25rem 0;background-color:var(--background-color);border:none;height:var(--height);margin:var(--margin)}p{--margin:0 0 0.625rem 0;margin:var(--margin)}b,i,p,small,span,strong{color:inherit}img{display:block;height:auto;max-width:100%;position:relative}*,::after,::before{box-sizing:border-box}@-webkit-keyframes spinner{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes spinner{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.is-block{display:block!important}.is-flex{display:flex!important}.is-inline{display:inline!important}.is-inline-block{display:inline-block!important}.is-inline-flex{display:inline-flex!important}.is-hidden{display:none!important}.is-invisible{visibility:hidden!important}.has-no-padding{padding:0!important}.has-no-padding-top{padding-top:0!important}.has-no-padding-bottom{padding-bottom:0!important}.has-no-padding-left{padding-left:0!important}.has-no-padding-right{padding-right:0!important}.has-no-margin{margin:0!important}.has-no-border{border:none!important}.has-no-shadow{box-shadow:none!important}.has-no-wrap{white-space:nowrap}.has-no-transition{transition:none!important}.has-text-left{text-align:left!important}.has-text-right{text-align:right!important}.has-text-center{text-align:center!important}.has-font-normal{font-weight:400!important}.has-font-bold{font-weight:700!important}.is-margin-center{margin:0 auto!important}.is-float-left{float:left}.is-float-right{float:right}.is-vertically-centered{display:flex;flex-direction:column;justify-content:center}.has-start{justify-content:flex-start!important}.has-centered{justify-content:center!important}.has-end{justify-content:flex-end!important}@media (min-width:768px){.is-mobile-only{display:none!important}}@media (max-width:767px){.is-tablet-only,.is-tablet-up{display:none!important}}@media (min-width:922px){.is-tablet-down,.is-tablet-only{display:none!important}}@media (min-width:1200px){.is-desktop-down,.is-desktop-only{display:none!important}}@media (max-width:calc(922px - 1px)){.is-desktop-only,.is-desktop-up{display:none!important}}@media (max-width:calc(1199px)){.is-desktop-x-only{display:none!important}}:root{--theme-heading-font-family:Lato,sans-serif}.is-big-heading,.is-heading,.is-medium-heading,.is-small-heading,.is-very-big-heading,.is-very-small-heading,h1,h2,h3,h4,h5,h6{--font-color:inherit;--font-family:var(--theme-heading-font-family);--font-weight:600;--line-height:1.4;color:var(--font-color);display:block;font-family:var(--font-family);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height);margin-bottom:.45rem}.is-subheading.is-big-heading,.is-subheading.is-heading,.is-subheading.is-medium-heading,.is-subheading.is-small-heading,.is-subheading.is-very-big-heading,.is-subheading.is-very-small-heading,h1.is-subheading,h2.is-subheading,h3.is-subheading,h4.is-subheading,h5.is-subheading,h6.is-subheading{--font-color:hsl(0deg, 0%, 51.3725490196%, 1);--font-weight:400;--line-height:1.4}.is-big-heading:not(.is-subheading)+.is-subheading,.is-heading:not(.is-subheading)+.is-subheading,.is-medium-heading:not(.is-subheading)+.is-subheading,.is-small-heading:not(.is-subheading)+.is-subheading,.is-very-big-heading:not(.is-subheading)+.is-subheading,.is-very-small-heading:not(.is-subheading)+.is-subheading,h1:not(.is-subheading)+.is-subheading,h2:not(.is-subheading)+.is-subheading,h3:not(.is-subheading)+.is-subheading,h4:not(.is-subheading)+.is-subheading,h5:not(.is-subheading)+.is-subheading,h6:not(.is-subheading)+.is-subheading{margin-top:-.4rem}.is-big-heading+.is-subheading:last-of-type,.is-heading+.is-subheading:last-of-type,.is-medium-heading+.is-subheading:last-of-type,.is-small-heading+.is-subheading:last-of-type,.is-very-big-heading+.is-subheading:last-of-type,.is-very-small-heading+.is-subheading:last-of-type,h1+.is-subheading:last-of-type,h2+.is-subheading:last-of-type,h3+.is-subheading:last-of-type,h4+.is-subheading:last-of-type,h5+.is-subheading:last-of-type,h6+.is-subheading:last-of-type{margin-bottom:-.4rem}.is-very-big-heading,h1{--font-size:2.875rem}.is-big-heading,h2{--font-size:2.5rem}.is-medium-heading,h3{--font-size:1.875rem}.is-heading,h4{--font-size:1.5rem}.is-small-heading,h5{--font-size:1.25rem}.is-very-small-heading,h6{--font-size:1rem}a{color:var(--color-link);cursor:pointer;text-decoration:none}a:hover{text-decoration:underline}.has-link-inherit a:not(.button){color:inherit}ol,ul{--margin-left:1.25rem;--margin-top:1rem;margin-left:var(--margin-left);margin-top:var(--margin-top)}ol dl,ol ol,ol ul,ul dl,ul ol,ul ul{margin-top:0}ol,ul{list-style-position:outside}ul{--style-type:disc;list-style-type:var(--style-type)}ul.has-no-list-style{list-style-type:none;margin-left:0}ul.is-inline-list{display:flex!important;flex-flow:row wrap;list-style-type:none;margin:0}ul.is-inline-list>li:not(:last-child){margin-right:.5rem}dl dt{font-weight:700;margin-bottom:.3rem}dl dd~dt{margin-top:.3rem}blockquote{--border-color:hsl(0deg, 0%, 83.9215686275%, 1);--border-width:1px;--font-color:var(--color-black);--margin:1rem 0 0;--padding:0.5rem 0 0.5rem 1.25rem;border-left:var(--border-width) solid var(--border-color);color:var(--font-color);margin:var(--margin);padding:var(--padding)}blockquote cite{--font-color:var(--color-black);--font-size:0.8125rem;color:var(--font-color);display:block;font-size:var(--font-size)}blockquote cite::before{content:"- "}abbr{--border-color:var(--color-black);border-bottom:1px dotted var(--border-color);cursor:help;text-decoration:none}.container{--padding:20px;--max-width:1200px;max-width:var(--max-width);margin:0 auto;width:100%}.container.is-full{max-width:100%;padding:0 var(--padding)}.grid{--col-padding:0.625rem;--col-margin-top:0.5rem;--col-margin-bottom:0.5rem;--col-width:100%;display:flex;flex-flow:row wrap}.grid .column{--margin:var(--col-margin-top) 0 var(--col-margin-bottom) 0;--padding:var(--col-padding);--width:var(--col-width)}.grid.has-centered.is-vertical{align-items:center}.grid.has-spacing{justify-content:space-between}.grid.has-row-margin .column{margin:var(--margin)}.grid.is-vertical{flex-direction:column}.grid.is-flex-start{align-items:flex-start}.grid .column{flex:none;padding:var(--padding);width:var(--width)}.grid .column.is-mobile-auto{flex:1}@media (min-width:768px){.grid .column{flex:1}}@media (min-width:922px){.grid .column.is-desktop-auto{flex:1!important}}@media (min-width:1200px){.grid .column.is-desktop-x-auto{flex:1!important}}.grid .column.is-end{margin-left:auto}.grid .column.is-center{margin:0 auto}.grid.has-no-col-padding>.column{padding:0}@media (min-width:768px){.grid .column.is-shrink{flex:none;width:auto}.grid .column.is-one-quarter{--width:25%;flex:none}.grid .column.is-offset-one-quarter{margin-left:25%}.grid .column.is-half{--width:50%;flex:none}.grid .column.is-offset-half{margin-left:50%}.grid .column.is-three-quarters{--width:75%;flex:none}.grid .column.is-offset-three-quarters{margin-left:75%}.grid .column.is-one-third{--width:33.333333%;flex:none}.grid .column.is-offset-one-third{margin-left:33.333333%}.grid .column.is-two-thirds{--width:66.666666%;flex:none}.grid .column.is-offset-two-thirds{margin-left:66.666666%}.grid .column.is-full{--width:100%;flex:none}.grid .column.is-one-fifth{--width:20%;flex:none}.grid .column.is-offset-one-fifth{margin-left:20%}.grid .column.is-two-fifths{--width:40%;flex:none}.grid .column.is-offset-two-fifths{margin-left:40%}.grid .column.is-three-fifths{--width:60%;flex:none}.grid .column.is-offset-three-fifths{margin-left:60%}.grid .column.is-four-fifths{--width:80%;flex:none}.grid .column.is-offset-four-fifths{margin-left:80%}.grid .column.is-1{--width:8.3333333333%;flex:none}.grid .column.is-offset-1{margin-left:8.3333333333%}.grid .column.is-2{--width:16.6666666667%;flex:none}.grid .column.is-offset-2{margin-left:16.6666666667%}.grid .column.is-3{--width:25%;flex:none}.grid .column.is-offset-3{margin-left:25%}.grid .column.is-4{--width:33.3333333333%;flex:none}.grid .column.is-offset-4{margin-left:33.3333333333%}.grid .column.is-5{--width:41.6666666667%;flex:none}.grid .column.is-offset-5{margin-left:41.6666666667%}.grid .column.is-6{--width:50%;flex:none}.grid .column.is-offset-6{margin-left:50%}.grid .column.is-7{--width:58.3333333333%;flex:none}.grid .column.is-offset-7{margin-left:58.3333333333%}.grid .column.is-8{--width:66.6666666667%;flex:none}.grid .column.is-offset-8{margin-left:66.6666666667%}.grid .column.is-9{--width:75%;flex:none}.grid .column.is-offset-9{margin-left:75%}.grid .column.is-10{--width:83.3333333333%;flex:none}.grid .column.is-offset-10{margin-left:83.3333333333%}.grid .column.is-11{--width:91.6666666667%;flex:none}.grid .column.is-offset-11{margin-left:91.6666666667%}.grid .column.is-12{--width:100%;flex:none}}@media (max-width:767px){.grid .column.is-mobile-shrink{width:auto}.grid .column.is-mobile-one-quarter{--width:25%;flex:none}.grid .column.is-offset-mobile-one-quarter{margin-left:25%}.grid .column.is-mobile-half{--width:50%;flex:none}.grid .column.is-offset-mobile-half{margin-left:50%}.grid .column.is-mobile-three-quarters{--width:75%;flex:none}.grid .column.is-offset-mobile-three-quarters{margin-left:75%}.grid .column.is-mobile-one-third{--width:33.333333%;flex:none}.grid .column.is-offset-mobile-one-third{margin-left:33.333333%}.grid .column.is-mobile-two-thirds{--width:66.666666%;flex:none}.grid .column.is-offset-mobile-two-thirds{margin-left:66.666666%}.grid .column.is-mobile-full{--width:100%;flex:none}.grid .column.is-mobile-one-fifth{--width:20%;flex:none}.grid .column.is-offset-mobile-one-fifth{margin-left:20%}.grid .column.is-mobile-two-fifths{--width:40%;flex:none}.grid .column.is-offset-mobile-two-fifths{margin-left:40%}.grid .column.is-mobile-three-fifths{--width:60%;flex:none}.grid .column.is-offset-mobile-three-fifths{margin-left:60%}.grid .column.is-mobile-four-fifths{--width:80%;flex:none}.grid .column.is-offset-mobile-four-fifths{margin-left:80%}.grid .column.is-mobile-1{--width:8.3333333333%;flex:none}.grid .column.is-offset-mobile-1{margin-left:8.3333333333%}.grid .column.is-mobile-2{--width:16.6666666667%;flex:none}.grid .column.is-offset-mobile-2{margin-left:16.6666666667%}.grid .column.is-mobile-3{--width:25%;flex:none}.grid .column.is-offset-mobile-3{margin-left:25%}.grid .column.is-mobile-4{--width:33.3333333333%;flex:none}.grid .column.is-offset-mobile-4{margin-left:33.3333333333%}.grid .column.is-mobile-5{--width:41.6666666667%;flex:none}.grid .column.is-offset-mobile-5{margin-left:41.6666666667%}.grid .column.is-mobile-6{--width:50%;flex:none}.grid .column.is-offset-mobile-6{margin-left:50%}.grid .column.is-mobile-7{--width:58.3333333333%;flex:none}.grid .column.is-offset-mobile-7{margin-left:58.3333333333%}.grid .column.is-mobile-8{--width:66.6666666667%;flex:none}.grid .column.is-offset-mobile-8{margin-left:66.6666666667%}.grid .column.is-mobile-9{--width:75%;flex:none}.grid .column.is-offset-mobile-9{margin-left:75%}.grid .column.is-mobile-10{--width:83.3333333333%;flex:none}.grid .column.is-offset-mobile-10{margin-left:83.3333333333%}.grid .column.is-mobile-11{--width:91.6666666667%;flex:none}.grid .column.is-offset-mobile-11{margin-left:91.6666666667%}.grid .column.is-mobile-12{--width:100%;flex:none}}@media (min-width:922px){.grid .column.is-desktop-shrink{flex:none;width:auto}.grid .column.is-desktop-one-quarter{--width:25%;flex:none}.grid .column.is-offset-desktop-one-quarter{margin-left:25%}.grid .column.is-desktop-half{--width:50%;flex:none}.grid .column.is-offset-desktop-half{margin-left:50%}.grid .column.is-desktop-three-quarters{--width:75%;flex:none}.grid .column.is-offset-desktop-three-quarters{margin-left:75%}.grid .column.is-desktop-one-third{--width:33.333333%;flex:none}.grid .column.is-offset-desktop-one-third{margin-left:33.333333%}.grid .column.is-desktop-two-thirds{--width:66.666666%;flex:none}.grid .column.is-offset-desktop-two-thirds{margin-left:66.666666%}.grid .column.is-desktop-full{--width:100%;flex:none}.grid .column.is-desktop-one-fifth{--width:20%;flex:none}.grid .column.is-offset-desktop-one-fifth{margin-left:20%}.grid .column.is-desktop-two-fifths{--width:40%;flex:none}.grid .column.is-offset-desktop-two-fifths{margin-left:40%}.grid .column.is-desktop-three-fifths{--width:60%;flex:none}.grid .column.is-offset-desktop-three-fifths{margin-left:60%}.grid .column.is-desktop-four-fifths{--width:80%;flex:none}.grid .column.is-offset-desktop-four-fifths{margin-left:80%}.grid .column.is-desktop-1{--width:8.3333333333%;flex:none}.grid .column.is-offset-desktop-1{margin-left:8.3333333333%}.grid .column.is-desktop-2{--width:16.6666666667%;flex:none}.grid .column.is-offset-desktop-2{margin-left:16.6666666667%}.grid .column.is-desktop-3{--width:25%;flex:none}.grid .column.is-offset-desktop-3{margin-left:25%}.grid .column.is-desktop-4{--width:33.3333333333%;flex:none}.grid .column.is-offset-desktop-4{margin-left:33.3333333333%}.grid .column.is-desktop-5{--width:41.6666666667%;flex:none}.grid .column.is-offset-desktop-5{margin-left:41.6666666667%}.grid .column.is-desktop-6{--width:50%;flex:none}.grid .column.is-offset-desktop-6{margin-left:50%}.grid .column.is-desktop-7{--width:58.3333333333%;flex:none}.grid .column.is-offset-desktop-7{margin-left:58.3333333333%}.grid .column.is-desktop-8{--width:66.6666666667%;flex:none}.grid .column.is-offset-desktop-8{margin-left:66.6666666667%}.grid .column.is-desktop-9{--width:75%;flex:none}.grid .column.is-offset-desktop-9{margin-left:75%}.grid .column.is-desktop-10{--width:83.3333333333%;flex:none}.grid .column.is-offset-desktop-10{margin-left:83.3333333333%}.grid .column.is-desktop-11{--width:91.6666666667%;flex:none}.grid .column.is-offset-desktop-11{margin-left:91.6666666667%}.grid .column.is-desktop-12{--width:100%;flex:none}}@media (min-width:1200px){.grid .column.is-desktop-x-shrink{flex:none;width:auto}.grid .column.is-desktop-x-one-quarter{--width:25%;flex:none}.grid .column.is-offset-desktop-x-one-quarter{margin-left:25%}.grid .column.is-desktop-x-half{--width:50%;flex:none}.grid .column.is-offset-desktop-x-half{margin-left:50%}.grid .column.is-desktop-x-three-quarters{--width:75%;flex:none}.grid .column.is-offset-desktop-x-three-quarters{margin-left:75%}.grid .column.is-desktop-x-one-third{--width:33.333333%;flex:none}.grid .column.is-offset-desktop-x-one-third{margin-left:33.333333%}.grid .column.is-desktop-x-two-thirds{--width:66.666666%;flex:none}.grid .column.is-offset-desktop-x-two-thirds{margin-left:66.666666%}.grid .column.is-desktop-x-full{--width:100%;flex:none}.grid .column.is-desktop-x-one-fifth{--width:20%;flex:none}.grid .column.is-offset-desktop-x-one-fifth{margin-left:20%}.grid .column.is-desktop-x-two-fifths{--width:40%;flex:none}.grid .column.is-offset-desktop-x-two-fifths{margin-left:40%}.grid .column.is-desktop-x-three-fifths{--width:60%;flex:none}.grid .column.is-offset-desktop-x-three-fifths{margin-left:60%}.grid .column.is-desktop-x-four-fifths{--width:80%;flex:none}.grid .column.is-offset-desktop-x-four-fifths{margin-left:80%}.grid .column.is-desktop-x-1{--width:8.3333333333%;flex:none}.grid .column.is-offset-desktop-x-1{margin-left:8.3333333333%}.grid .column.is-desktop-x-2{--width:16.6666666667%;flex:none}.grid .column.is-offset-desktop-x-2{margin-left:16.6666666667%}.grid .column.is-desktop-x-3{--width:25%;flex:none}.grid .column.is-offset-desktop-x-3{margin-left:25%}.grid .column.is-desktop-x-4{--width:33.3333333333%;flex:none}.grid .column.is-offset-desktop-x-4{margin-left:33.3333333333%}.grid .column.is-desktop-x-5{--width:41.6666666667%;flex:none}.grid .column.is-offset-desktop-x-5{margin-left:41.6666666667%}.grid .column.is-desktop-x-6{--width:50%;flex:none}.grid .column.is-offset-desktop-x-6{margin-left:50%}.grid .column.is-desktop-x-7{--width:58.3333333333%;flex:none}.grid .column.is-offset-desktop-x-7{margin-left:58.3333333333%}.grid .column.is-desktop-x-8{--width:66.6666666667%;flex:none}.grid .column.is-offset-desktop-x-8{margin-left:66.6666666667%}.grid .column.is-desktop-x-9{--width:75%;flex:none}.grid .column.is-offset-desktop-x-9{margin-left:75%}.grid .column.is-desktop-x-10{--width:83.3333333333%;flex:none}.grid .column.is-offset-desktop-x-10{margin-left:83.3333333333%}.grid .column.is-desktop-x-11{--width:91.6666666667%;flex:none}.grid .column.is-offset-desktop-x-11{margin-left:91.6666666667%}.grid .column.is-desktop-x-12{--width:100%;flex:none}}.hero{--padding:4rem 1.5rem;--background-color:var(--color-white);--font-color:var(--color-black);display:flex;flex-direction:column}.hero__content,.hero__footer,.hero__header{background-color:var(--background-color);color:var(--font-color)}.hero__content{flex:auto;padding:var(--padding)}.hero__footer,.hero__header{flex:none}.hero.is-medium>.hero__content{padding:9rem 1.5rem}.hero.is-large>.hero__content{padding:16rem 1.5rem}.hero.is-full{min-height:100vh}.hero.is-full>.hero__content{align-items:center;display:flex}.section{--padding:6rem 1rem;--padding-small:3rem 1rem;--padding-large:12rem 1rem;padding:var(--padding)}.section.is-small{--padding:var(--padding-small)}.section.is-large{--padding:var(--padding-large)}form,input,select,textarea{margin:0;padding:0}input[type=color],input[type=date],input[type=datetime-local],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{--border-width:1px;--border-radius:0;--box-shadow:inset 0 1px 2px hsl(0deg, 0%, 3.9215686275%, 0.1);--font-size:1rem;--line-height:1.5;--padding:0.5rem;--background-color:var(--color-white);--border-color:hsl(0deg, 0%, 85.8823529412%, 1);--font-color:var(--color-black);--padding:0.5rem;--width:100%;--focus-border-color:var(--color-info);--focus-box-shadow:0 0 0 0.125em hsl(217.0588235294deg, 70.8333333333%, 52.9411764706%, 0.25);--disabled-background-color:var(--color-disabled);--disabled-box-shadow:none;--disabled-font-color:var(--color-muted);--disabled-border-color:var(--color-disabled);--error-border-color:var(--color-danger);--error-background-color:var(--color-danger-alert);--error-font-color:var(--color-black);background-color:var(--background-color);border-color:var(--border-color);border-style:solid;border-width:var(--border-width);border-radius:var(--border-radius);box-shadow:var(--box-shadow);color:var(--font-color);font-size:var(--font-size);font-family:inherit;line-height:var(--line-height);padding:var(--padding,0);outline:0;width:var(--width)}input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{--border-color:var(--focus-border-color)}input[type=color]:not([readonly]):focus,input[type=date]:not([readonly]):focus,input[type=datetime-local]:not([readonly]):focus,input[type=email]:not([readonly]):focus,input[type=month]:not([readonly]):focus,input[type=number]:not([readonly]):focus,input[type=password]:not([readonly]):focus,input[type=search]:not([readonly]):focus,input[type=tel]:not([readonly]):focus,input[type=text]:not([readonly]):focus,input[type=time]:not([readonly]):focus,input[type=url]:not([readonly]):focus,input[type=week]:not([readonly]):focus,select:not([readonly]):focus,textarea:not([readonly]):focus{--box-shadow:var(--focus-box-shadow)}input[type=color][disabled],input[type=date][disabled],input[type=datetime-local][disabled],input[type=email][disabled],input[type=month][disabled],input[type=number][disabled],input[type=password][disabled],input[type=search][disabled],input[type=tel][disabled],input[type=text][disabled],input[type=time][disabled],input[type=url][disabled],input[type=week][disabled],select[disabled],textarea[disabled]{--background-color:var(--disabled-background-color);--box-shadow:var(--disabled-box-shadow);--font-color:var(--disabled-font-color)}:not(.is-input-group)>input[type=color][disabled],:not(.is-input-group)>input[type=date][disabled],:not(.is-input-group)>input[type=datetime-local][disabled],:not(.is-input-group)>input[type=email][disabled],:not(.is-input-group)>input[type=month][disabled],:not(.is-input-group)>input[type=number][disabled],:not(.is-input-group)>input[type=password][disabled],:not(.is-input-group)>input[type=search][disabled],:not(.is-input-group)>input[type=tel][disabled],:not(.is-input-group)>input[type=text][disabled],:not(.is-input-group)>input[type=time][disabled],:not(.is-input-group)>input[type=url][disabled],:not(.is-input-group)>input[type=week][disabled],:not(.is-input-group)>select[disabled],:not(.is-input-group)>textarea[disabled]{--border-color:var(--disabled-border-color)}input[type=color].has-error,input[type=date].has-error,input[type=datetime-local].has-error,input[type=email].has-error,input[type=month].has-error,input[type=number].has-error,input[type=password].has-error,input[type=search].has-error,input[type=tel].has-error,input[type=text].has-error,input[type=time].has-error,input[type=url].has-error,input[type=week].has-error,select.has-error,textarea.has-error{--border-color:var(--error-border-color);--background-color:var(--error-background-color);--font-color:var(--error-font-color)}input[type=date]::-webkit-datetime-edit-fields-wrapper,input[type=datetime-local]::-webkit-datetime-edit-fields-wrapper{padding:0}textarea{resize:none}textarea.has-resize{resize:both}textarea.has-resize-vertical{resize:vertical}textarea.has-resize-horizontal{resize:horizontal}.is-select{--arrow-color:hsl(232.3404255319deg, 100%, 72.3529411765%, 1);--arrow-width:0.625em;--loading-spinner-speed:0.8s;--loading-icon-width:2px;--loading-icon-color:var(--color-light-grey);position:relative;width:100%}.is-select select{--pading:0.5rem;padding-right:2rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.is-select:not(.is-loading)::after{border-color:var(--arrow-color);border-width:3px;border-style:solid;border-radius:2px;border-right:0;border-top:0;content:" ";display:block;height:var(--arrow-width);margin-top:-.4em;pointer-events:none;position:absolute;right:.9375em;top:50%;transform:rotate(-45deg);transform-origin:center;width:var(--arrow-width)}.is-select.is-loading{position:relative}.is-select.is-loading::after{-webkit-animation:spinner var(--loading-spinner-speed) linear infinite;animation:spinner var(--loading-spinner-speed) linear infinite;border:var(--loading-icon-width) solid var(--loading-icon-color);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;content:" ";display:block;height:1.25em;position:absolute;top:calc(50% - .625em);right:.9375em;width:1.25em;position:absolute!important}.is-multiple-select{width:100%}.is-multiple-select select{padding:0}.is-multiple-select option{padding:.5rem 1rem}label{--font-size:1rem;--font-weight:600;--line-height:1.6;--font-color:inherit;color:var(--font-color);display:inline-block;font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height)}label:not(:last-child){margin-bottom:.4rem}.is-inline-label{align-items:center;display:flex;justify-content:flex-start}.is-checkbox,.is-radio{align-items:center;display:flex;flex-flow:row wrap}.is-checkbox label,.is-radio label{font-weight:400;margin-bottom:0}.is-checkbox>span,.is-radio>span{align-items:center;display:flex;flex-flow:row nowrap}.is-checkbox>span:not(:last-of-type),.is-radio>span:not(:last-of-type){margin-right:12px}.is-checkbox input[type=checkbox]+label,.is-radio input[type=radio]+label{margin-left:4px}.is-checkbox input[type=checkbox]+label:not(:last-of-type),.is-radio input[type=radio]+label:not(:last-of-type){margin-right:12px}.is-input-group{--background-color:var(--color-disabled);--border-color:hsl(0deg, 0%, 85.8823529412%, 1);--border-width:1px;--font-color:var(--color-black);--font-size:1rem;--focus-color:var(--color-info);align-items:center;display:flex;width:100%}.is-input-group>label,.is-input-group>span{border-color:var(--border-color);border-style:solid;border-width:var(--border-width);color:var(--font-color);font-size:var(--font-size);font-family:inherit;font-weight:400;line-height:1.5;outline:0;background-color:var(--background-color);padding:.5rem 1rem}.is-input-group>.button{line-height:1.5;white-space:nowrap}.is-input-group input,.is-input-group select{box-shadow:none}.is-input-group input:focus,.is-input-group select:focus{box-shadow:none!important}.is-input-group input,.is-input-group>.button,.is-input-group>label,.is-input-group>span{margin:0}.is-input-group input:not(:last-child),.is-input-group>.button:not(:last-child),.is-input-group>label:not(:last-child),.is-input-group>span:not(:last-child){border-right:none}.is-input-group input:focus+*,.is-input-group>.button:focus+*,.is-input-group>label:focus+*,.is-input-group>span:focus+*{border-left-color:var(--focus-color)}.is-input-group .is-select:not(:last-child) select{border-right-color:transparent}.is-input-group .is-select:not(:last-child):focus-within+*{border-left-color:var(--focus-color)}.is-file-input input[type=file]{display:none}.is-file-input label{font-weight:400}.is-slider{--thumb-color:var(--color-primary);--thumb-radius:20px;--thumb-height:1.5rem;--thumb-width:1.5rem;--track-height:8.4px;--track-background-color:hsl(0deg, 0%, 85.8823529412%, 1);width:100%}.is-slider input[type=range]{background:0 0;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%}.is-slider input[type=range]::-webkit-slider-thumb{height:var(--thumb-height);width:var(--thumb-width);border-radius:var(--thumb-radius);background-color:var(--thumb-color);cursor:pointer;margin-top:-8px;-webkit-appearance:none}.is-slider input[type=range]::-moz-range-thumb{height:var(--thumb-height);width:var(--thumb-width);border-radius:var(--thumb-radius);background-color:var(--thumb-color);cursor:pointer;margin-top:-8px;border-color:transparent;-moz-appearance:none}.is-slider input[type=range]::-ms-thumb{height:var(--thumb-height);width:var(--thumb-width);border-radius:var(--thumb-radius);background-color:var(--thumb-color);cursor:pointer;margin-top:-8px;-ms-appearance:none}.is-slider input[type=range]::-webkit-slider-runnable-track{width:100%;height:var(--track-height);cursor:pointer;background-color:var(--track-background-color)}.is-slider input[type=range]::-moz-range-track{width:100%;height:var(--track-height);cursor:pointer;background-color:var(--track-background-color)}.is-slider input[type=range]::-ms-track{width:100%;height:var(--track-height);cursor:pointer;background-color:var(--track-background-color)}.is-slider input[type=range]:focus{outline:0}.is-switch{--track-rounded-radius:20px;--toggle-rounded-radius:15px;--track-radius:0;--toggle-radius:0;--track-background-color:hsl(0deg, 0%, 85.8823529412%, 1);--active-track-background-color:var(--color-primary);--toggle-background-color:var(--color-white);--track-height:2rem;--track-width:4rem;--toggle-height:1.5rem;--toggle-width:1.5rem;line-height:.8}.is-switch.is-rounded label{--track-radius:var(--track-rounded-radius)}.is-switch.is-rounded label::after{--toggle-radius:var(--toggle-rounded-radius)}.is-switch input{margin:0;opacity:0;position:absolute}.is-switch input:checked~label{--track-background-color:var(--active-track-background-color)}.is-switch input:checked~label::after{left:2.25rem}.is-switch label{background-color:var(--track-background-color);border-radius:var(--track-radius);cursor:pointer;display:inline-block;height:var(--track-height);position:relative;transition:all .25s ease-out;width:var(--track-width)}.is-switch label::after{content:"";background-color:var(--toggle-background-color);border-radius:var(--toggle-radius);display:block;left:.25rem;height:var(--toggle-height);position:absolute;top:.25rem;transition:all .25s ease-out;width:var(--toggle-width)}.breadcrumb{--font-color:var(--color-link);--separator-color:var(--color-black);--separator-padding:0 0.625rem;--hover-font-color:var(--color-black);--disabled-font-color:var(--color-muted);--active-font-color:var(--color-black);display:flex;flex-flow:column wrap}.breadcrumb ul{display:flex;flex-flow:row wrap;list-style:none;margin:0}.breadcrumb ul li{color:var(--font-color)}.breadcrumb ul li a{color:inherit}.breadcrumb ul li:hover{--font-color:var(--hover-font-color)}.breadcrumb ul li.is-disabled{--font-color:var(--disabled-font-color)}.breadcrumb ul li.is-active{--font-color:var(--active-font-color)}.breadcrumb ul li+li::before{color:var(--separator-color);content:"/";padding:var(--separator-padding)}.menu__title{--font-color:hsl(0deg, 0%, 63.0392156863%, 1);--font-size:0.85rem;--line-height:1.5;--padding:0.5rem 1rem;--case:uppercase;color:var(--font-color);font-size:var(--font-size);line-height:var(--line-height);padding:var(--padding);margin:0;text-transform:var(--case)}.menu__list{--background-color:transparent;--font-color:var(--color-black);--active-background-color:var(--color-primary);--active-font-color:var(--color-primary-text);--hover-background-color:hsl(0deg, 0%, 75.2941176471%, 0.09);--hover-font-color:var(--color-black);--item-padding:0.5rem 1.5rem;--line-height:1.5;list-style:none;margin:0}.menu__list li.is-expandable.is-active>:first-child,.menu__list li:not(.is-expandable) li.is-active>a,.menu__list>li.is-active:not(.is-expandable)>a{--background-color:var(--active-background-color);--font-color:var(--active-font-color)}.menu__list li>a{background-color:var(--background-color);color:var(--font-color);line-height:var(--line-height)}.menu__list li>a:hover{text-decoration:none}.menu__list li.is-expandable{--expandable-item-padding:0 0.75rem;--border-color:hsl(210deg, 15.7894736842%, 92.5490196078%, 1);--border-width:1px;--padding-left:0.75rem;--margin:0.75rem}.menu__list li.is-expandable>:first-child{display:block;padding:var(--item-padding)}.menu__list li.is-expandable:not(.is-active)>:first-child:hover{--background-color:var(--hover-background-color);--font-color:var(--hover-font-color)}.menu__list li.is-expandable.is-active>ul{display:block}.menu__list li.is-expandable>ul{border-left:var(--border-width) solid var(--border-color);list-style:none;display:none;margin:var(--margin);padding-left:var(--padding-left)}.menu__list li.is-expandable>ul li{padding:var(--expandable-item-padding)}.menu__list li.is-expandable>ul li.is-active a{--background-color:var(--hover-background-color);--font-color:var(--hover-font-color)}.menu__list li:not(.is-expandable) ul{list-style:none}.menu__list li:not(.is-expandable){cursor:pointer}.menu__list li:not(.is-expandable):not(.is-active)>a:hover{--background-color:var(--hover-background-color);--font-color:var(--hover-font-color)}.menu__list li:not(.is-expandable) a{display:block;padding:var(--item-padding)}.menu__divider{--border-width:1px;--border-color:hsl(210deg, 15.7894736842%, 92.5490196078%, 1);--margin:0.5rem;border-top:var(--border-width) solid var(--border-color);margin:var(--margin)}.pagination{--background-color:transparent;--font-color:var(--color-black);--border-color:transparent;--border-width:1px;--border-radius:0;--font-size:0.875rem;--line-height:1.5;--margin:0.125rem;--padding:0.375rem 0.75rem;--disabled-opacity:0.5;--hover-background-color:var(--color-light);--hover-font-color:var(--color-black);--hover-border-color:transparent;--active-background-color:var(--color-primary);--active-font-color:var(--color-primary-text);--active-border-color:transparent;display:flex;flex-direction:column;font-size:var(--font-size)}@media (min-width:768px){.pagination{align-items:flex-end;flex-direction:row}}.pagination ul{display:flex;font-size:inherit;margin:0}.pagination .is-center{margin:0 auto}.pagination .is-end{margin-left:auto}.pagination li{background-color:var(--background-color);border-color:var(--border-color);border-style:solid;border-width:var(--border-width);border-radius:var(--border-radius);cursor:pointer;color:var(--font-color);display:inline-block;line-height:var(--line-height);justify-content:center;margin:var(--margin);text-align:center}.pagination li a{color:inherit;display:block;padding:var(--padding)}.pagination li a:hover{text-decoration:none}.pagination li.is-active{--background-color:var(--active-background-color);--font-color:var(--active-font-color);--border-color:var(--active-border-color)}.pagination li.is-disabled,.pagination li.is-disabled>a{cursor:not-allowed;opacity:var(--disabled-opacity)}.pagination li:hover:not(.is-active):not(.is-disabled){--background-color:var(--hover-background-color);--font-color:var(--hover-font-color);--border-color:var(--hover-border-color)}.pagination.has-border{--background-color:var(--color-white);--font-color:var(--color-black);--border-color:var(--color-light-grey);--border-radius:4px;--hover-background-color:var(--color-white);--hover-font-color:var(--color-black);--hover-border-color:var(--color-light-grey-darker);--active-background-color:var(--color-primary);--active-font-color:var(--color-primary-text);--active-border-color:var(--color-primary)}.pagination.has-round{--margin:0.25rem;--border-radius:50px}.top{--padding:1rem 0.75rem;--box-shadow:none;align-items:center;box-shadow:var(--box-shadow);display:flex;flex-flow:row nowrap;padding:var(--padding);position:relative;z-index:40}.top__brand,.top__burger,.top__buttons,.top__links,.top__social{--padding:0;padding:var(--padding)}.top>.container{align-items:center;display:flex;flex-direction:row}.top__brand{--padding:0 0.65rem;--font-color:inherit;--max-width:200px;align-items:center;color:var(--font-color);display:flex}.top__brand h1,.top__brand h2,.top__brand h3,.top__brand h4,.top__brand h5,.top__brand h6{margin-bottom:0}.top__brand img{max-width:var(--max-width)}.top.is-static{position:fixed;top:0;width:100%}.top .is-end{margin-left:auto}.top__buttons{--padding:0 0.65rem}.top__buttons .button,.top__buttons .is-button-group .button{margin-bottom:0}.top__links{--background-color:transparent;--font-color:inherit;--border-radius:6px;--link-padding:0.3125rem 0.9375rem;--text-align:start;--hover-background-color:hsl(0deg, 0%, 66.2745098039%, 0.15);--hover-font-color:inherit;--active-background-color:transparent;--active-font-color:inherit;text-align:var(--text-align)}.top__links ul:not(.dropdown)>li{background-color:var(--background-color);border-radius:var(--border-radius);color:var(--font-color);cursor:pointer;position:relative;white-space:nowrap}.top__links ul:not(.dropdown)>li a{color:inherit;display:block;padding:var(--link-padding)}.top__links ul:not(.dropdown)>li.has-dropdown a{padding-right:0}.top__links ul:not(.dropdown)>li.is-active{--background-color:var(--active-background-color);--font-color:var(--active-font-color)}.top__links ul:not(.dropdown)>li:hover{--background-color:var(--hover-background-color);--font-color:var(--hover-font-color);text-decoration:none}.top__links ul:not(.dropdown)>li:hover a{text-decoration:inherit}.top__links>ul{display:inline-flex;flex-flow:row wrap;list-style:none;margin:0}.top__social{--padding:0 0.65rem;--font-color:inherit;--item-margin:0 6px;--hover-font-color:inherit}.top__social>ul{display:inline-flex;flex-flow:row wrap;list-style:none;margin:0}.top__social li{color:var(--font-color);margin:var(--item-margin);position:relative}.top__social li:hover{--font-color:var(--hover-font-color)}.top__social li:first-of-type{margin-left:0}.top__social li:last-of-type{margin-right:0}.top__social a{color:inherit}.top__burger{--font-color:inherit;--padding:0 0.65rem;--width:20px;--bar-height:2px;--bar-gap:4px;--transition-speed:0.75s;display:flex}.top__burger span{display:flex;flex-flow:column;position:relative;width:var(--width)}.top__burger span:after,.top__burger span:before{border-color:var(--font-color);border-style:solid;content:"";cursor:pointer;width:100%}.top__burger span:before{border-width:var(--bar-height) 0 var(--bar-height);padding-bottom:var(--bar-gap)}.top__burger span:after{border-width:0 0 var(--bar-height);padding-top:var(--bar-gap)}.top__burger.has-animate span:after,.top__burger.has-animate span:before{transition:var(--transition-speed)}.top__burger.is-active span:after,.top__burger.is-active span:before{padding:0;position:absolute}.top__burger.is-active span:before{border-width:var(--bar-height) 0 0;transform:rotate(405deg)}.top__burger.is-active span:after{transform:rotate(-405deg)}@media (max-width:767px){.top.is-mobile-responsive{flex-flow:row wrap}.top.is-mobile-responsive .container{flex-flow:row wrap}.top.is-mobile-responsive .top__brand .top__buttons,.top.is-mobile-responsive .top__brand+.top__links,.top.is-mobile-responsive .top__brand+.top__social{padding-top:1rem}.top.is-mobile-responsive:not(.is-open) .top__buttons,.top.is-mobile-responsive:not(.is-open) .top__links,.top.is-mobile-responsive:not(.is-open) .top__social{display:none}.top.is-mobile-responsive .top__buttons,.top.is-mobile-responsive .top__links,.top.is-mobile-responsive .top__social{order:2;width:100%}.top.is-mobile-responsive .top__buttons:first-of-type,.top.is-mobile-responsive .top__links:first-of-type,.top.is-mobile-responsive .top__social:first-of-type{padding-top:1rem}.top.is-mobile-responsive .top__buttons ul:not(.dropdown),.top.is-mobile-responsive .top__links ul:not(.dropdown),.top.is-mobile-responsive .top__social ul:not(.dropdown){display:flex;width:100%}.top.is-mobile-responsive .top__links ul{flex-direction:column;padding:.5rem 0}.top.is-mobile-responsive .top__links .has-dropdown{display:flex;flex-direction:column}.top.is-mobile-responsive .top__links .has-dropdown.is-active,.top.is-mobile-responsive .top__links .has-dropdown.is-hoverable:hover{background-color:transparent}.top.is-mobile-responsive .top__links .has-dropdown.is-active.has-arrow::after,.top.is-mobile-responsive .top__links .has-dropdown.is-hoverable:hover.has-arrow::after{top:17px}.top.is-mobile-responsive .top__links .has-dropdown.is-active>.dropdown,.top.is-mobile-responsive .top__links .has-dropdown.is-hoverable:hover>.dropdown{background-color:transparent;border:none;border-radius:0;box-shadow:none;position:relative}.top.is-mobile-responsive .top__links .has-dropdown .dropdown__link:hover{background-color:var(--hover-background-color)}.top.is-mobile-responsive .top__social{--padding:0}.top.is-mobile-responsive .top__social ul{flex-direction:row;padding:.5rem .9375rem}.top.is-mobile-responsive .top__buttons{--padding:0.5rem 0.9375rem}.top.is-mobile-responsive .top__burger{--padding:1rem 0.75rem}}@media (min-width:768px){.top.is-mobile-responsive .top__burger{display:none}}@media (max-width:calc(922px - 1px)){.top.is-tablet-responsive{flex-flow:row wrap}.top.is-tablet-responsive .container{flex-flow:row wrap}.top.is-tablet-responsive .top__brand .top__buttons,.top.is-tablet-responsive .top__brand+.top__links,.top.is-tablet-responsive .top__brand+.top__social{padding-top:1rem}.top.is-tablet-responsive:not(.is-open) .top__buttons,.top.is-tablet-responsive:not(.is-open) .top__links,.top.is-tablet-responsive:not(.is-open) .top__social{display:none}.top.is-tablet-responsive .top__buttons,.top.is-tablet-responsive .top__links,.top.is-tablet-responsive .top__social{order:2;width:100%}.top.is-tablet-responsive .top__buttons:first-of-type,.top.is-tablet-responsive .top__links:first-of-type,.top.is-tablet-responsive .top__social:first-of-type{padding-top:1rem}.top.is-tablet-responsive .top__buttons ul:not(.dropdown),.top.is-tablet-responsive .top__links ul:not(.dropdown),.top.is-tablet-responsive .top__social ul:not(.dropdown){display:flex;width:100%}.top.is-tablet-responsive .top__links ul{flex-direction:column;padding:.5rem 0}.top.is-tablet-responsive .top__links .has-dropdown{display:flex;flex-direction:column}.top.is-tablet-responsive .top__links .has-dropdown.is-active,.top.is-tablet-responsive .top__links .has-dropdown.is-hoverable:hover{background-color:transparent}.top.is-tablet-responsive .top__links .has-dropdown.is-active.has-arrow::after,.top.is-tablet-responsive .top__links .has-dropdown.is-hoverable:hover.has-arrow::after{top:17px}.top.is-tablet-responsive .top__links .has-dropdown.is-active>.dropdown,.top.is-tablet-responsive .top__links .has-dropdown.is-hoverable:hover>.dropdown{background-color:transparent;border:none;border-radius:0;box-shadow:none;position:relative}.top.is-tablet-responsive .top__links .has-dropdown .dropdown__link:hover{background-color:var(--hover-background-color)}.top.is-tablet-responsive .top__social{--padding:0}.top.is-tablet-responsive .top__social ul{flex-direction:row;padding:.5rem .9375rem}.top.is-tablet-responsive .top__buttons{--padding:0.5rem 0.9375rem}.top.is-tablet-responsive .top__burger{--padding:1rem 0.75rem}}@media (min-width:922px){.top.is-tablet-responsive .top__burger{display:none}}.accordion{--border-color:hsl(0deg, 0%, 90.1960784314%, 1);--border-width:1px;border:var(--border-color) solid var(--border-width);display:block;width:100%}.accordion__list{display:flex;flex-direction:column;list-style:none;margin:0}.accordion__item{--background-color:var(--color-white);background-color:var(--background-color)}.accordion__item:not(:last-of-type) .accordion__content,.accordion__item:not(:last-of-type) .accordion__title{border-bottom:var(--border-width) solid var(--border-color)}.accordion__item:last-of-type .accordion__content{border-top:var(--border-width) solid var(--border-color)}.accordion__title{--background-color:transparent;--font-color:var(--color-black);--padding:0.75rem 1rem;--active-background-color:var(--color-primary);--active-font-color:var(--color-primary-text);--hover-background-color:var(--color-light);--hover-font-color:var(--color-light-text);background-color:var(--background-color);color:var(--font-color);cursor:pointer;display:block;padding:var(--padding);position:relative}.accordion__title a{color:inherit}.accordion__title a,.accordion__title:hover{text-decoration:none}:not(.is-active)>.accordion__title:hover{--background-color:var(--hover-background-color);--font-color:var(--hover-font-color)}.is-active>.accordion__title{--background-color:var(--active-background-color);--font-color:var(--active-font-color)}.accordion__content{--background-color:var(--color-white);--font-color:var(--color-black);--padding:1rem;background-color:var(--background-color);border-top:none;color:var(--font-color);display:none;padding:var(--padding)}.is-active>.accordion__content{display:block}.alert{--border-color:hsl(0deg, 0%, 3.9215686275%, 0.25);--border-style:solid;--border-width:1px;--padding:1rem;--background-color:var(--color-white);--font-color:var(--color-black);border-width:var(--border-width);border-style:var(--border-style);border-radius:var(--alert-border-radius);display:flex;flex-flow:column nowrap;padding:var(--padding);position:relative;background-color:var(--background-color);border-color:var(--border-color);color:var(--font-color)}.alert .button--close{position:absolute;right:.5rem;top:.5rem}.alert.is-primary{--background-color:var(--color-primary-alert)}.alert.is-primary.is-outline{--background-color:var(--color-white);--border-color:var(--color-primary);--font-color:var(--color-primary)}.alert.is-secondary{--background-color:var(--color-secondary-alert)}.alert.is-secondary.is-outline{--background-color:var(--color-white);--border-color:var(--color-secondary);--font-color:var(--color-secondary)}.alert.is-warning{--background-color:var(--color-warning-alert)}.alert.is-warning.is-outline{--background-color:var(--color-white);--border-color:var(--color-warning);--font-color:var(--color-warning)}.alert.is-info{--background-color:var(--color-info-alert)}.alert.is-info.is-outline{--background-color:var(--color-white);--border-color:var(--color-info);--font-color:var(--color-info)}.alert.is-danger{--background-color:var(--color-danger-alert)}.alert.is-danger.is-outline{--background-color:var(--color-white);--border-color:var(--color-danger);--font-color:var(--color-danger)}.alert.is-success{--background-color:var(--color-success-alert)}.alert.is-success.is-outline{--background-color:var(--color-white);--border-color:var(--color-success);--font-color:var(--color-success)}.alert.is-black{--background-color:var(--color-black-alert)}.alert.is-black.is-outline{--background-color:var(--color-white);--border-color:var(--color-black);--font-color:var(--color-black)}.alert.is-dark{--background-color:var(--color-dark-alert)}.alert.is-dark.is-outline{--background-color:var(--color-white);--border-color:var(--color-dark);--font-color:var(--color-dark)}.alert.is-night{--background-color:var(--color-night-alert)}.alert.is-night.is-outline{--background-color:var(--color-white);--border-color:var(--color-night);--font-color:var(--color-night)}.alert.is-white{--background-color:var(--color-white-alert)}.alert.is-white.is-outline{--background-color:var(--color-white);--border-color:var(--color-white);--font-color:var(--color-white)}.alert.is-light{--background-color:var(--color-light-alert)}.alert.is-light.is-outline{--background-color:var(--color-white);--border-color:var(--color-light);--font-color:var(--color-light)}.alert.is-light-grey{--background-color:var(--color-light-grey-alert)}.alert.is-light-grey.is-outline{--background-color:var(--color-white);--border-color:var(--color-light-grey);--font-color:var(--color-light-grey)}.alert.is-dark-grey{--background-color:var(--color-dark-grey-alert)}.alert.is-dark-grey.is-outline{--background-color:var(--color-white);--border-color:var(--color-dark-grey);--font-color:var(--color-dark-grey)}.button{--border-width:1px;--border-color:var(--color-light-grey);--font-size:1rem;--line-height:1.6;--margin-bottom:0.4rem;--padding:0.5rem 0.75rem;--transition:border-color 0.2s ease,background-color 0.3s ease;--background-color:var(--color-white);--font-color:var(--color-black);--button-radius:0;--hover-background-color:var(--color-white);--hover-font-color:var(--color-black);--hover-border-color:var(--color-light-grey-darker);--loading-speed:0.8s;--loading-width:2px;--loading-color:var(--color-light-grey);align-items:center;border-width:var(--border-width);border-style:solid;border-radius:var(--button-radius);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size);justify-content:center;line-height:var(--line-height);margin-bottom:var(--margin-bottom);padding:var(--padding);text-align:center;transition:var(--transition);background-color:var(--background-color);border-color:var(--border-color);color:var(--font-color)}.button a,.button:hover{text-decoration:none}.button.is-active,.button:active,.button:focus,.button:hover{--background-color:var(--hover-background-color);--border-color:var(--hover-border-color);--font-color:var(--hover-font-color)}.button.is-rounded{--button-radius:6px}.button.is-small{--font-size:0.75rem}.button.is-large{--font-size:1.375rem}.button.is-full{width:100%}.button.is-primary:not(.is-outline){--background-color:var(--color-primary);--border-color:transparent;--font-color:var(--color-primary-text)}.button.is-primary:not(.is-outline).is-active,.button.is-primary:not(.is-outline):hover:not([disabled]){--background-color:var(--color-primary-darker)}.button.is-primary:not(.is-outline).is-loading::after{border-right-color:var(--color-primary-text);border-top-color:var(--color-primary-text)}.button.is-primary.is-outline{--background-color:transparent;--border-color:var(--color-primary);--font-color:var(--color-primary)}.button.is-primary.is-outline.is-active,.button.is-primary.is-outline:hover:not([disabled]){--background-color:var(--color-primary);--border-color:transparent;--font-color:var(--color-primary-text)}.button.is-primary.is-outline.is-loading::after{border-right-color:var(--color-primary);border-top-color:var(--color-primary)}.button.is-secondary:not(.is-outline){--background-color:var(--color-secondary);--border-color:transparent;--font-color:var(--color-secondary-text)}.button.is-secondary:not(.is-outline).is-active,.button.is-secondary:not(.is-outline):hover:not([disabled]){--background-color:var(--color-secondary-darker)}.button.is-secondary:not(.is-outline).is-loading::after{border-right-color:var(--color-secondary-text);border-top-color:var(--color-secondary-text)}.button.is-secondary.is-outline{--background-color:transparent;--border-color:var(--color-secondary);--font-color:var(--color-secondary)}.button.is-secondary.is-outline.is-active,.button.is-secondary.is-outline:hover:not([disabled]){--background-color:var(--color-secondary);--border-color:transparent;--font-color:var(--color-secondary-text)}.button.is-secondary.is-outline.is-loading::after{border-right-color:var(--color-secondary);border-top-color:var(--color-secondary)}.button.is-warning:not(.is-outline){--background-color:var(--color-warning);--border-color:transparent;--font-color:var(--color-warning-text)}.button.is-warning:not(.is-outline).is-active,.button.is-warning:not(.is-outline):hover:not([disabled]){--background-color:var(--color-warning-darker)}.button.is-warning:not(.is-outline).is-loading::after{border-right-color:var(--color-warning-text);border-top-color:var(--color-warning-text)}.button.is-warning.is-outline{--background-color:transparent;--border-color:var(--color-warning);--font-color:var(--color-warning)}.button.is-warning.is-outline.is-active,.button.is-warning.is-outline:hover:not([disabled]){--background-color:var(--color-warning);--border-color:transparent;--font-color:var(--color-warning-text)}.button.is-warning.is-outline.is-loading::after{border-right-color:var(--color-warning);border-top-color:var(--color-warning)}.button.is-info:not(.is-outline){--background-color:var(--color-info);--border-color:transparent;--font-color:var(--color-info-text)}.button.is-info:not(.is-outline).is-active,.button.is-info:not(.is-outline):hover:not([disabled]){--background-color:var(--color-info-darker)}.button.is-info:not(.is-outline).is-loading::after{border-right-color:var(--color-info-text);border-top-color:var(--color-info-text)}.button.is-info.is-outline{--background-color:transparent;--border-color:var(--color-info);--font-color:var(--color-info)}.button.is-info.is-outline.is-active,.button.is-info.is-outline:hover:not([disabled]){--background-color:var(--color-info);--border-color:transparent;--font-color:var(--color-info-text)}.button.is-info.is-outline.is-loading::after{border-right-color:var(--color-info);border-top-color:var(--color-info)}.button.is-danger:not(.is-outline){--background-color:var(--color-danger);--border-color:transparent;--font-color:var(--color-danger-text)}.button.is-danger:not(.is-outline).is-active,.button.is-danger:not(.is-outline):hover:not([disabled]){--background-color:var(--color-danger-darker)}.button.is-danger:not(.is-outline).is-loading::after{border-right-color:var(--color-danger-text);border-top-color:var(--color-danger-text)}.button.is-danger.is-outline{--background-color:transparent;--border-color:var(--color-danger);--font-color:var(--color-danger)}.button.is-danger.is-outline.is-active,.button.is-danger.is-outline:hover:not([disabled]){--background-color:var(--color-danger);--border-color:transparent;--font-color:var(--color-danger-text)}.button.is-danger.is-outline.is-loading::after{border-right-color:var(--color-danger);border-top-color:var(--color-danger)}.button.is-success:not(.is-outline){--background-color:var(--color-success);--border-color:transparent;--font-color:var(--color-success-text)}.button.is-success:not(.is-outline).is-active,.button.is-success:not(.is-outline):hover:not([disabled]){--background-color:var(--color-success-darker)}.button.is-success:not(.is-outline).is-loading::after{border-right-color:var(--color-success-text);border-top-color:var(--color-success-text)}.button.is-success.is-outline{--background-color:transparent;--border-color:var(--color-success);--font-color:var(--color-success)}.button.is-success.is-outline.is-active,.button.is-success.is-outline:hover:not([disabled]){--background-color:var(--color-success);--border-color:transparent;--font-color:var(--color-success-text)}.button.is-success.is-outline.is-loading::after{border-right-color:var(--color-success);border-top-color:var(--color-success)}.button.is-black:not(.is-outline){--background-color:var(--color-black);--border-color:transparent;--font-color:var(--color-black-text)}.button.is-black:not(.is-outline).is-active,.button.is-black:not(.is-outline):hover:not([disabled]){--background-color:var(--color-black-darker)}.button.is-black:not(.is-outline).is-loading::after{border-right-color:var(--color-black-text);border-top-color:var(--color-black-text)}.button.is-black.is-outline{--background-color:transparent;--border-color:var(--color-black);--font-color:var(--color-black)}.button.is-black.is-outline.is-active,.button.is-black.is-outline:hover:not([disabled]){--background-color:var(--color-black);--border-color:transparent;--font-color:var(--color-black-text)}.button.is-black.is-outline.is-loading::after{border-right-color:var(--color-black);border-top-color:var(--color-black)}.button.is-dark:not(.is-outline){--background-color:var(--color-dark);--border-color:transparent;--font-color:var(--color-dark-text)}.button.is-dark:not(.is-outline).is-active,.button.is-dark:not(.is-outline):hover:not([disabled]){--background-color:var(--color-dark-darker)}.button.is-dark:not(.is-outline).is-loading::after{border-right-color:var(--color-dark-text);border-top-color:var(--color-dark-text)}.button.is-dark.is-outline{--background-color:transparent;--border-color:var(--color-dark);--font-color:var(--color-dark)}.button.is-dark.is-outline.is-active,.button.is-dark.is-outline:hover:not([disabled]){--background-color:var(--color-dark);--border-color:transparent;--font-color:var(--color-dark-text)}.button.is-dark.is-outline.is-loading::after{border-right-color:var(--color-dark);border-top-color:var(--color-dark)}.button.is-night:not(.is-outline){--background-color:var(--color-night);--border-color:transparent;--font-color:var(--color-night-text)}.button.is-night:not(.is-outline).is-active,.button.is-night:not(.is-outline):hover:not([disabled]){--background-color:var(--color-night-darker)}.button.is-night:not(.is-outline).is-loading::after{border-right-color:var(--color-night-text);border-top-color:var(--color-night-text)}.button.is-night.is-outline{--background-color:transparent;--border-color:var(--color-night);--font-color:var(--color-night)}.button.is-night.is-outline.is-active,.button.is-night.is-outline:hover:not([disabled]){--background-color:var(--color-night);--border-color:transparent;--font-color:var(--color-night-text)}.button.is-night.is-outline.is-loading::after{border-right-color:var(--color-night);border-top-color:var(--color-night)}.button.is-white:not(.is-outline){--background-color:var(--color-white);--border-color:transparent;--font-color:var(--color-white-text)}.button.is-white:not(.is-outline).is-active,.button.is-white:not(.is-outline):hover:not([disabled]){--background-color:var(--color-white-darker)}.button.is-white:not(.is-outline).is-loading::after{border-right-color:var(--color-white-text);border-top-color:var(--color-white-text)}.button.is-white.is-outline{--background-color:transparent;--border-color:var(--color-white);--font-color:var(--color-white)}.button.is-white.is-outline.is-active,.button.is-white.is-outline:hover:not([disabled]){--background-color:var(--color-white);--border-color:transparent;--font-color:var(--color-white-text)}.button.is-white.is-outline.is-loading::after{border-right-color:var(--color-white);border-top-color:var(--color-white)}.button.is-light:not(.is-outline){--background-color:var(--color-light);--border-color:transparent;--font-color:var(--color-light-text)}.button.is-light:not(.is-outline).is-active,.button.is-light:not(.is-outline):hover:not([disabled]){--background-color:var(--color-light-darker)}.button.is-light:not(.is-outline).is-loading::after{border-right-color:var(--color-light-text);border-top-color:var(--color-light-text)}.button.is-light.is-outline{--background-color:transparent;--border-color:var(--color-light);--font-color:var(--color-light)}.button.is-light.is-outline.is-active,.button.is-light.is-outline:hover:not([disabled]){--background-color:var(--color-light);--border-color:transparent;--font-color:var(--color-light-text)}.button.is-light.is-outline.is-loading::after{border-right-color:var(--color-light);border-top-color:var(--color-light)}.button.is-light-grey:not(.is-outline){--background-color:var(--color-light-grey);--border-color:transparent;--font-color:var(--color-light-grey-text)}.button.is-light-grey:not(.is-outline).is-active,.button.is-light-grey:not(.is-outline):hover:not([disabled]){--background-color:var(--color-light-grey-darker)}.button.is-light-grey:not(.is-outline).is-loading::after{border-right-color:var(--color-light-grey-text);border-top-color:var(--color-light-grey-text)}.button.is-light-grey.is-outline{--background-color:transparent;--border-color:var(--color-light-grey);--font-color:var(--color-light-grey)}.button.is-light-grey.is-outline.is-active,.button.is-light-grey.is-outline:hover:not([disabled]){--background-color:var(--color-light-grey);--border-color:transparent;--font-color:var(--color-light-grey-text)}.button.is-light-grey.is-outline.is-loading::after{border-right-color:var(--color-light-grey);border-top-color:var(--color-light-grey)}.button.is-dark-grey:not(.is-outline){--background-color:var(--color-dark-grey);--border-color:transparent;--font-color:var(--color-dark-grey-text)}.button.is-dark-grey:not(.is-outline).is-active,.button.is-dark-grey:not(.is-outline):hover:not([disabled]){--background-color:var(--color-dark-grey-darker)}.button.is-dark-grey:not(.is-outline).is-loading::after{border-right-color:var(--color-dark-grey-text);border-top-color:var(--color-dark-grey-text)}.button.is-dark-grey.is-outline{--background-color:transparent;--border-color:var(--color-dark-grey);--font-color:var(--color-dark-grey)}.button.is-dark-grey.is-outline.is-active,.button.is-dark-grey.is-outline:hover:not([disabled]){--background-color:var(--color-dark-grey);--border-color:transparent;--font-color:var(--color-dark-grey-text)}.button.is-dark-grey.is-outline.is-loading::after{border-right-color:var(--color-dark-grey);border-top-color:var(--color-dark-grey)}.button.is-loading{color:transparent!important;pointer-events:none;position:relative}.button.is-loading::after{-webkit-animation:spinner var(--loading-speed) linear infinite;animation:spinner var(--loading-speed) linear infinite;border:var(--loading-width) solid var(--loading-color);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;content:" ";display:block;height:1.25em;left:calc(50% - .625em);position:absolute;top:calc(50% - .625em);width:1.25em;position:absolute!important}.button[disabled]{cursor:not-allowed;opacity:.5}.button .icon:first-child:not(:only-child){margin-right:.45rem}.button .icon:last-child:not(:only-child){margin-left:.45rem}:not(.is-button-group):not(.is-addon-group)>.button{align-self:flex-start}.is-addon-group,.is-button-group{align-items:center;display:flex;flex-wrap:wrap;width:100%}.is-button-group{--gap:0.4rem}.is-button-group>.button:not(.is-full):not(:last-child){margin-right:var(--gap)}.is-button-group>.is-addon-group:not(:last-child){margin-right:var(--gap)}.is-button-group>.is-addon-group{width:auto}.is-addon-group{--addon-radius:6px}.is-addon-group>.button{margin-right:0}.is-addon-group>.button:not(:first-of-type){border-left-width:calc(var(--border-width)/ 2)}.is-addon-group>.button:not(:last-of-type){border-right-width:calc(var(--border-width)/ 2)}.is-addon-group.is-rounded .button:last-child{border-top-right-radius:var(--addon-radius);border-bottom-right-radius:var(--addon-radius)}.is-addon-group.is-rounded .button:first-child{border-bottom-left-radius:var(--addon-radius);border-top-left-radius:var(--addon-radius)}.button--close{--background-color:hsl(0deg, 0%, 22.3529411765%, 0.23);--icon-color:inherit;--height:1.5rem;--width:1.5rem;--icon-width:1px;--hover-background-color:hsl(0deg, 0%, 22.3529411765%, 0.41);align-items:center;background-color:var(--background-color);border:none;border-radius:50%;color:var(--icon-color);cursor:pointer;display:inline-block;height:var(--height);position:relative;text-align:center;width:var(--width)}.button--close.has-no-background{--background-color:transparent}.button--close:not(.has-no-background):hover{--background-color:var(--hover-background-color)}.button--close::after,.button--close::before{border-color:inherit;border-style:solid;border-width:var(--icon-width);content:" ";left:50%;position:absolute;transform:translateX(-50%) translateY(-50%) rotate(45deg);transform-origin:center center;top:50%}.button--close::after{width:50%}.button--close::before{height:50%}.card{--border-color:hsl(0deg, 0%, 85.8823529412%, 0.36);--border-width:1px;--border-radius:0;--box-shadow:0 0 3px 0 hsl(0deg, 0%, 3.9215686275%, 0.1);border:var(--border-color) solid var(--border-width);box-shadow:var(--box-shadow);display:flex;flex-flow:column nowrap;height:100%}.card .card__content,.card .card__footer,.card .card__header,.card .card__image{--padding:0;padding:var(--padding)}.card .card__image{display:block;position:relative}.card .card__image img{width:100%}.card .card__header{--background-color:hsl(0deg, 0%, 0%, 0.03);--font-color:var(--color-black);--padding:0.625rem 1rem;align-items:center;background-color:var(--card-header-background-color);border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius);color:var(--font-color);display:flex}.card .card__header .button--close{margin-left:auto}.card .card__header .is-big-title,.card .card__header .is-medium-title,.card .card__header .is-regular-title,.card .card__header .is-small-title,.card .card__header .is-very-big-title,.card .card__header .is-very-small-title,.card .card__header h1,.card .card__header h2,.card .card__header h3,.card .card__header h4,.card .card__header h5,.card .card__header h6{margin-bottom:0}.card .card__content{--padding:1rem;flex:auto;position:relative}.card.is-shrink{height:auto}.card.is-shrink .card__content{flex:initial}.card .card__footer{--padding:0.35rem 1rem;align-items:center;border-bottom-left-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius);display:flex}.card .card__footer>.is-end{margin-left:auto}.card .card__footer>.is-center{margin:auto}.card .card__footer button:not(:last-child){margin-right:.4rem}.dropdown{--background-color:var(--color-white);--font-color:var(--color-black);--border-color:hsl(0deg, 0%, 80.3921568627%, 0.34);--border-width:1px;--border-radius:0;--box-shadow:0 6px 6px hsl(0deg, 0%, 3.9215686275%, 0.16);--min-width:12rem;--padding:10px 0;background-color:var(--background-color);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow);color:var(--font-color);cursor:auto;left:0;list-style:none;margin:0;min-width:var(--min-width);opacity:0;padding:var(--padding);position:absolute;top:100%;text-align:left;transform:translateY(-5px);transition-duration:.3s;transition-property:opacity,transform;visibility:hidden;z-index:10}.dropdown__link{--font-color:inherit;--padding:5px 15px;--hover-font-color:inherit;--hover-background-color:hsl(0deg, 0%, 75.2941176471%, 0.09);border-radius:0;color:var(--font-color);cursor:pointer;padding:var(--padding)}.dropdown__link:hover{color:var(--hover-font-color);background-color:var(--hover-background-color)}.dropdown__divider{--color:hsl(210deg, 15.7894736842%, 92.5490196078%, 1);--margin:5px 0;border-top:1px solid var(--color);margin:var(--margin)}.dropdown__item{--font-color:inherit;--padding:5px 15px;color:var(--font-color);padding:var(--padding)}.has-dropdown{display:inline-flex;position:relative}.has-dropdown a{color:inherit;display:block;text-decoration:none;width:100%}.has-dropdown.is-active>.dropdown,.has-dropdown.is-hoverable:hover>.dropdown{display:block;opacity:1;transform:translateY(0);visibility:visible}.has-dropdown.is-right .dropdown{right:0;left:unset}.has-dropdown .has-arrow,.has-dropdown.has-arrow{--arrow-color:hsl(232.3404255319deg, 100%, 72.3529411765%, 1);padding-right:2.1875em!important;position:relative}.has-dropdown .has-arrow::after,.has-dropdown.has-arrow::after{border:3px solid var(--arrow-color);border-radius:2px;border-right:0;border-top:0;content:" ";display:block;height:.625em;margin-top:-.4em;position:absolute;right:.9375em;top:50%;transform:rotate(315deg);transform-origin:center;width:.625em}.image{--border-radius:0;--border-color:transparent;--border-width:0;border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);display:flex;flex-direction:column}.image.is-thumbnail{--border-width:1px;--border-color:var(--color-light-grey);--border-radius:6px;--padding:0.25rem}.image.is-thumbnail img{padding:var(--padding)}.image.is-rounded{--border-radius:50%}.image.is-rounded img{border-radius:inherit}.image.is-rounded-tile,.image.is-tile{--box-shadow:0 5px 10px 0px hsl(0deg, 0%, 0%, 0.2);box-shadow:var(--box-shadow)}.image.is-rounded-tile{--border-radius:6px}.image.is-rounded-tile img{border-radius:inherit}.image.is-tiny-square{--height:48px;--width:48px;height:var(--height);width:var(--width)}.image.is-tiny-square img{height:100%}.image.is-small-square{--height:96px;--width:96px;height:var(--height);width:var(--width)}.image.is-small-square img{height:100%}.image.is-square{--height:128px;--width:128px;height:var(--height);width:var(--width)}.image.is-square img{height:100%}.image.is-medium-square{--height:160px;--width:160px;height:var(--height);width:var(--width)}.image.is-medium-square img{height:100%}.image.is-large-square{--height:208px;--width:208px;height:var(--height);width:var(--width)}.image.is-large-square img{height:100%}.media+.media,.media__content .media{border-top:var(--border-width) solid var(--border-color);margin-top:var(--margin-top);padding-top:var(--padding-top)}.media{--border-width:1px;--border-color:hsl(210deg, 15.7894736842%, 92.5490196078%, 1);--padding-top:1rem;--margin-top:1rem;align-items:flex-start;display:flex}.media__content{flex:auto}.media__left{margin-right:1rem}.media__right{margin-left:1rem}.modal{--background-color:var(--color-white);--font-color:var(--color-black);--border-radius:0;--width:600px;--padding:1rem;--overlay-background-color:var(--color-black-overlay);display:none;align-items:center;flex-direction:column;justify-content:center;overflow:hidden;position:fixed;z-index:100;bottom:0;left:0;right:0;top:0;width:100%}.modal.is-active{display:flex}.modal__background{background-color:var(--overlay-background-color);bottom:0;left:0;position:absolute;right:0;top:0}.modal__content{background-color:var(--background-color);border-radius:0;color:var(--font-color);padding:var(--padding);position:relative;overflow:inherit;width:100%}@media (min-width:768px){.modal__content{border-radius:var(--border-radius);width:var(--width)}.modal.is-small>.modal__content{width:25%}.modal.is-medium>.modal__content{width:45%}.modal.is-large>.modal__content{width:75%}}.modal.is-full>.modal__content{border-radius:0;flex:auto;width:100%}.modal__close{position:absolute;right:10px;top:10px}.panel{--border-radius:4px;--box-shadow:0 0 10px 0 hsl(0deg, 0%, 3.9215686275%, 0.21);--padding:1rem;border-radius:var(--border-radius);box-shadow:var(--box-shadow);display:block;padding:var(--padding);width:100%}.progress{--bar-height:1rem;--margin-bottom:0.4rem;--bar-color:var(--color-light-grey);--value-color:var(--color-dark);border:none;display:flex;height:var(--bar-height);margin-bottom:var(--margin-bottom);-webkit-appearance:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%}.progress.is-round{border-radius:50px}.progress.is-round::-webkit-progress-bar{border-radius:50px}.progress.is-round::-webkit-progress-value{border-radius:50px;border-top-right-radius:0;border-bottom-right-radius:0}.progress.is-round::-moz-progress-bar{border-radius:50px;border-top-right-radius:0;border-bottom-right-radius:0}.progress::-webkit-progress-bar{background-color:var(--bar-color)}.progress::-moz-progress-bar{background-color:var(--value-color);border:none}.progress::-webkit-progress-value{background-color:var(--value-color);border:none}.progress::-ms-fill{background-color:var(--value-color);border:none}.progress.is-primary::-ms-fill{--value-color:var(--color-primary)}.progress.is-primary::-moz-progress-bar{--value-color:var(--color-primary)}.progress.is-primary::-webkit-progress-value{--value-color:var(--color-primary)}.progress.is-secondary::-ms-fill{--value-color:var(--color-secondary)}.progress.is-secondary::-moz-progress-bar{--value-color:var(--color-secondary)}.progress.is-secondary::-webkit-progress-value{--value-color:var(--color-secondary)}.progress.is-warning::-ms-fill{--value-color:var(--color-warning)}.progress.is-warning::-moz-progress-bar{--value-color:var(--color-warning)}.progress.is-warning::-webkit-progress-value{--value-color:var(--color-warning)}.progress.is-info::-ms-fill{--value-color:var(--color-info)}.progress.is-info::-moz-progress-bar{--value-color:var(--color-info)}.progress.is-info::-webkit-progress-value{--value-color:var(--color-info)}.progress.is-danger::-ms-fill{--value-color:var(--color-danger)}.progress.is-danger::-moz-progress-bar{--value-color:var(--color-danger)}.progress.is-danger::-webkit-progress-value{--value-color:var(--color-danger)}.progress.is-success::-ms-fill{--value-color:var(--color-success)}.progress.is-success::-moz-progress-bar{--value-color:var(--color-success)}.progress.is-success::-webkit-progress-value{--value-color:var(--color-success)}.progress.is-black::-ms-fill{--value-color:var(--color-black)}.progress.is-black::-moz-progress-bar{--value-color:var(--color-black)}.progress.is-black::-webkit-progress-value{--value-color:var(--color-black)}.progress.is-dark::-ms-fill{--value-color:var(--color-dark)}.progress.is-dark::-moz-progress-bar{--value-color:var(--color-dark)}.progress.is-dark::-webkit-progress-value{--value-color:var(--color-dark)}.progress.is-night::-ms-fill{--value-color:var(--color-night)}.progress.is-night::-moz-progress-bar{--value-color:var(--color-night)}.progress.is-night::-webkit-progress-value{--value-color:var(--color-night)}.progress.is-white::-ms-fill{--value-color:var(--color-white)}.progress.is-white::-moz-progress-bar{--value-color:var(--color-white)}.progress.is-white::-webkit-progress-value{--value-color:var(--color-white)}.progress.is-light::-ms-fill{--value-color:var(--color-light)}.progress.is-light::-moz-progress-bar{--value-color:var(--color-light)}.progress.is-light::-webkit-progress-value{--value-color:var(--color-light)}.progress.is-light-grey::-ms-fill{--value-color:var(--color-light-grey)}.progress.is-light-grey::-moz-progress-bar{--value-color:var(--color-light-grey)}.progress.is-light-grey::-webkit-progress-value{--value-color:var(--color-light-grey)}.progress.is-dark-grey::-ms-fill{--value-color:var(--color-dark-grey)}.progress.is-dark-grey::-moz-progress-bar{--value-color:var(--color-dark-grey)}.progress.is-dark-grey::-webkit-progress-value{--value-color:var(--color-dark-grey)}.table{--background-color:var(--color-white);--font-color:var(--color-black);--border-color:hsl(0deg, 0%, 85.8823529412%, 1);--border-width:1px;--font-size:1rem;--padding:0.5rem 0.625rem;--hover-background-color:hsl(0deg, 0%, 97.6470588235%, 1);--stripe-background-color:hsl(0deg, 0%, 97.6470588235%, 1);border-collapse:collapse;border-spacing:0;text-align:left;width:100%}.table tr{background-color:var(--background-color);color:var(--font-color)}.table td,.table th{--border-width:0 0 1px;border-color:var(--border-color);border-style:solid;border-width:var(--border-width);font-size:var(--font-size);padding:var(--padding)}.table thead th{--border-width:1px 0 2px}.table tr:last-child td{border-bottom-width:0}.table.is-bordered td,.table.is-bordered th{--border-color:hsl(0deg, 0%, 85.8823529412%, 1);--border-width:1px}.table.is-bordered tr:last-child td{border-bottom-width:var(--border-width)}.table.is-borderless td,.table.is-borderless th{border:none}.table.has-outline{border:var(--border-width) solid var(--border-color)}.table.is-hoverable tbody tr:hover{--background-color:var(--hover-background-color)}.table.is-striped tbody tr:nth-child(odd){--background-color:var(--stripe-background-color)}.table.is-striped-even tbody tr:nth-child(even){--background-color:var(--stripe-background-color)}.table.is-small td,.table.is-small th{--padding:0.25rem 0.5rem}.is-table-container{display:flex;flex-flow:row nowrap;overflow-x:auto;width:100%}.tabs{width:100%}.tabs__list{--border-color:hsl(0deg, 0%, 90.1960784314%, 1);--border-width:1px;--border-radius:0;--background-color:var(--color-white);--font-color:var(--color-black);--item-padding:0.75rem 1rem 0.5rem;--active-background-color:var(--color-white);--active-font-color:var(--color-link);--hover-background-color:var(--color-white);--hover-font-color:var(--color-link);align-items:center;background-color:var(--background-color);border-bottom:var(--border-width) solid var(--border-color);display:flex;flex-flow:row wrap;flex:1 0 auto;list-style:none;margin:0}.tabs__list li{border-color:transparent;border-style:solid;border-width:var(--border-width);color:var(--font-color);margin-bottom:calc(var(--border-width) * -1)}.tabs__list li a{color:inherit;display:block;padding:var(--item-padding)}.tabs__list li a:hover{text-decoration:none}.tabs__list li.is-active{--background-color:var(--active-background-color);--font-color:var(--active-font-color)}.tabs__list li:hover:not(.is-active){--background-color:var(--hover-background-color);--font-color:var(--hover-font-color)}.is-primary>.tabs__list li.is-active,.is-primary>.tabs__list li:hover{background-color:var(--color-primary);--font-color:var(--color-primary-text)}.is-secondary>.tabs__list li.is-active,.is-secondary>.tabs__list li:hover{background-color:var(--color-secondary);--font-color:var(--color-secondary-text)}.is-warning>.tabs__list li.is-active,.is-warning>.tabs__list li:hover{background-color:var(--color-warning);--font-color:var(--color-warning-text)}.is-info>.tabs__list li.is-active,.is-info>.tabs__list li:hover{background-color:var(--color-info);--font-color:var(--color-info-text)}.is-danger>.tabs__list li.is-active,.is-danger>.tabs__list li:hover{background-color:var(--color-danger);--font-color:var(--color-danger-text)}.is-success>.tabs__list li.is-active,.is-success>.tabs__list li:hover{background-color:var(--color-success);--font-color:var(--color-success-text)}.is-black>.tabs__list li.is-active,.is-black>.tabs__list li:hover{background-color:var(--color-black);--font-color:var(--color-black-text)}.is-dark>.tabs__list li.is-active,.is-dark>.tabs__list li:hover{background-color:var(--color-dark);--font-color:var(--color-dark-text)}.is-night>.tabs__list li.is-active,.is-night>.tabs__list li:hover{background-color:var(--color-night);--font-color:var(--color-night-text)}.is-white>.tabs__list li.is-active,.is-white>.tabs__list li:hover{background-color:var(--color-white);--font-color:var(--color-white-text)}.is-light>.tabs__list li.is-active,.is-light>.tabs__list li:hover{background-color:var(--color-light);--font-color:var(--color-light-text)}.is-light-grey>.tabs__list li.is-active,.is-light-grey>.tabs__list li:hover{background-color:var(--color-light-grey);--font-color:var(--color-light-grey-text)}.is-dark-grey>.tabs__list li.is-active,.is-dark-grey>.tabs__list li:hover{background-color:var(--color-dark-grey);--font-color:var(--color-dark-grey-text)}.has-border>.tabs__list li{border-color:var(--border-color);border-width:var(--border-width) 0 var(--border-width) var(--border-width)}.has-border>.tabs__list li:first-of-type{border-radius:var(--border-radius) 0 0}.has-border>.tabs__list li:last-of-type{border-radius:0 var(--border-radius) 0 0;border-width:var(--border-width)}.has-border>.tabs__list li:only-of-type{border-radius:var(--border-radius) var(--border-radius) 0 0}.tabs__content{--border-color:hsl(0deg, 0%, 90.1960784314%, 1);--border-width:1px;--border-radius:0;--padding:1rem;--background-color:transparent;--font-color:var(--color-black);background-color:var(--background-color);color:var(--font-color);display:none;padding:var(--padding)}.tabs__content.is-open{display:block}.has-border>.tabs__content{border:1px solid var(--border-color);border-radius:0 0 var(--border-radius) var(--border-radius);border-width:0 var(--border-width) var(--border-width)}.tag{--background-color:hsl(0deg, 0%, 95.2941176471%, 1);--font-color:var(--color-black);--border-color:transparent;--border-width:1px;--border-radius:0;--font-size:0.8125rem;--line-height:1.6;--height:1.6rem;align-items:center;border-style:solid;border-width:var(--border-width);border-radius:var(--border-radius);display:inline-flex;font-size:var(--font-size);height:var(--height);justify-content:center;line-height:var(--line-height);padding:0 .5rem;text-align:center;white-space:nowrap;background-color:var(--background-color);border-color:var(--border-color);color:var(--font-color)}.tag.is-rounded{--border-radius:6px}.tag.is-full{width:100%}.tag.is-primary{--background-color:var(--color-primary);--border-color:transparent;--font-color:var(--color-primary-text)}.tag.is-primary.is-outline{--background-color:var(--color-white);--border-color:var(--color-primary);--font-color:var(--color-primary)}.tag.is-secondary{--background-color:var(--color-secondary);--border-color:transparent;--font-color:var(--color-secondary-text)}.tag.is-secondary.is-outline{--background-color:var(--color-white);--border-color:var(--color-secondary);--font-color:var(--color-secondary)}.tag.is-warning{--background-color:var(--color-warning);--border-color:transparent;--font-color:var(--color-warning-text)}.tag.is-warning.is-outline{--background-color:var(--color-white);--border-color:var(--color-warning);--font-color:var(--color-warning)}.tag.is-info{--background-color:var(--color-info);--border-color:transparent;--font-color:var(--color-info-text)}.tag.is-info.is-outline{--background-color:var(--color-white);--border-color:var(--color-info);--font-color:var(--color-info)}.tag.is-danger{--background-color:var(--color-danger);--border-color:transparent;--font-color:var(--color-danger-text)}.tag.is-danger.is-outline{--background-color:var(--color-white);--border-color:var(--color-danger);--font-color:var(--color-danger)}.tag.is-success{--background-color:var(--color-success);--border-color:transparent;--font-color:var(--color-success-text)}.tag.is-success.is-outline{--background-color:var(--color-white);--border-color:var(--color-success);--font-color:var(--color-success)}.tag.is-black{--background-color:var(--color-black);--border-color:transparent;--font-color:var(--color-black-text)}.tag.is-black.is-outline{--background-color:var(--color-white);--border-color:var(--color-black);--font-color:var(--color-black)}.tag.is-dark{--background-color:var(--color-dark);--border-color:transparent;--font-color:var(--color-dark-text)}.tag.is-dark.is-outline{--background-color:var(--color-white);--border-color:var(--color-dark);--font-color:var(--color-dark)}.tag.is-night{--background-color:var(--color-night);--border-color:transparent;--font-color:var(--color-night-text)}.tag.is-night.is-outline{--background-color:var(--color-white);--border-color:var(--color-night);--font-color:var(--color-night)}.tag.is-white{--background-color:var(--color-white);--border-color:transparent;--font-color:var(--color-white-text)}.tag.is-white.is-outline{--background-color:var(--color-white);--border-color:var(--color-white);--font-color:var(--color-white)}.tag.is-light{--background-color:var(--color-light);--border-color:transparent;--font-color:var(--color-light-text)}.tag.is-light.is-outline{--background-color:var(--color-white);--border-color:var(--color-light);--font-color:var(--color-light)}.tag.is-light-grey{--background-color:var(--color-light-grey);--border-color:transparent;--font-color:var(--color-light-grey-text)}.tag.is-light-grey.is-outline{--background-color:var(--color-white);--border-color:var(--color-light-grey);--font-color:var(--color-light-grey)}.tag.is-dark-grey{--background-color:var(--color-dark-grey);--border-color:transparent;--font-color:var(--color-dark-grey-text)}.tag.is-dark-grey.is-outline{--background-color:var(--color-white);--border-color:var(--color-dark-grey);--font-color:var(--color-dark-grey)}:not(.tag-group)>.tag{align-self:flex-start}.is-addon-group,.is-tag-group{--margin:0.4rem;align-items:center;display:flex;flex-flow:row wrap;width:100%}.is-addon-group .tag,.is-tag-group .tag{margin-bottom:var(--margin)}.is-tag-group{--gap:0.4rem}.is-tag-group>.tag:not(:last-child){margin-right:var(--gap)}.is-tag-group>.is-addon-group:not(:last-child){margin-right:var(--gap)}.is-tag-group>.is-addon-group{width:auto}.is-addon-group{--addon-border-radius:6px}.is-addon-group.is-rounded>.tag{margin-right:0}.is-addon-group.is-rounded>.tag:last-child{border-top-right-radius:var(--addon-border-radius);border-bottom-right-radius:var(--addon-border-radius)}.is-addon-group.is-rounded>.tag:first-child{border-bottom-left-radius:var(--addon-border-radius);border-top-left-radius:var(--addon-border-radius)} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index f236257..d3c04d3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,14 +1,2681 @@ { "name": "orbitcss", - "version": "2.0.1-beta.0", - "lockfileVersion": 1, + "version": "3.0.0", + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "orbitcss", + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "arg": "^5.0.1", + "autoprefixer": "^10.4.2", + "chalk": "^4.1.2", + "clean-css-cli": "^5.5.2", + "fs": "0.0.1-security", + "npm-run-all": "^4.1.5", + "postcss-cli": "^9.1.0", + "postcss-js": "^4.0.0", + "postcss-nested": "^5.0.6", + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "orbitcss": "src/cli" + }, + "devDependencies": { + "cssnano": "^5.0.17", + "postcss": "^8.4.6" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.1.tgz", + "integrity": "sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==" + }, + "node_modules/array-union": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", + "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.2", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.2.tgz", + "integrity": "sha512-9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ==", + "dependencies": { + "browserslist": "^4.19.1", + "caniuse-lite": "^1.0.30001297", + "fraction.js": "^4.1.2", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.19.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.3.tgz", + "integrity": "sha512-XK3X4xtKJ+Txj8G5c30B4gsm71s69lqXlkYui4s6EkKxuv49qjYlY6oVd+IFJ73d4YymtM3+djvvt/R/iJwwDg==", + "dependencies": { + "caniuse-lite": "^1.0.30001312", + "electron-to-chromium": "^1.4.71", + "escalade": "^3.1.1", + "node-releases": "^2.0.2", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001312", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz", + "integrity": "sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/chalk/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/chalk/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/chalk/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/clean-css": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.2.4.tgz", + "integrity": "sha512-nKseG8wCzEuji/4yrgM/5cthL9oTDc5UOQyFMvW/Q53oP6gLH690o1NbuTh6Y18nujr7BxlsFuS7gXLnLzKJGg==", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clean-css-cli": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/clean-css-cli/-/clean-css-cli-5.5.2.tgz", + "integrity": "sha512-4y5FD+ayRz7IWqZRCCMvFxNUhluc1Yv8mNPmrHbrm2NjKsv9uaQZedZKN4L+QMkTqANL1RfOwhpe22neDEgEMA==", + "dependencies": { + "chokidar": "^3.5.2", + "clean-css": "^5.2.4", + "commander": "7.x", + "glob": "^7.1.6" + }, + "bin": { + "cleancss": "bin/cleancss" + }, + "engines": { + "node": ">= 10.12.0" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/colord": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz", + "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==", + "dev": true + }, + "node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/css-declaration-sorter": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.4.tgz", + "integrity": "sha512-lpfkqS0fctcmZotJGhnxkIyJWvBXgpyi2wsFd4J8VB7wzyrT6Ch/3Q+FMNJpjK4gu1+GN5khOnpU2ZVKrLbhCw==", + "dev": true, + "dependencies": { + "timsort": "^0.3.0" + }, + "engines": { + "node": ">= 10" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-select": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", + "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^5.1.0", + "domhandler": "^4.3.0", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-what": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", + "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "5.0.17", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.17.tgz", + "integrity": "sha512-fmjLP7k8kL18xSspeXTzRhaFtRI7DL9b8IcXR80JgtnWBpvAzHT7sCR/6qdn0tnxIaINUN6OEQu83wF57Gs3Xw==", + "dev": true, + "dependencies": { + "cssnano-preset-default": "^5.1.12", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-default": { + "version": "5.1.12", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.12.tgz", + "integrity": "sha512-rO/JZYyjW1QNkWBxMGV28DW7d98UDLaF759frhli58QFehZ+D/LSmwQ2z/ylBAe2hUlsIWTq6NYGfQPq65EF9w==", + "dev": true, + "dependencies": { + "css-declaration-sorter": "^6.0.3", + "cssnano-utils": "^3.0.2", + "postcss-calc": "^8.2.0", + "postcss-colormin": "^5.2.5", + "postcss-convert-values": "^5.0.4", + "postcss-discard-comments": "^5.0.3", + "postcss-discard-duplicates": "^5.0.3", + "postcss-discard-empty": "^5.0.3", + "postcss-discard-overridden": "^5.0.4", + "postcss-merge-longhand": "^5.0.6", + "postcss-merge-rules": "^5.0.6", + "postcss-minify-font-values": "^5.0.4", + "postcss-minify-gradients": "^5.0.6", + "postcss-minify-params": "^5.0.5", + "postcss-minify-selectors": "^5.1.3", + "postcss-normalize-charset": "^5.0.3", + "postcss-normalize-display-values": "^5.0.3", + "postcss-normalize-positions": "^5.0.4", + "postcss-normalize-repeat-style": "^5.0.4", + "postcss-normalize-string": "^5.0.4", + "postcss-normalize-timing-functions": "^5.0.3", + "postcss-normalize-unicode": "^5.0.4", + "postcss-normalize-url": "^5.0.5", + "postcss-normalize-whitespace": "^5.0.4", + "postcss-ordered-values": "^5.0.5", + "postcss-reduce-initial": "^5.0.3", + "postcss-reduce-transforms": "^5.0.4", + "postcss-svgo": "^5.0.4", + "postcss-unique-selectors": "^5.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-utils": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.0.2.tgz", + "integrity": "sha512-KhprijuQv2sP4kT92sSQwhlK3SJTbDIsxcfIEySB0O+3m9esFOai7dP9bMx5enHAh2MwarVIcnwiWoOm01RIbQ==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dir-glob/node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", + "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.71", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.71.tgz", + "integrity": "sha512-Hk61vXXKRb2cd3znPE9F+2pLWdIOmP7GjiTj45y6L3W/lO+hSnUSUhq+6lEaERWBdZOHbk2s3YV5c9xVl3boVw==" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", + "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", + "is-string": "^1.0.7", + "is-weakref": "^1.0.1", + "object-inspect": "^1.11.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fast-glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fraction.js": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.3.tgz", + "integrity": "sha512-pUHWWt6vHzZZiQJcM6S/0PXfS+g6FM4BF5rj9wZyreivhQPdsh5PpE25VtSNxq80wHS5RfY51Ii+8Z0Zl/pmzg==", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, + "node_modules/fs": { + "version": "0.0.1-security", + "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", + "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ=" + }, + "node_modules/fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stdin": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", + "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globby": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz", + "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==", + "dependencies": { + "array-union": "^3.0.1", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.7", + "ignore": "^5.1.9", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" + }, + "node_modules/ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immutable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", + "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==" + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dependencies": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", + "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", + "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/lilconfig": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz", + "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/nanoid": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", + "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "node_modules/node-releases": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz", + "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==" + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-all": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", + "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "memorystream": "^0.3.1", + "minimatch": "^3.0.4", + "pidtree": "^0.3.0", + "read-pkg": "^3.0.0", + "shell-quote": "^1.6.1", + "string.prototype.padend": "^3.0.0" + }, + "bin": { + "npm-run-all": "bin/npm-run-all/index.js", + "run-p": "bin/run-p/index.js", + "run-s": "bin/run-s/index.js" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/npm-run-all/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nth-check": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-inspect": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "engines": { + "node": ">=4" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", + "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss": { + "version": "8.4.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.6.tgz", + "integrity": "sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA==", + "dependencies": { + "nanoid": "^3.2.0", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-cli": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-9.1.0.tgz", + "integrity": "sha512-zvDN2ADbWfza42sAnj+O2uUWyL0eRL1V+6giM2vi4SqTR3gTYy8XzcpfwccayF2szcUif0HMmXiEaDv9iEhcpw==", + "dependencies": { + "chokidar": "^3.3.0", + "dependency-graph": "^0.11.0", + "fs-extra": "^10.0.0", + "get-stdin": "^9.0.0", + "globby": "^12.0.0", + "picocolors": "^1.0.0", + "postcss-load-config": "^3.0.0", + "postcss-reporter": "^7.0.0", + "pretty-hrtime": "^1.0.3", + "read-cache": "^1.0.0", + "slash": "^4.0.0", + "yargs": "^17.0.0" + }, + "bin": { + "postcss": "index.js" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-colormin": { + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.5.tgz", + "integrity": "sha512-+X30aDaGYq81mFqwyPpnYInsZQnNpdxMX0ajlY7AExCexEFkPVV+KrO7kXwayqEWL2xwEbNQ4nUO0ZsRWGnevg==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-convert-values": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.4.tgz", + "integrity": "sha512-bugzSAyjIexdObovsPZu/sBCTHccImJxLyFgeV0MmNBm/Lw5h5XnjfML6gzEmJ3A6nyfCW7hb1JXzcsA4Zfbdw==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-comments": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.3.tgz", + "integrity": "sha512-6W5BemziRoqIdAKT+1QjM4bNcJAQ7z7zk073730NHg4cUXh3/rQHHj7pmYxUB9aGhuRhBiUf0pXvIHkRwhQP0Q==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.3.tgz", + "integrity": "sha512-vPtm1Mf+kp7iAENTG7jI1MN1lk+fBqL5y+qxyi4v3H+lzsXEdfS3dwUZD45KVhgzDEgduur8ycB4hMegyMTeRw==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-empty": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.3.tgz", + "integrity": "sha512-xGJugpaXKakwKI7sSdZjUuN4V3zSzb2Y0LOlmTajFbNinEjTfVs9PFW2lmKBaC/E64WwYppfqLD03P8l9BuueA==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.4.tgz", + "integrity": "sha512-3j9QH0Qh1KkdxwiZOW82cId7zdwXVQv/gRXYDnwx5pBtR1sTkU4cXRK9lp5dSdiM0r0OICO/L8J6sV1/7m0kHg==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-js": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz", + "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.3.3" + } + }, + "node_modules/postcss-load-config": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.3.tgz", + "integrity": "sha512-5EYgaM9auHGtO//ljHH+v/aC/TQ5LHXtL7bQajNAUBKUVKiYE8rYpFms7+V26D9FncaGe2zwCoPQsFKb5zF/Hw==", + "dependencies": { + "lilconfig": "^2.0.4", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-merge-longhand": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.6.tgz", + "integrity": "sha512-rkmoPwQO6ymJSmWsX6l2hHeEBQa7C4kJb9jyi5fZB1sE8nSCv7sqchoYPixRwX/yvLoZP2y6FA5kcjiByeJqDg==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.0.3" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-rules": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.6.tgz", + "integrity": "sha512-nzJWJ9yXWp8AOEpn/HFAW72WKVGD2bsLiAmgw4hDchSij27bt6TF+sIK0cJUBAYT3SGcjtGGsOR89bwkkMuMgQ==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.0.2", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.4.tgz", + "integrity": "sha512-RN6q3tyuEesvyCYYFCRGJ41J1XFvgV+dvYGHr0CeHv8F00yILlN8Slf4t8XW4IghlfZYCeyRrANO6HpJ948ieA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.6.tgz", + "integrity": "sha512-E/dT6oVxB9nLGUTiY/rG5dX9taugv9cbLNTFad3dKxOO+BQg25Q/xo2z2ddG+ZB1CbkZYaVwx5blY8VC7R/43A==", + "dev": true, + "dependencies": { + "colord": "^2.9.1", + "cssnano-utils": "^3.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-params": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.5.tgz", + "integrity": "sha512-YBNuq3Rz5LfLFNHb9wrvm6t859b8qIqfXsWeK7wROm3jSKNpO1Y5e8cOyBv6Acji15TgSrAwb3JkVNCqNyLvBg==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "cssnano-utils": "^3.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.3.tgz", + "integrity": "sha512-9RJfTiQEKA/kZhMaEXND893nBqmYQ8qYa/G+uPdVnXF6D/FzpfI6kwBtWEcHx5FqDbA79O9n6fQJfrIj6M8jvQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-nested": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz", + "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==", + "dependencies": { + "postcss-selector-parser": "^6.0.6" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.3.tgz", + "integrity": "sha512-iKEplDBco9EfH7sx4ut7R2r/dwTnUqyfACf62Unc9UiyFuI7uUqZZtY+u+qp7g8Qszl/U28HIfcsI3pEABWFfA==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.3.tgz", + "integrity": "sha512-FIV5FY/qs4Ja32jiDb5mVj5iWBlS3N8tFcw2yg98+8MkRgyhtnBgSC0lxU+16AMHbjX5fbSJgw5AXLMolonuRQ==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.4.tgz", + "integrity": "sha512-qynirjBX0Lc73ROomZE3lzzmXXTu48/QiEzKgMeqh28+MfuHLsuqC9po4kj84igZqqFGovz8F8hf44hA3dPYmQ==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.4.tgz", + "integrity": "sha512-Innt+wctD7YpfeDR7r5Ik6krdyppyAg2HBRpX88fo5AYzC1Ut/l3xaxACG0KsbX49cO2n5EB13clPwuYVt8cMA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-string": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.4.tgz", + "integrity": "sha512-Dfk42l0+A1CDnVpgE606ENvdmksttLynEqTQf5FL3XGQOyqxjbo25+pglCUvziicTxjtI2NLUR6KkxyUWEVubQ==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.3.tgz", + "integrity": "sha512-QRfjvFh11moN4PYnJ7hia4uJXeFotyK3t2jjg8lM9mswleGsNw2Lm3I5wO+l4k1FzK96EFwEVn8X8Ojrp2gP4g==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.4.tgz", + "integrity": "sha512-W79Regn+a+eXTzB+oV/8XJ33s3pDyFTND2yDuUCo0Xa3QSy1HtNIfRVPXNubHxjhlqmMFADr3FSCHT84ITW3ig==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-url": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.5.tgz", + "integrity": "sha512-Ws3tX+PcekYlXh+ycAt0wyzqGthkvVtZ9SZLutMVvHARxcpu4o7vvXcNoiNKyjKuWecnjS6HDI3fjBuDr5MQxQ==", + "dev": true, + "dependencies": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.4.tgz", + "integrity": "sha512-wsnuHolYZjMwWZJoTC9jeI2AcjA67v4UuidDrPN9RnX8KIZfE+r2Nd6XZRwHVwUiHmRvKQtxiqo64K+h8/imaw==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-ordered-values": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.5.tgz", + "integrity": "sha512-mfY7lXpq+8bDEHfP+muqibDPhZ5eP9zgBEF9XRvoQgXcQe2Db3G1wcvjbnfjXG6wYsl+0UIjikqq4ym1V2jGMQ==", + "dev": true, + "dependencies": { + "cssnano-utils": "^3.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.3.tgz", + "integrity": "sha512-c88TkSnQ/Dnwgb4OZbKPOBbCaauwEjbECP5uAuFPOzQ+XdjNjRH7SG0dteXrpp1LlIFEKK76iUGgmw2V0xeieA==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.4.tgz", + "integrity": "sha512-VIJB9SFSaL8B/B7AXb7KHL6/GNNbbCHslgdzS9UDfBZYIA2nx8NLY7iD/BXFSO/1sRUILzBTfHCoW5inP37C5g==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reporter": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.0.5.tgz", + "integrity": "sha512-glWg7VZBilooZGOFPhN9msJ3FQs19Hie7l5a/eE6WglzYqVeH3ong3ShFcp9kDWJT1g2Y/wd59cocf9XxBtkWA==", + "dependencies": { + "picocolors": "^1.0.0", + "thenby": "^1.3.4" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz", + "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.4.tgz", + "integrity": "sha512-yDKHvULbnZtIrRqhZoA+rxreWpee28JSRH/gy9727u0UCgtpv1M/9WEWY3xySlFa0zQJcqf6oCBJPR5NwkmYpg==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.4.tgz", + "integrity": "sha512-5ampwoSDJCxDPoANBIlMgoBcYUHnhaiuLYJR5pj1DLnYQvMRVyFuTA5C3Bvt+aHtiqWpJkD/lXT50Vo1D0ZsAQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/read-cache/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dependencies": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "dependencies": { + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/sass": { + "version": "1.49.8", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.49.8.tgz", + "integrity": "sha512-NoGOjvDDOU9og9oAxhRnap71QaTjjlzrvLnKecUJ3GxhaQBrV6e7gPuSPF28u1OcVAArVojPAe4ZhOXwwC4tGw==", + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shell-quote": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz", + "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==" + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==" + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.padend": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.3.tgz", + "integrity": "sha512-jNIIeokznm8SD/TZISQsZKYu7RJyheFNt84DUPrh482GC8RVp2MKqm2O5oBRdGxbDQoXrhhWtPIWQOiy20svUg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "engines": { + "node": ">=4" + } + }, + "node_modules/stylehacks": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.3.tgz", + "integrity": "sha512-ENcUdpf4yO0E1rubu8rkxI+JGQk4CgjchynZ4bDBJDfqdy+uhTRSWb8/F3Jtu+Bw5MW45Po3/aQGeIyyxgQtxg==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dev": true, + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/thenby": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/thenby/-/thenby-1.3.4.tgz", + "integrity": "sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==" + }, + "node_modules/timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "dev": true + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dependencies": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "17.3.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz", + "integrity": "sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==", + "engines": { + "node": ">=12" + } + } + }, "dependencies": { "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, "requires": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -17,30 +2684,32 @@ "@nodelib/fs.stat": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" }, "@nodelib/fs.walk": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, "requires": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, + "@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true + }, "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "requires": { "color-convert": "^1.9.0" } @@ -49,49 +2718,54 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, + "arg": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.1.tgz", + "integrity": "sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==" + }, "array-union": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", - "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", - "dev": true + "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==" }, "autoprefixer": { - "version": "10.3.7", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.3.7.tgz", - "integrity": "sha512-EmGpu0nnQVmMhX8ROoJ7Mx8mKYPlcUHuxkwrRYEYMz85lu7H09v8w6R1P0JPdn/hKU32GjpLBFEOuIlDWCRWvg==", - "dev": true, + "version": "10.4.2", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.2.tgz", + "integrity": "sha512-9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ==", "requires": { - "browserslist": "^4.17.3", - "caniuse-lite": "^1.0.30001264", - "fraction.js": "^4.1.1", + "browserslist": "^4.19.1", + "caniuse-lite": "^1.0.30001297", + "fraction.js": "^4.1.2", "normalize-range": "^0.1.2", - "picocolors": "^0.2.1", - "postcss-value-parser": "^4.1.0" + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" } }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", "dev": true }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -101,64 +2775,102 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, "requires": { "fill-range": "^7.0.1" } }, "browserslist": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.4.tgz", - "integrity": "sha512-Zg7RpbZpIJRW3am9Lyckue7PLytvVxxhJj1CaJVlCWENsGEAOlnlt8X0ZxGRPp7Bt9o8tIRM5SEXy4BCPMJjLQ==", - "dev": true, + "version": "4.19.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.3.tgz", + "integrity": "sha512-XK3X4xtKJ+Txj8G5c30B4gsm71s69lqXlkYui4s6EkKxuv49qjYlY6oVd+IFJ73d4YymtM3+djvvt/R/iJwwDg==", "requires": { - "caniuse-lite": "^1.0.30001265", - "electron-to-chromium": "^1.3.867", + "caniuse-lite": "^1.0.30001312", + "electron-to-chromium": "^1.4.71", "escalade": "^3.1.1", - "node-releases": "^2.0.0", + "node-releases": "^2.0.2", "picocolors": "^1.0.0" - }, - "dependencies": { - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - } } }, "call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, "requires": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" } }, + "camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, "caniuse-lite": { - "version": "1.0.30001270", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001270.tgz", - "integrity": "sha512-TcIC7AyNWXhcOmv2KftOl1ShFAaHQYcB/EPL/hEyMrcS7ZX0/DvV1aoy6BzV0+16wTpoAyTMGDNAJfSqS/rz7A==", - "dev": true + "version": "1.0.30001312", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz", + "integrity": "sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ==" }, "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } } }, "chokidar": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", - "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", - "dev": true, + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "requires": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -171,21 +2883,20 @@ } }, "clean-css": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.2.1.tgz", - "integrity": "sha512-ooQCa1/70oRfVdUUGjKpbHuxgMgm8BsDT5EBqBGvPxMoRoGXf4PNx5mMnkjzJ9Ptx4vvmDdha0QVh86QtYIk1g==", - "dev": true, + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.2.4.tgz", + "integrity": "sha512-nKseG8wCzEuji/4yrgM/5cthL9oTDc5UOQyFMvW/Q53oP6gLH690o1NbuTh6Y18nujr7BxlsFuS7gXLnLzKJGg==", "requires": { "source-map": "~0.6.0" } }, "clean-css-cli": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/clean-css-cli/-/clean-css-cli-5.4.1.tgz", - "integrity": "sha512-LQLY8HKQP2d/M0FVbNfpoVbHMHh/ARIET2r80odAKuTN0RUOp8J8pU9eDlqMa1yezuUH3ipQxTVM/+vpunAhnA==", - "dev": true, + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/clean-css-cli/-/clean-css-cli-5.5.2.tgz", + "integrity": "sha512-4y5FD+ayRz7IWqZRCCMvFxNUhluc1Yv8mNPmrHbrm2NjKsv9uaQZedZKN4L+QMkTqANL1RfOwhpe22neDEgEMA==", "requires": { - "clean-css": "^5.2.1", + "chokidar": "^3.5.2", + "clean-css": "^5.2.4", "commander": "7.x", "glob": "^7.1.6" } @@ -194,7 +2905,6 @@ "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, "requires": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -205,7 +2915,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "requires": { "color-name": "1.1.3" } @@ -213,26 +2922,28 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "colord": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz", + "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==", "dev": true }, "commander": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "cross-spawn": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, "requires": { "nice-try": "^1.0.4", "path-key": "^2.0.1", @@ -241,11 +2952,117 @@ "which": "^1.2.9" } }, + "css-declaration-sorter": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.4.tgz", + "integrity": "sha512-lpfkqS0fctcmZotJGhnxkIyJWvBXgpyi2wsFd4J8VB7wzyrT6Ch/3Q+FMNJpjK4gu1+GN5khOnpU2ZVKrLbhCw==", + "dev": true, + "requires": { + "timsort": "^0.3.0" + } + }, + "css-select": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", + "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^5.1.0", + "domhandler": "^4.3.0", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "css-what": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", + "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + }, + "cssnano": { + "version": "5.0.17", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.17.tgz", + "integrity": "sha512-fmjLP7k8kL18xSspeXTzRhaFtRI7DL9b8IcXR80JgtnWBpvAzHT7sCR/6qdn0tnxIaINUN6OEQu83wF57Gs3Xw==", + "dev": true, + "requires": { + "cssnano-preset-default": "^5.1.12", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + } + }, + "cssnano-preset-default": { + "version": "5.1.12", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.12.tgz", + "integrity": "sha512-rO/JZYyjW1QNkWBxMGV28DW7d98UDLaF759frhli58QFehZ+D/LSmwQ2z/ylBAe2hUlsIWTq6NYGfQPq65EF9w==", + "dev": true, + "requires": { + "css-declaration-sorter": "^6.0.3", + "cssnano-utils": "^3.0.2", + "postcss-calc": "^8.2.0", + "postcss-colormin": "^5.2.5", + "postcss-convert-values": "^5.0.4", + "postcss-discard-comments": "^5.0.3", + "postcss-discard-duplicates": "^5.0.3", + "postcss-discard-empty": "^5.0.3", + "postcss-discard-overridden": "^5.0.4", + "postcss-merge-longhand": "^5.0.6", + "postcss-merge-rules": "^5.0.6", + "postcss-minify-font-values": "^5.0.4", + "postcss-minify-gradients": "^5.0.6", + "postcss-minify-params": "^5.0.5", + "postcss-minify-selectors": "^5.1.3", + "postcss-normalize-charset": "^5.0.3", + "postcss-normalize-display-values": "^5.0.3", + "postcss-normalize-positions": "^5.0.4", + "postcss-normalize-repeat-style": "^5.0.4", + "postcss-normalize-string": "^5.0.4", + "postcss-normalize-timing-functions": "^5.0.3", + "postcss-normalize-unicode": "^5.0.4", + "postcss-normalize-url": "^5.0.5", + "postcss-normalize-whitespace": "^5.0.4", + "postcss-ordered-values": "^5.0.5", + "postcss-reduce-initial": "^5.0.3", + "postcss-reduce-transforms": "^5.0.4", + "postcss-svgo": "^5.0.4", + "postcss-unique-selectors": "^5.0.4" + } + }, + "cssnano-utils": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.0.2.tgz", + "integrity": "sha512-KhprijuQv2sP4kT92sSQwhlK3SJTbDIsxcfIEySB0O+3m9esFOai7dP9bMx5enHAh2MwarVIcnwiWoOm01RIbQ==", + "dev": true, + "requires": {} + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "requires": { + "css-tree": "^1.1.2" + } + }, "define-properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, "requires": { "object-keys": "^1.0.12" } @@ -253,14 +3070,12 @@ "dependency-graph": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", - "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", - "dev": true + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==" }, "dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, "requires": { "path-type": "^4.0.0" }, @@ -268,28 +3083,67 @@ "path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" } } }, - "electron-to-chromium": { - "version": "1.3.875", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.875.tgz", - "integrity": "sha512-K/rqxvLwZOshysgPOqfU1x8rfdFXyieYLdT1JYlLHkLj8gI/4Qh4Xi+KrO6kq4t3aNhp/wGSGOyR4ooYvXbvyg==", + "dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", "dev": true }, + "domhandler": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", + "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "electron-to-chromium": { + "version": "1.4.71", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.71.tgz", + "integrity": "sha512-Hk61vXXKRb2cd3znPE9F+2pLWdIOmP7GjiTj45y6L3W/lO+hSnUSUhq+6lEaERWBdZOHbk2s3YV5c9xVl3boVw==" + }, "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "dev": true }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, "requires": { "is-arrayish": "^0.2.1" } @@ -298,7 +3152,6 @@ "version": "1.19.1", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", - "dev": true, "requires": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", @@ -326,7 +3179,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, "requires": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -336,20 +3188,17 @@ "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "fast-glob": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", - "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", - "dev": true, + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -362,7 +3211,6 @@ "version": "1.13.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dev": true, "requires": { "reusify": "^1.0.4" } @@ -371,22 +3219,24 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, "requires": { "to-regex-range": "^5.0.1" } }, "fraction.js": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.1.tgz", - "integrity": "sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg==", - "dev": true + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.3.tgz", + "integrity": "sha512-pUHWWt6vHzZZiQJcM6S/0PXfS+g6FM4BF5rj9wZyreivhQPdsh5PpE25VtSNxq80wHS5RfY51Ii+8Z0Zl/pmzg==" + }, + "fs": { + "version": "0.0.1-security", + "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", + "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ=" }, "fs-extra": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", - "dev": true, "requires": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -396,33 +3246,28 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, "optional": true }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, "get-intrinsic": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dev": true, "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -432,14 +3277,12 @@ "get-stdin": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", - "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", - "dev": true + "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==" }, "get-symbol-description": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, "requires": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.1" @@ -449,7 +3292,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -463,36 +3305,32 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "requires": { "is-glob": "^4.0.1" } }, "globby": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-12.0.2.tgz", - "integrity": "sha512-lAsmb/5Lww4r7MM9nCCliDZVIKbZTavrsunAsHLr9oHthrZP1qi7/gAnHOsUs9bLvEt2vKVJhHmxuL7QbDuPdQ==", - "dev": true, + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz", + "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==", "requires": { "array-union": "^3.0.1", "dir-glob": "^3.0.1", "fast-glob": "^3.2.7", - "ignore": "^5.1.8", + "ignore": "^5.1.9", "merge2": "^1.4.1", "slash": "^4.0.0" } }, "graceful-fs": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", - "dev": true + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, "requires": { "function-bind": "^1.1.1" } @@ -500,26 +3338,22 @@ "has-bigints": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", - "dev": true + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==" }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "has-symbols": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" }, "has-tostringtag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, "requires": { "has-symbols": "^1.0.2" } @@ -527,38 +3361,22 @@ "hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" }, "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true - }, - "import-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz", - "integrity": "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==", - "dev": true, - "requires": { - "import-from": "^3.0.0" - } + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==" }, - "import-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz", - "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - } + "immutable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", + "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==" }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -567,14 +3385,12 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "internal-slot": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "dev": true, "requires": { "get-intrinsic": "^1.1.0", "has": "^1.0.3", @@ -584,14 +3400,12 @@ "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, "is-bigint": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, "requires": { "has-bigints": "^1.0.1" } @@ -600,7 +3414,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, "requires": { "binary-extensions": "^2.0.0" } @@ -609,7 +3422,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, "requires": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -618,14 +3430,12 @@ "is-callable": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", - "dev": true + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==" }, "is-core-module": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", - "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", - "dev": true, + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", "requires": { "has": "^1.0.3" } @@ -634,7 +3444,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, "requires": { "has-tostringtag": "^1.0.0" } @@ -642,41 +3451,35 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, "requires": { "is-extglob": "^2.1.1" } }, "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "dev": true + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, "is-number-object": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", - "dev": true, "requires": { "has-tostringtag": "^1.0.0" } @@ -685,7 +3488,6 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, "requires": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -694,14 +3496,12 @@ "is-shared-array-buffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", - "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", - "dev": true + "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==" }, "is-string": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, "requires": { "has-tostringtag": "^1.0.0" } @@ -710,53 +3510,46 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, "requires": { "has-symbols": "^1.0.2" } }, "is-weakref": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz", - "integrity": "sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==", - "dev": true, + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "requires": { - "call-bind": "^1.0.0" + "call-bind": "^1.0.2" } }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" }, "jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, "requires": { "graceful-fs": "^4.1.6", "universalify": "^2.0.0" } }, "lilconfig": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.3.tgz", - "integrity": "sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg==", - "dev": true + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz", + "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==" }, "load-json-file": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, "requires": { "graceful-fs": "^4.1.2", "parse-json": "^4.0.0", @@ -764,96 +3557,70 @@ "strip-bom": "^3.0.0" } }, - "lodash.difference": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", - "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=", - "dev": true - }, - "lodash.forown": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.forown/-/lodash.forown-4.4.0.tgz", - "integrity": "sha1-hRFc8E9z75ZuztUlEdOJPMRmg68=", - "dev": true - }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", "dev": true }, - "lodash.groupby": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.groupby/-/lodash.groupby-4.6.0.tgz", - "integrity": "sha1-Cwih3PaDl8OXhVwyOXg4Mt90A9E=", + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", "dev": true }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", "dev": true }, "memorystream": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", - "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", - "dev": true + "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=" }, "merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" }, "micromatch": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dev": true, "requires": { "braces": "^3.0.1", "picomatch": "^2.2.3" } }, "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "requires": { "brace-expansion": "^1.1.7" } }, - "nanocolors": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.2.13.tgz", - "integrity": "sha512-0n3mSAQLPpGLV9ORXT5+C/D4mwew7Ebws69Hx4E2sgz2ZA5+32Q80B9tL8PbL7XHnRDiAxH/pnrUJ9a4fkTNTA==", - "dev": true - }, "nanoid": { - "version": "3.1.30", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz", - "integrity": "sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==", - "dev": true + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", + "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==" }, "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" }, "node-releases": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.0.tgz", - "integrity": "sha512-aA87l0flFYMzCHpTM3DERFSYxc6lv/BltdbRTOMZuxZ0cwZCD3mejE5n9vLhSJCN++/eOqr77G1IO5uXxlQYWA==", - "dev": true + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz", + "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==" }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, "requires": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", @@ -864,20 +3631,23 @@ "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" }, "normalize-range": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", "dev": true }, "npm-run-all": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", - "dev": true, "requires": { "ansi-styles": "^3.2.1", "chalk": "^2.4.1", @@ -888,25 +3658,43 @@ "read-pkg": "^3.0.0", "shell-quote": "^1.6.1", "string.prototype.padend": "^3.0.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + } + } + }, + "nth-check": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" } }, "object-inspect": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", - "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", - "dev": true + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==" }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" }, "object.assign": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, "requires": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", @@ -918,7 +3706,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1" } @@ -927,7 +3714,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, "requires": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" @@ -936,85 +3722,77 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" }, "path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "path-type": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, "requires": { "pify": "^3.0.0" } }, "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", - "dev": true + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" }, "pidtree": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", - "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", - "dev": true + "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==" }, "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" }, "postcss": { - "version": "8.3.10", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.10.tgz", - "integrity": "sha512-YYfvfUdWx+ECpr5Hgc6XRfsaux8LksL5ey8qTtWiuRXOpOF1YYMwAySdh0nSmwhZAFvvJ6rgiIkKVShu4x2T1Q==", - "dev": true, + "version": "8.4.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.6.tgz", + "integrity": "sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA==", "requires": { - "nanoid": "^3.1.30", + "nanoid": "^3.2.0", "picocolors": "^1.0.0", - "source-map-js": "^0.6.2" - }, - "dependencies": { - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - } + "source-map-js": "^1.0.2" } }, - "postcss-cli": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-9.0.1.tgz", - "integrity": "sha512-zO160OBaAZBFUWO+QZIzEKMjnPIc5c61dMg1d7xafblh9cxbNb6s16ahJuP91PcVsu//gqr7BKllJxRiRDsSYw==", + "postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-cli": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-9.1.0.tgz", + "integrity": "sha512-zvDN2ADbWfza42sAnj+O2uUWyL0eRL1V+6giM2vi4SqTR3gTYy8XzcpfwccayF2szcUif0HMmXiEaDv9iEhcpw==", "requires": { "chokidar": "^3.3.0", "dependency-graph": "^0.11.0", "fs-extra": "^10.0.0", "get-stdin": "^9.0.0", "globby": "^12.0.0", - "nanocolors": "^0.2.11", + "picocolors": "^1.0.0", "postcss-load-config": "^3.0.0", "postcss-reporter": "^7.0.0", "pretty-hrtime": "^1.0.3", @@ -1023,62 +3801,308 @@ "yargs": "^17.0.0" } }, - "postcss-load-config": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.0.tgz", - "integrity": "sha512-ipM8Ds01ZUophjDTQYSVP70slFSYg3T0/zyfII5vzhN6V57YSxMgG5syXuwi5VtS8wSf3iL30v0uBdoIVx4Q0g==", + "postcss-colormin": { + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.5.tgz", + "integrity": "sha512-+X30aDaGYq81mFqwyPpnYInsZQnNpdxMX0ajlY7AExCexEFkPVV+KrO7kXwayqEWL2xwEbNQ4nUO0ZsRWGnevg==", "dev": true, "requires": { - "import-cwd": "^3.0.0", - "lilconfig": "^2.0.3", + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-convert-values": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.4.tgz", + "integrity": "sha512-bugzSAyjIexdObovsPZu/sBCTHccImJxLyFgeV0MmNBm/Lw5h5XnjfML6gzEmJ3A6nyfCW7hb1JXzcsA4Zfbdw==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-discard-comments": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.3.tgz", + "integrity": "sha512-6W5BemziRoqIdAKT+1QjM4bNcJAQ7z7zk073730NHg4cUXh3/rQHHj7pmYxUB9aGhuRhBiUf0pXvIHkRwhQP0Q==", + "dev": true, + "requires": {} + }, + "postcss-discard-duplicates": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.3.tgz", + "integrity": "sha512-vPtm1Mf+kp7iAENTG7jI1MN1lk+fBqL5y+qxyi4v3H+lzsXEdfS3dwUZD45KVhgzDEgduur8ycB4hMegyMTeRw==", + "dev": true, + "requires": {} + }, + "postcss-discard-empty": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.3.tgz", + "integrity": "sha512-xGJugpaXKakwKI7sSdZjUuN4V3zSzb2Y0LOlmTajFbNinEjTfVs9PFW2lmKBaC/E64WwYppfqLD03P8l9BuueA==", + "dev": true, + "requires": {} + }, + "postcss-discard-overridden": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.4.tgz", + "integrity": "sha512-3j9QH0Qh1KkdxwiZOW82cId7zdwXVQv/gRXYDnwx5pBtR1sTkU4cXRK9lp5dSdiM0r0OICO/L8J6sV1/7m0kHg==", + "dev": true, + "requires": {} + }, + "postcss-js": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz", + "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==", + "requires": { + "camelcase-css": "^2.0.1" + } + }, + "postcss-load-config": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.3.tgz", + "integrity": "sha512-5EYgaM9auHGtO//ljHH+v/aC/TQ5LHXtL7bQajNAUBKUVKiYE8rYpFms7+V26D9FncaGe2zwCoPQsFKb5zF/Hw==", + "requires": { + "lilconfig": "^2.0.4", "yaml": "^1.10.2" } }, + "postcss-merge-longhand": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.6.tgz", + "integrity": "sha512-rkmoPwQO6ymJSmWsX6l2hHeEBQa7C4kJb9jyi5fZB1sE8nSCv7sqchoYPixRwX/yvLoZP2y6FA5kcjiByeJqDg==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.0.3" + } + }, + "postcss-merge-rules": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.6.tgz", + "integrity": "sha512-nzJWJ9yXWp8AOEpn/HFAW72WKVGD2bsLiAmgw4hDchSij27bt6TF+sIK0cJUBAYT3SGcjtGGsOR89bwkkMuMgQ==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.0.2", + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-minify-font-values": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.4.tgz", + "integrity": "sha512-RN6q3tyuEesvyCYYFCRGJ41J1XFvgV+dvYGHr0CeHv8F00yILlN8Slf4t8XW4IghlfZYCeyRrANO6HpJ948ieA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-gradients": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.6.tgz", + "integrity": "sha512-E/dT6oVxB9nLGUTiY/rG5dX9taugv9cbLNTFad3dKxOO+BQg25Q/xo2z2ddG+ZB1CbkZYaVwx5blY8VC7R/43A==", + "dev": true, + "requires": { + "colord": "^2.9.1", + "cssnano-utils": "^3.0.2", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-params": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.5.tgz", + "integrity": "sha512-YBNuq3Rz5LfLFNHb9wrvm6t859b8qIqfXsWeK7wROm3jSKNpO1Y5e8cOyBv6Acji15TgSrAwb3JkVNCqNyLvBg==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "cssnano-utils": "^3.0.2", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-selectors": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.3.tgz", + "integrity": "sha512-9RJfTiQEKA/kZhMaEXND893nBqmYQ8qYa/G+uPdVnXF6D/FzpfI6kwBtWEcHx5FqDbA79O9n6fQJfrIj6M8jvQ==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-nested": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz", + "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==", + "requires": { + "postcss-selector-parser": "^6.0.6" + } + }, + "postcss-normalize-charset": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.3.tgz", + "integrity": "sha512-iKEplDBco9EfH7sx4ut7R2r/dwTnUqyfACf62Unc9UiyFuI7uUqZZtY+u+qp7g8Qszl/U28HIfcsI3pEABWFfA==", + "dev": true, + "requires": {} + }, + "postcss-normalize-display-values": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.3.tgz", + "integrity": "sha512-FIV5FY/qs4Ja32jiDb5mVj5iWBlS3N8tFcw2yg98+8MkRgyhtnBgSC0lxU+16AMHbjX5fbSJgw5AXLMolonuRQ==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-positions": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.4.tgz", + "integrity": "sha512-qynirjBX0Lc73ROomZE3lzzmXXTu48/QiEzKgMeqh28+MfuHLsuqC9po4kj84igZqqFGovz8F8hf44hA3dPYmQ==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.4.tgz", + "integrity": "sha512-Innt+wctD7YpfeDR7r5Ik6krdyppyAg2HBRpX88fo5AYzC1Ut/l3xaxACG0KsbX49cO2n5EB13clPwuYVt8cMA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-string": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.4.tgz", + "integrity": "sha512-Dfk42l0+A1CDnVpgE606ENvdmksttLynEqTQf5FL3XGQOyqxjbo25+pglCUvziicTxjtI2NLUR6KkxyUWEVubQ==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.3.tgz", + "integrity": "sha512-QRfjvFh11moN4PYnJ7hia4uJXeFotyK3t2jjg8lM9mswleGsNw2Lm3I5wO+l4k1FzK96EFwEVn8X8Ojrp2gP4g==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-unicode": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.4.tgz", + "integrity": "sha512-W79Regn+a+eXTzB+oV/8XJ33s3pDyFTND2yDuUCo0Xa3QSy1HtNIfRVPXNubHxjhlqmMFADr3FSCHT84ITW3ig==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-url": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.5.tgz", + "integrity": "sha512-Ws3tX+PcekYlXh+ycAt0wyzqGthkvVtZ9SZLutMVvHARxcpu4o7vvXcNoiNKyjKuWecnjS6HDI3fjBuDr5MQxQ==", + "dev": true, + "requires": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-whitespace": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.4.tgz", + "integrity": "sha512-wsnuHolYZjMwWZJoTC9jeI2AcjA67v4UuidDrPN9RnX8KIZfE+r2Nd6XZRwHVwUiHmRvKQtxiqo64K+h8/imaw==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-ordered-values": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.5.tgz", + "integrity": "sha512-mfY7lXpq+8bDEHfP+muqibDPhZ5eP9zgBEF9XRvoQgXcQe2Db3G1wcvjbnfjXG6wYsl+0UIjikqq4ym1V2jGMQ==", + "dev": true, + "requires": { + "cssnano-utils": "^3.0.2", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-reduce-initial": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.3.tgz", + "integrity": "sha512-c88TkSnQ/Dnwgb4OZbKPOBbCaauwEjbECP5uAuFPOzQ+XdjNjRH7SG0dteXrpp1LlIFEKK76iUGgmw2V0xeieA==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.4.tgz", + "integrity": "sha512-VIJB9SFSaL8B/B7AXb7KHL6/GNNbbCHslgdzS9UDfBZYIA2nx8NLY7iD/BXFSO/1sRUILzBTfHCoW5inP37C5g==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, "postcss-reporter": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.0.4.tgz", - "integrity": "sha512-jY/fnpGSin7kwJeunXbY35STp5O3VIxSFdjee5JkoPQ+FfGH5JW3N+Xe9oAPcL9UkjWjkK+JC72o8XH4XXKdhw==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.0.5.tgz", + "integrity": "sha512-glWg7VZBilooZGOFPhN9msJ3FQs19Hie7l5a/eE6WglzYqVeH3ong3ShFcp9kDWJT1g2Y/wd59cocf9XxBtkWA==", + "requires": { + "picocolors": "^1.0.0", + "thenby": "^1.3.4" + } + }, + "postcss-selector-parser": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz", + "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==", + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.4.tgz", + "integrity": "sha512-yDKHvULbnZtIrRqhZoA+rxreWpee28JSRH/gy9727u0UCgtpv1M/9WEWY3xySlFa0zQJcqf6oCBJPR5NwkmYpg==", "dev": true, "requires": { - "lodash.difference": "^4.5.0", - "lodash.forown": "^4.4.0", - "lodash.get": "^4.4.2", - "lodash.groupby": "^4.6.0", - "lodash.sortby": "^4.7.0", - "picocolors": "^1.0.0" - }, - "dependencies": { - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - } + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + } + }, + "postcss-unique-selectors": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.4.tgz", + "integrity": "sha512-5ampwoSDJCxDPoANBIlMgoBcYUHnhaiuLYJR5pj1DLnYQvMRVyFuTA5C3Bvt+aHtiqWpJkD/lXT50Vo1D0ZsAQ==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.5" } }, "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", - "dev": true + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" }, "pretty-hrtime": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", - "dev": true + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=" }, "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" }, "read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", - "dev": true, "requires": { "pify": "^2.3.0" }, @@ -1086,8 +4110,7 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" } } }, @@ -1095,7 +4118,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, "requires": { "load-json-file": "^4.0.0", "normalize-package-data": "^2.3.2", @@ -1106,7 +4128,6 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, "requires": { "picomatch": "^2.2.1" } @@ -1114,60 +4135,49 @@ "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 + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dev": true, + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" } }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - }, "reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" }, "run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, "requires": { "queue-microtask": "^1.2.2" } }, "sass": { - "version": "1.43.2", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.43.2.tgz", - "integrity": "sha512-DncYhjl3wBaPMMJR0kIUaH3sF536rVrOcqqVGmTZHQRRzj7LQlyGV7Mb8aCKFyILMr5VsPHwRYtyKpnKYlmQSQ==", - "dev": true, + "version": "https://registry.npmjs.org/sass/-/sass-1.49.8.tgz", + "integrity": "sha512-NoGOjvDDOU9og9oAxhRnap71QaTjjlzrvLnKecUJ3GxhaQBrV6e7gPuSPF28u1OcVAArVojPAe4ZhOXwwC4tGw==", "requires": { - "chokidar": ">=3.0.0 <4.0.0" + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" } }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, "requires": { "shebang-regex": "^1.0.0" } @@ -1175,20 +4185,17 @@ "shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" }, "shell-quote": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", - "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", - "dev": true + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz", + "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==" }, "side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, "requires": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", @@ -1198,26 +4205,22 @@ "slash": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==" }, "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 + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "source-map-js": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", - "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", - "dev": true + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" }, "spdx-correct": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" @@ -1226,30 +4229,32 @@ "spdx-exceptions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" }, "spdx-expression-parse": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, "requires": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz", - "integrity": "sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==", + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==" + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", "dev": true }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -1260,7 +4265,6 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.3.tgz", "integrity": "sha512-jNIIeokznm8SD/TZISQsZKYu7RJyheFNt84DUPrh482GC8RVp2MKqm2O5oBRdGxbDQoXrhhWtPIWQOiy20svUg==", - "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", @@ -1271,7 +4275,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", - "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" @@ -1281,7 +4284,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", - "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" @@ -1291,7 +4293,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "requires": { "ansi-regex": "^5.0.1" } @@ -1299,23 +4300,61 @@ "strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + }, + "stylehacks": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.3.tgz", + "integrity": "sha512-ENcUdpf4yO0E1rubu8rkxI+JGQk4CgjchynZ4bDBJDfqdy+uhTRSWb8/F3Jtu+Bw5MW45Po3/aQGeIyyxgQtxg==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "postcss-selector-parser": "^6.0.4" + } }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "requires": { "has-flag": "^3.0.0" } }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, + "svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dev": true, + "requires": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + } + }, + "thenby": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/thenby/-/thenby-1.3.4.tgz", + "integrity": "sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==" + }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "dev": true + }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, "requires": { "is-number": "^7.0.0" } @@ -1324,7 +4363,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", - "dev": true, "requires": { "function-bind": "^1.1.1", "has-bigints": "^1.0.1", @@ -1335,14 +4373,17 @@ "universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, "requires": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" @@ -1352,7 +4393,6 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, "requires": { "isexe": "^2.0.0" } @@ -1361,7 +4401,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, "requires": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -1374,7 +4413,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -1385,7 +4423,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -1394,7 +4431,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "requires": { "color-name": "~1.1.4" } @@ -1402,49 +4438,43 @@ "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" } } }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" }, "yaml": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" }, "yargs": { - "version": "17.2.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.2.1.tgz", - "integrity": "sha512-XfR8du6ua4K6uLGm5S6fA+FIJom/MdJcFNVY8geLlp2v8GYbOXD4EB1tPNZsRn4vBzKGMgb5DRZMeWuFc2GO8Q==", - "dev": true, + "version": "17.3.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz", + "integrity": "sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==", "requires": { "cliui": "^7.0.2", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "string-width": "^4.2.0", + "string-width": "^4.2.3", "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "yargs-parser": "^21.0.0" } }, "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==" } } } diff --git a/package.json b/package.json index 4196cb6..65f8405 100755 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "orbitcss", - "version": "2.0.0", + "version": "3.0.0", "description": "Flexbox based CSS framework", - "main": "orbit.scss", + "main": "src/index.js", "homepage": "https://orbitcss.com", "repository": { "type": "git", @@ -11,12 +11,19 @@ "bugs": { "url": "https://github.com/OrbitCSS/orbitcss/issues" }, + "bin": { + "orbitcss": "src/cli" + }, + "files": [ + "src" + ], "scripts": { "build:sass": "sass --style expanded orbit.scss css/orbit.css", "build:clean": "cleancss -o css/orbit.min.css css/orbit.css", "build:autoprefixer": "postcss --use autoprefixer --map false --output css/orbit.css css/orbit.css", "build": "npm-run-all build:sass build:autoprefixer build:clean", - "start": "npm run build:sass -- --watch" + "start": "npm run build:sass -- --watch", + "orbitcss": "node src/index" }, "author": "Rhys Hall ", "license": "MIT", @@ -28,12 +35,21 @@ "sass", "orbitcss" ], - "devDependencies": { - "autoprefixer": "^10.3.7", - "clean-css-cli": "^5.4.1", + "dependencies": { + "arg": "^5.0.1", + "autoprefixer": "^10.4.2", + "chalk": "^4.1.2", + "clean-css-cli": "^5.5.2", + "fs": "0.0.1-security", "npm-run-all": "^4.1.5", - "postcss": "^8.3.10", - "postcss-cli": "^9.0.1", - "sass": "^1.43.2" + "postcss-cli": "^9.1.0", + "postcss-js": "^4.0.0", + "postcss-nested": "^5.0.6", + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "devDependencies": { + "cssnano": "^5.0.17", + "postcss": "^8.4.6" } } diff --git a/scss/base/_all.scss b/scss/base/_all.scss deleted file mode 100755 index c822fb7..0000000 --- a/scss/base/_all.scss +++ /dev/null @@ -1,5 +0,0 @@ -@import './functions'; -@import './colors'; -@import './general'; -@import './helpers'; -@import './typography'; diff --git a/scss/base/_colors.scss b/scss/base/_colors.scss index 23d4c18..554bfcb 100755 --- a/scss/base/_colors.scss +++ b/scss/base/_colors.scss @@ -1,90 +1,3 @@ -$color-type: hsl !default; - -@if not index(hsl rgba hex, $color-type) { - $color-type: hsl; -} - -$primary: #6e45e2 !default; -$secondary: #ff5e82 !default; -$warning: #ffdd57 !default; -$info: #bfd9fe !default; -$danger: #ff2b56 !default; -$success: #00e3ae !default; -$black: #393939 !default; -$dark: #304352 !default; -$night: #4e4376 !default; -$white: #ffffff !default; -$light: #f5f5f5 !default; -$light-grey: #d7d2cc !default; -$dark-grey: #616161 !default; -$link: #495aff !default; -$disabled: #f7f7f7 !default; -$muted: lighten($dark-grey, 35%) !default; - -$custom-palette: () !default; - -$color-palette: ( - "primary": $primary, - "secondary": $secondary, - "warning": $warning, - "info": $info, - "danger": $danger, - "success": $success, - "black": $black, - "dark": $dark, - "night": $night, - "white": $white, - "light": $light, - "light-grey": $light-grey, - "dark-grey": $dark-grey -); - -$color-palette: map-merge($color-palette, $custom-palette); - -:root { - @each $color in $color-palette { - --color-#{nth($color, 1)}: #{createColor(nth($color, 2))}; - --color-#{nth($color, 1)}-darker: #{createColor(darken(nth($color, 2), 10))}; - --color-#{nth($color, 1)}-lighter: #{createColor(lighten(nth($color, 2), 10))}; - --color-#{nth($color, 1)}-text: #{getTextColor(nth($color, 2))}; - --color-#{nth($color, 1)}-alert: #{createColor(transparentize(nth($color, 2), 0.8))}; - } - --color-black-overlay: #{createColor(transparentize($black, 0.5))}; - - --color-link: #{createColor($link)}; - --color-muted: #{createColor($muted)}; - --color-disabled: #{createColor($disabled)}; -} - -.has-text { - @each $color in $color-palette { - &-#{nth($color, 1)} { - --font-color: var(--color-#{nth($color, 1)}) !important; - color: var(--font-color) !important; - } - } - - &-muted { - --font-color: var(--color-muted) !important; - color: var(--font-color) !important; - } - - &-disabled { - --font-color: var(--color-disabled) !important; - color: var(--font-color) !important; - } -} - -.has-bg { - @each $color in $color-palette { - &-#{nth($color, 1)} { - --background-color: var(--color-#{nth($color, 1)}) !important; - background-color: var(--background-color) !important; - } - } - - &-disabled { - --background-color: var(--color-disabled) !important; - background-color: var(--background-color) !important; - } +.text-black { + color: #000000; } diff --git a/scss/base/_functions.scss b/scss/base/_functions.scss deleted file mode 100755 index ff74e3d..0000000 --- a/scss/base/_functions.scss +++ /dev/null @@ -1,84 +0,0 @@ -@use "sass:math"; - -@function calculateRem($size) { - @return (math.div($size, $font-base))+rem; -} - -@function calculateEm($size) { - @return (math.div($size, $font-base))+em; -} - -@mixin small { - @media (max-width: #{$small-max}) { - @content; - } -} - -@mixin medium { - @media (min-width: #{$medium}) { - @content; - } -} - -@mixin large { - @media (min-width: #{$large}) { - @content; - } -} - -@mixin extra-large { - @media (min-width: #{$x-large}) { - @content; - } -} - -@function createColor($value) { - @if($color-type == hsl) { - @return createHSLColor($value); - } - @else if($color-type == rgba) { - @return createRGBAColor($value); - } - @else if($color-type == hex) { - @return createHexColor($value); - } - @warn "Invalid color type: `#{$color-type}`."; - @return null; -} - -@function createHSLColor($value) { - $hue: hue($value); - $saturation: saturation($value); - $lightness: lightness($value); - $alpha: alpha($value); - @return unquote("hsl(#{$hue}, #{$saturation}, #{$lightness}, #{$alpha})"); -} - -@function createRGBAColor($value) { - $red: red($value); - $green: green($value); - $blue: blue($value); - $alpha: alpha($value); - @return unquote("rgba(#{$red}, #{$green}, #{$blue}, #{$alpha})"); -} - -@function createHexColor($value) { - $hex: ie_hex_str($value); - @return unquote("#" + str_slice($hex, 4)); -} - -@mixin element-color($background, $border, $color: getTextColor($background)) { - background-color: $background; - border-color: $border; - color: $color; -} - -// This does not always yield perfect results. Know a better solution? Please contribute! -@function getTextColor($color) { - @if(lightness($color) > 60) { - @return var(--color-black); - } - @else { - @return var(--color-white); - } -} diff --git a/scss/base/_general.scss b/scss/base/_general.scss deleted file mode 100755 index d97f377..0000000 --- a/scss/base/_general.scss +++ /dev/null @@ -1,99 +0,0 @@ -@import url('https://fonts.googleapis.com/css?family=Lato|Roboto'); - -$font-base: 16 !default; -$small-max: 767px !default; -$medium: 768px !default; -$large: 922px !default; -$x-large: 1200px !default; - -$theme-font-color: createColor($black) !default; -$theme-background-color: createColor($white) !default; - -$body-font-family: 'Roboto', sans-serif !default; -$body-font-size: calculateRem(16) !default; -$body-font-weight: 400 !default; -$body-line-height: 1.6 !default; - -$hr-color: var(--color-light-grey-lighter) !default; -$hr-height: calculateRem(2) !default; -$hr-margin: calculateRem(20) 0 !default; - -:root { - --theme-font-size: #{$body-font-size}; - --theme-font-color: #{$theme-font-color}; - --theme-background-color: #{$theme-background-color}; - --theme-body-font-family: #{$body-font-family}; -} - -html { - font-size: 100%; - &.has-clip { - overflow: hidden; - } -} - -body, html { - min-height: 100%; - position: relative; -} - -body { - --font-weight: #{$body-font-weight}; - --line-height: #{$body-line-height}; - --font-color: var(--theme-font-color); - --background-color: var(--theme-background-color); - --font-family: var(--theme-body-font-family); - - background-color: var(--background-color); - color: var(--font-family); - font-family: var(--font-family); - font-style: normal; - font-weight: var(--font-weight); - line-height: var(--line-height); - min-height: 100%; - padding: 0; -} - -body, html, h1, h2, h3, h4, h5, h6, ul, ol, p, dt, dd, div { - --font-size: var(--theme-font-size); - - font-size: var(--font-size); - margin: 0; - padding: 0; -} - -hr { - --background-color: #{$hr-color}; - --height: #{$hr-height}; - --margin: #{$hr-margin}; - - background-color: var(--background-color); - border: none; - height: var(--height); - margin: var(--margin); -} - -p { - --margin: 0 0 #{calculateRem(10)} 0; - margin: var(--margin); -} - -p, span, small, i, b, strong { - color: inherit; -} - -img { - display: block; - height: auto; - max-width: 100%; - position: relative; -} - -*, ::after, ::before { - box-sizing: border-box; -} - -@keyframes spinner { - 0% { transform: rotate(0deg); } - 100% { transform: rotate(360deg); } -} diff --git a/scss/base/_helpers.scss b/scss/base/_helpers.scss deleted file mode 100755 index 3104671..0000000 --- a/scss/base/_helpers.scss +++ /dev/null @@ -1,166 +0,0 @@ -.is { - &-block { - display: block !important; - } - - &-flex { - display: flex !important; - } - - &-inline { - display: inline !important; - } - - &-inline-block { - display: inline-block !important; - } - - &-inline-flex { - display: inline-flex !important; - } - - &-hidden { - display: none !important; - } - - &-invisible { - visibility: hidden !important; - } - -} - -.has-no { - &-padding { - padding: 0 !important; - - &-top { - padding-top: 0 !important; - } - - &-bottom { - padding-bottom: 0 !important; - } - - &-left { - padding-left: 0 !important; - } - - &-right { - padding-right: 0 !important; - } - } - - &-margin { - margin: 0 !important; - } - - &-border { - border: none !important; - } - - &-shadow { - box-shadow: none !important; - } - - &-wrap { - white-space: nowrap; - } - - &-transition { - transition: none !important; - } -} - -.has-text { - &-left { - text-align: left !important; - } - - &-right { - text-align: right !important; - } - - &-center { - text-align: center !important; - } -} - -.has-font { - &-normal { - font-weight: normal !important; - } - - &-bold { - font-weight: bold !important; - } -} - -.is-margin-center { - margin: 0 auto !important; -} - -.is-float { - &-left { - float: left; - } - - &-right { - float: right; - } -} - -.is-vertically-centered { - display: flex; - flex-direction: column; - justify-content: center; -} - -.has { - &-start { - justify-content: flex-start !important; - } - - &-centered { - justify-content: center !important; - } - - &-end { - justify-content: flex-end !important; - } -} - -@include medium { - .is-mobile-only { - display: none !important; - } -} - -@include small { - .is-tablet-up, .is-tablet-only { - display: none !important; - } -} - -@include large { - .is-tablet-down, .is-tablet-only { - display: none !important; - } -} - -@include extra-large { - .is-desktop-down, .is-desktop-only { - display: none !important; - } -} - -@media (max-width: calc(#{$large} - 1px)) { - .is-desktop-up, .is-desktop-only { - display: none !important; - } -} - -@media (max-width: calc(#{$x-large - 1px})) { - .is-desktop-x-only { - display: none !important; - } -} diff --git a/scss/base/_typography.scss b/scss/base/_typography.scss deleted file mode 100755 index ef50705..0000000 --- a/scss/base/_typography.scss +++ /dev/null @@ -1,182 +0,0 @@ -$list-style-type: disc !default; -$list-margin-left: calculateRem(20) !default; -$list-margin-top: calculateRem(16) !default; - -$heading-font-family: 'Lato', sans-serif !default; -$heading-font-weight: 600 !default; -$heading-line-height: 1.4 !default; -$heading-margin-bottom: calculateRem(7.2) !default; -$heading-color: inherit !default; - -$subheading-margin-bottom: calculateRem(16) !default; -$subheading-margin-top: calculateRem(-6.4) !default; -$subheading-font-weight: 400 !default; -$subheading-line-height: $heading-line-height !default; -$subheading-color: createColor(#838383) !default; - -$blockquote-border-color: createColor(#d6d6d6) !default; -$blockquote-border-width: 1px !default; -$blockquote-color: var(--color-black) !default; -$blockquote-margin: calculateRem(16) 0 0 !default; -$blockquote-padding: 0.5rem 0 0.5rem 1.25rem !default; -$cite-font-size: calculateRem(13) !default; -$cite-color: var(--color-black) !default; - -$abbr-border-color: var(--color-black) !default; - -:root { - --theme-heading-font-family: #{$heading-font-family}; -} - -%heading { - --font-color: #{$heading-color}; - --font-family: var(--theme-heading-font-family); - --font-weight: #{$heading-font-weight}; - --line-height: #{$heading-line-height}; - - color: var(--font-color); - display: block; - font-family: var(--font-family); - font-size: var(--font-size); - font-weight: var(--font-weight); - line-height: var(--line-height); - margin-bottom: $heading-margin-bottom; - - &.is-subheading { - --font-color: #{$subheading-color}; - --font-weight: #{$subheading-font-weight}; - --line-height: #{$subheading-line-height}; - } - - &:not(.is-subheading) + .is-subheading { - margin-top: $subheading-margin-top; - } - - & + .is-subheading:last-of-type { - margin-bottom: $subheading-margin-top; - } -} - -$heading-sizes: 'very-big-heading' h1, 'big-heading' h2, 'medium-heading' h3, 'heading' h4, 'small-heading' h5, 'very-small-heading' h6; - -@function heading-size($key) { - @if map-has-key($heading-size, $key) { - @return map-get($heading-size, $key); - } - - @warn "Unknown `#{$key}` in $heading-sizes."; - @return null; -} - -$heading-size: ( - h1: calculateRem(46), - h2: calculateRem(40), - h3: calculateRem(30), - h4: calculateRem(24), - h5: calculateRem(20), - h6: calculateRem(16) -) !default; - -@each $size in $heading-sizes { - #{nth($size, 2)}, .is-#{nth($size, 1)} { - @extend %heading; - --font-size: #{heading-size(nth($size, 2))}; - } -} - -a { - color: var(--color-link); - cursor: pointer; - text-decoration: none; - - &:hover { - text-decoration: underline; - } - - .has-link-inherit &:not(.button) { - color: inherit; - } -} - -ol, ul { - --margin-left: #{$list-margin-left}; - --margin-top: #{$list-margin-top}; - - margin-left: var(--margin-left); - margin-top: var(--margin-top); - - ul, ol, dl { - margin-top: 0; - } -} - -ul, ol { - list-style-position: outside; -} - -ul { - --style-type: #{$list-style-type}; - - list-style-type: var(--style-type); - - &.has-no-list-style { - list-style-type: none; - margin-left: 0; - } - - &.is-inline-list { - display: flex !important; - flex-flow: row wrap; - list-style-type: none; - margin: 0; - - & > li:not(:last-child) { - margin-right: 0.5rem; - } - } -} - -dl { - dt { - font-weight: bold; - margin-bottom: 0.3rem; - } - - dd ~ dt { - margin-top: 0.3rem; - } -} - -blockquote { - --border-color: #{$blockquote-border-color}; - --border-width: #{$blockquote-border-width}; - --font-color: #{$blockquote-color}; - --margin: #{$blockquote-margin}; - --padding: #{$blockquote-padding}; - - border-left: var(--border-width) solid var(--border-color); - color: var(--font-color); - margin: var(--margin); - padding: var(--padding); - - cite { - --font-color: #{$cite-color}; - --font-size: #{$cite-font-size}; - - color: var(--font-color); - display: block; - font-size: var(--font-size); - - &::before { - content: "- "; - } - } -} - -abbr { - --border-color: #{$abbr-border-color}; - - border-bottom: 1px dotted var(--border-color); - cursor: help; - text-decoration: none; -} diff --git a/scss/elements/_accordion.scss b/scss/elements/_accordion.scss deleted file mode 100755 index a6a2e18..0000000 --- a/scss/elements/_accordion.scss +++ /dev/null @@ -1,99 +0,0 @@ -$accordion-background: var(--color-white) !default; -$accordion-border-width: 1px !default; -$accordion-border-color: createColor(#e6e6e6) !default; -$accordion-hover-background: var(--color-light) !default; -$accordion-hover-color: var(--color-light-text) !default; -$accordion-active-background: var(--color-primary) !default; -$accordion-active-color: var(--color-primary-text) !default; -$accordion-title-color: var(--color-black) !default; -$accordion-title-background-color: transparent !default; -$accordion-title-padding: calculateRem(12) calculateRem(16) !default; -$accordion-content-padding: calculateRem(16) !default; -$accordion-content-color: var(--color-black) !default; -$accordion-content-background: var(--color-white) !default; - -.accordion { - --border-color: #{$accordion-border-color}; - --border-width: #{$accordion-border-width}; - - border: var(--border-color) solid var(--border-width); - display: block; - width: 100%; - - &__list { - display: flex; - flex-direction: column; - list-style: none; - margin: 0; - } - - &__item { - --background-color: #{$accordion-background}; - - background-color: var(--background-color); - - &:not(:last-of-type) { - .accordion__title, .accordion__content { - border-bottom: var(--border-width) solid var(--border-color); - } - } - - &:last-of-type { - .accordion__content { - border-top: var(--border-width) solid var(--border-color); - } - } - } - - &__title { - --background-color: #{$accordion-title-background-color}; - --font-color: #{$accordion-title-color}; - --padding: #{$accordion-title-padding}; - - --active-background-color: #{$accordion-active-background}; - --active-font-color: #{$accordion-active-color}; - --hover-background-color: #{$accordion-hover-background}; - --hover-font-color: #{$accordion-hover-color}; - - background-color: var(--background-color); - color: var(--font-color); - cursor: pointer; - display: block; - padding: var(--padding); - position: relative; - - a { - color: inherit; - } - - &:hover, a { - text-decoration: none; - } - - :not(.is-active) > &:hover { - --background-color: var(--hover-background-color); - --font-color: var(--hover-font-color); - } - - .is-active > & { - --background-color: var(--active-background-color); - --font-color: var(--active-font-color); - } - } - - &__content { - --background-color: #{$accordion-content-background}; - --font-color: #{$accordion-content-color}; - --padding: #{$accordion-content-padding}; - - background-color: var(--background-color); - border-top: none; - color: var(--font-color); - display: none; - padding: var(--padding); - - .is-active > & { - display: block; - } - } -} diff --git a/scss/elements/_alert.scss b/scss/elements/_alert.scss deleted file mode 100755 index bee09aa..0000000 --- a/scss/elements/_alert.scss +++ /dev/null @@ -1,43 +0,0 @@ -$alert-border-color: createColor(rgba(10, 10, 10, 0.25)) !default; -$alert-border-style: solid !default; -$alert-border-width: 1px !default; -$alert-radius: 0 !default; -$alert-padding: calculateRem(16) !default; -$alert-background-color: var(--color-white) !default; -$alert-color: var(--color-black) !default; - -.alert { - --border-color: #{$alert-border-color}; - --border-style: #{$alert-border-style}; - --border-width: #{$alert-border-width}; - --padding: #{$alert-padding}; - --background-color: #{$alert-background-color}; - --font-color: #{$alert-color}; - - border-width: var(--border-width); - border-style: var(--border-style); - border-radius: var(--alert-border-radius); - display: flex; - flex-flow: column nowrap; - padding: var(--padding); - position: relative; - @include element-color(var(--background-color), var(--border-color), var(--font-color)); - - .button--close { - position: absolute; - right: .5rem; - top: .5rem; - } - - @each $color in $color-palette { - &.is-#{nth($color, 1)} { - --background-color: var(--color-#{nth($color, 1)}-alert); - - &.is-outline { - --background-color: var(--color-white); - --border-color: var(--color-#{nth($color, 1)}); - --font-color: var(--color-#{nth($color, 1)}); - } - } - } -} diff --git a/scss/elements/_all.scss b/scss/elements/_all.scss deleted file mode 100755 index eaac293..0000000 --- a/scss/elements/_all.scss +++ /dev/null @@ -1,13 +0,0 @@ -@import './accordion'; -@import './alert'; -@import './button'; -@import './card'; -@import './dropdown'; -@import './image'; -@import './media'; -@import './modal'; -@import './panel'; -@import './progress'; -@import './table'; -@import './tabs'; -@import './tag'; diff --git a/scss/elements/_button.scss b/scss/elements/_button.scss deleted file mode 100755 index 59432c8..0000000 --- a/scss/elements/_button.scss +++ /dev/null @@ -1,269 +0,0 @@ -$button-type-sizes: 'small' calculateRem(12), 'large' calculateRem(22) !default; - -$button-background: var(--color-white) !default; -$button-border-color: var(--color-light-grey) !default; -$button-border-width: 1px !default; -$button-color: var(--color-black) !default; -$button-font-size: calculateRem(16) !default; -$button-line-height: 1.6 !default; -$button-margin-bottom: calculateRem(6.4) !default; -$button-padding: calculateRem(8) calculateRem(12) !default; -$button-transition: border-color 0.2s ease, background-color 0.3s ease !default; -$button-hover-border: var(--color-light-grey-darker) !default; -$button-hover-background: $button-background !default; -$button-hover-color: $button-color !default; -$button-radius: 0 !default; -$button-rounded-radius: 6px !default; - -$button-loading-speed: 0.8s !default; -$button-loading-width: 2px !default; -$button-loading-color: var(--color-light-grey) !default; - -$button-addon-radius: $button-rounded-radius !default; - -$button-group-gap: calculateRem(6.4) !default; - -$button-close-background: createColor(rgba(57, 57, 57, 0.23)) !default; -$button-close-height: calculateRem(24) !default; -$button-close-width: calculateRem(24) !default; -$button-close-hover: createColor(rgba(57, 57, 57, 0.41)) !default; -$button-cross-color: inherit !default; -$button-cross-width: 1px !default; - -.button { - --border-width: #{$button-border-width}; - --border-color: #{$button-border-color}; - --font-size: #{$button-font-size}; - --line-height: #{$button-line-height}; - --margin-bottom: #{$button-margin-bottom}; - --padding: #{$button-padding}; - --transition: #{$button-transition}; - --background-color: #{$button-background}; - --font-color: #{$button-color}; - --button-radius: #{$button-radius}; - - --hover-background-color: #{$button-hover-background}; - --hover-font-color: #{$button-hover-color}; - --hover-border-color: #{$button-hover-border}; - - --loading-speed: #{$button-loading-speed}; - --loading-width: #{$button-loading-width}; - --loading-color: #{$button-loading-color}; - - align-items: center; - border-width: var(--border-width); - border-style: solid; - border-radius: var(--button-radius); - cursor: pointer; - display: inline-flex; - font-family: inherit; - font-size: var(--font-size); - justify-content: center; - line-height: var(--line-height); - margin-bottom: var(--margin-bottom); - padding: var(--padding); - text-align: center; - transition: var(--transition); - - &:hover, a { - text-decoration: none; - } - - @include element-color(var(--background-color), var(--border-color), var(--font-color)); - - &:hover, &:focus, &:active, &.is-active { - --background-color: var(--hover-background-color); - --border-color: var(--hover-border-color); - --font-color: var(--hover-font-color); - } - - &.is-rounded { - --button-radius: #{$button-rounded-radius}; - } - - @each $size in $button-type-sizes { - &.is-#{nth($size, 1)} { - --font-size: #{nth($size, 2)}; - } - } - - &.is-full { - width: 100%; - } - - @each $color in $color-palette { - &.is-#{nth($color, 1)}:not(.is-outline) { - --background-color: var(--color-#{nth($color, 1)}); - --border-color: transparent; - --font-color: var(--color-#{nth($color, 1)}-text); - - &:hover:not([disabled]), &.is-active { - --background-color: var(--color-#{nth($color, 1)}-darker); - } - - &.is-loading::after { - border-right-color: var(--color-#{nth($color, 1)}-text); - border-top-color: var(--color-#{nth($color, 1)}-text); - } - } - - &.is-#{nth($color, 1)}.is-outline { - --background-color: transparent; - --border-color: var(--color-#{nth($color, 1)}); - --font-color: var(--color-#{nth($color, 1)}); - - &:hover:not([disabled]), &.is-active { - --background-color: var(--color-#{nth($color, 1)}); - --border-color: transparent; - --font-color: var(--color-#{nth($color, 1)}-text); - } - - &.is-loading::after { - border-right-color: var(--color-#{nth($color, 1)}); - border-top-color: var(--color-#{nth($color, 1)}); - } - } - } - - &.is-loading { - - color: transparent !important; - pointer-events: none; - position: relative; - - &::after { - animation: spinner var(--loading-speed) linear infinite; - border: var(--loading-width) solid var(--loading-color); - border-left-color: transparent; - border-bottom-color: transparent; - border-radius: 50%; - content: ' '; - display: block; - height: 1.25em; - left: calc(50% - (1.25em / 2)); - position: absolute; - top: calc(50% - (1.25em / 2)); - width: 1.25em; - position: absolute !important; - } - } - - &[disabled] { - cursor: not-allowed; - opacity: 0.5; - } - - .icon { - &:first-child:not(:only-child) { - margin-right: 0.45rem; - } - - &:last-child:not(:only-child) { - margin-left: 0.45rem; - } - } - - :not(.is-button-group):not(.is-addon-group) > & { - align-self: flex-start; - } -} - -.is-addon-group, .is-button-group { - align-items: center; - display: flex; - flex-wrap: wrap; - width: 100%; -} - -.is-button-group { - --gap: #{$button-group-gap}; - - & > .button:not(.is-full):not(:last-child) { - margin-right: var(--gap); - } - - & > .is-addon-group:not(:last-child) { - margin-right: var(--gap); - } - - & > .is-addon-group { - width: auto; - } -} - -.is-addon-group { - --addon-radius: #{$button-addon-radius}; - & > .button { - margin-right: 0; - - &:not(:first-of-type) { - border-left-width: calc(var(--border-width) / 2); - } - - &:not(:last-of-type) { - border-right-width: calc(var(--border-width) / 2); - } - } - - &.is-rounded .button { - &:last-child { - border-top-right-radius: var(--addon-radius); - border-bottom-right-radius: var(--addon-radius); - } - - &:first-child { - border-bottom-left-radius: var(--addon-radius); - border-top-left-radius: var(--addon-radius); - } - } -} - -.button--close { - --background-color: #{$button-close-background}; - --icon-color: #{$button-cross-color}; - --height: #{$button-close-height}; - --width: #{$button-close-width}; - --icon-width: #{$button-cross-width}; - - --hover-background-color: #{$button-close-hover}; - - align-items: center; - background-color: var(--background-color); - border: none; - border-radius: 50%; - color: var(--icon-color); - cursor: pointer; - display: inline-block; - height: var(--height); - position: relative; - text-align: center; - width: var(--width); - - &.has-no-background { - --background-color: transparent; - } - - &:not(.has-no-background):hover { - --background-color: var(--hover-background-color); - } - - &::before, &::after { - border-color: inherit; - border-style: solid; - border-width: var(--icon-width); - content: ' '; - left: 50%; - position: absolute; - transform: translateX(-50%) translateY(-50%) rotate(45deg); - transform-origin: center center; - top: 50%; - } - - &::after { - width: 50%; - } - - &::before { - height: 50%; - } -} diff --git a/scss/elements/_card.scss b/scss/elements/_card.scss deleted file mode 100755 index 35a17de..0000000 --- a/scss/elements/_card.scss +++ /dev/null @@ -1,95 +0,0 @@ -$card-border-color: createColor(rgba(219, 219, 219, 0.36)) !default; -$card-border-width: 1px !default; -$card-shadow: 0 0 3px 0 createColor(rgba(10, 10, 10, 0.10)) !default; -$card-radius: 0 !default; -$card-header-background: createColor(rgba(0, 0, 0, .03)) !default; -$card-header-color: var(--color-black) !default; -$card-header-padding: 0.625rem 1rem !default; -$card-content-padding: 1rem !default; -$card-footer-padding: 0.35rem 1rem !default; - -.card { - --border-color: #{$card-border-color}; - --border-width: #{$card-border-width}; - --border-radius: #{$card-radius}; - --box-shadow: #{$card-shadow}; - - border: var(--border-color) solid var(--border-width); - box-shadow: var(--box-shadow); - display: flex; - flex-flow: column nowrap; - height: 100%; - - .card__header, .card__image, .card__content, .card__footer { - --padding: 0; - padding: var(--padding); - } - - .card__image { - display: block; - position: relative; - - img { - width: 100%; - } - } - - .card__header { - --background-color: #{$card-header-background}; - --font-color: #{$card-header-color}; - --padding: #{$card-header-padding}; - - align-items: center; - background-color: var(--card-header-background-color); - border-top-left-radius: var(--border-radius); - border-top-right-radius: var(--border-radius); - color: var(--font-color); - display: flex; - - .button--close { - margin-left: auto; - } - - h1, h2, h3, h4, h5, h6, .is-very-big-title, .is-big-title, .is-medium-title, .is-regular-title, .is-small-title, .is-very-small-title { - margin-bottom: 0; - } - } - - .card__content { - --padding: #{$card-content-padding}; - - flex: auto; - position: relative; - } - - &.is-shrink { - height: auto; - - .card__content { - flex: initial; - } - } - - .card__footer { - --padding: #{$card-footer-padding}; - - align-items: center; - border-bottom-left-radius: var(--border-radius); - border-bottom-right-radius: var(--border-radius); - display: flex; - - & > .is-end { - margin-left: auto; - } - - & > .is-center { - margin: auto; - } - - button { - &:not(:last-child) { - margin-right: 0.4rem; - } - } - } -} diff --git a/scss/elements/_dropdown.scss b/scss/elements/_dropdown.scss deleted file mode 100755 index 756b03c..0000000 --- a/scss/elements/_dropdown.scss +++ /dev/null @@ -1,138 +0,0 @@ -$dropdown-background: var(--color-white) !default; -$dropdown-color: var(--color-black) !default; -$dropdown-border-width: 1px !default; -$dropdown-border-color: createColor(rgba(205, 205, 205, 0.34)) !default; -$dropdown-border-radius: 0 !default; -$dropdown-shadow: 0 6px 6px createColor(rgba(10, 10, 10, 0.16)) !default; -$dropdown-min-width: 12rem !default; -$dropdown-padding: 10px 0 !default; - -$dropdown-link-color: inherit !default; -$dropdown-link-padding: 5px 15px !default; -$dropdown-link-hover-color: inherit !default; -$dropdown-link-hover-background: createColor(rgba(192, 192, 192, 0.09)) !default; - -$dropdown-divider-color: createColor(#e9ecef) !default; -$dropdown-divider-margin: 5px 0 !default; - -$dropdown-item-color: inherit !default; -$dropdown-item-padding: 5px 15px !default; - -$dropdown-arrow-color: createColor(#7284ff) !default; - -.dropdown { - --background-color: #{$dropdown-background}; - --font-color: #{$dropdown-color}; - --border-color: #{$dropdown-border-color}; - --border-width: #{$dropdown-border-width}; - --border-radius: #{$dropdown-border-radius}; - --box-shadow: #{$dropdown-shadow}; - --min-width: #{$dropdown-min-width}; - --padding: #{$dropdown-padding}; - - background-color: var(--background-color); - border: var(--border-width) solid var(--border-color); - border-radius: var(--border-radius); - box-shadow: var(--box-shadow); - color: var(--font-color); - cursor: auto; - left: 0; - list-style: none; - margin: 0; - min-width: var(--min-width); - opacity: 0; - padding: var(--padding); - position: absolute; - top: 100%; - text-align: left; - transform: translateY(-5px); - transition-duration: 300ms; - transition-property: opacity, transform, -webkit-transform; - visibility: hidden; - z-index: 10; - - &__link { - --font-color: #{$dropdown-link-color}; - --padding: #{$dropdown-link-padding}; - --hover-font-color: #{$dropdown-link-hover-color}; - --hover-background-color: #{$dropdown-link-hover-background}; - - border-radius: 0; - color: var(--font-color); - cursor: pointer; - padding: var(--padding); - - &:hover { - color: var(--hover-font-color); - background-color: var(--hover-background-color); - } - } - - &__divider { - --color: #{$dropdown-divider-color}; - --margin: #{$dropdown-divider-margin}; - - border-top: 1px solid var(--color); - margin: var(--margin); - } - - &__item { - --font-color: #{$dropdown-item-color}; - --padding: #{$dropdown-item-padding}; - - color: var(--font-color); - padding: var(--padding); - } -} - -.has-dropdown { - display: inline-flex; - position: relative; - - a { - color: inherit; - display: block; - text-decoration: none; - width: 100%; - } - - &.is-hoverable:hover, &.is-active { - & > .dropdown { - display: block; - opacity: 1; - transform: translateY(0); - visibility: visible; - } - } - - &.is-right { - .dropdown { - right: 0; - left: unset; - } - } - - .has-arrow, &.has-arrow { - --arrow-color: #{$dropdown-arrow-color}; - - padding-right: calculateEm(35) !important; - position: relative; - - &::after { - border: 3px solid var(--arrow-color); - border-radius: 2px; - border-right: 0; - border-top: 0; - content: " "; - display: block; - height: 0.625em; - margin-top: calculateEm(-6.4); - position: absolute; - right: calculateEm(15); - top: 50%; - transform: rotate(315deg); - transform-origin: center; - width: 0.625em; - } - } -} diff --git a/scss/elements/_image.scss b/scss/elements/_image.scss deleted file mode 100755 index c00c838..0000000 --- a/scss/elements/_image.scss +++ /dev/null @@ -1,72 +0,0 @@ -$image-square-sizes: 'tiny-square' 48px, 'small-square' 96px, 'square' 128px, 'medium-square' 160px, 'large-square' 208px !default; - -$image-radius: 50% !default; - -$image-thumb-border-width: 1px !default; -$image-thumb-border-color: var(--color-light-grey) !default; -$image-thumb-radius: 6px !default; -$image-thumb-padding: 0.25rem !default; - -$image-tile-shadow: 0 5px 10px 0px createColor(rgba(0, 0, 0, 0.2)) !default; -$image-tile-radius: 6px !default; - -@mixin imageBoxSize($width, $height: $width) { - --height: #{$height}; - --width: #{$width}; - - height: var(--height); - width: var(--width); - img { - height: 100%; - } -} - -.image { - --border-radius: 0; - --border-color: transparent; - --border-width: 0; - - border: var(--border-width) solid var(--border-color); - border-radius: var(--border-radius); - display: flex; - flex-direction: column; - - &.is-thumbnail { - --border-width: #{$image-thumb-border-width}; - --border-color: #{$image-thumb-border-color}; - --border-radius: #{$image-tile-radius}; - --padding: #{$image-thumb-padding}; - - img { - padding: var(--padding); - } - } - - &.is-rounded { - --border-radius: #{$image-radius}; - - img { - border-radius: inherit; - } - } - - &.is-tile, &.is-rounded-tile { - --box-shadow: #{$image-tile-shadow}; - - box-shadow: var(--box-shadow); - } - - &.is-rounded-tile { - --border-radius: #{$image-tile-radius}; - - img { - border-radius: inherit; - } - } - - @each $size in $image-square-sizes { - &.is-#{nth($size, 1)} { - @include imageBoxSize(nth($size, 2)); - } - } -} diff --git a/scss/elements/_media.scss b/scss/elements/_media.scss deleted file mode 100755 index 9ba6617..0000000 --- a/scss/elements/_media.scss +++ /dev/null @@ -1,40 +0,0 @@ -$media-border-width: 1px !default; -$media-border-color: createColor(#e9ecef) !default; -$media-padding-top: 1rem !default; -$media-margin-top: 1rem !default; - -%media-divide { - border-top: var(--border-width) solid var(--border-color); - margin-top: var(--margin-top); - padding-top: var(--padding-top); -} - -.media { - --border-width: #{$media-border-width}; - --border-color: #{$media-border-color}; - --padding-top: #{$media-padding-top}; - --margin-top: #{$media-margin-top}; - - align-items: flex-start; - display: flex; - - & + .media { - @extend %media-divide; - } - - &__content { - flex:auto; - - & .media { - @extend %media-divide; - } - } - - &__left { - margin-right: 1rem; - } - - &__right { - margin-left: 1rem; - } -} diff --git a/scss/elements/_modal.scss b/scss/elements/_modal.scss deleted file mode 100755 index d73c0a3..0000000 --- a/scss/elements/_modal.scss +++ /dev/null @@ -1,76 +0,0 @@ -$modal-size-variations: 'small' 25%, 'medium' 45%, 'large' 75% !default; - -$modal-background: var(--color-white) !default; -$modal-color: var(--color-black) !default; -$modal-radius: 0 !default; -$modal-width: 600px !default; -$modal-padding: 1rem !default; -$modal-overlay-background: var(--color-black-overlay) !default; - -.modal { - --background-color: #{$modal-background}; - --font-color: #{$modal-color}; - --border-radius: #{$modal-radius}; - --width: #{$modal-width}; - --padding: #{$modal-padding}; - - --overlay-background-color: #{$modal-overlay-background}; - - display: none; - align-items: center; - flex-direction: column; - justify-content: center; - overflow: hidden; - position: fixed; - z-index: 100; - bottom: 0; - left: 0; - right: 0; - top: 0; - width: 100%; - - &.is-active { - display: flex; - } - - &__background { - background-color: var(--overlay-background-color); - bottom: 0; - left: 0; - position: absolute; - right: 0; - top: 0; - } - - &__content { - background-color: var(--background-color); - border-radius: 0; - color: var(--font-color); - padding: var(--padding); - position: relative; - overflow: inherit; - width: 100%; - - @include medium { - border-radius: var(--border-radius); - width: var(--width); - @each $size in $modal-size-variations { - .modal.is-#{nth($size, 1)} > & { - width: nth($size, 2); - } - } - } - - .modal.is-full > & { - border-radius: 0; - flex: auto; - width: 100%; - } - } - - &__close { - position: absolute; - right: 10px; - top: 10px; - } -} diff --git a/scss/elements/_panel.scss b/scss/elements/_panel.scss deleted file mode 100755 index 2d6fa7a..0000000 --- a/scss/elements/_panel.scss +++ /dev/null @@ -1,15 +0,0 @@ -$panel-radius: 4px !default; -$panel-shadow: 0 0 10px 0 createColor(rgba(10, 10, 10, 0.21)) !default; -$panel-padding: calculateRem(16) !default; - -.panel { - --border-radius: #{$panel-radius}; - --box-shadow: #{$panel-shadow}; - --padding: #{$panel-padding}; - - border-radius: var(--border-radius); - box-shadow: var(--box-shadow); - display: block; - padding: var(--padding); - width: 100%; -} diff --git a/scss/elements/_progress.scss b/scss/elements/_progress.scss deleted file mode 100755 index e0aeecb..0000000 --- a/scss/elements/_progress.scss +++ /dev/null @@ -1,69 +0,0 @@ -$progress-height: 1rem !default; -$progress-margin-bottom: 0.4rem !default; -$progress-bar-color: var(--color-light-grey) !default; -$progress-bar-value-color: var(--color-dark) !default; - -$pseudo-fill-classes: -moz-progress-bar, -webkit-progress-value, -ms-fill; - -.progress { - --bar-height: #{$progress-height}; - --margin-bottom: #{$progress-margin-bottom}; - --bar-color: #{$progress-bar-color}; - --value-color: #{$progress-bar-value-color}; - - border: none; - display: flex; - height: var(--bar-height); - margin-bottom: var(--margin-bottom); - -webkit-appearance: none; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - width: 100%; - - &.is-round { - border-radius: 50px; - - &::-webkit-progress-bar { - border-radius: 50px; - } - - &::#{nth($pseudo-fill-classes, 2)} { - border-radius: 50px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; - } - - &::#{nth($pseudo-fill-classes, 1)} { - border-radius: 50px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; - } - } - - &::-webkit-progress-bar { - background-color: var(--bar-color); - } - - @each $class in $pseudo-fill-classes { - &::#{$class} { - background-color: var(--value-color); - border: none; - } - } - - @each $color in $color-palette { - &.is-#{nth($color, 1)}::#{nth($pseudo-fill-classes, 3)} { - --value-color: var(--color-#{nth($color, 1)}); - } - - &.is-#{nth($color, 1)}::#{nth($pseudo-fill-classes, 1)} { - --value-color: var(--color-#{nth($color, 1)}); - } - - &.is-#{nth($color, 1)}::#{nth($pseudo-fill-classes, 2)} { - --value-color: var(--color-#{nth($color, 1)}); - } - } -} diff --git a/scss/elements/_table.scss b/scss/elements/_table.scss deleted file mode 100755 index cf78633..0000000 --- a/scss/elements/_table.scss +++ /dev/null @@ -1,102 +0,0 @@ -$table-background-color: var(--color-white) !default; -$table-color: var(--color-black) !default; -$table-border-color: createColor(#dbdbdb) !default; -$table-border-width: 1px !default; -$table-head-border-width: 1px 0 2px !default; -$table-body-border-width: 0 0 1px !default; -$table-font-size: calculateRem(16) !default; -$table-padding: calculateRem(8) calculateRem(10) !default; -$table-hover: createColor(#f9f9f9) !default; -$table-stripe: $table-hover !default; -$table-small-padding: calculateRem(4) calculateRem(8) !default; - -.table { - --background-color: #{$table-background-color}; - --font-color: #{$table-color}; - --border-color: #{$table-border-color}; - --border-width: #{$table-border-width}; - --font-size: #{$table-font-size}; - --padding: #{$table-padding}; - - --hover-background-color: #{$table-hover}; - --stripe-background-color: #{$table-stripe}; - - border-collapse: collapse; - border-spacing: 0; - text-align: left; - width: 100%; - - tr { - background-color: var(--background-color); - color: var(--font-color); - } - - th, td { - --border-width: #{$table-body-border-width}; - border-color: var(--border-color); - border-style: solid; - border-width: var(--border-width); - font-size: var(--font-size); - padding: var(--padding); - } - - thead th { - --border-width: #{$table-head-border-width}; - } - - tr:last-child td { - border-bottom-width: 0; - } - - &.is-bordered { - th, td { - --border-color: #{$table-border-color}; - --border-width: #{$table-border-width}; - } - - tr:last-child td { - border-bottom-width: var(--border-width); - } - } - - &.is-borderless { - th, td { - border: none; - } - } - - &.has-outline { - border: var(--border-width) solid var(--border-color); - } - - &.is-hoverable { - tbody tr:hover { - --background-color: var(--hover-background-color); - } - } - - &.is-striped { - tbody tr:nth-child(odd) { - --background-color: var(--stripe-background-color); - } - } - - &.is-striped-even { - tbody tr:nth-child(even) { - --background-color: var(--stripe-background-color); - } - } - - &.is-small { - th, td { - --padding: #{$table-small-padding}; - } - } -} - -.is-table-container { - display: flex; - flex-flow: row nowrap; - overflow-x: auto; - width: 100%; -} diff --git a/scss/elements/_tabs.scss b/scss/elements/_tabs.scss deleted file mode 100755 index c488584..0000000 --- a/scss/elements/_tabs.scss +++ /dev/null @@ -1,120 +0,0 @@ -$tab-border-color: createColor(#e6e6e6) !default; -$tab-border-width: 1px !default; -$tab-item-padding: 0.75rem 1rem 0.5rem !default; -$tab-item-background: var(--color-white) !default; -$tab-item-color: var(--color-black) !default; -$tab-item-active-color: var(--color-link) !default; -$tab-item-active-background: var(--color-white) !default; -$tab-item-hover-color: var(--color-link) !default; -$tab-item-hover-background: var(--color-white) !default; -$tab-border-radius: 0 !default; -$tab-content-padding: 1rem !default; -$tab-content-background: transparent !default; -$tab-content-color: var(--color-black) !default; - -.tabs { - width: 100%; - - &__list { - --border-color: #{$tab-border-color}; - --border-width: #{$tab-border-width}; - --border-radius: #{$tab-border-radius}; - --background-color: #{$tab-item-background}; - --font-color: #{$tab-item-color}; - --item-padding: #{$tab-item-padding}; - - --active-background-color: #{$tab-item-active-background}; - --active-font-color: #{$tab-item-active-color}; - --hover-background-color: #{$tab-item-hover-background}; - --hover-font-color: #{$tab-item-hover-color}; - - align-items: center; - background-color: var(--background-color); - border-bottom: var(--border-width) solid var(--border-color); - display: flex; - flex-flow: row wrap; - flex: 1 0 auto; - list-style: none; - margin: 0; - - li { - border-color: transparent; - border-style: solid; - border-width: var(--border-width); - color: var(--font-color); - margin-bottom: calc(var(--border-width) * -1); - - a { - color: inherit; - display: block; - padding: var(--item-padding); - - &:hover { - text-decoration: none; - } - } - - &.is-active { - --background-color: var(--active-background-color); - --font-color: var(--active-font-color); - } - - &:hover:not(.is-active) { - --background-color: var(--hover-background-color); - --font-color: var(--hover-font-color); - } - } - - @each $color in $color-palette { - .is-#{nth($color, 1)} > & { - li.is-active, li:hover { - background-color: var(--color-#{nth($color, 1)}); - --font-color: var(--color-#{nth($color, 1)}-text); - } - } - } - - .has-border > & li { - border-color: var(--border-color); - border-width: var(--border-width) 0 var(--border-width) var(--border-width); - - &:first-of-type { - border-radius: var(--border-radius) 0 0; - } - - &:last-of-type { - border-radius: 0 var(--border-radius) 0 0; - border-width: var(--border-width); - } - - &:only-of-type { - border-radius: var(--border-radius) var(--border-radius) 0 0; - } - } - } - - &__content { - --border-color: #{$tab-border-color}; - --border-width: #{$tab-border-width}; - --border-radius: #{$tab-border-radius}; - --padding: #{$tab-content-padding}; - --background-color: #{$tab-content-background}; - --font-color: #{$tab-content-color}; - - background-color: var(--background-color); - color: var(--font-color); - display: none; - padding: var(--padding); - - &.is-open { - display: block; - } - - .has-border > & { - border: 1px solid var(--border-color); - border-radius: 0 0 var(--border-radius) var(--border-radius); - border-width: 0 var(--border-width) var(--border-width); - } - } - -} diff --git a/scss/elements/_tag.scss b/scss/elements/_tag.scss deleted file mode 100755 index 89a6c2e..0000000 --- a/scss/elements/_tag.scss +++ /dev/null @@ -1,110 +0,0 @@ -$tag-background: createColor(#f3f3f3) !default; -$tag-border-color: transparent !default; -$tag-border-width: 1px !default; -$tag-color: var(--color-black) !default; -$tag-font-size: calculateRem(13) !default; -$tag-line-height: 1.6 !default; -$tag-height: calculateRem(25.6) !default; -$tag-radius: 0 !default; - -$tag-group-gap: calculateRem(6.4) !default; -$tag-group-margin: calculateRem(6.4) !default; -$tag-addon-radius: 6px !default; - -.tag { - --background-color: #{$tag-background}; - --font-color: #{$tag-color}; - --border-color: #{$tag-border-color}; - --border-width: #{$tag-border-width}; - --border-radius: #{$tag-radius}; - --font-size: #{$tag-font-size}; - --line-height: #{$tag-line-height}; - --height: #{$tag-height}; - - align-items: center; - border-style: solid; - border-width: var(--border-width); - border-radius: var(--border-radius); - display: inline-flex; - font-size: var(--font-size); - height: var(--height); - justify-content: center; - line-height: var(--line-height); - padding: 0 0.5rem; - text-align: center; - white-space: nowrap; - @include element-color(var(--background-color), var(--border-color), var(--font-color)); - - &.is-rounded { - --border-radius: 6px; - } - - &.is-full { - width: 100%; - } - - @each $color in $color-palette { - &.is-#{nth($color, 1)} { - --background-color: var(--color-#{nth($color, 1)}); - --border-color: transparent; - --font-color: var(--color-#{nth($color, 1)}-text); - - &.is-outline { - --background-color: var(--color-white); - --border-color: var(--color-#{nth($color, 1)}); - --font-color: var(--color-#{nth($color, 1)}); - } - } - } -} - -:not(.tag-group) > .tag { - align-self: flex-start; -} - -.is-tag-group, .is-addon-group { - --margin: #{$tag-group-margin}; - - align-items: center; - display: flex; - flex-flow: row wrap; - width: 100%; - - .tag { - margin-bottom: var(--margin); - } -} - -.is-tag-group { - --gap: #{$tag-group-gap}; - - & > .tag:not(:last-child) { - margin-right: var(--gap); - } - - & > .is-addon-group:not(:last-child) { - margin-right: var(--gap); - } - - & > .is-addon-group { - width: auto; - } -} - -.is-addon-group { - --addon-border-radius: #{$tag-addon-radius}; - - &.is-rounded > .tag { - margin-right: 0; - - &:last-child { - border-top-right-radius: var(--addon-border-radius); - border-bottom-right-radius: var(--addon-border-radius); - } - - &:first-child { - border-bottom-left-radius: var(--addon-border-radius); - border-top-left-radius: var(--addon-border-radius); - } - } -} diff --git a/scss/form/_all.scss b/scss/form/_all.scss deleted file mode 100755 index d726aae..0000000 --- a/scss/form/_all.scss +++ /dev/null @@ -1,3 +0,0 @@ -@import './general'; -@import './slider'; -@import './switch'; diff --git a/scss/form/_general.scss b/scss/form/_general.scss deleted file mode 100755 index 94d8ec0..0000000 --- a/scss/form/_general.scss +++ /dev/null @@ -1,316 +0,0 @@ -$input-background-color: var(--color-white) !default; -$input-border-color: createColor(#dbdbdb) !default; -$input-border-width: 1px !default; -$input-border-radius: 0 !default; -$input-color: var(--color-black) !default; -$input-shadow: inset 0 1px 2px createColor(rgba(10, 10, 10, 0.1)) !default; -$input-font-size: calculateRem(16) !default; -$input-line-height: 1.5 !default; -$input-padding: calculateRem(8) !default; -$input-focus-border: var(--color-info) !default; -$input-focus-shadow: 0 0 0 0.125em createColor(rgba(50,115,220,.25)) !default; -$input-disabled-background: var(--color-disabled) !default; -$input-disabled-border: var(--color-disabled) !default; -$input-disabled-color: var(--color-muted) !default; -$input-error-background: var(--color-danger-alert) !default; -$input-error-border-color: var(--color-danger) !default; -$input-error-color: var(--color-black) !default; - -$select-arrow-color: createColor(#7284ff) !default; -$select-arrow-width: calculateEm(10) !default; -$select-padding: calculateRem(8) !default; -$select-multiple-padding: .5rem 1rem !default; -$select-loading-speed: .8s !default; -$select-loading-width: 2px !default; -$select-loading-color: var(--color-light-grey) !default; - -$label-font-weight: 600 !default; -$label-bottom-margin: calculateRem(6.4) !default; -$label-line-height: 1.6 !default; -$label-font-size: calculateRem(16) !default; - -form, input, textarea, select { - margin: 0; - padding: 0; -} - -input[type="text"], input[type="color"], input[type="date"], input[type="datetime-local"], input[type="email"], input[type="password"], input[type="month"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="week"], input[type="url"], textarea, select { - --border-width: #{$input-border-width}; - --border-radius: #{$input-border-radius}; - --box-shadow: inset 0 1px 2px #{createColor(rgba(10,10,10, 0.1))}; - --font-size: #{$input-font-size}; - --line-height: #{$input-line-height}; - --padding: #{$input-padding}; - --background-color: #{$input-background-color}; - --border-color: #{$input-border-color}; - --font-color: #{$input-color}; - --padding: #{$input-padding}; - --width: 100%; - - --focus-border-color: #{$input-focus-border}; - --focus-box-shadow: #{$input-focus-shadow}; - - --disabled-background-color: #{$input-disabled-background}; - --disabled-box-shadow: none; - --disabled-font-color: #{$input-disabled-color}; - --disabled-border-color: #{$input-disabled-border}; - - --error-border-color: #{$input-error-border-color}; - --error-background-color: #{$input-error-background}; - --error-font-color: #{$input-error-color}; - - background-color: var(--background-color); - border-color: var(--border-color); - border-style: solid; - border-width: var(--border-width); - border-radius: var(--border-radius); - box-shadow: var(--box-shadow); - color: var(--font-color); - font-size: var(--font-size); - font-family: inherit; - line-height: var(--line-height); - padding: var(--padding, 0); - outline: none; - width: var(--width); - - &:focus { - --border-color: var(--focus-border-color); - } - - &:not([readonly]):focus { - --box-shadow: var(--focus-box-shadow); - } - - &[disabled] { - --background-color: var(--disabled-background-color); - --box-shadow: var(--disabled-box-shadow); - --font-color: var(--disabled-font-color); - - :not(.is-input-group) > & { - --border-color: var(--disabled-border-color); - } - } - - &.has-error { - --border-color: var(--error-border-color); - --background-color: var(--error-background-color); - --font-color: var(--error-font-color); - } -} - -input[type="date"], input[type="datetime-local"] { - &::-webkit-datetime-edit-fields-wrapper { - padding: 0; - } -} - -textarea { - resize: none; - - &.has-resize { - resize: both; - - &-vertical { - resize: vertical; - } - - &-horizontal { - resize: horizontal; - } - } -} - -.is-select { - --arrow-color: #{$select-arrow-color}; - --arrow-width: #{$select-arrow-width}; - --loading-spinner-speed: #{$select-loading-speed}; - --loading-icon-width: #{$select-loading-width}; - --loading-icon-color: #{$select-loading-color}; - - position: relative; - width: 100%; - - select { - --pading: #{$select-padding}; - padding-right: 2rem; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - } - - &:not(.is-loading)::after { - border-color: var(--arrow-color); - border-width: 3px; - border-style: solid; - border-radius: 2px; - border-right: 0; - border-top: 0; - content: " "; - display: block; - height: var(--arrow-width); - margin-top: calculateEm(-6.4); - pointer-events: none; - position: absolute; - right: calculateEm(15); - top: 50%; - transform: rotate(-45deg); - transform-origin: center; - width: var(--arrow-width); - } - - &.is-loading { - position: relative; - - &::after { - animation: spinner var(--loading-spinner-speed) linear infinite; - border: var(--loading-icon-width) solid var(--loading-icon-color); - border-left-color: transparent; - border-bottom-color: transparent; - border-radius: 50%; - content: ' '; - display: block; - height: 1.25em; - position: absolute; - top: calc(50% - (1.25em / 2)); - right: calculateEm(15); - width: 1.25em; - position: absolute !important; - } - } -} - -.is-multiple-select { - width: 100%; - - select { - padding: 0; - } - - option { - padding: #{$select-multiple-padding}; - } -} - -label { - --font-size: #{$label-font-size}; - --font-weight: #{$label-font-weight}; - --line-height: #{$label-line-height}; - --font-color: inherit; - - color: var(--font-color); - display: inline-block; - font-size: var(--font-size); - font-weight: var(--font-weight); - line-height: var(--line-height); -} - -label:not(:last-child) { - margin-bottom: $label-bottom-margin; -} - -.is-inline-label { - align-items: center; - display: flex; - justify-content: flex-start; -} - -.is-checkbox, .is-radio { - align-items: center; - display: flex; - flex-flow: row wrap; - - label { - font-weight: 400; - margin-bottom: 0; - } - - & > span { - align-items: center; - display: flex; - flex-flow: row nowrap; - - &:not(:last-of-type) { - margin-right: 12px; - } - } -} - -.is-checkbox input[type="checkbox"] + label, .is-radio input[type="radio"] + label { - margin-left: 4px; - - &:not(:last-of-type) { - margin-right: 12px; - } -} - -.is-input-group { - --background-color: var(--color-disabled); - --border-color: #{$input-border-color}; - --border-width: #{$input-border-width}; - --font-color: var(--color-black); - --font-size: #{$input-font-size}; - --focus-color: #{$input-focus-border}; - - align-items: center; - display: flex; - width: 100%; - - & > label, & > span { - border-color: var(--border-color); - border-style: solid; - border-width: var(--border-width); - color: var(--font-color); - font-size: var(--font-size); - font-family: inherit; - font-weight: 400; - line-height: 1.5; - outline: none; - background-color: var(--background-color); - padding: calculateRem(8) calculateRem(16); - } - - & > .button { - line-height: 1.5; - white-space: nowrap; - } - - input, select { - box-shadow: none; - - &:focus { - box-shadow: none !important; - } - } - - & > label, & > span, input, & > .button { - margin: 0; - &:not(:last-child) { - border-right: none; - } - - &:focus + * { - border-left-color: var(--focus-color); - } - } - - .is-select:not(:last-child) { - select { - border-right-color: transparent; - } - - &:focus-within + * { - border-left-color: var(--focus-color); - } - } -} - -.is-file-input { - input[type="file"] { - display: none; - } - - label { - font-weight: normal; - } -} diff --git a/scss/form/_slider.scss b/scss/form/_slider.scss deleted file mode 100755 index 84a84c9..0000000 --- a/scss/form/_slider.scss +++ /dev/null @@ -1,72 +0,0 @@ -$slider-thumb-color: var(--color-primary) !default; -$slider-thumb-radius: 20px !default; -$slider-thumb-height: 1.5rem !default; -$slider-thumb-width: 1.5rem !default; -$slider-track-height: 8.4px !default; -$slider-track-background: createColor(#dbdbdb) !default; - -@mixin sliderThumb() { - height: var(--thumb-height); - width: var(--thumb-width); - border-radius: var(--thumb-radius); - background-color: var(--thumb-color); - cursor: pointer; - margin-top: -8px; -} - -@mixin sliderTrack() { - width: 100%; - height: var(--track-height); - cursor: pointer; - background-color: var(--track-background-color); -} - -.is-slider { - --thumb-color: #{$slider-thumb-color}; - --thumb-radius: #{$slider-thumb-radius}; - --thumb-height: #{$slider-thumb-height}; - --thumb-width: #{$slider-thumb-width}; - --track-height: #{$slider-track-height}; - --track-background-color: #{$slider-track-background}; - - width: 100%; - - input[type="range"] { - background: transparent; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - width: 100%; - - &::-webkit-slider-thumb { - @include sliderThumb(); - -webkit-appearance: none; - } - &::-moz-range-thumb { - @include sliderThumb(); - border-color: transparent; - -moz-appearance: none; - } - &::-ms-thumb { - @include sliderThumb(); - -ms-appearance: none; - } - - &::-webkit-slider-runnable-track { - @include sliderTrack(); - } - - &::-moz-range-track { - @include sliderTrack(); - } - - &::-ms-track { - @include sliderTrack(); - } - - &:focus { - outline: none; - } - } -} diff --git a/scss/form/_switch.scss b/scss/form/_switch.scss deleted file mode 100755 index cc40762..0000000 --- a/scss/form/_switch.scss +++ /dev/null @@ -1,74 +0,0 @@ -$switch-outer-radius: 20px !default; -$switch-inner-radius: 15px !default; -$switch-background: createColor(#dbdbdb) !default; -$switch-checked-background: var(--color-primary) !default; -$switch-height: calculateRem(32) !default; -$switch-width: calculateRem(64) !default; -$switch-toggle-background: var(--color-white) !default; -$switch-toggle-height: calculateRem(24) !default; -$switch-toggle-width: calculateRem(24) !default; - -.is-switch { - --track-rounded-radius: 20px; - --toggle-rounded-radius: 15px; - --track-radius: 0; - --toggle-radius: 0; - --track-background-color: #{$switch-background}; - --active-track-background-color: #{$switch-checked-background}; - - --toggle-background-color: #{$switch-toggle-background}; - --track-height: #{$switch-height}; - --track-width: #{$switch-width}; - --toggle-height: #{$switch-toggle-height}; - --toggle-width: #{$switch-toggle-width}; - - line-height: 0.8; - - &.is-rounded { - label { - --track-radius: var(--track-rounded-radius); - - &::after { - --toggle-radius: var(--toggle-rounded-radius); - } - } - } - - input { - margin: 0; - opacity: 0; - position: absolute; - } - - input:checked ~ label { - --track-background-color: var(--active-track-background-color); - - &::after { - left: calculateRem(36); - } - } - - label { - background-color: var(--track-background-color); - border-radius: var(--track-radius); - cursor: pointer; - display: inline-block; - height: var(--track-height); - position: relative; - transition: all 0.25s ease-out; - width: var(--track-width); - - &::after { - content: ''; - background-color: var(--toggle-background-color); - border-radius: var(--toggle-radius); - display: block; - left: calculateRem(4); - height: var(--toggle-height); - position: absolute; - top: calculateRem(4); - transition: all 0.25s ease-out; - width: var(--toggle-width); - } - } -} diff --git a/scss/layout/_all.scss b/scss/layout/_all.scss deleted file mode 100755 index 1fee935..0000000 --- a/scss/layout/_all.scss +++ /dev/null @@ -1,4 +0,0 @@ -@import './container'; -@import './grid'; -@import './hero'; -@import './section'; diff --git a/scss/layout/_container.scss b/scss/layout/_container.scss deleted file mode 100755 index f68b2d3..0000000 --- a/scss/layout/_container.scss +++ /dev/null @@ -1,16 +0,0 @@ -$container-padding: 20px !default; -$container-max-width: 1200px !default; - -.container { - --padding: #{$container-padding}; - --max-width: #{$container-max-width}; - - max-width: var(--max-width); - margin: 0 auto; - width: 100%; - - &.is-full { - max-width: 100%; - padding: 0 var(--padding); - } -} diff --git a/scss/layout/_grid.scss b/scss/layout/_grid.scss deleted file mode 100755 index 7a40bef..0000000 --- a/scss/layout/_grid.scss +++ /dev/null @@ -1,156 +0,0 @@ -@use "sass:math"; - -$col-padding: calculateRem(10) !default; -$col-margin-top: calculateRem(8) !default; -$col-margin-bottom: calculateRem(8) !default; -$max-cols: 12 !default; -$col-percentage: math.div(100, $max-cols); - -$grid-sizes: 'one-quarter' 25%, 'half' 50%, 'three-quarters' 75%, 'one-third' 33.333333%, 'two-thirds' 66.666666%, 'full' 100%, 'one-fifth' 20%, 'two-fifths' 40%, 'three-fifths' 60%, 'four-fifths' 80% !default; - -@function calcColWidth($size) { - @return $col-percentage * $size * 1%; -} - -@mixin column-size($size, $max-size, $width, $screen) { - .column.is#{$screen}-#{$size} { - --width: #{$width}; - flex: none; - } - - @if($size != $max-size) { - .column.is-offset#{$screen}-#{$size} { - margin-left: $width; - } - } -} - -.grid { - --col-padding: #{$col-padding}; - --col-margin-top: #{$col-margin-top}; - --col-margin-bottom: #{$col-margin-bottom}; - --col-width: 100%; - - .column { - --margin: var(--col-margin-top) 0 var(--col-margin-bottom) 0; - --padding: var(--col-padding); - --width: var(--col-width); - } - - display: flex; - flex-flow: row wrap; - - &.has-centered { - &.is-vertical { - align-items: center; - } - } - - &.has-spacing { - justify-content: space-between; - } - - &.has-row-margin { - .column { - margin: var(--margin); - } - } - - &.is-vertical { - flex-direction: column; - } - - &.is-flex-start { - align-items: flex-start; - } - - .column { - flex: none; - padding: var(--padding); - width: var(--width); - - &.is-mobile-auto { - flex: 1; - } - - @include medium { - flex: 1; - } - - @include large { - &.is-desktop-auto { - flex: 1 !important; - } - } - - @include extra-large { - &.is-desktop-x-auto { - flex: 1 !important; - } - } - - &.is-end { - margin-left: auto; - } - - &.is-center { - margin: 0 auto; - } - } - - &.has-no-col-padding > .column { - padding: 0; - } - - @include medium { - .column.is-shrink { - flex: none; - width: auto; - } - @each $size in $grid-sizes { - @include column-size(nth($size, 1), 'full', nth($size, 2), ''); - } - @for $i from 1 through $max-cols { - @include column-size($i, $max-cols, calcColWidth($i), ''); - } - } - - @include small { - .column.is-mobile-shrink { - width: auto; - } - @each $size in $grid-sizes { - @include column-size(nth($size, 1), 'full', nth($size, 2), '-mobile'); - } - @for $i from 1 through $max-cols { - @include column-size($i, $max-cols, calcColWidth($i), '-mobile'); - } - } - - @include large { - .column.is-desktop-shrink { - flex: none; - width: auto; - } - @each $size in $grid-sizes { - @include column-size(nth($size, 1), 'full', nth($size, 2), '-desktop'); - } - @for $i from 1 through $max-cols { - @include column-size($i, $max-cols, calcColWidth($i), '-desktop'); - } - } - - @include extra-large { - .column.is-desktop-x-shrink { - flex: none; - width: auto; - } - @each $size in $grid-sizes { - @include column-size(nth($size, 1), 'full', nth($size, 2), '-desktop-x'); - } - @for $i from 1 through $max-cols { - @include column-size($i, $max-cols, calcColWidth($i), '-desktop-x'); - } - } - -} diff --git a/scss/layout/_hero.scss b/scss/layout/_hero.scss deleted file mode 100755 index aaad296..0000000 --- a/scss/layout/_hero.scss +++ /dev/null @@ -1,42 +0,0 @@ -$hero-padding: 4rem 1.5rem !default; -$hero-sizes: 'medium' (9rem 1.5rem), 'large' (16rem 1.5rem) !default; -$hero-background-color: var(--color-white) !default; -$hero-color: var(--color-black) !default; - -.hero { - --padding: #{$hero-padding }; - --background-color: #{$hero-background-color}; - --font-color: #{$hero-color}; - - display: flex; - flex-direction: column; - - &__content, &__footer, &__header { - background-color: var(--background-color); - color: var(--font-color); - } - - &__content { - flex: auto; - padding: var(--padding); - } - - &__footer, &__header { - flex: none; - } - - @each $size in $hero-sizes { - &.is-#{nth($size, 1)} > &__content { - padding: nth($size, 2); - } - } - - &.is-full { - min-height: 100vh; - - & > .hero__content { - align-items: center; - display: flex; - } - } -} diff --git a/scss/layout/_section.scss b/scss/layout/_section.scss deleted file mode 100755 index f4d385b..0000000 --- a/scss/layout/_section.scss +++ /dev/null @@ -1,19 +0,0 @@ -$section-padding: 6rem 1rem !default; -$section-padding-small: 3rem 1rem !default; -$section-padding-large: 12rem 1rem !default; - -.section { - --padding: #{$section-padding}; - --padding-small: #{$section-padding-small}; - --padding-large: #{$section-padding-large}; - - padding: var(--padding); - - &.is-small { - --padding: var(--padding-small); - } - - &.is-large { - --padding: var(--padding-large); - } -} diff --git a/scss/main.scss b/scss/main.scss index c8625e2..c9f5561 100755 --- a/scss/main.scss +++ b/scss/main.scss @@ -1,7 +1,3 @@ /*! Orbit CSS v2.0.0 | MIT license | https://orbitcss.com */ -@import './base/all'; -@import './layout/all'; -@import './form/all'; -@import './navigation/all'; -@import './elements/all'; +@import './base/colors'; diff --git a/scss/navigation/_all.scss b/scss/navigation/_all.scss deleted file mode 100755 index e2bcc26..0000000 --- a/scss/navigation/_all.scss +++ /dev/null @@ -1,4 +0,0 @@ -@import './breadcrumb'; -@import './menu'; -@import './pagination'; -@import './top'; diff --git a/scss/navigation/_breadcrumb.scss b/scss/navigation/_breadcrumb.scss deleted file mode 100755 index 8a39a56..0000000 --- a/scss/navigation/_breadcrumb.scss +++ /dev/null @@ -1,53 +0,0 @@ -$breadcrumb-color: var(--color-link) !default; -$breadcrumb-disabled-color: var(--color-muted) !default; -$breadcrumb-active-color: var(--color-black) !default; -$breadcrumb-hover-color: var(--color-black) !default; -$breadcrumb-separator-color: var(--color-black) !default; -$breadcrumb-separator-padding: 0 0.625rem !default; -$breadcrumb-separator: '/' !default; - -.breadcrumb { - --font-color: #{$breadcrumb-color}; - --separator-color: #{$breadcrumb-separator-color}; - --separator-padding: #{$breadcrumb-separator-padding}; - - --hover-font-color: #{$breadcrumb-hover-color}; - --disabled-font-color: #{$breadcrumb-disabled-color}; - --active-font-color: #{$breadcrumb-active-color}; - - display: flex; - flex-flow: column wrap; - - ul { - display: flex; - flex-flow: row wrap; - list-style: none; - margin: 0; - - li { - color: var(--font-color); - - a { - color: inherit; - } - - &:hover { - --font-color: var(--hover-font-color); - } - - &.is-disabled { - --font-color: var(--disabled-font-color); - } - - &.is-active { - --font-color: var(--active-font-color); - } - } - - li + li::before { - color: var(--separator-color); - content: $breadcrumb-separator; - padding: var(--separator-padding); - } - } -} diff --git a/scss/navigation/_menu.scss b/scss/navigation/_menu.scss deleted file mode 100755 index 997df6a..0000000 --- a/scss/navigation/_menu.scss +++ /dev/null @@ -1,143 +0,0 @@ -$menu-title-color: createColor(lighten($dark-grey, 25%)) !default; -$menu-title-font-size: calculateRem(13.6) !default; -$menu-title-line-height: 1.5 !default; -$menu-title-padding: calculateRem(8) calculateRem(16) !default; -$menu-title-case: uppercase !default; - -$menu-list-background: transparent !default; -$menu-list-color: var(--color-black) !default; -$menu-list-line-height: 1.5 !default; -$menu-list-padding: calculateRem(8) calculateRem(24) !default; -$menu-list-active-background: var(--color-primary) !default; -$menu-list-active-color: var(--color-primary-text) !default; -$menu-list-hover-background: createColor(rgba(192, 192, 192, 0.09)) !default; -$menu-list-hover-color: var(--color-black) !default; - -$menu-divider-width: 1px !default; -$menu-divider-color: createColor(#e9ecef); -$menu-divider-margin: calculateRem(8) !default; - -$menu-expandable-border-width: 1px !default; -$menu-expandable-border-color: createColor(#e9ecef) !default; -$menu-expandable-margin: calculateRem(12) !default; -$menu-expandable-padding-left: calculateRem(12) !default; -$menu-expandable-item-padding: 0 calculateRem(12) !default; - -.menu { - - &__title { - --font-color: #{$menu-title-color}; - --font-size: #{$menu-title-font-size}; - --line-height: #{$menu-title-line-height}; - --padding: #{$menu-title-padding}; - --case: #{$menu-title-case}; - color: var(--font-color); - font-size: var(--font-size); - line-height: var(--line-height); - padding: var(--padding); - margin: 0; - text-transform: var(--case); - } - - &__list { - --background-color: #{$menu-list-background}; - --font-color: #{$menu-list-color}; - --active-background-color: #{$menu-list-active-background}; - --active-font-color: #{$menu-list-active-color}; - --hover-background-color: #{$menu-list-hover-background}; - --hover-font-color: #{$menu-list-hover-color}; - --item-padding: #{$menu-list-padding}; - --line-height: #{$menu-list-line-height}; - - list-style: none; - margin: 0; - - & > li.is-active:not(.is-expandable) > a, li.is-expandable.is-active > :first-child, li:not(.is-expandable) li.is-active > a { - --background-color: var(--active-background-color); - --font-color: var(--active-font-color); - } - - li { - > a { - background-color: var(--background-color); - color: var(--font-color); - line-height: var(--line-height); - - &:hover { - text-decoration: none; - } - } - - &.is-expandable { - --expandable-item-padding: #{$menu-expandable-item-padding}; - --border-color: #{$menu-expandable-border-color}; - --border-width: #{$menu-expandable-border-width}; - --padding-left: #{$menu-expandable-padding-left}; - --margin: #{$menu-expandable-margin}; - - & > :first-child { - display: block; - padding: var(--item-padding); - } - - &:not(.is-active) > :first-child:hover { - --background-color: var(--hover-background-color); - --font-color: var(--hover-font-color); - } - - &.is-active > ul { - display: block; - } - - & > ul { - border-left: var(--border-width) solid var(--border-color); - list-style: none; - display: none; - margin: var(--margin); - padding-left: var(--padding-left); - - li { - padding: var(--expandable-item-padding); - - &.is-active { - a { - --background-color: var(--hover-background-color); - --font-color: var(--hover-font-color); - } - } - } - } - } - - &:not(.is-expandable) { - ul { - list-style: none; - } - } - } - - li:not(.is-expandable) { - cursor: pointer; - - &:not(.is-active) > a:hover { - --background-color: var(--hover-background-color); - --font-color: var(--hover-font-color); - } - - a { - display: block; - padding: var(--item-padding); - } - } - } - - &__divider { - --border-width: #{$menu-divider-width}; - --border-color: #{$menu-divider-color}; - --margin: #{$menu-divider-margin}; - - border-top: var(--border-width) solid var(--border-color); - margin: var(--margin); - } - -} diff --git a/scss/navigation/_pagination.scss b/scss/navigation/_pagination.scss deleted file mode 100755 index 46e93a4..0000000 --- a/scss/navigation/_pagination.scss +++ /dev/null @@ -1,132 +0,0 @@ -$pagination-background: transparent !default; -$pagination-border-color: transparent !default; -$pagination-border-width: 1px !default; -$pagination-border-radius: 0 !default; -$pagination-font-size: 0.875rem !default; -$pagination-color: var(--color-black) !default; -$pagination-line-height: 1.5 !default; -$pagination-margin: 0.125rem !default; -$pagination-padding: 0.375rem 0.75rem !default; -$pagination-padding-bottom: calc(0.375rem - 1px) !default; -$pagination-active-background: var(--color-primary) !default; -$pagination-active-color: var(--color-primary-text) !default; -$pagination-disabled-opacity: 0.5 !default; -$pagination-hover-background: var(--color-light) !default; -$pagination-hover-color: var(--color-black) !default; -$pagination-rounded-radius: 50px !default; -$pagination-rounded-margin: 0.25rem !default; -$pagination-bordered-background: var(--color-white) !default; -$pagination-bordered-color: var(--color-black) !default; -$pagination-bordered-radius: 4px !default; -$pagination-bordered-border-color: var(--color-light-grey) !default; -$pagination-bordered-active-background: var(--color-primary) !default; -$pagination-bordered-active-border-color: var(--color-primary) !default; -$pagination-bordered-active-color: var(--color-primary-text); -$pagination-bordered-hover-background: var(--color-white) !default; -$pagination-bordered-hover-border-color: var(--color-light-grey-darker) !default; -$pagination-bordered-hover-color: var(--color-black) !default; - -.pagination { - --background-color: #{$pagination-background}; - --font-color: #{$pagination-color}; - --border-color: #{$pagination-border-color}; - --border-width: #{$pagination-border-width}; - --border-radius: #{$pagination-border-radius}; - --font-size: #{$pagination-font-size}; - --line-height: #{$pagination-line-height}; - --margin: #{$pagination-margin}; - --padding: #{$pagination-padding}; - --disabled-opacity: #{$pagination-disabled-opacity}; - - --hover-background-color: #{$pagination-hover-background}; - --hover-font-color: #{$pagination-hover-color}; - --hover-border-color: transparent; - --active-background-color: #{$pagination-active-background}; - --active-font-color: #{$pagination-active-color}; - --active-border-color: transparent; - - display: flex; - flex-direction: column; - font-size: var(--font-size); - - @include medium { - align-items: flex-end; - flex-direction: row; - } - - ul { - display: flex; - font-size: inherit; - margin: 0; - } - - .is-center { - margin: 0 auto; - } - - .is-end { - margin-left: auto; - } - - li { - background-color: var(--background-color); - border-color: var(--border-color); - border-style: solid; - border-width: var(--border-width); - border-radius: var(--border-radius); - cursor: pointer; - color: var(--font-color); - display: inline-block; - line-height: var(--line-height); - justify-content: center; - margin: var(--margin); - text-align: center; - - a { - color: inherit; - display: block; - padding: var(--padding); - - &:hover { - text-decoration: none; - } - } - - &.is-active { - --background-color: var(--active-background-color); - --font-color: var(--active-font-color); - --border-color: var(--active-border-color); - } - - &.is-disabled, &.is-disabled > a { - cursor: not-allowed; - opacity: var(--disabled-opacity); - } - - &:hover:not(.is-active):not(.is-disabled) { - --background-color: var(--hover-background-color); - --font-color: var(--hover-font-color); - --border-color: var(--hover-border-color); - } - - } - - &.has-border { - --background-color: #{$pagination-bordered-background}; - --font-color: #{$pagination-bordered-color}; - --border-color: #{$pagination-bordered-border-color}; - --border-radius: #{$pagination-bordered-radius}; - - --hover-background-color: #{$pagination-bordered-hover-background}; - --hover-font-color: #{$pagination-bordered-hover-color}; - --hover-border-color: #{$pagination-bordered-hover-border-color}; - --active-background-color: #{$pagination-bordered-active-background}; - --active-font-color: #{$pagination-bordered-active-color}; - --active-border-color: #{$pagination-bordered-active-border-color}; - } - - &.has-round { - --margin: #{$pagination-rounded-margin}; - --border-radius: #{$pagination-rounded-radius}; - } -} diff --git a/scss/navigation/_top.scss b/scss/navigation/_top.scss deleted file mode 100755 index 5068257..0000000 --- a/scss/navigation/_top.scss +++ /dev/null @@ -1,354 +0,0 @@ -$top-padding: 1rem 0.75rem !default; -$top-shadow: none !default; - -$top-brand-padding: 0 0.65rem !default; -$top-brand-color: inherit !default; -$top-brand-max-logo-width: 200px !default; - -$top-link-radius: 6px !default; -$top-link-padding: 0.3125rem 0.9375rem !default; -$top-link-color: inherit !default; -$top-link-background: transparent !default; -$top-link-hover-background: createColor(rgba(169, 169, 169, 0.15)) !default; -$top-link-hover-color: inherit !default; -$top-link-active-background: transparent !default; -$top-link-active-color: inherit !default; - -$top-social-padding: 0 0.65rem !default; -$top-social-margin: 0 6px !default; -$top-social-color: inherit !default; -$top-social-hover-color: inherit !default; - -$top-button-padding: 0 0.65rem !default; - -$top-burger-color: inherit !default; -$top-burger-width: 20px !default; -$top-burger-padding: 0 0.65rem !default; -$top-burger-bar-height: 2px !default; -$top-burger-bar-gap: 4px !default; -$top-burger-transition: 0.75s !default; - -.top { - --padding: #{$top-padding}; - --box-shadow: #{$top-shadow}; - - align-items: center; - box-shadow: var(--box-shadow); - display: flex; - flex-flow: row nowrap; - padding: var(--padding); - position: relative; - z-index: 40; - - &__brand, &__links, &__buttons, &__social, &__burger { - --padding: 0; - padding: var(--padding); - } - - & > .container { - align-items: center; - display: flex; - flex-direction: row; - } - - &__brand { - --padding: #{$top-brand-padding}; - --font-color: #{$top-brand-color}; - --max-width: #{$top-brand-max-logo-width}; - - align-items: center; - color: var(--font-color); - display: flex; - - h1, h2, h3, h4, h5, h6 { - margin-bottom: 0; - } - - img { - max-width: var(--max-width); - } - } - - &.is-static { - position: fixed; - top: 0; - width: 100%; - } - - .is-end { - margin-left: auto; - } - - &__buttons { - --padding: #{$top-button-padding}; - - .button, .is-button-group .button { - margin-bottom: 0; - } - } - - &__links { - --background-color: #{$top-link-background}; - --font-color: #{$top-link-color}; - --border-radius: #{$top-link-radius}; - --link-padding: #{$top-link-padding}; - --text-align: start; - - --hover-background-color: #{$top-link-hover-background}; - --hover-font-color: #{$top-link-hover-color}; - --active-background-color: #{$top-link-active-background}; - --active-font-color: #{$top-link-active-color}; - - text-align: var(--text-align); - - ul:not(.dropdown) > li { - background-color: var(--background-color); - border-radius: var(--border-radius); - color: var(--font-color); - cursor: pointer; - position: relative; - white-space: nowrap; - - a { - color: inherit; - display: block; - padding: var(--link-padding); - } - - &.has-dropdown a { - padding-right: 0; - } - - &.is-active { - --background-color: var(--active-background-color); - --font-color: var(--active-font-color); - } - - &:hover { - --background-color: var(--hover-background-color); - --font-color: var(--hover-font-color); - text-decoration: none; - - a { - text-decoration: inherit; - } - } - } - - & > ul { - display: inline-flex; - flex-flow: row wrap; - list-style: none; - margin: 0; - } - } - - &__social { - --padding: #{$top-social-padding}; - --font-color: #{$top-social-color}; - --item-margin: #{$top-social-margin}; - - --hover-font-color: #{$top-social-hover-color}; - - & > ul { - display: inline-flex; - flex-flow: row wrap; - list-style: none; - margin: 0; - } - - li { - color: var(--font-color); - margin: var(--item-margin); - position: relative; - - &:hover { - --font-color: var(--hover-font-color); - } - - &:first-of-type { - margin-left: 0; - } - - &:last-of-type { - margin-right: 0; - } - } - - a { - color: inherit; - } - } - - &__burger { - --font-color: #{$top-burger-color}; - --padding: #{$top-burger-padding}; - --width: #{$top-burger-width}; - --bar-height: #{$top-burger-bar-height}; - --bar-gap: #{$top-burger-bar-gap}; - --transition-speed: #{$top-burger-transition}; - - display: flex; - - span { - display: flex; - flex-flow: column; - position: relative; - width: var(--width); - - &:before, &:after { - border-color: var(--font-color); - border-style: solid; - content: ''; - cursor: pointer; - width: 100%; - } - - &:before { - border-width: var(--bar-height) 0 var(--bar-height); - padding-bottom: var(--bar-gap); - } - - &:after { - border-width: 0 0 var(--bar-height); - padding-top: var(--bar-gap); - } - } - - &.has-animate { - span { - &:before, &:after { - transition: var(--transition-speed); - } - } - } - - &.is-active { - span { - &:before, &:after { - padding: 0; - position: absolute; - } - - &:before { - border-width: var(--bar-height) 0 0; - transform: rotate(405deg); - } - - &:after { - transform: rotate(-405deg); - } - } - } - } - - @mixin responsive-top { - flex-flow: row wrap; - - .container { - flex-flow: row wrap; - } - - .top__brand { - & + .top__links, & + .top__social, .top__buttons { - padding-top: 1rem; - } - } - - &:not(.is-open) { - .top__links, .top__social, .top__buttons { - display: none; - } - } - - .top__links, .top__social, .top__buttons { - order: 2; - width: 100%; - - &:first-of-type { - padding-top: 1rem; - } - - ul:not(.dropdown) { - display: flex; - width: 100%; - } - } - - .top__links { - ul { - flex-direction: column; - padding: 0.5rem 0; - } - - .has-dropdown { - display: flex; - flex-direction: column; - - &.is-hoverable:hover, &.is-active { - background-color: transparent; - - &.has-arrow::after { - top: 17px; - } - - & > .dropdown { - background-color: transparent; - border: none; - border-radius: 0; - box-shadow: none; - position: relative; - } - } - - .dropdown__link { - &:hover { - background-color: var(--hover-background-color); - } - } - } - } - - .top__social { - --padding: 0; - - ul { - flex-direction: row; - padding: 0.5rem 0.9375rem; - } - } - - .top__buttons { - --padding: 0.5rem 0.9375rem; - } - - .top__burger { - --padding: #{$top-padding}; - } - } - - &.is-mobile-responsive { - @include small { - @include responsive-top; - } - - @include medium { - .top__burger { - display: none; - } - } - } - - &.is-tablet-responsive { - @media (max-width: calc(#{$large} - 1px)) { - @include responsive-top; - } - - @include large { - .top__burger { - display: none; - } - } - } - -} diff --git a/src/app.css b/src/app.css new file mode 100644 index 0000000..9acf5f1 --- /dev/null +++ b/src/app.css @@ -0,0 +1,9 @@ +.text { + &-black { + color: #000000; + } + + &-white { + color: #ffffff; + } +} diff --git a/src/cli b/src/cli new file mode 100644 index 0000000..df68d37 --- /dev/null +++ b/src/cli @@ -0,0 +1,4 @@ +#!/usr/bin/env node + +const orbitcss = require('./index.js'); +orbitcss(); diff --git a/src/conf/colors.js b/src/conf/colors.js new file mode 100644 index 0000000..c5b40a5 --- /dev/null +++ b/src/conf/colors.js @@ -0,0 +1,139 @@ +module.exports = { + inherit: 'inherit', + current: 'currentColor', + transparent: 'transparent', + black: '#000000', + white: '#ffffff', + blue: { + 100: '#d4e2ff', + 200: '#a1bfff', + 300: '#6e9cff', + 400: '#3b79ff', + 500: '#0856ff', + 600: '#0043d4', + 700: '#0033a1', + 800: '#00236e', + 900: '#00133b' + }, + purple: { + 100: '#f8f5fe', + 200: '#d5c9f7', + 300: '#b39df0', + 400: '#9071e9', + 500: '#6e45e2', + 600: '#4f21d3', + 700: '#3f1aa7', + 800: '#2e137b', + 900: '#1e0c4f' + }, + indigo: { + 100: '#e2ccff', + 200: '#c499ff', + 300: '#a766ff', + 400: '#8933ff', + 500: '#6c00ff', + 600: '#5600cc', + 700: '#410099', + 800: '#2b0066', + 900: '#160033' + }, + magenta: { + 100: '#fdbae5', + 200: '#fc88d2', + 300: '#fb56c0', + 400: '#f925ad', + 500: '#e50695', + 600: '#b30575', + 700: '#820354', + 800: '#500234', + 900: '#1e0114' + }, + red: { + 100: '#ffedea', + 200: '#ffc0b7', + 300: '#fe9485', + 400: '#fe6752', + 500: '#fe3b1f', + 600: '#e91e01', + 700: '#b61801', + 800: '#831101', + 900: '#510a00' + }, + orange: { + 100: '#ffe6cc', + 200: '#ffcd99', + 300: '#ffb566', + 400: '#ff9c33', + 500: '#ff8300', + 600: '#cc6900', + 700: '#994f00', + 800: '#663400', + 900: '#331a00' + }, + yellow: { + 100: '#fff5cc', + 200: '#ffeb99', + 300: '#ffe166', + 400: '#ffd733', + 500: '#ffcd00', + 600: '#cca400', + 700: '#997b00', + 800: '#665200', + 900: '#332900' + }, + green: { + 100: '#e7f4e1', + 200: '#c7e7bc', + 300: '#a8da96', + 400: '#89cc71', + 500: '#6abf4b', + 600: '#549f38', + 700: '#40792b', + 800: '#2c531e', + 900: '#182e10' + }, + cyan: { + 100: '#abf4ff', + 200: '#78edff', + 300: '#45e7ff', + 400: '#12e0ff', + 500: '#00c1de', + 600: '#0095ab', + 700: '#006878', + 800: '#003c45', + 900: '#001012' + }, + gray: { + 100: '#e6e6e6', + 200: '#cccccc', + 300: '#b3b3b3', + 400: '#999999', + 500: '#808080', + 600: '#666666', + 700: '#4d4d4d', + 800: '#333333', + 900: '#1a1a1a' + }, + coolGray: { + 100: '#f3f4f5', + 200: '#d8dbdd', + 300: '#bdc2c5', + 400: '#a2a9ad', + 500: '#879095', + 600: '#6d777c', + 700: '#555d61', + 800: '#3d4346', + 900: '#26292a' + }, + warmGray: { + 100: '#f9f8f7', + 200: '#eeebe9', + 300: '#e2dedb', + 400: '#d7d2cc', + 500: '#ccc5be', + 600: '#b6aba1', + 700: '#9f9285', + 800: '#87786a', + 900: '#6a5f54' + } +}; diff --git a/src/conf/utilityClasses.js b/src/conf/utilityClasses.js new file mode 100644 index 0000000..79da8d4 --- /dev/null +++ b/src/conf/utilityClasses.js @@ -0,0 +1,81 @@ +const parseUtilities = require('../parseUtilities'); + +// const colors = parseUtilities(require('./colors')); +// const textColors = Object.fromEntries( +// Object.entries(colors).map(([key, value]) => ([key, {color: value}])) +// ); +// +// console.log(colors); + +module.exports = { + align: { + baseline: {verticalAlign: 'baseline'}, + top: {verticalAlign: 'top'}, + middle: {verticalAlign: 'middle'}, + bottom: {verticalAlign: 'bottom'}, + textTop: {verticalAlign: 'text-top'}, + textBottom: {verticalAlign: 'text-bottom'}, + sub: {verticalAlign: 'sub'}, + super: {verticalAlign: 'super'} + }, + text: { + // ...textColors, + left: {textAlign: 'left'}, + right: {textAlign: 'right'}, + center: {textAlign: 'center'}, + justify: {textAlign: 'justify'}, + }, + serif: { + fontFamily: 'ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"' + }, + sans: { + fontFamily: 'ui-serif, Georgia, Cambria, "Times New Roman", Times, serif' + }, + mono: { + fontFamily: 'font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace' + }, + font: { + base: {fontSize: '1rem', lineHeight: '1.6'}, + xs: {fontSize: '0.75rem', lineHeight: '1.6'}, + s: {fontSize: '0.875rem', lineHeight: '1.6'}, + lg: {fontSize: '1.25rem', lineHeight: '1.6'}, + xl: {fontSize: '1.5rem', lineHeight: '1.6'}, + '2xl': {fontSize: '1.875rem', lineHeight: '1.6'}, + '3xl': {fontSize: '2rem', lineHeight: '1.6'}, + '4xl': {fontSize: '2.25rem', lineHeight: '1.6'} + }, + nonItalic: {fontStyle: 'normal'}, + italic: {fontStyle: 'italic'}, + weight: { + thin: {fontWeight: 100}, + extralight: {fontWeight: 200}, + light: {fontWeight: 300}, + normal: {fontWeight: 400}, + medium: {fontWeight: 500}, + semibold: {fontWeight: 600}, + bold: {fontWeight: 700}, + extrabold: {fontWeight: 800}, + black: {fontWeight: 900} + }, + line: { + 0: {lineHeight: '1'}, + xs: {lineHeight: '1.2'}, + sm: {lineHeight: '1.375'}, + base: {lineHeight: '1.5'}, + lg: {lineHeight: '1.625'}, + xl: {lineHeight: '2'} + }, + overline: {textDecorationLine: 'overline', color: 'red'}, + underline: {textDecorationLine: 'underline'}, + lineThrough: {textDecorationLine: 'line-through'}, + noUnderline: {textDecorationLine: 'none'}, + decoration: { + style: { + solid: {textDecorationStyle: 'solid'}, + double: {textDecorationStyle: 'double'}, + dotted: {textDecorationStyle: 'dotted'}, + dashed: {textDecorationStyle: 'dashed'}, + wavy: {textDecorationStyle: 'wavy'} + } + } +} diff --git a/src/createCss.js b/src/createCss.js new file mode 100644 index 0000000..b198d35 --- /dev/null +++ b/src/createCss.js @@ -0,0 +1,13 @@ +function formatClassName(str) { + return str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($, ofs) => (ofs ? "-" : "") + $.toLowerCase()); +} + +const create = ({rules}) => { + style = {}; + for (let [className, rule] of Object.entries(rules)) { + style[`.${formatClassName(className)}`] = rule; + } + return style; +}; + +module.exports = create; diff --git a/src/index.js b/src/index.js new file mode 100644 index 0000000..4753b85 --- /dev/null +++ b/src/index.js @@ -0,0 +1,116 @@ +const autoprefixer = require('autoprefixer'); +const postcss = require('postcss'); +const postcssJs = require('postcss-js'); +const cssnano = require('cssnano'); +const postcssNested = require('postcss-nested'); +const fs = require('fs').promises; +const arg = require('arg'); +const parser = require('postcss-selector-parser'); +const help = require('./utils/helpCli'); +const parseUtilities = require('./parseUtilities'); +const createCss = require('./createCss'); + + + +let sharedFlags = { + '--help': {type: Boolean, description: 'Displays usage and additional options for the command'}, + '-h': '--help' +}; + +let commands = { + build: { + run: build, + description: 'Build the OrbitCSS style scripts', + usage: [ + 'orbitcss build [options]' + ], + args: { + '--input': { type: String, description: 'Input file path'}, + '--output': { type: String, description: 'Output file path' }, + '--watch': { type: Boolean, description: 'Watches for changes and rebuilds'}, + '--minimize': { type: Boolean, description: 'Final CSS output will be minimized'}, + '-i': '--input', + '-o': '--output', + '-w': '--watch', + '-m': '--minimize', + ...sharedFlags + } + } +} + +let command = process.argv[2] || 'build'; + +if(commands[command] === undefined) { + help({ + message: `Invalid command ${command}`, + usage: [ + 'orbitcss [options]' + ], + commands: Object.keys(commands) + .map((command) => `${command} [options]`), + options: sharedFlags + }) + process.exit(1); +} + +let { args: flags, run } = commands[command]; +let args = (() => { + let result = arg( + Object.fromEntries( + Object.entries(flags) + .map(([key, value]) => [key, typeof value === 'object' ? value.type : value]) + ), + { permissive: true } + ) + return result; +})(); + +if(args['--help']) { + let { description, usage } = commands[command]; + help({ + message: description, + usage: usage, + options: flags + }); + process.exit(0); +} + +async function getInputCss(path) { + let inputFile = await fs.readFile(path); + return postcssJs.objectify(postcss.parse(inputFile)); +} + +async function build() { + let input = args['--input']; + let output = args['--output']; + let min = args['--minimize']; + + let plugins = [ + autoprefixer, + postcssNested + ]; + if(min) { + plugins.push(cssnano); + } + + const utilityClasses = require('./conf/utilityClasses'); + + const style = parseUtilities(utilityClasses); + + const css = createCss({ + rules: style + }); + + const finalCss = input ? {...css, ...await getInputCss(input)} : css; + + postcss(plugins) + .process(finalCss, { from: undefined, to: output, parser: postcssJs }) + .then((result) => { + fs.writeFile(output, result.css, () => true); + if(result.map) { + fs.writeFile(`${output}.map`, result.map.toString(), () => true) + } + }); +} + +module.exports = run; diff --git a/src/parseUtilities.js b/src/parseUtilities.js new file mode 100644 index 0000000..277a12c --- /dev/null +++ b/src/parseUtilities.js @@ -0,0 +1,22 @@ +const parse = (styles) => { + let result = {}; + for(let [namespace, value] of Object.entries(styles)) { + if(typeof value === 'object') { + for(let [key, rules] of Object.entries(value)) { + if(typeof rules === 'object') { + console.log(parse(rules)) + result[`${namespace}-${key}`] = parse({...rules}); + } + else { + result[`${namespace}`] = rules; + } + } + } + else { + result[namespace] = value; + } + } + return result; +} + +module.exports = parse; diff --git a/src/utils/helpCli.js b/src/utils/helpCli.js new file mode 100644 index 0000000..b95384f --- /dev/null +++ b/src/utils/helpCli.js @@ -0,0 +1,53 @@ +const packageJson = require('../../package.json'); +const chalk = require('chalk'); + +const help = ({ message, usage = {}, commands = {}, options = {} }) => { + console.log(); + console.log(chalk.hex('#6e45e2')(`OrbitCSS v${packageJson.version}`)); + + console.log(); + + for(let msg of message.split('\n')) { + console.log(msg); + } + + if(usage.length > 0) { + console.log(); + console.log('Usage:'); + console.log(); + for(let item of usage) { + console.log(` ${item}`); + } + } + + if(commands.length > 0) { + console.log(); + console.log('Commands:'); + console.log(); + for (let command of commands) { + console.log(` ${command}`); + } + } + + if(options) { + console.log(); + console.log('Options:'); + console.log(); + + let helpOptions = {}; + for (let [key, value] of Object.entries(options)) { + if(typeof value === 'object') { + helpOptions[key] = { ...value, flags: [key] }; + } + else { + helpOptions[value].flags.push(key); + } + } + + for (let {flags, description} of Object.values(helpOptions)) { + console.log(` ${flags.reverse().join('|').padEnd(20, ' ')}`, description); + } + } +} + +module.exports = help; From 0e500d19d56b8f6ea3a341459dc8003287b53630 Mon Sep 17 00:00:00 2001 From: rhysnhall Date: Mon, 28 Feb 2022 23:13:05 +1100 Subject: [PATCH 2/5] Remove sass --- css/orbit.css | 458 +++++++++++++++++++++++++++++++++++-- orbit.scss | 1 - package-lock.json | 35 --- scss/base/_colors.scss | 3 - scss/main.scss | 3 - src/conf/utilityClasses.js | 41 +++- src/index.js | 17 +- src/parseUtilities.js | 11 +- src/utils/helpCli.js | 2 +- 9 files changed, 493 insertions(+), 78 deletions(-) delete mode 100755 orbit.scss delete mode 100755 scss/base/_colors.scss delete mode 100755 scss/main.scss diff --git a/css/orbit.css b/css/orbit.css index 2bc51ad..c70277b 100755 --- a/css/orbit.css +++ b/css/orbit.css @@ -22,6 +22,345 @@ .align-super { vertical-align: super } +.text-inherit { + color: inherit +} +.text-current { + color: currentColor +} +.text-transparent { + color: transparent +} +.text-black { + color: #000000 +} +.text-white { + color: #ffffff +} +.text-blue-100 { + color: #d4e2ff +} +.text-blue-200 { + color: #a1bfff +} +.text-blue-300 { + color: #6e9cff +} +.text-blue-400 { + color: #3b79ff +} +.text-blue-500 { + color: #0856ff +} +.text-blue-600 { + color: #0043d4 +} +.text-blue-700 { + color: #0033a1 +} +.text-blue-800 { + color: #00236e +} +.text-blue-900 { + color: #00133b +} +.text-purple-100 { + color: #f8f5fe +} +.text-purple-200 { + color: #d5c9f7 +} +.text-purple-300 { + color: #b39df0 +} +.text-purple-400 { + color: #9071e9 +} +.text-purple-500 { + color: #6e45e2 +} +.text-purple-600 { + color: #4f21d3 +} +.text-purple-700 { + color: #3f1aa7 +} +.text-purple-800 { + color: #2e137b +} +.text-purple-900 { + color: #1e0c4f +} +.text-indigo-100 { + color: #e2ccff +} +.text-indigo-200 { + color: #c499ff +} +.text-indigo-300 { + color: #a766ff +} +.text-indigo-400 { + color: #8933ff +} +.text-indigo-500 { + color: #6c00ff +} +.text-indigo-600 { + color: #5600cc +} +.text-indigo-700 { + color: #410099 +} +.text-indigo-800 { + color: #2b0066 +} +.text-indigo-900 { + color: #160033 +} +.text-magenta-100 { + color: #fdbae5 +} +.text-magenta-200 { + color: #fc88d2 +} +.text-magenta-300 { + color: #fb56c0 +} +.text-magenta-400 { + color: #f925ad +} +.text-magenta-500 { + color: #e50695 +} +.text-magenta-600 { + color: #b30575 +} +.text-magenta-700 { + color: #820354 +} +.text-magenta-800 { + color: #500234 +} +.text-magenta-900 { + color: #1e0114 +} +.text-red-100 { + color: #ffedea +} +.text-red-200 { + color: #ffc0b7 +} +.text-red-300 { + color: #fe9485 +} +.text-red-400 { + color: #fe6752 +} +.text-red-500 { + color: #fe3b1f +} +.text-red-600 { + color: #e91e01 +} +.text-red-700 { + color: #b61801 +} +.text-red-800 { + color: #831101 +} +.text-red-900 { + color: #510a00 +} +.text-orange-100 { + color: #ffe6cc +} +.text-orange-200 { + color: #ffcd99 +} +.text-orange-300 { + color: #ffb566 +} +.text-orange-400 { + color: #ff9c33 +} +.text-orange-500 { + color: #ff8300 +} +.text-orange-600 { + color: #cc6900 +} +.text-orange-700 { + color: #994f00 +} +.text-orange-800 { + color: #663400 +} +.text-orange-900 { + color: #331a00 +} +.text-yellow-100 { + color: #fff5cc +} +.text-yellow-200 { + color: #ffeb99 +} +.text-yellow-300 { + color: #ffe166 +} +.text-yellow-400 { + color: #ffd733 +} +.text-yellow-500 { + color: #ffcd00 +} +.text-yellow-600 { + color: #cca400 +} +.text-yellow-700 { + color: #997b00 +} +.text-yellow-800 { + color: #665200 +} +.text-yellow-900 { + color: #332900 +} +.text-green-100 { + color: #e7f4e1 +} +.text-green-200 { + color: #c7e7bc +} +.text-green-300 { + color: #a8da96 +} +.text-green-400 { + color: #89cc71 +} +.text-green-500 { + color: #6abf4b +} +.text-green-600 { + color: #549f38 +} +.text-green-700 { + color: #40792b +} +.text-green-800 { + color: #2c531e +} +.text-green-900 { + color: #182e10 +} +.text-cyan-100 { + color: #abf4ff +} +.text-cyan-200 { + color: #78edff +} +.text-cyan-300 { + color: #45e7ff +} +.text-cyan-400 { + color: #12e0ff +} +.text-cyan-500 { + color: #00c1de +} +.text-cyan-600 { + color: #0095ab +} +.text-cyan-700 { + color: #006878 +} +.text-cyan-800 { + color: #003c45 +} +.text-cyan-900 { + color: #001012 +} +.text-gray-100 { + color: #e6e6e6 +} +.text-gray-200 { + color: #cccccc +} +.text-gray-300 { + color: #b3b3b3 +} +.text-gray-400 { + color: #999999 +} +.text-gray-500 { + color: #808080 +} +.text-gray-600 { + color: #666666 +} +.text-gray-700 { + color: #4d4d4d +} +.text-gray-800 { + color: #333333 +} +.text-gray-900 { + color: #1a1a1a +} +.text-cool-gray-100 { + color: #f3f4f5 +} +.text-cool-gray-200 { + color: #d8dbdd +} +.text-cool-gray-300 { + color: #bdc2c5 +} +.text-cool-gray-400 { + color: #a2a9ad +} +.text-cool-gray-500 { + color: #879095 +} +.text-cool-gray-600 { + color: #6d777c +} +.text-cool-gray-700 { + color: #555d61 +} +.text-cool-gray-800 { + color: #3d4346 +} +.text-cool-gray-900 { + color: #26292a +} +.text-warm-gray-100 { + color: #f9f8f7 +} +.text-warm-gray-200 { + color: #eeebe9 +} +.text-warm-gray-300 { + color: #e2dedb +} +.text-warm-gray-400 { + color: #d7d2cc +} +.text-warm-gray-500 { + color: #ccc5be +} +.text-warm-gray-600 { + color: #b6aba1 +} +.text-warm-gray-700 { + color: #9f9285 +} +.text-warm-gray-800 { + color: #87786a +} +.text-warm-gray-900 { + color: #6a5f54 +} .text-left { text-align: left } @@ -34,9 +373,15 @@ .text-justify { text-align: justify } -.serif: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; -.sans: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; -.mono: font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +.serif { + font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" +} +.sans { + font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif +} +.mono { + font-family: font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace +} .font-base { font-size: 1rem; line-height: 1.6 @@ -69,8 +414,12 @@ font-size: 2.25rem; line-height: 1.6 } -.non-italic: normal; -.italic: italic; +.non-italic { + font-style: normal +} +.italic { + font-style: italic +} .weight-thin { font-weight: 100 } @@ -116,23 +465,90 @@ .line-xl { line-height: 2 } -.overline: red; -.underline: underline; -.line-through: line-through; -.no-underline: none; -.decoration-style { - solid: solid; - double: double; - dotted: dotted; - dashed: dashed; - wavy: wavy +.overline { + -webkit-text-decoration-line: overline; + text-decoration-line: overline; + color: red } -.text-black { - color: #000000 +.underline { + -webkit-text-decoration-line: underline; + text-decoration-line: underline } -.text-white { - color: #ffffff +.line-through { + -webkit-text-decoration-line: line-through; + text-decoration-line: line-through +} +.no-underline { + -webkit-text-decoration-line: none; + text-decoration-line: none +} +.decoration-style-solid { + -webkit-text-decoration-style: solid; + text-decoration-style: solid +} +.decoration-style-double { + -webkit-text-decoration-style: double; + text-decoration-style: double +} +.decoration-style-dotted { + -webkit-text-decoration-style: dotted; + text-decoration-style: dotted +} +.decoration-style-dashed { + -webkit-text-decoration-style: dashed; + text-decoration-style: dashed +} +.decoration-style-wavy { + -webkit-text-decoration-style: wavy; + text-decoration-style: wavy +} +.list-none { + list-style-type: none +} +.list-disc { + list-style-type: disc +} +.list-circle { + list-style-type: circle +} +.list-decimal { + list-style-type: decimal +} +.list-square { + list-style-type: square +} +.list-inside { + list-style-position: inside +} +.list-outside { + list-style-position: outside +} +.uppercase { + text-transform: uppercase +} +.lowercase { + text-transform: lowercase +} +.capitalize { + text-transform: capitalize +} +.truncate { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis +} +.wrap { + white-space: normal +} +.nowrap { + white-space: nowrap +} +.pre { + white-space: pre +} +.pre-line { + white-space: pre-line } -.text-red { - color: 'red' +.pre-wrap { + white-space: pre-wrap } \ No newline at end of file diff --git a/orbit.scss b/orbit.scss deleted file mode 100755 index 64add1a..0000000 --- a/orbit.scss +++ /dev/null @@ -1 +0,0 @@ -@import 'scss/main.scss'; diff --git a/package-lock.json b/package-lock.json index d3c04d3..36c6e20 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1013,11 +1013,6 @@ "node": ">= 4" } }, - "node_modules/immutable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", - "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==" - }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -2241,22 +2236,6 @@ "queue-microtask": "^1.2.2" } }, - "node_modules/sass": { - "version": "1.49.8", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.49.8.tgz", - "integrity": "sha512-NoGOjvDDOU9og9oAxhRnap71QaTjjlzrvLnKecUJ3GxhaQBrV6e7gPuSPF28u1OcVAArVojPAe4ZhOXwwC4tGw==", - "dependencies": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=12.0.0" - } - }, "node_modules/semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -3368,11 +3347,6 @@ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==" }, - "immutable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", - "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==" - }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -4160,15 +4134,6 @@ "queue-microtask": "^1.2.2" } }, - "sass": { - "version": "https://registry.npmjs.org/sass/-/sass-1.49.8.tgz", - "integrity": "sha512-NoGOjvDDOU9og9oAxhRnap71QaTjjlzrvLnKecUJ3GxhaQBrV6e7gPuSPF28u1OcVAArVojPAe4ZhOXwwC4tGw==", - "requires": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - } - }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", diff --git a/scss/base/_colors.scss b/scss/base/_colors.scss deleted file mode 100755 index 554bfcb..0000000 --- a/scss/base/_colors.scss +++ /dev/null @@ -1,3 +0,0 @@ -.text-black { - color: #000000; -} diff --git a/scss/main.scss b/scss/main.scss deleted file mode 100755 index c9f5561..0000000 --- a/scss/main.scss +++ /dev/null @@ -1,3 +0,0 @@ -/*! Orbit CSS v2.0.0 | MIT license | https://orbitcss.com */ - -@import './base/colors'; diff --git a/src/conf/utilityClasses.js b/src/conf/utilityClasses.js index 79da8d4..12fc51f 100644 --- a/src/conf/utilityClasses.js +++ b/src/conf/utilityClasses.js @@ -1,11 +1,14 @@ const parseUtilities = require('../parseUtilities'); -// const colors = parseUtilities(require('./colors')); -// const textColors = Object.fromEntries( -// Object.entries(colors).map(([key, value]) => ([key, {color: value}])) -// ); -// -// console.log(colors); +const colors = require('./colors'); +const textColors = Object.fromEntries( + Object.entries(colors).map(([key, value]) => + typeof value === 'string' + ? [key, {color: value}] + : [key, Object.fromEntries(Object.entries(value).map(([key, value]) => + [key, {color: value}])) + ]) +); module.exports = { align: { @@ -19,7 +22,7 @@ module.exports = { super: {verticalAlign: 'super'} }, text: { - // ...textColors, + ...textColors, left: {textAlign: 'left'}, right: {textAlign: 'right'}, center: {textAlign: 'center'}, @@ -77,5 +80,27 @@ module.exports = { dashed: {textDecorationStyle: 'dashed'}, wavy: {textDecorationStyle: 'wavy'} } - } + }, + list: { + none: {listStyleType: 'none'}, + disc: {listStyleType: 'disc'}, + circle: {listStyleType: 'circle'}, + decimal: {listStyleType: 'decimal'}, + square: {listStyleType: 'square'}, + inside: {listStylePosition: 'inside'}, + outside: {listStylePosition: 'outside'} + }, + uppercase: {textTransform: 'uppercase'}, + lowercase: {textTransform: 'lowercase'}, + capitalize: {textTransform: 'capitalize'}, + truncate: { + whiteSpace: 'nowrap', + overflow: 'hidden', + textOverflow: 'ellipsis' + }, + wrap: {whiteSpace: 'normal'}, + nowrap: {whiteSpace: 'nowrap'}, + pre: {whiteSpace: 'pre'}, + preLine: {whiteSpace: 'pre-line'}, + preWrap: {whiteSpace: 'pre-wrap'}, } diff --git a/src/index.js b/src/index.js index 4753b85..e09f524 100644 --- a/src/index.js +++ b/src/index.js @@ -38,8 +38,8 @@ let commands = { } } -let command = process.argv[2] || 'build'; - +let command = (Object.keys(commands.build.args).includes(process.argv[2]) + ? 'build' : process.argv[2]) || 'build'; if(commands[command] === undefined) { help({ message: `Invalid command ${command}`, @@ -50,7 +50,7 @@ if(commands[command] === undefined) { .map((command) => `${command} [options]`), options: sharedFlags }) - process.exit(1); + process.exit(9); } let { args: flags, run } = commands[command]; @@ -76,7 +76,7 @@ if(args['--help']) { } async function getInputCss(path) { - let inputFile = await fs.readFile(path); + const inputFile = await fs.readFile(path); return postcssJs.objectify(postcss.parse(inputFile)); } @@ -85,6 +85,15 @@ async function build() { let output = args['--output']; let min = args['--minimize']; + if(output === undefined) { + let { description, usage } = commands[command]; + help({ + message: "Missing output command. Expects --output OR -o.", + commands: ["orbitcss build --output ", "orbitcss build -o "] + }); + process.exit(9); + } + let plugins = [ autoprefixer, postcssNested diff --git a/src/parseUtilities.js b/src/parseUtilities.js index 277a12c..804aa82 100644 --- a/src/parseUtilities.js +++ b/src/parseUtilities.js @@ -4,8 +4,15 @@ const parse = (styles) => { if(typeof value === 'object') { for(let [key, rules] of Object.entries(value)) { if(typeof rules === 'object') { - console.log(parse(rules)) - result[`${namespace}-${key}`] = parse({...rules}); + if(typeof rules[Object.keys(rules)[0]] === 'object') { + result = {...result, ...parse({[`${namespace}-${key}`]: rules})}; + } + else { + result[`${namespace}-${key}`] = rules; + } + } + else if(typeof rules === 'string') { + result[`${namespace}`] = {...result[`${namespace}`], ...{[key]: rules}}; } else { result[`${namespace}`] = rules; diff --git a/src/utils/helpCli.js b/src/utils/helpCli.js index b95384f..56dc8b2 100644 --- a/src/utils/helpCli.js +++ b/src/utils/helpCli.js @@ -29,7 +29,7 @@ const help = ({ message, usage = {}, commands = {}, options = {} }) => { } } - if(options) { + if(options.length > 0) { console.log(); console.log('Options:'); console.log(); From 9f51d9311372d4f36399d7045074cbed12ae8147 Mon Sep 17 00:00:00 2001 From: Rhys Hall Date: Thu, 5 May 2022 20:45:31 +1000 Subject: [PATCH 3/5] Rough demo - Add utility classes - Add build and watch scripts --- package-lock.json | 2 + package.json | 2 + src/conf/border.js | 44 +++++ src/conf/breakpoints.js | 20 +++ src/conf/colors.js | 3 - src/conf/components.js | 5 + src/conf/flex.js | 37 ++++ src/conf/grid.js | 50 ++++++ src/conf/opacity.js | 23 +++ src/conf/pseudo.js | 45 +++++ src/conf/scale.js | 41 +++++ src/conf/sizing.js | 54 ++++++ src/conf/spacing.js | 33 ++++ src/conf/typography.js | 99 ++++++++++ src/conf/utilityClasses.js | 288 +++++++++++++++++++---------- src/createCss.js | 8 +- src/createMediaQueries.js | 67 +++++++ src/createPseudoCSS.js | 74 ++++++++ src/css/normalize.css | 289 ++++++++++++++++++++++++++++++ src/formatColors.js | 43 +++++ src/getContent.js | 18 ++ src/getPotentialStyles.js | 12 ++ src/getUserConfig.js | 20 +++ src/index.js | 125 ++++++++++--- src/parseUtilities.js | 7 +- src/utils/createSizeProperties.js | 14 ++ src/utils/extractor.js | 12 ++ src/utils/formatClassName.js | 3 + src/utils/hexToRgb.js | 10 ++ src/utils/pixelsToRem.js | 9 + 30 files changed, 1332 insertions(+), 125 deletions(-) create mode 100644 src/conf/border.js create mode 100644 src/conf/breakpoints.js create mode 100644 src/conf/components.js create mode 100644 src/conf/flex.js create mode 100644 src/conf/grid.js create mode 100644 src/conf/opacity.js create mode 100644 src/conf/pseudo.js create mode 100644 src/conf/scale.js create mode 100644 src/conf/sizing.js create mode 100644 src/conf/spacing.js create mode 100644 src/conf/typography.js create mode 100644 src/createMediaQueries.js create mode 100644 src/createPseudoCSS.js create mode 100644 src/css/normalize.css create mode 100644 src/formatColors.js create mode 100644 src/getContent.js create mode 100644 src/getPotentialStyles.js create mode 100644 src/getUserConfig.js create mode 100644 src/utils/createSizeProperties.js create mode 100644 src/utils/extractor.js create mode 100644 src/utils/formatClassName.js create mode 100644 src/utils/hexToRgb.js create mode 100644 src/utils/pixelsToRem.js diff --git a/package-lock.json b/package-lock.json index 36c6e20..70baca3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,9 @@ "arg": "^5.0.1", "autoprefixer": "^10.4.2", "chalk": "^4.1.2", + "chokidar": "^3.5.3", "clean-css-cli": "^5.5.2", + "fast-glob": "^3.2.11", "fs": "0.0.1-security", "npm-run-all": "^4.1.5", "postcss-cli": "^9.1.0", diff --git a/package.json b/package.json index 65f8405..abadd07 100755 --- a/package.json +++ b/package.json @@ -39,7 +39,9 @@ "arg": "^5.0.1", "autoprefixer": "^10.4.2", "chalk": "^4.1.2", + "chokidar": "^3.5.3", "clean-css-cli": "^5.5.2", + "fast-glob": "^3.2.11", "fs": "0.0.1-security", "npm-run-all": "^4.1.5", "postcss-cli": "^9.1.0", diff --git a/src/conf/border.js b/src/conf/border.js new file mode 100644 index 0000000..1ca4b82 --- /dev/null +++ b/src/conf/border.js @@ -0,0 +1,44 @@ +const scale = require('./scale'); +const createSizeProperties = require('../utils/createSizeProperties'); +const borderWidths = { + 0: '0', + 1: '1px', + 2: '2px', + 4: '4px', + 6: '6px', + 8: '8px', +}; + +const border = { + border: { + solid: {borderStyle: 'solid'}, + dashed: {borderStyle: 'dashed'}, + dotted: {borderStyle: 'dotted'}, + double: {borderStyle: 'double'}, + hidden: {borderStyle: 'hidden'}, + none: {borderStyle: 'none'}, + ...createSizeProperties('border-width', borderWidths), + x: createSizeProperties(['border-left-width', 'border-right-width'], borderWidths), + y: createSizeProperties(['border-top-width', 'border-bottom-width'], borderWidths), + t: createSizeProperties('border-top-width', borderWidths), + b: createSizeProperties('border-bottom-width', borderWidths), + l: createSizeProperties('border-left-width', borderWidths), + r: createSizeProperties('border-right-width', borderWidths), + }, + radius: { + ...createSizeProperties('border-radius', { + 0: '0', + 0.5: '2px', + 1: '4px', + 1.5: '6px', + 2: '8px', + 3: '12px', + 4: '16px', + 5: '20px', + 6: '24px', + 50: '50%' + }) + } +}; + +module.exports = border; diff --git a/src/conf/breakpoints.js b/src/conf/breakpoints.js new file mode 100644 index 0000000..0d36211 --- /dev/null +++ b/src/conf/breakpoints.js @@ -0,0 +1,20 @@ +module.exports = { + xs: { + minWidth: '320px' + }, + sm: { + minWidth: '481px' + }, + md: { + minWidth: '768px' + }, + lg: { + minWidth: '922px' + }, + xl: { + minWidth: '1201px' + }, + '2xl': { + minWidth: '1500px' + } +} diff --git a/src/conf/colors.js b/src/conf/colors.js index c5b40a5..0e7fce8 100644 --- a/src/conf/colors.js +++ b/src/conf/colors.js @@ -1,7 +1,4 @@ module.exports = { - inherit: 'inherit', - current: 'currentColor', - transparent: 'transparent', black: '#000000', white: '#ffffff', blue: { diff --git a/src/conf/components.js b/src/conf/components.js new file mode 100644 index 0000000..06c2fbf --- /dev/null +++ b/src/conf/components.js @@ -0,0 +1,5 @@ +module.exports = { + button: [ + 'text-center' + ] +} diff --git a/src/conf/flex.js b/src/conf/flex.js new file mode 100644 index 0000000..571fe50 --- /dev/null +++ b/src/conf/flex.js @@ -0,0 +1,37 @@ +const flex = { + flex: { + display: 'flex', + auto: {flex: 'auto'}, + initial: {flex: 'initial'}, + none: {flex: 'none'}, + 1: {flex: 1}, + + row: {flexDirection: 'row'}, + rowReverse: {flexDirection: 'row-reverse'}, + column: {flexDirection: 'column'}, + columnReverse: {flexDirection: 'column-reverse'}, + + wrap: {flexWrap: 'wrap'}, + wrapReverse: {flexWrap: 'wrap-reverse'}, + nowrap: {flexWrap: 'nowrap'}, + }, + align: { + items: { + stretch: {alignItems: 'stretch'}, + center: {alignItems: 'center'}, + start: {alignItems: 'flex-start'}, + end: {alignItems: 'flex-end'}, + baseline: {alignItems: 'baseline'} + } + }, + justify: { + start: {justifyContent: 'flex-start'}, + end: {justifyContent: 'flex-end'}, + center: {justifyContent: 'center'}, + between: {justifyContent: 'space-between'}, + around: {justifyContent: 'space-around'}, + evenly: {justifyContent: 'space-evenly'} + } +}; + +module.exports = flex; diff --git a/src/conf/grid.js b/src/conf/grid.js new file mode 100644 index 0000000..7ae985b --- /dev/null +++ b/src/conf/grid.js @@ -0,0 +1,50 @@ +const scale = require('./scale'); +const createSizeProperties = require('../utils/createSizeProperties'); + +const maxColumns = 12; +const maxRows = 6; +const grid = { + colsNone: {gridTemplateColumns: 'none'}, + rowsNone: {gridTemplateRows: 'none'}, + colAuto: {gridColumn: 'auto'}, + colFull: {gridColumn: '1 / -1'}, + colEndAuto: {colRowEnd: 'auto'}, + colStartAuto: {colStartEnd: 'auto'}, + rowAuto: {gridRow: 'auto'}, + rowFull: {gridRow: '1 / -1'}, + rowEndAuto: {gridRowEnd: 'auto'}, + rowStartAuto: {gridStartEnd: 'auto'}, + + autoFlowRow: {gridAutoFlow: 'row'}, + autoFlowCol: {gridAutoFlow: 'column'}, + autoFlowRowDense: {gridAutoFlow: 'row dense'}, + autoFlowColDense: {gridAutoFlow: 'column dense'}, + + autoColsMin: {gridAutoColumns: 'min-content'}, + autoColsMax: {gridAutoColumns: 'max-content'}, + autoCols: {gridAutoColumns: 'auto'}, + + autoRowsMin: {gridAutoRows: 'min-content'}, + autoRowsMax: {gridAutoRows: 'max-content'}, + autoRows: {gridAutoRows: 'auto'}, + + gap: createSizeProperties('gap', scale.rem), + gapX: createSizeProperties('column-gap', scale.rem), + gapY: createSizeProperties('row-gap', scale.rem), +}; + +for (let i = 1; i <= maxColumns; i++) { + grid[`cols-${i}`] = {gridTemplateColumns: `repeat(${i}, minmax(0, 1fr))`}; + grid[`col-${i}`] = {gridColumn: `span ${i} / span ${i}`}; + grid[`col-start-${i}`] = {gridColumnStart: `${i}`}; + grid[`col-end-${i}`] = {gridColumnEnd: `${i}`}; +} + +for (let i = 1; i <= maxRows; i++) { + grid[`rows-${i}`] = {gridTemplateRows: `repeat(${i}, minmax(0, 1fr))`}; + grid[`row-${i}`] = {gridRow: `span ${i} / span ${i}`}; + grid[`row-start-${i}`] = {gridRowStart: `${i}`}; + grid[`row-end-${i}`] = {gridRowEnd: `${i}`}; +} + +module.exports = grid; diff --git a/src/conf/opacity.js b/src/conf/opacity.js new file mode 100644 index 0000000..30df2b6 --- /dev/null +++ b/src/conf/opacity.js @@ -0,0 +1,23 @@ +module.exports = { + 0: 0, + 5: 0.05, + 10: 0.1, + 15: 0.15, + 20: 0.2, + 25: 0.25, + 30: 0.3, + 35: 0.35, + 40: 0.4, + 45: 0.45, + 50: 0.5, + 55: 0.55, + 60: 0.6, + 65: 0.65, + 70: 0.7, + 75: 0.75, + 80: 0.8, + 85: 0.85, + 90: 0.9, + 95: 0.95, + 100: 1 +} diff --git a/src/conf/pseudo.js b/src/conf/pseudo.js new file mode 100644 index 0000000..735fb93 --- /dev/null +++ b/src/conf/pseudo.js @@ -0,0 +1,45 @@ +module.exports = { + classes: [ + 'active', + 'link', + 'any-link', + 'autofill', + 'checked', + 'default', + 'disabled', + 'empty', + 'enabled', + 'first-child', + 'first-of-type', + 'focus', + 'focus-visible', + 'focus-within', + 'hover', + 'indeterminate', + 'in-range', + 'invalid', + 'last-child', + 'last-of-type', + {even: 'nth-child(even)'}, + {odd: 'nth-child(odd)'}, + 'only-child', + 'only-of-type', + 'out-of-range', + 'placeholder-shown', + 'read-only', + 'required', + 'valid', + 'visited', + 'target' + ], + elements: [ + 'after', + 'before', + 'first-letter', + 'first-line', + 'file-selector-button', + 'selection', + 'placeholder', + 'marker' + ] +}; diff --git a/src/conf/scale.js b/src/conf/scale.js new file mode 100644 index 0000000..2aebc9b --- /dev/null +++ b/src/conf/scale.js @@ -0,0 +1,41 @@ +const pixelsToRem = require('../utils/pixelsToRem'); + +const px = { + 0: '0', + 0.5: '2px', + 1: '4px', + 1.5: '6px', + 2: '8px', + 2.5: '10px', + 3: '12px', + 3.5: '14px', + 4: '16px', + 4.5: '18px', + 5: '20px', + 6: '24px', + 7: '28px', + 8: '32px', + 9: '36px', + 10: '40px', + 12: '48px', + 14: '56px', + 16: '64px', + 20: '80px', + 24: '96px', + 28: '112px', + 32: '128px', + 36: '144px', + 40: '160px', + 44: '176px', + 48: '192px' +}; + +const rem = Object.fromEntries( + Object.entries(px).map(([key, value]) => + [key, pixelsToRem(value)]) +); + +module.exports = { + px: px, + rem: rem +} diff --git a/src/conf/sizing.js b/src/conf/sizing.js new file mode 100644 index 0000000..bcc0d24 --- /dev/null +++ b/src/conf/sizing.js @@ -0,0 +1,54 @@ +const scale = require('./scale'); +const createSizeProperties = require('../utils/createSizeProperties'); + +const sizing = { + auto: 'auto', + min: 'min-content', + max: 'max-content', + fit: 'fit-content', + full: '100%' +}; + +const percentages = { + '1/5': '50%', + '1/3': '33.333333%', + '2/3': '66.666666%', + '1/4': '25%', + '2/4': '50%', + '3/4': '75%', + '1/5': '20%', + '2/5': '40%', + '3/5': '60%', + '4/5': '80%' +} + +module.exports = { + h: createSizeProperties('height', { + ...sizing, + ...scale.rem, + ...percentages, + screen: '100vh' + }), + maxH: createSizeProperties('height', { + ...sizing, + screen: '100vh' + }), + minH: createSizeProperties('height', { + ...sizing, + screen: '100vh' + }), + w: createSizeProperties('width', { + ...sizing, + ...scale.rem, + ...percentages, + screen: '100vw' + }), + maxW: createSizeProperties('max-width', { + ...sizing, + none: 'none', + container: '1400px' + }), + minW: createSizeProperties('max-width', { + ...sizing + }) +}; diff --git a/src/conf/spacing.js b/src/conf/spacing.js new file mode 100644 index 0000000..8c38f31 --- /dev/null +++ b/src/conf/spacing.js @@ -0,0 +1,33 @@ +const scale = require('./scale'); +const createSizeProperties = require('../utils/createSizeProperties'); + +const padding = { + p: 'padding', + py: ['padding-top', 'padding-bottom'], + px: ['padding-left', 'padding-right'], + pt: 'padding-top', + pb: 'padding-bottom', + pl: 'padding-left', + pr: 'padding-right' +}; + +const margin = { + m: 'margin', + my: ['margin-top', 'margin-bottom'], + mx: ['margin-left', 'margin-right'], + mt: 'margin-top', + mb: 'margin-bottom', + ml: 'margin-left', + mr: 'margin-right' +}; + +module.exports = Object.fromEntries( + Object.entries({ + ...padding, + ...margin + }) + .map(([key, value]) => [key, createSizeProperties(value, { + ...scale.rem, + ...{auto: 'auto'} + })]) +); diff --git a/src/conf/typography.js b/src/conf/typography.js new file mode 100644 index 0000000..e6d551d --- /dev/null +++ b/src/conf/typography.js @@ -0,0 +1,99 @@ + +const typography = { + text: { + left: {textAlign: 'left'}, + right: {textAlign: 'right'}, + center: {textAlign: 'center'}, + justify: {textAlign: 'justify'}, + }, + font: { + xs: {fontSize: '0.75rem', lineHeight: '1.25rem'}, + s: {fontSize: '0.875rem', lineHeight: '1.25rem'}, + base: {fontSize: '1rem', lineHeight: '1.5rem'}, + lg: {fontSize: '1.25rem', lineHeight: '1.75rem'}, + xl: {fontSize: '1.5rem', lineHeight: '2rem'}, + '2xl': {fontSize: '1.75rem', lineHeight: '2.25rem'}, + '3xl': {fontSize: '2rem', lineHeight: '2.5rem'}, + '4xl': {fontSize: '2.25rem', lineHeight: '2.5rem'}, + '5xl': {fontSize: '2.5rem', lineHeight: '2.75rem'}, + '6xl': {fontSize: '3rem', lineHeight: 1} + }, + nonItalic: {fontStyle: 'normal'}, + italic: {fontStyle: 'italic'}, + weight: { + thin: {fontWeight: 100}, + extralight: {fontWeight: 200}, + light: {fontWeight: 300}, + normal: {fontWeight: 400}, + medium: {fontWeight: 500}, + semibold: {fontWeight: 600}, + bold: {fontWeight: 700}, + extrabold: {fontWeight: 800}, + black: {fontWeight: 900} + }, + line: { + 0: {lineHeight: '1'}, + xs: {lineHeight: '1.2'}, + sm: {lineHeight: '1.375'}, + base: {lineHeight: '1.5'}, + lg: {lineHeight: '1.625'}, + xl: {lineHeight: '2'} + }, + serif: { + fontFamily: 'ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"' + }, + sans: { + fontFamily: 'ui-serif, Georgia, Cambria, "Times New Roman", Times, serif' + }, + mono: { + fontFamily: 'font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace' + }, + align: { + baseline: {verticalAlign: 'baseline'}, + top: {verticalAlign: 'top'}, + middle: {verticalAlign: 'middle'}, + bottom: {verticalAlign: 'bottom'}, + textTop: {verticalAlign: 'text-top'}, + textBottom: {verticalAlign: 'text-bottom'}, + sub: {verticalAlign: 'sub'}, + super: {verticalAlign: 'super'} + }, + overline: {textDecorationLine: 'overline', color: 'red'}, + underline: {textDecorationLine: 'underline'}, + lineThrough: {textDecorationLine: 'line-through'}, + noUnderline: {textDecorationLine: 'none'}, + decoration: { + style: { + solid: {textDecorationStyle: 'solid'}, + double: {textDecorationStyle: 'double'}, + dotted: {textDecorationStyle: 'dotted'}, + dashed: {textDecorationStyle: 'dashed'}, + wavy: {textDecorationStyle: 'wavy'} + } + }, + list: { + none: {listStyleType: 'none'}, + disc: {listStyleType: 'disc'}, + circle: {listStyleType: 'circle'}, + decimal: {listStyleType: 'decimal'}, + square: {listStyleType: 'square'}, + inside: {listStylePosition: 'inside'}, + outside: {listStylePosition: 'outside'} + }, + uppercase: {textTransform: 'uppercase'}, + lowercase: {textTransform: 'lowercase'}, + capitalize: {textTransform: 'capitalize'}, + wrap: {whiteSpace: 'normal'}, + nowrap: {whiteSpace: 'nowrap'}, + pre: {whiteSpace: 'pre'}, + preLine: {whiteSpace: 'pre-line'}, + preWrap: {whiteSpace: 'pre-wrap'}, + + truncate: { + whiteSpace: 'nowrap', + overflow: 'hidden', + textOverflow: 'ellipsis' + }, +} + +module.exports = typography; diff --git a/src/conf/utilityClasses.js b/src/conf/utilityClasses.js index 12fc51f..d52b51a 100644 --- a/src/conf/utilityClasses.js +++ b/src/conf/utilityClasses.js @@ -1,106 +1,202 @@ const parseUtilities = require('../parseUtilities'); +const typography = require('./typography'); +const spacing = require('./spacing'); +const sizing = require('./sizing'); +const flex = require('./flex'); +const formatColors = require('../formatColors'); +const border = require('./border'); +const grid = require('./grid'); -const colors = require('./colors'); -const textColors = Object.fromEntries( - Object.entries(colors).map(([key, value]) => - typeof value === 'string' - ? [key, {color: value}] - : [key, Object.fromEntries(Object.entries(value).map(([key, value]) => - [key, {color: value}])) - ]) +const colors = { + ...formatColors(require('./colors')), + ...{ + inherit: 'inherit', + current: 'currentColor', + transparent: 'transparent', + } +}; + + +const createColorUtilities = (property) => { + return Object.fromEntries( + Object.entries(colors).map(([key, value]) => + typeof value === 'string' + ? [key, {[property]: value}] + : [key, Object.fromEntries(Object.entries(value).map(([key, value]) => + [key, {[property]: value}])) + ]) + ); +} + +const opacity = Object.fromEntries( + Object.entries(require('./opacity')).map(([key, value]) => + [key, {opacity: value}] + ) ); +// Create text colors. +const textColors = createColorUtilities('color'); + +// Create border colors. +const borderColors = createColorUtilities('borderColor'); + +// Create background colors. +const backgroundColors = createColorUtilities('backgroundColor'); +border.border = {...border.border, ...borderColors}; +typography.text = {...typography.text, ...textColors}; + module.exports = { - align: { - baseline: {verticalAlign: 'baseline'}, - top: {verticalAlign: 'top'}, - middle: {verticalAlign: 'middle'}, - bottom: {verticalAlign: 'bottom'}, - textTop: {verticalAlign: 'text-top'}, - textBottom: {verticalAlign: 'text-bottom'}, - sub: {verticalAlign: 'sub'}, - super: {verticalAlign: 'super'} - }, - text: { - ...textColors, - left: {textAlign: 'left'}, - right: {textAlign: 'right'}, - center: {textAlign: 'center'}, - justify: {textAlign: 'justify'}, - }, - serif: { - fontFamily: 'ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"' - }, - sans: { - fontFamily: 'ui-serif, Georgia, Cambria, "Times New Roman", Times, serif' - }, - mono: { - fontFamily: 'font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace' - }, - font: { - base: {fontSize: '1rem', lineHeight: '1.6'}, - xs: {fontSize: '0.75rem', lineHeight: '1.6'}, - s: {fontSize: '0.875rem', lineHeight: '1.6'}, - lg: {fontSize: '1.25rem', lineHeight: '1.6'}, - xl: {fontSize: '1.5rem', lineHeight: '1.6'}, - '2xl': {fontSize: '1.875rem', lineHeight: '1.6'}, - '3xl': {fontSize: '2rem', lineHeight: '1.6'}, - '4xl': {fontSize: '2.25rem', lineHeight: '1.6'} - }, - nonItalic: {fontStyle: 'normal'}, - italic: {fontStyle: 'italic'}, - weight: { - thin: {fontWeight: 100}, - extralight: {fontWeight: 200}, - light: {fontWeight: 300}, - normal: {fontWeight: 400}, - medium: {fontWeight: 500}, - semibold: {fontWeight: 600}, - bold: {fontWeight: 700}, - extrabold: {fontWeight: 800}, - black: {fontWeight: 900} - }, - line: { - 0: {lineHeight: '1'}, - xs: {lineHeight: '1.2'}, - sm: {lineHeight: '1.375'}, - base: {lineHeight: '1.5'}, - lg: {lineHeight: '1.625'}, - xl: {lineHeight: '2'} + ...typography, + bg: backgroundColors, + ...border, + ...spacing, + ...sizing, + ...flex, + ...grid, + opacity: opacity, + + block: {display: 'block'}, + inlineBlock: {display: 'inline-block'}, + inlineFlex: {display: 'inline-flex'}, + grid: {display: 'grid'}, + inlineGrid: {display: 'inline-grid'}, + inline: {display: 'inline'}, + hidden: {display: 'none'}, + contents: {display: 'contents'}, + table: {display: 'table'}, + tableCaption: {display: 'table-caption'}, + tableCell: {display: 'table-cell'}, + tableColumn: {display: 'table-column'}, + tableColumnGroup: {display: 'table-column-group'}, + tableHeaderGroup: {display: 'table-header-group'}, + tableFooterGroup: {display: 'table-footer-group'}, + tableRowGroup: {display: 'table-row-group'}, + tableRow: {display: 'table-row'}, + listItem: {display: 'list-item'}, + + invisible: {visibility: 'hidden'}, + visible: {visibility: 'visible'}, + + aspectAuto: {aspectRatio: 'auto'}, + aspectSquare: {aspectRatio: '1 / 1'}, + aspectWidescreen: {aspectRatio: '16 / 9'}, + aspectFullscreen: {aspectRatio: '4 / 3'}, + + boxBorder: {boxSizing: 'border-box'}, + boxContent: {boxSizing: 'content-box'}, + + floatRight: {float: 'right'}, + floatLeft: {float: 'left'}, + floatNone: {float: 'none'}, + + clearLeft: {clear: 'left'}, + clearRight: {clear: 'right'}, + clearBoth: {clear: 'both'}, + clearNone: {clear: 'none'}, + + overflowVisible: {overflow: 'visible'}, + overflowHidden: {overflow: 'hidden'}, + overflowClip: {overflow: 'clip'}, + overflowScroll: {overflow: 'scroll'}, + overflowAuto: {overflow: 'auto'}, + overflowXVisible: {overflowX: 'visible'}, + overflowXHidden: {overflowX: 'hidden'}, + overflowXClip: {overflowX: 'clip'}, + overflowXScroll: {overflowX: 'scroll'}, + overflowXAuto: {overflowX: 'auto'}, + overflowYVisible: {overflowY: 'visible'}, + overflowYHidden: {overflowY: 'hidden'}, + overflowYClip: {overflowY: 'clip'}, + overflowYScroll: {overflowY: 'scroll'}, + overflowYAuto: {overflowY: 'auto'}, + + static: {position: 'static'}, + fixed: {position: 'fixed'}, + absolute: {position: 'absolute'}, + relative: {position: 'relative'}, + sticky: {position: 'sticky'}, + top: {top: 0}, + right: {right: 0}, + left: {left: 0}, + bottom: {bottom: 0}, + + z: { + auto: {zIndex: 'auto'}, + 0: {zIndex: 0}, + 1: {zIndex: 10}, + 2: {zIndex: 20}, + 3: {zIndex: 30}, + 4: {zIndex: 40}, + 5: {zIndex: 50}, + 10: {zIndex: 100}, }, - overline: {textDecorationLine: 'overline', color: 'red'}, - underline: {textDecorationLine: 'underline'}, - lineThrough: {textDecorationLine: 'line-through'}, - noUnderline: {textDecorationLine: 'none'}, - decoration: { - style: { - solid: {textDecorationStyle: 'solid'}, - double: {textDecorationStyle: 'double'}, - dotted: {textDecorationStyle: 'dotted'}, - dashed: {textDecorationStyle: 'dashed'}, - wavy: {textDecorationStyle: 'wavy'} - } + shadow: {boxShadow: '0px 1px 4px 0px rgba(0,0,0,0.11), 0px 1px 2px -1px rgba(0,0,0,0.11)'}, + shadow: { + sm: {boxShadow: '0px 1px 2px 0px rgba(0,0,0,0.11)'}, + md: {boxShadow: '0px 5px 8px -1px rgba(0,0,0,0.11), 0px 2px 4px -2px rgba(0,0,0,0.11)'}, + lg: {boxShadow: '0px 8px 14px -3px rgba(0,0,0,0.11), 0px 4px 6px -4px rgba(0,0,0,0.11)'}, + xl: {boxShadow: '0px 16px 24px -5px rgba(0,0,0,0.11), 0px 8px 10px -6px rgba(0,0,0,0.11)'} }, - list: { - none: {listStyleType: 'none'}, - disc: {listStyleType: 'disc'}, - circle: {listStyleType: 'circle'}, - decimal: {listStyleType: 'decimal'}, - square: {listStyleType: 'square'}, - inside: {listStylePosition: 'inside'}, - outside: {listStylePosition: 'outside'} + + cursor: { + auto: {cursor: 'auto'}, + default: {cursor: 'default'}, + none: {cursor: 'none'}, + contextMenu: {cursor: 'context-menu'}, + help: {cursor: 'help'}, + pointer: {cursor: 'pointer'}, + progress: {cursor: 'progress'}, + wait: {cursor: 'wait'}, + cell: {cursor: 'cell'}, + crosshair: {cursor: 'crosshair'}, + text: {cursor: 'text'}, + verticalText: {cursor: 'vertical-text'}, + alias: {cursor: 'alias'}, + copy: {cursor: 'copy'}, + move: {cursor: 'move'}, + noDrop: {cursor: 'no-drop'}, + notAllowed: {cursor: 'not-allowed'}, + eResize: {cursor: 'e-resize'}, + nResize: {cursor: 'n-resize'}, + neResize: {cursor: 'ne-resize'}, + nwResize: {cursor: 'nw-resize'}, + sResize: {cursor: 's-resize'}, + seResize: {cursor: 'se-resize'}, + swResize: {cursor: 'sw-resize'}, + wResize: {cursor: 'w-resize'}, + ewResize: {cursor: 'ew-resize'}, + nsResize: {cursor: 'ns-resize'}, + neswResize: {cursor: 'nesw-resize'}, + nwseResize: {cursor: 'nwse-resize'}, + colResize: {cursor: 'col-resize'}, + rowResize: {cursor: 'row-resize'}, + allScroll: {cursor: 'all-scroll'}, + zoomIn: {cursor: 'zoom-in'}, + zoomOut: {cursor: 'zoom-out'}, + grab: {cursor: 'grab'}, + grabbing: {cursor: 'grabbing'} }, - uppercase: {textTransform: 'uppercase'}, - lowercase: {textTransform: 'lowercase'}, - capitalize: {textTransform: 'capitalize'}, - truncate: { - whiteSpace: 'nowrap', - overflow: 'hidden', - textOverflow: 'ellipsis' + + transition: { + none: {transitionProperty: 'none'}, + all: {transitionProperty: 'all', transitionTimingFunction: 'ease', transitionDuration: '300ms'}, + colors: {transitionProperty: 'color, background-color, border-color', transitionTimingFunction: 'ease', transitionDuration: '300ms'}, + backgroundColor: {transitionProperty: 'background-color', transitionTimingFunction: 'ease', transitionDuration: '300ms'}, + borderColor: {transitionProperty: 'border-color', transitionTimingFunction: 'ease', transitionDuration: '300ms'}, + color: {transitionProperty: 'color', transitionTimingFunction: 'ease', transitionDuration: '300ms'}, + opacity: {transitionProperty: 'opacity', transitionTimingFunction: 'ease', transitionDuration: '300ms'}, + shadow: {transitionProperty: 'box-shadow', transitionTimingFunction: 'ease', transitionDuration: '300ms'}, + transform: {transitionProperty: 'transform', transitionTimingFunction: 'ease', transitionDuration: '300ms'}, }, - wrap: {whiteSpace: 'normal'}, - nowrap: {whiteSpace: 'nowrap'}, - pre: {whiteSpace: 'pre'}, - preLine: {whiteSpace: 'pre-line'}, - preWrap: {whiteSpace: 'pre-wrap'}, + + duration: { + 100: {transitionDuration: '100ms'}, + 150: {transitionDuration: '150ms'}, + 200: {transitionDuration: '200ms'}, + 250: {transitionDuration: '250ms'}, + 300: {transitionDuration: '300ms'}, + 500: {transitionDuration: '500ms'}, + 750: {transitionDuration: '750ms'}, + 1000: {transitionDuration: '1s'} + } } diff --git a/src/createCss.js b/src/createCss.js index b198d35..cf7a465 100644 --- a/src/createCss.js +++ b/src/createCss.js @@ -1,11 +1,11 @@ -function formatClassName(str) { - return str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($, ofs) => (ofs ? "-" : "") + $.toLowerCase()); -} +const formatClassName = require('./utils/formatClassName'); const create = ({rules}) => { style = {}; for (let [className, rule] of Object.entries(rules)) { - style[`.${formatClassName(className)}`] = rule; + let formattedClass = formatClassName(className).replace('.', '\\.') + .replace('/', '\\/'); + style[`.${formattedClass}`] = rule; } return style; }; diff --git a/src/createMediaQueries.js b/src/createMediaQueries.js new file mode 100644 index 0000000..865b441 --- /dev/null +++ b/src/createMediaQueries.js @@ -0,0 +1,67 @@ +const breakpoints = require('./conf/breakpoints'); +const parseUtilities = require('./parseUtilities'); +const formatClassName = require('./utils/formatClassName'); +const createCss = require('./createCss'); +const getPotentialStyles = require('./getPotentialStyles'); + +const createMediaAttribute = (breakpoint) => { + let mediaAttribute = []; + for(let [feature, value] of Object.entries(breakpoint)) { + if(feature === 'type') { + mediaAttribute.push(value); + } + else { + mediaAttribute.push(`(${formatClassName(feature)}: ${value})`) + } + } + return `@media ${mediaAttribute.join(' and ')}`; +} + +const getMediaClasses = (content, existingClasses = {}) => { + let potentialStyles = {}; + getPotentialStyles(content, breakpoints).forEach(k => { + let match = k.match(/^(?[a-zA-Z\d]+)[\:]{1}(?.*)$/)['groups'] || {}; + if(match.breakpoint !== undefined && match.class !== undefined) { + potentialStyles[match.breakpoint] = [...potentialStyles[match.breakpoint] || [], ...[match.class]] + } + }); + if(existingClasses.length) { + potentialStyles = Object.fromEntries( + Object.entries(potentialStyles) + .map(([key, value]) => [key, + existingClasses[key] + ? [...new Set([...value, ...existingClasses[key]])] + : value + ]) + ) + } + return potentialStyles; +} + +const createMediaQueries = (mediaClasses) => { + let utilityClasses = parseUtilities(require('./conf/utilityClasses')); + let mediaQueries = {}; + + for(let [size, classes] of Object.entries(mediaClasses)) { + let styles = Object.fromEntries(Object.entries(utilityClasses).filter( + ([k]) => [...classes].includes(formatClassName(k)) + )); + if(styles.length < 1) { + continue; + } + let css = createCss({ + rules: Object.fromEntries( + Object.entries(styles) + .map(([key, value]) => [`${size}\\:${key}`, value]) + ) + }); + mediaQueries[createMediaAttribute(breakpoints[size])] = css; + } + + return mediaQueries; +} + +module.exports = { + createMediaQueries, + getMediaClasses +} diff --git a/src/createPseudoCSS.js b/src/createPseudoCSS.js new file mode 100644 index 0000000..99bbafc --- /dev/null +++ b/src/createPseudoCSS.js @@ -0,0 +1,74 @@ +const pseudo = require('./conf/pseudo'); +const parseUtilities = require('./parseUtilities'); +const getPotentialStyles = require('./getPotentialStyles'); +const formatClassName = require('./utils/formatClassName'); +const createCss = require('./createCss'); + +const getPseudoLabel = (property) => { + for(let [type, labels] of Object.entries(pseudo)) { + for(let [i, label] of Object.entries(labels)) { + if(label === property) { + return type === 'classes' ? `:${label}` : `::${label}`; + } + else if(typeof label === 'object') { + if(label[property] !== undefined) { + return type === 'classes' ? `:${label[property]}` : `::${label[property]}`; + } + } + } + } + return false; +} + +const getPseudoClasses = (content, existingClasses = {}) => { + let potentialStyles = {}; + getPotentialStyles(content, + [...pseudo.classes, ...pseudo.elements].map(i => typeof i === 'object' ? Object.keys(i)[0] : i) + ).forEach(k => { + let match = k.match(/^(?[a-zA-Z\d\-]+)[\:]{1}(?.*)$/)['groups'] || {}; + if(match.pseudo !== undefined && match.class !== undefined) { + potentialStyles[match.pseudo] = [...potentialStyles[match.pseudo] || [], ...[match.class.replace('\\', '')]] + } + }); + if(existingClasses.length) { + potentialStyles = Object.fromEntries( + Object.entries(potentialStyles) + .map(([key, value]) => [key, + existingClasses[key] + ? [...new Set([...value, ...existingClasses[key]])] + : value + ]) + ) + } + return potentialStyles; +} + +const createPseudoCSS = (pseudoClasses) => { + let utilityClasses = parseUtilities(require('./conf/utilityClasses')); + let css = {}; + + for(let [label, classes] of Object.entries(pseudoClasses)) { + let property = getPseudoLabel(label); + let styles = Object.fromEntries(Object.entries(utilityClasses).filter( + ([k]) => [...classes].includes(formatClassName(k).replace('\\', '')) + )); + if(styles.length < 1) { + continue; + } + css = {...css, ...createCss({ + rules: Object.fromEntries( + Object.entries(styles) + .map(([key, value]) => { + return [`${label}\\:${key}${property}`, value]; + }) + ) + })}; + } + + return css; +}; + +module.exports = { + createPseudoCSS, + getPseudoClasses +}; diff --git a/src/css/normalize.css b/src/css/normalize.css new file mode 100644 index 0000000..27fca16 --- /dev/null +++ b/src/css/normalize.css @@ -0,0 +1,289 @@ +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + +html { + line-height: 1.5; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ + font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; +} + +/** + * 1. Remove the margin in all browsers. + * 2. Inherit line-height from the HTML element. + */ + +body { + margin: 0; /* 1 */ + line-height: inherit; /* 2 */ +} + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ + border-width: 0; + border-color: transparent; + border-top-width: 1px; + border-top-style: solid; + border-top-color: inherit; +} + + +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +code, +kbd, +samp, +pre { + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + color: inherit; /* 1 */ + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: inherit; /* 1 */ + margin: 0; /* 2 */ +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + */ + +button, +select { + text-transform: none; +} + +/** + * Correct the inability to style clickable types in iOS and Safari. + */ + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + vertical-align: baseline; +} + +/** + * Remove the default vertical scrollbar in IE 10+. + */ + +textarea { + overflow: auto; +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/** + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + + +/** HARD RESET **/ + + +/** + * Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property + * - The "symbol *" part is to solve Firefox SVG sprite bug + */ +*:where(:not(iframe, canvas, img, svg, video):not(svg *, symbol *)) { + all: unset; + display: revert; +} + +/** + * Preferred box-sizing value + */ +*, +*::before, +*::after { + box-sizing: border-box; +} + +/** + * Reapply the pointer cursor for anchor tags + */ +a, button { + cursor: revert; +} + +/** + * Remove list styles (bullets/numbers) + */ +ol, ul, menu { + list-style: none; +} + +/** + * For images to not be able to exceed their container + */ +img { + max-width: 100%; +} + +/** + * Removes spacing between cells in tables + */ +table { + border-collapse: collapse; +} + +/** + * Revert the 'white-space' property for textarea elements on Safari + */ +textarea { + white-space: revert; +} + +/** + * Minimum style to allow to style meter element + */ +meter { + -webkit-appearance: revert; + appearance: revert; +} + +/** + * Reset default text opacity of input placeholder + */ +::placeholder { + color: unset; +} + +/* fix the feature of 'hidden' attribute. + display:revert; revert to element instead of attribute */ +:where([hidden]) { + display: none; +} + +/* revert for bug in Chromium browsers + - fix for the content editable attribute will work properly. */ +:where([contenteditable]) { + -moz-user-modify: read-write; + -webkit-user-modify: read-write; + overflow-wrap: break-word; + -webkit-line-break: after-white-space; +} + +/* apply back the draggable feature - exist only in Chromium and Safari */ +:where([draggable="true"]) { + -webkit-user-drag: element; +} diff --git a/src/formatColors.js b/src/formatColors.js new file mode 100644 index 0000000..f822c40 --- /dev/null +++ b/src/formatColors.js @@ -0,0 +1,43 @@ +const hexToRgb = require('./utils/hexToRgb'); +const opacity = require('./conf/opacity'); + +const applyOpacityModifiers = (color, label) => { + return Object.fromEntries( + Object.entries(opacity).map(([key, value]) => + [`${label}/${key}`, `rgb(${color.r} ${color.g} ${color.b} / ${value})`] + ) + ); +} + +const formatColors = (colors) => { + let formatted = {}; + for(let[label, color] of Object.entries(colors)) { + if(typeof color === 'string') { + let rgb = hexToRgb(color); + formatted = { + ...formatted, + ...{[label]: `rgb(${rgb.r} ${rgb.g} ${rgb.b} / 100)`}, + ...applyOpacityModifiers(rgb, label) + } + } + else { + let palette = {}; + for(let[tone, value] of Object.entries(color)) { + let rgb = hexToRgb(value); + palette[label] = { + ...palette[label], + ...{[tone]: `rgb(${rgb.r} ${rgb.g} ${rgb.b} / 100)`}, + ...applyOpacityModifiers(rgb, tone) + } + } + formatted = { + ...formatted, + ...palette + }; + } + } + + return formatted; +} + +module.exports = formatColors; diff --git a/src/getContent.js b/src/getContent.js new file mode 100644 index 0000000..166e3ae --- /dev/null +++ b/src/getContent.js @@ -0,0 +1,18 @@ +const fs = require('fs'); +const extractor = require('./utils/extractor'); + +const getContent = (files) => { + const content = new Set(); + for(let file of files) { + let fileContents = fs.readFileSync(file, 'utf8'); + for (let line of fileContents.split('\n')) { + line = [...new Set(extractor(line.trim()))]; + for (let string of line) { + content.add(string); + } + } + } + return content; +} + +module.exports = getContent; diff --git a/src/getPotentialStyles.js b/src/getPotentialStyles.js new file mode 100644 index 0000000..8e816b4 --- /dev/null +++ b/src/getPotentialStyles.js @@ -0,0 +1,12 @@ +const getPotentialStyles = (content, data) => { + + if(!(data instanceof Array)) { + data = Object.keys(data); + } + + return [...content].filter( + (str) => data.some(substr => str.startsWith(`${substr}:`)) + ) +} + +module.exports = getPotentialStyles; diff --git a/src/getUserConfig.js b/src/getUserConfig.js new file mode 100644 index 0000000..4ea1286 --- /dev/null +++ b/src/getUserConfig.js @@ -0,0 +1,20 @@ +const fs = require('fs'); +const path = require('path'); +const userConfigPath = './orbitcss.config.js'; + +const resolve = () => { + try { + const configPath = path.resolve(userConfigPath); + fs.accessSync(configPath); + return require(configPath); + } + catch (err) { + return {}; + }; +} + +const getUserConfig = () => { + return resolve(); +} + +module.exports = getUserConfig(); diff --git a/src/index.js b/src/index.js index e09f524..83ec8c6 100644 --- a/src/index.js +++ b/src/index.js @@ -3,14 +3,20 @@ const postcss = require('postcss'); const postcssJs = require('postcss-js'); const cssnano = require('cssnano'); const postcssNested = require('postcss-nested'); -const fs = require('fs').promises; +const fs = require('fs'); +const path = require('path'); const arg = require('arg'); const parser = require('postcss-selector-parser'); const help = require('./utils/helpCli'); const parseUtilities = require('./parseUtilities'); const createCss = require('./createCss'); - - +const {createMediaQueries, getMediaClasses} = require('./createMediaQueries'); +const {createPseudoCSS, getPseudoClasses} = require('./createPseudoCSS'); +const config = require('./getUserConfig'); +const getContent = require('./getContent'); +const formatClassName = require('./utils/formatClassName'); +const fg = require('fast-glob'); +const chokidar = require('chokidar'); let sharedFlags = { '--help': {type: Boolean, description: 'Displays usage and additional options for the command'}, @@ -75,15 +81,54 @@ if(args['--help']) { process.exit(0); } +function filterClasses(content) { + return Object.fromEntries(Object.entries( + parseUtilities(require('./conf/utilityClasses')) + ).filter( + ([k]) => [...content].includes(formatClassName(k).replace('\\', '')) + )); +} + async function getInputCss(path) { - const inputFile = await fs.readFile(path); + const inputFile = await fs.readFileSync(path); return postcssJs.objectify(postcss.parse(inputFile)); } +async function createFinalCss({ + content, + input, + cssClasses = {}, + mediaClasses = {}, + pseudoClasses = {} +}) { + cssClasses = {...filterClasses(content), ...cssClasses}; + mediaClasses = getMediaClasses(content, mediaClasses); + pseudoClasses = getPseudoClasses(content, pseudoClasses); + let inputCss = input ? await getInputCss(input) : {}; + + return { + css: { + ...await getInputCss(path.join(__dirname, './css/normalize.css')), + ...createCss({ + rules: cssClasses + }), + ...createMediaQueries(mediaClasses), + ...createPseudoCSS(pseudoClasses), + ...inputCss + }, + classes: { + cssClasses, + mediaClasses, + pseudoClasses + } + }; +} + async function build() { let input = args['--input']; let output = args['--output']; - let min = args['--minimize']; + let min = args['--minimize'] || false; + let watch = args['--watch'] || false; if(output === undefined) { let { description, usage } = commands[command]; @@ -102,24 +147,64 @@ async function build() { plugins.push(cssnano); } - const utilityClasses = require('./conf/utilityClasses'); - - const style = parseUtilities(utilityClasses); - - const css = createCss({ - rules: style - }); + const content = getContent(fg.sync(config.files)); + console.time('Creating CSS'); + const createCss = await createFinalCss({content, input}); + console.timeEnd('Creating CSS'); + let css = createCss.css; + + function runBuild() { + console.time('Compiling CSS'); + postcss(plugins) + .process(css, { from: undefined, to: output, parser: postcssJs }) + .then((result) => { + fs.writeFile(output, result.css, () => true); + if(result.map) { + fs.writeFile(`${output}.map`, result.map.toString(), () => true) + } + }); + console.timeEnd('Compiling CSS') + } - const finalCss = input ? {...css, ...await getInputCss(input)} : css; + function runWatch() { + runBuild(); + console.log(); + console.log(`CSS output > ${output}`); + let existing = createCss.classes; + const watcher = chokidar.watch(fg.sync(config.files), { + ignoreInitial: true, + }); + console.log(); + console.log('Watching for changes...'); + + async function rebuild(file) { + console.log(); + console.log(`Change on ${file}`); + console.log('Rebuilding...'); + let content = getContent([file]); + let finalCss = await createFinalCss({content, input, ...existing}); + css = finalCss.css; + existing = finalCss.classes; + runBuild(); + } - postcss(plugins) - .process(finalCss, { from: undefined, to: output, parser: postcssJs }) - .then((result) => { - fs.writeFile(output, result.css, () => true); - if(result.map) { - fs.writeFile(`${output}.map`, result.map.toString(), () => true) - } + watcher.on('add', async(file) => { + await rebuild(file); + }) + .on('change', async(file) => { + console.log(watcher.getWatched()) + await rebuild(file); }); + } + + if(watch) { + runWatch(); + } + else { + runBuild(); + console.log(); + console.log(`CSS output > ${output}`); + } } module.exports = run; diff --git a/src/parseUtilities.js b/src/parseUtilities.js index 804aa82..3a5c313 100644 --- a/src/parseUtilities.js +++ b/src/parseUtilities.js @@ -7,15 +7,18 @@ const parse = (styles) => { if(typeof rules[Object.keys(rules)[0]] === 'object') { result = {...result, ...parse({[`${namespace}-${key}`]: rules})}; } + else if(key.trim().length < 1) { + result[namespace] = rules; + } else { result[`${namespace}-${key}`] = rules; } } else if(typeof rules === 'string') { - result[`${namespace}`] = {...result[`${namespace}`], ...{[key]: rules}}; + result[namespace] = {...result[`${namespace}`], ...{[key]: rules}}; } else { - result[`${namespace}`] = rules; + result[namespace] = rules; } } } diff --git a/src/utils/createSizeProperties.js b/src/utils/createSizeProperties.js new file mode 100644 index 0000000..a7e78bb --- /dev/null +++ b/src/utils/createSizeProperties.js @@ -0,0 +1,14 @@ +const createSizeProperties = (properties, sizes) => { + return Object.fromEntries( + Object.entries(sizes).map(([key, value]) => { + if(typeof properties === 'string') { + return [key, {[properties]: value}]; + } + else { + return [key, Object.fromEntries(properties.map((property) => [property, value]))]; + } + }) + ); +} + +module.exports = createSizeProperties; diff --git a/src/utils/extractor.js b/src/utils/extractor.js new file mode 100644 index 0000000..3be3a8e --- /dev/null +++ b/src/utils/extractor.js @@ -0,0 +1,12 @@ +const patterns = [ + /([^"'`\s]+[^"'`\s])/.source +].join('|'); + +const extractor = (content) => { + return [ + ...content.matchAll(new RegExp(patterns, 'g')) + ] + .flat().filter((v) => v !== undefined); +} + +module.exports = extractor; diff --git a/src/utils/formatClassName.js b/src/utils/formatClassName.js new file mode 100644 index 0000000..f086ebf --- /dev/null +++ b/src/utils/formatClassName.js @@ -0,0 +1,3 @@ +module.exports = (str) => { + return str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($, ofs) => (ofs ? "-" : "") + $.toLowerCase()); +} diff --git a/src/utils/hexToRgb.js b/src/utils/hexToRgb.js new file mode 100644 index 0000000..b8e8fec --- /dev/null +++ b/src/utils/hexToRgb.js @@ -0,0 +1,10 @@ +const hexToRgb = (hex) => { + var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); + return result ? { + r: parseInt(result[1], 16), + g: parseInt(result[2], 16), + b: parseInt(result[3], 16) + } : null; +} + +module.exports = hexToRgb; diff --git a/src/utils/pixelsToRem.js b/src/utils/pixelsToRem.js new file mode 100644 index 0000000..40cd342 --- /dev/null +++ b/src/utils/pixelsToRem.js @@ -0,0 +1,9 @@ +const pixelsToRem = (pixels, options = {base: 16}) => { + pixels = parseFloat(pixels.toString().replace('px', '').trim()); + if(pixels === 0) { + return 0; + } + return pixels / options.base + 'rem'; +}; + +module.exports = pixelsToRem; From bcd5b5ca6c6b22964aa7762b33e6ee3c93469b20 Mon Sep 17 00:00:00 2001 From: Rhys Hall Date: Wed, 18 May 2022 23:59:11 +1000 Subject: [PATCH 4/5] 3.0.0-beta.0 - Cleanup conf files. - Add support for full overrides with the config file. - Fix media and psuedo classes not caching. --- LICENSE | 2 +- src/app.css | 9 -- src/conf/breakpoints.js | 11 +- src/conf/cursor.js | 40 +++++ src/conf/display.js | 80 ++++++++++ src/conf/fonts.js | 11 ++ src/conf/opacity.js | 2 +- src/conf/{colors.js => palette.js} | 0 src/conf/scale.js | 7 +- src/conf/screen.js | 6 + src/conf/sizing.js | 17 ++- src/conf/transition.js | 24 +++ src/conf/typography.js | 11 +- src/conf/utilityClasses.js | 231 ++++++----------------------- src/createMediaQueries.js | 23 ++- src/createPseudoCSS.js | 21 +-- src/formatColors.js | 43 ------ src/index.js | 6 +- src/utils/formatColors.js | 65 ++++++++ src/utils/nestedMerge.js | 29 ++++ 20 files changed, 349 insertions(+), 289 deletions(-) delete mode 100644 src/app.css create mode 100644 src/conf/cursor.js create mode 100644 src/conf/display.js create mode 100644 src/conf/fonts.js rename src/conf/{colors.js => palette.js} (100%) create mode 100644 src/conf/screen.js create mode 100644 src/conf/transition.js delete mode 100644 src/formatColors.js create mode 100644 src/utils/formatColors.js create mode 100644 src/utils/nestedMerge.js diff --git a/LICENSE b/LICENSE index ed4ec23..e9a3cee 100755 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2021 Rhys Hall +Copyright (c) 2022 Rhys Hall Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/src/app.css b/src/app.css deleted file mode 100644 index 9acf5f1..0000000 --- a/src/app.css +++ /dev/null @@ -1,9 +0,0 @@ -.text { - &-black { - color: #000000; - } - - &-white { - color: #ffffff; - } -} diff --git a/src/conf/breakpoints.js b/src/conf/breakpoints.js index 0d36211..46212cf 100644 --- a/src/conf/breakpoints.js +++ b/src/conf/breakpoints.js @@ -1,4 +1,6 @@ -module.exports = { +const config = require('../getUserConfig'); + +const breakpoints = { xs: { minWidth: '320px' }, @@ -17,4 +19,9 @@ module.exports = { '2xl': { minWidth: '1500px' } -} +}; + +module.exports = { + ...breakpoints, + ...config.breakpoints || {} +}; diff --git a/src/conf/cursor.js b/src/conf/cursor.js new file mode 100644 index 0000000..7754f67 --- /dev/null +++ b/src/conf/cursor.js @@ -0,0 +1,40 @@ +module.exports = { + cursor: { + auto: {cursor: 'auto'}, + default: {cursor: 'default'}, + none: {cursor: 'none'}, + contextMenu: {cursor: 'context-menu'}, + help: {cursor: 'help'}, + pointer: {cursor: 'pointer'}, + progress: {cursor: 'progress'}, + wait: {cursor: 'wait'}, + cell: {cursor: 'cell'}, + crosshair: {cursor: 'crosshair'}, + text: {cursor: 'text'}, + verticalText: {cursor: 'vertical-text'}, + alias: {cursor: 'alias'}, + copy: {cursor: 'copy'}, + move: {cursor: 'move'}, + noDrop: {cursor: 'no-drop'}, + notAllowed: {cursor: 'not-allowed'}, + eResize: {cursor: 'e-resize'}, + nResize: {cursor: 'n-resize'}, + neResize: {cursor: 'ne-resize'}, + nwResize: {cursor: 'nw-resize'}, + sResize: {cursor: 's-resize'}, + seResize: {cursor: 'se-resize'}, + swResize: {cursor: 'sw-resize'}, + wResize: {cursor: 'w-resize'}, + ewResize: {cursor: 'ew-resize'}, + nsResize: {cursor: 'ns-resize'}, + neswResize: {cursor: 'nesw-resize'}, + nwseResize: {cursor: 'nwse-resize'}, + colResize: {cursor: 'col-resize'}, + rowResize: {cursor: 'row-resize'}, + allScroll: {cursor: 'all-scroll'}, + zoomIn: {cursor: 'zoom-in'}, + zoomOut: {cursor: 'zoom-out'}, + grab: {cursor: 'grab'}, + grabbing: {cursor: 'grabbing'} + } +}; diff --git a/src/conf/display.js b/src/conf/display.js new file mode 100644 index 0000000..d5bc9fe --- /dev/null +++ b/src/conf/display.js @@ -0,0 +1,80 @@ +module.exports = { + block: {display: 'block'}, + inlineBlock: {display: 'inline-block'}, + inlineFlex: {display: 'inline-flex'}, + grid: {display: 'grid'}, + inlineGrid: {display: 'inline-grid'}, + inline: {display: 'inline'}, + hidden: {display: 'none'}, + contents: {display: 'contents'}, + table: {display: 'table'}, + tableCaption: {display: 'table-caption'}, + tableCell: {display: 'table-cell'}, + tableColumn: {display: 'table-column'}, + tableColumnGroup: {display: 'table-column-group'}, + tableHeaderGroup: {display: 'table-header-group'}, + tableFooterGroup: {display: 'table-footer-group'}, + tableRowGroup: {display: 'table-row-group'}, + tableRow: {display: 'table-row'}, + listItem: {display: 'list-item'}, + + invisible: {visibility: 'hidden'}, + visible: {visibility: 'visible'}, + + boxBorder: {boxSizing: 'border-box'}, + boxContent: {boxSizing: 'content-box'}, + + floatRight: {float: 'right'}, + floatLeft: {float: 'left'}, + floatNone: {float: 'none'}, + + clearLeft: {clear: 'left'}, + clearRight: {clear: 'right'}, + clearBoth: {clear: 'both'}, + clearNone: {clear: 'none'}, + + overflowVisible: {overflow: 'visible'}, + overflowHidden: {overflow: 'hidden'}, + overflowClip: {overflow: 'clip'}, + overflowScroll: {overflow: 'scroll'}, + overflowAuto: {overflow: 'auto'}, + overflowXVisible: {overflowX: 'visible'}, + overflowXHidden: {overflowX: 'hidden'}, + overflowXClip: {overflowX: 'clip'}, + overflowXScroll: {overflowX: 'scroll'}, + overflowXAuto: {overflowX: 'auto'}, + overflowYVisible: {overflowY: 'visible'}, + overflowYHidden: {overflowY: 'hidden'}, + overflowYClip: {overflowY: 'clip'}, + overflowYScroll: {overflowY: 'scroll'}, + overflowYAuto: {overflowY: 'auto'}, + + static: {position: 'static'}, + fixed: {position: 'fixed'}, + absolute: {position: 'absolute'}, + relative: {position: 'relative'}, + sticky: {position: 'sticky'}, + top: {top: '0'}, + right: {right: '0'}, + left: {left: '0'}, + bottom: {bottom: '0'}, + + z: { + auto: {zIndex: 'auto'}, + 0: {zIndex: 0}, + 1: {zIndex: 10}, + 2: {zIndex: 20}, + 3: {zIndex: 30}, + 4: {zIndex: 40}, + 5: {zIndex: 50}, + 10: {zIndex: 100}, + }, + + shadow: { + boxShadow: '0px 1px 4px 0px rgba(0,0,0,0.11), 0px 1px 2px -1px rgba(0,0,0,0.11)', + sm: {boxShadow: '0px 1px 2px 0px rgba(0,0,0,0.11)'}, + md: {boxShadow: '0px 5px 8px -1px rgba(0,0,0,0.11), 0px 2px 4px -2px rgba(0,0,0,0.11)'}, + lg: {boxShadow: '0px 8px 14px -3px rgba(0,0,0,0.11), 0px 4px 6px -4px rgba(0,0,0,0.11)'}, + xl: {boxShadow: '0px 16px 24px -5px rgba(0,0,0,0.11), 0px 8px 10px -6px rgba(0,0,0,0.11)'} + } +}; diff --git a/src/conf/fonts.js b/src/conf/fonts.js new file mode 100644 index 0000000..abd2464 --- /dev/null +++ b/src/conf/fonts.js @@ -0,0 +1,11 @@ +module.exports = { + serif: { + fontFamily: 'ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"' + }, + sans: { + fontFamily: 'ui-serif, Georgia, Cambria, "Times New Roman", Times, serif' + }, + mono: { + fontFamily: 'font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace' + } +}; diff --git a/src/conf/opacity.js b/src/conf/opacity.js index 30df2b6..f689329 100644 --- a/src/conf/opacity.js +++ b/src/conf/opacity.js @@ -20,4 +20,4 @@ module.exports = { 90: 0.9, 95: 0.95, 100: 1 -} +}; diff --git a/src/conf/colors.js b/src/conf/palette.js similarity index 100% rename from src/conf/colors.js rename to src/conf/palette.js diff --git a/src/conf/scale.js b/src/conf/scale.js index 2aebc9b..85b7b95 100644 --- a/src/conf/scale.js +++ b/src/conf/scale.js @@ -1,8 +1,11 @@ const pixelsToRem = require('../utils/pixelsToRem'); +const config = require('../getUserConfig'); -const px = { +const px = {...{ 0: '0', + 0.25: '1px', 0.5: '2px', + 0.75: '3px', 1: '4px', 1.5: '6px', 2: '8px', @@ -28,7 +31,7 @@ const px = { 40: '160px', 44: '176px', 48: '192px' -}; +}, ...config.scale?.px}; const rem = Object.fromEntries( Object.entries(px).map(([key, value]) => diff --git a/src/conf/screen.js b/src/conf/screen.js new file mode 100644 index 0000000..1152ac9 --- /dev/null +++ b/src/conf/screen.js @@ -0,0 +1,6 @@ +module.exports = { + aspectAuto: {aspectRatio: 'auto'}, + aspectSquare: {aspectRatio: '1 / 1'}, + aspectWidescreen: {aspectRatio: '16 / 9'}, + aspectFullscreen: {aspectRatio: '4 / 3'} +}; diff --git a/src/conf/sizing.js b/src/conf/sizing.js index bcc0d24..6a7aba0 100644 --- a/src/conf/sizing.js +++ b/src/conf/sizing.js @@ -14,7 +14,7 @@ const percentages = { '1/3': '33.333333%', '2/3': '66.666666%', '1/4': '25%', - '2/4': '50%', + '1/2': '50%', '3/4': '75%', '1/5': '20%', '2/5': '40%', @@ -29,12 +29,14 @@ module.exports = { ...percentages, screen: '100vh' }), - maxH: createSizeProperties('height', { + maxH: createSizeProperties('max-height', { ...sizing, + ...scale.rem, screen: '100vh' }), - minH: createSizeProperties('height', { + minH: createSizeProperties('min-height', { ...sizing, + ...scale.rem, screen: '100vh' }), w: createSizeProperties('width', { @@ -45,10 +47,13 @@ module.exports = { }), maxW: createSizeProperties('max-width', { ...sizing, + ...scale.rem, none: 'none', - container: '1400px' + screen: '100vw', + container: '1320px' }), - minW: createSizeProperties('max-width', { - ...sizing + minW: createSizeProperties('min-width', { + ...sizing, + ...scale.rem }) }; diff --git a/src/conf/transition.js b/src/conf/transition.js new file mode 100644 index 0000000..97e5510 --- /dev/null +++ b/src/conf/transition.js @@ -0,0 +1,24 @@ +module.exports = { + transition: { + none: {transitionProperty: 'none'}, + all: {transitionProperty: 'all', transitionTimingFunction: 'ease', transitionDuration: '300ms'}, + colors: {transitionProperty: 'color, background-color, border-color', transitionTimingFunction: 'ease', transitionDuration: '300ms'}, + backgroundColor: {transitionProperty: 'background-color', transitionTimingFunction: 'ease', transitionDuration: '300ms'}, + borderColor: {transitionProperty: 'border-color', transitionTimingFunction: 'ease', transitionDuration: '300ms'}, + color: {transitionProperty: 'color', transitionTimingFunction: 'ease', transitionDuration: '300ms'}, + opacity: {transitionProperty: 'opacity', transitionTimingFunction: 'ease', transitionDuration: '300ms'}, + shadow: {transitionProperty: 'box-shadow', transitionTimingFunction: 'ease', transitionDuration: '300ms'}, + transform: {transitionProperty: 'transform', transitionTimingFunction: 'ease', transitionDuration: '300ms'}, + }, + + duration: { + 100: {transitionDuration: '100ms'}, + 150: {transitionDuration: '150ms'}, + 200: {transitionDuration: '200ms'}, + 250: {transitionDuration: '250ms'}, + 300: {transitionDuration: '300ms'}, + 500: {transitionDuration: '500ms'}, + 750: {transitionDuration: '750ms'}, + 1000: {transitionDuration: '1s'} + } +}; diff --git a/src/conf/typography.js b/src/conf/typography.js index e6d551d..6a2eeaa 100644 --- a/src/conf/typography.js +++ b/src/conf/typography.js @@ -1,3 +1,4 @@ +const fonts = require('./fonts'); const typography = { text: { @@ -39,15 +40,6 @@ const typography = { lg: {lineHeight: '1.625'}, xl: {lineHeight: '2'} }, - serif: { - fontFamily: 'ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"' - }, - sans: { - fontFamily: 'ui-serif, Georgia, Cambria, "Times New Roman", Times, serif' - }, - mono: { - fontFamily: 'font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace' - }, align: { baseline: {verticalAlign: 'baseline'}, top: {verticalAlign: 'top'}, @@ -94,6 +86,7 @@ const typography = { overflow: 'hidden', textOverflow: 'ellipsis' }, + ...fonts } module.exports = typography; diff --git a/src/conf/utilityClasses.js b/src/conf/utilityClasses.js index d52b51a..44f1087 100644 --- a/src/conf/utilityClasses.js +++ b/src/conf/utilityClasses.js @@ -1,14 +1,18 @@ -const parseUtilities = require('../parseUtilities'); +const { + formatColors, + formatOpacity, + createColorUtilities, +} = require('../utils/formatColors'); +const nestedMerge = require('../utils/nestedMerge'); +const config = require('../getUserConfig'); + const typography = require('./typography'); -const spacing = require('./spacing'); -const sizing = require('./sizing'); -const flex = require('./flex'); -const formatColors = require('../formatColors'); const border = require('./border'); -const grid = require('./grid'); +const palette = require('./palette'); +const opacity = require('./opacity'); const colors = { - ...formatColors(require('./colors')), + ...formatColors(palette, opacity), ...{ inherit: 'inherit', current: 'currentColor', @@ -16,187 +20,42 @@ const colors = { } }; - -const createColorUtilities = (property) => { - return Object.fromEntries( - Object.entries(colors).map(([key, value]) => - typeof value === 'string' - ? [key, {[property]: value}] - : [key, Object.fromEntries(Object.entries(value).map(([key, value]) => - [key, {[property]: value}])) - ]) - ); +const utilities = { + text: createColorUtilities(colors, 'color'), + bg: createColorUtilities(colors, 'backgroundColor'), + border: createColorUtilities(colors, 'borderColor'), + opacity: formatOpacity(opacity) +}; +// Merge with all the individual default utility configs. +for(let defaults of [ + require('./cursor'), + require('./transition'), + require('./display'), + require('./screen'), + require('./spacing'), + require('./sizing'), + require('./flex'), + require('./grid'), + require('./typography'), + require('./border') +]) { + nestedMerge(utilities, defaults); } -const opacity = Object.fromEntries( - Object.entries(require('./opacity')).map(([key, value]) => - [key, {opacity: value}] - ) -); - -// Create text colors. -const textColors = createColorUtilities('color'); - -// Create border colors. -const borderColors = createColorUtilities('borderColor'); +// Merge in the custom values. +const customOpacity = config.opacity; +const customPalette = formatColors(config.palette, {...opacity, ...customOpacity}); -// Create background colors. -const backgroundColors = createColorUtilities('backgroundColor'); -border.border = {...border.border, ...borderColors}; -typography.text = {...typography.text, ...textColors}; +nestedMerge(utilities, { + opacity: formatOpacity(customOpacity), + text: createColorUtilities(customPalette, 'color'), + bg: createColorUtilities(customPalette, 'backgroundColor'), + border: createColorUtilities(customPalette, 'borderColor'), + ...config.fonts, + ...config.extend +}); module.exports = { - ...typography, - bg: backgroundColors, - ...border, - ...spacing, - ...sizing, - ...flex, - ...grid, - opacity: opacity, - - block: {display: 'block'}, - inlineBlock: {display: 'inline-block'}, - inlineFlex: {display: 'inline-flex'}, - grid: {display: 'grid'}, - inlineGrid: {display: 'inline-grid'}, - inline: {display: 'inline'}, - hidden: {display: 'none'}, - contents: {display: 'contents'}, - table: {display: 'table'}, - tableCaption: {display: 'table-caption'}, - tableCell: {display: 'table-cell'}, - tableColumn: {display: 'table-column'}, - tableColumnGroup: {display: 'table-column-group'}, - tableHeaderGroup: {display: 'table-header-group'}, - tableFooterGroup: {display: 'table-footer-group'}, - tableRowGroup: {display: 'table-row-group'}, - tableRow: {display: 'table-row'}, - listItem: {display: 'list-item'}, - - invisible: {visibility: 'hidden'}, - visible: {visibility: 'visible'}, - - aspectAuto: {aspectRatio: 'auto'}, - aspectSquare: {aspectRatio: '1 / 1'}, - aspectWidescreen: {aspectRatio: '16 / 9'}, - aspectFullscreen: {aspectRatio: '4 / 3'}, - - boxBorder: {boxSizing: 'border-box'}, - boxContent: {boxSizing: 'content-box'}, - - floatRight: {float: 'right'}, - floatLeft: {float: 'left'}, - floatNone: {float: 'none'}, - - clearLeft: {clear: 'left'}, - clearRight: {clear: 'right'}, - clearBoth: {clear: 'both'}, - clearNone: {clear: 'none'}, - - overflowVisible: {overflow: 'visible'}, - overflowHidden: {overflow: 'hidden'}, - overflowClip: {overflow: 'clip'}, - overflowScroll: {overflow: 'scroll'}, - overflowAuto: {overflow: 'auto'}, - overflowXVisible: {overflowX: 'visible'}, - overflowXHidden: {overflowX: 'hidden'}, - overflowXClip: {overflowX: 'clip'}, - overflowXScroll: {overflowX: 'scroll'}, - overflowXAuto: {overflowX: 'auto'}, - overflowYVisible: {overflowY: 'visible'}, - overflowYHidden: {overflowY: 'hidden'}, - overflowYClip: {overflowY: 'clip'}, - overflowYScroll: {overflowY: 'scroll'}, - overflowYAuto: {overflowY: 'auto'}, - - static: {position: 'static'}, - fixed: {position: 'fixed'}, - absolute: {position: 'absolute'}, - relative: {position: 'relative'}, - sticky: {position: 'sticky'}, - top: {top: 0}, - right: {right: 0}, - left: {left: 0}, - bottom: {bottom: 0}, - - z: { - auto: {zIndex: 'auto'}, - 0: {zIndex: 0}, - 1: {zIndex: 10}, - 2: {zIndex: 20}, - 3: {zIndex: 30}, - 4: {zIndex: 40}, - 5: {zIndex: 50}, - 10: {zIndex: 100}, - }, - shadow: {boxShadow: '0px 1px 4px 0px rgba(0,0,0,0.11), 0px 1px 2px -1px rgba(0,0,0,0.11)'}, - shadow: { - sm: {boxShadow: '0px 1px 2px 0px rgba(0,0,0,0.11)'}, - md: {boxShadow: '0px 5px 8px -1px rgba(0,0,0,0.11), 0px 2px 4px -2px rgba(0,0,0,0.11)'}, - lg: {boxShadow: '0px 8px 14px -3px rgba(0,0,0,0.11), 0px 4px 6px -4px rgba(0,0,0,0.11)'}, - xl: {boxShadow: '0px 16px 24px -5px rgba(0,0,0,0.11), 0px 8px 10px -6px rgba(0,0,0,0.11)'} - }, - - cursor: { - auto: {cursor: 'auto'}, - default: {cursor: 'default'}, - none: {cursor: 'none'}, - contextMenu: {cursor: 'context-menu'}, - help: {cursor: 'help'}, - pointer: {cursor: 'pointer'}, - progress: {cursor: 'progress'}, - wait: {cursor: 'wait'}, - cell: {cursor: 'cell'}, - crosshair: {cursor: 'crosshair'}, - text: {cursor: 'text'}, - verticalText: {cursor: 'vertical-text'}, - alias: {cursor: 'alias'}, - copy: {cursor: 'copy'}, - move: {cursor: 'move'}, - noDrop: {cursor: 'no-drop'}, - notAllowed: {cursor: 'not-allowed'}, - eResize: {cursor: 'e-resize'}, - nResize: {cursor: 'n-resize'}, - neResize: {cursor: 'ne-resize'}, - nwResize: {cursor: 'nw-resize'}, - sResize: {cursor: 's-resize'}, - seResize: {cursor: 'se-resize'}, - swResize: {cursor: 'sw-resize'}, - wResize: {cursor: 'w-resize'}, - ewResize: {cursor: 'ew-resize'}, - nsResize: {cursor: 'ns-resize'}, - neswResize: {cursor: 'nesw-resize'}, - nwseResize: {cursor: 'nwse-resize'}, - colResize: {cursor: 'col-resize'}, - rowResize: {cursor: 'row-resize'}, - allScroll: {cursor: 'all-scroll'}, - zoomIn: {cursor: 'zoom-in'}, - zoomOut: {cursor: 'zoom-out'}, - grab: {cursor: 'grab'}, - grabbing: {cursor: 'grabbing'} - }, - - transition: { - none: {transitionProperty: 'none'}, - all: {transitionProperty: 'all', transitionTimingFunction: 'ease', transitionDuration: '300ms'}, - colors: {transitionProperty: 'color, background-color, border-color', transitionTimingFunction: 'ease', transitionDuration: '300ms'}, - backgroundColor: {transitionProperty: 'background-color', transitionTimingFunction: 'ease', transitionDuration: '300ms'}, - borderColor: {transitionProperty: 'border-color', transitionTimingFunction: 'ease', transitionDuration: '300ms'}, - color: {transitionProperty: 'color', transitionTimingFunction: 'ease', transitionDuration: '300ms'}, - opacity: {transitionProperty: 'opacity', transitionTimingFunction: 'ease', transitionDuration: '300ms'}, - shadow: {transitionProperty: 'box-shadow', transitionTimingFunction: 'ease', transitionDuration: '300ms'}, - transform: {transitionProperty: 'transform', transitionTimingFunction: 'ease', transitionDuration: '300ms'}, - }, - - duration: { - 100: {transitionDuration: '100ms'}, - 150: {transitionDuration: '150ms'}, - 200: {transitionDuration: '200ms'}, - 250: {transitionDuration: '250ms'}, - 300: {transitionDuration: '300ms'}, - 500: {transitionDuration: '500ms'}, - 750: {transitionDuration: '750ms'}, - 1000: {transitionDuration: '1s'} - } -} + ...utilities, + ...config.override +}; diff --git a/src/createMediaQueries.js b/src/createMediaQueries.js index 865b441..d6f940b 100644 --- a/src/createMediaQueries.js +++ b/src/createMediaQueries.js @@ -17,24 +17,21 @@ const createMediaAttribute = (breakpoint) => { return `@media ${mediaAttribute.join(' and ')}`; } -const getMediaClasses = (content, existingClasses = {}) => { - let potentialStyles = {}; +const getMediaClasses = (content, existingClassess = {}) => { + let potentialStyles = existingClassess; + if(Object.keys(potentialStyles).length < 1) { + for(let [size, width] of Object.entries(breakpoints)) { + potentialStyles[size] = []; + } + } getPotentialStyles(content, breakpoints).forEach(k => { let match = k.match(/^(?[a-zA-Z\d]+)[\:]{1}(?.*)$/)['groups'] || {}; if(match.breakpoint !== undefined && match.class !== undefined) { - potentialStyles[match.breakpoint] = [...potentialStyles[match.breakpoint] || [], ...[match.class]] + potentialStyles[match.breakpoint] = [ + ...new Set([...potentialStyles[match.breakpoint] || [], ...[match.class]]) + ] } }); - if(existingClasses.length) { - potentialStyles = Object.fromEntries( - Object.entries(potentialStyles) - .map(([key, value]) => [key, - existingClasses[key] - ? [...new Set([...value, ...existingClasses[key]])] - : value - ]) - ) - } return potentialStyles; } diff --git a/src/createPseudoCSS.js b/src/createPseudoCSS.js index 99bbafc..667cab0 100644 --- a/src/createPseudoCSS.js +++ b/src/createPseudoCSS.js @@ -20,26 +20,18 @@ const getPseudoLabel = (property) => { return false; } -const getPseudoClasses = (content, existingClasses = {}) => { - let potentialStyles = {}; +const getPseudoClasses = (content, existingClassess = {}) => { + let potentialStyles = existingClassess; getPotentialStyles(content, [...pseudo.classes, ...pseudo.elements].map(i => typeof i === 'object' ? Object.keys(i)[0] : i) ).forEach(k => { let match = k.match(/^(?[a-zA-Z\d\-]+)[\:]{1}(?.*)$/)['groups'] || {}; if(match.pseudo !== undefined && match.class !== undefined) { - potentialStyles[match.pseudo] = [...potentialStyles[match.pseudo] || [], ...[match.class.replace('\\', '')]] + potentialStyles[match.pseudo] = [ + ...new Set([...potentialStyles[match.pseudo] || [], ...[match.class.replace('\\', '')]]) + ] } }); - if(existingClasses.length) { - potentialStyles = Object.fromEntries( - Object.entries(potentialStyles) - .map(([key, value]) => [key, - existingClasses[key] - ? [...new Set([...value, ...existingClasses[key]])] - : value - ]) - ) - } return potentialStyles; } @@ -59,6 +51,9 @@ const createPseudoCSS = (pseudoClasses) => { rules: Object.fromEntries( Object.entries(styles) .map(([key, value]) => { + if(['before', 'after'].includes(label)) { + value = {...value, 'content': '""'}; + } return [`${label}\\:${key}${property}`, value]; }) ) diff --git a/src/formatColors.js b/src/formatColors.js deleted file mode 100644 index f822c40..0000000 --- a/src/formatColors.js +++ /dev/null @@ -1,43 +0,0 @@ -const hexToRgb = require('./utils/hexToRgb'); -const opacity = require('./conf/opacity'); - -const applyOpacityModifiers = (color, label) => { - return Object.fromEntries( - Object.entries(opacity).map(([key, value]) => - [`${label}/${key}`, `rgb(${color.r} ${color.g} ${color.b} / ${value})`] - ) - ); -} - -const formatColors = (colors) => { - let formatted = {}; - for(let[label, color] of Object.entries(colors)) { - if(typeof color === 'string') { - let rgb = hexToRgb(color); - formatted = { - ...formatted, - ...{[label]: `rgb(${rgb.r} ${rgb.g} ${rgb.b} / 100)`}, - ...applyOpacityModifiers(rgb, label) - } - } - else { - let palette = {}; - for(let[tone, value] of Object.entries(color)) { - let rgb = hexToRgb(value); - palette[label] = { - ...palette[label], - ...{[tone]: `rgb(${rgb.r} ${rgb.g} ${rgb.b} / 100)`}, - ...applyOpacityModifiers(rgb, tone) - } - } - formatted = { - ...formatted, - ...palette - }; - } - } - - return formatted; -} - -module.exports = formatColors; diff --git a/src/index.js b/src/index.js index 83ec8c6..3f3ac88 100644 --- a/src/index.js +++ b/src/index.js @@ -105,16 +105,15 @@ async function createFinalCss({ mediaClasses = getMediaClasses(content, mediaClasses); pseudoClasses = getPseudoClasses(content, pseudoClasses); let inputCss = input ? await getInputCss(input) : {}; - return { css: { ...await getInputCss(path.join(__dirname, './css/normalize.css')), + ...inputCss, ...createCss({ rules: cssClasses }), ...createMediaQueries(mediaClasses), - ...createPseudoCSS(pseudoClasses), - ...inputCss + ...createPseudoCSS(pseudoClasses) }, classes: { cssClasses, @@ -192,7 +191,6 @@ async function build() { await rebuild(file); }) .on('change', async(file) => { - console.log(watcher.getWatched()) await rebuild(file); }); } diff --git a/src/utils/formatColors.js b/src/utils/formatColors.js new file mode 100644 index 0000000..b8cb7e1 --- /dev/null +++ b/src/utils/formatColors.js @@ -0,0 +1,65 @@ +const hexToRgb = require('./hexToRgb'); + +const applyOpacityModifiers = (color, label, values) => { + return Object.fromEntries( + Object.entries(values).map(([key, value]) => + [`${label}/${key}`, `rgb(${color.r} ${color.g} ${color.b} / ${value})`] + ) + ); +} + +const formatColors = (colors = {}, opacityValues = {}) => { + let formatted = {}; + for(let[label, color] of Object.entries(colors)) { + if(typeof color === 'string') { + let rgb = hexToRgb(color); + formatted = { + ...formatted, + ...{[label]: `rgb(${rgb.r} ${rgb.g} ${rgb.b} / 100)`}, + ...applyOpacityModifiers(rgb, label, opacityValues) + } + } + else { + let palette = {}; + for(let[tone, value] of Object.entries(color)) { + let rgb = hexToRgb(value); + palette[label] = { + ...palette[label], + ...{[tone]: `rgb(${rgb.r} ${rgb.g} ${rgb.b} / 100)`}, + ...applyOpacityModifiers(rgb, tone, opacityValues) + } + } + formatted = { + ...formatted, + ...palette + }; + } + } + + return formatted; +} + +const createColorUtilities = (colors = {}, property) => { + return Object.fromEntries( + Object.entries(colors).map(([key, value]) => + typeof value === 'string' + ? [key, {[property]: value}] + : [key, Object.fromEntries(Object.entries(value).map(([key, value]) => + [key, {[property]: value}])) + ]) + ); +} + +const formatOpacity = (opacityValues = {}) => { + return Object.fromEntries( + Object.entries(opacityValues).map(([key, value]) => + [key, {opacity: value}] + ) + ); +} + +module.exports = { + formatColors: formatColors, + formatOpacity: formatOpacity, + createColorUtilities: createColorUtilities +}; diff --git a/src/utils/nestedMerge.js b/src/utils/nestedMerge.js new file mode 100644 index 0000000..fad92d1 --- /dev/null +++ b/src/utils/nestedMerge.js @@ -0,0 +1,29 @@ +const isObject = (item) => { + return (item && typeof item === 'object' && !Array.isArray(item)); +} + +const nestedMerge = (mergeWith, ...source) => { + if(!source.length) { + return mergeWith + } + const data = source.shift(); + if(isObject(data)) { + for(let key in data) { + if(isObject(data[key])) { + if(!mergeWith[key]) { + Object.assign(mergeWith, {[key]: {}}); + } + nestedMerge(mergeWith[key], data[key]); + } + else { + Object.assign(mergeWith, { + [key]: data[key] + }); + } + } + } + + return nestedMerge(mergeWith, ...source); +} + +module.exports = nestedMerge; From 3c9df4b3c355be4c0e2a3caf32da7ebbd1d3dce6 Mon Sep 17 00:00:00 2001 From: Rhys Hall Date: Wed, 29 Jun 2022 21:51:34 +1000 Subject: [PATCH 5/5] Support for export to PostCSS --- package.json | 3 +- src/cli | 213 ++++++++++++++++++++++++++++++++++++++++++++++++++- src/index.js | 210 ++------------------------------------------------ 3 files changed, 217 insertions(+), 209 deletions(-) diff --git a/package.json b/package.json index abadd07..8802051 100755 --- a/package.json +++ b/package.json @@ -22,8 +22,7 @@ "build:clean": "cleancss -o css/orbit.min.css css/orbit.css", "build:autoprefixer": "postcss --use autoprefixer --map false --output css/orbit.css css/orbit.css", "build": "npm-run-all build:sass build:autoprefixer build:clean", - "start": "npm run build:sass -- --watch", - "orbitcss": "node src/index" + "start": "npm run build:sass -- --watch" }, "author": "Rhys Hall ", "license": "MIT", diff --git a/src/cli b/src/cli index df68d37..3394464 100644 --- a/src/cli +++ b/src/cli @@ -1,4 +1,213 @@ #!/usr/bin/env node -const orbitcss = require('./index.js'); -orbitcss(); +const autoprefixer = require('autoprefixer'); +const postcss = require('postcss'); +const postcssJs = require('postcss-js'); +const cssnano = require('cssnano'); +const postcssNested = require('postcss-nested'); +const fs = require('fs'); +const path = require('path'); +const arg = require('arg'); +const parser = require('postcss-selector-parser'); +const help = require('./utils/helpCli'); +const parseUtilities = require('./parseUtilities'); +const createCss = require('./createCss'); +const {createMediaQueries, getMediaClasses} = require('./createMediaQueries'); +const {createPseudoCSS, getPseudoClasses} = require('./createPseudoCSS'); +const config = require('./getUserConfig'); +const getContent = require('./getContent'); +const formatClassName = require('./utils/formatClassName'); +const fg = require('fast-glob'); +const chokidar = require('chokidar'); + +let sharedFlags = { + '--help': {type: Boolean, description: 'Displays usage and additional options for the command'}, + '-h': '--help' +}; + +let commands = { + build: { + run: build, + description: 'Build the OrbitCSS style scripts', + usage: [ + 'orbitcss build [options]' + ], + args: { + '--input': { type: String, description: 'Input file path'}, + '--output': { type: String, description: 'Output file path' }, + '--watch': { type: Boolean, description: 'Watches for changes and rebuilds'}, + '--minimize': { type: Boolean, description: 'Final CSS output will be minimized'}, + '-i': '--input', + '-o': '--output', + '-w': '--watch', + '-m': '--minimize', + ...sharedFlags + } + } +} + +let command = (Object.keys(commands.build.args).includes(process.argv[2]) + ? 'build' : process.argv[2]) || 'build'; +if(commands[command] === undefined) { + help({ + message: `Invalid command ${command}`, + usage: [ + 'orbitcss [options]' + ], + commands: Object.keys(commands) + .map((command) => `${command} [options]`), + options: sharedFlags + }) + process.exit(9); +} + +let { args: flags, run } = commands[command]; +let args = (() => { + let result = arg( + Object.fromEntries( + Object.entries(flags) + .map(([key, value]) => [key, typeof value === 'object' ? value.type : value]) + ), + { permissive: true } + ) + return result; +})(); + +if(args['--help']) { + let { description, usage } = commands[command]; + help({ + message: description, + usage: usage, + options: flags + }); + process.exit(0); +} + +function filterClasses(content) { + return Object.fromEntries(Object.entries( + parseUtilities(require('./conf/utilityClasses')) + ).filter( + ([k]) => [...content].includes(formatClassName(k).replace('\\', '')) + )); +} + +async function getInputCss(path) { + const inputFile = await fs.readFileSync(path); + return postcssJs.objectify(postcss.parse(inputFile)); +} + +async function createFinalCss({ + content, + input, + cssClasses = {}, + mediaClasses = {}, + pseudoClasses = {} +}) { + cssClasses = {...filterClasses(content), ...cssClasses}; + mediaClasses = getMediaClasses(content, mediaClasses); + pseudoClasses = getPseudoClasses(content, pseudoClasses); + let inputCss = input ? await getInputCss(input) : {}; + return { + css: { + ...await getInputCss(path.join(__dirname, './css/normalize.css')), + ...inputCss, + ...createCss({ + rules: cssClasses + }), + ...createMediaQueries(mediaClasses), + ...createPseudoCSS(pseudoClasses) + }, + classes: { + cssClasses, + mediaClasses, + pseudoClasses + } + }; +} + +async function build() { + let input = args['--input']; + let output = args['--output']; + let min = args['--minimize'] || false; + let watch = args['--watch'] || false; + + // if(output === undefined) { + // let { description, usage } = commands[command]; + // help({ + // message: "Missing output command. Expects --output OR -o.", + // commands: ["orbitcss build --output ", "orbitcss build -o "] + // }); + // process.exit(9); + // } + + let plugins = [ + autoprefixer, + postcssNested + ]; + if(min) { + plugins.push(cssnano); + } + + const content = getContent(fg.sync(config.files)); + console.time('Creating CSS'); + const createCss = await createFinalCss({content, input}); + console.timeEnd('Creating CSS'); + let css = createCss.css; + + function runBuild() { + console.time('Compiling CSS'); + postcss(plugins) + .process(css, { from: undefined, to: output, parser: postcssJs }) + .then((result) => { + if(!output) { + return process.stdout.write(result.css); + } + fs.writeFile(output, result.css, () => true); + if(result.map) { + fs.writeFile(`${output}.map`, result.map.toString(), () => true) + } + }); + console.timeEnd('Compiling CSS') + } + + function runWatch() { + runBuild(); + console.log(); + console.log(`CSS output > ${output}`); + let existing = createCss.classes; + const watcher = chokidar.watch(fg.sync(config.files), { + ignoreInitial: true, + }); + console.log(); + console.log('Watching for changes...'); + + async function rebuild(file) { + console.log(); + console.log(`Change on ${file}`); + console.log('Rebuilding...'); + let content = getContent([file]); + let finalCss = await createFinalCss({content, input, ...existing}); + css = finalCss.css; + existing = finalCss.classes; + runBuild(); + } + + watcher.on('add', async(file) => { + await rebuild(file); + }) + .on('change', async(file) => { + await rebuild(file); + }); + } + + if(watch) { + runWatch(); + } + else { + runBuild(); + console.log(); + console.log(`CSS output > ${output}`); + } +} + +run(); diff --git a/src/index.js b/src/index.js index 3f3ac88..a6ddd5b 100644 --- a/src/index.js +++ b/src/index.js @@ -1,208 +1,8 @@ -const autoprefixer = require('autoprefixer'); -const postcss = require('postcss'); -const postcssJs = require('postcss-js'); -const cssnano = require('cssnano'); -const postcssNested = require('postcss-nested'); -const fs = require('fs'); -const path = require('path'); -const arg = require('arg'); -const parser = require('postcss-selector-parser'); -const help = require('./utils/helpCli'); -const parseUtilities = require('./parseUtilities'); -const createCss = require('./createCss'); -const {createMediaQueries, getMediaClasses} = require('./createMediaQueries'); -const {createPseudoCSS, getPseudoClasses} = require('./createPseudoCSS'); -const config = require('./getUserConfig'); -const getContent = require('./getContent'); -const formatClassName = require('./utils/formatClassName'); -const fg = require('fast-glob'); -const chokidar = require('chokidar'); - -let sharedFlags = { - '--help': {type: Boolean, description: 'Displays usage and additional options for the command'}, - '-h': '--help' -}; - -let commands = { - build: { - run: build, - description: 'Build the OrbitCSS style scripts', - usage: [ - 'orbitcss build [options]' - ], - args: { - '--input': { type: String, description: 'Input file path'}, - '--output': { type: String, description: 'Output file path' }, - '--watch': { type: Boolean, description: 'Watches for changes and rebuilds'}, - '--minimize': { type: Boolean, description: 'Final CSS output will be minimized'}, - '-i': '--input', - '-o': '--output', - '-w': '--watch', - '-m': '--minimize', - ...sharedFlags - } - } -} - -let command = (Object.keys(commands.build.args).includes(process.argv[2]) - ? 'build' : process.argv[2]) || 'build'; -if(commands[command] === undefined) { - help({ - message: `Invalid command ${command}`, - usage: [ - 'orbitcss [options]' - ], - commands: Object.keys(commands) - .map((command) => `${command} [options]`), - options: sharedFlags - }) - process.exit(9); -} - -let { args: flags, run } = commands[command]; -let args = (() => { - let result = arg( - Object.fromEntries( - Object.entries(flags) - .map(([key, value]) => [key, typeof value === 'object' ? value.type : value]) - ), - { permissive: true } - ) - return result; -})(); - -if(args['--help']) { - let { description, usage } = commands[command]; - help({ - message: description, - usage: usage, - options: flags - }); - process.exit(0); -} - -function filterClasses(content) { - return Object.fromEntries(Object.entries( - parseUtilities(require('./conf/utilityClasses')) - ).filter( - ([k]) => [...content].includes(formatClassName(k).replace('\\', '')) - )); -} - -async function getInputCss(path) { - const inputFile = await fs.readFileSync(path); - return postcssJs.objectify(postcss.parse(inputFile)); -} - -async function createFinalCss({ - content, - input, - cssClasses = {}, - mediaClasses = {}, - pseudoClasses = {} -}) { - cssClasses = {...filterClasses(content), ...cssClasses}; - mediaClasses = getMediaClasses(content, mediaClasses); - pseudoClasses = getPseudoClasses(content, pseudoClasses); - let inputCss = input ? await getInputCss(input) : {}; +module.exports = (opts = {}) => { return { - css: { - ...await getInputCss(path.join(__dirname, './css/normalize.css')), - ...inputCss, - ...createCss({ - rules: cssClasses - }), - ...createMediaQueries(mediaClasses), - ...createPseudoCSS(pseudoClasses) - }, - classes: { - cssClasses, - mediaClasses, - pseudoClasses - } - }; -} - -async function build() { - let input = args['--input']; - let output = args['--output']; - let min = args['--minimize'] || false; - let watch = args['--watch'] || false; - - if(output === undefined) { - let { description, usage } = commands[command]; - help({ - message: "Missing output command. Expects --output OR -o.", - commands: ["orbitcss build --output ", "orbitcss build -o "] - }); - process.exit(9); - } - - let plugins = [ - autoprefixer, - postcssNested - ]; - if(min) { - plugins.push(cssnano); - } - - const content = getContent(fg.sync(config.files)); - console.time('Creating CSS'); - const createCss = await createFinalCss({content, input}); - console.timeEnd('Creating CSS'); - let css = createCss.css; - - function runBuild() { - console.time('Compiling CSS'); - postcss(plugins) - .process(css, { from: undefined, to: output, parser: postcssJs }) - .then((result) => { - fs.writeFile(output, result.css, () => true); - if(result.map) { - fs.writeFile(`${output}.map`, result.map.toString(), () => true) - } - }); - console.timeEnd('Compiling CSS') - } - - function runWatch() { - runBuild(); - console.log(); - console.log(`CSS output > ${output}`); - let existing = createCss.classes; - const watcher = chokidar.watch(fg.sync(config.files), { - ignoreInitial: true, - }); - console.log(); - console.log('Watching for changes...'); - - async function rebuild(file) { - console.log(); - console.log(`Change on ${file}`); - console.log('Rebuilding...'); - let content = getContent([file]); - let finalCss = await createFinalCss({content, input, ...existing}); - css = finalCss.css; - existing = finalCss.classes; - runBuild(); - } - - watcher.on('add', async(file) => { - await rebuild(file); - }) - .on('change', async(file) => { - await rebuild(file); - }); - } - - if(watch) { - runWatch(); - } - else { - runBuild(); - console.log(); - console.log(`CSS output > ${output}`); + postcssPlugin: 'orbitcss', + // Plugin listeners + plugins: [] } } - -module.exports = run; +module.exports.postcss = true