@invoicebox/ui 0.1.0-alpha.7 → 0.1.0-alpha.70

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 (296) hide show
  1. package/README.md +15 -1
  2. package/dist/breakpoints/index.d.ts +7 -0
  3. package/dist/breakpoints/index.js +13 -0
  4. package/dist/components/common/Arrow/components/StyledSvg/index.d.ts +8 -0
  5. package/dist/components/common/Arrow/components/StyledSvg/index.js +25 -0
  6. package/dist/components/common/Arrow/components/StyledSvg/index.stories.d.ts +5 -0
  7. package/dist/components/common/Arrow/components/StyledSvg/index.stories.js +26 -0
  8. package/dist/components/common/Arrow/components/Svg/index.d.ts +6 -0
  9. package/dist/components/common/Arrow/components/Svg/index.js +26 -0
  10. package/dist/components/common/Arrow/components/Svg/index.stories.d.ts +6 -0
  11. package/dist/components/common/Arrow/components/Svg/index.stories.js +21 -0
  12. package/dist/components/common/Arrow/index.d.ts +10 -0
  13. package/dist/components/common/Arrow/index.js +29 -0
  14. package/dist/components/common/Arrow/index.stories.d.ts +6 -0
  15. package/dist/components/common/Arrow/index.stories.js +21 -0
  16. package/dist/components/common/Arrow/palette.d.ts +6 -0
  17. package/dist/components/common/Arrow/palette.js +14 -0
  18. package/dist/components/common/Calendar/docs.stories.d.ts +6 -0
  19. package/dist/components/common/Calendar/docs.stories.js +20 -0
  20. package/dist/components/common/Calendar/index.css +81 -0
  21. package/dist/components/common/Calendar/index.d.ts +8 -0
  22. package/dist/components/common/Calendar/index.js +40 -0
  23. package/dist/components/common/Calendar/index.stories.d.ts +7 -0
  24. package/dist/components/common/Calendar/index.stories.js +55 -0
  25. package/dist/components/common/Calendar/palette.d.ts +9 -0
  26. package/dist/components/common/Calendar/palette.js +17 -0
  27. package/dist/components/common/Divider/index.d.ts +6 -0
  28. package/dist/components/common/Divider/index.js +20 -0
  29. package/dist/components/common/Divider/index.stories.d.ts +6 -0
  30. package/dist/components/common/Divider/index.stories.js +14 -0
  31. package/dist/components/common/Divider/palette.d.ts +5 -0
  32. package/dist/components/common/Divider/palette.js +11 -0
  33. package/dist/components/common/Divider/styles.d.ts +5 -0
  34. package/dist/components/common/Divider/styles.js +15 -0
  35. package/dist/components/common/Dropdown/index.d.ts +14 -0
  36. package/dist/components/common/Dropdown/index.js +117 -0
  37. package/dist/components/common/Dropdown/index.stories.d.ts +6 -0
  38. package/dist/components/common/Dropdown/index.stories.js +59 -0
  39. package/dist/components/common/Dropdown/palette.d.ts +6 -0
  40. package/dist/components/common/Dropdown/palette.js +14 -0
  41. package/dist/components/common/Dropdown/styles.d.ts +14 -0
  42. package/dist/components/common/Dropdown/styles.js +47 -0
  43. package/dist/components/common/Flag/components/ArmFlag/index.d.ts +1 -0
  44. package/dist/components/common/Flag/components/ArmFlag/index.js +30 -0
  45. package/dist/components/common/Flag/components/ArmFlag/index.stories.d.ts +5 -0
  46. package/dist/components/common/Flag/components/ArmFlag/index.stories.js +14 -0
  47. package/dist/components/common/Flag/components/AzeFlag/index.d.ts +1 -0
  48. package/dist/components/common/Flag/components/AzeFlag/index.js +40 -0
  49. package/dist/components/common/Flag/components/AzeFlag/index.stories.d.ts +5 -0
  50. package/dist/components/common/Flag/components/AzeFlag/index.stories.js +14 -0
  51. package/dist/components/common/Flag/components/BlrFlag/index.d.ts +1 -0
  52. package/dist/components/common/Flag/components/BlrFlag/index.js +35 -0
  53. package/dist/components/common/Flag/components/BlrFlag/index.stories.d.ts +5 -0
  54. package/dist/components/common/Flag/components/BlrFlag/index.stories.js +14 -0
  55. package/dist/components/common/Flag/components/ChnFlag/index.d.ts +1 -0
  56. package/dist/components/common/Flag/components/ChnFlag/index.js +32 -0
  57. package/dist/components/common/Flag/components/ChnFlag/index.stories.d.ts +5 -0
  58. package/dist/components/common/Flag/components/ChnFlag/index.stories.js +14 -0
  59. package/dist/components/common/Flag/components/EngFlag/index.d.ts +1 -0
  60. package/dist/components/common/Flag/components/EngFlag/index.js +54 -0
  61. package/dist/components/common/Flag/components/EngFlag/index.stories.d.ts +5 -0
  62. package/dist/components/common/Flag/components/EngFlag/index.stories.js +14 -0
  63. package/dist/components/common/Flag/components/EspFlag/index.d.ts +1 -0
  64. package/dist/components/common/Flag/components/EspFlag/index.js +86 -0
  65. package/dist/components/common/Flag/components/EspFlag/index.stories.d.ts +5 -0
  66. package/dist/components/common/Flag/components/EspFlag/index.stories.js +14 -0
  67. package/dist/components/common/Flag/components/KazFlag/index.d.ts +1 -0
  68. package/dist/components/common/Flag/components/KazFlag/index.js +35 -0
  69. package/dist/components/common/Flag/components/KazFlag/index.stories.d.ts +5 -0
  70. package/dist/components/common/Flag/components/KazFlag/index.stories.js +14 -0
  71. package/dist/components/common/Flag/components/KgzFlag/index.d.ts +1 -0
  72. package/dist/components/common/Flag/components/KgzFlag/index.js +32 -0
  73. package/dist/components/common/Flag/components/KgzFlag/index.stories.d.ts +5 -0
  74. package/dist/components/common/Flag/components/KgzFlag/index.stories.js +14 -0
  75. package/dist/components/common/Flag/components/MdaFlag/index.d.ts +1 -0
  76. package/dist/components/common/Flag/components/MdaFlag/index.js +52 -0
  77. package/dist/components/common/Flag/components/MdaFlag/index.stories.d.ts +5 -0
  78. package/dist/components/common/Flag/components/MdaFlag/index.stories.js +14 -0
  79. package/dist/components/common/Flag/components/RusFlag/index.d.ts +1 -0
  80. package/dist/components/common/Flag/components/RusFlag/index.js +32 -0
  81. package/dist/components/common/Flag/components/RusFlag/index.stories.d.ts +5 -0
  82. package/dist/components/common/Flag/components/RusFlag/index.stories.js +14 -0
  83. package/dist/components/common/Flag/components/TjkFlag/index.d.ts +1 -0
  84. package/dist/components/common/Flag/components/TjkFlag/index.js +37 -0
  85. package/dist/components/common/Flag/components/TjkFlag/index.stories.d.ts +5 -0
  86. package/dist/components/common/Flag/components/TjkFlag/index.stories.js +14 -0
  87. package/dist/components/common/Flag/components/UzbFlag/index.d.ts +1 -0
  88. package/dist/components/common/Flag/components/UzbFlag/index.js +43 -0
  89. package/dist/components/common/Flag/components/UzbFlag/index.stories.d.ts +5 -0
  90. package/dist/components/common/Flag/components/UzbFlag/index.stories.js +14 -0
  91. package/dist/components/common/Flag/index.d.ts +12 -0
  92. package/dist/components/common/Flag/index.js +49 -0
  93. package/dist/components/common/Flag/index.stories.d.ts +6 -0
  94. package/dist/components/common/Flag/index.stories.js +23 -0
  95. package/dist/components/common/Flag/styles.d.ts +5 -0
  96. package/dist/components/common/Flag/styles.js +18 -0
  97. package/dist/components/common/InvoiceboxLoader/assets/loader.json +1 -0
  98. package/dist/components/common/InvoiceboxLoader/index.d.ts +5 -0
  99. package/dist/components/common/InvoiceboxLoader/index.js +878 -0
  100. package/dist/components/common/InvoiceboxLoader/index.stories.d.ts +5 -0
  101. package/dist/components/common/InvoiceboxLoader/index.stories.js +18 -0
  102. package/dist/components/common/InvoiceboxSpinner/index.d.ts +7 -0
  103. package/dist/components/common/InvoiceboxSpinner/index.js +39 -0
  104. package/dist/components/common/InvoiceboxSpinner/index.stories.d.ts +10 -0
  105. package/dist/components/common/InvoiceboxSpinner/index.stories.js +18 -0
  106. package/dist/components/common/InvoiceboxSpinner/palette.d.ts +6 -0
  107. package/dist/components/common/InvoiceboxSpinner/palette.js +12 -0
  108. package/dist/components/common/InvoiceboxSpinner/styles.d.ts +4 -0
  109. package/dist/components/common/InvoiceboxSpinner/styles.js +19 -0
  110. package/dist/components/common/Scrollbar/index.d.ts +6 -0
  111. package/dist/components/common/Scrollbar/index.js +70 -0
  112. package/dist/components/common/Scrollbar/index.stories.d.ts +13 -0
  113. package/dist/components/common/Scrollbar/index.stories.js +45 -0
  114. package/dist/components/common/Scrollbar/palette.d.ts +5 -0
  115. package/dist/components/common/Scrollbar/palette.js +11 -0
  116. package/dist/components/common/SecondaryButton/index.d.ts +15 -0
  117. package/dist/components/common/SecondaryButton/index.js +48 -0
  118. package/dist/components/common/SecondaryButton/index.stories.d.ts +11 -0
  119. package/dist/components/common/SecondaryButton/index.stories.js +38 -0
  120. package/dist/components/common/SecondaryButton/palette.d.ts +8 -0
  121. package/dist/components/common/SecondaryButton/palette.js +14 -0
  122. package/dist/components/common/SecondaryButton/styles.d.ts +11 -0
  123. package/dist/components/common/SecondaryButton/styles.js +46 -0
  124. package/dist/components/common/Skeleton/index.d.ts +8 -0
  125. package/dist/components/common/Skeleton/index.js +28 -0
  126. package/dist/components/common/Skeleton/index.stories.d.ts +11 -0
  127. package/dist/components/common/Skeleton/index.stories.js +29 -0
  128. package/dist/components/common/Skeleton/palette.d.ts +6 -0
  129. package/dist/components/common/Skeleton/palette.js +12 -0
  130. package/dist/components/common/Skeleton/styles.d.ts +10 -0
  131. package/dist/components/common/Skeleton/styles.js +37 -0
  132. package/dist/components/common/Typography/index.d.ts +25 -0
  133. package/dist/components/common/Typography/index.js +32 -0
  134. package/dist/components/common/Typography/index.stories.d.ts +11 -0
  135. package/dist/components/common/Typography/index.stories.js +36 -0
  136. package/dist/components/common/Typography/styles.d.ts +5 -0
  137. package/dist/components/common/Typography/styles.js +16 -0
  138. package/dist/components/common/Typography/typography.d.ts +20 -0
  139. package/dist/components/common/Typography/typography.js +28 -0
  140. package/dist/components/common/WarningIcon/components/Icon.d.ts +6 -0
  141. package/dist/components/common/WarningIcon/components/Icon.js +22 -0
  142. package/dist/components/common/WarningIcon/index.d.ts +7 -0
  143. package/dist/components/common/WarningIcon/index.js +23 -0
  144. package/dist/components/common/WarningIcon/index.stories.d.ts +5 -0
  145. package/dist/components/common/WarningIcon/index.stories.js +14 -0
  146. package/dist/components/common/WarningIcon/palette.d.ts +5 -0
  147. package/dist/components/common/WarningIcon/palette.js +11 -0
  148. package/dist/components/common/WarningIcon/styles.d.ts +10 -0
  149. package/dist/components/common/WarningIcon/styles.js +22 -0
  150. package/dist/components/form/CountrySelect/components/CountryItem/index.d.ts +13 -0
  151. package/dist/components/form/CountrySelect/components/CountryItem/index.js +42 -0
  152. package/dist/components/form/CountrySelect/components/CountryItem/index.stories.d.ts +5 -0
  153. package/dist/components/form/CountrySelect/components/CountryItem/index.stories.js +34 -0
  154. package/dist/components/form/CountrySelect/components/CountryItem/stlyes.d.ts +9 -0
  155. package/dist/components/form/CountrySelect/components/CountryItem/stlyes.js +31 -0
  156. package/dist/components/form/CountrySelect/index.d.ts +22 -0
  157. package/dist/components/form/CountrySelect/index.js +123 -0
  158. package/dist/components/form/CountrySelect/index.stories.d.ts +5 -0
  159. package/dist/components/form/CountrySelect/index.stories.js +57 -0
  160. package/dist/components/form/CountrySelect/logic.d.ts +5 -0
  161. package/dist/components/form/CountrySelect/logic.js +25 -0
  162. package/dist/components/form/CountrySelect/palette.d.ts +9 -0
  163. package/dist/components/form/CountrySelect/palette.js +17 -0
  164. package/dist/components/form/CountrySelect/stlyes.d.ts +8 -0
  165. package/dist/components/form/CountrySelect/stlyes.js +27 -0
  166. package/dist/components/form/DateInput/components/Icon/index.d.ts +1 -0
  167. package/dist/components/form/DateInput/components/Icon/index.js +33 -0
  168. package/dist/components/form/DateInput/components/Icon/index.stories.d.ts +5 -0
  169. package/dist/components/form/DateInput/components/Icon/index.stories.js +14 -0
  170. package/dist/components/form/DateInput/docs.stories.d.ts +6 -0
  171. package/dist/components/form/DateInput/docs.stories.js +20 -0
  172. package/dist/components/form/DateInput/index.d.ts +9 -0
  173. package/dist/components/form/DateInput/index.js +111 -0
  174. package/dist/components/form/DateInput/index.stories.d.ts +7 -0
  175. package/dist/components/form/DateInput/index.stories.js +52 -0
  176. package/dist/components/form/DateInput/logic.d.ts +10 -0
  177. package/dist/components/form/DateInput/logic.js +71 -0
  178. package/dist/components/form/DateInput/palette.d.ts +5 -0
  179. package/dist/components/form/DateInput/palette.js +11 -0
  180. package/dist/components/form/DateInput/styles.d.ts +8 -0
  181. package/dist/components/form/DateInput/styles.js +28 -0
  182. package/dist/components/form/InputLabel/index.d.ts +8 -0
  183. package/dist/components/form/InputLabel/index.js +31 -0
  184. package/dist/components/form/InputLabel/index.stories.d.ts +5 -0
  185. package/dist/components/form/InputLabel/index.stories.js +33 -0
  186. package/dist/components/form/InputLabel/palette.d.ts +7 -0
  187. package/dist/components/form/InputLabel/palette.js +13 -0
  188. package/dist/components/form/InputLabel/styles.d.ts +11 -0
  189. package/dist/components/form/InputLabel/styles.js +36 -0
  190. package/dist/components/form/PhoneInput/constants.d.ts +3 -0
  191. package/dist/components/form/PhoneInput/constants.js +58 -0
  192. package/dist/components/form/PhoneInput/hooks/useValidateInitialValue.d.ts +4 -0
  193. package/dist/components/form/PhoneInput/hooks/useValidateInitialValue.js +41 -0
  194. package/dist/components/form/PhoneInput/index.d.ts +21 -0
  195. package/dist/components/form/PhoneInput/index.js +179 -0
  196. package/dist/components/form/PhoneInput/index.stories.d.ts +6 -0
  197. package/dist/components/form/PhoneInput/index.stories.js +93 -0
  198. package/dist/components/form/PhoneInput/phoneInputLogic.d.ts +23 -0
  199. package/dist/components/form/PhoneInput/phoneInputLogic.js +105 -0
  200. package/dist/components/form/PhoneInput/styles.d.ts +4 -0
  201. package/dist/components/form/PhoneInput/styles.js +20 -0
  202. package/dist/components/form/PhoneInput/types.d.ts +16 -0
  203. package/dist/components/form/PhoneInput/types.js +8 -0
  204. package/dist/components/form/PositiveIntegerInput/hooks/useFilters.d.ts +6 -0
  205. package/dist/components/form/PositiveIntegerInput/hooks/useFilters.js +21 -0
  206. package/dist/components/form/PositiveIntegerInput/hooks/useIncrement.d.ts +4 -0
  207. package/dist/components/form/PositiveIntegerInput/hooks/useIncrement.js +22 -0
  208. package/dist/components/form/PositiveIntegerInput/hooks/useIncrementDisabledFlags.d.ts +9 -0
  209. package/dist/components/form/PositiveIntegerInput/hooks/useIncrementDisabledFlags.js +24 -0
  210. package/dist/components/form/PositiveIntegerInput/hooks/useNormalizers.d.ts +4 -0
  211. package/dist/components/form/PositiveIntegerInput/hooks/useNormalizers.js +22 -0
  212. package/dist/components/form/PositiveIntegerInput/index.d.ts +10 -0
  213. package/dist/components/form/PositiveIntegerInput/index.js +94 -0
  214. package/dist/components/form/PositiveIntegerInput/index.stories.d.ts +5 -0
  215. package/dist/components/form/PositiveIntegerInput/index.stories.js +49 -0
  216. package/dist/components/form/PositiveIntegerInput/styles.d.ts +6 -0
  217. package/dist/components/form/PositiveIntegerInput/styles.js +25 -0
  218. package/dist/components/form/PureInput/index.d.ts +17 -0
  219. package/dist/components/form/PureInput/index.js +43 -0
  220. package/dist/components/form/PureInput/index.stories.d.ts +5 -0
  221. package/dist/components/form/PureInput/index.stories.js +23 -0
  222. package/dist/components/form/PureInput/palette.d.ts +10 -0
  223. package/dist/components/form/PureInput/palette.js +18 -0
  224. package/dist/components/form/PureInput/styles.d.ts +10 -0
  225. package/dist/components/form/PureInput/styles.js +34 -0
  226. package/dist/components/form/SearchInput/components/CrossIcon/index.d.ts +1 -0
  227. package/dist/components/form/SearchInput/components/CrossIcon/index.js +23 -0
  228. package/dist/components/form/SearchInput/components/CrossIcon/index.stories.d.ts +5 -0
  229. package/dist/components/form/SearchInput/components/CrossIcon/index.stories.js +14 -0
  230. package/dist/components/form/SearchInput/components/SearchIcon/index.d.ts +1 -0
  231. package/dist/components/form/SearchInput/components/SearchIcon/index.js +24 -0
  232. package/dist/components/form/SearchInput/components/SearchIcon/index.stories.d.ts +5 -0
  233. package/dist/components/form/SearchInput/components/SearchIcon/index.stories.js +14 -0
  234. package/dist/components/form/SearchInput/index.d.ts +7 -0
  235. package/dist/components/form/SearchInput/index.js +50 -0
  236. package/dist/components/form/SearchInput/index.stories.d.ts +5 -0
  237. package/dist/components/form/SearchInput/index.stories.js +38 -0
  238. package/dist/components/form/SearchInput/palette.d.ts +5 -0
  239. package/dist/components/form/SearchInput/palette.js +11 -0
  240. package/dist/components/form/SearchInput/styles.d.ts +7 -0
  241. package/dist/components/form/SearchInput/styles.js +25 -0
  242. package/dist/components/form/Select/components/Input/index.d.ts +6 -0
  243. package/dist/components/form/Select/components/Input/index.js +42 -0
  244. package/dist/components/form/Select/components/Input/index.stories.d.ts +5 -0
  245. package/dist/components/form/Select/components/Input/index.stories.js +27 -0
  246. package/dist/components/form/Select/components/Input/styles.d.ts +3 -0
  247. package/dist/components/form/Select/components/Input/styles.js +16 -0
  248. package/dist/components/form/Select/hooks/useOptionGroups.d.ts +5 -0
  249. package/dist/components/form/Select/hooks/useOptionGroups.js +33 -0
  250. package/dist/components/form/Select/index.d.ts +17 -0
  251. package/dist/components/form/Select/index.js +138 -0
  252. package/dist/components/form/Select/index.stories.d.ts +5 -0
  253. package/dist/components/form/Select/index.stories.js +96 -0
  254. package/dist/components/form/Select/palette.d.ts +5 -0
  255. package/dist/components/form/Select/palette.js +13 -0
  256. package/dist/components/form/Select/styles.d.ts +10 -0
  257. package/dist/components/form/Select/styles.js +37 -0
  258. package/dist/hooks/useCss/index.d.ts +6 -0
  259. package/dist/hooks/useCss/index.js +31 -0
  260. package/dist/hooks/useCss/index.stories.d.ts +4 -0
  261. package/dist/hooks/useCss/index.stories.js +38 -0
  262. package/dist/hooks/useInputFocus/index.d.ts +11 -0
  263. package/dist/hooks/useInputFocus/index.js +37 -0
  264. package/dist/hooks/useInputFocus/index.stories.d.ts +4 -0
  265. package/dist/hooks/useInputFocus/index.stories.js +29 -0
  266. package/dist/hooks/useOutsideClick/index.d.ts +2 -0
  267. package/dist/hooks/useOutsideClick/index.js +22 -0
  268. package/dist/hooks/useOutsideClick/index.stories.d.ts +4 -0
  269. package/dist/hooks/useOutsideClick/index.stories.js +27 -0
  270. package/dist/index.d.ts +35 -1
  271. package/dist/index.js +157 -3
  272. package/dist/palette/colors.stories.d.ts +4 -0
  273. package/dist/palette/colors.stories.js +41 -0
  274. package/dist/palette/constants.d.ts +2 -0
  275. package/dist/palette/constants.js +18 -0
  276. package/dist/palette/context.d.ts +35 -0
  277. package/dist/palette/context.js +40 -0
  278. package/dist/palette/index.d.ts +3 -0
  279. package/dist/palette/index.js +19 -0
  280. package/dist/palette/index.stories.d.ts +4 -0
  281. package/dist/palette/index.stories.js +83 -0
  282. package/dist/palette/provider.d.ts +10 -0
  283. package/dist/palette/provider.js +65 -0
  284. package/dist/palette/types.d.ts +12 -0
  285. package/dist/palette/types.js +1 -0
  286. package/dist/palette/useComponentPalette.d.ts +2 -0
  287. package/dist/palette/useComponentPalette.js +22 -0
  288. package/dist/palette/usePalette.d.ts +17 -0
  289. package/dist/palette/usePalette.js +11 -0
  290. package/package.json +18 -6
  291. package/dist/stories/Button.d.ts +0 -26
  292. package/dist/stories/Button.js +0 -43
  293. package/dist/stories/Button.stories.d.ts +0 -21
  294. package/dist/stories/Button.stories.js +0 -49
  295. package/dist/stories/styles.d.ts +0 -30
  296. package/dist/stories/styles.js +0 -36
@@ -0,0 +1,138 @@
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.Select = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var S = _interopRequireWildcard(require("./styles"));
10
+ var _Input = require("./components/Input");
11
+ var _useInputFocus2 = require("../../../hooks/useInputFocus");
12
+ var _Dropdown = require("../../common/Dropdown");
13
+ var _Scrollbar = require("../../common/Scrollbar");
14
+ var _useOutsideClick = require("../../../hooks/useOutsideClick");
15
+ var _palette = require("../../../palette");
16
+ var _useOptionGroups = require("./hooks/useOptionGroups");
17
+ 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); }
18
+ 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 && Object.prototype.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; }
19
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
20
+ 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."); }
21
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
22
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
23
+ 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; } }
24
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
25
+ var LIST_HEIGHT = 294;
26
+ var OPTION_IDENTIFIER = 'option-identifier';
27
+ var Select = exports.Select = function Select(_ref) {
28
+ var label = _ref.label,
29
+ hasError = _ref.hasError,
30
+ placeholder = _ref.placeholder,
31
+ onFocus = _ref.onFocus,
32
+ onBlur = _ref.onBlur,
33
+ name = _ref.name,
34
+ value = _ref.value,
35
+ onChange = _ref.onChange,
36
+ options = _ref.options,
37
+ _ref$groups = _ref.groups,
38
+ groups = _ref$groups === void 0 ? [] : _ref$groups;
39
+ var palette = (0, _palette.useComponentPalette)('select');
40
+ var _useInputFocus = (0, _useInputFocus2.useInputFocus)({
41
+ onFocus: onFocus,
42
+ onBlur: onBlur
43
+ }),
44
+ inFocus = _useInputFocus.inFocus,
45
+ focusHandler = _useInputFocus.handleFocus,
46
+ blurHandler = _useInputFocus.handleBlur;
47
+ var _useState = (0, _react.useState)(false),
48
+ _useState2 = _slicedToArray(_useState, 2),
49
+ isOpen = _useState2[0],
50
+ setIsOpen = _useState2[1];
51
+
52
+ /*
53
+ существует интеграционная проблема селекта с final-form
54
+ Суть:
55
+ - пользователь выбирает опцию;
56
+ - срабатывает onBlur;
57
+ - final-form помечает поле, как toched;
58
+ - если поле не валидно, hasError становится true, отображается красная рамка;
59
+ - срабатывает onChange, и если поле валидно рамка пропадает;
60
+ т.е. рамка мигает, хотя такого быть не должно;
61
+ так появилась логика delayBlur
62
+ */
63
+ var delayBlur = (0, _react.useRef)(null);
64
+ var selectedOption = (0, _react.useMemo)(function () {
65
+ return options.find(function (option) {
66
+ return option.value === value;
67
+ });
68
+ }, [options, value]);
69
+ var optionGroups = (0, _useOptionGroups.useOptionGroups)(options, groups);
70
+ var handleShow = (0, _react.useCallback)(function () {
71
+ return setIsOpen(true);
72
+ }, []);
73
+ var handleHide = (0, _react.useCallback)(function () {
74
+ return setIsOpen(false);
75
+ }, []);
76
+ var wrapperRef = (0, _useOutsideClick.useOutsideClick)(handleHide);
77
+ var handleFocus = (0, _react.useCallback)(function (event) {
78
+ handleShow();
79
+ focusHandler(event);
80
+ }, [focusHandler, handleShow]);
81
+ var handleBlur = (0, _react.useCallback)(function (event) {
82
+ var relatedTarget = event.relatedTarget;
83
+ var isOptionClick = (relatedTarget === null || relatedTarget === void 0 ? void 0 : relatedTarget.dataset.optionIdentifier) === OPTION_IDENTIFIER;
84
+ if (!isOptionClick) {
85
+ blurHandler(event);
86
+ return;
87
+ }
88
+ delayBlur.current = function () {
89
+ return blurHandler(event);
90
+ };
91
+ }, [blurHandler]);
92
+ var handleSelect = (0, _react.useCallback)(function (event) {
93
+ var newValue = JSON.parse(event.currentTarget.dataset.value);
94
+ onChange(newValue);
95
+ handleHide();
96
+ if (delayBlur.current) {
97
+ delayBlur.current();
98
+ delayBlur.current = null;
99
+ }
100
+ }, [handleHide, onChange]);
101
+ return /*#__PURE__*/_react["default"].createElement(S.Wrapper, {
102
+ ref: wrapperRef
103
+ }, /*#__PURE__*/_react["default"].createElement(S.InputWrapper, null, /*#__PURE__*/_react["default"].createElement(_Input.Input, {
104
+ label: label,
105
+ hasError: hasError,
106
+ inFocus: inFocus,
107
+ placeholder: placeholder,
108
+ onFocus: handleFocus,
109
+ onBlur: handleBlur,
110
+ value: (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) || '',
111
+ name: name,
112
+ isOpen: isOpen
113
+ })), /*#__PURE__*/_react["default"].createElement(_Dropdown.Dropdown, {
114
+ isOpen: isOpen,
115
+ isAutoPosition: true,
116
+ width: "100%"
117
+ }, /*#__PURE__*/_react["default"].createElement(S.Options, null, /*#__PURE__*/_react["default"].createElement(_Scrollbar.Scrollbar, {
118
+ maxHeight: LIST_HEIGHT
119
+ }, optionGroups.map(function (_ref2) {
120
+ var group = _ref2.group,
121
+ groupOptions = _ref2.options;
122
+ return /*#__PURE__*/_react["default"].createElement(_react.Fragment, {
123
+ key: (group === null || group === void 0 ? void 0 : group.id) || null
124
+ }, !group ? null : /*#__PURE__*/_react["default"].createElement(S.Group, {
125
+ variant: "headerText"
126
+ }, group.label), groupOptions.map(function (option) {
127
+ return /*#__PURE__*/_react["default"].createElement(S.Option, {
128
+ key: option.value,
129
+ $palette: palette,
130
+ variant: "bodyMRegular",
131
+ onClick: handleSelect,
132
+ "data-value": JSON.stringify(option.value),
133
+ "data-option-identifier": OPTION_IDENTIFIER,
134
+ $isGrouped: !!group
135
+ }, option.label);
136
+ }));
137
+ })))));
138
+ };
@@ -0,0 +1,5 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { Select } from '.';
3
+ declare const meta: Meta<typeof Select>;
4
+ export default meta;
5
+ export declare const Default: StoryObj<typeof Select>;
@@ -0,0 +1,96 @@
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.Default = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _addonActions = require("@storybook/addon-actions");
10
+ var _ = require(".");
11
+ 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); }
12
+ 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 && Object.prototype.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; }
13
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
14
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
15
+ 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."); }
16
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
17
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
18
+ 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; } }
19
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
20
+ var meta = {
21
+ title: 'form/Select',
22
+ component: _.Select,
23
+ tags: ['autodocs']
24
+ };
25
+ var _default = exports["default"] = meta;
26
+ var selectOptions = [{
27
+ label: 'Option 1',
28
+ value: 'option-1',
29
+ groupId: '1'
30
+ }, {
31
+ label: 'Option 2',
32
+ value: 'option-2',
33
+ groupId: '1'
34
+ }, {
35
+ label: 'Option 3',
36
+ value: 'option-3',
37
+ groupId: '2'
38
+ }, {
39
+ label: 'Option 4',
40
+ value: 'option-4',
41
+ groupId: '2'
42
+ }, {
43
+ label: 'Option 5',
44
+ value: 'option-5'
45
+ }, {
46
+ label: 'Option 6',
47
+ value: 'option-6'
48
+ }, {
49
+ label: 'Option 7',
50
+ value: 'option-7'
51
+ }, {
52
+ label: 'Option 8',
53
+ value: 'option-8'
54
+ }, {
55
+ label: 'Option 9',
56
+ value: 'option-9'
57
+ }, {
58
+ label: 'Option 10',
59
+ value: 'option-10'
60
+ }, {
61
+ label: 'Option 11',
62
+ value: 'option-11'
63
+ }, {
64
+ label: 'Option 12',
65
+ value: 'option-12'
66
+ }];
67
+ var Default = exports.Default = {
68
+ args: {
69
+ hasError: false,
70
+ label: 'Label',
71
+ name: 'name',
72
+ placeholder: 'Placeholder',
73
+ groups: [{
74
+ label: 'Group 1',
75
+ id: '1'
76
+ }, {
77
+ label: 'Group 2',
78
+ id: '2'
79
+ }]
80
+ },
81
+ render: function Component(props) {
82
+ var _useState = (0, _react.useState)(null),
83
+ _useState2 = _slicedToArray(_useState, 2),
84
+ value = _useState2[0],
85
+ setValue = _useState2[1];
86
+ var handleChange = (0, _react.useCallback)(function (newValue) {
87
+ setValue(newValue);
88
+ (0, _addonActions.action)('onChange')(newValue);
89
+ }, []);
90
+ return /*#__PURE__*/_react["default"].createElement(_.Select, _extends({}, props, {
91
+ value: value,
92
+ onChange: handleChange,
93
+ options: selectOptions
94
+ }));
95
+ }
96
+ };
@@ -0,0 +1,5 @@
1
+ import { TAbstractPalette } from '../../../palette';
2
+ export type TSelectPalette = {
3
+ bgHover: string;
4
+ };
5
+ export declare const generateSelectPalette: (abstractPalette: TAbstractPalette) => TSelectPalette;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.generateSelectPalette = void 0;
7
+ var _hexToRgba = _interopRequireDefault(require("hex-to-rgba"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
9
+ var generateSelectPalette = exports.generateSelectPalette = function generateSelectPalette(abstractPalette) {
10
+ return {
11
+ bgHover: (0, _hexToRgba["default"])(abstractPalette.neutralUsual, 0.5)
12
+ };
13
+ };
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ import { TSelectPalette } from './palette';
3
+ export declare const Wrapper: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
4
+ export declare const InputWrapper: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
5
+ export declare const Options: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
6
+ export declare const Option: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("../../common/Typography").TProps & import("react").RefAttributes<HTMLInputElement>, {
7
+ $palette: TSelectPalette;
8
+ $isGrouped: boolean;
9
+ }>> & Omit<import("react").ForwardRefExoticComponent<import("../../common/Typography").TProps & import("react").RefAttributes<HTMLInputElement>>, keyof import("react").Component<any, {}, any>>;
10
+ export declare const Group: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("../../common/Typography").TProps & import("react").RefAttributes<HTMLInputElement>, import("styled-components/dist/types").BaseObject>> & Omit<import("react").ForwardRefExoticComponent<import("../../common/Typography").TProps & import("react").RefAttributes<HTMLInputElement>>, keyof import("react").Component<any, {}, any>>;
@@ -0,0 +1,37 @@
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.Wrapper = exports.Options = exports.Option = exports.InputWrapper = exports.Group = void 0;
8
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
9
+ var _Typography = require("../../common/Typography");
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 && Object.prototype.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
+ var Wrapper = exports.Wrapper = _styledComponents["default"].div.withConfig({
13
+ displayName: "styles__Wrapper",
14
+ componentId: "sc-1x9n0z5-0"
15
+ })(["position:relative;width:100%;"]);
16
+ var InputWrapper = exports.InputWrapper = _styledComponents["default"].div.withConfig({
17
+ displayName: "styles__InputWrapper",
18
+ componentId: "sc-1x9n0z5-1"
19
+ })(["cursor:pointer;input{cursor:pointer;}"]);
20
+ var Options = exports.Options = _styledComponents["default"].div.withConfig({
21
+ displayName: "styles__Options",
22
+ componentId: "sc-1x9n0z5-2"
23
+ })(["display:flex;flex-direction:column;"]);
24
+ var Option = exports.Option = (0, _styledComponents["default"])(_Typography.Typography).withConfig({
25
+ displayName: "styles__Option",
26
+ componentId: "sc-1x9n0z5-3"
27
+ })(["overflow:hidden;display:flex;width:100%;text-align:left;flex-direction:column;padding:12px 20px;transition:all 0.2s ease-in-out 0s;box-sizing:border-box;cursor:pointer;&:hover{background-color:", ";}", ""], function (_ref) {
28
+ var $palette = _ref.$palette;
29
+ return $palette.bgHover;
30
+ }, function (_ref2) {
31
+ var $isGrouped = _ref2.$isGrouped;
32
+ return $isGrouped && (0, _styledComponents.css)(["padding-left:30px;"]);
33
+ });
34
+ var Group = exports.Group = (0, _styledComponents["default"])(_Typography.Typography).withConfig({
35
+ displayName: "styles__Group",
36
+ componentId: "sc-1x9n0z5-4"
37
+ })(["padding:12px 20px;"]);
@@ -0,0 +1,6 @@
1
+ type TProps = {
2
+ id: string;
3
+ css: string;
4
+ };
5
+ export declare const useCss: ({ id, css }: TProps) => void;
6
+ export {};
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useCss = void 0;
7
+ var _react = require("react");
8
+ var stylesInDOM = new Map();
9
+ var useCss = exports.useCss = function useCss(_ref) {
10
+ var id = _ref.id,
11
+ css = _ref.css;
12
+ var append = (0, _react.useCallback)(function () {
13
+ if (stylesInDOM.has(id)) return;
14
+ var style = document.createElement('style');
15
+ style.type = 'text/css';
16
+ style.innerHTML = css;
17
+ document.head.appendChild(style);
18
+ stylesInDOM.set(id, style);
19
+ }, [id, css]);
20
+ var clear = (0, _react.useCallback)(function () {
21
+ var style = stylesInDOM.get(id);
22
+ if (!style) return;
23
+ document.head.removeChild(style);
24
+ stylesInDOM["delete"](id);
25
+ }, [id]);
26
+ append();
27
+ (0, _react.useEffect)(function () {
28
+ append();
29
+ return clear;
30
+ }, [append, clear]);
31
+ };
@@ -0,0 +1,4 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ declare const meta: Meta;
3
+ export default meta;
4
+ export declare const Default: StoryObj;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.Default = void 0;
7
+ var _ = require(".");
8
+ var _react = require("react");
9
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
10
+ 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."); }
11
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
12
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
13
+ 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; } }
14
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /* eslint-disable react-hooks/rules-of-hooks */
15
+ var meta = {
16
+ title: 'hooks/useCss',
17
+ tags: ['autodocs']
18
+ };
19
+ var _default = exports["default"] = meta;
20
+ var Default = exports.Default = {
21
+ render: function render() {
22
+ var _useState = (0, _react.useState)(true),
23
+ _useState2 = _slicedToArray(_useState, 2),
24
+ isGreen = _useState2[0],
25
+ setIsGreen = _useState2[1];
26
+ (0, _.useCss)({
27
+ id: 'example',
28
+ css: "body { color: ".concat(isGreen ? 'green' : 'blue', "; }")
29
+ });
30
+ return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", null, "some text"), /*#__PURE__*/React.createElement("button", {
31
+ onClick: function onClick() {
32
+ return setIsGreen(function (f) {
33
+ return !f;
34
+ });
35
+ }
36
+ }, "change color"));
37
+ }
38
+ };
@@ -0,0 +1,11 @@
1
+ type TProps<TEvent> = {
2
+ initialFocusFlag?: boolean;
3
+ onFocus?: (e: TEvent) => void;
4
+ onBlur?: (e: TEvent) => void;
5
+ };
6
+ export declare const useInputFocus: <TEvent>({ initialFocusFlag, onFocus, onBlur }?: TProps<TEvent>) => {
7
+ inFocus: boolean;
8
+ handleFocus: (event: TEvent) => void;
9
+ handleBlur: (event: TEvent) => void;
10
+ };
11
+ export {};
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useInputFocus = void 0;
7
+ var _react = require("react");
8
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9
+ 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."); }
10
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
11
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
12
+ 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; } }
13
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14
+ var useInputFocus = exports.useInputFocus = function useInputFocus() {
15
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
16
+ _ref$initialFocusFlag = _ref.initialFocusFlag,
17
+ initialFocusFlag = _ref$initialFocusFlag === void 0 ? false : _ref$initialFocusFlag,
18
+ onFocus = _ref.onFocus,
19
+ onBlur = _ref.onBlur;
20
+ var _useState = (0, _react.useState)(initialFocusFlag),
21
+ _useState2 = _slicedToArray(_useState, 2),
22
+ inFocus = _useState2[0],
23
+ setInFocus = _useState2[1];
24
+ var handleFocus = function handleFocus(event) {
25
+ setInFocus(true);
26
+ if (onFocus) onFocus(event);
27
+ };
28
+ var handleBlur = function handleBlur(event) {
29
+ setInFocus(false);
30
+ if (onBlur) onBlur(event);
31
+ };
32
+ return {
33
+ inFocus: inFocus,
34
+ handleFocus: handleFocus,
35
+ handleBlur: handleBlur
36
+ };
37
+ };
@@ -0,0 +1,4 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ declare const meta: Meta;
3
+ export default meta;
4
+ export declare const Default: StoryObj;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.Default = void 0;
7
+ var _ = require(".");
8
+ /* eslint-disable react-hooks/rules-of-hooks */
9
+
10
+ var meta = {
11
+ title: 'hooks/useInputFocus',
12
+ tags: ['autodocs']
13
+ };
14
+ var _default = exports["default"] = meta;
15
+ var Default = exports.Default = {
16
+ render: function render() {
17
+ var _useInputFocus = (0, _.useInputFocus)(),
18
+ inFocus = _useInputFocus.inFocus,
19
+ handleBlur = _useInputFocus.handleBlur,
20
+ handleFocus = _useInputFocus.handleFocus;
21
+ return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("input", {
22
+ placeholder: "focus me",
23
+ onBlur: handleBlur,
24
+ onFocus: handleFocus
25
+ }), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("code", null, JSON.stringify({
26
+ inFocus: inFocus
27
+ }, null, 2))));
28
+ }
29
+ };
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const useOutsideClick: (onClick: () => void) => import("react").RefObject<HTMLDivElement>;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useOutsideClick = void 0;
7
+ var _react = require("react");
8
+ var useOutsideClick = exports.useOutsideClick = function useOutsideClick(onClick) {
9
+ var ref = (0, _react.useRef)(null);
10
+ (0, _react.useEffect)(function () {
11
+ var handleOutsideClick = function handleOutsideClick(event) {
12
+ if (ref.current && !ref.current.contains(event.target)) {
13
+ onClick();
14
+ }
15
+ };
16
+ document.addEventListener('mousedown', handleOutsideClick);
17
+ return function () {
18
+ document.removeEventListener('mousedown', handleOutsideClick);
19
+ };
20
+ }, [ref, onClick]);
21
+ return ref;
22
+ };
@@ -0,0 +1,4 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ declare const meta: Meta;
3
+ export default meta;
4
+ export declare const Default: StoryObj;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.Default = void 0;
7
+ var _addonActions = require("@storybook/addon-actions");
8
+ var _ = require(".");
9
+ /* eslint-disable react-hooks/rules-of-hooks */
10
+
11
+ var meta = {
12
+ title: 'hooks/useOutsideClick',
13
+ tags: ['autodocs']
14
+ };
15
+ var _default = exports["default"] = meta;
16
+ var Default = exports.Default = {
17
+ render: function render() {
18
+ var ref = (0, _.useOutsideClick)((0, _addonActions.action)('clicked outside'));
19
+ return /*#__PURE__*/React.createElement("div", {
20
+ ref: ref,
21
+ style: {
22
+ border: '1px solid black',
23
+ padding: 15
24
+ }
25
+ }, "inside");
26
+ }
27
+ };
package/dist/index.d.ts CHANGED
@@ -1 +1,35 @@
1
- export { Button } from './stories/Button';
1
+ export { Skeleton } from './components/common/Skeleton';
2
+ export { InvoiceboxLoader } from './components/common/InvoiceboxLoader';
3
+ export { Typography } from './components/common/Typography';
4
+ export { InvoiceboxSpinner } from './components/common/InvoiceboxSpinner';
5
+ export { SecondaryButton } from './components/common/SecondaryButton';
6
+ export { Arrow } from './components/common/Arrow';
7
+ export { InputLabel } from './components/form/InputLabel';
8
+ export { PureInput } from './components/form/PureInput';
9
+ export { PositiveIntegerInput } from './components/form/PositiveIntegerInput';
10
+ export type { TProps as TPositiveIntegerInputProps } from './components/form/PositiveIntegerInput';
11
+ export { Dropdown } from './components/common/Dropdown';
12
+ export type { TProps as TDropdownProps } from './components/common/Dropdown';
13
+ export { Scrollbar } from './components/common/Scrollbar';
14
+ export { Select } from './components/form/Select';
15
+ export type { TProps as TSelectProps } from './components/form/Select';
16
+ export { Calendar } from './components/common/Calendar';
17
+ export type { TProps as TCalendarProps } from './components/common/Calendar';
18
+ export { DateInput } from './components/form/DateInput';
19
+ export type { TProps as TDateInputProps } from './components/form/DateInput';
20
+ export { WarningIcon } from './components/common/WarningIcon';
21
+ export type { TProps as TWarningIconProps } from './components/common/WarningIcon';
22
+ export { Divider } from './components/common/Divider';
23
+ export type { TProps as TDividerProps } from './components/common/Divider';
24
+ export { SearchInput } from './components/form/SearchInput';
25
+ export type { TProps as TSearchInputProps } from './components/form/SearchInput';
26
+ export { Flag } from './components/common/Flag';
27
+ export type { TProps as TFlagProps, TFlagKey } from './components/common/Flag';
28
+ export { CountrySelect } from './components/form/CountrySelect';
29
+ export type { TProps as TCountrySelectProps } from './components/form/CountrySelect';
30
+ export { PhoneInput } from './components/form/PhoneInput';
31
+ export type { TProps as TPhoneInputProps } from './components/form/PhoneInput';
32
+ export { PaletteProvider } from './palette';
33
+ export type { TAbstractPalette } from './palette';
34
+ export { useOutsideClick } from './hooks/useOutsideClick';
35
+ export { useInputFocus } from './hooks/useInputFocus';