@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,167 @@
1
+ /// <reference types="react" />
2
+ import React from "react";
3
+ import { FC, ForwardRefExoticComponent, RefAttributes, HTMLAttributes } from "react";
4
+ declare const colors: readonly [
5
+ "tertiary",
6
+ "disabled",
7
+ "accent",
8
+ "primary",
9
+ "attention",
10
+ "positive",
11
+ "secondary",
12
+ "tertiary-inverted",
13
+ "primary-inverted",
14
+ "secondary-inverted",
15
+ "link",
16
+ "negative",
17
+ "static-primary-light",
18
+ "static-secondary-light",
19
+ "static-tertiary-light",
20
+ "static-primary-dark",
21
+ "static-secondary-dark",
22
+ "static-tertiary-dark",
23
+ "static-accent"
24
+ ];
25
+ type Color = (typeof colors)[number];
26
+ type TextElementType = HTMLParagraphElement | HTMLSpanElement | HTMLDivElement;
27
+ type NativeProps = HTMLAttributes<HTMLSpanElement>;
28
+ type TextBaseProps = {
29
+ /**
30
+ * [Вариант начертания](https://core-ds.github.io/core-components/master/?path=/docs/tokens-assets-типографика--docs)
31
+ */
32
+ view?: "primary-large" | "primary-medium" | "primary-small" | "secondary-large" | "secondary-medium" | "secondary-small" | "component" | "caps";
33
+ /**
34
+ * Цвет текста
35
+ */
36
+ color?: Color;
37
+ /**
38
+ * Толщина шрифта
39
+ */
40
+ weight?: "regular" | "medium" | "bold";
41
+ /**
42
+ * Делает цифры моноширинными
43
+ */
44
+ monospaceNumbers?: boolean;
45
+ /**
46
+ * HTML тег
47
+ */
48
+ tag?: "span" | "div";
49
+ /**
50
+ * Css-класс для стилизации (native prop)
51
+ */
52
+ className?: string;
53
+ /**
54
+ * Id компонента для тестов
55
+ */
56
+ dataTestId?: string;
57
+ /**
58
+ * Контент (native prop)
59
+ */
60
+ children?: React.ReactNode;
61
+ /**
62
+ * Добавляет отступы к тэгу 'p'
63
+ */
64
+ defaultMargins?: never;
65
+ /**
66
+ * Количество строк (не поддерживает IE)
67
+ */
68
+ rowLimit?: 1 | 2 | 3;
69
+ };
70
+ type TextPTagProps = Omit<TextBaseProps, "tag" | "defaultMargins"> & {
71
+ tag?: "p";
72
+ defaultMargins?: boolean;
73
+ };
74
+ type TextProps = Omit<NativeProps, "color"> & (TextBaseProps | TextPTagProps);
75
+ type NativeProps$0 = HTMLAttributes<HTMLHeadingElement>;
76
+ type TitleProps = Omit<NativeProps$0, "color"> & {
77
+ /**
78
+ * HTML тег
79
+ */
80
+ tag: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "div";
81
+ /**
82
+ * [Вариант начертания](https://core-ds.github.io/core-components/master/?path=/docs/guidelines-typography--page)
83
+ */
84
+ view?: "xlarge" | "large" | "medium" | "small" | "xsmall";
85
+ /**
86
+ * Цвет текста
87
+ */
88
+ color?: Color;
89
+ /**
90
+ * Толщина шрифта
91
+ */
92
+ weight?: "regular" | "medium" | "bold";
93
+ /**
94
+ * Шрифт текста
95
+ */
96
+ font?: "styrene" | "system";
97
+ /**
98
+ * Добавляет отступы
99
+ */
100
+ defaultMargins?: boolean;
101
+ /**
102
+ * Css-класс для стилизации (native prop)
103
+ */
104
+ className?: string;
105
+ /**
106
+ * Id компонента для тестов
107
+ */
108
+ dataTestId?: string;
109
+ /**
110
+ * Контент (native prop)
111
+ */
112
+ children?: React.ReactNode;
113
+ /**
114
+ * Количество строк (не поддерживает IE)
115
+ */
116
+ rowLimit?: 1 | 2 | 3;
117
+ };
118
+ type TitleMobileProps = Omit<TitleProps, "defaultMargins">;
119
+ declare const Typography: {
120
+ Title: FC<TitleProps>;
121
+ Text: ForwardRefExoticComponent<TextProps & RefAttributes<TextElementType>>;
122
+ TitleResponsive: FC<TitleProps>;
123
+ TitleMobile: FC<TitleMobileProps>;
124
+ };
125
+ declare const typographyPresets: {
126
+ mobile: {
127
+ list: {
128
+ text: {
129
+ primary: {
130
+ tag: string;
131
+ view: string;
132
+ };
133
+ secondary: {
134
+ tag: string;
135
+ color: string;
136
+ view: string;
137
+ };
138
+ };
139
+ };
140
+ };
141
+ };
142
+ declare const TitleResponsive: FC<TitleProps>;
143
+ interface BackArrowAddonProps extends React.HTMLAttributes<HTMLButtonElement> {
144
+ /**
145
+ * Текст после иконки
146
+ */
147
+ text?: string;
148
+ /**
149
+ * Дополнительный класс
150
+ */
151
+ className?: string;
152
+ /**
153
+ * Вид компонента
154
+ */
155
+ view: 'mobile' | 'desktop';
156
+ /**
157
+ * Прозрачность текста
158
+ */
159
+ textOpacity?: number;
160
+ /**
161
+ * Обработчик клика
162
+ */
163
+ onClick?: () => void;
164
+ }
165
+ declare const BackArrowAddon: React.FC<BackArrowAddonProps>;
166
+ export { Typography, typographyPresets, TitleResponsive, BackArrowAddonProps, BackArrowAddon };
167
+ export type { TitleProps, TextProps, Color };
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ import React from "react";
3
+ import { FC, SVGProps } from "react";
4
+ import { PickerButtonSize, PickerButtonVariant } from "./types-4480ac4f";
5
+ import { ButtonProps } from "./index-8b2c2707";
6
+ import { FieldProps as BaseFieldProps } from "./typings-5e1b8383";
7
+ declare const getIcon: (variant: PickerButtonVariant, size: PickerButtonSize) => FC<SVGProps<SVGSVGElement>>;
8
+ type FieldProps = Omit<BaseFieldProps, 'size' | 'hint' | 'success' | 'error' | 'placeholder'> & ButtonProps & {
9
+ buttonSize?: PickerButtonSize;
10
+ buttonVariant?: PickerButtonVariant;
11
+ showArrow?: boolean;
12
+ };
13
+ declare const Field: ({ buttonSize, buttonVariant, view, label, open, multiple, rightAddons, Arrow, innerProps, className, selected, selectedMultiple, setSelectedItems, toggleMenu, valueRenderer, showArrow, labelView, ...restProps }: FieldProps) => React.JSX.Element;
14
+ export { getIcon, Field };
@@ -0,0 +1,38 @@
1
+ /// <reference types="react" />
2
+ import React from "react";
3
+ import { FC } from "react";
4
+ import { BaseButtonProps } from "./typings-9211a437";
5
+ type SpinnerProps = {
6
+ /**
7
+ * Управление видимостью компонента
8
+ */
9
+ visible?: boolean;
10
+ /**
11
+ * Размер компонента
12
+ */
13
+ size?: "xs" | "s" | "m";
14
+ /**
15
+ * Дополнительный класс
16
+ */
17
+ className?: string;
18
+ /**
19
+ * Идентификатор компонента в DOM
20
+ */
21
+ id?: string;
22
+ /**
23
+ * Идентификатор для систем автоматизированного тестирования
24
+ */
25
+ dataTestId?: string;
26
+ /**
27
+ * Палитра, в контексте которой используется спиннер
28
+ */
29
+ colors?: "default" | "inverted";
30
+ };
31
+ declare const Spinner: FC<SpinnerProps>;
32
+ /**
33
+ * Минимальное время отображения лоадера - 500мс,
34
+ * чтобы при быстрых ответах от сервера кнопка не «моргала».
35
+ */
36
+ declare const LOADER_MIN_DISPLAY_INTERVAL = 500;
37
+ declare const BaseButton: React.ForwardRefExoticComponent<BaseButtonProps & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
38
+ export { SpinnerProps, Spinner, LOADER_MIN_DISPLAY_INTERVAL, BaseButton };
@@ -0,0 +1,5 @@
1
+ import { FC } from 'react';
2
+ import { NavigationBarProps } from "./index-e81c389f";
3
+ type HeaderProps = Omit<NavigationBarProps, 'size' | 'view' | 'parentRef'>;
4
+ declare const Header: FC<HeaderProps>;
5
+ export { HeaderProps, Header };
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { AnchorButtonProps, NativeButtonProps } from "./typings-9211a437";
4
+ type ButtonDesktopProps = Partial<AnchorButtonProps | NativeButtonProps>;
5
+ declare const ButtonDesktop: React.ForwardRefExoticComponent<ButtonDesktopProps & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
6
+ export { ButtonDesktopProps, ButtonDesktop };
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { BaseFormControlProps } from "./index-ebda875c";
4
+ type FormControlDesktopProps = Omit<BaseFormControlProps, 'styles' | 'colorStyles'>;
5
+ declare const FormControlDesktop: React.ForwardRefExoticComponent<FormControlDesktopProps & React.RefAttributes<HTMLDivElement>>;
6
+ export { FormControlDesktopProps, FormControlDesktop };
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { AnchorButtonProps, NativeButtonProps } from "./typings-9211a437";
4
+ type ButtonMobileProps = Partial<AnchorButtonProps | NativeButtonProps>;
5
+ declare const ButtonMobile: React.ForwardRefExoticComponent<ButtonMobileProps & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
6
+ export { ButtonMobileProps, ButtonMobile };
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { BaseFormControlProps } from "./index-ebda875c";
4
+ type FormControlMobileProps = Omit<BaseFormControlProps, 'styles' | 'colorStyles'>;
5
+ declare const FormControlMobile: React.ForwardRefExoticComponent<FormControlMobileProps & React.RefAttributes<HTMLDivElement>>;
6
+ export { FormControlMobileProps, FormControlMobile };
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { BaseTagProps } from "./index-ebda875c";
4
+ type TagMobileProps = Omit<BaseTagProps, 'styles'>;
5
+ declare const TagMobile: React.ForwardRefExoticComponent<TagMobileProps & React.RefAttributes<HTMLButtonElement>>;
6
+ export { TagMobileProps, TagMobile };
@@ -0,0 +1,26 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { BaseFormControlProps } from "./index-ebda875c";
4
+ type FormControlProps = Omit<BaseFormControlProps, 'styles' | 'colorStyles'> & {
5
+ /**
6
+ * Контрольная точка, с нее начинается desktop версия
7
+ * @default 1024
8
+ */
9
+ breakpoint?: number;
10
+ /**
11
+ * Значение по-умолчанию для хука useMatchMedia
12
+ */
13
+ defaultMatchMediaValue?: boolean | (() => boolean);
14
+ };
15
+ declare const FormControl: React.ForwardRefExoticComponent<Omit<BaseFormControlProps, "styles" | "colorStyles"> & {
16
+ /**
17
+ * Контрольная точка, с нее начинается desktop версия
18
+ * @default 1024
19
+ */
20
+ breakpoint?: number | undefined;
21
+ /**
22
+ * Значение по-умолчанию для хука useMatchMedia
23
+ */
24
+ defaultMatchMediaValue?: boolean | (() => boolean) | undefined;
25
+ } & React.RefAttributes<HTMLDivElement>>;
26
+ export { FormControlProps, FormControl };
@@ -0,0 +1,7 @@
1
+ export { TabsCollapsibleResponsive as TabsCollapsible, TabsCollapsibleResponsiveProps as TabsCollapsibleProps } from "./components/tabs/Component.collapsible.responsive";
2
+ export * from "./components/tabs/Component.collabsible.desktop";
3
+ export * from "./components/tabs/Component.collapsible.mobile";
4
+ export * from "./components/primary-tablist/Component.collapsible.responsive";
5
+ export * from "./components/primary-tablist/Component.collapsible.desktop";
6
+ export * from "./components/primary-tablist/Component.collapsible.mobile";
7
+ export * from "./components/tab/index";
@@ -0,0 +1,25 @@
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 'react';
9
+ import './components/tabs/Component.js';
10
+ import '@alfalab/core-components-mq/modern';
11
+ import './components/primary-tablist/Component.collapsible.js';
12
+ import 'classnames';
13
+ import '@alfalab/core-components-badge/modern';
14
+ import '@alfalab/core-components-keyboard-focusable/modern';
15
+ import '@alfalab/core-components-picker-button/modern/desktop';
16
+ import './hooks/use-tablist-titles.js';
17
+ import './hooks/use-collapsible-elements.js';
18
+ import '@juggle/resize-observer';
19
+ import '@alfalab/hooks';
20
+ import './hooks/use-tabs.js';
21
+ import '@alfalab/core-components-shared/modern';
22
+ import './synthetic-events.js';
23
+ import './components/title/Component.js';
24
+ import './index.module-264a8450.js';
25
+ import './mobile.module-9693b0a4.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,20 @@
1
+ import React from 'react';
2
+ import { CollapsiblePrimaryTabList } from './Component.collapsible.js';
3
+ import { c as commonStyles } from '../../index.module-264a8450.js';
4
+ import 'classnames';
5
+ import '@alfalab/core-components-badge/modern';
6
+ import '@alfalab/core-components-keyboard-focusable/modern';
7
+ import '@alfalab/core-components-picker-button/modern/desktop';
8
+ import '../../hooks/use-tablist-titles.js';
9
+ import '@alfalab/core-components-mq/modern';
10
+ import '../../hooks/use-collapsible-elements.js';
11
+ import '@juggle/resize-observer';
12
+ import '@alfalab/hooks';
13
+ import '../../hooks/use-tabs.js';
14
+ import '@alfalab/core-components-shared/modern';
15
+ import '../../synthetic-events.js';
16
+ import '../title/Component.js';
17
+
18
+ const CollapsiblePrimaryTabListDesktop = ({ size = 'm', ...restProps }) => (React.createElement(CollapsiblePrimaryTabList, { ...restProps, size: size, styles: commonStyles }));
19
+
20
+ export { CollapsiblePrimaryTabListDesktop };
@@ -0,0 +1,61 @@
1
+ import React, { useRef, useEffect, useMemo } from 'react';
2
+ import cn from 'classnames';
3
+ import { Badge } from '@alfalab/core-components-badge/modern';
4
+ import { KeyboardFocusable } from '@alfalab/core-components-keyboard-focusable/modern';
5
+ import { PickerButtonDesktop } from '@alfalab/core-components-picker-button/modern/desktop';
6
+ import { useTablistTitles } from '../../hooks/use-tablist-titles.js';
7
+ import { createSyntheticMouseEvent } from '../../synthetic-events.js';
8
+ import { Title } from '../title/Component.js';
9
+ import '@alfalab/core-components-mq/modern';
10
+ import '../../hooks/use-collapsible-elements.js';
11
+ import '@juggle/resize-observer';
12
+ import '@alfalab/hooks';
13
+ import '../../hooks/use-tabs.js';
14
+ import '@alfalab/core-components-shared/modern';
15
+
16
+ const DEFAULT_STYLES = {};
17
+ const CollapsiblePrimaryTabList = ({ size, className, containerClassName, titles = [], styles = DEFAULT_STYLES, selectedId = titles.length ? titles[0].id : undefined, collapsedTabsIds, fullWidthScroll, onChange, dataTestId, breakpoint = 768, defaultMatchMediaValue, }) => {
18
+ const lineRef = useRef(null);
19
+ const { containerRef, addonRef, tablistTitles, selectedTab, getTabListItemProps } = useTablistTitles({
20
+ titles,
21
+ selectedId,
22
+ collapsedTabsIds,
23
+ breakpoint,
24
+ onChange,
25
+ defaultMatchMediaValue,
26
+ });
27
+ useEffect(() => {
28
+ if (selectedTab && lineRef.current) {
29
+ lineRef.current.style.width = `${selectedTab.offsetWidth}px`;
30
+ lineRef.current.style.transform = `translateX(${selectedTab.offsetLeft}px)`;
31
+ }
32
+ }, [selectedTab, tablistTitles]);
33
+ const collapsedOptions = useMemo(() => tablistTitles.reduce((options, title) => {
34
+ if (title.collapsed) {
35
+ options.push({
36
+ key: title.title,
37
+ value: title.id,
38
+ content: React.createElement(Title, { ...title, styles: styles, isOption: true }),
39
+ });
40
+ }
41
+ return options;
42
+ }, []), [tablistTitles, styles]);
43
+ const collapsedAddonsLength = tablistTitles.filter((title) => title.collapsed && title.rightAddons).length;
44
+ const handleOptionsChange = (payload) => {
45
+ if (payload.selected?.value && onChange) {
46
+ const nativeMouseEvent = new MouseEvent('change');
47
+ const syntheticMouseEvent = createSyntheticMouseEvent(nativeMouseEvent);
48
+ onChange(syntheticMouseEvent, { selectedId: payload.selected.value });
49
+ }
50
+ };
51
+ const renderContent = () => (React.createElement("div", { role: 'tablist', "data-test-id": dataTestId, className: cn(styles.component, className, size && styles[size], {
52
+ [styles.fullWidthScroll]: fullWidthScroll,
53
+ }) },
54
+ tablistTitles.map(({ dataTestId: _, ...restTitleProps }, index) => (React.createElement(KeyboardFocusable, { key: restTitleProps.id }, (ref, focused) => (React.createElement(Title, { ...getTabListItemProps(index, ref), ...restTitleProps, focused: focused, styles: styles }))))),
55
+ collapsedOptions.length ? (React.createElement("span", { ref: addonRef, role: 'menu', className: styles.pickerWrapper },
56
+ 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,
57
+ React.createElement("div", { className: styles.line, ref: lineRef })));
58
+ return (React.createElement("div", { ref: containerRef, className: cn(styles.container, containerClassName) }, renderContent()));
59
+ };
60
+
61
+ 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,25 @@
1
+ import React from 'react';
2
+ import cn from 'classnames';
3
+ import { CollapsiblePrimaryTabList } from './Component.collapsible.js';
4
+ import { c as commonStyles } from '../../index.module-264a8450.js';
5
+ import { m as mobileStyles } from '../../mobile.module-9693b0a4.js';
6
+ import '@alfalab/core-components-badge/modern';
7
+ import '@alfalab/core-components-keyboard-focusable/modern';
8
+ import '@alfalab/core-components-picker-button/modern/desktop';
9
+ import '../../hooks/use-tablist-titles.js';
10
+ import '@alfalab/core-components-mq/modern';
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/modern';
16
+ import '../../synthetic-events.js';
17
+ import '../title/Component.js';
18
+
19
+ const styles = {
20
+ ...commonStyles,
21
+ ...mobileStyles,
22
+ };
23
+ const CollapsiblePrimaryTabListMobile = ({ className, ...restProps }) => (React.createElement(CollapsiblePrimaryTabList, { ...restProps, styles: styles, className: cn(className, styles.mobile) }));
24
+
25
+ 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,26 @@
1
+ import React from 'react';
2
+ import { useMatchMedia } from '@alfalab/core-components-mq/modern';
3
+ import { CollapsiblePrimaryTabListDesktop } from './Component.collapsible.desktop.js';
4
+ import { CollapsiblePrimaryTabListMobile } from './Component.collapsible.mobile.js';
5
+ import './Component.collapsible.js';
6
+ import 'classnames';
7
+ import '@alfalab/core-components-badge/modern';
8
+ import '@alfalab/core-components-keyboard-focusable/modern';
9
+ import '@alfalab/core-components-picker-button/modern/desktop';
10
+ import '../../hooks/use-tablist-titles.js';
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/modern';
16
+ import '../../synthetic-events.js';
17
+ import '../title/Component.js';
18
+ import '../../index.module-264a8450.js';
19
+ import '../../mobile.module-9693b0a4.js';
20
+
21
+ const CollapsiblePrimaryTabListResponsive = ({ size, fullWidthScroll, breakpoint = 768, defaultMatchMediaValue, ...restProps }) => {
22
+ const [isDesktop] = useMatchMedia(`(min-width: ${breakpoint}px)`, defaultMatchMediaValue);
23
+ return isDesktop ? (React.createElement(CollapsiblePrimaryTabListDesktop, { size: size, defaultMatchMediaValue: defaultMatchMediaValue, breakpoint: breakpoint, ...restProps })) : (React.createElement(CollapsiblePrimaryTabListMobile, { fullWidthScroll: fullWidthScroll, defaultMatchMediaValue: defaultMatchMediaValue, breakpoint: breakpoint, ...restProps }));
24
+ };
25
+
26
+ 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,16 +1,10 @@
1
1
  import React from 'react';
2
2
  import { PrimaryTabList } from './Component.js';
3
- import { c as commonStyles } from '../../index.module-75cf2354.js';
3
+ import { c as commonStyles } from '../../index.module-264a8450.js';
4
4
  import 'classnames';
5
- import '@alfalab/core-components-badge/modern';
6
5
  import '@alfalab/core-components-keyboard-focusable/modern';
7
- import '@alfalab/core-components-picker-button/modern/desktop';
8
- import '../../hooks/use-tablist-titles.js';
9
- import '@alfalab/hooks';
10
- import '../../hooks/use-collapsible-elements.js';
11
- import '@juggle/resize-observer';
12
6
  import '../../hooks/use-tabs.js';
13
- import '../../synthetic-events.js';
7
+ import '@alfalab/core-components-shared/modern';
14
8
  import '../scrollable-container/Component.js';
15
9
  import 'compute-scroll-into-view';
16
10
  import '../title/Component.js';
@@ -1,26 +1,17 @@
1
- import React, { useRef, useEffect, useMemo } from 'react';
1
+ import React, { useRef, useEffect } from 'react';
2
2
  import cn from 'classnames';
3
- import { Badge } from '@alfalab/core-components-badge/modern';
4
3
  import { KeyboardFocusable } from '@alfalab/core-components-keyboard-focusable/modern';
5
- import { PickerButtonDesktop } from '@alfalab/core-components-picker-button/modern/desktop';
6
- import { useTablistTitles } from '../../hooks/use-tablist-titles.js';
7
- import { createSyntheticMouseEvent } from '../../synthetic-events.js';
4
+ import { useTabs } from '../../hooks/use-tabs.js';
8
5
  import { ScrollableContainer } from '../scrollable-container/Component.js';
9
6
  import { Title } from '../title/Component.js';
10
- import '@alfalab/hooks';
11
- import '../../hooks/use-collapsible-elements.js';
12
- import '@juggle/resize-observer';
13
- import '../../hooks/use-tabs.js';
7
+ import '@alfalab/core-components-shared/modern';
14
8
  import 'compute-scroll-into-view';
15
9
 
16
- const PrimaryTabList = ({ size, styles = {}, className, containerClassName, titles = [], selectedId = titles.length ? titles[0].id : undefined, scrollable = true, collapsible, collapsedTabsIds, fullWidthScroll, onChange, dataTestId, breakpoint = 1024, }) => {
10
+ const PrimaryTabList = ({ size, styles = {}, className, containerClassName, titles = [], selectedId = titles.length ? titles[0].id : undefined, scrollable = true, fullWidthScroll, onChange, dataTestId, }) => {
17
11
  const lineRef = useRef(null);
18
- const { containerRef, addonRef, tablistTitles, selectedTab, focusedTab, getTabListItemProps } = useTablistTitles({
12
+ const { selectedTab, focusedTab, getTabListItemProps } = useTabs({
19
13
  titles,
20
14
  selectedId,
21
- collapsible,
22
- collapsedTabsIds,
23
- breakpoint,
24
15
  onChange,
25
16
  });
26
17
  useEffect(() => {
@@ -28,33 +19,13 @@ const PrimaryTabList = ({ size, styles = {}, className, containerClassName, titl
28
19
  lineRef.current.style.width = `${selectedTab.offsetWidth}px`;
29
20
  lineRef.current.style.transform = `translateX(${selectedTab.offsetLeft}px)`;
30
21
  }
31
- }, [selectedTab, tablistTitles]);
32
- const collapsedOptions = useMemo(() => tablistTitles.reduce((options, title) => {
33
- if (title.collapsed) {
34
- options.push({
35
- key: title.title,
36
- value: title.id,
37
- content: React.createElement(Title, { ...title, styles: styles, isOption: true }),
38
- });
39
- }
40
- return options;
41
- }, []), [tablistTitles, styles]);
42
- const collapsedAddonsLength = tablistTitles.filter((title) => title.collapsed && title.rightAddons).length;
43
- const handleOptionsChange = (payload) => {
44
- if (payload.selected?.value && onChange) {
45
- const nativeMouseEvent = new MouseEvent('change');
46
- const syntheticMouseEvent = createSyntheticMouseEvent(nativeMouseEvent);
47
- onChange(syntheticMouseEvent, { selectedId: payload.selected.value });
48
- }
49
- };
22
+ }, [selectedTab]);
50
23
  const renderContent = () => (React.createElement("div", { role: 'tablist', "data-test-id": dataTestId, className: cn(styles.component, className, size && styles[size], {
51
24
  [styles.fullWidthScroll]: fullWidthScroll,
52
25
  }) },
53
- tablistTitles.map(({ dataTestId: _, ...restTitleProps }, index) => (React.createElement(KeyboardFocusable, { key: restTitleProps.id }, (ref, focused) => (React.createElement(Title, { ...getTabListItemProps(index, ref), ...restTitleProps, focused: focused, styles: styles }))))),
54
- collapsedOptions.length ? (React.createElement("span", { ref: addonRef, role: 'menu', className: styles.pickerWrapper },
55
- 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,
26
+ titles.map(({ dataTestId: _, ...restTitleProps }, index) => (React.createElement(KeyboardFocusable, { key: restTitleProps.id }, (ref, focused) => (React.createElement(Title, { ...getTabListItemProps(index, ref), ...restTitleProps, focused: focused, styles: styles }))))),
56
27
  React.createElement("div", { className: styles.line, ref: lineRef })));
57
- 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()));
28
+ return scrollable ? (React.createElement(ScrollableContainer, { activeChild: focusedTab || selectedTab, containerClassName: containerClassName, fullWidthScroll: fullWidthScroll }, renderContent())) : (React.createElement("div", { className: cn(styles.container, containerClassName) }, renderContent()));
58
29
  };
59
30
 
60
31
  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 };
@@ -1,23 +1,15 @@
1
1
  import React from 'react';
2
2
  import cn from 'classnames';
3
3
  import { PrimaryTabList } from './Component.js';
4
- import { c as commonStyles } from '../../index.module-75cf2354.js';
5
- import '@alfalab/core-components-badge/modern';
4
+ import { c as commonStyles } from '../../index.module-264a8450.js';
5
+ import { m as mobileStyles } from '../../mobile.module-9693b0a4.js';
6
6
  import '@alfalab/core-components-keyboard-focusable/modern';
7
- import '@alfalab/core-components-picker-button/modern/desktop';
8
- import '../../hooks/use-tablist-titles.js';
9
- import '@alfalab/hooks';
10
- import '../../hooks/use-collapsible-elements.js';
11
- import '@juggle/resize-observer';
12
7
  import '../../hooks/use-tabs.js';
13
- import '../../synthetic-events.js';
8
+ import '@alfalab/core-components-shared/modern';
14
9
  import '../scrollable-container/Component.js';
15
10
  import 'compute-scroll-into-view';
16
11
  import '../title/Component.js';
17
12
 
18
- const mobileStyles = {"title":"tabs__title_122wz tabs__title_ibntg","mobile":"tabs__mobile_122wz"};
19
- require('./mobile.css')
20
-
21
13
  const styles = {
22
14
  ...commonStyles,
23
15
  ...mobileStyles,