@agentero/design-system 0.32.2 → 0.33.1
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.
- package/mcp/manifests/components.html +297 -68
- package/mcp/manifests/components.json +128 -8
- package/package.json +5 -1
- package/src/field/context.d.ts +6 -2
- package/src/field/field.d.ts +4 -2
- package/src/field/field.js +30 -27
- package/src/field/index.d.ts +1 -1
- package/src/field-text/field-text.d.ts +1 -1
- package/src/form-text/form-text.d.ts +4 -4
- package/src/form-text/form-text.js +2 -2
- package/src/input-password/icons.d.ts +16 -0
- package/src/input-password/icons.js +23 -0
- package/src/input-password/index.d.ts +2 -0
- package/src/input-password/index.js +2 -0
- package/src/input-password/input-password.d.ts +103 -0
- package/src/input-password/input-password.js +57 -0
|
@@ -588,13 +588,13 @@
|
|
|
588
588
|
<header>
|
|
589
589
|
<div class="wrap">
|
|
590
590
|
<h1>Manifest Debugger</h1>
|
|
591
|
-
<div class="summary"><a class="filter-pill all" data-k="all" href="#filter-all">All</a><span class="filter-pill ok" aria-disabled="true">
|
|
591
|
+
<div class="summary"><a class="filter-pill all" data-k="all" href="#filter-all">All</a><span class="filter-pill ok" aria-disabled="true">35 components ok</span><span class="filter-pill ok" aria-disabled="true">288 stories ok</span></div>
|
|
592
592
|
</div>
|
|
593
593
|
</header>
|
|
594
594
|
<main>
|
|
595
595
|
<div class="wrap">
|
|
596
596
|
<div class="note ok" style="margin-bottom: 16px;">
|
|
597
|
-
Using <code>react-component-meta</code>. Generation took <strong>
|
|
597
|
+
Using <code>react-component-meta</code>. Generation took <strong>3.9s</strong>.
|
|
598
598
|
</div>
|
|
599
599
|
<h2 class="section-title">Components</h2>
|
|
600
600
|
<div class="grid" role="list">
|
|
@@ -3463,8 +3463,8 @@ rest of the page from assistive technology, label included, and a
|
|
|
3463
3463
|
</Combobox.List>
|
|
3464
3464
|
</Combobox.Content>
|
|
3465
3465
|
</Combobox.Root>
|
|
3466
|
-
<Field.Description>The agency this agent will be added to.</Field.Description>
|
|
3467
3466
|
<Field.Error errors={[{ message: 'Pick an agency from the list' }]} />
|
|
3467
|
+
<Field.Description>The agency this agent will be added to.</Field.Description>
|
|
3468
3468
|
</FieldText>
|
|
3469
3469
|
);</code></pre>
|
|
3470
3470
|
</div>
|
|
@@ -5217,7 +5217,7 @@ actions outright unless the user needs to see them and understand why.</div>
|
|
|
5217
5217
|
<div class="badges">
|
|
5218
5218
|
<label for="c-12-components-field-props" class="badge ok as-toggle">6 prop types</label>
|
|
5219
5219
|
|
|
5220
|
-
<label for="c-12-components-field-stories" class="badge ok as-toggle">
|
|
5220
|
+
<label for="c-12-components-field-stories" class="badge ok as-toggle">17 stories</label>
|
|
5221
5221
|
|
|
5222
5222
|
|
|
5223
5223
|
</div>
|
|
@@ -5241,8 +5241,8 @@ absent when there is none.</div>
|
|
|
5241
5241
|
<div class="kv"><span class="chip">summary: Wraps a label, control, description and error into one field</span><span class="chip">example: <Field.Root invalid={!!error} required>
|
|
5242
5242
|
<Field.Label>Email</Field.Label>
|
|
5243
5243
|
<Input type="email" />
|
|
5244
|
-
<Field.Description>We only use this for policy documents.</Field.Description>
|
|
5245
5244
|
<Field.Error errors={[error]} />
|
|
5245
|
+
<Field.Description>We only use this for policy documents.</Field.Description>
|
|
5246
5246
|
</Field.Root></span></div>
|
|
5247
5247
|
</div>
|
|
5248
5248
|
|
|
@@ -5492,6 +5492,37 @@ either, the control carries no `aria-describedby` at all.</div>
|
|
|
5492
5492
|
<DemoInput type="email" />
|
|
5493
5493
|
<Field.Error errors={[undefined]} />
|
|
5494
5494
|
</Field.Root>;</code></pre>
|
|
5495
|
+
</div>
|
|
5496
|
+
<div class="note ok">
|
|
5497
|
+
<div class="row">
|
|
5498
|
+
<span class="ex-name">Error Before Description</span>
|
|
5499
|
+
<span class="badge ok">story ok</span>
|
|
5500
|
+
</div>
|
|
5501
|
+
<div>Error announced before the description, whenever it appears</div>
|
|
5502
|
+
<div class="hint">The error sits right under the control and is announced before the
|
|
5503
|
+
description, even when it appears after the description is on screen and
|
|
5504
|
+
carries an `id` of its own.</div>
|
|
5505
|
+
<pre><code>const ErrorBeforeDescription = () => {
|
|
5506
|
+
const [error, setError] = useState<string>();
|
|
5507
|
+
|
|
5508
|
+
return (
|
|
5509
|
+
<div className="flex flex-col items-start gap-4">
|
|
5510
|
+
<Field.Root
|
|
5511
|
+
orientation="vertical"
|
|
5512
|
+
disabled={false}
|
|
5513
|
+
readOnly={false}
|
|
5514
|
+
required={false}
|
|
5515
|
+
invalid={!!error}>
|
|
5516
|
+
<Label>Tax ID</Label>
|
|
5517
|
+
<DemoInput inputMode="numeric" />
|
|
5518
|
+
<Field.Error id="tax-id-error">{error}</Field.Error>
|
|
5519
|
+
<Field.Description>Nine digits, with or without the dash.</Field.Description>
|
|
5520
|
+
</Field.Root>
|
|
5521
|
+
<button type="button" onClick={() => setError('Enter the tax ID.')}>Validate
|
|
5522
|
+
</button>
|
|
5523
|
+
</div>
|
|
5524
|
+
);
|
|
5525
|
+
};</code></pre>
|
|
5495
5526
|
</div>
|
|
5496
5527
|
<div class="note ok">
|
|
5497
5528
|
<div class="row">
|
|
@@ -5743,8 +5774,8 @@ and `name`, and `FieldContext` with the errors, as the last story shows.</div>
|
|
|
5743
5774
|
<div class="kv"><span class="chip">summary: Field for a single-line text control, wiring the Input inside it</span><span class="chip">example: <FieldText invalid={!!error} required>
|
|
5744
5775
|
<Label>Email</Label>
|
|
5745
5776
|
<Input type="email" />
|
|
5746
|
-
<Field.Description>We only use this for policy documents.</Field.Description>
|
|
5747
5777
|
<Field.Error errors={[error]} />
|
|
5778
|
+
<Field.Description>We only use this for policy documents.</Field.Description>
|
|
5748
5779
|
</FieldText></span></div>
|
|
5749
5780
|
</div>
|
|
5750
5781
|
|
|
@@ -6163,7 +6194,7 @@ Validation is react-hook-form's alone.</div>
|
|
|
6163
6194
|
<div class="badges">
|
|
6164
6195
|
<label for="c-15-components-formtext-props" class="badge ok as-toggle">15 prop types</label>
|
|
6165
6196
|
|
|
6166
|
-
<label for="c-15-components-formtext-stories" class="badge ok as-toggle">
|
|
6197
|
+
<label for="c-15-components-formtext-stories" class="badge ok as-toggle">10 stories</label>
|
|
6167
6198
|
|
|
6168
6199
|
|
|
6169
6200
|
</div>
|
|
@@ -6226,9 +6257,9 @@ control?: Control<FieldValues, any, unknown>
|
|
|
6226
6257
|
controlId?: string
|
|
6227
6258
|
|
|
6228
6259
|
/**
|
|
6229
|
-
* Helper text shown under the control
|
|
6230
|
-
* `aria-describedby`. Use it for guidance the
|
|
6231
|
-
* details worth a click in `tooltip` instead.
|
|
6260
|
+
* Helper text shown under the control, below the error when there is one,
|
|
6261
|
+
* and announced through its `aria-describedby`. Use it for guidance the
|
|
6262
|
+
* user needs before typing; put details worth a click in `tooltip` instead.
|
|
6232
6263
|
*/
|
|
6233
6264
|
description?: ReactNode
|
|
6234
6265
|
|
|
@@ -6442,6 +6473,36 @@ not mark the field required: that stays an explicit `required` prop.</div>
|
|
|
6442
6473
|
<Button type="submit">Save</Button>
|
|
6443
6474
|
</Form.Root>
|
|
6444
6475
|
);
|
|
6476
|
+
};</code></pre>
|
|
6477
|
+
</div>
|
|
6478
|
+
<div class="note ok">
|
|
6479
|
+
<div class="row">
|
|
6480
|
+
<span class="ex-name">Error And Description</span>
|
|
6481
|
+
<span class="badge ok">story ok</span>
|
|
6482
|
+
</div>
|
|
6483
|
+
<div>Error under the input, above the helper text</div>
|
|
6484
|
+
<div class="hint">The error sits right under the input and the description stays below it, so
|
|
6485
|
+
the message lands next to the value it is about. Screen readers announce
|
|
6486
|
+
them in the same order.</div>
|
|
6487
|
+
<pre><code>const ErrorAndDescription = () => {
|
|
6488
|
+
const methods = useForm<TaxValues>({ defaultValues: { taxId: '' } });
|
|
6489
|
+
|
|
6490
|
+
return (
|
|
6491
|
+
<Form.Root
|
|
6492
|
+
methods={methods}
|
|
6493
|
+
onSubmit={onSubmit}
|
|
6494
|
+
aria-label="Tax details"
|
|
6495
|
+
className="flex flex-col items-start gap-7">
|
|
6496
|
+
<FormText
|
|
6497
|
+
name="taxId"
|
|
6498
|
+
label="Tax ID"
|
|
6499
|
+
description="Nine digits, with or without the dash."
|
|
6500
|
+
rules={{ required: 'Enter the tax ID.' }}
|
|
6501
|
+
inputProps={{ inputMode: 'numeric', autoComplete: 'off' }}
|
|
6502
|
+
/>
|
|
6503
|
+
<Button type="submit">Save</Button>
|
|
6504
|
+
</Form.Root>
|
|
6505
|
+
);
|
|
6445
6506
|
};</code></pre>
|
|
6446
6507
|
</div>
|
|
6447
6508
|
<div class="note ok">
|
|
@@ -7426,6 +7487,174 @@ button's start corners with the frame.</div>
|
|
|
7426
7487
|
</div>
|
|
7427
7488
|
|
|
7428
7489
|
|
|
7490
|
+
</div>
|
|
7491
|
+
</article>
|
|
7492
|
+
<article
|
|
7493
|
+
class="card
|
|
7494
|
+
no-error
|
|
7495
|
+
no-info
|
|
7496
|
+
no-story-error
|
|
7497
|
+
no-doc-error"
|
|
7498
|
+
role="listitem"
|
|
7499
|
+
aria-label="InputPassword">
|
|
7500
|
+
<div class="head">
|
|
7501
|
+
<div class="title">
|
|
7502
|
+
<h2><span class="status-dot dot-ok"></span> InputPassword</h2>
|
|
7503
|
+
<div class="badges">
|
|
7504
|
+
<label for="c-19-components-inputpassword-props" class="badge ok as-toggle">1 prop type</label>
|
|
7505
|
+
|
|
7506
|
+
<label for="c-19-components-inputpassword-stories" class="badge ok as-toggle">5 stories</label>
|
|
7507
|
+
|
|
7508
|
+
|
|
7509
|
+
</div>
|
|
7510
|
+
</div>
|
|
7511
|
+
<div class="meta" title="./src/input-password/input-password.stories.tsx">components-inputpassword · ./src/input-password/input-password.stories.tsx</div>
|
|
7512
|
+
<div>Password input with a show/hide toggle inside the frame</div>
|
|
7513
|
+
<div class="hint">InputPassword is a password field with a show/hide toggle at the end of its
|
|
7514
|
+
frame. It is an `Input` inside an `InputGroup`: `className` styles the
|
|
7515
|
+
frame and every other prop reaches the `<input>`, which takes its label,
|
|
7516
|
+
messages and states from a surrounding `FieldText`. The toggle is not
|
|
7517
|
+
rendered while the input is disabled.</div>
|
|
7518
|
+
<div class="kv"><span class="chip">summary: Password input with a show/hide toggle inside the frame</span><span class="chip">dataAttribute: {string} data-slot - Always set to "input-password" on the frame</span><span class="chip">example: <FieldText required>
|
|
7519
|
+
<Label>Password</Label>
|
|
7520
|
+
<InputPassword name="password" autoComplete="current-password" />
|
|
7521
|
+
</FieldText></span></div>
|
|
7522
|
+
</div>
|
|
7523
|
+
|
|
7524
|
+
<!-- ⬇️ Hidden toggles must be siblings BEFORE .panels -->
|
|
7525
|
+
|
|
7526
|
+
|
|
7527
|
+
<input id="c-19-components-inputpassword-stories" class="tg tg-stories" type="checkbox" hidden />
|
|
7528
|
+
|
|
7529
|
+
|
|
7530
|
+
<input id="c-19-components-inputpassword-props" class="tg tg-props" type="checkbox" hidden />
|
|
7531
|
+
|
|
7532
|
+
<div class="panels">
|
|
7533
|
+
|
|
7534
|
+
|
|
7535
|
+
|
|
7536
|
+
<div class="panel panel-props">
|
|
7537
|
+
<div class="note ok">
|
|
7538
|
+
<div class="row">
|
|
7539
|
+
<span class="ex-name">Prop types <small>(react-component-meta)</small></span>
|
|
7540
|
+
<span class="badge ok">1 prop type</span>
|
|
7541
|
+
</div>
|
|
7542
|
+
<pre><code>Component: src/input-password/input-password.tsx::InputPassword</code></pre>
|
|
7543
|
+
<pre><code>Props:</code></pre>
|
|
7544
|
+
<pre><code>/**
|
|
7545
|
+
* Control height. Defaults to `'md'`.
|
|
7546
|
+
* - `sm` (32px) — dense layouts where vertical space is tight.
|
|
7547
|
+
* - `md` (40px) — standard form density.
|
|
7548
|
+
* - `lg` (48px) — low-density forms and larger touch targets. Also raises
|
|
7549
|
+
* the text to `base` and the corner radius to `lg`.
|
|
7550
|
+
*/
|
|
7551
|
+
size?: "sm" | "md" | "lg"</code></pre>
|
|
7552
|
+
</div>
|
|
7553
|
+
</div>
|
|
7554
|
+
|
|
7555
|
+
<div class="panel panel-stories">
|
|
7556
|
+
|
|
7557
|
+
|
|
7558
|
+
|
|
7559
|
+
<div class="note ok">
|
|
7560
|
+
<div class="row">
|
|
7561
|
+
<span class="ex-name">Imports</span>
|
|
7562
|
+
</div>
|
|
7563
|
+
<pre><code>import { Field, FieldText, InputPassword, Label } from "@agentero/design-system";</code></pre>
|
|
7564
|
+
</div>
|
|
7565
|
+
|
|
7566
|
+
|
|
7567
|
+
<div class="note ok">
|
|
7568
|
+
<div class="row">
|
|
7569
|
+
<span class="ex-name">Default</span>
|
|
7570
|
+
<span class="badge ok">story ok</span>
|
|
7571
|
+
</div>
|
|
7572
|
+
<div>Hidden value with a toggle that reveals and hides it</div>
|
|
7573
|
+
<div class="hint">The value starts hidden. The toggle shows it as plain text and hides it
|
|
7574
|
+
again; pressing it leaves focus and the caret in the input.</div>
|
|
7575
|
+
<pre><code>const Default = () => <InputPassword aria-label="Password" autoComplete="current-password" />;</code></pre>
|
|
7576
|
+
</div>
|
|
7577
|
+
<div class="note ok">
|
|
7578
|
+
<div class="row">
|
|
7579
|
+
<span class="ex-name">Disabled</span>
|
|
7580
|
+
<span class="badge ok">story ok</span>
|
|
7581
|
+
</div>
|
|
7582
|
+
<div>Disabled input with the toggle removed</div>
|
|
7583
|
+
<div class="hint">A disabled input has no toggle, whether `disabled` is set on the input
|
|
7584
|
+
itself or comes from a `<fieldset disabled>` around it.</div>
|
|
7585
|
+
<pre><code>const Disabled = () => <div style={{ display: 'grid', gap: '1rem' }}>
|
|
7586
|
+
<InputPassword
|
|
7587
|
+
aria-label="Password"
|
|
7588
|
+
autoComplete="current-password"
|
|
7589
|
+
disabled
|
|
7590
|
+
defaultValue="hunter22" />
|
|
7591
|
+
<fieldset disabled style={{ border: 0, margin: 0, padding: 0 }}>
|
|
7592
|
+
<InputPassword aria-label="New password" autoComplete="new-password" />
|
|
7593
|
+
</fieldset>
|
|
7594
|
+
</div>;</code></pre>
|
|
7595
|
+
</div>
|
|
7596
|
+
<div class="note ok">
|
|
7597
|
+
<div class="row">
|
|
7598
|
+
<span class="ex-name">Invalid</span>
|
|
7599
|
+
<span class="badge ok">story ok</span>
|
|
7600
|
+
</div>
|
|
7601
|
+
<div>Invalid field driving the frame's destructive border</div>
|
|
7602
|
+
<div class="hint">`invalid` on the surrounding `FieldText` sets `aria-invalid` on the input,
|
|
7603
|
+
which paints the frame's destructive border, and `Field.Error` is announced
|
|
7604
|
+
with the input.</div>
|
|
7605
|
+
<pre><code>const Invalid = () => <div style={{ display: 'grid', gap: '1.5rem' }}>
|
|
7606
|
+
<InputPassword
|
|
7607
|
+
autoComplete="current-password"
|
|
7608
|
+
aria-label="Valid password"
|
|
7609
|
+
defaultValue="hunter22" />
|
|
7610
|
+
<FieldText invalid>
|
|
7611
|
+
<Label>Password</Label>
|
|
7612
|
+
<InputPassword autoComplete="new-password" defaultValue="hunter" />
|
|
7613
|
+
<Field.Error errors={[{ message: 'Use at least 8 characters.' }]} />
|
|
7614
|
+
</FieldText>
|
|
7615
|
+
</div>;</code></pre>
|
|
7616
|
+
</div>
|
|
7617
|
+
<div class="note ok">
|
|
7618
|
+
<div class="row">
|
|
7619
|
+
<span class="ex-name">All Sizes</span>
|
|
7620
|
+
<span class="badge ok">story ok</span>
|
|
7621
|
+
</div>
|
|
7622
|
+
<div>The three sizes, with the toggle scaled and evenly inset</div>
|
|
7623
|
+
<div class="hint">The three sizes match Input's: the frame is 32, 40 or 48px tall. The toggle
|
|
7624
|
+
grows with it (a 24px button with a 16px icon at `sm`, 32px with 20px at
|
|
7625
|
+
`md`, 32px with 24px at `lg`) and sits as far from the right edge as from
|
|
7626
|
+
the top and bottom.</div>
|
|
7627
|
+
<pre><code>const AllSizes = () => <div style={{ display: 'grid', gap: '1rem' }}>
|
|
7628
|
+
<InputPassword autoComplete="current-password" size="sm" aria-label="Small" />
|
|
7629
|
+
<InputPassword autoComplete="current-password" size="md" aria-label="Medium" />
|
|
7630
|
+
<InputPassword autoComplete="current-password" size="lg" aria-label="Large" />
|
|
7631
|
+
</div>;</code></pre>
|
|
7632
|
+
</div>
|
|
7633
|
+
<div class="note ok">
|
|
7634
|
+
<div class="row">
|
|
7635
|
+
<span class="ex-name">Inside Field Text</span>
|
|
7636
|
+
<span class="badge ok">story ok</span>
|
|
7637
|
+
</div>
|
|
7638
|
+
<div>Label and disabled state reaching the input through the frame</div>
|
|
7639
|
+
<div class="hint">Inside a `FieldText` the input takes its label, description and states from
|
|
7640
|
+
the field through the frame. A disabled field removes the toggle too.</div>
|
|
7641
|
+
<pre><code>const InsideFieldText = () => (
|
|
7642
|
+
<div style={{ display: 'grid', gap: '1.5rem' }}>
|
|
7643
|
+
<FieldText required>
|
|
7644
|
+
<Label>Password</Label>
|
|
7645
|
+
<InputPassword autoComplete="new-password" />
|
|
7646
|
+
<Field.Description>At least 8 characters.</Field.Description>
|
|
7647
|
+
</FieldText>
|
|
7648
|
+
<FieldText disabled>
|
|
7649
|
+
<Label>Current password</Label>
|
|
7650
|
+
<InputPassword autoComplete="current-password" defaultValue="hunter22" />
|
|
7651
|
+
</FieldText>
|
|
7652
|
+
</div>
|
|
7653
|
+
);</code></pre>
|
|
7654
|
+
</div>
|
|
7655
|
+
</div>
|
|
7656
|
+
|
|
7657
|
+
|
|
7429
7658
|
</div>
|
|
7430
7659
|
</article>
|
|
7431
7660
|
<article
|
|
@@ -7440,9 +7669,9 @@ button's start corners with the frame.</div>
|
|
|
7440
7669
|
<div class="title">
|
|
7441
7670
|
<h2><span class="status-dot dot-ok"></span> Label</h2>
|
|
7442
7671
|
<div class="badges">
|
|
7443
|
-
<label for="c-
|
|
7672
|
+
<label for="c-20-components-label-props" class="badge ok as-toggle">3 prop types</label>
|
|
7444
7673
|
|
|
7445
|
-
<label for="c-
|
|
7674
|
+
<label for="c-20-components-label-stories" class="badge ok as-toggle">5 stories</label>
|
|
7446
7675
|
|
|
7447
7676
|
|
|
7448
7677
|
</div>
|
|
@@ -7462,10 +7691,10 @@ still has to carry `required` / `aria-required`.</div>
|
|
|
7462
7691
|
<!-- ⬇️ Hidden toggles must be siblings BEFORE .panels -->
|
|
7463
7692
|
|
|
7464
7693
|
|
|
7465
|
-
<input id="c-
|
|
7694
|
+
<input id="c-20-components-label-stories" class="tg tg-stories" type="checkbox" hidden />
|
|
7466
7695
|
|
|
7467
7696
|
|
|
7468
|
-
<input id="c-
|
|
7697
|
+
<input id="c-20-components-label-props" class="tg tg-props" type="checkbox" hidden />
|
|
7469
7698
|
|
|
7470
7699
|
<div class="panels">
|
|
7471
7700
|
|
|
@@ -7585,9 +7814,9 @@ field's control with no `htmlFor`. An explicit `htmlFor` still wins.</div>
|
|
|
7585
7814
|
<div class="title">
|
|
7586
7815
|
<h2><span class="status-dot dot-ok"></span> Loading</h2>
|
|
7587
7816
|
<div class="badges">
|
|
7588
|
-
<label for="c-
|
|
7817
|
+
<label for="c-21-components-loading-props" class="badge ok as-toggle">1 prop type</label>
|
|
7589
7818
|
|
|
7590
|
-
<label for="c-
|
|
7819
|
+
<label for="c-21-components-loading-stories" class="badge ok as-toggle">7 stories</label>
|
|
7591
7820
|
|
|
7592
7821
|
|
|
7593
7822
|
</div>
|
|
@@ -7604,10 +7833,10 @@ parent font size via `em`-based size variants (`sm`, `md`, `lg`).</div>
|
|
|
7604
7833
|
<!-- ⬇️ Hidden toggles must be siblings BEFORE .panels -->
|
|
7605
7834
|
|
|
7606
7835
|
|
|
7607
|
-
<input id="c-
|
|
7836
|
+
<input id="c-21-components-loading-stories" class="tg tg-stories" type="checkbox" hidden />
|
|
7608
7837
|
|
|
7609
7838
|
|
|
7610
|
-
<input id="c-
|
|
7839
|
+
<input id="c-21-components-loading-props" class="tg tg-props" type="checkbox" hidden />
|
|
7611
7840
|
|
|
7612
7841
|
<div class="panels">
|
|
7613
7842
|
|
|
@@ -7758,9 +7987,9 @@ against the dark background.</div>
|
|
|
7758
7987
|
<div class="title">
|
|
7759
7988
|
<h2><span class="status-dot dot-ok"></span> Modal.Root</h2>
|
|
7760
7989
|
<div class="badges">
|
|
7761
|
-
<label for="c-
|
|
7990
|
+
<label for="c-22-components-modal-props" class="badge ok as-toggle">5 prop types</label>
|
|
7762
7991
|
|
|
7763
|
-
<label for="c-
|
|
7992
|
+
<label for="c-22-components-modal-stories" class="badge ok as-toggle">6 stories</label>
|
|
7764
7993
|
|
|
7765
7994
|
|
|
7766
7995
|
</div>
|
|
@@ -7806,10 +8035,10 @@ import { Modal } from '@agentero/design-system/modal';
|
|
|
7806
8035
|
<!-- ⬇️ Hidden toggles must be siblings BEFORE .panels -->
|
|
7807
8036
|
|
|
7808
8037
|
|
|
7809
|
-
<input id="c-
|
|
8038
|
+
<input id="c-22-components-modal-stories" class="tg tg-stories" type="checkbox" hidden />
|
|
7810
8039
|
|
|
7811
8040
|
|
|
7812
|
-
<input id="c-
|
|
8041
|
+
<input id="c-22-components-modal-props" class="tg tg-props" type="checkbox" hidden />
|
|
7813
8042
|
|
|
7814
8043
|
<div class="panels">
|
|
7815
8044
|
|
|
@@ -8029,9 +8258,9 @@ announced as an `alertdialog`. Only the footer actions close it.</div>
|
|
|
8029
8258
|
<div class="title">
|
|
8030
8259
|
<h2><span class="status-dot dot-ok"></span> Pagination</h2>
|
|
8031
8260
|
<div class="badges">
|
|
8032
|
-
<label for="c-
|
|
8261
|
+
<label for="c-23-components-pagination-props" class="badge ok as-toggle">5 prop types</label>
|
|
8033
8262
|
|
|
8034
|
-
<label for="c-
|
|
8263
|
+
<label for="c-23-components-pagination-stories" class="badge ok as-toggle">7 stories</label>
|
|
8035
8264
|
|
|
8036
8265
|
|
|
8037
8266
|
</div>
|
|
@@ -8061,10 +8290,10 @@ const [page, setPage] = useState(1);
|
|
|
8061
8290
|
<!-- ⬇️ Hidden toggles must be siblings BEFORE .panels -->
|
|
8062
8291
|
|
|
8063
8292
|
|
|
8064
|
-
<input id="c-
|
|
8293
|
+
<input id="c-23-components-pagination-stories" class="tg tg-stories" type="checkbox" hidden />
|
|
8065
8294
|
|
|
8066
8295
|
|
|
8067
|
-
<input id="c-
|
|
8296
|
+
<input id="c-23-components-pagination-props" class="tg tg-props" type="checkbox" hidden />
|
|
8068
8297
|
|
|
8069
8298
|
<div class="panels">
|
|
8070
8299
|
|
|
@@ -8219,9 +8448,9 @@ entries summary follow along.</div>
|
|
|
8219
8448
|
<div class="title">
|
|
8220
8449
|
<h2><span class="status-dot dot-ok"></span> Popover.Root</h2>
|
|
8221
8450
|
<div class="badges">
|
|
8222
|
-
<label for="c-
|
|
8451
|
+
<label for="c-24-components-popover-props" class="badge ok as-toggle">5 prop types</label>
|
|
8223
8452
|
|
|
8224
|
-
<label for="c-
|
|
8453
|
+
<label for="c-24-components-popover-stories" class="badge ok as-toggle">5 stories</label>
|
|
8225
8454
|
|
|
8226
8455
|
|
|
8227
8456
|
</div>
|
|
@@ -8250,10 +8479,10 @@ import { Popover } from '@agentero/design-system/popover';
|
|
|
8250
8479
|
<!-- ⬇️ Hidden toggles must be siblings BEFORE .panels -->
|
|
8251
8480
|
|
|
8252
8481
|
|
|
8253
|
-
<input id="c-
|
|
8482
|
+
<input id="c-24-components-popover-stories" class="tg tg-stories" type="checkbox" hidden />
|
|
8254
8483
|
|
|
8255
8484
|
|
|
8256
|
-
<input id="c-
|
|
8485
|
+
<input id="c-24-components-popover-props" class="tg tg-props" type="checkbox" hidden />
|
|
8257
8486
|
|
|
8258
8487
|
<div class="panels">
|
|
8259
8488
|
|
|
@@ -8452,9 +8681,9 @@ focus returning to its trigger once the modal closes.</div>
|
|
|
8452
8681
|
<div class="title">
|
|
8453
8682
|
<h2><span class="status-dot dot-ok"></span> Progress</h2>
|
|
8454
8683
|
<div class="badges">
|
|
8455
|
-
<label for="c-
|
|
8684
|
+
<label for="c-25-components-progress-props" class="badge ok as-toggle">4 prop types</label>
|
|
8456
8685
|
|
|
8457
|
-
<label for="c-
|
|
8686
|
+
<label for="c-25-components-progress-stories" class="badge ok as-toggle">4 stories</label>
|
|
8458
8687
|
|
|
8459
8688
|
|
|
8460
8689
|
</div>
|
|
@@ -8473,10 +8702,10 @@ with `currentColor`, so recolor it with a plain text class — e.g.
|
|
|
8473
8702
|
<!-- ⬇️ Hidden toggles must be siblings BEFORE .panels -->
|
|
8474
8703
|
|
|
8475
8704
|
|
|
8476
|
-
<input id="c-
|
|
8705
|
+
<input id="c-25-components-progress-stories" class="tg tg-stories" type="checkbox" hidden />
|
|
8477
8706
|
|
|
8478
8707
|
|
|
8479
|
-
<input id="c-
|
|
8708
|
+
<input id="c-25-components-progress-props" class="tg tg-props" type="checkbox" hidden />
|
|
8480
8709
|
|
|
8481
8710
|
<div class="panels">
|
|
8482
8711
|
|
|
@@ -8595,7 +8824,7 @@ percentage: number</code></pre>
|
|
|
8595
8824
|
<div class="badges">
|
|
8596
8825
|
|
|
8597
8826
|
|
|
8598
|
-
<label for="c-
|
|
8827
|
+
<label for="c-26-components-skeleton-stories" class="badge ok as-toggle">4 stories</label>
|
|
8599
8828
|
|
|
8600
8829
|
|
|
8601
8830
|
</div>
|
|
@@ -8612,7 +8841,7 @@ shape it with Tailwind classes to mirror the content it stands in for.</div>
|
|
|
8612
8841
|
<!-- ⬇️ Hidden toggles must be siblings BEFORE .panels -->
|
|
8613
8842
|
|
|
8614
8843
|
|
|
8615
|
-
<input id="c-
|
|
8844
|
+
<input id="c-26-components-skeleton-stories" class="tg tg-stories" type="checkbox" hidden />
|
|
8616
8845
|
|
|
8617
8846
|
|
|
8618
8847
|
|
|
@@ -8708,9 +8937,9 @@ shape it with Tailwind classes to mirror the content it stands in for.</div>
|
|
|
8708
8937
|
<div class="title">
|
|
8709
8938
|
<h2><span class="status-dot dot-ok"></span> Switch</h2>
|
|
8710
8939
|
<div class="badges">
|
|
8711
|
-
<label for="c-
|
|
8940
|
+
<label for="c-27-components-switch-props" class="badge ok as-toggle">8 prop types</label>
|
|
8712
8941
|
|
|
8713
|
-
<label for="c-
|
|
8942
|
+
<label for="c-27-components-switch-stories" class="badge ok as-toggle">7 stories</label>
|
|
8714
8943
|
|
|
8715
8944
|
|
|
8716
8945
|
</div>
|
|
@@ -8726,10 +8955,10 @@ a Checkbox for a single boolean that applies instantly, and pair it with a
|
|
|
8726
8955
|
<!-- ⬇️ Hidden toggles must be siblings BEFORE .panels -->
|
|
8727
8956
|
|
|
8728
8957
|
|
|
8729
|
-
<input id="c-
|
|
8958
|
+
<input id="c-27-components-switch-stories" class="tg tg-stories" type="checkbox" hidden />
|
|
8730
8959
|
|
|
8731
8960
|
|
|
8732
|
-
<input id="c-
|
|
8961
|
+
<input id="c-27-components-switch-props" class="tg tg-props" type="checkbox" hidden />
|
|
8733
8962
|
|
|
8734
8963
|
<div class="panels">
|
|
8735
8964
|
|
|
@@ -8910,9 +9139,9 @@ size?: "sm" | "md"</code></pre>
|
|
|
8910
9139
|
<div class="title">
|
|
8911
9140
|
<h2><span class="status-dot dot-ok"></span> Table.Root</h2>
|
|
8912
9141
|
<div class="badges">
|
|
8913
|
-
<label for="c-
|
|
9142
|
+
<label for="c-28-components-table-props" class="badge ok as-toggle">6 prop types</label>
|
|
8914
9143
|
|
|
8915
|
-
<label for="c-
|
|
9144
|
+
<label for="c-28-components-table-stories" class="badge ok as-toggle">10 stories</label>
|
|
8916
9145
|
|
|
8917
9146
|
|
|
8918
9147
|
</div>
|
|
@@ -8943,10 +9172,10 @@ import { Table } from '@agentero/design-system/table';
|
|
|
8943
9172
|
<!-- ⬇️ Hidden toggles must be siblings BEFORE .panels -->
|
|
8944
9173
|
|
|
8945
9174
|
|
|
8946
|
-
<input id="c-
|
|
9175
|
+
<input id="c-28-components-table-stories" class="tg tg-stories" type="checkbox" hidden />
|
|
8947
9176
|
|
|
8948
9177
|
|
|
8949
|
-
<input id="c-
|
|
9178
|
+
<input id="c-28-components-table-props" class="tg tg-props" type="checkbox" hidden />
|
|
8950
9179
|
|
|
8951
9180
|
<div class="panels">
|
|
8952
9181
|
|
|
@@ -9164,9 +9393,9 @@ keeps its padding.</div>
|
|
|
9164
9393
|
<div class="title">
|
|
9165
9394
|
<h2><span class="status-dot dot-ok"></span> Tabs.Root</h2>
|
|
9166
9395
|
<div class="badges">
|
|
9167
|
-
<label for="c-
|
|
9396
|
+
<label for="c-29-components-tabs-props" class="badge ok as-toggle">9 prop types</label>
|
|
9168
9397
|
|
|
9169
|
-
<label for="c-
|
|
9398
|
+
<label for="c-29-components-tabs-stories" class="badge ok as-toggle">8 stories</label>
|
|
9170
9399
|
|
|
9171
9400
|
|
|
9172
9401
|
</div>
|
|
@@ -9197,10 +9426,10 @@ import { Tabs } from '@agentero/design-system/tabs';
|
|
|
9197
9426
|
<!-- ⬇️ Hidden toggles must be siblings BEFORE .panels -->
|
|
9198
9427
|
|
|
9199
9428
|
|
|
9200
|
-
<input id="c-
|
|
9429
|
+
<input id="c-29-components-tabs-stories" class="tg tg-stories" type="checkbox" hidden />
|
|
9201
9430
|
|
|
9202
9431
|
|
|
9203
|
-
<input id="c-
|
|
9432
|
+
<input id="c-29-components-tabs-props" class="tg tg-props" type="checkbox" hidden />
|
|
9204
9433
|
|
|
9205
9434
|
<div class="panels">
|
|
9206
9435
|
|
|
@@ -9421,9 +9650,9 @@ tablist role is announced.</div>
|
|
|
9421
9650
|
<div class="title">
|
|
9422
9651
|
<h2><span class="status-dot dot-ok"></span> Tag</h2>
|
|
9423
9652
|
<div class="badges">
|
|
9424
|
-
<label for="c-
|
|
9653
|
+
<label for="c-30-components-tag-props" class="badge ok as-toggle">8 prop types</label>
|
|
9425
9654
|
|
|
9426
|
-
<label for="c-
|
|
9655
|
+
<label for="c-30-components-tag-stories" class="badge ok as-toggle">12 stories</label>
|
|
9427
9656
|
|
|
9428
9657
|
|
|
9429
9658
|
</div>
|
|
@@ -9442,10 +9671,10 @@ it an interactive link or button, which adds the pointer cursor and hover fill.<
|
|
|
9442
9671
|
<!-- ⬇️ Hidden toggles must be siblings BEFORE .panels -->
|
|
9443
9672
|
|
|
9444
9673
|
|
|
9445
|
-
<input id="c-
|
|
9674
|
+
<input id="c-30-components-tag-stories" class="tg tg-stories" type="checkbox" hidden />
|
|
9446
9675
|
|
|
9447
9676
|
|
|
9448
|
-
<input id="c-
|
|
9677
|
+
<input id="c-30-components-tag-props" class="tg tg-props" type="checkbox" hidden />
|
|
9449
9678
|
|
|
9450
9679
|
<div class="panels">
|
|
9451
9680
|
|
|
@@ -9870,9 +10099,9 @@ leading + trailing icons, and icon-only.</div>
|
|
|
9870
10099
|
<div class="title">
|
|
9871
10100
|
<h2><span class="status-dot dot-ok"></span> TextArea</h2>
|
|
9872
10101
|
<div class="badges">
|
|
9873
|
-
<label for="c-
|
|
10102
|
+
<label for="c-31-components-textarea-props" class="badge ok as-toggle">1 prop type</label>
|
|
9874
10103
|
|
|
9875
|
-
<label for="c-
|
|
10104
|
+
<label for="c-31-components-textarea-stories" class="badge ok as-toggle">6 stories</label>
|
|
9876
10105
|
|
|
9877
10106
|
|
|
9878
10107
|
</div>
|
|
@@ -9889,10 +10118,10 @@ states. It wires nothing on its own: `id`, `aria-invalid` and
|
|
|
9889
10118
|
<!-- ⬇️ Hidden toggles must be siblings BEFORE .panels -->
|
|
9890
10119
|
|
|
9891
10120
|
|
|
9892
|
-
<input id="c-
|
|
10121
|
+
<input id="c-31-components-textarea-stories" class="tg tg-stories" type="checkbox" hidden />
|
|
9893
10122
|
|
|
9894
10123
|
|
|
9895
|
-
<input id="c-
|
|
10124
|
+
<input id="c-31-components-textarea-props" class="tg tg-props" type="checkbox" hidden />
|
|
9896
10125
|
|
|
9897
10126
|
<div class="panels">
|
|
9898
10127
|
|
|
@@ -10024,9 +10253,9 @@ size and the minimum height shows three rows.</div>
|
|
|
10024
10253
|
<div class="title">
|
|
10025
10254
|
<h2><span class="status-dot dot-ok"></span> Toast</h2>
|
|
10026
10255
|
<div class="badges">
|
|
10027
|
-
<label for="c-
|
|
10256
|
+
<label for="c-32-components-toast-props" class="badge ok as-toggle">11 prop types</label>
|
|
10028
10257
|
|
|
10029
|
-
<label for="c-
|
|
10258
|
+
<label for="c-32-components-toast-stories" class="badge ok as-toggle">11 stories</label>
|
|
10030
10259
|
|
|
10031
10260
|
|
|
10032
10261
|
</div>
|
|
@@ -10045,10 +10274,10 @@ common feedback patterns.</div>
|
|
|
10045
10274
|
<!-- ⬇️ Hidden toggles must be siblings BEFORE .panels -->
|
|
10046
10275
|
|
|
10047
10276
|
|
|
10048
|
-
<input id="c-
|
|
10277
|
+
<input id="c-32-components-toast-stories" class="tg tg-stories" type="checkbox" hidden />
|
|
10049
10278
|
|
|
10050
10279
|
|
|
10051
|
-
<input id="c-
|
|
10280
|
+
<input id="c-32-components-toast-props" class="tg tg-props" type="checkbox" hidden />
|
|
10052
10281
|
|
|
10053
10282
|
<div class="panels">
|
|
10054
10283
|
|
|
@@ -10477,9 +10706,9 @@ action (e.g., a sync icon for a sync-in-progress toast).</div>
|
|
|
10477
10706
|
<div class="title">
|
|
10478
10707
|
<h2><span class="status-dot dot-ok"></span> Tooltip</h2>
|
|
10479
10708
|
<div class="badges">
|
|
10480
|
-
<label for="c-
|
|
10709
|
+
<label for="c-33-components-tooltip-props" class="badge ok as-toggle">12 prop types</label>
|
|
10481
10710
|
|
|
10482
|
-
<label for="c-
|
|
10711
|
+
<label for="c-33-components-tooltip-stories" class="badge ok as-toggle">5 stories</label>
|
|
10483
10712
|
|
|
10484
10713
|
|
|
10485
10714
|
</div>
|
|
@@ -10498,10 +10727,10 @@ on hover or focus.</div>
|
|
|
10498
10727
|
<!-- ⬇️ Hidden toggles must be siblings BEFORE .panels -->
|
|
10499
10728
|
|
|
10500
10729
|
|
|
10501
|
-
<input id="c-
|
|
10730
|
+
<input id="c-33-components-tooltip-stories" class="tg tg-stories" type="checkbox" hidden />
|
|
10502
10731
|
|
|
10503
10732
|
|
|
10504
|
-
<input id="c-
|
|
10733
|
+
<input id="c-33-components-tooltip-props" class="tg tg-props" type="checkbox" hidden />
|
|
10505
10734
|
|
|
10506
10735
|
<div class="panels">
|
|
10507
10736
|
|
|
@@ -10673,9 +10902,9 @@ sideOffset?: number = 4</code></pre>
|
|
|
10673
10902
|
<div class="title">
|
|
10674
10903
|
<h2><span class="status-dot dot-ok"></span> ValidationList</h2>
|
|
10675
10904
|
<div class="badges">
|
|
10676
|
-
<label for="c-
|
|
10905
|
+
<label for="c-34-components-validationlist-props" class="badge ok as-toggle">2 prop types</label>
|
|
10677
10906
|
|
|
10678
|
-
<label for="c-
|
|
10907
|
+
<label for="c-34-components-validationlist-stories" class="badge ok as-toggle">4 stories</label>
|
|
10679
10908
|
|
|
10680
10909
|
|
|
10681
10910
|
</div>
|
|
@@ -10696,10 +10925,10 @@ your form validation; it does not own the input or block submission.</div>
|
|
|
10696
10925
|
<!-- ⬇️ Hidden toggles must be siblings BEFORE .panels -->
|
|
10697
10926
|
|
|
10698
10927
|
|
|
10699
|
-
<input id="c-
|
|
10928
|
+
<input id="c-34-components-validationlist-stories" class="tg tg-stories" type="checkbox" hidden />
|
|
10700
10929
|
|
|
10701
10930
|
|
|
10702
|
-
<input id="c-
|
|
10931
|
+
<input id="c-34-components-validationlist-props" class="tg tg-props" type="checkbox" hidden />
|
|
10703
10932
|
|
|
10704
10933
|
<div class="panels">
|
|
10705
10934
|
|