@foxford/ui 2.89.0 → 2.90.0-beta-a2747eb-20260112

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 (2072) hide show
  1. package/components/AccordionItem/AccordionItem.js +1 -1
  2. package/components/AccordionItem/AccordionItem.js.map +1 -1
  3. package/components/AccordionItem/AccordionItem.mjs +1 -1
  4. package/components/AccordionItem/AccordionItem.mjs.map +1 -1
  5. package/components/AddElement/AddElement.js +1 -1
  6. package/components/AddElement/AddElement.js.map +1 -1
  7. package/components/AddElement/AddElement.mjs +1 -1
  8. package/components/AddElement/AddElement.mjs.map +1 -1
  9. package/components/Alert/Alert.js +1 -1
  10. package/components/Alert/Alert.js.map +1 -1
  11. package/components/Alert/Alert.mjs +1 -1
  12. package/components/Alert/Alert.mjs.map +1 -1
  13. package/components/Arrow/Arrow.js +1 -1
  14. package/components/Arrow/Arrow.js.map +1 -1
  15. package/components/Arrow/Arrow.mjs +1 -1
  16. package/components/Arrow/Arrow.mjs.map +1 -1
  17. package/components/Arrow/images/chevronUpDefault.svg.js +2 -0
  18. package/components/Arrow/images/chevronUpDefault.svg.js.map +1 -0
  19. package/components/Arrow/images/chevronUpDefault.svg.mjs +2 -0
  20. package/components/Arrow/images/chevronUpDefault.svg.mjs.map +1 -0
  21. package/components/Button/Button.js +1 -1
  22. package/components/Button/Button.js.map +1 -1
  23. package/components/Button/Button.mjs +1 -1
  24. package/components/Button/Button.mjs.map +1 -1
  25. package/components/Checkbox/images/checkDefault.svg.js +2 -0
  26. package/components/Checkbox/images/checkDefault.svg.js.map +1 -0
  27. package/components/Checkbox/images/checkDefault.svg.mjs +2 -0
  28. package/components/Checkbox/images/checkDefault.svg.mjs.map +1 -0
  29. package/components/Checkbox/style.js +1 -1
  30. package/components/Checkbox/style.js.map +1 -1
  31. package/components/Checkbox/style.mjs +1 -1
  32. package/components/Checkbox/style.mjs.map +1 -1
  33. package/components/Chip/Chip.js +1 -1
  34. package/components/Chip/Chip.js.map +1 -1
  35. package/components/Chip/Chip.mjs +1 -1
  36. package/components/Chip/Chip.mjs.map +1 -1
  37. package/components/DialogComponent/DialogComponent.js +1 -1
  38. package/components/DialogComponent/DialogComponent.js.map +1 -1
  39. package/components/DialogComponent/DialogComponent.mjs +1 -1
  40. package/components/DialogComponent/DialogComponent.mjs.map +1 -1
  41. package/components/Dropdown/Dropdown.js +1 -1
  42. package/components/Dropdown/Dropdown.js.map +1 -1
  43. package/components/Dropdown/Dropdown.mjs +1 -1
  44. package/components/Dropdown/Dropdown.mjs.map +1 -1
  45. package/components/Dropdown/DropdownMenuNoOptions.js +1 -1
  46. package/components/Dropdown/DropdownMenuNoOptions.js.map +1 -1
  47. package/components/Dropdown/DropdownMenuNoOptions.mjs +1 -1
  48. package/components/Dropdown/DropdownMenuNoOptions.mjs.map +1 -1
  49. package/components/Dropdown/style.js +1 -1
  50. package/components/Dropdown/style.js.map +1 -1
  51. package/components/Dropdown/style.mjs +1 -1
  52. package/components/Dropdown/style.mjs.map +1 -1
  53. package/components/FormLabel/FormLabel.js +1 -1
  54. package/components/FormLabel/FormLabel.js.map +1 -1
  55. package/components/FormLabel/FormLabel.mjs +1 -1
  56. package/components/FormLabel/FormLabel.mjs.map +1 -1
  57. package/components/Icon/Icon.js +1 -1
  58. package/components/Icon/Icon.js.map +1 -1
  59. package/components/Icon/Icon.mjs +1 -1
  60. package/components/Icon/Icon.mjs.map +1 -1
  61. package/components/Icon/iconPack.js +2 -0
  62. package/components/Icon/iconPack.js.map +1 -0
  63. package/components/Icon/iconPack.mjs +2 -0
  64. package/components/Icon/iconPack.mjs.map +1 -0
  65. package/components/Icon/iconsDefault.js +2 -0
  66. package/components/Icon/iconsDefault.js.map +1 -0
  67. package/components/Icon/iconsDefault.mjs +2 -0
  68. package/components/Icon/iconsDefault.mjs.map +1 -0
  69. package/components/Icon/images/blackBoard_default.svg.js +2 -0
  70. package/components/Icon/images/blackBoard_default.svg.js.map +1 -0
  71. package/components/Icon/images/blackBoard_default.svg.mjs +2 -0
  72. package/components/Icon/images/blackBoard_default.svg.mjs.map +1 -0
  73. package/components/Icon/images/book_default.svg.js +2 -0
  74. package/components/Icon/images/book_default.svg.js.map +1 -0
  75. package/components/Icon/images/book_default.svg.mjs +2 -0
  76. package/components/Icon/images/book_default.svg.mjs.map +1 -0
  77. package/components/Icon/images/burger_default.svg.js +2 -0
  78. package/components/Icon/images/burger_default.svg.js.map +1 -0
  79. package/components/Icon/images/burger_default.svg.mjs +2 -0
  80. package/components/Icon/images/burger_default.svg.mjs.map +1 -0
  81. package/components/Icon/images/calendar_default.svg.js +2 -0
  82. package/components/Icon/images/calendar_default.svg.js.map +1 -0
  83. package/components/Icon/images/calendar_default.svg.mjs +2 -0
  84. package/components/Icon/images/calendar_default.svg.mjs.map +1 -0
  85. package/components/Icon/images/calendar_simple_default.svg.js +2 -0
  86. package/components/Icon/images/calendar_simple_default.svg.js.map +1 -0
  87. package/components/Icon/images/calendar_simple_default.svg.mjs +2 -0
  88. package/components/Icon/images/calendar_simple_default.svg.mjs.map +1 -0
  89. package/components/Icon/images/camps_default.svg.js +2 -0
  90. package/components/Icon/images/camps_default.svg.js.map +1 -0
  91. package/components/Icon/images/camps_default.svg.mjs +2 -0
  92. package/components/Icon/images/camps_default.svg.mjs.map +1 -0
  93. package/components/Icon/images/cancel_default.svg.js +2 -0
  94. package/components/Icon/images/cancel_default.svg.js.map +1 -0
  95. package/components/Icon/images/cancel_default.svg.mjs +2 -0
  96. package/components/Icon/images/cancel_default.svg.mjs.map +1 -0
  97. package/components/Icon/images/cart_default.svg.js +2 -0
  98. package/components/Icon/images/cart_default.svg.js.map +1 -0
  99. package/components/Icon/images/cart_default.svg.mjs +2 -0
  100. package/components/Icon/images/cart_default.svg.mjs.map +1 -0
  101. package/components/Icon/images/checkCircle_default.svg.js +2 -0
  102. package/components/Icon/images/checkCircle_default.svg.js.map +1 -0
  103. package/components/Icon/images/checkCircle_default.svg.mjs +2 -0
  104. package/components/Icon/images/checkCircle_default.svg.mjs.map +1 -0
  105. package/components/Icon/images/check_default.svg.js +2 -0
  106. package/components/Icon/images/check_default.svg.js.map +1 -0
  107. package/components/Icon/images/check_default.svg.mjs +2 -0
  108. package/components/Icon/images/check_default.svg.mjs.map +1 -0
  109. package/components/Icon/images/chevronDown_default.svg.js +2 -0
  110. package/components/Icon/images/chevronDown_default.svg.js.map +1 -0
  111. package/components/Icon/images/chevronDown_default.svg.mjs +2 -0
  112. package/components/Icon/images/chevronDown_default.svg.mjs.map +1 -0
  113. package/components/Icon/images/chevronLeft_default.svg.js +2 -0
  114. package/components/Icon/images/chevronLeft_default.svg.js.map +1 -0
  115. package/components/Icon/images/chevronLeft_default.svg.mjs +2 -0
  116. package/components/Icon/images/chevronLeft_default.svg.mjs.map +1 -0
  117. package/components/Icon/images/chevronRight_default.svg.js +2 -0
  118. package/components/Icon/images/chevronRight_default.svg.js.map +1 -0
  119. package/components/Icon/images/chevronRight_default.svg.mjs +2 -0
  120. package/components/Icon/images/chevronRight_default.svg.mjs.map +1 -0
  121. package/components/Icon/images/chevronUp_default.svg.js +2 -0
  122. package/components/Icon/images/chevronUp_default.svg.js.map +1 -0
  123. package/components/Icon/images/chevronUp_default.svg.mjs +2 -0
  124. package/components/Icon/images/chevronUp_default.svg.mjs.map +1 -0
  125. package/components/Icon/images/clockFilled_default.svg.js +2 -0
  126. package/components/Icon/images/clockFilled_default.svg.js.map +1 -0
  127. package/components/Icon/images/clockFilled_default.svg.mjs +2 -0
  128. package/components/Icon/images/clockFilled_default.svg.mjs.map +1 -0
  129. package/components/Icon/images/clock_default.svg.js +2 -0
  130. package/components/Icon/images/clock_default.svg.js.map +1 -0
  131. package/components/Icon/images/clock_default.svg.mjs +2 -0
  132. package/components/Icon/images/clock_default.svg.mjs.map +1 -0
  133. package/components/Icon/images/coins_default.svg.js +2 -0
  134. package/components/Icon/images/coins_default.svg.js.map +1 -0
  135. package/components/Icon/images/coins_default.svg.mjs +2 -0
  136. package/components/Icon/images/coins_default.svg.mjs.map +1 -0
  137. package/components/Icon/images/copy_default.svg.js +2 -0
  138. package/components/Icon/images/copy_default.svg.js.map +1 -0
  139. package/components/Icon/images/copy_default.svg.mjs +2 -0
  140. package/components/Icon/images/copy_default.svg.mjs.map +1 -0
  141. package/components/Icon/images/courses_default.svg.js +2 -0
  142. package/components/Icon/images/courses_default.svg.js.map +1 -0
  143. package/components/Icon/images/courses_default.svg.mjs +2 -0
  144. package/components/Icon/images/courses_default.svg.mjs.map +1 -0
  145. package/components/Icon/images/cross_default.svg.js +2 -0
  146. package/components/Icon/images/cross_default.svg.js.map +1 -0
  147. package/components/Icon/images/cross_default.svg.mjs +2 -0
  148. package/components/Icon/images/cross_default.svg.mjs.map +1 -0
  149. package/components/Icon/images/dialog_default.svg.js +2 -0
  150. package/components/Icon/images/dialog_default.svg.js.map +1 -0
  151. package/components/Icon/images/dialog_default.svg.mjs +2 -0
  152. package/components/Icon/images/dialog_default.svg.mjs.map +1 -0
  153. package/components/Icon/images/diamondFilled_default.svg.js +2 -0
  154. package/components/Icon/images/diamondFilled_default.svg.js.map +1 -0
  155. package/components/Icon/images/diamondFilled_default.svg.mjs +2 -0
  156. package/components/Icon/images/diamondFilled_default.svg.mjs.map +1 -0
  157. package/components/Icon/images/diamond_default.svg.js +2 -0
  158. package/components/Icon/images/diamond_default.svg.js.map +1 -0
  159. package/components/Icon/images/diamond_default.svg.mjs +2 -0
  160. package/components/Icon/images/diamond_default.svg.mjs.map +1 -0
  161. package/components/Icon/images/discount_default.svg.js +2 -0
  162. package/components/Icon/images/discount_default.svg.js.map +1 -0
  163. package/components/Icon/images/discount_default.svg.mjs +2 -0
  164. package/components/Icon/images/discount_default.svg.mjs.map +1 -0
  165. package/components/Icon/images/document_default.svg.js +2 -0
  166. package/components/Icon/images/document_default.svg.js.map +1 -0
  167. package/components/Icon/images/document_default.svg.mjs +2 -0
  168. package/components/Icon/images/document_default.svg.mjs.map +1 -0
  169. package/components/Icon/images/dropDownArrow_default.svg.js +2 -0
  170. package/components/Icon/images/dropDownArrow_default.svg.js.map +1 -0
  171. package/components/Icon/images/dropDownArrow_default.svg.mjs +2 -0
  172. package/components/Icon/images/dropDownArrow_default.svg.mjs.map +1 -0
  173. package/components/Icon/images/edit_default.svg.js +2 -0
  174. package/components/Icon/images/edit_default.svg.js.map +1 -0
  175. package/components/Icon/images/edit_default.svg.mjs +2 -0
  176. package/components/Icon/images/edit_default.svg.mjs.map +1 -0
  177. package/components/Icon/images/email_default.svg.js +2 -0
  178. package/components/Icon/images/email_default.svg.js.map +1 -0
  179. package/components/Icon/images/email_default.svg.mjs +2 -0
  180. package/components/Icon/images/email_default.svg.mjs.map +1 -0
  181. package/components/Icon/images/externalLink_default.svg.js +2 -0
  182. package/components/Icon/images/externalLink_default.svg.js.map +1 -0
  183. package/components/Icon/images/externalLink_default.svg.mjs +2 -0
  184. package/components/Icon/images/externalLink_default.svg.mjs.map +1 -0
  185. package/components/Icon/images/externat_default.svg.js +2 -0
  186. package/components/Icon/images/externat_default.svg.js.map +1 -0
  187. package/components/Icon/images/externat_default.svg.mjs +2 -0
  188. package/components/Icon/images/externat_default.svg.mjs.map +1 -0
  189. package/components/Icon/images/eye_default.svg.js +2 -0
  190. package/components/Icon/images/eye_default.svg.js.map +1 -0
  191. package/components/Icon/images/eye_default.svg.mjs +2 -0
  192. package/components/Icon/images/eye_default.svg.mjs.map +1 -0
  193. package/components/Icon/images/fileBordered_default.svg.js +2 -0
  194. package/components/Icon/images/fileBordered_default.svg.js.map +1 -0
  195. package/components/Icon/images/fileBordered_default.svg.mjs +2 -0
  196. package/components/Icon/images/fileBordered_default.svg.mjs.map +1 -0
  197. package/components/Icon/images/file_default.svg.js +2 -0
  198. package/components/Icon/images/file_default.svg.js.map +1 -0
  199. package/components/Icon/images/file_default.svg.mjs +2 -0
  200. package/components/Icon/images/file_default.svg.mjs.map +1 -0
  201. package/components/Icon/images/fire_default.svg.js +2 -0
  202. package/components/Icon/images/fire_default.svg.js.map +1 -0
  203. package/components/Icon/images/fire_default.svg.mjs +2 -0
  204. package/components/Icon/images/fire_default.svg.mjs.map +1 -0
  205. package/components/Icon/images/headphones_default.svg.js +2 -0
  206. package/components/Icon/images/headphones_default.svg.js.map +1 -0
  207. package/components/Icon/images/headphones_default.svg.mjs +2 -0
  208. package/components/Icon/images/headphones_default.svg.mjs.map +1 -0
  209. package/components/Icon/images/home_default.svg.js +2 -0
  210. package/components/Icon/images/home_default.svg.js.map +1 -0
  211. package/components/Icon/images/home_default.svg.mjs +2 -0
  212. package/components/Icon/images/home_default.svg.mjs.map +1 -0
  213. package/components/Icon/images/infoInverse_default.svg.js +2 -0
  214. package/components/Icon/images/infoInverse_default.svg.js.map +1 -0
  215. package/components/Icon/images/infoInverse_default.svg.mjs +2 -0
  216. package/components/Icon/images/infoInverse_default.svg.mjs.map +1 -0
  217. package/components/Icon/images/info_default.svg.js +2 -0
  218. package/components/Icon/images/info_default.svg.js.map +1 -0
  219. package/components/Icon/images/info_default.svg.mjs +2 -0
  220. package/components/Icon/images/info_default.svg.mjs.map +1 -0
  221. package/components/Icon/images/lessons_default.svg.js +2 -0
  222. package/components/Icon/images/lessons_default.svg.js.map +1 -0
  223. package/components/Icon/images/lessons_default.svg.mjs +2 -0
  224. package/components/Icon/images/lessons_default.svg.mjs.map +1 -0
  225. package/components/Icon/images/list_default.svg.js +2 -0
  226. package/components/Icon/images/list_default.svg.js.map +1 -0
  227. package/components/Icon/images/list_default.svg.mjs +2 -0
  228. package/components/Icon/images/list_default.svg.mjs.map +1 -0
  229. package/components/Icon/images/login_default.svg.js +2 -0
  230. package/components/Icon/images/login_default.svg.js.map +1 -0
  231. package/components/Icon/images/login_default.svg.mjs +2 -0
  232. package/components/Icon/images/login_default.svg.mjs.map +1 -0
  233. package/components/Icon/images/logout_default.svg.js +2 -0
  234. package/components/Icon/images/logout_default.svg.js.map +1 -0
  235. package/components/Icon/images/logout_default.svg.mjs +2 -0
  236. package/components/Icon/images/logout_default.svg.mjs.map +1 -0
  237. package/components/Icon/images/message_default.svg.js +2 -0
  238. package/components/Icon/images/message_default.svg.js.map +1 -0
  239. package/components/Icon/images/message_default.svg.mjs +2 -0
  240. package/components/Icon/images/message_default.svg.mjs.map +1 -0
  241. package/components/Icon/images/objective_default.svg.js +2 -0
  242. package/components/Icon/images/objective_default.svg.js.map +1 -0
  243. package/components/Icon/images/objective_default.svg.mjs +2 -0
  244. package/components/Icon/images/objective_default.svg.mjs.map +1 -0
  245. package/components/Icon/images/page_default.svg.js +2 -0
  246. package/components/Icon/images/page_default.svg.js.map +1 -0
  247. package/components/Icon/images/page_default.svg.mjs +2 -0
  248. package/components/Icon/images/page_default.svg.mjs.map +1 -0
  249. package/components/Icon/images/pencil_default.svg.js +2 -0
  250. package/components/Icon/images/pencil_default.svg.js.map +1 -0
  251. package/components/Icon/images/pencil_default.svg.mjs +2 -0
  252. package/components/Icon/images/pencil_default.svg.mjs.map +1 -0
  253. package/components/Icon/images/person_default.svg.js +2 -0
  254. package/components/Icon/images/person_default.svg.js.map +1 -0
  255. package/components/Icon/images/person_default.svg.mjs +2 -0
  256. package/components/Icon/images/person_default.svg.mjs.map +1 -0
  257. package/components/Icon/images/phoneNoFill_default.svg.js +2 -0
  258. package/components/Icon/images/phoneNoFill_default.svg.js.map +1 -0
  259. package/components/Icon/images/phoneNoFill_default.svg.mjs +2 -0
  260. package/components/Icon/images/phoneNoFill_default.svg.mjs.map +1 -0
  261. package/components/Icon/images/phone_default.svg.js +2 -0
  262. package/components/Icon/images/phone_default.svg.js.map +1 -0
  263. package/components/Icon/images/phone_default.svg.mjs +2 -0
  264. package/components/Icon/images/phone_default.svg.mjs.map +1 -0
  265. package/components/Icon/images/playPause_default.svg.js +2 -0
  266. package/components/Icon/images/playPause_default.svg.js.map +1 -0
  267. package/components/Icon/images/playPause_default.svg.mjs +2 -0
  268. package/components/Icon/images/playPause_default.svg.mjs.map +1 -0
  269. package/components/Icon/images/play_default.svg.js +2 -0
  270. package/components/Icon/images/play_default.svg.js.map +1 -0
  271. package/components/Icon/images/play_default.svg.mjs +2 -0
  272. package/components/Icon/images/play_default.svg.mjs.map +1 -0
  273. package/components/Icon/images/plusThin_default.svg.js +2 -0
  274. package/components/Icon/images/plusThin_default.svg.js.map +1 -0
  275. package/components/Icon/images/plusThin_default.svg.mjs +2 -0
  276. package/components/Icon/images/plusThin_default.svg.mjs.map +1 -0
  277. package/components/Icon/images/plus_default.svg.js +2 -0
  278. package/components/Icon/images/plus_default.svg.js.map +1 -0
  279. package/components/Icon/images/plus_default.svg.mjs +2 -0
  280. package/components/Icon/images/plus_default.svg.mjs.map +1 -0
  281. package/components/Icon/images/present_default.svg.js +2 -0
  282. package/components/Icon/images/present_default.svg.js.map +1 -0
  283. package/components/Icon/images/present_default.svg.mjs +2 -0
  284. package/components/Icon/images/present_default.svg.mjs.map +1 -0
  285. package/components/Icon/images/priceTag_default.svg.js +2 -0
  286. package/components/Icon/images/priceTag_default.svg.js.map +1 -0
  287. package/components/Icon/images/priceTag_default.svg.mjs +2 -0
  288. package/components/Icon/images/priceTag_default.svg.mjs.map +1 -0
  289. package/components/Icon/images/print_default.svg.js +2 -0
  290. package/components/Icon/images/print_default.svg.js.map +1 -0
  291. package/components/Icon/images/print_default.svg.mjs +2 -0
  292. package/components/Icon/images/print_default.svg.mjs.map +1 -0
  293. package/components/Icon/images/prof_default.svg.js +2 -0
  294. package/components/Icon/images/prof_default.svg.js.map +1 -0
  295. package/components/Icon/images/prof_default.svg.mjs +2 -0
  296. package/components/Icon/images/prof_default.svg.mjs.map +1 -0
  297. package/components/Icon/images/questionFilled_default.svg.js +2 -0
  298. package/components/Icon/images/questionFilled_default.svg.js.map +1 -0
  299. package/components/Icon/images/questionFilled_default.svg.mjs +2 -0
  300. package/components/Icon/images/questionFilled_default.svg.mjs.map +1 -0
  301. package/components/Icon/images/radioChecked_default.svg.js +2 -0
  302. package/components/Icon/images/radioChecked_default.svg.js.map +1 -0
  303. package/components/Icon/images/radioChecked_default.svg.mjs +2 -0
  304. package/components/Icon/images/radioChecked_default.svg.mjs.map +1 -0
  305. package/components/Icon/images/radioNotChecked_default.svg.js +2 -0
  306. package/components/Icon/images/radioNotChecked_default.svg.js.map +1 -0
  307. package/components/Icon/images/radioNotChecked_default.svg.mjs +2 -0
  308. package/components/Icon/images/radioNotChecked_default.svg.mjs.map +1 -0
  309. package/components/Icon/images/reload_default.svg.js +2 -0
  310. package/components/Icon/images/reload_default.svg.js.map +1 -0
  311. package/components/Icon/images/reload_default.svg.mjs +2 -0
  312. package/components/Icon/images/reload_default.svg.mjs.map +1 -0
  313. package/components/Icon/images/search_default.svg.js +2 -0
  314. package/components/Icon/images/search_default.svg.js.map +1 -0
  315. package/components/Icon/images/search_default.svg.mjs +2 -0
  316. package/components/Icon/images/search_default.svg.mjs.map +1 -0
  317. package/components/Icon/images/settings_default.svg.js +2 -0
  318. package/components/Icon/images/settings_default.svg.js.map +1 -0
  319. package/components/Icon/images/settings_default.svg.mjs +2 -0
  320. package/components/Icon/images/settings_default.svg.mjs.map +1 -0
  321. package/components/Icon/images/sharpCross_default.svg.js +2 -0
  322. package/components/Icon/images/sharpCross_default.svg.js.map +1 -0
  323. package/components/Icon/images/sharpCross_default.svg.mjs +2 -0
  324. package/components/Icon/images/sharpCross_default.svg.mjs.map +1 -0
  325. package/components/Icon/images/sort_default.svg.js +2 -0
  326. package/components/Icon/images/sort_default.svg.js.map +1 -0
  327. package/components/Icon/images/sort_default.svg.mjs +2 -0
  328. package/components/Icon/images/sort_default.svg.mjs.map +1 -0
  329. package/components/Icon/images/star_default.svg.js +2 -0
  330. package/components/Icon/images/star_default.svg.js.map +1 -0
  331. package/components/Icon/images/star_default.svg.mjs +2 -0
  332. package/components/Icon/images/star_default.svg.mjs.map +1 -0
  333. package/components/Icon/images/student_default.svg.js +2 -0
  334. package/components/Icon/images/student_default.svg.js.map +1 -0
  335. package/components/Icon/images/student_default.svg.mjs +2 -0
  336. package/components/Icon/images/student_default.svg.mjs.map +1 -0
  337. package/components/Icon/images/target_default.svg.js +2 -0
  338. package/components/Icon/images/target_default.svg.js.map +1 -0
  339. package/components/Icon/images/target_default.svg.mjs +2 -0
  340. package/components/Icon/images/target_default.svg.mjs.map +1 -0
  341. package/components/Icon/images/tasks_default.svg.js +2 -0
  342. package/components/Icon/images/tasks_default.svg.js.map +1 -0
  343. package/components/Icon/images/tasks_default.svg.mjs +2 -0
  344. package/components/Icon/images/tasks_default.svg.mjs.map +1 -0
  345. package/components/Icon/images/textbook_default.svg.js +2 -0
  346. package/components/Icon/images/textbook_default.svg.js.map +1 -0
  347. package/components/Icon/images/textbook_default.svg.mjs +2 -0
  348. package/components/Icon/images/textbook_default.svg.mjs.map +1 -0
  349. package/components/Icon/images/tinyCross_default.svg.js +2 -0
  350. package/components/Icon/images/tinyCross_default.svg.js.map +1 -0
  351. package/components/Icon/images/tinyCross_default.svg.mjs +2 -0
  352. package/components/Icon/images/tinyCross_default.svg.mjs.map +1 -0
  353. package/components/Icon/images/trophy_default.svg.js +2 -0
  354. package/components/Icon/images/trophy_default.svg.js.map +1 -0
  355. package/components/Icon/images/trophy_default.svg.mjs +2 -0
  356. package/components/Icon/images/trophy_default.svg.mjs.map +1 -0
  357. package/components/Icon/images/unsort_default.svg.js +2 -0
  358. package/components/Icon/images/unsort_default.svg.js.map +1 -0
  359. package/components/Icon/images/unsort_default.svg.mjs +2 -0
  360. package/components/Icon/images/unsort_default.svg.mjs.map +1 -0
  361. package/components/Icon/images/video_default.svg.js +2 -0
  362. package/components/Icon/images/video_default.svg.js.map +1 -0
  363. package/components/Icon/images/video_default.svg.mjs +2 -0
  364. package/components/Icon/images/video_default.svg.mjs.map +1 -0
  365. package/components/Icon/images/wallet_default.svg.js +2 -0
  366. package/components/Icon/images/wallet_default.svg.js.map +1 -0
  367. package/components/Icon/images/wallet_default.svg.mjs +2 -0
  368. package/components/Icon/images/wallet_default.svg.mjs.map +1 -0
  369. package/components/Icon/sizes.js +2 -0
  370. package/components/Icon/sizes.js.map +1 -0
  371. package/components/Icon/sizes.mjs +2 -0
  372. package/components/Icon/sizes.mjs.map +1 -0
  373. package/components/Icon/style.js +1 -1
  374. package/components/Icon/style.js.map +1 -1
  375. package/components/Icon/style.mjs +1 -1
  376. package/components/Icon/style.mjs.map +1 -1
  377. package/components/Input/Input.js +1 -1
  378. package/components/Input/Input.js.map +1 -1
  379. package/components/Input/Input.mjs +1 -1
  380. package/components/Input/Input.mjs.map +1 -1
  381. package/components/InputCheckbox/style.js +1 -1
  382. package/components/InputCheckbox/style.js.map +1 -1
  383. package/components/InputCheckbox/style.mjs +1 -1
  384. package/components/InputCheckbox/style.mjs.map +1 -1
  385. package/components/MenuContainer/MenuContainer.js +1 -1
  386. package/components/MenuContainer/MenuContainer.js.map +1 -1
  387. package/components/MenuContainer/MenuContainer.mjs +1 -1
  388. package/components/MenuContainer/MenuContainer.mjs.map +1 -1
  389. package/components/Modal/Close.js +1 -1
  390. package/components/Modal/Close.js.map +1 -1
  391. package/components/Modal/Close.mjs +1 -1
  392. package/components/Modal/Close.mjs.map +1 -1
  393. package/components/Modal/images/tinyCrossDefault.svg.js +2 -0
  394. package/components/Modal/images/tinyCrossDefault.svg.js.map +1 -0
  395. package/components/Modal/images/tinyCrossDefault.svg.mjs +2 -0
  396. package/components/Modal/images/tinyCrossDefault.svg.mjs.map +1 -0
  397. package/components/Notification/Notification.js +1 -1
  398. package/components/Notification/Notification.js.map +1 -1
  399. package/components/Notification/Notification.mjs +1 -1
  400. package/components/Notification/Notification.mjs.map +1 -1
  401. package/components/Notification/constants.js +1 -1
  402. package/components/Notification/constants.js.map +1 -1
  403. package/components/Notification/constants.mjs +1 -1
  404. package/components/Notification/constants.mjs.map +1 -1
  405. package/components/PopoverComponent/PopoverComponent.js +1 -1
  406. package/components/PopoverComponent/PopoverComponent.js.map +1 -1
  407. package/components/PopoverComponent/PopoverComponent.mjs +1 -1
  408. package/components/PopoverComponent/PopoverComponent.mjs.map +1 -1
  409. package/components/ProgressLine/ProgressLine.js +1 -1
  410. package/components/ProgressLine/ProgressLine.js.map +1 -1
  411. package/components/ProgressLine/ProgressLine.mjs +1 -1
  412. package/components/ProgressLine/ProgressLine.mjs.map +1 -1
  413. package/components/ProgressLine/style.js +1 -1
  414. package/components/ProgressLine/style.js.map +1 -1
  415. package/components/ProgressLine/style.mjs +1 -1
  416. package/components/ProgressLine/style.mjs.map +1 -1
  417. package/components/TabList/TabList.js +1 -1
  418. package/components/TabList/TabList.js.map +1 -1
  419. package/components/TabList/TabList.mjs +1 -1
  420. package/components/TabList/TabList.mjs.map +1 -1
  421. package/components/TabList/TabListMenuTab.js +1 -1
  422. package/components/TabList/TabListMenuTab.js.map +1 -1
  423. package/components/TabList/TabListMenuTab.mjs +1 -1
  424. package/components/TabList/TabListMenuTab.mjs.map +1 -1
  425. package/components/Textarea/Textarea.js +1 -1
  426. package/components/Textarea/Textarea.js.map +1 -1
  427. package/components/Textarea/Textarea.mjs +1 -1
  428. package/components/Textarea/Textarea.mjs.map +1 -1
  429. package/components/TooltipComponent/TooltipComponent.js +1 -1
  430. package/components/TooltipComponent/TooltipComponent.js.map +1 -1
  431. package/components/TooltipComponent/TooltipComponent.mjs +1 -1
  432. package/components/TooltipComponent/TooltipComponent.mjs.map +1 -1
  433. package/dts/index.d.ts +1807 -33
  434. package/icon-pack/src/collection.json.js +2 -0
  435. package/icon-pack/src/collection.json.js.map +1 -0
  436. package/icon-pack/src/collection.json.mjs +2 -0
  437. package/icon-pack/src/collection.json.mjs.map +1 -0
  438. package/icon-pack/src/icons/ArrowUp/index.js +2 -0
  439. package/icon-pack/src/icons/ArrowUp/index.js.map +1 -0
  440. package/icon-pack/src/icons/ArrowUp/index.mjs +2 -0
  441. package/icon-pack/src/icons/ArrowUp/index.mjs.map +1 -0
  442. package/icon-pack/src/icons/CheckCircle/index.js +2 -0
  443. package/icon-pack/src/icons/CheckCircle/index.js.map +1 -0
  444. package/icon-pack/src/icons/CheckCircle/index.mjs +2 -0
  445. package/icon-pack/src/icons/CheckCircle/index.mjs.map +1 -0
  446. package/icon-pack/src/icons/CheckCircleFill/index.js +2 -0
  447. package/icon-pack/src/icons/CheckCircleFill/index.js.map +1 -0
  448. package/icon-pack/src/icons/CheckCircleFill/index.mjs +2 -0
  449. package/icon-pack/src/icons/CheckCircleFill/index.mjs.map +1 -0
  450. package/icon-pack/src/icons/CheckFill/index.js +2 -0
  451. package/icon-pack/src/icons/CheckFill/index.js.map +1 -0
  452. package/icon-pack/src/icons/CheckFill/index.mjs +2 -0
  453. package/icon-pack/src/icons/CheckFill/index.mjs.map +1 -0
  454. package/icon-pack/src/icons/ChevronDown/index.js +2 -0
  455. package/icon-pack/src/icons/ChevronDown/index.js.map +1 -0
  456. package/icon-pack/src/icons/ChevronDown/index.mjs +2 -0
  457. package/icon-pack/src/icons/ChevronDown/index.mjs.map +1 -0
  458. package/icon-pack/src/icons/ChevronLeft/index.js +2 -0
  459. package/icon-pack/src/icons/ChevronLeft/index.js.map +1 -0
  460. package/icon-pack/src/icons/ChevronLeft/index.mjs +2 -0
  461. package/icon-pack/src/icons/ChevronLeft/index.mjs.map +1 -0
  462. package/icon-pack/src/icons/ChevronRight/index.js +2 -0
  463. package/icon-pack/src/icons/ChevronRight/index.js.map +1 -0
  464. package/icon-pack/src/icons/ChevronRight/index.mjs +2 -0
  465. package/icon-pack/src/icons/ChevronRight/index.mjs.map +1 -0
  466. package/icon-pack/src/icons/Close/index.js +2 -0
  467. package/icon-pack/src/icons/Close/index.js.map +1 -0
  468. package/icon-pack/src/icons/Close/index.mjs +2 -0
  469. package/icon-pack/src/icons/Close/index.mjs.map +1 -0
  470. package/icon-pack/src/icons/CloseCirlce/index.js +2 -0
  471. package/icon-pack/src/icons/CloseCirlce/index.js.map +1 -0
  472. package/icon-pack/src/icons/CloseCirlce/index.mjs +2 -0
  473. package/icon-pack/src/icons/CloseCirlce/index.mjs.map +1 -0
  474. package/icon-pack/src/icons/CloseCirlceFill/index.js +2 -0
  475. package/icon-pack/src/icons/CloseCirlceFill/index.js.map +1 -0
  476. package/icon-pack/src/icons/CloseCirlceFill/index.mjs +2 -0
  477. package/icon-pack/src/icons/CloseCirlceFill/index.mjs.map +1 -0
  478. package/icon-pack/src/icons/HelpCircle/index.js +2 -0
  479. package/icon-pack/src/icons/HelpCircle/index.js.map +1 -0
  480. package/icon-pack/src/icons/HelpCircle/index.mjs +2 -0
  481. package/icon-pack/src/icons/HelpCircle/index.mjs.map +1 -0
  482. package/icon-pack/src/icons/InfoCircle/index.js +2 -0
  483. package/icon-pack/src/icons/InfoCircle/index.js.map +1 -0
  484. package/icon-pack/src/icons/InfoCircle/index.mjs +2 -0
  485. package/icon-pack/src/icons/InfoCircle/index.mjs.map +1 -0
  486. package/icon-pack/src/icons/LoaderFill/index.js +2 -0
  487. package/icon-pack/src/icons/LoaderFill/index.js.map +1 -0
  488. package/icon-pack/src/icons/LoaderFill/index.mjs +2 -0
  489. package/icon-pack/src/icons/LoaderFill/index.mjs.map +1 -0
  490. package/icon-pack/src/icons/Minus/index.js +2 -0
  491. package/icon-pack/src/icons/Minus/index.js.map +1 -0
  492. package/icon-pack/src/icons/Minus/index.mjs +2 -0
  493. package/icon-pack/src/icons/Minus/index.mjs.map +1 -0
  494. package/icon-pack/src/icons/MinusFill/index.js +2 -0
  495. package/icon-pack/src/icons/MinusFill/index.js.map +1 -0
  496. package/icon-pack/src/icons/MinusFill/index.mjs +2 -0
  497. package/icon-pack/src/icons/MinusFill/index.mjs.map +1 -0
  498. package/icon-pack/src/icons/NotifFill/index.js +2 -0
  499. package/icon-pack/src/icons/NotifFill/index.js.map +1 -0
  500. package/icon-pack/src/icons/NotifFill/index.mjs +2 -0
  501. package/icon-pack/src/icons/NotifFill/index.mjs.map +1 -0
  502. package/icon-pack/src/icons/Plus/index.js +2 -0
  503. package/icon-pack/src/icons/Plus/index.js.map +1 -0
  504. package/icon-pack/src/icons/Plus/index.mjs +2 -0
  505. package/icon-pack/src/icons/Plus/index.mjs.map +1 -0
  506. package/icon-pack/src/icons/PlusLarge/index.js +2 -0
  507. package/icon-pack/src/icons/PlusLarge/index.js.map +1 -0
  508. package/icon-pack/src/icons/PlusLarge/index.mjs +2 -0
  509. package/icon-pack/src/icons/PlusLarge/index.mjs.map +1 -0
  510. package/icon-pack/src/icons/Redo/index.js +2 -0
  511. package/icon-pack/src/icons/Redo/index.js.map +1 -0
  512. package/icon-pack/src/icons/Redo/index.mjs +2 -0
  513. package/icon-pack/src/icons/Redo/index.mjs.map +1 -0
  514. package/icon-pack/src/icons/ResizeHandle/index.js +2 -0
  515. package/icon-pack/src/icons/ResizeHandle/index.js.map +1 -0
  516. package/icon-pack/src/icons/ResizeHandle/index.mjs +2 -0
  517. package/icon-pack/src/icons/ResizeHandle/index.mjs.map +1 -0
  518. package/icon-pack/src/icons/StarFill/index.js +2 -0
  519. package/icon-pack/src/icons/StarFill/index.js.map +1 -0
  520. package/icon-pack/src/icons/StarFill/index.mjs +2 -0
  521. package/icon-pack/src/icons/StarFill/index.mjs.map +1 -0
  522. package/icon-pack/src/icons/WarningTriangle/index.js +2 -0
  523. package/icon-pack/src/icons/WarningTriangle/index.js.map +1 -0
  524. package/icon-pack/src/icons/WarningTriangle/index.mjs +2 -0
  525. package/icon-pack/src/icons/WarningTriangle/index.mjs.map +1 -0
  526. package/icon-pack/src/icons/WarningTriangleFill/index.js +2 -0
  527. package/icon-pack/src/icons/WarningTriangleFill/index.js.map +1 -0
  528. package/icon-pack/src/icons/WarningTriangleFill/index.mjs +2 -0
  529. package/icon-pack/src/icons/WarningTriangleFill/index.mjs.map +1 -0
  530. package/package.json +4 -9
  531. package/assets/add-reaction.svg +0 -1
  532. package/assets/afghanistan.svg +0 -1
  533. package/assets/airplay.svg +0 -1
  534. package/assets/aland-islands.svg +0 -1
  535. package/assets/alarm-add.svg +0 -1
  536. package/assets/alarm-clock.svg +0 -1
  537. package/assets/alarm-warning.svg +0 -1
  538. package/assets/albania.svg +0 -1
  539. package/assets/algebra.svg +0 -1
  540. package/assets/algeria.svg +0 -1
  541. package/assets/algorithms_color.svg +0 -1
  542. package/assets/align-center-justify.svg +0 -1
  543. package/assets/align-center.svg +0 -1
  544. package/assets/align-justify.svg +0 -1
  545. package/assets/align-left-justify.svg +0 -1
  546. package/assets/align-left.svg +0 -1
  547. package/assets/align-right-justify.svg +0 -1
  548. package/assets/align-right.svg +0 -1
  549. package/assets/american-samoa.svg +0 -1
  550. package/assets/analytics_2_color.svg +0 -1
  551. package/assets/analytics_3_color.svg +0 -1
  552. package/assets/analytics_color.svg +0 -1
  553. package/assets/andorra.svg +0 -1
  554. package/assets/angola.svg +0 -1
  555. package/assets/anguilla.svg +0 -1
  556. package/assets/annotation-user.svg +0 -1
  557. package/assets/annotation.svg +0 -1
  558. package/assets/antigua-and-barbuda.svg +0 -1
  559. package/assets/apple-auth-mono-color.svg +0 -1
  560. package/assets/apple-authorization.svg +0 -1
  561. package/assets/archive.svg +0 -1
  562. package/assets/archive_color.svg +0 -1
  563. package/assets/argentina.svg +0 -1
  564. package/assets/armenia.svg +0 -1
  565. package/assets/arrow-circle-down-fill-tin-fill.svg +0 -1
  566. package/assets/arrow-circle-down-fill.svg +0 -1
  567. package/assets/arrow-circle-down-left-fill-tin-fill.svg +0 -1
  568. package/assets/arrow-circle-down-left-fill.svg +0 -1
  569. package/assets/arrow-circle-down-left.svg +0 -1
  570. package/assets/arrow-circle-down-right-fill-tin-fill.svg +0 -1
  571. package/assets/arrow-circle-down-right-fill.svg +0 -1
  572. package/assets/arrow-circle-down-right.svg +0 -1
  573. package/assets/arrow-circle-down.svg +0 -1
  574. package/assets/arrow-circle-left-fill-tin-fill.svg +0 -1
  575. package/assets/arrow-circle-left-fill.svg +0 -1
  576. package/assets/arrow-circle-left.svg +0 -1
  577. package/assets/arrow-circle-right-fill-tin-fill.svg +0 -1
  578. package/assets/arrow-circle-right-fill.svg +0 -1
  579. package/assets/arrow-circle-right.svg +0 -1
  580. package/assets/arrow-circle-up-fill-tin-fill.svg +0 -1
  581. package/assets/arrow-circle-up-fill.svg +0 -1
  582. package/assets/arrow-circle-up-left-fill-tin-fill.svg +0 -1
  583. package/assets/arrow-circle-up-left-fill.svg +0 -1
  584. package/assets/arrow-circle-up-left.svg +0 -1
  585. package/assets/arrow-circle-up-right-fill-tin-fill.svg +0 -1
  586. package/assets/arrow-circle-up-right-fill.svg +0 -1
  587. package/assets/arrow-circle-up-right.svg +0 -1
  588. package/assets/arrow-circle-up.svg +0 -1
  589. package/assets/arrow-down-arrow-up.svg +0 -1
  590. package/assets/arrow-down-fill.svg +0 -1
  591. package/assets/arrow-down-left-fill.svg +0 -1
  592. package/assets/arrow-down-left.svg +0 -1
  593. package/assets/arrow-down-right-fill.svg +0 -1
  594. package/assets/arrow-down-right.svg +0 -1
  595. package/assets/arrow-down-short-wide.svg +0 -1
  596. package/assets/arrow-down-wide-short.svg +0 -1
  597. package/assets/arrow-down.svg +0 -1
  598. package/assets/arrow-left-fill.svg +0 -1
  599. package/assets/arrow-left.svg +0 -1
  600. package/assets/arrow-narrow-down-fill.svg +0 -1
  601. package/assets/arrow-narrow-down.svg +0 -1
  602. package/assets/arrow-narrow-left-fill.svg +0 -1
  603. package/assets/arrow-narrow-left.svg +0 -1
  604. package/assets/arrow-narrow-right-fill.svg +0 -1
  605. package/assets/arrow-narrow-right.svg +0 -1
  606. package/assets/arrow-narrow-up-fill.svg +0 -1
  607. package/assets/arrow-narrow-up.svg +0 -1
  608. package/assets/arrow-right-fill.svg +0 -1
  609. package/assets/arrow-right.svg +0 -1
  610. package/assets/arrow-sm-down-fill.svg +0 -1
  611. package/assets/arrow-sm-down.svg +0 -1
  612. package/assets/arrow-sm-left-fill.svg +0 -1
  613. package/assets/arrow-sm-left.svg +0 -1
  614. package/assets/arrow-sm-right-fill.svg +0 -1
  615. package/assets/arrow-sm-right.svg +0 -1
  616. package/assets/arrow-sm-up-fill.svg +0 -1
  617. package/assets/arrow-sm-up.svg +0 -1
  618. package/assets/arrow-spin-fill.svg +0 -1
  619. package/assets/arrow-spin.svg +0 -1
  620. package/assets/arrow-square-down-fill.svg +0 -1
  621. package/assets/arrow-square-down-left-fill.svg +0 -1
  622. package/assets/arrow-square-down-left.svg +0 -1
  623. package/assets/arrow-square-down-right-fill.svg +0 -1
  624. package/assets/arrow-square-down-right.svg +0 -1
  625. package/assets/arrow-square-down.svg +0 -1
  626. package/assets/arrow-square-left-fill.svg +0 -1
  627. package/assets/arrow-square-left.svg +0 -1
  628. package/assets/arrow-square-right-fill.svg +0 -1
  629. package/assets/arrow-square-right.svg +0 -1
  630. package/assets/arrow-square-up-fill.svg +0 -1
  631. package/assets/arrow-square-up-left-fill.svg +0 -1
  632. package/assets/arrow-square-up-left.svg +0 -1
  633. package/assets/arrow-square-up-right-fill.svg +0 -1
  634. package/assets/arrow-square-up-right.svg +0 -1
  635. package/assets/arrow-square-up.svg +0 -1
  636. package/assets/arrow-up-1-9.svg +0 -1
  637. package/assets/arrow-up-9-1.svg +0 -1
  638. package/assets/arrow-up-fill.svg +0 -1
  639. package/assets/arrow-up-left-fill.svg +0 -1
  640. package/assets/arrow-up-left.svg +0 -1
  641. package/assets/arrow-up-right-fill.svg +0 -1
  642. package/assets/arrow-up-right.svg +0 -1
  643. package/assets/arrow-up-short-wide.svg +0 -1
  644. package/assets/arrow-up-wide-short.svg +0 -1
  645. package/assets/arrow-up.svg +0 -1
  646. package/assets/arrows-left-right.svg +0 -1
  647. package/assets/arrows-up-down.svg +0 -1
  648. package/assets/art_color.svg +0 -1
  649. package/assets/aruba.svg +0 -1
  650. package/assets/astronomy_color.svg +0 -1
  651. package/assets/at-sign.svg +0 -1
  652. package/assets/australia.svg +0 -1
  653. package/assets/austria.svg +0 -1
  654. package/assets/azerbaijan.svg +0 -1
  655. package/assets/back-arrow.svg +0 -1
  656. package/assets/back-chevron.svg +0 -1
  657. package/assets/badge-check.svg +0 -1
  658. package/assets/badge.svg +0 -1
  659. package/assets/bag-shopping.svg +0 -1
  660. package/assets/bahamas.svg +0 -1
  661. package/assets/bahrain.svg +0 -1
  662. package/assets/ban.svg +0 -1
  663. package/assets/bangladesh.svg +0 -1
  664. package/assets/bank.svg +0 -1
  665. package/assets/barbados.svg +0 -1
  666. package/assets/bars-progress.svg +0 -1
  667. package/assets/basket-shopping.svg +0 -1
  668. package/assets/battery-bolt.svg +0 -1
  669. package/assets/battery-empty.svg +0 -1
  670. package/assets/battery-full.svg +0 -1
  671. package/assets/battery-off.svg +0 -1
  672. package/assets/battery-warning.svg +0 -1
  673. package/assets/belarus.svg +0 -1
  674. package/assets/belgium.svg +0 -1
  675. package/assets/belize.svg +0 -1
  676. package/assets/benin.svg +0 -1
  677. package/assets/bermuda.svg +0 -1
  678. package/assets/bhutan.svg +0 -1
  679. package/assets/biology.svg +0 -1
  680. package/assets/biology_color.svg +0 -1
  681. package/assets/blackBoard_default.svg +0 -1
  682. package/assets/blackboard.svg +0 -1
  683. package/assets/bloger_color.svg +0 -1
  684. package/assets/blogging.svg +0 -1
  685. package/assets/blogging_color.svg +0 -1
  686. package/assets/blueprint_color.svg +0 -1
  687. package/assets/bluetooth-off.svg +0 -1
  688. package/assets/bluetooth-on.svg +0 -1
  689. package/assets/body_human_color.svg +0 -1
  690. package/assets/bold.svg +0 -1
  691. package/assets/bolivia.svg +0 -1
  692. package/assets/bolt-fill.svg +0 -1
  693. package/assets/bolt.svg +0 -1
  694. package/assets/book-fill.svg +0 -1
  695. package/assets/book-open.svg +0 -1
  696. package/assets/book.svg +0 -1
  697. package/assets/book_default.svg +0 -1
  698. package/assets/bookmark-fill.svg +0 -1
  699. package/assets/bookmark-stack.svg +0 -1
  700. package/assets/bookmark.svg +0 -1
  701. package/assets/books.svg +0 -1
  702. package/assets/books_color.svg +0 -1
  703. package/assets/border-bottom.svg +0 -1
  704. package/assets/border-clear.svg +0 -1
  705. package/assets/border-horizontal.svg +0 -1
  706. package/assets/border-inner.svg +0 -1
  707. package/assets/border-left.svg +0 -1
  708. package/assets/border-outer.svg +0 -1
  709. package/assets/border-right.svg +0 -1
  710. package/assets/border-top-left.svg +0 -1
  711. package/assets/border-top.svg +0 -1
  712. package/assets/border-vertical.svg +0 -1
  713. package/assets/bosnia-and-herzegovina.svg +0 -1
  714. package/assets/botswana.svg +0 -1
  715. package/assets/bottom-alignment.svg +0 -1
  716. package/assets/bracket-curly-right.svg +0 -1
  717. package/assets/bracket-curly.svg +0 -1
  718. package/assets/bracket-round-right.svg +0 -1
  719. package/assets/bracket-round.svg +0 -1
  720. package/assets/bracket-square-right.svg +0 -1
  721. package/assets/bracket-square.svg +0 -1
  722. package/assets/brackets-curly.svg +0 -1
  723. package/assets/brackets-round.svg +0 -1
  724. package/assets/brackets-square.svg +0 -1
  725. package/assets/brazil.svg +0 -1
  726. package/assets/bright-full-fill.svg +0 -1
  727. package/assets/bright-low-fill.svg +0 -1
  728. package/assets/briight-full.svg +0 -1
  729. package/assets/briight-low.svg +0 -1
  730. package/assets/british-indian-ocean_territory.svg +0 -1
  731. package/assets/british-virgin-islands.svg +0 -1
  732. package/assets/browser.svg +0 -1
  733. package/assets/brunei.svg +0 -1
  734. package/assets/brush.svg +0 -1
  735. package/assets/building.svg +0 -1
  736. package/assets/bulgaria.svg +0 -1
  737. package/assets/burger_default.svg +0 -1
  738. package/assets/burkina-faso.svg +0 -1
  739. package/assets/burundi.svg +0 -1
  740. package/assets/bus.svg +0 -1
  741. package/assets/calendar-add.svg +0 -1
  742. package/assets/calendar-edit.svg +0 -1
  743. package/assets/calendar-export.svg +0 -1
  744. package/assets/calendar-fill.svg +0 -1
  745. package/assets/calendar-import.svg +0 -1
  746. package/assets/calendar-minus.svg +0 -1
  747. package/assets/calendar-remove.svg +0 -1
  748. package/assets/calendar-tick.svg +0 -1
  749. package/assets/calendar-user.svg +0 -1
  750. package/assets/calendar-warning.svg +0 -1
  751. package/assets/calendar.svg +0 -1
  752. package/assets/calendar_color.svg +0 -1
  753. package/assets/calendar_default.svg +0 -1
  754. package/assets/calendar_simple_default.svg +0 -1
  755. package/assets/calendars.svg +0 -1
  756. package/assets/cambodia.svg +0 -1
  757. package/assets/camera-off.svg +0 -1
  758. package/assets/camera.svg +0 -1
  759. package/assets/cameroon.svg +0 -1
  760. package/assets/camp.svg +0 -1
  761. package/assets/camps_default.svg +0 -1
  762. package/assets/canada.svg +0 -1
  763. package/assets/canary-islands.svg +0 -1
  764. package/assets/cancel_default.svg +0 -1
  765. package/assets/cape-verde.svg +0 -1
  766. package/assets/car.svg +0 -1
  767. package/assets/card-flip.svg +0 -1
  768. package/assets/caret-down-fill.svg +0 -1
  769. package/assets/caret-down.svg +0 -1
  770. package/assets/caret-left-fill.svg +0 -1
  771. package/assets/caret-left-to-line-fill.svg +0 -1
  772. package/assets/caret-left-to-line.svg +0 -1
  773. package/assets/caret-left.svg +0 -1
  774. package/assets/caret-right-fill.svg +0 -1
  775. package/assets/caret-right-to-line-fill.svg +0 -1
  776. package/assets/caret-right-to-line.svg +0 -1
  777. package/assets/caret-right.svg +0 -1
  778. package/assets/caret-up-fill.svg +0 -1
  779. package/assets/caret-up.svg +0 -1
  780. package/assets/cart-arrow-down.svg +0 -1
  781. package/assets/cart-arrow-up.svg +0 -1
  782. package/assets/cart-close.svg +0 -1
  783. package/assets/cart-fast.svg +0 -1
  784. package/assets/cart-minus.svg +0 -1
  785. package/assets/cart-notif.svg +0 -1
  786. package/assets/cart-plus.svg +0 -1
  787. package/assets/cart-tick.svg +0 -1
  788. package/assets/cart.svg +0 -1
  789. package/assets/cart_default.svg +0 -1
  790. package/assets/case_color.svg +0 -1
  791. package/assets/cayman-islands.svg +0 -1
  792. package/assets/central-african-republic.svg +0 -1
  793. package/assets/certificate-check.svg +0 -1
  794. package/assets/certificate.svg +0 -1
  795. package/assets/ceuta.svg +0 -1
  796. package/assets/chad.svg +0 -1
  797. package/assets/chart-area.svg +0 -1
  798. package/assets/chart-bar.svg +0 -1
  799. package/assets/chart-bullet.svg +0 -1
  800. package/assets/chart-column.svg +0 -1
  801. package/assets/chart-gantt.svg +0 -1
  802. package/assets/chart-line-down.svg +0 -1
  803. package/assets/chart-line-up.svg +0 -1
  804. package/assets/chart-line.svg +0 -1
  805. package/assets/chart-mixed.svg +0 -1
  806. package/assets/chart-network.svg +0 -1
  807. package/assets/chart-pie.svg +0 -1
  808. package/assets/chart-pyramid.svg +0 -1
  809. package/assets/chart-radar.svg +0 -1
  810. package/assets/chart-scatter-3d.svg +0 -1
  811. package/assets/chart-scatter-bubble.svg +0 -1
  812. package/assets/chart-scatter.svg +0 -1
  813. package/assets/chart-simple-horizontal.svg +0 -1
  814. package/assets/chart-simple.svg +0 -1
  815. package/assets/chart-tree-map.svg +0 -1
  816. package/assets/chart-user-square.svg +0 -1
  817. package/assets/chart-waterfall.svg +0 -1
  818. package/assets/check-circle-fill.svg +0 -1
  819. package/assets/check-circle.svg +0 -1
  820. package/assets/check-double-fill.svg +0 -1
  821. package/assets/check-double.svg +0 -1
  822. package/assets/check-fill.svg +0 -1
  823. package/assets/check.svg +0 -1
  824. package/assets/checkCircle_default.svg +0 -1
  825. package/assets/check_default.svg +0 -1
  826. package/assets/chemistry.svg +0 -1
  827. package/assets/chemistry_color.svg +0 -1
  828. package/assets/chess_alt_color.svg +0 -1
  829. package/assets/chess_color.svg +0 -1
  830. package/assets/chevron-down-fill.svg +0 -1
  831. package/assets/chevron-down-left-fill.svg +0 -1
  832. package/assets/chevron-down-left.svg +0 -1
  833. package/assets/chevron-down-right-fill.svg +0 -1
  834. package/assets/chevron-down-right.svg +0 -1
  835. package/assets/chevron-down-small-fill.svg +0 -1
  836. package/assets/chevron-down-small.svg +0 -1
  837. package/assets/chevron-down.svg +0 -1
  838. package/assets/chevron-left-fill.svg +0 -1
  839. package/assets/chevron-left-small-fill.svg +0 -1
  840. package/assets/chevron-left-small.svg +0 -1
  841. package/assets/chevron-left.svg +0 -1
  842. package/assets/chevron-right-fill.svg +0 -1
  843. package/assets/chevron-right-small-fill.svg +0 -1
  844. package/assets/chevron-right-small.svg +0 -1
  845. package/assets/chevron-right.svg +0 -1
  846. package/assets/chevron-selector-horizontal.svg +0 -1
  847. package/assets/chevron-selector-vertical.svg +0 -1
  848. package/assets/chevron-up-fill.svg +0 -1
  849. package/assets/chevron-up-left-fill.svg +0 -1
  850. package/assets/chevron-up-left.svg +0 -1
  851. package/assets/chevron-up-right-fill.svg +0 -1
  852. package/assets/chevron-up-right.svg +0 -1
  853. package/assets/chevron-up-small-fill.svg +0 -1
  854. package/assets/chevron-up-small.svg +0 -1
  855. package/assets/chevron-up.svg +0 -1
  856. package/assets/chevronDown_default.svg +0 -1
  857. package/assets/chevronLeft_default.svg +0 -1
  858. package/assets/chevronRight_default.svg +0 -1
  859. package/assets/chevronUp_default.svg +0 -1
  860. package/assets/children.svg +0 -1
  861. package/assets/chile.svg +0 -1
  862. package/assets/china.svg +0 -1
  863. package/assets/chinese_color.svg +0 -1
  864. package/assets/circle-dollar-to-slot.svg +0 -1
  865. package/assets/circle-dollar.svg +0 -1
  866. package/assets/circle-notch.svg +0 -1
  867. package/assets/circle-pause.svg +0 -1
  868. package/assets/circle-play.svg +0 -1
  869. package/assets/circle-quarter.svg +0 -1
  870. package/assets/circle-quarters.svg +0 -1
  871. package/assets/circle-three-quarters.svg +0 -1
  872. package/assets/circle-user-fill.svg +0 -1
  873. package/assets/city.svg +0 -1
  874. package/assets/clipboard-export.svg +0 -1
  875. package/assets/clipboard-import.svg +0 -1
  876. package/assets/clipboard-list-alt.svg +0 -1
  877. package/assets/clipboard-minus.svg +0 -1
  878. package/assets/clipboard-plus.svg +0 -1
  879. package/assets/clipboard-text.svg +0 -1
  880. package/assets/clipboard.svg +0 -1
  881. package/assets/clock-add.svg +0 -1
  882. package/assets/clock-done.svg +0 -1
  883. package/assets/clock-fill.svg +0 -1
  884. package/assets/clock-remove.svg +0 -1
  885. package/assets/clock-warning.svg +0 -1
  886. package/assets/clock.svg +0 -1
  887. package/assets/clockFilled_default.svg +0 -1
  888. package/assets/clock_default.svg +0 -1
  889. package/assets/close-cirlce-fill.svg +0 -1
  890. package/assets/close-cirlce.svg +0 -1
  891. package/assets/close-fill.svg +0 -1
  892. package/assets/close-large-fill.svg +0 -1
  893. package/assets/close-large.svg +0 -1
  894. package/assets/close.svg +0 -1
  895. package/assets/cloud-add.svg +0 -1
  896. package/assets/cloud-bolt.svg +0 -1
  897. package/assets/cloud-done.svg +0 -1
  898. package/assets/cloud-download.svg +0 -1
  899. package/assets/cloud-error.svg +0 -1
  900. package/assets/cloud-export.svg +0 -1
  901. package/assets/cloud-import.svg +0 -1
  902. package/assets/cloud-off.svg +0 -1
  903. package/assets/cloud-question.svg +0 -1
  904. package/assets/cloud-remove.svg +0 -1
  905. package/assets/cloud-upload.svg +0 -1
  906. package/assets/cloud-warning.svg +0 -1
  907. package/assets/cloud.svg +0 -1
  908. package/assets/club.svg +0 -1
  909. package/assets/cocos-island.svg +0 -1
  910. package/assets/code.svg +0 -1
  911. package/assets/coin-vertical.svg +0 -1
  912. package/assets/coin.svg +0 -1
  913. package/assets/coins.svg +0 -1
  914. package/assets/coins_default.svg +0 -1
  915. package/assets/college_color.svg +0 -1
  916. package/assets/colombia.svg +0 -1
  917. package/assets/columns-2.svg +0 -1
  918. package/assets/columns-3.svg +0 -1
  919. package/assets/comoros.svg +0 -1
  920. package/assets/compass.svg +0 -1
  921. package/assets/computer.svg +0 -1
  922. package/assets/constrict.svg +0 -1
  923. package/assets/cook-islands.svg +0 -1
  924. package/assets/copy-fill.svg +0 -1
  925. package/assets/copy.svg +0 -1
  926. package/assets/copy_default.svg +0 -4
  927. package/assets/corner-down-left-fill.svg +0 -1
  928. package/assets/corner-down-left.svg +0 -1
  929. package/assets/corner-down-right-fill.svg +0 -1
  930. package/assets/corner-down-right.svg +0 -1
  931. package/assets/corner-left-down-fill.svg +0 -1
  932. package/assets/corner-left-down.svg +0 -1
  933. package/assets/corner-left-up-fill.svg +0 -1
  934. package/assets/corner-left-up.svg +0 -1
  935. package/assets/corner-right-down-fill.svg +0 -1
  936. package/assets/corner-right-down.svg +0 -1
  937. package/assets/corner-right-up-fill.svg +0 -1
  938. package/assets/corner-right-up.svg +0 -1
  939. package/assets/corner-up-left-fill.svg +0 -1
  940. package/assets/corner-up-left.svg +0 -1
  941. package/assets/corner-up-right-fill.svg +0 -1
  942. package/assets/corner-up-right.svg +0 -1
  943. package/assets/costa-rica.svg +0 -1
  944. package/assets/cource_color.svg +0 -1
  945. package/assets/courses_default.svg +0 -1
  946. package/assets/creativity_color.svg +0 -1
  947. package/assets/credit-card-add.svg +0 -1
  948. package/assets/credit-card-remove.svg +0 -1
  949. package/assets/credit-card-scan.svg +0 -1
  950. package/assets/credit-card.svg +0 -1
  951. package/assets/croatia.svg +0 -1
  952. package/assets/crop.svg +0 -1
  953. package/assets/cross_default.svg +0 -1
  954. package/assets/crown.svg +0 -1
  955. package/assets/cuba.svg +0 -1
  956. package/assets/cube-sharp.svg +0 -1
  957. package/assets/cube-vr.svg +0 -1
  958. package/assets/cube.svg +0 -1
  959. package/assets/curacao.svg +0 -1
  960. package/assets/cursor-fill.svg +0 -1
  961. package/assets/cursor.svg +0 -1
  962. package/assets/cyprus.svg +0 -1
  963. package/assets/czech-republic.svg +0 -1
  964. package/assets/dash.svg +0 -1
  965. package/assets/delete-fill.svg +0 -1
  966. package/assets/delete.svg +0 -1
  967. package/assets/democratic-republic-of_congo.svg +0 -1
  968. package/assets/denmark.svg +0 -1
  969. package/assets/development_1_color.svg +0 -1
  970. package/assets/development_2_color.svg +0 -1
  971. package/assets/diagram-cells.svg +0 -1
  972. package/assets/diagram-lean-canvas.svg +0 -1
  973. package/assets/diagram-nested.svg +0 -1
  974. package/assets/diagram-next.svg +0 -1
  975. package/assets/diagram-predecessor.svg +0 -1
  976. package/assets/diagram-previous.svg +0 -1
  977. package/assets/diagram-project.svg +0 -1
  978. package/assets/diagram-sankey.svg +0 -1
  979. package/assets/diagram-subtask.svg +0 -1
  980. package/assets/diagram-successor.svg +0 -1
  981. package/assets/diagram-venn.svg +0 -1
  982. package/assets/dialog_default.svg +0 -1
  983. package/assets/dialpad-circle.svg +0 -1
  984. package/assets/dialpad-square.svg +0 -1
  985. package/assets/diamond-simple.svg +0 -1
  986. package/assets/diamond.svg +0 -1
  987. package/assets/diamondFilled_default.svg +0 -1
  988. package/assets/diamond_default.svg +0 -1
  989. package/assets/dice-five.svg +0 -1
  990. package/assets/dice-four.svg +0 -1
  991. package/assets/dice-one.svg +0 -1
  992. package/assets/dice-six.svg +0 -1
  993. package/assets/dice-three.svg +0 -1
  994. package/assets/dice-two.svg +0 -1
  995. package/assets/digital_professions_color.svg +0 -1
  996. package/assets/diploma_color.svg +0 -1
  997. package/assets/disc.svg +0 -1
  998. package/assets/discount-badge.svg +0 -1
  999. package/assets/discount-circle.svg +0 -1
  1000. package/assets/discount_default.svg +0 -1
  1001. package/assets/dislike.svg +0 -1
  1002. package/assets/distribute-spacing-horizontal.svg +0 -1
  1003. package/assets/distribute-spacing-vertical.svg +0 -1
  1004. package/assets/djibouti.svg +0 -1
  1005. package/assets/doc.svg +0 -1
  1006. package/assets/document-layout-center.svg +0 -1
  1007. package/assets/document-layout-left.svg +0 -1
  1008. package/assets/document-layout-right.svg +0 -1
  1009. package/assets/document_default.svg +0 -1
  1010. package/assets/dominica.svg +0 -1
  1011. package/assets/dominican-republic.svg +0 -1
  1012. package/assets/door-closed.svg +0 -1
  1013. package/assets/door-open.svg +0 -1
  1014. package/assets/double-xp-fill.svg +0 -1
  1015. package/assets/download-fill.svg +0 -1
  1016. package/assets/download.svg +0 -1
  1017. package/assets/draw-square-t.svg +0 -1
  1018. package/assets/draw-square.svg +0 -1
  1019. package/assets/drawing-tablet.svg +0 -1
  1020. package/assets/drawing_color.svg +0 -1
  1021. package/assets/dropDownArrow_default.svg +0 -1
  1022. package/assets/early_education_color.svg +0 -1
  1023. package/assets/east-timor.svg +0 -1
  1024. package/assets/ecology.svg +0 -1
  1025. package/assets/ecology_color.svg +0 -1
  1026. package/assets/economy_color.svg +0 -1
  1027. package/assets/ecuador.svg +0 -1
  1028. package/assets/edit-fill.svg +0 -1
  1029. package/assets/edit-pen-fill.svg +0 -1
  1030. package/assets/edit-pen.svg +0 -1
  1031. package/assets/edit.svg +0 -1
  1032. package/assets/edit_default.svg +0 -1
  1033. package/assets/education_color.svg +0 -1
  1034. package/assets/education_program_color.svg +0 -1
  1035. package/assets/educont-auth-mono-color.svg +0 -1
  1036. package/assets/educont-authorization.svg +0 -1
  1037. package/assets/egypt.svg +0 -1
  1038. package/assets/el-salvador.svg +0 -1
  1039. package/assets/elementary_color.svg +0 -1
  1040. package/assets/email_default.svg +0 -1
  1041. package/assets/emotional_intelligence_color.svg +0 -1
  1042. package/assets/england.svg +0 -1
  1043. package/assets/english-to-chinese.svg +0 -1
  1044. package/assets/english.svg +0 -1
  1045. package/assets/english_color.svg +0 -1
  1046. package/assets/enter-fill.svg +0 -1
  1047. package/assets/enter.svg +0 -1
  1048. package/assets/equatorial-guinea.svg +0 -1
  1049. package/assets/eritrea.svg +0 -1
  1050. package/assets/estonia.svg +0 -1
  1051. package/assets/ethiopia.svg +0 -1
  1052. package/assets/european-union.svg +0 -1
  1053. package/assets/exam-test_color.svg +0 -1
  1054. package/assets/exam_color.svg +0 -1
  1055. package/assets/expand.svg +0 -1
  1056. package/assets/export-fill.svg +0 -1
  1057. package/assets/export.svg +0 -1
  1058. package/assets/external-link-fill.svg +0 -1
  1059. package/assets/external-link.svg +0 -1
  1060. package/assets/externalLink_default.svg +0 -1
  1061. package/assets/externat_default.svg +0 -1
  1062. package/assets/eye-close-fill.svg +0 -1
  1063. package/assets/eye-close.svg +0 -1
  1064. package/assets/eye-dropper-full.svg +0 -1
  1065. package/assets/eye-dropper-half.svg +0 -1
  1066. package/assets/eye-dropper.svg +0 -1
  1067. package/assets/eye-fill.svg +0 -1
  1068. package/assets/eye-slash-fill.svg +0 -1
  1069. package/assets/eye-slash.svg +0 -1
  1070. package/assets/eye.svg +0 -1
  1071. package/assets/eye_default.svg +0 -1
  1072. package/assets/face-frown-fill.svg +0 -1
  1073. package/assets/face-frown.svg +0 -1
  1074. package/assets/face-id.svg +0 -1
  1075. package/assets/face-smile-fill.svg +0 -1
  1076. package/assets/face-smile.svg +0 -1
  1077. package/assets/facebook-social-color.svg +0 -1
  1078. package/assets/facebook-social.svg +0 -1
  1079. package/assets/falkland-islands.svg +0 -1
  1080. package/assets/family-house.svg +0 -1
  1081. package/assets/family.svg +0 -1
  1082. package/assets/faroe-islands.svg +0 -1
  1083. package/assets/fast-timer.svg +0 -1
  1084. package/assets/figma.svg +0 -1
  1085. package/assets/fiji.svg +0 -1
  1086. package/assets/file-add-alt-1.svg +0 -1
  1087. package/assets/file-add.svg +0 -1
  1088. package/assets/file-bookmark.svg +0 -1
  1089. package/assets/file-dashed-line.svg +0 -1
  1090. package/assets/file-download.svg +0 -1
  1091. package/assets/file-edit-corner.svg +0 -1
  1092. package/assets/file-edit.svg +0 -1
  1093. package/assets/file-exclamation-corner.svg +0 -1
  1094. package/assets/file-horizontal.svg +0 -1
  1095. package/assets/file-import.svg +0 -1
  1096. package/assets/file-info-corner.svg +0 -1
  1097. package/assets/file-info.svg +0 -1
  1098. package/assets/file-link.svg +0 -1
  1099. package/assets/file-minus-corner.svg +0 -1
  1100. package/assets/file-minus.svg +0 -1
  1101. package/assets/file-move.svg +0 -1
  1102. package/assets/file-off.svg +0 -1
  1103. package/assets/file-pdf.svg +0 -1
  1104. package/assets/file-question-corner.svg +0 -1
  1105. package/assets/file-question.svg +0 -1
  1106. package/assets/file-remove.svg +0 -1
  1107. package/assets/file-shredder.svg +0 -1
  1108. package/assets/file-text.svg +0 -1
  1109. package/assets/file-tick.svg +0 -1
  1110. package/assets/file-upload.svg +0 -1
  1111. package/assets/file-warning.svg +0 -1
  1112. package/assets/file-zipper.svg +0 -1
  1113. package/assets/file.svg +0 -1
  1114. package/assets/fileBordered_default.svg +0 -1
  1115. package/assets/file_default.svg +0 -1
  1116. package/assets/files.svg +0 -1
  1117. package/assets/filter-fill.svg +0 -1
  1118. package/assets/filter.svg +0 -1
  1119. package/assets/finance_color.svg +0 -1
  1120. package/assets/financial_battle_color.svg +0 -1
  1121. package/assets/financial_literature_color.svg +0 -1
  1122. package/assets/fingerprint.svg +0 -1
  1123. package/assets/finland.svg +0 -1
  1124. package/assets/fire-alt.svg +0 -1
  1125. package/assets/fire-fill.svg +0 -1
  1126. package/assets/fire-small-fill.svg +0 -1
  1127. package/assets/fire.svg +0 -1
  1128. package/assets/fire_default.svg +0 -1
  1129. package/assets/fizra_2_color.svg +0 -1
  1130. package/assets/fizra_color.svg +0 -1
  1131. package/assets/fizra_elementary_color.svg +0 -1
  1132. package/assets/flag.svg +0 -1
  1133. package/assets/flash-cards.svg +0 -1
  1134. package/assets/flashlight.svg +0 -1
  1135. package/assets/folder-add.svg +0 -1
  1136. package/assets/folder-export.svg +0 -1
  1137. package/assets/folder-import.svg +0 -1
  1138. package/assets/folder-info.svg +0 -1
  1139. package/assets/folder-minus.svg +0 -1
  1140. package/assets/folder-move.svg +0 -1
  1141. package/assets/folder-notif.svg +0 -1
  1142. package/assets/folder-question.svg +0 -1
  1143. package/assets/folder-remove.svg +0 -1
  1144. package/assets/folder-tick.svg +0 -1
  1145. package/assets/folder-warning.svg +0 -1
  1146. package/assets/folder.svg +0 -1
  1147. package/assets/folder_color.svg +0 -1
  1148. package/assets/font-case.svg +0 -1
  1149. package/assets/font.svg +0 -1
  1150. package/assets/food_color.svg +0 -1
  1151. package/assets/foreign_language_color.svg +0 -1
  1152. package/assets/forward-fill.svg +0 -1
  1153. package/assets/forward.svg +0 -1
  1154. package/assets/fox-coin.svg +0 -1
  1155. package/assets/fox-coins.svg +0 -1
  1156. package/assets/france.svg +0 -1
  1157. package/assets/french-polynesia.svg +0 -1
  1158. package/assets/french_color.svg +0 -1
  1159. package/assets/gabon.svg +0 -1
  1160. package/assets/gallery-thumbnails.svg +0 -1
  1161. package/assets/gambia.svg +0 -1
  1162. package/assets/game.svg +0 -1
  1163. package/assets/game_profession_dev_color.svg +0 -1
  1164. package/assets/game_profession_producer_color.svg +0 -1
  1165. package/assets/game_profession_screenwriter_color.svg +0 -1
  1166. package/assets/games_color.svg +0 -1
  1167. package/assets/gem.svg +0 -1
  1168. package/assets/geography.svg +0 -1
  1169. package/assets/geography_color.svg +0 -1
  1170. package/assets/geography_elementary_color.svg +0 -1
  1171. package/assets/geometry_color.svg +0 -1
  1172. package/assets/georgia.svg +0 -1
  1173. package/assets/german_color.svg +0 -1
  1174. package/assets/germany.svg +0 -1
  1175. package/assets/ghana.svg +0 -1
  1176. package/assets/gibraltar.svg +0 -1
  1177. package/assets/gift-alt-fill.svg +0 -1
  1178. package/assets/gift-box.svg +0 -1
  1179. package/assets/gift-card.svg +0 -1
  1180. package/assets/gift-fill.svg +0 -1
  1181. package/assets/gift.svg +0 -1
  1182. package/assets/globe.svg +0 -1
  1183. package/assets/goal.svg +0 -1
  1184. package/assets/gold.svg +0 -1
  1185. package/assets/google-auth-mono-color.svg +0 -1
  1186. package/assets/google-authorization.svg +0 -1
  1187. package/assets/gps-off.svg +0 -1
  1188. package/assets/gps.svg +0 -1
  1189. package/assets/greece.svg +0 -1
  1190. package/assets/greenland.svg +0 -1
  1191. package/assets/grenada.svg +0 -1
  1192. package/assets/grid-circle-fill.svg +0 -1
  1193. package/assets/grid-circle.svg +0 -1
  1194. package/assets/grid-fill.svg +0 -1
  1195. package/assets/grid-plus-fill.svg +0 -1
  1196. package/assets/grid-plus.svg +0 -1
  1197. package/assets/grid.svg +0 -1
  1198. package/assets/grip-dots-fill.svg +0 -1
  1199. package/assets/grip-dots-vertical-fill.svg +0 -1
  1200. package/assets/grip-dots-vertical.svg +0 -1
  1201. package/assets/grip-dots.svg +0 -1
  1202. package/assets/group_color.svg +0 -1
  1203. package/assets/guam.svg +0 -1
  1204. package/assets/guatemala.svg +0 -1
  1205. package/assets/guernsey.svg +0 -1
  1206. package/assets/guinea-bissau.svg +0 -1
  1207. package/assets/guinea.svg +0 -1
  1208. package/assets/guyana.svg +0 -1
  1209. package/assets/h1.svg +0 -1
  1210. package/assets/h2.svg +0 -1
  1211. package/assets/haiti.svg +0 -1
  1212. package/assets/hand-left.svg +0 -1
  1213. package/assets/hand-right.svg +0 -1
  1214. package/assets/hand-slash.svg +0 -1
  1215. package/assets/hard-drive.svg +0 -1
  1216. package/assets/hashtag-lock.svg +0 -1
  1217. package/assets/hashtag.svg +0 -1
  1218. package/assets/hat.svg +0 -1
  1219. package/assets/heading.svg +0 -1
  1220. package/assets/headphones.svg +0 -1
  1221. package/assets/headphones_default.svg +0 -1
  1222. package/assets/heart-circle-fill.svg +0 -1
  1223. package/assets/heart-circle.svg +0 -1
  1224. package/assets/heart-crack.svg +0 -1
  1225. package/assets/heart-fill.svg +0 -1
  1226. package/assets/heart-half-stroke.svg +0 -1
  1227. package/assets/heart-half.svg +0 -1
  1228. package/assets/heart.svg +0 -1
  1229. package/assets/help-circle-fill.svg +0 -1
  1230. package/assets/help-circle.svg +0 -1
  1231. package/assets/help-seal-fill.svg +0 -1
  1232. package/assets/help-seal.svg +0 -1
  1233. package/assets/help.svg +0 -1
  1234. package/assets/hexagon.svg +0 -1
  1235. package/assets/history.svg +0 -1
  1236. package/assets/history_alt_color.svg +0 -1
  1237. package/assets/history_color.svg +0 -1
  1238. package/assets/home_default.svg +0 -1
  1239. package/assets/home_school_color.svg +0 -1
  1240. package/assets/honduras.svg +0 -1
  1241. package/assets/hong-kong.svg +0 -1
  1242. package/assets/horizontal-rule.svg +0 -1
  1243. package/assets/hotel.svg +0 -1
  1244. package/assets/hourglass-end.svg +0 -1
  1245. package/assets/hourglass-half.svg +0 -1
  1246. package/assets/hourglass-start.svg +0 -1
  1247. package/assets/hourglass.svg +0 -1
  1248. package/assets/house-alt-fill.svg +0 -1
  1249. package/assets/house-empty.svg +0 -1
  1250. package/assets/house-fill.svg +0 -1
  1251. package/assets/house.svg +0 -1
  1252. package/assets/hungary.svg +0 -1
  1253. package/assets/i-cursor.svg +0 -1
  1254. package/assets/iceland.svg +0 -1
  1255. package/assets/image-add.svg +0 -1
  1256. package/assets/image-edit.svg +0 -1
  1257. package/assets/image-error.svg +0 -1
  1258. package/assets/image-export.svg +0 -1
  1259. package/assets/image-import.svg +0 -1
  1260. package/assets/image-remove.svg +0 -1
  1261. package/assets/image-tick.svg +0 -1
  1262. package/assets/image-user.svg +0 -1
  1263. package/assets/image.svg +0 -1
  1264. package/assets/import-fill.svg +0 -1
  1265. package/assets/import.svg +0 -1
  1266. package/assets/inbox-add.svg +0 -1
  1267. package/assets/inbox-check.svg +0 -1
  1268. package/assets/inbox-export.svg +0 -1
  1269. package/assets/inbox-import.svg +0 -1
  1270. package/assets/inbox-information.svg +0 -1
  1271. package/assets/inbox-minus.svg +0 -1
  1272. package/assets/inbox-move.svg +0 -1
  1273. package/assets/inbox-notif.svg +0 -1
  1274. package/assets/inbox-remove.svg +0 -1
  1275. package/assets/inbox-warning.svg +0 -1
  1276. package/assets/inbox.svg +0 -1
  1277. package/assets/income.svg +0 -1
  1278. package/assets/indent.svg +0 -1
  1279. package/assets/india.svg +0 -1
  1280. package/assets/indonesia.svg +0 -1
  1281. package/assets/industry.svg +0 -1
  1282. package/assets/infinity.svg +0 -1
  1283. package/assets/info-circle-fill.svg +0 -1
  1284. package/assets/info-circle.svg +0 -1
  1285. package/assets/infoInverse_default.svg +0 -1
  1286. package/assets/info_default.svg +0 -1
  1287. package/assets/informatics_color.svg +0 -1
  1288. package/assets/information.svg +0 -1
  1289. package/assets/instagram-social-color.svg +0 -1
  1290. package/assets/instagram-social.svg +0 -1
  1291. package/assets/iran.svg +0 -1
  1292. package/assets/iraq.svg +0 -1
  1293. package/assets/ireland.svg +0 -1
  1294. package/assets/isle-of-man.svg +0 -1
  1295. package/assets/israel.svg +0 -1
  1296. package/assets/italic.svg +0 -1
  1297. package/assets/italy.svg +0 -1
  1298. package/assets/items.svg +0 -1
  1299. package/assets/ivory-coast.svg +0 -1
  1300. package/assets/jamaica.svg +0 -1
  1301. package/assets/japan.svg +0 -1
  1302. package/assets/jersey.svg +0 -1
  1303. package/assets/jordan.svg +0 -1
  1304. package/assets/journalistic_color.svg +0 -1
  1305. package/assets/kazakhstan.svg +0 -1
  1306. package/assets/kenya.svg +0 -1
  1307. package/assets/kerning.svg +0 -1
  1308. package/assets/key-tiny.svg +0 -1
  1309. package/assets/key.svg +0 -1
  1310. package/assets/keyboard-close.svg +0 -1
  1311. package/assets/keyboard.svg +0 -1
  1312. package/assets/kiribati.svg +0 -1
  1313. package/assets/kuwait.svg +0 -1
  1314. package/assets/kyrgyzstan.svg +0 -1
  1315. package/assets/lamp-charge-fill.svg +0 -1
  1316. package/assets/lamp-charge.svg +0 -1
  1317. package/assets/lamp-off-fill.svg +0 -1
  1318. package/assets/lamp-off.svg +0 -1
  1319. package/assets/lamp-on-fill.svg +0 -1
  1320. package/assets/lamp-on.svg +0 -1
  1321. package/assets/lamp-warning-fill.svg +0 -1
  1322. package/assets/lamp-warning.svg +0 -1
  1323. package/assets/laos.svg +0 -1
  1324. package/assets/laptop-arrow-down.svg +0 -1
  1325. package/assets/laptop-arrow-up.svg +0 -1
  1326. package/assets/laptop-error.svg +0 -1
  1327. package/assets/laptop-exclamation.svg +0 -1
  1328. package/assets/laptop-signal.svg +0 -1
  1329. package/assets/laptop-tick.svg +0 -1
  1330. package/assets/laptop.svg +0 -1
  1331. package/assets/lasso.svg +0 -1
  1332. package/assets/latvia.svg +0 -1
  1333. package/assets/lebanon.svg +0 -1
  1334. package/assets/left-alignment.svg +0 -1
  1335. package/assets/left-indent.svg +0 -1
  1336. package/assets/left-to-right-text-direction.svg +0 -1
  1337. package/assets/lesotho.svg +0 -1
  1338. package/assets/lessons_default.svg +0 -1
  1339. package/assets/letter-chinese-a.svg +0 -1
  1340. package/assets/liberia.svg +0 -1
  1341. package/assets/libya.svg +0 -1
  1342. package/assets/liechtenstein.svg +0 -1
  1343. package/assets/light-warning-on.svg +0 -1
  1344. package/assets/light-warning.svg +0 -1
  1345. package/assets/lightning-fill.svg +0 -1
  1346. package/assets/lightning.svg +0 -1
  1347. package/assets/like.svg +0 -1
  1348. package/assets/line-columns.svg +0 -1
  1349. package/assets/line-height.svg +0 -1
  1350. package/assets/lines-leaning.svg +0 -1
  1351. package/assets/link-fill.svg +0 -1
  1352. package/assets/link-slash.svg +0 -1
  1353. package/assets/link.svg +0 -1
  1354. package/assets/list-circle.svg +0 -1
  1355. package/assets/list-ol.svg +0 -1
  1356. package/assets/list-ul-level.svg +0 -1
  1357. package/assets/list-ul.svg +0 -1
  1358. package/assets/list.svg +0 -1
  1359. package/assets/list_default.svg +0 -1
  1360. package/assets/literature.svg +0 -1
  1361. package/assets/literature_alt_color.svg +0 -1
  1362. package/assets/literature_color.svg +0 -1
  1363. package/assets/lithuania.svg +0 -1
  1364. package/assets/loader-fill.svg +0 -1
  1365. package/assets/loader.svg +0 -1
  1366. package/assets/loading.svg +0 -1
  1367. package/assets/location-check.svg +0 -1
  1368. package/assets/lock-a.svg +0 -1
  1369. package/assets/lock-fill.svg +0 -1
  1370. package/assets/lock-hashtag.svg +0 -1
  1371. package/assets/lock-slash.svg +0 -1
  1372. package/assets/lock.svg +0 -1
  1373. package/assets/log-in-fill.svg +0 -1
  1374. package/assets/log-in.svg +0 -1
  1375. package/assets/log-out-fill.svg +0 -1
  1376. package/assets/log-out.svg +0 -1
  1377. package/assets/logic_color.svg +0 -1
  1378. package/assets/login_default.svg +0 -3
  1379. package/assets/logoped_color.svg +0 -1
  1380. package/assets/logout_default.svg +0 -1
  1381. package/assets/loop.svg +0 -1
  1382. package/assets/luxembourg.svg +0 -1
  1383. package/assets/macao.svg +0 -1
  1384. package/assets/madagascar.svg +0 -1
  1385. package/assets/mail-add.svg +0 -1
  1386. package/assets/mail-block.svg +0 -1
  1387. package/assets/mail-edit.svg +0 -1
  1388. package/assets/mail-fill.svg +0 -1
  1389. package/assets/mail-info.svg +0 -1
  1390. package/assets/mail-minus.svg +0 -1
  1391. package/assets/mail-notif.svg +0 -1
  1392. package/assets/mail-open.svg +0 -1
  1393. package/assets/mail-refresh.svg +0 -1
  1394. package/assets/mail-remove.svg +0 -1
  1395. package/assets/mail-tick.svg +0 -1
  1396. package/assets/mail-warning.svg +0 -1
  1397. package/assets/mail.ru-authorization.svg +0 -1
  1398. package/assets/mail.svg +0 -1
  1399. package/assets/mailru-auth-mono-color.svg +0 -1
  1400. package/assets/malawi.svg +0 -1
  1401. package/assets/malaysia.svg +0 -1
  1402. package/assets/maldives.svg +0 -1
  1403. package/assets/mali.svg +0 -1
  1404. package/assets/malta.svg +0 -1
  1405. package/assets/map-location-pin.svg +0 -1
  1406. package/assets/map-marker-add.svg +0 -1
  1407. package/assets/map-marker-error.svg +0 -1
  1408. package/assets/map-marker-off.svg +0 -1
  1409. package/assets/map-marker-remove.svg +0 -1
  1410. package/assets/map-marker-warning.svg +0 -1
  1411. package/assets/map-marker.svg +0 -1
  1412. package/assets/map.svg +0 -1
  1413. package/assets/marshall-island.svg +0 -1
  1414. package/assets/martinique.svg +0 -1
  1415. package/assets/materials_color.svg +0 -1
  1416. package/assets/math_color.svg +0 -1
  1417. package/assets/math_elementary_color.svg +0 -1
  1418. package/assets/mathematics.svg +0 -1
  1419. package/assets/mauritania.svg +0 -1
  1420. package/assets/mauritius.svg +0 -1
  1421. package/assets/maximize.svg +0 -1
  1422. package/assets/medal-fill.svg +0 -1
  1423. package/assets/medal.svg +0 -1
  1424. package/assets/medicine_color.svg +0 -1
  1425. package/assets/megaphone_color.svg +0 -1
  1426. package/assets/memo-check.svg +0 -1
  1427. package/assets/memo-pencil.svg +0 -1
  1428. package/assets/menu-fill.svg +0 -1
  1429. package/assets/menu.svg +0 -1
  1430. package/assets/message-circle-chat-fill.svg +0 -1
  1431. package/assets/message-circle-chat.svg +0 -1
  1432. package/assets/message-circle-export.svg +0 -1
  1433. package/assets/message-circle-import.svg +0 -1
  1434. package/assets/message-circle-info.svg +0 -1
  1435. package/assets/message-circle-lines.svg +0 -1
  1436. package/assets/message-circle-minus.svg +0 -1
  1437. package/assets/message-circle-notif.svg +0 -1
  1438. package/assets/message-circle-plus.svg +0 -1
  1439. package/assets/message-circle-question.svg +0 -1
  1440. package/assets/message-circle-tick.svg +0 -1
  1441. package/assets/message-circle-warning.svg +0 -1
  1442. package/assets/message-circle-xmark.svg +0 -1
  1443. package/assets/message-circle.svg +0 -1
  1444. package/assets/message-square-arrow-down.svg +0 -1
  1445. package/assets/message-square-chat.svg +0 -1
  1446. package/assets/message-square-export.svg +0 -1
  1447. package/assets/message-square-info.svg +0 -1
  1448. package/assets/message-square-lines-fill.svg +0 -1
  1449. package/assets/message-square-lines.svg +0 -1
  1450. package/assets/message-square-minus.svg +0 -1
  1451. package/assets/message-square-notif.svg +0 -1
  1452. package/assets/message-square-plus.svg +0 -1
  1453. package/assets/message-square-question.svg +0 -1
  1454. package/assets/message-square-remove.svg +0 -1
  1455. package/assets/message-square-tick.svg +0 -1
  1456. package/assets/message-square-warning.svg +0 -1
  1457. package/assets/message-square.svg +0 -1
  1458. package/assets/message_default.svg +0 -1
  1459. package/assets/mexico.svg +0 -1
  1460. package/assets/micronesia.svg +0 -1
  1461. package/assets/microphone-off.svg +0 -1
  1462. package/assets/microphone.svg +0 -1
  1463. package/assets/mini_group_color.svg +0 -1
  1464. package/assets/minimize.svg +0 -1
  1465. package/assets/minus-circle-fill.svg +0 -1
  1466. package/assets/minus-circle.svg +0 -1
  1467. package/assets/minus-fill.svg +0 -1
  1468. package/assets/minus.svg +0 -1
  1469. package/assets/mix.svg +0 -1
  1470. package/assets/mobile-bolt.svg +0 -1
  1471. package/assets/mobile-remove.svg +0 -1
  1472. package/assets/mobile-signal-out.svg +0 -1
  1473. package/assets/mobile-signal.svg +0 -1
  1474. package/assets/mobile-slash.svg +0 -1
  1475. package/assets/mobile-tick.svg +0 -1
  1476. package/assets/mobile.svg +0 -1
  1477. package/assets/modem.svg +0 -1
  1478. package/assets/moldova.svg +0 -1
  1479. package/assets/monaco.svg +0 -1
  1480. package/assets/mongolia.svg +0 -1
  1481. package/assets/montenegro.svg +0 -1
  1482. package/assets/montserrat.svg +0 -1
  1483. package/assets/moon-fill.svg +0 -1
  1484. package/assets/moon.svg +0 -1
  1485. package/assets/more-horizontal-fill.svg +0 -1
  1486. package/assets/more-horizontal.svg +0 -1
  1487. package/assets/more-vertical-fill.svg +0 -1
  1488. package/assets/more-vertical.svg +0 -1
  1489. package/assets/morocco.svg +0 -1
  1490. package/assets/motorcycle.svg +0 -1
  1491. package/assets/mouse.svg +0 -1
  1492. package/assets/move-down.svg +0 -1
  1493. package/assets/move-left.svg +0 -1
  1494. package/assets/move-right.svg +0 -1
  1495. package/assets/move-up.svg +0 -1
  1496. package/assets/move.svg +0 -1
  1497. package/assets/mozambique.svg +0 -1
  1498. package/assets/multi_discipline_color.svg +0 -1
  1499. package/assets/music-note-off.svg +0 -1
  1500. package/assets/music-note.svg +0 -1
  1501. package/assets/music.svg +0 -1
  1502. package/assets/music_color.svg +0 -1
  1503. package/assets/myanmar.svg +0 -1
  1504. package/assets/namibia.svg +0 -1
  1505. package/assets/native_language_color.svg +0 -1
  1506. package/assets/natural_sciences_color.svg +0 -1
  1507. package/assets/nauru.svg +0 -1
  1508. package/assets/navigation-forward.svg +0 -1
  1509. package/assets/navigation.svg +0 -1
  1510. package/assets/nepal.svg +0 -1
  1511. package/assets/netherlands.svg +0 -1
  1512. package/assets/new-zealand.svg +0 -1
  1513. package/assets/next-fast.svg +0 -1
  1514. package/assets/next.svg +0 -1
  1515. package/assets/nicaragua.svg +0 -1
  1516. package/assets/niger.svg +0 -1
  1517. package/assets/nigeria.svg +0 -1
  1518. package/assets/niue.svg +0 -1
  1519. package/assets/norfolk-island.svg +0 -1
  1520. package/assets/north-korea.svg +0 -1
  1521. package/assets/northern-marianas-islands.svg +0 -1
  1522. package/assets/norway.svg +0 -1
  1523. package/assets/note-sticky.svg +0 -1
  1524. package/assets/notebook.svg +0 -1
  1525. package/assets/notif-fill.svg +0 -1
  1526. package/assets/notif-off-fill.svg +0 -1
  1527. package/assets/notif-off.svg +0 -1
  1528. package/assets/notif.svg +0 -1
  1529. package/assets/objective_default.svg +0 -1
  1530. package/assets/objects-align-bottom.svg +0 -1
  1531. package/assets/objects-align-center-horizontal.svg +0 -1
  1532. package/assets/objects-align-center-vertical.svg +0 -1
  1533. package/assets/objects-align-left.svg +0 -1
  1534. package/assets/objects-align-right.svg +0 -1
  1535. package/assets/objects-align-top.svg +0 -1
  1536. package/assets/objects-column.svg +0 -1
  1537. package/assets/obz_color.svg +0 -1
  1538. package/assets/obz_elementary_color.svg +0 -1
  1539. package/assets/octagon.svg +0 -1
  1540. package/assets/ok-authorization.svg +0 -1
  1541. package/assets/ok-social-color.svg +0 -1
  1542. package/assets/ok-social.svg +0 -1
  1543. package/assets/olympiad_color.svg +0 -1
  1544. package/assets/oman.svg +0 -1
  1545. package/assets/outcome.svg +0 -1
  1546. package/assets/overline.svg +0 -1
  1547. package/assets/ovz_color.svg +0 -1
  1548. package/assets/page_default.svg +0 -1
  1549. package/assets/paint-roller.svg +0 -1
  1550. package/assets/paintbrush.svg +0 -1
  1551. package/assets/pakistan.svg +0 -1
  1552. package/assets/palau.svg +0 -1
  1553. package/assets/palestine.svg +0 -1
  1554. package/assets/palette-fill.svg +0 -1
  1555. package/assets/palette.svg +0 -1
  1556. package/assets/panama.svg +0 -1
  1557. package/assets/paperclip-slash.svg +0 -1
  1558. package/assets/paperclip.svg +0 -1
  1559. package/assets/papua-new-guinea.svg +0 -1
  1560. package/assets/paragraph.svg +0 -1
  1561. package/assets/paraguay.svg +0 -1
  1562. package/assets/parchment.svg +0 -1
  1563. package/assets/parent.svg +0 -1
  1564. package/assets/pause-circle.svg +0 -1
  1565. package/assets/pause-fill.svg +0 -1
  1566. package/assets/pause-square.svg +0 -1
  1567. package/assets/pause-thin-fill.svg +0 -1
  1568. package/assets/pause-thin.svg +0 -1
  1569. package/assets/pause.svg +0 -1
  1570. package/assets/pen-nib-off.svg +0 -1
  1571. package/assets/pen-nib.svg +0 -1
  1572. package/assets/pen-ruler.svg +0 -1
  1573. package/assets/pen-slash.svg +0 -1
  1574. package/assets/pen.svg +0 -1
  1575. package/assets/pencil-off.svg +0 -1
  1576. package/assets/pencil.svg +0 -1
  1577. package/assets/pencil_default.svg +0 -1
  1578. package/assets/pentagon.svg +0 -1
  1579. package/assets/people.svg +0 -1
  1580. package/assets/percentage.svg +0 -1
  1581. package/assets/person_default.svg +0 -1
  1582. package/assets/peru.svg +0 -1
  1583. package/assets/philippines.svg +0 -1
  1584. package/assets/phone-add.svg +0 -1
  1585. package/assets/phone-call.svg +0 -1
  1586. package/assets/phone-fill.svg +0 -1
  1587. package/assets/phone-flip.svg +0 -1
  1588. package/assets/phone-incoming.svg +0 -1
  1589. package/assets/phone-missed.svg +0 -1
  1590. package/assets/phone-office.svg +0 -1
  1591. package/assets/phone-outgoing.svg +0 -1
  1592. package/assets/phone-pause.svg +0 -1
  1593. package/assets/phone-received.svg +0 -1
  1594. package/assets/phone-remove.svg +0 -1
  1595. package/assets/phone-slash.svg +0 -1
  1596. package/assets/phone.svg +0 -1
  1597. package/assets/phoneNoFill_default.svg +0 -1
  1598. package/assets/phone_color.svg +0 -1
  1599. package/assets/phone_default.svg +0 -1
  1600. package/assets/photo-off.svg +0 -1
  1601. package/assets/photo.svg +0 -1
  1602. package/assets/physic_chemistry_color.svg +0 -1
  1603. package/assets/physics.svg +0 -1
  1604. package/assets/physics_color.svg +0 -1
  1605. package/assets/picture_color.svg +0 -1
  1606. package/assets/pin-fill.svg +0 -1
  1607. package/assets/pin-location.svg +0 -1
  1608. package/assets/pin.svg +0 -1
  1609. package/assets/pitcairn-islands.svg +0 -1
  1610. package/assets/play-circle.svg +0 -1
  1611. package/assets/play-fill.svg +0 -1
  1612. package/assets/play-pause.svg +0 -1
  1613. package/assets/play-square.svg +0 -1
  1614. package/assets/play.svg +0 -1
  1615. package/assets/playPause_default.svg +0 -1
  1616. package/assets/play_default.svg +0 -1
  1617. package/assets/plug.svg +0 -1
  1618. package/assets/plus-circle-fill.svg +0 -1
  1619. package/assets/plus-circle.svg +0 -1
  1620. package/assets/plus-fill.svg +0 -1
  1621. package/assets/plus-large-fill.svg +0 -1
  1622. package/assets/plus-large.svg +0 -1
  1623. package/assets/plus.svg +0 -1
  1624. package/assets/plusThin_default.svg +0 -1
  1625. package/assets/plus_default.svg +0 -1
  1626. package/assets/podcast.svg +0 -1
  1627. package/assets/podium.svg +0 -1
  1628. package/assets/pointer-down.svg +0 -1
  1629. package/assets/pointer-left.svg +0 -1
  1630. package/assets/pointer-right.svg +0 -1
  1631. package/assets/pointer-up.svg +0 -1
  1632. package/assets/poland.svg +0 -1
  1633. package/assets/portugal.svg +0 -1
  1634. package/assets/power-bank.svg +0 -1
  1635. package/assets/power-off-fill.svg +0 -1
  1636. package/assets/power-off.svg +0 -1
  1637. package/assets/present_default.svg +0 -15
  1638. package/assets/presentation-chart.svg +0 -1
  1639. package/assets/presentation.svg +0 -1
  1640. package/assets/previous-fast.svg +0 -1
  1641. package/assets/previous.svg +0 -1
  1642. package/assets/priceTag_default.svg +0 -1
  1643. package/assets/print.svg +0 -1
  1644. package/assets/print_color.svg +0 -1
  1645. package/assets/print_default.svg +0 -1
  1646. package/assets/product_pack_color.svg +0 -1
  1647. package/assets/prof_default.svg +0 -1
  1648. package/assets/program_color.svg +0 -1
  1649. package/assets/programming.svg +0 -1
  1650. package/assets/programming_color.svg +0 -1
  1651. package/assets/projector.svg +0 -1
  1652. package/assets/pronunciation_color.svg +0 -1
  1653. package/assets/psychology_color.svg +0 -1
  1654. package/assets/puerto-rico.svg +0 -1
  1655. package/assets/qatar.svg +0 -1
  1656. package/assets/questionFilled_default.svg +0 -1
  1657. package/assets/radar.svg +0 -1
  1658. package/assets/radioChecked_default.svg +0 -1
  1659. package/assets/radioNotChecked_default.svg +0 -1
  1660. package/assets/rap_and_culture_color.svg +0 -1
  1661. package/assets/reciept.svg +0 -1
  1662. package/assets/rectangle-code.svg +0 -1
  1663. package/assets/rectangle-terminal.svg +0 -1
  1664. package/assets/rectangle-vertical.svg +0 -1
  1665. package/assets/rectangle-wide.svg +0 -1
  1666. package/assets/rectangles-mixed-fill.svg +0 -1
  1667. package/assets/rectangles-mixed.svg +0 -1
  1668. package/assets/redo-fill.svg +0 -1
  1669. package/assets/redo.svg +0 -1
  1670. package/assets/refresh-clock.svg +0 -1
  1671. package/assets/refresh-fill.svg +0 -1
  1672. package/assets/refresh.svg +0 -1
  1673. package/assets/reload_default.svg +0 -1
  1674. package/assets/repeat-vertical.svg +0 -1
  1675. package/assets/repeat.svg +0 -1
  1676. package/assets/reply.svg +0 -1
  1677. package/assets/republic-of-macedonia.svg +0 -1
  1678. package/assets/republic-of-the_congo.svg +0 -1
  1679. package/assets/resize-handle.svg +0 -1
  1680. package/assets/rewinding-left.svg +0 -1
  1681. package/assets/rewinding-right.svg +0 -1
  1682. package/assets/rhombus.svg +0 -1
  1683. package/assets/right-alignment.svg +0 -1
  1684. package/assets/right-indent.svg +0 -1
  1685. package/assets/right-to-left-text-direction.svg +0 -1
  1686. package/assets/robot_color.svg +0 -1
  1687. package/assets/robotechnics_color.svg +0 -1
  1688. package/assets/rocket-fill.svg +0 -1
  1689. package/assets/rocket.svg +0 -1
  1690. package/assets/romania.svg +0 -1
  1691. package/assets/rotate-fill.svg +0 -1
  1692. package/assets/rotate-left-fill.svg +0 -1
  1693. package/assets/rotate-left.svg +0 -1
  1694. package/assets/rotate-right-fill.svg +0 -1
  1695. package/assets/rotate-right.svg +0 -1
  1696. package/assets/rotate.svg +0 -1
  1697. package/assets/route.svg +0 -1
  1698. package/assets/rss.svg +0 -1
  1699. package/assets/rus_native_language_color.svg +0 -1
  1700. package/assets/russia.svg +0 -1
  1701. package/assets/russian_color.svg +0 -1
  1702. package/assets/rwanda.svg +0 -1
  1703. package/assets/sahrawi-arab-democratic_republic.svg +0 -1
  1704. package/assets/samoa.svg +0 -1
  1705. package/assets/san-marino.svg +0 -1
  1706. package/assets/sao-tome-and_prince.svg +0 -1
  1707. package/assets/saudi-arabia.svg +0 -1
  1708. package/assets/sb-auth-mono-color.svg +0 -1
  1709. package/assets/sb-authorization.svg +0 -1
  1710. package/assets/scan.svg +0 -1
  1711. package/assets/school-bag.svg +0 -1
  1712. package/assets/school.svg +0 -1
  1713. package/assets/school_preparation_color.svg +0 -1
  1714. package/assets/school_preparing_color.svg +0 -1
  1715. package/assets/school_program_color.svg +0 -1
  1716. package/assets/scissors.svg +0 -1
  1717. package/assets/scotland.svg +0 -1
  1718. package/assets/screen-export.svg +0 -1
  1719. package/assets/screen-import.svg +0 -1
  1720. package/assets/screen-remove.svg +0 -1
  1721. package/assets/screen-sharing.svg +0 -1
  1722. package/assets/screen.svg +0 -1
  1723. package/assets/screencast.svg +0 -1
  1724. package/assets/scribble.svg +0 -1
  1725. package/assets/seal.svg +0 -1
  1726. package/assets/search-out.svg +0 -1
  1727. package/assets/search-zoom.svg +0 -1
  1728. package/assets/search.svg +0 -1
  1729. package/assets/search_default.svg +0 -1
  1730. package/assets/seconds-10-right.svg +0 -1
  1731. package/assets/seconds-10.svg +0 -1
  1732. package/assets/seconds-15-right.svg +0 -1
  1733. package/assets/seconds-15.svg +0 -1
  1734. package/assets/seconds-5-right.svg +0 -1
  1735. package/assets/seconds-5.svg +0 -1
  1736. package/assets/send-angle.svg +0 -1
  1737. package/assets/send-forward.svg +0 -1
  1738. package/assets/send.svg +0 -1
  1739. package/assets/sending-left.svg +0 -1
  1740. package/assets/sending-right.svg +0 -1
  1741. package/assets/senegal.svg +0 -1
  1742. package/assets/serbia.svg +0 -1
  1743. package/assets/server.svg +0 -1
  1744. package/assets/server_color.svg +0 -1
  1745. package/assets/settings-fill.svg +0 -1
  1746. package/assets/settings.svg +0 -1
  1747. package/assets/settings_1_color.svg +0 -1
  1748. package/assets/settings_2_color.svg +0 -1
  1749. package/assets/settings_3_color.svg +0 -1
  1750. package/assets/settings_default.svg +0 -1
  1751. package/assets/seychelles.svg +0 -1
  1752. package/assets/shapes.svg +0 -1
  1753. package/assets/share-fill.svg +0 -1
  1754. package/assets/share.svg +0 -1
  1755. package/assets/sharpCross_default.svg +0 -1
  1756. package/assets/shield-check.svg +0 -1
  1757. package/assets/shield-error.svg +0 -1
  1758. package/assets/shield-keyhole.svg +0 -1
  1759. package/assets/shield-minus.svg +0 -1
  1760. package/assets/shield-plus.svg +0 -1
  1761. package/assets/shield-slash.svg +0 -1
  1762. package/assets/shield-warning.svg +0 -1
  1763. package/assets/shield.svg +0 -1
  1764. package/assets/shop.svg +0 -1
  1765. package/assets/shopping_color.svg +0 -1
  1766. package/assets/sidebar.svg +0 -1
  1767. package/assets/sierra-leone.svg +0 -1
  1768. package/assets/sigma.svg +0 -1
  1769. package/assets/signal-off.svg +0 -1
  1770. package/assets/signal-steam-off.svg +0 -1
  1771. package/assets/signal-steam-warning.svg +0 -1
  1772. package/assets/signal-steam.svg +0 -1
  1773. package/assets/signal-warning.svg +0 -1
  1774. package/assets/signal.svg +0 -1
  1775. package/assets/signature.svg +0 -1
  1776. package/assets/singapore.svg +0 -1
  1777. package/assets/sint-maarten.svg +0 -1
  1778. package/assets/slash-flip.svg +0 -1
  1779. package/assets/slash.svg +0 -1
  1780. package/assets/slide.svg +0 -1
  1781. package/assets/sliders.svg +0 -1
  1782. package/assets/slovakia.svg +0 -1
  1783. package/assets/slovenia.svg +0 -1
  1784. package/assets/social_color.svg +0 -1
  1785. package/assets/social_elementary_color.svg +0 -1
  1786. package/assets/social_sciences_color.svg +0 -1
  1787. package/assets/solomon-islands.svg +0 -1
  1788. package/assets/somalia.svg +0 -1
  1789. package/assets/sort-amount-down.svg +0 -1
  1790. package/assets/sort-amount-up.svg +0 -1
  1791. package/assets/sort-down-fill.svg +0 -1
  1792. package/assets/sort-down.svg +0 -1
  1793. package/assets/sort-fill.svg +0 -1
  1794. package/assets/sort-up-fill.svg +0 -1
  1795. package/assets/sort-up.svg +0 -1
  1796. package/assets/sort.svg +0 -1
  1797. package/assets/sort_default.svg +0 -1
  1798. package/assets/south-africa.svg +0 -1
  1799. package/assets/south-korea.svg +0 -1
  1800. package/assets/south-sudan.svg +0 -1
  1801. package/assets/spain.svg +0 -1
  1802. package/assets/spanish_color.svg +0 -1
  1803. package/assets/spell-check.svg +0 -1
  1804. package/assets/spelling_color.svg +0 -1
  1805. package/assets/sport.svg +0 -1
  1806. package/assets/square-a-lock.svg +0 -1
  1807. package/assets/square-check-fill.svg +0 -1
  1808. package/assets/square-check.svg +0 -1
  1809. package/assets/square-code.svg +0 -1
  1810. package/assets/square-dashed.svg +0 -1
  1811. package/assets/square-dazzle.svg +0 -1
  1812. package/assets/square-kanban.svg +0 -1
  1813. package/assets/square-list.svg +0 -1
  1814. package/assets/square-minus-fill.svg +0 -1
  1815. package/assets/square-minus.svg +0 -1
  1816. package/assets/square-poll-horizontal.svg +0 -1
  1817. package/assets/square-poll-vertical.svg +0 -1
  1818. package/assets/square-quarters.svg +0 -1
  1819. package/assets/square-ring.svg +0 -1
  1820. package/assets/square-small.svg +0 -1
  1821. package/assets/square-t.svg +0 -1
  1822. package/assets/square-terminal.svg +0 -1
  1823. package/assets/square.svg +0 -1
  1824. package/assets/sri-lanka.svg +0 -1
  1825. package/assets/st-barts.svg +0 -1
  1826. package/assets/st-lucia.svg +0 -1
  1827. package/assets/st-vincent-and-the-grenadines.svg +0 -1
  1828. package/assets/star-blink.svg +0 -1
  1829. package/assets/star-circle.svg +0 -1
  1830. package/assets/star-fill.svg +0 -1
  1831. package/assets/star-half-stroke.svg +0 -1
  1832. package/assets/star-half.svg +0 -1
  1833. package/assets/star-sparkle.svg +0 -1
  1834. package/assets/star-warning.svg +0 -1
  1835. package/assets/star.svg +0 -1
  1836. package/assets/star_default.svg +0 -1
  1837. package/assets/stars.svg +0 -1
  1838. package/assets/stopwatch.svg +0 -1
  1839. package/assets/strikethrough.svg +0 -1
  1840. package/assets/structure.svg +0 -1
  1841. package/assets/student-fill.svg +0 -1
  1842. package/assets/student.svg +0 -1
  1843. package/assets/student_default.svg +0 -1
  1844. package/assets/subdirectory.svg +0 -1
  1845. package/assets/subscript.svg +0 -1
  1846. package/assets/sudan.svg +0 -1
  1847. package/assets/superscript.svg +0 -1
  1848. package/assets/support.svg +0 -1
  1849. package/assets/suriname.svg +0 -1
  1850. package/assets/swaziland.svg +0 -1
  1851. package/assets/sweden.svg +0 -1
  1852. package/assets/switch-horizontal.svg +0 -1
  1853. package/assets/switch-vertical.svg +0 -1
  1854. package/assets/switzerland.svg +0 -1
  1855. package/assets/syria.svg +0 -1
  1856. package/assets/t-bank-authorization.svg +0 -1
  1857. package/assets/table-cells-large.svg +0 -1
  1858. package/assets/table-cells.svg +0 -1
  1859. package/assets/table-columns.svg +0 -1
  1860. package/assets/table-layout.svg +0 -1
  1861. package/assets/table-list.svg +0 -1
  1862. package/assets/table-rows.svg +0 -1
  1863. package/assets/table.svg +0 -1
  1864. package/assets/tablet.svg +0 -1
  1865. package/assets/tag-fill.svg +0 -1
  1866. package/assets/tag.svg +0 -1
  1867. package/assets/tags-fill.svg +0 -1
  1868. package/assets/tags.svg +0 -1
  1869. package/assets/taiwan.svg +0 -1
  1870. package/assets/tajikistan.svg +0 -1
  1871. package/assets/tanzania.svg +0 -1
  1872. package/assets/target_default.svg +0 -1
  1873. package/assets/task-fill.svg +0 -1
  1874. package/assets/task.svg +0 -1
  1875. package/assets/tasks_color.svg +0 -1
  1876. package/assets/tasks_default.svg +0 -4
  1877. package/assets/tbank-auth-mono-color.svg +0 -1
  1878. package/assets/teacher.svg +0 -1
  1879. package/assets/technology_color.svg +0 -1
  1880. package/assets/telegram-social-color.svg +0 -1
  1881. package/assets/telegram-social.svg +0 -1
  1882. package/assets/terminal.svg +0 -1
  1883. package/assets/terminal_color.svg +0 -1
  1884. package/assets/test.svg +0 -1
  1885. package/assets/test_color.svg +0 -1
  1886. package/assets/text-big.svg +0 -1
  1887. package/assets/text-erase.svg +0 -1
  1888. package/assets/text-height.svg +0 -1
  1889. package/assets/text-move-left.svg +0 -1
  1890. package/assets/text-move-right.svg +0 -1
  1891. package/assets/text-note.svg +0 -1
  1892. package/assets/text-size.svg +0 -1
  1893. package/assets/text-small.svg +0 -1
  1894. package/assets/text-width.svg +0 -1
  1895. package/assets/text.svg +0 -1
  1896. package/assets/textbook_color.svg +0 -1
  1897. package/assets/textbook_default.svg +0 -1
  1898. package/assets/thailand.svg +0 -1
  1899. package/assets/theory_color.svg +0 -1
  1900. package/assets/ticket-simple.svg +0 -1
  1901. package/assets/tiktok-social.svg +0 -1
  1902. package/assets/time-off.svg +0 -1
  1903. package/assets/timer.svg +0 -1
  1904. package/assets/tinkoff-authorization.svg +0 -1
  1905. package/assets/tinyCross_default.svg +0 -1
  1906. package/assets/togo.svg +0 -1
  1907. package/assets/tokelau.svg +0 -1
  1908. package/assets/tonga.svg +0 -1
  1909. package/assets/top-alignment.svg +0 -1
  1910. package/assets/train.svg +0 -1
  1911. package/assets/training_color.svg +0 -1
  1912. package/assets/translate_color.svg +0 -1
  1913. package/assets/trash-arrow-up-fill.svg +0 -1
  1914. package/assets/trash-arrow-up.svg +0 -1
  1915. package/assets/trash-blank-fill.svg +0 -1
  1916. package/assets/trash-blank.svg +0 -1
  1917. package/assets/trash-check-fill.svg +0 -1
  1918. package/assets/trash-check.svg +0 -1
  1919. package/assets/trash-clock.svg +0 -1
  1920. package/assets/trash-fill.svg +0 -1
  1921. package/assets/trash-list-fill.svg +0 -1
  1922. package/assets/trash-list.svg +0 -1
  1923. package/assets/trash-plus-fill.svg +0 -1
  1924. package/assets/trash-plus.svg +0 -1
  1925. package/assets/trash-slash-fill.svg +0 -1
  1926. package/assets/trash-slash.svg +0 -1
  1927. package/assets/trash-undo-fill.svg +0 -1
  1928. package/assets/trash-undo.svg +0 -1
  1929. package/assets/trash-xmark-fill.svg +0 -1
  1930. package/assets/trash-xmark.svg +0 -1
  1931. package/assets/trash.svg +0 -1
  1932. package/assets/triangle.svg +0 -1
  1933. package/assets/trinidad-and-tobago.svg +0 -1
  1934. package/assets/trophy.svg +0 -1
  1935. package/assets/trophy_color.svg +0 -1
  1936. package/assets/trophy_default.svg +0 -1
  1937. package/assets/tunisia.svg +0 -1
  1938. package/assets/turkey.svg +0 -1
  1939. package/assets/turkmenistan.svg +0 -1
  1940. package/assets/turks-and-caicos.svg +0 -1
  1941. package/assets/tutor_color.svg +0 -1
  1942. package/assets/tuvalu.svg +0 -1
  1943. package/assets/tv.svg +0 -1
  1944. package/assets/twenty-thirty-five-authorization.svg +0 -1
  1945. package/assets/uganda.svg +0 -1
  1946. package/assets/ukraine.svg +0 -1
  1947. package/assets/un2035-auth-mono-color.svg +0 -1
  1948. package/assets/underline.svg +0 -1
  1949. package/assets/undo-fill.svg +0 -1
  1950. package/assets/undo.svg +0 -1
  1951. package/assets/united-arab-emirates.svg +0 -1
  1952. package/assets/united-kingdom.svg +0 -1
  1953. package/assets/united-states.svg +0 -1
  1954. package/assets/university.svg +0 -1
  1955. package/assets/unlock.svg +0 -1
  1956. package/assets/unsort_default.svg +0 -1
  1957. package/assets/upload-fill.svg +0 -1
  1958. package/assets/upload.svg +0 -1
  1959. package/assets/uruguay.svg +0 -1
  1960. package/assets/usb-flash-drive.svg +0 -1
  1961. package/assets/user-add.svg +0 -1
  1962. package/assets/user-block.svg +0 -1
  1963. package/assets/user-circle.svg +0 -1
  1964. package/assets/user-edit.svg +0 -1
  1965. package/assets/user-heart.svg +0 -1
  1966. package/assets/user-lock.svg +0 -1
  1967. package/assets/user-minus.svg +0 -1
  1968. package/assets/user-question.svg +0 -1
  1969. package/assets/user-remove.svg +0 -1
  1970. package/assets/user-square.svg +0 -1
  1971. package/assets/user-tick.svg +0 -1
  1972. package/assets/user.svg +0 -1
  1973. package/assets/users-fill.svg +0 -1
  1974. package/assets/users.svg +0 -1
  1975. package/assets/uzbekistan.svg +0 -1
  1976. package/assets/vanuatu.svg +0 -1
  1977. package/assets/vatican-city.svg +0 -1
  1978. package/assets/vault.svg +0 -1
  1979. package/assets/venezuela.svg +0 -1
  1980. package/assets/video-add.svg +0 -1
  1981. package/assets/video-export.svg +0 -1
  1982. package/assets/video-fill.svg +0 -1
  1983. package/assets/video-import.svg +0 -1
  1984. package/assets/video-slash-fill.svg +0 -1
  1985. package/assets/video_default.svg +0 -1
  1986. package/assets/vietnam.svg +0 -1
  1987. package/assets/virgin-islands.svg +0 -1
  1988. package/assets/vk-auth-mono-color.svg +0 -1
  1989. package/assets/vk-authorization.svg +0 -1
  1990. package/assets/vk-social-color.svg +0 -1
  1991. package/assets/vk-social.svg +0 -1
  1992. package/assets/voicemail.svg +0 -1
  1993. package/assets/volume-add.svg +0 -1
  1994. package/assets/volume-min.svg +0 -1
  1995. package/assets/volume-minus.svg +0 -1
  1996. package/assets/volume-off.svg +0 -1
  1997. package/assets/volume-remove.svg +0 -1
  1998. package/assets/volume.svg +0 -1
  1999. package/assets/wales.svg +0 -1
  2000. package/assets/wallet-add.svg +0 -1
  2001. package/assets/wallet-remove.svg +0 -1
  2002. package/assets/wallet-transfer.svg +0 -1
  2003. package/assets/wallet.svg +0 -1
  2004. package/assets/wallet_default.svg +0 -1
  2005. package/assets/wand-magic-sparkles.svg +0 -1
  2006. package/assets/wand-magic.svg +0 -1
  2007. package/assets/warning-circle-check.svg +0 -1
  2008. package/assets/warning-circle-fill.svg +0 -1
  2009. package/assets/warning-circle.svg +0 -1
  2010. package/assets/warning-seal-fill.svg +0 -1
  2011. package/assets/warning-seal.svg +0 -1
  2012. package/assets/warning-triangle-fill.svg +0 -1
  2013. package/assets/warning-triangle.svg +0 -1
  2014. package/assets/warning.svg +0 -1
  2015. package/assets/watch.svg +0 -1
  2016. package/assets/webcam-slash-off.svg +0 -1
  2017. package/assets/webcam.svg +0 -1
  2018. package/assets/weight.svg +0 -1
  2019. package/assets/whatsapp-social-color.svg +0 -1
  2020. package/assets/whatsapp-social-fill.svg +0 -1
  2021. package/assets/whatsapp-social.svg +0 -1
  2022. package/assets/wifi-off.svg +0 -1
  2023. package/assets/wifi-warning.svg +0 -1
  2024. package/assets/wifi.svg +0 -1
  2025. package/assets/window.svg +0 -1
  2026. package/assets/work.svg +0 -1
  2027. package/assets/world_color.svg +0 -1
  2028. package/assets/world_elementary_color.svg +0 -1
  2029. package/assets/yandex-auth-mono-color.svg +0 -1
  2030. package/assets/yandex-authorization.svg +0 -1
  2031. package/assets/yemen.svg +0 -1
  2032. package/assets/youtube-alt-social-color.svg +0 -1
  2033. package/assets/youtube-alt-social.svg +0 -1
  2034. package/assets/youtube-social.svg +0 -1
  2035. package/assets/zambia.svg +0 -1
  2036. package/assets/zimbabwe.svg +0 -1
  2037. package/components/Checkbox/images/check-default.svg.js +0 -2
  2038. package/components/Checkbox/images/check-default.svg.js.map +0 -1
  2039. package/components/Checkbox/images/check-default.svg.mjs +0 -2
  2040. package/components/Checkbox/images/check-default.svg.mjs.map +0 -1
  2041. package/components/Checkbox/images/check.svg.js +0 -2
  2042. package/components/Checkbox/images/check.svg.js.map +0 -1
  2043. package/components/Checkbox/images/check.svg.mjs +0 -2
  2044. package/components/Checkbox/images/check.svg.mjs.map +0 -1
  2045. package/components/Icon/bg-worker.js +0 -2
  2046. package/components/Icon/bg-worker.js.map +0 -1
  2047. package/components/Icon/bg-worker.mjs +0 -2
  2048. package/components/Icon/bg-worker.mjs.map +0 -1
  2049. package/components/Icon/constants.js +0 -2
  2050. package/components/Icon/constants.js.map +0 -1
  2051. package/components/Icon/constants.mjs +0 -2
  2052. package/components/Icon/constants.mjs.map +0 -1
  2053. package/components/Icon/list/default.js +0 -2
  2054. package/components/Icon/list/default.js.map +0 -1
  2055. package/components/Icon/list/default.mjs +0 -2
  2056. package/components/Icon/list/default.mjs.map +0 -1
  2057. package/components/Icon/list/icon-pack.js +0 -2
  2058. package/components/Icon/list/icon-pack.js.map +0 -1
  2059. package/components/Icon/list/icon-pack.mjs +0 -2
  2060. package/components/Icon/list/icon-pack.mjs.map +0 -1
  2061. package/components/Icon/list/index.js +0 -2
  2062. package/components/Icon/list/index.js.map +0 -1
  2063. package/components/Icon/list/index.mjs +0 -2
  2064. package/components/Icon/list/index.mjs.map +0 -1
  2065. package/components/InputCheckbox/images/checked.svg.js +0 -2
  2066. package/components/InputCheckbox/images/checked.svg.js.map +0 -1
  2067. package/components/InputCheckbox/images/checked.svg.mjs +0 -2
  2068. package/components/InputCheckbox/images/checked.svg.mjs.map +0 -1
  2069. package/components/InputCheckbox/images/indeterminate.svg.js +0 -2
  2070. package/components/InputCheckbox/images/indeterminate.svg.js.map +0 -1
  2071. package/components/InputCheckbox/images/indeterminate.svg.mjs +0 -2
  2072. package/components/InputCheckbox/images/indeterminate.svg.mjs.map +0 -1
@@ -1,2 +1,2 @@
1
- import{forwardRef,useMemo,useRef,useImperativeHandle,cloneElement}from'react';import{withMergedProps}from'../../hocs/withMergedProps.mjs';import{useScrollThresholds}from'../../hooks/useScrollThresholds.mjs';import{TabListTabsContext,TabListPropsContext}from'../../shared/context/tabList.mjs';import{keyboardKeys}from'../../shared/constants.mjs';import{navigateHorizontalList,SELECTORS_FOCUSABLE}from'../../shared/utils/dom.mjs';import{focus}from'../../mixins/focus.mjs';import{TabListPanel}from'./TabListPanel.mjs';import{useTabListItems,useTabListAutoGroup,useTabList}from'./hooks.mjs';import{TabListMenuTab}from'./TabListMenuTab.mjs';import{SIZES,SIZES_SCROLL_CONTROL}from'./sizes.mjs';import{LAYOUTS,LAYOUTS_ADDON,LAYOUTS_DIVIDER}from'./layouts.mjs';import{Root,List,Container,TabsTrack,Floats,Control,ScrollFading,TrackScrollable,TabWrapper,Hidden,TabsHidden,Addon,DividerPositioned}from'./style.mjs';import{jsxs,jsx}from'react/jsx-runtime';import{TabListTab}from'../TabListTab/TabListTab.mjs';import{IconButton}from'../IconButton/IconButton.mjs';const TabList=Object.assign(withMergedProps(forwardRef(((e,t)=>{const{size:o="m",layout:r="horizontal",gap:n=8,activationOnFocus:a=!1,tabsAutoGroup:s=!1,scrollControls:l=!1,scrollFading:i=!1,defaultActiveTab:c,activeTab:d,onActiveTabChange:u,variant:b,disabled:m,children:h,menuItems:f,addon:T,menuTabText:g,menuTabControl:L,scrollControlLeft:v,scrollControlRight:y,palette:p,sizeXXS:C,sizeXS:S,sizeS:j,sizeM:x,sizeL:k,sizeXL:A,layoutXXS:R,layoutXS:I,layoutS:O,layoutM:B,layoutL:M,layoutXL:z,...D}=e;const E=useMemo((()=>({size:o,sizeXXS:C,sizeXS:S,sizeS:j,sizeM:x,sizeL:k,sizeXL:A})),[o,C,S,j,x,k,A]);const H={layout:r,layoutXXS:R,layoutXS:I,layoutS:O,layoutM:B,layoutL:M,layoutXL:z};const X=useRef(null);const F=useRef(null);const P=useRef(null);useImperativeHandle(t,(()=>X.current),[]);const w=useTabListItems(h,f);const _=useTabListAutoGroup({enabled:s,tabList:w.tabs});const K=useTabList({defaultActiveTab:c,activeTab:d,onActiveTabChange:u,tabList:s?w.tabs:w.combined});const{scrollThresholds:U,setScrollThresholds:N}=useScrollThresholds({enabled:!s,target:F});const Y={...E,sizes:SIZES_SCROLL_CONTROL,icon:'chevronLeft',tabIndex:-1,onFocus:e=>{e.currentTarget.blur()},onClick:()=>{if(!F.current||!P.current)return;const e=Math.round(F.current.getBoundingClientRect().left+P.current.getBoundingClientRect().width);const t=Array.from(F.current.querySelectorAll('[role="tab"]')).map((e=>Math.round(e.getBoundingClientRect().left+focus.padding)));const o=t.findIndex((t=>t>=e));[-1,0,1].includes(o)?F.current.scrollTo({top:0,left:0,behavior:'smooth'}):F.current.scrollBy({top:0,left:t[o-1]-e,behavior:'smooth'})}};const Z={...E,sizes:SIZES_SCROLL_CONTROL,icon:'chevronRight',tabIndex:-1,onFocus:e=>{e.currentTarget.blur()},onClick:()=>{if(!F.current)return;const e=Math.round(F.current.getBoundingClientRect().right);const t=Array.from(F.current.querySelectorAll('[role="tab"]')).map((e=>Math.round(e.getBoundingClientRect().right+focus.padding))).reverse();const o=t.findIndex((t=>t<=e));[-1,0,1].includes(o)?F.current.scrollTo({top:0,left:F.current.scrollWidth,behavior:'smooth'}):F.current.scrollBy({top:0,left:t[o-1]-e,behavior:'smooth'})}};const W=useMemo((()=>({...K,activationOnFocus:a})),[K,a]);const q=useMemo((()=>({...E,role:'tab',marginRight:n,variant:b,disabled:m,palette:{color:p.tabColor,colorHover:p.tabColorHover,colorActive:p.tabColorActive,colorDisabled:p.tabColorDisabled,colorActiveDisabled:p.tabColorActiveDisabled,backgroundColor:p.tabBackgroundColor,backgroundColorHover:p.tabBackgroundColorHover,backgroundColorActive:p.tabBackgroundColorActive,backgroundColorDisabled:p.tabBackgroundColorDisabled,backgroundColorActiveDisabled:p.tabBackgroundColorActiveDisabled}})),[E,n,b,m,p]);const G=useMemo((()=>({...E,marginRight:n,variant:b})),[E,n,b]);const V=s?_.groups.tabs:w.tabs;const J=s?_.groups.menuItems:w.menuItems;return jsxs(Root,{...D,...E,...H,layouts:LAYOUTS,palette:{backgroundColor:p.backgroundColor},ref:e=>{X.current=e,_.refs.root(e)},children:[jsxs(List,{role:"tablist","aria-orientation":"horizontal",onKeyDown:e=>{if(!(document.activeElement instanceof HTMLElement&&document.activeElement.matches('[role="tab"]')&&(keyboardKeys.Home.validate(e.key)||keyboardKeys.End.validate(e.key)||keyboardKeys.ArrowRight.validate(e.key)||keyboardKeys.ArrowLeft.validate(e.key))))return;const t=Array.from(e.currentTarget.querySelectorAll('[role="tab"]')).filter((e=>!e.closest('[aria-hidden="true"]')));t.length!==0&&(keyboardKeys.Home.validate(e.key)?(e.preventDefault(),t[0].focus()):keyboardKeys.End.validate(e.key)?(e.preventDefault(),t[t.length-1].focus()):(keyboardKeys.ArrowRight.validate(e.key)||keyboardKeys.ArrowLeft.validate(e.key))&&(e.preventDefault(),navigateHorizontalList(e.key,document.activeElement,t,SELECTORS_FOCUSABLE)))},children:[jsxs(Container,{ref:_.refs.container,children:[jsxs(TabsTrack,{children:[s||!l&&!i?null:jsxs(Floats,{hidden:U.left===!0||U.left===null,children:[l?jsx(Control,{ref:P,children:typeof v=='function'?v(Y):jsx(IconButton,{...Y})}):null,i?jsx(ScrollFading,{}):null]}),jsx(TrackScrollable,{ref:e=>{F.current=e,_.refs.track(e)},tabIndex:-1,"data-ui-track-scrollable":!0,onFocus:e=>{if(!e.target.matches('[role="tab"]'))return;const t=e.currentTarget.getBoundingClientRect();const o=e.target.getBoundingClientRect();const r=Math.round(t.right);const n=Math.round(P.current&&U.left===!1?t.left+P.current.getBoundingClientRect().width:t.left);const a=Math.round(o.right+focus.padding);const s=Math.round(o.left-focus.padding);a>r?e.currentTarget.scrollBy(a-r,0):s<n&&e.currentTarget.scrollBy(s-n,0)},onScroll:e=>{s||N(e.currentTarget)},children:jsx(TabListTabsContext.Provider,{value:W,children:jsx(TabListPropsContext.Provider,{value:q,children:s?V.map(((e,t)=>jsx(TabWrapper,{children:e},t))):V})})}),!s&&i?jsx(Floats,{hidden:U.right===!0||U.right===null,after:!0,children:jsx(ScrollFading,{after:!0})}):null]}),!s&&l?jsx(Control,{hidden:U.right===!0||U.right===null,children:typeof y=='function'?y(Z):jsx(IconButton,{...Z})}):null,J.length>0&&jsx(Control,{ref:e=>{_.refs.control(e)},children:jsx(TabListMenuTab,{...E,...K,role:"tab",variant:b,disabled:m,palette:p,menuItems:J,activationOnFocus:a,text:g,control:L})})]}),s?jsx(Hidden,{"aria-hidden":!0,children:jsx(TabsHidden,{children:jsx(TabListPropsContext.Provider,{value:G,children:w.tabs.map(((e,t)=>jsx(TabWrapper,{ref:e=>{_.refs.tabHidden(t,e)},children:cloneElement(e,{ref:null,id:void 0,role:'none'})},t)))})})}):null]}),T?jsx(Addon,{...H,layouts:LAYOUTS_ADDON,ref:e=>{_.refs.addon(e)},children:T}):null,b==='underlined'&&jsx(DividerPositioned,{...H,layouts:LAYOUTS_DIVIDER,color:p.dividerColor})]})})),{displayName:'TabList',sizes:SIZES}),{Tab:TabListTab,Panel:TabListPanel});export{TabList};
1
+ import{forwardRef,useMemo,useRef,useImperativeHandle,cloneElement}from'react';import{withMergedProps}from'../../hocs/withMergedProps.mjs';import{useScrollThresholds}from'../../hooks/useScrollThresholds.mjs';import{TabListTabsContext,TabListPropsContext}from'../../shared/context/tabList.mjs';import{keyboardKeys}from'../../shared/constants.mjs';import{navigateHorizontalList,SELECTORS_FOCUSABLE}from'../../shared/utils/dom.mjs';import{focus}from'../../mixins/focus.mjs';import{TabListPanel}from'./TabListPanel.mjs';import{useTabListItems,useTabListAutoGroup,useTabList}from'./hooks.mjs';import{TabListMenuTab}from'./TabListMenuTab.mjs';import{SIZES,SIZES_SCROLL_CONTROL}from'./sizes.mjs';import{LAYOUTS,LAYOUTS_ADDON,LAYOUTS_DIVIDER}from'./layouts.mjs';import{Root,List,Container,TabsTrack,Floats,Control,ScrollFading,TrackScrollable,TabWrapper,Hidden,TabsHidden,Addon,DividerPositioned}from'./style.mjs';import{jsx,jsxs}from'react/jsx-runtime';import{TabListTab}from'../TabListTab/TabListTab.mjs';import{ChevronLeft}from'../../icon-pack/src/icons/ChevronLeft/index.mjs';import{ChevronRight}from'../../icon-pack/src/icons/ChevronRight/index.mjs';import{IconButton}from'../IconButton/IconButton.mjs';const TabList=Object.assign(withMergedProps(forwardRef(((e,t)=>{const{size:o="m",layout:r="horizontal",gap:n=8,activationOnFocus:s=!1,tabsAutoGroup:a=!1,scrollControls:l=!1,scrollFading:i=!1,defaultActiveTab:c,activeTab:d,onActiveTabChange:u,variant:b,disabled:m,children:h,menuItems:f,addon:T,menuTabText:g,menuTabControl:L,scrollControlLeft:v,scrollControlRight:p,palette:C,sizeXXS:y,sizeXS:S,sizeS:j,sizeM:x,sizeL:k,sizeXL:A,layoutXXS:R,layoutXS:I,layoutS:O,layoutM:B,layoutL:M,layoutXL:z,...D}=e;const E=useMemo((()=>({size:o,sizeXXS:y,sizeXS:S,sizeS:j,sizeM:x,sizeL:k,sizeXL:A})),[o,y,S,j,x,k,A]);const H={layout:r,layoutXXS:R,layoutXS:I,layoutS:O,layoutM:B,layoutL:M,layoutXL:z};const X=useRef(null);const F=useRef(null);const P=useRef(null);useImperativeHandle(t,(()=>X.current),[]);const w=useTabListItems(h,f);const _=useTabListAutoGroup({enabled:a,tabList:w.tabs});const K=useTabList({defaultActiveTab:c,activeTab:d,onActiveTabChange:u,tabList:a?w.tabs:w.combined});const{scrollThresholds:U,setScrollThresholds:N}=useScrollThresholds({enabled:!a,target:F});const Y={...E,sizes:SIZES_SCROLL_CONTROL,icon:jsx(ChevronLeft,{}),tabIndex:-1,onFocus:e=>{e.currentTarget.blur()},onClick:()=>{if(!F.current||!P.current)return;const e=Math.round(F.current.getBoundingClientRect().left+P.current.getBoundingClientRect().width);const t=Array.from(F.current.querySelectorAll('[role="tab"]')).map((e=>Math.round(e.getBoundingClientRect().left+focus.padding)));const o=t.findIndex((t=>t>=e));[-1,0,1].includes(o)?F.current.scrollTo({top:0,left:0,behavior:'smooth'}):F.current.scrollBy({top:0,left:t[o-1]-e,behavior:'smooth'})}};const Z={...E,sizes:SIZES_SCROLL_CONTROL,icon:jsx(ChevronRight,{}),tabIndex:-1,onFocus:e=>{e.currentTarget.blur()},onClick:()=>{if(!F.current)return;const e=Math.round(F.current.getBoundingClientRect().right);const t=Array.from(F.current.querySelectorAll('[role="tab"]')).map((e=>Math.round(e.getBoundingClientRect().right+focus.padding))).reverse();const o=t.findIndex((t=>t<=e));[-1,0,1].includes(o)?F.current.scrollTo({top:0,left:F.current.scrollWidth,behavior:'smooth'}):F.current.scrollBy({top:0,left:t[o-1]-e,behavior:'smooth'})}};const W=useMemo((()=>({...K,activationOnFocus:s})),[K,s]);const q=useMemo((()=>({...E,role:'tab',marginRight:n,variant:b,disabled:m,palette:{color:C.tabColor,colorHover:C.tabColorHover,colorActive:C.tabColorActive,colorDisabled:C.tabColorDisabled,colorActiveDisabled:C.tabColorActiveDisabled,backgroundColor:C.tabBackgroundColor,backgroundColorHover:C.tabBackgroundColorHover,backgroundColorActive:C.tabBackgroundColorActive,backgroundColorDisabled:C.tabBackgroundColorDisabled,backgroundColorActiveDisabled:C.tabBackgroundColorActiveDisabled}})),[E,n,b,m,C]);const G=useMemo((()=>({...E,marginRight:n,variant:b})),[E,n,b]);const V=a?_.groups.tabs:w.tabs;const J=a?_.groups.menuItems:w.menuItems;return jsxs(Root,{...D,...E,...H,layouts:LAYOUTS,palette:{backgroundColor:C.backgroundColor},ref:e=>{X.current=e,_.refs.root(e)},children:[jsxs(List,{role:"tablist","aria-orientation":"horizontal",onKeyDown:e=>{if(!(document.activeElement instanceof HTMLElement&&document.activeElement.matches('[role="tab"]')&&(keyboardKeys.Home.validate(e.key)||keyboardKeys.End.validate(e.key)||keyboardKeys.ArrowRight.validate(e.key)||keyboardKeys.ArrowLeft.validate(e.key))))return;const t=Array.from(e.currentTarget.querySelectorAll('[role="tab"]')).filter((e=>!e.closest('[aria-hidden="true"]')));t.length!==0&&(keyboardKeys.Home.validate(e.key)?(e.preventDefault(),t[0].focus()):keyboardKeys.End.validate(e.key)?(e.preventDefault(),t[t.length-1].focus()):(keyboardKeys.ArrowRight.validate(e.key)||keyboardKeys.ArrowLeft.validate(e.key))&&(e.preventDefault(),navigateHorizontalList(e.key,document.activeElement,t,SELECTORS_FOCUSABLE)))},children:[jsxs(Container,{ref:_.refs.container,children:[jsxs(TabsTrack,{children:[a||!l&&!i?null:jsxs(Floats,{hidden:U.left===!0||U.left===null,children:[l?jsx(Control,{ref:P,children:typeof v=='function'?v(Y):jsx(IconButton,{...Y})}):null,i?jsx(ScrollFading,{}):null]}),jsx(TrackScrollable,{ref:e=>{F.current=e,_.refs.track(e)},tabIndex:-1,"data-ui-track-scrollable":!0,onFocus:e=>{if(!e.target.matches('[role="tab"]'))return;const t=e.currentTarget.getBoundingClientRect();const o=e.target.getBoundingClientRect();const r=Math.round(t.right);const n=Math.round(P.current&&U.left===!1?t.left+P.current.getBoundingClientRect().width:t.left);const s=Math.round(o.right+focus.padding);const a=Math.round(o.left-focus.padding);s>r?e.currentTarget.scrollBy(s-r,0):a<n&&e.currentTarget.scrollBy(a-n,0)},onScroll:e=>{a||N(e.currentTarget)},children:jsx(TabListTabsContext.Provider,{value:W,children:jsx(TabListPropsContext.Provider,{value:q,children:a?V.map(((e,t)=>jsx(TabWrapper,{children:e},t))):V})})}),!a&&i?jsx(Floats,{hidden:U.right===!0||U.right===null,after:!0,children:jsx(ScrollFading,{after:!0})}):null]}),!a&&l?jsx(Control,{hidden:U.right===!0||U.right===null,children:typeof p=='function'?p(Z):jsx(IconButton,{...Z})}):null,J.length>0&&jsx(Control,{ref:e=>{_.refs.control(e)},children:jsx(TabListMenuTab,{...E,...K,role:"tab",variant:b,disabled:m,palette:C,menuItems:J,activationOnFocus:s,text:g,control:L})})]}),a?jsx(Hidden,{"aria-hidden":!0,children:jsx(TabsHidden,{children:jsx(TabListPropsContext.Provider,{value:G,children:w.tabs.map(((e,t)=>jsx(TabWrapper,{ref:e=>{_.refs.tabHidden(t,e)},children:cloneElement(e,{ref:null,id:void 0,role:'none'})},t)))})})}):null]}),T?jsx(Addon,{...H,layouts:LAYOUTS_ADDON,ref:e=>{_.refs.addon(e)},children:T}):null,b==='underlined'&&jsx(DividerPositioned,{...H,layouts:LAYOUTS_DIVIDER,color:C.dividerColor})]})})),{displayName:'TabList',sizes:SIZES}),{Tab:TabListTab,Panel:TabListPanel});export{TabList};
2
2
  //# sourceMappingURL=TabList.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabList.mjs","sources":["../../../../src/components/TabList/TabList.tsx"],"sourcesContent":["import { forwardRef, useRef, useImperativeHandle, cloneElement, useMemo } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { useScrollThresholds } from 'hooks/useScrollThresholds'\nimport { TabListTab } from 'components/TabListTab'\nimport { IconButton } from 'components/IconButton'\nimport type { IconButtonProps } from 'components/IconButton'\nimport { TabListTabsContext, TabListPropsContext } from 'shared/context/tabList'\nimport { keyboardKeys } from 'shared/constants'\nimport { navigateHorizontalList, SELECTORS_FOCUSABLE } from 'shared/utils/dom'\nimport { focus } from 'mixins/focus'\nimport { TabListPanel } from './TabListPanel'\nimport { useTabList, useTabListItems, useTabListAutoGroup } from './hooks'\nimport { TabListMenuTab } from './TabListMenuTab'\nimport { SIZES, SIZES_SCROLL_CONTROL } from './sizes'\nimport { LAYOUTS, LAYOUTS_DIVIDER, LAYOUTS_ADDON } from './layouts'\nimport type { TabListProps } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'TabList'\n\n/**\n *\n * Компонент для создания группы табов и ассоциированных с ними панелей с контентом.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<div\\> элемента.\n *\n * Дизайн соответствует [рекомендациям WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/patterns/tabs/).\n */\nconst TabList: React.ForwardRefExoticComponent<TabListProps> & {\n Tab: typeof TabListTab\n Panel: typeof TabListPanel\n} = Object.assign(\n withMergedProps<TabListProps, HTMLDivElement>(\n forwardRef<HTMLDivElement, MergedProps<TabListProps>>((props, forwardedRef) => {\n const {\n size = 'm',\n layout = 'horizontal',\n gap = 8,\n activationOnFocus = false,\n tabsAutoGroup = false,\n scrollControls = false,\n scrollFading = false,\n defaultActiveTab,\n activeTab,\n onActiveTabChange,\n variant,\n disabled,\n children,\n menuItems: menuItemsProp,\n addon,\n menuTabText,\n menuTabControl,\n scrollControlLeft,\n scrollControlRight,\n palette,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n layoutXXS,\n layoutXS,\n layoutS,\n layoutM,\n layoutL,\n layoutXL,\n ...restProps\n } = props\n\n const sizeProps = useMemo(\n () => ({ size, sizeXXS, sizeXS, sizeS, sizeM, sizeL, sizeXL }),\n [size, sizeXXS, sizeXS, sizeS, sizeM, sizeL, sizeXL]\n )\n\n const layoutProps = {\n layout,\n layoutXXS,\n layoutXS,\n layoutS,\n layoutM,\n layoutL,\n layoutXL,\n }\n\n const rootRef = useRef<HTMLDivElement | null>(null)\n const tabsTrackRef = useRef<HTMLDivElement | null>(null)\n const scrollControlRef = useRef<HTMLDivElement | null>(null)\n\n useImperativeHandle(forwardedRef, () => rootRef.current as HTMLDivElement, [])\n\n const tabListItems = useTabListItems(children, menuItemsProp)\n\n const autoGroupMode = useTabListAutoGroup({\n enabled: tabsAutoGroup,\n tabList: tabListItems.tabs,\n })\n\n const tabList = useTabList({\n defaultActiveTab,\n activeTab,\n onActiveTabChange,\n tabList: tabsAutoGroup ? tabListItems.tabs : tabListItems.combined,\n })\n\n const { scrollThresholds, setScrollThresholds } = useScrollThresholds({\n enabled: !tabsAutoGroup,\n target: tabsTrackRef,\n })\n\n const scrollControlLeftProps: IconButtonProps = {\n ...sizeProps,\n sizes: SIZES_SCROLL_CONTROL,\n icon: 'chevronLeft',\n tabIndex: -1,\n onFocus: (evt) => {\n evt.currentTarget.blur()\n },\n onClick: () => {\n if (!tabsTrackRef.current || !scrollControlRef.current) {\n return\n }\n\n const trackLeft = Math.round(\n tabsTrackRef.current.getBoundingClientRect().left + scrollControlRef.current.getBoundingClientRect().width\n )\n const tabsLeft = Array.from(tabsTrackRef.current.querySelectorAll<HTMLLIElement>('[role=\"tab\"]')).map((tab) =>\n Math.round(tab.getBoundingClientRect().left + focus.padding)\n )\n\n const idx = tabsLeft.findIndex((tabLeft) => tabLeft >= trackLeft)\n\n if ([-1, 0, 1].includes(idx)) {\n tabsTrackRef.current.scrollTo({ top: 0, left: 0, behavior: 'smooth' })\n } else {\n tabsTrackRef.current.scrollBy({\n top: 0,\n left: tabsLeft[idx - 1] - trackLeft,\n behavior: 'smooth',\n })\n }\n },\n }\n\n const scrollControlRightProps: IconButtonProps = {\n ...sizeProps,\n sizes: SIZES_SCROLL_CONTROL,\n icon: 'chevronRight',\n tabIndex: -1,\n onFocus: (evt) => {\n evt.currentTarget.blur()\n },\n onClick: () => {\n if (!tabsTrackRef.current) {\n return\n }\n\n const trackRight = Math.round(tabsTrackRef.current.getBoundingClientRect().right)\n const tabsRight = Array.from(tabsTrackRef.current.querySelectorAll<HTMLLIElement>('[role=\"tab\"]'))\n .map((tab) => Math.round(tab.getBoundingClientRect().right + focus.padding))\n .reverse()\n\n const idx = tabsRight.findIndex((tabRight) => tabRight <= trackRight)\n\n if ([-1, 0, 1].includes(idx)) {\n tabsTrackRef.current.scrollTo({ top: 0, left: tabsTrackRef.current.scrollWidth, behavior: 'smooth' })\n } else {\n tabsTrackRef.current.scrollBy({\n top: 0,\n left: tabsRight[idx - 1] - trackRight,\n behavior: 'smooth',\n })\n }\n },\n }\n\n const controlsContextProps = useMemo(() => ({ ...tabList, activationOnFocus }), [tabList, activationOnFocus])\n\n const tabsContextProps = useMemo(\n () => ({\n ...sizeProps,\n role: 'tab',\n marginRight: gap,\n variant,\n disabled,\n palette: {\n color: palette.tabColor,\n colorHover: palette.tabColorHover,\n colorActive: palette.tabColorActive,\n colorDisabled: palette.tabColorDisabled,\n colorActiveDisabled: palette.tabColorActiveDisabled,\n backgroundColor: palette.tabBackgroundColor,\n backgroundColorHover: palette.tabBackgroundColorHover,\n backgroundColorActive: palette.tabBackgroundColorActive,\n backgroundColorDisabled: palette.tabBackgroundColorDisabled,\n backgroundColorActiveDisabled: palette.tabBackgroundColorActiveDisabled,\n },\n }),\n [sizeProps, gap, variant, disabled, palette]\n )\n\n const hiddenTabsContextProps = useMemo(\n () => ({ ...sizeProps, marginRight: gap, variant }),\n [sizeProps, gap, variant]\n )\n\n const tabs = tabsAutoGroup ? autoGroupMode.groups.tabs : tabListItems.tabs\n const menuItems = tabsAutoGroup ? autoGroupMode.groups.menuItems : tabListItems.menuItems\n\n return (\n <Styled.Root\n {...restProps}\n {...sizeProps}\n {...layoutProps}\n layouts={LAYOUTS}\n palette={{\n backgroundColor: palette.backgroundColor,\n }}\n ref={(node) => {\n rootRef.current = node\n autoGroupMode.refs.root(node)\n }}\n >\n <Styled.List\n role='tablist'\n aria-orientation='horizontal'\n onKeyDown={(evt) => {\n if (\n !(document.activeElement instanceof HTMLElement) ||\n !document.activeElement.matches('[role=\"tab\"]') ||\n (!keyboardKeys.Home.validate(evt.key) &&\n !keyboardKeys.End.validate(evt.key) &&\n !keyboardKeys.ArrowRight.validate(evt.key) &&\n !keyboardKeys.ArrowLeft.validate(evt.key))\n ) {\n return\n }\n\n const tabListTabs = Array.from(evt.currentTarget.querySelectorAll<HTMLElement>('[role=\"tab\"]')).filter(\n (tab) => !tab.closest('[aria-hidden=\"true\"]')\n )\n\n if (tabListTabs.length === 0) return\n\n if (keyboardKeys.Home.validate(evt.key)) {\n evt.preventDefault()\n tabListTabs[0].focus()\n } else if (keyboardKeys.End.validate(evt.key)) {\n evt.preventDefault()\n tabListTabs[tabListTabs.length - 1].focus()\n } else if (keyboardKeys.ArrowRight.validate(evt.key) || keyboardKeys.ArrowLeft.validate(evt.key)) {\n evt.preventDefault()\n navigateHorizontalList(evt.key, document.activeElement, tabListTabs, SELECTORS_FOCUSABLE)\n }\n }}\n >\n <Styled.Container ref={autoGroupMode.refs.container}>\n <Styled.TabsTrack>\n {!tabsAutoGroup && (scrollControls || scrollFading) ? (\n <Styled.Floats hidden={scrollThresholds.left === true || scrollThresholds.left === null}>\n {scrollControls ? (\n <Styled.Control ref={scrollControlRef}>\n {typeof scrollControlLeft === 'function' ? (\n scrollControlLeft(scrollControlLeftProps)\n ) : (\n <IconButton {...scrollControlLeftProps} />\n )}\n </Styled.Control>\n ) : null}\n {scrollFading ? <Styled.ScrollFading /> : null}\n </Styled.Floats>\n ) : null}\n <Styled.TrackScrollable\n ref={(node) => {\n tabsTrackRef.current = node\n autoGroupMode.refs.track(node)\n }}\n tabIndex={-1}\n data-ui-track-scrollable\n onFocus={(evt) => {\n if (!evt.target.matches('[role=\"tab\"]')) {\n return\n }\n\n const trackRect = evt.currentTarget.getBoundingClientRect()\n const tabRect = evt.target.getBoundingClientRect()\n\n const trackRight = Math.round(trackRect.right)\n const trackLeft = Math.round(\n scrollControlRef.current && scrollThresholds.left === false\n ? trackRect.left + scrollControlRef.current.getBoundingClientRect().width\n : trackRect.left\n )\n\n const tabRight = Math.round(tabRect.right + focus.padding)\n const tabLeft = Math.round(tabRect.left - focus.padding)\n\n if (tabRight > trackRight) {\n evt.currentTarget.scrollBy(tabRight - trackRight, 0)\n } else if (tabLeft < trackLeft) {\n evt.currentTarget.scrollBy(tabLeft - trackLeft, 0)\n }\n }}\n onScroll={(evt) => {\n if (!tabsAutoGroup) {\n setScrollThresholds(evt.currentTarget)\n }\n }}\n >\n <TabListTabsContext.Provider value={controlsContextProps}>\n <TabListPropsContext.Provider value={tabsContextProps}>\n {tabsAutoGroup\n ? tabs.map((tab, idx) => <Styled.TabWrapper key={idx}>{tab}</Styled.TabWrapper>)\n : tabs}\n </TabListPropsContext.Provider>\n </TabListTabsContext.Provider>\n </Styled.TrackScrollable>\n {!tabsAutoGroup && scrollFading ? (\n <Styled.Floats hidden={scrollThresholds.right === true || scrollThresholds.right === null} after>\n <Styled.ScrollFading after />\n </Styled.Floats>\n ) : null}\n </Styled.TabsTrack>\n {!tabsAutoGroup && scrollControls ? (\n <Styled.Control hidden={scrollThresholds.right === true || scrollThresholds.right === null}>\n {typeof scrollControlRight === 'function' ? (\n scrollControlRight(scrollControlRightProps)\n ) : (\n <IconButton {...scrollControlRightProps} />\n )}\n </Styled.Control>\n ) : null}\n {menuItems.length > 0 && (\n <Styled.Control\n ref={(node) => {\n autoGroupMode.refs.control(node)\n }}\n >\n <TabListMenuTab\n {...sizeProps}\n {...tabList}\n role='tab'\n variant={variant}\n disabled={disabled}\n palette={palette}\n menuItems={menuItems}\n activationOnFocus={activationOnFocus}\n text={menuTabText}\n control={menuTabControl}\n />\n </Styled.Control>\n )}\n </Styled.Container>\n {tabsAutoGroup ? (\n <Styled.Hidden aria-hidden>\n <Styled.TabsHidden>\n <TabListPropsContext.Provider value={hiddenTabsContextProps}>\n {tabListItems.tabs.map((tab, idx) => (\n <Styled.TabWrapper\n key={idx}\n ref={(node) => {\n autoGroupMode.refs.tabHidden(idx, node)\n }}\n >\n {cloneElement(tab, { ref: null, id: undefined, role: 'none' })}\n </Styled.TabWrapper>\n ))}\n </TabListPropsContext.Provider>\n </Styled.TabsHidden>\n </Styled.Hidden>\n ) : null}\n </Styled.List>\n {addon ? (\n <Styled.Addon\n {...layoutProps}\n layouts={LAYOUTS_ADDON}\n ref={(node) => {\n autoGroupMode.refs.addon(node)\n }}\n >\n {addon}\n </Styled.Addon>\n ) : null}\n {variant === 'underlined' && (\n <Styled.DividerPositioned {...layoutProps} layouts={LAYOUTS_DIVIDER} color={palette.dividerColor} />\n )}\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n ),\n {\n Tab: TabListTab,\n Panel: TabListPanel,\n }\n)\n\nexport { TabList }\n"],"names":["TabList","Object","assign","withMergedProps","forwardRef","props","forwardedRef","size","layout","gap","activationOnFocus","tabsAutoGroup","scrollControls","scrollFading","defaultActiveTab","activeTab","onActiveTabChange","variant","disabled","children","menuItems","menuItemsProp","addon","menuTabText","menuTabControl","scrollControlLeft","scrollControlRight","palette","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","layoutXXS","layoutXS","layoutS","layoutM","layoutL","layoutXL","restProps","sizeProps","useMemo","layoutProps","rootRef","useRef","tabsTrackRef","scrollControlRef","useImperativeHandle","current","tabListItems","useTabListItems","autoGroupMode","useTabListAutoGroup","enabled","tabList","tabs","useTabList","combined","scrollThresholds","setScrollThresholds","useScrollThresholds","target","scrollControlLeftProps","sizes","SIZES_SCROLL_CONTROL","icon","tabIndex","onFocus","evt","currentTarget","blur","onClick","trackLeft","Math","round","getBoundingClientRect","left","width","tabsLeft","Array","from","querySelectorAll","map","tab","focus","padding","idx","findIndex","tabLeft","includes","scrollTo","top","behavior","scrollBy","scrollControlRightProps","trackRight","right","tabsRight","reverse","tabRight","scrollWidth","controlsContextProps","tabsContextProps","role","marginRight","color","tabColor","colorHover","tabColorHover","colorActive","tabColorActive","colorDisabled","tabColorDisabled","colorActiveDisabled","tabColorActiveDisabled","backgroundColor","tabBackgroundColor","backgroundColorHover","tabBackgroundColorHover","backgroundColorActive","tabBackgroundColorActive","backgroundColorDisabled","tabBackgroundColorDisabled","backgroundColorActiveDisabled","tabBackgroundColorActiveDisabled","hiddenTabsContextProps","groups","_jsxs","Styled","layouts","LAYOUTS","ref","node","refs","root","onKeyDown","document","activeElement","HTMLElement","matches","keyboardKeys","Home","validate","key","End","ArrowRight","ArrowLeft","tabListTabs","filter","closest","length","preventDefault","navigateHorizontalList","SELECTORS_FOCUSABLE","container","hidden","_jsx","IconButton","track","trackRect","tabRect","onScroll","TabListTabsContext","Provider","value","TabListPropsContext","after","control","TabListMenuTab","text","tabHidden","cloneElement","id","undefined","LAYOUTS_ADDON","LAYOUTS_DIVIDER","dividerColor","displayName","SIZES","Tab","TabListTab","Panel","TabListPanel"],"mappings":"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"}
1
+ {"version":3,"file":"TabList.mjs","sources":["../../../../src/components/TabList/TabList.tsx"],"sourcesContent":["import { forwardRef, useRef, useImperativeHandle, cloneElement, useMemo } from 'react'\nimport { ChevronLeft, ChevronRight } from '@foxford/icon-pack'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { useScrollThresholds } from 'hooks/useScrollThresholds'\nimport { TabListTab } from 'components/TabListTab'\nimport { IconButton } from 'components/IconButton'\nimport type { IconButtonProps } from 'components/IconButton'\nimport { TabListTabsContext, TabListPropsContext } from 'shared/context/tabList'\nimport { keyboardKeys } from 'shared/constants'\nimport { navigateHorizontalList, SELECTORS_FOCUSABLE } from 'shared/utils/dom'\nimport { focus } from 'mixins/focus'\nimport { TabListPanel } from './TabListPanel'\nimport { useTabList, useTabListItems, useTabListAutoGroup } from './hooks'\nimport { TabListMenuTab } from './TabListMenuTab'\nimport { SIZES, SIZES_SCROLL_CONTROL } from './sizes'\nimport { LAYOUTS, LAYOUTS_DIVIDER, LAYOUTS_ADDON } from './layouts'\nimport type { TabListProps } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'TabList'\n\n/**\n *\n * Компонент для создания группы табов и ассоциированных с ними панелей с контентом.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<div\\> элемента.\n *\n * Дизайн соответствует [рекомендациям WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/patterns/tabs/).\n */\nconst TabList: React.ForwardRefExoticComponent<TabListProps> & {\n Tab: typeof TabListTab\n Panel: typeof TabListPanel\n} = Object.assign(\n withMergedProps<TabListProps, HTMLDivElement>(\n forwardRef<HTMLDivElement, MergedProps<TabListProps>>((props, forwardedRef) => {\n const {\n size = 'm',\n layout = 'horizontal',\n gap = 8,\n activationOnFocus = false,\n tabsAutoGroup = false,\n scrollControls = false,\n scrollFading = false,\n defaultActiveTab,\n activeTab,\n onActiveTabChange,\n variant,\n disabled,\n children,\n menuItems: menuItemsProp,\n addon,\n menuTabText,\n menuTabControl,\n scrollControlLeft,\n scrollControlRight,\n palette,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n layoutXXS,\n layoutXS,\n layoutS,\n layoutM,\n layoutL,\n layoutXL,\n ...restProps\n } = props\n\n const sizeProps = useMemo(\n () => ({ size, sizeXXS, sizeXS, sizeS, sizeM, sizeL, sizeXL }),\n [size, sizeXXS, sizeXS, sizeS, sizeM, sizeL, sizeXL]\n )\n\n const layoutProps = {\n layout,\n layoutXXS,\n layoutXS,\n layoutS,\n layoutM,\n layoutL,\n layoutXL,\n }\n\n const rootRef = useRef<HTMLDivElement | null>(null)\n const tabsTrackRef = useRef<HTMLDivElement | null>(null)\n const scrollControlRef = useRef<HTMLDivElement | null>(null)\n\n useImperativeHandle(forwardedRef, () => rootRef.current as HTMLDivElement, [])\n\n const tabListItems = useTabListItems(children, menuItemsProp)\n\n const autoGroupMode = useTabListAutoGroup({\n enabled: tabsAutoGroup,\n tabList: tabListItems.tabs,\n })\n\n const tabList = useTabList({\n defaultActiveTab,\n activeTab,\n onActiveTabChange,\n tabList: tabsAutoGroup ? tabListItems.tabs : tabListItems.combined,\n })\n\n const { scrollThresholds, setScrollThresholds } = useScrollThresholds({\n enabled: !tabsAutoGroup,\n target: tabsTrackRef,\n })\n\n const scrollControlLeftProps: IconButtonProps = {\n ...sizeProps,\n sizes: SIZES_SCROLL_CONTROL,\n icon: <ChevronLeft />,\n tabIndex: -1,\n onFocus: (evt) => {\n evt.currentTarget.blur()\n },\n onClick: () => {\n if (!tabsTrackRef.current || !scrollControlRef.current) {\n return\n }\n\n const trackLeft = Math.round(\n tabsTrackRef.current.getBoundingClientRect().left + scrollControlRef.current.getBoundingClientRect().width\n )\n const tabsLeft = Array.from(tabsTrackRef.current.querySelectorAll<HTMLLIElement>('[role=\"tab\"]')).map((tab) =>\n Math.round(tab.getBoundingClientRect().left + focus.padding)\n )\n\n const idx = tabsLeft.findIndex((tabLeft) => tabLeft >= trackLeft)\n\n if ([-1, 0, 1].includes(idx)) {\n tabsTrackRef.current.scrollTo({ top: 0, left: 0, behavior: 'smooth' })\n } else {\n tabsTrackRef.current.scrollBy({\n top: 0,\n left: tabsLeft[idx - 1] - trackLeft,\n behavior: 'smooth',\n })\n }\n },\n }\n\n const scrollControlRightProps: IconButtonProps = {\n ...sizeProps,\n sizes: SIZES_SCROLL_CONTROL,\n icon: <ChevronRight />,\n tabIndex: -1,\n onFocus: (evt) => {\n evt.currentTarget.blur()\n },\n onClick: () => {\n if (!tabsTrackRef.current) {\n return\n }\n\n const trackRight = Math.round(tabsTrackRef.current.getBoundingClientRect().right)\n const tabsRight = Array.from(tabsTrackRef.current.querySelectorAll<HTMLLIElement>('[role=\"tab\"]'))\n .map((tab) => Math.round(tab.getBoundingClientRect().right + focus.padding))\n .reverse()\n\n const idx = tabsRight.findIndex((tabRight) => tabRight <= trackRight)\n\n if ([-1, 0, 1].includes(idx)) {\n tabsTrackRef.current.scrollTo({ top: 0, left: tabsTrackRef.current.scrollWidth, behavior: 'smooth' })\n } else {\n tabsTrackRef.current.scrollBy({\n top: 0,\n left: tabsRight[idx - 1] - trackRight,\n behavior: 'smooth',\n })\n }\n },\n }\n\n const controlsContextProps = useMemo(() => ({ ...tabList, activationOnFocus }), [tabList, activationOnFocus])\n\n const tabsContextProps = useMemo(\n () => ({\n ...sizeProps,\n role: 'tab',\n marginRight: gap,\n variant,\n disabled,\n palette: {\n color: palette.tabColor,\n colorHover: palette.tabColorHover,\n colorActive: palette.tabColorActive,\n colorDisabled: palette.tabColorDisabled,\n colorActiveDisabled: palette.tabColorActiveDisabled,\n backgroundColor: palette.tabBackgroundColor,\n backgroundColorHover: palette.tabBackgroundColorHover,\n backgroundColorActive: palette.tabBackgroundColorActive,\n backgroundColorDisabled: palette.tabBackgroundColorDisabled,\n backgroundColorActiveDisabled: palette.tabBackgroundColorActiveDisabled,\n },\n }),\n [sizeProps, gap, variant, disabled, palette]\n )\n\n const hiddenTabsContextProps = useMemo(\n () => ({ ...sizeProps, marginRight: gap, variant }),\n [sizeProps, gap, variant]\n )\n\n const tabs = tabsAutoGroup ? autoGroupMode.groups.tabs : tabListItems.tabs\n const menuItems = tabsAutoGroup ? autoGroupMode.groups.menuItems : tabListItems.menuItems\n\n return (\n <Styled.Root\n {...restProps}\n {...sizeProps}\n {...layoutProps}\n layouts={LAYOUTS}\n palette={{\n backgroundColor: palette.backgroundColor,\n }}\n ref={(node) => {\n rootRef.current = node\n autoGroupMode.refs.root(node)\n }}\n >\n <Styled.List\n role='tablist'\n aria-orientation='horizontal'\n onKeyDown={(evt) => {\n if (\n !(document.activeElement instanceof HTMLElement) ||\n !document.activeElement.matches('[role=\"tab\"]') ||\n (!keyboardKeys.Home.validate(evt.key) &&\n !keyboardKeys.End.validate(evt.key) &&\n !keyboardKeys.ArrowRight.validate(evt.key) &&\n !keyboardKeys.ArrowLeft.validate(evt.key))\n ) {\n return\n }\n\n const tabListTabs = Array.from(evt.currentTarget.querySelectorAll<HTMLElement>('[role=\"tab\"]')).filter(\n (tab) => !tab.closest('[aria-hidden=\"true\"]')\n )\n\n if (tabListTabs.length === 0) return\n\n if (keyboardKeys.Home.validate(evt.key)) {\n evt.preventDefault()\n tabListTabs[0].focus()\n } else if (keyboardKeys.End.validate(evt.key)) {\n evt.preventDefault()\n tabListTabs[tabListTabs.length - 1].focus()\n } else if (keyboardKeys.ArrowRight.validate(evt.key) || keyboardKeys.ArrowLeft.validate(evt.key)) {\n evt.preventDefault()\n navigateHorizontalList(evt.key, document.activeElement, tabListTabs, SELECTORS_FOCUSABLE)\n }\n }}\n >\n <Styled.Container ref={autoGroupMode.refs.container}>\n <Styled.TabsTrack>\n {!tabsAutoGroup && (scrollControls || scrollFading) ? (\n <Styled.Floats hidden={scrollThresholds.left === true || scrollThresholds.left === null}>\n {scrollControls ? (\n <Styled.Control ref={scrollControlRef}>\n {typeof scrollControlLeft === 'function' ? (\n scrollControlLeft(scrollControlLeftProps)\n ) : (\n <IconButton {...scrollControlLeftProps} />\n )}\n </Styled.Control>\n ) : null}\n {scrollFading ? <Styled.ScrollFading /> : null}\n </Styled.Floats>\n ) : null}\n <Styled.TrackScrollable\n ref={(node) => {\n tabsTrackRef.current = node\n autoGroupMode.refs.track(node)\n }}\n tabIndex={-1}\n data-ui-track-scrollable\n onFocus={(evt) => {\n if (!evt.target.matches('[role=\"tab\"]')) {\n return\n }\n\n const trackRect = evt.currentTarget.getBoundingClientRect()\n const tabRect = evt.target.getBoundingClientRect()\n\n const trackRight = Math.round(trackRect.right)\n const trackLeft = Math.round(\n scrollControlRef.current && scrollThresholds.left === false\n ? trackRect.left + scrollControlRef.current.getBoundingClientRect().width\n : trackRect.left\n )\n\n const tabRight = Math.round(tabRect.right + focus.padding)\n const tabLeft = Math.round(tabRect.left - focus.padding)\n\n if (tabRight > trackRight) {\n evt.currentTarget.scrollBy(tabRight - trackRight, 0)\n } else if (tabLeft < trackLeft) {\n evt.currentTarget.scrollBy(tabLeft - trackLeft, 0)\n }\n }}\n onScroll={(evt) => {\n if (!tabsAutoGroup) {\n setScrollThresholds(evt.currentTarget)\n }\n }}\n >\n <TabListTabsContext.Provider value={controlsContextProps}>\n <TabListPropsContext.Provider value={tabsContextProps}>\n {tabsAutoGroup\n ? tabs.map((tab, idx) => <Styled.TabWrapper key={idx}>{tab}</Styled.TabWrapper>)\n : tabs}\n </TabListPropsContext.Provider>\n </TabListTabsContext.Provider>\n </Styled.TrackScrollable>\n {!tabsAutoGroup && scrollFading ? (\n <Styled.Floats hidden={scrollThresholds.right === true || scrollThresholds.right === null} after>\n <Styled.ScrollFading after />\n </Styled.Floats>\n ) : null}\n </Styled.TabsTrack>\n {!tabsAutoGroup && scrollControls ? (\n <Styled.Control hidden={scrollThresholds.right === true || scrollThresholds.right === null}>\n {typeof scrollControlRight === 'function' ? (\n scrollControlRight(scrollControlRightProps)\n ) : (\n <IconButton {...scrollControlRightProps} />\n )}\n </Styled.Control>\n ) : null}\n {menuItems.length > 0 && (\n <Styled.Control\n ref={(node) => {\n autoGroupMode.refs.control(node)\n }}\n >\n <TabListMenuTab\n {...sizeProps}\n {...tabList}\n role='tab'\n variant={variant}\n disabled={disabled}\n palette={palette}\n menuItems={menuItems}\n activationOnFocus={activationOnFocus}\n text={menuTabText}\n control={menuTabControl}\n />\n </Styled.Control>\n )}\n </Styled.Container>\n {tabsAutoGroup ? (\n <Styled.Hidden aria-hidden>\n <Styled.TabsHidden>\n <TabListPropsContext.Provider value={hiddenTabsContextProps}>\n {tabListItems.tabs.map((tab, idx) => (\n <Styled.TabWrapper\n key={idx}\n ref={(node) => {\n autoGroupMode.refs.tabHidden(idx, node)\n }}\n >\n {cloneElement(tab, { ref: null, id: undefined, role: 'none' })}\n </Styled.TabWrapper>\n ))}\n </TabListPropsContext.Provider>\n </Styled.TabsHidden>\n </Styled.Hidden>\n ) : null}\n </Styled.List>\n {addon ? (\n <Styled.Addon\n {...layoutProps}\n layouts={LAYOUTS_ADDON}\n ref={(node) => {\n autoGroupMode.refs.addon(node)\n }}\n >\n {addon}\n </Styled.Addon>\n ) : null}\n {variant === 'underlined' && (\n <Styled.DividerPositioned {...layoutProps} layouts={LAYOUTS_DIVIDER} color={palette.dividerColor} />\n )}\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n ),\n {\n Tab: TabListTab,\n Panel: TabListPanel,\n }\n)\n\nexport { TabList }\n"],"names":["TabList","Object","assign","withMergedProps","forwardRef","props","forwardedRef","size","layout","gap","activationOnFocus","tabsAutoGroup","scrollControls","scrollFading","defaultActiveTab","activeTab","onActiveTabChange","variant","disabled","children","menuItems","menuItemsProp","addon","menuTabText","menuTabControl","scrollControlLeft","scrollControlRight","palette","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","layoutXXS","layoutXS","layoutS","layoutM","layoutL","layoutXL","restProps","sizeProps","useMemo","layoutProps","rootRef","useRef","tabsTrackRef","scrollControlRef","useImperativeHandle","current","tabListItems","useTabListItems","autoGroupMode","useTabListAutoGroup","enabled","tabList","tabs","useTabList","combined","scrollThresholds","setScrollThresholds","useScrollThresholds","target","scrollControlLeftProps","sizes","SIZES_SCROLL_CONTROL","icon","_jsx","ChevronLeft","tabIndex","onFocus","evt","currentTarget","blur","onClick","trackLeft","Math","round","getBoundingClientRect","left","width","tabsLeft","Array","from","querySelectorAll","map","tab","focus","padding","idx","findIndex","tabLeft","includes","scrollTo","top","behavior","scrollBy","scrollControlRightProps","ChevronRight","trackRight","right","tabsRight","reverse","tabRight","scrollWidth","controlsContextProps","tabsContextProps","role","marginRight","color","tabColor","colorHover","tabColorHover","colorActive","tabColorActive","colorDisabled","tabColorDisabled","colorActiveDisabled","tabColorActiveDisabled","backgroundColor","tabBackgroundColor","backgroundColorHover","tabBackgroundColorHover","backgroundColorActive","tabBackgroundColorActive","backgroundColorDisabled","tabBackgroundColorDisabled","backgroundColorActiveDisabled","tabBackgroundColorActiveDisabled","hiddenTabsContextProps","groups","_jsxs","Styled","layouts","LAYOUTS","ref","node","refs","root","onKeyDown","document","activeElement","HTMLElement","matches","keyboardKeys","Home","validate","key","End","ArrowRight","ArrowLeft","tabListTabs","filter","closest","length","preventDefault","navigateHorizontalList","SELECTORS_FOCUSABLE","container","hidden","IconButton","track","trackRect","tabRect","onScroll","TabListTabsContext","Provider","value","TabListPropsContext","after","control","TabListMenuTab","text","tabHidden","cloneElement","id","undefined","LAYOUTS_ADDON","LAYOUTS_DIVIDER","dividerColor","displayName","SIZES","Tab","TabListTab","Panel","TabListPanel"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- 'use strict';var React=require('react');var Floater=require('react-floater');var nanoid=require('nanoid');var tabList=require('../../shared/context/tabList.js');var useMergedPalette=require('../../hooks/useMergedPalette.js');var useClickOutside=require('../../hooks/useClickOutside.js');var constants=require('../../shared/constants.js');var useFloaterPortal=require('../../hooks/useFloaterPortal.js');var dom=require('../../shared/utils/dom.js');var style=require('./style.js');var jsxRuntime=require('react/jsx-runtime');var TabListTab=require('../TabListTab/TabListTab.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Floater__default=_interopDefault(Floater);exports.TabListMenuTab=e=>{const{role:t="tab",type:o="button",variant:a="clear",size:r="m",sizeXXS:s,sizeXS:n,sizeS:i,sizeM:l,sizeL:c,sizeXL:u,disabled:d,text:m,control:b,menuItems:y,activeTab:p,firstTab:v,activationOnFocus:f,getTabIndex:k,onActiveTabChange:T}=e;const h=React.useMemo((()=>({size:r,sizeXXS:s,sizeXS:n,sizeS:i,sizeM:l,sizeL:c,sizeXL:u})),[r,s,n,i,l,c,u]);const C=useMergedPalette.useMergedPalette(e);const g=React.useRef(null);const[x,R]=React.useState(null);const L=React.useRef(null);const j=useFloaterPortal.useFloaterPortal();const[A,D]=React.useState(!1);const E=React.useMemo((()=>nanoid.nanoid()),[]);const M=React.useMemo((()=>[g,x]),[x]);const K=React.useCallback((()=>{D(!1)}),[]);const S=Boolean(y.find((e=>React.isValidElement(e)&&typeof e.props=='object'&&e.props!==null&&e.props.id===p)));const q={...h,role:t,type:o,variant:a,'aria-haspopup':'menu',id:E,'aria-selected':S,active:S,tabIndex:S||!v?0:-1,disabled:d,text:m,addonRight:e=>jsxRuntime.jsx(style.IconAnimated,{...e.iconProps,rotate:A,name:"chevronDown",preset:"brand"}),palette:{color:C.tabColor,colorHover:C.tabColorHover,colorActive:C.tabColorActive,colorDisabled:C.tabColorDisabled,colorActiveDisabled:C.tabColorActiveDisabled,backgroundColor:C.tabBackgroundColor,backgroundColorHover:C.tabBackgroundColorHover,backgroundColorActive:C.tabBackgroundColorActive,backgroundColorDisabled:C.tabBackgroundColorDisabled,backgroundColorActiveDisabled:C.tabBackgroundColorActiveDisabled},onClick:()=>{D((e=>!e))},onKeyDown:e=>{A&&(constants.keyboardKeys.Esc.validate(e.key)||constants.keyboardKeys.Tab.validate(e.key))?(e.preventDefault(),D(!1)):!A&&(constants.keyboardKeys.F10.validate(e.key)&&e.shiftKey||constants.keyboardKeys.ArrowDown.validate(e.key))&&(e.preventDefault(),D(!0))}};const w=React.useMemo((()=>({activationOnFocus:f,activeTab:p,onActiveTabChange:T,getTabIndex:k})),[f,p,T,k]);const z=React.useMemo((()=>({...h,disabled:d,role:'menuitem',variant:'filled'})),[h,d]);return useClickOutside.useClickOutside(M,K,{enabled:A,event:'mousedown'}),React.useEffect((()=>(L.current=setTimeout((()=>{if(!x)return;const e=Array.from(x.querySelectorAll('[role="menuitem"]')).filter((e=>e.matches(dom.SELECTORS_FOCUSABLE)));const t=e.find((e=>e.matches('[aria-selected="true"]')));t?t.focus():e[0]&&e[0].focus(),L.current=null}),100),()=>{L.current&&clearTimeout(L.current)})),[x]),j?jsxRuntime.jsx(Floater__default.default,{open:A,portalElement:j,placement:"bottom-end",offset:8,hideArrow:!0,styles:{options:{zIndex:void 0},wrapper:{cursor:d?'not-allowed':'pointer'},floater:{filter:'none',opacity:1,transitionDuration:'10ms'}},getPopper:e=>{e.state.elements.reference instanceof HTMLElement&&(g.current=e.state.elements.reference)},modifiers:{removeRoles:{name:'removeRoles',enabled:!0,phase:'beforeWrite',effect:({state:e})=>{if(e.elements.popper instanceof HTMLElement){const t=e.elements.popper.querySelector('[role="tooltip"]');t&&t.removeAttribute('role')}}},minWidth:{name:'minWidth',enabled:!0,phase:'beforeWrite',requires:['computeStyles'],fn:({state:e})=>{e.styles.popper.minWidth=`${e.rects.reference.width}px`},effect:({state:e})=>{e.elements.popper instanceof HTMLElement&&e.elements.reference instanceof HTMLElement&&(e.elements.popper.style.display='flex',e.elements.popper.style.flexDirection='column',e.elements.popper.style.alignItems='stretch',e.elements.popper.style.minWidth=`${e.elements.reference.offsetWidth}px`)}}},component:()=>jsxRuntime.jsx(style.Menu,{role:"menu","aria-labelledby":E,ref:R,palette:{backgroundColor:C.menuBackgroundColor},onClick:e=>{e.target instanceof HTMLElement&&e.target.closest('[role="menuitem"]')&&(D(!1),setTimeout((()=>{g.current?.focus()}),100))},onKeyDown:e=>{if(e.stopPropagation(),!(document.activeElement instanceof HTMLElement&&document.activeElement.matches('[role="menuitem"]')&&(constants.keyboardKeys.Esc.validate(e.key)||constants.keyboardKeys.Tab.validate(e.key)||constants.keyboardKeys.Home.validate(e.key)||constants.keyboardKeys.End.validate(e.key)||constants.keyboardKeys.ArrowDown.validate(e.key)||constants.keyboardKeys.ArrowUp.validate(e.key))))return;if(constants.keyboardKeys.Esc.validate(e.key)||constants.keyboardKeys.Tab.validate(e.key))return e.preventDefault(),D(!1),void setTimeout((()=>{g.current?.focus()}),100);const t=Array.from(e.currentTarget.querySelectorAll('[role="menuitem"]'));t.length!==0&&(constants.keyboardKeys.Home.validate(e.key)?(e.preventDefault(),t[0].focus()):constants.keyboardKeys.End.validate(e.key)?(e.preventDefault(),t[t.length-1].focus()):(constants.keyboardKeys.ArrowDown.validate(e.key)||constants.keyboardKeys.ArrowUp.validate(e.key))&&(e.preventDefault(),dom.navigateVerticalList(e.key,document.activeElement,t,dom.SELECTORS_FOCUSABLE)))},children:jsxRuntime.jsx(tabList.TabListTabsContext.Provider,{value:w,children:jsxRuntime.jsx(tabList.TabListPropsContext.Provider,{value:z,children:React.Children.map(y,(e=>jsxRuntime.jsx(style.MenuItem,{role:"none",children:e})))})})}),children:typeof b=='function'?b(q):jsxRuntime.jsx(TabListTab.TabListTab,{...q})}):null};
1
+ 'use strict';var React=require('react');var Floater=require('react-floater');var nanoid=require('nanoid');var tabList=require('../../shared/context/tabList.js');var useMergedPalette=require('../../hooks/useMergedPalette.js');var useClickOutside=require('../../hooks/useClickOutside.js');var constants=require('../../shared/constants.js');var useFloaterPortal=require('../../hooks/useFloaterPortal.js');var dom=require('../../shared/utils/dom.js');var style=require('./style.js');var jsxRuntime=require('react/jsx-runtime');var index=require('../../icon-pack/src/icons/ChevronDown/index.js');var TabListTab=require('../TabListTab/TabListTab.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Floater__default=_interopDefault(Floater);exports.TabListMenuTab=e=>{const{role:t="tab",type:o="button",variant:a="clear",size:r="m",sizeXXS:s,sizeXS:n,sizeS:i,sizeM:l,sizeL:c,sizeXL:u,disabled:d,text:m,control:b,menuItems:y,activeTab:p,firstTab:v,activationOnFocus:f,getTabIndex:k,onActiveTabChange:T}=e;const x=React.useMemo((()=>({size:r,sizeXXS:s,sizeXS:n,sizeS:i,sizeM:l,sizeL:c,sizeXL:u})),[r,s,n,i,l,c,u]);const C=useMergedPalette.useMergedPalette(e);const h=React.useRef(null);const[g,R]=React.useState(null);const j=React.useRef(null);const L=useFloaterPortal.useFloaterPortal();const[D,A]=React.useState(!1);const E=React.useMemo((()=>nanoid.nanoid()),[]);const M=React.useMemo((()=>[h,g]),[g]);const K=React.useCallback((()=>{A(!1)}),[]);const S=Boolean(y.find((e=>React.isValidElement(e)&&typeof e.props=='object'&&e.props!==null&&e.props.id===p)));const q={...x,role:t,type:o,variant:a,'aria-haspopup':'menu',id:E,'aria-selected':S,active:S,tabIndex:S||!v?0:-1,disabled:d,text:m,addonRight:e=>jsxRuntime.jsx(style.IconAnimated,{...e.iconProps,rotate:D,icon:jsxRuntime.jsx(index.ChevronDown,{}),preset:"brand"}),palette:{color:C.tabColor,colorHover:C.tabColorHover,colorActive:C.tabColorActive,colorDisabled:C.tabColorDisabled,colorActiveDisabled:C.tabColorActiveDisabled,backgroundColor:C.tabBackgroundColor,backgroundColorHover:C.tabBackgroundColorHover,backgroundColorActive:C.tabBackgroundColorActive,backgroundColorDisabled:C.tabBackgroundColorDisabled,backgroundColorActiveDisabled:C.tabBackgroundColorActiveDisabled},onClick:()=>{A((e=>!e))},onKeyDown:e=>{D&&(constants.keyboardKeys.Esc.validate(e.key)||constants.keyboardKeys.Tab.validate(e.key))?(e.preventDefault(),A(!1)):!D&&(constants.keyboardKeys.F10.validate(e.key)&&e.shiftKey||constants.keyboardKeys.ArrowDown.validate(e.key))&&(e.preventDefault(),A(!0))}};const w=React.useMemo((()=>({activationOnFocus:f,activeTab:p,onActiveTabChange:T,getTabIndex:k})),[f,p,T,k]);const z=React.useMemo((()=>({...x,disabled:d,role:'menuitem',variant:'filled'})),[x,d]);return useClickOutside.useClickOutside(M,K,{enabled:D,event:'mousedown'}),React.useEffect((()=>(j.current=setTimeout((()=>{if(!g)return;const e=Array.from(g.querySelectorAll('[role="menuitem"]')).filter((e=>e.matches(dom.SELECTORS_FOCUSABLE)));const t=e.find((e=>e.matches('[aria-selected="true"]')));t?t.focus():e[0]&&e[0].focus(),j.current=null}),100),()=>{j.current&&clearTimeout(j.current)})),[g]),L?jsxRuntime.jsx(Floater__default.default,{open:D,portalElement:L,placement:"bottom-end",offset:8,hideArrow:!0,styles:{options:{zIndex:void 0},wrapper:{cursor:d?'not-allowed':'pointer'},floater:{filter:'none',opacity:1,transitionDuration:'10ms'}},getPopper:e=>{e.state.elements.reference instanceof HTMLElement&&(h.current=e.state.elements.reference)},modifiers:{removeRoles:{name:'removeRoles',enabled:!0,phase:'beforeWrite',effect:({state:e})=>{if(e.elements.popper instanceof HTMLElement){const t=e.elements.popper.querySelector('[role="tooltip"]');t&&t.removeAttribute('role')}}},minWidth:{name:'minWidth',enabled:!0,phase:'beforeWrite',requires:['computeStyles'],fn:({state:e})=>{e.styles.popper.minWidth=`${e.rects.reference.width}px`},effect:({state:e})=>{e.elements.popper instanceof HTMLElement&&e.elements.reference instanceof HTMLElement&&(e.elements.popper.style.display='flex',e.elements.popper.style.flexDirection='column',e.elements.popper.style.alignItems='stretch',e.elements.popper.style.minWidth=`${e.elements.reference.offsetWidth}px`)}}},component:()=>jsxRuntime.jsx(style.Menu,{role:"menu","aria-labelledby":E,ref:R,palette:{backgroundColor:C.menuBackgroundColor},onClick:e=>{e.target instanceof HTMLElement&&e.target.closest('[role="menuitem"]')&&(A(!1),setTimeout((()=>{h.current?.focus()}),100))},onKeyDown:e=>{if(e.stopPropagation(),!(document.activeElement instanceof HTMLElement&&document.activeElement.matches('[role="menuitem"]')&&(constants.keyboardKeys.Esc.validate(e.key)||constants.keyboardKeys.Tab.validate(e.key)||constants.keyboardKeys.Home.validate(e.key)||constants.keyboardKeys.End.validate(e.key)||constants.keyboardKeys.ArrowDown.validate(e.key)||constants.keyboardKeys.ArrowUp.validate(e.key))))return;if(constants.keyboardKeys.Esc.validate(e.key)||constants.keyboardKeys.Tab.validate(e.key))return e.preventDefault(),A(!1),void setTimeout((()=>{h.current?.focus()}),100);const t=Array.from(e.currentTarget.querySelectorAll('[role="menuitem"]'));t.length!==0&&(constants.keyboardKeys.Home.validate(e.key)?(e.preventDefault(),t[0].focus()):constants.keyboardKeys.End.validate(e.key)?(e.preventDefault(),t[t.length-1].focus()):(constants.keyboardKeys.ArrowDown.validate(e.key)||constants.keyboardKeys.ArrowUp.validate(e.key))&&(e.preventDefault(),dom.navigateVerticalList(e.key,document.activeElement,t,dom.SELECTORS_FOCUSABLE)))},children:jsxRuntime.jsx(tabList.TabListTabsContext.Provider,{value:w,children:jsxRuntime.jsx(tabList.TabListPropsContext.Provider,{value:z,children:React.Children.map(y,(e=>jsxRuntime.jsx(style.MenuItem,{role:"none",children:e})))})})}),children:typeof b=='function'?b(q):jsxRuntime.jsx(TabListTab.TabListTab,{...q})}):null};
2
2
  //# sourceMappingURL=TabListMenuTab.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabListMenuTab.js","sources":["../../../../src/components/TabList/TabListMenuTab.tsx"],"sourcesContent":["import { useState, useRef, useEffect, useMemo, useCallback, Children, isValidElement } from 'react'\nimport Floater from 'react-floater'\nimport { nanoid } from 'nanoid'\nimport type { Nullable } from 'shared/types'\nimport { TabListTabsContext, TabListPropsContext } from 'shared/context/tabList'\nimport { TabListTab } from 'components/TabListTab'\nimport { useMergedPalette } from 'hooks/useMergedPalette'\nimport { useClickOutside } from 'hooks/useClickOutside'\nimport { keyboardKeys } from 'shared/constants'\nimport { useFloaterPortal } from 'hooks/useFloaterPortal'\nimport { navigateVerticalList, SELECTORS_FOCUSABLE } from 'shared/utils/dom'\nimport type { TabListTabProps } from 'components/TabListTab'\nimport * as Styled from './style'\nimport type { TabListMenuTabProps } from './types'\n\nconst TabListMenuTab = (props: TabListMenuTabProps) => {\n const {\n role = 'tab',\n type = 'button',\n variant = 'clear',\n size = 'm',\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n disabled,\n text,\n control,\n menuItems,\n activeTab,\n firstTab,\n activationOnFocus,\n getTabIndex,\n onActiveTabChange,\n } = props\n\n const sizeProps = useMemo(\n () => ({ size, sizeXXS, sizeXS, sizeS, sizeM, sizeL, sizeXL }),\n [size, sizeXXS, sizeXS, sizeS, sizeM, sizeL, sizeXL]\n )\n\n const palette = useMergedPalette(props)\n\n const controlRef = useRef<Nullable<HTMLElement>>(null)\n const [menuRef, setMenuRef] = useState<Nullable<HTMLUListElement>>(null)\n\n const timerId = useRef<Nullable<ReturnType<typeof setTimeout>>>(null)\n\n const portalElement = useFloaterPortal()\n\n const [menuOpen, setMenuOpen] = useState(false)\n\n const controlId = useMemo(() => nanoid(), [])\n\n const clickOutsideTargets = useMemo(() => [controlRef, menuRef], [menuRef])\n\n const handleCloseMenu = useCallback(() => {\n setMenuOpen(false)\n }, [])\n\n const menuHasActiveTab = Boolean(\n menuItems.find(\n (item) =>\n isValidElement(item) && typeof item.props === 'object' && item.props !== null && item.props.id === activeTab\n )\n )\n\n const controlProps: TabListTabProps = {\n ...sizeProps,\n role,\n type,\n variant,\n 'aria-haspopup': 'menu',\n id: controlId,\n 'aria-selected': menuHasActiveTab,\n active: menuHasActiveTab,\n tabIndex: menuHasActiveTab || !firstTab ? 0 : -1,\n disabled,\n text,\n // eslint-disable-next-line react/no-unstable-nested-components\n addonRight: (addonProps) => (\n <Styled.IconAnimated {...addonProps.iconProps} rotate={menuOpen} name='chevronDown' preset='brand' />\n ),\n palette: {\n color: palette.tabColor,\n colorHover: palette.tabColorHover,\n colorActive: palette.tabColorActive,\n colorDisabled: palette.tabColorDisabled,\n colorActiveDisabled: palette.tabColorActiveDisabled,\n backgroundColor: palette.tabBackgroundColor,\n backgroundColorHover: palette.tabBackgroundColorHover,\n backgroundColorActive: palette.tabBackgroundColorActive,\n backgroundColorDisabled: palette.tabBackgroundColorDisabled,\n backgroundColorActiveDisabled: palette.tabBackgroundColorActiveDisabled,\n },\n onClick: () => {\n setMenuOpen((prev) => !prev)\n },\n onKeyDown: (evt) => {\n if (menuOpen && (keyboardKeys.Esc.validate(evt.key) || keyboardKeys.Tab.validate(evt.key))) {\n evt.preventDefault()\n setMenuOpen(false)\n } else if (\n !menuOpen &&\n ((keyboardKeys.F10.validate(evt.key) && evt.shiftKey) || keyboardKeys.ArrowDown.validate(evt.key))\n ) {\n evt.preventDefault()\n setMenuOpen(true)\n }\n },\n }\n\n const controlsContextProps = useMemo(\n () => ({\n activationOnFocus,\n activeTab,\n onActiveTabChange,\n getTabIndex,\n }),\n [activationOnFocus, activeTab, onActiveTabChange, getTabIndex]\n )\n\n const menuItemsContextProps = useMemo(\n () => ({\n ...sizeProps,\n disabled,\n role: 'menuitem',\n variant: 'filled' as TabListTabProps['variant'],\n }),\n [sizeProps, disabled]\n )\n\n useClickOutside(clickOutsideTargets, handleCloseMenu, {\n enabled: menuOpen,\n event: 'mousedown',\n })\n\n useEffect(() => {\n timerId.current = setTimeout(() => {\n if (!menuRef) return\n\n const items = Array.from(menuRef.querySelectorAll<HTMLElement>('[role=\"menuitem\"]')).filter((item) =>\n item.matches(SELECTORS_FOCUSABLE)\n )\n\n const activeItem = items.find((item) => item.matches('[aria-selected=\"true\"]'))\n\n if (activeItem) {\n activeItem.focus()\n } else if (items[0]) {\n items[0].focus()\n }\n\n timerId.current = null\n }, 100)\n\n return () => {\n if (timerId.current) {\n clearTimeout(timerId.current)\n }\n }\n }, [menuRef])\n\n if (!portalElement) {\n return null\n }\n\n return (\n <Floater\n open={menuOpen}\n portalElement={portalElement}\n placement='bottom-end'\n offset={8}\n hideArrow\n styles={{\n options: {\n zIndex: undefined,\n },\n wrapper: {\n cursor: disabled ? 'not-allowed' : 'pointer',\n },\n floater: {\n filter: 'none',\n opacity: 1,\n transitionDuration: '10ms',\n },\n }}\n getPopper={(popper) => {\n if (popper.state.elements.reference instanceof HTMLElement) {\n controlRef.current = popper.state.elements.reference\n }\n }}\n modifiers={{\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n removeRoles: {\n name: 'removeRoles',\n enabled: true,\n phase: 'beforeWrite',\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n effect: ({ state }) => {\n if (state.elements.popper instanceof HTMLElement) {\n const floaterElement = state.elements.popper.querySelector('[role=\"tooltip\"]')\n if (floaterElement) {\n floaterElement.removeAttribute('role')\n }\n }\n },\n },\n minWidth: {\n name: 'minWidth',\n enabled: true,\n phase: 'beforeWrite',\n requires: ['computeStyles'],\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n fn: ({ state }) => {\n state.styles.popper.minWidth = `${state.rects.reference.width}px`\n },\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n effect: ({ state }) => {\n if (state.elements.popper instanceof HTMLElement && state.elements.reference instanceof HTMLElement) {\n state.elements.popper.style.display = 'flex'\n state.elements.popper.style.flexDirection = 'column'\n state.elements.popper.style.alignItems = 'stretch'\n state.elements.popper.style.minWidth = `${state.elements.reference.offsetWidth}px`\n }\n },\n },\n }}\n // eslint-disable-next-line react/no-unstable-nested-components\n component={() => (\n <Styled.Menu\n role='menu'\n aria-labelledby={controlId}\n ref={setMenuRef}\n palette={{\n backgroundColor: palette.menuBackgroundColor,\n }}\n onClick={(evt) => {\n if (evt.target instanceof HTMLElement && evt.target.closest('[role=\"menuitem\"]')) {\n setMenuOpen(false)\n\n setTimeout(() => {\n controlRef.current?.focus()\n }, 100)\n }\n }}\n onKeyDown={(evt) => {\n evt.stopPropagation()\n\n if (\n !(document.activeElement instanceof HTMLElement) ||\n !document.activeElement.matches('[role=\"menuitem\"]') ||\n (!keyboardKeys.Esc.validate(evt.key) &&\n !keyboardKeys.Tab.validate(evt.key) &&\n !keyboardKeys.Home.validate(evt.key) &&\n !keyboardKeys.End.validate(evt.key) &&\n !keyboardKeys.ArrowDown.validate(evt.key) &&\n !keyboardKeys.ArrowUp.validate(evt.key))\n ) {\n return\n }\n\n if (keyboardKeys.Esc.validate(evt.key) || keyboardKeys.Tab.validate(evt.key)) {\n evt.preventDefault()\n\n setMenuOpen(false)\n\n setTimeout(() => {\n controlRef.current?.focus()\n }, 100)\n\n return\n }\n\n const items = Array.from(evt.currentTarget.querySelectorAll<HTMLElement>('[role=\"menuitem\"]'))\n\n if (items.length === 0) return\n\n if (keyboardKeys.Home.validate(evt.key)) {\n evt.preventDefault()\n items[0].focus()\n } else if (keyboardKeys.End.validate(evt.key)) {\n evt.preventDefault()\n items[items.length - 1].focus()\n } else if (keyboardKeys.ArrowDown.validate(evt.key) || keyboardKeys.ArrowUp.validate(evt.key)) {\n evt.preventDefault()\n navigateVerticalList(evt.key, document.activeElement, items, SELECTORS_FOCUSABLE)\n }\n }}\n >\n <TabListTabsContext.Provider value={controlsContextProps}>\n <TabListPropsContext.Provider value={menuItemsContextProps}>\n {Children.map(menuItems, (item) => (\n <Styled.MenuItem role='none'>{item}</Styled.MenuItem>\n ))}\n </TabListPropsContext.Provider>\n </TabListTabsContext.Provider>\n </Styled.Menu>\n )}\n >\n {typeof control === 'function' ? control(controlProps) : <TabListTab {...controlProps} />}\n </Floater>\n )\n}\n\nexport { TabListMenuTab }\n"],"names":["props","role","type","variant","size","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","disabled","text","control","menuItems","activeTab","firstTab","activationOnFocus","getTabIndex","onActiveTabChange","sizeProps","useMemo","palette","useMergedPalette","controlRef","useRef","menuRef","setMenuRef","useState","timerId","portalElement","useFloaterPortal","menuOpen","setMenuOpen","controlId","nanoid","clickOutsideTargets","handleCloseMenu","useCallback","menuHasActiveTab","Boolean","find","item","isValidElement","id","controlProps","active","tabIndex","addonRight","addonProps","_jsx","jsx","Styled","iconProps","rotate","name","preset","color","tabColor","colorHover","tabColorHover","colorActive","tabColorActive","colorDisabled","tabColorDisabled","colorActiveDisabled","tabColorActiveDisabled","backgroundColor","tabBackgroundColor","backgroundColorHover","tabBackgroundColorHover","backgroundColorActive","tabBackgroundColorActive","backgroundColorDisabled","tabBackgroundColorDisabled","backgroundColorActiveDisabled","tabBackgroundColorActiveDisabled","onClick","prev","onKeyDown","evt","keyboardKeys","Esc","validate","key","Tab","preventDefault","F10","shiftKey","ArrowDown","controlsContextProps","menuItemsContextProps","useClickOutside","enabled","event","useEffect","current","setTimeout","items","Array","from","querySelectorAll","filter","matches","SELECTORS_FOCUSABLE","activeItem","focus","clearTimeout","Floater","open","placement","offset","hideArrow","styles","options","zIndex","undefined","wrapper","cursor","floater","opacity","transitionDuration","getPopper","popper","state","elements","reference","HTMLElement","modifiers","removeRoles","phase","effect","floaterElement","querySelector","removeAttribute","minWidth","requires","fn","rects","width","style","display","flexDirection","alignItems","offsetWidth","component","ref","menuBackgroundColor","target","closest","stopPropagation","document","activeElement","Home","End","ArrowUp","currentTarget","length","navigateVerticalList","children","TabListTabsContext","Provider","value","TabListPropsContext","Children","map","TabListTab"],"mappings":"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"}
1
+ {"version":3,"file":"TabListMenuTab.js","sources":["../../../../src/components/TabList/TabListMenuTab.tsx"],"sourcesContent":["import { useState, useRef, useEffect, useMemo, useCallback, Children, isValidElement } from 'react'\nimport Floater from 'react-floater'\nimport { nanoid } from 'nanoid'\nimport { ChevronDown } from '@foxford/icon-pack'\nimport type { Nullable } from 'shared/types'\nimport { TabListTabsContext, TabListPropsContext } from 'shared/context/tabList'\nimport { TabListTab } from 'components/TabListTab'\nimport { useMergedPalette } from 'hooks/useMergedPalette'\nimport { useClickOutside } from 'hooks/useClickOutside'\nimport { keyboardKeys } from 'shared/constants'\nimport { useFloaterPortal } from 'hooks/useFloaterPortal'\nimport { navigateVerticalList, SELECTORS_FOCUSABLE } from 'shared/utils/dom'\nimport type { TabListTabProps } from 'components/TabListTab'\nimport * as Styled from './style'\nimport type { TabListMenuTabProps } from './types'\n\nconst TabListMenuTab = (props: TabListMenuTabProps) => {\n const {\n role = 'tab',\n type = 'button',\n variant = 'clear',\n size = 'm',\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n disabled,\n text,\n control,\n menuItems,\n activeTab,\n firstTab,\n activationOnFocus,\n getTabIndex,\n onActiveTabChange,\n } = props\n\n const sizeProps = useMemo(\n () => ({ size, sizeXXS, sizeXS, sizeS, sizeM, sizeL, sizeXL }),\n [size, sizeXXS, sizeXS, sizeS, sizeM, sizeL, sizeXL]\n )\n\n const palette = useMergedPalette(props)\n\n const controlRef = useRef<Nullable<HTMLElement>>(null)\n const [menuRef, setMenuRef] = useState<Nullable<HTMLUListElement>>(null)\n\n const timerId = useRef<Nullable<ReturnType<typeof setTimeout>>>(null)\n\n const portalElement = useFloaterPortal()\n\n const [menuOpen, setMenuOpen] = useState(false)\n\n const controlId = useMemo(() => nanoid(), [])\n\n const clickOutsideTargets = useMemo(() => [controlRef, menuRef], [menuRef])\n\n const handleCloseMenu = useCallback(() => {\n setMenuOpen(false)\n }, [])\n\n const menuHasActiveTab = Boolean(\n menuItems.find(\n (item) =>\n isValidElement(item) && typeof item.props === 'object' && item.props !== null && item.props.id === activeTab\n )\n )\n\n const controlProps: TabListTabProps = {\n ...sizeProps,\n role,\n type,\n variant,\n 'aria-haspopup': 'menu',\n id: controlId,\n 'aria-selected': menuHasActiveTab,\n active: menuHasActiveTab,\n tabIndex: menuHasActiveTab || !firstTab ? 0 : -1,\n disabled,\n text,\n // eslint-disable-next-line react/no-unstable-nested-components\n addonRight: (addonProps) => (\n <Styled.IconAnimated {...addonProps.iconProps} rotate={menuOpen} icon={<ChevronDown />} preset='brand' />\n ),\n palette: {\n color: palette.tabColor,\n colorHover: palette.tabColorHover,\n colorActive: palette.tabColorActive,\n colorDisabled: palette.tabColorDisabled,\n colorActiveDisabled: palette.tabColorActiveDisabled,\n backgroundColor: palette.tabBackgroundColor,\n backgroundColorHover: palette.tabBackgroundColorHover,\n backgroundColorActive: palette.tabBackgroundColorActive,\n backgroundColorDisabled: palette.tabBackgroundColorDisabled,\n backgroundColorActiveDisabled: palette.tabBackgroundColorActiveDisabled,\n },\n onClick: () => {\n setMenuOpen((prev) => !prev)\n },\n onKeyDown: (evt) => {\n if (menuOpen && (keyboardKeys.Esc.validate(evt.key) || keyboardKeys.Tab.validate(evt.key))) {\n evt.preventDefault()\n setMenuOpen(false)\n } else if (\n !menuOpen &&\n ((keyboardKeys.F10.validate(evt.key) && evt.shiftKey) || keyboardKeys.ArrowDown.validate(evt.key))\n ) {\n evt.preventDefault()\n setMenuOpen(true)\n }\n },\n }\n\n const controlsContextProps = useMemo(\n () => ({\n activationOnFocus,\n activeTab,\n onActiveTabChange,\n getTabIndex,\n }),\n [activationOnFocus, activeTab, onActiveTabChange, getTabIndex]\n )\n\n const menuItemsContextProps = useMemo(\n () => ({\n ...sizeProps,\n disabled,\n role: 'menuitem',\n variant: 'filled' as TabListTabProps['variant'],\n }),\n [sizeProps, disabled]\n )\n\n useClickOutside(clickOutsideTargets, handleCloseMenu, {\n enabled: menuOpen,\n event: 'mousedown',\n })\n\n useEffect(() => {\n timerId.current = setTimeout(() => {\n if (!menuRef) return\n\n const items = Array.from(menuRef.querySelectorAll<HTMLElement>('[role=\"menuitem\"]')).filter((item) =>\n item.matches(SELECTORS_FOCUSABLE)\n )\n\n const activeItem = items.find((item) => item.matches('[aria-selected=\"true\"]'))\n\n if (activeItem) {\n activeItem.focus()\n } else if (items[0]) {\n items[0].focus()\n }\n\n timerId.current = null\n }, 100)\n\n return () => {\n if (timerId.current) {\n clearTimeout(timerId.current)\n }\n }\n }, [menuRef])\n\n if (!portalElement) {\n return null\n }\n\n return (\n <Floater\n open={menuOpen}\n portalElement={portalElement}\n placement='bottom-end'\n offset={8}\n hideArrow\n styles={{\n options: {\n zIndex: undefined,\n },\n wrapper: {\n cursor: disabled ? 'not-allowed' : 'pointer',\n },\n floater: {\n filter: 'none',\n opacity: 1,\n transitionDuration: '10ms',\n },\n }}\n getPopper={(popper) => {\n if (popper.state.elements.reference instanceof HTMLElement) {\n controlRef.current = popper.state.elements.reference\n }\n }}\n modifiers={{\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n removeRoles: {\n name: 'removeRoles',\n enabled: true,\n phase: 'beforeWrite',\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n effect: ({ state }) => {\n if (state.elements.popper instanceof HTMLElement) {\n const floaterElement = state.elements.popper.querySelector('[role=\"tooltip\"]')\n if (floaterElement) {\n floaterElement.removeAttribute('role')\n }\n }\n },\n },\n minWidth: {\n name: 'minWidth',\n enabled: true,\n phase: 'beforeWrite',\n requires: ['computeStyles'],\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n fn: ({ state }) => {\n state.styles.popper.minWidth = `${state.rects.reference.width}px`\n },\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n effect: ({ state }) => {\n if (state.elements.popper instanceof HTMLElement && state.elements.reference instanceof HTMLElement) {\n state.elements.popper.style.display = 'flex'\n state.elements.popper.style.flexDirection = 'column'\n state.elements.popper.style.alignItems = 'stretch'\n state.elements.popper.style.minWidth = `${state.elements.reference.offsetWidth}px`\n }\n },\n },\n }}\n // eslint-disable-next-line react/no-unstable-nested-components\n component={() => (\n <Styled.Menu\n role='menu'\n aria-labelledby={controlId}\n ref={setMenuRef}\n palette={{\n backgroundColor: palette.menuBackgroundColor,\n }}\n onClick={(evt) => {\n if (evt.target instanceof HTMLElement && evt.target.closest('[role=\"menuitem\"]')) {\n setMenuOpen(false)\n\n setTimeout(() => {\n controlRef.current?.focus()\n }, 100)\n }\n }}\n onKeyDown={(evt) => {\n evt.stopPropagation()\n\n if (\n !(document.activeElement instanceof HTMLElement) ||\n !document.activeElement.matches('[role=\"menuitem\"]') ||\n (!keyboardKeys.Esc.validate(evt.key) &&\n !keyboardKeys.Tab.validate(evt.key) &&\n !keyboardKeys.Home.validate(evt.key) &&\n !keyboardKeys.End.validate(evt.key) &&\n !keyboardKeys.ArrowDown.validate(evt.key) &&\n !keyboardKeys.ArrowUp.validate(evt.key))\n ) {\n return\n }\n\n if (keyboardKeys.Esc.validate(evt.key) || keyboardKeys.Tab.validate(evt.key)) {\n evt.preventDefault()\n\n setMenuOpen(false)\n\n setTimeout(() => {\n controlRef.current?.focus()\n }, 100)\n\n return\n }\n\n const items = Array.from(evt.currentTarget.querySelectorAll<HTMLElement>('[role=\"menuitem\"]'))\n\n if (items.length === 0) return\n\n if (keyboardKeys.Home.validate(evt.key)) {\n evt.preventDefault()\n items[0].focus()\n } else if (keyboardKeys.End.validate(evt.key)) {\n evt.preventDefault()\n items[items.length - 1].focus()\n } else if (keyboardKeys.ArrowDown.validate(evt.key) || keyboardKeys.ArrowUp.validate(evt.key)) {\n evt.preventDefault()\n navigateVerticalList(evt.key, document.activeElement, items, SELECTORS_FOCUSABLE)\n }\n }}\n >\n <TabListTabsContext.Provider value={controlsContextProps}>\n <TabListPropsContext.Provider value={menuItemsContextProps}>\n {Children.map(menuItems, (item) => (\n <Styled.MenuItem role='none'>{item}</Styled.MenuItem>\n ))}\n </TabListPropsContext.Provider>\n </TabListTabsContext.Provider>\n </Styled.Menu>\n )}\n >\n {typeof control === 'function' ? control(controlProps) : <TabListTab {...controlProps} />}\n </Floater>\n )\n}\n\nexport { TabListMenuTab }\n"],"names":["props","role","type","variant","size","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","disabled","text","control","menuItems","activeTab","firstTab","activationOnFocus","getTabIndex","onActiveTabChange","sizeProps","useMemo","palette","useMergedPalette","controlRef","useRef","menuRef","setMenuRef","useState","timerId","portalElement","useFloaterPortal","menuOpen","setMenuOpen","controlId","nanoid","clickOutsideTargets","handleCloseMenu","useCallback","menuHasActiveTab","Boolean","find","item","isValidElement","id","controlProps","active","tabIndex","addonRight","addonProps","_jsx","jsx","Styled","iconProps","rotate","icon","ChevronDown","preset","color","tabColor","colorHover","tabColorHover","colorActive","tabColorActive","colorDisabled","tabColorDisabled","colorActiveDisabled","tabColorActiveDisabled","backgroundColor","tabBackgroundColor","backgroundColorHover","tabBackgroundColorHover","backgroundColorActive","tabBackgroundColorActive","backgroundColorDisabled","tabBackgroundColorDisabled","backgroundColorActiveDisabled","tabBackgroundColorActiveDisabled","onClick","prev","onKeyDown","evt","keyboardKeys","Esc","validate","key","Tab","preventDefault","F10","shiftKey","ArrowDown","controlsContextProps","menuItemsContextProps","useClickOutside","enabled","event","useEffect","current","setTimeout","items","Array","from","querySelectorAll","filter","matches","SELECTORS_FOCUSABLE","activeItem","focus","clearTimeout","Floater","open","placement","offset","hideArrow","styles","options","zIndex","undefined","wrapper","cursor","floater","opacity","transitionDuration","getPopper","popper","state","elements","reference","HTMLElement","modifiers","removeRoles","name","phase","effect","floaterElement","querySelector","removeAttribute","minWidth","requires","fn","rects","width","style","display","flexDirection","alignItems","offsetWidth","component","ref","menuBackgroundColor","target","closest","stopPropagation","document","activeElement","Home","End","ArrowUp","currentTarget","length","navigateVerticalList","children","TabListTabsContext","Provider","value","TabListPropsContext","Children","map","TabListTab"],"mappings":"2wBAgBwBA,IACtB,MAAMC,KACJA,EAAO,MAAKC,KACZA,EAAO,SAAQC,QACfA,EAAU,QAAOC,KACjBA,EAAO,IAAGC,QACVA,EAAOC,OACPA,EAAMC,MACNA,EAAKC,MACLA,EAAKC,MACLA,EAAKC,OACLA,EAAMC,SACNA,EAAQC,KACRA,EAAIC,QACJA,EAAOC,UACPA,EAASC,UACTA,EAASC,SACTA,EAAQC,kBACRA,EAAiBC,YACjBA,EAAWC,kBACXA,GACEnB,EAEJ,MAAMoB,EAAYC,MAAAA,SAChB,KAAO,CAAEjB,OAAMC,UAASC,SAAQC,QAAOC,QAAOC,QAAOC,YACrD,CAACN,EAAMC,EAASC,EAAQC,EAAOC,EAAOC,EAAOC,IAG/C,MAAMY,EAAUC,kCAAiBvB,GAEjC,MAAMwB,EAAaC,aAA8B,MACjD,MAAOC,EAASC,GAAcC,MAAQA,SAA6B,MAEnE,MAAMC,EAAUJ,aAAgD,MAEhE,MAAMK,EAAgBC,iBAAAA,mBAEtB,MAAOC,EAAUC,GAAeL,MAAQA,UAAC,GAEzC,MAAMM,EAAYb,MAAOA,SAAC,IAAMc,OAAAA,UAAU,IAE1C,MAAMC,EAAsBf,MAAOA,SAAC,IAAM,CAACG,EAAYE,IAAU,CAACA,IAElE,MAAMW,EAAkBC,MAAAA,aAAY,KAClCL,GAAY,EAAM,GACjB,IAEH,MAAMM,EAAmBC,QACvB1B,EAAU2B,MACPC,GACCC,MAAcA,eAACD,WAAgBA,EAAK1C,OAAU,UAAY0C,EAAK1C,QAAU,MAAQ0C,EAAK1C,MAAM4C,KAAO7B,KAIzG,MAAM8B,EAAgC,IACjCzB,EACHnB,OACAC,OACAC,UACA,gBAAiB,OACjByC,GAAIV,EACJ,gBAAiBK,EACjBO,OAAQP,EACRQ,SAAUR,IAAqBvB,EAAW,GAAK,EAC/CL,WACAC,OAEAoC,WAAaC,GACXC,WAAAC,IAACC,mBAAmB,IAAKH,EAAWI,UAAWC,OAAQtB,EAAUuB,KAAML,WAAAA,IAACM,MAAWA,gBAAKC,OAAO,UAEjGnC,QAAS,CACPoC,MAAOpC,EAAQqC,SACfC,WAAYtC,EAAQuC,cACpBC,YAAaxC,EAAQyC,eACrBC,cAAe1C,EAAQ2C,iBACvBC,oBAAqB5C,EAAQ6C,uBAC7BC,gBAAiB9C,EAAQ+C,mBACzBC,qBAAsBhD,EAAQiD,wBAC9BC,sBAAuBlD,EAAQmD,yBAC/BC,wBAAyBpD,EAAQqD,2BACjCC,8BAA+BtD,EAAQuD,kCAEzCC,QAASA,KACP7C,GAAa8C,IAAUA,GAAK,EAE9BC,UAAYC,IACNjD,IAAakD,UAAYA,aAACC,IAAIC,SAASH,EAAII,MAAQH,UAAAA,aAAaI,IAAIF,SAASH,EAAII,OACnFJ,EAAIM,iBACJtD,GAAY,KAEXD,IACCkD,UAAAA,aAAaM,IAAIJ,SAASH,EAAII,MAAQJ,EAAIQ,UAAaP,UAAAA,aAAaQ,UAAUN,SAASH,EAAII,QAE7FJ,EAAIM,iBACJtD,GAAY,GACd,GAIJ,MAAM0D,EAAuBtE,MAAAA,SAC3B,KAAO,CACLJ,oBACAF,YACAI,oBACAD,iBAEF,CAACD,EAAmBF,EAAWI,EAAmBD,IAGpD,MAAM0E,EAAwBvE,MAAAA,SAC5B,KAAO,IACFD,EACHT,WACAV,KAAM,WACNE,QAAS,YAEX,CAACiB,EAAWT,IAkCd,OA/BAkF,gBAAeA,gBAACzD,EAAqBC,EAAiB,CACpDyD,QAAS9D,EACT+D,MAAO,cAGTC,MAAAA,WAAU,KACRnE,EAAQoE,QAAUC,YAAW,KAC3B,IAAKxE,EAAS,OAEd,MAAMyE,EAAQC,MAAMC,KAAK3E,EAAQ4E,iBAA8B,sBAAsBC,QAAQ7D,GAC3FA,EAAK8D,QAAQC,IAAAA,uBAGf,MAAMC,EAAaP,EAAM1D,MAAMC,GAASA,EAAK8D,QAAQ,4BAEjDE,EACFA,EAAWC,QACFR,EAAM,IACfA,EAAM,GAAGQ,QAGX9E,EAAQoE,QAAU,IAAI,GACrB,KAEI,KACDpE,EAAQoE,SACVW,aAAa/E,EAAQoE,QACvB,IAED,CAACvE,IAECI,EAKHoB,WAAAA,IAAC2D,iBAAAA,QAAO,CACNC,KAAM9E,EACNF,cAAeA,EACfiF,UAAU,aACVC,OAAQ,EACRC,WAAS,EACTC,OAAQ,CACNC,QAAS,CACPC,YAAQC,GAEVC,QAAS,CACPC,OAAQ5G,EAAW,cAAgB,WAErC6G,QAAS,CACPjB,OAAQ,OACRkB,QAAS,EACTC,mBAAoB,SAGxBC,UAAYC,IACNA,EAAOC,MAAMC,SAASC,qBAAqBC,cAC7CxG,EAAWyE,QAAU2B,EAAOC,MAAMC,SAASC,UAC7C,EAEFE,UAAW,CAGTC,YAAa,CACXC,KAAM,cACNrC,SAAS,EACTsC,MAAO,cAGPC,OAAQA,EAAGR,YACT,GAAIA,EAAMC,SAASF,kBAAkBI,YAAa,CAChD,MAAMM,EAAiBT,EAAMC,SAASF,OAAOW,cAAc,oBACvDD,GACFA,EAAeE,gBAAgB,OAEnC,IAGJC,SAAU,CACRN,KAAM,WACNrC,SAAS,EACTsC,MAAO,cACPM,SAAU,CAAC,iBAGXC,GAAIA,EAAGd,YACLA,EAAMX,OAAOU,OAAOa,SAAW,GAAGZ,EAAMe,MAAMb,UAAUc,SAAS,EAInER,OAAQA,EAAGR,YACLA,EAAMC,SAASF,kBAAkBI,aAAeH,EAAMC,SAASC,qBAAqBC,cACtFH,EAAMC,SAASF,OAAOkB,MAAMC,QAAU,OACtClB,EAAMC,SAASF,OAAOkB,MAAME,cAAgB,SAC5CnB,EAAMC,SAASF,OAAOkB,MAAMG,WAAa,UACzCpB,EAAMC,SAASF,OAAOkB,MAAML,SAAW,GAAGZ,EAAMC,SAASC,UAAUmB,gBACrE,IAKNC,UAAWA,IACTjG,WAAAC,IAACC,WAAW,CACVnD,KAAK,OACL,kBAAiBiC,EACjBkH,IAAKzH,EACLL,QAAS,CACP8C,gBAAiB9C,EAAQ+H,qBAE3BvE,QAAUG,IACJA,EAAIqE,kBAAkBtB,aAAe/C,EAAIqE,OAAOC,QAAQ,uBAC1DtH,GAAY,GAEZiE,YAAW,KACT1E,EAAWyE,SAASU,OAAO,GAC1B,KACL,EAEF3B,UAAYC,IAGV,GAFAA,EAAIuE,oBAGAC,SAASC,yBAAyB1B,aACnCyB,SAASC,cAAclD,QAAQ,uBAC9BtB,UAAAA,aAAaC,IAAIC,SAASH,EAAII,MAC7BH,UAAAA,aAAaI,IAAIF,SAASH,EAAII,MAC9BH,UAAAA,aAAayE,KAAKvE,SAASH,EAAII,MAC/BH,uBAAa0E,IAAIxE,SAASH,EAAII,MAC9BH,uBAAaQ,UAAUN,SAASH,EAAII,MACpCH,uBAAa2E,QAAQzE,SAASH,EAAII,OAErC,OAGF,GAAIH,uBAAaC,IAAIC,SAASH,EAAII,MAAQH,UAAYA,aAACI,IAAIF,SAASH,EAAII,KAStE,OARAJ,EAAIM,iBAEJtD,GAAY,QAEZiE,YAAW,KACT1E,EAAWyE,SAASU,OAAO,GAC1B,KAKL,MAAMR,EAAQC,MAAMC,KAAKpB,EAAI6E,cAAcxD,iBAA8B,sBAErEH,EAAM4D,SAAW,IAEjB7E,UAAYA,aAACyE,KAAKvE,SAASH,EAAII,MACjCJ,EAAIM,iBACJY,EAAM,GAAGQ,SACAzB,UAAYA,aAAC0E,IAAIxE,SAASH,EAAII,MACvCJ,EAAIM,iBACJY,EAAMA,EAAM4D,OAAS,GAAGpD,UACfzB,UAAYA,aAACQ,UAAUN,SAASH,EAAII,MAAQH,UAAAA,aAAa2E,QAAQzE,SAASH,EAAII,QACvFJ,EAAIM,iBACJyE,IAAoBA,qBAAC/E,EAAII,IAAKoE,SAASC,cAAevD,EAAOM,IAAAA,sBAC/D,EACAwD,SAEF/G,WAAAA,IAACgH,QAAkBA,mBAACC,SAAQ,CAACC,MAAOzE,EAAqBsE,SACvD/G,WAAAA,IAACmH,QAAmBA,oBAACF,SAAQ,CAACC,MAAOxE,EAAsBqE,SACxDK,MAAQA,SAACC,IAAIzJ,GAAY4B,GACxBQ,WAAAC,IAACC,eAAe,CAACnD,KAAK,OAAMgK,SAAEvH,YAKtCuH,gBAEMpJ,GAAY,WAAaA,EAAQgC,GAAgBK,WAAAC,IAACqH,sBAAU,IAAK3H,MA5IpE,IA6IG"}
@@ -1,2 +1,2 @@
1
- import{useMemo,useRef,useState,useCallback,isValidElement,useEffect,Children}from'react';import Floater from'react-floater';import{nanoid}from'nanoid';import{TabListTabsContext,TabListPropsContext}from'../../shared/context/tabList.mjs';import{useMergedPalette}from'../../hooks/useMergedPalette.mjs';import{useClickOutside}from'../../hooks/useClickOutside.mjs';import{keyboardKeys}from'../../shared/constants.mjs';import{useFloaterPortal}from'../../hooks/useFloaterPortal.mjs';import{SELECTORS_FOCUSABLE,navigateVerticalList}from'../../shared/utils/dom.mjs';import{IconAnimated,Menu,MenuItem}from'./style.mjs';import{jsx}from'react/jsx-runtime';import{TabListTab}from'../TabListTab/TabListTab.mjs';const TabListMenuTab=e=>{const{role:t="tab",type:o="button",variant:r="clear",size:a="m",sizeXXS:s,sizeXS:n,sizeS:i,sizeM:l,sizeL:c,sizeXL:d,disabled:m,text:u,control:b,menuItems:p,activeTab:f,firstTab:y,activationOnFocus:v,getTabIndex:k,onActiveTabChange:T}=e;const C=useMemo((()=>({size:a,sizeXXS:s,sizeXS:n,sizeS:i,sizeM:l,sizeL:c,sizeXL:d})),[a,s,n,i,l,c,d]);const h=useMergedPalette(e);const g=useRef(null);const[L,E]=useState(null);const A=useRef(null);const x=useFloaterPortal();const[M,D]=useState(!1);const S=useMemo((()=>nanoid()),[]);const K=useMemo((()=>[g,L]),[L]);const j=useCallback((()=>{D(!1)}),[]);const w=Boolean(p.find((e=>isValidElement(e)&&typeof e.props=='object'&&e.props!==null&&e.props.id===f)));const z={...C,role:t,type:o,variant:r,'aria-haspopup':'menu',id:S,'aria-selected':w,active:w,tabIndex:w||!y?0:-1,disabled:m,text:u,addonRight:e=>jsx(IconAnimated,{...e.iconProps,rotate:M,name:"chevronDown",preset:"brand"}),palette:{color:h.tabColor,colorHover:h.tabColorHover,colorActive:h.tabColorActive,colorDisabled:h.tabColorDisabled,colorActiveDisabled:h.tabColorActiveDisabled,backgroundColor:h.tabBackgroundColor,backgroundColorHover:h.tabBackgroundColorHover,backgroundColorActive:h.tabBackgroundColorActive,backgroundColorDisabled:h.tabBackgroundColorDisabled,backgroundColorActiveDisabled:h.tabBackgroundColorActiveDisabled},onClick:()=>{D((e=>!e))},onKeyDown:e=>{M&&(keyboardKeys.Esc.validate(e.key)||keyboardKeys.Tab.validate(e.key))?(e.preventDefault(),D(!1)):!M&&(keyboardKeys.F10.validate(e.key)&&e.shiftKey||keyboardKeys.ArrowDown.validate(e.key))&&(e.preventDefault(),D(!0))}};const P=useMemo((()=>({activationOnFocus:v,activeTab:f,onActiveTabChange:T,getTabIndex:k})),[v,f,T,k]);const H=useMemo((()=>({...C,disabled:m,role:'menuitem',variant:'filled'})),[C,m]);return useClickOutside(K,j,{enabled:M,event:'mousedown'}),useEffect((()=>(A.current=setTimeout((()=>{if(!L)return;const e=Array.from(L.querySelectorAll('[role="menuitem"]')).filter((e=>e.matches(SELECTORS_FOCUSABLE)));const t=e.find((e=>e.matches('[aria-selected="true"]')));t?t.focus():e[0]&&e[0].focus(),A.current=null}),100),()=>{A.current&&clearTimeout(A.current)})),[L]),x?jsx(Floater,{open:M,portalElement:x,placement:"bottom-end",offset:8,hideArrow:!0,styles:{options:{zIndex:void 0},wrapper:{cursor:m?'not-allowed':'pointer'},floater:{filter:'none',opacity:1,transitionDuration:'10ms'}},getPopper:e=>{e.state.elements.reference instanceof HTMLElement&&(g.current=e.state.elements.reference)},modifiers:{removeRoles:{name:'removeRoles',enabled:!0,phase:'beforeWrite',effect:({state:e})=>{if(e.elements.popper instanceof HTMLElement){const t=e.elements.popper.querySelector('[role="tooltip"]');t&&t.removeAttribute('role')}}},minWidth:{name:'minWidth',enabled:!0,phase:'beforeWrite',requires:['computeStyles'],fn:({state:e})=>{e.styles.popper.minWidth=`${e.rects.reference.width}px`},effect:({state:e})=>{e.elements.popper instanceof HTMLElement&&e.elements.reference instanceof HTMLElement&&(e.elements.popper.style.display='flex',e.elements.popper.style.flexDirection='column',e.elements.popper.style.alignItems='stretch',e.elements.popper.style.minWidth=`${e.elements.reference.offsetWidth}px`)}}},component:()=>jsx(Menu,{role:"menu","aria-labelledby":S,ref:E,palette:{backgroundColor:h.menuBackgroundColor},onClick:e=>{e.target instanceof HTMLElement&&e.target.closest('[role="menuitem"]')&&(D(!1),setTimeout((()=>{g.current?.focus()}),100))},onKeyDown:e=>{if(e.stopPropagation(),!(document.activeElement instanceof HTMLElement&&document.activeElement.matches('[role="menuitem"]')&&(keyboardKeys.Esc.validate(e.key)||keyboardKeys.Tab.validate(e.key)||keyboardKeys.Home.validate(e.key)||keyboardKeys.End.validate(e.key)||keyboardKeys.ArrowDown.validate(e.key)||keyboardKeys.ArrowUp.validate(e.key))))return;if(keyboardKeys.Esc.validate(e.key)||keyboardKeys.Tab.validate(e.key))return e.preventDefault(),D(!1),void setTimeout((()=>{g.current?.focus()}),100);const t=Array.from(e.currentTarget.querySelectorAll('[role="menuitem"]'));t.length!==0&&(keyboardKeys.Home.validate(e.key)?(e.preventDefault(),t[0].focus()):keyboardKeys.End.validate(e.key)?(e.preventDefault(),t[t.length-1].focus()):(keyboardKeys.ArrowDown.validate(e.key)||keyboardKeys.ArrowUp.validate(e.key))&&(e.preventDefault(),navigateVerticalList(e.key,document.activeElement,t,SELECTORS_FOCUSABLE)))},children:jsx(TabListTabsContext.Provider,{value:P,children:jsx(TabListPropsContext.Provider,{value:H,children:Children.map(p,(e=>jsx(MenuItem,{role:"none",children:e})))})})}),children:typeof b=='function'?b(z):jsx(TabListTab,{...z})}):null};export{TabListMenuTab};
1
+ import{useMemo,useRef,useState,useCallback,isValidElement,useEffect,Children}from'react';import Floater from'react-floater';import{nanoid}from'nanoid';import{TabListTabsContext,TabListPropsContext}from'../../shared/context/tabList.mjs';import{useMergedPalette}from'../../hooks/useMergedPalette.mjs';import{useClickOutside}from'../../hooks/useClickOutside.mjs';import{keyboardKeys}from'../../shared/constants.mjs';import{useFloaterPortal}from'../../hooks/useFloaterPortal.mjs';import{SELECTORS_FOCUSABLE,navigateVerticalList}from'../../shared/utils/dom.mjs';import{IconAnimated,Menu,MenuItem}from'./style.mjs';import{jsx}from'react/jsx-runtime';import{ChevronDown}from'../../icon-pack/src/icons/ChevronDown/index.mjs';import{TabListTab}from'../TabListTab/TabListTab.mjs';const TabListMenuTab=e=>{const{role:t="tab",type:o="button",variant:r="clear",size:a="m",sizeXXS:n,sizeXS:s,sizeS:i,sizeM:l,sizeL:c,sizeXL:d,disabled:m,text:u,control:b,menuItems:p,activeTab:f,firstTab:y,activationOnFocus:v,getTabIndex:k,onActiveTabChange:T}=e;const C=useMemo((()=>({size:a,sizeXXS:n,sizeXS:s,sizeS:i,sizeM:l,sizeL:c,sizeXL:d})),[a,n,s,i,l,c,d]);const h=useMergedPalette(e);const g=useRef(null);const[L,E]=useState(null);const x=useRef(null);const A=useFloaterPortal();const[D,M]=useState(!1);const S=useMemo((()=>nanoid()),[]);const j=useMemo((()=>[g,L]),[L]);const K=useCallback((()=>{M(!1)}),[]);const w=Boolean(p.find((e=>isValidElement(e)&&typeof e.props=='object'&&e.props!==null&&e.props.id===f)));const z={...C,role:t,type:o,variant:r,'aria-haspopup':'menu',id:S,'aria-selected':w,active:w,tabIndex:w||!y?0:-1,disabled:m,text:u,addonRight:e=>jsx(IconAnimated,{...e.iconProps,rotate:D,icon:jsx(ChevronDown,{}),preset:"brand"}),palette:{color:h.tabColor,colorHover:h.tabColorHover,colorActive:h.tabColorActive,colorDisabled:h.tabColorDisabled,colorActiveDisabled:h.tabColorActiveDisabled,backgroundColor:h.tabBackgroundColor,backgroundColorHover:h.tabBackgroundColorHover,backgroundColorActive:h.tabBackgroundColorActive,backgroundColorDisabled:h.tabBackgroundColorDisabled,backgroundColorActiveDisabled:h.tabBackgroundColorActiveDisabled},onClick:()=>{M((e=>!e))},onKeyDown:e=>{D&&(keyboardKeys.Esc.validate(e.key)||keyboardKeys.Tab.validate(e.key))?(e.preventDefault(),M(!1)):!D&&(keyboardKeys.F10.validate(e.key)&&e.shiftKey||keyboardKeys.ArrowDown.validate(e.key))&&(e.preventDefault(),M(!0))}};const P=useMemo((()=>({activationOnFocus:v,activeTab:f,onActiveTabChange:T,getTabIndex:k})),[v,f,T,k]);const H=useMemo((()=>({...C,disabled:m,role:'menuitem',variant:'filled'})),[C,m]);return useClickOutside(j,K,{enabled:D,event:'mousedown'}),useEffect((()=>(x.current=setTimeout((()=>{if(!L)return;const e=Array.from(L.querySelectorAll('[role="menuitem"]')).filter((e=>e.matches(SELECTORS_FOCUSABLE)));const t=e.find((e=>e.matches('[aria-selected="true"]')));t?t.focus():e[0]&&e[0].focus(),x.current=null}),100),()=>{x.current&&clearTimeout(x.current)})),[L]),A?jsx(Floater,{open:D,portalElement:A,placement:"bottom-end",offset:8,hideArrow:!0,styles:{options:{zIndex:void 0},wrapper:{cursor:m?'not-allowed':'pointer'},floater:{filter:'none',opacity:1,transitionDuration:'10ms'}},getPopper:e=>{e.state.elements.reference instanceof HTMLElement&&(g.current=e.state.elements.reference)},modifiers:{removeRoles:{name:'removeRoles',enabled:!0,phase:'beforeWrite',effect:({state:e})=>{if(e.elements.popper instanceof HTMLElement){const t=e.elements.popper.querySelector('[role="tooltip"]');t&&t.removeAttribute('role')}}},minWidth:{name:'minWidth',enabled:!0,phase:'beforeWrite',requires:['computeStyles'],fn:({state:e})=>{e.styles.popper.minWidth=`${e.rects.reference.width}px`},effect:({state:e})=>{e.elements.popper instanceof HTMLElement&&e.elements.reference instanceof HTMLElement&&(e.elements.popper.style.display='flex',e.elements.popper.style.flexDirection='column',e.elements.popper.style.alignItems='stretch',e.elements.popper.style.minWidth=`${e.elements.reference.offsetWidth}px`)}}},component:()=>jsx(Menu,{role:"menu","aria-labelledby":S,ref:E,palette:{backgroundColor:h.menuBackgroundColor},onClick:e=>{e.target instanceof HTMLElement&&e.target.closest('[role="menuitem"]')&&(M(!1),setTimeout((()=>{g.current?.focus()}),100))},onKeyDown:e=>{if(e.stopPropagation(),!(document.activeElement instanceof HTMLElement&&document.activeElement.matches('[role="menuitem"]')&&(keyboardKeys.Esc.validate(e.key)||keyboardKeys.Tab.validate(e.key)||keyboardKeys.Home.validate(e.key)||keyboardKeys.End.validate(e.key)||keyboardKeys.ArrowDown.validate(e.key)||keyboardKeys.ArrowUp.validate(e.key))))return;if(keyboardKeys.Esc.validate(e.key)||keyboardKeys.Tab.validate(e.key))return e.preventDefault(),M(!1),void setTimeout((()=>{g.current?.focus()}),100);const t=Array.from(e.currentTarget.querySelectorAll('[role="menuitem"]'));t.length!==0&&(keyboardKeys.Home.validate(e.key)?(e.preventDefault(),t[0].focus()):keyboardKeys.End.validate(e.key)?(e.preventDefault(),t[t.length-1].focus()):(keyboardKeys.ArrowDown.validate(e.key)||keyboardKeys.ArrowUp.validate(e.key))&&(e.preventDefault(),navigateVerticalList(e.key,document.activeElement,t,SELECTORS_FOCUSABLE)))},children:jsx(TabListTabsContext.Provider,{value:P,children:jsx(TabListPropsContext.Provider,{value:H,children:Children.map(p,(e=>jsx(MenuItem,{role:"none",children:e})))})})}),children:typeof b=='function'?b(z):jsx(TabListTab,{...z})}):null};export{TabListMenuTab};
2
2
  //# sourceMappingURL=TabListMenuTab.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabListMenuTab.mjs","sources":["../../../../src/components/TabList/TabListMenuTab.tsx"],"sourcesContent":["import { useState, useRef, useEffect, useMemo, useCallback, Children, isValidElement } from 'react'\nimport Floater from 'react-floater'\nimport { nanoid } from 'nanoid'\nimport type { Nullable } from 'shared/types'\nimport { TabListTabsContext, TabListPropsContext } from 'shared/context/tabList'\nimport { TabListTab } from 'components/TabListTab'\nimport { useMergedPalette } from 'hooks/useMergedPalette'\nimport { useClickOutside } from 'hooks/useClickOutside'\nimport { keyboardKeys } from 'shared/constants'\nimport { useFloaterPortal } from 'hooks/useFloaterPortal'\nimport { navigateVerticalList, SELECTORS_FOCUSABLE } from 'shared/utils/dom'\nimport type { TabListTabProps } from 'components/TabListTab'\nimport * as Styled from './style'\nimport type { TabListMenuTabProps } from './types'\n\nconst TabListMenuTab = (props: TabListMenuTabProps) => {\n const {\n role = 'tab',\n type = 'button',\n variant = 'clear',\n size = 'm',\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n disabled,\n text,\n control,\n menuItems,\n activeTab,\n firstTab,\n activationOnFocus,\n getTabIndex,\n onActiveTabChange,\n } = props\n\n const sizeProps = useMemo(\n () => ({ size, sizeXXS, sizeXS, sizeS, sizeM, sizeL, sizeXL }),\n [size, sizeXXS, sizeXS, sizeS, sizeM, sizeL, sizeXL]\n )\n\n const palette = useMergedPalette(props)\n\n const controlRef = useRef<Nullable<HTMLElement>>(null)\n const [menuRef, setMenuRef] = useState<Nullable<HTMLUListElement>>(null)\n\n const timerId = useRef<Nullable<ReturnType<typeof setTimeout>>>(null)\n\n const portalElement = useFloaterPortal()\n\n const [menuOpen, setMenuOpen] = useState(false)\n\n const controlId = useMemo(() => nanoid(), [])\n\n const clickOutsideTargets = useMemo(() => [controlRef, menuRef], [menuRef])\n\n const handleCloseMenu = useCallback(() => {\n setMenuOpen(false)\n }, [])\n\n const menuHasActiveTab = Boolean(\n menuItems.find(\n (item) =>\n isValidElement(item) && typeof item.props === 'object' && item.props !== null && item.props.id === activeTab\n )\n )\n\n const controlProps: TabListTabProps = {\n ...sizeProps,\n role,\n type,\n variant,\n 'aria-haspopup': 'menu',\n id: controlId,\n 'aria-selected': menuHasActiveTab,\n active: menuHasActiveTab,\n tabIndex: menuHasActiveTab || !firstTab ? 0 : -1,\n disabled,\n text,\n // eslint-disable-next-line react/no-unstable-nested-components\n addonRight: (addonProps) => (\n <Styled.IconAnimated {...addonProps.iconProps} rotate={menuOpen} name='chevronDown' preset='brand' />\n ),\n palette: {\n color: palette.tabColor,\n colorHover: palette.tabColorHover,\n colorActive: palette.tabColorActive,\n colorDisabled: palette.tabColorDisabled,\n colorActiveDisabled: palette.tabColorActiveDisabled,\n backgroundColor: palette.tabBackgroundColor,\n backgroundColorHover: palette.tabBackgroundColorHover,\n backgroundColorActive: palette.tabBackgroundColorActive,\n backgroundColorDisabled: palette.tabBackgroundColorDisabled,\n backgroundColorActiveDisabled: palette.tabBackgroundColorActiveDisabled,\n },\n onClick: () => {\n setMenuOpen((prev) => !prev)\n },\n onKeyDown: (evt) => {\n if (menuOpen && (keyboardKeys.Esc.validate(evt.key) || keyboardKeys.Tab.validate(evt.key))) {\n evt.preventDefault()\n setMenuOpen(false)\n } else if (\n !menuOpen &&\n ((keyboardKeys.F10.validate(evt.key) && evt.shiftKey) || keyboardKeys.ArrowDown.validate(evt.key))\n ) {\n evt.preventDefault()\n setMenuOpen(true)\n }\n },\n }\n\n const controlsContextProps = useMemo(\n () => ({\n activationOnFocus,\n activeTab,\n onActiveTabChange,\n getTabIndex,\n }),\n [activationOnFocus, activeTab, onActiveTabChange, getTabIndex]\n )\n\n const menuItemsContextProps = useMemo(\n () => ({\n ...sizeProps,\n disabled,\n role: 'menuitem',\n variant: 'filled' as TabListTabProps['variant'],\n }),\n [sizeProps, disabled]\n )\n\n useClickOutside(clickOutsideTargets, handleCloseMenu, {\n enabled: menuOpen,\n event: 'mousedown',\n })\n\n useEffect(() => {\n timerId.current = setTimeout(() => {\n if (!menuRef) return\n\n const items = Array.from(menuRef.querySelectorAll<HTMLElement>('[role=\"menuitem\"]')).filter((item) =>\n item.matches(SELECTORS_FOCUSABLE)\n )\n\n const activeItem = items.find((item) => item.matches('[aria-selected=\"true\"]'))\n\n if (activeItem) {\n activeItem.focus()\n } else if (items[0]) {\n items[0].focus()\n }\n\n timerId.current = null\n }, 100)\n\n return () => {\n if (timerId.current) {\n clearTimeout(timerId.current)\n }\n }\n }, [menuRef])\n\n if (!portalElement) {\n return null\n }\n\n return (\n <Floater\n open={menuOpen}\n portalElement={portalElement}\n placement='bottom-end'\n offset={8}\n hideArrow\n styles={{\n options: {\n zIndex: undefined,\n },\n wrapper: {\n cursor: disabled ? 'not-allowed' : 'pointer',\n },\n floater: {\n filter: 'none',\n opacity: 1,\n transitionDuration: '10ms',\n },\n }}\n getPopper={(popper) => {\n if (popper.state.elements.reference instanceof HTMLElement) {\n controlRef.current = popper.state.elements.reference\n }\n }}\n modifiers={{\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n removeRoles: {\n name: 'removeRoles',\n enabled: true,\n phase: 'beforeWrite',\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n effect: ({ state }) => {\n if (state.elements.popper instanceof HTMLElement) {\n const floaterElement = state.elements.popper.querySelector('[role=\"tooltip\"]')\n if (floaterElement) {\n floaterElement.removeAttribute('role')\n }\n }\n },\n },\n minWidth: {\n name: 'minWidth',\n enabled: true,\n phase: 'beforeWrite',\n requires: ['computeStyles'],\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n fn: ({ state }) => {\n state.styles.popper.minWidth = `${state.rects.reference.width}px`\n },\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n effect: ({ state }) => {\n if (state.elements.popper instanceof HTMLElement && state.elements.reference instanceof HTMLElement) {\n state.elements.popper.style.display = 'flex'\n state.elements.popper.style.flexDirection = 'column'\n state.elements.popper.style.alignItems = 'stretch'\n state.elements.popper.style.minWidth = `${state.elements.reference.offsetWidth}px`\n }\n },\n },\n }}\n // eslint-disable-next-line react/no-unstable-nested-components\n component={() => (\n <Styled.Menu\n role='menu'\n aria-labelledby={controlId}\n ref={setMenuRef}\n palette={{\n backgroundColor: palette.menuBackgroundColor,\n }}\n onClick={(evt) => {\n if (evt.target instanceof HTMLElement && evt.target.closest('[role=\"menuitem\"]')) {\n setMenuOpen(false)\n\n setTimeout(() => {\n controlRef.current?.focus()\n }, 100)\n }\n }}\n onKeyDown={(evt) => {\n evt.stopPropagation()\n\n if (\n !(document.activeElement instanceof HTMLElement) ||\n !document.activeElement.matches('[role=\"menuitem\"]') ||\n (!keyboardKeys.Esc.validate(evt.key) &&\n !keyboardKeys.Tab.validate(evt.key) &&\n !keyboardKeys.Home.validate(evt.key) &&\n !keyboardKeys.End.validate(evt.key) &&\n !keyboardKeys.ArrowDown.validate(evt.key) &&\n !keyboardKeys.ArrowUp.validate(evt.key))\n ) {\n return\n }\n\n if (keyboardKeys.Esc.validate(evt.key) || keyboardKeys.Tab.validate(evt.key)) {\n evt.preventDefault()\n\n setMenuOpen(false)\n\n setTimeout(() => {\n controlRef.current?.focus()\n }, 100)\n\n return\n }\n\n const items = Array.from(evt.currentTarget.querySelectorAll<HTMLElement>('[role=\"menuitem\"]'))\n\n if (items.length === 0) return\n\n if (keyboardKeys.Home.validate(evt.key)) {\n evt.preventDefault()\n items[0].focus()\n } else if (keyboardKeys.End.validate(evt.key)) {\n evt.preventDefault()\n items[items.length - 1].focus()\n } else if (keyboardKeys.ArrowDown.validate(evt.key) || keyboardKeys.ArrowUp.validate(evt.key)) {\n evt.preventDefault()\n navigateVerticalList(evt.key, document.activeElement, items, SELECTORS_FOCUSABLE)\n }\n }}\n >\n <TabListTabsContext.Provider value={controlsContextProps}>\n <TabListPropsContext.Provider value={menuItemsContextProps}>\n {Children.map(menuItems, (item) => (\n <Styled.MenuItem role='none'>{item}</Styled.MenuItem>\n ))}\n </TabListPropsContext.Provider>\n </TabListTabsContext.Provider>\n </Styled.Menu>\n )}\n >\n {typeof control === 'function' ? control(controlProps) : <TabListTab {...controlProps} />}\n </Floater>\n )\n}\n\nexport { TabListMenuTab }\n"],"names":["TabListMenuTab","props","role","type","variant","size","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","disabled","text","control","menuItems","activeTab","firstTab","activationOnFocus","getTabIndex","onActiveTabChange","sizeProps","useMemo","palette","useMergedPalette","controlRef","useRef","menuRef","setMenuRef","useState","timerId","portalElement","useFloaterPortal","menuOpen","setMenuOpen","controlId","nanoid","clickOutsideTargets","handleCloseMenu","useCallback","menuHasActiveTab","Boolean","find","item","isValidElement","id","controlProps","active","tabIndex","addonRight","addonProps","_jsx","Styled","iconProps","rotate","name","preset","color","tabColor","colorHover","tabColorHover","colorActive","tabColorActive","colorDisabled","tabColorDisabled","colorActiveDisabled","tabColorActiveDisabled","backgroundColor","tabBackgroundColor","backgroundColorHover","tabBackgroundColorHover","backgroundColorActive","tabBackgroundColorActive","backgroundColorDisabled","tabBackgroundColorDisabled","backgroundColorActiveDisabled","tabBackgroundColorActiveDisabled","onClick","prev","onKeyDown","evt","keyboardKeys","Esc","validate","key","Tab","preventDefault","F10","shiftKey","ArrowDown","controlsContextProps","menuItemsContextProps","useClickOutside","enabled","event","useEffect","current","setTimeout","items","Array","from","querySelectorAll","filter","matches","SELECTORS_FOCUSABLE","activeItem","focus","clearTimeout","Floater","open","placement","offset","hideArrow","styles","options","zIndex","undefined","wrapper","cursor","floater","opacity","transitionDuration","getPopper","popper","state","elements","reference","HTMLElement","modifiers","removeRoles","phase","effect","floaterElement","querySelector","removeAttribute","minWidth","requires","fn","rects","width","style","display","flexDirection","alignItems","offsetWidth","component","ref","menuBackgroundColor","target","closest","stopPropagation","document","activeElement","Home","End","ArrowUp","currentTarget","length","navigateVerticalList","children","TabListTabsContext","Provider","value","TabListPropsContext","Children","map","TabListTab"],"mappings":"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"}
1
+ {"version":3,"file":"TabListMenuTab.mjs","sources":["../../../../src/components/TabList/TabListMenuTab.tsx"],"sourcesContent":["import { useState, useRef, useEffect, useMemo, useCallback, Children, isValidElement } from 'react'\nimport Floater from 'react-floater'\nimport { nanoid } from 'nanoid'\nimport { ChevronDown } from '@foxford/icon-pack'\nimport type { Nullable } from 'shared/types'\nimport { TabListTabsContext, TabListPropsContext } from 'shared/context/tabList'\nimport { TabListTab } from 'components/TabListTab'\nimport { useMergedPalette } from 'hooks/useMergedPalette'\nimport { useClickOutside } from 'hooks/useClickOutside'\nimport { keyboardKeys } from 'shared/constants'\nimport { useFloaterPortal } from 'hooks/useFloaterPortal'\nimport { navigateVerticalList, SELECTORS_FOCUSABLE } from 'shared/utils/dom'\nimport type { TabListTabProps } from 'components/TabListTab'\nimport * as Styled from './style'\nimport type { TabListMenuTabProps } from './types'\n\nconst TabListMenuTab = (props: TabListMenuTabProps) => {\n const {\n role = 'tab',\n type = 'button',\n variant = 'clear',\n size = 'm',\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n disabled,\n text,\n control,\n menuItems,\n activeTab,\n firstTab,\n activationOnFocus,\n getTabIndex,\n onActiveTabChange,\n } = props\n\n const sizeProps = useMemo(\n () => ({ size, sizeXXS, sizeXS, sizeS, sizeM, sizeL, sizeXL }),\n [size, sizeXXS, sizeXS, sizeS, sizeM, sizeL, sizeXL]\n )\n\n const palette = useMergedPalette(props)\n\n const controlRef = useRef<Nullable<HTMLElement>>(null)\n const [menuRef, setMenuRef] = useState<Nullable<HTMLUListElement>>(null)\n\n const timerId = useRef<Nullable<ReturnType<typeof setTimeout>>>(null)\n\n const portalElement = useFloaterPortal()\n\n const [menuOpen, setMenuOpen] = useState(false)\n\n const controlId = useMemo(() => nanoid(), [])\n\n const clickOutsideTargets = useMemo(() => [controlRef, menuRef], [menuRef])\n\n const handleCloseMenu = useCallback(() => {\n setMenuOpen(false)\n }, [])\n\n const menuHasActiveTab = Boolean(\n menuItems.find(\n (item) =>\n isValidElement(item) && typeof item.props === 'object' && item.props !== null && item.props.id === activeTab\n )\n )\n\n const controlProps: TabListTabProps = {\n ...sizeProps,\n role,\n type,\n variant,\n 'aria-haspopup': 'menu',\n id: controlId,\n 'aria-selected': menuHasActiveTab,\n active: menuHasActiveTab,\n tabIndex: menuHasActiveTab || !firstTab ? 0 : -1,\n disabled,\n text,\n // eslint-disable-next-line react/no-unstable-nested-components\n addonRight: (addonProps) => (\n <Styled.IconAnimated {...addonProps.iconProps} rotate={menuOpen} icon={<ChevronDown />} preset='brand' />\n ),\n palette: {\n color: palette.tabColor,\n colorHover: palette.tabColorHover,\n colorActive: palette.tabColorActive,\n colorDisabled: palette.tabColorDisabled,\n colorActiveDisabled: palette.tabColorActiveDisabled,\n backgroundColor: palette.tabBackgroundColor,\n backgroundColorHover: palette.tabBackgroundColorHover,\n backgroundColorActive: palette.tabBackgroundColorActive,\n backgroundColorDisabled: palette.tabBackgroundColorDisabled,\n backgroundColorActiveDisabled: palette.tabBackgroundColorActiveDisabled,\n },\n onClick: () => {\n setMenuOpen((prev) => !prev)\n },\n onKeyDown: (evt) => {\n if (menuOpen && (keyboardKeys.Esc.validate(evt.key) || keyboardKeys.Tab.validate(evt.key))) {\n evt.preventDefault()\n setMenuOpen(false)\n } else if (\n !menuOpen &&\n ((keyboardKeys.F10.validate(evt.key) && evt.shiftKey) || keyboardKeys.ArrowDown.validate(evt.key))\n ) {\n evt.preventDefault()\n setMenuOpen(true)\n }\n },\n }\n\n const controlsContextProps = useMemo(\n () => ({\n activationOnFocus,\n activeTab,\n onActiveTabChange,\n getTabIndex,\n }),\n [activationOnFocus, activeTab, onActiveTabChange, getTabIndex]\n )\n\n const menuItemsContextProps = useMemo(\n () => ({\n ...sizeProps,\n disabled,\n role: 'menuitem',\n variant: 'filled' as TabListTabProps['variant'],\n }),\n [sizeProps, disabled]\n )\n\n useClickOutside(clickOutsideTargets, handleCloseMenu, {\n enabled: menuOpen,\n event: 'mousedown',\n })\n\n useEffect(() => {\n timerId.current = setTimeout(() => {\n if (!menuRef) return\n\n const items = Array.from(menuRef.querySelectorAll<HTMLElement>('[role=\"menuitem\"]')).filter((item) =>\n item.matches(SELECTORS_FOCUSABLE)\n )\n\n const activeItem = items.find((item) => item.matches('[aria-selected=\"true\"]'))\n\n if (activeItem) {\n activeItem.focus()\n } else if (items[0]) {\n items[0].focus()\n }\n\n timerId.current = null\n }, 100)\n\n return () => {\n if (timerId.current) {\n clearTimeout(timerId.current)\n }\n }\n }, [menuRef])\n\n if (!portalElement) {\n return null\n }\n\n return (\n <Floater\n open={menuOpen}\n portalElement={portalElement}\n placement='bottom-end'\n offset={8}\n hideArrow\n styles={{\n options: {\n zIndex: undefined,\n },\n wrapper: {\n cursor: disabled ? 'not-allowed' : 'pointer',\n },\n floater: {\n filter: 'none',\n opacity: 1,\n transitionDuration: '10ms',\n },\n }}\n getPopper={(popper) => {\n if (popper.state.elements.reference instanceof HTMLElement) {\n controlRef.current = popper.state.elements.reference\n }\n }}\n modifiers={{\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n removeRoles: {\n name: 'removeRoles',\n enabled: true,\n phase: 'beforeWrite',\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n effect: ({ state }) => {\n if (state.elements.popper instanceof HTMLElement) {\n const floaterElement = state.elements.popper.querySelector('[role=\"tooltip\"]')\n if (floaterElement) {\n floaterElement.removeAttribute('role')\n }\n }\n },\n },\n minWidth: {\n name: 'minWidth',\n enabled: true,\n phase: 'beforeWrite',\n requires: ['computeStyles'],\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n fn: ({ state }) => {\n state.styles.popper.minWidth = `${state.rects.reference.width}px`\n },\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n effect: ({ state }) => {\n if (state.elements.popper instanceof HTMLElement && state.elements.reference instanceof HTMLElement) {\n state.elements.popper.style.display = 'flex'\n state.elements.popper.style.flexDirection = 'column'\n state.elements.popper.style.alignItems = 'stretch'\n state.elements.popper.style.minWidth = `${state.elements.reference.offsetWidth}px`\n }\n },\n },\n }}\n // eslint-disable-next-line react/no-unstable-nested-components\n component={() => (\n <Styled.Menu\n role='menu'\n aria-labelledby={controlId}\n ref={setMenuRef}\n palette={{\n backgroundColor: palette.menuBackgroundColor,\n }}\n onClick={(evt) => {\n if (evt.target instanceof HTMLElement && evt.target.closest('[role=\"menuitem\"]')) {\n setMenuOpen(false)\n\n setTimeout(() => {\n controlRef.current?.focus()\n }, 100)\n }\n }}\n onKeyDown={(evt) => {\n evt.stopPropagation()\n\n if (\n !(document.activeElement instanceof HTMLElement) ||\n !document.activeElement.matches('[role=\"menuitem\"]') ||\n (!keyboardKeys.Esc.validate(evt.key) &&\n !keyboardKeys.Tab.validate(evt.key) &&\n !keyboardKeys.Home.validate(evt.key) &&\n !keyboardKeys.End.validate(evt.key) &&\n !keyboardKeys.ArrowDown.validate(evt.key) &&\n !keyboardKeys.ArrowUp.validate(evt.key))\n ) {\n return\n }\n\n if (keyboardKeys.Esc.validate(evt.key) || keyboardKeys.Tab.validate(evt.key)) {\n evt.preventDefault()\n\n setMenuOpen(false)\n\n setTimeout(() => {\n controlRef.current?.focus()\n }, 100)\n\n return\n }\n\n const items = Array.from(evt.currentTarget.querySelectorAll<HTMLElement>('[role=\"menuitem\"]'))\n\n if (items.length === 0) return\n\n if (keyboardKeys.Home.validate(evt.key)) {\n evt.preventDefault()\n items[0].focus()\n } else if (keyboardKeys.End.validate(evt.key)) {\n evt.preventDefault()\n items[items.length - 1].focus()\n } else if (keyboardKeys.ArrowDown.validate(evt.key) || keyboardKeys.ArrowUp.validate(evt.key)) {\n evt.preventDefault()\n navigateVerticalList(evt.key, document.activeElement, items, SELECTORS_FOCUSABLE)\n }\n }}\n >\n <TabListTabsContext.Provider value={controlsContextProps}>\n <TabListPropsContext.Provider value={menuItemsContextProps}>\n {Children.map(menuItems, (item) => (\n <Styled.MenuItem role='none'>{item}</Styled.MenuItem>\n ))}\n </TabListPropsContext.Provider>\n </TabListTabsContext.Provider>\n </Styled.Menu>\n )}\n >\n {typeof control === 'function' ? control(controlProps) : <TabListTab {...controlProps} />}\n </Floater>\n )\n}\n\nexport { TabListMenuTab }\n"],"names":["TabListMenuTab","props","role","type","variant","size","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","disabled","text","control","menuItems","activeTab","firstTab","activationOnFocus","getTabIndex","onActiveTabChange","sizeProps","useMemo","palette","useMergedPalette","controlRef","useRef","menuRef","setMenuRef","useState","timerId","portalElement","useFloaterPortal","menuOpen","setMenuOpen","controlId","nanoid","clickOutsideTargets","handleCloseMenu","useCallback","menuHasActiveTab","Boolean","find","item","isValidElement","id","controlProps","active","tabIndex","addonRight","addonProps","_jsx","Styled","iconProps","rotate","icon","ChevronDown","preset","color","tabColor","colorHover","tabColorHover","colorActive","tabColorActive","colorDisabled","tabColorDisabled","colorActiveDisabled","tabColorActiveDisabled","backgroundColor","tabBackgroundColor","backgroundColorHover","tabBackgroundColorHover","backgroundColorActive","tabBackgroundColorActive","backgroundColorDisabled","tabBackgroundColorDisabled","backgroundColorActiveDisabled","tabBackgroundColorActiveDisabled","onClick","prev","onKeyDown","evt","keyboardKeys","Esc","validate","key","Tab","preventDefault","F10","shiftKey","ArrowDown","controlsContextProps","menuItemsContextProps","useClickOutside","enabled","event","useEffect","current","setTimeout","items","Array","from","querySelectorAll","filter","matches","SELECTORS_FOCUSABLE","activeItem","focus","clearTimeout","Floater","open","placement","offset","hideArrow","styles","options","zIndex","undefined","wrapper","cursor","floater","opacity","transitionDuration","getPopper","popper","state","elements","reference","HTMLElement","modifiers","removeRoles","name","phase","effect","floaterElement","querySelector","removeAttribute","minWidth","requires","fn","rects","width","style","display","flexDirection","alignItems","offsetWidth","component","ref","menuBackgroundColor","target","closest","stopPropagation","document","activeElement","Home","End","ArrowUp","currentTarget","length","navigateVerticalList","children","TabListTabsContext","Provider","value","TabListPropsContext","Children","map","TabListTab"],"mappings":"kwBAgBMA,MAAAA,eAAkBC,IACtB,MAAMC,KACJA,EAAO,MAAKC,KACZA,EAAO,SAAQC,QACfA,EAAU,QAAOC,KACjBA,EAAO,IAAGC,QACVA,EAAOC,OACPA,EAAMC,MACNA,EAAKC,MACLA,EAAKC,MACLA,EAAKC,OACLA,EAAMC,SACNA,EAAQC,KACRA,EAAIC,QACJA,EAAOC,UACPA,EAASC,UACTA,EAASC,SACTA,EAAQC,kBACRA,EAAiBC,YACjBA,EAAWC,kBACXA,GACEnB,EAEJ,MAAMoB,EAAYC,SAChB,KAAO,CAAEjB,OAAMC,UAASC,SAAQC,QAAOC,QAAOC,QAAOC,YACrD,CAACN,EAAMC,EAASC,EAAQC,EAAOC,EAAOC,EAAOC,IAG/C,MAAMY,EAAUC,iBAAiBvB,GAEjC,MAAMwB,EAAaC,OAA8B,MACjD,MAAOC,EAASC,GAAcC,SAAqC,MAEnE,MAAMC,EAAUJ,OAAgD,MAEhE,MAAMK,EAAgBC,mBAEtB,MAAOC,EAAUC,GAAeL,UAAS,GAEzC,MAAMM,EAAYb,SAAQ,IAAMc,UAAU,IAE1C,MAAMC,EAAsBf,SAAQ,IAAM,CAACG,EAAYE,IAAU,CAACA,IAElE,MAAMW,EAAkBC,aAAY,KAClCL,GAAY,EAAM,GACjB,IAEH,MAAMM,EAAmBC,QACvB1B,EAAU2B,MACPC,GACCC,eAAeD,WAAgBA,EAAK1C,OAAU,UAAY0C,EAAK1C,QAAU,MAAQ0C,EAAK1C,MAAM4C,KAAO7B,KAIzG,MAAM8B,EAAgC,IACjCzB,EACHnB,OACAC,OACAC,UACA,gBAAiB,OACjByC,GAAIV,EACJ,gBAAiBK,EACjBO,OAAQP,EACRQ,SAAUR,IAAqBvB,EAAW,GAAK,EAC/CL,WACAC,OAEAoC,WAAaC,GACXC,IAACC,aAAmB,IAAKF,EAAWG,UAAWC,OAAQrB,EAAUsB,KAAMJ,IAACK,gBAAgBC,OAAO,UAEjGlC,QAAS,CACPmC,MAAOnC,EAAQoC,SACfC,WAAYrC,EAAQsC,cACpBC,YAAavC,EAAQwC,eACrBC,cAAezC,EAAQ0C,iBACvBC,oBAAqB3C,EAAQ4C,uBAC7BC,gBAAiB7C,EAAQ8C,mBACzBC,qBAAsB/C,EAAQgD,wBAC9BC,sBAAuBjD,EAAQkD,yBAC/BC,wBAAyBnD,EAAQoD,2BACjCC,8BAA+BrD,EAAQsD,kCAEzCC,QAASA,KACP5C,GAAa6C,IAAUA,GAAK,EAE9BC,UAAYC,IACNhD,IAAaiD,aAAaC,IAAIC,SAASH,EAAII,MAAQH,aAAaI,IAAIF,SAASH,EAAII,OACnFJ,EAAIM,iBACJrD,GAAY,KAEXD,IACCiD,aAAaM,IAAIJ,SAASH,EAAII,MAAQJ,EAAIQ,UAAaP,aAAaQ,UAAUN,SAASH,EAAII,QAE7FJ,EAAIM,iBACJrD,GAAY,GACd,GAIJ,MAAMyD,EAAuBrE,SAC3B,KAAO,CACLJ,oBACAF,YACAI,oBACAD,iBAEF,CAACD,EAAmBF,EAAWI,EAAmBD,IAGpD,MAAMyE,EAAwBtE,SAC5B,KAAO,IACFD,EACHT,WACAV,KAAM,WACNE,QAAS,YAEX,CAACiB,EAAWT,IAkCd,OA/BAiF,gBAAgBxD,EAAqBC,EAAiB,CACpDwD,QAAS7D,EACT8D,MAAO,cAGTC,WAAU,KACRlE,EAAQmE,QAAUC,YAAW,KAC3B,IAAKvE,EAAS,OAEd,MAAMwE,EAAQC,MAAMC,KAAK1E,EAAQ2E,iBAA8B,sBAAsBC,QAAQ5D,GAC3FA,EAAK6D,QAAQC,uBAGf,MAAMC,EAAaP,EAAMzD,MAAMC,GAASA,EAAK6D,QAAQ,4BAEjDE,EACFA,EAAWC,QACFR,EAAM,IACfA,EAAM,GAAGQ,QAGX7E,EAAQmE,QAAU,IAAI,GACrB,KAEI,KACDnE,EAAQmE,SACVW,aAAa9E,EAAQmE,QACvB,IAED,CAACtE,IAECI,EAKHoB,IAAC0D,QAAO,CACNC,KAAM7E,EACNF,cAAeA,EACfgF,UAAU,aACVC,OAAQ,EACRC,WAAS,EACTC,OAAQ,CACNC,QAAS,CACPC,YAAQC,GAEVC,QAAS,CACPC,OAAQ3G,EAAW,cAAgB,WAErC4G,QAAS,CACPjB,OAAQ,OACRkB,QAAS,EACTC,mBAAoB,SAGxBC,UAAYC,IACNA,EAAOC,MAAMC,SAASC,qBAAqBC,cAC7CvG,EAAWwE,QAAU2B,EAAOC,MAAMC,SAASC,UAC7C,EAEFE,UAAW,CAGTC,YAAa,CACXC,KAAM,cACNrC,SAAS,EACTsC,MAAO,cAGPC,OAAQA,EAAGR,YACT,GAAIA,EAAMC,SAASF,kBAAkBI,YAAa,CAChD,MAAMM,EAAiBT,EAAMC,SAASF,OAAOW,cAAc,oBACvDD,GACFA,EAAeE,gBAAgB,OAEnC,IAGJC,SAAU,CACRN,KAAM,WACNrC,SAAS,EACTsC,MAAO,cACPM,SAAU,CAAC,iBAGXC,GAAIA,EAAGd,YACLA,EAAMX,OAAOU,OAAOa,SAAW,GAAGZ,EAAMe,MAAMb,UAAUc,SAAS,EAInER,OAAQA,EAAGR,YACLA,EAAMC,SAASF,kBAAkBI,aAAeH,EAAMC,SAASC,qBAAqBC,cACtFH,EAAMC,SAASF,OAAOkB,MAAMC,QAAU,OACtClB,EAAMC,SAASF,OAAOkB,MAAME,cAAgB,SAC5CnB,EAAMC,SAASF,OAAOkB,MAAMG,WAAa,UACzCpB,EAAMC,SAASF,OAAOkB,MAAML,SAAW,GAAGZ,EAAMC,SAASC,UAAUmB,gBACrE,IAKNC,UAAWA,IACThG,IAACC,KAAW,CACVlD,KAAK,OACL,kBAAiBiC,EACjBiH,IAAKxH,EACLL,QAAS,CACP6C,gBAAiB7C,EAAQ8H,qBAE3BvE,QAAUG,IACJA,EAAIqE,kBAAkBtB,aAAe/C,EAAIqE,OAAOC,QAAQ,uBAC1DrH,GAAY,GAEZgE,YAAW,KACTzE,EAAWwE,SAASU,OAAO,GAC1B,KACL,EAEF3B,UAAYC,IAGV,GAFAA,EAAIuE,oBAGAC,SAASC,yBAAyB1B,aACnCyB,SAASC,cAAclD,QAAQ,uBAC9BtB,aAAaC,IAAIC,SAASH,EAAII,MAC7BH,aAAaI,IAAIF,SAASH,EAAII,MAC9BH,aAAayE,KAAKvE,SAASH,EAAII,MAC/BH,aAAa0E,IAAIxE,SAASH,EAAII,MAC9BH,aAAaQ,UAAUN,SAASH,EAAII,MACpCH,aAAa2E,QAAQzE,SAASH,EAAII,OAErC,OAGF,GAAIH,aAAaC,IAAIC,SAASH,EAAII,MAAQH,aAAaI,IAAIF,SAASH,EAAII,KAStE,OARAJ,EAAIM,iBAEJrD,GAAY,QAEZgE,YAAW,KACTzE,EAAWwE,SAASU,OAAO,GAC1B,KAKL,MAAMR,EAAQC,MAAMC,KAAKpB,EAAI6E,cAAcxD,iBAA8B,sBAErEH,EAAM4D,SAAW,IAEjB7E,aAAayE,KAAKvE,SAASH,EAAII,MACjCJ,EAAIM,iBACJY,EAAM,GAAGQ,SACAzB,aAAa0E,IAAIxE,SAASH,EAAII,MACvCJ,EAAIM,iBACJY,EAAMA,EAAM4D,OAAS,GAAGpD,UACfzB,aAAaQ,UAAUN,SAASH,EAAII,MAAQH,aAAa2E,QAAQzE,SAASH,EAAII,QACvFJ,EAAIM,iBACJyE,qBAAqB/E,EAAII,IAAKoE,SAASC,cAAevD,EAAOM,sBAC/D,EACAwD,SAEF9G,IAAC+G,mBAAmBC,SAAQ,CAACC,MAAOzE,EAAqBsE,SACvD9G,IAACkH,oBAAoBF,SAAQ,CAACC,MAAOxE,EAAsBqE,SACxDK,SAASC,IAAIxJ,GAAY4B,GACxBQ,IAACC,SAAe,CAAClD,KAAK,OAAM+J,SAAEtH,YAKtCsH,gBAEMnJ,GAAY,WAAaA,EAAQgC,GAAgBK,IAACqH,WAAU,IAAK1H,MA5IpE,IA6IG"}
@@ -1,2 +1,2 @@
1
- 'use strict';var React=require('react');var styled=require('styled-components');var nanoid=require('nanoid');var iconPack=require('@foxford/icon-pack');var withMergedProps=require('../../hocs/withMergedProps.js');var useResizable=require('../../hooks/useResizable.js');var misc=require('../../shared/utils/misc.js');var sizes=require('./sizes.js');var style=require('./style.js');var jsxRuntime=require('react/jsx-runtime');var FormInputLabel=require('../FormInputLabel/FormInputLabel.js');var InputLabel=require('../InputLabel/InputLabel.js');var sizes$1=require('../FormInput/sizes.js');const Textarea=withMergedProps.withMergedProps(React.forwardRef(((e,r)=>{const t=styled.useTheme();const{size:a="m",rows:i=2,maxRows:n=30,labelPosition:o="dynamic",primary:s=!0,width:l=t.defaultInputControlsWidth,autosize:m=!0,rounded:c=!0,color:u="mineShaft",placeholderColor:g="silver",autoRows:d,resize:h,contrast:p,inline:X,secondary:b,success:L,error:R,sizeXXS:S,sizeXS:f,sizeS:z,sizeM:v,sizeL:w,sizeXL:x,sizes:M,sizeUnits:j,margin:C,marginXXS:T,marginXS:y,marginS:I,marginM:B,marginL:k,marginXL:q,marginTop:D,marginTopXXS:F,marginTopXS:N,marginTopS:P,marginTopM:E,marginTopL:H,marginTopXL:O,marginRight:U,marginRightXXS:Z,marginRightXS:$,marginRightS:A,marginRightM:G,marginRightL:K,marginRightXL:V,marginBottom:W,marginBottomXXS:_,marginBottomXS:J,marginBottomS:Q,marginBottomM:Y,marginBottomL:ee,marginBottomXL:re,marginLeft:te,marginLeftXXS:ae,marginLeftXS:ie,marginLeftS:ne,marginLeftM:oe,marginLeftL:se,marginLeftXL:le,widthXXS:me,widthXS:ce,widthS:ue,widthM:ge,widthL:de,widthXL:he,preset:pe,palette:Xe,label:be,fluid:Le,className:Re,style:Se,disabled:fe,...ze}=e;const ve={size:a,sizeXXS:S,sizeXS:f,sizeS:z,sizeM:v,sizeL:w,sizeXL:x};const we=React.useRef(null);const xe=React.useRef(null);const Me=React.useRef(null);React.useImperativeHandle(r,(()=>we.current),[]);const[je,Ce,Te]=useResizable.useResizable({target:Me,direction:h});const ye=React.useMemo((()=>nanoid.nanoid()),[]);const[Ie,Be]=React.useState((()=>{const e=ze.value??ze.defaultValue;return typeof e=='string'&&e.length>0}));const[ke,qe]=React.useState((()=>Math.min(i,n)));const De=pe==='brand'&&d||pe!=='brand'&&m?ke:Math.min(i,n);const Fe=h==='horizontal'?'ew-resize':h==='vertical'?'ns-resize':'nwse-resize';const Ne=React.useCallback((()=>{if(!we.current)return;if(pe==='brand'){if(!xe.current)return;xe.current.value=we.current.value;const e=Math.max(Math.round(xe.current.scrollHeight/xe.current.clientHeight),i);return void qe(Math.min(e,n))}const e=getComputedStyle(we.current);const r=parseFloat(e.lineHeight);const t=Math.max(Math.round((we.current.scrollHeight-parseFloat(e.paddingTop)-parseFloat(e.paddingBottom))/(Number.isNaN(r)?parseFloat(e.fontSize)*1.2:r)),i);qe((e=>t>e?Math.min(t,n):we.current&&!we.current.value?i:e))}),[pe,i,n]);return React.useLayoutEffect((()=>{pe==='brand'&&typeof ze.value=='string'&&we.current&&we.current!==document.activeElement&&Be(ze.value.length>0)}),[pe,ze.value]),React.useEffect((()=>{const e=misc.createThrottledCallback(Ne,200);return(pe==='brand'&&d||pe!=='brand'&&m)&&(Ne(),window.addEventListener('resize',e)),()=>{window.removeEventListener('resize',e)}}),[pe,d,m,Ne]),pe!=='brand'?jsxRuntime.jsx(style.Root,{...ze,ref:we,className:Re,style:Se,onChange:e=>{m&&Ne(),ze.onChange&&ze.onChange(e)},rows:De,color:u,rounded:c,placeholderColor:g,disabled:fe,error:R,fluid:Le,width:l,widthXXS:me,widthXS:ce,widthS:ue,widthM:ge,widthL:de,widthXL:he}):jsxRuntime.jsx(FormInputLabel.FormInputLabel,{...ve,ref:Me,sizes:M,sizeUnits:j,margin:C,marginXXS:T,marginXS:y,marginS:I,marginM:B,marginL:k,marginXL:q,marginTop:D,marginTopXXS:F,marginTopXS:N,marginTopS:P,marginTopM:E,marginTopL:H,marginTopXL:O,marginRight:U,marginRightXXS:Z,marginRightXS:$,marginRightS:A,marginRightM:G,marginRightL:K,marginRightXL:V,marginBottom:W,marginBottomXXS:_,marginBottomXS:J,marginBottomS:Q,marginBottomM:Y,marginBottomL:ee,marginBottomXL:re,marginLeft:te,marginLeftXXS:ae,marginLeftXS:ie,marginLeftS:ne,marginLeftM:oe,marginLeftL:se,marginLeftXL:le,className:Re,style:Se,contrast:p,error:R,inline:X,disabled:fe,primary:s,secondary:b,success:L,palette:{color:fe?Xe.colorDisabled:Xe.color,backgroundColor:fe?Xe.backgroundColorDisabled:Xe.backgroundColor,backgroundColorHover:fe?Xe.backgroundColorDisabled:Xe.backgroundColorHover,borderColor:fe?Xe.borderColorDisabled:Xe.borderColor},onClick:()=>{we.current&&we.current.focus()},onFocus:()=>{Be(!0)},onPointerDown:e=>{e.target!==we.current&&e.target instanceof Node&&e.preventDefault()},onBlur:e=>{we.current&&!e.currentTarget.contains(e.relatedTarget)&&Be(Boolean(we.current.value))},overflow:"hidden",input:jsxRuntime.jsxs(InputLabel.InputLabel,{...ve,sizes:sizes$1.SIZES,active:Ie,label:be,labelId:ye,labelPosition:o,children:[d?jsxRuntime.jsx(style.TextareaMimic,{ref:xe,rows:1}):null,jsxRuntime.jsx(style.Textarea,{...ze,ref:we,"aria-labelledby":be?ye:void 0,disabled:fe,onChange:e=>{d&&Ne(),ze.onChange&&ze.onChange(e)},rows:De,palette:{color:Xe.color,colorDisabled:Xe.colorDisabled,placeholderColor:Xe.placeholderColor,placeholderColorDisabled:Xe.placeholderColorDisabled}})]}),addon:h?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[je?jsxRuntime.jsx(style.ResizeGlobals,{cursor:Fe}):null,jsxRuntime.jsx(style.ResizeIcon,{size:"l",icon:jsxRuntime.jsx(iconPack.ResizeHandle,{}),color:"border-onmain-default-small",tabIndex:0,onPointerDown:Ce,onKeyDown:Te,cursor:Fe})]}):void 0})})),{displayName:"Textarea",sizes:sizes.SIZES});exports.COMPONENT_NAME="Textarea",exports.Textarea=Textarea;
1
+ 'use strict';var React=require('react');var styled=require('styled-components');var nanoid=require('nanoid');var withMergedProps=require('../../hocs/withMergedProps.js');var useResizable=require('../../hooks/useResizable.js');var misc=require('../../shared/utils/misc.js');var sizes=require('./sizes.js');var style=require('./style.js');var jsxRuntime=require('react/jsx-runtime');var FormInputLabel=require('../FormInputLabel/FormInputLabel.js');var InputLabel=require('../InputLabel/InputLabel.js');var sizes$1=require('../FormInput/sizes.js');var index=require('../../icon-pack/src/icons/ResizeHandle/index.js');const Textarea=withMergedProps.withMergedProps(React.forwardRef(((e,r)=>{const t=styled.useTheme();const{size:a="m",rows:i=2,maxRows:n=30,labelPosition:o="dynamic",primary:s=!0,width:l=t.defaultInputControlsWidth,autosize:m=!0,rounded:u=!0,color:c="mineShaft",placeholderColor:g="silver",autoRows:d,resize:h,contrast:p,inline:X,secondary:b,success:L,error:R,sizeXXS:S,sizeXS:z,sizeS:f,sizeM:x,sizeL:v,sizeXL:w,sizes:j,sizeUnits:M,margin:C,marginXXS:T,marginXS:y,marginS:I,marginM:B,marginL:q,marginXL:D,marginTop:F,marginTopXXS:k,marginTopXS:N,marginTopS:E,marginTopM:H,marginTopL:P,marginTopXL:O,marginRight:U,marginRightXXS:Z,marginRightXS:$,marginRightS:A,marginRightM:G,marginRightL:K,marginRightXL:V,marginBottom:W,marginBottomXXS:_,marginBottomXS:J,marginBottomS:Q,marginBottomM:Y,marginBottomL:ee,marginBottomXL:re,marginLeft:te,marginLeftXXS:ae,marginLeftXS:ie,marginLeftS:ne,marginLeftM:oe,marginLeftL:se,marginLeftXL:le,widthXXS:me,widthXS:ue,widthS:ce,widthM:ge,widthL:de,widthXL:he,preset:pe,palette:Xe,label:be,fluid:Le,className:Re,style:Se,disabled:ze,...fe}=e;const xe={size:a,sizeXXS:S,sizeXS:z,sizeS:f,sizeM:x,sizeL:v,sizeXL:w};const ve=React.useRef(null);const we=React.useRef(null);const je=React.useRef(null);React.useImperativeHandle(r,(()=>ve.current),[]);const[Me,Ce,Te]=useResizable.useResizable({target:je,direction:h});const ye=React.useMemo((()=>nanoid.nanoid()),[]);const[Ie,Be]=React.useState((()=>{const e=fe.value??fe.defaultValue;return typeof e=='string'&&e.length>0}));const[qe,De]=React.useState((()=>Math.min(i,n)));const Fe=pe==='brand'&&d||pe!=='brand'&&m?qe:Math.min(i,n);const ke=h==='horizontal'?'ew-resize':h==='vertical'?'ns-resize':'nwse-resize';const Ne=React.useCallback((()=>{if(!ve.current)return;if(pe==='brand'){if(!we.current)return;we.current.value=ve.current.value;const e=Math.max(Math.round(we.current.scrollHeight/we.current.clientHeight),i);return void De(Math.min(e,n))}const e=getComputedStyle(ve.current);const r=parseFloat(e.lineHeight);const t=Math.max(Math.round((ve.current.scrollHeight-parseFloat(e.paddingTop)-parseFloat(e.paddingBottom))/(Number.isNaN(r)?parseFloat(e.fontSize)*1.2:r)),i);De((e=>t>e?Math.min(t,n):ve.current&&!ve.current.value?i:e))}),[pe,i,n]);return React.useLayoutEffect((()=>{pe==='brand'&&typeof fe.value=='string'&&ve.current&&ve.current!==document.activeElement&&Be(fe.value.length>0)}),[pe,fe.value]),React.useEffect((()=>{const e=misc.createThrottledCallback(Ne,200);return(pe==='brand'&&d||pe!=='brand'&&m)&&(Ne(),window.addEventListener('resize',e)),()=>{window.removeEventListener('resize',e)}}),[pe,d,m,Ne]),pe!=='brand'?jsxRuntime.jsx(style.Root,{...fe,ref:ve,className:Re,style:Se,onChange:e=>{m&&Ne(),fe.onChange&&fe.onChange(e)},rows:Fe,color:c,rounded:u,placeholderColor:g,disabled:ze,error:R,fluid:Le,width:l,widthXXS:me,widthXS:ue,widthS:ce,widthM:ge,widthL:de,widthXL:he}):jsxRuntime.jsx(FormInputLabel.FormInputLabel,{...xe,ref:je,sizes:j,sizeUnits:M,margin:C,marginXXS:T,marginXS:y,marginS:I,marginM:B,marginL:q,marginXL:D,marginTop:F,marginTopXXS:k,marginTopXS:N,marginTopS:E,marginTopM:H,marginTopL:P,marginTopXL:O,marginRight:U,marginRightXXS:Z,marginRightXS:$,marginRightS:A,marginRightM:G,marginRightL:K,marginRightXL:V,marginBottom:W,marginBottomXXS:_,marginBottomXS:J,marginBottomS:Q,marginBottomM:Y,marginBottomL:ee,marginBottomXL:re,marginLeft:te,marginLeftXXS:ae,marginLeftXS:ie,marginLeftS:ne,marginLeftM:oe,marginLeftL:se,marginLeftXL:le,className:Re,style:Se,contrast:p,error:R,inline:X,disabled:ze,primary:s,secondary:b,success:L,palette:{color:ze?Xe.colorDisabled:Xe.color,backgroundColor:ze?Xe.backgroundColorDisabled:Xe.backgroundColor,backgroundColorHover:ze?Xe.backgroundColorDisabled:Xe.backgroundColorHover,borderColor:ze?Xe.borderColorDisabled:Xe.borderColor},onClick:()=>{ve.current&&ve.current.focus()},onFocus:()=>{Be(!0)},onPointerDown:e=>{e.target!==ve.current&&e.target instanceof Node&&e.preventDefault()},onBlur:e=>{ve.current&&!e.currentTarget.contains(e.relatedTarget)&&Be(Boolean(ve.current.value))},overflow:"hidden",input:jsxRuntime.jsxs(InputLabel.InputLabel,{...xe,sizes:sizes$1.SIZES,active:Ie,label:be,labelId:ye,labelPosition:o,children:[d?jsxRuntime.jsx(style.TextareaMimic,{ref:we,rows:1}):null,jsxRuntime.jsx(style.Textarea,{...fe,ref:ve,"aria-labelledby":be?ye:void 0,disabled:ze,onChange:e=>{d&&Ne(),fe.onChange&&fe.onChange(e)},rows:Fe,palette:{color:Xe.color,colorDisabled:Xe.colorDisabled,placeholderColor:Xe.placeholderColor,placeholderColorDisabled:Xe.placeholderColorDisabled}})]}),addon:h?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[Me?jsxRuntime.jsx(style.ResizeGlobals,{cursor:ke}):null,jsxRuntime.jsx(style.ResizeIcon,{size:"l",icon:jsxRuntime.jsx(index.ResizeHandle,{}),color:"border-onmain-default-small",tabIndex:0,onPointerDown:Ce,onKeyDown:Te,cursor:ke})]}):void 0})})),{displayName:"Textarea",sizes:sizes.SIZES});exports.COMPONENT_NAME="Textarea",exports.Textarea=Textarea;
2
2
  //# sourceMappingURL=Textarea.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.js","sources":["../../../../src/components/Textarea/Textarea.tsx"],"sourcesContent":["import {\n forwardRef,\n useImperativeHandle,\n useLayoutEffect,\n useEffect,\n useRef,\n useState,\n useMemo,\n useCallback,\n} from 'react'\nimport { useTheme } from 'styled-components'\nimport { nanoid } from 'nanoid'\nimport { ResizeHandle } from '@foxford/icon-pack'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { InputLabel } from 'components/InputLabel'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { useResizable } from 'hooks/useResizable'\nimport { createThrottledCallback } from 'shared/utils/misc'\nimport { FormInputLabel } from 'components/FormInputLabel'\nimport { SIZES as SIZES_FORM_INPUT } from 'components/FormInput'\nimport { SIZES } from './sizes'\nimport * as Styled from './style'\nimport type { TextareaProps } from './types'\n\nconst COMPONENT_NAME = 'Textarea'\n\n/**\n *\n * Компонент для приема многострочного ввода.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<textarea\\> элемента.\n */\nconst Textarea: React.ForwardRefExoticComponent<TextareaProps> = withMergedProps<TextareaProps, HTMLTextAreaElement>(\n forwardRef<HTMLTextAreaElement, MergedProps<TextareaProps>>((props, forwardedRef) => {\n const theme = useTheme()\n\n const {\n size = 'm',\n rows = 2,\n maxRows = 30,\n labelPosition = 'dynamic',\n primary = true,\n width = theme.defaultInputControlsWidth,\n autosize = true,\n rounded = true,\n color = 'mineShaft',\n placeholderColor = 'silver',\n autoRows,\n resize,\n contrast,\n inline,\n secondary,\n success,\n error,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n sizes,\n sizeUnits,\n margin,\n marginXXS,\n marginXS,\n marginS,\n marginM,\n marginL,\n marginXL,\n marginTop,\n marginTopXXS,\n marginTopXS,\n marginTopS,\n marginTopM,\n marginTopL,\n marginTopXL,\n marginRight,\n marginRightXXS,\n marginRightXS,\n marginRightS,\n marginRightM,\n marginRightL,\n marginRightXL,\n marginBottom,\n marginBottomXXS,\n marginBottomXS,\n marginBottomS,\n marginBottomM,\n marginBottomL,\n marginBottomXL,\n marginLeft,\n marginLeftXXS,\n marginLeftXS,\n marginLeftS,\n marginLeftM,\n marginLeftL,\n marginLeftXL,\n widthXXS,\n widthXS,\n widthS,\n widthM,\n widthL,\n widthXL,\n preset,\n palette,\n label,\n fluid,\n className,\n style,\n disabled,\n ...textareaProps\n } = props\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n const textareaRef = useRef<HTMLTextAreaElement>(null)\n\n const textareaMimicRef = useRef<HTMLTextAreaElement>(null)\n\n const formInputLabelRef = useRef<HTMLDivElement>(null)\n\n useImperativeHandle(forwardedRef, () => textareaRef.current as HTMLTextAreaElement, [])\n\n const [resizing, handleResizeStart, handleResizeOnNudge] = useResizable<HTMLDivElement, HTMLSpanElement>({\n target: formInputLabelRef,\n direction: resize,\n })\n\n const labelId = useMemo(() => nanoid(), [])\n\n const [active, setActive] = useState(() => {\n const valueInit = textareaProps.value ?? textareaProps.defaultValue\n\n return typeof valueInit === 'string' && valueInit.length > 0\n })\n\n const [autoRowsCount, setAutoRowsCount] = useState(() => Math.min(rows, maxRows))\n\n const rowsVisible =\n (preset === 'brand' && autoRows) || (preset !== 'brand' && autosize) ? autoRowsCount : Math.min(rows, maxRows)\n\n const cursorResize = resize === 'horizontal' ? 'ew-resize' : resize === 'vertical' ? 'ns-resize' : 'nwse-resize'\n\n const updateAutoRowsCount = useCallback(() => {\n if (!textareaRef.current) return\n\n if (preset === 'brand') {\n if (!textareaMimicRef.current) return\n\n textareaMimicRef.current.value = textareaRef.current.value\n\n const nextRows = Math.max(\n Math.round(textareaMimicRef.current.scrollHeight / textareaMimicRef.current.clientHeight),\n rows\n )\n\n setAutoRowsCount(Math.min(nextRows, maxRows))\n\n return\n }\n\n const styles = getComputedStyle(textareaRef.current)\n\n const lineHeight = parseFloat(styles.lineHeight)\n\n const nextRows = Math.max(\n Math.round(\n (textareaRef.current.scrollHeight - parseFloat(styles.paddingTop) - parseFloat(styles.paddingBottom)) /\n (Number.isNaN(lineHeight) ? parseFloat(styles.fontSize) * 1.2 : lineHeight)\n ),\n rows\n )\n\n setAutoRowsCount((prevRows) => {\n if (nextRows > prevRows) return Math.min(nextRows, maxRows)\n if (textareaRef.current && !textareaRef.current.value) return rows\n\n return prevRows\n })\n }, [preset, rows, maxRows])\n\n useLayoutEffect(() => {\n if (\n preset === 'brand' &&\n typeof textareaProps.value === 'string' &&\n textareaRef.current &&\n textareaRef.current !== document.activeElement\n ) {\n setActive(textareaProps.value.length > 0)\n }\n }, [preset, textareaProps.value])\n\n useEffect(() => {\n const handleResize = createThrottledCallback<UIEvent>(updateAutoRowsCount, 200)\n\n if ((preset === 'brand' && autoRows) || (preset !== 'brand' && autosize)) {\n updateAutoRowsCount()\n window.addEventListener('resize', handleResize)\n }\n\n return () => {\n window.removeEventListener('resize', handleResize)\n }\n }, [preset, autoRows, autosize, updateAutoRowsCount])\n\n if (preset !== 'brand') {\n return (\n <Styled.Root\n {...textareaProps}\n ref={textareaRef}\n className={className}\n style={style}\n onChange={(evt) => {\n if (autosize) updateAutoRowsCount()\n if (textareaProps.onChange) textareaProps.onChange(evt)\n }}\n rows={rowsVisible}\n color={color}\n rounded={rounded}\n placeholderColor={placeholderColor}\n disabled={disabled}\n error={error}\n fluid={fluid}\n width={width}\n widthXXS={widthXXS}\n widthXS={widthXS}\n widthS={widthS}\n widthM={widthM}\n widthL={widthL}\n widthXL={widthXL}\n />\n )\n }\n\n return (\n <FormInputLabel\n {...sizeProps}\n ref={formInputLabelRef}\n sizes={sizes}\n sizeUnits={sizeUnits}\n margin={margin}\n marginXXS={marginXXS}\n marginXS={marginXS}\n marginS={marginS}\n marginM={marginM}\n marginL={marginL}\n marginXL={marginXL}\n marginTop={marginTop}\n marginTopXXS={marginTopXXS}\n marginTopXS={marginTopXS}\n marginTopS={marginTopS}\n marginTopM={marginTopM}\n marginTopL={marginTopL}\n marginTopXL={marginTopXL}\n marginRight={marginRight}\n marginRightXXS={marginRightXXS}\n marginRightXS={marginRightXS}\n marginRightS={marginRightS}\n marginRightM={marginRightM}\n marginRightL={marginRightL}\n marginRightXL={marginRightXL}\n marginBottom={marginBottom}\n marginBottomXXS={marginBottomXXS}\n marginBottomXS={marginBottomXS}\n marginBottomS={marginBottomS}\n marginBottomM={marginBottomM}\n marginBottomL={marginBottomL}\n marginBottomXL={marginBottomXL}\n marginLeft={marginLeft}\n marginLeftXXS={marginLeftXXS}\n marginLeftXS={marginLeftXS}\n marginLeftS={marginLeftS}\n marginLeftM={marginLeftM}\n marginLeftL={marginLeftL}\n marginLeftXL={marginLeftXL}\n className={className}\n style={style}\n contrast={contrast}\n error={error}\n inline={inline}\n disabled={disabled}\n primary={primary}\n secondary={secondary}\n success={success}\n palette={{\n color: disabled ? palette.colorDisabled : palette.color,\n backgroundColor: disabled ? palette.backgroundColorDisabled : palette.backgroundColor,\n backgroundColorHover: disabled ? palette.backgroundColorDisabled : palette.backgroundColorHover,\n borderColor: disabled ? palette.borderColorDisabled : palette.borderColor,\n }}\n onClick={() => {\n if (textareaRef.current) {\n textareaRef.current.focus()\n }\n }}\n onFocus={() => {\n setActive(true)\n }}\n onPointerDown={(evt) => {\n if (evt.target === textareaRef.current || !(evt.target instanceof Node)) {\n return\n }\n evt.preventDefault()\n }}\n onBlur={(evt) => {\n if (textareaRef.current && !evt.currentTarget.contains(evt.relatedTarget)) {\n setActive(Boolean(textareaRef.current.value))\n }\n }}\n overflow='hidden'\n input={\n <InputLabel\n {...sizeProps}\n sizes={SIZES_FORM_INPUT}\n active={active}\n label={label}\n labelId={labelId}\n labelPosition={labelPosition}\n >\n {autoRows ? <Styled.TextareaMimic ref={textareaMimicRef} rows={1} /> : null}\n <Styled.Textarea\n {...textareaProps}\n ref={textareaRef}\n aria-labelledby={label ? labelId : undefined}\n disabled={disabled}\n onChange={(evt) => {\n if (autoRows) updateAutoRowsCount()\n if (textareaProps.onChange) textareaProps.onChange(evt)\n }}\n rows={rowsVisible}\n palette={{\n color: palette.color,\n colorDisabled: palette.colorDisabled,\n placeholderColor: palette.placeholderColor,\n placeholderColorDisabled: palette.placeholderColorDisabled,\n }}\n />\n </InputLabel>\n }\n addon={\n resize ? (\n <>\n {resizing ? <Styled.ResizeGlobals cursor={cursorResize} /> : null}\n <Styled.ResizeIcon\n size='l'\n icon={<ResizeHandle />}\n color='border-onmain-default-small'\n tabIndex={0}\n onPointerDown={handleResizeStart}\n onKeyDown={handleResizeOnNudge}\n cursor={cursorResize}\n />\n </>\n ) : undefined\n }\n />\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n)\n\nexport { Textarea, COMPONENT_NAME }\n"],"names":["Textarea","withMergedProps","forwardRef","props","forwardedRef","theme","useTheme","size","rows","maxRows","labelPosition","primary","width","defaultInputControlsWidth","autosize","rounded","color","placeholderColor","autoRows","resize","contrast","inline","secondary","success","error","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","sizes","sizeUnits","margin","marginXXS","marginXS","marginS","marginM","marginL","marginXL","marginTop","marginTopXXS","marginTopXS","marginTopS","marginTopM","marginTopL","marginTopXL","marginRight","marginRightXXS","marginRightXS","marginRightS","marginRightM","marginRightL","marginRightXL","marginBottom","marginBottomXXS","marginBottomXS","marginBottomS","marginBottomM","marginBottomL","marginBottomXL","marginLeft","marginLeftXXS","marginLeftXS","marginLeftS","marginLeftM","marginLeftL","marginLeftXL","widthXXS","widthXS","widthS","widthM","widthL","widthXL","preset","palette","label","fluid","className","style","disabled","textareaProps","sizeProps","textareaRef","useRef","textareaMimicRef","formInputLabelRef","useImperativeHandle","current","resizing","handleResizeStart","handleResizeOnNudge","useResizable","target","direction","labelId","useMemo","nanoid","active","setActive","useState","valueInit","value","defaultValue","length","autoRowsCount","setAutoRowsCount","Math","min","rowsVisible","cursorResize","updateAutoRowsCount","useCallback","nextRows","max","round","scrollHeight","clientHeight","styles","getComputedStyle","lineHeight","parseFloat","paddingTop","paddingBottom","Number","isNaN","fontSize","prevRows","useLayoutEffect","document","activeElement","useEffect","handleResize","createThrottledCallback","window","addEventListener","removeEventListener","_jsx","Styled","ref","onChange","evt","FormInputLabel","colorDisabled","backgroundColor","backgroundColorDisabled","backgroundColorHover","borderColor","borderColorDisabled","onClick","focus","onFocus","onPointerDown","Node","preventDefault","onBlur","currentTarget","contains","relatedTarget","Boolean","overflow","input","_jsxs","jsxs","InputLabel","SIZES_FORM_INPUT","SIZES","children","jsx","undefined","placeholderColorDisabled","addon","_Fragment","cursor","icon","ResizeHandle","tabIndex","onKeyDown","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"Textarea.js","sources":["../../../../src/components/Textarea/Textarea.tsx"],"sourcesContent":["import {\n forwardRef,\n useImperativeHandle,\n useLayoutEffect,\n useEffect,\n useRef,\n useState,\n useMemo,\n useCallback,\n} from 'react'\nimport { useTheme } from 'styled-components'\nimport { nanoid } from 'nanoid'\nimport { ResizeHandle } from '@foxford/icon-pack'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { InputLabel } from 'components/InputLabel'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { useResizable } from 'hooks/useResizable'\nimport { createThrottledCallback } from 'shared/utils/misc'\nimport { FormInputLabel } from 'components/FormInputLabel'\nimport { SIZES as SIZES_FORM_INPUT } from 'components/FormInput'\nimport { SIZES } from './sizes'\nimport * as Styled from './style'\nimport type { TextareaProps } from './types'\n\nconst COMPONENT_NAME = 'Textarea'\n\n/**\n *\n * Компонент для приема многострочного ввода.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<textarea\\> элемента.\n */\nconst Textarea: React.ForwardRefExoticComponent<TextareaProps> = withMergedProps<TextareaProps, HTMLTextAreaElement>(\n forwardRef<HTMLTextAreaElement, MergedProps<TextareaProps>>((props, forwardedRef) => {\n const theme = useTheme()\n\n const {\n size = 'm',\n rows = 2,\n maxRows = 30,\n labelPosition = 'dynamic',\n primary = true,\n width = theme.defaultInputControlsWidth,\n autosize = true,\n rounded = true,\n color = 'mineShaft',\n placeholderColor = 'silver',\n autoRows,\n resize,\n contrast,\n inline,\n secondary,\n success,\n error,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n sizes,\n sizeUnits,\n margin,\n marginXXS,\n marginXS,\n marginS,\n marginM,\n marginL,\n marginXL,\n marginTop,\n marginTopXXS,\n marginTopXS,\n marginTopS,\n marginTopM,\n marginTopL,\n marginTopXL,\n marginRight,\n marginRightXXS,\n marginRightXS,\n marginRightS,\n marginRightM,\n marginRightL,\n marginRightXL,\n marginBottom,\n marginBottomXXS,\n marginBottomXS,\n marginBottomS,\n marginBottomM,\n marginBottomL,\n marginBottomXL,\n marginLeft,\n marginLeftXXS,\n marginLeftXS,\n marginLeftS,\n marginLeftM,\n marginLeftL,\n marginLeftXL,\n widthXXS,\n widthXS,\n widthS,\n widthM,\n widthL,\n widthXL,\n preset,\n palette,\n label,\n fluid,\n className,\n style,\n disabled,\n ...textareaProps\n } = props\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n const textareaRef = useRef<HTMLTextAreaElement>(null)\n\n const textareaMimicRef = useRef<HTMLTextAreaElement>(null)\n\n const formInputLabelRef = useRef<HTMLDivElement>(null)\n\n useImperativeHandle(forwardedRef, () => textareaRef.current as HTMLTextAreaElement, [])\n\n const [resizing, handleResizeStart, handleResizeOnNudge] = useResizable<HTMLDivElement, HTMLSpanElement>({\n target: formInputLabelRef,\n direction: resize,\n })\n\n const labelId = useMemo(() => nanoid(), [])\n\n const [active, setActive] = useState(() => {\n const valueInit = textareaProps.value ?? textareaProps.defaultValue\n\n return typeof valueInit === 'string' && valueInit.length > 0\n })\n\n const [autoRowsCount, setAutoRowsCount] = useState(() => Math.min(rows, maxRows))\n\n const rowsVisible =\n (preset === 'brand' && autoRows) || (preset !== 'brand' && autosize) ? autoRowsCount : Math.min(rows, maxRows)\n\n const cursorResize = resize === 'horizontal' ? 'ew-resize' : resize === 'vertical' ? 'ns-resize' : 'nwse-resize'\n\n const updateAutoRowsCount = useCallback(() => {\n if (!textareaRef.current) return\n\n if (preset === 'brand') {\n if (!textareaMimicRef.current) return\n\n textareaMimicRef.current.value = textareaRef.current.value\n\n const nextRows = Math.max(\n Math.round(textareaMimicRef.current.scrollHeight / textareaMimicRef.current.clientHeight),\n rows\n )\n\n setAutoRowsCount(Math.min(nextRows, maxRows))\n\n return\n }\n\n const styles = getComputedStyle(textareaRef.current)\n\n const lineHeight = parseFloat(styles.lineHeight)\n\n const nextRows = Math.max(\n Math.round(\n (textareaRef.current.scrollHeight - parseFloat(styles.paddingTop) - parseFloat(styles.paddingBottom)) /\n (Number.isNaN(lineHeight) ? parseFloat(styles.fontSize) * 1.2 : lineHeight)\n ),\n rows\n )\n\n setAutoRowsCount((prevRows) => {\n if (nextRows > prevRows) return Math.min(nextRows, maxRows)\n if (textareaRef.current && !textareaRef.current.value) return rows\n\n return prevRows\n })\n }, [preset, rows, maxRows])\n\n useLayoutEffect(() => {\n if (\n preset === 'brand' &&\n typeof textareaProps.value === 'string' &&\n textareaRef.current &&\n textareaRef.current !== document.activeElement\n ) {\n setActive(textareaProps.value.length > 0)\n }\n }, [preset, textareaProps.value])\n\n useEffect(() => {\n const handleResize = createThrottledCallback<UIEvent>(updateAutoRowsCount, 200)\n\n if ((preset === 'brand' && autoRows) || (preset !== 'brand' && autosize)) {\n updateAutoRowsCount()\n window.addEventListener('resize', handleResize)\n }\n\n return () => {\n window.removeEventListener('resize', handleResize)\n }\n }, [preset, autoRows, autosize, updateAutoRowsCount])\n\n if (preset !== 'brand') {\n return (\n <Styled.Root\n {...textareaProps}\n ref={textareaRef}\n className={className}\n style={style}\n onChange={(evt) => {\n if (autosize) updateAutoRowsCount()\n if (textareaProps.onChange) textareaProps.onChange(evt)\n }}\n rows={rowsVisible}\n color={color}\n rounded={rounded}\n placeholderColor={placeholderColor}\n disabled={disabled}\n error={error}\n fluid={fluid}\n width={width}\n widthXXS={widthXXS}\n widthXS={widthXS}\n widthS={widthS}\n widthM={widthM}\n widthL={widthL}\n widthXL={widthXL}\n />\n )\n }\n\n return (\n <FormInputLabel\n {...sizeProps}\n ref={formInputLabelRef}\n sizes={sizes}\n sizeUnits={sizeUnits}\n margin={margin}\n marginXXS={marginXXS}\n marginXS={marginXS}\n marginS={marginS}\n marginM={marginM}\n marginL={marginL}\n marginXL={marginXL}\n marginTop={marginTop}\n marginTopXXS={marginTopXXS}\n marginTopXS={marginTopXS}\n marginTopS={marginTopS}\n marginTopM={marginTopM}\n marginTopL={marginTopL}\n marginTopXL={marginTopXL}\n marginRight={marginRight}\n marginRightXXS={marginRightXXS}\n marginRightXS={marginRightXS}\n marginRightS={marginRightS}\n marginRightM={marginRightM}\n marginRightL={marginRightL}\n marginRightXL={marginRightXL}\n marginBottom={marginBottom}\n marginBottomXXS={marginBottomXXS}\n marginBottomXS={marginBottomXS}\n marginBottomS={marginBottomS}\n marginBottomM={marginBottomM}\n marginBottomL={marginBottomL}\n marginBottomXL={marginBottomXL}\n marginLeft={marginLeft}\n marginLeftXXS={marginLeftXXS}\n marginLeftXS={marginLeftXS}\n marginLeftS={marginLeftS}\n marginLeftM={marginLeftM}\n marginLeftL={marginLeftL}\n marginLeftXL={marginLeftXL}\n className={className}\n style={style}\n contrast={contrast}\n error={error}\n inline={inline}\n disabled={disabled}\n primary={primary}\n secondary={secondary}\n success={success}\n palette={{\n color: disabled ? palette.colorDisabled : palette.color,\n backgroundColor: disabled ? palette.backgroundColorDisabled : palette.backgroundColor,\n backgroundColorHover: disabled ? palette.backgroundColorDisabled : palette.backgroundColorHover,\n borderColor: disabled ? palette.borderColorDisabled : palette.borderColor,\n }}\n onClick={() => {\n if (textareaRef.current) {\n textareaRef.current.focus()\n }\n }}\n onFocus={() => {\n setActive(true)\n }}\n onPointerDown={(evt) => {\n if (evt.target === textareaRef.current || !(evt.target instanceof Node)) {\n return\n }\n evt.preventDefault()\n }}\n onBlur={(evt) => {\n if (textareaRef.current && !evt.currentTarget.contains(evt.relatedTarget)) {\n setActive(Boolean(textareaRef.current.value))\n }\n }}\n overflow='hidden'\n input={\n <InputLabel\n {...sizeProps}\n sizes={SIZES_FORM_INPUT}\n active={active}\n label={label}\n labelId={labelId}\n labelPosition={labelPosition}\n >\n {autoRows ? <Styled.TextareaMimic ref={textareaMimicRef} rows={1} /> : null}\n <Styled.Textarea\n {...textareaProps}\n ref={textareaRef}\n aria-labelledby={label ? labelId : undefined}\n disabled={disabled}\n onChange={(evt) => {\n if (autoRows) updateAutoRowsCount()\n if (textareaProps.onChange) textareaProps.onChange(evt)\n }}\n rows={rowsVisible}\n palette={{\n color: palette.color,\n colorDisabled: palette.colorDisabled,\n placeholderColor: palette.placeholderColor,\n placeholderColorDisabled: palette.placeholderColorDisabled,\n }}\n />\n </InputLabel>\n }\n addon={\n resize ? (\n <>\n {resizing ? <Styled.ResizeGlobals cursor={cursorResize} /> : null}\n <Styled.ResizeIcon\n size='l'\n icon={<ResizeHandle />}\n color='border-onmain-default-small'\n tabIndex={0}\n onPointerDown={handleResizeStart}\n onKeyDown={handleResizeOnNudge}\n cursor={cursorResize}\n />\n </>\n ) : undefined\n }\n />\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n)\n\nexport { Textarea, COMPONENT_NAME }\n"],"names":["Textarea","withMergedProps","forwardRef","props","forwardedRef","theme","useTheme","size","rows","maxRows","labelPosition","primary","width","defaultInputControlsWidth","autosize","rounded","color","placeholderColor","autoRows","resize","contrast","inline","secondary","success","error","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","sizes","sizeUnits","margin","marginXXS","marginXS","marginS","marginM","marginL","marginXL","marginTop","marginTopXXS","marginTopXS","marginTopS","marginTopM","marginTopL","marginTopXL","marginRight","marginRightXXS","marginRightXS","marginRightS","marginRightM","marginRightL","marginRightXL","marginBottom","marginBottomXXS","marginBottomXS","marginBottomS","marginBottomM","marginBottomL","marginBottomXL","marginLeft","marginLeftXXS","marginLeftXS","marginLeftS","marginLeftM","marginLeftL","marginLeftXL","widthXXS","widthXS","widthS","widthM","widthL","widthXL","preset","palette","label","fluid","className","style","disabled","textareaProps","sizeProps","textareaRef","useRef","textareaMimicRef","formInputLabelRef","useImperativeHandle","current","resizing","handleResizeStart","handleResizeOnNudge","useResizable","target","direction","labelId","useMemo","nanoid","active","setActive","useState","valueInit","value","defaultValue","length","autoRowsCount","setAutoRowsCount","Math","min","rowsVisible","cursorResize","updateAutoRowsCount","useCallback","nextRows","max","round","scrollHeight","clientHeight","styles","getComputedStyle","lineHeight","parseFloat","paddingTop","paddingBottom","Number","isNaN","fontSize","prevRows","useLayoutEffect","document","activeElement","useEffect","handleResize","createThrottledCallback","window","addEventListener","removeEventListener","_jsx","Styled","ref","onChange","evt","FormInputLabel","colorDisabled","backgroundColor","backgroundColorDisabled","backgroundColorHover","borderColor","borderColorDisabled","onClick","focus","onFocus","onPointerDown","Node","preventDefault","onBlur","currentTarget","contains","relatedTarget","Boolean","overflow","input","_jsxs","jsxs","InputLabel","SIZES_FORM_INPUT","SIZES","children","jsx","undefined","placeholderColorDisabled","addon","_Fragment","cursor","icon","ResizeHandle","tabIndex","onKeyDown","displayName"],"mappings":"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"}