diff --git a/docs/docs/contribution/documentation/all-components.mdx b/docs/docs/contribution/documentation/all-components.mdx
index bbcc45fa..96a9f2e3 100644
--- a/docs/docs/contribution/documentation/all-components.mdx
+++ b/docs/docs/contribution/documentation/all-components.mdx
@@ -108,11 +108,13 @@ Displays tabbed code examples with syntax highlighting, perfect for showing the
#### Props
-| Prop | Type | Required | Description |
-|------|------|----------|-------------|
-| `title` | string | No | Optional title for the code showcase |
-| `description` | string | No | Optional description |
-| `examples` | Array | Yes | Array of example objects |
+
**Example Object Structure:**
```js
@@ -196,12 +198,14 @@ Collapsible code blocks for long code snippets with automatic expansion controls
#### Props
-| Prop | Type | Default | Description |
-|------|------|---------|-------------|
-| `language` | string | 'javascript' | Code language for syntax highlighting |
-| `maxLines` | number | 10 | Lines visible before collapse |
-| `title` | string | undefined | Optional code block title |
-| `children` | ReactNode | Required | Code content |
+
#### Usage
@@ -254,12 +258,14 @@ Styled terminal/shell command display with copy functionality.
#### Props
-| Prop | Type | Default | Description |
-|------|------|---------|-------------|
-| `command` | string | Required | Command to display |
-| `copyable` | boolean | true | Show copy button |
-| `prompt` | string | '$' | Command prompt symbol |
-| `language` | string | 'bash' | Syntax highlighting language |
+
#### Usage
@@ -311,12 +317,14 @@ Collapsible sections perfect for FAQs, detailed explanations, or any content tha
#### Props
-| Prop | Type | Default | Description |
-|------|------|---------|-------------|
-| `title` | string | Required | Accordion header text |
-| `defaultOpen` | boolean | false | Whether accordion starts expanded |
-| `variant` | string | 'default' | Style variant ('default', 'bordered') |
-| `children` | ReactNode | Required | Content to display when expanded |
+
#### Usage
@@ -361,11 +369,13 @@ Hover over this
#### Usage
@@ -429,12 +439,14 @@ Display REST API endpoints with HTTP method badges and parameters.
#### Props
-| Prop | Type | Required | Description |
-|------|------|----------|-------------|
-| `method` | string | Yes | HTTP method (GET, POST, PUT, DELETE, PATCH) |
-| `path` | string | Yes | API endpoint path |
-| `description` | string | No | Optional description |
-| `params` | Array | No | Query parameters |
+
**Parameter Object:**
```js
@@ -515,12 +527,14 @@ Documentation table for API object properties.
#### Props
-| Prop | Type | Default | Description |
-|------|------|---------|-------------|
-| `properties` | Array | Required | Array of property objects |
-| `showRequired` | boolean | true | Show required column |
-| `showTypes` | boolean | true | Show type column |
-| `title` | string | undefined | Optional table title |
+
**Property Object:**
```js
@@ -664,11 +678,13 @@ Interactive JSON schema visualization with expandable nested properties.
#### Props
-| Prop | Type | Default | Description |
-|------|------|---------|-------------|
-| `schema` | Object | Required | JSON schema object |
-| `collapsed` | boolean | false | Start collapsed |
-| `depth` | number | 0 | Initial nesting depth |
+
#### Usage
@@ -745,13 +761,15 @@ Complete API reference section with parameters and response tabs.
#### Props
-| Prop | Type | Required | Description |
-|------|------|----------|-------------|
-| `method` | string | Yes | HTTP method |
-| `endpoint` | string | Yes | API endpoint |
-| `description` | string | No | Endpoint description |
-| `parameters` | Array | No | Parameters |
-| `response` | Object | No | Example response |
+
#### Usage
@@ -815,11 +833,13 @@ Multi-step process visualization with completion states.
#### Props
-| Prop | Type | Default | Description |
-|------|------|---------|-------------|
-| `steps` | Array | Required | Array of step objects |
-| `currentStep` | number | 0 | Current active step (0-based) |
-| `orientation` | string | 'vertical' | Layout ('vertical', 'horizontal') |
+
**Step Object:**
```js
@@ -886,14 +906,16 @@ Hero section for documentation pages with gradient backgrounds.
#### Props
-| Prop | Type | Default | Description |
-|------|------|---------|-------------|
-| `title` | string | undefined | Hero title |
-| `subtitle` | string | undefined | Hero subtitle |
-| `backgroundImage` | string | undefined | Background image URL |
-| `variant` | string | 'gradient' | Style ('default', 'gradient', 'dark', 'image') |
-| `height` | string | 'medium' | Height ('small', 'medium', 'large', 'full') |
-| `children` | ReactNode | undefined | Additional content |
+
#### Usage
@@ -987,15 +1009,17 @@ Navigation cards for linking to documentation pages.
#### Props
-| Prop | Type | Default | Description |
-|------|------|---------|-------------|
-| `title` | string | Required | Card title |
-| `description` | string | undefined | Card description |
-| `href` | string | undefined | Link destination |
-| `icon` | string/ReactNode | undefined | Icon (emoji or component) |
-| `variant` | string | 'default' | Style ('default', 'primary', 'secondary') |
-| `size` | string | 'medium' | Size ('small', 'medium', 'large') |
-| `external` | boolean | false | External link |
+
#### Usage
@@ -1075,18 +1099,23 @@ Responsive grid layout for displaying features.
#### Props
**FeatureGrid:**
-| Prop | Type | Default | Description |
-|------|------|---------|-------------|
-| `columns` | number | 3 | Number of columns (2, 3, 4) |
-| `children` | ReactNode | Required | FeatureGridItem components |
+
**FeatureGridItem:**
-| Prop | Type | Description |
-|------|------|-------------|
-| `icon` | string/ReactNode | Icon (emoji or component) |
-| `title` | string | Feature title |
-| `description` | string | Feature description |
-| `href` | string | Optional link |
+
#### Usage
@@ -1152,13 +1181,16 @@ Animated feature card with gradient effects and hover animations.
#### Props
-| Prop | Type | Description |
-|------|------|-------------|
-| `icon` | string | Emoji or icon |
-| `title` | string | Card title |
-| `description` | string | Card description |
-| `gradient` | string | Gradient variant ('gradientBlue', 'gradientPurple', 'gradientPink', 'gradientGreen') |
-| `link` | string | Optional link URL |
+
#### Usage
@@ -1197,10 +1229,12 @@ Frosted glass effect container with backdrop blur.
#### Props
-| Prop | Type | Default | Description |
-|------|------|---------|-------------|
-| `hover` | boolean | false | Enable hover animation |
-| `children` | ReactNode | Required | Card content |
+
#### Usage
@@ -1268,12 +1302,15 @@ Display statistics and metrics with optional trend indicators.
#### Props
-| Prop | Type | Description |
-|------|------|-------------|
-| `value` | string/ReactNode | Metric value |
-| `label` | string | Metric label |
-| `icon` | string | Optional icon |
-| `trend` | Object | Optional trend `{direction: 'up'/'down', value: '12%'}` |
+
#### Usage
@@ -1334,9 +1371,12 @@ Vertical timeline for roadmaps, changelogs, or historical events.
#### Props
-| Prop | Type | Description |
-|------|------|-------------|
-| `items` | Array | Required array of timeline items |
+
**Timeline Item:**
```js
@@ -1421,10 +1461,13 @@ Feature comparison table with highlighted columns.
#### Props
-| Prop | Type | Description |
-|------|------|-------------|
-| `features` | Array | Array of feature objects |
-| `columns` | Array | Array of column objects |
+
**Column Object:**
```js
@@ -1490,10 +1533,13 @@ Text with gradient color effects - perfect for headings and emphasis.
#### Props
-| Prop | Type | Description |
-|------|------|-------------|
-| `variant` | string | Gradient variant ('primary', 'secondary', 'accent', 'success') |
-| `children` | ReactNode | Text content |
+
#### Usage
@@ -1545,11 +1591,13 @@ Pill-shaped label for status, tags, and metadata.
#### Props
-| Prop | Type | Default | Description |
-|------|------|---------|-------------|
-| `variant` | string | 'primary' | Style variant |
-| `size` | string | 'medium' | Size ('small', 'medium', 'large') |
-| `children` | ReactNode | Required | Badge content |
+
**Variants:**
- `primary` - Main actions
@@ -1604,13 +1652,15 @@ Animated button with gradient effects and glow on hover.
#### Props
-| Prop | Type | Default | Description |
-|------|------|---------|-------------|
-| `to` or `href` | string | undefined | Link destination |
-| `variant` | string | 'primary' | Style ('primary', 'secondary', 'success', 'outline') |
-| `size` | string | 'medium' | Size ('small', 'medium', 'large') |
-| `external` | boolean | false | Open in new tab |
-| `children` | ReactNode | Required | Button content |
+
#### Usage
@@ -1676,14 +1726,16 @@ Smooth counting animation for numbers.
#### Props
-| Prop | Type | Default | Description |
-|------|------|---------|-------------|
-| `end` | number | Required | Target number |
-| `duration` | number | 2000 | Animation duration (ms) |
-| `prefix` | string | '' | Prefix (e.g., '$') |
-| `suffix` | string | '' | Suffix (e.g., '+', 'K') |
-| `separator` | string | ',' | Thousands separator |
-| `decimals` | number | 0 | Decimal places |
+
#### Usage
@@ -1726,10 +1778,13 @@ Feedback widget for collecting user feedback on documentation pages.
#### Props
-| Prop | Type | Description |
-|------|------|-------------|
-| `pageId` | string | Unique page identifier |
-| `onSubmit` | Function | Callback when feedback submitted |
+
#### Usage
@@ -1779,11 +1834,13 @@ Display when page was last updated.
#### Props
-| Prop | Type | Default | Description |
-|------|------|---------|-------------|
-| `date` | string/Date | Required | Date value |
-| `author` | string | undefined | Optional author |
-| `showAuthor` | boolean | false | Show author name |
+
#### Usage
@@ -1825,10 +1882,12 @@ the overall user experience of your documentation site.`}
#### Props
-| Prop | Type | Default | Description |
-|------|------|---------|-------------|
-| `content` | string/ReactNode | Required | Content to analyze |
-| `wordsPerMinute` | number | 200 | Reading speed |
+
#### Usage
@@ -1882,10 +1941,12 @@ Display related documentation articles with navigation cards.
#### Props
-| Prop | Type | Default | Description |
-|------|------|---------|-------------|
-| `items` | Array | Required | Array of related items |
-| `title` | string | 'Related Documentation' | Section title |
+
**Item Object:**
```js
@@ -1963,12 +2024,14 @@ This is a simple note without a custom title.
#### Props
-| Prop | Type | Default | Description |
-|------|------|---------|-------------|
-| `type` | string | 'info' | Type ('info', 'warning', 'danger', 'success', 'tip', 'note') |
-| `title` | string | undefined | Optional custom title |
-| `icon` | boolean | true | Show icon |
-| `children` | ReactNode | Required | Content |
+
#### Usage
diff --git a/docs/src/components/api/PropertyTable/index.js b/docs/src/components/api/PropertyTable/index.js
index 5465ae5d..67c25312 100644
--- a/docs/src/components/api/PropertyTable/index.js
+++ b/docs/src/components/api/PropertyTable/index.js
@@ -1,9 +1,9 @@
import React from 'react';
-import clsx from 'clsx';
import styles from './styles.module.css';
/**
- * PropertyTable Component - API property documentation table
+ * PropertyTable Component - Modern API property documentation table
+ * Inspired by Shadcn UI design patterns
*
* @param {Array} properties - Array of property objects
* @param {boolean} showRequired - Show required column (default: true)
@@ -20,52 +20,54 @@ export default function PropertyTable({
{title &&
{title}
}
-
-
-
- | Property |
- {showTypes && Type | }
- {showRequired && Required | }
- Description |
-
-
-
- {properties.map((prop, index) => (
-
-
- {prop.name}
- |
- {showTypes && (
-
- {prop.type || 'any'}
- |
- )}
- {showRequired && (
-
- {prop.required ? (
- Yes
- ) : (
- No
- )}
+
+
+
+
+ | Property |
+ {showTypes && Type | }
+ {showRequired && Required | }
+ Description |
+
+
+
+ {properties.map((prop, index) => (
+
+
+ {prop.name}
|
- )}
-
- {prop.description || prop.desc || '-'}
- {prop.default !== undefined && (
-
- Default: {String(prop.default)}
-
+ {showTypes && (
+ |
+ {prop.type || 'any'}
+ |
)}
- {prop.example && (
-
- Example: {String(prop.example)}
-
+ {showRequired && (
+
+ {prop.required ? (
+ Yes
+ ) : (
+ No
+ )}
+ |
)}
-
-
- ))}
-
-
+
+ {prop.description || prop.desc || '-'}
+ {prop.default !== undefined && (
+
+ Default: {String(prop.default)}
+
+ )}
+ {prop.example && (
+
+ Example: {String(prop.example)}
+
+ )}
+ |
+ |
+ ))}
+
+
+
);
diff --git a/docs/src/components/api/PropertyTable/styles.module.css b/docs/src/components/api/PropertyTable/styles.module.css
index 478e198a..95741d68 100644
--- a/docs/src/components/api/PropertyTable/styles.module.css
+++ b/docs/src/components/api/PropertyTable/styles.module.css
@@ -1,89 +1,178 @@
-/* PropertyTable Component */
+/* PropertyTable Component - Modern Shadcn-inspired Design */
.propertyTable {
- margin: 1.5rem 0;
+ margin: 2rem 0;
+ width: 100%;
}
.tableTitle {
- font-size: 1.25rem;
- font-weight: 700;
+ font-size: 1.125rem;
+ font-weight: 600;
margin-bottom: 1rem;
color: var(--ifm-heading-color);
+ letter-spacing: -0.01em;
}
-.tableWrapper {
- overflow-x: auto;
+[data-theme='dark'] .tableTitle {
+ color: #ffffff;
}
-.table {
+/* Table Wrapper with Scroll */
+.tableWrapper {
+ position: relative;
width: 100%;
- border-collapse: collapse;
+ border: 1px solid var(--ifm-color-emphasis-200);
+ border-radius: 0.5rem;
background: var(--ifm-background-surface-color);
+ overflow: hidden;
}
-[data-theme='dark'] .table {
+[data-theme='dark'] .tableWrapper {
+ border-color: #2a2a2a;
background: #0f0f0f;
}
+/* Scrollable Container */
+.tableContainer {
+ overflow-x: auto;
+ overflow-y: visible;
+ -webkit-overflow-scrolling: touch;
+ scrollbar-width: thin;
+ scrollbar-color: var(--ifm-color-emphasis-300) transparent;
+}
+
+/* Custom Scrollbar */
+.tableContainer::-webkit-scrollbar {
+ height: 8px;
+}
+
+.tableContainer::-webkit-scrollbar-track {
+ background: transparent;
+}
+
+.tableContainer::-webkit-scrollbar-thumb {
+ background: var(--ifm-color-emphasis-300);
+ border-radius: 4px;
+}
+
+.tableContainer::-webkit-scrollbar-thumb:hover {
+ background: var(--ifm-color-emphasis-400);
+}
+
+[data-theme='dark'] .tableContainer::-webkit-scrollbar-thumb {
+ background: #2a2a2a;
+}
+
+[data-theme='dark'] .tableContainer::-webkit-scrollbar-thumb:hover {
+ background: #3a3a3a;
+}
+
+/* Table */
+.table {
+ width: 100%;
+ border-collapse: separate;
+ border-spacing: 0;
+ min-width: 640px;
+}
+
+/* Table Header */
.table thead {
- background: var(--ifm-color-emphasis-100);
+ position: relative;
}
-[data-theme='dark'] .table thead {
- background: #1a1a1a;
+.table thead::after {
+ content: '';
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ height: 1px;
+ background: var(--ifm-color-emphasis-200);
+}
+
+[data-theme='dark'] .table thead::after {
+ background: #2a2a2a;
}
.table th {
- padding: 0.875rem 1rem;
+ padding: 0.75rem 1rem;
text-align: left;
- font-weight: 600;
- font-size: 0.875rem;
+ font-weight: 500;
+ font-size: 0.75rem;
text-transform: uppercase;
letter-spacing: 0.05em;
- color: var(--ifm-heading-color);
- border-bottom: 2px solid var(--ifm-color-emphasis-200);
+ color: var(--ifm-color-emphasis-700);
+ background: var(--ifm-color-emphasis-50);
+ border-bottom: none;
+ white-space: nowrap;
}
[data-theme='dark'] .table th {
- border-bottom-color: #2a2a2a;
- color: #ffffff;
+ background: #1a1a1a;
+ color: #a0a0a0;
}
-.table td {
- padding: 0.875rem 1rem;
- border-bottom: 1px solid var(--ifm-color-emphasis-200);
- color: var(--ifm-font-color-base);
- font-size: 0.9375rem;
+.table th:first-child {
+ padding-left: 1.5rem;
}
-[data-theme='dark'] .table td {
- border-bottom-color: #2a2a2a;
+.table th:last-child {
+ padding-right: 1.5rem;
+}
+
+/* Table Body */
+.table tbody tr {
+ border-bottom: 1px solid var(--ifm-color-emphasis-100);
+ transition: background-color 0.15s ease;
+}
+
+[data-theme='dark'] .table tbody tr {
+ border-bottom-color: #1a1a1a;
}
-.table tbody tr:last-child td {
+.table tbody tr:last-child {
border-bottom: none;
}
.table tbody tr:hover {
- background: var(--ifm-color-emphasis-100);
+ background: var(--ifm-color-emphasis-50);
}
[data-theme='dark'] .table tbody tr:hover {
background: #1a1a1a;
}
-/* Column widths */
+.table td {
+ padding: 1rem;
+ font-size: 0.875rem;
+ color: var(--ifm-font-color-base);
+ vertical-align: top;
+}
+
+[data-theme='dark'] .table td {
+ color: #e5e5e5;
+}
+
+.table td:first-child {
+ padding-left: 1.5rem;
+}
+
+.table td:last-child {
+ padding-right: 1.5rem;
+}
+
+/* Column Styles */
.nameColumn {
width: 20%;
- min-width: 150px;
+ min-width: 180px;
}
.typeColumn {
width: 15%;
- min-width: 120px;
+ min-width: 140px;
}
.requiredColumn {
- width: 10%;
+ width: 12%;
min-width: 100px;
}
@@ -91,81 +180,102 @@
width: auto;
}
+/* Name Cell */
.nameCell {
- font-weight: 600;
+ font-weight: 500;
}
.propertyName {
font-family: var(--ifm-font-family-monospace);
- font-size: 0.875rem;
- background: var(--ifm-code-background);
- padding: 0.125rem 0.375rem;
- border-radius: 0.25rem;
- color: var(--ifm-color-primary-dark);
+ font-size: 0.8125rem;
+ font-weight: 600;
+ background: var(--ifm-color-emphasis-100);
+ padding: 0.25rem 0.5rem;
+ border-radius: 0.375rem;
+ color: var(--ifm-color-primary);
border: 1px solid var(--ifm-color-emphasis-200);
+ display: inline-block;
+ line-height: 1.4;
}
[data-theme='dark'] .propertyName {
- background: #1a1a1a;
- border-color: #2a2a2a;
+ background: rgba(59, 130, 246, 0.1);
+ border-color: rgba(59, 130, 246, 0.2);
color: #93c5fd;
}
+/* Type Cell */
.typeCell {
font-family: var(--ifm-font-family-monospace);
}
.typeValue {
- font-size: 0.875rem;
+ font-size: 0.8125rem;
+ font-weight: 500;
color: var(--ifm-color-primary);
- background: var(--ifm-code-background);
- padding: 0.125rem 0.375rem;
- border-radius: 0.25rem;
+ background: var(--ifm-color-emphasis-100);
+ padding: 0.25rem 0.5rem;
+ border-radius: 0.375rem;
border: 1px solid var(--ifm-color-emphasis-200);
+ display: inline-block;
+ line-height: 1.4;
}
[data-theme='dark'] .typeValue {
+ background: rgba(59, 130, 246, 0.1);
+ border-color: rgba(59, 130, 246, 0.2);
color: #93c5fd;
- background: #1a1a1a;
- border-color: #2a2a2a;
}
+/* Required Cell */
.requiredCell {
- text-align: center;
+ text-align: left;
}
.requiredBadge {
- display: inline-block;
+ display: inline-flex;
+ align-items: center;
font-size: 0.75rem;
- padding: 0.125rem 0.5rem;
- border-radius: 0.25rem;
+ font-weight: 500;
+ padding: 0.25rem 0.625rem;
+ border-radius: 0.375rem;
background: rgba(239, 68, 68, 0.1);
color: #ef4444;
- font-weight: 600;
+ border: 1px solid rgba(239, 68, 68, 0.2);
}
[data-theme='dark'] .requiredBadge {
- background: rgba(239, 68, 68, 0.2);
+ background: rgba(239, 68, 68, 0.15);
color: #f87171;
+ border-color: rgba(239, 68, 68, 0.3);
}
.optionalBadge {
- display: inline-block;
+ display: inline-flex;
+ align-items: center;
font-size: 0.75rem;
- padding: 0.125rem 0.5rem;
- border-radius: 0.25rem;
- background: rgba(100, 116, 139, 0.1);
- color: #64748b;
- font-weight: 600;
+ font-weight: 500;
+ padding: 0.25rem 0.625rem;
+ border-radius: 0.375rem;
+ background: var(--ifm-color-emphasis-100);
+ color: var(--ifm-color-emphasis-600);
+ border: 1px solid var(--ifm-color-emphasis-200);
}
[data-theme='dark'] .optionalBadge {
- background: rgba(100, 116, 139, 0.2);
+ background: rgba(100, 116, 139, 0.15);
color: #94a3b8;
+ border-color: rgba(100, 116, 139, 0.3);
}
+/* Description Cell */
.descriptionCell {
line-height: 1.6;
+ color: var(--ifm-color-emphasis-700);
+}
+
+[data-theme='dark'] .descriptionCell {
+ color: #a0a0a0;
}
.defaultValue,
@@ -173,58 +283,108 @@
margin-top: 0.5rem;
font-size: 0.8125rem;
color: var(--ifm-color-emphasis-600);
+ line-height: 1.5;
}
[data-theme='dark'] .defaultValue,
[data-theme='dark'] .exampleValue {
- color: #909090;
+ color: #808080;
}
.defaultValue code,
.exampleValue code {
font-family: var(--ifm-font-family-monospace);
- font-size: 0.8125rem;
- background: var(--ifm-code-background);
+ font-size: 0.75rem;
+ background: var(--ifm-color-emphasis-100);
padding: 0.125rem 0.375rem;
border-radius: 0.25rem;
- color: var(--ifm-color-primary-dark);
+ color: var(--ifm-color-primary);
border: 1px solid var(--ifm-color-emphasis-200);
+ margin-left: 0.25rem;
}
[data-theme='dark'] .defaultValue code,
[data-theme='dark'] .exampleValue code {
- background: #1a1a1a;
- border-color: #2a2a2a;
+ background: rgba(59, 130, 246, 0.1);
+ border-color: rgba(59, 130, 246, 0.2);
color: #93c5fd;
}
-/* Responsive */
+/* Responsive Design */
@media (max-width: 996px) {
+ .propertyTable {
+ margin: 1.5rem 0;
+ }
+
+ .tableTitle {
+ font-size: 1rem;
+ }
+
.tableWrapper {
- font-size: 0.875rem;
+ border-radius: 0.375rem;
}
.table th,
.table td {
- padding: 0.75rem 0.875rem;
+ padding: 0.875rem 0.75rem;
+ font-size: 0.8125rem;
+ }
+
+ .table th:first-child,
+ .table td:first-child {
+ padding-left: 1rem;
+ }
+
+ .table th:last-child,
+ .table td:last-child {
+ padding-right: 1rem;
}
-}
-@media (max-width: 768px) {
.nameColumn,
.typeColumn,
.requiredColumn {
- width: auto;
- min-width: auto;
+ min-width: 120px;
}
+}
- .table {
- font-size: 0.8125rem;
+@media (max-width: 768px) {
+ .tableWrapper {
+ border-left: none;
+ border-right: none;
+ border-radius: 0;
}
.table th,
.table td {
- padding: 0.625rem 0.75rem;
+ padding: 0.75rem 0.625rem;
+ font-size: 0.75rem;
+ }
+
+ .table th:first-child,
+ .table td:first-child {
+ padding-left: 0.75rem;
}
-}
+ .table th:last-child,
+ .table td:last-child {
+ padding-right: 0.75rem;
+ }
+
+ .propertyName,
+ .typeValue {
+ font-size: 0.75rem;
+ padding: 0.1875rem 0.375rem;
+ }
+
+ .requiredBadge,
+ .optionalBadge {
+ font-size: 0.6875rem;
+ padding: 0.1875rem 0.5rem;
+ }
+
+ .defaultValue,
+ .exampleValue {
+ font-size: 0.75rem;
+ margin-top: 0.375rem;
+ }
+}
diff --git a/docs/src/components/docs/DocCard/styles.module.css b/docs/src/components/docs/DocCard/styles.module.css
index a9c47728..751c7a44 100644
--- a/docs/src/components/docs/DocCard/styles.module.css
+++ b/docs/src/components/docs/DocCard/styles.module.css
@@ -195,9 +195,47 @@
margin: 2rem 0;
}
+/* When sidebar is visible (typical desktop width), adjust for better fit */
+@media (min-width: 997px) and (max-width: 1200px) {
+ .docCardGrid {
+ grid-template-columns: 1fr;
+ gap: 1.25rem;
+ }
+}
+
+/* Wider screens with sidebar, allow 2 columns if space permits */
+@media (min-width: 1201px) and (max-width: 1400px) {
+ .docCardGrid {
+ grid-template-columns: repeat(var(--grid-columns, 2), 1fr);
+ gap: 1.25rem;
+ }
+}
+
+/* Very wide screens, allow configured columns */
+@media (min-width: 1401px) {
+ .docCardGrid {
+ grid-template-columns: repeat(var(--grid-columns, 2), 1fr);
+ gap: 1.5rem;
+ }
+}
+
@media (max-width: 996px) {
.docCardGrid {
grid-template-columns: 1fr;
+ gap: 1.25rem;
+ }
+}
+
+/* Responsive adjustments for cards when sidebar is visible */
+@media (min-width: 997px) and (max-width: 1200px) {
+ .docCard {
+ padding: 1.75rem;
+ gap: 1.125rem;
+ }
+
+ .docCardIcon {
+ width: 3.25rem;
+ height: 3.25rem;
}
}
diff --git a/docs/src/components/features/FeatureGrid/styles.module.css b/docs/src/components/features/FeatureGrid/styles.module.css
index e4cf1a5d..2e05d27a 100644
--- a/docs/src/components/features/FeatureGrid/styles.module.css
+++ b/docs/src/components/features/FeatureGrid/styles.module.css
@@ -1,19 +1,37 @@
/* FeatureGrid Component */
.featureGrid {
display: grid;
- grid-template-columns: repeat(var(--grid-columns, 3), 1fr);
+ grid-template-columns: repeat(var(--grid-columns, 2), 1fr);
gap: 2rem;
margin: 2.5rem 0;
}
-@media (max-width: 996px) {
+/* When sidebar is visible on narrower screens, switch to single column for better fit */
+@media (min-width: 997px) and (max-width: 1200px) {
+ .featureGrid {
+ grid-template-columns: 1fr;
+ gap: 1.5rem;
+ }
+}
+
+/* Wider screens with sidebar, keep 2 columns */
+@media (min-width: 1201px) {
+ .featureGrid {
+ grid-template-columns: repeat(var(--grid-columns, 2), 1fr);
+ gap: 2rem;
+ }
+}
+
+/* Tablet range - 2 columns */
+@media (min-width: 689px) and (max-width: 996px) {
.featureGrid {
grid-template-columns: repeat(2, 1fr);
gap: 1.5rem;
}
}
-@media (max-width: 768px) {
+/* Mobile - single column with adjusted spacing */
+@media (max-width: 688px) {
.featureGrid {
grid-template-columns: 1fr;
gap: 1.25rem;
diff --git a/docs/src/css/documentation.css b/docs/src/css/documentation.css
index 81bc964d..831d401e 100644
--- a/docs/src/css/documentation.css
+++ b/docs/src/css/documentation.css
@@ -185,7 +185,7 @@
/* Tables */
.markdown table {
- margin: 2rem 0;
+ margin: 0 !important;
border-collapse: collapse;
width: 100%;
border-radius: 0.75rem;
diff --git a/docs/src/pages/home/ctaSection.module.css b/docs/src/pages/home/ctaSection.module.css
index 2d864e62..0a1fd8c5 100644
--- a/docs/src/pages/home/ctaSection.module.css
+++ b/docs/src/pages/home/ctaSection.module.css
@@ -3,11 +3,11 @@
.ctaSection { padding: 8rem 0; background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%); position: relative; }
.ctaContent { max-width: 800px; margin: 0 auto; text-align: center; padding: 4rem 2rem; background: white; border: 1px solid #e2e8f0; border-radius: 2rem; box-shadow: 0 20px 40px rgba(0,0,0,0.08); }
-.ctaTitle { font-size: clamp(2rem, 4vw, 3rem); font-weight: 800; line-height: 1.2; letter-spacing: -0.03em; color: #0f172a; margin-bottom: 1.5rem; }
-.ctaDescription { font-size: 1.125rem; line-height: 1.7; color: #64748b; margin-bottom: 2.5rem; }
+.ctaTitle { font-size: clamp(2rem, 4vw, 3rem); font-weight: 800; line-height: 1.2; letter-spacing: -0.03em; color: #0f172a; margin-bottom: 1.5rem; text-align: center; }
+.ctaDescription { font-size: 1.125rem; line-height: 1.7; color: #64748b; margin-bottom: 2.5rem; text-align: center; }
.ctaButtons { display: flex; align-items: center; justify-content: center; gap: 1rem; flex-wrap: wrap; }
-.ctaButton { display: inline-flex; align-items: center; gap: 0.625rem; padding: 1rem 2rem; font-size: 1rem; font-weight: 600; border-radius: 0.75rem; text-decoration: none; transition: all var(--motion-duration-normal) var(--motion-ease-standard); border: 2px solid transparent; white-space: nowrap; }
+.ctaButton { display: inline-flex; align-items: center; justify-content: center; gap: 0.625rem; padding: 1rem 2rem; font-size: 1rem; font-weight: 600; border-radius: 0.75rem; text-decoration: none; transition: all var(--motion-duration-normal) var(--motion-ease-standard); border: 2px solid transparent; white-space: nowrap; }
.ctaPrimary { background: linear-gradient(135deg, var(--compose-primary-500) 0%, var(--compose-primary-600) 100%); color: white; box-shadow: 0 4px 14px rgba(59,130,246,0.4), 0 1px 3px rgba(0,0,0,0.12); }
.ctaPrimary:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(59,130,246,0.5), 0 4px 8px rgba(0,0,0,0.12); color: white; }
.ctaSecondaryLight { background: rgba(59,130,246,0.05); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); color: #1e40af; border: 2px solid rgba(59,130,246,0.3); }
diff --git a/docs/static/icons/arrow-right.svg b/docs/static/icons/arrow-right.svg
index a4bac1d9..1170f672 100644
--- a/docs/static/icons/arrow-right.svg
+++ b/docs/static/icons/arrow-right.svg
@@ -1,11 +1,5 @@