thailife-react 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +109 -0
  3. package/dist/components/Button/Button.d.ts +12 -0
  4. package/dist/components/Button/Button.d.ts.map +1 -0
  5. package/dist/components/Button/Button.stories.d.ts +7 -0
  6. package/dist/components/Button/Button.stories.d.ts.map +1 -0
  7. package/dist/components/Checkbox/Checkbox.d.ts +18 -0
  8. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -0
  9. package/dist/components/Checkbox/Checkbox.stories.d.ts +15 -0
  10. package/dist/components/Checkbox/Checkbox.stories.d.ts.map +1 -0
  11. package/dist/components/Input/Input.d.ts +16 -0
  12. package/dist/components/Input/Input.d.ts.map +1 -0
  13. package/dist/components/Input/Input.stories.d.ts +8 -0
  14. package/dist/components/Input/Input.stories.d.ts.map +1 -0
  15. package/dist/components/InputFile/InputFile.d.ts +22 -0
  16. package/dist/components/InputFile/InputFile.d.ts.map +1 -0
  17. package/dist/components/InputFile/InputFile.stories.d.ts +15 -0
  18. package/dist/components/InputFile/InputFile.stories.d.ts.map +1 -0
  19. package/dist/components/Radio/Radio.d.ts +16 -0
  20. package/dist/components/Radio/Radio.d.ts.map +1 -0
  21. package/dist/components/Radio/Radio.stories.d.ts +14 -0
  22. package/dist/components/Radio/Radio.stories.d.ts.map +1 -0
  23. package/dist/components/Select/Select.d.ts +25 -0
  24. package/dist/components/Select/Select.d.ts.map +1 -0
  25. package/dist/components/Select/Select.stories.d.ts +15 -0
  26. package/dist/components/Select/Select.stories.d.ts.map +1 -0
  27. package/dist/components/Textarea/Textarea.d.ts +18 -0
  28. package/dist/components/Textarea/Textarea.d.ts.map +1 -0
  29. package/dist/components/Textarea/Textarea.stories.d.ts +10 -0
  30. package/dist/components/Textarea/Textarea.stories.d.ts.map +1 -0
  31. package/dist/index.d.ts +17 -0
  32. package/dist/index.d.ts.map +1 -0
  33. package/dist/index.esm.js +1742 -0
  34. package/dist/index.esm.js.map +1 -0
  35. package/dist/index.js +1751 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/utils/cn.d.ts +7 -0
  38. package/dist/utils/cn.d.ts.map +1 -0
  39. package/package.json +83 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 ThaiLife
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,109 @@
1
+ # ThaiLife React UI Library
2
+
3
+ A modern, accessible UI component library built with React and Tailwind CSS.
4
+
5
+ ## 🚀 Features
6
+
7
+ - **Modern React**: Built with React 18+ and TypeScript
8
+ - **Tailwind CSS**: Utility-first CSS framework for rapid UI development
9
+ - **Accessible**: Components follow accessibility best practices
10
+ - **TypeScript**: Full TypeScript support with proper type definitions
11
+ - **Customizable**: Easy to customize and extend
12
+
13
+ ## 📦 Installation
14
+
15
+ ```bash
16
+ npm install thailife-react
17
+ # or
18
+ yarn add thailife-react
19
+ # or
20
+ pnpm add thailife-react
21
+ ```
22
+
23
+ ## 🔧 Setup
24
+
25
+ ### Tailwind CSS
26
+
27
+ This library requires Tailwind CSS to be installed in your project:
28
+
29
+ ```bash
30
+ npm install -D tailwindcss
31
+ npx tailwindcss init
32
+ ```
33
+
34
+ Add the library's CSS to your `tailwind.config.js`:
35
+
36
+ ```js
37
+ module.exports = {
38
+ content: ["./src/**/*.{js,ts,jsx,tsx}", "./node_modules/thailife-react/dist/**/*.js"],
39
+ // ... rest of your config
40
+ };
41
+ ```
42
+
43
+ Import the CSS in your main CSS file:
44
+
45
+ ```css
46
+ @import "thailife-react/dist/styles/globals.css";
47
+ ```
48
+
49
+ ## 📚 Components
50
+
51
+ ### Button
52
+
53
+ ```tsx
54
+ import { Button } from "thailife-react";
55
+
56
+ function App() {
57
+ return (
58
+ <Button variant="primary" size="lg">
59
+ Click me
60
+ </Button>
61
+ );
62
+ }
63
+ ```
64
+
65
+ ### Input
66
+
67
+ ```tsx
68
+ import { Input } from "thailife-react";
69
+
70
+ function App() {
71
+ return <Input type="text" placeholder="Enter your name" size="md" />;
72
+ }
73
+ ```
74
+
75
+ ## 🎨 Available Components
76
+
77
+ - **Button**: Multiple variants and sizes
78
+ - **Input**: Form input with various types and states
79
+
80
+ ## 🔧 Development
81
+
82
+ ```bash
83
+ # Install dependencies
84
+ npm install
85
+
86
+ # Build the library
87
+ npm run build
88
+
89
+ # Start Storybook
90
+ npm run storybook
91
+
92
+ # Run tests
93
+ npm test
94
+
95
+ # Lint code
96
+ npm run lint
97
+ ```
98
+
99
+ ## 📝 License
100
+
101
+ MIT License - see [LICENSE](LICENSE) for details.
102
+
103
+ ## 🤝 Contributing
104
+
105
+ Contributions are welcome! Please read our contributing guidelines before submitting a pull request.
106
+
107
+ ## 📞 Support
108
+
109
+ If you have any questions or need help, please open an issue on GitHub.
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
3
+ variant?: "contained" | "outlined" | "link";
4
+ size?: "sm" | "md" | "lg";
5
+ fullWidth?: boolean;
6
+ /** Loading state */
7
+ loading?: boolean;
8
+ color?: "primary" | "error" | "dark" | "light";
9
+ }
10
+ declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
11
+ export { Button };
12
+ //# sourceMappingURL=Button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/Button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IAChF,OAAO,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;IAC5C,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oBAAoB;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;CAChD;AAED,QAAA,MAAM,MAAM,uFAyCX,CAAC;AAIF,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { Button } from "./Button";
3
+ declare const meta: Meta<typeof Button>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Example: Story;
7
+ //# sourceMappingURL=Button.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.stories.d.ts","sourceRoot":"","sources":["../../../src/components/Button/Button.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,MAAM,CA8B7B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+ export interface CheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "type" | "size"> {
3
+ /** Label for the checkbox */
4
+ label?: string;
5
+ /** Error message to display */
6
+ error?: string;
7
+ /** Helper text to display */
8
+ helperText?: string;
9
+ /** Size of the checkbox */
10
+ size?: "sm" | "md" | "lg";
11
+ /** Whether the checkbox should take full width */
12
+ fullWidth?: boolean;
13
+ /** Indeterminate state */
14
+ indeterminate?: boolean;
15
+ }
16
+ declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<HTMLInputElement>>;
17
+ export { Checkbox };
18
+ //# sourceMappingURL=Checkbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/Checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvG,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0BAA0B;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,QAAA,MAAM,QAAQ,wFA4CZ,CAAC;AAIH,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { Checkbox } from "./Checkbox";
3
+ declare const meta: Meta<typeof Checkbox>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const Checked: Story;
8
+ export declare const WithHelperText: Story;
9
+ export declare const WithError: Story;
10
+ export declare const Small: Story;
11
+ export declare const Large: Story;
12
+ export declare const Indeterminate: Story;
13
+ export declare const Disabled: Story;
14
+ export declare const DisabledChecked: Story;
15
+ //# sourceMappingURL=Checkbox.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.stories.d.ts","sourceRoot":"","sources":["../../../src/components/Checkbox/Checkbox.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,QAAQ,CAyB/B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAK5B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAKvB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAKnB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAKnB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAK3B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAKtB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAM7B,CAAC"}
@@ -0,0 +1,16 @@
1
+ import React from "react";
2
+ export interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "size"> {
3
+ /** Label for the input */
4
+ label?: string;
5
+ /** Error message to display */
6
+ error?: string;
7
+ /** Helper text to display */
8
+ helperText?: string;
9
+ /** Size of the input */
10
+ size?: "sm" | "md" | "lg";
11
+ /** Whether the input should take full width */
12
+ fullWidth?: boolean;
13
+ }
14
+ declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
15
+ export { Input };
16
+ //# sourceMappingURL=Input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/components/Input/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC3F,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,QAAA,MAAM,KAAK,qFA6BT,CAAC;AAIH,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { Input } from "./Input";
3
+ declare const meta: Meta<typeof Input>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Example: Story;
7
+ export declare const WithLabel: Story;
8
+ //# sourceMappingURL=Input.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input.stories.d.ts","sourceRoot":"","sources":["../../../src/components/Input/Input.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,KAAK,CA0B5B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAKvB,CAAC"}
@@ -0,0 +1,22 @@
1
+ import React from "react";
2
+ export interface InputFileProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "type" | "size"> {
3
+ /** Label for the input */
4
+ label?: string;
5
+ /** Error message to display */
6
+ error?: string;
7
+ /** Helper text to display */
8
+ helperText?: string;
9
+ /** Size of the input */
10
+ size?: "sm" | "md" | "lg";
11
+ /** Whether the input should take full width */
12
+ fullWidth?: boolean;
13
+ /** Accept file types */
14
+ accept?: string;
15
+ /** Multiple file selection */
16
+ multiple?: boolean;
17
+ /** Custom upload button text */
18
+ buttonText?: string;
19
+ }
20
+ declare const InputFile: React.ForwardRefExoticComponent<InputFileProps & React.RefAttributes<HTMLInputElement>>;
21
+ export { InputFile };
22
+ //# sourceMappingURL=InputFile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputFile.d.ts","sourceRoot":"","sources":["../../../src/components/InputFile/InputFile.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxG,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,QAAA,MAAM,SAAS,yFAqCd,CAAC;AAIF,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { InputFile } from "./InputFile";
3
+ declare const meta: Meta<typeof InputFile>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const WithLabel: Story;
8
+ export declare const WithHelperText: Story;
9
+ export declare const WithError: Story;
10
+ export declare const MultipleFiles: Story;
11
+ export declare const Small: Story;
12
+ export declare const Large: Story;
13
+ export declare const FullWidth: Story;
14
+ export declare const Disabled: Story;
15
+ //# sourceMappingURL=InputFile.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputFile.stories.d.ts","sourceRoot":"","sources":["../../../src/components/InputFile/InputFile.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,SAAS,CA4BhC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAKvB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAO5B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAMvB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAO3B,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAMnB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAMnB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAMvB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import React from "react";
2
+ export interface RadioProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "type" | "size"> {
3
+ /** Label for the radio button */
4
+ label?: string;
5
+ /** Error message to display */
6
+ error?: string;
7
+ /** Helper text to display */
8
+ helperText?: string;
9
+ /** Size of the radio button */
10
+ size?: "sm" | "md" | "lg";
11
+ /** Whether the radio should take full width */
12
+ fullWidth?: boolean;
13
+ }
14
+ declare const Radio: React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<HTMLInputElement>>;
15
+ export { Radio };
16
+ //# sourceMappingURL=Radio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Radio.d.ts","sourceRoot":"","sources":["../../../src/components/Radio/Radio.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACpG,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC/B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,QAAA,MAAM,KAAK,qFAsCT,CAAC;AAIH,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { Radio } from "./Radio";
3
+ declare const meta: Meta<typeof Radio>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const Checked: Story;
8
+ export declare const WithHelperText: Story;
9
+ export declare const WithError: Story;
10
+ export declare const Small: Story;
11
+ export declare const Large: Story;
12
+ export declare const Disabled: Story;
13
+ export declare const DisabledChecked: Story;
14
+ //# sourceMappingURL=Radio.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Radio.stories.d.ts","sourceRoot":"","sources":["../../../src/components/Radio/Radio.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,KAAK,CAsB5B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAK5B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAKvB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAKnB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAKnB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAKtB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAM7B,CAAC"}
@@ -0,0 +1,25 @@
1
+ import React from "react";
2
+ export interface SelectOption {
3
+ value: string;
4
+ label: string;
5
+ disabled?: boolean;
6
+ }
7
+ export interface SelectProps extends Omit<React.SelectHTMLAttributes<HTMLSelectElement>, "size"> {
8
+ /** Label for the select */
9
+ label?: string;
10
+ /** Error message to display */
11
+ error?: string;
12
+ /** Helper text to display */
13
+ helperText?: string;
14
+ /** Size of the select */
15
+ size?: "sm" | "md" | "lg";
16
+ /** Whether the select should take full width */
17
+ fullWidth?: boolean;
18
+ /** Options for the select */
19
+ options: SelectOption[];
20
+ /** Placeholder text */
21
+ placeholder?: string;
22
+ }
23
+ declare const Select: React.ForwardRefExoticComponent<SelectProps & React.RefAttributes<HTMLSelectElement>>;
24
+ export { Select };
25
+ //# sourceMappingURL=Select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC9F,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,gDAAgD;IAChD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6BAA6B;IAC7B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,QAAA,MAAM,MAAM,uFA+CV,CAAC;AAIH,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { Select } from "./Select";
3
+ declare const meta: Meta<typeof Select>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const WithLabel: Story;
8
+ export declare const WithHelperText: Story;
9
+ export declare const WithError: Story;
10
+ export declare const Small: Story;
11
+ export declare const Large: Story;
12
+ export declare const FullWidth: Story;
13
+ export declare const Disabled: Story;
14
+ export declare const WithDisabledOptions: Story;
15
+ //# sourceMappingURL=Select.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.stories.d.ts","sourceRoot":"","sources":["../../../src/components/Select/Select.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,MAAM,CAsB7B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAwBnC,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAMvB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAO5B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAOvB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAOnB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAOnB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAOvB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAOtB,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,KAUjC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+ export interface TextareaProps extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, "size"> {
3
+ /** Label for the textarea */
4
+ label?: string;
5
+ /** Error message to display */
6
+ error?: string;
7
+ /** Helper text to display */
8
+ helperText?: string;
9
+ /** Size of the textarea */
10
+ size?: "sm" | "md" | "lg";
11
+ /** Whether the textarea should take full width */
12
+ fullWidth?: boolean;
13
+ /** Number of rows to display */
14
+ rows?: number;
15
+ }
16
+ declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
17
+ export { Textarea };
18
+ //# sourceMappingURL=Textarea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../src/components/Textarea/Textarea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACpG,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,QAAA,MAAM,QAAQ,2FA6BZ,CAAC;AAIH,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { Textarea } from "./Textarea";
3
+ declare const meta: Meta<typeof Textarea>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const WithLabel: Story;
8
+ export declare const WithHelperText: Story;
9
+ export declare const FullWidth: Story;
10
+ //# sourceMappingURL=Textarea.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Textarea.stories.d.ts","sourceRoot":"","sources":["../../../src/components/Textarea/Textarea.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,QAAQ,CAyB/B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAMvB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAO5B,CAAC;AA6BF,eAAO,MAAM,SAAS,EAAE,KAOvB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import "./styles/globals.css";
2
+ export { Button } from "./components/Button/Button";
3
+ export type { ButtonProps } from "./components/Button/Button";
4
+ export { Input } from "./components/Input/Input";
5
+ export type { InputProps } from "./components/Input/Input";
6
+ export { Textarea } from "./components/Textarea/Textarea";
7
+ export type { TextareaProps } from "./components/Textarea/Textarea";
8
+ export { InputFile } from "./components/InputFile/InputFile";
9
+ export type { InputFileProps } from "./components/InputFile/InputFile";
10
+ export { Checkbox } from "./components/Checkbox/Checkbox";
11
+ export type { CheckboxProps } from "./components/Checkbox/Checkbox";
12
+ export { Radio } from "./components/Radio/Radio";
13
+ export type { RadioProps } from "./components/Radio/Radio";
14
+ export { Select } from "./components/Select/Select";
15
+ export type { SelectProps, SelectOption } from "./components/Select/Select";
16
+ export { cn } from "./utils/cn";
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,sBAAsB,CAAC;AAG9B,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,YAAY,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,YAAY,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAEvE,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,YAAY,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAkB5E,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC"}