@alveole/components 0.42.2 → 0.43.0

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.
Files changed (75) hide show
  1. package/dist/core/Form/Form.d.ts +7 -0
  2. package/dist/core/Form/Form.d.ts.map +1 -0
  3. package/dist/core/Form/Form.js +30 -0
  4. package/dist/core/Form/Form.stories.d.ts +21 -0
  5. package/dist/core/Form/Form.stories.d.ts.map +1 -0
  6. package/dist/core/Form/Form.stories.js +18 -0
  7. package/dist/core/Form/Form.stories.sources.d.ts +8 -0
  8. package/dist/core/Form/Form.stories.sources.d.ts.map +1 -0
  9. package/dist/core/Form/Form.stories.sources.js +8 -0
  10. package/dist/core/Form/Form.styles.d.ts +10 -0
  11. package/dist/core/Form/Form.styles.d.ts.map +1 -0
  12. package/dist/core/Form/Form.styles.js +10 -0
  13. package/dist/core/Form/Form.web.d.ts +4 -0
  14. package/dist/core/Form/Form.web.d.ts.map +1 -0
  15. package/dist/core/Form/Form.web.js +18 -0
  16. package/dist/core/Form/index.d.ts +2 -0
  17. package/dist/core/Form/index.d.ts.map +1 -0
  18. package/dist/core/Form/index.js +1 -0
  19. package/dist/core/index.d.ts +1 -0
  20. package/dist/core/index.d.ts.map +1 -1
  21. package/dist/core/index.js +1 -0
  22. package/dist/generated/version.d.ts +1 -1
  23. package/dist/generated/version.js +1 -1
  24. package/dist/stories/index.d.ts +2 -0
  25. package/dist/stories/index.d.ts.map +1 -1
  26. package/dist/stories/index.js +2 -0
  27. package/dist/ui/FormControl/FormControl.d.ts +12 -0
  28. package/dist/ui/FormControl/FormControl.d.ts.map +1 -0
  29. package/dist/ui/FormControl/FormControl.js +9 -0
  30. package/dist/ui/FormControl/FormControl.stories.d.ts +225 -0
  31. package/dist/ui/FormControl/FormControl.stories.d.ts.map +1 -0
  32. package/dist/ui/FormControl/FormControl.stories.js +57 -0
  33. package/dist/ui/FormControl/FormControl.stories.sources.d.ts +30 -0
  34. package/dist/ui/FormControl/FormControl.stories.sources.d.ts.map +1 -0
  35. package/dist/ui/FormControl/FormControl.stories.sources.js +30 -0
  36. package/dist/ui/FormControl/FormControl.styles.d.ts +199 -0
  37. package/dist/ui/FormControl/FormControl.styles.d.ts.map +1 -0
  38. package/dist/ui/FormControl/FormControl.styles.js +185 -0
  39. package/dist/ui/FormControl/FormControlCaption.d.ts +6 -0
  40. package/dist/ui/FormControl/FormControlCaption.d.ts.map +1 -0
  41. package/dist/ui/FormControl/FormControlCaption.js +10 -0
  42. package/dist/ui/FormControl/FormControlDateInput.d.ts +11 -0
  43. package/dist/ui/FormControl/FormControlDateInput.d.ts.map +1 -0
  44. package/dist/ui/FormControl/FormControlDateInput.js +46 -0
  45. package/dist/ui/FormControl/FormControlFileInput.d.ts +20 -0
  46. package/dist/ui/FormControl/FormControlFileInput.d.ts.map +1 -0
  47. package/dist/ui/FormControl/FormControlFileInput.js +54 -0
  48. package/dist/ui/FormControl/FormControlFileInput.styles.d.ts +45 -0
  49. package/dist/ui/FormControl/FormControlFileInput.styles.d.ts.map +1 -0
  50. package/dist/ui/FormControl/FormControlFileInput.styles.js +37 -0
  51. package/dist/ui/FormControl/FormControlHint.d.ts +6 -0
  52. package/dist/ui/FormControl/FormControlHint.d.ts.map +1 -0
  53. package/dist/ui/FormControl/FormControlHint.js +8 -0
  54. package/dist/ui/FormControl/FormControlLabel.d.ts +8 -0
  55. package/dist/ui/FormControl/FormControlLabel.d.ts.map +1 -0
  56. package/dist/ui/FormControl/FormControlLabel.js +13 -0
  57. package/dist/ui/FormControl/FormControlModal.d.ts +12 -0
  58. package/dist/ui/FormControl/FormControlModal.d.ts.map +1 -0
  59. package/dist/ui/FormControl/FormControlModal.js +12 -0
  60. package/dist/ui/FormControl/FormControlNumberInput.d.ts +17 -0
  61. package/dist/ui/FormControl/FormControlNumberInput.d.ts.map +1 -0
  62. package/dist/ui/FormControl/FormControlNumberInput.js +22 -0
  63. package/dist/ui/FormControl/FormControlOtpInput.d.ts +10 -0
  64. package/dist/ui/FormControl/FormControlOtpInput.d.ts.map +1 -0
  65. package/dist/ui/FormControl/FormControlOtpInput.js +8 -0
  66. package/dist/ui/FormControl/TextInput.d.ts +20 -0
  67. package/dist/ui/FormControl/TextInput.d.ts.map +1 -0
  68. package/dist/ui/FormControl/TextInput.js +118 -0
  69. package/dist/ui/FormControl/index.d.ts +11 -0
  70. package/dist/ui/FormControl/index.d.ts.map +1 -0
  71. package/dist/ui/FormControl/index.js +10 -0
  72. package/dist/ui/index.d.ts +1 -0
  73. package/dist/ui/index.d.ts.map +1 -1
  74. package/dist/ui/index.js +1 -0
  75. package/package.json +5 -1
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { BoxProps } from '../Box';
3
+ export type FormProps = BoxProps & {
4
+ disabledKeyboardOverflow?: boolean;
5
+ };
6
+ export declare const Form: (props: FormProps) => React.JSX.Element;
7
+ //# sourceMappingURL=Form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../../../src/core/Form/Form.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAO,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAGvC,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG;IACjC,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,IAAI,GAAI,OAAO,SAAS,sBAyCpC,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { Keyboard, Platform, TouchableWithoutFeedback } from 'react-native';
4
+ import { Box } from '../Box';
5
+ import { useStyles } from './Form.styles';
6
+ export const Form = (props) => {
7
+ const { style, disabledKeyboardOverflow, ...formProps } = props;
8
+ const styles = useStyles();
9
+ const [isKeyboardVisible, setKeyboardVisible] = React.useState(false);
10
+ React.useEffect(() => {
11
+ const showSubscription = Keyboard.addListener('keyboardDidShow', () => setKeyboardVisible(true));
12
+ const hideSubscription = Keyboard.addListener(Platform.OS === 'ios' ? 'keyboardWillHide' : 'keyboardDidHide', () => setKeyboardVisible(false));
13
+ return () => {
14
+ showSubscription.remove();
15
+ hideSubscription.remove();
16
+ };
17
+ }, []);
18
+ const shouldHandleDismiss = isKeyboardVisible && !disabledKeyboardOverflow;
19
+ return (_jsx(TouchableWithoutFeedback, { onPress: shouldHandleDismiss ? Keyboard.dismiss : undefined, disabled: !shouldHandleDismiss, children: _jsx(Box, { tag: "form", style: [
20
+ {
21
+ ...styles.form,
22
+ ...(Platform.OS === 'ios' && isKeyboardVisible && !disabledKeyboardOverflow
23
+ ? styles.iosPaddingKeyboard
24
+ : Platform.OS === 'android' && isKeyboardVisible && !disabledKeyboardOverflow
25
+ ? styles.androidPaddingKeyboard
26
+ : {}),
27
+ },
28
+ style,
29
+ ], ...formProps }) }));
30
+ };
@@ -0,0 +1,21 @@
1
+ declare const _default: {
2
+ title: string;
3
+ tags: "Core"[];
4
+ experimental: false;
5
+ description: string;
6
+ component: (props: import("./Form").FormProps) => import("react").JSX.Element;
7
+ styleFn: () => {
8
+ form: {};
9
+ iosPaddingKeyboard: {
10
+ paddingBottom: number;
11
+ };
12
+ androidPaddingKeyboard: {
13
+ paddingBottom: number;
14
+ };
15
+ };
16
+ };
17
+ export default _default;
18
+ export declare const WithKeyboardAware: () => import("react").JSX.Element;
19
+ export declare const DisabledOverflow: () => import("react").JSX.Element;
20
+ export * as Sources from './Form.stories.sources';
21
+ //# sourceMappingURL=Form.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Form.stories.d.ts","sourceRoot":"","sources":["../../../src/core/Form/Form.stories.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAOA,wBAQkB;AAIlB,eAAO,MAAM,iBAAiB,mCAQ7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,mCAY5B,CAAC;AAEF,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { KeyboardAvoidingView, Platform, TextInput as RNTextInput } from 'react-native';
3
+ import { Box } from '../Box';
4
+ import { Typography } from '../Typography';
5
+ import { Form } from './Form';
6
+ import { useStyles } from './Form.styles';
7
+ export default {
8
+ title: 'Form',
9
+ tags: ['Core'],
10
+ experimental: false,
11
+ description: "Empêche le clavier de cacher les TextInput sur iOS et permet de quitter le clavier au clique sur l'écran. Doit être utilisé pour contenir tous les fomulaires (pas de <form> en React Native).",
12
+ component: Form,
13
+ styleFn: useStyles,
14
+ };
15
+ const inputStyle = { borderWidth: 1, borderColor: '#ccc', borderRadius: 4, padding: 8 };
16
+ export const WithKeyboardAware = () => (_jsx(Form, { children: _jsxs(Box, { display: "flex", flexDirection: "column", gap: 12, children: [_jsx(Typography, { children: "Taper dans le champ \u2014 cliquer en dehors ferme le clavier." }), _jsx(RNTextInput, { placeholder: "Pr\u00E9nom", style: inputStyle }), _jsx(RNTextInput, { placeholder: "Email", keyboardType: "email-address", style: inputStyle })] }) }));
17
+ export const DisabledOverflow = () => (_jsx(KeyboardAvoidingView, { behavior: Platform.OS === 'ios' ? 'padding' : 'height', children: _jsx(Form, { disabledKeyboardOverflow: true, children: _jsxs(Box, { display: "flex", flexDirection: "column", gap: 12, children: [_jsx(Typography, { children: "disabledKeyboardOverflow \u2014 clavier g\u00E9r\u00E9 par KeyboardAvoidingView. Form ne rajoute pas de padding et ne ferme pas le clavier au tap." }), _jsx(RNTextInput, { placeholder: "Champ texte", style: inputStyle })] }) }) }));
18
+ export * as Sources from './Form.stories.sources';
@@ -0,0 +1,8 @@
1
+ export declare const WithKeyboardAware: () => string;
2
+ export declare const DisabledOverflow: () => string;
3
+ export declare const storySources: {
4
+ readonly WithKeyboardAware: () => string;
5
+ readonly DisabledOverflow: () => string;
6
+ };
7
+ export type StorySourceName = keyof typeof storySources;
8
+ //# sourceMappingURL=Form.stories.sources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Form.stories.sources.d.ts","sourceRoot":"","sources":["../../../src/core/Form/Form.stories.sources.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,iBAAiB,cAAgZ,CAAC;AAE/a,eAAO,MAAM,gBAAgB,cAAkjB,CAAC;AAEhlB,eAAO,MAAM,YAAY;;;CAGf,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,YAAY,CAAC"}
@@ -0,0 +1,8 @@
1
+ // This file is generated. Do not edit manually.
2
+ // Source: src/core/Form/Form.stories.tsx
3
+ export const WithKeyboardAware = () => "export const WithKeyboardAware = () => (\n <Form>\n <Box display=\"flex\" flexDirection=\"column\" gap={12}>\n <Typography>Taper dans le champ — cliquer en dehors ferme le clavier.</Typography>\n <RNTextInput placeholder=\"Prénom\" style={inputStyle} />\n <RNTextInput placeholder=\"Email\" keyboardType=\"email-address\" style={inputStyle} />\n </Box>\n </Form>\n);";
4
+ export const DisabledOverflow = () => "export const DisabledOverflow = () => (\n <KeyboardAvoidingView behavior={Platform.OS === 'ios' ? 'padding' : 'height'}>\n <Form disabledKeyboardOverflow>\n <Box display=\"flex\" flexDirection=\"column\" gap={12}>\n <Typography>\n disabledKeyboardOverflow — clavier géré par KeyboardAvoidingView. Form ne rajoute pas de padding et ne ferme\n pas le clavier au tap.\n </Typography>\n <RNTextInput placeholder=\"Champ texte\" style={inputStyle} />\n </Box>\n </Form>\n </KeyboardAvoidingView>\n);";
5
+ export const storySources = {
6
+ WithKeyboardAware,
7
+ DisabledOverflow,
8
+ };
@@ -0,0 +1,10 @@
1
+ export declare const useStyles: () => {
2
+ form: {};
3
+ iosPaddingKeyboard: {
4
+ paddingBottom: number;
5
+ };
6
+ androidPaddingKeyboard: {
7
+ paddingBottom: number;
8
+ };
9
+ };
10
+ //# sourceMappingURL=Form.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Form.styles.d.ts","sourceRoot":"","sources":["../../../src/core/Form/Form.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS;;;;;;;;CAQnB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { makeStyles } from '@alveole/theme';
2
+ export const useStyles = makeStyles(() => ({
3
+ form: {},
4
+ iosPaddingKeyboard: {
5
+ paddingBottom: 200,
6
+ },
7
+ androidPaddingKeyboard: {
8
+ paddingBottom: 250,
9
+ },
10
+ }));
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { FormProps } from './Form';
3
+ export declare const Form: (props: FormProps) => React.JSX.Element;
4
+ //# sourceMappingURL=Form.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Form.web.d.ts","sourceRoot":"","sources":["../../../src/core/Form/Form.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAEtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGxC,eAAO,MAAM,IAAI,GAAI,OAAO,SAAS,sBAcpC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useRef } from 'react';
3
+ import { Box } from '../Box';
4
+ import { useStyles } from './Form.styles';
5
+ export const Form = (props) => {
6
+ const { style, ...formProps } = props;
7
+ const styles = useStyles();
8
+ const formRef = useRef(null);
9
+ const webFormProps = {
10
+ onSubmit: (e) => {
11
+ e.preventDefault();
12
+ const button = formRef.current?.querySelector('button[role="button"][aria-selected="true"]');
13
+ if (button instanceof HTMLElement)
14
+ button.click();
15
+ },
16
+ };
17
+ return _jsx(Box, { ref: formRef, tag: "form", style: [styles.form, style], ...formProps, ...webFormProps });
18
+ };
@@ -0,0 +1,2 @@
1
+ export * from './Form';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/Form/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './Form';
@@ -1,6 +1,7 @@
1
1
  export * from './A';
2
2
  export * from './AnchorHeading';
3
3
  export * from './Box';
4
+ export * from './Form';
4
5
  export * from './Highlight';
5
6
  export * from './Image';
6
7
  export * from './Lottie';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,KAAK,CAAC;AACpB,cAAc,iBAAiB,CAAC;AAChC,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,KAAK,CAAC;AACpB,cAAc,iBAAiB,CAAC;AAChC,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}
@@ -1,6 +1,7 @@
1
1
  export * from './A';
2
2
  export * from './AnchorHeading';
3
3
  export * from './Box';
4
+ export * from './Form';
4
5
  export * from './Highlight';
5
6
  export * from './Image';
6
7
  export * from './Lottie';
@@ -1,2 +1,2 @@
1
- export declare const ALVEOLE_COMPONENTS_VERSION: "0.42.2";
1
+ export declare const ALVEOLE_COMPONENTS_VERSION: "0.43.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- export const ALVEOLE_COMPONENTS_VERSION = "0.42.2";
1
+ export const ALVEOLE_COMPONENTS_VERSION = "0.43.0";
@@ -11,6 +11,7 @@ export * as PdfViewerStory from '../core/PdfViewer/PdfViewer.stories';
11
11
  export * as SectionStory from '../core/Section/Section.stories';
12
12
  export * as TypographyStory from '../core/Typography/Typography.stories';
13
13
  export * as VersionStory from '../core/Version/Version.stories';
14
+ export * as FormStory from '../core/Form/Form.stories';
14
15
  export * as ActionMenuStory from '../ui/ActionMenu/ActionMenu.stories';
15
16
  export * as AvatarStory from '../ui/Avatar/Avatar.stories';
16
17
  export * as BadgeStory from '../ui/Badge/Badge.stories';
@@ -20,6 +21,7 @@ export * as CardStory from '../ui/Card/Card.stories';
20
21
  export * as DividerStory from '../ui/Divider/Divider.stories';
21
22
  export * as DocumentViewerStory from '../ui/DocumentViewer/DocumentViewer.stories';
22
23
  export * as EmptyStateStory from '../ui/EmptyState/EmptyState.stories';
24
+ export * as FormControlStory from '../ui/FormControl/FormControl.stories';
23
25
  export * as HeaderStory from '../ui/Header/Header.stories';
24
26
  export * as ListItemStory from '../ui/ListItem/ListItem.stories';
25
27
  export * as LucideIconStory from '../ui/LucideIcon/LucideIcon.stories';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stories/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAC9C,OAAO,KAAK,kBAAkB,MAAM,6CAA6C,CAAC;AAClF,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,SAAS,MAAM,qCAAqC,CAAC;AACjE,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAC;AAC7D,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,aAAa,MAAM,mCAAmC,CAAC;AACnE,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,cAAc,MAAM,qCAAqC,CAAC;AACtE,OAAO,KAAK,YAAY,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,eAAe,MAAM,uCAAuC,CAAC;AACzE,OAAO,KAAK,YAAY,MAAM,iCAAiC,CAAC;AAGhE,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,WAAW,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,UAAU,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,gBAAgB,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,WAAW,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,YAAY,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,mBAAmB,MAAM,6CAA6C,CAAC;AACnF,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,WAAW,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,aAAa,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,YAAY,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,gBAAgB,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,iBAAiB,MAAM,yCAAyC,CAAC;AAC7E,OAAO,KAAK,YAAY,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,cAAc,MAAM,mCAAmC,CAAC;AACpE,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,UAAU,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,qBAAqB,MAAM,iDAAiD,CAAC;AACzF,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stories/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAC9C,OAAO,KAAK,kBAAkB,MAAM,6CAA6C,CAAC;AAClF,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,SAAS,MAAM,qCAAqC,CAAC;AACjE,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAC;AAC7D,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,aAAa,MAAM,mCAAmC,CAAC;AACnE,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,cAAc,MAAM,qCAAqC,CAAC;AACtE,OAAO,KAAK,YAAY,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,eAAe,MAAM,uCAAuC,CAAC;AACzE,OAAO,KAAK,YAAY,MAAM,iCAAiC,CAAC;AAGhE,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,WAAW,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,UAAU,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,gBAAgB,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,WAAW,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,YAAY,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,mBAAmB,MAAM,6CAA6C,CAAC;AACnF,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,gBAAgB,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,WAAW,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,aAAa,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,YAAY,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,gBAAgB,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,iBAAiB,MAAM,yCAAyC,CAAC;AAC7E,OAAO,KAAK,YAAY,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,cAAc,MAAM,mCAAmC,CAAC;AACpE,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,UAAU,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,qBAAqB,MAAM,iDAAiD,CAAC;AACzF,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC"}
@@ -13,6 +13,7 @@ export * as SectionStory from '../core/Section/Section.stories';
13
13
  export * as TypographyStory from '../core/Typography/Typography.stories';
14
14
  export * as VersionStory from '../core/Version/Version.stories';
15
15
  // UI
16
+ export * as FormStory from '../core/Form/Form.stories';
16
17
  export * as ActionMenuStory from '../ui/ActionMenu/ActionMenu.stories';
17
18
  export * as AvatarStory from '../ui/Avatar/Avatar.stories';
18
19
  export * as BadgeStory from '../ui/Badge/Badge.stories';
@@ -22,6 +23,7 @@ export * as CardStory from '../ui/Card/Card.stories';
22
23
  export * as DividerStory from '../ui/Divider/Divider.stories';
23
24
  export * as DocumentViewerStory from '../ui/DocumentViewer/DocumentViewer.stories';
24
25
  export * as EmptyStateStory from '../ui/EmptyState/EmptyState.stories';
26
+ export * as FormControlStory from '../ui/FormControl/FormControl.stories';
25
27
  export * as HeaderStory from '../ui/Header/Header.stories';
26
28
  export * as ListItemStory from '../ui/ListItem/ListItem.stories';
27
29
  export * as LucideIconStory from '../ui/LucideIcon/LucideIcon.stories';
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { TextInput as ReactNativeTextInput } from 'react-native';
3
+ import { BoxProps } from '../../core';
4
+ export type FormControlProps = React.PropsWithChildren & {
5
+ style?: BoxProps['style'];
6
+ };
7
+ export declare const FormControl: React.ForwardRefExoticComponent<{
8
+ children?: React.ReactNode | undefined;
9
+ } & {
10
+ style?: BoxProps["style"];
11
+ } & React.RefAttributes<ReactNativeTextInput>>;
12
+ //# sourceMappingURL=FormControl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormControl.d.ts","sourceRoot":"","sources":["../../../src/ui/FormControl/FormControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,IAAI,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAO,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,iBAAiB,GAAG;IAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC;AAEvF,eAAO,MAAM,WAAW;;;YAF2C,QAAQ,CAAC,OAAO,CAAC;8CAYlF,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { Box } from '../../core';
4
+ import { useStyles } from './FormControl.styles';
5
+ export const FormControl = React.forwardRef(function FormControl(props, _ref) {
6
+ const { children, style } = props;
7
+ const styles = useStyles();
8
+ return (_jsx(Box, { tag: "form-control", style: [styles.formControl, style], children: children }));
9
+ });
@@ -0,0 +1,225 @@
1
+ declare const _default: {
2
+ title: string;
3
+ tags: "Core"[];
4
+ experimental: false;
5
+ description: string;
6
+ component: import("react").ForwardRefExoticComponent<{
7
+ children?: import("react").ReactNode | undefined;
8
+ } & {
9
+ style?: import("../..").BoxProps["style"];
10
+ } & import("react").RefAttributes<import("react-native").TextInput>>;
11
+ styleFn: () => {
12
+ formControl: {
13
+ display: "flex";
14
+ flexDirection: "column";
15
+ gap: import("@alveole/theme").Spacing;
16
+ width: "100%";
17
+ };
18
+ labelContainer: {
19
+ display: "flex";
20
+ flexDirection: "row";
21
+ justifyContent: "space-between";
22
+ };
23
+ label: {
24
+ color: "#373A3F";
25
+ fontSize: 14;
26
+ lineHeight: 20;
27
+ letterSpacing: 0;
28
+ fontFamily: string;
29
+ fontWeight?: import("react-native").TextStyle["fontWeight"];
30
+ };
31
+ labelDisabled: {
32
+ color: "#8D97AC";
33
+ };
34
+ hintContainer: {
35
+ display: "flex";
36
+ flexDirection: "row";
37
+ justifyContent: "space-between";
38
+ };
39
+ hint: {
40
+ color: "#5F6571";
41
+ fontSize: 12;
42
+ lineHeight: 20;
43
+ letterSpacing: 0;
44
+ fontFamily: string;
45
+ fontWeight?: import("react-native").TextStyle["fontWeight"];
46
+ };
47
+ hintDisabled: {
48
+ color: "#8D97AC";
49
+ };
50
+ inputContainer: {
51
+ width: "100%";
52
+ };
53
+ inputInner: {
54
+ display: "flex";
55
+ flexDirection: "row";
56
+ gap: import("@alveole/theme").Spacing;
57
+ padding: number;
58
+ borderRadius: number;
59
+ borderWidth: number;
60
+ borderColor: "#DEE3EC";
61
+ backgroundColor: "#FFFFFF";
62
+ overflow: "hidden";
63
+ width: "100%";
64
+ minHeight: number;
65
+ };
66
+ input: {
67
+ display: "flex";
68
+ flexDirection: "row";
69
+ outline: string;
70
+ color: "#373A3F";
71
+ fontFamily: string;
72
+ fontSize: 14;
73
+ marginTop: import("@alveole/theme").Spacing;
74
+ marginBottom: import("@alveole/theme").Spacing;
75
+ paddingLeft: import("@alveole/theme").Spacing;
76
+ paddingRight: import("@alveole/theme").Spacing;
77
+ minHeight: number | undefined;
78
+ flex: number;
79
+ };
80
+ inputError: {
81
+ borderColor: "#C62416";
82
+ };
83
+ inputSuccess: {
84
+ borderColor: "#1B7440";
85
+ };
86
+ inputDisabled: {
87
+ borderColor: "#E6EAF1";
88
+ };
89
+ inputFocused: {
90
+ outlineStyle: "solid";
91
+ outlineWidth: number;
92
+ outlineColor: "#0A76F6";
93
+ outlineOffset: number;
94
+ borderColor: "#0A76F6" | undefined;
95
+ };
96
+ inputFile: {
97
+ margin: number;
98
+ };
99
+ inputFileText: {
100
+ fontSize: 14;
101
+ lineHeight: 20;
102
+ letterSpacing: 0;
103
+ fontFamily: string;
104
+ fontWeight?: import("react-native").TextStyle["fontWeight"];
105
+ color: "#373A3F";
106
+ };
107
+ inputFileClear: {
108
+ position: "absolute";
109
+ right: number;
110
+ };
111
+ inputFileIcon: {
112
+ marginTop: string;
113
+ marginBottom: string;
114
+ };
115
+ inputWeb: {
116
+ borderWidth: number;
117
+ borderStyle: "none";
118
+ outline: string;
119
+ backgroundColor: "transparent";
120
+ lineHeight: string;
121
+ };
122
+ modalOverlay: {
123
+ flex: number;
124
+ backgroundColor: `rgba${string}`;
125
+ };
126
+ modalSheet: {
127
+ width: "100%";
128
+ flex: number;
129
+ };
130
+ modalContent: {
131
+ flex: number;
132
+ backgroundColor: "#FFFFFF";
133
+ borderTopLeftRadius: number;
134
+ borderTopRightRadius: number;
135
+ padding: import("@alveole/theme").Spacing;
136
+ paddingTop: import("@alveole/theme").Spacing;
137
+ paddingBottom: import("@alveole/theme").Spacing;
138
+ };
139
+ modalHeader: {
140
+ display: "flex";
141
+ flexDirection: "row";
142
+ justifyContent: "space-between";
143
+ alignItems: "center";
144
+ marginBottom: import("@alveole/theme").Spacing;
145
+ };
146
+ modalHeaderLeft: {
147
+ display: "flex";
148
+ flexDirection: "row";
149
+ alignItems: "center";
150
+ };
151
+ modalHeaderRight: {
152
+ display: "flex";
153
+ flexDirection: "row";
154
+ alignItems: "center";
155
+ };
156
+ modalFooter: {
157
+ marginTop: import("@alveole/theme").Spacing;
158
+ };
159
+ modalInputContainer: {
160
+ borderRadius: number;
161
+ borderWidth: number;
162
+ borderColor: "#DEE3EC";
163
+ backgroundColor: "#FFFFFF";
164
+ minHeight: number;
165
+ };
166
+ modalInput: {
167
+ color: "#373A3F";
168
+ paddingLeft: import("@alveole/theme").Spacing;
169
+ paddingRight: import("@alveole/theme").Spacing;
170
+ paddingTop: import("@alveole/theme").Spacing;
171
+ paddingBottom: import("@alveole/theme").Spacing;
172
+ minHeight: number;
173
+ flex: number;
174
+ fontSize: 14;
175
+ lineHeight: 20;
176
+ letterSpacing: 0;
177
+ fontFamily: string;
178
+ fontWeight?: import("react-native").TextStyle["fontWeight"];
179
+ };
180
+ caption: {
181
+ display: "flex";
182
+ flexDirection: "row";
183
+ gap: import("@alveole/theme").Spacing;
184
+ alignItems: "flex-start";
185
+ marginTop: import("@alveole/theme").Spacing;
186
+ width: "100%";
187
+ };
188
+ captionIcon: {
189
+ flexShrink: number;
190
+ marginTop: number;
191
+ };
192
+ captionText: {
193
+ flex: number;
194
+ flexShrink: number;
195
+ minWidth: number;
196
+ fontSize: 12;
197
+ lineHeight: 20;
198
+ letterSpacing: 0;
199
+ fontFamily: string;
200
+ fontWeight?: import("react-native").TextStyle["fontWeight"];
201
+ };
202
+ errorText: {
203
+ color: "#C62416";
204
+ };
205
+ successText: {
206
+ color: "#1C7F54";
207
+ };
208
+ };
209
+ };
210
+ export default _default;
211
+ export declare const WithTextInput: () => import("react").JSX.Element;
212
+ export declare const WithError: () => import("react").JSX.Element;
213
+ export declare const WithSuccess: () => import("react").JSX.Element;
214
+ export declare const Multiline: () => import("react").JSX.Element;
215
+ export declare const MultilineWithModal: () => import("react").JSX.Element;
216
+ export declare const Label: () => import("react").JSX.Element;
217
+ export declare const Caption: () => import("react").JSX.Element;
218
+ export declare const Hint: () => import("react").JSX.Element;
219
+ export declare const Modal: () => import("react").JSX.Element;
220
+ export declare const NumberInput: () => import("react").JSX.Element;
221
+ export declare const DateInput: () => import("react").JSX.Element;
222
+ export declare const FileInput: () => import("react").JSX.Element;
223
+ export declare const OtpInput: () => import("react").JSX.Element;
224
+ export * as Sources from './FormControl.stories.sources';
225
+ //# sourceMappingURL=FormControl.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormControl.stories.d.ts","sourceRoot":"","sources":["../../../src/ui/FormControl/FormControl.stories.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,wBAOkB;AAElB,eAAO,MAAM,aAAa,mCAMzB,CAAC;AAEF,eAAO,MAAM,SAAS,mCAMrB,CAAC;AAEF,eAAO,MAAM,WAAW,mCAMvB,CAAC;AAEF,eAAO,MAAM,SAAS,mCAKrB,CAAC;AAEF,eAAO,MAAM,kBAAkB,mCAe9B,CAAC;AAEF,eAAO,MAAM,KAAK,mCAQjB,CAAC;AAEF,eAAO,MAAM,OAAO,mCAKnB,CAAC;AAEF,eAAO,MAAM,IAAI,mCAKhB,CAAC;AAEF,eAAO,MAAM,KAAK,mCAejB,CAAC;AAEF,eAAO,MAAM,WAAW,mCA+BvB,CAAC;AAEF,eAAO,MAAM,SAAS,mCAoBrB,CAAC;AAEF,eAAO,MAAM,SAAS,mCAkBrB,CAAC;AAEF,eAAO,MAAM,QAAQ,mCASpB,CAAC;AAEF,OAAO,KAAK,OAAO,MAAM,+BAA+B,CAAC"}
@@ -0,0 +1,57 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { Box, Typography } from '../../core';
4
+ import { Button } from '../Button';
5
+ import { FormControl } from './FormControl';
6
+ import { useStyles } from './FormControl.styles';
7
+ import { FormControlCaption } from './FormControlCaption';
8
+ import { FormControlDateInput } from './FormControlDateInput';
9
+ import { FormControlFileInput } from './FormControlFileInput';
10
+ import { FormControlHint } from './FormControlHint';
11
+ import { FormControlLabel } from './FormControlLabel';
12
+ import { FormControlModal } from './FormControlModal';
13
+ import { FormControlNumberInput } from './FormControlNumberInput';
14
+ import { FormControlOtpInput } from './FormControlOtpInput';
15
+ import { TextInput } from './TextInput';
16
+ export default {
17
+ title: 'FormControl',
18
+ tags: ['Core'],
19
+ experimental: false,
20
+ description: 'Eléments de construction de champs de saisie (label, input, helper text).',
21
+ component: FormControl,
22
+ styleFn: useStyles,
23
+ };
24
+ export const WithTextInput = () => (_jsxs(FormControl, { children: [_jsx(FormControlLabel, { label: "Adresse email" }), _jsx(TextInput, { placeholder: "jean@exemple.fr", keyboardType: "email-address" }), _jsx(FormControlHint, { hint: "Votre email professionnel" })] }));
25
+ export const WithError = () => (_jsxs(FormControl, { children: [_jsx(FormControlLabel, { label: "Adresse email", error: "Format invalide" }), _jsx(TextInput, { placeholder: "jean@exemple.fr" }), _jsx(FormControlCaption, { error: "Format invalide" })] }));
26
+ export const WithSuccess = () => (_jsxs(FormControl, { children: [_jsx(FormControlLabel, { label: "Adresse email", success: "Email valide" }), _jsx(TextInput, { placeholder: "jean@exemple.fr" }), _jsx(FormControlCaption, { success: "Email valide" })] }));
27
+ export const Multiline = () => (_jsxs(FormControl, { children: [_jsx(FormControlLabel, { label: "Message" }), _jsx(TextInput, { placeholder: "Votre message...", multiline: true, numberOfLines: 4 })] }));
28
+ export const MultilineWithModal = () => {
29
+ const [text, setText] = useState('');
30
+ return (_jsxs(FormControl, { children: [_jsx(FormControlLabel, { label: "Description" }), _jsx(TextInput, { value: text, onChangeText: setText, placeholder: "Taper pour ouvrir la modale de saisie...", multiline: true, openModal: true, modalSubmitLabel: "Confirmer" })] }));
31
+ };
32
+ export const Label = () => (_jsxs(Box, { display: "flex", flexDirection: "column", gap: 8, children: [_jsx(FormControlLabel, { label: "Label par defaut" }), _jsx(FormControlLabel, { label: "Desactive", disabled: true }), _jsx(FormControlLabel, { label: "Erreur", error: "Message erreur" }), _jsx(FormControlLabel, { label: "Succes", success: "Message succes" }), _jsx(FormControlLabel, { label: "Avec badge", labelRight: _jsx(Typography, { children: "Optionnel" }) })] }));
33
+ export const Caption = () => (_jsxs(Box, { display: "flex", flexDirection: "column", gap: 8, children: [_jsx(FormControlCaption, { error: "Champ requis" }), _jsx(FormControlCaption, { success: "Valeur correcte" })] }));
34
+ export const Hint = () => (_jsxs(Box, { display: "flex", flexDirection: "column", gap: 8, children: [_jsx(FormControlHint, { hint: "Texte descriptif du champ" }), _jsx(FormControlHint, { hint: "Texte desactive", disabled: true })] }));
35
+ export const Modal = () => {
36
+ const [open, setOpen] = useState(false);
37
+ return (_jsxs(Box, { children: [_jsx(Button, { variant: "secondary", title: "Ouvrir la modale", onPress: () => setOpen(true) }), _jsx(FormControlModal, { open: open, onClose: () => setOpen(false), submitLabel: "Valider", onSubmit: () => setOpen(false), children: _jsx(TextInput, { placeholder: "Saisir un texte...", multiline: true, numberOfLines: 6 }) })] }));
38
+ };
39
+ export const NumberInput = () => {
40
+ const [value, setValue] = useState(null);
41
+ return (_jsxs(Box, { display: "flex", flexDirection: "column", gap: 12, children: [_jsxs(FormControl, { children: [_jsx(FormControlLabel, { label: "Montant" }), _jsx(FormControlNumberInput, { value: value, onChange: setValue, placeholder: "0" })] }), _jsxs(FormControl, { children: [_jsx(FormControlLabel, { label: "Avec unites" }), _jsx(FormControlNumberInput, { value: value, onChange: setValue, startAdornment: _jsx(Box, { style: { paddingLeft: 8, paddingRight: 4 }, children: _jsx(Typography, { children: "\u20AC" }) }), endAdornment: _jsx(Box, { style: { paddingLeft: 4, paddingRight: 8 }, children: _jsx(Typography, { children: "TTC" }) }) })] }), _jsxs(FormControl, { children: [_jsx(FormControlLabel, { label: "Desactive" }), _jsx(FormControlNumberInput, { value: 42, onChange: () => { }, disabled: true })] })] }));
42
+ };
43
+ export const DateInput = () => {
44
+ const [date, setDate] = useState('');
45
+ const [time, setTime] = useState('');
46
+ const [month, setMonth] = useState('');
47
+ return (_jsxs(Box, { display: "flex", flexDirection: "column", gap: 12, children: [_jsxs(FormControl, { children: [_jsx(FormControlLabel, { label: "Date" }), _jsx(FormControlDateInput, { type: "date", value: date, onChange: setDate })] }), _jsxs(FormControl, { children: [_jsx(FormControlLabel, { label: "Heure" }), _jsx(FormControlDateInput, { type: "time", value: time, onChange: setTime })] }), _jsxs(FormControl, { children: [_jsx(FormControlLabel, { label: "Mois" }), _jsx(FormControlDateInput, { type: "month", value: month, onChange: setMonth })] })] }));
48
+ };
49
+ export const FileInput = () => {
50
+ const [file, setFile] = useState(null);
51
+ return (_jsxs(Box, { display: "flex", flexDirection: "column", gap: 12, children: [_jsxs(FormControl, { children: [_jsx(FormControlLabel, { label: "Piece jointe" }), _jsx(FormControlFileInput, { value: file, onChange: setFile })] }), _jsxs(FormControl, { children: [_jsx(FormControlLabel, { label: "Plusieurs fichiers" }), _jsx(FormControlFileInput, { value: file, onChange: setFile, multiple: true })] }), _jsxs(FormControl, { children: [_jsx(FormControlLabel, { label: "Desactive", disabled: true }), _jsx(FormControlFileInput, { value: null, onChange: () => { }, disabled: true })] })] }));
52
+ };
53
+ export const OtpInput = () => {
54
+ const [code, setCode] = useState('');
55
+ return (_jsxs(FormControl, { children: [_jsx(FormControlLabel, { label: "Code de verification" }), _jsx(FormControlOtpInput, { numberOfDigits: 6, onTextChange: setCode }), code.length === 6 && _jsx(FormControlCaption, { success: `Code saisi : ${code}` })] }));
56
+ };
57
+ export * as Sources from './FormControl.stories.sources';
@@ -0,0 +1,30 @@
1
+ export declare const WithTextInput: () => string;
2
+ export declare const WithError: () => string;
3
+ export declare const WithSuccess: () => string;
4
+ export declare const Multiline: () => string;
5
+ export declare const MultilineWithModal: () => string;
6
+ export declare const Label: () => string;
7
+ export declare const Caption: () => string;
8
+ export declare const Hint: () => string;
9
+ export declare const Modal: () => string;
10
+ export declare const NumberInput: () => string;
11
+ export declare const DateInput: () => string;
12
+ export declare const FileInput: () => string;
13
+ export declare const OtpInput: () => string;
14
+ export declare const storySources: {
15
+ readonly WithTextInput: () => string;
16
+ readonly WithError: () => string;
17
+ readonly WithSuccess: () => string;
18
+ readonly Multiline: () => string;
19
+ readonly MultilineWithModal: () => string;
20
+ readonly Label: () => string;
21
+ readonly Caption: () => string;
22
+ readonly Hint: () => string;
23
+ readonly Modal: () => string;
24
+ readonly NumberInput: () => string;
25
+ readonly DateInput: () => string;
26
+ readonly FileInput: () => string;
27
+ readonly OtpInput: () => string;
28
+ };
29
+ export type StorySourceName = keyof typeof storySources;
30
+ //# sourceMappingURL=FormControl.stories.sources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormControl.stories.sources.d.ts","sourceRoot":"","sources":["../../../src/ui/FormControl/FormControl.stories.sources.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,cAAsR,CAAC;AAEjT,eAAO,MAAM,SAAS,cAAuQ,CAAC;AAE9R,eAAO,MAAM,WAAW,cAAuQ,CAAC;AAEhS,eAAO,MAAM,SAAS,cAA8M,CAAC;AAErO,eAAO,MAAM,kBAAkB,cAA8a,CAAC;AAE9c,eAAO,MAAM,KAAK,cAAqc,CAAC;AAExd,eAAO,MAAM,OAAO,cAA6N,CAAC;AAElP,eAAO,MAAM,IAAI,cAAsO,CAAC;AAExP,eAAO,MAAM,KAAK,cAA2f,CAAC;AAE9gB,eAAO,MAAM,WAAW,cAAqjC,CAAC;AAE9kC,eAAO,MAAM,SAAS,cAAowB,CAAC;AAE3xB,eAAO,MAAM,SAAS,cAAstB,CAAC;AAE7uB,eAAO,MAAM,QAAQ,cAA0W,CAAC;AAEhY,eAAO,MAAM,YAAY;;;;;;;;;;;;;;CAcf,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,YAAY,CAAC"}