upskill-event-manager/assets/css/feedback.css
Ben Reed cdc5ea85f4 feat: Add comprehensive CSS, JavaScript and theme asset infrastructure
Add massive collection of CSS, JavaScript and theme assets that were previously excluded:

**CSS Files (681 total):**
- HVAC plugin-specific styles (hvac-*.css): 34 files including dashboard, certificates, registration, mobile nav, accessibility fixes, animations, and welcome popup
- Theme framework files (Astra, builder systems, layouts): 200+ files
- Plugin compatibility styles (WooCommerce, WPForms, Elementor, Contact Form 7): 150+ files
- WordPress core and editor styles: 50+ files
- Responsive and RTL language support: 200+ files

**JavaScript Files (400+ total):**
- HVAC plugin functionality (hvac-*.js): 27 files including menu systems, dashboard enhancements, profile sharing, mobile responsive features, accessibility, and animations
- Framework and library files: jQuery plugins, GSAP, AOS, Swiper, Chart.js, Lottie, Isotope
- Plugin compatibility scripts: WPForms, WooCommerce, Elementor, Contact Form 7, LifterLMS
- WordPress core functionality: customizer, admin, block editor compatibility
- Third-party integrations: Stripe, SMTP, analytics, search functionality

**Assets:**
- Certificate background images and logos
- Comprehensive theme styling infrastructure
- Mobile-responsive design systems
- Cross-browser compatibility assets
- Performance-optimized minified versions

**Updated .gitignore:**
- Fixed asset directory whitelisting patterns to properly include CSS/JS/images
- Added proper directory structure recognition (!/assets/css/, !/assets/js/, etc.)
- Maintains security by excluding sensitive files while including essential assets

This commit provides the complete frontend infrastructure needed for:
- Full theme functionality and styling
- Plugin feature implementations
- Mobile responsiveness and accessibility
- Cross-browser compatibility
- Performance optimization
- Developer workflow support
2025-08-11 16:20:31 -03:00

321 lines
7.8 KiB
CSS

/* Base CSS to normalize the default. */
.uds-feedback-form--wrapper h2,
.uds-feedback-form--wrapper p,
.uds-feedback-form--wrapper input[type="radio"] {
margin: 0;
padding: 0;
}
.uds-feedback-form--wrapper .show {
display: block;
}
.uds-feedback-form--wrapper .hide {
display: none;
}
.uds-feedback-form--wrapper {
align-items: center;
background-color: rgba( 0, 0, 0, 0.75 );
bottom: 0;
display: none;
justify-content: center;
left: 0;
position: fixed;
right: 0;
top: 0;
user-select: none;
z-index: -9999;
}
.uds-feedback-form--wrapper.show_popup {
display: flex !important;
z-index: 99999;
}
.uds-feedback-form--wrapper .uds-feedback-form--container {
background-color: #fff;
border-radius: 8px;
box-shadow: 4px 4px 24px rgba( 0, 0, 0, 0.25 );
max-width: 90%;
width: 540px;
}
.uds-feedback-form--container .uds-form-header--wrapper {
align-items: center;
display: flex;
justify-content: space-between;
padding: 16px 20px 0;
}
.uds-feedback-form--container .uds-form-title--icon-wrapper {
display: flex;
align-items: center;
gap: 12px;
}
.uds-feedback-form--container .uds-form-title--icon-wrapper .uds-icon,
.uds-feedback-form--container .uds-form-header--wrapper .uds-close {
width: 20px;
height: 20px;
}
.uds-feedback-form--container .uds-form-title--icon-wrapper .uds-title {
color: #1f2937;
font-size: 16px;
font-weight: 600;
line-height: 24px;
text-align: left;
}
.uds-feedback-form--container .uds-form-header--wrapper .uds-close {
color: #9ca3af;
cursor: pointer;
}
.uds-feedback-form--container .uds-form-header--wrapper .uds-close:hover {
color: #4b5563;
}
.uds-feedback-form--container .uds-form-body--content {
padding: 20px 20px 0 20px;
display: flex;
flex-direction: column;
gap: 20px;
}
.uds-feedback-form--container .uds-form-body--content .uds-form-description {
color: #1f2937;
font-size: 16px;
font-weight: 500;
line-height: 24px;
text-align: left;
}
.uds-feedback-form--container .uds-form-body--content #uds-feedback-form .reason {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 12px;
}
.uds-feedback-form--container .uds-form-body--content #uds-feedback-form .uds-options-feedback {
color: #6b7280;
font-size: 14px;
font-weight: 400;
line-height: 20px;
text-align: left;
width: 100%;
padding: 9px 13px;
border-radius: 6px;
border-width: 1px;
border-style: solid;
border-color: #e5e7eb;
box-shadow: 0 1px 2px 0 #0000000d;
background: #fff;
}
.uds-feedback-form--container .uds-form-body--content #uds-feedback-form .uds-options-feedback:hover,
.uds-feedback-form--container .uds-form-body--content #uds-feedback-form .uds-options-feedback:focus,
.uds-feedback-form--container .uds-form-body--content #uds-feedback-form .uds-options-feedback:active {
border-color: #d1d5db;
}
.uds-feedback-form--container .uds-form-body--content #uds-feedback-form .uds-option-feedback-cta {
color: #4b5563;
margin-top: 10px;
font-size: 13px;
font-weight: 400;
line-height: 20px;
text-align: left;
}
.uds-feedback-form--container .uds-form-body--content #uds-feedback-form .uds-option-feedback-cta a {
text-decoration: none;
color: #006ba1;
}
.uds-feedback-form--container .uds-form-body--content #uds-feedback-form .uds-options-feedback::placeholder {
font-size: 14px;
font-weight: 400;
line-height: 20px;
text-align: left;
color: #6b7280;
opacity: 1;
}
.uds-feedback-form--container .uds-form-body--content .uds-feedback-form-sumbit--actions {
display: flex;
align-items: center;
justify-content: space-between;
padding: 16px 20px;
background-color: #f6f7f7;
border-top: 1px solid #e1e1e1;
margin: 40px -20px 0;
border-bottom-left-radius: 8px;
border-bottom-right-radius: 8px;
}
.uds-feedback-form--container .uds-form-body--content .uds-feedback-form-sumbit--actions .button {
padding: 7px 13px;
border-radius: 3px;
border-width: 1px;
font-size: 14px;
font-weight: 400;
line-height: 20px;
text-align: left;
border-style: solid;
display: flex;
gap: 8px;
align-items: center;
}
.uds-feedback-form--container .uds-form-body--content .uds-feedback-form-sumbit--actions .button:focus {
outline: none;
box-shadow: none;
}
.uds-feedback-form--container .uds-form-body--content .uds-feedback-form-sumbit--actions .button.processing {
pointer-events: none;
opacity: 0.8;
}
.uds-feedback-form--container .uds-form-body--content .uds-feedback-form-sumbit--actions .button.processing::before {
content: "\f463";
animation: spin 2s linear infinite;
font-family: dashicons, sans-serif;
font-weight: 400;
font-size: 18px;
cursor: pointer;
}
.uds-feedback-form--container .uds-form-body--content #uds-feedback-form .uds-reason-label {
font-size: 14px;
font-weight: 400;
line-height: 20px;
text-align: left;
}
.uds-feedback-form--container .uds-form-body--content #uds-feedback-form input[type="radio"] {
display: flex;
justify-content: center;
height: 18px;
width: 18px;
cursor: pointer;
margin: 0;
border: 1px solid #d1d5db;
border-radius: 50%;
line-height: 0;
box-shadow: inset 0 1px 2px rgb( 0 0 0 / 10% );
transition: 0.05s border-color ease-in-out;
-webkit-appearance: none;
padding: 0;
}
.uds-feedback-form--container .uds-form-body--content #uds-feedback-form input[type="radio"]:checked {
vertical-align: middle;
background-color: #006ba1;
}
.uds-feedback-form--container .uds-form-body--content #uds-feedback-form input[type="radio"]:checked::before {
background-color: #fff !important;
border-radius: 50px;
content: "\2022";
font-size: 24px;
height: 6px;
line-height: 13px;
margin: 5px;
text-indent: -9999px;
width: 6px;
}
@keyframes spin {
0% {
transform: rotate( 0deg );
}
100% {
transform: rotate( 360deg );
}
}
/* Focus Management Styles - WCAG 2.1 Compliance */
/* Added for keyboard accessibility and screen reader support */
/* Button Focus Styles */
.hvac-button:focus,
.hvac-content .button:focus,
.hvac-content button:focus,
.hvac-content input[type="submit"]:focus,
.hvac-email-submit:focus,
.hvac-filter-submit:focus,
.hvac-certificate-actions button:focus,
.hvac-certificate-actions a:focus {
outline: 2px solid #005fcc;
outline-offset: 2px;
box-shadow: 0 0 0 3px rgba(0, 95, 204, 0.2);
border-radius: 4px;
}
/* Input Focus Styles */
.hvac-form-input:focus,
.hvac-content input[type="text"]:focus,
.hvac-content input[type="email"]:focus,
.hvac-content input[type="password"]:focus,
.hvac-content input[type="url"]:focus,
.hvac-content textarea:focus,
.hvac-content select:focus,
.hvac-email-form-row input:focus,
.hvac-email-form-row textarea:focus,
.hvac-filter-group input:focus,
.hvac-filter-group select:focus {
outline: 2px solid #005fcc;
outline-offset: 2px;
border-color: #005fcc;
box-shadow: 0 0 0 3px rgba(0, 95, 204, 0.2);
}
/* Link Focus Styles */
.hvac-content a:focus,
.hvac-event-link:focus,
.hvac-certificate-link:focus,
.hvac-attendee-profile-icon:focus,
.hvac-dashboard-nav a:focus,
.hvac-email-navigation a:focus {
outline: 2px solid #005fcc;
outline-offset: 2px;
text-decoration: underline;
background-color: rgba(0, 95, 204, 0.1);
border-radius: 2px;
}
/* Interactive Element Focus Styles */
.hvac-attendee-checkbox:focus,
.hvac-select-all-container input[type="checkbox"]:focus,
.hvac-modal-close:focus,
.hvac-certificate-table tr:focus {
outline: 2px solid #005fcc;
outline-offset: 2px;
box-shadow: 0 0 0 3px rgba(0, 95, 204, 0.2);
}
/* High Contrast Mode Support */
@media (prefers-contrast: high) {
.hvac-content *:focus {
outline: 3px solid #000000;
outline-offset: 2px;
background-color: #ffff00;
color: #000000;
}
}
/* Focus-visible polyfill support */
/* Reset focus for mouse users while preserving keyboard accessibility */
.js-focus-visible :focus:not(.focus-visible) {
outline: none;
box-shadow: none;
}
/* Ensure focus is visible for keyboard users */
.js-focus-visible .focus-visible {
outline: 2px solid #005fcc;
outline-offset: 2px;
}