AvanzaCast/shared/components/modal-parts/ModalCheckbox.module.css
Cesar Mendivil e43686e36d feat(modal-parts): add modular components for modal UI
- Introduced ModalDestinationButton for destination selection with customizable icons and labels.
- Added ModalInput for text input with optional character counter.
- Implemented ModalLink for reusable links styled as underlined text.
- Created ModalPlatformCard for platform selection with badges.
- Developed ModalRadioGroup for radio button groups with custom styling.
- Added ModalSection for grouping modal content with optional labels.
- Implemented ModalSelect for dropdown selections with custom styling.
- Created ModalShareButtons for sharing options via Gmail, Email, and Messenger.
- Developed ModalTextarea for multi-line text input with character counter.
- Introduced ModalToggle for toggle switches with optional help text and links.
- Updated README.md with component descriptions, usage examples, and design guidelines.
- Added index.ts for centralized exports of modal components.
2025-11-06 00:32:08 -07:00

101 lines
1.5 KiB
CSS

/* ModalCheckbox - StreamYard style checkbox */
.container {
width: 100%;
}
.labelWrapper {
display: flex;
align-items: flex-start;
gap: 8px;
cursor: pointer;
user-select: none;
}
.input {
position: absolute;
opacity: 0;
cursor: pointer;
height: 0;
width: 0;
}
.checkbox {
width: 18px;
height: 18px;
border: 2px solid #5f6368;
border-radius: 2px;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.15s;
margin-top: 1px;
}
.input:checked ~ .checkbox {
background-color: #1a73e8;
border-color: #1a73e8;
}
.label {
color: #202124;
font-size: 14px;
font-weight: 400;
display: flex;
align-items: center;
gap: 4px;
}
.helpButton {
background: none;
border: none;
padding: 0;
margin: 0;
cursor: pointer;
color: #5f6368;
display: flex;
align-items: center;
justify-content: center;
width: 16px;
height: 16px;
transition: color 0.15s;
}
.helpButton:hover {
color: #202124;
}
.subtext {
color: #5f6368;
font-size: 12px;
margin: 4px 0 0 26px;
line-height: 1.4;
}
/* Dark mode */
[data-theme="dark"] .checkbox {
border-color: #9aa0a6;
}
[data-theme="dark"] .input:checked ~ .checkbox {
background-color: #8ab4f8;
border-color: #8ab4f8;
}
[data-theme="dark"] .label {
color: #e8eaed;
}
[data-theme="dark"] .helpButton {
color: #9aa0a6;
}
[data-theme="dark"] .helpButton:hover {
color: #e8eaed;
}
[data-theme="dark"] .subtext {
color: #9aa0a6;
}