@salutejs/plasma-new-hope 0.110.0-canary.1307.10056755335.0 → 0.110.0-canary.1307.10059399396.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (281) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.css +60 -0
  2. package/cjs/components/Autocomplete/Autocomplete.js +189 -0
  3. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -0
  4. package/cjs/components/Autocomplete/Autocomplete.styles.js +78 -0
  5. package/cjs/components/Autocomplete/Autocomplete.styles.js.map +1 -0
  6. package/cjs/components/Autocomplete/Autocomplete.styles_4wbmok.css +5 -0
  7. package/cjs/components/Autocomplete/Autocomplete.tokens.js +93 -0
  8. package/cjs/components/Autocomplete/Autocomplete.tokens.js.map +1 -0
  9. package/cjs/components/Autocomplete/hooks/useKeyboardNavigation.js +112 -0
  10. package/cjs/components/Autocomplete/hooks/useKeyboardNavigation.js.map +1 -0
  11. package/cjs/components/Autocomplete/reducers/focusedReducer.js +47 -0
  12. package/cjs/components/Autocomplete/reducers/focusedReducer.js.map +1 -0
  13. package/cjs/components/Autocomplete/ui/SuggestionItem/SuggestionItem.css +2 -0
  14. package/cjs/components/Autocomplete/ui/SuggestionItem/SuggestionItem.js +41 -0
  15. package/cjs/components/Autocomplete/ui/SuggestionItem/SuggestionItem.js.map +1 -0
  16. package/cjs/components/Autocomplete/ui/SuggestionItem/SuggestionItem.styles.js +21 -0
  17. package/cjs/components/Autocomplete/ui/SuggestionItem/SuggestionItem.styles.js.map +1 -0
  18. package/cjs/components/Autocomplete/ui/SuggestionItem/SuggestionItem.styles_lpdinw.css +2 -0
  19. package/cjs/components/Autocomplete/ui/TextField/TextField.styles.js +23 -0
  20. package/cjs/components/Autocomplete/ui/TextField/TextField.styles.js.map +1 -0
  21. package/cjs/components/Autocomplete/ui/TextField/TextField.styles_sx1sq7.css +1 -0
  22. package/cjs/components/EmptyState/EmptyState.css +30 -0
  23. package/cjs/components/EmptyState/EmptyState.js +39 -0
  24. package/cjs/components/EmptyState/EmptyState.js.map +1 -0
  25. package/cjs/components/EmptyState/EmptyState.styles.js +41 -0
  26. package/cjs/components/EmptyState/EmptyState.styles.js.map +1 -0
  27. package/cjs/components/EmptyState/EmptyState.styles_1o24i5h.css +4 -0
  28. package/cjs/components/EmptyState/EmptyState.tokens.js +21 -0
  29. package/cjs/components/EmptyState/EmptyState.tokens.js.map +1 -0
  30. package/cjs/components/TextField/TextField.js +2 -2
  31. package/cjs/components/TextField/TextField.js.map +1 -1
  32. package/cjs/hooks/useOutsideClick.js +26 -0
  33. package/cjs/hooks/useOutsideClick.js.map +1 -0
  34. package/cjs/index.css +16 -0
  35. package/cjs/index.js +12 -0
  36. package/cjs/index.js.map +1 -1
  37. package/emotion/cjs/components/Autocomplete/Autocomplete.js +193 -0
  38. package/emotion/cjs/components/Autocomplete/Autocomplete.styles.js +43 -0
  39. package/emotion/cjs/components/Autocomplete/Autocomplete.tokens.js +91 -0
  40. package/emotion/cjs/components/Autocomplete/Autocomplete.types.js +5 -0
  41. package/emotion/cjs/components/Autocomplete/hooks/useKeyboardNavigation.js +114 -0
  42. package/emotion/cjs/components/Autocomplete/index.js +25 -0
  43. package/emotion/cjs/components/Autocomplete/reducers/focusedReducer.js +46 -0
  44. package/emotion/cjs/components/Autocomplete/ui/SuggestionItem/SuggestionItem.js +42 -0
  45. package/emotion/cjs/components/Autocomplete/ui/SuggestionItem/SuggestionItem.styles.js +25 -0
  46. package/emotion/cjs/components/Autocomplete/ui/SuggestionItem/SuggestionItem.type.js +5 -0
  47. package/emotion/cjs/components/Autocomplete/ui/TextField/TextField.js +12 -0
  48. package/emotion/cjs/components/Autocomplete/ui/TextField/TextField.styles.js +17 -0
  49. package/emotion/cjs/components/Autocomplete/ui/index.js +27 -0
  50. package/emotion/cjs/components/EmptyState/EmptyState.js +39 -0
  51. package/emotion/cjs/components/EmptyState/EmptyState.styles.js +29 -0
  52. package/emotion/cjs/components/EmptyState/EmptyState.tokens.js +20 -0
  53. package/emotion/cjs/components/EmptyState/EmptyState.types.js +5 -0
  54. package/emotion/cjs/components/EmptyState/index.js +25 -0
  55. package/emotion/cjs/components/TextField/TextField.js +3 -3
  56. package/emotion/cjs/examples/plasma_b2c/components/Autocomplete/Autocomplete.config.js +39 -0
  57. package/emotion/cjs/examples/plasma_b2c/components/Autocomplete/Autocomplete.js +11 -0
  58. package/emotion/cjs/examples/plasma_b2c/components/Autocomplete/Autocomplete.stories.tsx +134 -0
  59. package/emotion/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +5 -5
  60. package/emotion/cjs/examples/plasma_b2c/components/EmptyState/EmptyState.config.js +21 -0
  61. package/emotion/cjs/examples/plasma_b2c/components/EmptyState/EmptyState.js +11 -0
  62. package/emotion/cjs/examples/plasma_b2c/components/EmptyState/EmptyState.stories.tsx +44 -0
  63. package/emotion/cjs/examples/plasma_b2c/components/Overlay/Overlay.stories.tsx +1 -1
  64. package/emotion/cjs/examples/plasma_web/components/Autocomplete/Autocomplete.config.js +39 -0
  65. package/emotion/cjs/examples/plasma_web/components/Autocomplete/Autocomplete.js +11 -0
  66. package/emotion/cjs/examples/plasma_web/components/Autocomplete/Autocomplete.stories.tsx +134 -0
  67. package/emotion/cjs/examples/plasma_web/components/Dropdown/Dropdown.config.js +5 -5
  68. package/emotion/cjs/examples/plasma_web/components/EmptyState/EmptyState.config.js +21 -0
  69. package/emotion/cjs/examples/plasma_web/components/EmptyState/EmptyState.js +11 -0
  70. package/emotion/cjs/examples/plasma_web/components/EmptyState/EmptyState.stories.tsx +44 -0
  71. package/emotion/cjs/examples/plasma_web/components/Overlay/Overlay.stories.tsx +1 -1
  72. package/emotion/cjs/examples/sds_engineer/components/Overlay/Overlay.stories.tsx +1 -1
  73. package/emotion/cjs/hooks/index.js +7 -0
  74. package/emotion/cjs/hooks/useOutsideClick.js +24 -0
  75. package/emotion/cjs/index.js +22 -0
  76. package/emotion/es/components/Autocomplete/Autocomplete.js +185 -0
  77. package/emotion/es/components/Autocomplete/Autocomplete.styles.js +36 -0
  78. package/emotion/es/components/Autocomplete/Autocomplete.tokens.js +85 -0
  79. package/emotion/es/components/Autocomplete/Autocomplete.types.js +1 -0
  80. package/emotion/es/components/Autocomplete/hooks/useKeyboardNavigation.js +108 -0
  81. package/emotion/es/components/Autocomplete/index.js +2 -0
  82. package/emotion/es/components/Autocomplete/reducers/focusedReducer.js +40 -0
  83. package/emotion/es/components/Autocomplete/ui/SuggestionItem/SuggestionItem.js +33 -0
  84. package/emotion/es/components/Autocomplete/ui/SuggestionItem/SuggestionItem.styles.js +18 -0
  85. package/emotion/es/components/Autocomplete/ui/SuggestionItem/SuggestionItem.type.js +1 -0
  86. package/emotion/es/components/Autocomplete/ui/TextField/TextField.js +1 -0
  87. package/emotion/es/components/Autocomplete/ui/TextField/TextField.styles.js +10 -0
  88. package/emotion/es/components/Autocomplete/ui/index.js +2 -0
  89. package/emotion/es/components/EmptyState/EmptyState.js +31 -0
  90. package/emotion/es/components/EmptyState/EmptyState.styles.js +22 -0
  91. package/emotion/es/components/EmptyState/EmptyState.tokens.js +14 -0
  92. package/emotion/es/components/EmptyState/EmptyState.types.js +1 -0
  93. package/emotion/es/components/EmptyState/index.js +2 -0
  94. package/emotion/es/components/TextField/TextField.js +3 -3
  95. package/emotion/es/examples/plasma_b2c/components/Autocomplete/Autocomplete.config.js +33 -0
  96. package/emotion/es/examples/plasma_b2c/components/Autocomplete/Autocomplete.js +5 -0
  97. package/emotion/es/examples/plasma_b2c/components/Autocomplete/Autocomplete.stories.tsx +134 -0
  98. package/emotion/es/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +5 -5
  99. package/emotion/es/examples/plasma_b2c/components/EmptyState/EmptyState.config.js +15 -0
  100. package/emotion/es/examples/plasma_b2c/components/EmptyState/EmptyState.js +5 -0
  101. package/emotion/es/examples/plasma_b2c/components/EmptyState/EmptyState.stories.tsx +44 -0
  102. package/emotion/es/examples/plasma_b2c/components/Overlay/Overlay.stories.tsx +1 -1
  103. package/emotion/es/examples/plasma_web/components/Autocomplete/Autocomplete.config.js +33 -0
  104. package/emotion/es/examples/plasma_web/components/Autocomplete/Autocomplete.js +5 -0
  105. package/emotion/es/examples/plasma_web/components/Autocomplete/Autocomplete.stories.tsx +134 -0
  106. package/emotion/es/examples/plasma_web/components/Dropdown/Dropdown.config.js +5 -5
  107. package/emotion/es/examples/plasma_web/components/EmptyState/EmptyState.config.js +15 -0
  108. package/emotion/es/examples/plasma_web/components/EmptyState/EmptyState.js +5 -0
  109. package/emotion/es/examples/plasma_web/components/EmptyState/EmptyState.stories.tsx +44 -0
  110. package/emotion/es/examples/plasma_web/components/Overlay/Overlay.stories.tsx +1 -1
  111. package/emotion/es/examples/sds_engineer/components/Overlay/Overlay.stories.tsx +1 -1
  112. package/emotion/es/hooks/index.js +1 -0
  113. package/emotion/es/hooks/useOutsideClick.js +18 -0
  114. package/emotion/es/index.js +3 -1
  115. package/es/components/Autocomplete/Autocomplete.css +60 -0
  116. package/es/components/Autocomplete/Autocomplete.js +184 -0
  117. package/es/components/Autocomplete/Autocomplete.js.map +1 -0
  118. package/es/components/Autocomplete/Autocomplete.styles.js +70 -0
  119. package/es/components/Autocomplete/Autocomplete.styles.js.map +1 -0
  120. package/es/components/Autocomplete/Autocomplete.styles_4wbmok.css +5 -0
  121. package/es/components/Autocomplete/Autocomplete.tokens.js +88 -0
  122. package/es/components/Autocomplete/Autocomplete.tokens.js.map +1 -0
  123. package/es/components/Autocomplete/hooks/useKeyboardNavigation.js +107 -0
  124. package/es/components/Autocomplete/hooks/useKeyboardNavigation.js.map +1 -0
  125. package/es/components/Autocomplete/reducers/focusedReducer.js +43 -0
  126. package/es/components/Autocomplete/reducers/focusedReducer.js.map +1 -0
  127. package/es/components/Autocomplete/ui/SuggestionItem/SuggestionItem.css +2 -0
  128. package/es/components/Autocomplete/ui/SuggestionItem/SuggestionItem.js +37 -0
  129. package/es/components/Autocomplete/ui/SuggestionItem/SuggestionItem.js.map +1 -0
  130. package/es/components/Autocomplete/ui/SuggestionItem/SuggestionItem.styles.js +16 -0
  131. package/es/components/Autocomplete/ui/SuggestionItem/SuggestionItem.styles.js.map +1 -0
  132. package/es/components/Autocomplete/ui/SuggestionItem/SuggestionItem.styles_lpdinw.css +2 -0
  133. package/es/components/Autocomplete/ui/TextField/TextField.styles.js +19 -0
  134. package/es/components/Autocomplete/ui/TextField/TextField.styles.js.map +1 -0
  135. package/es/components/Autocomplete/ui/TextField/TextField.styles_sx1sq7.css +1 -0
  136. package/es/components/EmptyState/EmptyState.css +30 -0
  137. package/es/components/EmptyState/EmptyState.js +34 -0
  138. package/es/components/EmptyState/EmptyState.js.map +1 -0
  139. package/es/components/EmptyState/EmptyState.styles.js +34 -0
  140. package/es/components/EmptyState/EmptyState.styles.js.map +1 -0
  141. package/es/components/EmptyState/EmptyState.styles_1o24i5h.css +4 -0
  142. package/es/components/EmptyState/EmptyState.tokens.js +17 -0
  143. package/es/components/EmptyState/EmptyState.tokens.js.map +1 -0
  144. package/es/components/TextField/TextField.js +2 -2
  145. package/es/components/TextField/TextField.js.map +1 -1
  146. package/es/hooks/useOutsideClick.js +22 -0
  147. package/es/hooks/useOutsideClick.js.map +1 -0
  148. package/es/index.css +16 -0
  149. package/es/index.js +5 -0
  150. package/es/index.js.map +1 -1
  151. package/package.json +2 -2
  152. package/styled-components/cjs/components/Autocomplete/Autocomplete.js +193 -0
  153. package/styled-components/cjs/components/Autocomplete/Autocomplete.styles.js +40 -0
  154. package/styled-components/cjs/components/Autocomplete/Autocomplete.tokens.js +91 -0
  155. package/styled-components/cjs/components/Autocomplete/Autocomplete.types.js +5 -0
  156. package/styled-components/cjs/components/Autocomplete/hooks/useKeyboardNavigation.js +114 -0
  157. package/styled-components/cjs/components/Autocomplete/index.js +25 -0
  158. package/styled-components/cjs/components/Autocomplete/reducers/focusedReducer.js +46 -0
  159. package/styled-components/cjs/components/Autocomplete/ui/SuggestionItem/SuggestionItem.js +42 -0
  160. package/styled-components/cjs/components/Autocomplete/ui/SuggestionItem/SuggestionItem.styles.js +23 -0
  161. package/styled-components/cjs/components/Autocomplete/ui/SuggestionItem/SuggestionItem.type.js +5 -0
  162. package/styled-components/cjs/components/Autocomplete/ui/TextField/TextField.js +12 -0
  163. package/styled-components/cjs/components/Autocomplete/ui/TextField/TextField.styles.js +16 -0
  164. package/styled-components/cjs/components/Autocomplete/ui/index.js +27 -0
  165. package/styled-components/cjs/components/EmptyState/EmptyState.js +39 -0
  166. package/styled-components/cjs/components/EmptyState/EmptyState.styles.js +25 -0
  167. package/styled-components/cjs/components/EmptyState/EmptyState.tokens.js +20 -0
  168. package/styled-components/cjs/components/EmptyState/EmptyState.types.js +5 -0
  169. package/styled-components/cjs/components/EmptyState/index.js +25 -0
  170. package/styled-components/cjs/components/TextField/TextField.js +2 -2
  171. package/styled-components/cjs/examples/plasma_b2c/components/Autocomplete/Autocomplete.config.js +39 -0
  172. package/styled-components/cjs/examples/plasma_b2c/components/Autocomplete/Autocomplete.js +11 -0
  173. package/styled-components/cjs/examples/plasma_b2c/components/Autocomplete/Autocomplete.stories.tsx +134 -0
  174. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +1 -1
  175. package/styled-components/cjs/examples/plasma_b2c/components/EmptyState/EmptyState.config.js +21 -0
  176. package/styled-components/cjs/examples/plasma_b2c/components/EmptyState/EmptyState.js +11 -0
  177. package/styled-components/cjs/examples/plasma_b2c/components/EmptyState/EmptyState.stories.tsx +44 -0
  178. package/styled-components/cjs/examples/plasma_web/components/Autocomplete/Autocomplete.config.js +39 -0
  179. package/styled-components/cjs/examples/plasma_web/components/Autocomplete/Autocomplete.js +11 -0
  180. package/styled-components/cjs/examples/plasma_web/components/Autocomplete/Autocomplete.stories.tsx +134 -0
  181. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Dropdown.config.js +1 -1
  182. package/styled-components/cjs/examples/plasma_web/components/EmptyState/EmptyState.config.js +21 -0
  183. package/styled-components/cjs/examples/plasma_web/components/EmptyState/EmptyState.js +11 -0
  184. package/styled-components/cjs/examples/plasma_web/components/EmptyState/EmptyState.stories.tsx +44 -0
  185. package/styled-components/cjs/hooks/index.js +7 -0
  186. package/styled-components/cjs/hooks/useOutsideClick.js +24 -0
  187. package/styled-components/cjs/index.js +22 -0
  188. package/styled-components/es/components/Autocomplete/Autocomplete.js +185 -0
  189. package/styled-components/es/components/Autocomplete/Autocomplete.styles.js +32 -0
  190. package/styled-components/es/components/Autocomplete/Autocomplete.tokens.js +85 -0
  191. package/styled-components/es/components/Autocomplete/Autocomplete.types.js +1 -0
  192. package/styled-components/es/components/Autocomplete/hooks/useKeyboardNavigation.js +108 -0
  193. package/styled-components/es/components/Autocomplete/index.js +2 -0
  194. package/styled-components/es/components/Autocomplete/reducers/focusedReducer.js +40 -0
  195. package/styled-components/es/components/Autocomplete/ui/SuggestionItem/SuggestionItem.js +33 -0
  196. package/styled-components/es/components/Autocomplete/ui/SuggestionItem/SuggestionItem.styles.js +16 -0
  197. package/styled-components/es/components/Autocomplete/ui/SuggestionItem/SuggestionItem.type.js +1 -0
  198. package/styled-components/es/components/Autocomplete/ui/TextField/TextField.js +1 -0
  199. package/styled-components/es/components/Autocomplete/ui/TextField/TextField.styles.js +9 -0
  200. package/styled-components/es/components/Autocomplete/ui/index.js +2 -0
  201. package/styled-components/es/components/EmptyState/EmptyState.js +31 -0
  202. package/styled-components/es/components/EmptyState/EmptyState.styles.js +18 -0
  203. package/styled-components/es/components/EmptyState/EmptyState.tokens.js +14 -0
  204. package/styled-components/es/components/EmptyState/EmptyState.types.js +1 -0
  205. package/styled-components/es/components/EmptyState/index.js +2 -0
  206. package/styled-components/es/components/TextField/TextField.js +2 -2
  207. package/styled-components/es/examples/plasma_b2c/components/Autocomplete/Autocomplete.config.js +33 -0
  208. package/styled-components/es/examples/plasma_b2c/components/Autocomplete/Autocomplete.js +5 -0
  209. package/styled-components/es/examples/plasma_b2c/components/Autocomplete/Autocomplete.stories.tsx +134 -0
  210. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +1 -1
  211. package/styled-components/es/examples/plasma_b2c/components/EmptyState/EmptyState.config.js +15 -0
  212. package/styled-components/es/examples/plasma_b2c/components/EmptyState/EmptyState.js +5 -0
  213. package/styled-components/es/examples/plasma_b2c/components/EmptyState/EmptyState.stories.tsx +44 -0
  214. package/styled-components/es/examples/plasma_web/components/Autocomplete/Autocomplete.config.js +33 -0
  215. package/styled-components/es/examples/plasma_web/components/Autocomplete/Autocomplete.js +5 -0
  216. package/styled-components/es/examples/plasma_web/components/Autocomplete/Autocomplete.stories.tsx +134 -0
  217. package/styled-components/es/examples/plasma_web/components/Dropdown/Dropdown.config.js +1 -1
  218. package/styled-components/es/examples/plasma_web/components/EmptyState/EmptyState.config.js +15 -0
  219. package/styled-components/es/examples/plasma_web/components/EmptyState/EmptyState.js +5 -0
  220. package/styled-components/es/examples/plasma_web/components/EmptyState/EmptyState.stories.tsx +44 -0
  221. package/styled-components/es/hooks/index.js +1 -0
  222. package/styled-components/es/hooks/useOutsideClick.js +18 -0
  223. package/styled-components/es/index.js +3 -1
  224. package/types/components/Autocomplete/Autocomplete.d.ts +24 -0
  225. package/types/components/Autocomplete/Autocomplete.d.ts.map +1 -0
  226. package/types/components/Autocomplete/Autocomplete.styles.d.ts +19 -0
  227. package/types/components/Autocomplete/Autocomplete.styles.d.ts.map +1 -0
  228. package/types/components/Autocomplete/Autocomplete.tokens.d.ts +84 -0
  229. package/types/components/Autocomplete/Autocomplete.tokens.d.ts.map +1 -0
  230. package/types/components/Autocomplete/Autocomplete.types.d.ts +84 -0
  231. package/types/components/Autocomplete/Autocomplete.types.d.ts.map +1 -0
  232. package/types/components/Autocomplete/hooks/useKeyboardNavigation.d.ts +31 -0
  233. package/types/components/Autocomplete/hooks/useKeyboardNavigation.d.ts.map +1 -0
  234. package/types/components/Autocomplete/index.d.ts +3 -0
  235. package/types/components/Autocomplete/index.d.ts.map +1 -0
  236. package/types/components/Autocomplete/reducers/focusedReducer.d.ts +17 -0
  237. package/types/components/Autocomplete/reducers/focusedReducer.d.ts.map +1 -0
  238. package/types/components/Autocomplete/ui/SuggestionItem/SuggestionItem.d.ts +4 -0
  239. package/types/components/Autocomplete/ui/SuggestionItem/SuggestionItem.d.ts.map +1 -0
  240. package/types/components/Autocomplete/ui/SuggestionItem/SuggestionItem.styles.d.ts +4 -0
  241. package/types/components/Autocomplete/ui/SuggestionItem/SuggestionItem.styles.d.ts.map +1 -0
  242. package/types/components/Autocomplete/ui/SuggestionItem/SuggestionItem.type.d.ts +8 -0
  243. package/types/components/Autocomplete/ui/SuggestionItem/SuggestionItem.type.d.ts.map +1 -0
  244. package/types/components/Autocomplete/ui/TextField/TextField.d.ts +2 -0
  245. package/types/components/Autocomplete/ui/TextField/TextField.d.ts.map +1 -0
  246. package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts +41 -0
  247. package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts.map +1 -0
  248. package/types/components/Autocomplete/ui/index.d.ts +3 -0
  249. package/types/components/Autocomplete/ui/index.d.ts.map +1 -0
  250. package/types/components/EmptyState/EmptyState.d.ts +18 -0
  251. package/types/components/EmptyState/EmptyState.d.ts.map +1 -0
  252. package/types/components/EmptyState/EmptyState.styles.d.ts +48 -0
  253. package/types/components/EmptyState/EmptyState.styles.d.ts.map +1 -0
  254. package/types/components/EmptyState/EmptyState.tokens.d.ts +15 -0
  255. package/types/components/EmptyState/EmptyState.tokens.d.ts.map +1 -0
  256. package/types/components/EmptyState/EmptyState.types.d.ts +8 -0
  257. package/types/components/EmptyState/EmptyState.types.d.ts.map +1 -0
  258. package/types/components/EmptyState/index.d.ts +3 -0
  259. package/types/components/EmptyState/index.d.ts.map +1 -0
  260. package/types/examples/plasma_b2c/components/Autocomplete/Autocomplete.config.d.ts +32 -0
  261. package/types/examples/plasma_b2c/components/Autocomplete/Autocomplete.config.d.ts.map +1 -0
  262. package/types/examples/plasma_b2c/components/Autocomplete/Autocomplete.d.ts +26 -0
  263. package/types/examples/plasma_b2c/components/Autocomplete/Autocomplete.d.ts.map +1 -0
  264. package/types/examples/plasma_b2c/components/EmptyState/EmptyState.config.d.ts +14 -0
  265. package/types/examples/plasma_b2c/components/EmptyState/EmptyState.config.d.ts.map +1 -0
  266. package/types/examples/plasma_b2c/components/EmptyState/EmptyState.d.ts +25 -0
  267. package/types/examples/plasma_b2c/components/EmptyState/EmptyState.d.ts.map +1 -0
  268. package/types/examples/plasma_web/components/Autocomplete/Autocomplete.config.d.ts +32 -0
  269. package/types/examples/plasma_web/components/Autocomplete/Autocomplete.config.d.ts.map +1 -0
  270. package/types/examples/plasma_web/components/Autocomplete/Autocomplete.d.ts +26 -0
  271. package/types/examples/plasma_web/components/Autocomplete/Autocomplete.d.ts.map +1 -0
  272. package/types/examples/plasma_web/components/EmptyState/EmptyState.config.d.ts +14 -0
  273. package/types/examples/plasma_web/components/EmptyState/EmptyState.config.d.ts.map +1 -0
  274. package/types/examples/plasma_web/components/EmptyState/EmptyState.d.ts +25 -0
  275. package/types/examples/plasma_web/components/EmptyState/EmptyState.d.ts.map +1 -0
  276. package/types/hooks/index.d.ts +1 -0
  277. package/types/hooks/index.d.ts.map +1 -1
  278. package/types/hooks/useOutsideClick.d.ts +3 -0
  279. package/types/hooks/useOutsideClick.d.ts.map +1 -0
  280. package/types/index.d.ts +2 -0
  281. package/types/index.d.ts.map +1 -1
@@ -0,0 +1,22 @@
1
+ import { useRef, useEffect } from 'react';
2
+
3
+ var useOutsideClick = function useOutsideClick(callback) {
4
+ var ref = useRef(null);
5
+ useEffect(function () {
6
+ var handleClickOutside = function handleClickOutside(event) {
7
+ if (ref.current && !ref.current.contains(event.target)) {
8
+ callback();
9
+ }
10
+ };
11
+ document.addEventListener('mouseup', handleClickOutside);
12
+ document.addEventListener('touchend', handleClickOutside);
13
+ return function () {
14
+ document.removeEventListener('mouseup', handleClickOutside);
15
+ document.removeEventListener('touchend', handleClickOutside);
16
+ };
17
+ }, [callback]);
18
+ return ref;
19
+ };
20
+
21
+ export { useOutsideClick };
22
+ //# sourceMappingURL=useOutsideClick.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOutsideClick.js","sources":["../../src/hooks/useOutsideClick.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nexport const useOutsideClick = <T extends HTMLElement = HTMLElement>(callback: () => void) => {\n const ref = useRef<T | null>(null);\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent | TouchEvent) => {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n callback();\n }\n };\n\n document.addEventListener('mouseup', handleClickOutside);\n document.addEventListener('touchend', handleClickOutside);\n\n return () => {\n document.removeEventListener('mouseup', handleClickOutside);\n document.removeEventListener('touchend', handleClickOutside);\n };\n }, [callback]);\n\n return ref;\n};\n"],"names":["useOutsideClick","callback","ref","useRef","useEffect","handleClickOutside","event","current","contains","target","document","addEventListener","removeEventListener"],"mappings":";;IAEaA,eAAe,GAAG,SAAlBA,eAAeA,CAAyCC,QAAoB,EAAK;AAC1F,EAAA,IAAMC,GAAG,GAAGC,MAAM,CAAW,IAAI,CAAC,CAAA;AAElCC,EAAAA,SAAS,CAAC,YAAM;AACZ,IAAA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,KAA8B,EAAK;AAC3D,MAAA,IAAIJ,GAAG,CAACK,OAAO,IAAI,CAACL,GAAG,CAACK,OAAO,CAACC,QAAQ,CAACF,KAAK,CAACG,MAAc,CAAC,EAAE;AAC5DR,QAAAA,QAAQ,EAAE,CAAA;AACd,OAAA;KACH,CAAA;AAEDS,IAAAA,QAAQ,CAACC,gBAAgB,CAAC,SAAS,EAAEN,kBAAkB,CAAC,CAAA;AACxDK,IAAAA,QAAQ,CAACC,gBAAgB,CAAC,UAAU,EAAEN,kBAAkB,CAAC,CAAA;AAEzD,IAAA,OAAO,YAAM;AACTK,MAAAA,QAAQ,CAACE,mBAAmB,CAAC,SAAS,EAAEP,kBAAkB,CAAC,CAAA;AAC3DK,MAAAA,QAAQ,CAACE,mBAAmB,CAAC,UAAU,EAAEP,kBAAkB,CAAC,CAAA;KAC/D,CAAA;AACL,GAAC,EAAE,CAACJ,QAAQ,CAAC,CAAC,CAAA;AAEd,EAAA,OAAOC,GAAG,CAAA;AACd;;;;"}
package/es/index.css CHANGED
@@ -621,3 +621,19 @@
621
621
 
622
622
  .Price_styles_15b4mp1_bvvzdh4__4d09fd16.Price_styles_15b4mp1_stroked__4d09fd16{-webkit-text-decoration:line-through;text-decoration:line-through;}
623
623
  .Price_styles_15b4mp1_sqvsx17__4d09fd16{padding-left:0.25rem;}
624
+
625
+ .TextField_styles_sx1sq7_sxqyqmu__88214dad{--plasma-textfield-color:var(--plasma-autocomplete-textfield-color);--plasma-textfield-bg-color:var(--plasma-autocomplete-textfield-background-color);--plasma-textfield-bg-color-hover:var(--plasma-autocomplete-textfield-background-color-hover);--plasma-textfield-bg-color-focus:var(--plasma-autocomplete-textfield-background-color-focus);--plasma-textfield-border-color:var(--plasma-autocomplete-textfield-border-color);--plasma-textfield-border-color-hover:var(--plasma-autocomplete-textfield-border-color-hover);--plasma-textfield-border-color-focus:var(--plasma-autocomplete-textfield-border-color-focus);--plasma-textfield-color-readonly:var(--plasma-autocomplete-textfield-color-readonly);--plasma-textfield-bg-color-readonly:var(--plasma-autocomplete-textfield-bg-color-readonly);--plasma-textfield-border-color-readonly:var(--plasma-autocomplete-textfield-border-color-readonly);--plasma-textfield__placeholder-color-readonly:var(--plasma-autocomplete-textfield__placeholder-color-readonly);--plasma-textfield__caret-color:var(--plasma-autocomplete-textfield-caret-color);--plasma-textfield__placeholder-color:var(--plasma-autocomplete-textfield-placeholder-color);--plasma-textfield-height:var(--plasma-autocomplete-textfield-height);--plasma-textfield-border-width:var(--plasma-autocomplete-textfield-border-width);--plasma-textfield-border-radius:var(--plasma-autocomplete-textfield-border-radius);--plasma-textfield-padding:var(--plasma-autocomplete-textfield-padding);--plasma-textfield__left-content-margin:var(--plasma-autocomplete-textfield__left-content-margin);--plasma-textfield__right-content-margin:var(--plasma-autocomplete-textfield__right-content-margin);--plasma-textfield-font-family:var(--plasma-autocomplete-textfield-font-family);--plasma-textfield-font-style:var(--plasma-autocomplete-textfield-font-style);--plasma-textfield-font-size:var(--plasma-autocomplete-textfield-font-size);--plasma-textfield-font-weight:var(--plasma-autocomplete-textfield-font-weight);--plasma-textfield-letter-spacing:var(--plasma-autocomplete-textfield-letter-spacing);--plasma-textfield-line-height:var(--plasma-autocomplete-textfield-line-height);--plasma-textfield__label-color:var(--plasma-autocomplete-textfield-label-color);--plasma-textfield__label-color-readonly:var(--plasma-autocomplete-textfield__label-color-readonly);--plasma-textfield__label-offset:var(--plasma-autocomplete-textfield__label-offset);--plasma-textfield__label-font-family:var(--plasma-autocomplete-textfield__label-font-family);--plasma-textfield__label-font-style:var(--plasma-autocomplete-textfield__label-font-style);--plasma-textfield__label-font-size:var(--plasma-autocomplete-textfield__label-font-size);--plasma-textfield__label-font-weight:var(--plasma-autocomplete-textfield__label-font-weight);--plasma-textfield__label-letter-spacing:var(--plasma-autocomplete-textfield__label-letter-spacing);--plasma-textfield__label-line-height:var(--plasma-autocomplete-textfield__label-line-height);--plasma-textfield-placement_inner__label-font-family:var(--plasma-autocomplete-textfield-placement_inner__label-font-family);--plasma-textfield-placement_inner__label-font-style:var(--plasma-autocomplete-textfield-placement_inner__label-font-style);--plasma-textfield-placement_inner__label-font-size:var(--plasma-autocomplete-textfield-placement_inner__label-font-size);--plasma-textfield-placement_inner__label-font-weight:var(--plasma-autocomplete-textfield-placement_inner__label-font-weight);--plasma-textfield-placement_inner__label-letter-spacing:var(--plasma-autocomplete-textfield-placement_inner__label-letter-spacing);--plasma-textfield-placement_inner__label-line-height:var(--plasma-autocomplete-textfield-placement_inner__label-line-height);--plasma-textfield-placement_inner__label-padding:var(--plasma-autocomplete-textfield-placement_inner__label-padding);--plasma-textfield-placement_inner__content-padding:var(--plasma-autocomplete-textfield-placement_inner__content-padding);--plasma-textfield__left-helper-color:var(--plasma-autocomplete-textfield__left-helper-color);--plasma-textfield__left-helper-color-readonly:var(--plasma-autocomplete-textfield__left-helper-color-readonly);--plasma-textfield__left-helper-offset:var(--plasma-autocomplete-textfield__left-helper-offset);--plasma-textfield__left-helper-font-family:var(--plasma-autocomplete-textfield__left-helper-font-family);--plasma-textfield__left-helper-font-style:var(--plasma-autocomplete-textfield__left-helper-font-style);--plasma-textfield__left-helper-font-size:var(--plasma-autocomplete-textfield__left-helper-font-size);--plasma-textfield__left-helper-font-weight:var(--plasma-autocomplete-textfield__left-helper-font-weight);--plasma-textfield__left-helper-letter-spacing:var(--plasma-autocomplete-textfield__left-helper-letter-spacing);--plasma-textfield__left-helper-line-height:var(--plasma-autocomplete-textfield__left-helper-line-height);--plasma-textfield__before-text-color:var(--plasma-autocomplete-textfield__before-text-color);--plasma-textfield__after-text-color:var(--plasma-autocomplete-textfield__after-text-color);--plasma-textfield__before-text-margin:var(--plasma-autocomplete-textfield__before-text-margin);--plasma-textfield__after-text-margin:var(--plasma-autocomplete-textfield__after-text-margin);--plasma-textfield-disabled-opacity:var(--plasma-autocomplete-textfield-disabled-opacity);--plasma-textfield-focus-color:var(--plasma-autocomplete-textfield-focus-color);}
626
+
627
+ .SuggestionItem_styles_lpdinw_s1siyv9w__5ad0f45d{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-flex:1;-ms-flex:1;flex:1;}
628
+ .SuggestionItem_styles_lpdinw_wykobsk__5ad0f45d{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0;box-sizing:content-box;padding:var(--plasma-autocomplete-item-padding);font-family:var(--plasma-autocomplete-item-font-family);font-size:var(--plasma-autocomplete-item-font-size);font-style:var(--plasma-autocomplete-item-font-style);font-weight:var(--plasma-autocomplete-item-font-weight);-webkit-letter-spacing:var(--plasma-autocomplete-item-font-letter-spacing);-moz-letter-spacing:var(--plasma-autocomplete-item-font-letter-spacing);-ms-letter-spacing:var(--plasma-autocomplete-item-font-letter-spacing);letter-spacing:var(--plasma-autocomplete-item-font-letter-spacing);line-height:var(--plasma-autocomplete-item-font-line-height);background:var(--plasma-autocomplete-item-background);color:var(--plasma-autocomplete-item-color);border-radius:var(--plasma-autocomplete-item-border-radius);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;}.SuggestionItem_styles_lpdinw_wykobsk__5ad0f45d:hover{cursor:pointer;background:var(--plasma-autocomplete-item-background-hover);}.SuggestionItem_styles_lpdinw_wykobsk__5ad0f45d:focus{outline:none;}.SuggestionItem_styles_lpdinw_wykobsk__5ad0f45d::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;display:block;box-sizing:content-box;border:0.0625rem solid transparent;border-radius:var(--plasma-autocomplete-item-border-radius);-webkit-transition:none;transition:none;pointer-events:none;}.SuggestionItem_styles_lpdinw_wykobsk__5ad0f45d.SuggestionItem_styles_lpdinw_suggestionItemIsFocused__5ad0f45d:before{outline:none;box-shadow:0 0 0 0.0625rem var(--plasma-autocomplete-focus-color);}
629
+
630
+ .Autocomplete_styles_4wbmok_bn6ooh7__a45bf543 .Autocomplete_styles_4wbmok_popoverWrapper__a45bf543,.Autocomplete_styles_4wbmok_bn6ooh7__a45bf543 .Autocomplete_styles_4wbmok_popoverTarget__a45bf543{display:block;}
631
+ .Autocomplete_styles_4wbmok_s1ih3p9n__a45bf543 .Autocomplete_styles_4wbmok_popoverRoot__a45bf543{display:block;width:var(--s1ih3p9n-0);}
632
+ .Autocomplete_styles_4wbmok_u610ple__a45bf543{box-sizing:border-box;background:var(--plasma-autocomplete-background);box-shadow:var(--plasma-autocomplete-box-shadow);border-radius:var(--plasma-autocomplete-border-radius);height:auto;max-height:var(--u610ple-0);overflow-y:scroll;margin:0;padding:var(--plasma-autocomplete-padding);}
633
+ .Autocomplete_styles_4wbmok_l1nz87td__a45bf543{color:var(--l1nz87td-0);margin-top:var(--plasma-autocomplete-textfield__left-helper-offset);font-family:var(--plasma-autocomplete-textfield__left-helper-font-family);font-size:var(--plasma-autocomplete-textfield__left-helper-font-size);font-style:var(--plasma-autocomplete-textfield__left-helper-font-style);font-weight:var(--plasma-autocomplete-textfield__left-helper-font-weight);-webkit-letter-spacing:var(--plasma-autocomplete-textfield__left-helper-letter-spacing);-moz-letter-spacing:var(--plasma-autocomplete-textfield__left-helper-letter-spacing);-ms-letter-spacing:var(--plasma-autocomplete-textfield__left-helper-letter-spacing);letter-spacing:var(--plasma-autocomplete-textfield__left-helper-letter-spacing);line-height:var(--plasma-autocomplete-textfield__left-helper-line-height);opacity:var(--plasma-autocomplete-textfield-disabled-opacity);cursor:var(--l1nz87td-1);}
634
+ .Autocomplete_styles_4wbmok_igdxyi6__a45bf543{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;box-sizing:content-box;min-height:var(--plasma-autocomplete-textfield-height);}
635
+
636
+ .EmptyState_styles_1o24i5h_spbib9h__0d5131e5{--plasma-button-color:var(--text-primary);--plasma-button-color-active:var(--text-primary-active);--plasma-button-color-hover:var(--text-primary-hover);--plasma-button-background-color:none;--plasma-button-padding:0;--plasma-button-height:var(--plasma-emptystate-button-height);--plasma-button-radius:0;--plasma-button-font-family:var(--plasma-emptystate-font-family);--plasma-button-font-size:var(--plasma-emptystate-font-size);--plasma-button-font-style:var(--plasma-emptystate-font-style);--plasma-button-font-weight:600;--plasma-button-letter-spacing:var(--plasma-emptystate-font-letter-spacing);--plasma-button-line-height:var(--plasma-emptystate-font-line-height);margin:var(--plasma-emptystate-button-margin);}
637
+ .EmptyState_styles_1o24i5h_w1g2xar0__0d5131e5{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:var(--surface-solid-card);box-shadow:0 4px 14px -4px rgba(8,8,8,0.08),0 1px 4px -1px rgba(0,0,0,0.04);border-radius:var(--plasma-emptystate-border-radius);padding:var(--plasma-emptystate-padding);text-align:center;}
638
+ .EmptyState_styles_1o24i5h_i21aoej__0d5131e5{margin:var(--plasma-emptystate-icon-margin);line-height:0;}
639
+ .EmptyState_styles_1o24i5h_d1brs29u__0d5131e5{margin:var(--plasma-emptystate-description-margin);font-family:var(--plasma-emptystate-font-family);font-size:var(--plasma-emptystate-font-size);font-style:var(--plasma-emptystate-font-style);font-weight:var(--plasma-emptystate-font-weight);-webkit-letter-spacing:var(--plasma-emptystate-font-letter-spacing);-moz-letter-spacing:var(--plasma-emptystate-font-letter-spacing);-ms-letter-spacing:var(--plasma-emptystate-font-letter-spacing);letter-spacing:var(--plasma-emptystate-font-letter-spacing);line-height:var(--plasma-emptystate-font-line-height);}
package/es/index.js CHANGED
@@ -14,6 +14,7 @@ export { useUniqId } from './hooks/useUniqId.js';
14
14
  export { usePreviousValue } from './hooks/usePreviousValue.js';
15
15
  export { useForceUpdate } from './hooks/useForceUpdate.js';
16
16
  export { useDidMountEffect } from './hooks/useDidMountEffect.js';
17
+ export { useOutsideClick } from './hooks/useOutsideClick.js';
17
18
  export { useIsomorphicLayoutEffect } from './hooks/useIsomorphicLayoutEffect.js';
18
19
  export { composableStyle, cx } from './utils/index.js';
19
20
  export { buttonConfig, buttonRoot } from './components/Button/Button.js';
@@ -184,6 +185,10 @@ export { classes as datePickerClasses, tokens as datePickerTokens } from './comp
184
185
  export { Portal } from './components/Portal/Portal.js';
185
186
  export { priceConfig, priceRoot } from './components/Price/Price.js';
186
187
  export { classes as priceClasses } from './components/Price/Price.tokens.js';
188
+ export { autocompleteConfig, autocompleteRoot } from './components/Autocomplete/Autocomplete.js';
189
+ export { tokens as autocompleteTokens } from './components/Autocomplete/Autocomplete.tokens.js';
190
+ export { emptyStateConfig, emptyStateRoot } from './components/EmptyState/EmptyState.js';
191
+ export { tokens as emptyStateTokens } from './components/EmptyState/EmptyState.tokens.js';
187
192
  export { component, mergeConfig } from './engines/common.js';
188
193
  export { canUseDOM } from './utils/canUseDOM.js';
189
194
  export { extractTextFrom } from './utils/extractTextFrom.js';
package/es/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salutejs/plasma-new-hope",
3
- "version": "0.110.0-canary.1307.10056755335.0",
3
+ "version": "0.110.0-canary.1307.10059399396.0",
4
4
  "description": "Salute Design System blueprint",
5
5
  "main": "cjs/index.js",
6
6
  "module": "es/index.js",
@@ -118,5 +118,5 @@
118
118
  "react-popper": "2.3.0",
119
119
  "storeon": "3.1.5"
120
120
  },
121
- "gitHead": "cfd06982d59b3e6f5c523af8109ca5dcc6e8279e"
121
+ "gitHead": "c13a5e84375717d49dd30f6505b345e44b7caa75"
122
122
  }
@@ -0,0 +1,193 @@
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.autocompleteRoot = exports.autocompleteConfig = void 0;
8
+ var _react = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("react"));
9
+ var _plasmaCore = /*#__PURE__*/require("@salutejs/plasma-core");
10
+ var _hooks = /*#__PURE__*/require("../../hooks");
11
+ var _utils = /*#__PURE__*/require("../../utils");
12
+ var _focusedReducer = /*#__PURE__*/require("./reducers/focusedReducer");
13
+ var _ui = /*#__PURE__*/require("./ui");
14
+ var _Autocomplete = /*#__PURE__*/require("./Autocomplete.styles");
15
+ var _useKeyboardNavigation = /*#__PURE__*/require("./hooks/useKeyboardNavigation");
16
+ var _excluded = ["value", "onChange", "suggestions", "view", "size", "labelPlacement", "disabled", "readOnly", "label", "leftHelper", "contentLeft", "contentRight", "textBefore", "textAfter", "onScroll", "listMaxHeight", "listWidth", "filter", "onSuggestionSelect", "threshold", "renderList", "renderListEnd", "onSearch"];
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 && {}.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 _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); }
20
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
21
+ 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."); }
22
+ 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); }
23
+ 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; }
24
+ 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; } }
25
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
26
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
27
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
28
+ /**
29
+ * Компонент Autocomplete. Поле ввода с подсказками в выпадающем списке.
30
+ */
31
+ var autocompleteRoot = exports.autocompleteRoot = function autocompleteRoot(Root) {
32
+ return /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
33
+ var outerValue = _ref.value,
34
+ onChange = _ref.onChange,
35
+ suggestions = _ref.suggestions,
36
+ view = _ref.view,
37
+ size = _ref.size,
38
+ labelPlacement = _ref.labelPlacement,
39
+ disabled = _ref.disabled,
40
+ readOnly = _ref.readOnly,
41
+ label = _ref.label,
42
+ leftHelper = _ref.leftHelper,
43
+ contentLeft = _ref.contentLeft,
44
+ contentRight = _ref.contentRight,
45
+ textBefore = _ref.textBefore,
46
+ textAfter = _ref.textAfter,
47
+ onScroll = _ref.onScroll,
48
+ listMaxHeight = _ref.listMaxHeight,
49
+ listWidth = _ref.listWidth,
50
+ filter = _ref.filter,
51
+ onSuggestionSelect = _ref.onSuggestionSelect,
52
+ _ref$threshold = _ref.threshold,
53
+ threshold = _ref$threshold === void 0 ? 2 : _ref$threshold,
54
+ renderList = _ref.renderList,
55
+ renderListEnd = _ref.renderListEnd,
56
+ onSearch = _ref.onSearch,
57
+ rest = _objectWithoutProperties(_ref, _excluded);
58
+ var _useReducer = (0, _react.useReducer)(_focusedReducer.focusedReducer, null),
59
+ _useReducer2 = _slicedToArray(_useReducer, 2),
60
+ focused = _useReducer2[0],
61
+ dispatchFocused = _useReducer2[1];
62
+ var _useState = (0, _react.useState)(''),
63
+ _useState2 = _slicedToArray(_useState, 2),
64
+ innerValue = _useState2[0],
65
+ setInnerValue = _useState2[1];
66
+ var _useState3 = (0, _react.useState)(false),
67
+ _useState4 = _slicedToArray(_useState3, 2),
68
+ isOpen = _useState4[0],
69
+ setIsOpen = _useState4[1];
70
+ var listId = (0, _plasmaCore.safeUseId)();
71
+ var value = outerValue || innerValue;
72
+ var helperTextId = (0, _plasmaCore.safeUseId)();
73
+ var targetRef = (0, _hooks.useOutsideClick)(function () {
74
+ setIsOpen(false);
75
+ });
76
+ var handleFocus = function handleFocus() {
77
+ if (value.toString().length >= threshold) {
78
+ setIsOpen(true);
79
+ }
80
+ };
81
+ var handleItemClick = function handleItemClick(e) {
82
+ setInnerValue(e.label);
83
+ if (onSuggestionSelect) {
84
+ onSuggestionSelect(e);
85
+ }
86
+ setIsOpen(false);
87
+ };
88
+ var handleChange = function handleChange(e) {
89
+ var currentValue = e.target.value;
90
+ setInnerValue(currentValue);
91
+ if (onChange) {
92
+ onChange(e);
93
+ }
94
+ if (currentValue.toString().length >= threshold) {
95
+ setIsOpen(true);
96
+ } else {
97
+ setIsOpen(false);
98
+ }
99
+ };
100
+ var defaultFilterCallback = function defaultFilterCallback(_ref2) {
101
+ var label = _ref2.label;
102
+ return label.toLowerCase().includes(value.toString().toLowerCase());
103
+ };
104
+ var finalResults = (suggestions === null || suggestions === void 0 ? void 0 : suggestions.filter(filter || defaultFilterCallback)) || [];
105
+ var _useKeyNavigation = (0, _useKeyboardNavigation.useKeyNavigation)({
106
+ isOpen: isOpen,
107
+ setIsOpen: setIsOpen,
108
+ focused: focused,
109
+ dispatchFocused: dispatchFocused,
110
+ finalResults: finalResults,
111
+ handleItemClick: handleItemClick
112
+ }),
113
+ onKeyDown = _useKeyNavigation.onKeyDown;
114
+ (0, _hooks.useDidMountEffect)(function () {
115
+ dispatchFocused({
116
+ type: 'reset'
117
+ });
118
+ }, [value]);
119
+ return /*#__PURE__*/_react["default"].createElement(Root, {
120
+ view: view,
121
+ size: size,
122
+ labelPlacement: labelPlacement,
123
+ disabled: disabled,
124
+ readOnly: readOnly
125
+ }, /*#__PURE__*/_react["default"].createElement(_Autocomplete.StyledPopover, {
126
+ isOpen: isOpen,
127
+ offset: [0, 0],
128
+ placement: (0, _utils.getPlacements)('bottom'),
129
+ isFocusTrapped: false,
130
+ target: /*#__PURE__*/_react["default"].createElement(_ui.StyledTextField, _extends({
131
+ value: value,
132
+ onChange: handleChange,
133
+ onSearch: focused === null ? onSearch : undefined,
134
+ ref: ref,
135
+ size: size,
136
+ view: view,
137
+ labelPlacement: labelPlacement,
138
+ disabled: disabled,
139
+ readOnly: readOnly,
140
+ label: label,
141
+ contentLeft: contentLeft,
142
+ contentRight: contentRight,
143
+ textBefore: textBefore,
144
+ textAfter: textAfter,
145
+ onFocus: handleFocus,
146
+ onKeyDown: onKeyDown,
147
+ role: "combobox",
148
+ "aria-autocomplete": "list",
149
+ "aria-controls": listId,
150
+ "aria-expanded": isOpen,
151
+ "aria-activedescendant": "".concat(listId, "/").concat(focused),
152
+ "aria-describedby": helperTextId
153
+ }, rest)),
154
+ preventOverflow: false,
155
+ ref: targetRef,
156
+ listWidth: listWidth
157
+ }, renderList && renderList(finalResults) || Boolean(finalResults.length) && /*#__PURE__*/_react["default"].createElement(_Autocomplete.Ul, {
158
+ id: listId,
159
+ role: "listbox",
160
+ "aria-label": label,
161
+ onScroll: onScroll,
162
+ listMaxHeight: listMaxHeight
163
+ }, finalResults.map(function (suggestion, index) {
164
+ return /*#__PURE__*/_react["default"].createElement(_ui.SuggestionItem, {
165
+ key: index,
166
+ item: suggestion,
167
+ onClick: handleItemClick,
168
+ id: "".concat(listId, "/").concat(index),
169
+ focused: focused === index
170
+ });
171
+ }), renderListEnd && /*#__PURE__*/_react["default"].createElement(_Autocomplete.InfiniteLoaderWrapper, null, renderListEnd()))), leftHelper && /*#__PURE__*/_react["default"].createElement(_Autocomplete.LeftHelper, {
172
+ id: helperTextId,
173
+ disabled: disabled,
174
+ readOnly: readOnly
175
+ }, leftHelper));
176
+ });
177
+ };
178
+ var autocompleteConfig = exports.autocompleteConfig = {
179
+ name: 'Autocomplete',
180
+ tag: 'div',
181
+ layout: autocompleteRoot,
182
+ base: _Autocomplete.base,
183
+ defaults: {
184
+ view: 'default',
185
+ size: 'l',
186
+ labelPlacement: 'outer'
187
+ },
188
+ variations: {
189
+ view: {
190
+ css: ''
191
+ }
192
+ }
193
+ };
@@ -0,0 +1,40 @@
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.base = exports.Ul = exports.StyledPopover = exports.LeftHelper = exports.InfiniteLoaderWrapper = void 0;
8
+ var _styledComponents = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("styled-components"));
9
+ var _Popover = /*#__PURE__*/require("../Popover");
10
+ var _engines = /*#__PURE__*/require("../../engines");
11
+ var _Autocomplete = /*#__PURE__*/require("./Autocomplete.tokens");
12
+ 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); }
13
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
14
+ var base = exports.base = /*#__PURE__*/(0, _styledComponents.css)([".", ",.", "{display:block;}"], _Popover.popoverClasses.wrapper, _Popover.popoverClasses.target);
15
+ var Popover = /*#__PURE__*/(0, _engines.component)(_Popover.popoverConfig);
16
+ var StyledPopover = exports.StyledPopover = /*#__PURE__*/(0, _styledComponents["default"])(Popover).withConfig({
17
+ componentId: "plasma-new-hope__sc-ff6pwi-0"
18
+ })([".", "{display:block;width:", ";}"], /*#__PURE__*/String(_Popover.popoverClasses.root), function (_ref) {
19
+ var listWidth = _ref.listWidth;
20
+ return listWidth || '100%';
21
+ });
22
+ var Ul = exports.Ul = /*#__PURE__*/_styledComponents["default"].ul.withConfig({
23
+ componentId: "plasma-new-hope__sc-ff6pwi-1"
24
+ })(["box-sizing:border-box;background:var(", ");box-shadow:var(", ");border-radius:var(", ");height:auto;max-height:", ";overflow-y:scroll;margin:0;padding:var(", ");"], _Autocomplete.tokens.background, _Autocomplete.tokens.boxShadow, _Autocomplete.tokens.borderRadius, function (_ref2) {
25
+ var listMaxHeight = _ref2.listMaxHeight;
26
+ return listMaxHeight || 'none';
27
+ }, _Autocomplete.tokens.padding);
28
+ var LeftHelper = exports.LeftHelper = /*#__PURE__*/_styledComponents["default"].div.withConfig({
29
+ componentId: "plasma-new-hope__sc-ff6pwi-2"
30
+ })(["color:", ";margin-top:var(", ");font-family:var(", ");font-size:var(", ");font-style:var(", ");font-weight:var(", ");letter-spacing:var(", ");line-height:var(", ");opacity:var(", ");cursor:", ";"], function (_ref3) {
31
+ var readOnly = _ref3.readOnly,
32
+ disabled = _ref3.disabled;
33
+ return readOnly && !disabled ? "var(".concat(_Autocomplete.tokens.textFieldLeftHelperColorReadOnly, ")") : "var(".concat(_Autocomplete.tokens.textFieldLeftHelperColor, ")");
34
+ }, _Autocomplete.tokens.textFieldLeftHelperOffset, _Autocomplete.tokens.textFieldLeftHelperFontFamily, _Autocomplete.tokens.textFieldLeftHelperFontSize, _Autocomplete.tokens.textFieldLeftHelperFontStyle, _Autocomplete.tokens.textFieldLeftHelperFontWeight, _Autocomplete.tokens.textFieldLeftHelperLetterSpacing, _Autocomplete.tokens.textFieldLeftHelperLineHeight, _Autocomplete.tokens.textFieldDisabledOpacity, function (_ref4) {
35
+ var disabled = _ref4.disabled;
36
+ return disabled ? 'not-allowed' : 'auto';
37
+ });
38
+ var InfiniteLoaderWrapper = exports.InfiniteLoaderWrapper = /*#__PURE__*/_styledComponents["default"].li.withConfig({
39
+ componentId: "plasma-new-hope__sc-ff6pwi-3"
40
+ })(["display:flex;align-items:center;justify-content:center;box-sizing:content-box;min-height:var(", ");"], _Autocomplete.tokens.textFieldHeight);
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.tokens = exports.classes = void 0;
7
+ var classes = exports.classes = {
8
+ suggestionItemIsFocused: 'suggestion-item-is-focused'
9
+ };
10
+ var tokens = exports.tokens = {
11
+ // Токены для TextField
12
+ textFieldColor: '--plasma-autocomplete-textfield-color',
13
+ textFieldBackgroundColor: '--plasma-autocomplete-textfield-background-color',
14
+ textFieldBackgroundColorHover: '--plasma-autocomplete-textfield-background-color-hover',
15
+ textFieldBackgroundColorFocus: '--plasma-autocomplete-textfield-background-color-focus',
16
+ textFieldBorderColor: '--plasma-autocomplete-textfield-border-color',
17
+ textFieldBorderColorHover: '--plasma-autocomplete-textfield-border-color-hover',
18
+ textFieldBorderColorFocus: '--plasma-autocomplete-textfield-border-color-focus',
19
+ textFieldColorReadOnly: '--plasma-autocomplete-textfield-color-readonly',
20
+ textFieldBackgroundColorReadOnly: '--plasma-autocomplete-textfield-bg-color-readonly',
21
+ textFieldBorderColorReadOnly: '--plasma-autocomplete-textfield-border-color-readonly',
22
+ textFieldPlaceholderColorReadOnly: '--plasma-autocomplete-textfield__placeholder-color-readonly',
23
+ textFieldCaretColor: '--plasma-autocomplete-textfield-caret-color',
24
+ textFieldPlaceholderColor: '--plasma-autocomplete-textfield-placeholder-color',
25
+ textFieldHeight: '--plasma-autocomplete-textfield-height',
26
+ textFieldBorderWidth: '--plasma-autocomplete-textfield-border-width',
27
+ textFieldBorderRadius: '--plasma-autocomplete-textfield-border-radius',
28
+ textFieldPadding: '--plasma-autocomplete-textfield-padding',
29
+ textFieldLeftContentMargin: '--plasma-autocomplete-textfield__left-content-margin',
30
+ textFieldRightContentMargin: '--plasma-autocomplete-textfield__right-content-margin',
31
+ textFieldFontFamily: '--plasma-autocomplete-textfield-font-family',
32
+ textFieldFontStyle: '--plasma-autocomplete-textfield-font-style',
33
+ textFieldFontSize: '--plasma-autocomplete-textfield-font-size',
34
+ textFieldFontWeight: '--plasma-autocomplete-textfield-font-weight',
35
+ textFieldLetterSpacing: '--plasma-autocomplete-textfield-letter-spacing',
36
+ textFieldLineHeight: '--plasma-autocomplete-textfield-line-height',
37
+ textFieldLabelColor: '--plasma-autocomplete-textfield-label-color',
38
+ textFieldLabelColorReadOnly: '--plasma-autocomplete-textfield__label-color-readonly',
39
+ textFieldLabelOffset: '--plasma-autocomplete-textfield__label-offset',
40
+ textFieldLabelFontFamily: '--plasma-autocomplete-textfield__label-font-family',
41
+ textFieldLabelFontStyle: '--plasma-autocomplete-textfield__label-font-style',
42
+ textFieldLabelFontSize: '--plasma-autocomplete-textfield__label-font-size',
43
+ textFieldLabelFontWeight: '--plasma-autocomplete-textfield__label-font-weight',
44
+ textFieldLabelLetterSpacing: '--plasma-autocomplete-textfield__label-letter-spacing',
45
+ textFieldLabelLineHeight: '--plasma-autocomplete-textfield__label-line-height',
46
+ textFieldLabelInnerFontFamily: '--plasma-autocomplete-textfield-placement_inner__label-font-family',
47
+ textFieldLabelInnerFontStyle: '--plasma-autocomplete-textfield-placement_inner__label-font-style',
48
+ textFieldLabelInnerFontSize: '--plasma-autocomplete-textfield-placement_inner__label-font-size',
49
+ textFieldLabelInnerFontWeight: '--plasma-autocomplete-textfield-placement_inner__label-font-weight',
50
+ textFieldLabelInnerLetterSpacing: '--plasma-autocomplete-textfield-placement_inner__label-letter-spacing',
51
+ textFieldLabelInnerLineHeight: '--plasma-autocomplete-textfield-placement_inner__label-line-height',
52
+ textFieldLabelInnerPadding: '--plasma-autocomplete-textfield-placement_inner__label-padding',
53
+ textFieldContentLabelInnerPadding: '--plasma-autocomplete-textfield-placement_inner__content-padding',
54
+ textFieldLeftHelperColor: '--plasma-autocomplete-textfield__left-helper-color',
55
+ textFieldLeftHelperColorReadOnly: '--plasma-autocomplete-textfield__left-helper-color-readonly',
56
+ textFieldLeftHelperOffset: '--plasma-autocomplete-textfield__left-helper-offset',
57
+ textFieldLeftHelperFontFamily: '--plasma-autocomplete-textfield__left-helper-font-family',
58
+ textFieldLeftHelperFontStyle: '--plasma-autocomplete-textfield__left-helper-font-style',
59
+ textFieldLeftHelperFontSize: '--plasma-autocomplete-textfield__left-helper-font-size',
60
+ textFieldLeftHelperFontWeight: '--plasma-autocomplete-textfield__left-helper-font-weight',
61
+ textFieldLeftHelperLetterSpacing: '--plasma-autocomplete-textfield__left-helper-letter-spacing',
62
+ textFieldLeftHelperLineHeight: '--plasma-autocomplete-textfield__left-helper-line-height',
63
+ textFieldTextBeforeColor: '--plasma-autocomplete-textfield__before-text-color',
64
+ textFieldTextAfterColor: '--plasma-autocomplete-textfield__after-text-color',
65
+ textFieldTextBeforeMargin: '--plasma-autocomplete-textfield__before-text-margin',
66
+ textFieldTextAfterMargin: '--plasma-autocomplete-textfield__after-text-margin',
67
+ textFieldDisabledOpacity: '--plasma-autocomplete-textfield-disabled-opacity',
68
+ textFieldFocusColor: '--plasma-autocomplete-textfield-focus-color',
69
+ // Токены для дропдауна
70
+ background: '--plasma-autocomplete-background',
71
+ boxShadow: '--plasma-autocomplete-box-shadow',
72
+ borderRadius: '--plasma-autocomplete-border-radius',
73
+ padding: '--plasma-autocomplete-padding',
74
+ itemPadding: '--plasma-autocomplete-item-padding',
75
+ itemBorderRadius: '--plasma-autocomplete-item-border-radius',
76
+ itemFontFamily: '--plasma-autocomplete-item-font-family',
77
+ itemFontSize: '--plasma-autocomplete-item-font-size',
78
+ itemFontStyle: '--plasma-autocomplete-item-font-style',
79
+ itemFontWeight: '--plasma-autocomplete-item-font-weight',
80
+ itemFontLetterSpacing: '--plasma-autocomplete-item-font-letter-spacing',
81
+ itemFontLineHeight: '--plasma-autocomplete-item-font-line-height',
82
+ itemBackground: '--plasma-autocomplete-item-background',
83
+ itemBackgroundHover: '--plasma-autocomplete-item-background-hover',
84
+ itemColor: '--plasma-autocomplete-item-color',
85
+ focusColor: '--plasma-autocomplete-focus-color',
86
+ infiniteLoaderSpinnerColor: '--plasma-autocomplete-infinite-loader-spinner-color',
87
+ infiniteLoaderSpinnerSize: '--plasma-autocomplete-infinite-loader-spinner-size',
88
+ infiniteLoaderGap: '--plasma-autocomplete-infinite-loader-gap',
89
+ emptyStateGap: '--plasma-autocomplete-empty-state-gap',
90
+ emptyStatePadding: '--plasma-autocomplete-empty-state-padding'
91
+ };
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useKeyNavigation = exports.keys = void 0;
7
+ var keys = exports.keys = {
8
+ Enter: 'Enter',
9
+ Space: 'Space',
10
+ Tab: 'Tab',
11
+ Escape: 'Escape',
12
+ ArrowLeft: 'ArrowLeft',
13
+ ArrowRight: 'ArrowRight',
14
+ ArrowUp: 'ArrowUp',
15
+ ArrowDown: 'ArrowDown',
16
+ Home: 'Home',
17
+ End: 'End',
18
+ PageUp: 'PageUp',
19
+ PageDown: 'PageDown'
20
+ };
21
+ var useKeyNavigation = exports.useKeyNavigation = function useKeyNavigation(_ref) {
22
+ var isOpen = _ref.isOpen,
23
+ setIsOpen = _ref.setIsOpen,
24
+ focused = _ref.focused,
25
+ dispatchFocused = _ref.dispatchFocused,
26
+ finalResults = _ref.finalResults,
27
+ handleItemClick = _ref.handleItemClick;
28
+ var onKeyDown = function onKeyDown(event) {
29
+ switch (event.code) {
30
+ case keys.ArrowDown:
31
+ {
32
+ if (!isOpen) {
33
+ setIsOpen(true);
34
+ dispatchFocused({
35
+ type: 'setFirstItem'
36
+ });
37
+ break;
38
+ }
39
+ dispatchFocused({
40
+ type: 'setNextItem',
41
+ listLength: finalResults.length
42
+ });
43
+ break;
44
+ }
45
+ case keys.ArrowUp:
46
+ {
47
+ if (!isOpen) {
48
+ setIsOpen(true);
49
+ dispatchFocused({
50
+ type: 'setLastItem',
51
+ listLength: finalResults.length
52
+ });
53
+ break;
54
+ }
55
+ dispatchFocused({
56
+ type: 'setPrevItem',
57
+ listLength: finalResults.length
58
+ });
59
+ break;
60
+ }
61
+ case keys.Home:
62
+ {
63
+ if (!isOpen) {
64
+ return;
65
+ }
66
+ dispatchFocused({
67
+ type: 'setFirstItem'
68
+ });
69
+ break;
70
+ }
71
+ case keys.End:
72
+ {
73
+ if (!isOpen) {
74
+ return;
75
+ }
76
+ dispatchFocused({
77
+ type: 'setLastItem',
78
+ listLength: finalResults.length
79
+ });
80
+ break;
81
+ }
82
+ case keys.Enter:
83
+ {
84
+ if (!isOpen || focused === null) {
85
+ return;
86
+ }
87
+ dispatchFocused({
88
+ type: 'reset'
89
+ });
90
+ handleItemClick(finalResults[focused]);
91
+ break;
92
+ }
93
+ case keys.Tab:
94
+ case keys.Escape:
95
+ {
96
+ if (!isOpen) {
97
+ return;
98
+ }
99
+ setIsOpen(false);
100
+ dispatchFocused({
101
+ type: 'reset'
102
+ });
103
+ break;
104
+ }
105
+ default:
106
+ {
107
+ break;
108
+ }
109
+ }
110
+ };
111
+ return {
112
+ onKeyDown: onKeyDown
113
+ };
114
+ };
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "autocompleteConfig", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _Autocomplete.autocompleteConfig;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "autocompleteRoot", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _Autocomplete.autocompleteRoot;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "autocompleteTokens", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _Autocomplete2.tokens;
22
+ }
23
+ });
24
+ var _Autocomplete = /*#__PURE__*/require("./Autocomplete");
25
+ var _Autocomplete2 = /*#__PURE__*/require("./Autocomplete.tokens");
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.focusedReducer = focusedReducer;
7
+ function focusedReducer(state, action) {
8
+ switch (action.type) {
9
+ case 'reset':
10
+ {
11
+ return null;
12
+ }
13
+ case 'setNextItem':
14
+ {
15
+ if (state === action.listLength - 1) {
16
+ return state;
17
+ }
18
+ if (state === null) {
19
+ return 0;
20
+ }
21
+ return state + 1;
22
+ }
23
+ case 'setPrevItem':
24
+ {
25
+ if (state === 0) {
26
+ return state;
27
+ }
28
+ if (state === null) {
29
+ return action.listLength - 1;
30
+ }
31
+ return state - 1;
32
+ }
33
+ case 'setFirstItem':
34
+ {
35
+ return 0;
36
+ }
37
+ case 'setLastItem':
38
+ {
39
+ return action.listLength - 1;
40
+ }
41
+ default:
42
+ {
43
+ return state;
44
+ }
45
+ }
46
+ }