@alfalab/core-components-tabs 7.7.1 → 8.0.0

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 (462) hide show
  1. package/{cssm/Component-3e68f8db.d.ts → Component-4cd3936b.d.ts} +5 -4
  2. package/Component-5e1b8383.d.ts +99 -3
  3. package/Component-63dec22f.d.ts +167 -0
  4. package/Component-8b2c2707.d.ts +14 -0
  5. package/Component-9211a437.d.ts +38 -0
  6. package/Component-e81c389f.d.ts +5 -0
  7. package/Component.desktop-2e2b2125.d.ts +6 -0
  8. package/Component.desktop-785df74d.d.ts +6 -0
  9. package/Component.mobile-755fbaa3.d.ts +6 -0
  10. package/Component.mobile-d7e9f69d.d.ts +6 -0
  11. package/Component.mobile-ebda875c.d.ts +6 -0
  12. package/Component.responsive-785df74d.d.ts +26 -0
  13. package/collapsible.d.ts +7 -0
  14. package/collapsible.js +40 -0
  15. package/components/primary-tablist/Component.collapsible.d.ts +5 -0
  16. package/components/primary-tablist/Component.collapsible.desktop.d.ts +5 -0
  17. package/components/primary-tablist/Component.collapsible.desktop.js +32 -0
  18. package/components/primary-tablist/Component.collapsible.js +81 -0
  19. package/components/primary-tablist/Component.collapsible.mobile.d.ts +6 -0
  20. package/components/primary-tablist/Component.collapsible.mobile.js +35 -0
  21. package/components/primary-tablist/Component.collapsible.responsive.d.ts +5 -0
  22. package/components/primary-tablist/Component.collapsible.responsive.js +36 -0
  23. package/components/primary-tablist/Component.d.ts +2 -1
  24. package/components/primary-tablist/Component.desktop.d.ts +2 -1
  25. package/components/primary-tablist/Component.desktop.js +2 -8
  26. package/components/primary-tablist/Component.js +8 -40
  27. package/components/primary-tablist/Component.mobile.d.ts +3 -2
  28. package/components/primary-tablist/Component.mobile.js +4 -12
  29. package/components/primary-tablist/Component.responsive.d.ts +2 -1
  30. package/components/primary-tablist/Component.responsive.js +7 -14
  31. package/components/primary-tablist/index.css +29 -29
  32. package/components/primary-tablist/mobile.css +40 -32
  33. package/components/scrollable-container/Component.d.ts +3 -2
  34. package/components/scrollable-container/Component.js +1 -1
  35. package/components/scrollable-container/index.css +5 -5
  36. package/components/secondary-tablist/Component.d.ts +2 -1
  37. package/components/secondary-tablist/Component.desktop.d.ts +3 -2
  38. package/components/secondary-tablist/Component.desktop.js +4 -3
  39. package/components/secondary-tablist/Component.js +5 -3
  40. package/components/secondary-tablist/Component.mobile.d.ts +2 -1
  41. package/components/secondary-tablist/Component.mobile.js +5 -4
  42. package/components/secondary-tablist/Component.responsive.d.ts +2 -1
  43. package/components/secondary-tablist/Component.responsive.js +8 -9
  44. package/components/secondary-tablist/index.css +11 -11
  45. package/components/secondary-tablist/mobile.css +21 -13
  46. package/components/tab/Component.d.ts +2 -1
  47. package/components/tab/Component.js +1 -1
  48. package/components/tab/index.css +3 -3
  49. package/components/tabs/Component.collabsible.desktop.d.ts +6 -0
  50. package/components/tabs/Component.collabsible.desktop.js +34 -0
  51. package/components/tabs/Component.collapsible.mobile.d.ts +6 -0
  52. package/components/tabs/Component.collapsible.mobile.js +35 -0
  53. package/components/tabs/Component.collapsible.responsive.d.ts +6 -0
  54. package/components/tabs/Component.collapsible.responsive.js +37 -0
  55. package/components/tabs/Component.d.ts +2 -1
  56. package/components/tabs/Component.desktop.d.ts +3 -2
  57. package/components/tabs/Component.desktop.js +4 -10
  58. package/components/tabs/Component.js +2 -2
  59. package/components/tabs/Component.mobile.d.ts +3 -2
  60. package/components/tabs/Component.mobile.js +5 -10
  61. package/components/tabs/Component.responsive.d.ts +3 -2
  62. package/components/tabs/Component.responsive.js +7 -10
  63. package/{esm/Component-3e68f8db.d.ts → cssm/Component-4cd3936b.d.ts} +5 -4
  64. package/cssm/Component-5e1b8383.d.ts +99 -3
  65. package/cssm/Component-63dec22f.d.ts +167 -0
  66. package/cssm/Component-8b2c2707.d.ts +14 -0
  67. package/cssm/Component-9211a437.d.ts +38 -0
  68. package/cssm/Component-e81c389f.d.ts +5 -0
  69. package/cssm/Component.desktop-2e2b2125.d.ts +6 -0
  70. package/cssm/Component.desktop-785df74d.d.ts +6 -0
  71. package/cssm/Component.mobile-755fbaa3.d.ts +6 -0
  72. package/cssm/Component.mobile-d7e9f69d.d.ts +6 -0
  73. package/cssm/Component.mobile-ebda875c.d.ts +6 -0
  74. package/cssm/Component.responsive-785df74d.d.ts +26 -0
  75. package/cssm/collapsible.d.ts +7 -0
  76. package/cssm/collapsible.js +41 -0
  77. package/cssm/components/primary-tablist/Component.collapsible.d.ts +5 -0
  78. package/cssm/components/primary-tablist/Component.collapsible.desktop.d.ts +5 -0
  79. package/cssm/components/primary-tablist/Component.collapsible.desktop.js +33 -0
  80. package/cssm/components/primary-tablist/Component.collapsible.js +81 -0
  81. package/cssm/components/primary-tablist/Component.collapsible.mobile.d.ts +6 -0
  82. package/cssm/components/primary-tablist/Component.collapsible.mobile.js +37 -0
  83. package/cssm/components/primary-tablist/Component.collapsible.responsive.d.ts +5 -0
  84. package/cssm/components/primary-tablist/Component.collapsible.responsive.js +36 -0
  85. package/cssm/components/primary-tablist/Component.d.ts +2 -1
  86. package/cssm/components/primary-tablist/Component.desktop.d.ts +2 -1
  87. package/cssm/components/primary-tablist/Component.desktop.js +1 -7
  88. package/cssm/components/primary-tablist/Component.js +8 -40
  89. package/cssm/components/primary-tablist/Component.mobile.d.ts +3 -2
  90. package/cssm/components/primary-tablist/Component.mobile.js +1 -7
  91. package/cssm/components/primary-tablist/Component.responsive.d.ts +2 -1
  92. package/cssm/components/primary-tablist/Component.responsive.js +5 -13
  93. package/cssm/components/scrollable-container/Component.d.ts +3 -2
  94. package/cssm/components/secondary-tablist/Component.d.ts +2 -1
  95. package/cssm/components/secondary-tablist/Component.desktop.d.ts +3 -2
  96. package/cssm/components/secondary-tablist/Component.desktop.js +3 -2
  97. package/cssm/components/secondary-tablist/Component.js +5 -3
  98. package/cssm/components/secondary-tablist/Component.mobile.d.ts +2 -1
  99. package/cssm/components/secondary-tablist/Component.mobile.js +3 -2
  100. package/cssm/components/secondary-tablist/Component.responsive.d.ts +2 -1
  101. package/cssm/components/secondary-tablist/Component.responsive.js +7 -8
  102. package/cssm/components/tab/Component.d.ts +2 -1
  103. package/cssm/components/tabs/Component.collabsible.desktop.d.ts +6 -0
  104. package/cssm/components/tabs/Component.collabsible.desktop.js +34 -0
  105. package/cssm/components/tabs/Component.collapsible.mobile.d.ts +6 -0
  106. package/cssm/components/tabs/Component.collapsible.mobile.js +35 -0
  107. package/cssm/components/tabs/Component.collapsible.responsive.d.ts +6 -0
  108. package/cssm/components/tabs/Component.collapsible.responsive.js +37 -0
  109. package/cssm/components/tabs/Component.d.ts +2 -1
  110. package/cssm/components/tabs/Component.desktop.d.ts +3 -2
  111. package/cssm/components/tabs/Component.desktop.js +2 -8
  112. package/cssm/components/tabs/Component.js +2 -2
  113. package/cssm/components/tabs/Component.mobile.d.ts +3 -2
  114. package/cssm/components/tabs/Component.mobile.js +2 -8
  115. package/cssm/components/tabs/Component.responsive.d.ts +3 -2
  116. package/cssm/components/tabs/Component.responsive.js +4 -8
  117. package/cssm/desktop-2e2b2125.d.ts +2 -0
  118. package/cssm/desktop.d.ts +0 -4
  119. package/cssm/desktop.js +6 -15
  120. package/cssm/{hook-3e68f8db.d.ts → hook-9ea9e32c.d.ts} +10 -8
  121. package/cssm/hooks/use-tablist-titles.d.ts +2 -1
  122. package/cssm/hooks/use-tablist-titles.js +7 -5
  123. package/cssm/hooks/use-tabs.d.ts +1 -0
  124. package/cssm/hooks/use-tabs.js +3 -6
  125. package/cssm/index-8b2c2707.d.ts +6 -0
  126. package/cssm/index-c44170fe.d.ts +23 -0
  127. package/cssm/index-e81c389f.d.ts +142 -3
  128. package/cssm/index-ebda875c.d.ts +86 -18
  129. package/cssm/index-f12ee135.d.ts +307 -3
  130. package/cssm/index.d.ts +1 -4
  131. package/cssm/index.js +9 -15
  132. package/cssm/mobile-755fbaa3.d.ts +2 -0
  133. package/cssm/mobile-96988a65.d.ts +2 -0
  134. package/cssm/mobile.d.ts +0 -3
  135. package/cssm/mobile.js +6 -14
  136. package/{esm/index-3e68f8db.d.ts → cssm/shared-4cd3936b.d.ts} +50 -16
  137. package/cssm/shared.d.ts +4 -0
  138. package/cssm/shared.js +21 -0
  139. package/cssm/types-4480ac4f.d.ts +3 -0
  140. package/cssm/typings-5e1b8383.d.ts +2 -1
  141. package/cssm/typings-9211a437.d.ts +95 -0
  142. package/cssm/typings.d.ts +11 -10
  143. package/desktop-2e2b2125.d.ts +2 -0
  144. package/desktop.d.ts +0 -4
  145. package/desktop.js +7 -16
  146. package/{Component-3e68f8db.d.ts → esm/Component-4cd3936b.d.ts} +5 -4
  147. package/esm/Component-5e1b8383.d.ts +99 -3
  148. package/esm/Component-63dec22f.d.ts +167 -0
  149. package/esm/Component-8b2c2707.d.ts +14 -0
  150. package/esm/Component-9211a437.d.ts +38 -0
  151. package/esm/Component-e81c389f.d.ts +5 -0
  152. package/esm/Component.desktop-2e2b2125.d.ts +6 -0
  153. package/esm/Component.desktop-785df74d.d.ts +6 -0
  154. package/esm/Component.mobile-755fbaa3.d.ts +6 -0
  155. package/esm/Component.mobile-d7e9f69d.d.ts +6 -0
  156. package/esm/Component.mobile-ebda875c.d.ts +6 -0
  157. package/esm/Component.responsive-785df74d.d.ts +26 -0
  158. package/esm/collapsible.d.ts +7 -0
  159. package/esm/collapsible.js +26 -0
  160. package/esm/components/primary-tablist/Component.collapsible.d.ts +5 -0
  161. package/esm/components/primary-tablist/Component.collapsible.desktop.d.ts +5 -0
  162. package/esm/components/primary-tablist/Component.collapsible.desktop.js +24 -0
  163. package/esm/components/primary-tablist/Component.collapsible.js +72 -0
  164. package/esm/components/primary-tablist/Component.collapsible.mobile.d.ts +6 -0
  165. package/esm/components/primary-tablist/Component.collapsible.mobile.js +26 -0
  166. package/esm/components/primary-tablist/Component.collapsible.responsive.d.ts +5 -0
  167. package/esm/components/primary-tablist/Component.collapsible.responsive.js +28 -0
  168. package/esm/components/primary-tablist/Component.d.ts +2 -1
  169. package/esm/components/primary-tablist/Component.desktop.d.ts +2 -1
  170. package/esm/components/primary-tablist/Component.desktop.js +2 -8
  171. package/esm/components/primary-tablist/Component.js +10 -42
  172. package/esm/components/primary-tablist/Component.mobile.d.ts +3 -2
  173. package/esm/components/primary-tablist/Component.mobile.js +3 -11
  174. package/esm/components/primary-tablist/Component.responsive.d.ts +2 -1
  175. package/esm/components/primary-tablist/Component.responsive.js +7 -14
  176. package/esm/components/primary-tablist/index.css +29 -29
  177. package/esm/components/primary-tablist/mobile.css +40 -32
  178. package/esm/components/scrollable-container/Component.d.ts +3 -2
  179. package/esm/components/scrollable-container/Component.js +1 -1
  180. package/esm/components/scrollable-container/index.css +5 -5
  181. package/esm/components/secondary-tablist/Component.d.ts +2 -1
  182. package/esm/components/secondary-tablist/Component.desktop.d.ts +3 -2
  183. package/esm/components/secondary-tablist/Component.desktop.js +4 -3
  184. package/esm/components/secondary-tablist/Component.js +5 -3
  185. package/esm/components/secondary-tablist/Component.mobile.d.ts +2 -1
  186. package/esm/components/secondary-tablist/Component.mobile.js +5 -4
  187. package/esm/components/secondary-tablist/Component.responsive.d.ts +2 -1
  188. package/esm/components/secondary-tablist/Component.responsive.js +8 -9
  189. package/esm/components/secondary-tablist/index.css +11 -11
  190. package/esm/components/secondary-tablist/mobile.css +21 -13
  191. package/esm/components/tab/Component.d.ts +2 -1
  192. package/esm/components/tab/Component.js +1 -1
  193. package/esm/components/tab/index.css +3 -3
  194. package/esm/components/tabs/Component.collabsible.desktop.d.ts +6 -0
  195. package/esm/components/tabs/Component.collabsible.desktop.js +26 -0
  196. package/esm/components/tabs/Component.collapsible.mobile.d.ts +6 -0
  197. package/esm/components/tabs/Component.collapsible.mobile.js +27 -0
  198. package/esm/components/tabs/Component.collapsible.responsive.d.ts +6 -0
  199. package/esm/components/tabs/Component.collapsible.responsive.js +29 -0
  200. package/esm/components/tabs/Component.d.ts +2 -1
  201. package/esm/components/tabs/Component.desktop.d.ts +3 -2
  202. package/esm/components/tabs/Component.desktop.js +4 -10
  203. package/esm/components/tabs/Component.js +2 -2
  204. package/esm/components/tabs/Component.mobile.d.ts +3 -2
  205. package/esm/components/tabs/Component.mobile.js +5 -10
  206. package/esm/components/tabs/Component.responsive.d.ts +3 -2
  207. package/esm/components/tabs/Component.responsive.js +7 -10
  208. package/esm/desktop-2e2b2125.d.ts +2 -0
  209. package/esm/desktop.d.ts +0 -4
  210. package/esm/desktop.js +7 -13
  211. package/{hook-3e68f8db.d.ts → esm/hook-9ea9e32c.d.ts} +10 -8
  212. package/esm/hooks/use-tablist-titles.d.ts +2 -1
  213. package/esm/hooks/use-tablist-titles.js +7 -5
  214. package/esm/hooks/use-tabs.d.ts +1 -0
  215. package/esm/hooks/use-tabs.js +2 -5
  216. package/esm/index-8b2c2707.d.ts +6 -0
  217. package/esm/index-c44170fe.d.ts +23 -0
  218. package/esm/index-e81c389f.d.ts +142 -3
  219. package/esm/index-ebda875c.d.ts +86 -18
  220. package/esm/index-f12ee135.d.ts +307 -3
  221. package/esm/index.d.ts +1 -4
  222. package/esm/index.js +11 -14
  223. package/esm/index.module-08248cf3.js +4 -0
  224. package/esm/index.module-2bed7b44.js +4 -0
  225. package/esm/mobile-755fbaa3.d.ts +2 -0
  226. package/esm/mobile-96988a65.d.ts +2 -0
  227. package/esm/mobile.d.ts +0 -3
  228. package/esm/mobile.js +8 -13
  229. package/esm/mobile.module-d8a1b124.js +4 -0
  230. package/{index-3e68f8db.d.ts → esm/shared-4cd3936b.d.ts} +50 -16
  231. package/esm/shared.d.ts +4 -0
  232. package/esm/shared.js +10 -0
  233. package/esm/types-4480ac4f.d.ts +3 -0
  234. package/esm/typings-5e1b8383.d.ts +2 -1
  235. package/esm/typings-9211a437.d.ts +95 -0
  236. package/esm/typings.d.ts +11 -10
  237. package/{modern/hook-3e68f8db.d.ts → hook-9ea9e32c.d.ts} +10 -8
  238. package/hooks/use-tablist-titles.d.ts +2 -1
  239. package/hooks/use-tablist-titles.js +7 -5
  240. package/hooks/use-tabs.d.ts +1 -0
  241. package/hooks/use-tabs.js +3 -6
  242. package/index-8b2c2707.d.ts +6 -0
  243. package/index-c44170fe.d.ts +23 -0
  244. package/index-e81c389f.d.ts +142 -3
  245. package/index-ebda875c.d.ts +86 -18
  246. package/index-f12ee135.d.ts +307 -3
  247. package/index.d.ts +1 -4
  248. package/index.js +11 -16
  249. package/index.module-0d10b544.js +6 -0
  250. package/index.module-49556b0f.js +6 -0
  251. package/mobile-755fbaa3.d.ts +2 -0
  252. package/mobile-96988a65.d.ts +2 -0
  253. package/mobile.d.ts +0 -3
  254. package/mobile.js +8 -15
  255. package/mobile.module-541101fc.js +6 -0
  256. package/modern/{Component-3e68f8db.d.ts → Component-4cd3936b.d.ts} +5 -4
  257. package/modern/Component-5e1b8383.d.ts +99 -3
  258. package/modern/Component-63dec22f.d.ts +167 -0
  259. package/modern/Component-8b2c2707.d.ts +14 -0
  260. package/modern/Component-9211a437.d.ts +38 -0
  261. package/modern/Component-e81c389f.d.ts +5 -0
  262. package/modern/Component.desktop-2e2b2125.d.ts +6 -0
  263. package/modern/Component.desktop-785df74d.d.ts +6 -0
  264. package/modern/Component.mobile-755fbaa3.d.ts +6 -0
  265. package/modern/Component.mobile-d7e9f69d.d.ts +6 -0
  266. package/modern/Component.mobile-ebda875c.d.ts +6 -0
  267. package/modern/Component.responsive-785df74d.d.ts +26 -0
  268. package/modern/collapsible.d.ts +7 -0
  269. package/modern/collapsible.js +25 -0
  270. package/modern/components/primary-tablist/Component.collapsible.d.ts +5 -0
  271. package/modern/components/primary-tablist/Component.collapsible.desktop.d.ts +5 -0
  272. package/modern/components/primary-tablist/Component.collapsible.desktop.js +20 -0
  273. package/modern/components/primary-tablist/Component.collapsible.js +61 -0
  274. package/modern/components/primary-tablist/Component.collapsible.mobile.d.ts +6 -0
  275. package/modern/components/primary-tablist/Component.collapsible.mobile.js +25 -0
  276. package/modern/components/primary-tablist/Component.collapsible.responsive.d.ts +5 -0
  277. package/modern/components/primary-tablist/Component.collapsible.responsive.js +26 -0
  278. package/modern/components/primary-tablist/Component.d.ts +2 -1
  279. package/modern/components/primary-tablist/Component.desktop.d.ts +2 -1
  280. package/modern/components/primary-tablist/Component.desktop.js +2 -8
  281. package/modern/components/primary-tablist/Component.js +8 -37
  282. package/modern/components/primary-tablist/Component.mobile.d.ts +3 -2
  283. package/modern/components/primary-tablist/Component.mobile.js +3 -11
  284. package/modern/components/primary-tablist/Component.responsive.d.ts +2 -1
  285. package/modern/components/primary-tablist/Component.responsive.js +7 -14
  286. package/modern/components/primary-tablist/index.css +29 -29
  287. package/modern/components/primary-tablist/mobile.css +40 -32
  288. package/modern/components/scrollable-container/Component.d.ts +3 -2
  289. package/modern/components/scrollable-container/Component.js +1 -1
  290. package/modern/components/scrollable-container/index.css +5 -5
  291. package/modern/components/secondary-tablist/Component.d.ts +2 -1
  292. package/modern/components/secondary-tablist/Component.desktop.d.ts +3 -2
  293. package/modern/components/secondary-tablist/Component.desktop.js +4 -3
  294. package/modern/components/secondary-tablist/Component.js +12 -8
  295. package/modern/components/secondary-tablist/Component.mobile.d.ts +2 -1
  296. package/modern/components/secondary-tablist/Component.mobile.js +5 -4
  297. package/modern/components/secondary-tablist/Component.responsive.d.ts +2 -1
  298. package/modern/components/secondary-tablist/Component.responsive.js +8 -9
  299. package/modern/components/secondary-tablist/index.css +11 -11
  300. package/modern/components/secondary-tablist/mobile.css +21 -13
  301. package/modern/components/tab/Component.d.ts +2 -1
  302. package/modern/components/tab/Component.js +1 -1
  303. package/modern/components/tab/index.css +3 -3
  304. package/modern/components/tabs/Component.collabsible.desktop.d.ts +6 -0
  305. package/modern/components/tabs/Component.collabsible.desktop.js +22 -0
  306. package/modern/components/tabs/Component.collapsible.mobile.d.ts +6 -0
  307. package/modern/components/tabs/Component.collapsible.mobile.js +23 -0
  308. package/modern/components/tabs/Component.collapsible.responsive.d.ts +6 -0
  309. package/modern/components/tabs/Component.collapsible.responsive.js +25 -0
  310. package/modern/components/tabs/Component.d.ts +2 -1
  311. package/modern/components/tabs/Component.desktop.d.ts +3 -2
  312. package/modern/components/tabs/Component.desktop.js +4 -10
  313. package/modern/components/tabs/Component.js +2 -2
  314. package/modern/components/tabs/Component.mobile.d.ts +3 -2
  315. package/modern/components/tabs/Component.mobile.js +5 -10
  316. package/modern/components/tabs/Component.responsive.d.ts +3 -2
  317. package/modern/components/tabs/Component.responsive.js +7 -10
  318. package/modern/desktop-2e2b2125.d.ts +2 -0
  319. package/modern/desktop.d.ts +0 -4
  320. package/modern/desktop.js +7 -13
  321. package/{esm/hook-3e68f8db.d.ts → modern/hook-9ea9e32c.d.ts} +10 -8
  322. package/modern/hooks/use-tablist-titles.d.ts +2 -1
  323. package/modern/hooks/use-tablist-titles.js +7 -5
  324. package/modern/hooks/use-tabs.d.ts +1 -0
  325. package/modern/hooks/use-tabs.js +2 -5
  326. package/modern/index-8b2c2707.d.ts +6 -0
  327. package/modern/index-c44170fe.d.ts +23 -0
  328. package/modern/index-e81c389f.d.ts +142 -3
  329. package/modern/index-ebda875c.d.ts +86 -18
  330. package/modern/index-f12ee135.d.ts +307 -3
  331. package/modern/index.d.ts +1 -4
  332. package/modern/index.js +11 -14
  333. package/modern/index.module-264a8450.js +4 -0
  334. package/modern/index.module-fede443b.js +4 -0
  335. package/modern/mobile-755fbaa3.d.ts +2 -0
  336. package/modern/mobile-96988a65.d.ts +2 -0
  337. package/modern/mobile.d.ts +0 -3
  338. package/modern/mobile.js +8 -13
  339. package/modern/mobile.module-9693b0a4.js +4 -0
  340. package/{cssm/index-3e68f8db.d.ts → modern/shared-4cd3936b.d.ts} +50 -16
  341. package/modern/shared.d.ts +4 -0
  342. package/modern/shared.js +9 -0
  343. package/modern/types-4480ac4f.d.ts +3 -0
  344. package/modern/typings-5e1b8383.d.ts +2 -1
  345. package/modern/typings-9211a437.d.ts +95 -0
  346. package/modern/typings.d.ts +11 -10
  347. package/package.json +36 -5
  348. package/{modern/index-3e68f8db.d.ts → shared-4cd3936b.d.ts} +50 -16
  349. package/shared.d.ts +4 -0
  350. package/shared.js +20 -0
  351. package/src/collapsible.ts +10 -0
  352. package/src/components/primary-tablist/Component.collapsible.desktop.tsx +11 -0
  353. package/src/components/primary-tablist/Component.collapsible.mobile.tsx +27 -0
  354. package/src/components/primary-tablist/Component.collapsible.responsive.tsx +34 -0
  355. package/src/components/primary-tablist/Component.collapsible.tsx +132 -0
  356. package/src/components/primary-tablist/Component.desktop.tsx +11 -0
  357. package/src/components/primary-tablist/Component.mobile.tsx +20 -0
  358. package/src/components/primary-tablist/Component.responsive.tsx +34 -0
  359. package/src/components/primary-tablist/Component.tsx +74 -0
  360. package/src/components/primary-tablist/index.module.css +181 -0
  361. package/src/components/primary-tablist/mobile.module.css +20 -0
  362. package/src/components/scrollable-container/Component.tsx +66 -0
  363. package/src/components/scrollable-container/index.module.css +26 -0
  364. package/src/components/scrollable-container/index.ts +1 -0
  365. package/src/components/secondary-tablist/Component.desktop.tsx +24 -0
  366. package/src/components/secondary-tablist/Component.mobile.tsx +31 -0
  367. package/src/components/secondary-tablist/Component.responsive.tsx +24 -0
  368. package/src/components/secondary-tablist/Component.tsx +70 -0
  369. package/src/components/secondary-tablist/index.module.css +49 -0
  370. package/src/components/secondary-tablist/mobile.module.css +11 -0
  371. package/src/components/tab/Component.tsx +25 -0
  372. package/src/components/tab/index.module.css +7 -0
  373. package/src/components/tab/index.ts +1 -0
  374. package/src/components/tabs/Component.collabsible.desktop.tsx +15 -0
  375. package/src/components/tabs/Component.collapsible.mobile.tsx +15 -0
  376. package/src/components/tabs/Component.collapsible.responsive.tsx +12 -0
  377. package/src/components/tabs/Component.desktop.tsx +26 -0
  378. package/src/components/tabs/Component.mobile.tsx +20 -0
  379. package/src/components/tabs/Component.responsive.tsx +20 -0
  380. package/src/components/tabs/Component.tsx +67 -0
  381. package/src/components/title/Component.tsx +51 -0
  382. package/src/components/title/index.ts +1 -0
  383. package/src/desktop.ts +4 -0
  384. package/src/hooks/use-collapsible-elements.ts +69 -0
  385. package/src/hooks/use-tablist-titles.ts +91 -0
  386. package/src/hooks/use-tabs.tsx +129 -0
  387. package/src/index.ts +7 -0
  388. package/src/mobile.ts +4 -0
  389. package/src/shared.ts +4 -0
  390. package/src/synthetic-events.ts +70 -0
  391. package/src/typings.ts +187 -0
  392. package/src/vars.css +68 -0
  393. package/types-4480ac4f.d.ts +3 -0
  394. package/typings-5e1b8383.d.ts +2 -1
  395. package/typings-9211a437.d.ts +95 -0
  396. package/typings.d.ts +11 -10
  397. package/Component-2aef4eba.d.ts +0 -50
  398. package/Component-3885b0d7.d.ts +0 -71
  399. package/Component-3ebe4754.d.ts +0 -176
  400. package/Component.mobile-b2c0420d.d.ts +0 -35
  401. package/Component.responsive-2aef4eba.d.ts +0 -30
  402. package/component-3885b0d7.d.ts +0 -43
  403. package/cssm/Component-2aef4eba.d.ts +0 -50
  404. package/cssm/Component-3885b0d7.d.ts +0 -71
  405. package/cssm/Component-3ebe4754.d.ts +0 -176
  406. package/cssm/Component.mobile-b2c0420d.d.ts +0 -35
  407. package/cssm/Component.responsive-2aef4eba.d.ts +0 -30
  408. package/cssm/component-3885b0d7.d.ts +0 -43
  409. package/cssm/index-2aef4eba.d.ts +0 -5
  410. package/cssm/index-3885b0d7.d.ts +0 -3
  411. package/cssm/index-3ebe4754.d.ts +0 -1
  412. package/cssm/index-701e77da.d.ts +0 -4
  413. package/cssm/responsive.d.ts +0 -8
  414. package/cssm/responsive.js +0 -47
  415. package/cssm/types-ebda875c.d.ts +0 -113
  416. package/cssm/types-fae20163.d.ts +0 -227
  417. package/cssm/utils-b64479aa.d.ts +0 -8
  418. package/esm/Component-2aef4eba.d.ts +0 -50
  419. package/esm/Component-3885b0d7.d.ts +0 -71
  420. package/esm/Component-3ebe4754.d.ts +0 -176
  421. package/esm/Component.mobile-b2c0420d.d.ts +0 -35
  422. package/esm/Component.responsive-2aef4eba.d.ts +0 -30
  423. package/esm/component-3885b0d7.d.ts +0 -43
  424. package/esm/index-2aef4eba.d.ts +0 -5
  425. package/esm/index-3885b0d7.d.ts +0 -3
  426. package/esm/index-3ebe4754.d.ts +0 -1
  427. package/esm/index-701e77da.d.ts +0 -4
  428. package/esm/index.module-09cc006f.js +0 -4
  429. package/esm/index.module-a8ec81ea.js +0 -4
  430. package/esm/responsive.d.ts +0 -8
  431. package/esm/responsive.js +0 -29
  432. package/esm/types-ebda875c.d.ts +0 -113
  433. package/esm/types-fae20163.d.ts +0 -227
  434. package/esm/utils-b64479aa.d.ts +0 -8
  435. package/index-2aef4eba.d.ts +0 -5
  436. package/index-3885b0d7.d.ts +0 -3
  437. package/index-3ebe4754.d.ts +0 -1
  438. package/index-701e77da.d.ts +0 -4
  439. package/index.module-489cc8bc.js +0 -6
  440. package/index.module-728b55ca.js +0 -6
  441. package/modern/Component-2aef4eba.d.ts +0 -50
  442. package/modern/Component-3885b0d7.d.ts +0 -71
  443. package/modern/Component-3ebe4754.d.ts +0 -176
  444. package/modern/Component.mobile-b2c0420d.d.ts +0 -35
  445. package/modern/Component.responsive-2aef4eba.d.ts +0 -30
  446. package/modern/component-3885b0d7.d.ts +0 -43
  447. package/modern/index-2aef4eba.d.ts +0 -5
  448. package/modern/index-3885b0d7.d.ts +0 -3
  449. package/modern/index-3ebe4754.d.ts +0 -1
  450. package/modern/index-701e77da.d.ts +0 -4
  451. package/modern/index.module-75cf2354.js +0 -4
  452. package/modern/index.module-77d8ef59.js +0 -4
  453. package/modern/responsive.d.ts +0 -8
  454. package/modern/responsive.js +0 -28
  455. package/modern/types-ebda875c.d.ts +0 -113
  456. package/modern/types-fae20163.d.ts +0 -227
  457. package/modern/utils-b64479aa.d.ts +0 -8
  458. package/responsive.d.ts +0 -8
  459. package/responsive.js +0 -43
  460. package/types-ebda875c.d.ts +0 -113
  461. package/types-fae20163.d.ts +0 -227
  462. package/utils-b64479aa.d.ts +0 -8
@@ -0,0 +1,26 @@
1
+ export { TabsCollapsibleResponsive as TabsCollapsible } from './components/tabs/Component.collapsible.responsive.js';
2
+ export { TabsCollapsibleDesktop } from './components/tabs/Component.collabsible.desktop.js';
3
+ export { TabsCollapsibleMobile } from './components/tabs/Component.collapsible.mobile.js';
4
+ export { CollapsiblePrimaryTabListResponsive } from './components/primary-tablist/Component.collapsible.responsive.js';
5
+ export { CollapsiblePrimaryTabListDesktop } from './components/primary-tablist/Component.collapsible.desktop.js';
6
+ export { CollapsiblePrimaryTabListMobile } from './components/primary-tablist/Component.collapsible.mobile.js';
7
+ export { Tab } from './components/tab/Component.js';
8
+ import 'tslib';
9
+ import 'react';
10
+ import './components/tabs/Component.js';
11
+ import '@alfalab/core-components-mq/esm';
12
+ import './components/primary-tablist/Component.collapsible.js';
13
+ import 'classnames';
14
+ import '@alfalab/core-components-badge/esm';
15
+ import '@alfalab/core-components-keyboard-focusable/esm';
16
+ import '@alfalab/core-components-picker-button/esm/desktop';
17
+ import './hooks/use-tablist-titles.js';
18
+ import './hooks/use-collapsible-elements.js';
19
+ import '@juggle/resize-observer';
20
+ import '@alfalab/hooks';
21
+ import './hooks/use-tabs.js';
22
+ import '@alfalab/core-components-shared/esm';
23
+ import './synthetic-events.js';
24
+ import './components/title/Component.js';
25
+ import './index.module-2bed7b44.js';
26
+ import './mobile.module-d8a1b124.js';
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { Styles, TabListProps } from "../../typings";
4
+ declare const CollapsiblePrimaryTabList: ({ size, className, containerClassName, titles, styles, selectedId, collapsedTabsIds, fullWidthScroll, onChange, dataTestId, breakpoint, defaultMatchMediaValue, }: TabListProps & Styles) => React.JSX.Element;
5
+ export { CollapsiblePrimaryTabList };
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { TabListProps } from "../../typings";
4
+ declare const CollapsiblePrimaryTabListDesktop: ({ size, ...restProps }: TabListProps) => React.JSX.Element;
5
+ export { CollapsiblePrimaryTabListDesktop };
@@ -0,0 +1,24 @@
1
+ import { __rest, __assign } from 'tslib';
2
+ import React from 'react';
3
+ import { CollapsiblePrimaryTabList } from './Component.collapsible.js';
4
+ import { c as commonStyles } from '../../index.module-2bed7b44.js';
5
+ import 'classnames';
6
+ import '@alfalab/core-components-badge/esm';
7
+ import '@alfalab/core-components-keyboard-focusable/esm';
8
+ import '@alfalab/core-components-picker-button/esm/desktop';
9
+ import '../../hooks/use-tablist-titles.js';
10
+ import '@alfalab/core-components-mq/esm';
11
+ import '../../hooks/use-collapsible-elements.js';
12
+ import '@juggle/resize-observer';
13
+ import '@alfalab/hooks';
14
+ import '../../hooks/use-tabs.js';
15
+ import '@alfalab/core-components-shared/esm';
16
+ import '../../synthetic-events.js';
17
+ import '../title/Component.js';
18
+
19
+ var CollapsiblePrimaryTabListDesktop = function (_a) {
20
+ var _b = _a.size, size = _b === void 0 ? 'm' : _b, restProps = __rest(_a, ["size"]);
21
+ return (React.createElement(CollapsiblePrimaryTabList, __assign({}, restProps, { size: size, styles: commonStyles })));
22
+ };
23
+
24
+ export { CollapsiblePrimaryTabListDesktop };
@@ -0,0 +1,72 @@
1
+ import { __assign, __rest } from 'tslib';
2
+ import React, { useRef, useEffect, useMemo } from 'react';
3
+ import cn from 'classnames';
4
+ import { Badge } from '@alfalab/core-components-badge/esm';
5
+ import { KeyboardFocusable } from '@alfalab/core-components-keyboard-focusable/esm';
6
+ import { PickerButtonDesktop } from '@alfalab/core-components-picker-button/esm/desktop';
7
+ import { useTablistTitles } from '../../hooks/use-tablist-titles.js';
8
+ import { createSyntheticMouseEvent } from '../../synthetic-events.js';
9
+ import { Title } from '../title/Component.js';
10
+ import '@alfalab/core-components-mq/esm';
11
+ import '../../hooks/use-collapsible-elements.js';
12
+ import '@juggle/resize-observer';
13
+ import '@alfalab/hooks';
14
+ import '../../hooks/use-tabs.js';
15
+ import '@alfalab/core-components-shared/esm';
16
+
17
+ var DEFAULT_STYLES = {};
18
+ var CollapsiblePrimaryTabList = function (_a) {
19
+ var size = _a.size, className = _a.className, containerClassName = _a.containerClassName, _b = _a.titles, titles = _b === void 0 ? [] : _b, _c = _a.styles, styles = _c === void 0 ? DEFAULT_STYLES : _c, _d = _a.selectedId, selectedId = _d === void 0 ? titles.length ? titles[0].id : undefined : _d, collapsedTabsIds = _a.collapsedTabsIds, fullWidthScroll = _a.fullWidthScroll, onChange = _a.onChange, dataTestId = _a.dataTestId, _e = _a.breakpoint, breakpoint = _e === void 0 ? 768 : _e, defaultMatchMediaValue = _a.defaultMatchMediaValue;
20
+ var lineRef = useRef(null);
21
+ var _f = useTablistTitles({
22
+ titles: titles,
23
+ selectedId: selectedId,
24
+ collapsedTabsIds: collapsedTabsIds,
25
+ breakpoint: breakpoint,
26
+ onChange: onChange,
27
+ defaultMatchMediaValue: defaultMatchMediaValue,
28
+ }), containerRef = _f.containerRef, addonRef = _f.addonRef, tablistTitles = _f.tablistTitles, selectedTab = _f.selectedTab, getTabListItemProps = _f.getTabListItemProps;
29
+ useEffect(function () {
30
+ if (selectedTab && lineRef.current) {
31
+ lineRef.current.style.width = "".concat(selectedTab.offsetWidth, "px");
32
+ lineRef.current.style.transform = "translateX(".concat(selectedTab.offsetLeft, "px)");
33
+ }
34
+ }, [selectedTab, tablistTitles]);
35
+ var collapsedOptions = useMemo(function () {
36
+ return tablistTitles.reduce(function (options, title) {
37
+ if (title.collapsed) {
38
+ options.push({
39
+ key: title.title,
40
+ value: title.id,
41
+ content: React.createElement(Title, __assign({}, title, { styles: styles, isOption: true })),
42
+ });
43
+ }
44
+ return options;
45
+ }, []);
46
+ }, [tablistTitles, styles]);
47
+ var collapsedAddonsLength = tablistTitles.filter(function (title) { return title.collapsed && title.rightAddons; }).length;
48
+ var handleOptionsChange = function (payload) {
49
+ var _a;
50
+ if (((_a = payload.selected) === null || _a === void 0 ? void 0 : _a.value) && onChange) {
51
+ var nativeMouseEvent = new MouseEvent('change');
52
+ var syntheticMouseEvent = createSyntheticMouseEvent(nativeMouseEvent);
53
+ onChange(syntheticMouseEvent, { selectedId: payload.selected.value });
54
+ }
55
+ };
56
+ var renderContent = function () {
57
+ var _a;
58
+ return (React.createElement("div", { role: 'tablist', "data-test-id": dataTestId, className: cn(styles.component, className, size && styles[size], (_a = {},
59
+ _a[styles.fullWidthScroll] = fullWidthScroll,
60
+ _a)) },
61
+ tablistTitles.map(function (_a, index) {
62
+ _a.dataTestId; var restTitleProps = __rest(_a, ["dataTestId"]);
63
+ return (React.createElement(KeyboardFocusable, { key: restTitleProps.id }, function (ref, focused) { return (React.createElement(Title, __assign({}, getTabListItemProps(index, ref), restTitleProps, { focused: focused, styles: styles }))); }));
64
+ }),
65
+ collapsedOptions.length ? (React.createElement("span", { ref: addonRef, role: 'menu', className: styles.pickerWrapper },
66
+ React.createElement(PickerButtonDesktop, { fieldClassName: styles.title, optionClassName: cn(styles.pickerOption, size && styles[size]), options: collapsedOptions, onChange: handleOptionsChange, rightAddons: collapsedAddonsLength ? (React.createElement(Badge, { view: 'count', content: collapsedAddonsLength })) : null, size: 'l', view: 'ghost', label: '\u0415\u0449\u0451', popoverPosition: 'bottom-end' }))) : null,
67
+ React.createElement("div", { className: styles.line, ref: lineRef })));
68
+ };
69
+ return (React.createElement("div", { ref: containerRef, className: cn(styles.container, containerClassName) }, renderContent()));
70
+ };
71
+
72
+ export { CollapsiblePrimaryTabList };
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { TabListProps } from "../../typings";
4
+ type CollapsiblePrimaryTabListMobileProps = Omit<TabListProps, 'size'>;
5
+ declare const CollapsiblePrimaryTabListMobile: ({ className, ...restProps }: CollapsiblePrimaryTabListMobileProps) => React.JSX.Element;
6
+ export { CollapsiblePrimaryTabListMobileProps, CollapsiblePrimaryTabListMobile };
@@ -0,0 +1,26 @@
1
+ import { __assign, __rest } from 'tslib';
2
+ import React from 'react';
3
+ import cn from 'classnames';
4
+ import { CollapsiblePrimaryTabList } from './Component.collapsible.js';
5
+ import { c as commonStyles } from '../../index.module-2bed7b44.js';
6
+ import { m as mobileStyles } from '../../mobile.module-d8a1b124.js';
7
+ import '@alfalab/core-components-badge/esm';
8
+ import '@alfalab/core-components-keyboard-focusable/esm';
9
+ import '@alfalab/core-components-picker-button/esm/desktop';
10
+ import '../../hooks/use-tablist-titles.js';
11
+ import '@alfalab/core-components-mq/esm';
12
+ import '../../hooks/use-collapsible-elements.js';
13
+ import '@juggle/resize-observer';
14
+ import '@alfalab/hooks';
15
+ import '../../hooks/use-tabs.js';
16
+ import '@alfalab/core-components-shared/esm';
17
+ import '../../synthetic-events.js';
18
+ import '../title/Component.js';
19
+
20
+ var styles = __assign(__assign({}, commonStyles), mobileStyles);
21
+ var CollapsiblePrimaryTabListMobile = function (_a) {
22
+ var className = _a.className, restProps = __rest(_a, ["className"]);
23
+ return (React.createElement(CollapsiblePrimaryTabList, __assign({}, restProps, { styles: styles, className: cn(className, styles.mobile) })));
24
+ };
25
+
26
+ export { CollapsiblePrimaryTabListMobile };
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { TabListProps } from "../../typings";
4
+ declare const CollapsiblePrimaryTabListResponsive: ({ size, fullWidthScroll, breakpoint, defaultMatchMediaValue, ...restProps }: TabListProps) => React.JSX.Element;
5
+ export { CollapsiblePrimaryTabListResponsive };
@@ -0,0 +1,28 @@
1
+ import { __rest, __assign } from 'tslib';
2
+ import React from 'react';
3
+ import { useMatchMedia } from '@alfalab/core-components-mq/esm';
4
+ import { CollapsiblePrimaryTabListDesktop } from './Component.collapsible.desktop.js';
5
+ import { CollapsiblePrimaryTabListMobile } from './Component.collapsible.mobile.js';
6
+ import './Component.collapsible.js';
7
+ import 'classnames';
8
+ import '@alfalab/core-components-badge/esm';
9
+ import '@alfalab/core-components-keyboard-focusable/esm';
10
+ import '@alfalab/core-components-picker-button/esm/desktop';
11
+ import '../../hooks/use-tablist-titles.js';
12
+ import '../../hooks/use-collapsible-elements.js';
13
+ import '@juggle/resize-observer';
14
+ import '@alfalab/hooks';
15
+ import '../../hooks/use-tabs.js';
16
+ import '@alfalab/core-components-shared/esm';
17
+ import '../../synthetic-events.js';
18
+ import '../title/Component.js';
19
+ import '../../index.module-2bed7b44.js';
20
+ import '../../mobile.module-d8a1b124.js';
21
+
22
+ var CollapsiblePrimaryTabListResponsive = function (_a) {
23
+ var size = _a.size, fullWidthScroll = _a.fullWidthScroll, _b = _a.breakpoint, breakpoint = _b === void 0 ? 768 : _b, defaultMatchMediaValue = _a.defaultMatchMediaValue, restProps = __rest(_a, ["size", "fullWidthScroll", "breakpoint", "defaultMatchMediaValue"]);
24
+ var isDesktop = useMatchMedia("(min-width: ".concat(breakpoint, "px)"), defaultMatchMediaValue)[0];
25
+ return isDesktop ? (React.createElement(CollapsiblePrimaryTabListDesktop, __assign({ size: size, defaultMatchMediaValue: defaultMatchMediaValue, breakpoint: breakpoint }, restProps))) : (React.createElement(CollapsiblePrimaryTabListMobile, __assign({ fullWidthScroll: fullWidthScroll, defaultMatchMediaValue: defaultMatchMediaValue, breakpoint: breakpoint }, restProps)));
26
+ };
27
+
28
+ export { CollapsiblePrimaryTabListResponsive };
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
+ import React from 'react';
2
3
  import { Styles, TabListProps } from "../../typings";
3
- declare const PrimaryTabList: ({ size, styles, className, containerClassName, titles, selectedId, scrollable, collapsible, collapsedTabsIds, fullWidthScroll, onChange, dataTestId, breakpoint, }: TabListProps & Styles) => JSX.Element;
4
+ declare const PrimaryTabList: ({ size, styles, className, containerClassName, titles, selectedId, scrollable, fullWidthScroll, onChange, dataTestId, }: TabListProps & Styles) => React.JSX.Element;
4
5
  export { PrimaryTabList };
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
+ import React from 'react';
2
3
  import { TabListProps } from "../../typings";
3
- declare const PrimaryTabListDesktop: ({ size, ...restProps }: TabListProps) => JSX.Element;
4
+ declare const PrimaryTabListDesktop: ({ size, ...restProps }: TabListProps) => React.JSX.Element;
4
5
  export { PrimaryTabListDesktop };
@@ -1,17 +1,11 @@
1
1
  import { __rest, __assign } from 'tslib';
2
2
  import React from 'react';
3
3
  import { PrimaryTabList } from './Component.js';
4
- import { c as commonStyles } from '../../index.module-a8ec81ea.js';
4
+ import { c as commonStyles } from '../../index.module-2bed7b44.js';
5
5
  import 'classnames';
6
- import '@alfalab/core-components-badge/esm';
7
6
  import '@alfalab/core-components-keyboard-focusable/esm';
8
- import '@alfalab/core-components-picker-button/esm/desktop';
9
- import '../../hooks/use-tablist-titles.js';
10
- import '@alfalab/hooks';
11
- import '../../hooks/use-collapsible-elements.js';
12
- import '@juggle/resize-observer';
13
7
  import '../../hooks/use-tabs.js';
14
- import '../../synthetic-events.js';
8
+ import '@alfalab/core-components-shared/esm';
15
9
  import '../scrollable-container/Component.js';
16
10
  import 'compute-scroll-into-view';
17
11
  import '../title/Component.js';
@@ -1,71 +1,39 @@
1
- import { __assign, __rest } from 'tslib';
2
- import React, { useRef, useEffect, useMemo } from 'react';
1
+ import { __rest, __assign } from 'tslib';
2
+ import React, { useRef, useEffect } from 'react';
3
3
  import cn from 'classnames';
4
- import { Badge } from '@alfalab/core-components-badge/esm';
5
4
  import { KeyboardFocusable } from '@alfalab/core-components-keyboard-focusable/esm';
6
- import { PickerButtonDesktop } from '@alfalab/core-components-picker-button/esm/desktop';
7
- import { useTablistTitles } from '../../hooks/use-tablist-titles.js';
8
- import { createSyntheticMouseEvent } from '../../synthetic-events.js';
5
+ import { useTabs } from '../../hooks/use-tabs.js';
9
6
  import { ScrollableContainer } from '../scrollable-container/Component.js';
10
7
  import { Title } from '../title/Component.js';
11
- import '@alfalab/hooks';
12
- import '../../hooks/use-collapsible-elements.js';
13
- import '@juggle/resize-observer';
14
- import '../../hooks/use-tabs.js';
8
+ import '@alfalab/core-components-shared/esm';
15
9
  import 'compute-scroll-into-view';
16
10
 
17
11
  var PrimaryTabList = function (_a) {
18
- var size = _a.size, _b = _a.styles, styles = _b === void 0 ? {} : _b, className = _a.className, containerClassName = _a.containerClassName, _c = _a.titles, titles = _c === void 0 ? [] : _c, _d = _a.selectedId, selectedId = _d === void 0 ? titles.length ? titles[0].id : undefined : _d, _e = _a.scrollable, scrollable = _e === void 0 ? true : _e, collapsible = _a.collapsible, collapsedTabsIds = _a.collapsedTabsIds, fullWidthScroll = _a.fullWidthScroll, onChange = _a.onChange, dataTestId = _a.dataTestId, _f = _a.breakpoint, breakpoint = _f === void 0 ? 1024 : _f;
12
+ var size = _a.size, _b = _a.styles, styles = _b === void 0 ? {} : _b, className = _a.className, containerClassName = _a.containerClassName, _c = _a.titles, titles = _c === void 0 ? [] : _c, _d = _a.selectedId, selectedId = _d === void 0 ? titles.length ? titles[0].id : undefined : _d, _e = _a.scrollable, scrollable = _e === void 0 ? true : _e, fullWidthScroll = _a.fullWidthScroll, onChange = _a.onChange, dataTestId = _a.dataTestId;
19
13
  var lineRef = useRef(null);
20
- var _g = useTablistTitles({
14
+ var _f = useTabs({
21
15
  titles: titles,
22
16
  selectedId: selectedId,
23
- collapsible: collapsible,
24
- collapsedTabsIds: collapsedTabsIds,
25
- breakpoint: breakpoint,
26
17
  onChange: onChange,
27
- }), containerRef = _g.containerRef, addonRef = _g.addonRef, tablistTitles = _g.tablistTitles, selectedTab = _g.selectedTab, focusedTab = _g.focusedTab, getTabListItemProps = _g.getTabListItemProps;
18
+ }), selectedTab = _f.selectedTab, focusedTab = _f.focusedTab, getTabListItemProps = _f.getTabListItemProps;
28
19
  useEffect(function () {
29
20
  if (selectedTab && lineRef.current) {
30
21
  lineRef.current.style.width = "".concat(selectedTab.offsetWidth, "px");
31
22
  lineRef.current.style.transform = "translateX(".concat(selectedTab.offsetLeft, "px)");
32
23
  }
33
- }, [selectedTab, tablistTitles]);
34
- var collapsedOptions = useMemo(function () {
35
- return tablistTitles.reduce(function (options, title) {
36
- if (title.collapsed) {
37
- options.push({
38
- key: title.title,
39
- value: title.id,
40
- content: React.createElement(Title, __assign({}, title, { styles: styles, isOption: true })),
41
- });
42
- }
43
- return options;
44
- }, []);
45
- }, [tablistTitles, styles]);
46
- var collapsedAddonsLength = tablistTitles.filter(function (title) { return title.collapsed && title.rightAddons; }).length;
47
- var handleOptionsChange = function (payload) {
48
- var _a;
49
- if (((_a = payload.selected) === null || _a === void 0 ? void 0 : _a.value) && onChange) {
50
- var nativeMouseEvent = new MouseEvent('change');
51
- var syntheticMouseEvent = createSyntheticMouseEvent(nativeMouseEvent);
52
- onChange(syntheticMouseEvent, { selectedId: payload.selected.value });
53
- }
54
- };
24
+ }, [selectedTab]);
55
25
  var renderContent = function () {
56
26
  var _a;
57
27
  return (React.createElement("div", { role: 'tablist', "data-test-id": dataTestId, className: cn(styles.component, className, size && styles[size], (_a = {},
58
28
  _a[styles.fullWidthScroll] = fullWidthScroll,
59
29
  _a)) },
60
- tablistTitles.map(function (_a, index) {
30
+ titles.map(function (_a, index) {
61
31
  _a.dataTestId; var restTitleProps = __rest(_a, ["dataTestId"]);
62
32
  return (React.createElement(KeyboardFocusable, { key: restTitleProps.id }, function (ref, focused) { return (React.createElement(Title, __assign({}, getTabListItemProps(index, ref), restTitleProps, { focused: focused, styles: styles }))); }));
63
33
  }),
64
- collapsedOptions.length ? (React.createElement("span", { ref: addonRef, role: 'menu', className: styles.pickerWrapper },
65
- React.createElement(PickerButtonDesktop, { fieldClassName: styles.title, optionClassName: cn(styles.pickerOption, size && styles[size]), options: collapsedOptions, onChange: handleOptionsChange, rightAddons: collapsedAddonsLength ? (React.createElement(Badge, { view: 'count', content: collapsedAddonsLength })) : null, size: 'l', view: 'ghost', label: '\u0415\u0449\u0451', popoverPosition: 'bottom-end' }))) : null,
66
34
  React.createElement("div", { className: styles.line, ref: lineRef })));
67
35
  };
68
- return scrollable && !collapsible ? (React.createElement(ScrollableContainer, { activeChild: focusedTab || selectedTab, containerClassName: containerClassName, fullWidthScroll: fullWidthScroll }, renderContent())) : (React.createElement("div", { ref: containerRef, className: cn(styles.container, containerClassName) }, renderContent()));
36
+ return scrollable ? (React.createElement(ScrollableContainer, { activeChild: focusedTab || selectedTab, containerClassName: containerClassName, fullWidthScroll: fullWidthScroll }, renderContent())) : (React.createElement("div", { className: cn(styles.container, containerClassName) }, renderContent()));
69
37
  };
70
38
 
71
39
  export { PrimaryTabList };
@@ -1,5 +1,6 @@
1
1
  /// <reference types="react" />
2
+ import React from 'react';
2
3
  import { TabListProps } from "../../typings";
3
- type PrimaryTabListMobileProps = Omit<TabListProps, 'size'>;
4
- declare const PrimaryTabListMobile: ({ className, ...restProps }: PrimaryTabListMobileProps) => JSX.Element;
4
+ type PrimaryTabListMobileProps = Omit<TabListProps, 'size' | 'collapsedTabsIds'>;
5
+ declare const PrimaryTabListMobile: ({ className, ...restProps }: PrimaryTabListMobileProps) => React.JSX.Element;
5
6
  export { PrimaryTabListMobileProps, PrimaryTabListMobile };
@@ -2,23 +2,15 @@ import { __assign, __rest } from 'tslib';
2
2
  import React from 'react';
3
3
  import cn from 'classnames';
4
4
  import { PrimaryTabList } from './Component.js';
5
- import { c as commonStyles } from '../../index.module-a8ec81ea.js';
6
- import '@alfalab/core-components-badge/esm';
5
+ import { c as commonStyles } from '../../index.module-2bed7b44.js';
6
+ import { m as mobileStyles } from '../../mobile.module-d8a1b124.js';
7
7
  import '@alfalab/core-components-keyboard-focusable/esm';
8
- import '@alfalab/core-components-picker-button/esm/desktop';
9
- import '../../hooks/use-tablist-titles.js';
10
- import '@alfalab/hooks';
11
- import '../../hooks/use-collapsible-elements.js';
12
- import '@juggle/resize-observer';
13
8
  import '../../hooks/use-tabs.js';
14
- import '../../synthetic-events.js';
9
+ import '@alfalab/core-components-shared/esm';
15
10
  import '../scrollable-container/Component.js';
16
11
  import 'compute-scroll-into-view';
17
12
  import '../title/Component.js';
18
13
 
19
- var mobileStyles = {"title":"tabs__title_122wz tabs__title_ibntg","mobile":"tabs__mobile_122wz"};
20
- require('./mobile.css')
21
-
22
14
  var styles = __assign(__assign({}, commonStyles), mobileStyles);
23
15
  var PrimaryTabListMobile = function (_a) {
24
16
  var className = _a.className, restProps = __rest(_a, ["className"]);
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
+ import React from 'react';
2
3
  import { TabListProps } from "../../typings";
3
- declare const PrimaryTabListResponsive: ({ size, defaultMatch, collapsible, collapsedTabsIds, fullWidthScroll, ...restProps }: TabListProps) => JSX.Element;
4
+ declare const PrimaryTabListResponsive: ({ size, breakpoint, fullWidthScroll, defaultMatchMediaValue, ...restProps }: TabListProps) => React.JSX.Element;
4
5
  export { PrimaryTabListResponsive };
@@ -1,30 +1,23 @@
1
1
  import { __rest, __assign } from 'tslib';
2
2
  import React from 'react';
3
- import { useMedia } from '@alfalab/hooks';
3
+ import { useMatchMedia } from '@alfalab/core-components-mq/esm';
4
4
  import { PrimaryTabListDesktop } from './Component.desktop.js';
5
5
  import { PrimaryTabListMobile } from './Component.mobile.js';
6
6
  import './Component.js';
7
7
  import 'classnames';
8
- import '@alfalab/core-components-badge/esm';
9
8
  import '@alfalab/core-components-keyboard-focusable/esm';
10
- import '@alfalab/core-components-picker-button/esm/desktop';
11
- import '../../hooks/use-tablist-titles.js';
12
- import '../../hooks/use-collapsible-elements.js';
13
- import '@juggle/resize-observer';
14
9
  import '../../hooks/use-tabs.js';
15
- import '../../synthetic-events.js';
10
+ import '@alfalab/core-components-shared/esm';
16
11
  import '../scrollable-container/Component.js';
17
12
  import 'compute-scroll-into-view';
18
13
  import '../title/Component.js';
19
- import '../../index.module-a8ec81ea.js';
14
+ import '../../index.module-2bed7b44.js';
15
+ import '../../mobile.module-d8a1b124.js';
20
16
 
21
17
  var PrimaryTabListResponsive = function (_a) {
22
- var size = _a.size, _b = _a.defaultMatch, defaultMatch = _b === void 0 ? 'desktop' : _b, collapsible = _a.collapsible, collapsedTabsIds = _a.collapsedTabsIds, fullWidthScroll = _a.fullWidthScroll, restProps = __rest(_a, ["size", "defaultMatch", "collapsible", "collapsedTabsIds", "fullWidthScroll"]);
23
- var view = useMedia([
24
- ['mobile', '(max-width: 767px)'],
25
- ['desktop', '(min-width: 768px)'],
26
- ], defaultMatch)[0];
27
- return view === 'desktop' ? (React.createElement(PrimaryTabListDesktop, __assign({ collapsible: collapsible, collapsedTabsIds: collapsedTabsIds, size: size }, restProps))) : (React.createElement(PrimaryTabListMobile, __assign({ fullWidthScroll: fullWidthScroll }, restProps)));
18
+ var size = _a.size, _b = _a.breakpoint, breakpoint = _b === void 0 ? 768 : _b, fullWidthScroll = _a.fullWidthScroll, defaultMatchMediaValue = _a.defaultMatchMediaValue, restProps = __rest(_a, ["size", "breakpoint", "fullWidthScroll", "defaultMatchMediaValue"]);
19
+ var isDesktop = useMatchMedia("(min-width: ".concat(breakpoint, "px)"), defaultMatchMediaValue)[0];
20
+ return isDesktop ? (React.createElement(PrimaryTabListDesktop, __assign({ breakpoint: breakpoint, size: size, defaultMatchMediaValue: defaultMatchMediaValue }, restProps))) : (React.createElement(PrimaryTabListMobile, __assign({ breakpoint: breakpoint, defaultMatchMediaValue: defaultMatchMediaValue, fullWidthScroll: fullWidthScroll }, restProps)));
28
21
  };
29
22
 
30
23
  export { PrimaryTabListResponsive };
@@ -1,4 +1,4 @@
1
- /* hash: 1pncn */
1
+ /* hash: 1rah1 */
2
2
  :root {
3
3
  } /* deprecated */ :root {
4
4
  --color-light-border-accent: #ef3124;
@@ -83,11 +83,11 @@
83
83
  /* size l */
84
84
 
85
85
  /* size xl */
86
- } .tabs__component_ibntg {
86
+ } .tabs__component_g4zpr {
87
87
  position: relative;
88
88
  display: inline-flex;
89
89
  min-width: 100%
90
- } .tabs__component_ibntg:before {
90
+ } .tabs__component_g4zpr:before {
91
91
  content: '';
92
92
  display: block;
93
93
  position: absolute;
@@ -95,17 +95,17 @@
95
95
  height: 1px;
96
96
  width: 100%;
97
97
  background-color: var(--primary-tablist-bottom-border-color);
98
- } .tabs__fullWidthScroll_ibntg {
98
+ } .tabs__fullWidthScroll_g4zpr {
99
99
  min-width: calc(100% - 2 * var(--gap-m));
100
100
  margin: 0 var(--gap-m);
101
- } .tabs__container_ibntg {
101
+ } .tabs__container_g4zpr {
102
102
  position: relative;
103
103
  overflow: hidden;
104
104
 
105
105
  /* focus-outline fix */
106
106
  margin: var(--gap-2xs-neg) 0 var(--gap-2xs-neg) var(--gap-2xs-neg);
107
107
  padding: var(--gap-2xs) 0 var(--gap-2xs) var(--gap-2xs);
108
- } .tabs__title_ibntg {
108
+ } .tabs__title_g4zpr {
109
109
  display: flex;
110
110
  align-items: center;
111
111
  height: 100%;
@@ -122,76 +122,76 @@
122
122
  user-select: none;
123
123
  cursor: pointer;
124
124
  outline: none
125
- } .tabs__title_ibntg:not(.tabs__disabled_ibntg):hover {
125
+ } .tabs__title_g4zpr:not(.tabs__disabled_g4zpr):hover {
126
126
  color: var(--primary-tablist-hover-color);
127
- } .tabs__focused_ibntg {
127
+ } .tabs__focused_g4zpr {
128
128
  outline: 2px solid var(--focus-color);
129
129
  outline-offset: 2px;
130
- } .tabs__collapsed_ibntg {
130
+ } .tabs__collapsed_g4zpr {
131
131
  order: 99;
132
132
  visibility: collapse;
133
- } .tabs__selected_ibntg {
133
+ } .tabs__selected_g4zpr {
134
134
  cursor: default;
135
135
  color: var(--primary-tablist-selected-color);
136
- } .tabs__disabled_ibntg {
136
+ } .tabs__disabled_g4zpr {
137
137
  cursor: var(--disabled-cursor);
138
138
  color: var(--primary-tablist-disabled-color);
139
- } .tabs__line_ibntg {
139
+ } .tabs__line_g4zpr {
140
140
  position: absolute;
141
141
  height: 3px;
142
142
  bottom: 0;
143
143
  left: 0;
144
144
  background-color: var(--primary-tablist-line-color);
145
145
  transition: transform 0.2s ease, width 0.2s ease;
146
- } /* sizes */ .tabs__s_ibntg .tabs__title_ibntg, .tabs__xs_ibntg .tabs__title_ibntg, .tabs__xxs_ibntg .tabs__title_ibntg {
146
+ } /* sizes */ .tabs__s_g4zpr .tabs__title_g4zpr, .tabs__xs_g4zpr .tabs__title_g4zpr, .tabs__xxs_g4zpr .tabs__title_g4zpr {
147
147
  padding: var(--primary-tablist-s-padding);
148
148
  font-size: var(--primary-tablist-s-font-size);
149
149
  font-weight: var(--primary-tablist-s-font-weight);
150
150
  font-family: var(--primary-tablist-s-font-family);
151
151
  line-height: 24px;
152
- } .tabs__s_ibntg .tabs__title_ibntg + .tabs__title_ibntg, .tabs__xs_ibntg .tabs__title_ibntg + .tabs__title_ibntg, .tabs__xxs_ibntg .tabs__title_ibntg + .tabs__title_ibntg {
152
+ } .tabs__s_g4zpr .tabs__title_g4zpr + .tabs__title_g4zpr, .tabs__xs_g4zpr .tabs__title_g4zpr + .tabs__title_g4zpr, .tabs__xxs_g4zpr .tabs__title_g4zpr + .tabs__title_g4zpr {
153
153
  margin-left: var(--primary-tablist-s-gaps);
154
- } .tabs__s_ibntg .tabs__pickerWrapper_ibntg, .tabs__xs_ibntg .tabs__pickerWrapper_ibntg, .tabs__xxs_ibntg .tabs__pickerWrapper_ibntg {
154
+ } .tabs__s_g4zpr .tabs__pickerWrapper_g4zpr, .tabs__xs_g4zpr .tabs__pickerWrapper_g4zpr, .tabs__xxs_g4zpr .tabs__pickerWrapper_g4zpr {
155
155
  margin-left: var(--primary-tablist-s-gaps);
156
- } .tabs__s_ibntg .tabs__option_ibntg, .tabs__xs_ibntg .tabs__option_ibntg, .tabs__xxs_ibntg .tabs__option_ibntg {
156
+ } .tabs__s_g4zpr .tabs__option_g4zpr, .tabs__xs_g4zpr .tabs__option_g4zpr, .tabs__xxs_g4zpr .tabs__option_g4zpr {
157
157
  padding: 0;
158
- } .tabs__m_ibntg .tabs__title_ibntg {
158
+ } .tabs__m_g4zpr .tabs__title_g4zpr {
159
159
  padding: var(--primary-tablist-m-padding);
160
160
  font-size: var(--primary-tablist-m-font-size);
161
161
  font-weight: var(--primary-tablist-m-font-weight);
162
162
  font-family: var(--primary-tablist-m-font-family);
163
163
  line-height: 24px;
164
- } .tabs__m_ibntg .tabs__title_ibntg + .tabs__title_ibntg {
164
+ } .tabs__m_g4zpr .tabs__title_g4zpr + .tabs__title_g4zpr {
165
165
  margin-left: var(--primary-tablist-m-gaps);
166
- } .tabs__m_ibntg .tabs__pickerWrapper_ibntg {
166
+ } .tabs__m_g4zpr .tabs__pickerWrapper_g4zpr {
167
167
  margin-left: var(--primary-tablist-m-gaps);
168
- } .tabs__m_ibntg .tabs__option_ibntg {
168
+ } .tabs__m_g4zpr .tabs__option_g4zpr {
169
169
  padding: 0;
170
- } .tabs__l_ibntg .tabs__title_ibntg {
170
+ } .tabs__l_g4zpr .tabs__title_g4zpr {
171
171
  padding: var(--primary-tablist-l-padding);
172
172
  font-size: var(--primary-tablist-l-font-size);
173
173
  font-weight: var(--primary-tablist-l-font-weight);
174
174
  font-family: var(--primary-tablist-l-font-family);
175
175
  line-height: 24px;
176
- } .tabs__l_ibntg .tabs__title_ibntg + .tabs__title_ibntg {
176
+ } .tabs__l_g4zpr .tabs__title_g4zpr + .tabs__title_g4zpr {
177
177
  margin-left: var(--primary-tablist-l-gaps);
178
- } .tabs__l_ibntg .tabs__pickerWrapper_ibntg {
178
+ } .tabs__l_g4zpr .tabs__pickerWrapper_g4zpr {
179
179
  margin-left: var(--primary-tablist-l-gaps);
180
- } .tabs__l_ibntg .tabs__option_ibntg {
180
+ } .tabs__l_g4zpr .tabs__option_g4zpr {
181
181
  padding: 0;
182
- } .tabs__xl_ibntg .tabs__title_ibntg {
182
+ } .tabs__xl_g4zpr .tabs__title_g4zpr {
183
183
  padding: var(--primary-tablist-xl-padding);
184
184
  font-size: var(--primary-tablist-xl-font-size);
185
185
  font-weight: var(--primary-tablist-xl-font-weight);
186
186
  font-family: var(--primary-tablist-xl-font-family);
187
187
  line-height: 32px;
188
- } .tabs__xl_ibntg .tabs__title_ibntg + .tabs__title_ibntg {
188
+ } .tabs__xl_g4zpr .tabs__title_g4zpr + .tabs__title_g4zpr {
189
189
  margin-left: var(--primary-tablist-xl-gaps);
190
- } .tabs__xl_ibntg .tabs__pickerWrapper_ibntg {
190
+ } .tabs__xl_g4zpr .tabs__pickerWrapper_g4zpr {
191
191
  margin-left: var(--primary-tablist-xl-gaps);
192
- } .tabs__xl_ibntg .tabs__option_ibntg {
192
+ } .tabs__xl_g4zpr .tabs__option_g4zpr {
193
193
  padding: 0;
194
- } .tabs__rightAddons_ibntg {
194
+ } .tabs__rightAddons_g4zpr {
195
195
  display: flex;
196
196
  justify-content: center;
197
197
  align-items: center;