@arkyn/components 3.0.1-beta.143 → 3.0.1-beta.145
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/dist/bundle.js +1 -1
- package/dist/components/alert/alertContainer/index.d.ts +27 -43
- package/dist/components/alert/alertContainer/index.d.ts.map +1 -1
- package/dist/components/alert/alertContainer/index.js +20 -40
- package/dist/components/alert/alertContent/index.d.ts +11 -36
- package/dist/components/alert/alertContent/index.d.ts.map +1 -1
- package/dist/components/alert/alertContent/index.js +11 -31
- package/dist/components/alert/alertDescription/index.d.ts +10 -38
- package/dist/components/alert/alertDescription/index.d.ts.map +1 -1
- package/dist/components/alert/alertDescription/index.js +10 -33
- package/dist/components/alert/alertIcon/index.d.ts +14 -38
- package/dist/components/alert/alertIcon/index.d.ts.map +1 -1
- package/dist/components/alert/alertIcon/index.js +14 -32
- package/dist/components/alert/alertTitle/index.d.ts +12 -35
- package/dist/components/alert/alertTitle/index.d.ts.map +1 -1
- package/dist/components/alert/alertTitle/index.js +12 -27
- package/dist/components/audioPlayer/index.d.ts +24 -32
- package/dist/components/audioPlayer/index.d.ts.map +1 -1
- package/dist/components/audioPlayer/index.js +15 -18
- package/dist/components/audioUpload/index.d.ts +37 -48
- package/dist/components/audioUpload/index.d.ts.map +1 -1
- package/dist/components/audioUpload/index.js +23 -48
- package/dist/components/badge/index.d.ts +31 -22
- package/dist/components/badge/index.d.ts.map +1 -1
- package/dist/components/badge/index.js +14 -22
- package/dist/components/button/index.d.ts +38 -28
- package/dist/components/button/index.d.ts.map +1 -1
- package/dist/components/button/index.js +18 -28
- package/dist/components/cardTab/cardTabButton/index.d.ts +14 -52
- package/dist/components/cardTab/cardTabButton/index.d.ts.map +1 -1
- package/dist/components/cardTab/cardTabButton/index.js +12 -52
- package/dist/components/cardTab/cardTabContainer/index.d.ts +16 -58
- package/dist/components/cardTab/cardTabContainer/index.d.ts.map +1 -1
- package/dist/components/cardTab/cardTabContainer/index.js +12 -58
- package/dist/components/checkbox/index.d.ts +38 -37
- package/dist/components/checkbox/index.d.ts.map +1 -1
- package/dist/components/checkbox/index.js +21 -37
- package/dist/components/clientOnly.d.ts +13 -66
- package/dist/components/clientOnly.d.ts.map +1 -1
- package/dist/components/clientOnly.js +11 -66
- package/dist/components/currencyInput/index.d.ts +67 -50
- package/dist/components/currencyInput/index.d.ts.map +1 -1
- package/dist/components/currencyInput/index.js +28 -50
- package/dist/components/divider/index.d.ts +12 -25
- package/dist/components/divider/index.d.ts.map +1 -1
- package/dist/components/divider/index.js +8 -25
- package/dist/components/drawer/drawerContainer/index.d.ts +16 -50
- package/dist/components/drawer/drawerContainer/index.d.ts.map +1 -1
- package/dist/components/drawer/drawerContainer/index.js +13 -50
- package/dist/components/drawer/drawerHeader/index.d.ts +9 -33
- package/dist/components/drawer/drawerHeader/index.d.ts.map +1 -1
- package/dist/components/drawer/drawerHeader/index.js +8 -33
- package/dist/components/facebookPixel/index.d.ts +47 -0
- package/dist/components/facebookPixel/index.d.ts.map +1 -1
- package/dist/components/facebookPixel/index.js +35 -0
- package/dist/components/fieldError/index.d.ts +4 -11
- package/dist/components/fieldError/index.d.ts.map +1 -1
- package/dist/components/fieldError/index.js +4 -11
- package/dist/components/fieldLabel/index.d.ts +6 -21
- package/dist/components/fieldLabel/index.d.ts.map +1 -1
- package/dist/components/fieldLabel/index.js +5 -21
- package/dist/components/fieldWrapper/index.d.ts +12 -22
- package/dist/components/fieldWrapper/index.d.ts.map +1 -1
- package/dist/components/fieldWrapper/index.js +7 -22
- package/dist/components/fileUpload/index.d.ts +36 -61
- package/dist/components/fileUpload/index.d.ts.map +1 -1
- package/dist/components/fileUpload/index.js +23 -61
- package/dist/components/googleAnalytics/index.d.ts +11 -7
- package/dist/components/googleAnalytics/index.d.ts.map +1 -1
- package/dist/components/googleAnalytics/index.js +9 -7
- package/dist/components/googleTagManager/index.d.ts +27 -21
- package/dist/components/googleTagManager/index.d.ts.map +1 -1
- package/dist/components/googleTagManager/index.js +20 -21
- package/dist/components/iconButton/index.d.ts +31 -15
- package/dist/components/iconButton/index.d.ts.map +1 -1
- package/dist/components/iconButton/index.js +12 -15
- package/dist/components/imageUpload/index.d.ts +47 -75
- package/dist/components/imageUpload/index.d.ts.map +1 -1
- package/dist/components/imageUpload/index.js +27 -75
- package/dist/components/input/index.d.ts +51 -44
- package/dist/components/input/index.d.ts.map +1 -1
- package/dist/components/input/index.js +24 -44
- package/dist/components/mapView/index.d.ts +44 -0
- package/dist/components/mapView/index.d.ts.map +1 -1
- package/dist/components/mapView/index.js +35 -0
- package/dist/components/maskedInput/index.d.ts +66 -51
- package/dist/components/maskedInput/index.d.ts.map +1 -1
- package/dist/components/maskedInput/index.js +28 -51
- package/dist/components/modal/modalContainer/index.d.ts +17 -57
- package/dist/components/modal/modalContainer/index.d.ts.map +1 -1
- package/dist/components/modal/modalContainer/index.js +15 -57
- package/dist/components/modal/modalFooter/index.d.ts +17 -50
- package/dist/components/modal/modalFooter/index.d.ts.map +1 -1
- package/dist/components/modal/modalFooter/index.js +10 -50
- package/dist/components/modal/modalHeader/index.d.ts +13 -47
- package/dist/components/modal/modalHeader/index.d.ts.map +1 -1
- package/dist/components/modal/modalHeader/index.js +12 -47
- package/dist/components/multiSelect/index.d.ts +67 -62
- package/dist/components/multiSelect/index.d.ts.map +1 -1
- package/dist/components/multiSelect/index.js +28 -62
- package/dist/components/pagination/index.d.ts +18 -9
- package/dist/components/pagination/index.d.ts.map +1 -1
- package/dist/components/pagination/index.js +18 -9
- package/dist/components/phoneInput/index.d.ts +65 -30
- package/dist/components/phoneInput/index.d.ts.map +1 -1
- package/dist/components/phoneInput/index.js +36 -31
- package/dist/components/popover/index.d.ts +34 -114
- package/dist/components/popover/index.d.ts.map +1 -1
- package/dist/components/popover/index.js +25 -114
- package/dist/components/radio/radioBox/index.d.ts +17 -65
- package/dist/components/radio/radioBox/index.d.ts.map +1 -1
- package/dist/components/radio/radioBox/index.js +14 -65
- package/dist/components/radio/radioGroup/index.d.ts +36 -67
- package/dist/components/radio/radioGroup/index.d.ts.map +1 -1
- package/dist/components/radio/radioGroup/index.js +25 -67
- package/dist/components/richText/index.d.ts +33 -47
- package/dist/components/richText/index.d.ts.map +1 -1
- package/dist/components/richText/index.js +30 -44
- package/dist/components/searchPlaces.d.ts +52 -50
- package/dist/components/searchPlaces.d.ts.map +1 -1
- package/dist/components/searchPlaces.js +23 -30
- package/dist/components/select/index.d.ts +68 -63
- package/dist/components/select/index.d.ts.map +1 -1
- package/dist/components/select/index.js +29 -63
- package/dist/components/slider/index.d.ts +20 -34
- package/dist/components/slider/index.d.ts.map +1 -1
- package/dist/components/slider/index.js +15 -33
- package/dist/components/switch/index.d.ts +42 -58
- package/dist/components/switch/index.d.ts.map +1 -1
- package/dist/components/switch/index.js +24 -58
- package/dist/components/tab/tabButton/index.d.ts +14 -52
- package/dist/components/tab/tabButton/index.d.ts.map +1 -1
- package/dist/components/tab/tabButton/index.js +12 -52
- package/dist/components/tab/tabContainer/index.d.ts +16 -58
- package/dist/components/tab/tabContainer/index.d.ts.map +1 -1
- package/dist/components/tab/tabContainer/index.js +12 -58
- package/dist/components/table/tableBody/index.d.ts +13 -47
- package/dist/components/table/tableBody/index.d.ts.map +1 -1
- package/dist/components/table/tableBody/index.js +12 -47
- package/dist/components/table/tableCaption/index.d.ts +6 -46
- package/dist/components/table/tableCaption/index.d.ts.map +1 -1
- package/dist/components/table/tableCaption/index.js +6 -46
- package/dist/components/table/tableContainer/index.d.ts +12 -41
- package/dist/components/table/tableContainer/index.d.ts.map +1 -1
- package/dist/components/table/tableContainer/index.js +12 -41
- package/dist/components/table/tableFooter/index.d.ts +5 -29
- package/dist/components/table/tableFooter/index.d.ts.map +1 -1
- package/dist/components/table/tableFooter/index.js +5 -29
- package/dist/components/table/tableHeader/index.d.ts +4 -25
- package/dist/components/table/tableHeader/index.d.ts.map +1 -1
- package/dist/components/table/tableHeader/index.js +4 -25
- package/dist/components/textarea/index.d.ts +32 -64
- package/dist/components/textarea/index.d.ts.map +1 -1
- package/dist/components/textarea/index.js +16 -64
- package/dist/components/tooltip/index.d.ts +27 -55
- package/dist/components/tooltip/index.d.ts.map +1 -1
- package/dist/components/tooltip/index.js +16 -55
- package/dist/hooks/useAutomation.d.ts +18 -26
- package/dist/hooks/useAutomation.d.ts.map +1 -1
- package/dist/hooks/useAutomation.js +18 -26
- package/dist/hooks/useDrawer.d.ts +19 -64
- package/dist/hooks/useDrawer.d.ts.map +1 -1
- package/dist/hooks/useForm.d.ts +12 -29
- package/dist/hooks/useForm.d.ts.map +1 -1
- package/dist/hooks/useForm.js +12 -29
- package/dist/hooks/useHydrated.d.ts +8 -63
- package/dist/hooks/useHydrated.d.ts.map +1 -1
- package/dist/hooks/useHydrated.js +8 -63
- package/dist/hooks/useModal.d.ts +19 -59
- package/dist/hooks/useModal.d.ts.map +1 -1
- package/dist/hooks/useScopedParams.d.ts +17 -69
- package/dist/hooks/useScopedParams.d.ts.map +1 -1
- package/dist/hooks/useScopedParams.js +17 -69
- package/dist/hooks/useScrollLock.d.ts +11 -27
- package/dist/hooks/useScrollLock.d.ts.map +1 -1
- package/dist/hooks/useScrollLock.js +11 -33
- package/dist/hooks/useSearchAutomation.d.ts +16 -34
- package/dist/hooks/useSearchAutomation.d.ts.map +1 -1
- package/dist/hooks/useSearchAutomation.js +16 -34
- package/dist/hooks/useSlider.d.ts +5 -19
- package/dist/hooks/useSlider.d.ts.map +1 -1
- package/dist/hooks/useSlider.js +5 -19
- package/dist/hooks/useToast.d.ts +8 -52
- package/dist/hooks/useToast.d.ts.map +1 -1
- package/dist/hooks/useToast.js +8 -52
- package/dist/providers/drawerProvider.d.ts +15 -81
- package/dist/providers/drawerProvider.d.ts.map +1 -1
- package/dist/providers/drawerProvider.js +15 -81
- package/dist/providers/formProvider.d.ts +17 -53
- package/dist/providers/formProvider.d.ts.map +1 -1
- package/dist/providers/formProvider.js +17 -53
- package/dist/providers/modalProvider.d.ts +16 -77
- package/dist/providers/modalProvider.d.ts.map +1 -1
- package/dist/providers/modalProvider.js +16 -77
- package/dist/providers/placesProvider.d.ts +16 -11
- package/dist/providers/placesProvider.d.ts.map +1 -1
- package/dist/providers/placesProvider.js +16 -11
- package/dist/providers/toastProvider.d.ts +10 -21
- package/dist/providers/toastProvider.d.ts.map +1 -1
- package/dist/providers/toastProvider.js +10 -21
- package/dist/services/toHtml.d.ts +11 -10
- package/dist/services/toHtml.d.ts.map +1 -1
- package/dist/services/toHtml.js +11 -10
- package/dist/services/toRichTextValue.d.ts +11 -17
- package/dist/services/toRichTextValue.d.ts.map +1 -1
- package/dist/services/toRichTextValue.js +11 -17
- package/package.json +1 -1
|
@@ -1,69 +1,35 @@
|
|
|
1
1
|
import { HTMLAttributes } from "react";
|
|
2
2
|
import "./styles.css";
|
|
3
3
|
type DrawerContainerProps = HTMLAttributes<HTMLElement> & {
|
|
4
|
+
/** Controls whether the drawer is visible. */
|
|
4
5
|
isVisible: boolean;
|
|
6
|
+
/** Callback invoked when the overlay is clicked to close the drawer. */
|
|
5
7
|
makeInvisible: () => void;
|
|
8
|
+
/** Side from which the drawer slides in. @default "left" */
|
|
6
9
|
orientation?: "left" | "right";
|
|
7
10
|
};
|
|
8
|
-
/**
|
|
9
|
-
* DrawerContainer
|
|
11
|
+
/**
|
|
12
|
+
* DrawerContainer — animated slide-in panel rendered over an overlay backdrop.
|
|
10
13
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* @param props.makeInvisible - Callback function to hide the drawer
|
|
14
|
-
* @param props.orientation - Side from which drawer slides (left, right). Default: "left"
|
|
14
|
+
* Locks body scroll while open. Closes when the overlay is clicked.
|
|
15
|
+
* Provides context consumed by `DrawerHeader` (close button).
|
|
15
16
|
*
|
|
16
|
-
*
|
|
17
|
+
* @param props.isVisible - Whether the drawer is open. Required.
|
|
18
|
+
* @param props.makeInvisible - Called when the overlay or close button is clicked. Required.
|
|
19
|
+
* @param props.orientation - Slide direction. Default: `"left"`
|
|
17
20
|
*
|
|
18
|
-
*
|
|
21
|
+
* **...Other valid HTML `<aside>` properties**
|
|
22
|
+
*
|
|
23
|
+
* @returns DrawerContainer JSX element.
|
|
19
24
|
*
|
|
20
25
|
* @example
|
|
21
26
|
* ```tsx
|
|
22
|
-
* // Basic drawer from left
|
|
23
27
|
* const [isOpen, setIsOpen] = useState(false);
|
|
24
|
-
* <DrawerContainer
|
|
25
|
-
* isVisible={isOpen}
|
|
26
|
-
* makeInvisible={setIsOpen}
|
|
27
|
-
* >
|
|
28
|
-
* <p>Drawer content</p>
|
|
29
|
-
* </DrawerContainer>
|
|
30
28
|
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* makeInvisible={setIsOpen}
|
|
35
|
-
* orientation="right"
|
|
36
|
-
* >
|
|
37
|
-
* <nav>Navigation items</nav>
|
|
29
|
+
* <DrawerContainer isVisible={isOpen} makeInvisible={() => setIsOpen(false)} orientation="right">
|
|
30
|
+
* <DrawerHeader><h2>Navigation</h2></DrawerHeader>
|
|
31
|
+
* <nav>...</nav>
|
|
38
32
|
* </DrawerContainer>
|
|
39
|
-
*
|
|
40
|
-
* // Complete drawer example
|
|
41
|
-
* function DrawerExample() {
|
|
42
|
-
* const [isDrawerOpen, setIsDrawerOpen] = useState(false);
|
|
43
|
-
*
|
|
44
|
-
* return (
|
|
45
|
-
* <>
|
|
46
|
-
* <button onClick={() => setIsDrawerOpen(true)}>
|
|
47
|
-
* Open Menu
|
|
48
|
-
* </button>
|
|
49
|
-
*
|
|
50
|
-
* <DrawerContainer
|
|
51
|
-
* isVisible={isDrawerOpen}
|
|
52
|
-
* makeInvisible={setIsDrawerOpen}
|
|
53
|
-
* orientation="right"
|
|
54
|
-
* >
|
|
55
|
-
* <div className="drawer-content">
|
|
56
|
-
* <h2>Menu</h2>
|
|
57
|
-
* <ul>
|
|
58
|
-
* <li>Home</li>
|
|
59
|
-
* <li>About</li>
|
|
60
|
-
* <li>Contact</li>
|
|
61
|
-
* </ul>
|
|
62
|
-
* </div>
|
|
63
|
-
* </DrawerContainer>
|
|
64
|
-
* </>
|
|
65
|
-
* );
|
|
66
|
-
* }
|
|
67
33
|
* ```
|
|
68
34
|
*/
|
|
69
35
|
declare function DrawerContainer(props: DrawerContainerProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/drawer/drawerContainer/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,cAAc,CAAC;AAEtB,KAAK,oBAAoB,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG;IACxD,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAChC,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/drawer/drawerContainer/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,cAAc,CAAC;AAEtB,KAAK,oBAAoB,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG;IACxD,8CAA8C;IAC9C,SAAS,EAAE,OAAO,CAAC;IACnB,wEAAwE;IACxE,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAChC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,iBAAS,eAAe,CAAC,KAAK,EAAE,oBAAoB,2CA6CnD;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -3,65 +3,28 @@ import { AnimatePresence, motion } from "framer-motion";
|
|
|
3
3
|
import { useScrollLock } from "../../../hooks/useScrollLock";
|
|
4
4
|
import { DrawerProvider } from "../drawerContext";
|
|
5
5
|
import "./styles.css";
|
|
6
|
-
/**
|
|
7
|
-
* DrawerContainer
|
|
6
|
+
/**
|
|
7
|
+
* DrawerContainer — animated slide-in panel rendered over an overlay backdrop.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* @param props.makeInvisible - Callback function to hide the drawer
|
|
12
|
-
* @param props.orientation - Side from which drawer slides (left, right). Default: "left"
|
|
9
|
+
* Locks body scroll while open. Closes when the overlay is clicked.
|
|
10
|
+
* Provides context consumed by `DrawerHeader` (close button).
|
|
13
11
|
*
|
|
14
|
-
*
|
|
12
|
+
* @param props.isVisible - Whether the drawer is open. Required.
|
|
13
|
+
* @param props.makeInvisible - Called when the overlay or close button is clicked. Required.
|
|
14
|
+
* @param props.orientation - Slide direction. Default: `"left"`
|
|
15
15
|
*
|
|
16
|
-
*
|
|
16
|
+
* **...Other valid HTML `<aside>` properties**
|
|
17
|
+
*
|
|
18
|
+
* @returns DrawerContainer JSX element.
|
|
17
19
|
*
|
|
18
20
|
* @example
|
|
19
21
|
* ```tsx
|
|
20
|
-
* // Basic drawer from left
|
|
21
22
|
* const [isOpen, setIsOpen] = useState(false);
|
|
22
|
-
* <DrawerContainer
|
|
23
|
-
* isVisible={isOpen}
|
|
24
|
-
* makeInvisible={setIsOpen}
|
|
25
|
-
* >
|
|
26
|
-
* <p>Drawer content</p>
|
|
27
|
-
* </DrawerContainer>
|
|
28
23
|
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
* makeInvisible={setIsOpen}
|
|
33
|
-
* orientation="right"
|
|
34
|
-
* >
|
|
35
|
-
* <nav>Navigation items</nav>
|
|
24
|
+
* <DrawerContainer isVisible={isOpen} makeInvisible={() => setIsOpen(false)} orientation="right">
|
|
25
|
+
* <DrawerHeader><h2>Navigation</h2></DrawerHeader>
|
|
26
|
+
* <nav>...</nav>
|
|
36
27
|
* </DrawerContainer>
|
|
37
|
-
*
|
|
38
|
-
* // Complete drawer example
|
|
39
|
-
* function DrawerExample() {
|
|
40
|
-
* const [isDrawerOpen, setIsDrawerOpen] = useState(false);
|
|
41
|
-
*
|
|
42
|
-
* return (
|
|
43
|
-
* <>
|
|
44
|
-
* <button onClick={() => setIsDrawerOpen(true)}>
|
|
45
|
-
* Open Menu
|
|
46
|
-
* </button>
|
|
47
|
-
*
|
|
48
|
-
* <DrawerContainer
|
|
49
|
-
* isVisible={isDrawerOpen}
|
|
50
|
-
* makeInvisible={setIsDrawerOpen}
|
|
51
|
-
* orientation="right"
|
|
52
|
-
* >
|
|
53
|
-
* <div className="drawer-content">
|
|
54
|
-
* <h2>Menu</h2>
|
|
55
|
-
* <ul>
|
|
56
|
-
* <li>Home</li>
|
|
57
|
-
* <li>About</li>
|
|
58
|
-
* <li>Contact</li>
|
|
59
|
-
* </ul>
|
|
60
|
-
* </div>
|
|
61
|
-
* </DrawerContainer>
|
|
62
|
-
* </>
|
|
63
|
-
* );
|
|
64
|
-
* }
|
|
65
28
|
* ```
|
|
66
29
|
*/
|
|
67
30
|
function DrawerContainer(props) {
|
|
@@ -1,53 +1,29 @@
|
|
|
1
1
|
import { HTMLAttributes } from "react";
|
|
2
2
|
import "./styles.css";
|
|
3
3
|
type DrawerHeaderProps = HTMLAttributes<HTMLElement> & {
|
|
4
|
+
/** Whether to render the X close button. @default true */
|
|
4
5
|
showCloseButton?: boolean;
|
|
5
6
|
};
|
|
6
7
|
/**
|
|
7
|
-
* DrawerHeader
|
|
8
|
+
* DrawerHeader — header section for a `DrawerContainer`, with an optional close button.
|
|
8
9
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
10
|
+
* The close button calls `makeInvisible` from the nearest `DrawerContainer` context.
|
|
11
|
+
* Must be rendered inside a `DrawerContainer`.
|
|
11
12
|
*
|
|
12
|
-
*
|
|
13
|
+
* @param props.showCloseButton - Renders the X close button. Default: true
|
|
13
14
|
*
|
|
14
|
-
*
|
|
15
|
+
* **...Other valid HTML `<header>` properties**
|
|
16
|
+
*
|
|
17
|
+
* @returns DrawerHeader JSX element.
|
|
15
18
|
*
|
|
16
19
|
* @example
|
|
17
20
|
* ```tsx
|
|
18
|
-
* // Basic drawer header with close button
|
|
19
|
-
* <DrawerHeader>
|
|
20
|
-
* <h2>Menu</h2>
|
|
21
|
-
* </DrawerHeader>
|
|
22
|
-
*
|
|
23
|
-
* // Header without close button
|
|
24
|
-
* <DrawerHeader showCloseButton={false}>
|
|
25
|
-
* <h2>Settings</h2>
|
|
26
|
-
* </DrawerHeader>
|
|
27
|
-
*
|
|
28
|
-
* // Complete drawer example
|
|
29
21
|
* <DrawerContainer isVisible={isOpen} makeInvisible={() => setIsOpen(false)}>
|
|
30
22
|
* <DrawerHeader>
|
|
31
23
|
* <h2>Navigation</h2>
|
|
32
|
-
* <p>Welcome to our app</p>
|
|
33
24
|
* </DrawerHeader>
|
|
34
|
-
*
|
|
35
|
-
* <div className="drawer-content">
|
|
36
|
-
* <nav>
|
|
37
|
-
* <a href="/home">Home</a>
|
|
38
|
-
* <a href="/about">About</a>
|
|
39
|
-
* <a href="/contact">Contact</a>
|
|
40
|
-
* </nav>
|
|
41
|
-
* </div>
|
|
25
|
+
* <nav>...</nav>
|
|
42
26
|
* </DrawerContainer>
|
|
43
|
-
*
|
|
44
|
-
* // Custom styled header
|
|
45
|
-
* <DrawerHeader className="custom-header">
|
|
46
|
-
* <div className="header-content">
|
|
47
|
-
* <img src="/logo.png" alt="Logo" />
|
|
48
|
-
* <h1>My App</h1>
|
|
49
|
-
* </div>
|
|
50
|
-
* </DrawerHeader>
|
|
51
27
|
* ```
|
|
52
28
|
*/
|
|
53
29
|
declare function DrawerHeader(props: DrawerHeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/drawer/drawerHeader/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,cAAc,CAAC;AAEtB,KAAK,iBAAiB,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG;IACrD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/drawer/drawerHeader/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,cAAc,CAAC;AAEtB,KAAK,iBAAiB,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG;IACrD,0DAA0D;IAC1D,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,iBAAS,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CA2B7C;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -3,50 +3,25 @@ import { X } from "lucide-react";
|
|
|
3
3
|
import { useDrawer } from "../drawerContext";
|
|
4
4
|
import "./styles.css";
|
|
5
5
|
/**
|
|
6
|
-
* DrawerHeader
|
|
6
|
+
* DrawerHeader — header section for a `DrawerContainer`, with an optional close button.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
8
|
+
* The close button calls `makeInvisible` from the nearest `DrawerContainer` context.
|
|
9
|
+
* Must be rendered inside a `DrawerContainer`.
|
|
10
10
|
*
|
|
11
|
-
*
|
|
11
|
+
* @param props.showCloseButton - Renders the X close button. Default: true
|
|
12
12
|
*
|
|
13
|
-
*
|
|
13
|
+
* **...Other valid HTML `<header>` properties**
|
|
14
|
+
*
|
|
15
|
+
* @returns DrawerHeader JSX element.
|
|
14
16
|
*
|
|
15
17
|
* @example
|
|
16
18
|
* ```tsx
|
|
17
|
-
* // Basic drawer header with close button
|
|
18
|
-
* <DrawerHeader>
|
|
19
|
-
* <h2>Menu</h2>
|
|
20
|
-
* </DrawerHeader>
|
|
21
|
-
*
|
|
22
|
-
* // Header without close button
|
|
23
|
-
* <DrawerHeader showCloseButton={false}>
|
|
24
|
-
* <h2>Settings</h2>
|
|
25
|
-
* </DrawerHeader>
|
|
26
|
-
*
|
|
27
|
-
* // Complete drawer example
|
|
28
19
|
* <DrawerContainer isVisible={isOpen} makeInvisible={() => setIsOpen(false)}>
|
|
29
20
|
* <DrawerHeader>
|
|
30
21
|
* <h2>Navigation</h2>
|
|
31
|
-
* <p>Welcome to our app</p>
|
|
32
22
|
* </DrawerHeader>
|
|
33
|
-
*
|
|
34
|
-
* <div className="drawer-content">
|
|
35
|
-
* <nav>
|
|
36
|
-
* <a href="/home">Home</a>
|
|
37
|
-
* <a href="/about">About</a>
|
|
38
|
-
* <a href="/contact">Contact</a>
|
|
39
|
-
* </nav>
|
|
40
|
-
* </div>
|
|
23
|
+
* <nav>...</nav>
|
|
41
24
|
* </DrawerContainer>
|
|
42
|
-
*
|
|
43
|
-
* // Custom styled header
|
|
44
|
-
* <DrawerHeader className="custom-header">
|
|
45
|
-
* <div className="header-content">
|
|
46
|
-
* <img src="/logo.png" alt="Logo" />
|
|
47
|
-
* <h1>My App</h1>
|
|
48
|
-
* </div>
|
|
49
|
-
* </DrawerHeader>
|
|
50
25
|
* ```
|
|
51
26
|
*/
|
|
52
27
|
function DrawerHeader(props) {
|
|
@@ -1,18 +1,65 @@
|
|
|
1
1
|
type FacebookPixelProps = {
|
|
2
|
+
/** Facebook Pixel ID from your Ads Manager account. Required. */
|
|
2
3
|
pixelId: string;
|
|
4
|
+
/** When true, renders the pixel in development mode (bypasses the production check). @default false */
|
|
3
5
|
showInDevMode?: boolean;
|
|
6
|
+
/** Pixel initialization options. */
|
|
4
7
|
options?: {
|
|
8
|
+
/** Enables automatic configuration. @default true */
|
|
5
9
|
autoConfig?: boolean;
|
|
10
|
+
/** Enables debug logging in the browser console. @default false */
|
|
6
11
|
debug?: boolean;
|
|
7
12
|
};
|
|
13
|
+
/** When true, fires a standard `PageView` event on mount. */
|
|
8
14
|
pageView?: boolean;
|
|
15
|
+
/** When true, grants cookie/tracking consent via `fbq("consent", "grant")`. */
|
|
9
16
|
grantConsent?: boolean;
|
|
17
|
+
/** When true, revokes cookie/tracking consent via `fbq("consent", "revoke")`. */
|
|
10
18
|
revokeConsent?: boolean;
|
|
19
|
+
/** Standard event to track: `[eventName, eventData?]`. */
|
|
11
20
|
track?: [string, any?];
|
|
21
|
+
/** Custom event to track: `[eventName, eventData?]`. */
|
|
12
22
|
trackCustom?: [string, any?];
|
|
23
|
+
/** Single-pixel standard event: `[eventName, eventData?]`. */
|
|
13
24
|
trackSingle?: [string, any?];
|
|
25
|
+
/** Single-pixel custom event: `[eventName, eventData?]`. */
|
|
14
26
|
trackSingleCustom?: [string, any?];
|
|
15
27
|
};
|
|
28
|
+
/**
|
|
29
|
+
* FacebookPixel — injects the Facebook Pixel tracking script client-side.
|
|
30
|
+
*
|
|
31
|
+
* Renders nothing in development mode unless `showInDevMode` is `true`.
|
|
32
|
+
* Wrapped in `ClientOnly` to avoid SSR errors.
|
|
33
|
+
*
|
|
34
|
+
* @param props.pixelId - Facebook Pixel ID. Required.
|
|
35
|
+
* @param props.showInDevMode - Renders in development mode. Default: false
|
|
36
|
+
* @param props.pageView - Fires a `PageView` event on mount.
|
|
37
|
+
* @param props.grantConsent - Grants tracking consent.
|
|
38
|
+
* @param props.revokeConsent - Revokes tracking consent.
|
|
39
|
+
* @param props.track - Standard event to fire: `[eventName, params?]`.
|
|
40
|
+
* @param props.trackCustom - Custom event to fire: `[eventName, params?]`.
|
|
41
|
+
*
|
|
42
|
+
* @returns Empty fragment in dev mode; otherwise the pixel script component.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```tsx
|
|
46
|
+
* // Basic page view tracking in root layout
|
|
47
|
+
* <FacebookPixel pixelId="123456789012345" pageView />
|
|
48
|
+
*
|
|
49
|
+
* // With LGPD consent handling
|
|
50
|
+
* <FacebookPixel
|
|
51
|
+
* pixelId="123456789012345"
|
|
52
|
+
* pageView
|
|
53
|
+
* grantConsent={userAcceptedCookies}
|
|
54
|
+
* />
|
|
55
|
+
*
|
|
56
|
+
* // Track a purchase event
|
|
57
|
+
* <FacebookPixel
|
|
58
|
+
* pixelId="123456789012345"
|
|
59
|
+
* track={["Purchase", { value: 99.90, currency: "BRL" }]}
|
|
60
|
+
* />
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
16
63
|
declare function FacebookPixel(props: FacebookPixelProps): import("react/jsx-runtime").JSX.Element;
|
|
17
64
|
export { FacebookPixel, type FacebookPixelProps };
|
|
18
65
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/facebookPixel/index.tsx"],"names":[],"mappings":"AAGA,KAAK,kBAAkB,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;IACF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IACvB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7B,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7B,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;CACpC,CAAC;AAEF,iBAAS,aAAa,CAAC,KAAK,EAAE,kBAAkB,2CAM/C;AAED,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/facebookPixel/index.tsx"],"names":[],"mappings":"AAGA,KAAK,kBAAkB,GAAG;IACxB,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB,uGAAuG;IACvG,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oCAAoC;IACpC,OAAO,CAAC,EAAE;QACR,qDAAqD;QACrD,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,mEAAmE;QACnE,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;IACF,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+EAA+E;IAC/E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iFAAiF;IACjF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IACvB,wDAAwD;IACxD,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7B,8DAA8D;IAC9D,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7B,4DAA4D;IAC5D,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;CACpC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,iBAAS,aAAa,CAAC,KAAK,EAAE,kBAAkB,2CAM/C;AAED,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,CAAC"}
|
|
@@ -1,6 +1,41 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { ClientOnly } from "../clientOnly";
|
|
3
3
|
import { FacebookPixelClient } from "./facebookPixel.client";
|
|
4
|
+
/**
|
|
5
|
+
* FacebookPixel — injects the Facebook Pixel tracking script client-side.
|
|
6
|
+
*
|
|
7
|
+
* Renders nothing in development mode unless `showInDevMode` is `true`.
|
|
8
|
+
* Wrapped in `ClientOnly` to avoid SSR errors.
|
|
9
|
+
*
|
|
10
|
+
* @param props.pixelId - Facebook Pixel ID. Required.
|
|
11
|
+
* @param props.showInDevMode - Renders in development mode. Default: false
|
|
12
|
+
* @param props.pageView - Fires a `PageView` event on mount.
|
|
13
|
+
* @param props.grantConsent - Grants tracking consent.
|
|
14
|
+
* @param props.revokeConsent - Revokes tracking consent.
|
|
15
|
+
* @param props.track - Standard event to fire: `[eventName, params?]`.
|
|
16
|
+
* @param props.trackCustom - Custom event to fire: `[eventName, params?]`.
|
|
17
|
+
*
|
|
18
|
+
* @returns Empty fragment in dev mode; otherwise the pixel script component.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```tsx
|
|
22
|
+
* // Basic page view tracking in root layout
|
|
23
|
+
* <FacebookPixel pixelId="123456789012345" pageView />
|
|
24
|
+
*
|
|
25
|
+
* // With LGPD consent handling
|
|
26
|
+
* <FacebookPixel
|
|
27
|
+
* pixelId="123456789012345"
|
|
28
|
+
* pageView
|
|
29
|
+
* grantConsent={userAcceptedCookies}
|
|
30
|
+
* />
|
|
31
|
+
*
|
|
32
|
+
* // Track a purchase event
|
|
33
|
+
* <FacebookPixel
|
|
34
|
+
* pixelId="123456789012345"
|
|
35
|
+
* track={["Purchase", { value: 99.90, currency: "BRL" }]}
|
|
36
|
+
* />
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
4
39
|
function FacebookPixel(props) {
|
|
5
40
|
if (process.env.NODE_ENV !== "production" && !props.showInDevMode) {
|
|
6
41
|
return _jsx(_Fragment, {});
|
|
@@ -2,25 +2,18 @@ import { HTMLAttributes } from "react";
|
|
|
2
2
|
import "./styles.css";
|
|
3
3
|
type FieldErrorProps = HTMLAttributes<HTMLElement>;
|
|
4
4
|
/**
|
|
5
|
-
* FieldError
|
|
5
|
+
* FieldError — displays a validation error message below a form field.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
* Renders nothing when `children` is empty or falsy.
|
|
8
8
|
*
|
|
9
|
-
* **...Other valid HTML properties for strong
|
|
9
|
+
* **...Other valid HTML properties for `<strong>`**
|
|
10
10
|
*
|
|
11
|
-
* @returns FieldError
|
|
11
|
+
* @returns FieldError `<strong>` element, or an empty fragment when there is no message.
|
|
12
12
|
*
|
|
13
13
|
* @example
|
|
14
14
|
* ```tsx
|
|
15
|
-
* // Basic field error
|
|
16
15
|
* <FieldError>This field is required</FieldError>
|
|
17
16
|
*
|
|
18
|
-
* // Field error with custom styling
|
|
19
|
-
* <FieldError className="custom-error">
|
|
20
|
-
* Invalid email format
|
|
21
|
-
* </FieldError>
|
|
22
|
-
*
|
|
23
|
-
* // Conditional field error
|
|
24
17
|
* {error && <FieldError>{error}</FieldError>}
|
|
25
18
|
* ```
|
|
26
19
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/fieldError/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,cAAc,CAAC;AAEtB,KAAK,eAAe,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;AAEnD
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/fieldError/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,cAAc,CAAC;AAEtB,KAAK,eAAe,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;AAEnD;;;;;;;;;;;;;;;GAeG;AAEH,iBAAS,UAAU,CAAC,KAAK,EAAE,eAAe,2CAWzC;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -1,25 +1,18 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import "./styles.css";
|
|
3
3
|
/**
|
|
4
|
-
* FieldError
|
|
4
|
+
* FieldError — displays a validation error message below a form field.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
6
|
+
* Renders nothing when `children` is empty or falsy.
|
|
7
7
|
*
|
|
8
|
-
* **...Other valid HTML properties for strong
|
|
8
|
+
* **...Other valid HTML properties for `<strong>`**
|
|
9
9
|
*
|
|
10
|
-
* @returns FieldError
|
|
10
|
+
* @returns FieldError `<strong>` element, or an empty fragment when there is no message.
|
|
11
11
|
*
|
|
12
12
|
* @example
|
|
13
13
|
* ```tsx
|
|
14
|
-
* // Basic field error
|
|
15
14
|
* <FieldError>This field is required</FieldError>
|
|
16
15
|
*
|
|
17
|
-
* // Field error with custom styling
|
|
18
|
-
* <FieldError className="custom-error">
|
|
19
|
-
* Invalid email format
|
|
20
|
-
* </FieldError>
|
|
21
|
-
*
|
|
22
|
-
* // Conditional field error
|
|
23
16
|
* {error && <FieldError>{error}</FieldError>}
|
|
24
17
|
* ```
|
|
25
18
|
*/
|
|
@@ -1,36 +1,21 @@
|
|
|
1
1
|
import { LabelHTMLAttributes } from "react";
|
|
2
2
|
import "./styles.css";
|
|
3
3
|
type FieldLabelProps = LabelHTMLAttributes<HTMLLabelElement> & {
|
|
4
|
+
/** When true, appends an asterisk (*) to signal a required field. @default false */
|
|
4
5
|
showAsterisk?: boolean;
|
|
5
6
|
};
|
|
6
7
|
/**
|
|
7
|
-
* FieldLabel
|
|
8
|
+
* FieldLabel — label for form fields, with an optional required-field asterisk.
|
|
8
9
|
*
|
|
9
|
-
* @param props -
|
|
10
|
-
* @param props.showAsterisk - Whether to display an asterisk (*) to indicate required field. Default: false
|
|
10
|
+
* @param props.showAsterisk - Appends `*` to the label. Default: false
|
|
11
11
|
*
|
|
12
|
-
* **...Other valid HTML properties for label
|
|
12
|
+
* **...Other valid HTML properties for `<label>`**
|
|
13
13
|
*
|
|
14
|
-
* @returns FieldLabel JSX element
|
|
14
|
+
* @returns FieldLabel JSX element.
|
|
15
15
|
*
|
|
16
16
|
* @example
|
|
17
17
|
* ```tsx
|
|
18
|
-
*
|
|
19
|
-
* <FieldLabel htmlFor="username">Username</FieldLabel>
|
|
20
|
-
*
|
|
21
|
-
* // Required field label with asterisk
|
|
22
|
-
* <FieldLabel htmlFor="email" showAsterisk>
|
|
23
|
-
* Email Address
|
|
24
|
-
* </FieldLabel>
|
|
25
|
-
*
|
|
26
|
-
* // Label with custom styling
|
|
27
|
-
* <FieldLabel
|
|
28
|
-
* htmlFor="password"
|
|
29
|
-
* className="custom-label"
|
|
30
|
-
* showAsterisk
|
|
31
|
-
* >
|
|
32
|
-
* Password
|
|
33
|
-
* </FieldLabel>
|
|
18
|
+
* <FieldLabel htmlFor="email" showAsterisk>Email Address</FieldLabel>
|
|
34
19
|
* ```
|
|
35
20
|
*/
|
|
36
21
|
declare function FieldLabel(props: FieldLabelProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/fieldLabel/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,cAAc,CAAC;AAEtB,KAAK,eAAe,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,GAAG;IAC7D,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/fieldLabel/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,cAAc,CAAC;AAEtB,KAAK,eAAe,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,GAAG;IAC7D,oFAAoF;IACpF,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AAEH,iBAAS,UAAU,CAAC,KAAK,EAAE,eAAe,2CAWzC;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -1,33 +1,17 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import "./styles.css";
|
|
3
3
|
/**
|
|
4
|
-
* FieldLabel
|
|
4
|
+
* FieldLabel — label for form fields, with an optional required-field asterisk.
|
|
5
5
|
*
|
|
6
|
-
* @param props -
|
|
7
|
-
* @param props.showAsterisk - Whether to display an asterisk (*) to indicate required field. Default: false
|
|
6
|
+
* @param props.showAsterisk - Appends `*` to the label. Default: false
|
|
8
7
|
*
|
|
9
|
-
* **...Other valid HTML properties for label
|
|
8
|
+
* **...Other valid HTML properties for `<label>`**
|
|
10
9
|
*
|
|
11
|
-
* @returns FieldLabel JSX element
|
|
10
|
+
* @returns FieldLabel JSX element.
|
|
12
11
|
*
|
|
13
12
|
* @example
|
|
14
13
|
* ```tsx
|
|
15
|
-
*
|
|
16
|
-
* <FieldLabel htmlFor="username">Username</FieldLabel>
|
|
17
|
-
*
|
|
18
|
-
* // Required field label with asterisk
|
|
19
|
-
* <FieldLabel htmlFor="email" showAsterisk>
|
|
20
|
-
* Email Address
|
|
21
|
-
* </FieldLabel>
|
|
22
|
-
*
|
|
23
|
-
* // Label with custom styling
|
|
24
|
-
* <FieldLabel
|
|
25
|
-
* htmlFor="password"
|
|
26
|
-
* className="custom-label"
|
|
27
|
-
* showAsterisk
|
|
28
|
-
* >
|
|
29
|
-
* Password
|
|
30
|
-
* </FieldLabel>
|
|
14
|
+
* <FieldLabel htmlFor="email" showAsterisk>Email Address</FieldLabel>
|
|
31
15
|
* ```
|
|
32
16
|
*/
|
|
33
17
|
function FieldLabel(props) {
|
|
@@ -1,40 +1,30 @@
|
|
|
1
1
|
import { HTMLAttributes, ReactNode } from "react";
|
|
2
2
|
import "./styles.css";
|
|
3
3
|
type FieldWrapperProps = HTMLAttributes<HTMLElement> & {
|
|
4
|
+
/** Field elements to render inside the wrapper (label, input, error, etc.). Required. */
|
|
4
5
|
children: ReactNode;
|
|
6
|
+
/**
|
|
7
|
+
* Layout orientation of the wrapper.
|
|
8
|
+
* @default "vertical"
|
|
9
|
+
*/
|
|
5
10
|
orientation?: "vertical" | "horizontal" | "horizontalReverse";
|
|
6
11
|
};
|
|
7
12
|
/**
|
|
8
|
-
* FieldWrapper
|
|
13
|
+
* FieldWrapper — `<section>` container that groups a form field with its label and error message.
|
|
9
14
|
*
|
|
10
|
-
* @param props -
|
|
11
|
-
* @param props.
|
|
12
|
-
* @param props.orientation - Orientation of the field wrapper. Default: "vertical"
|
|
15
|
+
* @param props.children - Field elements (label, input, error, etc.).
|
|
16
|
+
* @param props.orientation - Layout direction. Default: "vertical"
|
|
13
17
|
*
|
|
14
|
-
* **...Other valid HTML properties for section
|
|
18
|
+
* **...Other valid HTML properties for `<section>`**
|
|
15
19
|
*
|
|
16
|
-
* @returns FieldWrapper JSX element
|
|
20
|
+
* @returns FieldWrapper JSX element.
|
|
17
21
|
*
|
|
18
22
|
* @example
|
|
19
23
|
* ```tsx
|
|
20
|
-
* // Basic field container
|
|
21
24
|
* <FieldWrapper>
|
|
22
|
-
* <FieldLabel>
|
|
23
|
-
* <Input name="username" />
|
|
24
|
-
* <FieldError>This field is required</FieldError>
|
|
25
|
-
* </FieldWrapper>
|
|
26
|
-
*
|
|
27
|
-
* // Field container with custom styling
|
|
28
|
-
* <FieldWrapper className="custom-spacing">
|
|
29
|
-
* <FieldLabel>Email</FieldLabel>
|
|
25
|
+
* <FieldLabel showAsterisk>Email</FieldLabel>
|
|
30
26
|
* <Input name="email" type="email" />
|
|
31
|
-
* </
|
|
32
|
-
*
|
|
33
|
-
* // Complete field with all elements
|
|
34
|
-
* <FieldWrapper>
|
|
35
|
-
* <FieldLabel showAsterisk>Password</FieldLabel>
|
|
36
|
-
* <Input name="password" type="password" />
|
|
37
|
-
* <FieldError>Password must be at least 8 characters</FieldError>
|
|
27
|
+
* <FieldError>Invalid email address</FieldError>
|
|
38
28
|
* </FieldWrapper>
|
|
39
29
|
* ```
|
|
40
30
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/fieldWrapper/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,cAAc,CAAC;AAEtB,KAAK,iBAAiB,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG;IACrD,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,GAAG,mBAAmB,CAAC;CAC/D,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/fieldWrapper/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,cAAc,CAAC;AAEtB,KAAK,iBAAiB,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG;IACrD,yFAAyF;IACzF,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,GAAG,mBAAmB,CAAC;CAC/D,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AAEH,iBAAS,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CAe7C;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
|