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.
- package/README.md +50 -0
- package/dist/PaginationComponent-BM_GD3t6.cjs +2 -0
- package/dist/PaginationComponent-BM_GD3t6.cjs.map +1 -0
- package/dist/PaginationComponent-_iwGlFdM.js +65 -0
- package/dist/PaginationComponent-_iwGlFdM.js.map +1 -0
- package/dist/SelectComponent-CGBwJBns.cjs +2 -0
- package/dist/SelectComponent-CGBwJBns.cjs.map +1 -0
- package/dist/SelectComponent-DJi5yeVI.js +98 -0
- package/dist/SelectComponent-DJi5yeVI.js.map +1 -0
- package/dist/_commonjsHelpers-DKOUU3wS.cjs +2 -0
- package/dist/_commonjsHelpers-DKOUU3wS.cjs.map +1 -0
- package/dist/_commonjsHelpers-DaMA6jEr.js +9 -0
- package/dist/_commonjsHelpers-DaMA6jEr.js.map +1 -0
- package/dist/assets/index.css +1 -0
- package/dist/chunk-KNED5TY2-9zjBD6gF.js +1659 -0
- package/dist/chunk-KNED5TY2-9zjBD6gF.js.map +1 -0
- package/dist/chunk-KNED5TY2-BcFuRn3Q.cjs +13 -0
- package/dist/chunk-KNED5TY2-BcFuRn3Q.cjs.map +1 -0
- package/dist/components/Accordion/AccordionComponent.d.ts +9 -0
- package/dist/components/Accordion/AccordionComponent.js +6 -0
- package/dist/components/Accordion/AccordionComponent.js.map +1 -0
- package/dist/components/Accordion/AccordionComponent.test.d.ts +1 -0
- package/dist/components/Accordion/AccordionComponent.test.js +32 -0
- package/dist/components/Accordion/AccordionComponent.test.js.map +1 -0
- package/dist/components/Accordion/components/AccordionArrow.d.ts +2 -0
- package/dist/components/Accordion/components/AccordionArrow.js +7 -0
- package/dist/components/Accordion/components/AccordionArrow.js.map +1 -0
- package/dist/components/Accordion/components/AccordionBlock.d.ts +6 -0
- package/dist/components/Accordion/components/AccordionBlock.js +6 -0
- package/dist/components/Accordion/components/AccordionBlock.js.map +1 -0
- package/dist/components/Accordion/components/AccordionButton.d.ts +6 -0
- package/dist/components/Accordion/components/AccordionButton.js +14 -0
- package/dist/components/Accordion/components/AccordionButton.js.map +1 -0
- package/dist/components/Accordion/components/AccordionContent.d.ts +6 -0
- package/dist/components/Accordion/components/AccordionContent.js +24 -0
- package/dist/components/Accordion/components/AccordionContent.js.map +1 -0
- package/dist/components/Accordion/components/AccordionLayout.d.ts +7 -0
- package/dist/components/Accordion/components/AccordionLayout.js +17 -0
- package/dist/components/Accordion/components/AccordionLayout.js.map +1 -0
- package/dist/components/Accordion/components/AccordionTitle.d.ts +5 -0
- package/dist/components/Accordion/components/AccordionTitle.js +6 -0
- package/dist/components/Accordion/components/AccordionTitle.js.map +1 -0
- package/dist/components/Accordion/constants.d.ts +1 -0
- package/dist/components/Accordion/constants.js +5 -0
- package/dist/components/Accordion/constants.js.map +1 -0
- package/dist/components/Accordion/index.d.ts +8 -0
- package/dist/components/Accordion/index.js +10 -0
- package/dist/components/Accordion/index.js.map +1 -0
- package/dist/components/Button/Button.d.ts +14 -0
- package/dist/components/Button/Button.js +34 -0
- package/dist/components/Button/Button.js.map +1 -0
- package/dist/components/Button/Button.test.d.ts +1 -0
- package/dist/components/Button/Button.test.js +101 -0
- package/dist/components/Button/Button.test.js.map +1 -0
- package/dist/components/Button/constants.d.ts +15 -0
- package/dist/components/Button/constants.js +15 -0
- package/dist/components/Button/constants.js.map +1 -0
- package/dist/components/ButtonWithIcon/ButtonWithIcon.d.ts +13 -0
- package/dist/components/ButtonWithIcon/ButtonWithIcon.js +37 -0
- package/dist/components/ButtonWithIcon/ButtonWithIcon.js.map +1 -0
- package/dist/components/ButtonWithIcon/ButtonWithIcon.test.d.ts +1 -0
- package/dist/components/ButtonWithIcon/ButtonWithIcon.test.js +55 -0
- package/dist/components/ButtonWithIcon/ButtonWithIcon.test.js.map +1 -0
- package/dist/components/ButtonWithIcon/constants.d.ts +2 -0
- package/dist/components/ButtonWithIcon/constants.js +6 -0
- package/dist/components/ButtonWithIcon/constants.js.map +1 -0
- package/dist/components/Category/Category.d.ts +8 -0
- package/dist/components/Category/Category.js +18 -0
- package/dist/components/Category/Category.js.map +1 -0
- package/dist/components/Category/Category.test.d.ts +1 -0
- package/dist/components/Category/Category.test.js +14 -0
- package/dist/components/Category/Category.test.js.map +1 -0
- package/dist/components/Category/constants.d.ts +7 -0
- package/dist/components/Category/constants.js +10 -0
- package/dist/components/Category/constants.js.map +1 -0
- package/dist/components/Checkbox/CheckboxComponent.d.ts +3 -0
- package/dist/components/Checkbox/CheckboxComponent.js +6 -0
- package/dist/components/Checkbox/CheckboxComponent.js.map +1 -0
- package/dist/components/Checkbox/CheckboxComponent.test.d.ts +1 -0
- package/dist/components/Checkbox/CheckboxComponent.test.js +31 -0
- package/dist/components/Checkbox/CheckboxComponent.test.js.map +1 -0
- package/dist/components/Checkbox/components/CheckboxBlock.d.ts +7 -0
- package/dist/components/Checkbox/components/CheckboxBlock.js +19 -0
- package/dist/components/Checkbox/components/CheckboxBlock.js.map +1 -0
- package/dist/components/Checkbox/components/CheckboxIndicator.d.ts +2 -0
- package/dist/components/Checkbox/components/CheckboxIndicator.js +7 -0
- package/dist/components/Checkbox/components/CheckboxIndicator.js.map +1 -0
- package/dist/components/Checkbox/components/CheckboxInput.d.ts +3 -0
- package/dist/components/Checkbox/components/CheckboxInput.js +34 -0
- package/dist/components/Checkbox/components/CheckboxInput.js.map +1 -0
- package/dist/components/Checkbox/constants.d.ts +11 -0
- package/dist/components/Checkbox/constants.js +6 -0
- package/dist/components/Checkbox/constants.js.map +1 -0
- package/dist/components/Checkbox/index.d.ts +5 -0
- package/dist/components/Checkbox/index.js +8 -0
- package/dist/components/Checkbox/index.js.map +1 -0
- package/dist/components/Dropdown/Dropdown.test.d.ts +1 -0
- package/dist/components/Dropdown/Dropdown.test.js +57 -0
- package/dist/components/Dropdown/Dropdown.test.js.map +1 -0
- package/dist/components/Dropdown/DropdownComponent.d.ts +9 -0
- package/dist/components/Dropdown/DropdownComponent.js +9 -0
- package/dist/components/Dropdown/DropdownComponent.js.map +1 -0
- package/dist/components/Dropdown/components/DropdownBlock.d.ts +5 -0
- package/dist/components/Dropdown/components/DropdownBlock.js +6 -0
- package/dist/components/Dropdown/components/DropdownBlock.js.map +1 -0
- package/dist/components/Dropdown/components/DropdownCategory.d.ts +7 -0
- package/dist/components/Dropdown/components/DropdownCategory.js +18 -0
- package/dist/components/Dropdown/components/DropdownCategory.js.map +1 -0
- package/dist/components/Dropdown/components/DropdownList.d.ts +3 -0
- package/dist/components/Dropdown/components/DropdownList.js +6 -0
- package/dist/components/Dropdown/components/DropdownList.js.map +1 -0
- package/dist/components/Dropdown/components/DropdownOption.d.ts +8 -0
- package/dist/components/Dropdown/components/DropdownOption.js +22 -0
- package/dist/components/Dropdown/components/DropdownOption.js.map +1 -0
- package/dist/components/Dropdown/constants.d.ts +11 -0
- package/dist/components/Dropdown/constants.js +5 -0
- package/dist/components/Dropdown/constants.js.map +1 -0
- package/dist/components/Dropdown/index.d.ts +6 -0
- package/dist/components/Dropdown/index.js +8 -0
- package/dist/components/Dropdown/index.js.map +1 -0
- package/dist/components/FavButton/FavButton.d.ts +11 -0
- package/dist/components/FavButton/FavButton.js +30 -0
- package/dist/components/FavButton/FavButton.js.map +1 -0
- package/dist/components/FavButton/FavButton.test.d.ts +1 -0
- package/dist/components/FavButton/FavButton.test.js +81 -0
- package/dist/components/FavButton/FavButton.test.js.map +1 -0
- package/dist/components/FavButton/constants.d.ts +6 -0
- package/dist/components/FavButton/constants.js +9 -0
- package/dist/components/FavButton/constants.js.map +1 -0
- package/dist/components/Field/FieldComponent.d.ts +9 -0
- package/dist/components/Field/FieldComponent.js +9 -0
- package/dist/components/Field/FieldComponent.js.map +1 -0
- package/dist/components/Field/FieldComponent.test.d.ts +1 -0
- package/dist/components/Field/FieldComponent.test.js +31 -0
- package/dist/components/Field/FieldComponent.test.js.map +1 -0
- package/dist/components/Field/components/FieldError.d.ts +5 -0
- package/dist/components/Field/components/FieldError.js +6 -0
- package/dist/components/Field/components/FieldError.js.map +1 -0
- package/dist/components/Field/components/FieldLabel.d.ts +6 -0
- package/dist/components/Field/components/FieldLabel.js +15 -0
- package/dist/components/Field/components/FieldLabel.js.map +1 -0
- package/dist/components/Field/constants.d.ts +2 -0
- package/dist/components/Field/constants.js +6 -0
- package/dist/components/Field/constants.js.map +1 -0
- package/dist/components/Field/index.d.ts +4 -0
- package/dist/components/Field/index.js +7 -0
- package/dist/components/Field/index.js.map +1 -0
- package/dist/components/FilterAccordion/FilterAccordionComponent.d.ts +9 -0
- package/dist/components/FilterAccordion/FilterAccordionComponent.js +7 -0
- package/dist/components/FilterAccordion/FilterAccordionComponent.js.map +1 -0
- package/dist/components/FilterAccordion/FilterAccordionComponent.test.d.ts +1 -0
- package/dist/components/FilterAccordion/FilterAccordionComponent.test.js +34 -0
- package/dist/components/FilterAccordion/FilterAccordionComponent.test.js.map +1 -0
- package/dist/components/FilterAccordion/components/FilterAccordionArrow.d.ts +5 -0
- package/dist/components/FilterAccordion/components/FilterAccordionArrow.js +14 -0
- package/dist/components/FilterAccordion/components/FilterAccordionArrow.js.map +1 -0
- package/dist/components/FilterAccordion/components/FilterAccordionBlock.d.ts +5 -0
- package/dist/components/FilterAccordion/components/FilterAccordionBlock.js +6 -0
- package/dist/components/FilterAccordion/components/FilterAccordionBlock.js.map +1 -0
- package/dist/components/FilterAccordion/components/FilterAccordionContent.d.ts +6 -0
- package/dist/components/FilterAccordion/components/FilterAccordionContent.js +18 -0
- package/dist/components/FilterAccordion/components/FilterAccordionContent.js.map +1 -0
- package/dist/components/FilterAccordion/components/FilterAccordionLayout.d.ts +7 -0
- package/dist/components/FilterAccordion/components/FilterAccordionLayout.js +17 -0
- package/dist/components/FilterAccordion/components/FilterAccordionLayout.js.map +1 -0
- package/dist/components/FilterAccordion/components/FilterAccordionReset.d.ts +3 -0
- package/dist/components/FilterAccordion/components/FilterAccordionReset.js +16 -0
- package/dist/components/FilterAccordion/components/FilterAccordionReset.js.map +1 -0
- package/dist/components/FilterAccordion/constants.d.ts +3 -0
- package/dist/components/FilterAccordion/constants.js +9 -0
- package/dist/components/FilterAccordion/constants.js.map +1 -0
- package/dist/components/FilterAccordion/index.d.ts +7 -0
- package/dist/components/FilterAccordion/index.js +10 -0
- package/dist/components/FilterAccordion/index.js.map +1 -0
- package/dist/components/FilterButton/FilterButton.d.ts +8 -0
- package/dist/components/FilterButton/FilterButton.js +20 -0
- package/dist/components/FilterButton/FilterButton.js.map +1 -0
- package/dist/components/FilterButton/FilterButton.test.d.ts +1 -0
- package/dist/components/FilterButton/FilterButton.test.js +18 -0
- package/dist/components/FilterButton/FilterButton.test.js.map +1 -0
- package/dist/components/Gallery/Gallery.d.ts +8 -0
- package/dist/components/Gallery/Gallery.js +1094 -0
- package/dist/components/Gallery/Gallery.js.map +1 -0
- package/dist/components/Gallery/Gallery.test.d.ts +0 -0
- package/dist/components/Gallery/Gallery.test.js +25 -0
- package/dist/components/Gallery/Gallery.test.js.map +1 -0
- package/dist/components/Gallery/constants.d.ts +1 -0
- package/dist/components/Gallery/constants.js +5 -0
- package/dist/components/Gallery/constants.js.map +1 -0
- package/dist/components/Input/Input.d.ts +15 -0
- package/dist/components/Input/Input.js +43 -0
- package/dist/components/Input/Input.js.map +1 -0
- package/dist/components/Input/Input.test.d.ts +1 -0
- package/dist/components/Input/Input.test.js +46 -0
- package/dist/components/Input/Input.test.js.map +1 -0
- package/dist/components/Input/constants.d.ts +1 -0
- package/dist/components/Input/constants.js +5 -0
- package/dist/components/Input/constants.js.map +1 -0
- package/dist/components/LinkWithIcon/LinkWithIcon.d.ts +9 -0
- package/dist/components/LinkWithIcon/LinkWithIcon.js +19 -0
- package/dist/components/LinkWithIcon/LinkWithIcon.js.map +1 -0
- package/dist/components/LinkWithIcon/LinkWithIcon.test.d.ts +1 -0
- package/dist/components/LinkWithIcon/LinkWithIcon.test.js +55 -0
- package/dist/components/LinkWithIcon/LinkWithIcon.test.js.map +1 -0
- package/dist/components/LinkWithIcon/constants.d.ts +2 -0
- package/dist/components/LinkWithIcon/constants.js +6 -0
- package/dist/components/LinkWithIcon/constants.js.map +1 -0
- package/dist/components/NavLink/NavLink.d.ts +8 -0
- package/dist/components/NavLink/NavLink.js +20 -0
- package/dist/components/NavLink/NavLink.js.map +1 -0
- package/dist/components/NavLink/NavLink.test.d.ts +1 -0
- package/dist/components/NavLink/NavLink.test.js +30 -0
- package/dist/components/NavLink/NavLink.test.js.map +1 -0
- package/dist/components/NavLink/constants.d.ts +1 -0
- package/dist/components/NavLink/constants.js +5 -0
- package/dist/components/NavLink/constants.js.map +1 -0
- package/dist/components/Pagination/Pagination.test.d.ts +1 -0
- package/dist/components/Pagination/Pagination.test.js +79 -0
- package/dist/components/Pagination/Pagination.test.js.map +1 -0
- package/dist/components/Pagination/PaginationComponent.d.ts +6 -0
- package/dist/components/Pagination/PaginationComponent.js +8 -0
- package/dist/components/Pagination/PaginationComponent.js.map +1 -0
- package/dist/components/Pagination/components/PaginationArrow.d.ts +8 -0
- package/dist/components/Pagination/components/PaginationArrow.js +29 -0
- package/dist/components/Pagination/components/PaginationArrow.js.map +1 -0
- package/dist/components/Pagination/components/PaginationBody.d.ts +3 -0
- package/dist/components/Pagination/components/PaginationBody.js +6 -0
- package/dist/components/Pagination/components/PaginationBody.js.map +1 -0
- package/dist/components/Pagination/components/PaginationPage.d.ts +8 -0
- package/dist/components/Pagination/components/PaginationPage.js +17 -0
- package/dist/components/Pagination/components/PaginationPage.js.map +1 -0
- package/dist/components/Pagination/constants.d.ts +16 -0
- package/dist/components/Pagination/constants.js +11 -0
- package/dist/components/Pagination/constants.js.map +1 -0
- package/dist/components/Pagination/index.d.ts +5 -0
- package/dist/components/Pagination/index.js +7 -0
- package/dist/components/Pagination/index.js.map +1 -0
- package/dist/components/RangeSlider/RangeSlider.d.ts +7 -0
- package/dist/components/RangeSlider/RangeSlider.js +1072 -0
- package/dist/components/RangeSlider/RangeSlider.js.map +1 -0
- package/dist/components/RangeSlider/RangeSlider.test.d.ts +1 -0
- package/dist/components/RangeSlider/RangeSlider.test.js +15 -0
- package/dist/components/RangeSlider/RangeSlider.test.js.map +1 -0
- package/dist/components/RouterLink/RouterLink.d.ts +11 -0
- package/dist/components/RouterLink/RouterLink.js +32 -0
- package/dist/components/RouterLink/RouterLink.js.map +1 -0
- package/dist/components/RouterLink/RouterLink.test.d.ts +1 -0
- package/dist/components/RouterLink/RouterLink.test.js +68 -0
- package/dist/components/RouterLink/RouterLink.test.js.map +1 -0
- package/dist/components/RouterLink/constants.d.ts +8 -0
- package/dist/components/RouterLink/constants.js +11 -0
- package/dist/components/RouterLink/constants.js.map +1 -0
- package/dist/components/Select/Select.test.d.ts +1 -0
- package/dist/components/Select/Select.test.js +100 -0
- package/dist/components/Select/Select.test.js.map +1 -0
- package/dist/components/Select/SelectComponent.d.ts +13 -0
- package/dist/components/Select/SelectComponent.js +7 -0
- package/dist/components/Select/SelectComponent.js.map +1 -0
- package/dist/components/Select/components/SelectArrow.d.ts +2 -0
- package/dist/components/Select/components/SelectArrow.js +7 -0
- package/dist/components/Select/components/SelectArrow.js.map +1 -0
- package/dist/components/Select/components/SelectBlock.d.ts +6 -0
- package/dist/components/Select/components/SelectBlock.js +13 -0
- package/dist/components/Select/components/SelectBlock.js.map +1 -0
- package/dist/components/Select/components/SelectInput.d.ts +6 -0
- package/dist/components/Select/components/SelectInput.js +15 -0
- package/dist/components/Select/components/SelectInput.js.map +1 -0
- package/dist/components/Select/components/SelectList.d.ts +7 -0
- package/dist/components/Select/components/SelectList.js +6 -0
- package/dist/components/Select/components/SelectList.js.map +1 -0
- package/dist/components/Select/components/SelectOption.d.ts +7 -0
- package/dist/components/Select/components/SelectOption.js +16 -0
- package/dist/components/Select/components/SelectOption.js.map +1 -0
- package/dist/components/Select/components/SelectWrapper.d.ts +9 -0
- package/dist/components/Select/components/SelectWrapper.js +23 -0
- package/dist/components/Select/components/SelectWrapper.js.map +1 -0
- package/dist/components/Select/constants.d.ts +2 -0
- package/dist/components/Select/constants.js +8 -0
- package/dist/components/Select/constants.js.map +1 -0
- package/dist/components/Select/index.d.ts +8 -0
- package/dist/components/Select/index.js +10 -0
- package/dist/components/Select/index.js.map +1 -0
- package/dist/components/Slider/SliderComponent.d.ts +16 -0
- package/dist/components/Slider/SliderComponent.js +7 -0
- package/dist/components/Slider/SliderComponent.js.map +1 -0
- package/dist/components/Slider/constants.d.ts +4 -0
- package/dist/components/Slider/constants.js +2803 -0
- package/dist/components/Slider/constants.js.map +1 -0
- package/dist/components/SliderNavigate/SliderNavigate.d.ts +2 -0
- package/dist/components/SliderNavigate/SliderNavigate.js +21 -0
- package/dist/components/SliderNavigate/SliderNavigate.js.map +1 -0
- package/dist/components/SliderNavigate/SliderNavigate.test.d.ts +1 -0
- package/dist/components/SliderNavigate/SliderNavigate.test.js +24 -0
- package/dist/components/SliderNavigate/SliderNavigate.test.js.map +1 -0
- package/dist/components/SliderNavigate/components/NavigateButton.d.ts +7 -0
- package/dist/components/SliderNavigate/components/NavigateButton.js +19 -0
- package/dist/components/SliderNavigate/components/NavigateButton.js.map +1 -0
- package/dist/components/SliderNavigate/constants.d.ts +7 -0
- package/dist/components/SliderNavigate/constants.js +10 -0
- package/dist/components/SliderNavigate/constants.js.map +1 -0
- package/dist/iconBase-C4boY5mo.cjs +2 -0
- package/dist/iconBase-C4boY5mo.cjs.map +1 -0
- package/dist/iconBase-DSKTHwal.js +113 -0
- package/dist/iconBase-DSKTHwal.js.map +1 -0
- package/dist/index-6k1-qYX7.cjs +2 -0
- package/dist/index-6k1-qYX7.cjs.map +1 -0
- package/dist/index-BHJQkg-z.js +39 -0
- package/dist/index-BHJQkg-z.js.map +1 -0
- package/dist/index-BeUY6TnM.js +68 -0
- package/dist/index-BeUY6TnM.js.map +1 -0
- package/dist/index-C55-7-85.cjs +2 -0
- package/dist/index-C55-7-85.cjs.map +1 -0
- package/dist/index-C9UV8B4g.cjs +2 -0
- package/dist/index-C9UV8B4g.cjs.map +1 -0
- package/dist/index-CGl3Xo_k.js +19135 -0
- package/dist/index-CGl3Xo_k.js.map +1 -0
- package/dist/index-D9bMq-6v.cjs +2 -0
- package/dist/index-D9bMq-6v.cjs.map +1 -0
- package/dist/index-DgPeknFG.cjs +2 -0
- package/dist/index-DgPeknFG.cjs.map +1 -0
- package/dist/index-DpGIQZJ3.js +35 -0
- package/dist/index-DpGIQZJ3.js.map +1 -0
- package/dist/index-DtO1atyA.js +30 -0
- package/dist/index-DtO1atyA.js.map +1 -0
- package/dist/index-YTr4A0AR.js +25 -0
- package/dist/index-YTr4A0AR.js.map +1 -0
- package/dist/index-vOj_CXk2.cjs +175 -0
- package/dist/index-vOj_CXk2.cjs.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/react.esm-C2dSWZxI.cjs +91 -0
- package/dist/react.esm-C2dSWZxI.cjs.map +1 -0
- package/dist/react.esm-DeOc63_l.js +11455 -0
- package/dist/react.esm-DeOc63_l.js.map +1 -0
- package/dist/services/helpers.d.ts +2 -0
- package/dist/services/helpers.js +21 -0
- package/dist/services/helpers.js.map +1 -0
- package/dist/services/hoc/withBlockClass.d.ts +7 -0
- package/dist/services/hoc/withBlockClass.js +22 -0
- package/dist/services/hoc/withBlockClass.js.map +1 -0
- package/dist/services/hooks/useAccordionHeight.d.ts +9 -0
- package/dist/services/hooks/useAccordionHeight.js +17 -0
- package/dist/services/hooks/useAccordionHeight.js.map +1 -0
- package/dist/services/hooks/useClickOutside.d.ts +5 -0
- package/dist/services/hooks/useClickOutside.js +17 -0
- package/dist/services/hooks/useClickOutside.js.map +1 -0
- package/dist/services/hooks/useMatchMedia.d.ts +1 -0
- package/dist/services/hooks/useMatchMedia.js +18 -0
- package/dist/services/hooks/useMatchMedia.js.map +1 -0
- package/dist/services/icons.d.ts +7 -0
- package/dist/services/icons.js +27 -0
- package/dist/services/icons.js.map +1 -0
- package/dist/services/mocks.d.ts +12 -0
- package/dist/services/mocks.js +21 -0
- package/dist/services/mocks.js.map +1 -0
- package/dist/services/types.d.ts +7 -0
- package/dist/services/types.js +2 -0
- package/dist/services/types.js.map +1 -0
- package/dist/setupTests.d.ts +0 -0
- package/dist/setupTests.js +10217 -0
- package/dist/setupTests.js.map +1 -0
- 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)}
|