@slexkit/mcp 0.4.0 → 0.5.2

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,676 +1,249 @@
1
- # SlexKit Components for LLMs
1
+ # SlexKit custom elements
2
2
 
3
- Use these components inside Markdown `slex` fences. Raw component docs are ordinary `.md` pages that preserve `slex` examples.
4
3
 
5
- Public component count: 28
6
4
 
7
- ## Disclosure
5
+ ## `slex-column`
8
6
 
9
- - [Accordion](/docs/components/accordion.md): `accordion` - Expandable grouped panels.
10
- - [Collapsible](/docs/components/collapsible.md): `collapsible` - Single expandable region.
7
+ Properties: none
11
8
 
12
- ## Content
9
+ ```slex
10
+ <slex-column></slex-column>
11
+ ```
13
12
 
14
- - [Badge](/docs/components/badge.md): `badge` - Compact label for status or classification.
15
- - [Callout](/docs/components/callout.md): `callout` - Highlighted contextual message.
16
- - [Code Block](/docs/components/code-block.md): `code-block` - Formatted code or log block.
17
- - [Divider](/docs/components/divider.md): `divider` - Visual separator.
18
- - [Link](/docs/components/link.md): `link` - Inline navigation link.
19
- - [Section](/docs/components/section.md): `section` - Page section with optional heading chrome.
13
+ ## `slex-card`
20
14
 
21
- ## Action
15
+ Properties: `title`, `icon`, `tone`, `variant`
22
16
 
23
- - [Button](/docs/components/button.md): `button` - Action trigger.
17
+ ```slex
18
+ <slex-card title="Metrics" icon="chart-bar">
19
+ <div style="display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem;">
20
+ <slex-stat label="Requests" value="1.2k" unit="/min"></slex-stat>
21
+ <slex-stat label="Latency" value="42" unit="ms"></slex-stat>
22
+ </div>
23
+ </slex-card>
24
+ ```
24
25
 
25
- ## Layout
26
+ ## `slex-grid`
26
27
 
27
- - [Card](/docs/components/card.md): `card` - Grouping container for related content.
28
- - [Column](/docs/components/column.md): `column` - Vertical layout container.
29
- - [Grid](/docs/components/grid.md): `grid` - Responsive grid container.
30
- - [Row](/docs/components/row.md): `row` - Horizontal layout container.
28
+ Properties: `columns`, `smColumns`, `mdColumns`, `lgColumns`, `xlColumns`, `gap`
31
29
 
32
- ## Input
30
+ ```slex
31
+ <slex-grid></slex-grid>
32
+ ```
33
33
 
34
- - [Checkbox](/docs/components/checkbox.md): `checkbox` - Boolean checkbox input.
35
- - [Input](/docs/components/input.md): `input` - Text or engineering-value input.
36
- - [Radio Group](/docs/components/radio-group.md): `radio-group` - Single-choice option group.
37
- - [Select](/docs/components/select.md): `select` - Dropdown selection input.
38
- - [Slider](/docs/components/slider.md): `slider` - Numeric range input.
39
- - [Switch](/docs/components/switch.md): `switch` - Boolean switch input.
34
+ ## `slex-row`
40
35
 
41
- ## Display
36
+ Properties: `gap`, `align`, `justify`
42
37
 
43
- - [Formula](/docs/components/formula.md): `formula` - Reactive KaTeX formula display.
44
- - [Stat](/docs/components/stat.md): `stat` - Metric display.
45
- - [Text](/docs/components/text.md): `text` - Plain text display.
38
+ ```slex
39
+ <slex-row></slex-row>
40
+ ```
46
41
 
47
- ## Component
42
+ ## `slex-input`
48
43
 
49
- - [Icon](/docs/components/icon.md): `icon` - Shared icon field capability.
44
+ Properties: `label`, `unit`, `description`, `disabled`, `name`, `value`, `aria-label`, `type`, `placeholder`, `readOnly`, `required`, `invalid`, `error`, `min`, `max`, `step`
50
45
 
51
- ## Tooling
46
+ ```slex
47
+ <slex-input id="value" label="Project" value="SlexKit" placeholder="Enter name" description="Visible labels keep form fields scannable."></slex-input>
48
+ ```
52
49
 
53
- - [Playground](/docs/components/playground.md): `playground` - Interactive source preview.
50
+ ## `slex-slider`
54
51
 
55
- ## Feedback
52
+ Properties: `label`, `unit`, `description`, `disabled`, `name`, `value`, `aria-label`, `min`, `max`, `step`, `orientation`
56
53
 
57
- - [Progress](/docs/components/progress.md): `progress` - Progress bar.
58
- - [Toast](/docs/components/toast.md): `toast` - Transient notification.
54
+ ```slex
55
+ <slex-slider></slex-slider>
56
+ ```
59
57
 
60
- ## Data
58
+ ## `slex-checkbox`
61
59
 
62
- - [Table](/docs/components/table.md): `table` - Simple data table.
60
+ Properties: `label`, `unit`, `description`, `disabled`, `name`, `value`, `aria-label`, `checked`
63
61
 
64
- ## Navigation
62
+ ```slex
63
+ <slex-checkbox></slex-checkbox>
64
+ ```
65
65
 
66
- - [Tabs](/docs/components/tabs.md): `tabs` - Tabbed view switcher.
66
+ ## `slex-switch`
67
67
 
68
- ---
68
+ Properties: `label`, `unit`, `description`, `disabled`, `name`, `value`, `aria-label`, `checked`, `enabled`
69
69
 
70
- # Generated Component API Reference
70
+ ```slex
71
+ <slex-switch></slex-switch>
72
+ ```
71
73
 
72
- ## Accordion API (`accordion`)
74
+ ## `slex-button`
73
75
 
74
- Category: Disclosure
75
- Status: ready
76
- State mode: none
77
- Since: 0.1.0
76
+ Properties: `label`, `icon`, `variant`, `disabled`, `pressed`, `selected`, `title`, `aria-label`
78
77
 
79
- ### Props
80
- - `value` (string | string[]; optional; dynamic): Current expanded item value; use an array when multiple is true.
81
- - `multiple` (boolean; optional; static; default: false): Allow multiple items to be expanded at the same time.
82
- - `items` (array; optional; static): Panel definitions with value, label, content, and optional icon.
83
- - `items[].icon` (string; optional; static): Icon name shown before an item trigger label.
84
- - `onchange` (write-expression; optional; static): Write expression invoked when expanded items change.
78
+ ```slex
79
+ <slex-button id="action" label="Run"></slex-button>
80
+ ```
85
81
 
86
- ### Children
87
- No child components.
82
+ ## `slex-stat`
88
83
 
89
- ---
84
+ Properties: `label`, `value`, `unit`, `icon`, `tone`, `animateInitial`
90
85
 
91
- ## Badge API (`badge`)
86
+ ```slex
87
+ <slex-stat></slex-stat>
88
+ ```
92
89
 
93
- Category: Content
94
- Status: ready
95
- State mode: readable
96
- Since: 0.1.0
90
+ ## `slex-text`
97
91
 
98
- ### Props
99
- - `label` (string; optional; dynamic): Badge text.
100
- - `text` (string; optional; dynamic): Alias for label.
101
- - `content` (string; optional; dynamic): Alias for label.
102
- - `icon` (string; optional; static): Icon name shown before the badge label.
103
- - `tone` (string; optional; static; default: "info"; values: info, success, warning, danger, muted): Semantic tone applied to the badge.
104
- - `variant` (string; optional; static; values: info, success, warning, danger, muted): Alias for tone.
92
+ Properties: `content`, `text`, `label`, `variant`, `color`, `size`
105
93
 
106
- ### Children
107
- No child components.
94
+ ```slex
95
+ <slex-text></slex-text>
96
+ ```
108
97
 
109
- ---
98
+ ## `slex-progress`
110
99
 
111
- ## Button API (`button`)
100
+ Properties: `label`, `value`, `icon`, `indeterminate`, `aria-label`
112
101
 
113
- Category: Action
114
- Status: ready
115
- State mode: none
116
- Since: 0.1.0
102
+ ```slex
103
+ <slex-progress></slex-progress>
104
+ ```
117
105
 
118
- ### Props
119
- - `label` (string; optional; dynamic): Visible button text and accessible name.
120
- - `icon` (string; optional; static): Icon name shown before the label.
121
- - `iconOnly` (boolean; optional; static; default: false): Show only the icon while retaining label as the accessible name.
122
- - `variant` (string; optional; static; default: "primary"; values: primary, secondary, danger, ghost): Semantic action variant.
123
- - `disabled` (boolean; optional; dynamic; default: false): Disable the action.
124
- - `href` (string; optional; dynamic): Render the button surface as a link to this URL.
125
- - `target` (string; optional; static): Link target used when href is present.
126
- - `title` (string; optional; dynamic): Tooltip and accessible-label fallback.
127
- - `selected` (boolean; optional; dynamic): Render the icon in its selected visual state.
128
- - `active` (boolean; optional; dynamic): Render the icon in its active visual state.
129
- - `pressed` (boolean; optional; dynamic): Expose pressed state and render the selected icon style.
130
- - `onclick` (write-expression; optional; static): Write expression invoked when the button is clicked.
106
+ ## `slex-badge`
131
107
 
132
- ### Children
133
- No child components.
108
+ Properties: `label`, `text`, `icon`, `tone`, `variant`
134
109
 
135
- ---
110
+ ```slex
111
+ <slex-badge></slex-badge>
112
+ ```
136
113
 
137
- ## Callout API (`callout`)
114
+ ## `slex-code-block`
138
115
 
139
- Category: Content
140
- Status: ready
141
- State mode: readable
142
- Since: 0.1.0
116
+ Properties: `code`, `content`, `language`, `title`
143
117
 
144
- ### Props
145
- - `title` (string; optional; dynamic): Callout title.
146
- - `heading` (string; optional; dynamic): Alias for title.
147
- - `label` (string; optional; dynamic): Alias for title.
148
- - `icon` (string; optional; static): Icon name shown before the title.
149
- - `text` (string; optional; dynamic): Callout body text.
150
- - `message` (string; optional; dynamic): Alias for text.
151
- - `content` (string; optional; dynamic): Alias for text.
152
- - `tone` (string; optional; static; default: "info"; values: info, success, warning, danger): Semantic tone for the callout.
118
+ ```slex
119
+ <slex-code-block></slex-code-block>
120
+ ```
153
121
 
154
- ### Children
155
- Nested component fields are rendered as child content in field order.
122
+ ## `slex-divider`
156
123
 
157
- ---
124
+ Properties: `label`, `icon`
158
125
 
159
- ## Card API (`card`)
126
+ ```slex
127
+ <slex-divider></slex-divider>
128
+ ```
160
129
 
161
- Category: Layout
162
- Status: ready
163
- State mode: none
164
- Since: 0.1.0
130
+ ## `slex-link`
165
131
 
166
- ### Props
167
- - `title` (string; optional; dynamic): Card title.
168
- - `icon` (string; optional; static): Icon name shown before the title.
169
- - `tone` (string; optional; static; values: info, success, warning, danger, muted): Optional semantic tone for the card surface.
170
- - `variant` (string; optional; static; values: tool): Use tool for ToolHost input cards with compact chrome.
132
+ Properties: `text`, `label`, `href`, `target`, `icon`, `variant`
171
133
 
172
- ### Children
173
- Nested component fields are rendered as child content in field order.
134
+ ```slex
135
+ <slex-link></slex-link>
136
+ ```
174
137
 
175
- ---
138
+ ## `slex-table`
176
139
 
177
- ## Checkbox API (`checkbox`)
140
+ Properties: `columns`, `rows`, `items`
178
141
 
179
- Category: Input
180
- Status: ready
181
- State mode: checked
182
- Since: 0.1.0
142
+ ```slex
143
+ <slex-table id="items"></slex-table>
144
+ <script type="module">
145
+ const table = slex.root.querySelector("#items");
146
+ table.columns = [{ key: "name", label: "Name" }];
147
+ table.rows = [{ name: "Ada" }];
148
+ </script>
149
+ ```
183
150
 
184
- ### Props
185
- - `checked` (boolean; optional; dynamic; default: false): Checked state.
186
- - `label` (string; optional; dynamic): Checkbox label.
187
- - `icon` (string; optional; static): Icon name shown before the visible label.
188
- - `disabled` (boolean; optional; dynamic; default: false): Disable the checkbox.
189
- - `haptic` (boolean; optional; static; default: true): Enable vibration feedback on supported devices.
190
- - `haptics` (boolean; optional; static; default: true): Alias for haptic.
191
- - `onchange` (write-expression; optional; static): Write expression invoked when checked state changes.
151
+ ## `slex-select`
192
152
 
193
- ### Children
194
- No child components.
153
+ Properties: `label`, `unit`, `description`, `disabled`, `name`, `value`, `aria-label`, `options`, `placeholder`, `icon`, `variant`, `required`
195
154
 
196
- ---
155
+ ```slex
156
+ <slex-select></slex-select>
157
+ ```
197
158
 
198
- ## Code Block API (`code-block`)
159
+ ## `slex-radio-group`
199
160
 
200
- Category: Content
201
- Status: ready
202
- State mode: readable
203
- Since: 0.1.0
161
+ Properties: `label`, `unit`, `description`, `disabled`, `name`, `value`, `aria-label`, `options`, `orientation`, `icon`, `variant`, `required`
204
162
 
205
- ### Props
206
- - `code` (string; optional; dynamic): Code text content.
207
- - `source` (string; optional; dynamic): Alias for code.
208
- - `content` (string; optional; dynamic): Alias for code.
209
- - `language` (string; optional; static): Language label.
210
- - `title` (string; optional; static): Code block title.
211
- - `icon` (string; optional; static): Icon name shown before the title.
212
- - `lineNumbers` (boolean; optional; static; default: true): Show line numbers.
163
+ ```slex
164
+ <slex-radio-group></slex-radio-group>
165
+ ```
213
166
 
214
- ### Children
215
- No child components.
167
+ ## `slex-tabs`
216
168
 
217
- ---
169
+ Properties: `value`, `tabs`, `orientation`
218
170
 
219
- ## Collapsible API (`collapsible`)
171
+ ```slex
172
+ <slex-tabs></slex-tabs>
173
+ ```
220
174
 
221
- Category: Disclosure
222
- Status: ready
223
- State mode: none
224
- Since: 0.1.0
175
+ ## `slex-accordion`
225
176
 
226
- ### Props
227
- - `open` (boolean; optional; dynamic; default: false): Expanded state.
228
- - `trigger` (string; optional; dynamic): Trigger button text.
229
- - `icon` (string; optional; static): Icon name shown before trigger text.
230
- - `content` (string; optional; dynamic): Static body content.
231
- - `onchange` (write-expression; optional; static): Write expression invoked when open state changes.
177
+ Properties: `value`, `items`, `multiple`
232
178
 
233
- ### Children
234
- Nested component fields are rendered as child content in field order.
179
+ ```slex
180
+ <slex-accordion></slex-accordion>
181
+ ```
235
182
 
236
- ---
183
+ ## `slex-collapsible`
237
184
 
238
- ## Column API (`column`)
185
+ Properties: `open`, `trigger`, `icon`, `content`
239
186
 
240
- Category: Layout
241
- Status: ready
242
- State mode: none
243
- Since: 0.1.0
187
+ ```slex
188
+ <slex-collapsible></slex-collapsible>
189
+ ```
244
190
 
245
- ### Props
246
- - No props.
191
+ ## `slex-formula`
247
192
 
248
- ### Children
249
- Nested component fields are rendered as child content in field order.
193
+ Properties: `tex`, `displayMode`
250
194
 
251
- ---
195
+ ```slex
196
+ <slex-formula></slex-formula>
197
+ ```
252
198
 
253
- ## Divider API (`divider`)
254
-
255
- Category: Content
256
- Status: ready
257
- State mode: readable
258
- Since: 0.1.0
259
-
260
- ### Props
261
- - `label` (string; optional; dynamic): Text shown in the divider.
262
- - `icon` (string; optional; static): Icon name shown before the label.
263
-
264
- ### Children
265
- No child components.
266
-
267
- ---
268
-
269
- ## Formula API (`formula`)
270
-
271
- Category: Display
272
- Status: ready
273
- State mode: none
274
- Since: 0.1.0
275
-
276
- ### Props
277
- - `tex` (string; optional; dynamic): KaTeX source to render.
278
- - `formula` (string; optional; dynamic): Alias for tex.
279
- - `value` (string; optional; dynamic): Alias for tex.
280
- - `displayMode` (boolean; optional; static; default: true): Render as display math when true; inline math when false.
281
- - `display` (boolean; optional; static; default: true): Alias for displayMode.
282
- - `block` (boolean; optional; static; default: true): Alias for displayMode.
283
-
284
- ### Children
285
- No child components.
286
-
287
- ---
288
-
289
- ## Grid API (`grid`)
290
-
291
- Category: Layout
292
- Status: ready
293
- State mode: none
294
- Since: 0.1.0
295
-
296
- ### Props
297
- - `columns` (number; optional; dynamic; default: 1): Base column count.
298
- - `smColumns` (number; optional; dynamic): Column count at the small breakpoint.
299
- - `mdColumns` (number; optional; dynamic): Column count at the medium breakpoint.
300
- - `lgColumns` (number; optional; dynamic): Column count at the large breakpoint.
301
- - `xlColumns` (number; optional; dynamic): Column count at the extra-large breakpoint.
302
- - `gap` (string; optional; dynamic): Spacing between grid items.
303
-
304
- ### Children
305
- Nested component fields are rendered as child content in field order.
306
-
307
- ---
308
-
309
- ## Icon API (`icon`)
310
-
311
- Category: Component
312
- Status: ready
313
- State mode: none
314
- Since: 0.1.0
315
-
316
- ### Props
317
- - `icon` (string; optional; static): Icon name resolved through the global icon manager.
318
- - `iconOnly` (boolean; optional; static): Render only the icon while retaining an accessible label where supported.
319
- - `items[].icon` (string; optional; static): Accordion item trigger icon.
320
- - `options[].icon` (string; optional; static): Select or radio option icon.
321
- - `columns[].icon` (string; optional; static): Table column header icon.
322
- - `tabs[].icon` (string; optional; static): Tab trigger icon.
323
- - `tabs[].iconOnly` (boolean; optional; static): Tab trigger icon-only mode.
324
-
325
- ### Children
326
- No child components.
327
-
328
- ---
329
-
330
- ## Input API (`input`)
331
-
332
- Category: Input
333
- Status: ready
334
- State mode: value
335
- Since: 0.1.0
336
-
337
- ### Props
338
- - `value` (string; optional; dynamic): Current input value.
339
- - `label` (string; optional; dynamic): Input label.
340
- - `unit` (string; optional; dynamic): Trailing unit text.
341
- - `description` (string; optional; dynamic): Assistive description below the input.
342
- - `help` (string; optional; dynamic): Alias for description.
343
- - `hint` (string; optional; dynamic): Alias for description.
344
- - `error` (string; optional; dynamic): Error text shown below the input and linked with aria-describedby.
345
- - `errorMessage` (string; optional; dynamic): Alias for error.
346
- - `invalid` (boolean; optional; dynamic; default: false): Mark the input as invalid with aria-invalid and error styling.
347
- - `placeholder` (string; optional; static): Placeholder text for empty values.
348
- - `type` (string; optional; static; default: "text"): Input value kind; use engineering for parsed engineering values.
349
- - `disabled` (boolean; optional; dynamic; default: false): Disable editing.
350
- - `readonly` (boolean; optional; dynamic; default: false): Make the input read-only.
351
- - `readOnly` (boolean; optional; dynamic; default: false): Alias for readonly.
352
- - `required` (boolean; optional; dynamic; default: false): Mark the input as required.
353
- - `id` (string; optional; static): Native input id; defaults to a stable id derived from the component name.
354
- - `name` (string; optional; static): Native input name attribute.
355
- - `min` (string | number; optional; dynamic): Minimum value used by numeric input controls.
356
- - `max` (string | number; optional; dynamic): Maximum value used by numeric input controls.
357
- - `step` (string | number; optional; dynamic): Step size used by numeric input controls.
358
- - `onchange` (write-expression; optional; static): Write expression invoked when the value changes.
359
-
360
- ### Children
361
- No child components.
362
-
363
- ---
364
-
365
- ## Link API (`link`)
366
-
367
- Category: Content
368
- Status: ready
369
- State mode: readable
370
- Since: 0.1.0
371
-
372
- ### Props
373
- - `href` (string; optional; static): Target URL.
374
- - `text` (string; optional; dynamic): Visible link text.
375
- - `label` (string; optional; dynamic): Alias for text.
376
- - `content` (string; optional; dynamic): Alias for text.
377
- - `icon` (string; optional; static): Icon name shown before link text.
378
- - `target` (string; optional; static): Native link target attribute.
379
- - `variant` (string; optional; static; default: "default"; values: default, muted): Link visual variant.
380
-
381
- ### Children
382
- No child components.
383
-
384
- ---
385
-
386
- ## Playground API (`playground`)
387
-
388
- Category: Tooling
389
- Status: ready
390
- State mode: none
391
- Since: 0.1.0
392
-
393
- ### Props
394
- - `source` (object | string; optional; static): SlexKit or Markdown source to preview.
395
- - `sourceType` (string; optional; static; default: "slex"; values: slex, markdown, auto-markdown): Source parser mode.
396
- - `title` (string; optional; static): Playground title.
397
- - `previewAlign` (string; optional; static; default: "center"; values: center, start): Vertical preview alignment in render mode.
398
- - `alignPreview` (string; optional; static; values: center, start): Alias for previewAlign.
399
- - `previewPlacement` (string; optional; static; values: center, start): Alias for previewAlign.
400
- - `previewMinHeight` (string; optional; static): Minimum preview area height.
401
- - `previewMaxWidth` (string; optional; static): Maximum preview content width.
402
- - `themeToggle` (boolean; optional; static; default: false): Show the theme toggle action.
403
- - `showThemeToggle` (boolean; optional; static; default: false): Alias for themeToggle.
404
- - `enableThemeToggle` (boolean; optional; static; default: false): Alias for themeToggle.
405
- - `themeLabel` (string; optional; static): Accessible label for the theme toggle action.
406
- - `themeToggleLabel` (string; optional; static): Alias for themeLabel.
407
- - `sourceTypeLabel` (string; optional; static): Accessible label for the source type selector.
408
- - `copyLabel` (string; optional; static): Accessible label for the copy source action.
409
- - `openWebLabel` (string; optional; static): Accessible label for opening the source in the standalone playground.
410
- - `webUrl` (string; optional; static): Standalone playground URL used by the open action.
411
- - `playgroundUrl` (string; optional; static): Alias for webUrl.
412
-
413
- ### Children
414
- No child components.
415
-
416
- ---
417
-
418
- ## Progress API (`progress`)
419
-
420
- Category: Feedback
421
- Status: ready
422
- State mode: readable
423
- Since: 0.1.0
424
-
425
- ### Props
426
- - `value` (number; optional; dynamic; default: 0): Progress percentage from 0 to 100.
427
- - `label` (string; optional; dynamic): Progress label.
428
- - `icon` (string; optional; static): Icon name shown before the label.
429
- - `indeterminate` (boolean; optional; dynamic; default: false): Render an indeterminate progress state without aria-valuenow.
430
-
431
- ### Children
432
- No child components.
433
-
434
- ---
435
-
436
- ## Radio Group API (`radio-group`)
437
-
438
- Category: Input
439
- Status: ready
440
- State mode: value
441
- Since: 0.1.0
442
-
443
- ### Props
444
- - `value` (string; optional; dynamic): Current selected value.
445
- - `label` (string; optional; dynamic): Group label.
446
- - `icon` (string; optional; static): Icon name shown before the group label.
447
- - `options` (array; optional; static): Options with label, value, and optional icon.
448
- - `options[].icon` (string; optional; static): Icon name shown before a single option label.
449
- - `options[].description` (string; optional; static): Secondary text shown below the option label.
450
- - `disabled` (boolean; optional; dynamic; default: false): Disable every radio option in the group.
451
- - `orientation` (string; optional; static; default: "vertical"; values: vertical, horizontal): Radio option layout direction.
452
- - `variant` (string; optional; static; values: list): Use list for full-row option surfaces in ToolHost decision cards.
453
- - `haptic` (boolean; optional; static; default: true): Enable vibration feedback on supported devices.
454
- - `haptics` (boolean; optional; static; default: true): Alias for haptic.
455
- - `name` (string; optional; static): Native radio group name shared by options.
456
- - `onchange` (write-expression; optional; static): Write expression invoked when selection changes.
457
-
458
- ### Children
459
- No child components.
460
-
461
- ---
462
-
463
- ## Row API (`row`)
464
-
465
- Category: Layout
466
- Status: ready
467
- State mode: none
468
- Since: 0.1.0
469
-
470
- ### Props
471
- - `justify` (string; optional; static; default: "start"; values: start, center, end, space-between, space-around): Main-axis distribution.
472
- - `align` (string; optional; static; default: "center"; values: start, center, end, baseline, stretch): Cross-axis alignment.
473
- - `gap` (string; optional; dynamic): Spacing between children.
474
- - `variant` (string; optional; static; values: actions): Use actions for compact ToolHost action rows.
475
-
476
- ### Children
477
- Nested component fields are rendered as child content in field order.
478
-
479
- ---
480
-
481
- ## Section API (`section`)
482
-
483
- Category: Content
484
- Status: ready
485
- State mode: readable
486
- Since: 0.1.0
487
-
488
- ### Props
489
- - `title` (string; optional; dynamic): Section title.
490
- - `icon` (string; optional; static): Icon name shown before the title.
491
- - `eyebrow` (string; optional; dynamic): Small label above the title.
492
- - `subtitle` (string; optional; dynamic): Subtitle text below the title.
493
- - `actionLabel` (string; optional; dynamic): Optional action link label.
494
- - `actionHref` (string; optional; static): Optional action link target.
495
-
496
- ### Children
497
- Nested component fields are rendered as child content in field order.
498
-
499
- ---
500
-
501
- ## Select API (`select`)
502
-
503
- Category: Input
504
- Status: ready
505
- State mode: value
506
- Since: 0.1.0
507
-
508
- ### Props
509
- - `label` (string; optional; dynamic): Select label.
510
- - `icon` (string; optional; static): Icon name shown before the top label.
511
- - `value` (string; optional; dynamic): Current selected value.
512
- - `options` (array; optional; static): Options with label, value, and optional icon.
513
- - `options[].icon` (string; optional; static): Icon name shown before an option label.
514
- - `placeholder` (string; optional; static): Placeholder shown when no value is selected.
515
- - `disabled` (boolean; optional; dynamic; default: false): Disable the select trigger and native select.
516
- - `required` (boolean; optional; dynamic; default: false): Require a non-placeholder value in the native select.
517
- - `variant` (string; optional; static; default: "default"; values: default, toolbar): Select surface variant.
518
- - `onchange` (write-expression; optional; static): Write expression invoked when selection changes.
519
-
520
- ### Children
521
- No child components.
522
-
523
- ---
524
-
525
- ## Slider API (`slider`)
526
-
527
- Category: Input
528
- Status: ready
529
- State mode: value
530
- Since: 0.1.0
531
-
532
- ### Props
533
- - `label` (string; optional; dynamic): Slider label.
534
- - `icon` (string; optional; static): Icon name shown before the label.
535
- - `value` (number; optional; dynamic; default: 0): Current numeric value.
536
- - `min` (number; optional; dynamic; default: 0): Minimum value.
537
- - `max` (number; optional; dynamic; default: 100): Maximum value.
538
- - `step` (number; optional; dynamic; default: 1): Step interval.
539
- - `unit` (string; optional; dynamic): Unit shown after the value.
540
- - `disabled` (boolean; optional; dynamic; default: false): Disable the range input.
541
- - `orientation` (string; optional; static; default: "horizontal"; values: horizontal, vertical): Slider orientation metadata used for styling.
542
- - `haptic` (boolean; optional; static; default: true): Enable vibration feedback on supported devices.
543
- - `haptics` (boolean; optional; static; default: true): Alias for haptic.
544
- - `onchange` (write-expression; optional; static): Write expression invoked when the value changes.
545
-
546
- ### Children
547
- No child components.
548
-
549
- ---
550
-
551
- ## Stat API (`stat`)
552
-
553
- Category: Display
554
- Status: ready
555
- State mode: readable
556
- Since: 0.1.0
199
+ ## `slex-callout`
557
200
 
558
- ### Props
559
- - `label` (string; optional; dynamic): Metric label.
560
- - `icon` (string; optional; static): Icon name shown before the label.
561
- - `value` (string | number; optional; dynamic): Metric value.
562
- - `unit` (string; optional; dynamic): Unit shown after the value.
563
- - `tone` (string; optional; static; values: info, success, warning, danger, muted): Optional semantic tone.
564
- - `animateInitial` (boolean; optional; static; default: false): Animate the initial rendered value.
565
-
566
- ### Children
567
- No child components.
568
-
569
- ---
570
-
571
- ## Switch API (`switch`)
572
-
573
- Category: Input
574
- Status: ready
575
- State mode: enabled
576
- Since: 0.1.0
577
-
578
- ### Props
579
- - `enabled` (boolean; optional; dynamic; default: false): Enabled state.
580
- - `label` (string; optional; dynamic): Switch label.
581
- - `icon` (string; optional; static): Icon name shown before the visible label.
582
- - `disabled` (boolean; optional; dynamic; default: false): Disable the switch.
583
- - `haptic` (boolean; optional; static; default: true): Enable vibration feedback on supported devices.
584
- - `haptics` (boolean; optional; static; default: true): Alias for haptic.
585
- - `onchange` (write-expression; optional; static): Write expression invoked when enabled state changes.
586
-
587
- ### Children
588
- No child components.
589
-
590
- ---
591
-
592
- ## Table API (`table`)
593
-
594
- Category: Data
595
- Status: ready
596
- State mode: readable
597
- Since: 0.1.0
598
-
599
- ### Props
600
- - `columns` (array; optional; static): Column definitions with key, label, and optional icon.
601
- - `columns[].icon` (string; optional; static): Icon name shown before a column label.
602
- - `rows` (array; optional; static): Row data objects keyed by column key.
603
- - `items` (array; optional; static): Alias for rows.
604
-
605
- ### Children
606
- No child components.
607
-
608
- ---
609
-
610
- ## Tabs API (`tabs`)
611
-
612
- Category: Navigation
613
- Status: ready
614
- State mode: value
615
- Since: 0.1.0
616
-
617
- ### Props
618
- - `value` (string; optional; dynamic): Current active tab value.
619
- - `tabs` (array; optional; static): Tab definitions with value, label, content, icon, and iconOnly.
620
- - `tabs[].icon` (string; optional; static): Icon name shown before a tab trigger label.
621
- - `tabs[].iconOnly` (boolean; optional; static): Show only the tab icon while retaining label as accessible text.
622
- - `orientation` (string; optional; static; default: "horizontal"; values: horizontal, vertical): Tab list orientation.
623
- - `onchange` (write-expression; optional; static): Write expression invoked when the active tab changes.
624
-
625
- ### Children
626
- No child components.
627
-
628
- ---
629
-
630
- ## Text API (`text`)
631
-
632
- Category: Display
633
- Status: ready
634
- State mode: readable
635
- Since: 0.1.0
636
-
637
- ### Props
638
- - `text` (string; optional; dynamic): Displayed text.
639
- - `content` (string; optional; dynamic): Alias for text.
640
- - `label` (string; optional; dynamic): Alias for text.
641
- - `variant` (string; optional; static; default: "default"; values: default, muted): Text visual variant.
642
- - `color` (string; optional; dynamic): Optional CSS color for controlled previews.
643
- - `size` (string | number; optional; dynamic): Optional font size. Numbers are treated as px.
644
- - `class` (string; optional; static): Additional host-controlled CSS class.
645
-
646
- ### Children
647
- No child components.
648
-
649
- ---
650
-
651
- ## Toast API (`toast`)
652
-
653
- Category: Feedback
654
- Status: ready
655
- State mode: none
656
- Since: 0.1.0
657
-
658
- ### Props
659
- - `title` (string; optional; dynamic): Toast title.
660
- - `heading` (string; optional; dynamic): Alias for title.
661
- - `label` (string; optional; dynamic): Alias for title.
662
- - `icon` (string; optional; static): Icon name shown at the left of the toast.
663
- - `description` (string; optional; dynamic): Toast body text.
664
- - `text` (string; optional; dynamic): Alias for description.
665
- - `message` (string; optional; dynamic): Alias for description.
666
- - `content` (string; optional; dynamic): Alias for description.
667
- - `type` (string; optional; static; default: "info"; values: info, success, warning, danger): Semantic notification type.
668
- - `tone` (string; optional; static; default: "info"; values: info, success, warning, danger): Alias for type.
669
- - `duration` (number; optional; static): Auto-hide delay in milliseconds.
670
- - `dismissable` (boolean; optional; static; default: true): Show a close button.
671
- - `dismissible` (boolean; optional; static; default: true): Alias for dismissable.
672
- - `closeLabel` (string; optional; static; default: "Close notification"): Accessible close button label.
673
- - `closeAriaLabel` (string; optional; static): Alias for closeLabel.
674
-
675
- ### Children
676
- No child components.
201
+ Properties: `title`, `content`, `description`, `tone`, `icon`
202
+
203
+ ```slex
204
+ <slex-callout></slex-callout>
205
+ ```
206
+
207
+ ## `slex-section`
208
+
209
+ Properties: `title`, `subtitle`, `icon`
210
+
211
+ ```slex
212
+ <slex-section></slex-section>
213
+ ```
214
+
215
+ ## `slex-step`
216
+
217
+ Properties: `title`, `description`, `index`, `total`, `state`, `progress`
218
+
219
+ ```slex
220
+ <slex-step></slex-step>
221
+ ```
222
+
223
+ ## `slex-toast`
224
+
225
+ Properties: `title`, `description`, `tone`, `icon`, `duration`, `dismissable`
226
+
227
+ ```slex
228
+ <slex-toast></slex-toast>
229
+ ```
230
+
231
+ ## `slex-submit`
232
+
233
+ Properties: `submitLabel`, `ignoreLabel`, `disabled`
234
+
235
+ ```slex
236
+ <slex-submit></slex-submit>
237
+ ```
238
+
239
+ ## `slex-playground`
240
+
241
+ Properties: `source`, `autorun`
242
+
243
+ ```slex
244
+ <slex-playground></slex-playground>
245
+ ```
246
+
247
+ Default component count: 28
248
+
249
+ Catalog component count: 29