@xaypay/tui 0.0.21 → 0.0.23

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/index.es.js CHANGED
@@ -195,45 +195,55 @@ const Autocomplate = ({
195
195
  onChange,
196
196
  value,
197
197
  searchCount,
198
+ placeHolder,
198
199
  keyNames,
200
+ errorMesage,
199
201
  ...props
200
202
  }) => {
201
203
  classnames(styles$7.searchBox, className);
202
- const [inputValue, setInputValue] = useState(null);
203
- const [inputId, setInputId] = useState(null);
204
+ const parseSelectedOptionsData = jsonSelectedOptionsData ? JSON.parse(jsonSelectedOptionsData) : {
205
+ name: '',
206
+ id: ''
207
+ };
208
+ const [inputValue, setInputValue] = useState(parseSelectedOptionsData[keyNames.name]);
209
+ const [inputId, setInputId] = useState(parseSelectedOptionsData[keyNames.id]);
204
210
  const [activeOption, setActiveOption] = useState(0);
205
- const [filteredOptions, setFilteredOptions] = useState([]);
206
211
  const [showOptions, setShowOptions] = useState(false);
207
- const parseOptionsData = jsonOptionsData ? JSON.parse(jsonOptionsData).sort() : [];
208
- const parseSelectedOptionsData = jsonSelectedOptionsData ? JSON.parse(jsonSelectedOptionsData) : {};
212
+ const parseOptionsData = jsonOptionsData ? JSON.parse(jsonOptionsData) : [];
213
+ useEffect(() => {
214
+ setInputValue(JSON.parse(jsonSelectedOptionsData)[keyNames.name]);
215
+ setInputId(JSON.parse(jsonSelectedOptionsData)[keyNames.id]);
216
+ }, [jsonSelectedOptionsData]);
209
217
  const handleChange = e => {
210
218
  const currentInputValue = e.currentTarget.value;
211
219
  setInputId(null);
212
- const filteredOptions = parseOptionsData.filter(optionName => optionName[keyNames.name].toLowerCase().indexOf(currentInputValue.toLowerCase()) > -1);
213
220
  setInputValue(currentInputValue);
221
+ setInputId('');
214
222
  setActiveOption(0);
215
- setFilteredOptions(filteredOptions);
216
223
  setShowOptions(true);
224
+ onChange({
225
+ name: currentInputValue,
226
+ id: e.target.id
227
+ });
217
228
  };
218
229
  const handleClick = e => {
219
- setInputValue(e.currentTarget.innerText);
220
- setInputId();
221
230
  setActiveOption(0);
222
- setFilteredOptions([]);
223
231
  setShowOptions(false);
232
+ setInputValue(e.target.innerText);
233
+ setInputId(e.target.id);
224
234
  onChange({
225
- name: e.currentTarget.innerText,
235
+ name: e.target.innerText,
226
236
  id: e.target.id
227
237
  });
228
238
  };
229
239
  let optionList;
230
240
  if (showOptions && inputValue) {
231
- if (filteredOptions.length && inputValue.length >= searchCount) {
241
+ if (parseOptionsData.length && inputValue.length >= searchCount) {
232
242
  optionList = /*#__PURE__*/React.createElement("div", {
233
243
  className: styles$7['autocomplate-content-bottom']
234
244
  }, /*#__PURE__*/React.createElement("div", {
235
245
  className: styles$7['autocomplate-content-bottom-inner']
236
- }, filteredOptions.map((optionName, index) => {
246
+ }, parseOptionsData.map((optionName, index) => {
237
247
  let className;
238
248
  if (index === activeOption) {
239
249
  className = "option-active";
@@ -270,13 +280,19 @@ const Autocomplate = ({
270
280
  required: required,
271
281
  disabled: disabled,
272
282
  onChange: handleChange,
273
- value: inputValue != null ? inputValue : parseSelectedOptionsData[keyNames.name],
274
- placeholder: !parseSelectedOptionsData[keyNames.name] ? " Write..." : ''
275
- }, props)), optionList));
283
+ onClick: () => {
284
+ setShowOptions(!showOptions);
285
+ },
286
+ value: inputValue,
287
+ placeholder: placeHolder
288
+ }, props)), errorMesage ? /*#__PURE__*/React.createElement("span", {
289
+ className: styles$7.errorMessage
290
+ }, errorMesage) : null, optionList));
276
291
  };
277
292
  Autocomplate.propTypes = {
278
293
  className: PropTypes.string,
279
294
  label: PropTypes.string,
295
+ placeHolder: PropTypes.string,
280
296
  required: PropTypes.bool,
281
297
  disabled: PropTypes.bool,
282
298
  jsonOptionsData: PropTypes.string,
@@ -284,7 +300,8 @@ Autocomplate.propTypes = {
284
300
  onChange: PropTypes.func,
285
301
  value: PropTypes.string,
286
302
  searchCount: PropTypes.number,
287
- keyNames: PropTypes.object
303
+ keyNames: PropTypes.object,
304
+ errorMesage: PropTypes.string
288
305
  };
289
306
 
290
307
  var css_248z$7 = ".checkbox-module_checkbox-wrap__Xrg-m{align-items:center;cursor:pointer;display:inline-flex;flex-direction:row;flex-wrap:nowrap;margin:0 6px;padding-left:24px;position:relative}.checkbox-module_checkbox-wrap__Xrg-m>input{height:0;opacity:0;position:absolute;width:0}.checkbox-module_checkbox-wrap__Xrg-m .checkbox-module_checkmark__M8DY6{border:1px solid #d9d9d9;border-radius:3px;display:inline-block;height:14px;left:0;margin-right:4px;position:absolute;top:0;transition:border-color .24s;vertical-align:top;width:14px}.checkbox-module_checkbox-wrap__Xrg-m>.checkbox-module_checkmark__M8DY6:after{border:solid #1890ff;border-width:0 2px 2px 0;content:\"\";display:block;height:8px;left:4px;opacity:0;position:absolute;top:1px;transform:rotate(45deg);transition:opacity .24s;width:4px}.checkbox-module_checkbox-wrap__Xrg-m input:checked~.checkbox-module_checkmark__M8DY6:after{opacity:1}.checkbox-module_checkbox-wrap__Xrg-m input:checked~.checkbox-module_checkmark__M8DY6,.checkbox-module_checkbox-wrap__Xrg-m:hover input~.checkbox-module_checkmark__M8DY6{border-color:#1890ff}";
@@ -301,11 +318,15 @@ const Checkbox = ({
301
318
  onChange,
302
319
  label,
303
320
  keyNames,
321
+ onClick,
304
322
  ...props
305
323
  }) => {
306
324
  const classProps = classnames(styles$6.checkbox, className);
307
325
  const parseData = jsonData.length !== 0 ? JSON.parse(jsonData) : [];
308
326
  const [data, setData] = useState(parseData);
327
+ const handleClick = e => {
328
+ onClick(e);
329
+ };
309
330
  const handleChange = e => {
310
331
  if (e.target.checked) {
311
332
  data.forEach(item => {
@@ -334,7 +355,8 @@ const Checkbox = ({
334
355
  required: required,
335
356
  value: value ? value : element.value,
336
357
  name: name ? name : element.name,
337
- onChange: handleChange
358
+ onChange: handleChange,
359
+ onClick: handleClick
338
360
  }, props)), /*#__PURE__*/React.createElement("span", {
339
361
  className: styles$6["checkmark"]
340
362
  }), element.label ? /*#__PURE__*/React.createElement("span", {
@@ -351,7 +373,7 @@ Checkbox.propTypes = {
351
373
  value: PropTypes.string,
352
374
  jsonData: PropTypes.string,
353
375
  label: PropTypes.string,
354
- onChange: PropTypes.func,
376
+ onClick: PropTypes.func,
355
377
  keyNames: PropTypes.object
356
378
  };
357
379
  Checkbox.defaultProps = {
package/dist/index.js CHANGED
@@ -206,45 +206,55 @@ const Autocomplate = ({
206
206
  onChange,
207
207
  value,
208
208
  searchCount,
209
+ placeHolder,
209
210
  keyNames,
211
+ errorMesage,
210
212
  ...props
211
213
  }) => {
212
214
  classnames__default["default"](styles$7.searchBox, className);
213
- const [inputValue, setInputValue] = React.useState(null);
214
- const [inputId, setInputId] = React.useState(null);
215
+ const parseSelectedOptionsData = jsonSelectedOptionsData ? JSON.parse(jsonSelectedOptionsData) : {
216
+ name: '',
217
+ id: ''
218
+ };
219
+ const [inputValue, setInputValue] = React.useState(parseSelectedOptionsData[keyNames.name]);
220
+ const [inputId, setInputId] = React.useState(parseSelectedOptionsData[keyNames.id]);
215
221
  const [activeOption, setActiveOption] = React.useState(0);
216
- const [filteredOptions, setFilteredOptions] = React.useState([]);
217
222
  const [showOptions, setShowOptions] = React.useState(false);
218
- const parseOptionsData = jsonOptionsData ? JSON.parse(jsonOptionsData).sort() : [];
219
- const parseSelectedOptionsData = jsonSelectedOptionsData ? JSON.parse(jsonSelectedOptionsData) : {};
223
+ const parseOptionsData = jsonOptionsData ? JSON.parse(jsonOptionsData) : [];
224
+ React.useEffect(() => {
225
+ setInputValue(JSON.parse(jsonSelectedOptionsData)[keyNames.name]);
226
+ setInputId(JSON.parse(jsonSelectedOptionsData)[keyNames.id]);
227
+ }, [jsonSelectedOptionsData]);
220
228
  const handleChange = e => {
221
229
  const currentInputValue = e.currentTarget.value;
222
230
  setInputId(null);
223
- const filteredOptions = parseOptionsData.filter(optionName => optionName[keyNames.name].toLowerCase().indexOf(currentInputValue.toLowerCase()) > -1);
224
231
  setInputValue(currentInputValue);
232
+ setInputId('');
225
233
  setActiveOption(0);
226
- setFilteredOptions(filteredOptions);
227
234
  setShowOptions(true);
235
+ onChange({
236
+ name: currentInputValue,
237
+ id: e.target.id
238
+ });
228
239
  };
229
240
  const handleClick = e => {
230
- setInputValue(e.currentTarget.innerText);
231
- setInputId();
232
241
  setActiveOption(0);
233
- setFilteredOptions([]);
234
242
  setShowOptions(false);
243
+ setInputValue(e.target.innerText);
244
+ setInputId(e.target.id);
235
245
  onChange({
236
- name: e.currentTarget.innerText,
246
+ name: e.target.innerText,
237
247
  id: e.target.id
238
248
  });
239
249
  };
240
250
  let optionList;
241
251
  if (showOptions && inputValue) {
242
- if (filteredOptions.length && inputValue.length >= searchCount) {
252
+ if (parseOptionsData.length && inputValue.length >= searchCount) {
243
253
  optionList = /*#__PURE__*/React__default["default"].createElement("div", {
244
254
  className: styles$7['autocomplate-content-bottom']
245
255
  }, /*#__PURE__*/React__default["default"].createElement("div", {
246
256
  className: styles$7['autocomplate-content-bottom-inner']
247
- }, filteredOptions.map((optionName, index) => {
257
+ }, parseOptionsData.map((optionName, index) => {
248
258
  let className;
249
259
  if (index === activeOption) {
250
260
  className = "option-active";
@@ -281,13 +291,19 @@ const Autocomplate = ({
281
291
  required: required,
282
292
  disabled: disabled,
283
293
  onChange: handleChange,
284
- value: inputValue != null ? inputValue : parseSelectedOptionsData[keyNames.name],
285
- placeholder: !parseSelectedOptionsData[keyNames.name] ? " Write..." : ''
286
- }, props)), optionList));
294
+ onClick: () => {
295
+ setShowOptions(!showOptions);
296
+ },
297
+ value: inputValue,
298
+ placeholder: placeHolder
299
+ }, props)), errorMesage ? /*#__PURE__*/React__default["default"].createElement("span", {
300
+ className: styles$7.errorMessage
301
+ }, errorMesage) : null, optionList));
287
302
  };
288
303
  Autocomplate.propTypes = {
289
304
  className: PropTypes__default["default"].string,
290
305
  label: PropTypes__default["default"].string,
306
+ placeHolder: PropTypes__default["default"].string,
291
307
  required: PropTypes__default["default"].bool,
292
308
  disabled: PropTypes__default["default"].bool,
293
309
  jsonOptionsData: PropTypes__default["default"].string,
@@ -295,7 +311,8 @@ Autocomplate.propTypes = {
295
311
  onChange: PropTypes__default["default"].func,
296
312
  value: PropTypes__default["default"].string,
297
313
  searchCount: PropTypes__default["default"].number,
298
- keyNames: PropTypes__default["default"].object
314
+ keyNames: PropTypes__default["default"].object,
315
+ errorMesage: PropTypes__default["default"].string
299
316
  };
300
317
 
301
318
  var css_248z$7 = ".checkbox-module_checkbox-wrap__Xrg-m{align-items:center;cursor:pointer;display:inline-flex;flex-direction:row;flex-wrap:nowrap;margin:0 6px;padding-left:24px;position:relative}.checkbox-module_checkbox-wrap__Xrg-m>input{height:0;opacity:0;position:absolute;width:0}.checkbox-module_checkbox-wrap__Xrg-m .checkbox-module_checkmark__M8DY6{border:1px solid #d9d9d9;border-radius:3px;display:inline-block;height:14px;left:0;margin-right:4px;position:absolute;top:0;transition:border-color .24s;vertical-align:top;width:14px}.checkbox-module_checkbox-wrap__Xrg-m>.checkbox-module_checkmark__M8DY6:after{border:solid #1890ff;border-width:0 2px 2px 0;content:\"\";display:block;height:8px;left:4px;opacity:0;position:absolute;top:1px;transform:rotate(45deg);transition:opacity .24s;width:4px}.checkbox-module_checkbox-wrap__Xrg-m input:checked~.checkbox-module_checkmark__M8DY6:after{opacity:1}.checkbox-module_checkbox-wrap__Xrg-m input:checked~.checkbox-module_checkmark__M8DY6,.checkbox-module_checkbox-wrap__Xrg-m:hover input~.checkbox-module_checkmark__M8DY6{border-color:#1890ff}";
@@ -312,11 +329,15 @@ const Checkbox = ({
312
329
  onChange,
313
330
  label,
314
331
  keyNames,
332
+ onClick,
315
333
  ...props
316
334
  }) => {
317
335
  const classProps = classnames__default["default"](styles$6.checkbox, className);
318
336
  const parseData = jsonData.length !== 0 ? JSON.parse(jsonData) : [];
319
337
  const [data, setData] = React.useState(parseData);
338
+ const handleClick = e => {
339
+ onClick(e);
340
+ };
320
341
  const handleChange = e => {
321
342
  if (e.target.checked) {
322
343
  data.forEach(item => {
@@ -345,7 +366,8 @@ const Checkbox = ({
345
366
  required: required,
346
367
  value: value ? value : element.value,
347
368
  name: name ? name : element.name,
348
- onChange: handleChange
369
+ onChange: handleChange,
370
+ onClick: handleClick
349
371
  }, props)), /*#__PURE__*/React__default["default"].createElement("span", {
350
372
  className: styles$6["checkmark"]
351
373
  }), element.label ? /*#__PURE__*/React__default["default"].createElement("span", {
@@ -362,7 +384,7 @@ Checkbox.propTypes = {
362
384
  value: PropTypes__default["default"].string,
363
385
  jsonData: PropTypes__default["default"].string,
364
386
  label: PropTypes__default["default"].string,
365
- onChange: PropTypes__default["default"].func,
387
+ onClick: PropTypes__default["default"].func,
366
388
  keyNames: PropTypes__default["default"].object
367
389
  };
368
390
  Checkbox.defaultProps = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xaypay/tui",
3
- "version": "0.0.21",
3
+ "version": "0.0.23",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.es.js",
@@ -11,13 +11,23 @@ const Template = (args) => <Autocomplate {...args} />;
11
11
  export const Default = Template.bind({});
12
12
  Default.args = {
13
13
  jsonOptionsData: '[{"bbb":"0", "value":"asd"}, {"bbb":"2", "value":"bas"}]',
14
- // jsonSelectedOptionsData: '{"bbb":"0", "value":"asd"}',
14
+ jsonSelectedOptionsData: '{"bbb":"0", "value":"gasdfgdsfgdsg"}',
15
15
  label: 'label',
16
16
  keyNames: { name: 'value', id: 'bbb' },
17
17
  searchCount: 2,
18
- onChange(aa){
18
+ onChange: (aa)=> {
19
19
  console.log(aa);
20
- // console.log(aa.id);
20
+ fetch(`http://dev2.govazd-api.yerevan.am/api/v1/companies/autocomplete?slug=${aa.name? aa.name : 'a'}`, {
21
+ method: 'GET',
22
+ headers: {
23
+ 'Content-Type': 'application/json',
24
+ 'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIwMjE0NzEyYTllNzQwZWMyMjNhYzE2MGQyNGVkY2UzNyIsImp0aSI6Ijk2Mjk0MjJkNTY1ZTQ3MGM3MjFkZjY5NDgzMzE3ZThmYjdlMDJmMjI4YjY5MzZhYzdiM2EzMWM4ODZkMWQwZDk2YjIzNzYwMmJhMWE0MTE0IiwiaWF0IjoxNjY5MTgyOTI5LjczMjIwOCwibmJmIjoxNjY5MTgyOTI5LjczMjIzLCJleHAiOjE2NjkyMDgxMjkuNzEyNDczLCJzdWIiOiJtaW5hcyIsInNjb3BlcyI6WyJlbWFpbCJdfQ.NsFsqDHOBYzgReUtW9iumbEvYCB8O7yCIJ2UTz0-AeVEjdUxE-htZMBYF8pP3m-lM1IQ3iN2ude7AZhTzVLMAhTt-5tKJr8YAxhX28yCBLYsFHE-e0k7-FLKBkkZxt9yrvX_Rz8aSQ39-3HrkyB-BYHzV5-GnMgAhnrWKYlTmrVFi9SWu0WBYPHvblMTEh3Vkkd1ESn7fUhy8gf8qma0ChRAMbkozLffbVVYfnWlU0eySD2PUWrZ26JtKAX6k-q7TiMd6HMjOEFUi80JH7aoKDI1vdg8kKlPqcjYTEJK3hzIJrtOHTTUoW4m1-k5x9Le3ULdT4Hctr0bh--ERShnTTg-DBJh0zIoBol4hFHZnA35_FEqKBkDAJ3EOt9DusBTJ9Iad-JzrxJqb-4uhzWjTg8f3F_IedPgG3pwqGkSw2U2dVqzwdqy3yaElp7SGWpicNxJWJsr5Vfa8gLhMkmDMooOHNBUNkS-4Z8Cn6dPc-1mg2JZxrBuSMElkp8-DQr9Xe9VBf8wCUEdHDvQmb-6LIEL8njS2XGL82m827uO-BOVVOIiZO-BVGn_VjIwdhywrjmudPWBy2CVUxHEft64Bz3VkS2FnFoSN7_zsaCE6dpXWTRJKv-4IeBv8pn4-lYw67jMINza7Om9_6BOlnk1VvjixmulPyTobgEO7PQ6FeE',
25
+ },
26
+ }).then((res)=> {
27
+ return res.json()
28
+ }).then((data)=> {
29
+ console.log(data)
30
+ })
21
31
  }
22
32
 
23
33
  };
@@ -1,4 +1,4 @@
1
- import React, { useState } from "react";
1
+ import React, { useEffect, useState } from "react";
2
2
  import PropTypes from "prop-types";
3
3
  import classnames from "classnames";
4
4
  import styles from "./autocomplate.module.css";
@@ -13,79 +13,81 @@ export const Autocomplate = ({
13
13
  onChange,
14
14
  value,
15
15
  searchCount,
16
+ placeHolder,
16
17
  keyNames,
18
+ errorMesage,
17
19
  ...props
18
20
  }) => {
19
21
  const classProps = classnames(styles.searchBox, className);
20
- const [inputValue, setInputValue] = useState(null);
21
- const [inputId, setInputId] = useState(null);
22
+ const parseSelectedOptionsData =
23
+ jsonSelectedOptionsData ? JSON.parse(jsonSelectedOptionsData) : { name: '', id: '' };
24
+ const [inputValue, setInputValue] = useState(parseSelectedOptionsData[keyNames.name]);
25
+ const [inputId, setInputId] = useState(parseSelectedOptionsData[keyNames.id]);
22
26
  const [activeOption, setActiveOption] = useState(0);
23
- const [filteredOptions, setFilteredOptions] = useState([]);
24
27
  const [showOptions, setShowOptions] = useState(false);
25
28
  const parseOptionsData =
26
- jsonOptionsData? JSON.parse(jsonOptionsData).sort() : [];
27
- const parseSelectedOptionsData =
28
- jsonSelectedOptionsData ? JSON.parse(jsonSelectedOptionsData) : {};
29
-
29
+ jsonOptionsData ? JSON.parse(jsonOptionsData) : [];
30
+ useEffect(() => {
31
+ setInputValue(JSON.parse(jsonSelectedOptionsData)[keyNames.name])
32
+ setInputId(JSON.parse(jsonSelectedOptionsData)[keyNames.id])
33
+ }, [jsonSelectedOptionsData])
34
+
30
35
  const handleChange = (e) => {
31
36
  const currentInputValue = e.currentTarget.value;
32
37
  setInputId(null)
33
- const filteredOptions = parseOptionsData.filter(
34
- (optionName) =>
35
- optionName[keyNames.name].toLowerCase().indexOf(currentInputValue.toLowerCase()) > -1
36
- );
37
38
  setInputValue(currentInputValue);
39
+ setInputId('')
38
40
  setActiveOption(0);
39
- setFilteredOptions(filteredOptions);
40
- setShowOptions(true);
41
+ setShowOptions(true);
42
+ onChange({ name: currentInputValue, id: e.target.id });
41
43
  };
42
44
  const handleClick = (e) => {
43
- setInputValue(e.currentTarget.innerText);
44
- setInputId()
45
45
  setActiveOption(0);
46
- setFilteredOptions([]);
47
46
  setShowOptions(false);
48
- onChange({name: e.currentTarget.innerText, id: e.target.id});
47
+ setInputValue(e.target.innerText);
48
+ setInputId(e.target.id)
49
+
50
+ onChange({ name: e.target.innerText, id: e.target.id });
49
51
 
50
52
  };
51
53
  let optionList;
52
- if (showOptions && inputValue) {
53
- if (filteredOptions.length && inputValue.length >= searchCount) {
54
- optionList = (
55
- <div className={styles['autocomplate-content-bottom']}>
56
- <div className={styles['autocomplate-content-bottom-inner']}>
57
- {filteredOptions.map((optionName, index) => {
58
- let className;
59
- if (index === activeOption) {
60
- className = "option-active";
61
- }
62
- return (
63
- <div
64
- className={styles[className]}
65
- key={optionName[keyNames.id]}
66
- onClick={handleClick}
67
- >
68
- <div id={optionName[keyNames.id]} className={styles['autocomplate-content-bottom-row']}>{optionName[keyNames.name]}</div>
69
- </div>
70
- );
71
- })}
72
- </div>
54
+ if (showOptions && inputValue) {
55
+ if (parseOptionsData.length && inputValue.length >= searchCount) {
56
+ optionList = (
57
+ <div className={styles['autocomplate-content-bottom']}>
58
+ <div className={styles['autocomplate-content-bottom-inner']}>
59
+ {parseOptionsData.map((optionName, index) => {
60
+ let className;
61
+ if (index === activeOption) {
62
+ className = "option-active";
63
+ }
64
+ return (
65
+ <div
66
+ className={styles[className]}
67
+ key={optionName[keyNames.id]}
68
+ onClick={handleClick}
69
+ >
70
+ <div id={optionName[keyNames.id]} className={styles['autocomplate-content-bottom-row']}>{optionName[keyNames.name]}</div>
73
71
  </div>
72
+ );
73
+ })}
74
+ </div>
75
+ </div>
74
76
 
75
77
 
76
- );
77
- } else {
78
- optionList = (
79
- <div className={styles['autocomplate-content-bottom']}>
80
- <div className={styles['autocomplate-content-bottom-inner']}>
81
- <div className={styles['autocomplate-content-bottom-row']}>
82
- <div className={styles['no-option']}>No Option!</div>
83
- </div>
84
- </div>
85
- </div>
86
- );
87
- }
78
+ );
79
+ } else {
80
+ optionList = (
81
+ <div className={styles['autocomplate-content-bottom']}>
82
+ <div className={styles['autocomplate-content-bottom-inner']}>
83
+ <div className={styles['autocomplate-content-bottom-row']}>
84
+ <div className={styles['no-option']}>No Option!</div>
85
+ </div>
86
+ </div>
87
+ </div>
88
+ );
88
89
  }
90
+ }
89
91
 
90
92
  return (
91
93
  <>
@@ -98,10 +100,12 @@ export const Autocomplate = ({
98
100
  required={required}
99
101
  disabled={disabled}
100
102
  onChange={handleChange}
101
- value={inputValue != null ? inputValue : parseSelectedOptionsData[keyNames.name]}
102
- placeholder= {!parseSelectedOptionsData[keyNames.name] ?" Write..." : ''}
103
+ onClick={() => { setShowOptions(!showOptions) }}
104
+ value={inputValue}
105
+ placeholder={placeHolder}
103
106
  {...props}
104
- />
107
+ />
108
+ {errorMesage ? <span className={styles.errorMessage}>{errorMesage}</span> : null}
105
109
  {optionList}
106
110
  </div>
107
111
  </>
@@ -111,6 +115,7 @@ export const Autocomplate = ({
111
115
  Autocomplate.propTypes = {
112
116
  className: PropTypes.string,
113
117
  label: PropTypes.string,
118
+ placeHolder: PropTypes.string,
114
119
  required: PropTypes.bool,
115
120
  disabled: PropTypes.bool,
116
121
  jsonOptionsData: PropTypes.string,
@@ -119,6 +124,7 @@ Autocomplate.propTypes = {
119
124
  value: PropTypes.string,
120
125
  searchCount: PropTypes.number,
121
126
  keyNames: PropTypes.object,
127
+ errorMesage: PropTypes.string,
122
128
  };
123
129
 
124
130
 
@@ -13,12 +13,17 @@ export const Checkbox = ({
13
13
  onChange,
14
14
  label,
15
15
  keyNames,
16
+ onClick,
16
17
  ...props
17
18
  }) => {
18
19
  const classProps = classNames(styles.checkbox, className);
19
20
  const parseData = jsonData.length !== 0 ? JSON.parse(jsonData) : [];
20
21
  const [data, setData] = useState(parseData);
21
22
 
23
+ const handleClick = (e) => {
24
+ onClick(e)
25
+ }
26
+
22
27
  const handleChange = (e) => {
23
28
  if (e.target.checked) {
24
29
  data.forEach((item) => {
@@ -50,9 +55,10 @@ export const Checkbox = ({
50
55
  value={value ? value : element.value}
51
56
  name={name ? name : element.name}
52
57
  onChange={handleChange}
58
+ onClick={handleClick}
53
59
  {...props}
54
60
  />
55
- <span className={styles["checkmark"]}/>
61
+ <span className={styles["checkmark"]} />
56
62
  {element.label ? (
57
63
  <span className={styles.labelRadio}>
58
64
  {label ? label : element.label}
@@ -76,7 +82,7 @@ Checkbox.propTypes = {
76
82
  value: PropTypes.string,
77
83
  jsonData: PropTypes.string,
78
84
  label: PropTypes.string,
79
- onChange: PropTypes.func,
85
+ onClick: PropTypes.func,
80
86
  keyNames: PropTypes.object,
81
87
  };
82
88