@salutejs/plasma-new-hope 0.78.0-canary.1195.8924860991.0 → 0.78.0-canary.1201.8967294034.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (425) hide show
  1. package/cjs/components/Button/Button.styles.js +0 -1
  2. package/cjs/components/Button/Button.styles.js.map +1 -1
  3. package/cjs/components/Combobox/Combobox.css +17 -7
  4. package/cjs/components/Combobox/ui/ComboboxDivider/ComboboxDivider.css +15 -6
  5. package/cjs/components/Combobox/ui/ComboboxDivider/ComboboxDivider.js +2 -2
  6. package/cjs/components/Combobox/ui/ComboboxFooter/ComboboxFooter.css +15 -6
  7. package/cjs/components/Combobox/ui/ComboboxFooter/ComboboxFooter.js +2 -2
  8. package/cjs/components/Combobox/ui/ComboboxGroup/ComboboxGroup.css +15 -6
  9. package/cjs/components/Combobox/ui/ComboboxGroup/ComboboxGroup.js +2 -2
  10. package/cjs/components/Combobox/ui/ComboboxHeader/ComboboxHeader.css +15 -6
  11. package/cjs/components/Combobox/ui/ComboboxHeader/ComboboxHeader.js +2 -2
  12. package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.css +4 -23
  13. package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.js +81 -10
  14. package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.js.map +1 -1
  15. package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js +21 -9
  16. package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js.map +1 -1
  17. package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.styles_s4sk53.css +4 -0
  18. package/cjs/components/Combobox/utils/index.js +23 -0
  19. package/cjs/components/Combobox/utils/index.js.map +1 -0
  20. package/cjs/components/Drawer/Drawer.js +0 -1
  21. package/cjs/components/Drawer/Drawer.js.map +1 -1
  22. package/cjs/components/Dropdown/Dropdown.css +25 -2
  23. package/cjs/components/Dropdown/Dropdown.js +138 -54
  24. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  25. package/cjs/components/Dropdown/Dropdown.styles.js +40 -7
  26. package/cjs/components/Dropdown/Dropdown.styles.js.map +1 -1
  27. package/cjs/components/Dropdown/Dropdown.styles_1tihqkp.css +3 -0
  28. package/cjs/components/Dropdown/Dropdown.tokens.js +26 -23
  29. package/cjs/components/Dropdown/Dropdown.tokens.js.map +1 -1
  30. package/cjs/components/Dropdown/hooks/useHashMaps.js +31 -0
  31. package/cjs/components/Dropdown/hooks/useHashMaps.js.map +1 -0
  32. package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +200 -0
  33. package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js.map +1 -0
  34. package/cjs/components/Dropdown/reducers/focusedPathReducer.js +37 -0
  35. package/cjs/components/Dropdown/reducers/focusedPathReducer.js.map +1 -0
  36. package/cjs/components/Dropdown/reducers/pathReducer.js +41 -0
  37. package/cjs/components/Dropdown/reducers/pathReducer.js.map +1 -0
  38. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +120 -0
  39. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -0
  40. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.css +7 -4
  41. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +79 -100
  42. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  43. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +90 -5
  44. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js.map +1 -1
  45. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles_1o4szyu.css +5 -0
  46. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js +30 -0
  47. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js.map +1 -0
  48. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles_12e50g5.css +4 -0
  49. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.css +4 -0
  50. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +112 -0
  51. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js.map +1 -0
  52. package/cjs/components/Dropdown/ui/{DropdownItem → DropdownItemOld}/variations/_size/base.js +1 -1
  53. package/cjs/components/Dropdown/ui/DropdownItemOld/variations/_size/base.js.map +1 -0
  54. package/cjs/components/Dropdown/ui/{DropdownItem → DropdownItemOld}/variations/_view/base.js +1 -1
  55. package/cjs/components/Dropdown/ui/DropdownItemOld/variations/_view/base.js.map +1 -0
  56. package/cjs/components/Dropdown/utils/index.js +16 -0
  57. package/cjs/components/Dropdown/utils/index.js.map +1 -1
  58. package/cjs/components/Pagination/Pagination.css +14 -7
  59. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +14 -7
  60. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js +1 -1
  61. package/cjs/components/Select/Select.css +14 -7
  62. package/cjs/components/Select/ui/SelectDivider/SelectDivider.css +15 -6
  63. package/cjs/components/Select/ui/SelectDivider/SelectDivider.js +2 -2
  64. package/cjs/components/Select/ui/SelectFooter/SelectFooter.css +15 -6
  65. package/cjs/components/Select/ui/SelectFooter/SelectFooter.js +2 -2
  66. package/cjs/components/Select/ui/SelectGroup/SelectGroup.css +15 -6
  67. package/cjs/components/Select/ui/SelectGroup/SelectGroup.js +2 -2
  68. package/cjs/components/Select/ui/SelectHeader/SelectHeader.css +15 -6
  69. package/cjs/components/Select/ui/SelectHeader/SelectHeader.js +2 -2
  70. package/cjs/components/Select/ui/SelectItem/SelectItem.css +16 -7
  71. package/cjs/components/Select/ui/SelectItem/SelectItem.js +3 -3
  72. package/cjs/components/Select/ui/SelectItem/SelectItem.js.map +1 -1
  73. package/cjs/components/Select/ui/SelectItem/SelectItem.styles.js +2 -2
  74. package/cjs/components/Select/ui/SelectItem/SelectItem.styles.js.map +1 -1
  75. package/cjs/components/Select/ui/SelectItem/{SelectItem.styles_6h17aw.css → SelectItem.styles_vk39mp.css} +1 -1
  76. package/cjs/components/TextField/TextField.js +2 -2
  77. package/cjs/components/TextField/TextField.js.map +1 -1
  78. package/cjs/components/_Icon/Icon.assets/DisclosureRight.js +1 -2
  79. package/cjs/components/_Icon/Icon.assets/DisclosureRight.js.map +1 -1
  80. package/cjs/index.css +18 -10
  81. package/cjs/index.js +8 -7
  82. package/cjs/index.js.map +1 -1
  83. package/es/components/Button/Button.styles.js +0 -1
  84. package/es/components/Button/Button.styles.js.map +1 -1
  85. package/es/components/Combobox/Combobox.css +17 -7
  86. package/es/components/Combobox/ui/ComboboxDivider/ComboboxDivider.css +15 -6
  87. package/es/components/Combobox/ui/ComboboxDivider/ComboboxDivider.js +2 -2
  88. package/es/components/Combobox/ui/ComboboxFooter/ComboboxFooter.css +15 -6
  89. package/es/components/Combobox/ui/ComboboxFooter/ComboboxFooter.js +2 -2
  90. package/es/components/Combobox/ui/ComboboxGroup/ComboboxGroup.css +15 -6
  91. package/es/components/Combobox/ui/ComboboxGroup/ComboboxGroup.js +2 -2
  92. package/es/components/Combobox/ui/ComboboxHeader/ComboboxHeader.css +15 -6
  93. package/es/components/Combobox/ui/ComboboxHeader/ComboboxHeader.js +2 -2
  94. package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.css +4 -23
  95. package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.js +82 -11
  96. package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.js.map +1 -1
  97. package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js +19 -10
  98. package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js.map +1 -1
  99. package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.styles_s4sk53.css +4 -0
  100. package/es/components/Combobox/utils/index.js +19 -0
  101. package/es/components/Combobox/utils/index.js.map +1 -0
  102. package/es/components/Drawer/Drawer.js +0 -1
  103. package/es/components/Drawer/Drawer.js.map +1 -1
  104. package/es/components/Dropdown/Dropdown.css +25 -2
  105. package/es/components/Dropdown/Dropdown.js +144 -60
  106. package/es/components/Dropdown/Dropdown.js.map +1 -1
  107. package/es/components/Dropdown/Dropdown.styles.js +39 -7
  108. package/es/components/Dropdown/Dropdown.styles.js.map +1 -1
  109. package/es/components/Dropdown/Dropdown.styles_1tihqkp.css +3 -0
  110. package/es/components/Dropdown/Dropdown.tokens.js +26 -23
  111. package/es/components/Dropdown/Dropdown.tokens.js.map +1 -1
  112. package/es/components/Dropdown/hooks/useHashMaps.js +27 -0
  113. package/es/components/Dropdown/hooks/useHashMaps.js.map +1 -0
  114. package/es/components/Dropdown/hooks/useKeyboardNavigation.js +196 -0
  115. package/es/components/Dropdown/hooks/useKeyboardNavigation.js.map +1 -0
  116. package/es/components/Dropdown/reducers/focusedPathReducer.js +33 -0
  117. package/es/components/Dropdown/reducers/focusedPathReducer.js.map +1 -0
  118. package/es/components/Dropdown/reducers/pathReducer.js +37 -0
  119. package/es/components/Dropdown/reducers/pathReducer.js.map +1 -0
  120. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +116 -0
  121. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -0
  122. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.css +7 -4
  123. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +80 -100
  124. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  125. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +89 -5
  126. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js.map +1 -1
  127. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles_1o4szyu.css +5 -0
  128. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js +23 -0
  129. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js.map +1 -0
  130. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles_12e50g5.css +4 -0
  131. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.css +4 -0
  132. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +107 -0
  133. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js.map +1 -0
  134. package/es/components/Dropdown/ui/{DropdownItem → DropdownItemOld}/variations/_size/base.js +1 -1
  135. package/es/components/Dropdown/ui/DropdownItemOld/variations/_size/base.js.map +1 -0
  136. package/es/components/Dropdown/ui/{DropdownItem → DropdownItemOld}/variations/_view/base.js +1 -1
  137. package/es/components/Dropdown/ui/DropdownItemOld/variations/_view/base.js.map +1 -0
  138. package/es/components/Dropdown/utils/index.js +16 -2
  139. package/es/components/Dropdown/utils/index.js.map +1 -1
  140. package/es/components/Pagination/Pagination.css +14 -7
  141. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +14 -7
  142. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js +1 -1
  143. package/es/components/Select/Select.css +14 -7
  144. package/es/components/Select/ui/SelectDivider/SelectDivider.css +15 -6
  145. package/es/components/Select/ui/SelectDivider/SelectDivider.js +2 -2
  146. package/es/components/Select/ui/SelectFooter/SelectFooter.css +15 -6
  147. package/es/components/Select/ui/SelectFooter/SelectFooter.js +2 -2
  148. package/es/components/Select/ui/SelectGroup/SelectGroup.css +15 -6
  149. package/es/components/Select/ui/SelectGroup/SelectGroup.js +2 -2
  150. package/es/components/Select/ui/SelectHeader/SelectHeader.css +15 -6
  151. package/es/components/Select/ui/SelectHeader/SelectHeader.js +2 -2
  152. package/es/components/Select/ui/SelectItem/SelectItem.css +16 -7
  153. package/es/components/Select/ui/SelectItem/SelectItem.js +3 -3
  154. package/es/components/Select/ui/SelectItem/SelectItem.js.map +1 -1
  155. package/es/components/Select/ui/SelectItem/SelectItem.styles.js +2 -2
  156. package/es/components/Select/ui/SelectItem/SelectItem.styles.js.map +1 -1
  157. package/es/components/Select/ui/SelectItem/{SelectItem.styles_6h17aw.css → SelectItem.styles_vk39mp.css} +1 -1
  158. package/es/components/TextField/TextField.js +3 -3
  159. package/es/components/TextField/TextField.js.map +1 -1
  160. package/es/components/_Icon/Icon.assets/DisclosureRight.js +1 -2
  161. package/es/components/_Icon/Icon.assets/DisclosureRight.js.map +1 -1
  162. package/es/index.css +18 -10
  163. package/es/index.js +4 -3
  164. package/es/index.js.map +1 -1
  165. package/package.json +2 -2
  166. package/styled-components/cjs/components/Button/Button.styles.js +2 -10
  167. package/styled-components/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.js +91 -2
  168. package/styled-components/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js +27 -7
  169. package/styled-components/cjs/components/Combobox/utils/index.js +23 -0
  170. package/styled-components/cjs/components/Dropdown/Dropdown.js +140 -54
  171. package/styled-components/cjs/components/Dropdown/Dropdown.styles.js +22 -7
  172. package/styled-components/cjs/components/Dropdown/Dropdown.tokens.js +26 -23
  173. package/styled-components/cjs/components/Dropdown/hooks/useHashMaps.js +29 -0
  174. package/styled-components/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +199 -0
  175. package/styled-components/cjs/components/Dropdown/index.js +9 -1
  176. package/styled-components/cjs/components/Dropdown/reducers/focusedPathReducer.js +40 -0
  177. package/styled-components/cjs/components/Dropdown/reducers/pathReducer.js +44 -0
  178. package/styled-components/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +115 -0
  179. package/styled-components/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.type.js +5 -0
  180. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +77 -105
  181. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +83 -18
  182. package/styled-components/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js +33 -0
  183. package/styled-components/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItem.type.js +5 -0
  184. package/styled-components/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +119 -0
  185. package/styled-components/cjs/components/Dropdown/ui/index.js +19 -5
  186. package/styled-components/cjs/components/Dropdown/utils/index.js +15 -1
  187. package/styled-components/cjs/components/Dropdown/variations/_size/tokens.json +1 -9
  188. package/styled-components/cjs/components/Dropdown/variations/_view/tokens.json +1 -1
  189. package/styled-components/cjs/components/Select/ui/SelectItem/SelectItem.js +1 -1
  190. package/styled-components/cjs/components/Select/ui/SelectItem/SelectItem.styles.js +1 -1
  191. package/styled-components/cjs/components/TextField/TextField.js +4 -4
  192. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureRight.js +1 -2
  193. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +25 -0
  194. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.js +11 -0
  195. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +292 -0
  196. package/styled-components/cjs/index.js +0 -11
  197. package/styled-components/es/components/Button/Button.styles.js +2 -10
  198. package/styled-components/es/components/Combobox/ui/ComboboxItem/ComboboxItem.js +90 -3
  199. package/styled-components/es/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js +23 -6
  200. package/styled-components/es/components/Combobox/utils/index.js +15 -0
  201. package/styled-components/es/components/Dropdown/Dropdown.js +142 -55
  202. package/styled-components/es/components/Dropdown/Dropdown.styles.js +18 -5
  203. package/styled-components/es/components/Dropdown/Dropdown.tokens.js +26 -23
  204. package/styled-components/es/components/Dropdown/hooks/useHashMaps.js +23 -0
  205. package/styled-components/es/components/Dropdown/hooks/useKeyboardNavigation.js +193 -0
  206. package/styled-components/es/components/Dropdown/index.js +1 -0
  207. package/styled-components/es/components/Dropdown/reducers/focusedPathReducer.js +34 -0
  208. package/styled-components/es/components/Dropdown/reducers/pathReducer.js +38 -0
  209. package/styled-components/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +109 -0
  210. package/styled-components/es/components/Dropdown/ui/DropdownInner/DropdownInner.type.js +1 -0
  211. package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +78 -107
  212. package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +80 -14
  213. package/styled-components/es/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js +25 -0
  214. package/styled-components/es/components/Dropdown/ui/DropdownItemOld/DropdownItem.type.js +1 -0
  215. package/styled-components/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +111 -0
  216. package/styled-components/es/components/Dropdown/ui/index.js +3 -1
  217. package/styled-components/es/components/Dropdown/utils/index.js +15 -1
  218. package/styled-components/es/components/Dropdown/variations/_size/tokens.json +1 -9
  219. package/styled-components/es/components/Dropdown/variations/_view/tokens.json +1 -1
  220. package/styled-components/es/components/Select/ui/SelectItem/SelectItem.js +2 -2
  221. package/styled-components/es/components/Select/ui/SelectItem/SelectItem.styles.js +1 -1
  222. package/styled-components/es/components/TextField/TextField.js +4 -4
  223. package/styled-components/es/components/_Icon/Icon.assets/DisclosureRight.js +1 -2
  224. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +19 -0
  225. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Dropdown.js +5 -0
  226. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +292 -0
  227. package/styled-components/es/index.js +0 -1
  228. package/types/components/Button/Button.styles.d.ts +0 -1
  229. package/types/components/Button/Button.styles.d.ts.map +1 -1
  230. package/types/components/Combobox/ui/ComboboxItem/ComboboxItem.d.ts +15 -13
  231. package/types/components/Combobox/ui/ComboboxItem/ComboboxItem.d.ts.map +1 -1
  232. package/types/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.d.ts +5 -1
  233. package/types/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.d.ts.map +1 -1
  234. package/types/components/Combobox/ui/ComboboxItem/ComboboxItem.type.d.ts +59 -2
  235. package/types/components/Combobox/ui/ComboboxItem/ComboboxItem.type.d.ts.map +1 -1
  236. package/types/components/Combobox/utils/index.d.ts +4 -0
  237. package/types/components/Combobox/utils/index.d.ts.map +1 -0
  238. package/types/components/Dropdown/Dropdown.d.ts +4 -4
  239. package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
  240. package/types/components/Dropdown/Dropdown.styles.d.ts +8 -1
  241. package/types/components/Dropdown/Dropdown.styles.d.ts.map +1 -1
  242. package/types/components/Dropdown/Dropdown.tokens.d.ts +24 -22
  243. package/types/components/Dropdown/Dropdown.tokens.d.ts.map +1 -1
  244. package/types/components/Dropdown/Dropdown.types.d.ts +64 -40
  245. package/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
  246. package/types/components/Dropdown/hooks/useHashMaps.d.ts +6 -0
  247. package/types/components/Dropdown/hooks/useHashMaps.d.ts.map +1 -0
  248. package/types/components/Dropdown/hooks/useKeyboardNavigation.d.ts +23 -0
  249. package/types/components/Dropdown/hooks/useKeyboardNavigation.d.ts.map +1 -0
  250. package/types/components/Dropdown/index.d.ts +3 -1
  251. package/types/components/Dropdown/index.d.ts.map +1 -1
  252. package/types/components/Dropdown/reducers/focusedPathReducer.d.ts +16 -0
  253. package/types/components/Dropdown/reducers/focusedPathReducer.d.ts.map +1 -0
  254. package/types/components/Dropdown/reducers/pathReducer.d.ts +20 -0
  255. package/types/components/Dropdown/reducers/pathReducer.d.ts.map +1 -0
  256. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.d.ts +5 -0
  257. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.d.ts.map +1 -0
  258. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts +26 -0
  259. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts.map +1 -0
  260. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.d.ts +2 -56
  261. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.d.ts.map +1 -1
  262. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.styles.d.ts +5 -2
  263. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.styles.d.ts.map +1 -1
  264. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts +44 -38
  265. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts.map +1 -1
  266. package/types/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.d.ts +7 -0
  267. package/types/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.d.ts.map +1 -0
  268. package/types/components/Dropdown/ui/DropdownItemOld/DropdownItem.type.d.ts +60 -0
  269. package/types/components/Dropdown/ui/DropdownItemOld/DropdownItem.type.d.ts.map +1 -0
  270. package/types/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.d.ts +58 -0
  271. package/types/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.d.ts.map +1 -0
  272. package/types/components/Dropdown/ui/DropdownItemOld/variations/_size/base.d.ts.map +1 -0
  273. package/types/components/Dropdown/ui/DropdownItemOld/variations/_view/base.d.ts.map +1 -0
  274. package/types/components/Dropdown/ui/index.d.ts +3 -1
  275. package/types/components/Dropdown/ui/index.d.ts.map +1 -1
  276. package/types/components/Dropdown/utils/index.d.ts +5 -2
  277. package/types/components/Dropdown/utils/index.d.ts.map +1 -1
  278. package/types/components/Select/ui/SelectItem/SelectItem.d.ts +2 -2
  279. package/types/components/Select/ui/SelectItem/SelectItem.d.ts.map +1 -1
  280. package/types/components/Select/ui/SelectItem/SelectItem.type.d.ts +2 -2
  281. package/types/components/Select/utils/index.d.ts +1 -1
  282. package/types/components/TextField/TextField.d.ts +2 -2
  283. package/types/components/TextField/TextField.d.ts.map +1 -1
  284. package/types/components/_Icon/Icon.assets/DisclosureRight.d.ts.map +1 -1
  285. package/types/examples/plasma_b2c/components/Dropdown/Dropdown.config.d.ts.map +1 -0
  286. package/types/examples/plasma_b2c/components/Dropdown/Dropdown.d.ts +13 -0
  287. package/types/examples/plasma_b2c/components/Dropdown/Dropdown.d.ts.map +1 -0
  288. package/types/examples/plasma_b2c/components/TextField/TextField.d.ts +2 -2
  289. package/types/examples/plasma_b2c/components/TextField/TextField.d.ts.map +1 -1
  290. package/types/examples/plasma_web/components/TextField/TextField.d.ts +2 -2
  291. package/types/examples/plasma_web/components/TextField/TextField.d.ts.map +1 -1
  292. package/types/examples/sds_engineer/components/TextField/TextField.d.ts +2 -2
  293. package/types/examples/sds_engineer/components/TextField/TextField.d.ts.map +1 -1
  294. package/types/index.d.ts +0 -1
  295. package/types/index.d.ts.map +1 -1
  296. package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.styles_936wgl.css +0 -1
  297. package/cjs/components/Dropdown/Dropdown.styles_1daxhqh.css +0 -2
  298. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles_1juhjtq.css +0 -4
  299. package/cjs/components/Dropdown/ui/DropdownItem/variations/_size/base.js.map +0 -1
  300. package/cjs/components/Dropdown/ui/DropdownItem/variations/_view/base.js.map +0 -1
  301. package/cjs/components/IconButton/IconButton.css +0 -24
  302. package/cjs/components/IconButton/IconButton.js +0 -50
  303. package/cjs/components/IconButton/IconButton.js.map +0 -1
  304. package/cjs/components/IconButton/IconButton.styles.js +0 -16
  305. package/cjs/components/IconButton/IconButton.styles.js.map +0 -1
  306. package/cjs/components/IconButton/IconButton.styles_1hknr37.css +0 -1
  307. package/cjs/components/IconButton/IconButton.tokens.js +0 -32
  308. package/cjs/components/IconButton/IconButton.tokens.js.map +0 -1
  309. package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.styles_936wgl.css +0 -1
  310. package/es/components/Dropdown/Dropdown.styles_1daxhqh.css +0 -2
  311. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles_1juhjtq.css +0 -4
  312. package/es/components/Dropdown/ui/DropdownItem/variations/_size/base.js.map +0 -1
  313. package/es/components/Dropdown/ui/DropdownItem/variations/_view/base.js.map +0 -1
  314. package/es/components/IconButton/IconButton.css +0 -24
  315. package/es/components/IconButton/IconButton.js +0 -45
  316. package/es/components/IconButton/IconButton.js.map +0 -1
  317. package/es/components/IconButton/IconButton.styles.js +0 -12
  318. package/es/components/IconButton/IconButton.styles.js.map +0 -1
  319. package/es/components/IconButton/IconButton.styles_1hknr37.css +0 -1
  320. package/es/components/IconButton/IconButton.tokens.js +0 -28
  321. package/es/components/IconButton/IconButton.tokens.js.map +0 -1
  322. package/styled-components/cjs/components/Dropdown/Dropdown.template-doc.mdx +0 -80
  323. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/variations/_size/tokens.json +0 -19
  324. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/variations/_view/tokens.json +0 -9
  325. package/styled-components/cjs/components/IconButton/IconButton.js +0 -47
  326. package/styled-components/cjs/components/IconButton/IconButton.styles.js +0 -12
  327. package/styled-components/cjs/components/IconButton/IconButton.tokens.js +0 -31
  328. package/styled-components/cjs/components/IconButton/index.js +0 -25
  329. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.config.js +0 -27
  330. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.js +0 -13
  331. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.stories.tsx +0 -194
  332. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.config.js +0 -27
  333. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.js +0 -13
  334. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.stories.tsx +0 -195
  335. package/styled-components/cjs/examples/plasma_b2c/components/IconButton/IconButton.config.js +0 -46
  336. package/styled-components/cjs/examples/plasma_b2c/components/IconButton/IconButton.js +0 -11
  337. package/styled-components/cjs/examples/plasma_b2c/components/IconButton/IconButton.stories.tsx +0 -69
  338. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Normal/Dropdown.config.js +0 -27
  339. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Normal/Dropdown.js +0 -13
  340. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Normal/Dropdown.stories.tsx +0 -195
  341. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Tight/Dropdown.config.js +0 -27
  342. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Tight/Dropdown.js +0 -13
  343. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Tight/Dropdown.stories.tsx +0 -195
  344. package/styled-components/cjs/examples/plasma_web/components/IconButton/IconButton.config.js +0 -46
  345. package/styled-components/cjs/examples/plasma_web/components/IconButton/IconButton.js +0 -11
  346. package/styled-components/cjs/examples/plasma_web/components/IconButton/IconButton.stories.tsx +0 -69
  347. package/styled-components/cjs/examples/sds_engineer/components/Dropdown/Dropdown.config.js +0 -22
  348. package/styled-components/cjs/examples/sds_engineer/components/Dropdown/Dropdown.js +0 -21
  349. package/styled-components/cjs/examples/sds_engineer/components/Dropdown/Dropdown.stories.tsx +0 -277
  350. package/styled-components/es/components/Dropdown/Dropdown.template-doc.mdx +0 -80
  351. package/styled-components/es/components/Dropdown/ui/DropdownItem/variations/_size/tokens.json +0 -19
  352. package/styled-components/es/components/Dropdown/ui/DropdownItem/variations/_view/tokens.json +0 -9
  353. package/styled-components/es/components/IconButton/IconButton.js +0 -41
  354. package/styled-components/es/components/IconButton/IconButton.styles.js +0 -6
  355. package/styled-components/es/components/IconButton/IconButton.tokens.js +0 -25
  356. package/styled-components/es/components/IconButton/index.js +0 -2
  357. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.config.js +0 -21
  358. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.js +0 -7
  359. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.stories.tsx +0 -194
  360. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.config.js +0 -21
  361. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.js +0 -7
  362. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.stories.tsx +0 -195
  363. package/styled-components/es/examples/plasma_b2c/components/IconButton/IconButton.config.js +0 -40
  364. package/styled-components/es/examples/plasma_b2c/components/IconButton/IconButton.js +0 -5
  365. package/styled-components/es/examples/plasma_b2c/components/IconButton/IconButton.stories.tsx +0 -69
  366. package/styled-components/es/examples/plasma_web/components/Dropdown/Normal/Dropdown.config.js +0 -21
  367. package/styled-components/es/examples/plasma_web/components/Dropdown/Normal/Dropdown.js +0 -7
  368. package/styled-components/es/examples/plasma_web/components/Dropdown/Normal/Dropdown.stories.tsx +0 -195
  369. package/styled-components/es/examples/plasma_web/components/Dropdown/Tight/Dropdown.config.js +0 -21
  370. package/styled-components/es/examples/plasma_web/components/Dropdown/Tight/Dropdown.js +0 -7
  371. package/styled-components/es/examples/plasma_web/components/Dropdown/Tight/Dropdown.stories.tsx +0 -195
  372. package/styled-components/es/examples/plasma_web/components/IconButton/IconButton.config.js +0 -40
  373. package/styled-components/es/examples/plasma_web/components/IconButton/IconButton.js +0 -5
  374. package/styled-components/es/examples/plasma_web/components/IconButton/IconButton.stories.tsx +0 -69
  375. package/styled-components/es/examples/sds_engineer/components/Dropdown/Dropdown.config.js +0 -16
  376. package/styled-components/es/examples/sds_engineer/components/Dropdown/Dropdown.js +0 -15
  377. package/styled-components/es/examples/sds_engineer/components/Dropdown/Dropdown.stories.tsx +0 -277
  378. package/types/components/Dropdown/ui/DropdownItem/variations/_size/base.d.ts.map +0 -1
  379. package/types/components/Dropdown/ui/DropdownItem/variations/_view/base.d.ts.map +0 -1
  380. package/types/components/IconButton/IconButton.d.ts +0 -35
  381. package/types/components/IconButton/IconButton.d.ts.map +0 -1
  382. package/types/components/IconButton/IconButton.styles.d.ts +0 -3
  383. package/types/components/IconButton/IconButton.styles.d.ts.map +0 -1
  384. package/types/components/IconButton/IconButton.tokens.d.ts +0 -26
  385. package/types/components/IconButton/IconButton.tokens.d.ts.map +0 -1
  386. package/types/components/IconButton/index.d.ts +0 -3
  387. package/types/components/IconButton/index.d.ts.map +0 -1
  388. package/types/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.config.d.ts.map +0 -1
  389. package/types/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.d.ts +0 -30
  390. package/types/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.d.ts.map +0 -1
  391. package/types/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.config.d.ts +0 -18
  392. package/types/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.config.d.ts.map +0 -1
  393. package/types/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.d.ts +0 -30
  394. package/types/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.d.ts.map +0 -1
  395. package/types/examples/plasma_b2c/components/IconButton/IconButton.config.d.ts +0 -39
  396. package/types/examples/plasma_b2c/components/IconButton/IconButton.config.d.ts.map +0 -1
  397. package/types/examples/plasma_b2c/components/IconButton/IconButton.d.ts +0 -33
  398. package/types/examples/plasma_b2c/components/IconButton/IconButton.d.ts.map +0 -1
  399. package/types/examples/plasma_web/components/Dropdown/Normal/Dropdown.config.d.ts +0 -18
  400. package/types/examples/plasma_web/components/Dropdown/Normal/Dropdown.config.d.ts.map +0 -1
  401. package/types/examples/plasma_web/components/Dropdown/Normal/Dropdown.d.ts +0 -30
  402. package/types/examples/plasma_web/components/Dropdown/Normal/Dropdown.d.ts.map +0 -1
  403. package/types/examples/plasma_web/components/Dropdown/Tight/Dropdown.config.d.ts +0 -18
  404. package/types/examples/plasma_web/components/Dropdown/Tight/Dropdown.config.d.ts.map +0 -1
  405. package/types/examples/plasma_web/components/Dropdown/Tight/Dropdown.d.ts +0 -30
  406. package/types/examples/plasma_web/components/Dropdown/Tight/Dropdown.d.ts.map +0 -1
  407. package/types/examples/plasma_web/components/IconButton/IconButton.config.d.ts +0 -39
  408. package/types/examples/plasma_web/components/IconButton/IconButton.config.d.ts.map +0 -1
  409. package/types/examples/plasma_web/components/IconButton/IconButton.d.ts +0 -33
  410. package/types/examples/plasma_web/components/IconButton/IconButton.d.ts.map +0 -1
  411. package/types/examples/sds_engineer/components/Dropdown/Dropdown.config.d.ts +0 -15
  412. package/types/examples/sds_engineer/components/Dropdown/Dropdown.config.d.ts.map +0 -1
  413. package/types/examples/sds_engineer/components/Dropdown/Dropdown.d.ts +0 -51
  414. package/types/examples/sds_engineer/components/Dropdown/Dropdown.d.ts.map +0 -1
  415. /package/cjs/components/Dropdown/ui/{DropdownItem → DropdownItemOld}/variations/_size/base_x642ct.css +0 -0
  416. /package/cjs/components/Dropdown/ui/{DropdownItem → DropdownItemOld}/variations/_view/base_x642ct.css +0 -0
  417. /package/es/components/Dropdown/ui/{DropdownItem → DropdownItemOld}/variations/_size/base_x642ct.css +0 -0
  418. /package/es/components/Dropdown/ui/{DropdownItem → DropdownItemOld}/variations/_view/base_x642ct.css +0 -0
  419. /package/styled-components/cjs/components/Dropdown/ui/{DropdownItem → DropdownItemOld}/variations/_size/base.js +0 -0
  420. /package/styled-components/cjs/components/Dropdown/ui/{DropdownItem → DropdownItemOld}/variations/_view/base.js +0 -0
  421. /package/styled-components/es/components/Dropdown/ui/{DropdownItem → DropdownItemOld}/variations/_size/base.js +0 -0
  422. /package/styled-components/es/components/Dropdown/ui/{DropdownItem → DropdownItemOld}/variations/_view/base.js +0 -0
  423. /package/types/components/Dropdown/ui/{DropdownItem → DropdownItemOld}/variations/_size/base.d.ts +0 -0
  424. /package/types/components/Dropdown/ui/{DropdownItem → DropdownItemOld}/variations/_view/base.d.ts +0 -0
  425. /package/types/examples/plasma_b2c/components/Dropdown/{Normal/Dropdown.config.d.ts → Dropdown.config.d.ts} +0 -0
@@ -0,0 +1,193 @@
1
+ var getFurtherPath = function getFurtherPath(focusedPath, focusedToValueMap) {
2
+ var focusedPathAsString = focusedPath.reduce(function (acc, n) {
3
+ return "".concat(acc, "/").concat(n);
4
+ }, '').replace(/^(\/)/, '');
5
+ return focusedToValueMap.get(focusedPathAsString);
6
+ };
7
+ export var useKeyNavigation = function useKeyNavigation(_ref) {
8
+ var focusedPath = _ref.focusedPath,
9
+ dispatchFocusedPath = _ref.dispatchFocusedPath,
10
+ path = _ref.path,
11
+ dispatchPath = _ref.dispatchPath,
12
+ pathMap = _ref.pathMap,
13
+ focusedToValueMap = _ref.focusedToValueMap,
14
+ handleGlobalToggle = _ref.handleGlobalToggle,
15
+ closeOnSelect = _ref.closeOnSelect,
16
+ onItemSelect = _ref.onItemSelect,
17
+ onItemClick = _ref.onItemClick;
18
+ var currentLength = pathMap.get(path === null || path === void 0 ? void 0 : path[path.length - 1]) || 0;
19
+ var currentIndex = (focusedPath === null || focusedPath === void 0 ? void 0 : focusedPath[focusedPath.length - 1]) || 0;
20
+ var onKeyDown = function onKeyDown(event) {
21
+ var code = event.code;
22
+ if (code === 'ArrowUp') {
23
+ if (focusedPath.length) {
24
+ var newIndex = currentIndex <= 0 ? currentLength - 1 : currentIndex - 1;
25
+ dispatchFocusedPath({
26
+ type: 'change_last_focus',
27
+ value: newIndex
28
+ });
29
+ } else {
30
+ dispatchPath({
31
+ type: 'opened_first_level'
32
+ });
33
+ dispatchFocusedPath({
34
+ type: 'set_initial_focus'
35
+ });
36
+ handleGlobalToggle(true, event);
37
+ }
38
+ }
39
+ if (code === 'ArrowDown') {
40
+ if (focusedPath.length) {
41
+ var _newIndex = currentIndex + 1 >= currentLength ? 0 : currentIndex + 1;
42
+ dispatchFocusedPath({
43
+ type: 'change_last_focus',
44
+ value: _newIndex
45
+ });
46
+ } else {
47
+ dispatchPath({
48
+ type: 'opened_first_level'
49
+ });
50
+ dispatchFocusedPath({
51
+ type: 'set_initial_focus'
52
+ });
53
+ handleGlobalToggle(true, event);
54
+ }
55
+ }
56
+ if (code === 'ArrowLeft') {
57
+ if (focusedPath.length) {
58
+ dispatchPath({
59
+ type: 'removed_last_level'
60
+ });
61
+ dispatchFocusedPath({
62
+ type: 'return_prev_focus'
63
+ });
64
+ }
65
+ if (focusedPath.length === 1) {
66
+ handleGlobalToggle(false, event);
67
+ }
68
+ }
69
+ if (code === 'ArrowRight') {
70
+ if (focusedPath.length) {
71
+ var currentItem = getFurtherPath(focusedPath, focusedToValueMap);
72
+ if (currentItem !== null && currentItem !== void 0 && currentItem.items) {
73
+ dispatchPath({
74
+ type: 'added_next_level',
75
+ value: currentItem.value.toString()
76
+ });
77
+ dispatchFocusedPath({
78
+ type: 'add_focus',
79
+ value: 0
80
+ });
81
+ }
82
+ }
83
+ }
84
+ if (code === 'Enter' || code === 'Space') {
85
+ event.preventDefault();
86
+ if (path[0]) {
87
+ var _currentItem = getFurtherPath(focusedPath, focusedToValueMap);
88
+ if (_currentItem !== null && _currentItem !== void 0 && _currentItem.disabled || _currentItem !== null && _currentItem !== void 0 && _currentItem.isDisabled) return;
89
+ if (_currentItem !== null && _currentItem !== void 0 && _currentItem.items) {
90
+ dispatchPath({
91
+ type: 'added_next_level',
92
+ value: _currentItem.value.toString()
93
+ });
94
+ dispatchFocusedPath({
95
+ type: 'add_focus',
96
+ value: 0
97
+ });
98
+ } else {
99
+ if (closeOnSelect) {
100
+ handleGlobalToggle(false, event);
101
+ }
102
+ if (onItemSelect && _currentItem) {
103
+ onItemSelect(_currentItem, event);
104
+ }
105
+ if (onItemClick && _currentItem) {
106
+ onItemClick(_currentItem, event);
107
+ }
108
+ }
109
+ } else {
110
+ dispatchPath({
111
+ type: 'opened_first_level'
112
+ });
113
+ dispatchFocusedPath({
114
+ type: 'set_initial_focus'
115
+ });
116
+ }
117
+ }
118
+ if (code === 'Tab' || code === 'Escape') {
119
+ dispatchFocusedPath({
120
+ type: 'reset'
121
+ });
122
+ dispatchPath({
123
+ type: 'reset'
124
+ });
125
+ handleGlobalToggle(false, event);
126
+ }
127
+ if (code === 'Home') {
128
+ if (path[0]) {
129
+ dispatchFocusedPath({
130
+ type: 'change_last_focus',
131
+ value: 0
132
+ });
133
+ } else {
134
+ dispatchPath({
135
+ type: 'opened_first_level'
136
+ });
137
+ dispatchFocusedPath({
138
+ type: 'set_initial_focus'
139
+ });
140
+ handleGlobalToggle(true, event);
141
+ }
142
+ }
143
+ if (code === 'End') {
144
+ if (path[0]) {
145
+ dispatchFocusedPath({
146
+ type: 'change_last_focus',
147
+ value: currentLength - 1
148
+ });
149
+ } else {
150
+ dispatchPath({
151
+ type: 'opened_first_level'
152
+ });
153
+ dispatchFocusedPath({
154
+ type: 'change_last_focus',
155
+ value: (pathMap.get('root') || 0) - 1
156
+ });
157
+ handleGlobalToggle(true, event);
158
+ }
159
+ }
160
+ if (code === 'PageUp') {
161
+ if (path[0]) {
162
+ if (currentIndex <= 10) {
163
+ dispatchFocusedPath({
164
+ type: 'set_initial_focus'
165
+ });
166
+ } else {
167
+ dispatchFocusedPath({
168
+ type: 'change_last_focus',
169
+ value: currentIndex - 10
170
+ });
171
+ }
172
+ }
173
+ }
174
+ if (code === 'PageDown') {
175
+ if (path[0]) {
176
+ if (currentLength - currentIndex <= 10) {
177
+ dispatchFocusedPath({
178
+ type: 'change_last_focus',
179
+ value: currentLength - 1
180
+ });
181
+ } else {
182
+ dispatchFocusedPath({
183
+ type: 'change_last_focus',
184
+ value: currentIndex + 10
185
+ });
186
+ }
187
+ }
188
+ }
189
+ };
190
+ return {
191
+ onKeyDown: onKeyDown
192
+ };
193
+ };
@@ -1,3 +1,4 @@
1
1
  export { dropdownRoot, dropdownConfig } from './Dropdown';
2
2
  export { classes as dropdownClasses, tokens as dropdownTokens } from './Dropdown.tokens';
3
+ export { useKeyNavigation as useDropdownKeyNavigation } from './hooks/useKeyboardNavigation';
3
4
  export * from './ui';
@@ -0,0 +1,34 @@
1
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
2
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(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); }
4
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
5
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
6
+ 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; }
7
+ export function focusedPathReducer(state, action) {
8
+ switch (action.type) {
9
+ case 'reset':
10
+ {
11
+ return [];
12
+ }
13
+ case 'set_initial_focus':
14
+ {
15
+ return [0];
16
+ }
17
+ case 'change_last_focus':
18
+ {
19
+ return [].concat(_toConsumableArray(state.slice(0, -1)), [action.value]);
20
+ }
21
+ case 'add_focus':
22
+ {
23
+ return [].concat(_toConsumableArray(state), [action.value]);
24
+ }
25
+ case 'return_prev_focus':
26
+ {
27
+ return _toConsumableArray(state.slice(0, -1));
28
+ }
29
+ default:
30
+ {
31
+ return state;
32
+ }
33
+ }
34
+ }
@@ -0,0 +1,38 @@
1
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
2
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(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); }
4
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
5
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
6
+ 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; }
7
+ export function pathReducer(state, action) {
8
+ switch (action.type) {
9
+ case 'reset':
10
+ {
11
+ return [];
12
+ }
13
+ case 'opened_first_level':
14
+ {
15
+ return ['root'];
16
+ }
17
+ case 'added_next_level':
18
+ {
19
+ return [].concat(_toConsumableArray(state), [action.value]);
20
+ }
21
+ case 'removed_last_level':
22
+ {
23
+ return _toConsumableArray(state.slice(0, -1));
24
+ }
25
+ case 'changed_on_level':
26
+ {
27
+ return [].concat(_toConsumableArray(state.slice(0, action.level)), [action.value]);
28
+ }
29
+ case 'cut_by_level':
30
+ {
31
+ return state.slice(0, action.level);
32
+ }
33
+ default:
34
+ {
35
+ return state;
36
+ }
37
+ }
38
+ }
@@ -0,0 +1,109 @@
1
+ import React from 'react';
2
+ import { DropdownItem } from '..';
3
+ import { Ul, StyledPopover } from '../../Dropdown.styles';
4
+ var DropdownInner = function DropdownInner(_ref) {
5
+ var item = _ref.item,
6
+ currentLevel = _ref.currentLevel,
7
+ focusedPath = _ref.focusedPath,
8
+ path = _ref.path,
9
+ dispatchPath = _ref.dispatchPath,
10
+ index = _ref.index,
11
+ trigger = _ref.trigger,
12
+ itemRole = _ref.itemRole,
13
+ listHeight = _ref.listHeight,
14
+ listOverflow = _ref.listOverflow,
15
+ handleGlobalToggle = _ref.handleGlobalToggle,
16
+ closeOnSelect = _ref.closeOnSelect,
17
+ onHover = _ref.onHover,
18
+ onItemSelect = _ref.onItemSelect,
19
+ onItemClick = _ref.onItemClick,
20
+ listWidth = _ref.listWidth,
21
+ variant = _ref.variant,
22
+ hasArrow = _ref.hasArrow;
23
+ var handleToggle = function handleToggle(opened) {
24
+ if (opened) {
25
+ dispatchPath({
26
+ type: 'changed_on_level',
27
+ value: item.value.toString(),
28
+ level: currentLevel + 1
29
+ });
30
+ } else {
31
+ dispatchPath({
32
+ type: 'cut_by_level',
33
+ level: currentLevel + 1
34
+ });
35
+ }
36
+ };
37
+ var isCurrentListOpen = path[currentLevel + 1] === item.value.toString();
38
+ if (item !== null && item !== void 0 && item.items) {
39
+ return /*#__PURE__*/React.createElement(StyledPopover, {
40
+ isOpen: isCurrentListOpen,
41
+ usePortal: false,
42
+ placement: "right-start",
43
+ trigger: trigger,
44
+ target: /*#__PURE__*/React.createElement(DropdownItem, {
45
+ item: item,
46
+ index: index,
47
+ path: path,
48
+ focusedPath: focusedPath,
49
+ currentLevel: currentLevel,
50
+ itemRole: itemRole,
51
+ onHover: onHover,
52
+ onItemSelect: onItemSelect,
53
+ onItemClick: onItemClick,
54
+ variant: variant,
55
+ hasArrow: hasArrow,
56
+ ariaControls: "listbox".concat(currentLevel + 2),
57
+ ariaExpanded: isCurrentListOpen,
58
+ ariaHasPopup: "listbox",
59
+ ariaLevel: currentLevel + 1,
60
+ ariaLabel: item.label
61
+ }),
62
+ onToggle: handleToggle,
63
+ isFocusTrapped: false
64
+ }, /*#__PURE__*/React.createElement(Ul, {
65
+ listHeight: listHeight,
66
+ listOverflow: listOverflow,
67
+ role: "group",
68
+ id: "listbox".concat(currentLevel + 2),
69
+ listWidth: listWidth,
70
+ isInnerUl: true
71
+ }, item.items.map(function (innerItem, innerIndex) {
72
+ return /*#__PURE__*/React.createElement(DropdownInner, {
73
+ key: "".concat(innerIndex, "/currentLevel"),
74
+ item: innerItem,
75
+ currentLevel: currentLevel + 1,
76
+ focusedPath: focusedPath,
77
+ path: path,
78
+ dispatchPath: dispatchPath,
79
+ index: innerIndex,
80
+ trigger: trigger,
81
+ itemRole: itemRole,
82
+ listHeight: listHeight,
83
+ listOverflow: listOverflow,
84
+ handleGlobalToggle: handleGlobalToggle,
85
+ closeOnSelect: closeOnSelect,
86
+ onHover: onHover,
87
+ onItemSelect: onItemSelect,
88
+ onItemClick: onItemClick,
89
+ listWidth: listWidth,
90
+ variant: variant,
91
+ hasArrow: hasArrow
92
+ });
93
+ })));
94
+ }
95
+ return /*#__PURE__*/React.createElement(DropdownItem, {
96
+ item: item,
97
+ index: index,
98
+ focusedPath: focusedPath,
99
+ currentLevel: currentLevel,
100
+ itemRole: itemRole,
101
+ handleGlobalToggle: handleGlobalToggle,
102
+ closeOnSelect: closeOnSelect,
103
+ onHover: onHover,
104
+ onItemSelect: onItemSelect,
105
+ onItemClick: onItemClick,
106
+ variant: variant
107
+ });
108
+ };
109
+ export { DropdownInner };
@@ -1,111 +1,82 @@
1
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- var _excluded = ["id", "className", "children", "text", "isSelected", "name", "checked", "value", "role", "view", "size", "disabled", "contentLeft", "contentRight", "onSelect", "onClick", "onChange"];
3
- 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); }
4
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
7
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
8
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
9
- 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; }
10
- 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; }
11
- import React, { forwardRef, useCallback, useMemo } from 'react';
12
- import { safeUseId } from '@salutejs/plasma-core';
1
+ var _DisclosureIconWrappe;
2
+ import React, { useEffect, useRef } from 'react';
13
3
  import { classes } from '../../Dropdown.tokens';
14
4
  import { cx } from '../../../../utils';
15
- import { getValidComponent } from '../../utils';
16
- import { base as viewCSS } from './variations/_view/base';
17
- import { base as sizeCSS } from './variations/_size/base';
18
- import { StyledContentLeft, StyledContentRight, StyledText, base } from './DropdownItem.styles';
19
- /**
20
- * Элемент выпадающего списка
21
- */
22
- export var dropdownItemRoot = function dropdownItemRoot(Root) {
23
- return /*#__PURE__*/forwardRef(function (_ref, outerRootRef) {
24
- var id = _ref.id,
25
- className = _ref.className,
26
- children = _ref.children,
27
- text = _ref.text,
28
- isSelected = _ref.isSelected,
29
- name = _ref.name,
30
- checked = _ref.checked,
31
- value = _ref.value,
32
- role = _ref.role,
33
- view = _ref.view,
34
- size = _ref.size,
35
- disabled = _ref.disabled,
36
- ContentLeftComponent = _ref.contentLeft,
37
- ContentRightComponent = _ref.contentRight,
38
- onSelect = _ref.onSelect,
39
- onClick = _ref.onClick,
40
- onChange = _ref.onChange,
41
- rest = _objectWithoutProperties(_ref, _excluded);
42
- var uniqId = safeUseId();
43
- var innerId = id || uniqId;
44
- var withDropdownItemIsSelected = checked || isSelected ? classes.dropdownItemIsSelected : undefined;
45
- var withDropdownItemIsDisabled = disabled ? classes.dropdownItemIsDisabled : undefined;
46
- var handleOnClick = useCallback(function (event) {
47
- if (disabled) {
48
- return;
49
- }
50
- onClick === null || onClick === void 0 || onClick(event);
51
- if (onSelect && !ContentLeftComponent) {
52
- onSelect(value, text);
53
- }
54
- }, [onSelect, disabled]);
55
- var handleOnChange = useCallback(function (event) {
56
- if (disabled) {
57
- return;
58
- }
59
- onChange === null || onChange === void 0 || onChange(event);
60
- if (onSelect && ContentLeftComponent) {
61
- onSelect(value, text);
62
- }
63
- }, [onSelect, disabled]);
64
- var contentProps = _objectSpread({
65
- name: name,
66
- value: value,
67
- checked: checked || isSelected,
68
- disabled: disabled,
69
- tabIndex: 0
70
- }, !disabled && {
71
- onChange: handleOnChange
72
- });
73
- var ContentLeft = useMemo(function () {
74
- return getValidComponent(ContentLeftComponent, contentProps);
75
- }, [ContentRightComponent, contentProps]);
76
- var ContentRight = useMemo(function () {
77
- return getValidComponent(ContentRightComponent, contentProps);
78
- }, [ContentRightComponent, contentProps]);
79
- return /*#__PURE__*/React.createElement(Root, _extends({
80
- className: cx(withDropdownItemIsSelected, withDropdownItemIsDisabled, className),
81
- view: view,
82
- size: size,
83
- id: innerId,
84
- isSelected: isSelected,
85
- role: role,
86
- ref: outerRootRef,
87
- tabIndex: 0,
88
- "aria-disabled": disabled,
89
- onClick: handleOnClick,
90
- "data-value": value
91
- }, rest), text ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(StyledContentLeft, null, ContentLeftComponent && ContentLeft), /*#__PURE__*/React.createElement(StyledText, null, text), /*#__PURE__*/React.createElement(StyledContentRight, null, ContentRightComponent && ContentRight)) : children);
92
- });
93
- };
94
- export var dropdownItemConfig = {
95
- name: 'DropdownItem',
96
- tag: 'div',
97
- layout: dropdownItemRoot,
98
- base: base,
99
- variations: {
100
- view: {
101
- css: viewCSS
102
- },
103
- size: {
104
- css: sizeCSS
5
+ import { IconDisclosureRight } from '../../../_Icon';
6
+ import { StyledContentLeft, StyledContentRight, StyledText, Wrapper, DisclosureIconWrapper } from './DropdownItem.styles';
7
+ export var DropdownItem = function DropdownItem(_ref) {
8
+ var item = _ref.item,
9
+ path = _ref.path,
10
+ focusedPath = _ref.focusedPath,
11
+ currentLevel = _ref.currentLevel,
12
+ index = _ref.index,
13
+ itemRole = _ref.itemRole,
14
+ closeOnSelect = _ref.closeOnSelect,
15
+ handleGlobalToggle = _ref.handleGlobalToggle,
16
+ onHover = _ref.onHover,
17
+ onItemSelect = _ref.onItemSelect,
18
+ onItemClick = _ref.onItemClick,
19
+ ariaControls = _ref.ariaControls,
20
+ ariaExpanded = _ref.ariaExpanded,
21
+ ariaHasPopup = _ref.ariaHasPopup,
22
+ ariaLevel = _ref.ariaLevel,
23
+ ariaLabel = _ref.ariaLabel,
24
+ variant = _ref.variant,
25
+ hasArrow = _ref.hasArrow;
26
+ var value = item.value,
27
+ label = item.label,
28
+ disabled = item.disabled,
29
+ isDisabled = item.isDisabled,
30
+ contentLeft = item.contentLeft,
31
+ contentRight = item.contentRight;
32
+ var ref = useRef(null);
33
+ var isDisabledClassName = disabled || isDisabled ? classes.dropdownItemIsDisabled : undefined;
34
+ var focusedClass = currentLevel === focusedPath.length - 1 && index === (focusedPath === null || focusedPath === void 0 ? void 0 : focusedPath[currentLevel]) ? classes.dropdownItemIsFocused : undefined;
35
+ var activeClass = value === (path === null || path === void 0 ? void 0 : path[currentLevel + 1]) ? classes.dropdownItemIsActive : undefined;
36
+ useEffect(function () {
37
+ if (focusedClass && ref !== null && ref !== void 0 && ref.current) {
38
+ ref.current.scrollIntoView({
39
+ behavior: 'smooth',
40
+ block: 'center',
41
+ inline: 'center'
42
+ });
105
43
  }
106
- },
107
- defaults: {
108
- view: 'primary',
109
- size: 'm'
110
- }
44
+ }, [focusedClass]);
45
+ var handleClick = function handleClick(event) {
46
+ if (disabled || isDisabled) {
47
+ return;
48
+ }
49
+ if (onItemSelect) {
50
+ onItemSelect(item, event);
51
+ }
52
+ if (onItemClick) {
53
+ onItemClick(item, event);
54
+ }
55
+ if (handleGlobalToggle && closeOnSelect) {
56
+ handleGlobalToggle(false, event);
57
+ }
58
+ };
59
+ var handleHover = function handleHover() {
60
+ if (onHover) {
61
+ onHover(index);
62
+ }
63
+ };
64
+ return /*#__PURE__*/React.createElement(Wrapper, {
65
+ className: cx(isDisabledClassName, focusedClass, activeClass),
66
+ id: value.toString(),
67
+ role: itemRole,
68
+ ref: ref,
69
+ "aria-disabled": disabled || isDisabled,
70
+ onClick: handleClick,
71
+ onMouseEnter: handleHover,
72
+ variant: variant,
73
+ "aria-controls": ariaControls,
74
+ "aria-expanded": ariaExpanded,
75
+ "aria-haspopup": ariaHasPopup,
76
+ "aria-level": ariaLevel,
77
+ "aria-label": ariaLabel
78
+ }, contentLeft && /*#__PURE__*/React.createElement(StyledContentLeft, null, contentLeft), /*#__PURE__*/React.createElement(StyledText, null, label), contentRight && /*#__PURE__*/React.createElement(StyledContentRight, null, contentRight), item.items && hasArrow && (_DisclosureIconWrappe || (_DisclosureIconWrappe = /*#__PURE__*/React.createElement(DisclosureIconWrapper, null, /*#__PURE__*/React.createElement(IconDisclosureRight, {
79
+ size: "xs",
80
+ color: "inherit"
81
+ })))));
111
82
  };