@agentero/design-system 0.7.5 → 0.8.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 +169 -8
- package/mcp/manifests/components.json +1 -1
- package/package.json +5 -1
- package/src/pagination/get-pages.d.ts +15 -0
- package/src/pagination/get-pages.js +55 -0
- package/src/pagination/icons.d.ts +25 -0
- package/src/pagination/icons.js +29 -0
- package/src/pagination/index.d.ts +2 -0
- package/src/pagination/index.js +2 -0
- package/src/pagination/pagination.d.ts +102 -0
- package/src/pagination/pagination.js +96 -0
|
@@ -576,13 +576,13 @@
|
|
|
576
576
|
<header>
|
|
577
577
|
<div class="wrap">
|
|
578
578
|
<h1>Manifest Debugger</h1>
|
|
579
|
-
<div class="summary"><a class="filter-pill all" data-k="all" href="#filter-all">All</a><span class="filter-pill ok" aria-disabled="true">
|
|
579
|
+
<div class="summary"><a class="filter-pill all" data-k="all" href="#filter-all">All</a><span class="filter-pill ok" aria-disabled="true">9 components ok</span><span class="filter-pill ok" aria-disabled="true">104 stories ok</span></div>
|
|
580
580
|
</div>
|
|
581
581
|
</header>
|
|
582
582
|
<main>
|
|
583
583
|
<div class="wrap">
|
|
584
584
|
<div class="note ok" style="margin-bottom: 16px;">
|
|
585
|
-
Using <code>react-docgen-typescript</code>. Generation took <strong>2.
|
|
585
|
+
Using <code>react-docgen-typescript</code>. Generation took <strong>2.1s</strong>.
|
|
586
586
|
</div>
|
|
587
587
|
<h2 class="section-title">Components</h2>
|
|
588
588
|
<div class="grid" role="list">
|
|
@@ -2658,6 +2658,167 @@ size?: "sm" | "md" | "lg"</code></pre>
|
|
|
2658
2658
|
|
|
2659
2659
|
</div>
|
|
2660
2660
|
</article>
|
|
2661
|
+
<article
|
|
2662
|
+
class="card
|
|
2663
|
+
no-error
|
|
2664
|
+
no-info
|
|
2665
|
+
no-story-error
|
|
2666
|
+
no-doc-error"
|
|
2667
|
+
role="listitem"
|
|
2668
|
+
aria-label="Pagination">
|
|
2669
|
+
<div class="head">
|
|
2670
|
+
<div class="title">
|
|
2671
|
+
<h2><span class="status-dot dot-ok"></span> Pagination</h2>
|
|
2672
|
+
<div class="badges">
|
|
2673
|
+
<label for="c-6-components-pagination-props" class="badge ok as-toggle">5 prop types</label>
|
|
2674
|
+
|
|
2675
|
+
<label for="c-6-components-pagination-stories" class="badge ok as-toggle">7 stories</label>
|
|
2676
|
+
|
|
2677
|
+
</div>
|
|
2678
|
+
</div>
|
|
2679
|
+
<div class="meta" title="./src/pagination/pagination.stories.tsx">components-pagination · ./src/pagination/pagination.stories.tsx</div>
|
|
2680
|
+
|
|
2681
|
+
<div class="hint">Pagination is a 1-indexed paged navigation control with previous/next icon buttons, numeric page buttons, and a leading "X - Y of Z" entries summary. The page list collapses long ranges with `…` ellipses so the control stays compact regardless of total page count. Use it for lists, tables, or grids that are split across pages.</div>
|
|
2682
|
+
|
|
2683
|
+
</div>
|
|
2684
|
+
|
|
2685
|
+
<!-- ⬇️ Hidden toggles must be siblings BEFORE .panels -->
|
|
2686
|
+
|
|
2687
|
+
|
|
2688
|
+
<input id="c-6-components-pagination-stories" class="tg tg-stories" type="checkbox" hidden />
|
|
2689
|
+
|
|
2690
|
+
<input id="c-6-components-pagination-props" class="tg tg-props" type="checkbox" hidden />
|
|
2691
|
+
|
|
2692
|
+
<div class="panels">
|
|
2693
|
+
|
|
2694
|
+
|
|
2695
|
+
|
|
2696
|
+
<div class="panel panel-props">
|
|
2697
|
+
<div class="note ok">
|
|
2698
|
+
<div class="row">
|
|
2699
|
+
<span class="ex-name">Prop types <small>(react-docgen-typescript)</small></span>
|
|
2700
|
+
<span class="badge ok">5 prop types</span>
|
|
2701
|
+
</div>
|
|
2702
|
+
<pre><code>Component: src/pagination/pagination.tsx::Pagination</code></pre>
|
|
2703
|
+
<pre><code>Props:</code></pre>
|
|
2704
|
+
<pre><code>className?: string
|
|
2705
|
+
|
|
2706
|
+
currentPage: number
|
|
2707
|
+
|
|
2708
|
+
onPageChange: (page: number) => void
|
|
2709
|
+
|
|
2710
|
+
pageSize: number
|
|
2711
|
+
|
|
2712
|
+
totalCount: number</code></pre>
|
|
2713
|
+
</div>
|
|
2714
|
+
</div>
|
|
2715
|
+
|
|
2716
|
+
<div class="panel panel-stories">
|
|
2717
|
+
|
|
2718
|
+
|
|
2719
|
+
|
|
2720
|
+
<div class="note ok">
|
|
2721
|
+
<div class="row">
|
|
2722
|
+
<span class="ex-name">Imports</span>
|
|
2723
|
+
</div>
|
|
2724
|
+
<pre><code>import { Pagination } from "@agentero/design-system";</code></pre>
|
|
2725
|
+
</div>
|
|
2726
|
+
|
|
2727
|
+
|
|
2728
|
+
<div class="note ok">
|
|
2729
|
+
<div class="row">
|
|
2730
|
+
<span class="ex-name">Default</span>
|
|
2731
|
+
<span class="badge ok">story ok</span>
|
|
2732
|
+
</div>
|
|
2733
|
+
<div>Default args playground for Pagination</div>
|
|
2734
|
+
<div class="hint">Default args playground. The first page of a 1,000-item list paged 10 at a time — renders pages 1–5, an ellipsis, and the last page (100), with the previous-page button disabled because we're on page 1.</div>
|
|
2735
|
+
<pre><code>const Default = () => <Pagination currentPage={1} totalCount={1000} pageSize={10} onPageChange={fn()} />;</code></pre>
|
|
2736
|
+
</div>
|
|
2737
|
+
<div class="note ok">
|
|
2738
|
+
<div class="row">
|
|
2739
|
+
<span class="ex-name">Few Pages</span>
|
|
2740
|
+
<span class="badge ok">story ok</span>
|
|
2741
|
+
</div>
|
|
2742
|
+
<div>Short page list with no ellipsis collapse</div>
|
|
2743
|
+
<div class="hint">Short list whose total pages fit in the visible window — no ellipsis is rendered. Exercises the `totalPageNumbers >= totalPageCount` branch in `getPages`.</div>
|
|
2744
|
+
<pre><code>const FewPages = () => <Pagination
|
|
2745
|
+
currentPage={2}
|
|
2746
|
+
totalCount={30}
|
|
2747
|
+
pageSize={10}
|
|
2748
|
+
onPageChange={(page: number) => console.log('onPageChange', page)} />;</code></pre>
|
|
2749
|
+
</div>
|
|
2750
|
+
<div class="note ok">
|
|
2751
|
+
<div class="row">
|
|
2752
|
+
<span class="ex-name">Dots Right</span>
|
|
2753
|
+
<span class="badge ok">story ok</span>
|
|
2754
|
+
</div>
|
|
2755
|
+
<div>Right-side ellipsis only (current page near start)</div>
|
|
2756
|
+
<div class="hint">Current page sits near the start of the range — left ellipsis is hidden, right ellipsis is shown, and the last page button anchors the right edge.</div>
|
|
2757
|
+
<pre><code>const DotsRight = () => <Pagination
|
|
2758
|
+
currentPage={2}
|
|
2759
|
+
totalCount={1000}
|
|
2760
|
+
pageSize={10}
|
|
2761
|
+
onPageChange={(page: number) => console.log('onPageChange', page)} />;</code></pre>
|
|
2762
|
+
</div>
|
|
2763
|
+
<div class="note ok">
|
|
2764
|
+
<div class="row">
|
|
2765
|
+
<span class="ex-name">Dots Left</span>
|
|
2766
|
+
<span class="badge ok">story ok</span>
|
|
2767
|
+
</div>
|
|
2768
|
+
<div>Left-side ellipsis only (current page near end)</div>
|
|
2769
|
+
<div class="hint">Current page sits near the end of the range — left ellipsis is shown, right ellipsis is hidden, and the first page button anchors the left edge.</div>
|
|
2770
|
+
<pre><code>const DotsLeft = () => <Pagination
|
|
2771
|
+
currentPage={99}
|
|
2772
|
+
totalCount={1000}
|
|
2773
|
+
pageSize={10}
|
|
2774
|
+
onPageChange={(page: number) => console.log('onPageChange', page)} />;</code></pre>
|
|
2775
|
+
</div>
|
|
2776
|
+
<div class="note ok">
|
|
2777
|
+
<div class="row">
|
|
2778
|
+
<span class="ex-name">Dots Both</span>
|
|
2779
|
+
<span class="badge ok">story ok</span>
|
|
2780
|
+
</div>
|
|
2781
|
+
<div>Both ellipses visible (current page in middle)</div>
|
|
2782
|
+
<div class="hint">Current page sits in the middle of the range — both ellipses are visible, with the first and last page buttons anchoring each edge.</div>
|
|
2783
|
+
<pre><code>const DotsBoth = () => <Pagination
|
|
2784
|
+
currentPage={50}
|
|
2785
|
+
totalCount={1000}
|
|
2786
|
+
pageSize={10}
|
|
2787
|
+
onPageChange={(page: number) => console.log('onPageChange', page)} />;</code></pre>
|
|
2788
|
+
</div>
|
|
2789
|
+
<div class="note ok">
|
|
2790
|
+
<div class="row">
|
|
2791
|
+
<span class="ex-name">Last Page</span>
|
|
2792
|
+
<span class="badge ok">story ok</span>
|
|
2793
|
+
</div>
|
|
2794
|
+
<div>Last page selected with disabled next button</div>
|
|
2795
|
+
<div class="hint">Last page selected — the next-page button is disabled and the active page indicator sits on the trailing number.</div>
|
|
2796
|
+
<pre><code>const LastPage = () => <Pagination currentPage={100} totalCount={1000} pageSize={10} onPageChange={fn()} />;</code></pre>
|
|
2797
|
+
</div>
|
|
2798
|
+
<div class="note ok">
|
|
2799
|
+
<div class="row">
|
|
2800
|
+
<span class="ex-name">Controlled</span>
|
|
2801
|
+
<span class="badge ok">story ok</span>
|
|
2802
|
+
</div>
|
|
2803
|
+
<div>Interactive controlled example backed by `useState`</div>
|
|
2804
|
+
<div class="hint">Interactive controlled example. Local `useState` owns the page; clicking a page, previous, or next button updates it so the active page indicator and entries summary follow along.</div>
|
|
2805
|
+
<pre><code>const Controlled = ({ totalCount, pageSize }) => {
|
|
2806
|
+
const [page, setPage] = useState(1);
|
|
2807
|
+
|
|
2808
|
+
return (
|
|
2809
|
+
<Pagination
|
|
2810
|
+
currentPage={page}
|
|
2811
|
+
totalCount={totalCount}
|
|
2812
|
+
pageSize={pageSize}
|
|
2813
|
+
onPageChange={setPage}
|
|
2814
|
+
/>
|
|
2815
|
+
);
|
|
2816
|
+
};</code></pre>
|
|
2817
|
+
</div>
|
|
2818
|
+
</div>
|
|
2819
|
+
|
|
2820
|
+
</div>
|
|
2821
|
+
</article>
|
|
2661
2822
|
<article
|
|
2662
2823
|
class="card
|
|
2663
2824
|
no-error
|
|
@@ -2672,7 +2833,7 @@ size?: "sm" | "md" | "lg"</code></pre>
|
|
|
2672
2833
|
<div class="badges">
|
|
2673
2834
|
|
|
2674
2835
|
|
|
2675
|
-
<label for="c-
|
|
2836
|
+
<label for="c-7-components-statusball-stories" class="badge ok as-toggle">12 stories</label>
|
|
2676
2837
|
|
|
2677
2838
|
</div>
|
|
2678
2839
|
</div>
|
|
@@ -2685,7 +2846,7 @@ size?: "sm" | "md" | "lg"</code></pre>
|
|
|
2685
2846
|
<!-- ⬇️ Hidden toggles must be siblings BEFORE .panels -->
|
|
2686
2847
|
|
|
2687
2848
|
|
|
2688
|
-
<input id="c-
|
|
2849
|
+
<input id="c-7-components-statusball-stories" class="tg tg-stories" type="checkbox" hidden />
|
|
2689
2850
|
|
|
2690
2851
|
|
|
2691
2852
|
|
|
@@ -2890,9 +3051,9 @@ size?: "sm" | "md" | "lg"</code></pre>
|
|
|
2890
3051
|
<div class="title">
|
|
2891
3052
|
<h2><span class="status-dot dot-ok"></span> Toast</h2>
|
|
2892
3053
|
<div class="badges">
|
|
2893
|
-
<label for="c-
|
|
3054
|
+
<label for="c-8-components-toast-props" class="badge ok as-toggle">11 prop types</label>
|
|
2894
3055
|
|
|
2895
|
-
<label for="c-
|
|
3056
|
+
<label for="c-8-components-toast-stories" class="badge ok as-toggle">11 stories</label>
|
|
2896
3057
|
|
|
2897
3058
|
</div>
|
|
2898
3059
|
</div>
|
|
@@ -2905,9 +3066,9 @@ size?: "sm" | "md" | "lg"</code></pre>
|
|
|
2905
3066
|
<!-- ⬇️ Hidden toggles must be siblings BEFORE .panels -->
|
|
2906
3067
|
|
|
2907
3068
|
|
|
2908
|
-
<input id="c-
|
|
3069
|
+
<input id="c-8-components-toast-stories" class="tg tg-stories" type="checkbox" hidden />
|
|
2909
3070
|
|
|
2910
|
-
<input id="c-
|
|
3071
|
+
<input id="c-8-components-toast-props" class="tg tg-props" type="checkbox" hidden />
|
|
2911
3072
|
|
|
2912
3073
|
<div class="panels">
|
|
2913
3074
|
|