UNPKG

@lovebowls/leagueelements

Version:

League Elements package for LoveBowls

2 lines 19.4 kB
export const BASE_STYLES: "\n \n .button-shared {\n padding: 4px 8px;\n border: 1px solid var(--le-border-color-medium, #ccc);\n background-color: var(--le-background-color-button, #f0f0f0);\n color: var(--le-text-color-primary, #333); /* Ensure text color contrasts with button background */\n cursor: pointer;\n border-radius: var(--le-border-radius-standard, 4px);\n font-size: var(--le-font-size-button, var(--le-font-size-medium, 1.15em)); /* Use variable with fallback */\n text-decoration: none;\n display: inline-block;\n text-align: center;\n line-height: normal; /* Ensure consistent line height */\n white-space: nowrap; /* Prevent text wrapping */\n vertical-align: middle; /* Align nicely if next to text/icons */\n user-select: none; /* Prevent text selection on click */\n transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out; /* Smooth transitions */\n }\n\n .button-shared:hover:not(:disabled) {\n background-color: var(--le-background-color-button-hover, #e0e0e0);\n border-color: var(--le-border-color-dark, #bbb); /* Slightly darker border on hover */\n /* color: var(--le-text-color-accent-hover, inherit); Optional: change text color on hover */\n }\n\n .button-shared:active:not(:disabled) {\n /* Optional: style for active (pressed) state */\n /* background-color: var(--le-background-color-button-active, #d0d0d0); */\n }\n\n .button-shared:disabled,\n .button-shared.disabled { /* Allow class-based disabling too */\n background-color: var(--le-background-color-button-disabled, #eee);\n color: var(--le-text-color-secondary, #aaa);\n border-color: var(--le-border-color-medium, #ccc); /* Use medium border for disabled state */\n cursor: not-allowed;\n opacity: 0.7; /* Visually indicate disabled state */\n }\n\n /* Variations */\n .button-shared.button-primary {\n background-color: var(--le-color-primary, #007bff);\n color: var(--le-text-color-on-primary, #fff);\n border-color: var(--le-color-primary, #007bff);\n }\n .button-shared.button-primary:hover:not(:disabled) {\n background-color: var(--le-color-primary-hover, #0056b3);\n border-color: var(--le-color-primary-hover, #0056b3);\n }\n\n .button-shared.button-secondary-light {\n background-color: var(--le-background-color-button-secondary-light, #f8f9fa);\n color: var(--le-text-color-secondary-light-text, #212529);\n border-color: var(--le-border-color-secondary-light, #ced4da);\n }\n .button-shared.button-secondary-light:hover:not(:disabled) {\n background-color: var(--le-background-color-button-secondary-light-hover, #e2e6ea);\n border-color: var(--le-border-color-secondary-light-hover, #dae0e5);\n color: var(--le-text-color-secondary-light-text-hover, #212529);\n }\n\n /* Example for a darker secondary button if needed elsewhere \n .button-shared.button-secondary {\n background-color: var(--le-color-secondary, #6c757d); \n color: var(--le-text-color-on-secondary, #fff);\n border-color: var(--le-color-secondary, #6c757d);\n }\n .button-shared.button-secondary:hover:not(:disabled) {\n background-color: var(--le-color-secondary-hover, #5a6268);\n border-color: var(--le-color-secondary-hover, #5a6268);\n }\n */\n\n \n .modal-shared-overlay {\n display: none; /* Hidden by default */\n position: fixed;\n z-index: var(--le-z-index-modal-overlay, 1000); /* Ensure it's on top */\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n overflow: auto;\n background-color: var(--le-background-color-modal-overlay, rgba(0,0,0,0.4));\n padding-top: 5%;\n padding-bottom: 5%;\n }\n\n .modal-shared-overlay.open {\n display: flex;\n justify-content: center;\n }\n\n .modal-shared-content {\n background-color: var(--le-background-color-panel, #fff);\n margin: 10% auto; /* Default to 10% from top, centered */\n padding: 0;\n border: 1px solid var(--le-border-color-dark, #ccc);\n max-width: 600px;\n border-radius: var(--le-border-radius-large, 8px);\n box-shadow: var(--le-shadow-modal, 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19));\n display: flex;\n flex-direction: column;\n align-self: flex-start;\n }\n\n /* Specific styles for modal mobile-view class */\n .modal-shared-content.mobile-view {\n width: 90%; /* Override any fixed width from shared styles */\n margin: 0; /* Less margin from top on mobile */\n max-width: 90%;\n min-width: 280px !important;\n }\n\n .modal-shared-header {\n padding: var(--le-padding-s, 0.75em) var(--le-padding-m, 1.25em); /* Increased padding */\n border-bottom: 1px solid var(--le-border-color-medium, #eee);\n font-weight: bold;\n color: var(--le-text-color-primary, #333);\n background-color: var(--le-background-color-header, #f9f9f9); /* Modal header distinct background */\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: var(--le-font-size-large, 1.4em); /* Increased large font size */\n border-top-left-radius: var(--le-border-radius-large, 8px); /* Match content radius */\n border-top-right-radius: var(--le-border-radius-large, 8px); /* Match content radius */\n }\n\n .modal-shared-header .close-button-shared { /* Specific styling for a close button if needed */\n color: var(--le-text-color-secondary, #aaa);\n font-size: var(--le-font-size-xlarge, 1.8em); /* Increased size */\n font-weight: bold;\n background: none;\n border: none;\n cursor: pointer;\n }\n\n .modal-shared-header .close-button-shared:hover,\n .modal-shared-header .close-button-shared:focus {\n color: var(--le-text-color-primary, #000);\n text-decoration: none;\n }\n \n .modal-shared-body {\n padding: var(--le-padding-m, 1.25em); /* Increased padding */\n overflow-y: auto; /* Allow body to scroll if content is too long */\n flex-grow: 1; /* Allows body to take up available space if modal has fixed height */\n }\n\n .modal-shared-footer {\n padding: var(--le-padding-m, 1.25em);\n text-align: right;\n border-top: 1px solid var(--le-border-color-medium, #eee);\n background-color: var(--le-background-color-header, #f9f9f9); /* Optional: footer background */\n border-bottom-left-radius: var(--le-border-radius-large, 8px); /* Match content radius */\n border-bottom-right-radius: var(--le-border-radius-large, 8px); /* Match content radius */\n }\n\n .modal-shared-footer .button-shared + .button-shared { /* Spacing between buttons in footer */\n margin-left: var(--le-padding-s, 0.75em); /* Increased margin */\n }\n\n \n .form-group-shared {\n margin-bottom: var(--le-padding-m, 1.25em); /* Increased margin */\n }\n\n .form-label-shared {\n display: block;\n margin-bottom: var(--le-padding-xs, 0.4em); /* Increased margin */\n font-weight: bold;\n color: var(--le-text-color-primary, #333);\n font-size: var(--le-font-size-label, 1em)); /* Use variable with fallback */\n }\n\n .form-input-shared,\n .form-select-shared {\n width: 100%;\n height: auto;\n padding: var(--le-padding-s, 0.75em);\n border: 1px solid var(--le-border-color-dark, #ccc);\n border-radius: var(--le-border-radius-standard, 4px);\n box-sizing: border-box;\n font-size: var(--le-font-size-input, 1em)); /* Use variable with fallback */\n color: var(--le-text-color-primary, #333);\n background-color: var(--le-background-color-panel, #fff);\n }\n\n /* Ensure date inputs have consistent styling across browsers */\n .form-input-shared[type=\"date\"] {\n max-width: 100%;\n }\n\n .form-input-shared:focus,\n .form-select-shared:focus {\n border-color: var(--le-border-color-accent, #2196f3);\n outline: none; /* Or a custom focus ring */\n box-shadow: 0 0 0 2px var(--le-focus-ring-color, rgba(33, 150, 243, 0.3));\n }\n \n /* Specific styling for checkbox groups if needed */\n .form-checkbox-label-shared {\n display: flex; /* Changed to flex for better alignment */\n align-items: center;\n font-weight: normal; /* Typically labels for checkboxes are not bold by default */\n color: var(--le-text-color-primary, #333);\n }\n\n .form-checkbox-label-shared input[type=\"checkbox\"] {\n margin-right: var(--le-padding-s, 0.75em); /* Increased margin */\n /* Consider custom styling for checkboxes if desired, or rely on browser defaults */\n /* For consistent appearance across browsers, custom checkbox styling can be complex */\n /* For now, using default with adjusted margin */\n width: auto; /* Override width: 100% from .form-input-shared if a generic class was applied */\n vertical-align: middle; /* Align checkbox with text */\n }\n\n /* Styling for a container of multiple checkboxes or radio buttons */\n .form-options-group-shared {\n /* Styles for a group of checkboxes/radios, e.g., display: flex; flex-direction: column; gap: ... */\n }\n\n /* Styling for individual option within a group */\n .form-option-item-shared {\n /* Styles for each checkbox/radio item within a group */\n }\n\n /* Enhanced checkbox styles for better mobile usability */\n .checkbox-enhanced-shared {\n position: relative;\n display: inline-block;\n cursor: pointer;\n user-select: none;\n margin-right: var(--le-padding-s, 0.75em);\n }\n\n .checkbox-enhanced-shared input[type=\"checkbox\"] {\n position: absolute;\n opacity: 0;\n cursor: pointer;\n height: 0;\n width: 0;\n }\n\n .checkbox-enhanced-shared .checkmark-shared {\n position: relative;\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n background-color: var(--le-background-color-panel, #fff);\n border: 2px solid var(--le-border-color-dark, #ccc);\n border-radius: var(--le-border-radius-small, 3px);\n transition: all 0.2s ease;\n vertical-align: middle;\n margin-right: var(--le-padding-xs, 0.25em);\n }\n\n /* Mobile-specific larger checkboxes */\n @media (max-width: 768px) {\n .checkbox-enhanced-shared .checkmark-shared {\n width: 2em;\n height: 2em;\n border-width: 2px;\n }\n }\n\n /* Hover state */\n .checkbox-enhanced-shared:hover input[type=\"checkbox\"] ~ .checkmark-shared {\n border-color: var(--le-text-color-accent, #2196f3);\n background-color: var(--le-background-color-row-hover, #f9f9f9);\n }\n\n /* Focus state */\n .checkbox-enhanced-shared input[type=\"checkbox\"]:focus ~ .checkmark-shared {\n border-color: var(--le-text-color-accent, #2196f3);\n box-shadow: 0 0 0 2px rgba(33, 150, 243, 0.2);\n }\n\n /* Checked state */\n .checkbox-enhanced-shared input[type=\"checkbox\"]:checked ~ .checkmark-shared {\n background-color: var(--le-text-color-accent, #2196f3);\n border-color: var(--le-text-color-accent, #2196f3);\n }\n\n /* Checkmark icon */\n .checkbox-enhanced-shared .checkmark-shared:after {\n content: \"\";\n position: absolute;\n display: none;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%) rotate(45deg);\n width: 0.4em;\n height: 0.8em;\n border: solid var(--le-text-color-on-primary, #fff);\n border-width: 0 0.15em 0.15em 0;\n }\n\n /* Mobile-specific larger checkmark */\n @media (max-width: 768px) {\n .checkbox-enhanced-shared .checkmark-shared:after {\n width: 0.5em;\n height: 1em;\n border-width: 0 0.2em 0.2em 0;\n }\n }\n\n /* Show checkmark when checked */\n .checkbox-enhanced-shared input[type=\"checkbox\"]:checked ~ .checkmark-shared:after {\n display: block;\n }\n\n /* Disabled state */\n .checkbox-enhanced-shared input[type=\"checkbox\"]:disabled ~ .checkmark-shared {\n background-color: var(--le-background-color-button-disabled, #eee);\n border-color: var(--le-border-color-medium, #ddd);\n cursor: not-allowed;\n }\n\n .checkbox-enhanced-shared input[type=\"checkbox\"]:disabled ~ .checkmark-shared:after {\n border-color: var(--le-text-color-secondary, #aaa);\n }\n\n /* Legend/checkbox list styles for responsive layouts */\n .checkbox-list-responsive-shared {\n display: grid;\n gap: var(--le-padding-s, 0.75em);\n grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));\n }\n\n /* Mobile-specific responsive checkbox list */\n @media (max-width: 768px) {\n .checkbox-list-responsive-shared {\n grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n gap: var(--le-padding-m, 1em);\n }\n }\n\n /* Extra small screens - force 2 columns */\n @media (max-width: 480px) {\n .checkbox-list-responsive-shared {\n grid-template-columns: 1fr 1fr;\n gap: var(--le-padding-s, 0.75em);\n }\n }\n\n /* Legend item styling for checkbox lists */\n .legend-item-shared {\n display: flex;\n align-items: center;\n font-size: var(--le-font-size-small, 0.9em);\n padding: var(--le-padding-xs, 0.25em);\n border-radius: var(--le-border-radius-small, 3px);\n transition: background-color 0.2s ease;\n }\n\n .legend-item-shared:hover {\n background-color: var(--le-background-color-row-hover, #f9f9f9);\n }\n\n /* Mobile-specific legend item styling */\n @media (max-width: 768px) {\n .legend-item-shared {\n font-size: var(--le-font-size-medium, 1.2em);\n padding: var(--le-padding-s, 0.75em) var(--le-padding-xs, 0.25em);\n min-height: 3em;\n }\n }\n\n \n :host {\n display: none;\n position: fixed;\n z-index: var(--le-z-index-modal, 1001);\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n overflow: auto;\n background-color: var(--le-background-color-modal-overlay, rgba(0,0,0,0.4));\n align-items: center;\n justify-content: center;\n }\n \n :host([open][is-mobile=\"true\"]) {\n display: flex;\n }\n \n :host([open]) {\n display: flex; \n }\n\n /* Header warning text styling */\n .header-warning {\n color: var(--le-color-status-warning, #f39c12);\n font-weight: normal;\n font-size: var(--le-font-size-small, 0.8em);\n margin: 0 0 var(--le-padding-m, 1rem) 0;\n padding: var(--le-padding-s, 0.5rem);\n line-height: 1.3;\n display: block;\n border-radius: var(--le-border-radius-standard, 4px);\n background-color: rgba(243, 156, 18, 0.1);\n border-left: 4px solid var(--le-color-status-warning, #f39c12);\n box-sizing: border-box;\n word-break: normal;\n overflow-wrap: break-word;\n hyphens: none; \n }\n\n .league-info {\n background-color: var(--le-background-color-light, #f9f9f9);\n border: 1px solid var(--le-border-color-light, #e0e0e0);\n border-radius: var(--le-border-radius-standard, 4px);\n padding: var(--le-padding-m, 1rem);\n margin-bottom: var(--le-padding-m, 1rem);\n }\n\n .league-info p {\n margin: 0.25rem 0;\n }\n\n /* Horizontal form row for start date and max rinks */\n .form-row {\n display: flex;\n gap: var(--le-padding-m, 1rem);\n margin-bottom: var(--le-padding-m, 1rem);\n }\n\n .footer-error {\n color: var(--le-color-status-error, #e74c3c);\n margin: 0;\n text-align: left;\n flex: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n margin-right: auto;\n }\n\n .form-fieldset-shared {\n border: 1px solid var(--le-border-color-medium, #ddd);\n border-radius: var(--le-border-radius-standard, 4px);\n padding: var(--le-padding-m, 1rem);\n margin: var(--le-padding-m, 1rem) 0;\n }\n\n .form-legend {\n font-weight: bold;\n padding: 0 var(--le-padding-s, 0.5rem);\n color: var(--le-text-color-primary, #333);\n }\n\n .interval-inputs {\n display: flex;\n align-items: center;\n gap: var(--le-padding-s, 0.5rem);\n margin-top: var(--le-padding-s, 0.5rem);\n margin-left: var(--le-padding-m, 1rem);\n }\n\n .interval-number {\n width: 80px;\n min-width: 80px;\n }\n\n /* Ensure consistent height for interval inputs */\n .interval-inputs .form-input-shared,\n .interval-inputs .form-select-shared {\n height: auto;\n min-height: var(--le-form-input-min-height, 2.5rem);\n line-height: 1.2;\n vertical-align: middle;\n }\n\n /* Specific adjustments for select dropdown text alignment */\n .interval-inputs .form-select-shared {\n display: flex;\n align-items: center;\n padding-top: calc(var(--le-padding-s, 0.75em) - 1px);\n padding-bottom: calc(var(--le-padding-s, 0.75em) - 1px);\n }\n\n .day-checkboxes {\n display: none;\n flex-wrap: wrap;\n gap: var(--le-padding-s, 0.5rem);\n margin-top: var(--le-padding-s, 0.5rem);\n margin-left: var(--le-padding-m, 1rem);\n }\n\n .day-checkbox-label {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n cursor: pointer;\n padding: 0.25rem 0.5rem;\n border: 1px solid var(--le-border-color-light, #e0e0e0);\n border-radius: var(--le-border-radius-standard, 4px);\n background-color: var(--le-background-color-panel, #fff);\n transition: background-color 0.2s ease;\n }\n\n .day-checkbox-label:hover {\n background-color: var(--le-background-color-light, #f9f9f9);\n }\n\n .day-checkbox-label input[type=\"checkbox\"] {\n margin: 0;\n }\n\n .preview-section {\n background-color: var(--le-background-color-light, #f9f9f9);\n border: 1px solid var(--le-border-color-light, #e0e0e0);\n border-radius: var(--le-border-radius-standard, 4px);\n padding: var(--le-padding-m, 1rem);\n margin-top: var(--le-padding-m, 1rem);\n margin-bottom: var(--le-padding-s, 0.5rem);\n }\n\n .preview-section h4 {\n margin: 0 0 var(--le-padding-s, 0.5rem) 0;\n color: var(--le-text-color-primary, #333);\n }\n\n .preview-text {\n margin: 0;\n font-style: italic;\n color: var(--le-text-color-secondary, #666);\n }\n\n /* Mobile-specific adjustments */\n @media (max-width: 480px) {\n \n /* Mobile warning text adjustments */\n .header-warning {\n font-size: var(--le-font-size-xs, 0.75em);\n padding: var(--le-padding-xs, 0.25rem) 0 0 var(--le-padding-s, 0.5rem);\n line-height: 1.4;\n text-align: left;\n margin-bottom: var(--le-padding-s, 0.75rem);\n }\n \n .interval-number {\n width: 100%;\n min-width: auto;\n }\n\n /* Enhanced mobile height consistency for interval inputs */\n .interval-inputs .form-input-shared,\n .interval-inputs .form-select-shared {\n min-height: 44px; /* Match mobile touch target */\n box-sizing: border-box;\n padding: var(--le-padding-s, 0.75rem) var(--le-padding-m, 1rem);\n border-width: 2px;\n font-size: var(--le-font-size-medium, 1.0em);\n line-height: 1.2;\n vertical-align: middle;\n }\n\n /* Specific adjustments for select dropdown text alignment */\n .interval-inputs .form-select-shared {\n padding-top: calc(var(--le-padding-s, 0.75rem) - 1px);\n padding-bottom: calc(var(--le-padding-s, 0.75rem) - 1px);\n display: flex;\n align-items: center;\n }\n \n .day-checkboxes {\n gap: 8px;\n }\n \n .day-checkbox-label {\n padding: 8px 12px;\n min-height: 44px;\n align-items: center;\n justify-content: center;\n }\n\n .league-info,\n .preview-section {\n padding: 12px;\n }\n \n .form-fieldset-shared {\n padding: 12px;\n }\n\n }\n"; //# sourceMappingURL=leagueResetModal-styles.d.ts.map