torch-glare-mcp 1.0.5 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
title:
|
|
2
|
+
name: SectionBlock
|
|
3
|
+
title: SectionBlock
|
|
4
4
|
description: Sectioned card container with a colored title badge for grouping related content like forms, tables, or lists.
|
|
5
5
|
category: layout
|
|
6
6
|
group: Layout & Containers
|
|
@@ -11,34 +11,34 @@ dependencies:
|
|
|
11
11
|
- "class-variance-authority": "^0.7.0"
|
|
12
12
|
---
|
|
13
13
|
|
|
14
|
-
#
|
|
14
|
+
# SectionBlock
|
|
15
15
|
|
|
16
16
|
> A card container with an optional colored title badge. Use it to group related content — custom field forms, tables, settings groups — under a clear, color-coded heading.
|
|
17
17
|
|
|
18
18
|
## Installation
|
|
19
19
|
|
|
20
20
|
```bash
|
|
21
|
-
npx torch-glare add
|
|
21
|
+
npx torch-glare add SectionBlock
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
## Import
|
|
25
25
|
|
|
26
26
|
```typescript
|
|
27
|
-
import {
|
|
27
|
+
import { SectionBlock, type SectionColor } from "@/components/SectionBlock";
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
## Basic Usage
|
|
31
31
|
|
|
32
32
|
```tsx
|
|
33
|
-
import {
|
|
33
|
+
import { SectionBlock } from "@/components/SectionBlock";
|
|
34
34
|
|
|
35
35
|
export function Example() {
|
|
36
36
|
return (
|
|
37
|
-
<
|
|
37
|
+
<SectionBlock color="Blue" title="Project details">
|
|
38
38
|
<p className="text-content-presentation-action-light-primary py-4">
|
|
39
39
|
Card body content goes here.
|
|
40
40
|
</p>
|
|
41
|
-
</
|
|
41
|
+
</SectionBlock>
|
|
42
42
|
);
|
|
43
43
|
}
|
|
44
44
|
```
|
|
@@ -71,7 +71,7 @@ export type SectionColor =
|
|
|
71
71
|
| "Pink"
|
|
72
72
|
| "Gray";
|
|
73
73
|
|
|
74
|
-
export interface
|
|
74
|
+
export interface SectionBlockProps
|
|
75
75
|
extends Omit<HTMLAttributes<HTMLDivElement>, "title"> {
|
|
76
76
|
color?: SectionColor;
|
|
77
77
|
title?: ReactNode;
|
|
@@ -81,14 +81,14 @@ export interface SectionCardProps
|
|
|
81
81
|
}
|
|
82
82
|
```
|
|
83
83
|
|
|
84
|
-
The component is a `forwardRef<HTMLDivElement,
|
|
84
|
+
The component is a `forwardRef<HTMLDivElement, SectionBlockProps>`.
|
|
85
85
|
|
|
86
86
|
## Examples
|
|
87
87
|
|
|
88
88
|
### All Colors
|
|
89
89
|
|
|
90
90
|
```tsx
|
|
91
|
-
import {
|
|
91
|
+
import { SectionBlock, type SectionColor } from "@/components/SectionBlock";
|
|
92
92
|
|
|
93
93
|
const COLORS: SectionColor[] = [
|
|
94
94
|
"Blue",
|
|
@@ -105,11 +105,11 @@ export function AllColors() {
|
|
|
105
105
|
return (
|
|
106
106
|
<div className="flex flex-col gap-[24px]">
|
|
107
107
|
{COLORS.map((color) => (
|
|
108
|
-
<
|
|
108
|
+
<SectionBlock key={color} color={color} title={`${color} section`}>
|
|
109
109
|
<p className="text-content-presentation-action-light-primary py-4">
|
|
110
110
|
This is a {color.toLowerCase()} sectioned card.
|
|
111
111
|
</p>
|
|
112
|
-
</
|
|
112
|
+
</SectionBlock>
|
|
113
113
|
))}
|
|
114
114
|
</div>
|
|
115
115
|
);
|
|
@@ -121,11 +121,11 @@ export function AllColors() {
|
|
|
121
121
|
When `title` is omitted, the header is hidden but the body padding remains.
|
|
122
122
|
|
|
123
123
|
```tsx
|
|
124
|
-
<
|
|
124
|
+
<SectionBlock>
|
|
125
125
|
<p className="text-content-presentation-action-light-primary py-4">
|
|
126
|
-
A
|
|
126
|
+
A SectionBlock without a title — header is hidden, body still padded.
|
|
127
127
|
</p>
|
|
128
|
-
</
|
|
128
|
+
</SectionBlock>
|
|
129
129
|
```
|
|
130
130
|
|
|
131
131
|
### Rich Title with Icon
|
|
@@ -133,7 +133,7 @@ When `title` is omitted, the header is hidden but the body padding remains.
|
|
|
133
133
|
`title` accepts any ReactNode, so you can pass JSX with icons, counts, links, etc.
|
|
134
134
|
|
|
135
135
|
```tsx
|
|
136
|
-
<
|
|
136
|
+
<SectionBlock
|
|
137
137
|
color="Purple"
|
|
138
138
|
title={
|
|
139
139
|
<span className="flex items-center gap-[6px]">
|
|
@@ -145,22 +145,22 @@ When `title` is omitted, the header is hidden but the body padding remains.
|
|
|
145
145
|
<p className="text-content-presentation-action-light-primary py-4">
|
|
146
146
|
The title prop is fully customizable.
|
|
147
147
|
</p>
|
|
148
|
-
</
|
|
148
|
+
</SectionBlock>
|
|
149
149
|
```
|
|
150
150
|
|
|
151
151
|
### Custom Fields Form
|
|
152
152
|
|
|
153
|
-
A common pattern: pair `
|
|
153
|
+
A common pattern: pair `SectionBlock` with a row layout to build labeled-field forms.
|
|
154
154
|
|
|
155
155
|
```tsx
|
|
156
156
|
import { type ReactNode } from "react";
|
|
157
|
-
import {
|
|
157
|
+
import { SectionBlock } from "@/components/SectionBlock";
|
|
158
158
|
import { InputField } from "@/components/InputField";
|
|
159
159
|
import { ActionButton } from "@/components/ActionButton";
|
|
160
160
|
|
|
161
161
|
export function CustomFieldsForm() {
|
|
162
162
|
return (
|
|
163
|
-
<
|
|
163
|
+
<SectionBlock
|
|
164
164
|
color="Blue"
|
|
165
165
|
title={
|
|
166
166
|
<span className="flex items-center gap-[6px]">
|
|
@@ -203,7 +203,7 @@ export function CustomFieldsForm() {
|
|
|
203
203
|
/>
|
|
204
204
|
}
|
|
205
205
|
/>
|
|
206
|
-
</
|
|
206
|
+
</SectionBlock>
|
|
207
207
|
);
|
|
208
208
|
}
|
|
209
209
|
|
|
@@ -241,7 +241,7 @@ function RowDivider() {
|
|
|
241
241
|
Use `containerClassName`, `headerClassName`, and `bodyClassName` to override the built-in spacing and width without losing the title/body structure.
|
|
242
242
|
|
|
243
243
|
```tsx
|
|
244
|
-
<
|
|
244
|
+
<SectionBlock
|
|
245
245
|
color="Green"
|
|
246
246
|
title="Compact card"
|
|
247
247
|
containerClassName="w-[600px] pt-[4px] pb-[16px]"
|
|
@@ -250,14 +250,14 @@ Use `containerClassName`, `headerClassName`, and `bodyClassName` to override the
|
|
|
250
250
|
<p className="text-content-presentation-action-light-primary py-2">
|
|
251
251
|
Tighter, narrower variant.
|
|
252
252
|
</p>
|
|
253
|
-
</
|
|
253
|
+
</SectionBlock>
|
|
254
254
|
```
|
|
255
255
|
|
|
256
256
|
## Patterns
|
|
257
257
|
|
|
258
258
|
- **Color coding**: Use distinct colors to help users scan a page of multiple sections (e.g., Blue for primary forms, Yellow for warnings, Red for destructive zones).
|
|
259
259
|
- **No-title sections**: Drop the `title` prop entirely when the section's purpose is obvious from context — keeps the body padding without the visual weight of a header.
|
|
260
|
-
- **Composing with form fields**: `
|
|
260
|
+
- **Composing with form fields**: `SectionBlock` does not impose any inner layout — pair it with helpers like the `FieldRow` pattern above, or with `InputField`, `Form`, or `FieldSection` for more structured forms.
|
|
261
261
|
- **Default width**: The component ships with `w-[1100px]`. Override via `containerClassName="w-full"` (or any specific width) for narrower containers.
|
|
262
262
|
|
|
263
263
|
## Accessibility
|
package/docs/llms-manifest.json
CHANGED
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
{ "name": "Card", "version": "1.1.15", "documented": false },
|
|
65
65
|
{ "name": "CNLayout", "version": "1.1.15", "documented": false },
|
|
66
66
|
{ "name": "FieldSection", "version": "1.1.15", "documented": false },
|
|
67
|
-
{ "name": "
|
|
67
|
+
{ "name": "SectionBlock", "version": "1.1.22", "documented": true },
|
|
68
68
|
{ "name": "TreeSubLayout", "version": "1.1.15", "documented": false },
|
|
69
69
|
{ "name": "Divider", "version": "1.1.15", "documented": false },
|
|
70
70
|
{ "name": "ScrollArea", "version": "1.1.15", "documented": false }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "torch-glare-mcp",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.6",
|
|
4
4
|
"description": "MCP server for TORCH Glare component library — gives AI assistants full access to component docs, API references, code examples, and design system info",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|