@invoicebox/ui 0.1.0-alpha.13 → 0.1.0-alpha.131

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 (414) hide show
  1. package/README.md +26 -1
  2. package/dist/breakpoints/index.d.ts +7 -0
  3. package/dist/breakpoints/index.js +13 -0
  4. package/dist/components/_helpers/StoryBorderWrapper/index.d.ts +2 -0
  5. package/dist/components/_helpers/StoryBorderWrapper/index.js +12 -0
  6. package/dist/components/_helpers/selectOptions.d.ts +4 -0
  7. package/dist/components/_helpers/selectOptions.js +43 -0
  8. package/dist/components/common/AppCardLink/components/ApkRu.d.ts +4 -0
  9. package/dist/components/common/AppCardLink/components/ApkRu.js +106 -0
  10. package/dist/components/common/AppCardLink/components/AppGalleryRu.d.ts +4 -0
  11. package/dist/components/common/AppCardLink/components/AppGalleryRu.js +98 -0
  12. package/dist/components/common/AppCardLink/components/GooglePlayRu.d.ts +4 -0
  13. package/dist/components/common/AppCardLink/components/GooglePlayRu.js +184 -0
  14. package/dist/components/common/AppCardLink/components/RuStoreRu.d.ts +4 -0
  15. package/dist/components/common/AppCardLink/components/RuStoreRu.js +101 -0
  16. package/dist/components/common/AppCardLink/constants.d.ts +4 -0
  17. package/dist/components/common/AppCardLink/constants.js +1 -0
  18. package/dist/components/common/AppCardLink/index.d.ts +8 -0
  19. package/dist/components/common/AppCardLink/index.js +34 -0
  20. package/dist/components/common/AppCardLink/index.stories.d.ts +10 -0
  21. package/dist/components/common/AppCardLink/index.stories.js +20 -0
  22. package/dist/components/common/AppCardLink/styles.d.ts +2 -0
  23. package/dist/components/common/AppCardLink/styles.js +12 -0
  24. package/dist/components/common/Arrow/components/StyledSvg/index.d.ts +8 -0
  25. package/dist/components/common/Arrow/components/StyledSvg/index.js +25 -0
  26. package/dist/components/common/Arrow/components/StyledSvg/index.stories.d.ts +5 -0
  27. package/dist/components/common/Arrow/components/StyledSvg/index.stories.js +26 -0
  28. package/dist/components/common/Arrow/components/Svg/index.d.ts +6 -0
  29. package/dist/components/common/Arrow/components/Svg/index.js +26 -0
  30. package/dist/components/common/Arrow/components/Svg/index.stories.d.ts +6 -0
  31. package/dist/components/common/Arrow/components/Svg/index.stories.js +21 -0
  32. package/dist/components/common/Arrow/index.d.ts +10 -0
  33. package/dist/components/common/Arrow/index.js +29 -0
  34. package/dist/components/common/Arrow/index.stories.d.ts +6 -0
  35. package/dist/components/common/Arrow/index.stories.js +21 -0
  36. package/dist/components/common/Arrow/palette.d.ts +6 -0
  37. package/dist/components/common/Arrow/palette.js +14 -0
  38. package/dist/components/common/BgCard/index.d.ts +6 -0
  39. package/dist/components/common/BgCard/index.js +23 -0
  40. package/dist/components/common/BgCard/index.stories.d.ts +5 -0
  41. package/dist/components/common/BgCard/index.stories.js +21 -0
  42. package/dist/components/common/BgCard/palette.d.ts +5 -0
  43. package/dist/components/common/BgCard/palette.js +11 -0
  44. package/dist/components/common/BgCard/styles.d.ts +6 -0
  45. package/dist/components/common/BgCard/styles.js +21 -0
  46. package/dist/components/common/Calendar/docs.stories.d.ts +6 -0
  47. package/dist/components/common/Calendar/docs.stories.js +21 -0
  48. package/dist/components/common/Calendar/index.d.ts +16 -0
  49. package/dist/components/common/Calendar/index.js +47 -0
  50. package/dist/components/common/Calendar/index.stories.d.ts +7 -0
  51. package/dist/components/common/Calendar/index.stories.js +78 -0
  52. package/dist/components/common/Calendar/palette.d.ts +10 -0
  53. package/dist/components/common/Calendar/palette.js +18 -0
  54. package/dist/components/common/Calendar/styles.d.ts +12 -0
  55. package/dist/components/common/Calendar/styles.js +33 -0
  56. package/dist/components/common/Divider/index.d.ts +6 -0
  57. package/dist/components/common/Divider/index.js +20 -0
  58. package/dist/components/common/Divider/index.stories.d.ts +6 -0
  59. package/dist/components/common/Divider/index.stories.js +14 -0
  60. package/dist/components/common/Divider/palette.d.ts +5 -0
  61. package/dist/components/common/Divider/palette.js +11 -0
  62. package/dist/components/common/Divider/styles.d.ts +5 -0
  63. package/dist/components/common/Divider/styles.js +15 -0
  64. package/dist/components/common/Drawer/index.d.ts +14 -0
  65. package/dist/components/common/Drawer/index.js +43 -0
  66. package/dist/components/common/Drawer/index.stories.d.ts +7 -0
  67. package/dist/components/common/Drawer/index.stories.js +69 -0
  68. package/dist/components/common/Drawer/palette.d.ts +8 -0
  69. package/dist/components/common/Drawer/palette.js +21 -0
  70. package/dist/components/common/Drawer/styles.d.ts +57 -0
  71. package/dist/components/common/Drawer/styles.js +44 -0
  72. package/dist/components/common/Dropdown/index.d.ts +14 -0
  73. package/dist/components/common/Dropdown/index.js +117 -0
  74. package/dist/components/common/Dropdown/index.stories.d.ts +6 -0
  75. package/dist/components/common/Dropdown/index.stories.js +59 -0
  76. package/dist/components/common/Dropdown/palette.d.ts +6 -0
  77. package/dist/components/common/Dropdown/palette.js +14 -0
  78. package/dist/components/common/Dropdown/styles.d.ts +14 -0
  79. package/dist/components/common/Dropdown/styles.js +47 -0
  80. package/dist/components/common/EntityAutocompleteOptionsDrawer/index.d.ts +17 -0
  81. package/dist/components/common/EntityAutocompleteOptionsDrawer/index.js +62 -0
  82. package/dist/components/common/EntityAutocompleteOptionsDrawer/index.stories.d.ts +12 -0
  83. package/dist/components/common/EntityAutocompleteOptionsDrawer/index.stories.js +99 -0
  84. package/dist/components/common/EntityAutocompleteOptionsDrawer/palette.d.ts +5 -0
  85. package/dist/components/common/EntityAutocompleteOptionsDrawer/palette.js +13 -0
  86. package/dist/components/common/EntityAutocompleteOptionsDrawer/styles.d.ts +45 -0
  87. package/dist/components/common/EntityAutocompleteOptionsDrawer/styles.js +36 -0
  88. package/dist/components/common/Flag/components/ArmFlag/index.d.ts +1 -0
  89. package/dist/components/common/Flag/components/ArmFlag/index.js +30 -0
  90. package/dist/components/common/Flag/components/ArmFlag/index.stories.d.ts +5 -0
  91. package/dist/components/common/Flag/components/ArmFlag/index.stories.js +14 -0
  92. package/dist/components/common/Flag/components/AzeFlag/index.d.ts +1 -0
  93. package/dist/components/common/Flag/components/AzeFlag/index.js +40 -0
  94. package/dist/components/common/Flag/components/AzeFlag/index.stories.d.ts +5 -0
  95. package/dist/components/common/Flag/components/AzeFlag/index.stories.js +14 -0
  96. package/dist/components/common/Flag/components/BlrFlag/index.d.ts +1 -0
  97. package/dist/components/common/Flag/components/BlrFlag/index.js +35 -0
  98. package/dist/components/common/Flag/components/BlrFlag/index.stories.d.ts +5 -0
  99. package/dist/components/common/Flag/components/BlrFlag/index.stories.js +14 -0
  100. package/dist/components/common/Flag/components/ChnFlag/index.d.ts +1 -0
  101. package/dist/components/common/Flag/components/ChnFlag/index.js +32 -0
  102. package/dist/components/common/Flag/components/ChnFlag/index.stories.d.ts +5 -0
  103. package/dist/components/common/Flag/components/ChnFlag/index.stories.js +14 -0
  104. package/dist/components/common/Flag/components/EngFlag/index.d.ts +1 -0
  105. package/dist/components/common/Flag/components/EngFlag/index.js +54 -0
  106. package/dist/components/common/Flag/components/EngFlag/index.stories.d.ts +5 -0
  107. package/dist/components/common/Flag/components/EngFlag/index.stories.js +14 -0
  108. package/dist/components/common/Flag/components/EspFlag/index.d.ts +1 -0
  109. package/dist/components/common/Flag/components/EspFlag/index.js +86 -0
  110. package/dist/components/common/Flag/components/EspFlag/index.stories.d.ts +5 -0
  111. package/dist/components/common/Flag/components/EspFlag/index.stories.js +14 -0
  112. package/dist/components/common/Flag/components/KazFlag/index.d.ts +1 -0
  113. package/dist/components/common/Flag/components/KazFlag/index.js +35 -0
  114. package/dist/components/common/Flag/components/KazFlag/index.stories.d.ts +5 -0
  115. package/dist/components/common/Flag/components/KazFlag/index.stories.js +14 -0
  116. package/dist/components/common/Flag/components/KgzFlag/index.d.ts +1 -0
  117. package/dist/components/common/Flag/components/KgzFlag/index.js +32 -0
  118. package/dist/components/common/Flag/components/KgzFlag/index.stories.d.ts +5 -0
  119. package/dist/components/common/Flag/components/KgzFlag/index.stories.js +14 -0
  120. package/dist/components/common/Flag/components/MdaFlag/index.d.ts +1 -0
  121. package/dist/components/common/Flag/components/MdaFlag/index.js +52 -0
  122. package/dist/components/common/Flag/components/MdaFlag/index.stories.d.ts +5 -0
  123. package/dist/components/common/Flag/components/MdaFlag/index.stories.js +14 -0
  124. package/dist/components/common/Flag/components/RusFlag/index.d.ts +1 -0
  125. package/dist/components/common/Flag/components/RusFlag/index.js +32 -0
  126. package/dist/components/common/Flag/components/RusFlag/index.stories.d.ts +5 -0
  127. package/dist/components/common/Flag/components/RusFlag/index.stories.js +14 -0
  128. package/dist/components/common/Flag/components/TjkFlag/index.d.ts +1 -0
  129. package/dist/components/common/Flag/components/TjkFlag/index.js +37 -0
  130. package/dist/components/common/Flag/components/TjkFlag/index.stories.d.ts +5 -0
  131. package/dist/components/common/Flag/components/TjkFlag/index.stories.js +14 -0
  132. package/dist/components/common/Flag/components/UnknownFlag/index.d.ts +1 -0
  133. package/dist/components/common/Flag/components/UnknownFlag/index.js +26 -0
  134. package/dist/components/common/Flag/components/UnknownFlag/index.stories.d.ts +5 -0
  135. package/dist/components/common/Flag/components/UnknownFlag/index.stories.js +14 -0
  136. package/dist/components/common/Flag/components/UzbFlag/index.d.ts +1 -0
  137. package/dist/components/common/Flag/components/UzbFlag/index.js +43 -0
  138. package/dist/components/common/Flag/components/UzbFlag/index.stories.d.ts +5 -0
  139. package/dist/components/common/Flag/components/UzbFlag/index.stories.js +14 -0
  140. package/dist/components/common/Flag/index.d.ts +11 -0
  141. package/dist/components/common/Flag/index.js +49 -0
  142. package/dist/components/common/Flag/index.stories.d.ts +6 -0
  143. package/dist/components/common/Flag/index.stories.js +22 -0
  144. package/dist/components/common/Flag/styles.d.ts +4 -0
  145. package/dist/components/common/Flag/styles.js +19 -0
  146. package/dist/components/common/InvoiceboxLoader/assets/loader.json +1 -0
  147. package/dist/components/common/InvoiceboxLoader/index.js +3 -2
  148. package/dist/components/common/InvoiceboxLogo/components/LogoDarkRu.d.ts +6 -0
  149. package/dist/components/common/InvoiceboxLogo/components/LogoDarkRu.js +51 -0
  150. package/dist/components/common/InvoiceboxLogo/index.d.ts +5 -0
  151. package/dist/components/common/InvoiceboxLogo/index.js +15 -0
  152. package/dist/components/common/InvoiceboxLogo/index.stories.d.ts +10 -0
  153. package/dist/components/common/InvoiceboxLogo/index.stories.js +18 -0
  154. package/dist/components/common/InvoiceboxSpinner/index.d.ts +7 -0
  155. package/dist/components/common/InvoiceboxSpinner/index.js +39 -0
  156. package/dist/components/common/InvoiceboxSpinner/index.stories.d.ts +10 -0
  157. package/dist/components/common/InvoiceboxSpinner/index.stories.js +18 -0
  158. package/dist/components/common/InvoiceboxSpinner/palette.d.ts +6 -0
  159. package/dist/components/common/InvoiceboxSpinner/palette.js +12 -0
  160. package/dist/components/common/InvoiceboxSpinner/styles.d.ts +4 -0
  161. package/dist/components/common/InvoiceboxSpinner/styles.js +19 -0
  162. package/dist/components/common/QRCode/index.d.ts +9 -0
  163. package/dist/components/common/QRCode/index.js +27 -0
  164. package/dist/components/common/QRCode/index.stories.d.ts +5 -0
  165. package/dist/components/common/QRCode/index.stories.js +19 -0
  166. package/dist/components/common/Scrollbar/index.d.ts +6 -0
  167. package/dist/components/common/Scrollbar/index.js +70 -0
  168. package/dist/components/common/Scrollbar/index.stories.d.ts +13 -0
  169. package/dist/components/common/Scrollbar/index.stories.js +47 -0
  170. package/dist/components/common/Scrollbar/palette.d.ts +5 -0
  171. package/dist/components/common/Scrollbar/palette.js +11 -0
  172. package/dist/components/common/SecondaryButton/index.d.ts +17 -0
  173. package/dist/components/common/SecondaryButton/index.js +54 -0
  174. package/dist/components/common/SecondaryButton/index.stories.d.ts +11 -0
  175. package/dist/components/common/SecondaryButton/index.stories.js +39 -0
  176. package/dist/components/common/SecondaryButton/palette.d.ts +8 -0
  177. package/dist/components/common/SecondaryButton/palette.js +14 -0
  178. package/dist/components/common/SecondaryButton/styles.d.ts +49 -0
  179. package/dist/components/common/SecondaryButton/styles.js +52 -0
  180. package/dist/components/common/Skeleton/index.d.ts +2 -0
  181. package/dist/components/common/Skeleton/index.js +11 -5
  182. package/dist/components/common/Skeleton/index.stories.d.ts +2 -2
  183. package/dist/components/common/Skeleton/index.stories.js +4 -2
  184. package/dist/components/common/Skeleton/palette.d.ts +6 -0
  185. package/dist/components/common/Skeleton/palette.js +12 -0
  186. package/dist/components/common/Skeleton/styles.d.ts +7 -3
  187. package/dist/components/common/Skeleton/styles.js +15 -3
  188. package/dist/components/common/Toast/docs.stories.d.ts +6 -0
  189. package/dist/components/common/Toast/docs.stories.js +21 -0
  190. package/dist/components/common/Toast/index.d.ts +6 -0
  191. package/dist/components/common/Toast/index.js +35 -0
  192. package/dist/components/common/Toast/index.stories.d.ts +11 -0
  193. package/dist/components/common/Toast/index.stories.js +29 -0
  194. package/dist/components/common/Toast/palette.d.ts +7 -0
  195. package/dist/components/common/Toast/palette.js +13 -0
  196. package/dist/components/common/Toast/styles.d.ts +7 -0
  197. package/dist/components/common/Toast/styles.js +24 -0
  198. package/dist/components/common/Typography/index.d.ts +25 -0
  199. package/dist/components/common/Typography/index.js +33 -0
  200. package/dist/components/common/Typography/index.stories.d.ts +11 -0
  201. package/dist/components/common/Typography/index.stories.js +36 -0
  202. package/dist/components/common/Typography/styles.d.ts +5 -0
  203. package/dist/components/common/Typography/styles.js +16 -0
  204. package/dist/components/common/Typography/typography.d.ts +21 -0
  205. package/dist/components/common/Typography/typography.js +29 -0
  206. package/dist/components/common/WarningIcon/components/Icon.d.ts +6 -0
  207. package/dist/components/common/WarningIcon/components/Icon.js +22 -0
  208. package/dist/components/common/WarningIcon/index.d.ts +7 -0
  209. package/dist/components/common/WarningIcon/index.js +23 -0
  210. package/dist/components/common/WarningIcon/index.stories.d.ts +5 -0
  211. package/dist/components/common/WarningIcon/index.stories.js +14 -0
  212. package/dist/components/common/WarningIcon/palette.d.ts +5 -0
  213. package/dist/components/common/WarningIcon/palette.js +11 -0
  214. package/dist/components/common/WarningIcon/styles.d.ts +10 -0
  215. package/dist/components/common/WarningIcon/styles.js +22 -0
  216. package/dist/components/common/_helpers/selectOptions.d.ts +4 -0
  217. package/dist/components/common/_helpers/selectOptions.js +43 -0
  218. package/dist/components/form/Autocomplete/components/Autocomplete/index.d.ts +29 -0
  219. package/dist/components/form/Autocomplete/components/Autocomplete/index.js +120 -0
  220. package/dist/components/form/Autocomplete/components/Autocomplete/index.stories.d.ts +8 -0
  221. package/dist/components/form/Autocomplete/components/Autocomplete/index.stories.js +63 -0
  222. package/dist/components/form/Autocomplete/components/Autocomplete/styles.d.ts +6 -0
  223. package/dist/components/form/Autocomplete/components/Autocomplete/styles.js +28 -0
  224. package/dist/components/form/Autocomplete/components/AutocompleteDefaultOption/index.d.ts +5 -0
  225. package/dist/components/form/Autocomplete/components/AutocompleteDefaultOption/index.js +28 -0
  226. package/dist/components/form/Autocomplete/components/AutocompleteDefaultOption/index.stories.d.ts +5 -0
  227. package/dist/components/form/Autocomplete/components/AutocompleteDefaultOption/index.stories.js +24 -0
  228. package/dist/components/form/Autocomplete/components/AutocompleteDefaultOption/palette.d.ts +5 -0
  229. package/dist/components/form/Autocomplete/components/AutocompleteDefaultOption/palette.js +13 -0
  230. package/dist/components/form/Autocomplete/components/OrganizationAutocompleteItem/index.d.ts +11 -0
  231. package/dist/components/form/Autocomplete/components/OrganizationAutocompleteItem/index.js +48 -0
  232. package/dist/components/form/Autocomplete/components/OrganizationAutocompleteItem/index.stories.d.ts +6 -0
  233. package/dist/components/form/Autocomplete/components/OrganizationAutocompleteItem/index.stories.js +27 -0
  234. package/dist/components/form/Autocomplete/components/OrganizationAutocompleteItem/palette.d.ts +7 -0
  235. package/dist/components/form/Autocomplete/components/OrganizationAutocompleteItem/palette.js +15 -0
  236. package/dist/components/form/Autocomplete/components/OrganizationAutocompleteItem/styles.d.ts +230 -0
  237. package/dist/components/form/Autocomplete/components/OrganizationAutocompleteItem/styles.js +52 -0
  238. package/dist/components/form/Autocomplete/index.d.ts +4 -0
  239. package/dist/components/form/Autocomplete/index.js +26 -0
  240. package/dist/components/form/CountrySelect/components/CountryItem/index.d.ts +13 -0
  241. package/dist/components/form/CountrySelect/components/CountryItem/index.js +41 -0
  242. package/dist/components/form/CountrySelect/components/CountryItem/index.stories.d.ts +5 -0
  243. package/dist/components/form/CountrySelect/components/CountryItem/index.stories.js +36 -0
  244. package/dist/components/form/CountrySelect/components/CountryItem/stlyes.d.ts +9 -0
  245. package/dist/components/form/CountrySelect/components/CountryItem/stlyes.js +31 -0
  246. package/dist/components/form/CountrySelect/index.d.ts +22 -0
  247. package/dist/components/form/CountrySelect/index.js +122 -0
  248. package/dist/components/form/CountrySelect/index.stories.d.ts +5 -0
  249. package/dist/components/form/CountrySelect/index.stories.js +57 -0
  250. package/dist/components/form/CountrySelect/logic.d.ts +5 -0
  251. package/dist/components/form/CountrySelect/logic.js +24 -0
  252. package/dist/components/form/CountrySelect/palette.d.ts +9 -0
  253. package/dist/components/form/CountrySelect/palette.js +17 -0
  254. package/dist/components/form/CountrySelect/stlyes.d.ts +8 -0
  255. package/dist/components/form/CountrySelect/stlyes.js +27 -0
  256. package/dist/components/form/DateInput/components/Icon/index.d.ts +1 -0
  257. package/dist/components/form/DateInput/components/Icon/index.js +33 -0
  258. package/dist/components/form/DateInput/components/Icon/index.stories.d.ts +5 -0
  259. package/dist/components/form/DateInput/components/Icon/index.stories.js +14 -0
  260. package/dist/components/form/DateInput/docs.stories.d.ts +6 -0
  261. package/dist/components/form/DateInput/docs.stories.js +21 -0
  262. package/dist/components/form/DateInput/index.d.ts +9 -0
  263. package/dist/components/form/DateInput/index.js +111 -0
  264. package/dist/components/form/DateInput/index.stories.d.ts +6 -0
  265. package/dist/components/form/DateInput/index.stories.js +51 -0
  266. package/dist/components/form/DateInput/logic.d.ts +10 -0
  267. package/dist/components/form/DateInput/logic.js +70 -0
  268. package/dist/components/form/DateInput/palette.d.ts +5 -0
  269. package/dist/components/form/DateInput/palette.js +11 -0
  270. package/dist/components/form/DateInput/styles.d.ts +8 -0
  271. package/dist/components/form/DateInput/styles.js +28 -0
  272. package/dist/components/form/InputLabel/index.d.ts +8 -0
  273. package/dist/components/form/InputLabel/index.js +31 -0
  274. package/dist/components/form/InputLabel/index.stories.d.ts +5 -0
  275. package/dist/components/form/InputLabel/index.stories.js +33 -0
  276. package/dist/components/form/InputLabel/palette.d.ts +7 -0
  277. package/dist/components/form/InputLabel/palette.js +13 -0
  278. package/dist/components/form/InputLabel/styles.d.ts +47 -0
  279. package/dist/components/form/InputLabel/styles.js +36 -0
  280. package/dist/components/form/PhoneInput/constants.d.ts +3 -0
  281. package/dist/components/form/PhoneInput/constants.js +73 -0
  282. package/dist/components/form/PhoneInput/externalPhoneLogic.d.ts +7 -0
  283. package/dist/components/form/PhoneInput/externalPhoneLogic.js +37 -0
  284. package/dist/components/form/PhoneInput/hooks/useValidateInitialValue.d.ts +4 -0
  285. package/dist/components/form/PhoneInput/hooks/useValidateInitialValue.js +41 -0
  286. package/dist/components/form/PhoneInput/index.d.ts +24 -0
  287. package/dist/components/form/PhoneInput/index.js +182 -0
  288. package/dist/components/form/PhoneInput/index.stories.d.ts +7 -0
  289. package/dist/components/form/PhoneInput/index.stories.js +114 -0
  290. package/dist/components/form/PhoneInput/phoneInputLogic.d.ts +30 -0
  291. package/dist/components/form/PhoneInput/phoneInputLogic.js +139 -0
  292. package/dist/components/form/PhoneInput/styles.d.ts +4 -0
  293. package/dist/components/form/PhoneInput/styles.js +20 -0
  294. package/dist/components/form/PhoneInput/types.d.ts +18 -0
  295. package/dist/components/form/PhoneInput/types.js +9 -0
  296. package/dist/components/form/PositiveIntegerInput/hooks/useFilters.d.ts +6 -0
  297. package/dist/components/form/PositiveIntegerInput/hooks/useFilters.js +21 -0
  298. package/dist/components/form/PositiveIntegerInput/hooks/useIncrement.d.ts +4 -0
  299. package/dist/components/form/PositiveIntegerInput/hooks/useIncrement.js +22 -0
  300. package/dist/components/form/PositiveIntegerInput/hooks/useIncrementDisabledFlags.d.ts +9 -0
  301. package/dist/components/form/PositiveIntegerInput/hooks/useIncrementDisabledFlags.js +24 -0
  302. package/dist/components/form/PositiveIntegerInput/hooks/useNormalizers.d.ts +4 -0
  303. package/dist/components/form/PositiveIntegerInput/hooks/useNormalizers.js +22 -0
  304. package/dist/components/form/PositiveIntegerInput/index.d.ts +10 -0
  305. package/dist/components/form/PositiveIntegerInput/index.js +94 -0
  306. package/dist/components/form/PositiveIntegerInput/index.stories.d.ts +5 -0
  307. package/dist/components/form/PositiveIntegerInput/index.stories.js +49 -0
  308. package/dist/components/form/PositiveIntegerInput/styles.d.ts +6 -0
  309. package/dist/components/form/PositiveIntegerInput/styles.js +25 -0
  310. package/dist/components/form/PureInput/index.d.ts +21 -0
  311. package/dist/components/form/PureInput/index.js +50 -0
  312. package/dist/components/form/PureInput/index.stories.d.ts +5 -0
  313. package/dist/components/form/PureInput/index.stories.js +23 -0
  314. package/dist/components/form/PureInput/palette.d.ts +10 -0
  315. package/dist/components/form/PureInput/palette.js +18 -0
  316. package/dist/components/form/PureInput/styles.d.ts +48 -0
  317. package/dist/components/form/PureInput/styles.js +40 -0
  318. package/dist/components/form/SearchInput/components/CrossIcon/index.d.ts +1 -0
  319. package/dist/components/form/SearchInput/components/CrossIcon/index.js +23 -0
  320. package/dist/components/form/SearchInput/components/CrossIcon/index.stories.d.ts +5 -0
  321. package/dist/components/form/SearchInput/components/CrossIcon/index.stories.js +14 -0
  322. package/dist/components/form/SearchInput/components/SearchIcon/index.d.ts +1 -0
  323. package/dist/components/form/SearchInput/components/SearchIcon/index.js +24 -0
  324. package/dist/components/form/SearchInput/components/SearchIcon/index.stories.d.ts +5 -0
  325. package/dist/components/form/SearchInput/components/SearchIcon/index.stories.js +14 -0
  326. package/dist/components/form/SearchInput/index.d.ts +10 -0
  327. package/dist/components/form/SearchInput/index.js +61 -0
  328. package/dist/components/form/SearchInput/index.stories.d.ts +5 -0
  329. package/dist/components/form/SearchInput/index.stories.js +41 -0
  330. package/dist/components/form/SearchInput/palette.d.ts +5 -0
  331. package/dist/components/form/SearchInput/palette.js +11 -0
  332. package/dist/components/form/SearchInput/styles.d.ts +7 -0
  333. package/dist/components/form/SearchInput/styles.js +25 -0
  334. package/dist/components/form/Select/components/Input/index.d.ts +6 -0
  335. package/dist/components/form/Select/components/Input/index.js +42 -0
  336. package/dist/components/form/Select/components/Input/index.stories.d.ts +5 -0
  337. package/dist/components/form/Select/components/Input/index.stories.js +27 -0
  338. package/dist/components/form/Select/components/Input/styles.d.ts +3 -0
  339. package/dist/components/form/Select/components/Input/styles.js +16 -0
  340. package/dist/components/form/Select/hooks/useOptionGroups.d.ts +5 -0
  341. package/dist/components/form/Select/hooks/useOptionGroups.js +33 -0
  342. package/dist/components/form/Select/index.d.ts +17 -0
  343. package/dist/components/form/Select/index.js +138 -0
  344. package/dist/components/form/Select/index.stories.d.ts +5 -0
  345. package/dist/components/form/Select/index.stories.js +96 -0
  346. package/dist/components/form/Select/palette.d.ts +5 -0
  347. package/dist/components/form/Select/palette.js +13 -0
  348. package/dist/components/form/Select/styles.d.ts +82 -0
  349. package/dist/components/form/Select/styles.js +37 -0
  350. package/dist/components/form/TextInput/index.d.ts +12 -0
  351. package/dist/components/form/TextInput/index.js +61 -0
  352. package/dist/components/form/TextInput/index.stories.d.ts +5 -0
  353. package/dist/components/form/TextInput/index.stories.js +50 -0
  354. package/dist/components/form/TextInput/styles.d.ts +3 -0
  355. package/dist/components/form/TextInput/styles.js +16 -0
  356. package/dist/components/form/constants.d.ts +5 -0
  357. package/dist/components/form/constants.js +16 -0
  358. package/dist/components/payment/PaymentCard/components/DefaultLogo.d.ts +1 -0
  359. package/dist/components/payment/PaymentCard/components/DefaultLogo.js +28 -0
  360. package/dist/components/payment/PaymentCard/components/SelectedRadioIcon.d.ts +7 -0
  361. package/dist/components/payment/PaymentCard/components/SelectedRadioIcon.js +28 -0
  362. package/dist/components/payment/PaymentCard/components/UnselectedRadioIcon.d.ts +6 -0
  363. package/dist/components/payment/PaymentCard/components/UnselectedRadioIcon.js +24 -0
  364. package/dist/components/payment/PaymentCard/index.d.ts +12 -0
  365. package/dist/components/payment/PaymentCard/index.js +50 -0
  366. package/dist/components/payment/PaymentCard/index.stories.d.ts +9 -0
  367. package/dist/components/payment/PaymentCard/index.stories.js +61 -0
  368. package/dist/components/payment/PaymentCard/palette.d.ts +14 -0
  369. package/dist/components/payment/PaymentCard/palette.js +22 -0
  370. package/dist/components/payment/PaymentCard/styles.d.ts +95 -0
  371. package/dist/components/payment/PaymentCard/styles.js +67 -0
  372. package/dist/hooks/useCss/index.d.ts +6 -0
  373. package/dist/hooks/useCss/index.js +31 -0
  374. package/dist/hooks/useCss/index.stories.d.ts +4 -0
  375. package/dist/hooks/useCss/index.stories.js +41 -0
  376. package/dist/hooks/useInputFocus/index.d.ts +11 -0
  377. package/dist/hooks/useInputFocus/index.js +37 -0
  378. package/dist/hooks/useInputFocus/index.stories.d.ts +4 -0
  379. package/dist/hooks/useInputFocus/index.stories.js +31 -0
  380. package/dist/hooks/useMedia/index.d.ts +4 -0
  381. package/dist/hooks/useMedia/index.js +28 -0
  382. package/dist/hooks/useMedia/index.stories.d.ts +4 -0
  383. package/dist/hooks/useMedia/index.stories.js +25 -0
  384. package/dist/hooks/useOutsideClick/index.d.ts +2 -0
  385. package/dist/hooks/useOutsideClick/index.js +22 -0
  386. package/dist/hooks/useOutsideClick/index.stories.d.ts +4 -0
  387. package/dist/hooks/useOutsideClick/index.stories.js +29 -0
  388. package/dist/hooks/useUnupdatableHandler/index.d.ts +1 -0
  389. package/dist/hooks/useUnupdatableHandler/index.js +16 -0
  390. package/dist/hooks/useUnupdatableHandler/index.stories.d.ts +4 -0
  391. package/dist/hooks/useUnupdatableHandler/index.stories.js +48 -0
  392. package/dist/index.d.ts +51 -0
  393. package/dist/index.js +294 -1
  394. package/dist/palette/colors.stories.d.ts +4 -0
  395. package/dist/palette/colors.stories.js +43 -0
  396. package/dist/palette/constants.d.ts +2 -0
  397. package/dist/palette/constants.js +18 -0
  398. package/dist/palette/context.d.ts +49 -0
  399. package/dist/palette/context.js +54 -0
  400. package/dist/palette/index.d.ts +4 -0
  401. package/dist/palette/index.js +26 -0
  402. package/dist/palette/index.stories.d.ts +4 -0
  403. package/dist/palette/index.stories.js +85 -0
  404. package/dist/palette/provider.d.ts +10 -0
  405. package/dist/palette/provider.js +79 -0
  406. package/dist/palette/types.d.ts +12 -0
  407. package/dist/palette/types.js +1 -0
  408. package/dist/palette/useComponentPalette.d.ts +2 -0
  409. package/dist/palette/useComponentPalette.js +22 -0
  410. package/dist/palette/usePalette.d.ts +24 -0
  411. package/dist/palette/usePalette.js +11 -0
  412. package/dist/utils/transformColorByHsl.d.ts +7 -0
  413. package/dist/utils/transformColorByHsl.js +18 -0
  414. package/package.json +19 -8
@@ -0,0 +1,182 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.PhoneInput = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _reactInputMask = _interopRequireDefault(require("@mona-health/react-input-mask"));
10
+ var S = _interopRequireWildcard(require("./styles"));
11
+ var _phoneInputLogic = require("./phoneInputLogic");
12
+ var _useValidateInitialValue = require("./hooks/useValidateInitialValue");
13
+ var _types = require("./types");
14
+ var _useInputFocus2 = require("../../../hooks/useInputFocus");
15
+ var _InputLabel = require("../InputLabel");
16
+ var _PureInput = require("../PureInput");
17
+ var _CountrySelect = require("../CountrySelect");
18
+ var _useMedia = require("../../../hooks/useMedia");
19
+ var _constants = require("../constants");
20
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
21
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
22
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
23
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
24
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
25
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
26
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
27
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
28
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
29
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
30
+ var PhoneInput = exports.PhoneInput = function PhoneInput(_ref) {
31
+ var onBlur = _ref.onBlur,
32
+ name = _ref.name,
33
+ onFocus = _ref.onFocus,
34
+ countrySelectProps = _ref.countrySelectProps,
35
+ value = _ref.value,
36
+ onChange = _ref.onChange,
37
+ hasError = _ref.hasError,
38
+ label = _ref.label,
39
+ disabled = _ref.disabled,
40
+ id = _ref.id,
41
+ countries = _ref.countries,
42
+ onCountryChange = _ref.onCountryChange,
43
+ pureInputProps = _ref.pureInputProps,
44
+ _ref$size = _ref.size,
45
+ size = _ref$size === void 0 ? 'L' : _ref$size;
46
+ var inputRef = (0, _react.useRef)();
47
+ var isMobile = (0, _useMedia.useMobile)();
48
+ var countrySelectOptions = (0, _react.useMemo)(function () {
49
+ return _phoneInputLogic.phoneInputLogic.getCountriesSelectOptions(countries);
50
+ }, [countries]);
51
+ var isHaveSelectCountries = (0, _react.useMemo)(function () {
52
+ return _phoneInputLogic.phoneInputLogic.getIsHaveCountriesSelectOptions(countrySelectOptions);
53
+ }, [countrySelectOptions]);
54
+ var currentCountriesPhoneRules = (0, _react.useMemo)(function () {
55
+ return _phoneInputLogic.phoneInputLogic.getCountriesPhoneRulesBySelectOptions(countrySelectOptions);
56
+ }, [countrySelectOptions]);
57
+ var _useInputFocus = (0, _useInputFocus2.useInputFocus)({
58
+ onFocus: onFocus,
59
+ onBlur: onBlur
60
+ }),
61
+ inFocus = _useInputFocus.inFocus,
62
+ focusHandler = _useInputFocus.handleFocus,
63
+ blurHandler = _useInputFocus.handleBlur;
64
+ var _useState = (0, _react.useState)(false),
65
+ _useState2 = _slicedToArray(_useState, 2),
66
+ isHaveInputError = _useState2[0],
67
+ setIsHaveInputError = _useState2[1];
68
+ var _useState3 = (0, _react.useState)(true),
69
+ _useState4 = _slicedToArray(_useState3, 2),
70
+ isFirstBlur = _useState4[0],
71
+ setIsFirstBlur = _useState4[1];
72
+ var _useState5 = (0, _react.useState)(value),
73
+ _useState6 = _slicedToArray(_useState5, 2),
74
+ inputValue = _useState6[0],
75
+ setInputValue = _useState6[1];
76
+ var _useState7 = (0, _react.useState)(_types.RUS_COUNTRY_CODE),
77
+ _useState8 = _slicedToArray(_useState7, 2),
78
+ country = _useState8[0],
79
+ setCountry = _useState8[1];
80
+ var handleChangeCountry = (0, _react.useCallback)(function (countryCode) {
81
+ setCountry(countryCode);
82
+ if (onCountryChange) {
83
+ onCountryChange(countryCode);
84
+ }
85
+ }, [onCountryChange]);
86
+ var handleInitialValid = (0, _react.useCallback)(function (currentInputValue, countryCode) {
87
+ onChange(currentInputValue);
88
+ setIsHaveInputError(false);
89
+ setCountry(countryCode);
90
+ }, [onChange]);
91
+ var handleInitialUnValid = (0, _react.useCallback)(function (countryCode) {
92
+ onChange('');
93
+ setIsHaveInputError(true);
94
+ setCountry(countryCode);
95
+ }, [onChange]);
96
+ (0, _useValidateInitialValue.useValidateInitialValue)(value, currentCountriesPhoneRules, handleInitialValid, handleInitialUnValid);
97
+ var getNewCountryByInputValue = (0, _react.useCallback)(function (currentValue) {
98
+ var currentCountry = currentCountriesPhoneRules[country];
99
+ var newCountry = Object.entries(currentCountriesPhoneRules).find(function (item) {
100
+ return _phoneInputLogic.phoneInputLogic.getIsHaveStartSequenceInString(currentValue, item[1].startSubsequence);
101
+ });
102
+ var isNeedChangeCountry = _phoneInputLogic.phoneInputLogic.getIsNeedChangeCountry(currentValue, currentCountry, newCountry);
103
+ var isNeedAndCanChangeCountry = isNeedChangeCountry && !!newCountry;
104
+ if (isNeedAndCanChangeCountry) {
105
+ handleChangeCountry(newCountry[0]);
106
+ }
107
+ return isNeedAndCanChangeCountry ? newCountry[1] : currentCountry;
108
+ }, [country, currentCountriesPhoneRules, handleChangeCountry]);
109
+ var getIsValidValue = (0, _react.useCallback)(function (currentValue) {
110
+ var currentCountry = getNewCountryByInputValue(currentValue);
111
+ return _phoneInputLogic.phoneInputLogic.getIsValidPhoneInputByCountry(currentValue, currentCountry);
112
+ }, [getNewCountryByInputValue]);
113
+ var handleInputValueChange = (0, _react.useCallback)(function (currentInputValue, event) {
114
+ var notFormattedValue = _phoneInputLogic.phoneInputLogic.getOnlyNumbersFromString(currentInputValue);
115
+ var moveCaret = event ? _phoneInputLogic.phoneInputLogic.moveCaretByValue(event) : undefined;
116
+ var intermediateValue = country === _types.RUS_COUNTRY_CODE ? _phoneInputLogic.phoneInputLogic.formatRusPhoneToUnifiedView(notFormattedValue, moveCaret) : notFormattedValue;
117
+ var isValidInputValue = getIsValidValue(intermediateValue);
118
+ setIsHaveInputError(!isValidInputValue);
119
+ onChange(isValidInputValue ? intermediateValue : '');
120
+ setInputValue(intermediateValue);
121
+ }, [country, getIsValidValue, onChange]);
122
+ var handleChange = (0, _react.useCallback)(function (event) {
123
+ handleInputValueChange(event.target.value, event);
124
+ }, [handleInputValueChange]);
125
+ var handleBlur = (0, _react.useCallback)(function (event) {
126
+ blurHandler(event);
127
+ if (isFirstBlur) {
128
+ setIsFirstBlur(false);
129
+ }
130
+ }, [isFirstBlur, blurHandler]);
131
+ var handleCountryChange = (0, _react.useCallback)(function (countryValue) {
132
+ handleChangeCountry(countryValue);
133
+ var currentCountry = currentCountriesPhoneRules[countryValue];
134
+ var isValidInputValue = _phoneInputLogic.phoneInputLogic.getIsValidPhoneInputByCountry(inputValue, currentCountry);
135
+ setIsFirstBlur(false);
136
+ setIsHaveInputError(!isValidInputValue);
137
+ onChange(isValidInputValue ? inputValue : '');
138
+ setTimeout(function () {
139
+ var _inputRef$current;
140
+ (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus();
141
+ }, 0);
142
+ }, [currentCountriesPhoneRules, handleChangeCountry, inputValue, onChange]);
143
+ var handlePaste = (0, _react.useCallback)(function (event) {
144
+ event.preventDefault();
145
+ var pasteText = event.clipboardData.getData('Text').trim();
146
+ handleInputValueChange(pasteText);
147
+ }, [handleInputValueChange]);
148
+ return /*#__PURE__*/_react["default"].createElement(_InputLabel.InputLabel, {
149
+ inFocus: inFocus,
150
+ label: label,
151
+ disabled: disabled
152
+ }, /*#__PURE__*/_react["default"].createElement(S.InputLabelContent, null, !!(countrySelectOptions !== null && countrySelectOptions !== void 0 && countrySelectOptions.length) && /*#__PURE__*/_react["default"].createElement(S.InputLabelFloatWrapper, null, /*#__PURE__*/_react["default"].createElement(S.CountrySelectWrapper, null, /*#__PURE__*/_react["default"].createElement(_CountrySelect.CountrySelect, {
153
+ minWidth: isMobile ? '100%' : '350px',
154
+ options: countrySelectOptions,
155
+ onChange: handleCountryChange,
156
+ value: country,
157
+ placeholder: (countrySelectProps === null || countrySelectProps === void 0 ? void 0 : countrySelectProps.placeholder) || '',
158
+ positionVertical: 16,
159
+ positionRight: "0",
160
+ positionLeft: "-20px",
161
+ disabled: disabled,
162
+ selectedLabel: (countrySelectProps === null || countrySelectProps === void 0 ? void 0 : countrySelectProps.selectedLabel) || ''
163
+ }))), /*#__PURE__*/_react["default"].createElement(_reactInputMask["default"], {
164
+ value: inputValue,
165
+ onFocus: focusHandler,
166
+ onBlur: handleBlur,
167
+ onChange: handleChange,
168
+ mask: currentCountriesPhoneRules[country].mask,
169
+ maskPlaceholder: null,
170
+ disabled: disabled,
171
+ onPaste: handlePaste,
172
+ placeholder: currentCountriesPhoneRules[country].placeholder,
173
+ ref: inputRef
174
+ }, /*#__PURE__*/_react["default"].createElement(_PureInput.PureInput, _extends({
175
+ id: id,
176
+ hasError: hasError || (isFirstBlur ? false : isHaveInputError),
177
+ inFocus: inFocus,
178
+ name: name,
179
+ paddingLeft: isHaveSelectCountries ? 75 : 18,
180
+ autoComplete: 'off'
181
+ }, _constants.SIZE_PADDING_MAP[size], pureInputProps)))));
182
+ };
@@ -0,0 +1,7 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { TProps, PhoneInput } from '.';
3
+ declare const meta: Meta<typeof PhoneInput>;
4
+ export default meta;
5
+ export declare const MultiCountry: StoryObj<TProps>;
6
+ export declare const MultiCountryWithUnknown: StoryObj<TProps>;
7
+ export declare const DefaultRusCountry: StoryObj<TProps>;
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = exports.MultiCountryWithUnknown = exports.MultiCountry = exports.DefaultRusCountry = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _ = require(".");
10
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
11
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
12
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
14
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
15
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
16
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
17
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
18
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
19
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
20
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
21
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
22
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
23
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
24
+ var meta = {
25
+ title: 'form/PhoneInput',
26
+ component: _.PhoneInput,
27
+ tags: ['autodocs'],
28
+ argTypes: {
29
+ onBlur: {
30
+ action: 'onBlur'
31
+ },
32
+ onFocus: {
33
+ action: 'onFocus'
34
+ },
35
+ onCountryChange: {
36
+ action: 'onCountryChange'
37
+ }
38
+ }
39
+ };
40
+ var _default = exports["default"] = meta;
41
+ var Component = function Component(props) {
42
+ var _useState = (0, _react.useState)('37411800000'),
43
+ _useState2 = _slicedToArray(_useState, 2),
44
+ value = _useState2[0],
45
+ setValue = _useState2[1];
46
+ return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("p", null, "\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435: ", /*#__PURE__*/_react["default"].createElement("span", null, value)), /*#__PURE__*/_react["default"].createElement("div", {
47
+ style: {
48
+ width: 400
49
+ }
50
+ }, /*#__PURE__*/_react["default"].createElement(_.PhoneInput, _extends({}, props, {
51
+ value: value,
52
+ onChange: setValue
53
+ }))));
54
+ };
55
+ var commonProps = {
56
+ disabled: false,
57
+ label: 'Телефон',
58
+ size: 'L'
59
+ };
60
+ var MultiCountry = exports.MultiCountry = {
61
+ args: _objectSpread(_objectSpread({}, commonProps), {}, {
62
+ countries: [{
63
+ label: 'Россия',
64
+ value: 'RUS'
65
+ }, {
66
+ label: 'Армения',
67
+ value: 'ARM'
68
+ }, {
69
+ label: 'Белорусь',
70
+ value: 'BLR'
71
+ }, {
72
+ label: 'Казахстан',
73
+ value: 'KAZ'
74
+ }, {
75
+ label: 'Кыргызстан',
76
+ value: 'KGZ'
77
+ }, {
78
+ label: 'Азербайджан',
79
+ value: 'AZE'
80
+ }, {
81
+ label: 'Такджикистан',
82
+ value: 'TJK'
83
+ }, {
84
+ label: 'Узбекистан',
85
+ value: 'UZB'
86
+ }]
87
+ }),
88
+ render: Component
89
+ };
90
+ var MultiCountryWithUnknown = exports.MultiCountryWithUnknown = {
91
+ args: _objectSpread(_objectSpread({}, commonProps), {}, {
92
+ countries: [{
93
+ label: 'Россия',
94
+ value: 'RUS'
95
+ }, {
96
+ label: 'Казахстан',
97
+ value: 'KAZ'
98
+ }, {
99
+ label: 'Армения',
100
+ value: 'ARM'
101
+ }, {
102
+ label: 'Белорусь',
103
+ value: 'BLR'
104
+ }, {
105
+ label: 'Другая',
106
+ value: 'UNKNOWN'
107
+ }]
108
+ }),
109
+ render: Component
110
+ };
111
+ var DefaultRusCountry = exports.DefaultRusCountry = {
112
+ args: commonProps,
113
+ render: Component
114
+ };
@@ -0,0 +1,30 @@
1
+ import { TCountryRule, TCountrySelectOption, TSupportedCountries } from './types';
2
+ import { ChangeEvent } from 'react';
3
+ declare class PhoneInputLogic {
4
+ private getCaretPositionByRusValue;
5
+ getIsValidPhoneInputByCountry(value: string, country: TCountryRule): boolean;
6
+ getSupportedCountriesByCountryNames(countries?: Array<TSupportedCountries>): ("RUS" | "BLR" | "KAZ" | "AZE" | "ARM" | "KGZ" | "TJK" | "UZB" | "UNKNOWN")[] | undefined;
7
+ getCountriesSelectOptions(countries?: Array<{
8
+ label: string;
9
+ value: TSupportedCountries;
10
+ }>): {
11
+ description: string;
12
+ flag: "RUS" | "BLR" | "KAZ" | "AZE" | "ARM" | "KGZ" | "MDA" | "TJK" | "UZB" | "CHN" | "ENG" | "ESP" | "UNKNOWN";
13
+ label: string;
14
+ value: TSupportedCountries;
15
+ }[] | undefined;
16
+ getIsHaveCountriesSelectOptions(countrySelectOptions?: Array<TCountrySelectOption | TSupportedCountries>): boolean;
17
+ getCountriesPhoneRulesBySelectOptions(countrySelectOptions?: Array<TCountrySelectOption>): {
18
+ [k: string]: TCountryRule;
19
+ };
20
+ getCountriesPhoneRulesByCountryNames(countrySelectOptions?: Array<TSupportedCountries>): {
21
+ [k: string]: TCountryRule;
22
+ };
23
+ getIsHaveStartSequenceInString(value: string, subsequence: string): boolean;
24
+ formatRusPhoneToUnifiedView(value: string, moveCaret?: (positionCaret: number) => void): string;
25
+ getOnlyNumbersFromString(value: string): string;
26
+ moveCaretByValue(event: ChangeEvent<HTMLInputElement>): (positionCaret: number) => void;
27
+ getIsNeedChangeCountry(inputValue: string, currentCountry: TCountryRule, newCountry?: [string, TCountryRule]): boolean | "" | undefined;
28
+ }
29
+ export declare const phoneInputLogic: PhoneInputLogic;
30
+ export {};
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.phoneInputLogic = void 0;
7
+ var _types = require("./types");
8
+ var _constants = require("./constants");
9
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
10
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
11
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
12
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
13
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
14
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
15
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
16
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
17
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
18
+ var PhoneInputLogic = /*#__PURE__*/function () {
19
+ function PhoneInputLogic() {
20
+ _classCallCheck(this, PhoneInputLogic);
21
+ }
22
+ return _createClass(PhoneInputLogic, [{
23
+ key: "getCaretPositionByRusValue",
24
+ value: function getCaretPositionByRusValue(value) {
25
+ var mask = _constants.allCountriesPhoneRules.RUS.mask.split('');
26
+ var counter = 0;
27
+ var position = 0;
28
+ mask.forEach(function (maskItem, index) {
29
+ if (maskItem === _constants.MASK_DIGIT_ITEM) {
30
+ counter += 1;
31
+ if (counter === value.length) {
32
+ position = index + 1;
33
+ }
34
+ }
35
+ });
36
+ return position;
37
+ }
38
+ }, {
39
+ key: "getIsValidPhoneInputByCountry",
40
+ value: function getIsValidPhoneInputByCountry(value, country) {
41
+ return !!value.match(country.regexp);
42
+ }
43
+ }, {
44
+ key: "getSupportedCountriesByCountryNames",
45
+ value: function getSupportedCountriesByCountryNames(countries) {
46
+ return countries === null || countries === void 0 ? void 0 : countries.filter(function (country) {
47
+ return _constants.allCountriesPhoneRules[country];
48
+ });
49
+ }
50
+ }, {
51
+ key: "getCountriesSelectOptions",
52
+ value: function getCountriesSelectOptions(countries) {
53
+ var supportedCountries = countries === null || countries === void 0 ? void 0 : countries.filter(function (country) {
54
+ return _constants.allCountriesPhoneRules[country.value];
55
+ });
56
+ return supportedCountries === null || supportedCountries === void 0 ? void 0 : supportedCountries.map(function (country) {
57
+ var countryRules = _constants.allCountriesPhoneRules[country.value];
58
+ return _objectSpread(_objectSpread({}, country), {}, {
59
+ description: countryRules.startSubsequence ? "+".concat(countryRules.startSubsequence) : '',
60
+ flag: countryRules.flag
61
+ });
62
+ });
63
+ }
64
+ }, {
65
+ key: "getIsHaveCountriesSelectOptions",
66
+ value: function getIsHaveCountriesSelectOptions(countrySelectOptions) {
67
+ return !!(countrySelectOptions !== null && countrySelectOptions !== void 0 && countrySelectOptions.length);
68
+ }
69
+ }, {
70
+ key: "getCountriesPhoneRulesBySelectOptions",
71
+ value: function getCountriesPhoneRulesBySelectOptions(countrySelectOptions) {
72
+ return this.getIsHaveCountriesSelectOptions(countrySelectOptions) ? Object.fromEntries(Object.entries(_constants.allCountriesPhoneRules).filter(function (ruleItem) {
73
+ return countrySelectOptions === null || countrySelectOptions === void 0 ? void 0 : countrySelectOptions.find(function (countrySelectOption) {
74
+ return countrySelectOption.value === ruleItem[0];
75
+ });
76
+ })) : {
77
+ RUS: _constants.allCountriesPhoneRules.RUS
78
+ };
79
+ }
80
+ }, {
81
+ key: "getCountriesPhoneRulesByCountryNames",
82
+ value: function getCountriesPhoneRulesByCountryNames(countrySelectOptions) {
83
+ return this.getIsHaveCountriesSelectOptions(countrySelectOptions) ? Object.fromEntries(Object.entries(_constants.allCountriesPhoneRules).filter(function (ruleItem) {
84
+ return countrySelectOptions === null || countrySelectOptions === void 0 ? void 0 : countrySelectOptions.find(function (countrySelectOption) {
85
+ return countrySelectOption === ruleItem[0];
86
+ });
87
+ })) : {
88
+ RUS: _constants.allCountriesPhoneRules.RUS
89
+ };
90
+ }
91
+ }, {
92
+ key: "getIsHaveStartSequenceInString",
93
+ value: function getIsHaveStartSequenceInString(value, subsequence) {
94
+ return value.startsWith(subsequence);
95
+ }
96
+
97
+ // '8' => '+7', '9' => '+79'
98
+ }, {
99
+ key: "formatRusPhoneToUnifiedView",
100
+ value: function formatRusPhoneToUnifiedView(value, moveCaret) {
101
+ var result = value;
102
+ if (value[0] === '8') {
103
+ result = "7".concat(value.slice(1));
104
+ }
105
+ if (value[0] === '9') {
106
+ var newValue = "79".concat(value.slice(1));
107
+ result = newValue;
108
+ if (moveCaret) {
109
+ // когда пользователь вводит номер с "9", мы подставляем в инпут "79", но каретка не переносится после "9", нужно это делать вручную
110
+ moveCaret(this.getCaretPositionByRusValue(newValue));
111
+ }
112
+ }
113
+ return result;
114
+ }
115
+ }, {
116
+ key: "getOnlyNumbersFromString",
117
+ value: function getOnlyNumbersFromString(value) {
118
+ var _value$match;
119
+ return ((_value$match = value.match(/\d/g)) === null || _value$match === void 0 ? void 0 : _value$match.join('')) || '';
120
+ }
121
+
122
+ // хак для того чтобы сдвигать каретку в случае если при вводе "9" надо заменить на "79", каретка не двигается сама и остаётся между "7" и "9" без этой функции
123
+ }, {
124
+ key: "moveCaretByValue",
125
+ value: function moveCaretByValue(event) {
126
+ return function (positionCaret) {
127
+ setTimeout(function () {
128
+ event.target.setSelectionRange(positionCaret, positionCaret);
129
+ }, 0);
130
+ };
131
+ }
132
+ }, {
133
+ key: "getIsNeedChangeCountry",
134
+ value: function getIsNeedChangeCountry(inputValue, currentCountry, newCountry) {
135
+ return newCountry && currentCountry.startSubsequence !== newCountry[1].startSubsequence && inputValue && (newCountry[0] === _types.UNKNOWN_COUNTRY_CODE ? !this.getIsHaveStartSequenceInString(inputValue, currentCountry.startSubsequence) : true);
136
+ }
137
+ }]);
138
+ }();
139
+ var phoneInputLogic = exports.phoneInputLogic = new PhoneInputLogic();
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ export declare const CountrySelectWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
3
+ export declare const InputLabelContent: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
4
+ export declare const InputLabelFloatWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.InputLabelFloatWrapper = exports.InputLabelContent = exports.CountrySelectWrapper = void 0;
7
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
9
+ var CountrySelectWrapper = exports.CountrySelectWrapper = _styledComponents["default"].div.withConfig({
10
+ displayName: "styles__CountrySelectWrapper",
11
+ componentId: "sc-pqm10s-0"
12
+ })(["padding-left:20px;width:100%;"]);
13
+ var InputLabelContent = exports.InputLabelContent = _styledComponents["default"].div.withConfig({
14
+ displayName: "styles__InputLabelContent",
15
+ componentId: "sc-pqm10s-1"
16
+ })(["position:relative;"]);
17
+ var InputLabelFloatWrapper = exports.InputLabelFloatWrapper = _styledComponents["default"].div.withConfig({
18
+ displayName: "styles__InputLabelFloatWrapper",
19
+ componentId: "sc-pqm10s-2"
20
+ })(["position:absolute;height:100%;width:100%;pointer-events:none;display:flex;align-items:center;"]);
@@ -0,0 +1,18 @@
1
+ import { TFlagKey } from '../../common/Flag';
2
+ export declare const RUS_COUNTRY_CODE = "RUS";
3
+ export declare const UNKNOWN_COUNTRY_CODE = "UNKNOWN";
4
+ export declare const supportedCountries: readonly ["RUS", "BLR", "AZE", "ARM", "KAZ", "TJK", "UZB", "KGZ", "UNKNOWN"];
5
+ export type TSupportedCountries = (typeof supportedCountries)[number];
6
+ export type TCountryRule = {
7
+ placeholder: string;
8
+ mask: string;
9
+ startSubsequence: string;
10
+ regexp: RegExp;
11
+ flag: TFlagKey;
12
+ };
13
+ export type TCountrySelectOption = {
14
+ description: string;
15
+ flag: string;
16
+ label: string;
17
+ value: string;
18
+ };
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.supportedCountries = exports.UNKNOWN_COUNTRY_CODE = exports.RUS_COUNTRY_CODE = void 0;
7
+ var RUS_COUNTRY_CODE = exports.RUS_COUNTRY_CODE = 'RUS';
8
+ var UNKNOWN_COUNTRY_CODE = exports.UNKNOWN_COUNTRY_CODE = 'UNKNOWN';
9
+ var supportedCountries = exports.supportedCountries = [RUS_COUNTRY_CODE, 'BLR', 'AZE', 'ARM', 'KAZ', 'TJK', 'UZB', 'KGZ', UNKNOWN_COUNTRY_CODE];
@@ -0,0 +1,6 @@
1
+ type TFilter = (value: string) => string;
2
+ export type TProps = {
3
+ max: number;
4
+ };
5
+ export declare const useFilters: ({ max }: TProps) => TFilter[];
6
+ export {};
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useFilters = void 0;
7
+ var _react = require("react");
8
+ var useFilters = exports.useFilters = function useFilters(_ref) {
9
+ var max = _ref.max;
10
+ var filterOnlyNumbers = (0, _react.useCallback)(function (value) {
11
+ return value.replace(/[^0-9]/g, '');
12
+ }, []);
13
+ var filterMax = (0, _react.useCallback)(function (value) {
14
+ if (!value) return '';
15
+ return Number(value) > max ? String(max) : value;
16
+ }, [max]);
17
+ var filters = (0, _react.useMemo)(function () {
18
+ return [filterOnlyNumbers, filterMax];
19
+ }, [filterOnlyNumbers, filterMax]);
20
+ return filters;
21
+ };
@@ -0,0 +1,4 @@
1
+ export declare const useIncrement: () => {
2
+ increment: (v: number | null) => number;
3
+ decrement: (v: number | null) => number;
4
+ };
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useIncrement = void 0;
7
+ var _react = require("react");
8
+ var useIncrement = exports.useIncrement = function useIncrement() {
9
+ var increment = (0, _react.useCallback)(function (v) {
10
+ return v === null ? 1 : v + 1;
11
+ }, []);
12
+ var decrement = (0, _react.useCallback)(function (v) {
13
+ return v === null || v === 0 ? 0 : v - 1;
14
+ }, []);
15
+ var incrementers = (0, _react.useMemo)(function () {
16
+ return {
17
+ increment: increment,
18
+ decrement: decrement
19
+ };
20
+ }, [increment, decrement]);
21
+ return incrementers;
22
+ };
@@ -0,0 +1,9 @@
1
+ type TProps = {
2
+ max: number;
3
+ value: number | null;
4
+ };
5
+ export declare const useIncrementDisabledFlags: ({ max, value }: TProps) => {
6
+ isIncrementDisabled: boolean;
7
+ isDecrementDisabled: boolean;
8
+ };
9
+ export {};
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useIncrementDisabledFlags = void 0;
7
+ var _react = require("react");
8
+ var useIncrementDisabledFlags = exports.useIncrementDisabledFlags = function useIncrementDisabledFlags(_ref) {
9
+ var max = _ref.max,
10
+ value = _ref.value;
11
+ var isIncrementDisabled = (0, _react.useMemo)(function () {
12
+ return value === max;
13
+ }, [max, value]);
14
+ var isDecrementDisabled = (0, _react.useMemo)(function () {
15
+ return value === 0;
16
+ }, [value]);
17
+ var incrementDisabledFlags = (0, _react.useMemo)(function () {
18
+ return {
19
+ isIncrementDisabled: isIncrementDisabled,
20
+ isDecrementDisabled: isDecrementDisabled
21
+ };
22
+ }, [isIncrementDisabled, isDecrementDisabled]);
23
+ return incrementDisabledFlags;
24
+ };
@@ -0,0 +1,4 @@
1
+ export declare const useNormalizers: () => {
2
+ normalizeTo: (v: string) => number | null;
3
+ normalizeFrom: (v: number | null) => string;
4
+ };