mirror of
https://github.com/peritus/obsidian-interactive-ratings.git
synced 2026-07-22 12:20:31 +00:00
250 lines
No EOL
8.1 KiB
CSS
250 lines
No EOL
8.1 KiB
CSS
/* Interactive Ratings Plugin - Editor Mode Only */
|
|
|
|
/* Editor Widget Styles - For Editing Mode Only */
|
|
.interactive-rating-editor-widget {
|
|
display: inline;
|
|
font-family: inherit;
|
|
font-size: inherit;
|
|
line-height: inherit;
|
|
color: inherit;
|
|
background: transparent;
|
|
border: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
-webkit-user-select: none;
|
|
user-select: none;
|
|
-webkit-touch-callout: none;
|
|
}
|
|
|
|
.interactive-rating-editor-widget:hover {
|
|
/* No visual changes on hover */
|
|
}
|
|
|
|
/* Editor widget symbols container */
|
|
.interactive-rating-editor-widget .interactive-rating-symbols {
|
|
display: inline;
|
|
cursor: pointer;
|
|
padding: 0;
|
|
margin: 0;
|
|
background: transparent;
|
|
}
|
|
|
|
/* Editor widget rating text */
|
|
.interactive-rating-editor-widget .interactive-rating-text {
|
|
display: inline;
|
|
cursor: default;
|
|
padding: 0;
|
|
margin: 0;
|
|
color: inherit;
|
|
}
|
|
|
|
/* Base symbol styling */
|
|
.interactive-rating-symbol {
|
|
position: relative;
|
|
cursor: pointer;
|
|
display: inline-block;
|
|
transition: opacity 0.2s ease, filter 0.2s ease;
|
|
}
|
|
|
|
/*
|
|
* THEMING HOOKS - Symbol State Classes
|
|
* ===================================
|
|
* The following CSS classes are provided as theming hooks for customizing
|
|
* the appearance of rating symbols. No default visual styling is applied
|
|
* to maintain theme neutrality. Add your own styles to customize appearance.
|
|
*
|
|
* For comprehensive styling examples and documentation, see CSS-CUSTOMIZATION.md
|
|
*/
|
|
|
|
/*
|
|
* Filled/Active symbol state (★ in regular systems, active ★ in full-only systems)
|
|
* Applied to: symbols representing the filled portion of a rating
|
|
* Use for: styling fully selected symbols (e.g., color, opacity, effects)
|
|
*/
|
|
.interactive-rating-symbol--rated {
|
|
/* Add your custom styles here */
|
|
}
|
|
|
|
/*
|
|
* Unrated symbol state (★ beyond rating in full-only systems)
|
|
* Applied to: symbols in full-only systems that are beyond the current rating
|
|
* Use for: styling inactive symbols in systems that only have one symbol type
|
|
* Note: This is different from 'empty' - these are the same symbol but inactive
|
|
*/
|
|
.interactive-rating-symbol--unrated {
|
|
/* Add your custom styles here */
|
|
}
|
|
|
|
/*
|
|
* Normal symbol state (legacy compatibility)
|
|
* Applied to: symbols in legacy mode (deprecated)
|
|
* Note: This class is maintained for backward compatibility only
|
|
*/
|
|
.interactive-rating-symbol--normal {
|
|
/* Add your custom styles here */
|
|
}
|
|
|
|
/*
|
|
* Empty symbol state (☆ in regular rating systems)
|
|
* Applied to: empty/outline symbols representing unselected portions of rating
|
|
* Use for: styling empty symbols in systems with distinct filled/empty symbols
|
|
* Note: This is different from 'unrated' - these are different symbol characters
|
|
*/
|
|
.interactive-rating-symbol--empty {
|
|
/* Add your custom styles here */
|
|
}
|
|
|
|
/*
|
|
* Half symbol state (☆★ or similar in regular rating systems)
|
|
* Applied to: half-filled symbols representing partial ratings
|
|
* Use for: styling half-symbols (e.g., gradients, special colors, opacity)
|
|
* Common styling: gradients to show half-fill effect
|
|
*/
|
|
.interactive-rating-symbol--half {
|
|
/* Add your custom styles here */
|
|
}
|
|
|
|
/* Individual symbol spans in editor widget with half-symbol support */
|
|
.interactive-rating-editor-widget .interactive-rating-symbols span {
|
|
position: relative;
|
|
cursor: pointer;
|
|
display: inline-block;
|
|
transition: opacity 0.2s ease, filter 0.2s ease;
|
|
}
|
|
|
|
/* Enhanced hover effect for symbols with half-symbol visual feedback */
|
|
.interactive-rating-editor-widget .interactive-rating-symbols span:hover {
|
|
/* No visual changes on hover */
|
|
}
|
|
|
|
/* Half-symbol visual feedback - subtle indicator for symbols that support halves */
|
|
.interactive-rating-editor-widget[data-supports-half="true"] .interactive-rating-symbols span {
|
|
/* No visual changes */
|
|
}
|
|
|
|
.interactive-rating-editor-widget[data-supports-half="true"] .interactive-rating-symbols span:hover {
|
|
/* No visual changes */
|
|
}
|
|
|
|
/* Visual hint for half-symbol positioning */
|
|
.interactive-rating-editor-widget[data-supports-half="true"] .interactive-rating-symbols span::before {
|
|
/* No visual elements */
|
|
}
|
|
|
|
/* Show the half-symbol divider on hover when half symbols are supported */
|
|
.interactive-rating-editor-widget[data-supports-half="true"]:hover .interactive-rating-symbols span::before {
|
|
/* No visual elements */
|
|
}
|
|
|
|
/* Additional visual enhancement for half-symbol interactions */
|
|
.interactive-rating-editor-widget[data-supports-half="true"] .interactive-rating-symbols span:hover::after {
|
|
/* No visual elements */
|
|
}
|
|
|
|
/*
|
|
* FULL-ONLY SYMBOL SYSTEM THEMING HOOKS
|
|
* =====================================
|
|
* The following selectors target symbols in full-only rating systems specifically.
|
|
* These provide more granular control when you want different styling for symbols
|
|
* in full-only systems (which only have one symbol type) vs regular systems.
|
|
* No default styling is applied - add your own styles as needed.
|
|
*/
|
|
|
|
/* Full-only symbol styles - structural transitions only */
|
|
.interactive-rating-editor-widget[data-full-only="true"] .interactive-rating-symbols span {
|
|
transition: opacity 0.2s ease, filter 0.2s ease;
|
|
}
|
|
|
|
/*
|
|
* Full-only unrated symbols (★ beyond rating in full-only systems)
|
|
* Applied to: symbols beyond the current rating in systems with only one symbol type
|
|
* Use for: custom styling of inactive symbols in full-only systems
|
|
* Default styling: Essential for functionality - without this, full-only ratings would be unreadable
|
|
*/
|
|
.interactive-rating-editor-widget[data-full-only="true"] .interactive-rating-symbol--unrated {
|
|
opacity: 0.5 !important;
|
|
filter: grayscale(100%) !important;
|
|
}
|
|
|
|
/*
|
|
* Full-only rated symbols (★ within rating in full-only systems)
|
|
* Applied to: symbols within the current rating in systems with only one symbol type
|
|
* Use for: custom styling of active symbols in full-only systems
|
|
* Default styling: Ensures rated symbols remain fully visible
|
|
*/
|
|
.interactive-rating-editor-widget[data-full-only="true"] .interactive-rating-symbol--rated {
|
|
opacity: 1 !important;
|
|
filter: none !important;
|
|
}
|
|
|
|
/* Support for display symbol count different from pattern length */
|
|
.interactive-rating-editor-widget[data-display-symbol-count] .interactive-rating-symbols {
|
|
/* Styles for symbols with extended display count */
|
|
}
|
|
|
|
/* Mobile/touch enhancements for editor */
|
|
@media (max-width: 768px) {
|
|
.interactive-rating-editor-widget {
|
|
padding: 0;
|
|
display: inline;
|
|
}
|
|
}
|
|
|
|
/* High contrast accessibility for editor */
|
|
@media (prefers-contrast: high) {
|
|
.interactive-rating-editor-widget:hover {
|
|
/* No visual changes */
|
|
}
|
|
|
|
/* Enhanced visibility for half-symbol indicators in high contrast */
|
|
.interactive-rating-editor-widget[data-supports-half="true"] .interactive-rating-symbols span::before {
|
|
/* No visual elements */
|
|
}
|
|
|
|
.interactive-rating-editor-widget[data-supports-half="true"]:hover .interactive-rating-symbols span::before {
|
|
/* No visual elements */
|
|
}
|
|
|
|
/* Enhanced contrast for full-only symbols using class-based approach */
|
|
.interactive-rating-editor-widget[data-full-only="true"] .interactive-rating-symbol--unrated {
|
|
opacity: 0.3 !important;
|
|
filter: grayscale(100%) contrast(0.7) !important;
|
|
}
|
|
|
|
/* Enhanced contrast for empty symbols in regular rating systems */
|
|
.interactive-rating-symbol--empty {
|
|
opacity: 0.3 !important;
|
|
filter: grayscale(100%) contrast(0.7) !important;
|
|
}
|
|
|
|
/* Enhanced contrast for half symbols in regular rating systems */
|
|
.interactive-rating-symbol--half {
|
|
opacity: 0.6 !important;
|
|
filter: contrast(1.2) !important;
|
|
}
|
|
}
|
|
|
|
/* Reduced motion accessibility */
|
|
@media (prefers-reduced-motion: reduce) {
|
|
.interactive-rating-editor-widget,
|
|
.interactive-rating-editor-widget .interactive-rating-symbols span,
|
|
.interactive-rating-editor-widget .interactive-rating-symbols span::before,
|
|
.interactive-rating-editor-widget .interactive-rating-symbols span::after,
|
|
.interactive-rating-symbol {
|
|
transition: none;
|
|
}
|
|
}
|
|
|
|
/* Animation for rating transitions */
|
|
.interactive-rating-editor-widget .interactive-rating-symbols {
|
|
/* No transitions */
|
|
}
|
|
|
|
.interactive-rating-editor-widget .interactive-rating-text {
|
|
/* No transitions */
|
|
}
|
|
|
|
/* Smooth symbol transitions during preview */
|
|
.interactive-rating-editor-widget .interactive-rating-symbols span {
|
|
/* Transitions defined above */
|
|
} |