diff --git a/.dockerignore b/.dockerignore index 527f8fae37..a1ae9fbd20 100644 --- a/.dockerignore +++ b/.dockerignore @@ -13,6 +13,7 @@ .env.dist .git/ .gitattributes +.gitignore .idea/ .mysql/ .project diff --git a/.gitignore b/.gitignore index 61e2515592..dbaff07551 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,7 @@ node_modules/ data/cache/phpstan/ public/css/gewis-theme.css public/css/gewis-theme.css.map +resources/scss/ public/styleguide/ autoload_classmap.php .mysql diff --git a/.idea/php.xml b/.idea/php.xml index 35013c1451..b2630fd2b0 100644 --- a/.idea/php.xml +++ b/.idea/php.xml @@ -27,7 +27,6 @@ - @@ -255,7 +254,7 @@ - + diff --git a/.idea/webResources.xml b/.idea/webResources.xml new file mode 100644 index 0000000000..7ede49aa51 --- /dev/null +++ b/.idea/webResources.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Makefile b/Makefile index a82f5d7fca..76a72916c9 100644 --- a/Makefile +++ b/Makefile @@ -69,7 +69,7 @@ replenish: @docker cp ./data "$(shell docker compose ps -q web)":/code @docker compose exec web chown -R www-data:www-data /code/data @docker compose exec web rm -rf data/cache/module-config-cache.application.config.cache.php - @docker compose exec web php composer.phar dump-autoload --dev + @docker compose exec web composer dump-autoload --dev @docker compose exec web ./orm orm:generate-proxies update: updatecomposer updatepackage updatecss updateglide updatedocker @@ -146,13 +146,11 @@ checkcomposerunused: loadenv @XDEBUG_MODE=off vendor/bin/composer-unused checkcomposeroutdated: - @php composer.phar outdated + @composer outdated updatecomposer: @docker cp ./composer.json "$(shell docker compose ps -q web)":/code/composer.json - @docker compose exec web php composer.phar selfupdate - @docker cp "$(shell docker compose ps -q web)":/code/composer.phar ./composer.phar - @docker compose exec web php composer.phar update -W + @docker compose exec web php composer update -W @docker cp "$(shell docker compose ps -q web)":/code/composer.lock ./composer.lock updatepackage: @@ -167,13 +165,8 @@ updatecss: @docker cp "$(shell docker compose ps -q web)":/code/public/css/gewis-theme.css ./public/css/gewis-theme.css updateglide: - @docker compose exec glide php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" - @docker compose exec glide php composer-setup.php - @docker compose exec glide php -r "unlink('composer-setup.php');" @docker cp ./docker/glide/composer.json "$(shell docker compose ps -q glide)":/glide/composer.json - @docker compose exec glide php composer.phar selfupdate - @docker cp "$(shell docker compose ps -q glide)":/glide/composer.phar ./docker/glide/composer.phar - @docker compose exec glide php composer.phar update -W + @docker compose exec glide composer update -W @docker cp "$(shell docker compose ps -q glide)":/glide/composer.lock ./docker/glide/composer.lock updatedocker: diff --git a/composer.json b/composer.json index 9b5ba0a8e4..7143c9b301 100644 --- a/composer.json +++ b/composer.json @@ -68,7 +68,6 @@ "monolog/monolog": "^3.0.0", "league/glide": "^2.2.0", "fortawesome/font-awesome": "^6.0.0", - "slowprog/composer-copy-file": "^0.3.0", "cweagans/composer-patches": "^1.7.1", "setasign/fpdi": "2.3.6", "tecnickcom/tcpdf": "6.5.0", @@ -135,14 +134,6 @@ }, "minimum-stability": "dev", "prefer-stable": true, - "scripts": { - "post-install-cmd": [ - "SlowProg\\CopyFile\\ScriptHandler::copy" - ], - "post-update-cmd": [ - "SlowProg\\CopyFile\\ScriptHandler::copy" - ] - }, "repositories": [ { "type": "git", @@ -150,11 +141,6 @@ } ], "extra": { - "copy-file": { - "vendor/fortawesome/font-awesome/scss/": "public/scss/fontawesome/", - "vendor/fortawesome/font-awesome/webfonts/": "public/fonts/fontawesome/", - "vendor/fortawesome/font-awesome/sprites/": "public/sprites/fontawesome/" - }, "patches": { "doctrine/orm": { "Fix issues with SubDecisions.": "https://raw.githubusercontent.com/GEWIS/orm/2.15.x/1-to-1-multiple-join-columns.patch" diff --git a/composer.lock b/composer.lock index f2e025ced1..52a2cb9b7e 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "471732296d42bb8817aee581cc87d44e", + "content-hash": "625186f89c38d4c4f4d6a984ed792f1b", "packages": [ { "name": "brick/varexporter", @@ -6534,58 +6534,6 @@ ], "time": "2021-02-11T11:37:01+00:00" }, - { - "name": "slowprog/composer-copy-file", - "version": "0.3.3", - "source": { - "type": "git", - "url": "https://github.com/slowprog/CopyFile.git", - "reference": "b02d55f7587577f29d355f0ce7b697f66dffc0af" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/slowprog/CopyFile/zipball/b02d55f7587577f29d355f0ce7b697f66dffc0af", - "reference": "b02d55f7587577f29d355f0ce7b697f66dffc0af", - "shasum": "" - }, - "require": { - "php": ">=5.6" - }, - "require-dev": { - "composer/composer": "1.0.*@dev", - "mikey179/vfsstream": "~1", - "php-mock/php-mock-phpunit": "~1", - "phpunit/phpunit": "5.7.27", - "symfony/filesystem": "~2.7", - "symfony/finder": "~2.7" - }, - "type": "library", - "autoload": { - "psr-4": { - "SlowProg\\CopyFile\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Andrey Tyshev", - "email": "slowprog@gmail.com" - } - ], - "description": "Composer script copying your files after install", - "homepage": "https://github.com/SlowProg/composer-copy-file", - "keywords": [ - "copy file" - ], - "support": { - "issues": "https://github.com/slowprog/CopyFile/issues", - "source": "https://github.com/slowprog/CopyFile/tree/0.3.3" - }, - "time": "2020-07-02T14:44:41+00:00" - }, { "name": "stella-maris/clock", "version": "0.1.7", diff --git a/composer.phar b/composer.phar deleted file mode 100755 index 4d2e00eef4..0000000000 Binary files a/composer.phar and /dev/null differ diff --git a/docker/glide/Dockerfile b/docker/glide/Dockerfile index b4cbf12181..29f2dcd6c9 100644 --- a/docker/glide/Dockerfile +++ b/docker/glide/Dockerfile @@ -36,12 +36,10 @@ RUN apk add --no-cache --virtual .build-deps \ FROM php-target as composer-build WORKDIR /glide -RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \ - && php composer-setup.php \ - && php -r "unlink('composer-setup.php');" - +COPY --from=composer:latest /usr/bin/composer /usr/bin/composer COPY ./composer.json ./composer.lock ./ -RUN php composer.phar install -o --no-dev + +RUN composer install -o --no-dev FROM php-target as glide WORKDIR /glide diff --git a/docker/glide/composer.phar b/docker/glide/composer.phar deleted file mode 100755 index 4d2e00eef4..0000000000 Binary files a/docker/glide/composer.phar and /dev/null differ diff --git a/docker/web/development/Dockerfile b/docker/web/development/Dockerfile index 9b9ebd370d..039e0e5e5c 100644 --- a/docker/web/development/Dockerfile +++ b/docker/web/development/Dockerfile @@ -1,17 +1,18 @@ -# Compile the language files +# Compile the language files. FROM alpine:latest AS gewisweb_translations WORKDIR /code RUN apk add --no-cache --virtual .runtime-deps \ gettext -COPY ./module/Application/language/*.po . +COPY ./module/Application/language/*.po ./ RUN msgfmt en.po -o en -c --strict -v \ && msgfmt nl.po -o nl -c --strict -v -# Install dependencies and create final image -FROM php:8.2-fpm-alpine AS gewisweb_web_development +# Install dependencies and create final image. +FROM php:8.2-fpm-alpine AS gewisweb_web_development_base +WORKDIR /code RUN apk add --no-cache --virtual .build-deps \ $PHPIZE_DEPS \ @@ -77,24 +78,33 @@ RUN apk add --no-cache --virtual .build-deps \ RUN sed -i 's///g' /etc/ImageMagick-7/policy.xml -WORKDIR /code +# Install composer and dependencies. +COPY --from=composer:latest /usr/bin/composer /usr/bin/composer +COPY ./composer.json ./composer.lock ./ -RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \ - && php composer-setup.php \ - && php -r "unlink('composer-setup.php');" +RUN composer install -COPY --chown=www-data:www-data ./composer.json ./ -RUN php composer.phar install +# Compile the SCSS files. +FROM node:lts-alpine as gewisweb_web_styles +WORKDIR /code -# If you are not a member of the ApplicatieBeheerCommissie comment the line below. -COPY --from=web.docker-registry.gewis.nl/gewisweb_patches:latest . /code +COPY ./package.json ./package-lock.json ./ +RUN npm install --omit=dev -COPY --chown=www-data:www-data ./package.json ./package-lock.json ./ -RUN npm install --production=false +RUN mkdir public && mkdir public/scss && mkdir public/css + +COPY --from=gewisweb_web_development_base /code/vendor ./vendor +COPY ./resources/scss ./resources/scss/ -COPY --chown=www-data:www-data ./public/scss ./public/scss/ RUN npm run scss +# Create the final image. +FROM gewisweb_web_development_base AS gewisweb_web_development + +# Copy patches for dependencies that cannot be patched through composer. If you are not a member of the +# ApplicatieBeheerCommissie comment the line below. +COPY --from=web.docker-registry.gewis.nl/gewisweb_patches:latest . /code + COPY --chown=www-data:www-data ./docker/web/development/php.ini /usr/local/etc/php/conf.d/default.ini COPY --chown=www-data:www-data ./docker/web/development/php-fpm.conf /usr/local/etc/php-fpm.d/zz-gewisweb.conf COPY --chown=www-data:www-data ./config/autoload/local.development.php.dist ./config/autoload/local.php @@ -110,9 +120,12 @@ RUN chmod 0775 ./docker-entrypoint.sh COPY --chown=www-data:www-data . /code COPY --chown=www-data:www-data --from=gewisweb_translations /code/*.mo /code/module/Application/language/ +COPY --chown=www-data:www-data --from=gewisweb_web_styles /code/public/css/gewis-theme.css /code/public/css/gewis-theme.css +RUN cp -R ./vendor/fortawesome/font-awesome/sprites/. ./public/sprites/fontawesome +RUN cp -R ./vendor/fortawesome/font-awesome/webfonts/. ./public/fonts/fontawesome ENV PHP_IDE_CONFIG="serverName=gewis.nl" -RUN php composer.phar dump-autoload +RUN composer dump-autoload ARG GIT_COMMIT ENV GIT_COMMIT=${GIT_COMMIT} diff --git a/docker/web/production/Dockerfile b/docker/web/production/Dockerfile index 39da252119..99fa7a0820 100644 --- a/docker/web/production/Dockerfile +++ b/docker/web/production/Dockerfile @@ -1,29 +1,18 @@ -# Compile the SCSS files -FROM node:lts-alpine as node-build -WORKDIR /code - -COPY ./package.json ./package-lock.json ./ -RUN npm install --omit=dev - -RUN mkdir public && mkdir public/scss && mkdir public/css - -COPY ./public/scss ./public/scss/ -RUN npm run scss - -# Compile the language files +# Compile the language files. FROM alpine:latest AS gewisweb_translations WORKDIR /code RUN apk add --no-cache --virtual .runtime-deps \ gettext -COPY ./module/Application/language/*.po . +COPY ./module/Application/language/*.po ./ RUN msgfmt en.po -o en -c --strict -v \ && msgfmt nl.po -o nl -c --strict -v -# Install dependencies -FROM php:8.2-fpm-alpine as php-target +# Create a base image with all PHP dependencies. +FROM php:8.2-fpm-alpine as gewisweb_web_production_base +WORKDIR /code RUN apk add --no-cache --virtual .build-deps \ $PHPIZE_DEPS \ @@ -78,17 +67,30 @@ RUN apk add --no-cache --virtual .build-deps \ RUN sed -i 's///g' /etc/ImageMagick-7/policy.xml -# Create final image -FROM php-target as gewisweb_web_production +# Install composer and through it the application dependencies. +COPY --from=composer:latest /usr/bin/composer /usr/bin/composer +COPY ./composer.json ./composer.lock ./ + +RUN composer install -o --no-dev + +# Compile the SCSS files. +FROM node:lts-alpine as gewisweb_web_styles WORKDIR /code -RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \ - && php composer-setup.php \ - && php -r "unlink('composer-setup.php');" +COPY ./package.json ./package-lock.json ./ +RUN npm install --omit=dev -COPY ./composer.json ./composer.lock ./ -RUN php composer.phar install -o --no-dev +RUN mkdir public && mkdir public/scss && mkdir public/css + +COPY --from=gewisweb_web_production_base /code/vendor ./vendor +COPY ./resources/scss ./resources/scss/ + +RUN npm run scss + +# Create the final image. +FROM gewisweb_web_production_base AS gewisweb_web_production +# Copy patches for dependencies that cannot be patched through composer. COPY --from=web.docker-registry.gewis.nl/gewisweb_patches:latest . /code COPY --chown=www-data:www-data ./docker/web/production/php.ini /usr/local/etc/php/conf.d/default.ini @@ -105,9 +107,11 @@ RUN chmod 0775 ./docker-entrypoint.sh COPY --chown=www-data:www-data . /code COPY --chown=www-data:www-data --from=gewisweb_translations /code/*.mo /code/module/Application/language/ -COPY --chown=www-data:www-data --from=node-build /code/public/css/gewis-theme.css /code/public/css/gewis-theme.css +COPY --chown=www-data:www-data --from=gewisweb_web_styles /code/public/css/gewis-theme.css /code/public/css/gewis-theme.css +RUN cp -R ./vendor/fortawesome/font-awesome/sprites/. ./public/sprites/fontawesome +RUN cp -R ./vendor/fortawesome/font-awesome/webfonts/. ./public/fonts/fontawesome -RUN php composer.phar dump-autoload -a --no-dev +RUN composer dump-autoload -a --no-dev ARG GIT_COMMIT ENV GIT_COMMIT=${GIT_COMMIT} diff --git a/package.json b/package.json index ba692073d8..9b1460c07e 100644 --- a/package.json +++ b/package.json @@ -5,8 +5,8 @@ "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", - "scss": "sass --style compressed --no-source-map public/scss/gewis-theme.scss:public/css/gewis-theme.css", - "watch": "sass --watch public/scss/gewis-theme.scss:public/css" + "scss": "sass --style compressed --no-source-map resources/scss/gewis-theme.scss:public/css/gewis-theme.css", + "watch": "sass --watch resources/scss/gewis-theme.scss:public/css" }, "repository": { "type": "git", diff --git a/public/fonts/fontawesome/.gitignore b/public/fonts/fontawesome/.gitignore new file mode 100644 index 0000000000..d6b7ef32c8 --- /dev/null +++ b/public/fonts/fontawesome/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/public/fonts/fontawesome/fa-brands-400.eot b/public/fonts/fontawesome/fa-brands-400.eot deleted file mode 100644 index 32e0207fdb..0000000000 Binary files a/public/fonts/fontawesome/fa-brands-400.eot and /dev/null differ diff --git a/public/fonts/fontawesome/fa-brands-400.svg b/public/fonts/fontawesome/fa-brands-400.svg deleted file mode 100644 index 5d605eac26..0000000000 --- a/public/fonts/fontawesome/fa-brands-400.svg +++ /dev/null @@ -1,3717 +0,0 @@ - - - - -Created by FontForge 20201107 at Wed Aug 4 12:22:50 2021 - By Robert Madole -Copyright (c) Font Awesome - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/public/fonts/fontawesome/fa-brands-400.ttf b/public/fonts/fontawesome/fa-brands-400.ttf deleted file mode 100644 index 989f323b1e..0000000000 Binary files a/public/fonts/fontawesome/fa-brands-400.ttf and /dev/null differ diff --git a/public/fonts/fontawesome/fa-brands-400.woff b/public/fonts/fontawesome/fa-brands-400.woff deleted file mode 100644 index 461ce2e8d6..0000000000 Binary files a/public/fonts/fontawesome/fa-brands-400.woff and /dev/null differ diff --git a/public/fonts/fontawesome/fa-brands-400.woff2 b/public/fonts/fontawesome/fa-brands-400.woff2 deleted file mode 100644 index 19f04b901e..0000000000 Binary files a/public/fonts/fontawesome/fa-brands-400.woff2 and /dev/null differ diff --git a/public/fonts/fontawesome/fa-regular-400.eot b/public/fonts/fontawesome/fa-regular-400.eot deleted file mode 100644 index 3ecfdac1ee..0000000000 Binary files a/public/fonts/fontawesome/fa-regular-400.eot and /dev/null differ diff --git a/public/fonts/fontawesome/fa-regular-400.svg b/public/fonts/fontawesome/fa-regular-400.svg deleted file mode 100644 index b20e72f859..0000000000 --- a/public/fonts/fontawesome/fa-regular-400.svg +++ /dev/null @@ -1,801 +0,0 @@ - - - - -Created by FontForge 20201107 at Wed Aug 4 12:22:50 2021 - By Robert Madole -Copyright (c) Font Awesome - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/public/fonts/fontawesome/fa-regular-400.ttf b/public/fonts/fontawesome/fa-regular-400.ttf deleted file mode 100644 index 201cc58b85..0000000000 Binary files a/public/fonts/fontawesome/fa-regular-400.ttf and /dev/null differ diff --git a/public/fonts/fontawesome/fa-regular-400.woff b/public/fonts/fontawesome/fa-regular-400.woff deleted file mode 100644 index f0bf490dfa..0000000000 Binary files a/public/fonts/fontawesome/fa-regular-400.woff and /dev/null differ diff --git a/public/fonts/fontawesome/fa-regular-400.woff2 b/public/fonts/fontawesome/fa-regular-400.woff2 deleted file mode 100644 index a395e91bbf..0000000000 Binary files a/public/fonts/fontawesome/fa-regular-400.woff2 and /dev/null differ diff --git a/public/fonts/fontawesome/fa-solid-900.eot b/public/fonts/fontawesome/fa-solid-900.eot deleted file mode 100644 index af42bd8608..0000000000 Binary files a/public/fonts/fontawesome/fa-solid-900.eot and /dev/null differ diff --git a/public/fonts/fontawesome/fa-solid-900.svg b/public/fonts/fontawesome/fa-solid-900.svg deleted file mode 100644 index cc0956b2c5..0000000000 --- a/public/fonts/fontawesome/fa-solid-900.svg +++ /dev/null @@ -1,5034 +0,0 @@ - - - - -Created by FontForge 20201107 at Wed Aug 4 12:22:50 2021 - By Robert Madole -Copyright (c) Font Awesome - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/public/fonts/fontawesome/fa-solid-900.ttf b/public/fonts/fontawesome/fa-solid-900.ttf deleted file mode 100644 index 1920af1e52..0000000000 Binary files a/public/fonts/fontawesome/fa-solid-900.ttf and /dev/null differ diff --git a/public/fonts/fontawesome/fa-solid-900.woff b/public/fonts/fontawesome/fa-solid-900.woff deleted file mode 100644 index 2090c73479..0000000000 Binary files a/public/fonts/fontawesome/fa-solid-900.woff and /dev/null differ diff --git a/public/fonts/fontawesome/fa-solid-900.woff2 b/public/fonts/fontawesome/fa-solid-900.woff2 deleted file mode 100644 index a9f37fd136..0000000000 Binary files a/public/fonts/fontawesome/fa-solid-900.woff2 and /dev/null differ diff --git a/public/fonts/fontawesome/fa-v4compatibility.ttf b/public/fonts/fontawesome/fa-v4compatibility.ttf deleted file mode 100644 index 4c4c5b3ee3..0000000000 Binary files a/public/fonts/fontawesome/fa-v4compatibility.ttf and /dev/null differ diff --git a/public/fonts/fontawesome/fa-v4compatibility.woff2 b/public/fonts/fontawesome/fa-v4compatibility.woff2 deleted file mode 100644 index 507a2ff51c..0000000000 Binary files a/public/fonts/fontawesome/fa-v4compatibility.woff2 and /dev/null differ diff --git a/public/scss/_bootstrap.scss b/public/scss/_bootstrap.scss deleted file mode 100644 index 89e3855109..0000000000 --- a/public/scss/_bootstrap.scss +++ /dev/null @@ -1,56 +0,0 @@ -/*! - * Bootstrap v3.4.1 (https://getbootstrap.com/) - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ - -// Core variables and mixins -@import "bootstrap/variables"; -@import "bootstrap/mixins"; - -// Reset and dependencies -@import "bootstrap/normalize"; -@import "bootstrap/print"; -@import "bootstrap/glyphicons"; - -// Core CSS -@import "bootstrap/scaffolding"; -@import "bootstrap/type"; -@import "bootstrap/code"; -@import "bootstrap/grid"; -@import "bootstrap/tables"; -@import "bootstrap/forms"; -@import "bootstrap/buttons"; - -// Components -@import "bootstrap/component-animations"; -@import "bootstrap/dropdowns"; -@import "bootstrap/button-groups"; -@import "bootstrap/input-groups"; -@import "bootstrap/navs"; -@import "bootstrap/navbar"; -@import "bootstrap/breadcrumbs"; -@import "bootstrap/pagination"; -@import "bootstrap/pager"; -@import "bootstrap/labels"; -@import "bootstrap/badges"; -@import "bootstrap/jumbotron"; -@import "bootstrap/thumbnails"; -@import "bootstrap/alerts"; -@import "bootstrap/progress-bars"; -@import "bootstrap/media"; -@import "bootstrap/list-group"; -@import "bootstrap/panels"; -@import "bootstrap/responsive-embed"; -@import "bootstrap/wells"; -@import "bootstrap/close"; - -// Components w/ JavaScript -@import "bootstrap/modals"; -@import "bootstrap/tooltip"; -@import "bootstrap/popovers"; -@import "bootstrap/carousel"; - -// Utility classes -@import "bootstrap/utilities"; -@import "bootstrap/responsive-utilities"; diff --git a/public/scss/bootstrap/_alerts.scss b/public/scss/bootstrap/_alerts.scss deleted file mode 100644 index f9e69bd084..0000000000 --- a/public/scss/bootstrap/_alerts.scss +++ /dev/null @@ -1,73 +0,0 @@ -// -// Alerts -// -------------------------------------------------- - - -// Base styles -// ------------------------- - -.alert { - padding: $alert-padding; - margin-bottom: $line-height-computed; - border: 1px solid transparent; - border-radius: $alert-border-radius; - - // Headings for larger alerts - h4 { - margin-top: 0; - color: inherit; // Specified for the h4 to prevent conflicts of changing $headings-color - } - - // Provide class for links that match alerts - .alert-link { - font-weight: $alert-link-font-weight; - } - - // Improve alignment and spacing of inner content - > p, - > ul { - margin-bottom: 0; - } - - > p + p { - margin-top: 5px; - } -} - -// Dismissible alerts -// -// Expand the right padding and account for the close button's positioning. - -// The misspelled .alert-dismissable was deprecated in 3.2.0. -.alert-dismissable, -.alert-dismissible { - padding-right: ($alert-padding + 20); - - // Adjust close link position - .close { - position: relative; - top: -2px; - right: -21px; - color: inherit; - } -} - -// Alternate styles -// -// Generate contextual modifier classes for colorizing the alert. - -.alert-success { - @include alert-variant($alert-success-bg, $alert-success-border, $alert-success-text); -} - -.alert-info { - @include alert-variant($alert-info-bg, $alert-info-border, $alert-info-text); -} - -.alert-warning { - @include alert-variant($alert-warning-bg, $alert-warning-border, $alert-warning-text); -} - -.alert-danger { - @include alert-variant($alert-danger-bg, $alert-danger-border, $alert-danger-text); -} diff --git a/public/scss/bootstrap/_badges.scss b/public/scss/bootstrap/_badges.scss deleted file mode 100644 index 44d5dd6f4b..0000000000 --- a/public/scss/bootstrap/_badges.scss +++ /dev/null @@ -1,68 +0,0 @@ -// -// Badges -// -------------------------------------------------- - - -// Base class -.badge { - display: inline-block; - min-width: 10px; - padding: 3px 7px; - font-size: $font-size-small; - font-weight: $badge-font-weight; - line-height: $badge-line-height; - color: $badge-color; - text-align: center; - white-space: nowrap; - vertical-align: middle; - background-color: $badge-bg; - border-radius: $badge-border-radius; - - // Empty badges collapse automatically (not available in IE8) - &:empty { - display: none; - } - - // Quick fix for badges in buttons - .btn & { - position: relative; - top: -1px; - } - - .btn-xs &, - .btn-group-xs > .btn & { - top: 0; - padding: 1px 5px; - } - - // [converter] extracted a& to a.badge - - // Account for badges in navs - .list-group-item.active > &, - .nav-pills > .active > a > & { - color: $badge-active-color; - background-color: $badge-active-bg; - } - - .list-group-item > & { - float: right; - } - - .list-group-item > & + & { - margin-right: 5px; - } - - .nav-pills > li > a > & { - margin-left: 3px; - } -} - -// Hover state, but only for links -a.badge { - &:hover, - &:focus { - color: $badge-link-hover-color; - text-decoration: none; - cursor: pointer; - } -} diff --git a/public/scss/bootstrap/_breadcrumbs.scss b/public/scss/bootstrap/_breadcrumbs.scss deleted file mode 100644 index 67e39d909a..0000000000 --- a/public/scss/bootstrap/_breadcrumbs.scss +++ /dev/null @@ -1,28 +0,0 @@ -// -// Breadcrumbs -// -------------------------------------------------- - - -.breadcrumb { - padding: $breadcrumb-padding-vertical $breadcrumb-padding-horizontal; - margin-bottom: $line-height-computed; - list-style: none; - background-color: $breadcrumb-bg; - border-radius: $border-radius-base; - - > li { - display: inline-block; - - + li:before { - padding: 0 5px; - color: $breadcrumb-color; - // [converter] Workaround for https://github.com/sass/libsass/issues/1115 - $nbsp: "\00a0"; - content: "#{$breadcrumb-separator}#{$nbsp}"; // Unicode space added since inline-block means non-collapsing white-space - } - } - - > .active { - color: $breadcrumb-active-color; - } -} diff --git a/public/scss/bootstrap/_button-groups.scss b/public/scss/bootstrap/_button-groups.scss deleted file mode 100644 index 6a62faf5df..0000000000 --- a/public/scss/bootstrap/_button-groups.scss +++ /dev/null @@ -1,244 +0,0 @@ -// -// Button groups -// -------------------------------------------------- - -// Make the div behave like a button -.btn-group, -.btn-group-vertical { - position: relative; - display: inline-block; - vertical-align: middle; // match .btn alignment given font-size hack above - > .btn { - position: relative; - float: left; - // Bring the "active" button to the front - &:hover, - &:focus, - &:active, - &.active { - z-index: 2; - } - } -} - -// Prevent double borders when buttons are next to each other -.btn-group { - .btn + .btn, - .btn + .btn-group, - .btn-group + .btn, - .btn-group + .btn-group { - margin-left: -1px; - } -} - -// Optional: Group multiple button groups together for a toolbar -.btn-toolbar { - margin-left: -5px; // Offset the first child's margin - @include clearfix; - - .btn, - .btn-group, - .input-group { - float: left; - } - > .btn, - > .btn-group, - > .input-group { - margin-left: 5px; - } -} - -.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { - border-radius: 0; -} - -// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match -.btn-group > .btn:first-child { - margin-left: 0; - &:not(:last-child):not(.dropdown-toggle) { - @include border-right-radius(0); - } -} -// Need .dropdown-toggle since :last-child doesn't apply, given that a .dropdown-menu is used immediately after it -.btn-group > .btn:last-child:not(:first-child), -.btn-group > .dropdown-toggle:not(:first-child) { - @include border-left-radius(0); -} - -// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group) -.btn-group > .btn-group { - float: left; -} -.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0; -} -.btn-group > .btn-group:first-child:not(:last-child) { - > .btn:last-child, - > .dropdown-toggle { - @include border-right-radius(0); - } -} -.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { - @include border-left-radius(0); -} - -// On active and open, don't show outline -.btn-group .dropdown-toggle:active, -.btn-group.open .dropdown-toggle { - outline: 0; -} - - -// Sizing -// -// Remix the default button sizing classes into new ones for easier manipulation. - -.btn-group-xs > .btn { @extend .btn-xs; } -.btn-group-sm > .btn { @extend .btn-sm; } -.btn-group-lg > .btn { @extend .btn-lg; } - - -// Split button dropdowns -// ---------------------- - -// Give the line between buttons some depth -.btn-group > .btn + .dropdown-toggle { - padding-right: 8px; - padding-left: 8px; -} -.btn-group > .btn-lg + .dropdown-toggle { - padding-right: 12px; - padding-left: 12px; -} - -// The clickable button for toggling the menu -// Remove the gradient and set the same inset shadow as the :active state -.btn-group.open .dropdown-toggle { - @include box-shadow(inset 0 3px 5px rgba(0, 0, 0, .125)); - - // Show no shadow for `.btn-link` since it has no other button styles. - &.btn-link { - @include box-shadow(none); - } -} - - -// Reposition the caret -.btn .caret { - margin-left: 0; -} -// Carets in other button sizes -.btn-lg .caret { - border-width: $caret-width-large $caret-width-large 0; - border-bottom-width: 0; -} -// Upside down carets for .dropup -.dropup .btn-lg .caret { - border-width: 0 $caret-width-large $caret-width-large; -} - - -// Vertical button groups -// ---------------------- - -.btn-group-vertical { - > .btn, - > .btn-group, - > .btn-group > .btn { - display: block; - float: none; - width: 100%; - max-width: 100%; - } - - // Clear floats so dropdown menus can be properly placed - > .btn-group { - @include clearfix; - > .btn { - float: none; - } - } - - > .btn + .btn, - > .btn + .btn-group, - > .btn-group + .btn, - > .btn-group + .btn-group { - margin-top: -1px; - margin-left: 0; - } -} - -.btn-group-vertical > .btn { - &:not(:first-child):not(:last-child) { - border-radius: 0; - } - &:first-child:not(:last-child) { - @include border-top-radius($btn-border-radius-base); - @include border-bottom-radius(0); - } - &:last-child:not(:first-child) { - @include border-top-radius(0); - @include border-bottom-radius($btn-border-radius-base); - } -} -.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0; -} -.btn-group-vertical > .btn-group:first-child:not(:last-child) { - > .btn:last-child, - > .dropdown-toggle { - @include border-bottom-radius(0); - } -} -.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { - @include border-top-radius(0); -} - - -// Justified button groups -// ---------------------- - -.btn-group-justified { - display: table; - width: 100%; - table-layout: fixed; - border-collapse: separate; - > .btn, - > .btn-group { - display: table-cell; - float: none; - width: 1%; - } - > .btn-group .btn { - width: 100%; - } - - > .btn-group .dropdown-menu { - left: auto; - } -} - - -// Checkbox and radio options -// -// In order to support the browser's form validation feedback, powered by the -// `required` attribute, we have to "hide" the inputs via `clip`. We cannot use -// `display: none;` or `visibility: hidden;` as that also hides the popover. -// Simply visually hiding the inputs via `opacity` would leave them clickable in -// certain cases which is prevented by using `clip` and `pointer-events`. -// This way, we ensure a DOM element is visible to position the popover from. -// -// See https://github.com/twbs/bootstrap/pull/12794 and -// https://github.com/twbs/bootstrap/pull/14559 for more information. - -[data-toggle="buttons"] { - > .btn, - > .btn-group > .btn { - input[type="radio"], - input[type="checkbox"] { - position: absolute; - clip: rect(0, 0, 0, 0); - pointer-events: none; - } - } -} diff --git a/public/scss/bootstrap/_buttons.scss b/public/scss/bootstrap/_buttons.scss deleted file mode 100644 index 62962d786a..0000000000 --- a/public/scss/bootstrap/_buttons.scss +++ /dev/null @@ -1,168 +0,0 @@ -// -// Buttons -// -------------------------------------------------- - - -// Base styles -// -------------------------------------------------- - -.btn { - display: inline-block; - margin-bottom: 0; // For input.btn - font-weight: $btn-font-weight; - text-align: center; - white-space: nowrap; - vertical-align: middle; - touch-action: manipulation; - cursor: pointer; - background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 - border: 1px solid transparent; - @include button-size($padding-base-vertical, $padding-base-horizontal, $font-size-base, $line-height-base, $btn-border-radius-base); - @include user-select(none); - - &, - &:active, - &.active { - &:focus, - &.focus { - @include tab-focus; - } - } - - &:hover, - &:focus, - &.focus { - color: $btn-default-color; - text-decoration: none; - } - - &:active, - &.active { - background-image: none; - outline: 0; - @include box-shadow(inset 0 3px 5px rgba(0, 0, 0, .125)); - } - - &.disabled, - &[disabled], - fieldset[disabled] & { - cursor: $cursor-disabled; - @include opacity(.65); - @include box-shadow(none); - } - - // [converter] extracted a& to a.btn -} - -a.btn { - &.disabled, - fieldset[disabled] & { - pointer-events: none; // Future-proof disabling of clicks on `` elements - } -} - - -// Alternate buttons -// -------------------------------------------------- - -.btn-default { - @include button-variant($btn-default-color, $btn-default-bg, $btn-default-border); -} -.btn-primary { - @include button-variant($btn-primary-color, $btn-primary-bg, $btn-primary-border); -} -// Success appears as green -.btn-success { - @include button-variant($btn-success-color, $btn-success-bg, $btn-success-border); -} -// Info appears as blue-green -.btn-info { - @include button-variant($btn-info-color, $btn-info-bg, $btn-info-border); -} -// Warning appears as orange -.btn-warning { - @include button-variant($btn-warning-color, $btn-warning-bg, $btn-warning-border); -} -// Danger and error appear as red -.btn-danger { - @include button-variant($btn-danger-color, $btn-danger-bg, $btn-danger-border); -} - - -// Link buttons -// ------------------------- - -// Make a button look and behave like a link -.btn-link { - font-weight: 400; - color: $link-color; - border-radius: 0; - - &, - &:active, - &.active, - &[disabled], - fieldset[disabled] & { - background-color: transparent; - @include box-shadow(none); - } - &, - &:hover, - &:focus, - &:active { - border-color: transparent; - } - &:hover, - &:focus { - color: $link-hover-color; - text-decoration: $link-hover-decoration; - background-color: transparent; - } - &[disabled], - fieldset[disabled] & { - &:hover, - &:focus { - color: $btn-link-disabled-color; - text-decoration: none; - } - } -} - - -// Button Sizes -// -------------------------------------------------- - -.btn-lg { - // line-height: ensure even-numbered height of button next to large input - @include button-size($padding-large-vertical, $padding-large-horizontal, $font-size-large, $line-height-large, $btn-border-radius-large); -} -.btn-sm { - // line-height: ensure proper height of button next to small input - @include button-size($padding-small-vertical, $padding-small-horizontal, $font-size-small, $line-height-small, $btn-border-radius-small); -} -.btn-xs { - @include button-size($padding-xs-vertical, $padding-xs-horizontal, $font-size-small, $line-height-small, $btn-border-radius-small); -} - - -// Block button -// -------------------------------------------------- - -.btn-block { - display: block; - width: 100%; -} - -// Vertically space out multiple block buttons -.btn-block + .btn-block { - margin-top: 5px; -} - -// Specificity overrides -input[type="submit"], -input[type="reset"], -input[type="button"] { - &.btn-block { - width: 100%; - } -} diff --git a/public/scss/bootstrap/_carousel.scss b/public/scss/bootstrap/_carousel.scss deleted file mode 100644 index 1ddc02da19..0000000000 --- a/public/scss/bootstrap/_carousel.scss +++ /dev/null @@ -1,273 +0,0 @@ -// -// Carousel -// -------------------------------------------------- - - -// Wrapper for the slide container and indicators -@use "sass:math"; - -.carousel { - position: relative; -} - -.carousel-inner { - position: relative; - width: 100%; - overflow: hidden; - - > .item { - position: relative; - display: none; - @include transition(.6s ease-in-out left); - - // Account for jankitude on images - > img, - > a > img { - @include img-responsive; - line-height: 1; - } - - // WebKit CSS3 transforms for supported devices - @media all and (transform-3d), (-webkit-transform-3d) { - @include transition-transform(0.6s ease-in-out); - @include backface-visibility(hidden); - @include perspective(1000px); - - &.next, - &.active.right { - @include translate3d(100%, 0, 0); - left: 0; - } - &.prev, - &.active.left { - @include translate3d(-100%, 0, 0); - left: 0; - } - &.next.left, - &.prev.right, - &.active { - @include translate3d(0, 0, 0); - left: 0; - } - } - } - - > .active, - > .next, - > .prev { - display: block; - } - - > .active { - left: 0; - } - - > .next, - > .prev { - position: absolute; - top: 0; - width: 100%; - } - - > .next { - left: 100%; - } - > .prev { - left: -100%; - } - > .next.left, - > .prev.right { - left: 0; - } - - > .active.left { - left: -100%; - } - > .active.right { - left: 100%; - } - -} - -// Left/right controls for nav -// --------------------------- - -.carousel-control { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: $carousel-control-width; - font-size: $carousel-control-font-size; - color: $carousel-control-color; - text-align: center; - text-shadow: $carousel-text-shadow; - background-color: rgba(0, 0, 0, 0); // Fix IE9 click-thru bug - @include opacity($carousel-control-opacity); - // We can't have this transition here because WebKit cancels the carousel - // animation if you trip this while in the middle of another animation. - - // Set gradients for backgrounds - &.left { - @include gradient-horizontal($start-color: rgba(0, 0, 0, .5), $end-color: rgba(0, 0, 0, .0001)); - } - &.right { - right: 0; - left: auto; - @include gradient-horizontal($start-color: rgba(0, 0, 0, .0001), $end-color: rgba(0, 0, 0, .5)); - } - - // Hover/focus state - &:hover, - &:focus { - color: $carousel-control-color; - text-decoration: none; - outline: 0; - @include opacity(.9); - } - - // Toggles - .icon-prev, - .icon-next, - .glyphicon-chevron-left, - .glyphicon-chevron-right { - position: absolute; - top: 50%; - z-index: 5; - display: inline-block; - margin-top: -10px; - } - .icon-prev, - .glyphicon-chevron-left { - left: 50%; - margin-left: -10px; - } - .icon-next, - .glyphicon-chevron-right { - right: 50%; - margin-right: -10px; - } - .icon-prev, - .icon-next { - width: 20px; - height: 20px; - font-family: serif; - line-height: 1; - } - - .icon-prev { - &:before { - content: "\2039";// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039) - } - } - .icon-next { - &:before { - content: "\203a";// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A) - } - } -} - -// Optional indicator pips -// -// Add an unordered list with the following class and add a list item for each -// slide your carousel holds. - -.carousel-indicators { - position: absolute; - bottom: 10px; - left: 50%; - z-index: 15; - width: 60%; - padding-left: 0; - margin-left: -30%; - text-align: center; - list-style: none; - - li { - display: inline-block; - width: 10px; - height: 10px; - margin: 1px; - text-indent: -999px; - cursor: pointer; - // IE8-9 hack for event handling - // - // Internet Explorer 8-9 does not support clicks on elements without a set - // `background-color`. We cannot use `filter` since that's not viewed as a - // background color by the browser. Thus, a hack is needed. - // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer - // - // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we - // set alpha transparency for the best results possible. - background-color: #000 \9; // IE8 - background-color: rgba(0, 0, 0, 0); // IE9 - - border: 1px solid $carousel-indicator-border-color; - border-radius: 10px; - } - - .active { - width: 12px; - height: 12px; - margin: 0; - background-color: $carousel-indicator-active-bg; - } -} - -// Optional captions -// ----------------------------- -// Hidden by default for smaller viewports -.carousel-caption { - position: absolute; - right: 15%; - bottom: 20px; - left: 15%; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: $carousel-caption-color; - text-align: center; - text-shadow: $carousel-text-shadow; - - & .btn { - text-shadow: none; // No shadow for button elements in carousel-caption - } -} - - -// Scale up controls for tablets and up -@media screen and (min-width: $screen-sm-min) { - - // Scale up the controls a smidge - .carousel-control { - .glyphicon-chevron-left, - .glyphicon-chevron-right, - .icon-prev, - .icon-next { - width: ($carousel-control-font-size * 1.5); - height: ($carousel-control-font-size * 1.5); - margin-top: math.div($carousel-control-font-size, -2); - font-size: ($carousel-control-font-size * 1.5); - } - .glyphicon-chevron-left, - .icon-prev { - margin-left: math.div($carousel-control-font-size, -2); - } - .glyphicon-chevron-right, - .icon-next { - margin-right: math.div($carousel-control-font-size, -2); - } - } - - // Show and left align the captions - .carousel-caption { - right: 20%; - left: 20%; - padding-bottom: 30px; - } - - // Move up the indicators - .carousel-indicators { - bottom: 20px; - } -} diff --git a/public/scss/bootstrap/_close.scss b/public/scss/bootstrap/_close.scss deleted file mode 100644 index a858a8f367..0000000000 --- a/public/scss/bootstrap/_close.scss +++ /dev/null @@ -1,37 +0,0 @@ -// -// Close icons -// -------------------------------------------------- - - -.close { - float: right; - font-size: ($font-size-base * 1.5); - font-weight: $close-font-weight; - line-height: 1; - color: $close-color; - text-shadow: $close-text-shadow; - @include opacity(.2); - - &:hover, - &:focus { - color: $close-color; - text-decoration: none; - cursor: pointer; - @include opacity(.5); - } - - // [converter] extracted button& to button.close -} - -// Additional properties for button version -// iOS requires the button element instead of an anchor tag. -// If you want the anchor version, it requires `href="#"`. -// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile -button.close { - padding: 0; - cursor: pointer; - background: transparent; - border: 0; - -webkit-appearance: none; - appearance: none; -} diff --git a/public/scss/bootstrap/_code.scss b/public/scss/bootstrap/_code.scss deleted file mode 100644 index 01ea7cf3fc..0000000000 --- a/public/scss/bootstrap/_code.scss +++ /dev/null @@ -1,71 +0,0 @@ -@use "sass:math"; - -// -// Code (inline and block) -// -------------------------------------------------- - - -// Inline and block code styles -code, -kbd, -pre, -samp { - font-family: $font-family-monospace; -} - -// Inline code -code { - padding: 2px 4px; - font-size: 90%; - color: $code-color; - background-color: $code-bg; - border-radius: $border-radius-base; -} - -// User input typically entered via keyboard -kbd { - padding: 2px 4px; - font-size: 90%; - color: $kbd-color; - background-color: $kbd-bg; - border-radius: $border-radius-small; - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); - - kbd { - padding: 0; - font-size: 100%; - font-weight: 700; - box-shadow: none; - } -} - -// Blocks of code -pre { - display: block; - padding: math.div(($line-height-computed - 1), 2); - margin: 0 0 math.div($line-height-computed, 2); - font-size: ($font-size-base - 1); // 14px to 13px - line-height: $line-height-base; - color: $pre-color; - word-break: break-all; - word-wrap: break-word; - background-color: $pre-bg; - border: 1px solid $pre-border-color; - border-radius: $border-radius-base; - - // Account for some code outputs that place code tags in pre tags - code { - padding: 0; - font-size: inherit; - color: inherit; - white-space: pre-wrap; - background-color: transparent; - border-radius: 0; - } -} - -// Enable scrollable blocks of code -.pre-scrollable { - max-height: $pre-scrollable-max-height; - overflow-y: scroll; -} diff --git a/public/scss/bootstrap/_component-animations.scss b/public/scss/bootstrap/_component-animations.scss deleted file mode 100644 index ca4d6b0682..0000000000 --- a/public/scss/bootstrap/_component-animations.scss +++ /dev/null @@ -1,38 +0,0 @@ -// -// Component animations -// -------------------------------------------------- - -// Heads up! -// -// We don't use the `.opacity()` mixin here since it causes a bug with text -// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552. - -.fade { - opacity: 0; - @include transition(opacity .15s linear); - - &.in { - opacity: 1; - } -} - -.collapse { - display: none; - - &.in { display: block; } - // [converter] extracted tr&.in to tr.collapse.in - // [converter] extracted tbody&.in to tbody.collapse.in -} - -tr.collapse.in { display: table-row; } - -tbody.collapse.in { display: table-row-group; } - -.collapsing { - position: relative; - height: 0; - overflow: hidden; - @include transition-property(height, visibility); - @include transition-duration(.35s); - @include transition-timing-function(ease); -} diff --git a/public/scss/bootstrap/_dropdowns.scss b/public/scss/bootstrap/_dropdowns.scss deleted file mode 100644 index 0a5898a8d0..0000000000 --- a/public/scss/bootstrap/_dropdowns.scss +++ /dev/null @@ -1,213 +0,0 @@ -// -// Dropdown menus -// -------------------------------------------------- - - -// Dropdown arrow/caret -.caret { - display: inline-block; - width: 0; - height: 0; - margin-left: 2px; - vertical-align: middle; - border-top: $caret-width-base dashed; - border-top: $caret-width-base solid \9; // IE8 - border-right: $caret-width-base solid transparent; - border-left: $caret-width-base solid transparent; -} - -// The dropdown wrapper (div) -.dropup, -.dropdown { - position: relative; -} - -// Prevent the focus on the dropdown toggle when closing dropdowns -.dropdown-toggle:focus { - outline: 0; -} - -// The dropdown menu (ul) -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: $zindex-dropdown; - display: none; // none by default, but block on "open" of the menu - float: left; - min-width: 160px; - padding: 5px 0; - margin: 2px 0 0; // override default ul - font-size: $font-size-base; - text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer) - list-style: none; - background-color: $dropdown-bg; - background-clip: padding-box; - border: 1px solid $dropdown-fallback-border; // IE8 fallback - border: 1px solid $dropdown-border; - border-radius: $border-radius-base; - @include box-shadow(0 6px 12px rgba(0, 0, 0, .175)); - - // Aligns the dropdown menu to right - // - // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]` - &.pull-right { - right: 0; - left: auto; - } - - // Dividers (basically an hr) within the dropdown - .divider { - @include nav-divider($dropdown-divider-bg); - } - - // Links within the dropdown menu - > li > a { - display: block; - padding: 3px 20px; - clear: both; - font-weight: 400; - line-height: $line-height-base; - color: $dropdown-link-color; - white-space: nowrap; // prevent links from randomly breaking onto new lines - - &:hover, - &:focus { - color: $dropdown-link-hover-color; - text-decoration: none; - background-color: $dropdown-link-hover-bg; - } - } -} - -// Active state -.dropdown-menu > .active > a { - &, - &:hover, - &:focus { - color: $dropdown-link-active-color; - text-decoration: none; - background-color: $dropdown-link-active-bg; - outline: 0; - } -} - -// Disabled state -// -// Gray out text and ensure the hover/focus state remains gray - -.dropdown-menu > .disabled > a { - &, - &:hover, - &:focus { - color: $dropdown-link-disabled-color; - } - - // Nuke hover/focus effects - &:hover, - &:focus { - text-decoration: none; - cursor: $cursor-disabled; - background-color: transparent; - background-image: none; // Remove CSS gradient - @include reset-filter; - } -} - -// Open state for the dropdown -.open { - // Show the menu - > .dropdown-menu { - display: block; - } - - // Remove the outline when :focus is triggered - > a { - outline: 0; - } -} - -// Menu positioning -// -// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown -// menu with the parent. -.dropdown-menu-right { - right: 0; - left: auto; // Reset the default from `.dropdown-menu` -} -// With v3, we enabled auto-flipping if you have a dropdown within a right -// aligned nav component. To enable the undoing of that, we provide an override -// to restore the default dropdown menu alignment. -// -// This is only for left-aligning a dropdown menu within a `.navbar-right` or -// `.pull-right` nav component. -.dropdown-menu-left { - right: auto; - left: 0; -} - -// Dropdown section headers -.dropdown-header { - display: block; - padding: 3px 20px; - font-size: $font-size-small; - line-height: $line-height-base; - color: $dropdown-header-color; - white-space: nowrap; // as with > li > a -} - -// Backdrop to catch body clicks on mobile, etc. -.dropdown-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: ($zindex-dropdown - 10); -} - -// Right aligned dropdowns -.pull-right > .dropdown-menu { - right: 0; - left: auto; -} - -// Allow for dropdowns to go bottom up (aka, dropup-menu) -// -// Just add .dropup after the standard .dropdown class and you're set, bro. -// TODO: abstract this so that the navbar fixed styles are not placed here? - -.dropup, -.navbar-fixed-bottom .dropdown { - // Reverse the caret - .caret { - content: ""; - border-top: 0; - border-bottom: $caret-width-base dashed; - border-bottom: $caret-width-base solid \9; // IE8 - } - // Different positioning for bottom up menu - .dropdown-menu { - top: auto; - bottom: 100%; - margin-bottom: 2px; - } -} - - -// Component alignment -// -// Reiterate per navbar.less and the modified component alignment there. - -@media (min-width: $grid-float-breakpoint) { - .navbar-right { - .dropdown-menu { - right: 0; left: auto; - } - // Necessary for overrides of the default right aligned menu. - // Will remove come v4 in all likelihood. - .dropdown-menu-left { - left: 0; right: auto; - } - } -} diff --git a/public/scss/bootstrap/_forms.scss b/public/scss/bootstrap/_forms.scss deleted file mode 100644 index 4c501fd0d5..0000000000 --- a/public/scss/bootstrap/_forms.scss +++ /dev/null @@ -1,607 +0,0 @@ -// -// Forms -// -------------------------------------------------- - - -// Normalize non-controls -// -// Restyle and baseline non-control form elements. - -fieldset { - // Chrome and Firefox set a `min-width: min-content;` on fieldsets, - // so we reset that to ensure it behaves more like a standard block element. - // See https://github.com/twbs/bootstrap/issues/12359. - min-width: 0; - padding: 0; - margin: 0; - border: 0; -} - -legend { - display: block; - width: 100%; - padding: 0; - margin-bottom: $line-height-computed; - font-size: ($font-size-base * 1.5); - line-height: inherit; - color: $legend-color; - border: 0; - border-bottom: 1px solid $legend-border-color; -} - -label { - display: inline-block; - max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141) - margin-bottom: 5px; - font-weight: 700; -} - - -// Normalize form controls -// -// While most of our form styles require extra classes, some basic normalization -// is required to ensure optimum display with or without those classes to better -// address browser inconsistencies. - -input[type="search"] { - // Override content-box in Normalize (* isn't specific enough) - @include box-sizing(border-box); - - // Search inputs in iOS - // - // This overrides the extra rounded corners on search inputs in iOS so that our - // `.form-control` class can properly style them. Note that this cannot simply - // be added to `.form-control` as it's not specific enough. For details, see - // https://github.com/twbs/bootstrap/issues/11586. - -webkit-appearance: none; - appearance: none; -} - -// Position radios and checkboxes better -input[type="radio"], -input[type="checkbox"] { - margin: 4px 0 0; - margin-top: 1px \9; // IE8-9 - line-height: normal; - - // Apply same disabled cursor tweak as for inputs - // Some special care is needed because