V2
This commit is contained in:
parent
75fe83a41f
commit
a098f9b9b3
178 changed files with 1332 additions and 33675 deletions
4
agent/urls.py
Normal file
4
agent/urls.py
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
"""backend URL Configuration
|
||||||
|
"""
|
||||||
|
|
||||||
|
urlpatterns = []
|
24
agent/views.py
Normal file
24
agent/views.py
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
from django.urls import reverse_lazy
|
||||||
|
from django.views.generic import ListView
|
||||||
|
from django.views.generic.edit import CreateView, DeleteView, UpdateView
|
||||||
|
|
||||||
|
from .models import Agent
|
||||||
|
|
||||||
|
|
||||||
|
class AgentList(ListView):
|
||||||
|
model = Agent
|
||||||
|
|
||||||
|
|
||||||
|
class AgentCreate(CreateView):
|
||||||
|
model = Agent
|
||||||
|
success_url = reverse_lazy("agent_list")
|
||||||
|
|
||||||
|
|
||||||
|
class AgentUpdate(UpdateView):
|
||||||
|
model = Agent
|
||||||
|
success_url = reverse_lazy("agent_list")
|
||||||
|
|
||||||
|
|
||||||
|
class AgentDelete(DeleteView):
|
||||||
|
model = Agent
|
||||||
|
success_url = reverse_lazy("agent_list")
|
22
budget/migrations/0003_alter_budgetline_amount.py
Normal file
22
budget/migrations/0003_alter_budgetline_amount.py
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
# Generated by Django 4.1.6 on 2024-06-09 17:30
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
("budget", "0002_add_permissions"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name="budgetline",
|
||||||
|
name="amount",
|
||||||
|
field=models.DecimalField(
|
||||||
|
decimal_places=2,
|
||||||
|
max_digits=12,
|
||||||
|
verbose_name="Montant (dépense en négatif)",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
]
|
|
@ -5,16 +5,16 @@ from django.db import models
|
||||||
|
|
||||||
|
|
||||||
class BudgetLine(models.Model):
|
class BudgetLine(models.Model):
|
||||||
|
title = models.CharField(max_length=255, verbose_name="Libellé")
|
||||||
amount = models.DecimalField(
|
amount = models.DecimalField(
|
||||||
max_digits=12, decimal_places=2, verbose_name="Montant"
|
max_digits=12, decimal_places=2, verbose_name="Montant (dépense en négatif)"
|
||||||
)
|
)
|
||||||
author = models.ForeignKey(Agent, on_delete=models.PROTECT, verbose_name="Auteur")
|
author = models.ForeignKey(Agent, on_delete=models.PROTECT, verbose_name="Auteur")
|
||||||
comment = models.TextField(blank=True, verbose_name="Commentaire")
|
|
||||||
date = models.DateField(default=date.today, verbose_name="Date")
|
date = models.DateField(default=date.today, verbose_name="Date")
|
||||||
group = models.ForeignKey(
|
group = models.ForeignKey(
|
||||||
"BudgetGroup", on_delete=models.CASCADE, verbose_name="Budget"
|
"BudgetGroup", on_delete=models.CASCADE, verbose_name="Budget"
|
||||||
)
|
)
|
||||||
title = models.CharField(max_length=255, verbose_name="Libellé")
|
comment = models.TextField(blank=True, verbose_name="Commentaire")
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return f"{self.title}"
|
return f"{self.title}"
|
||||||
|
@ -28,8 +28,9 @@ class BudgetGroup(models.Model):
|
||||||
description = models.TextField(blank=True, verbose_name="Description")
|
description = models.TextField(blank=True, verbose_name="Description")
|
||||||
|
|
||||||
def get_all_lines(self):
|
def get_all_lines(self):
|
||||||
lines = self.budgetline_set.all()
|
lines = self.budgetline_set.all().order_by("date")
|
||||||
return lines, sum(i.amount for i in lines)
|
s = 0
|
||||||
|
return [(line, s := s + line.amount) for line in lines]
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return f"{self.name}"
|
return f"{self.name}"
|
BIN
budget/static/media/favicon.ico
Normal file
BIN
budget/static/media/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 6.9 KiB |
951
budget/static/media/logo.svg
Normal file
951
budget/static/media/logo.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 59 KiB |
65
budget/templates/budget/base.html
Normal file
65
budget/templates/budget/base.html
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
{% load static %}
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="width=device-width" />
|
||||||
|
<link rel="stylesheet" href="{% static "css/pico.green.min.css" %}" type="text/css" media="screen" charset="utf-8">
|
||||||
|
<title>Hackens-orga</title>
|
||||||
|
<link rel="shortcut icon" href="{% static 'media/favicon.ico' %}">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header class="container">
|
||||||
|
<nav>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<a aria-label="Page d'accueil" href="https://hackens.org">
|
||||||
|
<img style="height:50px;" src="{% static "media/logo.svg" %}" alt="Logo d'hackens"/>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<ul>
|
||||||
|
<li class="hide-before-sm">
|
||||||
|
<a class="contrast" href="{% url "budgetgroup_list" %}">Accueil</a>
|
||||||
|
</li>
|
||||||
|
<li class="hide-before-sm">
|
||||||
|
<a class="contrast" href="https://www.eleves.ens.fr/pads/p/HackensCourses" >
|
||||||
|
Liste de courses
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% if user.is_staff %}
|
||||||
|
<li class="hide-before-sm">
|
||||||
|
<a class="contrast" href="{% url "admin:index" %}">Admin</a>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
{% if user.is_authenticated %}
|
||||||
|
<li>
|
||||||
|
<a href="{% url "authens:logout" %}">
|
||||||
|
<strong>Déconnexion</strong>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<button>
|
||||||
|
🧑 {{ user.username }}
|
||||||
|
</button>
|
||||||
|
</li>
|
||||||
|
{% else %}
|
||||||
|
<li>
|
||||||
|
<a href="{% url "authens:login" %}">
|
||||||
|
Connexion
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
<main class="container">
|
||||||
|
{% for m in messages %}
|
||||||
|
<article class="{{ m.level_tag }}" id="message-{{ forloop.counter0 }}">
|
||||||
|
{{ m }}
|
||||||
|
</article>
|
||||||
|
{% endfor %}
|
||||||
|
{% block content %}{% endblock %}
|
||||||
|
</main>
|
||||||
|
</body>
|
||||||
|
</html>
|
13
budget/templates/budget/budgetgroup_confirm_delete.html
Normal file
13
budget/templates/budget/budgetgroup_confirm_delete.html
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
{% extends "budget/base.html" %}
|
||||||
|
{% load static %}
|
||||||
|
{% block content %}
|
||||||
|
<h3>Supprimer le budget {{ object }}</h3>
|
||||||
|
<section>
|
||||||
|
<form method="post">{% csrf_token %}
|
||||||
|
<div role="group">
|
||||||
|
<a href="#" role="button" class="outline">Annuler</a>
|
||||||
|
<input type="submit" value="Confirmer">
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</section>
|
||||||
|
{% endblock %}
|
18
budget/templates/budget/budgetgroup_form.html
Normal file
18
budget/templates/budget/budgetgroup_form.html
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
{% extends "budget/base.html" %}
|
||||||
|
{% load static %}
|
||||||
|
{% block content %}
|
||||||
|
<h1>
|
||||||
|
{% if object %}
|
||||||
|
Editer
|
||||||
|
{% else %}
|
||||||
|
Créer
|
||||||
|
{% endif %}
|
||||||
|
un budget
|
||||||
|
</h1>
|
||||||
|
<section>
|
||||||
|
<form method="post">{% csrf_token %}
|
||||||
|
{{ form }}
|
||||||
|
<input type="submit" value="{% if object %}Mettre à jour{% else %}Créer{% endif %}">
|
||||||
|
</form>
|
||||||
|
</section>
|
||||||
|
{% endblock %}
|
92
budget/templates/budget/budgetgroup_list.html
Normal file
92
budget/templates/budget/budgetgroup_list.html
Normal file
|
@ -0,0 +1,92 @@
|
||||||
|
{% extends "budget/base.html" %}
|
||||||
|
{% load static %}
|
||||||
|
{% block content %}
|
||||||
|
<h2>Budget d'hackens
|
||||||
|
{% if perms.budget.add_budgetgroup %}
|
||||||
|
<a
|
||||||
|
role="button"
|
||||||
|
href="{% url "budgetgroup_new" %}"
|
||||||
|
>
|
||||||
|
Nouveau budget
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
|
</h2>
|
||||||
|
{% for budgetGroup in object_list %}
|
||||||
|
{% with all_lines=budgetGroup.get_all_lines %}
|
||||||
|
<section>
|
||||||
|
<h3> Budget {{ budgetGroup.name }} - {{ all_lines|last|last }} €
|
||||||
|
{% if perms.budget.change_budgetgroup %}
|
||||||
|
<a
|
||||||
|
role="button"
|
||||||
|
class="outline"
|
||||||
|
href="{% url "budgetgroup_update" budgetGroup.id %}"
|
||||||
|
title="Éditer l'intitulé du budget"
|
||||||
|
>
|
||||||
|
🖊️
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
|
{% if perms.budget.add_budgetline %}
|
||||||
|
<a role="button" href="{% url "budgetline_new" %}" title="Nouvelle ligne de budget">
|
||||||
|
Nouvelle ligne
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
|
</h3>
|
||||||
|
{% if budgetGroup.description.strip %}
|
||||||
|
<p>
|
||||||
|
<strong>Description:</strong> {{ budgetGroup.description.strip }}
|
||||||
|
</p>
|
||||||
|
{% endif %}
|
||||||
|
{% for line in all_lines %}
|
||||||
|
{% if forloop.first %}
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Date</th>
|
||||||
|
<th>Libellé</th>
|
||||||
|
<th>Montant</th>
|
||||||
|
<th>Budget restant</th>
|
||||||
|
<th>Ajouté par</th>
|
||||||
|
{% if perms.budget.change_budgetline %}
|
||||||
|
<th></th>
|
||||||
|
{% endif %}
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{% endif %}
|
||||||
|
<tr id="tableline-{{ line.id }}">
|
||||||
|
<td>{{ line.0.date|date:"Y-m-d" }}</td>
|
||||||
|
<td>{{ line.0.title }}</td>
|
||||||
|
<td>{{ line.0.amount }}€</td>
|
||||||
|
<td>{{ line.1 }}€</td>
|
||||||
|
<td>{{ line.0.author.name }}</td>
|
||||||
|
{% if perms.budget.change_budgetline %}
|
||||||
|
<td>
|
||||||
|
<div class="buttons">
|
||||||
|
<nobr>
|
||||||
|
<a role="button" href="{% url "budgetline_update" line.0.id %}">
|
||||||
|
🖊️
|
||||||
|
</a>
|
||||||
|
{% if perms.budget.delete_budgetline %}
|
||||||
|
<a role="button" href="{% url "budgetline_delete" line.0.id %}" title="Supprimer la ligne de budget">🗑️</a>
|
||||||
|
{% endif %}
|
||||||
|
</nobr>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
{% endif %}
|
||||||
|
</tr>
|
||||||
|
{% if forloop.last %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
{% endif %}
|
||||||
|
{% empty %}
|
||||||
|
<p>Ce budget est vide</p>
|
||||||
|
{% endfor %}
|
||||||
|
{% if perms.budget.add_budgetline %}
|
||||||
|
<a role="button" href="{% url "budgetline_new" %}" title="Nouvelle ligne de budget">
|
||||||
|
Nouvelle ligne
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
|
</section>
|
||||||
|
{% endwith %}
|
||||||
|
{% endfor %}
|
||||||
|
{% endblock %}
|
13
budget/templates/budget/budgetline_confirm_delete.html
Normal file
13
budget/templates/budget/budgetline_confirm_delete.html
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
{% extends "budget/base.html" %}
|
||||||
|
{% load static %}
|
||||||
|
{% block content %}
|
||||||
|
<h3>Supprimer la ligne de budget {{ object }}</h3>
|
||||||
|
<section>
|
||||||
|
<form method="post">{% csrf_token %}
|
||||||
|
<div role="group">
|
||||||
|
<a href="#" role="button" class="outline">Annuler</a>
|
||||||
|
<input type="submit" value="Confirmer">
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</section>
|
||||||
|
{% endblock %}
|
18
budget/templates/budget/budgetline_form.html
Normal file
18
budget/templates/budget/budgetline_form.html
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
{% extends "budget/base.html" %}
|
||||||
|
{% load static %}
|
||||||
|
{% block content %}
|
||||||
|
<h1>
|
||||||
|
{% if object %}
|
||||||
|
Créer
|
||||||
|
{% else %}
|
||||||
|
Ajouter
|
||||||
|
{% endif %}
|
||||||
|
une ligne de budget
|
||||||
|
</h1>
|
||||||
|
<section>
|
||||||
|
<form method="post">{% csrf_token %}
|
||||||
|
{{ form }}
|
||||||
|
<input type="submit" value="{% if object %}Mettre à jour{% else %}Créer{% endif %}">
|
||||||
|
</form>
|
||||||
|
</section>
|
||||||
|
{% endblock %}
|
32
budget/urls.py
Normal file
32
budget/urls.py
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
"""
|
||||||
|
backend URL Configuration
|
||||||
|
"""
|
||||||
|
|
||||||
|
from django.urls import path
|
||||||
|
|
||||||
|
from . import views
|
||||||
|
|
||||||
|
urlpatterns = [
|
||||||
|
path("", views.BudgetGroupList.as_view(), name="budgetgroup_list"),
|
||||||
|
path("group/new", views.BudgetGroupCreate.as_view(), name="budgetgroup_new"),
|
||||||
|
path(
|
||||||
|
"group/edit/<int:pk>",
|
||||||
|
views.BudgetGroupUpdate.as_view(),
|
||||||
|
name="budgetgroup_update",
|
||||||
|
),
|
||||||
|
path(
|
||||||
|
"group/delete/<int:pk>",
|
||||||
|
views.BudgetGroupDelete.as_view(),
|
||||||
|
name="budgetgroup_delete",
|
||||||
|
),
|
||||||
|
path("line/view/<int:pk>", views.BudgetLineView.as_view(), name="budgetline_view"),
|
||||||
|
path("line/new", views.BudgetLineCreate.as_view(), name="budgetline_new"),
|
||||||
|
path(
|
||||||
|
"line/edit/<int:pk>", views.BudgetLineUpdate.as_view(), name="budgetline_update"
|
||||||
|
),
|
||||||
|
path(
|
||||||
|
"line/delete/<int:pk>",
|
||||||
|
views.BudgetLineDelete.as_view(),
|
||||||
|
name="budgetline_delete",
|
||||||
|
),
|
||||||
|
]
|
55
budget/views.py
Normal file
55
budget/views.py
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
from django.contrib.auth.mixins import PermissionRequiredMixin
|
||||||
|
from django.urls import reverse_lazy
|
||||||
|
from django.views.generic import DetailView, ListView
|
||||||
|
from django.views.generic.edit import CreateView, DeleteView, UpdateView
|
||||||
|
|
||||||
|
from .models import BudgetGroup, BudgetLine
|
||||||
|
|
||||||
|
|
||||||
|
class BudgetGroupList(ListView):
|
||||||
|
model = BudgetGroup
|
||||||
|
ordering = "-name"
|
||||||
|
|
||||||
|
|
||||||
|
class BudgetLineView(DetailView):
|
||||||
|
model = BudgetLine
|
||||||
|
|
||||||
|
|
||||||
|
class BudgetLineCreate(PermissionRequiredMixin, CreateView):
|
||||||
|
permission_required = "budget.add_budgetline"
|
||||||
|
model = BudgetLine
|
||||||
|
success_url = reverse_lazy("budgetgroup_list")
|
||||||
|
fields = "__all__"
|
||||||
|
|
||||||
|
|
||||||
|
class BudgetLineUpdate(PermissionRequiredMixin, UpdateView):
|
||||||
|
permission_required = "budget.change_budgetline"
|
||||||
|
model = BudgetLine
|
||||||
|
success_url = reverse_lazy("budgetgroup_list")
|
||||||
|
fields = "__all__"
|
||||||
|
|
||||||
|
|
||||||
|
class BudgetLineDelete(PermissionRequiredMixin, DeleteView):
|
||||||
|
permission_required = "budget.delete_budgetline"
|
||||||
|
model = BudgetLine
|
||||||
|
success_url = reverse_lazy("budgetgroup_list")
|
||||||
|
|
||||||
|
|
||||||
|
class BudgetGroupCreate(PermissionRequiredMixin, CreateView):
|
||||||
|
permission_required = "budget.add_budgetgroup"
|
||||||
|
model = BudgetGroup
|
||||||
|
success_url = reverse_lazy("budgetgroup_list")
|
||||||
|
fields = "__all__"
|
||||||
|
|
||||||
|
|
||||||
|
class BudgetGroupUpdate(PermissionRequiredMixin, UpdateView):
|
||||||
|
permission_required = "budget.change_budgetgroup"
|
||||||
|
model = BudgetGroup
|
||||||
|
success_url = reverse_lazy("budgetgroup_list")
|
||||||
|
fields = "__all__"
|
||||||
|
|
||||||
|
|
||||||
|
class BudgetGroupDelete(PermissionRequiredMixin, DeleteView):
|
||||||
|
permission_required = "budget.delete_budgetgroup"
|
||||||
|
model = BudgetGroup
|
||||||
|
success_url = reverse_lazy("budgetgroup_list")
|
|
@ -1,9 +0,0 @@
|
||||||
from rest_framework import serializers
|
|
||||||
|
|
||||||
from .models import Agent
|
|
||||||
|
|
||||||
|
|
||||||
class AgentSerializer(serializers.ModelSerializer):
|
|
||||||
class Meta:
|
|
||||||
model = Agent
|
|
||||||
fields = "__all__"
|
|
|
@ -1,13 +0,0 @@
|
||||||
"""backend URL Configuration
|
|
||||||
"""
|
|
||||||
|
|
||||||
from rest_framework import routers
|
|
||||||
|
|
||||||
from .views import AgentViewSet
|
|
||||||
|
|
||||||
router = routers.DefaultRouter()
|
|
||||||
|
|
||||||
router.register(r"agent", AgentViewSet)
|
|
||||||
|
|
||||||
app_name = "agent-backend"
|
|
||||||
urlpatterns = router.urls
|
|
|
@ -1,11 +0,0 @@
|
||||||
from rest_framework import viewsets
|
|
||||||
from rest_framework.permissions import DjangoModelPermissionsOrAnonReadOnly
|
|
||||||
|
|
||||||
from .models import Agent
|
|
||||||
from .serializers import AgentSerializer
|
|
||||||
|
|
||||||
|
|
||||||
class AgentViewSet(viewsets.ModelViewSet):
|
|
||||||
queryset = Agent.objects.all()
|
|
||||||
serializer_class = AgentSerializer
|
|
||||||
permission_class = [DjangoModelPermissionsOrAnonReadOnly]
|
|
|
@ -1,23 +0,0 @@
|
||||||
from rest_framework import serializers
|
|
||||||
|
|
||||||
from .models import BudgetGroup, BudgetLine
|
|
||||||
|
|
||||||
|
|
||||||
class BudgetGroupSerializer(serializers.ModelSerializer):
|
|
||||||
total = serializers.SerializerMethodField()
|
|
||||||
|
|
||||||
def get_total(self, obj):
|
|
||||||
tot = 0
|
|
||||||
for i in obj.budgetline_set.all():
|
|
||||||
tot += i.amount
|
|
||||||
return tot
|
|
||||||
|
|
||||||
class Meta:
|
|
||||||
model = BudgetGroup
|
|
||||||
fields = "__all__"
|
|
||||||
|
|
||||||
|
|
||||||
class BudgetLineSerializer(serializers.ModelSerializer):
|
|
||||||
class Meta:
|
|
||||||
model = BudgetLine
|
|
||||||
fields = "__all__"
|
|
|
@ -1,23 +0,0 @@
|
||||||
"""
|
|
||||||
backend URL Configuration
|
|
||||||
"""
|
|
||||||
|
|
||||||
from rest_framework import routers
|
|
||||||
|
|
||||||
from .views import BudgetGroupViewSet, BudgetLineViewSet
|
|
||||||
|
|
||||||
router = routers.DefaultRouter()
|
|
||||||
|
|
||||||
router.register(
|
|
||||||
r"budgetgroup",
|
|
||||||
BudgetGroupViewSet,
|
|
||||||
basename="budgetgroup",
|
|
||||||
)
|
|
||||||
router.register(
|
|
||||||
r"budgetline",
|
|
||||||
BudgetLineViewSet,
|
|
||||||
basename="budgetline",
|
|
||||||
)
|
|
||||||
|
|
||||||
app_name = "budget-backend"
|
|
||||||
urlpatterns = router.urls
|
|
|
@ -1,17 +0,0 @@
|
||||||
from rest_framework import viewsets
|
|
||||||
from rest_framework.permissions import DjangoModelPermissionsOrAnonReadOnly
|
|
||||||
|
|
||||||
from .models import BudgetGroup, BudgetLine
|
|
||||||
from .serializers import BudgetGroupSerializer, BudgetLineSerializer
|
|
||||||
|
|
||||||
|
|
||||||
class BudgetGroupViewSet(viewsets.ModelViewSet):
|
|
||||||
queryset = BudgetGroup.objects.all()
|
|
||||||
serializer_class = BudgetGroupSerializer
|
|
||||||
permission_class = [DjangoModelPermissionsOrAnonReadOnly]
|
|
||||||
|
|
||||||
|
|
||||||
class BudgetLineViewSet(viewsets.ModelViewSet):
|
|
||||||
queryset = BudgetLine.objects.all()
|
|
||||||
serializer_class = BudgetLineSerializer
|
|
||||||
permission_class = [DjangoModelPermissionsOrAnonReadOnly]
|
|
|
@ -1,3 +0,0 @@
|
||||||
from django.contrib import admin
|
|
||||||
|
|
||||||
# Register your models here.
|
|
|
@ -1,6 +0,0 @@
|
||||||
from django.apps import AppConfig
|
|
||||||
|
|
||||||
|
|
||||||
class FrontendConfig(AppConfig):
|
|
||||||
default_auto_field = 'django.db.models.BigAutoField'
|
|
||||||
name = 'frontend'
|
|
|
@ -1,3 +0,0 @@
|
||||||
from django.db import models
|
|
||||||
|
|
||||||
# Create your models here.
|
|
|
@ -1,46 +0,0 @@
|
||||||
document.addEventListener('DOMContentLoaded', () => {
|
|
||||||
|
|
||||||
const $deletebudgetline = Array.prototype.slice.call(document.querySelectorAll('.delete-budgetline'), 0);
|
|
||||||
|
|
||||||
// Add a click event on each of them
|
|
||||||
$deletebudgetline.forEach(el => {
|
|
||||||
el.addEventListener('click', async () => {
|
|
||||||
// Get the target from the "data-target" attribute
|
|
||||||
if ('lineid' in el.dataset) {
|
|
||||||
const target = el.dataset.lineid;
|
|
||||||
const group = el.dataset.groupid;
|
|
||||||
const tableLine = document.getElementById(`tableline-${target}`);
|
|
||||||
const budgetAmount = document.getElementById(`budget-amount-${group}`);
|
|
||||||
if (confirm("Are you sure to delete this item ?")) {
|
|
||||||
// Get csrf token
|
|
||||||
const cookieValue = document.cookie
|
|
||||||
.split('; ')
|
|
||||||
.find((row) => row.startsWith('csrftoken='))
|
|
||||||
?.split('=')[1];
|
|
||||||
const url = el.dataset.lineurl;
|
|
||||||
tableLine.classList.add("tr-disabled");
|
|
||||||
await fetch(url, {
|
|
||||||
method: 'DELETE',
|
|
||||||
headers: {
|
|
||||||
'X-CSRFToken': cookieValue
|
|
||||||
}
|
|
||||||
}).then((resp) => {
|
|
||||||
if(resp.ok) {
|
|
||||||
tableLine.remove();
|
|
||||||
const url = el.dataset.groupurl;
|
|
||||||
budgetAmount.innerHTML = "---";
|
|
||||||
return fetch(url);
|
|
||||||
} else {
|
|
||||||
tableLine.classList.remove("tr-disabled");
|
|
||||||
}
|
|
||||||
}).then((resp) =>
|
|
||||||
resp.json()
|
|
||||||
).then((data) => {
|
|
||||||
budgetAmount.innerHTML = data.total;
|
|
||||||
}).catch((e) => console.log(e));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
|
@ -1,82 +0,0 @@
|
||||||
{% load static %}
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
|
||||||
<meta name="viewport" content="width=device-width" />
|
|
||||||
<link rel="stylesheet" href="{% static "css/bundle.css" %}" type="text/css" media="screen" charset="utf-8">
|
|
||||||
<link rel="stylesheet" href="{% static "vendor/fontawesome/css/fontawesome.min.css" %}" type="text/css" media="screen" charset="utf-8">
|
|
||||||
<link rel="stylesheet" href="{% static "vendor/fontawesome/css/solid.min.css" %}" type="text/css" media="screen" charset="utf-8">
|
|
||||||
|
|
||||||
<title>Hackens-orga</title>
|
|
||||||
<link rel="shortcut icon" type="image/png" href="{% static 'media/logo.png' %}">
|
|
||||||
</head>
|
|
||||||
<body class="has-navbar-fixed-top">
|
|
||||||
<nav class="navbar is-fixed-top" aria-label="main navigation">
|
|
||||||
<div class="navbar-brand">
|
|
||||||
<a class="navbar-item" href="https://new.hackens.org" >
|
|
||||||
<img src="{% static "media/logo.png" %}" alt="Logo d'hackens"/>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<a role="button" class="navbar-burger" data-target="main-menu" aria-label="menu" aria-expanded="false">
|
|
||||||
<span aria-hidden="true"></span>
|
|
||||||
<span aria-hidden="true"></span>
|
|
||||||
<span aria-hidden="true"></span>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="navbar-menu" id="main-menu">
|
|
||||||
<div class="navbar-start">
|
|
||||||
<a class="navbar-item" href="{% url "frontend:budget" %}" >
|
|
||||||
Budget
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<a class="navbar-item" href="https://www.eleves.ens.fr/pads/p/HackensCourses" >
|
|
||||||
Liste de courses
|
|
||||||
</a>
|
|
||||||
{% if user.is_staff %}
|
|
||||||
<a class="navbar-item" href="{% url "admin:index" %}" >
|
|
||||||
Admin
|
|
||||||
</a>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="navbar-end">
|
|
||||||
{% if user.is_authenticated %}
|
|
||||||
<div class="navbar-item">
|
|
||||||
<span class="icon-text">
|
|
||||||
<span class="icon">
|
|
||||||
<i class="fas fa-user"></i>
|
|
||||||
</span>
|
|
||||||
<span>{{ user.username }}</span>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
<div class="navbar-item">
|
|
||||||
<div class="buttons">
|
|
||||||
{% if user.is_authenticated %}
|
|
||||||
<a class="button is-secondary" href="{% url "authens:logout" %}">
|
|
||||||
<strong>Déconnexion</strong>
|
|
||||||
</a>
|
|
||||||
{% else %}
|
|
||||||
<a class="button is-primary" href="{% url "authens:login" %}">
|
|
||||||
<strong>Connexion</strong>
|
|
||||||
</a>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
<section class="section pt-1 pb-1">
|
|
||||||
{% for m in messages %}
|
|
||||||
<div class="notification {{ m.level_tag }}" id="message-{{ forloop.counter0 }}">
|
|
||||||
<button class="delete" data-target="message-{{ forloop.counter0 }}"></button>
|
|
||||||
{{ m }}
|
|
||||||
</div>
|
|
||||||
{% endfor %}
|
|
||||||
</section>
|
|
||||||
{% block content %}{% endblock %}
|
|
||||||
<script src="{% static "js/bulma-utils.js" %}" defer></script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -1,115 +0,0 @@
|
||||||
{% extends "frontend/base.html" %}
|
|
||||||
{% load static %}
|
|
||||||
{% block content %}
|
|
||||||
|
|
||||||
<section class="section pt-2 content">
|
|
||||||
<h1 class="title is-3">Budget d'hackens</h1>
|
|
||||||
{% if perms.budget.add_budgetgroup %}
|
|
||||||
<div class="buttons">
|
|
||||||
<a
|
|
||||||
class="button is-dark"
|
|
||||||
href="{% url "frontend:budget-group-create" %}"
|
|
||||||
>
|
|
||||||
<span class="icon">
|
|
||||||
<i class="fas fa-plus"></i>
|
|
||||||
</span>
|
|
||||||
<span>Nouveau budget</span>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
{% for budgetGroup in object_list %}
|
|
||||||
{% with all_lines=budgetGroup.get_all_lines %}
|
|
||||||
<div class="level is-mobile">
|
|
||||||
<div class="level-left">
|
|
||||||
<h2 class="m-0 title is-4 level-item">
|
|
||||||
Budget {{ budgetGroup.name }} : <span id="budget-amount-{{ budgetGroup.id }}">{{ all_lines.1 }}</span>€
|
|
||||||
</h2>
|
|
||||||
</div>
|
|
||||||
<div class="level-right">
|
|
||||||
<div class="level-item buttons">
|
|
||||||
{% if perms.budget.add_budgetline %}
|
|
||||||
<a class="button" href="{% url "frontend:budget-line-create" %}" title="Nouvelle ligne de budget">
|
|
||||||
<span class="is-hidden-mobile icon-text">
|
|
||||||
<span class="icon"><i class="fa-solid fa-circle-plus"></i></span>
|
|
||||||
<span>Nouvelle ligne</span>
|
|
||||||
</span>
|
|
||||||
<span class="is-hidden-tablet icon-text">
|
|
||||||
<span class="icon"><i class="fa-solid fa-circle-plus"></i></span>
|
|
||||||
</span>
|
|
||||||
</a>
|
|
||||||
{% endif %}
|
|
||||||
{% if perms.budget.change_budgetgroup %}
|
|
||||||
<a
|
|
||||||
class="button"
|
|
||||||
href="{% url "frontend:budget-group-update" budgetGroup.id %}"
|
|
||||||
title="Éditer l'intitulé du budget"
|
|
||||||
>
|
|
||||||
<span class="icon"><i class="fa-regular fa-pen-to-square"></i></span>
|
|
||||||
</a>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% if budgetGroup.description.strip %}
|
|
||||||
<p>
|
|
||||||
<strong>Description:</strong> {{ budgetGroup.description.strip }}
|
|
||||||
</p>
|
|
||||||
{% endif %}
|
|
||||||
{% for line in all_lines.0|dictsortreversed:"date" %}
|
|
||||||
{% if forloop.first %}
|
|
||||||
<table class="table">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>Date</th>
|
|
||||||
<th>Libellé</th>
|
|
||||||
<th>Montant</th>
|
|
||||||
<th>Ajouté par</th>
|
|
||||||
{% if perms.budget.change_budgetline %}
|
|
||||||
<th></th>
|
|
||||||
{% endif %}
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
{% endif %}
|
|
||||||
<tr id="tableline-{{ line.id }}">
|
|
||||||
<td>{{ line.date|date:"Y-m-d" }}</td>
|
|
||||||
<td>{{ line.title }}</td>
|
|
||||||
<td>{{ line.amount }}€</td>
|
|
||||||
<td>{{ line.author.name }}</td>
|
|
||||||
{% if perms.budget.change_budgetline %}
|
|
||||||
<td>
|
|
||||||
<div class="buttons">
|
|
||||||
<a class="button" href="{% url "frontend:budget-line-update" line.id %}">
|
|
||||||
<span class="icon"><i class="fa-solid fa-pen-to-square"></i></span>
|
|
||||||
</a>
|
|
||||||
{% if perms.budget.delete_budgetline %}
|
|
||||||
<button
|
|
||||||
data-lineid="{{ line.id }}"
|
|
||||||
data-groupid="{{ budgetGroup.id }}"
|
|
||||||
data-lineurl="{% url "budget-backend:budgetline-detail" line.id %}"
|
|
||||||
data-groupurl="{% url "budget-backend:budgetgroup-detail" budgetGroup.id %}"
|
|
||||||
class="delete-budgetline button"
|
|
||||||
>
|
|
||||||
<span class="icon"><i class="fa-solid fa-trash"></i></span>
|
|
||||||
</button>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
{% endif %}
|
|
||||||
</tr>
|
|
||||||
{% if forloop.last %}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
{% endif %}
|
|
||||||
{% empty %}
|
|
||||||
<p class="has-text-centered">Ce budget est vide</p>
|
|
||||||
{% endfor %}
|
|
||||||
<div class="divider"></div>
|
|
||||||
{% endwith %}
|
|
||||||
{% endfor %}
|
|
||||||
</section>
|
|
||||||
|
|
||||||
{% if perms.budget.delete_budgetline %}
|
|
||||||
<script src="{% static "js/budget_list.js" %}" defer></script>
|
|
||||||
{% endif %}
|
|
||||||
{% endblock %}
|
|
|
@ -1,9 +0,0 @@
|
||||||
{% extends "frontend/base.html" %}
|
|
||||||
{% block content %}
|
|
||||||
|
|
||||||
<section class="section content container is-max-desktop">
|
|
||||||
<h1 class="title is-3">Créer un budget</h1>
|
|
||||||
{% include "forms/common-form.html" with c_size="is-12" errors=True %}
|
|
||||||
</section>
|
|
||||||
|
|
||||||
{% endblock %}
|
|
|
@ -1,9 +0,0 @@
|
||||||
{% extends "frontend/base.html" %}
|
|
||||||
{% block content %}
|
|
||||||
|
|
||||||
<section class="section content">
|
|
||||||
<h1 class="title is-3">Éditer un budget</h1>
|
|
||||||
{% include "forms/common-form.html" with c_size="is-12" errors=True %}
|
|
||||||
</section>
|
|
||||||
|
|
||||||
{% endblock %}
|
|
|
@ -1,9 +0,0 @@
|
||||||
{% extends "frontend/base.html" %}
|
|
||||||
{% block content %}
|
|
||||||
|
|
||||||
<section class="section content container is-max-desktop">
|
|
||||||
<h1 class="title is-3">Créer une ligne de budget</h1>
|
|
||||||
{% include "forms/common-form.html" with c_size="is-12" errors=True %}
|
|
||||||
</section>
|
|
||||||
|
|
||||||
{% endblock %}
|
|
|
@ -1,9 +0,0 @@
|
||||||
{% extends "frontend/base.html" %}
|
|
||||||
{% block content %}
|
|
||||||
|
|
||||||
<section class="section content">
|
|
||||||
<h1 class="title is-3">Éditer le ligne {{ object.title }}</h1>
|
|
||||||
{% include "forms/common-form.html" with c_size="is-12" errors=True %}
|
|
||||||
</section>
|
|
||||||
|
|
||||||
{% endblock %}
|
|
|
@ -1,3 +0,0 @@
|
||||||
from django.test import TestCase
|
|
||||||
|
|
||||||
# Create your tests here.
|
|
|
@ -1,29 +0,0 @@
|
||||||
from django.urls import include, path
|
|
||||||
|
|
||||||
from .views import (BudgetGroupCreateView, BudgetGroupUpdateView,
|
|
||||||
BudgetLineCreateView, BudgetLineUpdateView, BudgetListView)
|
|
||||||
|
|
||||||
app_name = "frontend"
|
|
||||||
urlpatterns = [
|
|
||||||
path("", BudgetListView.as_view(), name="budget"),
|
|
||||||
path(
|
|
||||||
"budget-group/create",
|
|
||||||
BudgetGroupCreateView.as_view(),
|
|
||||||
name="budget-group-create",
|
|
||||||
),
|
|
||||||
path(
|
|
||||||
"budget-group/<int:pk>/update",
|
|
||||||
BudgetGroupUpdateView.as_view(),
|
|
||||||
name="budget-group-update",
|
|
||||||
),
|
|
||||||
path(
|
|
||||||
"budget-line/create",
|
|
||||||
BudgetLineCreateView.as_view(),
|
|
||||||
name="budget-line-create",
|
|
||||||
),
|
|
||||||
path(
|
|
||||||
"budget-line/<int:pk>/update",
|
|
||||||
BudgetLineUpdateView.as_view(),
|
|
||||||
name="budget-line-update",
|
|
||||||
),
|
|
||||||
]
|
|
|
@ -1,78 +0,0 @@
|
||||||
"""
|
|
||||||
Frontend views for the app
|
|
||||||
"""
|
|
||||||
|
|
||||||
from agent.models import Agent
|
|
||||||
from budget.models import BudgetGroup, BudgetLine
|
|
||||||
from django.contrib.auth.mixins import PermissionRequiredMixin
|
|
||||||
from django.contrib.messages.views import SuccessMessageMixin
|
|
||||||
from django.db.models import Model
|
|
||||||
from django.urls import reverse
|
|
||||||
from django.views.generic import (CreateView, DeleteView, DetailView, ListView,
|
|
||||||
TemplateView, UpdateView)
|
|
||||||
|
|
||||||
|
|
||||||
class BudgetListView(ListView):
|
|
||||||
model = BudgetGroup
|
|
||||||
template_name = "frontend/budget_list.html"
|
|
||||||
ordering = "-name"
|
|
||||||
|
|
||||||
|
|
||||||
class BudgetGroupCreateView(SuccessMessageMixin, PermissionRequiredMixin, CreateView):
|
|
||||||
model = BudgetGroup
|
|
||||||
fields = ["name", "description"]
|
|
||||||
template_name = "frontend/budgetgroup_create.html"
|
|
||||||
success_message = "Le budget %(name)s a été créé avec succès"
|
|
||||||
permission_required = "budget.add_budgetgroup"
|
|
||||||
|
|
||||||
def get_success_url(self):
|
|
||||||
return reverse("frontend:budget")
|
|
||||||
|
|
||||||
|
|
||||||
class BudgetGroupUpdateView(SuccessMessageMixin, PermissionRequiredMixin, UpdateView):
|
|
||||||
model = BudgetGroup
|
|
||||||
fields = ["name", "description"]
|
|
||||||
template_name = "frontend/budgetgroup_create.html"
|
|
||||||
success_message = "Le budget %(name)s a été mis à jour avec succès"
|
|
||||||
permission_required = "budget.change_budgetgroup"
|
|
||||||
|
|
||||||
def get_success_url(self):
|
|
||||||
return reverse("frontend:budget")
|
|
||||||
|
|
||||||
|
|
||||||
class BudgetLineCreateView(SuccessMessageMixin, PermissionRequiredMixin, CreateView):
|
|
||||||
model = BudgetLine
|
|
||||||
fields = ["title", "comment", "amount", "author", "date", "group"]
|
|
||||||
template_name = "frontend/budgetline_create.html"
|
|
||||||
success_message = 'La dépense/recette "%(title)s" a été créée avec succès'
|
|
||||||
permission_required = "budget.add_budgetline"
|
|
||||||
|
|
||||||
def get_initial(self):
|
|
||||||
if "groupid" in self.request.GET:
|
|
||||||
try:
|
|
||||||
gid = int(self.request.GET["groupid"])
|
|
||||||
except ValueError:
|
|
||||||
gid = None
|
|
||||||
if gid is not None:
|
|
||||||
try:
|
|
||||||
grp = BudgetGroup.objects.get(pk=gid)
|
|
||||||
except Model.DoesNotExist:
|
|
||||||
grp = None
|
|
||||||
else:
|
|
||||||
grp = None
|
|
||||||
agents = Agent.objects.filter(user=self.user)
|
|
||||||
return {"author": agents[0] if len(agents) >= 1 else None, "group": grp}
|
|
||||||
|
|
||||||
def get_success_url(self):
|
|
||||||
return reverse("frontend:budget")
|
|
||||||
|
|
||||||
|
|
||||||
class BudgetLineUpdateView(SuccessMessageMixin, UpdateView, PermissionRequiredMixin):
|
|
||||||
model = BudgetLine
|
|
||||||
fields = ["title", "comment", "amount", "author", "date", "group"]
|
|
||||||
template_name = "frontend/budgetline_update.html"
|
|
||||||
success_message = 'La dépense/recette "%(title)s" a été mise à jour avec succès'
|
|
||||||
permission_required = "budget.change_budgetline"
|
|
||||||
|
|
||||||
def get_success_url(self):
|
|
||||||
return reverse("frontend:budget")
|
|
|
@ -10,10 +10,10 @@ For the full list of settings and their values, see
|
||||||
https://docs.djangoproject.com/en/3.2/ref/settings/
|
https://docs.djangoproject.com/en/3.2/ref/settings/
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import os
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
env_prefix = "HACKENS_ORGA_"
|
from django.contrib import messages
|
||||||
|
from django.urls import reverse_lazy
|
||||||
|
|
||||||
# Build paths inside the project like this: BASE_DIR / 'subdir'.
|
# Build paths inside the project like this: BASE_DIR / 'subdir'.
|
||||||
BASE_DIR = Path(__file__).resolve().parent.parent
|
BASE_DIR = Path(__file__).resolve().parent.parent
|
||||||
|
@ -23,17 +23,12 @@ BASE_DIR = Path(__file__).resolve().parent.parent
|
||||||
# See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/
|
# See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/
|
||||||
|
|
||||||
# SECURITY WARNING: keep the secret key used in production secret!
|
# SECURITY WARNING: keep the secret key used in production secret!
|
||||||
SECRET_KEY = os.environ.get(
|
SECRET_KEY = "django-insecure-d4qh9v-en$&f%$j$jyhqkn_th#ow-e22bs^stx(n33sg-eyfhd"
|
||||||
f"{env_prefix}SECRET_KEY",
|
|
||||||
"django-insecure-d4qh9v-en$&f%$j$jyhqkn_th#ow-e22bs^stx(n33sg-eyfhd",
|
|
||||||
)
|
|
||||||
|
|
||||||
# SECURITY WARNING: don't run with debug turned on in production!
|
# SECURITY WARNING: don't run with debug turned on in production!
|
||||||
DEBUG = os.environ.get(f"{env_prefix}DEBUG", "1") != "0"
|
DEBUG = True
|
||||||
|
|
||||||
ALLOWED_HOSTS = os.environ.get(
|
ALLOWED_HOSTS = ["127.0.0.1", "localhost"]
|
||||||
f"{env_prefix}ALLOWED_HOSTS", "127.0.0.1,localhost"
|
|
||||||
).split(",")
|
|
||||||
|
|
||||||
INTERNAL_IPS = [
|
INTERNAL_IPS = [
|
||||||
"127.0.0.1",
|
"127.0.0.1",
|
||||||
|
@ -49,12 +44,8 @@ INSTALLED_APPS = [
|
||||||
"django.contrib.messages",
|
"django.contrib.messages",
|
||||||
"django.contrib.staticfiles",
|
"django.contrib.staticfiles",
|
||||||
"authens",
|
"authens",
|
||||||
"rest_framework",
|
|
||||||
# "django_extensions",
|
|
||||||
"budget",
|
"budget",
|
||||||
"agent",
|
"agent",
|
||||||
# "wishlist",
|
|
||||||
"frontend",
|
|
||||||
"shared",
|
"shared",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -69,7 +60,7 @@ MIDDLEWARE = [
|
||||||
"django.middleware.clickjacking.XFrameOptionsMiddleware",
|
"django.middleware.clickjacking.XFrameOptionsMiddleware",
|
||||||
]
|
]
|
||||||
|
|
||||||
if DEBUG:
|
if False: # Turn when dev
|
||||||
INSTALLED_APPS += [
|
INSTALLED_APPS += [
|
||||||
"debug_toolbar",
|
"debug_toolbar",
|
||||||
]
|
]
|
||||||
|
@ -107,34 +98,20 @@ AUTHENTICATION_BACKENDS = [
|
||||||
AUTHENS_ALLOW_STAFF = True
|
AUTHENS_ALLOW_STAFF = True
|
||||||
AUTHENS_USE_OLDCAS = False
|
AUTHENS_USE_OLDCAS = False
|
||||||
|
|
||||||
from django.urls import reverse_lazy
|
|
||||||
|
|
||||||
LOGIN_URL = reverse_lazy("authens:login")
|
LOGIN_URL = reverse_lazy("authens:login")
|
||||||
|
|
||||||
LOGIN_REDIRECT_URL = reverse_lazy("frontend:budget")
|
LOGIN_REDIRECT_URL = reverse_lazy("budgetgroup_list")
|
||||||
LOGOUT_REDIRECT_URL = reverse_lazy("frontend:budget")
|
LOGOUT_REDIRECT_URL = reverse_lazy("budgetgroup_list")
|
||||||
|
|
||||||
|
|
||||||
# Django-rest-framework
|
|
||||||
# https://www.django-rest-framework.org/
|
|
||||||
|
|
||||||
REST_FRAMEWORK = {
|
|
||||||
# Use Django's standard `django.contrib.auth` permissions,
|
|
||||||
# or allow read-only access for unauthenticated users.
|
|
||||||
"DEFAULT_PERMISSION_CLASSES": [
|
|
||||||
"rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
# Database
|
# Database
|
||||||
# https://docs.djangoproject.com/en/3.2/ref/settings/#databases
|
# https://docs.djangoproject.com/en/3.2/ref/settings/#databases
|
||||||
|
|
||||||
DB_FILE = os.environ.get(f"{env_prefix}DB_FILE", BASE_DIR / "db.sqlite3")
|
|
||||||
|
|
||||||
DATABASES = {
|
DATABASES = {
|
||||||
"default": {
|
"default": {
|
||||||
"ENGINE": "django.db.backends.sqlite3",
|
"ENGINE": "django.db.backends.sqlite3",
|
||||||
"NAME": DB_FILE,
|
"NAME": BASE_DIR / "db.sqlite3",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -177,7 +154,7 @@ USE_TZ = True
|
||||||
|
|
||||||
STATIC_URL = "/static/"
|
STATIC_URL = "/static/"
|
||||||
|
|
||||||
STATIC_ROOT = os.environ.get(f"{env_prefix}STATIC_ROOT", "static/")
|
STATIC_ROOT = "static/"
|
||||||
|
|
||||||
# Default primary key field type
|
# Default primary key field type
|
||||||
# https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field
|
# https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field
|
||||||
|
@ -186,7 +163,6 @@ DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField"
|
||||||
|
|
||||||
# Messages tags
|
# Messages tags
|
||||||
|
|
||||||
from django.contrib import messages
|
|
||||||
|
|
||||||
MESSAGE_TAGS = {
|
MESSAGE_TAGS = {
|
||||||
messages.DEBUG: "is-warning",
|
messages.DEBUG: "is-warning",
|
|
@ -1,21 +0,0 @@
|
||||||
The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright (c) 2022 Jeremy Thomas
|
|
||||||
|
|
||||||
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.
|
|
|
@ -1,139 +0,0 @@
|
||||||
# [Bulma](https://bulma.io)
|
|
||||||
|
|
||||||
Bulma is a **modern CSS framework** based on [Flexbox](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Using_CSS_flexible_boxes).
|
|
||||||
|
|
||||||
![Github](https://img.shields.io/github/v/release/jgthms/bulma?logo=Bulma)
|
|
||||||
[![npm](https://img.shields.io/npm/v/bulma.svg)][npm-link]
|
|
||||||
[![npm](https://img.shields.io/npm/dm/bulma.svg)][npm-link]
|
|
||||||
[![](https://data.jsdelivr.com/v1/package/npm/bulma/badge)](https://www.jsdelivr.com/package/npm/bulma)
|
|
||||||
[![Awesome][awesome-badge]][awesome-link]
|
|
||||||
[![Join the chat at https://gitter.im/jgthms/bulma](https://badges.gitter.im/jgthms/bulma.svg)](https://gitter.im/jgthms/bulma)
|
|
||||||
[![Build Status](https://travis-ci.org/jgthms/bulma.svg?branch=master)](https://travis-ci.org/jgthms/bulma)
|
|
||||||
|
|
||||||
<a href="https://bulma.io"><img src="https://raw.githubusercontent.com/jgthms/bulma/master/docs/images/bulma-banner.png" alt="Bulma: a Flexbox CSS framework" style="max-width:100%;" width="600"></a>
|
|
||||||
|
|
||||||
## Quick install
|
|
||||||
|
|
||||||
Bulma is constantly in development! Try it out now:
|
|
||||||
|
|
||||||
### NPM
|
|
||||||
|
|
||||||
```sh
|
|
||||||
npm install bulma
|
|
||||||
```
|
|
||||||
|
|
||||||
**or**
|
|
||||||
|
|
||||||
### Yarn
|
|
||||||
|
|
||||||
```sh
|
|
||||||
yarn add bulma
|
|
||||||
```
|
|
||||||
|
|
||||||
### Bower
|
|
||||||
|
|
||||||
```sh
|
|
||||||
bower install bulma
|
|
||||||
```
|
|
||||||
|
|
||||||
### Import
|
|
||||||
|
|
||||||
After installation, you can import the CSS file into your project using this snippet:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
@import 'bulma/css/bulma.css'
|
|
||||||
```
|
|
||||||
|
|
||||||
### CDN
|
|
||||||
|
|
||||||
[https://www.jsdelivr.com/package/npm/bulma](https://www.jsdelivr.com/package/npm/bulma)
|
|
||||||
|
|
||||||
Feel free to raise an issue or submit a pull request.
|
|
||||||
|
|
||||||
## CSS only
|
|
||||||
|
|
||||||
Bulma is a **CSS** framework. As such, the sole output is a single CSS file: [bulma.css](https://github.com/jgthms/bulma/blob/master/css/bulma.css)
|
|
||||||
|
|
||||||
You can either use that file, "out of the box", or download the Sass source files to customize the [variables](https://bulma.io/documentation/overview/variables/).
|
|
||||||
|
|
||||||
There is **no** JavaScript included. People generally want to use their own JS implementation (and usually already have one). Bulma can be considered "environment agnostic": it's just the style layer on top of the logic.
|
|
||||||
|
|
||||||
## Browser Support
|
|
||||||
|
|
||||||
Bulma uses [autoprefixer](https://github.com/postcss/autoprefixer) to make (most) Flexbox features compatible with earlier browser versions. According to [Can I use](https://caniuse.com/#feat=flexbox), Bulma is compatible with **recent** versions of:
|
|
||||||
|
|
||||||
- Chrome
|
|
||||||
- Edge
|
|
||||||
- Firefox
|
|
||||||
- Opera
|
|
||||||
- Safari
|
|
||||||
|
|
||||||
Internet Explorer (10+) is only partially supported.
|
|
||||||
|
|
||||||
## Documentation
|
|
||||||
|
|
||||||
The documentation resides in the [docs](docs) directory, and is built with the Ruby-based [Jekyll](https://jekyllrb.com/) tool.
|
|
||||||
|
|
||||||
Browse the [online documentation here.](https://bulma.io/documentation/overview/start/)
|
|
||||||
|
|
||||||
## Related projects
|
|
||||||
|
|
||||||
| Project | Description |
|
|
||||||
| ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
|
|
||||||
| [Bulma with Attribute Modules](https://github.com/j5bot/bulma-attribute-selectors) | Adds support for attribute-based selectors |
|
|
||||||
| [Bulma with Rails](https://github.com/joshuajansen/bulma-rails) | Integrates Bulma with the rails asset pipeline |
|
|
||||||
| [BulmaRazor](https://github.com/loogn/bulmarazor) | A lightweight component library based on Bulma and Blazor. |
|
|
||||||
| [Vue Admin (dead)](https://github.com/vue-bulma/vue-admin) | Vue Admin framework powered by Bulma |
|
|
||||||
| [Bulmaswatch](https://github.com/jenil/bulmaswatch) | Free themes for Bulma |
|
|
||||||
| [Goldfish (read-only)](https://github.com/Caiyeon/goldfish) | Vault UI with Bulma, Golang, and Vue Admin |
|
|
||||||
| [ember-bulma](https://github.com/open-tux/ember-bulma) | Ember addon providing a collection of UI components for Bulma |
|
|
||||||
| [Bloomer](https://bloomer.js.org) | A set of React components for Bulma |
|
|
||||||
| [React-bulma](https://github.com/kulakowka/react-bulma) | React.js components for Bulma |
|
|
||||||
| [Buefy](https://buefy.org/) | Lightweight UI components for Vue.js based on Bulma |
|
|
||||||
| [vue-bulma-components](https://github.com/vouill/vue-bulma-components) | Bulma components for Vue.js with straightforward syntax |
|
|
||||||
| [BulmaJS](https://github.com/VizuaaLOG/BulmaJS) | Javascript integration for Bulma. Written in ES6 with a data-\* API |
|
|
||||||
| [Bulma-modal-fx](https://github.com/postare/bulma-modal-fx) | A set of modal window effects with CSS transitions and animations for Bulma |
|
|
||||||
| [Bulma Stylus](https://github.com/groenroos/bulma-stylus) | Up-to-date 1:1 translation to Stylus |
|
|
||||||
| [Bulma.styl (read-only)](https://github.com/log1x/bulma.styl) | 1:1 Stylus translation of Bulma 0.6.11 |
|
|
||||||
| [elm-bulma](https://github.com/surprisetalk/elm-bulma) | Bulma + Elm |
|
|
||||||
| [elm-bulma-classes](https://github.com/ahstro/elm-bulma-classes) | Bulma classes prepared for usage with Elm |
|
|
||||||
| [Bulma Customizer](https://bulma-customizer.bstash.io/) | Bulma Customizer – Create your own **bespoke** Bulma build |
|
|
||||||
| [Fulma](https://fulma.github.io/Fulma/) | Wrapper around Bulma for [fable-react](https://github.com/fable-compiler/fable-react) |
|
|
||||||
| [Laravel Enso](https://github.com/laravel-enso/enso) | SPA Admin Panel built with Bulma, VueJS and Laravel |
|
|
||||||
| [Django Bulma](https://github.com/timonweb/django-bulma) | Integrates Bulma with Django |
|
|
||||||
| [Bulma Templates](https://github.com/dansup/bulma-templates) | Free Templates for Bulma |
|
|
||||||
| [React Bulma Components](https://github.com/couds/react-bulma-components) | Another React wrap on React for Bulma.io |
|
|
||||||
| [purescript-bulma](https://github.com/sectore/purescript-bulma) | PureScript bindings for Bulma |
|
|
||||||
| [Vue Datatable](https://github.com/laravel-enso/vuedatatable) | Bulma themed datatable based on Vue, Laravel & JSON templates |
|
|
||||||
| [bulma-fluent](https://mubaidr.github.io/bulma-fluent/) | Fluent Design Theme for Bulma inspired by Microsoft’s Fluent Design System |
|
|
||||||
| [csskrt-csskrt](https://github.com/4d11/csskrt-csskrt) | Automatically add Bulma classes to HTML files |
|
|
||||||
| [bulma-pagination-react](https://github.com/hipstersmoothie/bulma-pagination-react) | Bulma pagination as a react component |
|
|
||||||
| [bulma-helpers](https://github.com/jmaczan/bulma-helpers) | Functional / Atomic CSS classes for Bulma |
|
|
||||||
| [bulma-swatch-hook](https://github.com/hipstersmoothie/bulma-swatch-hook) | Bulma swatches as a react hook and a component |
|
|
||||||
| [BulmaWP (read-only)](https://github.com/tomhrtly/BulmaWP) | Starter WordPress theme for Bulma |
|
|
||||||
| [Ralma](https://github.com/aldi/ralma) | Stateless Ractive.js Components for Bulma |
|
|
||||||
| [Django Simple Bulma](https://github.com/python-discord/django-simple-bulma) | Lightweight integration of Bulma and Bulma-Extensions for your Django app |
|
|
||||||
| [rbx](https://dfee.github.io/rbx) | Comprehensive React UI Framework written in TypeScript |
|
|
||||||
| [Awesome Bulma Templates](https://github.com/aldi/awesome-bulma-templates) | Free real-world Templates built with Bulma |
|
|
||||||
| [Trunx](http://g14n.info/trunx) | Super Saiyan React components, son of awesome Bulma, implemented in TypeScript |
|
|
||||||
| [@aybolit/bulma](https://github.com/web-padawan/aybolit/tree/master/packages/bulma) | Web Components library inspired by Bulma and Bulma-extensions |
|
|
||||||
| [Drulma](https://www.drupal.org/project/drulma) | Drupal theme for Bulma. |
|
|
||||||
| [Bulrush](https://github.com/textbook/bulrush) | A Bulma-based Python Pelican blog theme |
|
|
||||||
| [Bulma Variable Export](https://github.com/service-paradis/bulma-variables-export) | Access Bulma Variables in Javascript/Typescript in project using Webpack |
|
|
||||||
| [Bulmil](https://github.com/gomah/bulmil) | An agnostic UI components library based on Web Components, made with Bulma & Stencil. |
|
|
||||||
| [Svelte Bulma Components](https://github.com/elcobvg/svelte-bulma-components) | Library of UI components to be used in [Svelte.js](https://svelte.technology/) or standalone. |
|
|
||||||
| [Bulma Nunjucks Starterkit](https://github.com/benninkcorien/nunjucks-starter-kit) | Starterkit for Nunjucks with Bulma. |
|
|
||||||
| [Bulma-Social](https://github.com/aldi/bulma-social) | Social Buttons and Colors for Bulma |
|
|
||||||
| [Divjoy](https://divjoy.com/?kit=bulma) | React codebase generator with Bulma templates |
|
|
||||||
| [Blazorise](https://github.com/Megabit/Blazorise) | Blazor component library with the support for Bulma CSS framework |
|
|
||||||
| [Oruga-Bulma](https://github.com/oruga-ui/theme-bulma) | Bulma theme for [Oruga UI](https://oruga.io) |
|
|
||||||
| [@bulvar/bulma](https://github.com/daniil4udo/bulvar/tree/master/packages/bulma) | Bulma with [CSS Variables](https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties) support |
|
|
||||||
| [@angular-bulma](https://quinnjr.github.io/angular-bulma) | [Angular](https://angular.io/) directives and components to use in your Bulma projects |
|
|
||||||
|
|
||||||
## Copyright and license ![Github](https://img.shields.io/github/license/jgthms/bulma?logo=Github)
|
|
||||||
|
|
||||||
Code copyright 2022 Jeremy Thomas. Code released under [the MIT license](https://github.com/jgthms/bulma/blob/master/LICENSE).
|
|
||||||
|
|
||||||
[npm-link]: https://www.npmjs.com/package/bulma
|
|
||||||
[awesome-link]: https://github.com/awesome-css-group/awesome-css
|
|
||||||
[awesome-badge]: https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg
|
|
10
hackens_orga/shared/scss/bulma/bulma.sass
vendored
10
hackens_orga/shared/scss/bulma/bulma.sass
vendored
|
@ -1,10 +0,0 @@
|
||||||
@charset "utf-8"
|
|
||||||
/*! bulma.io v0.9.4 | MIT License | github.com/jgthms/bulma */
|
|
||||||
@import "sass/utilities/_all"
|
|
||||||
@import "sass/base/_all"
|
|
||||||
@import "sass/elements/_all"
|
|
||||||
@import "sass/form/_all"
|
|
||||||
@import "sass/components/_all"
|
|
||||||
@import "sass/grid/_all"
|
|
||||||
@import "sass/helpers/_all"
|
|
||||||
@import "sass/layout/_all"
|
|
|
@ -1,56 +0,0 @@
|
||||||
{
|
|
||||||
"name": "bulma",
|
|
||||||
"version": "0.9.4",
|
|
||||||
"homepage": "https://bulma.io",
|
|
||||||
"author": {
|
|
||||||
"name": "Jeremy Thomas",
|
|
||||||
"email": "bbxdesign@gmail.com",
|
|
||||||
"url": "https://jgthms.com"
|
|
||||||
},
|
|
||||||
"description": "Modern CSS framework based on Flexbox",
|
|
||||||
"main": "bulma.sass",
|
|
||||||
"unpkg": "css/bulma.css",
|
|
||||||
"style": "bulma/css/bulma.min.css",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git+https://github.com/jgthms/bulma.git"
|
|
||||||
},
|
|
||||||
"license": "MIT",
|
|
||||||
"keywords": [
|
|
||||||
"css",
|
|
||||||
"sass",
|
|
||||||
"flexbox",
|
|
||||||
"responsive",
|
|
||||||
"framework"
|
|
||||||
],
|
|
||||||
"bugs": {
|
|
||||||
"url": "https://github.com/jgthms/bulma/issues"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"autoprefixer": "^10.4.7",
|
|
||||||
"clean-css-cli": "^5.6.0",
|
|
||||||
"node-sass": "^7.0.1",
|
|
||||||
"postcss-cli": "^9.1.0",
|
|
||||||
"rimraf": "^3.0.2"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"build": "npm run build-sass && npm run build-autoprefix && npm run build-cleancss",
|
|
||||||
"build-autoprefix": "postcss --use autoprefixer --map false --output css/bulma.css css/bulma.css",
|
|
||||||
"build-cleancss": "cleancss -o css/bulma.min.css css/bulma.css",
|
|
||||||
"build-sass": "node-sass --output-style expanded --source-map true bulma.sass css/bulma.css",
|
|
||||||
"clean": "rimraf css",
|
|
||||||
"rtl": "npm run rtl-sass && npm run rtl-autoprefix && npm run rtl-cleancss",
|
|
||||||
"rtl-sass": "node-sass --output-style expanded --source-map true bulma-rtl.sass css/bulma-rtl.css",
|
|
||||||
"rtl-autoprefix": "postcss --use autoprefixer --map false --output css/bulma-rtl.css css/bulma-rtl.css",
|
|
||||||
"rtl-cleancss": "cleancss -o css/bulma-rtl.min.css css/bulma-rtl.css",
|
|
||||||
"deploy": "npm run clean && npm run build && npm run rtl",
|
|
||||||
"start": "npm run build-sass -- --watch"
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
"css",
|
|
||||||
"sass",
|
|
||||||
"bulma.sass",
|
|
||||||
"LICENSE",
|
|
||||||
"README.md"
|
|
||||||
]
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
/* Bulma Base */
|
|
||||||
@charset "utf-8"
|
|
||||||
|
|
||||||
@import "minireset"
|
|
||||||
@import "generic"
|
|
||||||
@import "animations"
|
|
|
@ -1,5 +0,0 @@
|
||||||
@keyframes spinAround
|
|
||||||
from
|
|
||||||
transform: rotate(0deg)
|
|
||||||
to
|
|
||||||
transform: rotate(359deg)
|
|
|
@ -1,145 +0,0 @@
|
||||||
@import "../utilities/mixins"
|
|
||||||
|
|
||||||
$body-background-color: $scheme-main !default
|
|
||||||
$body-size: 16px !default
|
|
||||||
$body-min-width: 300px !default
|
|
||||||
$body-rendering: optimizeLegibility !default
|
|
||||||
$body-family: $family-primary !default
|
|
||||||
$body-overflow-x: hidden !default
|
|
||||||
$body-overflow-y: scroll !default
|
|
||||||
|
|
||||||
$body-color: $text !default
|
|
||||||
$body-font-size: 1em !default
|
|
||||||
$body-weight: $weight-normal !default
|
|
||||||
$body-line-height: 1.5 !default
|
|
||||||
|
|
||||||
$code-family: $family-code !default
|
|
||||||
$code-padding: 0.25em 0.5em 0.25em !default
|
|
||||||
$code-weight: normal !default
|
|
||||||
$code-size: 0.875em !default
|
|
||||||
|
|
||||||
$small-font-size: 0.875em !default
|
|
||||||
|
|
||||||
$hr-background-color: $background !default
|
|
||||||
$hr-height: 2px !default
|
|
||||||
$hr-margin: 1.5rem 0 !default
|
|
||||||
|
|
||||||
$strong-color: $text-strong !default
|
|
||||||
$strong-weight: $weight-bold !default
|
|
||||||
|
|
||||||
$pre-font-size: 0.875em !default
|
|
||||||
$pre-padding: 1.25rem 1.5rem !default
|
|
||||||
$pre-code-font-size: 1em !default
|
|
||||||
|
|
||||||
html
|
|
||||||
background-color: $body-background-color
|
|
||||||
font-size: $body-size
|
|
||||||
-moz-osx-font-smoothing: grayscale
|
|
||||||
-webkit-font-smoothing: antialiased
|
|
||||||
min-width: $body-min-width
|
|
||||||
overflow-x: $body-overflow-x
|
|
||||||
overflow-y: $body-overflow-y
|
|
||||||
text-rendering: $body-rendering
|
|
||||||
text-size-adjust: 100%
|
|
||||||
|
|
||||||
article,
|
|
||||||
aside,
|
|
||||||
figure,
|
|
||||||
footer,
|
|
||||||
header,
|
|
||||||
hgroup,
|
|
||||||
section
|
|
||||||
display: block
|
|
||||||
|
|
||||||
body,
|
|
||||||
button,
|
|
||||||
input,
|
|
||||||
optgroup,
|
|
||||||
select,
|
|
||||||
textarea
|
|
||||||
font-family: $body-family
|
|
||||||
|
|
||||||
code,
|
|
||||||
pre
|
|
||||||
-moz-osx-font-smoothing: auto
|
|
||||||
-webkit-font-smoothing: auto
|
|
||||||
font-family: $code-family
|
|
||||||
|
|
||||||
body
|
|
||||||
color: $body-color
|
|
||||||
font-size: $body-font-size
|
|
||||||
font-weight: $body-weight
|
|
||||||
line-height: $body-line-height
|
|
||||||
|
|
||||||
// Inline
|
|
||||||
|
|
||||||
a
|
|
||||||
color: $link
|
|
||||||
cursor: pointer
|
|
||||||
text-decoration: none
|
|
||||||
strong
|
|
||||||
color: currentColor
|
|
||||||
&:hover
|
|
||||||
color: $link-hover
|
|
||||||
|
|
||||||
code
|
|
||||||
background-color: $code-background
|
|
||||||
color: $code
|
|
||||||
font-size: $code-size
|
|
||||||
font-weight: $code-weight
|
|
||||||
padding: $code-padding
|
|
||||||
|
|
||||||
hr
|
|
||||||
background-color: $hr-background-color
|
|
||||||
border: none
|
|
||||||
display: block
|
|
||||||
height: $hr-height
|
|
||||||
margin: $hr-margin
|
|
||||||
|
|
||||||
img
|
|
||||||
height: auto
|
|
||||||
max-width: 100%
|
|
||||||
|
|
||||||
input[type="checkbox"],
|
|
||||||
input[type="radio"]
|
|
||||||
vertical-align: baseline
|
|
||||||
|
|
||||||
small
|
|
||||||
font-size: $small-font-size
|
|
||||||
|
|
||||||
span
|
|
||||||
font-style: inherit
|
|
||||||
font-weight: inherit
|
|
||||||
|
|
||||||
strong
|
|
||||||
color: $strong-color
|
|
||||||
font-weight: $strong-weight
|
|
||||||
|
|
||||||
// Block
|
|
||||||
|
|
||||||
fieldset
|
|
||||||
border: none
|
|
||||||
|
|
||||||
pre
|
|
||||||
+overflow-touch
|
|
||||||
background-color: $pre-background
|
|
||||||
color: $pre
|
|
||||||
font-size: $pre-font-size
|
|
||||||
overflow-x: auto
|
|
||||||
padding: $pre-padding
|
|
||||||
white-space: pre
|
|
||||||
word-wrap: normal
|
|
||||||
code
|
|
||||||
background-color: transparent
|
|
||||||
color: currentColor
|
|
||||||
font-size: $pre-code-font-size
|
|
||||||
padding: 0
|
|
||||||
|
|
||||||
table
|
|
||||||
td,
|
|
||||||
th
|
|
||||||
vertical-align: top
|
|
||||||
&:not([align])
|
|
||||||
text-align: inherit
|
|
||||||
th
|
|
||||||
color: $text-strong
|
|
|
@ -1 +0,0 @@
|
||||||
@warn "The helpers.sass file is DEPRECATED. It has moved into its own /helpers folder. Please import sass/helpers/_all instead."
|
|
|
@ -1,79 +0,0 @@
|
||||||
/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */
|
|
||||||
// Blocks
|
|
||||||
html,
|
|
||||||
body,
|
|
||||||
p,
|
|
||||||
ol,
|
|
||||||
ul,
|
|
||||||
li,
|
|
||||||
dl,
|
|
||||||
dt,
|
|
||||||
dd,
|
|
||||||
blockquote,
|
|
||||||
figure,
|
|
||||||
fieldset,
|
|
||||||
legend,
|
|
||||||
textarea,
|
|
||||||
pre,
|
|
||||||
iframe,
|
|
||||||
hr,
|
|
||||||
h1,
|
|
||||||
h2,
|
|
||||||
h3,
|
|
||||||
h4,
|
|
||||||
h5,
|
|
||||||
h6
|
|
||||||
margin: 0
|
|
||||||
padding: 0
|
|
||||||
|
|
||||||
// Headings
|
|
||||||
h1,
|
|
||||||
h2,
|
|
||||||
h3,
|
|
||||||
h4,
|
|
||||||
h5,
|
|
||||||
h6
|
|
||||||
font-size: 100%
|
|
||||||
font-weight: normal
|
|
||||||
|
|
||||||
// List
|
|
||||||
ul
|
|
||||||
list-style: none
|
|
||||||
|
|
||||||
// Form
|
|
||||||
button,
|
|
||||||
input,
|
|
||||||
select,
|
|
||||||
textarea
|
|
||||||
margin: 0
|
|
||||||
|
|
||||||
// Box sizing
|
|
||||||
html
|
|
||||||
box-sizing: border-box
|
|
||||||
|
|
||||||
*
|
|
||||||
&,
|
|
||||||
&::before,
|
|
||||||
&::after
|
|
||||||
box-sizing: inherit
|
|
||||||
|
|
||||||
// Media
|
|
||||||
img,
|
|
||||||
video
|
|
||||||
height: auto
|
|
||||||
max-width: 100%
|
|
||||||
|
|
||||||
// Iframe
|
|
||||||
iframe
|
|
||||||
border: 0
|
|
||||||
|
|
||||||
// Table
|
|
||||||
table
|
|
||||||
border-collapse: collapse
|
|
||||||
border-spacing: 0
|
|
||||||
|
|
||||||
td,
|
|
||||||
th
|
|
||||||
padding: 0
|
|
||||||
&:not([align])
|
|
||||||
text-align: inherit
|
|
|
@ -1,15 +0,0 @@
|
||||||
/* Bulma Components */
|
|
||||||
@charset "utf-8"
|
|
||||||
|
|
||||||
@import "breadcrumb"
|
|
||||||
@import "card"
|
|
||||||
@import "dropdown"
|
|
||||||
@import "level"
|
|
||||||
@import "media"
|
|
||||||
@import "menu"
|
|
||||||
@import "message"
|
|
||||||
@import "modal"
|
|
||||||
@import "navbar"
|
|
||||||
@import "pagination"
|
|
||||||
@import "panel"
|
|
||||||
@import "tabs"
|
|
|
@ -1,77 +0,0 @@
|
||||||
@import "../utilities/mixins"
|
|
||||||
|
|
||||||
$breadcrumb-item-color: $link !default
|
|
||||||
$breadcrumb-item-hover-color: $link-hover !default
|
|
||||||
$breadcrumb-item-active-color: $text-strong !default
|
|
||||||
|
|
||||||
$breadcrumb-item-padding-vertical: 0 !default
|
|
||||||
$breadcrumb-item-padding-horizontal: 0.75em !default
|
|
||||||
|
|
||||||
$breadcrumb-item-separator-color: $border-hover !default
|
|
||||||
|
|
||||||
.breadcrumb
|
|
||||||
@extend %block
|
|
||||||
@extend %unselectable
|
|
||||||
font-size: $size-normal
|
|
||||||
white-space: nowrap
|
|
||||||
a
|
|
||||||
align-items: center
|
|
||||||
color: $breadcrumb-item-color
|
|
||||||
display: flex
|
|
||||||
justify-content: center
|
|
||||||
padding: $breadcrumb-item-padding-vertical $breadcrumb-item-padding-horizontal
|
|
||||||
&:hover
|
|
||||||
color: $breadcrumb-item-hover-color
|
|
||||||
li
|
|
||||||
align-items: center
|
|
||||||
display: flex
|
|
||||||
&:first-child a
|
|
||||||
+ltr-property("padding", 0, false)
|
|
||||||
&.is-active
|
|
||||||
a
|
|
||||||
color: $breadcrumb-item-active-color
|
|
||||||
cursor: default
|
|
||||||
pointer-events: none
|
|
||||||
& + li::before
|
|
||||||
color: $breadcrumb-item-separator-color
|
|
||||||
content: "\0002f"
|
|
||||||
ul,
|
|
||||||
ol
|
|
||||||
align-items: flex-start
|
|
||||||
display: flex
|
|
||||||
flex-wrap: wrap
|
|
||||||
justify-content: flex-start
|
|
||||||
.icon
|
|
||||||
&:first-child
|
|
||||||
+ltr-property("margin", 0.5em)
|
|
||||||
&:last-child
|
|
||||||
+ltr-property("margin", 0.5em, false)
|
|
||||||
// Alignment
|
|
||||||
&.is-centered
|
|
||||||
ol,
|
|
||||||
ul
|
|
||||||
justify-content: center
|
|
||||||
&.is-right
|
|
||||||
ol,
|
|
||||||
ul
|
|
||||||
justify-content: flex-end
|
|
||||||
// Sizes
|
|
||||||
&.is-small
|
|
||||||
font-size: $size-small
|
|
||||||
&.is-medium
|
|
||||||
font-size: $size-medium
|
|
||||||
&.is-large
|
|
||||||
font-size: $size-large
|
|
||||||
// Styles
|
|
||||||
&.has-arrow-separator
|
|
||||||
li + li::before
|
|
||||||
content: "\02192"
|
|
||||||
&.has-bullet-separator
|
|
||||||
li + li::before
|
|
||||||
content: "\02022"
|
|
||||||
&.has-dot-separator
|
|
||||||
li + li::before
|
|
||||||
content: "\000b7"
|
|
||||||
&.has-succeeds-separator
|
|
||||||
li + li::before
|
|
||||||
content: "\0227B"
|
|
|
@ -1,103 +0,0 @@
|
||||||
@import "../utilities/mixins"
|
|
||||||
|
|
||||||
$card-color: $text !default
|
|
||||||
$card-background-color: $scheme-main !default
|
|
||||||
$card-shadow: $shadow !default
|
|
||||||
$card-radius: 0.25rem !default
|
|
||||||
|
|
||||||
$card-header-background-color: transparent !default
|
|
||||||
$card-header-color: $text-strong !default
|
|
||||||
$card-header-padding: 0.75rem 1rem !default
|
|
||||||
$card-header-shadow: 0 0.125em 0.25em rgba($scheme-invert, 0.1) !default
|
|
||||||
$card-header-weight: $weight-bold !default
|
|
||||||
|
|
||||||
$card-content-background-color: transparent !default
|
|
||||||
$card-content-padding: 1.5rem !default
|
|
||||||
|
|
||||||
$card-footer-background-color: transparent !default
|
|
||||||
$card-footer-border-top: 1px solid $border-light !default
|
|
||||||
$card-footer-padding: 0.75rem !default
|
|
||||||
|
|
||||||
$card-media-margin: $block-spacing !default
|
|
||||||
|
|
||||||
.card
|
|
||||||
background-color: $card-background-color
|
|
||||||
border-radius: $card-radius
|
|
||||||
box-shadow: $card-shadow
|
|
||||||
color: $card-color
|
|
||||||
max-width: 100%
|
|
||||||
position: relative
|
|
||||||
|
|
||||||
%card-item
|
|
||||||
&:first-child
|
|
||||||
border-top-left-radius: $card-radius
|
|
||||||
border-top-right-radius: $card-radius
|
|
||||||
&:last-child
|
|
||||||
border-bottom-left-radius: $card-radius
|
|
||||||
border-bottom-right-radius: $card-radius
|
|
||||||
|
|
||||||
.card-header
|
|
||||||
@extend %card-item
|
|
||||||
background-color: $card-header-background-color
|
|
||||||
align-items: stretch
|
|
||||||
box-shadow: $card-header-shadow
|
|
||||||
display: flex
|
|
||||||
|
|
||||||
.card-header-title
|
|
||||||
align-items: center
|
|
||||||
color: $card-header-color
|
|
||||||
display: flex
|
|
||||||
flex-grow: 1
|
|
||||||
font-weight: $card-header-weight
|
|
||||||
padding: $card-header-padding
|
|
||||||
&.is-centered
|
|
||||||
justify-content: center
|
|
||||||
|
|
||||||
.card-header-icon
|
|
||||||
+reset
|
|
||||||
align-items: center
|
|
||||||
cursor: pointer
|
|
||||||
display: flex
|
|
||||||
justify-content: center
|
|
||||||
padding: $card-header-padding
|
|
||||||
|
|
||||||
.card-image
|
|
||||||
display: block
|
|
||||||
position: relative
|
|
||||||
&:first-child
|
|
||||||
img
|
|
||||||
border-top-left-radius: $card-radius
|
|
||||||
border-top-right-radius: $card-radius
|
|
||||||
&:last-child
|
|
||||||
img
|
|
||||||
border-bottom-left-radius: $card-radius
|
|
||||||
border-bottom-right-radius: $card-radius
|
|
||||||
|
|
||||||
.card-content
|
|
||||||
@extend %card-item
|
|
||||||
background-color: $card-content-background-color
|
|
||||||
padding: $card-content-padding
|
|
||||||
|
|
||||||
.card-footer
|
|
||||||
@extend %card-item
|
|
||||||
background-color: $card-footer-background-color
|
|
||||||
border-top: $card-footer-border-top
|
|
||||||
align-items: stretch
|
|
||||||
display: flex
|
|
||||||
|
|
||||||
.card-footer-item
|
|
||||||
align-items: center
|
|
||||||
display: flex
|
|
||||||
flex-basis: 0
|
|
||||||
flex-grow: 1
|
|
||||||
flex-shrink: 0
|
|
||||||
justify-content: center
|
|
||||||
padding: $card-footer-padding
|
|
||||||
&:not(:last-child)
|
|
||||||
+ltr-property("border", $card-footer-border-top)
|
|
||||||
|
|
||||||
// Combinations
|
|
||||||
|
|
||||||
.card
|
|
||||||
.media:not(:last-child)
|
|
||||||
margin-bottom: $card-media-margin
|
|
|
@ -1,83 +0,0 @@
|
||||||
@import "../utilities/mixins"
|
|
||||||
|
|
||||||
$dropdown-menu-min-width: 12rem !default
|
|
||||||
|
|
||||||
$dropdown-content-background-color: $scheme-main !default
|
|
||||||
$dropdown-content-arrow: $link !default
|
|
||||||
$dropdown-content-offset: 4px !default
|
|
||||||
$dropdown-content-padding-bottom: 0.5rem !default
|
|
||||||
$dropdown-content-padding-top: 0.5rem !default
|
|
||||||
$dropdown-content-radius: $radius !default
|
|
||||||
$dropdown-content-shadow: $shadow !default
|
|
||||||
$dropdown-content-z: 20 !default
|
|
||||||
|
|
||||||
$dropdown-item-color: $text !default
|
|
||||||
$dropdown-item-hover-color: $scheme-invert !default
|
|
||||||
$dropdown-item-hover-background-color: $background !default
|
|
||||||
$dropdown-item-active-color: $link-invert !default
|
|
||||||
$dropdown-item-active-background-color: $link !default
|
|
||||||
|
|
||||||
$dropdown-divider-background-color: $border-light !default
|
|
||||||
|
|
||||||
.dropdown
|
|
||||||
display: inline-flex
|
|
||||||
position: relative
|
|
||||||
vertical-align: top
|
|
||||||
&.is-active,
|
|
||||||
&.is-hoverable:hover
|
|
||||||
.dropdown-menu
|
|
||||||
display: block
|
|
||||||
&.is-right
|
|
||||||
.dropdown-menu
|
|
||||||
left: auto
|
|
||||||
right: 0
|
|
||||||
&.is-up
|
|
||||||
.dropdown-menu
|
|
||||||
bottom: 100%
|
|
||||||
padding-bottom: $dropdown-content-offset
|
|
||||||
padding-top: initial
|
|
||||||
top: auto
|
|
||||||
|
|
||||||
.dropdown-menu
|
|
||||||
display: none
|
|
||||||
+ltr-position(0, false)
|
|
||||||
min-width: $dropdown-menu-min-width
|
|
||||||
padding-top: $dropdown-content-offset
|
|
||||||
position: absolute
|
|
||||||
top: 100%
|
|
||||||
z-index: $dropdown-content-z
|
|
||||||
|
|
||||||
.dropdown-content
|
|
||||||
background-color: $dropdown-content-background-color
|
|
||||||
border-radius: $dropdown-content-radius
|
|
||||||
box-shadow: $dropdown-content-shadow
|
|
||||||
padding-bottom: $dropdown-content-padding-bottom
|
|
||||||
padding-top: $dropdown-content-padding-top
|
|
||||||
|
|
||||||
.dropdown-item
|
|
||||||
color: $dropdown-item-color
|
|
||||||
display: block
|
|
||||||
font-size: 0.875rem
|
|
||||||
line-height: 1.5
|
|
||||||
padding: 0.375rem 1rem
|
|
||||||
position: relative
|
|
||||||
|
|
||||||
a.dropdown-item,
|
|
||||||
button.dropdown-item
|
|
||||||
+ltr-property("padding", 3rem)
|
|
||||||
text-align: inherit
|
|
||||||
white-space: nowrap
|
|
||||||
width: 100%
|
|
||||||
&:hover
|
|
||||||
background-color: $dropdown-item-hover-background-color
|
|
||||||
color: $dropdown-item-hover-color
|
|
||||||
&.is-active
|
|
||||||
background-color: $dropdown-item-active-background-color
|
|
||||||
color: $dropdown-item-active-color
|
|
||||||
|
|
||||||
.dropdown-divider
|
|
||||||
background-color: $dropdown-divider-background-color
|
|
||||||
border: none
|
|
||||||
display: block
|
|
||||||
height: 1px
|
|
||||||
margin: 0.5rem 0
|
|
|
@ -1,79 +0,0 @@
|
||||||
@import "../utilities/mixins"
|
|
||||||
|
|
||||||
$level-item-spacing: ($block-spacing * 0.5) !default
|
|
||||||
|
|
||||||
.level
|
|
||||||
@extend %block
|
|
||||||
align-items: center
|
|
||||||
justify-content: space-between
|
|
||||||
code
|
|
||||||
border-radius: $radius
|
|
||||||
img
|
|
||||||
display: inline-block
|
|
||||||
vertical-align: top
|
|
||||||
// Modifiers
|
|
||||||
&.is-mobile
|
|
||||||
display: flex
|
|
||||||
.level-left,
|
|
||||||
.level-right
|
|
||||||
display: flex
|
|
||||||
.level-left + .level-right
|
|
||||||
margin-top: 0
|
|
||||||
.level-item
|
|
||||||
&:not(:last-child)
|
|
||||||
margin-bottom: 0
|
|
||||||
+ltr-property("margin", $level-item-spacing)
|
|
||||||
&:not(.is-narrow)
|
|
||||||
flex-grow: 1
|
|
||||||
// Responsiveness
|
|
||||||
+tablet
|
|
||||||
display: flex
|
|
||||||
& > .level-item
|
|
||||||
&:not(.is-narrow)
|
|
||||||
flex-grow: 1
|
|
||||||
|
|
||||||
.level-item
|
|
||||||
align-items: center
|
|
||||||
display: flex
|
|
||||||
flex-basis: auto
|
|
||||||
flex-grow: 0
|
|
||||||
flex-shrink: 0
|
|
||||||
justify-content: center
|
|
||||||
.title,
|
|
||||||
.subtitle
|
|
||||||
margin-bottom: 0
|
|
||||||
// Responsiveness
|
|
||||||
+mobile
|
|
||||||
&:not(:last-child)
|
|
||||||
margin-bottom: $level-item-spacing
|
|
||||||
|
|
||||||
.level-left,
|
|
||||||
.level-right
|
|
||||||
flex-basis: auto
|
|
||||||
flex-grow: 0
|
|
||||||
flex-shrink: 0
|
|
||||||
.level-item
|
|
||||||
// Modifiers
|
|
||||||
&.is-flexible
|
|
||||||
flex-grow: 1
|
|
||||||
// Responsiveness
|
|
||||||
+tablet
|
|
||||||
&:not(:last-child)
|
|
||||||
+ltr-property("margin", $level-item-spacing)
|
|
||||||
|
|
||||||
.level-left
|
|
||||||
align-items: center
|
|
||||||
justify-content: flex-start
|
|
||||||
// Responsiveness
|
|
||||||
+mobile
|
|
||||||
& + .level-right
|
|
||||||
margin-top: 1.5rem
|
|
||||||
+tablet
|
|
||||||
display: flex
|
|
||||||
|
|
||||||
.level-right
|
|
||||||
align-items: center
|
|
||||||
justify-content: flex-end
|
|
||||||
// Responsiveness
|
|
||||||
+tablet
|
|
||||||
display: flex
|
|
|
@ -1,59 +0,0 @@
|
||||||
@import "../utilities/mixins"
|
|
||||||
|
|
||||||
$media-border-color: bulmaRgba($border, 0.5) !default
|
|
||||||
$media-border-size: 1px !default
|
|
||||||
$media-spacing: 1rem !default
|
|
||||||
$media-spacing-large: 1.5rem !default
|
|
||||||
$media-content-spacing: 0.75rem !default
|
|
||||||
$media-level-1-spacing: 0.75rem !default
|
|
||||||
$media-level-1-content-spacing: 0.5rem !default
|
|
||||||
$media-level-2-spacing: 0.5rem !default
|
|
||||||
|
|
||||||
.media
|
|
||||||
align-items: flex-start
|
|
||||||
display: flex
|
|
||||||
text-align: inherit
|
|
||||||
.content:not(:last-child)
|
|
||||||
margin-bottom: $media-content-spacing
|
|
||||||
.media
|
|
||||||
border-top: $media-border-size solid $media-border-color
|
|
||||||
display: flex
|
|
||||||
padding-top: $media-level-1-spacing
|
|
||||||
.content:not(:last-child),
|
|
||||||
.control:not(:last-child)
|
|
||||||
margin-bottom: $media-level-1-content-spacing
|
|
||||||
.media
|
|
||||||
padding-top: $media-level-2-spacing
|
|
||||||
& + .media
|
|
||||||
margin-top: $media-level-2-spacing
|
|
||||||
& + .media
|
|
||||||
border-top: $media-border-size solid $media-border-color
|
|
||||||
margin-top: $media-spacing
|
|
||||||
padding-top: $media-spacing
|
|
||||||
// Sizes
|
|
||||||
&.is-large
|
|
||||||
& + .media
|
|
||||||
margin-top: $media-spacing-large
|
|
||||||
padding-top: $media-spacing-large
|
|
||||||
|
|
||||||
.media-left,
|
|
||||||
.media-right
|
|
||||||
flex-basis: auto
|
|
||||||
flex-grow: 0
|
|
||||||
flex-shrink: 0
|
|
||||||
|
|
||||||
.media-left
|
|
||||||
+ltr-property("margin", $media-spacing)
|
|
||||||
|
|
||||||
.media-right
|
|
||||||
+ltr-property("margin", $media-spacing, false)
|
|
||||||
|
|
||||||
.media-content
|
|
||||||
flex-basis: auto
|
|
||||||
flex-grow: 1
|
|
||||||
flex-shrink: 1
|
|
||||||
text-align: inherit
|
|
||||||
|
|
||||||
+mobile
|
|
||||||
.media-content
|
|
||||||
overflow-x: auto
|
|
|
@ -1,59 +0,0 @@
|
||||||
@import "../utilities/mixins"
|
|
||||||
|
|
||||||
$menu-item-color: $text !default
|
|
||||||
$menu-item-radius: $radius-small !default
|
|
||||||
$menu-item-hover-color: $text-strong !default
|
|
||||||
$menu-item-hover-background-color: $background !default
|
|
||||||
$menu-item-active-color: $link-invert !default
|
|
||||||
$menu-item-active-background-color: $link !default
|
|
||||||
|
|
||||||
$menu-list-border-left: 1px solid $border !default
|
|
||||||
$menu-list-line-height: 1.25 !default
|
|
||||||
$menu-list-link-padding: 0.5em 0.75em !default
|
|
||||||
$menu-nested-list-margin: 0.75em !default
|
|
||||||
$menu-nested-list-padding-left: 0.75em !default
|
|
||||||
|
|
||||||
$menu-label-color: $text-light !default
|
|
||||||
$menu-label-font-size: 0.75em !default
|
|
||||||
$menu-label-letter-spacing: 0.1em !default
|
|
||||||
$menu-label-spacing: 1em !default
|
|
||||||
|
|
||||||
.menu
|
|
||||||
font-size: $size-normal
|
|
||||||
// Sizes
|
|
||||||
&.is-small
|
|
||||||
font-size: $size-small
|
|
||||||
&.is-medium
|
|
||||||
font-size: $size-medium
|
|
||||||
&.is-large
|
|
||||||
font-size: $size-large
|
|
||||||
|
|
||||||
.menu-list
|
|
||||||
line-height: $menu-list-line-height
|
|
||||||
a
|
|
||||||
border-radius: $menu-item-radius
|
|
||||||
color: $menu-item-color
|
|
||||||
display: block
|
|
||||||
padding: $menu-list-link-padding
|
|
||||||
&:hover
|
|
||||||
background-color: $menu-item-hover-background-color
|
|
||||||
color: $menu-item-hover-color
|
|
||||||
// Modifiers
|
|
||||||
&.is-active
|
|
||||||
background-color: $menu-item-active-background-color
|
|
||||||
color: $menu-item-active-color
|
|
||||||
li
|
|
||||||
ul
|
|
||||||
+ltr-property("border", $menu-list-border-left, false)
|
|
||||||
margin: $menu-nested-list-margin
|
|
||||||
+ltr-property("padding", $menu-nested-list-padding-left, false)
|
|
||||||
|
|
||||||
.menu-label
|
|
||||||
color: $menu-label-color
|
|
||||||
font-size: $menu-label-font-size
|
|
||||||
letter-spacing: $menu-label-letter-spacing
|
|
||||||
text-transform: uppercase
|
|
||||||
&:not(:first-child)
|
|
||||||
margin-top: $menu-label-spacing
|
|
||||||
&:not(:last-child)
|
|
||||||
margin-bottom: $menu-label-spacing
|
|
|
@ -1,101 +0,0 @@
|
||||||
@import "../utilities/mixins"
|
|
||||||
|
|
||||||
$message-background-color: $background !default
|
|
||||||
$message-radius: $radius !default
|
|
||||||
|
|
||||||
$message-header-background-color: $text !default
|
|
||||||
$message-header-color: $text-invert !default
|
|
||||||
$message-header-weight: $weight-bold !default
|
|
||||||
$message-header-padding: 0.75em 1em !default
|
|
||||||
$message-header-radius: $radius !default
|
|
||||||
|
|
||||||
$message-body-border-color: $border !default
|
|
||||||
$message-body-border-width: 0 0 0 4px !default
|
|
||||||
$message-body-color: $text !default
|
|
||||||
$message-body-padding: 1.25em 1.5em !default
|
|
||||||
$message-body-radius: $radius !default
|
|
||||||
|
|
||||||
$message-body-pre-background-color: $scheme-main !default
|
|
||||||
$message-body-pre-code-background-color: transparent !default
|
|
||||||
|
|
||||||
$message-header-body-border-width: 0 !default
|
|
||||||
$message-colors: $colors !default
|
|
||||||
|
|
||||||
.message
|
|
||||||
@extend %block
|
|
||||||
background-color: $message-background-color
|
|
||||||
border-radius: $message-radius
|
|
||||||
font-size: $size-normal
|
|
||||||
strong
|
|
||||||
color: currentColor
|
|
||||||
a:not(.button):not(.tag):not(.dropdown-item)
|
|
||||||
color: currentColor
|
|
||||||
text-decoration: underline
|
|
||||||
// Sizes
|
|
||||||
&.is-small
|
|
||||||
font-size: $size-small
|
|
||||||
&.is-medium
|
|
||||||
font-size: $size-medium
|
|
||||||
&.is-large
|
|
||||||
font-size: $size-large
|
|
||||||
// Colors
|
|
||||||
@each $name, $components in $message-colors
|
|
||||||
$color: nth($components, 1)
|
|
||||||
$color-invert: nth($components, 2)
|
|
||||||
$color-light: null
|
|
||||||
$color-dark: null
|
|
||||||
|
|
||||||
@if length($components) >= 3
|
|
||||||
$color-light: nth($components, 3)
|
|
||||||
@if length($components) >= 4
|
|
||||||
$color-dark: nth($components, 4)
|
|
||||||
@else
|
|
||||||
$color-luminance: colorLuminance($color)
|
|
||||||
$darken-percentage: $color-luminance * 70%
|
|
||||||
$desaturate-percentage: $color-luminance * 30%
|
|
||||||
$color-dark: desaturate(darken($color, $darken-percentage), $desaturate-percentage)
|
|
||||||
@else
|
|
||||||
$color-lightning: max((100% - lightness($color)) - 2%, 0%)
|
|
||||||
$color-light: lighten($color, $color-lightning)
|
|
||||||
|
|
||||||
&.is-#{$name}
|
|
||||||
background-color: $color-light
|
|
||||||
.message-header
|
|
||||||
background-color: $color
|
|
||||||
color: $color-invert
|
|
||||||
.message-body
|
|
||||||
border-color: $color
|
|
||||||
color: $color-dark
|
|
||||||
|
|
||||||
.message-header
|
|
||||||
align-items: center
|
|
||||||
background-color: $message-header-background-color
|
|
||||||
border-radius: $message-header-radius $message-header-radius 0 0
|
|
||||||
color: $message-header-color
|
|
||||||
display: flex
|
|
||||||
font-weight: $message-header-weight
|
|
||||||
justify-content: space-between
|
|
||||||
line-height: 1.25
|
|
||||||
padding: $message-header-padding
|
|
||||||
position: relative
|
|
||||||
.delete
|
|
||||||
flex-grow: 0
|
|
||||||
flex-shrink: 0
|
|
||||||
+ltr-property("margin", 0.75em, false)
|
|
||||||
& + .message-body
|
|
||||||
border-width: $message-header-body-border-width
|
|
||||||
border-top-left-radius: 0
|
|
||||||
border-top-right-radius: 0
|
|
||||||
|
|
||||||
.message-body
|
|
||||||
border-color: $message-body-border-color
|
|
||||||
border-radius: $message-body-radius
|
|
||||||
border-style: solid
|
|
||||||
border-width: $message-body-border-width
|
|
||||||
color: $message-body-color
|
|
||||||
padding: $message-body-padding
|
|
||||||
code,
|
|
||||||
pre
|
|
||||||
background-color: $message-body-pre-background-color
|
|
||||||
pre code
|
|
||||||
background-color: $message-body-pre-code-background-color
|
|
|
@ -1,117 +0,0 @@
|
||||||
@import "../utilities/mixins"
|
|
||||||
|
|
||||||
$modal-z: 40 !default
|
|
||||||
|
|
||||||
$modal-background-background-color: bulmaRgba($scheme-invert, 0.86) !default
|
|
||||||
|
|
||||||
$modal-content-width: 640px !default
|
|
||||||
$modal-content-margin-mobile: 20px !default
|
|
||||||
$modal-content-spacing-mobile: 160px !default
|
|
||||||
$modal-content-spacing-tablet: 40px !default
|
|
||||||
|
|
||||||
$modal-close-dimensions: 40px !default
|
|
||||||
$modal-close-right: 20px !default
|
|
||||||
$modal-close-top: 20px !default
|
|
||||||
|
|
||||||
$modal-card-spacing: 40px !default
|
|
||||||
|
|
||||||
$modal-card-head-background-color: $background !default
|
|
||||||
$modal-card-head-border-bottom: 1px solid $border !default
|
|
||||||
$modal-card-head-padding: 20px !default
|
|
||||||
$modal-card-head-radius: $radius-large !default
|
|
||||||
|
|
||||||
$modal-card-title-color: $text-strong !default
|
|
||||||
$modal-card-title-line-height: 1 !default
|
|
||||||
$modal-card-title-size: $size-4 !default
|
|
||||||
|
|
||||||
$modal-card-foot-radius: $radius-large !default
|
|
||||||
$modal-card-foot-border-top: 1px solid $border !default
|
|
||||||
|
|
||||||
$modal-card-body-background-color: $scheme-main !default
|
|
||||||
$modal-card-body-padding: 20px !default
|
|
||||||
|
|
||||||
$modal-breakpoint: $tablet !default
|
|
||||||
|
|
||||||
.modal
|
|
||||||
@extend %overlay
|
|
||||||
align-items: center
|
|
||||||
display: none
|
|
||||||
flex-direction: column
|
|
||||||
justify-content: center
|
|
||||||
overflow: hidden
|
|
||||||
position: fixed
|
|
||||||
z-index: $modal-z
|
|
||||||
// Modifiers
|
|
||||||
&.is-active
|
|
||||||
display: flex
|
|
||||||
|
|
||||||
.modal-background
|
|
||||||
@extend %overlay
|
|
||||||
background-color: $modal-background-background-color
|
|
||||||
|
|
||||||
.modal-content,
|
|
||||||
.modal-card
|
|
||||||
margin: 0 $modal-content-margin-mobile
|
|
||||||
max-height: calc(100vh - #{$modal-content-spacing-mobile})
|
|
||||||
overflow: auto
|
|
||||||
position: relative
|
|
||||||
width: 100%
|
|
||||||
// Responsiveness
|
|
||||||
+from($modal-breakpoint)
|
|
||||||
margin: 0 auto
|
|
||||||
max-height: calc(100vh - #{$modal-content-spacing-tablet})
|
|
||||||
width: $modal-content-width
|
|
||||||
|
|
||||||
.modal-close
|
|
||||||
@extend %delete
|
|
||||||
background: none
|
|
||||||
height: $modal-close-dimensions
|
|
||||||
position: fixed
|
|
||||||
+ltr-position($modal-close-right)
|
|
||||||
top: $modal-close-top
|
|
||||||
width: $modal-close-dimensions
|
|
||||||
|
|
||||||
.modal-card
|
|
||||||
display: flex
|
|
||||||
flex-direction: column
|
|
||||||
max-height: calc(100vh - #{$modal-card-spacing})
|
|
||||||
overflow: hidden
|
|
||||||
-ms-overflow-y: visible
|
|
||||||
|
|
||||||
.modal-card-head,
|
|
||||||
.modal-card-foot
|
|
||||||
align-items: center
|
|
||||||
background-color: $modal-card-head-background-color
|
|
||||||
display: flex
|
|
||||||
flex-shrink: 0
|
|
||||||
justify-content: flex-start
|
|
||||||
padding: $modal-card-head-padding
|
|
||||||
position: relative
|
|
||||||
|
|
||||||
.modal-card-head
|
|
||||||
border-bottom: $modal-card-head-border-bottom
|
|
||||||
border-top-left-radius: $modal-card-head-radius
|
|
||||||
border-top-right-radius: $modal-card-head-radius
|
|
||||||
|
|
||||||
.modal-card-title
|
|
||||||
color: $modal-card-title-color
|
|
||||||
flex-grow: 1
|
|
||||||
flex-shrink: 0
|
|
||||||
font-size: $modal-card-title-size
|
|
||||||
line-height: $modal-card-title-line-height
|
|
||||||
|
|
||||||
.modal-card-foot
|
|
||||||
border-bottom-left-radius: $modal-card-foot-radius
|
|
||||||
border-bottom-right-radius: $modal-card-foot-radius
|
|
||||||
border-top: $modal-card-foot-border-top
|
|
||||||
.button
|
|
||||||
&:not(:last-child)
|
|
||||||
+ltr-property("margin", 0.5em)
|
|
||||||
|
|
||||||
.modal-card-body
|
|
||||||
+overflow-touch
|
|
||||||
background-color: $modal-card-body-background-color
|
|
||||||
flex-grow: 1
|
|
||||||
flex-shrink: 1
|
|
||||||
overflow: auto
|
|
||||||
padding: $modal-card-body-padding
|
|
|
@ -1,446 +0,0 @@
|
||||||
@import "../utilities/mixins"
|
|
||||||
|
|
||||||
$navbar-background-color: $scheme-main !default
|
|
||||||
$navbar-box-shadow-size: 0 2px 0 0 !default
|
|
||||||
$navbar-box-shadow-color: $background !default
|
|
||||||
$navbar-height: 3.25rem !default
|
|
||||||
$navbar-padding-vertical: 1rem !default
|
|
||||||
$navbar-padding-horizontal: 2rem !default
|
|
||||||
$navbar-z: 30 !default
|
|
||||||
$navbar-fixed-z: 30 !default
|
|
||||||
|
|
||||||
$navbar-item-color: $text !default
|
|
||||||
$navbar-item-hover-color: $link !default
|
|
||||||
$navbar-item-hover-background-color: $scheme-main-bis !default
|
|
||||||
$navbar-item-active-color: $scheme-invert !default
|
|
||||||
$navbar-item-active-background-color: transparent !default
|
|
||||||
$navbar-item-img-max-height: 1.75rem !default
|
|
||||||
|
|
||||||
$navbar-burger-color: $navbar-item-color !default
|
|
||||||
|
|
||||||
$navbar-tab-hover-background-color: transparent !default
|
|
||||||
$navbar-tab-hover-border-bottom-color: $link !default
|
|
||||||
$navbar-tab-active-color: $link !default
|
|
||||||
$navbar-tab-active-background-color: transparent !default
|
|
||||||
$navbar-tab-active-border-bottom-color: $link !default
|
|
||||||
$navbar-tab-active-border-bottom-style: solid !default
|
|
||||||
$navbar-tab-active-border-bottom-width: 3px !default
|
|
||||||
|
|
||||||
$navbar-dropdown-background-color: $scheme-main !default
|
|
||||||
$navbar-dropdown-border-top: 2px solid $border !default
|
|
||||||
$navbar-dropdown-offset: -4px !default
|
|
||||||
$navbar-dropdown-arrow: $link !default
|
|
||||||
$navbar-dropdown-radius: $radius-large !default
|
|
||||||
$navbar-dropdown-z: 20 !default
|
|
||||||
|
|
||||||
$navbar-dropdown-boxed-radius: $radius-large !default
|
|
||||||
$navbar-dropdown-boxed-shadow: 0 8px 8px bulmaRgba($scheme-invert, 0.1), 0 0 0 1px bulmaRgba($scheme-invert, 0.1) !default
|
|
||||||
|
|
||||||
$navbar-dropdown-item-hover-color: $scheme-invert !default
|
|
||||||
$navbar-dropdown-item-hover-background-color: $background !default
|
|
||||||
$navbar-dropdown-item-active-color: $link !default
|
|
||||||
$navbar-dropdown-item-active-background-color: $background !default
|
|
||||||
|
|
||||||
$navbar-divider-background-color: $background !default
|
|
||||||
$navbar-divider-height: 2px !default
|
|
||||||
|
|
||||||
$navbar-bottom-box-shadow-size: 0 -2px 0 0 !default
|
|
||||||
|
|
||||||
$navbar-breakpoint: $desktop !default
|
|
||||||
|
|
||||||
$navbar-colors: $colors !default
|
|
||||||
|
|
||||||
=navbar-fixed
|
|
||||||
left: 0
|
|
||||||
position: fixed
|
|
||||||
right: 0
|
|
||||||
z-index: $navbar-fixed-z
|
|
||||||
|
|
||||||
.navbar
|
|
||||||
background-color: $navbar-background-color
|
|
||||||
min-height: $navbar-height
|
|
||||||
position: relative
|
|
||||||
z-index: $navbar-z
|
|
||||||
@each $name, $pair in $navbar-colors
|
|
||||||
$color: nth($pair, 1)
|
|
||||||
$color-invert: nth($pair, 2)
|
|
||||||
&.is-#{$name}
|
|
||||||
background-color: $color
|
|
||||||
color: $color-invert
|
|
||||||
.navbar-brand
|
|
||||||
& > .navbar-item,
|
|
||||||
.navbar-link
|
|
||||||
color: $color-invert
|
|
||||||
& > a.navbar-item,
|
|
||||||
.navbar-link
|
|
||||||
&:focus,
|
|
||||||
&:hover,
|
|
||||||
&.is-active
|
|
||||||
background-color: bulmaDarken($color, 5%)
|
|
||||||
color: $color-invert
|
|
||||||
.navbar-link
|
|
||||||
&::after
|
|
||||||
border-color: $color-invert
|
|
||||||
.navbar-burger
|
|
||||||
color: $color-invert
|
|
||||||
+from($navbar-breakpoint)
|
|
||||||
.navbar-start,
|
|
||||||
.navbar-end
|
|
||||||
& > .navbar-item,
|
|
||||||
.navbar-link
|
|
||||||
color: $color-invert
|
|
||||||
& > a.navbar-item,
|
|
||||||
.navbar-link
|
|
||||||
&:focus,
|
|
||||||
&:hover,
|
|
||||||
&.is-active
|
|
||||||
background-color: bulmaDarken($color, 5%)
|
|
||||||
color: $color-invert
|
|
||||||
.navbar-link
|
|
||||||
&::after
|
|
||||||
border-color: $color-invert
|
|
||||||
.navbar-item.has-dropdown:focus .navbar-link,
|
|
||||||
.navbar-item.has-dropdown:hover .navbar-link,
|
|
||||||
.navbar-item.has-dropdown.is-active .navbar-link
|
|
||||||
background-color: bulmaDarken($color, 5%)
|
|
||||||
color: $color-invert
|
|
||||||
.navbar-dropdown
|
|
||||||
a.navbar-item
|
|
||||||
&.is-active
|
|
||||||
background-color: $color
|
|
||||||
color: $color-invert
|
|
||||||
& > .container
|
|
||||||
align-items: stretch
|
|
||||||
display: flex
|
|
||||||
min-height: $navbar-height
|
|
||||||
width: 100%
|
|
||||||
&.has-shadow
|
|
||||||
box-shadow: $navbar-box-shadow-size $navbar-box-shadow-color
|
|
||||||
&.is-fixed-bottom,
|
|
||||||
&.is-fixed-top
|
|
||||||
+navbar-fixed
|
|
||||||
&.is-fixed-bottom
|
|
||||||
bottom: 0
|
|
||||||
&.has-shadow
|
|
||||||
box-shadow: $navbar-bottom-box-shadow-size $navbar-box-shadow-color
|
|
||||||
&.is-fixed-top
|
|
||||||
top: 0
|
|
||||||
|
|
||||||
html,
|
|
||||||
body
|
|
||||||
&.has-navbar-fixed-top
|
|
||||||
padding-top: $navbar-height
|
|
||||||
&.has-navbar-fixed-bottom
|
|
||||||
padding-bottom: $navbar-height
|
|
||||||
|
|
||||||
.navbar-brand,
|
|
||||||
.navbar-tabs
|
|
||||||
align-items: stretch
|
|
||||||
display: flex
|
|
||||||
flex-shrink: 0
|
|
||||||
min-height: $navbar-height
|
|
||||||
|
|
||||||
.navbar-brand
|
|
||||||
a.navbar-item
|
|
||||||
&:focus,
|
|
||||||
&:hover
|
|
||||||
background-color: transparent
|
|
||||||
|
|
||||||
.navbar-tabs
|
|
||||||
+overflow-touch
|
|
||||||
max-width: 100vw
|
|
||||||
overflow-x: auto
|
|
||||||
overflow-y: hidden
|
|
||||||
|
|
||||||
.navbar-burger
|
|
||||||
@extend %reset
|
|
||||||
color: $navbar-burger-color
|
|
||||||
+hamburger($navbar-height)
|
|
||||||
+ltr-property("margin", auto, false)
|
|
||||||
|
|
||||||
.navbar-menu
|
|
||||||
display: none
|
|
||||||
|
|
||||||
.navbar-item,
|
|
||||||
.navbar-link
|
|
||||||
color: $navbar-item-color
|
|
||||||
display: block
|
|
||||||
line-height: 1.5
|
|
||||||
padding: 0.5rem 0.75rem
|
|
||||||
position: relative
|
|
||||||
.icon
|
|
||||||
&:only-child
|
|
||||||
margin-left: -0.25rem
|
|
||||||
margin-right: -0.25rem
|
|
||||||
|
|
||||||
a.navbar-item,
|
|
||||||
.navbar-link
|
|
||||||
cursor: pointer
|
|
||||||
&:focus,
|
|
||||||
&:focus-within,
|
|
||||||
&:hover,
|
|
||||||
&.is-active
|
|
||||||
background-color: $navbar-item-hover-background-color
|
|
||||||
color: $navbar-item-hover-color
|
|
||||||
|
|
||||||
.navbar-item
|
|
||||||
flex-grow: 0
|
|
||||||
flex-shrink: 0
|
|
||||||
img
|
|
||||||
max-height: $navbar-item-img-max-height
|
|
||||||
&.has-dropdown
|
|
||||||
padding: 0
|
|
||||||
&.is-expanded
|
|
||||||
flex-grow: 1
|
|
||||||
flex-shrink: 1
|
|
||||||
&.is-tab
|
|
||||||
border-bottom: 1px solid transparent
|
|
||||||
min-height: $navbar-height
|
|
||||||
padding-bottom: calc(0.5rem - 1px)
|
|
||||||
&:focus,
|
|
||||||
&:hover
|
|
||||||
background-color: $navbar-tab-hover-background-color
|
|
||||||
border-bottom-color: $navbar-tab-hover-border-bottom-color
|
|
||||||
&.is-active
|
|
||||||
background-color: $navbar-tab-active-background-color
|
|
||||||
border-bottom-color: $navbar-tab-active-border-bottom-color
|
|
||||||
border-bottom-style: $navbar-tab-active-border-bottom-style
|
|
||||||
border-bottom-width: $navbar-tab-active-border-bottom-width
|
|
||||||
color: $navbar-tab-active-color
|
|
||||||
padding-bottom: calc(0.5rem - #{$navbar-tab-active-border-bottom-width})
|
|
||||||
|
|
||||||
.navbar-content
|
|
||||||
flex-grow: 1
|
|
||||||
flex-shrink: 1
|
|
||||||
|
|
||||||
.navbar-link:not(.is-arrowless)
|
|
||||||
+ltr-property("padding", 2.5em)
|
|
||||||
&::after
|
|
||||||
@extend %arrow
|
|
||||||
border-color: $navbar-dropdown-arrow
|
|
||||||
margin-top: -0.375em
|
|
||||||
+ltr-position(1.125em)
|
|
||||||
|
|
||||||
.navbar-dropdown
|
|
||||||
font-size: 0.875rem
|
|
||||||
padding-bottom: 0.5rem
|
|
||||||
padding-top: 0.5rem
|
|
||||||
.navbar-item
|
|
||||||
padding-left: 1.5rem
|
|
||||||
padding-right: 1.5rem
|
|
||||||
|
|
||||||
.navbar-divider
|
|
||||||
background-color: $navbar-divider-background-color
|
|
||||||
border: none
|
|
||||||
display: none
|
|
||||||
height: $navbar-divider-height
|
|
||||||
margin: 0.5rem 0
|
|
||||||
|
|
||||||
+until($navbar-breakpoint)
|
|
||||||
.navbar > .container
|
|
||||||
display: block
|
|
||||||
.navbar-brand,
|
|
||||||
.navbar-tabs
|
|
||||||
.navbar-item
|
|
||||||
align-items: center
|
|
||||||
display: flex
|
|
||||||
.navbar-link
|
|
||||||
&::after
|
|
||||||
display: none
|
|
||||||
.navbar-menu
|
|
||||||
background-color: $navbar-background-color
|
|
||||||
box-shadow: 0 8px 16px bulmaRgba($scheme-invert, 0.1)
|
|
||||||
padding: 0.5rem 0
|
|
||||||
&.is-active
|
|
||||||
display: block
|
|
||||||
// Fixed navbar
|
|
||||||
.navbar
|
|
||||||
&.is-fixed-bottom-touch,
|
|
||||||
&.is-fixed-top-touch
|
|
||||||
+navbar-fixed
|
|
||||||
&.is-fixed-bottom-touch
|
|
||||||
bottom: 0
|
|
||||||
&.has-shadow
|
|
||||||
box-shadow: 0 -2px 3px bulmaRgba($scheme-invert, 0.1)
|
|
||||||
&.is-fixed-top-touch
|
|
||||||
top: 0
|
|
||||||
&.is-fixed-top,
|
|
||||||
&.is-fixed-top-touch
|
|
||||||
.navbar-menu
|
|
||||||
+overflow-touch
|
|
||||||
max-height: calc(100vh - #{$navbar-height})
|
|
||||||
overflow: auto
|
|
||||||
html,
|
|
||||||
body
|
|
||||||
&.has-navbar-fixed-top-touch
|
|
||||||
padding-top: $navbar-height
|
|
||||||
&.has-navbar-fixed-bottom-touch
|
|
||||||
padding-bottom: $navbar-height
|
|
||||||
|
|
||||||
+from($navbar-breakpoint)
|
|
||||||
.navbar,
|
|
||||||
.navbar-menu,
|
|
||||||
.navbar-start,
|
|
||||||
.navbar-end
|
|
||||||
align-items: stretch
|
|
||||||
display: flex
|
|
||||||
.navbar
|
|
||||||
min-height: $navbar-height
|
|
||||||
&.is-spaced
|
|
||||||
padding: $navbar-padding-vertical $navbar-padding-horizontal
|
|
||||||
.navbar-start,
|
|
||||||
.navbar-end
|
|
||||||
align-items: center
|
|
||||||
a.navbar-item,
|
|
||||||
.navbar-link
|
|
||||||
border-radius: $radius
|
|
||||||
&.is-transparent
|
|
||||||
a.navbar-item,
|
|
||||||
.navbar-link
|
|
||||||
&:focus,
|
|
||||||
&:hover,
|
|
||||||
&.is-active
|
|
||||||
background-color: transparent !important
|
|
||||||
.navbar-item.has-dropdown
|
|
||||||
&.is-active,
|
|
||||||
&.is-hoverable:focus,
|
|
||||||
&.is-hoverable:focus-within,
|
|
||||||
&.is-hoverable:hover
|
|
||||||
.navbar-link
|
|
||||||
background-color: transparent !important
|
|
||||||
.navbar-dropdown
|
|
||||||
a.navbar-item
|
|
||||||
&:focus,
|
|
||||||
&:hover
|
|
||||||
background-color: $navbar-dropdown-item-hover-background-color
|
|
||||||
color: $navbar-dropdown-item-hover-color
|
|
||||||
&.is-active
|
|
||||||
background-color: $navbar-dropdown-item-active-background-color
|
|
||||||
color: $navbar-dropdown-item-active-color
|
|
||||||
.navbar-burger
|
|
||||||
display: none
|
|
||||||
.navbar-item,
|
|
||||||
.navbar-link
|
|
||||||
align-items: center
|
|
||||||
display: flex
|
|
||||||
.navbar-item
|
|
||||||
&.has-dropdown
|
|
||||||
align-items: stretch
|
|
||||||
&.has-dropdown-up
|
|
||||||
.navbar-link::after
|
|
||||||
transform: rotate(135deg) translate(0.25em, -0.25em)
|
|
||||||
.navbar-dropdown
|
|
||||||
border-bottom: $navbar-dropdown-border-top
|
|
||||||
border-radius: $navbar-dropdown-radius $navbar-dropdown-radius 0 0
|
|
||||||
border-top: none
|
|
||||||
bottom: 100%
|
|
||||||
box-shadow: 0 -8px 8px bulmaRgba($scheme-invert, 0.1)
|
|
||||||
top: auto
|
|
||||||
&.is-active,
|
|
||||||
&.is-hoverable:focus,
|
|
||||||
&.is-hoverable:focus-within,
|
|
||||||
&.is-hoverable:hover
|
|
||||||
.navbar-dropdown
|
|
||||||
display: block
|
|
||||||
.navbar.is-spaced &,
|
|
||||||
&.is-boxed
|
|
||||||
opacity: 1
|
|
||||||
pointer-events: auto
|
|
||||||
transform: translateY(0)
|
|
||||||
.navbar-menu
|
|
||||||
flex-grow: 1
|
|
||||||
flex-shrink: 0
|
|
||||||
.navbar-start
|
|
||||||
justify-content: flex-start
|
|
||||||
+ltr-property("margin", auto)
|
|
||||||
.navbar-end
|
|
||||||
justify-content: flex-end
|
|
||||||
+ltr-property("margin", auto, false)
|
|
||||||
.navbar-dropdown
|
|
||||||
background-color: $navbar-dropdown-background-color
|
|
||||||
border-bottom-left-radius: $navbar-dropdown-radius
|
|
||||||
border-bottom-right-radius: $navbar-dropdown-radius
|
|
||||||
border-top: $navbar-dropdown-border-top
|
|
||||||
box-shadow: 0 8px 8px bulmaRgba($scheme-invert, 0.1)
|
|
||||||
display: none
|
|
||||||
font-size: 0.875rem
|
|
||||||
+ltr-position(0, false)
|
|
||||||
min-width: 100%
|
|
||||||
position: absolute
|
|
||||||
top: 100%
|
|
||||||
z-index: $navbar-dropdown-z
|
|
||||||
.navbar-item
|
|
||||||
padding: 0.375rem 1rem
|
|
||||||
white-space: nowrap
|
|
||||||
a.navbar-item
|
|
||||||
+ltr-property("padding", 3rem)
|
|
||||||
&:focus,
|
|
||||||
&:hover
|
|
||||||
background-color: $navbar-dropdown-item-hover-background-color
|
|
||||||
color: $navbar-dropdown-item-hover-color
|
|
||||||
&.is-active
|
|
||||||
background-color: $navbar-dropdown-item-active-background-color
|
|
||||||
color: $navbar-dropdown-item-active-color
|
|
||||||
.navbar.is-spaced &,
|
|
||||||
&.is-boxed
|
|
||||||
border-radius: $navbar-dropdown-boxed-radius
|
|
||||||
border-top: none
|
|
||||||
box-shadow: $navbar-dropdown-boxed-shadow
|
|
||||||
display: block
|
|
||||||
opacity: 0
|
|
||||||
pointer-events: none
|
|
||||||
top: calc(100% + (#{$navbar-dropdown-offset}))
|
|
||||||
transform: translateY(-5px)
|
|
||||||
transition-duration: $speed
|
|
||||||
transition-property: opacity, transform
|
|
||||||
&.is-right
|
|
||||||
left: auto
|
|
||||||
right: 0
|
|
||||||
.navbar-divider
|
|
||||||
display: block
|
|
||||||
.navbar > .container,
|
|
||||||
.container > .navbar
|
|
||||||
.navbar-brand
|
|
||||||
+ltr-property("margin", -.75rem, false)
|
|
||||||
.navbar-menu
|
|
||||||
+ltr-property("margin", -.75rem)
|
|
||||||
// Fixed navbar
|
|
||||||
.navbar
|
|
||||||
&.is-fixed-bottom-desktop,
|
|
||||||
&.is-fixed-top-desktop
|
|
||||||
+navbar-fixed
|
|
||||||
&.is-fixed-bottom-desktop
|
|
||||||
bottom: 0
|
|
||||||
&.has-shadow
|
|
||||||
box-shadow: 0 -2px 3px bulmaRgba($scheme-invert, 0.1)
|
|
||||||
&.is-fixed-top-desktop
|
|
||||||
top: 0
|
|
||||||
html,
|
|
||||||
body
|
|
||||||
&.has-navbar-fixed-top-desktop
|
|
||||||
padding-top: $navbar-height
|
|
||||||
&.has-navbar-fixed-bottom-desktop
|
|
||||||
padding-bottom: $navbar-height
|
|
||||||
&.has-spaced-navbar-fixed-top
|
|
||||||
padding-top: $navbar-height + ($navbar-padding-vertical * 2)
|
|
||||||
&.has-spaced-navbar-fixed-bottom
|
|
||||||
padding-bottom: $navbar-height + ($navbar-padding-vertical * 2)
|
|
||||||
// Hover/Active states
|
|
||||||
a.navbar-item,
|
|
||||||
.navbar-link
|
|
||||||
&.is-active
|
|
||||||
color: $navbar-item-active-color
|
|
||||||
&.is-active:not(:focus):not(:hover)
|
|
||||||
background-color: $navbar-item-active-background-color
|
|
||||||
.navbar-item.has-dropdown
|
|
||||||
&:focus,
|
|
||||||
&:hover,
|
|
||||||
&.is-active
|
|
||||||
.navbar-link
|
|
||||||
background-color: $navbar-item-hover-background-color
|
|
||||||
|
|
||||||
// Combination
|
|
||||||
|
|
||||||
.hero
|
|
||||||
&.is-fullheight-with-navbar
|
|
||||||
min-height: calc(100vh - #{$navbar-height})
|
|
|
@ -1,167 +0,0 @@
|
||||||
@import "../utilities/controls"
|
|
||||||
@import "../utilities/mixins"
|
|
||||||
|
|
||||||
$pagination-color: $text-strong !default
|
|
||||||
$pagination-border-color: $border !default
|
|
||||||
$pagination-margin: -0.25rem !default
|
|
||||||
$pagination-min-width: $control-height !default
|
|
||||||
|
|
||||||
$pagination-item-font-size: 1em !default
|
|
||||||
$pagination-item-margin: 0.25rem !default
|
|
||||||
$pagination-item-padding-left: 0.5em !default
|
|
||||||
$pagination-item-padding-right: 0.5em !default
|
|
||||||
|
|
||||||
$pagination-nav-padding-left: 0.75em !default
|
|
||||||
$pagination-nav-padding-right: 0.75em !default
|
|
||||||
|
|
||||||
$pagination-hover-color: $link-hover !default
|
|
||||||
$pagination-hover-border-color: $link-hover-border !default
|
|
||||||
|
|
||||||
$pagination-focus-color: $link-focus !default
|
|
||||||
$pagination-focus-border-color: $link-focus-border !default
|
|
||||||
|
|
||||||
$pagination-active-color: $link-active !default
|
|
||||||
$pagination-active-border-color: $link-active-border !default
|
|
||||||
|
|
||||||
$pagination-disabled-color: $text-light !default
|
|
||||||
$pagination-disabled-background-color: $border !default
|
|
||||||
$pagination-disabled-border-color: $border !default
|
|
||||||
|
|
||||||
$pagination-current-color: $link-invert !default
|
|
||||||
$pagination-current-background-color: $link !default
|
|
||||||
$pagination-current-border-color: $link !default
|
|
||||||
|
|
||||||
$pagination-ellipsis-color: $grey-light !default
|
|
||||||
|
|
||||||
$pagination-shadow-inset: inset 0 1px 2px rgba($scheme-invert, 0.2) !default
|
|
||||||
|
|
||||||
.pagination
|
|
||||||
@extend %block
|
|
||||||
font-size: $size-normal
|
|
||||||
margin: $pagination-margin
|
|
||||||
// Sizes
|
|
||||||
&.is-small
|
|
||||||
font-size: $size-small
|
|
||||||
&.is-medium
|
|
||||||
font-size: $size-medium
|
|
||||||
&.is-large
|
|
||||||
font-size: $size-large
|
|
||||||
&.is-rounded
|
|
||||||
.pagination-previous,
|
|
||||||
.pagination-next
|
|
||||||
padding-left: 1em
|
|
||||||
padding-right: 1em
|
|
||||||
border-radius: $radius-rounded
|
|
||||||
.pagination-link
|
|
||||||
border-radius: $radius-rounded
|
|
||||||
|
|
||||||
.pagination,
|
|
||||||
.pagination-list
|
|
||||||
align-items: center
|
|
||||||
display: flex
|
|
||||||
justify-content: center
|
|
||||||
text-align: center
|
|
||||||
|
|
||||||
.pagination-previous,
|
|
||||||
.pagination-next,
|
|
||||||
.pagination-link,
|
|
||||||
.pagination-ellipsis
|
|
||||||
@extend %control
|
|
||||||
@extend %unselectable
|
|
||||||
font-size: $pagination-item-font-size
|
|
||||||
justify-content: center
|
|
||||||
margin: $pagination-item-margin
|
|
||||||
padding-left: $pagination-item-padding-left
|
|
||||||
padding-right: $pagination-item-padding-right
|
|
||||||
text-align: center
|
|
||||||
|
|
||||||
.pagination-previous,
|
|
||||||
.pagination-next,
|
|
||||||
.pagination-link
|
|
||||||
border-color: $pagination-border-color
|
|
||||||
color: $pagination-color
|
|
||||||
min-width: $pagination-min-width
|
|
||||||
&:hover
|
|
||||||
border-color: $pagination-hover-border-color
|
|
||||||
color: $pagination-hover-color
|
|
||||||
&:focus
|
|
||||||
border-color: $pagination-focus-border-color
|
|
||||||
&:active
|
|
||||||
box-shadow: $pagination-shadow-inset
|
|
||||||
&[disabled],
|
|
||||||
&.is-disabled
|
|
||||||
background-color: $pagination-disabled-background-color
|
|
||||||
border-color: $pagination-disabled-border-color
|
|
||||||
box-shadow: none
|
|
||||||
color: $pagination-disabled-color
|
|
||||||
opacity: 0.5
|
|
||||||
|
|
||||||
.pagination-previous,
|
|
||||||
.pagination-next
|
|
||||||
padding-left: $pagination-nav-padding-left
|
|
||||||
padding-right: $pagination-nav-padding-right
|
|
||||||
white-space: nowrap
|
|
||||||
|
|
||||||
.pagination-link
|
|
||||||
&.is-current
|
|
||||||
background-color: $pagination-current-background-color
|
|
||||||
border-color: $pagination-current-border-color
|
|
||||||
color: $pagination-current-color
|
|
||||||
|
|
||||||
.pagination-ellipsis
|
|
||||||
color: $pagination-ellipsis-color
|
|
||||||
pointer-events: none
|
|
||||||
|
|
||||||
.pagination-list
|
|
||||||
flex-wrap: wrap
|
|
||||||
li
|
|
||||||
list-style: none
|
|
||||||
|
|
||||||
+mobile
|
|
||||||
.pagination
|
|
||||||
flex-wrap: wrap
|
|
||||||
.pagination-previous,
|
|
||||||
.pagination-next
|
|
||||||
flex-grow: 1
|
|
||||||
flex-shrink: 1
|
|
||||||
.pagination-list
|
|
||||||
li
|
|
||||||
flex-grow: 1
|
|
||||||
flex-shrink: 1
|
|
||||||
|
|
||||||
+tablet
|
|
||||||
.pagination-list
|
|
||||||
flex-grow: 1
|
|
||||||
flex-shrink: 1
|
|
||||||
justify-content: flex-start
|
|
||||||
order: 1
|
|
||||||
.pagination-previous,
|
|
||||||
.pagination-next,
|
|
||||||
.pagination-link,
|
|
||||||
.pagination-ellipsis
|
|
||||||
margin-bottom: 0
|
|
||||||
margin-top: 0
|
|
||||||
.pagination-previous
|
|
||||||
order: 2
|
|
||||||
.pagination-next
|
|
||||||
order: 3
|
|
||||||
.pagination
|
|
||||||
justify-content: space-between
|
|
||||||
margin-bottom: 0
|
|
||||||
margin-top: 0
|
|
||||||
&.is-centered
|
|
||||||
.pagination-previous
|
|
||||||
order: 1
|
|
||||||
.pagination-list
|
|
||||||
justify-content: center
|
|
||||||
order: 2
|
|
||||||
.pagination-next
|
|
||||||
order: 3
|
|
||||||
&.is-right
|
|
||||||
.pagination-previous
|
|
||||||
order: 1
|
|
||||||
.pagination-next
|
|
||||||
order: 2
|
|
||||||
.pagination-list
|
|
||||||
justify-content: flex-end
|
|
||||||
order: 3
|
|
|
@ -1,121 +0,0 @@
|
||||||
@import "../utilities/mixins"
|
|
||||||
|
|
||||||
$panel-margin: $block-spacing !default
|
|
||||||
$panel-item-border: 1px solid $border-light !default
|
|
||||||
$panel-radius: $radius-large !default
|
|
||||||
$panel-shadow: $shadow !default
|
|
||||||
|
|
||||||
$panel-heading-background-color: $border-light !default
|
|
||||||
$panel-heading-color: $text-strong !default
|
|
||||||
$panel-heading-line-height: 1.25 !default
|
|
||||||
$panel-heading-padding: 0.75em 1em !default
|
|
||||||
$panel-heading-radius: $radius !default
|
|
||||||
$panel-heading-size: 1.25em !default
|
|
||||||
$panel-heading-weight: $weight-bold !default
|
|
||||||
|
|
||||||
$panel-tabs-font-size: 0.875em !default
|
|
||||||
$panel-tab-border-bottom: 1px solid $border !default
|
|
||||||
$panel-tab-active-border-bottom-color: $link-active-border !default
|
|
||||||
$panel-tab-active-color: $link-active !default
|
|
||||||
|
|
||||||
$panel-list-item-color: $text !default
|
|
||||||
$panel-list-item-hover-color: $link !default
|
|
||||||
|
|
||||||
$panel-block-color: $text-strong !default
|
|
||||||
$panel-block-hover-background-color: $background !default
|
|
||||||
$panel-block-active-border-left-color: $link !default
|
|
||||||
$panel-block-active-color: $link-active !default
|
|
||||||
$panel-block-active-icon-color: $link !default
|
|
||||||
|
|
||||||
$panel-icon-color: $text-light !default
|
|
||||||
$panel-colors: $colors !default
|
|
||||||
|
|
||||||
.panel
|
|
||||||
border-radius: $panel-radius
|
|
||||||
box-shadow: $panel-shadow
|
|
||||||
font-size: $size-normal
|
|
||||||
&:not(:last-child)
|
|
||||||
margin-bottom: $panel-margin
|
|
||||||
// Colors
|
|
||||||
@each $name, $components in $panel-colors
|
|
||||||
$color: nth($components, 1)
|
|
||||||
$color-invert: nth($components, 2)
|
|
||||||
&.is-#{$name}
|
|
||||||
.panel-heading
|
|
||||||
background-color: $color
|
|
||||||
color: $color-invert
|
|
||||||
.panel-tabs a.is-active
|
|
||||||
border-bottom-color: $color
|
|
||||||
.panel-block.is-active .panel-icon
|
|
||||||
color: $color
|
|
||||||
|
|
||||||
.panel-tabs,
|
|
||||||
.panel-block
|
|
||||||
&:not(:last-child)
|
|
||||||
border-bottom: $panel-item-border
|
|
||||||
|
|
||||||
.panel-heading
|
|
||||||
background-color: $panel-heading-background-color
|
|
||||||
border-radius: $panel-radius $panel-radius 0 0
|
|
||||||
color: $panel-heading-color
|
|
||||||
font-size: $panel-heading-size
|
|
||||||
font-weight: $panel-heading-weight
|
|
||||||
line-height: $panel-heading-line-height
|
|
||||||
padding: $panel-heading-padding
|
|
||||||
|
|
||||||
.panel-tabs
|
|
||||||
align-items: flex-end
|
|
||||||
display: flex
|
|
||||||
font-size: $panel-tabs-font-size
|
|
||||||
justify-content: center
|
|
||||||
a
|
|
||||||
border-bottom: $panel-tab-border-bottom
|
|
||||||
margin-bottom: -1px
|
|
||||||
padding: 0.5em
|
|
||||||
// Modifiers
|
|
||||||
&.is-active
|
|
||||||
border-bottom-color: $panel-tab-active-border-bottom-color
|
|
||||||
color: $panel-tab-active-color
|
|
||||||
|
|
||||||
.panel-list
|
|
||||||
a
|
|
||||||
color: $panel-list-item-color
|
|
||||||
&:hover
|
|
||||||
color: $panel-list-item-hover-color
|
|
||||||
|
|
||||||
.panel-block
|
|
||||||
align-items: center
|
|
||||||
color: $panel-block-color
|
|
||||||
display: flex
|
|
||||||
justify-content: flex-start
|
|
||||||
padding: 0.5em 0.75em
|
|
||||||
input[type="checkbox"]
|
|
||||||
+ltr-property("margin", 0.75em)
|
|
||||||
& > .control
|
|
||||||
flex-grow: 1
|
|
||||||
flex-shrink: 1
|
|
||||||
width: 100%
|
|
||||||
&.is-wrapped
|
|
||||||
flex-wrap: wrap
|
|
||||||
&.is-active
|
|
||||||
border-left-color: $panel-block-active-border-left-color
|
|
||||||
color: $panel-block-active-color
|
|
||||||
.panel-icon
|
|
||||||
color: $panel-block-active-icon-color
|
|
||||||
&:last-child
|
|
||||||
border-bottom-left-radius: $panel-radius
|
|
||||||
border-bottom-right-radius: $panel-radius
|
|
||||||
|
|
||||||
a.panel-block,
|
|
||||||
label.panel-block
|
|
||||||
cursor: pointer
|
|
||||||
&:hover
|
|
||||||
background-color: $panel-block-hover-background-color
|
|
||||||
|
|
||||||
.panel-icon
|
|
||||||
+fa(14px, 1em)
|
|
||||||
color: $panel-icon-color
|
|
||||||
+ltr-property("margin", 0.75em)
|
|
||||||
.fa
|
|
||||||
font-size: inherit
|
|
||||||
line-height: inherit
|
|
|
@ -1,176 +0,0 @@
|
||||||
@import "../utilities/mixins"
|
|
||||||
|
|
||||||
$tabs-border-bottom-color: $border !default
|
|
||||||
$tabs-border-bottom-style: solid !default
|
|
||||||
$tabs-border-bottom-width: 1px !default
|
|
||||||
$tabs-link-color: $text !default
|
|
||||||
$tabs-link-hover-border-bottom-color: $text-strong !default
|
|
||||||
$tabs-link-hover-color: $text-strong !default
|
|
||||||
$tabs-link-active-border-bottom-color: $link !default
|
|
||||||
$tabs-link-active-color: $link !default
|
|
||||||
$tabs-link-padding: 0.5em 1em !default
|
|
||||||
|
|
||||||
$tabs-boxed-link-radius: $radius !default
|
|
||||||
$tabs-boxed-link-hover-background-color: $background !default
|
|
||||||
$tabs-boxed-link-hover-border-bottom-color: $border !default
|
|
||||||
|
|
||||||
$tabs-boxed-link-active-background-color: $scheme-main !default
|
|
||||||
$tabs-boxed-link-active-border-color: $border !default
|
|
||||||
$tabs-boxed-link-active-border-bottom-color: transparent !default
|
|
||||||
|
|
||||||
$tabs-toggle-link-border-color: $border !default
|
|
||||||
$tabs-toggle-link-border-style: solid !default
|
|
||||||
$tabs-toggle-link-border-width: 1px !default
|
|
||||||
$tabs-toggle-link-hover-background-color: $background !default
|
|
||||||
$tabs-toggle-link-hover-border-color: $border-hover !default
|
|
||||||
$tabs-toggle-link-radius: $radius !default
|
|
||||||
$tabs-toggle-link-active-background-color: $link !default
|
|
||||||
$tabs-toggle-link-active-border-color: $link !default
|
|
||||||
$tabs-toggle-link-active-color: $link-invert !default
|
|
||||||
|
|
||||||
.tabs
|
|
||||||
@extend %block
|
|
||||||
+overflow-touch
|
|
||||||
@extend %unselectable
|
|
||||||
align-items: stretch
|
|
||||||
display: flex
|
|
||||||
font-size: $size-normal
|
|
||||||
justify-content: space-between
|
|
||||||
overflow: hidden
|
|
||||||
overflow-x: auto
|
|
||||||
white-space: nowrap
|
|
||||||
a
|
|
||||||
align-items: center
|
|
||||||
border-bottom-color: $tabs-border-bottom-color
|
|
||||||
border-bottom-style: $tabs-border-bottom-style
|
|
||||||
border-bottom-width: $tabs-border-bottom-width
|
|
||||||
color: $tabs-link-color
|
|
||||||
display: flex
|
|
||||||
justify-content: center
|
|
||||||
margin-bottom: -#{$tabs-border-bottom-width}
|
|
||||||
padding: $tabs-link-padding
|
|
||||||
vertical-align: top
|
|
||||||
&:hover
|
|
||||||
border-bottom-color: $tabs-link-hover-border-bottom-color
|
|
||||||
color: $tabs-link-hover-color
|
|
||||||
li
|
|
||||||
display: block
|
|
||||||
&.is-active
|
|
||||||
a
|
|
||||||
border-bottom-color: $tabs-link-active-border-bottom-color
|
|
||||||
color: $tabs-link-active-color
|
|
||||||
ul
|
|
||||||
align-items: center
|
|
||||||
border-bottom-color: $tabs-border-bottom-color
|
|
||||||
border-bottom-style: $tabs-border-bottom-style
|
|
||||||
border-bottom-width: $tabs-border-bottom-width
|
|
||||||
display: flex
|
|
||||||
flex-grow: 1
|
|
||||||
flex-shrink: 0
|
|
||||||
justify-content: flex-start
|
|
||||||
&.is-left
|
|
||||||
padding-right: 0.75em
|
|
||||||
&.is-center
|
|
||||||
flex: none
|
|
||||||
justify-content: center
|
|
||||||
padding-left: 0.75em
|
|
||||||
padding-right: 0.75em
|
|
||||||
&.is-right
|
|
||||||
justify-content: flex-end
|
|
||||||
padding-left: 0.75em
|
|
||||||
.icon
|
|
||||||
&:first-child
|
|
||||||
+ltr-property("margin", 0.5em)
|
|
||||||
&:last-child
|
|
||||||
+ltr-property("margin", 0.5em, false)
|
|
||||||
// Alignment
|
|
||||||
&.is-centered
|
|
||||||
ul
|
|
||||||
justify-content: center
|
|
||||||
&.is-right
|
|
||||||
ul
|
|
||||||
justify-content: flex-end
|
|
||||||
// Styles
|
|
||||||
&.is-boxed
|
|
||||||
a
|
|
||||||
border: 1px solid transparent
|
|
||||||
+ltr
|
|
||||||
border-radius: $tabs-boxed-link-radius $tabs-boxed-link-radius 0 0
|
|
||||||
+rtl
|
|
||||||
border-radius: 0 0 $tabs-boxed-link-radius $tabs-boxed-link-radius
|
|
||||||
&:hover
|
|
||||||
background-color: $tabs-boxed-link-hover-background-color
|
|
||||||
border-bottom-color: $tabs-boxed-link-hover-border-bottom-color
|
|
||||||
li
|
|
||||||
&.is-active
|
|
||||||
a
|
|
||||||
background-color: $tabs-boxed-link-active-background-color
|
|
||||||
border-color: $tabs-boxed-link-active-border-color
|
|
||||||
border-bottom-color: $tabs-boxed-link-active-border-bottom-color !important
|
|
||||||
&.is-fullwidth
|
|
||||||
li
|
|
||||||
flex-grow: 1
|
|
||||||
flex-shrink: 0
|
|
||||||
&.is-toggle
|
|
||||||
a
|
|
||||||
border-color: $tabs-toggle-link-border-color
|
|
||||||
border-style: $tabs-toggle-link-border-style
|
|
||||||
border-width: $tabs-toggle-link-border-width
|
|
||||||
margin-bottom: 0
|
|
||||||
position: relative
|
|
||||||
&:hover
|
|
||||||
background-color: $tabs-toggle-link-hover-background-color
|
|
||||||
border-color: $tabs-toggle-link-hover-border-color
|
|
||||||
z-index: 2
|
|
||||||
li
|
|
||||||
& + li
|
|
||||||
+ltr-property("margin", -#{$tabs-toggle-link-border-width}, false)
|
|
||||||
&:first-child a
|
|
||||||
+ltr
|
|
||||||
border-top-left-radius: $tabs-toggle-link-radius
|
|
||||||
border-bottom-left-radius: $tabs-toggle-link-radius
|
|
||||||
+rtl
|
|
||||||
border-top-right-radius: $tabs-toggle-link-radius
|
|
||||||
border-bottom-right-radius: $tabs-toggle-link-radius
|
|
||||||
&:last-child a
|
|
||||||
+ltr
|
|
||||||
border-top-right-radius: $tabs-toggle-link-radius
|
|
||||||
border-bottom-right-radius: $tabs-toggle-link-radius
|
|
||||||
+rtl
|
|
||||||
border-top-left-radius: $tabs-toggle-link-radius
|
|
||||||
border-bottom-left-radius: $tabs-toggle-link-radius
|
|
||||||
&.is-active
|
|
||||||
a
|
|
||||||
background-color: $tabs-toggle-link-active-background-color
|
|
||||||
border-color: $tabs-toggle-link-active-border-color
|
|
||||||
color: $tabs-toggle-link-active-color
|
|
||||||
z-index: 1
|
|
||||||
ul
|
|
||||||
border-bottom: none
|
|
||||||
&.is-toggle-rounded
|
|
||||||
li
|
|
||||||
&:first-child a
|
|
||||||
+ltr
|
|
||||||
border-bottom-left-radius: $radius-rounded
|
|
||||||
border-top-left-radius: $radius-rounded
|
|
||||||
padding-left: 1.25em
|
|
||||||
+rtl
|
|
||||||
border-bottom-right-radius: $radius-rounded
|
|
||||||
border-top-right-radius: $radius-rounded
|
|
||||||
padding-right: 1.25em
|
|
||||||
&:last-child a
|
|
||||||
+ltr
|
|
||||||
border-bottom-right-radius: $radius-rounded
|
|
||||||
border-top-right-radius: $radius-rounded
|
|
||||||
padding-right: 1.25em
|
|
||||||
+rtl
|
|
||||||
border-bottom-left-radius: $radius-rounded
|
|
||||||
border-top-left-radius: $radius-rounded
|
|
||||||
padding-left: 1.25em
|
|
||||||
// Sizes
|
|
||||||
&.is-small
|
|
||||||
font-size: $size-small
|
|
||||||
&.is-medium
|
|
||||||
font-size: $size-medium
|
|
||||||
&.is-large
|
|
||||||
font-size: $size-large
|
|
|
@ -1,16 +0,0 @@
|
||||||
/* Bulma Elements */
|
|
||||||
@charset "utf-8"
|
|
||||||
|
|
||||||
@import "box"
|
|
||||||
@import "button"
|
|
||||||
@import "container"
|
|
||||||
@import "content"
|
|
||||||
@import "icon"
|
|
||||||
@import "image"
|
|
||||||
@import "notification"
|
|
||||||
@import "progress"
|
|
||||||
@import "table"
|
|
||||||
@import "tag"
|
|
||||||
@import "title"
|
|
||||||
|
|
||||||
@import "other"
|
|
|
@ -1,26 +0,0 @@
|
||||||
@import "../utilities/mixins"
|
|
||||||
|
|
||||||
$box-color: $text !default
|
|
||||||
$box-background-color: $scheme-main !default
|
|
||||||
$box-radius: $radius-large !default
|
|
||||||
$box-shadow: $shadow !default
|
|
||||||
$box-padding: 1.25rem !default
|
|
||||||
|
|
||||||
$box-link-hover-shadow: 0 0.5em 1em -0.125em rgba($scheme-invert, 0.1), 0 0 0 1px $link !default
|
|
||||||
$box-link-active-shadow: inset 0 1px 2px rgba($scheme-invert, 0.2), 0 0 0 1px $link !default
|
|
||||||
|
|
||||||
.box
|
|
||||||
@extend %block
|
|
||||||
background-color: $box-background-color
|
|
||||||
border-radius: $box-radius
|
|
||||||
box-shadow: $box-shadow
|
|
||||||
color: $box-color
|
|
||||||
display: block
|
|
||||||
padding: $box-padding
|
|
||||||
|
|
||||||
a.box
|
|
||||||
&:hover,
|
|
||||||
&:focus
|
|
||||||
box-shadow: $box-link-hover-shadow
|
|
||||||
&:active
|
|
||||||
box-shadow: $box-link-active-shadow
|
|
|
@ -1,357 +0,0 @@
|
||||||
@import "../utilities/controls"
|
|
||||||
@import "../utilities/mixins"
|
|
||||||
|
|
||||||
$button-color: $text-strong !default
|
|
||||||
$button-background-color: $scheme-main !default
|
|
||||||
$button-family: false !default
|
|
||||||
|
|
||||||
$button-border-color: $border !default
|
|
||||||
$button-border-width: $control-border-width !default
|
|
||||||
|
|
||||||
$button-padding-vertical: calc(0.5em - #{$button-border-width}) !default
|
|
||||||
$button-padding-horizontal: 1em !default
|
|
||||||
|
|
||||||
$button-hover-color: $link-hover !default
|
|
||||||
$button-hover-border-color: $link-hover-border !default
|
|
||||||
|
|
||||||
$button-focus-color: $link-focus !default
|
|
||||||
$button-focus-border-color: $link-focus-border !default
|
|
||||||
$button-focus-box-shadow-size: 0 0 0 0.125em !default
|
|
||||||
$button-focus-box-shadow-color: bulmaRgba($link, 0.25) !default
|
|
||||||
|
|
||||||
$button-active-color: $link-active !default
|
|
||||||
$button-active-border-color: $link-active-border !default
|
|
||||||
|
|
||||||
$button-text-color: $text !default
|
|
||||||
$button-text-decoration: underline !default
|
|
||||||
$button-text-hover-background-color: $background !default
|
|
||||||
$button-text-hover-color: $text-strong !default
|
|
||||||
|
|
||||||
$button-ghost-background: none !default
|
|
||||||
$button-ghost-border-color: transparent !default
|
|
||||||
$button-ghost-color: $link !default
|
|
||||||
$button-ghost-decoration: none !default
|
|
||||||
$button-ghost-hover-color: $link !default
|
|
||||||
$button-ghost-hover-decoration: underline !default
|
|
||||||
|
|
||||||
$button-disabled-background-color: $scheme-main !default
|
|
||||||
$button-disabled-border-color: $border !default
|
|
||||||
$button-disabled-shadow: none !default
|
|
||||||
$button-disabled-opacity: 0.5 !default
|
|
||||||
|
|
||||||
$button-static-color: $text-light !default
|
|
||||||
$button-static-background-color: $scheme-main-ter !default
|
|
||||||
$button-static-border-color: $border !default
|
|
||||||
|
|
||||||
$button-colors: $colors !default
|
|
||||||
$button-responsive-sizes: ("mobile": ("small": ($size-small * 0.75), "normal": ($size-small * 0.875), "medium": $size-small, "large": $size-normal), "tablet-only": ("small": ($size-small * 0.875), "normal": ($size-small), "medium": $size-normal, "large": $size-medium)) !default
|
|
||||||
|
|
||||||
// The button sizes use mixins so they can be used at different breakpoints
|
|
||||||
=button-small
|
|
||||||
&:not(.is-rounded)
|
|
||||||
border-radius: $radius-small
|
|
||||||
font-size: $size-small
|
|
||||||
=button-normal
|
|
||||||
font-size: $size-normal
|
|
||||||
=button-medium
|
|
||||||
font-size: $size-medium
|
|
||||||
=button-large
|
|
||||||
font-size: $size-large
|
|
||||||
|
|
||||||
.button
|
|
||||||
@extend %control
|
|
||||||
@extend %unselectable
|
|
||||||
background-color: $button-background-color
|
|
||||||
border-color: $button-border-color
|
|
||||||
border-width: $button-border-width
|
|
||||||
color: $button-color
|
|
||||||
cursor: pointer
|
|
||||||
@if $button-family
|
|
||||||
font-family: $button-family
|
|
||||||
justify-content: center
|
|
||||||
padding-bottom: $button-padding-vertical
|
|
||||||
padding-left: $button-padding-horizontal
|
|
||||||
padding-right: $button-padding-horizontal
|
|
||||||
padding-top: $button-padding-vertical
|
|
||||||
text-align: center
|
|
||||||
white-space: nowrap
|
|
||||||
strong
|
|
||||||
color: inherit
|
|
||||||
.icon
|
|
||||||
&,
|
|
||||||
&.is-small,
|
|
||||||
&.is-medium,
|
|
||||||
&.is-large
|
|
||||||
height: 1.5em
|
|
||||||
width: 1.5em
|
|
||||||
&:first-child:not(:last-child)
|
|
||||||
+ltr-property("margin", calc(#{-0.5 * $button-padding-horizontal} - #{$button-border-width}), false)
|
|
||||||
+ltr-property("margin", $button-padding-horizontal * 0.25)
|
|
||||||
&:last-child:not(:first-child)
|
|
||||||
+ltr-property("margin", $button-padding-horizontal * 0.25, false)
|
|
||||||
+ltr-property("margin", calc(#{-0.5 * $button-padding-horizontal} - #{$button-border-width}))
|
|
||||||
&:first-child:last-child
|
|
||||||
margin-left: calc(#{-0.5 * $button-padding-horizontal} - #{$button-border-width})
|
|
||||||
margin-right: calc(#{-0.5 * $button-padding-horizontal} - #{$button-border-width})
|
|
||||||
// States
|
|
||||||
&:hover,
|
|
||||||
&.is-hovered
|
|
||||||
border-color: $button-hover-border-color
|
|
||||||
color: $button-hover-color
|
|
||||||
&:focus,
|
|
||||||
&.is-focused
|
|
||||||
border-color: $button-focus-border-color
|
|
||||||
color: $button-focus-color
|
|
||||||
&:not(:active)
|
|
||||||
box-shadow: $button-focus-box-shadow-size $button-focus-box-shadow-color
|
|
||||||
&:active,
|
|
||||||
&.is-active
|
|
||||||
border-color: $button-active-border-color
|
|
||||||
color: $button-active-color
|
|
||||||
// Colors
|
|
||||||
&.is-text
|
|
||||||
background-color: transparent
|
|
||||||
border-color: transparent
|
|
||||||
color: $button-text-color
|
|
||||||
text-decoration: $button-text-decoration
|
|
||||||
&:hover,
|
|
||||||
&.is-hovered,
|
|
||||||
&:focus,
|
|
||||||
&.is-focused
|
|
||||||
background-color: $button-text-hover-background-color
|
|
||||||
color: $button-text-hover-color
|
|
||||||
&:active,
|
|
||||||
&.is-active
|
|
||||||
background-color: bulmaDarken($button-text-hover-background-color, 5%)
|
|
||||||
color: $button-text-hover-color
|
|
||||||
&[disabled],
|
|
||||||
fieldset[disabled] &
|
|
||||||
background-color: transparent
|
|
||||||
border-color: transparent
|
|
||||||
box-shadow: none
|
|
||||||
&.is-ghost
|
|
||||||
background: $button-ghost-background
|
|
||||||
border-color: $button-ghost-border-color
|
|
||||||
color: $button-ghost-color
|
|
||||||
text-decoration: $button-ghost-decoration
|
|
||||||
&:hover,
|
|
||||||
&.is-hovered
|
|
||||||
color: $button-ghost-hover-color
|
|
||||||
text-decoration: $button-ghost-hover-decoration
|
|
||||||
@each $name, $pair in $button-colors
|
|
||||||
$color: nth($pair, 1)
|
|
||||||
$color-invert: nth($pair, 2)
|
|
||||||
&.is-#{$name}
|
|
||||||
background-color: $color
|
|
||||||
border-color: transparent
|
|
||||||
color: $color-invert
|
|
||||||
&:hover,
|
|
||||||
&.is-hovered
|
|
||||||
background-color: bulmaDarken($color, 2.5%)
|
|
||||||
border-color: transparent
|
|
||||||
color: $color-invert
|
|
||||||
&:focus,
|
|
||||||
&.is-focused
|
|
||||||
border-color: transparent
|
|
||||||
color: $color-invert
|
|
||||||
&:not(:active)
|
|
||||||
box-shadow: $button-focus-box-shadow-size bulmaRgba($color, 0.25)
|
|
||||||
&:active,
|
|
||||||
&.is-active
|
|
||||||
background-color: bulmaDarken($color, 5%)
|
|
||||||
border-color: transparent
|
|
||||||
color: $color-invert
|
|
||||||
&[disabled],
|
|
||||||
fieldset[disabled] &
|
|
||||||
background-color: $color
|
|
||||||
border-color: $color
|
|
||||||
box-shadow: none
|
|
||||||
&.is-inverted
|
|
||||||
background-color: $color-invert
|
|
||||||
color: $color
|
|
||||||
&:hover,
|
|
||||||
&.is-hovered
|
|
||||||
background-color: bulmaDarken($color-invert, 5%)
|
|
||||||
&[disabled],
|
|
||||||
fieldset[disabled] &
|
|
||||||
background-color: $color-invert
|
|
||||||
border-color: transparent
|
|
||||||
box-shadow: none
|
|
||||||
color: $color
|
|
||||||
&.is-loading
|
|
||||||
&::after
|
|
||||||
border-color: transparent transparent $color-invert $color-invert !important
|
|
||||||
&.is-outlined
|
|
||||||
background-color: transparent
|
|
||||||
border-color: $color
|
|
||||||
color: $color
|
|
||||||
&:hover,
|
|
||||||
&.is-hovered,
|
|
||||||
&:focus,
|
|
||||||
&.is-focused
|
|
||||||
background-color: $color
|
|
||||||
border-color: $color
|
|
||||||
color: $color-invert
|
|
||||||
&.is-loading
|
|
||||||
&::after
|
|
||||||
border-color: transparent transparent $color $color !important
|
|
||||||
&:hover,
|
|
||||||
&.is-hovered,
|
|
||||||
&:focus,
|
|
||||||
&.is-focused
|
|
||||||
&::after
|
|
||||||
border-color: transparent transparent $color-invert $color-invert !important
|
|
||||||
&[disabled],
|
|
||||||
fieldset[disabled] &
|
|
||||||
background-color: transparent
|
|
||||||
border-color: $color
|
|
||||||
box-shadow: none
|
|
||||||
color: $color
|
|
||||||
&.is-inverted.is-outlined
|
|
||||||
background-color: transparent
|
|
||||||
border-color: $color-invert
|
|
||||||
color: $color-invert
|
|
||||||
&:hover,
|
|
||||||
&.is-hovered,
|
|
||||||
&:focus,
|
|
||||||
&.is-focused
|
|
||||||
background-color: $color-invert
|
|
||||||
color: $color
|
|
||||||
&.is-loading
|
|
||||||
&:hover,
|
|
||||||
&.is-hovered,
|
|
||||||
&:focus,
|
|
||||||
&.is-focused
|
|
||||||
&::after
|
|
||||||
border-color: transparent transparent $color $color !important
|
|
||||||
&[disabled],
|
|
||||||
fieldset[disabled] &
|
|
||||||
background-color: transparent
|
|
||||||
border-color: $color-invert
|
|
||||||
box-shadow: none
|
|
||||||
color: $color-invert
|
|
||||||
// If light and dark colors are provided
|
|
||||||
@if length($pair) >= 4
|
|
||||||
$color-light: nth($pair, 3)
|
|
||||||
$color-dark: nth($pair, 4)
|
|
||||||
&.is-light
|
|
||||||
background-color: $color-light
|
|
||||||
color: $color-dark
|
|
||||||
&:hover,
|
|
||||||
&.is-hovered
|
|
||||||
background-color: bulmaDarken($color-light, 2.5%)
|
|
||||||
border-color: transparent
|
|
||||||
color: $color-dark
|
|
||||||
&:active,
|
|
||||||
&.is-active
|
|
||||||
background-color: bulmaDarken($color-light, 5%)
|
|
||||||
border-color: transparent
|
|
||||||
color: $color-dark
|
|
||||||
// Sizes
|
|
||||||
&.is-small
|
|
||||||
+button-small
|
|
||||||
&.is-normal
|
|
||||||
+button-normal
|
|
||||||
&.is-medium
|
|
||||||
+button-medium
|
|
||||||
&.is-large
|
|
||||||
+button-large
|
|
||||||
// Modifiers
|
|
||||||
&[disabled],
|
|
||||||
fieldset[disabled] &
|
|
||||||
background-color: $button-disabled-background-color
|
|
||||||
border-color: $button-disabled-border-color
|
|
||||||
box-shadow: $button-disabled-shadow
|
|
||||||
opacity: $button-disabled-opacity
|
|
||||||
&.is-fullwidth
|
|
||||||
display: flex
|
|
||||||
width: 100%
|
|
||||||
&.is-loading
|
|
||||||
color: transparent !important
|
|
||||||
pointer-events: none
|
|
||||||
&::after
|
|
||||||
@extend %loader
|
|
||||||
+center(1em)
|
|
||||||
position: absolute !important
|
|
||||||
&.is-static
|
|
||||||
background-color: $button-static-background-color
|
|
||||||
border-color: $button-static-border-color
|
|
||||||
color: $button-static-color
|
|
||||||
box-shadow: none
|
|
||||||
pointer-events: none
|
|
||||||
&.is-rounded
|
|
||||||
border-radius: $radius-rounded
|
|
||||||
padding-left: calc(#{$button-padding-horizontal} + 0.25em)
|
|
||||||
padding-right: calc(#{$button-padding-horizontal} + 0.25em)
|
|
||||||
|
|
||||||
.buttons
|
|
||||||
align-items: center
|
|
||||||
display: flex
|
|
||||||
flex-wrap: wrap
|
|
||||||
justify-content: flex-start
|
|
||||||
.button
|
|
||||||
margin-bottom: 0.5rem
|
|
||||||
&:not(:last-child):not(.is-fullwidth)
|
|
||||||
+ltr-property("margin", 0.5rem)
|
|
||||||
&:last-child
|
|
||||||
margin-bottom: -0.5rem
|
|
||||||
&:not(:last-child)
|
|
||||||
margin-bottom: 1rem
|
|
||||||
// Sizes
|
|
||||||
&.are-small
|
|
||||||
.button:not(.is-normal):not(.is-medium):not(.is-large)
|
|
||||||
+button-small
|
|
||||||
&.are-medium
|
|
||||||
.button:not(.is-small):not(.is-normal):not(.is-large)
|
|
||||||
+button-medium
|
|
||||||
&.are-large
|
|
||||||
.button:not(.is-small):not(.is-normal):not(.is-medium)
|
|
||||||
+button-large
|
|
||||||
&.has-addons
|
|
||||||
.button
|
|
||||||
&:not(:first-child)
|
|
||||||
border-bottom-left-radius: 0
|
|
||||||
border-top-left-radius: 0
|
|
||||||
&:not(:last-child)
|
|
||||||
border-bottom-right-radius: 0
|
|
||||||
border-top-right-radius: 0
|
|
||||||
+ltr-property("margin", -1px)
|
|
||||||
&:last-child
|
|
||||||
+ltr-property("margin", 0)
|
|
||||||
&:hover,
|
|
||||||
&.is-hovered
|
|
||||||
z-index: 2
|
|
||||||
&:focus,
|
|
||||||
&.is-focused,
|
|
||||||
&:active,
|
|
||||||
&.is-active,
|
|
||||||
&.is-selected
|
|
||||||
z-index: 3
|
|
||||||
&:hover
|
|
||||||
z-index: 4
|
|
||||||
&.is-expanded
|
|
||||||
flex-grow: 1
|
|
||||||
flex-shrink: 1
|
|
||||||
&.is-centered
|
|
||||||
justify-content: center
|
|
||||||
&:not(.has-addons)
|
|
||||||
.button:not(.is-fullwidth)
|
|
||||||
margin-left: 0.25rem
|
|
||||||
margin-right: 0.25rem
|
|
||||||
&.is-right
|
|
||||||
justify-content: flex-end
|
|
||||||
&:not(.has-addons)
|
|
||||||
.button:not(.is-fullwidth)
|
|
||||||
margin-left: 0.25rem
|
|
||||||
margin-right: 0.25rem
|
|
||||||
|
|
||||||
@each $bp-name, $bp-sizes in $button-responsive-sizes
|
|
||||||
+breakpoint($bp-name)
|
|
||||||
@each $size, $value in $bp-sizes
|
|
||||||
@if $size != "normal"
|
|
||||||
.button.is-responsive.is-#{$size}
|
|
||||||
font-size: $value
|
|
||||||
@else
|
|
||||||
.button.is-responsive,
|
|
||||||
.button.is-responsive.is-normal
|
|
||||||
font-size: $value
|
|
|
@ -1,29 +0,0 @@
|
||||||
@import "../utilities/mixins"
|
|
||||||
|
|
||||||
$container-offset: (2 * $gap) !default
|
|
||||||
$container-max-width: $fullhd !default
|
|
||||||
|
|
||||||
.container
|
|
||||||
flex-grow: 1
|
|
||||||
margin: 0 auto
|
|
||||||
position: relative
|
|
||||||
width: auto
|
|
||||||
&.is-fluid
|
|
||||||
max-width: none !important
|
|
||||||
padding-left: $gap
|
|
||||||
padding-right: $gap
|
|
||||||
width: 100%
|
|
||||||
+desktop
|
|
||||||
max-width: $desktop - $container-offset
|
|
||||||
+until-widescreen
|
|
||||||
&.is-widescreen:not(.is-max-desktop)
|
|
||||||
max-width: min($widescreen, $container-max-width) - $container-offset
|
|
||||||
+until-fullhd
|
|
||||||
&.is-fullhd:not(.is-max-desktop):not(.is-max-widescreen)
|
|
||||||
max-width: min($fullhd, $container-max-width) - $container-offset
|
|
||||||
+widescreen
|
|
||||||
&:not(.is-max-desktop)
|
|
||||||
max-width: min($widescreen, $container-max-width) - $container-offset
|
|
||||||
+fullhd
|
|
||||||
&:not(.is-max-desktop):not(.is-max-widescreen)
|
|
||||||
max-width: min($fullhd, $container-max-width) - $container-offset
|
|
|
@ -1,162 +0,0 @@
|
||||||
@import "../utilities/mixins"
|
|
||||||
|
|
||||||
$content-heading-color: $text-strong !default
|
|
||||||
$content-heading-weight: $weight-semibold !default
|
|
||||||
$content-heading-line-height: 1.125 !default
|
|
||||||
|
|
||||||
$content-block-margin-bottom: 1em !default
|
|
||||||
|
|
||||||
$content-blockquote-background-color: $background !default
|
|
||||||
$content-blockquote-border-left: 5px solid $border !default
|
|
||||||
$content-blockquote-padding: 1.25em 1.5em !default
|
|
||||||
|
|
||||||
$content-pre-padding: 1.25em 1.5em !default
|
|
||||||
|
|
||||||
$content-table-cell-border: 1px solid $border !default
|
|
||||||
$content-table-cell-border-width: 0 0 1px !default
|
|
||||||
$content-table-cell-padding: 0.5em 0.75em !default
|
|
||||||
$content-table-cell-heading-color: $text-strong !default
|
|
||||||
$content-table-head-cell-border-width: 0 0 2px !default
|
|
||||||
$content-table-head-cell-color: $text-strong !default
|
|
||||||
$content-table-body-last-row-cell-border-bottom-width: 0 !default
|
|
||||||
$content-table-foot-cell-border-width: 2px 0 0 !default
|
|
||||||
$content-table-foot-cell-color: $text-strong !default
|
|
||||||
|
|
||||||
.content
|
|
||||||
@extend %block
|
|
||||||
// Inline
|
|
||||||
li + li
|
|
||||||
margin-top: 0.25em
|
|
||||||
// Block
|
|
||||||
p,
|
|
||||||
dl,
|
|
||||||
ol,
|
|
||||||
ul,
|
|
||||||
blockquote,
|
|
||||||
pre,
|
|
||||||
table
|
|
||||||
&:not(:last-child)
|
|
||||||
margin-bottom: $content-block-margin-bottom
|
|
||||||
h1,
|
|
||||||
h2,
|
|
||||||
h3,
|
|
||||||
h4,
|
|
||||||
h5,
|
|
||||||
h6
|
|
||||||
color: $content-heading-color
|
|
||||||
font-weight: $content-heading-weight
|
|
||||||
line-height: $content-heading-line-height
|
|
||||||
h1
|
|
||||||
font-size: 2em
|
|
||||||
margin-bottom: 0.5em
|
|
||||||
&:not(:first-child)
|
|
||||||
margin-top: 1em
|
|
||||||
h2
|
|
||||||
font-size: 1.75em
|
|
||||||
margin-bottom: 0.5714em
|
|
||||||
&:not(:first-child)
|
|
||||||
margin-top: 1.1428em
|
|
||||||
h3
|
|
||||||
font-size: 1.5em
|
|
||||||
margin-bottom: 0.6666em
|
|
||||||
&:not(:first-child)
|
|
||||||
margin-top: 1.3333em
|
|
||||||
h4
|
|
||||||
font-size: 1.25em
|
|
||||||
margin-bottom: 0.8em
|
|
||||||
h5
|
|
||||||
font-size: 1.125em
|
|
||||||
margin-bottom: 0.8888em
|
|
||||||
h6
|
|
||||||
font-size: 1em
|
|
||||||
margin-bottom: 1em
|
|
||||||
blockquote
|
|
||||||
background-color: $content-blockquote-background-color
|
|
||||||
+ltr-property("border", $content-blockquote-border-left, false)
|
|
||||||
padding: $content-blockquote-padding
|
|
||||||
ol
|
|
||||||
list-style-position: outside
|
|
||||||
+ltr-property("margin", 2em, false)
|
|
||||||
margin-top: 1em
|
|
||||||
&:not([type])
|
|
||||||
list-style-type: decimal
|
|
||||||
&.is-lower-alpha
|
|
||||||
list-style-type: lower-alpha
|
|
||||||
&.is-lower-roman
|
|
||||||
list-style-type: lower-roman
|
|
||||||
&.is-upper-alpha
|
|
||||||
list-style-type: upper-alpha
|
|
||||||
&.is-upper-roman
|
|
||||||
list-style-type: upper-roman
|
|
||||||
ul
|
|
||||||
list-style: disc outside
|
|
||||||
+ltr-property("margin", 2em, false)
|
|
||||||
margin-top: 1em
|
|
||||||
ul
|
|
||||||
list-style-type: circle
|
|
||||||
margin-top: 0.5em
|
|
||||||
ul
|
|
||||||
list-style-type: square
|
|
||||||
dd
|
|
||||||
+ltr-property("margin", 2em, false)
|
|
||||||
figure
|
|
||||||
margin-left: 2em
|
|
||||||
margin-right: 2em
|
|
||||||
text-align: center
|
|
||||||
&:not(:first-child)
|
|
||||||
margin-top: 2em
|
|
||||||
&:not(:last-child)
|
|
||||||
margin-bottom: 2em
|
|
||||||
img
|
|
||||||
display: inline-block
|
|
||||||
figcaption
|
|
||||||
font-style: italic
|
|
||||||
pre
|
|
||||||
+overflow-touch
|
|
||||||
overflow-x: auto
|
|
||||||
padding: $content-pre-padding
|
|
||||||
white-space: pre
|
|
||||||
word-wrap: normal
|
|
||||||
sup,
|
|
||||||
sub
|
|
||||||
font-size: 75%
|
|
||||||
table
|
|
||||||
width: 100%
|
|
||||||
td,
|
|
||||||
th
|
|
||||||
border: $content-table-cell-border
|
|
||||||
border-width: $content-table-cell-border-width
|
|
||||||
padding: $content-table-cell-padding
|
|
||||||
vertical-align: top
|
|
||||||
th
|
|
||||||
color: $content-table-cell-heading-color
|
|
||||||
&:not([align])
|
|
||||||
text-align: inherit
|
|
||||||
thead
|
|
||||||
td,
|
|
||||||
th
|
|
||||||
border-width: $content-table-head-cell-border-width
|
|
||||||
color: $content-table-head-cell-color
|
|
||||||
tfoot
|
|
||||||
td,
|
|
||||||
th
|
|
||||||
border-width: $content-table-foot-cell-border-width
|
|
||||||
color: $content-table-foot-cell-color
|
|
||||||
tbody
|
|
||||||
tr
|
|
||||||
&:last-child
|
|
||||||
td,
|
|
||||||
th
|
|
||||||
border-bottom-width: $content-table-body-last-row-cell-border-bottom-width
|
|
||||||
.tabs
|
|
||||||
li + li
|
|
||||||
margin-top: 0
|
|
||||||
// Sizes
|
|
||||||
&.is-small
|
|
||||||
font-size: $size-small
|
|
||||||
&.is-normal
|
|
||||||
font-size: $size-normal
|
|
||||||
&.is-medium
|
|
||||||
font-size: $size-medium
|
|
||||||
&.is-large
|
|
||||||
font-size: $size-large
|
|
|
@ -1 +0,0 @@
|
||||||
@warn "The form.sass file is DEPRECATED. It has moved into its own /form folder. Please import sass/form/_all instead."
|
|
|
@ -1,46 +0,0 @@
|
||||||
$icon-dimensions: 1.5rem !default
|
|
||||||
$icon-dimensions-small: 1rem !default
|
|
||||||
$icon-dimensions-medium: 2rem !default
|
|
||||||
$icon-dimensions-large: 3rem !default
|
|
||||||
$icon-text-spacing: 0.25em !default
|
|
||||||
|
|
||||||
.icon
|
|
||||||
align-items: center
|
|
||||||
display: inline-flex
|
|
||||||
justify-content: center
|
|
||||||
height: $icon-dimensions
|
|
||||||
width: $icon-dimensions
|
|
||||||
// Sizes
|
|
||||||
&.is-small
|
|
||||||
height: $icon-dimensions-small
|
|
||||||
width: $icon-dimensions-small
|
|
||||||
&.is-medium
|
|
||||||
height: $icon-dimensions-medium
|
|
||||||
width: $icon-dimensions-medium
|
|
||||||
&.is-large
|
|
||||||
height: $icon-dimensions-large
|
|
||||||
width: $icon-dimensions-large
|
|
||||||
|
|
||||||
.icon-text
|
|
||||||
align-items: flex-start
|
|
||||||
color: inherit
|
|
||||||
display: inline-flex
|
|
||||||
flex-wrap: wrap
|
|
||||||
line-height: $icon-dimensions
|
|
||||||
vertical-align: top
|
|
||||||
.icon
|
|
||||||
flex-grow: 0
|
|
||||||
flex-shrink: 0
|
|
||||||
&:not(:last-child)
|
|
||||||
+ltr
|
|
||||||
margin-right: $icon-text-spacing
|
|
||||||
+rtl
|
|
||||||
margin-left: $icon-text-spacing
|
|
||||||
&:not(:first-child)
|
|
||||||
+ltr
|
|
||||||
margin-left: $icon-text-spacing
|
|
||||||
+rtl
|
|
||||||
margin-right: $icon-text-spacing
|
|
||||||
|
|
||||||
div.icon-text
|
|
||||||
display: flex
|
|
|
@ -1,73 +0,0 @@
|
||||||
@import "../utilities/mixins"
|
|
||||||
|
|
||||||
$dimensions: 16 24 32 48 64 96 128 !default
|
|
||||||
|
|
||||||
.image
|
|
||||||
display: block
|
|
||||||
position: relative
|
|
||||||
img
|
|
||||||
display: block
|
|
||||||
height: auto
|
|
||||||
width: 100%
|
|
||||||
&.is-rounded
|
|
||||||
border-radius: $radius-rounded
|
|
||||||
&.is-fullwidth
|
|
||||||
width: 100%
|
|
||||||
// Ratio
|
|
||||||
&.is-square,
|
|
||||||
&.is-1by1,
|
|
||||||
&.is-5by4,
|
|
||||||
&.is-4by3,
|
|
||||||
&.is-3by2,
|
|
||||||
&.is-5by3,
|
|
||||||
&.is-16by9,
|
|
||||||
&.is-2by1,
|
|
||||||
&.is-3by1,
|
|
||||||
&.is-4by5,
|
|
||||||
&.is-3by4,
|
|
||||||
&.is-2by3,
|
|
||||||
&.is-3by5,
|
|
||||||
&.is-9by16,
|
|
||||||
&.is-1by2,
|
|
||||||
&.is-1by3
|
|
||||||
img,
|
|
||||||
.has-ratio
|
|
||||||
@extend %overlay
|
|
||||||
height: 100%
|
|
||||||
width: 100%
|
|
||||||
&.is-square,
|
|
||||||
&.is-1by1
|
|
||||||
padding-top: 100%
|
|
||||||
&.is-5by4
|
|
||||||
padding-top: 80%
|
|
||||||
&.is-4by3
|
|
||||||
padding-top: 75%
|
|
||||||
&.is-3by2
|
|
||||||
padding-top: 66.6666%
|
|
||||||
&.is-5by3
|
|
||||||
padding-top: 60%
|
|
||||||
&.is-16by9
|
|
||||||
padding-top: 56.25%
|
|
||||||
&.is-2by1
|
|
||||||
padding-top: 50%
|
|
||||||
&.is-3by1
|
|
||||||
padding-top: 33.3333%
|
|
||||||
&.is-4by5
|
|
||||||
padding-top: 125%
|
|
||||||
&.is-3by4
|
|
||||||
padding-top: 133.3333%
|
|
||||||
&.is-2by3
|
|
||||||
padding-top: 150%
|
|
||||||
&.is-3by5
|
|
||||||
padding-top: 166.6666%
|
|
||||||
&.is-9by16
|
|
||||||
padding-top: 177.7777%
|
|
||||||
&.is-1by2
|
|
||||||
padding-top: 200%
|
|
||||||
&.is-1by3
|
|
||||||
padding-top: 300%
|
|
||||||
// Sizes
|
|
||||||
@each $dimension in $dimensions
|
|
||||||
&.is-#{$dimension}x#{$dimension}
|
|
||||||
height: $dimension * 1px
|
|
||||||
width: $dimension * 1px
|
|
|
@ -1,52 +0,0 @@
|
||||||
@import "../utilities/mixins"
|
|
||||||
|
|
||||||
$notification-background-color: $background !default
|
|
||||||
$notification-code-background-color: $scheme-main !default
|
|
||||||
$notification-radius: $radius !default
|
|
||||||
$notification-padding: 1.25rem 2.5rem 1.25rem 1.5rem !default
|
|
||||||
$notification-padding-ltr: 1.25rem 2.5rem 1.25rem 1.5rem !default
|
|
||||||
$notification-padding-rtl: 1.25rem 1.5rem 1.25rem 2.5rem !default
|
|
||||||
|
|
||||||
$notification-colors: $colors !default
|
|
||||||
|
|
||||||
.notification
|
|
||||||
@extend %block
|
|
||||||
background-color: $notification-background-color
|
|
||||||
border-radius: $notification-radius
|
|
||||||
position: relative
|
|
||||||
+ltr
|
|
||||||
padding: $notification-padding-ltr
|
|
||||||
+rtl
|
|
||||||
padding: $notification-padding-rtl
|
|
||||||
a:not(.button):not(.dropdown-item)
|
|
||||||
color: currentColor
|
|
||||||
text-decoration: underline
|
|
||||||
strong
|
|
||||||
color: currentColor
|
|
||||||
code,
|
|
||||||
pre
|
|
||||||
background: $notification-code-background-color
|
|
||||||
pre code
|
|
||||||
background: transparent
|
|
||||||
& > .delete
|
|
||||||
+ltr-position(0.5rem)
|
|
||||||
position: absolute
|
|
||||||
top: 0.5rem
|
|
||||||
.title,
|
|
||||||
.subtitle,
|
|
||||||
.content
|
|
||||||
color: currentColor
|
|
||||||
// Colors
|
|
||||||
@each $name, $pair in $notification-colors
|
|
||||||
$color: nth($pair, 1)
|
|
||||||
$color-invert: nth($pair, 2)
|
|
||||||
&.is-#{$name}
|
|
||||||
background-color: $color
|
|
||||||
color: $color-invert
|
|
||||||
// If light and dark colors are provided
|
|
||||||
@if length($pair) >= 4
|
|
||||||
$color-light: nth($pair, 3)
|
|
||||||
$color-dark: nth($pair, 4)
|
|
||||||
&.is-light
|
|
||||||
background-color: $color-light
|
|
||||||
color: $color-dark
|
|
|
@ -1,31 +0,0 @@
|
||||||
@import "../utilities/mixins"
|
|
||||||
|
|
||||||
.block
|
|
||||||
@extend %block
|
|
||||||
|
|
||||||
.delete
|
|
||||||
@extend %delete
|
|
||||||
|
|
||||||
.heading
|
|
||||||
display: block
|
|
||||||
font-size: 11px
|
|
||||||
letter-spacing: 1px
|
|
||||||
margin-bottom: 5px
|
|
||||||
text-transform: uppercase
|
|
||||||
|
|
||||||
.loader
|
|
||||||
@extend %loader
|
|
||||||
|
|
||||||
.number
|
|
||||||
align-items: center
|
|
||||||
background-color: $background
|
|
||||||
border-radius: $radius-rounded
|
|
||||||
display: inline-flex
|
|
||||||
font-size: $size-medium
|
|
||||||
height: 2em
|
|
||||||
justify-content: center
|
|
||||||
margin-right: 1.5rem
|
|
||||||
min-width: 2.5em
|
|
||||||
padding: 0.25rem 0.5rem
|
|
||||||
text-align: center
|
|
||||||
vertical-align: top
|
|
|
@ -1,73 +0,0 @@
|
||||||
@import "../utilities/mixins"
|
|
||||||
|
|
||||||
$progress-bar-background-color: $border-light !default
|
|
||||||
$progress-value-background-color: $text !default
|
|
||||||
$progress-border-radius: $radius-rounded !default
|
|
||||||
|
|
||||||
$progress-indeterminate-duration: 1.5s !default
|
|
||||||
|
|
||||||
$progress-colors: $colors !default
|
|
||||||
|
|
||||||
.progress
|
|
||||||
@extend %block
|
|
||||||
-moz-appearance: none
|
|
||||||
-webkit-appearance: none
|
|
||||||
border: none
|
|
||||||
border-radius: $progress-border-radius
|
|
||||||
display: block
|
|
||||||
height: $size-normal
|
|
||||||
overflow: hidden
|
|
||||||
padding: 0
|
|
||||||
width: 100%
|
|
||||||
&::-webkit-progress-bar
|
|
||||||
background-color: $progress-bar-background-color
|
|
||||||
&::-webkit-progress-value
|
|
||||||
background-color: $progress-value-background-color
|
|
||||||
&::-moz-progress-bar
|
|
||||||
background-color: $progress-value-background-color
|
|
||||||
&::-ms-fill
|
|
||||||
background-color: $progress-value-background-color
|
|
||||||
border: none
|
|
||||||
// Colors
|
|
||||||
@each $name, $pair in $progress-colors
|
|
||||||
$color: nth($pair, 1)
|
|
||||||
&.is-#{$name}
|
|
||||||
&::-webkit-progress-value
|
|
||||||
background-color: $color
|
|
||||||
&::-moz-progress-bar
|
|
||||||
background-color: $color
|
|
||||||
&::-ms-fill
|
|
||||||
background-color: $color
|
|
||||||
&:indeterminate
|
|
||||||
background-image: linear-gradient(to right, $color 30%, $progress-bar-background-color 30%)
|
|
||||||
|
|
||||||
&:indeterminate
|
|
||||||
animation-duration: $progress-indeterminate-duration
|
|
||||||
animation-iteration-count: infinite
|
|
||||||
animation-name: moveIndeterminate
|
|
||||||
animation-timing-function: linear
|
|
||||||
background-color: $progress-bar-background-color
|
|
||||||
background-image: linear-gradient(to right, $text 30%, $progress-bar-background-color 30%)
|
|
||||||
background-position: top left
|
|
||||||
background-repeat: no-repeat
|
|
||||||
background-size: 150% 150%
|
|
||||||
&::-webkit-progress-bar
|
|
||||||
background-color: transparent
|
|
||||||
&::-moz-progress-bar
|
|
||||||
background-color: transparent
|
|
||||||
&::-ms-fill
|
|
||||||
animation-name: none
|
|
||||||
|
|
||||||
// Sizes
|
|
||||||
&.is-small
|
|
||||||
height: $size-small
|
|
||||||
&.is-medium
|
|
||||||
height: $size-medium
|
|
||||||
&.is-large
|
|
||||||
height: $size-large
|
|
||||||
|
|
||||||
@keyframes moveIndeterminate
|
|
||||||
from
|
|
||||||
background-position: 200% 0
|
|
||||||
to
|
|
||||||
background-position: -200% 0
|
|
|
@ -1,134 +0,0 @@
|
||||||
@import "../utilities/mixins"
|
|
||||||
|
|
||||||
$table-color: $text-strong !default
|
|
||||||
$table-background-color: $scheme-main !default
|
|
||||||
|
|
||||||
$table-cell-border: 1px solid $border !default
|
|
||||||
$table-cell-border-width: 0 0 1px !default
|
|
||||||
$table-cell-padding: 0.5em 0.75em !default
|
|
||||||
$table-cell-heading-color: $text-strong !default
|
|
||||||
$table-cell-text-align: left !default
|
|
||||||
|
|
||||||
$table-head-cell-border-width: 0 0 2px !default
|
|
||||||
$table-head-cell-color: $text-strong !default
|
|
||||||
$table-foot-cell-border-width: 2px 0 0 !default
|
|
||||||
$table-foot-cell-color: $text-strong !default
|
|
||||||
|
|
||||||
$table-head-background-color: transparent !default
|
|
||||||
$table-body-background-color: transparent !default
|
|
||||||
$table-foot-background-color: transparent !default
|
|
||||||
|
|
||||||
$table-row-hover-background-color: $scheme-main-bis !default
|
|
||||||
|
|
||||||
$table-row-active-background-color: $primary !default
|
|
||||||
$table-row-active-color: $primary-invert !default
|
|
||||||
|
|
||||||
$table-striped-row-even-background-color: $scheme-main-bis !default
|
|
||||||
$table-striped-row-even-hover-background-color: $scheme-main-ter !default
|
|
||||||
|
|
||||||
$table-colors: $colors !default
|
|
||||||
|
|
||||||
.table
|
|
||||||
@extend %block
|
|
||||||
background-color: $table-background-color
|
|
||||||
color: $table-color
|
|
||||||
td,
|
|
||||||
th
|
|
||||||
border: $table-cell-border
|
|
||||||
border-width: $table-cell-border-width
|
|
||||||
padding: $table-cell-padding
|
|
||||||
vertical-align: top
|
|
||||||
// Colors
|
|
||||||
@each $name, $pair in $table-colors
|
|
||||||
$color: nth($pair, 1)
|
|
||||||
$color-invert: nth($pair, 2)
|
|
||||||
&.is-#{$name}
|
|
||||||
background-color: $color
|
|
||||||
border-color: $color
|
|
||||||
color: $color-invert
|
|
||||||
// Modifiers
|
|
||||||
&.is-narrow
|
|
||||||
white-space: nowrap
|
|
||||||
width: 1%
|
|
||||||
&.is-selected
|
|
||||||
background-color: $table-row-active-background-color
|
|
||||||
color: $table-row-active-color
|
|
||||||
a,
|
|
||||||
strong
|
|
||||||
color: currentColor
|
|
||||||
&.is-vcentered
|
|
||||||
vertical-align: middle
|
|
||||||
th
|
|
||||||
color: $table-cell-heading-color
|
|
||||||
&:not([align])
|
|
||||||
text-align: $table-cell-text-align
|
|
||||||
tr
|
|
||||||
&.is-selected
|
|
||||||
background-color: $table-row-active-background-color
|
|
||||||
color: $table-row-active-color
|
|
||||||
a,
|
|
||||||
strong
|
|
||||||
color: currentColor
|
|
||||||
td,
|
|
||||||
th
|
|
||||||
border-color: $table-row-active-color
|
|
||||||
color: currentColor
|
|
||||||
thead
|
|
||||||
background-color: $table-head-background-color
|
|
||||||
td,
|
|
||||||
th
|
|
||||||
border-width: $table-head-cell-border-width
|
|
||||||
color: $table-head-cell-color
|
|
||||||
tfoot
|
|
||||||
background-color: $table-foot-background-color
|
|
||||||
td,
|
|
||||||
th
|
|
||||||
border-width: $table-foot-cell-border-width
|
|
||||||
color: $table-foot-cell-color
|
|
||||||
tbody
|
|
||||||
background-color: $table-body-background-color
|
|
||||||
tr
|
|
||||||
&:last-child
|
|
||||||
td,
|
|
||||||
th
|
|
||||||
border-bottom-width: 0
|
|
||||||
// Modifiers
|
|
||||||
&.is-bordered
|
|
||||||
td,
|
|
||||||
th
|
|
||||||
border-width: 1px
|
|
||||||
tr
|
|
||||||
&:last-child
|
|
||||||
td,
|
|
||||||
th
|
|
||||||
border-bottom-width: 1px
|
|
||||||
&.is-fullwidth
|
|
||||||
width: 100%
|
|
||||||
&.is-hoverable
|
|
||||||
tbody
|
|
||||||
tr:not(.is-selected)
|
|
||||||
&:hover
|
|
||||||
background-color: $table-row-hover-background-color
|
|
||||||
&.is-striped
|
|
||||||
tbody
|
|
||||||
tr:not(.is-selected)
|
|
||||||
&:hover
|
|
||||||
background-color: $table-row-hover-background-color
|
|
||||||
&:nth-child(even)
|
|
||||||
background-color: $table-striped-row-even-hover-background-color
|
|
||||||
&.is-narrow
|
|
||||||
td,
|
|
||||||
th
|
|
||||||
padding: 0.25em 0.5em
|
|
||||||
&.is-striped
|
|
||||||
tbody
|
|
||||||
tr:not(.is-selected)
|
|
||||||
&:nth-child(even)
|
|
||||||
background-color: $table-striped-row-even-background-color
|
|
||||||
|
|
||||||
.table-container
|
|
||||||
@extend %block
|
|
||||||
+overflow-touch
|
|
||||||
overflow: auto
|
|
||||||
overflow-y: hidden
|
|
||||||
max-width: 100%
|
|
|
@ -1,140 +0,0 @@
|
||||||
@import "../utilities/mixins"
|
|
||||||
|
|
||||||
$tag-background-color: $background !default
|
|
||||||
$tag-color: $text !default
|
|
||||||
$tag-radius: $radius !default
|
|
||||||
$tag-delete-margin: 1px !default
|
|
||||||
|
|
||||||
$tag-colors: $colors !default
|
|
||||||
|
|
||||||
.tags
|
|
||||||
align-items: center
|
|
||||||
display: flex
|
|
||||||
flex-wrap: wrap
|
|
||||||
justify-content: flex-start
|
|
||||||
.tag
|
|
||||||
margin-bottom: 0.5rem
|
|
||||||
&:not(:last-child)
|
|
||||||
+ltr-property("margin", 0.5rem)
|
|
||||||
&:last-child
|
|
||||||
margin-bottom: -0.5rem
|
|
||||||
&:not(:last-child)
|
|
||||||
margin-bottom: 1rem
|
|
||||||
// Sizes
|
|
||||||
&.are-medium
|
|
||||||
.tag:not(.is-normal):not(.is-large)
|
|
||||||
font-size: $size-normal
|
|
||||||
&.are-large
|
|
||||||
.tag:not(.is-normal):not(.is-medium)
|
|
||||||
font-size: $size-medium
|
|
||||||
&.is-centered
|
|
||||||
justify-content: center
|
|
||||||
.tag
|
|
||||||
margin-right: 0.25rem
|
|
||||||
margin-left: 0.25rem
|
|
||||||
&.is-right
|
|
||||||
justify-content: flex-end
|
|
||||||
.tag
|
|
||||||
&:not(:first-child)
|
|
||||||
margin-left: 0.5rem
|
|
||||||
&:not(:last-child)
|
|
||||||
margin-right: 0
|
|
||||||
&.has-addons
|
|
||||||
.tag
|
|
||||||
+ltr-property("margin", 0)
|
|
||||||
&:not(:first-child)
|
|
||||||
+ltr-property("margin", 0, false)
|
|
||||||
+ltr
|
|
||||||
border-top-left-radius: 0
|
|
||||||
border-bottom-left-radius: 0
|
|
||||||
+rtl
|
|
||||||
border-top-right-radius: 0
|
|
||||||
border-bottom-right-radius: 0
|
|
||||||
&:not(:last-child)
|
|
||||||
+ltr
|
|
||||||
border-top-right-radius: 0
|
|
||||||
border-bottom-right-radius: 0
|
|
||||||
+rtl
|
|
||||||
border-top-left-radius: 0
|
|
||||||
border-bottom-left-radius: 0
|
|
||||||
|
|
||||||
.tag:not(body)
|
|
||||||
align-items: center
|
|
||||||
background-color: $tag-background-color
|
|
||||||
border-radius: $tag-radius
|
|
||||||
color: $tag-color
|
|
||||||
display: inline-flex
|
|
||||||
font-size: $size-small
|
|
||||||
height: 2em
|
|
||||||
justify-content: center
|
|
||||||
line-height: 1.5
|
|
||||||
padding-left: 0.75em
|
|
||||||
padding-right: 0.75em
|
|
||||||
white-space: nowrap
|
|
||||||
.delete
|
|
||||||
+ltr-property("margin", 0.25rem, false)
|
|
||||||
+ltr-property("margin", -0.375rem)
|
|
||||||
// Colors
|
|
||||||
@each $name, $pair in $tag-colors
|
|
||||||
$color: nth($pair, 1)
|
|
||||||
$color-invert: nth($pair, 2)
|
|
||||||
&.is-#{$name}
|
|
||||||
background-color: $color
|
|
||||||
color: $color-invert
|
|
||||||
// If a light and dark colors are provided
|
|
||||||
@if length($pair) > 3
|
|
||||||
$color-light: nth($pair, 3)
|
|
||||||
$color-dark: nth($pair, 4)
|
|
||||||
&.is-light
|
|
||||||
background-color: $color-light
|
|
||||||
color: $color-dark
|
|
||||||
// Sizes
|
|
||||||
&.is-normal
|
|
||||||
font-size: $size-small
|
|
||||||
&.is-medium
|
|
||||||
font-size: $size-normal
|
|
||||||
&.is-large
|
|
||||||
font-size: $size-medium
|
|
||||||
.icon
|
|
||||||
&:first-child:not(:last-child)
|
|
||||||
+ltr-property("margin", -0.375em, false)
|
|
||||||
+ltr-property("margin", 0.1875em)
|
|
||||||
&:last-child:not(:first-child)
|
|
||||||
+ltr-property("margin", 0.1875em, false)
|
|
||||||
+ltr-property("margin", -0.375em)
|
|
||||||
&:first-child:last-child
|
|
||||||
+ltr-property("margin", -0.375em, false)
|
|
||||||
+ltr-property("margin", -0.375em)
|
|
||||||
// Modifiers
|
|
||||||
&.is-delete
|
|
||||||
+ltr-property("margin", $tag-delete-margin, false)
|
|
||||||
padding: 0
|
|
||||||
position: relative
|
|
||||||
width: 2em
|
|
||||||
&::before,
|
|
||||||
&::after
|
|
||||||
background-color: currentColor
|
|
||||||
content: ""
|
|
||||||
display: block
|
|
||||||
left: 50%
|
|
||||||
position: absolute
|
|
||||||
top: 50%
|
|
||||||
transform: translateX(-50%) translateY(-50%) rotate(45deg)
|
|
||||||
transform-origin: center center
|
|
||||||
&::before
|
|
||||||
height: 1px
|
|
||||||
width: 50%
|
|
||||||
&::after
|
|
||||||
height: 50%
|
|
||||||
width: 1px
|
|
||||||
&:hover,
|
|
||||||
&:focus
|
|
||||||
background-color: darken($tag-background-color, 5%)
|
|
||||||
&:active
|
|
||||||
background-color: darken($tag-background-color, 10%)
|
|
||||||
&.is-rounded
|
|
||||||
border-radius: $radius-rounded
|
|
||||||
|
|
||||||
a.tag
|
|
||||||
&:hover
|
|
||||||
text-decoration: underline
|
|
|
@ -1,70 +0,0 @@
|
||||||
@import "../utilities/mixins"
|
|
||||||
|
|
||||||
$title-color: $text-strong !default
|
|
||||||
$title-family: false !default
|
|
||||||
$title-size: $size-3 !default
|
|
||||||
$title-weight: $weight-semibold !default
|
|
||||||
$title-line-height: 1.125 !default
|
|
||||||
$title-strong-color: inherit !default
|
|
||||||
$title-strong-weight: inherit !default
|
|
||||||
$title-sub-size: 0.75em !default
|
|
||||||
$title-sup-size: 0.75em !default
|
|
||||||
|
|
||||||
$subtitle-color: $text !default
|
|
||||||
$subtitle-family: false !default
|
|
||||||
$subtitle-size: $size-5 !default
|
|
||||||
$subtitle-weight: $weight-normal !default
|
|
||||||
$subtitle-line-height: 1.25 !default
|
|
||||||
$subtitle-strong-color: $text-strong !default
|
|
||||||
$subtitle-strong-weight: $weight-semibold !default
|
|
||||||
$subtitle-negative-margin: -1.25rem !default
|
|
||||||
|
|
||||||
.title,
|
|
||||||
.subtitle
|
|
||||||
@extend %block
|
|
||||||
word-break: break-word
|
|
||||||
em,
|
|
||||||
span
|
|
||||||
font-weight: inherit
|
|
||||||
sub
|
|
||||||
font-size: $title-sub-size
|
|
||||||
sup
|
|
||||||
font-size: $title-sup-size
|
|
||||||
.tag
|
|
||||||
vertical-align: middle
|
|
||||||
|
|
||||||
.title
|
|
||||||
color: $title-color
|
|
||||||
@if $title-family
|
|
||||||
font-family: $title-family
|
|
||||||
font-size: $title-size
|
|
||||||
font-weight: $title-weight
|
|
||||||
line-height: $title-line-height
|
|
||||||
strong
|
|
||||||
color: $title-strong-color
|
|
||||||
font-weight: $title-strong-weight
|
|
||||||
&:not(.is-spaced) + .subtitle
|
|
||||||
margin-top: $subtitle-negative-margin
|
|
||||||
// Sizes
|
|
||||||
@each $size in $sizes
|
|
||||||
$i: index($sizes, $size)
|
|
||||||
&.is-#{$i}
|
|
||||||
font-size: $size
|
|
||||||
|
|
||||||
.subtitle
|
|
||||||
color: $subtitle-color
|
|
||||||
@if $subtitle-family
|
|
||||||
font-family: $subtitle-family
|
|
||||||
font-size: $subtitle-size
|
|
||||||
font-weight: $subtitle-weight
|
|
||||||
line-height: $subtitle-line-height
|
|
||||||
strong
|
|
||||||
color: $subtitle-strong-color
|
|
||||||
font-weight: $subtitle-strong-weight
|
|
||||||
&:not(.is-spaced) + .title
|
|
||||||
margin-top: $subtitle-negative-margin
|
|
||||||
// Sizes
|
|
||||||
@each $size in $sizes
|
|
||||||
$i: index($sizes, $size)
|
|
||||||
&.is-#{$i}
|
|
||||||
font-size: $size
|
|
|
@ -1,9 +0,0 @@
|
||||||
/* Bulma Form */
|
|
||||||
@charset "utf-8"
|
|
||||||
|
|
||||||
@import "shared"
|
|
||||||
@import "input-textarea"
|
|
||||||
@import "checkbox-radio"
|
|
||||||
@import "select"
|
|
||||||
@import "file"
|
|
||||||
@import "tools"
|
|
|
@ -1,22 +0,0 @@
|
||||||
%checkbox-radio
|
|
||||||
cursor: pointer
|
|
||||||
display: inline-block
|
|
||||||
line-height: 1.25
|
|
||||||
position: relative
|
|
||||||
input
|
|
||||||
cursor: pointer
|
|
||||||
&:hover
|
|
||||||
color: $input-hover-color
|
|
||||||
&[disabled],
|
|
||||||
fieldset[disabled] &,
|
|
||||||
input[disabled]
|
|
||||||
color: $input-disabled-color
|
|
||||||
cursor: not-allowed
|
|
||||||
|
|
||||||
.checkbox
|
|
||||||
@extend %checkbox-radio
|
|
||||||
|
|
||||||
.radio
|
|
||||||
@extend %checkbox-radio
|
|
||||||
& + .radio
|
|
||||||
+ltr-property("margin", 0.5em, false)
|
|
|
@ -1,184 +0,0 @@
|
||||||
$file-border-color: $border !default
|
|
||||||
$file-radius: $radius !default
|
|
||||||
|
|
||||||
$file-cta-background-color: $scheme-main-ter !default
|
|
||||||
$file-cta-color: $text !default
|
|
||||||
$file-cta-hover-color: $text-strong !default
|
|
||||||
$file-cta-active-color: $text-strong !default
|
|
||||||
|
|
||||||
$file-name-border-color: $border !default
|
|
||||||
$file-name-border-style: solid !default
|
|
||||||
$file-name-border-width: 1px 1px 1px 0 !default
|
|
||||||
$file-name-max-width: 16em !default
|
|
||||||
|
|
||||||
$file-colors: $form-colors !default
|
|
||||||
|
|
||||||
.file
|
|
||||||
@extend %unselectable
|
|
||||||
align-items: stretch
|
|
||||||
display: flex
|
|
||||||
justify-content: flex-start
|
|
||||||
position: relative
|
|
||||||
// Colors
|
|
||||||
@each $name, $pair in $file-colors
|
|
||||||
$color: nth($pair, 1)
|
|
||||||
$color-invert: nth($pair, 2)
|
|
||||||
&.is-#{$name}
|
|
||||||
.file-cta
|
|
||||||
background-color: $color
|
|
||||||
border-color: transparent
|
|
||||||
color: $color-invert
|
|
||||||
&:hover,
|
|
||||||
&.is-hovered
|
|
||||||
.file-cta
|
|
||||||
background-color: bulmaDarken($color, 2.5%)
|
|
||||||
border-color: transparent
|
|
||||||
color: $color-invert
|
|
||||||
&:focus,
|
|
||||||
&.is-focused
|
|
||||||
.file-cta
|
|
||||||
border-color: transparent
|
|
||||||
box-shadow: 0 0 0.5em bulmaRgba($color, 0.25)
|
|
||||||
color: $color-invert
|
|
||||||
&:active,
|
|
||||||
&.is-active
|
|
||||||
.file-cta
|
|
||||||
background-color: bulmaDarken($color, 5%)
|
|
||||||
border-color: transparent
|
|
||||||
color: $color-invert
|
|
||||||
// Sizes
|
|
||||||
&.is-small
|
|
||||||
font-size: $size-small
|
|
||||||
&.is-normal
|
|
||||||
font-size: $size-normal
|
|
||||||
&.is-medium
|
|
||||||
font-size: $size-medium
|
|
||||||
.file-icon
|
|
||||||
.fa
|
|
||||||
font-size: 21px
|
|
||||||
&.is-large
|
|
||||||
font-size: $size-large
|
|
||||||
.file-icon
|
|
||||||
.fa
|
|
||||||
font-size: 28px
|
|
||||||
// Modifiers
|
|
||||||
&.has-name
|
|
||||||
.file-cta
|
|
||||||
border-bottom-right-radius: 0
|
|
||||||
border-top-right-radius: 0
|
|
||||||
.file-name
|
|
||||||
border-bottom-left-radius: 0
|
|
||||||
border-top-left-radius: 0
|
|
||||||
&.is-empty
|
|
||||||
.file-cta
|
|
||||||
border-radius: $file-radius
|
|
||||||
.file-name
|
|
||||||
display: none
|
|
||||||
&.is-boxed
|
|
||||||
.file-label
|
|
||||||
flex-direction: column
|
|
||||||
.file-cta
|
|
||||||
flex-direction: column
|
|
||||||
height: auto
|
|
||||||
padding: 1em 3em
|
|
||||||
.file-name
|
|
||||||
border-width: 0 1px 1px
|
|
||||||
.file-icon
|
|
||||||
height: 1.5em
|
|
||||||
width: 1.5em
|
|
||||||
.fa
|
|
||||||
font-size: 21px
|
|
||||||
&.is-small
|
|
||||||
.file-icon .fa
|
|
||||||
font-size: 14px
|
|
||||||
&.is-medium
|
|
||||||
.file-icon .fa
|
|
||||||
font-size: 28px
|
|
||||||
&.is-large
|
|
||||||
.file-icon .fa
|
|
||||||
font-size: 35px
|
|
||||||
&.has-name
|
|
||||||
.file-cta
|
|
||||||
border-radius: $file-radius $file-radius 0 0
|
|
||||||
.file-name
|
|
||||||
border-radius: 0 0 $file-radius $file-radius
|
|
||||||
border-width: 0 1px 1px
|
|
||||||
&.is-centered
|
|
||||||
justify-content: center
|
|
||||||
&.is-fullwidth
|
|
||||||
.file-label
|
|
||||||
width: 100%
|
|
||||||
.file-name
|
|
||||||
flex-grow: 1
|
|
||||||
max-width: none
|
|
||||||
&.is-right
|
|
||||||
justify-content: flex-end
|
|
||||||
.file-cta
|
|
||||||
border-radius: 0 $file-radius $file-radius 0
|
|
||||||
.file-name
|
|
||||||
border-radius: $file-radius 0 0 $file-radius
|
|
||||||
border-width: 1px 0 1px 1px
|
|
||||||
order: -1
|
|
||||||
|
|
||||||
.file-label
|
|
||||||
align-items: stretch
|
|
||||||
display: flex
|
|
||||||
cursor: pointer
|
|
||||||
justify-content: flex-start
|
|
||||||
overflow: hidden
|
|
||||||
position: relative
|
|
||||||
&:hover
|
|
||||||
.file-cta
|
|
||||||
background-color: bulmaDarken($file-cta-background-color, 2.5%)
|
|
||||||
color: $file-cta-hover-color
|
|
||||||
.file-name
|
|
||||||
border-color: bulmaDarken($file-name-border-color, 2.5%)
|
|
||||||
&:active
|
|
||||||
.file-cta
|
|
||||||
background-color: bulmaDarken($file-cta-background-color, 5%)
|
|
||||||
color: $file-cta-active-color
|
|
||||||
.file-name
|
|
||||||
border-color: bulmaDarken($file-name-border-color, 5%)
|
|
||||||
|
|
||||||
.file-input
|
|
||||||
height: 100%
|
|
||||||
left: 0
|
|
||||||
opacity: 0
|
|
||||||
outline: none
|
|
||||||
position: absolute
|
|
||||||
top: 0
|
|
||||||
width: 100%
|
|
||||||
|
|
||||||
.file-cta,
|
|
||||||
.file-name
|
|
||||||
@extend %control
|
|
||||||
border-color: $file-border-color
|
|
||||||
border-radius: $file-radius
|
|
||||||
font-size: 1em
|
|
||||||
padding-left: 1em
|
|
||||||
padding-right: 1em
|
|
||||||
white-space: nowrap
|
|
||||||
|
|
||||||
.file-cta
|
|
||||||
background-color: $file-cta-background-color
|
|
||||||
color: $file-cta-color
|
|
||||||
|
|
||||||
.file-name
|
|
||||||
border-color: $file-name-border-color
|
|
||||||
border-style: $file-name-border-style
|
|
||||||
border-width: $file-name-border-width
|
|
||||||
display: block
|
|
||||||
max-width: $file-name-max-width
|
|
||||||
overflow: hidden
|
|
||||||
text-align: inherit
|
|
||||||
text-overflow: ellipsis
|
|
||||||
|
|
||||||
.file-icon
|
|
||||||
align-items: center
|
|
||||||
display: flex
|
|
||||||
height: 1em
|
|
||||||
justify-content: center
|
|
||||||
+ltr-property("margin", 0.5em)
|
|
||||||
width: 1em
|
|
||||||
.fa
|
|
||||||
font-size: 14px
|
|
|
@ -1,66 +0,0 @@
|
||||||
$textarea-padding: $control-padding-horizontal !default
|
|
||||||
$textarea-max-height: 40em !default
|
|
||||||
$textarea-min-height: 8em !default
|
|
||||||
|
|
||||||
$textarea-colors: $form-colors !default
|
|
||||||
|
|
||||||
%input-textarea
|
|
||||||
@extend %input
|
|
||||||
box-shadow: $input-shadow
|
|
||||||
max-width: 100%
|
|
||||||
width: 100%
|
|
||||||
&[readonly]
|
|
||||||
box-shadow: none
|
|
||||||
// Colors
|
|
||||||
@each $name, $pair in $textarea-colors
|
|
||||||
$color: nth($pair, 1)
|
|
||||||
&.is-#{$name}
|
|
||||||
border-color: $color
|
|
||||||
&:focus,
|
|
||||||
&.is-focused,
|
|
||||||
&:active,
|
|
||||||
&.is-active
|
|
||||||
box-shadow: $input-focus-box-shadow-size bulmaRgba($color, 0.25)
|
|
||||||
// Sizes
|
|
||||||
&.is-small
|
|
||||||
+control-small
|
|
||||||
&.is-medium
|
|
||||||
+control-medium
|
|
||||||
&.is-large
|
|
||||||
+control-large
|
|
||||||
// Modifiers
|
|
||||||
&.is-fullwidth
|
|
||||||
display: block
|
|
||||||
width: 100%
|
|
||||||
&.is-inline
|
|
||||||
display: inline
|
|
||||||
width: auto
|
|
||||||
|
|
||||||
.input
|
|
||||||
@extend %input-textarea
|
|
||||||
&.is-rounded
|
|
||||||
border-radius: $radius-rounded
|
|
||||||
padding-left: calc(#{$control-padding-horizontal} + 0.375em)
|
|
||||||
padding-right: calc(#{$control-padding-horizontal} + 0.375em)
|
|
||||||
&.is-static
|
|
||||||
background-color: transparent
|
|
||||||
border-color: transparent
|
|
||||||
box-shadow: none
|
|
||||||
padding-left: 0
|
|
||||||
padding-right: 0
|
|
||||||
|
|
||||||
.textarea
|
|
||||||
@extend %input-textarea
|
|
||||||
display: block
|
|
||||||
max-width: 100%
|
|
||||||
min-width: 100%
|
|
||||||
padding: $textarea-padding
|
|
||||||
resize: vertical
|
|
||||||
&:not([rows])
|
|
||||||
max-height: $textarea-max-height
|
|
||||||
min-height: $textarea-min-height
|
|
||||||
&[rows]
|
|
||||||
height: initial
|
|
||||||
// Modifiers
|
|
||||||
&.has-fixed-size
|
|
||||||
resize: none
|
|
|
@ -1,88 +0,0 @@
|
||||||
$select-colors: $form-colors !default
|
|
||||||
|
|
||||||
.select
|
|
||||||
display: inline-block
|
|
||||||
max-width: 100%
|
|
||||||
position: relative
|
|
||||||
vertical-align: top
|
|
||||||
&:not(.is-multiple)
|
|
||||||
height: $input-height
|
|
||||||
&:not(.is-multiple):not(.is-loading)
|
|
||||||
&::after
|
|
||||||
@extend %arrow
|
|
||||||
border-color: $input-arrow
|
|
||||||
+ltr-position(1.125em)
|
|
||||||
z-index: 4
|
|
||||||
&.is-rounded
|
|
||||||
select
|
|
||||||
border-radius: $radius-rounded
|
|
||||||
+ltr-property("padding", 1em, false)
|
|
||||||
select
|
|
||||||
@extend %input
|
|
||||||
cursor: pointer
|
|
||||||
display: block
|
|
||||||
font-size: 1em
|
|
||||||
max-width: 100%
|
|
||||||
outline: none
|
|
||||||
&::-ms-expand
|
|
||||||
display: none
|
|
||||||
&[disabled]:hover,
|
|
||||||
fieldset[disabled] &:hover
|
|
||||||
border-color: $input-disabled-border-color
|
|
||||||
&:not([multiple])
|
|
||||||
+ltr-property("padding", 2.5em)
|
|
||||||
&[multiple]
|
|
||||||
height: auto
|
|
||||||
padding: 0
|
|
||||||
option
|
|
||||||
padding: 0.5em 1em
|
|
||||||
// States
|
|
||||||
&:not(.is-multiple):not(.is-loading):hover
|
|
||||||
&::after
|
|
||||||
border-color: $input-hover-color
|
|
||||||
// Colors
|
|
||||||
@each $name, $pair in $select-colors
|
|
||||||
$color: nth($pair, 1)
|
|
||||||
&.is-#{$name}
|
|
||||||
&:not(:hover)::after
|
|
||||||
border-color: $color
|
|
||||||
select
|
|
||||||
border-color: $color
|
|
||||||
&:hover,
|
|
||||||
&.is-hovered
|
|
||||||
border-color: bulmaDarken($color, 5%)
|
|
||||||
&:focus,
|
|
||||||
&.is-focused,
|
|
||||||
&:active,
|
|
||||||
&.is-active
|
|
||||||
box-shadow: $input-focus-box-shadow-size bulmaRgba($color, 0.25)
|
|
||||||
// Sizes
|
|
||||||
&.is-small
|
|
||||||
+control-small
|
|
||||||
&.is-medium
|
|
||||||
+control-medium
|
|
||||||
&.is-large
|
|
||||||
+control-large
|
|
||||||
// Modifiers
|
|
||||||
&.is-disabled
|
|
||||||
&::after
|
|
||||||
border-color: $input-disabled-color !important
|
|
||||||
opacity: 0.5
|
|
||||||
&.is-fullwidth
|
|
||||||
width: 100%
|
|
||||||
select
|
|
||||||
width: 100%
|
|
||||||
&.is-loading
|
|
||||||
&::after
|
|
||||||
@extend %loader
|
|
||||||
margin-top: 0
|
|
||||||
position: absolute
|
|
||||||
+ltr-position(0.625em)
|
|
||||||
top: 0.625em
|
|
||||||
transform: none
|
|
||||||
&.is-small:after
|
|
||||||
font-size: $size-small
|
|
||||||
&.is-medium:after
|
|
||||||
font-size: $size-medium
|
|
||||||
&.is-large:after
|
|
||||||
font-size: $size-large
|
|
|
@ -1,60 +0,0 @@
|
||||||
@import "../utilities/controls"
|
|
||||||
@import "../utilities/mixins"
|
|
||||||
|
|
||||||
$form-colors: $colors !default
|
|
||||||
|
|
||||||
$input-color: $text-strong !default
|
|
||||||
$input-background-color: $scheme-main !default
|
|
||||||
$input-border-color: $border !default
|
|
||||||
$input-height: $control-height !default
|
|
||||||
$input-shadow: inset 0 0.0625em 0.125em rgba($scheme-invert, 0.05) !default
|
|
||||||
$input-placeholder-color: bulmaRgba($input-color, 0.3) !default
|
|
||||||
|
|
||||||
$input-hover-color: $text-strong !default
|
|
||||||
$input-hover-border-color: $border-hover !default
|
|
||||||
|
|
||||||
$input-focus-color: $text-strong !default
|
|
||||||
$input-focus-border-color: $link !default
|
|
||||||
$input-focus-box-shadow-size: 0 0 0 0.125em !default
|
|
||||||
$input-focus-box-shadow-color: bulmaRgba($link, 0.25) !default
|
|
||||||
|
|
||||||
$input-disabled-color: $text-light !default
|
|
||||||
$input-disabled-background-color: $background !default
|
|
||||||
$input-disabled-border-color: $background !default
|
|
||||||
$input-disabled-placeholder-color: bulmaRgba($input-disabled-color, 0.3) !default
|
|
||||||
|
|
||||||
$input-arrow: $link !default
|
|
||||||
|
|
||||||
$input-icon-color: $border !default
|
|
||||||
$input-icon-active-color: $text !default
|
|
||||||
|
|
||||||
$input-radius: $radius !default
|
|
||||||
|
|
||||||
=input
|
|
||||||
@extend %control
|
|
||||||
background-color: $input-background-color
|
|
||||||
border-color: $input-border-color
|
|
||||||
border-radius: $input-radius
|
|
||||||
color: $input-color
|
|
||||||
+placeholder
|
|
||||||
color: $input-placeholder-color
|
|
||||||
&:hover,
|
|
||||||
&.is-hovered
|
|
||||||
border-color: $input-hover-border-color
|
|
||||||
&:focus,
|
|
||||||
&.is-focused,
|
|
||||||
&:active,
|
|
||||||
&.is-active
|
|
||||||
border-color: $input-focus-border-color
|
|
||||||
box-shadow: $input-focus-box-shadow-size $input-focus-box-shadow-color
|
|
||||||
&[disabled],
|
|
||||||
fieldset[disabled] &
|
|
||||||
background-color: $input-disabled-background-color
|
|
||||||
border-color: $input-disabled-border-color
|
|
||||||
box-shadow: none
|
|
||||||
color: $input-disabled-color
|
|
||||||
+placeholder
|
|
||||||
color: $input-disabled-placeholder-color
|
|
||||||
|
|
||||||
%input
|
|
||||||
+input
|
|
|
@ -1,215 +0,0 @@
|
||||||
$label-color: $text-strong !default
|
|
||||||
$label-weight: $weight-bold !default
|
|
||||||
|
|
||||||
$help-size: $size-small !default
|
|
||||||
|
|
||||||
$label-colors: $form-colors !default
|
|
||||||
|
|
||||||
.label
|
|
||||||
color: $label-color
|
|
||||||
display: block
|
|
||||||
font-size: $size-normal
|
|
||||||
font-weight: $label-weight
|
|
||||||
&:not(:last-child)
|
|
||||||
margin-bottom: 0.5em
|
|
||||||
// Sizes
|
|
||||||
&.is-small
|
|
||||||
font-size: $size-small
|
|
||||||
&.is-medium
|
|
||||||
font-size: $size-medium
|
|
||||||
&.is-large
|
|
||||||
font-size: $size-large
|
|
||||||
|
|
||||||
.help
|
|
||||||
display: block
|
|
||||||
font-size: $help-size
|
|
||||||
margin-top: 0.25rem
|
|
||||||
@each $name, $pair in $label-colors
|
|
||||||
$color: nth($pair, 1)
|
|
||||||
&.is-#{$name}
|
|
||||||
color: $color
|
|
||||||
|
|
||||||
// Containers
|
|
||||||
|
|
||||||
.field
|
|
||||||
&:not(:last-child)
|
|
||||||
margin-bottom: 0.75rem
|
|
||||||
// Modifiers
|
|
||||||
&.has-addons
|
|
||||||
display: flex
|
|
||||||
justify-content: flex-start
|
|
||||||
.control
|
|
||||||
&:not(:last-child)
|
|
||||||
+ltr-property("margin", -1px)
|
|
||||||
&:not(:first-child):not(:last-child)
|
|
||||||
.button,
|
|
||||||
.input,
|
|
||||||
.select select
|
|
||||||
border-radius: 0
|
|
||||||
&:first-child:not(:only-child)
|
|
||||||
.button,
|
|
||||||
.input,
|
|
||||||
.select select
|
|
||||||
+ltr
|
|
||||||
border-bottom-right-radius: 0
|
|
||||||
border-top-right-radius: 0
|
|
||||||
+rtl
|
|
||||||
border-bottom-left-radius: 0
|
|
||||||
border-top-left-radius: 0
|
|
||||||
&:last-child:not(:only-child)
|
|
||||||
.button,
|
|
||||||
.input,
|
|
||||||
.select select
|
|
||||||
+ltr
|
|
||||||
border-bottom-left-radius: 0
|
|
||||||
border-top-left-radius: 0
|
|
||||||
+rtl
|
|
||||||
border-bottom-right-radius: 0
|
|
||||||
border-top-right-radius: 0
|
|
||||||
.button,
|
|
||||||
.input,
|
|
||||||
.select select
|
|
||||||
&:not([disabled])
|
|
||||||
&:hover,
|
|
||||||
&.is-hovered
|
|
||||||
z-index: 2
|
|
||||||
&:focus,
|
|
||||||
&.is-focused,
|
|
||||||
&:active,
|
|
||||||
&.is-active
|
|
||||||
z-index: 3
|
|
||||||
&:hover
|
|
||||||
z-index: 4
|
|
||||||
&.is-expanded
|
|
||||||
flex-grow: 1
|
|
||||||
flex-shrink: 1
|
|
||||||
&.has-addons-centered
|
|
||||||
justify-content: center
|
|
||||||
&.has-addons-right
|
|
||||||
justify-content: flex-end
|
|
||||||
&.has-addons-fullwidth
|
|
||||||
.control
|
|
||||||
flex-grow: 1
|
|
||||||
flex-shrink: 0
|
|
||||||
&.is-grouped
|
|
||||||
display: flex
|
|
||||||
justify-content: flex-start
|
|
||||||
& > .control
|
|
||||||
flex-shrink: 0
|
|
||||||
&:not(:last-child)
|
|
||||||
margin-bottom: 0
|
|
||||||
+ltr-property("margin", 0.75rem)
|
|
||||||
&.is-expanded
|
|
||||||
flex-grow: 1
|
|
||||||
flex-shrink: 1
|
|
||||||
&.is-grouped-centered
|
|
||||||
justify-content: center
|
|
||||||
&.is-grouped-right
|
|
||||||
justify-content: flex-end
|
|
||||||
&.is-grouped-multiline
|
|
||||||
flex-wrap: wrap
|
|
||||||
& > .control
|
|
||||||
&:last-child,
|
|
||||||
&:not(:last-child)
|
|
||||||
margin-bottom: 0.75rem
|
|
||||||
&:last-child
|
|
||||||
margin-bottom: -0.75rem
|
|
||||||
&:not(:last-child)
|
|
||||||
margin-bottom: 0
|
|
||||||
&.is-horizontal
|
|
||||||
+tablet
|
|
||||||
display: flex
|
|
||||||
|
|
||||||
.field-label
|
|
||||||
.label
|
|
||||||
font-size: inherit
|
|
||||||
+mobile
|
|
||||||
margin-bottom: 0.5rem
|
|
||||||
+tablet
|
|
||||||
flex-basis: 0
|
|
||||||
flex-grow: 1
|
|
||||||
flex-shrink: 0
|
|
||||||
+ltr-property("margin", 1.5rem)
|
|
||||||
text-align: right
|
|
||||||
&.is-small
|
|
||||||
font-size: $size-small
|
|
||||||
padding-top: 0.375em
|
|
||||||
&.is-normal
|
|
||||||
padding-top: 0.375em
|
|
||||||
&.is-medium
|
|
||||||
font-size: $size-medium
|
|
||||||
padding-top: 0.375em
|
|
||||||
&.is-large
|
|
||||||
font-size: $size-large
|
|
||||||
padding-top: 0.375em
|
|
||||||
|
|
||||||
.field-body
|
|
||||||
.field .field
|
|
||||||
margin-bottom: 0
|
|
||||||
+tablet
|
|
||||||
display: flex
|
|
||||||
flex-basis: 0
|
|
||||||
flex-grow: 5
|
|
||||||
flex-shrink: 1
|
|
||||||
.field
|
|
||||||
margin-bottom: 0
|
|
||||||
& > .field
|
|
||||||
flex-shrink: 1
|
|
||||||
&:not(.is-narrow)
|
|
||||||
flex-grow: 1
|
|
||||||
&:not(:last-child)
|
|
||||||
+ltr-property("margin", 0.75rem)
|
|
||||||
|
|
||||||
.control
|
|
||||||
box-sizing: border-box
|
|
||||||
clear: both
|
|
||||||
font-size: $size-normal
|
|
||||||
position: relative
|
|
||||||
text-align: inherit
|
|
||||||
// Modifiers
|
|
||||||
&.has-icons-left,
|
|
||||||
&.has-icons-right
|
|
||||||
.input,
|
|
||||||
.select
|
|
||||||
&:focus
|
|
||||||
& ~ .icon
|
|
||||||
color: $input-icon-active-color
|
|
||||||
&.is-small ~ .icon
|
|
||||||
font-size: $size-small
|
|
||||||
&.is-medium ~ .icon
|
|
||||||
font-size: $size-medium
|
|
||||||
&.is-large ~ .icon
|
|
||||||
font-size: $size-large
|
|
||||||
.icon
|
|
||||||
color: $input-icon-color
|
|
||||||
height: $input-height
|
|
||||||
pointer-events: none
|
|
||||||
position: absolute
|
|
||||||
top: 0
|
|
||||||
width: $input-height
|
|
||||||
z-index: 4
|
|
||||||
&.has-icons-left
|
|
||||||
.input,
|
|
||||||
.select select
|
|
||||||
padding-left: $input-height
|
|
||||||
.icon.is-left
|
|
||||||
left: 0
|
|
||||||
&.has-icons-right
|
|
||||||
.input,
|
|
||||||
.select select
|
|
||||||
padding-right: $input-height
|
|
||||||
.icon.is-right
|
|
||||||
right: 0
|
|
||||||
&.is-loading
|
|
||||||
&::after
|
|
||||||
@extend %loader
|
|
||||||
position: absolute !important
|
|
||||||
+ltr-position(0.625em)
|
|
||||||
top: 0.625em
|
|
||||||
z-index: 4
|
|
||||||
&.is-small:after
|
|
||||||
font-size: $size-small
|
|
||||||
&.is-medium:after
|
|
||||||
font-size: $size-medium
|
|
||||||
&.is-large:after
|
|
||||||
font-size: $size-large
|
|
|
@ -1,5 +0,0 @@
|
||||||
/* Bulma Grid */
|
|
||||||
@charset "utf-8"
|
|
||||||
|
|
||||||
@import "columns"
|
|
||||||
@import "tiles"
|
|
|
@ -1,513 +0,0 @@
|
||||||
@import "../utilities/mixins"
|
|
||||||
|
|
||||||
$column-gap: 0.75rem !default
|
|
||||||
|
|
||||||
.column
|
|
||||||
display: block
|
|
||||||
flex-basis: 0
|
|
||||||
flex-grow: 1
|
|
||||||
flex-shrink: 1
|
|
||||||
padding: $column-gap
|
|
||||||
.columns.is-mobile > &.is-narrow
|
|
||||||
flex: none
|
|
||||||
width: unset
|
|
||||||
.columns.is-mobile > &.is-full
|
|
||||||
flex: none
|
|
||||||
width: 100%
|
|
||||||
.columns.is-mobile > &.is-three-quarters
|
|
||||||
flex: none
|
|
||||||
width: 75%
|
|
||||||
.columns.is-mobile > &.is-two-thirds
|
|
||||||
flex: none
|
|
||||||
width: 66.6666%
|
|
||||||
.columns.is-mobile > &.is-half
|
|
||||||
flex: none
|
|
||||||
width: 50%
|
|
||||||
.columns.is-mobile > &.is-one-third
|
|
||||||
flex: none
|
|
||||||
width: 33.3333%
|
|
||||||
.columns.is-mobile > &.is-one-quarter
|
|
||||||
flex: none
|
|
||||||
width: 25%
|
|
||||||
.columns.is-mobile > &.is-one-fifth
|
|
||||||
flex: none
|
|
||||||
width: 20%
|
|
||||||
.columns.is-mobile > &.is-two-fifths
|
|
||||||
flex: none
|
|
||||||
width: 40%
|
|
||||||
.columns.is-mobile > &.is-three-fifths
|
|
||||||
flex: none
|
|
||||||
width: 60%
|
|
||||||
.columns.is-mobile > &.is-four-fifths
|
|
||||||
flex: none
|
|
||||||
width: 80%
|
|
||||||
.columns.is-mobile > &.is-offset-three-quarters
|
|
||||||
+ltr-property("margin", 75%, false)
|
|
||||||
.columns.is-mobile > &.is-offset-two-thirds
|
|
||||||
+ltr-property("margin", 66.6666%, false)
|
|
||||||
.columns.is-mobile > &.is-offset-half
|
|
||||||
+ltr-property("margin", 50%, false)
|
|
||||||
.columns.is-mobile > &.is-offset-one-third
|
|
||||||
+ltr-property("margin", 33.3333%, false)
|
|
||||||
.columns.is-mobile > &.is-offset-one-quarter
|
|
||||||
+ltr-property("margin", 25%, false)
|
|
||||||
.columns.is-mobile > &.is-offset-one-fifth
|
|
||||||
+ltr-property("margin", 20%, false)
|
|
||||||
.columns.is-mobile > &.is-offset-two-fifths
|
|
||||||
+ltr-property("margin", 40%, false)
|
|
||||||
.columns.is-mobile > &.is-offset-three-fifths
|
|
||||||
+ltr-property("margin", 60%, false)
|
|
||||||
.columns.is-mobile > &.is-offset-four-fifths
|
|
||||||
+ltr-property("margin", 80%, false)
|
|
||||||
@for $i from 0 through 12
|
|
||||||
.columns.is-mobile > &.is-#{$i}
|
|
||||||
flex: none
|
|
||||||
width: percentage(divide($i, 12))
|
|
||||||
.columns.is-mobile > &.is-offset-#{$i}
|
|
||||||
+ltr-property("margin", percentage(divide($i, 12)), false)
|
|
||||||
+mobile
|
|
||||||
&.is-narrow-mobile
|
|
||||||
flex: none
|
|
||||||
width: unset
|
|
||||||
&.is-full-mobile
|
|
||||||
flex: none
|
|
||||||
width: 100%
|
|
||||||
&.is-three-quarters-mobile
|
|
||||||
flex: none
|
|
||||||
width: 75%
|
|
||||||
&.is-two-thirds-mobile
|
|
||||||
flex: none
|
|
||||||
width: 66.6666%
|
|
||||||
&.is-half-mobile
|
|
||||||
flex: none
|
|
||||||
width: 50%
|
|
||||||
&.is-one-third-mobile
|
|
||||||
flex: none
|
|
||||||
width: 33.3333%
|
|
||||||
&.is-one-quarter-mobile
|
|
||||||
flex: none
|
|
||||||
width: 25%
|
|
||||||
&.is-one-fifth-mobile
|
|
||||||
flex: none
|
|
||||||
width: 20%
|
|
||||||
&.is-two-fifths-mobile
|
|
||||||
flex: none
|
|
||||||
width: 40%
|
|
||||||
&.is-three-fifths-mobile
|
|
||||||
flex: none
|
|
||||||
width: 60%
|
|
||||||
&.is-four-fifths-mobile
|
|
||||||
flex: none
|
|
||||||
width: 80%
|
|
||||||
&.is-offset-three-quarters-mobile
|
|
||||||
+ltr-property("margin", 75%, false)
|
|
||||||
&.is-offset-two-thirds-mobile
|
|
||||||
+ltr-property("margin", 66.6666%, false)
|
|
||||||
&.is-offset-half-mobile
|
|
||||||
+ltr-property("margin", 50%, false)
|
|
||||||
&.is-offset-one-third-mobile
|
|
||||||
+ltr-property("margin", 33.3333%, false)
|
|
||||||
&.is-offset-one-quarter-mobile
|
|
||||||
+ltr-property("margin", 25%, false)
|
|
||||||
&.is-offset-one-fifth-mobile
|
|
||||||
+ltr-property("margin", 20%, false)
|
|
||||||
&.is-offset-two-fifths-mobile
|
|
||||||
+ltr-property("margin", 40%, false)
|
|
||||||
&.is-offset-three-fifths-mobile
|
|
||||||
+ltr-property("margin", 60%, false)
|
|
||||||
&.is-offset-four-fifths-mobile
|
|
||||||
+ltr-property("margin", 80%, false)
|
|
||||||
@for $i from 0 through 12
|
|
||||||
&.is-#{$i}-mobile
|
|
||||||
flex: none
|
|
||||||
width: percentage(divide($i, 12))
|
|
||||||
&.is-offset-#{$i}-mobile
|
|
||||||
+ltr-property("margin", percentage(divide($i, 12)), false)
|
|
||||||
+tablet
|
|
||||||
&.is-narrow,
|
|
||||||
&.is-narrow-tablet
|
|
||||||
flex: none
|
|
||||||
width: unset
|
|
||||||
&.is-full,
|
|
||||||
&.is-full-tablet
|
|
||||||
flex: none
|
|
||||||
width: 100%
|
|
||||||
&.is-three-quarters,
|
|
||||||
&.is-three-quarters-tablet
|
|
||||||
flex: none
|
|
||||||
width: 75%
|
|
||||||
&.is-two-thirds,
|
|
||||||
&.is-two-thirds-tablet
|
|
||||||
flex: none
|
|
||||||
width: 66.6666%
|
|
||||||
&.is-half,
|
|
||||||
&.is-half-tablet
|
|
||||||
flex: none
|
|
||||||
width: 50%
|
|
||||||
&.is-one-third,
|
|
||||||
&.is-one-third-tablet
|
|
||||||
flex: none
|
|
||||||
width: 33.3333%
|
|
||||||
&.is-one-quarter,
|
|
||||||
&.is-one-quarter-tablet
|
|
||||||
flex: none
|
|
||||||
width: 25%
|
|
||||||
&.is-one-fifth,
|
|
||||||
&.is-one-fifth-tablet
|
|
||||||
flex: none
|
|
||||||
width: 20%
|
|
||||||
&.is-two-fifths,
|
|
||||||
&.is-two-fifths-tablet
|
|
||||||
flex: none
|
|
||||||
width: 40%
|
|
||||||
&.is-three-fifths,
|
|
||||||
&.is-three-fifths-tablet
|
|
||||||
flex: none
|
|
||||||
width: 60%
|
|
||||||
&.is-four-fifths,
|
|
||||||
&.is-four-fifths-tablet
|
|
||||||
flex: none
|
|
||||||
width: 80%
|
|
||||||
&.is-offset-three-quarters,
|
|
||||||
&.is-offset-three-quarters-tablet
|
|
||||||
+ltr-property("margin", 75%, false)
|
|
||||||
&.is-offset-two-thirds,
|
|
||||||
&.is-offset-two-thirds-tablet
|
|
||||||
+ltr-property("margin", 66.6666%, false)
|
|
||||||
&.is-offset-half,
|
|
||||||
&.is-offset-half-tablet
|
|
||||||
+ltr-property("margin", 50%, false)
|
|
||||||
&.is-offset-one-third,
|
|
||||||
&.is-offset-one-third-tablet
|
|
||||||
+ltr-property("margin", 33.3333%, false)
|
|
||||||
&.is-offset-one-quarter,
|
|
||||||
&.is-offset-one-quarter-tablet
|
|
||||||
+ltr-property("margin", 25%, false)
|
|
||||||
&.is-offset-one-fifth,
|
|
||||||
&.is-offset-one-fifth-tablet
|
|
||||||
+ltr-property("margin", 20%, false)
|
|
||||||
&.is-offset-two-fifths,
|
|
||||||
&.is-offset-two-fifths-tablet
|
|
||||||
+ltr-property("margin", 40%, false)
|
|
||||||
&.is-offset-three-fifths,
|
|
||||||
&.is-offset-three-fifths-tablet
|
|
||||||
+ltr-property("margin", 60%, false)
|
|
||||||
&.is-offset-four-fifths,
|
|
||||||
&.is-offset-four-fifths-tablet
|
|
||||||
+ltr-property("margin", 80%, false)
|
|
||||||
@for $i from 0 through 12
|
|
||||||
&.is-#{$i},
|
|
||||||
&.is-#{$i}-tablet
|
|
||||||
flex: none
|
|
||||||
width: percentage(divide($i, 12))
|
|
||||||
&.is-offset-#{$i},
|
|
||||||
&.is-offset-#{$i}-tablet
|
|
||||||
+ltr-property("margin", percentage(divide($i, 12)), false)
|
|
||||||
+touch
|
|
||||||
&.is-narrow-touch
|
|
||||||
flex: none
|
|
||||||
width: unset
|
|
||||||
&.is-full-touch
|
|
||||||
flex: none
|
|
||||||
width: 100%
|
|
||||||
&.is-three-quarters-touch
|
|
||||||
flex: none
|
|
||||||
width: 75%
|
|
||||||
&.is-two-thirds-touch
|
|
||||||
flex: none
|
|
||||||
width: 66.6666%
|
|
||||||
&.is-half-touch
|
|
||||||
flex: none
|
|
||||||
width: 50%
|
|
||||||
&.is-one-third-touch
|
|
||||||
flex: none
|
|
||||||
width: 33.3333%
|
|
||||||
&.is-one-quarter-touch
|
|
||||||
flex: none
|
|
||||||
width: 25%
|
|
||||||
&.is-one-fifth-touch
|
|
||||||
flex: none
|
|
||||||
width: 20%
|
|
||||||
&.is-two-fifths-touch
|
|
||||||
flex: none
|
|
||||||
width: 40%
|
|
||||||
&.is-three-fifths-touch
|
|
||||||
flex: none
|
|
||||||
width: 60%
|
|
||||||
&.is-four-fifths-touch
|
|
||||||
flex: none
|
|
||||||
width: 80%
|
|
||||||
&.is-offset-three-quarters-touch
|
|
||||||
+ltr-property("margin", 75%, false)
|
|
||||||
&.is-offset-two-thirds-touch
|
|
||||||
+ltr-property("margin", 66.6666%, false)
|
|
||||||
&.is-offset-half-touch
|
|
||||||
+ltr-property("margin", 50%, false)
|
|
||||||
&.is-offset-one-third-touch
|
|
||||||
+ltr-property("margin", 33.3333%, false)
|
|
||||||
&.is-offset-one-quarter-touch
|
|
||||||
+ltr-property("margin", 25%, false)
|
|
||||||
&.is-offset-one-fifth-touch
|
|
||||||
+ltr-property("margin", 20%, false)
|
|
||||||
&.is-offset-two-fifths-touch
|
|
||||||
+ltr-property("margin", 40%, false)
|
|
||||||
&.is-offset-three-fifths-touch
|
|
||||||
+ltr-property("margin", 60%, false)
|
|
||||||
&.is-offset-four-fifths-touch
|
|
||||||
+ltr-property("margin", 80%, false)
|
|
||||||
@for $i from 0 through 12
|
|
||||||
&.is-#{$i}-touch
|
|
||||||
flex: none
|
|
||||||
width: percentage(divide($i, 12))
|
|
||||||
&.is-offset-#{$i}-touch
|
|
||||||
+ltr-property("margin", percentage(divide($i, 12)), false)
|
|
||||||
+desktop
|
|
||||||
&.is-narrow-desktop
|
|
||||||
flex: none
|
|
||||||
width: unset
|
|
||||||
&.is-full-desktop
|
|
||||||
flex: none
|
|
||||||
width: 100%
|
|
||||||
&.is-three-quarters-desktop
|
|
||||||
flex: none
|
|
||||||
width: 75%
|
|
||||||
&.is-two-thirds-desktop
|
|
||||||
flex: none
|
|
||||||
width: 66.6666%
|
|
||||||
&.is-half-desktop
|
|
||||||
flex: none
|
|
||||||
width: 50%
|
|
||||||
&.is-one-third-desktop
|
|
||||||
flex: none
|
|
||||||
width: 33.3333%
|
|
||||||
&.is-one-quarter-desktop
|
|
||||||
flex: none
|
|
||||||
width: 25%
|
|
||||||
&.is-one-fifth-desktop
|
|
||||||
flex: none
|
|
||||||
width: 20%
|
|
||||||
&.is-two-fifths-desktop
|
|
||||||
flex: none
|
|
||||||
width: 40%
|
|
||||||
&.is-three-fifths-desktop
|
|
||||||
flex: none
|
|
||||||
width: 60%
|
|
||||||
&.is-four-fifths-desktop
|
|
||||||
flex: none
|
|
||||||
width: 80%
|
|
||||||
&.is-offset-three-quarters-desktop
|
|
||||||
+ltr-property("margin", 75%, false)
|
|
||||||
&.is-offset-two-thirds-desktop
|
|
||||||
+ltr-property("margin", 66.6666%, false)
|
|
||||||
&.is-offset-half-desktop
|
|
||||||
+ltr-property("margin", 50%, false)
|
|
||||||
&.is-offset-one-third-desktop
|
|
||||||
+ltr-property("margin", 33.3333%, false)
|
|
||||||
&.is-offset-one-quarter-desktop
|
|
||||||
+ltr-property("margin", 25%, false)
|
|
||||||
&.is-offset-one-fifth-desktop
|
|
||||||
+ltr-property("margin", 20%, false)
|
|
||||||
&.is-offset-two-fifths-desktop
|
|
||||||
+ltr-property("margin", 40%, false)
|
|
||||||
&.is-offset-three-fifths-desktop
|
|
||||||
+ltr-property("margin", 60%, false)
|
|
||||||
&.is-offset-four-fifths-desktop
|
|
||||||
+ltr-property("margin", 80%, false)
|
|
||||||
@for $i from 0 through 12
|
|
||||||
&.is-#{$i}-desktop
|
|
||||||
flex: none
|
|
||||||
width: percentage(divide($i, 12))
|
|
||||||
&.is-offset-#{$i}-desktop
|
|
||||||
+ltr-property("margin", percentage(divide($i, 12)), false)
|
|
||||||
+widescreen
|
|
||||||
&.is-narrow-widescreen
|
|
||||||
flex: none
|
|
||||||
width: unset
|
|
||||||
&.is-full-widescreen
|
|
||||||
flex: none
|
|
||||||
width: 100%
|
|
||||||
&.is-three-quarters-widescreen
|
|
||||||
flex: none
|
|
||||||
width: 75%
|
|
||||||
&.is-two-thirds-widescreen
|
|
||||||
flex: none
|
|
||||||
width: 66.6666%
|
|
||||||
&.is-half-widescreen
|
|
||||||
flex: none
|
|
||||||
width: 50%
|
|
||||||
&.is-one-third-widescreen
|
|
||||||
flex: none
|
|
||||||
width: 33.3333%
|
|
||||||
&.is-one-quarter-widescreen
|
|
||||||
flex: none
|
|
||||||
width: 25%
|
|
||||||
&.is-one-fifth-widescreen
|
|
||||||
flex: none
|
|
||||||
width: 20%
|
|
||||||
&.is-two-fifths-widescreen
|
|
||||||
flex: none
|
|
||||||
width: 40%
|
|
||||||
&.is-three-fifths-widescreen
|
|
||||||
flex: none
|
|
||||||
width: 60%
|
|
||||||
&.is-four-fifths-widescreen
|
|
||||||
flex: none
|
|
||||||
width: 80%
|
|
||||||
&.is-offset-three-quarters-widescreen
|
|
||||||
+ltr-property("margin", 75%, false)
|
|
||||||
&.is-offset-two-thirds-widescreen
|
|
||||||
+ltr-property("margin", 66.6666%, false)
|
|
||||||
&.is-offset-half-widescreen
|
|
||||||
+ltr-property("margin", 50%, false)
|
|
||||||
&.is-offset-one-third-widescreen
|
|
||||||
+ltr-property("margin", 33.3333%, false)
|
|
||||||
&.is-offset-one-quarter-widescreen
|
|
||||||
+ltr-property("margin", 25%, false)
|
|
||||||
&.is-offset-one-fifth-widescreen
|
|
||||||
+ltr-property("margin", 20%, false)
|
|
||||||
&.is-offset-two-fifths-widescreen
|
|
||||||
+ltr-property("margin", 40%, false)
|
|
||||||
&.is-offset-three-fifths-widescreen
|
|
||||||
+ltr-property("margin", 60%, false)
|
|
||||||
&.is-offset-four-fifths-widescreen
|
|
||||||
+ltr-property("margin", 80%, false)
|
|
||||||
@for $i from 0 through 12
|
|
||||||
&.is-#{$i}-widescreen
|
|
||||||
flex: none
|
|
||||||
width: percentage(divide($i, 12))
|
|
||||||
&.is-offset-#{$i}-widescreen
|
|
||||||
+ltr-property("margin", percentage(divide($i, 12)), false)
|
|
||||||
+fullhd
|
|
||||||
&.is-narrow-fullhd
|
|
||||||
flex: none
|
|
||||||
width: unset
|
|
||||||
&.is-full-fullhd
|
|
||||||
flex: none
|
|
||||||
width: 100%
|
|
||||||
&.is-three-quarters-fullhd
|
|
||||||
flex: none
|
|
||||||
width: 75%
|
|
||||||
&.is-two-thirds-fullhd
|
|
||||||
flex: none
|
|
||||||
width: 66.6666%
|
|
||||||
&.is-half-fullhd
|
|
||||||
flex: none
|
|
||||||
width: 50%
|
|
||||||
&.is-one-third-fullhd
|
|
||||||
flex: none
|
|
||||||
width: 33.3333%
|
|
||||||
&.is-one-quarter-fullhd
|
|
||||||
flex: none
|
|
||||||
width: 25%
|
|
||||||
&.is-one-fifth-fullhd
|
|
||||||
flex: none
|
|
||||||
width: 20%
|
|
||||||
&.is-two-fifths-fullhd
|
|
||||||
flex: none
|
|
||||||
width: 40%
|
|
||||||
&.is-three-fifths-fullhd
|
|
||||||
flex: none
|
|
||||||
width: 60%
|
|
||||||
&.is-four-fifths-fullhd
|
|
||||||
flex: none
|
|
||||||
width: 80%
|
|
||||||
&.is-offset-three-quarters-fullhd
|
|
||||||
+ltr-property("margin", 75%, false)
|
|
||||||
&.is-offset-two-thirds-fullhd
|
|
||||||
+ltr-property("margin", 66.6666%, false)
|
|
||||||
&.is-offset-half-fullhd
|
|
||||||
+ltr-property("margin", 50%, false)
|
|
||||||
&.is-offset-one-third-fullhd
|
|
||||||
+ltr-property("margin", 33.3333%, false)
|
|
||||||
&.is-offset-one-quarter-fullhd
|
|
||||||
+ltr-property("margin", 25%, false)
|
|
||||||
&.is-offset-one-fifth-fullhd
|
|
||||||
+ltr-property("margin", 20%, false)
|
|
||||||
&.is-offset-two-fifths-fullhd
|
|
||||||
+ltr-property("margin", 40%, false)
|
|
||||||
&.is-offset-three-fifths-fullhd
|
|
||||||
+ltr-property("margin", 60%, false)
|
|
||||||
&.is-offset-four-fifths-fullhd
|
|
||||||
+ltr-property("margin", 80%, false)
|
|
||||||
@for $i from 0 through 12
|
|
||||||
&.is-#{$i}-fullhd
|
|
||||||
flex: none
|
|
||||||
width: percentage(divide($i, 12))
|
|
||||||
&.is-offset-#{$i}-fullhd
|
|
||||||
+ltr-property("margin", percentage(divide($i, 12)), false)
|
|
||||||
|
|
||||||
.columns
|
|
||||||
+ltr-property("margin", (-$column-gap), false)
|
|
||||||
+ltr-property("margin", (-$column-gap))
|
|
||||||
margin-top: (-$column-gap)
|
|
||||||
&:last-child
|
|
||||||
margin-bottom: (-$column-gap)
|
|
||||||
&:not(:last-child)
|
|
||||||
margin-bottom: calc(1.5rem - #{$column-gap})
|
|
||||||
// Modifiers
|
|
||||||
&.is-centered
|
|
||||||
justify-content: center
|
|
||||||
&.is-gapless
|
|
||||||
+ltr-property("margin", 0, false)
|
|
||||||
+ltr-property("margin", 0)
|
|
||||||
margin-top: 0
|
|
||||||
& > .column
|
|
||||||
margin: 0
|
|
||||||
padding: 0 !important
|
|
||||||
&:not(:last-child)
|
|
||||||
margin-bottom: 1.5rem
|
|
||||||
&:last-child
|
|
||||||
margin-bottom: 0
|
|
||||||
&.is-mobile
|
|
||||||
display: flex
|
|
||||||
&.is-multiline
|
|
||||||
flex-wrap: wrap
|
|
||||||
&.is-vcentered
|
|
||||||
align-items: center
|
|
||||||
// Responsiveness
|
|
||||||
+tablet
|
|
||||||
&:not(.is-desktop)
|
|
||||||
display: flex
|
|
||||||
+desktop
|
|
||||||
// Modifiers
|
|
||||||
&.is-desktop
|
|
||||||
display: flex
|
|
||||||
|
|
||||||
@if $variable-columns
|
|
||||||
.columns.is-variable
|
|
||||||
--columnGap: 0.75rem
|
|
||||||
+ltr-property("margin", calc(-1 * var(--columnGap)), false)
|
|
||||||
+ltr-property("margin", calc(-1 * var(--columnGap)))
|
|
||||||
> .column
|
|
||||||
padding-left: var(--columnGap)
|
|
||||||
padding-right: var(--columnGap)
|
|
||||||
@for $i from 0 through 8
|
|
||||||
&.is-#{$i}
|
|
||||||
--columnGap: #{$i * 0.25rem}
|
|
||||||
+mobile
|
|
||||||
&.is-#{$i}-mobile
|
|
||||||
--columnGap: #{$i * 0.25rem}
|
|
||||||
+tablet
|
|
||||||
&.is-#{$i}-tablet
|
|
||||||
--columnGap: #{$i * 0.25rem}
|
|
||||||
+tablet-only
|
|
||||||
&.is-#{$i}-tablet-only
|
|
||||||
--columnGap: #{$i * 0.25rem}
|
|
||||||
+touch
|
|
||||||
&.is-#{$i}-touch
|
|
||||||
--columnGap: #{$i * 0.25rem}
|
|
||||||
+desktop
|
|
||||||
&.is-#{$i}-desktop
|
|
||||||
--columnGap: #{$i * 0.25rem}
|
|
||||||
+desktop-only
|
|
||||||
&.is-#{$i}-desktop-only
|
|
||||||
--columnGap: #{$i * 0.25rem}
|
|
||||||
+widescreen
|
|
||||||
&.is-#{$i}-widescreen
|
|
||||||
--columnGap: #{$i * 0.25rem}
|
|
||||||
+widescreen-only
|
|
||||||
&.is-#{$i}-widescreen-only
|
|
||||||
--columnGap: #{$i * 0.25rem}
|
|
||||||
+fullhd
|
|
||||||
&.is-#{$i}-fullhd
|
|
||||||
--columnGap: #{$i * 0.25rem}
|
|
|
@ -1,36 +0,0 @@
|
||||||
@import "../utilities/mixins"
|
|
||||||
|
|
||||||
$tile-spacing: 0.75rem !default
|
|
||||||
|
|
||||||
.tile
|
|
||||||
align-items: stretch
|
|
||||||
display: block
|
|
||||||
flex-basis: 0
|
|
||||||
flex-grow: 1
|
|
||||||
flex-shrink: 1
|
|
||||||
min-height: min-content
|
|
||||||
// Modifiers
|
|
||||||
&.is-ancestor
|
|
||||||
margin-left: $tile-spacing * -1
|
|
||||||
margin-right: $tile-spacing * -1
|
|
||||||
margin-top: $tile-spacing * -1
|
|
||||||
&:last-child
|
|
||||||
margin-bottom: $tile-spacing * -1
|
|
||||||
&:not(:last-child)
|
|
||||||
margin-bottom: $tile-spacing
|
|
||||||
&.is-child
|
|
||||||
margin: 0 !important
|
|
||||||
&.is-parent
|
|
||||||
padding: $tile-spacing
|
|
||||||
&.is-vertical
|
|
||||||
flex-direction: column
|
|
||||||
& > .tile.is-child:not(:last-child)
|
|
||||||
margin-bottom: 1.5rem !important
|
|
||||||
// Responsiveness
|
|
||||||
+tablet
|
|
||||||
&:not(.is-child)
|
|
||||||
display: flex
|
|
||||||
@for $i from 1 through 12
|
|
||||||
&.is-#{$i}
|
|
||||||
flex: none
|
|
||||||
width: (divide($i, 12)) * 100%
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue