@sakura-ui/sakura-ui 0.1.11 → 0.1.13

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 (179) hide show
  1. package/package.json +8 -8
  2. package/packages/config/package.json +2 -2
  3. package/packages/config/src/index.ts +25 -9
  4. package/packages/config/tsconfig.json +1 -1
  5. package/packages/config/vite.config.ts +1 -1
  6. package/packages/core/coverage/clover.xml +258 -0
  7. package/packages/core/coverage/coverage-final.json +15 -0
  8. package/packages/core/coverage/lcov-report/base.css +224 -0
  9. package/packages/core/coverage/lcov-report/block-navigation.js +87 -0
  10. package/packages/core/coverage/lcov-report/favicon.png +0 -0
  11. package/packages/core/coverage/lcov-report/index.html +146 -0
  12. package/packages/core/coverage/lcov-report/prettify.css +1 -0
  13. package/packages/core/coverage/lcov-report/prettify.js +2 -0
  14. package/packages/core/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  15. package/packages/core/coverage/lcov-report/sorter.js +196 -0
  16. package/packages/core/coverage/lcov-report/src/components/Button.tsx.html +301 -0
  17. package/packages/core/coverage/lcov-report/src/components/Card.tsx.html +397 -0
  18. package/packages/core/coverage/lcov-report/src/components/Code.tsx.html +142 -0
  19. package/packages/core/coverage/lcov-report/src/components/Heading.tsx.html +403 -0
  20. package/packages/core/coverage/lcov-report/src/components/Icon.tsx.html +181 -0
  21. package/packages/core/coverage/lcov-report/src/components/IconButton.tsx.html +376 -0
  22. package/packages/core/coverage/lcov-report/src/components/InfoCard.tsx.html +238 -0
  23. package/packages/core/coverage/lcov-report/src/components/Link.tsx.html +322 -0
  24. package/packages/core/coverage/lcov-report/src/components/List.tsx.html +202 -0
  25. package/packages/core/coverage/lcov-report/src/components/Pre.tsx.html +151 -0
  26. package/packages/core/coverage/lcov-report/src/components/Table.tsx.html +427 -0
  27. package/packages/core/coverage/lcov-report/src/components/index.html +281 -0
  28. package/packages/core/coverage/lcov-report/src/components/index.ts.html +124 -0
  29. package/packages/core/coverage/lcov-report/src/index.html +116 -0
  30. package/packages/core/coverage/lcov-report/src/index.ts.html +169 -0
  31. package/packages/core/coverage/lcov-report/src/utils/class.ts.html +88 -0
  32. package/packages/core/coverage/lcov-report/src/utils/index.html +116 -0
  33. package/packages/core/coverage/lcov.info +523 -0
  34. package/packages/core/jest.config.ts +11 -0
  35. package/packages/core/package.json +6 -2
  36. package/packages/core/src/components/Button.tsx +60 -53
  37. package/packages/core/src/components/Card.tsx +89 -8
  38. package/packages/core/src/components/Code.tsx +2 -2
  39. package/packages/core/src/components/Heading.tsx +7 -12
  40. package/packages/core/src/components/Icon.tsx +8 -3
  41. package/packages/core/src/components/IconButton.tsx +57 -49
  42. package/packages/core/src/components/InfoCard.tsx +15 -11
  43. package/packages/core/src/components/Link.tsx +27 -24
  44. package/packages/core/src/components/List.tsx +4 -4
  45. package/packages/core/src/components/Pre.tsx +2 -2
  46. package/packages/core/src/components/Table.tsx +17 -14
  47. package/packages/core/src/components/index.ts +4 -2
  48. package/packages/core/src/index.ts +3 -0
  49. package/packages/core/tests/Card.test.tsx +19 -0
  50. package/packages/core/tsconfig.node.json +1 -1
  51. package/packages/core/vite.config.ts +1 -1
  52. package/packages/forms/coverage/clover.xml +60 -60
  53. package/packages/forms/coverage/coverage-final.json +17 -17
  54. package/packages/forms/coverage/lcov-report/index.html +23 -23
  55. package/packages/forms/coverage/lcov-report/src/components/Checkbox.tsx.html +8 -8
  56. package/packages/forms/coverage/lcov-report/src/components/FieldsetControl.tsx.html +4 -4
  57. package/packages/forms/coverage/lcov-report/src/components/LabelControl.tsx.html +60 -60
  58. package/packages/forms/coverage/lcov-report/src/components/Radio.tsx.html +3 -3
  59. package/packages/forms/coverage/lcov-report/src/components/Select.tsx.html +37 -31
  60. package/packages/forms/coverage/lcov-report/src/components/Text.tsx.html +16 -13
  61. package/packages/forms/coverage/lcov-report/src/components/Textarea.tsx.html +30 -27
  62. package/packages/forms/coverage/lcov-report/src/components/context.ts.html +5 -2
  63. package/packages/forms/coverage/lcov-report/src/components/controlled/CheckboxGroup.tsx.html +3 -3
  64. package/packages/forms/coverage/lcov-report/src/components/controlled/RadioGroup.tsx.html +3 -3
  65. package/packages/forms/coverage/lcov-report/src/components/controlled/SelectControl.tsx.html +3 -3
  66. package/packages/forms/coverage/lcov-report/src/components/controlled/TextControl.tsx.html +3 -3
  67. package/packages/forms/coverage/lcov-report/src/components/controlled/TextareaControl.tsx.html +3 -3
  68. package/packages/forms/coverage/lcov-report/src/components/controlled/index.html +1 -1
  69. package/packages/forms/coverage/lcov-report/src/components/controlled/index.ts.html +1 -1
  70. package/packages/forms/coverage/lcov-report/src/components/index.html +37 -37
  71. package/packages/forms/coverage/lcov-report/src/components/index.ts.html +9 -9
  72. package/packages/forms/coverage/lcov-report/src/index.html +5 -5
  73. package/packages/forms/coverage/lcov-report/src/index.ts.html +9 -9
  74. package/packages/forms/coverage/lcov-report/src/utils/index.html +1 -1
  75. package/packages/forms/coverage/lcov-report/src/utils/index.ts.html +2 -2
  76. package/packages/forms/coverage/lcov.info +91 -83
  77. package/packages/forms/dist/components/Checkbox.d.ts +2 -2
  78. package/packages/forms/dist/components/Checkbox.d.ts.map +1 -1
  79. package/packages/forms/dist/components/Checkbox.js +43 -0
  80. package/packages/forms/dist/components/Checkbox.js.map +1 -0
  81. package/packages/forms/dist/components/FieldsetControl.d.ts +2 -2
  82. package/packages/forms/dist/components/FieldsetControl.d.ts.map +1 -1
  83. package/packages/forms/dist/components/FieldsetControl.js +20 -0
  84. package/packages/forms/dist/components/FieldsetControl.js.map +1 -0
  85. package/packages/forms/dist/components/Input.d.ts +2 -2
  86. package/packages/forms/dist/components/Input.d.ts.map +1 -1
  87. package/packages/forms/dist/components/Input.js +27 -0
  88. package/packages/forms/dist/components/Input.js.map +1 -0
  89. package/packages/forms/dist/components/LabelControl.d.ts +2 -2
  90. package/packages/forms/dist/components/LabelControl.d.ts.map +1 -1
  91. package/packages/forms/dist/components/LabelControl.js +18 -0
  92. package/packages/forms/dist/components/LabelControl.js.map +1 -0
  93. package/packages/forms/dist/components/Radio.d.ts +2 -2
  94. package/packages/forms/dist/components/Radio.d.ts.map +1 -1
  95. package/packages/forms/dist/components/Radio.js +43 -0
  96. package/packages/forms/dist/components/Radio.js.map +1 -0
  97. package/packages/forms/dist/components/Select.d.ts +2 -2
  98. package/packages/forms/dist/components/Select.d.ts.map +1 -1
  99. package/packages/forms/dist/components/Select.js +39 -0
  100. package/packages/forms/dist/components/Select.js.map +1 -0
  101. package/packages/forms/dist/components/Textarea.d.ts +2 -2
  102. package/packages/forms/dist/components/Textarea.d.ts.map +1 -1
  103. package/packages/forms/dist/components/Textarea.js +34 -0
  104. package/packages/forms/dist/components/Textarea.js.map +1 -0
  105. package/packages/forms/dist/components/context.js +8 -0
  106. package/packages/forms/dist/components/context.js.map +1 -0
  107. package/packages/forms/dist/components/controlled/CheckboxGroup.d.ts +2 -2
  108. package/packages/forms/dist/components/controlled/CheckboxGroup.d.ts.map +1 -1
  109. package/packages/forms/dist/components/controlled/CheckboxGroup.js +12 -0
  110. package/packages/forms/dist/components/controlled/CheckboxGroup.js.map +1 -0
  111. package/packages/forms/dist/components/controlled/InputItem.js +2 -0
  112. package/packages/forms/dist/components/controlled/InputItem.js.map +1 -0
  113. package/packages/forms/dist/components/controlled/RadioGroup.d.ts +2 -2
  114. package/packages/forms/dist/components/controlled/RadioGroup.d.ts.map +1 -1
  115. package/packages/forms/dist/components/controlled/RadioGroup.js +12 -0
  116. package/packages/forms/dist/components/controlled/RadioGroup.js.map +1 -0
  117. package/packages/forms/dist/components/controlled/SelectControl.d.ts +2 -2
  118. package/packages/forms/dist/components/controlled/SelectControl.d.ts.map +1 -1
  119. package/packages/forms/dist/components/controlled/SelectControl.js +10 -0
  120. package/packages/forms/dist/components/controlled/SelectControl.js.map +1 -0
  121. package/packages/forms/dist/components/controlled/TextareaControl.d.ts +2 -2
  122. package/packages/forms/dist/components/controlled/TextareaControl.d.ts.map +1 -1
  123. package/packages/forms/dist/components/controlled/TextareaControl.js +10 -0
  124. package/packages/forms/dist/components/controlled/TextareaControl.js.map +1 -0
  125. package/packages/forms/dist/components/controlled/index.d.ts +0 -1
  126. package/packages/forms/dist/components/controlled/index.d.ts.map +1 -1
  127. package/packages/forms/dist/components/controlled/index.js +5 -0
  128. package/packages/forms/dist/components/controlled/index.js.map +1 -0
  129. package/packages/forms/dist/components/index.js +8 -0
  130. package/packages/forms/dist/components/index.js.map +1 -0
  131. package/packages/forms/dist/index.cjs.js +80 -80
  132. package/packages/forms/dist/index.cjs.js.map +1 -1
  133. package/packages/forms/dist/index.d.ts +1 -1
  134. package/packages/forms/dist/index.d.ts.map +1 -1
  135. package/packages/forms/dist/index.es.js +501 -504
  136. package/packages/forms/dist/index.es.js.map +1 -1
  137. package/packages/forms/dist/index.js +3 -0
  138. package/packages/forms/dist/index.js.map +1 -0
  139. package/packages/forms/dist/utils/class.js +2 -0
  140. package/packages/forms/dist/utils/class.js.map +1 -0
  141. package/packages/forms/jest.config.ts +0 -3
  142. package/packages/forms/node_modules/.bin/autoprefixer +4 -4
  143. package/packages/forms/node_modules/.bin/browserslist +2 -2
  144. package/packages/forms/node_modules/.bin/jest +4 -4
  145. package/packages/forms/node_modules/.bin/npm-run-all +4 -4
  146. package/packages/forms/node_modules/.bin/run-p +4 -4
  147. package/packages/forms/node_modules/.bin/run-s +4 -4
  148. package/packages/forms/node_modules/.bin/tailwind +4 -4
  149. package/packages/forms/node_modules/.bin/tailwindcss +4 -4
  150. package/packages/forms/node_modules/.bin/ts-jest +4 -4
  151. package/packages/forms/node_modules/.bin/ts-node +4 -4
  152. package/packages/forms/node_modules/.bin/ts-node-cwd +4 -4
  153. package/packages/forms/node_modules/.bin/ts-node-esm +4 -4
  154. package/packages/forms/node_modules/.bin/ts-node-script +4 -4
  155. package/packages/forms/node_modules/.bin/ts-node-transpile-only +4 -4
  156. package/packages/forms/node_modules/.bin/ts-script +4 -4
  157. package/packages/forms/node_modules/.bin/tsc +4 -4
  158. package/packages/forms/node_modules/.bin/tsc-alias +4 -4
  159. package/packages/forms/node_modules/.bin/tsserver +4 -4
  160. package/packages/forms/node_modules/.bin/vite +4 -4
  161. package/packages/forms/package.json +2 -2
  162. package/packages/forms/src/components/Checkbox.tsx +62 -59
  163. package/packages/forms/src/components/FieldsetControl.tsx +62 -55
  164. package/packages/forms/src/components/Input.tsx +38 -35
  165. package/packages/forms/src/components/LabelControl.tsx +56 -52
  166. package/packages/forms/src/components/Radio.tsx +8 -3
  167. package/packages/forms/src/components/Select.tsx +57 -56
  168. package/packages/forms/src/components/Textarea.tsx +58 -54
  169. package/packages/forms/src/components/controlled/CheckboxGroup.tsx +37 -37
  170. package/packages/forms/src/components/controlled/RadioGroup.tsx +5 -3
  171. package/packages/forms/src/components/controlled/SelectControl.tsx +28 -27
  172. package/packages/forms/src/components/controlled/TextareaControl.tsx +28 -27
  173. package/packages/forms/src/components/controlled/index.ts +0 -1
  174. package/packages/forms/src/index.ts +0 -1
  175. package/packages/forms/tsconfig.node.json +1 -1
  176. package/packages/forms/vite.config.ts +1 -1
  177. package/packages/forms/dist/components/controlled/InputControl.d.ts +0 -10
  178. package/packages/forms/dist/components/controlled/InputControl.d.ts.map +0 -1
  179. package/packages/forms/src/components/controlled/InputControl.tsx +0 -39
@@ -4,7 +4,7 @@ import { FieldsetControl } from '../FieldsetControl'
4
4
  import { InputItem } from './InputItem'
5
5
 
6
6
  export interface CheckboxGroupProps
7
- extends Omit<React.ComponentProps<'fieldset'>, 'onChange'> {
7
+ extends Omit<React.ComponentPropsWithRef<'fieldset'>, 'onChange'> {
8
8
  items: InputItem[]
9
9
  onChange: React.ChangeEventHandler<HTMLInputElement>
10
10
  labelText: string
@@ -14,40 +14,40 @@ export interface CheckboxGroupProps
14
14
  isRequired?: boolean
15
15
  }
16
16
 
17
- export const CheckboxGroup = React.forwardRef<
18
- HTMLFieldSetElement,
19
- CheckboxGroupProps
20
- >((props, ref) => {
21
- const {
22
- items,
23
- onChange,
24
- className,
25
- labelText,
26
- helperText,
27
- errorMessage,
28
- isInvalid,
29
- isRequired,
30
- ...restProps
31
- } = props
17
+ export const CheckboxGroup: React.ElementType<CheckboxGroupProps> =
18
+ React.forwardRef<HTMLFieldSetElement, CheckboxGroupProps>((props, ref) => {
19
+ const {
20
+ items,
21
+ onChange,
22
+ className,
23
+ labelText,
24
+ helperText,
25
+ errorMessage,
26
+ isInvalid,
27
+ isRequired,
28
+ ...restProps
29
+ } = props
32
30
 
33
- return (
34
- <FieldsetControl
35
- className={className}
36
- labelText={labelText}
37
- helperText={helperText}
38
- errorMessage={errorMessage}
39
- isInvalid={isInvalid}
40
- isRequired={isRequired}
41
- ref={ref}
42
- {...restProps}
43
- >
44
- {items.map(({ label, value }, index) => {
45
- return (
46
- <Checkbox key={index} value={value} onChange={onChange}>
47
- {label}
48
- </Checkbox>
49
- )
50
- })}
51
- </FieldsetControl>
52
- )
53
- }) as React.ElementType
31
+ return (
32
+ <FieldsetControl
33
+ className={className}
34
+ labelText={labelText}
35
+ helperText={helperText}
36
+ errorMessage={errorMessage}
37
+ isInvalid={isInvalid}
38
+ isRequired={isRequired}
39
+ ref={ref}
40
+ {...restProps}
41
+ >
42
+ {items.map(({ label, value }, index) => {
43
+ return (
44
+ <Checkbox key={index} value={value} onChange={onChange}>
45
+ {label}
46
+ </Checkbox>
47
+ )
48
+ })}
49
+ </FieldsetControl>
50
+ )
51
+ })
52
+
53
+ CheckboxGroup.displayName = 'CheckboxGroup'
@@ -4,7 +4,7 @@ import { FieldsetControl } from '../FieldsetControl'
4
4
  import { InputItem } from './InputItem'
5
5
 
6
6
  export interface RadioGroupProps
7
- extends Omit<React.ComponentProps<'fieldset'>, 'onChange'> {
7
+ extends Omit<React.ComponentPropsWithRef<'fieldset'>, 'onChange'> {
8
8
  items: InputItem[]
9
9
  onChange: React.ChangeEventHandler<HTMLInputElement>
10
10
  labelText: string
@@ -15,7 +15,7 @@ export interface RadioGroupProps
15
15
  defaultValue?: string
16
16
  }
17
17
 
18
- export const RadioGroup = React.forwardRef<
18
+ export const RadioGroup: React.ElementType<RadioGroupProps> = React.forwardRef<
19
19
  HTMLFieldSetElement,
20
20
  RadioGroupProps
21
21
  >((props, ref) => {
@@ -57,4 +57,6 @@ export const RadioGroup = React.forwardRef<
57
57
  })}
58
58
  </FieldsetControl>
59
59
  )
60
- }) as React.ElementType
60
+ })
61
+
62
+ RadioGroup.displayName = 'RadioGroup'
@@ -2,7 +2,8 @@ import React from 'react'
2
2
  import { LabelControl } from '../LabelControl'
3
3
  import { Select } from '../Select'
4
4
 
5
- export interface SelectControlProps extends React.ComponentProps<'select'> {
5
+ export interface SelectControlProps
6
+ extends React.ComponentPropsWithRef<'select'> {
6
7
  labelText: string
7
8
  helperText?: string
8
9
  errorMessage?: string
@@ -10,30 +11,30 @@ export interface SelectControlProps extends React.ComponentProps<'select'> {
10
11
  isRequired?: boolean
11
12
  }
12
13
 
13
- export const SelectControl = React.forwardRef<
14
- HTMLSelectElement,
15
- SelectControlProps
16
- >((props, ref) => {
17
- const {
18
- className,
19
- labelText,
20
- helperText,
21
- errorMessage,
22
- isInvalid,
23
- isRequired,
24
- ...restProps
25
- } = props
14
+ export const SelectControl: React.ElementType<SelectControlProps> =
15
+ React.forwardRef<HTMLSelectElement, SelectControlProps>((props, ref) => {
16
+ const {
17
+ className,
18
+ labelText,
19
+ helperText,
20
+ errorMessage,
21
+ isInvalid,
22
+ isRequired,
23
+ ...restProps
24
+ } = props
26
25
 
27
- return (
28
- <LabelControl
29
- className={className}
30
- labelText={labelText}
31
- helperText={helperText}
32
- errorMessage={errorMessage}
33
- isInvalid={isInvalid}
34
- isRequired={isRequired}
35
- >
36
- <Select ref={ref} {...restProps} />
37
- </LabelControl>
38
- )
39
- }) as React.ElementType
26
+ return (
27
+ <LabelControl
28
+ className={className}
29
+ labelText={labelText}
30
+ helperText={helperText}
31
+ errorMessage={errorMessage}
32
+ isInvalid={isInvalid}
33
+ isRequired={isRequired}
34
+ >
35
+ <Select ref={ref} {...restProps} />
36
+ </LabelControl>
37
+ )
38
+ })
39
+
40
+ SelectControl.displayName = 'SelectControl'
@@ -2,7 +2,8 @@ import React from 'react'
2
2
  import { LabelControl } from '../LabelControl'
3
3
  import { Textarea } from '../Textarea'
4
4
 
5
- export interface TextareaControlProps extends React.ComponentProps<'textarea'> {
5
+ export interface TextareaControlProps
6
+ extends React.ComponentPropsWithRef<'textarea'> {
6
7
  labelText: string
7
8
  helperText?: string
8
9
  errorMessage?: string
@@ -10,30 +11,30 @@ export interface TextareaControlProps extends React.ComponentProps<'textarea'> {
10
11
  isRequired?: boolean
11
12
  }
12
13
 
13
- export const TextareaControl = React.forwardRef<
14
- HTMLTextAreaElement,
15
- TextareaControlProps
16
- >((props, ref) => {
17
- const {
18
- className,
19
- labelText,
20
- helperText,
21
- errorMessage,
22
- isInvalid,
23
- isRequired,
24
- ...restProps
25
- } = props
14
+ export const TextareaControl: React.ElementType<TextareaControlProps> =
15
+ React.forwardRef<HTMLTextAreaElement, TextareaControlProps>((props, ref) => {
16
+ const {
17
+ className,
18
+ labelText,
19
+ helperText,
20
+ errorMessage,
21
+ isInvalid,
22
+ isRequired,
23
+ ...restProps
24
+ } = props
26
25
 
27
- return (
28
- <LabelControl
29
- className={className}
30
- labelText={labelText}
31
- helperText={helperText}
32
- errorMessage={errorMessage}
33
- isInvalid={isInvalid}
34
- isRequired={isRequired}
35
- >
36
- <Textarea ref={ref} {...restProps} />
37
- </LabelControl>
38
- )
39
- }) as React.ElementType
26
+ return (
27
+ <LabelControl
28
+ className={className}
29
+ labelText={labelText}
30
+ helperText={helperText}
31
+ errorMessage={errorMessage}
32
+ isInvalid={isInvalid}
33
+ isRequired={isRequired}
34
+ >
35
+ <Textarea ref={ref} {...restProps} />
36
+ </LabelControl>
37
+ )
38
+ })
39
+
40
+ TextareaControl.displayName = 'TextareaControl'
@@ -1,5 +1,4 @@
1
1
  export { CheckboxGroup } from './CheckboxGroup'
2
2
  export { RadioGroup } from './RadioGroup'
3
3
  export { SelectControl } from './SelectControl'
4
- export { InputControl } from './InputControl'
5
4
  export { TextareaControl } from './TextareaControl'
@@ -12,6 +12,5 @@ export {
12
12
  CheckboxGroup,
13
13
  RadioGroup,
14
14
  SelectControl,
15
- InputControl,
16
15
  TextareaControl
17
16
  } from './components/controlled'
@@ -2,7 +2,7 @@
2
2
  "compilerOptions": {
3
3
  "composite": true,
4
4
  "module": "ESNext",
5
- "moduleResolution": "Bundler",
5
+ "moduleResolution": "node",
6
6
  "allowSyntheticDefaultImports": true
7
7
  },
8
8
  "include": ["vite.config.ts"]
@@ -15,7 +15,7 @@ export default defineConfig({
15
15
  lib: {
16
16
  entry: resolve(__dirname, 'src', 'index.ts'),
17
17
  formats: ['es', 'cjs'],
18
- fileName: (ext) => `index.${ext}.js`
18
+ fileName: (ext: string) => `index.${ext}.js`
19
19
  },
20
20
  rollupOptions: {
21
21
  external: [...Object.keys(peerDependencies)]
@@ -1,10 +0,0 @@
1
- import React from 'react';
2
- export interface InputControlProps extends React.ComponentProps<'input'> {
3
- labelText: string;
4
- helperText?: string;
5
- errorMessage?: string;
6
- isInvalid?: boolean;
7
- isRequired?: boolean;
8
- }
9
- export declare const InputControl: React.ElementType<any>;
10
- //# sourceMappingURL=InputControl.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InputControl.d.ts","sourceRoot":"","sources":["../../../src/components/controlled/InputControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC;IACtE,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,eAAO,MAAM,YAAY,wBA0BF,CAAA"}
@@ -1,39 +0,0 @@
1
- import React from 'react'
2
- import { LabelControl } from '../LabelControl'
3
- import { Input } from '../Input'
4
-
5
- export interface InputControlProps extends React.ComponentProps<'input'> {
6
- labelText: string
7
- helperText?: string
8
- errorMessage?: string
9
- isInvalid?: boolean
10
- isRequired?: boolean
11
- }
12
-
13
- export const InputControl = React.forwardRef<
14
- HTMLInputElement,
15
- InputControlProps
16
- >((props, ref) => {
17
- const {
18
- className,
19
- labelText,
20
- helperText,
21
- errorMessage,
22
- isInvalid,
23
- isRequired,
24
- ...restProps
25
- } = props
26
-
27
- return (
28
- <LabelControl
29
- className={className}
30
- labelText={labelText}
31
- helperText={helperText}
32
- errorMessage={errorMessage}
33
- isInvalid={isInvalid}
34
- isRequired={isRequired}
35
- >
36
- <Input ref={ref} {...restProps} />
37
- </LabelControl>
38
- )
39
- }) as React.ElementType