kui-complex 0.0.62 → 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 (100) hide show
  1. package/ButtonSelect/cjs/index.js +56 -88
  2. package/ButtonSelect/cjs/index.js.map +1 -1
  3. package/ButtonSelect/index.d.ts +1 -0
  4. package/ButtonSelect/index.js +58 -90
  5. package/ButtonSelect/index.js.map +1 -1
  6. package/CalendarHeaderWithSelect/cjs/index.js +56 -88
  7. package/CalendarHeaderWithSelect/cjs/index.js.map +1 -1
  8. package/CalendarHeaderWithSelect/index.d.ts +1 -0
  9. package/CalendarHeaderWithSelect/index.js +58 -90
  10. package/CalendarHeaderWithSelect/index.js.map +1 -1
  11. package/InputMultiSelect/cjs/index.js +237 -0
  12. package/InputMultiSelect/cjs/index.js.map +1 -0
  13. package/InputMultiSelect/cjs/package.json +10 -0
  14. package/InputMultiSelect/index.d.ts +24 -0
  15. package/InputMultiSelect/index.js +231 -0
  16. package/InputMultiSelect/index.js.map +1 -0
  17. package/InputMultiSelect/package.json +10 -0
  18. package/InputMultiSelectOption/cjs/index.js +60 -0
  19. package/InputMultiSelectOption/cjs/index.js.map +1 -0
  20. package/InputMultiSelectOption/cjs/package.json +9 -0
  21. package/InputMultiSelectOption/index.d.ts +14 -0
  22. package/InputMultiSelectOption/index.js +54 -0
  23. package/InputMultiSelectOption/index.js.map +1 -0
  24. package/InputMultiSelectOption/package.json +9 -0
  25. package/InputSelect/cjs/index.js +59 -91
  26. package/InputSelect/cjs/index.js.map +1 -1
  27. package/InputSelect/index.d.ts +13 -15
  28. package/InputSelect/index.js +59 -91
  29. package/InputSelect/index.js.map +1 -1
  30. package/InputSelectBase/cjs/index.js +171 -0
  31. package/InputSelectBase/cjs/index.js.map +1 -0
  32. package/InputSelectBase/cjs/package.json +9 -0
  33. package/InputSelectBase/index.d.ts +23 -0
  34. package/InputSelectBase/index.js +165 -0
  35. package/InputSelectBase/index.js.map +1 -0
  36. package/InputSelectBase/package.json +9 -0
  37. package/InputSelectDropdown/cjs/index.js +17 -34
  38. package/InputSelectDropdown/cjs/index.js.map +1 -1
  39. package/InputSelectDropdown/index.d.ts +3 -3
  40. package/InputSelectDropdown/index.js +18 -35
  41. package/InputSelectDropdown/index.js.map +1 -1
  42. package/InputSelectOption/cjs/index.js +53 -0
  43. package/InputSelectOption/cjs/index.js.map +1 -0
  44. package/InputSelectOption/cjs/package.json +9 -0
  45. package/InputSelectOption/index.d.ts +14 -0
  46. package/InputSelectOption/index.js +47 -0
  47. package/InputSelectOption/index.js.map +1 -0
  48. package/InputSelectOption/package.json +9 -0
  49. package/InputSelectWithController/cjs/index.js +223 -0
  50. package/InputSelectWithController/cjs/index.js.map +1 -0
  51. package/InputSelectWithController/cjs/package.json +10 -0
  52. package/InputSelectWithController/index.d.ts +22 -0
  53. package/InputSelectWithController/index.js +217 -0
  54. package/InputSelectWithController/index.js.map +1 -0
  55. package/InputSelectWithController/package.json +10 -0
  56. package/InputWithDatePicker/cjs/index.js +58 -90
  57. package/InputWithDatePicker/cjs/index.js.map +1 -1
  58. package/InputWithDatePicker/index.js +60 -92
  59. package/InputWithDatePicker/index.js.map +1 -1
  60. package/RadioButtons/cjs/index.js +80 -0
  61. package/RadioButtons/cjs/index.js.map +1 -0
  62. package/RadioButtons/cjs/package.json +9 -0
  63. package/RadioButtons/index.d.ts +27 -0
  64. package/RadioButtons/index.js +78 -0
  65. package/RadioButtons/index.js.map +1 -0
  66. package/RadioButtons/package.json +9 -0
  67. package/RadioButtonsWithController/cjs/index.js +102 -0
  68. package/RadioButtonsWithController/cjs/index.js.map +1 -0
  69. package/RadioButtonsWithController/cjs/package.json +10 -0
  70. package/RadioButtonsWithController/index.d.ts +31 -0
  71. package/RadioButtonsWithController/index.js +100 -0
  72. package/RadioButtonsWithController/index.js.map +1 -0
  73. package/RadioButtonsWithController/package.json +10 -0
  74. package/RadioGroupWithLabel/cjs/index.js +149 -0
  75. package/RadioGroupWithLabel/cjs/index.js.map +1 -0
  76. package/RadioGroupWithLabel/cjs/package.json +10 -0
  77. package/RadioGroupWithLabel/index.d.ts +34 -0
  78. package/RadioGroupWithLabel/index.js +143 -0
  79. package/RadioGroupWithLabel/index.js.map +1 -0
  80. package/RadioGroupWithLabel/package.json +10 -0
  81. package/SelectMonth/cjs/index.js +57 -89
  82. package/SelectMonth/cjs/index.js.map +1 -1
  83. package/SelectMonth/index.d.ts +1 -0
  84. package/SelectMonth/index.js +58 -90
  85. package/SelectMonth/index.js.map +1 -1
  86. package/SelectYear/cjs/index.js +57 -89
  87. package/SelectYear/cjs/index.js.map +1 -1
  88. package/SelectYear/index.d.ts +1 -0
  89. package/SelectYear/index.js +58 -90
  90. package/SelectYear/index.js.map +1 -1
  91. package/TestForm/cjs/index.js +67 -88
  92. package/TestForm/cjs/index.js.map +1 -1
  93. package/TestForm/index.js +68 -89
  94. package/TestForm/index.js.map +1 -1
  95. package/cjs/index.js +336 -172
  96. package/cjs/index.js.map +1 -1
  97. package/index.d.ts +78 -19
  98. package/index.js +333 -174
  99. package/index.js.map +1 -1
  100. 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';
@@ -127,7 +126,7 @@ var InputDropdown = forwardRef(function (props, ref) {
127
126
  };
128
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] })));
129
128
  });
130
- 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) {
131
130
  var isOpen = _a.isOpen;
132
131
  return (isOpen ? "flex" : "none");
133
132
  }, theme.palette.grey.zero);
@@ -135,77 +134,36 @@ var StyledWrapper = styled.div(templateObject_2$7 || (templateObject_2$7 = __mak
135
134
  var isScrollable = _a.isScrollable;
136
135
  return isScrollable ? "14px 8px 8px 0" : "14px 0px 8px 0";
137
136
  });
138
- 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) {
139
138
  var isScrollable = _a.isScrollable;
140
139
  return (isScrollable ? "4px" : "0px");
141
140
  }, theme.palette.grey.fifteenB, theme.palette.grey.thirty);
142
- var templateObject_1$d, templateObject_2$7, templateObject_3$4;
141
+ var templateObject_1$e, templateObject_2$7, templateObject_3$3;
143
142
 
144
143
  var InputSelectDropdown = forwardRef(function (_a, ref) {
145
- var options = _a.options, inputRef = _a.inputRef, isOpenDropdown = _a.isOpenDropdown, handleCloseDropdown = _a.handleCloseDropdown, handleSelect = _a.handleSelect, selectedValue = _a.selectedValue;
146
- var dropdownRef = useRef(null);
147
- useEffect(function () {
148
- var _a;
149
- if (isOpenDropdown) {
150
- var element = document.querySelector("[data-value=autocomplete_option_".concat(selectedValue, "]"));
151
- var coordinates = element === null || element === void 0 ? void 0 : element.getBoundingClientRect();
152
- if (coordinates && inputRef.current && element) {
153
- (_a = dropdownRef.current) === null || _a === void 0 ? void 0 : _a.scrollTo({
154
- top: coordinates.top -
155
- inputRef.current.clientHeight -
156
- element.clientHeight,
157
- });
158
- }
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);
159
148
  }
160
- }, [isOpenDropdown]);
161
- var forwardedRef = function (elem) {
162
- if (ref) {
163
- if (typeof ref === "function")
164
- ref(elem);
165
- else
166
- ref.current = elem;
167
- }
168
- dropdownRef.current = elem;
169
149
  };
170
- 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)); }) })));
171
151
  });
172
- 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"])));
173
- 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);
174
- var selectedStyles = css(templateObject_3$3 || (templateObject_3$3 = __makeTemplateObject(["\n background-color: ", ";\n"], ["\n background-color: ", ";\n"])), theme.palette.background.light1);
175
- 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"])));
176
- var templateObject_1$c, templateObject_2$6, templateObject_3$3, templateObject_4$2;
177
-
178
- var getFormValue = function (name, form) {
179
- var names = name === null || name === void 0 ? void 0 : name.split(".");
180
- var fieldValue = form === null || form === void 0 ? void 0 : form.control._formValues;
181
- names === null || names === void 0 ? void 0 : names.forEach(function (field) {
182
- if (fieldValue) {
183
- fieldValue = fieldValue[field];
184
- }
185
- });
186
- return fieldValue;
187
- };
188
- var getFormError = function (name, form) {
189
- var names = name === null || name === void 0 ? void 0 : name.split(".");
190
- var fieldError = form === null || form === void 0 ? void 0 : form.formState.errors;
191
- names === null || names === void 0 ? void 0 : names.forEach(function (field) {
192
- if (fieldError) {
193
- // @ts-ignore
194
- fieldError = fieldError[field];
195
- }
196
- });
197
- return fieldError === null || fieldError === void 0 ? void 0 : fieldError.message;
198
- };
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;
199
161
 
200
- var InputSelect = forwardRef(function (props, ref) {
201
- var _a, _b;
202
- 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"]);
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"]);
203
165
  var _c = useState(false), isDropdownOpen = _c[0], setIsDropdownOpen = _c[1];
204
- var _d = useState(defaultValue || getFormValue(name, form)), value = _d[0], setValue = _d[1];
205
- var error = getFormError(name, form);
206
166
  var inputRef = useRef(null);
207
- 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;
208
- var register = form === null || form === void 0 ? void 0 : form.register(name);
209
167
  var handleOpenDropdown = function () {
210
168
  var _a, _b, _c, _d;
211
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,41 +175,51 @@ var InputSelect = forwardRef(function (props, ref) {
217
175
  setIsDropdownOpen(false);
218
176
  };
219
177
  var handleSelect = function (option) {
220
- setValue(option.value);
221
- if (handleChange) {
222
- handleChange(option.value);
223
- }
224
- if (form) {
225
- register === null || register === void 0 ? void 0 : register.onChange({
226
- target: { value: option.value, name: name },
227
- type: "change",
228
- });
229
- }
178
+ if (handleChange)
179
+ handleChange(option);
230
180
  handleCloseDropdown();
231
181
  };
232
- var forwardedRef = function (e) {
233
- if (ref) {
234
- // eslint-disable-next-line no-param-reassign
235
- // @ts-ignore
236
- ref.current = e;
237
- }
238
- // @ts-ignore
239
- inputRef.current = e;
240
- register === null || register === void 0 ? void 0 : register.ref(e);
241
- };
242
- 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, isDropdownOpen: isDropdownOpen }, 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: [
243
183
  { transition: "all linear .2s" },
244
184
  isDropdownOpen && { transform: "rotate(180deg)" },
245
- ] }, iconProps))) }, register, { ref: forwardedRef })), options && options.length > 0 && !props.disabled && (jsx$1(InputSelectDropdown, { options: options, inputRef: {
185
+ ] }, iconProps))) })), options.length > 0 && !disabled && (jsx$1(InputSelectDropdown, { options: options, inputRef: {
246
186
  current: (_b = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) === null || _b === void 0 ? void 0 : _b.parentElement,
247
- }, isOpenDropdown: isDropdownOpen, handleCloseDropdown: handleCloseDropdown, handleSelect: handleSelect, selectedValue: value }))] }));
248
- });
249
- 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"])));
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"])));
250
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) {
251
191
  var isDropdownOpen = _a.isDropdownOpen;
252
192
  return (isDropdownOpen ? 0 : 1);
253
193
  });
254
- 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
+ }
255
223
 
256
224
  var InputForDatepicker = forwardRef(function (props, ref) {
257
225
  var onClick = props.onClick, disabled = props.disabled, handleClick = props.handleClick, startIcon = props.startIcon, other = __rest(props, ["onClick", "disabled", "handleClick", "startIcon"]);
@@ -636,6 +604,17 @@ var StyledLinearProgress = styled(LinearProgress)(templateObject_4 || (templateO
636
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"])));
637
605
  var templateObject_1$1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
638
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
+
639
618
  var InputPassword = forwardRef(function (props, ref) {
640
619
  var _a = useState(false), showPassword = _a[0], setShowPassword = _a[1];
641
620
  var _b = useState(null), strength = _b[0], setStrength = _b[1];