UNPKG

@fleetbase/ember-ui

Version:

Fleetbase UI provides all the interface components, helpers, services and utilities for building a Fleetbase extension into the Console.

182 lines (144 loc) 5.16 kB
.kanban-board { @apply w-full flex flex-col bg-gray-50 dark:bg-gray-900; height: 100%; } .kanban-board .kanban-board-header { @apply px-3 py-2 border-b border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800; flex-shrink: 0; } .kanban-board .kanban-board-title { @apply text-lg font-semibold text-gray-900 dark:text-gray-100; } .kanban-board .kanban-board-content { @apply flex-1 overflow-hidden; display: flex; flex-direction: column; } .kanban-board .kanban-columns-container { @apply flex gap-6 p-6 overflow-x-auto pr-70; height: 100%; overflow-y: scroll; min-height: 0; flex: 1; } .kanban-board .kanban-column { @apply flex flex-col bg-gray-100 dark:bg-gray-800 rounded-lg min-w-80 max-w-80 h-full; flex-shrink: 0; align-self: flex-start; height: auto !important; } .kanban-board .kanban-column.drag-over { @apply ring-2 ring-blue-500 ring-opacity-50 bg-blue-50 dark:bg-blue-900 bg-opacity-20; } .kanban-board .kanban-column-header { @apply flex items-center justify-between px-3 py-2 border-b border-gray-200 dark:border-gray-700; } .kanban-board .kanban-column-title { @apply font-semibold text-gray-900 dark:text-gray-100; } .kanban-board .kanban-column-count { @apply px-2 py-1 text-xs bg-gray-200 dark:bg-gray-700 text-gray-600 dark:text-gray-400 rounded-full; } .kanban-board .kanban-column-body { @apply flex-1 p-3 space-y-3 overflow-y-auto; } .kanban-board .kanban-column-empty { @apply flex items-center justify-center h-32; } .kanban-board .kanban-empty-text { @apply text-gray-500 dark:text-gray-400 text-sm text-center; } .kanban-board .kanban-column-footer { @apply px-3 py-2 border-t border-gray-200 dark:border-gray-700; } .kanban-board .kanban-add-card-button { @apply w-full px-3 py-2 text-left text-gray-600 dark:text-gray-400 hover:text-gray-800 dark:hover:text-gray-200 hover:bg-gray-50 dark:hover:bg-gray-700 rounded-lg border-2 border-dashed border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500 focus:outline-none focus:ring-2 focus:ring-blue-500 transition-colors; } .kanban-board .kanban-card { @apply bg-white dark:bg-gray-700 rounded-lg shadow-sm border border-gray-200 dark:border-gray-600 cursor-pointer hover:shadow-md transition-shadow duration-200; } .kanban-board .kanban-card:hover { @apply shadow-md; } .kanban-board .kanban-card:focus { @apply outline-none ring-2 ring-blue-500 ring-offset-2 ring-offset-white dark:ring-offset-gray-900; } .kanban-board .kanban-card img { pointer-events: none; } .kanban-board .kanban-card.dragging { @apply opacity-50 transform rotate-2 shadow-lg; } .kanban-board .kanban-drop-indicator { height: 4px !important; background: #3b82f6 !important; border-radius: 2px !important; margin: 8px 0 !important; opacity: 1 !important; } .kanban-board .kanban-column.drag-over { background-color: rgba(59, 130, 246, 0.1) !important; border: 2px dashed #3b82f6 !important; } .kanban-board .kanban-card-content { @apply space-y-2; } .kanban-board .kanban-card-title { @apply font-medium text-gray-900 dark:text-gray-100; } .kanban-board .kanban-card-description { @apply text-sm text-gray-600 dark:text-gray-400; } .kanban-board .kanban-drop-indicator { @apply h-1 bg-blue-500 rounded-full mx-2 my-1; } @media (max-width: 640px) { .kanban-board .kanban-columns-container { @apply flex-col space-y-4 p-4; } .kanban-board .kanban-column { @apply min-w-full max-w-full; } } .kanban-board .kanban-card:focus, .kanban-board .kanban-add-card-button:focus { @apply outline-none ring-2 ring-blue-500 ring-offset-2 ring-offset-white dark:ring-offset-gray-900; } .kanban-board .sr-only { @apply absolute w-px h-px p-0 -m-px overflow-hidden whitespace-nowrap border-0; clip: rect(0, 0, 0, 0); } @media (prefers-reduced-motion: reduce) { .kanban-board .kanban-card, .kanban-board * { @apply transition-none; animation: none !important; } } /* Style the horizontal scrollbar */ .kanban-board .kanban-columns-container::-webkit-scrollbar { height: 12px; /* Scrollbar height */ } .kanban-board .kanban-columns-container::-webkit-scrollbar-track { background: transparent; margin: 0 12px; /* This creates padding on left/right - equivalent to px-3 */ } .kanban-board .kanban-columns-container::-webkit-scrollbar-thumb { background: #cbd5e1; /* Light gray */ border-radius: 6px; border: 2px solid transparent; /* Creates padding around the thumb */ background-clip: content-box; /* Makes border act as padding */ } .kanban-board .kanban-columns-container::-webkit-scrollbar-thumb:hover { background: #94a3b8; /* Darker on hover */ background-clip: content-box; } /* Dark mode */ body[data-theme="dark"] .kanban-board .kanban-columns-container::-webkit-scrollbar-thumb { background: #4b5563; background-clip: content-box; } body[data-theme="dark"] .kanban-board .kanban-columns-container::-webkit-scrollbar-thumb:hover { background: #6b7280; background-clip: content-box; }