@sakura-ui/sakura-ui 0.1.10 → 0.1.12

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 (122) hide show
  1. package/README.md +8 -32
  2. package/package.json +8 -8
  3. package/packages/config/package.json +9 -9
  4. package/packages/config/src/index.ts +1 -1
  5. package/packages/config/tsconfig.json +1 -1
  6. package/packages/config/vite.config.ts +1 -1
  7. package/packages/core/package.json +13 -13
  8. package/packages/core/src/components/Button.tsx +27 -24
  9. package/packages/core/src/components/Card.tsx +2 -2
  10. package/packages/core/src/components/Code.tsx +2 -2
  11. package/packages/core/src/components/Heading.tsx +7 -12
  12. package/packages/core/src/components/Icon.tsx +8 -3
  13. package/packages/core/src/components/IconButton.tsx +41 -29
  14. package/packages/core/src/components/InfoCard.tsx +5 -2
  15. package/packages/core/src/components/Link.tsx +27 -24
  16. package/packages/core/src/components/List.tsx +4 -4
  17. package/packages/core/src/components/Pre.tsx +2 -2
  18. package/packages/core/src/components/Table.tsx +17 -14
  19. package/packages/core/tsconfig.node.json +1 -1
  20. package/packages/core/vite.config.ts +1 -1
  21. package/packages/forms/dist/components/Checkbox.d.ts +2 -2
  22. package/packages/forms/dist/components/Checkbox.d.ts.map +1 -1
  23. package/packages/forms/dist/components/Checkbox.js +43 -0
  24. package/packages/forms/dist/components/Checkbox.js.map +1 -0
  25. package/packages/forms/dist/components/FieldsetControl.d.ts +2 -2
  26. package/packages/forms/dist/components/FieldsetControl.d.ts.map +1 -1
  27. package/packages/forms/dist/components/FieldsetControl.js +20 -0
  28. package/packages/forms/dist/components/FieldsetControl.js.map +1 -0
  29. package/packages/forms/dist/components/Input.d.ts +2 -2
  30. package/packages/forms/dist/components/Input.d.ts.map +1 -1
  31. package/packages/forms/dist/components/Input.js +27 -0
  32. package/packages/forms/dist/components/Input.js.map +1 -0
  33. package/packages/forms/dist/components/LabelControl.d.ts +2 -2
  34. package/packages/forms/dist/components/LabelControl.d.ts.map +1 -1
  35. package/packages/forms/dist/components/LabelControl.js +18 -0
  36. package/packages/forms/dist/components/LabelControl.js.map +1 -0
  37. package/packages/forms/dist/components/Radio.d.ts +2 -2
  38. package/packages/forms/dist/components/Radio.d.ts.map +1 -1
  39. package/packages/forms/dist/components/Radio.js +43 -0
  40. package/packages/forms/dist/components/Radio.js.map +1 -0
  41. package/packages/forms/dist/components/Select.d.ts +2 -2
  42. package/packages/forms/dist/components/Select.d.ts.map +1 -1
  43. package/packages/forms/dist/components/Select.js +39 -0
  44. package/packages/forms/dist/components/Select.js.map +1 -0
  45. package/packages/forms/dist/components/Textarea.d.ts +2 -2
  46. package/packages/forms/dist/components/Textarea.d.ts.map +1 -1
  47. package/packages/forms/dist/components/Textarea.js +34 -0
  48. package/packages/forms/dist/components/Textarea.js.map +1 -0
  49. package/packages/forms/dist/components/context.js +8 -0
  50. package/packages/forms/dist/components/context.js.map +1 -0
  51. package/packages/forms/dist/components/controlled/CheckboxGroup.d.ts +2 -2
  52. package/packages/forms/dist/components/controlled/CheckboxGroup.d.ts.map +1 -1
  53. package/packages/forms/dist/components/controlled/CheckboxGroup.js +12 -0
  54. package/packages/forms/dist/components/controlled/CheckboxGroup.js.map +1 -0
  55. package/packages/forms/dist/components/controlled/InputItem.js +2 -0
  56. package/packages/forms/dist/components/controlled/InputItem.js.map +1 -0
  57. package/packages/forms/dist/components/controlled/RadioGroup.d.ts +2 -2
  58. package/packages/forms/dist/components/controlled/RadioGroup.d.ts.map +1 -1
  59. package/packages/forms/dist/components/controlled/RadioGroup.js +12 -0
  60. package/packages/forms/dist/components/controlled/RadioGroup.js.map +1 -0
  61. package/packages/forms/dist/components/controlled/SelectControl.d.ts +2 -2
  62. package/packages/forms/dist/components/controlled/SelectControl.d.ts.map +1 -1
  63. package/packages/forms/dist/components/controlled/SelectControl.js +10 -0
  64. package/packages/forms/dist/components/controlled/SelectControl.js.map +1 -0
  65. package/packages/forms/dist/components/controlled/TextareaControl.d.ts +2 -2
  66. package/packages/forms/dist/components/controlled/TextareaControl.d.ts.map +1 -1
  67. package/packages/forms/dist/components/controlled/TextareaControl.js +10 -0
  68. package/packages/forms/dist/components/controlled/TextareaControl.js.map +1 -0
  69. package/packages/forms/dist/components/controlled/index.d.ts +0 -1
  70. package/packages/forms/dist/components/controlled/index.d.ts.map +1 -1
  71. package/packages/forms/dist/components/controlled/index.js +5 -0
  72. package/packages/forms/dist/components/controlled/index.js.map +1 -0
  73. package/packages/forms/dist/components/index.js +8 -0
  74. package/packages/forms/dist/components/index.js.map +1 -0
  75. package/packages/forms/dist/index.cjs.js +79 -79
  76. package/packages/forms/dist/index.cjs.js.map +1 -1
  77. package/packages/forms/dist/index.d.ts +1 -1
  78. package/packages/forms/dist/index.d.ts.map +1 -1
  79. package/packages/forms/dist/index.es.js +500 -493
  80. package/packages/forms/dist/index.es.js.map +1 -1
  81. package/packages/forms/dist/index.js +3 -0
  82. package/packages/forms/dist/index.js.map +1 -0
  83. package/packages/forms/dist/utils/class.js +2 -0
  84. package/packages/forms/dist/utils/class.js.map +1 -0
  85. package/packages/forms/node_modules/.bin/autoprefixer +4 -4
  86. package/packages/forms/node_modules/.bin/jest +4 -4
  87. package/packages/forms/node_modules/.bin/npm-run-all +2 -2
  88. package/packages/forms/node_modules/.bin/run-p +2 -2
  89. package/packages/forms/node_modules/.bin/run-s +2 -2
  90. package/packages/forms/node_modules/.bin/tailwind +2 -2
  91. package/packages/forms/node_modules/.bin/tailwindcss +2 -2
  92. package/packages/forms/node_modules/.bin/ts-jest +4 -4
  93. package/packages/forms/node_modules/.bin/ts-node +4 -4
  94. package/packages/forms/node_modules/.bin/ts-node-cwd +4 -4
  95. package/packages/forms/node_modules/.bin/ts-node-esm +4 -4
  96. package/packages/forms/node_modules/.bin/ts-node-script +4 -4
  97. package/packages/forms/node_modules/.bin/ts-node-transpile-only +4 -4
  98. package/packages/forms/node_modules/.bin/ts-script +4 -4
  99. package/packages/forms/node_modules/.bin/tsc +4 -4
  100. package/packages/forms/node_modules/.bin/tsc-alias +4 -4
  101. package/packages/forms/node_modules/.bin/tsserver +4 -4
  102. package/packages/forms/node_modules/.bin/vite +4 -4
  103. package/packages/forms/package.json +16 -16
  104. package/packages/forms/src/components/Checkbox.tsx +62 -59
  105. package/packages/forms/src/components/FieldsetControl.tsx +62 -55
  106. package/packages/forms/src/components/Input.tsx +38 -35
  107. package/packages/forms/src/components/LabelControl.tsx +56 -52
  108. package/packages/forms/src/components/Radio.tsx +8 -3
  109. package/packages/forms/src/components/Select.tsx +57 -56
  110. package/packages/forms/src/components/Textarea.tsx +55 -30
  111. package/packages/forms/src/components/controlled/CheckboxGroup.tsx +37 -37
  112. package/packages/forms/src/components/controlled/RadioGroup.tsx +5 -3
  113. package/packages/forms/src/components/controlled/SelectControl.tsx +28 -27
  114. package/packages/forms/src/components/controlled/TextareaControl.tsx +28 -27
  115. package/packages/forms/src/components/controlled/index.ts +0 -1
  116. package/packages/forms/src/index.ts +0 -1
  117. package/packages/forms/tsconfig.node.json +1 -1
  118. package/packages/forms/vite.config.ts +1 -1
  119. package/packages/forms/dist/components/controlled/InputControl.d.ts +0 -10
  120. package/packages/forms/dist/components/controlled/InputControl.d.ts.map +0 -1
  121. package/packages/forms/node_modules/.bin/browserslist +0 -17
  122. package/packages/forms/src/components/controlled/InputControl.tsx +0 -39
@@ -1,7 +1,7 @@
1
1
  import React from 'react'
2
2
  import { cx } from '../utils/class'
3
3
 
4
- export interface TableProps extends React.ComponentProps<'table'> {}
4
+ export interface TableProps extends React.ComponentPropsWithoutRef<'table'> {}
5
5
 
6
6
  const styleBorder = `
7
7
  border
@@ -9,7 +9,7 @@ const styleBorder = `
9
9
  border-sumi-900
10
10
  `
11
11
 
12
- export const Table = (props: TableProps) => {
12
+ export const Table: React.ElementType<TableProps> = (props: TableProps) => {
13
13
  const { className, children, ...restProps } = props
14
14
 
15
15
  // If there is no break-all setting, the table will protrude when using a smartphone
@@ -26,9 +26,12 @@ export const Table = (props: TableProps) => {
26
26
  )
27
27
  }
28
28
 
29
- export interface CaptionProps extends React.ComponentProps<'caption'> {}
29
+ export interface CaptionProps
30
+ extends React.ComponentPropsWithoutRef<'caption'> {}
30
31
 
31
- export const Caption = (props: CaptionProps) => {
32
+ export const Caption: React.ElementType<CaptionProps> = (
33
+ props: CaptionProps
34
+ ) => {
32
35
  const { className, children, ...restProps } = props
33
36
 
34
37
  const style = `text-left`
@@ -39,9 +42,9 @@ export const Caption = (props: CaptionProps) => {
39
42
  )
40
43
  }
41
44
 
42
- export interface TheadProps extends React.ComponentProps<'thead'> {}
45
+ export interface TheadProps extends React.ComponentPropsWithoutRef<'thead'> {}
43
46
 
44
- export const Thead = (props: TheadProps) => {
47
+ export const Thead: React.ElementType<TheadProps> = (props: TheadProps) => {
45
48
  const { className, children, ...restProps } = props
46
49
 
47
50
  return (
@@ -51,9 +54,9 @@ export const Thead = (props: TheadProps) => {
51
54
  )
52
55
  }
53
56
 
54
- export interface TbodyProps extends React.ComponentProps<'tbody'> {}
57
+ export interface TbodyProps extends React.ComponentPropsWithoutRef<'tbody'> {}
55
58
 
56
- export const Tbody = (props: TbodyProps) => {
59
+ export const Tbody: React.ElementType<TbodyProps> = (props: TbodyProps) => {
57
60
  const { className, children, ...restProps } = props
58
61
 
59
62
  return (
@@ -63,9 +66,9 @@ export const Tbody = (props: TbodyProps) => {
63
66
  )
64
67
  }
65
68
 
66
- export interface ThProps extends React.ComponentProps<'th'> {}
69
+ export interface ThProps extends React.ComponentPropsWithoutRef<'th'> {}
67
70
 
68
- export const Th = (props: ThProps) => {
71
+ export const Th: React.ElementType<ThProps> = (props: ThProps) => {
69
72
  const { className, children, ...restProps } = props
70
73
 
71
74
  const style = `
@@ -80,9 +83,9 @@ export const Th = (props: ThProps) => {
80
83
  )
81
84
  }
82
85
 
83
- export interface TrProps extends React.ComponentProps<'tr'> {}
86
+ export interface TrProps extends React.ComponentPropsWithoutRef<'tr'> {}
84
87
 
85
- export const Tr = (props: TrProps) => {
88
+ export const Tr: React.ElementType<TrProps> = (props: TrProps) => {
86
89
  const { className, children, ...restProps } = props
87
90
 
88
91
  const style = ``
@@ -94,9 +97,9 @@ export const Tr = (props: TrProps) => {
94
97
  )
95
98
  }
96
99
 
97
- export interface TdProps extends React.ComponentProps<'td'> {}
100
+ export interface TdProps extends React.ComponentPropsWithoutRef<'td'> {}
98
101
 
99
- export const Td = (props: TdProps) => {
102
+ export const Td: React.ElementType<TdProps> = (props: TdProps) => {
100
103
  const { className, children, ...restProps } = props
101
104
 
102
105
  const style = `
@@ -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,5 +1,5 @@
1
1
  import React from 'react';
2
- export interface CheckboxProps extends React.ComponentProps<'input'> {
2
+ export interface CheckboxProps extends React.ComponentPropsWithRef<'input'> {
3
3
  }
4
- export declare const Checkbox: React.ElementType<any>;
4
+ export declare const Checkbox: React.ElementType<CheckboxProps>;
5
5
  //# sourceMappingURL=Checkbox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../src/components/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC;CAAG;AAEvE,eAAO,MAAM,QAAQ,wBA8DC,CAAA"}
1
+ {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../src/components/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,qBAAqB,CAAC,OAAO,CAAC;CAAG;AAE9E,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,aAAa,CA+DpD,CAAA"}
@@ -0,0 +1,43 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { cx } from '../utils/class';
4
+ import { ControllerContext } from './context';
5
+ export const Checkbox = React.forwardRef((props, ref) => {
6
+ const { className, children, ...restProps } = props;
7
+ const ctx = React.useContext(ControllerContext);
8
+ if (ctx.isRequired) {
9
+ restProps.required = true;
10
+ }
11
+ if (ctx.groupName) {
12
+ restProps.name = ctx.groupName;
13
+ }
14
+ const style = `
15
+ inline-block
16
+ text-base
17
+ cursor-pointer
18
+ py-2
19
+ mr-4
20
+ `;
21
+ const styleInput = `
22
+ peer
23
+ hidden
24
+ `;
25
+ const styleCheck = `
26
+ bg-clip-content
27
+ w-6 h-6
28
+ ml-1
29
+ mr-2
30
+ rounded
31
+ border
32
+ border-solid
33
+ border-sumi-900
34
+ fill-transparent
35
+ peer-checked:fill-white-1000
36
+ peer-checked:bg-sea-600
37
+ peer-checked:border-none
38
+ peer-disabled:border-sumi-500
39
+ `;
40
+ return (_jsx("label", { htmlFor: restProps.id, className: cx(style, className), children: _jsxs("span", { className: "flex items-center", children: [_jsx("input", { className: styleInput, type: "checkbox", "aria-describedby": ctx.helperTextId, "aria-errormessage": ctx.errorMessageId, "aria-invalid": ctx.isInvalid ?? false, ...restProps, ref: ref }), _jsx("span", { className: styleCheck, children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", children: _jsx("path", { d: "m9.55 17.65-5.325-5.325 1.05-1.075 4.275 4.275 9.175-9.175 1.05 1.075Z" }) }) }), _jsx("span", { className: "peer-disabled:text-sumi-500", children: children })] }) }));
41
+ });
42
+ Checkbox.displayName = 'Checkbox';
43
+ //# sourceMappingURL=Checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../src/components/Checkbox.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAI7C,MAAM,CAAC,MAAM,QAAQ,GAAqC,KAAK,CAAC,UAAU,CAGxE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACf,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAA;IACnD,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAA;IAC/C,IAAI,GAAG,CAAC,UAAU,EAAE;QAClB,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAA;KAC1B;IACD,IAAI,GAAG,CAAC,SAAS,EAAE;QACjB,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,SAAS,CAAA;KAC/B;IAED,MAAM,KAAK,GAAG;;;;;;GAMb,CAAA;IAED,MAAM,UAAU,GAAG;;;GAGlB,CAAA;IAED,MAAM,UAAU,GAAG;;;;;;;;;;;;;;GAclB,CAAA;IAED,OAAO,CACL,gBAAO,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,YAC3D,gBAAM,SAAS,EAAC,mBAAmB,aACjC,gBACE,SAAS,EAAE,UAAU,EACrB,IAAI,EAAC,UAAU,sBACG,GAAG,CAAC,YAAY,uBACf,GAAG,CAAC,cAAc,kBACvB,GAAG,CAAC,SAAS,IAAI,KAAK,KAChC,SAAS,EACb,GAAG,EAAE,GAAG,GACR,EACF,eAAM,SAAS,EAAE,UAAU,YACzB,cAAK,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,YAC5D,eAAM,CAAC,EAAC,wEAAwE,GAAG,GAC/E,GACD,EACP,eAAM,SAAS,EAAC,6BAA6B,YAAE,QAAQ,GAAQ,IAC1D,GACD,CACT,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- export interface FieldsetControlProps extends React.ComponentProps<'fieldset'> {
2
+ export interface FieldsetControlProps extends React.ComponentPropsWithRef<'fieldset'> {
3
3
  labelText: string;
4
4
  helperText?: string;
5
5
  errorMessage?: string;
@@ -7,5 +7,5 @@ export interface FieldsetControlProps extends React.ComponentProps<'fieldset'> {
7
7
  isRequired?: boolean;
8
8
  direction?: 'flex-col' | 'flex-row';
9
9
  }
10
- export declare const FieldsetControl: React.ElementType<any>;
10
+ export declare const FieldsetControl: React.ElementType<FieldsetControlProps>;
11
11
  //# sourceMappingURL=FieldsetControl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FieldsetControl.d.ts","sourceRoot":"","sources":["../../src/components/FieldsetControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,WAAW,oBAAqB,SAAQ,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC;IAC5E,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;IACpB,SAAS,CAAC,EAAE,UAAU,GAAG,UAAU,CAAA;CACpC;AAED,eAAO,MAAM,eAAe,wBAyDL,CAAA"}
1
+ {"version":3,"file":"FieldsetControl.d.ts","sourceRoot":"","sources":["../../src/components/FieldsetControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,WAAW,oBACf,SAAQ,KAAK,CAAC,qBAAqB,CAAC,UAAU,CAAC;IAC/C,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;IACpB,SAAS,CAAC,EAAE,UAAU,GAAG,UAAU,CAAA;CACpC;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,WAAW,CAAC,oBAAoB,CA6DhE,CAAA"}
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { cx } from '../utils/class';
4
+ import { ControllerContext } from './context';
5
+ export const FieldsetControl = React.forwardRef((props, ref) => {
6
+ const id = React.useId();
7
+ const { labelText, className, helperText, errorMessage, isInvalid, isRequired, direction, children, ...restProps } = props;
8
+ const groupName = restProps.name ?? `group-${id}`;
9
+ const context = {
10
+ groupName: groupName,
11
+ helperTextId: `helper-text-${id}`,
12
+ errorMessageId: `error-message-${id}`,
13
+ isInvalid: isInvalid ?? false,
14
+ isRequired: isRequired ?? false
15
+ };
16
+ const styleDirection = direction ?? 'flex-col';
17
+ return (_jsx(ControllerContext.Provider, { value: context, children: _jsxs("fieldset", { className: cx('mb-4', className), ref: ref, ...restProps, children: [_jsx("legend", { children: _jsxs("p", { className: cx('block mb-2 text-label', isInvalid && 'text-sun-800'), children: [labelText, isRequired && _jsx("span", { className: "text-sun-800", children: "\u00A0*" })] }) }), _jsx("div", { className: cx('inline-flex', styleDirection), children: children }), helperText && (_jsx("p", { id: context.helperTextId, className: "text-xs text-sumi-700 mt-2", children: helperText })), isInvalid && (_jsx("p", { id: context.errorMessageId, className: cx('text-xs text-sun-800', helperText ? 'mt-1' : 'mt-2'), children: errorMessage }))] }) }));
18
+ });
19
+ FieldsetControl.displayName = 'FieldsetControl';
20
+ //# sourceMappingURL=FieldsetControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldsetControl.js","sourceRoot":"","sources":["../../src/components/FieldsetControl.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAY7C,MAAM,CAAC,MAAM,eAAe,GAC1B,KAAK,CAAC,UAAU,CAA4C,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACzE,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAA;IACxB,MAAM,EACJ,SAAS,EACT,SAAS,EACT,UAAU,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EACV,SAAS,EACT,QAAQ,EACR,GAAG,SAAS,EACb,GAAG,KAAK,CAAA;IAET,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,EAAE,EAAE,CAAA;IAEjD,MAAM,OAAO,GAAG;QACd,SAAS,EAAE,SAAS;QACpB,YAAY,EAAE,eAAe,EAAE,EAAE;QACjC,cAAc,EAAE,iBAAiB,EAAE,EAAE;QACrC,SAAS,EAAE,SAAS,IAAI,KAAK;QAC7B,UAAU,EAAE,UAAU,IAAI,KAAK;KAChC,CAAA;IAED,MAAM,cAAc,GAAG,SAAS,IAAI,UAAU,CAAA;IAE9C,OAAO,CACL,KAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,YACxC,oBAAU,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,KAAM,SAAS,aACjE,2BACE,aACE,SAAS,EAAE,EAAE,CACX,uBAAuB,EACvB,SAAS,IAAI,cAAc,CAC5B,aAEA,SAAS,EACT,UAAU,IAAI,eAAM,SAAS,EAAC,cAAc,wBAAe,IAC1D,GACG,EACT,cAAK,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC,YAAG,QAAQ,GAAO,EAClE,UAAU,IAAI,CACb,YAAG,EAAE,EAAE,OAAO,CAAC,YAAY,EAAE,SAAS,EAAC,4BAA4B,YAChE,UAAU,GACT,CACL,EACA,SAAS,IAAI,CACZ,YACE,EAAE,EAAE,OAAO,CAAC,cAAc,EAC1B,SAAS,EAAE,EAAE,CACX,sBAAsB,EACtB,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAC7B,YAEA,YAAY,GACX,CACL,IACQ,GACgB,CAC9B,CAAA;AACH,CAAC,CAAC,CAAA;AAEJ,eAAe,CAAC,WAAW,GAAG,iBAAiB,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- export interface InputProps extends React.ComponentProps<'input'> {
2
+ export interface InputProps extends React.ComponentPropsWithRef<'input'> {
3
3
  }
4
- export declare const Input: React.ElementType<any>;
4
+ export declare const Input: React.ElementType<InputProps>;
5
5
  //# sourceMappingURL=Input.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../src/components/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC;CAAG;AAEpE,eAAO,MAAM,KAAK,wBAoCI,CAAA"}
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../src/components/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,qBAAqB,CAAC,OAAO,CAAC;CAAG;AAE3E,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,UAAU,CAqC9C,CAAA"}
@@ -0,0 +1,27 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { cx } from '../utils/class';
4
+ import { ControllerContext } from './context';
5
+ export const Input = React.forwardRef((props, ref) => {
6
+ const { className, ...restProps } = props;
7
+ const ctx = React.useContext(ControllerContext);
8
+ if (ctx.isRequired) {
9
+ restProps.required = true;
10
+ }
11
+ const invalidStyle = ctx.isInvalid ? 'border-sun-800' : 'border-sumi-900';
12
+ const style = `
13
+ p-4
14
+ rounded-lg
15
+ border
16
+ border-solid
17
+ focus:outline
18
+ focus:outline-2
19
+ focus:outline-wood-500
20
+ disabled:bg-transparent
21
+ disabled:text-sumi-500
22
+ disabled:border-sumi-500
23
+ `;
24
+ return (_jsx("input", { type: "text", id: restProps.id ?? ctx.id, className: cx(style, invalidStyle, className), "aria-describedby": ctx.helperTextId, "aria-errormessage": ctx.errorMessageId, "aria-invalid": ctx.isInvalid ?? false, ref: ref, ...restProps }));
25
+ });
26
+ Input.displayName = 'Input';
27
+ //# sourceMappingURL=Input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input.js","sourceRoot":"","sources":["../../src/components/Input.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAI7C,MAAM,CAAC,MAAM,KAAK,GAAkC,KAAK,CAAC,UAAU,CAGlE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACf,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAA;IACzC,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAA;IAC/C,IAAI,GAAG,CAAC,UAAU,EAAE;QAClB,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAA;KAC1B;IAED,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,CAAA;IAEzE,MAAM,KAAK,GAAG;;;;;;;;;;;GAWb,CAAA;IAED,OAAO,CACL,gBACE,IAAI,EAAC,MAAM,EACX,EAAE,EAAE,SAAS,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,EAC1B,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,CAAC,sBAC3B,GAAG,CAAC,YAAY,uBACf,GAAG,CAAC,cAAc,kBACvB,GAAG,CAAC,SAAS,IAAI,KAAK,EACpC,GAAG,EAAE,GAAG,KACJ,SAAS,GACb,CACH,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,KAAK,CAAC,WAAW,GAAG,OAAO,CAAA"}
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
- export interface LabelControlProps extends React.ComponentProps<'label'> {
2
+ export interface LabelControlProps extends React.ComponentPropsWithRef<'label'> {
3
3
  labelText: string;
4
4
  helperText?: string;
5
5
  errorMessage?: string;
6
6
  isInvalid?: boolean;
7
7
  isRequired?: boolean;
8
8
  }
9
- export declare const LabelControl: React.ElementType<any>;
9
+ export declare const LabelControl: React.ElementType<LabelControlProps>;
10
10
  //# sourceMappingURL=LabelControl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LabelControl.d.ts","sourceRoot":"","sources":["../../src/components/LabelControl.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,wBAqDF,CAAA"}
1
+ {"version":3,"file":"LabelControl.d.ts","sourceRoot":"","sources":["../../src/components/LabelControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,WAAW,iBACf,SAAQ,KAAK,CAAC,qBAAqB,CAAC,OAAO,CAAC;IAC5C,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,EAAE,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAsD1D,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { cx } from '../utils/class';
4
+ import { ControllerContext } from './context';
5
+ export const LabelControl = React.forwardRef((props, ref) => {
6
+ const id = React.useId();
7
+ const { labelText, className, helperText, errorMessage, isInvalid, isRequired, children, ...restProps } = props;
8
+ const context = {
9
+ id: props.htmlFor ?? `input-${id}`,
10
+ helperTextId: `helper-text-${id}`,
11
+ errorMessageId: `error-message-${id}`,
12
+ isInvalid: isInvalid ?? false,
13
+ isRequired: isRequired ?? false
14
+ };
15
+ return (_jsx(ControllerContext.Provider, { value: context, children: _jsxs("div", { className: cx('mb-4', className), children: [_jsxs("label", { className: cx('block mb-2 text-label', isInvalid && 'text-sun-800'), htmlFor: context.id, ref: ref, ...restProps, children: [labelText, isRequired && _jsx("span", { className: "text-sun-800", children: "\u00A0*" })] }), helperText && (_jsx("p", { id: context.helperTextId, className: "text-xs text-sumi-700 mb-2", children: helperText })), children, isInvalid && (_jsx("p", { id: context.errorMessageId, className: cx('text-xs text-sun-800', helperText ? 'mt-1' : 'mt-2'), children: errorMessage }))] }) }));
16
+ });
17
+ LabelControl.displayName = 'LabelControl';
18
+ //# sourceMappingURL=LabelControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LabelControl.js","sourceRoot":"","sources":["../../src/components/LabelControl.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAW7C,MAAM,CAAC,MAAM,YAAY,GACvB,KAAK,CAAC,UAAU,CAAsC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACnE,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAA;IACxB,MAAM,EACJ,SAAS,EACT,SAAS,EACT,UAAU,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EACV,QAAQ,EACR,GAAG,SAAS,EACb,GAAG,KAAK,CAAA;IAET,MAAM,OAAO,GAAG;QACd,EAAE,EAAE,KAAK,CAAC,OAAO,IAAI,SAAS,EAAE,EAAE;QAClC,YAAY,EAAE,eAAe,EAAE,EAAE;QACjC,cAAc,EAAE,iBAAiB,EAAE,EAAE;QACrC,SAAS,EAAE,SAAS,IAAI,KAAK;QAC7B,UAAU,EAAE,UAAU,IAAI,KAAK;KAChC,CAAA;IAED,OAAO,CACL,KAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,YACxC,eAAK,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,aACnC,iBACE,SAAS,EAAE,EAAE,CAAC,uBAAuB,EAAE,SAAS,IAAI,cAAc,CAAC,EACnE,OAAO,EAAE,OAAO,CAAC,EAAE,EACnB,GAAG,EAAE,GAAG,KACJ,SAAS,aAEZ,SAAS,EACT,UAAU,IAAI,eAAM,SAAS,EAAC,cAAc,wBAAe,IACtD,EACP,UAAU,IAAI,CACb,YAAG,EAAE,EAAE,OAAO,CAAC,YAAY,EAAE,SAAS,EAAC,4BAA4B,YAChE,UAAU,GACT,CACL,EACA,QAAQ,EACR,SAAS,IAAI,CACZ,YACE,EAAE,EAAE,OAAO,CAAC,cAAc,EAC1B,SAAS,EAAE,EAAE,CACX,sBAAsB,EACtB,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAC7B,YAEA,YAAY,GACX,CACL,IACG,GACqB,CAC9B,CAAA;AACH,CAAC,CAAC,CAAA;AAEJ,YAAY,CAAC,WAAW,GAAG,cAAc,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- export interface Props extends React.ComponentProps<'input'> {
2
+ export interface RadioProps extends React.ComponentPropsWithRef<'input'> {
3
3
  }
4
- export declare const Radio: React.ElementType<any>;
4
+ export declare const Radio: React.ElementType<RadioProps>;
5
5
  //# sourceMappingURL=Radio.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.d.ts","sourceRoot":"","sources":["../../src/components/Radio.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,WAAW,KAAM,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC;CAAG;AAE/D,eAAO,MAAM,KAAK,wBAsDK,CAAA"}
1
+ {"version":3,"file":"Radio.d.ts","sourceRoot":"","sources":["../../src/components/Radio.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,qBAAqB,CAAC,OAAO,CAAC;CAAG;AAE3E,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,UAAU,CAyD9C,CAAA"}
@@ -0,0 +1,43 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { cx } from '../utils/class';
4
+ import { ControllerContext } from './context';
5
+ export const Radio = React.forwardRef((props, ref) => {
6
+ const { className, children, ...newProps } = props;
7
+ const ctx = React.useContext(ControllerContext);
8
+ if (ctx.isRequired) {
9
+ newProps.required = true;
10
+ }
11
+ if (ctx.groupName) {
12
+ newProps.name = ctx.groupName;
13
+ }
14
+ const style = `
15
+ inline-block
16
+ text-base
17
+ cursor-pointer
18
+ py-2
19
+ mr-4
20
+
21
+ `;
22
+ const styleInput = `
23
+ peer
24
+ hidden
25
+ `;
26
+ const styleRadio = `
27
+ bg-clip-content
28
+ w-6 h-6
29
+ ml-1
30
+ mr-2
31
+ p-1
32
+ rounded-full
33
+ border
34
+ border-solid
35
+ border-sumi-900
36
+ peer-checked:bg-sea-600
37
+ peer-checked:border-sea-600
38
+ peer-disabled:border-sumi-500
39
+ `;
40
+ return (_jsx("label", { htmlFor: newProps.id, className: cx(style, className), children: _jsxs("span", { className: "flex items-center", children: [_jsx("input", { className: styleInput, type: "radio", "aria-describedby": ctx.helperTextId, "aria-errormessage": ctx.errorMessageId, "aria-invalid": ctx.isInvalid ?? false, ...newProps, ref: ref }), _jsx("span", { className: styleRadio }), _jsx("span", { className: "peer-disabled:text-sumi-500", children: children })] }) }));
41
+ });
42
+ Radio.displayName = 'Radio';
43
+ //# sourceMappingURL=Radio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../src/components/Radio.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAI7C,MAAM,CAAC,MAAM,KAAK,GAAkC,KAAK,CAAC,UAAU,CAGlE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACf,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,CAAA;IAClD,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAA;IAC/C,IAAI,GAAG,CAAC,UAAU,EAAE;QAClB,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAA;KACzB;IACD,IAAI,GAAG,CAAC,SAAS,EAAE;QACjB,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC,SAAS,CAAA;KAC9B;IAED,MAAM,KAAK,GAAG;;;;;;;GAOb,CAAA;IACD,MAAM,UAAU,GAAG;;;GAGlB,CAAA;IAED,MAAM,UAAU,GAAG;;;;;;;;;;;;;GAalB,CAAA;IACD,OAAO,CACL,gBAAO,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,YAC1D,gBAAM,SAAS,EAAC,mBAAmB,aACjC,gBACE,SAAS,EAAE,UAAU,EACrB,IAAI,EAAC,OAAO,sBACM,GAAG,CAAC,YAAY,uBACf,GAAG,CAAC,cAAc,kBACvB,GAAG,CAAC,SAAS,IAAI,KAAK,KAChC,QAAQ,EACZ,GAAG,EAAE,GAAG,GACR,EACF,eAAM,SAAS,EAAE,UAAU,GAAS,EACpC,eAAM,SAAS,EAAC,6BAA6B,YAAE,QAAQ,GAAQ,IAC1D,GACD,CACT,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,KAAK,CAAC,WAAW,GAAG,OAAO,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- export interface SelectProps extends React.ComponentProps<'select'> {
2
+ export interface SelectProps extends React.ComponentPropsWithRef<'select'> {
3
3
  }
4
- export declare const Select: React.ElementType<any>;
4
+ export declare const Select: React.ElementType<SelectProps>;
5
5
  //# sourceMappingURL=Select.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../src/components/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC;CAAG;AAEtE,eAAO,MAAM,MAAM,wBA0DG,CAAA"}
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../src/components/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,qBAAqB,CAAC,QAAQ,CAAC;CAAG;AAE7E,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,WAAW,CA2DhD,CAAA"}
@@ -0,0 +1,39 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { cx } from '../utils/class';
4
+ import { ControllerContext } from './context';
5
+ export const Select = React.forwardRef((props, ref) => {
6
+ const { className, children, ...restProps } = props;
7
+ const ctx = React.useContext(ControllerContext);
8
+ if (ctx.isRequired) {
9
+ restProps.required = true;
10
+ }
11
+ const invalidStyle = ctx.isInvalid ? 'border-sun-800' : 'border-sumi-900';
12
+ const style = `
13
+ peer
14
+ cursor-pointer
15
+ appearance-none
16
+ text-base
17
+ w-full
18
+ bg-white-100
19
+ border
20
+ border-solid
21
+ py-4 px-4 pr-8
22
+ rounded-[8px]
23
+ focus:outline
24
+ focus:outline-2
25
+ focus:outline-wood-500
26
+ disabled:bg-transparent
27
+ disabled:text-sumi-500
28
+ disabled:border-sumi-500
29
+ `;
30
+ const styleArrow = `
31
+ flex items-center
32
+ absolute inset-y-0 right-0
33
+ px-2
34
+ pointer-events-none
35
+ peer-disabled:fill-sumi-500
36
+ `;
37
+ return (_jsxs("label", { className: "inline-block relative", children: [_jsx("select", { id: restProps.id ?? ctx.id, className: cx(style, invalidStyle, props.className), "aria-describedby": ctx.helperTextId, "aria-errormessage": ctx.errorMessageId, "aria-invalid": ctx.isInvalid ?? false, ...restProps, ref: ref, children: children }), _jsx("span", { className: styleArrow, children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", height: "24", width: "24", children: _jsx("path", { d: "M12 15.05 6.35 9.4 7.4 8.35l4.6 4.6 4.6-4.6 1.05 1.05Z" }) }) })] }));
38
+ });
39
+ //# sourceMappingURL=Select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../src/components/Select.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAI7C,MAAM,CAAC,MAAM,MAAM,GAAmC,KAAK,CAAC,UAAU,CAGpE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACf,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAA;IACnD,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAA;IAC/C,IAAI,GAAG,CAAC,UAAU,EAAE;QAClB,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAA;KAC1B;IAED,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,CAAA;IAEzE,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;GAiBb,CAAA;IAED,MAAM,UAAU,GAAG;;;;;;GAMlB,CAAA;IAED,OAAO,CACL,iBAAO,SAAS,EAAC,uBAAuB,aACtC,iBACE,EAAE,EAAE,SAAS,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,EAC1B,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,sBACjC,GAAG,CAAC,YAAY,uBACf,GAAG,CAAC,cAAc,kBACvB,GAAG,CAAC,SAAS,IAAI,KAAK,KAChC,SAAS,EACb,GAAG,EAAE,GAAG,YAEP,QAAQ,GACF,EACT,eAAM,SAAS,EAAE,UAAU,YACzB,cAAK,KAAK,EAAC,4BAA4B,EAAC,MAAM,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,YAC5D,eAAM,CAAC,EAAC,wDAAwD,GAAG,GAC/D,GACD,IACD,CACT,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- export interface TextareaProps extends React.ComponentProps<'textarea'> {
2
+ export interface TextareaProps extends React.ComponentPropsWithRef<'textarea'> {
3
3
  }
4
- export declare const Textarea: React.ElementType<any>;
4
+ export declare const Textarea: React.ElementType<TextareaProps>;
5
5
  //# sourceMappingURL=Textarea.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../src/components/Textarea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC;CAAG;AAE1E,eAAO,MAAM,QAAQ,wBAsCC,CAAA"}
1
+ {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../src/components/Textarea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,WAAW,aACf,SAAQ,KAAK,CAAC,qBAAqB,CAAC,UAAU,CAAC;CAAG;AAEpD,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,aAAa,CA4DpD,CAAA"}
@@ -0,0 +1,34 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { cx } from '../utils/class';
4
+ import { ControllerContext } from './context';
5
+ export const Textarea = React.forwardRef((props, ref) => {
6
+ const { className, children, onChange, maxLength, ...restProps } = props;
7
+ const [count, setCount] = React.useState(0);
8
+ const onChangeHandler = (e) => {
9
+ if (onChange)
10
+ onChange(e);
11
+ setCount(e.target.value.length);
12
+ };
13
+ const ctx = React.useContext(ControllerContext);
14
+ if (ctx.isRequired) {
15
+ restProps.required = true;
16
+ }
17
+ const invalidStyle = ctx.isInvalid ? 'border-sun-800' : 'border-sumi-900';
18
+ const overtextStyle = count > (maxLength || 0) ? 'text-sun-800' : 'text-sumi-700';
19
+ const style = `
20
+ p-4
21
+ rounded-lg
22
+ border
23
+ border-solid
24
+ focus:outline
25
+ focus:outline-2
26
+ focus:outline-wood-500
27
+ disabled:bg-transparent
28
+ disabled:text-sumi-500
29
+ disabled:border-sumi-500
30
+ `;
31
+ return (_jsxs(_Fragment, { children: [_jsx("textarea", { id: restProps.id ?? ctx.id, className: cx(style, invalidStyle, className), "aria-describedby": ctx.helperTextId, "aria-errormessage": ctx.errorMessageId, "aria-invalid": ctx.isInvalid ?? false, onChange: onChangeHandler, ...restProps, ref: ref, children: children }), maxLength ? (_jsxs("p", { className: "text-xs text-sumi-700", children: [_jsx("span", { className: overtextStyle, children: count }), "/", _jsx("span", { children: maxLength })] })) : ('')] }));
32
+ });
33
+ Textarea.displayName = 'Textarea';
34
+ //# sourceMappingURL=Textarea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Textarea.js","sourceRoot":"","sources":["../../src/components/Textarea.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAK7C,MAAM,CAAC,MAAM,QAAQ,GAAqC,KAAK,CAAC,UAAU,CAGxE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACf,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAA;IAExE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IAE3C,MAAM,eAAe,GAAG,CAAC,CAAyC,EAAE,EAAE;QACpE,IAAI,QAAQ;YAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;QAEzB,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACjC,CAAC,CAAA;IAED,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAA;IAC/C,IAAI,GAAG,CAAC,UAAU,EAAE;QAClB,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAA;KAC1B;IAED,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,CAAA;IACzE,MAAM,aAAa,GACjB,KAAK,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAA;IAE7D,MAAM,KAAK,GAAG;;;;;;;;;;;GAWb,CAAA;IAED,OAAO,CACL,8BACE,mBACE,EAAE,EAAE,SAAS,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,EAC1B,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,CAAC,sBAC3B,GAAG,CAAC,YAAY,uBACf,GAAG,CAAC,cAAc,kBACvB,GAAG,CAAC,SAAS,IAAI,KAAK,EACpC,QAAQ,EAAE,eAAe,KACrB,SAAS,EACb,GAAG,EAAE,GAAG,YAEP,QAAQ,GACA,EACV,SAAS,CAAC,CAAC,CAAC,CACX,aAAG,SAAS,EAAC,uBAAuB,aAClC,eAAM,SAAS,EAAE,aAAa,YAAG,KAAK,GAAQ,OAC9C,yBAAO,SAAS,GAAQ,IACtB,CACL,CAAC,CAAC,CAAC,CACF,EAAE,CACH,IACA,CACJ,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAA"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ export const ControllerContext = React.createContext({
3
+ helperTextId: '',
4
+ errorMessageId: '',
5
+ isInvalid: false,
6
+ isRequired: false
7
+ });
8
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/components/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAWzB,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC,aAAa,CAAwB;IAC1E,YAAY,EAAE,EAAE;IAChB,cAAc,EAAE,EAAE;IAClB,SAAS,EAAE,KAAK;IAChB,UAAU,EAAE,KAAK;CAClB,CAAC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { InputItem } from './InputItem';
3
- export interface CheckboxGroupProps extends Omit<React.ComponentProps<'fieldset'>, 'onChange'> {
3
+ export interface CheckboxGroupProps extends Omit<React.ComponentPropsWithRef<'fieldset'>, 'onChange'> {
4
4
  items: InputItem[];
5
5
  onChange: React.ChangeEventHandler<HTMLInputElement>;
6
6
  labelText: string;
@@ -9,5 +9,5 @@ export interface CheckboxGroupProps extends Omit<React.ComponentProps<'fieldset'
9
9
  isInvalid?: boolean;
10
10
  isRequired?: boolean;
11
11
  }
12
- export declare const CheckboxGroup: React.ElementType<any>;
12
+ export declare const CheckboxGroup: React.ElementType<CheckboxGroupProps>;
13
13
  //# sourceMappingURL=CheckboxGroup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxGroup.d.ts","sourceRoot":"","sources":["../../../src/components/controlled/CheckboxGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,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,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,aAAa,wBAoCH,CAAA"}
1
+ {"version":3,"file":"CheckboxGroup.d.ts","sourceRoot":"","sources":["../../../src/components/controlled/CheckboxGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,WAAW,kBACf,SAAQ,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjE,KAAK,EAAE,SAAS,EAAE,CAAA;IAClB,QAAQ,EAAE,KAAK,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;IACpD,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,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAkC5D,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { Checkbox } from '../Checkbox';
4
+ import { FieldsetControl } from '../FieldsetControl';
5
+ export const CheckboxGroup = React.forwardRef((props, ref) => {
6
+ const { items, onChange, className, labelText, helperText, errorMessage, isInvalid, isRequired, ...restProps } = props;
7
+ return (_jsx(FieldsetControl, { className: className, labelText: labelText, helperText: helperText, errorMessage: errorMessage, isInvalid: isInvalid, isRequired: isRequired, ref: ref, ...restProps, children: items.map(({ label, value }, index) => {
8
+ return (_jsx(Checkbox, { value: value, onChange: onChange, children: label }, index));
9
+ }) }));
10
+ });
11
+ CheckboxGroup.displayName = 'CheckboxGroup';
12
+ //# sourceMappingURL=CheckboxGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckboxGroup.js","sourceRoot":"","sources":["../../../src/components/controlled/CheckboxGroup.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAcpD,MAAM,CAAC,MAAM,aAAa,GACxB,KAAK,CAAC,UAAU,CAA0C,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACvE,MAAM,EACJ,KAAK,EACL,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EACV,GAAG,SAAS,EACb,GAAG,KAAK,CAAA;IAET,OAAO,CACL,KAAC,eAAe,IACd,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,GAAG,KACJ,SAAS,YAEZ,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE;YACrC,OAAO,CACL,KAAC,QAAQ,IAAa,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,YACnD,KAAK,IADO,KAAK,CAET,CACZ,CAAA;QACH,CAAC,CAAC,GACc,CACnB,CAAA;AACH,CAAC,CAAC,CAAA;AAEJ,aAAa,CAAC,WAAW,GAAG,eAAe,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=InputItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputItem.js","sourceRoot":"","sources":["../../../src/components/controlled/InputItem.ts"],"names":[],"mappings":""}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { InputItem } from './InputItem';
3
- export interface RadioGroupProps extends Omit<React.ComponentProps<'fieldset'>, 'onChange'> {
3
+ export interface RadioGroupProps extends Omit<React.ComponentPropsWithRef<'fieldset'>, 'onChange'> {
4
4
  items: InputItem[];
5
5
  onChange: React.ChangeEventHandler<HTMLInputElement>;
6
6
  labelText: string;
@@ -10,5 +10,5 @@ export interface RadioGroupProps extends Omit<React.ComponentProps<'fieldset'>,
10
10
  isRequired?: boolean;
11
11
  defaultValue?: string;
12
12
  }
13
- export declare const RadioGroup: React.ElementType<any>;
13
+ export declare const RadioGroup: React.ElementType<RadioGroupProps>;
14
14
  //# sourceMappingURL=RadioGroup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroup.d.ts","sourceRoot":"","sources":["../../../src/components/controlled/RadioGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,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,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;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,eAAO,MAAM,UAAU,wBA0CA,CAAA"}
1
+ {"version":3,"file":"RadioGroup.d.ts","sourceRoot":"","sources":["../../../src/components/controlled/RadioGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjE,KAAK,EAAE,SAAS,EAAE,CAAA;IAClB,QAAQ,EAAE,KAAK,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;IACpD,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;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,eAAe,CA0CxD,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { Radio } from '../Radio';
4
+ import { FieldsetControl } from '../FieldsetControl';
5
+ export const RadioGroup = React.forwardRef((props, ref) => {
6
+ const { items, onChange, className, labelText, helperText, errorMessage, isInvalid, isRequired, defaultValue, ...restProps } = props;
7
+ return (_jsx(FieldsetControl, { className: className, labelText: labelText, helperText: helperText, errorMessage: errorMessage, isInvalid: isInvalid, isRequired: isRequired, ref: ref, ...restProps, children: items.map(({ label, value }, index) => {
8
+ return (_jsx(Radio, { value: value, onChange: onChange, defaultChecked: defaultValue === value, children: label }, index));
9
+ }) }));
10
+ });
11
+ RadioGroup.displayName = 'RadioGroup';
12
+ //# sourceMappingURL=RadioGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioGroup.js","sourceRoot":"","sources":["../../../src/components/controlled/RadioGroup.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAepD,MAAM,CAAC,MAAM,UAAU,GAAuC,KAAK,CAAC,UAAU,CAG5E,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACf,MAAM,EACJ,KAAK,EACL,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EACV,YAAY,EACZ,GAAG,SAAS,EACb,GAAG,KAAK,CAAA;IAET,OAAO,CACL,KAAC,eAAe,IACd,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,GAAG,KACJ,SAAS,YAEZ,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE;YACrC,OAAO,CACL,KAAC,KAAK,IAEJ,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,YAAY,KAAK,KAAK,YAErC,KAAK,IALD,KAAK,CAMJ,CACT,CAAA;QACH,CAAC,CAAC,GACc,CACnB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,UAAU,CAAC,WAAW,GAAG,YAAY,CAAA"}
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
- export interface SelectControlProps extends React.ComponentProps<'select'> {
2
+ export interface SelectControlProps extends React.ComponentPropsWithRef<'select'> {
3
3
  labelText: string;
4
4
  helperText?: string;
5
5
  errorMessage?: string;
6
6
  isInvalid?: boolean;
7
7
  isRequired?: boolean;
8
8
  }
9
- export declare const SelectControl: React.ElementType<any>;
9
+ export declare const SelectControl: React.ElementType<SelectControlProps>;
10
10
  //# sourceMappingURL=SelectControl.d.ts.map