ecars-web-lib 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (363) hide show
  1. package/README.md +50 -0
  2. package/dist/PaginationComponent-BM_GD3t6.cjs +2 -0
  3. package/dist/PaginationComponent-BM_GD3t6.cjs.map +1 -0
  4. package/dist/PaginationComponent-_iwGlFdM.js +65 -0
  5. package/dist/PaginationComponent-_iwGlFdM.js.map +1 -0
  6. package/dist/SelectComponent-CGBwJBns.cjs +2 -0
  7. package/dist/SelectComponent-CGBwJBns.cjs.map +1 -0
  8. package/dist/SelectComponent-DJi5yeVI.js +98 -0
  9. package/dist/SelectComponent-DJi5yeVI.js.map +1 -0
  10. package/dist/_commonjsHelpers-DKOUU3wS.cjs +2 -0
  11. package/dist/_commonjsHelpers-DKOUU3wS.cjs.map +1 -0
  12. package/dist/_commonjsHelpers-DaMA6jEr.js +9 -0
  13. package/dist/_commonjsHelpers-DaMA6jEr.js.map +1 -0
  14. package/dist/assets/index.css +1 -0
  15. package/dist/chunk-KNED5TY2-9zjBD6gF.js +1659 -0
  16. package/dist/chunk-KNED5TY2-9zjBD6gF.js.map +1 -0
  17. package/dist/chunk-KNED5TY2-BcFuRn3Q.cjs +13 -0
  18. package/dist/chunk-KNED5TY2-BcFuRn3Q.cjs.map +1 -0
  19. package/dist/components/Accordion/AccordionComponent.d.ts +9 -0
  20. package/dist/components/Accordion/AccordionComponent.js +6 -0
  21. package/dist/components/Accordion/AccordionComponent.js.map +1 -0
  22. package/dist/components/Accordion/AccordionComponent.test.d.ts +1 -0
  23. package/dist/components/Accordion/AccordionComponent.test.js +32 -0
  24. package/dist/components/Accordion/AccordionComponent.test.js.map +1 -0
  25. package/dist/components/Accordion/components/AccordionArrow.d.ts +2 -0
  26. package/dist/components/Accordion/components/AccordionArrow.js +7 -0
  27. package/dist/components/Accordion/components/AccordionArrow.js.map +1 -0
  28. package/dist/components/Accordion/components/AccordionBlock.d.ts +6 -0
  29. package/dist/components/Accordion/components/AccordionBlock.js +6 -0
  30. package/dist/components/Accordion/components/AccordionBlock.js.map +1 -0
  31. package/dist/components/Accordion/components/AccordionButton.d.ts +6 -0
  32. package/dist/components/Accordion/components/AccordionButton.js +14 -0
  33. package/dist/components/Accordion/components/AccordionButton.js.map +1 -0
  34. package/dist/components/Accordion/components/AccordionContent.d.ts +6 -0
  35. package/dist/components/Accordion/components/AccordionContent.js +24 -0
  36. package/dist/components/Accordion/components/AccordionContent.js.map +1 -0
  37. package/dist/components/Accordion/components/AccordionLayout.d.ts +7 -0
  38. package/dist/components/Accordion/components/AccordionLayout.js +17 -0
  39. package/dist/components/Accordion/components/AccordionLayout.js.map +1 -0
  40. package/dist/components/Accordion/components/AccordionTitle.d.ts +5 -0
  41. package/dist/components/Accordion/components/AccordionTitle.js +6 -0
  42. package/dist/components/Accordion/components/AccordionTitle.js.map +1 -0
  43. package/dist/components/Accordion/constants.d.ts +1 -0
  44. package/dist/components/Accordion/constants.js +5 -0
  45. package/dist/components/Accordion/constants.js.map +1 -0
  46. package/dist/components/Accordion/index.d.ts +8 -0
  47. package/dist/components/Accordion/index.js +10 -0
  48. package/dist/components/Accordion/index.js.map +1 -0
  49. package/dist/components/Button/Button.d.ts +14 -0
  50. package/dist/components/Button/Button.js +34 -0
  51. package/dist/components/Button/Button.js.map +1 -0
  52. package/dist/components/Button/Button.test.d.ts +1 -0
  53. package/dist/components/Button/Button.test.js +101 -0
  54. package/dist/components/Button/Button.test.js.map +1 -0
  55. package/dist/components/Button/constants.d.ts +15 -0
  56. package/dist/components/Button/constants.js +15 -0
  57. package/dist/components/Button/constants.js.map +1 -0
  58. package/dist/components/ButtonWithIcon/ButtonWithIcon.d.ts +13 -0
  59. package/dist/components/ButtonWithIcon/ButtonWithIcon.js +37 -0
  60. package/dist/components/ButtonWithIcon/ButtonWithIcon.js.map +1 -0
  61. package/dist/components/ButtonWithIcon/ButtonWithIcon.test.d.ts +1 -0
  62. package/dist/components/ButtonWithIcon/ButtonWithIcon.test.js +55 -0
  63. package/dist/components/ButtonWithIcon/ButtonWithIcon.test.js.map +1 -0
  64. package/dist/components/ButtonWithIcon/constants.d.ts +2 -0
  65. package/dist/components/ButtonWithIcon/constants.js +6 -0
  66. package/dist/components/ButtonWithIcon/constants.js.map +1 -0
  67. package/dist/components/Category/Category.d.ts +8 -0
  68. package/dist/components/Category/Category.js +18 -0
  69. package/dist/components/Category/Category.js.map +1 -0
  70. package/dist/components/Category/Category.test.d.ts +1 -0
  71. package/dist/components/Category/Category.test.js +14 -0
  72. package/dist/components/Category/Category.test.js.map +1 -0
  73. package/dist/components/Category/constants.d.ts +7 -0
  74. package/dist/components/Category/constants.js +10 -0
  75. package/dist/components/Category/constants.js.map +1 -0
  76. package/dist/components/Checkbox/CheckboxComponent.d.ts +3 -0
  77. package/dist/components/Checkbox/CheckboxComponent.js +6 -0
  78. package/dist/components/Checkbox/CheckboxComponent.js.map +1 -0
  79. package/dist/components/Checkbox/CheckboxComponent.test.d.ts +1 -0
  80. package/dist/components/Checkbox/CheckboxComponent.test.js +31 -0
  81. package/dist/components/Checkbox/CheckboxComponent.test.js.map +1 -0
  82. package/dist/components/Checkbox/components/CheckboxBlock.d.ts +7 -0
  83. package/dist/components/Checkbox/components/CheckboxBlock.js +19 -0
  84. package/dist/components/Checkbox/components/CheckboxBlock.js.map +1 -0
  85. package/dist/components/Checkbox/components/CheckboxIndicator.d.ts +2 -0
  86. package/dist/components/Checkbox/components/CheckboxIndicator.js +7 -0
  87. package/dist/components/Checkbox/components/CheckboxIndicator.js.map +1 -0
  88. package/dist/components/Checkbox/components/CheckboxInput.d.ts +3 -0
  89. package/dist/components/Checkbox/components/CheckboxInput.js +34 -0
  90. package/dist/components/Checkbox/components/CheckboxInput.js.map +1 -0
  91. package/dist/components/Checkbox/constants.d.ts +11 -0
  92. package/dist/components/Checkbox/constants.js +6 -0
  93. package/dist/components/Checkbox/constants.js.map +1 -0
  94. package/dist/components/Checkbox/index.d.ts +5 -0
  95. package/dist/components/Checkbox/index.js +8 -0
  96. package/dist/components/Checkbox/index.js.map +1 -0
  97. package/dist/components/Dropdown/Dropdown.test.d.ts +1 -0
  98. package/dist/components/Dropdown/Dropdown.test.js +57 -0
  99. package/dist/components/Dropdown/Dropdown.test.js.map +1 -0
  100. package/dist/components/Dropdown/DropdownComponent.d.ts +9 -0
  101. package/dist/components/Dropdown/DropdownComponent.js +9 -0
  102. package/dist/components/Dropdown/DropdownComponent.js.map +1 -0
  103. package/dist/components/Dropdown/components/DropdownBlock.d.ts +5 -0
  104. package/dist/components/Dropdown/components/DropdownBlock.js +6 -0
  105. package/dist/components/Dropdown/components/DropdownBlock.js.map +1 -0
  106. package/dist/components/Dropdown/components/DropdownCategory.d.ts +7 -0
  107. package/dist/components/Dropdown/components/DropdownCategory.js +18 -0
  108. package/dist/components/Dropdown/components/DropdownCategory.js.map +1 -0
  109. package/dist/components/Dropdown/components/DropdownList.d.ts +3 -0
  110. package/dist/components/Dropdown/components/DropdownList.js +6 -0
  111. package/dist/components/Dropdown/components/DropdownList.js.map +1 -0
  112. package/dist/components/Dropdown/components/DropdownOption.d.ts +8 -0
  113. package/dist/components/Dropdown/components/DropdownOption.js +22 -0
  114. package/dist/components/Dropdown/components/DropdownOption.js.map +1 -0
  115. package/dist/components/Dropdown/constants.d.ts +11 -0
  116. package/dist/components/Dropdown/constants.js +5 -0
  117. package/dist/components/Dropdown/constants.js.map +1 -0
  118. package/dist/components/Dropdown/index.d.ts +6 -0
  119. package/dist/components/Dropdown/index.js +8 -0
  120. package/dist/components/Dropdown/index.js.map +1 -0
  121. package/dist/components/FavButton/FavButton.d.ts +11 -0
  122. package/dist/components/FavButton/FavButton.js +30 -0
  123. package/dist/components/FavButton/FavButton.js.map +1 -0
  124. package/dist/components/FavButton/FavButton.test.d.ts +1 -0
  125. package/dist/components/FavButton/FavButton.test.js +81 -0
  126. package/dist/components/FavButton/FavButton.test.js.map +1 -0
  127. package/dist/components/FavButton/constants.d.ts +6 -0
  128. package/dist/components/FavButton/constants.js +9 -0
  129. package/dist/components/FavButton/constants.js.map +1 -0
  130. package/dist/components/Field/FieldComponent.d.ts +9 -0
  131. package/dist/components/Field/FieldComponent.js +9 -0
  132. package/dist/components/Field/FieldComponent.js.map +1 -0
  133. package/dist/components/Field/FieldComponent.test.d.ts +1 -0
  134. package/dist/components/Field/FieldComponent.test.js +31 -0
  135. package/dist/components/Field/FieldComponent.test.js.map +1 -0
  136. package/dist/components/Field/components/FieldError.d.ts +5 -0
  137. package/dist/components/Field/components/FieldError.js +6 -0
  138. package/dist/components/Field/components/FieldError.js.map +1 -0
  139. package/dist/components/Field/components/FieldLabel.d.ts +6 -0
  140. package/dist/components/Field/components/FieldLabel.js +15 -0
  141. package/dist/components/Field/components/FieldLabel.js.map +1 -0
  142. package/dist/components/Field/constants.d.ts +2 -0
  143. package/dist/components/Field/constants.js +6 -0
  144. package/dist/components/Field/constants.js.map +1 -0
  145. package/dist/components/Field/index.d.ts +4 -0
  146. package/dist/components/Field/index.js +7 -0
  147. package/dist/components/Field/index.js.map +1 -0
  148. package/dist/components/FilterAccordion/FilterAccordionComponent.d.ts +9 -0
  149. package/dist/components/FilterAccordion/FilterAccordionComponent.js +7 -0
  150. package/dist/components/FilterAccordion/FilterAccordionComponent.js.map +1 -0
  151. package/dist/components/FilterAccordion/FilterAccordionComponent.test.d.ts +1 -0
  152. package/dist/components/FilterAccordion/FilterAccordionComponent.test.js +34 -0
  153. package/dist/components/FilterAccordion/FilterAccordionComponent.test.js.map +1 -0
  154. package/dist/components/FilterAccordion/components/FilterAccordionArrow.d.ts +5 -0
  155. package/dist/components/FilterAccordion/components/FilterAccordionArrow.js +14 -0
  156. package/dist/components/FilterAccordion/components/FilterAccordionArrow.js.map +1 -0
  157. package/dist/components/FilterAccordion/components/FilterAccordionBlock.d.ts +5 -0
  158. package/dist/components/FilterAccordion/components/FilterAccordionBlock.js +6 -0
  159. package/dist/components/FilterAccordion/components/FilterAccordionBlock.js.map +1 -0
  160. package/dist/components/FilterAccordion/components/FilterAccordionContent.d.ts +6 -0
  161. package/dist/components/FilterAccordion/components/FilterAccordionContent.js +18 -0
  162. package/dist/components/FilterAccordion/components/FilterAccordionContent.js.map +1 -0
  163. package/dist/components/FilterAccordion/components/FilterAccordionLayout.d.ts +7 -0
  164. package/dist/components/FilterAccordion/components/FilterAccordionLayout.js +17 -0
  165. package/dist/components/FilterAccordion/components/FilterAccordionLayout.js.map +1 -0
  166. package/dist/components/FilterAccordion/components/FilterAccordionReset.d.ts +3 -0
  167. package/dist/components/FilterAccordion/components/FilterAccordionReset.js +16 -0
  168. package/dist/components/FilterAccordion/components/FilterAccordionReset.js.map +1 -0
  169. package/dist/components/FilterAccordion/constants.d.ts +3 -0
  170. package/dist/components/FilterAccordion/constants.js +9 -0
  171. package/dist/components/FilterAccordion/constants.js.map +1 -0
  172. package/dist/components/FilterAccordion/index.d.ts +7 -0
  173. package/dist/components/FilterAccordion/index.js +10 -0
  174. package/dist/components/FilterAccordion/index.js.map +1 -0
  175. package/dist/components/FilterButton/FilterButton.d.ts +8 -0
  176. package/dist/components/FilterButton/FilterButton.js +20 -0
  177. package/dist/components/FilterButton/FilterButton.js.map +1 -0
  178. package/dist/components/FilterButton/FilterButton.test.d.ts +1 -0
  179. package/dist/components/FilterButton/FilterButton.test.js +18 -0
  180. package/dist/components/FilterButton/FilterButton.test.js.map +1 -0
  181. package/dist/components/Gallery/Gallery.d.ts +8 -0
  182. package/dist/components/Gallery/Gallery.js +1094 -0
  183. package/dist/components/Gallery/Gallery.js.map +1 -0
  184. package/dist/components/Gallery/Gallery.test.d.ts +0 -0
  185. package/dist/components/Gallery/Gallery.test.js +25 -0
  186. package/dist/components/Gallery/Gallery.test.js.map +1 -0
  187. package/dist/components/Gallery/constants.d.ts +1 -0
  188. package/dist/components/Gallery/constants.js +5 -0
  189. package/dist/components/Gallery/constants.js.map +1 -0
  190. package/dist/components/Input/Input.d.ts +15 -0
  191. package/dist/components/Input/Input.js +43 -0
  192. package/dist/components/Input/Input.js.map +1 -0
  193. package/dist/components/Input/Input.test.d.ts +1 -0
  194. package/dist/components/Input/Input.test.js +46 -0
  195. package/dist/components/Input/Input.test.js.map +1 -0
  196. package/dist/components/Input/constants.d.ts +1 -0
  197. package/dist/components/Input/constants.js +5 -0
  198. package/dist/components/Input/constants.js.map +1 -0
  199. package/dist/components/LinkWithIcon/LinkWithIcon.d.ts +9 -0
  200. package/dist/components/LinkWithIcon/LinkWithIcon.js +19 -0
  201. package/dist/components/LinkWithIcon/LinkWithIcon.js.map +1 -0
  202. package/dist/components/LinkWithIcon/LinkWithIcon.test.d.ts +1 -0
  203. package/dist/components/LinkWithIcon/LinkWithIcon.test.js +55 -0
  204. package/dist/components/LinkWithIcon/LinkWithIcon.test.js.map +1 -0
  205. package/dist/components/LinkWithIcon/constants.d.ts +2 -0
  206. package/dist/components/LinkWithIcon/constants.js +6 -0
  207. package/dist/components/LinkWithIcon/constants.js.map +1 -0
  208. package/dist/components/NavLink/NavLink.d.ts +8 -0
  209. package/dist/components/NavLink/NavLink.js +20 -0
  210. package/dist/components/NavLink/NavLink.js.map +1 -0
  211. package/dist/components/NavLink/NavLink.test.d.ts +1 -0
  212. package/dist/components/NavLink/NavLink.test.js +30 -0
  213. package/dist/components/NavLink/NavLink.test.js.map +1 -0
  214. package/dist/components/NavLink/constants.d.ts +1 -0
  215. package/dist/components/NavLink/constants.js +5 -0
  216. package/dist/components/NavLink/constants.js.map +1 -0
  217. package/dist/components/Pagination/Pagination.test.d.ts +1 -0
  218. package/dist/components/Pagination/Pagination.test.js +79 -0
  219. package/dist/components/Pagination/Pagination.test.js.map +1 -0
  220. package/dist/components/Pagination/PaginationComponent.d.ts +6 -0
  221. package/dist/components/Pagination/PaginationComponent.js +8 -0
  222. package/dist/components/Pagination/PaginationComponent.js.map +1 -0
  223. package/dist/components/Pagination/components/PaginationArrow.d.ts +8 -0
  224. package/dist/components/Pagination/components/PaginationArrow.js +29 -0
  225. package/dist/components/Pagination/components/PaginationArrow.js.map +1 -0
  226. package/dist/components/Pagination/components/PaginationBody.d.ts +3 -0
  227. package/dist/components/Pagination/components/PaginationBody.js +6 -0
  228. package/dist/components/Pagination/components/PaginationBody.js.map +1 -0
  229. package/dist/components/Pagination/components/PaginationPage.d.ts +8 -0
  230. package/dist/components/Pagination/components/PaginationPage.js +17 -0
  231. package/dist/components/Pagination/components/PaginationPage.js.map +1 -0
  232. package/dist/components/Pagination/constants.d.ts +16 -0
  233. package/dist/components/Pagination/constants.js +11 -0
  234. package/dist/components/Pagination/constants.js.map +1 -0
  235. package/dist/components/Pagination/index.d.ts +5 -0
  236. package/dist/components/Pagination/index.js +7 -0
  237. package/dist/components/Pagination/index.js.map +1 -0
  238. package/dist/components/RangeSlider/RangeSlider.d.ts +7 -0
  239. package/dist/components/RangeSlider/RangeSlider.js +1072 -0
  240. package/dist/components/RangeSlider/RangeSlider.js.map +1 -0
  241. package/dist/components/RangeSlider/RangeSlider.test.d.ts +1 -0
  242. package/dist/components/RangeSlider/RangeSlider.test.js +15 -0
  243. package/dist/components/RangeSlider/RangeSlider.test.js.map +1 -0
  244. package/dist/components/RouterLink/RouterLink.d.ts +11 -0
  245. package/dist/components/RouterLink/RouterLink.js +32 -0
  246. package/dist/components/RouterLink/RouterLink.js.map +1 -0
  247. package/dist/components/RouterLink/RouterLink.test.d.ts +1 -0
  248. package/dist/components/RouterLink/RouterLink.test.js +68 -0
  249. package/dist/components/RouterLink/RouterLink.test.js.map +1 -0
  250. package/dist/components/RouterLink/constants.d.ts +8 -0
  251. package/dist/components/RouterLink/constants.js +11 -0
  252. package/dist/components/RouterLink/constants.js.map +1 -0
  253. package/dist/components/Select/Select.test.d.ts +1 -0
  254. package/dist/components/Select/Select.test.js +100 -0
  255. package/dist/components/Select/Select.test.js.map +1 -0
  256. package/dist/components/Select/SelectComponent.d.ts +13 -0
  257. package/dist/components/Select/SelectComponent.js +7 -0
  258. package/dist/components/Select/SelectComponent.js.map +1 -0
  259. package/dist/components/Select/components/SelectArrow.d.ts +2 -0
  260. package/dist/components/Select/components/SelectArrow.js +7 -0
  261. package/dist/components/Select/components/SelectArrow.js.map +1 -0
  262. package/dist/components/Select/components/SelectBlock.d.ts +6 -0
  263. package/dist/components/Select/components/SelectBlock.js +13 -0
  264. package/dist/components/Select/components/SelectBlock.js.map +1 -0
  265. package/dist/components/Select/components/SelectInput.d.ts +6 -0
  266. package/dist/components/Select/components/SelectInput.js +15 -0
  267. package/dist/components/Select/components/SelectInput.js.map +1 -0
  268. package/dist/components/Select/components/SelectList.d.ts +7 -0
  269. package/dist/components/Select/components/SelectList.js +6 -0
  270. package/dist/components/Select/components/SelectList.js.map +1 -0
  271. package/dist/components/Select/components/SelectOption.d.ts +7 -0
  272. package/dist/components/Select/components/SelectOption.js +16 -0
  273. package/dist/components/Select/components/SelectOption.js.map +1 -0
  274. package/dist/components/Select/components/SelectWrapper.d.ts +9 -0
  275. package/dist/components/Select/components/SelectWrapper.js +23 -0
  276. package/dist/components/Select/components/SelectWrapper.js.map +1 -0
  277. package/dist/components/Select/constants.d.ts +2 -0
  278. package/dist/components/Select/constants.js +8 -0
  279. package/dist/components/Select/constants.js.map +1 -0
  280. package/dist/components/Select/index.d.ts +8 -0
  281. package/dist/components/Select/index.js +10 -0
  282. package/dist/components/Select/index.js.map +1 -0
  283. package/dist/components/Slider/SliderComponent.d.ts +16 -0
  284. package/dist/components/Slider/SliderComponent.js +7 -0
  285. package/dist/components/Slider/SliderComponent.js.map +1 -0
  286. package/dist/components/Slider/constants.d.ts +4 -0
  287. package/dist/components/Slider/constants.js +2803 -0
  288. package/dist/components/Slider/constants.js.map +1 -0
  289. package/dist/components/SliderNavigate/SliderNavigate.d.ts +2 -0
  290. package/dist/components/SliderNavigate/SliderNavigate.js +21 -0
  291. package/dist/components/SliderNavigate/SliderNavigate.js.map +1 -0
  292. package/dist/components/SliderNavigate/SliderNavigate.test.d.ts +1 -0
  293. package/dist/components/SliderNavigate/SliderNavigate.test.js +24 -0
  294. package/dist/components/SliderNavigate/SliderNavigate.test.js.map +1 -0
  295. package/dist/components/SliderNavigate/components/NavigateButton.d.ts +7 -0
  296. package/dist/components/SliderNavigate/components/NavigateButton.js +19 -0
  297. package/dist/components/SliderNavigate/components/NavigateButton.js.map +1 -0
  298. package/dist/components/SliderNavigate/constants.d.ts +7 -0
  299. package/dist/components/SliderNavigate/constants.js +10 -0
  300. package/dist/components/SliderNavigate/constants.js.map +1 -0
  301. package/dist/iconBase-C4boY5mo.cjs +2 -0
  302. package/dist/iconBase-C4boY5mo.cjs.map +1 -0
  303. package/dist/iconBase-DSKTHwal.js +113 -0
  304. package/dist/iconBase-DSKTHwal.js.map +1 -0
  305. package/dist/index-6k1-qYX7.cjs +2 -0
  306. package/dist/index-6k1-qYX7.cjs.map +1 -0
  307. package/dist/index-BHJQkg-z.js +39 -0
  308. package/dist/index-BHJQkg-z.js.map +1 -0
  309. package/dist/index-BeUY6TnM.js +68 -0
  310. package/dist/index-BeUY6TnM.js.map +1 -0
  311. package/dist/index-C55-7-85.cjs +2 -0
  312. package/dist/index-C55-7-85.cjs.map +1 -0
  313. package/dist/index-C9UV8B4g.cjs +2 -0
  314. package/dist/index-C9UV8B4g.cjs.map +1 -0
  315. package/dist/index-CGl3Xo_k.js +19135 -0
  316. package/dist/index-CGl3Xo_k.js.map +1 -0
  317. package/dist/index-D9bMq-6v.cjs +2 -0
  318. package/dist/index-D9bMq-6v.cjs.map +1 -0
  319. package/dist/index-DgPeknFG.cjs +2 -0
  320. package/dist/index-DgPeknFG.cjs.map +1 -0
  321. package/dist/index-DpGIQZJ3.js +35 -0
  322. package/dist/index-DpGIQZJ3.js.map +1 -0
  323. package/dist/index-DtO1atyA.js +30 -0
  324. package/dist/index-DtO1atyA.js.map +1 -0
  325. package/dist/index-YTr4A0AR.js +25 -0
  326. package/dist/index-YTr4A0AR.js.map +1 -0
  327. package/dist/index-vOj_CXk2.cjs +175 -0
  328. package/dist/index-vOj_CXk2.cjs.map +1 -0
  329. package/dist/index.d.ts +1 -0
  330. package/dist/index.js +5 -0
  331. package/dist/index.js.map +1 -0
  332. package/dist/react.esm-C2dSWZxI.cjs +91 -0
  333. package/dist/react.esm-C2dSWZxI.cjs.map +1 -0
  334. package/dist/react.esm-DeOc63_l.js +11455 -0
  335. package/dist/react.esm-DeOc63_l.js.map +1 -0
  336. package/dist/services/helpers.d.ts +2 -0
  337. package/dist/services/helpers.js +21 -0
  338. package/dist/services/helpers.js.map +1 -0
  339. package/dist/services/hoc/withBlockClass.d.ts +7 -0
  340. package/dist/services/hoc/withBlockClass.js +22 -0
  341. package/dist/services/hoc/withBlockClass.js.map +1 -0
  342. package/dist/services/hooks/useAccordionHeight.d.ts +9 -0
  343. package/dist/services/hooks/useAccordionHeight.js +17 -0
  344. package/dist/services/hooks/useAccordionHeight.js.map +1 -0
  345. package/dist/services/hooks/useClickOutside.d.ts +5 -0
  346. package/dist/services/hooks/useClickOutside.js +17 -0
  347. package/dist/services/hooks/useClickOutside.js.map +1 -0
  348. package/dist/services/hooks/useMatchMedia.d.ts +1 -0
  349. package/dist/services/hooks/useMatchMedia.js +18 -0
  350. package/dist/services/hooks/useMatchMedia.js.map +1 -0
  351. package/dist/services/icons.d.ts +7 -0
  352. package/dist/services/icons.js +27 -0
  353. package/dist/services/icons.js.map +1 -0
  354. package/dist/services/mocks.d.ts +12 -0
  355. package/dist/services/mocks.js +21 -0
  356. package/dist/services/mocks.js.map +1 -0
  357. package/dist/services/types.d.ts +7 -0
  358. package/dist/services/types.js +2 -0
  359. package/dist/services/types.js.map +1 -0
  360. package/dist/setupTests.d.ts +0 -0
  361. package/dist/setupTests.js +10217 -0
  362. package/dist/setupTests.js.map +1 -0
  363. package/package.json +115 -0
package/README.md ADDED
@@ -0,0 +1,50 @@
1
+ # React + TypeScript + Vite
2
+
3
+ This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
4
+
5
+ Currently, two official plugins are available:
6
+
7
+ - [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
8
+ - [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
9
+
10
+ ## Expanding the ESLint configuration
11
+
12
+ If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
13
+
14
+ - Configure the top-level `parserOptions` property like this:
15
+
16
+ ```js
17
+ export default tseslint.config({
18
+ languageOptions: {
19
+ // other options...
20
+ parserOptions: {
21
+ project: ['./tsconfig.node.json', './tsconfig.app.json'],
22
+ tsconfigRootDir: import.meta.dirname,
23
+ },
24
+ },
25
+ })
26
+ ```
27
+
28
+ - Replace `tseslint.configs.recommended` to `tseslint.configs.recommendedTypeChecked` or `tseslint.configs.strictTypeChecked`
29
+ - Optionally add `...tseslint.configs.stylisticTypeChecked`
30
+ - Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and update the config:
31
+
32
+ ```js
33
+ // eslint.config.js
34
+ import react from 'eslint-plugin-react'
35
+
36
+ export default tseslint.config({
37
+ // Set the react version
38
+ settings: { react: { version: '18.3' } },
39
+ plugins: {
40
+ // Add the react plugin
41
+ react,
42
+ },
43
+ rules: {
44
+ // other rules...
45
+ // Enable its recommended rules
46
+ ...react.configs.recommended.rules,
47
+ ...react.configs['jsx-runtime'].rules,
48
+ },
49
+ })
50
+ ```
@@ -0,0 +1,2 @@
1
+ "use strict";const n=require("react/jsx-runtime"),p=require("./components/Pagination/constants.js"),u=require("./services/helpers.js"),x=require("./components/Pagination/components/PaginationPage.js"),A=require("./components/Pagination/components/PaginationArrow.js"),e=({pages:t,currentPage:o,onPageClick:r,onPrevClick:d,onNextClick:P,isLoading:a=!1})=>{const g=o===1||a,l=o===t.at(-1)||a,_=()=>t.map(s=>{const m=s===o,j=()=>{r(s)};return n.jsx(i.Page,{isSelected:m,onClick:j,disabled:a,page:s},s)});return n.jsxs("div",{className:"pagination__body",children:[n.jsx(i.Arrow,{disabled:g,onClick:d,direction:"left"}),_(),n.jsx(i.Arrow,{disabled:l,onClick:P,direction:"right"})]})},i=Object.assign(c,{Page:x.PaginationPage,Arrow:A.PaginationArrow,Body:e}),c=({block:t,...o})=>n.jsx("div",{"data-testid":p.PAGINATION_TEST_ID,className:u.cn(t,"pagination"),children:n.jsx(i.Body,{...o})});exports.Pagination=i;exports.PaginationBody=e;exports.PaginationComponent=c;
2
+ //# sourceMappingURL=PaginationComponent-BM_GD3t6.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaginationComponent-BM_GD3t6.cjs","sources":["../lib/components/Pagination/components/PaginationBody.tsx","../lib/components/Pagination/index.ts","../lib/components/Pagination/PaginationComponent.tsx"],"sourcesContent":["import type {FC} from 'react';\r\nimport type {PaginationProps} from '@/components/Pagination/constants';\r\nimport {Pagination} from '@/components/Pagination';\r\n\r\nexport const PaginationBody: FC<PaginationProps> = ({\r\n pages,\r\n currentPage,\r\n onPageClick,\r\n onPrevClick,\r\n onNextClick,\r\n isLoading = false,\r\n}) => {\r\n const isFirstPage = currentPage === 1 || isLoading;\r\n const isLastPage = currentPage === pages.at(-1) || isLoading;\r\n\r\n const renderPages = () =>\r\n pages.map((page) => {\r\n const isSelected = page === currentPage;\r\n const handlePage = () => {\r\n onPageClick(page);\r\n };\r\n return (\r\n <Pagination.Page\r\n isSelected={isSelected}\r\n onClick={handlePage}\r\n disabled={isLoading}\r\n key={page}\r\n page={page}\r\n />\r\n );\r\n });\r\n\r\n return (\r\n <div className=\"pagination__body\">\r\n <Pagination.Arrow\r\n disabled={isFirstPage}\r\n onClick={onPrevClick}\r\n direction=\"left\"\r\n />\r\n {renderPages()}\r\n <Pagination.Arrow\r\n disabled={isLastPage}\r\n onClick={onNextClick}\r\n direction=\"right\"\r\n />\r\n </div>\r\n );\r\n};\r\n","import {PaginationComponent} from '@/components/Pagination/PaginationComponent';\r\nimport {PaginationPage} from '@/components/Pagination/components/PaginationPage';\r\nimport {PaginationArrow} from '@/components/Pagination/components/PaginationArrow';\r\nimport {PaginationBody} from '@/components/Pagination/components/PaginationBody';\r\n\r\nexport const Pagination = Object.assign(PaginationComponent, {\r\n Page: PaginationPage,\r\n Arrow: PaginationArrow,\r\n Body: PaginationBody,\r\n});\r\n","import type {FC} from 'react';\r\nimport type {PaginationProps} from '@/components/Pagination/constants';\r\nimport {PAGINATION_TEST_ID} from '@/components/Pagination/constants';\r\nimport type {ElementProps} from '@/services/types';\r\nimport {cn} from '@/services/helpers';\r\nimport {Pagination} from '@/components/Pagination';\r\n\r\nexport interface Props extends PaginationProps, ElementProps {}\r\n\r\nexport const PaginationComponent: FC<Props> = ({block, ...props}) => (\r\n <div\r\n data-testid={PAGINATION_TEST_ID}\r\n className={cn(block, 'pagination')}\r\n >\r\n <Pagination.Body {...props} />\r\n </div>\r\n);\r\n"],"names":["PaginationBody","pages","currentPage","onPageClick","onPrevClick","onNextClick","isLoading","isFirstPage","isLastPage","renderPages","page","isSelected","handlePage","jsx","Pagination","jsxs","PaginationComponent","PaginationPage","PaginationArrow","block","props","PAGINATION_TEST_ID","cn"],"mappings":"4QAIaA,EAAsC,CAAC,CAClD,MAAAC,EACA,YAAAC,EACA,YAAAC,EACA,YAAAC,EACA,YAAAC,EACA,UAAAC,EAAY,EACd,IAAM,CACE,MAAAC,EAAcL,IAAgB,GAAKI,EACnCE,EAAaN,IAAgBD,EAAM,GAAG,EAAE,GAAKK,EAE7CG,EAAc,IAClBR,EAAM,IAAKS,GAAS,CAClB,MAAMC,EAAaD,IAASR,EACtBU,EAAa,IAAM,CACvBT,EAAYO,CAAI,CAClB,EAEE,OAAAG,EAAA,IAACC,EAAW,KAAX,CACC,WAAAH,EACA,QAASC,EACT,SAAUN,EAEV,KAAAI,CAAA,EADKA,CAEP,CAAA,CAEH,EAGD,OAAAK,EAAA,KAAC,MAAI,CAAA,UAAU,mBACb,SAAA,CAAAF,EAAA,IAACC,EAAW,MAAX,CACC,SAAUP,EACV,QAASH,EACT,UAAU,MAAA,CACZ,EACCK,EAAY,EACbI,EAAA,IAACC,EAAW,MAAX,CACC,SAAUN,EACV,QAASH,EACT,UAAU,OAAA,CAAA,CACZ,EACF,CAEJ,EC1CaS,EAAa,OAAO,OAAOE,EAAqB,CAC3D,KAAMC,EAAA,eACN,MAAOC,EAAA,gBACP,KAAMlB,CACR,CAAC,ECAYgB,EAAiC,CAAC,CAAC,MAAAG,EAAO,GAAGC,CACxD,IAAAP,EAAA,IAAC,MAAA,CACC,cAAaQ,EAAA,mBACb,UAAWC,EAAAA,GAAGH,EAAO,YAAY,EAEjC,SAACN,EAAAA,IAAAC,EAAW,KAAX,CAAiB,GAAGM,CAAO,CAAA,CAAA,CAC9B"}
@@ -0,0 +1,65 @@
1
+ import { jsxs as f, jsx as i } from "react/jsx-runtime";
2
+ import { PAGINATION_TEST_ID as b } from "./components/Pagination/constants.js";
3
+ import { cn as p } from "./services/helpers.js";
4
+ import { PaginationPage as A } from "./components/Pagination/components/PaginationPage.js";
5
+ import { PaginationArrow as h } from "./components/Pagination/components/PaginationArrow.js";
6
+ const w = ({
7
+ pages: t,
8
+ currentPage: o,
9
+ onPageClick: r,
10
+ onPrevClick: e,
11
+ onNextClick: d,
12
+ isLoading: s = !1
13
+ }) => {
14
+ const c = o === 1 || s, l = o === t.at(-1) || s, m = () => t.map((n) => {
15
+ const P = n === o, g = () => {
16
+ r(n);
17
+ };
18
+ return /* @__PURE__ */ i(
19
+ a.Page,
20
+ {
21
+ isSelected: P,
22
+ onClick: g,
23
+ disabled: s,
24
+ page: n
25
+ },
26
+ n
27
+ );
28
+ });
29
+ return /* @__PURE__ */ f("div", { className: "pagination__body", children: [
30
+ /* @__PURE__ */ i(
31
+ a.Arrow,
32
+ {
33
+ disabled: c,
34
+ onClick: e,
35
+ direction: "left"
36
+ }
37
+ ),
38
+ m(),
39
+ /* @__PURE__ */ i(
40
+ a.Arrow,
41
+ {
42
+ disabled: l,
43
+ onClick: d,
44
+ direction: "right"
45
+ }
46
+ )
47
+ ] });
48
+ }, a = Object.assign(y, {
49
+ Page: A,
50
+ Arrow: h,
51
+ Body: w
52
+ }), y = ({ block: t, ...o }) => /* @__PURE__ */ i(
53
+ "div",
54
+ {
55
+ "data-testid": b,
56
+ className: p(t, "pagination"),
57
+ children: /* @__PURE__ */ i(a.Body, { ...o })
58
+ }
59
+ );
60
+ export {
61
+ a as P,
62
+ w as a,
63
+ y as b
64
+ };
65
+ //# sourceMappingURL=PaginationComponent-_iwGlFdM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaginationComponent-_iwGlFdM.js","sources":["../lib/components/Pagination/components/PaginationBody.tsx","../lib/components/Pagination/index.ts","../lib/components/Pagination/PaginationComponent.tsx"],"sourcesContent":["import type {FC} from 'react';\r\nimport type {PaginationProps} from '@/components/Pagination/constants';\r\nimport {Pagination} from '@/components/Pagination';\r\n\r\nexport const PaginationBody: FC<PaginationProps> = ({\r\n pages,\r\n currentPage,\r\n onPageClick,\r\n onPrevClick,\r\n onNextClick,\r\n isLoading = false,\r\n}) => {\r\n const isFirstPage = currentPage === 1 || isLoading;\r\n const isLastPage = currentPage === pages.at(-1) || isLoading;\r\n\r\n const renderPages = () =>\r\n pages.map((page) => {\r\n const isSelected = page === currentPage;\r\n const handlePage = () => {\r\n onPageClick(page);\r\n };\r\n return (\r\n <Pagination.Page\r\n isSelected={isSelected}\r\n onClick={handlePage}\r\n disabled={isLoading}\r\n key={page}\r\n page={page}\r\n />\r\n );\r\n });\r\n\r\n return (\r\n <div className=\"pagination__body\">\r\n <Pagination.Arrow\r\n disabled={isFirstPage}\r\n onClick={onPrevClick}\r\n direction=\"left\"\r\n />\r\n {renderPages()}\r\n <Pagination.Arrow\r\n disabled={isLastPage}\r\n onClick={onNextClick}\r\n direction=\"right\"\r\n />\r\n </div>\r\n );\r\n};\r\n","import {PaginationComponent} from '@/components/Pagination/PaginationComponent';\r\nimport {PaginationPage} from '@/components/Pagination/components/PaginationPage';\r\nimport {PaginationArrow} from '@/components/Pagination/components/PaginationArrow';\r\nimport {PaginationBody} from '@/components/Pagination/components/PaginationBody';\r\n\r\nexport const Pagination = Object.assign(PaginationComponent, {\r\n Page: PaginationPage,\r\n Arrow: PaginationArrow,\r\n Body: PaginationBody,\r\n});\r\n","import type {FC} from 'react';\r\nimport type {PaginationProps} from '@/components/Pagination/constants';\r\nimport {PAGINATION_TEST_ID} from '@/components/Pagination/constants';\r\nimport type {ElementProps} from '@/services/types';\r\nimport {cn} from '@/services/helpers';\r\nimport {Pagination} from '@/components/Pagination';\r\n\r\nexport interface Props extends PaginationProps, ElementProps {}\r\n\r\nexport const PaginationComponent: FC<Props> = ({block, ...props}) => (\r\n <div\r\n data-testid={PAGINATION_TEST_ID}\r\n className={cn(block, 'pagination')}\r\n >\r\n <Pagination.Body {...props} />\r\n </div>\r\n);\r\n"],"names":["PaginationBody","pages","currentPage","onPageClick","onPrevClick","onNextClick","isLoading","isFirstPage","isLastPage","renderPages","page","isSelected","handlePage","jsx","Pagination","jsxs","PaginationComponent","PaginationPage","PaginationArrow","block","props","PAGINATION_TEST_ID","cn"],"mappings":";;;;;AAIO,MAAMA,IAAsC,CAAC;AAAA,EAClD,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC,IAAY;AACd,MAAM;AACE,QAAAC,IAAcL,MAAgB,KAAKI,GACnCE,IAAaN,MAAgBD,EAAM,GAAG,EAAE,KAAKK,GAE7CG,IAAc,MAClBR,EAAM,IAAI,CAACS,MAAS;AAClB,UAAMC,IAAaD,MAASR,GACtBU,IAAa,MAAM;AACvB,MAAAT,EAAYO,CAAI;AAAA,IAClB;AAEE,WAAA,gBAAAG;AAAA,MAACC,EAAW;AAAA,MAAX;AAAA,QACC,YAAAH;AAAA,QACA,SAASC;AAAA,QACT,UAAUN;AAAA,QAEV,MAAAI;AAAA,MAAA;AAAA,MADKA;AAAA,IAEP;AAAA,EAAA,CAEH;AAGD,SAAA,gBAAAK,EAAC,OAAI,EAAA,WAAU,oBACb,UAAA;AAAA,IAAA,gBAAAF;AAAA,MAACC,EAAW;AAAA,MAAX;AAAA,QACC,UAAUP;AAAA,QACV,SAASH;AAAA,QACT,WAAU;AAAA,MAAA;AAAA,IACZ;AAAA,IACCK,EAAY;AAAA,IACb,gBAAAI;AAAA,MAACC,EAAW;AAAA,MAAX;AAAA,QACC,UAAUN;AAAA,QACV,SAASH;AAAA,QACT,WAAU;AAAA,MAAA;AAAA,IAAA;AAAA,EACZ,GACF;AAEJ,GC1CaS,IAAa,OAAO,OAAOE,GAAqB;AAAA,EAC3D,MAAMC;AAAA,EACN,OAAOC;AAAA,EACP,MAAMlB;AACR,CAAC,GCAYgB,IAAiC,CAAC,EAAC,OAAAG,GAAO,GAAGC,EACxD,MAAA,gBAAAP;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,eAAaQ;AAAA,IACb,WAAWC,EAAGH,GAAO,YAAY;AAAA,IAEjC,UAAC,gBAAAN,EAAAC,EAAW,MAAX,EAAiB,GAAGM,EAAO,CAAA;AAAA,EAAA;AAC9B;"}
@@ -0,0 +1,2 @@
1
+ "use strict";const t=require("react/jsx-runtime"),f=require("react"),k=require("./components/Select/components/SelectOption.js"),q=require("./components/Select/components/SelectInput.js"),g=require("./components/Select/components/SelectArrow.js"),w=require("./components/Select/components/SelectWrapper.js"),L=require("./components/Select/constants.js"),_=({options:n,onClick:s,value:o})=>n?t.jsx("ul",{className:"select__options",children:n.map(e=>{const l=e===o,r=()=>{s(e)};return t.jsx(c.Option,{isSelected:l,onOptionClick:r,option:e},e)})}):t.jsx("ul",{className:"select__options",children:t.jsx("li",{className:"select__option select__option_empty",children:"Nothing found"})}),c=Object.assign(u,{List:_,Option:k.SelectOption,Input:q.SelectInput,Arrow:g.SelectArrow,Wrapper:w.SelectWrapper,Block:L.SelectBlockHOC}),A=(n,s,o)=>{if(!o||!s.trim())return n;const e=n.filter(l=>l.toLowerCase().includes(s.toLowerCase()));return e.length>0?e:null},u=({options:n,onClick:s,handleSelect:o,onClickToOptions:e,isOpen:l,value:r,onChange:m,block:S,id:j="select",name:d="select",disabled:p,hasSearch:i=!1,...x})=>{const C=f.useMemo(()=>A(n,r,i),[n,r,i]),O=a=>{m(a),o(i)};return t.jsxs(c.Wrapper,{onClickOutside:o,isOpen:l,block:S,disabled:p,children:[t.jsxs(c.Block,{onClick:s,block:"select",children:[t.jsx(c.Input,{disabled:p,id:j,name:d,value:r,onChange:O,hasSearch:i,...x}),t.jsx(c.Arrow,{})]}),t.jsx(c.List,{options:C,onClick:e,value:r})]})};exports.Select=c;exports.SelectComponent=u;exports.SelectList=_;
2
+ //# sourceMappingURL=SelectComponent-CGBwJBns.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectComponent-CGBwJBns.cjs","sources":["../lib/components/Select/components/SelectList.tsx","../lib/components/Select/index.ts","../lib/components/Select/SelectComponent.tsx"],"sourcesContent":["import type {FC} from 'react';\r\nimport {Select} from '@/components/Select';\r\n\r\nexport interface Props {\r\n options: string[] | null;\r\n onClick: (value: string) => void;\r\n value: string;\r\n}\r\nexport const SelectList: FC<Props> = ({options, onClick, value}) => {\r\n if (!options) {\r\n return (\r\n <ul className=\"select__options\">\r\n <li className=\"select__option select__option_empty\">Nothing found</li>\r\n </ul>\r\n );\r\n }\r\n\r\n return (\r\n <ul className=\"select__options\">\r\n {options.map((option) => {\r\n const isSelected = option === value;\r\n const onOptionClick = () => {\r\n onClick(option);\r\n };\r\n return (\r\n <Select.Option\r\n key={option}\r\n isSelected={isSelected}\r\n onOptionClick={onOptionClick}\r\n option={option}\r\n />\r\n );\r\n })}\r\n </ul>\r\n );\r\n};\r\n","import {SelectComponent} from '@/components/Select/SelectComponent';\r\nimport {SelectList} from '@/components/Select/components/SelectList';\r\nimport {SelectOption} from '@/components/Select/components/SelectOption';\r\nimport {SelectInput} from '@/components/Select/components/SelectInput';\r\nimport {SelectArrow} from '@/components/Select/components/SelectArrow';\r\nimport {SelectWrapper} from '@/components/Select/components/SelectWrapper';\r\nimport {SelectBlockHOC} from '@/components/Select/constants';\r\n\r\nexport const Select = Object.assign(SelectComponent, {\r\n List: SelectList,\r\n Option: SelectOption,\r\n Input: SelectInput,\r\n Arrow: SelectArrow,\r\n Wrapper: SelectWrapper,\r\n Block: SelectBlockHOC,\r\n});\r\n","import type {FC} from 'react';\r\nimport {useMemo} from 'react';\r\nimport type {InputProps} from '@/components/Input/Input';\r\nimport {Select} from '@/components/Select';\r\n\r\nexport interface Props extends InputProps {\r\n isOpen: boolean;\r\n options: string[];\r\n onClick: () => void;\r\n onChange: (value: string) => void;\r\n value: string;\r\n handleSelect: (isOpen: boolean) => void;\r\n onClickToOptions: (value: string) => void;\r\n hasSearch?: boolean;\r\n}\r\n\r\nconst getFilteredOptions = (options: string[], value: string, hasSearch: boolean): string[] | null => {\r\n if (!hasSearch || !value.trim()) {\r\n return options;\r\n }\r\n const filtered = options.filter((option) => option.toLowerCase().includes(value.toLowerCase()));\r\n return filtered.length > 0 ? filtered : null;\r\n};\r\n\r\nexport const SelectComponent: FC<Props> = ({\r\n options,\r\n onClick,\r\n handleSelect,\r\n onClickToOptions,\r\n isOpen,\r\n value,\r\n onChange,\r\n block,\r\n id = 'select',\r\n name = 'select',\r\n disabled,\r\n hasSearch = false,\r\n ...props\r\n}) => {\r\n const filteredOptions = useMemo(() => getFilteredOptions(options, value, hasSearch), [options, value, hasSearch]);\r\n const handleSelectChange = (value: string) => {\r\n onChange(value);\r\n handleSelect(hasSearch);\r\n };\r\n return (\r\n <Select.Wrapper\r\n onClickOutside={handleSelect}\r\n isOpen={isOpen}\r\n block={block}\r\n disabled={disabled}\r\n >\r\n <Select.Block\r\n onClick={onClick}\r\n block=\"select\"\r\n >\r\n <Select.Input\r\n disabled={disabled}\r\n id={id}\r\n name={name}\r\n value={value}\r\n onChange={handleSelectChange}\r\n hasSearch={hasSearch}\r\n {...props}\r\n />\r\n <Select.Arrow />\r\n </Select.Block>\r\n <Select.List\r\n options={filteredOptions}\r\n onClick={onClickToOptions}\r\n value={value}\r\n />\r\n </Select.Wrapper>\r\n );\r\n};\r\n"],"names":["SelectList","options","onClick","value","option","isSelected","onOptionClick","jsx","Select","SelectComponent","SelectOption","SelectInput","SelectArrow","SelectWrapper","SelectBlockHOC","getFilteredOptions","hasSearch","filtered","handleSelect","onClickToOptions","isOpen","onChange","block","id","name","disabled","props","filteredOptions","useMemo","handleSelectChange","jsxs"],"mappings":"kWAQaA,EAAwB,CAAC,CAAC,QAAAC,EAAS,QAAAC,EAAS,MAAAC,KAClDF,QASF,KAAG,CAAA,UAAU,kBACX,SAAQA,EAAA,IAAKG,GAAW,CACvB,MAAMC,EAAaD,IAAWD,EACxBG,EAAgB,IAAM,CAC1BJ,EAAQE,CAAM,CAChB,EAEE,OAAAG,EAAA,IAACC,EAAO,OAAP,CAEC,WAAAH,EACA,cAAAC,EACA,OAAAF,CAAA,EAHKA,CAIP,CAEH,CAAA,EACH,EAtBEG,EAAA,IAAC,MAAG,UAAU,kBACZ,eAAC,KAAG,CAAA,UAAU,sCAAsC,SAAA,eAAA,CAAa,CACnE,CAAA,ECLOC,EAAS,OAAO,OAAOC,EAAiB,CACnD,KAAMT,EACN,OAAQU,EAAA,aACR,MAAOC,EAAA,YACP,MAAOC,EAAA,YACP,QAASC,EAAA,cACT,MAAOC,EAAAA,cACT,CAAC,ECCKC,EAAqB,CAACd,EAAmBE,EAAea,IAAwC,CACpG,GAAI,CAACA,GAAa,CAACb,EAAM,OAChB,OAAAF,EAET,MAAMgB,EAAWhB,EAAQ,OAAQG,GAAWA,EAAO,YAAY,EAAE,SAASD,EAAM,YAAa,CAAA,CAAC,EACvF,OAAAc,EAAS,OAAS,EAAIA,EAAW,IAC1C,EAEaR,EAA6B,CAAC,CACzC,QAAAR,EACA,QAAAC,EACA,aAAAgB,EACA,iBAAAC,EACA,OAAAC,EACA,MAAAjB,EACA,SAAAkB,EACA,MAAAC,EACA,GAAAC,EAAK,SACL,KAAAC,EAAO,SACP,SAAAC,EACA,UAAAT,EAAY,GACZ,GAAGU,CACL,IAAM,CACJ,MAAMC,EAAkBC,EAAAA,QAAQ,IAAMb,EAAmBd,EAASE,EAAOa,CAAS,EAAG,CAACf,EAASE,EAAOa,CAAS,CAAC,EAC1Ga,EAAsB1B,GAAkB,CAC5CkB,EAASlB,CAAK,EACde,EAAaF,CAAS,CACxB,EAEE,OAAAc,EAAA,KAACtB,EAAO,QAAP,CACC,eAAgBU,EAChB,OAAAE,EACA,MAAAE,EACA,SAAAG,EAEA,SAAA,CAAAK,EAAA,KAACtB,EAAO,MAAP,CACC,QAAAN,EACA,MAAM,SAEN,SAAA,CAAAK,EAAA,IAACC,EAAO,MAAP,CACC,SAAAiB,EACA,GAAAF,EACA,KAAAC,EACA,MAAArB,EACA,SAAU0B,EACV,UAAAb,EACC,GAAGU,CAAA,CACN,EACAnB,MAACC,EAAO,MAAP,CAAa,CAAA,CAAA,CAAA,CAChB,EACAD,EAAA,IAACC,EAAO,KAAP,CACC,QAASmB,EACT,QAASR,EACT,MAAAhB,CAAA,CAAA,CACF,CAAA,CACF,CAEJ"}
@@ -0,0 +1,98 @@
1
+ import { jsx as o, jsxs as m } from "react/jsx-runtime";
2
+ import { useMemo as S } from "react";
3
+ import { SelectOption as g } from "./components/Select/components/SelectOption.js";
4
+ import { SelectInput as w } from "./components/Select/components/SelectInput.js";
5
+ import { SelectArrow as L } from "./components/Select/components/SelectArrow.js";
6
+ import { SelectWrapper as N } from "./components/Select/components/SelectWrapper.js";
7
+ import { SelectBlockHOC as h } from "./components/Select/constants.js";
8
+ const j = ({ options: t, onClick: r, value: n }) => t ? /* @__PURE__ */ o("ul", { className: "select__options", children: t.map((e) => {
9
+ const s = e === n, c = () => {
10
+ r(e);
11
+ };
12
+ return /* @__PURE__ */ o(
13
+ l.Option,
14
+ {
15
+ isSelected: s,
16
+ onOptionClick: c,
17
+ option: e
18
+ },
19
+ e
20
+ );
21
+ }) }) : /* @__PURE__ */ o("ul", { className: "select__options", children: /* @__PURE__ */ o("li", { className: "select__option select__option_empty", children: "Nothing found" }) }), l = Object.assign(A, {
22
+ List: j,
23
+ Option: g,
24
+ Input: w,
25
+ Arrow: L,
26
+ Wrapper: N,
27
+ Block: h
28
+ }), x = (t, r, n) => {
29
+ if (!n || !r.trim())
30
+ return t;
31
+ const e = t.filter((s) => s.toLowerCase().includes(r.toLowerCase()));
32
+ return e.length > 0 ? e : null;
33
+ }, A = ({
34
+ options: t,
35
+ onClick: r,
36
+ handleSelect: n,
37
+ onClickToOptions: e,
38
+ isOpen: s,
39
+ value: c,
40
+ onChange: f,
41
+ block: u,
42
+ id: d = "select",
43
+ name: a = "select",
44
+ disabled: p,
45
+ hasSearch: i = !1,
46
+ ...C
47
+ }) => {
48
+ const O = S(() => x(t, c, i), [t, c, i]), _ = (k) => {
49
+ f(k), n(i);
50
+ };
51
+ return /* @__PURE__ */ m(
52
+ l.Wrapper,
53
+ {
54
+ onClickOutside: n,
55
+ isOpen: s,
56
+ block: u,
57
+ disabled: p,
58
+ children: [
59
+ /* @__PURE__ */ m(
60
+ l.Block,
61
+ {
62
+ onClick: r,
63
+ block: "select",
64
+ children: [
65
+ /* @__PURE__ */ o(
66
+ l.Input,
67
+ {
68
+ disabled: p,
69
+ id: d,
70
+ name: a,
71
+ value: c,
72
+ onChange: _,
73
+ hasSearch: i,
74
+ ...C
75
+ }
76
+ ),
77
+ /* @__PURE__ */ o(l.Arrow, {})
78
+ ]
79
+ }
80
+ ),
81
+ /* @__PURE__ */ o(
82
+ l.List,
83
+ {
84
+ options: O,
85
+ onClick: e,
86
+ value: c
87
+ }
88
+ )
89
+ ]
90
+ }
91
+ );
92
+ };
93
+ export {
94
+ l as S,
95
+ j as a,
96
+ A as b
97
+ };
98
+ //# sourceMappingURL=SelectComponent-DJi5yeVI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectComponent-DJi5yeVI.js","sources":["../lib/components/Select/components/SelectList.tsx","../lib/components/Select/index.ts","../lib/components/Select/SelectComponent.tsx"],"sourcesContent":["import type {FC} from 'react';\r\nimport {Select} from '@/components/Select';\r\n\r\nexport interface Props {\r\n options: string[] | null;\r\n onClick: (value: string) => void;\r\n value: string;\r\n}\r\nexport const SelectList: FC<Props> = ({options, onClick, value}) => {\r\n if (!options) {\r\n return (\r\n <ul className=\"select__options\">\r\n <li className=\"select__option select__option_empty\">Nothing found</li>\r\n </ul>\r\n );\r\n }\r\n\r\n return (\r\n <ul className=\"select__options\">\r\n {options.map((option) => {\r\n const isSelected = option === value;\r\n const onOptionClick = () => {\r\n onClick(option);\r\n };\r\n return (\r\n <Select.Option\r\n key={option}\r\n isSelected={isSelected}\r\n onOptionClick={onOptionClick}\r\n option={option}\r\n />\r\n );\r\n })}\r\n </ul>\r\n );\r\n};\r\n","import {SelectComponent} from '@/components/Select/SelectComponent';\r\nimport {SelectList} from '@/components/Select/components/SelectList';\r\nimport {SelectOption} from '@/components/Select/components/SelectOption';\r\nimport {SelectInput} from '@/components/Select/components/SelectInput';\r\nimport {SelectArrow} from '@/components/Select/components/SelectArrow';\r\nimport {SelectWrapper} from '@/components/Select/components/SelectWrapper';\r\nimport {SelectBlockHOC} from '@/components/Select/constants';\r\n\r\nexport const Select = Object.assign(SelectComponent, {\r\n List: SelectList,\r\n Option: SelectOption,\r\n Input: SelectInput,\r\n Arrow: SelectArrow,\r\n Wrapper: SelectWrapper,\r\n Block: SelectBlockHOC,\r\n});\r\n","import type {FC} from 'react';\r\nimport {useMemo} from 'react';\r\nimport type {InputProps} from '@/components/Input/Input';\r\nimport {Select} from '@/components/Select';\r\n\r\nexport interface Props extends InputProps {\r\n isOpen: boolean;\r\n options: string[];\r\n onClick: () => void;\r\n onChange: (value: string) => void;\r\n value: string;\r\n handleSelect: (isOpen: boolean) => void;\r\n onClickToOptions: (value: string) => void;\r\n hasSearch?: boolean;\r\n}\r\n\r\nconst getFilteredOptions = (options: string[], value: string, hasSearch: boolean): string[] | null => {\r\n if (!hasSearch || !value.trim()) {\r\n return options;\r\n }\r\n const filtered = options.filter((option) => option.toLowerCase().includes(value.toLowerCase()));\r\n return filtered.length > 0 ? filtered : null;\r\n};\r\n\r\nexport const SelectComponent: FC<Props> = ({\r\n options,\r\n onClick,\r\n handleSelect,\r\n onClickToOptions,\r\n isOpen,\r\n value,\r\n onChange,\r\n block,\r\n id = 'select',\r\n name = 'select',\r\n disabled,\r\n hasSearch = false,\r\n ...props\r\n}) => {\r\n const filteredOptions = useMemo(() => getFilteredOptions(options, value, hasSearch), [options, value, hasSearch]);\r\n const handleSelectChange = (value: string) => {\r\n onChange(value);\r\n handleSelect(hasSearch);\r\n };\r\n return (\r\n <Select.Wrapper\r\n onClickOutside={handleSelect}\r\n isOpen={isOpen}\r\n block={block}\r\n disabled={disabled}\r\n >\r\n <Select.Block\r\n onClick={onClick}\r\n block=\"select\"\r\n >\r\n <Select.Input\r\n disabled={disabled}\r\n id={id}\r\n name={name}\r\n value={value}\r\n onChange={handleSelectChange}\r\n hasSearch={hasSearch}\r\n {...props}\r\n />\r\n <Select.Arrow />\r\n </Select.Block>\r\n <Select.List\r\n options={filteredOptions}\r\n onClick={onClickToOptions}\r\n value={value}\r\n />\r\n </Select.Wrapper>\r\n );\r\n};\r\n"],"names":["SelectList","options","onClick","value","option","isSelected","onOptionClick","jsx","Select","SelectComponent","SelectOption","SelectInput","SelectArrow","SelectWrapper","SelectBlockHOC","getFilteredOptions","hasSearch","filtered","handleSelect","onClickToOptions","isOpen","onChange","block","id","name","disabled","props","filteredOptions","useMemo","handleSelectChange","jsxs"],"mappings":";;;;;;;AAQO,MAAMA,IAAwB,CAAC,EAAC,SAAAC,GAAS,SAAAC,GAAS,OAAAC,QAClDF,sBASF,MAAG,EAAA,WAAU,mBACX,UAAQA,EAAA,IAAI,CAACG,MAAW;AACvB,QAAMC,IAAaD,MAAWD,GACxBG,IAAgB,MAAM;AAC1B,IAAAJ,EAAQE,CAAM;AAAA,EAChB;AAEE,SAAA,gBAAAG;AAAA,IAACC,EAAO;AAAA,IAAP;AAAA,MAEC,YAAAH;AAAA,MACA,eAAAC;AAAA,MACA,QAAAF;AAAA,IAAA;AAAA,IAHKA;AAAA,EAIP;AAEH,CAAA,GACH,IAtBE,gBAAAG,EAAC,QAAG,WAAU,mBACZ,4BAAC,MAAG,EAAA,WAAU,uCAAsC,UAAA,gBAAA,CAAa,EACnE,CAAA,GCLOC,IAAS,OAAO,OAAOC,GAAiB;AAAA,EACnD,MAAMT;AAAA,EACN,QAAQU;AAAA,EACR,OAAOC;AAAA,EACP,OAAOC;AAAA,EACP,SAASC;AAAA,EACT,OAAOC;AACT,CAAC,GCCKC,IAAqB,CAACd,GAAmBE,GAAea,MAAwC;AACpG,MAAI,CAACA,KAAa,CAACb,EAAM;AAChB,WAAAF;AAET,QAAMgB,IAAWhB,EAAQ,OAAO,CAACG,MAAWA,EAAO,YAAY,EAAE,SAASD,EAAM,YAAa,CAAA,CAAC;AACvF,SAAAc,EAAS,SAAS,IAAIA,IAAW;AAC1C,GAEaR,IAA6B,CAAC;AAAA,EACzC,SAAAR;AAAA,EACA,SAAAC;AAAA,EACA,cAAAgB;AAAA,EACA,kBAAAC;AAAA,EACA,QAAAC;AAAA,EACA,OAAAjB;AAAA,EACA,UAAAkB;AAAA,EACA,OAAAC;AAAA,EACA,IAAAC,IAAK;AAAA,EACL,MAAAC,IAAO;AAAA,EACP,UAAAC;AAAA,EACA,WAAAT,IAAY;AAAA,EACZ,GAAGU;AACL,MAAM;AACJ,QAAMC,IAAkBC,EAAQ,MAAMb,EAAmBd,GAASE,GAAOa,CAAS,GAAG,CAACf,GAASE,GAAOa,CAAS,CAAC,GAC1Ga,IAAqB,CAAC1B,MAAkB;AAC5C,IAAAkB,EAASlB,CAAK,GACde,EAAaF,CAAS;AAAA,EACxB;AAEE,SAAA,gBAAAc;AAAA,IAACtB,EAAO;AAAA,IAAP;AAAA,MACC,gBAAgBU;AAAA,MAChB,QAAAE;AAAA,MACA,OAAAE;AAAA,MACA,UAAAG;AAAA,MAEA,UAAA;AAAA,QAAA,gBAAAK;AAAA,UAACtB,EAAO;AAAA,UAAP;AAAA,YACC,SAAAN;AAAA,YACA,OAAM;AAAA,YAEN,UAAA;AAAA,cAAA,gBAAAK;AAAA,gBAACC,EAAO;AAAA,gBAAP;AAAA,kBACC,UAAAiB;AAAA,kBACA,IAAAF;AAAA,kBACA,MAAAC;AAAA,kBACA,OAAArB;AAAA,kBACA,UAAU0B;AAAA,kBACV,WAAAb;AAAA,kBACC,GAAGU;AAAA,gBAAA;AAAA,cACN;AAAA,cACA,gBAAAnB,EAACC,EAAO,OAAP,CAAa,CAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAChB;AAAA,QACA,gBAAAD;AAAA,UAACC,EAAO;AAAA,UAAP;AAAA,YACC,SAASmB;AAAA,YACT,SAASR;AAAA,YACT,OAAAhB;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EACF;AAEJ;"}
@@ -0,0 +1,2 @@
1
+ "use strict";var o=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function l(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}exports.commonjsGlobal=o;exports.getDefaultExportFromCjs=l;
2
+ //# sourceMappingURL=_commonjsHelpers-DKOUU3wS.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_commonjsHelpers-DKOUU3wS.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ var o = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
2
+ function l(e) {
3
+ return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
4
+ }
5
+ export {
6
+ o as c,
7
+ l as g
8
+ };
9
+ //# sourceMappingURL=_commonjsHelpers-DaMA6jEr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_commonjsHelpers-DaMA6jEr.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1 @@
1
+ *{padding:0;margin:0;border:0}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;min-width:20rem}body{-ms-text-size-adjust:100%;-moz-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input,button,textarea{font-size:inherit}button{cursor:pointer;color:inherit;background-color:inherit}a{color:inherit}a:link,a:visited,a:hover{text-decoration:none}ul li{list-style:none}img{vertical-align:top}h1,h2,h3,h4,h5,h6{font-weight:inherit;font-size:inherit}.button{font-weight:600;display:inline-block;border-radius:.5rem;position:relative;transition:all .5s ease 0s;z-index:1;overflow:hidden}.button__close{color:#a3a3a3}.button:not(.button:disabled):after{position:absolute;content:"";width:0;height:100%;top:0;right:0;z-index:-1;border-radius:.5rem;transition:all .5s ease}@media (any-hover: hover){.button:not(.button:disabled):hover:after{left:0;width:100%}}.button--green{background:#3c7d46;color:#fff}.button--green:after{background-color:#244d29}.button--green:active{background-color:#244d29}.button--white{background:#fff;color:#3c7d46}.button--white:after{background-color:#d3d3d3}.button--white:active{background-color:#d3d3d3}.button--gray{background:#f0f0f0;color:#1a1a1a}.button--gray:after{background-color:#d3d3d3}.button--gray:active{background-color:#d3d3d3}.button--big{padding:.75rem 1.5625rem;font-size:1rem;line-height:1.5}.button--medium{padding:.375rem .8rem;font-size:.875rem;line-height:1.7142857143}.button--small{padding:.125rem .4375rem;font-size:.75rem;line-height:1.3333333333}.button:disabled{cursor:default;opacity:40%}@media (any-hover: hover){.button--transparent{background:transparent}}.button--icon{display:flex;align-items:center}.button--icon>svg{transition:transform .3s linear;font-size:1.25rem}.button--icon._rotate svg{transform:scaleX(-1)}.favorite-button{width:2rem;height:2rem;z-index:10;position:relative;display:flex;justify-content:center;align-items:center;transition:background .3s linear}.favorite-button svg{transition:color .3s linear}.favorite-button:disabled svg{cursor:auto;opacity:80%}.favorite-button--transparent svg{color:#a3a3a3;font-size:1.25rem}@media (any-hover: hover){.favorite-button--transparent:not(.favorite-button--transparent:disabled):hover svg{color:#e49a49}}@media (any-hover: hover){.favorite-button--transparent:not(.favorite-button--transparent:disabled).active:hover svg{color:#c28140}}.favorite-button--transparent:not(.favorite-button--transparent:disabled).active:active svg{color:#af7743}.favorite-button--transparent.active svg{color:#e49a49}.favorite-button--transparent:active svg{color:#af7743}.favorite-button--circle{background:#312f2f;border-radius:50%}.favorite-button--circle svg{color:#fff;font-size:1rem}@media (any-hover: hover){.favorite-button--circle:not(.favorite-button--circle:disabled):hover{background:#1a1a1a}}.favorite-button--circle:not(.favorite-button--circle:disabled):active{background:#000}.slider-navigate{font-size:1.25rem;display:flex;gap:1rem}.slider-navigate__button{width:2.5rem;height:2.5rem;border-radius:50%;display:flex;justify-content:center;align-items:center;transition:all .3s linear}@media (any-hover: hover){.slider-navigate__button:hover{color:#fff;background:#3c7d46}}@media (any-hover: none){.slider-navigate__button{color:#fff;background:#3c7d46}}.slider-navigate__button:active{color:#fff;background:#1f3b23}.link{transition:all .5s linear;font-weight:400}.link svg{font-size:1rem;transform:translateY(.0625rem)}.link--green{color:#3c7d46}@media (any-hover: hover){.link--green:hover{color:#1f3b23}}.link--green:active{color:#1f3b23}.link--gray{color:#484848}@media (any-hover: hover){.link--gray:hover{color:#767676}}.link--gray:active{color:#767676}.link--lightgray{color:#a3a3a3}@media (any-hover: hover){.link--lightgray:hover{color:#767676}}.link--lightgray:active{color:#767676}.link--dark{color:#1a1a1a}@media (any-hover: hover){.link--dark:hover{color:#484848}}.link--dark:active{color:#484848}.link--icon{display:flex;align-items:center;gap:.25rem}.input{padding:.8125rem .75rem;font-size:.875rem;line-height:1.4285714286;outline:none;border-radius:.5rem}.input:not(.input.transparent){transition:all .4s linear;border:.0625rem solid #d1d1d1}.input:not(.input.transparent):focus{background:#f6f5f4;box-shadow:0 .125rem .5rem #00000029}.input:not(.input.transparent):focus:not(.input:not(.input.transparent):focus.error){border-color:#2c2926}.input:not(.input.transparent).error{color:#c31c27;border-color:#c31c27}@media (any-hover: hover){.input:not(.input.transparent):not(.input:not(.input.transparent):disabled):hover{background:#f6f5f4}.input:not(.input.transparent):not(.input:not(.input.transparent):disabled):hover:not(.input:not(.input.transparent):not(.input:not(.input.transparent):disabled):hover.error){border-color:#2c2926}}.input.transparent{background:inherit;flex:1 1 auto}.input::placeholder{transition:color .3s linear;color:#a3a3a3}.input:disabled{opacity:40%;cursor:auto}.input.error::placeholder{color:#c31c27}.nav-link{position:relative;z-index:10;font-weight:600;transition:color .3s linear}.nav-link:after{content:"";position:absolute;bottom:-.3125rem;left:0;width:100%;height:.1875rem;border-radius:.5rem;background:#3c7d46;transform:scaleX(0);transition:transform .3s linear;transform-origin:bottom right}@media (any-hover: hover){.nav-link{color:#3c7d46}.nav-link:after{transform-origin:bottom left;transform:scaleX(1)}}.nav-link._active{color:#3c7d46}.nav-link._active:after{transform-origin:bottom left;transform:scaleX(1)}.checkbox{display:flex;align-items:flex-start;gap:.625rem;position:relative}.checkbox__input{position:absolute;width:0;height:0;opacity:0}.checkbox__input:checked+.checkbox__indicator>svg{display:block}.checkbox__input:disabled+.checkbox__indicator{cursor:default;opacity:40%;pointer-events:none}.checkbox__input:focus+.checkbox__indicator:before{border-color:#3c7d46}.checkbox__input.error+.checkbox__indicator:before{border-color:#c31c27}.checkbox__indicator{cursor:pointer;display:flex;align-items:center;position:relative;gap:.25rem}.checkbox__indicator:before{content:"";align-self:center;flex:0 0 1.25rem;margin-right:.25rem;width:1.25rem;height:1.25rem;border-radius:.25rem;border:.0625rem solid #d1d1d1;transition:border-color .4s ease 0s}.checkbox__indicator svg{position:absolute;left:.125rem;font-size:1rem;color:#3c7d46;display:none}@media (any-hover: hover){.checkbox__indicator:hover:before{border-color:#3c7d46}}.field{position:relative;display:flex;flex-direction:column;gap:.5rem}.field__error{position:absolute;bottom:-1.125rem;font-size:.75rem;line-height:1.3333333333;color:#c31c27}.category{padding:.125rem .375rem;font-size:.75rem;line-height:1.3333333333;font-weight:600;border-radius:.25rem}.category--guides{background:#e6f4ff;color:#0394fc}.category--news{background:#fff1e8;color:#dd7437}.category--reviews{background:#eeeafe;color:#603fe2}.select{position:relative}@media (any-hover: hover){.select:not(.select.disabled) .select__block:hover{background:#f6f5f4}.select:not(.select.disabled) .select__block:hover:not(.select:not(.select.disabled) .select__block:hover.error){border-color:#2c2926}}.select__block{display:flex;justify-content:space-between;align-items:center;border-radius:.5rem;transition:all .4s linear;border:.0625rem solid #d1d1d1}.select__block:focus{background:#f6f5f4;box-shadow:0 .125rem .5rem #00000029}.select__block:focus:not(.select__block:focus.error){border-color:#2c2926}.select__block.error{color:#c31c27;border-color:#c31c27}.select__input:read-only{cursor:pointer}.select__arrow{margin-right:.625rem;font-size:1.25rem;transition:transform .4s linear}.select__options{position:absolute;background:#fff;box-shadow:0 .125rem .5rem #00000029;border:.0625rem solid #d1d1d1;border-radius:.25rem;min-width:100%;top:3.25rem;left:0;z-index:5;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-.5rem);transition:all .4s linear;overflow-y:auto;overflow-x:hidden;max-height:12.5rem}.select__options::-webkit-scrollbar,.select__options::-webkit-scrollbar-thumb{width:.8125rem;border-radius:.625rem;background-clip:padding-box;border:.25rem solid transparent}.select__options::-webkit-scrollbar-thumb{transition:box-shadow .3s linear;box-shadow:inset 0 0 0 .625rem #d5d3d3}.select__option{padding:.25rem .5rem;transition:all .4s linear}@media (any-hover: hover){.select__option:not(.select__option_empty):hover{cursor:pointer;background:#f6f5f4}}.select__option_empty{cursor:auto;font-weight:600;text-align:center}.select__option._selected{background:#e1dfdf}.select._open .select__options{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}.select._open .select__arrow{transform:scaleY(-1)}.select.disabled .select__block,.select.disabled .select__arrow{opacity:40%;cursor:auto}.accordion{border-radius:.5rem;background:#f6f5f4}.accordion__button{display:flex;align-items:center;width:100%;border-radius:.5rem}.accordion__title{font-size:1.125rem;font-weight:600;flex:1 1 auto;text-align:left;line-height:1.2;padding:1.2rem 1rem}.accordion__title:not(:last-child){margin-bottom:0}.accordion__arrow{margin-right:.625rem;font-size:1.25rem;transition:transform .4s linear}.accordion__content{height:0;overflow:hidden;transition:all .5s linear;position:relative}.accordion__content:before{content:"";position:absolute;height:.0625rem;width:100%;background:#e6e6e6;opacity:0;visibility:hidden;transition:all .5s linear}.accordion__text{padding:1rem}.accordion._active .accordion__content{height:auto}.accordion._active .accordion__content:before{opacity:1;visibility:visible}.accordion._active .accordion__arrow{transform:scaleY(-1)}.image-gallery{max-width:50.5rem}.image-gallery-icon{color:#fff;transition:all .3s ease-out;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;outline:none;position:absolute;background:transparent;z-index:4}.image-gallery-left-nav,.image-gallery-right-nav{align-self:center;display:flex;justify-content:center;align-items:center}.image-gallery-left-nav:before,.image-gallery-right-nav:before{position:absolute;content:"";width:3.75rem;height:3.75rem;background:#000;opacity:40%;border-radius:50%;transition:opacity .3s linear}@media (hover: hover) and (pointer: fine){.image-gallery-left-nav:hover:before,.image-gallery-right-nav:hover:before{opacity:100%}}.image-gallery-left-nav .image-gallery-svg,.image-gallery-right-nav .image-gallery-svg{position:relative;width:1.875rem;height:1.875rem;z-index:9}.image-gallery-left-nav .image-gallery-svg>polyline,.image-gallery-right-nav .image-gallery-svg>polyline{transform:translate(.125rem)}.image-gallery-left-nav[disabled],.image-gallery-right-nav[disabled]{cursor:none;opacity:.6;pointer-events:none}.image-gallery-right-nav{right:5%}.image-gallery-right-nav .image-gallery-svg>polyline{transform:translate(.15625rem)}.image-gallery-left-nav{left:5%}.image-gallery-left-nav .image-gallery-svg>polyline{transform:translate(-.15625rem)}.image-gallery{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;position:relative}.image-gallery-content{position:relative;line-height:0;top:0}.image-gallery-content.image-gallery-thumbnails-left .image-gallery-slide .image-gallery-image,.image-gallery-content.image-gallery-thumbnails-right .image-gallery-slide .image-gallery-image{max-height:100vh}.image-gallery-slide-wrapper{position:relative;display:flex}.image-gallery-slide-wrapper.image-gallery-thumbnails-left,.image-gallery-slide-wrapper.image-gallery-thumbnails-right{display:inline-block;width:calc(100% - 110px)}@media (max-width: 48rem){.image-gallery-slide-wrapper.image-gallery-thumbnails-left,.image-gallery-slide-wrapper.image-gallery-thumbnails-right{width:calc(100% - 87px)}}.image-gallery-slides{line-height:0;overflow:hidden;position:relative;white-space:nowrap;text-align:center}.image-gallery-slide{left:0;position:absolute;top:0;width:100%;display:flex}.image-gallery-slide.image-gallery-center{position:relative}.image-gallery-slide .image-gallery-image{object-fit:cover;width:100%;height:auto}.image-gallery-thumbnails-wrapper{position:relative}.image-gallery-thumbnails-wrapper.thumbnails-swipe-horizontal{touch-action:pan-y}.image-gallery-thumbnails-wrapper.thumbnails-swipe-vertical{touch-action:pan-x}.image-gallery-thumbnails-wrapper.thumbnails-wrapper-rtl{direction:rtl}.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-left,.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-right{display:inline-block;vertical-align:top;width:6.25rem}@media (max-width: 48rem){.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-left,.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-right{width:5.0625rem}}.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-left .image-gallery-thumbnails,.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-right .image-gallery-thumbnails{height:100%;width:100%;left:0;padding:0;position:absolute;top:0}.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-left .image-gallery-thumbnails .image-gallery-thumbnail,.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-right .image-gallery-thumbnails .image-gallery-thumbnail{display:block;margin-right:0;padding:0}.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-left .image-gallery-thumbnails .image-gallery-thumbnail+.image-gallery-thumbnail,.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-right .image-gallery-thumbnails .image-gallery-thumbnail+.image-gallery-thumbnail{margin-left:0;margin-top:.125rem}.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-left,.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-right{margin:0 .3125rem}@media (max-width: 48rem){.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-left,.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-right{margin:0 .1875rem}}.image-gallery-thumbnails{overflow:hidden;padding:.3125rem 0}@media (max-width: 48rem){.image-gallery-thumbnails{padding:.1875rem 0}}.image-gallery-thumbnails .image-gallery-thumbnails-container{cursor:pointer;text-align:center;white-space:nowrap}.image-gallery-thumbnail{display:inline-block;border:.25rem solid transparent;transition:border .3s ease-out;width:6.25rem;background:transparent;padding:0}@media (max-width: 48rem){.image-gallery-thumbnail{border:.1875rem solid transparent;width:5.0625rem}}.image-gallery-thumbnail+.image-gallery-thumbnail{margin-left:.125rem}.image-gallery-thumbnail .image-gallery-thumbnail-inner{display:block;position:relative}.image-gallery-thumbnail .image-gallery-thumbnail-image{vertical-align:middle;width:100%;line-height:0;opacity:50%}.image-gallery-thumbnail.active .image-gallery-thumbnail-image,.image-gallery-thumbnail:focus .image-gallery-thumbnail-image{opacity:1}@media (hover: hover) and (pointer: fine){.image-gallery-thumbnail:hover{outline:none}}.image-gallery-swipe{flex:1 1 auto}.dropdown-menu{position:relative}@media (any-hover: hover){.dropdown-menu:hover .dropdown-menu__category{background:#c0bfbf}.dropdown-menu:hover .dropdown-menu__arrow{transform:scaleY(-1)}.dropdown-menu:hover .dropdown-menu__list{opacity:1;visibility:visible;pointer-events:auto}}@media (any-hover: none){.dropdown-menu._dropdown-active .dropdown-menu__category{background:#c0bfbf}.dropdown-menu._dropdown-active .dropdown-menu__arrow{transform:scaleY(-1)}.dropdown-menu._dropdown-active .dropdown-menu__list{opacity:1;visibility:visible;pointer-events:auto}}.dropdown-menu__block{display:flex;align-items:center;gap:.375rem}.dropdown-menu__category{display:flex;align-items:center;gap:.25rem;border-radius:.25rem;padding:.1875rem}.dropdown-menu__arrow{color:inherit;font-size:1.25rem}.dropdown-menu__category,.dropdown-menu__arrow,.dropdown-menu__list{transition:all .4s linear}.dropdown-menu__list{padding-top:.9375rem;position:absolute;top:.9375rem;right:0;width:100%;z-index:999;display:flex;flex-direction:column;justify-content:space-evenly;opacity:0;visibility:hidden;pointer-events:none}.dropdown-menu__option{padding:.625rem;display:flex;align-items:center;gap:.3125rem;background:#e6e6e6;cursor:pointer;transition:background .3s linear}.dropdown-menu__option>img{width:1.25rem;height:1.25rem;border-radius:.3125rem}.dropdown-menu__option:first-child{border-radius:.5rem .5rem 0 0}.dropdown-menu__option:last-child{border-radius:0 0 .5rem .5rem}@media (any-hover: hover){.dropdown-menu__option:hover{background:#d3d3d3}}.dropdown-menu__option._selected-option{background:#c0bfbf;cursor:default}.rc-slider{position:relative;width:100%;height:.875rem;padding:.3125rem 0;border-radius:.375rem;touch-action:none}.rc-slider-rail{position:absolute;width:100%;height:.1875rem;background-color:#d1d1d1;border-radius:.125rem}.rc-slider-track{position:absolute;height:.25rem;background-color:#3c7d46;border-radius:.375rem}.rc-slider-handle{position:absolute;z-index:1;width:.9375rem;height:.9375rem;margin-top:-.3125rem;background-color:#fff;border:.1875rem solid #3c7d46;border-radius:50%;cursor:pointer;cursor:-webkit-grab;cursor:grab;touch-action:pan-x}.rc-slider-handle:focus{outline:none;box-shadow:none}.rc-slider-handle:focus-visible{border-color:#3c7d46;box-shadow:0 0 0 .3125rem #3c7d46}@media (any-hover: hover){.rc-slider-handle:hover{border-color:#1f3b23}}.rc-slider-handle:active{border-color:#3c7d46;box-shadow:0 0 0 .3125rem #3c7d46;cursor:-webkit-grabbing;cursor:grabbing}.rc-slider-handle-dragging.rc-slider-handle-dragging.rc-slider-handle-dragging{border-color:#3c7d46;box-shadow:0 0 0 .125rem #3c7d46}@font-face{font-family:swiper-icons;src:url(data:application/font-woff;charset=utf-8;base64,\ d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA);font-weight:400;font-style:normal}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;overflow:clip;list-style:none;z-index:1;display:block;padding:.4375rem}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:flex}.swiper-slide-invisible-blank{visibility:hidden}.filter-accordion__block{display:flex;align-items:center;gap:.75rem}.filter-accordion__title{font-weight:600;flex:1 1 auto}.filter-accordion__button{font-weight:400}.filter-accordion__arrow{display:flex;align-items:center;justify-content:center;outline:none;border-radius:50%;width:1.125rem;height:1.125rem;transition:background-color .3s linear}.filter-accordion__arrow>svg{transition:transform .3s linear}@media (any-hover: hover){.filter-accordion__arrow:hover{background:#d3d3d3}}.filter-accordion__content{height:0;overflow:hidden;transition:all .5s linear;position:relative}.filter-accordion__body{padding-top:.75rem}.filter-accordion._active-accordion .filter-accordion__arrow>svg{transform:scaleY(-1)}