@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.
@@ -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">34 components ok</span><span class="filter-pill ok" aria-disabled="true">281 stories ok</span></div>
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>4.9s</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
  &lt;/Combobox.List&gt;
3464
3464
  &lt;/Combobox.Content&gt;
3465
3465
  &lt;/Combobox.Root&gt;
3466
- &lt;Field.Description&gt;The agency this agent will be added to.&lt;/Field.Description&gt;
3467
3466
  &lt;Field.Error errors={[{ message: &#39;Pick an agency from the list&#39; }]} /&gt;
3467
+ &lt;Field.Description&gt;The agency this agent will be added to.&lt;/Field.Description&gt;
3468
3468
  &lt;/FieldText&gt;
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">16 stories</label>
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: &lt;Field.Root invalid={!!error} required&gt;
5242
5242
  &lt;Field.Label&gt;Email&lt;/Field.Label&gt;
5243
5243
  &lt;Input type=&quot;email&quot; /&gt;
5244
- &lt;Field.Description&gt;We only use this for policy documents.&lt;/Field.Description&gt;
5245
5244
  &lt;Field.Error errors={[error]} /&gt;
5245
+ &lt;Field.Description&gt;We only use this for policy documents.&lt;/Field.Description&gt;
5246
5246
  &lt;/Field.Root&gt;</span></div>
5247
5247
  </div>
5248
5248
 
@@ -5492,6 +5492,37 @@ either, the control carries no `aria-describedby` at all.</div>
5492
5492
  &lt;DemoInput type=&quot;email&quot; /&gt;
5493
5493
  &lt;Field.Error errors={[undefined]} /&gt;
5494
5494
  &lt;/Field.Root&gt;;</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 = () =&gt; {
5506
+ const [error, setError] = useState&lt;string&gt;();
5507
+
5508
+ return (
5509
+ &lt;div className=&quot;flex flex-col items-start gap-4&quot;&gt;
5510
+ &lt;Field.Root
5511
+ orientation=&quot;vertical&quot;
5512
+ disabled={false}
5513
+ readOnly={false}
5514
+ required={false}
5515
+ invalid={!!error}&gt;
5516
+ &lt;Label&gt;Tax ID&lt;/Label&gt;
5517
+ &lt;DemoInput inputMode=&quot;numeric&quot; /&gt;
5518
+ &lt;Field.Error id=&quot;tax-id-error&quot;&gt;{error}&lt;/Field.Error&gt;
5519
+ &lt;Field.Description&gt;Nine digits, with or without the dash.&lt;/Field.Description&gt;
5520
+ &lt;/Field.Root&gt;
5521
+ &lt;button type=&quot;button&quot; onClick={() =&gt; setError(&#39;Enter the tax ID.&#39;)}&gt;Validate
5522
+ &lt;/button&gt;
5523
+ &lt;/div&gt;
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: &lt;FieldText invalid={!!error} required&gt;
5744
5775
  &lt;Label&gt;Email&lt;/Label&gt;
5745
5776
  &lt;Input type=&quot;email&quot; /&gt;
5746
- &lt;Field.Description&gt;We only use this for policy documents.&lt;/Field.Description&gt;
5747
5777
  &lt;Field.Error errors={[error]} /&gt;
5778
+ &lt;Field.Description&gt;We only use this for policy documents.&lt;/Field.Description&gt;
5748
5779
  &lt;/FieldText&gt;</span></div>
5749
5780
  </div>
5750
5781
 
@@ -6163,7 +6194,7 @@ Validation is react-hook-form&#39;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">9 stories</label>
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&lt;FieldValues, any, unknown&gt;
6226
6257
  controlId?: string
6227
6258
 
6228
6259
  /**
6229
- * Helper text shown under the control and announced through its
6230
- * `aria-describedby`. Use it for guidance the user needs before typing; put
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
  &lt;Button type=&quot;submit&quot;&gt;Save&lt;/Button&gt;
6443
6474
  &lt;/Form.Root&gt;
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 = () =&gt; {
6488
+ const methods = useForm&lt;TaxValues&gt;({ defaultValues: { taxId: &#39;&#39; } });
6489
+
6490
+ return (
6491
+ &lt;Form.Root
6492
+ methods={methods}
6493
+ onSubmit={onSubmit}
6494
+ aria-label=&quot;Tax details&quot;
6495
+ className=&quot;flex flex-col items-start gap-7&quot;&gt;
6496
+ &lt;FormText
6497
+ name=&quot;taxId&quot;
6498
+ label=&quot;Tax ID&quot;
6499
+ description=&quot;Nine digits, with or without the dash.&quot;
6500
+ rules={{ required: &#39;Enter the tax ID.&#39; }}
6501
+ inputProps={{ inputMode: &#39;numeric&#39;, autoComplete: &#39;off&#39; }}
6502
+ /&gt;
6503
+ &lt;Button type=&quot;submit&quot;&gt;Save&lt;/Button&gt;
6504
+ &lt;/Form.Root&gt;
6505
+ );
6445
6506
  };</code></pre>
6446
6507
  </div>
6447
6508
  <div class="note ok">
@@ -7426,6 +7487,174 @@ button&#39;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 `&lt;input&gt;`, 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 &quot;input-password&quot; on the frame</span><span class="chip">example: &lt;FieldText required&gt;
7519
+ &lt;Label&gt;Password&lt;/Label&gt;
7520
+ &lt;InputPassword name=&quot;password&quot; autoComplete=&quot;current-password&quot; /&gt;
7521
+ &lt;/FieldText&gt;</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 `&#39;md&#39;`.
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?: &quot;sm&quot; | &quot;md&quot; | &quot;lg&quot;</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 = () =&gt; &lt;InputPassword aria-label=&quot;Password&quot; autoComplete=&quot;current-password&quot; /&gt;;</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 `&lt;fieldset disabled&gt;` around it.</div>
7585
+ <pre><code>const Disabled = () =&gt; &lt;div style={{ display: &#39;grid&#39;, gap: &#39;1rem&#39; }}&gt;
7586
+ &lt;InputPassword
7587
+ aria-label=&quot;Password&quot;
7588
+ autoComplete=&quot;current-password&quot;
7589
+ disabled
7590
+ defaultValue=&quot;hunter22&quot; /&gt;
7591
+ &lt;fieldset disabled style={{ border: 0, margin: 0, padding: 0 }}&gt;
7592
+ &lt;InputPassword aria-label=&quot;New password&quot; autoComplete=&quot;new-password&quot; /&gt;
7593
+ &lt;/fieldset&gt;
7594
+ &lt;/div&gt;;</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&#39;s destructive border</div>
7602
+ <div class="hint">`invalid` on the surrounding `FieldText` sets `aria-invalid` on the input,
7603
+ which paints the frame&#39;s destructive border, and `Field.Error` is announced
7604
+ with the input.</div>
7605
+ <pre><code>const Invalid = () =&gt; &lt;div style={{ display: &#39;grid&#39;, gap: &#39;1.5rem&#39; }}&gt;
7606
+ &lt;InputPassword
7607
+ autoComplete=&quot;current-password&quot;
7608
+ aria-label=&quot;Valid password&quot;
7609
+ defaultValue=&quot;hunter22&quot; /&gt;
7610
+ &lt;FieldText invalid&gt;
7611
+ &lt;Label&gt;Password&lt;/Label&gt;
7612
+ &lt;InputPassword autoComplete=&quot;new-password&quot; defaultValue=&quot;hunter&quot; /&gt;
7613
+ &lt;Field.Error errors={[{ message: &#39;Use at least 8 characters.&#39; }]} /&gt;
7614
+ &lt;/FieldText&gt;
7615
+ &lt;/div&gt;;</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&#39;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 = () =&gt; &lt;div style={{ display: &#39;grid&#39;, gap: &#39;1rem&#39; }}&gt;
7628
+ &lt;InputPassword autoComplete=&quot;current-password&quot; size=&quot;sm&quot; aria-label=&quot;Small&quot; /&gt;
7629
+ &lt;InputPassword autoComplete=&quot;current-password&quot; size=&quot;md&quot; aria-label=&quot;Medium&quot; /&gt;
7630
+ &lt;InputPassword autoComplete=&quot;current-password&quot; size=&quot;lg&quot; aria-label=&quot;Large&quot; /&gt;
7631
+ &lt;/div&gt;;</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 = () =&gt; (
7642
+ &lt;div style={{ display: &#39;grid&#39;, gap: &#39;1.5rem&#39; }}&gt;
7643
+ &lt;FieldText required&gt;
7644
+ &lt;Label&gt;Password&lt;/Label&gt;
7645
+ &lt;InputPassword autoComplete=&quot;new-password&quot; /&gt;
7646
+ &lt;Field.Description&gt;At least 8 characters.&lt;/Field.Description&gt;
7647
+ &lt;/FieldText&gt;
7648
+ &lt;FieldText disabled&gt;
7649
+ &lt;Label&gt;Current password&lt;/Label&gt;
7650
+ &lt;InputPassword autoComplete=&quot;current-password&quot; defaultValue=&quot;hunter22&quot; /&gt;
7651
+ &lt;/FieldText&gt;
7652
+ &lt;/div&gt;
7653
+ );</code></pre>
7654
+ </div>
7655
+ </div>
7656
+
7657
+
7429
7658
  </div>
7430
7659
  </article>
7431
7660
  <article
@@ -7440,9 +7669,9 @@ button&#39;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-19-components-label-props" class="badge ok as-toggle">3 prop types</label>
7672
+ <label for="c-20-components-label-props" class="badge ok as-toggle">3 prop types</label>
7444
7673
 
7445
- <label for="c-19-components-label-stories" class="badge ok as-toggle">5 stories</label>
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-19-components-label-stories" class="tg tg-stories" type="checkbox" hidden />
7694
+ <input id="c-20-components-label-stories" class="tg tg-stories" type="checkbox" hidden />
7466
7695
 
7467
7696
 
7468
- <input id="c-19-components-label-props" class="tg tg-props" type="checkbox" hidden />
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&#39;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-20-components-loading-props" class="badge ok as-toggle">1 prop type</label>
7817
+ <label for="c-21-components-loading-props" class="badge ok as-toggle">1 prop type</label>
7589
7818
 
7590
- <label for="c-20-components-loading-stories" class="badge ok as-toggle">7 stories</label>
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-20-components-loading-stories" class="tg tg-stories" type="checkbox" hidden />
7836
+ <input id="c-21-components-loading-stories" class="tg tg-stories" type="checkbox" hidden />
7608
7837
 
7609
7838
 
7610
- <input id="c-20-components-loading-props" class="tg tg-props" type="checkbox" hidden />
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-21-components-modal-props" class="badge ok as-toggle">5 prop types</label>
7990
+ <label for="c-22-components-modal-props" class="badge ok as-toggle">5 prop types</label>
7762
7991
 
7763
- <label for="c-21-components-modal-stories" class="badge ok as-toggle">6 stories</label>
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 &#39;@agentero/design-system/modal&#39;;
7806
8035
  <!-- ⬇️ Hidden toggles must be siblings BEFORE .panels -->
7807
8036
 
7808
8037
 
7809
- <input id="c-21-components-modal-stories" class="tg tg-stories" type="checkbox" hidden />
8038
+ <input id="c-22-components-modal-stories" class="tg tg-stories" type="checkbox" hidden />
7810
8039
 
7811
8040
 
7812
- <input id="c-21-components-modal-props" class="tg tg-props" type="checkbox" hidden />
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-22-components-pagination-props" class="badge ok as-toggle">5 prop types</label>
8261
+ <label for="c-23-components-pagination-props" class="badge ok as-toggle">5 prop types</label>
8033
8262
 
8034
- <label for="c-22-components-pagination-stories" class="badge ok as-toggle">7 stories</label>
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-22-components-pagination-stories" class="tg tg-stories" type="checkbox" hidden />
8293
+ <input id="c-23-components-pagination-stories" class="tg tg-stories" type="checkbox" hidden />
8065
8294
 
8066
8295
 
8067
- <input id="c-22-components-pagination-props" class="tg tg-props" type="checkbox" hidden />
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-23-components-popover-props" class="badge ok as-toggle">5 prop types</label>
8451
+ <label for="c-24-components-popover-props" class="badge ok as-toggle">5 prop types</label>
8223
8452
 
8224
- <label for="c-23-components-popover-stories" class="badge ok as-toggle">5 stories</label>
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 &#39;@agentero/design-system/popover&#39;;
8250
8479
  <!-- ⬇️ Hidden toggles must be siblings BEFORE .panels -->
8251
8480
 
8252
8481
 
8253
- <input id="c-23-components-popover-stories" class="tg tg-stories" type="checkbox" hidden />
8482
+ <input id="c-24-components-popover-stories" class="tg tg-stories" type="checkbox" hidden />
8254
8483
 
8255
8484
 
8256
- <input id="c-23-components-popover-props" class="tg tg-props" type="checkbox" hidden />
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-24-components-progress-props" class="badge ok as-toggle">4 prop types</label>
8684
+ <label for="c-25-components-progress-props" class="badge ok as-toggle">4 prop types</label>
8456
8685
 
8457
- <label for="c-24-components-progress-stories" class="badge ok as-toggle">4 stories</label>
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-24-components-progress-stories" class="tg tg-stories" type="checkbox" hidden />
8705
+ <input id="c-25-components-progress-stories" class="tg tg-stories" type="checkbox" hidden />
8477
8706
 
8478
8707
 
8479
- <input id="c-24-components-progress-props" class="tg tg-props" type="checkbox" hidden />
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-25-components-skeleton-stories" class="badge ok as-toggle">4 stories</label>
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-25-components-skeleton-stories" class="tg tg-stories" type="checkbox" hidden />
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-26-components-switch-props" class="badge ok as-toggle">8 prop types</label>
8940
+ <label for="c-27-components-switch-props" class="badge ok as-toggle">8 prop types</label>
8712
8941
 
8713
- <label for="c-26-components-switch-stories" class="badge ok as-toggle">7 stories</label>
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-26-components-switch-stories" class="tg tg-stories" type="checkbox" hidden />
8958
+ <input id="c-27-components-switch-stories" class="tg tg-stories" type="checkbox" hidden />
8730
8959
 
8731
8960
 
8732
- <input id="c-26-components-switch-props" class="tg tg-props" type="checkbox" hidden />
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?: &quot;sm&quot; | &quot;md&quot;</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-27-components-table-props" class="badge ok as-toggle">6 prop types</label>
9142
+ <label for="c-28-components-table-props" class="badge ok as-toggle">6 prop types</label>
8914
9143
 
8915
- <label for="c-27-components-table-stories" class="badge ok as-toggle">10 stories</label>
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 &#39;@agentero/design-system/table&#39;;
8943
9172
  <!-- ⬇️ Hidden toggles must be siblings BEFORE .panels -->
8944
9173
 
8945
9174
 
8946
- <input id="c-27-components-table-stories" class="tg tg-stories" type="checkbox" hidden />
9175
+ <input id="c-28-components-table-stories" class="tg tg-stories" type="checkbox" hidden />
8947
9176
 
8948
9177
 
8949
- <input id="c-27-components-table-props" class="tg tg-props" type="checkbox" hidden />
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-28-components-tabs-props" class="badge ok as-toggle">9 prop types</label>
9396
+ <label for="c-29-components-tabs-props" class="badge ok as-toggle">9 prop types</label>
9168
9397
 
9169
- <label for="c-28-components-tabs-stories" class="badge ok as-toggle">8 stories</label>
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 &#39;@agentero/design-system/tabs&#39;;
9197
9426
  <!-- ⬇️ Hidden toggles must be siblings BEFORE .panels -->
9198
9427
 
9199
9428
 
9200
- <input id="c-28-components-tabs-stories" class="tg tg-stories" type="checkbox" hidden />
9429
+ <input id="c-29-components-tabs-stories" class="tg tg-stories" type="checkbox" hidden />
9201
9430
 
9202
9431
 
9203
- <input id="c-28-components-tabs-props" class="tg tg-props" type="checkbox" hidden />
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-29-components-tag-props" class="badge ok as-toggle">8 prop types</label>
9653
+ <label for="c-30-components-tag-props" class="badge ok as-toggle">8 prop types</label>
9425
9654
 
9426
- <label for="c-29-components-tag-stories" class="badge ok as-toggle">12 stories</label>
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-29-components-tag-stories" class="tg tg-stories" type="checkbox" hidden />
9674
+ <input id="c-30-components-tag-stories" class="tg tg-stories" type="checkbox" hidden />
9446
9675
 
9447
9676
 
9448
- <input id="c-29-components-tag-props" class="tg tg-props" type="checkbox" hidden />
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-30-components-textarea-props" class="badge ok as-toggle">1 prop type</label>
10102
+ <label for="c-31-components-textarea-props" class="badge ok as-toggle">1 prop type</label>
9874
10103
 
9875
- <label for="c-30-components-textarea-stories" class="badge ok as-toggle">6 stories</label>
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-30-components-textarea-stories" class="tg tg-stories" type="checkbox" hidden />
10121
+ <input id="c-31-components-textarea-stories" class="tg tg-stories" type="checkbox" hidden />
9893
10122
 
9894
10123
 
9895
- <input id="c-30-components-textarea-props" class="tg tg-props" type="checkbox" hidden />
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-31-components-toast-props" class="badge ok as-toggle">11 prop types</label>
10256
+ <label for="c-32-components-toast-props" class="badge ok as-toggle">11 prop types</label>
10028
10257
 
10029
- <label for="c-31-components-toast-stories" class="badge ok as-toggle">11 stories</label>
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-31-components-toast-stories" class="tg tg-stories" type="checkbox" hidden />
10277
+ <input id="c-32-components-toast-stories" class="tg tg-stories" type="checkbox" hidden />
10049
10278
 
10050
10279
 
10051
- <input id="c-31-components-toast-props" class="tg tg-props" type="checkbox" hidden />
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-32-components-tooltip-props" class="badge ok as-toggle">12 prop types</label>
10709
+ <label for="c-33-components-tooltip-props" class="badge ok as-toggle">12 prop types</label>
10481
10710
 
10482
- <label for="c-32-components-tooltip-stories" class="badge ok as-toggle">5 stories</label>
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-32-components-tooltip-stories" class="tg tg-stories" type="checkbox" hidden />
10730
+ <input id="c-33-components-tooltip-stories" class="tg tg-stories" type="checkbox" hidden />
10502
10731
 
10503
10732
 
10504
- <input id="c-32-components-tooltip-props" class="tg tg-props" type="checkbox" hidden />
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-33-components-validationlist-props" class="badge ok as-toggle">2 prop types</label>
10905
+ <label for="c-34-components-validationlist-props" class="badge ok as-toggle">2 prop types</label>
10677
10906
 
10678
- <label for="c-33-components-validationlist-stories" class="badge ok as-toggle">4 stories</label>
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-33-components-validationlist-stories" class="tg tg-stories" type="checkbox" hidden />
10928
+ <input id="c-34-components-validationlist-stories" class="tg tg-stories" type="checkbox" hidden />
10700
10929
 
10701
10930
 
10702
- <input id="c-33-components-validationlist-props" class="tg tg-props" type="checkbox" hidden />
10931
+ <input id="c-34-components-validationlist-props" class="tg tg-props" type="checkbox" hidden />
10703
10932
 
10704
10933
  <div class="panels">
10705
10934