feat(ui): add Button, Modal, Spinner, Toast, and Tooltip components with styles
All checks were successful
Build and Release / build-and-release (push) Successful in 13m12s

- Implemented Button component with various props for customization.
- Created Modal component with header, content, and footer subcomponents.
- Added Spinner component for loading indicators.
- Developed Toast component for displaying notifications.
- Introduced Tooltip component for contextual hints with keyboard shortcuts.
- Added corresponding CSS modules for styling each component.
- Updated index file to export new components.
- Configured TypeScript settings for the UI package.
This commit is contained in:
Bryan1029384756
2026-04-14 09:02:14 -05:00
parent 9ef839938e
commit b7a4cf4ce8
376 changed files with 52619 additions and 167641 deletions

View File

@@ -0,0 +1,84 @@
.container {
display: flex;
align-items: center;
justify-content: center;
gap: 0.75rem;
}
.button {
display: flex;
align-items: center;
justify-content: center;
width: 56px;
height: 56px;
border-radius: 9999px;
border: none;
cursor: pointer;
background: none;
transition-duration: 150ms;
transition-property: background-color, color;
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
color: var(--voice-text-strong);
position: relative;
}
.icon {
width: 28px;
height: 28px;
}
.buttonUnmuted {
background-color: var(--voice-surface-4);
color: var(--voice-text-strong);
}
.buttonUnmuted:hover {
background-color: var(--voice-surface-5);
}
.buttonMuted {
background-color: var(--voice-status-danger-bg-solid);
color: var(--voice-status-danger);
}
.buttonMuted:hover {
background-color: var(--voice-status-danger-bg-strong-solid);
}
.buttonCameraOn,
.buttonScreenShareOn {
background-color: var(--voice-status-success-bg-solid);
color: var(--voice-status-success);
}
.buttonCameraOn:hover,
.buttonScreenShareOn:hover {
background-color: color-mix(in srgb, var(--voice-status-success) 30%, var(--voice-surface-2));
}
.buttonDisconnect {
background-color: var(--voice-status-danger-bg-solid);
color: var(--voice-status-danger);
}
.buttonDisconnect:hover {
background-color: var(--voice-status-danger-bg-strong-solid);
}
/* Settings cog overlay (top-right of mic/camera buttons) */
.settingsButton {
position: absolute;
top: -4px;
right: -4px;
display: flex;
align-items: center;
justify-content: center;
width: 20px;
height: 20px;
border-radius: 9999px;
background-color: var(--background-tertiary);
color: var(--text-primary);
box-shadow: 0 0 0 2px var(--background-primary);
border: none;
cursor: pointer;
}