@itcase/ui 1.2.35 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (353) hide show
  1. package/dist/Badge-B9tt2YPa.js +76 -0
  2. package/dist/{Badge-MPtjfQS8.js → Badge-DMRagi5O.js} +7 -45
  3. package/dist/Button-CX3x7Z6Q.js +99 -0
  4. package/dist/Button-P0c3lMg1.js +103 -0
  5. package/dist/Divider-DBvDCUqP.js +30 -0
  6. package/dist/Divider-Goh6mpPK.js +34 -0
  7. package/dist/DropdownItem-BuMJdUAk.js +92 -0
  8. package/dist/DropdownItem-DaN20LFe.js +97 -0
  9. package/dist/Group-B9L2NTgM.js +34 -0
  10. package/dist/Group-D6CXN4hS.js +38 -0
  11. package/dist/Icon-CZrDqG76.js +61 -0
  12. package/dist/Icon-hqYZoh4h.js +65 -0
  13. package/dist/Image-6dFSePnG.js +17 -0
  14. package/dist/Image-Dx4AWHLO.js +15 -0
  15. package/dist/Input-BrV5_NoV.js +95 -0
  16. package/dist/Input-ffioh1sj.js +100 -0
  17. package/dist/Label-DQyB2ThM.js +93 -0
  18. package/dist/Label-HKRKV3mn.js +97 -0
  19. package/dist/Link-DGj-cNje.js +53 -0
  20. package/dist/{Link-CeQuavin.js → Link-_A9ZfNln.js} +6 -52
  21. package/dist/Loader-Dn036JwE.js +56 -0
  22. package/dist/Loader-K_DJmah6.js +52 -0
  23. package/dist/MenuItem-Dokk3UXj.js +40 -0
  24. package/dist/MenuItem-LyqjzhjP.js +44 -0
  25. package/dist/Overlay-Dy6JQwJn.js +15 -0
  26. package/dist/Overlay-HlYxCGtp.js +17 -0
  27. package/dist/Text-Beslj4Ns.js +34 -0
  28. package/dist/Text-JayJa3hj.js +30 -0
  29. package/dist/Title-CHgrIarR.js +48 -0
  30. package/dist/Title-DBaHcpvB.js +52 -0
  31. package/dist/Tooltip-1Jbub0K6.js +89 -0
  32. package/dist/Tooltip-CNua1g76.js +93 -0
  33. package/dist/cjs/components/Accordion.js +13 -65
  34. package/dist/cjs/components/Avatar.js +13 -28
  35. package/dist/cjs/components/Badge.js +4 -3
  36. package/dist/cjs/components/Breadcrumbs.js +16 -48
  37. package/dist/cjs/components/Button.js +9 -9
  38. package/dist/cjs/components/Caption.js +5 -14
  39. package/dist/cjs/components/Card.js +7 -12
  40. package/dist/cjs/components/Cell.js +11 -61
  41. package/dist/cjs/components/Checkbox.js +13 -61
  42. package/dist/cjs/components/Chips.js +9 -55
  43. package/dist/cjs/components/Choice.js +19 -85
  44. package/dist/cjs/components/Code.js +8 -80
  45. package/dist/cjs/components/CookiesWarning.js +13 -22
  46. package/dist/cjs/components/DadataHintField.js +4 -4
  47. package/dist/cjs/components/DatePicker.js +19 -23
  48. package/dist/cjs/components/Divider.js +3 -2
  49. package/dist/cjs/components/Dot.js +5 -22
  50. package/dist/cjs/components/Drawer.js +3 -3
  51. package/dist/cjs/components/Dropdown.js +6 -6
  52. package/dist/cjs/components/Flex.js +8 -95
  53. package/dist/cjs/components/Grid.js +12 -125
  54. package/dist/cjs/components/Group.js +3 -2
  55. package/dist/cjs/components/HTMLContent.js +5 -74
  56. package/dist/cjs/components/Icon.js +6 -6
  57. package/dist/cjs/components/Image.js +3 -2
  58. package/dist/cjs/components/Input.js +3 -2
  59. package/dist/cjs/components/InputMask.js +27 -109
  60. package/dist/cjs/components/InputPassword.js +18 -83
  61. package/dist/cjs/components/Label.js +6 -5
  62. package/dist/cjs/components/Link.js +2 -2
  63. package/dist/cjs/components/List.js +15 -31
  64. package/dist/cjs/components/Loader.js +4 -3
  65. package/dist/cjs/components/Logo.js +8 -21
  66. package/dist/cjs/components/Menu.js +9 -23
  67. package/dist/cjs/components/MenuItem.js +5 -5
  68. package/dist/cjs/components/Modal.js +10 -43
  69. package/dist/cjs/components/ModalSheetBottom.js +4 -15
  70. package/dist/cjs/components/Notification.js +9 -18
  71. package/dist/cjs/components/Overlay.js +3 -2
  72. package/dist/cjs/components/Pagination.js +15 -36
  73. package/dist/cjs/components/Panel.js +10 -78
  74. package/dist/cjs/components/Radio.js +15 -61
  75. package/dist/cjs/components/RangeSlider.js +7 -39
  76. package/dist/cjs/components/Response.js +20 -65
  77. package/dist/cjs/components/SVGContent.js +5 -10
  78. package/dist/cjs/components/ScrollOnDrag.js +5 -35
  79. package/dist/cjs/components/ScrollToView.js +5 -46
  80. package/dist/cjs/components/Search.js +18 -81
  81. package/dist/cjs/components/Segmented.js +10 -53
  82. package/dist/cjs/components/Select.js +42 -160
  83. package/dist/cjs/components/SiteMenu.js +12 -15
  84. package/dist/cjs/components/Swiper.js +9 -22
  85. package/dist/cjs/components/Switch.js +4 -2
  86. package/dist/cjs/components/Tab.js +16 -112
  87. package/dist/cjs/components/Text.js +3 -2
  88. package/dist/cjs/components/Textarea.js +15 -76
  89. package/dist/cjs/components/Tile.js +10 -46
  90. package/dist/cjs/components/Title.js +3 -2
  91. package/dist/cjs/components/Tooltip.js +5 -4
  92. package/dist/cjs/components/Video.js +5 -5
  93. package/dist/cjs/components/Wrapper.js +5 -30
  94. package/dist/cjs/hooks/useDeviceTargetClassGenerator.interface.js +2 -0
  95. package/dist/cjs/hooks/useDeviceTargetClassGenerator.js +97 -0
  96. package/dist/components/Accordion.js +13 -65
  97. package/dist/components/Avatar.js +13 -28
  98. package/dist/components/Badge.js +4 -3
  99. package/dist/components/Breadcrumbs.js +16 -48
  100. package/dist/components/Button.js +9 -9
  101. package/dist/components/Caption.js +5 -14
  102. package/dist/components/Card.js +7 -12
  103. package/dist/components/Cell.js +11 -61
  104. package/dist/components/Checkbox.js +13 -61
  105. package/dist/components/Chips.js +9 -55
  106. package/dist/components/Choice.js +19 -85
  107. package/dist/components/Code.js +8 -80
  108. package/dist/components/CookiesWarning.js +13 -22
  109. package/dist/components/DadataHintField.js +4 -4
  110. package/dist/components/DatePicker.js +19 -23
  111. package/dist/components/Divider.js +3 -2
  112. package/dist/components/Dot.js +5 -22
  113. package/dist/components/Drawer.js +3 -3
  114. package/dist/components/Dropdown.js +6 -6
  115. package/dist/components/Flex.js +8 -95
  116. package/dist/components/Grid.js +12 -125
  117. package/dist/components/Group.js +3 -2
  118. package/dist/components/HTMLContent.js +5 -74
  119. package/dist/components/Icon.js +6 -6
  120. package/dist/components/Image.js +3 -2
  121. package/dist/components/Input.js +3 -2
  122. package/dist/components/InputMask.js +28 -110
  123. package/dist/components/InputPassword.js +18 -83
  124. package/dist/components/Label.js +6 -5
  125. package/dist/components/Link.js +2 -2
  126. package/dist/components/List.js +15 -31
  127. package/dist/components/Loader.js +4 -3
  128. package/dist/components/Logo.js +8 -21
  129. package/dist/components/Menu.js +9 -23
  130. package/dist/components/MenuItem.js +5 -5
  131. package/dist/components/Modal.js +10 -43
  132. package/dist/components/ModalSheetBottom.js +4 -15
  133. package/dist/components/Notification.js +9 -18
  134. package/dist/components/Overlay.js +3 -2
  135. package/dist/components/Pagination.js +15 -36
  136. package/dist/components/Panel.js +10 -78
  137. package/dist/components/Radio.js +15 -61
  138. package/dist/components/RangeSlider.js +7 -39
  139. package/dist/components/Response.js +20 -65
  140. package/dist/components/SVGContent.js +5 -10
  141. package/dist/components/ScrollOnDrag.js +5 -35
  142. package/dist/components/ScrollToView.js +5 -46
  143. package/dist/components/Search.js +18 -81
  144. package/dist/components/Segmented.js +10 -53
  145. package/dist/components/Select.js +43 -161
  146. package/dist/components/SiteMenu.js +12 -15
  147. package/dist/components/Swiper.js +10 -23
  148. package/dist/components/Switch.js +4 -2
  149. package/dist/components/Tab.js +16 -112
  150. package/dist/components/Text.js +3 -2
  151. package/dist/components/Textarea.js +15 -76
  152. package/dist/components/Tile.js +10 -46
  153. package/dist/components/Title.js +3 -2
  154. package/dist/components/Tooltip.js +5 -4
  155. package/dist/components/Video.js +5 -5
  156. package/dist/components/Wrapper.js +5 -30
  157. package/dist/css/components/Avatar/Avatar.css +7 -6
  158. package/dist/css/components/Code/Code.css +0 -8
  159. package/dist/css/components/Code/Code.tokens.css +3 -0
  160. package/dist/hooks/useDeviceTargetClassGenerator.interface.js +1 -0
  161. package/dist/hooks/useDeviceTargetClassGenerator.js +95 -0
  162. package/dist/stories/Appearance.stories.js +2 -3
  163. package/dist/stories/Badge.stories.js +1 -1
  164. package/dist/stories/Button.stories.js +1 -2
  165. package/dist/stories/Group.stories.js +2 -3
  166. package/dist/stories/Icon.stories.js +2 -4
  167. package/dist/stories/Size.stories.js +1 -2
  168. package/dist/stories/State.stories.js +1 -2
  169. package/dist/stories/Tile.stories.js +1 -2
  170. package/dist/stories/appearance.mdx +6 -11
  171. package/dist/types/components/Accordion/Accordion.interface.d.ts +2 -0
  172. package/dist/types/components/Avatar/Avatar.d.ts +2 -2
  173. package/dist/types/components/Avatar/Avatar.interface.d.ts +8 -5
  174. package/dist/types/components/Badge/Badge.d.ts +3 -3
  175. package/dist/types/components/Badge/Badge.interface.d.ts +10 -7
  176. package/dist/types/components/Breadcrumbs/Breadcrumbs.d.ts +2 -2
  177. package/dist/types/components/Breadcrumbs/Breadcrumbs.interface.d.ts +11 -9
  178. package/dist/types/components/Breadcrumbs/BreadcrumbsItem.d.ts +2 -2
  179. package/dist/types/components/Button/Button.appearance.d.ts +2 -2
  180. package/dist/types/components/Button/Button.d.ts +3 -3
  181. package/dist/types/components/Button/Button.interface.d.ts +18 -15
  182. package/dist/types/components/Caption/Caption.d.ts +2 -2
  183. package/dist/types/components/Caption/Caption.interface.d.ts +7 -6
  184. package/dist/types/components/Card/Card.d.ts +2 -2
  185. package/dist/types/components/Card/Card.interface.d.ts +11 -10
  186. package/dist/types/components/Cell/Cell.d.ts +2 -2
  187. package/dist/types/components/Cell/Cell.interface.d.ts +5 -4
  188. package/dist/types/components/Checkbox/Checkbox.interface.d.ts +4 -1
  189. package/dist/types/components/Chips/Chips.interface.d.ts +4 -1
  190. package/dist/types/components/Choice/Choice.d.ts +2 -2
  191. package/dist/types/components/Choice/Choice.interface.d.ts +3 -0
  192. package/dist/types/components/Code/Code.d.ts +2 -2
  193. package/dist/types/components/Code/Code.interface.d.ts +8 -5
  194. package/dist/types/components/CookiesWarning/CookiesWarning.d.ts +2 -2
  195. package/dist/types/components/CookiesWarning/CookiesWarning.interface.d.ts +6 -5
  196. package/dist/types/components/DadataHintField/DadataHintField.d.ts +2 -2
  197. package/dist/types/components/DadataHintField/DadataHintField.interface.d.ts +4 -4
  198. package/dist/types/components/DatePicker/DatePicker.d.ts +3 -3
  199. package/dist/types/components/DatePicker/DatePicker.interface.d.ts +11 -8
  200. package/dist/types/components/Divider/Divider.d.ts +2 -2
  201. package/dist/types/components/Divider/Divider.interface.d.ts +8 -5
  202. package/dist/types/components/Dot/Dot.d.ts +2 -2
  203. package/dist/types/components/Dot/Dot.interface.d.ts +4 -3
  204. package/dist/types/components/Dropdown/Dropdown.d.ts +2 -2
  205. package/dist/types/components/Dropdown/Dropdown.interface.d.ts +9 -5
  206. package/dist/types/components/Dropdown/DropdownItem.d.ts +2 -2
  207. package/dist/types/components/Flex/Flex.d.ts +2 -2
  208. package/dist/types/components/Flex/Flex.interface.d.ts +5 -3
  209. package/dist/types/components/Flex/FlexItem.d.ts +2 -2
  210. package/dist/types/components/Grid/Grid.d.ts +2 -2
  211. package/dist/types/components/Grid/Grid.interface.d.ts +7 -4
  212. package/dist/types/components/Grid/GridItem.d.ts +2 -2
  213. package/dist/types/components/Grid/GridRow.d.ts +2 -2
  214. package/dist/types/components/Group/Group.d.ts +3 -3
  215. package/dist/types/components/Group/Group.interface.d.ts +8 -5
  216. package/dist/types/components/HTMLContent/HTMLContent.d.ts +2 -2
  217. package/dist/types/components/HTMLContent/HTMLContent.interface.d.ts +3 -2
  218. package/dist/types/components/Icon/Icon.d.ts +1 -1
  219. package/dist/types/components/Icon/Icon.interface.d.ts +1 -0
  220. package/dist/types/components/Image/Image.d.ts +2 -2
  221. package/dist/types/components/Image/Image.interface.d.ts +3 -2
  222. package/dist/types/components/Input/Input.d.ts +1 -1
  223. package/dist/types/components/Input/Input.interface.d.ts +4 -1
  224. package/dist/types/components/InputMask/Input.d.ts +2 -2
  225. package/dist/types/components/InputMask/Input.interface.d.ts +10 -7
  226. package/dist/types/components/InputPassword/InputPassword.d.ts +3 -3
  227. package/dist/types/components/InputPassword/InputPassword.interface.d.ts +9 -6
  228. package/dist/types/components/Label/Label.d.ts +3 -3
  229. package/dist/types/components/Label/Label.interface.d.ts +10 -7
  230. package/dist/types/components/Link/Link.d.ts +4 -4
  231. package/dist/types/components/Link/Link.interface.d.ts +7 -6
  232. package/dist/types/components/List/List.d.ts +2 -2
  233. package/dist/types/components/List/List.interface.d.ts +5 -3
  234. package/dist/types/components/List/ListItem.d.ts +2 -2
  235. package/dist/types/components/Loader/Loader.d.ts +3 -3
  236. package/dist/types/components/Loader/Loader.interface.d.ts +9 -6
  237. package/dist/types/components/Logo/Logo.d.ts +3 -3
  238. package/dist/types/components/Logo/Logo.interface.d.ts +10 -7
  239. package/dist/types/components/Menu/Menu.d.ts +2 -2
  240. package/dist/types/components/Menu/Menu.interface.d.ts +3 -2
  241. package/dist/types/components/MenuItem/MenuItem.d.ts +3 -3
  242. package/dist/types/components/MenuItem/MenuItem.interface.d.ts +9 -6
  243. package/dist/types/components/Modal/Modal.d.ts +2 -2
  244. package/dist/types/components/Modal/Modal.interface.d.ts +8 -5
  245. package/dist/types/components/Modal/ModalLoader.d.ts +1 -1
  246. package/dist/types/components/ModalSheetBottom/ModalSheetBottom.d.ts +1 -1
  247. package/dist/types/components/ModalSheetBottom/ModalSheetBottom.interface.d.ts +3 -0
  248. package/dist/types/components/Notification/Notification.interface.d.ts +10 -7
  249. package/dist/types/components/Notification/NotificationItem.d.ts +3 -3
  250. package/dist/types/components/Notification/NotificationList.d.ts +2 -2
  251. package/dist/types/components/Overlay/Overlay.d.ts +1 -1
  252. package/dist/types/components/Overlay/Overlay.interface.d.ts +1 -0
  253. package/dist/types/components/Pagination/Pagination.d.ts +2 -2
  254. package/dist/types/components/Pagination/Pagination.interface.d.ts +9 -6
  255. package/dist/types/components/Panel/Panel.d.ts +3 -3
  256. package/dist/types/components/Panel/Panel.interface.d.ts +9 -6
  257. package/dist/types/components/Radio/Radio.d.ts +3 -3
  258. package/dist/types/components/Radio/Radio.interface.d.ts +13 -10
  259. package/dist/types/components/RangeSlider/RangeSlider.d.ts +2 -2
  260. package/dist/types/components/RangeSlider/RangeSlider.interface.d.ts +3 -2
  261. package/dist/types/components/Response/Response.d.ts +3 -3
  262. package/dist/types/components/Response/Response.interface.d.ts +11 -8
  263. package/dist/types/components/SVGContent/SVGContent.d.ts +2 -2
  264. package/dist/types/components/SVGContent/SVGContent.interface.d.ts +2 -1
  265. package/dist/types/components/ScrollOnDrag/ScrollOnDrag.d.ts +2 -2
  266. package/dist/types/components/ScrollOnDrag/ScrollOnDrag.interface.d.ts +3 -2
  267. package/dist/types/components/Scrollbar/Scrollbar.d.ts +2 -2
  268. package/dist/types/components/Scrollbar/Scrollbar.interface.d.ts +2 -2
  269. package/dist/types/components/Search/Search.interface.d.ts +11 -7
  270. package/dist/types/components/Search/SearchInput.d.ts +3 -3
  271. package/dist/types/components/Search/SearchResult.d.ts +1 -2
  272. package/dist/types/components/Segmented/Segmented.d.ts +3 -3
  273. package/dist/types/components/Segmented/Segmented.interface.d.ts +15 -9
  274. package/dist/types/components/Select/Select.interface.d.ts +2 -0
  275. package/dist/types/components/Select/SelectContainer.d.ts +4 -3
  276. package/dist/types/components/Select/index.d.ts +1 -3
  277. package/dist/types/components/SiteMenu/SiteMenu.d.ts +2 -2
  278. package/dist/types/components/SiteMenu/SiteMenu.interface.d.ts +9 -6
  279. package/dist/types/components/SiteMenu/SiteMenuButton.d.ts +2 -2
  280. package/dist/types/components/Swiper/Swiper.d.ts +2 -2
  281. package/dist/types/components/Swiper/Swiper.interface.d.ts +9 -8
  282. package/dist/types/components/Switch/Switch.d.ts +2 -2
  283. package/dist/types/components/Switch/Switch.interface.d.ts +4 -4
  284. package/dist/types/components/Tab/Tab.d.ts +1 -1
  285. package/dist/types/components/Tab/Tab.interface.d.ts +4 -0
  286. package/dist/types/components/Tab/TabGroup.d.ts +1 -1
  287. package/dist/types/components/Text/Text.interface.d.ts +4 -1
  288. package/dist/types/components/Textarea/Textarea.d.ts +3 -3
  289. package/dist/types/components/Textarea/Textarea.interface.d.ts +13 -10
  290. package/dist/types/components/Tile/Tile.d.ts +2 -2
  291. package/dist/types/components/Tile/Tile.interface.d.ts +8 -5
  292. package/dist/types/components/Title/Title.d.ts +3 -3
  293. package/dist/types/components/Title/Title.interface.d.ts +17 -14
  294. package/dist/types/components/Tooltip/Tooltip.d.ts +3 -3
  295. package/dist/types/components/Tooltip/Tooltip.interface.d.ts +9 -6
  296. package/dist/types/components/Video/Video.d.ts +2 -2
  297. package/dist/types/components/Video/Video.interface.d.ts +1 -1
  298. package/dist/types/components/Wrapper/Wrapper.d.ts +2 -2
  299. package/dist/types/components/Wrapper/Wrapper.interface.d.ts +4 -3
  300. package/dist/types/hooks/useDeviceTargetClassGenerator.d.ts +3 -0
  301. package/dist/types/hooks/useDeviceTargetClassGenerator.interface.d.ts +20 -0
  302. package/dist/types/types/componentProps/appearanceKeys.d.ts +1 -1
  303. package/package.json +20 -19
  304. package/dist/Badge-BZf2D83-.js +0 -114
  305. package/dist/Button-BmE4TGuv.js +0 -154
  306. package/dist/Button-f0zWwezF.js +0 -150
  307. package/dist/Divider-Bdz66wfW.js +0 -71
  308. package/dist/Divider-CYvszcff.js +0 -75
  309. package/dist/DropdownItem-BjtWmVFs.js +0 -182
  310. package/dist/DropdownItem-DPBYY3cR.js +0 -187
  311. package/dist/Group-Bf2uSl3S.js +0 -140
  312. package/dist/Group-D95Sf0X0.js +0 -136
  313. package/dist/Icon-21rsw8YW.js +0 -119
  314. package/dist/Icon-gTZ0QO8I.js +0 -123
  315. package/dist/Image-8t6PvsaZ.js +0 -65
  316. package/dist/Image-DrUlRMHa.js +0 -67
  317. package/dist/Input--x3hPBiN.js +0 -188
  318. package/dist/Input-DG5yWwpp.js +0 -193
  319. package/dist/Label-Ddjf4F18.js +0 -139
  320. package/dist/Label-Rq2ptfUd.js +0 -135
  321. package/dist/Link-CqWzwh8V.js +0 -99
  322. package/dist/Loader-1ZnukBPK.js +0 -86
  323. package/dist/Loader-CuxFXcNG.js +0 -82
  324. package/dist/MenuItem-Buu-c29L.js +0 -101
  325. package/dist/MenuItem-Cqt0EcgC.js +0 -105
  326. package/dist/Overlay-CFXouKnl.js +0 -27
  327. package/dist/Overlay-DO5dnSRE.js +0 -25
  328. package/dist/Text-C-scXvy7.js +0 -85
  329. package/dist/Text-DGEJa_FL.js +0 -81
  330. package/dist/Title-BatSai-G.js +0 -115
  331. package/dist/Title-Bp-4wxkT.js +0 -111
  332. package/dist/Tooltip-BsMYxi_I.js +0 -150
  333. package/dist/Tooltip-CUL79Nsx.js +0 -154
  334. package/dist/cjs/components/ContextMenu.js +0 -52
  335. package/dist/cjs/components/LanguageSelector.js +0 -33
  336. package/dist/cjs/components/Page.js +0 -48
  337. package/dist/components/ContextMenu.js +0 -49
  338. package/dist/components/LanguageSelector.js +0 -31
  339. package/dist/components/Page.js +0 -46
  340. package/dist/css/components/ContextMenu/ContextMenu.css +0 -38
  341. package/dist/css/components/ContextMenu/css/__item/context-menu__item.css +0 -9
  342. package/dist/css/components/Page/Page.css +0 -8
  343. package/dist/types/components/ContextMenu/ContextMenu.d.ts +0 -3
  344. package/dist/types/components/ContextMenu/ContextMenu.interface.d.ts +0 -36
  345. package/dist/types/components/ContextMenu/ContextMenuItem.d.ts +0 -3
  346. package/dist/types/components/ContextMenu/index.d.ts +0 -3
  347. package/dist/types/components/LanguageSelector/Label.interface.d.ts +0 -20
  348. package/dist/types/components/LanguageSelector/LanguageSelector.d.ts +0 -3
  349. package/dist/types/components/LanguageSelector/index.d.ts +0 -1
  350. package/dist/types/components/Page/Page.d.ts +0 -3
  351. package/dist/types/components/Page/Page.interface.d.ts +0 -18
  352. package/dist/types/components/Page/index.d.ts +0 -1
  353. package/dist/types/hooks/useDeviceTargetClass.d.ts +0 -1
@@ -0,0 +1,76 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var clsx = require('clsx');
5
+ var useDeviceTargetClassGenerator = require('./cjs/hooks/useDeviceTargetClassGenerator.js');
6
+ var useStyles = require('./cjs/hooks/useStyles.js');
7
+ var Text = require('./Text-Beslj4Ns.js');
8
+
9
+ var badgeAppearance = {
10
+ accent: {
11
+ fill: 'accentPrimary',
12
+ fillHover: 'accentPrimaryHover',
13
+ textColor: 'accentTextPrimary',
14
+ },
15
+ primary: {
16
+ fill: 'primaryPrimary',
17
+ fillHover: 'primaryPrimaryHover',
18
+ textColor: 'primaryTextPrimary',
19
+ },
20
+ surfacePrimary: {
21
+ fill: 'surfacePrimary',
22
+ fillHover: 'surfacePrimaryHover',
23
+ textColor: 'surfaceTextPrimary',
24
+ },
25
+ surfaceSecondary: {
26
+ fill: 'surfaceSecondary',
27
+ fillHover: 'surfaceSecondaryHover',
28
+ textColor: 'surfaceTextPrimary',
29
+ },
30
+ surfaceTertiary: {
31
+ fill: 'surfaceTertiary',
32
+ fillHover: 'surfaceTertiaryHover',
33
+ textColor: 'surfaceTextPrimary',
34
+ },
35
+ surfaceQuaternary: {
36
+ fill: 'surfaceQuaternary',
37
+ fillHover: 'surfaceTertiaryHover',
38
+ textColor: 'surfaceTextInverse',
39
+ },
40
+ secondary: {
41
+ fill: 'secondaryPrimary',
42
+ fillHover: 'secondaryPrimaryHover',
43
+ textColor: 'secondaryTextPrimary',
44
+ },
45
+ disabled: {
46
+ fill: 'accentDisabled',
47
+ fillHover: 'none',
48
+ textColor: 'accentTextDisabled',
49
+ },
50
+ };
51
+
52
+ var badgeConfig = {
53
+ appearance: badgeAppearance,
54
+ setAppearance: function (newComponent) {
55
+ badgeConfig.appearance = newComponent;
56
+ },
57
+ };
58
+ function Badge(props) {
59
+ var children = props.children, appearance = props.appearance, className = props.className, mode = props.mode, textColor = props.textColor, textSize = props.textSize, value = props.value;
60
+ // @ts-expect-error
61
+ var appearanceConfig = badgeConfig.appearance && badgeConfig.appearance[appearance];
62
+ var classGenerator = useDeviceTargetClassGenerator.useDeviceTargetClassGenerator(props, appearanceConfig);
63
+ var borderColorClass = classGenerator.borderColorClass, borderColorHoverClass = classGenerator.borderColorHoverClass, borderTypeClass = classGenerator.borderTypeClass, borderWidthClass = classGenerator.borderWidthClass, fillClass = classGenerator.fillClass, fillHoverClass = classGenerator.fillHoverClass, positionClass = classGenerator.positionClass, shapeClass = classGenerator.shapeClass, sizeClass = classGenerator.sizeClass;
64
+ // @ts-expect-error
65
+ var badgeStyles = useStyles.useStyles(props).styles;
66
+ return (jsxRuntime.jsx("div", { className: clsx(className, 'badge', !value && 'badge_type_status', mode && "badge_mode_".concat(mode), borderColorClass && "border-color_".concat(borderColorClass), borderColorHoverClass && "border-color_hover_".concat(borderColorHoverClass), borderWidthClass && "border-width_".concat(borderWidthClass), borderTypeClass && "border_type_".concat(borderTypeClass), fillClass && "fill_".concat(fillClass), fillHoverClass && "fill_hover_".concat(fillHoverClass), positionClass && "position_".concat(positionClass), sizeClass && "badge_size_".concat(sizeClass), shapeClass && "badge_shape_".concat(shapeClass)), style: badgeStyles, children: children ||
67
+ (value && (jsxRuntime.jsx(Text.Text, { size: textSize, textColor: textColor || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.textColor), children: value }))) }));
68
+ }
69
+ Badge.defaultProps = {
70
+ shape: 'circular',
71
+ size: 'm',
72
+ };
73
+
74
+ exports.Badge = Badge;
75
+ exports.badgeAppearance = badgeAppearance;
76
+ exports.badgeConfig = badgeConfig;
@@ -1,8 +1,8 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import clsx from 'clsx';
3
- import { useDeviceTargetClass } from './hooks/useDeviceTargetClass.js';
3
+ import { useDeviceTargetClassGenerator } from './hooks/useDeviceTargetClassGenerator.js';
4
4
  import { useStyles } from './hooks/useStyles.js';
5
- import { T as Text } from './Text-DGEJa_FL.js';
5
+ import { T as Text } from './Text-JayJa3hj.js';
6
6
 
7
7
  var badgeAppearance = {
8
8
  accent: {
@@ -54,52 +54,14 @@ var badgeConfig = {
54
54
  },
55
55
  };
56
56
  function Badge(props) {
57
- var _a, _b;
58
57
  var children = props.children, appearance = props.appearance, className = props.className, mode = props.mode, textColor = props.textColor, textSize = props.textSize, value = props.value;
59
- var borderColorClass = useDeviceTargetClass(props, {
60
- prefix: 'border-color_',
61
- propsKey: 'borderColor',
62
- });
63
- var borderColorHoverClass = useDeviceTargetClass(props, {
64
- prefix: 'border-color_hover_',
65
- propsKey: 'borderColorHover',
66
- });
67
- var borderWidthClass = useDeviceTargetClass(props, {
68
- prefix: 'border-width_',
69
- propsKey: 'borderWidth',
70
- });
71
- var borderTypeClass = useDeviceTargetClass(props, {
72
- prefix: 'border_type_',
73
- propsKey: 'borderType',
74
- });
75
- var fillClass = useDeviceTargetClass(props, {
76
- prefix: 'fill_',
77
- propsKey: 'fill',
78
- });
79
- var fillHoverClass = useDeviceTargetClass(props, {
80
- prefix: 'fill_hover_',
81
- propsKey: 'fillHover',
82
- });
83
- var positionClass = useDeviceTargetClass(props, {
84
- prefix: 'position_',
85
- propsKey: 'position',
86
- });
87
- var sizeClass = useDeviceTargetClass(props, {
88
- prefix: 'badge_size_',
89
- propsKey: 'size',
90
- });
91
- var shapeClass = useDeviceTargetClass(props, {
92
- prefix: 'badge_shape_',
93
- propsKey: 'shape',
94
- });
58
+ // @ts-expect-error
59
+ var appearanceConfig = badgeConfig.appearance && badgeConfig.appearance[appearance];
60
+ var classGenerator = useDeviceTargetClassGenerator(props, appearanceConfig);
61
+ var borderColorClass = classGenerator.borderColorClass, borderColorHoverClass = classGenerator.borderColorHoverClass, borderTypeClass = classGenerator.borderTypeClass, borderWidthClass = classGenerator.borderWidthClass, fillClass = classGenerator.fillClass, fillHoverClass = classGenerator.fillHoverClass, positionClass = classGenerator.positionClass, shapeClass = classGenerator.shapeClass, sizeClass = classGenerator.sizeClass;
95
62
  // @ts-expect-error
96
63
  var badgeStyles = useStyles(props).styles;
97
- var appearanceConfig = appearance && badgeConfig.appearance && badgeConfig.appearance[appearance];
98
- return (jsx("div", { className: clsx(className, 'badge', !value && 'badge_type_status', mode && "badge_mode_".concat(mode), borderColorClass, borderColorHoverClass, borderWidthClass, borderTypeClass, fillClass ||
99
- ((appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.fill) &&
100
- ((_a = "fill_".concat(appearanceConfig.fill)) === null || _a === void 0 ? void 0 : _a.replace(/([A-Z])/g, '-$1').toLowerCase())), fillHoverClass ||
101
- ((appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.fillHover) &&
102
- ((_b = "fill_hover_".concat(appearanceConfig.fillHover)) === null || _b === void 0 ? void 0 : _b.replace(/([A-Z])/g, '-$1').toLowerCase())), positionClass, sizeClass, shapeClass), style: badgeStyles, children: children ||
64
+ return (jsx("div", { className: clsx(className, 'badge', !value && 'badge_type_status', mode && "badge_mode_".concat(mode), borderColorClass && "border-color_".concat(borderColorClass), borderColorHoverClass && "border-color_hover_".concat(borderColorHoverClass), borderWidthClass && "border-width_".concat(borderWidthClass), borderTypeClass && "border_type_".concat(borderTypeClass), fillClass && "fill_".concat(fillClass), fillHoverClass && "fill_hover_".concat(fillHoverClass), positionClass && "position_".concat(positionClass), sizeClass && "badge_size_".concat(sizeClass), shapeClass && "badge_shape_".concat(shapeClass)), style: badgeStyles, children: children ||
103
65
  (value && (jsx(Text, { size: textSize, textColor: textColor || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.textColor), children: value }))) }));
104
66
  }
105
67
  Badge.defaultProps = {
@@ -0,0 +1,99 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import React from 'react';
3
+ import clsx from 'clsx';
4
+ import { useDeviceTargetClassGenerator } from './hooks/useDeviceTargetClassGenerator.js';
5
+ import { useStyles } from './hooks/useStyles.js';
6
+ import { I as Icon } from './Icon-CZrDqG76.js';
7
+ import { a as LinkWrapper } from './Link-_A9ZfNln.js';
8
+ import { L as Loader } from './Loader-K_DJmah6.js';
9
+ import { T as Text } from './Text-JayJa3hj.js';
10
+
11
+ var buttonAppearance = {
12
+ dev: {
13
+ fill: 'surfaceSecondary',
14
+ fillHover: 'surfaceSecondaryHover',
15
+ label: 'Button',
16
+ labelTextColor: 'surfaceTextPrimary',
17
+ labelTextSize: 'l',
18
+ shape: 'rounded',
19
+ size: 'xxl',
20
+ },
21
+ accent: {
22
+ fill: 'accentPrimary',
23
+ fillHover: 'accentPrimaryHover',
24
+ labelTextColor: 'accentTextPrimary',
25
+ labelTextColorHover: 'accentTextPrimary',
26
+ loaderFill: 'accentPrimary',
27
+ loaderItemFill: 'accentItemPrimary',
28
+ },
29
+ accentSecondary: {
30
+ fill: 'accentSecondary',
31
+ fillHover: 'accentPrimaryHover',
32
+ labelTextColor: 'accentTextPrimary',
33
+ labelTextColorHover: 'accentTextPrimary',
34
+ loaderFill: 'accentPrimary',
35
+ loaderItemFill: 'accentItemPrimary',
36
+ },
37
+ primary: {
38
+ fill: 'primaryPrimary',
39
+ fillHover: 'primaryPrimaryHover',
40
+ labelTextColor: 'primaryTextPrimary',
41
+ },
42
+ secondary: {
43
+ fill: 'secondaryPrimary',
44
+ fillHover: 'secondaryPrimaryHover',
45
+ labelTextColor: 'secondaryTextPrimary',
46
+ },
47
+ surfacePrimary: {
48
+ fill: 'surfacePrimary',
49
+ fillHover: 'surfacePrimaryHover',
50
+ labelTextColor: 'surfaceTextPrimary',
51
+ },
52
+ surfaceSecondary: {
53
+ fill: 'surfaceSecondary',
54
+ fillHover: 'surfaceSecondaryHover',
55
+ labelTextColor: 'surfaceTextPrimary',
56
+ loaderFill: 'surfaceSecondary',
57
+ loaderItemFill: 'surfaceItemPrimary',
58
+ },
59
+ surfaceTertiary: {
60
+ fill: 'surfaceTertiary',
61
+ fillHover: 'surfaceTertiaryHover',
62
+ labelTextColor: 'surfaceTextPrimary',
63
+ },
64
+ surfaceDisabled: {
65
+ fill: 'surfaceDisabled',
66
+ fillHover: 'surfaceDisabled',
67
+ labelTextColor: 'surfaceTextPrimary',
68
+ },
69
+ };
70
+
71
+ var buttonConfig = {
72
+ appearance: buttonAppearance,
73
+ setAppearance: function (newComponent) {
74
+ buttonConfig.appearance = newComponent;
75
+ },
76
+ };
77
+ var Button = React.forwardRef(function Button(props, ref) {
78
+ var children = props.children, isDisabled = props.isDisabled, after = props.after, appearance = props.appearance, Badge = props.Badge, before = props.before, className = props.className, dataTestId = props.dataTestId, dataTour = props.dataTour, fillIcon = props.fillIcon, fillIconAfter = props.fillIconAfter, fillIconBefore = props.fillIconBefore, href = props.href, _a = props.htmlType, htmlType = _a === void 0 ? 'button' : _a, icon = props.icon, iconAfter = props.iconAfter, iconAfterFill = props.iconAfterFill, iconAfterFillSize = props.iconAfterFillSize, iconAfterShape = props.iconAfterShape, iconAfterSize = props.iconAfterSize, iconAfterSrc = props.iconAfterSrc, iconBefore = props.iconBefore, iconBeforeFill = props.iconBeforeFill, iconBeforeFillSize = props.iconBeforeFillSize, iconBeforeShape = props.iconBeforeShape, iconBeforeSize = props.iconBeforeSize, iconBeforeSrc = props.iconBeforeSrc, iconFill = props.iconFill, iconFillSize = props.iconFillSize, iconShape = props.iconShape, iconSize = props.iconSize, iconSrc = props.iconSrc, label = props.label, labelTextColor = props.labelTextColor, labelTextColorHover = props.labelTextColorHover, labelTextSize = props.labelTextSize, labelTextSizeMobile = props.labelTextSizeMobile, labelTextTruncate = props.labelTextTruncate, labelTextWeight = props.labelTextWeight, labelTextWidth = props.labelTextWidth, labelTextWrap = props.labelTextWrap, link = props.link, loaderFill = props.loaderFill, loaderItemFill = props.loaderItemFill, _b = props.loaderSet, loaderSet = _b === void 0 ? 'simple' : _b, _c = props.loading, loading = _c === void 0 ? false : _c, rel = props.rel, set = props.set, target = props.target, onClick = props.onClick, onMouseDown = props.onMouseDown;
79
+ // @ts-expect-error
80
+ var appearanceConfig = buttonConfig.appearance && buttonConfig.appearance[appearance];
81
+ var classGenerator = useDeviceTargetClassGenerator(props, appearanceConfig);
82
+ var borderColorClass = classGenerator.borderColorClass, borderTypeClass = classGenerator.borderTypeClass, borderWidthClass = classGenerator.borderWidthClass, elevationClass = classGenerator.elevationClass, fillClass = classGenerator.fillClass, fillHoverClass = classGenerator.fillHoverClass, shapeClass = classGenerator.shapeClass, sizeClass = classGenerator.sizeClass, widthClass = classGenerator.widthClass;
83
+ // @ts-expect-error
84
+ var _d = useStyles(props), labelStyles = _d.label, buttonStyles = _d.styles;
85
+ return (jsx(LinkWrapper, { className: clsx(className, 'button', label && 'button_type_label', !label &&
86
+ (iconBefore || iconBeforeSrc || iconAfter || iconAfterSrc || icon || iconSrc) &&
87
+ 'button_type_icon', label &&
88
+ (after ||
89
+ before ||
90
+ icon ||
91
+ iconAfter ||
92
+ iconAfterSrc ||
93
+ iconBefore ||
94
+ iconBeforeSrc ||
95
+ iconSrc) &&
96
+ 'button_type_with-icon', borderColorClass ? 'button_set_outlined' : set ? "button_set_".concat(set) : 'button_set_filled', borderWidthClass && "border-width_".concat(borderWidthClass), borderColorClass && "border-color_".concat(borderColorClass), borderTypeClass && "border_type_".concat(borderTypeClass), fillClass && "fill_".concat(fillClass), fillHoverClass && "fill_hover_".concat(fillHoverClass), shapeClass && "button_shape_".concat(shapeClass), sizeClass && "button_size_".concat(sizeClass), widthClass && "button_width_".concat(widthClass), elevationClass && "elevation_".concat(elevationClass), onClick && 'cursor_type_pointer', isDisabled && 'cursor_type_default', Badge && 'button_type_badge', loading && 'button_state_loading'), "data-test-id": dataTestId && "".concat(dataTestId, "Button"), "data-tour": dataTour, DefaultComponent: "button", disabled: isDisabled, href: link || href, rel: rel, style: buttonStyles, target: target, type: htmlType, onClick: onClick, onMouseDown: onMouseDown, children: jsxs("div", { className: "button__wrapper", ref: ref, children: [loading && (jsx(Loader, { className: clsx(className, 'button__loader', shapeClass), fill: loaderFill || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.loaderFill), itemFill: loaderItemFill || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.loaderItemFill), set: loaderSet })), before, (iconBefore || iconBeforeSrc) && (jsx(Icon, { className: "button__icon_before", fill: fillIconBefore, fillSize: iconBeforeFillSize, iconFill: iconBeforeFill || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.iconBeforeFill), imageSrc: iconBeforeSrc, shape: iconBeforeShape, size: iconBeforeSize, SvgImage: iconBefore })), (icon || iconSrc) && (jsx(Icon, { className: "button__icon", fill: fillIcon, fillSize: iconFillSize, iconFill: iconFill || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.iconFill), imageSrc: iconSrc, shape: iconShape, size: iconSize, SvgImage: icon })), (children || label || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.label)) && (jsx(Text, { className: "button__label", width: labelTextWidth, size: labelTextSize || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.labelTextSize) || undefined, sizeMobile: labelTextSizeMobile, style: labelStyles, textColor: labelTextColor || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.labelTextColor), textColorHover: labelTextColorHover || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.labelTextColorHover), textTruncate: labelTextTruncate, textWeight: labelTextWeight, textWrap: labelTextWrap, children: children || label || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.label) })), (iconAfter || iconAfterSrc) && (jsx(Icon, { className: "button__icon_after", fill: fillIconAfter, fillSize: iconAfterFillSize, iconFill: iconAfterFill || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.iconAfterFill), imageSrc: iconAfterSrc, shape: iconAfterShape, size: iconAfterSize, SvgImage: iconAfter })), Badge, after] }) }));
97
+ });
98
+
99
+ export { Button as B, buttonAppearance as a, buttonConfig as b };
@@ -0,0 +1,103 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var React = require('react');
5
+ var clsx = require('clsx');
6
+ var useDeviceTargetClassGenerator = require('./cjs/hooks/useDeviceTargetClassGenerator.js');
7
+ var useStyles = require('./cjs/hooks/useStyles.js');
8
+ var Icon = require('./Icon-hqYZoh4h.js');
9
+ var Link = require('./Link-DGj-cNje.js');
10
+ var Loader = require('./Loader-Dn036JwE.js');
11
+ var Text = require('./Text-Beslj4Ns.js');
12
+
13
+ var buttonAppearance = {
14
+ dev: {
15
+ fill: 'surfaceSecondary',
16
+ fillHover: 'surfaceSecondaryHover',
17
+ label: 'Button',
18
+ labelTextColor: 'surfaceTextPrimary',
19
+ labelTextSize: 'l',
20
+ shape: 'rounded',
21
+ size: 'xxl',
22
+ },
23
+ accent: {
24
+ fill: 'accentPrimary',
25
+ fillHover: 'accentPrimaryHover',
26
+ labelTextColor: 'accentTextPrimary',
27
+ labelTextColorHover: 'accentTextPrimary',
28
+ loaderFill: 'accentPrimary',
29
+ loaderItemFill: 'accentItemPrimary',
30
+ },
31
+ accentSecondary: {
32
+ fill: 'accentSecondary',
33
+ fillHover: 'accentPrimaryHover',
34
+ labelTextColor: 'accentTextPrimary',
35
+ labelTextColorHover: 'accentTextPrimary',
36
+ loaderFill: 'accentPrimary',
37
+ loaderItemFill: 'accentItemPrimary',
38
+ },
39
+ primary: {
40
+ fill: 'primaryPrimary',
41
+ fillHover: 'primaryPrimaryHover',
42
+ labelTextColor: 'primaryTextPrimary',
43
+ },
44
+ secondary: {
45
+ fill: 'secondaryPrimary',
46
+ fillHover: 'secondaryPrimaryHover',
47
+ labelTextColor: 'secondaryTextPrimary',
48
+ },
49
+ surfacePrimary: {
50
+ fill: 'surfacePrimary',
51
+ fillHover: 'surfacePrimaryHover',
52
+ labelTextColor: 'surfaceTextPrimary',
53
+ },
54
+ surfaceSecondary: {
55
+ fill: 'surfaceSecondary',
56
+ fillHover: 'surfaceSecondaryHover',
57
+ labelTextColor: 'surfaceTextPrimary',
58
+ loaderFill: 'surfaceSecondary',
59
+ loaderItemFill: 'surfaceItemPrimary',
60
+ },
61
+ surfaceTertiary: {
62
+ fill: 'surfaceTertiary',
63
+ fillHover: 'surfaceTertiaryHover',
64
+ labelTextColor: 'surfaceTextPrimary',
65
+ },
66
+ surfaceDisabled: {
67
+ fill: 'surfaceDisabled',
68
+ fillHover: 'surfaceDisabled',
69
+ labelTextColor: 'surfaceTextPrimary',
70
+ },
71
+ };
72
+
73
+ var buttonConfig = {
74
+ appearance: buttonAppearance,
75
+ setAppearance: function (newComponent) {
76
+ buttonConfig.appearance = newComponent;
77
+ },
78
+ };
79
+ var Button = React.forwardRef(function Button(props, ref) {
80
+ var children = props.children, isDisabled = props.isDisabled, after = props.after, appearance = props.appearance, Badge = props.Badge, before = props.before, className = props.className, dataTestId = props.dataTestId, dataTour = props.dataTour, fillIcon = props.fillIcon, fillIconAfter = props.fillIconAfter, fillIconBefore = props.fillIconBefore, href = props.href, _a = props.htmlType, htmlType = _a === void 0 ? 'button' : _a, icon = props.icon, iconAfter = props.iconAfter, iconAfterFill = props.iconAfterFill, iconAfterFillSize = props.iconAfterFillSize, iconAfterShape = props.iconAfterShape, iconAfterSize = props.iconAfterSize, iconAfterSrc = props.iconAfterSrc, iconBefore = props.iconBefore, iconBeforeFill = props.iconBeforeFill, iconBeforeFillSize = props.iconBeforeFillSize, iconBeforeShape = props.iconBeforeShape, iconBeforeSize = props.iconBeforeSize, iconBeforeSrc = props.iconBeforeSrc, iconFill = props.iconFill, iconFillSize = props.iconFillSize, iconShape = props.iconShape, iconSize = props.iconSize, iconSrc = props.iconSrc, label = props.label, labelTextColor = props.labelTextColor, labelTextColorHover = props.labelTextColorHover, labelTextSize = props.labelTextSize, labelTextSizeMobile = props.labelTextSizeMobile, labelTextTruncate = props.labelTextTruncate, labelTextWeight = props.labelTextWeight, labelTextWidth = props.labelTextWidth, labelTextWrap = props.labelTextWrap, link = props.link, loaderFill = props.loaderFill, loaderItemFill = props.loaderItemFill, _b = props.loaderSet, loaderSet = _b === void 0 ? 'simple' : _b, _c = props.loading, loading = _c === void 0 ? false : _c, rel = props.rel, set = props.set, target = props.target, onClick = props.onClick, onMouseDown = props.onMouseDown;
81
+ // @ts-expect-error
82
+ var appearanceConfig = buttonConfig.appearance && buttonConfig.appearance[appearance];
83
+ var classGenerator = useDeviceTargetClassGenerator.useDeviceTargetClassGenerator(props, appearanceConfig);
84
+ var borderColorClass = classGenerator.borderColorClass, borderTypeClass = classGenerator.borderTypeClass, borderWidthClass = classGenerator.borderWidthClass, elevationClass = classGenerator.elevationClass, fillClass = classGenerator.fillClass, fillHoverClass = classGenerator.fillHoverClass, shapeClass = classGenerator.shapeClass, sizeClass = classGenerator.sizeClass, widthClass = classGenerator.widthClass;
85
+ // @ts-expect-error
86
+ var _d = useStyles.useStyles(props), labelStyles = _d.label, buttonStyles = _d.styles;
87
+ return (jsxRuntime.jsx(Link.LinkWrapper, { className: clsx(className, 'button', label && 'button_type_label', !label &&
88
+ (iconBefore || iconBeforeSrc || iconAfter || iconAfterSrc || icon || iconSrc) &&
89
+ 'button_type_icon', label &&
90
+ (after ||
91
+ before ||
92
+ icon ||
93
+ iconAfter ||
94
+ iconAfterSrc ||
95
+ iconBefore ||
96
+ iconBeforeSrc ||
97
+ iconSrc) &&
98
+ 'button_type_with-icon', borderColorClass ? 'button_set_outlined' : set ? "button_set_".concat(set) : 'button_set_filled', borderWidthClass && "border-width_".concat(borderWidthClass), borderColorClass && "border-color_".concat(borderColorClass), borderTypeClass && "border_type_".concat(borderTypeClass), fillClass && "fill_".concat(fillClass), fillHoverClass && "fill_hover_".concat(fillHoverClass), shapeClass && "button_shape_".concat(shapeClass), sizeClass && "button_size_".concat(sizeClass), widthClass && "button_width_".concat(widthClass), elevationClass && "elevation_".concat(elevationClass), onClick && 'cursor_type_pointer', isDisabled && 'cursor_type_default', Badge && 'button_type_badge', loading && 'button_state_loading'), "data-test-id": dataTestId && "".concat(dataTestId, "Button"), "data-tour": dataTour, DefaultComponent: "button", disabled: isDisabled, href: link || href, rel: rel, style: buttonStyles, target: target, type: htmlType, onClick: onClick, onMouseDown: onMouseDown, children: jsxRuntime.jsxs("div", { className: "button__wrapper", ref: ref, children: [loading && (jsxRuntime.jsx(Loader.Loader, { className: clsx(className, 'button__loader', shapeClass), fill: loaderFill || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.loaderFill), itemFill: loaderItemFill || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.loaderItemFill), set: loaderSet })), before, (iconBefore || iconBeforeSrc) && (jsxRuntime.jsx(Icon.Icon, { className: "button__icon_before", fill: fillIconBefore, fillSize: iconBeforeFillSize, iconFill: iconBeforeFill || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.iconBeforeFill), imageSrc: iconBeforeSrc, shape: iconBeforeShape, size: iconBeforeSize, SvgImage: iconBefore })), (icon || iconSrc) && (jsxRuntime.jsx(Icon.Icon, { className: "button__icon", fill: fillIcon, fillSize: iconFillSize, iconFill: iconFill || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.iconFill), imageSrc: iconSrc, shape: iconShape, size: iconSize, SvgImage: icon })), (children || label || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.label)) && (jsxRuntime.jsx(Text.Text, { className: "button__label", width: labelTextWidth, size: labelTextSize || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.labelTextSize) || undefined, sizeMobile: labelTextSizeMobile, style: labelStyles, textColor: labelTextColor || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.labelTextColor), textColorHover: labelTextColorHover || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.labelTextColorHover), textTruncate: labelTextTruncate, textWeight: labelTextWeight, textWrap: labelTextWrap, children: children || label || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.label) })), (iconAfter || iconAfterSrc) && (jsxRuntime.jsx(Icon.Icon, { className: "button__icon_after", fill: fillIconAfter, fillSize: iconAfterFillSize, iconFill: iconAfterFill || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.iconAfterFill), imageSrc: iconAfterSrc, shape: iconAfterShape, size: iconAfterSize, SvgImage: iconAfter })), Badge, after] }) }));
99
+ });
100
+
101
+ exports.Button = Button;
102
+ exports.buttonAppearance = buttonAppearance;
103
+ exports.buttonConfig = buttonConfig;
@@ -0,0 +1,30 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import clsx from 'clsx';
3
+ import { useDeviceTargetClassGenerator } from './hooks/useDeviceTargetClassGenerator.js';
4
+ import { useStyles } from './hooks/useStyles.js';
5
+
6
+ var dividerAppearance = {
7
+ dev: {},
8
+ };
9
+
10
+ var dividerConfig = {
11
+ appearance: dividerAppearance,
12
+ setAppearance: function (newComponent) {
13
+ dividerConfig.appearance = newComponent;
14
+ },
15
+ };
16
+ function Divider(props) {
17
+ var appearance = props.appearance, className = props.className;
18
+ // @ts-expect-error
19
+ var appearanceConfig = dividerConfig.appearance && dividerConfig.appearance[appearance];
20
+ var classGenerator = useDeviceTargetClassGenerator(props, appearanceConfig);
21
+ var directionClass = classGenerator.directionClass, fillActiveClass = classGenerator.fillActiveClass, fillActiveHoverClass = classGenerator.fillActiveHoverClass, fillClass = classGenerator.fillClass, fillDisabledClass = classGenerator.fillDisabledClass, fillHoverClass = classGenerator.fillHoverClass, sizeClass = classGenerator.sizeClass, widthClass = classGenerator.widthClass;
22
+ // @ts-expect-error
23
+ var hrStyles = useStyles(props).styles;
24
+ return (jsx("hr", { className: clsx(className, 'divider', widthClass && "width_".concat(widthClass), directionClass && "divider_direction_".concat(directionClass), sizeClass && "divider_size_".concat(sizeClass), fillClass && "fill_".concat(fillClass), fillHoverClass && "fill_hover_".concat(fillHoverClass), fillActiveClass && "fill_active_".concat(fillActiveClass), fillActiveHoverClass && "fill_active_hover_".concat(fillActiveHoverClass), fillDisabledClass && "fill_disabled_".concat(fillDisabledClass)), style: hrStyles }));
25
+ }
26
+ Divider.defaultProps = {
27
+ size: 'xs',
28
+ };
29
+
30
+ export { Divider as D, dividerAppearance as a, dividerConfig as d };
@@ -0,0 +1,34 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var clsx = require('clsx');
5
+ var useDeviceTargetClassGenerator = require('./cjs/hooks/useDeviceTargetClassGenerator.js');
6
+ var useStyles = require('./cjs/hooks/useStyles.js');
7
+
8
+ var dividerAppearance = {
9
+ dev: {},
10
+ };
11
+
12
+ var dividerConfig = {
13
+ appearance: dividerAppearance,
14
+ setAppearance: function (newComponent) {
15
+ dividerConfig.appearance = newComponent;
16
+ },
17
+ };
18
+ function Divider(props) {
19
+ var appearance = props.appearance, className = props.className;
20
+ // @ts-expect-error
21
+ var appearanceConfig = dividerConfig.appearance && dividerConfig.appearance[appearance];
22
+ var classGenerator = useDeviceTargetClassGenerator.useDeviceTargetClassGenerator(props, appearanceConfig);
23
+ var directionClass = classGenerator.directionClass, fillActiveClass = classGenerator.fillActiveClass, fillActiveHoverClass = classGenerator.fillActiveHoverClass, fillClass = classGenerator.fillClass, fillDisabledClass = classGenerator.fillDisabledClass, fillHoverClass = classGenerator.fillHoverClass, sizeClass = classGenerator.sizeClass, widthClass = classGenerator.widthClass;
24
+ // @ts-expect-error
25
+ var hrStyles = useStyles.useStyles(props).styles;
26
+ return (jsxRuntime.jsx("hr", { className: clsx(className, 'divider', widthClass && "width_".concat(widthClass), directionClass && "divider_direction_".concat(directionClass), sizeClass && "divider_size_".concat(sizeClass), fillClass && "fill_".concat(fillClass), fillHoverClass && "fill_hover_".concat(fillHoverClass), fillActiveClass && "fill_active_".concat(fillActiveClass), fillActiveHoverClass && "fill_active_hover_".concat(fillActiveHoverClass), fillDisabledClass && "fill_disabled_".concat(fillDisabledClass)), style: hrStyles }));
27
+ }
28
+ Divider.defaultProps = {
29
+ size: 'xs',
30
+ };
31
+
32
+ exports.Divider = Divider;
33
+ exports.dividerAppearance = dividerAppearance;
34
+ exports.dividerConfig = dividerConfig;
@@ -0,0 +1,92 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import React, { useRef, useState, useCallback, useEffect } from 'react';
3
+ import clsx from 'clsx';
4
+ import { useDeviceTargetClassGenerator } from './hooks/useDeviceTargetClassGenerator.js';
5
+ import { useStyles } from './hooks/useStyles.js';
6
+ import { D as Divider } from './Divider-DBvDCUqP.js';
7
+ import { L as Link } from './Link-_A9ZfNln.js';
8
+ import { T as Text } from './Text-JayJa3hj.js';
9
+
10
+ function Dropdown(props) {
11
+ var children = props.children, isOpen = props.isOpen, after = props.after, _a = props.animationClose, animationClose = _a === void 0 ? 'dropdown_animation_close' : _a, _b = props.animationOpen, animationOpen = _b === void 0 ? 'dropdown_animation_open' : _b, before = props.before, className = props.className, _c = props.set, set = _c === void 0 ? 'normal' : _c, setIsOpen = props.setIsOpen;
12
+ var dropdownRef = useRef(null);
13
+ // const [isOpen, setIsOpen] = useState(false)
14
+ var _d = useState({
15
+ className: '',
16
+ }), animationState = _d[0], setAnimationState = _d[1];
17
+ var onAnimationEnd = useCallback(function () {
18
+ // When component is change his visibility(display) in DOM,
19
+ // animation of close can run unnecessary on showing element.
20
+ // const dropdownElement = dropdownRef.current
21
+ setAnimationState(function (prevState) { return ({
22
+ className: isOpen ? prevState.className : '',
23
+ }); });
24
+ }, [isOpen]);
25
+ useEffect(function () {
26
+ if (animationOpen && animationClose) {
27
+ setAnimationState(function () { return ({
28
+ className: isOpen ? animationOpen : animationClose,
29
+ }); });
30
+ }
31
+ }, [isOpen]);
32
+ // Close dropdown by click outside
33
+ useEffect(function () {
34
+ // Add a handler to keep track of the click target.
35
+ function onClickWindow(event) {
36
+ var dropdownElement = dropdownRef.current;
37
+ if (dropdownElement && animationOpen) {
38
+ // Is event target inside of dropdown element
39
+ var isContainsTarget = dropdownElement.contains(event.target);
40
+ // Is dropdown element has "open" class
41
+ var hasOpenClass = dropdownElement.classList.contains(animationOpen);
42
+ if (!isContainsTarget && hasOpenClass) {
43
+ // Trigger close event with animation
44
+ // dropdownElement.click() - trigger "onClickWindow" again
45
+ setIsOpen(false);
46
+ }
47
+ }
48
+ }
49
+ // Add event listener for current dropdown on first render
50
+ window.addEventListener('click', onClickWindow);
51
+ return function () {
52
+ // Remove event listener for current dropdown on unmount
53
+ window.removeEventListener('click', onClickWindow);
54
+ };
55
+ // eslint-disable-next-line react-hooks/exhaustive-deps
56
+ }, []);
57
+ var classGenerator = useDeviceTargetClassGenerator(props);
58
+ var alignmentClass = classGenerator.alignmentClass, elevationClass = classGenerator.elevationClass, fillClass = classGenerator.fillClass, fillHoverClass = classGenerator.fillHoverClass, shapeClass = classGenerator.shapeClass;
59
+ // @ts-expect-error
60
+ var styles = useStyles(props).styles;
61
+ return (jsxs("div", { className: clsx(className, 'dropdown', alignmentClass && "alignment_".concat(alignmentClass), set && "dropdown_set_".concat(set), shapeClass && "dropdown_shape_".concat(shapeClass), elevationClass && "elevation_".concat(elevationClass), isOpen ? 'dropdown_state_open' : 'dropdown_state_close', animationState.className), ref: dropdownRef, style: styles, children: [before, children && (jsx("div", { className: clsx('dropdown__wrapper', fillClass && "fill_".concat(fillClass), fillHoverClass && "fill_hover_".concat(fillHoverClass)),
62
+ // Add "onAnimationEnd" only for wrapper for ignore dropdown button
63
+ onAnimationEnd: onAnimationEnd, children: children })), after] }));
64
+ }
65
+
66
+ var dropdownItemAppearance = {
67
+ dev: {},
68
+ };
69
+
70
+ var dropdownItemConfig = {
71
+ appearance: dropdownItemAppearance,
72
+ setAppearance: function (newComponent) {
73
+ dropdownItemConfig.appearance = newComponent;
74
+ },
75
+ };
76
+ function DropdownItem(props) {
77
+ var children = props.children, isActive = props.isActive, isHover = props.isHover, after = props.after, appearance = props.appearance, before = props.before, className = props.className, desc = props.desc, descTextColor = props.descTextColor, descTextColorHover = props.descTextColorHover, descTextGradient = props.descTextGradient, descTextSize = props.descTextSize, descTextStyle = props.descTextStyle, descTextWeight = props.descTextWeight, descTextWrap = props.descTextWrap, dividerDirection = props.dividerDirection, dividerFill = props.dividerFill, dividerSize = props.dividerSize, href = props.href, label = props.label, labelTextAlign = props.labelTextAlign, labelTextColor = props.labelTextColor, labelTextColorActive = props.labelTextColorActive, labelTextColorHover = props.labelTextColorHover, labelTextGradient = props.labelTextGradient, labelTextSize = props.labelTextSize, labelTextStyle = props.labelTextStyle, labelTextWeight = props.labelTextWeight, labelTextWrap = props.labelTextWrap, link = props.link, linkFill = props.linkFill, rel = props.rel, set = props.set, showDivider = props.showDivider, target = props.target, underline = props.underline, onClick = props.onClick, onMouseEnter = props.onMouseEnter;
78
+ // prettier-ignore
79
+ var appearanceConfig = (dropdownItemConfig.appearance && dropdownItemConfig.appearance[appearance]);
80
+ var classGenerator = useDeviceTargetClassGenerator(props, appearanceConfig);
81
+ var alignClass = classGenerator.alignClass, alignDirectionClass = classGenerator.alignDirectionClass, directionClass = classGenerator.directionClass, fillActiveClass = classGenerator.fillActiveClass, fillActiveHoverClass = classGenerator.fillActiveHoverClass, fillClass = classGenerator.fillClass, fillDisabledClass = classGenerator.fillDisabledClass, fillHoverClass = classGenerator.fillHoverClass, justifyContentClass = classGenerator.justifyContentClass, shapeClass = classGenerator.shapeClass, sizeClass = classGenerator.sizeClass, typeClass = classGenerator.typeClass, widthClass = classGenerator.widthClass;
82
+ // @ts-expect-error
83
+ var dropdownItem = useStyles(props).styles;
84
+ return (jsxs("div", { className: clsx('dropdown__item', isActive && 'dropdown__item_state_active', isHover && 'dropdown__item_state_hover', directionClass && "dropdown__item_direction_".concat(directionClass), className, fillClass && "fill_".concat(fillClass), fillHoverClass && "fill_hover_".concat(fillHoverClass), fillActiveClass && "fill_active_".concat(fillActiveClass), fillActiveHoverClass && "fill_active_hover_".concat(fillActiveHoverClass), fillDisabledClass && "fill_disabled_".concat(fillDisabledClass), sizeClass && "dropdown__item_size_".concat(sizeClass), shapeClass && "dropdown__item_shape_".concat(shapeClass), typeClass && "dropdown__item_type_".concat(typeClass), widthClass && "dropdown__item_width_".concat(widthClass), onClick && 'cursor_type_pointer', set && "dropdown__item_set_".concat(set), justifyContentClass && "dropdown__item_justify-content_".concat(justifyContentClass)), style: dropdownItem, onClick: onClick, onMouseEnter: onMouseEnter, children: [jsx("div", { className: "dropdown__item-wrapper", children: jsx(Link, { className: clsx('dropdown__item-link', alignDirectionClass && "align_".concat(alignDirectionClass), alignClass && "align_".concat(alignClass)), fill: linkFill, href: link || href, rel: rel, target: target, underline: underline, children: jsxs(React.Fragment, { children: [before, children || (jsxs(React.Fragment, { children: [label && (jsx(Text, { className: "dropdown__item-label", size: labelTextSize || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.labelTextSize), textAlign: labelTextAlign, textColor: labelTextColor || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.labelTextColor), textColorActive: isActive ? labelTextColorActive : undefined, textColorGradient: labelTextGradient, textColorHover: labelTextColorHover, textStyle: labelTextStyle, textWeight: labelTextWeight, textWrap: labelTextWrap, children: label })), desc && (jsx(Text, { className: "dropdown__item-desc", size: descTextSize || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.descTextSize), textColor: descTextColor || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.descTextColor), textColorGradient: descTextGradient, textColorHover: descTextColorHover, textStyle: descTextStyle, textWeight: descTextWeight, textWrap: descTextWrap, children: desc }))] })), after] }) }) }), showDivider && (jsx(Divider, { width: "fill", fill: dividerFill || 'surfaceTertiary', direction: dividerDirection, size: dividerSize }))] }));
85
+ }
86
+ DropdownItem.defaultProps = {
87
+ width: 'fixed',
88
+ LinkComponent: 'a',
89
+ size: 'l',
90
+ };
91
+
92
+ export { Dropdown as D, DropdownItem as a, dropdownItemConfig as b, dropdownItemAppearance as d };
@@ -0,0 +1,97 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var React = require('react');
5
+ var clsx = require('clsx');
6
+ var useDeviceTargetClassGenerator = require('./cjs/hooks/useDeviceTargetClassGenerator.js');
7
+ var useStyles = require('./cjs/hooks/useStyles.js');
8
+ var Divider = require('./Divider-Goh6mpPK.js');
9
+ var Link = require('./Link-DGj-cNje.js');
10
+ var Text = require('./Text-Beslj4Ns.js');
11
+
12
+ function Dropdown(props) {
13
+ var children = props.children, isOpen = props.isOpen, after = props.after, _a = props.animationClose, animationClose = _a === void 0 ? 'dropdown_animation_close' : _a, _b = props.animationOpen, animationOpen = _b === void 0 ? 'dropdown_animation_open' : _b, before = props.before, className = props.className, _c = props.set, set = _c === void 0 ? 'normal' : _c, setIsOpen = props.setIsOpen;
14
+ var dropdownRef = React.useRef(null);
15
+ // const [isOpen, setIsOpen] = useState(false)
16
+ var _d = React.useState({
17
+ className: '',
18
+ }), animationState = _d[0], setAnimationState = _d[1];
19
+ var onAnimationEnd = React.useCallback(function () {
20
+ // When component is change his visibility(display) in DOM,
21
+ // animation of close can run unnecessary on showing element.
22
+ // const dropdownElement = dropdownRef.current
23
+ setAnimationState(function (prevState) { return ({
24
+ className: isOpen ? prevState.className : '',
25
+ }); });
26
+ }, [isOpen]);
27
+ React.useEffect(function () {
28
+ if (animationOpen && animationClose) {
29
+ setAnimationState(function () { return ({
30
+ className: isOpen ? animationOpen : animationClose,
31
+ }); });
32
+ }
33
+ }, [isOpen]);
34
+ // Close dropdown by click outside
35
+ React.useEffect(function () {
36
+ // Add a handler to keep track of the click target.
37
+ function onClickWindow(event) {
38
+ var dropdownElement = dropdownRef.current;
39
+ if (dropdownElement && animationOpen) {
40
+ // Is event target inside of dropdown element
41
+ var isContainsTarget = dropdownElement.contains(event.target);
42
+ // Is dropdown element has "open" class
43
+ var hasOpenClass = dropdownElement.classList.contains(animationOpen);
44
+ if (!isContainsTarget && hasOpenClass) {
45
+ // Trigger close event with animation
46
+ // dropdownElement.click() - trigger "onClickWindow" again
47
+ setIsOpen(false);
48
+ }
49
+ }
50
+ }
51
+ // Add event listener for current dropdown on first render
52
+ window.addEventListener('click', onClickWindow);
53
+ return function () {
54
+ // Remove event listener for current dropdown on unmount
55
+ window.removeEventListener('click', onClickWindow);
56
+ };
57
+ // eslint-disable-next-line react-hooks/exhaustive-deps
58
+ }, []);
59
+ var classGenerator = useDeviceTargetClassGenerator.useDeviceTargetClassGenerator(props);
60
+ var alignmentClass = classGenerator.alignmentClass, elevationClass = classGenerator.elevationClass, fillClass = classGenerator.fillClass, fillHoverClass = classGenerator.fillHoverClass, shapeClass = classGenerator.shapeClass;
61
+ // @ts-expect-error
62
+ var styles = useStyles.useStyles(props).styles;
63
+ return (jsxRuntime.jsxs("div", { className: clsx(className, 'dropdown', alignmentClass && "alignment_".concat(alignmentClass), set && "dropdown_set_".concat(set), shapeClass && "dropdown_shape_".concat(shapeClass), elevationClass && "elevation_".concat(elevationClass), isOpen ? 'dropdown_state_open' : 'dropdown_state_close', animationState.className), ref: dropdownRef, style: styles, children: [before, children && (jsxRuntime.jsx("div", { className: clsx('dropdown__wrapper', fillClass && "fill_".concat(fillClass), fillHoverClass && "fill_hover_".concat(fillHoverClass)),
64
+ // Add "onAnimationEnd" only for wrapper for ignore dropdown button
65
+ onAnimationEnd: onAnimationEnd, children: children })), after] }));
66
+ }
67
+
68
+ var dropdownItemAppearance = {
69
+ dev: {},
70
+ };
71
+
72
+ var dropdownItemConfig = {
73
+ appearance: dropdownItemAppearance,
74
+ setAppearance: function (newComponent) {
75
+ dropdownItemConfig.appearance = newComponent;
76
+ },
77
+ };
78
+ function DropdownItem(props) {
79
+ var children = props.children, isActive = props.isActive, isHover = props.isHover, after = props.after, appearance = props.appearance, before = props.before, className = props.className, desc = props.desc, descTextColor = props.descTextColor, descTextColorHover = props.descTextColorHover, descTextGradient = props.descTextGradient, descTextSize = props.descTextSize, descTextStyle = props.descTextStyle, descTextWeight = props.descTextWeight, descTextWrap = props.descTextWrap, dividerDirection = props.dividerDirection, dividerFill = props.dividerFill, dividerSize = props.dividerSize, href = props.href, label = props.label, labelTextAlign = props.labelTextAlign, labelTextColor = props.labelTextColor, labelTextColorActive = props.labelTextColorActive, labelTextColorHover = props.labelTextColorHover, labelTextGradient = props.labelTextGradient, labelTextSize = props.labelTextSize, labelTextStyle = props.labelTextStyle, labelTextWeight = props.labelTextWeight, labelTextWrap = props.labelTextWrap, link = props.link, linkFill = props.linkFill, rel = props.rel, set = props.set, showDivider = props.showDivider, target = props.target, underline = props.underline, onClick = props.onClick, onMouseEnter = props.onMouseEnter;
80
+ // prettier-ignore
81
+ var appearanceConfig = (dropdownItemConfig.appearance && dropdownItemConfig.appearance[appearance]);
82
+ var classGenerator = useDeviceTargetClassGenerator.useDeviceTargetClassGenerator(props, appearanceConfig);
83
+ var alignClass = classGenerator.alignClass, alignDirectionClass = classGenerator.alignDirectionClass, directionClass = classGenerator.directionClass, fillActiveClass = classGenerator.fillActiveClass, fillActiveHoverClass = classGenerator.fillActiveHoverClass, fillClass = classGenerator.fillClass, fillDisabledClass = classGenerator.fillDisabledClass, fillHoverClass = classGenerator.fillHoverClass, justifyContentClass = classGenerator.justifyContentClass, shapeClass = classGenerator.shapeClass, sizeClass = classGenerator.sizeClass, typeClass = classGenerator.typeClass, widthClass = classGenerator.widthClass;
84
+ // @ts-expect-error
85
+ var dropdownItem = useStyles.useStyles(props).styles;
86
+ return (jsxRuntime.jsxs("div", { className: clsx('dropdown__item', isActive && 'dropdown__item_state_active', isHover && 'dropdown__item_state_hover', directionClass && "dropdown__item_direction_".concat(directionClass), className, fillClass && "fill_".concat(fillClass), fillHoverClass && "fill_hover_".concat(fillHoverClass), fillActiveClass && "fill_active_".concat(fillActiveClass), fillActiveHoverClass && "fill_active_hover_".concat(fillActiveHoverClass), fillDisabledClass && "fill_disabled_".concat(fillDisabledClass), sizeClass && "dropdown__item_size_".concat(sizeClass), shapeClass && "dropdown__item_shape_".concat(shapeClass), typeClass && "dropdown__item_type_".concat(typeClass), widthClass && "dropdown__item_width_".concat(widthClass), onClick && 'cursor_type_pointer', set && "dropdown__item_set_".concat(set), justifyContentClass && "dropdown__item_justify-content_".concat(justifyContentClass)), style: dropdownItem, onClick: onClick, onMouseEnter: onMouseEnter, children: [jsxRuntime.jsx("div", { className: "dropdown__item-wrapper", children: jsxRuntime.jsx(Link.Link, { className: clsx('dropdown__item-link', alignDirectionClass && "align_".concat(alignDirectionClass), alignClass && "align_".concat(alignClass)), fill: linkFill, href: link || href, rel: rel, target: target, underline: underline, children: jsxRuntime.jsxs(React.Fragment, { children: [before, children || (jsxRuntime.jsxs(React.Fragment, { children: [label && (jsxRuntime.jsx(Text.Text, { className: "dropdown__item-label", size: labelTextSize || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.labelTextSize), textAlign: labelTextAlign, textColor: labelTextColor || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.labelTextColor), textColorActive: isActive ? labelTextColorActive : undefined, textColorGradient: labelTextGradient, textColorHover: labelTextColorHover, textStyle: labelTextStyle, textWeight: labelTextWeight, textWrap: labelTextWrap, children: label })), desc && (jsxRuntime.jsx(Text.Text, { className: "dropdown__item-desc", size: descTextSize || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.descTextSize), textColor: descTextColor || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.descTextColor), textColorGradient: descTextGradient, textColorHover: descTextColorHover, textStyle: descTextStyle, textWeight: descTextWeight, textWrap: descTextWrap, children: desc }))] })), after] }) }) }), showDivider && (jsxRuntime.jsx(Divider.Divider, { width: "fill", fill: dividerFill || 'surfaceTertiary', direction: dividerDirection, size: dividerSize }))] }));
87
+ }
88
+ DropdownItem.defaultProps = {
89
+ width: 'fixed',
90
+ LinkComponent: 'a',
91
+ size: 'l',
92
+ };
93
+
94
+ exports.Dropdown = Dropdown;
95
+ exports.DropdownItem = DropdownItem;
96
+ exports.dropdownItemAppearance = dropdownItemAppearance;
97
+ exports.dropdownItemConfig = dropdownItemConfig;