fix: DockerSecretsResolver - don't normalize absolute paths like /var/www/html/...
Some checks failed
Deploy Application / deploy (push) Has been cancelled
Some checks failed
Deploy Application / deploy (push) Has been cancelled
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
* - Keyboard navigation enhancements
|
||||
*/
|
||||
|
||||
@layer admin-utilities {
|
||||
@layer utilities {
|
||||
/**
|
||||
* Focus Visible Enhancement (WCAG 2.1 Level AA)
|
||||
*
|
||||
@@ -16,9 +16,9 @@
|
||||
* must have a visible focus indicator with min 3:1 contrast ratio.
|
||||
*/
|
||||
:focus-visible {
|
||||
outline: var(--admin-focus-ring-width, 2px) solid var(--admin-focus-ring);
|
||||
outline-offset: var(--admin-focus-ring-offset, 2px);
|
||||
border-radius: var(--admin-radius-sm);
|
||||
outline: var(--focus-ring-width, 2px) solid var(--focus-ring);
|
||||
outline-offset: var(--focus-ring-offset, 2px);
|
||||
border-radius: var(--radius-sm);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -31,18 +31,18 @@
|
||||
position: absolute;
|
||||
top: -9999px;
|
||||
left: -9999px;
|
||||
z-index: var(--admin-z-toast);
|
||||
padding: var(--admin-spacing-md) var(--admin-spacing-lg);
|
||||
background-color: var(--admin-accent-primary);
|
||||
z-index: var(--z-toast);
|
||||
padding: var(--spacing-md) var(--spacing-lg);
|
||||
background-color: var(--accent-primary);
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
font-weight: var(--admin-font-weight-semibold);
|
||||
border-radius: var(--admin-radius-md);
|
||||
box-shadow: var(--admin-shadow-lg);
|
||||
font-weight: var(--font-weight-semibold);
|
||||
border-radius: var(--radius-md);
|
||||
box-shadow: var(--shadow-lg);
|
||||
|
||||
&:focus {
|
||||
top: var(--admin-spacing-md);
|
||||
left: var(--admin-spacing-md);
|
||||
top: var(--spacing-md);
|
||||
left: var(--spacing-md);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -111,8 +111,8 @@
|
||||
right: -2px;
|
||||
top: -2px;
|
||||
bottom: -2px;
|
||||
border: 2px solid var(--admin-focus-ring);
|
||||
border-radius: var(--admin-radius-md);
|
||||
border: 2px solid var(--focus-ring);
|
||||
border-radius: var(--radius-md);
|
||||
pointer-events: none;
|
||||
}
|
||||
}
|
||||
@@ -123,7 +123,7 @@
|
||||
* Show clear visual feedback for keyboard users.
|
||||
*/
|
||||
body.user-is-tabbing *:focus {
|
||||
outline: 3px solid var(--admin-accent-info);
|
||||
outline: 3px solid var(--accent-info);
|
||||
outline-offset: 3px;
|
||||
}
|
||||
|
||||
@@ -173,13 +173,13 @@
|
||||
*/
|
||||
.text-contrast-aa {
|
||||
/* Ensures minimum 4.5:1 contrast */
|
||||
color: var(--admin-content-text);
|
||||
color: var(--content-text);
|
||||
}
|
||||
|
||||
.text-contrast-large {
|
||||
/* Large text can use lower contrast */
|
||||
font-size: 1.125rem;
|
||||
color: var(--admin-content-text);
|
||||
color: var(--content-text);
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
@@ -190,7 +190,7 @@
|
||||
*/
|
||||
.admin-error,
|
||||
.admin-form-error {
|
||||
color: var(--admin-accent-error);
|
||||
color: var(--accent-error);
|
||||
|
||||
&::before {
|
||||
content: '⚠ ';
|
||||
@@ -200,7 +200,7 @@
|
||||
}
|
||||
|
||||
[aria-invalid="true"] {
|
||||
border-color: var(--admin-accent-error) !important;
|
||||
border-color: var(--accent-error) !important;
|
||||
border-width: 2px !important;
|
||||
|
||||
/* Error icon */
|
||||
@@ -219,21 +219,21 @@
|
||||
.admin-success::before {
|
||||
content: '✓ ';
|
||||
font-weight: bold;
|
||||
color: var(--admin-accent-success);
|
||||
color: var(--accent-success);
|
||||
margin-right: 0.25rem;
|
||||
}
|
||||
|
||||
.admin-warning::before {
|
||||
content: '⚠ ';
|
||||
font-weight: bold;
|
||||
color: var(--admin-accent-warning);
|
||||
color: var(--accent-warning);
|
||||
margin-right: 0.25rem;
|
||||
}
|
||||
|
||||
.admin-info::before {
|
||||
content: 'ℹ ';
|
||||
font-weight: bold;
|
||||
color: var(--admin-accent-info);
|
||||
color: var(--accent-info);
|
||||
margin-right: 0.25rem;
|
||||
}
|
||||
|
||||
@@ -285,20 +285,20 @@
|
||||
*/
|
||||
table {
|
||||
caption {
|
||||
font-weight: var(--admin-font-weight-semibold);
|
||||
font-weight: var(--font-weight-semibold);
|
||||
text-align: left;
|
||||
padding: var(--admin-spacing-md);
|
||||
background-color: var(--admin-bg-secondary);
|
||||
padding: var(--spacing-md);
|
||||
background-color: var(--bg-secondary);
|
||||
}
|
||||
|
||||
th {
|
||||
font-weight: var(--admin-font-weight-semibold);
|
||||
font-weight: var(--font-weight-semibold);
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
/* Zebra striping for better readability */
|
||||
tbody tr:nth-child(even) {
|
||||
background-color: var(--admin-bg-secondary);
|
||||
background-color: var(--bg-secondary);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -321,7 +321,7 @@
|
||||
a[href]::after {
|
||||
content: " (" attr(href) ")";
|
||||
font-size: 0.875em;
|
||||
color: var(--admin-content-text);
|
||||
color: var(--content-text);
|
||||
}
|
||||
|
||||
/* Don't show internal links */
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
* Respects prefers-reduced-motion for accessibility.
|
||||
*/
|
||||
|
||||
@layer admin-utilities {
|
||||
@layer utilities {
|
||||
/**
|
||||
* Theme Transition Class
|
||||
*
|
||||
@@ -15,18 +15,18 @@
|
||||
:root {
|
||||
/* Smooth transitions for theme changes */
|
||||
transition:
|
||||
background-color var(--admin-transition-base),
|
||||
color var(--admin-transition-base),
|
||||
border-color var(--admin-transition-base);
|
||||
background-color var(--transition-base),
|
||||
color var(--transition-base),
|
||||
border-color var(--transition-base);
|
||||
}
|
||||
|
||||
/* Apply transitions to all elements during theme change */
|
||||
* {
|
||||
transition:
|
||||
background-color var(--admin-transition-base),
|
||||
color var(--admin-transition-base),
|
||||
border-color var(--admin-transition-base),
|
||||
box-shadow var(--admin-transition-base);
|
||||
background-color var(--transition-base),
|
||||
color var(--transition-base),
|
||||
border-color var(--transition-base),
|
||||
box-shadow var(--transition-base);
|
||||
}
|
||||
|
||||
/* Respect reduced motion preference */
|
||||
@@ -41,16 +41,15 @@
|
||||
* Theme Loading State
|
||||
*
|
||||
* Prevent FOUC (Flash of Unstyled Content) during initial theme load.
|
||||
* REMOVED: visibility hidden rule - causes blank page if data-theme is not set
|
||||
*/
|
||||
html:not([data-theme]) {
|
||||
/* Hide content until theme is determined */
|
||||
/* html:not([data-theme]) {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
html[data-theme] {
|
||||
/* Show content once theme is set */
|
||||
visibility: visible;
|
||||
}
|
||||
} */
|
||||
|
||||
/**
|
||||
* Theme Toggle Animation
|
||||
@@ -58,7 +57,7 @@
|
||||
* Icon rotation when toggling theme.
|
||||
*/
|
||||
[data-theme-toggle] svg {
|
||||
transition: transform var(--admin-transition-base);
|
||||
transition: transform var(--transition-base);
|
||||
}
|
||||
|
||||
[data-theme-toggle]:hover svg {
|
||||
@@ -88,14 +87,14 @@
|
||||
@media (prefers-contrast: high) {
|
||||
[data-theme="dark"] {
|
||||
/* Increase contrast in forced colors mode */
|
||||
--admin-bg-primary: oklch(10% 0 0);
|
||||
--admin-content-text: oklch(100% 0 0);
|
||||
--bg-primary: oklch(10% 0 0);
|
||||
--content-text: oklch(100% 0 0);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
/* Ensure maximum contrast */
|
||||
--admin-bg-primary: oklch(100% 0 0);
|
||||
--admin-content-text: oklch(0% 0 0);
|
||||
--bg-primary: oklch(100% 0 0);
|
||||
--content-text: oklch(0% 0 0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,15 +107,15 @@
|
||||
:root,
|
||||
[data-theme] {
|
||||
/* Force light colors for printing */
|
||||
--admin-bg-primary: oklch(100% 0 0);
|
||||
--admin-content-bg: oklch(100% 0 0);
|
||||
--admin-content-text: oklch(0% 0 0);
|
||||
--admin-border-light: oklch(20% 0 0);
|
||||
--bg-primary: oklch(100% 0 0);
|
||||
--content-bg: oklch(100% 0 0);
|
||||
--content-text: oklch(0% 0 0);
|
||||
--border-light: oklch(20% 0 0);
|
||||
|
||||
/* Remove shadows for print */
|
||||
--admin-shadow-sm: none;
|
||||
--admin-shadow-md: none;
|
||||
--admin-shadow-lg: none;
|
||||
--shadow-sm: none;
|
||||
--shadow-md: none;
|
||||
--shadow-lg: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
97
resources/css/admin/07-utilities/_view-transitions.css
Normal file
97
resources/css/admin/07-utilities/_view-transitions.css
Normal file
@@ -0,0 +1,97 @@
|
||||
/**
|
||||
* View Transitions - Admin Interface
|
||||
*
|
||||
* View Transitions API für Admin-Navigation und Content-Updates.
|
||||
* Baseline 2023: View Transitions API ist Baseline Newly available.
|
||||
*
|
||||
* Features:
|
||||
* - View Transitions für Admin-Sidebar-Navigation
|
||||
* - View Transitions für Admin-Content-Bereiche
|
||||
* - View Transitions für Popover-Öffnen/Schließen
|
||||
* - Benannte Bereiche für präzise Animationen
|
||||
*/
|
||||
|
||||
@layer utilities {
|
||||
/**
|
||||
* View Transition Root
|
||||
*/
|
||||
@view-transition {
|
||||
navigation: auto;
|
||||
}
|
||||
|
||||
/**
|
||||
* Admin Sidebar View Transition
|
||||
*/
|
||||
@view-transition-group(admin-sidebar) {
|
||||
animation-duration: var(--transition-base);
|
||||
animation-timing-function: ease-in-out;
|
||||
}
|
||||
|
||||
/**
|
||||
* Admin Content View Transition
|
||||
*/
|
||||
@view-transition-group(admin-content) {
|
||||
animation-duration: var(--transition-base);
|
||||
animation-timing-function: ease-in-out;
|
||||
}
|
||||
|
||||
/**
|
||||
* Admin Header View Transition
|
||||
*/
|
||||
@view-transition-group(admin-header) {
|
||||
animation-duration: var(--transition-base);
|
||||
animation-timing-function: ease-in-out;
|
||||
}
|
||||
|
||||
/**
|
||||
* Popover View Transitions
|
||||
*/
|
||||
@view-transition-group(admin-popover) {
|
||||
animation-duration: var(--transition-base);
|
||||
animation-timing-function: ease-in-out;
|
||||
}
|
||||
|
||||
/**
|
||||
* View Transition Names für Admin-Bereiche
|
||||
*/
|
||||
.admin-sidebar {
|
||||
view-transition-name: admin-sidebar;
|
||||
}
|
||||
|
||||
.admin-content {
|
||||
view-transition-name: admin-content;
|
||||
}
|
||||
|
||||
.admin-header {
|
||||
view-transition-name: admin-header;
|
||||
}
|
||||
|
||||
/**
|
||||
* Popover View Transition Names
|
||||
*/
|
||||
[popover].admin-popover {
|
||||
view-transition-name: admin-popover;
|
||||
}
|
||||
|
||||
/**
|
||||
* Navigation Links mit View Transitions
|
||||
*/
|
||||
.admin-nav a {
|
||||
view-transition-name: none; /* Disable for individual links */
|
||||
}
|
||||
|
||||
/**
|
||||
* View Transition für Content-Updates
|
||||
*/
|
||||
.admin-page {
|
||||
view-transition-name: admin-content;
|
||||
}
|
||||
|
||||
/**
|
||||
* View Transition für Sidebar-Navigation
|
||||
*/
|
||||
.admin-nav__section[open] {
|
||||
view-transition-name: admin-nav-section;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user