@foxford/ui 2.97.0 → 2.97.1-beta-b68128a-20260227

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 (614) 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.map +1 -1
  6. package/components/Accordion/hooks.mjs.map +1 -1
  7. package/components/Accordion/style.js.map +1 -1
  8. package/components/AccordionItem/AccordionItem.js.map +1 -1
  9. package/components/AccordionItem/AccordionItem.mjs +1 -1
  10. package/components/AccordionItem/AccordionItem.mjs.map +1 -1
  11. package/components/AccordionItem/sizes.js.map +1 -1
  12. package/components/AccordionItem/style.js.map +1 -1
  13. package/components/AccordionItem/style.mjs.map +1 -1
  14. package/components/AccordionItem/useAccordionPanel.js.map +1 -1
  15. package/components/AccordionItem/useAccordionPanelProps.js.map +1 -1
  16. package/components/AccordionItem/useAccordionPanelProps.mjs.map +1 -1
  17. package/components/ActionBtn/ActionBtn.js.map +1 -1
  18. package/components/ActionBtn/ActionBtn.mjs.map +1 -1
  19. package/components/ActionBtn/style.js.map +1 -1
  20. package/components/ActionBtn/style.mjs.map +1 -1
  21. package/components/AddElement/AddElement.js +1 -1
  22. package/components/AddElement/AddElement.js.map +1 -1
  23. package/components/AddElement/AddElement.mjs +1 -1
  24. package/components/AddElement/AddElement.mjs.map +1 -1
  25. package/components/AddElement/sizes.js.map +1 -1
  26. package/components/AddElement/sizes.mjs.map +1 -1
  27. package/components/AddElement/style.js.map +1 -1
  28. package/components/AddElement/style.mjs.map +1 -1
  29. package/components/Alert/Alert.js.map +1 -1
  30. package/components/Alert/Alert.mjs.map +1 -1
  31. package/components/Alert/CountdownCircle.js.map +1 -1
  32. package/components/Alert/CountdownCircle.mjs.map +1 -1
  33. package/components/Alert/style.js.map +1 -1
  34. package/components/Amount/Amount.js.map +1 -1
  35. package/components/Amount/data/index.js.map +1 -1
  36. package/components/Amount/data/index.mjs.map +1 -1
  37. package/components/Amount/style.js.map +1 -1
  38. package/components/Amount/style.mjs.map +1 -1
  39. package/components/Anchor/Anchor.js +1 -1
  40. package/components/Anchor/Anchor.js.map +1 -1
  41. package/components/Anchor/Anchor.mjs +1 -1
  42. package/components/Anchor/Anchor.mjs.map +1 -1
  43. package/components/Anchor/style.js.map +1 -1
  44. package/components/Arrow/Arrow.js.map +1 -1
  45. package/components/Arrow/Arrow.mjs.map +1 -1
  46. package/components/Arrow/images/chevronUpDefault.svg.js.map +1 -1
  47. package/components/Arrow/images/chevronUpDefault.svg.mjs.map +1 -1
  48. package/components/Arrow/style.js.map +1 -1
  49. package/components/ArrowBadge/ArrowBadge.js.map +1 -1
  50. package/components/ArrowBadge/ArrowBadge.mjs.map +1 -1
  51. package/components/ArrowBadge/images/arrow.svg.js.map +1 -1
  52. package/components/ArrowBadge/images/arrow.svg.mjs.map +1 -1
  53. package/components/ArrowBadge/images/fancy.svg.js.map +1 -1
  54. package/components/ArrowBadge/images/fancy.svg.mjs.map +1 -1
  55. package/components/ArrowBadge/images/rectangle.svg.js.map +1 -1
  56. package/components/ArrowBadge/images/rectangle.svg.mjs.map +1 -1
  57. package/components/ArrowBadge/style.js.map +1 -1
  58. package/components/ArrowBadge/style.mjs.map +1 -1
  59. package/components/AspectRatio/AspectRatio.js.map +1 -1
  60. package/components/AspectRatio/AspectRatio.mjs.map +1 -1
  61. package/components/AspectRatio/style.js.map +1 -1
  62. package/components/AspectRatio/style.mjs.map +1 -1
  63. package/components/Avatar/Avatar.js.map +1 -1
  64. package/components/Avatar/Avatar.mjs.map +1 -1
  65. package/components/Avatar/style.js.map +1 -1
  66. package/components/Avatar/style.mjs.map +1 -1
  67. package/components/Badge/Badge.js.map +1 -1
  68. package/components/Badge/Badge.mjs.map +1 -1
  69. package/components/Badge/style.js.map +1 -1
  70. package/components/Badge/style.mjs.map +1 -1
  71. package/components/Button/Button.js.map +1 -1
  72. package/components/Button/Button.mjs +1 -1
  73. package/components/Button/Button.mjs.map +1 -1
  74. package/components/Button/style.js.map +1 -1
  75. package/components/Button/style.mjs +1 -1
  76. package/components/Button/style.mjs.map +1 -1
  77. package/components/Checkbox/Checkbox.js.map +1 -1
  78. package/components/Checkbox/Checkbox.mjs.map +1 -1
  79. package/components/Checkbox/Group.mjs.map +1 -1
  80. package/components/Checkbox/images/checkDefault.svg.js.map +1 -1
  81. package/components/Checkbox/images/checkDefault.svg.mjs.map +1 -1
  82. package/components/Checkbox/style.js.map +1 -1
  83. package/components/Checkbox/style.mjs.map +1 -1
  84. package/components/Chip/Chip.js +1 -1
  85. package/components/Chip/Chip.js.map +1 -1
  86. package/components/Chip/Chip.mjs +1 -1
  87. package/components/Chip/Chip.mjs.map +1 -1
  88. package/components/Chip/constants.js.map +1 -1
  89. package/components/Chip/style.js.map +1 -1
  90. package/components/Chip/style.mjs.map +1 -1
  91. package/components/Container/style.js.map +1 -1
  92. package/components/Container/style.mjs.map +1 -1
  93. package/components/ContextMenu/ContextMenu.js.map +1 -1
  94. package/components/ContextMenu/ContextMenu.mjs.map +1 -1
  95. package/components/ContextMenu/Item.js.map +1 -1
  96. package/components/ContextMenu/Item.mjs.map +1 -1
  97. package/components/ContextMenu/style.js.map +1 -1
  98. package/components/ContextMenu/style.mjs.map +1 -1
  99. package/components/ContextMenu/tooltip-styles.js.map +1 -1
  100. package/components/ContextMenu/tooltip-styles.mjs.map +1 -1
  101. package/components/ContextMenu.Multilevel/ContextMenu.Multilevel.js.map +1 -1
  102. package/components/ContextMenu.Multilevel/ContextMenu.Multilevel.mjs.map +1 -1
  103. package/components/ContextMenu.Multilevel/Controls.js.map +1 -1
  104. package/components/ContextMenu.Multilevel/Heading.js.map +1 -1
  105. package/components/ContextMenu.Multilevel/Heading.mjs.map +1 -1
  106. package/components/ContextMenu.Multilevel/SubHeading.js.map +1 -1
  107. package/components/ContextMenu.Multilevel/SubHeading.mjs.map +1 -1
  108. package/components/ContextMenu.Multilevel/style.js.map +1 -1
  109. package/components/ContextMenu.Multilevel/style.mjs.map +1 -1
  110. package/components/Dialog/Dialog.js.map +1 -1
  111. package/components/Dialog/Dialog.mjs.map +1 -1
  112. package/components/Dialog/sizes.js.map +1 -1
  113. package/components/Dialog/sizes.mjs +1 -1
  114. package/components/Dialog/style.js.map +1 -1
  115. package/components/DialogComponent/DialogComponent.js.map +1 -1
  116. package/components/DialogComponent/DialogComponent.mjs +1 -1
  117. package/components/DialogComponent/DialogComponent.mjs.map +1 -1
  118. package/components/DialogComponent/Header.js.map +1 -1
  119. package/components/DialogComponent/Header.mjs.map +1 -1
  120. package/components/DialogComponent/images/dragging.svg.js.map +1 -1
  121. package/components/DialogComponent/images/dragging.svg.mjs.map +1 -1
  122. package/components/DialogComponent/images/mask-rectangle.svg.mjs.map +1 -1
  123. package/components/DialogComponent/images/mask-slope.svg.mjs.map +1 -1
  124. package/components/DialogComponent/layouts.js.map +1 -1
  125. package/components/DialogComponent/layouts.mjs.map +1 -1
  126. package/components/DialogComponent/style.js.map +1 -1
  127. package/components/DialogComponent/style.mjs.map +1 -1
  128. package/components/Divider/Divider.js.map +1 -1
  129. package/components/Divider/Divider.mjs.map +1 -1
  130. package/components/Divider/style.js.map +1 -1
  131. package/components/Dropdown/Dropdown.js +1 -1
  132. package/components/Dropdown/Dropdown.js.map +1 -1
  133. package/components/Dropdown/Dropdown.mjs +1 -1
  134. package/components/Dropdown/Dropdown.mjs.map +1 -1
  135. package/components/Dropdown/DropdownListItem.js.map +1 -1
  136. package/components/Dropdown/DropdownListItem.mjs.map +1 -1
  137. package/components/Dropdown/DropdownMenu.js.map +1 -1
  138. package/components/Dropdown/DropdownMenu.mjs.map +1 -1
  139. package/components/Dropdown/DropdownMenuMultiple.js.map +1 -1
  140. package/components/Dropdown/DropdownMenuMultiple.mjs.map +1 -1
  141. package/components/Dropdown/DropdownMenuNoOptions.js +1 -1
  142. package/components/Dropdown/DropdownMenuNoOptions.js.map +1 -1
  143. package/components/Dropdown/DropdownMenuNoOptions.mjs +1 -1
  144. package/components/Dropdown/DropdownMenuNoOptions.mjs.map +1 -1
  145. package/components/Dropdown/DropdownMenuSingle.js.map +1 -1
  146. package/components/Dropdown/DropdownMenuSingle.mjs.map +1 -1
  147. package/components/Dropdown/hooks.js.map +1 -1
  148. package/components/Dropdown/hooks.mjs.map +1 -1
  149. package/components/Dropdown/renderDropdownOptionsList.js.map +1 -1
  150. package/components/Dropdown/sizes.js.map +1 -1
  151. package/components/Dropdown/style.js.map +1 -1
  152. package/components/Dropdown/style.mjs.map +1 -1
  153. package/components/Dropdown/utils.js.map +1 -1
  154. package/components/Dropdown/utils.mjs.map +1 -1
  155. package/components/FormInput/FormInput.js.map +1 -1
  156. package/components/FormInput/FormInput.mjs.map +1 -1
  157. package/components/FormInput/style.js.map +1 -1
  158. package/components/FormInput/style.mjs.map +1 -1
  159. package/components/FormInputLabel/FormInputLabel.js.map +1 -1
  160. package/components/FormInputLabel/FormInputLabel.mjs.map +1 -1
  161. package/components/FormInputLabel/style.js.map +1 -1
  162. package/components/FormInputLabel/style.mjs.map +1 -1
  163. package/components/FormLabel/FormLabel.js.map +1 -1
  164. package/components/FormLabel/FormLabel.mjs +1 -1
  165. package/components/FormLabel/FormLabel.mjs.map +1 -1
  166. package/components/FormLabel/constants.js.map +1 -1
  167. package/components/FormLabel/constants.mjs +1 -1
  168. package/components/FormLabel/style.js.map +1 -1
  169. package/components/FormLabel/style.mjs.map +1 -1
  170. package/components/Icon/Icon.js.map +1 -1
  171. package/components/Icon/Icon.mjs.map +1 -1
  172. package/components/Icon/iconPack.js.map +1 -1
  173. package/components/Icon/iconPack.mjs.map +1 -1
  174. package/components/Icon/iconsDefault.js.map +1 -1
  175. package/components/Icon/images/blackBoard_default.svg.js.map +1 -1
  176. package/components/Icon/images/blackBoard_default.svg.mjs.map +1 -1
  177. package/components/Icon/images/book_default.svg.js.map +1 -1
  178. package/components/Icon/images/book_default.svg.mjs.map +1 -1
  179. package/components/Icon/images/burger_default.svg.js.map +1 -1
  180. package/components/Icon/images/burger_default.svg.mjs.map +1 -1
  181. package/components/Icon/images/calendar_default.svg.js.map +1 -1
  182. package/components/Icon/images/calendar_default.svg.mjs.map +1 -1
  183. package/components/Icon/images/calendar_simple_default.svg.js.map +1 -1
  184. package/components/Icon/images/calendar_simple_default.svg.mjs.map +1 -1
  185. package/components/Icon/images/camps_default.svg.js.map +1 -1
  186. package/components/Icon/images/camps_default.svg.mjs.map +1 -1
  187. package/components/Icon/images/cancel_default.svg.js.map +1 -1
  188. package/components/Icon/images/cancel_default.svg.mjs.map +1 -1
  189. package/components/Icon/images/cart_default.svg.js.map +1 -1
  190. package/components/Icon/images/cart_default.svg.mjs.map +1 -1
  191. package/components/Icon/images/checkCircle_default.svg.js.map +1 -1
  192. package/components/Icon/images/checkCircle_default.svg.mjs.map +1 -1
  193. package/components/Icon/images/check_default.svg.js.map +1 -1
  194. package/components/Icon/images/check_default.svg.mjs.map +1 -1
  195. package/components/Icon/images/chevronDown_default.svg.js.map +1 -1
  196. package/components/Icon/images/chevronDown_default.svg.mjs.map +1 -1
  197. package/components/Icon/images/chevronLeft_default.svg.js.map +1 -1
  198. package/components/Icon/images/chevronLeft_default.svg.mjs.map +1 -1
  199. package/components/Icon/images/chevronRight_default.svg.js.map +1 -1
  200. package/components/Icon/images/chevronRight_default.svg.mjs.map +1 -1
  201. package/components/Icon/images/chevronUp_default.svg.js.map +1 -1
  202. package/components/Icon/images/chevronUp_default.svg.mjs.map +1 -1
  203. package/components/Icon/images/clockFilled_default.svg.js.map +1 -1
  204. package/components/Icon/images/clockFilled_default.svg.mjs.map +1 -1
  205. package/components/Icon/images/clock_default.svg.js.map +1 -1
  206. package/components/Icon/images/clock_default.svg.mjs.map +1 -1
  207. package/components/Icon/images/coins_default.svg.js.map +1 -1
  208. package/components/Icon/images/coins_default.svg.mjs.map +1 -1
  209. package/components/Icon/images/copy_default.svg.js.map +1 -1
  210. package/components/Icon/images/copy_default.svg.mjs.map +1 -1
  211. package/components/Icon/images/courses_default.svg.js.map +1 -1
  212. package/components/Icon/images/courses_default.svg.mjs.map +1 -1
  213. package/components/Icon/images/cross_default.svg.js.map +1 -1
  214. package/components/Icon/images/cross_default.svg.mjs.map +1 -1
  215. package/components/Icon/images/dialog_default.svg.js.map +1 -1
  216. package/components/Icon/images/dialog_default.svg.mjs.map +1 -1
  217. package/components/Icon/images/diamondFilled_default.svg.js.map +1 -1
  218. package/components/Icon/images/diamondFilled_default.svg.mjs.map +1 -1
  219. package/components/Icon/images/diamond_default.svg.js.map +1 -1
  220. package/components/Icon/images/diamond_default.svg.mjs.map +1 -1
  221. package/components/Icon/images/discount_default.svg.js.map +1 -1
  222. package/components/Icon/images/discount_default.svg.mjs.map +1 -1
  223. package/components/Icon/images/document_default.svg.js.map +1 -1
  224. package/components/Icon/images/document_default.svg.mjs.map +1 -1
  225. package/components/Icon/images/dropDownArrow_default.svg.js.map +1 -1
  226. package/components/Icon/images/dropDownArrow_default.svg.mjs.map +1 -1
  227. package/components/Icon/images/edit_default.svg.js.map +1 -1
  228. package/components/Icon/images/edit_default.svg.mjs.map +1 -1
  229. package/components/Icon/images/email_default.svg.js.map +1 -1
  230. package/components/Icon/images/email_default.svg.mjs.map +1 -1
  231. package/components/Icon/images/externalLink_default.svg.js.map +1 -1
  232. package/components/Icon/images/externalLink_default.svg.mjs.map +1 -1
  233. package/components/Icon/images/externat_default.svg.js.map +1 -1
  234. package/components/Icon/images/externat_default.svg.mjs.map +1 -1
  235. package/components/Icon/images/eye_default.svg.js.map +1 -1
  236. package/components/Icon/images/eye_default.svg.mjs.map +1 -1
  237. package/components/Icon/images/fileBordered_default.svg.js.map +1 -1
  238. package/components/Icon/images/fileBordered_default.svg.mjs.map +1 -1
  239. package/components/Icon/images/file_default.svg.js.map +1 -1
  240. package/components/Icon/images/file_default.svg.mjs.map +1 -1
  241. package/components/Icon/images/fire_default.svg.js.map +1 -1
  242. package/components/Icon/images/fire_default.svg.mjs.map +1 -1
  243. package/components/Icon/images/headphones_default.svg.js.map +1 -1
  244. package/components/Icon/images/headphones_default.svg.mjs.map +1 -1
  245. package/components/Icon/images/home_default.svg.js.map +1 -1
  246. package/components/Icon/images/home_default.svg.mjs.map +1 -1
  247. package/components/Icon/images/infoInverse_default.svg.js.map +1 -1
  248. package/components/Icon/images/infoInverse_default.svg.mjs.map +1 -1
  249. package/components/Icon/images/info_default.svg.js.map +1 -1
  250. package/components/Icon/images/info_default.svg.mjs.map +1 -1
  251. package/components/Icon/images/lessons_default.svg.js.map +1 -1
  252. package/components/Icon/images/lessons_default.svg.mjs.map +1 -1
  253. package/components/Icon/images/list_default.svg.js.map +1 -1
  254. package/components/Icon/images/list_default.svg.mjs.map +1 -1
  255. package/components/Icon/images/login_default.svg.js.map +1 -1
  256. package/components/Icon/images/login_default.svg.mjs.map +1 -1
  257. package/components/Icon/images/logout_default.svg.js.map +1 -1
  258. package/components/Icon/images/logout_default.svg.mjs.map +1 -1
  259. package/components/Icon/images/message_default.svg.js.map +1 -1
  260. package/components/Icon/images/message_default.svg.mjs.map +1 -1
  261. package/components/Icon/images/objective_default.svg.js.map +1 -1
  262. package/components/Icon/images/objective_default.svg.mjs.map +1 -1
  263. package/components/Icon/images/page_default.svg.js.map +1 -1
  264. package/components/Icon/images/page_default.svg.mjs.map +1 -1
  265. package/components/Icon/images/pencil_default.svg.js.map +1 -1
  266. package/components/Icon/images/pencil_default.svg.mjs.map +1 -1
  267. package/components/Icon/images/person_default.svg.js.map +1 -1
  268. package/components/Icon/images/person_default.svg.mjs.map +1 -1
  269. package/components/Icon/images/phoneNoFill_default.svg.js.map +1 -1
  270. package/components/Icon/images/phoneNoFill_default.svg.mjs.map +1 -1
  271. package/components/Icon/images/phone_default.svg.js.map +1 -1
  272. package/components/Icon/images/phone_default.svg.mjs.map +1 -1
  273. package/components/Icon/images/playPause_default.svg.js.map +1 -1
  274. package/components/Icon/images/playPause_default.svg.mjs.map +1 -1
  275. package/components/Icon/images/play_default.svg.js.map +1 -1
  276. package/components/Icon/images/play_default.svg.mjs.map +1 -1
  277. package/components/Icon/images/plusThin_default.svg.js.map +1 -1
  278. package/components/Icon/images/plusThin_default.svg.mjs.map +1 -1
  279. package/components/Icon/images/plus_default.svg.js.map +1 -1
  280. package/components/Icon/images/plus_default.svg.mjs.map +1 -1
  281. package/components/Icon/images/present_default.svg.js.map +1 -1
  282. package/components/Icon/images/present_default.svg.mjs.map +1 -1
  283. package/components/Icon/images/priceTag_default.svg.js.map +1 -1
  284. package/components/Icon/images/priceTag_default.svg.mjs.map +1 -1
  285. package/components/Icon/images/print_default.svg.js.map +1 -1
  286. package/components/Icon/images/print_default.svg.mjs.map +1 -1
  287. package/components/Icon/images/prof_default.svg.js.map +1 -1
  288. package/components/Icon/images/prof_default.svg.mjs.map +1 -1
  289. package/components/Icon/images/questionFilled_default.svg.js.map +1 -1
  290. package/components/Icon/images/questionFilled_default.svg.mjs.map +1 -1
  291. package/components/Icon/images/radioChecked_default.svg.js.map +1 -1
  292. package/components/Icon/images/radioChecked_default.svg.mjs.map +1 -1
  293. package/components/Icon/images/radioNotChecked_default.svg.js.map +1 -1
  294. package/components/Icon/images/radioNotChecked_default.svg.mjs.map +1 -1
  295. package/components/Icon/images/reload_default.svg.js.map +1 -1
  296. package/components/Icon/images/reload_default.svg.mjs.map +1 -1
  297. package/components/Icon/images/search_default.svg.js.map +1 -1
  298. package/components/Icon/images/search_default.svg.mjs.map +1 -1
  299. package/components/Icon/images/settings_default.svg.js.map +1 -1
  300. package/components/Icon/images/settings_default.svg.mjs.map +1 -1
  301. package/components/Icon/images/sharpCross_default.svg.js.map +1 -1
  302. package/components/Icon/images/sharpCross_default.svg.mjs.map +1 -1
  303. package/components/Icon/images/sort_default.svg.js.map +1 -1
  304. package/components/Icon/images/sort_default.svg.mjs.map +1 -1
  305. package/components/Icon/images/star_default.svg.js.map +1 -1
  306. package/components/Icon/images/star_default.svg.mjs.map +1 -1
  307. package/components/Icon/images/student_default.svg.js.map +1 -1
  308. package/components/Icon/images/student_default.svg.mjs.map +1 -1
  309. package/components/Icon/images/target_default.svg.js.map +1 -1
  310. package/components/Icon/images/target_default.svg.mjs.map +1 -1
  311. package/components/Icon/images/tasks_default.svg.js.map +1 -1
  312. package/components/Icon/images/tasks_default.svg.mjs.map +1 -1
  313. package/components/Icon/images/textbook_default.svg.js.map +1 -1
  314. package/components/Icon/images/textbook_default.svg.mjs.map +1 -1
  315. package/components/Icon/images/tinyCross_default.svg.js.map +1 -1
  316. package/components/Icon/images/tinyCross_default.svg.mjs.map +1 -1
  317. package/components/Icon/images/trophy_default.svg.js.map +1 -1
  318. package/components/Icon/images/trophy_default.svg.mjs.map +1 -1
  319. package/components/Icon/images/unsort_default.svg.js.map +1 -1
  320. package/components/Icon/images/unsort_default.svg.mjs.map +1 -1
  321. package/components/Icon/images/video_default.svg.js.map +1 -1
  322. package/components/Icon/images/video_default.svg.mjs.map +1 -1
  323. package/components/Icon/images/wallet_default.svg.js.map +1 -1
  324. package/components/Icon/images/wallet_default.svg.mjs.map +1 -1
  325. package/components/Icon/style.js.map +1 -1
  326. package/components/IconButton/IconButton.js.map +1 -1
  327. package/components/IconButton/IconButton.mjs.map +1 -1
  328. package/components/IconButton/style.js.map +1 -1
  329. package/components/IconButton/style.mjs.map +1 -1
  330. package/components/Indicator/Indicator.js.map +1 -1
  331. package/components/Indicator/Indicator.mjs.map +1 -1
  332. package/components/Indicator/style.js.map +1 -1
  333. package/components/Indicator/style.mjs +1 -1
  334. package/components/Indicator/style.mjs.map +1 -1
  335. package/components/Input/Input.js +1 -1
  336. package/components/Input/Input.js.map +1 -1
  337. package/components/Input/Input.mjs +1 -1
  338. package/components/Input/Input.mjs.map +1 -1
  339. package/components/Input/helpers.mjs.map +1 -1
  340. package/components/Input/sizes.js.map +1 -1
  341. package/components/Input/style.js.map +1 -1
  342. package/components/Input/style.mjs.map +1 -1
  343. package/components/Input.Phone/Input.Phone.js.map +1 -1
  344. package/components/Input.Phone/Input.Phone.mjs +1 -1
  345. package/components/Input.Phone/constants.mjs.map +1 -1
  346. package/components/InputCheckbox/InputCheckbox.js.map +1 -1
  347. package/components/InputCheckbox/InputCheckbox.mjs.map +1 -1
  348. package/components/InputCheckbox/style.js +1 -1
  349. package/components/InputCheckbox/style.js.map +1 -1
  350. package/components/InputCheckbox/style.mjs +1 -1
  351. package/components/InputCheckbox/style.mjs.map +1 -1
  352. package/components/InputLabel/InputLabel.js.map +1 -1
  353. package/components/InputLabel/InputLabel.mjs.map +1 -1
  354. package/components/InputLabel/style.js.map +1 -1
  355. package/components/InputLabel/style.mjs.map +1 -1
  356. package/components/InputRadio/InputRadio.js.map +1 -1
  357. package/components/InputRadio/InputRadio.mjs.map +1 -1
  358. package/components/InputRadio/style.js.map +1 -1
  359. package/components/InputRadio/style.mjs.map +1 -1
  360. package/components/ListItem/ListItem.js.map +1 -1
  361. package/components/ListItem/ListItem.mjs.map +1 -1
  362. package/components/ListItem/style.js.map +1 -1
  363. package/components/ListItem/style.mjs.map +1 -1
  364. package/components/Menu/Menu.js +1 -1
  365. package/components/Menu/Menu.js.map +1 -1
  366. package/components/Menu/Menu.mjs +1 -1
  367. package/components/Menu/Menu.mjs.map +1 -1
  368. package/components/MenuComponent/MenuComponent.js.map +1 -1
  369. package/components/MenuComponent/MenuComponent.mjs.map +1 -1
  370. package/components/MenuComponent/style.js.map +1 -1
  371. package/components/MenuContainer/MenuContainer.js.map +1 -1
  372. package/components/MenuContainer/MenuContainer.mjs.map +1 -1
  373. package/components/MenuContainer/style.js.map +1 -1
  374. package/components/MenuContainer/style.mjs.map +1 -1
  375. package/components/MenuDivider/MenuDivider.js.map +1 -1
  376. package/components/MenuDivider/MenuDivider.mjs +1 -1
  377. package/components/MenuDivider/MenuDivider.mjs.map +1 -1
  378. package/components/MenuDivider/style.js.map +1 -1
  379. package/components/MenuDivider/style.mjs.map +1 -1
  380. package/components/MenuList/MenuList.js.map +1 -1
  381. package/components/MenuList/MenuList.mjs.map +1 -1
  382. package/components/Modal/Close.js.map +1 -1
  383. package/components/Modal/Modal.js.map +1 -1
  384. package/components/Modal/images/tinyCrossDefault.svg.js.map +1 -1
  385. package/components/Modal/images/tinyCrossDefault.svg.mjs.map +1 -1
  386. package/components/Modal/style.js.map +1 -1
  387. package/components/Modal/style.mjs.map +1 -1
  388. package/components/Notification/Notification.js +1 -1
  389. package/components/Notification/Notification.js.map +1 -1
  390. package/components/Notification/Notification.mjs +1 -1
  391. package/components/Notification/Notification.mjs.map +1 -1
  392. package/components/Notification/sizes.js.map +1 -1
  393. package/components/Notification/sizes.mjs.map +1 -1
  394. package/components/Notification/style.js.map +1 -1
  395. package/components/Notification/style.mjs.map +1 -1
  396. package/components/Paper/Paper.js.map +1 -1
  397. package/components/Paper/style.js.map +1 -1
  398. package/components/Paper/style.mjs.map +1 -1
  399. package/components/Popover/Popover.js.map +1 -1
  400. package/components/Popover/Popover.mjs.map +1 -1
  401. package/components/Popover/sizes.js.map +1 -1
  402. package/components/PopoverComponent/PopoverComponent.js.map +1 -1
  403. package/components/PopoverComponent/PopoverComponent.mjs +1 -1
  404. package/components/PopoverComponent/PopoverComponent.mjs.map +1 -1
  405. package/components/PopoverComponent/sizes.js.map +1 -1
  406. package/components/PopoverComponent/style.js.map +1 -1
  407. package/components/PopoverComponent/style.mjs.map +1 -1
  408. package/components/Progress/Progress.js.map +1 -1
  409. package/components/Progress/style.js.map +1 -1
  410. package/components/Progress/style.mjs +1 -1
  411. package/components/Progress/style.mjs.map +1 -1
  412. package/components/Progress.Circle/Progress.Circle.js.map +1 -1
  413. package/components/Progress.Circle/style.js.map +1 -1
  414. package/components/Progress.Circle/style.mjs.map +1 -1
  415. package/components/Progress.Segmented/Progress.Segmented.js.map +1 -1
  416. package/components/Progress.Segmented/Progress.Segmented.mjs.map +1 -1
  417. package/components/Progress.Segmented/style.js.map +1 -1
  418. package/components/Progress.Segmented/style.mjs.map +1 -1
  419. package/components/ProgressCircle/ProgressCircle.js.map +1 -1
  420. package/components/ProgressCircle/ProgressCircle.mjs.map +1 -1
  421. package/components/ProgressCircle/style.js.map +1 -1
  422. package/components/ProgressCircle/style.mjs +1 -1
  423. package/components/ProgressCircle/style.mjs.map +1 -1
  424. package/components/ProgressLine/ProgressLine.js.map +1 -1
  425. package/components/ProgressLine/ProgressLine.mjs.map +1 -1
  426. package/components/ProgressLine/style.js.map +1 -1
  427. package/components/ProgressLine/style.mjs +1 -1
  428. package/components/ProgressLine/style.mjs.map +1 -1
  429. package/components/Radio/Radio.js.map +1 -1
  430. package/components/Radio/style.js.map +1 -1
  431. package/components/Radio/style.mjs.map +1 -1
  432. package/components/Scrollable/Scrollable.js.map +1 -1
  433. package/components/Scrollable/Scrollable.mjs.map +1 -1
  434. package/components/Section/style.js.map +1 -1
  435. package/components/Section/style.mjs.map +1 -1
  436. package/components/Select/Select.js.map +1 -1
  437. package/components/Select/style.js.map +1 -1
  438. package/components/Select/style.mjs.map +1 -1
  439. package/components/Separator/SeparatorText.js.map +1 -1
  440. package/components/Separator/style.js.map +1 -1
  441. package/components/Separator/style.mjs.map +1 -1
  442. package/components/Skeleton/Skeleton.js.map +1 -1
  443. package/components/Skeleton/Skeleton.mjs.map +1 -1
  444. package/components/Skeleton/style.js.map +1 -1
  445. package/components/Skeleton/style.mjs +1 -1
  446. package/components/Skeleton/style.mjs.map +1 -1
  447. package/components/Spacer/style.js.map +1 -1
  448. package/components/Spinner/Spinner.js.map +1 -1
  449. package/components/Spinner/style.js.map +1 -1
  450. package/components/Spinner/style.mjs.map +1 -1
  451. package/components/Switch/Knob.js.map +1 -1
  452. package/components/Switch/Switch.js.map +1 -1
  453. package/components/Switch/Switch.mjs.map +1 -1
  454. package/components/Switch/style.js.map +1 -1
  455. package/components/Switch/style.mjs.map +1 -1
  456. package/components/Switcher/Switcher.js.map +1 -1
  457. package/components/Switcher/Switcher.mjs.map +1 -1
  458. package/components/Switcher/style.js.map +1 -1
  459. package/components/Switcher/style.mjs.map +1 -1
  460. package/components/Tab/Tab.js.map +1 -1
  461. package/components/Tab/Tab.mjs.map +1 -1
  462. package/components/Tab/default-constants.js.map +1 -1
  463. package/components/Tab/default-constants.mjs.map +1 -1
  464. package/components/Tab/images/arrow.svg.js.map +1 -1
  465. package/components/Tab/images/arrow.svg.mjs.map +1 -1
  466. package/components/Tab/style.js.map +1 -1
  467. package/components/Tab/style.mjs.map +1 -1
  468. package/components/TabList/TabList.js +1 -1
  469. package/components/TabList/TabList.js.map +1 -1
  470. package/components/TabList/TabList.mjs +1 -1
  471. package/components/TabList/TabList.mjs.map +1 -1
  472. package/components/TabList/TabListMenuTab.js +1 -1
  473. package/components/TabList/TabListMenuTab.js.map +1 -1
  474. package/components/TabList/TabListMenuTab.mjs +1 -1
  475. package/components/TabList/TabListMenuTab.mjs.map +1 -1
  476. package/components/TabList/TabListPanel.js.map +1 -1
  477. package/components/TabList/TabListPanel.mjs.map +1 -1
  478. package/components/TabList/hooks.js.map +1 -1
  479. package/components/TabList/hooks.mjs +1 -1
  480. package/components/TabList/hooks.mjs.map +1 -1
  481. package/components/TabList/layouts.js.map +1 -1
  482. package/components/TabList/sizes.js.map +1 -1
  483. package/components/TabList/style.js.map +1 -1
  484. package/components/TabList/style.mjs.map +1 -1
  485. package/components/TabListTab/TabListTab.js.map +1 -1
  486. package/components/TabListTab/TabListTab.mjs +1 -1
  487. package/components/TabListTab/TabListTab.mjs.map +1 -1
  488. package/components/TabListTab/hooks.js.map +1 -1
  489. package/components/TabListTab/hooks.mjs.map +1 -1
  490. package/components/TabListTab/sizes.js.map +1 -1
  491. package/components/TabListTab/style.js.map +1 -1
  492. package/components/TabListTab/style.mjs.map +1 -1
  493. package/components/Tabs/Tabs.js.map +1 -1
  494. package/components/Tabs/style.js.map +1 -1
  495. package/components/Tag/Tag.js.map +1 -1
  496. package/components/Tag/Tag.mjs.map +1 -1
  497. package/components/Tag/style.js.map +1 -1
  498. package/components/Tag/style.mjs.map +1 -1
  499. package/components/Text/Ellipsis.js.map +1 -1
  500. package/components/Text/Ellipsis.mjs.map +1 -1
  501. package/components/Text/Text.js +1 -1
  502. package/components/Text/Text.js.map +1 -1
  503. package/components/Text/Text.mjs +1 -1
  504. package/components/Text/Text.mjs.map +1 -1
  505. package/components/Text/style.js.map +1 -1
  506. package/components/Text/style.mjs.map +1 -1
  507. package/components/Text.Ellipse/Text.Ellipse.js.map +1 -1
  508. package/components/Text.Ellipse/Text.Ellipse.mjs.map +1 -1
  509. package/components/Text.Ellipse/style.js.map +1 -1
  510. package/components/Text.Ellipse/style.mjs.map +1 -1
  511. package/components/Text.Heading/Text.Heading.js.map +1 -1
  512. package/components/Text.Heading/Text.Heading.mjs.map +1 -1
  513. package/components/Textarea/Textarea.js +1 -1
  514. package/components/Textarea/Textarea.js.map +1 -1
  515. package/components/Textarea/Textarea.mjs +1 -1
  516. package/components/Textarea/Textarea.mjs.map +1 -1
  517. package/components/Textarea/sizes.js.map +1 -1
  518. package/components/Textarea/style.js.map +1 -1
  519. package/components/Textarea/style.mjs.map +1 -1
  520. package/components/Tooltip/Tooltip.js.map +1 -1
  521. package/components/Tooltip/Tooltip.mjs.map +1 -1
  522. package/components/Tooltip/TooltipWrapper.js.map +1 -1
  523. package/components/Tooltip/TooltipWrapper.mjs.map +1 -1
  524. package/components/Tooltip/default-constants.js.map +1 -1
  525. package/components/Tooltip/default-constants.mjs.map +1 -1
  526. package/components/TooltipComponent/TooltipComponent.js.map +1 -1
  527. package/components/TooltipComponent/TooltipComponent.mjs +1 -1
  528. package/components/TooltipComponent/TooltipComponent.mjs.map +1 -1
  529. package/components/TooltipComponent/style.js.map +1 -1
  530. package/components/TooltipComponent/style.mjs.map +1 -1
  531. package/hocs/withMergedProps.js.map +1 -1
  532. package/hocs/withTranslation.js.map +1 -1
  533. package/hocs/withTranslation.mjs.map +1 -1
  534. package/hooks/use-config-priority.js.map +1 -1
  535. package/hooks/use-config-priority.mjs.map +1 -1
  536. package/hooks/useClassname.js.map +1 -1
  537. package/hooks/useClickOutside.js.map +1 -1
  538. package/hooks/useFloaterPortal.js.map +1 -1
  539. package/hooks/useFloaterPortal.mjs.map +1 -1
  540. package/hooks/useMergedPalette.js.map +1 -1
  541. package/hooks/useMergedPalette.mjs.map +1 -1
  542. package/hooks/useMergedProps.js.map +1 -1
  543. package/hooks/useMergedSizes.js.map +1 -1
  544. package/hooks/useMergedSizes.mjs.map +1 -1
  545. package/hooks/useMountedStatus.js.map +1 -1
  546. package/hooks/useMountedStatus.mjs.map +1 -1
  547. package/hooks/useResizable.js.map +1 -1
  548. package/hooks/useResizable.mjs.map +1 -1
  549. package/hooks/useResizeObserver.js.map +1 -1
  550. package/hooks/useScrollMonitor.js.map +1 -1
  551. package/hooks/useScrollThresholds.js.map +1 -1
  552. package/hooks/useScrollThresholds.mjs.map +1 -1
  553. package/hooks/useThemeMergedProps.js.map +1 -1
  554. package/hooks/useThemeMergedProps.mjs.map +1 -1
  555. package/icon-pack/src/icons/ArrowUp/index.js.map +1 -1
  556. package/icon-pack/src/icons/CheckCircleFill/index.js.map +1 -1
  557. package/icon-pack/src/icons/CheckFill/index.js.map +1 -1
  558. package/icon-pack/src/icons/ChevronDown/index.js.map +1 -1
  559. package/icon-pack/src/icons/ChevronLeft/index.js.map +1 -1
  560. package/icon-pack/src/icons/ChevronRight/index.js.map +1 -1
  561. package/icon-pack/src/icons/Close/index.js.map +1 -1
  562. package/icon-pack/src/icons/CloseCirlceFill/index.js.map +1 -1
  563. package/icon-pack/src/icons/HelpCircle/index.js.map +1 -1
  564. package/icon-pack/src/icons/InfoCircle/index.js.map +1 -1
  565. package/icon-pack/src/icons/LoaderFill/index.js.map +1 -1
  566. package/icon-pack/src/icons/Minus/index.js.map +1 -1
  567. package/icon-pack/src/icons/MinusFill/index.js.map +1 -1
  568. package/icon-pack/src/icons/NotifFill/index.js.map +1 -1
  569. package/icon-pack/src/icons/Plus/index.js.map +1 -1
  570. package/icon-pack/src/icons/PlusLarge/index.js.map +1 -1
  571. package/icon-pack/src/icons/Redo/index.js.map +1 -1
  572. package/icon-pack/src/icons/ResizeHandle/index.js.map +1 -1
  573. package/icon-pack/src/icons/StarFill/index.js.map +1 -1
  574. package/icon-pack/src/icons/WarningTriangleFill/index.js.map +1 -1
  575. package/index.js +1 -1
  576. package/index.mjs +1 -1
  577. package/mixins/color.mjs.map +1 -1
  578. package/mixins/create-responsive-props.js.map +1 -1
  579. package/mixins/display.js.map +1 -1
  580. package/mixins/display.mjs.map +1 -1
  581. package/mixins/hover.mjs.map +1 -1
  582. package/mixins/responsive-layout.js.map +1 -1
  583. package/mixins/responsive-margin.js.map +1 -1
  584. package/mixins/responsive-margin.mjs.map +1 -1
  585. package/mixins/responsive-position.js.map +1 -1
  586. package/mixins/responsive-property.js.map +1 -1
  587. package/mixins/responsive-property.mjs +1 -1
  588. package/mixins/responsive-property.mjs.map +1 -1
  589. package/mixins/responsive-size.js.map +1 -1
  590. package/mixins/responsive-size.mjs.map +1 -1
  591. package/mixins/screen.js.map +1 -1
  592. package/mixins/screen.mjs.map +1 -1
  593. package/mixins/shared.js.map +1 -1
  594. package/mixins/shared.mjs.map +1 -1
  595. package/mixins/vAlign.js.map +1 -1
  596. package/package.json +2 -2
  597. package/shared/context/accordion.js.map +1 -1
  598. package/shared/context/tabList.js.map +1 -1
  599. package/shared/enums/sizeInput.mjs.map +1 -1
  600. package/shared/utils/dom.js.map +1 -1
  601. package/shared/utils/dom.mjs.map +1 -1
  602. package/shared/utils/isNil.mjs.map +1 -1
  603. package/shared/utils/misc.js.map +1 -1
  604. package/shared/utils/misc.mjs.map +1 -1
  605. package/shared/utils/react.js.map +1 -1
  606. package/shared/utils/style.js.map +1 -1
  607. package/theme/colors.js.map +1 -1
  608. package/theme/colors.mjs.map +1 -1
  609. package/theme/global-styled.js.map +1 -1
  610. package/theme/global-styled.mjs +1 -1
  611. package/theme/theme-provider.js.map +1 -1
  612. package/theme/themes.js.map +1 -1
  613. package/theme/themes.mjs +1 -1
  614. package/theme/themes.mjs.map +1 -1
@@ -1,2 +1,2 @@
1
- 'use strict';var React=require('react');var withMergedProps=require('../../hocs/withMergedProps.js');var accordion=require('../../shared/context/accordion.js');var constants=require('../../shared/constants.js');var dom=require('../../shared/utils/dom.js');var hooks=require('./hooks.js');var sizes=require('./sizes.js');var style=require('./style.js');var jsxRuntime=require('react/jsx-runtime');var AccordionItem=require('../AccordionItem/AccordionItem.js');var Divider=require('../Divider/Divider.js');const Accordion=Object.assign(withMergedProps.withMergedProps(React.forwardRef(((e,r)=>{const{size:o="m",sizeXXS:i,sizeXS:s,sizeS:t,sizeM:n,sizeL:a,sizeXL:d,children:c,multiple:l,collapsible:u,expanded:m,palette:v,loading:y,disabled:p,embedded:h,defaultExpanded:j,borderRadius:x,primary:z,secondary:A,onExpandedChange:b,...f}=e;const g=React.useMemo((()=>({size:o,sizeXXS:i,sizeXS:s,sizeS:t,sizeM:n,sizeL:a,sizeXL:d})),[o,i,s,t,n,a,d]);const D=hooks.useAccordion({expanded:m,defaultExpanded:j,multiple:l,collapsible:u,onExpandedChange:b});const k=React.useMemo((()=>({...g,palette:v,loading:y,disabled:p,embedded:h,borderRadius:x,primary:z,secondary:A})),[g,v,y,p,h,x,z,A]);return jsxRuntime.jsx(style.Root,{...f,...g,ref:r,onKeyDown:e=>{if(f.onKeyDown&&f.onKeyDown(e),!(document.activeElement instanceof HTMLElement)||document.activeElement.dataset.accordionControl!=='true')return;const r=Array.from(e.currentTarget.querySelectorAll('[data-accordion-control="true"]'));r.length!==0&&(constants.keyboardKeys.Home.validate(e.key)?(e.preventDefault(),r[0].focus()):constants.keyboardKeys.End.validate(e.key)?(e.preventDefault(),r[r.length-1].focus()):(constants.keyboardKeys.ArrowUp.validate(e.key)||constants.keyboardKeys.ArrowDown.validate(e.key))&&(e.preventDefault(),dom.navigateVerticalList(e.key,document.activeElement,r)))},children:jsxRuntime.jsx(accordion.AccordionPanelsContext.Provider,{value:D,children:jsxRuntime.jsx(accordion.AccordionPropsContext.Provider,{value:k,children:c})})})})),{displayName:'Accordion',sizes:sizes.SIZES}),{Item:AccordionItem.AccordionItem,Divider:Divider.Divider});exports.Accordion=Accordion;
1
+ 'use strict';var React=require('react');var withMergedProps=require('../../hocs/withMergedProps.js');var accordion=require('../../shared/context/accordion.js');var constants=require('../../shared/constants.js');var dom=require('../../shared/utils/dom.js');var hooks=require('./hooks.js');var sizes=require('./sizes.js');var style=require('./style.js');var jsxRuntime=require('react/jsx-runtime');var Divider=require('../Divider/Divider.js');var AccordionItem=require('../AccordionItem/AccordionItem.js');const Accordion=Object.assign(withMergedProps.withMergedProps(React.forwardRef(((e,r)=>{const{size:o="m",sizeXXS:i,sizeXS:s,sizeS:t,sizeM:n,sizeL:a,sizeXL:d,children:c,multiple:l,collapsible:u,expanded:m,palette:v,loading:y,disabled:p,embedded:h,defaultExpanded:j,borderRadius:x,primary:z,secondary:A,onExpandedChange:b,...f}=e;const g=React.useMemo((()=>({size:o,sizeXXS:i,sizeXS:s,sizeS:t,sizeM:n,sizeL:a,sizeXL:d})),[o,i,s,t,n,a,d]);const D=hooks.useAccordion({expanded:m,defaultExpanded:j,multiple:l,collapsible:u,onExpandedChange:b});const k=React.useMemo((()=>({...g,palette:v,loading:y,disabled:p,embedded:h,borderRadius:x,primary:z,secondary:A})),[g,v,y,p,h,x,z,A]);return jsxRuntime.jsx(style.Root,{...f,...g,ref:r,onKeyDown:e=>{if(f.onKeyDown&&f.onKeyDown(e),!(document.activeElement instanceof HTMLElement)||document.activeElement.dataset.accordionControl!=='true')return;const r=Array.from(e.currentTarget.querySelectorAll('[data-accordion-control="true"]'));r.length!==0&&(constants.keyboardKeys.Home.validate(e.key)?(e.preventDefault(),r[0].focus()):constants.keyboardKeys.End.validate(e.key)?(e.preventDefault(),r[r.length-1].focus()):(constants.keyboardKeys.ArrowUp.validate(e.key)||constants.keyboardKeys.ArrowDown.validate(e.key))&&(e.preventDefault(),dom.navigateVerticalList(e.key,document.activeElement,r)))},children:jsxRuntime.jsx(accordion.AccordionPanelsContext.Provider,{value:D,children:jsxRuntime.jsx(accordion.AccordionPropsContext.Provider,{value:k,children:c})})})})),{displayName:'Accordion',sizes:sizes.SIZES}),{Item:AccordionItem.AccordionItem,Divider:Divider.Divider});exports.Accordion=Accordion;
2
2
  //# sourceMappingURL=Accordion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.js","sources":["../../../../src/components/Accordion/Accordion.tsx"],"sourcesContent":["import { forwardRef, useMemo } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { AccordionPanelsContext, AccordionPropsContext } from 'shared/context/accordion'\nimport { keyboardKeys } from 'shared/constants'\nimport { navigateVerticalList } from 'shared/utils/dom'\nimport { AccordionItem } from 'components/AccordionItem'\nimport { Divider } from 'components/Divider'\nimport { useAccordion } from './hooks'\nimport { SIZES } from './sizes'\nimport type { AccordionProps } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Accordion'\n\n/**\n *\n * Компонент для создания вертикального стека сворачиваемых секций контента.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<div\\> элемента.\n *\n * Дизайн соответствует [рекомендациям WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/patterns/accordion/).\n */\nconst Accordion: React.ForwardRefExoticComponent<AccordionProps> & {\n Item: typeof AccordionItem\n Divider: typeof Divider\n} = Object.assign(\n withMergedProps<AccordionProps, HTMLDivElement>(\n forwardRef<HTMLDivElement, MergedProps<AccordionProps>>((props, ref) => {\n const {\n size = 'm',\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n children,\n multiple,\n collapsible,\n expanded,\n palette,\n loading,\n disabled,\n embedded,\n defaultExpanded,\n borderRadius,\n primary,\n secondary,\n onExpandedChange,\n ...restProps\n } = props\n\n const sizeProps = useMemo(\n () => ({ size, sizeXXS, sizeXS, sizeS, sizeM, sizeL, sizeXL }),\n [size, sizeXXS, sizeXS, sizeS, sizeM, sizeL, sizeXL]\n )\n\n const panels = useAccordion({\n expanded,\n defaultExpanded,\n multiple,\n collapsible,\n onExpandedChange,\n })\n\n const panelsContextProps = useMemo(\n () => ({\n ...sizeProps,\n palette,\n loading,\n disabled,\n embedded,\n borderRadius,\n primary,\n secondary,\n }),\n [sizeProps, palette, loading, disabled, embedded, borderRadius, primary, secondary]\n )\n\n return (\n <Styled.Root\n {...restProps}\n {...sizeProps}\n ref={ref}\n onKeyDown={(evt) => {\n if (restProps.onKeyDown) {\n restProps.onKeyDown(evt)\n }\n\n if (\n !(document.activeElement instanceof HTMLElement) ||\n document.activeElement.dataset.accordionControl !== 'true'\n ) {\n return\n }\n\n const controls = Array.from(\n evt.currentTarget.querySelectorAll<HTMLElement>('[data-accordion-control=\"true\"]')\n )\n\n if (controls.length === 0) return\n\n if (keyboardKeys.Home.validate(evt.key)) {\n evt.preventDefault()\n controls[0].focus()\n } else if (keyboardKeys.End.validate(evt.key)) {\n evt.preventDefault()\n controls[controls.length - 1].focus()\n } else if (keyboardKeys.ArrowUp.validate(evt.key) || keyboardKeys.ArrowDown.validate(evt.key)) {\n evt.preventDefault()\n navigateVerticalList(evt.key, document.activeElement, controls)\n }\n }}\n >\n <AccordionPanelsContext.Provider value={panels}>\n <AccordionPropsContext.Provider value={panelsContextProps}>{children}</AccordionPropsContext.Provider>\n </AccordionPanelsContext.Provider>\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n ),\n {\n Item: AccordionItem,\n Divider,\n }\n)\n\nexport { Accordion }\n"],"names":["Accordion","Object","assign","withMergedProps","forwardRef","props","ref","size","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","children","multiple","collapsible","expanded","palette","loading","disabled","embedded","defaultExpanded","borderRadius","primary","secondary","onExpandedChange","restProps","sizeProps","useMemo","panels","useAccordion","panelsContextProps","_jsx","Styled","onKeyDown","evt","document","activeElement","HTMLElement","dataset","accordionControl","controls","Array","from","currentTarget","querySelectorAll","length","keyboardKeys","Home","validate","key","preventDefault","focus","End","ArrowUp","ArrowDown","navigateVerticalList","AccordionPanelsContext","Provider","value","AccordionPropsContext","displayName","sizes","SIZES","Item","AccordionItem","Divider"],"mappings":"wfAuBA,MAAMA,UAGFC,OAAOC,OACTC,gBAAAA,gBACEC,MAAAA,YAAwD,CAACC,EAAOC,KAC9D,MAAMC,KACJA,EAAO,IAAGC,QACVA,EAAOC,OACPA,EAAMC,MACNA,EAAKC,MACLA,EAAKC,MACLA,EAAKC,OACLA,EAAMC,SACNA,EAAQC,SACRA,EAAQC,YACRA,EAAWC,SACXA,EAAQC,QACRA,EAAOC,QACPA,EAAOC,SACPA,EAAQC,SACRA,EAAQC,gBACRA,EAAeC,aACfA,EAAYC,QACZA,EAAOC,UACPA,EAASC,iBACTA,KACGC,GACDtB,EAEJ,MAAMuB,EAAYC,MAAAA,SAChB,KAAO,CAAEtB,OAAMC,UAASC,SAAQC,QAAOC,QAAOC,QAAOC,YACrD,CAACN,EAAMC,EAASC,EAAQC,EAAOC,EAAOC,EAAOC,IAG/C,MAAMiB,EAASC,MAAAA,aAAa,CAC1Bd,WACAK,kBACAP,WACAC,cACAU,qBAGF,MAAMM,EAAqBH,MAAAA,SACzB,KAAO,IACFD,EACHV,UACAC,UACAC,WACAC,WACAE,eACAC,UACAC,eAEF,CAACG,EAAWV,EAASC,EAASC,EAAUC,EAAUE,EAAcC,EAASC,IAG3E,OACEQ,WAAAA,IAACC,MAAAA,KAAW,IACNP,KACAC,EACJtB,IAAKA,EACL6B,UAAYC,IAKV,GAJIT,EAAUQ,WACZR,EAAUQ,UAAUC,KAIlBC,SAASC,yBAAyBC,cACpCF,SAASC,cAAcE,QAAQC,mBAAqB,OAEpD,OAGF,MAAMC,EAAWC,MAAMC,KACrBR,EAAIS,cAAcC,iBAA8B,oCAG9CJ,EAASK,SAAW,IAEpBC,UAAYA,aAACC,KAAKC,SAASd,EAAIe,MACjCf,EAAIgB,iBACJV,EAAS,GAAGW,SACHL,UAAYA,aAACM,IAAIJ,SAASd,EAAIe,MACvCf,EAAIgB,iBACJV,EAASA,EAASK,OAAS,GAAGM,UACrBL,UAAYA,aAACO,QAAQL,SAASd,EAAIe,MAAQH,UAAAA,aAAaQ,UAAUN,SAASd,EAAIe,QACvFf,EAAIgB,iBACJK,IAAoBA,qBAACrB,EAAIe,IAAKd,SAASC,cAAeI,IACxD,EACA5B,SAEFmB,WAAAA,IAACyB,UAAsBA,uBAACC,SAAQ,CAACC,MAAO9B,EAAOhB,SAC7CmB,WAAAA,IAAC4B,UAAqBA,sBAACF,SAAQ,CAACC,MAAO5B,EAAmBlB,SAAEA,OAElD,IAGlB,CACEgD,YA7GiB,YA8GjBC,MAAOC,MAAAA,QAGX,CACEC,KAAMC,cAAaA,cACnBC,QAAAA,QAAAA"}
1
+ {"version":3,"file":"Accordion.js","sources":["../../../../src/components/Accordion/Accordion.tsx"],"sourcesContent":["import { forwardRef, useMemo } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { AccordionPanelsContext, AccordionPropsContext } from 'shared/context/accordion'\nimport { keyboardKeys } from 'shared/constants'\nimport { navigateVerticalList } from 'shared/utils/dom'\nimport { AccordionItem } from 'components/AccordionItem'\nimport { Divider } from 'components/Divider'\nimport { useAccordion } from './hooks'\nimport { SIZES } from './sizes'\nimport type { AccordionProps } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Accordion'\n\n/**\n *\n * Компонент для создания вертикального стека сворачиваемых секций контента.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<div\\> элемента.\n *\n * Дизайн соответствует [рекомендациям WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/patterns/accordion/).\n */\nconst Accordion: React.ForwardRefExoticComponent<AccordionProps> & {\n Item: typeof AccordionItem\n Divider: typeof Divider\n} = Object.assign(\n withMergedProps<AccordionProps, HTMLDivElement>(\n forwardRef<HTMLDivElement, MergedProps<AccordionProps>>((props, ref) => {\n const {\n size = 'm',\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n children,\n multiple,\n collapsible,\n expanded,\n palette,\n loading,\n disabled,\n embedded,\n defaultExpanded,\n borderRadius,\n primary,\n secondary,\n onExpandedChange,\n ...restProps\n } = props\n\n const sizeProps = useMemo(\n () => ({ size, sizeXXS, sizeXS, sizeS, sizeM, sizeL, sizeXL }),\n [size, sizeXXS, sizeXS, sizeS, sizeM, sizeL, sizeXL]\n )\n\n const panels = useAccordion({\n expanded,\n defaultExpanded,\n multiple,\n collapsible,\n onExpandedChange,\n })\n\n const panelsContextProps = useMemo(\n () => ({\n ...sizeProps,\n palette,\n loading,\n disabled,\n embedded,\n borderRadius,\n primary,\n secondary,\n }),\n [sizeProps, palette, loading, disabled, embedded, borderRadius, primary, secondary]\n )\n\n return (\n <Styled.Root\n {...restProps}\n {...sizeProps}\n ref={ref}\n onKeyDown={(evt) => {\n if (restProps.onKeyDown) {\n restProps.onKeyDown(evt)\n }\n\n if (\n !(document.activeElement instanceof HTMLElement) ||\n document.activeElement.dataset.accordionControl !== 'true'\n ) {\n return\n }\n\n const controls = Array.from(\n evt.currentTarget.querySelectorAll<HTMLElement>('[data-accordion-control=\"true\"]')\n )\n\n if (controls.length === 0) return\n\n if (keyboardKeys.Home.validate(evt.key)) {\n evt.preventDefault()\n controls[0].focus()\n } else if (keyboardKeys.End.validate(evt.key)) {\n evt.preventDefault()\n controls[controls.length - 1].focus()\n } else if (keyboardKeys.ArrowUp.validate(evt.key) || keyboardKeys.ArrowDown.validate(evt.key)) {\n evt.preventDefault()\n navigateVerticalList(evt.key, document.activeElement, controls)\n }\n }}\n >\n <AccordionPanelsContext.Provider value={panels}>\n <AccordionPropsContext.Provider value={panelsContextProps}>{children}</AccordionPropsContext.Provider>\n </AccordionPanelsContext.Provider>\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n ),\n {\n Item: AccordionItem,\n Divider,\n }\n)\n\nexport { Accordion }\n"],"names":["Accordion","Object","assign","withMergedProps","forwardRef","props","ref","size","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","children","multiple","collapsible","expanded","palette","loading","disabled","embedded","defaultExpanded","borderRadius","primary","secondary","onExpandedChange","restProps","sizeProps","useMemo","panels","useAccordion","panelsContextProps","_jsx","Styled","onKeyDown","evt","document","activeElement","HTMLElement","dataset","accordionControl","controls","Array","from","currentTarget","querySelectorAll","length","keyboardKeys","Home","validate","key","preventDefault","focus","End","ArrowUp","ArrowDown","navigateVerticalList","AccordionPanelsContext","Provider","value","AccordionPropsContext","displayName","sizes","SIZES","Item","AccordionItem","Divider"],"mappings":"wfAuBA,MAAMA,UAGFC,OAAOC,OACTC,gBAAAA,gBACEC,MAAAA,YAAwD,CAACC,EAAOC,KAC9D,MAAMC,KACJA,EAAO,IAAGC,QACVA,EAAOC,OACPA,EAAMC,MACNA,EAAKC,MACLA,EAAKC,MACLA,EAAKC,OACLA,EAAMC,SACNA,EAAQC,SACRA,EAAQC,YACRA,EAAWC,SACXA,EAAQC,QACRA,EAAOC,QACPA,EAAOC,SACPA,EAAQC,SACRA,EAAQC,gBACRA,EAAeC,aACfA,EAAYC,QACZA,EAAOC,UACPA,EAASC,iBACTA,KACGC,GACDtB,EAEJ,MAAMuB,EAAYC,MAAAA,SAChB,KAAA,CAAStB,OAAMC,UAASC,SAAQC,QAAOC,QAAOC,QAAOC,YACrD,CAACN,EAAMC,EAASC,EAAQC,EAAOC,EAAOC,EAAOC,IAG/C,MAAMiB,EAASC,MAAAA,aAAa,CAC1Bd,WACAK,kBACAP,WACAC,cACAU,qBAGF,MAAMM,EAAqBH,MAAAA,SACzB,KAAA,IACKD,EACHV,UACAC,UACAC,WACAC,WACAE,eACAC,UACAC,eAEF,CAACG,EAAWV,EAASC,EAASC,EAAUC,EAAUE,EAAcC,EAASC,IAG3E,OACEQ,WAAAA,IAACC,MAAAA,KAAW,IACNP,KACAC,EACJtB,IAAKA,EACL6B,UAAYC,IAKV,GAJIT,EAAUQ,WACZR,EAAUQ,UAAUC,KAIlBC,SAASC,yBAAyBC,cACpCF,SAASC,cAAcE,QAAQC,mBAAqB,OAEpD,OAGF,MAAMC,EAAWC,MAAMC,KACrBR,EAAIS,cAAcC,iBAA8B,oCAG9CJ,EAASK,SAAW,IAEpBC,UAAAA,aAAaC,KAAKC,SAASd,EAAIe,MACjCf,EAAIgB,iBACJV,EAAS,GAAGW,SACHL,UAAAA,aAAaM,IAAIJ,SAASd,EAAIe,MACvCf,EAAIgB,iBACJV,EAASA,EAASK,OAAS,GAAGM,UACrBL,UAAAA,aAAaO,QAAQL,SAASd,EAAIe,MAAQH,UAAAA,aAAaQ,UAAUN,SAASd,EAAIe,QACvFf,EAAIgB,iBACJK,IAAAA,qBAAqBrB,EAAIe,IAAKd,SAASC,cAAeI,IACxD,EACA5B,SAEFmB,WAAAA,IAACyB,UAAAA,uBAAuBC,SAAQ,CAACC,MAAO9B,EAAOhB,SAC7CmB,WAAAA,IAAC4B,UAAAA,sBAAsBF,SAAQ,CAACC,MAAO5B,EAAmBlB,SAAEA,OAElD,IAGlB,CACEgD,YA7GiB,YA8GjBC,MAAOC,MAAAA,QAGX,CACEC,KAAMC,cAAAA,cACNC,QAAAA,QAAAA"}
@@ -1,2 +1,2 @@
1
- import{forwardRef,useMemo}from'react';import{withMergedProps}from'../../hocs/withMergedProps.mjs';import{AccordionPanelsContext,AccordionPropsContext}from'../../shared/context/accordion.mjs';import{keyboardKeys}from'../../shared/constants.mjs';import{navigateVerticalList}from'../../shared/utils/dom.mjs';import{useAccordion}from'./hooks.mjs';import{SIZES}from'./sizes.mjs';import{Root}from'./style.mjs';import{jsx}from'react/jsx-runtime';import{AccordionItem}from'../AccordionItem/AccordionItem.mjs';import{Divider}from'../Divider/Divider.mjs';const Accordion=Object.assign(withMergedProps(forwardRef(((e,o)=>{const{size:r="m",sizeXXS:t,sizeXS:i,sizeS:d,sizeM:s,sizeL:n,sizeXL:a,children:c,multiple:m,collapsible:l,expanded:p,palette:u,loading:f,disabled:y,embedded:v,defaultExpanded:x,borderRadius:A,primary:h,secondary:z,onExpandedChange:j,...b}=e;const g=useMemo((()=>({size:r,sizeXXS:t,sizeXS:i,sizeS:d,sizeM:s,sizeL:n,sizeXL:a})),[r,t,i,d,s,n,a]);const D=useAccordion({expanded:p,defaultExpanded:x,multiple:m,collapsible:l,onExpandedChange:j});const k=useMemo((()=>({...g,palette:u,loading:f,disabled:y,embedded:v,borderRadius:A,primary:h,secondary:z})),[g,u,f,y,v,A,h,z]);return jsx(Root,{...b,...g,ref:o,onKeyDown:e=>{if(b.onKeyDown&&b.onKeyDown(e),!(document.activeElement instanceof HTMLElement)||document.activeElement.dataset.accordionControl!=='true')return;const o=Array.from(e.currentTarget.querySelectorAll('[data-accordion-control="true"]'));o.length!==0&&(keyboardKeys.Home.validate(e.key)?(e.preventDefault(),o[0].focus()):keyboardKeys.End.validate(e.key)?(e.preventDefault(),o[o.length-1].focus()):(keyboardKeys.ArrowUp.validate(e.key)||keyboardKeys.ArrowDown.validate(e.key))&&(e.preventDefault(),navigateVerticalList(e.key,document.activeElement,o)))},children:jsx(AccordionPanelsContext.Provider,{value:D,children:jsx(AccordionPropsContext.Provider,{value:k,children:c})})})})),{displayName:'Accordion',sizes:SIZES}),{Item:AccordionItem,Divider});export{Accordion};
1
+ import{forwardRef,useMemo}from'react';import{withMergedProps}from'../../hocs/withMergedProps.mjs';import{AccordionPanelsContext,AccordionPropsContext}from'../../shared/context/accordion.mjs';import{keyboardKeys}from'../../shared/constants.mjs';import{navigateVerticalList}from'../../shared/utils/dom.mjs';import{useAccordion}from'./hooks.mjs';import{SIZES}from'./sizes.mjs';import{Root}from'./style.mjs';import{jsx}from'react/jsx-runtime';import{Divider}from'../Divider/Divider.mjs';import{AccordionItem}from'../AccordionItem/AccordionItem.mjs';const Accordion=Object.assign(withMergedProps(forwardRef(((e,o)=>{const{size:r="m",sizeXXS:t,sizeXS:i,sizeS:d,sizeM:s,sizeL:n,sizeXL:a,children:c,multiple:m,collapsible:l,expanded:p,palette:u,loading:f,disabled:y,embedded:v,defaultExpanded:x,borderRadius:A,primary:h,secondary:z,onExpandedChange:j,...b}=e;const g=useMemo((()=>({size:r,sizeXXS:t,sizeXS:i,sizeS:d,sizeM:s,sizeL:n,sizeXL:a})),[r,t,i,d,s,n,a]);const D=useAccordion({expanded:p,defaultExpanded:x,multiple:m,collapsible:l,onExpandedChange:j});const k=useMemo((()=>({...g,palette:u,loading:f,disabled:y,embedded:v,borderRadius:A,primary:h,secondary:z})),[g,u,f,y,v,A,h,z]);return jsx(Root,{...b,...g,ref:o,onKeyDown:e=>{if(b.onKeyDown&&b.onKeyDown(e),!(document.activeElement instanceof HTMLElement)||document.activeElement.dataset.accordionControl!=='true')return;const o=Array.from(e.currentTarget.querySelectorAll('[data-accordion-control="true"]'));o.length!==0&&(keyboardKeys.Home.validate(e.key)?(e.preventDefault(),o[0].focus()):keyboardKeys.End.validate(e.key)?(e.preventDefault(),o[o.length-1].focus()):(keyboardKeys.ArrowUp.validate(e.key)||keyboardKeys.ArrowDown.validate(e.key))&&(e.preventDefault(),navigateVerticalList(e.key,document.activeElement,o)))},children:jsx(AccordionPanelsContext.Provider,{value:D,children:jsx(AccordionPropsContext.Provider,{value:k,children:c})})})})),{displayName:'Accordion',sizes:SIZES}),{Item:AccordionItem,Divider});export{Accordion};
2
2
  //# sourceMappingURL=Accordion.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.mjs","sources":["../../../../src/components/Accordion/Accordion.tsx"],"sourcesContent":["import { forwardRef, useMemo } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { AccordionPanelsContext, AccordionPropsContext } from 'shared/context/accordion'\nimport { keyboardKeys } from 'shared/constants'\nimport { navigateVerticalList } from 'shared/utils/dom'\nimport { AccordionItem } from 'components/AccordionItem'\nimport { Divider } from 'components/Divider'\nimport { useAccordion } from './hooks'\nimport { SIZES } from './sizes'\nimport type { AccordionProps } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Accordion'\n\n/**\n *\n * Компонент для создания вертикального стека сворачиваемых секций контента.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<div\\> элемента.\n *\n * Дизайн соответствует [рекомендациям WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/patterns/accordion/).\n */\nconst Accordion: React.ForwardRefExoticComponent<AccordionProps> & {\n Item: typeof AccordionItem\n Divider: typeof Divider\n} = Object.assign(\n withMergedProps<AccordionProps, HTMLDivElement>(\n forwardRef<HTMLDivElement, MergedProps<AccordionProps>>((props, ref) => {\n const {\n size = 'm',\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n children,\n multiple,\n collapsible,\n expanded,\n palette,\n loading,\n disabled,\n embedded,\n defaultExpanded,\n borderRadius,\n primary,\n secondary,\n onExpandedChange,\n ...restProps\n } = props\n\n const sizeProps = useMemo(\n () => ({ size, sizeXXS, sizeXS, sizeS, sizeM, sizeL, sizeXL }),\n [size, sizeXXS, sizeXS, sizeS, sizeM, sizeL, sizeXL]\n )\n\n const panels = useAccordion({\n expanded,\n defaultExpanded,\n multiple,\n collapsible,\n onExpandedChange,\n })\n\n const panelsContextProps = useMemo(\n () => ({\n ...sizeProps,\n palette,\n loading,\n disabled,\n embedded,\n borderRadius,\n primary,\n secondary,\n }),\n [sizeProps, palette, loading, disabled, embedded, borderRadius, primary, secondary]\n )\n\n return (\n <Styled.Root\n {...restProps}\n {...sizeProps}\n ref={ref}\n onKeyDown={(evt) => {\n if (restProps.onKeyDown) {\n restProps.onKeyDown(evt)\n }\n\n if (\n !(document.activeElement instanceof HTMLElement) ||\n document.activeElement.dataset.accordionControl !== 'true'\n ) {\n return\n }\n\n const controls = Array.from(\n evt.currentTarget.querySelectorAll<HTMLElement>('[data-accordion-control=\"true\"]')\n )\n\n if (controls.length === 0) return\n\n if (keyboardKeys.Home.validate(evt.key)) {\n evt.preventDefault()\n controls[0].focus()\n } else if (keyboardKeys.End.validate(evt.key)) {\n evt.preventDefault()\n controls[controls.length - 1].focus()\n } else if (keyboardKeys.ArrowUp.validate(evt.key) || keyboardKeys.ArrowDown.validate(evt.key)) {\n evt.preventDefault()\n navigateVerticalList(evt.key, document.activeElement, controls)\n }\n }}\n >\n <AccordionPanelsContext.Provider value={panels}>\n <AccordionPropsContext.Provider value={panelsContextProps}>{children}</AccordionPropsContext.Provider>\n </AccordionPanelsContext.Provider>\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n ),\n {\n Item: AccordionItem,\n Divider,\n }\n)\n\nexport { Accordion }\n"],"names":["Accordion","Object","assign","withMergedProps","forwardRef","props","ref","size","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","children","multiple","collapsible","expanded","palette","loading","disabled","embedded","defaultExpanded","borderRadius","primary","secondary","onExpandedChange","restProps","sizeProps","useMemo","panels","useAccordion","panelsContextProps","_jsx","Styled","onKeyDown","evt","document","activeElement","HTMLElement","dataset","accordionControl","controls","Array","from","currentTarget","querySelectorAll","length","keyboardKeys","Home","validate","key","preventDefault","focus","End","ArrowUp","ArrowDown","navigateVerticalList","AccordionPanelsContext","Provider","value","AccordionPropsContext","displayName","sizes","SIZES","Item","AccordionItem","Divider"],"mappings":"iiBAuBA,MAAMA,UAGFC,OAAOC,OACTC,gBACEC,YAAwD,CAACC,EAAOC,KAC9D,MAAMC,KACJA,EAAO,IAAGC,QACVA,EAAOC,OACPA,EAAMC,MACNA,EAAKC,MACLA,EAAKC,MACLA,EAAKC,OACLA,EAAMC,SACNA,EAAQC,SACRA,EAAQC,YACRA,EAAWC,SACXA,EAAQC,QACRA,EAAOC,QACPA,EAAOC,SACPA,EAAQC,SACRA,EAAQC,gBACRA,EAAeC,aACfA,EAAYC,QACZA,EAAOC,UACPA,EAASC,iBACTA,KACGC,GACDtB,EAEJ,MAAMuB,EAAYC,SAChB,KAAO,CAAEtB,OAAMC,UAASC,SAAQC,QAAOC,QAAOC,QAAOC,YACrD,CAACN,EAAMC,EAASC,EAAQC,EAAOC,EAAOC,EAAOC,IAG/C,MAAMiB,EAASC,aAAa,CAC1Bd,WACAK,kBACAP,WACAC,cACAU,qBAGF,MAAMM,EAAqBH,SACzB,KAAO,IACFD,EACHV,UACAC,UACAC,WACAC,WACAE,eACAC,UACAC,eAEF,CAACG,EAAWV,EAASC,EAASC,EAAUC,EAAUE,EAAcC,EAASC,IAG3E,OACEQ,IAACC,KAAW,IACNP,KACAC,EACJtB,IAAKA,EACL6B,UAAYC,IAKV,GAJIT,EAAUQ,WACZR,EAAUQ,UAAUC,KAIlBC,SAASC,yBAAyBC,cACpCF,SAASC,cAAcE,QAAQC,mBAAqB,OAEpD,OAGF,MAAMC,EAAWC,MAAMC,KACrBR,EAAIS,cAAcC,iBAA8B,oCAG9CJ,EAASK,SAAW,IAEpBC,aAAaC,KAAKC,SAASd,EAAIe,MACjCf,EAAIgB,iBACJV,EAAS,GAAGW,SACHL,aAAaM,IAAIJ,SAASd,EAAIe,MACvCf,EAAIgB,iBACJV,EAASA,EAASK,OAAS,GAAGM,UACrBL,aAAaO,QAAQL,SAASd,EAAIe,MAAQH,aAAaQ,UAAUN,SAASd,EAAIe,QACvFf,EAAIgB,iBACJK,qBAAqBrB,EAAIe,IAAKd,SAASC,cAAeI,IACxD,EACA5B,SAEFmB,IAACyB,uBAAuBC,SAAQ,CAACC,MAAO9B,EAAOhB,SAC7CmB,IAAC4B,sBAAsBF,SAAQ,CAACC,MAAO5B,EAAmBlB,SAAEA,OAElD,IAGlB,CACEgD,YA7GiB,YA8GjBC,MAAOC,QAGX,CACEC,KAAMC,cACNC"}
1
+ {"version":3,"file":"Accordion.mjs","sources":["../../../../src/components/Accordion/Accordion.tsx"],"sourcesContent":["import { forwardRef, useMemo } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { AccordionPanelsContext, AccordionPropsContext } from 'shared/context/accordion'\nimport { keyboardKeys } from 'shared/constants'\nimport { navigateVerticalList } from 'shared/utils/dom'\nimport { AccordionItem } from 'components/AccordionItem'\nimport { Divider } from 'components/Divider'\nimport { useAccordion } from './hooks'\nimport { SIZES } from './sizes'\nimport type { AccordionProps } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Accordion'\n\n/**\n *\n * Компонент для создания вертикального стека сворачиваемых секций контента.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<div\\> элемента.\n *\n * Дизайн соответствует [рекомендациям WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/patterns/accordion/).\n */\nconst Accordion: React.ForwardRefExoticComponent<AccordionProps> & {\n Item: typeof AccordionItem\n Divider: typeof Divider\n} = Object.assign(\n withMergedProps<AccordionProps, HTMLDivElement>(\n forwardRef<HTMLDivElement, MergedProps<AccordionProps>>((props, ref) => {\n const {\n size = 'm',\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n children,\n multiple,\n collapsible,\n expanded,\n palette,\n loading,\n disabled,\n embedded,\n defaultExpanded,\n borderRadius,\n primary,\n secondary,\n onExpandedChange,\n ...restProps\n } = props\n\n const sizeProps = useMemo(\n () => ({ size, sizeXXS, sizeXS, sizeS, sizeM, sizeL, sizeXL }),\n [size, sizeXXS, sizeXS, sizeS, sizeM, sizeL, sizeXL]\n )\n\n const panels = useAccordion({\n expanded,\n defaultExpanded,\n multiple,\n collapsible,\n onExpandedChange,\n })\n\n const panelsContextProps = useMemo(\n () => ({\n ...sizeProps,\n palette,\n loading,\n disabled,\n embedded,\n borderRadius,\n primary,\n secondary,\n }),\n [sizeProps, palette, loading, disabled, embedded, borderRadius, primary, secondary]\n )\n\n return (\n <Styled.Root\n {...restProps}\n {...sizeProps}\n ref={ref}\n onKeyDown={(evt) => {\n if (restProps.onKeyDown) {\n restProps.onKeyDown(evt)\n }\n\n if (\n !(document.activeElement instanceof HTMLElement) ||\n document.activeElement.dataset.accordionControl !== 'true'\n ) {\n return\n }\n\n const controls = Array.from(\n evt.currentTarget.querySelectorAll<HTMLElement>('[data-accordion-control=\"true\"]')\n )\n\n if (controls.length === 0) return\n\n if (keyboardKeys.Home.validate(evt.key)) {\n evt.preventDefault()\n controls[0].focus()\n } else if (keyboardKeys.End.validate(evt.key)) {\n evt.preventDefault()\n controls[controls.length - 1].focus()\n } else if (keyboardKeys.ArrowUp.validate(evt.key) || keyboardKeys.ArrowDown.validate(evt.key)) {\n evt.preventDefault()\n navigateVerticalList(evt.key, document.activeElement, controls)\n }\n }}\n >\n <AccordionPanelsContext.Provider value={panels}>\n <AccordionPropsContext.Provider value={panelsContextProps}>{children}</AccordionPropsContext.Provider>\n </AccordionPanelsContext.Provider>\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n ),\n {\n Item: AccordionItem,\n Divider,\n }\n)\n\nexport { Accordion }\n"],"names":["Accordion","Object","assign","withMergedProps","forwardRef","props","ref","size","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","children","multiple","collapsible","expanded","palette","loading","disabled","embedded","defaultExpanded","borderRadius","primary","secondary","onExpandedChange","restProps","sizeProps","useMemo","panels","useAccordion","panelsContextProps","_jsx","Styled","onKeyDown","evt","document","activeElement","HTMLElement","dataset","accordionControl","controls","Array","from","currentTarget","querySelectorAll","length","keyboardKeys","Home","validate","key","preventDefault","focus","End","ArrowUp","ArrowDown","navigateVerticalList","AccordionPanelsContext","Provider","value","AccordionPropsContext","displayName","sizes","SIZES","Item","AccordionItem","Divider"],"mappings":"iiBAuBA,MAAMA,UAGFC,OAAOC,OACTC,gBACEC,YAAwD,CAACC,EAAOC,KAC9D,MAAMC,KACJA,EAAO,IAAGC,QACVA,EAAOC,OACPA,EAAMC,MACNA,EAAKC,MACLA,EAAKC,MACLA,EAAKC,OACLA,EAAMC,SACNA,EAAQC,SACRA,EAAQC,YACRA,EAAWC,SACXA,EAAQC,QACRA,EAAOC,QACPA,EAAOC,SACPA,EAAQC,SACRA,EAAQC,gBACRA,EAAeC,aACfA,EAAYC,QACZA,EAAOC,UACPA,EAASC,iBACTA,KACGC,GACDtB,EAEJ,MAAMuB,EAAYC,SAChB,KAAA,CAAStB,OAAMC,UAASC,SAAQC,QAAOC,QAAOC,QAAOC,YACrD,CAACN,EAAMC,EAASC,EAAQC,EAAOC,EAAOC,EAAOC,IAG/C,MAAMiB,EAASC,aAAa,CAC1Bd,WACAK,kBACAP,WACAC,cACAU,qBAGF,MAAMM,EAAqBH,SACzB,KAAA,IACKD,EACHV,UACAC,UACAC,WACAC,WACAE,eACAC,UACAC,eAEF,CAACG,EAAWV,EAASC,EAASC,EAAUC,EAAUE,EAAcC,EAASC,IAG3E,OACEQ,IAACC,KAAW,IACNP,KACAC,EACJtB,IAAKA,EACL6B,UAAYC,IAKV,GAJIT,EAAUQ,WACZR,EAAUQ,UAAUC,KAIlBC,SAASC,yBAAyBC,cACpCF,SAASC,cAAcE,QAAQC,mBAAqB,OAEpD,OAGF,MAAMC,EAAWC,MAAMC,KACrBR,EAAIS,cAAcC,iBAA8B,oCAG9CJ,EAASK,SAAW,IAEpBC,aAAaC,KAAKC,SAASd,EAAIe,MACjCf,EAAIgB,iBACJV,EAAS,GAAGW,SACHL,aAAaM,IAAIJ,SAASd,EAAIe,MACvCf,EAAIgB,iBACJV,EAASA,EAASK,OAAS,GAAGM,UACrBL,aAAaO,QAAQL,SAASd,EAAIe,MAAQH,aAAaQ,UAAUN,SAASd,EAAIe,QACvFf,EAAIgB,iBACJK,qBAAqBrB,EAAIe,IAAKd,SAASC,cAAeI,IACxD,EACA5B,SAEFmB,IAACyB,uBAAuBC,SAAQ,CAACC,MAAO9B,EAAOhB,SAC7CmB,IAAC4B,sBAAsBF,SAAQ,CAACC,MAAO5B,EAAmBlB,SAAEA,OAElD,IAGlB,CACEgD,YA7GiB,YA8GjBC,MAAOC,QAGX,CACEC,KAAMC,cACNC"}
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sources":["../../../../src/components/Accordion/hooks.ts"],"sourcesContent":["import { useState, useLayoutEffect, useMemo } from 'react'\nimport type { AccordionProps } from './types'\n\nexport const useAccordion = ({\n defaultExpanded = [],\n expanded,\n multiple,\n collapsible,\n onExpandedChange,\n}: Pick<AccordionProps, 'expanded' | 'defaultExpanded' | 'multiple' | 'collapsible' | 'onExpandedChange'>): {\n expandedPanels: string[]\n updatePanels: (panelId: string, panelExpanded: boolean) => void\n} => {\n const [expandedPanels, setExpandedPanels] = useState<string[]>(() => {\n const panels = expanded ?? defaultExpanded\n\n return !multiple && panels.length > 1 ? [panels[0]] : panels\n })\n\n useLayoutEffect(() => {\n if (expanded !== undefined) {\n setExpandedPanels(expanded)\n }\n }, [expanded])\n\n return useMemo(\n () => ({\n expandedPanels,\n updatePanels: (panelId, panelExpanded) => {\n if (panelExpanded) {\n const update = multiple ? [...expandedPanels, panelId] : [panelId]\n\n if (expanded === undefined) setExpandedPanels(update)\n if (onExpandedChange) onExpandedChange(update)\n\n return\n }\n\n if (collapsible) {\n const update = multiple ? expandedPanels.filter((id) => id !== panelId) : []\n\n if (expanded === undefined) setExpandedPanels(update)\n if (onExpandedChange) onExpandedChange(update)\n }\n },\n }),\n [expandedPanels, expanded, collapsible, multiple, onExpandedChange]\n )\n}\n"],"names":["useAccordion","defaultExpanded","expanded","multiple","collapsible","onExpandedChange","expandedPanels","setExpandedPanels","useState","panels","length","useLayoutEffect","undefined","useMemo","updatePanels","panelId","panelExpanded","update","filter","id"],"mappings":"6DAG4BA,EAC1BC,kBAAkB,GAClBC,WACAC,WACAC,cACAC,uBAKA,MAAOC,EAAgBC,GAAqBC,MAAQA,UAAW,KAC7D,MAAMC,EAASP,GAAYD,EAE3B,OAAQE,GAAYM,EAAOC,OAAS,EAAI,CAACD,EAAO,IAAMA,CAAM,IAS9D,OANAE,MAAAA,iBAAgB,KACVT,SAAaU,GACfL,EAAkBL,EACpB,GACC,CAACA,IAEGW,MAAOA,SACZ,KAAO,CACLP,iBACAQ,aAAcA,CAACC,EAASC,KACtB,GAAIA,EAAe,CACjB,MAAMC,EAASd,EAAW,IAAIG,EAAgBS,GAAW,CAACA,GAK1D,OAHIb,SAAaU,GAAWL,EAAkBU,QAC1CZ,GAAkBA,EAAiBY,GAGzC,CAEA,GAAIb,EAAa,CACf,MAAMa,EAASd,EAAWG,EAAeY,QAAQC,GAAOA,IAAOJ,IAAW,GAEtEb,SAAaU,GAAWL,EAAkBU,GAC1CZ,GAAkBA,EAAiBY,EACzC,MAGJ,CAACX,EAAgBJ,EAAUE,EAAaD,EAAUE,GACnD"}
1
+ {"version":3,"file":"hooks.js","sources":["../../../../src/components/Accordion/hooks.ts"],"sourcesContent":["import { useState, useLayoutEffect, useMemo } from 'react'\nimport type { AccordionProps } from './types'\n\nexport const useAccordion = ({\n defaultExpanded = [],\n expanded,\n multiple,\n collapsible,\n onExpandedChange,\n}: Pick<AccordionProps, 'expanded' | 'defaultExpanded' | 'multiple' | 'collapsible' | 'onExpandedChange'>): {\n expandedPanels: string[]\n updatePanels: (panelId: string, panelExpanded: boolean) => void\n} => {\n const [expandedPanels, setExpandedPanels] = useState<string[]>(() => {\n const panels = expanded ?? defaultExpanded\n\n return !multiple && panels.length > 1 ? [panels[0]] : panels\n })\n\n useLayoutEffect(() => {\n if (expanded !== undefined) {\n setExpandedPanels(expanded)\n }\n }, [expanded])\n\n return useMemo(\n () => ({\n expandedPanels,\n updatePanels: (panelId, panelExpanded) => {\n if (panelExpanded) {\n const update = multiple ? [...expandedPanels, panelId] : [panelId]\n\n if (expanded === undefined) setExpandedPanels(update)\n if (onExpandedChange) onExpandedChange(update)\n\n return\n }\n\n if (collapsible) {\n const update = multiple ? expandedPanels.filter((id) => id !== panelId) : []\n\n if (expanded === undefined) setExpandedPanels(update)\n if (onExpandedChange) onExpandedChange(update)\n }\n },\n }),\n [expandedPanels, expanded, collapsible, multiple, onExpandedChange]\n )\n}\n"],"names":["useAccordion","defaultExpanded","expanded","multiple","collapsible","onExpandedChange","expandedPanels","setExpandedPanels","useState","panels","length","useLayoutEffect","undefined","useMemo","updatePanels","panelId","panelExpanded","update","filter","id"],"mappings":"6DAG4BA,EAC1BC,kBAAkB,GAClBC,WACAC,WACAC,cACAC,uBAKA,MAAOC,EAAgBC,GAAqBC,MAAAA,UAAmB,KAC7D,MAAMC,EAASP,GAAYD,EAE3B,OAAQE,GAAYM,EAAOC,OAAS,EAAI,CAACD,EAAO,IAAMA,CAAM,IAS9D,OANAE,MAAAA,iBAAgB,KACVT,SAAaU,GACfL,EAAkBL,EACpB,GACC,CAACA,IAEGW,MAAAA,SACL,KAAA,CACEP,iBACAQ,aAAcA,CAACC,EAASC,KACtB,GAAIA,EAAe,CACjB,MAAMC,EAASd,EAAW,IAAIG,EAAgBS,GAAW,CAACA,GAK1D,OAHIb,SAAaU,GAAWL,EAAkBU,QAC1CZ,GAAkBA,EAAiBY,GAGzC,CAEA,GAAIb,EAAa,CACf,MAAMa,EAASd,EAAWG,EAAeY,QAAQC,GAAOA,IAAOJ,IAAW,GAEtEb,SAAaU,GAAWL,EAAkBU,GAC1CZ,GAAkBA,EAAiBY,EACzC,MAGJ,CAACX,EAAgBJ,EAAUE,EAAaD,EAAUE,GACnD"}
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.mjs","sources":["../../../../src/components/Accordion/hooks.ts"],"sourcesContent":["import { useState, useLayoutEffect, useMemo } from 'react'\nimport type { AccordionProps } from './types'\n\nexport const useAccordion = ({\n defaultExpanded = [],\n expanded,\n multiple,\n collapsible,\n onExpandedChange,\n}: Pick<AccordionProps, 'expanded' | 'defaultExpanded' | 'multiple' | 'collapsible' | 'onExpandedChange'>): {\n expandedPanels: string[]\n updatePanels: (panelId: string, panelExpanded: boolean) => void\n} => {\n const [expandedPanels, setExpandedPanels] = useState<string[]>(() => {\n const panels = expanded ?? defaultExpanded\n\n return !multiple && panels.length > 1 ? [panels[0]] : panels\n })\n\n useLayoutEffect(() => {\n if (expanded !== undefined) {\n setExpandedPanels(expanded)\n }\n }, [expanded])\n\n return useMemo(\n () => ({\n expandedPanels,\n updatePanels: (panelId, panelExpanded) => {\n if (panelExpanded) {\n const update = multiple ? [...expandedPanels, panelId] : [panelId]\n\n if (expanded === undefined) setExpandedPanels(update)\n if (onExpandedChange) onExpandedChange(update)\n\n return\n }\n\n if (collapsible) {\n const update = multiple ? expandedPanels.filter((id) => id !== panelId) : []\n\n if (expanded === undefined) setExpandedPanels(update)\n if (onExpandedChange) onExpandedChange(update)\n }\n },\n }),\n [expandedPanels, expanded, collapsible, multiple, onExpandedChange]\n )\n}\n"],"names":["useAccordion","defaultExpanded","expanded","multiple","collapsible","onExpandedChange","expandedPanels","setExpandedPanels","useState","panels","length","useLayoutEffect","undefined","useMemo","updatePanels","panelId","panelExpanded","update","filter","id"],"mappings":"oDAGO,MAAMA,aAAeA,EAC1BC,kBAAkB,GAClBC,WACAC,WACAC,cACAC,uBAKA,MAAOC,EAAgBC,GAAqBC,UAAmB,KAC7D,MAAMC,EAASP,GAAYD,EAE3B,OAAQE,GAAYM,EAAOC,OAAS,EAAI,CAACD,EAAO,IAAMA,CAAM,IAS9D,OANAE,iBAAgB,KACVT,SAAaU,GACfL,EAAkBL,EACpB,GACC,CAACA,IAEGW,SACL,KAAO,CACLP,iBACAQ,aAAcA,CAACC,EAASC,KACtB,GAAIA,EAAe,CACjB,MAAMC,EAASd,EAAW,IAAIG,EAAgBS,GAAW,CAACA,GAK1D,OAHIb,SAAaU,GAAWL,EAAkBU,QAC1CZ,GAAkBA,EAAiBY,GAGzC,CAEA,GAAIb,EAAa,CACf,MAAMa,EAASd,EAAWG,EAAeY,QAAQC,GAAOA,IAAOJ,IAAW,GAEtEb,SAAaU,GAAWL,EAAkBU,GAC1CZ,GAAkBA,EAAiBY,EACzC,MAGJ,CAACX,EAAgBJ,EAAUE,EAAaD,EAAUE,GACnD"}
1
+ {"version":3,"file":"hooks.mjs","sources":["../../../../src/components/Accordion/hooks.ts"],"sourcesContent":["import { useState, useLayoutEffect, useMemo } from 'react'\nimport type { AccordionProps } from './types'\n\nexport const useAccordion = ({\n defaultExpanded = [],\n expanded,\n multiple,\n collapsible,\n onExpandedChange,\n}: Pick<AccordionProps, 'expanded' | 'defaultExpanded' | 'multiple' | 'collapsible' | 'onExpandedChange'>): {\n expandedPanels: string[]\n updatePanels: (panelId: string, panelExpanded: boolean) => void\n} => {\n const [expandedPanels, setExpandedPanels] = useState<string[]>(() => {\n const panels = expanded ?? defaultExpanded\n\n return !multiple && panels.length > 1 ? [panels[0]] : panels\n })\n\n useLayoutEffect(() => {\n if (expanded !== undefined) {\n setExpandedPanels(expanded)\n }\n }, [expanded])\n\n return useMemo(\n () => ({\n expandedPanels,\n updatePanels: (panelId, panelExpanded) => {\n if (panelExpanded) {\n const update = multiple ? [...expandedPanels, panelId] : [panelId]\n\n if (expanded === undefined) setExpandedPanels(update)\n if (onExpandedChange) onExpandedChange(update)\n\n return\n }\n\n if (collapsible) {\n const update = multiple ? expandedPanels.filter((id) => id !== panelId) : []\n\n if (expanded === undefined) setExpandedPanels(update)\n if (onExpandedChange) onExpandedChange(update)\n }\n },\n }),\n [expandedPanels, expanded, collapsible, multiple, onExpandedChange]\n )\n}\n"],"names":["useAccordion","defaultExpanded","expanded","multiple","collapsible","onExpandedChange","expandedPanels","setExpandedPanels","useState","panels","length","useLayoutEffect","undefined","useMemo","updatePanels","panelId","panelExpanded","update","filter","id"],"mappings":"oDAGO,MAAMA,aAAeA,EAC1BC,kBAAkB,GAClBC,WACAC,WACAC,cACAC,uBAKA,MAAOC,EAAgBC,GAAqBC,UAAmB,KAC7D,MAAMC,EAASP,GAAYD,EAE3B,OAAQE,GAAYM,EAAOC,OAAS,EAAI,CAACD,EAAO,IAAMA,CAAM,IAS9D,OANAE,iBAAgB,KACVT,SAAaU,GACfL,EAAkBL,EACpB,GACC,CAACA,IAEGW,SACL,KAAA,CACEP,iBACAQ,aAAcA,CAACC,EAASC,KACtB,GAAIA,EAAe,CACjB,MAAMC,EAASd,EAAW,IAAIG,EAAgBS,GAAW,CAACA,GAK1D,OAHIb,SAAaU,GAAWL,EAAkBU,QAC1CZ,GAAkBA,EAAiBY,GAGzC,CAEA,GAAIb,EAAa,CACf,MAAMa,EAASd,EAAWG,EAAeY,QAAQC,GAAOA,IAAOJ,IAAW,GAEtEb,SAAaU,GAAWL,EAAkBU,GAC1CZ,GAAkBA,EAAiBY,EACzC,MAGJ,CAACX,EAAgBJ,EAAUE,EAAaD,EAAUE,GACnD"}
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","sources":["../../../../src/components/Accordion/style.ts"],"sourcesContent":["import styled from 'styled-components'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport type { StyledAccordionProps } from './types'\n\nconst shouldForwardAccordionProp = createShouldForwardProp((propKey) => !['gap'].includes(propKey))\n\nexport const Root = styled.div.withConfig<StyledAccordionProps>({\n shouldForwardProp: shouldForwardAccordionProp,\n})`\n box-sizing: border-box;\n\n ${[75, 85, 80, 65].map(\n (width, idx) => `\n & > *:nth-child(5n + ${idx + 2} of [data-accordion-item]) [data-accordion-skeleton] {\n width: ${width}%;\n }\n `\n )}\n\n ${(props) =>\n typeof props.gap === 'number' &&\n `\n & > *:not(:first-child, [data-ui-divider]) {\n margin-top: ${props.gap}px;\n }\n `}\n \n ${responsiveSize}\n ${responsiveMargin}\n`\n"],"names":["shouldForwardAccordionProp","createShouldForwardProp","propKey","includes","Root","styled","div","withConfig","shouldForwardProp","displayName","componentId","map","width","idx","props","gap","responsiveSize","responsiveMargin"],"mappings":"mVAMA,MAAMA,2BAA6BC,MAAAA,yBAAyBC,IAAa,CAAC,OAAOC,SAASD,KAEnF,MAAME,KAAOC,gBAAAA,QAAOC,IAAIC,WAAiC,CAC9DC,kBAAmBR,6BACnBO,WAAA,CAAAE,YAAA,kBAAAC,YAAA,mBAFkBL,CAElB,CAAA,yBAAA,IAAA,IAAA,IAAA,IAGE,CAAC,GAAI,GAAI,GAAI,IAAIM,KACjB,CAACC,EAAOC,IAAQ,iCACUA,EAAM,2EACnBD,wBAKZE,UACMA,EAAMC,KAAQ,UACrB,4EAEkBD,EAAMC,yBAIxBC,eAAcA,eACdC,iBAAgBA"}
1
+ {"version":3,"file":"style.js","sources":["../../../../src/components/Accordion/style.ts"],"sourcesContent":["import styled from 'styled-components'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport type { StyledAccordionProps } from './types'\n\nconst shouldForwardAccordionProp = createShouldForwardProp((propKey) => !['gap'].includes(propKey))\n\nexport const Root = styled.div.withConfig<StyledAccordionProps>({\n shouldForwardProp: shouldForwardAccordionProp,\n})`\n box-sizing: border-box;\n\n ${[75, 85, 80, 65].map(\n (width, idx) => `\n & > *:nth-child(5n + ${idx + 2} of [data-accordion-item]) [data-accordion-skeleton] {\n width: ${width}%;\n }\n `\n )}\n\n ${(props) =>\n typeof props.gap === 'number' &&\n `\n & > *:not(:first-child, [data-ui-divider]) {\n margin-top: ${props.gap}px;\n }\n `}\n \n ${responsiveSize}\n ${responsiveMargin}\n`\n"],"names":["shouldForwardAccordionProp","createShouldForwardProp","propKey","includes","Root","styled","div","withConfig","shouldForwardProp","displayName","componentId","map","width","idx","props","gap","responsiveSize","responsiveMargin"],"mappings":"mVAMA,MAAMA,2BAA6BC,MAAAA,yBAAyBC,IAAa,CAAC,OAAOC,SAASD,KAEnF,MAAME,KAAOC,gBAAAA,QAAOC,IAAIC,WAAiC,CAC9DC,kBAAmBR,6BACnBO,WAAA,CAAAE,YAAA,kBAAAC,YAAA,mBAFkBL,CAElB,CAAA,yBAAA,IAAA,IAAA,IAAA,IAGE,CAAC,GAAI,GAAI,GAAI,IAAIM,KACjB,CAACC,EAAOC,IAAQ,iCACUA,EAAM,2EACnBD,wBAKZE,UACMA,EAAMC,KAAQ,UACrB,4EAEkBD,EAAMC,yBAIxBC,eAAAA,eACAC,iBAAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionItem.js","sources":["../../../../src/components/AccordionItem/AccordionItem.tsx"],"sourcesContent":["import { forwardRef, useState, isValidElement, useLayoutEffect, useMemo } from 'react'\nimport { ChevronDown } from '@foxford/icon-pack'\nimport { nanoid } from 'nanoid'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { Text } from 'components/Text'\nimport { Icon } from 'components/Icon'\nimport { Skeleton } from 'components/Skeleton'\nimport type { IconProps } from 'components/Icon'\nimport type { TextProps } from 'components/Text'\nimport { useAccordionPanel } from './useAccordionPanel'\nimport { useAccordionPanelProps } from './useAccordionPanelProps'\nimport {\n SIZES,\n SIZES_HEADER,\n SIZES_HEADER_EMBEDDED,\n SIZES_DETAILS,\n SIZES_DETAILS_EMBEDDED,\n SIZES_TITLE,\n SIZES_SUBTITLE,\n SIZES_ICON,\n} from './sizes'\nimport type { AccordionItemProps } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'AccordionItem'\n\n/**\n *\n * Компонент для создания сворачиваемой секции контента.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<section\\> элемента.\n *\n * Дизайн соответствует [рекомендациям WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/patterns/accordion/).\n *\n * @visibleName Accordion.Item\n */\nconst AccordionItem: React.ForwardRefExoticComponent<AccordionItemProps> = withMergedProps<\n AccordionItemProps,\n HTMLElement\n>(\n forwardRef((props, ref) => {\n const {\n size = 'm',\n defaultExpanded = false,\n headingAs = 'h3',\n borderRadius = 0,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n id,\n header,\n addon,\n content,\n title,\n subtitle,\n icon,\n panel,\n children,\n loading,\n disabled,\n expanded,\n embedded,\n onExpandedChange,\n ...restProps\n } = useAccordionPanelProps(props)\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n const iconProps: IconProps = {\n ...sizeProps,\n preset: 'brand',\n icon: <ChevronDown />,\n sizes: SIZES_ICON,\n }\n\n const titleProps: TextProps = {\n ...sizeProps,\n as: 'span',\n appearance: 'subheading-compact',\n wordBreak: 'break-word',\n color: 'inherit',\n sizes: SIZES_TITLE,\n }\n\n const subtitleProps: TextProps = {\n ...sizeProps,\n as: 'span',\n appearance: 'body',\n wordBreak: 'break-word',\n color: 'inherit',\n sizes: SIZES_SUBTITLE,\n }\n\n const { panelExpanded, setPanelExpanded } = useAccordionPanel({\n id,\n expanded,\n defaultExpanded,\n onExpandedChange,\n })\n\n const [panelVisible, setPanelVisible] = useState<boolean>(panelExpanded)\n\n const controlId = useMemo(() => nanoid(), [])\n const panelId = useMemo(() => nanoid(), [])\n\n useLayoutEffect(() => {\n if (panelExpanded) setPanelVisible(true)\n }, [panelExpanded])\n\n return (\n <Styled.Root\n {...restProps}\n {...sizeProps}\n id={id}\n disabled={disabled}\n loading={loading}\n expanded={panelExpanded}\n borderRadius={borderRadius}\n data-accordion-item\n ref={ref}\n >\n <Styled.Heading\n as={headingAs}\n onClick={() => {\n if (!disabled) {\n setPanelExpanded(!panelExpanded)\n }\n }}\n >\n <Styled.Button\n id={controlId}\n type='button'\n data-accordion-control\n aria-controls={panelId}\n aria-expanded={panelVisible}\n aria-disabled={Boolean(panelVisible && (disabled || (expanded !== undefined && !onExpandedChange)))}\n disabled={disabled}\n onClick={(evt) => {\n evt.stopPropagation()\n setPanelExpanded(!panelExpanded)\n }}\n >\n {loading ? (\n <Styled.Header {...sizeProps} sizes={embedded ? SIZES_HEADER_EMBEDDED : SIZES_HEADER}>\n <Styled.Content>\n <Skeleton as='span' borderRadius={4} width='90%' data-accordion-skeleton>\n <Text {...titleProps} />\n </Skeleton>\n </Styled.Content>\n </Styled.Header>\n ) : isValidElement(header) ? (\n header\n ) : typeof header === 'function' ? (\n header({\n titleProps,\n subtitleProps,\n iconProps,\n })\n ) : (\n <Styled.Header {...sizeProps} sizes={embedded ? SIZES_HEADER_EMBEDDED : SIZES_HEADER}>\n {addon}\n <Styled.Content>\n {isValidElement(content) ? (\n content\n ) : typeof content === 'function' ? (\n content({\n titleProps,\n subtitleProps,\n })\n ) : (\n <>\n {isValidElement(title) ? (\n title\n ) : typeof title === 'function' ? (\n title(titleProps)\n ) : typeof title === 'string' || typeof title === 'number' ? (\n <Text {...titleProps}>{title}</Text>\n ) : null}\n {isValidElement(subtitle) ? (\n subtitle\n ) : typeof subtitle === 'function' ? (\n subtitle(subtitleProps)\n ) : typeof subtitle === 'string' || typeof subtitle === 'number' ? (\n <Text {...subtitleProps}>{subtitle}</Text>\n ) : null}\n </>\n )}\n </Styled.Content>\n <Styled.IconAnimation up={panelExpanded}>\n {isValidElement(icon) ? icon : typeof icon === 'function' ? icon(iconProps) : <Icon {...iconProps} />}\n </Styled.IconAnimation>\n </Styled.Header>\n )}\n </Styled.Button>\n </Styled.Heading>\n <Styled.Panel\n id={panelId}\n role='region'\n aria-labelledby={controlId}\n hidden={!panelVisible}\n onTransitionEnd={(evt) => {\n if (evt.propertyName === 'opacity' && !panelExpanded) {\n setPanelVisible(false)\n }\n }}\n >\n {loading ? (\n <Styled.Details {...sizeProps} sizes={embedded ? SIZES_DETAILS_EMBEDDED : SIZES_DETAILS}>\n <Skeleton as='span' borderRadius={4} width='100%' marginBottom='0.4em'>\n <Text {...subtitleProps} />\n </Skeleton>\n <Skeleton as='span' borderRadius={4} width='70%'>\n <Text {...subtitleProps} />\n </Skeleton>\n </Styled.Details>\n ) : isValidElement(panel) ? (\n panel\n ) : (\n <Styled.Details {...sizeProps} sizes={embedded ? SIZES_DETAILS_EMBEDDED : SIZES_DETAILS}>\n {children}\n </Styled.Details>\n )}\n </Styled.Panel>\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n)\n\nexport { AccordionItem }\n"],"names":["AccordionItem","withMergedProps","forwardRef","props","ref","size","defaultExpanded","headingAs","borderRadius","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","id","header","addon","content","title","subtitle","icon","panel","children","loading","disabled","expanded","embedded","onExpandedChange","restProps","useAccordionPanelProps","sizeProps","iconProps","preset","_jsx","ChevronDown","sizes","SIZES_ICON","titleProps","as","appearance","wordBreak","color","SIZES_TITLE","subtitleProps","SIZES_SUBTITLE","panelExpanded","setPanelExpanded","useAccordionPanel","panelVisible","setPanelVisible","useState","controlId","useMemo","nanoid","panelId","useLayoutEffect","_jsxs","Styled","jsx","onClick","type","Boolean","undefined","evt","stopPropagation","SIZES_HEADER_EMBEDDED","SIZES_HEADER","Skeleton","width","Text","isValidElement","jsxs","_Fragment","up","Icon","role","hidden","onTransitionEnd","propertyName","SIZES_DETAILS_EMBEDDED","SIZES_DETAILS","marginBottom","displayName","SIZES"],"mappings":"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"}
1
+ {"version":3,"file":"AccordionItem.js","sources":["../../../../src/components/AccordionItem/AccordionItem.tsx"],"sourcesContent":["import { forwardRef, useState, isValidElement, useLayoutEffect, useMemo } from 'react'\nimport { ChevronDown } from '@foxford/icon-pack'\nimport { nanoid } from 'nanoid'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { Text } from 'components/Text'\nimport { Icon } from 'components/Icon'\nimport { Skeleton } from 'components/Skeleton'\nimport type { IconProps } from 'components/Icon'\nimport type { TextProps } from 'components/Text'\nimport { useAccordionPanel } from './useAccordionPanel'\nimport { useAccordionPanelProps } from './useAccordionPanelProps'\nimport {\n SIZES,\n SIZES_HEADER,\n SIZES_HEADER_EMBEDDED,\n SIZES_DETAILS,\n SIZES_DETAILS_EMBEDDED,\n SIZES_TITLE,\n SIZES_SUBTITLE,\n SIZES_ICON,\n} from './sizes'\nimport type { AccordionItemProps } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'AccordionItem'\n\n/**\n *\n * Компонент для создания сворачиваемой секции контента.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<section\\> элемента.\n *\n * Дизайн соответствует [рекомендациям WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/patterns/accordion/).\n *\n * @visibleName Accordion.Item\n */\nconst AccordionItem: React.ForwardRefExoticComponent<AccordionItemProps> = withMergedProps<\n AccordionItemProps,\n HTMLElement\n>(\n forwardRef((props, ref) => {\n const {\n size = 'm',\n defaultExpanded = false,\n headingAs = 'h3',\n borderRadius = 0,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n id,\n header,\n addon,\n content,\n title,\n subtitle,\n icon,\n panel,\n children,\n loading,\n disabled,\n expanded,\n embedded,\n onExpandedChange,\n ...restProps\n } = useAccordionPanelProps(props)\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n const iconProps: IconProps = {\n ...sizeProps,\n preset: 'brand',\n icon: <ChevronDown />,\n sizes: SIZES_ICON,\n }\n\n const titleProps: TextProps = {\n ...sizeProps,\n as: 'span',\n appearance: 'subheading-compact',\n wordBreak: 'break-word',\n color: 'inherit',\n sizes: SIZES_TITLE,\n }\n\n const subtitleProps: TextProps = {\n ...sizeProps,\n as: 'span',\n appearance: 'body',\n wordBreak: 'break-word',\n color: 'inherit',\n sizes: SIZES_SUBTITLE,\n }\n\n const { panelExpanded, setPanelExpanded } = useAccordionPanel({\n id,\n expanded,\n defaultExpanded,\n onExpandedChange,\n })\n\n const [panelVisible, setPanelVisible] = useState<boolean>(panelExpanded)\n\n const controlId = useMemo(() => nanoid(), [])\n const panelId = useMemo(() => nanoid(), [])\n\n useLayoutEffect(() => {\n if (panelExpanded) setPanelVisible(true)\n }, [panelExpanded])\n\n return (\n <Styled.Root\n {...restProps}\n {...sizeProps}\n id={id}\n disabled={disabled}\n loading={loading}\n expanded={panelExpanded}\n borderRadius={borderRadius}\n data-accordion-item\n ref={ref}\n >\n <Styled.Heading\n as={headingAs}\n onClick={() => {\n if (!disabled) {\n setPanelExpanded(!panelExpanded)\n }\n }}\n >\n <Styled.Button\n id={controlId}\n type='button'\n data-accordion-control\n aria-controls={panelId}\n aria-expanded={panelVisible}\n aria-disabled={Boolean(panelVisible && (disabled || (expanded !== undefined && !onExpandedChange)))}\n disabled={disabled}\n onClick={(evt) => {\n evt.stopPropagation()\n setPanelExpanded(!panelExpanded)\n }}\n >\n {loading ? (\n <Styled.Header {...sizeProps} sizes={embedded ? SIZES_HEADER_EMBEDDED : SIZES_HEADER}>\n <Styled.Content>\n <Skeleton as='span' borderRadius={4} width='90%' data-accordion-skeleton>\n <Text {...titleProps} />\n </Skeleton>\n </Styled.Content>\n </Styled.Header>\n ) : isValidElement(header) ? (\n header\n ) : typeof header === 'function' ? (\n header({\n titleProps,\n subtitleProps,\n iconProps,\n })\n ) : (\n <Styled.Header {...sizeProps} sizes={embedded ? SIZES_HEADER_EMBEDDED : SIZES_HEADER}>\n {addon}\n <Styled.Content>\n {isValidElement(content) ? (\n content\n ) : typeof content === 'function' ? (\n content({\n titleProps,\n subtitleProps,\n })\n ) : (\n <>\n {isValidElement(title) ? (\n title\n ) : typeof title === 'function' ? (\n title(titleProps)\n ) : typeof title === 'string' || typeof title === 'number' ? (\n <Text {...titleProps}>{title}</Text>\n ) : null}\n {isValidElement(subtitle) ? (\n subtitle\n ) : typeof subtitle === 'function' ? (\n subtitle(subtitleProps)\n ) : typeof subtitle === 'string' || typeof subtitle === 'number' ? (\n <Text {...subtitleProps}>{subtitle}</Text>\n ) : null}\n </>\n )}\n </Styled.Content>\n <Styled.IconAnimation up={panelExpanded}>\n {isValidElement(icon) ? icon : typeof icon === 'function' ? icon(iconProps) : <Icon {...iconProps} />}\n </Styled.IconAnimation>\n </Styled.Header>\n )}\n </Styled.Button>\n </Styled.Heading>\n <Styled.Panel\n id={panelId}\n role='region'\n aria-labelledby={controlId}\n hidden={!panelVisible}\n onTransitionEnd={(evt) => {\n if (evt.propertyName === 'opacity' && !panelExpanded) {\n setPanelVisible(false)\n }\n }}\n >\n {loading ? (\n <Styled.Details {...sizeProps} sizes={embedded ? SIZES_DETAILS_EMBEDDED : SIZES_DETAILS}>\n <Skeleton as='span' borderRadius={4} width='100%' marginBottom='0.4em'>\n <Text {...subtitleProps} />\n </Skeleton>\n <Skeleton as='span' borderRadius={4} width='70%'>\n <Text {...subtitleProps} />\n </Skeleton>\n </Styled.Details>\n ) : isValidElement(panel) ? (\n panel\n ) : (\n <Styled.Details {...sizeProps} sizes={embedded ? SIZES_DETAILS_EMBEDDED : SIZES_DETAILS}>\n {children}\n </Styled.Details>\n )}\n </Styled.Panel>\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n)\n\nexport { AccordionItem }\n"],"names":["AccordionItem","withMergedProps","forwardRef","props","ref","size","defaultExpanded","headingAs","borderRadius","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","id","header","addon","content","title","subtitle","icon","panel","children","loading","disabled","expanded","embedded","onExpandedChange","restProps","useAccordionPanelProps","sizeProps","iconProps","preset","_jsx","ChevronDown","sizes","SIZES_ICON","titleProps","as","appearance","wordBreak","color","SIZES_TITLE","subtitleProps","SIZES_SUBTITLE","panelExpanded","setPanelExpanded","useAccordionPanel","panelVisible","setPanelVisible","useState","controlId","useMemo","nanoid","panelId","useLayoutEffect","_jsxs","Styled","onClick","type","Boolean","undefined","evt","stopPropagation","SIZES_HEADER_EMBEDDED","SIZES_HEADER","Skeleton","width","Text","isValidElement","_Fragment","up","Icon","role","hidden","onTransitionEnd","propertyName","SIZES_DETAILS_EMBEDDED","SIZES_DETAILS","marginBottom","displayName","SIZES"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{forwardRef,useState,useMemo,useLayoutEffect,isValidElement}from'react';import{nanoid}from'nanoid';import{withMergedProps}from'../../hocs/withMergedProps.mjs';import{useAccordionPanel}from'./useAccordionPanel.mjs';import{useAccordionPanelProps}from'./useAccordionPanelProps.mjs';import{SIZES,SIZES_HEADER_EMBEDDED,SIZES_HEADER,SIZES_DETAILS_EMBEDDED,SIZES_DETAILS,SIZES_ICON,SIZES_TITLE,SIZES_SUBTITLE}from'./sizes.mjs';import{Root,Heading,Button,Header,Content,IconAnimation,Panel,Details}from'./style.mjs';import{jsxs,jsx,Fragment}from'react/jsx-runtime';import{Skeleton}from'../Skeleton/Skeleton.mjs';import{Text}from'../Text/Text.mjs';import{Icon}from'../Icon/Icon.mjs';import{ChevronDown}from'../../icon-pack/src/icons/ChevronDown/index.mjs';const AccordionItem=withMergedProps(forwardRef(((e,o)=>{const{size:n="m",defaultExpanded:i=!1,headingAs:s="h3",borderRadius:t=0,sizeXXS:r,sizeXS:d,sizeS:a,sizeM:c,sizeL:l,sizeXL:E,id:p,header:m,addon:S,content:x,title:u,subtitle:I,icon:f,panel:h,children:D,loading:j,disabled:A,expanded:_,embedded:b,onExpandedChange:z,...T}=useAccordionPanelProps(e);const P={size:n,sizeXXS:r,sizeXS:d,sizeS:a,sizeM:c,sizeL:l,sizeXL:E};const Z={...P,preset:'brand',icon:jsx(ChevronDown,{}),sizes:SIZES_ICON};const g={...P,as:'span',appearance:'subheading-compact',wordBreak:'break-word',color:'inherit',sizes:SIZES_TITLE};const y={...P,as:'span',appearance:'body',wordBreak:'break-word',color:'inherit',sizes:SIZES_SUBTITLE};const{panelExpanded:L,setPanelExpanded:w}=useAccordionPanel({id:p,expanded:_,defaultExpanded:i,onExpandedChange:z});const[R,k]=useState(L);const B=useMemo((()=>nanoid()),[]);const M=useMemo((()=>nanoid()),[]);return useLayoutEffect((()=>{L&&k(!0)}),[L]),jsxs(Root,{...T,...P,id:p,disabled:A,loading:j,expanded:L,borderRadius:t,"data-accordion-item":!0,ref:o,children:[jsx(Heading,{as:s,onClick:()=>{A||w(!L)},children:jsx(Button,{id:B,type:"button","data-accordion-control":!0,"aria-controls":M,"aria-expanded":R,"aria-disabled":Boolean(R&&(A||_!==void 0&&!z)),disabled:A,onClick:e=>{e.stopPropagation(),w(!L)},children:j?jsx(Header,{...P,sizes:b?SIZES_HEADER_EMBEDDED:SIZES_HEADER,children:jsx(Content,{children:jsx(Skeleton,{as:"span",borderRadius:4,width:"90%","data-accordion-skeleton":!0,children:jsx(Text,{...g})})})}):isValidElement(m)?m:typeof m=='function'?m({titleProps:g,subtitleProps:y,iconProps:Z}):jsxs(Header,{...P,sizes:b?SIZES_HEADER_EMBEDDED:SIZES_HEADER,children:[S,jsx(Content,{children:isValidElement(x)?x:typeof x=='function'?x({titleProps:g,subtitleProps:y}):jsxs(Fragment,{children:[isValidElement(u)?u:typeof u=='function'?u(g):typeof u=='string'||typeof u=='number'?jsx(Text,{...g,children:u}):null,isValidElement(I)?I:typeof I=='function'?I(y):typeof I=='string'||typeof I=='number'?jsx(Text,{...y,children:I}):null]})}),jsx(IconAnimation,{up:L,children:isValidElement(f)?f:typeof f=='function'?f(Z):jsx(Icon,{...Z})})]})})}),jsx(Panel,{id:M,role:"region","aria-labelledby":B,hidden:!R,onTransitionEnd:e=>{e.propertyName!=='opacity'||L||k(!1)},children:j?jsxs(Details,{...P,sizes:b?SIZES_DETAILS_EMBEDDED:SIZES_DETAILS,children:[jsx(Skeleton,{as:"span",borderRadius:4,width:"100%",marginBottom:"0.4em",children:jsx(Text,{...y})}),jsx(Skeleton,{as:"span",borderRadius:4,width:"70%",children:jsx(Text,{...y})})]}):isValidElement(h)?h:jsx(Details,{...P,sizes:b?SIZES_DETAILS_EMBEDDED:SIZES_DETAILS,children:D})})]})})),{displayName:'AccordionItem',sizes:SIZES});export{AccordionItem};
1
+ import{forwardRef,useState,useMemo,useLayoutEffect,isValidElement}from'react';import{nanoid}from'nanoid';import{withMergedProps}from'../../hocs/withMergedProps.mjs';import{useAccordionPanel}from'./useAccordionPanel.mjs';import{useAccordionPanelProps}from'./useAccordionPanelProps.mjs';import{SIZES_HEADER_EMBEDDED,SIZES_HEADER,SIZES_TITLE,SIZES_ICON,SIZES_SUBTITLE,SIZES_DETAILS_EMBEDDED,SIZES_DETAILS,SIZES}from'./sizes.mjs';import{Root,Heading,Button,Header,Content,IconAnimation,Panel,Details}from'./style.mjs';import{jsxs,jsx,Fragment}from'react/jsx-runtime';import{Skeleton}from'../Skeleton/Skeleton.mjs';import{Text}from'../Text/Text.mjs';import{Icon}from'../Icon/Icon.mjs';import{ChevronDown}from'../../icon-pack/src/icons/ChevronDown/index.mjs';const AccordionItem=withMergedProps(forwardRef(((e,o)=>{const{size:n="m",defaultExpanded:i=!1,headingAs:s="h3",borderRadius:t=0,sizeXXS:r,sizeXS:d,sizeS:a,sizeM:c,sizeL:l,sizeXL:E,id:p,header:m,addon:S,content:x,title:u,subtitle:I,icon:f,panel:h,children:D,loading:j,disabled:A,expanded:_,embedded:b,onExpandedChange:z,...T}=useAccordionPanelProps(e);const P={size:n,sizeXXS:r,sizeXS:d,sizeS:a,sizeM:c,sizeL:l,sizeXL:E};const Z={...P,preset:'brand',icon:jsx(ChevronDown,{}),sizes:SIZES_ICON};const g={...P,as:'span',appearance:'subheading-compact',wordBreak:'break-word',color:'inherit',sizes:SIZES_TITLE};const y={...P,as:'span',appearance:'body',wordBreak:'break-word',color:'inherit',sizes:SIZES_SUBTITLE};const{panelExpanded:L,setPanelExpanded:w}=useAccordionPanel({id:p,expanded:_,defaultExpanded:i,onExpandedChange:z});const[R,k]=useState(L);const B=useMemo((()=>nanoid()),[]);const M=useMemo((()=>nanoid()),[]);return useLayoutEffect((()=>{L&&k(!0)}),[L]),jsxs(Root,{...T,...P,id:p,disabled:A,loading:j,expanded:L,borderRadius:t,"data-accordion-item":!0,ref:o,children:[jsx(Heading,{as:s,onClick:()=>{A||w(!L)},children:jsx(Button,{id:B,type:"button","data-accordion-control":!0,"aria-controls":M,"aria-expanded":R,"aria-disabled":Boolean(R&&(A||_!==void 0&&!z)),disabled:A,onClick:e=>{e.stopPropagation(),w(!L)},children:j?jsx(Header,{...P,sizes:b?SIZES_HEADER_EMBEDDED:SIZES_HEADER,children:jsx(Content,{children:jsx(Skeleton,{as:"span",borderRadius:4,width:"90%","data-accordion-skeleton":!0,children:jsx(Text,{...g})})})}):isValidElement(m)?m:typeof m=='function'?m({titleProps:g,subtitleProps:y,iconProps:Z}):jsxs(Header,{...P,sizes:b?SIZES_HEADER_EMBEDDED:SIZES_HEADER,children:[S,jsx(Content,{children:isValidElement(x)?x:typeof x=='function'?x({titleProps:g,subtitleProps:y}):jsxs(Fragment,{children:[isValidElement(u)?u:typeof u=='function'?u(g):typeof u=='string'||typeof u=='number'?jsx(Text,{...g,children:u}):null,isValidElement(I)?I:typeof I=='function'?I(y):typeof I=='string'||typeof I=='number'?jsx(Text,{...y,children:I}):null]})}),jsx(IconAnimation,{up:L,children:isValidElement(f)?f:typeof f=='function'?f(Z):jsx(Icon,{...Z})})]})})}),jsx(Panel,{id:M,role:"region","aria-labelledby":B,hidden:!R,onTransitionEnd:e=>{e.propertyName!=='opacity'||L||k(!1)},children:j?jsxs(Details,{...P,sizes:b?SIZES_DETAILS_EMBEDDED:SIZES_DETAILS,children:[jsx(Skeleton,{as:"span",borderRadius:4,width:"100%",marginBottom:"0.4em",children:jsx(Text,{...y})}),jsx(Skeleton,{as:"span",borderRadius:4,width:"70%",children:jsx(Text,{...y})})]}):isValidElement(h)?h:jsx(Details,{...P,sizes:b?SIZES_DETAILS_EMBEDDED:SIZES_DETAILS,children:D})})]})})),{displayName:'AccordionItem',sizes:SIZES});export{AccordionItem};
2
2
  //# sourceMappingURL=AccordionItem.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionItem.mjs","sources":["../../../../src/components/AccordionItem/AccordionItem.tsx"],"sourcesContent":["import { forwardRef, useState, isValidElement, useLayoutEffect, useMemo } from 'react'\nimport { ChevronDown } from '@foxford/icon-pack'\nimport { nanoid } from 'nanoid'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { Text } from 'components/Text'\nimport { Icon } from 'components/Icon'\nimport { Skeleton } from 'components/Skeleton'\nimport type { IconProps } from 'components/Icon'\nimport type { TextProps } from 'components/Text'\nimport { useAccordionPanel } from './useAccordionPanel'\nimport { useAccordionPanelProps } from './useAccordionPanelProps'\nimport {\n SIZES,\n SIZES_HEADER,\n SIZES_HEADER_EMBEDDED,\n SIZES_DETAILS,\n SIZES_DETAILS_EMBEDDED,\n SIZES_TITLE,\n SIZES_SUBTITLE,\n SIZES_ICON,\n} from './sizes'\nimport type { AccordionItemProps } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'AccordionItem'\n\n/**\n *\n * Компонент для создания сворачиваемой секции контента.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<section\\> элемента.\n *\n * Дизайн соответствует [рекомендациям WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/patterns/accordion/).\n *\n * @visibleName Accordion.Item\n */\nconst AccordionItem: React.ForwardRefExoticComponent<AccordionItemProps> = withMergedProps<\n AccordionItemProps,\n HTMLElement\n>(\n forwardRef((props, ref) => {\n const {\n size = 'm',\n defaultExpanded = false,\n headingAs = 'h3',\n borderRadius = 0,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n id,\n header,\n addon,\n content,\n title,\n subtitle,\n icon,\n panel,\n children,\n loading,\n disabled,\n expanded,\n embedded,\n onExpandedChange,\n ...restProps\n } = useAccordionPanelProps(props)\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n const iconProps: IconProps = {\n ...sizeProps,\n preset: 'brand',\n icon: <ChevronDown />,\n sizes: SIZES_ICON,\n }\n\n const titleProps: TextProps = {\n ...sizeProps,\n as: 'span',\n appearance: 'subheading-compact',\n wordBreak: 'break-word',\n color: 'inherit',\n sizes: SIZES_TITLE,\n }\n\n const subtitleProps: TextProps = {\n ...sizeProps,\n as: 'span',\n appearance: 'body',\n wordBreak: 'break-word',\n color: 'inherit',\n sizes: SIZES_SUBTITLE,\n }\n\n const { panelExpanded, setPanelExpanded } = useAccordionPanel({\n id,\n expanded,\n defaultExpanded,\n onExpandedChange,\n })\n\n const [panelVisible, setPanelVisible] = useState<boolean>(panelExpanded)\n\n const controlId = useMemo(() => nanoid(), [])\n const panelId = useMemo(() => nanoid(), [])\n\n useLayoutEffect(() => {\n if (panelExpanded) setPanelVisible(true)\n }, [panelExpanded])\n\n return (\n <Styled.Root\n {...restProps}\n {...sizeProps}\n id={id}\n disabled={disabled}\n loading={loading}\n expanded={panelExpanded}\n borderRadius={borderRadius}\n data-accordion-item\n ref={ref}\n >\n <Styled.Heading\n as={headingAs}\n onClick={() => {\n if (!disabled) {\n setPanelExpanded(!panelExpanded)\n }\n }}\n >\n <Styled.Button\n id={controlId}\n type='button'\n data-accordion-control\n aria-controls={panelId}\n aria-expanded={panelVisible}\n aria-disabled={Boolean(panelVisible && (disabled || (expanded !== undefined && !onExpandedChange)))}\n disabled={disabled}\n onClick={(evt) => {\n evt.stopPropagation()\n setPanelExpanded(!panelExpanded)\n }}\n >\n {loading ? (\n <Styled.Header {...sizeProps} sizes={embedded ? SIZES_HEADER_EMBEDDED : SIZES_HEADER}>\n <Styled.Content>\n <Skeleton as='span' borderRadius={4} width='90%' data-accordion-skeleton>\n <Text {...titleProps} />\n </Skeleton>\n </Styled.Content>\n </Styled.Header>\n ) : isValidElement(header) ? (\n header\n ) : typeof header === 'function' ? (\n header({\n titleProps,\n subtitleProps,\n iconProps,\n })\n ) : (\n <Styled.Header {...sizeProps} sizes={embedded ? SIZES_HEADER_EMBEDDED : SIZES_HEADER}>\n {addon}\n <Styled.Content>\n {isValidElement(content) ? (\n content\n ) : typeof content === 'function' ? (\n content({\n titleProps,\n subtitleProps,\n })\n ) : (\n <>\n {isValidElement(title) ? (\n title\n ) : typeof title === 'function' ? (\n title(titleProps)\n ) : typeof title === 'string' || typeof title === 'number' ? (\n <Text {...titleProps}>{title}</Text>\n ) : null}\n {isValidElement(subtitle) ? (\n subtitle\n ) : typeof subtitle === 'function' ? (\n subtitle(subtitleProps)\n ) : typeof subtitle === 'string' || typeof subtitle === 'number' ? (\n <Text {...subtitleProps}>{subtitle}</Text>\n ) : null}\n </>\n )}\n </Styled.Content>\n <Styled.IconAnimation up={panelExpanded}>\n {isValidElement(icon) ? icon : typeof icon === 'function' ? icon(iconProps) : <Icon {...iconProps} />}\n </Styled.IconAnimation>\n </Styled.Header>\n )}\n </Styled.Button>\n </Styled.Heading>\n <Styled.Panel\n id={panelId}\n role='region'\n aria-labelledby={controlId}\n hidden={!panelVisible}\n onTransitionEnd={(evt) => {\n if (evt.propertyName === 'opacity' && !panelExpanded) {\n setPanelVisible(false)\n }\n }}\n >\n {loading ? (\n <Styled.Details {...sizeProps} sizes={embedded ? SIZES_DETAILS_EMBEDDED : SIZES_DETAILS}>\n <Skeleton as='span' borderRadius={4} width='100%' marginBottom='0.4em'>\n <Text {...subtitleProps} />\n </Skeleton>\n <Skeleton as='span' borderRadius={4} width='70%'>\n <Text {...subtitleProps} />\n </Skeleton>\n </Styled.Details>\n ) : isValidElement(panel) ? (\n panel\n ) : (\n <Styled.Details {...sizeProps} sizes={embedded ? SIZES_DETAILS_EMBEDDED : SIZES_DETAILS}>\n {children}\n </Styled.Details>\n )}\n </Styled.Panel>\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n)\n\nexport { AccordionItem }\n"],"names":["AccordionItem","withMergedProps","forwardRef","props","ref","size","defaultExpanded","headingAs","borderRadius","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","id","header","addon","content","title","subtitle","icon","panel","children","loading","disabled","expanded","embedded","onExpandedChange","restProps","useAccordionPanelProps","sizeProps","iconProps","preset","_jsx","ChevronDown","sizes","SIZES_ICON","titleProps","as","appearance","wordBreak","color","SIZES_TITLE","subtitleProps","SIZES_SUBTITLE","panelExpanded","setPanelExpanded","useAccordionPanel","panelVisible","setPanelVisible","useState","controlId","useMemo","nanoid","panelId","useLayoutEffect","_jsxs","Styled","onClick","type","Boolean","undefined","evt","stopPropagation","SIZES_HEADER_EMBEDDED","SIZES_HEADER","Skeleton","width","Text","isValidElement","_Fragment","up","Icon","role","hidden","onTransitionEnd","propertyName","SIZES_DETAILS_EMBEDDED","SIZES_DETAILS","marginBottom","displayName","SIZES"],"mappings":"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"}
1
+ {"version":3,"file":"AccordionItem.mjs","sources":["../../../../src/components/AccordionItem/AccordionItem.tsx"],"sourcesContent":["import { forwardRef, useState, isValidElement, useLayoutEffect, useMemo } from 'react'\nimport { ChevronDown } from '@foxford/icon-pack'\nimport { nanoid } from 'nanoid'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { Text } from 'components/Text'\nimport { Icon } from 'components/Icon'\nimport { Skeleton } from 'components/Skeleton'\nimport type { IconProps } from 'components/Icon'\nimport type { TextProps } from 'components/Text'\nimport { useAccordionPanel } from './useAccordionPanel'\nimport { useAccordionPanelProps } from './useAccordionPanelProps'\nimport {\n SIZES,\n SIZES_HEADER,\n SIZES_HEADER_EMBEDDED,\n SIZES_DETAILS,\n SIZES_DETAILS_EMBEDDED,\n SIZES_TITLE,\n SIZES_SUBTITLE,\n SIZES_ICON,\n} from './sizes'\nimport type { AccordionItemProps } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'AccordionItem'\n\n/**\n *\n * Компонент для создания сворачиваемой секции контента.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<section\\> элемента.\n *\n * Дизайн соответствует [рекомендациям WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/patterns/accordion/).\n *\n * @visibleName Accordion.Item\n */\nconst AccordionItem: React.ForwardRefExoticComponent<AccordionItemProps> = withMergedProps<\n AccordionItemProps,\n HTMLElement\n>(\n forwardRef((props, ref) => {\n const {\n size = 'm',\n defaultExpanded = false,\n headingAs = 'h3',\n borderRadius = 0,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n id,\n header,\n addon,\n content,\n title,\n subtitle,\n icon,\n panel,\n children,\n loading,\n disabled,\n expanded,\n embedded,\n onExpandedChange,\n ...restProps\n } = useAccordionPanelProps(props)\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n const iconProps: IconProps = {\n ...sizeProps,\n preset: 'brand',\n icon: <ChevronDown />,\n sizes: SIZES_ICON,\n }\n\n const titleProps: TextProps = {\n ...sizeProps,\n as: 'span',\n appearance: 'subheading-compact',\n wordBreak: 'break-word',\n color: 'inherit',\n sizes: SIZES_TITLE,\n }\n\n const subtitleProps: TextProps = {\n ...sizeProps,\n as: 'span',\n appearance: 'body',\n wordBreak: 'break-word',\n color: 'inherit',\n sizes: SIZES_SUBTITLE,\n }\n\n const { panelExpanded, setPanelExpanded } = useAccordionPanel({\n id,\n expanded,\n defaultExpanded,\n onExpandedChange,\n })\n\n const [panelVisible, setPanelVisible] = useState<boolean>(panelExpanded)\n\n const controlId = useMemo(() => nanoid(), [])\n const panelId = useMemo(() => nanoid(), [])\n\n useLayoutEffect(() => {\n if (panelExpanded) setPanelVisible(true)\n }, [panelExpanded])\n\n return (\n <Styled.Root\n {...restProps}\n {...sizeProps}\n id={id}\n disabled={disabled}\n loading={loading}\n expanded={panelExpanded}\n borderRadius={borderRadius}\n data-accordion-item\n ref={ref}\n >\n <Styled.Heading\n as={headingAs}\n onClick={() => {\n if (!disabled) {\n setPanelExpanded(!panelExpanded)\n }\n }}\n >\n <Styled.Button\n id={controlId}\n type='button'\n data-accordion-control\n aria-controls={panelId}\n aria-expanded={panelVisible}\n aria-disabled={Boolean(panelVisible && (disabled || (expanded !== undefined && !onExpandedChange)))}\n disabled={disabled}\n onClick={(evt) => {\n evt.stopPropagation()\n setPanelExpanded(!panelExpanded)\n }}\n >\n {loading ? (\n <Styled.Header {...sizeProps} sizes={embedded ? SIZES_HEADER_EMBEDDED : SIZES_HEADER}>\n <Styled.Content>\n <Skeleton as='span' borderRadius={4} width='90%' data-accordion-skeleton>\n <Text {...titleProps} />\n </Skeleton>\n </Styled.Content>\n </Styled.Header>\n ) : isValidElement(header) ? (\n header\n ) : typeof header === 'function' ? (\n header({\n titleProps,\n subtitleProps,\n iconProps,\n })\n ) : (\n <Styled.Header {...sizeProps} sizes={embedded ? SIZES_HEADER_EMBEDDED : SIZES_HEADER}>\n {addon}\n <Styled.Content>\n {isValidElement(content) ? (\n content\n ) : typeof content === 'function' ? (\n content({\n titleProps,\n subtitleProps,\n })\n ) : (\n <>\n {isValidElement(title) ? (\n title\n ) : typeof title === 'function' ? (\n title(titleProps)\n ) : typeof title === 'string' || typeof title === 'number' ? (\n <Text {...titleProps}>{title}</Text>\n ) : null}\n {isValidElement(subtitle) ? (\n subtitle\n ) : typeof subtitle === 'function' ? (\n subtitle(subtitleProps)\n ) : typeof subtitle === 'string' || typeof subtitle === 'number' ? (\n <Text {...subtitleProps}>{subtitle}</Text>\n ) : null}\n </>\n )}\n </Styled.Content>\n <Styled.IconAnimation up={panelExpanded}>\n {isValidElement(icon) ? icon : typeof icon === 'function' ? icon(iconProps) : <Icon {...iconProps} />}\n </Styled.IconAnimation>\n </Styled.Header>\n )}\n </Styled.Button>\n </Styled.Heading>\n <Styled.Panel\n id={panelId}\n role='region'\n aria-labelledby={controlId}\n hidden={!panelVisible}\n onTransitionEnd={(evt) => {\n if (evt.propertyName === 'opacity' && !panelExpanded) {\n setPanelVisible(false)\n }\n }}\n >\n {loading ? (\n <Styled.Details {...sizeProps} sizes={embedded ? SIZES_DETAILS_EMBEDDED : SIZES_DETAILS}>\n <Skeleton as='span' borderRadius={4} width='100%' marginBottom='0.4em'>\n <Text {...subtitleProps} />\n </Skeleton>\n <Skeleton as='span' borderRadius={4} width='70%'>\n <Text {...subtitleProps} />\n </Skeleton>\n </Styled.Details>\n ) : isValidElement(panel) ? (\n panel\n ) : (\n <Styled.Details {...sizeProps} sizes={embedded ? SIZES_DETAILS_EMBEDDED : SIZES_DETAILS}>\n {children}\n </Styled.Details>\n )}\n </Styled.Panel>\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n)\n\nexport { AccordionItem }\n"],"names":["AccordionItem","withMergedProps","forwardRef","props","ref","size","defaultExpanded","headingAs","borderRadius","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","id","header","addon","content","title","subtitle","icon","panel","children","loading","disabled","expanded","embedded","onExpandedChange","restProps","useAccordionPanelProps","sizeProps","iconProps","preset","_jsx","ChevronDown","sizes","SIZES_ICON","titleProps","as","appearance","wordBreak","color","SIZES_TITLE","subtitleProps","SIZES_SUBTITLE","panelExpanded","setPanelExpanded","useAccordionPanel","panelVisible","setPanelVisible","useState","controlId","useMemo","nanoid","panelId","useLayoutEffect","_jsxs","Styled","onClick","type","Boolean","undefined","evt","stopPropagation","SIZES_HEADER_EMBEDDED","SIZES_HEADER","Skeleton","width","Text","isValidElement","_Fragment","up","Icon","role","hidden","onTransitionEnd","propertyName","SIZES_DETAILS_EMBEDDED","SIZES_DETAILS","marginBottom","displayName","SIZES"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sizes.js","sources":["../../../../src/components/AccordionItem/sizes.ts"],"sourcesContent":["import type { CSSProperties } from 'react'\nimport { focus } from 'mixins/focus'\nimport type { Size } from './types'\n\nexport const SIZES: Record<Size, CSSProperties> = {\n l: {\n width: '100%',\n minWidth: 'min-content',\n },\n m: {\n width: '100%',\n minWidth: 'min-content',\n },\n s: {\n width: '100%',\n minWidth: 'min-content',\n },\n xs: {\n width: '100%',\n minWidth: 'min-content',\n },\n}\n\nexport const SIZES_HEADER: Record<Size, CSSProperties> = {\n l: {\n paddingTop: 28,\n paddingRight: 28,\n paddingBottom: 28,\n paddingLeft: 28,\n },\n m: {\n paddingTop: 16,\n paddingRight: 16,\n paddingBottom: 16,\n paddingLeft: 16,\n },\n s: {\n paddingTop: 12,\n paddingRight: 12,\n paddingBottom: 12,\n paddingLeft: 12,\n },\n xs: {\n paddingTop: 6,\n paddingRight: 6,\n paddingBottom: 6,\n paddingLeft: 6,\n },\n}\n\nexport const SIZES_HEADER_EMBEDDED: Record<Size, CSSProperties> = {\n l: {\n ...SIZES_HEADER.l,\n paddingRight: 0,\n paddingLeft: 0,\n },\n m: {\n ...SIZES_HEADER.m,\n paddingRight: 0,\n paddingLeft: 0,\n },\n s: {\n ...SIZES_HEADER.s,\n paddingRight: 0,\n paddingLeft: 0,\n },\n xs: {\n ...SIZES_HEADER.xs,\n paddingRight: 0,\n paddingLeft: 0,\n },\n}\n\nexport const SIZES_DETAILS: Record<Size, CSSProperties> = {\n l: {\n paddingTop: focus.padding,\n paddingRight: 28 + focus.padding,\n paddingBottom: 28 + focus.padding,\n paddingLeft: 28 + focus.padding,\n },\n m: {\n paddingTop: focus.padding,\n paddingRight: 16 + focus.padding,\n paddingBottom: 16 + focus.padding,\n paddingLeft: 16 + focus.padding,\n },\n s: {\n paddingTop: focus.padding,\n paddingRight: 12 + focus.padding,\n paddingBottom: 12 + focus.padding,\n paddingLeft: 12 + focus.padding,\n },\n xs: {\n paddingTop: focus.padding,\n paddingRight: 6 + focus.padding,\n paddingBottom: 6 + focus.padding,\n paddingLeft: 6 + focus.padding,\n },\n}\n\nexport const SIZES_DETAILS_EMBEDDED: Record<Size, CSSProperties> = {\n l: {\n ...SIZES_DETAILS.l,\n paddingRight: focus.padding,\n paddingLeft: focus.padding,\n },\n m: {\n ...SIZES_DETAILS.m,\n paddingRight: focus.padding,\n paddingLeft: focus.padding,\n },\n s: {\n ...SIZES_DETAILS.s,\n paddingRight: focus.padding,\n paddingLeft: focus.padding,\n },\n xs: {\n ...SIZES_DETAILS.xs,\n paddingRight: focus.padding,\n paddingLeft: focus.padding,\n },\n}\n\nexport const SIZES_TITLE: Record<Size, CSSProperties> = {\n l: { fontSize: 24 },\n m: { fontSize: 20 },\n s: { fontSize: 16 },\n xs: { fontSize: 16 },\n}\n\nexport const SIZES_SUBTITLE: Record<Size, CSSProperties> = {\n l: { fontSize: 18 },\n m: { fontSize: 16 },\n s: { fontSize: 14 },\n xs: { fontSize: 14 },\n}\n\nexport const SIZES_ICON: Record<Size, CSSProperties> = {\n l: { fontSize: 32 },\n m: { fontSize: 24 },\n s: { fontSize: 20 },\n xs: { fontSize: 20 },\n}\n"],"names":["SIZES_HEADER","l","paddingTop","paddingRight","paddingBottom","paddingLeft","m","s","xs","SIZES_HEADER_EMBEDDED","SIZES_DETAILS","focus","padding","SIZES_DETAILS_EMBEDDED","width","minWidth","fontSize"],"mappings":"wDAuBO,MAAMA,aAA4C,CACvDC,EAAG,CACDC,WAAY,GACZC,aAAc,GACdC,cAAe,GACfC,YAAa,IAEfC,EAAG,CACDJ,WAAY,GACZC,aAAc,GACdC,cAAe,GACfC,YAAa,IAEfE,EAAG,CACDL,WAAY,GACZC,aAAc,GACdC,cAAe,GACfC,YAAa,IAEfG,GAAI,CACFN,WAAY,EACZC,aAAc,EACdC,cAAe,EACfC,YAAa,IAIV,MAAMI,sBAAqD,CAChER,EAAG,IACED,aAAaC,EAChBE,aAAc,EACdE,YAAa,GAEfC,EAAG,IACEN,aAAaM,EAChBH,aAAc,EACdE,YAAa,GAEfE,EAAG,IACEP,aAAaO,EAChBJ,aAAc,EACdE,YAAa,GAEfG,GAAI,IACCR,aAAaQ,GAChBL,aAAc,EACdE,YAAa,IAIV,MAAMK,cAA6C,CACxDT,EAAG,CACDC,WAAYS,MAAKA,MAACC,QAClBT,aAAc,GAAKQ,MAAAA,MAAMC,QACzBR,cAAe,GAAKO,MAAAA,MAAMC,QAC1BP,YAAa,GAAKM,MAAAA,MAAMC,SAE1BN,EAAG,CACDJ,WAAYS,MAAKA,MAACC,QAClBT,aAAc,GAAKQ,MAAAA,MAAMC,QACzBR,cAAe,GAAKO,MAAAA,MAAMC,QAC1BP,YAAa,GAAKM,MAAAA,MAAMC,SAE1BL,EAAG,CACDL,WAAYS,MAAKA,MAACC,QAClBT,aAAc,GAAKQ,MAAAA,MAAMC,QACzBR,cAAe,GAAKO,MAAAA,MAAMC,QAC1BP,YAAa,GAAKM,MAAAA,MAAMC,SAE1BJ,GAAI,CACFN,WAAYS,MAAKA,MAACC,QAClBT,aAAc,EAAIQ,MAAAA,MAAMC,QACxBR,cAAe,EAAIO,MAAAA,MAAMC,QACzBP,YAAa,EAAIM,MAAAA,MAAMC,UAIpB,MAAMC,uBAAsD,CACjEZ,EAAG,IACES,cAAcT,EACjBE,aAAcQ,MAAKA,MAACC,QACpBP,YAAaM,MAAKA,MAACC,SAErBN,EAAG,IACEI,cAAcJ,EACjBH,aAAcQ,MAAKA,MAACC,QACpBP,YAAaM,MAAKA,MAACC,SAErBL,EAAG,IACEG,cAAcH,EACjBJ,aAAcQ,MAAKA,MAACC,QACpBP,YAAaM,MAAKA,MAACC,SAErBJ,GAAI,IACCE,cAAcF,GACjBL,aAAcQ,MAAKA,MAACC,QACpBP,YAAaM,MAAKA,MAACC,wBAnH2B,CAChDX,EAAG,CACDa,MAAO,OACPC,SAAU,eAEZT,EAAG,CACDQ,MAAO,OACPC,SAAU,eAEZR,EAAG,CACDO,MAAO,OACPC,SAAU,eAEZP,GAAI,CACFM,MAAO,OACPC,SAAU,mNAsHyC,CACrDd,EAAG,CAAEe,SAAU,IACfV,EAAG,CAAEU,SAAU,IACfT,EAAG,CAAES,SAAU,IACfR,GAAI,CAAEQ,SAAU,4BAXyC,CACzDf,EAAG,CAAEe,SAAU,IACfV,EAAG,CAAEU,SAAU,IACfT,EAAG,CAAES,SAAU,IACfR,GAAI,CAAEQ,SAAU,yBAXsC,CACtDf,EAAG,CAAEe,SAAU,IACfV,EAAG,CAAEU,SAAU,IACfT,EAAG,CAAES,SAAU,IACfR,GAAI,CAAEQ,SAAU"}
1
+ {"version":3,"file":"sizes.js","sources":["../../../../src/components/AccordionItem/sizes.ts"],"sourcesContent":["import type { CSSProperties } from 'react'\nimport { focus } from 'mixins/focus'\nimport type { Size } from './types'\n\nexport const SIZES: Record<Size, CSSProperties> = {\n l: {\n width: '100%',\n minWidth: 'min-content',\n },\n m: {\n width: '100%',\n minWidth: 'min-content',\n },\n s: {\n width: '100%',\n minWidth: 'min-content',\n },\n xs: {\n width: '100%',\n minWidth: 'min-content',\n },\n}\n\nexport const SIZES_HEADER: Record<Size, CSSProperties> = {\n l: {\n paddingTop: 28,\n paddingRight: 28,\n paddingBottom: 28,\n paddingLeft: 28,\n },\n m: {\n paddingTop: 16,\n paddingRight: 16,\n paddingBottom: 16,\n paddingLeft: 16,\n },\n s: {\n paddingTop: 12,\n paddingRight: 12,\n paddingBottom: 12,\n paddingLeft: 12,\n },\n xs: {\n paddingTop: 6,\n paddingRight: 6,\n paddingBottom: 6,\n paddingLeft: 6,\n },\n}\n\nexport const SIZES_HEADER_EMBEDDED: Record<Size, CSSProperties> = {\n l: {\n ...SIZES_HEADER.l,\n paddingRight: 0,\n paddingLeft: 0,\n },\n m: {\n ...SIZES_HEADER.m,\n paddingRight: 0,\n paddingLeft: 0,\n },\n s: {\n ...SIZES_HEADER.s,\n paddingRight: 0,\n paddingLeft: 0,\n },\n xs: {\n ...SIZES_HEADER.xs,\n paddingRight: 0,\n paddingLeft: 0,\n },\n}\n\nexport const SIZES_DETAILS: Record<Size, CSSProperties> = {\n l: {\n paddingTop: focus.padding,\n paddingRight: 28 + focus.padding,\n paddingBottom: 28 + focus.padding,\n paddingLeft: 28 + focus.padding,\n },\n m: {\n paddingTop: focus.padding,\n paddingRight: 16 + focus.padding,\n paddingBottom: 16 + focus.padding,\n paddingLeft: 16 + focus.padding,\n },\n s: {\n paddingTop: focus.padding,\n paddingRight: 12 + focus.padding,\n paddingBottom: 12 + focus.padding,\n paddingLeft: 12 + focus.padding,\n },\n xs: {\n paddingTop: focus.padding,\n paddingRight: 6 + focus.padding,\n paddingBottom: 6 + focus.padding,\n paddingLeft: 6 + focus.padding,\n },\n}\n\nexport const SIZES_DETAILS_EMBEDDED: Record<Size, CSSProperties> = {\n l: {\n ...SIZES_DETAILS.l,\n paddingRight: focus.padding,\n paddingLeft: focus.padding,\n },\n m: {\n ...SIZES_DETAILS.m,\n paddingRight: focus.padding,\n paddingLeft: focus.padding,\n },\n s: {\n ...SIZES_DETAILS.s,\n paddingRight: focus.padding,\n paddingLeft: focus.padding,\n },\n xs: {\n ...SIZES_DETAILS.xs,\n paddingRight: focus.padding,\n paddingLeft: focus.padding,\n },\n}\n\nexport const SIZES_TITLE: Record<Size, CSSProperties> = {\n l: { fontSize: 24 },\n m: { fontSize: 20 },\n s: { fontSize: 16 },\n xs: { fontSize: 16 },\n}\n\nexport const SIZES_SUBTITLE: Record<Size, CSSProperties> = {\n l: { fontSize: 18 },\n m: { fontSize: 16 },\n s: { fontSize: 14 },\n xs: { fontSize: 14 },\n}\n\nexport const SIZES_ICON: Record<Size, CSSProperties> = {\n l: { fontSize: 32 },\n m: { fontSize: 24 },\n s: { fontSize: 20 },\n xs: { fontSize: 20 },\n}\n"],"names":["SIZES_HEADER","l","paddingTop","paddingRight","paddingBottom","paddingLeft","m","s","xs","SIZES_HEADER_EMBEDDED","SIZES_DETAILS","focus","padding","SIZES_DETAILS_EMBEDDED","width","minWidth","fontSize"],"mappings":"wDAuBO,MAAMA,aAA4C,CACvDC,EAAG,CACDC,WAAY,GACZC,aAAc,GACdC,cAAe,GACfC,YAAa,IAEfC,EAAG,CACDJ,WAAY,GACZC,aAAc,GACdC,cAAe,GACfC,YAAa,IAEfE,EAAG,CACDL,WAAY,GACZC,aAAc,GACdC,cAAe,GACfC,YAAa,IAEfG,GAAI,CACFN,WAAY,EACZC,aAAc,EACdC,cAAe,EACfC,YAAa,IAIV,MAAMI,sBAAqD,CAChER,EAAG,IACED,aAAaC,EAChBE,aAAc,EACdE,YAAa,GAEfC,EAAG,IACEN,aAAaM,EAChBH,aAAc,EACdE,YAAa,GAEfE,EAAG,IACEP,aAAaO,EAChBJ,aAAc,EACdE,YAAa,GAEfG,GAAI,IACCR,aAAaQ,GAChBL,aAAc,EACdE,YAAa,IAIV,MAAMK,cAA6C,CACxDT,EAAG,CACDC,WAAYS,MAAAA,MAAMC,QAClBT,aAAc,GAAKQ,MAAAA,MAAMC,QACzBR,cAAe,GAAKO,MAAAA,MAAMC,QAC1BP,YAAa,GAAKM,YAAMC,SAE1BN,EAAG,CACDJ,WAAYS,MAAAA,MAAMC,QAClBT,aAAc,GAAKQ,MAAAA,MAAMC,QACzBR,cAAe,GAAKO,MAAAA,MAAMC,QAC1BP,YAAa,GAAKM,YAAMC,SAE1BL,EAAG,CACDL,WAAYS,MAAAA,MAAMC,QAClBT,aAAc,GAAKQ,MAAAA,MAAMC,QACzBR,cAAe,GAAKO,MAAAA,MAAMC,QAC1BP,YAAa,GAAKM,YAAMC,SAE1BJ,GAAI,CACFN,WAAYS,MAAAA,MAAMC,QAClBT,aAAc,EAAIQ,MAAAA,MAAMC,QACxBR,cAAe,EAAIO,MAAAA,MAAMC,QACzBP,YAAa,EAAIM,YAAMC,UAIpB,MAAMC,uBAAsD,CACjEZ,EAAG,IACES,cAAcT,EACjBE,aAAcQ,MAAAA,MAAMC,QACpBP,YAAaM,MAAAA,MAAMC,SAErBN,EAAG,IACEI,cAAcJ,EACjBH,aAAcQ,MAAAA,MAAMC,QACpBP,YAAaM,MAAAA,MAAMC,SAErBL,EAAG,IACEG,cAAcH,EACjBJ,aAAcQ,MAAAA,MAAMC,QACpBP,YAAaM,MAAAA,MAAMC,SAErBJ,GAAI,IACCE,cAAcF,GACjBL,aAAcQ,MAAAA,MAAMC,QACpBP,YAAaM,MAAAA,MAAMC,wBAnH2B,CAChDX,EAAG,CACDa,MAAO,OACPC,SAAU,eAEZT,EAAG,CACDQ,MAAO,OACPC,SAAU,eAEZR,EAAG,CACDO,MAAO,OACPC,SAAU,eAEZP,GAAI,CACFM,MAAO,OACPC,SAAU,mNAsHyC,CACrDd,EAAG,CAAEe,SAAU,IACfV,EAAG,CAAEU,SAAU,IACfT,EAAG,CAAES,SAAU,IACfR,GAAI,CAAEQ,SAAU,4BAXyC,CACzDf,EAAG,CAAEe,SAAU,IACfV,EAAG,CAAEU,SAAU,IACfT,EAAG,CAAES,SAAU,IACfR,GAAI,CAAEQ,SAAU,yBAXsC,CACtDf,EAAG,CAAEe,SAAU,IACfV,EAAG,CAAEU,SAAU,IACfT,EAAG,CAAES,SAAU,IACfR,GAAI,CAAEQ,SAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","sources":["../../../../src/components/AccordionItem/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport { focus } from 'mixins/focus'\nimport type { ResponsiveSizeProps, ResponsiveSizeInterpolationProps } from 'shared/interfaces'\nimport { hover } from 'mixins/hover'\nimport type { Size, AccordionItemPalette, StyledAccordionItemProps } from './types'\n\nconst shouldForwardAccordionItemProp = createShouldForwardProp(\n (propKey) => !['expanded', 'disabled', 'loading', 'borderRadius'].includes(propKey)\n)\n\nconst shouldForwardAccordionItemCommonProp = createShouldForwardProp()\n\nexport const Heading = styled.h3`\n box-sizing: border-box;\n display: flex;\n margin: 0;\n padding: ${focus.padding}px;\n border-radius: inherit;\n font: inherit;\n transition-property: color;\n transition-duration: 150ms;\n transition-timing-function: ease-in;\n`\n\nconst template = (palette: AccordionItemPalette) => `\n background-color: ${palette.backgroundColor};\n\n & ${Heading} {\n color: ${palette.headerColor};\n background-color: ${palette.headerBackgroundColor};\n }\n ${hover(`color: ${palette.headerColorHover};`, `& ${Heading}:hover`)}\n`\n\nconst COLOR_SCHEMA = {\n primary: {\n default: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor: props.palette.headerColor ?? props.theme.colors['content-onmain-primary'],\n headerColorHover:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerBackgroundColor: props.palette.headerBackgroundColor ?? props.theme.colors.transparent,\n backgroundColor: props.palette.backgroundColor ?? props.theme.colors['bg-onmain-primary'],\n })}\n `,\n expanded: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerColorHover:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerBackgroundColor:\n props.palette.headerBackgroundColorExpanded ??\n props.palette.headerBackgroundColor ??\n props.theme.colors.transparent,\n backgroundColor:\n props.palette.backgroundColorExpanded ??\n props.palette.backgroundColor ??\n props.theme.colors['bg-onmain-primary'],\n })}\n `,\n disabled: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor: props.palette.headerColorDisabled ?? props.theme.colors['content-disabled'],\n headerColorHover: props.palette.headerColorDisabled ?? props.theme.colors['content-disabled'],\n headerBackgroundColor: props.palette.headerBackgroundColorDisabled ?? props.theme.colors.transparent,\n backgroundColor: props.palette.backgroundColorDisabled ?? props.theme.colors['bg-onmain-primary'],\n })}\n `,\n },\n secondary: {\n default: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor: props.palette.headerColor ?? props.theme.colors['content-onmain-primary'],\n headerColorHover:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerBackgroundColor: props.palette.headerBackgroundColor ?? props.theme.colors.transparent,\n backgroundColor: props.palette.backgroundColor ?? props.theme.colors['bg-onmain-secondary'],\n })}\n `,\n expanded: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerColorHover:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerBackgroundColor:\n props.palette.headerBackgroundColorExpanded ??\n props.palette.headerBackgroundColor ??\n props.theme.colors.transparent,\n backgroundColor:\n props.palette.backgroundColorExpanded ??\n props.palette.backgroundColor ??\n props.theme.colors['bg-onmain-secondary'],\n })}\n `,\n disabled: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor: props.palette.headerColorDisabled ?? props.theme.colors['content-disabled'],\n headerColorHover: props.palette.headerColorDisabled ?? props.theme.colors['content-disabled'],\n headerBackgroundColor: props.palette.headerBackgroundColorDisabled ?? props.theme.colors.transparent,\n backgroundColor: props.palette.backgroundColorDisabled ?? props.theme.colors['bg-onmain-secondary'],\n })}\n `,\n },\n transparent: {\n default: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor: props.palette.headerColor ?? props.theme.colors['content-onmain-primary'],\n headerColorHover:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerBackgroundColor: props.palette.headerBackgroundColor ?? props.theme.colors.transparent,\n backgroundColor: props.palette.backgroundColor ?? props.theme.colors.transparent,\n })}\n `,\n expanded: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerColorHover:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerBackgroundColor:\n props.palette.headerBackgroundColorExpanded ??\n props.palette.headerBackgroundColor ??\n props.theme.colors.transparent,\n backgroundColor:\n props.palette.backgroundColorExpanded ?? props.palette.backgroundColor ?? props.theme.colors.transparent,\n })}\n `,\n disabled: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor: props.palette.headerColorDisabled ?? props.theme.colors['content-disabled'],\n headerColorHover: props.palette.headerColorDisabled ?? props.theme.colors['content-disabled'],\n headerBackgroundColor: props.palette.headerBackgroundColorDisabled ?? props.theme.colors.transparent,\n backgroundColor: props.palette.backgroundColorDisabled ?? props.theme.colors.transparent,\n })}\n `,\n },\n}\n\nexport const Panel = styled.div`\n box-sizing: border-box;\n overflow: hidden;\n transition-property: opacity;\n`\n\nexport const Button = styled.button`\n box-sizing: border-box;\n display: flex;\n flex-grow: 1;\n appearance: none;\n border: none;\n margin: 0;\n padding: 0;\n color: inherit;\n background-color: transparent;\n font: inherit;\n cursor: inherit;\n text-align: left;\n\n ${focus}\n`\n\nexport const Root = styled.section.withConfig<StyledAccordionItemProps>({\n shouldForwardProp: shouldForwardAccordionItemProp,\n})`\n box-sizing: border-box;\n display: grid;\n transition-property: grid-template-rows;\n\n &,\n & > ${Panel} {\n transition-timing-function: cubic-bezier(0.42, 0, 0.75, 1);\n transition-duration: 250ms;\n }\n @media (prefers-reduced-motion: reduce) {\n transition-duration: 0ms;\n }\n\n ${(props) =>\n props.expanded\n ? `\n grid-template-rows: 0fr 1fr;\n & > ${Panel} {\n opacity: 1;\n }\n `\n : `\n grid-template-rows: 0fr 0fr;\n & > ${Panel} {\n opacity: 0;\n }\n `}\n\n ${(props) => `\n border-radius: ${props.borderRadius}px;\n \n & ${Button} {\n border-radius: ${props.borderRadius > focus.padding ? props.borderRadius - focus.padding : 0}px;\n }\n \n & ${Heading} {\n cursor: ${props.loading ? 'wait' : props.disabled ? 'not-allowed' : 'pointer'};\n }\n `}\n\n ${(props) => {\n let schema = COLOR_SCHEMA.transparent\n\n if (props.primary) {\n schema = COLOR_SCHEMA.primary\n }\n if (props.secondary) {\n schema = COLOR_SCHEMA.secondary\n }\n\n if (props.disabled) return schema.disabled\n if (props.expanded) return schema.expanded\n\n return schema.default\n }}\n\n ${responsiveSize}\n ${responsiveMargin}\n`\n\nexport const Header = styled.span.withConfig<ResponsiveSizeInterpolationProps<Size, Size, ResponsiveSizeProps<Size>>>({\n shouldForwardProp: shouldForwardAccordionItemCommonProp,\n})`\n box-sizing: border-box;\n display: flex;\n flex-grow: 1;\n\n & > *:not(:last-child) {\n margin-right: 8px;\n }\n\n ${responsiveSize}\n`\n\nexport const Content = styled.span`\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n align-self: center;\n flex-grow: 1;\n`\n\nexport const IconAnimation = styled.span.withConfig<{ up: boolean }>({\n shouldForwardProp: (propKey) => propKey !== 'up',\n})`\n box-sizing: border-box;\n display: flex;\n align-self: flex-start;\n flex-shrink: 0;\n transition-property: transform;\n transition-duration: 250ms;\n transform-origin: center;\n @media (prefers-reduced-motion: reduce) {\n transition-duration: 0ms;\n }\n ${(props) => `\n transform: rotate(${props.up ? 180 : 0}deg);\n `}\n`\n\nexport const Details = styled.div.withConfig<ResponsiveSizeInterpolationProps<Size, Size, ResponsiveSizeProps<Size>>>({\n shouldForwardProp: shouldForwardAccordionItemCommonProp,\n})`\n box-sizing: border-box;\n\n ${responsiveSize}\n`\n"],"names":["shouldForwardAccordionItemProp","createShouldForwardProp","propKey","includes","shouldForwardAccordionItemCommonProp","Heading","styled","h3","withConfig","displayName","componentId","focus","padding","template","palette","backgroundColor","headerColor","headerBackgroundColor","hover","headerColorHover","COLOR_SCHEMA","primary","default","css","props","theme","colors","headerColorExpanded","transparent","expanded","headerBackgroundColorExpanded","backgroundColorExpanded","disabled","headerColorDisabled","headerBackgroundColorDisabled","backgroundColorDisabled","secondary","Panel","div","Button","button","Root","section","shouldForwardProp","borderRadius","loading","schema","responsiveSize","responsiveMargin","Header","span","Content","IconAnimation","up","Details"],"mappings":"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"}
1
+ {"version":3,"file":"style.js","sources":["../../../../src/components/AccordionItem/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport { focus } from 'mixins/focus'\nimport type { ResponsiveSizeProps, ResponsiveSizeInterpolationProps } from 'shared/interfaces'\nimport { hover } from 'mixins/hover'\nimport type { Size, AccordionItemPalette, StyledAccordionItemProps } from './types'\n\nconst shouldForwardAccordionItemProp = createShouldForwardProp(\n (propKey) => !['expanded', 'disabled', 'loading', 'borderRadius'].includes(propKey)\n)\n\nconst shouldForwardAccordionItemCommonProp = createShouldForwardProp()\n\nexport const Heading = styled.h3`\n box-sizing: border-box;\n display: flex;\n margin: 0;\n padding: ${focus.padding}px;\n border-radius: inherit;\n font: inherit;\n transition-property: color;\n transition-duration: 150ms;\n transition-timing-function: ease-in;\n`\n\nconst template = (palette: AccordionItemPalette) => `\n background-color: ${palette.backgroundColor};\n\n & ${Heading} {\n color: ${palette.headerColor};\n background-color: ${palette.headerBackgroundColor};\n }\n ${hover(`color: ${palette.headerColorHover};`, `& ${Heading}:hover`)}\n`\n\nconst COLOR_SCHEMA = {\n primary: {\n default: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor: props.palette.headerColor ?? props.theme.colors['content-onmain-primary'],\n headerColorHover:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerBackgroundColor: props.palette.headerBackgroundColor ?? props.theme.colors.transparent,\n backgroundColor: props.palette.backgroundColor ?? props.theme.colors['bg-onmain-primary'],\n })}\n `,\n expanded: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerColorHover:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerBackgroundColor:\n props.palette.headerBackgroundColorExpanded ??\n props.palette.headerBackgroundColor ??\n props.theme.colors.transparent,\n backgroundColor:\n props.palette.backgroundColorExpanded ??\n props.palette.backgroundColor ??\n props.theme.colors['bg-onmain-primary'],\n })}\n `,\n disabled: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor: props.palette.headerColorDisabled ?? props.theme.colors['content-disabled'],\n headerColorHover: props.palette.headerColorDisabled ?? props.theme.colors['content-disabled'],\n headerBackgroundColor: props.palette.headerBackgroundColorDisabled ?? props.theme.colors.transparent,\n backgroundColor: props.palette.backgroundColorDisabled ?? props.theme.colors['bg-onmain-primary'],\n })}\n `,\n },\n secondary: {\n default: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor: props.palette.headerColor ?? props.theme.colors['content-onmain-primary'],\n headerColorHover:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerBackgroundColor: props.palette.headerBackgroundColor ?? props.theme.colors.transparent,\n backgroundColor: props.palette.backgroundColor ?? props.theme.colors['bg-onmain-secondary'],\n })}\n `,\n expanded: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerColorHover:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerBackgroundColor:\n props.palette.headerBackgroundColorExpanded ??\n props.palette.headerBackgroundColor ??\n props.theme.colors.transparent,\n backgroundColor:\n props.palette.backgroundColorExpanded ??\n props.palette.backgroundColor ??\n props.theme.colors['bg-onmain-secondary'],\n })}\n `,\n disabled: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor: props.palette.headerColorDisabled ?? props.theme.colors['content-disabled'],\n headerColorHover: props.palette.headerColorDisabled ?? props.theme.colors['content-disabled'],\n headerBackgroundColor: props.palette.headerBackgroundColorDisabled ?? props.theme.colors.transparent,\n backgroundColor: props.palette.backgroundColorDisabled ?? props.theme.colors['bg-onmain-secondary'],\n })}\n `,\n },\n transparent: {\n default: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor: props.palette.headerColor ?? props.theme.colors['content-onmain-primary'],\n headerColorHover:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerBackgroundColor: props.palette.headerBackgroundColor ?? props.theme.colors.transparent,\n backgroundColor: props.palette.backgroundColor ?? props.theme.colors.transparent,\n })}\n `,\n expanded: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerColorHover:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerBackgroundColor:\n props.palette.headerBackgroundColorExpanded ??\n props.palette.headerBackgroundColor ??\n props.theme.colors.transparent,\n backgroundColor:\n props.palette.backgroundColorExpanded ?? props.palette.backgroundColor ?? props.theme.colors.transparent,\n })}\n `,\n disabled: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor: props.palette.headerColorDisabled ?? props.theme.colors['content-disabled'],\n headerColorHover: props.palette.headerColorDisabled ?? props.theme.colors['content-disabled'],\n headerBackgroundColor: props.palette.headerBackgroundColorDisabled ?? props.theme.colors.transparent,\n backgroundColor: props.palette.backgroundColorDisabled ?? props.theme.colors.transparent,\n })}\n `,\n },\n}\n\nexport const Panel = styled.div`\n box-sizing: border-box;\n overflow: hidden;\n transition-property: opacity;\n`\n\nexport const Button = styled.button`\n box-sizing: border-box;\n display: flex;\n flex-grow: 1;\n appearance: none;\n border: none;\n margin: 0;\n padding: 0;\n color: inherit;\n background-color: transparent;\n font: inherit;\n cursor: inherit;\n text-align: left;\n\n ${focus}\n`\n\nexport const Root = styled.section.withConfig<StyledAccordionItemProps>({\n shouldForwardProp: shouldForwardAccordionItemProp,\n})`\n box-sizing: border-box;\n display: grid;\n transition-property: grid-template-rows;\n\n &,\n & > ${Panel} {\n transition-timing-function: cubic-bezier(0.42, 0, 0.75, 1);\n transition-duration: 250ms;\n }\n @media (prefers-reduced-motion: reduce) {\n transition-duration: 0ms;\n }\n\n ${(props) =>\n props.expanded\n ? `\n grid-template-rows: 0fr 1fr;\n & > ${Panel} {\n opacity: 1;\n }\n `\n : `\n grid-template-rows: 0fr 0fr;\n & > ${Panel} {\n opacity: 0;\n }\n `}\n\n ${(props) => `\n border-radius: ${props.borderRadius}px;\n \n & ${Button} {\n border-radius: ${props.borderRadius > focus.padding ? props.borderRadius - focus.padding : 0}px;\n }\n \n & ${Heading} {\n cursor: ${props.loading ? 'wait' : props.disabled ? 'not-allowed' : 'pointer'};\n }\n `}\n\n ${(props) => {\n let schema = COLOR_SCHEMA.transparent\n\n if (props.primary) {\n schema = COLOR_SCHEMA.primary\n }\n if (props.secondary) {\n schema = COLOR_SCHEMA.secondary\n }\n\n if (props.disabled) return schema.disabled\n if (props.expanded) return schema.expanded\n\n return schema.default\n }}\n\n ${responsiveSize}\n ${responsiveMargin}\n`\n\nexport const Header = styled.span.withConfig<ResponsiveSizeInterpolationProps<Size, Size, ResponsiveSizeProps<Size>>>({\n shouldForwardProp: shouldForwardAccordionItemCommonProp,\n})`\n box-sizing: border-box;\n display: flex;\n flex-grow: 1;\n\n & > *:not(:last-child) {\n margin-right: 8px;\n }\n\n ${responsiveSize}\n`\n\nexport const Content = styled.span`\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n align-self: center;\n flex-grow: 1;\n`\n\nexport const IconAnimation = styled.span.withConfig<{ up: boolean }>({\n shouldForwardProp: (propKey) => propKey !== 'up',\n})`\n box-sizing: border-box;\n display: flex;\n align-self: flex-start;\n flex-shrink: 0;\n transition-property: transform;\n transition-duration: 250ms;\n transform-origin: center;\n @media (prefers-reduced-motion: reduce) {\n transition-duration: 0ms;\n }\n ${(props) => `\n transform: rotate(${props.up ? 180 : 0}deg);\n `}\n`\n\nexport const Details = styled.div.withConfig<ResponsiveSizeInterpolationProps<Size, Size, ResponsiveSizeProps<Size>>>({\n shouldForwardProp: shouldForwardAccordionItemCommonProp,\n})`\n box-sizing: border-box;\n\n ${responsiveSize}\n`\n"],"names":["shouldForwardAccordionItemProp","createShouldForwardProp","propKey","includes","shouldForwardAccordionItemCommonProp","Heading","styled","h3","withConfig","displayName","componentId","focus","padding","template","palette","backgroundColor","headerColor","headerBackgroundColor","hover","headerColorHover","COLOR_SCHEMA","primary","default","css","props","theme","colors","headerColorExpanded","transparent","expanded","headerBackgroundColorExpanded","backgroundColorExpanded","disabled","headerColorDisabled","headerBackgroundColorDisabled","backgroundColorDisabled","secondary","Panel","div","Button","button","Root","section","shouldForwardProp","borderRadius","loading","schema","responsiveSize","responsiveMargin","Header","span","Content","IconAnimation","up","Details"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"style.mjs","sources":["../../../../src/components/AccordionItem/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport { focus } from 'mixins/focus'\nimport type { ResponsiveSizeProps, ResponsiveSizeInterpolationProps } from 'shared/interfaces'\nimport { hover } from 'mixins/hover'\nimport type { Size, AccordionItemPalette, StyledAccordionItemProps } from './types'\n\nconst shouldForwardAccordionItemProp = createShouldForwardProp(\n (propKey) => !['expanded', 'disabled', 'loading', 'borderRadius'].includes(propKey)\n)\n\nconst shouldForwardAccordionItemCommonProp = createShouldForwardProp()\n\nexport const Heading = styled.h3`\n box-sizing: border-box;\n display: flex;\n margin: 0;\n padding: ${focus.padding}px;\n border-radius: inherit;\n font: inherit;\n transition-property: color;\n transition-duration: 150ms;\n transition-timing-function: ease-in;\n`\n\nconst template = (palette: AccordionItemPalette) => `\n background-color: ${palette.backgroundColor};\n\n & ${Heading} {\n color: ${palette.headerColor};\n background-color: ${palette.headerBackgroundColor};\n }\n ${hover(`color: ${palette.headerColorHover};`, `& ${Heading}:hover`)}\n`\n\nconst COLOR_SCHEMA = {\n primary: {\n default: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor: props.palette.headerColor ?? props.theme.colors['content-onmain-primary'],\n headerColorHover:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerBackgroundColor: props.palette.headerBackgroundColor ?? props.theme.colors.transparent,\n backgroundColor: props.palette.backgroundColor ?? props.theme.colors['bg-onmain-primary'],\n })}\n `,\n expanded: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerColorHover:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerBackgroundColor:\n props.palette.headerBackgroundColorExpanded ??\n props.palette.headerBackgroundColor ??\n props.theme.colors.transparent,\n backgroundColor:\n props.palette.backgroundColorExpanded ??\n props.palette.backgroundColor ??\n props.theme.colors['bg-onmain-primary'],\n })}\n `,\n disabled: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor: props.palette.headerColorDisabled ?? props.theme.colors['content-disabled'],\n headerColorHover: props.palette.headerColorDisabled ?? props.theme.colors['content-disabled'],\n headerBackgroundColor: props.palette.headerBackgroundColorDisabled ?? props.theme.colors.transparent,\n backgroundColor: props.palette.backgroundColorDisabled ?? props.theme.colors['bg-onmain-primary'],\n })}\n `,\n },\n secondary: {\n default: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor: props.palette.headerColor ?? props.theme.colors['content-onmain-primary'],\n headerColorHover:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerBackgroundColor: props.palette.headerBackgroundColor ?? props.theme.colors.transparent,\n backgroundColor: props.palette.backgroundColor ?? props.theme.colors['bg-onmain-secondary'],\n })}\n `,\n expanded: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerColorHover:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerBackgroundColor:\n props.palette.headerBackgroundColorExpanded ??\n props.palette.headerBackgroundColor ??\n props.theme.colors.transparent,\n backgroundColor:\n props.palette.backgroundColorExpanded ??\n props.palette.backgroundColor ??\n props.theme.colors['bg-onmain-secondary'],\n })}\n `,\n disabled: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor: props.palette.headerColorDisabled ?? props.theme.colors['content-disabled'],\n headerColorHover: props.palette.headerColorDisabled ?? props.theme.colors['content-disabled'],\n headerBackgroundColor: props.palette.headerBackgroundColorDisabled ?? props.theme.colors.transparent,\n backgroundColor: props.palette.backgroundColorDisabled ?? props.theme.colors['bg-onmain-secondary'],\n })}\n `,\n },\n transparent: {\n default: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor: props.palette.headerColor ?? props.theme.colors['content-onmain-primary'],\n headerColorHover:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerBackgroundColor: props.palette.headerBackgroundColor ?? props.theme.colors.transparent,\n backgroundColor: props.palette.backgroundColor ?? props.theme.colors.transparent,\n })}\n `,\n expanded: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerColorHover:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerBackgroundColor:\n props.palette.headerBackgroundColorExpanded ??\n props.palette.headerBackgroundColor ??\n props.theme.colors.transparent,\n backgroundColor:\n props.palette.backgroundColorExpanded ?? props.palette.backgroundColor ?? props.theme.colors.transparent,\n })}\n `,\n disabled: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor: props.palette.headerColorDisabled ?? props.theme.colors['content-disabled'],\n headerColorHover: props.palette.headerColorDisabled ?? props.theme.colors['content-disabled'],\n headerBackgroundColor: props.palette.headerBackgroundColorDisabled ?? props.theme.colors.transparent,\n backgroundColor: props.palette.backgroundColorDisabled ?? props.theme.colors.transparent,\n })}\n `,\n },\n}\n\nexport const Panel = styled.div`\n box-sizing: border-box;\n overflow: hidden;\n transition-property: opacity;\n`\n\nexport const Button = styled.button`\n box-sizing: border-box;\n display: flex;\n flex-grow: 1;\n appearance: none;\n border: none;\n margin: 0;\n padding: 0;\n color: inherit;\n background-color: transparent;\n font: inherit;\n cursor: inherit;\n text-align: left;\n\n ${focus}\n`\n\nexport const Root = styled.section.withConfig<StyledAccordionItemProps>({\n shouldForwardProp: shouldForwardAccordionItemProp,\n})`\n box-sizing: border-box;\n display: grid;\n transition-property: grid-template-rows;\n\n &,\n & > ${Panel} {\n transition-timing-function: cubic-bezier(0.42, 0, 0.75, 1);\n transition-duration: 250ms;\n }\n @media (prefers-reduced-motion: reduce) {\n transition-duration: 0ms;\n }\n\n ${(props) =>\n props.expanded\n ? `\n grid-template-rows: 0fr 1fr;\n & > ${Panel} {\n opacity: 1;\n }\n `\n : `\n grid-template-rows: 0fr 0fr;\n & > ${Panel} {\n opacity: 0;\n }\n `}\n\n ${(props) => `\n border-radius: ${props.borderRadius}px;\n \n & ${Button} {\n border-radius: ${props.borderRadius > focus.padding ? props.borderRadius - focus.padding : 0}px;\n }\n \n & ${Heading} {\n cursor: ${props.loading ? 'wait' : props.disabled ? 'not-allowed' : 'pointer'};\n }\n `}\n\n ${(props) => {\n let schema = COLOR_SCHEMA.transparent\n\n if (props.primary) {\n schema = COLOR_SCHEMA.primary\n }\n if (props.secondary) {\n schema = COLOR_SCHEMA.secondary\n }\n\n if (props.disabled) return schema.disabled\n if (props.expanded) return schema.expanded\n\n return schema.default\n }}\n\n ${responsiveSize}\n ${responsiveMargin}\n`\n\nexport const Header = styled.span.withConfig<ResponsiveSizeInterpolationProps<Size, Size, ResponsiveSizeProps<Size>>>({\n shouldForwardProp: shouldForwardAccordionItemCommonProp,\n})`\n box-sizing: border-box;\n display: flex;\n flex-grow: 1;\n\n & > *:not(:last-child) {\n margin-right: 8px;\n }\n\n ${responsiveSize}\n`\n\nexport const Content = styled.span`\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n align-self: center;\n flex-grow: 1;\n`\n\nexport const IconAnimation = styled.span.withConfig<{ up: boolean }>({\n shouldForwardProp: (propKey) => propKey !== 'up',\n})`\n box-sizing: border-box;\n display: flex;\n align-self: flex-start;\n flex-shrink: 0;\n transition-property: transform;\n transition-duration: 250ms;\n transform-origin: center;\n @media (prefers-reduced-motion: reduce) {\n transition-duration: 0ms;\n }\n ${(props) => `\n transform: rotate(${props.up ? 180 : 0}deg);\n `}\n`\n\nexport const Details = styled.div.withConfig<ResponsiveSizeInterpolationProps<Size, Size, ResponsiveSizeProps<Size>>>({\n shouldForwardProp: shouldForwardAccordionItemCommonProp,\n})`\n box-sizing: border-box;\n\n ${responsiveSize}\n`\n"],"names":["shouldForwardAccordionItemProp","createShouldForwardProp","propKey","includes","shouldForwardAccordionItemCommonProp","Heading","styled","h3","withConfig","displayName","componentId","focus","padding","template","palette","backgroundColor","headerColor","headerBackgroundColor","hover","headerColorHover","COLOR_SCHEMA","primary","default","css","props","theme","colors","headerColorExpanded","transparent","expanded","headerBackgroundColorExpanded","backgroundColorExpanded","disabled","headerColorDisabled","headerBackgroundColorDisabled","backgroundColorDisabled","secondary","Panel","div","Button","button","Root","section","shouldForwardProp","borderRadius","loading","schema","responsiveSize","responsiveMargin","Header","span","Content","IconAnimation","up","Details"],"mappings":"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"}
1
+ {"version":3,"file":"style.mjs","sources":["../../../../src/components/AccordionItem/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport { focus } from 'mixins/focus'\nimport type { ResponsiveSizeProps, ResponsiveSizeInterpolationProps } from 'shared/interfaces'\nimport { hover } from 'mixins/hover'\nimport type { Size, AccordionItemPalette, StyledAccordionItemProps } from './types'\n\nconst shouldForwardAccordionItemProp = createShouldForwardProp(\n (propKey) => !['expanded', 'disabled', 'loading', 'borderRadius'].includes(propKey)\n)\n\nconst shouldForwardAccordionItemCommonProp = createShouldForwardProp()\n\nexport const Heading = styled.h3`\n box-sizing: border-box;\n display: flex;\n margin: 0;\n padding: ${focus.padding}px;\n border-radius: inherit;\n font: inherit;\n transition-property: color;\n transition-duration: 150ms;\n transition-timing-function: ease-in;\n`\n\nconst template = (palette: AccordionItemPalette) => `\n background-color: ${palette.backgroundColor};\n\n & ${Heading} {\n color: ${palette.headerColor};\n background-color: ${palette.headerBackgroundColor};\n }\n ${hover(`color: ${palette.headerColorHover};`, `& ${Heading}:hover`)}\n`\n\nconst COLOR_SCHEMA = {\n primary: {\n default: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor: props.palette.headerColor ?? props.theme.colors['content-onmain-primary'],\n headerColorHover:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerBackgroundColor: props.palette.headerBackgroundColor ?? props.theme.colors.transparent,\n backgroundColor: props.palette.backgroundColor ?? props.theme.colors['bg-onmain-primary'],\n })}\n `,\n expanded: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerColorHover:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerBackgroundColor:\n props.palette.headerBackgroundColorExpanded ??\n props.palette.headerBackgroundColor ??\n props.theme.colors.transparent,\n backgroundColor:\n props.palette.backgroundColorExpanded ??\n props.palette.backgroundColor ??\n props.theme.colors['bg-onmain-primary'],\n })}\n `,\n disabled: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor: props.palette.headerColorDisabled ?? props.theme.colors['content-disabled'],\n headerColorHover: props.palette.headerColorDisabled ?? props.theme.colors['content-disabled'],\n headerBackgroundColor: props.palette.headerBackgroundColorDisabled ?? props.theme.colors.transparent,\n backgroundColor: props.palette.backgroundColorDisabled ?? props.theme.colors['bg-onmain-primary'],\n })}\n `,\n },\n secondary: {\n default: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor: props.palette.headerColor ?? props.theme.colors['content-onmain-primary'],\n headerColorHover:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerBackgroundColor: props.palette.headerBackgroundColor ?? props.theme.colors.transparent,\n backgroundColor: props.palette.backgroundColor ?? props.theme.colors['bg-onmain-secondary'],\n })}\n `,\n expanded: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerColorHover:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerBackgroundColor:\n props.palette.headerBackgroundColorExpanded ??\n props.palette.headerBackgroundColor ??\n props.theme.colors.transparent,\n backgroundColor:\n props.palette.backgroundColorExpanded ??\n props.palette.backgroundColor ??\n props.theme.colors['bg-onmain-secondary'],\n })}\n `,\n disabled: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor: props.palette.headerColorDisabled ?? props.theme.colors['content-disabled'],\n headerColorHover: props.palette.headerColorDisabled ?? props.theme.colors['content-disabled'],\n headerBackgroundColor: props.palette.headerBackgroundColorDisabled ?? props.theme.colors.transparent,\n backgroundColor: props.palette.backgroundColorDisabled ?? props.theme.colors['bg-onmain-secondary'],\n })}\n `,\n },\n transparent: {\n default: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor: props.palette.headerColor ?? props.theme.colors['content-onmain-primary'],\n headerColorHover:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerBackgroundColor: props.palette.headerBackgroundColor ?? props.theme.colors.transparent,\n backgroundColor: props.palette.backgroundColor ?? props.theme.colors.transparent,\n })}\n `,\n expanded: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerColorHover:\n props.palette.headerColorExpanded ??\n props.palette.headerColor ??\n props.theme.colors['content-brand-primary'],\n headerBackgroundColor:\n props.palette.headerBackgroundColorExpanded ??\n props.palette.headerBackgroundColor ??\n props.theme.colors.transparent,\n backgroundColor:\n props.palette.backgroundColorExpanded ?? props.palette.backgroundColor ?? props.theme.colors.transparent,\n })}\n `,\n disabled: css<StyledAccordionItemProps>`\n ${(props) =>\n template({\n headerColor: props.palette.headerColorDisabled ?? props.theme.colors['content-disabled'],\n headerColorHover: props.palette.headerColorDisabled ?? props.theme.colors['content-disabled'],\n headerBackgroundColor: props.palette.headerBackgroundColorDisabled ?? props.theme.colors.transparent,\n backgroundColor: props.palette.backgroundColorDisabled ?? props.theme.colors.transparent,\n })}\n `,\n },\n}\n\nexport const Panel = styled.div`\n box-sizing: border-box;\n overflow: hidden;\n transition-property: opacity;\n`\n\nexport const Button = styled.button`\n box-sizing: border-box;\n display: flex;\n flex-grow: 1;\n appearance: none;\n border: none;\n margin: 0;\n padding: 0;\n color: inherit;\n background-color: transparent;\n font: inherit;\n cursor: inherit;\n text-align: left;\n\n ${focus}\n`\n\nexport const Root = styled.section.withConfig<StyledAccordionItemProps>({\n shouldForwardProp: shouldForwardAccordionItemProp,\n})`\n box-sizing: border-box;\n display: grid;\n transition-property: grid-template-rows;\n\n &,\n & > ${Panel} {\n transition-timing-function: cubic-bezier(0.42, 0, 0.75, 1);\n transition-duration: 250ms;\n }\n @media (prefers-reduced-motion: reduce) {\n transition-duration: 0ms;\n }\n\n ${(props) =>\n props.expanded\n ? `\n grid-template-rows: 0fr 1fr;\n & > ${Panel} {\n opacity: 1;\n }\n `\n : `\n grid-template-rows: 0fr 0fr;\n & > ${Panel} {\n opacity: 0;\n }\n `}\n\n ${(props) => `\n border-radius: ${props.borderRadius}px;\n \n & ${Button} {\n border-radius: ${props.borderRadius > focus.padding ? props.borderRadius - focus.padding : 0}px;\n }\n \n & ${Heading} {\n cursor: ${props.loading ? 'wait' : props.disabled ? 'not-allowed' : 'pointer'};\n }\n `}\n\n ${(props) => {\n let schema = COLOR_SCHEMA.transparent\n\n if (props.primary) {\n schema = COLOR_SCHEMA.primary\n }\n if (props.secondary) {\n schema = COLOR_SCHEMA.secondary\n }\n\n if (props.disabled) return schema.disabled\n if (props.expanded) return schema.expanded\n\n return schema.default\n }}\n\n ${responsiveSize}\n ${responsiveMargin}\n`\n\nexport const Header = styled.span.withConfig<ResponsiveSizeInterpolationProps<Size, Size, ResponsiveSizeProps<Size>>>({\n shouldForwardProp: shouldForwardAccordionItemCommonProp,\n})`\n box-sizing: border-box;\n display: flex;\n flex-grow: 1;\n\n & > *:not(:last-child) {\n margin-right: 8px;\n }\n\n ${responsiveSize}\n`\n\nexport const Content = styled.span`\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n align-self: center;\n flex-grow: 1;\n`\n\nexport const IconAnimation = styled.span.withConfig<{ up: boolean }>({\n shouldForwardProp: (propKey) => propKey !== 'up',\n})`\n box-sizing: border-box;\n display: flex;\n align-self: flex-start;\n flex-shrink: 0;\n transition-property: transform;\n transition-duration: 250ms;\n transform-origin: center;\n @media (prefers-reduced-motion: reduce) {\n transition-duration: 0ms;\n }\n ${(props) => `\n transform: rotate(${props.up ? 180 : 0}deg);\n `}\n`\n\nexport const Details = styled.div.withConfig<ResponsiveSizeInterpolationProps<Size, Size, ResponsiveSizeProps<Size>>>({\n shouldForwardProp: shouldForwardAccordionItemCommonProp,\n})`\n box-sizing: border-box;\n\n ${responsiveSize}\n`\n"],"names":["shouldForwardAccordionItemProp","createShouldForwardProp","propKey","includes","shouldForwardAccordionItemCommonProp","Heading","styled","h3","withConfig","displayName","componentId","focus","padding","template","palette","backgroundColor","headerColor","headerBackgroundColor","hover","headerColorHover","COLOR_SCHEMA","primary","default","css","props","theme","colors","headerColorExpanded","transparent","expanded","headerBackgroundColorExpanded","backgroundColorExpanded","disabled","headerColorDisabled","headerBackgroundColorDisabled","backgroundColorDisabled","secondary","Panel","div","Button","button","Root","section","shouldForwardProp","borderRadius","loading","schema","responsiveSize","responsiveMargin","Header","span","Content","IconAnimation","up","Details"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAccordionPanel.js","sources":["../../../../src/components/AccordionItem/useAccordionPanel.ts"],"sourcesContent":["import { useContext, useState, useLayoutEffect } from 'react'\nimport { AccordionPanelsContext } from 'shared/context/accordion'\nimport type { AccordionItemProps } from './types'\n\nexport const useAccordionPanel = ({\n defaultExpanded = false,\n id,\n expanded,\n onExpandedChange,\n}: Pick<AccordionItemProps, 'id' | 'expanded' | 'defaultExpanded' | 'onExpandedChange'>): {\n panelExpanded: boolean\n setPanelExpanded: (update: boolean) => void\n} => {\n const context = useContext(AccordionPanelsContext)\n\n const [panelExpandedLocal, setPanelExpandedLocal] = useState<boolean>(expanded ?? defaultExpanded)\n\n const contextEnabled = context !== null && typeof id === 'string'\n\n useLayoutEffect(() => {\n if (!contextEnabled && expanded !== undefined) {\n setPanelExpandedLocal(expanded)\n }\n }, [contextEnabled, expanded])\n\n return {\n panelExpanded: contextEnabled ? context.expandedPanels.includes(id) : panelExpandedLocal,\n setPanelExpanded: (update) => {\n if (contextEnabled) {\n context.updatePanels(id, update)\n } else {\n if (expanded === undefined) setPanelExpandedLocal(update)\n if (onExpandedChange) onExpandedChange(update)\n }\n },\n }\n}\n"],"names":["useAccordionPanel","defaultExpanded","id","expanded","onExpandedChange","context","useContext","AccordionPanelsContext","panelExpandedLocal","setPanelExpandedLocal","useState","contextEnabled","useLayoutEffect","undefined","panelExpanded","expandedPanels","includes","setPanelExpanded","update","updatePanels"],"mappings":"6HAIiCA,EAC/BC,mBAAkB,EAClBC,KACAC,WACAC,uBAKA,MAAMC,EAAUC,iBAAWC,UAAAA,wBAE3B,MAAOC,EAAoBC,GAAyBC,MAAAA,SAAkBP,GAAYF,GAElF,MAAMU,EAAiBN,IAAY,aAAeH,GAAO,SAQzD,OANAU,MAAAA,iBAAgB,KACTD,GAAkBR,SAAaU,GAClCJ,EAAsBN,EACxB,GACC,CAACQ,EAAgBR,IAEb,CACLW,cAAeH,EAAiBN,EAAQU,eAAeC,SAASd,GAAMM,EACtES,iBAAmBC,IACbP,EACFN,EAAQc,aAAajB,EAAIgB,IAErBf,SAAaU,GAAWJ,EAAsBS,GAC9Cd,GAAkBA,EAAiBc,GACzC,EAEH"}
1
+ {"version":3,"file":"useAccordionPanel.js","sources":["../../../../src/components/AccordionItem/useAccordionPanel.ts"],"sourcesContent":["import { useContext, useState, useLayoutEffect } from 'react'\nimport { AccordionPanelsContext } from 'shared/context/accordion'\nimport type { AccordionItemProps } from './types'\n\nexport const useAccordionPanel = ({\n defaultExpanded = false,\n id,\n expanded,\n onExpandedChange,\n}: Pick<AccordionItemProps, 'id' | 'expanded' | 'defaultExpanded' | 'onExpandedChange'>): {\n panelExpanded: boolean\n setPanelExpanded: (update: boolean) => void\n} => {\n const context = useContext(AccordionPanelsContext)\n\n const [panelExpandedLocal, setPanelExpandedLocal] = useState<boolean>(expanded ?? defaultExpanded)\n\n const contextEnabled = context !== null && typeof id === 'string'\n\n useLayoutEffect(() => {\n if (!contextEnabled && expanded !== undefined) {\n setPanelExpandedLocal(expanded)\n }\n }, [contextEnabled, expanded])\n\n return {\n panelExpanded: contextEnabled ? context.expandedPanels.includes(id) : panelExpandedLocal,\n setPanelExpanded: (update) => {\n if (contextEnabled) {\n context.updatePanels(id, update)\n } else {\n if (expanded === undefined) setPanelExpandedLocal(update)\n if (onExpandedChange) onExpandedChange(update)\n }\n },\n }\n}\n"],"names":["useAccordionPanel","defaultExpanded","id","expanded","onExpandedChange","context","useContext","AccordionPanelsContext","panelExpandedLocal","setPanelExpandedLocal","useState","contextEnabled","useLayoutEffect","undefined","panelExpanded","expandedPanels","includes","setPanelExpanded","update","updatePanels"],"mappings":"6HAIiCA,EAC/BC,mBAAkB,EAClBC,KACAC,WACAC,uBAKA,MAAMC,EAAUC,MAAAA,WAAWC,kCAE3B,MAAOC,EAAoBC,GAAyBC,MAAAA,SAAkBP,GAAYF,GAElF,MAAMU,EAAiBN,IAAY,aAAeH,GAAO,SAQzD,OANAU,MAAAA,iBAAgB,KACTD,GAAkBR,SAAaU,GAClCJ,EAAsBN,EACxB,GACC,CAACQ,EAAgBR,IAEb,CACLW,cAAeH,EAAiBN,EAAQU,eAAeC,SAASd,GAAMM,EACtES,iBAAmBC,IACbP,EACFN,EAAQc,aAAajB,EAAIgB,IAErBf,SAAaU,GAAWJ,EAAsBS,GAC9Cd,GAAkBA,EAAiBc,GACzC,EAEH"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAccordionPanelProps.js","sources":["../../../../src/components/AccordionItem/useAccordionPanelProps.ts"],"sourcesContent":["import { useContext } from 'react'\nimport { AccordionPropsContext } from 'shared/context/accordion'\nimport { deepmerge } from 'shared/utils/misc'\n\nexport const useAccordionPanelProps = <T>(props: T): T => {\n const contextProps = useContext(AccordionPropsContext)\n\n return (contextProps ? deepmerge(contextProps, props) : props) as T\n}\n"],"names":["props","contextProps","useContext","AccordionPropsContext","deepmerge"],"mappings":"iLAI0CA,IACxC,MAAMC,EAAeC,iBAAWC,UAAAA,uBAEhC,OAAQF,EAAeG,KAASA,UAACH,EAAcD,GAASA,CAAK"}
1
+ {"version":3,"file":"useAccordionPanelProps.js","sources":["../../../../src/components/AccordionItem/useAccordionPanelProps.ts"],"sourcesContent":["import { useContext } from 'react'\nimport { AccordionPropsContext } from 'shared/context/accordion'\nimport { deepmerge } from 'shared/utils/misc'\n\nexport const useAccordionPanelProps = <T>(props: T): T => {\n const contextProps = useContext(AccordionPropsContext)\n\n return (contextProps ? deepmerge(contextProps, props) : props) as T\n}\n"],"names":["props","contextProps","useContext","AccordionPropsContext","deepmerge"],"mappings":"iLAI0CA,IACxC,MAAMC,EAAeC,MAAAA,WAAWC,iCAEhC,OAAQF,EAAeG,KAAAA,UAAUH,EAAcD,GAASA,CAAK"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAccordionPanelProps.mjs","sources":["../../../../src/components/AccordionItem/useAccordionPanelProps.ts"],"sourcesContent":["import { useContext } from 'react'\nimport { AccordionPropsContext } from 'shared/context/accordion'\nimport { deepmerge } from 'shared/utils/misc'\n\nexport const useAccordionPanelProps = <T>(props: T): T => {\n const contextProps = useContext(AccordionPropsContext)\n\n return (contextProps ? deepmerge(contextProps, props) : props) as T\n}\n"],"names":["useAccordionPanelProps","props","contextProps","useContext","AccordionPropsContext","deepmerge"],"mappings":"uJAIaA,MAAAA,uBAA6BC,IACxC,MAAMC,EAAeC,WAAWC,uBAEhC,OAAQF,EAAeG,UAAUH,EAAcD,GAASA,CAAK"}
1
+ {"version":3,"file":"useAccordionPanelProps.mjs","sources":["../../../../src/components/AccordionItem/useAccordionPanelProps.ts"],"sourcesContent":["import { useContext } from 'react'\nimport { AccordionPropsContext } from 'shared/context/accordion'\nimport { deepmerge } from 'shared/utils/misc'\n\nexport const useAccordionPanelProps = <T>(props: T): T => {\n const contextProps = useContext(AccordionPropsContext)\n\n return (contextProps ? deepmerge(contextProps, props) : props) as T\n}\n"],"names":["useAccordionPanelProps","props","contextProps","useContext","AccordionPropsContext","deepmerge"],"mappings":"uJAIO,MAAMA,uBAA6BC,IACxC,MAAMC,EAAeC,WAAWC,uBAEhC,OAAQF,EAAeG,UAAUH,EAAcD,GAASA,CAAK"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBtn.js","sources":["../../../../src/components/ActionBtn/ActionBtn.tsx"],"sourcesContent":["import type { DisplayProperty } from 'mixins/display'\nimport { useClassname } from 'hooks/useClassname'\nimport type { BaseProps } from 'shared/interfaces'\nimport { Icon } from 'components/Icon'\nimport type { IconName } from 'components/Icon'\nimport * as Styled from './style'\n\nexport interface ActionBtnProps extends BaseProps, DisplayProperty {\n /** Icon name (for inner Icon component) */\n icon?: IconName\n disabled?: boolean\n active?: boolean\n onClick?(): void\n /**\n * Children react node\n */\n children?: React.ReactNode\n}\n\nfunction ActionBtn({ icon, disabled = false, onClick, children, className, active, style }: ActionBtnProps) {\n const _className = useClassname(ActionBtn.displayName, className)\n\n return (\n <Styled.Root className={_className} style={style} disabled={disabled} active={active} onClick={onClick}>\n {icon ? <Icon size={16} name={icon} /> : null}\n {children}\n </Styled.Root>\n )\n}\n\nActionBtn.displayName = 'ActionBtn'\n\nexport { ActionBtn }\n"],"names":["ActionBtn","icon","disabled","onClick","children","className","active","style","_className","useClassname","displayName","_jsxs","Styled","_jsx","jsx","Icon","size","name"],"mappings":"qLAmBA,SAASA,WAAUC,KAAEA,EAAIC,SAAEA,GAAW,EAAKC,QAAEA,EAAOC,SAAEA,EAAQC,UAAEA,EAASC,OAAEA,EAAQC,MAAAA,IACjF,MAAMC,EAAaC,aAAYA,aAACT,UAAUU,YAAaL,GAEvD,OACEM,WAAAA,KAACC,MAAAA,KAAW,CAACP,UAAWG,EAAYD,MAAOA,EAAOL,SAAUA,EAAUI,OAAQA,EAAQH,QAASA,EAAQC,SACpGH,CAAAA,EAAOY,WAAAC,IAACC,UAAI,CAACC,KAAM,GAAIC,KAAMhB,IAAW,KACxCG,IAGP,CAEAJ,UAAUU,YAAc"}
1
+ {"version":3,"file":"ActionBtn.js","sources":["../../../../src/components/ActionBtn/ActionBtn.tsx"],"sourcesContent":["import type { DisplayProperty } from 'mixins/display'\nimport { useClassname } from 'hooks/useClassname'\nimport type { BaseProps } from 'shared/interfaces'\nimport { Icon } from 'components/Icon'\nimport type { IconName } from 'components/Icon'\nimport * as Styled from './style'\n\nexport interface ActionBtnProps extends BaseProps, DisplayProperty {\n /** Icon name (for inner Icon component) */\n icon?: IconName\n disabled?: boolean\n active?: boolean\n onClick?(): void\n /**\n * Children react node\n */\n children?: React.ReactNode\n}\n\nfunction ActionBtn({ icon, disabled = false, onClick, children, className, active, style }: ActionBtnProps) {\n const _className = useClassname(ActionBtn.displayName, className)\n\n return (\n <Styled.Root className={_className} style={style} disabled={disabled} active={active} onClick={onClick}>\n {icon ? <Icon size={16} name={icon} /> : null}\n {children}\n </Styled.Root>\n )\n}\n\nActionBtn.displayName = 'ActionBtn'\n\nexport { ActionBtn }\n"],"names":["ActionBtn","icon","disabled","onClick","children","className","active","style","_className","useClassname","displayName","_jsxs","Styled","_jsx","Icon","size","name"],"mappings":"qLAmBA,SAASA,WAAUC,KAAEA,EAAIC,SAAEA,GAAW,EAAKC,QAAEA,EAAOC,SAAEA,EAAQC,UAAEA,EAASC,OAAEA,EAAQC,MAAAA,IACjF,MAAMC,EAAaC,aAAAA,aAAaT,UAAUU,YAAaL,GAEvD,OACEM,WAAAA,KAACC,MAAAA,KAAW,CAACP,UAAWG,EAAYD,MAAOA,EAAOL,SAAUA,EAAUI,OAAQA,EAAQH,QAASA,EAAQC,SAAA,CACpGH,EAAOY,WAAAA,IAACC,UAAI,CAACC,KAAM,GAAIC,KAAMf,IAAW,KACxCG,IAGP,CAEAJ,UAAUU,YAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBtn.mjs","sources":["../../../../src/components/ActionBtn/ActionBtn.tsx"],"sourcesContent":["import type { DisplayProperty } from 'mixins/display'\nimport { useClassname } from 'hooks/useClassname'\nimport type { BaseProps } from 'shared/interfaces'\nimport { Icon } from 'components/Icon'\nimport type { IconName } from 'components/Icon'\nimport * as Styled from './style'\n\nexport interface ActionBtnProps extends BaseProps, DisplayProperty {\n /** Icon name (for inner Icon component) */\n icon?: IconName\n disabled?: boolean\n active?: boolean\n onClick?(): void\n /**\n * Children react node\n */\n children?: React.ReactNode\n}\n\nfunction ActionBtn({ icon, disabled = false, onClick, children, className, active, style }: ActionBtnProps) {\n const _className = useClassname(ActionBtn.displayName, className)\n\n return (\n <Styled.Root className={_className} style={style} disabled={disabled} active={active} onClick={onClick}>\n {icon ? <Icon size={16} name={icon} /> : null}\n {children}\n </Styled.Root>\n )\n}\n\nActionBtn.displayName = 'ActionBtn'\n\nexport { ActionBtn }\n"],"names":["ActionBtn","icon","disabled","onClick","children","className","active","style","_className","useClassname","displayName","_jsxs","Styled","_jsx","Icon","size","name"],"mappings":"gKAmBA,SAASA,WAAUC,KAAEA,EAAIC,SAAEA,GAAW,EAAKC,QAAEA,EAAOC,SAAEA,EAAQC,UAAEA,EAASC,OAAEA,EAAMC,MAAEA,IACjF,MAAMC,EAAaC,aAAaT,UAAUU,YAAaL,GAEvD,OACEM,KAACC,KAAW,CAACP,UAAWG,EAAYD,MAAOA,EAAOL,SAAUA,EAAUI,OAAQA,EAAQH,QAASA,EAAQC,SACpGH,CAAAA,EAAOY,IAACC,KAAI,CAACC,KAAM,GAAIC,KAAMf,IAAW,KACxCG,IAGP,CAEAJ,UAAUU,YAAc"}
1
+ {"version":3,"file":"ActionBtn.mjs","sources":["../../../../src/components/ActionBtn/ActionBtn.tsx"],"sourcesContent":["import type { DisplayProperty } from 'mixins/display'\nimport { useClassname } from 'hooks/useClassname'\nimport type { BaseProps } from 'shared/interfaces'\nimport { Icon } from 'components/Icon'\nimport type { IconName } from 'components/Icon'\nimport * as Styled from './style'\n\nexport interface ActionBtnProps extends BaseProps, DisplayProperty {\n /** Icon name (for inner Icon component) */\n icon?: IconName\n disabled?: boolean\n active?: boolean\n onClick?(): void\n /**\n * Children react node\n */\n children?: React.ReactNode\n}\n\nfunction ActionBtn({ icon, disabled = false, onClick, children, className, active, style }: ActionBtnProps) {\n const _className = useClassname(ActionBtn.displayName, className)\n\n return (\n <Styled.Root className={_className} style={style} disabled={disabled} active={active} onClick={onClick}>\n {icon ? <Icon size={16} name={icon} /> : null}\n {children}\n </Styled.Root>\n )\n}\n\nActionBtn.displayName = 'ActionBtn'\n\nexport { ActionBtn }\n"],"names":["ActionBtn","icon","disabled","onClick","children","className","active","style","_className","useClassname","displayName","_jsxs","Styled","_jsx","Icon","size","name"],"mappings":"gKAmBA,SAASA,WAAUC,KAAEA,EAAIC,SAAEA,GAAW,EAAKC,QAAEA,EAAOC,SAAEA,EAAQC,UAAEA,EAASC,OAAEA,EAAMC,MAAEA,IACjF,MAAMC,EAAaC,aAAaT,UAAUU,YAAaL,GAEvD,OACEM,KAACC,KAAW,CAACP,UAAWG,EAAYD,MAAOA,EAAOL,SAAUA,EAAUI,OAAQA,EAAQH,QAASA,EAAQC,SAAA,CACpGH,EAAOY,IAACC,KAAI,CAACC,KAAM,GAAIC,KAAMf,IAAW,KACxCG,IAGP,CAEAJ,UAAUU,YAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","sources":["../../../../src/components/ActionBtn/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { display } from 'mixins/display'\nimport { hover } from 'mixins/hover'\nimport type { ActionBtnProps } from './ActionBtn'\n\nconst active = css`\n background: ${(props) => props.theme.colors.onahau};\n color: ${(props) => props.theme.colors.accent};\n`\n\nconst notDisabled = css`\n ${(props) => hover(`background: ${props.theme.colors.mercury}`)}\n &:active {\n ${active}\n }\n`\n\nconst disabled = css`\n cursor: default;\n opacity: 0.6;\n`\n\nexport const Root = styled.div<ActionBtnProps>`\n padding: 4px;\n background: transparent;\n color: ${(props) => props.theme.colors.silver};\n transition:\n background 0.4s ease-out,\n color 0.6s ease-out;\n line-height: 0;\n cursor: pointer;\n border-radius: 5px;\n & + & {\n margin-left: 16px;\n }\n ${(props) => (props.disabled ? disabled : notDisabled)}\n ${(props) => (props.active ? active : null)}\n ${(props) =>\n props.display\n ? display(props.display)\n : css`\n display: inline-block;\n `}\n`\n"],"names":["active","css","props","theme","colors","onahau","accent","notDisabled","hover","mercury","disabled","Root","styled","div","withConfig","displayName","componentId","silver","display"],"mappings":"4PAKA,MAAMA,OAASC,OAAGA,IAAA,CAAA,cAAA,UAAA,MACDC,GAAUA,EAAMC,MAAMC,OAAOC,SAClCH,GAAUA,EAAMC,MAAMC,OAAOE,SAGzC,MAAMC,YAAcN,OAAGA,IAAA,CAAA,GAAA,aAAA,MAClBC,GAAUM,MAAKA,MAAC,eAAeN,EAAMC,MAAMC,OAAOK,YAEjDT,QAIN,MAAMU,SAAWT,OAAGA,IAGnB,CAAA,sCAEYU,KAAOC,gBAAAA,QAAOC,IAAGC,WAAA,CAAAC,YAAA,kBAAAC,YAAA,oBAAVJ,CAGRV,CAAAA,4CAAAA,mIAAAA,IAAAA,IAAAA,KAAAA,GAAUA,EAAMC,MAAMC,OAAOa,SAUpCf,GAAWA,EAAMQ,SAAWA,SAAWH,cACvCL,GAAWA,EAAMF,OAASA,OAAS,OACnCE,GACDA,EAAMgB,QACFA,QAAAA,QAAQhB,EAAMgB,SACdjB,OAAGA,IAAA,CAAA"}
1
+ {"version":3,"file":"style.js","sources":["../../../../src/components/ActionBtn/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { display } from 'mixins/display'\nimport { hover } from 'mixins/hover'\nimport type { ActionBtnProps } from './ActionBtn'\n\nconst active = css`\n background: ${(props) => props.theme.colors.onahau};\n color: ${(props) => props.theme.colors.accent};\n`\n\nconst notDisabled = css`\n ${(props) => hover(`background: ${props.theme.colors.mercury}`)}\n &:active {\n ${active}\n }\n`\n\nconst disabled = css`\n cursor: default;\n opacity: 0.6;\n`\n\nexport const Root = styled.div<ActionBtnProps>`\n padding: 4px;\n background: transparent;\n color: ${(props) => props.theme.colors.silver};\n transition:\n background 0.4s ease-out,\n color 0.6s ease-out;\n line-height: 0;\n cursor: pointer;\n border-radius: 5px;\n & + & {\n margin-left: 16px;\n }\n ${(props) => (props.disabled ? disabled : notDisabled)}\n ${(props) => (props.active ? active : null)}\n ${(props) =>\n props.display\n ? display(props.display)\n : css`\n display: inline-block;\n `}\n`\n"],"names":["active","css","props","theme","colors","onahau","accent","notDisabled","hover","mercury","disabled","Root","styled","div","withConfig","displayName","componentId","silver","display"],"mappings":"4PAKA,MAAMA,OAASC,OAAAA,IAAG,CAAA,cAAA,UAAA,MACDC,GAAUA,EAAMC,MAAMC,OAAOC,SAClCH,GAAUA,EAAMC,MAAMC,OAAOE,SAGzC,MAAMC,YAAcN,OAAAA,IAAG,CAAA,GAAA,aAAA,MAClBC,GAAUM,MAAAA,MAAM,eAAeN,EAAMC,MAAMC,OAAOK,YAEjDT,QAIN,MAAMU,SAAWT,OAAAA,IAAG,CAAA,sCAKPU,KAAOC,gBAAAA,QAAOC,IAAGC,WAAA,CAAAC,YAAA,kBAAAC,YAAA,oBAAVJ,CAAU,CAAA,4CAAA,mIAAA,IAAA,IAAA,KAGlBV,GAAUA,EAAMC,MAAMC,OAAOa,SAUpCf,GAAWA,EAAMQ,SAAWA,SAAWH,cACvCL,GAAWA,EAAMF,OAASA,OAAS,OACnCE,GACDA,EAAMgB,QACFA,QAAAA,QAAQhB,EAAMgB,SACdjB,OAAAA,IAAG,CAAA"}