@invoicebox/ui 0.1.0-alpha.292 → 0.1.0-alpha.295

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 (317) hide show
  1. package/dist/components/common/Arrow/palette.js +1 -1
  2. package/dist/components/common/Calendar/palette.js +1 -1
  3. package/dist/components/common/Drawer/index.d.ts +2 -2
  4. package/dist/components/common/Drawer/index.js +83 -15
  5. package/dist/components/common/Drawer/palette.js +1 -1
  6. package/dist/components/common/Drawer/styles.d.ts +16 -694
  7. package/dist/components/common/Drawer/styles.js +51 -35
  8. package/dist/components/common/Dropdown/index.d.ts +2 -2
  9. package/dist/components/common/Dropdown/index.js +63 -13
  10. package/dist/components/common/Dropdown/palette.js +1 -1
  11. package/dist/components/common/Dropdown/styles.d.ts +2 -0
  12. package/dist/components/common/Dropdown/styles.js +17 -3
  13. package/dist/components/common/EntityAutocompleteOptionsDrawer/index.js +6 -2
  14. package/dist/components/common/EntityAutocompleteOptionsDrawer/palette.js +1 -1
  15. package/dist/components/common/PointsLoader/palette.js +1 -1
  16. package/dist/components/common/Scrollbar/index.js +12 -32
  17. package/dist/components/common/Scrollbar/styles.d.ts +7 -0
  18. package/dist/components/common/Scrollbar/styles.js +30 -0
  19. package/dist/components/common/Toast/styles.js +1 -1
  20. package/dist/components/form/Autocomplete/components/Autocomplete/index.d.ts +1 -0
  21. package/dist/components/form/Autocomplete/components/Autocomplete/index.js +92 -8
  22. package/dist/components/form/Autocomplete/components/Autocomplete/styles.d.ts +1 -0
  23. package/dist/components/form/Autocomplete/components/Autocomplete/styles.js +8 -4
  24. package/dist/components/form/Autocomplete/components/AutocompleteDefaultOption/palette.js +1 -1
  25. package/dist/components/form/Autocomplete/components/OrganizationAutocompleteItem/palette.js +1 -1
  26. package/dist/components/form/CodeInput/palette.js +1 -1
  27. package/dist/components/form/CountrySelect/index.js +3 -1
  28. package/dist/components/form/CountrySelect/palette.js +1 -1
  29. package/dist/components/form/DateInput/index.js +3 -1
  30. package/dist/components/form/DateTimeInput/components/TimePicker/palette.js +1 -1
  31. package/dist/components/form/DateTimeInput/index.js +3 -1
  32. package/dist/components/form/DateTimeInput/palette.js +1 -1
  33. package/dist/components/form/PureInput/palette.js +1 -1
  34. package/dist/components/form/Select/index.js +3 -1
  35. package/dist/components/form/Select/palette.js +1 -1
  36. package/dist/components/form/TextInput/index.d.ts +2 -2
  37. package/dist/components/form/TextInput/index.js +4 -2
  38. package/dist/components/form/Toggle/palette.js +1 -1
  39. package/dist/components/form/common/DrawerHeader/palette.js +1 -1
  40. package/dist/esm/breakpoints/index.js +7 -0
  41. package/dist/esm/components/_helpers/StoryBorderWrapper/index.js +5 -0
  42. package/dist/esm/components/_helpers/selectOptions.js +37 -0
  43. package/dist/esm/components/common/AppCardLink/components/ApkRu.js +99 -0
  44. package/dist/esm/components/common/AppCardLink/components/AppGalleryRu.js +91 -0
  45. package/dist/esm/components/common/AppCardLink/components/GooglePlayRu.js +177 -0
  46. package/dist/esm/components/common/AppCardLink/components/RuStoreRu.js +94 -0
  47. package/dist/esm/components/common/AppCardLink/constants.js +1 -0
  48. package/dist/esm/components/common/AppCardLink/index.js +24 -0
  49. package/dist/esm/components/common/AppCardLink/index.stories.js +14 -0
  50. package/dist/esm/components/common/AppCardLink/styles.js +5 -0
  51. package/dist/esm/components/common/Arrow/components/StyledSvg/index.js +18 -0
  52. package/dist/esm/components/common/Arrow/components/StyledSvg/index.stories.js +20 -0
  53. package/dist/esm/components/common/Arrow/components/Svg/index.js +19 -0
  54. package/dist/esm/components/common/Arrow/components/Svg/index.stories.js +15 -0
  55. package/dist/esm/components/common/Arrow/index.js +22 -0
  56. package/dist/esm/components/common/Arrow/index.stories.js +15 -0
  57. package/dist/esm/components/common/Arrow/palette.js +7 -0
  58. package/dist/esm/components/common/BgCard/index.js +13 -0
  59. package/dist/esm/components/common/BgCard/index.stories.js +14 -0
  60. package/dist/esm/components/common/BgCard/palette.js +5 -0
  61. package/dist/esm/components/common/BgCard/styles.js +12 -0
  62. package/dist/esm/components/common/Calendar/docs.stories.js +14 -0
  63. package/dist/esm/components/common/Calendar/index.js +44 -0
  64. package/dist/esm/components/common/Calendar/index.stories.js +69 -0
  65. package/dist/esm/components/common/Calendar/palette.js +12 -0
  66. package/dist/esm/components/common/Calendar/styles.js +34 -0
  67. package/dist/esm/components/common/Chip/index.js +17 -0
  68. package/dist/esm/components/common/Chip/index.stories.js +14 -0
  69. package/dist/esm/components/common/Chip/styles.js +18 -0
  70. package/dist/esm/components/common/Divider/index.js +13 -0
  71. package/dist/esm/components/common/Divider/index.stories.js +8 -0
  72. package/dist/esm/components/common/Divider/palette.js +5 -0
  73. package/dist/esm/components/common/Divider/styles.js +11 -0
  74. package/dist/esm/components/common/Drawer/index.js +133 -0
  75. package/dist/esm/components/common/Drawer/index.stories.js +77 -0
  76. package/dist/esm/components/common/Drawer/palette.js +14 -0
  77. package/dist/esm/components/common/Drawer/styles.js +61 -0
  78. package/dist/esm/components/common/Dropdown/index.js +163 -0
  79. package/dist/esm/components/common/Dropdown/index.stories.js +53 -0
  80. package/dist/esm/components/common/Dropdown/palette.js +7 -0
  81. package/dist/esm/components/common/Dropdown/styles.js +58 -0
  82. package/dist/esm/components/common/EntityAutocompleteOptionsDrawer/index.js +59 -0
  83. package/dist/esm/components/common/EntityAutocompleteOptionsDrawer/index.stories.js +92 -0
  84. package/dist/esm/components/common/EntityAutocompleteOptionsDrawer/palette.js +6 -0
  85. package/dist/esm/components/common/EntityAutocompleteOptionsDrawer/styles.js +29 -0
  86. package/dist/esm/components/common/Flag/components/ArmFlag/index.js +23 -0
  87. package/dist/esm/components/common/Flag/components/ArmFlag/index.stories.js +8 -0
  88. package/dist/esm/components/common/Flag/components/AzeFlag/index.js +33 -0
  89. package/dist/esm/components/common/Flag/components/AzeFlag/index.stories.js +8 -0
  90. package/dist/esm/components/common/Flag/components/BlrFlag/index.js +28 -0
  91. package/dist/esm/components/common/Flag/components/BlrFlag/index.stories.js +8 -0
  92. package/dist/esm/components/common/Flag/components/ChnFlag/index.js +25 -0
  93. package/dist/esm/components/common/Flag/components/ChnFlag/index.stories.js +8 -0
  94. package/dist/esm/components/common/Flag/components/EngFlag/index.js +47 -0
  95. package/dist/esm/components/common/Flag/components/EngFlag/index.stories.js +8 -0
  96. package/dist/esm/components/common/Flag/components/EspFlag/index.js +79 -0
  97. package/dist/esm/components/common/Flag/components/EspFlag/index.stories.js +8 -0
  98. package/dist/esm/components/common/Flag/components/KazFlag/index.js +28 -0
  99. package/dist/esm/components/common/Flag/components/KazFlag/index.stories.js +8 -0
  100. package/dist/esm/components/common/Flag/components/KgzFlag/index.js +25 -0
  101. package/dist/esm/components/common/Flag/components/KgzFlag/index.stories.js +8 -0
  102. package/dist/esm/components/common/Flag/components/MdaFlag/index.js +45 -0
  103. package/dist/esm/components/common/Flag/components/MdaFlag/index.stories.js +8 -0
  104. package/dist/esm/components/common/Flag/components/RusFlag/index.js +25 -0
  105. package/dist/esm/components/common/Flag/components/RusFlag/index.stories.js +8 -0
  106. package/dist/esm/components/common/Flag/components/TjkFlag/index.js +30 -0
  107. package/dist/esm/components/common/Flag/components/TjkFlag/index.stories.js +8 -0
  108. package/dist/esm/components/common/Flag/components/UnknownFlag/index.js +19 -0
  109. package/dist/esm/components/common/Flag/components/UnknownFlag/index.stories.js +8 -0
  110. package/dist/esm/components/common/Flag/components/UzbFlag/index.js +36 -0
  111. package/dist/esm/components/common/Flag/components/UzbFlag/index.stories.js +8 -0
  112. package/dist/esm/components/common/Flag/index.js +39 -0
  113. package/dist/esm/components/common/Flag/index.stories.js +16 -0
  114. package/dist/esm/components/common/Flag/styles.js +10 -0
  115. package/dist/esm/components/common/InvoiceboxLogo/components/LogoDarkRu.js +44 -0
  116. package/dist/esm/components/common/InvoiceboxLogo/index.js +8 -0
  117. package/dist/esm/components/common/InvoiceboxLogo/index.stories.js +12 -0
  118. package/dist/esm/components/common/InvoiceboxSpinner/index.js +29 -0
  119. package/dist/esm/components/common/InvoiceboxSpinner/index.stories.js +12 -0
  120. package/dist/esm/components/common/InvoiceboxSpinner/palette.js +6 -0
  121. package/dist/esm/components/common/InvoiceboxSpinner/styles.js +10 -0
  122. package/dist/esm/components/common/PointsLoader/index.js +16 -0
  123. package/dist/esm/components/common/PointsLoader/index.stories.js +10 -0
  124. package/dist/esm/components/common/PointsLoader/palette.js +7 -0
  125. package/dist/esm/components/common/PointsLoader/styles.js +21 -0
  126. package/dist/esm/components/common/QRCode/index.js +26 -0
  127. package/dist/esm/components/common/QRCode/index.stories.js +13 -0
  128. package/dist/esm/components/common/ReadOnlyLabelValueField/index.js +24 -0
  129. package/dist/esm/components/common/ReadOnlyLabelValueField/index.stories.js +14 -0
  130. package/dist/esm/components/common/ReadOnlyLabelValueField/palette.js +5 -0
  131. package/dist/esm/components/common/ReadOnlyLabelValueField/styles.js +15 -0
  132. package/dist/esm/components/common/Scrollbar/index.js +22 -0
  133. package/dist/esm/components/common/Scrollbar/index.stories.js +43 -0
  134. package/dist/esm/components/common/Scrollbar/palette.js +5 -0
  135. package/dist/esm/components/common/Scrollbar/styles.js +21 -0
  136. package/dist/esm/components/common/SecondaryButton/index.js +44 -0
  137. package/dist/esm/components/common/SecondaryButton/index.stories.js +33 -0
  138. package/dist/esm/components/common/SecondaryButton/palette.js +8 -0
  139. package/dist/esm/components/common/SecondaryButton/styles.js +43 -0
  140. package/dist/esm/components/common/Skeleton/index.js +18 -0
  141. package/dist/esm/components/common/Skeleton/index.stories.js +24 -0
  142. package/dist/esm/components/common/Skeleton/palette.js +6 -0
  143. package/dist/esm/components/common/Skeleton/styles.js +28 -0
  144. package/dist/esm/components/common/Toast/docs.stories.js +14 -0
  145. package/dist/esm/components/common/Toast/index.js +29 -0
  146. package/dist/esm/components/common/Toast/index.stories.js +22 -0
  147. package/dist/esm/components/common/Toast/palette.js +7 -0
  148. package/dist/esm/components/common/Toast/styles.js +17 -0
  149. package/dist/esm/components/common/Typography/docs.stories.js +14 -0
  150. package/dist/esm/components/common/Typography/index.js +30 -0
  151. package/dist/esm/components/common/Typography/index.stories.js +29 -0
  152. package/dist/esm/components/common/Typography/styles.js +9 -0
  153. package/dist/esm/components/common/Typography/typography.js +25 -0
  154. package/dist/esm/components/common/WarningIcon/components/Icon.js +15 -0
  155. package/dist/esm/components/common/WarningIcon/index.js +13 -0
  156. package/dist/esm/components/common/WarningIcon/index.stories.js +8 -0
  157. package/dist/esm/components/common/WarningIcon/palette.js +5 -0
  158. package/dist/esm/components/common/WarningIcon/styles.js +15 -0
  159. package/dist/esm/components/common/_helpers/selectOptions.js +39 -0
  160. package/dist/esm/components/form/Autocomplete/components/Autocomplete/index.js +266 -0
  161. package/dist/esm/components/form/Autocomplete/components/Autocomplete/index.stories.js +55 -0
  162. package/dist/esm/components/form/Autocomplete/components/Autocomplete/styles.js +42 -0
  163. package/dist/esm/components/form/Autocomplete/components/AutocompleteDefaultOption/index.js +21 -0
  164. package/dist/esm/components/form/Autocomplete/components/AutocompleteDefaultOption/index.stories.js +17 -0
  165. package/dist/esm/components/form/Autocomplete/components/AutocompleteDefaultOption/palette.js +6 -0
  166. package/dist/esm/components/form/Autocomplete/components/OrganizationAutocompleteItem/index.js +40 -0
  167. package/dist/esm/components/form/Autocomplete/components/OrganizationAutocompleteItem/index.stories.js +20 -0
  168. package/dist/esm/components/form/Autocomplete/components/OrganizationAutocompleteItem/palette.js +9 -0
  169. package/dist/esm/components/form/Autocomplete/components/OrganizationAutocompleteItem/styles.js +58 -0
  170. package/dist/esm/components/form/Autocomplete/index.js +3 -0
  171. package/dist/esm/components/form/CodeInput/index.js +93 -0
  172. package/dist/esm/components/form/CodeInput/index.stories.js +43 -0
  173. package/dist/esm/components/form/CodeInput/palette.js +7 -0
  174. package/dist/esm/components/form/CodeInput/styles.js +24 -0
  175. package/dist/esm/components/form/CountrySelect/components/CountryItem/index.js +32 -0
  176. package/dist/esm/components/form/CountrySelect/components/CountryItem/index.stories.js +29 -0
  177. package/dist/esm/components/form/CountrySelect/components/CountryItem/stlyes.js +24 -0
  178. package/dist/esm/components/form/CountrySelect/index.js +115 -0
  179. package/dist/esm/components/form/CountrySelect/index.stories.js +51 -0
  180. package/dist/esm/components/form/CountrySelect/logic.js +18 -0
  181. package/dist/esm/components/form/CountrySelect/palette.js +10 -0
  182. package/dist/esm/components/form/CountrySelect/stlyes.js +20 -0
  183. package/dist/esm/components/form/CurrencyInput/CoreCurrencyInput/index.js +95 -0
  184. package/dist/esm/components/form/CurrencyInput/CoreCurrencyInput/index.stories.js +33 -0
  185. package/dist/esm/components/form/CurrencyInput/CoreCurrencyInput/styles.js +8 -0
  186. package/dist/esm/components/form/CurrencyInput/CurrencyInputNumber/index.js +16 -0
  187. package/dist/esm/components/form/CurrencyInput/CurrencyInputNumber/index.stories.js +46 -0
  188. package/dist/esm/components/form/CurrencyInput/CurrencyInputString/index.js +16 -0
  189. package/dist/esm/components/form/CurrencyInput/CurrencyInputString/index.stories.js +32 -0
  190. package/dist/esm/components/form/CurrencyInput/README.md +24 -0
  191. package/dist/esm/components/form/DateInput/components/CalendarIcon/index.js +24 -0
  192. package/dist/esm/components/form/DateInput/components/CalendarIcon/index.stories.js +8 -0
  193. package/dist/esm/components/form/DateInput/components/MobileDrawerDateCalendar/index.js +27 -0
  194. package/dist/esm/components/form/DateInput/components/MobileDrawerDateCalendar/index.stories.js +65 -0
  195. package/dist/esm/components/form/DateInput/components/MobileDrawerDateCalendar/styles.js +5 -0
  196. package/dist/esm/components/form/DateInput/docs.stories.js +14 -0
  197. package/dist/esm/components/form/DateInput/index.js +173 -0
  198. package/dist/esm/components/form/DateInput/index.stories.js +48 -0
  199. package/dist/esm/components/form/DateInput/logic.js +89 -0
  200. package/dist/esm/components/form/DateInput/palette.js +5 -0
  201. package/dist/esm/components/form/DateInput/styles.js +21 -0
  202. package/dist/esm/components/form/DateTimeInput/components/MobileDrawerDateTimeCalendar/index.js +66 -0
  203. package/dist/esm/components/form/DateTimeInput/components/MobileDrawerDateTimeCalendar/index.stories.js +63 -0
  204. package/dist/esm/components/form/DateTimeInput/components/MobileDrawerDateTimeCalendar/styles.js +9 -0
  205. package/dist/esm/components/form/DateTimeInput/components/MobileNumbersColumn/index.js +193 -0
  206. package/dist/esm/components/form/DateTimeInput/components/MobileNumbersColumn/styles.js +18 -0
  207. package/dist/esm/components/form/DateTimeInput/components/TimePicker/index.js +132 -0
  208. package/dist/esm/components/form/DateTimeInput/components/TimePicker/index.stories.js +32 -0
  209. package/dist/esm/components/form/DateTimeInput/components/TimePicker/palette.js +11 -0
  210. package/dist/esm/components/form/DateTimeInput/components/TimePicker/styles.js +54 -0
  211. package/dist/esm/components/form/DateTimeInput/hooks/useStringValue.js +22 -0
  212. package/dist/esm/components/form/DateTimeInput/hooks/useTimePickerHeight.js +31 -0
  213. package/dist/esm/components/form/DateTimeInput/index.js +234 -0
  214. package/dist/esm/components/form/DateTimeInput/index.stories.js +52 -0
  215. package/dist/esm/components/form/DateTimeInput/palette.js +11 -0
  216. package/dist/esm/components/form/DateTimeInput/styles.js +51 -0
  217. package/dist/esm/components/form/InputLabel/index.js +33 -0
  218. package/dist/esm/components/form/InputLabel/index.stories.js +26 -0
  219. package/dist/esm/components/form/InputLabel/palette.js +9 -0
  220. package/dist/esm/components/form/InputLabel/styles.js +42 -0
  221. package/dist/esm/components/form/ModernPlaceholder/index.js +25 -0
  222. package/dist/esm/components/form/ModernPlaceholder/styles.js +28 -0
  223. package/dist/esm/components/form/PhoneInput/constants.js +69 -0
  224. package/dist/esm/components/form/PhoneInput/externalPhoneLogic.js +32 -0
  225. package/dist/esm/components/form/PhoneInput/hooks/useValidateInitialValue.js +33 -0
  226. package/dist/esm/components/form/PhoneInput/index.js +236 -0
  227. package/dist/esm/components/form/PhoneInput/index.stories.js +107 -0
  228. package/dist/esm/components/form/PhoneInput/phoneInputLogic.js +153 -0
  229. package/dist/esm/components/form/PhoneInput/styles.js +13 -0
  230. package/dist/esm/components/form/PhoneInput/types.js +3 -0
  231. package/dist/esm/components/form/PositiveIntegerInput/hooks/useFilters.js +15 -0
  232. package/dist/esm/components/form/PositiveIntegerInput/hooks/useIncrement.js +16 -0
  233. package/dist/esm/components/form/PositiveIntegerInput/hooks/useIncrementDisabledFlags.js +18 -0
  234. package/dist/esm/components/form/PositiveIntegerInput/hooks/useNormalizers.js +16 -0
  235. package/dist/esm/components/form/PositiveIntegerInput/index.js +128 -0
  236. package/dist/esm/components/form/PositiveIntegerInput/index.stories.js +40 -0
  237. package/dist/esm/components/form/PositiveIntegerInput/styles.js +16 -0
  238. package/dist/esm/components/form/PureInput/index.js +62 -0
  239. package/dist/esm/components/form/PureInput/index.stories.js +18 -0
  240. package/dist/esm/components/form/PureInput/palette.js +12 -0
  241. package/dist/esm/components/form/PureInput/styles.js +44 -0
  242. package/dist/esm/components/form/ResetButton/CrossIcon/index.js +16 -0
  243. package/dist/esm/components/form/ResetButton/CrossIcon/index.stories.js +8 -0
  244. package/dist/esm/components/form/ResetButton/index.js +13 -0
  245. package/dist/esm/components/form/ResetButton/index.stories.js +14 -0
  246. package/dist/esm/components/form/ResetButton/palette.js +5 -0
  247. package/dist/esm/components/form/ResetButton/styles.js +8 -0
  248. package/dist/esm/components/form/SearchInput/components/SearchIcon/index.js +17 -0
  249. package/dist/esm/components/form/SearchInput/components/SearchIcon/index.stories.js +8 -0
  250. package/dist/esm/components/form/SearchInput/index.js +93 -0
  251. package/dist/esm/components/form/SearchInput/index.stories.js +33 -0
  252. package/dist/esm/components/form/SearchInput/palette.js +5 -0
  253. package/dist/esm/components/form/SearchInput/styles.js +14 -0
  254. package/dist/esm/components/form/Select/components/Input/index.js +72 -0
  255. package/dist/esm/components/form/Select/components/Input/index.stories.js +21 -0
  256. package/dist/esm/components/form/Select/components/Input/styles.js +12 -0
  257. package/dist/esm/components/form/Select/components/Loader/index.js +16 -0
  258. package/dist/esm/components/form/Select/components/Loader/styles.js +13 -0
  259. package/dist/esm/components/form/Select/hooks/useOptionGroups.js +27 -0
  260. package/dist/esm/components/form/Select/index.js +245 -0
  261. package/dist/esm/components/form/Select/index.stories.js +241 -0
  262. package/dist/esm/components/form/Select/palette.js +7 -0
  263. package/dist/esm/components/form/Select/styles.js +60 -0
  264. package/dist/esm/components/form/TagsInput/assets/CrossIcon.js +23 -0
  265. package/dist/esm/components/form/TagsInput/index.js +161 -0
  266. package/dist/esm/components/form/TagsInput/index.stories.js +34 -0
  267. package/dist/esm/components/form/TagsInput/palette.js +6 -0
  268. package/dist/esm/components/form/TagsInput/styles.js +37 -0
  269. package/dist/esm/components/form/TextInput/index.js +113 -0
  270. package/dist/esm/components/form/TextInput/index.stories.js +42 -0
  271. package/dist/esm/components/form/TextInput/styles.js +9 -0
  272. package/dist/esm/components/form/Toggle/index.js +40 -0
  273. package/dist/esm/components/form/Toggle/index.stories.js +33 -0
  274. package/dist/esm/components/form/Toggle/palette.js +11 -0
  275. package/dist/esm/components/form/Toggle/styles.js +74 -0
  276. package/dist/esm/components/form/common/DrawerHeader/components/Cross24Icon/index.js +16 -0
  277. package/dist/esm/components/form/common/DrawerHeader/components/Cross24Icon/index.stories.js +8 -0
  278. package/dist/esm/components/form/common/DrawerHeader/index.js +28 -0
  279. package/dist/esm/components/form/common/DrawerHeader/index.stories.js +18 -0
  280. package/dist/esm/components/form/common/DrawerHeader/palette.js +8 -0
  281. package/dist/esm/components/form/common/DrawerHeader/styles.js +27 -0
  282. package/dist/esm/components/form/constants.js +40 -0
  283. package/dist/esm/hooks/useInputFocus/index.js +31 -0
  284. package/dist/esm/hooks/useInputFocus/index.stories.js +24 -0
  285. package/dist/esm/hooks/useLoadingSubmit/index.js +31 -0
  286. package/dist/esm/hooks/useLoadingSubmit/index.stories.js +28 -0
  287. package/dist/esm/hooks/useMedia/index.js +44 -0
  288. package/dist/esm/hooks/useMedia/index.stories.js +18 -0
  289. package/dist/esm/hooks/useModal/index.js +26 -0
  290. package/dist/esm/hooks/useModal/index.stories.js +35 -0
  291. package/dist/esm/hooks/useOutsideClick/index.js +27 -0
  292. package/dist/esm/hooks/useOutsideClick/index.stories.js +22 -0
  293. package/dist/esm/hooks/useUnupdatableHandler/index.js +11 -0
  294. package/dist/esm/hooks/useUnupdatableHandler/index.stories.js +42 -0
  295. package/dist/esm/index.js +53 -0
  296. package/dist/esm/palette/colors.stories.js +36 -0
  297. package/dist/esm/palette/constants.js +12 -0
  298. package/dist/esm/palette/context.js +64 -0
  299. package/dist/esm/palette/index.js +3 -0
  300. package/dist/esm/palette/index.stories.js +78 -0
  301. package/dist/esm/palette/provider.js +87 -0
  302. package/dist/esm/palette/types.js +1 -0
  303. package/dist/esm/palette/useComponentPalette.js +16 -0
  304. package/dist/esm/palette/usePalette.js +5 -0
  305. package/dist/esm/utils/hexToRgba.js +15 -0
  306. package/dist/esm/utils/transformColorByHsl.js +12 -0
  307. package/dist/esm/validate/index.js +175 -0
  308. package/dist/esm/validate/types.js +1 -0
  309. package/dist/esm/validate/utils/vatNumberValidateHelpers.js +129 -0
  310. package/dist/esm/validate/utils/websiteValidate.test.js +45 -0
  311. package/dist/hooks/useMedia/index.js +34 -13
  312. package/dist/hooks/useOutsideClick/index.d.ts +2 -2
  313. package/dist/hooks/useOutsideClick/index.js +14 -4
  314. package/dist/index.js +1 -13
  315. package/dist/utils/hexToRgba.d.ts +1 -0
  316. package/dist/utils/hexToRgba.js +21 -0
  317. package/package.json +7 -9
@@ -0,0 +1,58 @@
1
+ import styled from 'styled-components';
2
+ import { Typography } from '../../../../common/Typography';
3
+ export var OrganizationWrapper = styled.div.withConfig({
4
+ displayName: "styles__OrganizationWrapper",
5
+ componentId: "sc-1pujz54-0"
6
+ })(["display:flex;align-items:start;flex-direction:column;gap:4px;"]);
7
+ export var OptionContainer = styled.div.withConfig({
8
+ displayName: "styles__OptionContainer",
9
+ componentId: "sc-1pujz54-1"
10
+ })(["width:", ";border-radius:", ";&:hover{background-color:", ";}"], function (_ref) {
11
+ var $recalculateWidthAndBorder = _ref.$recalculateWidthAndBorder;
12
+ return $recalculateWidthAndBorder ? 'calc(100% - 14px)' : '100%';
13
+ }, function (_ref2) {
14
+ var $recalculateWidthAndBorder = _ref2.$recalculateWidthAndBorder;
15
+ return $recalculateWidthAndBorder ? '12px' : 'none';
16
+ }, function (_ref3) {
17
+ var $hoverBg = _ref3.$hoverBg;
18
+ return $hoverBg;
19
+ });
20
+ export var OrganizationName = styled(Typography).attrs({
21
+ element: 'span'
22
+ }).withConfig({
23
+ displayName: "styles__OrganizationName",
24
+ componentId: "sc-1pujz54-2"
25
+ })(["color:", ";"], function (_ref4) {
26
+ var $color = _ref4.$color;
27
+ return $color;
28
+ });
29
+ export var OrganizationDescription = styled(Typography).attrs({
30
+ element: 'span'
31
+ }).withConfig({
32
+ displayName: "styles__OrganizationDescription",
33
+ componentId: "sc-1pujz54-3"
34
+ })(["color:", ";"], function (_ref5) {
35
+ var $color = _ref5.$color;
36
+ return $color;
37
+ });
38
+ export var OrganizationLabel = styled(Typography).attrs({
39
+ element: 'span'
40
+ }).withConfig({
41
+ displayName: "styles__OrganizationLabel",
42
+ componentId: "sc-1pujz54-4"
43
+ })(["color:", ";"], function (_ref6) {
44
+ var $color = _ref6.$color;
45
+ return $color;
46
+ });
47
+ export var OrganizationVatNumber = styled.span.withConfig({
48
+ displayName: "styles__OrganizationVatNumber",
49
+ componentId: "sc-1pujz54-5"
50
+ })(["margin-right:20px;"]);
51
+ export var OrganizationProperties = styled.div.withConfig({
52
+ displayName: "styles__OrganizationProperties",
53
+ componentId: "sc-1pujz54-6"
54
+ })(["display:flex;align-items:center;gap:10px;margin-top:3px;"]);
55
+ export var Feature = styled.div.withConfig({
56
+ displayName: "styles__Feature",
57
+ componentId: "sc-1pujz54-7"
58
+ })(["display:contents;"]);
@@ -0,0 +1,3 @@
1
+ export { Autocomplete } from './components/Autocomplete';
2
+ export { AutocompleteDefaultOption } from './components/AutocompleteDefaultOption';
3
+ export { OrganizationAutocompleteItem } from './components/OrganizationAutocompleteItem';
@@ -0,0 +1,93 @@
1
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
2
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ 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; } }
4
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
5
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
6
+ 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; }
7
+ import React from 'react';
8
+ import * as S from './styles';
9
+ import { useComponentPalette } from '../../../palette';
10
+ var ONLY_NUMBERS_REGEX = /^[0-9]+$/;
11
+ export var CodeInput = function CodeInput(_ref) {
12
+ var hasError = _ref.hasError,
13
+ onChange = _ref.onChange,
14
+ codeLength = _ref.codeLength,
15
+ value = _ref.value,
16
+ _ref$isLarge = _ref.isLarge,
17
+ isLarge = _ref$isLarge === void 0 ? true : _ref$isLarge,
18
+ disabled = _ref.disabled,
19
+ autoFocus = _ref.autoFocus;
20
+ var palette = useComponentPalette('codeInput');
21
+ var getCodeArrFromCodeString = function getCodeArrFromCodeString() {
22
+ var newValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
23
+ return [].concat(_toConsumableArray(newValue.split('')), _toConsumableArray(Array(codeLength).fill(''))).slice(0, codeLength);
24
+ };
25
+ var codeArr = getCodeArrFromCodeString(value);
26
+ var setValue = function setValue(newValue, index) {
27
+ var newArr = codeArr.map(function (codeItem, codeIndex) {
28
+ return index === codeIndex ? newValue : codeItem;
29
+ });
30
+ onChange(newArr.join(''));
31
+ };
32
+ var changeHandler = function changeHandler(event) {
33
+ var index = Number(event.target.dataset.index);
34
+ var inputValue = event.target.value;
35
+ if (ONLY_NUMBERS_REGEX.test(inputValue)) {
36
+ setValue(inputValue.length > 1 ? inputValue.replace(codeArr[index], '') : inputValue, index);
37
+ if (event.target.nextSibling) {
38
+ event.target.nextSibling.focus();
39
+ }
40
+ }
41
+ };
42
+ var onKeyDown = function onKeyDown(event) {
43
+ if (event.key === 'Backspace') {
44
+ event.preventDefault();
45
+ var target = event.target;
46
+ var index = Number(target.dataset.index);
47
+ if (target.value) {
48
+ setValue('', index);
49
+ } else if (target.previousSibling) {
50
+ setValue('', index - 1);
51
+ target.previousSibling.focus();
52
+ }
53
+ }
54
+ };
55
+ var handleFocus = function handleFocus(event) {
56
+ var currentInput = event.target;
57
+ var prevInput = currentInput.previousSibling;
58
+ if (prevInput && prevInput.value === '') {
59
+ prevInput.focus();
60
+ }
61
+ };
62
+ var handlePaste = function handlePaste(event) {
63
+ event.preventDefault();
64
+ var pasteText = event.clipboardData.getData('Text').trim();
65
+ if (ONLY_NUMBERS_REGEX.test(pasteText)) {
66
+ onChange(pasteText);
67
+ }
68
+ };
69
+ return /*#__PURE__*/React.createElement(S.Wrapper, {
70
+ $isLarge: isLarge
71
+ }, codeArr.map(function (codeItem, index) {
72
+ return /*#__PURE__*/React.createElement(S.CodeInputItem, {
73
+ $defaultBorder: palette.defaultBorder,
74
+ $errorBorder: palette.errorBorder
75
+ // eslint-disable-next-line react/no-array-index-key
76
+ ,
77
+ key: index,
78
+ "data-index": String(index),
79
+ onChange: changeHandler,
80
+ value: codeItem,
81
+ inputMode: "numeric",
82
+ onKeyDown: onKeyDown,
83
+ onPaste: handlePaste,
84
+ onFocus: handleFocus,
85
+ placeholder: "-",
86
+ $hasError: hasError,
87
+ disabled: !!disabled,
88
+ autoFocus: autoFocus,
89
+ autoComplete: 'one-time-code',
90
+ type: "text"
91
+ });
92
+ }));
93
+ };
@@ -0,0 +1,43 @@
1
+ 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); }
2
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
3
+ 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."); }
4
+ 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; } }
5
+ 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; }
6
+ 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; } }
7
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
8
+ import React, { useState } from 'react';
9
+ import { CodeInput } from '.';
10
+ var meta = {
11
+ title: 'common/CodeInput',
12
+ component: CodeInput,
13
+ tags: ['autodocs'],
14
+ argTypes: {
15
+ onChange: {
16
+ action: 'onChange'
17
+ }
18
+ }
19
+ };
20
+ export default meta;
21
+ var COMMON_ARGS = {
22
+ hasError: false,
23
+ codeLength: 4,
24
+ value: '12',
25
+ disabled: false,
26
+ autoFocus: true
27
+ };
28
+ export var Default = {
29
+ args: COMMON_ARGS
30
+ };
31
+ export var Live = {
32
+ args: COMMON_ARGS,
33
+ render: function Render(args) {
34
+ var _useState = useState(''),
35
+ _useState2 = _slicedToArray(_useState, 2),
36
+ value = _useState2[0],
37
+ setValue = _useState2[1];
38
+ return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(CodeInput, _extends({}, args, {
39
+ value: value,
40
+ onChange: setValue
41
+ })));
42
+ }
43
+ };
@@ -0,0 +1,7 @@
1
+ import hexToRgba from '../../../utils/hexToRgba';
2
+ export var generateCodeInputPalette = function generateCodeInputPalette(abstractPalette) {
3
+ return {
4
+ errorBorder: abstractPalette.error,
5
+ defaultBorder: hexToRgba(abstractPalette.primary, 0.3)
6
+ };
7
+ };
@@ -0,0 +1,24 @@
1
+ import styled from 'styled-components';
2
+ import { breakpoints } from '../../../breakpoints';
3
+ export var CodeInputItem = styled.input.withConfig({
4
+ displayName: "styles__CodeInputItem",
5
+ componentId: "sc-ipnfbq-0"
6
+ })(["border:1px solid ", ";border-radius:8px;text-align:center;outline:none;&:disabled{opacity:0.7;}"], function (_ref) {
7
+ var $defaultBorder = _ref.$defaultBorder,
8
+ $hasError = _ref.$hasError,
9
+ $errorBorder = _ref.$errorBorder;
10
+ return $hasError ? $errorBorder : $defaultBorder;
11
+ });
12
+ export var Wrapper = styled.div.withConfig({
13
+ displayName: "styles__Wrapper",
14
+ componentId: "sc-ipnfbq-1"
15
+ })(["display:flex;gap:", "px;", "{width:", "px;height:", "px;}@media ", "{gap:8px;}"], function (_ref2) {
16
+ var $isLarge = _ref2.$isLarge;
17
+ return $isLarge ? 16 : 12;
18
+ }, CodeInputItem, function (_ref3) {
19
+ var $isLarge = _ref3.$isLarge;
20
+ return $isLarge ? 45 : 39;
21
+ }, function (_ref4) {
22
+ var $isLarge = _ref4.$isLarge;
23
+ return $isLarge ? 54 : 48;
24
+ }, breakpoints.sm);
@@ -0,0 +1,32 @@
1
+ import React, { useCallback } from 'react';
2
+ import * as S from './stlyes';
3
+ import { Flag } from '../../../../common/Flag';
4
+ import { Typography } from '../../../../common/Typography';
5
+ export var CountryItem = function CountryItem(_ref) {
6
+ var isSelected = _ref.isSelected,
7
+ flag = _ref.flag,
8
+ onSelect = _ref.onSelect,
9
+ description = _ref.description,
10
+ value = _ref.value,
11
+ countryLabel = _ref.countryLabel,
12
+ selectedLabel = _ref.selectedLabel,
13
+ palette = _ref.palette;
14
+ var handleSelect = useCallback(function () {
15
+ return onSelect(value);
16
+ }, [onSelect, value]);
17
+ return /*#__PURE__*/React.createElement(S.Wrapper, {
18
+ $palette: palette,
19
+ onClick: handleSelect,
20
+ type: "button"
21
+ }, /*#__PURE__*/React.createElement(S.Title, {
22
+ $isSelected: isSelected,
23
+ $palette: palette
24
+ }, flag && /*#__PURE__*/React.createElement(Flag, {
25
+ flag: flag,
26
+ isSmall: true
27
+ }), /*#__PURE__*/React.createElement(Typography, {
28
+ variant: 'captionRegular'
29
+ }, countryLabel, " ", isSelected && selectedLabel)), /*#__PURE__*/React.createElement(Typography, {
30
+ variant: 'captionRegular'
31
+ }, description));
32
+ };
@@ -0,0 +1,29 @@
1
+ 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); }
2
+ import React from 'react';
3
+ import { CountryItem } from '.';
4
+ import { useComponentPalette } from '../../../../../palette';
5
+ import { action } from '@storybook/addon-actions';
6
+ var meta = {
7
+ title: 'form/CountrySelect/_components/CountryItem',
8
+ component: CountryItem,
9
+ tags: ['autodocs']
10
+ };
11
+ export default meta;
12
+ var Component = function Component(props) {
13
+ var palette = useComponentPalette('countrySelect');
14
+ return /*#__PURE__*/React.createElement(CountryItem, _extends({}, props, {
15
+ palette: palette
16
+ }));
17
+ };
18
+ export var Default = {
19
+ args: {
20
+ isSelected: false,
21
+ description: 'ИНН',
22
+ value: 'RUS',
23
+ countryLabel: 'Russia',
24
+ flag: 'RUS',
25
+ selectedLabel: '(Выбрано)',
26
+ onSelect: action('onSelect')
27
+ },
28
+ render: Component
29
+ };
@@ -0,0 +1,24 @@
1
+ import styled from 'styled-components';
2
+ export var Title = styled.div.withConfig({
3
+ displayName: "stlyes__Title",
4
+ componentId: "sc-cou0vg-0"
5
+ })(["display:flex;align-items:center;gap:10px;color:", ";opacity:", ";"], function (_ref) {
6
+ var $palette = _ref.$palette;
7
+ return $palette.title;
8
+ }, function (_ref2) {
9
+ var $isSelected = _ref2.$isSelected;
10
+ return $isSelected ? 0.5 : 1;
11
+ });
12
+ export var Wrapper = styled.button.withConfig({
13
+ displayName: "stlyes__Wrapper",
14
+ componentId: "sc-cou0vg-1"
15
+ })(["padding:15px 20px;display:flex;align-items:center;justify-content:space-between;width:100%;border:none;cursor:pointer;background-color:", ";color:", ";&:hover{background-color:", ";", "{opacity:0.5;}}"], function (_ref3) {
16
+ var $palette = _ref3.$palette;
17
+ return $palette.countryBg;
18
+ }, function (_ref4) {
19
+ var $palette = _ref4.$palette;
20
+ return $palette.countryDescription;
21
+ }, function (_ref5) {
22
+ var $palette = _ref5.$palette;
23
+ return $palette.countryHoverBg;
24
+ }, Title);
@@ -0,0 +1,115 @@
1
+ var _excluded = ["value", "onChange", "options", "placeholder", "disabled", "selectedLabel"];
2
+ 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); }
3
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
4
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
5
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
6
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
7
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
8
+ 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."); }
9
+ 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; } }
10
+ 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; }
11
+ 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; } }
12
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
13
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
14
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
15
+ import React, { useCallback, useMemo, useRef, useState } from 'react';
16
+ import * as S from './stlyes';
17
+ import { CountryItem } from './components/CountryItem';
18
+ import { SearchInput } from '../SearchInput';
19
+ import { logic } from './logic';
20
+ import { useOutsideClick } from '../../../hooks/useOutsideClick';
21
+ import { Flag } from '../../common/Flag';
22
+ import { Arrow } from '../../common/Arrow';
23
+ import { Dropdown } from '../../common/Dropdown';
24
+ import { Scrollbar } from '../../common/Scrollbar';
25
+ import { useComponentPalette } from '../../../palette';
26
+ export var CountrySelect = function CountrySelect(_ref) {
27
+ var value = _ref.value,
28
+ onChange = _ref.onChange,
29
+ options = _ref.options,
30
+ placeholder = _ref.placeholder,
31
+ _ref$disabled = _ref.disabled,
32
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
33
+ selectedLabel = _ref.selectedLabel,
34
+ dropdownPositionProps = _objectWithoutProperties(_ref, _excluded);
35
+ var palette = useComponentPalette('countrySelect');
36
+ var _useState = useState(false),
37
+ _useState2 = _slicedToArray(_useState, 2),
38
+ isOpen = _useState2[0],
39
+ setIsOpen = _useState2[1];
40
+ var _useState3 = useState(''),
41
+ _useState4 = _slicedToArray(_useState3, 2),
42
+ search = _useState4[0],
43
+ setSearch = _useState4[1];
44
+ var selectedOption = useMemo(function () {
45
+ return options.find(function (option) {
46
+ return option.value === value;
47
+ });
48
+ }, [options, value]);
49
+ var handleClear = useCallback(function () {
50
+ setSearch('');
51
+ }, []);
52
+ var handleDropdownClose = useCallback(function () {
53
+ setIsOpen(false);
54
+ }, []);
55
+ var handleDropdownTrigger = useCallback(function () {
56
+ setIsOpen(function (flag) {
57
+ return !flag;
58
+ });
59
+ }, []);
60
+ var dropdownRef = useRef(null);
61
+ var wrapperRef = useOutsideClick(handleDropdownClose, [dropdownRef]);
62
+ var sortedOptions = useMemo(function () {
63
+ return [selectedOption].concat(_toConsumableArray(options.filter(function (option) {
64
+ return option !== selectedOption;
65
+ })));
66
+ }, [selectedOption, options]);
67
+ var filtredOptions = useMemo(function () {
68
+ return sortedOptions.filter(function (option) {
69
+ return logic.isSearchMatchOption(search, option.label);
70
+ });
71
+ }, [search, sortedOptions]);
72
+ var handleSelect = function handleSelect(newValue) {
73
+ onChange(newValue);
74
+ handleDropdownClose();
75
+ };
76
+ return /*#__PURE__*/React.createElement(S.Wrapper, {
77
+ ref: wrapperRef
78
+ }, /*#__PURE__*/React.createElement(S.HeaderWrapper, {
79
+ type: "button",
80
+ onClick: handleDropdownTrigger,
81
+ disabled: disabled
82
+ }, selectedOption.flag && /*#__PURE__*/React.createElement(Flag, {
83
+ isSmall: false,
84
+ flag: selectedOption.flag
85
+ }), !disabled && /*#__PURE__*/React.createElement(Arrow, {
86
+ isOpen: isOpen
87
+ })), /*#__PURE__*/React.createElement(Dropdown, _extends({
88
+ ref: dropdownRef,
89
+ isOpen: isOpen,
90
+ onCloseTransitionEnd: handleClear,
91
+ zIndex: 6,
92
+ isAutoPosition: true
93
+ }, dropdownPositionProps), /*#__PURE__*/React.createElement(S.ListWrapper, null, /*#__PURE__*/React.createElement(S.CountrySearchWrapper, {
94
+ $palette: palette
95
+ }, /*#__PURE__*/React.createElement(SearchInput, {
96
+ onChange: setSearch,
97
+ placeholder: placeholder,
98
+ hasBorder: false,
99
+ value: search
100
+ })), /*#__PURE__*/React.createElement(Scrollbar, {
101
+ maxHeight: 192
102
+ }, filtredOptions.map(function (option) {
103
+ return /*#__PURE__*/React.createElement(CountryItem, {
104
+ key: option.value,
105
+ palette: palette,
106
+ countryLabel: option.label,
107
+ onSelect: handleSelect,
108
+ selectedLabel: selectedLabel,
109
+ value: option.value,
110
+ isSelected: option === selectedOption,
111
+ description: option.description,
112
+ flag: option.flag
113
+ });
114
+ })))));
115
+ };
@@ -0,0 +1,51 @@
1
+ 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); }
2
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
3
+ 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."); }
4
+ 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; } }
5
+ 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; }
6
+ 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; } }
7
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
8
+ import React from 'react';
9
+ import { CountrySelect } from '.';
10
+ var meta = {
11
+ title: 'form/CountrySelect',
12
+ component: CountrySelect,
13
+ tags: ['autodocs']
14
+ };
15
+ export default meta;
16
+ var Component = function Component(props) {
17
+ var _React$useState = React.useState('RUS'),
18
+ _React$useState2 = _slicedToArray(_React$useState, 2),
19
+ value = _React$useState2[0],
20
+ setValue = _React$useState2[1];
21
+ return /*#__PURE__*/React.createElement("div", {
22
+ style: {
23
+ height: 300
24
+ }
25
+ }, /*#__PURE__*/React.createElement(CountrySelect, _extends({}, props, {
26
+ value: value,
27
+ onChange: setValue
28
+ })));
29
+ };
30
+ export var Default = {
31
+ args: {
32
+ options: [{
33
+ label: 'Россия',
34
+ value: 'RUS',
35
+ description: 'ИНН',
36
+ flag: 'RUS'
37
+ }, {
38
+ label: 'Казахстан',
39
+ value: 'KAZ',
40
+ description: 'ИИН',
41
+ flag: 'KAZ'
42
+ }, {
43
+ label: 'Afghanistan',
44
+ value: 'AF',
45
+ description: 'NO'
46
+ }],
47
+ placeholder: 'Поиск',
48
+ disabled: false
49
+ },
50
+ render: Component
51
+ };
@@ -0,0 +1,18 @@
1
+ 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); }
2
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
3
+ 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); } }
4
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
6
+ 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); }
7
+ var Logic = /*#__PURE__*/function () {
8
+ function Logic() {
9
+ _classCallCheck(this, Logic);
10
+ }
11
+ return _createClass(Logic, [{
12
+ key: "isSearchMatchOption",
13
+ value: function isSearchMatchOption(search, optionLabel) {
14
+ return optionLabel.toLowerCase().includes(search.trim().toLowerCase());
15
+ }
16
+ }]);
17
+ }();
18
+ export var logic = new Logic();
@@ -0,0 +1,10 @@
1
+ import hexToRgba from '../../../utils/hexToRgba';
2
+ export var generateCountrySelectPalette = function generateCountrySelectPalette(abstractPalette) {
3
+ return {
4
+ title: abstractPalette.primary,
5
+ border: hexToRgba(abstractPalette.primary, 0.2),
6
+ countryBg: abstractPalette.base,
7
+ countryHoverBg: hexToRgba(abstractPalette.neutralUsual, 0.5),
8
+ countryDescription: hexToRgba(abstractPalette.primary, 0.3)
9
+ };
10
+ };
@@ -0,0 +1,20 @@
1
+ import styled from 'styled-components';
2
+ export var Wrapper = styled.div.withConfig({
3
+ displayName: "stlyes__Wrapper",
4
+ componentId: "sc-1mni8xu-0"
5
+ })(["position:relative;"]);
6
+ export var HeaderWrapper = styled.button.withConfig({
7
+ displayName: "stlyes__HeaderWrapper",
8
+ componentId: "sc-1mni8xu-1"
9
+ })(["display:flex;align-items:center;gap:2px;pointer-events:auto;background:transparent;border:none;cursor:pointer;height:24px;"]);
10
+ export var ListWrapper = styled.div.withConfig({
11
+ displayName: "stlyes__ListWrapper",
12
+ componentId: "sc-1mni8xu-2"
13
+ })(["display:flex;align-items:center;flex-direction:column;pointer-events:auto;"]);
14
+ export var CountrySearchWrapper = styled.div.withConfig({
15
+ displayName: "stlyes__CountrySearchWrapper",
16
+ componentId: "sc-1mni8xu-3"
17
+ })(["border-bottom:1px solid ", ";width:100%;"], function (_ref) {
18
+ var $palette = _ref.$palette;
19
+ return $palette.border;
20
+ });
@@ -0,0 +1,95 @@
1
+ import React, { useMemo } from 'react';
2
+ import { InputLabel } from '../../InputLabel';
3
+ import { useInputFocus } from '../../../../hooks/useInputFocus';
4
+ import { StyledCurrencyInputFromLibrary, InputWrapper } from './styles';
5
+ import { MODERN_STYLE_SIZE_PARAMS_MAP, SIZE_PARAMS_MAP } from '../../constants';
6
+ import { useComponentPalette } from '../../../../palette';
7
+ import { ModernPlaceholder } from '../../ModernPlaceholder';
8
+ export var CoreCurrencyInput = function CoreCurrencyInput(_ref) {
9
+ var label = _ref.label,
10
+ _ref$size = _ref.size,
11
+ size = _ref$size === void 0 ? 'M' : _ref$size,
12
+ _ref$hasError = _ref.hasError,
13
+ hasError = _ref$hasError === void 0 ? false : _ref$hasError,
14
+ value = _ref.value,
15
+ _ref$allowNegativeVal = _ref.allowNegativeValue,
16
+ allowNegativeValue = _ref$allowNegativeVal === void 0 ? false : _ref$allowNegativeVal,
17
+ onValueChange = _ref.onValueChange,
18
+ defaultValue = _ref.defaultValue,
19
+ _ref$allowDecimals = _ref.allowDecimals,
20
+ allowDecimals = _ref$allowDecimals === void 0 ? true : _ref$allowDecimals,
21
+ disabled = _ref.disabled,
22
+ _ref$required = _ref.required,
23
+ required = _ref$required === void 0 ? false : _ref$required,
24
+ onBlur = _ref.onBlur,
25
+ _ref$useModernStyles = _ref.useModernStyles,
26
+ useModernStyles = _ref$useModernStyles === void 0 ? false : _ref$useModernStyles;
27
+ var _useInputFocus = useInputFocus({
28
+ onBlur: onBlur
29
+ }),
30
+ inFocus = _useInputFocus.inFocus,
31
+ handleFocus = _useInputFocus.handleFocus,
32
+ handleBlur = _useInputFocus.handleBlur;
33
+ var palette = useComponentPalette('pureInput');
34
+ var inputLabel = useMemo(function () {
35
+ if (useModernStyles) {
36
+ if (typeof defaultValue === 'number' || inFocus || typeof value === 'number') {
37
+ return label;
38
+ } else {
39
+ return undefined;
40
+ }
41
+ } else {
42
+ return label;
43
+ }
44
+ }, [useModernStyles, defaultValue, inFocus, label, value]);
45
+ var paddingOptions = useMemo(function () {
46
+ if ((typeof defaultValue === 'number' || typeof value === 'number' || inFocus) && useModernStyles && inputLabel) {
47
+ return MODERN_STYLE_SIZE_PARAMS_MAP[size];
48
+ } else {
49
+ return SIZE_PARAMS_MAP[size];
50
+ }
51
+ }, [defaultValue, useModernStyles, size, inFocus, inputLabel, value]);
52
+ var isModernPlaceholderVisible = useMemo(function () {
53
+ return !inFocus && !defaultValue && defaultValue !== 0 && !value && value !== 0;
54
+ }, [defaultValue, inFocus, value]);
55
+ return /*#__PURE__*/React.createElement(InputLabel, {
56
+ inFocus: inFocus,
57
+ label: inputLabel,
58
+ disabled: disabled,
59
+ required: required,
60
+ useModernStyles: useModernStyles,
61
+ size: size
62
+ }, /*#__PURE__*/React.createElement(InputWrapper, null, useModernStyles && label && /*#__PURE__*/React.createElement(ModernPlaceholder, {
63
+ visible: isModernPlaceholderVisible,
64
+ paddingLeft: 18,
65
+ paddingTop: SIZE_PARAMS_MAP[size].paddingTop,
66
+ size: size,
67
+ required: required
68
+ }, label), /*#__PURE__*/React.createElement(StyledCurrencyInputFromLibrary, {
69
+ $palette: palette,
70
+ $hasBorder: !useModernStyles,
71
+ $paddingLeft: 18,
72
+ $paddingRight: 18,
73
+ $borderRadius: 10,
74
+ $variant: paddingOptions.variant,
75
+ $paddingTop: paddingOptions.paddingTop,
76
+ $paddingBottom: paddingOptions.paddingBottom,
77
+ $hasError: hasError,
78
+ $inFocus: inFocus,
79
+ onBlur: handleBlur,
80
+ onFocus: handleFocus
81
+ // currency props
82
+ ,
83
+ value: value,
84
+ allowNegativeValue: allowNegativeValue,
85
+ onValueChange: onValueChange,
86
+ defaultValue: defaultValue,
87
+ allowDecimals: allowDecimals,
88
+ decimalsLimit: 2,
89
+ decimalSeparator: ',',
90
+ groupSeparator: ' ',
91
+ disabled: disabled,
92
+ disableAbbreviations: true,
93
+ $useModernStyles: useModernStyles
94
+ })));
95
+ };