reorganizing build scripts
This commit is contained in:
parent
633c1e87e8
commit
b894b60b65
430 changed files with 136 additions and 53943 deletions
20
.gitignore
vendored
20
.gitignore
vendored
|
|
@ -1,4 +1,10 @@
|
||||||
.env.production
|
.env.production
|
||||||
|
staticfiles/*
|
||||||
|
!staticfiles/.gitkeep
|
||||||
|
seed/0004_TestUsers.json
|
||||||
|
seed/0005_TradeOffers.json
|
||||||
|
media/trade_offers
|
||||||
|
|
||||||
# OSX #
|
# OSX #
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
|
||||||
|
|
@ -10,7 +16,6 @@ __pycache__/
|
||||||
# Django #
|
# Django #
|
||||||
*.log
|
*.log
|
||||||
db.sqlite3
|
db.sqlite3
|
||||||
media
|
|
||||||
|
|
||||||
# Virtual environment
|
# Virtual environment
|
||||||
.venv
|
.venv
|
||||||
|
|
@ -90,13 +95,6 @@ web_modules/
|
||||||
# Yarn Integrity file
|
# Yarn Integrity file
|
||||||
.yarn-integrity
|
.yarn-integrity
|
||||||
|
|
||||||
# dotenv environment variable files
|
|
||||||
.env
|
|
||||||
.env.development.local
|
|
||||||
.env.test.local
|
|
||||||
.env.production.local
|
|
||||||
.env.local
|
|
||||||
|
|
||||||
# parcel-bundler cache (https://parceljs.org/)
|
# parcel-bundler cache (https://parceljs.org/)
|
||||||
.cache
|
.cache
|
||||||
.parcel-cache
|
.parcel-cache
|
||||||
|
|
@ -284,7 +282,6 @@ celerybeat.pid
|
||||||
*.sage.py
|
*.sage.py
|
||||||
|
|
||||||
# Environments
|
# Environments
|
||||||
.env
|
|
||||||
.venv
|
.venv
|
||||||
env/
|
env/
|
||||||
venv/
|
venv/
|
||||||
|
|
@ -327,7 +324,4 @@ cython_debug/
|
||||||
.ruff_cache/
|
.ruff_cache/
|
||||||
|
|
||||||
# PyPI configuration file
|
# PyPI configuration file
|
||||||
.pypirc
|
.pypirc
|
||||||
|
|
||||||
## Fly.io
|
|
||||||
fly.toml
|
|
||||||
14
.vscode/tasks.json
vendored
14
.vscode/tasks.json
vendored
|
|
@ -4,13 +4,19 @@
|
||||||
{
|
{
|
||||||
"label": "Reset DB, Make Migrations, And Seed Data",
|
"label": "Reset DB, Make Migrations, And Seed Data",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"command": "./reset-db_make-migrations_seed-data.sh",
|
"command": "./scripts/reset-db_make-migrations_seed-data.sh",
|
||||||
"problemMatcher": []
|
"problemMatcher": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "Run app & db",
|
"label": "Run app & db (db in docker)",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"command": "./entrypoint.sh",
|
"command": "./scripts/entrypoint.sh",
|
||||||
|
"problemMatcher": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Run app & db (both in Docker)",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "docker compose -f docker-compose_entire_app.yml up -d",
|
||||||
"problemMatcher": []
|
"problemMatcher": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -22,7 +28,7 @@
|
||||||
{
|
{
|
||||||
"label": "Run db",
|
"label": "Run db",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"command": "docker compose up -d",
|
"command": "docker compose -f docker-compose_db_only.yml up -d",
|
||||||
"problemMatcher": []
|
"problemMatcher": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -29,9 +29,5 @@ RUN playwright install-deps && playwright install
|
||||||
# Expose port 8000
|
# Expose port 8000
|
||||||
EXPOSE 8000
|
EXPOSE 8000
|
||||||
|
|
||||||
RUN python manage.py collectstatic --noinput
|
|
||||||
|
|
||||||
#RUN python manage.py loaddata seed/* && python manage.py createcachetable django_cache
|
|
||||||
|
|
||||||
# Use gunicorn on port 8000
|
# Use gunicorn on port 8000
|
||||||
CMD ["gunicorn", "--bind", ":8000", "django_project.wsgi", "--timeout", "300"]
|
CMD ["gunicorn", "--bind", ":8000", "django_project.wsgi", "--timeout", "300"]
|
||||||
|
|
|
||||||
1
LICENSE
1
LICENSE
|
|
@ -1,3 +1,4 @@
|
||||||
|
pkmntrade.club: Copyright (c) 2025 Rob Hubble
|
||||||
djangox: Copyright (c) 2020 William Vincent
|
djangox: Copyright (c) 2020 William Vincent
|
||||||
django-allauth: Copyright (c) 2010 Raymond Penners and contributors
|
django-allauth: Copyright (c) 2010 Raymond Penners and contributors
|
||||||
cookie-cutter-django: Copyright (c) 2013-2020 Daniel Greenfeld
|
cookie-cutter-django: Copyright (c) 2013-2020 Daniel Greenfeld
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# Generated by Django 5.1.2 on 2025-04-14 20:58
|
# Generated by Django 5.1.2 on 2025-04-17 23:12
|
||||||
|
|
||||||
import accounts.models
|
import accounts.models
|
||||||
import django.contrib.auth.models
|
import django.contrib.auth.models
|
||||||
|
|
@ -33,7 +33,7 @@ class Migration(migrations.Migration):
|
||||||
('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')),
|
('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')),
|
||||||
('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),
|
('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),
|
||||||
('show_friend_code_on_link_previews', models.BooleanField(default=False, help_text='This will primarily affect share link previews on X, Discord, etc.', verbose_name='Show Friend Code on Link Previews')),
|
('show_friend_code_on_link_previews', models.BooleanField(default=False, help_text='This will primarily affect share link previews on X, Discord, etc.', verbose_name='Show Friend Code on Link Previews')),
|
||||||
('enable_email_notifications', models.BooleanField(default=True, help_text='Receive new trade notifications via email.', verbose_name='Enable Email Notifications')),
|
('enable_email_notifications', models.BooleanField(default=True, help_text='Receive trade notifications via email.', verbose_name='Enable Email Notifications')),
|
||||||
('reputation_score', models.IntegerField(default=0)),
|
('reputation_score', models.IntegerField(default=0)),
|
||||||
('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.group', verbose_name='groups')),
|
('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.group', verbose_name='groups')),
|
||||||
('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.permission', verbose_name='user permissions')),
|
('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.permission', verbose_name='user permissions')),
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# Generated by Django 5.1.2 on 2025-04-14 20:58
|
# Generated by Django 5.1.2 on 2025-04-17 23:12
|
||||||
|
|
||||||
import django.db.models.deletion
|
import django.db.models.deletion
|
||||||
from django.db import migrations, models
|
from django.db import migrations, models
|
||||||
|
|
|
||||||
0
deploy.sh
Normal file → Executable file
0
deploy.sh
Normal file → Executable file
|
|
@ -1,6 +1,9 @@
|
||||||
|
import socket
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
import environ
|
import environ
|
||||||
import os
|
import os
|
||||||
|
import logging
|
||||||
|
import sys
|
||||||
|
|
||||||
env = environ.Env(
|
env = environ.Env(
|
||||||
DEBUG=(bool, False)
|
DEBUG=(bool, False)
|
||||||
|
|
@ -26,6 +29,31 @@ RESEND_API_KEY = env('RESEND_API_KEY')
|
||||||
# SECURITY WARNING: don't run with debug turned on in production!
|
# SECURITY WARNING: don't run with debug turned on in production!
|
||||||
DEBUG = env('DEBUG')
|
DEBUG = env('DEBUG')
|
||||||
|
|
||||||
|
LOGGING = {
|
||||||
|
'version': 1,
|
||||||
|
'disable_existing_loggers': False,
|
||||||
|
'formatters': {
|
||||||
|
'verbose': {
|
||||||
|
'format': '%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'handlers': {
|
||||||
|
'console': {
|
||||||
|
'level': 'WARN',
|
||||||
|
'class': 'logging.StreamHandler',
|
||||||
|
'stream': sys.stdout,
|
||||||
|
'formatter': 'verbose'
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'loggers': {
|
||||||
|
'': {
|
||||||
|
'handlers': ['console'],
|
||||||
|
'level': 'WARN',
|
||||||
|
'propagate': True,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
# https://docs.djangoproject.com/en/dev/ref/settings/#allowed-hosts
|
# https://docs.djangoproject.com/en/dev/ref/settings/#allowed-hosts
|
||||||
ALLOWED_HOSTS = env('ALLOWED_HOSTS').split(',')
|
ALLOWED_HOSTS = env('ALLOWED_HOSTS').split(',')
|
||||||
|
|
||||||
|
|
@ -83,7 +111,7 @@ MIDDLEWARE = [
|
||||||
]
|
]
|
||||||
|
|
||||||
DAISY_SETTINGS = {
|
DAISY_SETTINGS = {
|
||||||
'SITE_TITLE': 'PKMN Trade Club Admin',
|
'SITE_TITLE': 'PKMN Trade Club Admin',
|
||||||
'DONT_SUPPORT_ME': True,
|
'DONT_SUPPORT_ME': True,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -160,7 +188,7 @@ STATIC_ROOT = BASE_DIR / "staticfiles"
|
||||||
STATIC_URL = "/static/"
|
STATIC_URL = "/static/"
|
||||||
|
|
||||||
# https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/#std:setting-STATICFILES_DIRS
|
# https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/#std:setting-STATICFILES_DIRS
|
||||||
STATICFILES_DIRS = [BASE_DIR / "static"]
|
STATICFILES_DIRS = []
|
||||||
|
|
||||||
# https://docs.djangoproject.com/en/dev/ref/settings/#media-root
|
# https://docs.djangoproject.com/en/dev/ref/settings/#media-root
|
||||||
MEDIA_ROOT = BASE_DIR / "media"
|
MEDIA_ROOT = BASE_DIR / "media"
|
||||||
|
|
@ -205,8 +233,7 @@ INTERNAL_IPS = [
|
||||||
"127.0.0.1",
|
"127.0.0.1",
|
||||||
]
|
]
|
||||||
|
|
||||||
#for docker development
|
# for docker development
|
||||||
import socket
|
|
||||||
hostname, _, ips = socket.gethostbyname_ex(socket.gethostname())
|
hostname, _, ips = socket.gethostbyname_ex(socket.gethostname())
|
||||||
INTERNAL_IPS.append([ip[:-1] + "1" for ip in ips])
|
INTERNAL_IPS.append([ip[:-1] + "1" for ip in ips])
|
||||||
|
|
||||||
|
|
@ -241,60 +268,15 @@ ACCOUNT_USERNAME_MIN_LENGTH = 3
|
||||||
ACCOUNT_CHANGE_EMAIL = True
|
ACCOUNT_CHANGE_EMAIL = True
|
||||||
ACCOUNT_UNIQUE_EMAIL = True
|
ACCOUNT_UNIQUE_EMAIL = True
|
||||||
ACCOUNT_LOGIN_BY_CODE_ENABLED = True
|
ACCOUNT_LOGIN_BY_CODE_ENABLED = True
|
||||||
ACCOUNT_SIGNUP_FORM_HONEYPOT_FIELD = "signature"
|
ACCOUNT_SIGNUP_FORM_HONEYPOT_FIELD = "website"
|
||||||
ACCOUNT_USERNAME_REQUIRED = True
|
ACCOUNT_USERNAME_REQUIRED = True
|
||||||
ACCOUNT_FORMS = {
|
ACCOUNT_FORMS = {
|
||||||
"signup": "accounts.forms.CustomUserCreationForm",
|
"signup": "accounts.forms.CustomUserCreationForm",
|
||||||
}
|
}
|
||||||
SOCIALACCOUNT_EMAIL_AUTHENTICATION = True
|
SOCIALACCOUNT_EMAIL_AUTHENTICATION = False
|
||||||
SOCIALACCOUNT_EMAIL_AUTHENTICATION_AUTO_CONNECT = True
|
SOCIALACCOUNT_EMAIL_AUTHENTICATION_AUTO_CONNECT = False
|
||||||
SOCIALACCOUNT_ONLY = False
|
SOCIALACCOUNT_ONLY = False
|
||||||
|
|
||||||
# SOCIALACCOUNT_PROVIDERS = {
|
|
||||||
# "google": {
|
|
||||||
# # For each OAuth based provider, either add a ``SocialApp``
|
|
||||||
# # (``socialaccount`` app) containing the required client
|
|
||||||
# # credentials, or list them here:
|
|
||||||
# "APPS": [
|
|
||||||
# {
|
|
||||||
# "client_id": "123",
|
|
||||||
# "secret": "456",
|
|
||||||
# "key": ""
|
|
||||||
# },
|
|
||||||
# ],
|
|
||||||
# # These are provider-specific settings that can only be
|
|
||||||
# # listed here:
|
|
||||||
# "SCOPE": [
|
|
||||||
# "profile",
|
|
||||||
# "email",
|
|
||||||
# ],
|
|
||||||
# "AUTH_PARAMS": {
|
|
||||||
# "access_type": "offline",
|
|
||||||
# },
|
|
||||||
# },
|
|
||||||
# "openid_connect": {
|
|
||||||
# # Optional PKCE defaults to False, but may be required by your provider
|
|
||||||
# # Applies to all APPS.
|
|
||||||
# "OAUTH_PKCE_ENABLED": True,
|
|
||||||
# "APPS": [
|
|
||||||
# {
|
|
||||||
# "provider_id": "nintendo",
|
|
||||||
# "name": "Nintendo Account",
|
|
||||||
# "client_id": "your.service.id",
|
|
||||||
# "secret": "your.service.secret",
|
|
||||||
# "settings": {
|
|
||||||
# "server_url": "https://my.server.example.com",
|
|
||||||
# # Optional token endpoint authentication method.
|
|
||||||
# # May be one of "client_secret_basic", "client_secret_post"
|
|
||||||
# # If omitted, a method from the the server's
|
|
||||||
# # token auth methods list is used
|
|
||||||
# "token_auth_method": "client_secret_basic",
|
|
||||||
# },
|
|
||||||
# },
|
|
||||||
# ]
|
|
||||||
# }
|
|
||||||
# }
|
|
||||||
|
|
||||||
if DEBUG:
|
if DEBUG:
|
||||||
CACHES = {
|
CACHES = {
|
||||||
"default": {
|
"default": {
|
||||||
|
|
@ -307,4 +289,4 @@ else:
|
||||||
"BACKEND": "django.core.cache.backends.db.DatabaseCache",
|
"BACKEND": "django.core.cache.backends.db.DatabaseCache",
|
||||||
"LOCATION": "django_cache",
|
"LOCATION": "django_cache",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,4 @@
|
||||||
services:
|
services:
|
||||||
# web:
|
|
||||||
# build: .
|
|
||||||
# command: python /code/manage.py runserver 0.0.0.0:8000
|
|
||||||
# volumes:
|
|
||||||
# - .:/code:z
|
|
||||||
# ports:
|
|
||||||
# - 8000:8000
|
|
||||||
# depends_on:
|
|
||||||
# - db
|
|
||||||
db:
|
db:
|
||||||
image: postgres:16
|
image: postgres:16
|
||||||
ports:
|
ports:
|
||||||
|
|
@ -19,3 +10,5 @@ services:
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
postgres_data:
|
postgres_data:
|
||||||
|
labels:
|
||||||
|
- "db_is_resettable_via_script"
|
||||||
23
docker-compose_entire_app.yml
Normal file
23
docker-compose_entire_app.yml
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
services:
|
||||||
|
web:
|
||||||
|
build: .
|
||||||
|
command: python /code/manage.py runserver 0.0.0.0:8000
|
||||||
|
volumes:
|
||||||
|
- .:/code:z
|
||||||
|
ports:
|
||||||
|
- 8000:8000
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
db:
|
||||||
|
image: postgres:16
|
||||||
|
ports:
|
||||||
|
- 5432:5432
|
||||||
|
volumes:
|
||||||
|
- postgres_data:/var/lib/postgresql/data/
|
||||||
|
environment:
|
||||||
|
- "POSTGRES_HOST_AUTH_METHOD=trust"
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
postgres_data:
|
||||||
|
labels:
|
||||||
|
- "db_is_resettable_via_script"
|
||||||
39
fly.toml
Normal file
39
fly.toml
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
# fly.toml app configuration file generated for pocket-trade-dev on 2025-02-26T12:02:50-08:00
|
||||||
|
#
|
||||||
|
# See https://fly.io/docs/reference/configuration/ for information about how to use this file.
|
||||||
|
#
|
||||||
|
|
||||||
|
app = 'pkmntrade-club'
|
||||||
|
primary_region = 'lax'
|
||||||
|
console_command = '/code/manage.py shell'
|
||||||
|
|
||||||
|
[build]
|
||||||
|
dockerfile = 'Dockerfile'
|
||||||
|
|
||||||
|
[deploy]
|
||||||
|
release_command = 'bash deploy.sh'
|
||||||
|
|
||||||
|
[env]
|
||||||
|
PORT = '8000'
|
||||||
|
|
||||||
|
[http_service]
|
||||||
|
internal_port = 8000
|
||||||
|
force_https = true
|
||||||
|
auto_stop_machines = 'suspend'
|
||||||
|
auto_start_machines = true
|
||||||
|
min_machines_running = 0
|
||||||
|
processes = ['app']
|
||||||
|
|
||||||
|
[[vm]]
|
||||||
|
size = 'shared-cpu-4x'
|
||||||
|
memory = '1gb'
|
||||||
|
|
||||||
|
[[statics]]
|
||||||
|
guest_path = '/code/static'
|
||||||
|
url_prefix = '/static/'
|
||||||
|
|
||||||
|
[[restart]]
|
||||||
|
policy = "on-failure"
|
||||||
|
retries = 10
|
||||||
|
processes = ["app"]
|
||||||
|
|
||||||
BIN
logo.png
BIN
logo.png
Binary file not shown.
|
Before Width: | Height: | Size: 36 KiB |
|
|
@ -5,7 +5,7 @@ set -e
|
||||||
# Define a cleanup function to handle CTRL-C (SIGINT)
|
# Define a cleanup function to handle CTRL-C (SIGINT)
|
||||||
cleanup() {
|
cleanup() {
|
||||||
echo "CTRL-C caught! Shutting down Docker Compose services..."
|
echo "CTRL-C caught! Shutting down Docker Compose services..."
|
||||||
docker compose down
|
docker compose -f docker-compose_db_only.yml down
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -14,13 +14,12 @@ trap cleanup SIGINT
|
||||||
|
|
||||||
# Restart compose services.
|
# Restart compose services.
|
||||||
echo "Restarting compose services..."
|
echo "Restarting compose services..."
|
||||||
docker compose down
|
docker compose -f docker-compose_db_only.yml down
|
||||||
docker compose up -d
|
docker compose -f docker-compose_db_only.yml up -d
|
||||||
|
|
||||||
#docker compose exec web bash -c "cd /code/theme/static_src && npm run dev" || true
|
|
||||||
uv run python manage.py runserver &
|
uv run python manage.py runserver &
|
||||||
cd theme/static_src
|
cd theme/static_src
|
||||||
uv run npm run dev
|
uv run npm run dev
|
||||||
|
|
||||||
docker compose down
|
docker compose -f docker-compose_db_only.yml down
|
||||||
echo "Done!"
|
echo "Done!"
|
||||||
|
|
@ -3,11 +3,12 @@
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# Reset the database and migrations.
|
# Reset the database and migrations.
|
||||||
echo "Resetting database and migrations..."
|
echo "Resetting database and migrations... "
|
||||||
docker compose down \
|
docker compose -f docker-compose_db_only.yml down \
|
||||||
&& docker volume prune -af \
|
&& docker compose -f docker-compose_entire_app.yml down \
|
||||||
|
&& docker volume prune -a --filter label=db_is_resettable_via_script \
|
||||||
&& find . -path "*/migrations/00*.py" -delete \
|
&& find . -path "*/migrations/00*.py" -delete \
|
||||||
&& docker compose up -d
|
&& docker compose -f docker-compose_db_only.yml up -d
|
||||||
|
|
||||||
# Wait for the database to be ready.
|
# Wait for the database to be ready.
|
||||||
echo "Waiting for the database to be ready..."
|
echo "Waiting for the database to be ready..."
|
||||||
|
|
@ -22,5 +23,9 @@ uv run python manage.py migrate
|
||||||
echo "Loading seed data..."
|
echo "Loading seed data..."
|
||||||
uv run python manage.py loaddata seed/0*
|
uv run python manage.py loaddata seed/0*
|
||||||
|
|
||||||
echo "Creating cache table..."
|
echo "Running deploy script..."
|
||||||
uv run python manage.py createcachetable
|
./deploy.sh
|
||||||
|
|
||||||
|
docker compose -f docker-compose_db_only.yml down
|
||||||
|
|
||||||
|
echo "Done!"
|
||||||
|
|
@ -1,129 +0,0 @@
|
||||||
[
|
|
||||||
{
|
|
||||||
"model": "accounts.customuser",
|
|
||||||
"pk": 1,
|
|
||||||
"fields": {
|
|
||||||
"password": "pbkdf2_sha256$870000$f99EReOECF2LPne1JHADoy$pr/769omIyRNkDhaojgIIm8kZcAeFiR0DOLcUvbLlk4=",
|
|
||||||
"last_login": "2025-04-07T07:40:57.629Z",
|
|
||||||
"is_superuser": true,
|
|
||||||
"username": "badblocks",
|
|
||||||
"first_name": "",
|
|
||||||
"last_name": "",
|
|
||||||
"email": "rob@badblocks.email",
|
|
||||||
"is_staff": true,
|
|
||||||
"is_active": true,
|
|
||||||
"date_joined": "2025-03-13T04:21:04.553Z",
|
|
||||||
"default_friend_code": 1,
|
|
||||||
"show_friend_code_on_link_previews": true,
|
|
||||||
"reputation_score": 2,
|
|
||||||
"groups": [],
|
|
||||||
"user_permissions": []
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model": "accounts.customuser",
|
|
||||||
"pk": 2,
|
|
||||||
"fields": {
|
|
||||||
"password": "pbkdf2_sha256$870000$NxQDOyPzAvM3FgLL5z0SRy$JuET4f8HI55Oy1umkzg6WtjFVpYTt+UfpZWqPff4EO4=",
|
|
||||||
"last_login": "2025-03-13T04:52:57.949Z",
|
|
||||||
"is_superuser": false,
|
|
||||||
"username": "backrolls",
|
|
||||||
"first_name": "",
|
|
||||||
"last_name": "",
|
|
||||||
"email": "nathanward2016@gmail.com",
|
|
||||||
"is_staff": false,
|
|
||||||
"is_active": true,
|
|
||||||
"date_joined": "2025-03-13T04:52:28.482Z",
|
|
||||||
"default_friend_code": 2,
|
|
||||||
"show_friend_code_on_link_previews": false,
|
|
||||||
"reputation_score": 0,
|
|
||||||
"groups": [],
|
|
||||||
"user_permissions": []
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model": "accounts.customuser",
|
|
||||||
"pk": 3,
|
|
||||||
"fields": {
|
|
||||||
"password": "pbkdf2_sha256$870000$hbzakvek5c6oJWJ0jMliuz$4yX2/s9BsZ2FqMnOaApWQUraB+FX0JK7RmjjPbaLlgQ=",
|
|
||||||
"last_login": "2025-04-07T23:30:40.481Z",
|
|
||||||
"is_superuser": false,
|
|
||||||
"username": "badblocks2",
|
|
||||||
"first_name": "",
|
|
||||||
"last_name": "",
|
|
||||||
"email": "rob2@badblocks.email",
|
|
||||||
"is_staff": false,
|
|
||||||
"is_active": true,
|
|
||||||
"date_joined": "2025-04-07T07:36:12.011Z",
|
|
||||||
"default_friend_code": 3,
|
|
||||||
"show_friend_code_on_link_previews": false,
|
|
||||||
"reputation_score": 2,
|
|
||||||
"groups": [],
|
|
||||||
"user_permissions": []
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model": "accounts.friendcode",
|
|
||||||
"pk": 1,
|
|
||||||
"fields": {
|
|
||||||
"friend_code": "9167-8051-9691-8032",
|
|
||||||
"in_game_name": "badblocks",
|
|
||||||
"user": 1,
|
|
||||||
"created_at": "2025-03-13T04:21:05.166Z",
|
|
||||||
"updated_at": "2025-03-13T04:21:05.166Z"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model": "accounts.friendcode",
|
|
||||||
"pk": 2,
|
|
||||||
"fields": {
|
|
||||||
"friend_code": "1234-2938-7848-7636",
|
|
||||||
"in_game_name": "backrolls",
|
|
||||||
"user": 2,
|
|
||||||
"created_at": "2025-03-13T04:52:29.166Z",
|
|
||||||
"updated_at": "2025-03-13T04:52:29.166Z"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model": "accounts.friendcode",
|
|
||||||
"pk": 3,
|
|
||||||
"fields": {
|
|
||||||
"friend_code": "0987-0987-1234-1234",
|
|
||||||
"in_game_name": "badblocks2",
|
|
||||||
"user": 3,
|
|
||||||
"created_at": "2025-04-07T07:36:12.592Z",
|
|
||||||
"updated_at": "2025-04-07T07:36:12.592Z"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model": "account.emailaddress",
|
|
||||||
"pk": 1,
|
|
||||||
"fields": {
|
|
||||||
"user": 1,
|
|
||||||
"email": "rob@badblocks.email",
|
|
||||||
"verified": true,
|
|
||||||
"primary": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model": "account.emailaddress",
|
|
||||||
"pk": 2,
|
|
||||||
"fields": {
|
|
||||||
"user": 2,
|
|
||||||
"email": "nathanward2016@gmail.com",
|
|
||||||
"verified": true,
|
|
||||||
"primary": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model": "account.emailaddress",
|
|
||||||
"pk": 3,
|
|
||||||
"fields": {
|
|
||||||
"user": 3,
|
|
||||||
"email": "rob2@badblocks.email",
|
|
||||||
"verified": true,
|
|
||||||
"primary": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load diff
Binary file not shown.
|
Before Width: | Height: | Size: 36 KiB |
|
|
@ -1,260 +0,0 @@
|
||||||
select.admin-autocomplete {
|
|
||||||
width: 90%;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete.select2-container {*/
|
|
||||||
/* min-height: 30px;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete .select2-selection--single,*/
|
|
||||||
/*.select2-container--admin-autocomplete .select2-selection--multiple {*/
|
|
||||||
/* min-height: 30px;*/
|
|
||||||
/* padding: 0;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete.select2-container--focus .select2-selection,*/
|
|
||||||
/*.select2-container--admin-autocomplete.select2-container--open .select2-selection {*/
|
|
||||||
/* border-color: #999;*/
|
|
||||||
/* min-height: 30px;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete.select2-container--focus .select2-selection.select2-selection--single,*/
|
|
||||||
/*.select2-container--admin-autocomplete.select2-container--open .select2-selection.select2-selection--single {*/
|
|
||||||
/* padding: 0;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete.select2-container--focus .select2-selection.select2-selection--multiple,*/
|
|
||||||
/*.select2-container--admin-autocomplete.select2-container--open .select2-selection.select2-selection--multiple {*/
|
|
||||||
/* padding: 0;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete .select2-selection--single {*/
|
|
||||||
/* background-color: #fff;*/
|
|
||||||
/* border: 1px solid #ccc;*/
|
|
||||||
/* border-radius: 4px;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete .select2-selection--single .select2-selection__rendered {*/
|
|
||||||
/* color: #444;*/
|
|
||||||
/* line-height: 30px;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete .select2-selection--single .select2-selection__clear {*/
|
|
||||||
/* cursor: pointer;*/
|
|
||||||
/* float: right;*/
|
|
||||||
/* font-weight: bold;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete .select2-selection--single .select2-selection__placeholder {*/
|
|
||||||
/* color: #999;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete .select2-selection--single .select2-selection__arrow {*/
|
|
||||||
/* height: 26px;*/
|
|
||||||
/* position: absolute;*/
|
|
||||||
/* top: 1px;*/
|
|
||||||
/* right: 1px;*/
|
|
||||||
/* width: 20px;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete .select2-selection--single .select2-selection__arrow b {*/
|
|
||||||
/* border-color: #888 transparent transparent transparent;*/
|
|
||||||
/* border-style: solid;*/
|
|
||||||
/* border-width: 5px 4px 0 4px;*/
|
|
||||||
/* height: 0;*/
|
|
||||||
/* left: 50%;*/
|
|
||||||
/* margin-left: -4px;*/
|
|
||||||
/* margin-top: -2px;*/
|
|
||||||
/* position: absolute;*/
|
|
||||||
/* top: 50%;*/
|
|
||||||
/* width: 0;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--single .select2-selection__clear {*/
|
|
||||||
/* float: left;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--single .select2-selection__arrow {*/
|
|
||||||
/* left: 1px;*/
|
|
||||||
/* right: auto;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--single {*/
|
|
||||||
/* background-color: #eee;*/
|
|
||||||
/* cursor: default;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--single .select2-selection__clear {*/
|
|
||||||
/* display: none;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete.select2-container--open .select2-selection--single .select2-selection__arrow b {*/
|
|
||||||
/* border-color: transparent transparent #888 transparent;*/
|
|
||||||
/* border-width: 0 4px 5px 4px;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete .select2-selection--multiple {*/
|
|
||||||
/* background-color: white;*/
|
|
||||||
/* border: 1px solid #ccc;*/
|
|
||||||
/* border-radius: 4px;*/
|
|
||||||
/* cursor: text;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__rendered {*/
|
|
||||||
/* box-sizing: border-box;*/
|
|
||||||
/* list-style: none;*/
|
|
||||||
/* margin: 0;*/
|
|
||||||
/* padding: 0 5px;*/
|
|
||||||
/* width: 100%;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__rendered li {*/
|
|
||||||
/* list-style: none;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__placeholder {*/
|
|
||||||
/* color: #999;*/
|
|
||||||
/* margin-top: 5px;*/
|
|
||||||
/* float: left;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__clear {*/
|
|
||||||
/* cursor: pointer;*/
|
|
||||||
/* float: right;*/
|
|
||||||
/* font-weight: bold;*/
|
|
||||||
/* margin: 5px;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice {*/
|
|
||||||
/* background-color: #e4e4e4;*/
|
|
||||||
/* border: 1px solid #ccc;*/
|
|
||||||
/* border-radius: 4px;*/
|
|
||||||
/* cursor: default;*/
|
|
||||||
/* float: left;*/
|
|
||||||
/* margin-right: 5px;*/
|
|
||||||
/* margin-top: 5px;*/
|
|
||||||
/* padding: 0 5px;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice__remove {*/
|
|
||||||
/* color: #999;*/
|
|
||||||
/* cursor: pointer;*/
|
|
||||||
/* display: inline-block;*/
|
|
||||||
/* font-weight: bold;*/
|
|
||||||
/* margin-right: 2px;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice__remove:hover {*/
|
|
||||||
/* color: #333;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-search--inline {*/
|
|
||||||
/* float: right;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__choice {*/
|
|
||||||
/* margin-left: 5px;*/
|
|
||||||
/* margin-right: auto;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {*/
|
|
||||||
/* margin-left: 2px;*/
|
|
||||||
/* margin-right: auto;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete.select2-container--focus .select2-selection--multiple {*/
|
|
||||||
/* border: solid #999 1px;*/
|
|
||||||
/* outline: 0;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--multiple {*/
|
|
||||||
/* background-color: #eee;*/
|
|
||||||
/* cursor: default;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete.select2-container--disabled .select2-selection__choice__remove {*/
|
|
||||||
/* display: none;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete.select2-container--open.select2-container--above .select2-selection--single, .select2-container--admin-autocomplete.select2-container--open.select2-container--above .select2-selection--multiple {*/
|
|
||||||
/* border-top-left-radius: 0;*/
|
|
||||||
/* border-top-right-radius: 0;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete.select2-container--open.select2-container--below .select2-selection--single, .select2-container--admin-autocomplete.select2-container--open.select2-container--below .select2-selection--multiple {*/
|
|
||||||
/* border-bottom-left-radius: 0;*/
|
|
||||||
/* border-bottom-right-radius: 0;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete .select2-search--dropdown .select2-search__field {*/
|
|
||||||
/* border: 1px solid #ccc;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete .select2-search--inline .select2-search__field {*/
|
|
||||||
/* background: transparent;*/
|
|
||||||
/* border: none;*/
|
|
||||||
/* outline: 0;*/
|
|
||||||
/* box-shadow: none;*/
|
|
||||||
/* -webkit-appearance: textfield;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete .select2-results > .select2-results__options {*/
|
|
||||||
/* max-height: 200px;*/
|
|
||||||
/* overflow-y: auto;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete .select2-results__option[role=group] {*/
|
|
||||||
/* padding: 0;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete .select2-results__option[aria-disabled=true] {*/
|
|
||||||
/* color: #999;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete .select2-results__option[aria-selected=true] {*/
|
|
||||||
/* background-color: #ddd;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete .select2-results__option .select2-results__option {*/
|
|
||||||
/* padding-left: 1em;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__group {*/
|
|
||||||
/* padding-left: 0;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option {*/
|
|
||||||
/* margin-left: -1em;*/
|
|
||||||
/* padding-left: 2em;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option {*/
|
|
||||||
/* margin-left: -2em;*/
|
|
||||||
/* padding-left: 3em;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {*/
|
|
||||||
/* margin-left: -3em;*/
|
|
||||||
/* padding-left: 4em;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {*/
|
|
||||||
/* margin-left: -4em;*/
|
|
||||||
/* padding-left: 5em;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {*/
|
|
||||||
/* margin-left: -5em;*/
|
|
||||||
/* padding-left: 6em;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete .select2-results__option--highlighted[aria-selected] {*/
|
|
||||||
/* background-color: #79aec8;*/
|
|
||||||
/* color: white;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
/*.select2-container--admin-autocomplete .select2-results__group {*/
|
|
||||||
/* cursor: default;*/
|
|
||||||
/* display: block;*/
|
|
||||||
/* padding: 6px;*/
|
|
||||||
/*}*/
|
|
||||||
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
|
|
@ -1,343 +0,0 @@
|
||||||
/* CHANGELISTS */
|
|
||||||
|
|
||||||
#changelist {
|
|
||||||
display: flex;
|
|
||||||
align-items: flex-start;
|
|
||||||
justify-content: space-between;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist .changelist-form-container {
|
|
||||||
flex: 1 1 auto;
|
|
||||||
min-width: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist table {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.change-list .hiddenfields { display:none; }
|
|
||||||
|
|
||||||
.change-list .filtered table {
|
|
||||||
border-right: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.change-list .filtered {
|
|
||||||
min-height: 400px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.change-list .filtered .results, .change-list .filtered .paginator,
|
|
||||||
.filtered #toolbar, .filtered div.xfull {
|
|
||||||
width: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.change-list .filtered table tbody th {
|
|
||||||
padding-right: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist-form .results {
|
|
||||||
overflow-x: auto;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist .toplinks {
|
|
||||||
border-bottom: 1px solid var(--hairline-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist .paginator {
|
|
||||||
color: var(--body-quiet-color);
|
|
||||||
border-bottom: 1px solid var(--hairline-color);
|
|
||||||
background: var(--body-bg);
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* CHANGELIST TABLES */
|
|
||||||
|
|
||||||
#changelist table thead th {
|
|
||||||
padding: 0;
|
|
||||||
white-space: nowrap;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist table thead th.action-checkbox-column {
|
|
||||||
width: 1.5em;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist table tbody td.action-checkbox {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist table tfoot {
|
|
||||||
color: var(--body-quiet-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* TOOLBAR */
|
|
||||||
|
|
||||||
#toolbar {
|
|
||||||
padding: 8px 10px;
|
|
||||||
margin-bottom: 15px;
|
|
||||||
border-top: 1px solid var(--hairline-color);
|
|
||||||
border-bottom: 1px solid var(--hairline-color);
|
|
||||||
background: var(--darkened-bg);
|
|
||||||
color: var(--body-quiet-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
#toolbar form input {
|
|
||||||
border-radius: 4px;
|
|
||||||
font-size: 0.875rem;
|
|
||||||
padding: 5px;
|
|
||||||
color: var(--body-fg);
|
|
||||||
}
|
|
||||||
|
|
||||||
#toolbar #searchbar {
|
|
||||||
height: 1.1875rem;
|
|
||||||
border: 1px solid var(--border-color);
|
|
||||||
padding: 2px 5px;
|
|
||||||
margin: 0;
|
|
||||||
vertical-align: top;
|
|
||||||
font-size: 0.8125rem;
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
#toolbar #searchbar:focus {
|
|
||||||
border-color: var(--body-quiet-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
#toolbar form input[type="submit"] {
|
|
||||||
border: 1px solid var(--border-color);
|
|
||||||
font-size: 0.8125rem;
|
|
||||||
padding: 4px 8px;
|
|
||||||
margin: 0;
|
|
||||||
vertical-align: middle;
|
|
||||||
background: var(--body-bg);
|
|
||||||
box-shadow: 0 -15px 20px -10px rgba(0, 0, 0, 0.15) inset;
|
|
||||||
cursor: pointer;
|
|
||||||
color: var(--body-fg);
|
|
||||||
}
|
|
||||||
|
|
||||||
#toolbar form input[type="submit"]:focus,
|
|
||||||
#toolbar form input[type="submit"]:hover {
|
|
||||||
border-color: var(--body-quiet-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist-search img {
|
|
||||||
vertical-align: middle;
|
|
||||||
margin-right: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist-search .help {
|
|
||||||
word-break: break-word;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* FILTER COLUMN */
|
|
||||||
|
|
||||||
#changelist-filter {
|
|
||||||
flex: 0 0 240px;
|
|
||||||
order: 1;
|
|
||||||
background: var(--darkened-bg);
|
|
||||||
border-left: none;
|
|
||||||
margin: 0 0 0 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (forced-colors: active) {
|
|
||||||
#changelist-filter {
|
|
||||||
border: 1px solid;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist-filter h2 {
|
|
||||||
font-size: 0.875rem;
|
|
||||||
text-transform: uppercase;
|
|
||||||
letter-spacing: 0.5px;
|
|
||||||
padding: 5px 15px;
|
|
||||||
margin-bottom: 12px;
|
|
||||||
border-bottom: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist-filter h3,
|
|
||||||
#changelist-filter details summary {
|
|
||||||
font-weight: 400;
|
|
||||||
padding: 0 15px;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist-filter details summary > * {
|
|
||||||
display: inline;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist-filter details > summary {
|
|
||||||
list-style-type: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist-filter details > summary::-webkit-details-marker {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist-filter details > summary::before {
|
|
||||||
content: '→';
|
|
||||||
font-weight: bold;
|
|
||||||
color: var(--link-hover-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist-filter details[open] > summary::before {
|
|
||||||
content: '↓';
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist-filter ul {
|
|
||||||
margin: 5px 0;
|
|
||||||
padding: 0 15px 15px;
|
|
||||||
border-bottom: 1px solid var(--hairline-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist-filter ul:last-child {
|
|
||||||
border-bottom: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist-filter li {
|
|
||||||
list-style-type: none;
|
|
||||||
margin-left: 0;
|
|
||||||
padding-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist-filter a {
|
|
||||||
display: block;
|
|
||||||
color: var(--body-quiet-color);
|
|
||||||
word-break: break-word;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist-filter li.selected {
|
|
||||||
border-left: 5px solid var(--hairline-color);
|
|
||||||
padding-left: 10px;
|
|
||||||
margin-left: -15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist-filter li.selected a {
|
|
||||||
color: var(--link-selected-fg);
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist-filter a:focus, #changelist-filter a:hover,
|
|
||||||
#changelist-filter li.selected a:focus,
|
|
||||||
#changelist-filter li.selected a:hover {
|
|
||||||
color: var(--link-hover-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist-filter #changelist-filter-extra-actions {
|
|
||||||
font-size: 0.8125rem;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
border-bottom: 1px solid var(--hairline-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* DATE DRILLDOWN */
|
|
||||||
|
|
||||||
.change-list .toplinks {
|
|
||||||
display: flex;
|
|
||||||
padding-bottom: 5px;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
gap: 3px 17px;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.change-list .toplinks a {
|
|
||||||
font-size: 0.8125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.change-list .toplinks .date-back {
|
|
||||||
color: var(--body-quiet-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
.change-list .toplinks .date-back:focus,
|
|
||||||
.change-list .toplinks .date-back:hover {
|
|
||||||
color: var(--link-hover-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ACTIONS */
|
|
||||||
|
|
||||||
.filtered .actions {
|
|
||||||
border-right: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist table input {
|
|
||||||
margin: 0;
|
|
||||||
vertical-align: baseline;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Once the :has() pseudo-class is supported by all browsers, the tr.selected
|
|
||||||
selector and the JS adding the class can be removed. */
|
|
||||||
#changelist tbody tr.selected {
|
|
||||||
background-color: var(--selected-row);
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist tbody tr:has(.action-select:checked) {
|
|
||||||
background-color: var(--selected-row);
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (forced-colors: active) {
|
|
||||||
#changelist tbody tr.selected {
|
|
||||||
background-color: SelectedItem;
|
|
||||||
}
|
|
||||||
#changelist tbody tr:has(.action-select:checked) {
|
|
||||||
background-color: SelectedItem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist .actions {
|
|
||||||
padding: 10px;
|
|
||||||
background: var(--body-bg);
|
|
||||||
border-top: none;
|
|
||||||
border-bottom: none;
|
|
||||||
line-height: 1.5rem;
|
|
||||||
color: var(--body-quiet-color);
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist .actions span.all,
|
|
||||||
#changelist .actions span.action-counter,
|
|
||||||
#changelist .actions span.clear,
|
|
||||||
#changelist .actions span.question {
|
|
||||||
font-size: 0.8125rem;
|
|
||||||
margin: 0 0.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist .actions:last-child {
|
|
||||||
border-bottom: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist .actions select {
|
|
||||||
vertical-align: top;
|
|
||||||
height: 1.5rem;
|
|
||||||
color: var(--body-fg);
|
|
||||||
border: 1px solid var(--border-color);
|
|
||||||
border-radius: 4px;
|
|
||||||
font-size: 0.875rem;
|
|
||||||
padding: 0 0 0 4px;
|
|
||||||
margin: 0;
|
|
||||||
margin-left: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist .actions select:focus {
|
|
||||||
border-color: var(--body-quiet-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist .actions label {
|
|
||||||
display: inline-block;
|
|
||||||
vertical-align: middle;
|
|
||||||
font-size: 0.8125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist .actions .button {
|
|
||||||
font-size: 0.8125rem;
|
|
||||||
border: 1px solid var(--border-color);
|
|
||||||
border-radius: 4px;
|
|
||||||
background: var(--body-bg);
|
|
||||||
box-shadow: 0 -15px 20px -10px rgba(0, 0, 0, 0.15) inset;
|
|
||||||
cursor: pointer;
|
|
||||||
height: 1.5rem;
|
|
||||||
line-height: 1;
|
|
||||||
padding: 4px 8px;
|
|
||||||
margin: 0;
|
|
||||||
color: var(--body-fg);
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist .actions .button:focus, #changelist .actions .button:hover {
|
|
||||||
border-color: var(--body-quiet-color);
|
|
||||||
}
|
|
||||||
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
|
|
@ -1,130 +0,0 @@
|
||||||
@media (prefers-color-scheme: dark) {
|
|
||||||
:root {
|
|
||||||
--primary: #264b5d;
|
|
||||||
--primary-fg: #f7f7f7;
|
|
||||||
|
|
||||||
--body-fg: #eeeeee;
|
|
||||||
--body-bg: #121212;
|
|
||||||
--body-quiet-color: #d0d0d0;
|
|
||||||
--body-medium-color: #e0e0e0;
|
|
||||||
--body-loud-color: #ffffff;
|
|
||||||
|
|
||||||
--breadcrumbs-link-fg: #e0e0e0;
|
|
||||||
--breadcrumbs-bg: var(--primary);
|
|
||||||
|
|
||||||
--link-fg: #81d4fa;
|
|
||||||
--link-hover-color: #4ac1f7;
|
|
||||||
--link-selected-fg: #6f94c6;
|
|
||||||
|
|
||||||
--hairline-color: #272727;
|
|
||||||
--border-color: #353535;
|
|
||||||
|
|
||||||
--error-fg: #e35f5f;
|
|
||||||
--message-success-bg: #006b1b;
|
|
||||||
--message-warning-bg: #583305;
|
|
||||||
--message-error-bg: #570808;
|
|
||||||
|
|
||||||
--darkened-bg: #212121;
|
|
||||||
--selected-bg: #1b1b1b;
|
|
||||||
--selected-row: #00363a;
|
|
||||||
|
|
||||||
--close-button-bg: #333333;
|
|
||||||
--close-button-hover-bg: #666666;
|
|
||||||
|
|
||||||
color-scheme: dark;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
html[data-theme="dark"] {
|
|
||||||
--primary: #264b5d;
|
|
||||||
--primary-fg: #f7f7f7;
|
|
||||||
|
|
||||||
--body-fg: #eeeeee;
|
|
||||||
--body-bg: #121212;
|
|
||||||
--body-quiet-color: #d0d0d0;
|
|
||||||
--body-medium-color: #e0e0e0;
|
|
||||||
--body-loud-color: #ffffff;
|
|
||||||
|
|
||||||
--breadcrumbs-link-fg: #e0e0e0;
|
|
||||||
--breadcrumbs-bg: var(--primary);
|
|
||||||
|
|
||||||
--link-fg: #81d4fa;
|
|
||||||
--link-hover-color: #4ac1f7;
|
|
||||||
--link-selected-fg: #6f94c6;
|
|
||||||
|
|
||||||
--hairline-color: #272727;
|
|
||||||
--border-color: #353535;
|
|
||||||
|
|
||||||
--error-fg: #e35f5f;
|
|
||||||
--message-success-bg: #006b1b;
|
|
||||||
--message-warning-bg: #583305;
|
|
||||||
--message-error-bg: #570808;
|
|
||||||
|
|
||||||
--darkened-bg: #212121;
|
|
||||||
--selected-bg: #1b1b1b;
|
|
||||||
--selected-row: #00363a;
|
|
||||||
|
|
||||||
--close-button-bg: #333333;
|
|
||||||
--close-button-hover-bg: #666666;
|
|
||||||
|
|
||||||
color-scheme: dark;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* THEME SWITCH */
|
|
||||||
.theme-toggle {
|
|
||||||
cursor: pointer;
|
|
||||||
border: none;
|
|
||||||
padding: 0;
|
|
||||||
background: transparent;
|
|
||||||
vertical-align: middle;
|
|
||||||
margin-inline-start: 5px;
|
|
||||||
margin-top: -1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.theme-toggle svg {
|
|
||||||
vertical-align: middle;
|
|
||||||
height: 1rem;
|
|
||||||
width: 1rem;
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
Fully hide screen reader text so we only show the one matching the current
|
|
||||||
theme.
|
|
||||||
*/
|
|
||||||
.theme-toggle .visually-hidden {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
html[data-theme="auto"] .theme-toggle .theme-label-when-auto {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
html[data-theme="dark"] .theme-toggle .theme-label-when-dark {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
html[data-theme="light"] .theme-toggle .theme-label-when-light {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ICONS */
|
|
||||||
.theme-toggle svg.theme-icon-when-auto,
|
|
||||||
.theme-toggle svg.theme-icon-when-dark,
|
|
||||||
.theme-toggle svg.theme-icon-when-light {
|
|
||||||
fill: var(--header-link-color);
|
|
||||||
color: var(--header-bg);
|
|
||||||
}
|
|
||||||
|
|
||||||
html[data-theme="auto"] .theme-toggle svg.theme-icon-when-auto {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
html[data-theme="dark"] .theme-toggle svg.theme-icon-when-dark {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
html[data-theme="light"] .theme-toggle svg.theme-icon-when-light {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
|
@ -1,29 +0,0 @@
|
||||||
/* DASHBOARD */
|
|
||||||
.dashboard td, .dashboard th {
|
|
||||||
word-break: break-word;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dashboard .module table th {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dashboard .module table td {
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dashboard .module table td a {
|
|
||||||
display: block;
|
|
||||||
padding-right: .6em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* RECENT ACTIONS MODULE */
|
|
||||||
|
|
||||||
.module ul.actionlist {
|
|
||||||
margin-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.actionlist li {
|
|
||||||
list-style-type: none;
|
|
||||||
overflow: hidden;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
|
@ -1,512 +0,0 @@
|
||||||
@import url('widgets.css');
|
|
||||||
|
|
||||||
/* FORM ROWS */
|
|
||||||
|
|
||||||
.form-row {
|
|
||||||
overflow: hidden;
|
|
||||||
padding: 10px;
|
|
||||||
font-size: 0.8125rem;
|
|
||||||
border-bottom: 1px solid var(--hairline-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
.form-row img, .form-row input {
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
|
|
||||||
.form-row label input[type="checkbox"] {
|
|
||||||
margin-top: 0;
|
|
||||||
vertical-align: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
form .form-row p {
|
|
||||||
padding-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.flex-container {
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
|
|
||||||
.form-multiline {
|
|
||||||
flex-wrap: wrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
.form-multiline > div {
|
|
||||||
padding-bottom: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* FORM LABELS */
|
|
||||||
|
|
||||||
label {
|
|
||||||
font-weight: normal;
|
|
||||||
color: var(--body-quiet-color);
|
|
||||||
font-size: 0.8125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.required label, label.required {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* RADIO BUTTONS */
|
|
||||||
|
|
||||||
form div.radiolist div {
|
|
||||||
padding-right: 7px;
|
|
||||||
}
|
|
||||||
|
|
||||||
form div.radiolist.inline div {
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
|
|
||||||
form div.radiolist label {
|
|
||||||
width: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
form div.radiolist input[type="radio"] {
|
|
||||||
margin: -2px 4px 0 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
form ul.inline {
|
|
||||||
margin-left: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
form ul.inline li {
|
|
||||||
float: left;
|
|
||||||
padding-right: 7px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* FIELDSETS */
|
|
||||||
|
|
||||||
fieldset .fieldset-heading,
|
|
||||||
fieldset .inline-heading,
|
|
||||||
:not(.inline-related) .collapse summary {
|
|
||||||
border: 1px solid var(--header-bg);
|
|
||||||
margin: 0;
|
|
||||||
padding: 8px;
|
|
||||||
font-weight: 400;
|
|
||||||
font-size: 0.8125rem;
|
|
||||||
background: var(--header-bg);
|
|
||||||
color: var(--header-link-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ALIGNED FIELDSETS */
|
|
||||||
|
|
||||||
.aligned label {
|
|
||||||
display: block;
|
|
||||||
padding: 4px 10px 0 0;
|
|
||||||
min-width: 160px;
|
|
||||||
width: 160px;
|
|
||||||
word-wrap: break-word;
|
|
||||||
}
|
|
||||||
|
|
||||||
.aligned label:not(.vCheckboxLabel):after {
|
|
||||||
content: '';
|
|
||||||
display: inline-block;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
|
|
||||||
.aligned label + p, .aligned .checkbox-row + div.help, .aligned label + div.readonly {
|
|
||||||
padding: 6px 0;
|
|
||||||
margin-top: 0;
|
|
||||||
margin-bottom: 0;
|
|
||||||
margin-left: 0;
|
|
||||||
overflow-wrap: break-word;
|
|
||||||
}
|
|
||||||
|
|
||||||
.aligned ul label {
|
|
||||||
display: inline;
|
|
||||||
float: none;
|
|
||||||
width: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.aligned .form-row input {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.colMS .aligned .vLargeTextField, .colMS .aligned .vXMLLargeTextField {
|
|
||||||
width: 350px;
|
|
||||||
}
|
|
||||||
|
|
||||||
form .aligned ul {
|
|
||||||
margin-left: 160px;
|
|
||||||
padding-left: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
form .aligned div.radiolist {
|
|
||||||
display: inline-block;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
form .aligned p.help,
|
|
||||||
form .aligned div.help {
|
|
||||||
margin-top: 0;
|
|
||||||
margin-left: 160px;
|
|
||||||
padding-left: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
form .aligned p.date div.help.timezonewarning,
|
|
||||||
form .aligned p.datetime div.help.timezonewarning,
|
|
||||||
form .aligned p.time div.help.timezonewarning {
|
|
||||||
margin-left: 0;
|
|
||||||
padding-left: 0;
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
form .aligned p.help:last-child,
|
|
||||||
form .aligned div.help:last-child {
|
|
||||||
margin-bottom: 0;
|
|
||||||
padding-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
form .aligned input + p.help,
|
|
||||||
form .aligned textarea + p.help,
|
|
||||||
form .aligned select + p.help,
|
|
||||||
form .aligned input + div.help,
|
|
||||||
form .aligned textarea + div.help,
|
|
||||||
form .aligned select + div.help {
|
|
||||||
margin-left: 160px;
|
|
||||||
padding-left: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
form .aligned select option:checked {
|
|
||||||
background-color: var(--selected-row);
|
|
||||||
}
|
|
||||||
|
|
||||||
form .aligned ul li {
|
|
||||||
list-style: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
form .aligned table p {
|
|
||||||
margin-left: 0;
|
|
||||||
padding-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.aligned .vCheckboxLabel {
|
|
||||||
padding: 1px 0 0 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.aligned .vCheckboxLabel + p.help,
|
|
||||||
.aligned .vCheckboxLabel + div.help {
|
|
||||||
margin-top: -4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.colM .aligned .vLargeTextField, .colM .aligned .vXMLLargeTextField {
|
|
||||||
width: 610px;
|
|
||||||
}
|
|
||||||
|
|
||||||
fieldset .fieldBox {
|
|
||||||
margin-right: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* WIDE FIELDSETS */
|
|
||||||
|
|
||||||
.wide label {
|
|
||||||
width: 200px;
|
|
||||||
}
|
|
||||||
|
|
||||||
form .wide p.help,
|
|
||||||
form .wide ul.errorlist,
|
|
||||||
form .wide div.help {
|
|
||||||
padding-left: 50px;
|
|
||||||
}
|
|
||||||
|
|
||||||
form div.help ul {
|
|
||||||
padding-left: 0;
|
|
||||||
margin-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.colM fieldset.wide .vLargeTextField, .colM fieldset.wide .vXMLLargeTextField {
|
|
||||||
width: 450px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* COLLAPSIBLE FIELDSETS */
|
|
||||||
|
|
||||||
.collapse summary .fieldset-heading,
|
|
||||||
.collapse summary .inline-heading {
|
|
||||||
background: transparent;
|
|
||||||
border: none;
|
|
||||||
color: currentColor;
|
|
||||||
display: inline;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* MONOSPACE TEXTAREAS */
|
|
||||||
|
|
||||||
fieldset.monospace textarea {
|
|
||||||
font-family: var(--font-family-monospace);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* SUBMIT ROW */
|
|
||||||
|
|
||||||
.submit-row {
|
|
||||||
padding: 12px 14px 12px;
|
|
||||||
margin: 0 0 20px;
|
|
||||||
background: var(--darkened-bg);
|
|
||||||
border: 1px solid var(--hairline-color);
|
|
||||||
border-radius: 4px;
|
|
||||||
overflow: hidden;
|
|
||||||
display: flex;
|
|
||||||
gap: 10px;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
body.popup .submit-row {
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.submit-row input {
|
|
||||||
height: 2.1875rem;
|
|
||||||
line-height: 0.9375rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.submit-row input, .submit-row a {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.submit-row input.default {
|
|
||||||
text-transform: uppercase;
|
|
||||||
}
|
|
||||||
|
|
||||||
.submit-row a.deletelink {
|
|
||||||
margin-left: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.submit-row a.deletelink {
|
|
||||||
display: block;
|
|
||||||
background: var(--delete-button-bg);
|
|
||||||
border-radius: 4px;
|
|
||||||
padding: 0.625rem 0.9375rem;
|
|
||||||
height: 0.9375rem;
|
|
||||||
line-height: 0.9375rem;
|
|
||||||
color: var(--button-fg);
|
|
||||||
}
|
|
||||||
|
|
||||||
.submit-row a.closelink {
|
|
||||||
display: inline-block;
|
|
||||||
background: var(--close-button-bg);
|
|
||||||
border-radius: 4px;
|
|
||||||
padding: 10px 15px;
|
|
||||||
height: 0.9375rem;
|
|
||||||
line-height: 0.9375rem;
|
|
||||||
color: var(--button-fg);
|
|
||||||
}
|
|
||||||
|
|
||||||
.submit-row a.deletelink:focus,
|
|
||||||
.submit-row a.deletelink:hover,
|
|
||||||
.submit-row a.deletelink:active {
|
|
||||||
background: var(--delete-button-hover-bg);
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.submit-row a.closelink:focus,
|
|
||||||
.submit-row a.closelink:hover,
|
|
||||||
.submit-row a.closelink:active {
|
|
||||||
background: var(--close-button-hover-bg);
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* CUSTOM FORM FIELDS */
|
|
||||||
|
|
||||||
.vSelectMultipleField {
|
|
||||||
vertical-align: top;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vCheckboxField {
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vDateField, .vTimeField {
|
|
||||||
margin-right: 2px;
|
|
||||||
margin-bottom: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vDateField {
|
|
||||||
min-width: 6.85em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vTimeField {
|
|
||||||
min-width: 4.7em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vURLField {
|
|
||||||
width: 30em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vLargeTextField, .vXMLLargeTextField {
|
|
||||||
width: 48em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.flatpages-flatpage #id_content {
|
|
||||||
height: 40.2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.module table .vPositiveSmallIntegerField {
|
|
||||||
width: 2.2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vIntegerField {
|
|
||||||
width: 5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vBigIntegerField {
|
|
||||||
width: 10em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vForeignKeyRawIdAdminField {
|
|
||||||
width: 5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vTextField, .vUUIDField {
|
|
||||||
width: 20em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* INLINES */
|
|
||||||
|
|
||||||
.inline-group {
|
|
||||||
padding: 0;
|
|
||||||
margin: 0 0 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-group thead th {
|
|
||||||
padding: 8px 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-group .aligned label {
|
|
||||||
width: 160px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-related {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-related h4,
|
|
||||||
.inline-related:not(.tabular) .collapse summary {
|
|
||||||
margin: 0;
|
|
||||||
color: var(--body-medium-color);
|
|
||||||
padding: 5px;
|
|
||||||
font-size: 0.8125rem;
|
|
||||||
background: var(--darkened-bg);
|
|
||||||
border: 1px solid var(--hairline-color);
|
|
||||||
border-left-color: var(--darkened-bg);
|
|
||||||
border-right-color: var(--darkened-bg);
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-related h3 span.delete {
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-related h3 span.delete label {
|
|
||||||
margin-left: 2px;
|
|
||||||
font-size: 0.6875rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-related fieldset {
|
|
||||||
margin: 0;
|
|
||||||
background: var(--body-bg);
|
|
||||||
border: none;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-group .tabular fieldset.module {
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-related.tabular fieldset.module table {
|
|
||||||
width: 100%;
|
|
||||||
overflow-x: scroll;
|
|
||||||
}
|
|
||||||
|
|
||||||
.last-related fieldset {
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-group .tabular tr.has_original td {
|
|
||||||
padding-top: 2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-group .tabular tr td.original {
|
|
||||||
padding: 2px 0 0 0;
|
|
||||||
width: 0;
|
|
||||||
_position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-group .tabular th.original {
|
|
||||||
width: 0px;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-group .tabular td.original p {
|
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
height: 1.1em;
|
|
||||||
padding: 2px 9px;
|
|
||||||
overflow: hidden;
|
|
||||||
font-size: 0.5625rem;
|
|
||||||
font-weight: bold;
|
|
||||||
color: var(--body-quiet-color);
|
|
||||||
_width: 700px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-group ul.tools {
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
list-style: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-group ul.tools li {
|
|
||||||
display: inline;
|
|
||||||
padding: 0 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-group div.add-row,
|
|
||||||
.inline-group .tabular tr.add-row td {
|
|
||||||
color: var(--body-quiet-color);
|
|
||||||
background: var(--darkened-bg);
|
|
||||||
padding: 8px 10px;
|
|
||||||
border-bottom: 1px solid var(--hairline-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-group .tabular tr.add-row td {
|
|
||||||
padding: 8px 10px;
|
|
||||||
border-bottom: 1px solid var(--hairline-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-group ul.tools a.add,
|
|
||||||
.inline-group div.add-row a,
|
|
||||||
.inline-group .tabular tr.add-row td a {
|
|
||||||
background: url(../img/icon-addlink.svg) 0 1px no-repeat;
|
|
||||||
padding-left: 16px;
|
|
||||||
font-size: 0.75rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.empty-form {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* RELATED FIELD ADD ONE / LOOKUP */
|
|
||||||
|
|
||||||
.related-lookup {
|
|
||||||
margin-left: 5px;
|
|
||||||
display: inline-block;
|
|
||||||
vertical-align: middle;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.related-lookup {
|
|
||||||
width: 1rem;
|
|
||||||
height: 1rem;
|
|
||||||
background-image: url(../img/search.svg);
|
|
||||||
}
|
|
||||||
|
|
||||||
form .related-widget-wrapper ul {
|
|
||||||
display: inline-block;
|
|
||||||
margin-left: 0;
|
|
||||||
padding-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.clearable-file-input input {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
|
@ -1,79 +0,0 @@
|
||||||
/* LOGIN FORM */
|
|
||||||
|
|
||||||
.login {
|
|
||||||
background: #f8f8f8;
|
|
||||||
height: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login #header {
|
|
||||||
height: auto;
|
|
||||||
padding: 15px 16px;
|
|
||||||
justify-content: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login #header h1 {
|
|
||||||
font-size: 18px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login #header h1 a {
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login #content {
|
|
||||||
padding: 20px 20px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login #container {
|
|
||||||
background: #fff;
|
|
||||||
border: 1px solid #eaeaea;
|
|
||||||
border-radius: 4px;
|
|
||||||
overflow: hidden;
|
|
||||||
width: 28em;
|
|
||||||
min-width: 300px;
|
|
||||||
margin: 100px auto;
|
|
||||||
height: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login #content-main {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login .form-row {
|
|
||||||
padding: 4px 0;
|
|
||||||
float: left;
|
|
||||||
width: 100%;
|
|
||||||
border-bottom: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login .form-row label {
|
|
||||||
padding-right: 0.5em;
|
|
||||||
line-height: 2em;
|
|
||||||
font-size: 1em;
|
|
||||||
clear: both;
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login .form-row #id_username, .login .form-row #id_password {
|
|
||||||
clear: both;
|
|
||||||
padding: 8px;
|
|
||||||
width: 100%;
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login span.help {
|
|
||||||
font-size: 10px;
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login .submit-row {
|
|
||||||
clear: both;
|
|
||||||
padding: 1em 0 0 9.4em;
|
|
||||||
margin: 0;
|
|
||||||
border: none;
|
|
||||||
background: none;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login .password-reset-link {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
|
@ -1,150 +0,0 @@
|
||||||
.sticky {
|
|
||||||
position: sticky;
|
|
||||||
top: 0;
|
|
||||||
max-height: 100vh;
|
|
||||||
}
|
|
||||||
|
|
||||||
.toggle-nav-sidebar {
|
|
||||||
z-index: 20;
|
|
||||||
left: 0;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
flex: 0 0 23px;
|
|
||||||
width: 23px;
|
|
||||||
border: 0;
|
|
||||||
border-right: 1px solid var(--hairline-color);
|
|
||||||
background-color: var(--body-bg);
|
|
||||||
cursor: pointer;
|
|
||||||
font-size: 1.25rem;
|
|
||||||
color: var(--link-fg);
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
[dir="rtl"] .toggle-nav-sidebar {
|
|
||||||
border-left: 1px solid var(--hairline-color);
|
|
||||||
border-right: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.toggle-nav-sidebar:hover,
|
|
||||||
.toggle-nav-sidebar:focus {
|
|
||||||
background-color: var(--darkened-bg);
|
|
||||||
}
|
|
||||||
|
|
||||||
#nav-sidebar {
|
|
||||||
z-index: 15;
|
|
||||||
flex: 0 0 275px;
|
|
||||||
left: -276px;
|
|
||||||
margin-left: -276px;
|
|
||||||
border-top: 1px solid transparent;
|
|
||||||
border-right: 1px solid var(--hairline-color);
|
|
||||||
background-color: var(--body-bg);
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
[dir="rtl"] #nav-sidebar {
|
|
||||||
border-left: 1px solid var(--hairline-color);
|
|
||||||
border-right: 0;
|
|
||||||
left: 0;
|
|
||||||
margin-left: 0;
|
|
||||||
right: -276px;
|
|
||||||
margin-right: -276px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.toggle-nav-sidebar::before {
|
|
||||||
content: '\00BB';
|
|
||||||
}
|
|
||||||
|
|
||||||
.main.shifted .toggle-nav-sidebar::before {
|
|
||||||
content: '\00AB';
|
|
||||||
}
|
|
||||||
|
|
||||||
.main > #nav-sidebar {
|
|
||||||
visibility: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.main.shifted > #nav-sidebar {
|
|
||||||
margin-left: 0;
|
|
||||||
visibility: visible;
|
|
||||||
}
|
|
||||||
|
|
||||||
[dir="rtl"] .main.shifted > #nav-sidebar {
|
|
||||||
margin-right: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#nav-sidebar .module th {
|
|
||||||
width: 100%;
|
|
||||||
overflow-wrap: anywhere;
|
|
||||||
}
|
|
||||||
|
|
||||||
#nav-sidebar .module th,
|
|
||||||
#nav-sidebar .module caption {
|
|
||||||
padding-left: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#nav-sidebar .module td {
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
[dir="rtl"] #nav-sidebar .module th,
|
|
||||||
[dir="rtl"] #nav-sidebar .module caption {
|
|
||||||
padding-left: 8px;
|
|
||||||
padding-right: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#nav-sidebar .current-app .section:link,
|
|
||||||
#nav-sidebar .current-app .section:visited {
|
|
||||||
color: var(--header-color);
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
#nav-sidebar .current-model {
|
|
||||||
background: var(--selected-row);
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (forced-colors: active) {
|
|
||||||
#nav-sidebar .current-model {
|
|
||||||
background-color: SelectedItem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.main > #nav-sidebar + .content {
|
|
||||||
max-width: calc(100% - 23px);
|
|
||||||
}
|
|
||||||
|
|
||||||
.main.shifted > #nav-sidebar + .content {
|
|
||||||
max-width: calc(100% - 299px);
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 767px) {
|
|
||||||
#nav-sidebar, #toggle-nav-sidebar {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.main > #nav-sidebar + .content,
|
|
||||||
.main.shifted > #nav-sidebar + .content {
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#nav-filter {
|
|
||||||
width: 100%;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding: 2px 5px;
|
|
||||||
margin: 5px 0;
|
|
||||||
border: 1px solid var(--border-color);
|
|
||||||
background-color: var(--darkened-bg);
|
|
||||||
color: var(--body-fg);
|
|
||||||
}
|
|
||||||
|
|
||||||
#nav-filter:focus {
|
|
||||||
border-color: var(--body-quiet-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
#nav-filter.no-results {
|
|
||||||
background: var(--message-error-bg);
|
|
||||||
}
|
|
||||||
|
|
||||||
#nav-sidebar table {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
|
@ -1,967 +0,0 @@
|
||||||
/* Tablets */
|
|
||||||
|
|
||||||
input[type="submit"], button {
|
|
||||||
-webkit-appearance: none;
|
|
||||||
appearance: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 1024px) {
|
|
||||||
/* Basic */
|
|
||||||
|
|
||||||
html {
|
|
||||||
-webkit-text-size-adjust: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
td, th {
|
|
||||||
padding: 10px;
|
|
||||||
font-size: 0.875rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.small {
|
|
||||||
font-size: 0.75rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Layout */
|
|
||||||
|
|
||||||
#container {
|
|
||||||
min-width: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content {
|
|
||||||
padding: 15px 20px 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.breadcrumbs {
|
|
||||||
padding: 10px 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Header */
|
|
||||||
|
|
||||||
#header {
|
|
||||||
flex-direction: column;
|
|
||||||
padding: 15px 30px;
|
|
||||||
justify-content: flex-start;
|
|
||||||
}
|
|
||||||
|
|
||||||
#site-name {
|
|
||||||
margin: 0 0 8px;
|
|
||||||
line-height: 1.2;
|
|
||||||
}
|
|
||||||
|
|
||||||
#user-tools {
|
|
||||||
margin: 0;
|
|
||||||
font-weight: 400;
|
|
||||||
line-height: 1.85;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
#user-tools a {
|
|
||||||
display: inline-block;
|
|
||||||
line-height: 1.4;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Dashboard */
|
|
||||||
|
|
||||||
.dashboard #content {
|
|
||||||
width: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content-related {
|
|
||||||
margin-right: -290px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.colSM #content-related {
|
|
||||||
margin-left: -290px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.colMS {
|
|
||||||
margin-right: 290px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.colSM {
|
|
||||||
margin-left: 290px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dashboard .module table td a {
|
|
||||||
padding-right: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
td .changelink, td .addlink {
|
|
||||||
font-size: 0.8125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Changelist */
|
|
||||||
|
|
||||||
#toolbar {
|
|
||||||
border: none;
|
|
||||||
padding: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist-search > div {
|
|
||||||
display: flex;
|
|
||||||
flex-wrap: nowrap;
|
|
||||||
max-width: 480px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist-search label {
|
|
||||||
line-height: 1.375rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
#toolbar form #searchbar {
|
|
||||||
flex: 1 0 auto;
|
|
||||||
width: 0;
|
|
||||||
height: 1.375rem;
|
|
||||||
margin: 0 10px 0 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#toolbar form input[type=submit] {
|
|
||||||
flex: 0 1 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist-search .quiet {
|
|
||||||
width: 0;
|
|
||||||
flex: 1 0 auto;
|
|
||||||
margin: 5px 0 0 25px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist .actions {
|
|
||||||
display: flex;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
padding: 15px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist .actions label {
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist .actions select {
|
|
||||||
background: var(--body-bg);
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist .actions .button {
|
|
||||||
min-width: 48px;
|
|
||||||
margin: 0 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist .actions span.all,
|
|
||||||
#changelist .actions span.clear,
|
|
||||||
#changelist .actions span.question,
|
|
||||||
#changelist .actions span.action-counter {
|
|
||||||
font-size: 0.6875rem;
|
|
||||||
margin: 0 10px 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist-filter {
|
|
||||||
flex-basis: 200px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.change-list .filtered .results,
|
|
||||||
.change-list .filtered .paginator,
|
|
||||||
.filtered #toolbar,
|
|
||||||
.filtered .actions,
|
|
||||||
|
|
||||||
#changelist .paginator {
|
|
||||||
border-top-color: var(--hairline-color); /* XXX Is this used at all? */
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist .results + .paginator {
|
|
||||||
border-top: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Forms */
|
|
||||||
|
|
||||||
label {
|
|
||||||
font-size: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
Minifiers remove the default (text) "type" attribute from "input" HTML
|
|
||||||
tags. Add input:not([type]) to make the CSS stylesheet work the same.
|
|
||||||
*/
|
|
||||||
.form-row input:not([type]),
|
|
||||||
.form-row input[type=text],
|
|
||||||
.form-row input[type=password],
|
|
||||||
.form-row input[type=email],
|
|
||||||
.form-row input[type=url],
|
|
||||||
.form-row input[type=tel],
|
|
||||||
.form-row input[type=number],
|
|
||||||
.form-row textarea,
|
|
||||||
.form-row select,
|
|
||||||
.form-row .vTextField {
|
|
||||||
box-sizing: border-box;
|
|
||||||
margin: 0;
|
|
||||||
padding: 6px 8px;
|
|
||||||
min-height: 2.25rem;
|
|
||||||
font-size: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.form-row select {
|
|
||||||
height: 2.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.form-row select[multiple] {
|
|
||||||
height: auto;
|
|
||||||
min-height: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
fieldset .fieldBox + .fieldBox {
|
|
||||||
margin-top: 10px;
|
|
||||||
padding-top: 10px;
|
|
||||||
border-top: 1px solid var(--hairline-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
textarea {
|
|
||||||
max-width: 100%;
|
|
||||||
max-height: 120px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.aligned label {
|
|
||||||
padding-top: 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.aligned .related-lookup,
|
|
||||||
.aligned .datetimeshortcuts,
|
|
||||||
.aligned .related-lookup + strong {
|
|
||||||
align-self: center;
|
|
||||||
margin-left: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
form .aligned div.radiolist {
|
|
||||||
margin-left: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.submit-row {
|
|
||||||
padding: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.submit-row a.deletelink {
|
|
||||||
padding: 10px 7px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.button, input[type=submit], input[type=button], .submit-row input, a.button {
|
|
||||||
padding: 7px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Selector */
|
|
||||||
|
|
||||||
.selector {
|
|
||||||
display: flex;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector .selector-filter {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector .selector-filter label {
|
|
||||||
margin: 0 8px 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector .selector-filter input {
|
|
||||||
width: 100%;
|
|
||||||
min-height: 0;
|
|
||||||
flex: 1 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector-available, .selector-chosen {
|
|
||||||
width: auto;
|
|
||||||
flex: 1 1;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector select {
|
|
||||||
width: 100%;
|
|
||||||
flex: 1 0 auto;
|
|
||||||
margin-bottom: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector ul.selector-chooser {
|
|
||||||
width: 26px;
|
|
||||||
height: 52px;
|
|
||||||
padding: 2px 0;
|
|
||||||
border-radius: 20px;
|
|
||||||
transform: translateY(-10px);
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector-add, .selector-remove {
|
|
||||||
width: 20px;
|
|
||||||
height: 20px;
|
|
||||||
background-size: 20px auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector-add {
|
|
||||||
background-position: 0 -120px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector-remove {
|
|
||||||
background-position: 0 -80px;
|
|
||||||
}
|
|
||||||
|
|
||||||
a.selector-chooseall, a.selector-clearall {
|
|
||||||
align-self: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.stacked {
|
|
||||||
flex-direction: column;
|
|
||||||
max-width: 480px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.stacked > * {
|
|
||||||
flex: 0 1 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.stacked select {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.stacked .selector-available, .stacked .selector-chosen {
|
|
||||||
width: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.stacked ul.selector-chooser {
|
|
||||||
width: 52px;
|
|
||||||
height: 26px;
|
|
||||||
padding: 0 2px;
|
|
||||||
transform: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.stacked .selector-chooser li {
|
|
||||||
padding: 3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.stacked .selector-add, .stacked .selector-remove {
|
|
||||||
background-size: 20px auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.stacked .selector-add {
|
|
||||||
background-position: 0 -40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.stacked .active.selector-add {
|
|
||||||
background-position: 0 -40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.active.selector-add:focus, .active.selector-add:hover {
|
|
||||||
background-position: 0 -140px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.stacked .active.selector-add:focus, .stacked .active.selector-add:hover {
|
|
||||||
background-position: 0 -60px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.stacked .selector-remove {
|
|
||||||
background-position: 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.stacked .active.selector-remove {
|
|
||||||
background-position: 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.active.selector-remove:focus, .active.selector-remove:hover {
|
|
||||||
background-position: 0 -100px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.stacked .active.selector-remove:focus, .stacked .active.selector-remove:hover {
|
|
||||||
background-position: 0 -20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.help-tooltip, .selector .help-icon {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.datetime input {
|
|
||||||
width: 50%;
|
|
||||||
max-width: 120px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.datetime span {
|
|
||||||
font-size: 0.8125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.datetime .timezonewarning {
|
|
||||||
display: block;
|
|
||||||
font-size: 0.6875rem;
|
|
||||||
color: var(--body-quiet-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
.datetimeshortcuts {
|
|
||||||
color: var(--border-color); /* XXX Redundant, .datetime span also sets #ccc */
|
|
||||||
}
|
|
||||||
|
|
||||||
.form-row .datetime input.vDateField, .form-row .datetime input.vTimeField {
|
|
||||||
width: 75%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-group {
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Messages */
|
|
||||||
|
|
||||||
ul.messagelist li {
|
|
||||||
padding-left: 55px;
|
|
||||||
background-position: 30px 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.messagelist li.error {
|
|
||||||
background-position: 30px 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.messagelist li.warning {
|
|
||||||
background-position: 30px 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Login */
|
|
||||||
|
|
||||||
.login #header {
|
|
||||||
padding: 15px 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login #site-name {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* GIS */
|
|
||||||
|
|
||||||
div.olMap {
|
|
||||||
max-width: calc(100vw - 30px);
|
|
||||||
max-height: 300px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.olMap + .clear_features {
|
|
||||||
display: block;
|
|
||||||
margin-top: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Docs */
|
|
||||||
|
|
||||||
.module table.xfull {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
pre.literal-block {
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Mobile */
|
|
||||||
|
|
||||||
@media (max-width: 767px) {
|
|
||||||
/* Layout */
|
|
||||||
|
|
||||||
#header, #content {
|
|
||||||
padding: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.breadcrumbs {
|
|
||||||
padding: 10px 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Dashboard */
|
|
||||||
|
|
||||||
.colMS, .colSM {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content-related, .colSM #content-related {
|
|
||||||
width: 100%;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content-related .module {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content-related .module h2 {
|
|
||||||
padding: 10px 15px;
|
|
||||||
font-size: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Changelist */
|
|
||||||
|
|
||||||
#changelist {
|
|
||||||
align-items: stretch;
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
|
|
||||||
#toolbar {
|
|
||||||
padding: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist-filter {
|
|
||||||
margin-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist .actions label {
|
|
||||||
flex: 1 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist .actions select {
|
|
||||||
flex: 1 0;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist .actions span {
|
|
||||||
flex: 1 0 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist-filter {
|
|
||||||
position: static;
|
|
||||||
width: auto;
|
|
||||||
margin-top: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.object-tools {
|
|
||||||
float: none;
|
|
||||||
margin: 0 0 15px;
|
|
||||||
padding: 0;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.object-tools li {
|
|
||||||
height: auto;
|
|
||||||
margin-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.object-tools li + li {
|
|
||||||
margin-left: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Forms */
|
|
||||||
|
|
||||||
.form-row {
|
|
||||||
padding: 15px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.aligned .form-row,
|
|
||||||
.aligned .form-row > div {
|
|
||||||
max-width: 100vw;
|
|
||||||
}
|
|
||||||
|
|
||||||
.aligned .form-row > div {
|
|
||||||
width: calc(100vw - 30px);
|
|
||||||
}
|
|
||||||
|
|
||||||
.flex-container {
|
|
||||||
flex-flow: column;
|
|
||||||
}
|
|
||||||
|
|
||||||
.flex-container.checkbox-row {
|
|
||||||
flex-flow: row;
|
|
||||||
}
|
|
||||||
|
|
||||||
textarea {
|
|
||||||
max-width: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vURLField {
|
|
||||||
width: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
fieldset .fieldBox + .fieldBox {
|
|
||||||
margin-top: 15px;
|
|
||||||
padding-top: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.aligned label {
|
|
||||||
width: 100%;
|
|
||||||
min-width: auto;
|
|
||||||
padding: 0 0 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.aligned label:after {
|
|
||||||
max-height: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.aligned .form-row input,
|
|
||||||
.aligned .form-row select,
|
|
||||||
.aligned .form-row textarea {
|
|
||||||
flex: 1 1 auto;
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.aligned .checkbox-row input {
|
|
||||||
flex: 0 1 auto;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.aligned .vCheckboxLabel {
|
|
||||||
flex: 1 0;
|
|
||||||
padding: 1px 0 0 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.aligned label + p,
|
|
||||||
.aligned label + div.help,
|
|
||||||
.aligned label + div.readonly {
|
|
||||||
padding: 0;
|
|
||||||
margin-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.aligned p.file-upload {
|
|
||||||
font-size: 0.8125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
span.clearable-file-input {
|
|
||||||
margin-left: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
span.clearable-file-input label {
|
|
||||||
font-size: 0.8125rem;
|
|
||||||
padding-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.aligned .timezonewarning {
|
|
||||||
flex: 1 0 100%;
|
|
||||||
margin-top: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
form .aligned .form-row div.help {
|
|
||||||
width: 100%;
|
|
||||||
margin: 5px 0 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
form .aligned ul,
|
|
||||||
form .aligned ul.errorlist {
|
|
||||||
margin-left: 0;
|
|
||||||
padding-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
form .aligned div.radiolist {
|
|
||||||
margin-top: 5px;
|
|
||||||
margin-right: 15px;
|
|
||||||
margin-bottom: -3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
form .aligned div.radiolist:not(.inline) div + div {
|
|
||||||
margin-top: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Related widget */
|
|
||||||
|
|
||||||
.related-widget-wrapper {
|
|
||||||
width: 100%;
|
|
||||||
display: flex;
|
|
||||||
align-items: flex-start;
|
|
||||||
}
|
|
||||||
|
|
||||||
.related-widget-wrapper .selector {
|
|
||||||
order: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.related-widget-wrapper > a {
|
|
||||||
order: 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
.related-widget-wrapper .radiolist ~ a {
|
|
||||||
align-self: flex-end;
|
|
||||||
}
|
|
||||||
|
|
||||||
.related-widget-wrapper > select ~ a {
|
|
||||||
align-self: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Selector */
|
|
||||||
|
|
||||||
.selector {
|
|
||||||
flex-direction: column;
|
|
||||||
gap: 10px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector-available, .selector-chosen {
|
|
||||||
flex: 1 1 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector select {
|
|
||||||
max-height: 96px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector ul.selector-chooser {
|
|
||||||
display: block;
|
|
||||||
width: 52px;
|
|
||||||
height: 26px;
|
|
||||||
padding: 0 2px;
|
|
||||||
transform: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector ul.selector-chooser li {
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector-remove {
|
|
||||||
background-position: 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.active.selector-remove:focus, .active.selector-remove:hover {
|
|
||||||
background-position: 0 -20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector-add {
|
|
||||||
background-position: 0 -40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.active.selector-add:focus, .active.selector-add:hover {
|
|
||||||
background-position: 0 -60px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Inlines */
|
|
||||||
|
|
||||||
.inline-group[data-inline-type="stacked"] .inline-related {
|
|
||||||
border: 1px solid var(--hairline-color);
|
|
||||||
border-radius: 4px;
|
|
||||||
margin-top: 15px;
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-group[data-inline-type="stacked"] .inline-related > * {
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-group[data-inline-type="stacked"] .inline-related .module {
|
|
||||||
padding: 0 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-group[data-inline-type="stacked"] .inline-related .module .form-row {
|
|
||||||
border-top: 1px solid var(--hairline-color);
|
|
||||||
border-bottom: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-group[data-inline-type="stacked"] .inline-related .module .form-row:first-child {
|
|
||||||
border-top: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-group[data-inline-type="stacked"] .inline-related h3 {
|
|
||||||
padding: 10px;
|
|
||||||
border-top-width: 0;
|
|
||||||
border-bottom-width: 2px;
|
|
||||||
display: flex;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-group[data-inline-type="stacked"] .inline-related h3 .inline_label {
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-group[data-inline-type="stacked"] .inline-related h3 span.delete {
|
|
||||||
float: none;
|
|
||||||
flex: 1 1 100%;
|
|
||||||
margin-top: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-group[data-inline-type="stacked"] .aligned .form-row > div:not([class]) {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-group[data-inline-type="stacked"] .aligned label {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-group[data-inline-type="stacked"] div.add-row {
|
|
||||||
margin-top: 15px;
|
|
||||||
border: 1px solid var(--hairline-color);
|
|
||||||
border-radius: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-group div.add-row,
|
|
||||||
.inline-group .tabular tr.add-row td {
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-group div.add-row a,
|
|
||||||
.inline-group .tabular tr.add-row td a {
|
|
||||||
display: block;
|
|
||||||
padding: 8px 10px 8px 26px;
|
|
||||||
background-position: 8px 9px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Submit row */
|
|
||||||
|
|
||||||
.submit-row {
|
|
||||||
padding: 10px;
|
|
||||||
margin: 0 0 15px;
|
|
||||||
flex-direction: column;
|
|
||||||
gap: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.submit-row input, .submit-row input.default, .submit-row a {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.submit-row a.closelink {
|
|
||||||
padding: 10px 0;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.submit-row a.deletelink {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Messages */
|
|
||||||
|
|
||||||
ul.messagelist li {
|
|
||||||
padding-left: 40px;
|
|
||||||
background-position: 15px 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.messagelist li.error {
|
|
||||||
background-position: 15px 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.messagelist li.warning {
|
|
||||||
background-position: 15px 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Paginator */
|
|
||||||
|
|
||||||
.paginator .this-page, .paginator a:link, .paginator a:visited {
|
|
||||||
padding: 4px 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Login */
|
|
||||||
|
|
||||||
body.login {
|
|
||||||
padding: 0 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login #container {
|
|
||||||
width: auto;
|
|
||||||
max-width: 480px;
|
|
||||||
margin: 50px auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login #header,
|
|
||||||
.login #content {
|
|
||||||
padding: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login #content-main {
|
|
||||||
float: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login .form-row {
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login .form-row + .form-row {
|
|
||||||
margin-top: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login .form-row label {
|
|
||||||
margin: 0 0 5px;
|
|
||||||
line-height: 1.2;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login .submit-row {
|
|
||||||
padding: 15px 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login br {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login .submit-row input {
|
|
||||||
margin: 0;
|
|
||||||
text-transform: uppercase;
|
|
||||||
}
|
|
||||||
|
|
||||||
.errornote {
|
|
||||||
margin: 0 0 20px;
|
|
||||||
padding: 8px 12px;
|
|
||||||
font-size: 0.8125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Calendar and clock */
|
|
||||||
|
|
||||||
.calendarbox, .clockbox {
|
|
||||||
position: fixed !important;
|
|
||||||
top: 50% !important;
|
|
||||||
left: 50% !important;
|
|
||||||
transform: translate(-50%, -50%);
|
|
||||||
margin: 0;
|
|
||||||
border: none;
|
|
||||||
overflow: visible;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendarbox:before, .clockbox:before {
|
|
||||||
content: '';
|
|
||||||
position: fixed;
|
|
||||||
top: 50%;
|
|
||||||
left: 50%;
|
|
||||||
width: 100vw;
|
|
||||||
height: 100vh;
|
|
||||||
background: rgba(0, 0, 0, 0.75);
|
|
||||||
transform: translate(-50%, -50%);
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendarbox > *, .clockbox > * {
|
|
||||||
position: relative;
|
|
||||||
z-index: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendarbox > div:first-child {
|
|
||||||
z-index: 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendarbox .calendar, .clockbox h2 {
|
|
||||||
border-radius: 4px 4px 0 0;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendarbox .calendar-cancel, .clockbox .calendar-cancel {
|
|
||||||
border-radius: 0 0 4px 4px;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar-shortcuts {
|
|
||||||
padding: 10px 0;
|
|
||||||
font-size: 0.75rem;
|
|
||||||
line-height: 0.75rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar-shortcuts a {
|
|
||||||
margin: 0 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.timelist a {
|
|
||||||
background: var(--body-bg);
|
|
||||||
padding: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar-cancel {
|
|
||||||
padding: 8px 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.clockbox h2 {
|
|
||||||
padding: 8px 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar caption {
|
|
||||||
padding: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendarbox .calendarnav-previous, .calendarbox .calendarnav-next {
|
|
||||||
z-index: 1;
|
|
||||||
top: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* History */
|
|
||||||
|
|
||||||
table#change-history tbody th, table#change-history tbody td {
|
|
||||||
font-size: 0.8125rem;
|
|
||||||
word-break: break-word;
|
|
||||||
}
|
|
||||||
|
|
||||||
table#change-history tbody th {
|
|
||||||
width: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Docs */
|
|
||||||
|
|
||||||
table.model tbody th, table.model tbody td {
|
|
||||||
font-size: 0.8125rem;
|
|
||||||
word-break: break-word;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
|
@ -1,111 +0,0 @@
|
||||||
/* TABLETS */
|
|
||||||
|
|
||||||
@media (max-width: 1024px) {
|
|
||||||
[dir="rtl"] .colMS {
|
|
||||||
margin-right: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
[dir="rtl"] #user-tools {
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
[dir="rtl"] #changelist .actions label {
|
|
||||||
padding-left: 10px;
|
|
||||||
padding-right: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
[dir="rtl"] #changelist .actions select {
|
|
||||||
margin-left: 0;
|
|
||||||
margin-right: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
[dir="rtl"] .change-list .filtered .results,
|
|
||||||
[dir="rtl"] .change-list .filtered .paginator,
|
|
||||||
[dir="rtl"] .filtered #toolbar,
|
|
||||||
[dir="rtl"] .filtered div.xfull,
|
|
||||||
[dir="rtl"] .filtered .actions,
|
|
||||||
[dir="rtl"] #changelist-filter {
|
|
||||||
margin-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
[dir="rtl"] .inline-group ul.tools a.add,
|
|
||||||
[dir="rtl"] .inline-group div.add-row a,
|
|
||||||
[dir="rtl"] .inline-group .tabular tr.add-row td a {
|
|
||||||
padding: 8px 26px 8px 10px;
|
|
||||||
background-position: calc(100% - 8px) 9px;
|
|
||||||
}
|
|
||||||
|
|
||||||
[dir="rtl"] .selector .selector-filter label {
|
|
||||||
margin-right: 0;
|
|
||||||
margin-left: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
[dir="rtl"] .object-tools li {
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
[dir="rtl"] .object-tools li + li {
|
|
||||||
margin-left: 0;
|
|
||||||
margin-right: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
[dir="rtl"] .dashboard .module table td a {
|
|
||||||
padding-left: 0;
|
|
||||||
padding-right: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
[dir="rtl"] .selector-add {
|
|
||||||
background-position: 0 -80px;
|
|
||||||
}
|
|
||||||
|
|
||||||
[dir="rtl"] .selector-remove {
|
|
||||||
background-position: 0 -120px;
|
|
||||||
}
|
|
||||||
|
|
||||||
[dir="rtl"] .active.selector-add:focus, .active.selector-add:hover {
|
|
||||||
background-position: 0 -100px;
|
|
||||||
}
|
|
||||||
|
|
||||||
[dir="rtl"] .active.selector-remove:focus, .active.selector-remove:hover {
|
|
||||||
background-position: 0 -140px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* MOBILE */
|
|
||||||
|
|
||||||
@media (max-width: 767px) {
|
|
||||||
[dir="rtl"] .aligned .related-lookup,
|
|
||||||
[dir="rtl"] .aligned .datetimeshortcuts {
|
|
||||||
margin-left: 0;
|
|
||||||
margin-right: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
[dir="rtl"] .aligned ul,
|
|
||||||
[dir="rtl"] form .aligned ul.errorlist {
|
|
||||||
margin-right: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
[dir="rtl"] #changelist-filter {
|
|
||||||
margin-left: 0;
|
|
||||||
margin-right: 0;
|
|
||||||
}
|
|
||||||
[dir="rtl"] .aligned .vCheckboxLabel {
|
|
||||||
padding: 1px 5px 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
[dir="rtl"] .selector-remove {
|
|
||||||
background-position: 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
[dir="rtl"] .active.selector-remove:focus, .active.selector-remove:hover {
|
|
||||||
background-position: 0 -20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
[dir="rtl"] .selector-add {
|
|
||||||
background-position: 0 -40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
[dir="rtl"] .active.selector-add:focus, .active.selector-add:hover {
|
|
||||||
background-position: 0 -60px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
|
@ -1,291 +0,0 @@
|
||||||
/* GLOBAL */
|
|
||||||
|
|
||||||
th {
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
.module h2, .module caption {
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
.module ul, .module ol {
|
|
||||||
margin-left: 0;
|
|
||||||
margin-right: 1.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.viewlink, .addlink, .changelink, .hidelink {
|
|
||||||
padding-left: 0;
|
|
||||||
padding-right: 16px;
|
|
||||||
background-position: 100% 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.deletelink {
|
|
||||||
padding-left: 0;
|
|
||||||
padding-right: 16px;
|
|
||||||
background-position: 100% 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.object-tools {
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
thead th:first-child,
|
|
||||||
tfoot td:first-child {
|
|
||||||
border-left: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LAYOUT */
|
|
||||||
|
|
||||||
#user-tools {
|
|
||||||
right: auto;
|
|
||||||
left: 0;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.breadcrumbs {
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content-main {
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content-related {
|
|
||||||
float: left;
|
|
||||||
margin-left: -300px;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.colMS {
|
|
||||||
margin-left: 300px;
|
|
||||||
margin-right: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* SORTABLE TABLES */
|
|
||||||
|
|
||||||
table thead th.sorted .sortoptions {
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
thead th.sorted .text {
|
|
||||||
padding-right: 0;
|
|
||||||
padding-left: 42px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* dashboard styles */
|
|
||||||
|
|
||||||
.dashboard .module table td a {
|
|
||||||
padding-left: .6em;
|
|
||||||
padding-right: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* changelists styles */
|
|
||||||
|
|
||||||
.change-list .filtered table {
|
|
||||||
border-left: none;
|
|
||||||
border-right: 0px none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist-filter {
|
|
||||||
border-left: none;
|
|
||||||
border-right: none;
|
|
||||||
margin-left: 0;
|
|
||||||
margin-right: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist-filter li.selected {
|
|
||||||
border-left: none;
|
|
||||||
padding-left: 10px;
|
|
||||||
margin-left: 0;
|
|
||||||
border-right: 5px solid var(--hairline-color);
|
|
||||||
padding-right: 10px;
|
|
||||||
margin-right: -15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#changelist table tbody td:first-child, #changelist table tbody th:first-child {
|
|
||||||
border-right: none;
|
|
||||||
border-left: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.paginator .end {
|
|
||||||
margin-left: 6px;
|
|
||||||
margin-right: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.paginator input {
|
|
||||||
margin-left: 0;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* FORMS */
|
|
||||||
|
|
||||||
.aligned label {
|
|
||||||
padding: 0 0 3px 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.submit-row a.deletelink {
|
|
||||||
margin-left: 0;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vDateField, .vTimeField {
|
|
||||||
margin-left: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.aligned .form-row input {
|
|
||||||
margin-left: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
form .aligned ul {
|
|
||||||
margin-right: 163px;
|
|
||||||
padding-right: 10px;
|
|
||||||
margin-left: 0;
|
|
||||||
padding-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
form ul.inline li {
|
|
||||||
float: right;
|
|
||||||
padding-right: 0;
|
|
||||||
padding-left: 7px;
|
|
||||||
}
|
|
||||||
|
|
||||||
form .aligned p.help,
|
|
||||||
form .aligned div.help {
|
|
||||||
margin-left: 0;
|
|
||||||
margin-right: 160px;
|
|
||||||
padding-right: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
form div.help ul,
|
|
||||||
form .aligned .checkbox-row + .help,
|
|
||||||
form .aligned p.date div.help.timezonewarning,
|
|
||||||
form .aligned p.datetime div.help.timezonewarning,
|
|
||||||
form .aligned p.time div.help.timezonewarning {
|
|
||||||
margin-right: 0;
|
|
||||||
padding-right: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
form .wide p.help,
|
|
||||||
form .wide ul.errorlist,
|
|
||||||
form .wide div.help {
|
|
||||||
padding-left: 0;
|
|
||||||
padding-right: 50px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.submit-row {
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
fieldset .fieldBox {
|
|
||||||
margin-left: 20px;
|
|
||||||
margin-right: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.errorlist li {
|
|
||||||
background-position: 100% 12px;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.errornote {
|
|
||||||
background-position: 100% 12px;
|
|
||||||
padding: 10px 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* WIDGETS */
|
|
||||||
|
|
||||||
.calendarnav-previous {
|
|
||||||
top: 0;
|
|
||||||
left: auto;
|
|
||||||
right: 10px;
|
|
||||||
background: url(../img/calendar-icons.svg) 0 -15px no-repeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendarnav-next {
|
|
||||||
top: 0;
|
|
||||||
right: auto;
|
|
||||||
left: 10px;
|
|
||||||
background: url(../img/calendar-icons.svg) 0 0 no-repeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar caption, .calendarbox h2 {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector {
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector .selector-filter {
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector-add {
|
|
||||||
background: url(../img/selector-icons.svg) 0 -64px no-repeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
.active.selector-add:focus, .active.selector-add:hover {
|
|
||||||
background-position: 0 -80px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector-remove {
|
|
||||||
background: url(../img/selector-icons.svg) 0 -96px no-repeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
.active.selector-remove:focus, .active.selector-remove:hover {
|
|
||||||
background-position: 0 -112px;
|
|
||||||
}
|
|
||||||
|
|
||||||
a.selector-chooseall {
|
|
||||||
background: url(../img/selector-icons.svg) right -128px no-repeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
a.active.selector-chooseall:focus, a.active.selector-chooseall:hover {
|
|
||||||
background-position: 100% -144px;
|
|
||||||
}
|
|
||||||
|
|
||||||
a.selector-clearall {
|
|
||||||
background: url(../img/selector-icons.svg) 0 -160px no-repeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
a.active.selector-clearall:focus, a.active.selector-clearall:hover {
|
|
||||||
background-position: 0 -176px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-deletelink {
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
form .form-row p.datetime {
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.related-widget-wrapper {
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* MISC */
|
|
||||||
|
|
||||||
.inline-related h2, .inline-group h2 {
|
|
||||||
text-align: right
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-related h3 span.delete {
|
|
||||||
padding-right: 20px;
|
|
||||||
padding-left: inherit;
|
|
||||||
left: 10px;
|
|
||||||
right: inherit;
|
|
||||||
float:left;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-related h3 span.delete label {
|
|
||||||
margin-left: inherit;
|
|
||||||
margin-right: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-group .tabular td.original p {
|
|
||||||
right: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector .selector-chooser {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
2
staticfiles/admin/css/tom-select.min.css
vendored
2
staticfiles/admin/css/tom-select.min.css
vendored
File diff suppressed because one or more lines are too long
Binary file not shown.
|
|
@ -1,19 +0,0 @@
|
||||||
/* Hide warnings fields if usable password is selected */
|
|
||||||
form:has(#id_usable_password input[value="true"]:checked) .messagelist {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Hide password fields if unusable password is selected */
|
|
||||||
form:has(#id_usable_password input[value="false"]:checked) .field-password1,
|
|
||||||
form:has(#id_usable_password input[value="false"]:checked) .field-password2 {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Select appropriate submit button */
|
|
||||||
form:has(#id_usable_password input[value="true"]:checked) input[type="submit"].unset-password {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
form:has(#id_usable_password input[value="false"]:checked) input[type="submit"].set-password {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
|
@ -1,21 +0,0 @@
|
||||||
The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright (c) 2012-2017 Kevin Brown, Igor Vaynberg, and Select2 contributors
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in
|
|
||||||
all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
||||||
THE SOFTWARE.
|
|
||||||
Binary file not shown.
630
staticfiles/admin/css/vendor/select2/select2.css
vendored
630
staticfiles/admin/css/vendor/select2/select2.css
vendored
|
|
@ -1,630 +0,0 @@
|
||||||
.select2-container {
|
|
||||||
box-sizing: border-box;
|
|
||||||
display: inline-block;
|
|
||||||
margin: 0;
|
|
||||||
position: relative;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container .select2-selection--single {
|
|
||||||
box-sizing: border-box;
|
|
||||||
cursor: pointer;
|
|
||||||
display: block;
|
|
||||||
user-select: none;
|
|
||||||
-webkit-user-select: none;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
padding: 11px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container .select2-selection--single .select2-selection__rendered {
|
|
||||||
display: block;
|
|
||||||
padding-left: 8px;
|
|
||||||
padding-right: 20px;
|
|
||||||
overflow: hidden;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container .select2-selection--single .select2-selection__clear {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
|
|
||||||
padding-right: 8px;
|
|
||||||
padding-left: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container .select2-selection--multiple {
|
|
||||||
box-sizing: border-box;
|
|
||||||
cursor: pointer;
|
|
||||||
display: block;
|
|
||||||
min-height: 32px;
|
|
||||||
user-select: none;
|
|
||||||
-webkit-user-select: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container .select2-selection--multiple .select2-selection__rendered {
|
|
||||||
display: inline-block;
|
|
||||||
overflow: hidden;
|
|
||||||
padding-left: 8px;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container .select2-search--inline {
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container .select2-search--inline .select2-search__field {
|
|
||||||
box-sizing: border-box;
|
|
||||||
border: none;
|
|
||||||
font-size: 100%;
|
|
||||||
margin-top: 5px;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
|
|
||||||
-webkit-appearance: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-dropdown {
|
|
||||||
background-color: white;
|
|
||||||
border: 1px solid #aaa;
|
|
||||||
border-radius: 4px;
|
|
||||||
box-sizing: border-box;
|
|
||||||
display: block;
|
|
||||||
position: absolute;
|
|
||||||
left: -100000px;
|
|
||||||
width: 100%;
|
|
||||||
z-index: 1051;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-results {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-results__options {
|
|
||||||
list-style: none;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-results__option {
|
|
||||||
padding: 6px;
|
|
||||||
user-select: none;
|
|
||||||
-webkit-user-select: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-results__option[aria-selected] {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--open .select2-dropdown {
|
|
||||||
left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--open .select2-dropdown--above {
|
|
||||||
border-bottom: none;
|
|
||||||
border-bottom-left-radius: 0;
|
|
||||||
border-bottom-right-radius: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--open .select2-dropdown--below {
|
|
||||||
border-top: none;
|
|
||||||
border-top-left-radius: 0;
|
|
||||||
border-top-right-radius: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-search--dropdown {
|
|
||||||
display: block;
|
|
||||||
padding: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-search--dropdown .select2-search__field {
|
|
||||||
padding: 4px;
|
|
||||||
width: 100%;
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
|
|
||||||
-webkit-appearance: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-search--dropdown.select2-search--hide {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-close-mask {
|
|
||||||
border: 0;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
display: block;
|
|
||||||
position: fixed;
|
|
||||||
left: 0;
|
|
||||||
top: 0;
|
|
||||||
min-height: 100%;
|
|
||||||
min-width: 100%;
|
|
||||||
height: auto;
|
|
||||||
width: auto;
|
|
||||||
opacity: 0;
|
|
||||||
z-index: 99;
|
|
||||||
background-color: #fff;
|
|
||||||
filter: alpha(opacity=0);
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-hidden-accessible {
|
|
||||||
border: 0 !important;
|
|
||||||
clip: rect(0 0 0 0) !important;
|
|
||||||
-webkit-clip-path: inset(50%) !important;
|
|
||||||
clip-path: inset(50%) !important;
|
|
||||||
height: 1px !important;
|
|
||||||
overflow: hidden !important;
|
|
||||||
padding: 0 !important;
|
|
||||||
position: absolute !important;
|
|
||||||
width: 1px !important;
|
|
||||||
white-space: nowrap !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default .select2-selection--single {
|
|
||||||
background-color: #fff;
|
|
||||||
border: 1px solid #aaa;
|
|
||||||
border-radius: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default .select2-selection--single .select2-selection__rendered {
|
|
||||||
color: #444;
|
|
||||||
line-height: 28px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default .select2-selection--single .select2-selection__clear {
|
|
||||||
cursor: pointer;
|
|
||||||
float: right;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default .select2-selection--single .select2-selection__placeholder {
|
|
||||||
color: #999;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default .select2-selection--single .select2-selection__arrow {
|
|
||||||
height: 26px;
|
|
||||||
position: absolute;
|
|
||||||
top: 1px;
|
|
||||||
right: 1px;
|
|
||||||
width: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default .select2-selection--single .select2-selection__arrow b {
|
|
||||||
border-color: #888 transparent transparent transparent;
|
|
||||||
border-style: solid;
|
|
||||||
border-width: 5px 4px 0 4px;
|
|
||||||
height: 0;
|
|
||||||
left: 50%;
|
|
||||||
margin-left: -4px;
|
|
||||||
margin-top: -2px;
|
|
||||||
position: absolute;
|
|
||||||
top: 50%;
|
|
||||||
width: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
|
|
||||||
left: 1px;
|
|
||||||
right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default.select2-container--disabled .select2-selection--single {
|
|
||||||
background-color: #eee;
|
|
||||||
cursor: default;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
|
|
||||||
border-color: transparent transparent #888 transparent;
|
|
||||||
border-width: 0 4px 5px 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default .select2-selection--multiple {
|
|
||||||
background-color: white;
|
|
||||||
border: 1px solid #aaa;
|
|
||||||
border-radius: 4px;
|
|
||||||
cursor: text;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default .select2-selection--multiple .select2-selection__rendered {
|
|
||||||
box-sizing: border-box;
|
|
||||||
list-style: none;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0 5px;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default .select2-selection--multiple .select2-selection__rendered li {
|
|
||||||
list-style: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default .select2-selection--multiple .select2-selection__clear {
|
|
||||||
cursor: pointer;
|
|
||||||
float: right;
|
|
||||||
font-weight: bold;
|
|
||||||
margin-top: 5px;
|
|
||||||
margin-right: 10px;
|
|
||||||
padding: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default .select2-selection--multiple .select2-selection__choice {
|
|
||||||
background-color: #e4e4e4;
|
|
||||||
border: 1px solid #aaa;
|
|
||||||
border-radius: 4px;
|
|
||||||
cursor: default;
|
|
||||||
float: left;
|
|
||||||
margin-right: 5px;
|
|
||||||
margin-top: 5px;
|
|
||||||
padding: 0 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
|
|
||||||
color: #999;
|
|
||||||
cursor: pointer;
|
|
||||||
display: inline-block;
|
|
||||||
font-weight: bold;
|
|
||||||
margin-right: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline {
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
|
|
||||||
margin-left: 5px;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
|
|
||||||
margin-left: 2px;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default.select2-container--focus .select2-selection--multiple {
|
|
||||||
border: solid black 1px;
|
|
||||||
outline: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default.select2-container--disabled .select2-selection--multiple {
|
|
||||||
background-color: #eee;
|
|
||||||
cursor: default;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
|
|
||||||
border-top-left-radius: 0;
|
|
||||||
border-top-right-radius: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
|
|
||||||
border-bottom-left-radius: 0;
|
|
||||||
border-bottom-right-radius: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default .select2-search--dropdown .select2-search__field {
|
|
||||||
border: 1px solid #aaa;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default .select2-search--inline .select2-search__field {
|
|
||||||
background: transparent;
|
|
||||||
border: none;
|
|
||||||
outline: 0;
|
|
||||||
box-shadow: none;
|
|
||||||
-webkit-appearance: textfield;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default .select2-results > .select2-results__options {
|
|
||||||
max-height: 200px;
|
|
||||||
overflow-y: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default .select2-results__option[role=group] {
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default .select2-results__option[aria-disabled=true] {
|
|
||||||
color: #999;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default .select2-results__option[aria-selected=true] {
|
|
||||||
background-color: #ddd;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default .select2-results__option .select2-results__option {
|
|
||||||
padding-left: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default .select2-results__option .select2-results__option .select2-results__group {
|
|
||||||
padding-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default .select2-results__option .select2-results__option .select2-results__option {
|
|
||||||
margin-left: -1em;
|
|
||||||
padding-left: 2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
|
||||||
margin-left: -2em;
|
|
||||||
padding-left: 3em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
|
||||||
margin-left: -3em;
|
|
||||||
padding-left: 4em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
|
||||||
margin-left: -4em;
|
|
||||||
padding-left: 5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
|
||||||
margin-left: -5em;
|
|
||||||
padding-left: 6em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default .select2-results__option--highlighted[aria-selected] {
|
|
||||||
background-color: #5897fb;
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--default .select2-results__group {
|
|
||||||
cursor: default;
|
|
||||||
display: block;
|
|
||||||
padding: 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic .select2-selection--single {
|
|
||||||
background-color: #f7f7f7;
|
|
||||||
border: 1px solid #aaa;
|
|
||||||
border-radius: 4px;
|
|
||||||
outline: 0;
|
|
||||||
background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%);
|
|
||||||
background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%);
|
|
||||||
background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
|
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0);
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic .select2-selection--single:focus {
|
|
||||||
border: 1px solid #5897fb;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic .select2-selection--single .select2-selection__rendered {
|
|
||||||
color: #444;
|
|
||||||
line-height: 28px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic .select2-selection--single .select2-selection__clear {
|
|
||||||
cursor: pointer;
|
|
||||||
float: right;
|
|
||||||
font-weight: bold;
|
|
||||||
margin-right: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic .select2-selection--single .select2-selection__placeholder {
|
|
||||||
color: #999;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic .select2-selection--single .select2-selection__arrow {
|
|
||||||
background-color: #ddd;
|
|
||||||
border: none;
|
|
||||||
border-left: 1px solid #aaa;
|
|
||||||
border-top-right-radius: 4px;
|
|
||||||
border-bottom-right-radius: 4px;
|
|
||||||
height: 26px;
|
|
||||||
position: absolute;
|
|
||||||
top: 1px;
|
|
||||||
right: 1px;
|
|
||||||
width: 20px;
|
|
||||||
background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
|
|
||||||
background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
|
|
||||||
background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
|
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0);
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic .select2-selection--single .select2-selection__arrow b {
|
|
||||||
border-color: #888 transparent transparent transparent;
|
|
||||||
border-style: solid;
|
|
||||||
border-width: 5px 4px 0 4px;
|
|
||||||
height: 0;
|
|
||||||
left: 50%;
|
|
||||||
margin-left: -4px;
|
|
||||||
margin-top: -2px;
|
|
||||||
position: absolute;
|
|
||||||
top: 50%;
|
|
||||||
width: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear {
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow {
|
|
||||||
border: none;
|
|
||||||
border-right: 1px solid #aaa;
|
|
||||||
border-radius: 0;
|
|
||||||
border-top-left-radius: 4px;
|
|
||||||
border-bottom-left-radius: 4px;
|
|
||||||
left: 1px;
|
|
||||||
right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic.select2-container--open .select2-selection--single {
|
|
||||||
border: 1px solid #5897fb;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
|
|
||||||
background: transparent;
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
|
|
||||||
border-color: transparent transparent #888 transparent;
|
|
||||||
border-width: 0 4px 5px 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
|
|
||||||
border-top: none;
|
|
||||||
border-top-left-radius: 0;
|
|
||||||
border-top-right-radius: 0;
|
|
||||||
background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%);
|
|
||||||
background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%);
|
|
||||||
background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
|
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0);
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
|
|
||||||
border-bottom: none;
|
|
||||||
border-bottom-left-radius: 0;
|
|
||||||
border-bottom-right-radius: 0;
|
|
||||||
background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%);
|
|
||||||
background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%);
|
|
||||||
background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
|
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0);
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic .select2-selection--multiple {
|
|
||||||
background-color: white;
|
|
||||||
border: 1px solid #aaa;
|
|
||||||
border-radius: 4px;
|
|
||||||
cursor: text;
|
|
||||||
outline: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic .select2-selection--multiple:focus {
|
|
||||||
border: 1px solid #5897fb;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic .select2-selection--multiple .select2-selection__rendered {
|
|
||||||
list-style: none;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic .select2-selection--multiple .select2-selection__clear {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic .select2-selection--multiple .select2-selection__choice {
|
|
||||||
background-color: #e4e4e4;
|
|
||||||
border: 1px solid #aaa;
|
|
||||||
border-radius: 4px;
|
|
||||||
cursor: default;
|
|
||||||
float: left;
|
|
||||||
margin-right: 5px;
|
|
||||||
margin-top: 5px;
|
|
||||||
padding: 0 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
|
|
||||||
color: #888;
|
|
||||||
cursor: pointer;
|
|
||||||
display: inline-block;
|
|
||||||
font-weight: bold;
|
|
||||||
margin-right: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
|
|
||||||
color: #555;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
|
|
||||||
float: right;
|
|
||||||
margin-left: 5px;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
|
|
||||||
margin-left: 2px;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic.select2-container--open .select2-selection--multiple {
|
|
||||||
border: 1px solid #5897fb;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
|
|
||||||
border-top: none;
|
|
||||||
border-top-left-radius: 0;
|
|
||||||
border-top-right-radius: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
|
|
||||||
border-bottom: none;
|
|
||||||
border-bottom-left-radius: 0;
|
|
||||||
border-bottom-right-radius: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic .select2-search--dropdown .select2-search__field {
|
|
||||||
border: 1px solid #aaa;
|
|
||||||
outline: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic .select2-search--inline .select2-search__field {
|
|
||||||
outline: 0;
|
|
||||||
box-shadow: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic .select2-dropdown {
|
|
||||||
background-color: white;
|
|
||||||
border: 1px solid transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic .select2-dropdown--above {
|
|
||||||
border-bottom: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic .select2-dropdown--below {
|
|
||||||
border-top: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic .select2-results > .select2-results__options {
|
|
||||||
max-height: 200px;
|
|
||||||
overflow-y: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic .select2-results__option[role=group] {
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic .select2-results__option[aria-disabled=true] {
|
|
||||||
color: grey;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic .select2-results__option--highlighted[aria-selected] {
|
|
||||||
background-color: #3875d7;
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic .select2-results__group {
|
|
||||||
cursor: default;
|
|
||||||
display: block;
|
|
||||||
padding: 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select2-container--classic.select2-container--open .select2-dropdown {
|
|
||||||
border-color: #5897fb;
|
|
||||||
}
|
|
||||||
BIN
staticfiles/admin/css/vendor/select2/select2.css.gz
vendored
BIN
staticfiles/admin/css/vendor/select2/select2.css.gz
vendored
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
|
|
@ -1,593 +0,0 @@
|
||||||
/* SELECTOR (FILTER INTERFACE) */
|
|
||||||
|
|
||||||
.selector {
|
|
||||||
display: flex;
|
|
||||||
flex-grow: 1;
|
|
||||||
gap: 0 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector select {
|
|
||||||
height: 17.2em;
|
|
||||||
flex: 1 0 auto;
|
|
||||||
overflow: scroll;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector-available, .selector-chosen {
|
|
||||||
text-align: center;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
flex: 1 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector-available h2, .selector-chosen h2 {
|
|
||||||
border: 1px solid var(--border-color);
|
|
||||||
border-radius: 4px 4px 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector-chosen .list-footer-display {
|
|
||||||
border: 1px solid var(--border-color);
|
|
||||||
border-top: none;
|
|
||||||
border-radius: 0 0 4px 4px;
|
|
||||||
margin: 0 0 10px;
|
|
||||||
padding: 8px;
|
|
||||||
text-align: center;
|
|
||||||
background: var(--primary);
|
|
||||||
color: var(--header-link-color);
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
.selector-chosen .list-footer-display__clear {
|
|
||||||
color: var(--breadcrumbs-fg);
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector-chosen h2 {
|
|
||||||
background: var(--secondary);
|
|
||||||
color: var(--header-link-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector .selector-available h2 {
|
|
||||||
background: var(--darkened-bg);
|
|
||||||
color: var(--body-quiet-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector .selector-filter {
|
|
||||||
border: 1px solid var(--border-color);
|
|
||||||
border-width: 0 1px;
|
|
||||||
padding: 8px;
|
|
||||||
color: var(--body-quiet-color);
|
|
||||||
font-size: 0.625rem;
|
|
||||||
margin: 0;
|
|
||||||
text-align: left;
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector .selector-filter label,
|
|
||||||
.inline-group .aligned .selector .selector-filter label {
|
|
||||||
float: left;
|
|
||||||
margin: 7px 0 0;
|
|
||||||
width: 18px;
|
|
||||||
height: 18px;
|
|
||||||
padding: 0;
|
|
||||||
overflow: hidden;
|
|
||||||
line-height: 1;
|
|
||||||
min-width: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector-filter input {
|
|
||||||
flex-grow: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector .selector-available input,
|
|
||||||
.selector .selector-chosen input {
|
|
||||||
margin-left: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector ul.selector-chooser {
|
|
||||||
align-self: center;
|
|
||||||
width: 22px;
|
|
||||||
background-color: var(--selected-bg);
|
|
||||||
border-radius: 10px;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
transform: translateY(-17px);
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector-chooser li {
|
|
||||||
margin: 0;
|
|
||||||
padding: 3px;
|
|
||||||
list-style-type: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector select {
|
|
||||||
padding: 0 10px;
|
|
||||||
margin: 0 0 10px;
|
|
||||||
border-radius: 0 0 4px 4px;
|
|
||||||
}
|
|
||||||
.selector .selector-chosen--with-filtered select {
|
|
||||||
margin: 0;
|
|
||||||
border-radius: 0;
|
|
||||||
height: 14em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector .selector-chosen:not(.selector-chosen--with-filtered) .list-footer-display {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector-add, .selector-remove {
|
|
||||||
width: 16px;
|
|
||||||
height: 16px;
|
|
||||||
display: block;
|
|
||||||
text-indent: -3000px;
|
|
||||||
overflow: hidden;
|
|
||||||
cursor: default;
|
|
||||||
opacity: 0.55;
|
|
||||||
}
|
|
||||||
|
|
||||||
.active.selector-add, .active.selector-remove {
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.active.selector-add:hover, .active.selector-remove:hover {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector-add {
|
|
||||||
background: url(../img/selector-icons.svg) 0 -96px no-repeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
.active.selector-add:focus, .active.selector-add:hover {
|
|
||||||
background-position: 0 -112px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector-remove {
|
|
||||||
background: url(../img/selector-icons.svg) 0 -64px no-repeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
.active.selector-remove:focus, .active.selector-remove:hover {
|
|
||||||
background-position: 0 -80px;
|
|
||||||
}
|
|
||||||
|
|
||||||
a.selector-chooseall, a.selector-clearall {
|
|
||||||
display: inline-block;
|
|
||||||
height: 16px;
|
|
||||||
text-align: left;
|
|
||||||
margin: 0 auto;
|
|
||||||
overflow: hidden;
|
|
||||||
font-weight: bold;
|
|
||||||
line-height: 16px;
|
|
||||||
color: var(--body-quiet-color);
|
|
||||||
text-decoration: none;
|
|
||||||
opacity: 0.55;
|
|
||||||
}
|
|
||||||
|
|
||||||
a.active.selector-chooseall:focus, a.active.selector-clearall:focus,
|
|
||||||
a.active.selector-chooseall:hover, a.active.selector-clearall:hover {
|
|
||||||
color: var(--link-fg);
|
|
||||||
}
|
|
||||||
|
|
||||||
a.active.selector-chooseall, a.active.selector-clearall {
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
a.active.selector-chooseall:hover, a.active.selector-clearall:hover {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
a.selector-chooseall {
|
|
||||||
padding: 0 18px 0 0;
|
|
||||||
background: url(../img/selector-icons.svg) right -160px no-repeat;
|
|
||||||
cursor: default;
|
|
||||||
}
|
|
||||||
|
|
||||||
a.active.selector-chooseall:focus, a.active.selector-chooseall:hover {
|
|
||||||
background-position: 100% -176px;
|
|
||||||
}
|
|
||||||
|
|
||||||
a.selector-clearall {
|
|
||||||
padding: 0 0 0 18px;
|
|
||||||
background: url(../img/selector-icons.svg) 0 -128px no-repeat;
|
|
||||||
cursor: default;
|
|
||||||
}
|
|
||||||
|
|
||||||
a.active.selector-clearall:focus, a.active.selector-clearall:hover {
|
|
||||||
background-position: 0 -144px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* STACKED SELECTORS */
|
|
||||||
|
|
||||||
.stacked {
|
|
||||||
float: left;
|
|
||||||
width: 490px;
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
.stacked select {
|
|
||||||
width: 480px;
|
|
||||||
height: 10.1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.stacked .selector-available, .stacked .selector-chosen {
|
|
||||||
width: 480px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.stacked .selector-available {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.stacked .selector-available input {
|
|
||||||
width: 422px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.stacked ul.selector-chooser {
|
|
||||||
height: 22px;
|
|
||||||
width: 50px;
|
|
||||||
margin: 0 0 10px 40%;
|
|
||||||
background-color: #eee;
|
|
||||||
border-radius: 10px;
|
|
||||||
transform: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.stacked .selector-chooser li {
|
|
||||||
float: left;
|
|
||||||
padding: 3px 3px 3px 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.stacked .selector-chooseall, .stacked .selector-clearall {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.stacked .selector-add {
|
|
||||||
background: url(../img/selector-icons.svg) 0 -32px no-repeat;
|
|
||||||
cursor: default;
|
|
||||||
}
|
|
||||||
|
|
||||||
.stacked .active.selector-add {
|
|
||||||
background-position: 0 -32px;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.stacked .active.selector-add:focus, .stacked .active.selector-add:hover {
|
|
||||||
background-position: 0 -48px;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.stacked .selector-remove {
|
|
||||||
background: url(../img/selector-icons.svg) 0 0 no-repeat;
|
|
||||||
cursor: default;
|
|
||||||
}
|
|
||||||
|
|
||||||
.stacked .active.selector-remove {
|
|
||||||
background-position: 0 0px;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.stacked .active.selector-remove:focus, .stacked .active.selector-remove:hover {
|
|
||||||
background-position: 0 -16px;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector .help-icon {
|
|
||||||
background: url(../img/icon-unknown.svg) 0 0 no-repeat;
|
|
||||||
display: inline-block;
|
|
||||||
vertical-align: middle;
|
|
||||||
margin: -2px 0 0 2px;
|
|
||||||
width: 13px;
|
|
||||||
height: 13px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector .selector-chosen .help-icon {
|
|
||||||
background: url(../img/icon-unknown-alt.svg) 0 0 no-repeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selector .search-label-icon {
|
|
||||||
background: url(../img/search.svg) 0 0 no-repeat;
|
|
||||||
display: inline-block;
|
|
||||||
height: 1.125rem;
|
|
||||||
width: 1.125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* DATE AND TIME */
|
|
||||||
|
|
||||||
p.datetime {
|
|
||||||
line-height: 20px;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
color: var(--body-quiet-color);
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.datetime span {
|
|
||||||
white-space: nowrap;
|
|
||||||
font-weight: normal;
|
|
||||||
font-size: 0.6875rem;
|
|
||||||
color: var(--body-quiet-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
.datetime input, .form-row .datetime input.vDateField, .form-row .datetime input.vTimeField {
|
|
||||||
margin-left: 5px;
|
|
||||||
margin-bottom: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
table p.datetime {
|
|
||||||
font-size: 0.6875rem;
|
|
||||||
margin-left: 0;
|
|
||||||
padding-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.datetimeshortcuts .clock-icon, .datetimeshortcuts .date-icon {
|
|
||||||
position: relative;
|
|
||||||
display: inline-block;
|
|
||||||
vertical-align: middle;
|
|
||||||
height: 16px;
|
|
||||||
width: 16px;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.datetimeshortcuts .clock-icon {
|
|
||||||
background: url(../img/icon-clock.svg) 0 0 no-repeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
.datetimeshortcuts a:focus .clock-icon,
|
|
||||||
.datetimeshortcuts a:hover .clock-icon {
|
|
||||||
background-position: 0 -16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.datetimeshortcuts .date-icon {
|
|
||||||
background: url(../img/icon-calendar.svg) 0 0 no-repeat;
|
|
||||||
top: -1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.datetimeshortcuts a:focus .date-icon,
|
|
||||||
.datetimeshortcuts a:hover .date-icon {
|
|
||||||
background-position: 0 -16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.timezonewarning {
|
|
||||||
font-size: 0.6875rem;
|
|
||||||
color: var(--body-quiet-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* URL */
|
|
||||||
|
|
||||||
p.url {
|
|
||||||
line-height: 20px;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
color: var(--body-quiet-color);
|
|
||||||
font-size: 0.6875rem;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.url a {
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* FILE UPLOADS */
|
|
||||||
|
|
||||||
p.file-upload {
|
|
||||||
line-height: 20px;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
color: var(--body-quiet-color);
|
|
||||||
font-size: 0.6875rem;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.file-upload a {
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
.file-upload .deletelink {
|
|
||||||
margin-left: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
span.clearable-file-input label {
|
|
||||||
color: var(--body-fg);
|
|
||||||
font-size: 0.6875rem;
|
|
||||||
display: inline;
|
|
||||||
float: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* CALENDARS & CLOCKS */
|
|
||||||
|
|
||||||
.calendarbox, .clockbox {
|
|
||||||
margin: 5px auto;
|
|
||||||
font-size: 0.75rem;
|
|
||||||
width: 19em;
|
|
||||||
text-align: center;
|
|
||||||
background: var(--body-bg);
|
|
||||||
color: var(--body-fg);
|
|
||||||
border: 1px solid var(--hairline-color);
|
|
||||||
border-radius: 4px;
|
|
||||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
|
|
||||||
overflow: hidden;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
.clockbox {
|
|
||||||
width: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar table {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
border-collapse: collapse;
|
|
||||||
background: white;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar caption, .calendarbox h2 {
|
|
||||||
margin: 0;
|
|
||||||
text-align: center;
|
|
||||||
border-top: none;
|
|
||||||
font-weight: 700;
|
|
||||||
font-size: 0.75rem;
|
|
||||||
color: #333;
|
|
||||||
background: var(--accent);
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar th {
|
|
||||||
padding: 8px 5px;
|
|
||||||
background: var(--darkened-bg);
|
|
||||||
border-bottom: 1px solid var(--border-color);
|
|
||||||
font-weight: 400;
|
|
||||||
font-size: 0.75rem;
|
|
||||||
text-align: center;
|
|
||||||
color: var(--body-quiet-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar td {
|
|
||||||
font-weight: 400;
|
|
||||||
font-size: 0.75rem;
|
|
||||||
text-align: center;
|
|
||||||
padding: 0;
|
|
||||||
border-top: 1px solid var(--hairline-color);
|
|
||||||
border-bottom: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar td.selected a {
|
|
||||||
background: var(--secondary);
|
|
||||||
color: var(--button-fg);
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar td.nonday {
|
|
||||||
background: var(--darkened-bg);
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar td.today a {
|
|
||||||
font-weight: 700;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar td a, .timelist a {
|
|
||||||
display: block;
|
|
||||||
font-weight: 400;
|
|
||||||
padding: 6px;
|
|
||||||
text-decoration: none;
|
|
||||||
color: var(--body-quiet-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar td a:focus, .timelist a:focus,
|
|
||||||
.calendar td a:hover, .timelist a:hover {
|
|
||||||
background: var(--primary);
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar td a:active, .timelist a:active {
|
|
||||||
background: var(--header-bg);
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendarnav {
|
|
||||||
font-size: 0.625rem;
|
|
||||||
text-align: center;
|
|
||||||
color: #ccc;
|
|
||||||
margin: 0;
|
|
||||||
padding: 1px 3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendarnav a:link, #calendarnav a:visited,
|
|
||||||
#calendarnav a:focus, #calendarnav a:hover {
|
|
||||||
color: var(--body-quiet-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar-shortcuts {
|
|
||||||
background: var(--body-bg);
|
|
||||||
color: var(--body-quiet-color);
|
|
||||||
font-size: 0.6875rem;
|
|
||||||
line-height: 0.6875rem;
|
|
||||||
border-top: 1px solid var(--hairline-color);
|
|
||||||
padding: 8px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendarbox .calendarnav-previous, .calendarbox .calendarnav-next {
|
|
||||||
display: block;
|
|
||||||
position: absolute;
|
|
||||||
top: 8px;
|
|
||||||
width: 15px;
|
|
||||||
height: 15px;
|
|
||||||
text-indent: -9999px;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendarnav-previous {
|
|
||||||
left: 10px;
|
|
||||||
background: url(../img/calendar-icons.svg) 0 0 no-repeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendarnav-next {
|
|
||||||
right: 10px;
|
|
||||||
background: url(../img/calendar-icons.svg) 0 -15px no-repeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar-cancel {
|
|
||||||
margin: 0;
|
|
||||||
padding: 4px 0;
|
|
||||||
font-size: 0.75rem;
|
|
||||||
background: var(--close-button-bg);
|
|
||||||
border-top: 1px solid var(--border-color);
|
|
||||||
color: var(--button-fg);
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar-cancel:focus, .calendar-cancel:hover {
|
|
||||||
background: var(--close-button-hover-bg);
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar-cancel a {
|
|
||||||
color: var(--button-fg);
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.timelist, .timelist li {
|
|
||||||
list-style-type: none;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.timelist a {
|
|
||||||
padding: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* EDIT INLINE */
|
|
||||||
|
|
||||||
.inline-deletelink {
|
|
||||||
float: right;
|
|
||||||
text-indent: -9999px;
|
|
||||||
background: url(../img/inline-delete.svg) 0 0 no-repeat;
|
|
||||||
width: 16px;
|
|
||||||
height: 16px;
|
|
||||||
border: 0px none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline-deletelink:focus, .inline-deletelink:hover {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* RELATED WIDGET WRAPPER */
|
|
||||||
.related-widget-wrapper {
|
|
||||||
display: flex;
|
|
||||||
gap: 0 10px;
|
|
||||||
flex-grow: 1;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
margin-bottom: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.related-widget-wrapper-link {
|
|
||||||
opacity: .6;
|
|
||||||
filter: grayscale(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.related-widget-wrapper-link:link {
|
|
||||||
opacity: 1;
|
|
||||||
filter: grayscale(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* GIS MAPS */
|
|
||||||
.dj_map {
|
|
||||||
width: 600px;
|
|
||||||
height: 400px;
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
|
@ -1,150 +0,0 @@
|
||||||
$(document).ready(function () {
|
|
||||||
|
|
||||||
|
|
||||||
// This sample still does not showcase all CKEditor 5 features (!)
|
|
||||||
// Visit https://ckeditor.com/docs/ckeditor5/latest/features/index.html to browse all the features.
|
|
||||||
CKEDITOR.ClassicEditor.create(document.querySelector(".ckeditor-field"), {
|
|
||||||
// https://ckeditor.com/docs/ckeditor5/latest/features/toolbar/toolbar.html#extended-toolbar-configuration-format
|
|
||||||
height: '350px',
|
|
||||||
toolbar: {
|
|
||||||
items: [
|
|
||||||
'exportPDF', 'exportWord', '|',
|
|
||||||
'findAndReplace', 'selectAll', '|',
|
|
||||||
'heading', '|',
|
|
||||||
'bold', 'italic', 'strikethrough', 'underline', 'code', 'subscript', 'superscript', 'removeFormat', '|',
|
|
||||||
'bulletedList', 'numberedList', 'todoList', '|',
|
|
||||||
'outdent', 'indent', '|',
|
|
||||||
'undo', 'redo',
|
|
||||||
'-',
|
|
||||||
'fontSize', 'fontFamily', 'fontColor', 'fontBackgroundColor', 'highlight', '|',
|
|
||||||
'alignment', '|',
|
|
||||||
'link', 'insertImage', 'blockQuote', 'insertTable', 'mediaEmbed', 'codeBlock', 'htmlEmbed', '|',
|
|
||||||
'specialCharacters', 'horizontalLine', 'pageBreak', '|',
|
|
||||||
'textPartLanguage', '|',
|
|
||||||
'sourceEditing'
|
|
||||||
],
|
|
||||||
shouldNotGroupWhenFull: true
|
|
||||||
},
|
|
||||||
// Changing the language of the interface requires loading the language file using the <script> tag.
|
|
||||||
// language: 'es',
|
|
||||||
list: {
|
|
||||||
properties: {
|
|
||||||
styles: true,
|
|
||||||
startIndex: true,
|
|
||||||
reversed: true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
// https://ckeditor.com/docs/ckeditor5/latest/features/headings.html#configuration
|
|
||||||
heading: {
|
|
||||||
options: [
|
|
||||||
{model: 'paragraph', title: 'Paragraph', class: 'ck-heading_paragraph'},
|
|
||||||
{model: 'heading1', view: 'h1', title: 'Heading 1', class: 'ck-heading_heading1'},
|
|
||||||
{model: 'heading2', view: 'h2', title: 'Heading 2', class: 'ck-heading_heading2'},
|
|
||||||
{model: 'heading3', view: 'h3', title: 'Heading 3', class: 'ck-heading_heading3'},
|
|
||||||
{model: 'heading4', view: 'h4', title: 'Heading 4', class: 'ck-heading_heading4'},
|
|
||||||
{model: 'heading5', view: 'h5', title: 'Heading 5', class: 'ck-heading_heading5'},
|
|
||||||
{model: 'heading6', view: 'h6', title: 'Heading 6', class: 'ck-heading_heading6'}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
// https://ckeditor.com/docs/ckeditor5/latest/features/editor-placeholder.html#using-the-editor-configuration
|
|
||||||
placeholder: 'Welcome to CKEditor 5!',
|
|
||||||
// https://ckeditor.com/docs/ckeditor5/latest/features/font.html#configuring-the-font-family-feature
|
|
||||||
fontFamily: {
|
|
||||||
options: [
|
|
||||||
'default',
|
|
||||||
'Arial, Helvetica, sans-serif',
|
|
||||||
'Courier New, Courier, monospace',
|
|
||||||
'Georgia, serif',
|
|
||||||
'Lucida Sans Unicode, Lucida Grande, sans-serif',
|
|
||||||
'Tahoma, Geneva, sans-serif',
|
|
||||||
'Times New Roman, Times, serif',
|
|
||||||
'Trebuchet MS, Helvetica, sans-serif',
|
|
||||||
'Verdana, Geneva, sans-serif'
|
|
||||||
],
|
|
||||||
supportAllValues: true
|
|
||||||
},
|
|
||||||
// https://ckeditor.com/docs/ckeditor5/latest/features/font.html#configuring-the-font-size-feature
|
|
||||||
fontSize: {
|
|
||||||
options: [10, 12, 14, 'default', 18, 20, 22],
|
|
||||||
supportAllValues: true
|
|
||||||
},
|
|
||||||
// Be careful with the setting below. It instructs CKEditor to accept ALL HTML markup.
|
|
||||||
// https://ckeditor.com/docs/ckeditor5/latest/features/general-html-support.html#enabling-all-html-features
|
|
||||||
htmlSupport: {
|
|
||||||
allow: [
|
|
||||||
{
|
|
||||||
name: /.*/,
|
|
||||||
attributes: true,
|
|
||||||
classes: true,
|
|
||||||
styles: true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
// Be careful with enabling previews
|
|
||||||
// https://ckeditor.com/docs/ckeditor5/latest/features/html-embed.html#content-previews
|
|
||||||
// htmlEmbed: {
|
|
||||||
// showPreviews: true
|
|
||||||
// },
|
|
||||||
// https://ckeditor.com/docs/ckeditor5/latest/features/link.html#custom-link-attributes-decorators
|
|
||||||
link: {
|
|
||||||
decorators: {
|
|
||||||
addTargetToExternalLinks: true,
|
|
||||||
defaultProtocol: 'https://',
|
|
||||||
toggleDownloadable: {
|
|
||||||
mode: 'manual',
|
|
||||||
label: 'Downloadable',
|
|
||||||
attributes: {
|
|
||||||
download: 'file'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
// https://ckeditor.com/docs/ckeditor5/latest/features/mentions.html#configuration
|
|
||||||
// mention: {
|
|
||||||
// feeds: [
|
|
||||||
// {
|
|
||||||
// marker: '@',
|
|
||||||
// feed: [
|
|
||||||
// '@apple', '@bears', '@brownie', '@cake', '@cake', '@candy', '@canes', '@chocolate', '@cookie', '@cotton', '@cream',
|
|
||||||
// '@cupcake', '@danish', '@donut', '@dragée', '@fruitcake', '@gingerbread', '@gummi', '@ice', '@jelly-o',
|
|
||||||
// '@liquorice', '@macaroon', '@marzipan', '@oat', '@pie', '@plum', '@pudding', '@sesame', '@snaps', '@soufflé',
|
|
||||||
// '@sugar', '@sweet', '@topping', '@wafer'
|
|
||||||
// ],
|
|
||||||
// minimumCharacters: 1
|
|
||||||
// }
|
|
||||||
// ]
|
|
||||||
// },
|
|
||||||
// The "super-build" contains more premium features that require additional configuration, disable them below.
|
|
||||||
// Do not turn them on unless you read the documentation and know how to configure them and setup the editor.
|
|
||||||
removePlugins: [
|
|
||||||
// These two are commercial, but you can try them out without registering to a trial.
|
|
||||||
// 'ExportPdf',
|
|
||||||
// 'ExportWord',
|
|
||||||
'CKBox',
|
|
||||||
'FontFamily',
|
|
||||||
'CKFinder',
|
|
||||||
'EasyImage',
|
|
||||||
// This sample uses the Base64UploadAdapter to handle image uploads as it requires no configuration.
|
|
||||||
// https://ckeditor.com/docs/ckeditor5/latest/features/images/image-upload/base64-upload-adapter.html
|
|
||||||
// Storing images as Base64 is usually a very bad idea.
|
|
||||||
// Replace it on production website with other solutions:
|
|
||||||
// https://ckeditor.com/docs/ckeditor5/latest/features/images/image-upload/image-upload.html
|
|
||||||
// 'Base64UploadAdapter',
|
|
||||||
'RealTimeCollaborativeComments',
|
|
||||||
'RealTimeCollaborativeTrackChanges',
|
|
||||||
'RealTimeCollaborativeRevisionHistory',
|
|
||||||
'PresenceList',
|
|
||||||
'Comments',
|
|
||||||
'TrackChanges',
|
|
||||||
'TrackChangesData',
|
|
||||||
'RevisionHistory',
|
|
||||||
'Pagination',
|
|
||||||
'WProofreader',
|
|
||||||
// Careful, with the Mathtype plugin CKEditor will not load when loading this sample
|
|
||||||
// from a local file system (file://) - load this site via HTTP server if you enable MathType
|
|
||||||
'MathType'
|
|
||||||
]
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
})
|
|
||||||
Binary file not shown.
|
|
@ -1,106 +0,0 @@
|
||||||
function getCookie(name) {
|
|
||||||
// Split document.cookie into individual cookie strings
|
|
||||||
const cookies = document.cookie.split(';');
|
|
||||||
|
|
||||||
// Iterate through each cookie
|
|
||||||
for (let cookie of cookies) {
|
|
||||||
// Trim whitespace and split into name-value pair
|
|
||||||
const [cookieName, cookieValue] = cookie.trim().split('=');
|
|
||||||
|
|
||||||
// Check if this is the cookie we're looking for
|
|
||||||
if (cookieName === name) {
|
|
||||||
// Return the decoded value
|
|
||||||
return decodeURIComponent(cookieValue);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Return null if cookie not found
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
$(document).ready(function () {
|
|
||||||
|
|
||||||
JSONEditor.defaults.callbacks.upload = {
|
|
||||||
"defaultUploadHandler": function (jseditor, type, file, cbs) {
|
|
||||||
// Create a new XMLHttpRequest object
|
|
||||||
var xhr = new XMLHttpRequest();
|
|
||||||
const htmlElement = document.documentElement;
|
|
||||||
let url = '/admin/json-editor-upload-handler/'
|
|
||||||
if (htmlElement.hasAttribute('data-use-i18n') && htmlElement.getAttribute('data-use-i18n') === "1") {
|
|
||||||
const djangoLang = htmlElement.getAttribute('lang');
|
|
||||||
if (djangoLang) {
|
|
||||||
url = `/${djangoLang}${url}`;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Configure it to send a POST request to the server endpoint
|
|
||||||
xhr.open('POST', url, true);
|
|
||||||
|
|
||||||
// Handle upload progress
|
|
||||||
xhr.upload.addEventListener('progress', function (event) {
|
|
||||||
if (event.lengthComputable) {
|
|
||||||
var percent = Math.round((event.loaded / event.total) * 100);
|
|
||||||
cbs.updateProgress(percent); // Update progress bar with percentage
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Handle successful upload
|
|
||||||
xhr.addEventListener('load', function () {
|
|
||||||
if (xhr.status >= 200 && xhr.status < 300) {
|
|
||||||
var response = xhr.responseText; // Server returns the URL as plain text
|
|
||||||
cbs.success(response); // Call success callback with the URL
|
|
||||||
} else {
|
|
||||||
cbs.failure('Upload failed: ' + xhr.statusText); // Call failure callback with error
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Handle upload errors
|
|
||||||
xhr.addEventListener('error', function () {
|
|
||||||
cbs.failure('Upload failed'); // Call failure callback on network error
|
|
||||||
});
|
|
||||||
|
|
||||||
// Prepare the file for upload
|
|
||||||
var formData = new FormData();
|
|
||||||
formData.append('file', file); // Append the file to FormData
|
|
||||||
|
|
||||||
// Send the request to the server
|
|
||||||
xhr.send(formData);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
function init_editor_json_editor(
|
|
||||||
editor,
|
|
||||||
schema,
|
|
||||||
json_viewer_div,
|
|
||||||
) {
|
|
||||||
let schema_str = JSON.parse(editor.value)
|
|
||||||
|
|
||||||
let jsoneditor__ = new JSONEditor(
|
|
||||||
json_viewer_div, {
|
|
||||||
theme: 'tailwind',
|
|
||||||
schema: JSON.parse(schema),
|
|
||||||
disable_edit_json: true,
|
|
||||||
disable_properties: true,
|
|
||||||
disable_array_delete_all_rows: true,
|
|
||||||
disable_array_delete_last_row: true,
|
|
||||||
disable_array_reorder: true,
|
|
||||||
grid_columns: 3,
|
|
||||||
prompt_before_delete: false,
|
|
||||||
disable_collapse: true,
|
|
||||||
startval: schema_str || []
|
|
||||||
})
|
|
||||||
|
|
||||||
jsoneditor__.on('change', () => {
|
|
||||||
$(editor).val(JSON.stringify(jsoneditor__.getValue()))
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
$('.django-json-editor-field').each(function (i, editor) {
|
|
||||||
let editor_id = $(editor).attr('id')
|
|
||||||
init_editor_json_editor(
|
|
||||||
editor,
|
|
||||||
$(`#${editor_id}-schema-template`).html(),
|
|
||||||
$(`#${editor_id}-viewer`)[0]
|
|
||||||
)
|
|
||||||
})
|
|
||||||
})
|
|
||||||
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
|
|
@ -1,47 +0,0 @@
|
||||||
$(document).ready(function () {
|
|
||||||
let editors = document.getElementsByClassName('keyvalue-json-editor-field')
|
|
||||||
$(editors).each((index, editor) => {
|
|
||||||
let schema_str = JSON.parse(editor.value)
|
|
||||||
$(editor).addClass("hidden")
|
|
||||||
let json_viewer_div = $(`<div class="json-view-editor"></div>`)
|
|
||||||
$(editor).parent().append(json_viewer_div)
|
|
||||||
|
|
||||||
let properties = {
|
|
||||||
key: {type: 'string'},
|
|
||||||
value: {type: 'string'},
|
|
||||||
}
|
|
||||||
|
|
||||||
init(editor, json_viewer_div, properties, schema_str || [])
|
|
||||||
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
function init(editor, json_viewer_div, properties, start_value = []) {
|
|
||||||
let jsoneditor = new JSONEditor(
|
|
||||||
json_viewer_div[0], {
|
|
||||||
theme: 'bootstrap4',
|
|
||||||
schema: {
|
|
||||||
type: "array",
|
|
||||||
format: 'table',
|
|
||||||
title: ' ',
|
|
||||||
items: {
|
|
||||||
type: 'object',
|
|
||||||
title: 'item',
|
|
||||||
properties: properties
|
|
||||||
},
|
|
||||||
},
|
|
||||||
disable_edit_json: true,
|
|
||||||
disable_properties: false,
|
|
||||||
disable_array_delete_all_rows: true,
|
|
||||||
disable_array_delete_last_row: true,
|
|
||||||
disable_array_reorder: true,
|
|
||||||
grid_columns: 3,
|
|
||||||
prompt_before_delete: false,
|
|
||||||
disable_collapse: true,
|
|
||||||
startval: start_value
|
|
||||||
})
|
|
||||||
jsoneditor.on('change', () => {
|
|
||||||
$(editor).val(JSON.stringify(jsoneditor.getValue()))
|
|
||||||
})
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
|
@ -1,9 +0,0 @@
|
||||||
.json-view-editor .row .form-group {
|
|
||||||
display: flex;
|
|
||||||
align-items: baseline;
|
|
||||||
}
|
|
||||||
|
|
||||||
.json-view-editor .row .form-group label {
|
|
||||||
margin-bottom: 0;
|
|
||||||
margin-right: 10px;
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
|
@ -1,22 +0,0 @@
|
||||||
function convertPersianToEnglish(value) {
|
|
||||||
const persianNumbers = ['۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹'];
|
|
||||||
const englishNumbers = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
|
|
||||||
|
|
||||||
for (let i = 0; i < persianNumbers.length; i++) {
|
|
||||||
value = value.replace(new RegExp(persianNumbers[i], 'g'), englishNumbers[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
return value;
|
|
||||||
}
|
|
||||||
|
|
||||||
function formatNumber(input) {
|
|
||||||
let value = convertPersianToEnglish(input.value);
|
|
||||||
// Remove any existing thousand separators and non-digit characters
|
|
||||||
value = value.replace(/,/g, '').replace(/\D/g, '');
|
|
||||||
|
|
||||||
// Add thousand separators
|
|
||||||
value = value.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
|
||||||
|
|
||||||
// Update the input value
|
|
||||||
input.value = value;
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
|
@ -1,93 +0,0 @@
|
||||||
Copyright 2009 The Cantarell Project Authors (https://github.com/davelab6/cantarell)
|
|
||||||
|
|
||||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
|
||||||
This license is copied below, and is also available with a FAQ at:
|
|
||||||
https://openfontlicense.org
|
|
||||||
|
|
||||||
|
|
||||||
-----------------------------------------------------------
|
|
||||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
|
||||||
-----------------------------------------------------------
|
|
||||||
|
|
||||||
PREAMBLE
|
|
||||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
|
||||||
development of collaborative font projects, to support the font creation
|
|
||||||
efforts of academic and linguistic communities, and to provide a free and
|
|
||||||
open framework in which fonts may be shared and improved in partnership
|
|
||||||
with others.
|
|
||||||
|
|
||||||
The OFL allows the licensed fonts to be used, studied, modified and
|
|
||||||
redistributed freely as long as they are not sold by themselves. The
|
|
||||||
fonts, including any derivative works, can be bundled, embedded,
|
|
||||||
redistributed and/or sold with any software provided that any reserved
|
|
||||||
names are not used by derivative works. The fonts and derivatives,
|
|
||||||
however, cannot be released under any other type of license. The
|
|
||||||
requirement for fonts to remain under this license does not apply
|
|
||||||
to any document created using the fonts or their derivatives.
|
|
||||||
|
|
||||||
DEFINITIONS
|
|
||||||
"Font Software" refers to the set of files released by the Copyright
|
|
||||||
Holder(s) under this license and clearly marked as such. This may
|
|
||||||
include source files, build scripts and documentation.
|
|
||||||
|
|
||||||
"Reserved Font Name" refers to any names specified as such after the
|
|
||||||
copyright statement(s).
|
|
||||||
|
|
||||||
"Original Version" refers to the collection of Font Software components as
|
|
||||||
distributed by the Copyright Holder(s).
|
|
||||||
|
|
||||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
|
||||||
or substituting -- in part or in whole -- any of the components of the
|
|
||||||
Original Version, by changing formats or by porting the Font Software to a
|
|
||||||
new environment.
|
|
||||||
|
|
||||||
"Author" refers to any designer, engineer, programmer, technical
|
|
||||||
writer or other person who contributed to the Font Software.
|
|
||||||
|
|
||||||
PERMISSION & CONDITIONS
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining
|
|
||||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
|
||||||
redistribute, and sell modified and unmodified copies of the Font
|
|
||||||
Software, subject to the following conditions:
|
|
||||||
|
|
||||||
1) Neither the Font Software nor any of its individual components,
|
|
||||||
in Original or Modified Versions, may be sold by itself.
|
|
||||||
|
|
||||||
2) Original or Modified Versions of the Font Software may be bundled,
|
|
||||||
redistributed and/or sold with any software, provided that each copy
|
|
||||||
contains the above copyright notice and this license. These can be
|
|
||||||
included either as stand-alone text files, human-readable headers or
|
|
||||||
in the appropriate machine-readable metadata fields within text or
|
|
||||||
binary files as long as those fields can be easily viewed by the user.
|
|
||||||
|
|
||||||
3) No Modified Version of the Font Software may use the Reserved Font
|
|
||||||
Name(s) unless explicit written permission is granted by the corresponding
|
|
||||||
Copyright Holder. This restriction only applies to the primary font name as
|
|
||||||
presented to the users.
|
|
||||||
|
|
||||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
|
||||||
Software shall not be used to promote, endorse or advertise any
|
|
||||||
Modified Version, except to acknowledge the contribution(s) of the
|
|
||||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
|
||||||
permission.
|
|
||||||
|
|
||||||
5) The Font Software, modified or unmodified, in part or in whole,
|
|
||||||
must be distributed entirely under this license, and must not be
|
|
||||||
distributed under any other license. The requirement for fonts to
|
|
||||||
remain under this license does not apply to any document created
|
|
||||||
using the Font Software.
|
|
||||||
|
|
||||||
TERMINATION
|
|
||||||
This license becomes null and void if any of the above conditions are
|
|
||||||
not met.
|
|
||||||
|
|
||||||
DISCLAIMER
|
|
||||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
|
||||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
|
||||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
||||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
|
||||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
||||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
|
||||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
|
||||||
Binary file not shown.
|
|
@ -1,202 +0,0 @@
|
||||||
|
|
||||||
Apache License
|
|
||||||
Version 2.0, January 2004
|
|
||||||
http://www.apache.org/licenses/
|
|
||||||
|
|
||||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
||||||
|
|
||||||
1. Definitions.
|
|
||||||
|
|
||||||
"License" shall mean the terms and conditions for use, reproduction,
|
|
||||||
and distribution as defined by Sections 1 through 9 of this document.
|
|
||||||
|
|
||||||
"Licensor" shall mean the copyright owner or entity authorized by
|
|
||||||
the copyright owner that is granting the License.
|
|
||||||
|
|
||||||
"Legal Entity" shall mean the union of the acting entity and all
|
|
||||||
other entities that control, are controlled by, or are under common
|
|
||||||
control with that entity. For the purposes of this definition,
|
|
||||||
"control" means (i) the power, direct or indirect, to cause the
|
|
||||||
direction or management of such entity, whether by contract or
|
|
||||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
||||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
||||||
|
|
||||||
"You" (or "Your") shall mean an individual or Legal Entity
|
|
||||||
exercising permissions granted by this License.
|
|
||||||
|
|
||||||
"Source" form shall mean the preferred form for making modifications,
|
|
||||||
including but not limited to software source code, documentation
|
|
||||||
source, and configuration files.
|
|
||||||
|
|
||||||
"Object" form shall mean any form resulting from mechanical
|
|
||||||
transformation or translation of a Source form, including but
|
|
||||||
not limited to compiled object code, generated documentation,
|
|
||||||
and conversions to other media types.
|
|
||||||
|
|
||||||
"Work" shall mean the work of authorship, whether in Source or
|
|
||||||
Object form, made available under the License, as indicated by a
|
|
||||||
copyright notice that is included in or attached to the work
|
|
||||||
(an example is provided in the Appendix below).
|
|
||||||
|
|
||||||
"Derivative Works" shall mean any work, whether in Source or Object
|
|
||||||
form, that is based on (or derived from) the Work and for which the
|
|
||||||
editorial revisions, annotations, elaborations, or other modifications
|
|
||||||
represent, as a whole, an original work of authorship. For the purposes
|
|
||||||
of this License, Derivative Works shall not include works that remain
|
|
||||||
separable from, or merely link (or bind by name) to the interfaces of,
|
|
||||||
the Work and Derivative Works thereof.
|
|
||||||
|
|
||||||
"Contribution" shall mean any work of authorship, including
|
|
||||||
the original version of the Work and any modifications or additions
|
|
||||||
to that Work or Derivative Works thereof, that is intentionally
|
|
||||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
||||||
or by an individual or Legal Entity authorized to submit on behalf of
|
|
||||||
the copyright owner. For the purposes of this definition, "submitted"
|
|
||||||
means any form of electronic, verbal, or written communication sent
|
|
||||||
to the Licensor or its representatives, including but not limited to
|
|
||||||
communication on electronic mailing lists, source code control systems,
|
|
||||||
and issue tracking systems that are managed by, or on behalf of, the
|
|
||||||
Licensor for the purpose of discussing and improving the Work, but
|
|
||||||
excluding communication that is conspicuously marked or otherwise
|
|
||||||
designated in writing by the copyright owner as "Not a Contribution."
|
|
||||||
|
|
||||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
||||||
on behalf of whom a Contribution has been received by Licensor and
|
|
||||||
subsequently incorporated within the Work.
|
|
||||||
|
|
||||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
copyright license to reproduce, prepare Derivative Works of,
|
|
||||||
publicly display, publicly perform, sublicense, and distribute the
|
|
||||||
Work and such Derivative Works in Source or Object form.
|
|
||||||
|
|
||||||
3. Grant of Patent License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
(except as stated in this section) patent license to make, have made,
|
|
||||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
||||||
where such license applies only to those patent claims licensable
|
|
||||||
by such Contributor that are necessarily infringed by their
|
|
||||||
Contribution(s) alone or by combination of their Contribution(s)
|
|
||||||
with the Work to which such Contribution(s) was submitted. If You
|
|
||||||
institute patent litigation against any entity (including a
|
|
||||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
||||||
or a Contribution incorporated within the Work constitutes direct
|
|
||||||
or contributory patent infringement, then any patent licenses
|
|
||||||
granted to You under this License for that Work shall terminate
|
|
||||||
as of the date such litigation is filed.
|
|
||||||
|
|
||||||
4. Redistribution. You may reproduce and distribute copies of the
|
|
||||||
Work or Derivative Works thereof in any medium, with or without
|
|
||||||
modifications, and in Source or Object form, provided that You
|
|
||||||
meet the following conditions:
|
|
||||||
|
|
||||||
(a) You must give any other recipients of the Work or
|
|
||||||
Derivative Works a copy of this License; and
|
|
||||||
|
|
||||||
(b) You must cause any modified files to carry prominent notices
|
|
||||||
stating that You changed the files; and
|
|
||||||
|
|
||||||
(c) You must retain, in the Source form of any Derivative Works
|
|
||||||
that You distribute, all copyright, patent, trademark, and
|
|
||||||
attribution notices from the Source form of the Work,
|
|
||||||
excluding those notices that do not pertain to any part of
|
|
||||||
the Derivative Works; and
|
|
||||||
|
|
||||||
(d) If the Work includes a "NOTICE" text file as part of its
|
|
||||||
distribution, then any Derivative Works that You distribute must
|
|
||||||
include a readable copy of the attribution notices contained
|
|
||||||
within such NOTICE file, excluding those notices that do not
|
|
||||||
pertain to any part of the Derivative Works, in at least one
|
|
||||||
of the following places: within a NOTICE text file distributed
|
|
||||||
as part of the Derivative Works; within the Source form or
|
|
||||||
documentation, if provided along with the Derivative Works; or,
|
|
||||||
within a display generated by the Derivative Works, if and
|
|
||||||
wherever such third-party notices normally appear. The contents
|
|
||||||
of the NOTICE file are for informational purposes only and
|
|
||||||
do not modify the License. You may add Your own attribution
|
|
||||||
notices within Derivative Works that You distribute, alongside
|
|
||||||
or as an addendum to the NOTICE text from the Work, provided
|
|
||||||
that such additional attribution notices cannot be construed
|
|
||||||
as modifying the License.
|
|
||||||
|
|
||||||
You may add Your own copyright statement to Your modifications and
|
|
||||||
may provide additional or different license terms and conditions
|
|
||||||
for use, reproduction, or distribution of Your modifications, or
|
|
||||||
for any such Derivative Works as a whole, provided Your use,
|
|
||||||
reproduction, and distribution of the Work otherwise complies with
|
|
||||||
the conditions stated in this License.
|
|
||||||
|
|
||||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
||||||
any Contribution intentionally submitted for inclusion in the Work
|
|
||||||
by You to the Licensor shall be under the terms and conditions of
|
|
||||||
this License, without any additional terms or conditions.
|
|
||||||
Notwithstanding the above, nothing herein shall supersede or modify
|
|
||||||
the terms of any separate license agreement you may have executed
|
|
||||||
with Licensor regarding such Contributions.
|
|
||||||
|
|
||||||
6. Trademarks. This License does not grant permission to use the trade
|
|
||||||
names, trademarks, service marks, or product names of the Licensor,
|
|
||||||
except as required for reasonable and customary use in describing the
|
|
||||||
origin of the Work and reproducing the content of the NOTICE file.
|
|
||||||
|
|
||||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
||||||
agreed to in writing, Licensor provides the Work (and each
|
|
||||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
||||||
implied, including, without limitation, any warranties or conditions
|
|
||||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
||||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
||||||
appropriateness of using or redistributing the Work and assume any
|
|
||||||
risks associated with Your exercise of permissions under this License.
|
|
||||||
|
|
||||||
8. Limitation of Liability. In no event and under no legal theory,
|
|
||||||
whether in tort (including negligence), contract, or otherwise,
|
|
||||||
unless required by applicable law (such as deliberate and grossly
|
|
||||||
negligent acts) or agreed to in writing, shall any Contributor be
|
|
||||||
liable to You for damages, including any direct, indirect, special,
|
|
||||||
incidental, or consequential damages of any character arising as a
|
|
||||||
result of this License or out of the use or inability to use the
|
|
||||||
Work (including but not limited to damages for loss of goodwill,
|
|
||||||
work stoppage, computer failure or malfunction, or any and all
|
|
||||||
other commercial damages or losses), even if such Contributor
|
|
||||||
has been advised of the possibility of such damages.
|
|
||||||
|
|
||||||
9. Accepting Warranty or Additional Liability. While redistributing
|
|
||||||
the Work or Derivative Works thereof, You may choose to offer,
|
|
||||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
||||||
or other liability obligations and/or rights consistent with this
|
|
||||||
License. However, in accepting such obligations, You may act only
|
|
||||||
on Your own behalf and on Your sole responsibility, not on behalf
|
|
||||||
of any other Contributor, and only if You agree to indemnify,
|
|
||||||
defend, and hold each Contributor harmless for any liability
|
|
||||||
incurred by, or claims asserted against, such Contributor by reason
|
|
||||||
of your accepting any such warranty or additional liability.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
APPENDIX: How to apply the Apache License to your work.
|
|
||||||
|
|
||||||
To apply the Apache License to your work, attach the following
|
|
||||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
||||||
replaced with your own identifying information. (Don't include
|
|
||||||
the brackets!) The text should be enclosed in the appropriate
|
|
||||||
comment syntax for the file format. We also recommend that a
|
|
||||||
file or class name and description of purpose be included on the
|
|
||||||
same "printed page" as the copyright notice for easier
|
|
||||||
identification within third-party archives.
|
|
||||||
|
|
||||||
Copyright [yyyy] [name of copyright owner]
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
Binary file not shown.
|
|
@ -1,3 +0,0 @@
|
||||||
Roboto webfont source: https://www.google.com/fonts/specimen/Roboto
|
|
||||||
WOFF files extracted using https://github.com/majodev/google-webfonts-helper
|
|
||||||
Weights used in this project: Light (300), Regular (400), Bold (700)
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
|
|
@ -1,165 +0,0 @@
|
||||||
Fonticons, Inc. (https://fontawesome.com)
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
Font Awesome Free License
|
|
||||||
|
|
||||||
Font Awesome Free is free, open source, and GPL friendly. You can use it for
|
|
||||||
commercial projects, open source projects, or really almost whatever you want.
|
|
||||||
Full Font Awesome Free license: https://fontawesome.com/license/free.
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
# Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/)
|
|
||||||
|
|
||||||
The Font Awesome Free download is licensed under a Creative Commons
|
|
||||||
Attribution 4.0 International License and applies to all icons packaged
|
|
||||||
as SVG and JS file types.
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
# Fonts: SIL OFL 1.1 License
|
|
||||||
|
|
||||||
In the Font Awesome Free download, the SIL OFL license applies to all icons
|
|
||||||
packaged as web and desktop font files.
|
|
||||||
|
|
||||||
Copyright (c) 2024 Fonticons, Inc. (https://fontawesome.com)
|
|
||||||
with Reserved Font Name: "Font Awesome".
|
|
||||||
|
|
||||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
|
||||||
This license is copied below, and is also available with a FAQ at:
|
|
||||||
http://scripts.sil.org/OFL
|
|
||||||
|
|
||||||
SIL OPEN FONT LICENSE
|
|
||||||
Version 1.1 - 26 February 2007
|
|
||||||
|
|
||||||
PREAMBLE
|
|
||||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
|
||||||
development of collaborative font projects, to support the font creation
|
|
||||||
efforts of academic and linguistic communities, and to provide a free and
|
|
||||||
open framework in which fonts may be shared and improved in partnership
|
|
||||||
with others.
|
|
||||||
|
|
||||||
The OFL allows the licensed fonts to be used, studied, modified and
|
|
||||||
redistributed freely as long as they are not sold by themselves. The
|
|
||||||
fonts, including any derivative works, can be bundled, embedded,
|
|
||||||
redistributed and/or sold with any software provided that any reserved
|
|
||||||
names are not used by derivative works. The fonts and derivatives,
|
|
||||||
however, cannot be released under any other type of license. The
|
|
||||||
requirement for fonts to remain under this license does not apply
|
|
||||||
to any document created using the fonts or their derivatives.
|
|
||||||
|
|
||||||
DEFINITIONS
|
|
||||||
"Font Software" refers to the set of files released by the Copyright
|
|
||||||
Holder(s) under this license and clearly marked as such. This may
|
|
||||||
include source files, build scripts and documentation.
|
|
||||||
|
|
||||||
"Reserved Font Name" refers to any names specified as such after the
|
|
||||||
copyright statement(s).
|
|
||||||
|
|
||||||
"Original Version" refers to the collection of Font Software components as
|
|
||||||
distributed by the Copyright Holder(s).
|
|
||||||
|
|
||||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
|
||||||
or substituting — in part or in whole — any of the components of the
|
|
||||||
Original Version, by changing formats or by porting the Font Software to a
|
|
||||||
new environment.
|
|
||||||
|
|
||||||
"Author" refers to any designer, engineer, programmer, technical
|
|
||||||
writer or other person who contributed to the Font Software.
|
|
||||||
|
|
||||||
PERMISSION & CONDITIONS
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining
|
|
||||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
|
||||||
redistribute, and sell modified and unmodified copies of the Font
|
|
||||||
Software, subject to the following conditions:
|
|
||||||
|
|
||||||
1) Neither the Font Software nor any of its individual components,
|
|
||||||
in Original or Modified Versions, may be sold by itself.
|
|
||||||
|
|
||||||
2) Original or Modified Versions of the Font Software may be bundled,
|
|
||||||
redistributed and/or sold with any software, provided that each copy
|
|
||||||
contains the above copyright notice and this license. These can be
|
|
||||||
included either as stand-alone text files, human-readable headers or
|
|
||||||
in the appropriate machine-readable metadata fields within text or
|
|
||||||
binary files as long as those fields can be easily viewed by the user.
|
|
||||||
|
|
||||||
3) No Modified Version of the Font Software may use the Reserved Font
|
|
||||||
Name(s) unless explicit written permission is granted by the corresponding
|
|
||||||
Copyright Holder. This restriction only applies to the primary font name as
|
|
||||||
presented to the users.
|
|
||||||
|
|
||||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
|
||||||
Software shall not be used to promote, endorse or advertise any
|
|
||||||
Modified Version, except to acknowledge the contribution(s) of the
|
|
||||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
|
||||||
permission.
|
|
||||||
|
|
||||||
5) The Font Software, modified or unmodified, in part or in whole,
|
|
||||||
must be distributed entirely under this license, and must not be
|
|
||||||
distributed under any other license. The requirement for fonts to
|
|
||||||
remain under this license does not apply to any document created
|
|
||||||
using the Font Software.
|
|
||||||
|
|
||||||
TERMINATION
|
|
||||||
This license becomes null and void if any of the above conditions are
|
|
||||||
not met.
|
|
||||||
|
|
||||||
DISCLAIMER
|
|
||||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
|
||||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
|
||||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
||||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
|
||||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
||||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
|
||||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
# Code: MIT License (https://opensource.org/licenses/MIT)
|
|
||||||
|
|
||||||
In the Font Awesome Free download, the MIT license applies to all non-font and
|
|
||||||
non-icon files.
|
|
||||||
|
|
||||||
Copyright 2024 Fonticons, Inc.
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
||||||
this software and associated documentation files (the "Software"), to deal in the
|
|
||||||
Software without restriction, including without limitation the rights to use, copy,
|
|
||||||
modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
|
|
||||||
and to permit persons to whom the Software is furnished to do so, subject to the
|
|
||||||
following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
|
||||||
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
|
||||||
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
||||||
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
||||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
||||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
# Attribution
|
|
||||||
|
|
||||||
Attribution is required by MIT, SIL OFL, and CC BY licenses. Downloaded Font
|
|
||||||
Awesome Free files already contain embedded comments with sufficient
|
|
||||||
attribution, so you shouldn't need to do anything additional when using these
|
|
||||||
files normally.
|
|
||||||
|
|
||||||
We've kept attribution comments terse, so we ask that you do not actively work
|
|
||||||
to remove them from files, especially code. They're a great way for folks to
|
|
||||||
learn about Font Awesome.
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
# Brand Icons
|
|
||||||
|
|
||||||
All brand icons are trademarks of their respective owners. The use of these
|
|
||||||
trademarks does not indicate endorsement of the trademark holder by Font
|
|
||||||
Awesome, nor vice versa. **Please do not use brand logos for any purpose except
|
|
||||||
to represent the company, product, or service to which they refer.**
|
|
||||||
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
|
|
@ -1,19 +0,0 @@
|
||||||
/*!
|
|
||||||
* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
|
|
||||||
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
|
||||||
* Copyright 2024 Fonticons, Inc.
|
|
||||||
*/
|
|
||||||
:root, :host {
|
|
||||||
--fa-style-family-classic: 'Font Awesome 6 Free';
|
|
||||||
--fa-font-regular: normal 400 1em/1 'Font Awesome 6 Free'; }
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Font Awesome 6 Free';
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 400;
|
|
||||||
font-display: block;
|
|
||||||
src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); }
|
|
||||||
|
|
||||||
.far,
|
|
||||||
.fa-regular {
|
|
||||||
font-weight: 400; }
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue