diff --git a/README.md b/README.md index 4b58b2d..ab7339a 100644 --- a/README.md +++ b/README.md @@ -307,6 +307,10 @@ Supported inline types: `button`, `link`, `tooltip`, `progress`, `output`, `info icon: 'mdi:star', // Optional header icon image: '/path/to/image.png', // Optional card image style: 'primary', // Border accent color + display: 'flex', // flex | grid | block (controls children layout) + children: [ // Optional nested elements + { type: 'button', content: 'Action', style: 'primary' } + ] } ``` diff --git a/src/lib/assets/css/tui-accordion.css b/src/lib/assets/css/tui-accordion.css index 343ffee..8e9e991 100644 --- a/src/lib/assets/css/tui-accordion.css +++ b/src/lib/assets/css/tui-accordion.css @@ -5,6 +5,14 @@ overflow: hidden; } +.tui-accordion.inline { + display: inline-block; + width: auto; + min-width: 200px; + vertical-align: top; + margin: 0 0.5rem 0 0; +} + .accordion-item { border-bottom: 1px solid var(--terminal-border); } @@ -62,8 +70,9 @@ opacity: 0; transform: translateY(-5px); } + to { opacity: 1; transform: translateY(0); } -} +} \ No newline at end of file diff --git a/src/lib/assets/css/tui-card-grid.css b/src/lib/assets/css/tui-card-grid.css index acd9a64..db6b153 100644 --- a/src/lib/assets/css/tui-card-grid.css +++ b/src/lib/assets/css/tui-card-grid.css @@ -6,6 +6,16 @@ width: 100%; } +.tui-card-grid.inline { + display: inline-flex; + flex-wrap: wrap; + width: auto; + gap: 0.5rem; + vertical-align: top; + padding: 0; + margin: 0 0.5rem 0 0; +} + .tui-card { background: var(--terminal-bg); border: 1px solid var(--terminal-border); @@ -219,4 +229,4 @@ .tui-card-grid { grid-template-columns: 1fr; } -} +} \ No newline at end of file diff --git a/src/lib/assets/css/tui-card.css b/src/lib/assets/css/tui-card.css index 922d30c..0546485 100644 --- a/src/lib/assets/css/tui-card.css +++ b/src/lib/assets/css/tui-card.css @@ -1,58 +1,46 @@ .tui-card { border: 1px solid var(--terminal-border); - border-radius: 6px; - background: color-mix(in srgb, var(--terminal-bg) 80%, var(--card-accent) 5%); + border-left: 3px solid var(--card-color); + background: color-mix(in srgb, var(--terminal-bg) 50%, var(--terminal-bg-light)); + border-radius: 4px; + padding: 0.75rem 1rem; margin: 0.5rem 0; - overflow: hidden; - transition: border-color 0.2s ease; + max-width: 600px; } -.tui-card:hover { - border-color: var(--card-accent); -} - -.card-header { - display: flex; - align-items: center; - gap: 0.5rem; - padding: 0.6rem 0.75rem; - border-bottom: 1px solid var(--terminal-border); - background: rgba(0, 0, 0, 0.1); -} - -:global(.card-icon) { - color: var(--card-accent); +.tui-card.inline { + display: inline-block; + width: auto; + margin: 0 0.5rem 0 0; + vertical-align: top; } .card-title { - font-weight: 600; - color: var(--terminal-text); - font-size: 0.85rem; -} - -.card-body { - padding: 0.75rem; -} - -.card-image { - width: 100%; - max-height: 200px; - object-fit: cover; - border-radius: 4px; + color: var(--card-color); + font-weight: bold; margin-bottom: 0.5rem; + font-size: 1rem; } .card-content { - color: var(--terminal-muted); - font-size: 0.85rem; + color: var(--terminal-text); + font-size: 0.9rem; line-height: 1.5; - white-space: pre-wrap; } .card-footer { - padding: 0.5rem 0.75rem; - border-top: 1px solid var(--terminal-border); - font-size: 0.75rem; + margin-top: 0.75rem; + padding-top: 0.5rem; + border-top: 1px dashed var(--terminal-border); color: var(--terminal-muted); - background: rgba(0, 0, 0, 0.05); + font-size: 0.8rem; +} + +/* Mobile: inline cards become full-width */ +@media (max-width: 768px) { + .tui-card.inline { + display: block; + width: 100%; + margin: 0.5rem 0; + } } diff --git a/src/lib/assets/css/tui-table.css b/src/lib/assets/css/tui-table.css index 7d61c12..6081cde 100644 --- a/src/lib/assets/css/tui-table.css +++ b/src/lib/assets/css/tui-table.css @@ -5,6 +5,13 @@ overflow: hidden; } +.tui-table-wrapper.inline { + display: inline-block; + width: auto; + vertical-align: top; + margin: 0 0.5rem 0 0; +} + .table-title { padding: 0.5rem 0.75rem; font-weight: 600; @@ -46,4 +53,4 @@ tr.alt { tr:hover { background: color-mix(in srgb, var(--table-accent) 5%, transparent); -} +} \ No newline at end of file diff --git a/src/lib/components/tui/TuiAccordion.svelte b/src/lib/components/tui/TuiAccordion.svelte index 6d1f3a4..6a70e47 100644 --- a/src/lib/components/tui/TuiAccordion.svelte +++ b/src/lib/components/tui/TuiAccordion.svelte @@ -1,34 +1,55 @@ -