norma-library 0.5.128 → 0.5.129
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/.babelrc.json +18 -18
- package/.prettierignore +10 -10
- package/.prettierrc.json +20 -20
- package/.storybook/main.ts +20 -20
- package/.storybook/preview.ts +15 -15
- package/README.md +43 -43
- package/commitlint.config.js +1 -1
- package/dist/esm/components/Tabs.js +0 -1
- package/dist/esm/components/Tabs.js.map +1 -1
- package/dist/esm/components/UncontrolledTabs/UncontrolledTabs.style.js +0 -1
- package/dist/esm/components/UncontrolledTabs/UncontrolledTabs.style.js.map +1 -1
- package/docs/index.md +118 -118
- package/package.json +136 -136
- package/src/components/Accordion.tsx +39 -39
- package/src/components/Avatar.tsx +17 -17
- package/src/components/Badge.tsx +14 -14
- package/src/components/Box/index.tsx +12 -12
- package/src/components/Box/interfaces.ts +3 -3
- package/src/components/Box/styles.tsx +22 -22
- package/src/components/Breadcrumb/index.tsx +27 -27
- package/src/components/Breadcrumb/interface.ts +8 -8
- package/src/components/Breadcrumb/styles.tsx +32 -32
- package/src/components/Button.tsx +26 -26
- package/src/components/Card.tsx +37 -37
- package/src/components/ChatMessage.tsx +87 -87
- package/src/components/ChatMessageBalloon/ChatMessageBalloon.style.ts +56 -56
- package/src/components/ChatMessageBalloon/ChatMessageBalloon.tsx +55 -55
- package/src/components/CheckBox.tsx +21 -21
- package/src/components/DateInput/index.tsx +34 -34
- package/src/components/DateInput/interface.ts +13 -13
- package/src/components/DateInput/styles.tsx +27 -27
- package/src/components/DatePicker.tsx +67 -67
- package/src/components/DropDown.tsx +24 -24
- package/src/components/IconButton.tsx +37 -37
- package/src/components/Icons.tsx +82 -82
- package/src/components/Modal.tsx +113 -113
- package/src/components/MultiSelectInput/components/MultiValue/index.tsx +44 -44
- package/src/components/MultiSelectInput/components/Option/index.tsx +62 -62
- package/src/components/MultiSelectInput/components/Option/styles.tsx +8 -8
- package/src/components/MultiSelectInput/index.tsx +60 -60
- package/src/components/MultiSelectInput/interfaces.ts +15 -15
- package/src/components/MultiSelectInput/styles.tsx +43 -43
- package/src/components/Paper.tsx +12 -12
- package/src/components/ProgressBar.tsx +51 -51
- package/src/components/RadioGroup.tsx +43 -43
- package/src/components/RangerSlider.tsx +65 -65
- package/src/components/Select.tsx +74 -74
- package/src/components/SelectInput/components/Option/index.tsx +61 -61
- package/src/components/SelectInput/components/Option/styles.tsx +8 -8
- package/src/components/SelectInput/index.tsx +45 -45
- package/src/components/SelectInput/interfaces.ts +15 -15
- package/src/components/SelectInput/styles.tsx +31 -31
- package/src/components/Svgs.tsx +506 -506
- package/src/components/Table/components/header/index.tsx +86 -86
- package/src/components/Table/components/header/styles.tsx +59 -59
- package/src/components/Table/components/index.tsx +8 -8
- package/src/components/Table/components/pagination/index.tsx +39 -39
- package/src/components/Table/components/pagination/styles.tsx +28 -28
- package/src/components/Table/components/tbody/index.tsx +30 -30
- package/src/components/Table/components/tbody/styles.tsx +4 -4
- package/src/components/Table/index.tsx +317 -317
- package/src/components/Table/interface.ts +23 -23
- package/src/components/Table/styles.tsx +117 -117
- package/src/components/Tabs.tsx +105 -106
- package/src/components/Tag.tsx +33 -33
- package/src/components/TextField.tsx +19 -19
- package/src/components/TextInput/index.tsx +37 -37
- package/src/components/TextInput/interface.ts +9 -9
- package/src/components/TextInput/styles.tsx +23 -23
- package/src/components/TimeLine.tsx +89 -89
- package/src/components/TimePicker.tsx +78 -78
- package/src/components/Typography/Text/index.tsx +20 -20
- package/src/components/Typography/Text/interfaces.ts +5 -5
- package/src/components/Typography/Text/styles.tsx +40 -40
- package/src/components/Typography/Title/index.tsx +22 -22
- package/src/components/Typography/Title/interfaces.ts +6 -6
- package/src/components/Typography/Title/styles.tsx +40 -40
- package/src/components/Typography/index.tsx +6 -6
- package/src/components/UncontrolledTable/components/header/index.tsx +63 -63
- package/src/components/UncontrolledTable/components/header/styles.tsx +59 -59
- package/src/components/UncontrolledTable/components/index.tsx +8 -8
- package/src/components/UncontrolledTable/components/pagination/index.tsx +43 -43
- package/src/components/UncontrolledTable/components/pagination/styles.tsx +28 -28
- package/src/components/UncontrolledTable/components/tbody/index.tsx +30 -30
- package/src/components/UncontrolledTable/components/tbody/styles.tsx +4 -4
- package/src/components/UncontrolledTable/index.tsx +226 -226
- package/src/components/UncontrolledTable/interface.ts +42 -42
- package/src/components/UncontrolledTable/styles.tsx +120 -120
- package/src/components/UncontrolledTabs/UncontrolledTabs.style.tsx +51 -52
- package/src/components/UncontrolledTabs/UncontrolledTabs.tsx +68 -68
- package/src/components/index.ts +24 -24
- package/src/helpers/alignments.ts +14 -14
- package/src/helpers/borders.ts +18 -18
- package/src/helpers/colors.ts +206 -206
- package/src/helpers/index.ts +5 -5
- package/src/helpers/radios.ts +24 -24
- package/src/helpers/sizes.ts +72 -72
- package/src/index.ts +66 -66
- package/src/interfaces/Accordion.ts +12 -12
- package/src/interfaces/Avatar.tsx +15 -15
- package/src/interfaces/Badge.ts +19 -19
- package/src/interfaces/Button.ts +22 -22
- package/src/interfaces/Card.ts +11 -11
- package/src/interfaces/ChatMessage.ts +12 -12
- package/src/interfaces/ChatMessageBalloon.ts +17 -17
- package/src/interfaces/CheckBox.ts +27 -27
- package/src/interfaces/DatePicker.ts +13 -13
- package/src/interfaces/DropDown.ts +14 -14
- package/src/interfaces/IconButton.ts +22 -22
- package/src/interfaces/Icons.ts +17 -17
- package/src/interfaces/Modal.ts +16 -16
- package/src/interfaces/Paper.ts +12 -12
- package/src/interfaces/ProgressBar.ts +19 -19
- package/src/interfaces/RadioGroup.ts +23 -23
- package/src/interfaces/RangerSlider.ts +21 -21
- package/src/interfaces/Select.ts +17 -17
- package/src/interfaces/Tabs.ts +19 -19
- package/src/interfaces/Tag.ts +17 -17
- package/src/interfaces/TextField.ts +44 -44
- package/src/interfaces/TimeLine.ts +11 -11
- package/src/interfaces/TimePicker.ts +13 -13
- package/src/interfaces/index.ts +23 -23
- package/src/providers/NormaProvider.tsx +13 -13
- package/src/sample-data-2.json +178 -178
- package/src/sample-data.json +177 -177
- package/src/stories/Accordion.stories.tsx +65 -65
- package/src/stories/Avatar.stories.tsx +123 -123
- package/src/stories/Badge.stories.tsx +39 -39
- package/src/stories/Box.stories.tsx +35 -35
- package/src/stories/Breadcrumb.stories.tsx +44 -44
- package/src/stories/Button.stories.tsx +93 -93
- package/src/stories/Card.stories.tsx +39 -39
- package/src/stories/ChatMessage.stories.tsx +84 -84
- package/src/stories/ChatMessageBalloon.stories.tsx +108 -108
- package/src/stories/CheckBox.stories.tsx +88 -88
- package/src/stories/DateInput.stories.tsx +51 -51
- package/src/stories/DatePicker.stories.tsx +50 -50
- package/src/stories/DropDown.stories.tsx +57 -57
- package/src/stories/IconButton.stories.tsx +78 -78
- package/src/stories/Modal.stories.tsx +195 -195
- package/src/stories/MultiSelectInput.stories.tsx +90 -90
- package/src/stories/Paper.stories.tsx +53 -53
- package/src/stories/ProgressBar.stories.tsx +95 -95
- package/src/stories/RadioGroup.stories.tsx +87 -87
- package/src/stories/RangerSlider.stories.tsx +58 -58
- package/src/stories/Select.stories.tsx +100 -100
- package/src/stories/SelectInput.stories.tsx +78 -78
- package/src/stories/Table.stories.tsx +372 -372
- package/src/stories/Tabs.stories.tsx +61 -61
- package/src/stories/Tag.stories.tsx +56 -56
- package/src/stories/Text.stories.tsx +37 -37
- package/src/stories/TextField.stories.tsx +310 -310
- package/src/stories/TextInput.stories.tsx +52 -52
- package/src/stories/TimeLine.stories.tsx +35 -35
- package/src/stories/TimePicker.stories.tsx +87 -87
- package/src/stories/Title.stories.tsx +43 -43
- package/src/stories/UncontrolledTable.stories.tsx +337 -337
- package/src/stories/UncontrolledTabs.stories.tsx +63 -63
- package/src/styles/globals.scss +17 -17
- package/src/types/index.ts +204 -204
- package/vite.config.ts +15 -15
|
@@ -1,95 +1,95 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
|
|
3
|
-
import type { Meta, StoryObj } from '@storybook/react';
|
|
4
|
-
import { ProgressBar } from '../components';
|
|
5
|
-
import { ColorVariant, SizeVariant, TextFieldSizeVariant } from '../types';
|
|
6
|
-
|
|
7
|
-
const colors: ColorVariant[] = ['inherit', 'primary', 'secondary', 'success', 'error', 'info', 'warning'];
|
|
8
|
-
|
|
9
|
-
const sizes: TextFieldSizeVariant[] = ['small', 'medium'];
|
|
10
|
-
|
|
11
|
-
const meta = {
|
|
12
|
-
title: 'Display/ProgressBar',
|
|
13
|
-
component: ProgressBar,
|
|
14
|
-
parameters: {
|
|
15
|
-
layout: 'centered',
|
|
16
|
-
},
|
|
17
|
-
tags: ['autodocs'],
|
|
18
|
-
argTypes: {},
|
|
19
|
-
} satisfies Meta<typeof ProgressBar>;
|
|
20
|
-
|
|
21
|
-
export default meta;
|
|
22
|
-
|
|
23
|
-
type Story = StoryObj<typeof meta>;
|
|
24
|
-
|
|
25
|
-
const defaultArgs = {
|
|
26
|
-
disabled: false,
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
export const Playground: Story = {
|
|
30
|
-
args: {
|
|
31
|
-
label: 'Progress',
|
|
32
|
-
total: 100,
|
|
33
|
-
color: 'primary',
|
|
34
|
-
value: 10,
|
|
35
|
-
},
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
export const ProgressBarBasic = () => (
|
|
39
|
-
<div style={{ display: 'flex', gap: '1rem', width: '320px' }}>
|
|
40
|
-
<div style={{ position: 'relative', width: '100%' }}>
|
|
41
|
-
<ProgressBar value={40} total={100} color="primary" />
|
|
42
|
-
</div>
|
|
43
|
-
</div>
|
|
44
|
-
);
|
|
45
|
-
|
|
46
|
-
ProgressBarBasic.storyName = 'ProgressBar Basic';
|
|
47
|
-
|
|
48
|
-
export const ProgressBarTitle: Story = () => (
|
|
49
|
-
<div style={{ display: 'flex', gap: '1rem', width: '320px' }}>
|
|
50
|
-
<div style={{ position: 'relative', width: '100%' }}>
|
|
51
|
-
<ProgressBar value={10} label="Progress" total={100} />
|
|
52
|
-
</div>
|
|
53
|
-
</div>
|
|
54
|
-
);
|
|
55
|
-
|
|
56
|
-
ProgressBarTitle.storyName = 'ProgressBar With Title';
|
|
57
|
-
|
|
58
|
-
export const ProgressBarColors: Story = () => (
|
|
59
|
-
<>
|
|
60
|
-
<div style={{ display: 'flex', gap: '1rem', width: '480px', marginBottom: 30 }}>
|
|
61
|
-
<>
|
|
62
|
-
<div style={{ position: 'relative', flex: 1, width: '230px' }}>
|
|
63
|
-
<ProgressBar value={100} total={300} color="inherit" label="Progress Inherit" />
|
|
64
|
-
</div>
|
|
65
|
-
<div style={{ position: 'relative', flex: 1, width: '230px' }}>
|
|
66
|
-
<ProgressBar value={125} total={1000} color="secondary" label="Progress secondary" />
|
|
67
|
-
</div>
|
|
68
|
-
</>
|
|
69
|
-
</div>
|
|
70
|
-
<div style={{ display: 'flex', gap: '1rem', width: '480px', marginBottom: 30 }}>
|
|
71
|
-
<>
|
|
72
|
-
<div style={{ position: 'relative', flex: 1, width: '230px' }}>
|
|
73
|
-
<ProgressBar value={22} total={100} color="error" label="Progress error" />
|
|
74
|
-
</div>
|
|
75
|
-
<div style={{ position: 'relative', flex: 1, width: '230px' }}>
|
|
76
|
-
<ProgressBar value={24} total={100} color="info" label="Progress info" />
|
|
77
|
-
</div>
|
|
78
|
-
</>
|
|
79
|
-
</div>
|
|
80
|
-
<div style={{ display: 'flex', gap: '1rem', width: '480px', marginBottom: 30 }}>
|
|
81
|
-
<>
|
|
82
|
-
<div style={{ display: 'flex', gap: '1rem', marginBottom: 15 }}>
|
|
83
|
-
<div style={{ position: 'relative', flex: 1, width: '230px' }}>
|
|
84
|
-
<ProgressBar value={45} total={100} color="success" label="Progress success" />
|
|
85
|
-
</div>
|
|
86
|
-
<div style={{ position: 'relative', flex: 1, width: '230px' }}>
|
|
87
|
-
<ProgressBar value={86} total={100} color="warning" label="Progress warning" />
|
|
88
|
-
</div>
|
|
89
|
-
</div>
|
|
90
|
-
</>
|
|
91
|
-
</div>
|
|
92
|
-
</>
|
|
93
|
-
);
|
|
94
|
-
|
|
95
|
-
ProgressBarColors.storyName = 'ProgressBar Colors';
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
4
|
+
import { ProgressBar } from '../components';
|
|
5
|
+
import { ColorVariant, SizeVariant, TextFieldSizeVariant } from '../types';
|
|
6
|
+
|
|
7
|
+
const colors: ColorVariant[] = ['inherit', 'primary', 'secondary', 'success', 'error', 'info', 'warning'];
|
|
8
|
+
|
|
9
|
+
const sizes: TextFieldSizeVariant[] = ['small', 'medium'];
|
|
10
|
+
|
|
11
|
+
const meta = {
|
|
12
|
+
title: 'Display/ProgressBar',
|
|
13
|
+
component: ProgressBar,
|
|
14
|
+
parameters: {
|
|
15
|
+
layout: 'centered',
|
|
16
|
+
},
|
|
17
|
+
tags: ['autodocs'],
|
|
18
|
+
argTypes: {},
|
|
19
|
+
} satisfies Meta<typeof ProgressBar>;
|
|
20
|
+
|
|
21
|
+
export default meta;
|
|
22
|
+
|
|
23
|
+
type Story = StoryObj<typeof meta>;
|
|
24
|
+
|
|
25
|
+
const defaultArgs = {
|
|
26
|
+
disabled: false,
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export const Playground: Story = {
|
|
30
|
+
args: {
|
|
31
|
+
label: 'Progress',
|
|
32
|
+
total: 100,
|
|
33
|
+
color: 'primary',
|
|
34
|
+
value: 10,
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export const ProgressBarBasic = () => (
|
|
39
|
+
<div style={{ display: 'flex', gap: '1rem', width: '320px' }}>
|
|
40
|
+
<div style={{ position: 'relative', width: '100%' }}>
|
|
41
|
+
<ProgressBar value={40} total={100} color="primary" />
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
);
|
|
45
|
+
|
|
46
|
+
ProgressBarBasic.storyName = 'ProgressBar Basic';
|
|
47
|
+
|
|
48
|
+
export const ProgressBarTitle: Story = () => (
|
|
49
|
+
<div style={{ display: 'flex', gap: '1rem', width: '320px' }}>
|
|
50
|
+
<div style={{ position: 'relative', width: '100%' }}>
|
|
51
|
+
<ProgressBar value={10} label="Progress" total={100} />
|
|
52
|
+
</div>
|
|
53
|
+
</div>
|
|
54
|
+
);
|
|
55
|
+
|
|
56
|
+
ProgressBarTitle.storyName = 'ProgressBar With Title';
|
|
57
|
+
|
|
58
|
+
export const ProgressBarColors: Story = () => (
|
|
59
|
+
<>
|
|
60
|
+
<div style={{ display: 'flex', gap: '1rem', width: '480px', marginBottom: 30 }}>
|
|
61
|
+
<>
|
|
62
|
+
<div style={{ position: 'relative', flex: 1, width: '230px' }}>
|
|
63
|
+
<ProgressBar value={100} total={300} color="inherit" label="Progress Inherit" />
|
|
64
|
+
</div>
|
|
65
|
+
<div style={{ position: 'relative', flex: 1, width: '230px' }}>
|
|
66
|
+
<ProgressBar value={125} total={1000} color="secondary" label="Progress secondary" />
|
|
67
|
+
</div>
|
|
68
|
+
</>
|
|
69
|
+
</div>
|
|
70
|
+
<div style={{ display: 'flex', gap: '1rem', width: '480px', marginBottom: 30 }}>
|
|
71
|
+
<>
|
|
72
|
+
<div style={{ position: 'relative', flex: 1, width: '230px' }}>
|
|
73
|
+
<ProgressBar value={22} total={100} color="error" label="Progress error" />
|
|
74
|
+
</div>
|
|
75
|
+
<div style={{ position: 'relative', flex: 1, width: '230px' }}>
|
|
76
|
+
<ProgressBar value={24} total={100} color="info" label="Progress info" />
|
|
77
|
+
</div>
|
|
78
|
+
</>
|
|
79
|
+
</div>
|
|
80
|
+
<div style={{ display: 'flex', gap: '1rem', width: '480px', marginBottom: 30 }}>
|
|
81
|
+
<>
|
|
82
|
+
<div style={{ display: 'flex', gap: '1rem', marginBottom: 15 }}>
|
|
83
|
+
<div style={{ position: 'relative', flex: 1, width: '230px' }}>
|
|
84
|
+
<ProgressBar value={45} total={100} color="success" label="Progress success" />
|
|
85
|
+
</div>
|
|
86
|
+
<div style={{ position: 'relative', flex: 1, width: '230px' }}>
|
|
87
|
+
<ProgressBar value={86} total={100} color="warning" label="Progress warning" />
|
|
88
|
+
</div>
|
|
89
|
+
</div>
|
|
90
|
+
</>
|
|
91
|
+
</div>
|
|
92
|
+
</>
|
|
93
|
+
);
|
|
94
|
+
|
|
95
|
+
ProgressBarColors.storyName = 'ProgressBar Colors';
|
|
@@ -1,87 +1,87 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { RadioGroup } from '../components/RadioGroup';
|
|
3
|
-
import type { Meta, StoryObj } from '@storybook/react';
|
|
4
|
-
import { SizeVariant } from '../types';
|
|
5
|
-
|
|
6
|
-
const meta = {
|
|
7
|
-
title: 'Form/RadioGroup',
|
|
8
|
-
component: RadioGroup,
|
|
9
|
-
parameters: {
|
|
10
|
-
layout: 'centered',
|
|
11
|
-
},
|
|
12
|
-
tags: ['autodocs'],
|
|
13
|
-
argTypes: {},
|
|
14
|
-
} satisfies Meta<typeof RadioGroup>;
|
|
15
|
-
|
|
16
|
-
export default meta;
|
|
17
|
-
|
|
18
|
-
type Story = StoryObj<typeof meta>;
|
|
19
|
-
|
|
20
|
-
const defaultArgs = {
|
|
21
|
-
disabled: false,
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
const sizeOptions = [
|
|
25
|
-
{ label: 'Small', value: 'S', size: 'small' },
|
|
26
|
-
{ label: 'Medium', value: 'M', size: 'medium' },
|
|
27
|
-
{ label: 'Large', value: 'L', size: 'large' },
|
|
28
|
-
];
|
|
29
|
-
|
|
30
|
-
const genderOptions = [
|
|
31
|
-
{ label: 'Male', value: 'M' },
|
|
32
|
-
{ label: 'Female', value: 'F' },
|
|
33
|
-
{ label: 'Other', value: 'O' },
|
|
34
|
-
];
|
|
35
|
-
|
|
36
|
-
export const Playground: Story = {
|
|
37
|
-
args: {
|
|
38
|
-
color: 'primary',
|
|
39
|
-
options: genderOptions,
|
|
40
|
-
name: 'gender',
|
|
41
|
-
label: 'Gender',
|
|
42
|
-
checked: 'F',
|
|
43
|
-
},
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
export const RadioboxVertical = () => {
|
|
47
|
-
return (
|
|
48
|
-
<>
|
|
49
|
-
<RadioGroup name="gender" options={genderOptions} label="Gender" color="primary" checked="M" id="gender" />
|
|
50
|
-
</>
|
|
51
|
-
);
|
|
52
|
-
};
|
|
53
|
-
RadioboxVertical.storyName = 'RadioGroup Vertical';
|
|
54
|
-
|
|
55
|
-
export const RadioHorizontal = () => {
|
|
56
|
-
return (
|
|
57
|
-
<>
|
|
58
|
-
<RadioGroup
|
|
59
|
-
name="gender"
|
|
60
|
-
options={genderOptions}
|
|
61
|
-
label="Gender"
|
|
62
|
-
color="primary"
|
|
63
|
-
checked="M"
|
|
64
|
-
id="gender"
|
|
65
|
-
direction="horizontal"
|
|
66
|
-
/>
|
|
67
|
-
</>
|
|
68
|
-
);
|
|
69
|
-
};
|
|
70
|
-
RadioHorizontal.storyName = 'RadioGroup Horizontal';
|
|
71
|
-
|
|
72
|
-
export const RadioSizes = () => {
|
|
73
|
-
return (
|
|
74
|
-
<>
|
|
75
|
-
<RadioGroup
|
|
76
|
-
name="size"
|
|
77
|
-
options={sizeOptions}
|
|
78
|
-
label="Sizes"
|
|
79
|
-
color="primary"
|
|
80
|
-
checked="M"
|
|
81
|
-
id="size"
|
|
82
|
-
direction="horizontal"
|
|
83
|
-
/>
|
|
84
|
-
</>
|
|
85
|
-
);
|
|
86
|
-
};
|
|
87
|
-
RadioSizes.storyName = 'RadioGroup Sizes';
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { RadioGroup } from '../components/RadioGroup';
|
|
3
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
4
|
+
import { SizeVariant } from '../types';
|
|
5
|
+
|
|
6
|
+
const meta = {
|
|
7
|
+
title: 'Form/RadioGroup',
|
|
8
|
+
component: RadioGroup,
|
|
9
|
+
parameters: {
|
|
10
|
+
layout: 'centered',
|
|
11
|
+
},
|
|
12
|
+
tags: ['autodocs'],
|
|
13
|
+
argTypes: {},
|
|
14
|
+
} satisfies Meta<typeof RadioGroup>;
|
|
15
|
+
|
|
16
|
+
export default meta;
|
|
17
|
+
|
|
18
|
+
type Story = StoryObj<typeof meta>;
|
|
19
|
+
|
|
20
|
+
const defaultArgs = {
|
|
21
|
+
disabled: false,
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
const sizeOptions = [
|
|
25
|
+
{ label: 'Small', value: 'S', size: 'small' },
|
|
26
|
+
{ label: 'Medium', value: 'M', size: 'medium' },
|
|
27
|
+
{ label: 'Large', value: 'L', size: 'large' },
|
|
28
|
+
];
|
|
29
|
+
|
|
30
|
+
const genderOptions = [
|
|
31
|
+
{ label: 'Male', value: 'M' },
|
|
32
|
+
{ label: 'Female', value: 'F' },
|
|
33
|
+
{ label: 'Other', value: 'O' },
|
|
34
|
+
];
|
|
35
|
+
|
|
36
|
+
export const Playground: Story = {
|
|
37
|
+
args: {
|
|
38
|
+
color: 'primary',
|
|
39
|
+
options: genderOptions,
|
|
40
|
+
name: 'gender',
|
|
41
|
+
label: 'Gender',
|
|
42
|
+
checked: 'F',
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
export const RadioboxVertical = () => {
|
|
47
|
+
return (
|
|
48
|
+
<>
|
|
49
|
+
<RadioGroup name="gender" options={genderOptions} label="Gender" color="primary" checked="M" id="gender" />
|
|
50
|
+
</>
|
|
51
|
+
);
|
|
52
|
+
};
|
|
53
|
+
RadioboxVertical.storyName = 'RadioGroup Vertical';
|
|
54
|
+
|
|
55
|
+
export const RadioHorizontal = () => {
|
|
56
|
+
return (
|
|
57
|
+
<>
|
|
58
|
+
<RadioGroup
|
|
59
|
+
name="gender"
|
|
60
|
+
options={genderOptions}
|
|
61
|
+
label="Gender"
|
|
62
|
+
color="primary"
|
|
63
|
+
checked="M"
|
|
64
|
+
id="gender"
|
|
65
|
+
direction="horizontal"
|
|
66
|
+
/>
|
|
67
|
+
</>
|
|
68
|
+
);
|
|
69
|
+
};
|
|
70
|
+
RadioHorizontal.storyName = 'RadioGroup Horizontal';
|
|
71
|
+
|
|
72
|
+
export const RadioSizes = () => {
|
|
73
|
+
return (
|
|
74
|
+
<>
|
|
75
|
+
<RadioGroup
|
|
76
|
+
name="size"
|
|
77
|
+
options={sizeOptions}
|
|
78
|
+
label="Sizes"
|
|
79
|
+
color="primary"
|
|
80
|
+
checked="M"
|
|
81
|
+
id="size"
|
|
82
|
+
direction="horizontal"
|
|
83
|
+
/>
|
|
84
|
+
</>
|
|
85
|
+
);
|
|
86
|
+
};
|
|
87
|
+
RadioSizes.storyName = 'RadioGroup Sizes';
|
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
|
|
3
|
-
import type { Meta, StoryObj } from '@storybook/react';
|
|
4
|
-
import { RangerSlider } from '../components';
|
|
5
|
-
import { ColorVariant, SizeVariant, TextFieldSizeVariant } from '../types';
|
|
6
|
-
|
|
7
|
-
const colors: ColorVariant[] = ['inherit', 'primary', 'secondary', 'success', 'error', 'info', 'warning'];
|
|
8
|
-
|
|
9
|
-
const sizes: TextFieldSizeVariant[] = ['small', 'medium'];
|
|
10
|
-
|
|
11
|
-
const meta = {
|
|
12
|
-
title: 'Display/RangerSlider',
|
|
13
|
-
component: RangerSlider,
|
|
14
|
-
parameters: {
|
|
15
|
-
layout: 'centered',
|
|
16
|
-
},
|
|
17
|
-
tags: ['autodocs'],
|
|
18
|
-
argTypes: {},
|
|
19
|
-
} satisfies Meta<typeof RangerSlider>;
|
|
20
|
-
|
|
21
|
-
export default meta;
|
|
22
|
-
|
|
23
|
-
type Story = StoryObj<typeof meta>;
|
|
24
|
-
|
|
25
|
-
export const Playground: Story = {
|
|
26
|
-
args: {
|
|
27
|
-
max: 90,
|
|
28
|
-
min: 10,
|
|
29
|
-
value: [20, 80],
|
|
30
|
-
color: 'primary',
|
|
31
|
-
},
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
function valuetext(value: number) {
|
|
35
|
-
return `${value}°C`;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export const RangerSliderBasic = () => {
|
|
39
|
-
const [value, setValue] = React.useState<number[]>([20, 37]);
|
|
40
|
-
|
|
41
|
-
const handleChange = (event: Event, newValue: number | number[]) => {
|
|
42
|
-
setValue(newValue as number[]);
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
return (
|
|
46
|
-
<div style={{ display: 'flex', gap: '1rem', width: '480px', marginBottom: 30 }}>
|
|
47
|
-
<RangerSlider
|
|
48
|
-
getAriaLabel={() => 'Temperature range'}
|
|
49
|
-
value={value}
|
|
50
|
-
onChange={handleChange}
|
|
51
|
-
valueLabelDisplay="on"
|
|
52
|
-
getAriaValueText={valuetext}
|
|
53
|
-
/>
|
|
54
|
-
</div>
|
|
55
|
-
);
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
RangerSliderBasic.storyName = 'RangerSlider Basic';
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
4
|
+
import { RangerSlider } from '../components';
|
|
5
|
+
import { ColorVariant, SizeVariant, TextFieldSizeVariant } from '../types';
|
|
6
|
+
|
|
7
|
+
const colors: ColorVariant[] = ['inherit', 'primary', 'secondary', 'success', 'error', 'info', 'warning'];
|
|
8
|
+
|
|
9
|
+
const sizes: TextFieldSizeVariant[] = ['small', 'medium'];
|
|
10
|
+
|
|
11
|
+
const meta = {
|
|
12
|
+
title: 'Display/RangerSlider',
|
|
13
|
+
component: RangerSlider,
|
|
14
|
+
parameters: {
|
|
15
|
+
layout: 'centered',
|
|
16
|
+
},
|
|
17
|
+
tags: ['autodocs'],
|
|
18
|
+
argTypes: {},
|
|
19
|
+
} satisfies Meta<typeof RangerSlider>;
|
|
20
|
+
|
|
21
|
+
export default meta;
|
|
22
|
+
|
|
23
|
+
type Story = StoryObj<typeof meta>;
|
|
24
|
+
|
|
25
|
+
export const Playground: Story = {
|
|
26
|
+
args: {
|
|
27
|
+
max: 90,
|
|
28
|
+
min: 10,
|
|
29
|
+
value: [20, 80],
|
|
30
|
+
color: 'primary',
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
function valuetext(value: number) {
|
|
35
|
+
return `${value}°C`;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export const RangerSliderBasic = () => {
|
|
39
|
+
const [value, setValue] = React.useState<number[]>([20, 37]);
|
|
40
|
+
|
|
41
|
+
const handleChange = (event: Event, newValue: number | number[]) => {
|
|
42
|
+
setValue(newValue as number[]);
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
return (
|
|
46
|
+
<div style={{ display: 'flex', gap: '1rem', width: '480px', marginBottom: 30 }}>
|
|
47
|
+
<RangerSlider
|
|
48
|
+
getAriaLabel={() => 'Temperature range'}
|
|
49
|
+
value={value}
|
|
50
|
+
onChange={handleChange}
|
|
51
|
+
valueLabelDisplay="on"
|
|
52
|
+
getAriaValueText={valuetext}
|
|
53
|
+
/>
|
|
54
|
+
</div>
|
|
55
|
+
);
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
RangerSliderBasic.storyName = 'RangerSlider Basic';
|