@fpkit/acss 0.5.13 → 0.6.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/libs/{chunk-PQ2K3BM6.cjs → chunk-2NRIP6RB.cjs} +3 -3
- package/libs/chunk-33PNJ4LO.cjs +15 -0
- package/libs/chunk-33PNJ4LO.cjs.map +1 -0
- package/libs/chunk-4BZKFPEC.cjs +17 -0
- package/libs/chunk-4BZKFPEC.cjs.map +1 -0
- package/libs/{chunk-772NRB75.js → chunk-5QD3DWFI.js} +2 -2
- package/libs/chunk-6SAHIYCZ.js +7 -0
- package/libs/chunk-6SAHIYCZ.js.map +1 -0
- package/libs/{chunk-3MKLDCKQ.cjs → chunk-6WTC4JXH.cjs} +3 -3
- package/libs/chunk-75QHTLFO.js +7 -0
- package/libs/chunk-75QHTLFO.js.map +1 -0
- package/libs/{chunk-ZANSFMTD.js → chunk-7XPFW7CB.js} +3 -3
- package/libs/chunk-BFK62VX5.js +5 -0
- package/libs/chunk-BFK62VX5.js.map +1 -0
- package/libs/{chunk-ROZI23GS.cjs → chunk-DKTHCQ5P.cjs} +4 -4
- package/libs/chunk-E2AJURUW.cjs +13 -0
- package/libs/chunk-E2AJURUW.cjs.map +1 -0
- package/libs/{chunk-L75OQKEI.cjs → chunk-ENTCUJ3A.cjs} +3 -3
- package/libs/chunk-ENTCUJ3A.cjs.map +1 -0
- package/libs/chunk-F5EYMVQM.js +10 -0
- package/libs/chunk-F5EYMVQM.js.map +1 -0
- package/libs/chunk-FVROL3V5.js +9 -0
- package/libs/chunk-FVROL3V5.js.map +1 -0
- package/libs/chunk-GT77BX4L.cjs +17 -0
- package/libs/chunk-GT77BX4L.cjs.map +1 -0
- package/libs/chunk-GUJSMQ3V.cjs +16 -0
- package/libs/chunk-GUJSMQ3V.cjs.map +1 -0
- package/libs/chunk-HHLNOC5T.js +7 -0
- package/libs/chunk-HHLNOC5T.js.map +1 -0
- package/libs/chunk-HRRHPLER.js +8 -0
- package/libs/chunk-HRRHPLER.js.map +1 -0
- package/libs/chunk-IEB64SWY.js +8 -0
- package/libs/chunk-IEB64SWY.js.map +1 -0
- package/libs/{chunk-NGTJDDFO.js → chunk-IQ76HGVP.js} +2 -2
- package/libs/chunk-IRLFZ3OL.js +9 -0
- package/libs/chunk-IRLFZ3OL.js.map +1 -0
- package/libs/{chunk-JJ43O4Y5.js → chunk-KK47SYZI.js} +2 -2
- package/libs/chunk-O3JIHC5M.cjs +15 -0
- package/libs/chunk-O3JIHC5M.cjs.map +1 -0
- package/libs/chunk-O5XAJ7BY.cjs +18 -0
- package/libs/chunk-O5XAJ7BY.cjs.map +1 -0
- package/libs/chunk-OVWLQYMK.js +10 -0
- package/libs/chunk-OVWLQYMK.js.map +1 -0
- package/libs/chunk-PNWIRCG3.cjs +7 -0
- package/libs/chunk-PNWIRCG3.cjs.map +1 -0
- package/libs/{chunk-D4YLRWAO.cjs → chunk-QVW6W76L.cjs} +6 -6
- package/libs/chunk-T4T6GWYQ.cjs +17 -0
- package/libs/chunk-T4T6GWYQ.cjs.map +1 -0
- package/libs/chunk-TON2YGMD.cjs +9 -0
- package/libs/chunk-TON2YGMD.cjs.map +1 -0
- package/libs/chunk-UEPAWMDF.js +8 -0
- package/libs/chunk-UEPAWMDF.js.map +1 -0
- package/libs/{chunk-LT5KZ2QW.cjs → chunk-US2I5GI7.cjs} +3 -3
- package/libs/{chunk-B7F5FS6D.cjs → chunk-W2UIN7EV.cjs} +3 -3
- package/libs/{chunk-P2DC76ZZ.cjs → chunk-W5TKWBFC.cjs} +3 -3
- package/libs/chunk-WXBFBWYF.cjs +16 -0
- package/libs/chunk-WXBFBWYF.cjs.map +1 -0
- package/libs/{chunk-VUH3FXGJ.js → chunk-X3JCTEPD.js} +5 -5
- package/libs/chunk-X5LGFCWG.js +9 -0
- package/libs/chunk-X5LGFCWG.js.map +1 -0
- package/libs/{chunk-5M57K4SW.js → chunk-Y2PFDELK.js} +2 -2
- package/libs/{chunk-ETFLFC2S.js → chunk-ZFJ4U45S.js} +2 -2
- package/libs/{component-props-a8a2f97e.d.ts → component-props-67d978a2.d.ts} +4 -4
- package/libs/components/alert/alert.css +1 -1
- package/libs/components/alert/alert.css.map +1 -1
- package/libs/components/alert/alert.min.css +2 -2
- package/libs/components/breadcrumbs/breadcrumb.cjs +6 -6
- package/libs/components/breadcrumbs/breadcrumb.d.cts +11 -11
- package/libs/components/breadcrumbs/breadcrumb.d.ts +11 -11
- package/libs/components/breadcrumbs/breadcrumb.js +3 -3
- package/libs/components/button.cjs +6 -4
- package/libs/components/button.d.cts +97 -4
- package/libs/components/button.d.ts +97 -4
- package/libs/components/button.js +4 -2
- package/libs/components/card.cjs +7 -7
- package/libs/components/card.d.cts +14 -14
- package/libs/components/card.d.ts +14 -14
- package/libs/components/card.js +2 -2
- package/libs/components/dialog/dialog.cjs +9 -7
- package/libs/components/dialog/dialog.d.cts +3 -3
- package/libs/components/dialog/dialog.d.ts +3 -3
- package/libs/components/dialog/dialog.js +7 -5
- package/libs/components/form/fields.cjs +4 -4
- package/libs/components/form/fields.d.cts +16 -7
- package/libs/components/form/fields.d.ts +16 -7
- package/libs/components/form/fields.js +2 -2
- package/libs/components/form/inputs.cjs +6 -4
- package/libs/components/form/inputs.d.cts +50 -2
- package/libs/components/form/inputs.d.ts +50 -2
- package/libs/components/form/inputs.js +4 -2
- package/libs/components/form/textarea.cjs +5 -4
- package/libs/components/form/textarea.d.cts +32 -23
- package/libs/components/form/textarea.d.ts +32 -23
- package/libs/components/form/textarea.js +3 -2
- package/libs/components/heading/heading.cjs +3 -3
- package/libs/components/heading/heading.d.cts +2 -2
- package/libs/components/heading/heading.d.ts +2 -2
- package/libs/components/heading/heading.js +2 -2
- package/libs/components/icons/icon.cjs +4 -4
- package/libs/components/icons/icon.d.cts +38 -38
- package/libs/components/icons/icon.d.ts +38 -38
- package/libs/components/icons/icon.js +2 -2
- package/libs/components/link/link.cjs +4 -4
- package/libs/components/link/link.css +1 -1
- package/libs/components/link/link.css.map +1 -1
- package/libs/components/link/link.d.cts +3 -19
- package/libs/components/link/link.d.ts +3 -19
- package/libs/components/link/link.js +2 -2
- package/libs/components/link/link.min.css +2 -2
- package/libs/components/list/list.cjs +5 -5
- package/libs/components/list/list.css +1 -0
- package/libs/components/list/list.css.map +1 -0
- package/libs/components/list/list.d.cts +120 -33
- package/libs/components/list/list.d.ts +120 -33
- package/libs/components/list/list.js +2 -2
- package/libs/components/list/list.min.css +3 -0
- package/libs/components/modal.cjs +6 -4
- package/libs/components/modal.d.cts +8 -8
- package/libs/components/modal.d.ts +8 -8
- package/libs/components/modal.js +5 -3
- package/libs/components/nav/nav.cjs +7 -7
- package/libs/components/nav/nav.css +1 -1
- package/libs/components/nav/nav.css.map +1 -1
- package/libs/components/nav/nav.d.cts +550 -34
- package/libs/components/nav/nav.d.ts +550 -34
- package/libs/components/nav/nav.js +3 -3
- package/libs/components/nav/nav.min.css +2 -2
- package/libs/components/popover/popover.d.cts +5 -5
- package/libs/components/popover/popover.d.ts +5 -5
- package/libs/components/tables/table.cjs +5 -5
- package/libs/components/tables/table.d.cts +8 -8
- package/libs/components/tables/table.d.ts +8 -8
- package/libs/components/tables/table.js +2 -2
- package/libs/components/tag/tag.css +1 -1
- package/libs/components/tag/tag.css.map +1 -1
- package/libs/components/tag/tag.min.css +2 -2
- package/libs/components/text/text.cjs +5 -5
- package/libs/components/text/text.d.cts +5 -5
- package/libs/components/text/text.d.ts +5 -5
- package/libs/components/text/text.js +2 -2
- package/libs/form.types-d25ebfac.d.ts +233 -0
- package/libs/{heading-3648c538.d.ts → heading-7446cb46.d.ts} +8 -8
- package/libs/hooks.cjs +9 -4
- package/libs/hooks.d.cts +137 -3
- package/libs/hooks.d.ts +137 -3
- package/libs/hooks.js +4 -3
- package/libs/icons.cjs +3 -3
- package/libs/icons.d.cts +2 -2
- package/libs/icons.d.ts +2 -2
- package/libs/icons.js +2 -2
- package/libs/index.cjs +53 -51
- package/libs/index.cjs.map +1 -1
- package/libs/index.css +1 -1
- package/libs/index.css.map +1 -1
- package/libs/index.d.cts +338 -49
- package/libs/index.d.ts +338 -49
- package/libs/index.js +24 -22
- package/libs/index.js.map +1 -1
- package/libs/link-5192f411.d.ts +323 -0
- package/libs/list.types-d26de310.d.ts +245 -0
- package/libs/{ui-645f95b5.d.ts → ui-d01b50d4.d.ts} +16 -12
- package/package.json +4 -6
- package/src/components/alert/alert.scss +1 -4
- package/src/components/breadcrumbs/breadcrumb.tsx +4 -1
- package/src/components/buttons/README.mdx +102 -1
- package/src/components/buttons/button.stories.tsx +106 -0
- package/src/components/buttons/button.tsx +82 -52
- package/src/components/dialog/dialog-a11y-review.md +653 -0
- package/src/components/form/README.mdx +725 -43
- package/src/components/form/WCAG-REVIEW.md +654 -0
- package/src/components/form/fields.tsx +10 -1
- package/src/components/form/form.stories.tsx +604 -23
- package/src/components/form/form.tsx +204 -63
- package/src/components/form/form.types.ts +378 -0
- package/src/components/form/input.stories.tsx +71 -3
- package/src/components/form/inputs.tsx +159 -67
- package/src/components/form/select.tsx +122 -66
- package/src/components/form/textarea.tsx +120 -73
- package/src/components/fp.tsx +86 -11
- package/src/components/link/README.mdx +923 -0
- package/src/components/link/link.scss +79 -26
- package/src/components/link/link.stories.tsx +383 -30
- package/src/components/link/link.test.tsx +677 -0
- package/src/components/link/link.tsx +163 -57
- package/src/components/link/link.types.ts +261 -0
- package/src/components/list/README.mdx +764 -0
- package/src/components/list/list.scss +285 -0
- package/src/components/list/list.stories.tsx +514 -27
- package/src/components/list/list.test.tsx +554 -0
- package/src/components/list/list.tsx +153 -51
- package/src/components/list/list.types.ts +255 -0
- package/src/components/nav/ACCESSIBILITY.md +649 -0
- package/src/components/nav/README.mdx +782 -0
- package/src/components/nav/nav.scss +37 -4
- package/src/components/nav/nav.stories.tsx +44 -6
- package/src/components/nav/nav.tsx +302 -51
- package/src/components/nav/nav.types.ts +308 -0
- package/src/components/tag/README.mdx +426 -0
- package/src/components/tag/tag.scss +101 -27
- package/src/components/tag/tag.stories.tsx +384 -10
- package/src/components/tag/tag.test.tsx +210 -0
- package/src/components/tag/tag.tsx +106 -9
- package/src/components/tag/tag.types.ts +107 -0
- package/src/components/ui.tsx +8 -3
- package/src/hooks/use-disabled-state.test.tsx +536 -0
- package/src/hooks/use-disabled-state.ts +246 -0
- package/src/hooks/useDisabledState.md +393 -0
- package/src/hooks.ts +6 -0
- package/src/index.scss +2 -0
- package/src/index.ts +2 -1
- package/src/sass/_globals.scss +2 -7
- package/src/styles/alert/alert.css +1 -3
- package/src/styles/alert/alert.css.map +1 -1
- package/src/styles/index.css +461 -81
- package/src/styles/index.css.map +1 -1
- package/src/styles/link/link.css +45 -28
- package/src/styles/link/link.css.map +1 -1
- package/src/styles/list/list.css +214 -0
- package/src/styles/list/list.css.map +1 -0
- package/src/styles/nav/nav.css +32 -6
- package/src/styles/nav/nav.css.map +1 -1
- package/src/styles/tag/tag.css +113 -35
- package/src/styles/tag/tag.css.map +1 -1
- package/src/styles/utilities/_disabled.scss +58 -0
- package/src/types/shared.ts +43 -6
- package/src/utils/accessibility.ts +109 -0
- package/libs/chunk-2LTJ7HHX.cjs +0 -18
- package/libs/chunk-2LTJ7HHX.cjs.map +0 -1
- package/libs/chunk-2Y7W75TT.js +0 -9
- package/libs/chunk-2Y7W75TT.js.map +0 -1
- package/libs/chunk-5S4ORA4C.cjs +0 -15
- package/libs/chunk-5S4ORA4C.cjs.map +0 -1
- package/libs/chunk-AHDJGCG5.cjs +0 -15
- package/libs/chunk-AHDJGCG5.cjs.map +0 -1
- package/libs/chunk-BHRQBJRY.js +0 -8
- package/libs/chunk-BHRQBJRY.js.map +0 -1
- package/libs/chunk-GZ4QFPRY.js +0 -9
- package/libs/chunk-GZ4QFPRY.js.map +0 -1
- package/libs/chunk-IYUN2EW3.cjs +0 -15
- package/libs/chunk-IYUN2EW3.cjs.map +0 -1
- package/libs/chunk-J32EZPYD.cjs +0 -15
- package/libs/chunk-J32EZPYD.cjs.map +0 -1
- package/libs/chunk-KUKIVRC2.js +0 -7
- package/libs/chunk-KUKIVRC2.js.map +0 -1
- package/libs/chunk-L75OQKEI.cjs.map +0 -1
- package/libs/chunk-M5RRNTVX.cjs +0 -15
- package/libs/chunk-M5RRNTVX.cjs.map +0 -1
- package/libs/chunk-OK5QEIMD.cjs +0 -17
- package/libs/chunk-OK5QEIMD.cjs.map +0 -1
- package/libs/chunk-P7TTEYCD.js +0 -7
- package/libs/chunk-P7TTEYCD.js.map +0 -1
- package/libs/chunk-QLZWHAMK.js +0 -8
- package/libs/chunk-QLZWHAMK.js.map +0 -1
- package/libs/chunk-RIVUMPOG.js +0 -8
- package/libs/chunk-RIVUMPOG.js.map +0 -1
- package/libs/chunk-S7BABR7Z.cjs +0 -13
- package/libs/chunk-S7BABR7Z.cjs.map +0 -1
- package/libs/chunk-SMYRLO3E.js +0 -8
- package/libs/chunk-SMYRLO3E.js.map +0 -1
- package/libs/chunk-TYRCEX2L.js +0 -8
- package/libs/chunk-TYRCEX2L.js.map +0 -1
- package/libs/chunk-XBA562WW.js +0 -8
- package/libs/chunk-XBA562WW.js.map +0 -1
- package/libs/chunk-XTQKWY7W.cjs +0 -32
- package/libs/chunk-XTQKWY7W.cjs.map +0 -1
- package/libs/inputs-f3a216db.d.ts +0 -45
- /package/libs/{chunk-PQ2K3BM6.cjs.map → chunk-2NRIP6RB.cjs.map} +0 -0
- /package/libs/{chunk-772NRB75.js.map → chunk-5QD3DWFI.js.map} +0 -0
- /package/libs/{chunk-3MKLDCKQ.cjs.map → chunk-6WTC4JXH.cjs.map} +0 -0
- /package/libs/{chunk-ZANSFMTD.js.map → chunk-7XPFW7CB.js.map} +0 -0
- /package/libs/{chunk-ROZI23GS.cjs.map → chunk-DKTHCQ5P.cjs.map} +0 -0
- /package/libs/{chunk-NGTJDDFO.js.map → chunk-IQ76HGVP.js.map} +0 -0
- /package/libs/{chunk-JJ43O4Y5.js.map → chunk-KK47SYZI.js.map} +0 -0
- /package/libs/{chunk-D4YLRWAO.cjs.map → chunk-QVW6W76L.cjs.map} +0 -0
- /package/libs/{chunk-LT5KZ2QW.cjs.map → chunk-US2I5GI7.cjs.map} +0 -0
- /package/libs/{chunk-B7F5FS6D.cjs.map → chunk-W2UIN7EV.cjs.map} +0 -0
- /package/libs/{chunk-P2DC76ZZ.cjs.map → chunk-W5TKWBFC.cjs.map} +0 -0
- /package/libs/{chunk-VUH3FXGJ.js.map → chunk-X3JCTEPD.js.map} +0 -0
- /package/libs/{chunk-5M57K4SW.js.map → chunk-Y2PFDELK.js.map} +0 -0
- /package/libs/{chunk-ETFLFC2S.js.map → chunk-ZFJ4U45S.js.map} +0 -0
|
@@ -1,44 +1,560 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { U as UI } from '../../ui-d01b50d4.js';
|
|
3
|
+
import { a as ListProps, L as ListItemProps } from '../../list.types-d26de310.js';
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Props for the Nav component (navigation container).
|
|
7
|
+
*
|
|
8
|
+
* The Nav component provides a semantic `<nav>` element for site navigation,
|
|
9
|
+
* meeting WCAG 2.1 AA standards for accessible navigation landmarks.
|
|
10
|
+
*
|
|
11
|
+
* ## Accessibility Features:
|
|
12
|
+
* - ✅ Uses semantic `<nav>` element (landmark role)
|
|
13
|
+
* - ✅ Supports `aria-label` for multiple navigation regions
|
|
14
|
+
* - ✅ Supports `aria-labelledby` for heading-based labels
|
|
15
|
+
* - ✅ Works with screen readers and keyboard navigation
|
|
16
|
+
*
|
|
17
|
+
* ## Best Practices:
|
|
18
|
+
* - Use `aria-label` when you have multiple navigation regions
|
|
19
|
+
* - Prefer descriptive labels like "Main navigation" or "Footer navigation"
|
|
20
|
+
* - Use `aria-current="page"` on links to indicate current page
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```tsx
|
|
24
|
+
* // Single navigation on page (no label needed)
|
|
25
|
+
* <Nav>
|
|
26
|
+
* <Nav.List>
|
|
27
|
+
* <Nav.Item><Link href="/">Home</Link></Nav.Item>
|
|
28
|
+
* </Nav.List>
|
|
29
|
+
* </Nav>
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```tsx
|
|
34
|
+
* // Multiple navigation regions (labels required)
|
|
35
|
+
* <Nav aria-label="Main navigation">
|
|
36
|
+
* <Nav.List>
|
|
37
|
+
* <Nav.Item><Link href="/">Home</Link></Nav.Item>
|
|
38
|
+
* </Nav.List>
|
|
39
|
+
* </Nav>
|
|
40
|
+
*
|
|
41
|
+
* <Nav aria-label="Footer navigation">
|
|
42
|
+
* <Nav.List>
|
|
43
|
+
* <Nav.Item><Link href="/privacy">Privacy</Link></Nav.Item>
|
|
44
|
+
* </Nav.List>
|
|
45
|
+
* </Nav>
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```tsx
|
|
50
|
+
* // Using aria-labelledby with a heading
|
|
51
|
+
* <h2 id="main-nav-heading">Site Navigation</h2>
|
|
52
|
+
* <Nav aria-labelledby="main-nav-heading">
|
|
53
|
+
* <Nav.List>
|
|
54
|
+
* <Nav.Item><Link href="/">Home</Link></Nav.Item>
|
|
55
|
+
* </Nav.List>
|
|
56
|
+
* </Nav>
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
type NavProps = {
|
|
60
|
+
/**
|
|
61
|
+
* Child elements (typically Nav.List components).
|
|
62
|
+
*
|
|
63
|
+
* @required
|
|
64
|
+
* @example
|
|
65
|
+
* ```tsx
|
|
66
|
+
* <Nav>
|
|
67
|
+
* <Nav.List>
|
|
68
|
+
* <Nav.Item>Link 1</Nav.Item>
|
|
69
|
+
* </Nav.List>
|
|
70
|
+
* </Nav>
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
children: React.ReactNode;
|
|
74
|
+
/**
|
|
75
|
+
* Accessible label for the navigation region.
|
|
76
|
+
*
|
|
77
|
+
* **WCAG 2.1 Requirement**: Use when you have multiple `<nav>` elements
|
|
78
|
+
* on the same page to distinguish them for screen reader users.
|
|
79
|
+
*
|
|
80
|
+
* @optional
|
|
81
|
+
* @see {@link https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA11}
|
|
82
|
+
* @example
|
|
83
|
+
* ```tsx
|
|
84
|
+
* aria-label="Main navigation"
|
|
85
|
+
* aria-label="Footer navigation"
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
"aria-label"?: string;
|
|
89
|
+
/**
|
|
90
|
+
* ID of an element that labels this navigation region.
|
|
91
|
+
*
|
|
92
|
+
* Use when a visible heading already describes the navigation.
|
|
93
|
+
*
|
|
94
|
+
* @optional
|
|
95
|
+
* @example
|
|
96
|
+
* ```tsx
|
|
97
|
+
* <h2 id="sidebar-nav">Quick Links</h2>
|
|
98
|
+
* <Nav aria-labelledby="sidebar-nav">...</Nav>
|
|
99
|
+
* ```
|
|
100
|
+
*/
|
|
101
|
+
"aria-labelledby"?: string;
|
|
102
|
+
/**
|
|
103
|
+
* HTML id attribute for the navigation element.
|
|
104
|
+
*
|
|
105
|
+
* @optional
|
|
106
|
+
* @example
|
|
107
|
+
* ```tsx
|
|
108
|
+
* id="main-navigation"
|
|
109
|
+
* ```
|
|
110
|
+
*/
|
|
111
|
+
id?: string;
|
|
112
|
+
/**
|
|
113
|
+
* CSS class names to apply to the nav element.
|
|
114
|
+
*
|
|
115
|
+
* @optional
|
|
116
|
+
* @example
|
|
117
|
+
* ```tsx
|
|
118
|
+
* classes="navbar sticky-header"
|
|
119
|
+
* ```
|
|
120
|
+
*/
|
|
121
|
+
classes?: string;
|
|
122
|
+
/**
|
|
123
|
+
* Inline CSS styles to apply.
|
|
124
|
+
* Can include CSS custom properties for theming.
|
|
125
|
+
*
|
|
126
|
+
* @optional
|
|
127
|
+
* @example
|
|
128
|
+
* ```tsx
|
|
129
|
+
* styles={{
|
|
130
|
+
* '--nav-bg': '#f8f9fa',
|
|
131
|
+
* '--nav-h': '4rem'
|
|
132
|
+
* }}
|
|
133
|
+
* ```
|
|
134
|
+
*/
|
|
135
|
+
styles?: React.CSSProperties;
|
|
136
|
+
} & Partial<React.ComponentProps<typeof UI>>;
|
|
137
|
+
/**
|
|
138
|
+
* Props for the NavList component (list of navigation items).
|
|
139
|
+
*
|
|
140
|
+
* Extends the List component with navigation-specific styling through
|
|
141
|
+
* the `isBlock` prop for vertical layout control.
|
|
142
|
+
*
|
|
143
|
+
* ## Layout Options:
|
|
144
|
+
* - **Default (inline)**: Horizontal list for primary navigation
|
|
145
|
+
* - **Block**: Vertical stacked list for sidebars or mobile menus
|
|
146
|
+
*
|
|
147
|
+
* @example
|
|
148
|
+
* ```tsx
|
|
149
|
+
* // Horizontal navigation (default)
|
|
150
|
+
* <Nav.List>
|
|
151
|
+
* <Nav.Item><Link href="/">Home</Link></Nav.Item>
|
|
152
|
+
* <Nav.Item><Link href="/about">About</Link></Nav.Item>
|
|
153
|
+
* </Nav.List>
|
|
154
|
+
* ```
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* ```tsx
|
|
158
|
+
* // Vertical navigation (block layout)
|
|
159
|
+
* <Nav.List isBlock>
|
|
160
|
+
* <Nav.Item><Link href="/">Home</Link></Nav.Item>
|
|
161
|
+
* <Nav.Item><Link href="/about">About</Link></Nav.Item>
|
|
162
|
+
* </Nav.List>
|
|
163
|
+
* ```
|
|
164
|
+
*
|
|
165
|
+
* @example
|
|
166
|
+
* ```tsx
|
|
167
|
+
* // Multiple lists in a navbar
|
|
168
|
+
* <Nav classes="navbar">
|
|
169
|
+
* <Nav.List aria-label="Primary navigation">
|
|
170
|
+
* <Nav.Item><Link href="/">Home</Link></Nav.Item>
|
|
171
|
+
* </Nav.List>
|
|
172
|
+
* <Nav.List aria-label="User actions">
|
|
173
|
+
* <Nav.Item><Link href="/login">Login</Link></Nav.Item>
|
|
174
|
+
* </Nav.List>
|
|
175
|
+
* </Nav>
|
|
176
|
+
* ```
|
|
177
|
+
*/
|
|
178
|
+
type NavListProps = Omit<ListProps, "type"> & {
|
|
179
|
+
/**
|
|
180
|
+
* Display list items vertically (block layout).
|
|
181
|
+
*
|
|
182
|
+
* When true, applies `data-list="unstyled block"` for vertical stacking.
|
|
183
|
+
* When false or undefined, items display inline horizontally.
|
|
184
|
+
*
|
|
185
|
+
* @default false
|
|
186
|
+
* @example
|
|
187
|
+
* ```tsx
|
|
188
|
+
* isBlock={true} // Vertical sidebar navigation
|
|
189
|
+
* isBlock={false} // Horizontal top navigation (default)
|
|
190
|
+
* ```
|
|
191
|
+
*/
|
|
6
192
|
isBlock?: boolean;
|
|
193
|
+
/**
|
|
194
|
+
* Accessible label for the navigation list.
|
|
195
|
+
*
|
|
196
|
+
* Use when you have multiple lists in the same Nav to distinguish them.
|
|
197
|
+
*
|
|
198
|
+
* @optional
|
|
199
|
+
* @example
|
|
200
|
+
* ```tsx
|
|
201
|
+
* aria-label="Main menu"
|
|
202
|
+
* aria-label="Social media links"
|
|
203
|
+
* ```
|
|
204
|
+
*/
|
|
205
|
+
"aria-label"?: string;
|
|
206
|
+
/**
|
|
207
|
+
* Child elements (typically Nav.Item components).
|
|
208
|
+
*
|
|
209
|
+
* @required
|
|
210
|
+
*/
|
|
211
|
+
children: React.ReactNode;
|
|
7
212
|
};
|
|
8
|
-
type NavItemProps = React__default.ComponentProps<typeof List.ListItem>;
|
|
9
|
-
type NavProps = React__default.ComponentProps<typeof UI>;
|
|
10
213
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
214
|
+
* Props for the NavItem component (individual navigation link container).
|
|
215
|
+
*
|
|
216
|
+
* Wraps navigation links in a list item element with consistent styling.
|
|
217
|
+
* Typically contains a Link component or anchor element.
|
|
218
|
+
*
|
|
219
|
+
* ## Accessibility Considerations:
|
|
220
|
+
* - Use `aria-current="page"` on the link inside to indicate current page
|
|
221
|
+
* - Ensure sufficient color contrast (WCAG 2.1: 4.5:1 for text)
|
|
222
|
+
* - Provide focus indicators (WCAG 2.1: 3:1 contrast for focus state)
|
|
223
|
+
*
|
|
224
|
+
* @example
|
|
225
|
+
* ```tsx
|
|
226
|
+
* // Basic navigation item
|
|
227
|
+
* <Nav.Item>
|
|
228
|
+
* <Link href="/about">About Us</Link>
|
|
229
|
+
* </Nav.Item>
|
|
230
|
+
* ```
|
|
231
|
+
*
|
|
232
|
+
* @example
|
|
233
|
+
* ```tsx
|
|
234
|
+
* // Current page indicator
|
|
235
|
+
* <Nav.Item>
|
|
236
|
+
* <Link href="/about" aria-current="page">
|
|
237
|
+
* About Us
|
|
238
|
+
* </Link>
|
|
239
|
+
* </Nav.Item>
|
|
240
|
+
* ```
|
|
241
|
+
*
|
|
242
|
+
* @example
|
|
243
|
+
* ```tsx
|
|
244
|
+
* // Custom styling
|
|
245
|
+
* <Nav.Item
|
|
246
|
+
* classes="nav-item-featured"
|
|
247
|
+
* styles={{ '--nav-px': '2rem' }}
|
|
248
|
+
* >
|
|
249
|
+
* <Link href="/pricing">Pricing</Link>
|
|
250
|
+
* </Nav.Item>
|
|
251
|
+
* ```
|
|
16
252
|
*/
|
|
17
|
-
|
|
253
|
+
type NavItemProps = Omit<ListItemProps, "type"> & {
|
|
254
|
+
/**
|
|
255
|
+
* HTML id attribute for the list item.
|
|
256
|
+
*
|
|
257
|
+
* @optional
|
|
258
|
+
* @example
|
|
259
|
+
* ```tsx
|
|
260
|
+
* id="nav-item-home"
|
|
261
|
+
* ```
|
|
262
|
+
*/
|
|
263
|
+
id?: string;
|
|
264
|
+
/**
|
|
265
|
+
* Inline CSS styles to apply to the list item.
|
|
266
|
+
*
|
|
267
|
+
* @optional
|
|
268
|
+
* @example
|
|
269
|
+
* ```tsx
|
|
270
|
+
* styles={{ paddingInline: '1.5rem' }}
|
|
271
|
+
* ```
|
|
272
|
+
*/
|
|
273
|
+
styles?: React.CSSProperties;
|
|
274
|
+
/**
|
|
275
|
+
* CSS class names to apply to the list item.
|
|
276
|
+
*
|
|
277
|
+
* @optional
|
|
278
|
+
* @example
|
|
279
|
+
* ```tsx
|
|
280
|
+
* classes="nav-item active"
|
|
281
|
+
* ```
|
|
282
|
+
*/
|
|
283
|
+
classes?: string;
|
|
284
|
+
/**
|
|
285
|
+
* Child elements (typically a Link component).
|
|
286
|
+
*
|
|
287
|
+
* @required
|
|
288
|
+
* @example
|
|
289
|
+
* ```tsx
|
|
290
|
+
* <Nav.Item>
|
|
291
|
+
* <Link href="/">Home</Link>
|
|
292
|
+
* </Nav.Item>
|
|
293
|
+
* ```
|
|
294
|
+
*/
|
|
295
|
+
children: React.ReactNode;
|
|
296
|
+
};
|
|
297
|
+
|
|
18
298
|
/**
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
299
|
+
* NavList - A navigation-specific list component for grouping navigation items.
|
|
300
|
+
*
|
|
301
|
+
* Extends the List component with navigation-specific layout options through
|
|
302
|
+
* the `isBlock` prop. Automatically renders as an unstyled list to maintain
|
|
303
|
+
* clean navigation aesthetics.
|
|
304
|
+
*
|
|
305
|
+
* ## Key Features:
|
|
306
|
+
* - **Flexible Layout**: Supports both horizontal (inline) and vertical (block) layouts
|
|
307
|
+
* - **Semantic HTML**: Uses `<ul>` element for proper document structure
|
|
308
|
+
* - **Unstyled by Default**: Removes default list markers for clean navigation
|
|
309
|
+
* - **Accessible**: Works naturally with screen readers
|
|
310
|
+
*
|
|
311
|
+
* ## Accessibility:
|
|
312
|
+
* - ✅ Uses semantic `<ul>` element
|
|
313
|
+
* - ✅ Screen readers announce as "list" with item count
|
|
314
|
+
* - ✅ Supports `aria-label` for multiple lists
|
|
315
|
+
* - ✅ Keyboard navigation works naturally with focusable children
|
|
316
|
+
*
|
|
317
|
+
* ## Layout Options:
|
|
318
|
+
* - **Inline (default)**: Horizontal navigation bars, top menus
|
|
319
|
+
* - **Block**: Vertical sidebars, mobile menus, footer navigation
|
|
320
|
+
*
|
|
321
|
+
* @example
|
|
322
|
+
* ```tsx
|
|
323
|
+
* // Horizontal navigation (default)
|
|
324
|
+
* <NavList>
|
|
325
|
+
* <NavItem><Link href="/">Home</Link></NavItem>
|
|
326
|
+
* <NavItem><Link href="/about">About</Link></NavItem>
|
|
327
|
+
* </NavList>
|
|
328
|
+
* ```
|
|
329
|
+
*
|
|
330
|
+
* @example
|
|
331
|
+
* ```tsx
|
|
332
|
+
* // Vertical sidebar navigation
|
|
333
|
+
* <NavList isBlock>
|
|
334
|
+
* <NavItem><Link href="/dashboard">Dashboard</Link></NavItem>
|
|
335
|
+
* <NavItem><Link href="/settings">Settings</Link></NavItem>
|
|
336
|
+
* </NavList>
|
|
337
|
+
* ```
|
|
338
|
+
*
|
|
339
|
+
* @example
|
|
340
|
+
* ```tsx
|
|
341
|
+
* // Multiple lists with labels
|
|
342
|
+
* <Nav>
|
|
343
|
+
* <NavList aria-label="Primary navigation">
|
|
344
|
+
* <NavItem><Link href="/">Home</Link></NavItem>
|
|
345
|
+
* </NavList>
|
|
346
|
+
* <NavList aria-label="User menu">
|
|
347
|
+
* <NavItem><Link href="/profile">Profile</Link></NavItem>
|
|
348
|
+
* </NavList>
|
|
349
|
+
* </Nav>
|
|
350
|
+
* ```
|
|
351
|
+
*
|
|
352
|
+
* @param {NavListProps} props - Component props
|
|
353
|
+
* @param {boolean} [props.isBlock=false] - Display items vertically (block layout)
|
|
354
|
+
* @param {React.ReactNode} props.children - Navigation items (typically NavItem components)
|
|
355
|
+
* @param {string} [props.aria-label] - Accessible label for the list
|
|
356
|
+
* @returns {React.ReactElement} A navigation list component
|
|
28
357
|
*/
|
|
29
|
-
declare const
|
|
358
|
+
declare const NavList: React.ForwardRefExoticComponent<Omit<NavListProps, "ref"> & React.RefAttributes<HTMLUListElement>>;
|
|
30
359
|
/**
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
360
|
+
* NavItem - An individual navigation link container (list item).
|
|
361
|
+
*
|
|
362
|
+
* Wraps navigation content (typically Link components) in a semantic list item
|
|
363
|
+
* element with consistent styling and accessibility support.
|
|
364
|
+
*
|
|
365
|
+
* ## Key Features:
|
|
366
|
+
* - **Semantic HTML**: Uses `<li>` element for proper list structure
|
|
367
|
+
* - **Flexible Content**: Accepts any React content (links, buttons, text)
|
|
368
|
+
* - **Customizable**: Supports custom styles and CSS classes
|
|
369
|
+
* - **Ref Forwarding**: Enables direct DOM access for advanced use cases
|
|
370
|
+
*
|
|
371
|
+
* ## Accessibility:
|
|
372
|
+
* - ✅ Uses semantic `<li>` element
|
|
373
|
+
* - ✅ Works with screen readers out of the box
|
|
374
|
+
* - ✅ Supports keyboard navigation naturally
|
|
375
|
+
* - ✅ Ref forwarding for programmatic focus if needed
|
|
376
|
+
*
|
|
377
|
+
* ## Best Practices:
|
|
378
|
+
* - Always wrap with NavList/Nav for proper semantics
|
|
379
|
+
* - Use `aria-current="page"` on the link inside to indicate current page
|
|
380
|
+
* - Ensure link text is descriptive and meaningful
|
|
381
|
+
* - Maintain sufficient color contrast (WCAG 2.1: 4.5:1 for normal text)
|
|
382
|
+
*
|
|
383
|
+
* @example
|
|
384
|
+
* ```tsx
|
|
385
|
+
* // Basic navigation item
|
|
386
|
+
* <NavItem>
|
|
387
|
+
* <Link href="/about">About Us</Link>
|
|
388
|
+
* </NavItem>
|
|
389
|
+
* ```
|
|
390
|
+
*
|
|
391
|
+
* @example
|
|
392
|
+
* ```tsx
|
|
393
|
+
* // Current page with aria-current
|
|
394
|
+
* <NavItem>
|
|
395
|
+
* <Link href="/about" aria-current="page">
|
|
396
|
+
* About Us
|
|
397
|
+
* </Link>
|
|
398
|
+
* </NavItem>
|
|
399
|
+
* ```
|
|
400
|
+
*
|
|
401
|
+
* @example
|
|
402
|
+
* ```tsx
|
|
403
|
+
* // Custom styling
|
|
404
|
+
* <NavItem
|
|
405
|
+
* classes="nav-item-featured"
|
|
406
|
+
* styles={{ fontWeight: 'bold' }}
|
|
407
|
+
* >
|
|
408
|
+
* <Link href="/special">Special Offer</Link>
|
|
409
|
+
* </NavItem>
|
|
410
|
+
* ```
|
|
411
|
+
*
|
|
412
|
+
* @example
|
|
413
|
+
* ```tsx
|
|
414
|
+
* // With icon
|
|
415
|
+
* <NavItem>
|
|
416
|
+
* <Link href="/settings">
|
|
417
|
+
* <SettingsIcon aria-hidden="true" />
|
|
418
|
+
* Settings
|
|
419
|
+
* </Link>
|
|
420
|
+
* </NavItem>
|
|
421
|
+
* ```
|
|
422
|
+
*
|
|
423
|
+
* @param {NavItemProps} props - Component props
|
|
424
|
+
* @param {React.Ref} ref - Forwarded ref for DOM access
|
|
425
|
+
* @returns {React.ReactElement} A navigation item component
|
|
36
426
|
*/
|
|
37
|
-
declare const
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
427
|
+
declare const NavItem: React.ForwardRefExoticComponent<Omit<NavItemProps, "ref"> & React.RefAttributes<HTMLLIElement>>;
|
|
428
|
+
/**
|
|
429
|
+
* Nav - A semantic navigation container component for site navigation.
|
|
430
|
+
*
|
|
431
|
+
* The Nav component provides a semantic `<nav>` landmark element that helps
|
|
432
|
+
* users navigate your site. It meets WCAG 2.1 AA accessibility standards and
|
|
433
|
+
* follows modern React best practices with full TypeScript support.
|
|
434
|
+
*
|
|
435
|
+
* ## Key Features:
|
|
436
|
+
* - **Semantic HTML**: Uses native `<nav>` element for accessibility
|
|
437
|
+
* - **Landmark Role**: Automatically provides navigation landmark for screen readers
|
|
438
|
+
* - **Flexible Layout**: Supports multiple navigation patterns through CSS custom properties
|
|
439
|
+
* - **Compound Components**: Use Nav.List and Nav.Item for consistent structure
|
|
440
|
+
* - **Type-Safe**: Full TypeScript support with comprehensive JSDoc documentation
|
|
441
|
+
* - **Ref Forwarding**: Direct DOM access for scroll positioning and focus management
|
|
442
|
+
*
|
|
443
|
+
* ## Accessibility (WCAG 2.1 AA Compliant):
|
|
444
|
+
* - ✅ **4.1.2 Name, Role, Value**: Uses semantic `<nav>` element (landmark role)
|
|
445
|
+
* - ✅ **2.4.1 Bypass Blocks**: Navigation landmark helps skip repeated content
|
|
446
|
+
* - ✅ **1.3.1 Info and Relationships**: Proper list structure with ul > li
|
|
447
|
+
* - ✅ **2.4.8 Location**: Supports `aria-label` for multiple navigation regions
|
|
448
|
+
* - ✅ **4.1.3 Status Messages**: Use `aria-current="page"` on links for current page
|
|
449
|
+
*
|
|
450
|
+
* ## When to Use aria-label:
|
|
451
|
+
* - ✅ **Required**: When you have multiple `<nav>` elements on the same page
|
|
452
|
+
* - ✅ **Recommended**: To distinguish navigation purpose (e.g., "Footer navigation")
|
|
453
|
+
* - ❌ **Not needed**: For single navigation regions
|
|
454
|
+
*
|
|
455
|
+
* ## CSS Custom Properties:
|
|
456
|
+
* - `--nav-dsp`: Display mode (default: flex)
|
|
457
|
+
* - `--nav-direction`: Flex direction (default: row)
|
|
458
|
+
* - `--nav-bg`: Background color
|
|
459
|
+
* - `--nav-h`: Minimum height
|
|
460
|
+
* - `--nav-px`: Horizontal padding (default: 1rem)
|
|
461
|
+
* - `--nav-gap`: Gap between items
|
|
462
|
+
* - `--nav-fs`: Font size (default: 0.9rem)
|
|
463
|
+
*
|
|
464
|
+
* @example
|
|
465
|
+
* ```tsx
|
|
466
|
+
* // Simple navigation
|
|
467
|
+
* <Nav>
|
|
468
|
+
* <Nav.List>
|
|
469
|
+
* <Nav.Item><Link href="/">Home</Link></Nav.Item>
|
|
470
|
+
* <Nav.Item><Link href="/about">About</Link></Nav.Item>
|
|
471
|
+
* </Nav.List>
|
|
472
|
+
* </Nav>
|
|
473
|
+
* ```
|
|
474
|
+
*
|
|
475
|
+
* @example
|
|
476
|
+
* ```tsx
|
|
477
|
+
* // Multiple navigation regions (requires aria-label)
|
|
478
|
+
* <Nav aria-label="Main navigation">
|
|
479
|
+
* <Nav.List>
|
|
480
|
+
* <Nav.Item><Link href="/">Home</Link></Nav.Item>
|
|
481
|
+
* </Nav.List>
|
|
482
|
+
* </Nav>
|
|
483
|
+
*
|
|
484
|
+
* <Nav aria-label="Footer navigation">
|
|
485
|
+
* <Nav.List>
|
|
486
|
+
* <Nav.Item><Link href="/privacy">Privacy</Link></Nav.Item>
|
|
487
|
+
* </Nav.List>
|
|
488
|
+
* </Nav>
|
|
489
|
+
* ```
|
|
490
|
+
*
|
|
491
|
+
* @example
|
|
492
|
+
* ```tsx
|
|
493
|
+
* // Current page indication
|
|
494
|
+
* <Nav aria-label="Main navigation">
|
|
495
|
+
* <Nav.List>
|
|
496
|
+
* <Nav.Item>
|
|
497
|
+
* <Link href="/" aria-current="page">Home</Link>
|
|
498
|
+
* </Nav.Item>
|
|
499
|
+
* <Nav.Item>
|
|
500
|
+
* <Link href="/about">About</Link>
|
|
501
|
+
* </Nav.Item>
|
|
502
|
+
* </Nav.List>
|
|
503
|
+
* </Nav>
|
|
504
|
+
* ```
|
|
505
|
+
*
|
|
506
|
+
* @example
|
|
507
|
+
* ```tsx
|
|
508
|
+
* // Vertical sidebar navigation
|
|
509
|
+
* <Nav aria-label="Sidebar navigation">
|
|
510
|
+
* <Nav.List isBlock>
|
|
511
|
+
* <Nav.Item><Link href="/dashboard">Dashboard</Link></Nav.Item>
|
|
512
|
+
* <Nav.Item><Link href="/settings">Settings</Link></Nav.Item>
|
|
513
|
+
* </Nav.List>
|
|
514
|
+
* </Nav>
|
|
515
|
+
* ```
|
|
516
|
+
*
|
|
517
|
+
* @example
|
|
518
|
+
* ```tsx
|
|
519
|
+
* // Complex navbar with multiple sections
|
|
520
|
+
* <Nav classes="navbar" aria-label="Main navigation">
|
|
521
|
+
* <Nav.List aria-label="Primary menu">
|
|
522
|
+
* <Nav.Item><Link href="/">Home</Link></Nav.Item>
|
|
523
|
+
* <Nav.Item><Link href="/products">Products</Link></Nav.Item>
|
|
524
|
+
* </Nav.List>
|
|
525
|
+
* <Nav.List aria-label="User menu">
|
|
526
|
+
* <Nav.Item><Link href="/login">Login</Link></Nav.Item>
|
|
527
|
+
* <Nav.Item><Link href="/signup">Sign Up</Link></Nav.Item>
|
|
528
|
+
* </Nav.List>
|
|
529
|
+
* </Nav>
|
|
530
|
+
* ```
|
|
531
|
+
*
|
|
532
|
+
* @example
|
|
533
|
+
* ```tsx
|
|
534
|
+
* // Custom theming with CSS properties
|
|
535
|
+
* <Nav
|
|
536
|
+
* aria-label="Main navigation"
|
|
537
|
+
* styles={{
|
|
538
|
+
* '--nav-bg': '#1a1a1a',
|
|
539
|
+
* '--nav-h': '4rem',
|
|
540
|
+
* '--nav-px': '2rem',
|
|
541
|
+
* }}
|
|
542
|
+
* >
|
|
543
|
+
* <Nav.List>
|
|
544
|
+
* <Nav.Item><Link href="/">Home</Link></Nav.Item>
|
|
545
|
+
* </Nav.List>
|
|
546
|
+
* </Nav>
|
|
547
|
+
* ```
|
|
548
|
+
*
|
|
549
|
+
* @param {NavProps} props - Component props
|
|
550
|
+
* @param {React.Ref} ref - Forwarded ref for DOM access
|
|
551
|
+
* @returns {React.ReactElement} A navigation element
|
|
552
|
+
*/
|
|
553
|
+
declare const Nav: React.ForwardRefExoticComponent<Omit<NavProps, "ref"> & React.RefAttributes<HTMLElement>>;
|
|
554
|
+
interface NavComponent extends React.ForwardRefExoticComponent<NavProps & React.RefAttributes<HTMLElement>> {
|
|
555
|
+
List: typeof NavList;
|
|
556
|
+
Item: typeof NavItem;
|
|
557
|
+
}
|
|
558
|
+
declare const _default: NavComponent;
|
|
43
559
|
|
|
44
|
-
export { Nav, NavItem, NavItemProps, NavList, NavListProps, NavProps,
|
|
560
|
+
export { Nav, NavComponent, NavItem, NavItemProps, NavList, NavListProps, NavProps, _default as default };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { c as Nav, b as NavItem, a as NavList, d as default } from '../../chunk-
|
|
2
|
-
import '../../chunk-
|
|
3
|
-
import '../../chunk-
|
|
1
|
+
export { c as Nav, b as NavItem, a as NavList, d as default } from '../../chunk-FVROL3V5.js';
|
|
2
|
+
import '../../chunk-IEB64SWY.js';
|
|
3
|
+
import '../../chunk-HHLNOC5T.js';
|
|
4
4
|
//# sourceMappingURL=out.js.map
|
|
5
5
|
//# sourceMappingURL=nav.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
body>nav,[aria-label~=navbar],.navbar{padding-inline:var(--nav-px, 1rem);min-height:var(--nav-h, -moz-fit-content);min-height:var(--nav-h, fit-content)}@media(max-width: 580px){body>nav,[aria-label~=navbar],.navbar{flex-direction:column;height:-moz-fit-content;height:fit-content;min-height:-moz-fit-content;min-height:fit-content;padding-block:unset;gap:.5rem}}body>nav ul>li,[aria-label~=navbar] ul>li,.navbar ul>li{display:flex;align-items:center;list-style:none;margin:0;padding:0;min-height:100%;padding-inline:var(--nav-px, 0.75rem)}body>nav ul>li:hover,[aria-label~=navbar] ul>li:hover,.navbar ul>li:hover{background-color:var(--nav-hov-bg,
|
|
1
|
+
body>nav,[aria-label~=navbar],.navbar{padding-inline:var(--nav-px, 1rem);min-height:var(--nav-h, -moz-fit-content);min-height:var(--nav-h, fit-content)}@media(max-width: 580px){body>nav,[aria-label~=navbar],.navbar{flex-direction:column;height:-moz-fit-content;height:fit-content;min-height:-moz-fit-content;min-height:fit-content;padding-block:unset;gap:.5rem}}body>nav ul>li,[aria-label~=navbar] ul>li,.navbar ul>li{display:flex;align-items:center;list-style:none;margin:0;padding:0;min-height:100%;padding-inline:var(--nav-px, 0.75rem)}body>nav ul>li:hover,[aria-label~=navbar] ul>li:hover,.navbar ul>li:hover{background-color:var(--nav-hov-bg, #e8e8e8)}body>nav ul>li:hover:where(img),[aria-label~=navbar] ul>li:hover:where(img),.navbar ul>li:hover:where(img){background-color:rgba(0,0,0,0)}nav{--nav-focus-color: currentColor;--nav-focus-width: 0.125rem;--nav-focus-offset: 0.125rem;--nav-focus-style: solid;display:var(--nav-dsp, flex);flex-direction:var(--nav-direction, row);width:var(--nav-w, auto);place-items:var(--nav-align, center);justify-content:var(--nav-justify, space-between);margin-inline:var(--nav-mx, 0);background-color:var(--nav-bg, initial)}nav>section,nav>ul{--nav-dsp: flex;flex-direction:var(--nav-direction, row);display:var(--nav-dsp, flex);gap:var(--nav-gap, 0);font-size:var(--nav-fs, 0.9rem);align-items:var(--nav-align, center);padding-inline:var(--nav-px, 1rem);padding-block:var(--nav-py, 0);margin-block-end:var(--nav-mb, 0);height:100%}nav>section[data-list~=block],nav>ul[data-list~=block]{--nav-direction: column}nav>section>div{--py: 0}nav ul>li{display:flex;align-items:center;list-style:none;margin:0;padding:0;min-height:100%;padding-inline:var(--nav-px, 1rem)}nav img[alt]{--px: 0 var(--s1);--w: var(--brand-w, 3.6rem)}nav[data-variant]{background-color:var(--nav-bg);color:var(--nav-cl);font-size:var(--nav-fs, 0.9rem)}nav>div{margin-block-start:0}nav a:focus{outline:var(--nav-focus-width) var(--nav-focus-style) var(--nav-focus-color);outline-offset:var(--nav-focus-offset)}nav a:focus-visible{outline:var(--nav-focus-width) var(--nav-focus-style) var(--nav-focus-color);outline-offset:var(--nav-focus-offset)}nav button:focus{outline:var(--nav-focus-width) var(--nav-focus-style) var(--nav-focus-color);outline-offset:var(--nav-focus-offset)}nav button:focus-visible{outline:var(--nav-focus-width) var(--nav-focus-style) var(--nav-focus-color);outline-offset:var(--nav-focus-offset)}
|
|
2
2
|
|
|
3
|
-
/*# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL25hdi9uYXYuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzQ0FHRSxrQ0FBQSxDQUNBLHlDQUFBLENBQUEsb0NBQUEsQ0FFQSx5QkFORixzQ0FPSSxxQkFBQSxDQUNBLHVCQUFBLENBQUEsa0JBQUEsQ0FDQSwyQkFBQSxDQUFBLHNCQUFBLENBQ0EsbUJBQUEsQ0FDQSxTQUFBLENBQUEsQ0FHQSx3REFDRSxZQUFBLENBQ0Esa0JBQUEsQ0FDQSxlQUFBLENBQ0EsUUFBQSxDQUNBLFNBQUEsQ0FDQSxlQUFBLENBQ0EscUNBQUEsQ0FFQSwwRUFDRSwyQ0FBQSxDQUVGLDJHQUNFLDhCQUFBLENBTVIsSUFFRSwrQkFBQSxDQUNBLDJCQUFBLENBQ0EsNEJBQUEsQ0FDQSx3QkFBQSxDQUVBLDRCQUFBLENBQ0Esd0NBQUEsQ0FDQSx3QkFBQSxDQUNBLG9DQUFBLENBQ0EsaURBQUEsQ0FDQSw4QkFBQSxDQUNBLHVDQUFBLENBRUEsbUJBRUUsZUFBQSxDQUNBLHdDQUFBLENBQ0EsNEJBQUEsQ0FDQSxxQkFBQSxDQUNBLCtCQUFBLENBQ0Esb0NBQUEsQ0FDQSxrQ0FBQSxDQUNBLDhCQUFBLENBQ0EsaUNBQUEsQ0FDQSxXQUFBLENBQ0EsdURBQ0UsdUJBQUEsQ0FLRixnQkFDRSxPQUFBLENBS0YsVUFDRSxZQUFBLENBQ0Esa0JBQUEsQ0FDQSxlQUFBLENBQ0EsUUFBQSxDQUNBLFNBQUEsQ0FDQSxlQUFBLENBQ0Esa0NBQUEsQ0FJSixhQUNFLGlCQUFBLENBQ0EsMkJBQUEsQ0FHRixrQkFDRSw4QkFBQSxDQUNBLG1CQUFBLENBQ0EsK0JBQUEsQ0FHRixRQUNFLG9CQUFBLENBSUYsWUFDRSw0RUFBQSxDQUVBLHNDQUFBLENBR0Ysb0JBQ0UsNEVBQUEsQ0FFQSxzQ0FBQSxDQUdGLGlCQUNFLDRFQUFBLENBRUEsc0NBQUEsQ0FHRix5QkFDRSw0RUFBQSxDQUVBLHNDQUFBIiwiZmlsZSI6Im5hdi5taW4uY3NzIn0= */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from 'react';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Interface for props accepted by the Popover component
|
|
@@ -7,11 +7,11 @@ import React__default from 'react';
|
|
|
7
7
|
* @property {ReactNode} [content] - Optional alternative content for popover
|
|
8
8
|
*/
|
|
9
9
|
type PopoverProps = {
|
|
10
|
-
children:
|
|
11
|
-
popoverTrigger:
|
|
10
|
+
children: React.ReactNode;
|
|
11
|
+
popoverTrigger: React.ReactNode;
|
|
12
12
|
styles?: {};
|
|
13
13
|
};
|
|
14
|
-
declare const defaultStyles:
|
|
14
|
+
declare const defaultStyles: React.CSSProperties;
|
|
15
15
|
/**
|
|
16
16
|
* Popover component to display popover content.
|
|
17
17
|
*
|
|
@@ -34,7 +34,7 @@ declare const defaultStyles: React__default.CSSProperties;
|
|
|
34
34
|
declare const Popover: {
|
|
35
35
|
({ children, popoverTrigger, styles, ...props }: PopoverProps): JSX.Element;
|
|
36
36
|
displayName: string;
|
|
37
|
-
styles:
|
|
37
|
+
styles: React.CSSProperties;
|
|
38
38
|
};
|
|
39
39
|
|
|
40
40
|
export { Popover, PopoverProps, Popover as default, defaultStyles };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from 'react';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Interface for props accepted by the Popover component
|
|
@@ -7,11 +7,11 @@ import React__default from 'react';
|
|
|
7
7
|
* @property {ReactNode} [content] - Optional alternative content for popover
|
|
8
8
|
*/
|
|
9
9
|
type PopoverProps = {
|
|
10
|
-
children:
|
|
11
|
-
popoverTrigger:
|
|
10
|
+
children: React.ReactNode;
|
|
11
|
+
popoverTrigger: React.ReactNode;
|
|
12
12
|
styles?: {};
|
|
13
13
|
};
|
|
14
|
-
declare const defaultStyles:
|
|
14
|
+
declare const defaultStyles: React.CSSProperties;
|
|
15
15
|
/**
|
|
16
16
|
* Popover component to display popover content.
|
|
17
17
|
*
|
|
@@ -34,7 +34,7 @@ declare const defaultStyles: React__default.CSSProperties;
|
|
|
34
34
|
declare const Popover: {
|
|
35
35
|
({ children, popoverTrigger, styles, ...props }: PopoverProps): JSX.Element;
|
|
36
36
|
displayName: string;
|
|
37
|
-
styles:
|
|
37
|
+
styles: React.CSSProperties;
|
|
38
38
|
};
|
|
39
39
|
|
|
40
40
|
export { Popover, PopoverProps, Popover as default, defaultStyles };
|