@foxford/ui 2.102.0 → 2.103.0-beta-bdca95a-20260331

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 (1002) hide show
  1. package/components/Accordion/Accordion.js +1 -1
  2. package/components/Accordion/Accordion.js.map +1 -1
  3. package/components/Accordion/Accordion.mjs +1 -1
  4. package/components/Accordion/Accordion.mjs.map +1 -1
  5. package/components/Accordion/hooks.js +1 -1
  6. package/components/Accordion/hooks.js.map +1 -1
  7. package/components/Accordion/hooks.mjs +1 -1
  8. package/components/Accordion/hooks.mjs.map +1 -1
  9. package/components/Accordion/style.js +1 -1
  10. package/components/Accordion/style.js.map +1 -1
  11. package/components/Accordion/style.mjs +1 -1
  12. package/components/Accordion/style.mjs.map +1 -1
  13. package/components/AccordionItem/AccordionItem.js +1 -1
  14. package/components/AccordionItem/AccordionItem.js.map +1 -1
  15. package/components/AccordionItem/AccordionItem.mjs +1 -1
  16. package/components/AccordionItem/AccordionItem.mjs.map +1 -1
  17. package/components/AccordionItem/style.js +1 -1
  18. package/components/AccordionItem/style.js.map +1 -1
  19. package/components/AccordionItem/style.mjs +1 -1
  20. package/components/AccordionItem/style.mjs.map +1 -1
  21. package/components/AccordionItem/useAccordionPanel.js +1 -1
  22. package/components/AccordionItem/useAccordionPanel.js.map +1 -1
  23. package/components/AccordionItem/useAccordionPanel.mjs +1 -1
  24. package/components/AccordionItem/useAccordionPanel.mjs.map +1 -1
  25. package/components/AccordionItem/useAccordionPanelProps.js.map +1 -1
  26. package/components/AccordionItem/useAccordionPanelProps.mjs.map +1 -1
  27. package/components/ActionBtn/style.js +1 -1
  28. package/components/ActionBtn/style.js.map +1 -1
  29. package/components/ActionBtn/style.mjs +1 -1
  30. package/components/ActionBtn/style.mjs.map +1 -1
  31. package/components/AddElement/AddElement.js +1 -1
  32. package/components/AddElement/AddElement.js.map +1 -1
  33. package/components/AddElement/AddElement.mjs +1 -1
  34. package/components/AddElement/AddElement.mjs.map +1 -1
  35. package/components/AddElement/style.js +1 -1
  36. package/components/AddElement/style.js.map +1 -1
  37. package/components/AddElement/style.mjs +1 -1
  38. package/components/AddElement/style.mjs.map +1 -1
  39. package/components/Alert/Alert.js +1 -1
  40. package/components/Alert/Alert.js.map +1 -1
  41. package/components/Alert/Alert.mjs +1 -1
  42. package/components/Alert/Alert.mjs.map +1 -1
  43. package/components/Alert/CountdownCircle.js +1 -1
  44. package/components/Alert/CountdownCircle.js.map +1 -1
  45. package/components/Alert/CountdownCircle.mjs +1 -1
  46. package/components/Alert/CountdownCircle.mjs.map +1 -1
  47. package/components/Alert/style.js +1 -1
  48. package/components/Alert/style.js.map +1 -1
  49. package/components/Alert/style.mjs +1 -1
  50. package/components/Alert/style.mjs.map +1 -1
  51. package/components/Alert/utils.js.map +1 -1
  52. package/components/Alert/utils.mjs.map +1 -1
  53. package/components/Amount/Amount.js.map +1 -1
  54. package/components/Amount/Amount.mjs.map +1 -1
  55. package/components/Amount/style.js +1 -1
  56. package/components/Amount/style.js.map +1 -1
  57. package/components/Amount/style.mjs +1 -1
  58. package/components/Amount/style.mjs.map +1 -1
  59. package/components/Anchor/Anchor.js +1 -1
  60. package/components/Anchor/Anchor.js.map +1 -1
  61. package/components/Anchor/Anchor.mjs +1 -1
  62. package/components/Anchor/Anchor.mjs.map +1 -1
  63. package/components/Anchor/style.js +1 -1
  64. package/components/Anchor/style.js.map +1 -1
  65. package/components/Anchor/style.mjs +1 -1
  66. package/components/Anchor/style.mjs.map +1 -1
  67. package/components/Arrow/Arrow.js +1 -1
  68. package/components/Arrow/Arrow.js.map +1 -1
  69. package/components/Arrow/Arrow.mjs +1 -1
  70. package/components/Arrow/Arrow.mjs.map +1 -1
  71. package/components/Arrow/images/chevronUpDefault.svg.js +1 -1
  72. package/components/Arrow/images/chevronUpDefault.svg.js.map +1 -1
  73. package/components/Arrow/style.js +1 -1
  74. package/components/Arrow/style.js.map +1 -1
  75. package/components/Arrow/style.mjs +1 -1
  76. package/components/Arrow/style.mjs.map +1 -1
  77. package/components/ArrowBadge/ArrowBadge.js +1 -1
  78. package/components/ArrowBadge/ArrowBadge.js.map +1 -1
  79. package/components/ArrowBadge/ArrowBadge.mjs +1 -1
  80. package/components/ArrowBadge/ArrowBadge.mjs.map +1 -1
  81. package/components/ArrowBadge/images/arrow.svg.js +1 -1
  82. package/components/ArrowBadge/images/arrow.svg.js.map +1 -1
  83. package/components/ArrowBadge/images/fancy.svg.js +1 -1
  84. package/components/ArrowBadge/images/fancy.svg.js.map +1 -1
  85. package/components/ArrowBadge/images/rectangle.svg.js +1 -1
  86. package/components/ArrowBadge/images/rectangle.svg.js.map +1 -1
  87. package/components/ArrowBadge/style.js +1 -1
  88. package/components/ArrowBadge/style.js.map +1 -1
  89. package/components/ArrowBadge/style.mjs +1 -1
  90. package/components/ArrowBadge/style.mjs.map +1 -1
  91. package/components/AspectRatio/AspectRatio.js +1 -1
  92. package/components/AspectRatio/AspectRatio.js.map +1 -1
  93. package/components/AspectRatio/AspectRatio.mjs +1 -1
  94. package/components/AspectRatio/AspectRatio.mjs.map +1 -1
  95. package/components/AspectRatio/style.js +1 -1
  96. package/components/AspectRatio/style.js.map +1 -1
  97. package/components/AspectRatio/style.mjs +1 -1
  98. package/components/AspectRatio/style.mjs.map +1 -1
  99. package/components/Avatar/Avatar.js +1 -1
  100. package/components/Avatar/Avatar.js.map +1 -1
  101. package/components/Avatar/Avatar.mjs +1 -1
  102. package/components/Avatar/Avatar.mjs.map +1 -1
  103. package/components/Avatar/sizes.js +1 -1
  104. package/components/Avatar/sizes.js.map +1 -1
  105. package/components/Avatar/sizes.mjs +1 -1
  106. package/components/Avatar/sizes.mjs.map +1 -1
  107. package/components/Avatar/style.js +1 -1
  108. package/components/Avatar/style.js.map +1 -1
  109. package/components/Avatar/style.mjs +1 -1
  110. package/components/Avatar/style.mjs.map +1 -1
  111. package/components/Avatar/utils.js +1 -1
  112. package/components/Avatar/utils.js.map +1 -1
  113. package/components/Avatar/utils.mjs +1 -1
  114. package/components/Avatar/utils.mjs.map +1 -1
  115. package/components/Badge/Badge.js +1 -1
  116. package/components/Badge/Badge.js.map +1 -1
  117. package/components/Badge/Badge.mjs +1 -1
  118. package/components/Badge/Badge.mjs.map +1 -1
  119. package/components/Badge/style.js +1 -1
  120. package/components/Badge/style.js.map +1 -1
  121. package/components/Badge/style.mjs +1 -1
  122. package/components/Badge/style.mjs.map +1 -1
  123. package/components/Button/Button.js +1 -1
  124. package/components/Button/Button.js.map +1 -1
  125. package/components/Button/Button.mjs +1 -1
  126. package/components/Button/Button.mjs.map +1 -1
  127. package/components/Button/style.js +1 -1
  128. package/components/Button/style.js.map +1 -1
  129. package/components/Button/style.mjs +1 -1
  130. package/components/Button/style.mjs.map +1 -1
  131. package/components/Checkbox/Checkbox.js +1 -1
  132. package/components/Checkbox/Checkbox.js.map +1 -1
  133. package/components/Checkbox/Checkbox.mjs +1 -1
  134. package/components/Checkbox/Checkbox.mjs.map +1 -1
  135. package/components/Checkbox/images/checkDefault.svg.js +1 -1
  136. package/components/Checkbox/images/checkDefault.svg.js.map +1 -1
  137. package/components/Checkbox/style.js +2 -2
  138. package/components/Checkbox/style.js.map +1 -1
  139. package/components/Checkbox/style.mjs +2 -2
  140. package/components/Checkbox/style.mjs.map +1 -1
  141. package/components/Chip/Chip.js +1 -1
  142. package/components/Chip/Chip.js.map +1 -1
  143. package/components/Chip/Chip.mjs +1 -1
  144. package/components/Chip/Chip.mjs.map +1 -1
  145. package/components/Chip/sizes.js +2 -0
  146. package/components/Chip/sizes.js.map +1 -0
  147. package/components/Chip/sizes.mjs +2 -0
  148. package/components/Chip/sizes.mjs.map +1 -0
  149. package/components/Chip/style.js +1 -1
  150. package/components/Chip/style.js.map +1 -1
  151. package/components/Chip/style.mjs +1 -1
  152. package/components/Chip/style.mjs.map +1 -1
  153. package/components/Container/style.js +1 -1
  154. package/components/Container/style.js.map +1 -1
  155. package/components/Container/style.mjs +1 -1
  156. package/components/Container/style.mjs.map +1 -1
  157. package/components/ContextMenu/ContextMenu.js +1 -1
  158. package/components/ContextMenu/ContextMenu.js.map +1 -1
  159. package/components/ContextMenu/ContextMenu.mjs +1 -1
  160. package/components/ContextMenu/ContextMenu.mjs.map +1 -1
  161. package/components/ContextMenu/style.js +1 -1
  162. package/components/ContextMenu/style.js.map +1 -1
  163. package/components/ContextMenu/style.mjs +1 -1
  164. package/components/ContextMenu/style.mjs.map +1 -1
  165. package/components/ContextMenu.Multilevel/ContextMenu.Multilevel.js +1 -1
  166. package/components/ContextMenu.Multilevel/ContextMenu.Multilevel.js.map +1 -1
  167. package/components/ContextMenu.Multilevel/ContextMenu.Multilevel.mjs +1 -1
  168. package/components/ContextMenu.Multilevel/ContextMenu.Multilevel.mjs.map +1 -1
  169. package/components/ContextMenu.Multilevel/style.js +1 -1
  170. package/components/ContextMenu.Multilevel/style.js.map +1 -1
  171. package/components/ContextMenu.Multilevel/style.mjs +1 -1
  172. package/components/ContextMenu.Multilevel/style.mjs.map +1 -1
  173. package/components/Dialog/Dialog.js +1 -1
  174. package/components/Dialog/Dialog.js.map +1 -1
  175. package/components/Dialog/Dialog.mjs +1 -1
  176. package/components/Dialog/Dialog.mjs.map +1 -1
  177. package/components/Dialog/style.js +1 -1
  178. package/components/Dialog/style.js.map +1 -1
  179. package/components/Dialog/style.mjs +1 -1
  180. package/components/Dialog/style.mjs.map +1 -1
  181. package/components/DialogComponent/DialogComponent.js +1 -1
  182. package/components/DialogComponent/DialogComponent.js.map +1 -1
  183. package/components/DialogComponent/DialogComponent.mjs +1 -1
  184. package/components/DialogComponent/DialogComponent.mjs.map +1 -1
  185. package/components/DialogComponent/Header.js +1 -1
  186. package/components/DialogComponent/Header.js.map +1 -1
  187. package/components/DialogComponent/Header.mjs +1 -1
  188. package/components/DialogComponent/Header.mjs.map +1 -1
  189. package/components/DialogComponent/images/dragging.svg.js +1 -1
  190. package/components/DialogComponent/images/dragging.svg.js.map +1 -1
  191. package/components/DialogComponent/style.js +1 -1
  192. package/components/DialogComponent/style.js.map +1 -1
  193. package/components/DialogComponent/style.mjs +1 -1
  194. package/components/DialogComponent/style.mjs.map +1 -1
  195. package/components/Divider/Divider.js +1 -1
  196. package/components/Divider/Divider.js.map +1 -1
  197. package/components/Divider/Divider.mjs +1 -1
  198. package/components/Divider/Divider.mjs.map +1 -1
  199. package/components/Divider/style.js +1 -1
  200. package/components/Divider/style.js.map +1 -1
  201. package/components/Divider/style.mjs +1 -1
  202. package/components/Divider/style.mjs.map +1 -1
  203. package/components/Dropdown/Dropdown.js +1 -1
  204. package/components/Dropdown/Dropdown.js.map +1 -1
  205. package/components/Dropdown/Dropdown.mjs +1 -1
  206. package/components/Dropdown/Dropdown.mjs.map +1 -1
  207. package/components/Dropdown/DropdownListItem.js +1 -1
  208. package/components/Dropdown/DropdownListItem.js.map +1 -1
  209. package/components/Dropdown/DropdownListItem.mjs +1 -1
  210. package/components/Dropdown/DropdownListItem.mjs.map +1 -1
  211. package/components/Dropdown/DropdownMenu.js +1 -1
  212. package/components/Dropdown/DropdownMenu.js.map +1 -1
  213. package/components/Dropdown/DropdownMenu.mjs +1 -1
  214. package/components/Dropdown/DropdownMenu.mjs.map +1 -1
  215. package/components/Dropdown/DropdownMenuMultiple.js +1 -1
  216. package/components/Dropdown/DropdownMenuMultiple.js.map +1 -1
  217. package/components/Dropdown/DropdownMenuMultiple.mjs +1 -1
  218. package/components/Dropdown/DropdownMenuMultiple.mjs.map +1 -1
  219. package/components/Dropdown/DropdownMenuNoOptions.js.map +1 -1
  220. package/components/Dropdown/DropdownMenuNoOptions.mjs.map +1 -1
  221. package/components/Dropdown/DropdownMenuSingle.js +1 -1
  222. package/components/Dropdown/DropdownMenuSingle.js.map +1 -1
  223. package/components/Dropdown/DropdownMenuSingle.mjs +1 -1
  224. package/components/Dropdown/DropdownMenuSingle.mjs.map +1 -1
  225. package/components/Dropdown/hooks.js +1 -1
  226. package/components/Dropdown/hooks.js.map +1 -1
  227. package/components/Dropdown/hooks.mjs +1 -1
  228. package/components/Dropdown/hooks.mjs.map +1 -1
  229. package/components/Dropdown/renderDropdownOptionsList.js +1 -1
  230. package/components/Dropdown/renderDropdownOptionsList.js.map +1 -1
  231. package/components/Dropdown/renderDropdownOptionsList.mjs +1 -1
  232. package/components/Dropdown/renderDropdownOptionsList.mjs.map +1 -1
  233. package/components/Dropdown/style.js +1 -1
  234. package/components/Dropdown/style.js.map +1 -1
  235. package/components/Dropdown/style.mjs +1 -1
  236. package/components/Dropdown/style.mjs.map +1 -1
  237. package/components/Dropdown/utils.js +1 -1
  238. package/components/Dropdown/utils.js.map +1 -1
  239. package/components/Dropdown/utils.mjs +1 -1
  240. package/components/Dropdown/utils.mjs.map +1 -1
  241. package/components/FormInput/FormInput.js +1 -1
  242. package/components/FormInput/FormInput.js.map +1 -1
  243. package/components/FormInput/FormInput.mjs +1 -1
  244. package/components/FormInput/FormInput.mjs.map +1 -1
  245. package/components/FormInput/style.js +1 -1
  246. package/components/FormInput/style.js.map +1 -1
  247. package/components/FormInput/style.mjs +1 -1
  248. package/components/FormInput/style.mjs.map +1 -1
  249. package/components/FormInputLabel/FormInputLabel.js +1 -1
  250. package/components/FormInputLabel/FormInputLabel.js.map +1 -1
  251. package/components/FormInputLabel/FormInputLabel.mjs +1 -1
  252. package/components/FormInputLabel/FormInputLabel.mjs.map +1 -1
  253. package/components/FormInputLabel/style.js +1 -1
  254. package/components/FormInputLabel/style.js.map +1 -1
  255. package/components/FormInputLabel/style.mjs +1 -1
  256. package/components/FormInputLabel/style.mjs.map +1 -1
  257. package/components/FormLabel/FormLabel.js +1 -1
  258. package/components/FormLabel/FormLabel.js.map +1 -1
  259. package/components/FormLabel/FormLabel.mjs +1 -1
  260. package/components/FormLabel/FormLabel.mjs.map +1 -1
  261. package/components/FormLabel/constants.js +1 -1
  262. package/components/FormLabel/constants.js.map +1 -1
  263. package/components/FormLabel/constants.mjs +1 -1
  264. package/components/FormLabel/constants.mjs.map +1 -1
  265. package/components/FormLabel/style.js +1 -1
  266. package/components/FormLabel/style.js.map +1 -1
  267. package/components/FormLabel/style.mjs +1 -1
  268. package/components/FormLabel/style.mjs.map +1 -1
  269. package/components/Icon/Icon.js +1 -1
  270. package/components/Icon/Icon.js.map +1 -1
  271. package/components/Icon/Icon.mjs +1 -1
  272. package/components/Icon/Icon.mjs.map +1 -1
  273. package/components/Icon/iconPack.js +1 -1
  274. package/components/Icon/iconPack.js.map +1 -1
  275. package/components/Icon/iconPack.mjs +1 -1
  276. package/components/Icon/iconPack.mjs.map +1 -1
  277. package/components/Icon/images/blackBoard_default.svg.js +1 -1
  278. package/components/Icon/images/blackBoard_default.svg.js.map +1 -1
  279. package/components/Icon/images/book_default.svg.js +1 -1
  280. package/components/Icon/images/book_default.svg.js.map +1 -1
  281. package/components/Icon/images/burger_default.svg.js +1 -1
  282. package/components/Icon/images/burger_default.svg.js.map +1 -1
  283. package/components/Icon/images/calendar_default.svg.js +1 -1
  284. package/components/Icon/images/calendar_default.svg.js.map +1 -1
  285. package/components/Icon/images/calendar_simple_default.svg.js +1 -1
  286. package/components/Icon/images/calendar_simple_default.svg.js.map +1 -1
  287. package/components/Icon/images/camps_default.svg.js +1 -1
  288. package/components/Icon/images/camps_default.svg.js.map +1 -1
  289. package/components/Icon/images/cancel_default.svg.js +1 -1
  290. package/components/Icon/images/cancel_default.svg.js.map +1 -1
  291. package/components/Icon/images/cart_default.svg.js +1 -1
  292. package/components/Icon/images/cart_default.svg.js.map +1 -1
  293. package/components/Icon/images/checkCircle_default.svg.js +1 -1
  294. package/components/Icon/images/checkCircle_default.svg.js.map +1 -1
  295. package/components/Icon/images/check_default.svg.js +1 -1
  296. package/components/Icon/images/check_default.svg.js.map +1 -1
  297. package/components/Icon/images/chevronDown_default.svg.js +1 -1
  298. package/components/Icon/images/chevronDown_default.svg.js.map +1 -1
  299. package/components/Icon/images/chevronLeft_default.svg.js +1 -1
  300. package/components/Icon/images/chevronLeft_default.svg.js.map +1 -1
  301. package/components/Icon/images/chevronRight_default.svg.js +1 -1
  302. package/components/Icon/images/chevronRight_default.svg.js.map +1 -1
  303. package/components/Icon/images/chevronUp_default.svg.js +1 -1
  304. package/components/Icon/images/chevronUp_default.svg.js.map +1 -1
  305. package/components/Icon/images/clockFilled_default.svg.js +1 -1
  306. package/components/Icon/images/clockFilled_default.svg.js.map +1 -1
  307. package/components/Icon/images/clock_default.svg.js +1 -1
  308. package/components/Icon/images/clock_default.svg.js.map +1 -1
  309. package/components/Icon/images/coins_default.svg.js +1 -1
  310. package/components/Icon/images/coins_default.svg.js.map +1 -1
  311. package/components/Icon/images/copy_default.svg.js +1 -1
  312. package/components/Icon/images/copy_default.svg.js.map +1 -1
  313. package/components/Icon/images/courses_default.svg.js +1 -1
  314. package/components/Icon/images/courses_default.svg.js.map +1 -1
  315. package/components/Icon/images/cross_default.svg.js +1 -1
  316. package/components/Icon/images/cross_default.svg.js.map +1 -1
  317. package/components/Icon/images/dialog_default.svg.js +1 -1
  318. package/components/Icon/images/dialog_default.svg.js.map +1 -1
  319. package/components/Icon/images/diamondFilled_default.svg.js +1 -1
  320. package/components/Icon/images/diamondFilled_default.svg.js.map +1 -1
  321. package/components/Icon/images/diamond_default.svg.js +1 -1
  322. package/components/Icon/images/diamond_default.svg.js.map +1 -1
  323. package/components/Icon/images/discount_default.svg.js +1 -1
  324. package/components/Icon/images/discount_default.svg.js.map +1 -1
  325. package/components/Icon/images/document_default.svg.js +1 -1
  326. package/components/Icon/images/document_default.svg.js.map +1 -1
  327. package/components/Icon/images/dropDownArrow_default.svg.js +1 -1
  328. package/components/Icon/images/dropDownArrow_default.svg.js.map +1 -1
  329. package/components/Icon/images/edit_default.svg.js +1 -1
  330. package/components/Icon/images/edit_default.svg.js.map +1 -1
  331. package/components/Icon/images/email_default.svg.js +1 -1
  332. package/components/Icon/images/email_default.svg.js.map +1 -1
  333. package/components/Icon/images/externalLink_default.svg.js +1 -1
  334. package/components/Icon/images/externalLink_default.svg.js.map +1 -1
  335. package/components/Icon/images/externat_default.svg.js +1 -1
  336. package/components/Icon/images/externat_default.svg.js.map +1 -1
  337. package/components/Icon/images/eye_default.svg.js +1 -1
  338. package/components/Icon/images/eye_default.svg.js.map +1 -1
  339. package/components/Icon/images/fileBordered_default.svg.js +1 -1
  340. package/components/Icon/images/fileBordered_default.svg.js.map +1 -1
  341. package/components/Icon/images/file_default.svg.js +1 -1
  342. package/components/Icon/images/file_default.svg.js.map +1 -1
  343. package/components/Icon/images/fire_default.svg.js +1 -1
  344. package/components/Icon/images/fire_default.svg.js.map +1 -1
  345. package/components/Icon/images/headphones_default.svg.js +1 -1
  346. package/components/Icon/images/headphones_default.svg.js.map +1 -1
  347. package/components/Icon/images/home_default.svg.js +1 -1
  348. package/components/Icon/images/home_default.svg.js.map +1 -1
  349. package/components/Icon/images/infoInverse_default.svg.js +1 -1
  350. package/components/Icon/images/infoInverse_default.svg.js.map +1 -1
  351. package/components/Icon/images/info_default.svg.js +1 -1
  352. package/components/Icon/images/info_default.svg.js.map +1 -1
  353. package/components/Icon/images/lessons_default.svg.js +1 -1
  354. package/components/Icon/images/lessons_default.svg.js.map +1 -1
  355. package/components/Icon/images/list_default.svg.js +1 -1
  356. package/components/Icon/images/list_default.svg.js.map +1 -1
  357. package/components/Icon/images/login_default.svg.js +1 -1
  358. package/components/Icon/images/login_default.svg.js.map +1 -1
  359. package/components/Icon/images/logout_default.svg.js +1 -1
  360. package/components/Icon/images/logout_default.svg.js.map +1 -1
  361. package/components/Icon/images/message_default.svg.js +1 -1
  362. package/components/Icon/images/message_default.svg.js.map +1 -1
  363. package/components/Icon/images/objective_default.svg.js +1 -1
  364. package/components/Icon/images/objective_default.svg.js.map +1 -1
  365. package/components/Icon/images/page_default.svg.js +1 -1
  366. package/components/Icon/images/page_default.svg.js.map +1 -1
  367. package/components/Icon/images/pencil_default.svg.js +1 -1
  368. package/components/Icon/images/pencil_default.svg.js.map +1 -1
  369. package/components/Icon/images/person_default.svg.js +1 -1
  370. package/components/Icon/images/person_default.svg.js.map +1 -1
  371. package/components/Icon/images/phoneNoFill_default.svg.js +1 -1
  372. package/components/Icon/images/phoneNoFill_default.svg.js.map +1 -1
  373. package/components/Icon/images/phone_default.svg.js +1 -1
  374. package/components/Icon/images/phone_default.svg.js.map +1 -1
  375. package/components/Icon/images/playPause_default.svg.js +1 -1
  376. package/components/Icon/images/playPause_default.svg.js.map +1 -1
  377. package/components/Icon/images/play_default.svg.js +1 -1
  378. package/components/Icon/images/play_default.svg.js.map +1 -1
  379. package/components/Icon/images/plusThin_default.svg.js +1 -1
  380. package/components/Icon/images/plusThin_default.svg.js.map +1 -1
  381. package/components/Icon/images/plus_default.svg.js +1 -1
  382. package/components/Icon/images/plus_default.svg.js.map +1 -1
  383. package/components/Icon/images/present_default.svg.js +1 -1
  384. package/components/Icon/images/present_default.svg.js.map +1 -1
  385. package/components/Icon/images/priceTag_default.svg.js +1 -1
  386. package/components/Icon/images/priceTag_default.svg.js.map +1 -1
  387. package/components/Icon/images/print_default.svg.js +1 -1
  388. package/components/Icon/images/print_default.svg.js.map +1 -1
  389. package/components/Icon/images/prof_default.svg.js +1 -1
  390. package/components/Icon/images/prof_default.svg.js.map +1 -1
  391. package/components/Icon/images/questionFilled_default.svg.js +1 -1
  392. package/components/Icon/images/questionFilled_default.svg.js.map +1 -1
  393. package/components/Icon/images/radioChecked_default.svg.js +1 -1
  394. package/components/Icon/images/radioChecked_default.svg.js.map +1 -1
  395. package/components/Icon/images/radioNotChecked_default.svg.js +1 -1
  396. package/components/Icon/images/radioNotChecked_default.svg.js.map +1 -1
  397. package/components/Icon/images/reload_default.svg.js +1 -1
  398. package/components/Icon/images/reload_default.svg.js.map +1 -1
  399. package/components/Icon/images/search_default.svg.js +1 -1
  400. package/components/Icon/images/search_default.svg.js.map +1 -1
  401. package/components/Icon/images/settings_default.svg.js +1 -1
  402. package/components/Icon/images/settings_default.svg.js.map +1 -1
  403. package/components/Icon/images/sharpCross_default.svg.js +1 -1
  404. package/components/Icon/images/sharpCross_default.svg.js.map +1 -1
  405. package/components/Icon/images/sort_default.svg.js +1 -1
  406. package/components/Icon/images/sort_default.svg.js.map +1 -1
  407. package/components/Icon/images/star_default.svg.js +1 -1
  408. package/components/Icon/images/star_default.svg.js.map +1 -1
  409. package/components/Icon/images/student_default.svg.js +1 -1
  410. package/components/Icon/images/student_default.svg.js.map +1 -1
  411. package/components/Icon/images/target_default.svg.js +1 -1
  412. package/components/Icon/images/target_default.svg.js.map +1 -1
  413. package/components/Icon/images/tasks_default.svg.js +1 -1
  414. package/components/Icon/images/tasks_default.svg.js.map +1 -1
  415. package/components/Icon/images/textbook_default.svg.js +1 -1
  416. package/components/Icon/images/textbook_default.svg.js.map +1 -1
  417. package/components/Icon/images/tinyCross_default.svg.js +1 -1
  418. package/components/Icon/images/tinyCross_default.svg.js.map +1 -1
  419. package/components/Icon/images/trophy_default.svg.js +1 -1
  420. package/components/Icon/images/trophy_default.svg.js.map +1 -1
  421. package/components/Icon/images/unsort_default.svg.js +1 -1
  422. package/components/Icon/images/unsort_default.svg.js.map +1 -1
  423. package/components/Icon/images/video_default.svg.js +1 -1
  424. package/components/Icon/images/video_default.svg.js.map +1 -1
  425. package/components/Icon/images/wallet_default.svg.js +1 -1
  426. package/components/Icon/images/wallet_default.svg.js.map +1 -1
  427. package/components/Icon/style.js +1 -1
  428. package/components/Icon/style.js.map +1 -1
  429. package/components/Icon/style.mjs +1 -1
  430. package/components/Icon/style.mjs.map +1 -1
  431. package/components/IconButton/IconButton.js +1 -1
  432. package/components/IconButton/IconButton.js.map +1 -1
  433. package/components/IconButton/IconButton.mjs +1 -1
  434. package/components/IconButton/IconButton.mjs.map +1 -1
  435. package/components/IconButton/sizes.js +1 -1
  436. package/components/IconButton/sizes.js.map +1 -1
  437. package/components/IconButton/sizes.mjs +1 -1
  438. package/components/IconButton/sizes.mjs.map +1 -1
  439. package/components/IconButton/style.js +1 -1
  440. package/components/IconButton/style.js.map +1 -1
  441. package/components/IconButton/style.mjs +1 -1
  442. package/components/IconButton/style.mjs.map +1 -1
  443. package/components/Indicator/Indicator.js +1 -1
  444. package/components/Indicator/Indicator.js.map +1 -1
  445. package/components/Indicator/Indicator.mjs +1 -1
  446. package/components/Indicator/Indicator.mjs.map +1 -1
  447. package/components/Indicator/constants.js +1 -1
  448. package/components/Indicator/constants.js.map +1 -1
  449. package/components/Indicator/constants.mjs +1 -1
  450. package/components/Indicator/constants.mjs.map +1 -1
  451. package/components/Indicator/style.js +1 -1
  452. package/components/Indicator/style.js.map +1 -1
  453. package/components/Indicator/style.mjs +1 -1
  454. package/components/Indicator/style.mjs.map +1 -1
  455. package/components/Input/Input.js +1 -1
  456. package/components/Input/Input.js.map +1 -1
  457. package/components/Input/Input.mjs +1 -1
  458. package/components/Input/Input.mjs.map +1 -1
  459. package/components/Input/style.js +1 -1
  460. package/components/Input/style.js.map +1 -1
  461. package/components/Input/style.mjs +1 -1
  462. package/components/Input/style.mjs.map +1 -1
  463. package/components/Input.Phone/Input.Phone.js.map +1 -1
  464. package/components/Input.Phone/Input.Phone.mjs.map +1 -1
  465. package/components/InputCheckbox/InputCheckbox.js +1 -1
  466. package/components/InputCheckbox/InputCheckbox.js.map +1 -1
  467. package/components/InputCheckbox/InputCheckbox.mjs +1 -1
  468. package/components/InputCheckbox/InputCheckbox.mjs.map +1 -1
  469. package/components/InputCheckbox/style.js +1 -1
  470. package/components/InputCheckbox/style.js.map +1 -1
  471. package/components/InputCheckbox/style.mjs +1 -1
  472. package/components/InputCheckbox/style.mjs.map +1 -1
  473. package/components/InputLabel/InputLabel.js +1 -1
  474. package/components/InputLabel/InputLabel.js.map +1 -1
  475. package/components/InputLabel/InputLabel.mjs +1 -1
  476. package/components/InputLabel/InputLabel.mjs.map +1 -1
  477. package/components/InputLabel/style.js +1 -1
  478. package/components/InputLabel/style.js.map +1 -1
  479. package/components/InputLabel/style.mjs +1 -1
  480. package/components/InputLabel/style.mjs.map +1 -1
  481. package/components/InputRadio/InputRadio.js +1 -1
  482. package/components/InputRadio/InputRadio.js.map +1 -1
  483. package/components/InputRadio/InputRadio.mjs +1 -1
  484. package/components/InputRadio/InputRadio.mjs.map +1 -1
  485. package/components/InputRadio/style.js +1 -1
  486. package/components/InputRadio/style.js.map +1 -1
  487. package/components/InputRadio/style.mjs +1 -1
  488. package/components/InputRadio/style.mjs.map +1 -1
  489. package/components/ListItem/ListItem.js +1 -1
  490. package/components/ListItem/ListItem.js.map +1 -1
  491. package/components/ListItem/ListItem.mjs +1 -1
  492. package/components/ListItem/ListItem.mjs.map +1 -1
  493. package/components/ListItem/sizes.js +2 -0
  494. package/components/ListItem/sizes.js.map +1 -0
  495. package/components/ListItem/sizes.mjs +2 -0
  496. package/components/ListItem/sizes.mjs.map +1 -0
  497. package/components/ListItem/style.js +1 -1
  498. package/components/ListItem/style.js.map +1 -1
  499. package/components/ListItem/style.mjs +1 -1
  500. package/components/ListItem/style.mjs.map +1 -1
  501. package/components/Media/Media.js +1 -1
  502. package/components/Media/Media.js.map +1 -1
  503. package/components/Media/Media.mjs +1 -1
  504. package/components/Media/Media.mjs.map +1 -1
  505. package/components/Media/MediaMatcher.js +1 -1
  506. package/components/Media/MediaMatcher.js.map +1 -1
  507. package/components/Media/MediaMatcher.mjs +1 -1
  508. package/components/Media/MediaMatcher.mjs.map +1 -1
  509. package/components/Media/MediaMatchers.js.map +1 -1
  510. package/components/Media/MediaMatchers.mjs.map +1 -1
  511. package/components/Media/context.js.map +1 -1
  512. package/components/Media/context.mjs.map +1 -1
  513. package/components/Media/useMediaConnector.js +1 -1
  514. package/components/Media/useMediaConnector.js.map +1 -1
  515. package/components/Media/useMediaConnector.mjs +1 -1
  516. package/components/Media/useMediaConnector.mjs.map +1 -1
  517. package/components/Menu/Menu.js +1 -1
  518. package/components/Menu/Menu.js.map +1 -1
  519. package/components/Menu/Menu.mjs +1 -1
  520. package/components/Menu/Menu.mjs.map +1 -1
  521. package/components/MenuComponent/MenuComponent.js +1 -1
  522. package/components/MenuComponent/MenuComponent.js.map +1 -1
  523. package/components/MenuComponent/MenuComponent.mjs +1 -1
  524. package/components/MenuComponent/MenuComponent.mjs.map +1 -1
  525. package/components/MenuComponent/style.js +1 -1
  526. package/components/MenuComponent/style.js.map +1 -1
  527. package/components/MenuComponent/style.mjs +1 -1
  528. package/components/MenuComponent/style.mjs.map +1 -1
  529. package/components/MenuContainer/MenuContainer.js +1 -1
  530. package/components/MenuContainer/MenuContainer.js.map +1 -1
  531. package/components/MenuContainer/MenuContainer.mjs +1 -1
  532. package/components/MenuContainer/MenuContainer.mjs.map +1 -1
  533. package/components/MenuDivider/MenuDivider.js +1 -1
  534. package/components/MenuDivider/MenuDivider.js.map +1 -1
  535. package/components/MenuDivider/MenuDivider.mjs +1 -1
  536. package/components/MenuDivider/MenuDivider.mjs.map +1 -1
  537. package/components/MenuDivider/style.js +1 -1
  538. package/components/MenuDivider/style.js.map +1 -1
  539. package/components/MenuDivider/style.mjs +1 -1
  540. package/components/MenuDivider/style.mjs.map +1 -1
  541. package/components/MenuList/MenuList.js +1 -1
  542. package/components/MenuList/MenuList.js.map +1 -1
  543. package/components/MenuList/MenuList.mjs +1 -1
  544. package/components/MenuList/MenuList.mjs.map +1 -1
  545. package/components/MenuList/style.js +1 -1
  546. package/components/MenuList/style.js.map +1 -1
  547. package/components/MenuList/style.mjs +1 -1
  548. package/components/MenuList/style.mjs.map +1 -1
  549. package/components/Modal/adapter.js.map +1 -1
  550. package/components/Modal/adapter.mjs.map +1 -1
  551. package/components/Modal/images/tinyCrossDefault.svg.js +1 -1
  552. package/components/Modal/images/tinyCrossDefault.svg.js.map +1 -1
  553. package/components/Modal/style.js +1 -1
  554. package/components/Modal/style.js.map +1 -1
  555. package/components/Modal/style.mjs +1 -1
  556. package/components/Modal/style.mjs.map +1 -1
  557. package/components/Notification/Notification.js +1 -1
  558. package/components/Notification/Notification.js.map +1 -1
  559. package/components/Notification/Notification.mjs +1 -1
  560. package/components/Notification/Notification.mjs.map +1 -1
  561. package/components/Notification/style.js +1 -1
  562. package/components/Notification/style.js.map +1 -1
  563. package/components/Notification/style.mjs +1 -1
  564. package/components/Notification/style.mjs.map +1 -1
  565. package/components/Paper/style.js +1 -1
  566. package/components/Paper/style.js.map +1 -1
  567. package/components/Paper/style.mjs +1 -1
  568. package/components/Paper/style.mjs.map +1 -1
  569. package/components/Popover/Popover.js +1 -1
  570. package/components/Popover/Popover.js.map +1 -1
  571. package/components/Popover/Popover.mjs +1 -1
  572. package/components/Popover/Popover.mjs.map +1 -1
  573. package/components/PopoverComponent/PopoverComponent.js +1 -1
  574. package/components/PopoverComponent/PopoverComponent.js.map +1 -1
  575. package/components/PopoverComponent/PopoverComponent.mjs +1 -1
  576. package/components/PopoverComponent/PopoverComponent.mjs.map +1 -1
  577. package/components/PopoverComponent/style.js +1 -1
  578. package/components/PopoverComponent/style.js.map +1 -1
  579. package/components/PopoverComponent/style.mjs +1 -1
  580. package/components/PopoverComponent/style.mjs.map +1 -1
  581. package/components/Progress/style.js +1 -1
  582. package/components/Progress/style.js.map +1 -1
  583. package/components/Progress/style.mjs +1 -1
  584. package/components/Progress/style.mjs.map +1 -1
  585. package/components/Progress.Circle/Progress.Circle.js.map +1 -1
  586. package/components/Progress.Circle/Progress.Circle.mjs.map +1 -1
  587. package/components/Progress.Circle/style.js +1 -1
  588. package/components/Progress.Circle/style.js.map +1 -1
  589. package/components/Progress.Circle/style.mjs +1 -1
  590. package/components/Progress.Circle/style.mjs.map +1 -1
  591. package/components/Progress.Segmented/Progress.Segmented.js +1 -1
  592. package/components/Progress.Segmented/Progress.Segmented.js.map +1 -1
  593. package/components/Progress.Segmented/Progress.Segmented.mjs +1 -1
  594. package/components/Progress.Segmented/Progress.Segmented.mjs.map +1 -1
  595. package/components/Progress.Segmented/style.js +1 -1
  596. package/components/Progress.Segmented/style.js.map +1 -1
  597. package/components/Progress.Segmented/style.mjs +1 -1
  598. package/components/Progress.Segmented/style.mjs.map +1 -1
  599. package/components/ProgressCircle/ProgressCircle.js +1 -1
  600. package/components/ProgressCircle/ProgressCircle.js.map +1 -1
  601. package/components/ProgressCircle/ProgressCircle.mjs +1 -1
  602. package/components/ProgressCircle/ProgressCircle.mjs.map +1 -1
  603. package/components/ProgressCircle/style.js +1 -1
  604. package/components/ProgressCircle/style.js.map +1 -1
  605. package/components/ProgressCircle/style.mjs +1 -1
  606. package/components/ProgressCircle/style.mjs.map +1 -1
  607. package/components/ProgressLine/ProgressLine.js +1 -1
  608. package/components/ProgressLine/ProgressLine.js.map +1 -1
  609. package/components/ProgressLine/ProgressLine.mjs +1 -1
  610. package/components/ProgressLine/ProgressLine.mjs.map +1 -1
  611. package/components/ProgressLine/style.js +1 -1
  612. package/components/ProgressLine/style.js.map +1 -1
  613. package/components/ProgressLine/style.mjs +1 -1
  614. package/components/ProgressLine/style.mjs.map +1 -1
  615. package/components/Radio/style.js +2 -2
  616. package/components/Radio/style.js.map +1 -1
  617. package/components/Radio/style.mjs +2 -2
  618. package/components/Radio/style.mjs.map +1 -1
  619. package/components/Scrollable/Scrollable.js.map +1 -1
  620. package/components/Scrollable/Scrollable.mjs.map +1 -1
  621. package/components/Section/style.js +1 -1
  622. package/components/Section/style.js.map +1 -1
  623. package/components/Section/style.mjs +1 -1
  624. package/components/Section/style.mjs.map +1 -1
  625. package/components/Select/style.js +1 -1
  626. package/components/Select/style.js.map +1 -1
  627. package/components/Select/style.mjs +1 -1
  628. package/components/Select/style.mjs.map +1 -1
  629. package/components/Separator/style.js +1 -1
  630. package/components/Separator/style.js.map +1 -1
  631. package/components/Separator/style.mjs +1 -1
  632. package/components/Separator/style.mjs.map +1 -1
  633. package/components/Skeleton/Skeleton.js +1 -1
  634. package/components/Skeleton/Skeleton.js.map +1 -1
  635. package/components/Skeleton/Skeleton.mjs +1 -1
  636. package/components/Skeleton/Skeleton.mjs.map +1 -1
  637. package/components/Skeleton/style.js +1 -1
  638. package/components/Skeleton/style.js.map +1 -1
  639. package/components/Skeleton/style.mjs +1 -1
  640. package/components/Skeleton/style.mjs.map +1 -1
  641. package/components/Slot/Slot.js +1 -1
  642. package/components/Slot/Slot.js.map +1 -1
  643. package/components/Slot/Slot.mjs +1 -1
  644. package/components/Slot/Slot.mjs.map +1 -1
  645. package/components/Spacer/style.js +1 -1
  646. package/components/Spacer/style.js.map +1 -1
  647. package/components/Spacer/style.mjs +1 -1
  648. package/components/Spacer/style.mjs.map +1 -1
  649. package/components/Spinner/style.js +1 -1
  650. package/components/Spinner/style.js.map +1 -1
  651. package/components/Spinner/style.mjs +1 -1
  652. package/components/Spinner/style.mjs.map +1 -1
  653. package/components/Switch/Knob.js +1 -1
  654. package/components/Switch/Knob.js.map +1 -1
  655. package/components/Switch/Knob.mjs +1 -1
  656. package/components/Switch/Knob.mjs.map +1 -1
  657. package/components/Switch/Switch.js +1 -1
  658. package/components/Switch/Switch.js.map +1 -1
  659. package/components/Switch/Switch.mjs +1 -1
  660. package/components/Switch/Switch.mjs.map +1 -1
  661. package/components/Switch/style.js +1 -1
  662. package/components/Switch/style.js.map +1 -1
  663. package/components/Switch/style.mjs +1 -1
  664. package/components/Switch/style.mjs.map +1 -1
  665. package/components/Switcher/Switcher.js +1 -1
  666. package/components/Switcher/Switcher.js.map +1 -1
  667. package/components/Switcher/Switcher.mjs +1 -1
  668. package/components/Switcher/Switcher.mjs.map +1 -1
  669. package/components/Switcher/style.js +1 -1
  670. package/components/Switcher/style.js.map +1 -1
  671. package/components/Switcher/style.mjs +1 -1
  672. package/components/Switcher/style.mjs.map +1 -1
  673. package/components/Tab/Tab.js +1 -1
  674. package/components/Tab/Tab.js.map +1 -1
  675. package/components/Tab/Tab.mjs +1 -1
  676. package/components/Tab/Tab.mjs.map +1 -1
  677. package/components/Tab/images/arrow.svg.js +1 -1
  678. package/components/Tab/images/arrow.svg.js.map +1 -1
  679. package/components/Tab/style.js +1 -1
  680. package/components/Tab/style.js.map +1 -1
  681. package/components/Tab/style.mjs +1 -1
  682. package/components/Tab/style.mjs.map +1 -1
  683. package/components/TabList/TabList.js +1 -1
  684. package/components/TabList/TabList.js.map +1 -1
  685. package/components/TabList/TabList.mjs +1 -1
  686. package/components/TabList/TabList.mjs.map +1 -1
  687. package/components/TabList/TabListMenuTab.js +1 -1
  688. package/components/TabList/TabListMenuTab.js.map +1 -1
  689. package/components/TabList/TabListMenuTab.mjs +1 -1
  690. package/components/TabList/TabListMenuTab.mjs.map +1 -1
  691. package/components/TabList/TabListPanel.js +1 -1
  692. package/components/TabList/TabListPanel.js.map +1 -1
  693. package/components/TabList/TabListPanel.mjs +1 -1
  694. package/components/TabList/TabListPanel.mjs.map +1 -1
  695. package/components/TabList/hooks.js +1 -1
  696. package/components/TabList/hooks.js.map +1 -1
  697. package/components/TabList/hooks.mjs +1 -1
  698. package/components/TabList/hooks.mjs.map +1 -1
  699. package/components/TabList/style.js +1 -1
  700. package/components/TabList/style.js.map +1 -1
  701. package/components/TabList/style.mjs +1 -1
  702. package/components/TabList/style.mjs.map +1 -1
  703. package/components/TabListTab/TabListTab.js +1 -1
  704. package/components/TabListTab/TabListTab.js.map +1 -1
  705. package/components/TabListTab/TabListTab.mjs +1 -1
  706. package/components/TabListTab/TabListTab.mjs.map +1 -1
  707. package/components/TabListTab/hooks.js.map +1 -1
  708. package/components/TabListTab/hooks.mjs.map +1 -1
  709. package/components/TabListTab/style.js +1 -1
  710. package/components/TabListTab/style.js.map +1 -1
  711. package/components/TabListTab/style.mjs +1 -1
  712. package/components/TabListTab/style.mjs.map +1 -1
  713. package/components/Tabs/style.js +1 -1
  714. package/components/Tabs/style.js.map +1 -1
  715. package/components/Tabs/style.mjs +1 -1
  716. package/components/Tabs/style.mjs.map +1 -1
  717. package/components/Tag/style.js +1 -1
  718. package/components/Tag/style.js.map +1 -1
  719. package/components/Tag/style.mjs +1 -1
  720. package/components/Tag/style.mjs.map +1 -1
  721. package/components/Text/Ellipsis.js +1 -1
  722. package/components/Text/Ellipsis.js.map +1 -1
  723. package/components/Text/Ellipsis.mjs +1 -1
  724. package/components/Text/Ellipsis.mjs.map +1 -1
  725. package/components/Text/Text.js +1 -1
  726. package/components/Text/Text.js.map +1 -1
  727. package/components/Text/Text.mjs +1 -1
  728. package/components/Text/Text.mjs.map +1 -1
  729. package/components/Text/style.js +1 -1
  730. package/components/Text/style.js.map +1 -1
  731. package/components/Text/style.mjs +1 -1
  732. package/components/Text/style.mjs.map +1 -1
  733. package/components/Text.Ellipse/Text.Ellipse.js +1 -1
  734. package/components/Text.Ellipse/Text.Ellipse.js.map +1 -1
  735. package/components/Text.Ellipse/Text.Ellipse.mjs +1 -1
  736. package/components/Text.Ellipse/Text.Ellipse.mjs.map +1 -1
  737. package/components/Text.Heading/Text.Heading.js.map +1 -1
  738. package/components/Text.Heading/Text.Heading.mjs.map +1 -1
  739. package/components/Textarea/Textarea.js +1 -1
  740. package/components/Textarea/Textarea.js.map +1 -1
  741. package/components/Textarea/Textarea.mjs +1 -1
  742. package/components/Textarea/Textarea.mjs.map +1 -1
  743. package/components/Textarea/style.js +1 -1
  744. package/components/Textarea/style.js.map +1 -1
  745. package/components/Textarea/style.mjs +1 -1
  746. package/components/Textarea/style.mjs.map +1 -1
  747. package/components/Tooltip/Tooltip.js +1 -1
  748. package/components/Tooltip/Tooltip.js.map +1 -1
  749. package/components/Tooltip/Tooltip.mjs +1 -1
  750. package/components/Tooltip/Tooltip.mjs.map +1 -1
  751. package/components/Tooltip/TooltipWrapper.js +1 -1
  752. package/components/Tooltip/TooltipWrapper.js.map +1 -1
  753. package/components/Tooltip/TooltipWrapper.mjs +1 -1
  754. package/components/Tooltip/TooltipWrapper.mjs.map +1 -1
  755. package/components/TooltipComponent/TooltipComponent.js +1 -1
  756. package/components/TooltipComponent/TooltipComponent.js.map +1 -1
  757. package/components/TooltipComponent/TooltipComponent.mjs +1 -1
  758. package/components/TooltipComponent/TooltipComponent.mjs.map +1 -1
  759. package/components/TooltipComponent/sizes.js +2 -0
  760. package/components/TooltipComponent/sizes.js.map +1 -0
  761. package/components/TooltipComponent/sizes.mjs +2 -0
  762. package/components/TooltipComponent/sizes.mjs.map +1 -0
  763. package/components/TooltipComponent/style.js +1 -1
  764. package/components/TooltipComponent/style.js.map +1 -1
  765. package/components/TooltipComponent/style.mjs +1 -1
  766. package/components/TooltipComponent/style.mjs.map +1 -1
  767. package/dts/index.d.ts +833 -460
  768. package/hocs/withMergedProps.js +1 -1
  769. package/hocs/withMergedProps.js.map +1 -1
  770. package/hocs/withMergedProps.mjs +1 -1
  771. package/hocs/withMergedProps.mjs.map +1 -1
  772. package/hocs/withTranslation.js +1 -1
  773. package/hocs/withTranslation.js.map +1 -1
  774. package/hocs/withTranslation.mjs +1 -1
  775. package/hocs/withTranslation.mjs.map +1 -1
  776. package/hooks/use-config-priority.js +1 -1
  777. package/hooks/use-config-priority.js.map +1 -1
  778. package/hooks/use-config-priority.mjs +1 -1
  779. package/hooks/use-config-priority.mjs.map +1 -1
  780. package/hooks/useClickOutside.js +1 -1
  781. package/hooks/useClickOutside.js.map +1 -1
  782. package/hooks/useClickOutside.mjs +1 -1
  783. package/hooks/useClickOutside.mjs.map +1 -1
  784. package/hooks/useFloaterPortal.js +1 -1
  785. package/hooks/useFloaterPortal.js.map +1 -1
  786. package/hooks/useFloaterPortal.mjs +1 -1
  787. package/hooks/useFloaterPortal.mjs.map +1 -1
  788. package/hooks/useKeyboardListener.js +1 -1
  789. package/hooks/useKeyboardListener.js.map +1 -1
  790. package/hooks/useKeyboardListener.mjs +1 -1
  791. package/hooks/useKeyboardListener.mjs.map +1 -1
  792. package/hooks/useMergedPalette.js +1 -1
  793. package/hooks/useMergedPalette.js.map +1 -1
  794. package/hooks/useMergedPalette.mjs +1 -1
  795. package/hooks/useMergedPalette.mjs.map +1 -1
  796. package/hooks/useMergedProps.js +1 -1
  797. package/hooks/useMergedProps.js.map +1 -1
  798. package/hooks/useMergedProps.mjs +1 -1
  799. package/hooks/useMergedProps.mjs.map +1 -1
  800. package/hooks/useMountedStatus.js +1 -1
  801. package/hooks/useMountedStatus.js.map +1 -1
  802. package/hooks/useMountedStatus.mjs +1 -1
  803. package/hooks/useMountedStatus.mjs.map +1 -1
  804. package/hooks/useResizable.js +1 -1
  805. package/hooks/useResizable.js.map +1 -1
  806. package/hooks/useResizable.mjs +1 -1
  807. package/hooks/useResizable.mjs.map +1 -1
  808. package/hooks/useResizeObserver.js +1 -1
  809. package/hooks/useResizeObserver.js.map +1 -1
  810. package/hooks/useResizeObserver.mjs +1 -1
  811. package/hooks/useResizeObserver.mjs.map +1 -1
  812. package/hooks/useScrollLock.js +1 -1
  813. package/hooks/useScrollLock.js.map +1 -1
  814. package/hooks/useScrollLock.mjs +1 -1
  815. package/hooks/useScrollLock.mjs.map +1 -1
  816. package/hooks/useScrollMonitor.js +1 -1
  817. package/hooks/useScrollMonitor.js.map +1 -1
  818. package/hooks/useScrollMonitor.mjs +1 -1
  819. package/hooks/useScrollMonitor.mjs.map +1 -1
  820. package/hooks/useScrollThresholds.js +1 -1
  821. package/hooks/useScrollThresholds.js.map +1 -1
  822. package/hooks/useScrollThresholds.mjs +1 -1
  823. package/hooks/useScrollThresholds.mjs.map +1 -1
  824. package/icon-pack/src/icons/ArrowUp/index.js +1 -1
  825. package/icon-pack/src/icons/ArrowUp/index.js.map +1 -1
  826. package/icon-pack/src/icons/ArrowUp/index.mjs +1 -1
  827. package/icon-pack/src/icons/ArrowUp/index.mjs.map +1 -1
  828. package/icon-pack/src/icons/CheckCircleFill/index.js +1 -1
  829. package/icon-pack/src/icons/CheckCircleFill/index.js.map +1 -1
  830. package/icon-pack/src/icons/CheckCircleFill/index.mjs +1 -1
  831. package/icon-pack/src/icons/CheckCircleFill/index.mjs.map +1 -1
  832. package/icon-pack/src/icons/CheckFill/index.js +1 -1
  833. package/icon-pack/src/icons/CheckFill/index.js.map +1 -1
  834. package/icon-pack/src/icons/CheckFill/index.mjs +1 -1
  835. package/icon-pack/src/icons/CheckFill/index.mjs.map +1 -1
  836. package/icon-pack/src/icons/ChevronDown/index.js +1 -1
  837. package/icon-pack/src/icons/ChevronDown/index.js.map +1 -1
  838. package/icon-pack/src/icons/ChevronDown/index.mjs +1 -1
  839. package/icon-pack/src/icons/ChevronDown/index.mjs.map +1 -1
  840. package/icon-pack/src/icons/ChevronLeft/index.js +1 -1
  841. package/icon-pack/src/icons/ChevronLeft/index.js.map +1 -1
  842. package/icon-pack/src/icons/ChevronLeft/index.mjs +1 -1
  843. package/icon-pack/src/icons/ChevronLeft/index.mjs.map +1 -1
  844. package/icon-pack/src/icons/ChevronRight/index.js +1 -1
  845. package/icon-pack/src/icons/ChevronRight/index.js.map +1 -1
  846. package/icon-pack/src/icons/ChevronRight/index.mjs +1 -1
  847. package/icon-pack/src/icons/ChevronRight/index.mjs.map +1 -1
  848. package/icon-pack/src/icons/Close/index.js +1 -1
  849. package/icon-pack/src/icons/Close/index.js.map +1 -1
  850. package/icon-pack/src/icons/Close/index.mjs +1 -1
  851. package/icon-pack/src/icons/Close/index.mjs.map +1 -1
  852. package/icon-pack/src/icons/CloseCirlceFill/index.js +1 -1
  853. package/icon-pack/src/icons/CloseCirlceFill/index.js.map +1 -1
  854. package/icon-pack/src/icons/CloseCirlceFill/index.mjs +1 -1
  855. package/icon-pack/src/icons/CloseCirlceFill/index.mjs.map +1 -1
  856. package/icon-pack/src/icons/HelpCircle/index.js +1 -1
  857. package/icon-pack/src/icons/HelpCircle/index.js.map +1 -1
  858. package/icon-pack/src/icons/HelpCircle/index.mjs +1 -1
  859. package/icon-pack/src/icons/HelpCircle/index.mjs.map +1 -1
  860. package/icon-pack/src/icons/InfoCircle/index.js +1 -1
  861. package/icon-pack/src/icons/InfoCircle/index.js.map +1 -1
  862. package/icon-pack/src/icons/InfoCircle/index.mjs +1 -1
  863. package/icon-pack/src/icons/InfoCircle/index.mjs.map +1 -1
  864. package/icon-pack/src/icons/LoaderFill/index.js +1 -1
  865. package/icon-pack/src/icons/LoaderFill/index.js.map +1 -1
  866. package/icon-pack/src/icons/LoaderFill/index.mjs +1 -1
  867. package/icon-pack/src/icons/LoaderFill/index.mjs.map +1 -1
  868. package/icon-pack/src/icons/Minus/index.js +1 -1
  869. package/icon-pack/src/icons/Minus/index.js.map +1 -1
  870. package/icon-pack/src/icons/Minus/index.mjs +1 -1
  871. package/icon-pack/src/icons/Minus/index.mjs.map +1 -1
  872. package/icon-pack/src/icons/MinusFill/index.js +1 -1
  873. package/icon-pack/src/icons/MinusFill/index.js.map +1 -1
  874. package/icon-pack/src/icons/MinusFill/index.mjs +1 -1
  875. package/icon-pack/src/icons/MinusFill/index.mjs.map +1 -1
  876. package/icon-pack/src/icons/NotifFill/index.js +1 -1
  877. package/icon-pack/src/icons/NotifFill/index.js.map +1 -1
  878. package/icon-pack/src/icons/NotifFill/index.mjs +1 -1
  879. package/icon-pack/src/icons/NotifFill/index.mjs.map +1 -1
  880. package/icon-pack/src/icons/Plus/index.js +1 -1
  881. package/icon-pack/src/icons/Plus/index.js.map +1 -1
  882. package/icon-pack/src/icons/Plus/index.mjs +1 -1
  883. package/icon-pack/src/icons/Plus/index.mjs.map +1 -1
  884. package/icon-pack/src/icons/PlusLarge/index.js +1 -1
  885. package/icon-pack/src/icons/PlusLarge/index.js.map +1 -1
  886. package/icon-pack/src/icons/PlusLarge/index.mjs +1 -1
  887. package/icon-pack/src/icons/PlusLarge/index.mjs.map +1 -1
  888. package/icon-pack/src/icons/Redo/index.js +1 -1
  889. package/icon-pack/src/icons/Redo/index.js.map +1 -1
  890. package/icon-pack/src/icons/Redo/index.mjs +1 -1
  891. package/icon-pack/src/icons/Redo/index.mjs.map +1 -1
  892. package/icon-pack/src/icons/ResizeHandle/index.js +1 -1
  893. package/icon-pack/src/icons/ResizeHandle/index.js.map +1 -1
  894. package/icon-pack/src/icons/ResizeHandle/index.mjs +1 -1
  895. package/icon-pack/src/icons/ResizeHandle/index.mjs.map +1 -1
  896. package/icon-pack/src/icons/StarFill/index.js +1 -1
  897. package/icon-pack/src/icons/StarFill/index.js.map +1 -1
  898. package/icon-pack/src/icons/StarFill/index.mjs +1 -1
  899. package/icon-pack/src/icons/StarFill/index.mjs.map +1 -1
  900. package/icon-pack/src/icons/WarningTriangleFill/index.js +1 -1
  901. package/icon-pack/src/icons/WarningTriangleFill/index.js.map +1 -1
  902. package/icon-pack/src/icons/WarningTriangleFill/index.mjs +1 -1
  903. package/icon-pack/src/icons/WarningTriangleFill/index.mjs.map +1 -1
  904. package/mixins/color.js.map +1 -1
  905. package/mixins/color.mjs.map +1 -1
  906. package/mixins/create-responsive-props.js +1 -1
  907. package/mixins/create-responsive-props.js.map +1 -1
  908. package/mixins/create-responsive-props.mjs +1 -1
  909. package/mixins/create-responsive-props.mjs.map +1 -1
  910. package/mixins/focus.js +1 -1
  911. package/mixins/focus.js.map +1 -1
  912. package/mixins/focus.mjs +1 -1
  913. package/mixins/focus.mjs.map +1 -1
  914. package/mixins/responsive-layout.js +1 -1
  915. package/mixins/responsive-layout.js.map +1 -1
  916. package/mixins/responsive-layout.mjs +1 -1
  917. package/mixins/responsive-layout.mjs.map +1 -1
  918. package/mixins/responsive-margin.js +1 -1
  919. package/mixins/responsive-margin.js.map +1 -1
  920. package/mixins/responsive-margin.mjs +1 -1
  921. package/mixins/responsive-margin.mjs.map +1 -1
  922. package/mixins/responsive-position.js +1 -1
  923. package/mixins/responsive-position.js.map +1 -1
  924. package/mixins/responsive-position.mjs +1 -1
  925. package/mixins/responsive-position.mjs.map +1 -1
  926. package/mixins/responsive-property.js +1 -1
  927. package/mixins/responsive-property.js.map +1 -1
  928. package/mixins/responsive-property.mjs +1 -1
  929. package/mixins/responsive-property.mjs.map +1 -1
  930. package/mixins/responsive-size.js +1 -1
  931. package/mixins/responsive-size.js.map +1 -1
  932. package/mixins/responsive-size.mjs +1 -1
  933. package/mixins/responsive-size.mjs.map +1 -1
  934. package/mixins/screen.js.map +1 -1
  935. package/mixins/screen.mjs.map +1 -1
  936. package/mixins/shared.js +1 -1
  937. package/mixins/shared.js.map +1 -1
  938. package/mixins/shared.mjs +1 -1
  939. package/mixins/shared.mjs.map +1 -1
  940. package/package.json +2 -2
  941. package/shared/resize-observer.js +1 -1
  942. package/shared/resize-observer.js.map +1 -1
  943. package/shared/resize-observer.mjs +1 -1
  944. package/shared/resize-observer.mjs.map +1 -1
  945. package/shared/utils/Observable.js +1 -1
  946. package/shared/utils/Observable.js.map +1 -1
  947. package/shared/utils/Observable.mjs +1 -1
  948. package/shared/utils/Observable.mjs.map +1 -1
  949. package/shared/utils/colors.js +1 -1
  950. package/shared/utils/colors.js.map +1 -1
  951. package/shared/utils/colors.mjs +1 -1
  952. package/shared/utils/colors.mjs.map +1 -1
  953. package/shared/utils/createPolymorphicComponentWithRef.js +2 -0
  954. package/shared/utils/createPolymorphicComponentWithRef.js.map +1 -0
  955. package/shared/utils/createPolymorphicComponentWithRef.mjs +2 -0
  956. package/shared/utils/createPolymorphicComponentWithRef.mjs.map +1 -0
  957. package/shared/utils/dom.js +1 -1
  958. package/shared/utils/dom.js.map +1 -1
  959. package/shared/utils/dom.mjs +1 -1
  960. package/shared/utils/dom.mjs.map +1 -1
  961. package/shared/utils/getDomTargets.js +1 -1
  962. package/shared/utils/getDomTargets.js.map +1 -1
  963. package/shared/utils/getDomTargets.mjs +1 -1
  964. package/shared/utils/getDomTargets.mjs.map +1 -1
  965. package/shared/utils/getProgressPercent.js.map +1 -1
  966. package/shared/utils/getProgressPercent.mjs.map +1 -1
  967. package/shared/utils/misc.js +1 -1
  968. package/shared/utils/misc.js.map +1 -1
  969. package/shared/utils/misc.mjs +1 -1
  970. package/shared/utils/misc.mjs.map +1 -1
  971. package/shared/utils/react.js +1 -1
  972. package/shared/utils/react.js.map +1 -1
  973. package/shared/utils/react.mjs +1 -1
  974. package/shared/utils/react.mjs.map +1 -1
  975. package/shared/utils/style.js +1 -1
  976. package/shared/utils/style.js.map +1 -1
  977. package/shared/utils/style.mjs +1 -1
  978. package/shared/utils/style.mjs.map +1 -1
  979. package/theme/global-styled.js +1 -1
  980. package/theme/global-styled.js.map +1 -1
  981. package/theme/global-styled.mjs +1 -1
  982. package/theme/global-styled.mjs.map +1 -1
  983. package/theme/theme-provider.js +1 -1
  984. package/theme/theme-provider.js.map +1 -1
  985. package/theme/theme-provider.mjs +1 -1
  986. package/theme/theme-provider.mjs.map +1 -1
  987. package/components/Chip/constants.js +0 -2
  988. package/components/Chip/constants.js.map +0 -1
  989. package/components/Chip/constants.mjs +0 -2
  990. package/components/Chip/constants.mjs.map +0 -1
  991. package/components/ListItem/constants.js +0 -2
  992. package/components/ListItem/constants.js.map +0 -1
  993. package/components/ListItem/constants.mjs +0 -2
  994. package/components/ListItem/constants.mjs.map +0 -1
  995. package/components/TooltipComponent/constants.js +0 -2
  996. package/components/TooltipComponent/constants.js.map +0 -1
  997. package/components/TooltipComponent/constants.mjs +0 -2
  998. package/components/TooltipComponent/constants.mjs.map +0 -1
  999. package/shared/utils/polymorphic.js +0 -2
  1000. package/shared/utils/polymorphic.js.map +0 -1
  1001. package/shared/utils/polymorphic.mjs +0 -2
  1002. package/shared/utils/polymorphic.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Text.Heading.js","sources":["../../../../src/components/Text.Heading/Text.Heading.tsx"],"sourcesContent":["import { useTheme } from 'styled-components'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport { Text } from '../Text'\nimport type { TextHeadingProps, H } from './types'\n\nconst PARAMS: Record<H, Partial<TextHeadingProps>> = {\n h1: {\n size: 44,\n sizeM: 32,\n lineHeight: 's',\n weight: 'bold',\n },\n h2: {\n size: 32,\n sizeM: 28,\n lineHeight: 's',\n weight: 'bold',\n },\n h3: {\n size: 28,\n lineHeight: 's',\n weight: 'bold',\n },\n h4: {\n size: 24,\n lineHeight: 's',\n weight: 'bold',\n },\n}\n\nconst COMPONENT_NAME = 'Text.Heading'\n\n/**\n * @visibleName Text.Heading\n */\nconst TextHeading = (props: TextHeadingProps) => {\n const theme = useTheme()\n\n const {\n h = 'h1',\n fontFamily,\n ...configProps\n } = useConfigPriority<TextHeadingProps>(theme.components?.[COMPONENT_NAME], props)\n\n const predefinedParams = PARAMS[h]\n\n return <Text as={h} fontFamily={fontFamily} {...predefinedParams} {...configProps} />\n}\n\nTextHeading.displayName = COMPONENT_NAME\n\nexport { TextHeading, COMPONENT_NAME }\n"],"names":["PARAMS","h1","size","sizeM","lineHeight","weight","h2","h3","h4","TextHeading","props","theme","useTheme","h","fontFamily","configProps","useConfigPriority","components","_jsx","Text","as","displayName"],"mappings":"yMAKA,MAAMA,OAA+C,CACnDC,GAAI,CACFC,KAAM,GACNC,MAAO,GACPC,WAAY,IACZC,OAAQ,QAEVC,GAAI,CACFJ,KAAM,GACNC,MAAO,GACPC,WAAY,IACZC,OAAQ,QAEVE,GAAI,CACFL,KAAM,GACNE,WAAY,IACZC,OAAQ,QAEVG,GAAI,CACFN,KAAM,GACNE,WAAY,IACZC,OAAQ,SASZ,MAAMI,YAAeC,IACnB,MAAMC,EAAQC,OAAAA,WAEd,MAAMC,EACJA,EAAI,KAAIC,WACRA,KACGC,GACDC,kBAAAA,kBAAoCL,EAAMM,aAZzB,gBAYuDP,GAI5E,OAAOQ,WAAAA,IAACC,KAAAA,KAAI,CAACC,GAAIP,EAAGC,WAAYA,KAFPd,OAAOa,MAEsCE,GAAe,EAGvFN,YAAYY,YAnBW,sCAAA"}
1
+ {"version":3,"file":"Text.Heading.js","sources":["../../../../src/components/Text.Heading/Text.Heading.tsx"],"sourcesContent":["import { useTheme } from 'styled-components'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport { Text } from '../Text'\nimport type { TextHeadingProps, H } from './types'\n\nconst PARAMS: Record<H, Partial<TextHeadingProps>> = {\n h1: {\n size: 44,\n sizeM: 32,\n lineHeight: 's',\n weight: 'bold',\n },\n h2: {\n size: 32,\n sizeM: 28,\n lineHeight: 's',\n weight: 'bold',\n },\n h3: {\n size: 28,\n lineHeight: 's',\n weight: 'bold',\n },\n h4: {\n size: 24,\n lineHeight: 's',\n weight: 'bold',\n },\n}\n\nconst COMPONENT_NAME = 'Text.Heading'\n\n/**\n * @visibleName Text.Heading\n */\nconst TextHeading = (props: TextHeadingProps) => {\n const theme = useTheme()\n\n const {\n h = 'h1',\n fontFamily,\n ...configProps\n } = useConfigPriority<TextHeadingProps>(theme.components?.[COMPONENT_NAME], props)\n\n const predefinedParams = PARAMS[h]\n\n return <Text as={h} fontFamily={fontFamily} {...predefinedParams} {...configProps} />\n}\n\nTextHeading.displayName = COMPONENT_NAME\n\nexport { TextHeading, COMPONENT_NAME }\n"],"names":["PARAMS","h1","size","sizeM","lineHeight","weight","h2","h3","h4","TextHeading","props","theme","useTheme","h","fontFamily","configProps","useConfigPriority","components","_jsx","Text","as","displayName"],"mappings":"yMAKA,MAAMA,OAA+C,CACnDC,GAAI,CACFC,KAAM,GACNC,MAAO,GACPC,WAAY,IACZC,OAAQ,QAEVC,GAAI,CACFJ,KAAM,GACNC,MAAO,GACPC,WAAY,IACZC,OAAQ,QAEVE,GAAI,CACFL,KAAM,GACNE,WAAY,IACZC,OAAQ,QAEVG,GAAI,CACFN,KAAM,GACNE,WAAY,IACZC,OAAQ,SASZ,MAAMI,YAAeC,IACnB,MAAMC,EAAQC,OAAAA,WAEd,MAAMC,EACJA,EAAI,KAAIC,WACRA,KACGC,GACDC,kBAAAA,kBAAoCL,EAAMM,aAZzB,gBAYuDP,GAI5E,OAAOQ,WAAAA,IAACC,KAAAA,KAAI,CAACC,GAAIP,EAAGC,WAAYA,KAFPd,OAAOa,MAEsCE,KAGxEN,YAAYY,YAnBW,sCAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Text.Heading.mjs","sources":["../../../../src/components/Text.Heading/Text.Heading.tsx"],"sourcesContent":["import { useTheme } from 'styled-components'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport { Text } from '../Text'\nimport type { TextHeadingProps, H } from './types'\n\nconst PARAMS: Record<H, Partial<TextHeadingProps>> = {\n h1: {\n size: 44,\n sizeM: 32,\n lineHeight: 's',\n weight: 'bold',\n },\n h2: {\n size: 32,\n sizeM: 28,\n lineHeight: 's',\n weight: 'bold',\n },\n h3: {\n size: 28,\n lineHeight: 's',\n weight: 'bold',\n },\n h4: {\n size: 24,\n lineHeight: 's',\n weight: 'bold',\n },\n}\n\nconst COMPONENT_NAME = 'Text.Heading'\n\n/**\n * @visibleName Text.Heading\n */\nconst TextHeading = (props: TextHeadingProps) => {\n const theme = useTheme()\n\n const {\n h = 'h1',\n fontFamily,\n ...configProps\n } = useConfigPriority<TextHeadingProps>(theme.components?.[COMPONENT_NAME], props)\n\n const predefinedParams = PARAMS[h]\n\n return <Text as={h} fontFamily={fontFamily} {...predefinedParams} {...configProps} />\n}\n\nTextHeading.displayName = COMPONENT_NAME\n\nexport { TextHeading, COMPONENT_NAME }\n"],"names":["PARAMS","h1","size","sizeM","lineHeight","weight","h2","h3","h4","COMPONENT_NAME","TextHeading","props","theme","useTheme","h","fontFamily","configProps","useConfigPriority","components","_jsx","Text","as","displayName"],"mappings":"iLAKA,MAAMA,OAA+C,CACnDC,GAAI,CACFC,KAAM,GACNC,MAAO,GACPC,WAAY,IACZC,OAAQ,QAEVC,GAAI,CACFJ,KAAM,GACNC,MAAO,GACPC,WAAY,IACZC,OAAQ,QAEVE,GAAI,CACFL,KAAM,GACNE,WAAY,IACZC,OAAQ,QAEVG,GAAI,CACFN,KAAM,GACNE,WAAY,IACZC,OAAQ,SAIZ,MAAMI,eAAiB,eAKvB,MAAMC,YAAeC,IACnB,MAAMC,EAAQC,WAEd,MAAMC,EACJA,EAAI,KAAIC,WACRA,KACGC,GACDC,kBAAoCL,EAAMM,aAZzB,gBAYuDP,GAI5E,OAAOQ,IAACC,KAAI,CAACC,GAAIP,EAAGC,WAAYA,KAFPf,OAAOc,MAEsCE,GAAe,EAGvFN,YAAYY,YAnBW"}
1
+ {"version":3,"file":"Text.Heading.mjs","sources":["../../../../src/components/Text.Heading/Text.Heading.tsx"],"sourcesContent":["import { useTheme } from 'styled-components'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport { Text } from '../Text'\nimport type { TextHeadingProps, H } from './types'\n\nconst PARAMS: Record<H, Partial<TextHeadingProps>> = {\n h1: {\n size: 44,\n sizeM: 32,\n lineHeight: 's',\n weight: 'bold',\n },\n h2: {\n size: 32,\n sizeM: 28,\n lineHeight: 's',\n weight: 'bold',\n },\n h3: {\n size: 28,\n lineHeight: 's',\n weight: 'bold',\n },\n h4: {\n size: 24,\n lineHeight: 's',\n weight: 'bold',\n },\n}\n\nconst COMPONENT_NAME = 'Text.Heading'\n\n/**\n * @visibleName Text.Heading\n */\nconst TextHeading = (props: TextHeadingProps) => {\n const theme = useTheme()\n\n const {\n h = 'h1',\n fontFamily,\n ...configProps\n } = useConfigPriority<TextHeadingProps>(theme.components?.[COMPONENT_NAME], props)\n\n const predefinedParams = PARAMS[h]\n\n return <Text as={h} fontFamily={fontFamily} {...predefinedParams} {...configProps} />\n}\n\nTextHeading.displayName = COMPONENT_NAME\n\nexport { TextHeading, COMPONENT_NAME }\n"],"names":["PARAMS","h1","size","sizeM","lineHeight","weight","h2","h3","h4","COMPONENT_NAME","TextHeading","props","theme","useTheme","h","fontFamily","configProps","useConfigPriority","components","_jsx","Text","as","displayName"],"mappings":"iLAKA,MAAMA,OAA+C,CACnDC,GAAI,CACFC,KAAM,GACNC,MAAO,GACPC,WAAY,IACZC,OAAQ,QAEVC,GAAI,CACFJ,KAAM,GACNC,MAAO,GACPC,WAAY,IACZC,OAAQ,QAEVE,GAAI,CACFL,KAAM,GACNE,WAAY,IACZC,OAAQ,QAEVG,GAAI,CACFN,KAAM,GACNE,WAAY,IACZC,OAAQ,SAIZ,MAAMI,eAAiB,eAKvB,MAAMC,YAAeC,IACnB,MAAMC,EAAQC,WAEd,MAAMC,EACJA,EAAI,KAAIC,WACRA,KACGC,GACDC,kBAAoCL,EAAMM,aAZzB,gBAYuDP,GAI5E,OAAOQ,IAACC,KAAI,CAACC,GAAIP,EAAGC,WAAYA,KAFPf,OAAOc,MAEsCE,KAGxEN,YAAYY,YAnBW"}
@@ -1,2 +1,2 @@
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 index=require('../../icon-pack/src/icons/ResizeHandle/index.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: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}})]}),addonRight: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})]}):null})})),{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 index=require('../../icon-pack/src/icons/ResizeHandle/index.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: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}})]}),addonRight: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})]}):null})}),{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 addonRight={\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 ) : null\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","InputLabel","SIZES_FORM_INPUT","children","undefined","placeholderColorDisabled","addonRight","_Fragment","cursor","icon","ResizeHandle","tabIndex","onKeyDown","displayName","SIZES"],"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 addonRight={\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 ) : null\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","InputLabel","SIZES_FORM_INPUT","children","undefined","placeholderColorDisabled","addonRight","_Fragment","cursor","icon","ResizeHandle","tabIndex","onKeyDown","displayName","SIZES"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{forwardRef,useRef,useImperativeHandle,useMemo,useState,useCallback,useLayoutEffect,useEffect}from'react';import{useTheme}from'styled-components';import{nanoid}from'nanoid';import{withMergedProps}from'../../hocs/withMergedProps.mjs';import{useResizable}from'../../hooks/useResizable.mjs';import{createThrottledCallback}from'../../shared/utils/misc.mjs';import{SIZES}from'./sizes.mjs';import{Root,ResizeGlobals,ResizeIcon,TextareaMimic,Textarea as Textarea$1}from'./style.mjs';import{jsx,jsxs,Fragment}from'react/jsx-runtime';import{FormInputLabel}from'../FormInputLabel/FormInputLabel.mjs';import{ResizeHandle}from'../../icon-pack/src/icons/ResizeHandle/index.mjs';import{InputLabel}from'../InputLabel/InputLabel.mjs';import{SIZES as SIZES$1}from'../FormInput/sizes.mjs';const COMPONENT_NAME='Textarea';const Textarea=withMergedProps(forwardRef(((e,r)=>{const o=useTheme();const{size:t="m",rows:a=2,maxRows:n=30,labelPosition:i="dynamic",primary:s=!0,width:l=o.defaultInputControlsWidth,autosize:m=!0,rounded:g=!0,color:c="mineShaft",placeholderColor:d="silver",autoRows:u,resize:h,contrast:p,inline:f,secondary:S,success:X,error:b,sizeXXS:L,sizeXS:z,sizeS:w,sizeM:R,sizeL:M,sizeXL:T,sizes:C,sizeUnits:x,margin:v,marginXXS:j,marginXS:I,marginS:y,marginM:B,marginL:E,marginXL:N,marginTop:k,marginTopXXS:D,marginTopXS:F,marginTopS:H,marginTopM:P,marginTopL:Z,marginTopXL:O,marginRight:$,marginRightXXS:A,marginRightXS:G,marginRightS:U,marginRightM:_,marginRightL:K,marginRightXL:V,marginBottom:W,marginBottomXXS:q,marginBottomXS:J,marginBottomS:Q,marginBottomM:Y,marginBottomL:ee,marginBottomXL:re,marginLeft:oe,marginLeftXXS:te,marginLeftXS:ae,marginLeftS:ne,marginLeftM:ie,marginLeftL:se,marginLeftXL:le,widthXXS:me,widthXS:ge,widthS:ce,widthM:de,widthL:ue,widthXL:he,preset:pe,palette:fe,label:Se,fluid:Xe,className:be,style:Le,disabled:ze,...we}=e;const Re={size:t,sizeXXS:L,sizeXS:z,sizeS:w,sizeM:R,sizeL:M,sizeXL:T};const Me=useRef(null);const Te=useRef(null);const Ce=useRef(null);useImperativeHandle(r,(()=>Me.current),[]);const[xe,ve,je]=useResizable({target:Ce,direction:h});const Ie=useMemo((()=>nanoid()),[]);const[ye,Be]=useState((()=>{const e=we.value??we.defaultValue;return typeof e=='string'&&e.length>0}));const[Ee,Ne]=useState((()=>Math.min(a,n)));const ke=pe==='brand'&&u||pe!=='brand'&&m?Ee:Math.min(a,n);const De=h==='horizontal'?'ew-resize':h==='vertical'?'ns-resize':'nwse-resize';const Fe=useCallback((()=>{if(!Me.current)return;if(pe==='brand'){if(!Te.current)return;Te.current.value=Me.current.value;const e=Math.max(Math.round(Te.current.scrollHeight/Te.current.clientHeight),a);return void Ne(Math.min(e,n))}const e=getComputedStyle(Me.current);const r=parseFloat(e.lineHeight);const o=Math.max(Math.round((Me.current.scrollHeight-parseFloat(e.paddingTop)-parseFloat(e.paddingBottom))/(Number.isNaN(r)?parseFloat(e.fontSize)*1.2:r)),a);Ne((e=>o>e?Math.min(o,n):Me.current&&!Me.current.value?a:e))}),[pe,a,n]);return useLayoutEffect((()=>{pe==='brand'&&typeof we.value=='string'&&Me.current&&Me.current!==document.activeElement&&Be(we.value.length>0)}),[pe,we.value]),useEffect((()=>{const e=createThrottledCallback(Fe,200);return(pe==='brand'&&u||pe!=='brand'&&m)&&(Fe(),window.addEventListener('resize',e)),()=>{window.removeEventListener('resize',e)}}),[pe,u,m,Fe]),pe!=='brand'?jsx(Root,{...we,ref:Me,className:be,style:Le,onChange:e=>{m&&Fe(),we.onChange&&we.onChange(e)},rows:ke,color:c,rounded:g,placeholderColor:d,disabled:ze,error:b,fluid:Xe,width:l,widthXXS:me,widthXS:ge,widthS:ce,widthM:de,widthL:ue,widthXL:he}):jsx(FormInputLabel,{...Re,ref:Ce,sizes:C,sizeUnits:x,margin:v,marginXXS:j,marginXS:I,marginS:y,marginM:B,marginL:E,marginXL:N,marginTop:k,marginTopXXS:D,marginTopXS:F,marginTopS:H,marginTopM:P,marginTopL:Z,marginTopXL:O,marginRight:$,marginRightXXS:A,marginRightXS:G,marginRightS:U,marginRightM:_,marginRightL:K,marginRightXL:V,marginBottom:W,marginBottomXXS:q,marginBottomXS:J,marginBottomS:Q,marginBottomM:Y,marginBottomL:ee,marginBottomXL:re,marginLeft:oe,marginLeftXXS:te,marginLeftXS:ae,marginLeftS:ne,marginLeftM:ie,marginLeftL:se,marginLeftXL:le,className:be,style:Le,contrast:p,error:b,inline:f,disabled:ze,primary:s,secondary:S,success:X,palette:{color:ze?fe.colorDisabled:fe.color,backgroundColor:ze?fe.backgroundColorDisabled:fe.backgroundColor,backgroundColorHover:ze?fe.backgroundColorDisabled:fe.backgroundColorHover,borderColor:ze?fe.borderColorDisabled:fe.borderColor},onClick:()=>{Me.current&&Me.current.focus()},onFocus:()=>{Be(!0)},onPointerDown:e=>{e.target!==Me.current&&e.target instanceof Node&&e.preventDefault()},onBlur:e=>{Me.current&&!e.currentTarget.contains(e.relatedTarget)&&Be(Boolean(Me.current.value))},overflow:"hidden",input:jsxs(InputLabel,{...Re,sizes:SIZES$1,active:ye,label:Se,labelId:Ie,labelPosition:i,children:[u?jsx(TextareaMimic,{ref:Te,rows:1}):null,jsx(Textarea$1,{...we,ref:Me,"aria-labelledby":Se?Ie:void 0,disabled:ze,onChange:e=>{u&&Fe(),we.onChange&&we.onChange(e)},rows:ke,palette:{color:fe.color,colorDisabled:fe.colorDisabled,placeholderColor:fe.placeholderColor,placeholderColorDisabled:fe.placeholderColorDisabled}})]}),addonRight:h?jsxs(Fragment,{children:[xe?jsx(ResizeGlobals,{cursor:De}):null,jsx(ResizeIcon,{size:"l",icon:jsx(ResizeHandle,{}),color:"border-onmain-default-small",tabIndex:0,onPointerDown:ve,onKeyDown:je,cursor:De})]}):null})})),{displayName:"Textarea",sizes:SIZES});export{COMPONENT_NAME,Textarea};
1
+ import{forwardRef,useRef,useImperativeHandle,useMemo,useState,useCallback,useLayoutEffect,useEffect}from'react';import{useTheme}from'styled-components';import{nanoid}from'nanoid';import{withMergedProps}from'../../hocs/withMergedProps.mjs';import{useResizable}from'../../hooks/useResizable.mjs';import{createThrottledCallback}from'../../shared/utils/misc.mjs';import{SIZES}from'./sizes.mjs';import{Root,ResizeGlobals,ResizeIcon,TextareaMimic,Textarea as Textarea$1}from'./style.mjs';import{jsx,jsxs,Fragment}from'react/jsx-runtime';import{FormInputLabel}from'../FormInputLabel/FormInputLabel.mjs';import{ResizeHandle}from'../../icon-pack/src/icons/ResizeHandle/index.mjs';import{InputLabel}from'../InputLabel/InputLabel.mjs';import{SIZES as SIZES$1}from'../FormInput/sizes.mjs';const COMPONENT_NAME='Textarea';const Textarea=withMergedProps(forwardRef((e,r)=>{const o=useTheme();const{size:t="m",rows:a=2,maxRows:n=30,labelPosition:i="dynamic",primary:s=!0,width:l=o.defaultInputControlsWidth,autosize:m=!0,rounded:g=!0,color:c="mineShaft",placeholderColor:d="silver",autoRows:u,resize:h,contrast:p,inline:f,secondary:S,success:X,error:b,sizeXXS:L,sizeXS:z,sizeS:w,sizeM:R,sizeL:M,sizeXL:T,sizes:C,sizeUnits:x,margin:v,marginXXS:j,marginXS:I,marginS:y,marginM:B,marginL:E,marginXL:N,marginTop:k,marginTopXXS:D,marginTopXS:F,marginTopS:H,marginTopM:P,marginTopL:Z,marginTopXL:O,marginRight:$,marginRightXXS:A,marginRightXS:G,marginRightS:U,marginRightM:_,marginRightL:K,marginRightXL:V,marginBottom:W,marginBottomXXS:q,marginBottomXS:J,marginBottomS:Q,marginBottomM:Y,marginBottomL:ee,marginBottomXL:re,marginLeft:oe,marginLeftXXS:te,marginLeftXS:ae,marginLeftS:ne,marginLeftM:ie,marginLeftL:se,marginLeftXL:le,widthXXS:me,widthXS:ge,widthS:ce,widthM:de,widthL:ue,widthXL:he,preset:pe,palette:fe,label:Se,fluid:Xe,className:be,style:Le,disabled:ze,...we}=e;const Re={size:t,sizeXXS:L,sizeXS:z,sizeS:w,sizeM:R,sizeL:M,sizeXL:T};const Me=useRef(null);const Te=useRef(null);const Ce=useRef(null);useImperativeHandle(r,()=>Me.current,[]);const[xe,ve,je]=useResizable({target:Ce,direction:h});const Ie=useMemo(()=>nanoid(),[]);const[ye,Be]=useState(()=>{const e=we.value??we.defaultValue;return typeof e=='string'&&e.length>0});const[Ee,Ne]=useState(()=>Math.min(a,n));const ke=pe==='brand'&&u||pe!=='brand'&&m?Ee:Math.min(a,n);const De=h==='horizontal'?'ew-resize':h==='vertical'?'ns-resize':'nwse-resize';const Fe=useCallback(()=>{if(!Me.current)return;if(pe==='brand'){if(!Te.current)return;Te.current.value=Me.current.value;const e=Math.max(Math.round(Te.current.scrollHeight/Te.current.clientHeight),a);return void Ne(Math.min(e,n))}const e=getComputedStyle(Me.current);const r=parseFloat(e.lineHeight);const o=Math.max(Math.round((Me.current.scrollHeight-parseFloat(e.paddingTop)-parseFloat(e.paddingBottom))/(Number.isNaN(r)?parseFloat(e.fontSize)*1.2:r)),a);Ne(e=>o>e?Math.min(o,n):Me.current&&!Me.current.value?a:e)},[pe,a,n]);return useLayoutEffect(()=>{pe==='brand'&&typeof we.value=='string'&&Me.current&&Me.current!==document.activeElement&&Be(we.value.length>0)},[pe,we.value]),useEffect(()=>{const e=createThrottledCallback(Fe,200);return(pe==='brand'&&u||pe!=='brand'&&m)&&(Fe(),window.addEventListener('resize',e)),()=>{window.removeEventListener('resize',e)}},[pe,u,m,Fe]),pe!=='brand'?jsx(Root,{...we,ref:Me,className:be,style:Le,onChange:e=>{m&&Fe(),we.onChange&&we.onChange(e)},rows:ke,color:c,rounded:g,placeholderColor:d,disabled:ze,error:b,fluid:Xe,width:l,widthXXS:me,widthXS:ge,widthS:ce,widthM:de,widthL:ue,widthXL:he}):jsx(FormInputLabel,{...Re,ref:Ce,sizes:C,sizeUnits:x,margin:v,marginXXS:j,marginXS:I,marginS:y,marginM:B,marginL:E,marginXL:N,marginTop:k,marginTopXXS:D,marginTopXS:F,marginTopS:H,marginTopM:P,marginTopL:Z,marginTopXL:O,marginRight:$,marginRightXXS:A,marginRightXS:G,marginRightS:U,marginRightM:_,marginRightL:K,marginRightXL:V,marginBottom:W,marginBottomXXS:q,marginBottomXS:J,marginBottomS:Q,marginBottomM:Y,marginBottomL:ee,marginBottomXL:re,marginLeft:oe,marginLeftXXS:te,marginLeftXS:ae,marginLeftS:ne,marginLeftM:ie,marginLeftL:se,marginLeftXL:le,className:be,style:Le,contrast:p,error:b,inline:f,disabled:ze,primary:s,secondary:S,success:X,palette:{color:ze?fe.colorDisabled:fe.color,backgroundColor:ze?fe.backgroundColorDisabled:fe.backgroundColor,backgroundColorHover:ze?fe.backgroundColorDisabled:fe.backgroundColorHover,borderColor:ze?fe.borderColorDisabled:fe.borderColor},onClick:()=>{Me.current&&Me.current.focus()},onFocus:()=>{Be(!0)},onPointerDown:e=>{e.target!==Me.current&&e.target instanceof Node&&e.preventDefault()},onBlur:e=>{Me.current&&!e.currentTarget.contains(e.relatedTarget)&&Be(Boolean(Me.current.value))},overflow:"hidden",input:jsxs(InputLabel,{...Re,sizes:SIZES$1,active:ye,label:Se,labelId:Ie,labelPosition:i,children:[u?jsx(TextareaMimic,{ref:Te,rows:1}):null,jsx(Textarea$1,{...we,ref:Me,"aria-labelledby":Se?Ie:void 0,disabled:ze,onChange:e=>{u&&Fe(),we.onChange&&we.onChange(e)},rows:ke,palette:{color:fe.color,colorDisabled:fe.colorDisabled,placeholderColor:fe.placeholderColor,placeholderColorDisabled:fe.placeholderColorDisabled}})]}),addonRight:h?jsxs(Fragment,{children:[xe?jsx(ResizeGlobals,{cursor:De}):null,jsx(ResizeIcon,{size:"l",icon:jsx(ResizeHandle,{}),color:"border-onmain-default-small",tabIndex:0,onPointerDown:ve,onKeyDown:je,cursor:De})]}):null})}),{displayName:"Textarea",sizes:SIZES});export{COMPONENT_NAME,Textarea};
2
2
  //# sourceMappingURL=Textarea.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.mjs","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 addonRight={\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 ) : null\n }\n />\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n)\n\nexport { Textarea, COMPONENT_NAME }\n"],"names":["COMPONENT_NAME","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","InputLabel","SIZES_FORM_INPUT","children","undefined","placeholderColorDisabled","addonRight","_Fragment","cursor","icon","ResizeHandle","tabIndex","onKeyDown","displayName","SIZES"],"mappings":"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"}
1
+ {"version":3,"file":"Textarea.mjs","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 addonRight={\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 ) : null\n }\n />\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n)\n\nexport { Textarea, COMPONENT_NAME }\n"],"names":["COMPONENT_NAME","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","InputLabel","SIZES_FORM_INPUT","children","undefined","placeholderColorDisabled","addonRight","_Fragment","cursor","icon","ResizeHandle","tabIndex","onKeyDown","displayName","SIZES"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- 'use strict';var styled=require('styled-components');var style=require('../Input/style.js');var Icon=require('../Icon/Icon.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var styled__default=_interopDefault(styled);const Root=styled__default.default.textarea.withConfig({shouldForwardProp:e=>!['color','placeholderColor','rounded','fluid','error'].includes(e)&&!e.includes('width')}).withConfig({displayName:"Textarea__Root",componentId:"ui__sc-a4hfy5-0"})(["resize:none;line-height:23px;padding:16px 20px 11px;",""],style.baseInputStyle);const Textarea=styled__default.default.textarea.withConfig({shouldForwardProp:e=>!['palette'].includes(e)}).withConfig({displayName:"Textarea",componentId:"ui__sc-a4hfy5-1"})(["box-sizing:border-box;display:block;appearance:none;resize:none;overflow:auto;border:none;padding:0;margin:0;background-color:transparent;font:inherit;width:100%;cursor:pointer;&:disabled{cursor:not-allowed;}&:focus{outline:none;}&:focus:read-write{cursor:text;}",""],(e=>{return`\n color: ${(o={color:e.palette.color??e.theme.colors['content-onmain-primary'],placeholderColor:e.palette.placeholderColor??e.theme.colors['content-onmain-secondary'],colorDisabled:e.palette.colorDisabled??e.theme.colors['content-disabled'],placeholderColorDisabled:e.palette.placeholderColorDisabled??e.theme.colors['content-disabled']}).color};\n &:disabled {\n color: ${o.colorDisabled};\n }\n &::placeholder {\n color: ${o.placeholderColor};\n }\n &:disabled::placeholder {\n color: ${o.placeholderColorDisabled};\n }\n`;var o}));const TextareaMimic=styled__default.default.textarea.withConfig({displayName:"Textarea__TextareaMimic",componentId:"ui__sc-a4hfy5-2"})(["box-sizing:border-box;display:block;visibility:hidden;position:absolute;top:0;left:0;width:100%;appearance:none;resize:none;overflow:hidden;border:none;padding:0;margin:0;font:inherit;"]);const ResizeGlobals=styled.createGlobalStyle(["",""],(e=>`\n body * {\n cursor: ${e.cursor} !important;\n user-select: none !important;\n }\n `));const ResizeIcon=styled__default.default(Icon.Icon).withConfig({shouldForwardProp:e=>e!=='cursor'}).withConfig({displayName:"Textarea__ResizeIcon",componentId:"ui__sc-a4hfy5-3"})(["",""],(e=>`\n position: absolute;\n right: 0px;\n bottom: 0px;\n padding: 4px;\n touch-action: none; \n cursor: ${e.cursor};\n &:focus-visible {\n outline: none;\n color: ${e.theme.colors['border-focus']};\n }\n &:focus-visible > svg {\n transform: scale(1.2);\n }\n `));exports.ResizeGlobals=ResizeGlobals,exports.ResizeIcon=ResizeIcon,exports.Root=Root,exports.Textarea=Textarea,exports.TextareaMimic=TextareaMimic;
1
+ 'use strict';var styled=require('styled-components');var style=require('../Input/style.js');var Icon=require('../Icon/Icon.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var styled__default=_interopDefault(styled);const Root=styled__default.default.textarea.withConfig({shouldForwardProp:e=>!['color','placeholderColor','rounded','fluid','error'].includes(e)&&!e.includes('width')}).withConfig({displayName:"Textarea__Root",componentId:"ui__sc-a4hfy5-0"})(["resize:none;line-height:23px;padding:16px 20px 11px;",""],style.baseInputStyle);const Textarea=styled__default.default.textarea.withConfig({shouldForwardProp:e=>!['palette'].includes(e)}).withConfig({displayName:"Textarea",componentId:"ui__sc-a4hfy5-1"})(["box-sizing:border-box;display:block;appearance:none;resize:none;overflow:auto;border:none;padding:0;margin:0;background-color:transparent;font:inherit;width:100%;cursor:pointer;&:disabled{cursor:not-allowed;}&:focus{outline:none;}&:focus:read-write{cursor:text;}",""],e=>{return`\n color: ${(o={color:e.palette.color??e.theme.colors['content-onmain-primary'],placeholderColor:e.palette.placeholderColor??e.theme.colors['content-onmain-secondary'],colorDisabled:e.palette.colorDisabled??e.theme.colors['content-disabled'],placeholderColorDisabled:e.palette.placeholderColorDisabled??e.theme.colors['content-disabled']}).color};\n &:disabled {\n color: ${o.colorDisabled};\n }\n &::placeholder {\n color: ${o.placeholderColor};\n }\n &:disabled::placeholder {\n color: ${o.placeholderColorDisabled};\n }\n`;var o});const TextareaMimic=styled__default.default.textarea.withConfig({displayName:"Textarea__TextareaMimic",componentId:"ui__sc-a4hfy5-2"})(["box-sizing:border-box;display:block;visibility:hidden;position:absolute;top:0;left:0;width:100%;appearance:none;resize:none;overflow:hidden;border:none;padding:0;margin:0;font:inherit;"]);const ResizeGlobals=styled.createGlobalStyle(["",""],e=>`\n body * {\n cursor: ${e.cursor} !important;\n user-select: none !important;\n }\n `);const ResizeIcon=styled__default.default(Icon.Icon).withConfig({shouldForwardProp:e=>e!=='cursor'}).withConfig({displayName:"Textarea__ResizeIcon",componentId:"ui__sc-a4hfy5-3"})(["",""],e=>`\n position: absolute;\n right: 0px;\n bottom: 0px;\n padding: 4px;\n touch-action: none; \n cursor: ${e.cursor};\n &:focus-visible {\n outline: none;\n color: ${e.theme.colors['border-focus']};\n }\n &:focus-visible > svg {\n transform: scale(1.2);\n }\n `);exports.ResizeGlobals=ResizeGlobals,exports.ResizeIcon=ResizeIcon,exports.Root=Root,exports.Textarea=Textarea,exports.TextareaMimic=TextareaMimic;
2
2
  //# sourceMappingURL=style.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","sources":["../../../../src/components/Textarea/style.ts"],"sourcesContent":["import styled, { createGlobalStyle } from 'styled-components'\nimport { Icon } from 'components/Icon'\nimport { baseInputStyle } from 'components/Input/style'\nimport type { TextareaProps, StyledTextareaProps, TextareaPalette, StyledResizeControlProps } from './types'\n\nconst template = (\n palette: Pick<TextareaPalette, 'color' | 'colorDisabled' | 'placeholderColor' | 'placeholderColorDisabled'>\n) => `\n color: ${palette.color};\n &:disabled {\n color: ${palette.colorDisabled};\n }\n &::placeholder {\n color: ${palette.placeholderColor};\n }\n &:disabled::placeholder {\n color: ${palette.placeholderColorDisabled};\n }\n`\n\nexport const Root = styled.textarea.withConfig<TextareaProps>({\n shouldForwardProp: (prop) =>\n !['color', 'placeholderColor', 'rounded', 'fluid', 'error'].includes(prop) && !prop.includes('width'),\n})`\n resize: none;\n line-height: 23px;\n padding: 16px 20px 11px;\n\n ${baseInputStyle}\n`\n\nexport const Textarea = styled.textarea.withConfig<StyledTextareaProps>({\n shouldForwardProp: (propKey) => !['palette'].includes(propKey),\n})`\n box-sizing: border-box;\n display: block;\n appearance: none;\n resize: none;\n overflow: auto;\n border: none;\n padding: 0;\n margin: 0;\n background-color: transparent;\n font: inherit;\n width: 100%;\n cursor: pointer;\n &:disabled {\n cursor: not-allowed;\n }\n &:focus {\n outline: none;\n }\n &:focus:read-write {\n cursor: text;\n }\n ${(props) =>\n template({\n color: props.palette.color ?? props.theme.colors['content-onmain-primary'],\n placeholderColor: props.palette.placeholderColor ?? props.theme.colors['content-onmain-secondary'],\n colorDisabled: props.palette.colorDisabled ?? props.theme.colors['content-disabled'],\n placeholderColorDisabled: props.palette.placeholderColorDisabled ?? props.theme.colors['content-disabled'],\n })}\n`\n\nexport const TextareaMimic = styled.textarea`\n box-sizing: border-box;\n display: block;\n visibility: hidden;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n appearance: none;\n resize: none;\n overflow: hidden;\n border: none;\n padding: 0;\n margin: 0;\n font: inherit;\n`\n\nexport const ResizeGlobals = createGlobalStyle<StyledResizeControlProps>`\n ${(props) => `\n body * {\n cursor: ${props.cursor} !important;\n user-select: none !important;\n }\n `}\n`\n\nexport const ResizeIcon = styled(Icon).withConfig<StyledResizeControlProps>({\n shouldForwardProp: (propKey) => propKey !== 'cursor',\n})`\n ${(props) => `\n position: absolute;\n right: 0px;\n bottom: 0px;\n padding: 4px;\n touch-action: none; \n cursor: ${props.cursor};\n &:focus-visible {\n outline: none;\n color: ${props.theme.colors['border-focus']};\n }\n &:focus-visible > svg {\n transform: scale(1.2);\n }\n `}\n`\n"],"names":["Root","styled","textarea","withConfig","shouldForwardProp","prop","includes","displayName","componentId","baseInputStyle","Textarea","propKey","props","template","palette","color","theme","colors","placeholderColor","colorDisabled","placeholderColorDisabled","TextareaMimic","ResizeGlobals","createGlobalStyle","cursor","ResizeIcon","Icon"],"mappings":"6OAoBO,MAAMA,KAAOC,gBAAAA,QAAOC,SAASC,WAA0B,CAC5DC,kBAAoBC,IACjB,CAAC,QAAS,mBAAoB,UAAW,QAAS,SAASC,SAASD,KAAUA,EAAKC,SAAS,WAC/FH,WAAA,CAAAI,YAAA,iBAAAC,YAAA,mBAHkBP,CAGlB,CAAA,uDAAA,IAKEQ,MAAAA,gBAGG,MAAMC,SAAWT,gBAAAA,QAAOC,SAASC,WAAgC,CACtEC,kBAAoBO,IAAa,CAAC,WAAWL,SAASK,KACtDR,WAAA,CAAAI,YAAA,WAAAC,YAAA,mBAFsBP,CAEtB,CAAA,yQAAA,KAsBGW,IACDC,MAjDC,eADHC,EAkDW,CACPC,MAAOH,EAAME,QAAQC,OAASH,EAAMI,MAAMC,OAAO,0BACjDC,iBAAkBN,EAAME,QAAQI,kBAAoBN,EAAMI,MAAMC,OAAO,4BACvEE,cAAeP,EAAME,QAAQK,eAAiBP,EAAMI,MAAMC,OAAO,oBACjEG,yBAA0BR,EAAME,QAAQM,0BAA4BR,EAAMI,MAAMC,OAAO,sBApD1EF,sCAEND,EAAQK,uDAGRL,EAAQI,mEAGRJ,EAAQM,mCAVnBN,KAuDI,UAGOO,cAAgBpB,gBAAAA,QAAOC,SAAQC,WAAA,CAAAI,YAAA,0BAAAC,YAAA,mBAAfP,CAAe,CAAA,mMAiB/BqB,cAAgBC,OAAAA,kBAAiB,CAAA,GAAA,KACzCX,GAAU,iCAECA,EAAMY,uEAMf,MAAMC,WAAaxB,gBAAAA,QAAOyB,WAAMvB,WAAqC,CAC1EC,kBAAoBO,GAAYA,IAAY,WAC5CR,WAAA,CAAAI,YAAA,uBAAAC,YAAA,mBAFwBP,CAExB,CAAA,GAAA,KACGW,GAAU,0HAMDA,EAAMY,sEAGLZ,EAAMI,MAAMC,OAAO"}
1
+ {"version":3,"file":"style.js","sources":["../../../../src/components/Textarea/style.ts"],"sourcesContent":["import styled, { createGlobalStyle } from 'styled-components'\nimport { Icon } from 'components/Icon'\nimport { baseInputStyle } from 'components/Input/style'\nimport type { TextareaProps, StyledTextareaProps, TextareaPalette, StyledResizeControlProps } from './types'\n\nconst template = (\n palette: Pick<TextareaPalette, 'color' | 'colorDisabled' | 'placeholderColor' | 'placeholderColorDisabled'>\n) => `\n color: ${palette.color};\n &:disabled {\n color: ${palette.colorDisabled};\n }\n &::placeholder {\n color: ${palette.placeholderColor};\n }\n &:disabled::placeholder {\n color: ${palette.placeholderColorDisabled};\n }\n`\n\nexport const Root = styled.textarea.withConfig<TextareaProps>({\n shouldForwardProp: (prop) =>\n !['color', 'placeholderColor', 'rounded', 'fluid', 'error'].includes(prop) && !prop.includes('width'),\n})`\n resize: none;\n line-height: 23px;\n padding: 16px 20px 11px;\n\n ${baseInputStyle}\n`\n\nexport const Textarea = styled.textarea.withConfig<StyledTextareaProps>({\n shouldForwardProp: (propKey) => !['palette'].includes(propKey),\n})`\n box-sizing: border-box;\n display: block;\n appearance: none;\n resize: none;\n overflow: auto;\n border: none;\n padding: 0;\n margin: 0;\n background-color: transparent;\n font: inherit;\n width: 100%;\n cursor: pointer;\n &:disabled {\n cursor: not-allowed;\n }\n &:focus {\n outline: none;\n }\n &:focus:read-write {\n cursor: text;\n }\n ${(props) =>\n template({\n color: props.palette.color ?? props.theme.colors['content-onmain-primary'],\n placeholderColor: props.palette.placeholderColor ?? props.theme.colors['content-onmain-secondary'],\n colorDisabled: props.palette.colorDisabled ?? props.theme.colors['content-disabled'],\n placeholderColorDisabled: props.palette.placeholderColorDisabled ?? props.theme.colors['content-disabled'],\n })}\n`\n\nexport const TextareaMimic = styled.textarea`\n box-sizing: border-box;\n display: block;\n visibility: hidden;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n appearance: none;\n resize: none;\n overflow: hidden;\n border: none;\n padding: 0;\n margin: 0;\n font: inherit;\n`\n\nexport const ResizeGlobals = createGlobalStyle<StyledResizeControlProps>`\n ${(props) => `\n body * {\n cursor: ${props.cursor} !important;\n user-select: none !important;\n }\n `}\n`\n\nexport const ResizeIcon = styled(Icon).withConfig<StyledResizeControlProps>({\n shouldForwardProp: (propKey) => propKey !== 'cursor',\n})`\n ${(props) => `\n position: absolute;\n right: 0px;\n bottom: 0px;\n padding: 4px;\n touch-action: none; \n cursor: ${props.cursor};\n &:focus-visible {\n outline: none;\n color: ${props.theme.colors['border-focus']};\n }\n &:focus-visible > svg {\n transform: scale(1.2);\n }\n `}\n`\n"],"names":["Root","styled","textarea","withConfig","shouldForwardProp","prop","includes","displayName","componentId","baseInputStyle","Textarea","propKey","props","template","palette","color","theme","colors","placeholderColor","colorDisabled","placeholderColorDisabled","TextareaMimic","ResizeGlobals","createGlobalStyle","cursor","ResizeIcon","Icon"],"mappings":"6OAoBO,MAAMA,KAAOC,gBAAAA,QAAOC,SAASC,WAA0B,CAC5DC,kBAAoBC,IACjB,CAAC,QAAS,mBAAoB,UAAW,QAAS,SAASC,SAASD,KAAUA,EAAKC,SAAS,WAC/FH,WAAA,CAAAI,YAAA,iBAAAC,YAAA,mBAHkBP,CAGlB,CAAA,uDAAA,IAKEQ,MAAAA,gBAGG,MAAMC,SAAWT,gBAAAA,QAAOC,SAASC,WAAgC,CACtEC,kBAAoBO,IAAa,CAAC,WAAWL,SAASK,KACtDR,WAAA,CAAAI,YAAA,WAAAC,YAAA,mBAFsBP,CAEtB,CAAA,yQAAA,IAsBGW,IACDC,MAjDC,eADHC,EAkDW,CACPC,MAAOH,EAAME,QAAQC,OAASH,EAAMI,MAAMC,OAAO,0BACjDC,iBAAkBN,EAAME,QAAQI,kBAAoBN,EAAMI,MAAMC,OAAO,4BACvEE,cAAeP,EAAME,QAAQK,eAAiBP,EAAMI,MAAMC,OAAO,oBACjEG,yBAA0BR,EAAME,QAAQM,0BAA4BR,EAAMI,MAAMC,OAAO,sBApD1EF,sCAEND,EAAQK,uDAGRL,EAAQI,mEAGRJ,EAAQM,mCAVnBN,cA0DWO,cAAgBpB,gBAAAA,QAAOC,SAAQC,WAAA,CAAAI,YAAA,0BAAAC,YAAA,mBAAfP,CAAe,CAAA,mMAiB/BqB,cAAgBC,OAAAA,kBAAiB,CAAA,GAAA,IACzCX,GAAU,iCAECA,EAAMY,sEAMf,MAAMC,WAAaxB,gBAAAA,QAAOyB,WAAMvB,WAAqC,CAC1EC,kBAAoBO,GAAYA,IAAY,WAC5CR,WAAA,CAAAI,YAAA,uBAAAC,YAAA,mBAFwBP,CAExB,CAAA,GAAA,IACGW,GAAU,0HAMDA,EAAMY,sEAGLZ,EAAMI,MAAMC,OAAO"}
@@ -1,2 +1,2 @@
1
- import styled,{createGlobalStyle}from'styled-components';import{baseInputStyle}from'../Input/style.mjs';import{Icon}from'../Icon/Icon.mjs';const Root=styled.textarea.withConfig({shouldForwardProp:o=>!['color','placeholderColor','rounded','fluid','error'].includes(o)&&!o.includes('width')}).withConfig({displayName:"Textarea__Root",componentId:"ui__sc-a4hfy5-0"})(["resize:none;line-height:23px;padding:16px 20px 11px;",""],baseInputStyle);const Textarea=styled.textarea.withConfig({shouldForwardProp:o=>!['palette'].includes(o)}).withConfig({displayName:"Textarea",componentId:"ui__sc-a4hfy5-1"})(["box-sizing:border-box;display:block;appearance:none;resize:none;overflow:auto;border:none;padding:0;margin:0;background-color:transparent;font:inherit;width:100%;cursor:pointer;&:disabled{cursor:not-allowed;}&:focus{outline:none;}&:focus:read-write{cursor:text;}",""],(o=>{return`\n color: ${(e={color:o.palette.color??o.theme.colors['content-onmain-primary'],placeholderColor:o.palette.placeholderColor??o.theme.colors['content-onmain-secondary'],colorDisabled:o.palette.colorDisabled??o.theme.colors['content-disabled'],placeholderColorDisabled:o.palette.placeholderColorDisabled??o.theme.colors['content-disabled']}).color};\n &:disabled {\n color: ${e.colorDisabled};\n }\n &::placeholder {\n color: ${e.placeholderColor};\n }\n &:disabled::placeholder {\n color: ${e.placeholderColorDisabled};\n }\n`;var e}));const TextareaMimic=styled.textarea.withConfig({displayName:"Textarea__TextareaMimic",componentId:"ui__sc-a4hfy5-2"})(["box-sizing:border-box;display:block;visibility:hidden;position:absolute;top:0;left:0;width:100%;appearance:none;resize:none;overflow:hidden;border:none;padding:0;margin:0;font:inherit;"]);const ResizeGlobals=createGlobalStyle(["",""],(o=>`\n body * {\n cursor: ${o.cursor} !important;\n user-select: none !important;\n }\n `));const ResizeIcon=styled(Icon).withConfig({shouldForwardProp:o=>o!=='cursor'}).withConfig({displayName:"Textarea__ResizeIcon",componentId:"ui__sc-a4hfy5-3"})(["",""],(o=>`\n position: absolute;\n right: 0px;\n bottom: 0px;\n padding: 4px;\n touch-action: none; \n cursor: ${o.cursor};\n &:focus-visible {\n outline: none;\n color: ${o.theme.colors['border-focus']};\n }\n &:focus-visible > svg {\n transform: scale(1.2);\n }\n `));export{ResizeGlobals,ResizeIcon,Root,Textarea,TextareaMimic};
1
+ import styled,{createGlobalStyle}from'styled-components';import{baseInputStyle}from'../Input/style.mjs';import{Icon}from'../Icon/Icon.mjs';const Root=styled.textarea.withConfig({shouldForwardProp:o=>!['color','placeholderColor','rounded','fluid','error'].includes(o)&&!o.includes('width')}).withConfig({displayName:"Textarea__Root",componentId:"ui__sc-a4hfy5-0"})(["resize:none;line-height:23px;padding:16px 20px 11px;",""],baseInputStyle);const Textarea=styled.textarea.withConfig({shouldForwardProp:o=>!['palette'].includes(o)}).withConfig({displayName:"Textarea",componentId:"ui__sc-a4hfy5-1"})(["box-sizing:border-box;display:block;appearance:none;resize:none;overflow:auto;border:none;padding:0;margin:0;background-color:transparent;font:inherit;width:100%;cursor:pointer;&:disabled{cursor:not-allowed;}&:focus{outline:none;}&:focus:read-write{cursor:text;}",""],o=>{return`\n color: ${(e={color:o.palette.color??o.theme.colors['content-onmain-primary'],placeholderColor:o.palette.placeholderColor??o.theme.colors['content-onmain-secondary'],colorDisabled:o.palette.colorDisabled??o.theme.colors['content-disabled'],placeholderColorDisabled:o.palette.placeholderColorDisabled??o.theme.colors['content-disabled']}).color};\n &:disabled {\n color: ${e.colorDisabled};\n }\n &::placeholder {\n color: ${e.placeholderColor};\n }\n &:disabled::placeholder {\n color: ${e.placeholderColorDisabled};\n }\n`;var e});const TextareaMimic=styled.textarea.withConfig({displayName:"Textarea__TextareaMimic",componentId:"ui__sc-a4hfy5-2"})(["box-sizing:border-box;display:block;visibility:hidden;position:absolute;top:0;left:0;width:100%;appearance:none;resize:none;overflow:hidden;border:none;padding:0;margin:0;font:inherit;"]);const ResizeGlobals=createGlobalStyle(["",""],o=>`\n body * {\n cursor: ${o.cursor} !important;\n user-select: none !important;\n }\n `);const ResizeIcon=styled(Icon).withConfig({shouldForwardProp:o=>o!=='cursor'}).withConfig({displayName:"Textarea__ResizeIcon",componentId:"ui__sc-a4hfy5-3"})(["",""],o=>`\n position: absolute;\n right: 0px;\n bottom: 0px;\n padding: 4px;\n touch-action: none; \n cursor: ${o.cursor};\n &:focus-visible {\n outline: none;\n color: ${o.theme.colors['border-focus']};\n }\n &:focus-visible > svg {\n transform: scale(1.2);\n }\n `);export{ResizeGlobals,ResizeIcon,Root,Textarea,TextareaMimic};
2
2
  //# sourceMappingURL=style.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"style.mjs","sources":["../../../../src/components/Textarea/style.ts"],"sourcesContent":["import styled, { createGlobalStyle } from 'styled-components'\nimport { Icon } from 'components/Icon'\nimport { baseInputStyle } from 'components/Input/style'\nimport type { TextareaProps, StyledTextareaProps, TextareaPalette, StyledResizeControlProps } from './types'\n\nconst template = (\n palette: Pick<TextareaPalette, 'color' | 'colorDisabled' | 'placeholderColor' | 'placeholderColorDisabled'>\n) => `\n color: ${palette.color};\n &:disabled {\n color: ${palette.colorDisabled};\n }\n &::placeholder {\n color: ${palette.placeholderColor};\n }\n &:disabled::placeholder {\n color: ${palette.placeholderColorDisabled};\n }\n`\n\nexport const Root = styled.textarea.withConfig<TextareaProps>({\n shouldForwardProp: (prop) =>\n !['color', 'placeholderColor', 'rounded', 'fluid', 'error'].includes(prop) && !prop.includes('width'),\n})`\n resize: none;\n line-height: 23px;\n padding: 16px 20px 11px;\n\n ${baseInputStyle}\n`\n\nexport const Textarea = styled.textarea.withConfig<StyledTextareaProps>({\n shouldForwardProp: (propKey) => !['palette'].includes(propKey),\n})`\n box-sizing: border-box;\n display: block;\n appearance: none;\n resize: none;\n overflow: auto;\n border: none;\n padding: 0;\n margin: 0;\n background-color: transparent;\n font: inherit;\n width: 100%;\n cursor: pointer;\n &:disabled {\n cursor: not-allowed;\n }\n &:focus {\n outline: none;\n }\n &:focus:read-write {\n cursor: text;\n }\n ${(props) =>\n template({\n color: props.palette.color ?? props.theme.colors['content-onmain-primary'],\n placeholderColor: props.palette.placeholderColor ?? props.theme.colors['content-onmain-secondary'],\n colorDisabled: props.palette.colorDisabled ?? props.theme.colors['content-disabled'],\n placeholderColorDisabled: props.palette.placeholderColorDisabled ?? props.theme.colors['content-disabled'],\n })}\n`\n\nexport const TextareaMimic = styled.textarea`\n box-sizing: border-box;\n display: block;\n visibility: hidden;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n appearance: none;\n resize: none;\n overflow: hidden;\n border: none;\n padding: 0;\n margin: 0;\n font: inherit;\n`\n\nexport const ResizeGlobals = createGlobalStyle<StyledResizeControlProps>`\n ${(props) => `\n body * {\n cursor: ${props.cursor} !important;\n user-select: none !important;\n }\n `}\n`\n\nexport const ResizeIcon = styled(Icon).withConfig<StyledResizeControlProps>({\n shouldForwardProp: (propKey) => propKey !== 'cursor',\n})`\n ${(props) => `\n position: absolute;\n right: 0px;\n bottom: 0px;\n padding: 4px;\n touch-action: none; \n cursor: ${props.cursor};\n &:focus-visible {\n outline: none;\n color: ${props.theme.colors['border-focus']};\n }\n &:focus-visible > svg {\n transform: scale(1.2);\n }\n `}\n`\n"],"names":["Root","styled","textarea","withConfig","shouldForwardProp","prop","includes","displayName","componentId","baseInputStyle","Textarea","propKey","props","template","palette","color","theme","colors","placeholderColor","colorDisabled","placeholderColorDisabled","TextareaMimic","ResizeGlobals","createGlobalStyle","cursor","ResizeIcon","Icon"],"mappings":"2IAoBO,MAAMA,KAAOC,OAAOC,SAASC,WAA0B,CAC5DC,kBAAoBC,IACjB,CAAC,QAAS,mBAAoB,UAAW,QAAS,SAASC,SAASD,KAAUA,EAAKC,SAAS,WAC/FH,WAAA,CAAAI,YAAA,iBAAAC,YAAA,mBAHkBP,CAGlB,CAAA,uDAAA,IAKEQ,gBAGG,MAAMC,SAAWT,OAAOC,SAASC,WAAgC,CACtEC,kBAAoBO,IAAa,CAAC,WAAWL,SAASK,KACtDR,WAAA,CAAAI,YAAA,WAAAC,YAAA,mBAFsBP,CAEtB,CAAA,yQAAA,KAsBGW,IACDC,MAjDC,eADHC,EAkDW,CACPC,MAAOH,EAAME,QAAQC,OAASH,EAAMI,MAAMC,OAAO,0BACjDC,iBAAkBN,EAAME,QAAQI,kBAAoBN,EAAMI,MAAMC,OAAO,4BACvEE,cAAeP,EAAME,QAAQK,eAAiBP,EAAMI,MAAMC,OAAO,oBACjEG,yBAA0BR,EAAME,QAAQM,0BAA4BR,EAAMI,MAAMC,OAAO,sBApD1EF,sCAEND,EAAQK,uDAGRL,EAAQI,mEAGRJ,EAAQM,mCAVnBN,KAuDI,UAGOO,cAAgBpB,OAAOC,SAAQC,WAAA,CAAAI,YAAA,0BAAAC,YAAA,mBAAfP,CAAe,CAAA,mMAiB/BqB,cAAgBC,kBAAiB,CAAA,GAAA,KACzCX,GAAU,iCAECA,EAAMY,uEAMf,MAAMC,WAAaxB,OAAOyB,MAAMvB,WAAqC,CAC1EC,kBAAoBO,GAAYA,IAAY,WAC5CR,WAAA,CAAAI,YAAA,uBAAAC,YAAA,mBAFwBP,CAExB,CAAA,GAAA,KACGW,GAAU,0HAMDA,EAAMY,sEAGLZ,EAAMI,MAAMC,OAAO"}
1
+ {"version":3,"file":"style.mjs","sources":["../../../../src/components/Textarea/style.ts"],"sourcesContent":["import styled, { createGlobalStyle } from 'styled-components'\nimport { Icon } from 'components/Icon'\nimport { baseInputStyle } from 'components/Input/style'\nimport type { TextareaProps, StyledTextareaProps, TextareaPalette, StyledResizeControlProps } from './types'\n\nconst template = (\n palette: Pick<TextareaPalette, 'color' | 'colorDisabled' | 'placeholderColor' | 'placeholderColorDisabled'>\n) => `\n color: ${palette.color};\n &:disabled {\n color: ${palette.colorDisabled};\n }\n &::placeholder {\n color: ${palette.placeholderColor};\n }\n &:disabled::placeholder {\n color: ${palette.placeholderColorDisabled};\n }\n`\n\nexport const Root = styled.textarea.withConfig<TextareaProps>({\n shouldForwardProp: (prop) =>\n !['color', 'placeholderColor', 'rounded', 'fluid', 'error'].includes(prop) && !prop.includes('width'),\n})`\n resize: none;\n line-height: 23px;\n padding: 16px 20px 11px;\n\n ${baseInputStyle}\n`\n\nexport const Textarea = styled.textarea.withConfig<StyledTextareaProps>({\n shouldForwardProp: (propKey) => !['palette'].includes(propKey),\n})`\n box-sizing: border-box;\n display: block;\n appearance: none;\n resize: none;\n overflow: auto;\n border: none;\n padding: 0;\n margin: 0;\n background-color: transparent;\n font: inherit;\n width: 100%;\n cursor: pointer;\n &:disabled {\n cursor: not-allowed;\n }\n &:focus {\n outline: none;\n }\n &:focus:read-write {\n cursor: text;\n }\n ${(props) =>\n template({\n color: props.palette.color ?? props.theme.colors['content-onmain-primary'],\n placeholderColor: props.palette.placeholderColor ?? props.theme.colors['content-onmain-secondary'],\n colorDisabled: props.palette.colorDisabled ?? props.theme.colors['content-disabled'],\n placeholderColorDisabled: props.palette.placeholderColorDisabled ?? props.theme.colors['content-disabled'],\n })}\n`\n\nexport const TextareaMimic = styled.textarea`\n box-sizing: border-box;\n display: block;\n visibility: hidden;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n appearance: none;\n resize: none;\n overflow: hidden;\n border: none;\n padding: 0;\n margin: 0;\n font: inherit;\n`\n\nexport const ResizeGlobals = createGlobalStyle<StyledResizeControlProps>`\n ${(props) => `\n body * {\n cursor: ${props.cursor} !important;\n user-select: none !important;\n }\n `}\n`\n\nexport const ResizeIcon = styled(Icon).withConfig<StyledResizeControlProps>({\n shouldForwardProp: (propKey) => propKey !== 'cursor',\n})`\n ${(props) => `\n position: absolute;\n right: 0px;\n bottom: 0px;\n padding: 4px;\n touch-action: none; \n cursor: ${props.cursor};\n &:focus-visible {\n outline: none;\n color: ${props.theme.colors['border-focus']};\n }\n &:focus-visible > svg {\n transform: scale(1.2);\n }\n `}\n`\n"],"names":["Root","styled","textarea","withConfig","shouldForwardProp","prop","includes","displayName","componentId","baseInputStyle","Textarea","propKey","props","template","palette","color","theme","colors","placeholderColor","colorDisabled","placeholderColorDisabled","TextareaMimic","ResizeGlobals","createGlobalStyle","cursor","ResizeIcon","Icon"],"mappings":"2IAoBO,MAAMA,KAAOC,OAAOC,SAASC,WAA0B,CAC5DC,kBAAoBC,IACjB,CAAC,QAAS,mBAAoB,UAAW,QAAS,SAASC,SAASD,KAAUA,EAAKC,SAAS,WAC/FH,WAAA,CAAAI,YAAA,iBAAAC,YAAA,mBAHkBP,CAGlB,CAAA,uDAAA,IAKEQ,gBAGG,MAAMC,SAAWT,OAAOC,SAASC,WAAgC,CACtEC,kBAAoBO,IAAa,CAAC,WAAWL,SAASK,KACtDR,WAAA,CAAAI,YAAA,WAAAC,YAAA,mBAFsBP,CAEtB,CAAA,yQAAA,IAsBGW,IACDC,MAjDC,eADHC,EAkDW,CACPC,MAAOH,EAAME,QAAQC,OAASH,EAAMI,MAAMC,OAAO,0BACjDC,iBAAkBN,EAAME,QAAQI,kBAAoBN,EAAMI,MAAMC,OAAO,4BACvEE,cAAeP,EAAME,QAAQK,eAAiBP,EAAMI,MAAMC,OAAO,oBACjEG,yBAA0BR,EAAME,QAAQM,0BAA4BR,EAAMI,MAAMC,OAAO,sBApD1EF,sCAEND,EAAQK,uDAGRL,EAAQI,mEAGRJ,EAAQM,mCAVnBN,cA0DWO,cAAgBpB,OAAOC,SAAQC,WAAA,CAAAI,YAAA,0BAAAC,YAAA,mBAAfP,CAAe,CAAA,mMAiB/BqB,cAAgBC,kBAAiB,CAAA,GAAA,IACzCX,GAAU,iCAECA,EAAMY,sEAMf,MAAMC,WAAaxB,OAAOyB,MAAMvB,WAAqC,CAC1EC,kBAAoBO,GAAYA,IAAY,WAC5CR,WAAA,CAAAI,YAAA,uBAAAC,YAAA,mBAFwBP,CAExB,CAAA,GAAA,IACGW,GAAU,0HAMDA,EAAMY,sEAGLZ,EAAMI,MAAMC,OAAO"}
@@ -1,2 +1,2 @@
1
- 'use strict';var React=require('react');var styled=require('styled-components');var Floater=require('react-floater');var withMergedProps=require('../../hocs/withMergedProps.js');var useResizeObserver=require('../../hooks/useResizeObserver.js');var misc=require('../../shared/utils/misc.js');var TooltipWrapper=require('./TooltipWrapper.js');var defaultConstants=require('./default-constants.js');var jsxRuntime=require('react/jsx-runtime');var TooltipComponent=require('../TooltipComponent/TooltipComponent.js');var constants=require('../TooltipComponent/constants.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Floater__default=_interopDefault(Floater);const Tooltip=Object.assign(withMergedProps.withMergedProps(React.forwardRef(((e,t)=>{const{preset:o,size:s="s",styles:r={},closeOnClickOutside:n=!1,sizeXXS:i,sizeXS:l,sizeS:a,sizeM:p,sizeL:c,sizeXL:u,sizeUnits:d,sizes:m,palette:f,black:z,contrast:b,titleProps:g,contentProps:T,closeButtonProps:v,closeOnScroll:j,portalElement:C,zIndex:h,...y}=e;const x=styled.useTheme();const[P,R]=React.useState(null);const[O,S]=React.useState(null);const _=typeof h=='number'?misc.deepmerge(r,{options:{zIndex:h}}):r;if(React.useLayoutEffect((()=>{if(C)R(null);else if(document.body){let e=document.querySelector('[data-popper-portal]');e||(e=document.createElement('div'),e.dataset.popperPortal='true',e.style.position='relative',document.body.appendChild(e)),R(e)}}),[C]),useResizeObserver.useResizeObserver({target:document.body,onResize:()=>{O&&O.state.options.strategy==='absolute'&&O.update()}}),!C&&!P)return null;if(o!=='brand'){const e={...y,portalElement:C??P,styles:misc.deepmerge(defaultConstants.TOOLTIP_STYLES_DEFAULT,_)};return jsxRuntime.jsx(Floater__default.default,{...e,children:jsxRuntime.jsx("span",{children:e.children})})}let q=x.colors['bg-onmain-primary'];z&&(q=x.colors['bg-onmain-inverse']),b&&(q=x.colors['bg-brand-primary-basic']),f?.backgroundColor&&(q=x.colors[f.backgroundColor]??f.backgroundColor);const E={...y,portalElement:C??P,getPopper:(e,t)=>{S(e),y.getPopper&&y.getPopper(e,t)},offset:y.offset??8,styles:misc.deepmerge({arrow:{color:q,spread:16,length:8},floater:{filter:`drop-shadow(0 6px 10px ${x.colors['bg-oncolor-hover']})`}},_),component:jsxRuntime.jsx(TooltipWrapper.TooltipWrapper,{ref:t,size:s,sizeXXS:i,sizeXS:l,sizeS:a,sizeM:p,sizeL:c,sizeXL:u,sizeUnits:d,sizes:m,palette:f,black:z,contrast:b,title:y.title,titleProps:g,content:y.content,contentProps:T,footer:y.footer,showCloseButton:y.showCloseButton,closeButtonProps:v,closeOnClickOutside:n,closeOnScroll:j,component:y.component})};return jsxRuntime.jsx(Floater__default.default,{...E,modifiers:{flip:{enabled:!E.disableFlip}}})})),{displayName:"Tooltip",sizes:constants.SIZES}),{Component:TooltipComponent.TooltipComponent});exports.COMPONENT_NAME="Tooltip",exports.Tooltip=Tooltip;
1
+ 'use strict';var React=require('react');var styled=require('styled-components');var Floater=require('react-floater');var useMergedProps=require('../../hooks/useMergedProps.js');var useResizeObserver=require('../../hooks/useResizeObserver.js');var misc=require('../../shared/utils/misc.js');var TooltipWrapper=require('./TooltipWrapper.js');var defaultConstants=require('./default-constants.js');var jsxRuntime=require('react/jsx-runtime');var TooltipComponent=require('../TooltipComponent/TooltipComponent.js');var sizes=require('../TooltipComponent/sizes.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Floater__default=_interopDefault(Floater);const Tooltip=Object.assign(React.forwardRef((e,o)=>{const{size:t="s",position:r="bottom",styles:s={},closeOnClickOutside:l=!1,closeOnScroll:n=!1,zIndex:i=100,palette:a={},preset:p,trigger:u,autoOpen:c,callback:d,debug:m,disableFlip:f,disableHoverToClick:b,event:v,eventDelay:g,getPopper:T,hideArrow:y,offset:C,open:j,portalElement:O,target:x,wrapperOptions:h,showCloseButton:R,component:z,children:_,...k}=useMergedProps.useMergedProps(e,{componentName:"Tooltip",sizes:sizes.SIZES});const q=styled.useTheme();const[w,E]=React.useState(null);const[P,S]=React.useState(null);if(React.useLayoutEffect(()=>{if(O)E(null);else if(document.body){let e=document.querySelector('[data-popper-portal]');e||(e=document.createElement('div'),e.dataset.popperPortal='true',e.style.position='relative',document.body.appendChild(e)),E(e)}},[O]),useResizeObserver.useResizeObserver({target:document.body,onResize:()=>{P&&P.state.options.strategy==='absolute'&&P.update()}}),!O&&!w)return null;const F={autoOpen:c,callback:d,debug:m,disableFlip:f,disableHoverToClick:b,event:v,eventDelay:g,hideArrow:y,open:j,placement:r,portalElement:O??w,target:x,wrapperOptions:h,showCloseButton:R,offset:C??8,getPopper:(e,o)=>{S(e),T&&T(e,o)},modifiers:{flip:{enabled:!f}},styles:misc.deepmerge(s,{options:{zIndex:i}})};if(p!=='brand')return jsxRuntime.jsx(Floater__default.default,{...F,styles:misc.deepmerge(defaultConstants.TOOLTIP_STYLES_DEFAULT,F.styles),title:typeof k.title!='function'?k.title:void 0,content:typeof k.content!='function'?k.content:void 0,children:jsxRuntime.jsx("span",{children:u??_})});let M=q.colors['bg-onmain-primary'];return k.black&&(M=q.colors['bg-onmain-inverse']),k.contrast&&(M=q.colors['bg-brand-primary-basic']),a.backgroundColor&&(M=q.colors[a.backgroundColor]??a.backgroundColor),jsxRuntime.jsx(Floater__default.default,{...F,styles:misc.deepmerge({arrow:{color:M,spread:16,length:8},floater:{filter:`drop-shadow(0 6px 10px ${q.colors['bg-oncolor-hover']})`}},F.styles),component:jsxRuntime.jsx(TooltipWrapper.TooltipWrapper,{ref:o,closeOnClickOutside:l,closeOnScroll:n,children:z??jsxRuntime.jsx(TooltipComponent.TooltipComponent,{...k,size:t,palette:a})}),children:u??_})}),{Component:TooltipComponent.TooltipComponent});exports.COMPONENT_NAME="Tooltip",exports.Tooltip=Tooltip;
2
2
  //# sourceMappingURL=Tooltip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import { forwardRef, useState, useLayoutEffect } from 'react'\nimport { useTheme } from 'styled-components'\nimport Floater from 'react-floater'\nimport type { Props as FloaterProps, PopperInstance, Styles } from 'react-floater'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { useResizeObserver } from 'hooks/useResizeObserver'\nimport { SIZES, TooltipComponent } from 'components/TooltipComponent'\nimport { deepmerge } from 'shared/utils/misc'\nimport { TooltipWrapper } from './TooltipWrapper'\nimport { TOOLTIP_STYLES_DEFAULT } from './default-constants'\nimport type { TooltipProps } from './types'\n\nconst COMPONENT_NAME = 'Tooltip'\n\n/**\n *\n * Компонент поддерживает все атрибуты \\<div\\> элемента.\n *\n * Можно передать \"ref\", который будет ассоциирован с рутовым элементом.\n *\n * Поддерживаются пропсы определения размеров в зависимости от ширины вьюпорта.\n *\n * Компонент основан на [\"react-floater\"](https://www.npmjs.com/package/react-floater).\n *\n * Получить доступ к компоненту, не подключенному к библиотеке, можно через `Tooltip.Component`.\n *\n * Полный интерфейс `Tooltip` можно посмотреть [тут](https://github.com/foxford/ui/blob/master/packages/ui/src/components/Tooltip/types.ts), интерфейс `Tooltip.Component` [тут](https://github.com/foxford/ui/blob/master/packages/ui/src/components/TooltipComponent/types.ts).\n *\n */\nconst Tooltip: React.ForwardRefExoticComponent<TooltipProps> & { Component: typeof TooltipComponent } = Object.assign(\n withMergedProps<TooltipProps, HTMLDivElement>(\n forwardRef<HTMLDivElement, MergedProps<TooltipProps>>((props, ref) => {\n const {\n preset,\n size = 's',\n styles = {},\n closeOnClickOutside = false,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n sizeUnits,\n sizes,\n palette,\n black,\n contrast,\n titleProps,\n contentProps,\n closeButtonProps,\n closeOnScroll,\n portalElement,\n zIndex,\n ...restProps\n } = props\n\n const theme = useTheme()\n\n const [portal, setPortal] = useState<HTMLElement | null>(null)\n const [popper, setPopper] = useState<PopperInstance | null>(null)\n\n const floaterStyles: Partial<Styles> =\n typeof zIndex === 'number' ? deepmerge(styles, { options: { zIndex } }) : styles\n\n useLayoutEffect(() => {\n if (portalElement) {\n setPortal(null)\n } else if (document.body) {\n let popperPortal = document.querySelector<HTMLElement>('[data-popper-portal]')\n\n if (!popperPortal) {\n popperPortal = document.createElement('div')\n popperPortal.dataset.popperPortal = 'true'\n popperPortal.style.position = 'relative'\n\n document.body.appendChild(popperPortal)\n }\n\n setPortal(popperPortal)\n }\n }, [portalElement])\n\n useResizeObserver({\n target: document.body,\n onResize: () => {\n if (popper && popper.state.options.strategy === 'absolute') {\n popper.update()\n }\n },\n })\n\n if (!portalElement && !portal) {\n return null\n }\n\n if (preset !== 'brand') {\n const tooltipProps = {\n ...restProps,\n portalElement: portalElement ?? portal,\n styles: deepmerge(TOOLTIP_STYLES_DEFAULT, floaterStyles),\n } as FloaterProps\n\n return (\n <Floater {...tooltipProps}>\n <span>{tooltipProps.children}</span>\n </Floater>\n )\n }\n\n let color = theme.colors['bg-onmain-primary']\n\n if (black) color = theme.colors['bg-onmain-inverse']\n if (contrast) color = theme.colors['bg-brand-primary-basic']\n if (palette?.backgroundColor) {\n color = theme.colors[palette.backgroundColor as keyof typeof theme.colors] ?? palette.backgroundColor\n }\n\n const tooltipProps = {\n ...restProps,\n portalElement: portalElement ?? portal,\n getPopper: (popperInstance, origin) => {\n setPopper(popperInstance)\n if (restProps.getPopper) {\n restProps.getPopper(popperInstance, origin)\n }\n },\n offset: restProps.offset ?? 8,\n styles: deepmerge(\n {\n arrow: {\n color,\n spread: 16,\n length: 8,\n },\n floater: {\n filter: `drop-shadow(0 6px 10px ${theme.colors['bg-oncolor-hover']})`,\n },\n },\n floaterStyles\n ),\n component: (\n <TooltipWrapper\n ref={ref}\n size={size}\n sizeXXS={sizeXXS}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n sizeUnits={sizeUnits}\n sizes={sizes}\n palette={palette}\n black={black}\n contrast={contrast}\n title={restProps.title}\n titleProps={titleProps}\n content={restProps.content}\n contentProps={contentProps}\n footer={restProps.footer}\n showCloseButton={restProps.showCloseButton}\n closeButtonProps={closeButtonProps}\n closeOnClickOutside={closeOnClickOutside}\n closeOnScroll={closeOnScroll}\n component={restProps.component}\n />\n ),\n } as FloaterProps\n\n return (\n <Floater\n {...tooltipProps}\n modifiers={{\n flip: {\n enabled: !tooltipProps.disableFlip,\n },\n }}\n />\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n ),\n {\n Component: TooltipComponent,\n }\n)\n\nexport { Tooltip }\n\nexport { COMPONENT_NAME }\n"],"names":["Tooltip","Object","assign","withMergedProps","forwardRef","props","ref","preset","size","styles","closeOnClickOutside","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","sizeUnits","sizes","palette","black","contrast","titleProps","contentProps","closeButtonProps","closeOnScroll","portalElement","zIndex","restProps","theme","useTheme","portal","setPortal","useState","popper","setPopper","floaterStyles","deepmerge","options","useLayoutEffect","document","body","popperPortal","querySelector","createElement","dataset","style","position","appendChild","useResizeObserver","target","onResize","state","strategy","update","tooltipProps","TOOLTIP_STYLES_DEFAULT","_jsx","Floater","children","color","colors","backgroundColor","getPopper","popperInstance","origin","offset","arrow","spread","length","floater","filter","component","TooltipWrapper","title","content","footer","showCloseButton","modifiers","flip","enabled","disableFlip","displayName","SIZES","Component","TooltipComponent"],"mappings":"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"}
1
+ {"version":3,"file":"Tooltip.js","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import { forwardRef, useState, useLayoutEffect } from 'react'\nimport { useTheme } from 'styled-components'\nimport Floater from 'react-floater'\nimport type { PopperInstance, Props as FloaterProps } from 'react-floater'\nimport { useMergedProps } from 'hooks/useMergedProps'\nimport { useResizeObserver } from 'hooks/useResizeObserver'\nimport { SIZES, TooltipComponent } from 'components/TooltipComponent'\nimport { deepmerge } from 'shared/utils/misc'\nimport { TooltipWrapper } from './TooltipWrapper'\nimport { TOOLTIP_STYLES_DEFAULT } from './default-constants'\nimport type { TooltipProps } from './types'\n\nconst COMPONENT_NAME = 'Tooltip'\n\n/**\n *\n * *v1.0.0*\n *\n * Компонент для отображения подсказок для элементов интерфейса.\n *\n * Поддерживаются все нативные атрибуты \\<div\\> элемента.\n */\nconst Tooltip: React.ForwardRefExoticComponent<TooltipProps> & { Component: typeof TooltipComponent } = Object.assign(\n forwardRef<HTMLDivElement, TooltipProps>((props, ref) => {\n const {\n size = 's',\n position = 'bottom',\n styles = {},\n closeOnClickOutside = false,\n closeOnScroll = false,\n zIndex = 100,\n palette = {},\n preset,\n trigger,\n autoOpen,\n callback,\n debug,\n disableFlip,\n disableHoverToClick,\n event,\n eventDelay,\n getPopper,\n hideArrow,\n offset,\n open,\n portalElement,\n target,\n wrapperOptions,\n showCloseButton,\n component,\n children,\n ...restProps\n } = useMergedProps<TooltipProps>(props, {\n componentName: COMPONENT_NAME,\n sizes: SIZES,\n })\n\n const theme = useTheme()\n\n const [portal, setPortal] = useState<HTMLElement | null>(null)\n const [popper, setPopper] = useState<PopperInstance | null>(null)\n\n useLayoutEffect(() => {\n if (portalElement) {\n setPortal(null)\n } else if (document.body) {\n let popperPortal = document.querySelector<HTMLElement>('[data-popper-portal]')\n\n if (!popperPortal) {\n popperPortal = document.createElement('div')\n popperPortal.dataset.popperPortal = 'true'\n popperPortal.style.position = 'relative'\n\n document.body.appendChild(popperPortal)\n }\n\n setPortal(popperPortal)\n }\n }, [portalElement])\n\n useResizeObserver({\n target: document.body,\n onResize: () => {\n if (popper && popper.state.options.strategy === 'absolute') {\n popper.update()\n }\n },\n })\n\n if (!portalElement && !portal) {\n return null\n }\n\n const floaterProps: Omit<FloaterProps, 'component' | 'content'> = {\n autoOpen,\n callback,\n debug,\n disableFlip,\n disableHoverToClick,\n event,\n eventDelay,\n hideArrow,\n open,\n placement: position,\n portalElement: portalElement ?? portal,\n target,\n wrapperOptions,\n showCloseButton,\n offset: offset ?? 8,\n getPopper: (popperInstance, origin) => {\n setPopper(popperInstance)\n if (getPopper) {\n getPopper(popperInstance, origin)\n }\n },\n modifiers: {\n flip: {\n enabled: !disableFlip,\n },\n },\n styles: deepmerge(styles, {\n options: {\n zIndex,\n },\n }),\n }\n\n if (preset !== 'brand') {\n return (\n <Floater\n {...floaterProps}\n styles={deepmerge(TOOLTIP_STYLES_DEFAULT, floaterProps.styles)}\n title={typeof restProps.title !== 'function' ? restProps.title : undefined}\n content={typeof restProps.content !== 'function' ? restProps.content : undefined}\n >\n <span>{trigger ?? children}</span>\n </Floater>\n )\n }\n\n let color = theme.colors['bg-onmain-primary']\n\n if (restProps.black) color = theme.colors['bg-onmain-inverse']\n if (restProps.contrast) color = theme.colors['bg-brand-primary-basic']\n if (palette.backgroundColor) {\n color = theme.colors[palette.backgroundColor as keyof typeof theme.colors] ?? palette.backgroundColor\n }\n\n return (\n <Floater\n {...floaterProps}\n styles={deepmerge(\n {\n arrow: { color, spread: 16, length: 8 },\n floater: {\n filter: `drop-shadow(0 6px 10px ${theme.colors['bg-oncolor-hover']})`,\n },\n },\n floaterProps.styles\n )}\n component={\n <TooltipWrapper ref={ref} closeOnClickOutside={closeOnClickOutside} closeOnScroll={closeOnScroll}>\n {component ?? <TooltipComponent {...restProps} size={size} palette={palette} />}\n </TooltipWrapper>\n }\n >\n {trigger ?? children}\n </Floater>\n )\n }),\n {\n Component: TooltipComponent,\n }\n)\n\nexport { Tooltip }\n\nexport { COMPONENT_NAME }\n"],"names":["Tooltip","Object","assign","forwardRef","props","ref","size","position","styles","closeOnClickOutside","closeOnScroll","zIndex","palette","preset","trigger","autoOpen","callback","debug","disableFlip","disableHoverToClick","event","eventDelay","getPopper","hideArrow","offset","open","portalElement","target","wrapperOptions","showCloseButton","component","children","restProps","useMergedProps","componentName","sizes","SIZES","theme","useTheme","portal","setPortal","useState","popper","setPopper","useLayoutEffect","document","body","popperPortal","querySelector","createElement","dataset","style","appendChild","useResizeObserver","onResize","state","options","strategy","update","floaterProps","placement","popperInstance","origin","modifiers","flip","enabled","deepmerge","_jsx","Floater","TOOLTIP_STYLES_DEFAULT","title","undefined","content","color","colors","black","contrast","backgroundColor","arrow","spread","length","floater","filter","TooltipWrapper","TooltipComponent","Component"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{forwardRef,useState,useLayoutEffect}from'react';import{useTheme}from'styled-components';import Floater from'react-floater';import{withMergedProps}from'../../hocs/withMergedProps.mjs';import{useResizeObserver}from'../../hooks/useResizeObserver.mjs';import{deepmerge}from'../../shared/utils/misc.mjs';import{TooltipWrapper}from'./TooltipWrapper.mjs';import{TOOLTIP_STYLES_DEFAULT}from'./default-constants.mjs';import{jsx}from'react/jsx-runtime';import{TooltipComponent}from'../TooltipComponent/TooltipComponent.mjs';import{SIZES}from'../TooltipComponent/constants.mjs';const COMPONENT_NAME='Tooltip';const Tooltip=Object.assign(withMergedProps(forwardRef(((e,o)=>{const{preset:t,size:s="s",styles:r={},closeOnClickOutside:n=!1,sizeXXS:i,sizeXS:l,sizeS:p,sizeM:a,sizeL:m,sizeXL:c,sizeUnits:d,sizes:u,palette:f,black:z,contrast:T,titleProps:b,contentProps:g,closeButtonProps:S,closeOnScroll:O,portalElement:h,zIndex:P,...y}=e;const C=useTheme();const[E,j]=useState(null);const[L,x]=useState(null);const w=typeof P=='number'?deepmerge(r,{options:{zIndex:P}}):r;if(useLayoutEffect((()=>{if(h)j(null);else if(document.body){let e=document.querySelector('[data-popper-portal]');e||(e=document.createElement('div'),e.dataset.popperPortal='true',e.style.position='relative',document.body.appendChild(e)),j(e)}}),[h]),useResizeObserver({target:document.body,onResize:()=>{L&&L.state.options.strategy==='absolute'&&L.update()}}),!h&&!E)return null;if(t!=='brand'){const e={...y,portalElement:h??E,styles:deepmerge(TOOLTIP_STYLES_DEFAULT,w)};return jsx(Floater,{...e,children:jsx("span",{children:e.children})})}let M=C.colors['bg-onmain-primary'];z&&(M=C.colors['bg-onmain-inverse']),T&&(M=C.colors['bg-brand-primary-basic']),f?.backgroundColor&&(M=C.colors[f.backgroundColor]??f.backgroundColor);const k={...y,portalElement:h??E,getPopper:(e,o)=>{x(e),y.getPopper&&y.getPopper(e,o)},offset:y.offset??8,styles:deepmerge({arrow:{color:M,spread:16,length:8},floater:{filter:`drop-shadow(0 6px 10px ${C.colors['bg-oncolor-hover']})`}},w),component:jsx(TooltipWrapper,{ref:o,size:s,sizeXXS:i,sizeXS:l,sizeS:p,sizeM:a,sizeL:m,sizeXL:c,sizeUnits:d,sizes:u,palette:f,black:z,contrast:T,title:y.title,titleProps:b,content:y.content,contentProps:g,footer:y.footer,showCloseButton:y.showCloseButton,closeButtonProps:S,closeOnClickOutside:n,closeOnScroll:O,component:y.component})};return jsx(Floater,{...k,modifiers:{flip:{enabled:!k.disableFlip}}})})),{displayName:"Tooltip",sizes:SIZES}),{Component:TooltipComponent});export{COMPONENT_NAME,Tooltip};
1
+ import{forwardRef,useState,useLayoutEffect}from'react';import{useTheme}from'styled-components';import Floater from'react-floater';import{useMergedProps}from'../../hooks/useMergedProps.mjs';import{useResizeObserver}from'../../hooks/useResizeObserver.mjs';import{deepmerge}from'../../shared/utils/misc.mjs';import{TooltipWrapper}from'./TooltipWrapper.mjs';import{TOOLTIP_STYLES_DEFAULT}from'./default-constants.mjs';import{jsx}from'react/jsx-runtime';import{TooltipComponent}from'../TooltipComponent/TooltipComponent.mjs';import{SIZES}from'../TooltipComponent/sizes.mjs';const COMPONENT_NAME='Tooltip';const Tooltip=Object.assign(forwardRef((e,o)=>{const{size:t="s",position:r="bottom",styles:s={},closeOnClickOutside:n=!1,closeOnScroll:l=!1,zIndex:p=100,palette:i={},preset:a,trigger:c,autoOpen:m,callback:d,debug:u,disableFlip:f,disableHoverToClick:b,event:T,eventDelay:g,getPopper:O,hideArrow:y,offset:C,open:h,portalElement:j,target:v,wrapperOptions:E,showCloseButton:S,component:k,children:x,...w}=useMergedProps(e,{componentName:"Tooltip",sizes:SIZES});const z=useTheme();const[P,L]=useState(null);const[F,M]=useState(null);if(useLayoutEffect(()=>{if(j)L(null);else if(document.body){let e=document.querySelector('[data-popper-portal]');e||(e=document.createElement('div'),e.dataset.popperPortal='true',e.style.position='relative',document.body.appendChild(e)),L(e)}},[j]),useResizeObserver({target:document.body,onResize:()=>{F&&F.state.options.strategy==='absolute'&&F.update()}}),!j&&!P)return null;const N={autoOpen:m,callback:d,debug:u,disableFlip:f,disableHoverToClick:b,event:T,eventDelay:g,hideArrow:y,open:h,placement:r,portalElement:j??P,target:v,wrapperOptions:E,showCloseButton:S,offset:C??8,getPopper:(e,o)=>{M(e),O&&O(e,o)},modifiers:{flip:{enabled:!f}},styles:deepmerge(s,{options:{zIndex:p}})};if(a!=='brand')return jsx(Floater,{...N,styles:deepmerge(TOOLTIP_STYLES_DEFAULT,N.styles),title:typeof w.title!='function'?w.title:void 0,content:typeof w.content!='function'?w.content:void 0,children:jsx("span",{children:c??x})});let A=z.colors['bg-onmain-primary'];return w.black&&(A=z.colors['bg-onmain-inverse']),w.contrast&&(A=z.colors['bg-brand-primary-basic']),i.backgroundColor&&(A=z.colors[i.backgroundColor]??i.backgroundColor),jsx(Floater,{...N,styles:deepmerge({arrow:{color:A,spread:16,length:8},floater:{filter:`drop-shadow(0 6px 10px ${z.colors['bg-oncolor-hover']})`}},N.styles),component:jsx(TooltipWrapper,{ref:o,closeOnClickOutside:n,closeOnScroll:l,children:k??jsx(TooltipComponent,{...w,size:t,palette:i})}),children:c??x})}),{Component:TooltipComponent});export{COMPONENT_NAME,Tooltip};
2
2
  //# sourceMappingURL=Tooltip.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.mjs","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import { forwardRef, useState, useLayoutEffect } from 'react'\nimport { useTheme } from 'styled-components'\nimport Floater from 'react-floater'\nimport type { Props as FloaterProps, PopperInstance, Styles } from 'react-floater'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { useResizeObserver } from 'hooks/useResizeObserver'\nimport { SIZES, TooltipComponent } from 'components/TooltipComponent'\nimport { deepmerge } from 'shared/utils/misc'\nimport { TooltipWrapper } from './TooltipWrapper'\nimport { TOOLTIP_STYLES_DEFAULT } from './default-constants'\nimport type { TooltipProps } from './types'\n\nconst COMPONENT_NAME = 'Tooltip'\n\n/**\n *\n * Компонент поддерживает все атрибуты \\<div\\> элемента.\n *\n * Можно передать \"ref\", который будет ассоциирован с рутовым элементом.\n *\n * Поддерживаются пропсы определения размеров в зависимости от ширины вьюпорта.\n *\n * Компонент основан на [\"react-floater\"](https://www.npmjs.com/package/react-floater).\n *\n * Получить доступ к компоненту, не подключенному к библиотеке, можно через `Tooltip.Component`.\n *\n * Полный интерфейс `Tooltip` можно посмотреть [тут](https://github.com/foxford/ui/blob/master/packages/ui/src/components/Tooltip/types.ts), интерфейс `Tooltip.Component` [тут](https://github.com/foxford/ui/blob/master/packages/ui/src/components/TooltipComponent/types.ts).\n *\n */\nconst Tooltip: React.ForwardRefExoticComponent<TooltipProps> & { Component: typeof TooltipComponent } = Object.assign(\n withMergedProps<TooltipProps, HTMLDivElement>(\n forwardRef<HTMLDivElement, MergedProps<TooltipProps>>((props, ref) => {\n const {\n preset,\n size = 's',\n styles = {},\n closeOnClickOutside = false,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n sizeUnits,\n sizes,\n palette,\n black,\n contrast,\n titleProps,\n contentProps,\n closeButtonProps,\n closeOnScroll,\n portalElement,\n zIndex,\n ...restProps\n } = props\n\n const theme = useTheme()\n\n const [portal, setPortal] = useState<HTMLElement | null>(null)\n const [popper, setPopper] = useState<PopperInstance | null>(null)\n\n const floaterStyles: Partial<Styles> =\n typeof zIndex === 'number' ? deepmerge(styles, { options: { zIndex } }) : styles\n\n useLayoutEffect(() => {\n if (portalElement) {\n setPortal(null)\n } else if (document.body) {\n let popperPortal = document.querySelector<HTMLElement>('[data-popper-portal]')\n\n if (!popperPortal) {\n popperPortal = document.createElement('div')\n popperPortal.dataset.popperPortal = 'true'\n popperPortal.style.position = 'relative'\n\n document.body.appendChild(popperPortal)\n }\n\n setPortal(popperPortal)\n }\n }, [portalElement])\n\n useResizeObserver({\n target: document.body,\n onResize: () => {\n if (popper && popper.state.options.strategy === 'absolute') {\n popper.update()\n }\n },\n })\n\n if (!portalElement && !portal) {\n return null\n }\n\n if (preset !== 'brand') {\n const tooltipProps = {\n ...restProps,\n portalElement: portalElement ?? portal,\n styles: deepmerge(TOOLTIP_STYLES_DEFAULT, floaterStyles),\n } as FloaterProps\n\n return (\n <Floater {...tooltipProps}>\n <span>{tooltipProps.children}</span>\n </Floater>\n )\n }\n\n let color = theme.colors['bg-onmain-primary']\n\n if (black) color = theme.colors['bg-onmain-inverse']\n if (contrast) color = theme.colors['bg-brand-primary-basic']\n if (palette?.backgroundColor) {\n color = theme.colors[palette.backgroundColor as keyof typeof theme.colors] ?? palette.backgroundColor\n }\n\n const tooltipProps = {\n ...restProps,\n portalElement: portalElement ?? portal,\n getPopper: (popperInstance, origin) => {\n setPopper(popperInstance)\n if (restProps.getPopper) {\n restProps.getPopper(popperInstance, origin)\n }\n },\n offset: restProps.offset ?? 8,\n styles: deepmerge(\n {\n arrow: {\n color,\n spread: 16,\n length: 8,\n },\n floater: {\n filter: `drop-shadow(0 6px 10px ${theme.colors['bg-oncolor-hover']})`,\n },\n },\n floaterStyles\n ),\n component: (\n <TooltipWrapper\n ref={ref}\n size={size}\n sizeXXS={sizeXXS}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n sizeUnits={sizeUnits}\n sizes={sizes}\n palette={palette}\n black={black}\n contrast={contrast}\n title={restProps.title}\n titleProps={titleProps}\n content={restProps.content}\n contentProps={contentProps}\n footer={restProps.footer}\n showCloseButton={restProps.showCloseButton}\n closeButtonProps={closeButtonProps}\n closeOnClickOutside={closeOnClickOutside}\n closeOnScroll={closeOnScroll}\n component={restProps.component}\n />\n ),\n } as FloaterProps\n\n return (\n <Floater\n {...tooltipProps}\n modifiers={{\n flip: {\n enabled: !tooltipProps.disableFlip,\n },\n }}\n />\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n ),\n {\n Component: TooltipComponent,\n }\n)\n\nexport { Tooltip }\n\nexport { COMPONENT_NAME }\n"],"names":["COMPONENT_NAME","Tooltip","Object","assign","withMergedProps","forwardRef","props","ref","preset","size","styles","closeOnClickOutside","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","sizeUnits","sizes","palette","black","contrast","titleProps","contentProps","closeButtonProps","closeOnScroll","portalElement","zIndex","restProps","theme","useTheme","portal","setPortal","useState","popper","setPopper","floaterStyles","deepmerge","options","useLayoutEffect","document","body","popperPortal","querySelector","createElement","dataset","style","position","appendChild","useResizeObserver","target","onResize","state","strategy","update","tooltipProps","TOOLTIP_STYLES_DEFAULT","_jsx","Floater","children","color","colors","backgroundColor","getPopper","popperInstance","origin","offset","arrow","spread","length","floater","filter","component","TooltipWrapper","title","content","footer","showCloseButton","modifiers","flip","enabled","disableFlip","displayName","SIZES","Component","TooltipComponent"],"mappings":"8jBAaA,MAAMA,eAAiB,UAiBvB,MAAMC,QAAkGC,OAAOC,OAC7GC,gBACEC,YAAsD,CAACC,EAAOC,KAC5D,MAAMC,OACJA,EAAMC,KACNA,EAAO,IAAGC,OACVA,EAAS,CAAA,EAAEC,oBACXA,GAAsB,EAAKC,QAC3BA,EAAOC,OACPA,EAAMC,MACNA,EAAKC,MACLA,EAAKC,MACLA,EAAKC,OACLA,EAAMC,UACNA,EAASC,MACTA,EAAKC,QACLA,EAAOC,MACPA,EAAKC,SACLA,EAAQC,WACRA,EAAUC,aACVA,EAAYC,iBACZA,EAAgBC,cAChBA,EAAaC,cACbA,EAAaC,OACbA,KACGC,GACDvB,EAEJ,MAAMwB,EAAQC,WAEd,MAAOC,EAAQC,GAAaC,SAA6B,MACzD,MAAOC,EAAQC,GAAaF,SAAgC,MAE5D,MAAMG,SACGT,GAAW,SAAWU,UAAU5B,EAAQ,CAAE6B,QAAS,CAAEX,YAAclB,EA6B5E,GA3BA8B,iBAAgB,KACd,GAAIb,EACFM,EAAU,WACL,GAAIQ,SAASC,KAAM,CACxB,IAAIC,EAAeF,SAASG,cAA2B,wBAElDD,IACHA,EAAeF,SAASI,cAAc,OACtCF,EAAaG,QAAQH,aAAe,OACpCA,EAAaI,MAAMC,SAAW,WAE9BP,SAASC,KAAKO,YAAYN,IAG5BV,EAAUU,EACZ,IACC,CAAChB,IAEJuB,kBAAkB,CAChBC,OAAQV,SAASC,KACjBU,SAAUA,KACJjB,GAAUA,EAAOkB,MAAMd,QAAQe,WAAa,YAC9CnB,EAAOoB,QACT,KAIC5B,IAAkBK,EACrB,OAAO,KAGT,GAAIxB,IAAW,QAAS,CACtB,MAAMgD,EAAe,IAChB3B,EACHF,cAAeA,GAAiBK,EAChCtB,OAAQ4B,UAAUmB,uBAAwBpB,IAG5C,OACEqB,IAACC,QAAO,IAAKH,EAAYI,SACvBF,IAAA,OAAA,CAAAE,SAAOJ,EAAaI,YAG1B,CAEA,IAAIC,EAAQ/B,EAAMgC,OAAO,qBAErBzC,IAAOwC,EAAQ/B,EAAMgC,OAAO,sBAC5BxC,IAAUuC,EAAQ/B,EAAMgC,OAAO,2BAC/B1C,GAAS2C,kBACXF,EAAQ/B,EAAMgC,OAAO1C,EAAQ2C,kBAAiD3C,EAAQ2C,iBAGxF,MAAMP,EAAe,IAChB3B,EACHF,cAAeA,GAAiBK,EAChCgC,UAAWA,CAACC,EAAgBC,KAC1B9B,EAAU6B,GACNpC,EAAUmC,WACZnC,EAAUmC,UAAUC,EAAgBC,EACtC,EAEFC,OAAQtC,EAAUsC,QAAU,EAC5BzD,OAAQ4B,UACN,CACE8B,MAAO,CACLP,QACAQ,OAAQ,GACRC,OAAQ,GAEVC,QAAS,CACPC,OAAQ,0BAA0B1C,EAAMgC,OAAO,yBAGnDzB,GAEFoC,UACEf,IAACgB,eAAc,CACbnE,IAAKA,EACLE,KAAMA,EACNG,QAASA,EACTC,OAAQA,EACRC,MAAOA,EACPC,MAAOA,EACPC,MAAOA,EACPC,OAAQA,EACRC,UAAWA,EACXC,MAAOA,EACPC,QAASA,EACTC,MAAOA,EACPC,SAAUA,EACVqD,MAAO9C,EAAU8C,MACjBpD,WAAYA,EACZqD,QAAS/C,EAAU+C,QACnBpD,aAAcA,EACdqD,OAAQhD,EAAUgD,OAClBC,gBAAiBjD,EAAUiD,gBAC3BrD,iBAAkBA,EAClBd,oBAAqBA,EACrBe,cAAeA,EACf+C,UAAW5C,EAAU4C,aAK3B,OACEf,IAACC,QAAO,IACFH,EACJuB,UAAW,CACTC,KAAM,CACJC,SAAUzB,EAAa0B,eAG3B,IAGN,CACEC,YA1KiB,UA2KjBhE,MAAOiE,QAGX,CACEC,UAAWC"}
1
+ {"version":3,"file":"Tooltip.mjs","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import { forwardRef, useState, useLayoutEffect } from 'react'\nimport { useTheme } from 'styled-components'\nimport Floater from 'react-floater'\nimport type { PopperInstance, Props as FloaterProps } from 'react-floater'\nimport { useMergedProps } from 'hooks/useMergedProps'\nimport { useResizeObserver } from 'hooks/useResizeObserver'\nimport { SIZES, TooltipComponent } from 'components/TooltipComponent'\nimport { deepmerge } from 'shared/utils/misc'\nimport { TooltipWrapper } from './TooltipWrapper'\nimport { TOOLTIP_STYLES_DEFAULT } from './default-constants'\nimport type { TooltipProps } from './types'\n\nconst COMPONENT_NAME = 'Tooltip'\n\n/**\n *\n * *v1.0.0*\n *\n * Компонент для отображения подсказок для элементов интерфейса.\n *\n * Поддерживаются все нативные атрибуты \\<div\\> элемента.\n */\nconst Tooltip: React.ForwardRefExoticComponent<TooltipProps> & { Component: typeof TooltipComponent } = Object.assign(\n forwardRef<HTMLDivElement, TooltipProps>((props, ref) => {\n const {\n size = 's',\n position = 'bottom',\n styles = {},\n closeOnClickOutside = false,\n closeOnScroll = false,\n zIndex = 100,\n palette = {},\n preset,\n trigger,\n autoOpen,\n callback,\n debug,\n disableFlip,\n disableHoverToClick,\n event,\n eventDelay,\n getPopper,\n hideArrow,\n offset,\n open,\n portalElement,\n target,\n wrapperOptions,\n showCloseButton,\n component,\n children,\n ...restProps\n } = useMergedProps<TooltipProps>(props, {\n componentName: COMPONENT_NAME,\n sizes: SIZES,\n })\n\n const theme = useTheme()\n\n const [portal, setPortal] = useState<HTMLElement | null>(null)\n const [popper, setPopper] = useState<PopperInstance | null>(null)\n\n useLayoutEffect(() => {\n if (portalElement) {\n setPortal(null)\n } else if (document.body) {\n let popperPortal = document.querySelector<HTMLElement>('[data-popper-portal]')\n\n if (!popperPortal) {\n popperPortal = document.createElement('div')\n popperPortal.dataset.popperPortal = 'true'\n popperPortal.style.position = 'relative'\n\n document.body.appendChild(popperPortal)\n }\n\n setPortal(popperPortal)\n }\n }, [portalElement])\n\n useResizeObserver({\n target: document.body,\n onResize: () => {\n if (popper && popper.state.options.strategy === 'absolute') {\n popper.update()\n }\n },\n })\n\n if (!portalElement && !portal) {\n return null\n }\n\n const floaterProps: Omit<FloaterProps, 'component' | 'content'> = {\n autoOpen,\n callback,\n debug,\n disableFlip,\n disableHoverToClick,\n event,\n eventDelay,\n hideArrow,\n open,\n placement: position,\n portalElement: portalElement ?? portal,\n target,\n wrapperOptions,\n showCloseButton,\n offset: offset ?? 8,\n getPopper: (popperInstance, origin) => {\n setPopper(popperInstance)\n if (getPopper) {\n getPopper(popperInstance, origin)\n }\n },\n modifiers: {\n flip: {\n enabled: !disableFlip,\n },\n },\n styles: deepmerge(styles, {\n options: {\n zIndex,\n },\n }),\n }\n\n if (preset !== 'brand') {\n return (\n <Floater\n {...floaterProps}\n styles={deepmerge(TOOLTIP_STYLES_DEFAULT, floaterProps.styles)}\n title={typeof restProps.title !== 'function' ? restProps.title : undefined}\n content={typeof restProps.content !== 'function' ? restProps.content : undefined}\n >\n <span>{trigger ?? children}</span>\n </Floater>\n )\n }\n\n let color = theme.colors['bg-onmain-primary']\n\n if (restProps.black) color = theme.colors['bg-onmain-inverse']\n if (restProps.contrast) color = theme.colors['bg-brand-primary-basic']\n if (palette.backgroundColor) {\n color = theme.colors[palette.backgroundColor as keyof typeof theme.colors] ?? palette.backgroundColor\n }\n\n return (\n <Floater\n {...floaterProps}\n styles={deepmerge(\n {\n arrow: { color, spread: 16, length: 8 },\n floater: {\n filter: `drop-shadow(0 6px 10px ${theme.colors['bg-oncolor-hover']})`,\n },\n },\n floaterProps.styles\n )}\n component={\n <TooltipWrapper ref={ref} closeOnClickOutside={closeOnClickOutside} closeOnScroll={closeOnScroll}>\n {component ?? <TooltipComponent {...restProps} size={size} palette={palette} />}\n </TooltipWrapper>\n }\n >\n {trigger ?? children}\n </Floater>\n )\n }),\n {\n Component: TooltipComponent,\n }\n)\n\nexport { Tooltip }\n\nexport { COMPONENT_NAME }\n"],"names":["COMPONENT_NAME","Tooltip","Object","assign","forwardRef","props","ref","size","position","styles","closeOnClickOutside","closeOnScroll","zIndex","palette","preset","trigger","autoOpen","callback","debug","disableFlip","disableHoverToClick","event","eventDelay","getPopper","hideArrow","offset","open","portalElement","target","wrapperOptions","showCloseButton","component","children","restProps","useMergedProps","componentName","sizes","SIZES","theme","useTheme","portal","setPortal","useState","popper","setPopper","useLayoutEffect","document","body","popperPortal","querySelector","createElement","dataset","style","appendChild","useResizeObserver","onResize","state","options","strategy","update","floaterProps","placement","popperInstance","origin","modifiers","flip","enabled","deepmerge","_jsx","Floater","TOOLTIP_STYLES_DEFAULT","title","undefined","content","color","colors","black","contrast","backgroundColor","arrow","spread","length","floater","filter","TooltipWrapper","TooltipComponent","Component"],"mappings":"yjBAYA,MAAMA,eAAiB,UAUvB,MAAMC,QAAkGC,OAAOC,OAC7GC,WAAyC,CAACC,EAAOC,KAC/C,MAAMC,KACJA,EAAO,IAAGC,SACVA,EAAW,SAAQC,OACnBA,EAAS,CAAA,EAAEC,oBACXA,GAAsB,EAAKC,cAC3BA,GAAgB,EAAKC,OACrBA,EAAS,IAAGC,QACZA,EAAU,CAAA,EAAEC,OACZA,EAAMC,QACNA,EAAOC,SACPA,EAAQC,SACRA,EAAQC,MACRA,EAAKC,YACLA,EAAWC,oBACXA,EAAmBC,MACnBA,EAAKC,WACLA,EAAUC,UACVA,EAASC,UACTA,EAASC,OACTA,EAAMC,KACNA,EAAIC,cACJA,EAAaC,OACbA,EAAMC,eACNA,EAAcC,gBACdA,EAAeC,UACfA,EAASC,SACTA,KACGC,GACDC,eAA6B7B,EAAO,CACtC8B,cAzCiB,UA0CjBC,MAAOC,QAGT,MAAMC,EAAQC,WAEd,MAAOC,EAAQC,GAAaC,SAA6B,MACzD,MAAOC,EAAQC,GAAaF,SAAgC,MA6B5D,GA3BAG,gBAAgB,KACd,GAAIlB,EACFc,EAAU,WACL,GAAIK,SAASC,KAAM,CACxB,IAAIC,EAAeF,SAASG,cAA2B,wBAElDD,IACHA,EAAeF,SAASI,cAAc,OACtCF,EAAaG,QAAQH,aAAe,OACpCA,EAAaI,MAAM5C,SAAW,WAE9BsC,SAASC,KAAKM,YAAYL,IAG5BP,EAAUO,EACZ,GACC,CAACrB,IAEJ2B,kBAAkB,CAChB1B,OAAQkB,SAASC,KACjBQ,SAAUA,KACJZ,GAAUA,EAAOa,MAAMC,QAAQC,WAAa,YAC9Cf,EAAOgB,aAKRhC,IAAkBa,EACrB,OAAO,KAGT,MAAMoB,EAA4D,CAChE5C,WACAC,WACAC,QACAC,cACAC,sBACAC,QACAC,aACAE,YACAE,OACAmC,UAAWrD,EACXmB,cAAeA,GAAiBa,EAChCZ,SACAC,iBACAC,kBACAL,OAAQA,GAAU,EAClBF,UAAWA,CAACuC,EAAgBC,KAC1BnB,EAAUkB,GACNvC,GACFA,EAAUuC,EAAgBC,IAG9BC,UAAW,CACTC,KAAM,CACJC,SAAU/C,IAGdV,OAAQ0D,UAAU1D,EAAQ,CACxBgD,QAAS,CACP7C,aAKN,GAAIE,IAAW,QACb,OACEsD,IAACC,QAAO,IACFT,EACJnD,OAAQ0D,UAAUG,uBAAwBV,EAAanD,QACvD8D,aAActC,EAAUsC,OAAU,WAAatC,EAAUsC,WAAQC,EACjEC,eAAgBxC,EAAUwC,SAAY,WAAaxC,EAAUwC,aAAUD,EAAUxC,SAEjFoC,IAAA,OAAA,CAAApC,SAAOjB,GAAWiB,MAKxB,IAAI0C,EAAQpC,EAAMqC,OAAO,qBAQzB,OANI1C,EAAU2C,QAAOF,EAAQpC,EAAMqC,OAAO,sBACtC1C,EAAU4C,WAAUH,EAAQpC,EAAMqC,OAAO,2BACzC9D,EAAQiE,kBACVJ,EAAQpC,EAAMqC,OAAO9D,EAAQiE,kBAAiDjE,EAAQiE,iBAItFV,IAACC,QAAO,IACFT,EACJnD,OAAQ0D,UACN,CACEY,MAAO,CAAEL,QAAOM,OAAQ,GAAIC,OAAQ,GACpCC,QAAS,CACPC,OAAQ,0BAA0B7C,EAAMqC,OAAO,yBAGnDf,EAAanD,QAEfsB,UACEqC,IAACgB,eAAc,CAAC9E,IAAKA,EAAKI,oBAAqBA,EAAqBC,cAAeA,EAAcqB,SAC9FD,GAAaqC,IAACiB,iBAAgB,IAAKpD,EAAW1B,KAAMA,EAAMM,QAASA,MAEvEmB,SAEAjB,GAAWiB,MAIlB,CACEsD,UAAWD"}