@salutejs/plasma-new-hope 0.77.1-canary.1197.8831064988.0 → 0.78.0-canary.1185.8884845022.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (332) hide show
  1. package/cjs/components/Combobox/Combobox.css +12 -7
  2. package/cjs/components/Combobox/Combobox.js +1 -1
  3. package/cjs/components/Combobox/ui/ComboboxDivider/ComboboxDivider.css +10 -6
  4. package/cjs/components/Combobox/ui/ComboboxDivider/ComboboxDivider.js +3 -3
  5. package/cjs/components/Combobox/ui/ComboboxFooter/ComboboxFooter.css +10 -6
  6. package/cjs/components/Combobox/ui/ComboboxFooter/ComboboxFooter.js +3 -3
  7. package/cjs/components/Combobox/ui/ComboboxGroup/ComboboxGroup.css +10 -6
  8. package/cjs/components/Combobox/ui/ComboboxGroup/ComboboxGroup.js +3 -3
  9. package/cjs/components/Combobox/ui/ComboboxHeader/ComboboxHeader.css +10 -6
  10. package/cjs/components/Combobox/ui/ComboboxHeader/ComboboxHeader.js +3 -3
  11. package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.css +4 -23
  12. package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.js +81 -10
  13. package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.js.map +1 -1
  14. package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js +21 -9
  15. package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js.map +1 -1
  16. package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.styles_s4sk53.css +4 -0
  17. package/cjs/components/Combobox/utils/index.js +23 -0
  18. package/cjs/components/Combobox/utils/index.js.map +1 -0
  19. package/cjs/components/Dropdown/Dropdown.css +20 -2
  20. package/cjs/components/Dropdown/Dropdown.js +136 -53
  21. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  22. package/cjs/components/Dropdown/Dropdown.styles.js +40 -7
  23. package/cjs/components/Dropdown/Dropdown.styles.js.map +1 -1
  24. package/cjs/components/Dropdown/Dropdown.styles_1tihqkp.css +3 -0
  25. package/cjs/components/Dropdown/Dropdown.tokens.js +12 -24
  26. package/cjs/components/Dropdown/Dropdown.tokens.js.map +1 -1
  27. package/cjs/components/Dropdown/hooks/useHashMaps.js +31 -0
  28. package/cjs/components/Dropdown/hooks/useHashMaps.js.map +1 -0
  29. package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +200 -0
  30. package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js.map +1 -0
  31. package/cjs/components/Dropdown/reducers/focusedPathReducer.js +37 -0
  32. package/cjs/components/Dropdown/reducers/focusedPathReducer.js.map +1 -0
  33. package/cjs/components/Dropdown/reducers/pathReducer.js +41 -0
  34. package/cjs/components/Dropdown/reducers/pathReducer.js.map +1 -0
  35. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +116 -0
  36. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -0
  37. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.css +7 -4
  38. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +79 -100
  39. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  40. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +31 -4
  41. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js.map +1 -1
  42. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles_1o4szyu.css +5 -0
  43. package/cjs/components/Dropdown/utils/index.js +14 -13
  44. package/cjs/components/Dropdown/utils/index.js.map +1 -1
  45. package/cjs/components/Pagination/Pagination.css +39 -7
  46. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +39 -7
  47. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js +2 -2
  48. package/cjs/components/Select/Select.css +39 -7
  49. package/cjs/components/Select/Select.js +3 -3
  50. package/cjs/components/Select/ui/SelectDivider/SelectDivider.css +10 -6
  51. package/cjs/components/Select/ui/SelectDivider/SelectDivider.js +3 -3
  52. package/cjs/components/Select/ui/SelectFooter/SelectFooter.css +10 -6
  53. package/cjs/components/Select/ui/SelectFooter/SelectFooter.js +3 -3
  54. package/cjs/components/Select/ui/SelectGroup/SelectGroup.css +10 -6
  55. package/cjs/components/Select/ui/SelectGroup/SelectGroup.js +3 -3
  56. package/cjs/components/Select/ui/SelectHeader/SelectHeader.css +10 -6
  57. package/cjs/components/Select/ui/SelectHeader/SelectHeader.js +3 -3
  58. package/cjs/components/Select/ui/SelectItem/SelectItem.css +59 -7
  59. package/cjs/components/Select/ui/SelectItem/SelectItem.js +4 -4
  60. package/cjs/components/Select/ui/SelectItem/SelectItem.js.map +1 -1
  61. package/cjs/components/Select/ui/SelectItem/SelectItem.styles.js +3 -3
  62. package/cjs/components/Select/ui/SelectItem/SelectItem.styles.js.map +1 -1
  63. package/cjs/components/Select/ui/SelectItem/SelectItem.styles_1jgsd1a.css +1 -0
  64. package/cjs/components/TextField/TextField.js +2 -2
  65. package/cjs/components/TextField/TextField.js.map +1 -1
  66. package/cjs/components/_Icon/Icon.assets/DisclosureRight.js +1 -2
  67. package/cjs/components/_Icon/Icon.assets/DisclosureRight.js.map +1 -1
  68. package/cjs/index.css +13 -8
  69. package/cjs/index.js +5 -2
  70. package/cjs/index.js.map +1 -1
  71. package/es/components/Combobox/Combobox.css +12 -7
  72. package/es/components/Combobox/Combobox.js +1 -1
  73. package/es/components/Combobox/ui/ComboboxDivider/ComboboxDivider.css +10 -6
  74. package/es/components/Combobox/ui/ComboboxDivider/ComboboxDivider.js +3 -3
  75. package/es/components/Combobox/ui/ComboboxFooter/ComboboxFooter.css +10 -6
  76. package/es/components/Combobox/ui/ComboboxFooter/ComboboxFooter.js +3 -3
  77. package/es/components/Combobox/ui/ComboboxGroup/ComboboxGroup.css +10 -6
  78. package/es/components/Combobox/ui/ComboboxGroup/ComboboxGroup.js +3 -3
  79. package/es/components/Combobox/ui/ComboboxHeader/ComboboxHeader.css +10 -6
  80. package/es/components/Combobox/ui/ComboboxHeader/ComboboxHeader.js +3 -3
  81. package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.css +4 -23
  82. package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.js +82 -11
  83. package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.js.map +1 -1
  84. package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js +19 -10
  85. package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js.map +1 -1
  86. package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.styles_s4sk53.css +4 -0
  87. package/es/components/Combobox/utils/index.js +19 -0
  88. package/es/components/Combobox/utils/index.js.map +1 -0
  89. package/es/components/Dropdown/Dropdown.css +20 -2
  90. package/es/components/Dropdown/Dropdown.js +142 -59
  91. package/es/components/Dropdown/Dropdown.js.map +1 -1
  92. package/es/components/Dropdown/Dropdown.styles.js +39 -7
  93. package/es/components/Dropdown/Dropdown.styles.js.map +1 -1
  94. package/es/components/Dropdown/Dropdown.styles_1tihqkp.css +3 -0
  95. package/es/components/Dropdown/Dropdown.tokens.js +12 -24
  96. package/es/components/Dropdown/Dropdown.tokens.js.map +1 -1
  97. package/es/components/Dropdown/hooks/useHashMaps.js +27 -0
  98. package/es/components/Dropdown/hooks/useHashMaps.js.map +1 -0
  99. package/es/components/Dropdown/hooks/useKeyboardNavigation.js +196 -0
  100. package/es/components/Dropdown/hooks/useKeyboardNavigation.js.map +1 -0
  101. package/es/components/Dropdown/reducers/focusedPathReducer.js +33 -0
  102. package/es/components/Dropdown/reducers/focusedPathReducer.js.map +1 -0
  103. package/es/components/Dropdown/reducers/pathReducer.js +37 -0
  104. package/es/components/Dropdown/reducers/pathReducer.js.map +1 -0
  105. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +112 -0
  106. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -0
  107. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.css +7 -4
  108. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +80 -100
  109. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  110. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +30 -4
  111. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js.map +1 -1
  112. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles_1o4szyu.css +5 -0
  113. package/es/components/Dropdown/utils/index.js +14 -14
  114. package/es/components/Dropdown/utils/index.js.map +1 -1
  115. package/es/components/Pagination/Pagination.css +39 -7
  116. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +39 -7
  117. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js +2 -2
  118. package/es/components/Select/Select.css +39 -7
  119. package/es/components/Select/Select.js +3 -3
  120. package/es/components/Select/ui/SelectDivider/SelectDivider.css +10 -6
  121. package/es/components/Select/ui/SelectDivider/SelectDivider.js +3 -3
  122. package/es/components/Select/ui/SelectFooter/SelectFooter.css +10 -6
  123. package/es/components/Select/ui/SelectFooter/SelectFooter.js +3 -3
  124. package/es/components/Select/ui/SelectGroup/SelectGroup.css +10 -6
  125. package/es/components/Select/ui/SelectGroup/SelectGroup.js +3 -3
  126. package/es/components/Select/ui/SelectHeader/SelectHeader.css +10 -6
  127. package/es/components/Select/ui/SelectHeader/SelectHeader.js +3 -3
  128. package/es/components/Select/ui/SelectItem/SelectItem.css +59 -7
  129. package/es/components/Select/ui/SelectItem/SelectItem.js +4 -4
  130. package/es/components/Select/ui/SelectItem/SelectItem.js.map +1 -1
  131. package/es/components/Select/ui/SelectItem/SelectItem.styles.js +3 -3
  132. package/es/components/Select/ui/SelectItem/SelectItem.styles.js.map +1 -1
  133. package/es/components/Select/ui/SelectItem/SelectItem.styles_1jgsd1a.css +1 -0
  134. package/es/components/TextField/TextField.js +3 -3
  135. package/es/components/TextField/TextField.js.map +1 -1
  136. package/es/components/_Icon/Icon.assets/DisclosureRight.js +1 -2
  137. package/es/components/_Icon/Icon.assets/DisclosureRight.js.map +1 -1
  138. package/es/index.css +13 -8
  139. package/es/index.js +3 -1
  140. package/es/index.js.map +1 -1
  141. package/package.json +3 -3
  142. package/styled-components/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.js +91 -2
  143. package/styled-components/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js +27 -7
  144. package/styled-components/cjs/components/Combobox/utils/index.js +23 -0
  145. package/styled-components/cjs/components/Dropdown/Dropdown.js +138 -53
  146. package/styled-components/cjs/components/Dropdown/Dropdown.styles.js +22 -7
  147. package/styled-components/cjs/components/Dropdown/Dropdown.tokens.js +12 -24
  148. package/styled-components/cjs/components/Dropdown/hooks/useHashMaps.js +29 -0
  149. package/styled-components/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +199 -0
  150. package/styled-components/cjs/components/Dropdown/index.js +9 -1
  151. package/styled-components/cjs/components/Dropdown/reducers/focusedPathReducer.js +40 -0
  152. package/styled-components/cjs/components/Dropdown/reducers/pathReducer.js +44 -0
  153. package/styled-components/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +113 -0
  154. package/styled-components/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.type.js +5 -0
  155. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +77 -105
  156. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +30 -15
  157. package/styled-components/cjs/components/Dropdown/ui/index.js +14 -13
  158. package/styled-components/cjs/components/Dropdown/utils/index.js +14 -13
  159. package/styled-components/cjs/components/Dropdown/variations/_size/tokens.json +1 -9
  160. package/styled-components/cjs/components/Dropdown/variations/_view/tokens.json +1 -1
  161. package/styled-components/cjs/components/Select/ui/SelectItem/SelectItem.js +2 -2
  162. package/styled-components/cjs/components/Select/ui/SelectItem/SelectItem.styles.js +2 -2
  163. package/styled-components/cjs/components/TextField/TextField.js +4 -4
  164. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureRight.js +1 -2
  165. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +25 -0
  166. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.js +11 -0
  167. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +295 -0
  168. package/styled-components/es/components/Combobox/ui/ComboboxItem/ComboboxItem.js +90 -3
  169. package/styled-components/es/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js +23 -6
  170. package/styled-components/es/components/Combobox/utils/index.js +15 -0
  171. package/styled-components/es/components/Dropdown/Dropdown.js +140 -54
  172. package/styled-components/es/components/Dropdown/Dropdown.styles.js +18 -5
  173. package/styled-components/es/components/Dropdown/Dropdown.tokens.js +12 -24
  174. package/styled-components/es/components/Dropdown/hooks/useHashMaps.js +23 -0
  175. package/styled-components/es/components/Dropdown/hooks/useKeyboardNavigation.js +193 -0
  176. package/styled-components/es/components/Dropdown/index.js +1 -0
  177. package/styled-components/es/components/Dropdown/reducers/focusedPathReducer.js +34 -0
  178. package/styled-components/es/components/Dropdown/reducers/pathReducer.js +38 -0
  179. package/styled-components/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +107 -0
  180. package/styled-components/es/components/Dropdown/ui/DropdownInner/DropdownInner.type.js +1 -0
  181. package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +78 -107
  182. package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +27 -11
  183. package/styled-components/es/components/Dropdown/ui/index.js +2 -1
  184. package/styled-components/es/components/Dropdown/utils/index.js +13 -13
  185. package/styled-components/es/components/Dropdown/variations/_size/tokens.json +1 -9
  186. package/styled-components/es/components/Dropdown/variations/_view/tokens.json +1 -1
  187. package/styled-components/es/components/Select/ui/SelectItem/SelectItem.js +2 -2
  188. package/styled-components/es/components/Select/ui/SelectItem/SelectItem.styles.js +2 -2
  189. package/styled-components/es/components/TextField/TextField.js +4 -4
  190. package/styled-components/es/components/_Icon/Icon.assets/DisclosureRight.js +1 -2
  191. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +19 -0
  192. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Dropdown.js +5 -0
  193. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +295 -0
  194. package/types/components/Combobox/ui/ComboboxItem/ComboboxItem.d.ts +15 -13
  195. package/types/components/Combobox/ui/ComboboxItem/ComboboxItem.d.ts.map +1 -1
  196. package/types/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.d.ts +5 -1
  197. package/types/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.d.ts.map +1 -1
  198. package/types/components/Combobox/ui/ComboboxItem/ComboboxItem.type.d.ts +59 -2
  199. package/types/components/Combobox/ui/ComboboxItem/ComboboxItem.type.d.ts.map +1 -1
  200. package/types/components/Combobox/utils/index.d.ts +4 -0
  201. package/types/components/Combobox/utils/index.d.ts.map +1 -0
  202. package/types/components/Dropdown/Dropdown.d.ts +4 -4
  203. package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
  204. package/types/components/Dropdown/Dropdown.styles.d.ts +8 -1
  205. package/types/components/Dropdown/Dropdown.styles.d.ts.map +1 -1
  206. package/types/components/Dropdown/Dropdown.tokens.d.ts +9 -22
  207. package/types/components/Dropdown/Dropdown.tokens.d.ts.map +1 -1
  208. package/types/components/Dropdown/Dropdown.types.d.ts +64 -40
  209. package/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
  210. package/types/components/Dropdown/hooks/useHashMaps.d.ts +6 -0
  211. package/types/components/Dropdown/hooks/useHashMaps.d.ts.map +1 -0
  212. package/types/components/Dropdown/hooks/useKeyboardNavigation.d.ts +23 -0
  213. package/types/components/Dropdown/hooks/useKeyboardNavigation.d.ts.map +1 -0
  214. package/types/components/Dropdown/index.d.ts +3 -1
  215. package/types/components/Dropdown/index.d.ts.map +1 -1
  216. package/types/components/Dropdown/reducers/focusedPathReducer.d.ts +16 -0
  217. package/types/components/Dropdown/reducers/focusedPathReducer.d.ts.map +1 -0
  218. package/types/components/Dropdown/reducers/pathReducer.d.ts +20 -0
  219. package/types/components/Dropdown/reducers/pathReducer.d.ts.map +1 -0
  220. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.d.ts +5 -0
  221. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.d.ts.map +1 -0
  222. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts +26 -0
  223. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts.map +1 -0
  224. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.d.ts +2 -56
  225. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.d.ts.map +1 -1
  226. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.styles.d.ts +5 -1
  227. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.styles.d.ts.map +1 -1
  228. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts +44 -38
  229. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts.map +1 -1
  230. package/types/components/Dropdown/ui/index.d.ts +2 -1
  231. package/types/components/Dropdown/ui/index.d.ts.map +1 -1
  232. package/types/components/Dropdown/utils/index.d.ts +5 -3
  233. package/types/components/Dropdown/utils/index.d.ts.map +1 -1
  234. package/types/components/Select/ui/SelectItem/SelectItem.d.ts +2 -2
  235. package/types/components/Select/ui/SelectItem/SelectItem.type.d.ts +2 -2
  236. package/types/components/Select/utils/index.d.ts +1 -1
  237. package/types/components/TextField/TextField.d.ts +2 -2
  238. package/types/components/TextField/TextField.d.ts.map +1 -1
  239. package/types/components/_Icon/Icon.assets/DisclosureRight.d.ts.map +1 -1
  240. package/types/examples/plasma_b2c/components/Dropdown/Dropdown.config.d.ts.map +1 -0
  241. package/types/examples/plasma_b2c/components/Dropdown/Dropdown.d.ts +13 -0
  242. package/types/examples/plasma_b2c/components/Dropdown/Dropdown.d.ts.map +1 -0
  243. package/types/examples/plasma_b2c/components/TextField/TextField.d.ts +2 -2
  244. package/types/examples/plasma_b2c/components/TextField/TextField.d.ts.map +1 -1
  245. package/types/examples/plasma_web/components/TextField/TextField.d.ts +2 -2
  246. package/types/examples/plasma_web/components/TextField/TextField.d.ts.map +1 -1
  247. package/types/examples/sds_engineer/components/TextField/TextField.d.ts +2 -2
  248. package/types/examples/sds_engineer/components/TextField/TextField.d.ts.map +1 -1
  249. package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.styles_936wgl.css +0 -1
  250. package/cjs/components/Dropdown/Dropdown.styles_1daxhqh.css +0 -2
  251. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles_1juhjtq.css +0 -4
  252. package/cjs/components/Dropdown/ui/DropdownItem/variations/_size/base.js +0 -9
  253. package/cjs/components/Dropdown/ui/DropdownItem/variations/_size/base.js.map +0 -1
  254. package/cjs/components/Dropdown/ui/DropdownItem/variations/_size/base_x642ct.css +0 -1
  255. package/cjs/components/Dropdown/ui/DropdownItem/variations/_view/base.js +0 -9
  256. package/cjs/components/Dropdown/ui/DropdownItem/variations/_view/base.js.map +0 -1
  257. package/cjs/components/Dropdown/ui/DropdownItem/variations/_view/base_x642ct.css +0 -1
  258. package/cjs/components/Select/ui/SelectItem/SelectItem.styles_6h17aw.css +0 -1
  259. package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.styles_936wgl.css +0 -1
  260. package/es/components/Dropdown/Dropdown.styles_1daxhqh.css +0 -2
  261. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles_1juhjtq.css +0 -4
  262. package/es/components/Dropdown/ui/DropdownItem/variations/_size/base.js +0 -5
  263. package/es/components/Dropdown/ui/DropdownItem/variations/_size/base.js.map +0 -1
  264. package/es/components/Dropdown/ui/DropdownItem/variations/_size/base_x642ct.css +0 -1
  265. package/es/components/Dropdown/ui/DropdownItem/variations/_view/base.js +0 -5
  266. package/es/components/Dropdown/ui/DropdownItem/variations/_view/base.js.map +0 -1
  267. package/es/components/Dropdown/ui/DropdownItem/variations/_view/base_x642ct.css +0 -1
  268. package/es/components/Select/ui/SelectItem/SelectItem.styles_6h17aw.css +0 -1
  269. package/styled-components/cjs/components/Dropdown/Dropdown.template-doc.mdx +0 -80
  270. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/variations/_size/base.js +0 -8
  271. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/variations/_size/tokens.json +0 -19
  272. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/variations/_view/base.js +0 -8
  273. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/variations/_view/tokens.json +0 -9
  274. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.config.js +0 -27
  275. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.js +0 -13
  276. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.stories.tsx +0 -194
  277. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.config.js +0 -27
  278. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.js +0 -13
  279. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.stories.tsx +0 -195
  280. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Normal/Dropdown.config.js +0 -27
  281. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Normal/Dropdown.js +0 -13
  282. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Normal/Dropdown.stories.tsx +0 -195
  283. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Tight/Dropdown.config.js +0 -27
  284. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Tight/Dropdown.js +0 -13
  285. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Tight/Dropdown.stories.tsx +0 -195
  286. package/styled-components/cjs/examples/sds_engineer/components/Dropdown/Dropdown.config.js +0 -22
  287. package/styled-components/cjs/examples/sds_engineer/components/Dropdown/Dropdown.js +0 -21
  288. package/styled-components/cjs/examples/sds_engineer/components/Dropdown/Dropdown.stories.tsx +0 -277
  289. package/styled-components/es/components/Dropdown/Dropdown.template-doc.mdx +0 -80
  290. package/styled-components/es/components/Dropdown/ui/DropdownItem/variations/_size/base.js +0 -2
  291. package/styled-components/es/components/Dropdown/ui/DropdownItem/variations/_size/tokens.json +0 -19
  292. package/styled-components/es/components/Dropdown/ui/DropdownItem/variations/_view/base.js +0 -2
  293. package/styled-components/es/components/Dropdown/ui/DropdownItem/variations/_view/tokens.json +0 -9
  294. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.config.js +0 -21
  295. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.js +0 -7
  296. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.stories.tsx +0 -194
  297. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.config.js +0 -21
  298. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.js +0 -7
  299. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.stories.tsx +0 -195
  300. package/styled-components/es/examples/plasma_web/components/Dropdown/Normal/Dropdown.config.js +0 -21
  301. package/styled-components/es/examples/plasma_web/components/Dropdown/Normal/Dropdown.js +0 -7
  302. package/styled-components/es/examples/plasma_web/components/Dropdown/Normal/Dropdown.stories.tsx +0 -195
  303. package/styled-components/es/examples/plasma_web/components/Dropdown/Tight/Dropdown.config.js +0 -21
  304. package/styled-components/es/examples/plasma_web/components/Dropdown/Tight/Dropdown.js +0 -7
  305. package/styled-components/es/examples/plasma_web/components/Dropdown/Tight/Dropdown.stories.tsx +0 -195
  306. package/styled-components/es/examples/sds_engineer/components/Dropdown/Dropdown.config.js +0 -16
  307. package/styled-components/es/examples/sds_engineer/components/Dropdown/Dropdown.js +0 -15
  308. package/styled-components/es/examples/sds_engineer/components/Dropdown/Dropdown.stories.tsx +0 -277
  309. package/types/components/Dropdown/ui/DropdownItem/variations/_size/base.d.ts +0 -2
  310. package/types/components/Dropdown/ui/DropdownItem/variations/_size/base.d.ts.map +0 -1
  311. package/types/components/Dropdown/ui/DropdownItem/variations/_view/base.d.ts +0 -2
  312. package/types/components/Dropdown/ui/DropdownItem/variations/_view/base.d.ts.map +0 -1
  313. package/types/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.config.d.ts.map +0 -1
  314. package/types/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.d.ts +0 -30
  315. package/types/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.d.ts.map +0 -1
  316. package/types/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.config.d.ts +0 -18
  317. package/types/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.config.d.ts.map +0 -1
  318. package/types/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.d.ts +0 -30
  319. package/types/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.d.ts.map +0 -1
  320. package/types/examples/plasma_web/components/Dropdown/Normal/Dropdown.config.d.ts +0 -18
  321. package/types/examples/plasma_web/components/Dropdown/Normal/Dropdown.config.d.ts.map +0 -1
  322. package/types/examples/plasma_web/components/Dropdown/Normal/Dropdown.d.ts +0 -30
  323. package/types/examples/plasma_web/components/Dropdown/Normal/Dropdown.d.ts.map +0 -1
  324. package/types/examples/plasma_web/components/Dropdown/Tight/Dropdown.config.d.ts +0 -18
  325. package/types/examples/plasma_web/components/Dropdown/Tight/Dropdown.config.d.ts.map +0 -1
  326. package/types/examples/plasma_web/components/Dropdown/Tight/Dropdown.d.ts +0 -30
  327. package/types/examples/plasma_web/components/Dropdown/Tight/Dropdown.d.ts.map +0 -1
  328. package/types/examples/sds_engineer/components/Dropdown/Dropdown.config.d.ts +0 -15
  329. package/types/examples/sds_engineer/components/Dropdown/Dropdown.config.d.ts.map +0 -1
  330. package/types/examples/sds_engineer/components/Dropdown/Dropdown.d.ts +0 -51
  331. package/types/examples/sds_engineer/components/Dropdown/Dropdown.d.ts.map +0 -1
  332. /package/types/examples/plasma_b2c/components/Dropdown/{Normal/Dropdown.config.d.ts → Dropdown.config.d.ts} +0 -0
@@ -6,86 +6,171 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.dropdownRoot = exports.dropdownConfig = void 0;
8
8
  var _react = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("react"));
9
- var _plasmaCore = /*#__PURE__*/require("@salutejs/plasma-core");
9
+ var _utils = /*#__PURE__*/require("../../utils");
10
+ var _pathReducer = /*#__PURE__*/require("./reducers/pathReducer");
11
+ var _focusedPathReducer = /*#__PURE__*/require("./reducers/focusedPathReducer");
12
+ var _ui = /*#__PURE__*/require("./ui");
10
13
  var _base = /*#__PURE__*/require("./variations/_view/base");
11
14
  var _base2 = /*#__PURE__*/require("./variations/_size/base");
12
15
  var _Dropdown = /*#__PURE__*/require("./Dropdown.styles");
13
- var _utils = /*#__PURE__*/require("./utils");
14
- var _excluded = ["id", "target", "children", "hasArrow", "role", "view", "size", "frame", "onToggle", "isFocusTrapped", "isOpen", "placement", "trigger", "offset", "preventOverflow", "closeOnOverlayClick", "closeOnEsc"];
16
+ var _utils2 = /*#__PURE__*/require("./utils");
17
+ var _Dropdown2 = /*#__PURE__*/require("./Dropdown.tokens");
18
+ var _useKeyboardNavigation = /*#__PURE__*/require("./hooks/useKeyboardNavigation");
19
+ var _useHashMaps3 = /*#__PURE__*/require("./hooks/useHashMaps");
20
+ var _excluded = ["items", "children", "placement", "offset", "closeOnOverlayClick", "onToggle", "size", "view", "itemRole", "className", "listWidth", "listHeight", "listOverflow", "closeOnSelect", "onHover", "onItemSelect", "onItemClick", "trigger", "variant", "hasArrow"];
15
21
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
16
22
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
17
23
  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); }
24
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
25
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
26
+ function _unsupportedIterableToArray(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); }
27
+ 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; }
28
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
29
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
18
30
  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; }
19
31
  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; }
20
32
  /**
21
- * Выпадающий список без внешнего контроля видимости.
33
+ * Выпадающий список.
22
34
  */
23
35
  var dropdownRoot = exports.dropdownRoot = function dropdownRoot(Root) {
24
- return /*#__PURE__*/(0, _react.forwardRef)(function (_ref, outerRootRef) {
25
- var id = _ref.id,
26
- target = _ref.target,
36
+ return /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
37
+ var items = _ref.items,
27
38
  children = _ref.children,
28
- hasArrow = _ref.hasArrow,
29
- role = _ref.role,
30
- view = _ref.view,
31
- size = _ref.size,
32
- frame = _ref.frame,
33
- _onToggle = _ref.onToggle,
34
- _ref$isFocusTrapped = _ref.isFocusTrapped,
35
- isFocusTrapped = _ref$isFocusTrapped === void 0 ? true : _ref$isFocusTrapped,
36
- _ref$isOpen = _ref.isOpen,
37
- isOpen = _ref$isOpen === void 0 ? false : _ref$isOpen,
38
39
  _ref$placement = _ref.placement,
39
40
  placement = _ref$placement === void 0 ? 'auto' : _ref$placement,
40
- _ref$trigger = _ref.trigger,
41
- trigger = _ref$trigger === void 0 ? 'click' : _ref$trigger,
42
41
  _ref$offset = _ref.offset,
43
- offset = _ref$offset === void 0 ? [0, 6] : _ref$offset,
44
- _ref$preventOverflow = _ref.preventOverflow,
45
- preventOverflow = _ref$preventOverflow === void 0 ? false : _ref$preventOverflow,
42
+ offset = _ref$offset === void 0 ? [0, 0] : _ref$offset,
46
43
  _ref$closeOnOverlayCl = _ref.closeOnOverlayClick,
47
- closeOnOverlayClick = _ref$closeOnOverlayCl === void 0 ? false : _ref$closeOnOverlayCl,
48
- _ref$closeOnEsc = _ref.closeOnEsc,
49
- closeOnEsc = _ref$closeOnEsc === void 0 ? false : _ref$closeOnEsc,
44
+ closeOnOverlayClick = _ref$closeOnOverlayCl === void 0 ? true : _ref$closeOnOverlayCl,
45
+ onToggle = _ref.onToggle,
46
+ size = _ref.size,
47
+ view = _ref.view,
48
+ _ref$itemRole = _ref.itemRole,
49
+ itemRole = _ref$itemRole === void 0 ? 'option' : _ref$itemRole,
50
+ className = _ref.className,
51
+ listWidth = _ref.listWidth,
52
+ listHeight = _ref.listHeight,
53
+ listOverflow = _ref.listOverflow,
54
+ _ref$closeOnSelect = _ref.closeOnSelect,
55
+ closeOnSelect = _ref$closeOnSelect === void 0 ? true : _ref$closeOnSelect,
56
+ onHover = _ref.onHover,
57
+ onItemSelect = _ref.onItemSelect,
58
+ onItemClick = _ref.onItemClick,
59
+ _ref$trigger = _ref.trigger,
60
+ trigger = _ref$trigger === void 0 ? 'click' : _ref$trigger,
61
+ _ref$variant = _ref.variant,
62
+ variant = _ref$variant === void 0 ? 'normal' : _ref$variant,
63
+ hasArrow = _ref.hasArrow,
50
64
  rest = _objectWithoutProperties(_ref, _excluded);
51
- var uniqId = (0, _plasmaCore.useUniqId)();
52
- var innerId = id || uniqId;
53
- var rootRef = (0, _react.useRef)(null);
54
- var dropdownRef = (0, _react.useRef)(null);
55
- var handleRef = (0, _plasmaCore.useForkRef)(rootRef, outerRootRef);
56
- var trapRef = (0, _plasmaCore.useFocusTrap)(isOpen && isFocusTrapped);
57
- var dropdownForkRef = (0, _plasmaCore.useForkRef)(dropdownRef, trapRef);
58
- return /*#__PURE__*/_react["default"].createElement(_Dropdown.StyledPopover, {
59
- role: role,
60
- isOpen: isOpen,
65
+ var _useReducer = (0, _react.useReducer)(_pathReducer.pathReducer, []),
66
+ _useReducer2 = _slicedToArray(_useReducer, 2),
67
+ path = _useReducer2[0],
68
+ dispatchPath = _useReducer2[1];
69
+ var _useReducer3 = (0, _react.useReducer)(_focusedPathReducer.focusedPathReducer, []),
70
+ _useReducer4 = _slicedToArray(_useReducer3, 2),
71
+ focusedPath = _useReducer4[0],
72
+ dispatchFocusedPath = _useReducer4[1];
73
+ var _useHashMaps = (0, _useHashMaps3.useHashMaps)(items),
74
+ _useHashMaps2 = _slicedToArray(_useHashMaps, 2),
75
+ pathMap = _useHashMaps2[0],
76
+ focusedToValueMap = _useHashMaps2[1];
77
+ var handleGlobalToggle = function handleGlobalToggle(opened, event) {
78
+ if (opened) {
79
+ dispatchPath({
80
+ type: 'opened_first_level'
81
+ });
82
+ } else {
83
+ dispatchFocusedPath({
84
+ type: 'reset'
85
+ });
86
+ dispatchPath({
87
+ type: 'reset'
88
+ });
89
+ }
90
+ if (onToggle) {
91
+ onToggle(opened, event);
92
+ }
93
+ };
94
+ var _useKeyNavigation = (0, _useKeyboardNavigation.useKeyNavigation)({
95
+ focusedPath: focusedPath,
96
+ dispatchFocusedPath: dispatchFocusedPath,
97
+ path: path,
98
+ dispatchPath: dispatchPath,
99
+ pathMap: pathMap,
100
+ focusedToValueMap: focusedToValueMap,
101
+ handleGlobalToggle: handleGlobalToggle,
102
+ closeOnSelect: closeOnSelect,
103
+ onItemSelect: onItemSelect,
104
+ onItemClick: onItemClick
105
+ }),
106
+ onKeyDown = _useKeyNavigation.onKeyDown;
107
+ var isCurrentListOpen = Boolean(path[0]);
108
+ var getActiveDescendant = function getActiveDescendant() {
109
+ var _focusedToValueMap$ge;
110
+ var focusedPathAsString = focusedPath.reduce(function (acc, n) {
111
+ return "".concat(acc, "/").concat(n);
112
+ }, '').replace(/^(\/)/, '');
113
+ return focusedToValueMap === null || focusedToValueMap === void 0 || (_focusedToValueMap$ge = focusedToValueMap.get(focusedPathAsString)) === null || _focusedToValueMap$ge === void 0 ? void 0 : _focusedToValueMap$ge.value.toString();
114
+ };
115
+ return /*#__PURE__*/_react["default"].createElement(Root, _extends({
116
+ className: (0, _utils.cx)(className, _Dropdown2.classes.dropdownRoot),
117
+ ref: ref,
118
+ view: view,
119
+ size: size,
120
+ items: items
121
+ }, rest), /*#__PURE__*/_react["default"].createElement(_Dropdown.StyledPopover, {
122
+ isOpen: isCurrentListOpen,
61
123
  usePortal: false,
62
- onToggle: function onToggle(is, event) {
63
- return _onToggle === null || _onToggle === void 0 ? void 0 : _onToggle(is, event);
64
- },
65
- id: innerId,
66
- ref: dropdownForkRef,
67
- target: target,
124
+ onToggle: handleGlobalToggle,
68
125
  offset: offset,
69
- preventOverflow: preventOverflow,
70
- hasArrow: hasArrow,
71
- placement: (0, _utils.getPlacements)(placement),
126
+ placement: (0, _utils2.getPlacements)(placement),
72
127
  trigger: trigger,
73
128
  closeOnOverlayClick: closeOnOverlayClick,
74
- closeOnEsc: closeOnEsc,
75
- isFocusTrapped: isFocusTrapped,
76
- frame: frame
77
- }, /*#__PURE__*/_react["default"].createElement(Root, _extends({
78
- ref: handleRef,
79
- view: view,
80
- size: size
81
- }, rest), /*#__PURE__*/_react["default"].createElement(_Dropdown.StyledDropdown, null, children)));
129
+ isFocusTrapped: false,
130
+ target: (0, _utils2.childrenWithProps)(children, {
131
+ role: 'combobox',
132
+ 'aria-controls': 'listbox1',
133
+ 'aria-expanded': isCurrentListOpen,
134
+ 'aria-haspopup': 'listbox',
135
+ 'aria-activedescendant': getActiveDescendant(),
136
+ onKeyDown: onKeyDown
137
+ })
138
+ }, /*#__PURE__*/_react["default"].createElement(_Dropdown.Ul, {
139
+ listHeight: listHeight,
140
+ listOverflow: listOverflow,
141
+ role: "listbox",
142
+ id: "listbox1",
143
+ listWidth: listWidth
144
+ }, items.map(function (item, index) {
145
+ return /*#__PURE__*/_react["default"].createElement(_ui.DropdownInner, {
146
+ key: "".concat(index, "/0"),
147
+ item: item,
148
+ currentLevel: 0,
149
+ focusedPath: focusedPath,
150
+ trigger: trigger,
151
+ path: path,
152
+ dispatchPath: dispatchPath,
153
+ index: index,
154
+ itemRole: itemRole,
155
+ listHeight: listHeight,
156
+ listOverflow: listOverflow,
157
+ handleGlobalToggle: handleGlobalToggle,
158
+ closeOnSelect: closeOnSelect,
159
+ onHover: onHover,
160
+ onItemSelect: onItemSelect,
161
+ onItemClick: onItemClick,
162
+ listWidth: listWidth,
163
+ variant: variant,
164
+ hasArrow: hasArrow
165
+ });
166
+ }))));
82
167
  });
83
168
  };
84
169
  var dropdownConfig = exports.dropdownConfig = {
85
170
  name: 'Dropdown',
86
171
  tag: 'div',
87
172
  layout: dropdownRoot,
88
- base: '',
173
+ base: _Dropdown.base,
89
174
  variations: {
90
175
  view: {
91
176
  css: _base.base
@@ -1,19 +1,34 @@
1
1
  "use strict";
2
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); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.StyledPopover = exports.StyledDropdown = void 0;
7
- var _styledComponents = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("styled-components"));
7
+ exports.base = exports.Ul = exports.StyledPopover = void 0;
8
+ var _styledComponents = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("styled-components"));
8
9
  var _engines = /*#__PURE__*/require("../../engines");
9
10
  var _Popover = /*#__PURE__*/require("../Popover");
11
+ var _utils = /*#__PURE__*/require("./utils");
10
12
  var _Dropdown = /*#__PURE__*/require("./Dropdown.tokens");
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
12
- // issue #823
13
+ 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); }
14
+ 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; }
13
15
  var Popover = /*#__PURE__*/(0, _engines.component)(_Popover.popoverConfig);
14
16
  var StyledPopover = exports.StyledPopover = /*#__PURE__*/(0, _styledComponents["default"])(Popover).withConfig({
15
17
  componentId: "plasma-new-hope__sc-13ezpo5-0"
16
- })([".", "{display:block;}"], /*#__PURE__*/String(_Popover.popoverClasses.target));
17
- var StyledDropdown = exports.StyledDropdown = /*#__PURE__*/_styledComponents["default"].div.withConfig({
18
+ })([".", ",.", "{display:block;}"], /*#__PURE__*/String(_Popover.popoverClasses.wrapper), /*#__PURE__*/String(_Popover.popoverClasses.target));
19
+ var Ul = exports.Ul = /*#__PURE__*/_styledComponents["default"].ul.withConfig({
18
20
  componentId: "plasma-new-hope__sc-13ezpo5-1"
19
- })(["box-sizing:border-box;background:var(", ");box-shadow:var(", ");border-radius:var(", ");width:var(", ");height:var(", ");padding:var(", ") var(", ") var(", ") var(", ");"], _Dropdown.tokens.background, _Dropdown.tokens.boxShadow, _Dropdown.tokens.borderRadius, _Dropdown.tokens.width, _Dropdown.tokens.height, _Dropdown.tokens.paddingTop, _Dropdown.tokens.paddingRight, _Dropdown.tokens.paddingBottom, _Dropdown.tokens.paddingLeft);
21
+ })(["box-sizing:border-box;background:var(", ");box-shadow:var(", ");border-radius:var(", ");width:", ";height:", ";overflow:", ";margin:", ";padding:var(", ");"], _Dropdown.tokens.background, _Dropdown.tokens.boxShadow, _Dropdown.tokens.borderRadius, function (_ref) {
22
+ var listWidth = _ref.listWidth;
23
+ return listWidth || "var(".concat(_Dropdown.tokens.width, ")");
24
+ }, function (_ref2) {
25
+ var listHeight = _ref2.listHeight;
26
+ return listHeight ? (0, _utils.getCorrectHeight)(listHeight) : 'auto';
27
+ }, function (_ref3) {
28
+ var listOverflow = _ref3.listOverflow;
29
+ return listOverflow || 'initial';
30
+ }, function (_ref4) {
31
+ var isInnerUl = _ref4.isInnerUl;
32
+ return isInnerUl ? "calc(var(".concat(_Dropdown.tokens.padding, ") * -1) 0 0 var(").concat(_Dropdown.tokens.padding, ")") : 0;
33
+ }, _Dropdown.tokens.padding);
34
+ var base = exports.base = /*#__PURE__*/(0, _styledComponents.css)(["display:inline-block;"]);
@@ -5,47 +5,37 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.tokens = exports.classes = void 0;
7
7
  var classes = exports.classes = {
8
- dropdownItemIsSelected: 'dropdown-item-is-selected',
9
- dropdownItemIsDisabled: 'dropdown-item-is-disabled'
8
+ dropdownRoot: 'dropdown-root',
9
+ dropdownItemIsFocused: 'dropdown-item-is-focused',
10
+ dropdownItemIsDisabled: 'dropdown-item-is-disabled',
11
+ dropdownItemIsActive: 'dropdown-item-is-active'
10
12
  };
11
13
  var tokens = exports.tokens = {
12
14
  background: '--plasma-dropdown-background',
13
15
  boxShadow: '--plasma-dropdown-box-shadow',
14
16
  width: '--plasma-dropdown-width',
15
- height: '--plasma-dropdown-height',
16
17
  borderRadius: '--plasma-dropdown-border-radius',
17
- paddingTop: '--plasma-dropdown-padding-top',
18
- paddingRight: '--plasma-dropdown-padding-right',
19
- paddingBottom: '--plasma-dropdown-padding-bottom',
20
- paddingLeft: '--plasma-dropdown-padding-left',
18
+ padding: '--plasma-dropdown-padding',
19
+ disclosureIconColor: '--plasma-dropdown-disclosure-icon-color',
21
20
  itemBackground: '--plasma-dropdown-item-background',
22
21
  itemColor: '--plasma-dropdown-item-color',
23
22
  itemBackgroundHover: '--plasma-dropdown-item-background-hover',
24
- itemBackgroundSelected: '--plasma-dropdown-item-background-selected',
25
- itemColorSelected: '--plasma-dropdown-item-color-selected',
26
- itemBackgroundSelectedHover: '--plasma-dropdown-item-background-selected-hover',
27
- itemColorSelectedHover: '--plasma-dropdown-item-color-selected-hover',
28
- itemWidth: '--plasma-dropdown-item-width',
29
- itemHeight: '--plasma-dropdown-item-height',
30
23
  itemBorderRadius: '--plasma-dropdown-item-border-radius',
31
24
  itemPaddingTop: '--plasma-dropdown-item-padding-top',
25
+ itemPaddingTopTight: '--plasma-dropdown-item-padding-top-tight',
32
26
  itemPaddingRight: '--plasma-dropdown-item-padding-right',
33
27
  itemPaddingBottom: '--plasma-dropdown-item-padding-bottom',
28
+ itemPaddingBottomTight: '--plasma-dropdown-item-padding-bottom-tight',
34
29
  itemPaddingLeft: '--plasma-dropdown-item-padding-left',
35
- itemMarginTop: '--plasma-dropdown-item-margin-top',
36
- itemMarginRight: '--plasma-dropdown-item-margin-right',
37
- itemMarginBottom: '--plasma-dropdown-item-margin-bottom',
38
- itemMarginLeft: '--plasma-dropdown-item-margin-left',
39
30
  itemFontFamily: '--plasma-dropdown-item-font-family',
40
31
  itemFontSize: '--plasma-dropdown-item-font-size',
41
32
  itemFontStyle: '--plasma-dropdown-item-font-style',
42
33
  itemFontWeightBold: '--plasma-dropdown-item-letter-spacing',
43
34
  itemFontLetterSpacing: '--plasma-dropdown-item-line-height',
44
35
  itemFontLineHeight: '--plasma-dropdown-item-font-weight',
45
- itemContentLeftColor: '--plasma-dropdown-item-content-left-color',
46
- itemContentRightColor: '--plasma-dropdown-item-content-right-color',
47
- itemContentLeftWidth: '--plasma-dropdown-item-content-left-width',
48
- itemContentRightWidth: '--plasma-dropdown-item-content-right-width',
36
+ disabledOpacity: '--plasma-dropdown-disabled-opacity',
37
+ focusColor: '--plasma-dropdown-focus-color',
38
+ // TODO: Remove below tokens as soon as they are no longer needed
49
39
  footerBackground: '--plasma-dropdown-footer-background',
50
40
  footerWidth: '--plasma-dropdown-footer-width',
51
41
  footerHeight: '--plasma-dropdown-footer-height',
@@ -112,7 +102,5 @@ var tokens = exports.tokens = {
112
102
  groupLabelMarginTop: '--plasma-dropdown-group-label-margin-top',
113
103
  groupLabelMarginRight: '--plasma-dropdown-group-label-margin-right',
114
104
  groupLabelMarginBottom: '--plasma-dropdown-group-label-margin-bottom',
115
- groupLabelMarginLeft: '--plasma-dropdown-group-label-margin-left',
116
- disabledOpacity: '--plasma-dropdown-disabled-opacity',
117
- focusColor: '--plasma-dropdown-focus-color'
105
+ groupLabelMarginLeft: '--plasma-dropdown-group-label-margin-left'
118
106
  };
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useHashMaps = void 0;
7
+ var _react = /*#__PURE__*/require("react");
8
+ var useHashMaps = exports.useHashMaps = function useHashMaps(items) {
9
+ return (0, _react.useMemo)(function () {
10
+ var pathMap = new Map();
11
+ var focusedToValueMap = new Map();
12
+ pathMap.set('root', items.length);
13
+ var rec = function rec(items) {
14
+ var prevIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
15
+ items.forEach(function (item, index) {
16
+ var value = item.value,
17
+ innerItems = item.items;
18
+ var currIndex = "".concat(prevIndex, "/").concat(index).replace(/^(\/)/, '');
19
+ focusedToValueMap.set(currIndex, item);
20
+ if (innerItems) {
21
+ pathMap.set(value, innerItems.length);
22
+ rec(innerItems, currIndex);
23
+ }
24
+ });
25
+ };
26
+ rec(items);
27
+ return [pathMap, focusedToValueMap];
28
+ }, [items]);
29
+ };
@@ -0,0 +1,199 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useKeyNavigation = void 0;
7
+ var getFurtherPath = function getFurtherPath(focusedPath, focusedToValueMap) {
8
+ var focusedPathAsString = focusedPath.reduce(function (acc, n) {
9
+ return "".concat(acc, "/").concat(n);
10
+ }, '').replace(/^(\/)/, '');
11
+ return focusedToValueMap.get(focusedPathAsString);
12
+ };
13
+ var useKeyNavigation = exports.useKeyNavigation = function useKeyNavigation(_ref) {
14
+ var focusedPath = _ref.focusedPath,
15
+ dispatchFocusedPath = _ref.dispatchFocusedPath,
16
+ path = _ref.path,
17
+ dispatchPath = _ref.dispatchPath,
18
+ pathMap = _ref.pathMap,
19
+ focusedToValueMap = _ref.focusedToValueMap,
20
+ handleGlobalToggle = _ref.handleGlobalToggle,
21
+ closeOnSelect = _ref.closeOnSelect,
22
+ onItemSelect = _ref.onItemSelect,
23
+ onItemClick = _ref.onItemClick;
24
+ var currentLength = pathMap.get(path === null || path === void 0 ? void 0 : path[path.length - 1]) || 0;
25
+ var currentIndex = (focusedPath === null || focusedPath === void 0 ? void 0 : focusedPath[focusedPath.length - 1]) || 0;
26
+ var onKeyDown = function onKeyDown(event) {
27
+ var code = event.code;
28
+ if (code === 'ArrowUp') {
29
+ if (focusedPath.length) {
30
+ var newIndex = currentIndex <= 0 ? currentLength - 1 : currentIndex - 1;
31
+ dispatchFocusedPath({
32
+ type: 'change_last_focus',
33
+ value: newIndex
34
+ });
35
+ } else {
36
+ dispatchPath({
37
+ type: 'opened_first_level'
38
+ });
39
+ dispatchFocusedPath({
40
+ type: 'set_initial_focus'
41
+ });
42
+ handleGlobalToggle(true, event);
43
+ }
44
+ }
45
+ if (code === 'ArrowDown') {
46
+ if (focusedPath.length) {
47
+ var _newIndex = currentIndex + 1 >= currentLength ? 0 : currentIndex + 1;
48
+ dispatchFocusedPath({
49
+ type: 'change_last_focus',
50
+ value: _newIndex
51
+ });
52
+ } else {
53
+ dispatchPath({
54
+ type: 'opened_first_level'
55
+ });
56
+ dispatchFocusedPath({
57
+ type: 'set_initial_focus'
58
+ });
59
+ handleGlobalToggle(true, event);
60
+ }
61
+ }
62
+ if (code === 'ArrowLeft') {
63
+ if (focusedPath.length) {
64
+ dispatchPath({
65
+ type: 'removed_last_level'
66
+ });
67
+ dispatchFocusedPath({
68
+ type: 'return_prev_focus'
69
+ });
70
+ }
71
+ if (focusedPath.length === 1) {
72
+ handleGlobalToggle(false, event);
73
+ }
74
+ }
75
+ if (code === 'ArrowRight') {
76
+ if (focusedPath.length) {
77
+ var currentItem = getFurtherPath(focusedPath, focusedToValueMap);
78
+ if (currentItem !== null && currentItem !== void 0 && currentItem.items) {
79
+ dispatchPath({
80
+ type: 'added_next_level',
81
+ value: currentItem.value.toString()
82
+ });
83
+ dispatchFocusedPath({
84
+ type: 'add_focus',
85
+ value: 0
86
+ });
87
+ }
88
+ }
89
+ }
90
+ if (code === 'Enter' || code === 'Space') {
91
+ event.preventDefault();
92
+ if (path[0]) {
93
+ var _currentItem = getFurtherPath(focusedPath, focusedToValueMap);
94
+ if (_currentItem !== null && _currentItem !== void 0 && _currentItem.disabled || _currentItem !== null && _currentItem !== void 0 && _currentItem.isDisabled) return;
95
+ if (_currentItem !== null && _currentItem !== void 0 && _currentItem.items) {
96
+ dispatchPath({
97
+ type: 'added_next_level',
98
+ value: _currentItem.value.toString()
99
+ });
100
+ dispatchFocusedPath({
101
+ type: 'add_focus',
102
+ value: 0
103
+ });
104
+ } else {
105
+ if (closeOnSelect) {
106
+ handleGlobalToggle(false, event);
107
+ }
108
+ if (onItemSelect && _currentItem) {
109
+ onItemSelect(_currentItem, event);
110
+ }
111
+ if (onItemClick && _currentItem) {
112
+ onItemClick(_currentItem, event);
113
+ }
114
+ }
115
+ } else {
116
+ dispatchPath({
117
+ type: 'opened_first_level'
118
+ });
119
+ dispatchFocusedPath({
120
+ type: 'set_initial_focus'
121
+ });
122
+ }
123
+ }
124
+ if (code === 'Tab') {
125
+ dispatchFocusedPath({
126
+ type: 'reset'
127
+ });
128
+ dispatchPath({
129
+ type: 'reset'
130
+ });
131
+ handleGlobalToggle(false, event);
132
+ }
133
+ if (code === 'Home') {
134
+ if (path[0]) {
135
+ dispatchFocusedPath({
136
+ type: 'change_last_focus',
137
+ value: 0
138
+ });
139
+ } else {
140
+ dispatchPath({
141
+ type: 'opened_first_level'
142
+ });
143
+ dispatchFocusedPath({
144
+ type: 'set_initial_focus'
145
+ });
146
+ handleGlobalToggle(true, event);
147
+ }
148
+ }
149
+ if (code === 'End') {
150
+ if (path[0]) {
151
+ dispatchFocusedPath({
152
+ type: 'change_last_focus',
153
+ value: currentLength - 1
154
+ });
155
+ } else {
156
+ dispatchPath({
157
+ type: 'opened_first_level'
158
+ });
159
+ dispatchFocusedPath({
160
+ type: 'change_last_focus',
161
+ value: (pathMap.get('root') || 0) - 1
162
+ });
163
+ handleGlobalToggle(true, event);
164
+ }
165
+ }
166
+ if (code === 'PageUp') {
167
+ if (path[0]) {
168
+ if (currentIndex <= 10) {
169
+ dispatchFocusedPath({
170
+ type: 'set_initial_focus'
171
+ });
172
+ } else {
173
+ dispatchFocusedPath({
174
+ type: 'change_last_focus',
175
+ value: currentIndex - 10
176
+ });
177
+ }
178
+ }
179
+ }
180
+ if (code === 'PageDown') {
181
+ if (path[0]) {
182
+ if (currentLength - currentIndex <= 10) {
183
+ dispatchFocusedPath({
184
+ type: 'change_last_focus',
185
+ value: currentLength - 1
186
+ });
187
+ } else {
188
+ dispatchFocusedPath({
189
+ type: 'change_last_focus',
190
+ value: currentIndex + 10
191
+ });
192
+ }
193
+ }
194
+ }
195
+ };
196
+ return {
197
+ onKeyDown: onKeyDown
198
+ };
199
+ };
@@ -7,7 +7,8 @@ var _exportNames = {
7
7
  dropdownRoot: true,
8
8
  dropdownConfig: true,
9
9
  dropdownClasses: true,
10
- dropdownTokens: true
10
+ dropdownTokens: true,
11
+ useDropdownKeyNavigation: true
11
12
  };
12
13
  Object.defineProperty(exports, "dropdownClasses", {
13
14
  enumerable: true,
@@ -33,8 +34,15 @@ Object.defineProperty(exports, "dropdownTokens", {
33
34
  return _Dropdown2.tokens;
34
35
  }
35
36
  });
37
+ Object.defineProperty(exports, "useDropdownKeyNavigation", {
38
+ enumerable: true,
39
+ get: function get() {
40
+ return _useKeyboardNavigation.useKeyNavigation;
41
+ }
42
+ });
36
43
  var _Dropdown = /*#__PURE__*/require("./Dropdown");
37
44
  var _Dropdown2 = /*#__PURE__*/require("./Dropdown.tokens");
45
+ var _useKeyboardNavigation = /*#__PURE__*/require("./hooks/useKeyboardNavigation");
38
46
  var _ui = /*#__PURE__*/require("./ui");
39
47
  Object.keys(_ui).forEach(function (key) {
40
48
  if (key === "default" || key === "__esModule") return;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.focusedPathReducer = focusedPathReducer;
7
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
8
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
+ 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); }
10
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
11
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
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 focusedPathReducer(state, action) {
14
+ switch (action.type) {
15
+ case 'reset':
16
+ {
17
+ return [];
18
+ }
19
+ case 'set_initial_focus':
20
+ {
21
+ return [0];
22
+ }
23
+ case 'change_last_focus':
24
+ {
25
+ return [].concat(_toConsumableArray(state.slice(0, -1)), [action.value]);
26
+ }
27
+ case 'add_focus':
28
+ {
29
+ return [].concat(_toConsumableArray(state), [action.value]);
30
+ }
31
+ case 'return_prev_focus':
32
+ {
33
+ return _toConsumableArray(state.slice(0, -1));
34
+ }
35
+ default:
36
+ {
37
+ return state;
38
+ }
39
+ }
40
+ }