@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.
- package/package.json +8 -8
- package/packages/config/package.json +2 -2
- package/packages/config/src/index.ts +25 -9
- package/packages/config/tsconfig.json +1 -1
- package/packages/config/vite.config.ts +1 -1
- package/packages/core/coverage/clover.xml +258 -0
- package/packages/core/coverage/coverage-final.json +15 -0
- package/packages/core/coverage/lcov-report/base.css +224 -0
- package/packages/core/coverage/lcov-report/block-navigation.js +87 -0
- package/packages/core/coverage/lcov-report/favicon.png +0 -0
- package/packages/core/coverage/lcov-report/index.html +146 -0
- package/packages/core/coverage/lcov-report/prettify.css +1 -0
- package/packages/core/coverage/lcov-report/prettify.js +2 -0
- package/packages/core/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/packages/core/coverage/lcov-report/sorter.js +196 -0
- package/packages/core/coverage/lcov-report/src/components/Button.tsx.html +301 -0
- package/packages/core/coverage/lcov-report/src/components/Card.tsx.html +397 -0
- package/packages/core/coverage/lcov-report/src/components/Code.tsx.html +142 -0
- package/packages/core/coverage/lcov-report/src/components/Heading.tsx.html +403 -0
- package/packages/core/coverage/lcov-report/src/components/Icon.tsx.html +181 -0
- package/packages/core/coverage/lcov-report/src/components/IconButton.tsx.html +376 -0
- package/packages/core/coverage/lcov-report/src/components/InfoCard.tsx.html +238 -0
- package/packages/core/coverage/lcov-report/src/components/Link.tsx.html +322 -0
- package/packages/core/coverage/lcov-report/src/components/List.tsx.html +202 -0
- package/packages/core/coverage/lcov-report/src/components/Pre.tsx.html +151 -0
- package/packages/core/coverage/lcov-report/src/components/Table.tsx.html +427 -0
- package/packages/core/coverage/lcov-report/src/components/index.html +281 -0
- package/packages/core/coverage/lcov-report/src/components/index.ts.html +124 -0
- package/packages/core/coverage/lcov-report/src/index.html +116 -0
- package/packages/core/coverage/lcov-report/src/index.ts.html +169 -0
- package/packages/core/coverage/lcov-report/src/utils/class.ts.html +88 -0
- package/packages/core/coverage/lcov-report/src/utils/index.html +116 -0
- package/packages/core/coverage/lcov.info +523 -0
- package/packages/core/jest.config.ts +11 -0
- package/packages/core/package.json +6 -2
- package/packages/core/src/components/Button.tsx +60 -53
- package/packages/core/src/components/Card.tsx +89 -8
- package/packages/core/src/components/Code.tsx +2 -2
- package/packages/core/src/components/Heading.tsx +7 -12
- package/packages/core/src/components/Icon.tsx +8 -3
- package/packages/core/src/components/IconButton.tsx +57 -49
- package/packages/core/src/components/InfoCard.tsx +15 -11
- package/packages/core/src/components/Link.tsx +27 -24
- package/packages/core/src/components/List.tsx +4 -4
- package/packages/core/src/components/Pre.tsx +2 -2
- package/packages/core/src/components/Table.tsx +17 -14
- package/packages/core/src/components/index.ts +4 -2
- package/packages/core/src/index.ts +3 -0
- package/packages/core/tests/Card.test.tsx +19 -0
- package/packages/core/tsconfig.node.json +1 -1
- package/packages/core/vite.config.ts +1 -1
- package/packages/forms/coverage/clover.xml +60 -60
- package/packages/forms/coverage/coverage-final.json +17 -17
- package/packages/forms/coverage/lcov-report/index.html +23 -23
- package/packages/forms/coverage/lcov-report/src/components/Checkbox.tsx.html +8 -8
- package/packages/forms/coverage/lcov-report/src/components/FieldsetControl.tsx.html +4 -4
- package/packages/forms/coverage/lcov-report/src/components/LabelControl.tsx.html +60 -60
- package/packages/forms/coverage/lcov-report/src/components/Radio.tsx.html +3 -3
- package/packages/forms/coverage/lcov-report/src/components/Select.tsx.html +37 -31
- package/packages/forms/coverage/lcov-report/src/components/Text.tsx.html +16 -13
- package/packages/forms/coverage/lcov-report/src/components/Textarea.tsx.html +30 -27
- package/packages/forms/coverage/lcov-report/src/components/context.ts.html +5 -2
- package/packages/forms/coverage/lcov-report/src/components/controlled/CheckboxGroup.tsx.html +3 -3
- package/packages/forms/coverage/lcov-report/src/components/controlled/RadioGroup.tsx.html +3 -3
- package/packages/forms/coverage/lcov-report/src/components/controlled/SelectControl.tsx.html +3 -3
- package/packages/forms/coverage/lcov-report/src/components/controlled/TextControl.tsx.html +3 -3
- package/packages/forms/coverage/lcov-report/src/components/controlled/TextareaControl.tsx.html +3 -3
- package/packages/forms/coverage/lcov-report/src/components/controlled/index.html +1 -1
- package/packages/forms/coverage/lcov-report/src/components/controlled/index.ts.html +1 -1
- package/packages/forms/coverage/lcov-report/src/components/index.html +37 -37
- package/packages/forms/coverage/lcov-report/src/components/index.ts.html +9 -9
- package/packages/forms/coverage/lcov-report/src/index.html +5 -5
- package/packages/forms/coverage/lcov-report/src/index.ts.html +9 -9
- package/packages/forms/coverage/lcov-report/src/utils/index.html +1 -1
- package/packages/forms/coverage/lcov-report/src/utils/index.ts.html +2 -2
- package/packages/forms/coverage/lcov.info +91 -83
- package/packages/forms/dist/components/Checkbox.d.ts +2 -2
- package/packages/forms/dist/components/Checkbox.d.ts.map +1 -1
- package/packages/forms/dist/components/Checkbox.js +43 -0
- package/packages/forms/dist/components/Checkbox.js.map +1 -0
- package/packages/forms/dist/components/FieldsetControl.d.ts +2 -2
- package/packages/forms/dist/components/FieldsetControl.d.ts.map +1 -1
- package/packages/forms/dist/components/FieldsetControl.js +20 -0
- package/packages/forms/dist/components/FieldsetControl.js.map +1 -0
- package/packages/forms/dist/components/Input.d.ts +2 -2
- package/packages/forms/dist/components/Input.d.ts.map +1 -1
- package/packages/forms/dist/components/Input.js +27 -0
- package/packages/forms/dist/components/Input.js.map +1 -0
- package/packages/forms/dist/components/LabelControl.d.ts +2 -2
- package/packages/forms/dist/components/LabelControl.d.ts.map +1 -1
- package/packages/forms/dist/components/LabelControl.js +18 -0
- package/packages/forms/dist/components/LabelControl.js.map +1 -0
- package/packages/forms/dist/components/Radio.d.ts +2 -2
- package/packages/forms/dist/components/Radio.d.ts.map +1 -1
- package/packages/forms/dist/components/Radio.js +43 -0
- package/packages/forms/dist/components/Radio.js.map +1 -0
- package/packages/forms/dist/components/Select.d.ts +2 -2
- package/packages/forms/dist/components/Select.d.ts.map +1 -1
- package/packages/forms/dist/components/Select.js +39 -0
- package/packages/forms/dist/components/Select.js.map +1 -0
- package/packages/forms/dist/components/Textarea.d.ts +2 -2
- package/packages/forms/dist/components/Textarea.d.ts.map +1 -1
- package/packages/forms/dist/components/Textarea.js +34 -0
- package/packages/forms/dist/components/Textarea.js.map +1 -0
- package/packages/forms/dist/components/context.js +8 -0
- package/packages/forms/dist/components/context.js.map +1 -0
- package/packages/forms/dist/components/controlled/CheckboxGroup.d.ts +2 -2
- package/packages/forms/dist/components/controlled/CheckboxGroup.d.ts.map +1 -1
- package/packages/forms/dist/components/controlled/CheckboxGroup.js +12 -0
- package/packages/forms/dist/components/controlled/CheckboxGroup.js.map +1 -0
- package/packages/forms/dist/components/controlled/InputItem.js +2 -0
- package/packages/forms/dist/components/controlled/InputItem.js.map +1 -0
- package/packages/forms/dist/components/controlled/RadioGroup.d.ts +2 -2
- package/packages/forms/dist/components/controlled/RadioGroup.d.ts.map +1 -1
- package/packages/forms/dist/components/controlled/RadioGroup.js +12 -0
- package/packages/forms/dist/components/controlled/RadioGroup.js.map +1 -0
- package/packages/forms/dist/components/controlled/SelectControl.d.ts +2 -2
- package/packages/forms/dist/components/controlled/SelectControl.d.ts.map +1 -1
- package/packages/forms/dist/components/controlled/SelectControl.js +10 -0
- package/packages/forms/dist/components/controlled/SelectControl.js.map +1 -0
- package/packages/forms/dist/components/controlled/TextareaControl.d.ts +2 -2
- package/packages/forms/dist/components/controlled/TextareaControl.d.ts.map +1 -1
- package/packages/forms/dist/components/controlled/TextareaControl.js +10 -0
- package/packages/forms/dist/components/controlled/TextareaControl.js.map +1 -0
- package/packages/forms/dist/components/controlled/index.d.ts +0 -1
- package/packages/forms/dist/components/controlled/index.d.ts.map +1 -1
- package/packages/forms/dist/components/controlled/index.js +5 -0
- package/packages/forms/dist/components/controlled/index.js.map +1 -0
- package/packages/forms/dist/components/index.js +8 -0
- package/packages/forms/dist/components/index.js.map +1 -0
- package/packages/forms/dist/index.cjs.js +80 -80
- package/packages/forms/dist/index.cjs.js.map +1 -1
- package/packages/forms/dist/index.d.ts +1 -1
- package/packages/forms/dist/index.d.ts.map +1 -1
- package/packages/forms/dist/index.es.js +501 -504
- package/packages/forms/dist/index.es.js.map +1 -1
- package/packages/forms/dist/index.js +3 -0
- package/packages/forms/dist/index.js.map +1 -0
- package/packages/forms/dist/utils/class.js +2 -0
- package/packages/forms/dist/utils/class.js.map +1 -0
- package/packages/forms/jest.config.ts +0 -3
- package/packages/forms/node_modules/.bin/autoprefixer +4 -4
- package/packages/forms/node_modules/.bin/browserslist +2 -2
- package/packages/forms/node_modules/.bin/jest +4 -4
- package/packages/forms/node_modules/.bin/npm-run-all +4 -4
- package/packages/forms/node_modules/.bin/run-p +4 -4
- package/packages/forms/node_modules/.bin/run-s +4 -4
- package/packages/forms/node_modules/.bin/tailwind +4 -4
- package/packages/forms/node_modules/.bin/tailwindcss +4 -4
- package/packages/forms/node_modules/.bin/ts-jest +4 -4
- package/packages/forms/node_modules/.bin/ts-node +4 -4
- package/packages/forms/node_modules/.bin/ts-node-cwd +4 -4
- package/packages/forms/node_modules/.bin/ts-node-esm +4 -4
- package/packages/forms/node_modules/.bin/ts-node-script +4 -4
- package/packages/forms/node_modules/.bin/ts-node-transpile-only +4 -4
- package/packages/forms/node_modules/.bin/ts-script +4 -4
- package/packages/forms/node_modules/.bin/tsc +4 -4
- package/packages/forms/node_modules/.bin/tsc-alias +4 -4
- package/packages/forms/node_modules/.bin/tsserver +4 -4
- package/packages/forms/node_modules/.bin/vite +4 -4
- package/packages/forms/package.json +2 -2
- package/packages/forms/src/components/Checkbox.tsx +62 -59
- package/packages/forms/src/components/FieldsetControl.tsx +62 -55
- package/packages/forms/src/components/Input.tsx +38 -35
- package/packages/forms/src/components/LabelControl.tsx +56 -52
- package/packages/forms/src/components/Radio.tsx +8 -3
- package/packages/forms/src/components/Select.tsx +57 -56
- package/packages/forms/src/components/Textarea.tsx +58 -54
- package/packages/forms/src/components/controlled/CheckboxGroup.tsx +37 -37
- package/packages/forms/src/components/controlled/RadioGroup.tsx +5 -3
- package/packages/forms/src/components/controlled/SelectControl.tsx +28 -27
- package/packages/forms/src/components/controlled/TextareaControl.tsx +28 -27
- package/packages/forms/src/components/controlled/index.ts +0 -1
- package/packages/forms/src/index.ts +0 -1
- package/packages/forms/tsconfig.node.json +1 -1
- package/packages/forms/vite.config.ts +1 -1
- package/packages/forms/dist/components/controlled/InputControl.d.ts +0 -10
- package/packages/forms/dist/components/controlled/InputControl.d.ts.map +0 -1
- package/packages/forms/src/components/controlled/InputControl.tsx +0 -39
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">84.41% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>130/154</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">80.95% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>51/63</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">48.71% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>19/39</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">82.85% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>116/140</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
</div>
|
|
62
62
|
</template>
|
|
63
63
|
</div>
|
|
64
|
-
<div class='status-line
|
|
64
|
+
<div class='status-line high'></div>
|
|
65
65
|
<div class="pad1">
|
|
66
66
|
<table class="coverage-summary">
|
|
67
67
|
<thead>
|
|
@@ -87,25 +87,25 @@
|
|
|
87
87
|
<td data-value="14" class="abs high">14/14</td>
|
|
88
88
|
<td data-value="100" class="pct high">100%</td>
|
|
89
89
|
<td data-value="0" class="abs high">0/0</td>
|
|
90
|
-
<td data-value="
|
|
91
|
-
<td data-value="12" class="abs
|
|
90
|
+
<td data-value="50" class="pct medium">50%</td>
|
|
91
|
+
<td data-value="12" class="abs medium">6/12</td>
|
|
92
92
|
<td data-value="100" class="pct high">100%</td>
|
|
93
93
|
<td data-value="14" class="abs high">14/14</td>
|
|
94
94
|
</tr>
|
|
95
95
|
|
|
96
96
|
<tr>
|
|
97
|
-
<td class="file
|
|
98
|
-
<td data-value="
|
|
99
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
97
|
+
<td class="file high" data-value="src/components"><a href="src/components/index.html">src/components</a></td>
|
|
98
|
+
<td data-value="87.36" class="pic high">
|
|
99
|
+
<div class="chart"><div class="cover-fill" style="width: 87%"></div><div class="cover-empty" style="width: 13%"></div></div>
|
|
100
100
|
</td>
|
|
101
|
-
<td data-value="
|
|
102
|
-
<td data-value="95" class="abs
|
|
103
|
-
<td data-value="
|
|
104
|
-
<td data-value="
|
|
105
|
-
<td data-value="
|
|
106
|
-
<td data-value="14" class="abs
|
|
107
|
-
<td data-value="
|
|
108
|
-
<td data-value="88" class="abs
|
|
101
|
+
<td data-value="87.36" class="pct high">87.36%</td>
|
|
102
|
+
<td data-value="95" class="abs high">83/95</td>
|
|
103
|
+
<td data-value="80.95" class="pct high">80.95%</td>
|
|
104
|
+
<td data-value="63" class="abs high">51/63</td>
|
|
105
|
+
<td data-value="85.71" class="pct high">85.71%</td>
|
|
106
|
+
<td data-value="14" class="abs high">12/14</td>
|
|
107
|
+
<td data-value="86.36" class="pct high">86.36%</td>
|
|
108
|
+
<td data-value="88" class="abs high">76/88</td>
|
|
109
109
|
</tr>
|
|
110
110
|
|
|
111
111
|
<tr>
|
|
@@ -146,7 +146,7 @@
|
|
|
146
146
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
147
147
|
Code coverage generated by
|
|
148
148
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
149
|
-
at 2023-03-
|
|
149
|
+
at 2023-03-30T13:17:37.839Z
|
|
150
150
|
</div>
|
|
151
151
|
<script src="prettify.js"></script>
|
|
152
152
|
<script>
|
|
@@ -211,13 +211,13 @@ export interface CheckboxProps extends React.ComponentProps<'input'> {}
|
|
|
211
211
|
|
|
212
212
|
export const Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(
|
|
213
213
|
<span class="fstat-no" title="function not covered" > (p</span>rops, ref) => {
|
|
214
|
-
const { className, children, ...
|
|
214
|
+
const { className, children, ...restProps } = <span class="cstat-no" title="statement not covered" >props</span>
|
|
215
215
|
const ctx = <span class="cstat-no" title="statement not covered" >React.useContext(ControllerContext)</span>
|
|
216
216
|
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (ctx.isRequired) {</span>
|
|
217
|
-
<span class="cstat-no" title="statement not covered" >
|
|
217
|
+
<span class="cstat-no" title="statement not covered" > restProps.required = true</span>
|
|
218
218
|
}
|
|
219
219
|
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (ctx.groupName) {</span>
|
|
220
|
-
<span class="cstat-no" title="statement not covered" >
|
|
220
|
+
<span class="cstat-no" title="statement not covered" > restProps.name = ctx.groupName</span>
|
|
221
221
|
}
|
|
222
222
|
|
|
223
223
|
const style = <span class="cstat-no" title="statement not covered" >`</span>
|
|
@@ -248,15 +248,15 @@ export const Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(
|
|
|
248
248
|
`
|
|
249
249
|
|
|
250
250
|
<span class="cstat-no" title="statement not covered" > return (</span>
|
|
251
|
-
<label htmlFor={
|
|
252
|
-
<
|
|
251
|
+
<label htmlFor={restProps.id} className={cx(style, className)}>
|
|
252
|
+
<span className="flex items-center">
|
|
253
253
|
<input
|
|
254
254
|
className={styleInput}
|
|
255
255
|
type="checkbox"
|
|
256
256
|
aria-describedby={ctx.helperTextId}
|
|
257
257
|
aria-errormessage={ctx.errorMessageId}
|
|
258
258
|
aria-invalid={ctx.isInvalid ?? false}
|
|
259
|
-
{...
|
|
259
|
+
{...restProps}
|
|
260
260
|
ref={ref}
|
|
261
261
|
/>
|
|
262
262
|
<span className={styleCheck}>
|
|
@@ -268,7 +268,7 @@ export const Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(
|
|
|
268
268
|
</svg>
|
|
269
269
|
</span>
|
|
270
270
|
{children}
|
|
271
|
-
</
|
|
271
|
+
</span>
|
|
272
272
|
</label>
|
|
273
273
|
)
|
|
274
274
|
}
|
|
@@ -280,7 +280,7 @@ export const Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(
|
|
|
280
280
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
281
281
|
Code coverage generated by
|
|
282
282
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
283
|
-
at 2023-03-
|
|
283
|
+
at 2023-03-30T13:17:37.839Z
|
|
284
284
|
</div>
|
|
285
285
|
<script src="../../prettify.js"></script>
|
|
286
286
|
<script>
|
|
@@ -231,10 +231,10 @@ export const FieldsetControl = React.forwardRef<
|
|
|
231
231
|
isRequired,
|
|
232
232
|
direction,
|
|
233
233
|
children,
|
|
234
|
-
...
|
|
234
|
+
...restProps
|
|
235
235
|
} = props
|
|
236
236
|
|
|
237
|
-
const groupName =
|
|
237
|
+
const groupName = restProps.name ?? `group-${id}`
|
|
238
238
|
|
|
239
239
|
const context = {
|
|
240
240
|
groupName: groupName,
|
|
@@ -248,7 +248,7 @@ export const FieldsetControl = React.forwardRef<
|
|
|
248
248
|
|
|
249
249
|
return (
|
|
250
250
|
<ControllerContext.Provider value={context}>
|
|
251
|
-
<fieldset className={cx('mb-4', className)} ref={ref} {...
|
|
251
|
+
<fieldset className={cx('mb-4', className)} ref={ref} {...restProps}>
|
|
252
252
|
<legend>
|
|
253
253
|
<p className={cx('block mb-2', isInvalid && 'text-sun-800')}>
|
|
254
254
|
{labelText}
|
|
@@ -280,7 +280,7 @@ export const FieldsetControl = React.forwardRef<
|
|
|
280
280
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
281
281
|
Code coverage generated by
|
|
282
282
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
283
|
-
at 2023-03-
|
|
283
|
+
at 2023-03-30T13:17:37.839Z
|
|
284
284
|
</div>
|
|
285
285
|
<script src="../../prettify.js"></script>
|
|
286
286
|
<script>
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
33
|
<span class="strong">100% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>16/16</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -146,9 +146,9 @@
|
|
|
146
146
|
<span class="cline-any cline-neutral"> </span>
|
|
147
147
|
<span class="cline-any cline-yes">4x</span>
|
|
148
148
|
<span class="cline-any cline-neutral"> </span>
|
|
149
|
-
<span class="cline-any cline-yes">11x</span>
|
|
150
149
|
<span class="cline-any cline-neutral"> </span>
|
|
151
150
|
<span class="cline-any cline-neutral"> </span>
|
|
151
|
+
<span class="cline-any cline-yes">17x</span>
|
|
152
152
|
<span class="cline-any cline-neutral"> </span>
|
|
153
153
|
<span class="cline-any cline-neutral"> </span>
|
|
154
154
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -156,19 +156,19 @@
|
|
|
156
156
|
<span class="cline-any cline-neutral"> </span>
|
|
157
157
|
<span class="cline-any cline-neutral"> </span>
|
|
158
158
|
<span class="cline-any cline-neutral"> </span>
|
|
159
|
-
<span class="cline-any cline-yes">11x</span>
|
|
160
159
|
<span class="cline-any cline-neutral"> </span>
|
|
161
|
-
<span class="cline-any cline-yes">11x</span>
|
|
162
160
|
<span class="cline-any cline-neutral"> </span>
|
|
161
|
+
<span class="cline-any cline-yes">17x</span>
|
|
163
162
|
<span class="cline-any cline-neutral"> </span>
|
|
163
|
+
<span class="cline-any cline-yes">17x</span>
|
|
164
164
|
<span class="cline-any cline-neutral"> </span>
|
|
165
165
|
<span class="cline-any cline-neutral"> </span>
|
|
166
166
|
<span class="cline-any cline-neutral"> </span>
|
|
167
167
|
<span class="cline-any cline-neutral"> </span>
|
|
168
|
-
<span class="cline-any cline-yes">11x</span>
|
|
169
168
|
<span class="cline-any cline-neutral"> </span>
|
|
170
169
|
<span class="cline-any cline-neutral"> </span>
|
|
171
170
|
<span class="cline-any cline-neutral"> </span>
|
|
171
|
+
<span class="cline-any cline-yes">17x</span>
|
|
172
172
|
<span class="cline-any cline-neutral"> </span>
|
|
173
173
|
<span class="cline-any cline-neutral"> </span>
|
|
174
174
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -204,7 +204,7 @@ import { cx } from '../utils'
|
|
|
204
204
|
import { ControllerContext } from './context'
|
|
205
205
|
|
|
206
206
|
export interface LabelControlProps
|
|
207
|
-
extends React.ComponentPropsWithoutRef<'
|
|
207
|
+
extends React.ComponentPropsWithoutRef<'label'> {
|
|
208
208
|
labelText: string
|
|
209
209
|
helperText?: string
|
|
210
210
|
errorMessage?: string
|
|
@@ -212,61 +212,61 @@ export interface LabelControlProps
|
|
|
212
212
|
isRequired?: boolean
|
|
213
213
|
}
|
|
214
214
|
|
|
215
|
-
export const LabelControl = React.forwardRef<
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
215
|
+
export const LabelControl = React.forwardRef<
|
|
216
|
+
HTMLLabelElement,
|
|
217
|
+
LabelControlProps
|
|
218
|
+
>((props, ref) => {
|
|
219
|
+
const id = React.useId()
|
|
220
|
+
const {
|
|
221
|
+
labelText,
|
|
222
|
+
className,
|
|
223
|
+
helperText,
|
|
224
|
+
errorMessage,
|
|
225
|
+
isInvalid,
|
|
226
|
+
isRequired,
|
|
227
|
+
children,
|
|
228
|
+
...restProps
|
|
229
|
+
} = props
|
|
228
230
|
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
return (
|
|
237
|
-
<ControllerContext.Provider value={context}>
|
|
238
|
-
<div className={cx('mb-4', className)} ref={ref} {...newProps}>
|
|
239
|
-
<label>
|
|
240
|
-
<p className={cx('block mb-2', isInvalid && 'text-sun-800')}>
|
|
241
|
-
{labelText}
|
|
242
|
-
{isRequired && <span className="text-sun-800">&nbsp;*</span>}
|
|
243
|
-
</p>
|
|
244
|
-
{children}
|
|
245
|
-
{helperText && (
|
|
246
|
-
<p
|
|
247
|
-
id={context.helperTextId}
|
|
248
|
-
className="text-sm text-sumi-700 mt-2"
|
|
249
|
-
>
|
|
250
|
-
{helperText}
|
|
251
|
-
</p>
|
|
252
|
-
)}
|
|
253
|
-
{isInvalid && (
|
|
254
|
-
<p
|
|
255
|
-
id={context.errorMessageId}
|
|
256
|
-
className={cx(
|
|
257
|
-
'text-sm text-sun-800',
|
|
258
|
-
helperText ? 'mt-1' : 'mt-2'
|
|
259
|
-
)}
|
|
260
|
-
>
|
|
261
|
-
{errorMessage}
|
|
262
|
-
</p>
|
|
263
|
-
)}
|
|
264
|
-
</label>
|
|
265
|
-
</div>
|
|
266
|
-
</ControllerContext.Provider>
|
|
267
|
-
)
|
|
231
|
+
const context = {
|
|
232
|
+
id: props.htmlFor ?? `input-${id}`,
|
|
233
|
+
helperTextId: `helper-text-${id}`,
|
|
234
|
+
errorMessageId: `error-message-${id}`,
|
|
235
|
+
isInvalid: isInvalid ?? false,
|
|
236
|
+
isRequired: isRequired ?? false
|
|
268
237
|
}
|
|
269
|
-
|
|
238
|
+
|
|
239
|
+
return (
|
|
240
|
+
<ControllerContext.Provider value={context}>
|
|
241
|
+
<div className={cx('mb-4', className)}>
|
|
242
|
+
<label
|
|
243
|
+
className={cx('block mb-2', isInvalid && 'text-sun-800')}
|
|
244
|
+
htmlFor={context.id}
|
|
245
|
+
ref={ref}
|
|
246
|
+
{...restProps}
|
|
247
|
+
>
|
|
248
|
+
{labelText}
|
|
249
|
+
{isRequired && <span className="text-sun-800">&nbsp;*</span>}
|
|
250
|
+
</label>
|
|
251
|
+
{children}
|
|
252
|
+
|
|
253
|
+
{helperText && (
|
|
254
|
+
<p id={context.helperTextId} className="text-sm text-sumi-700 mt-2">
|
|
255
|
+
{helperText}
|
|
256
|
+
</p>
|
|
257
|
+
)}
|
|
258
|
+
{isInvalid && (
|
|
259
|
+
<p
|
|
260
|
+
id={context.errorMessageId}
|
|
261
|
+
className={cx('text-sm text-sun-800', helperText ? 'mt-1' : 'mt-2')}
|
|
262
|
+
>
|
|
263
|
+
{errorMessage}
|
|
264
|
+
</p>
|
|
265
|
+
)}
|
|
266
|
+
</div>
|
|
267
|
+
</ControllerContext.Provider>
|
|
268
|
+
)
|
|
269
|
+
})
|
|
270
270
|
</pre></td></tr></table></pre>
|
|
271
271
|
|
|
272
272
|
<div class='push'></div><!-- for sticky footer -->
|
|
@@ -274,7 +274,7 @@ export const LabelControl = React.forwardRef<HTMLDivElement, LabelControlProp
|
|
|
274
274
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
275
275
|
Code coverage generated by
|
|
276
276
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
277
|
-
at 2023-03-
|
|
277
|
+
at 2023-03-30T13:17:37.839Z
|
|
278
278
|
</div>
|
|
279
279
|
<script src="../../prettify.js"></script>
|
|
280
280
|
<script>
|
|
@@ -224,7 +224,7 @@ export const Radio = React.forwardRef<HTMLInputElement, Props>((props, ref
|
|
|
224
224
|
`
|
|
225
225
|
return (
|
|
226
226
|
<label htmlFor={newProps.id} className={cx(style, className)}>
|
|
227
|
-
<
|
|
227
|
+
<span className="flex items-center">
|
|
228
228
|
<input
|
|
229
229
|
className={styleInput}
|
|
230
230
|
type="radio"
|
|
@@ -236,7 +236,7 @@ export const Radio = React.forwardRef<HTMLInputElement, Props>((props, ref
|
|
|
236
236
|
/>
|
|
237
237
|
<span className={styleRadio}></span>
|
|
238
238
|
{children}
|
|
239
|
-
</
|
|
239
|
+
</span>
|
|
240
240
|
</label>
|
|
241
241
|
)
|
|
242
242
|
})
|
|
@@ -247,7 +247,7 @@ export const Radio = React.forwardRef<HTMLInputElement, Props>((props, ref
|
|
|
247
247
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
248
248
|
Code coverage generated by
|
|
249
249
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
250
|
-
at 2023-03-
|
|
250
|
+
at 2023-03-30T13:17:37.839Z
|
|
251
251
|
</div>
|
|
252
252
|
<script src="../../prettify.js"></script>
|
|
253
253
|
<script>
|
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">90.9% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>10/11</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">57.14% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>4/7</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>1/1</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">90.9% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>10/11</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
</div>
|
|
62
62
|
</template>
|
|
63
63
|
</div>
|
|
64
|
-
<div class='status-line
|
|
64
|
+
<div class='status-line high'></div>
|
|
65
65
|
<pre><table class="coverage">
|
|
66
66
|
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
67
|
<a name='L2'></a><a href='#L2'>2</a>
|
|
@@ -119,7 +119,9 @@
|
|
|
119
119
|
<a name='L54'></a><a href='#L54'>54</a>
|
|
120
120
|
<a name='L55'></a><a href='#L55'>55</a>
|
|
121
121
|
<a name='L56'></a><a href='#L56'>56</a>
|
|
122
|
-
<a name='L57'></a><a href='#L57'>57</a
|
|
122
|
+
<a name='L57'></a><a href='#L57'>57</a>
|
|
123
|
+
<a name='L58'></a><a href='#L58'>58</a>
|
|
124
|
+
<a name='L59'></a><a href='#L59'>59</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">4x</span>
|
|
123
125
|
<span class="cline-any cline-yes">4x</span>
|
|
124
126
|
<span class="cline-any cline-yes">4x</span>
|
|
125
127
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -127,15 +129,15 @@
|
|
|
127
129
|
<span class="cline-any cline-neutral"> </span>
|
|
128
130
|
<span class="cline-any cline-yes">4x</span>
|
|
129
131
|
<span class="cline-any cline-neutral"> </span>
|
|
130
|
-
<span class="cline-any cline-
|
|
131
|
-
<span class="cline-any cline-
|
|
132
|
-
<span class="cline-any cline-
|
|
132
|
+
<span class="cline-any cline-yes">2x</span>
|
|
133
|
+
<span class="cline-any cline-yes">2x</span>
|
|
134
|
+
<span class="cline-any cline-yes">2x</span>
|
|
133
135
|
<span class="cline-any cline-no"> </span>
|
|
134
136
|
<span class="cline-any cline-neutral"> </span>
|
|
135
137
|
<span class="cline-any cline-neutral"> </span>
|
|
136
|
-
<span class="cline-any cline-
|
|
138
|
+
<span class="cline-any cline-yes">2x</span>
|
|
137
139
|
<span class="cline-any cline-neutral"> </span>
|
|
138
|
-
<span class="cline-any cline-
|
|
140
|
+
<span class="cline-any cline-yes">2x</span>
|
|
139
141
|
<span class="cline-any cline-neutral"> </span>
|
|
140
142
|
<span class="cline-any cline-neutral"> </span>
|
|
141
143
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -149,7 +151,9 @@
|
|
|
149
151
|
<span class="cline-any cline-neutral"> </span>
|
|
150
152
|
<span class="cline-any cline-neutral"> </span>
|
|
151
153
|
<span class="cline-any cline-neutral"> </span>
|
|
152
|
-
<span class="cline-any cline-
|
|
154
|
+
<span class="cline-any cline-neutral"> </span>
|
|
155
|
+
<span class="cline-any cline-yes">2x</span>
|
|
156
|
+
<span class="cline-any cline-neutral"> </span>
|
|
153
157
|
<span class="cline-any cline-neutral"> </span>
|
|
154
158
|
<span class="cline-any cline-neutral"> </span>
|
|
155
159
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -182,16 +186,17 @@ import { ControllerContext } from './context'
|
|
|
182
186
|
export interface SelectProps extends React.ComponentPropsWithoutRef<'select'> {}
|
|
183
187
|
|
|
184
188
|
export const Select = React.forwardRef<HTMLSelectElement, SelectProps>(
|
|
185
|
-
|
|
186
|
-
const { className, children, ...
|
|
187
|
-
const ctx =
|
|
188
|
-
|
|
189
|
-
<span class="cstat-no" title="statement not covered" >
|
|
189
|
+
(props, ref) => {
|
|
190
|
+
const { className, children, ...restProps } = props
|
|
191
|
+
const ctx = React.useContext(ControllerContext)
|
|
192
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (ctx.isRequired) {
|
|
193
|
+
<span class="cstat-no" title="statement not covered" > restProps.required = true</span>
|
|
190
194
|
}
|
|
191
195
|
|
|
192
|
-
const invalidStyle = <span class="
|
|
196
|
+
const invalidStyle = ctx.isInvalid ? <span class="branch-0 cbranch-no" title="branch not covered" >'border-sun-800' </span>: 'border-sumi-900'
|
|
193
197
|
|
|
194
|
-
const style =
|
|
198
|
+
const style = `
|
|
199
|
+
cursor-pointer
|
|
195
200
|
appearance-none
|
|
196
201
|
text-base
|
|
197
202
|
w-full
|
|
@@ -205,19 +210,20 @@ export const Select = React.forwardRef<HTMLSelectElement, SelectProps>(
|
|
|
205
210
|
focus:outline-wood-500
|
|
206
211
|
`
|
|
207
212
|
|
|
208
|
-
|
|
209
|
-
<
|
|
213
|
+
return (
|
|
214
|
+
<span className="inline-block relative">
|
|
210
215
|
<select
|
|
216
|
+
id={restProps.id ?? ctx.id}
|
|
211
217
|
className={cx(style, invalidStyle, props.className)}
|
|
212
218
|
aria-describedby={ctx.helperTextId}
|
|
213
219
|
aria-errormessage={ctx.errorMessageId}
|
|
214
|
-
aria-invalid={ctx.isInvalid ?? false}
|
|
215
|
-
{...
|
|
220
|
+
aria-invalid={ctx.isInvalid ?? <span class="branch-1 cbranch-no" title="branch not covered" >false}</span>
|
|
221
|
+
{...restProps}
|
|
216
222
|
ref={ref}
|
|
217
223
|
>
|
|
218
224
|
{children}
|
|
219
225
|
</select>
|
|
220
|
-
<
|
|
226
|
+
<span className="flex items-center absolute inset-y-0 right-0 px-2 pointer-events-none">
|
|
221
227
|
<svg
|
|
222
228
|
xmlns="http://www.w3.org/2000/svg"
|
|
223
229
|
className="fill-sumi-900"
|
|
@@ -226,8 +232,8 @@ export const Select = React.forwardRef<HTMLSelectElement, SelectProps>(
|
|
|
226
232
|
>
|
|
227
233
|
<path d="M12 15.05 6.35 9.4 7.4 8.35l4.6 4.6 4.6-4.6 1.05 1.05Z" />
|
|
228
234
|
</svg>
|
|
229
|
-
</
|
|
230
|
-
</
|
|
235
|
+
</span>
|
|
236
|
+
</span>
|
|
231
237
|
)
|
|
232
238
|
}
|
|
233
239
|
)
|
|
@@ -238,7 +244,7 @@ export const Select = React.forwardRef<HTMLSelectElement, SelectProps>(
|
|
|
238
244
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
239
245
|
Code coverage generated by
|
|
240
246
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
241
|
-
at 2023-03-
|
|
247
|
+
at 2023-03-30T13:17:37.839Z
|
|
242
248
|
</div>
|
|
243
249
|
<script src="../../prettify.js"></script>
|
|
244
250
|
<script>
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">85.71% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>6/7</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -107,7 +107,8 @@
|
|
|
107
107
|
<a name='L42'></a><a href='#L42'>42</a>
|
|
108
108
|
<a name='L43'></a><a href='#L43'>43</a>
|
|
109
109
|
<a name='L44'></a><a href='#L44'>44</a>
|
|
110
|
-
<a name='L45'></a><a href='#L45'>45</a
|
|
110
|
+
<a name='L45'></a><a href='#L45'>45</a>
|
|
111
|
+
<a name='L46'></a><a href='#L46'>46</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">4x</span>
|
|
111
112
|
<span class="cline-any cline-yes">4x</span>
|
|
112
113
|
<span class="cline-any cline-yes">4x</span>
|
|
113
114
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -115,15 +116,15 @@
|
|
|
115
116
|
<span class="cline-any cline-neutral"> </span>
|
|
116
117
|
<span class="cline-any cline-yes">4x</span>
|
|
117
118
|
<span class="cline-any cline-neutral"> </span>
|
|
118
|
-
<span class="cline-any cline-yes">
|
|
119
|
-
<span class="cline-any cline-yes">
|
|
120
|
-
<span class="cline-any cline-yes">
|
|
119
|
+
<span class="cline-any cline-yes">8x</span>
|
|
120
|
+
<span class="cline-any cline-yes">8x</span>
|
|
121
|
+
<span class="cline-any cline-yes">8x</span>
|
|
121
122
|
<span class="cline-any cline-yes">2x</span>
|
|
122
123
|
<span class="cline-any cline-neutral"> </span>
|
|
123
124
|
<span class="cline-any cline-neutral"> </span>
|
|
124
|
-
<span class="cline-any cline-yes">
|
|
125
|
+
<span class="cline-any cline-yes">8x</span>
|
|
125
126
|
<span class="cline-any cline-neutral"> </span>
|
|
126
|
-
<span class="cline-any cline-yes">
|
|
127
|
+
<span class="cline-any cline-yes">8x</span>
|
|
127
128
|
<span class="cline-any cline-neutral"> </span>
|
|
128
129
|
<span class="cline-any cline-neutral"> </span>
|
|
129
130
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -138,7 +139,8 @@
|
|
|
138
139
|
<span class="cline-any cline-neutral"> </span>
|
|
139
140
|
<span class="cline-any cline-neutral"> </span>
|
|
140
141
|
<span class="cline-any cline-neutral"> </span>
|
|
141
|
-
<span class="cline-any cline-yes">
|
|
142
|
+
<span class="cline-any cline-yes">8x</span>
|
|
143
|
+
<span class="cline-any cline-neutral"> </span>
|
|
142
144
|
<span class="cline-any cline-neutral"> </span>
|
|
143
145
|
<span class="cline-any cline-neutral"> </span>
|
|
144
146
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -159,10 +161,10 @@ export interface TextProps extends React.ComponentPropsWithoutRef<'input'>
|
|
|
159
161
|
|
|
160
162
|
export const Text = React.forwardRef<HTMLInputElement, TextProps>(
|
|
161
163
|
(props, ref) => {
|
|
162
|
-
const { className, ...
|
|
164
|
+
const { className, ...restProps } = props
|
|
163
165
|
const ctx = React.useContext(ControllerContext)
|
|
164
166
|
if (ctx.isRequired) {
|
|
165
|
-
|
|
167
|
+
restProps.required = true
|
|
166
168
|
}
|
|
167
169
|
|
|
168
170
|
const invalidStyle = ctx.isInvalid ? 'border-sun-800' : 'border-sumi-900'
|
|
@@ -185,11 +187,12 @@ export const Text = React.forwardRef<HTMLInputElement, TextProps>(
|
|
|
185
187
|
return (
|
|
186
188
|
<input
|
|
187
189
|
type="text"
|
|
190
|
+
id={restProps.id ?? ctx.id}
|
|
188
191
|
className={cx(style, invalidStyle, className)}
|
|
189
192
|
aria-describedby={ctx.helperTextId}
|
|
190
193
|
aria-errormessage={ctx.errorMessageId}
|
|
191
194
|
aria-invalid={ctx.isInvalid ?? <span class="branch-1 cbranch-no" title="branch not covered" >false}</span>
|
|
192
|
-
{...
|
|
195
|
+
{...restProps}
|
|
193
196
|
ref={ref}
|
|
194
197
|
/>
|
|
195
198
|
)
|
|
@@ -202,7 +205,7 @@ export const Text = React.forwardRef<HTMLInputElement, TextProps>(
|
|
|
202
205
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
203
206
|
Code coverage generated by
|
|
204
207
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
205
|
-
at 2023-03-
|
|
208
|
+
at 2023-03-30T13:17:37.839Z
|
|
206
209
|
</div>
|
|
207
210
|
<script src="../../prettify.js"></script>
|
|
208
211
|
<script>
|