kui-complex 0.0.79 → 0.0.82

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 (433) hide show
  1. package/AutocompleteOption/cjs/index.js +50 -0
  2. package/AutocompleteOption/cjs/index.js.map +1 -0
  3. package/AutocompleteOption/cjs/package.json +9 -0
  4. package/AutocompleteOption/index.d.ts +7 -0
  5. package/AutocompleteOption/index.js +44 -0
  6. package/AutocompleteOption/index.js.map +1 -0
  7. package/AutocompleteOption/package.json +9 -0
  8. package/Avatar/cjs/index.js +92 -0
  9. package/Avatar/cjs/index.js.map +1 -0
  10. package/Avatar/cjs/package.json +9 -0
  11. package/Avatar/index.d.ts +12 -0
  12. package/Avatar/index.js +86 -0
  13. package/Avatar/index.js.map +1 -0
  14. package/Avatar/package.json +9 -0
  15. package/ButtonSelect/cjs/index.js +252 -0
  16. package/ButtonSelect/cjs/index.js.map +1 -0
  17. package/ButtonSelect/cjs/package.json +9 -0
  18. package/ButtonSelect/index.d.ts +24 -0
  19. package/ButtonSelect/index.js +228 -0
  20. package/ButtonSelect/index.js.map +1 -0
  21. package/ButtonSelect/package.json +9 -0
  22. package/ButtonTab/cjs/index.js +58 -0
  23. package/ButtonTab/cjs/index.js.map +1 -0
  24. package/ButtonTab/cjs/package.json +9 -0
  25. package/ButtonTab/index.d.ts +14 -0
  26. package/ButtonTab/index.js +51 -0
  27. package/ButtonTab/index.js.map +1 -0
  28. package/ButtonTab/package.json +9 -0
  29. package/ButtonsPanel/cjs/index.js +133 -0
  30. package/ButtonsPanel/cjs/index.js.map +1 -0
  31. package/ButtonsPanel/cjs/package.json +9 -0
  32. package/ButtonsPanel/index.d.ts +19 -0
  33. package/ButtonsPanel/index.js +108 -0
  34. package/ButtonsPanel/index.js.map +1 -0
  35. package/ButtonsPanel/package.json +9 -0
  36. package/CalendarHeaderWithSelect/cjs/index.js +287 -0
  37. package/CalendarHeaderWithSelect/cjs/index.js.map +1 -0
  38. package/CalendarHeaderWithSelect/cjs/package.json +10 -0
  39. package/CalendarHeaderWithSelect/index.d.ts +21 -0
  40. package/CalendarHeaderWithSelect/index.js +263 -0
  41. package/CalendarHeaderWithSelect/index.js.map +1 -0
  42. package/CalendarHeaderWithSelect/package.json +10 -0
  43. package/CalendarStandardContainer/cjs/index.js +63 -0
  44. package/CalendarStandardContainer/cjs/index.js.map +1 -0
  45. package/CalendarStandardContainer/cjs/package.json +9 -0
  46. package/CalendarStandardContainer/index.d.ts +13 -0
  47. package/CalendarStandardContainer/index.js +57 -0
  48. package/CalendarStandardContainer/index.js.map +1 -0
  49. package/CalendarStandardContainer/package.json +9 -0
  50. package/CalendarStandardHeader/cjs/index.js +57 -0
  51. package/CalendarStandardHeader/cjs/index.js.map +1 -0
  52. package/CalendarStandardHeader/cjs/package.json +10 -0
  53. package/CalendarStandardHeader/index.d.ts +13 -0
  54. package/CalendarStandardHeader/index.js +50 -0
  55. package/CalendarStandardHeader/index.js.map +1 -0
  56. package/CalendarStandardHeader/package.json +10 -0
  57. package/CheckboxGroupWithTitle/cjs/index.js +81 -0
  58. package/CheckboxGroupWithTitle/cjs/index.js.map +1 -0
  59. package/CheckboxGroupWithTitle/cjs/package.json +10 -0
  60. package/CheckboxGroupWithTitle/index.d.ts +15 -0
  61. package/CheckboxGroupWithTitle/index.js +75 -0
  62. package/CheckboxGroupWithTitle/index.js.map +1 -0
  63. package/CheckboxGroupWithTitle/package.json +10 -0
  64. package/CheckboxWithController/cjs/index.js +63 -0
  65. package/CheckboxWithController/cjs/index.js.map +1 -0
  66. package/CheckboxWithController/cjs/package.json +10 -0
  67. package/CheckboxWithController/index.d.ts +5 -0
  68. package/CheckboxWithController/index.js +61 -0
  69. package/CheckboxWithController/index.js.map +1 -0
  70. package/CheckboxWithController/package.json +10 -0
  71. package/DependentInput/cjs/index.js +81 -0
  72. package/DependentInput/cjs/index.js.map +1 -0
  73. package/DependentInput/cjs/package.json +10 -0
  74. package/DependentInput/index.d.ts +3 -0
  75. package/DependentInput/index.js +79 -0
  76. package/DependentInput/index.js.map +1 -0
  77. package/DependentInput/package.json +10 -0
  78. package/DesktopInputWithMonthPicker/cjs/index.js +102 -0
  79. package/DesktopInputWithMonthPicker/cjs/index.js.map +1 -0
  80. package/DesktopInputWithMonthPicker/cjs/package.json +11 -0
  81. package/DesktopInputWithMonthPicker/index.d.ts +5 -0
  82. package/DesktopInputWithMonthPicker/index.js +95 -0
  83. package/DesktopInputWithMonthPicker/index.js.map +1 -0
  84. package/DesktopInputWithMonthPicker/package.json +11 -0
  85. package/DesktopMenuPanel/cjs/index.js +102 -0
  86. package/DesktopMenuPanel/cjs/index.js.map +1 -0
  87. package/DesktopMenuPanel/cjs/package.json +10 -0
  88. package/DesktopMenuPanel/index.d.ts +18 -0
  89. package/DesktopMenuPanel/index.js +96 -0
  90. package/DesktopMenuPanel/index.js.map +1 -0
  91. package/DesktopMenuPanel/package.json +10 -0
  92. package/FileItem/cjs/index.js +164 -0
  93. package/FileItem/cjs/index.js.map +1 -0
  94. package/FileItem/cjs/package.json +10 -0
  95. package/FileItem/index.d.ts +46 -0
  96. package/FileItem/index.js +158 -0
  97. package/FileItem/index.js.map +1 -0
  98. package/FileItem/package.json +10 -0
  99. package/InputDropdown/cjs/index.js +116 -0
  100. package/InputDropdown/cjs/index.js.map +1 -0
  101. package/InputDropdown/cjs/package.json +9 -0
  102. package/InputDropdown/index.d.ts +13 -0
  103. package/InputDropdown/index.js +110 -0
  104. package/InputDropdown/index.js.map +1 -0
  105. package/InputDropdown/package.json +9 -0
  106. package/InputFile/cjs/index.js +279 -0
  107. package/InputFile/cjs/index.js.map +1 -0
  108. package/InputFile/cjs/package.json +11 -0
  109. package/InputFile/index.d.ts +22 -0
  110. package/InputFile/index.js +273 -0
  111. package/InputFile/index.js.map +1 -0
  112. package/InputFile/package.json +11 -0
  113. package/InputForDatepicker/cjs/index.js +73 -0
  114. package/InputForDatepicker/cjs/index.js.map +1 -0
  115. package/InputForDatepicker/cjs/package.json +9 -0
  116. package/InputForDatepicker/index.d.ts +5 -0
  117. package/InputForDatepicker/index.js +67 -0
  118. package/InputForDatepicker/index.js.map +1 -0
  119. package/InputForDatepicker/package.json +9 -0
  120. package/InputMultiSelect/cjs/index.js +282 -0
  121. package/InputMultiSelect/cjs/index.js.map +1 -0
  122. package/InputMultiSelect/cjs/package.json +10 -0
  123. package/InputMultiSelect/index.d.ts +24 -0
  124. package/InputMultiSelect/index.js +258 -0
  125. package/InputMultiSelect/index.js.map +1 -0
  126. package/InputMultiSelect/package.json +10 -0
  127. package/InputMultiSelectOption/cjs/index.js +60 -0
  128. package/InputMultiSelectOption/cjs/index.js.map +1 -0
  129. package/InputMultiSelectOption/cjs/package.json +9 -0
  130. package/InputMultiSelectOption/index.d.ts +14 -0
  131. package/InputMultiSelectOption/index.js +54 -0
  132. package/InputMultiSelectOption/index.js.map +1 -0
  133. package/InputMultiSelectOption/package.json +9 -0
  134. package/InputPassword/cjs/index.js +176 -0
  135. package/InputPassword/cjs/index.js.map +1 -0
  136. package/InputPassword/cjs/package.json +10 -0
  137. package/InputPassword/index.d.ts +13 -0
  138. package/InputPassword/index.js +170 -0
  139. package/InputPassword/index.js.map +1 -0
  140. package/InputPassword/package.json +10 -0
  141. package/InputPhoneWithForm/cjs/index.js +134 -0
  142. package/InputPhoneWithForm/cjs/index.js.map +1 -0
  143. package/InputPhoneWithForm/cjs/package.json +10 -0
  144. package/InputPhoneWithForm/index.d.ts +14 -0
  145. package/InputPhoneWithForm/index.js +113 -0
  146. package/InputPhoneWithForm/index.js.map +1 -0
  147. package/InputPhoneWithForm/package.json +10 -0
  148. package/InputSelect/cjs/index.js +244 -0
  149. package/InputSelect/cjs/index.js.map +1 -0
  150. package/InputSelect/cjs/package.json +9 -0
  151. package/InputSelect/index.d.ts +5 -0
  152. package/InputSelect/index.js +220 -0
  153. package/InputSelect/index.js.map +1 -0
  154. package/InputSelect/package.json +9 -0
  155. package/InputSelectBase/cjs/index.js +216 -0
  156. package/InputSelectBase/cjs/index.js.map +1 -0
  157. package/InputSelectBase/cjs/package.json +9 -0
  158. package/InputSelectBase/index.d.ts +25 -0
  159. package/InputSelectBase/index.js +192 -0
  160. package/InputSelectBase/index.js.map +1 -0
  161. package/InputSelectBase/package.json +9 -0
  162. package/InputSelectDropdown/cjs/index.js +135 -0
  163. package/InputSelectDropdown/cjs/index.js.map +1 -0
  164. package/InputSelectDropdown/cjs/package.json +9 -0
  165. package/InputSelectDropdown/index.d.ts +23 -0
  166. package/InputSelectDropdown/index.js +129 -0
  167. package/InputSelectDropdown/index.js.map +1 -0
  168. package/InputSelectDropdown/package.json +9 -0
  169. package/InputSelectOption/cjs/index.js +53 -0
  170. package/InputSelectOption/cjs/index.js.map +1 -0
  171. package/InputSelectOption/cjs/package.json +9 -0
  172. package/InputSelectOption/index.d.ts +14 -0
  173. package/InputSelectOption/index.js +47 -0
  174. package/InputSelectOption/index.js.map +1 -0
  175. package/InputSelectOption/package.json +9 -0
  176. package/InputSelectWithController/cjs/index.js +268 -0
  177. package/InputSelectWithController/cjs/index.js.map +1 -0
  178. package/InputSelectWithController/cjs/package.json +10 -0
  179. package/InputSelectWithController/index.d.ts +5 -0
  180. package/InputSelectWithController/index.js +244 -0
  181. package/InputSelectWithController/index.js.map +1 -0
  182. package/InputSelectWithController/package.json +10 -0
  183. package/InputTextAreaMobile/cjs/index.js +86 -0
  184. package/InputTextAreaMobile/cjs/index.js.map +1 -0
  185. package/InputTextAreaMobile/cjs/package.json +10 -0
  186. package/InputTextAreaMobile/index.d.ts +5 -0
  187. package/InputTextAreaMobile/index.js +80 -0
  188. package/InputTextAreaMobile/index.js.map +1 -0
  189. package/InputTextAreaMobile/package.json +10 -0
  190. package/InputWithAddressAutocomplete/cjs/index.js +280 -0
  191. package/InputWithAddressAutocomplete/cjs/index.js.map +1 -0
  192. package/InputWithAddressAutocomplete/cjs/package.json +11 -0
  193. package/InputWithAddressAutocomplete/index.d.ts +36 -0
  194. package/InputWithAddressAutocomplete/index.js +274 -0
  195. package/InputWithAddressAutocomplete/index.js.map +1 -0
  196. package/InputWithAddressAutocomplete/package.json +11 -0
  197. package/InputWithAutocomplete/cjs/index.js +310 -0
  198. package/InputWithAutocomplete/cjs/index.js.map +1 -0
  199. package/InputWithAutocomplete/cjs/package.json +10 -0
  200. package/InputWithAutocomplete/index.d.ts +27 -0
  201. package/InputWithAutocomplete/index.js +286 -0
  202. package/InputWithAutocomplete/index.js.map +1 -0
  203. package/InputWithAutocomplete/package.json +10 -0
  204. package/InputWithController/cjs/index.js +71 -0
  205. package/InputWithController/cjs/index.js.map +1 -0
  206. package/InputWithController/cjs/package.json +10 -0
  207. package/InputWithController/index.d.ts +13 -0
  208. package/InputWithController/index.js +69 -0
  209. package/InputWithController/index.js.map +1 -0
  210. package/InputWithController/package.json +10 -0
  211. package/InputWithDatePicker/cjs/index.js +424 -0
  212. package/InputWithDatePicker/cjs/index.js.map +1 -0
  213. package/InputWithDatePicker/cjs/package.json +13 -0
  214. package/InputWithDatePicker/index.d.ts +24 -0
  215. package/InputWithDatePicker/index.js +398 -0
  216. package/InputWithDatePicker/index.js.map +1 -0
  217. package/InputWithDatePicker/package.json +13 -0
  218. package/InputWithMask/cjs/index.js +69 -0
  219. package/InputWithMask/cjs/index.js.map +1 -0
  220. package/InputWithMask/cjs/package.json +10 -0
  221. package/InputWithMask/index.d.ts +13 -0
  222. package/InputWithMask/index.js +67 -0
  223. package/InputWithMask/index.js.map +1 -0
  224. package/InputWithMask/package.json +10 -0
  225. package/InputWithMonthPicker/cjs/index.js +195 -0
  226. package/InputWithMonthPicker/cjs/index.js.map +1 -0
  227. package/InputWithMonthPicker/cjs/package.json +12 -0
  228. package/InputWithMonthPicker/index.d.ts +5 -0
  229. package/InputWithMonthPicker/index.js +187 -0
  230. package/InputWithMonthPicker/index.js.map +1 -0
  231. package/InputWithMonthPicker/package.json +12 -0
  232. package/Link/cjs/index.js +97 -0
  233. package/Link/cjs/index.js.map +1 -0
  234. package/Link/cjs/package.json +10 -0
  235. package/Link/index.d.ts +13 -0
  236. package/Link/index.js +91 -0
  237. package/Link/index.js.map +1 -0
  238. package/Link/package.json +10 -0
  239. package/Loading/cjs/index.js +72 -0
  240. package/Loading/cjs/index.js.map +1 -0
  241. package/Loading/cjs/package.json +9 -0
  242. package/Loading/index.d.ts +7 -0
  243. package/Loading/index.js +66 -0
  244. package/Loading/index.js.map +1 -0
  245. package/Loading/package.json +9 -0
  246. package/MapWrapper/cjs/index.js +117 -0
  247. package/MapWrapper/cjs/index.js.map +1 -0
  248. package/MapWrapper/cjs/package.json +10 -0
  249. package/MapWrapper/index.d.ts +9 -0
  250. package/MapWrapper/index.js +111 -0
  251. package/MapWrapper/index.js.map +1 -0
  252. package/MapWrapper/package.json +10 -0
  253. package/MenuItem/cjs/index.js +83 -0
  254. package/MenuItem/cjs/index.js.map +1 -0
  255. package/MenuItem/cjs/package.json +10 -0
  256. package/MenuItem/index.d.ts +17 -0
  257. package/MenuItem/index.js +77 -0
  258. package/MenuItem/index.js.map +1 -0
  259. package/MenuItem/package.json +10 -0
  260. package/MenuPanel/cjs/index.js +194 -0
  261. package/MenuPanel/cjs/index.js.map +1 -0
  262. package/MenuPanel/cjs/package.json +13 -0
  263. package/MenuPanel/index.d.ts +18 -0
  264. package/MenuPanel/index.js +168 -0
  265. package/MenuPanel/index.js.map +1 -0
  266. package/MenuPanel/package.json +13 -0
  267. package/MobileInputWithMonthPicker/cjs/index.js +182 -0
  268. package/MobileInputWithMonthPicker/cjs/index.js.map +1 -0
  269. package/MobileInputWithMonthPicker/cjs/package.json +12 -0
  270. package/MobileInputWithMonthPicker/index.d.ts +5 -0
  271. package/MobileInputWithMonthPicker/index.js +174 -0
  272. package/MobileInputWithMonthPicker/index.js.map +1 -0
  273. package/MobileInputWithMonthPicker/package.json +12 -0
  274. package/MobileMenuPanel/cjs/index.js +113 -0
  275. package/MobileMenuPanel/cjs/index.js.map +1 -0
  276. package/MobileMenuPanel/cjs/package.json +11 -0
  277. package/MobileMenuPanel/index.d.ts +18 -0
  278. package/MobileMenuPanel/index.js +106 -0
  279. package/MobileMenuPanel/index.js.map +1 -0
  280. package/MobileMenuPanel/package.json +11 -0
  281. package/ModalFooter/cjs/index.js +66 -0
  282. package/ModalFooter/cjs/index.js.map +1 -0
  283. package/ModalFooter/cjs/package.json +9 -0
  284. package/ModalFooter/index.d.ts +9 -0
  285. package/ModalFooter/index.js +60 -0
  286. package/ModalFooter/index.js.map +1 -0
  287. package/ModalFooter/package.json +9 -0
  288. package/MonthPickerContainer/cjs/index.js +63 -0
  289. package/MonthPickerContainer/cjs/index.js.map +1 -0
  290. package/MonthPickerContainer/cjs/package.json +9 -0
  291. package/MonthPickerContainer/index.d.ts +12 -0
  292. package/MonthPickerContainer/index.js +57 -0
  293. package/MonthPickerContainer/index.js.map +1 -0
  294. package/MonthPickerContainer/package.json +9 -0
  295. package/MonthPickerHeader/cjs/index.js +53 -0
  296. package/MonthPickerHeader/cjs/index.js.map +1 -0
  297. package/MonthPickerHeader/cjs/package.json +9 -0
  298. package/MonthPickerHeader/index.d.ts +13 -0
  299. package/MonthPickerHeader/index.js +47 -0
  300. package/MonthPickerHeader/index.js.map +1 -0
  301. package/MonthPickerHeader/package.json +9 -0
  302. package/PassportStrengthBar/cjs/index.js +82 -0
  303. package/PassportStrengthBar/cjs/index.js.map +1 -0
  304. package/PassportStrengthBar/cjs/package.json +9 -0
  305. package/PassportStrengthBar/index.d.ts +13 -0
  306. package/PassportStrengthBar/index.js +76 -0
  307. package/PassportStrengthBar/index.js.map +1 -0
  308. package/PassportStrengthBar/package.json +9 -0
  309. package/Popper/cjs/index.js +227 -0
  310. package/Popper/cjs/index.js.map +1 -0
  311. package/Popper/cjs/package.json +10 -0
  312. package/Popper/index.d.ts +23 -0
  313. package/Popper/index.js +201 -0
  314. package/Popper/index.js.map +1 -0
  315. package/Popper/package.json +10 -0
  316. package/PopperBase/cjs/index.js +72 -0
  317. package/PopperBase/cjs/index.js.map +1 -0
  318. package/PopperBase/cjs/package.json +9 -0
  319. package/PopperBase/index.d.ts +21 -0
  320. package/PopperBase/index.js +65 -0
  321. package/PopperBase/index.js.map +1 -0
  322. package/PopperBase/package.json +9 -0
  323. package/PopperWithPortal/cjs/index.js +166 -0
  324. package/PopperWithPortal/cjs/index.js.map +1 -0
  325. package/PopperWithPortal/cjs/package.json +10 -0
  326. package/PopperWithPortal/index.d.ts +23 -0
  327. package/PopperWithPortal/index.js +140 -0
  328. package/PopperWithPortal/index.js.map +1 -0
  329. package/PopperWithPortal/package.json +10 -0
  330. package/RadioButtons/cjs/index.js +80 -0
  331. package/RadioButtons/cjs/index.js.map +1 -0
  332. package/RadioButtons/cjs/package.json +9 -0
  333. package/RadioButtons/index.d.ts +27 -0
  334. package/RadioButtons/index.js +78 -0
  335. package/RadioButtons/index.js.map +1 -0
  336. package/RadioButtons/package.json +9 -0
  337. package/RadioButtonsWithController/cjs/index.js +102 -0
  338. package/RadioButtonsWithController/cjs/index.js.map +1 -0
  339. package/RadioButtonsWithController/cjs/package.json +10 -0
  340. package/RadioButtonsWithController/index.d.ts +31 -0
  341. package/RadioButtonsWithController/index.js +100 -0
  342. package/RadioButtonsWithController/index.js.map +1 -0
  343. package/RadioButtonsWithController/package.json +10 -0
  344. package/RadioGroupWithLabel/cjs/index.js +149 -0
  345. package/RadioGroupWithLabel/cjs/index.js.map +1 -0
  346. package/RadioGroupWithLabel/cjs/package.json +10 -0
  347. package/RadioGroupWithLabel/index.d.ts +34 -0
  348. package/RadioGroupWithLabel/index.js +143 -0
  349. package/RadioGroupWithLabel/index.js.map +1 -0
  350. package/RadioGroupWithLabel/package.json +10 -0
  351. package/SelectMonth/cjs/index.js +265 -0
  352. package/SelectMonth/cjs/index.js.map +1 -0
  353. package/SelectMonth/cjs/package.json +9 -0
  354. package/SelectMonth/index.d.ts +26 -0
  355. package/SelectMonth/index.js +241 -0
  356. package/SelectMonth/index.js.map +1 -0
  357. package/SelectMonth/package.json +9 -0
  358. package/SelectYear/cjs/index.js +253 -0
  359. package/SelectYear/cjs/index.js.map +1 -0
  360. package/SelectYear/cjs/package.json +9 -0
  361. package/SelectYear/index.d.ts +27 -0
  362. package/SelectYear/index.js +229 -0
  363. package/SelectYear/index.js.map +1 -0
  364. package/SelectYear/package.json +9 -0
  365. package/StaticPopper/cjs/index.js +140 -0
  366. package/StaticPopper/cjs/index.js.map +1 -0
  367. package/StaticPopper/cjs/package.json +9 -0
  368. package/StaticPopper/index.d.ts +23 -0
  369. package/StaticPopper/index.js +133 -0
  370. package/StaticPopper/index.js.map +1 -0
  371. package/StaticPopper/package.json +9 -0
  372. package/Switch/cjs/index.js +55 -0
  373. package/Switch/cjs/index.js.map +1 -0
  374. package/Switch/cjs/package.json +10 -0
  375. package/Switch/index.d.ts +14 -0
  376. package/Switch/index.js +53 -0
  377. package/Switch/index.js.map +1 -0
  378. package/Switch/package.json +10 -0
  379. package/Table/cjs/index.js +47 -0
  380. package/Table/cjs/index.js.map +1 -0
  381. package/Table/cjs/package.json +9 -0
  382. package/Table/index.d.ts +5 -0
  383. package/Table/index.js +41 -0
  384. package/Table/index.js.map +1 -0
  385. package/Table/package.json +9 -0
  386. package/TableCell/cjs/index.js +33 -0
  387. package/TableCell/cjs/index.js.map +1 -0
  388. package/TableCell/cjs/package.json +6 -0
  389. package/TableCell/index.d.ts +10 -0
  390. package/TableCell/index.js +27 -0
  391. package/TableCell/index.js.map +1 -0
  392. package/TableCell/package.json +6 -0
  393. package/TableHeadCell/cjs/index.js +33 -0
  394. package/TableHeadCell/cjs/index.js.map +1 -0
  395. package/TableHeadCell/cjs/package.json +6 -0
  396. package/TableHeadCell/index.d.ts +10 -0
  397. package/TableHeadCell/index.js +27 -0
  398. package/TableHeadCell/index.js.map +1 -0
  399. package/TableHeadCell/package.json +6 -0
  400. package/TableRow/cjs/index.js +71 -0
  401. package/TableRow/cjs/index.js.map +1 -0
  402. package/TableRow/cjs/package.json +9 -0
  403. package/TableRow/index.d.ts +5 -0
  404. package/TableRow/index.js +50 -0
  405. package/TableRow/index.js.map +1 -0
  406. package/TableRow/package.json +9 -0
  407. package/TestForm/cjs/index.js +755 -0
  408. package/TestForm/cjs/index.js.map +1 -0
  409. package/TestForm/cjs/package.json +15 -0
  410. package/TestForm/index.d.ts +3 -0
  411. package/TestForm/index.js +727 -0
  412. package/TestForm/index.js.map +1 -0
  413. package/TestForm/package.json +15 -0
  414. package/Tooltip/cjs/index.js +257 -0
  415. package/Tooltip/cjs/index.js.map +1 -0
  416. package/Tooltip/cjs/package.json +10 -0
  417. package/Tooltip/index.d.ts +28 -0
  418. package/Tooltip/index.js +231 -0
  419. package/Tooltip/index.js.map +1 -0
  420. package/Tooltip/package.json +10 -0
  421. package/UndefinedAvatar/cjs/index.js +71 -0
  422. package/UndefinedAvatar/cjs/index.js.map +1 -0
  423. package/UndefinedAvatar/cjs/package.json +9 -0
  424. package/UndefinedAvatar/index.d.ts +8 -0
  425. package/UndefinedAvatar/index.js +65 -0
  426. package/UndefinedAvatar/index.js.map +1 -0
  427. package/UndefinedAvatar/package.json +9 -0
  428. package/cjs/index.js +1981 -0
  429. package/cjs/index.js.map +1 -0
  430. package/index.d.ts +492 -0
  431. package/index.js +1880 -0
  432. package/index.js.map +1 -0
  433. package/package.json +1 -4
@@ -0,0 +1,727 @@
1
+ import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
2
+ import { Controller, useController, useForm } from 'react-hook-form';
3
+ import * as yup from 'yup';
4
+ import { yupResolver } from '@hookform/resolvers/yup';
5
+ import * as React from 'react';
6
+ import { forwardRef, useState, useRef, useEffect } from 'react';
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 { jsxs as jsxs$1, jsx as jsx$1, Fragment } from '@emotion/react/jsx-runtime';
9
+ import styled from '@emotion/styled';
10
+ import { HalfArrowIcon, CalendarIcon, CheckIcon, ArrowBackIcon, ArrowNextIcon, ClosedEyeIcon, OpenEyeIcon } from 'kui-icon';
11
+ import DatePicker from 'react-datepicker';
12
+ import { DateTime } from 'luxon';
13
+ import _ from 'lodash';
14
+ import ru from 'date-fns/locale/ru';
15
+
16
+ /******************************************************************************
17
+ Copyright (c) Microsoft Corporation.
18
+
19
+ Permission to use, copy, modify, and/or distribute this software for any
20
+ purpose with or without fee is hereby granted.
21
+
22
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
23
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
24
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
25
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
26
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
27
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
28
+ PERFORMANCE OF THIS SOFTWARE.
29
+ ***************************************************************************** */
30
+
31
+ var __assign = function() {
32
+ __assign = Object.assign || function __assign(t) {
33
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
34
+ s = arguments[i];
35
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
36
+ }
37
+ return t;
38
+ };
39
+ return __assign.apply(this, arguments);
40
+ };
41
+
42
+ function __rest(s, e) {
43
+ var t = {};
44
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
45
+ t[p] = s[p];
46
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
47
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
48
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
49
+ t[p[i]] = s[p[i]];
50
+ }
51
+ return t;
52
+ }
53
+
54
+ function __makeTemplateObject(cooked, raw) {
55
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
56
+ return cooked;
57
+ }
58
+
59
+ var InputWithController = forwardRef(function (_a, ref) {
60
+ var form = _a.form, name = _a.name, error = _a.error, value = _a.value, type = _a.type, inputProps = __rest(_a, ["form", "name", "error", "value", "type"]);
61
+ var handleChange = function (e, field) {
62
+ var _a;
63
+ var newValue = type === "number" && !((_a = e.target.value) === null || _a === void 0 ? void 0 : _a.length) ? null : e.target.value;
64
+ field.onChange(__assign(__assign({}, e), { target: __assign(__assign({}, e.target), { value: newValue }) }));
65
+ if (inputProps.onChange) {
66
+ inputProps.onChange(e);
67
+ }
68
+ };
69
+ var getError = function (fieldState) {
70
+ var _a;
71
+ return typeof error !== "undefined" && String(error).length > 0
72
+ ? error
73
+ : (_a = fieldState.error) === null || _a === void 0 ? void 0 : _a.message;
74
+ };
75
+ return (jsx(Controller, { control: form === null || form === void 0 ? void 0 : form.control, name: name, render: function (_a) {
76
+ var field = _a.field, fieldState = _a.fieldState;
77
+ return (jsx(InputWithAdornments, __assign({ message: getError(fieldState) }, field, inputProps, { onChange: function (e) {
78
+ return handleChange(e, field);
79
+ }, type: type, value: value !== null && value !== void 0 ? value : field.value, inputRef: ref })));
80
+ } }));
81
+ });
82
+
83
+ var InputDropdown = forwardRef(function (props, ref) {
84
+ var isOpen = props.isOpen, handleClose = props.handleClose, buttonRef = props.buttonRef, children = props.children, endComponent = props.endComponent, otherProps = __rest(props, ["isOpen", "handleClose", "buttonRef", "children", "endComponent"]);
85
+ var _a = useState(false), isScrollable = _a[0], setIsScrollable = _a[1];
86
+ var dropdownRef = useRef(null);
87
+ var closePopUp = function (e) {
88
+ if (dropdownRef.current && buttonRef && buttonRef.current) {
89
+ if (!dropdownRef.current.contains(e.target) &&
90
+ !buttonRef.current.contains(e.target)) {
91
+ handleClose();
92
+ }
93
+ }
94
+ };
95
+ useEffect(function () {
96
+ document.addEventListener("click", closePopUp);
97
+ return function () {
98
+ document.removeEventListener("click", closePopUp);
99
+ };
100
+ });
101
+ useEffect(function () {
102
+ var _a;
103
+ if (buttonRef === null || buttonRef === void 0 ? void 0 : buttonRef.current) {
104
+ if (isOpen) {
105
+ buttonRef.current.style.zIndex = "4";
106
+ var scrollContainer = (_a = dropdownRef.current) === null || _a === void 0 ? void 0 : _a.children[0].children[0];
107
+ if (scrollContainer) {
108
+ var hasScroll = scrollContainer.scrollHeight > scrollContainer.clientHeight;
109
+ setIsScrollable(hasScroll);
110
+ }
111
+ }
112
+ else {
113
+ buttonRef.current.style.zIndex = "1";
114
+ }
115
+ }
116
+ }, [isOpen]);
117
+ if (!isOpen) {
118
+ return null;
119
+ }
120
+ var forwardedRef = function (elem) {
121
+ if (typeof ref === "function")
122
+ ref(elem);
123
+ else if (ref)
124
+ ref.current = elem;
125
+ dropdownRef.current = elem;
126
+ };
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] })));
128
+ });
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) {
130
+ var isOpen = _a.isOpen;
131
+ return (isOpen ? "flex" : "none");
132
+ }, theme.palette.grey.zero);
133
+ var StyledWrapper = styled.div(templateObject_2$7 || (templateObject_2$7 = __makeTemplateObject(["\n width: 100%;\n box-sizing: border-box;\n padding: ", ";\n"], ["\n width: 100%;\n box-sizing: border-box;\n padding: ", ";\n"])), function (_a) {
134
+ var isScrollable = _a.isScrollable;
135
+ return isScrollable ? "14px 8px 8px 0" : "14px 0px 8px 0";
136
+ });
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) {
138
+ var isScrollable = _a.isScrollable;
139
+ return (isScrollable ? "4px" : "0px");
140
+ }, theme.palette.grey.fifteenB, theme.palette.grey.thirty);
141
+ var templateObject_1$e, templateObject_2$7, templateObject_3$3;
142
+
143
+ var InputSelectDropdown = forwardRef(function (_a, ref) {
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);
148
+ }
149
+ };
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)); }) })));
151
+ });
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;
161
+
162
+ function setRef(ref, value) {
163
+ if (typeof ref === "function") {
164
+ ref(value);
165
+ }
166
+ else if (ref) {
167
+ ref.current = value;
168
+ }
169
+ }
170
+ function useForkRef() {
171
+ var refs = [];
172
+ for (var _i = 0; _i < arguments.length; _i++) {
173
+ refs[_i] = arguments[_i];
174
+ }
175
+ return React.useMemo(function () {
176
+ if (refs.every(function (ref) { return ref == null; })) {
177
+ return null;
178
+ }
179
+ return function (instance) {
180
+ refs.forEach(function (ref) {
181
+ setRef(ref, instance);
182
+ });
183
+ };
184
+ }, refs);
185
+ }
186
+
187
+ var InputSelectBase = forwardRef(function (_a, ref) {
188
+ var _b;
189
+ 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"]);
190
+ var _c = useState(false), isDropdownOpen = _c[0], setIsDropdownOpen = _c[1];
191
+ var inputRef = useRef(null);
192
+ var forwardedRef = useForkRef(inputRef, ref);
193
+ var handleOpenDropdown = function () {
194
+ var _a, _b, _c, _d;
195
+ 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) {
196
+ (_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();
197
+ }
198
+ setIsDropdownOpen(function (prev) { return !prev; });
199
+ };
200
+ var handleCloseDropdown = function () {
201
+ setIsDropdownOpen(false);
202
+ };
203
+ var handleSelect = function (option) {
204
+ if (handleChange)
205
+ handleChange(option);
206
+ handleCloseDropdown();
207
+ };
208
+ return (jsxs$1(Wrapper$4, { children: [jsx$1("input", { name: name, autoComplete: "off", hidden: true }), jsx$1(StyledInput, __assign({ onClick: handleOpenDropdown, ref: forwardedRef, 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: [
209
+ { transition: "all linear .2s" },
210
+ isDropdownOpen && { transform: "rotate(180deg)" },
211
+ ] }, iconProps))) })), options.length > 0 && !disabled && (jsx$1(InputSelectDropdown, { options: options, inputRef: {
212
+ current: (_b = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) === null || _b === void 0 ? void 0 : _b.parentElement,
213
+ }, isOpenDropdown: isDropdownOpen, handleCloseDropdown: handleCloseDropdown, handleSelect: handleSelect, selectedValue: selectedValue, renderOption: renderOption }))] }));
214
+ });
215
+ 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"])));
216
+ 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) {
217
+ var isDropdownOpen = _a.isDropdownOpen;
218
+ return (isDropdownOpen ? 0 : 1);
219
+ });
220
+ var templateObject_1$c, templateObject_2$5;
221
+
222
+ function InputSelectOption(props) {
223
+ var option = props.option, selectedValue = props.selectedValue;
224
+ return (jsx(StyledOption, __assign({ selected: selectedValue === option.value }, { children: jsx(Caption, __assign({ size: "sm", weight: 500 }, { children: option.label })) })));
225
+ }
226
+ 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) {
227
+ var selected = _a.selected;
228
+ return selected ? theme.palette.background.light1 : theme.palette.grey.zero;
229
+ }, theme.palette.background.light1);
230
+ var templateObject_1$b;
231
+
232
+ var InputSelect = forwardRef(function (_a, ref) {
233
+ var _b;
234
+ var options = _a.options, name = _a.name, handleChange = _a.handleChange; _a.form; var valueProp = _a.value, inputProps = __rest(_a, ["options", "name", "handleChange", "form", "value"]);
235
+ var _c = useState(valueProp), value = _c[0], setValue = _c[1];
236
+ var selectedLabel = (_b = options.find(function (option) { return String(option.value) === String(value); })) === null || _b === void 0 ? void 0 : _b.label;
237
+ var handleSelect = function (option) {
238
+ setValue(option.value);
239
+ if (handleChange) {
240
+ handleChange(option.value);
241
+ }
242
+ };
243
+ useEffect(function () {
244
+ if (typeof valueProp !== "undefined")
245
+ setValue(valueProp);
246
+ }, [valueProp]);
247
+ 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 })); }, ref: ref }, inputProps)));
248
+ });
249
+
250
+ var InputForDatepicker = forwardRef(function (props, ref) {
251
+ var onClick = props.onClick, disabled = props.disabled, handleClick = props.handleClick, startIcon = props.startIcon, other = __rest(props, ["onClick", "disabled", "handleClick", "startIcon"]);
252
+ var handleIconClick = function () {
253
+ if (handleClick) {
254
+ handleClick();
255
+ }
256
+ else {
257
+ onClick();
258
+ }
259
+ };
260
+ var Icon = function () { return (jsx(IconWrapper, __assign({ disabled: disabled, onClick: handleIconClick }, { children: startIcon || jsx(CalendarIcon, { width: 19, height: 21 }) }))); };
261
+ return (jsx(InputWithMask$1, __assign({ disabled: disabled, endIcon: !startIcon && jsx(Icon, {}), startIcon: startIcon && jsx(Icon, {}) }, other, { ref: ref })));
262
+ });
263
+ var IconWrapper = styled.div(templateObject_1$a || (templateObject_1$a = __makeTemplateObject(["\n display: flex;\n align-items: center;\n cursor: pointer;\n z-index: 1;\n"], ["\n display: flex;\n align-items: center;\n cursor: pointer;\n z-index: 1;\n"])));
264
+ var templateObject_1$a;
265
+
266
+ var useToggle = function (isModalOpen) {
267
+ if (isModalOpen === void 0) { isModalOpen = false; }
268
+ var _a = useState(isModalOpen), isOpen = _a[0], setIsOpen = _a[1];
269
+ var handleClose = function () {
270
+ setIsOpen(false);
271
+ };
272
+ var handleOpen = function () {
273
+ setIsOpen(true);
274
+ };
275
+ return [isOpen, handleOpen, handleClose];
276
+ };
277
+
278
+ var isValidWithMaskExp = /^[^_]+$/;
279
+ var simplePasswordRegExp = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{10,}$/;
280
+ var mediumPasswordRegExp = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{12,}$/;
281
+ var strongPasswordRegExp = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{14,}$/;
282
+
283
+ var checkDisabled$1 = function (year, min, max) {
284
+ return (min && year <= min) || (max && year >= max);
285
+ };
286
+ var SelectYear = forwardRef(function (_a, ref) {
287
+ var yearOptions = _a.yearOptions; _a.options; var min = _a.min, max = _a.max, props = __rest(_a, ["yearOptions", "options", "min", "max"]);
288
+ var formattedYearOptions = yearOptions.map(function (year) { return (__assign(__assign({}, year), { disabled: checkDisabled$1(Number(year.value), min, max) })); });
289
+ return (jsx(InputSelect, __assign({ ref: ref, label: "Year", options: formattedYearOptions }, props)));
290
+ });
291
+
292
+ var checkDisabled = function (month, min, max) { return (min && month <= min) || (max && month >= max); };
293
+ var monthValues = [
294
+ { value: 0, label: "January" },
295
+ { value: 1, label: "February" },
296
+ { value: 2, label: "March" },
297
+ { value: 3, label: "April" },
298
+ { value: 4, label: "May" },
299
+ { value: 5, label: "June" },
300
+ { value: 6, label: "July" },
301
+ { value: 7, label: "August" },
302
+ { value: 8, label: "September" },
303
+ { value: 9, label: "October" },
304
+ { value: 10, label: "November" },
305
+ { value: 11, label: "December" },
306
+ ];
307
+ var SelectMonth = forwardRef(function (props, ref) {
308
+ var min = props.min, max = props.max; props.options; var other = __rest(props, ["min", "max", "options"]);
309
+ var formattedMonths = monthValues.map(function (month) { return (__assign(__assign({}, month), { disabled: checkDisabled(month.value, min, max) })); });
310
+ return (jsx(InputSelect, __assign({ ref: ref, label: "Month", options: formattedMonths }, other)));
311
+ });
312
+
313
+ var CalendarHeaderWithSelect = forwardRef(function (_a, ref) {
314
+ var changeMonth = _a.changeMonth, changeYear = _a.changeYear, date = _a.date, yearOptions = _a.yearOptions, max = _a.max, min = _a.min;
315
+ var year = date.getFullYear();
316
+ var month = date.getMonth();
317
+ var currentYear = DateTime.now().year;
318
+ var minMonth = (min === null || min === void 0 ? void 0 : min.year) === currentYear ? min === null || min === void 0 ? void 0 : min.month : 0;
319
+ var maxMonth = (max === null || max === void 0 ? void 0 : max.year) === currentYear ? max === null || max === void 0 ? void 0 : max.month : 11;
320
+ return (jsx(Wrapper$3, __assign({ ref: ref }, { children: jsxs(Grid, __assign({ container: true, spacing: 2 }, { children: [jsx(Grid, __assign({ item: true, xs: 6 }, { children: jsx(SelectYear, { min: min === null || min === void 0 ? void 0 : min.year, max: max === null || max === void 0 ? void 0 : max.year, yearOptions: yearOptions, value: year, handleChange: changeYear }) })), jsx(Grid, __assign({ item: true, xs: 6 }, { children: jsx(SelectMonth, { min: (Number(min === null || min === void 0 ? void 0 : min.year) >= currentYear && minMonth), max: (Number(max === null || max === void 0 ? void 0 : max.year) <= currentYear && maxMonth), value: month, handleChange: changeMonth }) }))] })) })));
321
+ });
322
+ var Wrapper$3 = styled.div(templateObject_1$9 || (templateObject_1$9 = __makeTemplateObject(["\n margin-bottom: 24px;\n @media (max-width: 900px) {\n padding: 0 18px;\n margin-bottom: 20px;\n }\n"], ["\n margin-bottom: 24px;\n @media (max-width: 900px) {\n padding: 0 18px;\n margin-bottom: 20px;\n }\n"])));
323
+ var templateObject_1$9;
324
+
325
+ var ModalFooter = forwardRef(function (_a, ref) {
326
+ var label = _a.label, button = _a.button, otherProps = __rest(_a, ["label", "button"]);
327
+ return (jsxs(StyledFooter, __assign({ ref: ref }, { children: [jsx(Divider, {}), jsx(ButtonWrapper, { children: button || (jsx(ButtonStyled, __assign({ fullWidth: true, size: "s", endIcon: jsx(CheckIcon, {}) }, otherProps, { children: label }))) })] })));
328
+ });
329
+ var StyledFooter = styled.div(templateObject_1$8 || (templateObject_1$8 = __makeTemplateObject(["\n background: ", ";\n border-radius: 0 0 12px 12px;\n z-index: 10;\n position: sticky;\n bottom: 0;\n left: 0;\n"], ["\n background: ", ";\n border-radius: 0 0 12px 12px;\n z-index: 10;\n position: sticky;\n bottom: 0;\n left: 0;\n"])), theme.palette.grey.zero);
330
+ var ButtonWrapper = styled.div(templateObject_2$4 || (templateObject_2$4 = __makeTemplateObject(["\n display: flex;\n justify-content: flex-end;\n padding: 24px 40px;\n @media (max-width: 600px) {\n padding: 24px 16px;\n }\n"], ["\n display: flex;\n justify-content: flex-end;\n padding: 24px 40px;\n @media (max-width: 600px) {\n padding: 24px 16px;\n }\n"])));
331
+ var ButtonStyled = styled(Button)(templateObject_3$2 || (templateObject_3$2 = __makeTemplateObject(["\n @media (max-width: 600px) {\n width: 100%;\n }\n"], ["\n @media (max-width: 600px) {\n width: 100%;\n }\n"])));
332
+ var templateObject_1$8, templateObject_2$4, templateObject_3$2;
333
+
334
+ var CalendarStandardContainer = forwardRef(function (_a, ref) {
335
+ _a.arrowProps; _a.showPopperArrow; var props = __rest(_a, ["arrowProps", "showPopperArrow"]);
336
+ return jsx(DatePickerContainer, __assign({ ref: ref }, props));
337
+ });
338
+ var DatePickerContainer = styled.div(templateObject_1$7 || (templateObject_1$7 = __makeTemplateObject(["\n padding: 0;\n border: none !important;\n border-radius: 0 !important;\n background: transparent !important;\n overflow: hidden;\n width: 100%;\n height: 100%;\n .react-datepicker__header {\n background-color: transparent !important;\n }\n .react-datepicker__month-container {\n width: 100%;\n height: 100%;\n }\n .react-datepicker__day-names {\n display: flex;\n justify-content: space-between;\n .react-datepicker__day-name {\n font-family: \"Inter\", sans-serif;\n font-weight: 600;\n font-size: 14px;\n color: ", ";\n text-transform: uppercase;\n margin: 0;\n width: 33px;\n line-height: normal;\n }\n }\n .react-datepicker__month {\n padding: 0;\n margin: 20px 0 0 !important;\n border: none;\n width: 100%;\n height: calc(100% - 85px);\n .react-datepicker__week {\n display: flex;\n justify-content: space-between;\n }\n }\n .react-datepicker__week {\n margin-bottom: 10px;\n &:last-of-type {\n margin-bottom: 0;\n }\n }\n .react-datepicker__day {\n width: 33px;\n height: 33px;\n user-select: none;\n border-radius: 50% !important;\n transition: background ease-out 0.3s;\n border: 1px solid transparent;\n margin: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n font-weight: 500;\n font-size: 16px;\n &:hover {\n background: ", ";\n }\n &:active {\n background: ", ";\n }\n }\n .react-datepicker__day--outside-month,\n .react-datepicker__day--disabled {\n color: #a6aebc;\n p {\n color: #a6aebc;\n }\n }\n .react-datepicker__day--keyboard-selected {\n background: transparent;\n color: inherit;\n }\n .react-datepicker__day--today {\n color: ", ";\n background-color: ", ";\n }\n .react-datepicker__day--selected {\n background: white;\n border: 1px solid #e1e4e8;\n color: ", ";\n p {\n color: ", ";\n }\n }\n .react-datepicker__day--selected.warning_day {\n border-color: ", ";\n background-color: ", ";\n color: ", ";\n }\n @media (max-width: 600px) {\n .react-datepicker__day {\n max-width: 48px;\n max-height: 48px;\n width: calc((100vw - (18px * 7)) / 7);\n height: calc((100vw - (18px * 7)) / 7);\n }\n .react-datepicker__day-names {\n .react-datepicker__day-name {\n max-width: 48px;\n width: calc((100vw - (18px * 7)) / 7);\n }\n }\n }\n @media (max-width: 350px) {\n .react-datepicker__day {\n width: calc((100vw - (6px * 7)) / 7);\n height: calc((100vw - (6px * 7)) / 7);\n }\n .react-datepicker__day-names {\n .react-datepicker__day-name {\n width: calc((100vw - (6px * 7)) / 7);\n }\n }\n }\n"], ["\n padding: 0;\n border: none !important;\n border-radius: 0 !important;\n background: transparent !important;\n overflow: hidden;\n width: 100%;\n height: 100%;\n .react-datepicker__header {\n background-color: transparent !important;\n }\n .react-datepicker__month-container {\n width: 100%;\n height: 100%;\n }\n .react-datepicker__day-names {\n display: flex;\n justify-content: space-between;\n .react-datepicker__day-name {\n font-family: \"Inter\", sans-serif;\n font-weight: 600;\n font-size: 14px;\n color: ", ";\n text-transform: uppercase;\n margin: 0;\n width: 33px;\n line-height: normal;\n }\n }\n .react-datepicker__month {\n padding: 0;\n margin: 20px 0 0 !important;\n border: none;\n width: 100%;\n height: calc(100% - 85px);\n .react-datepicker__week {\n display: flex;\n justify-content: space-between;\n }\n }\n .react-datepicker__week {\n margin-bottom: 10px;\n &:last-of-type {\n margin-bottom: 0;\n }\n }\n .react-datepicker__day {\n width: 33px;\n height: 33px;\n user-select: none;\n border-radius: 50% !important;\n transition: background ease-out 0.3s;\n border: 1px solid transparent;\n margin: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n font-weight: 500;\n font-size: 16px;\n &:hover {\n background: ", ";\n }\n &:active {\n background: ", ";\n }\n }\n .react-datepicker__day--outside-month,\n .react-datepicker__day--disabled {\n color: #a6aebc;\n p {\n color: #a6aebc;\n }\n }\n .react-datepicker__day--keyboard-selected {\n background: transparent;\n color: inherit;\n }\n .react-datepicker__day--today {\n color: ", ";\n background-color: ", ";\n }\n .react-datepicker__day--selected {\n background: white;\n border: 1px solid #e1e4e8;\n color: ", ";\n p {\n color: ", ";\n }\n }\n .react-datepicker__day--selected.warning_day {\n border-color: ", ";\n background-color: ", ";\n color: ", ";\n }\n @media (max-width: 600px) {\n .react-datepicker__day {\n max-width: 48px;\n max-height: 48px;\n width: calc((100vw - (18px * 7)) / 7);\n height: calc((100vw - (18px * 7)) / 7);\n }\n .react-datepicker__day-names {\n .react-datepicker__day-name {\n max-width: 48px;\n width: calc((100vw - (18px * 7)) / 7);\n }\n }\n }\n @media (max-width: 350px) {\n .react-datepicker__day {\n width: calc((100vw - (6px * 7)) / 7);\n height: calc((100vw - (6px * 7)) / 7);\n }\n .react-datepicker__day-names {\n .react-datepicker__day-name {\n width: calc((100vw - (6px * 7)) / 7);\n }\n }\n }\n"])), theme.palette.grey.fiftyP, theme.palette.background.light3, theme.palette.background.light3, theme.palette.brand.main, theme.palette.brand.light, theme.palette.brand.main, theme.palette.brand.main, theme.palette.grey.fifteenB, theme.palette.red.seventy, theme.palette.grey.zero);
339
+ var templateObject_1$7;
340
+
341
+ var generateYearRange = function (offsetFromCurrent, maxYearCount) {
342
+ if (!offsetFromCurrent || !maxYearCount)
343
+ return [];
344
+ var endYear = DateTime.now().year - offsetFromCurrent;
345
+ return _.range(maxYearCount).map(function (elem) {
346
+ var fullYear = endYear - elem;
347
+ return {
348
+ value: fullYear,
349
+ label: fullYear,
350
+ };
351
+ });
352
+ };
353
+ var InputWithDatePicker = forwardRef(function (_a, ref) {
354
+ var _b;
355
+ var title = _a.title, description = _a.description, name = _a.name, form = _a.form, disabled = _a.disabled, yearParams = _a.yearParams, onChange = _a.onChange, max = _a.max, min = _a.min, footerLabel = _a.footerLabel, datePickerProps = _a.datePickerProps, alignTitle = _a.alignTitle, props = __rest(_a, ["title", "description", "name", "form", "disabled", "yearParams", "onChange", "max", "min", "footerLabel", "datePickerProps", "alignTitle"]);
356
+ var _c = useController({
357
+ name: name,
358
+ control: form.control,
359
+ }), field = _c.field, fieldState = _c.fieldState;
360
+ var error = (_b = fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
361
+ var formattedValue = field.value ? field.value.toFormat("dd.MM.yyyy") : "";
362
+ var formattedDate = field.value ? field.value.toJSDate() : null;
363
+ var _d = useToggle(), isModalOpen = _d[0], handleModalOpen = _d[1], handleModalClose = _d[2];
364
+ var _e = useState(formattedDate), date = _e[0], setDate = _e[1];
365
+ var _f = useState(formattedValue), value = _f[0], setValue = _f[1];
366
+ var yearList = generateYearRange(yearParams === null || yearParams === void 0 ? void 0 : yearParams.min, yearParams === null || yearParams === void 0 ? void 0 : yearParams.max);
367
+ useEffect(function () {
368
+ if (!isModalOpen) {
369
+ setDate(null);
370
+ }
371
+ else {
372
+ setDate(formattedDate);
373
+ }
374
+ }, [isModalOpen]);
375
+ var handleChange = function (e) {
376
+ var targetValue = e.target.value;
377
+ setValue(targetValue);
378
+ if (targetValue.length !== 0 && isValidWithMaskExp.test(targetValue)) {
379
+ var targetDate = DateTime.fromFormat(targetValue, "dd.MM.yyyy");
380
+ setDate(targetDate.toJSDate());
381
+ field === null || field === void 0 ? void 0 : field.onChange({ target: { value: targetDate, name: name }, type: "change" });
382
+ if (onChange) {
383
+ onChange(targetDate);
384
+ }
385
+ }
386
+ else {
387
+ setDate(null);
388
+ field === null || field === void 0 ? void 0 : field.onChange({ target: { value: null, name: name }, type: "change" });
389
+ if (onChange) {
390
+ onChange(null);
391
+ }
392
+ }
393
+ };
394
+ var acceptWithDateSelected = function () {
395
+ if (date) {
396
+ var dateObj = DateTime.fromJSDate(date);
397
+ setValue(dateObj.toFormat("dd.MM.yyyy"));
398
+ field === null || field === void 0 ? void 0 : field.onChange({ target: { value: dateObj, name: name }, type: "change" });
399
+ if (onChange) {
400
+ onChange(dateObj);
401
+ }
402
+ handleModalClose();
403
+ }
404
+ };
405
+ var handleDateChange = function (newDate) {
406
+ setDate(newDate);
407
+ };
408
+ var forwardedRef = useForkRef(ref, field.ref);
409
+ return (jsxs$1(Fragment, { children: [jsx$1(InputForDatepicker, __assign({ mask: "00.00.0000", name: name, handleClick: handleModalOpen, value: formattedValue || value, onChange: handleChange, disabled: disabled, message: error, ref: forwardedRef }, props)), jsxs$1(StyledModal, __assign({ title: title, description: description, isOpen: isModalOpen, handleClose: handleModalClose, alignTitle: alignTitle }, { children: [jsx$1(ContentWrapper$1, { children: jsx$1(DatePicker, __assign({ inline: true, selected: date || formattedDate, onChange: handleDateChange, calendarContainer: StyledCalendarStandardContainer, renderCustomHeader: function (headProps) { return (jsx$1(CalendarHeaderWithSelect, __assign({ yearOptions: yearList, max: max, min: min }, headProps))); }, renderDayContents: function (day) { return (jsx$1(DayContent, { children: day })); }, maxDate: max === null || max === void 0 ? void 0 : max.toJSDate(), minDate: min === null || min === void 0 ? void 0 : min.toJSDate() }, datePickerProps)) }), jsx$1(ModalFooter, { fullWidth: true, disabled: !formattedDate && !date, onClick: acceptWithDateSelected, label: footerLabel })] }))] }));
410
+ });
411
+ InputWithDatePicker.defaultProps = {
412
+ title: "Дата рождения",
413
+ description: "Выберите год, месяц и число вашего рождения",
414
+ yearParams: { min: 18, max: 120 },
415
+ footerLabel: "Подтвердить",
416
+ alignTitle: "center",
417
+ };
418
+ var ContentWrapper$1 = styled.div(templateObject_1$6 || (templateObject_1$6 = __makeTemplateObject(["\n padding: 0px 40px 24px;\n @media (max-width: 600px) {\n padding: 20px 0 0;\n }\n"], ["\n padding: 0px 40px 24px;\n @media (max-width: 600px) {\n padding: 20px 0 0;\n }\n"])));
419
+ var StyledCalendarStandardContainer = styled(CalendarStandardContainer)(templateObject_2$3 || (templateObject_2$3 = __makeTemplateObject(["\n height: 410px;\n .react-datepicker__header {\n padding: 0 !important;\n }\n .react-datepicker__day-names {\n padding: 35px 22px 0;\n background-color: ", ";\n border-radius: 16px 16px 0 0;\n @media (max-width: 900px) {\n padding: 24px 16px 0;\n }\n }\n .react-datepicker__month {\n justify-content: space-between;\n height: calc(100% - 124px);\n background-color: ", ";\n border-radius: 0 0 16px 16px;\n padding: 20px 22px 24px;\n margin: 0 !important;\n box-sizing: border-box;\n @media (max-width: 900px) {\n padding: 20px 16px 24px;\n }\n }\n @media (max-width: 600px) {\n height: auto;\n margin-bottom: -4px;\n }\n"], ["\n height: 410px;\n .react-datepicker__header {\n padding: 0 !important;\n }\n .react-datepicker__day-names {\n padding: 35px 22px 0;\n background-color: ", ";\n border-radius: 16px 16px 0 0;\n @media (max-width: 900px) {\n padding: 24px 16px 0;\n }\n }\n .react-datepicker__month {\n justify-content: space-between;\n height: calc(100% - 124px);\n background-color: ", ";\n border-radius: 0 0 16px 16px;\n padding: 20px 22px 24px;\n margin: 0 !important;\n box-sizing: border-box;\n @media (max-width: 900px) {\n padding: 20px 16px 24px;\n }\n }\n @media (max-width: 600px) {\n height: auto;\n margin-bottom: -4px;\n }\n"])), theme.palette.background.light1, theme.palette.background.light1);
420
+ var DayContent = styled.span(templateObject_3$1 || (templateObject_3$1 = __makeTemplateObject(["\n padding-top: 1px;\n font-family: Inter, sans-serif;\n @media (max-width: 600px) {\n font-weight: 400;\n }\n"], ["\n padding-top: 1px;\n font-family: Inter, sans-serif;\n @media (max-width: 600px) {\n font-weight: 400;\n }\n"])));
421
+ var StyledModal = styled(Modal)(templateObject_4$1 || (templateObject_4$1 = __makeTemplateObject(["\n .KUI-Modal_title {\n font-size: 24px;\n line-height: 32px;\n text-align: ", ";\n }\n .KUI-Modal_description {\n margin-bottom: 36px;\n }\n"], ["\n .KUI-Modal_title {\n font-size: 24px;\n line-height: 32px;\n text-align: ", ";\n }\n .KUI-Modal_description {\n margin-bottom: 36px;\n }\n"])), function (_a) {
422
+ var alignTitle = _a.alignTitle;
423
+ return alignTitle || "center";
424
+ });
425
+ var templateObject_1$6, templateObject_2$3, templateObject_3$1, templateObject_4$1;
426
+
427
+ var MonthPickerContainer = forwardRef(function (_a, ref) {
428
+ _a.arrowProps; _a.showPopperArrow; var props = __rest(_a, ["arrowProps", "showPopperArrow"]);
429
+ return jsx(StyledContainer, __assign({ ref: ref }, props));
430
+ });
431
+ var StyledContainer = styled.div(templateObject_1$5 || (templateObject_1$5 = __makeTemplateObject(["\n box-shadow: 0px 26px 34px rgba(0, 0, 0, 0.1);\n border-radius: 12px !important;\n border: 1px solid ", " !important;\n background: #fff;\n overflow: hidden;\n z-index: 5;\n .react-datepicker-wrapper,\n .react-datepicker__input-container {\n display: block;\n width: 100%;\n }\n .react-datepicker__header,\n .react-datepicker__header:not(.react-datepicker__header--has-time-select) {\n padding: 0;\n border: none;\n background-color: #fff;\n }\n .react-datepicker__month {\n margin: 0px 8px 8px !important;\n border-radius: 12px;\n border: 1px solid ", ";\n width: 238px;\n height: 169px;\n display: flex;\n flex-direction: column;\n }\n .react-datepicker__month-text {\n margin: 4px !important;\n /*width: auto !important;*/\n width: calc(100% / 3) !important;\n position: relative;\n display: flex !important;\n justify-content: center;\n align-items: center;\n }\n\n .react-datepicker__month-wrapper {\n height: calc(100% / 4);\n display: flex;\n }\n\n .react-datepicker__month-text:after {\n content: \"\";\n display: block;\n height: calc(100% + 8px);\n width: 1px;\n position: absolute;\n top: -4px;\n right: -4px;\n background: ", ";\n }\n\n .react-datepicker__month-text:nth-child(3n):after {\n content: none;\n }\n\n .react-datepicker__month--selected,\n .react-datepicker__month-text--keyboard-selected {\n background-color: ", " !important;\n border-radius: 8px !important;\n color: white !important;\n }\n .react-datepicker__month-wrapper {\n border-bottom: 1px solid ", ";\n }\n\n .react-datepicker__month-wrapper:last-child {\n border-bottom: none;\n }\n\n @media (max-width: 600px) {\n .react-datepicker__month-container {\n width: 100%;\n height: 100%;\n }\n .react-datepicker__month {\n margin: 0px 16px 16px !important;\n height: calc(100% - 58px);\n text-align: center;\n width: auto;\n }\n .react-datepicker__month-text {\n margin: 8px !important;\n }\n .react-datepicker__month-text:after {\n height: calc(100% + 16px);\n top: -8px;\n right: -8px;\n }\n .react-datepicker__month-text:nth-child(3n):after {\n content: none;\n }\n }\n @media (max-width: 600px) {\n width: 100%;\n height: 262px;\n box-shadow: 0px 5px 16px rgba(0, 0, 0, 0.1);\n }\n"], ["\n box-shadow: 0px 26px 34px rgba(0, 0, 0, 0.1);\n border-radius: 12px !important;\n border: 1px solid ", " !important;\n background: #fff;\n overflow: hidden;\n z-index: 5;\n .react-datepicker-wrapper,\n .react-datepicker__input-container {\n display: block;\n width: 100%;\n }\n .react-datepicker__header,\n .react-datepicker__header:not(.react-datepicker__header--has-time-select) {\n padding: 0;\n border: none;\n background-color: #fff;\n }\n .react-datepicker__month {\n margin: 0px 8px 8px !important;\n border-radius: 12px;\n border: 1px solid ", ";\n width: 238px;\n height: 169px;\n display: flex;\n flex-direction: column;\n }\n .react-datepicker__month-text {\n margin: 4px !important;\n /*width: auto !important;*/\n width: calc(100% / 3) !important;\n position: relative;\n display: flex !important;\n justify-content: center;\n align-items: center;\n }\n\n .react-datepicker__month-wrapper {\n height: calc(100% / 4);\n display: flex;\n }\n\n .react-datepicker__month-text:after {\n content: \"\";\n display: block;\n height: calc(100% + 8px);\n width: 1px;\n position: absolute;\n top: -4px;\n right: -4px;\n background: ", ";\n }\n\n .react-datepicker__month-text:nth-child(3n):after {\n content: none;\n }\n\n .react-datepicker__month--selected,\n .react-datepicker__month-text--keyboard-selected {\n background-color: ", " !important;\n border-radius: 8px !important;\n color: white !important;\n }\n .react-datepicker__month-wrapper {\n border-bottom: 1px solid ", ";\n }\n\n .react-datepicker__month-wrapper:last-child {\n border-bottom: none;\n }\n\n @media (max-width: 600px) {\n .react-datepicker__month-container {\n width: 100%;\n height: 100%;\n }\n .react-datepicker__month {\n margin: 0px 16px 16px !important;\n height: calc(100% - 58px);\n text-align: center;\n width: auto;\n }\n .react-datepicker__month-text {\n margin: 8px !important;\n }\n .react-datepicker__month-text:after {\n height: calc(100% + 16px);\n top: -8px;\n right: -8px;\n }\n .react-datepicker__month-text:nth-child(3n):after {\n content: none;\n }\n }\n @media (max-width: 600px) {\n width: 100%;\n height: 262px;\n box-shadow: 0px 5px 16px rgba(0, 0, 0, 0.1);\n }\n"])), theme.palette.background.light1, theme.palette.grey.fifteenB, theme.palette.grey.fifteenB, theme.palette.brand.main, theme.palette.grey.fifteenB);
432
+ var templateObject_1$5;
433
+
434
+ var MonthPickerHeader = forwardRef(function (_a, ref) {
435
+ var decreaseYear = _a.decreaseYear, increaseYear = _a.increaseYear, nextYearButtonDisabled = _a.nextYearButtonDisabled, prevYearButtonDisabled = _a.prevYearButtonDisabled, date = _a.date;
436
+ return (jsxs(StyledHeader, __assign({ container: true, alignItems: "center", justify: "space-between", ref: ref }, { children: [jsx(Grid, __assign({ item: true }, { children: jsx(StyledIconButton, __assign({ disabled: prevYearButtonDisabled, onClick: decreaseYear }, { children: jsx(ArrowBackIcon, { width: 14, height: 12 }) })) })), jsx(Grid, __assign({ item: true }, { children: jsx(Caption, __assign({ size: "sm", weight: 600 }, { children: date.getFullYear() })) })), jsx(Grid, __assign({ item: true }, { children: jsx(StyledIconButton, __assign({ disabled: nextYearButtonDisabled, onClick: increaseYear }, { children: jsx(ArrowNextIcon, { width: 14, height: 12 }) })) }))] })));
437
+ });
438
+ var StyledIconButton = styled(IconButton)(templateObject_1$4 || (templateObject_1$4 = __makeTemplateObject(["\n height: 36px;\n &:disabled {\n opacity: 0;\n }\n"], ["\n height: 36px;\n &:disabled {\n opacity: 0;\n }\n"])));
439
+ var StyledHeader = styled(Grid)(templateObject_2$2 || (templateObject_2$2 = __makeTemplateObject(["\n background: #fff;\n padding: 4px 16px;\n border-radius: 12px 12px 0 0;\n"], ["\n background: #fff;\n padding: 4px 16px;\n border-radius: 12px 12px 0 0;\n"])));
440
+ var templateObject_1$4, templateObject_2$2;
441
+
442
+ var DesktopInputWithMonthPicker = forwardRef(function (_a, ref) {
443
+ var name = _a.name, form = _a.form, disabled = _a.disabled, datePickerProps = _a.datePickerProps, otherProps = __rest(_a, ["name", "form", "disabled", "datePickerProps"]);
444
+ return (jsx(Wrapper$2, __assign({ ref: ref }, { children: jsx(Controller, { name: name, control: form.control, render: function (_a) {
445
+ var _b;
446
+ var field = _a.field, fieldState = _a.fieldState;
447
+ return (jsx(DatePicker, __assign({ selected: field.value, onChange: field.onChange, disabled: disabled, customInput: jsx(InputForDatepicker, __assign({ mask: "00.0000", name: name, disabled: disabled, message: (_b = fieldState.error) === null || _b === void 0 ? void 0 : _b.message }, otherProps)), showMonthYearPicker: true, dateFormat: "MM.yyyy", popperPlacement: "bottom-end", calendarContainer: MonthPickerContainer, renderCustomHeader: function (props) { return (jsx(MonthPickerHeader, __assign({}, props))); } }, datePickerProps)));
448
+ } }) })));
449
+ });
450
+ var Wrapper$2 = styled.div(templateObject_1$3 || (templateObject_1$3 = __makeTemplateObject(["\n @media (max-width: 600px) {\n display: none;\n }\n"], ["\n @media (max-width: 600px) {\n display: none;\n }\n"])));
451
+ var templateObject_1$3;
452
+
453
+ var shortMonths = [
454
+ "ЯНВ",
455
+ "ФЕВ",
456
+ "МАРТ",
457
+ "АПР",
458
+ "МАЙ",
459
+ "ИЮНЬ",
460
+ "ИЮЛЬ",
461
+ "АВГ",
462
+ "СЕНТ",
463
+ "ОКТ",
464
+ "НОЯБ",
465
+ "ДЕК",
466
+ ];
467
+
468
+ var ruCustom = __assign(__assign({}, ru), { localize: {
469
+ month: function (n) { return shortMonths[n]; },
470
+ ordinalNumber: function () { return ""; },
471
+ era: function () { return ""; },
472
+ quarter: function () { return ""; },
473
+ dayPeriod: function () { return ""; },
474
+ day: function () { return ""; },
475
+ } });
476
+ var MobileInputWithMonthPicker = forwardRef(function (_a, ref) {
477
+ var _b;
478
+ var title = _a.title, name = _a.name, form = _a.form, disabled = _a.disabled, datePickerProps = _a.datePickerProps, props = __rest(_a, ["title", "name", "form", "disabled", "datePickerProps"]);
479
+ var _c = useController({
480
+ name: name,
481
+ control: form.control,
482
+ }), field = _c.field, fieldState = _c.fieldState;
483
+ var error = (_b = fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
484
+ var _d = useToggle(), isModalOpen = _d[0], handleModalOpen = _d[1], handleModalClose = _d[2];
485
+ var _e = useState(field.value
486
+ ? DateTime.fromJSDate(new Date(String(field.value))).toFormat("MM.yyyy")
487
+ : null), value = _e[0], setValue = _e[1];
488
+ var _f = useState(value ? DateTime.fromFormat(value, "MM.yyyy").toJSDate() : null), date = _f[0], setDate = _f[1];
489
+ var handleChange = function (e) {
490
+ var targetValue = e.target.value;
491
+ setValue(targetValue);
492
+ if (targetValue.length !== 0 && isValidWithMaskExp.test(targetValue)) {
493
+ var jsDate = DateTime.fromFormat(targetValue, "MM.yyyy").toJSDate();
494
+ setDate(jsDate);
495
+ field === null || field === void 0 ? void 0 : field.onChange({ target: { value: jsDate, name: name }, type: "change" });
496
+ }
497
+ else {
498
+ setDate(null);
499
+ field === null || field === void 0 ? void 0 : field.onChange({ target: { value: null, name: name }, type: "change" });
500
+ }
501
+ };
502
+ var acceptWithDateSelected = function () {
503
+ if (date) {
504
+ setValue(DateTime.fromJSDate(date).toFormat("MM.yyyy"));
505
+ }
506
+ else {
507
+ setValue("");
508
+ }
509
+ field === null || field === void 0 ? void 0 : field.onChange({ target: { value: date, name: name }, type: "change" });
510
+ handleModalClose();
511
+ };
512
+ return (jsxs(Wrapper$1, __assign({ ref: ref }, { children: [jsx(InputForDatepicker, __assign({ mask: "00.0000", name: name, handleCLick: handleModalOpen, value: value, onChange: handleChange, disabled: disabled, message: error, isLabelShrink: Boolean(field.value) }, props)), jsxs(Modal, __assign({ title: title, isOpen: isModalOpen, handleClose: handleModalClose }, { children: [jsx(ContentWrapper, { children: jsx(DatePicker, __assign({ inline: true, showMonthYearPicker: true, dateFormat: "MM.yyyy", selected: date, onChange: function (newDate) { return setDate(newDate); }, locale: ruCustom, calendarContainer: MonthPickerContainer, renderCustomHeader: function (headProps) { return (jsx(MonthPickerHeader, __assign({}, headProps))); } }, datePickerProps)) }), jsx(ModalFooter, { fullWidth: true, disabled: !date, onClick: acceptWithDateSelected, label: "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C" })] }))] })));
513
+ });
514
+ var Wrapper$1 = styled.div(templateObject_1$2 || (templateObject_1$2 = __makeTemplateObject(["\n @media (min-width: 601px) {\n display: none;\n }\n"], ["\n @media (min-width: 601px) {\n display: none;\n }\n"])));
515
+ var ContentWrapper = styled.div(templateObject_2$1 || (templateObject_2$1 = __makeTemplateObject(["\n @media (max-width: 600px) {\n padding: 16px 16px 8px;\n }\n"], ["\n @media (max-width: 600px) {\n padding: 16px 16px 8px;\n }\n"])));
516
+ var templateObject_1$2, templateObject_2$1;
517
+
518
+ var InputWithMonthPicker = function (props) { return (jsxs(Fragment$1, { children: [jsx(DesktopInputWithMonthPicker, __assign({}, props)), jsx(MobileInputWithMonthPicker, __assign({}, props))] })); };
519
+
520
+ var InputPhoneWithForm = forwardRef(function (props, ref) {
521
+ var _a;
522
+ var form = props.form, name = props.name, hiddenInputProps = props.hiddenInputProps, error = props.error, other = __rest(props, ["form", "name", "hiddenInputProps", "error"]);
523
+ var codeRegister = useController({
524
+ control: form.control,
525
+ name: "".concat(name, ".phoneCode"),
526
+ defaultValue: "7",
527
+ });
528
+ var phoneRegister = useController({
529
+ control: form.control,
530
+ name: "".concat(name, ".phoneNumber"),
531
+ });
532
+ var errorMessage = typeof error !== "undefined" && String(error).length > 0
533
+ ? error
534
+ : (_a = phoneRegister.fieldState.error) === null || _a === void 0 ? void 0 : _a.message;
535
+ var handleCountryChange = function (country) {
536
+ codeRegister.field.onChange({
537
+ target: { value: country.phoneCode, name: "".concat(name, ".phoneCode") },
538
+ type: "change",
539
+ });
540
+ };
541
+ var handleChange = function (e) {
542
+ phoneRegister.field.onChange(e);
543
+ if (!codeRegister.field.value) {
544
+ codeRegister.field.onChange({
545
+ target: { value: "7", name: "".concat(name, ".phoneCode") },
546
+ type: "change",
547
+ });
548
+ }
549
+ if (other.onChange) {
550
+ other.onChange(e);
551
+ }
552
+ };
553
+ var forwardedRef = useForkRef(ref, phoneRegister.field.ref);
554
+ return (jsx(InputWithCountryDropdown, __assign({ message: errorMessage,
555
+ // @ts-ignore
556
+ hiddenInputProps: __assign(__assign({}, codeRegister.field), hiddenInputProps), onSelectCountry: handleCountryChange }, phoneRegister.field, other, { onChange: handleChange, ref: forwardedRef, autoComplete: "false" })));
557
+ });
558
+ InputPhoneWithForm.defaultProps = {
559
+ name: "phone",
560
+ };
561
+
562
+ var Switch = forwardRef(function (_a, ref) {
563
+ var form = _a.form, name = _a.name, props = __rest(_a, ["form", "name"]);
564
+ return (jsx$1(Controller, { control: form === null || form === void 0 ? void 0 : form.control, name: name, render: function (_a) {
565
+ var field = _a.field;
566
+ return (jsx$1(Switch$1, __assign({ checked: Boolean(field.value), onChange: field.onChange, "data-testid": name, ref: ref, name: name }, props)));
567
+ } }));
568
+ });
569
+
570
+ var strengthCoefficients = {
571
+ weak: 0,
572
+ simple: 1,
573
+ medium: 2,
574
+ hard: 3,
575
+ };
576
+ var strengthColors = {
577
+ weak: theme.palette.red.fiftyP,
578
+ simple: theme.palette.brand.main,
579
+ medium: theme.palette.blue.fiftyP,
580
+ hard: theme.palette.green.fiftyP,
581
+ };
582
+ var strengthTexts = {
583
+ weak: "Очень простой",
584
+ simple: "Простой",
585
+ medium: "Средний",
586
+ hard: "Сложный",
587
+ };
588
+ var PassportStrengthBar = forwardRef(function (_a, ref) {
589
+ var strength = _a.strength;
590
+ var color = strength
591
+ ? strengthColors[strength]
592
+ : "";
593
+ var strengthKey = strength
594
+ ? strengthCoefficients[strength]
595
+ : -1;
596
+ return (jsxs$1(Wrapper, __assign({ "data-testid": "strength_bar", className: String(!strength && "hidden"), ref: ref }, { children: [jsx$1(ReliabilityLevelWrapper, { children: Object.keys(strengthCoefficients).map(function (item, key) { return (jsx$1(ReliabilityLevel, { children: jsx$1(StyledLinearProgress, { "data-testid": "progress_item_".concat(item), value: strengthKey >= key ? 100 : 0, color: color }) }, item)); }) }), jsx$1(Caption, __assign({ "data-testid": "strength_bar_explanation", size: "s", css: { color: color } }, { children: strength && strengthTexts[strength] })), jsx$1(Description, __assign({ size: "s", color: "fiftyP" }, { children: "\u041F\u0430\u0440\u043E\u043B\u044C \u0434\u043E\u043B\u0436\u0435\u043D \u0441\u043E\u0441\u0442\u043E\u044F\u0442\u044C \u0438\u0437 10 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432, \u0441\u043E\u0434\u0435\u0440\u0436\u0430\u0442\u044C \u0446\u0438\u0444\u0440\u044B, \u0431\u043E\u043B\u044C\u0448\u0438\u0435 \u0438 \u0441\u0442\u0440\u043E\u0447\u043D\u044B\u0435 \u043B\u0430\u0442\u0438\u043D\u0441\u043A\u0438\u0435 \u0431\u0443\u0432\u044B" }))] })));
597
+ });
598
+ var Wrapper = styled.div(templateObject_1$1 || (templateObject_1$1 = __makeTemplateObject(["\n margin-top: 16px;\n min-height: 86px;\n @media (max-width: 900px) {\n min-height: unset;\n }\n &.hidden {\n opacity: 0;\n @media (max-width: 900px) {\n display: none;\n }\n }\n"], ["\n margin-top: 16px;\n min-height: 86px;\n @media (max-width: 900px) {\n min-height: unset;\n }\n &.hidden {\n opacity: 0;\n @media (max-width: 900px) {\n display: none;\n }\n }\n"])));
599
+ var ReliabilityLevelWrapper = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: flex;\n margin-bottom: 8px;\n"], ["\n display: flex;\n margin-bottom: 8px;\n"])));
600
+ var ReliabilityLevel = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n width: calc(100% / 4);\n margin-right: 16px;\n &:last-of-type {\n margin-right: 0;\n }\n"], ["\n width: calc(100% / 4);\n margin-right: 16px;\n &:last-of-type {\n margin-right: 0;\n }\n"])));
601
+ var StyledLinearProgress = styled(LinearProgress)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n height: 8px;\n border-radius: 8px;\n background-color: ", ";\n & .KUI-LinearProgress_bar {\n background-color: ", ";\n width: 102%;\n }\n"], ["\n height: 8px;\n border-radius: 8px;\n background-color: ", ";\n & .KUI-LinearProgress_bar {\n background-color: ", ";\n width: 102%;\n }\n"])), theme.palette.grey.fifteenB, function (_a) {
602
+ var color = _a.color;
603
+ return color;
604
+ });
605
+ 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"])));
606
+ var templateObject_1$1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
607
+
608
+ var getFormValue = function (name, form) {
609
+ var names = name === null || name === void 0 ? void 0 : name.split(".");
610
+ var fieldValue = form === null || form === void 0 ? void 0 : form.control._formValues;
611
+ names === null || names === void 0 ? void 0 : names.forEach(function (field) {
612
+ if (fieldValue) {
613
+ fieldValue = fieldValue[field];
614
+ }
615
+ });
616
+ return fieldValue;
617
+ };
618
+
619
+ var InputPassword = forwardRef(function (props, ref) {
620
+ var _a = useState(false), showPassword = _a[0], setShowPassword = _a[1];
621
+ var _b = useState(null), strength = _b[0], setStrength = _b[1];
622
+ var handleShowChange = function () {
623
+ setShowPassword(function (prev) { return !prev; });
624
+ };
625
+ var checkPasswordStrength = function (value) {
626
+ if (value.length === 0) {
627
+ setStrength(null);
628
+ return;
629
+ }
630
+ if (strongPasswordRegExp.test(value)) {
631
+ setStrength("hard");
632
+ }
633
+ else if (mediumPasswordRegExp.test(value)) {
634
+ setStrength("medium");
635
+ }
636
+ else if (simplePasswordRegExp.test(value)) {
637
+ setStrength("simple");
638
+ }
639
+ else {
640
+ setStrength("weak");
641
+ }
642
+ };
643
+ var handleChange = function (e) {
644
+ var targetValue = e.target.value;
645
+ checkPasswordStrength(targetValue);
646
+ };
647
+ useEffect(function () {
648
+ var form = props.form, name = props.name;
649
+ var fieldValue = getFormValue(name, form);
650
+ if (typeof fieldValue === "string") {
651
+ checkPasswordStrength(fieldValue);
652
+ }
653
+ }, []);
654
+ return (jsxs(Fragment$1, { children: [jsx(InputWithController, __assign({ type: showPassword ? "text" : "password", autoComplete: "new_password", onChange: handleChange, "data-testid": "input_password", ref: ref, endIcon: jsx(EyeIconWrapper, __assign({ "data-testid": "show_value_btn", onClick: handleShowChange }, { children: showPassword ? jsx(ClosedEyeIcon, {}) : jsx(OpenEyeIcon, {}) })) }, props)), jsx(PassportStrengthBar, { strength: strength })] }));
655
+ });
656
+ var EyeIconWrapper = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n height: 18px;\n display: flex;\n align-items: center;\n cursor: pointer;\n"], ["\n height: 18px;\n display: flex;\n align-items: center;\n cursor: pointer;\n"])));
657
+ var templateObject_1;
658
+
659
+ var InputWithMask = forwardRef(function (_a, ref) {
660
+ var form = _a.form, name = _a.name, error = _a.error, inputProps = __rest(_a, ["form", "name", "error"]);
661
+ var handleChange = function (e, field) {
662
+ field.onChange(e);
663
+ if (inputProps.onChange) {
664
+ inputProps.onChange(e);
665
+ }
666
+ };
667
+ var getError = function (fieldState) {
668
+ var _a;
669
+ return typeof error !== "undefined" && String(error).length > 0
670
+ ? error
671
+ : (_a = fieldState.error) === null || _a === void 0 ? void 0 : _a.message;
672
+ };
673
+ return (jsx(Controller, { control: form === null || form === void 0 ? void 0 : form.control, name: name, render: function (_a) {
674
+ var field = _a.field, fieldState = _a.fieldState;
675
+ return (jsx(InputWithMask$1, __assign({ message: getError(fieldState) }, field, inputProps, { onChange: function (e) {
676
+ return handleChange(e, field);
677
+ }, inputRef: ref })));
678
+ } }));
679
+ });
680
+
681
+ var Schema = yup.object().shape({
682
+ fields: yup.object({
683
+ basic: yup.string().required("basic"),
684
+ withMask: yup.string().required("withMask"),
685
+ select: yup.string().required("select"),
686
+ withDatepicker: yup
687
+ .date()
688
+ .max(new Date("2022-10-15"), "date")
689
+ .required("withDatepicker")
690
+ .nullable(),
691
+ withMonthpicker: yup.date().required("withMonthpicker"),
692
+ phone: yup.object({
693
+ phoneNumber: yup.string().required("phone"),
694
+ }),
695
+ password: yup.string().required("password"),
696
+ }),
697
+ });
698
+ var TestForm = function () {
699
+ var form = useForm({
700
+ defaultValues: {
701
+ fields: {
702
+ basic: "Basic input",
703
+ withMask: "565-632",
704
+ select: "second",
705
+ withDatepicker: new Date(),
706
+ withMonthpicker: new Date(),
707
+ phone: {
708
+ phoneNumber: "9123456987",
709
+ phoneCode: "93",
710
+ },
711
+ switch: true,
712
+ password: "password",
713
+ },
714
+ },
715
+ resolver: yupResolver(Schema),
716
+ });
717
+ var handleSubmit = function (data) {
718
+ console.log(data);
719
+ };
720
+ return (jsxs("form", __assign({ onSubmit: form.handleSubmit(handleSubmit, handleSubmit) }, { children: [jsx("button", __assign({ type: "submit" }, { children: "Submit" })), jsx(InputWithController, { form: form, name: "fields.basic", label: "Basic" }), jsx(InputWithMask, { mask: "999-999", form: form, name: "fields.withMask", label: "With mask" }), jsx(InputSelect, { form: form, name: "fields.select", label: "Select", options: [
721
+ { label: "First", value: "first" },
722
+ { label: "Second", value: "second" },
723
+ ] }), jsx(InputWithDatePicker, { form: form, name: "fields.withDatepicker", label: "With Datepicker" }), jsx(InputWithMonthPicker, { form: form, name: "fields.withMonthpicker", label: "With Monthpicker" }), jsx(InputPhoneWithForm, { form: form, name: "fields.phone", label: "Phone" }), jsx(Switch, { form: form, name: "fields.switch", label: "Switch" }), jsx(InputPassword, { form: form, name: "fields.password", label: "Password" })] })));
724
+ };
725
+
726
+ export { TestForm as default };
727
+ //# sourceMappingURL=index.js.map