kui-complex 0.0.61 → 0.0.64

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.
Files changed (104) hide show
  1. package/ButtonSelect/cjs/index.js +65 -99
  2. package/ButtonSelect/cjs/index.js.map +1 -1
  3. package/ButtonSelect/index.d.ts +13 -12
  4. package/ButtonSelect/index.js +67 -101
  5. package/ButtonSelect/index.js.map +1 -1
  6. package/CalendarHeaderWithSelect/cjs/index.js +65 -99
  7. package/CalendarHeaderWithSelect/cjs/index.js.map +1 -1
  8. package/CalendarHeaderWithSelect/index.d.ts +4 -3
  9. package/CalendarHeaderWithSelect/index.js +67 -101
  10. package/CalendarHeaderWithSelect/index.js.map +1 -1
  11. package/InputDropdown/cjs/index.js +2 -7
  12. package/InputDropdown/cjs/index.js.map +1 -1
  13. package/InputDropdown/index.js +2 -7
  14. package/InputDropdown/index.js.map +1 -1
  15. package/InputMultiSelect/cjs/index.js +237 -0
  16. package/InputMultiSelect/cjs/index.js.map +1 -0
  17. package/InputMultiSelect/cjs/package.json +10 -0
  18. package/InputMultiSelect/index.d.ts +24 -0
  19. package/InputMultiSelect/index.js +231 -0
  20. package/InputMultiSelect/index.js.map +1 -0
  21. package/InputMultiSelect/package.json +10 -0
  22. package/InputMultiSelectOption/cjs/index.js +60 -0
  23. package/InputMultiSelectOption/cjs/index.js.map +1 -0
  24. package/InputMultiSelectOption/cjs/package.json +9 -0
  25. package/InputMultiSelectOption/index.d.ts +14 -0
  26. package/InputMultiSelectOption/index.js +54 -0
  27. package/InputMultiSelectOption/index.js.map +1 -0
  28. package/InputMultiSelectOption/package.json +9 -0
  29. package/InputSelect/cjs/index.js +68 -102
  30. package/InputSelect/cjs/index.js.map +1 -1
  31. package/InputSelect/index.d.ts +16 -18
  32. package/InputSelect/index.js +68 -102
  33. package/InputSelect/index.js.map +1 -1
  34. package/InputSelectBase/cjs/index.js +171 -0
  35. package/InputSelectBase/cjs/index.js.map +1 -0
  36. package/InputSelectBase/cjs/package.json +9 -0
  37. package/InputSelectBase/index.d.ts +23 -0
  38. package/InputSelectBase/index.js +165 -0
  39. package/InputSelectBase/index.js.map +1 -0
  40. package/InputSelectBase/package.json +9 -0
  41. package/InputSelectDropdown/cjs/index.js +19 -41
  42. package/InputSelectDropdown/cjs/index.js.map +1 -1
  43. package/InputSelectDropdown/index.d.ts +6 -6
  44. package/InputSelectDropdown/index.js +20 -42
  45. package/InputSelectDropdown/index.js.map +1 -1
  46. package/InputSelectOption/cjs/index.js +53 -0
  47. package/InputSelectOption/cjs/index.js.map +1 -0
  48. package/InputSelectOption/cjs/package.json +9 -0
  49. package/InputSelectOption/index.d.ts +14 -0
  50. package/InputSelectOption/index.js +47 -0
  51. package/InputSelectOption/index.js.map +1 -0
  52. package/InputSelectOption/package.json +9 -0
  53. package/InputSelectWithController/cjs/index.js +223 -0
  54. package/InputSelectWithController/cjs/index.js.map +1 -0
  55. package/InputSelectWithController/cjs/package.json +10 -0
  56. package/InputSelectWithController/index.d.ts +22 -0
  57. package/InputSelectWithController/index.js +217 -0
  58. package/InputSelectWithController/index.js.map +1 -0
  59. package/InputSelectWithController/package.json +10 -0
  60. package/InputWithDatePicker/cjs/index.js +67 -101
  61. package/InputWithDatePicker/cjs/index.js.map +1 -1
  62. package/InputWithDatePicker/index.js +69 -103
  63. package/InputWithDatePicker/index.js.map +1 -1
  64. package/RadioButtons/cjs/index.js +80 -0
  65. package/RadioButtons/cjs/index.js.map +1 -0
  66. package/RadioButtons/cjs/package.json +9 -0
  67. package/RadioButtons/index.d.ts +27 -0
  68. package/RadioButtons/index.js +78 -0
  69. package/RadioButtons/index.js.map +1 -0
  70. package/RadioButtons/package.json +9 -0
  71. package/RadioButtonsWithController/cjs/index.js +102 -0
  72. package/RadioButtonsWithController/cjs/index.js.map +1 -0
  73. package/RadioButtonsWithController/cjs/package.json +10 -0
  74. package/RadioButtonsWithController/index.d.ts +31 -0
  75. package/RadioButtonsWithController/index.js +100 -0
  76. package/RadioButtonsWithController/index.js.map +1 -0
  77. package/RadioButtonsWithController/package.json +10 -0
  78. package/RadioGroupWithLabel/cjs/index.js +149 -0
  79. package/RadioGroupWithLabel/cjs/index.js.map +1 -0
  80. package/RadioGroupWithLabel/cjs/package.json +10 -0
  81. package/RadioGroupWithLabel/index.d.ts +34 -0
  82. package/RadioGroupWithLabel/index.js +143 -0
  83. package/RadioGroupWithLabel/index.js.map +1 -0
  84. package/RadioGroupWithLabel/package.json +10 -0
  85. package/SelectMonth/cjs/index.js +66 -100
  86. package/SelectMonth/cjs/index.js.map +1 -1
  87. package/SelectMonth/index.d.ts +13 -12
  88. package/SelectMonth/index.js +67 -101
  89. package/SelectMonth/index.js.map +1 -1
  90. package/SelectYear/cjs/index.js +66 -100
  91. package/SelectYear/cjs/index.js.map +1 -1
  92. package/SelectYear/index.d.ts +13 -12
  93. package/SelectYear/index.js +67 -101
  94. package/SelectYear/index.js.map +1 -1
  95. package/TestForm/cjs/index.js +76 -99
  96. package/TestForm/cjs/index.js.map +1 -1
  97. package/TestForm/index.js +77 -100
  98. package/TestForm/index.js.map +1 -1
  99. package/cjs/index.js +344 -182
  100. package/cjs/index.js.map +1 -1
  101. package/index.d.ts +88 -29
  102. package/index.js +341 -184
  103. package/index.js.map +1 -1
  104. package/package.json +3 -2
package/TestForm/index.js CHANGED
@@ -5,10 +5,9 @@ import { yupResolver } from '@hookform/resolvers/yup';
5
5
  import * as React from 'react';
6
6
  import { forwardRef, useState, useRef, useEffect } from 'react';
7
7
  import { InputWithAdornments, Grid, theme, Caption, InputWithMask as InputWithMask$1, Divider, Button, Modal, IconButton, InputWithCountryDropdown, Switch as Switch$1, LinearProgress } from 'kui-basic';
8
- import { jsx as jsx$1, jsxs as jsxs$1, Fragment } from '@emotion/react/jsx-runtime';
8
+ import { jsxs as jsxs$1, jsx as jsx$1, Fragment } from '@emotion/react/jsx-runtime';
9
9
  import styled from '@emotion/styled';
10
10
  import { HalfArrowIcon, CalendarIcon, CheckIcon, ArrowBackIcon, ArrowNextIcon, ClosedEyeIcon, OpenEyeIcon } from 'kui-icon';
11
- import { css } from '@emotion/react';
12
11
  import DatePicker from 'react-datepicker';
13
12
  import { DateTime } from 'luxon';
14
13
  import _ from 'lodash';
@@ -100,14 +99,11 @@ var InputDropdown = forwardRef(function (props, ref) {
100
99
  };
101
100
  });
102
101
  useEffect(function () {
103
- var _a, _b;
102
+ var _a;
104
103
  if (buttonRef === null || buttonRef === void 0 ? void 0 : buttonRef.current) {
105
- var inputMessage = (_a = buttonRef.current) === null || _a === void 0 ? void 0 : _a.querySelector(".KUI-InputMessage");
106
104
  if (isOpen) {
107
105
  buttonRef.current.style.zIndex = "4";
108
- if (inputMessage)
109
- inputMessage.style.opacity = "0";
110
- var scrollContainer = (_b = dropdownRef.current) === null || _b === void 0 ? void 0 : _b.children[0].children[0];
106
+ var scrollContainer = (_a = dropdownRef.current) === null || _a === void 0 ? void 0 : _a.children[0].children[0];
111
107
  if (scrollContainer) {
112
108
  var hasScroll = scrollContainer.scrollHeight > scrollContainer.clientHeight;
113
109
  setIsScrollable(hasScroll);
@@ -115,8 +111,6 @@ var InputDropdown = forwardRef(function (props, ref) {
115
111
  }
116
112
  else {
117
113
  buttonRef.current.style.zIndex = "1";
118
- if (inputMessage)
119
- inputMessage.style.opacity = "1";
120
114
  }
121
115
  }
122
116
  }, [isOpen]);
@@ -132,7 +126,7 @@ var InputDropdown = forwardRef(function (props, ref) {
132
126
  };
133
127
  return (jsxs(StyledDropdown$1, __assign({ "data-testid": "input_dropdown", container: true, ref: forwardedRef, isOpen: isOpen }, otherProps, { children: [jsx(StyledWrapper, __assign({ isScrollable: isScrollable }, { children: jsx(ScrollingContainer, __assign({ isScrollable: isScrollable, className: "KUI-InputDropdown_scroll" }, { children: children })) })), endComponent] })));
134
128
  });
135
- var StyledDropdown$1 = styled(Grid)(templateObject_1$d || (templateObject_1$d = __makeTemplateObject(["\n width: 100%;\n display: ", ";\n position: absolute;\n background: ", ";\n z-index: 3;\n top: 50px;\n box-shadow: 0px 26px 34px 0px #0000001a;\n border-radius: 0 0 8px 8px;\n user-select: none;\n"], ["\n width: 100%;\n display: ", ";\n position: absolute;\n background: ", ";\n z-index: 3;\n top: 50px;\n box-shadow: 0px 26px 34px 0px #0000001a;\n border-radius: 0 0 8px 8px;\n user-select: none;\n"])), function (_a) {
129
+ var StyledDropdown$1 = styled(Grid)(templateObject_1$e || (templateObject_1$e = __makeTemplateObject(["\n width: 100%;\n display: ", ";\n position: absolute;\n background: ", ";\n z-index: 3;\n top: 50px;\n box-shadow: 0px 26px 34px 0px #0000001a;\n border-radius: 0 0 8px 8px;\n user-select: none;\n"], ["\n width: 100%;\n display: ", ";\n position: absolute;\n background: ", ";\n z-index: 3;\n top: 50px;\n box-shadow: 0px 26px 34px 0px #0000001a;\n border-radius: 0 0 8px 8px;\n user-select: none;\n"])), function (_a) {
136
130
  var isOpen = _a.isOpen;
137
131
  return (isOpen ? "flex" : "none");
138
132
  }, theme.palette.grey.zero);
@@ -140,120 +134,92 @@ var StyledWrapper = styled.div(templateObject_2$7 || (templateObject_2$7 = __mak
140
134
  var isScrollable = _a.isScrollable;
141
135
  return isScrollable ? "14px 8px 8px 0" : "14px 0px 8px 0";
142
136
  });
143
- var ScrollingContainer = styled.div(templateObject_3$4 || (templateObject_3$4 = __makeTemplateObject(["\n width: 100%;\n max-height: 389px;\n box-sizing: border-box;\n z-index: 3;\n overflow: auto;\n -ms-overflow-style: none;\n overflow-y: scroll;\n overflow-x: hidden;\n user-select: none;\n ::-webkit-scrollbar {\n width: ", ";\n position: absolute;\n right: 8px;\n }\n ::-webkit-scrollbar-track,\n ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n transition: all ease-out 0.3s;\n }\n\n ::-webkit-resizer,\n ::-webkit-scrollbar-button,\n ::-webkit-scrollbar-corner {\n display: none;\n }\n ::-webkit-scrollbar-track {\n background: ", ";\n }\n\n ::-webkit-scrollbar-thumb {\n background: ", ";\n }\n"], ["\n width: 100%;\n max-height: 389px;\n box-sizing: border-box;\n z-index: 3;\n overflow: auto;\n -ms-overflow-style: none;\n overflow-y: scroll;\n overflow-x: hidden;\n user-select: none;\n ::-webkit-scrollbar {\n width: ", ";\n position: absolute;\n right: 8px;\n }\n ::-webkit-scrollbar-track,\n ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n transition: all ease-out 0.3s;\n }\n\n ::-webkit-resizer,\n ::-webkit-scrollbar-button,\n ::-webkit-scrollbar-corner {\n display: none;\n }\n ::-webkit-scrollbar-track {\n background: ", ";\n }\n\n ::-webkit-scrollbar-thumb {\n background: ", ";\n }\n"])), function (_a) {
137
+ var ScrollingContainer = styled.div(templateObject_3$3 || (templateObject_3$3 = __makeTemplateObject(["\n width: 100%;\n max-height: 389px;\n box-sizing: border-box;\n z-index: 3;\n overflow: auto;\n -ms-overflow-style: none;\n overflow-y: scroll;\n overflow-x: hidden;\n user-select: none;\n ::-webkit-scrollbar {\n width: ", ";\n position: absolute;\n right: 8px;\n }\n ::-webkit-scrollbar-track,\n ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n transition: all ease-out 0.3s;\n }\n\n ::-webkit-resizer,\n ::-webkit-scrollbar-button,\n ::-webkit-scrollbar-corner {\n display: none;\n }\n ::-webkit-scrollbar-track {\n background: ", ";\n }\n\n ::-webkit-scrollbar-thumb {\n background: ", ";\n }\n"], ["\n width: 100%;\n max-height: 389px;\n box-sizing: border-box;\n z-index: 3;\n overflow: auto;\n -ms-overflow-style: none;\n overflow-y: scroll;\n overflow-x: hidden;\n user-select: none;\n ::-webkit-scrollbar {\n width: ", ";\n position: absolute;\n right: 8px;\n }\n ::-webkit-scrollbar-track,\n ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n transition: all ease-out 0.3s;\n }\n\n ::-webkit-resizer,\n ::-webkit-scrollbar-button,\n ::-webkit-scrollbar-corner {\n display: none;\n }\n ::-webkit-scrollbar-track {\n background: ", ";\n }\n\n ::-webkit-scrollbar-thumb {\n background: ", ";\n }\n"])), function (_a) {
144
138
  var isScrollable = _a.isScrollable;
145
139
  return (isScrollable ? "4px" : "0px");
146
140
  }, theme.palette.grey.fifteenB, theme.palette.grey.thirty);
147
- var templateObject_1$d, templateObject_2$7, templateObject_3$4;
141
+ var templateObject_1$e, templateObject_2$7, templateObject_3$3;
148
142
 
149
143
  var InputSelectDropdown = forwardRef(function (_a, ref) {
150
- var options = _a.options, inputRef = _a.inputRef, isOpenDropdown = _a.isOpenDropdown, handleCloseDropdown = _a.handleCloseDropdown, handleSelect = _a.handleSelect, selectedValue = _a.selectedValue;
151
- var dropdownRef = useRef(null);
152
- useEffect(function () {
153
- var _a;
154
- if (isOpenDropdown) {
155
- var element = document.querySelector("[data-value=autocomplete_option_".concat(selectedValue, "]"));
156
- var coordinates = element === null || element === void 0 ? void 0 : element.getBoundingClientRect();
157
- if (coordinates && inputRef.current && element) {
158
- (_a = dropdownRef.current) === null || _a === void 0 ? void 0 : _a.scrollTo({
159
- top: coordinates.top -
160
- inputRef.current.clientHeight -
161
- element.clientHeight,
162
- });
163
- }
164
- }
165
- }, [isOpenDropdown]);
166
- var forwardedRef = function (elem) {
167
- if (ref) {
168
- if (typeof ref === "function")
169
- ref(elem);
170
- else
171
- ref.current = elem;
144
+ var options = _a.options, inputRef = _a.inputRef, isOpenDropdown = _a.isOpenDropdown, handleCloseDropdown = _a.handleCloseDropdown, handleSelect = _a.handleSelect, selectedValue = _a.selectedValue, renderOption = _a.renderOption;
145
+ var handleClick = function (option) {
146
+ if (!option.disabled) {
147
+ handleSelect(option);
172
148
  }
173
- dropdownRef.current = elem;
174
149
  };
175
- return (jsx$1(StyledDropdown, __assign({ ref: forwardedRef, buttonRef: inputRef, isOpen: isOpenDropdown, handleClose: handleCloseDropdown }, { children: options.map(function (option, key) { return (jsx$1(OptionWrapper, __assign({ onClick: function () { return handleSelect(option); }, "data-value": "autocomplete_option_".concat(option.value), "data-testid": "autocomplete_option_".concat(key) }, { children: jsx$1(StyledOption, __assign({ css: selectedValue === option.value && selectedStyles }, { children: jsx$1(Caption, __assign({ size: "sm", weight: 500 }, { children: option.label })) })) }), option.label)); }) })));
150
+ return (jsx(StyledDropdown, __assign({ buttonRef: inputRef, isOpen: isOpenDropdown, handleClose: handleCloseDropdown, ref: ref }, { children: options.map(function (option, key) { return (jsx(OptionWrapper, __assign({ disabled: option.disabled, onClick: function () { return handleClick(option); }, "data-value": "autocomplete_option_".concat(option.value), "data-testid": "autocomplete_option_".concat(key) }, { children: renderOption(option, selectedValue) }), option.label)); }) })));
176
151
  });
177
- var OptionWrapper = styled.div(templateObject_1$c || (templateObject_1$c = __makeTemplateObject(["\n width: 100%;\n padding: 2px 0;\n cursor: pointer;\n"], ["\n width: 100%;\n padding: 2px 0;\n cursor: pointer;\n"])));
178
- var StyledOption = styled.div(templateObject_2$6 || (templateObject_2$6 = __makeTemplateObject(["\n padding: 8px;\n transition: all ease-out 0.3s;\n border-radius: 4px;\n &:hover {\n background-color: ", ";\n }\n"], ["\n padding: 8px;\n transition: all ease-out 0.3s;\n border-radius: 4px;\n &:hover {\n background-color: ", ";\n }\n"])), theme.palette.background.light1);
179
- var selectedStyles = css(templateObject_3$3 || (templateObject_3$3 = __makeTemplateObject(["\n background-color: ", ";\n"], ["\n background-color: ", ";\n"])), theme.palette.background.light1);
180
- var StyledDropdown = styled(InputDropdown)(templateObject_4$2 || (templateObject_4$2 = __makeTemplateObject(["\n .KUI-InputDropdown_scroll {\n max-height: 142px;\n padding: 0 4px;\n }\n"], ["\n .KUI-InputDropdown_scroll {\n max-height: 142px;\n padding: 0 4px;\n }\n"])));
181
- var templateObject_1$c, templateObject_2$6, templateObject_3$3, templateObject_4$2;
182
-
183
- var getFormValue = function (name, form) {
184
- var names = name === null || name === void 0 ? void 0 : name.split(".");
185
- var fieldValue = form === null || form === void 0 ? void 0 : form.control._formValues;
186
- names === null || names === void 0 ? void 0 : names.forEach(function (field) {
187
- if (fieldValue) {
188
- fieldValue = fieldValue[field];
189
- }
190
- });
191
- return fieldValue;
192
- };
193
- var getFormError = function (name, form) {
194
- var names = name === null || name === void 0 ? void 0 : name.split(".");
195
- var fieldError = form === null || form === void 0 ? void 0 : form.formState.errors;
196
- names === null || names === void 0 ? void 0 : names.forEach(function (field) {
197
- if (fieldError) {
198
- // @ts-ignore
199
- fieldError = fieldError[field];
200
- }
201
- });
202
- return fieldError === null || fieldError === void 0 ? void 0 : fieldError.message;
203
- };
152
+ var OptionWrapper = styled.div(templateObject_1$d || (templateObject_1$d = __makeTemplateObject(["\n width: 100%;\n padding: 2px 0;\n cursor: ", ";\n p {\n color: ", ";\n }\n"], ["\n width: 100%;\n padding: 2px 0;\n cursor: ", ";\n p {\n color: ", ";\n }\n"])), function (_a) {
153
+ var disabled = _a.disabled;
154
+ return (disabled ? "auto" : "pointer");
155
+ }, function (_a) {
156
+ var disabled = _a.disabled;
157
+ return disabled ? theme.palette.grey.fiftyP : theme.palette.grey.seventy;
158
+ });
159
+ var StyledDropdown = styled(InputDropdown)(templateObject_2$6 || (templateObject_2$6 = __makeTemplateObject(["\n .KUI-InputDropdown_scroll {\n max-height: 142px;\n padding: 0 4px;\n }\n"], ["\n .KUI-InputDropdown_scroll {\n max-height: 142px;\n padding: 0 4px;\n }\n"])));
160
+ var templateObject_1$d, templateObject_2$6;
204
161
 
205
- var InputSelect = forwardRef(function (props, ref) {
206
- var _a, _b;
207
- var options = props.options, name = props.name, handleChange = props.handleChange, form = props.form, iconProps = props.iconProps, defaultValue = props.value, other = __rest(props, ["options", "name", "handleChange", "form", "iconProps", "value"]);
208
- var _c = useState(false), isOpenDropdown = _c[0], setIsOpenDropDown = _c[1];
209
- var _d = useState(defaultValue || getFormValue(name, form)), value = _d[0], setValue = _d[1];
210
- var error = getFormError(name, form);
162
+ function InputSelectBase(_a) {
163
+ var _b;
164
+ var options = _a.options, name = _a.name, disabled = _a.disabled, handleChange = _a.handleChange, iconProps = _a.iconProps, renderOption = _a.renderOption, selectedLabel = _a.selectedLabel, selectedValue = _a.selectedValue, error = _a.error, inputProps = __rest(_a, ["options", "name", "disabled", "handleChange", "iconProps", "renderOption", "selectedLabel", "selectedValue", "error"]);
165
+ var _c = useState(false), isDropdownOpen = _c[0], setIsDropdownOpen = _c[1];
211
166
  var inputRef = useRef(null);
212
- var selectedLabel = (_a = options === null || options === void 0 ? void 0 : options.find(function (option) { return String(option.value) === String(value); })) === null || _a === void 0 ? void 0 : _a.label;
213
- var register = form === null || form === void 0 ? void 0 : form.register(name);
214
167
  var handleOpenDropdown = function () {
215
168
  var _a, _b, _c, _d;
216
169
  if ((_b = (_a = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.parentElement) {
217
170
  (_d = (_c = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) === null || _c === void 0 ? void 0 : _c.parentElement) === null || _d === void 0 ? void 0 : _d.parentElement.focus();
218
171
  }
219
- setIsOpenDropDown(function (prev) { return !prev; });
172
+ setIsDropdownOpen(function (prev) { return !prev; });
220
173
  };
221
174
  var handleCloseDropdown = function () {
222
- setIsOpenDropDown(false);
175
+ setIsDropdownOpen(false);
223
176
  };
224
177
  var handleSelect = function (option) {
225
- setValue(option.value);
226
- if (handleChange) {
227
- handleChange(option.value);
228
- }
229
- if (form) {
230
- register === null || register === void 0 ? void 0 : register.onChange({
231
- target: { value: option.value, name: name },
232
- type: "change",
233
- });
234
- }
178
+ if (handleChange)
179
+ handleChange(option);
235
180
  handleCloseDropdown();
236
181
  };
237
- var forwardedRef = function (e) {
238
- if (ref) {
239
- // eslint-disable-next-line no-param-reassign
240
- // @ts-ignore
241
- ref.current = e;
242
- }
243
- // @ts-ignore
244
- inputRef.current = e;
245
- register === null || register === void 0 ? void 0 : register.ref(e);
246
- };
247
- return (jsxs$1(Wrapper$4, { children: [jsx$1("input", { name: name, autoComplete: "off", hidden: true }), jsx$1(StyledInput, __assign({ onClick: handleOpenDropdown, readOnly: true, value: selectedLabel, message: error }, other, { endIcon: !props.disabled && (jsx$1(HalfArrowIcon, __assign({ width: 12, height: 13, css: [
182
+ return (jsxs$1(Wrapper$4, { children: [jsx$1("input", { name: name, autoComplete: "off", hidden: true }), jsx$1(StyledInput, __assign({ onClick: handleOpenDropdown, ref: inputRef, disabled: disabled, readOnly: true, value: selectedLabel, message: error, isDropdownOpen: isDropdownOpen, isLabelShrink: Boolean(selectedValue) || selectedValue === 0 }, inputProps, { endIcon: !disabled && (jsx$1(HalfArrowIcon, __assign({ width: 12, height: 13, css: [
248
183
  { transition: "all linear .2s" },
249
- isOpenDropdown && { transform: "rotate(180deg)" },
250
- ] }, iconProps))) }, register, { ref: forwardedRef })), options && options.length > 0 && !props.disabled && (jsx$1(InputSelectDropdown, { options: options, inputRef: {
184
+ isDropdownOpen && { transform: "rotate(180deg)" },
185
+ ] }, iconProps))) })), options.length > 0 && !disabled && (jsx$1(InputSelectDropdown, { options: options, inputRef: {
251
186
  current: (_b = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) === null || _b === void 0 ? void 0 : _b.parentElement,
252
- }, isOpenDropdown: isOpenDropdown, handleCloseDropdown: handleCloseDropdown, handleSelect: handleSelect, selectedValue: value }))] }));
187
+ }, isOpenDropdown: isDropdownOpen, handleCloseDropdown: handleCloseDropdown, handleSelect: handleSelect, selectedValue: selectedValue, renderOption: renderOption }))] }));
188
+ }
189
+ var Wrapper$4 = styled.div(templateObject_1$c || (templateObject_1$c = __makeTemplateObject(["\n position: relative;\n text-align: left;\n"], ["\n position: relative;\n text-align: left;\n"])));
190
+ var StyledInput = styled(InputWithAdornments)(templateObject_2$5 || (templateObject_2$5 = __makeTemplateObject(["\n cursor: pointer;\n input,\n label {\n cursor: pointer !important;\n }\n .KUI-InputMessage {\n opacity: ", ";\n }\n"], ["\n cursor: pointer;\n input,\n label {\n cursor: pointer !important;\n }\n .KUI-InputMessage {\n opacity: ", ";\n }\n"])), function (_a) {
191
+ var isDropdownOpen = _a.isDropdownOpen;
192
+ return (isDropdownOpen ? 0 : 1);
253
193
  });
254
- var Wrapper$4 = styled.div(templateObject_1$b || (templateObject_1$b = __makeTemplateObject(["\n position: relative;\n text-align: left;\n width: fit-content;\n"], ["\n position: relative;\n text-align: left;\n width: fit-content;\n"])));
255
- var StyledInput = styled(InputWithAdornments)(templateObject_2$5 || (templateObject_2$5 = __makeTemplateObject(["\n cursor: pointer;\n input,\n label {\n cursor: pointer !important;\n }\n"], ["\n cursor: pointer;\n input,\n label {\n cursor: pointer !important;\n }\n"])));
256
- var templateObject_1$b, templateObject_2$5;
194
+ var templateObject_1$c, templateObject_2$5;
195
+
196
+ function InputSelectOption(props) {
197
+ var option = props.option, selectedValue = props.selectedValue;
198
+ return (jsx(StyledOption, __assign({ selected: selectedValue === option.value }, { children: jsx(Caption, __assign({ size: "sm", weight: 500 }, { children: option.label })) })));
199
+ }
200
+ var StyledOption = styled.div(templateObject_1$b || (templateObject_1$b = __makeTemplateObject(["\n padding: 8px;\n transition: all ease-out 0.3s;\n border-radius: 4px;\n background-color: ", ";\n &:hover {\n background-color: ", ";\n }\n"], ["\n padding: 8px;\n transition: all ease-out 0.3s;\n border-radius: 4px;\n background-color: ", ";\n &:hover {\n background-color: ", ";\n }\n"])), function (_a) {
201
+ var selected = _a.selected;
202
+ return selected ? theme.palette.background.light1 : theme.palette.grey.zero;
203
+ }, theme.palette.background.light1);
204
+ var templateObject_1$b;
205
+
206
+ function InputSelect(_a) {
207
+ var _b;
208
+ var options = _a.options, name = _a.name, handleChange = _a.handleChange; _a.form; var valueProp = _a.value, inputProps = __rest(_a, ["options", "name", "handleChange", "form", "value"]);
209
+ var _c = useState(valueProp), value = _c[0], setValue = _c[1];
210
+ var selectedLabel = (_b = options.find(function (option) { return String(option.value) === String(value); })) === null || _b === void 0 ? void 0 : _b.label;
211
+ var handleSelect = function (option) {
212
+ setValue(option.value);
213
+ if (handleChange) {
214
+ handleChange(option.value);
215
+ }
216
+ };
217
+ useEffect(function () {
218
+ if (typeof valueProp !== "undefined")
219
+ setValue(valueProp);
220
+ }, [valueProp]);
221
+ return (jsx(InputSelectBase, __assign({ options: options, handleChange: handleSelect, selectedLabel: selectedLabel, selectedValue: value, name: name, renderOption: function (option, selectedValue) { return (jsx(InputSelectOption, { option: option, selectedValue: selectedValue })); } }, inputProps)));
222
+ }
257
223
 
258
224
  var InputForDatepicker = forwardRef(function (props, ref) {
259
225
  var onClick = props.onClick, disabled = props.disabled, handleClick = props.handleClick, startIcon = props.startIcon, other = __rest(props, ["onClick", "disabled", "handleClick", "startIcon"]);
@@ -638,6 +604,17 @@ var StyledLinearProgress = styled(LinearProgress)(templateObject_4 || (templateO
638
604
  var Description = styled(Caption)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n margin-top: 16px;\n @media (max-width: 900px) {\n margin-top: 8px;\n font-size: 12px;\n }\n"], ["\n margin-top: 16px;\n @media (max-width: 900px) {\n margin-top: 8px;\n font-size: 12px;\n }\n"])));
639
605
  var templateObject_1$1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
640
606
 
607
+ var getFormValue = function (name, form) {
608
+ var names = name === null || name === void 0 ? void 0 : name.split(".");
609
+ var fieldValue = form === null || form === void 0 ? void 0 : form.control._formValues;
610
+ names === null || names === void 0 ? void 0 : names.forEach(function (field) {
611
+ if (fieldValue) {
612
+ fieldValue = fieldValue[field];
613
+ }
614
+ });
615
+ return fieldValue;
616
+ };
617
+
641
618
  var InputPassword = forwardRef(function (props, ref) {
642
619
  var _a = useState(false), showPassword = _a[0], setShowPassword = _a[1];
643
620
  var _b = useState(null), strength = _b[0], setStrength = _b[1];