@charcoal-ui/react 3.10.1 → 3.11.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.
- package/dist/components/Checkbox/index.d.ts.map +1 -1
- package/dist/components/DropdownSelector/Popover/index.d.ts +1 -2
- package/dist/components/DropdownSelector/Popover/index.d.ts.map +1 -1
- package/dist/components/Modal/index.d.ts +1 -1
- package/dist/components/Modal/index.d.ts.map +1 -1
- package/dist/components/Modal/useCustomModalOverlay.d.ts.map +1 -1
- package/dist/components/MultiSelect/index.d.ts.map +1 -1
- package/dist/components/Radio/index.d.ts +4 -4
- package/dist/components/Radio/index.d.ts.map +1 -1
- package/dist/components/TextArea/index.d.ts.map +1 -1
- package/dist/components/TextField/index.d.ts.map +1 -1
- package/dist/core/CharcoalProvider.d.ts +1 -1
- package/dist/core/CharcoalProvider.d.ts.map +1 -1
- package/dist/index.cjs.js +120 -348
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +82 -310
- package/dist/index.esm.js.map +1 -1
- package/package.json +13 -17
- package/src/components/Checkbox/__snapshots__/index.story.storyshot +560 -154
- package/src/components/Checkbox/index.story.tsx +46 -74
- package/src/components/Checkbox/index.tsx +1 -0
- package/src/components/DropdownSelector/Popover/index.tsx +1 -2
- package/src/components/IconButton/__snapshots__/index.story.storyshot +6 -8
- package/src/components/IconButton/index.story.tsx +14 -37
- package/src/components/LoadingSpinner/__snapshots__/index.story.storyshot +139 -1
- package/src/components/LoadingSpinner/index.story.tsx +18 -7
- package/src/components/Modal/index.tsx +1 -1
- package/src/components/Modal/useCustomModalOverlay.tsx +5 -4
- package/src/components/MultiSelect/__snapshots__/index.story.storyshot +32 -44
- package/src/components/MultiSelect/index.story.tsx +88 -192
- package/src/components/MultiSelect/index.tsx +2 -1
- package/src/components/Radio/__snapshots__/index.story.storyshot +1 -1
- package/src/components/Radio/index.story.tsx +20 -21
- package/src/components/Radio/index.tsx +14 -13
- package/src/components/Switch/__snapshots__/index.story.storyshot +8 -9
- package/src/components/Switch/index.story.tsx +10 -18
- package/src/components/TagItem/__snapshots__/index.story.storyshot +791 -665
- package/src/components/TagItem/index.story.tsx +44 -161
- package/src/components/TextArea/TextArea.story.tsx +62 -24
- package/src/components/TextArea/__snapshots__/TextArea.story.storyshot +1858 -472
- package/src/components/TextArea/index.tsx +2 -0
- package/src/components/TextField/TextField.story.tsx +77 -67
- package/src/components/TextField/__snapshots__/TextField.story.storyshot +2004 -786
- package/src/components/TextField/index.tsx +2 -0
- package/src/components/a11y.test.tsx +1 -1
- package/src/core/CharcoalProvider.tsx +1 -1
- package/dist/components/Button/index.story.d.ts +0 -14
- package/dist/components/Button/index.story.d.ts.map +0 -1
- package/dist/components/Checkbox/index.story.d.ts +0 -8
- package/dist/components/Checkbox/index.story.d.ts.map +0 -1
- package/dist/components/Clickable/index.story.d.ts +0 -6
- package/dist/components/Clickable/index.story.d.ts.map +0 -1
- package/dist/components/DropdownSelector/ListItem/index.story.d.ts +0 -9
- package/dist/components/DropdownSelector/ListItem/index.story.d.ts.map +0 -1
- package/dist/components/DropdownSelector/MenuList/index.story.d.ts +0 -8
- package/dist/components/DropdownSelector/MenuList/index.story.d.ts.map +0 -1
- package/dist/components/DropdownSelector/Popover/index.story.d.ts +0 -5
- package/dist/components/DropdownSelector/Popover/index.story.d.ts.map +0 -1
- package/dist/components/DropdownSelector/index.story.d.ts +0 -19
- package/dist/components/DropdownSelector/index.story.d.ts.map +0 -1
- package/dist/components/Icon/index.story.d.ts +0 -6
- package/dist/components/Icon/index.story.d.ts.map +0 -1
- package/dist/components/IconButton/index.story.d.ts +0 -9
- package/dist/components/IconButton/index.story.d.ts.map +0 -1
- package/dist/components/LoadingSpinner/LoadingSpinnerIcon.story.d.ts +0 -8
- package/dist/components/LoadingSpinner/LoadingSpinnerIcon.story.d.ts.map +0 -1
- package/dist/components/LoadingSpinner/index.story.d.ts +0 -6
- package/dist/components/LoadingSpinner/index.story.d.ts.map +0 -1
- package/dist/components/Modal/index.story.d.ts +0 -21
- package/dist/components/Modal/index.story.d.ts.map +0 -1
- package/dist/components/MultiSelect/index.story.d.ts +0 -82
- package/dist/components/MultiSelect/index.story.d.ts.map +0 -1
- package/dist/components/MultiSelect/index.test.d.ts +0 -2
- package/dist/components/MultiSelect/index.test.d.ts.map +0 -1
- package/dist/components/Radio/index.story.d.ts +0 -26
- package/dist/components/Radio/index.story.d.ts.map +0 -1
- package/dist/components/Radio/index.test.d.ts +0 -2
- package/dist/components/Radio/index.test.d.ts.map +0 -1
- package/dist/components/SegmentedControl/index.story.d.ts +0 -7
- package/dist/components/SegmentedControl/index.story.d.ts.map +0 -1
- package/dist/components/Switch/index.story.d.ts +0 -9
- package/dist/components/Switch/index.story.d.ts.map +0 -1
- package/dist/components/TagItem/index.story.d.ts +0 -16
- package/dist/components/TagItem/index.story.d.ts.map +0 -1
- package/dist/components/TextArea/TextArea.story.d.ts +0 -9
- package/dist/components/TextArea/TextArea.story.d.ts.map +0 -1
- package/dist/components/TextField/TextField.story.d.ts +0 -22
- package/dist/components/TextField/TextField.story.d.ts.map +0 -1
- package/dist/components/a11y.test.d.ts +0 -2
- package/dist/components/a11y.test.d.ts.map +0 -1
- package/src/components/LoadingSpinner/LoadingSpinnerIcon.story.tsx +0 -13
|
@@ -52,6 +52,7 @@ const TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>(
|
|
|
52
52
|
disabled = false,
|
|
53
53
|
required,
|
|
54
54
|
invalid = false,
|
|
55
|
+
readOnly = false,
|
|
55
56
|
assistiveText,
|
|
56
57
|
maxLength,
|
|
57
58
|
autoHeight = false,
|
|
@@ -107,6 +108,7 @@ const TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>(
|
|
|
107
108
|
inputElementType: 'textarea',
|
|
108
109
|
isDisabled: disabled,
|
|
109
110
|
isRequired: required,
|
|
111
|
+
isReadOnly: readOnly,
|
|
110
112
|
validationState: invalid ? 'invalid' : 'valid',
|
|
111
113
|
description: !invalid && assistiveText,
|
|
112
114
|
errorMessage: invalid && assistiveText,
|
|
@@ -1,83 +1,94 @@
|
|
|
1
1
|
import styled from 'styled-components'
|
|
2
2
|
import Clickable from '../Clickable'
|
|
3
3
|
import TextField from '.'
|
|
4
|
-
import {
|
|
5
|
-
import IconButton from '../IconButton'
|
|
6
|
-
import { useCallback, useState } from 'react'
|
|
4
|
+
import { useState } from 'react'
|
|
7
5
|
import { Meta, StoryObj } from '@storybook/react'
|
|
8
6
|
|
|
9
7
|
export default {
|
|
10
8
|
title: 'TextField',
|
|
11
9
|
component: TextField,
|
|
12
|
-
|
|
10
|
+
parameters: {
|
|
11
|
+
layout: 'centered',
|
|
12
|
+
},
|
|
13
|
+
} as Meta<typeof TextField>
|
|
14
|
+
|
|
15
|
+
export const Default: StoryObj<typeof TextField> = {
|
|
13
16
|
args: {
|
|
14
17
|
showLabel: false,
|
|
15
18
|
assistiveText: '',
|
|
16
19
|
disabled: false,
|
|
17
20
|
required: false,
|
|
18
21
|
invalid: false,
|
|
22
|
+
readOnly: false,
|
|
19
23
|
label: 'Label',
|
|
20
24
|
requiredText: '*必須',
|
|
21
25
|
subLabel: <Clickable>Text Link</Clickable>,
|
|
22
26
|
placeholder: 'TextField',
|
|
23
27
|
},
|
|
24
|
-
render
|
|
25
|
-
return
|
|
26
|
-
<Container>
|
|
27
|
-
<TextField {...args} />
|
|
28
|
-
</Container>
|
|
29
|
-
)
|
|
28
|
+
render(args) {
|
|
29
|
+
return <TextField {...args} />
|
|
30
30
|
},
|
|
31
|
-
}
|
|
31
|
+
}
|
|
32
32
|
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
export const Label: StoryObj<typeof TextField> = {
|
|
34
|
+
render() {
|
|
35
|
+
return <TextField showLabel label="Label" />
|
|
36
|
+
},
|
|
37
|
+
}
|
|
37
38
|
|
|
38
|
-
export const
|
|
39
|
+
export const Placeholder: StoryObj<typeof TextField> = {
|
|
40
|
+
render() {
|
|
41
|
+
return <TextField label="Label" placeholder="Placeholder" />
|
|
42
|
+
},
|
|
43
|
+
}
|
|
39
44
|
|
|
40
|
-
export const
|
|
41
|
-
render
|
|
42
|
-
|
|
45
|
+
export const RequiredText: StoryObj<typeof TextField> = {
|
|
46
|
+
render() {
|
|
47
|
+
return <TextField label="Label" showLabel required requiredText="*必須" />
|
|
48
|
+
},
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export const AssistiveText: StoryObj<typeof TextField> = {
|
|
52
|
+
render() {
|
|
53
|
+
return <TextField label="Label" assistiveText="説明が入ります" />
|
|
54
|
+
},
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export const SubLabel: StoryObj<typeof TextField> = {
|
|
58
|
+
render() {
|
|
43
59
|
return (
|
|
44
|
-
<
|
|
45
|
-
<TextField
|
|
46
|
-
{...args}
|
|
47
|
-
type="number"
|
|
48
|
-
value={count.toString()}
|
|
49
|
-
onChange={(value) => setCount(parseInt(value))}
|
|
50
|
-
onWheel={(e) => {
|
|
51
|
-
e.currentTarget.blur()
|
|
52
|
-
e.stopPropagation()
|
|
53
|
-
}}
|
|
54
|
-
/>
|
|
55
|
-
</Container>
|
|
60
|
+
<TextField label="Label" subLabel={<Clickable>Text Link</Clickable>} />
|
|
56
61
|
)
|
|
57
62
|
},
|
|
58
63
|
}
|
|
59
64
|
|
|
60
|
-
export const
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
assistiveText: 'Assistive text',
|
|
64
|
-
required: true,
|
|
65
|
+
export const ShowCount = {
|
|
66
|
+
render() {
|
|
67
|
+
return <TextField label="Label" showCount maxLength={100} />
|
|
65
68
|
},
|
|
66
69
|
}
|
|
67
70
|
|
|
68
|
-
export const
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
maxLength: 100,
|
|
71
|
+
export const Disabled: StoryObj<typeof TextField> = {
|
|
72
|
+
render() {
|
|
73
|
+
return <TextField label="Label" disabled />
|
|
72
74
|
},
|
|
73
75
|
}
|
|
74
76
|
|
|
75
|
-
export const
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
77
|
+
export const Invalid: StoryObj<typeof TextField> = {
|
|
78
|
+
render() {
|
|
79
|
+
return <TextField label="Label" invalid assistiveText="エラーメッセージ" />
|
|
80
|
+
},
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export const ReadOnly: StoryObj<typeof TextField> = {
|
|
84
|
+
render() {
|
|
85
|
+
return <TextField label="Label" readOnly value="読み取り専用" />
|
|
86
|
+
},
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export const Affix: StoryObj<typeof TextField> = {
|
|
90
|
+
render() {
|
|
91
|
+
return <TextField label="Label" prefix="/home/john/" suffix=".png" />
|
|
81
92
|
},
|
|
82
93
|
}
|
|
83
94
|
|
|
@@ -87,35 +98,34 @@ const PrefixIconWrap = styled.div`
|
|
|
87
98
|
color: ${({ theme }) => theme.color.text3};
|
|
88
99
|
`
|
|
89
100
|
|
|
90
|
-
export const
|
|
91
|
-
render
|
|
92
|
-
const [value, setValue] = useState('')
|
|
93
|
-
const handleChange = useCallback((value: string) => {
|
|
94
|
-
setValue(value)
|
|
95
|
-
}, [])
|
|
96
|
-
const handleClear = useCallback(() => {
|
|
97
|
-
setValue('')
|
|
98
|
-
}, [])
|
|
101
|
+
export const Prefix: StoryObj<typeof TextField> = {
|
|
102
|
+
render() {
|
|
99
103
|
return (
|
|
100
104
|
<TextField
|
|
101
|
-
{...args}
|
|
102
105
|
label="Label"
|
|
103
|
-
placeholder="作品を検索"
|
|
104
|
-
value={value}
|
|
105
|
-
onChange={handleChange}
|
|
106
106
|
prefix={
|
|
107
107
|
<PrefixIconWrap>
|
|
108
108
|
<pixiv-icon name="16/Search" />
|
|
109
109
|
</PrefixIconWrap>
|
|
110
110
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
111
|
+
/>
|
|
112
|
+
)
|
|
113
|
+
},
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export const Number: StoryObj<typeof TextField> = {
|
|
117
|
+
render: function Render(args) {
|
|
118
|
+
const [count, setCount] = useState(0)
|
|
119
|
+
return (
|
|
120
|
+
<TextField
|
|
121
|
+
{...args}
|
|
122
|
+
type="number"
|
|
123
|
+
value={count.toString()}
|
|
124
|
+
onChange={(value) => setCount(parseInt(value))}
|
|
125
|
+
onWheel={(e) => {
|
|
126
|
+
e.currentTarget.blur()
|
|
127
|
+
e.stopPropagation()
|
|
128
|
+
}}
|
|
119
129
|
/>
|
|
120
130
|
)
|
|
121
131
|
},
|