@salutejs/plasma-new-hope 0.156.0-canary.1421.11068880918.0 → 0.156.0-canary.1421.11096156509.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. package/cjs/components/DatePicker/RangeDate/RangeDate.js +5 -5
  2. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  3. package/cjs/components/DatePicker/SingleDate/SingleDate.js +6 -6
  4. package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  5. package/cjs/components/DatePicker/utils/{setInitValue.js → setInitialValue.js} +3 -3
  6. package/cjs/components/DatePicker/utils/setInitialValue.js.map +1 -0
  7. package/cjs/components/Slider/components/Double/Double.js +4 -4
  8. package/cjs/components/Slider/components/Double/Double.js.map +1 -1
  9. package/cjs/components/Slider/components/Single/Single.js +5 -5
  10. package/cjs/components/Slider/components/Single/Single.js.map +1 -1
  11. package/cjs/components/Slider/utils/index.js +2 -2
  12. package/cjs/components/Slider/utils/index.js.map +1 -1
  13. package/cjs/hooks/{useForm.js → useFormState.js} +7 -7
  14. package/cjs/hooks/useFormState.js.map +1 -0
  15. package/cjs/index.js +2 -2
  16. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +5 -5
  17. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +6 -6
  18. package/{styled-components/cjs/components/DatePicker/utils/setInitValue.js → emotion/cjs/components/DatePicker/utils/setInitialValue.js} +2 -2
  19. package/emotion/cjs/components/Slider/components/Double/Double.js +4 -4
  20. package/emotion/cjs/components/Slider/components/Single/Single.js +5 -5
  21. package/emotion/cjs/components/Slider/utils/index.js +2 -2
  22. package/emotion/cjs/hooks/index.js +3 -3
  23. package/{styled-components/cjs/hooks/useForm.js → emotion/cjs/hooks/useFormState.js} +6 -6
  24. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +5 -5
  25. package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +6 -6
  26. package/{styled-components/es/components/DatePicker/utils/setInitValue.js → emotion/es/components/DatePicker/utils/setInitialValue.js} +1 -1
  27. package/emotion/es/components/Slider/components/Double/Double.js +5 -5
  28. package/emotion/es/components/Slider/components/Single/Single.js +6 -6
  29. package/emotion/es/components/Slider/utils/index.js +1 -1
  30. package/emotion/es/hooks/index.js +1 -1
  31. package/emotion/es/hooks/{useForm.js → useFormState.js} +5 -5
  32. package/es/components/DatePicker/RangeDate/RangeDate.js +5 -5
  33. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  34. package/es/components/DatePicker/SingleDate/SingleDate.js +6 -6
  35. package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  36. package/es/components/DatePicker/utils/setInitialValue.js +8 -0
  37. package/es/components/DatePicker/utils/setInitialValue.js.map +1 -0
  38. package/es/components/Slider/components/Double/Double.js +5 -5
  39. package/es/components/Slider/components/Double/Double.js.map +1 -1
  40. package/es/components/Slider/components/Single/Single.js +6 -6
  41. package/es/components/Slider/components/Single/Single.js.map +1 -1
  42. package/es/components/Slider/utils/index.js +2 -2
  43. package/es/components/Slider/utils/index.js.map +1 -1
  44. package/es/hooks/{useForm.js → useFormState.js} +7 -7
  45. package/es/hooks/useFormState.js.map +1 -0
  46. package/es/index.js +1 -1
  47. package/package.json +2 -3
  48. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +5 -5
  49. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +6 -6
  50. package/{emotion/cjs/components/DatePicker/utils/setInitValue.js → styled-components/cjs/components/DatePicker/utils/setInitialValue.js} +2 -2
  51. package/styled-components/cjs/components/Slider/components/Double/Double.js +4 -4
  52. package/styled-components/cjs/components/Slider/components/Single/Single.js +5 -5
  53. package/styled-components/cjs/components/Slider/utils/index.js +2 -2
  54. package/styled-components/cjs/hooks/index.js +3 -3
  55. package/{emotion/cjs/hooks/useForm.js → styled-components/cjs/hooks/useFormState.js} +6 -6
  56. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +5 -5
  57. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +6 -6
  58. package/{emotion/es/components/DatePicker/utils/setInitValue.js → styled-components/es/components/DatePicker/utils/setInitialValue.js} +1 -1
  59. package/styled-components/es/components/Slider/components/Double/Double.js +5 -5
  60. package/styled-components/es/components/Slider/components/Single/Single.js +6 -6
  61. package/styled-components/es/components/Slider/utils/index.js +1 -1
  62. package/styled-components/es/hooks/index.js +1 -1
  63. package/styled-components/es/hooks/{useForm.js → useFormState.js} +5 -5
  64. package/types/components/DatePicker/utils/setInitialValue.d.ts +2 -0
  65. package/types/components/DatePicker/utils/setInitialValue.d.ts.map +1 -0
  66. package/types/components/Slider/utils/index.d.ts +1 -1
  67. package/types/components/Slider/utils/index.d.ts.map +1 -1
  68. package/types/hooks/index.d.ts +1 -1
  69. package/types/hooks/index.d.ts.map +1 -1
  70. package/types/hooks/{useForm.d.ts → useFormState.d.ts} +2 -2
  71. package/types/hooks/useFormState.d.ts.map +1 -0
  72. package/cjs/components/DatePicker/utils/setInitValue.js.map +0 -1
  73. package/cjs/hooks/useForm.js.map +0 -1
  74. package/emotion/cjs/examples/plasma_b2c/components/Form/Form.stories.tsx +0 -193
  75. package/emotion/cjs/examples/plasma_web/components/Form/Form.stories.tsx +0 -193
  76. package/emotion/es/examples/plasma_b2c/components/Form/Form.stories.tsx +0 -193
  77. package/emotion/es/examples/plasma_web/components/Form/Form.stories.tsx +0 -193
  78. package/es/components/DatePicker/utils/setInitValue.js +0 -8
  79. package/es/components/DatePicker/utils/setInitValue.js.map +0 -1
  80. package/es/hooks/useForm.js.map +0 -1
  81. package/styled-components/cjs/examples/plasma_b2c/components/Form/Form.stories.tsx +0 -193
  82. package/styled-components/cjs/examples/plasma_web/components/Form/Form.stories.tsx +0 -193
  83. package/styled-components/es/examples/plasma_b2c/components/Form/Form.stories.tsx +0 -193
  84. package/styled-components/es/examples/plasma_web/components/Form/Form.stories.tsx +0 -193
  85. package/types/components/DatePicker/utils/setInitValue.d.ts +0 -2
  86. package/types/components/DatePicker/utils/setInitValue.d.ts.map +0 -1
  87. package/types/hooks/useForm.d.ts.map +0 -1
@@ -1,193 +0,0 @@
1
- import { useForm as useReactHookForm, Controller } from 'react-hook-form';
2
- import React from 'react';
3
- import type { Meta, StoryObj } from '@storybook/react';
4
-
5
- import { WithTheme } from '../../../_helpers';
6
- import { Button } from '../Button/Button';
7
- import { TextField } from '../TextField/TextField';
8
- import { TextArea } from '../TextArea/TextArea';
9
- import { Checkbox } from '../Checkbox/Checkbox';
10
- import { Switch } from '../Switch/Switch';
11
- import { Radiobox } from '../Radiobox/Radiobox';
12
- import { RadioGroup } from '../../../../components/Radiobox';
13
- import { Slider } from '../Slider/Slider';
14
- import { useForm } from '../../../../hooks';
15
- import { DatePicker, DatePickerRange } from '../DatePicker/DatePicker';
16
-
17
- type StoryDropdownProps = {};
18
-
19
- const langName = 'language';
20
- const itemsRadiobox = [
21
- { langName, value: 'c', label: 'C', disabled: false },
22
- { langName, value: 'cpp', label: 'C++', disabled: false },
23
- { langName, value: 'assembly', label: 'Assembly', disabled: false },
24
- ];
25
-
26
- const PlasmaForm = () => {
27
- const onSubmit = (data) => {
28
- console.log(data);
29
- };
30
-
31
- const { formRef, formData } = useForm(onSubmit, {
32
- textfield: 'textfield',
33
- textarea: 'textarea',
34
- checkbox: 'checkobox',
35
- switch: true,
36
- radiobox: 'c',
37
- slider: 10,
38
- sliderd: [10, 20],
39
- datepicker: '12.09.2024',
40
- datepickerRange: ['09.09.2024', '12.09.2024'],
41
- });
42
-
43
- return (
44
- <form onSubmit={formData} style={{ display: 'flex', flexDirection: 'column', gap: '20px' }} ref={formRef}>
45
- <TextField name="textfield" placeholder="Textfield" required={false} />
46
- <TextArea name="textarea" autoResize placeholder="Textarea" />
47
- <Checkbox name="checkbox" label="Checkbox" />
48
- <Switch name="switch" label="Switch" labelPosition="after" />
49
- <RadioGroup aria-labelledby="radiogroup-title-id">
50
- <div id="radiogroup-title-id" style={{ margin: '1rem 0', fontWeight: '600' }}>
51
- Выберите язык программирования для изучения.
52
- </div>
53
- {itemsRadiobox.map((item) => (
54
- <Radiobox
55
- name="radiobox"
56
- key={item.value}
57
- value={item.value}
58
- label={item.label}
59
- disabled={item.disabled}
60
- />
61
- ))}
62
- </RadioGroup>
63
- <Slider name="slider" label="Slider" type="single" min={0} max={100} />
64
- <Slider name="sliderd" label="Slider" type="double" min={0} max={100} />
65
- <DatePicker label="DatePicker" name="datepicker" />
66
- <DatePickerRange label="DatePicker" name="datepickerRange" />
67
- <Button type="submit">Отправить</Button>
68
- </form>
69
- );
70
- };
71
-
72
- const meta: Meta<StoryDropdownProps> = {
73
- title: 'plasma_web/Form',
74
- decorators: [WithTheme],
75
- component: PlasmaForm,
76
- };
77
-
78
- export default meta;
79
-
80
- const StoryPlasmaForm = () => {
81
- return <PlasmaForm />;
82
- };
83
-
84
- export const DefaultPlasmaForm: StoryObj<StoryDropdownProps> = {
85
- render: () => <StoryPlasmaForm />,
86
- };
87
-
88
- const DefaultForm = () => {
89
- const onSubmit = (event) => {
90
- event.preventDefault();
91
-
92
- const fData = new FormData(event.target);
93
-
94
- for (const p of fData) {
95
- const name = p[0];
96
- const value = p[1];
97
-
98
- console.log(name, value);
99
- }
100
- };
101
- return (
102
- <form onSubmit={onSubmit} style={{ display: 'flex', flexDirection: 'column', gap: '20px' }}>
103
- <TextField name="textfield" placeholder="Textfield" required={false} />
104
- <TextArea name="textarea" autoResize placeholder="Textarea" />
105
- <Checkbox name="checkbox" label="Checkbox" />
106
- <Switch name="switch" label="Switch" labelPosition="after" />
107
- <RadioGroup aria-labelledby="radiogroup-title-id">
108
- <div id="radiogroup-title-id" style={{ margin: '1rem 0', fontWeight: '600' }}>
109
- Выберите язык программирования для изучения.
110
- </div>
111
- {itemsRadiobox.map((item) => (
112
- <Radiobox
113
- name="radiobox"
114
- key={item.value}
115
- value={item.value}
116
- label={item.label}
117
- disabled={item.disabled}
118
- />
119
- ))}
120
- </RadioGroup>
121
- <Slider name="slider" label="Slider" type="single" min={0} max={100} />
122
- <DatePicker label="DatePicker" name="datepicker" />
123
- <Button type="submit">Отправить</Button>
124
- </form>
125
- );
126
- };
127
-
128
- const StoryDefaultForm = () => {
129
- return <DefaultForm />;
130
- };
131
-
132
- export const FormDefault: StoryObj<StoryDropdownProps> = {
133
- render: () => <StoryDefaultForm />,
134
- };
135
-
136
- const DefaultUseForm = () => {
137
- const defaultValues = {
138
- textfield: 'John Doe',
139
- textarea: 'Default description',
140
- checkbox: true,
141
- switch: true,
142
- radiobox: 'c',
143
- slider: 10,
144
- sliderdouble: [10, 20],
145
- datepicker: null,
146
- datepickerrange: null,
147
- };
148
- const { register, handleSubmit } = useReactHookForm({
149
- defaultValues,
150
- });
151
- const onSubmit = (data) => {
152
- console.log(data);
153
- };
154
-
155
- const datepicker = register('datepicker');
156
- const datepickerrange = register('datepickerrange');
157
-
158
- return (
159
- <form onSubmit={handleSubmit(onSubmit)} style={{ display: 'flex', flexDirection: 'column', gap: '20px' }}>
160
- <TextField {...register('textfield')} placeholder="Textfield" required={false} />
161
- <TextArea {...register('textarea')} autoResize placeholder="Textarea" />
162
- <Checkbox {...register('checkbox')} label="Checkbox" />
163
- <Switch {...register('switch')} label="Switch" labelPosition="after" />
164
- <RadioGroup aria-labelledby="radiogroup-title-id">
165
- <div id="radiogroup-title-id" style={{ margin: '1rem 0', fontWeight: '600' }}>
166
- Выберите язык программирования для изучения.
167
- </div>
168
- {itemsRadiobox.map((item) => (
169
- <Radiobox
170
- {...register('radiobox')}
171
- key={item.value}
172
- value={item.value}
173
- label={item.label}
174
- disabled={item.disabled}
175
- />
176
- ))}
177
- </RadioGroup>
178
- <Slider {...register('slider')} label="Slider" type="single" min={0} max={100} />
179
- <Slider {...register('sliderdouble')} label="Slider Double" type="double" min={0} max={100} />
180
- <DatePicker name={datepicker.name} onChange={datepicker.onChange} label="DatePicker" />
181
- <DatePickerRange name={datepickerrange.name} onChange={datepickerrange.onChange} label="DatePicker" />
182
- <Button type="submit">Отправить</Button>
183
- </form>
184
- );
185
- };
186
-
187
- const StoryHookForm = () => {
188
- return <DefaultUseForm />;
189
- };
190
-
191
- export const UseHookForm: StoryObj<StoryDropdownProps> = {
192
- render: () => <StoryHookForm />,
193
- };
@@ -1,193 +0,0 @@
1
- import { useForm as useReactHookForm, Controller } from 'react-hook-form';
2
- import React from 'react';
3
- import type { Meta, StoryObj } from '@storybook/react';
4
-
5
- import { WithTheme } from '../../../_helpers';
6
- import { Button } from '../Button/Button';
7
- import { TextField } from '../TextField/TextField';
8
- import { TextArea } from '../TextArea/TextArea';
9
- import { Checkbox } from '../Checkbox/Checkbox';
10
- import { Switch } from '../Switch/Switch';
11
- import { Radiobox } from '../Radiobox/Radiobox';
12
- import { RadioGroup } from '../../../../components/Radiobox';
13
- import { Slider } from '../Slider/Slider';
14
- import { useForm } from '../../../../hooks';
15
- import { DatePicker, DatePickerRange } from '../DatePicker/DatePicker';
16
-
17
- type StoryDropdownProps = {};
18
-
19
- const langName = 'language';
20
- const itemsRadiobox = [
21
- { langName, value: 'c', label: 'C', disabled: false },
22
- { langName, value: 'cpp', label: 'C++', disabled: false },
23
- { langName, value: 'assembly', label: 'Assembly', disabled: false },
24
- ];
25
-
26
- const PlasmaForm = () => {
27
- const onSubmit = (data) => {
28
- console.log(data);
29
- };
30
-
31
- const { formRef, formData } = useForm(onSubmit, {
32
- textfield: 'textfield',
33
- textarea: 'textarea',
34
- checkbox: 'checkobox',
35
- switch: true,
36
- radiobox: 'c',
37
- slider: 10,
38
- sliderd: [10, 20],
39
- datepicker: '12.09.2024',
40
- datepickerRange: ['09.09.2024', '12.09.2024'],
41
- });
42
-
43
- return (
44
- <form onSubmit={formData} style={{ display: 'flex', flexDirection: 'column', gap: '20px' }} ref={formRef}>
45
- <TextField name="textfield" placeholder="Textfield" required={false} />
46
- <TextArea name="textarea" autoResize placeholder="Textarea" />
47
- <Checkbox name="checkbox" label="Checkbox" />
48
- <Switch name="switch" label="Switch" labelPosition="after" />
49
- <RadioGroup aria-labelledby="radiogroup-title-id">
50
- <div id="radiogroup-title-id" style={{ margin: '1rem 0', fontWeight: '600' }}>
51
- Выберите язык программирования для изучения.
52
- </div>
53
- {itemsRadiobox.map((item) => (
54
- <Radiobox
55
- name="radiobox"
56
- key={item.value}
57
- value={item.value}
58
- label={item.label}
59
- disabled={item.disabled}
60
- />
61
- ))}
62
- </RadioGroup>
63
- <Slider name="slider" label="Slider" type="single" min={0} max={100} />
64
- <Slider name="sliderd" label="Slider" type="double" min={0} max={100} />
65
- <DatePicker label="DatePicker" name="datepicker" />
66
- <DatePickerRange label="DatePicker" name="datepickerRange" />
67
- <Button type="submit">Отправить</Button>
68
- </form>
69
- );
70
- };
71
-
72
- const meta: Meta<StoryDropdownProps> = {
73
- title: 'plasma_b2c/Form',
74
- decorators: [WithTheme],
75
- component: PlasmaForm,
76
- };
77
-
78
- export default meta;
79
-
80
- const StoryPlasmaForm = () => {
81
- return <PlasmaForm />;
82
- };
83
-
84
- export const DefaultPlasmaForm: StoryObj<StoryDropdownProps> = {
85
- render: () => <StoryPlasmaForm />,
86
- };
87
-
88
- const DefaultForm = () => {
89
- const onSubmit = (event) => {
90
- event.preventDefault();
91
-
92
- const fData = new FormData(event.target);
93
-
94
- for (const p of fData) {
95
- const name = p[0];
96
- const value = p[1];
97
-
98
- console.log(name, value);
99
- }
100
- };
101
- return (
102
- <form onSubmit={onSubmit} style={{ display: 'flex', flexDirection: 'column', gap: '20px' }}>
103
- <TextField name="textfield" placeholder="Textfield" required={false} />
104
- <TextArea name="textarea" autoResize placeholder="Textarea" />
105
- <Checkbox name="checkbox" label="Checkbox" />
106
- <Switch name="switch" label="Switch" labelPosition="after" />
107
- <RadioGroup aria-labelledby="radiogroup-title-id">
108
- <div id="radiogroup-title-id" style={{ margin: '1rem 0', fontWeight: '600' }}>
109
- Выберите язык программирования для изучения.
110
- </div>
111
- {itemsRadiobox.map((item) => (
112
- <Radiobox
113
- name="radiobox"
114
- key={item.value}
115
- value={item.value}
116
- label={item.label}
117
- disabled={item.disabled}
118
- />
119
- ))}
120
- </RadioGroup>
121
- <Slider name="slider" label="Slider" type="single" min={0} max={100} />
122
- <DatePicker label="DatePicker" name="datepicker" />
123
- <Button type="submit">Отправить</Button>
124
- </form>
125
- );
126
- };
127
-
128
- const StoryDefaultForm = () => {
129
- return <DefaultForm />;
130
- };
131
-
132
- export const FormDefault: StoryObj<StoryDropdownProps> = {
133
- render: () => <StoryDefaultForm />,
134
- };
135
-
136
- const DefaultUseForm = () => {
137
- const defaultValues = {
138
- textfield: 'John Doe',
139
- textarea: 'Default description',
140
- checkbox: true,
141
- switch: true,
142
- radiobox: 'c',
143
- slider: 10,
144
- sliderdouble: [10, 20],
145
- datepicker: null,
146
- datepickerrange: null,
147
- };
148
- const { register, handleSubmit } = useReactHookForm({
149
- defaultValues,
150
- });
151
- const onSubmit = (data) => {
152
- console.log(data);
153
- };
154
-
155
- const datepicker = register('datepicker');
156
- const datepickerrange = register('datepickerrange');
157
-
158
- return (
159
- <form onSubmit={handleSubmit(onSubmit)} style={{ display: 'flex', flexDirection: 'column', gap: '20px' }}>
160
- <TextField {...register('textfield')} placeholder="Textfield" required={false} />
161
- <TextArea {...register('textarea')} autoResize placeholder="Textarea" />
162
- <Checkbox {...register('checkbox')} label="Checkbox" />
163
- <Switch {...register('switch')} label="Switch" labelPosition="after" />
164
- <RadioGroup aria-labelledby="radiogroup-title-id">
165
- <div id="radiogroup-title-id" style={{ margin: '1rem 0', fontWeight: '600' }}>
166
- Выберите язык программирования для изучения.
167
- </div>
168
- {itemsRadiobox.map((item) => (
169
- <Radiobox
170
- {...register('radiobox')}
171
- key={item.value}
172
- value={item.value}
173
- label={item.label}
174
- disabled={item.disabled}
175
- />
176
- ))}
177
- </RadioGroup>
178
- <Slider {...register('slider')} label="Slider" type="single" min={0} max={100} />
179
- <Slider {...register('sliderdouble')} label="Slider Double" type="double" min={0} max={100} />
180
- <DatePicker name={datepicker.name} onChange={datepicker.onChange} label="DatePicker" />
181
- <DatePickerRange name={datepickerrange.name} onChange={datepickerrange.onChange} label="DatePicker" />
182
- <Button type="submit">Отправить</Button>
183
- </form>
184
- );
185
- };
186
-
187
- const StoryHookForm = () => {
188
- return <DefaultUseForm />;
189
- };
190
-
191
- export const UseHookForm: StoryObj<StoryDropdownProps> = {
192
- render: () => <StoryHookForm />,
193
- };
@@ -1,193 +0,0 @@
1
- import { useForm as useReactHookForm, Controller } from 'react-hook-form';
2
- import React from 'react';
3
- import type { Meta, StoryObj } from '@storybook/react';
4
-
5
- import { WithTheme } from '../../../_helpers';
6
- import { Button } from '../Button/Button';
7
- import { TextField } from '../TextField/TextField';
8
- import { TextArea } from '../TextArea/TextArea';
9
- import { Checkbox } from '../Checkbox/Checkbox';
10
- import { Switch } from '../Switch/Switch';
11
- import { Radiobox } from '../Radiobox/Radiobox';
12
- import { RadioGroup } from '../../../../components/Radiobox';
13
- import { Slider } from '../Slider/Slider';
14
- import { useForm } from '../../../../hooks';
15
- import { DatePicker, DatePickerRange } from '../DatePicker/DatePicker';
16
-
17
- type StoryDropdownProps = {};
18
-
19
- const langName = 'language';
20
- const itemsRadiobox = [
21
- { langName, value: 'c', label: 'C', disabled: false },
22
- { langName, value: 'cpp', label: 'C++', disabled: false },
23
- { langName, value: 'assembly', label: 'Assembly', disabled: false },
24
- ];
25
-
26
- const PlasmaForm = () => {
27
- const onSubmit = (data) => {
28
- console.log(data);
29
- };
30
-
31
- const { formRef, formData } = useForm(onSubmit, {
32
- textfield: 'textfield',
33
- textarea: 'textarea',
34
- checkbox: 'checkobox',
35
- switch: true,
36
- radiobox: 'c',
37
- slider: 10,
38
- sliderd: [10, 20],
39
- datepicker: '12.09.2024',
40
- datepickerRange: ['09.09.2024', '12.09.2024'],
41
- });
42
-
43
- return (
44
- <form onSubmit={formData} style={{ display: 'flex', flexDirection: 'column', gap: '20px' }} ref={formRef}>
45
- <TextField name="textfield" placeholder="Textfield" required={false} />
46
- <TextArea name="textarea" autoResize placeholder="Textarea" />
47
- <Checkbox name="checkbox" label="Checkbox" />
48
- <Switch name="switch" label="Switch" labelPosition="after" />
49
- <RadioGroup aria-labelledby="radiogroup-title-id">
50
- <div id="radiogroup-title-id" style={{ margin: '1rem 0', fontWeight: '600' }}>
51
- Выберите язык программирования для изучения.
52
- </div>
53
- {itemsRadiobox.map((item) => (
54
- <Radiobox
55
- name="radiobox"
56
- key={item.value}
57
- value={item.value}
58
- label={item.label}
59
- disabled={item.disabled}
60
- />
61
- ))}
62
- </RadioGroup>
63
- <Slider name="slider" label="Slider" type="single" min={0} max={100} />
64
- <Slider name="sliderd" label="Slider" type="double" min={0} max={100} />
65
- <DatePicker label="DatePicker" name="datepicker" />
66
- <DatePickerRange label="DatePicker" name="datepickerRange" />
67
- <Button type="submit">Отправить</Button>
68
- </form>
69
- );
70
- };
71
-
72
- const meta: Meta<StoryDropdownProps> = {
73
- title: 'plasma_web/Form',
74
- decorators: [WithTheme],
75
- component: PlasmaForm,
76
- };
77
-
78
- export default meta;
79
-
80
- const StoryPlasmaForm = () => {
81
- return <PlasmaForm />;
82
- };
83
-
84
- export const DefaultPlasmaForm: StoryObj<StoryDropdownProps> = {
85
- render: () => <StoryPlasmaForm />,
86
- };
87
-
88
- const DefaultForm = () => {
89
- const onSubmit = (event) => {
90
- event.preventDefault();
91
-
92
- const fData = new FormData(event.target);
93
-
94
- for (const p of fData) {
95
- const name = p[0];
96
- const value = p[1];
97
-
98
- console.log(name, value);
99
- }
100
- };
101
- return (
102
- <form onSubmit={onSubmit} style={{ display: 'flex', flexDirection: 'column', gap: '20px' }}>
103
- <TextField name="textfield" placeholder="Textfield" required={false} />
104
- <TextArea name="textarea" autoResize placeholder="Textarea" />
105
- <Checkbox name="checkbox" label="Checkbox" />
106
- <Switch name="switch" label="Switch" labelPosition="after" />
107
- <RadioGroup aria-labelledby="radiogroup-title-id">
108
- <div id="radiogroup-title-id" style={{ margin: '1rem 0', fontWeight: '600' }}>
109
- Выберите язык программирования для изучения.
110
- </div>
111
- {itemsRadiobox.map((item) => (
112
- <Radiobox
113
- name="radiobox"
114
- key={item.value}
115
- value={item.value}
116
- label={item.label}
117
- disabled={item.disabled}
118
- />
119
- ))}
120
- </RadioGroup>
121
- <Slider name="slider" label="Slider" type="single" min={0} max={100} />
122
- <DatePicker label="DatePicker" name="datepicker" />
123
- <Button type="submit">Отправить</Button>
124
- </form>
125
- );
126
- };
127
-
128
- const StoryDefaultForm = () => {
129
- return <DefaultForm />;
130
- };
131
-
132
- export const FormDefault: StoryObj<StoryDropdownProps> = {
133
- render: () => <StoryDefaultForm />,
134
- };
135
-
136
- const DefaultUseForm = () => {
137
- const defaultValues = {
138
- textfield: 'John Doe',
139
- textarea: 'Default description',
140
- checkbox: true,
141
- switch: true,
142
- radiobox: 'c',
143
- slider: 10,
144
- sliderdouble: [10, 20],
145
- datepicker: null,
146
- datepickerrange: null,
147
- };
148
- const { register, handleSubmit } = useReactHookForm({
149
- defaultValues,
150
- });
151
- const onSubmit = (data) => {
152
- console.log(data);
153
- };
154
-
155
- const datepicker = register('datepicker');
156
- const datepickerrange = register('datepickerrange');
157
-
158
- return (
159
- <form onSubmit={handleSubmit(onSubmit)} style={{ display: 'flex', flexDirection: 'column', gap: '20px' }}>
160
- <TextField {...register('textfield')} placeholder="Textfield" required={false} />
161
- <TextArea {...register('textarea')} autoResize placeholder="Textarea" />
162
- <Checkbox {...register('checkbox')} label="Checkbox" />
163
- <Switch {...register('switch')} label="Switch" labelPosition="after" />
164
- <RadioGroup aria-labelledby="radiogroup-title-id">
165
- <div id="radiogroup-title-id" style={{ margin: '1rem 0', fontWeight: '600' }}>
166
- Выберите язык программирования для изучения.
167
- </div>
168
- {itemsRadiobox.map((item) => (
169
- <Radiobox
170
- {...register('radiobox')}
171
- key={item.value}
172
- value={item.value}
173
- label={item.label}
174
- disabled={item.disabled}
175
- />
176
- ))}
177
- </RadioGroup>
178
- <Slider {...register('slider')} label="Slider" type="single" min={0} max={100} />
179
- <Slider {...register('sliderdouble')} label="Slider Double" type="double" min={0} max={100} />
180
- <DatePicker name={datepicker.name} onChange={datepicker.onChange} label="DatePicker" />
181
- <DatePickerRange name={datepickerrange.name} onChange={datepickerrange.onChange} label="DatePicker" />
182
- <Button type="submit">Отправить</Button>
183
- </form>
184
- );
185
- };
186
-
187
- const StoryHookForm = () => {
188
- return <DefaultUseForm />;
189
- };
190
-
191
- export const UseHookForm: StoryObj<StoryDropdownProps> = {
192
- render: () => <StoryHookForm />,
193
- };
@@ -1,8 +0,0 @@
1
- var setInitValue = function setInitValue(e) {
2
- var item = e.target;
3
- var defaultValue = String(item.getAttribute('defaultValue'));
4
- return defaultValue;
5
- };
6
-
7
- export { setInitValue };
8
- //# sourceMappingURL=setInitValue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setInitValue.js","sources":["../../../../src/components/DatePicker/utils/setInitValue.ts"],"sourcesContent":["export const setInitValue = (e: Event): string => {\n const item = e.target as HTMLInputElement;\n const defaultValue = String(item.getAttribute('defaultValue'));\n\n return defaultValue;\n};\n"],"names":["setInitValue","e","item","target","defaultValue","String","getAttribute"],"mappings":"IAAaA,YAAY,GAAG,SAAfA,YAAYA,CAAIC,CAAQ,EAAa;AAC9C,EAAA,IAAMC,IAAI,GAAGD,CAAC,CAACE,MAA0B,CAAA;EACzC,IAAMC,YAAY,GAAGC,MAAM,CAACH,IAAI,CAACI,YAAY,CAAC,cAAc,CAAC,CAAC,CAAA;AAE9D,EAAA,OAAOF,YAAY,CAAA;AACvB;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useForm.js","sources":["../../src/hooks/useForm.ts"],"sourcesContent":["import React, { RefObject, useEffect } from 'react';\n\ntype DataType = { [name: string]: string | boolean | null | number | number[] | Date | string[] };\n\nconst initData = (ref: RefObject<HTMLFormElement>, defaultValues: DataType) => {\n if (!ref.current) {\n return;\n }\n\n const form = ref.current as HTMLFormElement;\n const items = form.elements;\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i] as HTMLInputElement;\n const { name, value, type } = item;\n\n if ((type === 'text' || type === 'textarea') && defaultValues[name]) {\n item.value = String(defaultValues[name]);\n }\n\n if (type === 'checkbox' && defaultValues[name]) {\n item.checked = Boolean(defaultValues[name]);\n }\n\n if (type === 'radio' && defaultValues[name]) {\n item.checked = defaultValues[name] === value;\n }\n\n if (type === 'number' && defaultValues[name]) {\n const sliderType = item.getAttribute('datatype');\n\n if (sliderType === 'slider-single') {\n item.setAttribute('defaultValue', String(defaultValues[name]));\n const event = new Event('setInitValue');\n item.dispatchEvent(event);\n }\n\n if (sliderType === 'slider-double') {\n const isMax = item.getAttribute('data-slidertype') === 'max' ? 1 : 0;\n const data = defaultValues[name] as number[];\n\n item.setAttribute('defaultValue', String(data[isMax]));\n const event = new Event('setInitValue');\n item.dispatchEvent(event);\n }\n }\n\n if (type === 'hidden') {\n const datepickerType = item.getAttribute('datatype');\n\n if (datepickerType === 'datepicker-single') {\n item.setAttribute('defaultValue', String(defaultValues[name]));\n const event = new Event('setInitValue');\n item.dispatchEvent(event);\n }\n\n if (datepickerType === 'datepicker-double') {\n const isTo = item.getAttribute('data-datepicker') === 'to' ? 1 : 0;\n const data = defaultValues[name] as number[];\n\n item.setAttribute('defaultValue', String(data[isTo]));\n const event = new Event('setInitValue');\n item.dispatchEvent(event);\n }\n }\n }\n};\n\nconst valideParams = (name: string) => {\n return name && name !== '';\n};\n\nexport const useForm = (onSubmit: (data: DataType) => void, defaultValues: DataType) => {\n const formRef = React.createRef<HTMLFormElement>();\n\n useEffect(() => {\n initData(formRef, defaultValues);\n }, []);\n\n const formData = (event: React.FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n\n const result: DataType = {};\n\n const form = event.target as HTMLFormElement;\n const items = form.elements;\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i] as HTMLInputElement;\n const { name, value, type } = item;\n\n if ((type === 'text' || type === 'textarea') && valideParams(name)) {\n result[name] = value;\n }\n\n if (type === 'checkbox' && valideParams(name)) {\n result[name] = item.checked;\n }\n\n if (type === 'radio' && valideParams(name)) {\n if (item.checked) {\n result[name] = value;\n } else if (!(name in result)) {\n result[name] = null;\n }\n }\n\n if (type === 'number' && valideParams(name)) {\n const sliderType = item.getAttribute('datatype');\n\n if (sliderType === 'slider-single') {\n result[name] = value;\n }\n\n if (sliderType === 'slider-double') {\n const isMin = item.getAttribute('data-slidertype') === 'min';\n if (isMin) {\n result[name] = [Number(value)];\n }\n\n if (!isMin && Array.isArray(result[name])) {\n result[name] = [...(result[name] as number[]), Number(value)];\n }\n }\n }\n\n if (type === 'hidden' && valideParams(name)) {\n const sliderType = item.getAttribute('datatype');\n\n if (sliderType === 'datepicker-single') {\n result[name] = value;\n }\n\n if (sliderType === 'datepicker-double') {\n const isMin = item.getAttribute('data-datepicker') === 'from';\n if (isMin) {\n result[name] = [String(value)];\n }\n\n if (!isMin && Array.isArray(result[name])) {\n result[name] = [...(result[name] as string[]), String(value)];\n }\n }\n }\n }\n\n onSubmit(result);\n };\n\n return { formRef, formData };\n};\n"],"names":["initData","ref","defaultValues","current","form","items","elements","i","length","item","name","value","type","String","checked","Boolean","sliderType","getAttribute","setAttribute","event","Event","dispatchEvent","isMax","data","datepickerType","isTo","valideParams","useForm","onSubmit","formRef","React","createRef","useEffect","formData","preventDefault","result","target","isMin","Number","Array","isArray","concat","_toConsumableArray"],"mappings":"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"}