@arkyn/components 3.0.1-beta.142 → 3.0.1-beta.144
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.css +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 +35 -30
- 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,58 +1,50 @@
|
|
|
1
1
|
import { AudioHTMLAttributes, JSX } from "react";
|
|
2
2
|
import "./styles.css";
|
|
3
|
-
/**
|
|
4
|
-
* @typedef {Object} AudioInformationProps
|
|
5
|
-
* @property {number} currentTime - Current playback time in seconds
|
|
6
|
-
* @property {number} totalTime - Total duration of the audio in seconds
|
|
7
|
-
* @property {string} formattedCurrentTime - Formatted current time as MM:SS
|
|
8
|
-
* @property {string} formattedTotalTime - Formatted total time as MM:SS
|
|
9
|
-
*/
|
|
3
|
+
/** Audio state snapshot passed to play/pause callbacks. */
|
|
10
4
|
type AudioInformationProps = {
|
|
5
|
+
/** Current playback position in seconds. */
|
|
11
6
|
currentTime: number;
|
|
7
|
+
/** Total audio duration in seconds. */
|
|
12
8
|
totalTime: number;
|
|
9
|
+
/** Current position formatted as `MM:SS`. */
|
|
13
10
|
formattedCurrentTime: string;
|
|
11
|
+
/** Total duration formatted as `MM:SS`. */
|
|
14
12
|
formattedTotalTime: string;
|
|
15
13
|
};
|
|
16
|
-
/**
|
|
17
|
-
* @typedef {Object} AudioPlayerProps
|
|
18
|
-
* @property {string} src - Audio source URL (required)
|
|
19
|
-
* @property {boolean} [disabled] - Whether the audio player controls are disabled
|
|
20
|
-
* @property {function(AudioInformationProps): void} [onPlayAudio] - Callback fired when audio starts playing
|
|
21
|
-
* @property {function(AudioInformationProps): void} [onPauseAudio] - Callback fired when audio is paused
|
|
22
|
-
*/
|
|
23
14
|
type AudioPlayerProps = Omit<AudioHTMLAttributes<HTMLAudioElement>, "onEnded" | "src"> & {
|
|
15
|
+
/** Audio file URL. Required. */
|
|
24
16
|
src: string;
|
|
17
|
+
/** Disables the play/pause button and the progress slider. @default false */
|
|
25
18
|
disabled?: boolean;
|
|
19
|
+
/** Callback fired when playback starts. Receives the current audio state. */
|
|
26
20
|
onPlayAudio?: (props: AudioInformationProps) => void;
|
|
21
|
+
/** Callback fired when playback is paused. Receives the current audio state. */
|
|
27
22
|
onPauseAudio?: (props: AudioInformationProps) => void;
|
|
28
23
|
};
|
|
29
24
|
/**
|
|
30
|
-
* AudioPlayer
|
|
25
|
+
* AudioPlayer — play/pause controls, a scrubable progress bar, and elapsed/total time display.
|
|
31
26
|
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
27
|
+
* @param props.src - Audio file URL. Required.
|
|
28
|
+
* @param props.disabled - Disables controls. Default: false
|
|
29
|
+
* @param props.onPlayAudio - Callback fired when playback starts.
|
|
30
|
+
* @param props.onPauseAudio - Callback fired when playback is paused.
|
|
34
31
|
*
|
|
35
|
-
*
|
|
32
|
+
* **...Other valid HTML properties for `<audio>` (except `onEnded` and `src`)**
|
|
36
33
|
*
|
|
37
|
-
* @
|
|
38
|
-
*
|
|
39
|
-
* @returns {JSX.Element} The rendered audio player component
|
|
40
|
-
*
|
|
41
|
-
* @requires lucide-react - For Play and Pause icons
|
|
42
|
-
* @requires useSlider - For slider state management
|
|
43
|
-
* @requires slider - For the progress slider component
|
|
34
|
+
* @returns AudioPlayer JSX element.
|
|
44
35
|
*
|
|
45
36
|
* @example
|
|
46
|
-
*
|
|
47
|
-
*
|
|
37
|
+
* ```tsx
|
|
38
|
+
* // Basic
|
|
39
|
+
* <AudioPlayer src="/audio/episode.mp3" />
|
|
48
40
|
*
|
|
49
|
-
*
|
|
50
|
-
* // With callbacks
|
|
41
|
+
* // With play/pause callbacks
|
|
51
42
|
* <AudioPlayer
|
|
52
|
-
* src="
|
|
53
|
-
* onPlayAudio={(info) => console.log(
|
|
54
|
-
* onPauseAudio={(info) => console.log(
|
|
43
|
+
* src="/audio/episode.mp3"
|
|
44
|
+
* onPlayAudio={(info) => console.log("Playing at", info.formattedCurrentTime)}
|
|
45
|
+
* onPauseAudio={(info) => console.log("Paused at", info.formattedCurrentTime)}
|
|
55
46
|
* />
|
|
47
|
+
* ```
|
|
56
48
|
*/
|
|
57
49
|
declare function AudioPlayer(props: AudioPlayerProps): JSX.Element;
|
|
58
50
|
export { AudioPlayer };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/audioPlayer/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,GAAG,EAA+B,MAAM,OAAO,CAAC;AAI9E,OAAO,cAAc,CAAC;AAEtB
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/audioPlayer/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,GAAG,EAA+B,MAAM,OAAO,CAAC;AAI9E,OAAO,cAAc,CAAC;AAEtB,2DAA2D;AAC3D,KAAK,qBAAqB,GAAG;IAC3B,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,2CAA2C;IAC3C,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,KAAK,gBAAgB,GAAG,IAAI,CAC1B,mBAAmB,CAAC,gBAAgB,CAAC,EACrC,SAAS,GAAG,KAAK,CAClB,GAAG;IACF,gCAAgC;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACrD,gFAAgF;IAChF,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;CACvD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,iBAAS,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAoHzD;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -5,32 +5,29 @@ import { useSlider } from "../../hooks/useSlider";
|
|
|
5
5
|
import { Slider } from "../slider";
|
|
6
6
|
import "./styles.css";
|
|
7
7
|
/**
|
|
8
|
-
* AudioPlayer
|
|
8
|
+
* AudioPlayer — play/pause controls, a scrubable progress bar, and elapsed/total time display.
|
|
9
9
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
10
|
+
* @param props.src - Audio file URL. Required.
|
|
11
|
+
* @param props.disabled - Disables controls. Default: false
|
|
12
|
+
* @param props.onPlayAudio - Callback fired when playback starts.
|
|
13
|
+
* @param props.onPauseAudio - Callback fired when playback is paused.
|
|
12
14
|
*
|
|
13
|
-
*
|
|
15
|
+
* **...Other valid HTML properties for `<audio>` (except `onEnded` and `src`)**
|
|
14
16
|
*
|
|
15
|
-
* @
|
|
16
|
-
*
|
|
17
|
-
* @returns {JSX.Element} The rendered audio player component
|
|
18
|
-
*
|
|
19
|
-
* @requires lucide-react - For Play and Pause icons
|
|
20
|
-
* @requires useSlider - For slider state management
|
|
21
|
-
* @requires slider - For the progress slider component
|
|
17
|
+
* @returns AudioPlayer JSX element.
|
|
22
18
|
*
|
|
23
19
|
* @example
|
|
24
|
-
*
|
|
25
|
-
*
|
|
20
|
+
* ```tsx
|
|
21
|
+
* // Basic
|
|
22
|
+
* <AudioPlayer src="/audio/episode.mp3" />
|
|
26
23
|
*
|
|
27
|
-
*
|
|
28
|
-
* // With callbacks
|
|
24
|
+
* // With play/pause callbacks
|
|
29
25
|
* <AudioPlayer
|
|
30
|
-
* src="
|
|
31
|
-
* onPlayAudio={(info) => console.log(
|
|
32
|
-
* onPauseAudio={(info) => console.log(
|
|
26
|
+
* src="/audio/episode.mp3"
|
|
27
|
+
* onPlayAudio={(info) => console.log("Playing at", info.formattedCurrentTime)}
|
|
28
|
+
* onPauseAudio={(info) => console.log("Paused at", info.formattedCurrentTime)}
|
|
33
29
|
* />
|
|
30
|
+
* ```
|
|
34
31
|
*/
|
|
35
32
|
function AudioPlayer(props) {
|
|
36
33
|
const { onPlayAudio, onPauseAudio, disabled, style, ...rest } = props;
|
|
@@ -1,79 +1,68 @@
|
|
|
1
1
|
import "./styles.css";
|
|
2
2
|
type AudioUploadProps = {
|
|
3
|
+
/** Field name for form submission (stores the uploaded audio URL). Required. */
|
|
3
4
|
name: string;
|
|
5
|
+
/** Server endpoint URL that receives the `multipart/form-data` upload request. Required. */
|
|
4
6
|
action: string;
|
|
7
|
+
/** Form-data field name used for the file. @default "file" */
|
|
5
8
|
fileName?: string;
|
|
9
|
+
/** HTTP method for the upload request. @default "POST" */
|
|
6
10
|
method?: string;
|
|
11
|
+
/** Accepted audio MIME types or extensions (e.g. `"audio/mp3,audio/wav"`). @default "audio/*" */
|
|
7
12
|
acceptAudio?: string;
|
|
13
|
+
/** Text displayed in the drag-and-drop zone. @default "Ou arraste e solte um arquivo de áudio aqui" */
|
|
8
14
|
dropAudioText?: string;
|
|
15
|
+
/** Label for the file-picker button before a file is selected. @default "Selecionar arquivo de áudio" */
|
|
9
16
|
selectAudioButtonText?: string;
|
|
17
|
+
/** Label for the file-picker button after a file is selected. @default "Trocar arquivo de áudio" */
|
|
10
18
|
changeAudioButtonText?: string;
|
|
19
|
+
/** Callback fired after a successful upload. Receives the URL returned by the server. */
|
|
11
20
|
onChange?: (url?: string) => void;
|
|
21
|
+
/** Property name in the server response that contains the file URL. @default "url" */
|
|
12
22
|
fileResponseName?: string;
|
|
23
|
+
/** Optional label text displayed above the upload area. */
|
|
13
24
|
label?: string;
|
|
25
|
+
/** Displays an asterisk on the label to signal a required field. @default false */
|
|
14
26
|
showAsterisk?: boolean;
|
|
27
|
+
/** Disables file selection and upload. @default false */
|
|
15
28
|
disabled?: boolean;
|
|
29
|
+
/** Pre-populated audio URL (e.g. an existing recording). @default "" */
|
|
16
30
|
defaultValue?: string;
|
|
17
31
|
};
|
|
18
32
|
/**
|
|
19
|
-
* AudioUpload
|
|
33
|
+
* AudioUpload — drag-and-drop audio file uploader with server upload and playback preview.
|
|
20
34
|
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* @param props.fileName - Name of the file field in FormData. Default: "file"
|
|
25
|
-
* @param props.method - HTTP method for upload request. Default: "POST"
|
|
26
|
-
* @param props.acceptAudio - Audio file types to accept. Default: "audio/*"
|
|
27
|
-
* @param props.dropAudioText - Text displayed in drop zone. Default: "Ou arraste e solte um arquivo de áudio aqui"
|
|
28
|
-
* @param props.selectAudioButtonText - Text for file selection button. Default: "Selecionar arquivo de áudio"
|
|
29
|
-
* @param props.changeAudioButtonText - Text for change file button. Default: "Trocar arquivo de áudio"
|
|
30
|
-
* @param props.onChange - Callback function called after successful upload with the file URL
|
|
31
|
-
* @param props.fileResponseName - Name of the URL field in server response. Default: "url"
|
|
32
|
-
* @param props.label - Optional label text to display above the upload area
|
|
33
|
-
* @param props.showAsterisk - Whether to show asterisk on label for required fields. Default: false
|
|
34
|
-
* @param props.disabled - Whether the upload is disabled. Default: false
|
|
35
|
-
* @param props.defaultValue - Default audio URL value
|
|
35
|
+
* Sends the file via `fetch` as `multipart/form-data` and stores the returned URL
|
|
36
|
+
* in a hidden `<input>` for form submission.
|
|
37
|
+
* Integrates with `useForm` to display validation errors by field name.
|
|
36
38
|
*
|
|
37
|
-
* @
|
|
39
|
+
* @param props.name - Field name for form submission. Required.
|
|
40
|
+
* @param props.action - Upload endpoint URL. Required.
|
|
41
|
+
* @param props.fileName - Form-data field name for the file. Default: "file"
|
|
42
|
+
* @param props.method - HTTP method. Default: "POST"
|
|
43
|
+
* @param props.acceptAudio - Accepted MIME types / extensions. Default: "audio/*"
|
|
44
|
+
* @param props.onChange - Callback fired after a successful upload — receives the audio URL.
|
|
45
|
+
* @param props.fileResponseName - Server response property containing the URL. Default: "url"
|
|
46
|
+
* @param props.label - Label text displayed above the upload area.
|
|
47
|
+
* @param props.showAsterisk - Appends `*` to the label. Default: false
|
|
48
|
+
* @param props.disabled - Disables file selection and upload. Default: false
|
|
49
|
+
* @param props.defaultValue - Pre-populated audio URL.
|
|
50
|
+
*
|
|
51
|
+
* @returns AudioUpload JSX element wrapped in `FieldWrapper`.
|
|
38
52
|
*
|
|
39
53
|
* @example
|
|
40
54
|
* ```tsx
|
|
41
|
-
* // Basic
|
|
42
|
-
* <AudioUpload
|
|
43
|
-
* name="audio"
|
|
44
|
-
* action="/api/upload"
|
|
45
|
-
* />
|
|
55
|
+
* // Basic
|
|
56
|
+
* <AudioUpload name="audio" action="/api/upload" />
|
|
46
57
|
*
|
|
47
|
-
* //
|
|
58
|
+
* // With label and custom texts
|
|
48
59
|
* <AudioUpload
|
|
49
60
|
* name="podcast"
|
|
50
61
|
* action="/api/upload/podcast"
|
|
51
|
-
* label="
|
|
62
|
+
* label="Podcast Episode"
|
|
52
63
|
* showAsterisk
|
|
53
|
-
* selectAudioButtonText="Choose
|
|
54
|
-
*
|
|
55
|
-
* changeAudioButtonText="Change Audio"
|
|
56
|
-
* />
|
|
57
|
-
*
|
|
58
|
-
* // Audio upload with callback and custom settings
|
|
59
|
-
* <AudioUpload
|
|
60
|
-
* name="recording"
|
|
61
|
-
* action="/api/upload"
|
|
62
|
-
* label="Voice Recording"
|
|
63
|
-
* acceptAudio="audio/mp3,audio/wav"
|
|
64
|
-
* onChange={(url) => console.log('Uploaded:', url)}
|
|
65
|
-
* fileResponseName="audioUrl"
|
|
66
|
-
* fileName="recording"
|
|
67
|
-
* method="PUT"
|
|
68
|
-
* />
|
|
69
|
-
*
|
|
70
|
-
* // Disabled audio upload with default value
|
|
71
|
-
* <AudioUpload
|
|
72
|
-
* name="preview"
|
|
73
|
-
* action="/api/upload"
|
|
74
|
-
* disabled
|
|
75
|
-
* defaultValue="/path/to/audio.mp3"
|
|
76
|
-
* label="Audio Preview"
|
|
64
|
+
* selectAudioButtonText="Choose audio file"
|
|
65
|
+
* onChange={(url) => setPodcastUrl(url)}
|
|
77
66
|
* />
|
|
78
67
|
* ```
|
|
79
68
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/audioUpload/index.tsx"],"names":[],"mappings":"AASA,OAAO,cAAc,CAAC;AAEtB,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/audioUpload/index.tsx"],"names":[],"mappings":"AASA,OAAO,cAAc,CAAC;AAEtB,KAAK,gBAAgB,GAAG;IACtB,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC;IACb,4FAA4F;IAC5F,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iGAAiG;IACjG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uGAAuG;IACvG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yGAAyG;IACzG,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oGAAoG;IACpG,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,yFAAyF;IACzF,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,sFAAsF;IACtF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mFAAmF;IACnF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,iBAAS,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAyG3C;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -8,64 +8,39 @@ import { HasFileContent } from "./hasFileContent";
|
|
|
8
8
|
import { NoFileContent } from "./noFileContent";
|
|
9
9
|
import "./styles.css";
|
|
10
10
|
/**
|
|
11
|
-
* AudioUpload
|
|
11
|
+
* AudioUpload — drag-and-drop audio file uploader with server upload and playback preview.
|
|
12
12
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* @param props.fileName - Name of the file field in FormData. Default: "file"
|
|
17
|
-
* @param props.method - HTTP method for upload request. Default: "POST"
|
|
18
|
-
* @param props.acceptAudio - Audio file types to accept. Default: "audio/*"
|
|
19
|
-
* @param props.dropAudioText - Text displayed in drop zone. Default: "Ou arraste e solte um arquivo de áudio aqui"
|
|
20
|
-
* @param props.selectAudioButtonText - Text for file selection button. Default: "Selecionar arquivo de áudio"
|
|
21
|
-
* @param props.changeAudioButtonText - Text for change file button. Default: "Trocar arquivo de áudio"
|
|
22
|
-
* @param props.onChange - Callback function called after successful upload with the file URL
|
|
23
|
-
* @param props.fileResponseName - Name of the URL field in server response. Default: "url"
|
|
24
|
-
* @param props.label - Optional label text to display above the upload area
|
|
25
|
-
* @param props.showAsterisk - Whether to show asterisk on label for required fields. Default: false
|
|
26
|
-
* @param props.disabled - Whether the upload is disabled. Default: false
|
|
27
|
-
* @param props.defaultValue - Default audio URL value
|
|
13
|
+
* Sends the file via `fetch` as `multipart/form-data` and stores the returned URL
|
|
14
|
+
* in a hidden `<input>` for form submission.
|
|
15
|
+
* Integrates with `useForm` to display validation errors by field name.
|
|
28
16
|
*
|
|
29
|
-
* @
|
|
17
|
+
* @param props.name - Field name for form submission. Required.
|
|
18
|
+
* @param props.action - Upload endpoint URL. Required.
|
|
19
|
+
* @param props.fileName - Form-data field name for the file. Default: "file"
|
|
20
|
+
* @param props.method - HTTP method. Default: "POST"
|
|
21
|
+
* @param props.acceptAudio - Accepted MIME types / extensions. Default: "audio/*"
|
|
22
|
+
* @param props.onChange - Callback fired after a successful upload — receives the audio URL.
|
|
23
|
+
* @param props.fileResponseName - Server response property containing the URL. Default: "url"
|
|
24
|
+
* @param props.label - Label text displayed above the upload area.
|
|
25
|
+
* @param props.showAsterisk - Appends `*` to the label. Default: false
|
|
26
|
+
* @param props.disabled - Disables file selection and upload. Default: false
|
|
27
|
+
* @param props.defaultValue - Pre-populated audio URL.
|
|
28
|
+
*
|
|
29
|
+
* @returns AudioUpload JSX element wrapped in `FieldWrapper`.
|
|
30
30
|
*
|
|
31
31
|
* @example
|
|
32
32
|
* ```tsx
|
|
33
|
-
* // Basic
|
|
34
|
-
* <AudioUpload
|
|
35
|
-
* name="audio"
|
|
36
|
-
* action="/api/upload"
|
|
37
|
-
* />
|
|
33
|
+
* // Basic
|
|
34
|
+
* <AudioUpload name="audio" action="/api/upload" />
|
|
38
35
|
*
|
|
39
|
-
* //
|
|
36
|
+
* // With label and custom texts
|
|
40
37
|
* <AudioUpload
|
|
41
38
|
* name="podcast"
|
|
42
39
|
* action="/api/upload/podcast"
|
|
43
|
-
* label="
|
|
40
|
+
* label="Podcast Episode"
|
|
44
41
|
* showAsterisk
|
|
45
|
-
* selectAudioButtonText="Choose
|
|
46
|
-
*
|
|
47
|
-
* changeAudioButtonText="Change Audio"
|
|
48
|
-
* />
|
|
49
|
-
*
|
|
50
|
-
* // Audio upload with callback and custom settings
|
|
51
|
-
* <AudioUpload
|
|
52
|
-
* name="recording"
|
|
53
|
-
* action="/api/upload"
|
|
54
|
-
* label="Voice Recording"
|
|
55
|
-
* acceptAudio="audio/mp3,audio/wav"
|
|
56
|
-
* onChange={(url) => console.log('Uploaded:', url)}
|
|
57
|
-
* fileResponseName="audioUrl"
|
|
58
|
-
* fileName="recording"
|
|
59
|
-
* method="PUT"
|
|
60
|
-
* />
|
|
61
|
-
*
|
|
62
|
-
* // Disabled audio upload with default value
|
|
63
|
-
* <AudioUpload
|
|
64
|
-
* name="preview"
|
|
65
|
-
* action="/api/upload"
|
|
66
|
-
* disabled
|
|
67
|
-
* defaultValue="/path/to/audio.mp3"
|
|
68
|
-
* label="Audio Preview"
|
|
42
|
+
* selectAudioButtonText="Choose audio file"
|
|
43
|
+
* onChange={(url) => setPodcastUrl(url)}
|
|
69
44
|
* />
|
|
70
45
|
* ```
|
|
71
46
|
*/
|
|
@@ -2,47 +2,56 @@ import { LucideIcon } from "lucide-react";
|
|
|
2
2
|
import { HTMLAttributes } from "react";
|
|
3
3
|
import "./styles.css";
|
|
4
4
|
type BadgeProps = HTMLAttributes<HTMLDivElement> & {
|
|
5
|
+
/**
|
|
6
|
+
* Badge size.
|
|
7
|
+
* @default "lg"
|
|
8
|
+
*/
|
|
5
9
|
size?: "md" | "lg";
|
|
10
|
+
/**
|
|
11
|
+
* Visual style variant.
|
|
12
|
+
* - `solid`: filled background.
|
|
13
|
+
* - `outline`: bordered, transparent background.
|
|
14
|
+
* - `ghost`: no border, subtle background on hover.
|
|
15
|
+
* @default "ghost"
|
|
16
|
+
*/
|
|
6
17
|
variant?: "solid" | "outline" | "ghost";
|
|
18
|
+
/**
|
|
19
|
+
* Color scheme applied to the badge.
|
|
20
|
+
* @default "primary"
|
|
21
|
+
*/
|
|
7
22
|
scheme?: "primary" | "secondary" | "success" | "warning" | "danger" | "info";
|
|
23
|
+
/** Lucide icon rendered to the left of the label. */
|
|
8
24
|
leftIcon?: LucideIcon;
|
|
25
|
+
/** Lucide icon rendered to the right of the label. */
|
|
9
26
|
rightIcon?: LucideIcon;
|
|
10
27
|
};
|
|
11
28
|
/**
|
|
12
|
-
* Badge
|
|
29
|
+
* Badge — displays labels, statuses, and categorization tags.
|
|
13
30
|
*
|
|
14
|
-
* @param props - Badge
|
|
15
|
-
* @param props.
|
|
16
|
-
* @param props.
|
|
17
|
-
* @param props.
|
|
18
|
-
* @param props.
|
|
19
|
-
* @param props.rightIcon - Optional icon to display on the right
|
|
31
|
+
* @param props.size - Badge size (`md` | `lg`). Default: "lg"
|
|
32
|
+
* @param props.variant - Visual style variant. Default: "ghost"
|
|
33
|
+
* @param props.scheme - Color scheme. Default: "primary"
|
|
34
|
+
* @param props.leftIcon - Lucide icon rendered to the left of the label.
|
|
35
|
+
* @param props.rightIcon - Lucide icon rendered to the right of the label.
|
|
20
36
|
*
|
|
21
|
-
* **...Other valid HTML properties for div
|
|
37
|
+
* **...Other valid HTML properties for `<div>`**
|
|
22
38
|
*
|
|
23
|
-
* @returns Badge JSX element
|
|
39
|
+
* @returns Badge JSX element.
|
|
24
40
|
*
|
|
25
41
|
* @example
|
|
26
42
|
* ```tsx
|
|
27
43
|
* // Basic badge
|
|
28
44
|
* <Badge>New</Badge>
|
|
29
45
|
*
|
|
30
|
-
* //
|
|
46
|
+
* // With color scheme
|
|
31
47
|
* <Badge scheme="success">Approved</Badge>
|
|
32
48
|
*
|
|
33
|
-
* //
|
|
34
|
-
* <Badge leftIcon={CheckIcon} scheme="success">
|
|
35
|
-
* Completed
|
|
36
|
-
* </Badge>
|
|
49
|
+
* // With icon
|
|
50
|
+
* <Badge leftIcon={CheckIcon} scheme="success">Completed</Badge>
|
|
37
51
|
*
|
|
38
|
-
* // Custom
|
|
39
|
-
* <Badge
|
|
40
|
-
*
|
|
41
|
-
* variant="solid"
|
|
42
|
-
* scheme="warning"
|
|
43
|
-
* rightIcon={AlertIcon}
|
|
44
|
-
* >
|
|
45
|
-
* Warning
|
|
52
|
+
* // Custom size, variant and scheme
|
|
53
|
+
* <Badge size="lg" variant="solid" scheme="warning" rightIcon={AlertIcon}>
|
|
54
|
+
* Warning
|
|
46
55
|
* </Badge>
|
|
47
56
|
* ```
|
|
48
57
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/badge/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,cAAc,CAAC;AAEtB,KAAK,UAAU,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IACjD,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;IACxC,MAAM,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC7E,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,SAAS,CAAC,EAAE,UAAU,CAAC;CACxB,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/badge/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,cAAc,CAAC;AAEtB,KAAK,UAAU,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IACjD;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;IACxC;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC7E,qDAAqD;IACrD,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,sDAAsD;IACtD,SAAS,CAAC,EAAE,UAAU,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,iBAAS,KAAK,CAAC,KAAK,EAAE,UAAU,2CAwB/B;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -2,40 +2,32 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { IconRenderer } from "../../services/iconRenderer";
|
|
3
3
|
import "./styles.css";
|
|
4
4
|
/**
|
|
5
|
-
* Badge
|
|
5
|
+
* Badge — displays labels, statuses, and categorization tags.
|
|
6
6
|
*
|
|
7
|
-
* @param props - Badge
|
|
8
|
-
* @param props.
|
|
9
|
-
* @param props.
|
|
10
|
-
* @param props.
|
|
11
|
-
* @param props.
|
|
12
|
-
* @param props.rightIcon - Optional icon to display on the right
|
|
7
|
+
* @param props.size - Badge size (`md` | `lg`). Default: "lg"
|
|
8
|
+
* @param props.variant - Visual style variant. Default: "ghost"
|
|
9
|
+
* @param props.scheme - Color scheme. Default: "primary"
|
|
10
|
+
* @param props.leftIcon - Lucide icon rendered to the left of the label.
|
|
11
|
+
* @param props.rightIcon - Lucide icon rendered to the right of the label.
|
|
13
12
|
*
|
|
14
|
-
* **...Other valid HTML properties for div
|
|
13
|
+
* **...Other valid HTML properties for `<div>`**
|
|
15
14
|
*
|
|
16
|
-
* @returns Badge JSX element
|
|
15
|
+
* @returns Badge JSX element.
|
|
17
16
|
*
|
|
18
17
|
* @example
|
|
19
18
|
* ```tsx
|
|
20
19
|
* // Basic badge
|
|
21
20
|
* <Badge>New</Badge>
|
|
22
21
|
*
|
|
23
|
-
* //
|
|
22
|
+
* // With color scheme
|
|
24
23
|
* <Badge scheme="success">Approved</Badge>
|
|
25
24
|
*
|
|
26
|
-
* //
|
|
27
|
-
* <Badge leftIcon={CheckIcon} scheme="success">
|
|
28
|
-
* Completed
|
|
29
|
-
* </Badge>
|
|
25
|
+
* // With icon
|
|
26
|
+
* <Badge leftIcon={CheckIcon} scheme="success">Completed</Badge>
|
|
30
27
|
*
|
|
31
|
-
* // Custom
|
|
32
|
-
* <Badge
|
|
33
|
-
*
|
|
34
|
-
* variant="solid"
|
|
35
|
-
* scheme="warning"
|
|
36
|
-
* rightIcon={AlertIcon}
|
|
37
|
-
* >
|
|
38
|
-
* Warning
|
|
28
|
+
* // Custom size, variant and scheme
|
|
29
|
+
* <Badge size="lg" variant="solid" scheme="warning" rightIcon={AlertIcon}>
|
|
30
|
+
* Warning
|
|
39
31
|
* </Badge>
|
|
40
32
|
* ```
|
|
41
33
|
*/
|
|
@@ -2,56 +2,66 @@ import { LucideIcon } from "lucide-react";
|
|
|
2
2
|
import { ButtonHTMLAttributes } from "react";
|
|
3
3
|
import "./styles.css";
|
|
4
4
|
type ButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
5
|
+
/** Shows a spinner and disables the button during async operations. @default false */
|
|
5
6
|
isLoading?: boolean;
|
|
7
|
+
/** Text displayed beside the spinner when `isLoading` is true. */
|
|
6
8
|
loadingText?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Button size.
|
|
11
|
+
* @default "md"
|
|
12
|
+
*/
|
|
7
13
|
size?: "xs" | "sm" | "md" | "lg";
|
|
14
|
+
/**
|
|
15
|
+
* Visual style variant.
|
|
16
|
+
* - `solid`: filled background.
|
|
17
|
+
* - `outline`: bordered, transparent background.
|
|
18
|
+
* - `ghost`: no border, subtle hover.
|
|
19
|
+
* - `invisible`: no visual styling.
|
|
20
|
+
* @default "solid"
|
|
21
|
+
*/
|
|
8
22
|
variant?: "solid" | "outline" | "ghost" | "invisible";
|
|
23
|
+
/**
|
|
24
|
+
* Color scheme applied to the button.
|
|
25
|
+
* @default "primary"
|
|
26
|
+
*/
|
|
9
27
|
scheme?: "primary" | "success" | "warning" | "danger" | "info";
|
|
28
|
+
/** Lucide icon rendered to the left of the label. */
|
|
10
29
|
leftIcon?: LucideIcon;
|
|
30
|
+
/** Lucide icon rendered to the right of the label. */
|
|
11
31
|
rightIcon?: LucideIcon;
|
|
12
32
|
};
|
|
13
33
|
/**
|
|
14
|
-
* Button
|
|
34
|
+
* Button — used for user interactions and form submissions.
|
|
15
35
|
*
|
|
16
|
-
* @param props -
|
|
17
|
-
* @param props.
|
|
18
|
-
* @param props.
|
|
19
|
-
* @param props.
|
|
20
|
-
* @param props.
|
|
21
|
-
* @param props.
|
|
22
|
-
* @param props.
|
|
23
|
-
* @param props.rightIcon - Optional icon to display on the right
|
|
36
|
+
* @param props.isLoading - Shows a spinner and disables the button. Default: false
|
|
37
|
+
* @param props.loadingText - Text displayed beside the spinner when loading.
|
|
38
|
+
* @param props.size - Button size (`xs` | `sm` | `md` | `lg`). Default: "md"
|
|
39
|
+
* @param props.variant - Visual style variant. Default: "solid"
|
|
40
|
+
* @param props.scheme - Color scheme. Default: "primary"
|
|
41
|
+
* @param props.leftIcon - Lucide icon rendered to the left of the label.
|
|
42
|
+
* @param props.rightIcon - Lucide icon rendered to the right of the label.
|
|
24
43
|
*
|
|
25
|
-
* **...Other valid HTML properties for button
|
|
44
|
+
* **...Other valid HTML properties for `<button>`**
|
|
26
45
|
*
|
|
27
|
-
* @returns Button JSX element
|
|
46
|
+
* @returns Button JSX element.
|
|
28
47
|
*
|
|
29
48
|
* @example
|
|
30
49
|
* ```tsx
|
|
31
50
|
* // Basic button
|
|
32
51
|
* <Button>Click me</Button>
|
|
33
52
|
*
|
|
34
|
-
* //
|
|
53
|
+
* // With color scheme
|
|
35
54
|
* <Button scheme="success">Save</Button>
|
|
36
55
|
*
|
|
37
|
-
* //
|
|
38
|
-
* <Button isLoading loadingText="Saving...">
|
|
39
|
-
* Save
|
|
40
|
-
* </Button>
|
|
56
|
+
* // With loading state
|
|
57
|
+
* <Button isLoading loadingText="Saving...">Save</Button>
|
|
41
58
|
*
|
|
42
|
-
* //
|
|
43
|
-
* <Button leftIcon={SaveIcon} scheme="success">
|
|
44
|
-
* Save
|
|
45
|
-
* </Button>
|
|
59
|
+
* // With icons
|
|
60
|
+
* <Button leftIcon={SaveIcon} scheme="success">Save</Button>
|
|
46
61
|
*
|
|
47
|
-
* // Custom
|
|
48
|
-
* <Button
|
|
49
|
-
*
|
|
50
|
-
* variant="outline"
|
|
51
|
-
* scheme="danger"
|
|
52
|
-
* rightIcon={TrashIcon}
|
|
53
|
-
* >
|
|
54
|
-
* Delete
|
|
62
|
+
* // Custom size, variant and scheme
|
|
63
|
+
* <Button size="lg" variant="outline" scheme="danger" rightIcon={TrashIcon}>
|
|
64
|
+
* Delete
|
|
55
65
|
* </Button>
|
|
56
66
|
* ```
|
|
57
67
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/button/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,UAAU,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAG7C,OAAO,cAAc,CAAC;AAEtB,KAAK,WAAW,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,GAAG;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;IACtD,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/D,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,SAAS,CAAC,EAAE,UAAU,CAAC;CACxB,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/button/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,UAAU,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAG7C,OAAO,cAAc,CAAC;AAEtB,KAAK,WAAW,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,GAAG;IAC3D,sFAAsF;IACtF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;IACtD;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/D,qDAAqD;IACrD,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,sDAAsD;IACtD,SAAS,CAAC,EAAE,UAAU,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,iBAAS,MAAM,CAAC,KAAK,EAAE,WAAW,2CAuCjC;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
|