cleanplate 0.1.7 → 0.1.8

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 (146) hide show
  1. package/dist/components/accordion/Accordion.d.ts +15 -0
  2. package/dist/components/accordion/Accordion.d.ts.map +1 -0
  3. package/dist/components/accordion/index.d.ts +3 -0
  4. package/dist/components/accordion/index.d.ts.map +1 -0
  5. package/dist/components/alert/Alert.d.ts +20 -0
  6. package/dist/components/alert/Alert.d.ts.map +1 -0
  7. package/dist/components/alert/index.d.ts +3 -0
  8. package/dist/components/alert/index.d.ts.map +1 -0
  9. package/dist/components/animated/Animated.d.ts +21 -0
  10. package/dist/components/animated/Animated.d.ts.map +1 -0
  11. package/dist/components/animated/index.d.ts +3 -0
  12. package/dist/components/animated/index.d.ts.map +1 -0
  13. package/dist/components/app-shell/AppShell.d.ts +5 -0
  14. package/dist/components/app-shell/AppShell.d.ts.map +1 -0
  15. package/dist/components/app-shell/index.d.ts +3 -0
  16. package/dist/components/app-shell/index.d.ts.map +1 -0
  17. package/dist/components/avatar/Avatar.d.ts +22 -0
  18. package/dist/components/avatar/Avatar.d.ts.map +1 -0
  19. package/dist/components/avatar/index.d.ts +3 -0
  20. package/dist/components/avatar/index.d.ts.map +1 -0
  21. package/dist/components/badge/Badge.d.ts +13 -0
  22. package/dist/components/badge/Badge.d.ts.map +1 -0
  23. package/dist/components/badge/index.d.ts +3 -0
  24. package/dist/components/badge/index.d.ts.map +1 -0
  25. package/dist/components/bottom-sheet/BottomSheet.d.ts +18 -0
  26. package/dist/components/bottom-sheet/BottomSheet.d.ts.map +1 -0
  27. package/dist/components/bottom-sheet/index.d.ts +3 -0
  28. package/dist/components/bottom-sheet/index.d.ts.map +1 -0
  29. package/dist/components/breadcrumb/AppShell.d.ts +5 -0
  30. package/dist/components/breadcrumb/AppShell.d.ts.map +1 -0
  31. package/dist/components/breadcrumb/index.d.ts +3 -0
  32. package/dist/components/breadcrumb/index.d.ts.map +1 -0
  33. package/dist/components/button/Button.d.ts +21 -0
  34. package/dist/components/button/Button.d.ts.map +1 -0
  35. package/dist/components/button/index.d.ts +4 -0
  36. package/dist/components/button/index.d.ts.map +1 -0
  37. package/dist/components/confirm-dialog/ConfirmDialog.d.ts +38 -0
  38. package/dist/components/confirm-dialog/ConfirmDialog.d.ts.map +1 -0
  39. package/dist/components/confirm-dialog/index.d.ts +3 -0
  40. package/dist/components/confirm-dialog/index.d.ts.map +1 -0
  41. package/dist/components/container/Container.d.ts +30 -0
  42. package/dist/components/container/Container.d.ts.map +1 -0
  43. package/dist/components/container/index.d.ts +3 -0
  44. package/dist/components/container/index.d.ts.map +1 -0
  45. package/dist/components/dropdown/Dropdown.d.ts +32 -0
  46. package/dist/components/dropdown/Dropdown.d.ts.map +1 -0
  47. package/dist/components/dropdown/index.d.ts +3 -0
  48. package/dist/components/dropdown/index.d.ts.map +1 -0
  49. package/dist/components/footer/Footer.d.ts +22 -0
  50. package/dist/components/footer/Footer.d.ts.map +1 -0
  51. package/dist/components/footer/index.d.ts +3 -0
  52. package/dist/components/footer/index.d.ts.map +1 -0
  53. package/dist/components/form-controls/Checkbox.d.ts +14 -0
  54. package/dist/components/form-controls/Checkbox.d.ts.map +1 -0
  55. package/dist/components/form-controls/Date.d.ts +11 -0
  56. package/dist/components/form-controls/Date.d.ts.map +1 -0
  57. package/dist/components/form-controls/File.d.ts +15 -0
  58. package/dist/components/form-controls/File.d.ts.map +1 -0
  59. package/dist/components/form-controls/Input.d.ts +18 -0
  60. package/dist/components/form-controls/Input.d.ts.map +1 -0
  61. package/dist/components/form-controls/Radio.d.ts +15 -0
  62. package/dist/components/form-controls/Radio.d.ts.map +1 -0
  63. package/dist/components/form-controls/Select.d.ts +18 -0
  64. package/dist/components/form-controls/Select.d.ts.map +1 -0
  65. package/dist/components/form-controls/Stepper.d.ts +17 -0
  66. package/dist/components/form-controls/Stepper.d.ts.map +1 -0
  67. package/dist/components/form-controls/TextArea.d.ts +16 -0
  68. package/dist/components/form-controls/TextArea.d.ts.map +1 -0
  69. package/dist/components/form-controls/Toggle.d.ts +15 -0
  70. package/dist/components/form-controls/Toggle.d.ts.map +1 -0
  71. package/dist/components/form-controls/index.d.ts +22 -0
  72. package/dist/components/form-controls/index.d.ts.map +1 -0
  73. package/dist/components/header/Header.d.ts +30 -0
  74. package/dist/components/header/Header.d.ts.map +1 -0
  75. package/dist/components/header/index.d.ts +3 -0
  76. package/dist/components/header/index.d.ts.map +1 -0
  77. package/dist/components/icon/Icon.d.ts +12 -0
  78. package/dist/components/icon/Icon.d.ts.map +1 -0
  79. package/dist/components/icon/index.d.ts +4 -0
  80. package/dist/components/icon/index.d.ts.map +1 -0
  81. package/dist/components/media-object/MediaObject.d.ts +18 -0
  82. package/dist/components/media-object/MediaObject.d.ts.map +1 -0
  83. package/dist/components/media-object/index.d.ts +4 -0
  84. package/dist/components/media-object/index.d.ts.map +1 -0
  85. package/dist/components/menu-list/MenuList.d.ts +24 -0
  86. package/dist/components/menu-list/MenuList.d.ts.map +1 -0
  87. package/dist/components/menu-list/index.d.ts +3 -0
  88. package/dist/components/menu-list/index.d.ts.map +1 -0
  89. package/dist/components/modal/Modal.d.ts +40 -0
  90. package/dist/components/modal/Modal.d.ts.map +1 -0
  91. package/dist/components/modal/index.d.ts +3 -0
  92. package/dist/components/modal/index.d.ts.map +1 -0
  93. package/dist/components/page-header/PageHeader.d.ts +5 -0
  94. package/dist/components/page-header/PageHeader.d.ts.map +1 -0
  95. package/dist/components/page-header/index.d.ts +3 -0
  96. package/dist/components/page-header/index.d.ts.map +1 -0
  97. package/dist/components/pagination/Pagination.d.ts +30 -0
  98. package/dist/components/pagination/Pagination.d.ts.map +1 -0
  99. package/dist/components/pagination/index.d.ts +3 -0
  100. package/dist/components/pagination/index.d.ts.map +1 -0
  101. package/dist/components/pills/Pills.d.ts +24 -0
  102. package/dist/components/pills/Pills.d.ts.map +1 -0
  103. package/dist/components/pills/index.d.ts +3 -0
  104. package/dist/components/pills/index.d.ts.map +1 -0
  105. package/dist/components/progress-bar/ProgressBar.d.ts +20 -0
  106. package/dist/components/progress-bar/ProgressBar.d.ts.map +1 -0
  107. package/dist/components/progress-bar/index.d.ts +3 -0
  108. package/dist/components/progress-bar/index.d.ts.map +1 -0
  109. package/dist/components/spinner/Spinner.d.ts +15 -0
  110. package/dist/components/spinner/Spinner.d.ts.map +1 -0
  111. package/dist/components/spinner/index.d.ts +3 -0
  112. package/dist/components/spinner/index.d.ts.map +1 -0
  113. package/dist/components/stepper/Stepper.d.ts +16 -0
  114. package/dist/components/stepper/Stepper.d.ts.map +1 -0
  115. package/dist/components/stepper/index.d.ts +3 -0
  116. package/dist/components/stepper/index.d.ts.map +1 -0
  117. package/dist/components/table/Table.d.ts +37 -0
  118. package/dist/components/table/Table.d.ts.map +1 -0
  119. package/dist/components/table/index.d.ts +3 -0
  120. package/dist/components/table/index.d.ts.map +1 -0
  121. package/dist/components/toast/Toast.d.ts +15 -0
  122. package/dist/components/toast/Toast.d.ts.map +1 -0
  123. package/dist/components/toast/index.d.ts +3 -0
  124. package/dist/components/toast/index.d.ts.map +1 -0
  125. package/dist/components/typography/Typography.d.ts +20 -0
  126. package/dist/components/typography/Typography.d.ts.map +1 -0
  127. package/dist/components/typography/index.d.ts +4 -0
  128. package/dist/components/typography/index.d.ts.map +1 -0
  129. package/dist/constants/common.d.ts +17 -0
  130. package/dist/constants/common.d.ts.map +1 -0
  131. package/dist/index.d.ts +30 -0
  132. package/dist/index.d.ts.map +1 -0
  133. package/dist/index.es.js +3 -3
  134. package/dist/index.js +3 -3
  135. package/dist/utils/common.d.ts +9 -0
  136. package/dist/utils/common.d.ts.map +1 -0
  137. package/dist/utils/get-class-names.d.ts +2 -0
  138. package/dist/utils/get-class-names.d.ts.map +1 -0
  139. package/docs/Button.md +175 -0
  140. package/docs/Icon.md +194 -0
  141. package/docs/MediaObject.md +303 -0
  142. package/docs/Typography.md +226 -0
  143. package/docs-template-sample.md +67 -0
  144. package/llms.txt +76 -0
  145. package/package.json +12 -3
  146. package/tsconfig.json +26 -0
@@ -0,0 +1,226 @@
1
+ # Typography Component
2
+
3
+ Purpose: Provides a consistent set of text styles for headings, paragraphs, and inline elements, ensuring clear hierarchy, readability, and brand-aligned communication across the interface.
4
+
5
+ ## Props / Inputs
6
+
7
+ | Prop | Type | Required | Default | Description |
8
+ | --- | --- | --- | --- | --- |
9
+ | children | React.ReactNode | no | — | Text content to display. |
10
+ | variant | "h1" \| "h2" \| "h3" \| "h4" \| "h5" \| "h6" \| "p" \| "span" \| "small" | no | "p" | HTML element type to render. Determines the semantic meaning and default styling. |
11
+ | margin | string \| string[] | no | "m-0" | Spacing utility token(s), such as `m-0` or `["m-1", "m-b-2"]`. |
12
+ | className | string | no | "" | Additional class names for the root element. |
13
+ | isBold | boolean | no | false | Applies bold font weight to the text. |
14
+ | align | "left" \| "center" \| "right" | no | "left" | Text alignment within its container. |
15
+ | wordBreak | "normal" \| "all" \| "wrap" | no | "normal" | Controls how words break when text overflows. |
16
+ | ...rest | any | no | — | All other standard HTML attributes are supported and passed through to the rendered element. |
17
+
18
+ ## Types
19
+
20
+ ### TypographyVariant
21
+ ```typescript
22
+ type TypographyVariant = "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "p" | "span" | "small";
23
+ ```
24
+
25
+ ### TypographyAlign
26
+ ```typescript
27
+ type TypographyAlign = "left" | "right" | "center";
28
+ ```
29
+
30
+ ### TypographyWordBreak
31
+ ```typescript
32
+ type TypographyWordBreak = "normal" | "all" | "wrap";
33
+ ```
34
+
35
+ ### TypographyMargin
36
+ ```typescript
37
+ type TypographyMargin = string | SpacingOption[];
38
+ ```
39
+
40
+ ### SpacingOption
41
+ ```typescript
42
+ type SpacingOption = typeof SPACING_OPTIONS[number];
43
+ ```
44
+
45
+ ### TypographyProps
46
+ ```typescript
47
+ interface TypographyProps {
48
+ children?: React.ReactNode;
49
+ variant?: TypographyVariant;
50
+ margin?: TypographyMargin;
51
+ className?: string;
52
+ isBold?: boolean;
53
+ align?: TypographyAlign;
54
+ wordBreak?: TypographyWordBreak;
55
+ [key: string]: any; // Allow other HTML attributes to be passed through
56
+ }
57
+ ```
58
+
59
+ ## Usage Examples
60
+
61
+ ### Headings
62
+
63
+ ```jsx
64
+ import { Typography } from "cleanplate";
65
+
66
+ export const Example = () => (
67
+ <>
68
+ <Typography variant="h1">Heading 1</Typography>
69
+ <Typography variant="h2">Heading 2</Typography>
70
+ <Typography variant="h3">Heading 3</Typography>
71
+ <Typography variant="h4">Heading 4</Typography>
72
+ <Typography variant="h5">Heading 5</Typography>
73
+ <Typography variant="h6">Heading 6</Typography>
74
+ </>
75
+ );
76
+ ```
77
+
78
+ ### Paragraph (default)
79
+
80
+ ```jsx
81
+ import { Typography } from "cleanplate";
82
+
83
+ export const Example = () => (
84
+ <Typography>
85
+ This is a paragraph. When no variant is specified, it defaults to a paragraph element.
86
+ </Typography>
87
+ );
88
+ ```
89
+
90
+ ### Small text
91
+
92
+ ```jsx
93
+ import { Typography } from "cleanplate";
94
+
95
+ export const Example = () => (
96
+ <Typography variant="small">
97
+ This is small text, typically used for captions or fine print.
98
+ </Typography>
99
+ );
100
+ ```
101
+
102
+ ### Inline span
103
+
104
+ ```jsx
105
+ import { Typography } from "cleanplate";
106
+
107
+ export const Example = () => (
108
+ <Typography variant="span">
109
+ This text is rendered as an inline span element.
110
+ </Typography>
111
+ );
112
+ ```
113
+
114
+ ### Text alignment
115
+
116
+ ```jsx
117
+ import { Typography } from "cleanplate";
118
+
119
+ export const Example = () => (
120
+ <>
121
+ <Typography align="left">Left aligned text</Typography>
122
+ <Typography align="center">Center aligned text</Typography>
123
+ <Typography align="right">Right aligned text</Typography>
124
+ </>
125
+ );
126
+ ```
127
+
128
+ ### Bold text
129
+
130
+ ```jsx
131
+ import { Typography } from "cleanplate";
132
+
133
+ export const Example = () => (
134
+ <>
135
+ <Typography>Normal weight text</Typography>
136
+ <Typography isBold>Bold text</Typography>
137
+ </>
138
+ );
139
+ ```
140
+
141
+ ### Word breaking
142
+
143
+ ```jsx
144
+ import { Typography } from "cleanplate";
145
+
146
+ export const Example = () => (
147
+ <>
148
+ <Typography wordBreak="normal">
149
+ Normal word breaking behavior
150
+ </Typography>
151
+ <Typography wordBreak="all">
152
+ Break words at any point if needed
153
+ </Typography>
154
+ <Typography wordBreak="wrap">
155
+ Wrap text with word breaking
156
+ </Typography>
157
+ </>
158
+ );
159
+ ```
160
+
161
+ ### With margin spacing
162
+
163
+ ```jsx
164
+ import { Typography } from "cleanplate";
165
+
166
+ export const Example = () => (
167
+ <>
168
+ <Typography variant="h1" margin="m-2">
169
+ Heading with margin
170
+ </Typography>
171
+ <Typography margin={["m-1", "m-b-3"]}>
172
+ Paragraph with multiple margins
173
+ </Typography>
174
+ </>
175
+ );
176
+ ```
177
+
178
+ ### Combined properties
179
+
180
+ ```jsx
181
+ import { Typography } from "cleanplate";
182
+
183
+ export const Example = () => (
184
+ <Typography
185
+ variant="h2"
186
+ isBold
187
+ align="center"
188
+ margin="m-4"
189
+ >
190
+ Centered, bold heading with margin
191
+ </Typography>
192
+ );
193
+ ```
194
+
195
+ ### With HTML attributes
196
+
197
+ ```jsx
198
+ import { Typography } from "cleanplate";
199
+
200
+ export const Example = () => (
201
+ <Typography
202
+ variant="p"
203
+ id="description"
204
+ data-testid="typography-description"
205
+ aria-label="Product description"
206
+ >
207
+ This paragraph has additional HTML attributes.
208
+ </Typography>
209
+ );
210
+ ```
211
+
212
+ ## Behavior Notes
213
+
214
+ - When no `variant` is specified, the component defaults to rendering a `<p>` (paragraph) element.
215
+ - The `variant` prop determines both the HTML element type (h1, h2, p, etc.) and the default styling applied.
216
+ - The component uses semantic HTML elements, which is important for accessibility and SEO.
217
+ - All standard HTML attributes can be passed through via the spread operator (`...rest`), allowing for custom `id`, `data-*`, `aria-*`, and other attributes.
218
+ - The `align` prop controls text alignment using CSS classes, not inline styles.
219
+ - The `wordBreak` prop provides control over how text wraps when it exceeds container width.
220
+ - Margin spacing accepts either a single string token (e.g., `"m-2"`) or an array of tokens (e.g., `["m-1", "m-b-3"]`).
221
+ - The `isBold` prop applies bold font weight, which can be combined with any variant.
222
+
223
+ ## Related Components / Links
224
+
225
+ - Container (often used to wrap typography content)
226
+ - MediaObject (commonly uses Typography for text content)
@@ -0,0 +1,67 @@
1
+ # Avatar Component
2
+
3
+ Purpose: Display a user avatar as an image, icon, or initials.
4
+
5
+ ## Props / Inputs
6
+
7
+ | Prop | Type | Required | Default | Description |
8
+ | --- | --- | --- | --- | --- |
9
+ | name | string | no | "" | Used for initials, title text, and background color seed. |
10
+ | image | string | no | "" | Image URL to render when `icon` is not set. |
11
+ | icon | string | no | "" | Icon name to render when `image` is not set. |
12
+ | size | "small" \| "medium" | no | "medium" | Size variant. |
13
+ | margin | string \| string[] | no | "m-0" | Spacing utility token(s), such as `m-0` or `m-b-2`. |
14
+ | className | string | no | "" | Additional class names for the root element. |
15
+ | onClick | function | no | — | Called with the click event. |
16
+
17
+ ## Types
18
+
19
+ None.
20
+
21
+ ## Usage Examples
22
+
23
+ ### Initials (default)
24
+
25
+ ```jsx
26
+ import { Avatar } from "cleanplate";
27
+
28
+ export const Example = () => (
29
+ <Avatar name="Jane Doe" />
30
+ );
31
+ ```
32
+
33
+ ### Image avatar
34
+
35
+ ```jsx
36
+ import { Avatar } from "cleanplate";
37
+
38
+ export const Example = () => (
39
+ <Avatar
40
+ name="Jane Doe"
41
+ image="https://example.com/jane.jpg"
42
+ size="small"
43
+ />
44
+ );
45
+ ```
46
+
47
+ ### Icon avatar
48
+
49
+ ```jsx
50
+ import { Avatar } from "cleanplate";
51
+
52
+ export const Example = () => (
53
+ <Avatar icon="person" />
54
+ );
55
+ ```
56
+
57
+ ## Behavior Notes
58
+
59
+ - Initials are derived from the first letter of each word and limited to 2 characters.
60
+ - Background color is generated from `name`, so the same name yields the same color.
61
+ - Provide only one of `image` or `icon`. If both are set, the component renders no content.
62
+ - The root element sets `title` to the value of `name`.
63
+
64
+ ## Related Components / Links
65
+
66
+ - MediaObject
67
+ - Icon
package/llms.txt ADDED
@@ -0,0 +1,76 @@
1
+ # CleanPlate Component Documentation Index
2
+
3
+ This file contains an index of all available component documentation for the CleanPlate UI framework.
4
+
5
+ ## Project Overview
6
+
7
+ CleanPlate is a Headless React UI Framework providing reusable, accessible, and customizable components for building modern web applications.
8
+
9
+ ## Component Documentation
10
+
11
+ All component documentation is located in the `docs/` folder. The following documentation files are available:
12
+
13
+ ### Button Component
14
+ - File: `docs/Button.md`
15
+ - Purpose: A highly customizable and interactive UI element designed to handle user actions with various styles, sizes, and variants. Supports loading states, disabled states, and click events.
16
+ - Key Features: Variants (solid, outline, ghost, icon), sizes (small, medium), loading states, disabled states, fluid layout, margin spacing
17
+ - Types: ButtonProps, ButtonSize, ButtonVariant, ButtonMargin, SpacingOption
18
+
19
+ ### Typography Component
20
+ - File: `docs/Typography.md`
21
+ - Purpose: Provides a consistent set of text styles for headings, paragraphs, and inline elements, ensuring clear hierarchy, readability, and brand-aligned communication across the interface.
22
+ - Key Features: Variants (h1-h6, p, span, small), text alignment, word breaking, bold text, margin spacing
23
+ - Types: TypographyProps, TypographyVariant, TypographyAlign, TypographyWordBreak, TypographyMargin, SpacingOption
24
+
25
+ ### Icon Component
26
+ - File: `docs/Icon.md`
27
+ - Purpose: A versatile and reusable element for displaying scalable vector icons, supporting various sizes, colors, and custom classes. Uses Google Material Symbols.
28
+ - Key Features: Material Symbols integration, sizes (small, medium, large), colors (black, white, gray, blue, green, red, yellow, orange)
29
+ - Types: IconProps, IconSize, IconColor
30
+ - Note: Requires Material Symbols font to be included in the project
31
+
32
+ ### MediaObject Component
33
+ - File: `docs/MediaObject.md`
34
+ - Purpose: A flexible layout pattern that combines media (icon, image, or avatar) with content (title and description). Perfect for displaying user profiles, product cards, notifications, and any content that needs a media element alongside text.
35
+ - Key Features: Media types (icon, image, avatar), title and description, margin and padding spacing, clickable support
36
+ - Types: MediaObjectProps, MediaObjectMargin, MediaObjectPadding, SpacingOption
37
+ - Related Components: Uses Avatar and Typography internally
38
+
39
+ ## Documentation Format
40
+
41
+ All documentation files follow a consistent format:
42
+ 1. Component name and purpose
43
+ 2. Props/Inputs table with types, defaults, and descriptions
44
+ 3. TypeScript type definitions
45
+ 4. Usage examples covering common use cases
46
+ 5. Behavior notes explaining important details
47
+ 6. Related components and links
48
+
49
+ ## Quick Reference
50
+
51
+ | Component | File | Primary Use Case |
52
+ |-----------|------|------------------|
53
+ | Button | `docs/Button.md` | User actions and interactions |
54
+ | Typography | `docs/Typography.md` | Text content and headings |
55
+ | Icon | `docs/Icon.md` | Visual icons and symbols |
56
+ | MediaObject | `docs/MediaObject.md` | Media + content layouts |
57
+
58
+ ## Additional Resources
59
+
60
+ - Component source code: `src/components/`
61
+ - Storybook documentation: Available at the project's Storybook instance
62
+ - Type definitions: `src/types/` and component-specific type exports
63
+ - Storybook static build: `storybook-static/`
64
+ - Component stories: `src/stories/`
65
+
66
+ ## Installation
67
+
68
+ ```bash
69
+ npm install cleanplate
70
+ ```
71
+
72
+ ## Usage
73
+
74
+ ```jsx
75
+ import { Button, Typography, Icon, MediaObject } from "cleanplate";
76
+ ```
package/package.json CHANGED
@@ -1,13 +1,16 @@
1
1
  {
2
2
  "name": "cleanplate",
3
- "version": "0.1.7",
3
+ "version": "0.1.8",
4
4
  "description": "CleanPlate - A Headless React UI Framework",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.es.js",
7
+ "types": "dist/index.d.ts",
7
8
  "scripts": {
8
9
  "storybook": "storybook dev -p 6001",
9
10
  "build-storybook": "storybook build",
10
- "build-package": "rollup -c",
11
+ "build-package": "rollup -c && npm run build-types",
12
+ "build-types": "tsc --emitDeclarationOnly",
13
+ "type-check": "tsc --noEmit",
11
14
  "generate-llms-txt": "storybook-llms-extractor --config llms.config.js"
12
15
  },
13
16
  "repository": {
@@ -27,6 +30,7 @@
27
30
  "homepage": "https://cleanplate.sivadass.in",
28
31
  "devDependencies": {
29
32
  "@babel/preset-react": "^7.23.3",
33
+ "@babel/preset-typescript": "^7.28.5",
30
34
  "@floating-ui/react": "^0.27.16",
31
35
  "@fluentui/storybook-llms-extractor": "^0.0.2",
32
36
  "@rollup/plugin-babel": "^6.0.4",
@@ -40,6 +44,10 @@
40
44
  "@storybook/react": "^7.5.3",
41
45
  "@storybook/react-vite": "^7.5.3",
42
46
  "@storybook/testing-library": "^0.2.2",
47
+ "@types/node": "^25.0.9",
48
+ "@types/react": "^19.2.8",
49
+ "@types/react-dom": "^19.2.3",
50
+ "baseline-browser-mapping": "^2.9.16",
43
51
  "prop-types": "^15.8.1",
44
52
  "react": "^18.2.0",
45
53
  "react-dom": "^18.2.0",
@@ -47,7 +55,8 @@
47
55
  "rollup-plugin-peer-deps-external": "^2.2.4",
48
56
  "rollup-plugin-postcss": "^4.0.2",
49
57
  "sass": "^1.72.0",
50
- "storybook": "^7.5.3"
58
+ "storybook": "^7.5.3",
59
+ "typescript": "^5.9.3"
51
60
  },
52
61
  "peerDependencies": {
53
62
  "react": ">=18",
package/tsconfig.json ADDED
@@ -0,0 +1,26 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2020",
4
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
5
+ "jsx": "react-jsx",
6
+ "module": "ESNext",
7
+ "moduleResolution": "node",
8
+ "resolveJsonModule": true,
9
+ "allowJs": true,
10
+ "checkJs": false,
11
+ "outDir": "./dist",
12
+ "declaration": true,
13
+ "declarationMap": true,
14
+ "emitDeclarationOnly": true,
15
+ "sourceMap": true,
16
+ "strict": false,
17
+ "noImplicitAny": false,
18
+ "esModuleInterop": true,
19
+ "skipLibCheck": true,
20
+ "forceConsistentCasingInFileNames": true,
21
+ "isolatedModules": true,
22
+ "allowSyntheticDefaultImports": true
23
+ },
24
+ "include": ["src/**/*"],
25
+ "exclude": ["node_modules", "dist", "storybook-static", "**/*.stories.*", "**/*.test.*", "**/*.spec.*"]
26
+ }