- modal.css + modal.templ: backdrop/panel structure, Title/Body/Actions props - empty-state.css + empty_state.templ: dashed border, nil-guarded Icon/Action - table.css + table.templ: ui-table-shell wrapper, Head/Body typed props - All 6 TestModal/TestEmptyState/TestTable tests pass; full suite green
53 lines
1 KiB
CSS
53 lines
1 KiB
CSS
.ui-modal-backdrop {
|
|
align-items: center;
|
|
background: var(--overlay-backdrop-default);
|
|
display: flex;
|
|
inset: 0;
|
|
justify-content: center;
|
|
padding: 1rem;
|
|
position: fixed;
|
|
z-index: 40;
|
|
}
|
|
|
|
.ui-modal-panel {
|
|
background: var(--color-surface-default);
|
|
border: 1px solid var(--color-border-default);
|
|
border-radius: 1rem;
|
|
box-shadow: var(--shadow-surface-lg);
|
|
max-width: 32rem;
|
|
width: min(100%, 32rem);
|
|
}
|
|
|
|
.ui-modal-header,
|
|
.ui-modal-body,
|
|
.ui-modal-actions {
|
|
padding-left: 1.5rem;
|
|
padding-right: 1.5rem;
|
|
}
|
|
|
|
.ui-modal-header {
|
|
border-bottom: 1px solid var(--color-border-default);
|
|
padding-bottom: 1rem;
|
|
padding-top: 1.25rem;
|
|
}
|
|
|
|
.ui-modal-header h2 {
|
|
color: var(--color-text-primary);
|
|
font-size: 1.125rem;
|
|
font-weight: 700;
|
|
margin: 0;
|
|
}
|
|
|
|
.ui-modal-body {
|
|
padding-bottom: 1.25rem;
|
|
padding-top: 1.25rem;
|
|
}
|
|
|
|
.ui-modal-actions {
|
|
border-top: 1px solid var(--color-border-default);
|
|
display: flex;
|
|
gap: 0.75rem;
|
|
justify-content: flex-end;
|
|
padding-bottom: 1rem;
|
|
padding-top: 1rem;
|
|
}
|