@salutejs/plasma-new-hope 0.78.0-canary.1203.8970261959.0 → 0.78.0-dev.0

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