mirror of
https://code.castopod.org/adaures/castopod
synced 2025-05-11 00:35:47 +00:00

- add podcast sidebar navigation - add podcast dashboard with latest episodes - add pagination to podcast episodes - add components helper to reuse ui components (button, data_table, etc.) - enhance podcast and episode forms by splitting them into form sections - add hint tooltips to podcast and episode forms - transform radio inputs as buttons for better ux - replace explicit field by parental_advisory - replace author field by publisher - add podcasts_categories table to set multiple categories - use choices.js to enhance multiselect fields - update Language files - update js dependencies to latest versions closes #31, #9
181 lines
3.7 KiB
CSS
181 lines
3.7 KiB
CSS
/*===============================
|
|
= MultiSelect =
|
|
===============================*/
|
|
.multiselect {
|
|
@apply relative;
|
|
|
|
&:focus {
|
|
@apply shadow-outline outline-none;
|
|
}
|
|
&:last-child {
|
|
@apply mb-0;
|
|
}
|
|
&.is-disabled {
|
|
&.multiselect__inner,
|
|
&.multiselect__input {
|
|
@apply bg-gray-300 cursor-not-allowed select-none;
|
|
}
|
|
&.multiselect__item {
|
|
@apply cursor-not-allowed;
|
|
}
|
|
}
|
|
|
|
& [hidden] {
|
|
@apply hidden;
|
|
}
|
|
}
|
|
|
|
.multiselect[data-type*="select-multiple"],
|
|
.multiselect[data-type*="text"] {
|
|
& .multiselect__inner {
|
|
@apply cursor-text;
|
|
}
|
|
& .multiselect__button {
|
|
@apply relative inline-block w-2 pl-4 mt-0 mb-0 ml-1 opacity-75;
|
|
background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==);
|
|
background-size: 8px;
|
|
|
|
&:hover,
|
|
&:focus {
|
|
@apply opacity-100;
|
|
}
|
|
}
|
|
}
|
|
|
|
.multiselect__inner {
|
|
@apply inline-block w-full px-2 pt-2 pb-1 overflow-hidden align-top bg-white border rounded;
|
|
|
|
&.is-focused,
|
|
&.is-open {
|
|
@apply shadow-outline;
|
|
}
|
|
&.is-open {
|
|
@apply rounded-b-none;
|
|
}
|
|
&.is-flipped.is-open {
|
|
@apply rounded-t-none;
|
|
}
|
|
}
|
|
|
|
.multiselect__list {
|
|
@apply p-0 m-0 list-none;
|
|
}
|
|
|
|
.multiselect__list--multiple {
|
|
@apply inline;
|
|
|
|
& .multiselect__item {
|
|
@apply inline-flex px-2 py-1 mb-1 mr-2 text-sm text-white break-all bg-green-500 rounded;
|
|
|
|
&[data-deletable] {
|
|
@apply pr-1;
|
|
}
|
|
& [dir="rtl"] {
|
|
@apply ml-2 mr-0;
|
|
}
|
|
&.is-highlighted {
|
|
@apply bg-green-700;
|
|
}
|
|
&.is-disabled {
|
|
@apply bg-gray-500;
|
|
}
|
|
}
|
|
}
|
|
|
|
.multiselect__list--dropdown {
|
|
@apply absolute z-10 invisible w-full overflow-hidden break-all bg-white border border-t-0 rounded-b shadow-lg;
|
|
top: 100%;
|
|
will-change: visibility;
|
|
|
|
&.is-active {
|
|
@apply visible;
|
|
}
|
|
&.is-open {
|
|
@apply shadow-outline;
|
|
}
|
|
&.is-flipped {
|
|
@apply top-auto mt-0 rounded-t;
|
|
bottom: 100%;
|
|
}
|
|
& .multiselect__list {
|
|
@apply relative overflow-auto;
|
|
max-height: 300px;
|
|
-webkit-overflow-scrolling: touch;
|
|
will-change: scroll-position;
|
|
}
|
|
& .multiselect__item {
|
|
@apply relative p-3;
|
|
|
|
& [dir="rtl"] {
|
|
@apply text-right;
|
|
}
|
|
}
|
|
& .multiselect__item--selectable {
|
|
@screen sm {
|
|
padding-right: 100px;
|
|
&:after {
|
|
@apply absolute text-sm transform -translate-y-1/2 opacity-0;
|
|
content: attr(data-select-text);
|
|
right: 10px;
|
|
top: 50%;
|
|
}
|
|
& [dir="rtl"] {
|
|
@apply text-right;
|
|
padding-left: 100px;
|
|
padding-right: 10px;
|
|
&:after {
|
|
@apply right-auto;
|
|
left: 10px;
|
|
}
|
|
}
|
|
}
|
|
&.is-highlighted {
|
|
@apply bg-gray-100;
|
|
&:after {
|
|
@apply opacity-50;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.multiselect__item {
|
|
@apply cursor-default;
|
|
}
|
|
|
|
.multiselect__item--selectable {
|
|
@apply cursor-pointer;
|
|
}
|
|
|
|
.multiselect__item--disabled {
|
|
@apply opacity-50 cursor-not-allowed select-none;
|
|
}
|
|
|
|
.multiselect__heading {
|
|
@apply p-3 font-semibold text-gray-600 border-b;
|
|
}
|
|
|
|
.multiselect__button {
|
|
@apply bg-transparent bg-center bg-no-repeat border-0 appearance-none cursor-pointer;
|
|
text-indent: -9999px;
|
|
|
|
&:focus {
|
|
@apply outline-none;
|
|
}
|
|
}
|
|
|
|
.multiselect__input {
|
|
@apply inline-block max-w-full py-1 pl-1 mb-1 align-baseline bg-transparent border-0 rounded-none;
|
|
&:focus {
|
|
@apply outline-none;
|
|
}
|
|
& [dir="rtl"] {
|
|
@apply pl-0 pr-1;
|
|
}
|
|
}
|
|
|
|
.multiselect__placeholder {
|
|
@apply opacity-50;
|
|
}
|
|
|
|
/*===== End of Choices ======*/
|