@sakura-ui/sakura-ui 0.0.15 → 0.1.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 (107) hide show
  1. package/README.md +8 -7
  2. package/package.json +3 -3
  3. package/packages/{react → core}/package.json +3 -3
  4. package/packages/{react → core}/src/components/Button.tsx +2 -2
  5. package/packages/{react → core}/src/components/Card.tsx +2 -2
  6. package/packages/{react → core}/src/components/Code.tsx +2 -2
  7. package/packages/{react → core}/src/components/Heading.tsx +18 -18
  8. package/packages/{react → core}/src/components/Icon.tsx +2 -2
  9. package/packages/{react → core}/src/components/IconButton.tsx +2 -2
  10. package/packages/{react → core}/src/components/InfoCard.tsx +4 -4
  11. package/packages/{react → core}/src/components/Link.tsx +6 -6
  12. package/packages/{react → core}/src/components/List.tsx +4 -4
  13. package/packages/{react → core}/src/components/Pre.tsx +2 -2
  14. package/packages/{react → core}/src/components/Table.tsx +14 -14
  15. package/packages/core/tsconfig.json +11 -0
  16. package/packages/forms/coverage/clover.xml +209 -0
  17. package/packages/forms/coverage/coverage-final.json +18 -0
  18. package/packages/forms/coverage/lcov-report/base.css +224 -0
  19. package/packages/forms/coverage/lcov-report/block-navigation.js +87 -0
  20. package/packages/forms/coverage/lcov-report/favicon.png +0 -0
  21. package/packages/forms/coverage/lcov-report/index.html +161 -0
  22. package/packages/forms/coverage/lcov-report/prettify.css +1 -0
  23. package/packages/forms/coverage/lcov-report/prettify.js +2 -0
  24. package/packages/forms/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  25. package/packages/forms/coverage/lcov-report/sorter.js +196 -0
  26. package/packages/forms/coverage/lcov-report/src/components/Checkbox.tsx.html +295 -0
  27. package/packages/forms/coverage/lcov-report/src/components/FieldsetControl.tsx.html +295 -0
  28. package/packages/forms/coverage/lcov-report/src/components/LabelControl.tsx.html +289 -0
  29. package/packages/forms/coverage/lcov-report/src/components/Radio.tsx.html +262 -0
  30. package/packages/forms/coverage/lcov-report/src/components/Select.tsx.html +253 -0
  31. package/packages/forms/coverage/lcov-report/src/components/Text.tsx.html +217 -0
  32. package/packages/forms/coverage/lcov-report/src/components/Textarea.tsx.html +226 -0
  33. package/packages/forms/coverage/lcov-report/src/components/context.ts.html +133 -0
  34. package/packages/forms/coverage/lcov-report/src/components/controlled/CheckboxGroup.tsx.html +244 -0
  35. package/packages/forms/coverage/lcov-report/src/components/controlled/RadioGroup.tsx.html +265 -0
  36. package/packages/forms/coverage/lcov-report/src/components/controlled/SelectControl.tsx.html +205 -0
  37. package/packages/forms/coverage/lcov-report/src/components/controlled/TextControl.tsx.html +202 -0
  38. package/packages/forms/coverage/lcov-report/src/components/controlled/TextareaControl.tsx.html +205 -0
  39. package/packages/forms/coverage/lcov-report/src/components/controlled/index.html +191 -0
  40. package/packages/forms/coverage/lcov-report/src/components/controlled/index.ts.html +100 -0
  41. package/packages/forms/coverage/lcov-report/src/components/index.html +236 -0
  42. package/packages/forms/coverage/lcov-report/src/components/index.ts.html +106 -0
  43. package/packages/forms/coverage/lcov-report/src/index.html +116 -0
  44. package/packages/forms/coverage/lcov-report/src/index.ts.html +136 -0
  45. package/packages/forms/coverage/lcov-report/src/utils/index.html +116 -0
  46. package/packages/forms/coverage/lcov-report/src/utils/index.ts.html +88 -0
  47. package/packages/forms/coverage/lcov.info +426 -0
  48. package/packages/forms/dist/index.cjs.js +24 -27
  49. package/packages/forms/dist/index.cjs.js.map +1 -1
  50. package/packages/forms/dist/index.es.js +605 -378
  51. package/packages/forms/dist/index.es.js.map +1 -1
  52. package/packages/forms/jest.config.ts +14 -0
  53. package/packages/forms/node_modules/.bin/ts-jest +2 -2
  54. package/packages/forms/package.json +6 -1
  55. package/packages/forms/src/components/Checkbox.tsx +31 -13
  56. package/packages/forms/src/components/FieldsetControl.tsx +70 -0
  57. package/packages/forms/src/components/LabelControl.tsx +65 -0
  58. package/packages/forms/src/components/Radio.tsx +24 -7
  59. package/packages/forms/src/components/Select.tsx +24 -25
  60. package/packages/forms/src/components/Text.tsx +15 -21
  61. package/packages/forms/src/components/Textarea.tsx +19 -20
  62. package/packages/forms/src/components/context.ts +16 -0
  63. package/packages/forms/src/components/controlled/CheckboxGroup.tsx +53 -0
  64. package/packages/forms/src/components/controlled/RadioGroup.tsx +60 -0
  65. package/packages/forms/src/components/controlled/SelectControl.tsx +40 -0
  66. package/packages/forms/src/components/controlled/TextControl.tsx +39 -0
  67. package/packages/forms/src/components/controlled/TextareaControl.tsx +40 -0
  68. package/packages/forms/src/components/controlled/index.ts +5 -0
  69. package/packages/forms/src/components/index.ts +2 -2
  70. package/packages/forms/src/index.ts +11 -3
  71. package/packages/forms/tests/FieldsetControl.test.tsx +54 -0
  72. package/packages/forms/tests/LabelControl.test.tsx +50 -0
  73. package/packages/forms/tests/Radio.test.tsx +99 -0
  74. package/packages/forms/tests/Text.test.tsx +96 -0
  75. package/packages/forms/tsconfig.json +1 -17
  76. package/packages/forms/dist/components/Checkbox.d.ts +0 -5
  77. package/packages/forms/dist/components/Checkbox.d.ts.map +0 -1
  78. package/packages/forms/dist/components/CheckboxGroup.d.ts +0 -9
  79. package/packages/forms/dist/components/CheckboxGroup.d.ts.map +0 -1
  80. package/packages/forms/dist/components/InputItem.d.ts +0 -5
  81. package/packages/forms/dist/components/InputItem.d.ts.map +0 -1
  82. package/packages/forms/dist/components/Radio.d.ts +0 -5
  83. package/packages/forms/dist/components/Radio.d.ts.map +0 -1
  84. package/packages/forms/dist/components/RadioGroup.d.ts +0 -9
  85. package/packages/forms/dist/components/RadioGroup.d.ts.map +0 -1
  86. package/packages/forms/dist/components/Select.d.ts +0 -6
  87. package/packages/forms/dist/components/Select.d.ts.map +0 -1
  88. package/packages/forms/dist/components/Text.d.ts +0 -6
  89. package/packages/forms/dist/components/Text.d.ts.map +0 -1
  90. package/packages/forms/dist/components/Textarea.d.ts +0 -6
  91. package/packages/forms/dist/components/Textarea.d.ts.map +0 -1
  92. package/packages/forms/dist/components/index.d.ts +0 -8
  93. package/packages/forms/dist/components/index.d.ts.map +0 -1
  94. package/packages/forms/dist/index.d.ts +0 -2
  95. package/packages/forms/dist/index.d.ts.map +0 -1
  96. package/packages/forms/dist/utils/index.d.ts +0 -2
  97. package/packages/forms/dist/utils/index.d.ts.map +0 -1
  98. package/packages/forms/src/components/CheckboxGroup.tsx +0 -35
  99. package/packages/forms/src/components/RadioGroup.tsx +0 -36
  100. package/packages/forms/src/vite-env.d.ts +0 -1
  101. package/packages/react/tsconfig.json +0 -27
  102. /package/packages/{react → core}/src/components/index.ts +0 -0
  103. /package/packages/{react → core}/src/index.ts +0 -0
  104. /package/packages/{react → core}/src/utils/index.ts +0 -0
  105. /package/packages/{react → core}/tsconfig.node.json +0 -0
  106. /package/packages/{react → core}/vite.config.ts +0 -0
  107. /package/packages/forms/src/components/{InputItem.ts → controlled/InputItem.ts} +0 -0
@@ -0,0 +1,54 @@
1
+ import * as React from 'react'
2
+ import { render, screen } from '@testing-library/react'
3
+ import '@testing-library/jest-dom'
4
+
5
+ import { FieldsetControl } from '../src'
6
+
7
+ describe('FieldsetControl', () => {
8
+ test('renders FieldsetControl component vol1', async () => {
9
+ render(<FieldsetControl labelText="test" />)
10
+
11
+ const fieldset = screen.getByRole('group')
12
+
13
+ expect(fieldset).toBeInTheDocument()
14
+
15
+ expect(screen.getByText('test')).toBeInTheDocument()
16
+ })
17
+
18
+ test('renders FieldsetControl component vol2', async () => {
19
+ render(
20
+ <FieldsetControl
21
+ labelText="test"
22
+ helperText="helper"
23
+ errorMessage="error"
24
+ />
25
+ )
26
+
27
+ expect(screen.getByText('helper')).toBeInTheDocument()
28
+ expect(screen.queryByText('error')).toBeNull()
29
+ })
30
+
31
+ test('renders FieldsetControl component vol3', async () => {
32
+ render(
33
+ <FieldsetControl
34
+ labelText="test"
35
+ helperText="helper"
36
+ errorMessage="error"
37
+ isInvalid
38
+ />
39
+ )
40
+
41
+ expect(screen.getByText('helper')).toBeInTheDocument()
42
+ expect(screen.getByText('error')).toBeInTheDocument()
43
+ })
44
+
45
+ test('renders FieldsetControl component vol4', async () => {
46
+ render(<FieldsetControl labelText="test" />)
47
+
48
+ expect(screen.queryByText('*')).toBeNull()
49
+
50
+ render(<FieldsetControl labelText="test" isRequired />)
51
+
52
+ expect(screen.getByText('*')).toBeInTheDocument()
53
+ })
54
+ })
@@ -0,0 +1,50 @@
1
+ import * as React from 'react'
2
+ import { render, screen } from '@testing-library/react'
3
+ import '@testing-library/jest-dom'
4
+
5
+ import { LabelControl } from '../src'
6
+
7
+ describe('LabelControl', () => {
8
+ test('renders LabelControl component vol1', async () => {
9
+ render(<LabelControl labelText="test" data-testid="label" />)
10
+
11
+ const elem = screen.getByTestId('label')
12
+
13
+ expect(elem).toBeInTheDocument()
14
+
15
+ expect(screen.getByText('test')).toBeInTheDocument()
16
+ })
17
+
18
+ test('renders LabelControl component vol2', async () => {
19
+ render(
20
+ <LabelControl labelText="test" helperText="helper" errorMessage="error" />
21
+ )
22
+
23
+ expect(screen.getByText('helper')).toBeInTheDocument()
24
+ expect(screen.queryByText('error')).toBeNull()
25
+ })
26
+
27
+ test('renders LabelControl component vol3', async () => {
28
+ render(
29
+ <LabelControl
30
+ labelText="test"
31
+ helperText="helper"
32
+ errorMessage="error"
33
+ isInvalid
34
+ />
35
+ )
36
+
37
+ expect(screen.getByText('helper')).toBeInTheDocument()
38
+ expect(screen.getByText('error')).toBeInTheDocument()
39
+ })
40
+
41
+ test('renders LabelControl component vol4', async () => {
42
+ render(<LabelControl labelText="test" />)
43
+
44
+ expect(screen.queryByText('*')).toBeNull()
45
+
46
+ render(<LabelControl labelText="test" isRequired />)
47
+
48
+ expect(screen.getByText('*')).toBeInTheDocument()
49
+ })
50
+ })
@@ -0,0 +1,99 @@
1
+ import * as React from 'react'
2
+ import { render, screen } from '@testing-library/react'
3
+ import '@testing-library/jest-dom'
4
+
5
+ import { FieldsetControl, Radio } from '../src'
6
+
7
+ describe('should derive values from surrounding FieldsetControl', () => {
8
+ test('renders Text component vol1', async () => {
9
+ render(
10
+ <FieldsetControl labelText="test">
11
+ <Radio />
12
+ </FieldsetControl>
13
+ )
14
+
15
+ const elem = screen.getByRole('radio')
16
+
17
+ expect(elem).toBeInTheDocument()
18
+ })
19
+
20
+ test('renders Text component vol2', async () => {
21
+ render(
22
+ <FieldsetControl
23
+ labelText="test"
24
+ helperText="helper"
25
+ errorMessage="error"
26
+ >
27
+ <Radio />
28
+ </FieldsetControl>
29
+ )
30
+
31
+ const elem = screen.getByRole('radio')
32
+
33
+ expect(elem).toBeInTheDocument()
34
+
35
+ expect(elem).toHaveAttribute('aria-describedby', 'helper-text-:r1:')
36
+ expect(elem).toHaveAttribute('aria-errormessage', 'error-message-:r1:')
37
+ })
38
+
39
+ test('renders Text component vol3', async () => {
40
+ render(
41
+ <FieldsetControl labelText="test">
42
+ <Radio />
43
+ </FieldsetControl>
44
+ )
45
+
46
+ const elem = screen.getByRole('radio')
47
+
48
+ expect(elem).toBeInTheDocument()
49
+
50
+ expect(elem).toBeValid()
51
+ expect(elem).toHaveAttribute('aria-invalid', 'false')
52
+ })
53
+
54
+ test('renders Text component vol4', async () => {
55
+ render(
56
+ <FieldsetControl labelText="test" isInvalid>
57
+ <Radio />
58
+ </FieldsetControl>
59
+ )
60
+
61
+ const elem = screen.getByRole('radio')
62
+
63
+ expect(elem).toBeInTheDocument()
64
+
65
+ expect(elem).toBeInvalid()
66
+ expect(elem).toHaveAttribute('aria-invalid', 'true')
67
+ expect(elem).not.toBeRequired()
68
+ })
69
+
70
+ test('renders Text component vol5', async () => {
71
+ render(
72
+ <FieldsetControl labelText="test" isRequired>
73
+ <Radio defaultChecked={true} />
74
+ </FieldsetControl>
75
+ )
76
+
77
+ const elem = screen.getByRole('radio')
78
+
79
+ expect(elem).toBeInTheDocument()
80
+
81
+ expect(elem).toBeValid()
82
+ expect(elem).toBeRequired()
83
+ })
84
+
85
+ test('renders Text component vol6', async () => {
86
+ render(
87
+ <FieldsetControl labelText="test" isRequired>
88
+ <Radio />
89
+ </FieldsetControl>
90
+ )
91
+
92
+ const elem = screen.getByRole('radio')
93
+
94
+ expect(elem).toBeInTheDocument()
95
+
96
+ expect(elem).toBeInvalid()
97
+ expect(elem).toBeRequired()
98
+ })
99
+ })
@@ -0,0 +1,96 @@
1
+ import * as React from 'react'
2
+ import { render, screen } from '@testing-library/react'
3
+ import '@testing-library/jest-dom'
4
+
5
+ import { LabelControl, Text } from '../src'
6
+
7
+ describe('should derive values from surrounding LabelControl', () => {
8
+ test('renders Text component vol1', async () => {
9
+ render(
10
+ <LabelControl labelText="test">
11
+ <Text />
12
+ </LabelControl>
13
+ )
14
+
15
+ const text = screen.getByLabelText(/test/)
16
+
17
+ expect(text).toBeInTheDocument()
18
+ })
19
+
20
+ test('renders Text component vol2', async () => {
21
+ render(
22
+ <LabelControl labelText="test" helperText="helper" errorMessage="error">
23
+ <Text />
24
+ </LabelControl>
25
+ )
26
+
27
+ const text = screen.getByLabelText(/test/)
28
+
29
+ expect(text).toBeInTheDocument()
30
+
31
+ expect(text).toHaveAttribute('aria-describedby', 'helper-text-:r1:')
32
+ expect(text).toHaveAttribute('aria-errormessage', 'error-message-:r1:')
33
+ })
34
+
35
+ test('renders Text component vol3', async () => {
36
+ render(
37
+ <LabelControl labelText="test">
38
+ <Text />
39
+ </LabelControl>
40
+ )
41
+
42
+ const text = screen.getByLabelText(/test/)
43
+
44
+ expect(text).toBeInTheDocument()
45
+
46
+ expect(text).toBeValid()
47
+ expect(text).toHaveAttribute('aria-invalid', 'false')
48
+ })
49
+
50
+ test('renders Text component vol4', async () => {
51
+ render(
52
+ <LabelControl labelText="test" isInvalid>
53
+ <Text />
54
+ </LabelControl>
55
+ )
56
+
57
+ const text = screen.getByLabelText(/test/)
58
+
59
+ expect(text).toBeInTheDocument()
60
+
61
+ expect(text).toBeInvalid()
62
+ expect(text).toHaveAttribute('aria-invalid', 'true')
63
+ expect(text).not.toBeRequired()
64
+ })
65
+
66
+ test('renders Text component vol5', async () => {
67
+ render(
68
+ <LabelControl labelText="test" isRequired>
69
+ <Text defaultValue="test value" />
70
+ </LabelControl>
71
+ )
72
+
73
+ screen.getByLabelText
74
+ const text = screen.getByLabelText(/test/)
75
+
76
+ expect(text).toBeInTheDocument()
77
+
78
+ expect(text).toBeValid()
79
+ expect(text).toBeRequired()
80
+ })
81
+
82
+ test('renders Text component vol6', async () => {
83
+ render(
84
+ <LabelControl labelText="test" isRequired>
85
+ <Text />
86
+ </LabelControl>
87
+ )
88
+
89
+ const text = screen.getByLabelText(/test/)
90
+
91
+ expect(text).toBeInTheDocument()
92
+
93
+ expect(text).toBeInvalid()
94
+ expect(text).toBeRequired()
95
+ })
96
+ })
@@ -1,22 +1,6 @@
1
1
  {
2
+ "extends": "../../tsconfig.json",
2
3
  "compilerOptions": {
3
- "target": "ESNext",
4
- "useDefineForClassFields": true,
5
- "lib": ["DOM", "DOM.Iterable", "ESNext"],
6
- "allowJs": false,
7
- "skipLibCheck": true,
8
- "esModuleInterop": false,
9
- "allowSyntheticDefaultImports": true,
10
- "strict": true,
11
- "forceConsistentCasingInFileNames": true,
12
- "module": "ESNext",
13
- "moduleResolution": "Node",
14
- "resolveJsonModule": true,
15
- "isolatedModules": true,
16
- "jsx": "react-jsx",
17
- "outDir": "dist",
18
- "declaration": true,
19
- "declarationMap": true,
20
4
  "baseUrl": ".",
21
5
  "paths": {
22
6
  "@/*": ["src/*"]
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
- export interface CheckboxProps extends React.ComponentProps<'input'> {
3
- }
4
- export declare const Checkbox: React.ForwardRefExoticComponent<Omit<CheckboxProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
5
- //# sourceMappingURL=Checkbox.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../src/components/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC;CAAG;AAEvE,eAAO,MAAM,QAAQ,qGA8CpB,CAAA"}
@@ -1,9 +0,0 @@
1
- import React from 'react';
2
- import { InputItem } from './InputItem';
3
- export interface CheckboxGroupProps extends Omit<React.ComponentProps<'fieldset'>, 'onChange'> {
4
- items: InputItem[];
5
- onChange: React.ChangeEventHandler<HTMLInputElement>;
6
- label?: string;
7
- }
8
- export declare const CheckboxGroup: (props: CheckboxGroupProps) => JSX.Element;
9
- //# sourceMappingURL=CheckboxGroup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CheckboxGroup.d.ts","sourceRoot":"","sources":["../../src/components/CheckboxGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,WAAW,kBACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IAC1D,KAAK,EAAE,SAAS,EAAE,CAAA;IAClB,QAAQ,EAAE,KAAK,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;IACpD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,aAAa,UAAW,kBAAkB,gBAuBtD,CAAA"}
@@ -1,5 +0,0 @@
1
- export interface InputItem {
2
- label: string;
3
- value: string;
4
- }
5
- //# sourceMappingURL=InputItem.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InputItem.d.ts","sourceRoot":"","sources":["../../src/components/InputItem.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd"}
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
- export interface Props extends React.ComponentProps<'input'> {
3
- }
4
- export declare const Radio: React.ForwardRefExoticComponent<Omit<Props, "ref"> & React.RefAttributes<HTMLInputElement>>;
5
- //# sourceMappingURL=Radio.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Radio.d.ts","sourceRoot":"","sources":["../../src/components/Radio.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,MAAM,WAAW,KAAM,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC;CAAG;AAE/D,eAAO,MAAM,KAAK,6FAoChB,CAAA"}
@@ -1,9 +0,0 @@
1
- import React from 'react';
2
- import { InputItem } from './InputItem';
3
- export interface RadioGroupProps extends Omit<React.ComponentProps<'fieldset'>, 'onChange'> {
4
- items: InputItem[];
5
- onChange: React.ChangeEventHandler<HTMLInputElement>;
6
- label?: string;
7
- }
8
- export declare const RadioGroup: (props: RadioGroupProps) => JSX.Element;
9
- //# sourceMappingURL=RadioGroup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RadioGroup.d.ts","sourceRoot":"","sources":["../../src/components/RadioGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IAC1D,KAAK,EAAE,SAAS,EAAE,CAAA;IAClB,QAAQ,EAAE,KAAK,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;IACpD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,UAAU,UAAW,eAAe,gBAwBhD,CAAA"}
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
- export interface SelectProps extends React.ComponentPropsWithoutRef<'select'> {
3
- label?: string;
4
- }
5
- export declare const Select: React.ForwardRefExoticComponent<SelectProps & React.RefAttributes<HTMLSelectElement>>;
6
- //# sourceMappingURL=Select.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../src/components/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,wBAAwB,CAAC,QAAQ,CAAC;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,MAAM,uFAkDlB,CAAA"}
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
- export interface TextProps extends React.ComponentPropsWithoutRef<'input'> {
3
- label?: string;
4
- }
5
- export declare const Text: React.ForwardRefExoticComponent<TextProps & React.RefAttributes<HTMLInputElement>>;
6
- //# sourceMappingURL=Text.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../src/components/Text.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,MAAM,WAAW,SAAU,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC;IACxE,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,IAAI,oFA0ChB,CAAA"}
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
- export interface TextareaProps extends React.ComponentPropsWithoutRef<'textarea'> {
3
- label?: string;
4
- }
5
- export declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
6
- //# sourceMappingURL=Textarea.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../src/components/Textarea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,MAAM,WAAW,aACf,SAAQ,KAAK,CAAC,wBAAwB,CAAC,UAAU,CAAC;IAClD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,QAAQ,2FAuCpB,CAAA"}
@@ -1,8 +0,0 @@
1
- export { Checkbox } from './Checkbox';
2
- export { CheckboxGroup } from './CheckboxGroup';
3
- export { Radio } from './Radio';
4
- export { RadioGroup } from './RadioGroup';
5
- export { Select } from './Select';
6
- export { Text } from './Text';
7
- export { Textarea } from './Textarea';
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA"}
@@ -1,2 +0,0 @@
1
- export { Checkbox, CheckboxGroup, Radio, RadioGroup, Select, Text, Textarea } from './components';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,aAAa,EACb,KAAK,EACL,UAAU,EACV,MAAM,EACN,IAAI,EACJ,QAAQ,EACT,MAAM,cAAc,CAAA"}
@@ -1,2 +0,0 @@
1
- export declare const cx: (...classNames: any[]) => string;
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,EAAE,kBAAmB,GAAG,EAAE,WAAyC,CAAA"}
@@ -1,35 +0,0 @@
1
- import React from 'react'
2
- import { Checkbox } from './Checkbox'
3
- import { InputItem } from './InputItem'
4
-
5
- export interface CheckboxGroupProps
6
- extends Omit<React.ComponentProps<'fieldset'>, 'onChange'> {
7
- items: InputItem[]
8
- onChange: React.ChangeEventHandler<HTMLInputElement>
9
- label?: string
10
- }
11
-
12
- export const CheckboxGroup = (props: CheckboxGroupProps) => {
13
- const { items, onChange, label, className, children, ...newProps } = props
14
- const groupName = 'checkbox group ' + Math.random() * 100000
15
-
16
- return (
17
- <fieldset {...newProps}>
18
- {label && <legend>{label}</legend>}
19
- {items.map(({ label, value }, index) => {
20
- return (
21
- <div key={index}>
22
- <Checkbox
23
- className=""
24
- name={groupName}
25
- value={value}
26
- onChange={onChange}
27
- >
28
- {label}
29
- </Checkbox>
30
- </div>
31
- )
32
- })}
33
- </fieldset>
34
- )
35
- }
@@ -1,36 +0,0 @@
1
- import React from 'react'
2
- import { Radio } from './Radio'
3
- import { InputItem } from './InputItem'
4
-
5
- export interface RadioGroupProps
6
- extends Omit<React.ComponentProps<'fieldset'>, 'onChange'> {
7
- items: InputItem[]
8
- onChange: React.ChangeEventHandler<HTMLInputElement>
9
- label?: string
10
- }
11
-
12
- export const RadioGroup = (props: RadioGroupProps) => {
13
- const { items, onChange, label, className, children, ...newProps } = props
14
- const groupName = 'radio group ' + Math.random() * 100000
15
-
16
- return (
17
- <fieldset {...newProps}>
18
- {label && <legend>{label}</legend>}
19
- {items.map(({ label, value }, index) => {
20
- return (
21
- <div key={index}>
22
- <Radio
23
- className=""
24
- name={groupName}
25
- value={value}
26
- onChange={onChange}
27
- defaultChecked={index === 0}
28
- >
29
- {label}
30
- </Radio>
31
- </div>
32
- )
33
- })}
34
- </fieldset>
35
- )
36
- }
@@ -1 +0,0 @@
1
- /// <reference types="vite/client" />
@@ -1,27 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ESNext",
4
- "useDefineForClassFields": true,
5
- "lib": ["DOM", "DOM.Iterable", "ESNext"],
6
- "allowJs": false,
7
- "skipLibCheck": true,
8
- "esModuleInterop": false,
9
- "allowSyntheticDefaultImports": true,
10
- "strict": true,
11
- "forceConsistentCasingInFileNames": true,
12
- "module": "ESNext",
13
- "moduleResolution": "Node",
14
- "resolveJsonModule": true,
15
- "isolatedModules": true,
16
- "jsx": "react-jsx",
17
- "outDir": "dist",
18
- "declaration": true,
19
- "declarationMap": true,
20
- "baseUrl": ".",
21
- "paths": {
22
- "@/*": ["src/*"]
23
- }
24
- },
25
- "include": ["src"],
26
- "references": [{ "path": "./tsconfig.node.json" }]
27
- }
File without changes
File without changes
File without changes
File without changes