@mixin list-interface($deleteable: false) {
	--v-list-padding: 0;

	@if $deleteable {
		.v-list-item.deleted {
			--v-list-item-border-color: var(--danger-25);
			--v-list-item-border-color-hover: var(--danger-50);
			--v-list-item-background-color: var(--danger-10);
			--v-list-item-background-color-hover: var(--danger-25);

			::v-deep(.v-icon) {
				color: var(--danger-75);

				&:hover {
					color: var(--theme--danger);
				}
			}
		}
	}
}

@mixin list-interface-item-actions($item-link: false) {
	display: flex;
	align-items: center;
	gap: 4px;

	::v-deep(.v-icon) {
		--v-icon-color: var(--theme--form--field--input--foreground-subdued);
	}

	@if $item-link {
		.item-link {
			.v-icon {
				transition: color var(--fast) var(--transition);
			}

			&:hover .v-icon {
				color: var(--theme--form--field--input--foreground);
			}

			&.disabled {
				pointer-events: none;
				visibility: hidden;
			}
		}
	}
}

@mixin list-interface-actions($pagination: false) {
	margin-block-start: 12px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;

	@if $pagination {
		.v-pagination {
			margin-inline-start: auto;

			::v-deep(.v-button) {
				display: inline-flex;
			}
		}
	}
}
