@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
package/libs/index.d.cts
CHANGED
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
export { Button, ButtonProps } from './components/button.cjs';
|
|
2
2
|
export { Card, Content as CardContent, Footer as CardFooter, CardProps, Title as CardTitle } from './components/card.cjs';
|
|
3
3
|
export { default as Field, FieldProps } from './components/form/fields.cjs';
|
|
4
|
-
export {
|
|
4
|
+
export { default as Input } from './components/form/inputs.cjs';
|
|
5
5
|
export { default as Icon, IconProps } from './components/icons/icon.cjs';
|
|
6
|
-
import
|
|
7
|
-
export {
|
|
8
|
-
export {
|
|
6
|
+
import React, { ReactNode } from 'react';
|
|
7
|
+
export { L as Link, a as LinkProps, L as To } from './link-5192f411.js';
|
|
8
|
+
export { List } from './components/list/list.cjs';
|
|
9
9
|
export { Modal, ModalProps } from './components/modal.cjs';
|
|
10
10
|
export { default as Popover, PopoverProps } from './components/popover/popover.cjs';
|
|
11
11
|
export { RenderTable as TBL, TableProps } from './components/tables/table.cjs';
|
|
12
12
|
export { Dialog } from './components/dialog/dialog.cjs';
|
|
13
|
-
import { U as UI } from './ui-
|
|
14
|
-
export {
|
|
13
|
+
import { U as UI } from './ui-d01b50d4.js';
|
|
14
|
+
export { Nav, NavComponent, NavItem, NavItemProps, NavList, NavListProps, NavProps } from './components/nav/nav.cjs';
|
|
15
15
|
export { default as Text, TextProps } from './components/text/text.cjs';
|
|
16
|
-
export { b as Heading, H as HeadingLevel, T as Title, a as TitleProps } from './heading-
|
|
17
|
-
export { default as Textarea
|
|
18
|
-
import { C as ComponentProps$1 } from './component-props-
|
|
16
|
+
export { b as Heading, H as HeadingLevel, T as Title, a as TitleProps } from './heading-7446cb46.js';
|
|
17
|
+
export { default as Textarea } from './components/form/textarea.cjs';
|
|
18
|
+
import { C as ComponentProps$1 } from './component-props-67d978a2.js';
|
|
19
19
|
export { default as Breadcrumb, BreadcrumbProps, CustomRoute, useBreadcrumbSegments } from './components/breadcrumbs/breadcrumb.cjs';
|
|
20
|
+
export { I as InputProps, T as TextareaProps } from './form.types-d25ebfac.js';
|
|
21
|
+
export { L as ListItemProps } from './list.types-d26de310.js';
|
|
20
22
|
|
|
21
23
|
/**
|
|
22
24
|
* Props for the Img component.
|
|
@@ -63,7 +65,7 @@ export { default as Breadcrumb, BreadcrumbProps, CustomRoute, useBreadcrumbSegme
|
|
|
63
65
|
*
|
|
64
66
|
* @see https://www.w3.org/WAI/WCAG21/Understanding/non-text-content.html
|
|
65
67
|
*/
|
|
66
|
-
interface ImgProps extends Omit<
|
|
68
|
+
interface ImgProps extends Omit<React.ImgHTMLAttributes<HTMLImageElement>, 'placeholder'> {
|
|
67
69
|
/**
|
|
68
70
|
* The image source URL.
|
|
69
71
|
* @default '//'
|
|
@@ -97,7 +99,7 @@ interface ImgProps extends Omit<React__default.ImgHTMLAttributes<HTMLImageElemen
|
|
|
97
99
|
/**
|
|
98
100
|
* Inline styles to apply to the image.
|
|
99
101
|
*/
|
|
100
|
-
styles?:
|
|
102
|
+
styles?: React.CSSProperties;
|
|
101
103
|
/**
|
|
102
104
|
* Loading behavior for the image.
|
|
103
105
|
* - `"lazy"` (default): Defers loading until near viewport
|
|
@@ -197,7 +199,7 @@ interface ImgProps extends Omit<React__default.ImgHTMLAttributes<HTMLImageElemen
|
|
|
197
199
|
* />
|
|
198
200
|
* ```
|
|
199
201
|
*/
|
|
200
|
-
onError?: (event:
|
|
202
|
+
onError?: (event: React.SyntheticEvent<HTMLImageElement, Event>) => void;
|
|
201
203
|
/**
|
|
202
204
|
* Callback fired when the image successfully loads.
|
|
203
205
|
*
|
|
@@ -212,7 +214,7 @@ interface ImgProps extends Omit<React__default.ImgHTMLAttributes<HTMLImageElemen
|
|
|
212
214
|
* />
|
|
213
215
|
* ```
|
|
214
216
|
*/
|
|
215
|
-
onLoad?: (event:
|
|
217
|
+
onLoad?: (event: React.SyntheticEvent<HTMLImageElement, Event>) => void;
|
|
216
218
|
}
|
|
217
219
|
|
|
218
220
|
/**
|
|
@@ -322,7 +324,7 @@ interface ImgProps extends Omit<React__default.ImgHTMLAttributes<HTMLImageElemen
|
|
|
322
324
|
* @see https://www.w3.org/WAI/WCAG21/Understanding/non-text-content.html
|
|
323
325
|
*/
|
|
324
326
|
declare const Img: {
|
|
325
|
-
({ src, alt, width, height, styles, loading, placeholder, fetchpriority, decoding, srcSet, sizes, onError, onLoad, ...props }: ImgProps):
|
|
327
|
+
({ src, alt, width, height, styles, loading, placeholder, fetchpriority, decoding, srcSet, sizes, onError, onLoad, ...props }: ImgProps): React.JSX.Element;
|
|
326
328
|
displayName: string;
|
|
327
329
|
};
|
|
328
330
|
|
|
@@ -344,7 +346,7 @@ interface TextToSpeechComponentProps {
|
|
|
344
346
|
/** The language to be used for speech synthesis. */
|
|
345
347
|
language?: string;
|
|
346
348
|
/** Player label */
|
|
347
|
-
label?: string |
|
|
349
|
+
label?: string | React.ReactNode;
|
|
348
350
|
/** Callback function to be called when speech ends. */
|
|
349
351
|
onEnd?: () => void;
|
|
350
352
|
}
|
|
@@ -353,22 +355,22 @@ interface TextToSpeechComponentProps {
|
|
|
353
355
|
* @param {TextToSpeechComponentProps} props - The props for the component.
|
|
354
356
|
* @returns {JSX.Element} The rendered TextToSpeechComponent.
|
|
355
357
|
*/
|
|
356
|
-
declare const TextToSpeech:
|
|
358
|
+
declare const TextToSpeech: React.FC<TextToSpeechComponentProps>;
|
|
357
359
|
|
|
358
|
-
type ComponentProps =
|
|
360
|
+
type ComponentProps = React.ComponentProps<typeof UI>;
|
|
359
361
|
/**
|
|
360
362
|
* Renders children elements without any wrapping component.
|
|
361
363
|
* Can be used as a placeholder when no semantic landmark is needed.
|
|
362
364
|
*/
|
|
363
365
|
declare const Landmarks: {
|
|
364
|
-
(children?:
|
|
366
|
+
(children?: React.FC): React.JSX.Element;
|
|
365
367
|
displayName: string;
|
|
366
|
-
Header: ({ id, children, headerBackground, styles, classes, ...props }: HeaderProps) =>
|
|
367
|
-
Main: ({ id, children, styles, classes, ...props }: ComponentProps) =>
|
|
368
|
-
Footer: ({ id, classes, children, styles, ...props }: ComponentProps) =>
|
|
369
|
-
Aside: ({ id, children, styles, classes, ...props }: ComponentProps) =>
|
|
370
|
-
Section: ({ id, children, styles, classes, ...props }: ComponentProps) =>
|
|
371
|
-
Article: ({ id, children, styles, classes, ...props }: ComponentProps) =>
|
|
368
|
+
Header: ({ id, children, headerBackground, styles, classes, ...props }: HeaderProps) => React.JSX.Element;
|
|
369
|
+
Main: ({ id, children, styles, classes, ...props }: ComponentProps) => React.JSX.Element;
|
|
370
|
+
Footer: ({ id, classes, children, styles, ...props }: ComponentProps) => React.JSX.Element;
|
|
371
|
+
Aside: ({ id, children, styles, classes, ...props }: ComponentProps) => React.JSX.Element;
|
|
372
|
+
Section: ({ id, children, styles, classes, ...props }: ComponentProps) => React.JSX.Element;
|
|
373
|
+
Article: ({ id, children, styles, classes, ...props }: ComponentProps) => React.JSX.Element;
|
|
372
374
|
};
|
|
373
375
|
type HeaderProps = {
|
|
374
376
|
headerBackground?: ReactNode;
|
|
@@ -382,7 +384,7 @@ type HeaderProps = {
|
|
|
382
384
|
* @param styles - Optional styles object.
|
|
383
385
|
* @param props - Other props.
|
|
384
386
|
*/
|
|
385
|
-
declare const Header: ({ id, children, headerBackground, styles, classes, ...props }: HeaderProps) =>
|
|
387
|
+
declare const Header: ({ id, children, headerBackground, styles, classes, ...props }: HeaderProps) => React.JSX.Element;
|
|
386
388
|
/**
|
|
387
389
|
* Main component.
|
|
388
390
|
*
|
|
@@ -392,7 +394,7 @@ declare const Header: ({ id, children, headerBackground, styles, classes, ...pro
|
|
|
392
394
|
* @param styles - Optional styles object.
|
|
393
395
|
* @param props - Other props.
|
|
394
396
|
*/
|
|
395
|
-
declare const Main: ({ id, children, styles, classes, ...props }: ComponentProps) =>
|
|
397
|
+
declare const Main: ({ id, children, styles, classes, ...props }: ComponentProps) => React.JSX.Element;
|
|
396
398
|
/**
|
|
397
399
|
* Footer component that renders a footer element with a section element inside.
|
|
398
400
|
* @param {ReactNode} children - Child elements to render inside the section element.
|
|
@@ -400,8 +402,8 @@ declare const Main: ({ id, children, styles, classes, ...props }: ComponentProps
|
|
|
400
402
|
* @param props - Additional props to pass to the footer element.
|
|
401
403
|
* @returns A React component that renders a footer element with a section element inside.
|
|
402
404
|
*/
|
|
403
|
-
declare const Footer: ({ id, classes, children, styles, ...props }: ComponentProps) =>
|
|
404
|
-
declare const Aside: ({ id, children, styles, classes, ...props }: ComponentProps) =>
|
|
405
|
+
declare const Footer: ({ id, classes, children, styles, ...props }: ComponentProps) => React.JSX.Element;
|
|
406
|
+
declare const Aside: ({ id, children, styles, classes, ...props }: ComponentProps) => React.JSX.Element;
|
|
405
407
|
/**
|
|
406
408
|
* Section component that renders a section element.
|
|
407
409
|
*
|
|
@@ -409,7 +411,7 @@ declare const Aside: ({ id, children, styles, classes, ...props }: ComponentProp
|
|
|
409
411
|
* @param styles - CSS styles to apply to the section.
|
|
410
412
|
* @param props - Other props.
|
|
411
413
|
*/
|
|
412
|
-
declare const Section: ({ id, children, styles, classes, ...props }: ComponentProps) =>
|
|
414
|
+
declare const Section: ({ id, children, styles, classes, ...props }: ComponentProps) => React.JSX.Element;
|
|
413
415
|
/**
|
|
414
416
|
* Article component renders an HTML <article> element.
|
|
415
417
|
*
|
|
@@ -417,7 +419,7 @@ declare const Section: ({ id, children, styles, classes, ...props }: ComponentPr
|
|
|
417
419
|
* @param styles - CSS styles to apply to the article.
|
|
418
420
|
* @param props - Additional props to pass to the article element.
|
|
419
421
|
*/
|
|
420
|
-
declare const Article: ({ id, children, styles, classes, ...props }: ComponentProps) =>
|
|
422
|
+
declare const Article: ({ id, children, styles, classes, ...props }: ComponentProps) => React.JSX.Element;
|
|
421
423
|
|
|
422
424
|
/**
|
|
423
425
|
* Props for the Badge component
|
|
@@ -434,13 +436,13 @@ type BadgeProps = {
|
|
|
434
436
|
/**
|
|
435
437
|
* Content to display inside the badge (typically numbers or short text)
|
|
436
438
|
*/
|
|
437
|
-
children?:
|
|
439
|
+
children?: React.ReactNode;
|
|
438
440
|
/**
|
|
439
441
|
* Visual variant of the badge
|
|
440
442
|
* - 'rounded': Circular badge style
|
|
441
443
|
*/
|
|
442
444
|
variant?: 'rounded';
|
|
443
|
-
} &
|
|
445
|
+
} & React.ComponentProps<typeof UI>;
|
|
444
446
|
/**
|
|
445
447
|
* Badge - A small label component for displaying status, counts, or notifications
|
|
446
448
|
*
|
|
@@ -505,43 +507,229 @@ type BadgeProps = {
|
|
|
505
507
|
* <Badge>12</Badge>
|
|
506
508
|
*/
|
|
507
509
|
declare const Badge: {
|
|
508
|
-
({ id, styles, classes, children, variant, ...props }: BadgeProps):
|
|
510
|
+
({ id, styles, classes, children, variant, ...props }: BadgeProps): React.JSX.Element;
|
|
509
511
|
displayName: string;
|
|
510
512
|
};
|
|
511
513
|
|
|
514
|
+
/**
|
|
515
|
+
* Available visual variants for the Tag component
|
|
516
|
+
*
|
|
517
|
+
* Each variant applies predefined color schemes and styling through CSS custom properties:
|
|
518
|
+
* - `alpha`: Early development stage indicator (warning colors)
|
|
519
|
+
* - `beta`: Pre-release version indicator (warning colors)
|
|
520
|
+
* - `stable`: Production-ready release indicator (success colors)
|
|
521
|
+
* - `production`: Live production environment indicator (primary colors)
|
|
522
|
+
*
|
|
523
|
+
* @example
|
|
524
|
+
* ```tsx
|
|
525
|
+
* <Tag variant="beta">Beta Feature</Tag>
|
|
526
|
+
* <Tag variant="stable">v2.0</Tag>
|
|
527
|
+
* ```
|
|
528
|
+
*/
|
|
529
|
+
type TagVariant = 'alpha' | 'beta' | 'stable' | 'production';
|
|
530
|
+
/**
|
|
531
|
+
* Props for the Tag component
|
|
532
|
+
*
|
|
533
|
+
* @property {React.ReactNode} children - REQUIRED - Content to display inside the tag (typically short text or version numbers)
|
|
534
|
+
* @property {'span' | 'p'} [elm='span'] - HTML element to render the tag as. Use 'p' for block-level tags, 'span' for inline
|
|
535
|
+
* @property {'note' | 'status'} [role='note'] - ARIA role for semantic meaning and screen reader announcements
|
|
536
|
+
* @property {TagVariant} [variant] - Visual variant that applies predefined color schemes (alpha, beta, stable, production)
|
|
537
|
+
* @property {string} [id] - Optional HTML id attribute for the tag element
|
|
538
|
+
* @property {React.CSSProperties} [styles] - Inline styles to apply to the tag
|
|
539
|
+
* @property {string} [classes] - CSS class names to apply to the tag
|
|
540
|
+
* @property {string} [aria-label] - Accessible label for screen readers. Recommended when tag content needs additional context
|
|
541
|
+
* @property {string} [aria-labelledby] - Reference to element(s) that label the tag for additional context
|
|
542
|
+
* @property {string} [aria-describedby] - Reference to element(s) that describe the tag for additional context
|
|
543
|
+
* @property {'off' | 'polite' | 'assertive'} [aria-live] - ARIA live region politeness setting for dynamic content (use with role="status")
|
|
544
|
+
*
|
|
545
|
+
* @example
|
|
546
|
+
* ```tsx
|
|
547
|
+
* // Basic tag with variant
|
|
548
|
+
* <Tag variant="beta">Beta</Tag>
|
|
549
|
+
*
|
|
550
|
+
* // Tag with custom element and role
|
|
551
|
+
* <Tag elm="p" role="status" variant="stable">v1.0 Released</Tag>
|
|
552
|
+
*
|
|
553
|
+
* // Tag with accessibility label
|
|
554
|
+
* <Tag variant="production" aria-label="Currently in production environment">
|
|
555
|
+
* Production
|
|
556
|
+
* </Tag>
|
|
557
|
+
* ```
|
|
558
|
+
*/
|
|
512
559
|
type TagProps = {
|
|
513
|
-
/**
|
|
560
|
+
/**
|
|
561
|
+
* HTML element to display the tag as
|
|
562
|
+
* - 'span': Inline tag (default) - use for inline placement within text flow
|
|
563
|
+
* - 'p': Block-level tag - use when tag should appear as a distinct block element
|
|
564
|
+
*/
|
|
514
565
|
elm?: 'span' | 'p';
|
|
515
|
-
/**
|
|
516
|
-
|
|
517
|
-
|
|
566
|
+
/**
|
|
567
|
+
* ARIA role for semantic meaning and screen reader behavior
|
|
568
|
+
* - 'note': For static, informational tags (default) - screen readers read once
|
|
569
|
+
* - 'status': For dynamic tags that update - screen readers announce changes to users
|
|
570
|
+
*
|
|
571
|
+
* Choose 'status' when tag content changes dynamically (e.g., real-time status updates).
|
|
572
|
+
* Choose 'note' for static tags that provide contextual information.
|
|
573
|
+
*/
|
|
574
|
+
role?: 'note' | 'status';
|
|
575
|
+
/**
|
|
576
|
+
* Visual variant that applies predefined color schemes
|
|
577
|
+
* - 'alpha': Early development stage (amber background with warning symbol ⚠)
|
|
578
|
+
* - 'beta': Pre-release version (amber background with warning symbol ⚠)
|
|
579
|
+
* - 'stable': Production-ready release (green background with checkmark ✓)
|
|
580
|
+
* - 'production': Live production environment (blue background with live indicator ●)
|
|
581
|
+
*
|
|
582
|
+
* Each variant includes both color AND visual symbols for accessibility (WCAG 1.4.1).
|
|
583
|
+
*/
|
|
584
|
+
variant?: TagVariant;
|
|
585
|
+
/**
|
|
586
|
+
* Content to display inside the tag
|
|
587
|
+
* REQUIRED - Ensures tag has meaningful content for all users including screen reader users
|
|
588
|
+
* Typically short text, version numbers, or status labels
|
|
589
|
+
*/
|
|
590
|
+
children: React.ReactNode;
|
|
591
|
+
/**
|
|
592
|
+
* Accessible label for screen readers
|
|
593
|
+
* Provides additional context beyond visible text
|
|
594
|
+
*/
|
|
595
|
+
'aria-label'?: string;
|
|
596
|
+
/**
|
|
597
|
+
* Reference to element(s) that label the tag
|
|
598
|
+
* Alternative to aria-label for programmatic labeling
|
|
599
|
+
*/
|
|
600
|
+
'aria-labelledby'?: string;
|
|
601
|
+
/**
|
|
602
|
+
* Reference to element(s) that describe the tag
|
|
603
|
+
* Provides additional descriptive context
|
|
604
|
+
*/
|
|
605
|
+
'aria-describedby'?: string;
|
|
606
|
+
/**
|
|
607
|
+
* ARIA live region politeness setting
|
|
608
|
+
* - 'off': Updates not announced (default)
|
|
609
|
+
* - 'polite': Announces when user is idle (recommended for role="status")
|
|
610
|
+
* - 'assertive': Announces immediately (use sparingly for critical updates)
|
|
611
|
+
*/
|
|
612
|
+
'aria-live'?: 'off' | 'polite' | 'assertive';
|
|
613
|
+
} & Omit<React.ComponentProps<typeof UI>, 'as' | 'aria-label' | 'aria-labelledby' | 'aria-describedby' | 'aria-live'>;
|
|
614
|
+
|
|
615
|
+
/**
|
|
616
|
+
* Tag - A small inline label component for displaying status, versions, or environment indicators
|
|
617
|
+
*
|
|
618
|
+
* The Tag component is used to highlight supplementary information such as release stages
|
|
619
|
+
* (alpha, beta, stable), environment indicators (production), or version labels. It renders
|
|
620
|
+
* as either a `<span>` (inline) or `<p>` (block) element with semantic ARIA roles.
|
|
621
|
+
*
|
|
622
|
+
* ## Design Philosophy
|
|
623
|
+
*
|
|
624
|
+
* Tags serve as visual and semantic indicators that:
|
|
625
|
+
* - Communicate the state or stage of features, releases, or environments
|
|
626
|
+
* - Provide quick visual scanning through color-coded variants
|
|
627
|
+
* - Maintain accessibility through proper ARIA roles and labels
|
|
628
|
+
*
|
|
629
|
+
* ## Styling Architecture
|
|
630
|
+
*
|
|
631
|
+
* The Tag component uses CSS custom properties (CSS variables) for theming and styling,
|
|
632
|
+
* allowing for easy customization through the `data-tag` attribute. Each variant
|
|
633
|
+
* (alpha, beta, stable, production) applies predefined color schemes defined in SCSS.
|
|
634
|
+
*
|
|
635
|
+
* ## Accessibility Considerations (WCAG 2.1 AA Compliance)
|
|
636
|
+
*
|
|
637
|
+
* - **Semantic Roles**: Uses `role="note"` for static tags or `role="status"` for dynamic content
|
|
638
|
+
* - `role="note"`: Read once by screen readers, suitable for static labels (default)
|
|
639
|
+
* - `role="status"`: Announces updates to screen readers, use for changing status indicators
|
|
640
|
+
* - **Color Independence**: Don't rely solely on color to convey meaning - include text labels
|
|
641
|
+
* - **Text Alternatives**: For icon-only tags, provide `aria-label` for screen reader context
|
|
642
|
+
* - **Contrast Ratios**: All variants meet WCAG AA contrast requirements (4.5:1 for normal text)
|
|
643
|
+
* - **Live Regions**: When using `role="status"`, tag becomes a live region for accessibility
|
|
644
|
+
*
|
|
645
|
+
* ## When to Use Each Role
|
|
646
|
+
*
|
|
647
|
+
* **Use `role="note"` (default) when:**
|
|
648
|
+
* - Displaying static version numbers (e.g., "v2.1.0")
|
|
649
|
+
* - Showing fixed environment indicators (e.g., "Beta Feature")
|
|
650
|
+
* - Labeling unchanging content categories
|
|
651
|
+
*
|
|
652
|
+
* **Use `role="status"` when:**
|
|
653
|
+
* - Indicating real-time status that may change (e.g., "Processing" → "Complete")
|
|
654
|
+
* - Displaying live build/deployment states
|
|
655
|
+
* - Showing dynamic feature flags that toggle
|
|
656
|
+
*
|
|
657
|
+
* @param {TagProps} props - Component props
|
|
658
|
+
* @returns {React.ReactElement} A Tag component
|
|
659
|
+
*
|
|
660
|
+
* @example
|
|
661
|
+
* // Basic tag with beta variant (default inline span)
|
|
662
|
+
* <Tag variant="beta">Beta</Tag>
|
|
663
|
+
*
|
|
664
|
+
* @example
|
|
665
|
+
* // Production environment indicator as block element
|
|
666
|
+
* <Tag elm="p" variant="production">Production Environment</Tag>
|
|
667
|
+
*
|
|
668
|
+
* @example
|
|
669
|
+
* // Dynamic status tag with live updates
|
|
670
|
+
* <Tag role="status" variant="stable">
|
|
671
|
+
* {isDeployed ? 'Deployed' : 'Deploying...'}
|
|
672
|
+
* </Tag>
|
|
673
|
+
*
|
|
674
|
+
* @example
|
|
675
|
+
* // Tag with custom styling and accessibility label
|
|
676
|
+
* <Tag
|
|
677
|
+
* variant="alpha"
|
|
678
|
+
* aria-label="Alpha version - may contain bugs"
|
|
679
|
+
* styles={{ fontSize: '0.75rem' }}
|
|
680
|
+
* >
|
|
681
|
+
* Alpha
|
|
682
|
+
* </Tag>
|
|
683
|
+
*
|
|
684
|
+
* @example
|
|
685
|
+
* // ✅ GOOD: Clear text content with variant for visual enhancement
|
|
686
|
+
* <Tag variant="stable">v2.0 Stable</Tag>
|
|
687
|
+
*
|
|
688
|
+
* @example
|
|
689
|
+
* // ✅ GOOD: Dynamic status with proper role
|
|
690
|
+
* <Tag role="status" variant="production">{deploymentStatus}</Tag>
|
|
691
|
+
*
|
|
692
|
+
* @example
|
|
693
|
+
* // ✅ GOOD: Accessible tag with descriptive label
|
|
694
|
+
* <Tag variant="beta" aria-label="Beta feature - feedback welcome">
|
|
695
|
+
* Beta
|
|
696
|
+
* </Tag>
|
|
697
|
+
*
|
|
698
|
+
* @example
|
|
699
|
+
* // ❌ BAD: Relying only on color without text
|
|
700
|
+
* <Tag variant="production" aria-label="Production" />
|
|
701
|
+
*
|
|
702
|
+
* @example
|
|
703
|
+
* // ❌ BAD: Using status role for static content
|
|
704
|
+
* <Tag role="status" variant="stable">v1.0</Tag>
|
|
705
|
+
*/
|
|
518
706
|
declare const Tag: {
|
|
519
|
-
({ elm, role, children, styles, ...props }: TagProps):
|
|
707
|
+
({ elm, role, variant, children, styles, ...props }: TagProps): React.JSX.Element;
|
|
520
708
|
displayName: string;
|
|
521
709
|
};
|
|
522
710
|
|
|
523
711
|
declare const Caption: {
|
|
524
|
-
({ children, ...props }: ComponentProps$1):
|
|
712
|
+
({ children, ...props }: ComponentProps$1): React.JSX.Element;
|
|
525
713
|
displayName: string;
|
|
526
714
|
};
|
|
527
715
|
declare const Thead: {
|
|
528
|
-
({ children, ...props }: ComponentProps$1):
|
|
716
|
+
({ children, ...props }: ComponentProps$1): React.JSX.Element;
|
|
529
717
|
displayName: string;
|
|
530
718
|
};
|
|
531
719
|
declare const Tbody: {
|
|
532
|
-
({ children, ...props }: ComponentProps$1):
|
|
720
|
+
({ children, ...props }: ComponentProps$1): React.JSX.Element;
|
|
533
721
|
displayName: string;
|
|
534
722
|
};
|
|
535
723
|
declare const Tr: {
|
|
536
|
-
({ children, ...props }: ComponentProps$1):
|
|
724
|
+
({ children, ...props }: ComponentProps$1): React.JSX.Element;
|
|
537
725
|
displayName: string;
|
|
538
726
|
};
|
|
539
727
|
declare const Td: {
|
|
540
|
-
({ children, ...props }: ComponentProps$1):
|
|
728
|
+
({ children, ...props }: ComponentProps$1): React.JSX.Element;
|
|
541
729
|
displayName: string;
|
|
542
730
|
};
|
|
543
731
|
declare const Table: {
|
|
544
|
-
({ id, dataStyle, children, ...props }: ComponentProps$1):
|
|
732
|
+
({ id, dataStyle, children, ...props }: ComponentProps$1): React.JSX.Element;
|
|
545
733
|
displayName: string;
|
|
546
734
|
};
|
|
547
735
|
|
|
@@ -576,7 +764,7 @@ type DetailsProps = {
|
|
|
576
764
|
* summary={<><Icon /> Shipping Information</>}
|
|
577
765
|
* ```
|
|
578
766
|
*/
|
|
579
|
-
summary:
|
|
767
|
+
summary: React.ReactNode;
|
|
580
768
|
/**
|
|
581
769
|
* Optional icon displayed before the summary text.
|
|
582
770
|
* Commonly used for chevron/arrow indicators.
|
|
@@ -586,7 +774,7 @@ type DetailsProps = {
|
|
|
586
774
|
* icon={<ChevronDownIcon />}
|
|
587
775
|
* ```
|
|
588
776
|
*/
|
|
589
|
-
icon?:
|
|
777
|
+
icon?: React.ReactNode;
|
|
590
778
|
/**
|
|
591
779
|
* Accessible label for screen readers.
|
|
592
780
|
* If not provided, the native `<details>` semantic will be used.
|
|
@@ -613,7 +801,7 @@ type DetailsProps = {
|
|
|
613
801
|
* ```
|
|
614
802
|
*/
|
|
615
803
|
name?: string;
|
|
616
|
-
} &
|
|
804
|
+
} & React.ComponentProps<"details"> & Partial<React.ComponentProps<typeof UI>>;
|
|
617
805
|
|
|
618
806
|
/**
|
|
619
807
|
* Details - A progressive disclosure component using native HTML `<details>` element.
|
|
@@ -664,6 +852,107 @@ type DetailsProps = {
|
|
|
664
852
|
* <Details name="faq" summary="Question 3">Answer 3</Details>
|
|
665
853
|
* ```
|
|
666
854
|
*/
|
|
667
|
-
declare const Details:
|
|
855
|
+
declare const Details: React.ForwardRefExoticComponent<Omit<DetailsProps, "ref"> & React.RefAttributes<HTMLDetailsElement>>;
|
|
856
|
+
|
|
857
|
+
/**
|
|
858
|
+
* @deprecated This type is deprecated. Use `PolymorphicRef` from './ui.tsx' instead.
|
|
859
|
+
* The UI component provides better type safety and accessibility features.
|
|
860
|
+
*/
|
|
861
|
+
type PolymorphicRef<C extends React.ElementType> = React.Ref<React.ElementRef<C>>;
|
|
862
|
+
/**
|
|
863
|
+
* @deprecated This type is deprecated. Use `AsProp` from './ui.tsx' instead.
|
|
864
|
+
* The UI component provides better type safety and accessibility features.
|
|
865
|
+
*/
|
|
866
|
+
type AsProp<C extends React.ElementType> = {
|
|
867
|
+
as?: C;
|
|
868
|
+
};
|
|
869
|
+
/**
|
|
870
|
+
* @deprecated This type is deprecated. Use `PropsToOmit` from './ui.tsx' instead.
|
|
871
|
+
* The UI component provides better type safety and accessibility features.
|
|
872
|
+
*/
|
|
873
|
+
type PropsToOmit<C extends React.ElementType, P> = keyof (AsProp<C> & P);
|
|
874
|
+
/**
|
|
875
|
+
* @deprecated This type is deprecated. Use `PolymorphicComponentProp` from './ui.tsx' instead.
|
|
876
|
+
* The UI component provides better type safety and accessibility features.
|
|
877
|
+
*/
|
|
878
|
+
type PolymorphicComponentProp<C extends React.ElementType, Props = {}> = React.PropsWithChildren<Props & AsProp<C>> & Omit<React.ComponentPropsWithoutRef<C>, PropsToOmit<C, Props>>;
|
|
879
|
+
/**
|
|
880
|
+
* @deprecated This type is deprecated. Use `PolymorphicComponentPropWithRef` from './ui.tsx' instead.
|
|
881
|
+
* The UI component provides better type safety and accessibility features.
|
|
882
|
+
*/
|
|
883
|
+
type PolymorphicComponentPropWithRef<C extends React.ElementType, Props = {}> = PolymorphicComponentProp<C, Props> & {
|
|
884
|
+
ref?: PolymorphicRef<C> | React.ForwardedRef<React.ElementRef<C>>;
|
|
885
|
+
};
|
|
886
|
+
/**
|
|
887
|
+
* @deprecated This type is deprecated. Use `UIProps` from './ui.tsx' instead.
|
|
888
|
+
* The UI component provides better type safety and accessibility features.
|
|
889
|
+
*/
|
|
890
|
+
type FPProps<C extends React.ElementType> = PolymorphicComponentPropWithRef<C, {
|
|
891
|
+
renderStyles?: boolean;
|
|
892
|
+
styles?: React.CSSProperties;
|
|
893
|
+
classes?: string;
|
|
894
|
+
}>;
|
|
895
|
+
/**
|
|
896
|
+
* FPComponent type definition
|
|
897
|
+
*
|
|
898
|
+
* @deprecated This type is deprecated. Use the `UI` component from './ui.tsx' instead.
|
|
899
|
+
* The UI component provides enhanced accessibility documentation, better type safety,
|
|
900
|
+
* and comprehensive WCAG 2.1 AA compliance guidance.
|
|
901
|
+
*
|
|
902
|
+
* @typeParam C - The HTML element type to render
|
|
903
|
+
* @param props - The component props
|
|
904
|
+
* @returns React component
|
|
905
|
+
*
|
|
906
|
+
* @example
|
|
907
|
+
* ```typescript
|
|
908
|
+
* // Migration from FP to UI
|
|
909
|
+
* // Before:
|
|
910
|
+
* import FP from '@fpkit/acss/components/fp';
|
|
911
|
+
* <FP as="button" styles={{ padding: '1rem' }}>Click me</FP>
|
|
912
|
+
*
|
|
913
|
+
* // After:
|
|
914
|
+
* import UI from '@fpkit/acss/components/ui';
|
|
915
|
+
* <UI as="button" styles={{ padding: '1rem' }}>Click me</UI>
|
|
916
|
+
* ```
|
|
917
|
+
*/
|
|
918
|
+
type FPComponent = {
|
|
919
|
+
<C extends React.ElementType = 'span'>(props: FPProps<C>): React.ReactElement | null;
|
|
920
|
+
displayName?: string;
|
|
921
|
+
};
|
|
922
|
+
/**
|
|
923
|
+
* @deprecated **DEPRECATED:** This component is deprecated and will be removed in a future version.
|
|
924
|
+
* Please use the `UI` component from `./ui.tsx` instead.
|
|
925
|
+
*
|
|
926
|
+
* The UI component is a drop-in replacement with the same API but provides:
|
|
927
|
+
* - Enhanced accessibility documentation and WCAG 2.1 AA compliance guidance
|
|
928
|
+
* - Better TypeScript type safety with detailed JSDoc comments
|
|
929
|
+
* - Comprehensive examples for accessible component patterns
|
|
930
|
+
* - More robust style merging with defaultStyles support
|
|
931
|
+
*
|
|
932
|
+
* @example
|
|
933
|
+
* ```typescript
|
|
934
|
+
* // Migration Guide
|
|
935
|
+
* // Before:
|
|
936
|
+
* import FP from '@fpkit/acss/components/fp';
|
|
937
|
+
* <FP as="button" styles={{ padding: '1rem' }} classes="btn">
|
|
938
|
+
* Click me
|
|
939
|
+
* </FP>
|
|
940
|
+
*
|
|
941
|
+
* // After:
|
|
942
|
+
* import UI from '@fpkit/acss/components/ui';
|
|
943
|
+
* <UI as="button" styles={{ padding: '1rem' }} classes="btn">
|
|
944
|
+
* Click me
|
|
945
|
+
* </UI>
|
|
946
|
+
* ```
|
|
947
|
+
*
|
|
948
|
+
* @param {Object} props - Component props
|
|
949
|
+
* @param {React.ElementType} props.as - The HTML element to render. Defaults to 'div'.
|
|
950
|
+
* @param {boolean} props.renderStyles - Whether to render styles or not. Defaults to true.
|
|
951
|
+
* @param {Object} props.styles - The styles to apply to the component.
|
|
952
|
+
* @param {Object} props.defaultStyles - The default styles to apply to the component.
|
|
953
|
+
* @param {React.ReactNode} props.children - The children to render inside the component.
|
|
954
|
+
* @returns {React.ReactElement} - A React component that renders an HTML element with optional styles.
|
|
955
|
+
*/
|
|
956
|
+
declare const FP: FPComponent;
|
|
668
957
|
|
|
669
|
-
export { Article, Aside, Badge, BadgeProps, Caption, ComponentProps$1 as ComponentProps, Details, Footer, Header, Img, ImgProps, Landmarks, Main, Section, Table, Tag, TagProps, Tbody, Td, TextToSpeech, Thead, Tr };
|
|
958
|
+
export { Article, Aside, Badge, BadgeProps, FP as Box, Caption, ComponentProps$1 as ComponentProps, Details, FP, Footer, Header, Img, ImgProps, Landmarks, Main, Section, Table, Tag, TagProps, TagVariant, Tbody, Td, TextToSpeech, Thead, Tr };
|