@diplodoc/components 4.11.2 → 4.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (346) hide show
  1. package/build/cjs/components/BookmarkButton/BookmarkButton.css +1 -1
  2. package/build/cjs/components/BookmarkButton/BookmarkButton.css.map +3 -3
  3. package/build/cjs/components/Breadcrumbs/Breadcrumbs.css.map +1 -1
  4. package/build/cjs/components/ContributorAvatars/ContributorAvatars.css.map +1 -1
  5. package/build/cjs/components/Contributors/Contributors.css.map +1 -1
  6. package/build/cjs/components/Control/Control.css.map +1 -1
  7. package/build/cjs/components/Control/Control.js +2 -1
  8. package/build/cjs/components/Control/Control.js.map +2 -2
  9. package/build/cjs/components/Controls/Controls.css.map +1 -1
  10. package/build/cjs/components/Controls/single-controls/DividerControl/DividerControl.css.map +1 -1
  11. package/build/cjs/components/Controls/single-controls/LangControl/LangControl.css.map +1 -1
  12. package/build/cjs/components/Controls/single-controls/LangControl/LangControl.js +4 -10
  13. package/build/cjs/components/Controls/single-controls/LangControl/LangControl.js.map +2 -2
  14. package/build/cjs/components/Controls/single-controls/SettingsControl/SettingsControl.css.map +1 -1
  15. package/build/cjs/components/DocLayout/DocLayout.css +40 -4
  16. package/build/cjs/components/DocLayout/DocLayout.css.map +3 -3
  17. package/build/cjs/components/DocLeadingPage/DocLeadingPage.css +5 -0
  18. package/build/cjs/components/DocLeadingPage/DocLeadingPage.css.map +3 -3
  19. package/build/cjs/components/DocPage/DocPage.css +56 -8
  20. package/build/cjs/components/DocPage/DocPage.css.map +3 -3
  21. package/build/cjs/components/DocPage/DocPage.js +43 -23
  22. package/build/cjs/components/DocPage/DocPage.js.map +2 -2
  23. package/build/cjs/components/DocPageTitle/DocPageTitle.css.map +1 -1
  24. package/build/cjs/components/ErrorPage/ErrorPage.css.map +1 -1
  25. package/build/cjs/components/Feedback/Feedback.css +17 -11
  26. package/build/cjs/components/Feedback/Feedback.css.map +3 -3
  27. package/build/cjs/components/Feedback/Feedback.js +6 -3
  28. package/build/cjs/components/Feedback/Feedback.js.map +2 -2
  29. package/build/cjs/components/Feedback/controls/DislikeControl.d.ts +1 -0
  30. package/build/cjs/components/Feedback/controls/DislikeControl.js +14 -1
  31. package/build/cjs/components/Feedback/controls/DislikeControl.js.map +2 -2
  32. package/build/cjs/components/Feedback/controls/LikeControl.d.ts +1 -0
  33. package/build/cjs/components/Feedback/controls/LikeControl.js +4 -2
  34. package/build/cjs/components/Feedback/controls/LikeControl.js.map +2 -2
  35. package/build/cjs/components/Mark/Mark.css.map +1 -1
  36. package/build/cjs/components/MiniToc/MiniToc.css +34 -3
  37. package/build/cjs/components/MiniToc/MiniToc.css.map +3 -3
  38. package/build/cjs/components/MiniToc/MiniToc.d.ts +1 -0
  39. package/build/cjs/components/MiniToc/MiniToc.js +33 -23
  40. package/build/cjs/components/MiniToc/MiniToc.js.map +2 -2
  41. package/build/cjs/components/MobileControls/MobileControl/MobileControl.css +43 -0
  42. package/build/cjs/components/MobileControls/MobileControl/MobileControl.css.map +7 -0
  43. package/build/cjs/components/MobileControls/MobileControl/MobileControl.d.ts +15 -0
  44. package/build/cjs/components/MobileControls/MobileControl/MobileControl.js +93 -0
  45. package/build/cjs/components/MobileControls/MobileControl/MobileControl.js.map +7 -0
  46. package/build/cjs/components/MobileControls/MobileControlSheet/MobileControlSheet.css +38 -0
  47. package/build/cjs/components/MobileControls/MobileControlSheet/MobileControlSheet.css.map +7 -0
  48. package/build/cjs/components/MobileControls/MobileControlSheet/MobileControlSheet.d.ts +13 -0
  49. package/build/cjs/components/MobileControls/MobileControlSheet/MobileControlSheet.js +73 -0
  50. package/build/cjs/components/MobileControls/MobileControlSheet/MobileControlSheet.js.map +7 -0
  51. package/build/cjs/components/MobileControls/MobileControls.css +21 -0
  52. package/build/cjs/components/MobileControls/MobileControls.css.map +7 -0
  53. package/build/cjs/components/MobileControls/MobileControls.d.ts +10 -0
  54. package/build/cjs/components/MobileControls/MobileControls.js +118 -0
  55. package/build/cjs/components/MobileControls/MobileControls.js.map +7 -0
  56. package/build/cjs/components/MobileControls/index.d.ts +2 -0
  57. package/build/cjs/components/MobileControls/index.js +39 -0
  58. package/build/cjs/components/MobileControls/index.js.map +7 -0
  59. package/build/cjs/components/OutsideClick/OutsideClick.d.ts +4 -3
  60. package/build/cjs/components/OutsideClick/OutsideClick.js +4 -4
  61. package/build/cjs/components/OutsideClick/OutsideClick.js.map +2 -2
  62. package/build/cjs/components/Paginator/Paginator.css.map +1 -1
  63. package/build/cjs/components/Scrollspy/Scrollspy.d.ts +6 -0
  64. package/build/cjs/components/Scrollspy/Scrollspy.js +32 -0
  65. package/build/cjs/components/Scrollspy/Scrollspy.js.map +3 -3
  66. package/build/cjs/components/SearchBar/SearchBar.css.map +1 -1
  67. package/build/cjs/components/SearchItem/SearchItem.css.map +1 -1
  68. package/build/cjs/components/SearchPage/SearchPage.css.map +2 -2
  69. package/build/cjs/components/SearchSuggest/index.css.map +1 -1
  70. package/build/cjs/components/ShareButton/ShareButton.d.ts +16 -0
  71. package/build/cjs/components/ShareButton/ShareButton.js +69 -0
  72. package/build/cjs/components/ShareButton/ShareButton.js.map +7 -0
  73. package/build/cjs/components/ShareButton/index.d.ts +1 -0
  74. package/build/cjs/components/ShareButton/index.js +21 -0
  75. package/build/cjs/components/ShareButton/index.js.map +7 -0
  76. package/build/cjs/components/SubNavigation/SubNavigation.css +150 -0
  77. package/build/cjs/components/SubNavigation/SubNavigation.css.map +7 -0
  78. package/build/cjs/components/SubNavigation/SubNavigation.d.ts +19 -0
  79. package/build/cjs/components/SubNavigation/SubNavigation.js +188 -0
  80. package/build/cjs/components/SubNavigation/SubNavigation.js.map +7 -0
  81. package/build/cjs/components/SubNavigation/hooks/index.d.ts +2 -0
  82. package/build/cjs/components/SubNavigation/hooks/index.js +39 -0
  83. package/build/cjs/components/SubNavigation/hooks/index.js.map +7 -0
  84. package/build/cjs/components/SubNavigation/hooks/useMiniTocData.d.ts +8 -0
  85. package/build/cjs/components/SubNavigation/hooks/useMiniTocData.js +53 -0
  86. package/build/cjs/components/SubNavigation/hooks/useMiniTocData.js.map +7 -0
  87. package/build/cjs/components/SubNavigation/hooks/useVisibility.d.ts +2 -0
  88. package/build/cjs/components/SubNavigation/hooks/useVisibility.js +84 -0
  89. package/build/cjs/components/SubNavigation/hooks/useVisibility.js.map +7 -0
  90. package/build/cjs/components/SubNavigation/index.d.ts +2 -0
  91. package/build/cjs/components/SubNavigation/index.js +39 -0
  92. package/build/cjs/components/SubNavigation/index.js.map +7 -0
  93. package/build/cjs/components/Subscribe/Subscribe.css.map +2 -2
  94. package/build/cjs/components/Toc/Toc.css +35 -8
  95. package/build/cjs/components/Toc/Toc.css.map +3 -3
  96. package/build/cjs/components/TocItem/TocItem.css +7 -0
  97. package/build/cjs/components/TocItem/TocItem.css.map +3 -3
  98. package/build/cjs/components/TocLable/TocLabel.css.map +1 -1
  99. package/build/cjs/components/TocNavPanel/TocNavPanel.css +27 -16
  100. package/build/cjs/components/TocNavPanel/TocNavPanel.css.map +3 -3
  101. package/build/cjs/components/TocNavPanel/TocNavPanel.js +2 -1
  102. package/build/cjs/components/TocNavPanel/TocNavPanel.js.map +2 -2
  103. package/build/cjs/components/ToggleArrow/ToggleArrow.css.map +1 -1
  104. package/build/cjs/components/UpdatedAtDate/UpdatedAtDate.css.map +1 -1
  105. package/build/cjs/components/navigation/CustomNavigation/CustomNavigation.css +12 -0
  106. package/build/cjs/components/navigation/CustomNavigation/CustomNavigation.css.map +7 -0
  107. package/build/cjs/components/navigation/CustomNavigation/CustomNavigation.d.ts +11 -0
  108. package/build/cjs/components/navigation/CustomNavigation/CustomNavigation.js +98 -0
  109. package/build/cjs/components/navigation/CustomNavigation/CustomNavigation.js.map +7 -0
  110. package/build/cjs/components/navigation/CustomNavigation/hooks/index.d.ts +2 -0
  111. package/build/cjs/components/navigation/CustomNavigation/hooks/index.js +39 -0
  112. package/build/cjs/components/navigation/CustomNavigation/hooks/index.js.map +7 -0
  113. package/build/cjs/components/navigation/CustomNavigation/hooks/useMainMenuOpenness.d.ts +8 -0
  114. package/build/cjs/components/navigation/CustomNavigation/hooks/useMainMenuOpenness.js +39 -0
  115. package/build/cjs/components/navigation/CustomNavigation/hooks/useMainMenuOpenness.js.map +7 -0
  116. package/build/cjs/components/navigation/CustomNavigation/hooks/useSidebarOpenness.d.ts +7 -0
  117. package/build/cjs/components/navigation/CustomNavigation/hooks/useSidebarOpenness.js +51 -0
  118. package/build/cjs/components/navigation/CustomNavigation/hooks/useSidebarOpenness.js.map +7 -0
  119. package/build/cjs/components/navigation/MobileDropdown/MobileDropdown.css +38 -0
  120. package/build/cjs/components/navigation/MobileDropdown/MobileDropdown.css.map +7 -0
  121. package/build/cjs/components/navigation/MobileDropdown/MobileDropdown.d.ts +8 -0
  122. package/build/cjs/components/navigation/MobileDropdown/MobileDropdown.js +71 -0
  123. package/build/cjs/components/navigation/MobileDropdown/MobileDropdown.js.map +7 -0
  124. package/build/cjs/components/navigation/Sidebar/Sidebar.css +48 -0
  125. package/build/cjs/components/navigation/Sidebar/Sidebar.css.map +7 -0
  126. package/build/cjs/components/navigation/Sidebar/Sidebar.d.ts +8 -0
  127. package/build/cjs/components/navigation/Sidebar/Sidebar.js +73 -0
  128. package/build/cjs/components/navigation/Sidebar/Sidebar.js.map +7 -0
  129. package/build/cjs/components/navigation/SidebarContent/SidebarContent.css +57 -0
  130. package/build/cjs/components/navigation/SidebarContent/SidebarContent.css.map +7 -0
  131. package/build/cjs/components/navigation/SidebarContent/SidebarContent.d.ts +27 -0
  132. package/build/cjs/components/navigation/SidebarContent/SidebarContent.js +107 -0
  133. package/build/cjs/components/navigation/SidebarContent/SidebarContent.js.map +7 -0
  134. package/build/cjs/components/navigation/SidebarNavigation/SidebarNavigation.css +31 -0
  135. package/build/cjs/components/navigation/SidebarNavigation/SidebarNavigation.css.map +7 -0
  136. package/build/cjs/components/navigation/SidebarNavigation/SidebarNavigation.d.ts +11 -0
  137. package/build/cjs/components/navigation/SidebarNavigation/SidebarNavigation.js +61 -0
  138. package/build/cjs/components/navigation/SidebarNavigation/SidebarNavigation.js.map +7 -0
  139. package/build/cjs/components/navigation/ToMainMenu/ToMainMenu.css +59 -0
  140. package/build/cjs/components/navigation/ToMainMenu/ToMainMenu.css.map +7 -0
  141. package/build/cjs/components/navigation/ToMainMenu/ToMainMenu.d.ts +8 -0
  142. package/build/cjs/components/navigation/ToMainMenu/ToMainMenu.js +55 -0
  143. package/build/cjs/components/navigation/ToMainMenu/ToMainMenu.js.map +7 -0
  144. package/build/cjs/components/navigation/hooks/index.d.ts +1 -0
  145. package/build/cjs/components/navigation/hooks/index.js +37 -0
  146. package/build/cjs/components/navigation/hooks/index.js.map +7 -0
  147. package/build/cjs/components/navigation/hooks/useItemsWithCustomDropdowns.d.ts +3 -0
  148. package/build/cjs/components/navigation/hooks/useItemsWithCustomDropdowns.js +60 -0
  149. package/build/cjs/components/navigation/hooks/useItemsWithCustomDropdowns.js.map +7 -0
  150. package/build/cjs/components/navigation/index.d.ts +12 -0
  151. package/build/cjs/components/navigation/index.js +54 -0
  152. package/build/cjs/components/navigation/index.js.map +7 -0
  153. package/build/cjs/constants.d.ts +5 -0
  154. package/build/cjs/constants.js +9 -1
  155. package/build/cjs/constants.js.map +2 -2
  156. package/build/cjs/hooks/index.d.ts +1 -0
  157. package/build/cjs/hooks/index.js +1 -0
  158. package/build/cjs/hooks/index.js.map +2 -2
  159. package/build/cjs/hooks/useShareHandler.d.ts +6 -0
  160. package/build/cjs/hooks/useShareHandler.js +51 -0
  161. package/build/cjs/hooks/useShareHandler.js.map +7 -0
  162. package/build/cjs/i18n/index.d.ts +13 -0
  163. package/build/cjs/i18n/index.js +9 -2
  164. package/build/cjs/i18n/index.js.map +2 -2
  165. package/build/cjs/index.d.ts +5 -1
  166. package/build/cjs/index.js +5 -1
  167. package/build/cjs/index.js.map +2 -2
  168. package/build/cjs/models/index.d.ts +13 -2
  169. package/build/cjs/models/index.js +1 -0
  170. package/build/cjs/models/index.js.map +2 -2
  171. package/build/esm/components/BookmarkButton/BookmarkButton.css +1 -1
  172. package/build/esm/components/BookmarkButton/BookmarkButton.css.map +3 -3
  173. package/build/esm/components/Breadcrumbs/Breadcrumbs.css.map +1 -1
  174. package/build/esm/components/ContributorAvatars/ContributorAvatars.css.map +1 -1
  175. package/build/esm/components/Contributors/Contributors.css.map +1 -1
  176. package/build/esm/components/Control/Control.css.map +1 -1
  177. package/build/esm/components/Control/Control.js +2 -1
  178. package/build/esm/components/Control/Control.js.map +2 -2
  179. package/build/esm/components/Controls/Controls.css.map +1 -1
  180. package/build/esm/components/Controls/single-controls/DividerControl/DividerControl.css.map +1 -1
  181. package/build/esm/components/Controls/single-controls/LangControl/LangControl.css.map +1 -1
  182. package/build/esm/components/Controls/single-controls/LangControl/LangControl.js +2 -8
  183. package/build/esm/components/Controls/single-controls/LangControl/LangControl.js.map +2 -2
  184. package/build/esm/components/Controls/single-controls/SettingsControl/SettingsControl.css.map +1 -1
  185. package/build/esm/components/DocLayout/DocLayout.css +40 -4
  186. package/build/esm/components/DocLayout/DocLayout.css.map +3 -3
  187. package/build/esm/components/DocLeadingPage/DocLeadingPage.css +5 -0
  188. package/build/esm/components/DocLeadingPage/DocLeadingPage.css.map +3 -3
  189. package/build/esm/components/DocPage/DocPage.css +56 -8
  190. package/build/esm/components/DocPage/DocPage.css.map +3 -3
  191. package/build/esm/components/DocPage/DocPage.js +45 -23
  192. package/build/esm/components/DocPage/DocPage.js.map +2 -2
  193. package/build/esm/components/DocPageTitle/DocPageTitle.css.map +1 -1
  194. package/build/esm/components/ErrorPage/ErrorPage.css.map +1 -1
  195. package/build/esm/components/Feedback/Feedback.css +17 -11
  196. package/build/esm/components/Feedback/Feedback.css.map +3 -3
  197. package/build/esm/components/Feedback/Feedback.js +6 -3
  198. package/build/esm/components/Feedback/Feedback.js.map +2 -2
  199. package/build/esm/components/Feedback/controls/DislikeControl.d.ts +1 -0
  200. package/build/esm/components/Feedback/controls/DislikeControl.js +14 -1
  201. package/build/esm/components/Feedback/controls/DislikeControl.js.map +2 -2
  202. package/build/esm/components/Feedback/controls/LikeControl.d.ts +1 -0
  203. package/build/esm/components/Feedback/controls/LikeControl.js +4 -2
  204. package/build/esm/components/Feedback/controls/LikeControl.js.map +2 -2
  205. package/build/esm/components/Mark/Mark.css.map +1 -1
  206. package/build/esm/components/MiniToc/MiniToc.css +34 -3
  207. package/build/esm/components/MiniToc/MiniToc.css.map +3 -3
  208. package/build/esm/components/MiniToc/MiniToc.d.ts +1 -0
  209. package/build/esm/components/MiniToc/MiniToc.js +33 -23
  210. package/build/esm/components/MiniToc/MiniToc.js.map +2 -2
  211. package/build/esm/components/MobileControls/MobileControl/MobileControl.css +43 -0
  212. package/build/esm/components/MobileControls/MobileControl/MobileControl.css.map +7 -0
  213. package/build/esm/components/MobileControls/MobileControl/MobileControl.d.ts +15 -0
  214. package/build/esm/components/MobileControls/MobileControl/MobileControl.js +62 -0
  215. package/build/esm/components/MobileControls/MobileControl/MobileControl.js.map +7 -0
  216. package/build/esm/components/MobileControls/MobileControlSheet/MobileControlSheet.css +38 -0
  217. package/build/esm/components/MobileControls/MobileControlSheet/MobileControlSheet.css.map +7 -0
  218. package/build/esm/components/MobileControls/MobileControlSheet/MobileControlSheet.d.ts +13 -0
  219. package/build/esm/components/MobileControls/MobileControlSheet/MobileControlSheet.js +42 -0
  220. package/build/esm/components/MobileControls/MobileControlSheet/MobileControlSheet.js.map +7 -0
  221. package/build/esm/components/MobileControls/MobileControls.css +21 -0
  222. package/build/esm/components/MobileControls/MobileControls.css.map +7 -0
  223. package/build/esm/components/MobileControls/MobileControls.d.ts +10 -0
  224. package/build/esm/components/MobileControls/MobileControls.js +92 -0
  225. package/build/esm/components/MobileControls/MobileControls.js.map +7 -0
  226. package/build/esm/components/MobileControls/index.d.ts +2 -0
  227. package/build/esm/components/MobileControls/index.js +7 -0
  228. package/build/esm/components/MobileControls/index.js.map +7 -0
  229. package/build/esm/components/OutsideClick/OutsideClick.d.ts +4 -3
  230. package/build/esm/components/OutsideClick/OutsideClick.js +4 -4
  231. package/build/esm/components/OutsideClick/OutsideClick.js.map +2 -2
  232. package/build/esm/components/Paginator/Paginator.css.map +1 -1
  233. package/build/esm/components/Scrollspy/Scrollspy.d.ts +6 -0
  234. package/build/esm/components/Scrollspy/Scrollspy.js +32 -0
  235. package/build/esm/components/Scrollspy/Scrollspy.js.map +3 -3
  236. package/build/esm/components/SearchBar/SearchBar.css.map +1 -1
  237. package/build/esm/components/SearchItem/SearchItem.css.map +1 -1
  238. package/build/esm/components/SearchPage/SearchPage.css.map +2 -2
  239. package/build/esm/components/SearchSuggest/index.css.map +1 -1
  240. package/build/esm/components/ShareButton/ShareButton.d.ts +16 -0
  241. package/build/esm/components/ShareButton/ShareButton.js +41 -0
  242. package/build/esm/components/ShareButton/ShareButton.js.map +7 -0
  243. package/build/esm/components/ShareButton/index.d.ts +1 -0
  244. package/build/esm/components/ShareButton/index.js +3 -0
  245. package/build/esm/components/ShareButton/index.js.map +7 -0
  246. package/build/esm/components/SubNavigation/SubNavigation.css +150 -0
  247. package/build/esm/components/SubNavigation/SubNavigation.css.map +7 -0
  248. package/build/esm/components/SubNavigation/SubNavigation.d.ts +19 -0
  249. package/build/esm/components/SubNavigation/SubNavigation.js +160 -0
  250. package/build/esm/components/SubNavigation/SubNavigation.js.map +7 -0
  251. package/build/esm/components/SubNavigation/hooks/index.d.ts +2 -0
  252. package/build/esm/components/SubNavigation/hooks/index.js +8 -0
  253. package/build/esm/components/SubNavigation/hooks/index.js.map +7 -0
  254. package/build/esm/components/SubNavigation/hooks/useMiniTocData.d.ts +8 -0
  255. package/build/esm/components/SubNavigation/hooks/useMiniTocData.js +32 -0
  256. package/build/esm/components/SubNavigation/hooks/useMiniTocData.js.map +7 -0
  257. package/build/esm/components/SubNavigation/hooks/useVisibility.d.ts +2 -0
  258. package/build/esm/components/SubNavigation/hooks/useVisibility.js +63 -0
  259. package/build/esm/components/SubNavigation/hooks/useVisibility.js.map +7 -0
  260. package/build/esm/components/SubNavigation/index.d.ts +2 -0
  261. package/build/esm/components/SubNavigation/index.js +7 -0
  262. package/build/esm/components/SubNavigation/index.js.map +7 -0
  263. package/build/esm/components/Subscribe/Subscribe.css.map +2 -2
  264. package/build/esm/components/Toc/Toc.css +35 -8
  265. package/build/esm/components/Toc/Toc.css.map +3 -3
  266. package/build/esm/components/TocItem/TocItem.css +7 -0
  267. package/build/esm/components/TocItem/TocItem.css.map +3 -3
  268. package/build/esm/components/TocLable/TocLabel.css.map +1 -1
  269. package/build/esm/components/TocNavPanel/TocNavPanel.css +27 -16
  270. package/build/esm/components/TocNavPanel/TocNavPanel.css.map +3 -3
  271. package/build/esm/components/TocNavPanel/TocNavPanel.js +2 -1
  272. package/build/esm/components/TocNavPanel/TocNavPanel.js.map +2 -2
  273. package/build/esm/components/ToggleArrow/ToggleArrow.css.map +1 -1
  274. package/build/esm/components/UpdatedAtDate/UpdatedAtDate.css.map +1 -1
  275. package/build/esm/components/navigation/CustomNavigation/CustomNavigation.css +12 -0
  276. package/build/esm/components/navigation/CustomNavigation/CustomNavigation.css.map +7 -0
  277. package/build/esm/components/navigation/CustomNavigation/CustomNavigation.d.ts +11 -0
  278. package/build/esm/components/navigation/CustomNavigation/CustomNavigation.js +74 -0
  279. package/build/esm/components/navigation/CustomNavigation/CustomNavigation.js.map +7 -0
  280. package/build/esm/components/navigation/CustomNavigation/hooks/index.d.ts +2 -0
  281. package/build/esm/components/navigation/CustomNavigation/hooks/index.js +8 -0
  282. package/build/esm/components/navigation/CustomNavigation/hooks/index.js.map +7 -0
  283. package/build/esm/components/navigation/CustomNavigation/hooks/useMainMenuOpenness.d.ts +8 -0
  284. package/build/esm/components/navigation/CustomNavigation/hooks/useMainMenuOpenness.js +18 -0
  285. package/build/esm/components/navigation/CustomNavigation/hooks/useMainMenuOpenness.js.map +7 -0
  286. package/build/esm/components/navigation/CustomNavigation/hooks/useSidebarOpenness.d.ts +7 -0
  287. package/build/esm/components/navigation/CustomNavigation/hooks/useSidebarOpenness.js +30 -0
  288. package/build/esm/components/navigation/CustomNavigation/hooks/useSidebarOpenness.js.map +7 -0
  289. package/build/esm/components/navigation/MobileDropdown/MobileDropdown.css +38 -0
  290. package/build/esm/components/navigation/MobileDropdown/MobileDropdown.css.map +7 -0
  291. package/build/esm/components/navigation/MobileDropdown/MobileDropdown.d.ts +8 -0
  292. package/build/esm/components/navigation/MobileDropdown/MobileDropdown.js +46 -0
  293. package/build/esm/components/navigation/MobileDropdown/MobileDropdown.js.map +7 -0
  294. package/build/esm/components/navigation/Sidebar/Sidebar.css +48 -0
  295. package/build/esm/components/navigation/Sidebar/Sidebar.css.map +7 -0
  296. package/build/esm/components/navigation/Sidebar/Sidebar.d.ts +8 -0
  297. package/build/esm/components/navigation/Sidebar/Sidebar.js +42 -0
  298. package/build/esm/components/navigation/Sidebar/Sidebar.js.map +7 -0
  299. package/build/esm/components/navigation/SidebarContent/SidebarContent.css +57 -0
  300. package/build/esm/components/navigation/SidebarContent/SidebarContent.css.map +7 -0
  301. package/build/esm/components/navigation/SidebarContent/SidebarContent.d.ts +27 -0
  302. package/build/esm/components/navigation/SidebarContent/SidebarContent.js +83 -0
  303. package/build/esm/components/navigation/SidebarContent/SidebarContent.js.map +7 -0
  304. package/build/esm/components/navigation/SidebarNavigation/SidebarNavigation.css +31 -0
  305. package/build/esm/components/navigation/SidebarNavigation/SidebarNavigation.css.map +7 -0
  306. package/build/esm/components/navigation/SidebarNavigation/SidebarNavigation.d.ts +11 -0
  307. package/build/esm/components/navigation/SidebarNavigation/SidebarNavigation.js +30 -0
  308. package/build/esm/components/navigation/SidebarNavigation/SidebarNavigation.js.map +7 -0
  309. package/build/esm/components/navigation/ToMainMenu/ToMainMenu.css +59 -0
  310. package/build/esm/components/navigation/ToMainMenu/ToMainMenu.css.map +7 -0
  311. package/build/esm/components/navigation/ToMainMenu/ToMainMenu.d.ts +8 -0
  312. package/build/esm/components/navigation/ToMainMenu/ToMainMenu.js +24 -0
  313. package/build/esm/components/navigation/ToMainMenu/ToMainMenu.js.map +7 -0
  314. package/build/esm/components/navigation/hooks/index.d.ts +1 -0
  315. package/build/esm/components/navigation/hooks/index.js +6 -0
  316. package/build/esm/components/navigation/hooks/index.js.map +7 -0
  317. package/build/esm/components/navigation/hooks/useItemsWithCustomDropdowns.d.ts +3 -0
  318. package/build/esm/components/navigation/hooks/useItemsWithCustomDropdowns.js +42 -0
  319. package/build/esm/components/navigation/hooks/useItemsWithCustomDropdowns.js.map +7 -0
  320. package/build/esm/components/navigation/index.d.ts +12 -0
  321. package/build/esm/components/navigation/index.js +22 -0
  322. package/build/esm/components/navigation/index.js.map +7 -0
  323. package/build/esm/constants.d.ts +5 -0
  324. package/build/esm/constants.js +9 -1
  325. package/build/esm/constants.js.map +2 -2
  326. package/build/esm/hooks/index.d.ts +1 -0
  327. package/build/esm/hooks/index.js +1 -0
  328. package/build/esm/hooks/index.js.map +2 -2
  329. package/build/esm/hooks/useShareHandler.d.ts +6 -0
  330. package/build/esm/hooks/useShareHandler.js +30 -0
  331. package/build/esm/hooks/useShareHandler.js.map +7 -0
  332. package/build/esm/i18n/index.d.ts +13 -0
  333. package/build/esm/i18n/index.js +9 -2
  334. package/build/esm/i18n/index.js.map +2 -2
  335. package/build/esm/index.d.ts +5 -1
  336. package/build/esm/index.js +5 -1
  337. package/build/esm/index.js.map +2 -2
  338. package/build/esm/models/index.d.ts +13 -2
  339. package/build/esm/models/index.js +1 -0
  340. package/build/esm/models/index.js.map +2 -2
  341. package/build/index.css.map +2 -2
  342. package/build/themes/common/index.css +1 -0
  343. package/build/themes/common/index.css.map +3 -3
  344. package/package.json +4 -1
  345. package/src/i18n/en.json +8 -1
  346. package/src/i18n/ru.json +7 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/MiniToc/MiniToc.tsx"],
4
- "sourcesContent": ["import React, {memo, useMemo} from 'react';\nimport block from 'bem-cn-lite';\n\nimport {useTranslation} from '../../hooks';\nimport {DocHeadingItem, Router} from '../../models';\nimport {Scrollspy} from '../Scrollspy';\n\nimport './MiniToc.scss';\n\nconst b = block('dc-mini-toc');\n\nexport interface MinitocProps {\n headings: DocHeadingItem[];\n router: Router;\n headerHeight?: number;\n onItemClick?: (event: MouseEvent) => void;\n}\n\nexport interface MinitocSectionProps {\n headings: DocHeadingItem[];\n router: Router;\n headerHeight?: number;\n}\n\ninterface FlatHeadingItem {\n title: string;\n href: string;\n isChild: boolean;\n}\n\nfunction getFlatHeadings(items: DocHeadingItem[], isChild = false): FlatHeadingItem[] {\n return items.reduce((result, {href, title, items: subItems}) => {\n return result.concat({title, href, isChild}, getFlatHeadings(subItems || [], true));\n }, [] as FlatHeadingItem[]);\n}\n\nconst MiniToc = memo<MinitocProps>(({headings, router, headerHeight, onItemClick}) => {\n const {t} = useTranslation('mini-toc');\n const flatHeadings = useMemo(() => getFlatHeadings(headings), [headings]);\n const sectionHrefs = useMemo(\n () => flatHeadings.map<string>(({href}) => href, []),\n [flatHeadings],\n );\n\n if (flatHeadings.length === 0) {\n return null;\n }\n\n return (\n <nav className={b()} aria-label={t('article-navigation')}>\n <h2 className={b('title')}>{t<string>('title')}:</h2>\n <Scrollspy\n className={b('sections')}\n currentClassName={b('section', {active: true})}\n items={sectionHrefs}\n router={router}\n headerHeight={headerHeight}\n onSectionClick={onItemClick}\n aria-label={t('description')}\n >\n {flatHeadings.map(({href, title, isChild}) => (\n <li key={href} data-hash={href} className={b('section', {child: isChild})}>\n <a href={href} className={b('section-link')} data-router-shallow>\n {title}\n </a>\n </li>\n ))}\n </Scrollspy>\n </nav>\n );\n});\n\nMiniToc.displayName = 'MiniToc';\n\nexport default MiniToc;\n"],
5
- "mappings": ";AAAA,OAAO,SAAQ,MAAM,eAAc;AACnC,OAAO,WAAW;AAElB,SAAQ,sBAAqB;AAE7B,SAAQ,iBAAgB;AAExB,OAAO;AAEP,IAAM,IAAI,MAAM,aAAa;AAqB7B,SAAS,gBAAgB,OAAyB,UAAU,OAA0B;AAClF,SAAO,MAAM,OAAO,CAAC,QAAQ,EAAC,MAAM,OAAO,OAAO,SAAQ,MAAM;AAC5D,WAAO,OAAO,OAAO,EAAC,OAAO,MAAM,QAAO,GAAG,gBAAgB,YAAY,CAAC,GAAG,IAAI,CAAC;AAAA,EACtF,GAAG,CAAC,CAAsB;AAC9B;AAEA,IAAM,UAAU,KAAmB,CAAC,EAAC,UAAU,QAAQ,cAAc,YAAW,MAAM;AAClF,QAAM,EAAC,EAAC,IAAI,eAAe,UAAU;AACrC,QAAM,eAAe,QAAQ,MAAM,gBAAgB,QAAQ,GAAG,CAAC,QAAQ,CAAC;AACxE,QAAM,eAAe;AAAA,IACjB,MAAM,aAAa,IAAY,CAAC,EAAC,KAAI,MAAM,MAAM,CAAC,CAAC;AAAA,IACnD,CAAC,YAAY;AAAA,EACjB;AAEA,MAAI,aAAa,WAAW,GAAG;AAC3B,WAAO;AAAA,EACX;AAEA,SACI,oCAAC,SAAI,WAAW,EAAE,GAAG,cAAY,EAAE,oBAAoB,KACnD,oCAAC,QAAG,WAAW,EAAE,OAAO,KAAI,EAAU,OAAO,GAAE,GAAC,GAChD;AAAA,IAAC;AAAA;AAAA,MACG,WAAW,EAAE,UAAU;AAAA,MACvB,kBAAkB,EAAE,WAAW,EAAC,QAAQ,KAAI,CAAC;AAAA,MAC7C,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA,gBAAgB;AAAA,MAChB,cAAY,EAAE,aAAa;AAAA;AAAA,IAE1B,aAAa,IAAI,CAAC,EAAC,MAAM,OAAO,QAAO,MACpC,oCAAC,QAAG,KAAK,MAAM,aAAW,MAAM,WAAW,EAAE,WAAW,EAAC,OAAO,QAAO,CAAC,KACpE,oCAAC,OAAE,MAAY,WAAW,EAAE,cAAc,GAAG,uBAAmB,QAC3D,KACL,CACJ,CACH;AAAA,EACL,CACJ;AAER,CAAC;AAED,QAAQ,cAAc;AAEtB,IAAO,kBAAQ;",
4
+ "sourcesContent": ["import React, {memo, useMemo} from 'react';\nimport block from 'bem-cn-lite';\n\nimport {useTranslation} from '../../hooks';\nimport {DocHeadingItem, Router} from '../../models';\nimport {Scrollspy} from '../Scrollspy';\n\nimport './MiniToc.scss';\n\nconst b = block('dc-mini-toc');\n\nconst overflowedClassName = 'dc-mini-toc_overflowed';\n\nexport interface MinitocProps {\n headings: DocHeadingItem[];\n router: Router;\n headerHeight?: number;\n onItemClick?: (event: MouseEvent) => void;\n onActiveItemTitleChange?: (title: string) => void;\n}\n\nexport interface MinitocSectionProps {\n headings: DocHeadingItem[];\n router: Router;\n headerHeight?: number;\n}\n\ninterface FlatHeadingItem {\n title: string;\n href: string;\n isChild: boolean;\n}\n\nfunction getFlatHeadings(items: DocHeadingItem[], isChild = false): FlatHeadingItem[] {\n return items.reduce((result, {href, title, items: subItems}) => {\n return result.concat({title, href, isChild}, getFlatHeadings(subItems || [], true));\n }, [] as FlatHeadingItem[]);\n}\n\nconst MiniToc = memo<MinitocProps>(\n ({headings, router, headerHeight, onItemClick, onActiveItemTitleChange}) => {\n const {t} = useTranslation('mini-toc');\n const flatHeadings = useMemo(() => getFlatHeadings(headings), [headings]);\n const sectionHrefs = useMemo(\n () => flatHeadings.map<string>(({href}) => href, []),\n [flatHeadings],\n );\n const sectionTitles = useMemo(\n () => flatHeadings.map<string>(({title}) => title, []),\n [flatHeadings],\n );\n\n if (flatHeadings.length === 0) {\n return null;\n }\n\n return (\n <nav className={b()} aria-label={t('article-navigation')}>\n <h2 className={b('title')}>{t<string>('title')}:</h2>\n <Scrollspy\n className={b('sections')}\n currentClassName={b('section', {active: true})}\n overflowedClassName={overflowedClassName}\n items={sectionHrefs}\n titles={sectionTitles}\n router={router}\n headerHeight={headerHeight}\n onSectionClick={onItemClick}\n onActiveItemTitleChange={onActiveItemTitleChange}\n aria-label={t('description')}\n >\n {flatHeadings.map(({href, title, isChild}) => (\n <li key={href} data-hash={href} className={b('section', {child: isChild})}>\n <a href={href} className={b('section-link')} data-router-shallow>\n {title}\n </a>\n </li>\n ))}\n </Scrollspy>\n <div className={b('bottom')}></div>\n </nav>\n );\n },\n);\n\nMiniToc.displayName = 'MiniToc';\n\nexport default MiniToc;\n"],
5
+ "mappings": ";AAAA,OAAO,SAAQ,MAAM,eAAc;AACnC,OAAO,WAAW;AAElB,SAAQ,sBAAqB;AAE7B,SAAQ,iBAAgB;AAExB,OAAO;AAEP,IAAM,IAAI,MAAM,aAAa;AAE7B,IAAM,sBAAsB;AAsB5B,SAAS,gBAAgB,OAAyB,UAAU,OAA0B;AAClF,SAAO,MAAM,OAAO,CAAC,QAAQ,EAAC,MAAM,OAAO,OAAO,SAAQ,MAAM;AAC5D,WAAO,OAAO,OAAO,EAAC,OAAO,MAAM,QAAO,GAAG,gBAAgB,YAAY,CAAC,GAAG,IAAI,CAAC;AAAA,EACtF,GAAG,CAAC,CAAsB;AAC9B;AAEA,IAAM,UAAU;AAAA,EACZ,CAAC,EAAC,UAAU,QAAQ,cAAc,aAAa,wBAAuB,MAAM;AACxE,UAAM,EAAC,EAAC,IAAI,eAAe,UAAU;AACrC,UAAM,eAAe,QAAQ,MAAM,gBAAgB,QAAQ,GAAG,CAAC,QAAQ,CAAC;AACxE,UAAM,eAAe;AAAA,MACjB,MAAM,aAAa,IAAY,CAAC,EAAC,KAAI,MAAM,MAAM,CAAC,CAAC;AAAA,MACnD,CAAC,YAAY;AAAA,IACjB;AACA,UAAM,gBAAgB;AAAA,MAClB,MAAM,aAAa,IAAY,CAAC,EAAC,MAAK,MAAM,OAAO,CAAC,CAAC;AAAA,MACrD,CAAC,YAAY;AAAA,IACjB;AAEA,QAAI,aAAa,WAAW,GAAG;AAC3B,aAAO;AAAA,IACX;AAEA,WACI,oCAAC,SAAI,WAAW,EAAE,GAAG,cAAY,EAAE,oBAAoB,KACnD,oCAAC,QAAG,WAAW,EAAE,OAAO,KAAI,EAAU,OAAO,GAAE,GAAC,GAChD;AAAA,MAAC;AAAA;AAAA,QACG,WAAW,EAAE,UAAU;AAAA,QACvB,kBAAkB,EAAE,WAAW,EAAC,QAAQ,KAAI,CAAC;AAAA,QAC7C;AAAA,QACA,OAAO;AAAA,QACP,QAAQ;AAAA,QACR;AAAA,QACA;AAAA,QACA,gBAAgB;AAAA,QAChB;AAAA,QACA,cAAY,EAAE,aAAa;AAAA;AAAA,MAE1B,aAAa,IAAI,CAAC,EAAC,MAAM,OAAO,QAAO,MACpC,oCAAC,QAAG,KAAK,MAAM,aAAW,MAAM,WAAW,EAAE,WAAW,EAAC,OAAO,QAAO,CAAC,KACpE,oCAAC,OAAE,MAAY,WAAW,EAAE,cAAc,GAAG,uBAAmB,QAC3D,KACL,CACJ,CACH;AAAA,IACL,GACA,oCAAC,SAAI,WAAW,EAAE,QAAQ,GAAG,CACjC;AAAA,EAER;AACJ;AAEA,QAAQ,cAAc;AAEtB,IAAO,kBAAQ;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,43 @@
1
+ /* src/components/MobileControls/MobileControl/MobileControl.scss */
2
+ .dc-mobile-control {
3
+ display: flex;
4
+ align-items: center;
5
+ box-sizing: border-box;
6
+ height: 100%;
7
+ padding: 3px 8px 3px 12px;
8
+ padding: var(--g-border-radius-xs, 3px) 8px var(--g-border-radius-xs, 3px) 12px;
9
+ }
10
+ .dc-mobile-control button {
11
+ display: flex;
12
+ align-items: center;
13
+ height: 100%;
14
+ }
15
+ .dc-mobile-control button[disabled] {
16
+ color: var(--g-color-text-primary);
17
+ }
18
+ .dc-mobile-control__label {
19
+ display: flex;
20
+ align-items: center;
21
+ gap: 8px;
22
+ padding-right: 10px;
23
+ font-size: var(--g-text-body-3-font-size);
24
+ line-height: var(--g-text-body-3-line-height);
25
+ font-weight: 400;
26
+ }
27
+ .dc-mobile-control__select-sheet ul,
28
+ .dc-mobile-control__select-sheet li {
29
+ margin: 0;
30
+ padding: 0;
31
+ list-style: none;
32
+ }
33
+ .dc-mobile-control__arrow {
34
+ height: 100%;
35
+ padding: 2px;
36
+ }
37
+ [dir=ltr] .dc-mobile-control__arrow {
38
+ right: 0;
39
+ }
40
+ [dir=rtl] .dc-mobile-control__arrow {
41
+ left: 0;
42
+ }
43
+ /*# sourceMappingURL=MobileControl.css.map */
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/components/MobileControls/MobileControl/home/runner/work/components/components/src/components/MobileControls/MobileControl/MobileControl.scss", "../../../../../src/components/MobileControls/MobileControl/%3Cinput%20css%20w77pvt%3E", "../../../../../src/components/MobileControls/MobileControl/home/runner/work/components/components/src/styles/mixins.scss"],
4
+ "sourcesContent": ["@import '../../../styles/mixins.scss';\n\n.dc-mobile-control {\n display: flex;\n align-items: center;\n\n box-sizing: border-box;\n height: 100%;\n\n padding: var(--g-border-radius-xs, 3px) 8px var(--g-border-radius-xs, 3px) 12px;\n\n & button {\n display: flex;\n align-items: center;\n\n height: 100%;\n\n &[disabled] {\n // overlaps text-color: --g-color-text-hint for disabled MobileControl\n color: var(--g-color-text-primary);\n }\n }\n\n &__label {\n display: flex;\n align-items: center;\n gap: 8px;\n\n padding-inline-end: 10px;\n\n @include heading6();\n }\n\n &__select-sheet ul,\n &__select-sheet li {\n @include reset-list-style();\n }\n\n &__arrow {\n height: 100%;\n\n padding: 2px;\n\n [dir='ltr'] & {\n right: 0;\n }\n [dir='rtl'] & {\n left: 0;\n }\n }\n}\n", ".dc-mobile-control {\n display: flex;\n align-items: center;\n box-sizing: border-box;\n height: 100%;\n padding: var(--g-border-radius-xs, 3px) 8px var(--g-border-radius-xs, 3px) 12px;\n}\n.dc-mobile-control button {\n display: flex;\n align-items: center;\n height: 100%;\n}\n.dc-mobile-control button[disabled] {\n color: var(--g-color-text-primary);\n}\n.dc-mobile-control__label {\n display: flex;\n align-items: center;\n gap: 8px;\n padding-inline-end: 10px;\n font-size: var(--g-text-body-3-font-size);\n line-height: var(--g-text-body-3-line-height);\n font-weight: 400;\n}\n.dc-mobile-control__select-sheet ul, .dc-mobile-control__select-sheet li {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.dc-mobile-control__arrow {\n height: 100%;\n padding: 2px;\n}\n[dir=ltr] .dc-mobile-control__arrow {\n right: 0;\n}\n[dir=rtl] .dc-mobile-control__arrow {\n left: 0;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvY29tcG9uZW50cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL01vYmlsZUNvbnRyb2xzL01vYmlsZUNvbnRyb2wiLCJzb3VyY2VzIjpbIk1vYmlsZUNvbnRyb2wuc2NzcyIsIi4uLy4uLy4uL3N0eWxlcy9taXhpbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtFQUNJO0VBQ0E7RUFFQTtFQUNBO0VBRUE7O0FBRUE7RUFDSTtFQUNBO0VBRUE7O0FBRUE7RUFFSTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VDekJKO0VBQ0E7RUErRkE7O0FEbEVBO0VDekJBO0VBQ0E7RUFDQTs7QUQ0QkE7RUFDSTtFQUVBOztBQUVBO0VBQ0k7O0FBRUo7RUFDSSIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJy4uLy4uLy4uL3N0eWxlcy9taXhpbnMuc2Nzcyc7XG5cbi5kYy1tb2JpbGUtY29udHJvbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICBwYWRkaW5nOiB2YXIoLS1nLWJvcmRlci1yYWRpdXMteHMsIDNweCkgOHB4IHZhcigtLWctYm9yZGVyLXJhZGl1cy14cywgM3B4KSAxMnB4O1xuXG4gICAgJiBidXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICAvLyBvdmVybGFwcyB0ZXh0LWNvbG9yOiAtLWctY29sb3ItdGV4dC1oaW50IGZvciBkaXNhYmxlZCBNb2JpbGVDb250cm9sXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tZy1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDhweDtcblxuICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDEwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgaGVhZGluZzYoKTtcbiAgICB9XG5cbiAgICAmX19zZWxlY3Qtc2hlZXQgdWwsXG4gICAgJl9fc2VsZWN0LXNoZWV0IGxpIHtcbiAgICAgICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuICAgIH1cblxuICAgICZfX2Fycm93IHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgIHBhZGRpbmc6IDJweDtcblxuICAgICAgICBbZGlyPSdsdHInXSAmIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgIFtkaXI9J3J0bCddICYge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgJy4vdmFyaWFibGVzJztcblxuQG1peGluIHRleHQtc2l6ZSgkbmFtZSkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZy10ZXh0LSN7JG5hbWV9LWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWctdGV4dC0jeyRuYW1lfS1saW5lLWhlaWdodCk7XG59XG5cbkBtaXhpbiByZXNldC1saXN0LXN0eWxlKCkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbkBtaXhpbiBmaXhBbmNob3JQb3NpdGlvbigkb2Zmc2V0OiAwcHgpIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1kYy1oZWFkZXItaGVpZ2h0LCAjeyRoZWFkZXJIZWlnaHR9KSk7XG4gICAgbWFyZ2luLXRvcDogY2FsYygjeyRvZmZzZXR9IC0gdmFyKC0tZGMtaGVhZGVyLWhlaWdodCwgI3skaGVhZGVySGVpZ2h0fSkpO1xufVxuXG5AbWl4aW4gcmVzZXQtbGluay1zdHlsZSgpIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbkBtaXhpbiBpc2xhbmRzLWZvY3VzKCkge1xuICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAudXRpbGl0eWZvY3VzICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAycHggc29saWQgI2ZmZGI0ZDtcbiAgICB9XG59XG5cbkBtaXhpbiBmb2N1c2FibGUoJG9mZnNldDogMCwgJG1vZGU6ICdvdXRsaW5lJykge1xuICAgIEBpZiAkbW9kZSA9PSAnb3V0bGluZScge1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1nLWNvbG9yLWxpbmUtZm9jdXMpO1xuICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6ICRvZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG1vZGUgPT0gJ2JveC1zaGFkb3cnIHtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tZy1jb2xvci1saW5lLWZvY3VzKTtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBsaW5rKCkge1xuICAgIEBpbmNsdWRlIGlzbGFuZHMtZm9jdXMoKTtcbiAgICBAaW5jbHVkZSBmb2N1c2FibGUoMCwgJ2JveC1zaGFkb3cnKTtcblxuICAgIGNvbG9yOiB2YXIoLS1nLWNvbG9yLXRleHQtbGluayk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1nLWZvY3VzLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nLWNvbG9yLXRleHQtbGluay1ob3Zlcik7XG4gICAgfVxufVxuXG5AbWl4aW4gaGVhZGluZzEoKSB7XG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGRpc3BsYXktMyk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW5CcmVha3BvaW50cywgJ21kJykgLSAxKSB7XG4gICAgICAgIEBpbmNsdWRlIHRleHQtc2l6ZShkaXNwbGF5LTIpO1xuICAgIH1cbn1cblxuQG1peGluIGhlYWRpbmcyKCkge1xuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShkaXNwbGF5LTEpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbkBtaXhpbiBoZWFkaW5nMygpIHtcbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoaGVhZGVyLTIpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbkBtaXhpbiBoZWFkaW5nNCgpIHtcbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoaGVhZGVyLTEpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbkBtaXhpbiBoZWFkaW5nNSgpIHtcbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoYm9keS0zKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG5AbWl4aW4gaGVhZGluZzYoKSB7XG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGJvZHktMyk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuQG1peGluIGNvbnRyaWJ1dG9ycy10ZXh0KCkge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuQG1peGluIHRleHQtYm9keS0xKCkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZy10ZXh0LWJvZHktMS1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1nLXRleHQtYm9keS0xLWxpbmUtaGVpZ2h0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZy10ZXh0LWJvZHktZm9udC13ZWlnaHQpO1xufVxuXG5AbWl4aW4gZGVza3RvcC1vbmx5KCkge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW5CcmVha3BvaW50cywgJ21kJykgLSAxKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWl4aW4gZGVza3RvcC10YWJsZXQtb25seSgpIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuQnJlYWtwb2ludHMsICdzbScpIC0gMSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQG1peGluIG1vYmlsZS10YWJsZXQtb25seSgpIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWl4aW4gbW9iaWxlLW9ubHkoKSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbkJyZWFrcG9pbnRzLCAnc20nKSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiJdfQ== */", "@import './variables';\n\n@mixin text-size($name) {\n font-size: var(--g-text-#{$name}-font-size);\n line-height: var(--g-text-#{$name}-line-height);\n}\n\n@mixin reset-list-style() {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n@mixin fixAnchorPosition($offset: 0px) {\n padding-top: calc(var(--dc-header-height, #{$headerHeight}));\n margin-top: calc(#{$offset} - var(--dc-header-height, #{$headerHeight}));\n}\n\n@mixin reset-link-style() {\n color: inherit;\n text-decoration: none;\n}\n\n@mixin islands-focus() {\n outline: none;\n\n .utilityfocus &:focus {\n outline: 2px solid #ffdb4d;\n }\n}\n\n@mixin focusable($offset: 0, $mode: 'outline') {\n @if $mode == 'outline' {\n &:focus {\n outline: 2px solid var(--g-color-line-focus);\n outline-offset: $offset;\n }\n &:focus:not(:focus-visible) {\n outline: 0;\n }\n }\n\n @if $mode == 'box-shadow' {\n &:focus {\n box-shadow: 0 0 0 2px var(--g-color-line-focus);\n outline: 0;\n }\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n}\n\n@mixin link() {\n @include islands-focus();\n @include focusable(0, 'box-shadow');\n\n color: var(--g-color-text-link);\n text-decoration: none;\n cursor: pointer;\n border-radius: var(--g-focus-border-radius);\n\n &:hover,\n &:active {\n color: var(--g-color-text-link-hover);\n }\n}\n\n@mixin heading1() {\n @include text-size(display-3);\n font-weight: 500;\n\n @media (max-width: map-get($screenBreakpoints, 'md') - 1) {\n @include text-size(display-2);\n }\n}\n\n@mixin heading2() {\n @include text-size(display-1);\n font-weight: 500;\n}\n\n@mixin heading3() {\n @include text-size(header-2);\n font-weight: 500;\n}\n\n@mixin heading4() {\n @include text-size(header-1);\n font-weight: 500;\n}\n\n@mixin heading5() {\n @include text-size(body-3);\n font-weight: 500;\n}\n\n@mixin heading6() {\n @include text-size(body-3);\n font-weight: 400;\n}\n\n@mixin contributors-text() {\n font-size: 13px;\n font-weight: 400;\n margin-right: 5px;\n align-self: center;\n}\n\n@mixin text-body-1() {\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n font-weight: var(--g-text-body-font-weight);\n}\n\n@mixin desktop-only() {\n @media (max-width: map-get($screenBreakpoints, 'md') - 1) {\n display: none;\n }\n}\n\n@mixin desktop-tablet-only() {\n @media (max-width: map-get($screenBreakpoints, 'sm') - 1) {\n display: none;\n }\n}\n\n@mixin mobile-tablet-only() {\n @media (min-width: map-get($screenBreakpoints, 'md')) {\n display: none;\n }\n}\n\n@mixin mobile-only() {\n @media (min-width: map-get($screenBreakpoints, 'sm')) {\n display: none;\n }\n}\n"],
5
+ "mappings": ";AAEA,CAAA;AACI,WAAA;AACA,eAAA;AAEA,cAAA;AACA,UAAA;AAEA,WAAA,IAAA,IAAA,IAAA;AAAA,WAAA,IAAA,oBAAA,EAAA,KAAA,IAAA,IAAA,oBAAA,EAAA,KAAA;ACHJ;ADKI,CATJ,kBASI;AACI,WAAA;AACA,eAAA;AAEA,UAAA;ACJR;ADMQ,CAfR,kBAeQ,MAAA,CAAA;AAEI,SAAA,IAAA;ACLZ;ADSI,CAAA;AACI,WAAA;AACA,eAAA;AACA,OAAA;AAEA,iBAAA;AEzBJ,aAAA,IAAA;AACA,eAAA,IAAA;AA+FA,eAAA;AD5EJ;ADUI,CAAA,gCAAA;AAAA,CAAA,gCAAA;AEzBA,UAAA;AACA,WAAA;AACA,cAAA;ADkBJ;ADUI,CAAA;AACI,UAAA;AAEA,WAAA;ACTR;ADWQ,CAAA,SAAA,CALJ;AAMQ,SAAA;ACTZ;ADWQ,CAAA,SAAA,CARJ;AASQ,QAAA;ACTZ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,15 @@
1
+ import React, { ReactNode, SVGProps } from 'react';
2
+ import { ListItem, OnChangeValue } from '../../../models';
3
+ import './MobileControl.scss';
4
+ export interface MobileControlProps {
5
+ name: string;
6
+ title: string;
7
+ buttonLabel?: string;
8
+ Icon: (props: SVGProps<SVGSVGElement>) => React.JSX.Element;
9
+ selectedItem: ReactNode;
10
+ selectedItemIndex: number;
11
+ displayItems: ListItem[];
12
+ onChangeValue?: OnChangeValue;
13
+ }
14
+ declare const MobileControl: React.MemoExoticComponent<({ name, title, buttonLabel, Icon, selectedItem, selectedItemIndex, displayItems, onChangeValue, }: MobileControlProps) => React.JSX.Element>;
15
+ export default MobileControl;
@@ -0,0 +1,62 @@
1
+ // src/components/MobileControls/MobileControl/MobileControl.tsx
2
+ import React, { memo, useMemo, useState } from "react";
3
+ import { ChevronDown } from "@gravity-ui/icons";
4
+ import { Button } from "@gravity-ui/uikit";
5
+ import block from "bem-cn-lite";
6
+ import MobileControlSheet from "../MobileControlSheet/MobileControlSheet";
7
+ import "./MobileControl.css";
8
+ var b = block("dc-mobile-control");
9
+ var MobileControl = memo(
10
+ ({
11
+ name,
12
+ title,
13
+ buttonLabel,
14
+ Icon,
15
+ selectedItem,
16
+ selectedItemIndex,
17
+ displayItems,
18
+ onChangeValue
19
+ }) => {
20
+ const labelText = useMemo(
21
+ () => {
22
+ var _a, _b;
23
+ return (_b = (_a = displayItems.find((displayItem) => selectedItem === displayItem.value)) == null ? void 0 : _a.text) != null ? _b : selectedItem;
24
+ },
25
+ [selectedItem, displayItems]
26
+ );
27
+ const disabled = !onChangeValue;
28
+ const [sheetIsVisible, setSheetIsVisible] = useState(false);
29
+ const onSheetOpen = () => setSheetIsVisible(true);
30
+ const onSheetClose = () => setSheetIsVisible(false);
31
+ const onItemClick = onChangeValue ? (value) => onChangeValue(value) : () => {
32
+ };
33
+ return /* @__PURE__ */ React.createElement("div", { key: name, className: b() }, /* @__PURE__ */ React.createElement(
34
+ MobileControlSheet,
35
+ {
36
+ title,
37
+ items: displayItems,
38
+ onItemClick,
39
+ isVisible: sheetIsVisible,
40
+ onClose: onSheetClose,
41
+ selectedItemIndex
42
+ }
43
+ ), /* @__PURE__ */ React.createElement(
44
+ Button,
45
+ {
46
+ disabled,
47
+ view: "flat",
48
+ size: "s",
49
+ className: b("wrapper"),
50
+ onClick: onSheetOpen
51
+ },
52
+ /* @__PURE__ */ React.createElement("div", { className: b("label") }, /* @__PURE__ */ React.createElement(Icon, { width: 16, height: 16 }), buttonLabel != null ? buttonLabel : labelText),
53
+ !disabled && /* @__PURE__ */ React.createElement(Button.Icon, { className: b("arrow"), side: "right" }, /* @__PURE__ */ React.createElement(ChevronDown, { width: 16, height: 16 }))
54
+ ));
55
+ }
56
+ );
57
+ MobileControl.displayName = "MobileControl";
58
+ var MobileControl_default = MobileControl;
59
+ export {
60
+ MobileControl_default as default
61
+ };
62
+ //# sourceMappingURL=MobileControl.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/components/MobileControls/MobileControl/MobileControl.tsx"],
4
+ "sourcesContent": ["import React, {ReactNode, SVGProps, memo, useMemo, useState} from 'react';\nimport {ChevronDown} from '@gravity-ui/icons';\nimport {Button} from '@gravity-ui/uikit';\nimport block from 'bem-cn-lite';\n\nimport {ListItem, OnChangeValue} from '../../../models';\nimport MobileControlSheet from '../MobileControlSheet/MobileControlSheet';\n\nimport './MobileControl.scss';\n\nconst b = block('dc-mobile-control');\n\nexport interface MobileControlProps {\n name: string;\n title: string;\n buttonLabel?: string;\n Icon: (props: SVGProps<SVGSVGElement>) => React.JSX.Element;\n selectedItem: ReactNode;\n selectedItemIndex: number;\n displayItems: ListItem[];\n onChangeValue?: OnChangeValue;\n}\n\nconst MobileControl = memo(\n ({\n name,\n title,\n buttonLabel,\n Icon,\n selectedItem,\n selectedItemIndex,\n displayItems,\n onChangeValue,\n }: MobileControlProps) => {\n const labelText = useMemo(\n () =>\n displayItems.find((displayItem) => selectedItem === displayItem.value)?.text ??\n selectedItem,\n [selectedItem, displayItems],\n );\n\n const disabled = !onChangeValue;\n\n const [sheetIsVisible, setSheetIsVisible] = useState(false);\n\n const onSheetOpen = () => setSheetIsVisible(true);\n const onSheetClose = () => setSheetIsVisible(false);\n const onItemClick = onChangeValue ? (value: string) => onChangeValue(value) : () => {};\n\n return (\n <div key={name} className={b()}>\n <MobileControlSheet\n title={title}\n items={displayItems}\n onItemClick={onItemClick}\n isVisible={sheetIsVisible}\n onClose={onSheetClose}\n selectedItemIndex={selectedItemIndex}\n />\n <Button\n disabled={disabled}\n view={'flat'}\n size={'s'}\n className={b('wrapper')}\n onClick={onSheetOpen}\n >\n <div className={b('label')}>\n <Icon width={16} height={16} />\n {buttonLabel ?? labelText}\n </div>\n {!disabled && (\n <Button.Icon className={b('arrow')} side={'right'}>\n <ChevronDown width={16} height={16} />\n </Button.Icon>\n )}\n </Button>\n </div>\n );\n },\n);\n\nMobileControl.displayName = 'MobileControl';\n\nexport default MobileControl;\n"],
5
+ "mappings": ";AAAA,OAAO,SAA6B,MAAM,SAAS,gBAAe;AAClE,SAAQ,mBAAkB;AAC1B,SAAQ,cAAa;AACrB,OAAO,WAAW;AAGlB,OAAO,wBAAwB;AAE/B,OAAO;AAEP,IAAM,IAAI,MAAM,mBAAmB;AAanC,IAAM,gBAAgB;AAAA,EAClB,CAAC;AAAA,IACG;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,MAA0B;AACtB,UAAM,YAAY;AAAA,MACd,MAAG;AAnCf;AAoCgB,wCAAa,KAAK,CAAC,gBAAgB,iBAAiB,YAAY,KAAK,MAArE,mBAAwE,SAAxE,YACA;AAAA;AAAA,MACJ,CAAC,cAAc,YAAY;AAAA,IAC/B;AAEA,UAAM,WAAW,CAAC;AAElB,UAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,KAAK;AAE1D,UAAM,cAAc,MAAM,kBAAkB,IAAI;AAChD,UAAM,eAAe,MAAM,kBAAkB,KAAK;AAClD,UAAM,cAAc,gBAAgB,CAAC,UAAkB,cAAc,KAAK,IAAI,MAAM;AAAA,IAAC;AAErF,WACI,oCAAC,SAAI,KAAK,MAAM,WAAW,EAAE,KACzB;AAAA,MAAC;AAAA;AAAA,QACG;AAAA,QACA,OAAO;AAAA,QACP;AAAA,QACA,WAAW;AAAA,QACX,SAAS;AAAA,QACT;AAAA;AAAA,IACJ,GACA;AAAA,MAAC;AAAA;AAAA,QACG;AAAA,QACA,MAAM;AAAA,QACN,MAAM;AAAA,QACN,WAAW,EAAE,SAAS;AAAA,QACtB,SAAS;AAAA;AAAA,MAET,oCAAC,SAAI,WAAW,EAAE,OAAO,KACrB,oCAAC,QAAK,OAAO,IAAI,QAAQ,IAAI,GAC5B,oCAAe,SACpB;AAAA,MACC,CAAC,YACE,oCAAC,OAAO,MAAP,EAAY,WAAW,EAAE,OAAO,GAAG,MAAM,WACtC,oCAAC,eAAY,OAAO,IAAI,QAAQ,IAAI,CACxC;AAAA,IAER,CACJ;AAAA,EAER;AACJ;AAEA,cAAc,cAAc;AAE5B,IAAO,wBAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,38 @@
1
+ /* src/components/MobileControls/MobileControlSheet/MobileControlSheet.scss */
2
+ .dc-mobile-control-sheet {
3
+ --g-sheet-content-padding: 0;
4
+ }
5
+ .dc-mobile-control-sheet__list {
6
+ padding: 4px 0;
7
+ padding-bottom: 34px;
8
+ }
9
+ .dc-mobile-control-sheet__list-item {
10
+ --g-focus-border-radius: 4px;
11
+ display: flex;
12
+ align-items: center;
13
+ justify-content: start;
14
+ gap: 8px;
15
+ width: 100%;
16
+ height: 100%;
17
+ padding: 12px 20px;
18
+ border-radius: 4px;
19
+ border-radius: var(--g-focus-border-radius);
20
+ border: 0;
21
+ color: inherit;
22
+ cursor: inherit;
23
+ background-color: inherit;
24
+ font-family: inherit;
25
+ font-size: var(--g-text-body-2-font-size);
26
+ line-height: var(--g-text-body-2-line-height);
27
+ }
28
+ .dc-mobile-control-sheet__list-item:focus {
29
+ outline: 2px solid var(--g-color-line-focus);
30
+ outline-offset: -2px;
31
+ }
32
+ .dc-mobile-control-sheet__list-item:focus:not(:focus-visible) {
33
+ outline: 0;
34
+ }
35
+ [dir=rtl] .dc-mobile-control-sheet__list-item {
36
+ justify-content: end;
37
+ }
38
+ /*# sourceMappingURL=MobileControlSheet.css.map */
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/components/MobileControls/MobileControlSheet/home/runner/work/components/components/src/components/MobileControls/MobileControlSheet/MobileControlSheet.scss", "../../../../../src/components/MobileControls/MobileControlSheet/%3Cinput%20css%20b82l44%3E", "../../../../../src/components/MobileControls/MobileControlSheet/home/runner/work/components/components/src/styles/mixins.scss"],
4
+ "sourcesContent": ["@import '../../../styles/mixins';\n@import '../../../styles/variables';\n\n.dc-mobile-control-sheet {\n --g-sheet-content-padding: 0;\n\n &__list {\n padding: 4px 0;\n padding-bottom: 34px;\n }\n\n &__list-item {\n --g-focus-border-radius: 4px;\n\n display: flex;\n align-items: center;\n justify-content: start;\n gap: 8px;\n\n width: 100%;\n height: 100%;\n padding: 12px 20px;\n\n border-radius: var(--g-focus-border-radius);\n border: 0;\n\n color: inherit;\n cursor: inherit;\n background-color: inherit;\n\n font-family: inherit;\n\n @include text-size(body-2);\n\n @include focusable(-2px);\n\n // fixes a bug where the button text remains at the beginning (left)\n // of the button on both dir='ltr' and dir='rtl'\n // * justify-content: flex-start - doesn't work\n [dir='rtl'] & {\n justify-content: end;\n }\n }\n}\n", ".dc-mobile-control-sheet {\n --g-sheet-content-padding: 0;\n}\n.dc-mobile-control-sheet__list {\n padding: 4px 0;\n padding-bottom: 34px;\n}\n.dc-mobile-control-sheet__list-item {\n --g-focus-border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: start;\n gap: 8px;\n width: 100%;\n height: 100%;\n padding: 12px 20px;\n border-radius: var(--g-focus-border-radius);\n border: 0;\n color: inherit;\n cursor: inherit;\n background-color: inherit;\n font-family: inherit;\n font-size: var(--g-text-body-2-font-size);\n line-height: var(--g-text-body-2-line-height);\n}\n.dc-mobile-control-sheet__list-item:focus {\n outline: 2px solid var(--g-color-line-focus);\n outline-offset: -2px;\n}\n.dc-mobile-control-sheet__list-item:focus:not(:focus-visible) {\n outline: 0;\n}\n[dir=rtl] .dc-mobile-control-sheet__list-item {\n justify-content: end;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvY29tcG9uZW50cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL01vYmlsZUNvbnRyb2xzL01vYmlsZUNvbnRyb2xTaGVldCIsInNvdXJjZXMiOlsiTW9iaWxlQ29udHJvbFNoZWV0LnNjc3MiLCIuLi8uLi8uLi9zdHlsZXMvbWl4aW5zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VDM0JKO0VBQ0E7O0FBNkJJO0VBQ0k7RUFDQSxnQkREZTs7QUNHbkI7RUFDSTs7QURDSjtFQUNJIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnLi4vLi4vLi4vc3R5bGVzL21peGlucyc7XG5AaW1wb3J0ICcuLi8uLi8uLi9zdHlsZXMvdmFyaWFibGVzJztcblxuLmRjLW1vYmlsZS1jb250cm9sLXNoZWV0IHtcbiAgICAtLWctc2hlZXQtY29udGVudC1wYWRkaW5nOiAwO1xuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIHBhZGRpbmc6IDRweCAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzRweDtcbiAgICB9XG5cbiAgICAmX19saXN0LWl0ZW0ge1xuICAgICAgICAtLWctZm9jdXMtYm9yZGVyLXJhZGl1czogNHB4O1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgICAgIGdhcDogOHB4O1xuXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMjBweDtcblxuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1nLWZvY3VzLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGN1cnNvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcblxuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcblxuICAgICAgICBAaW5jbHVkZSB0ZXh0LXNpemUoYm9keS0yKTtcblxuICAgICAgICBAaW5jbHVkZSBmb2N1c2FibGUoLTJweCk7XG5cbiAgICAgICAgLy8gZml4ZXMgYSBidWcgd2hlcmUgdGhlIGJ1dHRvbiB0ZXh0IHJlbWFpbnMgYXQgdGhlIGJlZ2lubmluZyAobGVmdClcbiAgICAgICAgLy8gb2YgdGhlIGJ1dHRvbiBvbiBib3RoIGRpcj0nbHRyJyBhbmQgZGlyPSdydGwnXG4gICAgICAgIC8vICoganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0IC0gZG9lc24ndCB3b3JrXG4gICAgICAgIFtkaXI9J3J0bCddICYge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICcuL3ZhcmlhYmxlcyc7XG5cbkBtaXhpbiB0ZXh0LXNpemUoJG5hbWUpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWctdGV4dC0jeyRuYW1lfS1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1nLXRleHQtI3skbmFtZX0tbGluZS1oZWlnaHQpO1xufVxuXG5AbWl4aW4gcmVzZXQtbGlzdC1zdHlsZSgpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5AbWl4aW4gZml4QW5jaG9yUG9zaXRpb24oJG9mZnNldDogMHB4KSB7XG4gICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tZGMtaGVhZGVyLWhlaWdodCwgI3skaGVhZGVySGVpZ2h0fSkpO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoI3skb2Zmc2V0fSAtIHZhcigtLWRjLWhlYWRlci1oZWlnaHQsICN7JGhlYWRlckhlaWdodH0pKTtcbn1cblxuQG1peGluIHJlc2V0LWxpbmstc3R5bGUoKSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5AbWl4aW4gaXNsYW5kcy1mb2N1cygpIHtcbiAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgLnV0aWxpdHlmb2N1cyAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkICNmZmRiNGQ7XG4gICAgfVxufVxuXG5AbWl4aW4gZm9jdXNhYmxlKCRvZmZzZXQ6IDAsICRtb2RlOiAnb3V0bGluZScpIHtcbiAgICBAaWYgJG1vZGUgPT0gJ291dGxpbmUnIHtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tZy1jb2xvci1saW5lLWZvY3VzKTtcbiAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAkb2Zmc2V0O1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRtb2RlID09ICdib3gtc2hhZG93JyB7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWctY29sb3ItbGluZS1mb2N1cyk7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gbGluaygpIHtcbiAgICBAaW5jbHVkZSBpc2xhbmRzLWZvY3VzKCk7XG4gICAgQGluY2x1ZGUgZm9jdXNhYmxlKDAsICdib3gtc2hhZG93Jyk7XG5cbiAgICBjb2xvcjogdmFyKC0tZy1jb2xvci10ZXh0LWxpbmspO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tZy1mb2N1cy1ib3JkZXItcmFkaXVzKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogdmFyKC0tZy1jb2xvci10ZXh0LWxpbmstaG92ZXIpO1xuICAgIH1cbn1cblxuQG1peGluIGhlYWRpbmcxKCkge1xuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShkaXNwbGF5LTMpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpIC0gMSkge1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LXNpemUoZGlzcGxheS0yKTtcbiAgICB9XG59XG5cbkBtaXhpbiBoZWFkaW5nMigpIHtcbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoZGlzcGxheS0xKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG5AbWl4aW4gaGVhZGluZzMoKSB7XG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGhlYWRlci0yKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG5AbWl4aW4gaGVhZGluZzQoKSB7XG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGhlYWRlci0xKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG5AbWl4aW4gaGVhZGluZzUoKSB7XG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGJvZHktMyk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuQG1peGluIGhlYWRpbmc2KCkge1xuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShib2R5LTMpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbkBtaXhpbiBjb250cmlidXRvcnMtdGV4dCgpIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG5cbkBtaXhpbiB0ZXh0LWJvZHktMSgpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWctdGV4dC1ib2R5LTEtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tZy10ZXh0LWJvZHktMS1saW5lLWhlaWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWctdGV4dC1ib2R5LWZvbnQtd2VpZ2h0KTtcbn1cblxuQG1peGluIGRlc2t0b3Atb25seSgpIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpIC0gMSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQG1peGluIGRlc2t0b3AtdGFibGV0LW9ubHkoKSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbkJyZWFrcG9pbnRzLCAnc20nKSAtIDEpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtaXhpbiBtb2JpbGUtdGFibGV0LW9ubHkoKSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbkJyZWFrcG9pbnRzLCAnbWQnKSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQG1peGluIG1vYmlsZS1vbmx5KCkge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW5CcmVha3BvaW50cywgJ3NtJykpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4iXX0= */", "@import './variables';\n\n@mixin text-size($name) {\n font-size: var(--g-text-#{$name}-font-size);\n line-height: var(--g-text-#{$name}-line-height);\n}\n\n@mixin reset-list-style() {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n@mixin fixAnchorPosition($offset: 0px) {\n padding-top: calc(var(--dc-header-height, #{$headerHeight}));\n margin-top: calc(#{$offset} - var(--dc-header-height, #{$headerHeight}));\n}\n\n@mixin reset-link-style() {\n color: inherit;\n text-decoration: none;\n}\n\n@mixin islands-focus() {\n outline: none;\n\n .utilityfocus &:focus {\n outline: 2px solid #ffdb4d;\n }\n}\n\n@mixin focusable($offset: 0, $mode: 'outline') {\n @if $mode == 'outline' {\n &:focus {\n outline: 2px solid var(--g-color-line-focus);\n outline-offset: $offset;\n }\n &:focus:not(:focus-visible) {\n outline: 0;\n }\n }\n\n @if $mode == 'box-shadow' {\n &:focus {\n box-shadow: 0 0 0 2px var(--g-color-line-focus);\n outline: 0;\n }\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n}\n\n@mixin link() {\n @include islands-focus();\n @include focusable(0, 'box-shadow');\n\n color: var(--g-color-text-link);\n text-decoration: none;\n cursor: pointer;\n border-radius: var(--g-focus-border-radius);\n\n &:hover,\n &:active {\n color: var(--g-color-text-link-hover);\n }\n}\n\n@mixin heading1() {\n @include text-size(display-3);\n font-weight: 500;\n\n @media (max-width: map-get($screenBreakpoints, 'md') - 1) {\n @include text-size(display-2);\n }\n}\n\n@mixin heading2() {\n @include text-size(display-1);\n font-weight: 500;\n}\n\n@mixin heading3() {\n @include text-size(header-2);\n font-weight: 500;\n}\n\n@mixin heading4() {\n @include text-size(header-1);\n font-weight: 500;\n}\n\n@mixin heading5() {\n @include text-size(body-3);\n font-weight: 500;\n}\n\n@mixin heading6() {\n @include text-size(body-3);\n font-weight: 400;\n}\n\n@mixin contributors-text() {\n font-size: 13px;\n font-weight: 400;\n margin-right: 5px;\n align-self: center;\n}\n\n@mixin text-body-1() {\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n font-weight: var(--g-text-body-font-weight);\n}\n\n@mixin desktop-only() {\n @media (max-width: map-get($screenBreakpoints, 'md') - 1) {\n display: none;\n }\n}\n\n@mixin desktop-tablet-only() {\n @media (max-width: map-get($screenBreakpoints, 'sm') - 1) {\n display: none;\n }\n}\n\n@mixin mobile-tablet-only() {\n @media (min-width: map-get($screenBreakpoints, 'md')) {\n display: none;\n }\n}\n\n@mixin mobile-only() {\n @media (min-width: map-get($screenBreakpoints, 'sm')) {\n display: none;\n }\n}\n"],
5
+ "mappings": ";AAGA,CAAA;AACI,6BAAA;ACFJ;ADII,CAAA;AACI,WAAA,IAAA;AACA,kBAAA;ACFR;ADKI,CAAA;AACI,2BAAA;AAEA,WAAA;AACA,eAAA;AACA,mBAAA;AACA,OAAA;AAEA,SAAA;AACA,UAAA;AACA,WAAA,KAAA;AAEA,iBAAA;AAAA,iBAAA,IAAA;AACA,UAAA;AAEA,SAAA;AACA,UAAA;AACA,oBAAA;AAEA,eAAA;AE3BJ,aAAA,IAAA;AACA,eAAA,IAAA;ADoBJ;ACSQ,CFtBJ,kCEsBI;AACI,WAAA,IAAA,MAAA,IAAA;AACA,kBAAA;ADPZ;ACSQ,CF1BJ,kCE0BI,MAAA,KAAA;AACI,WAAA;ADPZ;ADQQ,CAAA,SAAA,CA5BJ;AA6BQ,mBAAA;ACNZ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { ListItem } from '../../../models';
3
+ import './MobileControlSheet.scss';
4
+ export interface MobileControlSheetProps {
5
+ title: string;
6
+ items: ListItem[];
7
+ onItemClick: (value: string) => void;
8
+ isVisible: boolean;
9
+ onClose: () => void;
10
+ selectedItemIndex: number;
11
+ }
12
+ declare const MobileControlSheet: React.MemoExoticComponent<({ title, items, onItemClick, isVisible, onClose, selectedItemIndex, }: MobileControlSheetProps) => React.JSX.Element>;
13
+ export default MobileControlSheet;
@@ -0,0 +1,42 @@
1
+ // src/components/MobileControls/MobileControlSheet/MobileControlSheet.tsx
2
+ import React, { memo, useCallback } from "react";
3
+ import { List, Sheet } from "@gravity-ui/uikit";
4
+ import block from "bem-cn-lite";
5
+ import "./MobileControlSheet.css";
6
+ var LIST_ITEM_HEIGHT = 44;
7
+ var b = block("dc-mobile-control-sheet");
8
+ var MobileControlSheet = memo(
9
+ ({
10
+ title,
11
+ items,
12
+ onItemClick,
13
+ isVisible,
14
+ onClose,
15
+ selectedItemIndex
16
+ }) => {
17
+ const renderItem = useCallback(
18
+ (item) => /* @__PURE__ */ React.createElement("button", { className: b("list-item") }, item.text),
19
+ []
20
+ );
21
+ return /* @__PURE__ */ React.createElement(Sheet, { title, className: b(), visible: isVisible, onClose }, /* @__PURE__ */ React.createElement(
22
+ List,
23
+ {
24
+ role: "list",
25
+ className: b("list"),
26
+ filterable: false,
27
+ items,
28
+ onItemClick: (item) => onItemClick(item.value),
29
+ itemHeight: LIST_ITEM_HEIGHT,
30
+ itemsHeight: LIST_ITEM_HEIGHT * items.length,
31
+ renderItem,
32
+ selectedItemIndex
33
+ }
34
+ ));
35
+ }
36
+ );
37
+ MobileControlSheet.displayName = "MobileControlSheet";
38
+ var MobileControlSheet_default = MobileControlSheet;
39
+ export {
40
+ MobileControlSheet_default as default
41
+ };
42
+ //# sourceMappingURL=MobileControlSheet.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/components/MobileControls/MobileControlSheet/MobileControlSheet.tsx"],
4
+ "sourcesContent": ["import React, {memo, useCallback} from 'react';\nimport {List, Sheet} from '@gravity-ui/uikit';\nimport block from 'bem-cn-lite';\n\nimport {ListItem} from '../../../models';\n\nimport './MobileControlSheet.scss';\n\nconst LIST_ITEM_HEIGHT = 44;\n\nconst b = block('dc-mobile-control-sheet');\n\nexport interface MobileControlSheetProps {\n title: string;\n items: ListItem[];\n onItemClick: (value: string) => void;\n isVisible: boolean;\n onClose: () => void;\n selectedItemIndex: number;\n}\n\nconst MobileControlSheet = memo(\n ({\n title,\n items,\n onItemClick,\n isVisible,\n onClose,\n selectedItemIndex,\n }: MobileControlSheetProps) => {\n const renderItem = useCallback(\n (item: ListItem) => <button className={b('list-item')}>{item.text}</button>,\n [],\n );\n\n return (\n <Sheet title={title} className={b()} visible={isVisible} onClose={onClose}>\n <List\n role={'list'}\n className={b('list')}\n filterable={false}\n items={items}\n onItemClick={(item: ListItem) => onItemClick(item.value)}\n itemHeight={LIST_ITEM_HEIGHT}\n itemsHeight={LIST_ITEM_HEIGHT * items.length}\n renderItem={renderItem}\n selectedItemIndex={selectedItemIndex}\n />\n </Sheet>\n );\n },\n);\n\nMobileControlSheet.displayName = 'MobileControlSheet';\n\nexport default MobileControlSheet;\n"],
5
+ "mappings": ";AAAA,OAAO,SAAQ,MAAM,mBAAkB;AACvC,SAAQ,MAAM,aAAY;AAC1B,OAAO,WAAW;AAIlB,OAAO;AAEP,IAAM,mBAAmB;AAEzB,IAAM,IAAI,MAAM,yBAAyB;AAWzC,IAAM,qBAAqB;AAAA,EACvB,CAAC;AAAA,IACG;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,MAA+B;AAC3B,UAAM,aAAa;AAAA,MACf,CAAC,SAAmB,oCAAC,YAAO,WAAW,EAAE,WAAW,KAAI,KAAK,IAAK;AAAA,MAClE,CAAC;AAAA,IACL;AAEA,WACI,oCAAC,SAAM,OAAc,WAAW,EAAE,GAAG,SAAS,WAAW,WACrD;AAAA,MAAC;AAAA;AAAA,QACG,MAAM;AAAA,QACN,WAAW,EAAE,MAAM;AAAA,QACnB,YAAY;AAAA,QACZ;AAAA,QACA,aAAa,CAAC,SAAmB,YAAY,KAAK,KAAK;AAAA,QACvD,YAAY;AAAA,QACZ,aAAa,mBAAmB,MAAM;AAAA,QACtC;AAAA,QACA;AAAA;AAAA,IACJ,CACJ;AAAA,EAER;AACJ;AAEA,mBAAmB,cAAc;AAEjC,IAAO,6BAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,21 @@
1
+ /* src/components/MobileControls/MobileControls.scss */
2
+ .dc-mobile-controls {
3
+ display: flex;
4
+ justify-content: space-between;
5
+ align-items: center;
6
+ height: 44px;
7
+ width: calc(100% - 2 * 16px);
8
+ box-sizing: content-box;
9
+ padding-top: 4px;
10
+ padding-bottom: 34px;
11
+ padding-left: 16px;
12
+ padding-right: 16px;
13
+ background-color: var(--g-color-base-background);
14
+ border-top: 1px solid var(--g-color-line-generic);
15
+ }
16
+ @media (min-width: 769px) {
17
+ .dc-mobile-controls {
18
+ display: none;
19
+ }
20
+ }
21
+ /*# sourceMappingURL=MobileControls.css.map */
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/components/MobileControls/home/runner/work/components/components/src/components/MobileControls/MobileControls.scss", "../../../../src/components/MobileControls/%3Cinput%20css%20EsSpZJ%3E"],
4
+ "sourcesContent": ["@import '../../styles/variables.scss';\n@import '../../styles/mixins.scss';\n\n.dc-mobile-controls {\n $root: &;\n\n $padding-inline: 16px;\n\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n height: 44px;\n\n width: calc(100% - 2 * #{$padding-inline});\n\n box-sizing: content-box;\n padding-top: 4px;\n padding-bottom: 34px;\n padding-inline: $padding-inline;\n\n background-color: var(--g-color-base-background);\n\n border-top: 1px solid var(--g-color-line-generic);\n\n @media (min-width: map-get($screenBreakpoints, 'md')) {\n display: none;\n }\n}\n", ".dc-mobile-controls {\n display: flex;\n justify-content: space-between;\n align-items: center;\n height: 44px;\n width: calc(100% - 2 * 16px);\n box-sizing: content-box;\n padding-top: 4px;\n padding-bottom: 34px;\n padding-inline: 16px;\n background-color: var(--g-color-base-background);\n border-top: 1px solid var(--g-color-line-generic);\n}\n@media (min-width: 769px) {\n .dc-mobile-controls {\n display: none;\n }\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvY29tcG9uZW50cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL01vYmlsZUNvbnRyb2xzIiwic291cmNlcyI6WyJNb2JpbGVDb250cm9scy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBO0VBS0k7RUFDQTtFQUNBO0VBRUE7RUFFQTtFQUVBO0VBQ0E7RUFDQTtFQUNBLGdCQWJpQjtFQWVqQjtFQUVBOztBQUVBO0VBdEJKO0lBdUJRIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnLi4vLi4vc3R5bGVzL3ZhcmlhYmxlcy5zY3NzJztcbkBpbXBvcnQgJy4uLy4uL3N0eWxlcy9taXhpbnMuc2Nzcyc7XG5cbi5kYy1tb2JpbGUtY29udHJvbHMge1xuICAgICRyb290OiAmO1xuXG4gICAgJHBhZGRpbmctaW5saW5lOiAxNnB4O1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIGhlaWdodDogNDRweDtcblxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyICogI3skcGFkZGluZy1pbmxpbmV9KTtcblxuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDM0cHg7XG4gICAgcGFkZGluZy1pbmxpbmU6ICRwYWRkaW5nLWlubGluZTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWctY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1nLWNvbG9yLWxpbmUtZ2VuZXJpYyk7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuIl19 */"],
5
+ "mappings": ";AAGA,CAAA;AAKI,WAAA;AACA,mBAAA;AACA,eAAA;AAEA,UAAA;AAEA,SAAA,KAAA,KAAA,EAAA,EAAA,EAAA;AAEA,cAAA;AACA,eAAA;AACA,kBAAA;AACA,gBAAA;AAAA,iBAAA;AAEA,oBAAA,IAAA;AAEA,cAAA,IAAA,MAAA,IAAA;ACXJ;ADaI,OAAA,CAAA,SAAA,EAAA;AAtBJ,GAAA;AAuBQ,aAAA;ACVN;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { ControlSizes, ControlsProps, DocSettings, Lang } from '../..';
3
+ import './MobileControls.scss';
4
+ export interface MobileControlsProps {
5
+ controlSize: ControlSizes;
6
+ lang: Lang;
7
+ userSettings: DocSettings & ControlsProps;
8
+ }
9
+ declare const MobileControls: React.MemoExoticComponent<({ controlSize, lang, userSettings }: MobileControlsProps) => React.JSX.Element | null>;
10
+ export default MobileControls;
@@ -0,0 +1,92 @@
1
+ // src/components/MobileControls/MobileControls.tsx
2
+ import React, { memo, useMemo } from "react";
3
+ import { Globe, Sun } from "@gravity-ui/icons";
4
+ import block from "bem-cn-lite";
5
+ import allLangs from "langs";
6
+ import {
7
+ ControlsLayout,
8
+ DEFAULT_LANGS,
9
+ LEGACY_LANG_ITEMS,
10
+ Theme
11
+ } from "../..";
12
+ import { useTranslation } from "../../hooks";
13
+ import MobileControl from "./MobileControl/MobileControl";
14
+ import "./MobileControls.css";
15
+ var b = block("dc-mobile-controls");
16
+ var useLangControl = (t, lang, langs, onChangeLang) => {
17
+ const langItems = useMemo(() => {
18
+ const preparedLangs = (langs != null ? langs : DEFAULT_LANGS).map((code) => {
19
+ const langData = allLangs.where("1", code);
20
+ return langData ? {
21
+ text: langData.local,
22
+ value: langData["1"]
23
+ } : void 0;
24
+ }).filter(Boolean);
25
+ return preparedLangs.length ? preparedLangs : LEGACY_LANG_ITEMS;
26
+ }, [langs]);
27
+ const selectedItemIndex = useMemo(() => langs ? langs.indexOf(lang) : -1, [lang, langs]);
28
+ return /* @__PURE__ */ React.createElement(
29
+ MobileControl,
30
+ {
31
+ name: "lang",
32
+ title: t("lang-text"),
33
+ Icon: Globe,
34
+ selectedItem: lang,
35
+ selectedItemIndex,
36
+ displayItems: langItems,
37
+ onChangeValue: onChangeLang
38
+ }
39
+ );
40
+ };
41
+ var themes = [Theme.Light, Theme.Dark];
42
+ var useThemeControl = (t, theme, onChangeTheme) => {
43
+ const themesItems = useMemo(
44
+ () => themes.map((value) => {
45
+ const text = t(`label_${value}_theme`);
46
+ return {
47
+ text,
48
+ value
49
+ };
50
+ }),
51
+ [t]
52
+ );
53
+ const buttonLabel = useMemo(() => {
54
+ for (const item of themesItems) {
55
+ if (theme !== item.value) {
56
+ continue;
57
+ }
58
+ return t(`full_label_${item.value}_theme`);
59
+ }
60
+ return "";
61
+ }, [t, theme, themesItems]);
62
+ const selectedItemIndex = useMemo(() => theme ? themes.indexOf(theme) : -1, [theme]);
63
+ return /* @__PURE__ */ React.createElement(
64
+ MobileControl,
65
+ {
66
+ name: "theme",
67
+ title: t("label_theme"),
68
+ buttonLabel,
69
+ Icon: Sun,
70
+ selectedItem: theme,
71
+ selectedItemIndex,
72
+ displayItems: themesItems,
73
+ onChangeValue: onChangeTheme
74
+ }
75
+ );
76
+ };
77
+ var MobileControls = memo(({ controlSize, lang, userSettings }) => {
78
+ const { t } = useTranslation("controls");
79
+ const { onChangeLang, langs, onChangeTheme, theme } = userSettings;
80
+ const langControl = useLangControl(t, lang, langs, onChangeLang);
81
+ const themeControl = useThemeControl(t, theme != null ? theme : Theme.Light, onChangeTheme);
82
+ if (!onChangeTheme && !onChangeLang) {
83
+ return null;
84
+ }
85
+ return /* @__PURE__ */ React.createElement("div", { className: b() }, /* @__PURE__ */ React.createElement(ControlsLayout, { controlClassName: b("control"), controlSize }, themeControl, langControl));
86
+ });
87
+ MobileControls.displayName = "MobileControls";
88
+ var MobileControls_default = MobileControls;
89
+ export {
90
+ MobileControls_default as default
91
+ };
92
+ //# sourceMappingURL=MobileControls.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/components/MobileControls/MobileControls.tsx"],
4
+ "sourcesContent": ["import React, {memo, useMemo} from 'react';\nimport {Globe, Sun} from '@gravity-ui/icons';\nimport block from 'bem-cn-lite';\nimport allLangs from 'langs';\nimport {KeyPrefix, Namespace, TFunction} from 'react-i18next';\n\nimport {\n ControlSizes,\n ControlsLayout,\n ControlsProps,\n DEFAULT_LANGS,\n DocSettings,\n LEGACY_LANG_ITEMS,\n Lang,\n Theme,\n} from '../..';\nimport {useTranslation} from '../../hooks';\nimport {ListItem, OnChangeValue} from '../../models';\n\nimport MobileControl from './MobileControl/MobileControl';\nimport './MobileControls.scss';\n\nconst b = block('dc-mobile-controls');\n\ntype UseTranslationReturnType = TFunction<Namespace<string>, KeyPrefix<Namespace<string>>>;\n\nexport interface MobileControlsProps {\n controlSize: ControlSizes;\n lang: Lang;\n userSettings: DocSettings & ControlsProps;\n}\n\nconst useLangControl = (\n t: UseTranslationReturnType,\n lang: Lang,\n langs?: Lang[],\n onChangeLang?: (lang: Lang) => void,\n) => {\n const langItems = useMemo(() => {\n const preparedLangs = (langs ?? DEFAULT_LANGS)\n .map((code) => {\n const langData = allLangs.where('1', code);\n\n return langData\n ? {\n text: langData.local,\n value: langData['1'],\n }\n : undefined;\n })\n .filter(Boolean) as ListItem[];\n\n return preparedLangs.length ? preparedLangs : LEGACY_LANG_ITEMS;\n }, [langs]);\n\n const selectedItemIndex = useMemo(() => (langs ? langs.indexOf(lang) : -1), [lang, langs]);\n\n return (\n <MobileControl\n name={'lang'}\n title={t('lang-text')}\n Icon={Globe}\n selectedItem={lang}\n selectedItemIndex={selectedItemIndex}\n displayItems={langItems}\n onChangeValue={onChangeLang as OnChangeValue}\n />\n );\n};\nconst themes = [Theme.Light, Theme.Dark];\n\nconst useThemeControl = (\n t: UseTranslationReturnType,\n theme: Theme,\n onChangeTheme?: (theme: Theme) => void,\n) => {\n const themesItems = useMemo(\n () =>\n themes.map((value) => {\n const text = t(`label_${value}_theme`);\n\n return {\n text,\n value,\n };\n }),\n [t],\n );\n\n const buttonLabel = useMemo(() => {\n for (const item of themesItems) {\n if (theme !== item.value) {\n continue;\n }\n\n return t(`full_label_${item.value}_theme`);\n }\n\n return '';\n }, [t, theme, themesItems]);\n\n const selectedItemIndex = useMemo(() => (theme ? themes.indexOf(theme) : -1), [theme]);\n\n return (\n <MobileControl\n name={'theme'}\n title={t('label_theme')}\n buttonLabel={buttonLabel}\n Icon={Sun}\n selectedItem={theme}\n selectedItemIndex={selectedItemIndex}\n displayItems={themesItems}\n onChangeValue={onChangeTheme as OnChangeValue}\n />\n );\n};\n\nconst MobileControls = memo(({controlSize, lang, userSettings}: MobileControlsProps) => {\n const {t} = useTranslation('controls');\n const {onChangeLang, langs, onChangeTheme, theme} = userSettings;\n\n const langControl = useLangControl(t, lang, langs, onChangeLang);\n const themeControl = useThemeControl(t, theme ?? Theme.Light, onChangeTheme);\n\n if (!onChangeTheme && !onChangeLang) {\n return null;\n }\n\n return (\n <div className={b()}>\n <ControlsLayout controlClassName={b('control')} controlSize={controlSize}>\n {themeControl}\n {langControl}\n </ControlsLayout>\n </div>\n );\n});\n\nMobileControls.displayName = 'MobileControls';\n\nexport default MobileControls;\n"],
5
+ "mappings": ";AAAA,OAAO,SAAQ,MAAM,eAAc;AACnC,SAAQ,OAAO,WAAU;AACzB,OAAO,WAAW;AAClB,OAAO,cAAc;AAGrB;AAAA,EAEI;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA;AAAA,OACG;AACP,SAAQ,sBAAqB;AAG7B,OAAO,mBAAmB;AAC1B,OAAO;AAEP,IAAM,IAAI,MAAM,oBAAoB;AAUpC,IAAM,iBAAiB,CACnB,GACA,MACA,OACA,iBACC;AACD,QAAM,YAAY,QAAQ,MAAM;AAC5B,UAAM,iBAAiB,wBAAS,eAC3B,IAAI,CAAC,SAAS;AACX,YAAM,WAAW,SAAS,MAAM,KAAK,IAAI;AAEzC,aAAO,WACD;AAAA,QACI,MAAM,SAAS;AAAA,QACf,OAAO,SAAS,GAAG;AAAA,MACvB,IACA;AAAA,IACV,CAAC,EACA,OAAO,OAAO;AAEnB,WAAO,cAAc,SAAS,gBAAgB;AAAA,EAClD,GAAG,CAAC,KAAK,CAAC;AAEV,QAAM,oBAAoB,QAAQ,MAAO,QAAQ,MAAM,QAAQ,IAAI,IAAI,IAAK,CAAC,MAAM,KAAK,CAAC;AAEzF,SACI;AAAA,IAAC;AAAA;AAAA,MACG,MAAM;AAAA,MACN,OAAO,EAAE,WAAW;AAAA,MACpB,MAAM;AAAA,MACN,cAAc;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,eAAe;AAAA;AAAA,EACnB;AAER;AACA,IAAM,SAAS,CAAC,MAAM,OAAO,MAAM,IAAI;AAEvC,IAAM,kBAAkB,CACpB,GACA,OACA,kBACC;AACD,QAAM,cAAc;AAAA,IAChB,MACI,OAAO,IAAI,CAAC,UAAU;AAClB,YAAM,OAAO,EAAE,SAAS,KAAK,QAAQ;AAErC,aAAO;AAAA,QACH;AAAA,QACA;AAAA,MACJ;AAAA,IACJ,CAAC;AAAA,IACL,CAAC,CAAC;AAAA,EACN;AAEA,QAAM,cAAc,QAAQ,MAAM;AAC9B,eAAW,QAAQ,aAAa;AAC5B,UAAI,UAAU,KAAK,OAAO;AACtB;AAAA,MACJ;AAEA,aAAO,EAAE,cAAc,KAAK,KAAK,QAAQ;AAAA,IAC7C;AAEA,WAAO;AAAA,EACX,GAAG,CAAC,GAAG,OAAO,WAAW,CAAC;AAE1B,QAAM,oBAAoB,QAAQ,MAAO,QAAQ,OAAO,QAAQ,KAAK,IAAI,IAAK,CAAC,KAAK,CAAC;AAErF,SACI;AAAA,IAAC;AAAA;AAAA,MACG,MAAM;AAAA,MACN,OAAO,EAAE,aAAa;AAAA,MACtB;AAAA,MACA,MAAM;AAAA,MACN,cAAc;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,eAAe;AAAA;AAAA,EACnB;AAER;AAEA,IAAM,iBAAiB,KAAK,CAAC,EAAC,aAAa,MAAM,aAAY,MAA2B;AACpF,QAAM,EAAC,EAAC,IAAI,eAAe,UAAU;AACrC,QAAM,EAAC,cAAc,OAAO,eAAe,MAAK,IAAI;AAEpD,QAAM,cAAc,eAAe,GAAG,MAAM,OAAO,YAAY;AAC/D,QAAM,eAAe,gBAAgB,GAAG,wBAAS,MAAM,OAAO,aAAa;AAE3E,MAAI,CAAC,iBAAiB,CAAC,cAAc;AACjC,WAAO;AAAA,EACX;AAEA,SACI,oCAAC,SAAI,WAAW,EAAE,KACd,oCAAC,kBAAe,kBAAkB,EAAE,SAAS,GAAG,eAC3C,cACA,WACL,CACJ;AAER,CAAC;AAED,eAAe,cAAc;AAE7B,IAAO,yBAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ export { default as MobileControls } from './MobileControls';
2
+ export * from './MobileControls';
@@ -0,0 +1,7 @@
1
+ // src/components/MobileControls/index.ts
2
+ import { default as default2 } from "./MobileControls";
3
+ export * from "./MobileControls";
4
+ export {
5
+ default2 as MobileControls
6
+ };
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/components/MobileControls/index.ts"],
4
+ "sourcesContent": ["export {default as MobileControls} from './MobileControls';\nexport * from './MobileControls';\n"],
5
+ "mappings": ";AAAA,SAAmB,WAAXA,gBAAgC;AACxC,cAAc;",
6
+ "names": ["default"]
7
+ }
@@ -1,7 +1,8 @@
1
- import React, { PropsWithChildren } from 'react';
2
- export interface OutsideClickProps {
1
+ import React, { PropsWithChildren, RefObject } from 'react';
2
+ import { ClassNameProps } from 'src/models';
3
+ export interface OutsideClickProps extends ClassNameProps {
3
4
  onOutsideClick: () => void;
4
- anchor?: HTMLElement | null;
5
+ anchor?: HTMLElement | RefObject<HTMLElement> | null;
5
6
  }
6
7
  export default class OutsideClick extends React.Component<PropsWithChildren<OutsideClickProps>> {
7
8
  ref: React.RefObject<HTMLDivElement>;
@@ -12,9 +12,9 @@ var OutsideClick = class extends React.Component {
12
12
  super(...arguments);
13
13
  __publicField(this, "ref", createRef());
14
14
  __publicField(this, "handleOutsideClick", (e) => {
15
- var _a, _b;
15
+ var _a, _b, _c;
16
16
  const { onOutsideClick, anchor } = this.props;
17
- if (e.target && !(((_b = (_a = this.ref) == null ? void 0 : _a.current) == null ? void 0 : _b.contains(e.target)) || (anchor == null ? void 0 : anchor.contains(e.target)))) {
17
+ if (e.target && !(((_b = (_a = this.ref) == null ? void 0 : _a.current) == null ? void 0 : _b.contains(e.target)) || anchor && "contains" in anchor && anchor.contains(e.target) || anchor && "current" in anchor && ((_c = anchor.current) == null ? void 0 : _c.contains(e.target)))) {
18
18
  onOutsideClick();
19
19
  }
20
20
  });
@@ -26,8 +26,8 @@ var OutsideClick = class extends React.Component {
26
26
  document.removeEventListener("mousedown", this.handleOutsideClick);
27
27
  }
28
28
  render() {
29
- const { children } = this.props;
30
- return /* @__PURE__ */ React.createElement("div", { ref: this.ref }, children);
29
+ const { children, className } = this.props;
30
+ return /* @__PURE__ */ React.createElement("div", { className, ref: this.ref }, children);
31
31
  }
32
32
  };
33
33
  export {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/OutsideClick/OutsideClick.tsx"],
4
- "sourcesContent": ["import React, {PropsWithChildren, createRef} from 'react';\n\nexport interface OutsideClickProps {\n onOutsideClick: () => void;\n anchor?: HTMLElement | null;\n}\n\nexport default class OutsideClick extends React.Component<PropsWithChildren<OutsideClickProps>> {\n ref = createRef<HTMLDivElement>();\n\n componentDidMount() {\n document.addEventListener('mousedown', this.handleOutsideClick);\n }\n\n componentWillUnmount() {\n document.removeEventListener('mousedown', this.handleOutsideClick);\n }\n\n render() {\n const {children} = this.props;\n return <div ref={this.ref}>{children}</div>;\n }\n\n handleOutsideClick = (e: MouseEvent) => {\n const {onOutsideClick, anchor} = this.props;\n\n if (\n e.target &&\n !(this.ref?.current?.contains(e.target as Node) || anchor?.contains(e.target as Node))\n ) {\n onOutsideClick();\n }\n };\n}\n"],
5
- "mappings": ";;;;;;;;AAAA,OAAO,SAA2B,iBAAgB;AAOlD,IAAqB,eAArB,cAA0C,MAAM,UAAgD;AAAA,EAAhG;AAAA;AACI,+BAAM,UAA0B;AAehC,8CAAqB,CAAC,MAAkB;AAvB5C;AAwBQ,YAAM,EAAC,gBAAgB,OAAM,IAAI,KAAK;AAEtC,UACI,EAAE,UACF,IAAE,gBAAK,QAAL,mBAAU,YAAV,mBAAmB,SAAS,EAAE,aAAmB,iCAAQ,SAAS,EAAE,WACxE;AACE,uBAAe;AAAA,MACnB;AAAA,IACJ;AAAA;AAAA,EAtBA,oBAAoB;AAChB,aAAS,iBAAiB,aAAa,KAAK,kBAAkB;AAAA,EAClE;AAAA,EAEA,uBAAuB;AACnB,aAAS,oBAAoB,aAAa,KAAK,kBAAkB;AAAA,EACrE;AAAA,EAEA,SAAS;AACL,UAAM,EAAC,SAAQ,IAAI,KAAK;AACxB,WAAO,oCAAC,SAAI,KAAK,KAAK,OAAM,QAAS;AAAA,EACzC;AAYJ;",
4
+ "sourcesContent": ["import React, {PropsWithChildren, RefObject, createRef} from 'react';\n\nimport {ClassNameProps} from 'src/models';\n\nexport interface OutsideClickProps extends ClassNameProps {\n onOutsideClick: () => void;\n anchor?: HTMLElement | RefObject<HTMLElement> | null;\n}\n\nexport default class OutsideClick extends React.Component<PropsWithChildren<OutsideClickProps>> {\n ref = createRef<HTMLDivElement>();\n\n componentDidMount() {\n document.addEventListener('mousedown', this.handleOutsideClick);\n }\n\n componentWillUnmount() {\n document.removeEventListener('mousedown', this.handleOutsideClick);\n }\n\n render() {\n const {children, className} = this.props;\n\n return (\n <div className={className} ref={this.ref}>\n {children}\n </div>\n );\n }\n\n handleOutsideClick = (e: MouseEvent) => {\n const {onOutsideClick, anchor} = this.props;\n\n if (\n e.target &&\n !(\n this.ref?.current?.contains(e.target as Node) ||\n (anchor && 'contains' in anchor && anchor.contains(e.target as Node)) ||\n (anchor && 'current' in anchor && anchor.current?.contains(e.target as Node))\n )\n ) {\n onOutsideClick();\n }\n };\n}\n"],
5
+ "mappings": ";;;;;;;;AAAA,OAAO,SAAsC,iBAAgB;AAS7D,IAAqB,eAArB,cAA0C,MAAM,UAAgD;AAAA,EAAhG;AAAA;AACI,+BAAM,UAA0B;AAoBhC,8CAAqB,CAAC,MAAkB;AA9B5C;AA+BQ,YAAM,EAAC,gBAAgB,OAAM,IAAI,KAAK;AAEtC,UACI,EAAE,UACF,IACI,gBAAK,QAAL,mBAAU,YAAV,mBAAmB,SAAS,EAAE,YAC7B,UAAU,cAAc,UAAU,OAAO,SAAS,EAAE,MAAc,KAClE,UAAU,aAAa,YAAU,YAAO,YAAP,mBAAgB,SAAS,EAAE,WAEnE;AACE,uBAAe;AAAA,MACnB;AAAA,IACJ;AAAA;AAAA,EA/BA,oBAAoB;AAChB,aAAS,iBAAiB,aAAa,KAAK,kBAAkB;AAAA,EAClE;AAAA,EAEA,uBAAuB;AACnB,aAAS,oBAAoB,aAAa,KAAK,kBAAkB;AAAA,EACrE;AAAA,EAEA,SAAS;AACL,UAAM,EAAC,UAAU,UAAS,IAAI,KAAK;AAEnC,WACI,oCAAC,SAAI,WAAsB,KAAK,KAAK,OAChC,QACL;AAAA,EAER;AAgBJ;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/components/Paginator/home/runner/work/components/components/src/components/Paginator/Paginator.scss", "../../../../src/components/Paginator/home/runner/work/components/components/src/styles/mixins.scss", "../../../../src/components/Paginator/%3Cinput%20css%20Vm2T4h%3E"],
3
+ "sources": ["../../../../src/components/Paginator/home/runner/work/components/components/src/components/Paginator/Paginator.scss", "../../../../src/components/Paginator/home/runner/work/components/components/src/styles/mixins.scss", "../../../../src/components/Paginator/%3Cinput%20css%20u698E0%3E"],
4
4
  "sourcesContent": ["@import '../../styles/variables';\n@import '../../styles/mixins';\n\n.Paginator {\n $block: &;\n\n @include reset-list-style();\n\n display: flex;\n align-items: center;\n\n\n &__item {\n $item: &;\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n min-width: 28px;\n min-height: 28px;\n margin: 4px;\n\n color: var(--g-color-text-primary);\n @include text-size(body-1);\n\n &_type {\n &_prev {\n margin: 4px 6px 4px 0;\n\n [dir='rtl'] & {\n transform: rotate(180deg);\n }\n }\n\n &_dots {\n min-width: 0;\n color: var(--g-color-text-secondary);\n }\n\n &_page {\n cursor: pointer;\n border-radius: 14px;\n\n &:hover {\n background: var(--g-color-base-simple-hover);\n }\n\n &#{$item}_active {\n color: var(--g-color-text-light-primary);\n background: var(--g-color-base-brand);\n cursor: default;\n }\n }\n\n &_next {\n margin: 4px 0 4px 6px;\n\n [dir='rtl'] & {\n transform: rotate(180deg);\n }\n }\n }\n }\n}\n", "@import './variables';\n\n@mixin text-size($name) {\n font-size: var(--g-text-#{$name}-font-size);\n line-height: var(--g-text-#{$name}-line-height);\n}\n\n@mixin reset-list-style() {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n@mixin fixAnchorPosition($offset: 0px) {\n padding-top: calc(var(--dc-header-height, #{$headerHeight}));\n margin-top: calc(#{$offset} - var(--dc-header-height, #{$headerHeight}));\n}\n\n@mixin reset-link-style() {\n color: inherit;\n text-decoration: none;\n}\n\n@mixin islands-focus() {\n outline: none;\n\n .utilityfocus &:focus {\n outline: 2px solid #ffdb4d;\n }\n}\n\n@mixin focusable($offset: 0, $mode: 'outline') {\n @if $mode == 'outline' {\n &:focus {\n outline: 2px solid var(--g-color-line-focus);\n outline-offset: $offset;\n }\n &:focus:not(:focus-visible) {\n outline: 0;\n }\n }\n\n @if $mode == 'box-shadow' {\n &:focus {\n box-shadow: 0 0 0 2px var(--g-color-line-focus);\n outline: 0;\n }\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n}\n\n@mixin link() {\n @include islands-focus();\n @include focusable(0, 'box-shadow');\n\n color: var(--g-color-text-link);\n text-decoration: none;\n cursor: pointer;\n border-radius: var(--g-focus-border-radius);\n\n &:hover,\n &:active {\n color: var(--g-color-text-link-hover);\n }\n}\n\n@mixin heading1() {\n @include text-size(display-3);\n font-weight: 500;\n\n @media (max-width: map-get($screenBreakpoints, 'md') - 1) {\n @include text-size(display-2);\n }\n}\n\n@mixin heading2() {\n @include text-size(display-1);\n font-weight: 500;\n}\n\n@mixin heading3() {\n @include text-size(header-2);\n font-weight: 500;\n}\n\n@mixin heading4() {\n @include text-size(header-1);\n font-weight: 500;\n}\n\n@mixin heading5() {\n @include text-size(body-3);\n font-weight: 500;\n}\n\n@mixin heading6() {\n @include text-size(body-3);\n font-weight: 400;\n}\n\n@mixin contributors-text() {\n font-size: 13px;\n font-weight: 400;\n margin-right: 5px;\n align-self: center;\n}\n\n@mixin text-body-1() {\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n font-weight: var(--g-text-body-font-weight);\n}\n\n@mixin desktop-only() {\n @media (max-width: map-get($screenBreakpoints, 'md') - 1) {\n display: none;\n }\n}\n\n@mixin desktop-tablet-only() {\n @media (max-width: map-get($screenBreakpoints, 'sm') - 1) {\n display: none;\n }\n}\n\n@mixin mobile-tablet-only() {\n @media (min-width: map-get($screenBreakpoints, 'md')) {\n display: none;\n }\n}\n\n@mixin mobile-only() {\n @media (min-width: map-get($screenBreakpoints, 'sm')) {\n display: none;\n }\n}\n", ".Paginator {\n margin: 0;\n padding: 0;\n list-style: none;\n display: flex;\n align-items: center;\n}\n.Paginator__item {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 28px;\n min-height: 28px;\n margin: 4px;\n color: var(--g-color-text-primary);\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n}\n.Paginator__item_type_prev {\n margin: 4px 6px 4px 0;\n}\n[dir=rtl] .Paginator__item_type_prev {\n transform: rotate(180deg);\n}\n.Paginator__item_type_dots {\n min-width: 0;\n color: var(--g-color-text-secondary);\n}\n.Paginator__item_type_page {\n cursor: pointer;\n border-radius: 14px;\n}\n.Paginator__item_type_page:hover {\n background: var(--g-color-base-simple-hover);\n}\n.Paginator__item_type_page.Paginator__item_active {\n color: var(--g-color-text-light-primary);\n background: var(--g-color-base-brand);\n cursor: default;\n}\n.Paginator__item_type_next {\n margin: 4px 0 4px 6px;\n}\n[dir=rtl] .Paginator__item_type_next {\n transform: rotate(180deg);\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvY29tcG9uZW50cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1BhZ2luYXRvciIsInNvdXJjZXMiOlsiUGFnaW5hdG9yLnNjc3MiLCIuLi8uLi9zdHlsZXMvbWl4aW5zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7RUNLSTtFQUNBO0VBQ0E7RURGQTtFQUNBOztBQUdBO0VBR0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUNwQko7RUFDQTs7QUR1QlE7RUFDSTs7QUFFQTtFQUNJOztBQUlSO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFJUjtFQUNJOztBQUVBO0VBQ0kiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICcuLi8uLi9zdHlsZXMvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uL3N0eWxlcy9taXhpbnMnO1xuXG4uUGFnaW5hdG9yIHtcbiAgICAkYmxvY2s6ICY7XG5cbiAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICAkaXRlbTogJjtcblxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgbWluLXdpZHRoOiAyOHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAyOHB4O1xuICAgICAgICBtYXJnaW46IDRweDtcblxuICAgICAgICBjb2xvcjogdmFyKC0tZy1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LXNpemUoYm9keS0xKTtcblxuICAgICAgICAmX3R5cGUge1xuICAgICAgICAgICAgJl9wcmV2IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDRweCA2cHggNHB4IDA7XG5cbiAgICAgICAgICAgICAgICBbZGlyPSdydGwnXSAmIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfZG90cyB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9wYWdlIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTRweDtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1nLWNvbG9yLWJhc2Utc2ltcGxlLWhvdmVyKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmI3skaXRlbX1fYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWctY29sb3ItdGV4dC1saWdodC1wcmltYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZy1jb2xvci1iYXNlLWJyYW5kKTtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9uZXh0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDRweCAwIDRweCA2cHg7XG5cbiAgICAgICAgICAgICAgICBbZGlyPSdydGwnXSAmIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICcuL3ZhcmlhYmxlcyc7XG5cbkBtaXhpbiB0ZXh0LXNpemUoJG5hbWUpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWctdGV4dC0jeyRuYW1lfS1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1nLXRleHQtI3skbmFtZX0tbGluZS1oZWlnaHQpO1xufVxuXG5AbWl4aW4gcmVzZXQtbGlzdC1zdHlsZSgpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5AbWl4aW4gZml4QW5jaG9yUG9zaXRpb24oJG9mZnNldDogMHB4KSB7XG4gICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tZGMtaGVhZGVyLWhlaWdodCwgI3skaGVhZGVySGVpZ2h0fSkpO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoI3skb2Zmc2V0fSAtIHZhcigtLWRjLWhlYWRlci1oZWlnaHQsICN7JGhlYWRlckhlaWdodH0pKTtcbn1cblxuQG1peGluIHJlc2V0LWxpbmstc3R5bGUoKSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5AbWl4aW4gaXNsYW5kcy1mb2N1cygpIHtcbiAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgLnV0aWxpdHlmb2N1cyAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkICNmZmRiNGQ7XG4gICAgfVxufVxuXG5AbWl4aW4gZm9jdXNhYmxlKCRvZmZzZXQ6IDAsICRtb2RlOiAnb3V0bGluZScpIHtcbiAgICBAaWYgJG1vZGUgPT0gJ291dGxpbmUnIHtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tZy1jb2xvci1saW5lLWZvY3VzKTtcbiAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAkb2Zmc2V0O1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRtb2RlID09ICdib3gtc2hhZG93JyB7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWctY29sb3ItbGluZS1mb2N1cyk7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gbGluaygpIHtcbiAgICBAaW5jbHVkZSBpc2xhbmRzLWZvY3VzKCk7XG4gICAgQGluY2x1ZGUgZm9jdXNhYmxlKDAsICdib3gtc2hhZG93Jyk7XG5cbiAgICBjb2xvcjogdmFyKC0tZy1jb2xvci10ZXh0LWxpbmspO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tZy1mb2N1cy1ib3JkZXItcmFkaXVzKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogdmFyKC0tZy1jb2xvci10ZXh0LWxpbmstaG92ZXIpO1xuICAgIH1cbn1cblxuQG1peGluIGhlYWRpbmcxKCkge1xuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShkaXNwbGF5LTMpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpIC0gMSkge1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LXNpemUoZGlzcGxheS0yKTtcbiAgICB9XG59XG5cbkBtaXhpbiBoZWFkaW5nMigpIHtcbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoZGlzcGxheS0xKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG5AbWl4aW4gaGVhZGluZzMoKSB7XG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGhlYWRlci0yKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG5AbWl4aW4gaGVhZGluZzQoKSB7XG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGhlYWRlci0xKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG5AbWl4aW4gaGVhZGluZzUoKSB7XG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGJvZHktMyk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuQG1peGluIGhlYWRpbmc2KCkge1xuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShib2R5LTMpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbkBtaXhpbiBjb250cmlidXRvcnMtdGV4dCgpIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG5cbkBtaXhpbiB0ZXh0LWJvZHktMSgpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWctdGV4dC1ib2R5LTEtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tZy10ZXh0LWJvZHktMS1saW5lLWhlaWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWctdGV4dC1ib2R5LWZvbnQtd2VpZ2h0KTtcbn1cblxuQG1peGluIGRlc2t0b3Atb25seSgpIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpIC0gMSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQG1peGluIGRlc2t0b3AtdGFibGV0LW9ubHkoKSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbkJyZWFrcG9pbnRzLCAnc20nKSAtIDEpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtaXhpbiBtb2JpbGUtdGFibGV0LW9ubHkoKSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbkJyZWFrcG9pbnRzLCAnbWQnKSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQG1peGluIG1vYmlsZS1vbmx5KCkge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW5CcmVha3BvaW50cywgJ3NtJykpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4iXX0= */"],
5
5
  "mappings": ";AAGA,CAAA;ACKI,UAAA;AACA,WAAA;AACA,cAAA;ADFA,WAAA;AACA,eAAA;AEHJ;AFMI,CAAA;AAGI,WAAA;AACA,eAAA;AACA,mBAAA;AAEA,aAAA;AACA,cAAA;AACA,UAAA;AAEA,SAAA,IAAA;ACpBJ,aAAA,IAAA;AACA,eAAA,IAAA;ACaJ;AFUY,CAAA;AACI,UAAA,IAAA,IAAA,IAAA;AERhB;AFUgB,CAAA,SAAA,CAHJ;AAIQ,aAAA,OAAA;AERpB;AFYY,CAAA;AACI,aAAA;AACA,SAAA,IAAA;AEVhB;AFaY,CAAA;AACI,UAAA;AACA,iBAAA;AEXhB;AFagB,CAJJ,yBAII;AACI,cAAA,IAAA;AEXpB;AFcgB,CARJ,yBAQI,CAAA;AACI,SAAA,IAAA;AACA,cAAA,IAAA;AACA,UAAA;AEZpB;AFgBY,CAAA;AACI,UAAA,IAAA,EAAA,IAAA;AEdhB;AFgBgB,CAAA,SAAA,CAHJ;AAIQ,aAAA,OAAA;AEdpB;",
6
6
  "names": []