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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RangeSlider.js","sources":["../../../node_modules/@babel/runtime/helpers/esm/typeof.js","../../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../../../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../../../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../../../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../../../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../../../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../../../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../../../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../../../node_modules/classnames/index.js","../../../node_modules/rc-util/es/hooks/useEvent.js","../../../node_modules/rc-util/es/Dom/canUseDom.js","../../../node_modules/rc-util/es/hooks/useLayoutEffect.js","../../../node_modules/rc-util/es/hooks/useState.js","../../../node_modules/rc-util/es/hooks/useMergedState.js","../../../node_modules/rc-util/es/warning.js","../../../node_modules/rc-util/es/isEqual.js","../../../node_modules/@babel/runtime/helpers/esm/extends.js","../../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../../../node_modules/rc-slider/es/util.js","../../../node_modules/rc-util/es/KeyCode.js","../../../node_modules/rc-slider/es/context.js","../../../node_modules/rc-slider/es/Handles/Handle.js","../../../node_modules/rc-slider/es/Handles/index.js","../../../node_modules/rc-slider/es/Marks/Mark.js","../../../node_modules/rc-slider/es/Marks/index.js","../../../node_modules/rc-slider/es/Steps/Dot.js","../../../node_modules/rc-slider/es/Steps/index.js","../../../node_modules/rc-slider/es/Tracks/Track.js","../../../node_modules/rc-slider/es/Tracks/index.js","../../../node_modules/rc-slider/es/hooks/useDrag.js","../../../node_modules/rc-slider/es/hooks/useOffset.js","../../../node_modules/rc-slider/es/hooks/useRange.js","../../../node_modules/rc-slider/es/Slider.js","../../../lib/components/RangeSlider/RangeSlider.tsx"],"sourcesContent":["function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nexport { _objectSpread2 as default };","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import * as React from 'react';\nexport default function useEvent(callback) {\n var fnRef = React.useRef();\n fnRef.current = callback;\n var memoFn = React.useCallback(function () {\n var _fnRef$current;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return (_fnRef$current = fnRef.current) === null || _fnRef$current === void 0 ? void 0 : _fnRef$current.call.apply(_fnRef$current, [fnRef].concat(args));\n }, []);\n return memoFn;\n}","export default function canUseDom() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}","import * as React from 'react';\nimport canUseDom from \"../Dom/canUseDom\";\n\n/**\n * Wrap `React.useLayoutEffect` which will not throw warning message in test env\n */\nvar useInternalLayoutEffect = process.env.NODE_ENV !== 'test' && canUseDom() ? React.useLayoutEffect : React.useEffect;\nvar useLayoutEffect = function useLayoutEffect(callback, deps) {\n var firstMountRef = React.useRef(true);\n useInternalLayoutEffect(function () {\n return callback(firstMountRef.current);\n }, deps);\n\n // We tell react that first mount has passed\n useInternalLayoutEffect(function () {\n firstMountRef.current = false;\n return function () {\n firstMountRef.current = true;\n };\n }, []);\n};\nexport var useLayoutUpdateEffect = function useLayoutUpdateEffect(callback, deps) {\n useLayoutEffect(function (firstMount) {\n if (!firstMount) {\n return callback();\n }\n }, deps);\n};\nexport default useLayoutEffect;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\n/**\n * Same as React.useState but `setState` accept `ignoreDestroy` param to not to setState after destroyed.\n * We do not make this auto is to avoid real memory leak.\n * Developer should confirm it's safe to ignore themselves.\n */\nexport default function useSafeState(defaultValue) {\n var destroyRef = React.useRef(false);\n var _React$useState = React.useState(defaultValue),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n value = _React$useState2[0],\n setValue = _React$useState2[1];\n React.useEffect(function () {\n destroyRef.current = false;\n return function () {\n destroyRef.current = true;\n };\n }, []);\n function safeSetState(updater, ignoreDestroy) {\n if (ignoreDestroy && destroyRef.current) {\n return;\n }\n setValue(updater);\n }\n return [value, safeSetState];\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport useEvent from \"./useEvent\";\nimport { useLayoutUpdateEffect } from \"./useLayoutEffect\";\nimport useState from \"./useState\";\n/** We only think `undefined` is empty */\nfunction hasValue(value) {\n return value !== undefined;\n}\n\n/**\n * Similar to `useState` but will use props value if provided.\n * Note that internal use rc-util `useState` hook.\n */\nexport default function useMergedState(defaultStateValue, option) {\n var _ref = option || {},\n defaultValue = _ref.defaultValue,\n value = _ref.value,\n onChange = _ref.onChange,\n postState = _ref.postState;\n\n // ======================= Init =======================\n var _useState = useState(function () {\n if (hasValue(value)) {\n return value;\n } else if (hasValue(defaultValue)) {\n return typeof defaultValue === 'function' ? defaultValue() : defaultValue;\n } else {\n return typeof defaultStateValue === 'function' ? defaultStateValue() : defaultStateValue;\n }\n }),\n _useState2 = _slicedToArray(_useState, 2),\n innerValue = _useState2[0],\n setInnerValue = _useState2[1];\n var mergedValue = value !== undefined ? value : innerValue;\n var postMergedValue = postState ? postState(mergedValue) : mergedValue;\n\n // ====================== Change ======================\n var onChangeFn = useEvent(onChange);\n var _useState3 = useState([mergedValue]),\n _useState4 = _slicedToArray(_useState3, 2),\n prevValue = _useState4[0],\n setPrevValue = _useState4[1];\n useLayoutUpdateEffect(function () {\n var prev = prevValue[0];\n if (innerValue !== prev) {\n onChangeFn(innerValue, prev);\n }\n }, [prevValue]);\n\n // Sync value back to `undefined` when it from control to un-control\n useLayoutUpdateEffect(function () {\n if (!hasValue(value)) {\n setInnerValue(value);\n }\n }, [value]);\n\n // ====================== Update ======================\n var triggerChange = useEvent(function (updater, ignoreDestroy) {\n setInnerValue(updater, ignoreDestroy);\n setPrevValue([mergedValue], ignoreDestroy);\n });\n return [postMergedValue, triggerChange];\n}","/* eslint-disable no-console */\nvar warned = {};\nvar preWarningFns = [];\n\n/**\n * Pre warning enable you to parse content before console.error.\n * Modify to null will prevent warning.\n */\nexport var preMessage = function preMessage(fn) {\n preWarningFns.push(fn);\n};\n\n/**\n * Warning if condition not match.\n * @param valid Condition\n * @param message Warning message\n * @example\n * ```js\n * warning(false, 'some error'); // print some error\n * warning(true, 'some error'); // print nothing\n * warning(1 === 2, 'some error'); // print some error\n * ```\n */\nexport function warning(valid, message) {\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n var finalMessage = preWarningFns.reduce(function (msg, preMessageFn) {\n return preMessageFn(msg !== null && msg !== void 0 ? msg : '', 'warning');\n }, message);\n if (finalMessage) {\n console.error(\"Warning: \".concat(finalMessage));\n }\n }\n}\n\n/** @see Similar to {@link warning} */\nexport function note(valid, message) {\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n var finalMessage = preWarningFns.reduce(function (msg, preMessageFn) {\n return preMessageFn(msg !== null && msg !== void 0 ? msg : '', 'note');\n }, message);\n if (finalMessage) {\n console.warn(\"Note: \".concat(finalMessage));\n }\n }\n}\nexport function resetWarned() {\n warned = {};\n}\nexport function call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\n\n/** @see Same as {@link warning}, but only warn once for the same message */\nexport function warningOnce(valid, message) {\n call(warning, valid, message);\n}\n\n/** @see Same as {@link warning}, but only warn once for the same message */\nexport function noteOnce(valid, message) {\n call(note, valid, message);\n}\nwarningOnce.preMessage = preMessage;\nwarningOnce.resetWarned = resetWarned;\nwarningOnce.noteOnce = noteOnce;\nexport default warningOnce;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport warning from \"./warning\";\n\n/**\n * Deeply compares two object literals.\n * @param obj1 object 1\n * @param obj2 object 2\n * @param shallow shallow compare\n * @returns\n */\nfunction isEqual(obj1, obj2) {\n var shallow = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n // https://github.com/mapbox/mapbox-gl-js/pull/5979/files#diff-fde7145050c47cc3a306856efd5f9c3016e86e859de9afbd02c879be5067e58f\n var refSet = new Set();\n function deepEqual(a, b) {\n var level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var circular = refSet.has(a);\n warning(!circular, 'Warning: There may be circular references');\n if (circular) {\n return false;\n }\n if (a === b) {\n return true;\n }\n if (shallow && level > 1) {\n return false;\n }\n refSet.add(a);\n var newLevel = level + 1;\n if (Array.isArray(a)) {\n if (!Array.isArray(b) || a.length !== b.length) {\n return false;\n }\n for (var i = 0; i < a.length; i++) {\n if (!deepEqual(a[i], b[i], newLevel)) {\n return false;\n }\n }\n return true;\n }\n if (a && b && _typeof(a) === 'object' && _typeof(b) === 'object') {\n var keys = Object.keys(a);\n if (keys.length !== Object.keys(b).length) {\n return false;\n }\n return keys.every(function (key) {\n return deepEqual(a[key], b[key], newLevel);\n });\n }\n // other\n return false;\n }\n return deepEqual(obj1, obj2);\n}\nexport default isEqual;","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","export function getOffset(value, min, max) {\n return (value - min) / (max - min);\n}\nexport function getDirectionStyle(direction, value, min, max) {\n var offset = getOffset(value, min, max);\n var positionStyle = {};\n switch (direction) {\n case 'rtl':\n positionStyle.right = \"\".concat(offset * 100, \"%\");\n positionStyle.transform = 'translateX(50%)';\n break;\n case 'btt':\n positionStyle.bottom = \"\".concat(offset * 100, \"%\");\n positionStyle.transform = 'translateY(50%)';\n break;\n case 'ttb':\n positionStyle.top = \"\".concat(offset * 100, \"%\");\n positionStyle.transform = 'translateY(-50%)';\n break;\n default:\n positionStyle.left = \"\".concat(offset * 100, \"%\");\n positionStyle.transform = 'translateX(-50%)';\n break;\n }\n return positionStyle;\n}\n\n/** Return index value if is list or return value directly */\nexport function getIndex(value, index) {\n return Array.isArray(value) ? value[index] : value;\n}","/**\n * @ignore\n * some key-codes definition and utils from closure-library\n * @author yiminghe@gmail.com\n */\n\nvar KeyCode = {\n /**\n * MAC_ENTER\n */\n MAC_ENTER: 3,\n /**\n * BACKSPACE\n */\n BACKSPACE: 8,\n /**\n * TAB\n */\n TAB: 9,\n /**\n * NUMLOCK on FF/Safari Mac\n */\n NUM_CENTER: 12,\n // NUMLOCK on FF/Safari Mac\n /**\n * ENTER\n */\n ENTER: 13,\n /**\n * SHIFT\n */\n SHIFT: 16,\n /**\n * CTRL\n */\n CTRL: 17,\n /**\n * ALT\n */\n ALT: 18,\n /**\n * PAUSE\n */\n PAUSE: 19,\n /**\n * CAPS_LOCK\n */\n CAPS_LOCK: 20,\n /**\n * ESC\n */\n ESC: 27,\n /**\n * SPACE\n */\n SPACE: 32,\n /**\n * PAGE_UP\n */\n PAGE_UP: 33,\n // also NUM_NORTH_EAST\n /**\n * PAGE_DOWN\n */\n PAGE_DOWN: 34,\n // also NUM_SOUTH_EAST\n /**\n * END\n */\n END: 35,\n // also NUM_SOUTH_WEST\n /**\n * HOME\n */\n HOME: 36,\n // also NUM_NORTH_WEST\n /**\n * LEFT\n */\n LEFT: 37,\n // also NUM_WEST\n /**\n * UP\n */\n UP: 38,\n // also NUM_NORTH\n /**\n * RIGHT\n */\n RIGHT: 39,\n // also NUM_EAST\n /**\n * DOWN\n */\n DOWN: 40,\n // also NUM_SOUTH\n /**\n * PRINT_SCREEN\n */\n PRINT_SCREEN: 44,\n /**\n * INSERT\n */\n INSERT: 45,\n // also NUM_INSERT\n /**\n * DELETE\n */\n DELETE: 46,\n // also NUM_DELETE\n /**\n * ZERO\n */\n ZERO: 48,\n /**\n * ONE\n */\n ONE: 49,\n /**\n * TWO\n */\n TWO: 50,\n /**\n * THREE\n */\n THREE: 51,\n /**\n * FOUR\n */\n FOUR: 52,\n /**\n * FIVE\n */\n FIVE: 53,\n /**\n * SIX\n */\n SIX: 54,\n /**\n * SEVEN\n */\n SEVEN: 55,\n /**\n * EIGHT\n */\n EIGHT: 56,\n /**\n * NINE\n */\n NINE: 57,\n /**\n * QUESTION_MARK\n */\n QUESTION_MARK: 63,\n // needs localization\n /**\n * A\n */\n A: 65,\n /**\n * B\n */\n B: 66,\n /**\n * C\n */\n C: 67,\n /**\n * D\n */\n D: 68,\n /**\n * E\n */\n E: 69,\n /**\n * F\n */\n F: 70,\n /**\n * G\n */\n G: 71,\n /**\n * H\n */\n H: 72,\n /**\n * I\n */\n I: 73,\n /**\n * J\n */\n J: 74,\n /**\n * K\n */\n K: 75,\n /**\n * L\n */\n L: 76,\n /**\n * M\n */\n M: 77,\n /**\n * N\n */\n N: 78,\n /**\n * O\n */\n O: 79,\n /**\n * P\n */\n P: 80,\n /**\n * Q\n */\n Q: 81,\n /**\n * R\n */\n R: 82,\n /**\n * S\n */\n S: 83,\n /**\n * T\n */\n T: 84,\n /**\n * U\n */\n U: 85,\n /**\n * V\n */\n V: 86,\n /**\n * W\n */\n W: 87,\n /**\n * X\n */\n X: 88,\n /**\n * Y\n */\n Y: 89,\n /**\n * Z\n */\n Z: 90,\n /**\n * META\n */\n META: 91,\n // WIN_KEY_LEFT\n /**\n * WIN_KEY_RIGHT\n */\n WIN_KEY_RIGHT: 92,\n /**\n * CONTEXT_MENU\n */\n CONTEXT_MENU: 93,\n /**\n * NUM_ZERO\n */\n NUM_ZERO: 96,\n /**\n * NUM_ONE\n */\n NUM_ONE: 97,\n /**\n * NUM_TWO\n */\n NUM_TWO: 98,\n /**\n * NUM_THREE\n */\n NUM_THREE: 99,\n /**\n * NUM_FOUR\n */\n NUM_FOUR: 100,\n /**\n * NUM_FIVE\n */\n NUM_FIVE: 101,\n /**\n * NUM_SIX\n */\n NUM_SIX: 102,\n /**\n * NUM_SEVEN\n */\n NUM_SEVEN: 103,\n /**\n * NUM_EIGHT\n */\n NUM_EIGHT: 104,\n /**\n * NUM_NINE\n */\n NUM_NINE: 105,\n /**\n * NUM_MULTIPLY\n */\n NUM_MULTIPLY: 106,\n /**\n * NUM_PLUS\n */\n NUM_PLUS: 107,\n /**\n * NUM_MINUS\n */\n NUM_MINUS: 109,\n /**\n * NUM_PERIOD\n */\n NUM_PERIOD: 110,\n /**\n * NUM_DIVISION\n */\n NUM_DIVISION: 111,\n /**\n * F1\n */\n F1: 112,\n /**\n * F2\n */\n F2: 113,\n /**\n * F3\n */\n F3: 114,\n /**\n * F4\n */\n F4: 115,\n /**\n * F5\n */\n F5: 116,\n /**\n * F6\n */\n F6: 117,\n /**\n * F7\n */\n F7: 118,\n /**\n * F8\n */\n F8: 119,\n /**\n * F9\n */\n F9: 120,\n /**\n * F10\n */\n F10: 121,\n /**\n * F11\n */\n F11: 122,\n /**\n * F12\n */\n F12: 123,\n /**\n * NUMLOCK\n */\n NUMLOCK: 144,\n /**\n * SEMICOLON\n */\n SEMICOLON: 186,\n // needs localization\n /**\n * DASH\n */\n DASH: 189,\n // needs localization\n /**\n * EQUALS\n */\n EQUALS: 187,\n // needs localization\n /**\n * COMMA\n */\n COMMA: 188,\n // needs localization\n /**\n * PERIOD\n */\n PERIOD: 190,\n // needs localization\n /**\n * SLASH\n */\n SLASH: 191,\n // needs localization\n /**\n * APOSTROPHE\n */\n APOSTROPHE: 192,\n // needs localization\n /**\n * SINGLE_QUOTE\n */\n SINGLE_QUOTE: 222,\n // needs localization\n /**\n * OPEN_SQUARE_BRACKET\n */\n OPEN_SQUARE_BRACKET: 219,\n // needs localization\n /**\n * BACKSLASH\n */\n BACKSLASH: 220,\n // needs localization\n /**\n * CLOSE_SQUARE_BRACKET\n */\n CLOSE_SQUARE_BRACKET: 221,\n // needs localization\n /**\n * WIN_KEY\n */\n WIN_KEY: 224,\n /**\n * MAC_FF_META\n */\n MAC_FF_META: 224,\n // Firefox (Gecko) fires this for the meta key instead of 91\n /**\n * WIN_IME\n */\n WIN_IME: 229,\n // ======================== Function ========================\n /**\n * whether text and modified key is entered at the same time.\n */\n isTextModifyingKeyEvent: function isTextModifyingKeyEvent(e) {\n var keyCode = e.keyCode;\n if (e.altKey && !e.ctrlKey || e.metaKey ||\n // Function keys don't generate text\n keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {\n return false;\n }\n\n // The following keys are quite harmless, even in combination with\n // CTRL, ALT or SHIFT.\n switch (keyCode) {\n case KeyCode.ALT:\n case KeyCode.CAPS_LOCK:\n case KeyCode.CONTEXT_MENU:\n case KeyCode.CTRL:\n case KeyCode.DOWN:\n case KeyCode.END:\n case KeyCode.ESC:\n case KeyCode.HOME:\n case KeyCode.INSERT:\n case KeyCode.LEFT:\n case KeyCode.MAC_FF_META:\n case KeyCode.META:\n case KeyCode.NUMLOCK:\n case KeyCode.NUM_CENTER:\n case KeyCode.PAGE_DOWN:\n case KeyCode.PAGE_UP:\n case KeyCode.PAUSE:\n case KeyCode.PRINT_SCREEN:\n case KeyCode.RIGHT:\n case KeyCode.SHIFT:\n case KeyCode.UP:\n case KeyCode.WIN_KEY:\n case KeyCode.WIN_KEY_RIGHT:\n return false;\n default:\n return true;\n }\n },\n /**\n * whether character is entered.\n */\n isCharacterKey: function isCharacterKey(keyCode) {\n if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {\n return true;\n }\n if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {\n return true;\n }\n if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {\n return true;\n }\n\n // Safari sends zero key code for non-latin characters.\n if (window.navigator.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {\n return true;\n }\n switch (keyCode) {\n case KeyCode.SPACE:\n case KeyCode.QUESTION_MARK:\n case KeyCode.NUM_PLUS:\n case KeyCode.NUM_MINUS:\n case KeyCode.NUM_PERIOD:\n case KeyCode.NUM_DIVISION:\n case KeyCode.SEMICOLON:\n case KeyCode.DASH:\n case KeyCode.EQUALS:\n case KeyCode.COMMA:\n case KeyCode.PERIOD:\n case KeyCode.SLASH:\n case KeyCode.APOSTROPHE:\n case KeyCode.SINGLE_QUOTE:\n case KeyCode.OPEN_SQUARE_BRACKET:\n case KeyCode.BACKSLASH:\n case KeyCode.CLOSE_SQUARE_BRACKET:\n return true;\n default:\n return false;\n }\n }\n};\nexport default KeyCode;","import * as React from 'react';\nvar SliderContext = /*#__PURE__*/React.createContext({\n min: 0,\n max: 0,\n direction: 'ltr',\n step: 1,\n includedStart: 0,\n includedEnd: 0,\n tabIndex: 0,\n keyboard: true,\n styles: {},\n classNames: {}\n});\nexport default SliderContext;\n/** @private NOT PROMISE AVAILABLE. DO NOT USE IN PRODUCTION. */\nexport var UnstableContext = /*#__PURE__*/React.createContext({});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"value\", \"valueIndex\", \"onStartMove\", \"onDelete\", \"style\", \"render\", \"dragging\", \"draggingDelete\", \"onOffsetChange\", \"onChangeComplete\", \"onFocus\", \"onMouseEnter\"];\nimport cls from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport * as React from 'react';\nimport SliderContext from \"../context\";\nimport { getDirectionStyle, getIndex } from \"../util\";\nvar Handle = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n value = props.value,\n valueIndex = props.valueIndex,\n onStartMove = props.onStartMove,\n onDelete = props.onDelete,\n style = props.style,\n render = props.render,\n dragging = props.dragging,\n draggingDelete = props.draggingDelete,\n onOffsetChange = props.onOffsetChange,\n onChangeComplete = props.onChangeComplete,\n onFocus = props.onFocus,\n onMouseEnter = props.onMouseEnter,\n restProps = _objectWithoutProperties(props, _excluded);\n var _React$useContext = React.useContext(SliderContext),\n min = _React$useContext.min,\n max = _React$useContext.max,\n direction = _React$useContext.direction,\n disabled = _React$useContext.disabled,\n keyboard = _React$useContext.keyboard,\n range = _React$useContext.range,\n tabIndex = _React$useContext.tabIndex,\n ariaLabelForHandle = _React$useContext.ariaLabelForHandle,\n ariaLabelledByForHandle = _React$useContext.ariaLabelledByForHandle,\n ariaRequired = _React$useContext.ariaRequired,\n ariaValueTextFormatterForHandle = _React$useContext.ariaValueTextFormatterForHandle,\n styles = _React$useContext.styles,\n classNames = _React$useContext.classNames;\n var handlePrefixCls = \"\".concat(prefixCls, \"-handle\");\n\n // ============================ Events ============================\n var onInternalStartMove = function onInternalStartMove(e) {\n if (!disabled) {\n onStartMove(e, valueIndex);\n }\n };\n var onInternalFocus = function onInternalFocus(e) {\n onFocus === null || onFocus === void 0 || onFocus(e, valueIndex);\n };\n var onInternalMouseEnter = function onInternalMouseEnter(e) {\n onMouseEnter(e, valueIndex);\n };\n\n // =========================== Keyboard ===========================\n var onKeyDown = function onKeyDown(e) {\n if (!disabled && keyboard) {\n var offset = null;\n\n // Change the value\n switch (e.which || e.keyCode) {\n case KeyCode.LEFT:\n offset = direction === 'ltr' || direction === 'btt' ? -1 : 1;\n break;\n case KeyCode.RIGHT:\n offset = direction === 'ltr' || direction === 'btt' ? 1 : -1;\n break;\n\n // Up is plus\n case KeyCode.UP:\n offset = direction !== 'ttb' ? 1 : -1;\n break;\n\n // Down is minus\n case KeyCode.DOWN:\n offset = direction !== 'ttb' ? -1 : 1;\n break;\n case KeyCode.HOME:\n offset = 'min';\n break;\n case KeyCode.END:\n offset = 'max';\n break;\n case KeyCode.PAGE_UP:\n offset = 2;\n break;\n case KeyCode.PAGE_DOWN:\n offset = -2;\n break;\n case KeyCode.BACKSPACE:\n case KeyCode.DELETE:\n onDelete(valueIndex);\n break;\n }\n if (offset !== null) {\n e.preventDefault();\n onOffsetChange(offset, valueIndex);\n }\n }\n };\n var handleKeyUp = function handleKeyUp(e) {\n switch (e.which || e.keyCode) {\n case KeyCode.LEFT:\n case KeyCode.RIGHT:\n case KeyCode.UP:\n case KeyCode.DOWN:\n case KeyCode.HOME:\n case KeyCode.END:\n case KeyCode.PAGE_UP:\n case KeyCode.PAGE_DOWN:\n onChangeComplete === null || onChangeComplete === void 0 || onChangeComplete();\n break;\n }\n };\n\n // ============================ Offset ============================\n var positionStyle = getDirectionStyle(direction, value, min, max);\n\n // ============================ Render ============================\n var divProps = {};\n if (valueIndex !== null) {\n var _getIndex;\n divProps = {\n tabIndex: disabled ? null : getIndex(tabIndex, valueIndex),\n role: 'slider',\n 'aria-valuemin': min,\n 'aria-valuemax': max,\n 'aria-valuenow': value,\n 'aria-disabled': disabled,\n 'aria-label': getIndex(ariaLabelForHandle, valueIndex),\n 'aria-labelledby': getIndex(ariaLabelledByForHandle, valueIndex),\n 'aria-required': getIndex(ariaRequired, valueIndex),\n 'aria-valuetext': (_getIndex = getIndex(ariaValueTextFormatterForHandle, valueIndex)) === null || _getIndex === void 0 ? void 0 : _getIndex(value),\n 'aria-orientation': direction === 'ltr' || direction === 'rtl' ? 'horizontal' : 'vertical',\n onMouseDown: onInternalStartMove,\n onTouchStart: onInternalStartMove,\n onFocus: onInternalFocus,\n onMouseEnter: onInternalMouseEnter,\n onKeyDown: onKeyDown,\n onKeyUp: handleKeyUp\n };\n }\n var handleNode = /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: ref,\n className: cls(handlePrefixCls, _defineProperty(_defineProperty(_defineProperty({}, \"\".concat(handlePrefixCls, \"-\").concat(valueIndex + 1), valueIndex !== null && range), \"\".concat(handlePrefixCls, \"-dragging\"), dragging), \"\".concat(handlePrefixCls, \"-dragging-delete\"), draggingDelete), classNames.handle),\n style: _objectSpread(_objectSpread(_objectSpread({}, positionStyle), style), styles.handle)\n }, divProps, restProps));\n\n // Customize\n if (render) {\n handleNode = render(handleNode, {\n index: valueIndex,\n prefixCls: prefixCls,\n value: value,\n dragging: dragging,\n draggingDelete: draggingDelete\n });\n }\n return handleNode;\n});\nif (process.env.NODE_ENV !== 'production') {\n Handle.displayName = 'Handle';\n}\nexport default Handle;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"style\", \"onStartMove\", \"onOffsetChange\", \"values\", \"handleRender\", \"activeHandleRender\", \"draggingIndex\", \"draggingDelete\", \"onFocus\"];\nimport * as React from 'react';\nimport { flushSync } from 'react-dom';\nimport { getIndex } from \"../util\";\nimport Handle from \"./Handle\";\nvar Handles = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n style = props.style,\n onStartMove = props.onStartMove,\n onOffsetChange = props.onOffsetChange,\n values = props.values,\n handleRender = props.handleRender,\n activeHandleRender = props.activeHandleRender,\n draggingIndex = props.draggingIndex,\n draggingDelete = props.draggingDelete,\n onFocus = props.onFocus,\n restProps = _objectWithoutProperties(props, _excluded);\n var handlesRef = React.useRef({});\n\n // =========================== Active ===========================\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n activeVisible = _React$useState2[0],\n setActiveVisible = _React$useState2[1];\n var _React$useState3 = React.useState(-1),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n activeIndex = _React$useState4[0],\n setActiveIndex = _React$useState4[1];\n var onActive = function onActive(index) {\n setActiveIndex(index);\n setActiveVisible(true);\n };\n var onHandleFocus = function onHandleFocus(e, index) {\n onActive(index);\n onFocus === null || onFocus === void 0 || onFocus(e);\n };\n var onHandleMouseEnter = function onHandleMouseEnter(e, index) {\n onActive(index);\n };\n\n // =========================== Render ===========================\n React.useImperativeHandle(ref, function () {\n return {\n focus: function focus(index) {\n var _handlesRef$current$i;\n (_handlesRef$current$i = handlesRef.current[index]) === null || _handlesRef$current$i === void 0 || _handlesRef$current$i.focus();\n },\n hideHelp: function hideHelp() {\n flushSync(function () {\n setActiveVisible(false);\n });\n }\n };\n });\n\n // =========================== Render ===========================\n // Handle Props\n var handleProps = _objectSpread({\n prefixCls: prefixCls,\n onStartMove: onStartMove,\n onOffsetChange: onOffsetChange,\n render: handleRender,\n onFocus: onHandleFocus,\n onMouseEnter: onHandleMouseEnter\n }, restProps);\n return /*#__PURE__*/React.createElement(React.Fragment, null, values.map(function (value, index) {\n var dragging = draggingIndex === index;\n return /*#__PURE__*/React.createElement(Handle, _extends({\n ref: function ref(node) {\n if (!node) {\n delete handlesRef.current[index];\n } else {\n handlesRef.current[index] = node;\n }\n },\n dragging: dragging,\n draggingDelete: dragging && draggingDelete,\n style: getIndex(style, index),\n key: index,\n value: value,\n valueIndex: index\n }, handleProps));\n }), activeHandleRender && activeVisible && /*#__PURE__*/React.createElement(Handle, _extends({\n key: \"a11y\"\n }, handleProps, {\n value: values[activeIndex],\n valueIndex: null,\n dragging: draggingIndex !== -1,\n draggingDelete: draggingDelete,\n render: activeHandleRender,\n style: {\n pointerEvents: 'none'\n },\n tabIndex: null,\n \"aria-hidden\": true\n })));\n});\nif (process.env.NODE_ENV !== 'production') {\n Handles.displayName = 'Handles';\n}\nexport default Handles;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport SliderContext from \"../context\";\nimport { getDirectionStyle } from \"../util\";\nvar Mark = function Mark(props) {\n var prefixCls = props.prefixCls,\n style = props.style,\n children = props.children,\n value = props.value,\n _onClick = props.onClick;\n var _React$useContext = React.useContext(SliderContext),\n min = _React$useContext.min,\n max = _React$useContext.max,\n direction = _React$useContext.direction,\n includedStart = _React$useContext.includedStart,\n includedEnd = _React$useContext.includedEnd,\n included = _React$useContext.included;\n var textCls = \"\".concat(prefixCls, \"-text\");\n\n // ============================ Offset ============================\n var positionStyle = getDirectionStyle(direction, value, min, max);\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(textCls, _defineProperty({}, \"\".concat(textCls, \"-active\"), included && includedStart <= value && value <= includedEnd)),\n style: _objectSpread(_objectSpread({}, positionStyle), style),\n onMouseDown: function onMouseDown(e) {\n e.stopPropagation();\n },\n onClick: function onClick() {\n _onClick(value);\n }\n }, children);\n};\nexport default Mark;","import * as React from 'react';\nimport Mark from \"./Mark\";\nvar Marks = function Marks(props) {\n var prefixCls = props.prefixCls,\n marks = props.marks,\n onClick = props.onClick;\n var markPrefixCls = \"\".concat(prefixCls, \"-mark\");\n\n // Not render mark if empty\n if (!marks.length) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: markPrefixCls\n }, marks.map(function (_ref) {\n var value = _ref.value,\n style = _ref.style,\n label = _ref.label;\n return /*#__PURE__*/React.createElement(Mark, {\n key: value,\n prefixCls: markPrefixCls,\n style: style,\n value: value,\n onClick: onClick\n }, label);\n }));\n};\nexport default Marks;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport SliderContext from \"../context\";\nimport { getDirectionStyle } from \"../util\";\nvar Dot = function Dot(props) {\n var prefixCls = props.prefixCls,\n value = props.value,\n style = props.style,\n activeStyle = props.activeStyle;\n var _React$useContext = React.useContext(SliderContext),\n min = _React$useContext.min,\n max = _React$useContext.max,\n direction = _React$useContext.direction,\n included = _React$useContext.included,\n includedStart = _React$useContext.includedStart,\n includedEnd = _React$useContext.includedEnd;\n var dotClassName = \"\".concat(prefixCls, \"-dot\");\n var active = included && includedStart <= value && value <= includedEnd;\n\n // ============================ Offset ============================\n var mergedStyle = _objectSpread(_objectSpread({}, getDirectionStyle(direction, value, min, max)), typeof style === 'function' ? style(value) : style);\n if (active) {\n mergedStyle = _objectSpread(_objectSpread({}, mergedStyle), typeof activeStyle === 'function' ? activeStyle(value) : activeStyle);\n }\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(dotClassName, _defineProperty({}, \"\".concat(dotClassName, \"-active\"), active)),\n style: mergedStyle\n });\n};\nexport default Dot;","import * as React from 'react';\nimport SliderContext from \"../context\";\nimport Dot from \"./Dot\";\nvar Steps = function Steps(props) {\n var prefixCls = props.prefixCls,\n marks = props.marks,\n dots = props.dots,\n style = props.style,\n activeStyle = props.activeStyle;\n var _React$useContext = React.useContext(SliderContext),\n min = _React$useContext.min,\n max = _React$useContext.max,\n step = _React$useContext.step;\n var stepDots = React.useMemo(function () {\n var dotSet = new Set();\n\n // Add marks\n marks.forEach(function (mark) {\n dotSet.add(mark.value);\n });\n\n // Fill dots\n if (dots && step !== null) {\n var current = min;\n while (current <= max) {\n dotSet.add(current);\n current += step;\n }\n }\n return Array.from(dotSet);\n }, [min, max, step, dots, marks]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-step\")\n }, stepDots.map(function (dotValue) {\n return /*#__PURE__*/React.createElement(Dot, {\n prefixCls: prefixCls,\n key: dotValue,\n value: dotValue,\n style: style,\n activeStyle: activeStyle\n });\n }));\n};\nexport default Steps;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport cls from 'classnames';\nimport * as React from 'react';\nimport SliderContext from \"../context\";\nimport { getOffset } from \"../util\";\nvar Track = function Track(props) {\n var prefixCls = props.prefixCls,\n style = props.style,\n start = props.start,\n end = props.end,\n index = props.index,\n onStartMove = props.onStartMove,\n replaceCls = props.replaceCls;\n var _React$useContext = React.useContext(SliderContext),\n direction = _React$useContext.direction,\n min = _React$useContext.min,\n max = _React$useContext.max,\n disabled = _React$useContext.disabled,\n range = _React$useContext.range,\n classNames = _React$useContext.classNames;\n var trackPrefixCls = \"\".concat(prefixCls, \"-track\");\n var offsetStart = getOffset(start, min, max);\n var offsetEnd = getOffset(end, min, max);\n\n // ============================ Events ============================\n var onInternalStartMove = function onInternalStartMove(e) {\n if (!disabled && onStartMove) {\n onStartMove(e, -1);\n }\n };\n\n // ============================ Render ============================\n var positionStyle = {};\n switch (direction) {\n case 'rtl':\n positionStyle.right = \"\".concat(offsetStart * 100, \"%\");\n positionStyle.width = \"\".concat(offsetEnd * 100 - offsetStart * 100, \"%\");\n break;\n case 'btt':\n positionStyle.bottom = \"\".concat(offsetStart * 100, \"%\");\n positionStyle.height = \"\".concat(offsetEnd * 100 - offsetStart * 100, \"%\");\n break;\n case 'ttb':\n positionStyle.top = \"\".concat(offsetStart * 100, \"%\");\n positionStyle.height = \"\".concat(offsetEnd * 100 - offsetStart * 100, \"%\");\n break;\n default:\n positionStyle.left = \"\".concat(offsetStart * 100, \"%\");\n positionStyle.width = \"\".concat(offsetEnd * 100 - offsetStart * 100, \"%\");\n }\n var className = replaceCls || cls(trackPrefixCls, _defineProperty(_defineProperty({}, \"\".concat(trackPrefixCls, \"-\").concat(index + 1), index !== null && range), \"\".concat(prefixCls, \"-track-draggable\"), onStartMove), classNames.track);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: className,\n style: _objectSpread(_objectSpread({}, positionStyle), style),\n onMouseDown: onInternalStartMove,\n onTouchStart: onInternalStartMove\n });\n};\nexport default Track;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport cls from 'classnames';\nimport * as React from 'react';\nimport SliderContext from \"../context\";\nimport { getIndex } from \"../util\";\nimport Track from \"./Track\";\nvar Tracks = function Tracks(props) {\n var prefixCls = props.prefixCls,\n style = props.style,\n values = props.values,\n startPoint = props.startPoint,\n onStartMove = props.onStartMove;\n var _React$useContext = React.useContext(SliderContext),\n included = _React$useContext.included,\n range = _React$useContext.range,\n min = _React$useContext.min,\n styles = _React$useContext.styles,\n classNames = _React$useContext.classNames;\n\n // =========================== List ===========================\n var trackList = React.useMemo(function () {\n if (!range) {\n // null value do not have track\n if (values.length === 0) {\n return [];\n }\n var startValue = startPoint !== null && startPoint !== void 0 ? startPoint : min;\n var endValue = values[0];\n return [{\n start: Math.min(startValue, endValue),\n end: Math.max(startValue, endValue)\n }];\n }\n\n // Multiple\n var list = [];\n for (var i = 0; i < values.length - 1; i += 1) {\n list.push({\n start: values[i],\n end: values[i + 1]\n });\n }\n return list;\n }, [values, range, startPoint, min]);\n if (!included) {\n return null;\n }\n\n // ========================== Render ==========================\n var tracksNode = trackList !== null && trackList !== void 0 && trackList.length && (classNames.tracks || styles.tracks) ? /*#__PURE__*/React.createElement(Track, {\n index: null,\n prefixCls: prefixCls,\n start: trackList[0].start,\n end: trackList[trackList.length - 1].end,\n replaceCls: cls(classNames.tracks, \"\".concat(prefixCls, \"-tracks\")),\n style: styles.tracks\n }) : null;\n return /*#__PURE__*/React.createElement(React.Fragment, null, tracksNode, trackList.map(function (_ref, index) {\n var start = _ref.start,\n end = _ref.end;\n return /*#__PURE__*/React.createElement(Track, {\n index: index,\n prefixCls: prefixCls,\n style: _objectSpread(_objectSpread({}, getIndex(style, index)), styles.track),\n start: start,\n end: end,\n key: index,\n onStartMove: onStartMove\n });\n }));\n};\nexport default Tracks;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport { UnstableContext } from \"../context\";\n/** Drag to delete offset. It's a user experience number for dragging out */\nvar REMOVE_DIST = 130;\nfunction getPosition(e) {\n var obj = 'targetTouches' in e ? e.targetTouches[0] : e;\n return {\n pageX: obj.pageX,\n pageY: obj.pageY\n };\n}\nfunction useDrag(containerRef, direction, rawValues, min, max, formatValue, triggerChange, finishChange, offsetValues, editable, minCount) {\n var _React$useState = React.useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n draggingValue = _React$useState2[0],\n setDraggingValue = _React$useState2[1];\n var _React$useState3 = React.useState(-1),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n draggingIndex = _React$useState4[0],\n setDraggingIndex = _React$useState4[1];\n var _React$useState5 = React.useState(false),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n draggingDelete = _React$useState6[0],\n setDraggingDelete = _React$useState6[1];\n var _React$useState7 = React.useState(rawValues),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n cacheValues = _React$useState8[0],\n setCacheValues = _React$useState8[1];\n var _React$useState9 = React.useState(rawValues),\n _React$useState10 = _slicedToArray(_React$useState9, 2),\n originValues = _React$useState10[0],\n setOriginValues = _React$useState10[1];\n var mouseMoveEventRef = React.useRef(null);\n var mouseUpEventRef = React.useRef(null);\n var touchEventTargetRef = React.useRef(null);\n var _React$useContext = React.useContext(UnstableContext),\n onDragStart = _React$useContext.onDragStart,\n onDragChange = _React$useContext.onDragChange;\n useLayoutEffect(function () {\n if (draggingIndex === -1) {\n setCacheValues(rawValues);\n }\n }, [rawValues, draggingIndex]);\n\n // Clean up event\n React.useEffect(function () {\n return function () {\n document.removeEventListener('mousemove', mouseMoveEventRef.current);\n document.removeEventListener('mouseup', mouseUpEventRef.current);\n if (touchEventTargetRef.current) {\n touchEventTargetRef.current.removeEventListener('touchmove', mouseMoveEventRef.current);\n touchEventTargetRef.current.removeEventListener('touchend', mouseUpEventRef.current);\n }\n };\n }, []);\n var flushValues = function flushValues(nextValues, nextValue, deleteMark) {\n // Perf: Only update state when value changed\n if (nextValue !== undefined) {\n setDraggingValue(nextValue);\n }\n setCacheValues(nextValues);\n var changeValues = nextValues;\n if (deleteMark) {\n changeValues = nextValues.filter(function (_, i) {\n return i !== draggingIndex;\n });\n }\n triggerChange(changeValues);\n if (onDragChange) {\n onDragChange({\n rawValues: nextValues,\n deleteIndex: deleteMark ? draggingIndex : -1,\n draggingIndex: draggingIndex,\n draggingValue: nextValue\n });\n }\n };\n var updateCacheValue = useEvent(function (valueIndex, offsetPercent, deleteMark) {\n if (valueIndex === -1) {\n // >>>> Dragging on the track\n var startValue = originValues[0];\n var endValue = originValues[originValues.length - 1];\n var maxStartOffset = min - startValue;\n var maxEndOffset = max - endValue;\n\n // Get valid offset\n var offset = offsetPercent * (max - min);\n offset = Math.max(offset, maxStartOffset);\n offset = Math.min(offset, maxEndOffset);\n\n // Use first value to revert back of valid offset (like steps marks)\n var formatStartValue = formatValue(startValue + offset);\n offset = formatStartValue - startValue;\n var cloneCacheValues = originValues.map(function (val) {\n return val + offset;\n });\n flushValues(cloneCacheValues);\n } else {\n // >>>> Dragging on the handle\n var offsetDist = (max - min) * offsetPercent;\n\n // Always start with the valueIndex origin value\n var cloneValues = _toConsumableArray(cacheValues);\n cloneValues[valueIndex] = originValues[valueIndex];\n var next = offsetValues(cloneValues, offsetDist, valueIndex, 'dist');\n flushValues(next.values, next.value, deleteMark);\n }\n });\n var onStartMove = function onStartMove(e, valueIndex, startValues) {\n e.stopPropagation();\n\n // 如果是点击 track 触发的,需要传入变化后的初始值,而不能直接用 rawValues\n var initialValues = startValues || rawValues;\n var originValue = initialValues[valueIndex];\n setDraggingIndex(valueIndex);\n setDraggingValue(originValue);\n setOriginValues(initialValues);\n setCacheValues(initialValues);\n setDraggingDelete(false);\n var _getPosition = getPosition(e),\n startX = _getPosition.pageX,\n startY = _getPosition.pageY;\n\n // We declare it here since closure can't get outer latest value\n var deleteMark = false;\n\n // Internal trigger event\n if (onDragStart) {\n onDragStart({\n rawValues: initialValues,\n draggingIndex: valueIndex,\n draggingValue: originValue\n });\n }\n\n // Moving\n var onMouseMove = function onMouseMove(event) {\n event.preventDefault();\n var _getPosition2 = getPosition(event),\n moveX = _getPosition2.pageX,\n moveY = _getPosition2.pageY;\n var offsetX = moveX - startX;\n var offsetY = moveY - startY;\n var _containerRef$current = containerRef.current.getBoundingClientRect(),\n width = _containerRef$current.width,\n height = _containerRef$current.height;\n var offSetPercent;\n var removeDist;\n switch (direction) {\n case 'btt':\n offSetPercent = -offsetY / height;\n removeDist = offsetX;\n break;\n case 'ttb':\n offSetPercent = offsetY / height;\n removeDist = offsetX;\n break;\n case 'rtl':\n offSetPercent = -offsetX / width;\n removeDist = offsetY;\n break;\n default:\n offSetPercent = offsetX / width;\n removeDist = offsetY;\n }\n\n // Check if need mark remove\n deleteMark = editable ? Math.abs(removeDist) > REMOVE_DIST && minCount < cacheValues.length : false;\n setDraggingDelete(deleteMark);\n updateCacheValue(valueIndex, offSetPercent, deleteMark);\n };\n\n // End\n var onMouseUp = function onMouseUp(event) {\n event.preventDefault();\n document.removeEventListener('mouseup', onMouseUp);\n document.removeEventListener('mousemove', onMouseMove);\n if (touchEventTargetRef.current) {\n touchEventTargetRef.current.removeEventListener('touchmove', mouseMoveEventRef.current);\n touchEventTargetRef.current.removeEventListener('touchend', mouseUpEventRef.current);\n }\n mouseMoveEventRef.current = null;\n mouseUpEventRef.current = null;\n touchEventTargetRef.current = null;\n finishChange(deleteMark);\n setDraggingIndex(-1);\n setDraggingDelete(false);\n };\n document.addEventListener('mouseup', onMouseUp);\n document.addEventListener('mousemove', onMouseMove);\n e.currentTarget.addEventListener('touchend', onMouseUp);\n e.currentTarget.addEventListener('touchmove', onMouseMove);\n mouseMoveEventRef.current = onMouseMove;\n mouseUpEventRef.current = onMouseUp;\n touchEventTargetRef.current = e.currentTarget;\n };\n\n // Only return cache value when it mapping with rawValues\n var returnValues = React.useMemo(function () {\n var sourceValues = _toConsumableArray(rawValues).sort(function (a, b) {\n return a - b;\n });\n var targetValues = _toConsumableArray(cacheValues).sort(function (a, b) {\n return a - b;\n });\n var counts = {};\n targetValues.forEach(function (val) {\n counts[val] = (counts[val] || 0) + 1;\n });\n sourceValues.forEach(function (val) {\n counts[val] = (counts[val] || 0) - 1;\n });\n var maxDiffCount = editable ? 1 : 0;\n var diffCount = Object.values(counts).reduce(function (prev, next) {\n return prev + Math.abs(next);\n }, 0);\n return diffCount <= maxDiffCount ? cacheValues : rawValues;\n }, [rawValues, cacheValues, editable]);\n return [draggingIndex, draggingValue, draggingDelete, returnValues, onStartMove];\n}\nexport default useDrag;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\n\n/** Format the value in the range of [min, max] */\n\n/** Format value align with step */\n\n/** Format value align with step & marks */\n\nexport default function useOffset(min, max, step, markList, allowCross, pushable) {\n var formatRangeValue = React.useCallback(function (val) {\n return Math.max(min, Math.min(max, val));\n }, [min, max]);\n var formatStepValue = React.useCallback(function (val) {\n if (step !== null) {\n var stepValue = min + Math.round((formatRangeValue(val) - min) / step) * step;\n\n // Cut number in case to be like 0.30000000000000004\n var getDecimal = function getDecimal(num) {\n return (String(num).split('.')[1] || '').length;\n };\n var maxDecimal = Math.max(getDecimal(step), getDecimal(max), getDecimal(min));\n var fixedValue = Number(stepValue.toFixed(maxDecimal));\n return min <= fixedValue && fixedValue <= max ? fixedValue : null;\n }\n return null;\n }, [step, min, max, formatRangeValue]);\n var formatValue = React.useCallback(function (val) {\n var formatNextValue = formatRangeValue(val);\n\n // List align values\n var alignValues = markList.map(function (mark) {\n return mark.value;\n });\n if (step !== null) {\n alignValues.push(formatStepValue(val));\n }\n\n // min & max\n alignValues.push(min, max);\n\n // Align with marks\n var closeValue = alignValues[0];\n var closeDist = max - min;\n alignValues.forEach(function (alignValue) {\n var dist = Math.abs(formatNextValue - alignValue);\n if (dist <= closeDist) {\n closeValue = alignValue;\n closeDist = dist;\n }\n });\n return closeValue;\n }, [min, max, markList, step, formatRangeValue, formatStepValue]);\n\n // ========================== Offset ==========================\n // Single Value\n var offsetValue = function offsetValue(values, offset, valueIndex) {\n var mode = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'unit';\n if (typeof offset === 'number') {\n var nextValue;\n var originValue = values[valueIndex];\n\n // Only used for `dist` mode\n var targetDistValue = originValue + offset;\n\n // Compare next step value & mark value which is best match\n var potentialValues = [];\n markList.forEach(function (mark) {\n potentialValues.push(mark.value);\n });\n\n // Min & Max\n potentialValues.push(min, max);\n\n // In case origin value is align with mark but not with step\n potentialValues.push(formatStepValue(originValue));\n\n // Put offset step value also\n var sign = offset > 0 ? 1 : -1;\n if (mode === 'unit') {\n potentialValues.push(formatStepValue(originValue + sign * step));\n } else {\n potentialValues.push(formatStepValue(targetDistValue));\n }\n\n // Find close one\n potentialValues = potentialValues.filter(function (val) {\n return val !== null;\n })\n // Remove reverse value\n .filter(function (val) {\n return offset < 0 ? val <= originValue : val >= originValue;\n });\n if (mode === 'unit') {\n // `unit` mode can not contain itself\n potentialValues = potentialValues.filter(function (val) {\n return val !== originValue;\n });\n }\n var compareValue = mode === 'unit' ? originValue : targetDistValue;\n nextValue = potentialValues[0];\n var valueDist = Math.abs(nextValue - compareValue);\n potentialValues.forEach(function (potentialValue) {\n var dist = Math.abs(potentialValue - compareValue);\n if (dist < valueDist) {\n nextValue = potentialValue;\n valueDist = dist;\n }\n });\n\n // Out of range will back to range\n if (nextValue === undefined) {\n return offset < 0 ? min : max;\n }\n\n // `dist` mode\n if (mode === 'dist') {\n return nextValue;\n }\n\n // `unit` mode may need another round\n if (Math.abs(offset) > 1) {\n var cloneValues = _toConsumableArray(values);\n cloneValues[valueIndex] = nextValue;\n return offsetValue(cloneValues, offset - sign, valueIndex, mode);\n }\n return nextValue;\n } else if (offset === 'min') {\n return min;\n } else if (offset === 'max') {\n return max;\n }\n };\n\n /** Same as `offsetValue` but return `changed` mark to tell value changed */\n var offsetChangedValue = function offsetChangedValue(values, offset, valueIndex) {\n var mode = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'unit';\n var originValue = values[valueIndex];\n var nextValue = offsetValue(values, offset, valueIndex, mode);\n return {\n value: nextValue,\n changed: nextValue !== originValue\n };\n };\n var needPush = function needPush(dist) {\n return pushable === null && dist === 0 || typeof pushable === 'number' && dist < pushable;\n };\n\n // Values\n var offsetValues = function offsetValues(values, offset, valueIndex) {\n var mode = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'unit';\n var nextValues = values.map(formatValue);\n var originValue = nextValues[valueIndex];\n var nextValue = offsetValue(nextValues, offset, valueIndex, mode);\n nextValues[valueIndex] = nextValue;\n if (allowCross === false) {\n // >>>>> Allow Cross\n var pushNum = pushable || 0;\n\n // ============ AllowCross ===============\n if (valueIndex > 0 && nextValues[valueIndex - 1] !== originValue) {\n nextValues[valueIndex] = Math.max(nextValues[valueIndex], nextValues[valueIndex - 1] + pushNum);\n }\n if (valueIndex < nextValues.length - 1 && nextValues[valueIndex + 1] !== originValue) {\n nextValues[valueIndex] = Math.min(nextValues[valueIndex], nextValues[valueIndex + 1] - pushNum);\n }\n } else if (typeof pushable === 'number' || pushable === null) {\n // >>>>> Pushable\n // =============== Push ==================\n\n // >>>>>> Basic push\n // End values\n for (var i = valueIndex + 1; i < nextValues.length; i += 1) {\n var changed = true;\n while (needPush(nextValues[i] - nextValues[i - 1]) && changed) {\n var _offsetChangedValue = offsetChangedValue(nextValues, 1, i);\n nextValues[i] = _offsetChangedValue.value;\n changed = _offsetChangedValue.changed;\n }\n }\n\n // Start values\n for (var _i = valueIndex; _i > 0; _i -= 1) {\n var _changed = true;\n while (needPush(nextValues[_i] - nextValues[_i - 1]) && _changed) {\n var _offsetChangedValue2 = offsetChangedValue(nextValues, -1, _i - 1);\n nextValues[_i - 1] = _offsetChangedValue2.value;\n _changed = _offsetChangedValue2.changed;\n }\n }\n\n // >>>>> Revert back to safe push range\n // End to Start\n for (var _i2 = nextValues.length - 1; _i2 > 0; _i2 -= 1) {\n var _changed2 = true;\n while (needPush(nextValues[_i2] - nextValues[_i2 - 1]) && _changed2) {\n var _offsetChangedValue3 = offsetChangedValue(nextValues, -1, _i2 - 1);\n nextValues[_i2 - 1] = _offsetChangedValue3.value;\n _changed2 = _offsetChangedValue3.changed;\n }\n }\n\n // Start to End\n for (var _i3 = 0; _i3 < nextValues.length - 1; _i3 += 1) {\n var _changed3 = true;\n while (needPush(nextValues[_i3 + 1] - nextValues[_i3]) && _changed3) {\n var _offsetChangedValue4 = offsetChangedValue(nextValues, 1, _i3 + 1);\n nextValues[_i3 + 1] = _offsetChangedValue4.value;\n _changed3 = _offsetChangedValue4.changed;\n }\n }\n }\n return {\n value: nextValues[valueIndex],\n values: nextValues\n };\n };\n return [formatValue, offsetValues];\n}","import { warning } from \"rc-util/es/warning\";\nimport { useMemo } from 'react';\nexport default function useRange(range) {\n return useMemo(function () {\n if (range === true || !range) {\n return [!!range, false, false, 0];\n }\n var editable = range.editable,\n draggableTrack = range.draggableTrack,\n minCount = range.minCount,\n maxCount = range.maxCount;\n if (process.env.NODE_ENV !== 'production') {\n warning(!editable || !draggableTrack, '`editable` can not work with `draggableTrack`.');\n }\n return [true, editable, !editable && draggableTrack, minCount || 0, maxCount];\n }, [range]);\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport cls from 'classnames';\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport Handles from \"./Handles\";\nimport Marks from \"./Marks\";\nimport Steps from \"./Steps\";\nimport Tracks from \"./Tracks\";\nimport SliderContext from \"./context\";\nimport useDrag from \"./hooks/useDrag\";\nimport useOffset from \"./hooks/useOffset\";\nimport useRange from \"./hooks/useRange\";\n\n/**\n * New:\n * - click mark to update range value\n * - handleRender\n * - Fix handle with count not correct\n * - Fix pushable not work in some case\n * - No more FindDOMNode\n * - Move all position related style into inline style\n * - Key: up is plus, down is minus\n * - fix Key with step = null not align with marks\n * - Change range should not trigger onChange\n * - keyboard support pushable\n */\n\nvar Slider = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-slider' : _props$prefixCls,\n className = props.className,\n style = props.style,\n classNames = props.classNames,\n styles = props.styles,\n id = props.id,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n _props$keyboard = props.keyboard,\n keyboard = _props$keyboard === void 0 ? true : _props$keyboard,\n autoFocus = props.autoFocus,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n _props$min = props.min,\n min = _props$min === void 0 ? 0 : _props$min,\n _props$max = props.max,\n max = _props$max === void 0 ? 100 : _props$max,\n _props$step = props.step,\n step = _props$step === void 0 ? 1 : _props$step,\n value = props.value,\n defaultValue = props.defaultValue,\n range = props.range,\n count = props.count,\n onChange = props.onChange,\n onBeforeChange = props.onBeforeChange,\n onAfterChange = props.onAfterChange,\n onChangeComplete = props.onChangeComplete,\n _props$allowCross = props.allowCross,\n allowCross = _props$allowCross === void 0 ? true : _props$allowCross,\n _props$pushable = props.pushable,\n pushable = _props$pushable === void 0 ? false : _props$pushable,\n reverse = props.reverse,\n vertical = props.vertical,\n _props$included = props.included,\n included = _props$included === void 0 ? true : _props$included,\n startPoint = props.startPoint,\n trackStyle = props.trackStyle,\n handleStyle = props.handleStyle,\n railStyle = props.railStyle,\n dotStyle = props.dotStyle,\n activeDotStyle = props.activeDotStyle,\n marks = props.marks,\n dots = props.dots,\n handleRender = props.handleRender,\n activeHandleRender = props.activeHandleRender,\n track = props.track,\n _props$tabIndex = props.tabIndex,\n tabIndex = _props$tabIndex === void 0 ? 0 : _props$tabIndex,\n ariaLabelForHandle = props.ariaLabelForHandle,\n ariaLabelledByForHandle = props.ariaLabelledByForHandle,\n ariaRequired = props.ariaRequired,\n ariaValueTextFormatterForHandle = props.ariaValueTextFormatterForHandle;\n var handlesRef = React.useRef(null);\n var containerRef = React.useRef(null);\n var direction = React.useMemo(function () {\n if (vertical) {\n return reverse ? 'ttb' : 'btt';\n }\n return reverse ? 'rtl' : 'ltr';\n }, [reverse, vertical]);\n\n // ============================ Range =============================\n var _useRange = useRange(range),\n _useRange2 = _slicedToArray(_useRange, 5),\n rangeEnabled = _useRange2[0],\n rangeEditable = _useRange2[1],\n rangeDraggableTrack = _useRange2[2],\n minCount = _useRange2[3],\n maxCount = _useRange2[4];\n var mergedMin = React.useMemo(function () {\n return isFinite(min) ? min : 0;\n }, [min]);\n var mergedMax = React.useMemo(function () {\n return isFinite(max) ? max : 100;\n }, [max]);\n\n // ============================= Step =============================\n var mergedStep = React.useMemo(function () {\n return step !== null && step <= 0 ? 1 : step;\n }, [step]);\n\n // ============================= Push =============================\n var mergedPush = React.useMemo(function () {\n if (typeof pushable === 'boolean') {\n return pushable ? mergedStep : false;\n }\n return pushable >= 0 ? pushable : false;\n }, [pushable, mergedStep]);\n\n // ============================ Marks =============================\n var markList = React.useMemo(function () {\n return Object.keys(marks || {}).map(function (key) {\n var mark = marks[key];\n var markObj = {\n value: Number(key)\n };\n if (mark && _typeof(mark) === 'object' && ! /*#__PURE__*/React.isValidElement(mark) && ('label' in mark || 'style' in mark)) {\n markObj.style = mark.style;\n markObj.label = mark.label;\n } else {\n markObj.label = mark;\n }\n return markObj;\n }).filter(function (_ref) {\n var label = _ref.label;\n return label || typeof label === 'number';\n }).sort(function (a, b) {\n return a.value - b.value;\n });\n }, [marks]);\n\n // ============================ Format ============================\n var _useOffset = useOffset(mergedMin, mergedMax, mergedStep, markList, allowCross, mergedPush),\n _useOffset2 = _slicedToArray(_useOffset, 2),\n formatValue = _useOffset2[0],\n offsetValues = _useOffset2[1];\n\n // ============================ Values ============================\n var _useMergedState = useMergedState(defaultValue, {\n value: value\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedValue = _useMergedState2[0],\n setValue = _useMergedState2[1];\n var rawValues = React.useMemo(function () {\n var valueList = mergedValue === null || mergedValue === undefined ? [] : Array.isArray(mergedValue) ? mergedValue : [mergedValue];\n var _valueList = _slicedToArray(valueList, 1),\n _valueList$ = _valueList[0],\n val0 = _valueList$ === void 0 ? mergedMin : _valueList$;\n var returnValues = mergedValue === null ? [] : [val0];\n\n // Format as range\n if (rangeEnabled) {\n returnValues = _toConsumableArray(valueList);\n\n // When count provided or value is `undefined`, we fill values\n if (count || mergedValue === undefined) {\n var pointCount = count >= 0 ? count + 1 : 2;\n returnValues = returnValues.slice(0, pointCount);\n\n // Fill with count\n while (returnValues.length < pointCount) {\n var _returnValues;\n returnValues.push((_returnValues = returnValues[returnValues.length - 1]) !== null && _returnValues !== void 0 ? _returnValues : mergedMin);\n }\n }\n returnValues.sort(function (a, b) {\n return a - b;\n });\n }\n\n // Align in range\n returnValues.forEach(function (val, index) {\n returnValues[index] = formatValue(val);\n });\n return returnValues;\n }, [mergedValue, rangeEnabled, mergedMin, count, formatValue]);\n\n // =========================== onChange ===========================\n var getTriggerValue = function getTriggerValue(triggerValues) {\n return rangeEnabled ? triggerValues : triggerValues[0];\n };\n var triggerChange = useEvent(function (nextValues) {\n // Order first\n var cloneNextValues = _toConsumableArray(nextValues).sort(function (a, b) {\n return a - b;\n });\n\n // Trigger event if needed\n if (onChange && !isEqual(cloneNextValues, rawValues, true)) {\n onChange(getTriggerValue(cloneNextValues));\n }\n\n // We set this later since it will re-render component immediately\n setValue(cloneNextValues);\n });\n var finishChange = useEvent(function (draggingDelete) {\n // Trigger from `useDrag` will tell if it's a delete action\n if (draggingDelete) {\n handlesRef.current.hideHelp();\n }\n var finishValue = getTriggerValue(rawValues);\n onAfterChange === null || onAfterChange === void 0 || onAfterChange(finishValue);\n warning(!onAfterChange, '[rc-slider] `onAfterChange` is deprecated. Please use `onChangeComplete` instead.');\n onChangeComplete === null || onChangeComplete === void 0 || onChangeComplete(finishValue);\n });\n var onDelete = function onDelete(index) {\n if (disabled || !rangeEditable || rawValues.length <= minCount) {\n return;\n }\n var cloneNextValues = _toConsumableArray(rawValues);\n cloneNextValues.splice(index, 1);\n onBeforeChange === null || onBeforeChange === void 0 || onBeforeChange(getTriggerValue(cloneNextValues));\n triggerChange(cloneNextValues);\n var nextFocusIndex = Math.max(0, index - 1);\n handlesRef.current.hideHelp();\n handlesRef.current.focus(nextFocusIndex);\n };\n var _useDrag = useDrag(containerRef, direction, rawValues, mergedMin, mergedMax, formatValue, triggerChange, finishChange, offsetValues, rangeEditable, minCount),\n _useDrag2 = _slicedToArray(_useDrag, 5),\n draggingIndex = _useDrag2[0],\n draggingValue = _useDrag2[1],\n draggingDelete = _useDrag2[2],\n cacheValues = _useDrag2[3],\n onStartDrag = _useDrag2[4];\n\n /**\n * When `rangeEditable` will insert a new value in the values array.\n * Else it will replace the value in the values array.\n */\n var changeToCloseValue = function changeToCloseValue(newValue, e) {\n if (!disabled) {\n // Create new values\n var cloneNextValues = _toConsumableArray(rawValues);\n var valueIndex = 0;\n var valueBeforeIndex = 0; // Record the index which value < newValue\n var valueDist = mergedMax - mergedMin;\n rawValues.forEach(function (val, index) {\n var dist = Math.abs(newValue - val);\n if (dist <= valueDist) {\n valueDist = dist;\n valueIndex = index;\n }\n if (val < newValue) {\n valueBeforeIndex = index;\n }\n });\n var focusIndex = valueIndex;\n if (rangeEditable && valueDist !== 0 && (!maxCount || rawValues.length < maxCount)) {\n cloneNextValues.splice(valueBeforeIndex + 1, 0, newValue);\n focusIndex = valueBeforeIndex + 1;\n } else {\n cloneNextValues[valueIndex] = newValue;\n }\n\n // Fill value to match default 2 (only when `rawValues` is empty)\n if (rangeEnabled && !rawValues.length && count === undefined) {\n cloneNextValues.push(newValue);\n }\n var nextValue = getTriggerValue(cloneNextValues);\n onBeforeChange === null || onBeforeChange === void 0 || onBeforeChange(nextValue);\n triggerChange(cloneNextValues);\n if (e) {\n var _document$activeEleme, _document$activeEleme2;\n (_document$activeEleme = document.activeElement) === null || _document$activeEleme === void 0 || (_document$activeEleme2 = _document$activeEleme.blur) === null || _document$activeEleme2 === void 0 || _document$activeEleme2.call(_document$activeEleme);\n handlesRef.current.focus(focusIndex);\n onStartDrag(e, focusIndex, cloneNextValues);\n } else {\n // https://github.com/ant-design/ant-design/issues/49997\n onAfterChange === null || onAfterChange === void 0 || onAfterChange(nextValue);\n warning(!onAfterChange, '[rc-slider] `onAfterChange` is deprecated. Please use `onChangeComplete` instead.');\n onChangeComplete === null || onChangeComplete === void 0 || onChangeComplete(nextValue);\n }\n }\n };\n\n // ============================ Click =============================\n var onSliderMouseDown = function onSliderMouseDown(e) {\n e.preventDefault();\n var _containerRef$current = containerRef.current.getBoundingClientRect(),\n width = _containerRef$current.width,\n height = _containerRef$current.height,\n left = _containerRef$current.left,\n top = _containerRef$current.top,\n bottom = _containerRef$current.bottom,\n right = _containerRef$current.right;\n var clientX = e.clientX,\n clientY = e.clientY;\n var percent;\n switch (direction) {\n case 'btt':\n percent = (bottom - clientY) / height;\n break;\n case 'ttb':\n percent = (clientY - top) / height;\n break;\n case 'rtl':\n percent = (right - clientX) / width;\n break;\n default:\n percent = (clientX - left) / width;\n }\n var nextValue = mergedMin + percent * (mergedMax - mergedMin);\n changeToCloseValue(formatValue(nextValue), e);\n };\n\n // =========================== Keyboard ===========================\n var _React$useState = React.useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n keyboardValue = _React$useState2[0],\n setKeyboardValue = _React$useState2[1];\n var onHandleOffsetChange = function onHandleOffsetChange(offset, valueIndex) {\n if (!disabled) {\n var next = offsetValues(rawValues, offset, valueIndex);\n onBeforeChange === null || onBeforeChange === void 0 || onBeforeChange(getTriggerValue(rawValues));\n triggerChange(next.values);\n setKeyboardValue(next.value);\n }\n };\n React.useEffect(function () {\n if (keyboardValue !== null) {\n var valueIndex = rawValues.indexOf(keyboardValue);\n if (valueIndex >= 0) {\n handlesRef.current.focus(valueIndex);\n }\n }\n setKeyboardValue(null);\n }, [keyboardValue]);\n\n // ============================= Drag =============================\n var mergedDraggableTrack = React.useMemo(function () {\n if (rangeDraggableTrack && mergedStep === null) {\n if (process.env.NODE_ENV !== 'production') {\n warning(false, '`draggableTrack` is not supported when `step` is `null`.');\n }\n return false;\n }\n return rangeDraggableTrack;\n }, [rangeDraggableTrack, mergedStep]);\n var onStartMove = useEvent(function (e, valueIndex) {\n onStartDrag(e, valueIndex);\n onBeforeChange === null || onBeforeChange === void 0 || onBeforeChange(getTriggerValue(rawValues));\n });\n\n // Auto focus for updated handle\n var dragging = draggingIndex !== -1;\n React.useEffect(function () {\n if (!dragging) {\n var valueIndex = rawValues.lastIndexOf(draggingValue);\n handlesRef.current.focus(valueIndex);\n }\n }, [dragging]);\n\n // =========================== Included ===========================\n var sortedCacheValues = React.useMemo(function () {\n return _toConsumableArray(cacheValues).sort(function (a, b) {\n return a - b;\n });\n }, [cacheValues]);\n\n // Provide a range values with included [min, max]\n // Used for Track, Mark & Dot\n var _React$useMemo = React.useMemo(function () {\n if (!rangeEnabled) {\n return [mergedMin, sortedCacheValues[0]];\n }\n return [sortedCacheValues[0], sortedCacheValues[sortedCacheValues.length - 1]];\n }, [sortedCacheValues, rangeEnabled, mergedMin]),\n _React$useMemo2 = _slicedToArray(_React$useMemo, 2),\n includedStart = _React$useMemo2[0],\n includedEnd = _React$useMemo2[1];\n\n // ============================= Refs =============================\n React.useImperativeHandle(ref, function () {\n return {\n focus: function focus() {\n handlesRef.current.focus(0);\n },\n blur: function blur() {\n var _containerRef$current2;\n var _document = document,\n activeElement = _document.activeElement;\n if ((_containerRef$current2 = containerRef.current) !== null && _containerRef$current2 !== void 0 && _containerRef$current2.contains(activeElement)) {\n activeElement === null || activeElement === void 0 || activeElement.blur();\n }\n }\n };\n });\n\n // ========================== Auto Focus ==========================\n React.useEffect(function () {\n if (autoFocus) {\n handlesRef.current.focus(0);\n }\n }, []);\n\n // =========================== Context ============================\n var context = React.useMemo(function () {\n return {\n min: mergedMin,\n max: mergedMax,\n direction: direction,\n disabled: disabled,\n keyboard: keyboard,\n step: mergedStep,\n included: included,\n includedStart: includedStart,\n includedEnd: includedEnd,\n range: rangeEnabled,\n tabIndex: tabIndex,\n ariaLabelForHandle: ariaLabelForHandle,\n ariaLabelledByForHandle: ariaLabelledByForHandle,\n ariaRequired: ariaRequired,\n ariaValueTextFormatterForHandle: ariaValueTextFormatterForHandle,\n styles: styles || {},\n classNames: classNames || {}\n };\n }, [mergedMin, mergedMax, direction, disabled, keyboard, mergedStep, included, includedStart, includedEnd, rangeEnabled, tabIndex, ariaLabelForHandle, ariaLabelledByForHandle, ariaRequired, ariaValueTextFormatterForHandle, styles, classNames]);\n\n // ============================ Render ============================\n return /*#__PURE__*/React.createElement(SliderContext.Provider, {\n value: context\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: containerRef,\n className: cls(prefixCls, className, _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), disabled), \"\".concat(prefixCls, \"-vertical\"), vertical), \"\".concat(prefixCls, \"-horizontal\"), !vertical), \"\".concat(prefixCls, \"-with-marks\"), markList.length)),\n style: style,\n onMouseDown: onSliderMouseDown,\n id: id\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: cls(\"\".concat(prefixCls, \"-rail\"), classNames === null || classNames === void 0 ? void 0 : classNames.rail),\n style: _objectSpread(_objectSpread({}, railStyle), styles === null || styles === void 0 ? void 0 : styles.rail)\n }), track !== false && /*#__PURE__*/React.createElement(Tracks, {\n prefixCls: prefixCls,\n style: trackStyle,\n values: rawValues,\n startPoint: startPoint,\n onStartMove: mergedDraggableTrack ? onStartMove : undefined\n }), /*#__PURE__*/React.createElement(Steps, {\n prefixCls: prefixCls,\n marks: markList,\n dots: dots,\n style: dotStyle,\n activeStyle: activeDotStyle\n }), /*#__PURE__*/React.createElement(Handles, {\n ref: handlesRef,\n prefixCls: prefixCls,\n style: handleStyle,\n values: cacheValues,\n draggingIndex: draggingIndex,\n draggingDelete: draggingDelete,\n onStartMove: onStartMove,\n onOffsetChange: onHandleOffsetChange,\n onFocus: onFocus,\n onBlur: onBlur,\n handleRender: handleRender,\n activeHandleRender: activeHandleRender,\n onChangeComplete: finishChange,\n onDelete: rangeEditable ? onDelete : undefined\n }), /*#__PURE__*/React.createElement(Marks, {\n prefixCls: prefixCls,\n marks: markList,\n onClick: changeToCloseValue\n })));\n});\nif (process.env.NODE_ENV !== 'production') {\n Slider.displayName = 'Slider';\n}\nexport default Slider;","import type {FC} from 'react';\nimport type {SliderProps} from 'rc-slider';\nimport Slider from 'rc-slider';\nimport type {ElementProps} from '@/services/types';\nimport {cn} from '@/services/helpers';\n\ninterface Props extends SliderProps, ElementProps {}\n\nexport const RangeSlider: FC<Props> = ({block, ...props}) => (\n <Slider\n className={cn(block, 'range-slider')}\n {...props}\n range\n />\n);\n"],"names":["_typeof","o","toPrimitive","t","r","e","i","toPropertyKey","_defineProperty","ownKeys","_objectSpread2","defineProperty","_arrayLikeToArray","a","_arrayWithoutHoles","arrayLikeToArray","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","_toConsumableArray","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","_arrayWithHoles","_iterableToArrayLimit","l","n","u","f","_nonIterableRest","_slicedToArray","arrayWithHoles","iterableToArrayLimit","nonIterableRest","hasOwn","classNames","classes","arg","appendClass","parseValue","key","value","newClass","module","useEvent","callback","fnRef","React","memoFn","_fnRef$current","_len","args","_key","canUseDom","useInternalLayoutEffect","useLayoutEffect","deps","firstMountRef","useLayoutUpdateEffect","firstMount","useSafeState","defaultValue","destroyRef","_React$useState","_React$useState2","setValue","safeSetState","updater","ignoreDestroy","hasValue","useMergedState","defaultStateValue","option","_ref","onChange","postState","_useState","useState","_useState2","innerValue","setInnerValue","mergedValue","postMergedValue","onChangeFn","_useState3","_useState4","prevValue","setPrevValue","prev","triggerChange","warned","preWarningFns","preMessage","fn","warning","valid","message","finalMessage","msg","preMessageFn","note","resetWarned","call","method","warningOnce","noteOnce","isEqual","obj1","obj2","shallow","refSet","deepEqual","b","level","circular","newLevel","keys","_extends","_objectWithoutPropertiesLoose","_objectWithoutProperties","objectWithoutPropertiesLoose","getOffset","min","max","getDirectionStyle","direction","offset","positionStyle","getIndex","index","KeyCode","SliderContext","UnstableContext","_excluded","Handle","props","ref","prefixCls","valueIndex","onStartMove","onDelete","style","render","dragging","draggingDelete","onOffsetChange","onChangeComplete","onFocus","onMouseEnter","restProps","_React$useContext","disabled","keyboard","range","tabIndex","ariaLabelForHandle","ariaLabelledByForHandle","ariaRequired","ariaValueTextFormatterForHandle","styles","handlePrefixCls","onInternalStartMove","onInternalFocus","onInternalMouseEnter","onKeyDown","handleKeyUp","divProps","_getIndex","handleNode","cls","_objectSpread","Handles","values","handleRender","activeHandleRender","draggingIndex","handlesRef","activeVisible","setActiveVisible","_React$useState3","_React$useState4","activeIndex","setActiveIndex","onActive","onHandleFocus","onHandleMouseEnter","_handlesRef$current$i","flushSync","handleProps","node","Mark","children","_onClick","includedStart","includedEnd","included","textCls","Marks","marks","onClick","markPrefixCls","label","Dot","activeStyle","dotClassName","active","mergedStyle","Steps","dots","step","stepDots","dotSet","mark","current","dotValue","Track","start","end","replaceCls","trackPrefixCls","offsetStart","offsetEnd","className","Tracks","startPoint","trackList","startValue","endValue","list","tracksNode","REMOVE_DIST","getPosition","obj","useDrag","containerRef","rawValues","formatValue","finishChange","offsetValues","editable","minCount","draggingValue","setDraggingValue","setDraggingIndex","_React$useState5","_React$useState6","setDraggingDelete","_React$useState7","_React$useState8","cacheValues","setCacheValues","_React$useState9","_React$useState10","originValues","setOriginValues","mouseMoveEventRef","mouseUpEventRef","touchEventTargetRef","onDragStart","onDragChange","flushValues","nextValues","nextValue","deleteMark","changeValues","_","updateCacheValue","offsetPercent","maxStartOffset","maxEndOffset","formatStartValue","cloneCacheValues","val","offsetDist","cloneValues","next","startValues","initialValues","originValue","_getPosition","startX","startY","onMouseMove","event","_getPosition2","moveX","moveY","offsetX","offsetY","_containerRef$current","width","height","offSetPercent","removeDist","onMouseUp","returnValues","sourceValues","targetValues","counts","maxDiffCount","diffCount","useOffset","markList","allowCross","pushable","formatRangeValue","formatStepValue","stepValue","getDecimal","num","maxDecimal","fixedValue","formatNextValue","alignValues","closeValue","closeDist","alignValue","dist","offsetValue","mode","targetDistValue","potentialValues","sign","compareValue","valueDist","potentialValue","offsetChangedValue","needPush","pushNum","changed","_offsetChangedValue","_i","_changed","_offsetChangedValue2","_i2","_changed2","_offsetChangedValue3","_i3","_changed3","_offsetChangedValue4","useRange","useMemo","draggableTrack","maxCount","Slider","_props$prefixCls","id","_props$disabled","_props$keyboard","autoFocus","onBlur","_props$min","_props$max","_props$step","count","onBeforeChange","onAfterChange","_props$allowCross","_props$pushable","reverse","vertical","_props$included","trackStyle","handleStyle","railStyle","dotStyle","activeDotStyle","track","_props$tabIndex","_useRange","_useRange2","rangeEnabled","rangeEditable","rangeDraggableTrack","mergedMin","mergedMax","mergedStep","mergedPush","markObj","_useOffset","_useOffset2","_useMergedState","_useMergedState2","valueList","_valueList","_valueList$","val0","pointCount","_returnValues","getTriggerValue","triggerValues","cloneNextValues","finishValue","nextFocusIndex","_useDrag","_useDrag2","onStartDrag","changeToCloseValue","newValue","valueBeforeIndex","focusIndex","_document$activeEleme","_document$activeEleme2","onSliderMouseDown","left","top","bottom","right","clientX","clientY","percent","keyboardValue","setKeyboardValue","onHandleOffsetChange","mergedDraggableTrack","sortedCacheValues","_React$useMemo","_React$useMemo2","_containerRef$current2","_document","activeElement","context","RangeSlider","block","jsx","cn"],"mappings":";;;;;;AAAA,SAASA,GAAQC,GAAG;AAClB;AAEA,SAAOD,KAAwB,OAAO,UAArB,cAA2C,OAAO,OAAO,YAA1B,WAAqC,SAAUC,GAAG;AAChG,WAAO,OAAOA;AAAA,EACf,IAAG,SAAUA,GAAG;AACf,WAAOA,KAAmB,OAAO,UAArB,cAA+BA,EAAE,gBAAgB,UAAUA,MAAM,OAAO,YAAY,WAAW,OAAOA;AAAA,EACtH,GAAKD,GAAQC,CAAC;AACd;ACPA,SAASC,GAAYC,GAAGC,GAAG;AACzB,MAAgBJ,GAAQG,CAAC,KAArB,YAA0B,CAACA,EAAG,QAAOA;AACzC,MAAIE,IAAIF,EAAE,OAAO,WAAW;AAC5B,MAAeE,MAAX,QAAc;AAChB,QAAIC,IAAID,EAAE,KAAKF,GAAGC,CAAc;AAChC,QAAgBJ,GAAQM,CAAC,KAArB,SAAwB,QAAOA;AACnC,UAAM,IAAI,UAAU,8CAA8C;AAAA,EACtE;AACE,UAAqBF,MAAb,WAAiB,SAAS,QAAQD,CAAC;AAC7C;ACRA,SAASI,GAAcJ,GAAG;AACxB,MAAIG,IAAIJ,GAAYC,GAAG,QAAQ;AAC/B,SAAmBH,GAAQM,CAAC,KAArB,WAAyBA,IAAIA,IAAI;AAC1C;ACJA,SAASE,EAAgB,GAAGJ,GAAGD,GAAG;AAChC,UAAQC,IAAIG,GAAcH,CAAC,MAAM,IAAI,OAAO,eAAe,GAAGA,GAAG;AAAA,IAC/D,OAAOD;AAAA,IACP,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,UAAU;AAAA,EACX,CAAA,IAAI,EAAEC,CAAC,IAAID,GAAG;AACjB;ACPA,SAASM,GAAQ,GAAGL,GAAG;AACrB,MAAID,IAAI,OAAO,KAAK,CAAC;AACrB,MAAI,OAAO,uBAAuB;AAChC,QAAIF,IAAI,OAAO,sBAAsB,CAAC;AACtC,IAAAG,MAAMH,IAAIA,EAAE,OAAO,SAAUG,GAAG;AAC9B,aAAO,OAAO,yBAAyB,GAAGA,CAAC,EAAE;AAAA,IACnD,CAAK,IAAID,EAAE,KAAK,MAAMA,GAAGF,CAAC;AAAA,EAC1B;AACE,SAAOE;AACT;AACA,SAASO,EAAe,GAAG;AACzB,WAASN,IAAI,GAAGA,IAAI,UAAU,QAAQA,KAAK;AACzC,QAAID,IAAY,UAAUC,CAAC,KAAnB,OAAuB,UAAUA,CAAC,IAAI,CAAE;AAChD,IAAAA,IAAI,IAAIK,GAAQ,OAAON,CAAC,GAAG,EAAE,EAAE,QAAQ,SAAUC,GAAG;AAClDO,MAAAA,EAAe,GAAGP,GAAGD,EAAEC,CAAC,CAAC;AAAA,IAC/B,CAAK,IAAI,OAAO,4BAA4B,OAAO,iBAAiB,GAAG,OAAO,0BAA0BD,CAAC,CAAC,IAAIM,GAAQ,OAAON,CAAC,CAAC,EAAE,QAAQ,SAAUC,GAAG;AAChJ,aAAO,eAAe,GAAGA,GAAG,OAAO,yBAAyBD,GAAGC,CAAC,CAAC;AAAA,IACvE,CAAK;AAAA,EACL;AACE,SAAO;AACT;ACrBA,SAASQ,GAAkBR,GAAGS,GAAG;AAC/B,GAASA,KAAR,QAAaA,IAAIT,EAAE,YAAYS,IAAIT,EAAE;AACtC,WAASC,IAAI,GAAG,IAAI,MAAMQ,CAAC,GAAGR,IAAIQ,GAAGR,IAAK,GAAEA,CAAC,IAAID,EAAEC,CAAC;AACpD,SAAO;AACT;ACHA,SAASS,GAAmBV,GAAG;AAC7B,MAAI,MAAM,QAAQA,CAAC,EAAG,QAAOW,GAAiBX,CAAC;AACjD;ACHA,SAASY,GAAiBZ,GAAG;AAC3B,MAAmB,OAAO,SAAtB,OAAwCA,EAAE,OAAO,QAAQ,KAAzB,QAAsCA,EAAE,YAAY,KAAtB,KAAyB,QAAO,MAAM,KAAKA,CAAC;AAChH;ACDA,SAASa,GAA4Bb,GAAGS,GAAG;AACzC,MAAIT,GAAG;AACL,QAAgB,OAAOA,KAAnB,SAAsB,QAAOW,GAAiBX,GAAGS,CAAC;AACtD,QAAIV,IAAI,CAAE,EAAC,SAAS,KAAKC,CAAC,EAAE,MAAM,GAAG,EAAE;AACvC,WAAoBD,MAAb,YAAkBC,EAAE,gBAAgBD,IAAIC,EAAE,YAAY,OAAiBD,MAAV,SAAyBA,MAAV,QAAc,MAAM,KAAKC,CAAC,IAAoBD,MAAhB,eAAqB,2CAA2C,KAAKA,CAAC,IAAIY,GAAiBX,GAAGS,CAAC,IAAI;AAAA,EACxN;AACA;ACPA,SAASK,KAAqB;AAC5B,QAAM,IAAI,UAAU;AAAA,mFAAsI;AAC5J;ACEA,SAASC,GAAmBf,GAAG;AAC7B,SAAOgB,GAAkBhB,CAAC,KAAKiB,GAAgBjB,CAAC,KAAKkB,GAA2BlB,CAAC,KAAKmB,GAAmB;AAC3G;ACNA,SAASC,GAAgBpB,GAAG;AAC1B,MAAI,MAAM,QAAQA,CAAC,EAAG,QAAOA;AAC/B;ACFA,SAASqB,GAAsBrB,GAAGsB,GAAG;AACnC,MAAIvB,IAAYC,KAAR,OAAY,OAAsB,OAAO,SAAtB,OAAgCA,EAAE,OAAO,QAAQ,KAAKA,EAAE,YAAY;AAC/F,MAAYD,KAAR,MAAW;AACb,QAAIE,GACFsB,GACArB,GACAsB,GACAf,IAAI,CAAE,GACNgB,IAAI,IACJ5B,IAAI;AACN,QAAI;AACF,UAAIK,KAAKH,IAAIA,EAAE,KAAKC,CAAC,GAAG,MAAYsB,MAAN,GAAS;AACrC,YAAI,OAAOvB,CAAC,MAAMA,EAAG;AACrB,QAAA0B,IAAI;AAAA,MACZ,MAAa,QAAO,EAAEA,KAAKxB,IAAIC,EAAE,KAAKH,CAAC,GAAG,UAAUU,EAAE,KAAKR,EAAE,KAAK,GAAGQ,EAAE,WAAWa,IAAIG,IAAI,GAAG;AAAA,IACxF,SAAQzB,GAAG;AACV,MAAAH,IAAI,IAAI0B,IAAIvB;AAAA,IAClB,UAAc;AACR,UAAI;AACF,YAAI,CAACyB,KAAa1B,EAAE,UAAV,SAAwByB,IAAIzB,EAAE,OAAS,GAAI,OAAOyB,CAAC,MAAMA,GAAI;AAAA,MAC/E,UAAgB;AACR,YAAI3B,EAAG,OAAM0B;AAAA,MACrB;AAAA,IACA;AACI,WAAOd;AAAA,EACX;AACA;AC1BA,SAASiB,KAAmB;AAC1B,QAAM,IAAI,UAAU;AAAA,mFAA2I;AACjK;ACEA,SAASC,EAAe3B,GAAGC,GAAG;AAC5B,SAAO2B,GAAe5B,CAAC,KAAK6B,GAAqB7B,GAAGC,CAAC,KAAKiB,GAA2BlB,GAAGC,CAAC,KAAK6B,GAAiB;AACjH;;;;;;;;;;ACCA,KAAC,WAAY;AAGZ,UAAIC,IAAS,CAAA,EAAG;AAEhB,eAASC,IAAc;AAGtB,iBAFIC,IAAU,IAEL/B,IAAI,GAAGA,IAAI,UAAU,QAAQA,KAAK;AAC1C,cAAIgC,IAAM,UAAUhC,CAAC;AACrB,UAAIgC,MACHD,IAAUE,EAAYF,GAASG,EAAWF,CAAG,CAAC;AAAA,QAElD;AAEE,eAAOD;AAAA,MACT;AAEC,eAASG,EAAYF,GAAK;AACzB,YAAI,OAAOA,KAAQ,YAAY,OAAOA,KAAQ;AAC7C,iBAAOA;AAGR,YAAI,OAAOA,KAAQ;AAClB,iBAAO;AAGR,YAAI,MAAM,QAAQA,CAAG;AACpB,iBAAOF,EAAW,MAAM,MAAME,CAAG;AAGlC,YAAIA,EAAI,aAAa,OAAO,UAAU,YAAY,CAACA,EAAI,SAAS,SAAQ,EAAG,SAAS,eAAe;AAClG,iBAAOA,EAAI,SAAU;AAGtB,YAAID,IAAU;AAEd,iBAASI,KAAOH;AACf,UAAIH,EAAO,KAAKG,GAAKG,CAAG,KAAKH,EAAIG,CAAG,MACnCJ,IAAUE,EAAYF,GAASI,CAAG;AAIpC,eAAOJ;AAAA,MACT;AAEC,eAASE,EAAaG,GAAOC,GAAU;AACtC,eAAKA,IAIDD,IACIA,IAAQ,MAAMC,IAGfD,IAAQC,IAPPD;AAAA,MAQV;AAEC,MAAqCE,EAAO,WAC3CR,EAAW,UAAUA,GACrBQ,YAAiBR,KAOjB,OAAO,aAAaA;AAAA,IAEtB;;;;;AC3Ee,SAASS,GAASC,GAAU;AACzC,MAAIC,IAAQC,EAAM,OAAQ;AAC1B,EAAAD,EAAM,UAAUD;AAChB,MAAIG,IAASD,EAAM,YAAY,WAAY;AAEzC,aADIE,GACKC,IAAO,UAAU,QAAQC,IAAO,IAAI,MAAMD,CAAI,GAAGE,IAAO,GAAGA,IAAOF,GAAME;AAC/E,MAAAD,EAAKC,CAAI,IAAI,UAAUA,CAAI;AAE7B,YAAQH,IAAiBH,EAAM,aAAa,QAAQG,MAAmB,SAAS,SAASA,EAAe,KAAK,MAAMA,GAAgB,CAACH,CAAK,EAAE,OAAOK,CAAI,CAAC;AAAA,EACxJ,GAAE,EAAE;AACL,SAAOH;AACT;ACZe,SAASK,KAAY;AAClC,SAAO,CAAC,EAAE,OAAO,SAAW,OAAe,OAAO,YAAY,OAAO,SAAS;AAChF;ACIA,IAAIC,KAA0B,QAAQ,IAAI,aAAa,UAAUD,GAAS,IAAKN,EAAM,kBAAkBA,EAAM,WACzGQ,KAAkB,SAAyBV,GAAUW,GAAM;AAC7D,MAAIC,IAAgBV,EAAM,OAAO,EAAI;AACrC,EAAAO,GAAwB,WAAY;AAClC,WAAOT,EAASY,EAAc,OAAO;AAAA,EACtC,GAAED,CAAI,GAGPF,GAAwB,WAAY;AAClC,WAAAG,EAAc,UAAU,IACjB,WAAY;AACjB,MAAAA,EAAc,UAAU;AAAA,IACzB;AAAA,EACF,GAAE,EAAE;AACP,GACWC,KAAwB,SAA+Bb,GAAUW,GAAM;AAChF,EAAAD,GAAgB,SAAUI,GAAY;AACpC,QAAI,CAACA;AACH,aAAOd,EAAU;AAAA,EAEpB,GAAEW,CAAI;AACT;ACpBe,SAASI,GAAaC,GAAc;AACjD,MAAIC,IAAaf,EAAM,OAAO,EAAK,GAC/BgB,IAAkBhB,EAAM,SAASc,CAAY,GAC/CG,IAAmBlC,EAAeiC,GAAiB,CAAC,GACpDtB,IAAQuB,EAAiB,CAAC,GAC1BC,IAAWD,EAAiB,CAAC;AAC/B,EAAAjB,EAAM,UAAU,WAAY;AAC1B,WAAAe,EAAW,UAAU,IACd,WAAY;AACjB,MAAAA,EAAW,UAAU;AAAA,IACtB;AAAA,EACF,GAAE,EAAE;AACL,WAASI,EAAaC,GAASC,GAAe;AAC5C,IAAIA,KAAiBN,EAAW,WAGhCG,EAASE,CAAO;AAAA,EACpB;AACE,SAAO,CAAC1B,GAAOyB,CAAY;AAC7B;ACrBA,SAASG,GAAS5B,GAAO;AACvB,SAAOA,MAAU;AACnB;AAMe,SAAS6B,GAAeC,GAAmBC,GAAQ;AAChE,MAAIC,IAAOD,KAAU,CAAE,GACrBX,IAAeY,EAAK,cACpBhC,IAAQgC,EAAK,OACbC,IAAWD,EAAK,UAChBE,IAAYF,EAAK,WAGfG,IAAYC,GAAS,WAAY;AACjC,WAAIR,GAAS5B,CAAK,IACTA,IACE4B,GAASR,CAAY,IACvB,OAAOA,KAAiB,aAAaA,EAAc,IAAGA,IAEtD,OAAOU,KAAsB,aAAaA,EAAmB,IAAGA;AAAA,EAE/E,CAAK,GACDO,IAAahD,EAAe8C,GAAW,CAAC,GACxCG,IAAaD,EAAW,CAAC,GACzBE,IAAgBF,EAAW,CAAC,GAC1BG,IAAcxC,MAAU,SAAYA,IAAQsC,GAC5CG,IAAkBP,IAAYA,EAAUM,CAAW,IAAIA,GAGvDE,IAAavC,GAAS8B,CAAQ,GAC9BU,IAAaP,GAAS,CAACI,CAAW,CAAC,GACrCI,IAAavD,EAAesD,GAAY,CAAC,GACzCE,IAAYD,EAAW,CAAC,GACxBE,IAAeF,EAAW,CAAC;AAC7B,EAAA3B,GAAsB,WAAY;AAChC,QAAI8B,IAAOF,EAAU,CAAC;AACtB,IAAIP,MAAeS,KACjBL,EAAWJ,GAAYS,CAAI;AAAA,EAEjC,GAAK,CAACF,CAAS,CAAC,GAGd5B,GAAsB,WAAY;AAChC,IAAKW,GAAS5B,CAAK,KACjBuC,EAAcvC,CAAK;AAAA,EAEzB,GAAK,CAACA,CAAK,CAAC;AAGV,MAAIgD,IAAgB7C,GAAS,SAAUuB,GAASC,GAAe;AAC7D,IAAAY,EAAcb,GAASC,CAAa,GACpCmB,EAAa,CAACN,CAAW,GAAGb,CAAa;AAAA,EAC7C,CAAG;AACD,SAAO,CAACc,GAAiBO,CAAa;AACxC;AC7DA,IAAIC,KAAS,CAAE,GACXC,KAAgB,CAAE,GAMXC,KAAa,SAAoBC,GAAI;AAC9C,EAAAF,GAAc,KAAKE,CAAE;AACvB;AAaO,SAASC,GAAQC,GAAOC,GAAS;AACtC,MAAI,QAAQ,IAAI,aAAa,gBAAgB,CAACD,KAAS,YAAY,QAAW;AAC5E,QAAIE,IAAeN,GAAc,OAAO,SAAUO,GAAKC,GAAc;AACnE,aAAOA,EAAaD,KAAuC,IAAI,SAAS;AAAA,IACzE,GAAEF,CAAO;AACV,IAAIC,KACF,QAAQ,MAAM,YAAY,OAAOA,CAAY,CAAC;AAAA,EAEpD;AACA;AAGO,SAASG,GAAKL,GAAOC,GAAS;AACnC,MAAI,QAAQ,IAAI,aAAa,gBAAgB,CAACD,KAAS,YAAY,QAAW;AAC5E,QAAIE,IAAeN,GAAc,OAAO,SAAUO,GAAKC,GAAc;AACnE,aAAOA,EAAaD,KAAuC,IAAI,MAAM;AAAA,IACtE,GAAEF,CAAO;AACV,IAAIC,KACF,QAAQ,KAAK,SAAS,OAAOA,CAAY,CAAC;AAAA,EAEhD;AACA;AACO,SAASI,KAAc;AAC5B,EAAAX,KAAS,CAAE;AACb;AACO,SAASY,GAAKC,GAAQR,GAAOC,GAAS;AAC3C,EAAI,CAACD,KAAS,CAACL,GAAOM,CAAO,MAC3BO,EAAO,IAAOP,CAAO,GACrBN,GAAOM,CAAO,IAAI;AAEtB;AAGO,SAASQ,GAAYT,GAAOC,GAAS;AAC1C,EAAAM,GAAKR,IAASC,GAAOC,CAAO;AAC9B;AAGO,SAASS,GAASV,GAAOC,GAAS;AACvC,EAAAM,GAAKF,IAAML,GAAOC,CAAO;AAC3B;AACAQ,GAAY,aAAaZ;AACzBY,GAAY,cAAcH;AAC1BG,GAAY,WAAWC;ACxDvB,SAASC,GAAQC,GAAMC,GAAM;AAC3B,MAAIC,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,IAE9EC,IAAS,oBAAI,IAAK;AACtB,WAASC,EAAU,GAAGC,GAAG;AACvB,QAAIC,IAAQ,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,GAC5EC,IAAWJ,EAAO,IAAI,CAAC;AAE3B,QADAhB,GAAQ,CAACoB,GAAU,2CAA2C,GAC1DA;AACF,aAAO;AAET,QAAI,MAAMF;AACR,aAAO;AAET,QAAIH,KAAWI,IAAQ;AACrB,aAAO;AAET,IAAAH,EAAO,IAAI,CAAC;AACZ,QAAIK,IAAWF,IAAQ;AACvB,QAAI,MAAM,QAAQ,CAAC,GAAG;AACpB,UAAI,CAAC,MAAM,QAAQD,CAAC,KAAK,EAAE,WAAWA,EAAE;AACtC,eAAO;AAET,eAAS3G,IAAI,GAAGA,IAAI,EAAE,QAAQA;AAC5B,YAAI,CAAC0G,EAAU,EAAE1G,CAAC,GAAG2G,EAAE3G,CAAC,GAAG8G,CAAQ;AACjC,iBAAO;AAGX,aAAO;AAAA,IACb;AACI,QAAI,KAAKH,KAAKjH,GAAQ,CAAC,MAAM,YAAYA,GAAQiH,CAAC,MAAM,UAAU;AAChE,UAAII,IAAO,OAAO,KAAK,CAAC;AACxB,aAAIA,EAAK,WAAW,OAAO,KAAKJ,CAAC,EAAE,SAC1B,KAEFI,EAAK,MAAM,SAAU5E,GAAK;AAC/B,eAAOuE,EAAU,EAAEvE,CAAG,GAAGwE,EAAExE,CAAG,GAAG2E,CAAQ;AAAA,MACjD,CAAO;AAAA,IACP;AAEI,WAAO;AAAA,EACX;AACE,SAAOJ,EAAUJ,GAAMC,CAAI;AAC7B;ACrDA,SAASS,KAAW;AAClB,SAAOA,KAAW,OAAO,SAAS,OAAO,OAAO,KAAI,IAAK,SAAU3F,GAAG;AACpE,aAAStB,IAAI,GAAGA,IAAI,UAAU,QAAQA,KAAK;AACzC,UAAIF,IAAI,UAAUE,CAAC;AACnB,eAASD,KAAKD,EAAG,EAAC,CAAE,GAAE,eAAe,KAAKA,GAAGC,CAAC,MAAMuB,EAAEvB,CAAC,IAAID,EAAEC,CAAC;AAAA,IACpE;AACI,WAAOuB;AAAA,EACR,GAAE2F,GAAS,MAAM,MAAM,SAAS;AACnC;ACRA,SAASC,GAA8BnH,GAAGC,GAAG;AAC3C,MAAYD,KAAR,KAAW,QAAO,CAAE;AACxB,MAAID,IAAI,CAAE;AACV,WAAS,KAAKC,EAAG,KAAI,CAAA,EAAG,eAAe,KAAKA,GAAG,CAAC,GAAG;AACjD,QAAWC,EAAE,QAAQ,CAAC,MAAlB,GAAqB;AACzB,IAAAF,EAAE,CAAC,IAAIC,EAAE,CAAC;AAAA,EACd;AACE,SAAOD;AACT;ACPA,SAASqH,GAAyB,GAAG,GAAG;AACtC,MAAY,KAAR,KAAW,QAAO,CAAE;AACxB,MAAIvH,GACFG,GACAE,IAAImH,GAA6B,GAAG,CAAC;AACvC,MAAI,OAAO,uBAAuB;AAChC,QAAI9F,IAAI,OAAO,sBAAsB,CAAC;AACtC,SAAKvB,IAAI,GAAGA,IAAIuB,EAAE,QAAQvB,IAAK,CAAAH,IAAI0B,EAAEvB,CAAC,GAAU,EAAE,QAAQH,CAAC,MAAlB,MAAuB,CAAA,EAAG,qBAAqB,KAAK,GAAGA,CAAC,MAAMK,EAAEL,CAAC,IAAI,EAAEA,CAAC;AAAA,EACrH;AACE,SAAOK;AACT;ACXO,SAASoH,GAAUhF,GAAOiF,GAAKC,GAAK;AACzC,UAAQlF,IAAQiF,MAAQC,IAAMD;AAChC;AACO,SAASE,GAAkBC,GAAWpF,GAAOiF,GAAKC,GAAK;AAC5D,MAAIG,IAASL,GAAUhF,GAAOiF,GAAKC,CAAG,GAClCI,IAAgB,CAAE;AACtB,UAAQF,GAAS;AAAA,IACf,KAAK;AACH,MAAAE,EAAc,QAAQ,GAAG,OAAOD,IAAS,KAAK,GAAG,GACjDC,EAAc,YAAY;AAC1B;AAAA,IACF,KAAK;AACH,MAAAA,EAAc,SAAS,GAAG,OAAOD,IAAS,KAAK,GAAG,GAClDC,EAAc,YAAY;AAC1B;AAAA,IACF,KAAK;AACH,MAAAA,EAAc,MAAM,GAAG,OAAOD,IAAS,KAAK,GAAG,GAC/CC,EAAc,YAAY;AAC1B;AAAA,IACF;AACE,MAAAA,EAAc,OAAO,GAAG,OAAOD,IAAS,KAAK,GAAG,GAChDC,EAAc,YAAY;AAC1B;AAAA,EACN;AACE,SAAOA;AACT;AAGO,SAASC,GAASvF,GAAOwF,GAAO;AACrC,SAAO,MAAM,QAAQxF,CAAK,IAAIA,EAAMwF,CAAK,IAAIxF;AAC/C;ACxBA,IAAIyF,IAAU;AAAA;AAAA;AAAA;AAAA,EAQZ,WAAW;AAAA;AAAA;AAAA;AAAA,EA6CX,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,EAKT,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA,EAKX,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA,EAKL,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,EAKN,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,EAKN,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA,EAKJ,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAKP,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,EAcN,QAAQ;AA4aV,GCvhBIC,KAA6B,gBAAApF,EAAM,cAAc;AAAA,EACnD,KAAK;AAAA,EACL,KAAK;AAAA,EACL,WAAW;AAAA,EACX,MAAM;AAAA,EACN,eAAe;AAAA,EACf,aAAa;AAAA,EACb,UAAU;AAAA,EACV,UAAU;AAAA,EACV,QAAQ,CAAE;AAAA,EACV,YAAY,CAAA;AACd,CAAC,GAGUqF,KAA+B,gBAAArF,EAAM,cAAc,EAAE,GCX5DsF,KAAY,CAAC,aAAa,SAAS,cAAc,eAAe,YAAY,SAAS,UAAU,YAAY,kBAAkB,kBAAkB,oBAAoB,WAAW,cAAc,GAM5LC,KAAsB,gBAAAvF,EAAM,WAAW,SAAUwF,GAAOC,GAAK;AAC/D,MAAIC,IAAYF,EAAM,WACpB9F,IAAQ8F,EAAM,OACdG,IAAaH,EAAM,YACnBI,IAAcJ,EAAM,aACpBK,IAAWL,EAAM,UACjBM,IAAQN,EAAM,OACdO,IAASP,EAAM,QACfQ,IAAWR,EAAM,UACjBS,IAAiBT,EAAM,gBACvBU,IAAiBV,EAAM,gBACvBW,IAAmBX,EAAM,kBACzBY,IAAUZ,EAAM,SAChBa,IAAeb,EAAM,cACrBc,IAAY9B,GAAyBgB,GAAOF,EAAS,GACnDiB,IAAoBvG,EAAM,WAAWoF,EAAa,GACpDT,IAAM4B,EAAkB,KACxB3B,IAAM2B,EAAkB,KACxBzB,IAAYyB,EAAkB,WAC9BC,IAAWD,EAAkB,UAC7BE,IAAWF,EAAkB,UAC7BG,IAAQH,EAAkB,OAC1BI,IAAWJ,EAAkB,UAC7BK,IAAqBL,EAAkB,oBACvCM,IAA0BN,EAAkB,yBAC5CO,IAAeP,EAAkB,cACjCQ,IAAkCR,EAAkB,iCACpDS,IAAST,EAAkB,QAC3BnH,IAAamH,EAAkB,YAC7BU,IAAkB,GAAG,OAAOvB,GAAW,SAAS,GAGhDwB,IAAsB,SAA6B7J,GAAG;AACxD,IAAKmJ,KACHZ,EAAYvI,GAAGsI,CAAU;AAAA,EAE5B,GACGwB,IAAkB,SAAyB9J,GAAG;AAChD,IAAA+I,KAAY,QAA8BA,EAAQ/I,GAAGsI,CAAU;AAAA,EAChE,GACGyB,IAAuB,SAA8B/J,GAAG;AAC1D,IAAAgJ,EAAahJ,GAAGsI,CAAU;AAAA,EAC3B,GAGG0B,KAAY,SAAmBhK,GAAG;AACpC,QAAI,CAACmJ,KAAYC,GAAU;AACzB,UAAI1B,IAAS;AAGb,cAAQ1H,EAAE,SAASA,EAAE,SAAO;AAAA,QAC1B,KAAK8H,EAAQ;AACX,UAAAJ,IAASD,MAAc,SAASA,MAAc,QAAQ,KAAK;AAC3D;AAAA,QACF,KAAKK,EAAQ;AACX,UAAAJ,IAASD,MAAc,SAASA,MAAc,QAAQ,IAAI;AAC1D;AAAA;AAAA,QAGF,KAAKK,EAAQ;AACX,UAAAJ,IAASD,MAAc,QAAQ,IAAI;AACnC;AAAA;AAAA,QAGF,KAAKK,EAAQ;AACX,UAAAJ,IAASD,MAAc,QAAQ,KAAK;AACpC;AAAA,QACF,KAAKK,EAAQ;AACX,UAAAJ,IAAS;AACT;AAAA,QACF,KAAKI,EAAQ;AACX,UAAAJ,IAAS;AACT;AAAA,QACF,KAAKI,EAAQ;AACX,UAAAJ,IAAS;AACT;AAAA,QACF,KAAKI,EAAQ;AACX,UAAAJ,IAAS;AACT;AAAA,QACF,KAAKI,EAAQ;AAAA,QACb,KAAKA,EAAQ;AACX,UAAAU,EAASF,CAAU;AACnB;AAAA,MACV;AACM,MAAIZ,MAAW,SACb1H,EAAE,eAAgB,GAClB6I,EAAenB,GAAQY,CAAU;AAAA,IAEzC;AAAA,EACG,GACG2B,KAAc,SAAqBjK,GAAG;AACxC,YAAQA,EAAE,SAASA,EAAE,SAAO;AAAA,MAC1B,KAAK8H,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AACX,QAAAgB,KAAqB,QAAuCA,EAAkB;AAC9E;AAAA,IACR;AAAA,EACG,GAGGnB,KAAgBH,GAAkBC,GAAWpF,GAAOiF,GAAKC,CAAG,GAG5D2C,KAAW,CAAE;AACjB,MAAI5B,MAAe,MAAM;AACvB,QAAI6B;AACJ,IAAAD,KAAW;AAAA,MACT,UAAUf,IAAW,OAAOvB,GAAS0B,GAAUhB,CAAU;AAAA,MACzD,MAAM;AAAA,MACN,iBAAiBhB;AAAA,MACjB,iBAAiBC;AAAA,MACjB,iBAAiBlF;AAAA,MACjB,iBAAiB8G;AAAA,MACjB,cAAcvB,GAAS2B,GAAoBjB,CAAU;AAAA,MACrD,mBAAmBV,GAAS4B,GAAyBlB,CAAU;AAAA,MAC/D,iBAAiBV,GAAS6B,GAAcnB,CAAU;AAAA,MAClD,mBAAmB6B,KAAYvC,GAAS8B,GAAiCpB,CAAU,OAAO,QAAQ6B,OAAc,SAAS,SAASA,GAAU9H,CAAK;AAAA,MACjJ,oBAAoBoF,MAAc,SAASA,MAAc,QAAQ,eAAe;AAAA,MAChF,aAAaoC;AAAA,MACb,cAAcA;AAAA,MACd,SAASC;AAAA,MACT,cAAcC;AAAA,MACd,WAAWC;AAAA,MACX,SAASC;AAAA,IACV;AAAA,EACL;AACE,MAAIG,KAA0B,gBAAAzH,EAAM,cAAc,OAAOsE,GAAS;AAAA,IAChE,KAAKmB;AAAA,IACL,WAAWiC,GAAIT,GAAiBzJ,EAAgBA,EAAgBA,EAAgB,IAAI,GAAG,OAAOyJ,GAAiB,GAAG,EAAE,OAAOtB,IAAa,CAAC,GAAGA,MAAe,QAAQe,CAAK,GAAG,GAAG,OAAOO,GAAiB,WAAW,GAAGjB,CAAQ,GAAG,GAAG,OAAOiB,GAAiB,kBAAkB,GAAGhB,CAAc,GAAG7G,EAAW,MAAM;AAAA,IACjT,OAAOuI,EAAcA,EAAcA,EAAc,CAAA,GAAI3C,EAAa,GAAGc,CAAK,GAAGkB,EAAO,MAAM;AAAA,EAC9F,GAAKO,IAAUjB,CAAS,CAAC;AAGvB,SAAIP,MACF0B,KAAa1B,EAAO0B,IAAY;AAAA,IAC9B,OAAO9B;AAAA,IACP,WAAWD;AAAA,IACX,OAAOhG;AAAA,IACP,UAAUsG;AAAA,IACV,gBAAgBC;AAAA,EACtB,CAAK,IAEIwB;AACT,CAAC;AACG,QAAQ,IAAI,aAAa,iBAC3BlC,GAAO,cAAc;AC7JvB,IAAID,KAAY,CAAC,aAAa,SAAS,eAAe,kBAAkB,UAAU,gBAAgB,sBAAsB,iBAAiB,kBAAkB,SAAS,GAKhKsC,KAAuB,gBAAA5H,EAAM,WAAW,SAAUwF,GAAOC,GAAK;AAChE,MAAIC,IAAYF,EAAM,WACpBM,IAAQN,EAAM,OACdI,IAAcJ,EAAM,aACpBU,IAAiBV,EAAM,gBACvBqC,IAASrC,EAAM,QACfsC,IAAetC,EAAM,cACrBuC,IAAqBvC,EAAM,oBAC3BwC,IAAgBxC,EAAM,eACtBS,IAAiBT,EAAM,gBACvBY,IAAUZ,EAAM,SAChBc,IAAY9B,GAAyBgB,GAAOF,EAAS,GACnD2C,IAAajI,EAAM,OAAO,EAAE,GAG5BgB,IAAkBhB,EAAM,SAAS,EAAK,GACxCiB,IAAmBlC,EAAeiC,GAAiB,CAAC,GACpDkH,IAAgBjH,EAAiB,CAAC,GAClCkH,IAAmBlH,EAAiB,CAAC,GACnCmH,IAAmBpI,EAAM,SAAS,EAAE,GACtCqI,IAAmBtJ,EAAeqJ,GAAkB,CAAC,GACrDE,IAAcD,EAAiB,CAAC,GAChCE,IAAiBF,EAAiB,CAAC,GACjCG,IAAW,SAAkBtD,GAAO;AACtC,IAAAqD,EAAerD,CAAK,GACpBiD,EAAiB,EAAI;AAAA,EACtB,GACGM,IAAgB,SAAuBpL,GAAG6H,GAAO;AACnD,IAAAsD,EAAStD,CAAK,GACdkB,KAAY,QAA8BA,EAAQ/I,CAAC;AAAA,EACpD,GACGqL,IAAqB,SAA4BrL,GAAG6H,GAAO;AAC7D,IAAAsD,EAAStD,CAAK;AAAA,EACf;AAGD,EAAAlF,EAAM,oBAAoByF,GAAK,WAAY;AACzC,WAAO;AAAA,MACL,OAAO,SAAeP,GAAO;AAC3B,YAAIyD;AACJ,SAACA,IAAwBV,EAAW,QAAQ/C,CAAK,OAAO,QAAQyD,MAA0B,UAAUA,EAAsB,MAAO;AAAA,MAClI;AAAA,MACD,UAAU,WAAoB;AAC5BC,QAAAA,GAAAA,UAAU,WAAY;AACpB,UAAAT,EAAiB,EAAK;AAAA,QAChC,CAAS;AAAA,MACT;AAAA,IACK;AAAA,EACL,CAAG;AAID,MAAIU,IAAclB,EAAc;AAAA,IAC9B,WAAWjC;AAAA,IACX,aAAaE;AAAA,IACb,gBAAgBM;AAAA,IAChB,QAAQ4B;AAAA,IACR,SAASW;AAAA,IACT,cAAcC;AAAA,EACf,GAAEpC,CAAS;AACZ,SAAoB,gBAAAtG,EAAM,cAAcA,EAAM,UAAU,MAAM6H,EAAO,IAAI,SAAUnI,GAAOwF,GAAO;AAC/F,QAAIc,IAAWgC,MAAkB9C;AACjC,WAAoB,gBAAAlF,EAAM,cAAcuF,IAAQjB,GAAS;AAAA,MACvD,KAAK,SAAawE,GAAM;AACtB,QAAKA,IAGHb,EAAW,QAAQ/C,CAAK,IAAI4D,IAF5B,OAAOb,EAAW,QAAQ/C,CAAK;AAAA,MAIlC;AAAA,MACD,UAAUc;AAAA,MACV,gBAAgBA,KAAYC;AAAA,MAC5B,OAAOhB,GAASa,GAAOZ,CAAK;AAAA,MAC5B,KAAKA;AAAA,MACL,OAAOxF;AAAA,MACP,YAAYwF;AAAA,IACb,GAAE2D,CAAW,CAAC;AAAA,EACnB,CAAG,GAAGd,KAAsBG,KAA8B,gBAAAlI,EAAM,cAAcuF,IAAQjB,GAAS;AAAA,IAC3F,KAAK;AAAA,EACN,GAAEuE,GAAa;AAAA,IACd,OAAOhB,EAAOS,CAAW;AAAA,IACzB,YAAY;AAAA,IACZ,UAAUN,MAAkB;AAAA,IAC5B,gBAAgB/B;AAAA,IAChB,QAAQ8B;AAAA,IACR,OAAO;AAAA,MACL,eAAe;AAAA,IAChB;AAAA,IACD,UAAU;AAAA,IACV,eAAe;AAAA,EAChB,CAAA,CAAC,CAAC;AACL,CAAC;AACG,QAAQ,IAAI,aAAa,iBAC3BH,GAAQ,cAAc;AChGxB,IAAImB,KAAO,SAAcvD,GAAO;AAC9B,MAAIE,IAAYF,EAAM,WACpBM,IAAQN,EAAM,OACdwD,IAAWxD,EAAM,UACjB9F,IAAQ8F,EAAM,OACdyD,IAAWzD,EAAM,SACfe,IAAoBvG,EAAM,WAAWoF,EAAa,GACpDT,IAAM4B,EAAkB,KACxB3B,IAAM2B,EAAkB,KACxBzB,IAAYyB,EAAkB,WAC9B2C,IAAgB3C,EAAkB,eAClC4C,IAAc5C,EAAkB,aAChC6C,IAAW7C,EAAkB,UAC3B8C,IAAU,GAAG,OAAO3D,GAAW,OAAO,GAGtCV,IAAgBH,GAAkBC,GAAWpF,GAAOiF,GAAKC,CAAG;AAChE,SAAoB,gBAAA5E,EAAM,cAAc,QAAQ;AAAA,IAC9C,WAAWZ,GAAWiK,GAAS7L,EAAgB,CAAE,GAAE,GAAG,OAAO6L,GAAS,SAAS,GAAGD,KAAYF,KAAiBxJ,KAASA,KAASyJ,CAAW,CAAC;AAAA,IAC7I,OAAOxB,EAAcA,EAAc,CAAE,GAAE3C,CAAa,GAAGc,CAAK;AAAA,IAC5D,aAAa,SAAqBzI,GAAG;AACnC,MAAAA,EAAE,gBAAiB;AAAA,IACpB;AAAA,IACD,SAAS,WAAmB;AAC1B,MAAA4L,EAASvJ,CAAK;AAAA,IACpB;AAAA,EACG,GAAEsJ,CAAQ;AACb,GC/BIM,KAAQ,SAAe9D,GAAO;AAChC,MAAIE,IAAYF,EAAM,WACpB+D,IAAQ/D,EAAM,OACdgE,IAAUhE,EAAM,SACdiE,IAAgB,GAAG,OAAO/D,GAAW,OAAO;AAGhD,SAAK6D,EAAM,SAGS,gBAAAvJ,EAAM,cAAc,OAAO;AAAA,IAC7C,WAAWyJ;AAAA,EACf,GAAKF,EAAM,IAAI,SAAU7H,GAAM;AAC3B,QAAIhC,IAAQgC,EAAK,OACfoE,IAAQpE,EAAK,OACbgI,IAAQhI,EAAK;AACf,WAAoB,gBAAA1B,EAAM,cAAc+I,IAAM;AAAA,MAC5C,KAAKrJ;AAAA,MACL,WAAW+J;AAAA,MACX,OAAO3D;AAAA,MACP,OAAOpG;AAAA,MACP,SAAS8J;AAAA,IACV,GAAEE,CAAK;AAAA,EACZ,CAAG,CAAC,IAfO;AAgBX,GCpBIC,KAAM,SAAanE,GAAO;AAC5B,MAAIE,IAAYF,EAAM,WACpB9F,IAAQ8F,EAAM,OACdM,IAAQN,EAAM,OACdoE,IAAcpE,EAAM,aAClBe,IAAoBvG,EAAM,WAAWoF,EAAa,GACpDT,IAAM4B,EAAkB,KACxB3B,IAAM2B,EAAkB,KACxBzB,IAAYyB,EAAkB,WAC9B6C,IAAW7C,EAAkB,UAC7B2C,IAAgB3C,EAAkB,eAClC4C,IAAc5C,EAAkB,aAC9BsD,IAAe,GAAG,OAAOnE,GAAW,MAAM,GAC1CoE,IAASV,KAAYF,KAAiBxJ,KAASA,KAASyJ,GAGxDY,IAAcpC,EAAcA,EAAc,CAAE,GAAE9C,GAAkBC,GAAWpF,GAAOiF,GAAKC,CAAG,CAAC,GAAG,OAAOkB,KAAU,aAAaA,EAAMpG,CAAK,IAAIoG,CAAK;AACpJ,SAAIgE,MACFC,IAAcpC,EAAcA,EAAc,CAAA,GAAIoC,CAAW,GAAG,OAAOH,KAAgB,aAAaA,EAAYlK,CAAK,IAAIkK,CAAW,IAE9G,gBAAA5J,EAAM,cAAc,QAAQ;AAAA,IAC9C,WAAWZ,GAAWyK,GAAcrM,EAAgB,CAAE,GAAE,GAAG,OAAOqM,GAAc,SAAS,GAAGC,CAAM,CAAC;AAAA,IACnG,OAAOC;AAAA,EACX,CAAG;AACH,GC3BIC,KAAQ,SAAexE,GAAO;AAChC,MAAIE,IAAYF,EAAM,WACpB+D,IAAQ/D,EAAM,OACdyE,IAAOzE,EAAM,MACbM,IAAQN,EAAM,OACdoE,IAAcpE,EAAM,aAClBe,IAAoBvG,EAAM,WAAWoF,EAAa,GACpDT,IAAM4B,EAAkB,KACxB3B,IAAM2B,EAAkB,KACxB2D,IAAO3D,EAAkB,MACvB4D,IAAWnK,EAAM,QAAQ,WAAY;AACvC,QAAIoK,IAAS,oBAAI,IAAK;AAQtB,QALAb,EAAM,QAAQ,SAAUc,GAAM;AAC5B,MAAAD,EAAO,IAAIC,EAAK,KAAK;AAAA,IAC3B,CAAK,GAGGJ,KAAQC,MAAS;AAEnB,eADII,IAAU3F,GACP2F,KAAW1F;AAChB,QAAAwF,EAAO,IAAIE,CAAO,GAClBA,KAAWJ;AAGf,WAAO,MAAM,KAAKE,CAAM;AAAA,EAC5B,GAAK,CAACzF,GAAKC,GAAKsF,GAAMD,GAAMV,CAAK,CAAC;AAChC,SAAoB,gBAAAvJ,EAAM,cAAc,OAAO;AAAA,IAC7C,WAAW,GAAG,OAAO0F,GAAW,OAAO;AAAA,EAC3C,GAAKyE,EAAS,IAAI,SAAUI,GAAU;AAClC,WAAoB,gBAAAvK,EAAM,cAAc2J,IAAK;AAAA,MAC3C,WAAWjE;AAAA,MACX,KAAK6E;AAAA,MACL,OAAOA;AAAA,MACP,OAAOzE;AAAA,MACP,aAAa8D;AAAA,IACnB,CAAK;AAAA,EACL,CAAG,CAAC;AACJ,GCpCIY,KAAQ,SAAehF,GAAO;AAChC,MAAIE,IAAYF,EAAM,WACpBM,IAAQN,EAAM,OACdiF,IAAQjF,EAAM,OACdkF,IAAMlF,EAAM,KACZN,IAAQM,EAAM,OACdI,IAAcJ,EAAM,aACpBmF,IAAanF,EAAM,YACjBe,IAAoBvG,EAAM,WAAWoF,EAAa,GACpDN,IAAYyB,EAAkB,WAC9B5B,IAAM4B,EAAkB,KACxB3B,IAAM2B,EAAkB,KACxBC,IAAWD,EAAkB,UAC7BG,IAAQH,EAAkB,OAC1BnH,IAAamH,EAAkB,YAC7BqE,IAAiB,GAAG,OAAOlF,GAAW,QAAQ,GAC9CmF,IAAcnG,GAAU+F,GAAO9F,GAAKC,CAAG,GACvCkG,IAAYpG,GAAUgG,GAAK/F,GAAKC,CAAG,GAGnCsC,IAAsB,SAA6B7J,GAAG;AACxD,IAAI,CAACmJ,KAAYZ,KACfA,EAAYvI,GAAG,EAAE;AAAA,EAEpB,GAGG2H,IAAgB,CAAE;AACtB,UAAQF,GAAS;AAAA,IACf,KAAK;AACH,MAAAE,EAAc,QAAQ,GAAG,OAAO6F,IAAc,KAAK,GAAG,GACtD7F,EAAc,QAAQ,GAAG,OAAO8F,IAAY,MAAMD,IAAc,KAAK,GAAG;AACxE;AAAA,IACF,KAAK;AACH,MAAA7F,EAAc,SAAS,GAAG,OAAO6F,IAAc,KAAK,GAAG,GACvD7F,EAAc,SAAS,GAAG,OAAO8F,IAAY,MAAMD,IAAc,KAAK,GAAG;AACzE;AAAA,IACF,KAAK;AACH,MAAA7F,EAAc,MAAM,GAAG,OAAO6F,IAAc,KAAK,GAAG,GACpD7F,EAAc,SAAS,GAAG,OAAO8F,IAAY,MAAMD,IAAc,KAAK,GAAG;AACzE;AAAA,IACF;AACE,MAAA7F,EAAc,OAAO,GAAG,OAAO6F,IAAc,KAAK,GAAG,GACrD7F,EAAc,QAAQ,GAAG,OAAO8F,IAAY,MAAMD,IAAc,KAAK,GAAG;AAAA,EAC9E;AACE,MAAIE,IAAYJ,KAAcjD,GAAIkD,GAAgBpN,EAAgBA,EAAgB,CAAE,GAAE,GAAG,OAAOoN,GAAgB,GAAG,EAAE,OAAO1F,IAAQ,CAAC,GAAGA,MAAU,QAAQwB,CAAK,GAAG,GAAG,OAAOhB,GAAW,kBAAkB,GAAGE,CAAW,GAAGxG,EAAW,KAAK;AAC1O,SAAoB,gBAAAY,EAAM,cAAc,OAAO;AAAA,IAC7C,WAAW+K;AAAA,IACX,OAAOpD,EAAcA,EAAc,CAAE,GAAE3C,CAAa,GAAGc,CAAK;AAAA,IAC5D,aAAaoB;AAAA,IACb,cAAcA;AAAA,EAClB,CAAG;AACH,GCpDI8D,KAAS,SAAgBxF,GAAO;AAClC,MAAIE,IAAYF,EAAM,WACpBM,IAAQN,EAAM,OACdqC,IAASrC,EAAM,QACfyF,IAAazF,EAAM,YACnBI,IAAcJ,EAAM,aAClBe,IAAoBvG,EAAM,WAAWoF,EAAa,GACpDgE,IAAW7C,EAAkB,UAC7BG,IAAQH,EAAkB,OAC1B5B,IAAM4B,EAAkB,KACxBS,IAAST,EAAkB,QAC3BnH,IAAamH,EAAkB,YAG7B2E,IAAYlL,EAAM,QAAQ,WAAY;AACxC,QAAI,CAAC0G,GAAO;AAEV,UAAImB,EAAO,WAAW;AACpB,eAAO,CAAE;AAEX,UAAIsD,IAAaF,KAA4DtG,GACzEyG,IAAWvD,EAAO,CAAC;AACvB,aAAO,CAAC;AAAA,QACN,OAAO,KAAK,IAAIsD,GAAYC,CAAQ;AAAA,QACpC,KAAK,KAAK,IAAID,GAAYC,CAAQ;AAAA,MAC1C,CAAO;AAAA,IACP;AAII,aADIC,IAAO,CAAE,GACJ,IAAI,GAAG,IAAIxD,EAAO,SAAS,GAAG,KAAK;AAC1C,MAAAwD,EAAK,KAAK;AAAA,QACR,OAAOxD,EAAO,CAAC;AAAA,QACf,KAAKA,EAAO,IAAI,CAAC;AAAA,MACzB,CAAO;AAEH,WAAOwD;AAAA,EACR,GAAE,CAACxD,GAAQnB,GAAOuE,GAAYtG,CAAG,CAAC;AACnC,MAAI,CAACyE;AACH,WAAO;AAIT,MAAIkC,IAAaJ,KAAc,QAAgCA,EAAU,WAAW9L,EAAW,UAAU4H,EAAO,UAAuB,gBAAAhH,EAAM,cAAcwK,IAAO;AAAA,IAChK,OAAO;AAAA,IACP,WAAW9E;AAAA,IACX,OAAOwF,EAAU,CAAC,EAAE;AAAA,IACpB,KAAKA,EAAUA,EAAU,SAAS,CAAC,EAAE;AAAA,IACrC,YAAYxD,GAAItI,EAAW,QAAQ,GAAG,OAAOsG,GAAW,SAAS,CAAC;AAAA,IAClE,OAAOsB,EAAO;AAAA,EACf,CAAA,IAAI;AACL,SAAoB,gBAAAhH,EAAM,cAAcA,EAAM,UAAU,MAAMsL,GAAYJ,EAAU,IAAI,SAAUxJ,GAAMwD,GAAO;AAC7G,QAAIuF,IAAQ/I,EAAK,OACfgJ,IAAMhJ,EAAK;AACb,WAAoB,gBAAA1B,EAAM,cAAcwK,IAAO;AAAA,MAC7C,OAAOtF;AAAA,MACP,WAAWQ;AAAA,MACX,OAAOiC,EAAcA,EAAc,IAAI1C,GAASa,GAAOZ,CAAK,CAAC,GAAG8B,EAAO,KAAK;AAAA,MAC5E,OAAOyD;AAAA,MACP,KAAKC;AAAA,MACL,KAAKxF;AAAA,MACL,aAAaU;AAAA,IACnB,CAAK;AAAA,EACL,CAAG,CAAC;AACJ,GC/DI2F,KAAc;AAClB,SAASC,GAAY,GAAG;AACtB,MAAIC,IAAM,mBAAmB,IAAI,EAAE,cAAc,CAAC,IAAI;AACtD,SAAO;AAAA,IACL,OAAOA,EAAI;AAAA,IACX,OAAOA,EAAI;AAAA,EACZ;AACH;AACA,SAASC,GAAQC,GAAc7G,GAAW8G,GAAWjH,GAAKC,GAAKiH,GAAanJ,GAAeoJ,GAAcC,GAAcC,GAAUC,GAAU;AACzI,MAAIjL,IAAkBhB,EAAM,SAAS,IAAI,GACvCiB,IAAmBlC,EAAeiC,GAAiB,CAAC,GACpDkL,IAAgBjL,EAAiB,CAAC,GAClCkL,IAAmBlL,EAAiB,CAAC,GACnCmH,IAAmBpI,EAAM,SAAS,EAAE,GACtCqI,IAAmBtJ,EAAeqJ,GAAkB,CAAC,GACrDJ,IAAgBK,EAAiB,CAAC,GAClC+D,IAAmB/D,EAAiB,CAAC,GACnCgE,IAAmBrM,EAAM,SAAS,EAAK,GACzCsM,IAAmBvN,EAAesN,GAAkB,CAAC,GACrDpG,IAAiBqG,EAAiB,CAAC,GACnCC,IAAoBD,EAAiB,CAAC,GACpCE,IAAmBxM,EAAM,SAAS4L,CAAS,GAC7Ca,IAAmB1N,EAAeyN,GAAkB,CAAC,GACrDE,IAAcD,EAAiB,CAAC,GAChCE,IAAiBF,EAAiB,CAAC,GACjCG,IAAmB5M,EAAM,SAAS4L,CAAS,GAC7CiB,IAAoB9N,EAAe6N,GAAkB,CAAC,GACtDE,IAAeD,EAAkB,CAAC,GAClCE,IAAkBF,EAAkB,CAAC,GACnCG,IAAoBhN,EAAM,OAAO,IAAI,GACrCiN,IAAkBjN,EAAM,OAAO,IAAI,GACnCkN,IAAsBlN,EAAM,OAAO,IAAI,GACvCuG,KAAoBvG,EAAM,WAAWqF,EAAe,GACtD8H,KAAc5G,GAAkB,aAChC6G,KAAe7G,GAAkB;AACnC,EAAA/F,GAAgB,WAAY;AAC1B,IAAIwH,MAAkB,MACpB2E,EAAef,CAAS;AAAA,EAE9B,GAAK,CAACA,GAAW5D,CAAa,CAAC,GAG7BhI,EAAM,UAAU,WAAY;AAC1B,WAAO,WAAY;AACjB,eAAS,oBAAoB,aAAagN,EAAkB,OAAO,GACnE,SAAS,oBAAoB,WAAWC,EAAgB,OAAO,GAC3DC,EAAoB,YACtBA,EAAoB,QAAQ,oBAAoB,aAAaF,EAAkB,OAAO,GACtFE,EAAoB,QAAQ,oBAAoB,YAAYD,EAAgB,OAAO;AAAA,IAEtF;AAAA,EACF,GAAE,EAAE;AACL,MAAII,KAAc,SAAqBC,GAAYC,GAAWC,GAAY;AAExE,IAAID,MAAc,UAChBpB,EAAiBoB,CAAS,GAE5BZ,EAAeW,CAAU;AACzB,QAAIG,IAAeH;AACnB,IAAIE,MACFC,IAAeH,EAAW,OAAO,SAAUI,GAAGpQ,GAAG;AAC/C,aAAOA,MAAM0K;AAAA,IACrB,CAAO,IAEHtF,EAAc+K,CAAY,GACtBL,MACFA,GAAa;AAAA,MACX,WAAWE;AAAA,MACX,aAAaE,IAAaxF,IAAgB;AAAA,MAC1C,eAAeA;AAAA,MACf,eAAeuF;AAAA,IACvB,CAAO;AAAA,EAEJ,GACGI,KAAmB9N,GAAS,SAAU8F,GAAYiI,GAAeJ,GAAY;AAC/E,QAAI7H,MAAe,IAAI;AAErB,UAAIwF,IAAa2B,EAAa,CAAC,GAC3B1B,IAAW0B,EAAaA,EAAa,SAAS,CAAC,GAC/Ce,IAAiBlJ,IAAMwG,GACvB2C,IAAelJ,IAAMwG,GAGrBrG,KAAS6I,KAAiBhJ,IAAMD;AACpC,MAAAI,KAAS,KAAK,IAAIA,IAAQ8I,CAAc,GACxC9I,KAAS,KAAK,IAAIA,IAAQ+I,CAAY;AAGtC,UAAIC,KAAmBlC,EAAYV,IAAapG,EAAM;AACtD,MAAAA,KAASgJ,KAAmB5C;AAC5B,UAAI6C,KAAmBlB,EAAa,IAAI,SAAUmB,IAAK;AACrD,eAAOA,KAAMlJ;AAAA,MACrB,CAAO;AACD,MAAAsI,GAAYW,EAAgB;AAAA,IAClC,OAAW;AAEL,UAAIE,MAActJ,IAAMD,KAAOiJ,GAG3BO,KAAchQ,GAAmBuO,CAAW;AAChD,MAAAyB,GAAYxI,CAAU,IAAImH,EAAanH,CAAU;AACjD,UAAIyI,KAAOrC,EAAaoC,IAAaD,IAAYvI,GAAY,MAAM;AACnE,MAAA0H,GAAYe,GAAK,QAAQA,GAAK,OAAOZ,CAAU;AAAA,IACrD;AAAA,EACA,CAAG,GACG5H,KAAc,SAAqBvI,GAAGsI,GAAY0I,GAAa;AACjE,IAAAhR,EAAE,gBAAiB;AAGnB,QAAIiR,IAAgBD,KAAezC,GAC/B2C,IAAcD,EAAc3I,CAAU;AAC1C,IAAAyG,EAAiBzG,CAAU,GAC3BwG,EAAiBoC,CAAW,GAC5BxB,EAAgBuB,CAAa,GAC7B3B,EAAe2B,CAAa,GAC5B/B,EAAkB,EAAK;AACvB,QAAIiC,IAAehD,GAAYnO,CAAC,GAC9BoR,KAASD,EAAa,OACtBE,KAASF,EAAa,OAGpBhB,KAAa;AAGjB,IAAIL,MACFA,GAAY;AAAA,MACV,WAAWmB;AAAA,MACX,eAAe3I;AAAA,MACf,eAAe4I;AAAA,IACvB,CAAO;AAIH,QAAII,KAAc,SAAqBC,IAAO;AAC5C,MAAAA,GAAM,eAAgB;AACtB,UAAIC,IAAgBrD,GAAYoD,EAAK,GACnCE,KAAQD,EAAc,OACtBE,KAAQF,EAAc,OACpBG,KAAUF,KAAQL,IAClBQ,KAAUF,KAAQL,IAClBQ,KAAwBvD,EAAa,QAAQ,sBAAuB,GACtEwD,KAAQD,GAAsB,OAC9BE,KAASF,GAAsB,QAC7BG,IACAC;AACJ,cAAQxK,GAAS;AAAA,QACf,KAAK;AACH,UAAAuK,KAAgB,CAACJ,KAAUG,IAC3BE,KAAaN;AACb;AAAA,QACF,KAAK;AACH,UAAAK,KAAgBJ,KAAUG,IAC1BE,KAAaN;AACb;AAAA,QACF,KAAK;AACH,UAAAK,KAAgB,CAACL,KAAUG,IAC3BG,KAAaL;AACb;AAAA,QACF;AACE,UAAAI,KAAgBL,KAAUG,IAC1BG,KAAaL;AAAA,MACvB;AAGM,MAAAzB,KAAaxB,IAAW,KAAK,IAAIsD,EAAU,IAAI/D,MAAeU,IAAWS,EAAY,SAAS,IAC9FH,EAAkBiB,EAAU,GAC5BG,GAAiBhI,GAAY0J,IAAe7B,EAAU;AAAA,IACvD,GAGG+B,KAAY,SAASA,GAAUX,IAAO;AACxC,MAAAA,GAAM,eAAgB,GACtB,SAAS,oBAAoB,WAAWW,EAAS,GACjD,SAAS,oBAAoB,aAAaZ,EAAW,GACjDzB,EAAoB,YACtBA,EAAoB,QAAQ,oBAAoB,aAAaF,EAAkB,OAAO,GACtFE,EAAoB,QAAQ,oBAAoB,YAAYD,EAAgB,OAAO,IAErFD,EAAkB,UAAU,MAC5BC,EAAgB,UAAU,MAC1BC,EAAoB,UAAU,MAC9BpB,EAAa0B,EAAU,GACvBpB,EAAiB,EAAE,GACnBG,EAAkB,EAAK;AAAA,IACxB;AACD,aAAS,iBAAiB,WAAWgD,EAAS,GAC9C,SAAS,iBAAiB,aAAaZ,EAAW,GAClDtR,EAAE,cAAc,iBAAiB,YAAYkS,EAAS,GACtDlS,EAAE,cAAc,iBAAiB,aAAasR,EAAW,GACzD3B,EAAkB,UAAU2B,IAC5B1B,EAAgB,UAAUsC,IAC1BrC,EAAoB,UAAU7P,EAAE;AAAA,EACjC,GAGGmS,KAAexP,EAAM,QAAQ,WAAY;AAC3C,QAAIyP,IAAetR,GAAmByN,CAAS,EAAE,KAAK,SAAU/N,GAAGoG,GAAG;AACpE,aAAOpG,IAAIoG;AAAA,IACjB,CAAK,GACGyL,IAAevR,GAAmBuO,CAAW,EAAE,KAAK,SAAU7O,GAAGoG,GAAG;AACtE,aAAOpG,IAAIoG;AAAA,IACjB,CAAK,GACG0L,IAAS,CAAE;AACf,IAAAD,EAAa,QAAQ,SAAUzB,GAAK;AAClC,MAAA0B,EAAO1B,CAAG,KAAK0B,EAAO1B,CAAG,KAAK,KAAK;AAAA,IACzC,CAAK,GACDwB,EAAa,QAAQ,SAAUxB,GAAK;AAClC,MAAA0B,EAAO1B,CAAG,KAAK0B,EAAO1B,CAAG,KAAK,KAAK;AAAA,IACzC,CAAK;AACD,QAAI2B,IAAe5D,IAAW,IAAI,GAC9B6D,IAAY,OAAO,OAAOF,CAAM,EAAE,OAAO,SAAUlN,GAAM2L,GAAM;AACjE,aAAO3L,IAAO,KAAK,IAAI2L,CAAI;AAAA,IAC5B,GAAE,CAAC;AACJ,WAAOyB,KAAaD,IAAelD,IAAcd;AAAA,EAClD,GAAE,CAACA,GAAWc,GAAaV,CAAQ,CAAC;AACrC,SAAO,CAAChE,GAAekE,GAAejG,GAAgBuJ,IAAc5J,EAAW;AACjF;ACtNe,SAASkK,GAAUnL,GAAKC,GAAKsF,GAAM6F,GAAUC,GAAYC,GAAU;AAChF,MAAIC,IAAmBlQ,EAAM,YAAY,SAAUiO,GAAK;AACtD,WAAO,KAAK,IAAItJ,GAAK,KAAK,IAAIC,GAAKqJ,CAAG,CAAC;AAAA,EAC3C,GAAK,CAACtJ,GAAKC,CAAG,CAAC,GACTuL,IAAkBnQ,EAAM,YAAY,SAAUiO,GAAK;AACrD,QAAI/D,MAAS,MAAM;AACjB,UAAIkG,IAAYzL,IAAM,KAAK,OAAOuL,EAAiBjC,CAAG,IAAItJ,KAAOuF,CAAI,IAAIA,GAGrEmG,IAAa,SAAoBC,GAAK;AACxC,gBAAQ,OAAOA,CAAG,EAAE,MAAM,GAAG,EAAE,CAAC,KAAK,IAAI;AAAA,MAC1C,GACGC,IAAa,KAAK,IAAIF,EAAWnG,CAAI,GAAGmG,EAAWzL,CAAG,GAAGyL,EAAW1L,CAAG,CAAC,GACxE6L,IAAa,OAAOJ,EAAU,QAAQG,CAAU,CAAC;AACrD,aAAO5L,KAAO6L,KAAcA,KAAc5L,IAAM4L,IAAa;AAAA,IACnE;AACI,WAAO;AAAA,EACR,GAAE,CAACtG,GAAMvF,GAAKC,GAAKsL,CAAgB,CAAC,GACjCrE,IAAc7L,EAAM,YAAY,SAAUiO,GAAK;AACjD,QAAIwC,IAAkBP,EAAiBjC,CAAG,GAGtCyC,IAAcX,EAAS,IAAI,SAAU1F,GAAM;AAC7C,aAAOA,EAAK;AAAA,IAClB,CAAK;AACD,IAAIH,MAAS,QACXwG,EAAY,KAAKP,EAAgBlC,CAAG,CAAC,GAIvCyC,EAAY,KAAK/L,GAAKC,CAAG;AAGzB,QAAI+L,IAAaD,EAAY,CAAC,GAC1BE,IAAYhM,IAAMD;AACtB,WAAA+L,EAAY,QAAQ,SAAUG,GAAY;AACxC,UAAIC,IAAO,KAAK,IAAIL,IAAkBI,CAAU;AAChD,MAAIC,KAAQF,MACVD,IAAaE,GACbD,IAAYE;AAAA,IAEpB,CAAK,GACMH;AAAA,EACX,GAAK,CAAChM,GAAKC,GAAKmL,GAAU7F,GAAMgG,GAAkBC,CAAe,CAAC,GAI5DY,IAAc,SAASA,EAAYlJ,GAAQ9C,GAAQY,GAAY;AACjE,QAAIqL,IAAO,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI;AAC/E,QAAI,OAAOjM,KAAW,UAAU;AAC9B,UAAIwI,GACAgB,IAAc1G,EAAOlC,CAAU,GAG/BsL,IAAkB1C,IAAcxJ,GAGhCmM,IAAkB,CAAE;AACxB,MAAAnB,EAAS,QAAQ,SAAU1F,GAAM;AAC/B,QAAA6G,EAAgB,KAAK7G,EAAK,KAAK;AAAA,MACvC,CAAO,GAGD6G,EAAgB,KAAKvM,GAAKC,CAAG,GAG7BsM,EAAgB,KAAKf,EAAgB5B,CAAW,CAAC;AAGjD,UAAI4C,IAAOpM,IAAS,IAAI,IAAI;AAC5B,MAAIiM,MAAS,SACXE,EAAgB,KAAKf,EAAgB5B,IAAc4C,IAAOjH,CAAI,CAAC,IAE/DgH,EAAgB,KAAKf,EAAgBc,CAAe,CAAC,GAIvDC,IAAkBA,EAAgB,OAAO,SAAUjD,GAAK;AACtD,eAAOA,MAAQ;AAAA,MAChB,CAAA,EAEA,OAAO,SAAUA,GAAK;AACrB,eAAOlJ,IAAS,IAAIkJ,KAAOM,IAAcN,KAAOM;AAAA,MACxD,CAAO,GACGyC,MAAS,WAEXE,IAAkBA,EAAgB,OAAO,SAAUjD,GAAK;AACtD,eAAOA,MAAQM;AAAA,MACzB,CAAS;AAEH,UAAI6C,IAAeJ,MAAS,SAASzC,IAAc0C;AACnD,MAAA1D,IAAY2D,EAAgB,CAAC;AAC7B,UAAIG,IAAY,KAAK,IAAI9D,IAAY6D,CAAY;AAUjD,UATAF,EAAgB,QAAQ,SAAUI,GAAgB;AAChD,YAAIR,IAAO,KAAK,IAAIQ,IAAiBF,CAAY;AACjD,QAAIN,IAAOO,MACT9D,IAAY+D,GACZD,IAAYP;AAAA,MAEtB,CAAO,GAGGvD,MAAc;AAChB,eAAOxI,IAAS,IAAIJ,IAAMC;AAI5B,UAAIoM,MAAS;AACX,eAAOzD;AAIT,UAAI,KAAK,IAAIxI,CAAM,IAAI,GAAG;AACxB,YAAIoJ,IAAchQ,GAAmB0J,CAAM;AAC3C,eAAAsG,EAAYxI,CAAU,IAAI4H,GACnBwD,EAAY5C,GAAapJ,IAASoM,GAAMxL,GAAYqL,CAAI;AAAA,MACvE;AACM,aAAOzD;AAAA,IACb,OAAW;AAAA,UAAIxI,MAAW;AACpB,eAAOJ;AACF,UAAII,MAAW;AACpB,eAAOH;AAAA;AAAA,EAEV,GAGG2M,IAAqB,SAA4B1J,GAAQ9C,GAAQY,GAAY;AAC/E,QAAIqL,IAAO,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,QAC3EzC,IAAc1G,EAAOlC,CAAU,GAC/B4H,IAAYwD,EAAYlJ,GAAQ9C,GAAQY,GAAYqL,CAAI;AAC5D,WAAO;AAAA,MACL,OAAOzD;AAAA,MACP,SAASA,MAAcgB;AAAA,IACxB;AAAA,EACF,GACGiD,IAAW,SAAkBV,GAAM;AACrC,WAAOb,MAAa,QAAQa,MAAS,KAAK,OAAOb,KAAa,YAAYa,IAAOb;AAAA,EAClF,GAGGlE,IAAe,SAAsBlE,GAAQ9C,GAAQY,GAAY;AACnE,QAAIqL,IAAO,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,QAC3E1D,IAAazF,EAAO,IAAIgE,CAAW,GACnC0C,IAAcjB,EAAW3H,CAAU,GACnC4H,IAAYwD,EAAYzD,GAAYvI,GAAQY,GAAYqL,CAAI;AAEhE,QADA1D,EAAW3H,CAAU,IAAI4H,GACrByC,MAAe,IAAO;AAExB,UAAIyB,IAAUxB,KAAY;AAG1B,MAAItK,IAAa,KAAK2H,EAAW3H,IAAa,CAAC,MAAM4I,MACnDjB,EAAW3H,CAAU,IAAI,KAAK,IAAI2H,EAAW3H,CAAU,GAAG2H,EAAW3H,IAAa,CAAC,IAAI8L,CAAO,IAE5F9L,IAAa2H,EAAW,SAAS,KAAKA,EAAW3H,IAAa,CAAC,MAAM4I,MACvEjB,EAAW3H,CAAU,IAAI,KAAK,IAAI2H,EAAW3H,CAAU,GAAG2H,EAAW3H,IAAa,CAAC,IAAI8L,CAAO;AAAA,IAEjG,WAAU,OAAOxB,KAAa,YAAYA,MAAa,MAAM;AAM5D,eAAS3S,IAAIqI,IAAa,GAAGrI,IAAIgQ,EAAW,QAAQhQ,KAAK;AAEvD,iBADIoU,IAAU,IACPF,EAASlE,EAAWhQ,CAAC,IAAIgQ,EAAWhQ,IAAI,CAAC,CAAC,KAAKoU,KAAS;AAC7D,cAAIC,IAAsBJ,EAAmBjE,GAAY,GAAGhQ,CAAC;AAC7D,UAAAgQ,EAAWhQ,CAAC,IAAIqU,EAAoB,OACpCD,IAAUC,EAAoB;AAAA,QACxC;AAIM,eAASC,IAAKjM,GAAYiM,IAAK,GAAGA,KAAM;AAEtC,iBADIC,IAAW,IACRL,EAASlE,EAAWsE,CAAE,IAAItE,EAAWsE,IAAK,CAAC,CAAC,KAAKC,KAAU;AAChE,cAAIC,IAAuBP,EAAmBjE,GAAY,IAAIsE,IAAK,CAAC;AACpE,UAAAtE,EAAWsE,IAAK,CAAC,IAAIE,EAAqB,OAC1CD,IAAWC,EAAqB;AAAA,QAC1C;AAKM,eAASC,IAAMzE,EAAW,SAAS,GAAGyE,IAAM,GAAGA,KAAO;AAEpD,iBADIC,IAAY,IACTR,EAASlE,EAAWyE,CAAG,IAAIzE,EAAWyE,IAAM,CAAC,CAAC,KAAKC,KAAW;AACnE,cAAIC,IAAuBV,EAAmBjE,GAAY,IAAIyE,IAAM,CAAC;AACrE,UAAAzE,EAAWyE,IAAM,CAAC,IAAIE,EAAqB,OAC3CD,IAAYC,EAAqB;AAAA,QAC3C;AAIM,eAASC,IAAM,GAAGA,IAAM5E,EAAW,SAAS,GAAG4E,KAAO;AAEpD,iBADIC,IAAY,IACTX,EAASlE,EAAW4E,IAAM,CAAC,IAAI5E,EAAW4E,CAAG,CAAC,KAAKC,KAAW;AACnE,cAAIC,IAAuBb,EAAmBjE,GAAY,GAAG4E,IAAM,CAAC;AACpE,UAAA5E,EAAW4E,IAAM,CAAC,IAAIE,EAAqB,OAC3CD,IAAYC,EAAqB;AAAA,QAC3C;AAAA,IAEA;AACI,WAAO;AAAA,MACL,OAAO9E,EAAW3H,CAAU;AAAA,MAC5B,QAAQ2H;AAAA,IACT;AAAA,EACF;AACD,SAAO,CAACzB,GAAaE,CAAY;AACnC;ACxNe,SAASsG,GAAS3L,GAAO;AACtC,SAAO4L,GAAQ,WAAY;AACzB,QAAI5L,MAAU,MAAQ,CAACA;AACrB,aAAO,CAAC,CAAC,CAACA,GAAO,IAAO,IAAO,CAAC;AAElC,QAAIsF,IAAWtF,EAAM,UACnB6L,IAAiB7L,EAAM,gBACvBuF,IAAWvF,EAAM,UACjB8L,IAAW9L,EAAM;AACnB,WAAI,QAAQ,IAAI,aAAa,gBAC3B3D,GAAQ,CAACiJ,KAAY,CAACuG,GAAgB,gDAAgD,GAEjF,CAAC,IAAMvG,GAAU,CAACA,KAAYuG,GAAgBtG,KAAY,GAAGuG,CAAQ;AAAA,EAChF,GAAK,CAAC9L,CAAK,CAAC;AACZ;ACkBA,IAAI+L,KAAsB,gBAAAzS,EAAM,WAAW,SAAUwF,GAAOC,GAAK;AAC/D,MAAIiN,IAAmBlN,EAAM,WAC3BE,IAAYgN,MAAqB,SAAS,cAAcA,GACxD3H,IAAYvF,EAAM,WAClBM,IAAQN,EAAM,OACdpG,IAAaoG,EAAM,YACnBwB,IAASxB,EAAM,QACfmN,IAAKnN,EAAM,IACXoN,IAAkBpN,EAAM,UACxBgB,IAAWoM,MAAoB,SAAS,KAAQA,GAChDC,IAAkBrN,EAAM,UACxBiB,IAAWoM,MAAoB,SAAS,KAAOA,GAC/CC,IAAYtN,EAAM,WAClBY,IAAUZ,EAAM,SAChBuN,IAASvN,EAAM,QACfwN,IAAaxN,EAAM,KACnBb,IAAMqO,MAAe,SAAS,IAAIA,GAClCC,IAAazN,EAAM,KACnBZ,IAAMqO,MAAe,SAAS,MAAMA,GACpCC,IAAc1N,EAAM,MACpB0E,IAAOgJ,MAAgB,SAAS,IAAIA,GACpCxT,IAAQ8F,EAAM,OACd1E,IAAe0E,EAAM,cACrBkB,IAAQlB,EAAM,OACd2N,IAAQ3N,EAAM,OACd7D,IAAW6D,EAAM,UACjB4N,IAAiB5N,EAAM,gBACvB6N,IAAgB7N,EAAM,eACtBW,IAAmBX,EAAM,kBACzB8N,IAAoB9N,EAAM,YAC1BwK,IAAasD,MAAsB,SAAS,KAAOA,GACnDC,IAAkB/N,EAAM,UACxByK,IAAWsD,MAAoB,SAAS,KAAQA,GAChDC,KAAUhO,EAAM,SAChBiO,KAAWjO,EAAM,UACjBkO,KAAkBlO,EAAM,UACxB4D,KAAWsK,OAAoB,SAAS,KAAOA,IAC/CzI,KAAazF,EAAM,YACnBmO,KAAanO,EAAM,YACnBoO,KAAcpO,EAAM,aACpBqO,IAAYrO,EAAM,WAClBsO,IAAWtO,EAAM,UACjBuO,IAAiBvO,EAAM,gBACvB+D,IAAQ/D,EAAM,OACdyE,IAAOzE,EAAM,MACbsC,IAAetC,EAAM,cACrBuC,IAAqBvC,EAAM,oBAC3BwO,KAAQxO,EAAM,OACdyO,KAAkBzO,EAAM,UACxBmB,KAAWsN,OAAoB,SAAS,IAAIA,IAC5CrN,KAAqBpB,EAAM,oBAC3BqB,KAA0BrB,EAAM,yBAChCsB,KAAetB,EAAM,cACrBuB,KAAkCvB,EAAM,iCACtCyC,IAAajI,EAAM,OAAO,IAAI,GAC9B2L,KAAe3L,EAAM,OAAO,IAAI,GAChC8E,KAAY9E,EAAM,QAAQ,WAAY;AACxC,WAAIyT,KACKD,KAAU,QAAQ,QAEpBA,KAAU,QAAQ;AAAA,EAC7B,GAAK,CAACA,IAASC,EAAQ,CAAC,GAGlBS,KAAY7B,GAAS3L,CAAK,GAC5ByN,KAAapV,EAAemV,IAAW,CAAC,GACxCE,KAAeD,GAAW,CAAC,GAC3BE,KAAgBF,GAAW,CAAC,GAC5BG,KAAsBH,GAAW,CAAC,GAClClI,KAAWkI,GAAW,CAAC,GACvB3B,KAAW2B,GAAW,CAAC,GACrBI,IAAYvU,EAAM,QAAQ,WAAY;AACxC,WAAO,SAAS2E,CAAG,IAAIA,IAAM;AAAA,EACjC,GAAK,CAACA,CAAG,CAAC,GACJ6P,KAAYxU,EAAM,QAAQ,WAAY;AACxC,WAAO,SAAS4E,CAAG,IAAIA,IAAM;AAAA,EACjC,GAAK,CAACA,CAAG,CAAC,GAGJ6P,KAAazU,EAAM,QAAQ,WAAY;AACzC,WAAOkK,MAAS,QAAQA,KAAQ,IAAI,IAAIA;AAAA,EAC5C,GAAK,CAACA,CAAI,CAAC,GAGLwK,KAAa1U,EAAM,QAAQ,WAAY;AACzC,WAAI,OAAOiQ,KAAa,YACfA,IAAWwE,KAAa,KAE1BxE,KAAY,IAAIA,IAAW;AAAA,EACtC,GAAK,CAACA,GAAUwE,EAAU,CAAC,GAGrB1E,KAAW/P,EAAM,QAAQ,WAAY;AACvC,WAAO,OAAO,KAAKuJ,KAAS,CAAE,CAAA,EAAE,IAAI,SAAU9J,GAAK;AACjD,UAAI4K,IAAOd,EAAM9J,CAAG,GAChBkV,IAAU;AAAA,QACZ,OAAO,OAAOlV,CAAG;AAAA,MAClB;AACD,aAAI4K,KAAQrN,GAAQqN,CAAI,MAAM,YAAY,CAAe,gBAAArK,EAAM,eAAeqK,CAAI,MAAM,WAAWA,KAAQ,WAAWA,MACpHsK,EAAQ,QAAQtK,EAAK,OACrBsK,EAAQ,QAAQtK,EAAK,SAErBsK,EAAQ,QAAQtK,GAEXsK;AAAA,IACb,CAAK,EAAE,OAAO,SAAUjT,GAAM;AACxB,UAAIgI,IAAQhI,EAAK;AACjB,aAAOgI,KAAS,OAAOA,KAAU;AAAA,IAClC,CAAA,EAAE,KAAK,SAAU7L,GAAGoG,GAAG;AACtB,aAAOpG,EAAE,QAAQoG,EAAE;AAAA,IACzB,CAAK;AAAA,EACL,GAAK,CAACsF,CAAK,CAAC,GAGNqL,KAAa9E,GAAUyE,GAAWC,IAAWC,IAAY1E,IAAUC,GAAY0E,EAAU,GAC3FG,KAAc9V,EAAe6V,IAAY,CAAC,GAC1C/I,KAAcgJ,GAAY,CAAC,GAC3B9I,KAAe8I,GAAY,CAAC,GAG1BC,KAAkBvT,GAAeT,GAAc;AAAA,IAC/C,OAAOpB;AAAA,EACb,CAAK,GACDqV,KAAmBhW,EAAe+V,IAAiB,CAAC,GACpD5S,KAAc6S,GAAiB,CAAC,GAChC7T,KAAW6T,GAAiB,CAAC,GAC3BnJ,IAAY5L,EAAM,QAAQ,WAAY;AACxC,QAAIgV,IAAY9S,MAAgB,OAAoC,CAAA,IAAK,MAAM,QAAQA,EAAW,IAAIA,KAAc,CAACA,EAAW,GAC5H+S,IAAalW,EAAeiW,GAAW,CAAC,GAC1CE,IAAcD,EAAW,CAAC,GAC1BE,IAAOD,MAAgB,SAASX,IAAYW,GAC1C1F,IAAetN,OAAgB,OAAO,CAAE,IAAG,CAACiT,CAAI;AAGpD,QAAIf,IAAc;AAIhB,UAHA5E,IAAerR,GAAmB6W,CAAS,GAGvC7B,KAASjR,OAAgB,QAAW;AACtC,YAAIkT,KAAajC,KAAS,IAAIA,IAAQ,IAAI;AAI1C,aAHA3D,IAAeA,EAAa,MAAM,GAAG4F,EAAU,GAGxC5F,EAAa,SAAS4F,MAAY;AACvC,cAAIC;AACJ,UAAA7F,EAAa,MAAM6F,KAAgB7F,EAAaA,EAAa,SAAS,CAAC,OAAO,QAAQ6F,OAAkB,SAASA,KAAgBd,CAAS;AAAA,QACpJ;AAAA,MACA;AACM,MAAA/E,EAAa,KAAK,SAAU3R,IAAGoG,IAAG;AAChC,eAAOpG,KAAIoG;AAAA,MACnB,CAAO;AAAA,IACP;AAGI,WAAAuL,EAAa,QAAQ,SAAUvB,IAAK/I,IAAO;AACzC,MAAAsK,EAAatK,EAAK,IAAI2G,GAAYoC,EAAG;AAAA,IAC3C,CAAK,GACMuB;AAAA,EACX,GAAK,CAACtN,IAAakS,IAAcG,GAAWpB,GAAOtH,EAAW,CAAC,GAGzDyJ,KAAkB,SAAyBC,GAAe;AAC5D,WAAOnB,KAAemB,IAAgBA,EAAc,CAAC;AAAA,EACtD,GACG7S,KAAgB7C,GAAS,SAAUyN,GAAY;AAEjD,QAAIkI,IAAkBrX,GAAmBmP,CAAU,EAAE,KAAK,SAAUzP,GAAGoG,GAAG;AACxE,aAAOpG,IAAIoG;AAAA,IACjB,CAAK;AAGD,IAAItC,KAAY,CAACgC,GAAQ6R,GAAiB5J,GAAW,EAAI,KACvDjK,EAAS2T,GAAgBE,CAAe,CAAC,GAI3CtU,GAASsU,CAAe;AAAA,EAC5B,CAAG,GACG1J,KAAejM,GAAS,SAAUoG,GAAgB;AAEpD,IAAIA,KACFgC,EAAW,QAAQ,SAAU;AAE/B,QAAIwN,IAAcH,GAAgB1J,CAAS;AAC3C,IAAAyH,KAAkB,QAAoCA,EAAcoC,CAAW,GAC/E1S,GAAQ,CAACsQ,GAAe,mFAAmF,GAC3GlN,KAAqB,QAAuCA,EAAiBsP,CAAW;AAAA,EAC5F,CAAG,GACG5P,KAAW,SAAkBX,GAAO;AACtC,QAAI,EAAAsB,KAAY,CAAC6N,MAAiBzI,EAAU,UAAUK,KAGtD;AAAA,UAAIuJ,IAAkBrX,GAAmByN,CAAS;AAClD,MAAA4J,EAAgB,OAAOtQ,GAAO,CAAC,GAC/BkO,KAAmB,QAAqCA,EAAekC,GAAgBE,CAAe,CAAC,GACvG9S,GAAc8S,CAAe;AAC7B,UAAIE,IAAiB,KAAK,IAAI,GAAGxQ,IAAQ,CAAC;AAC1C,MAAA+C,EAAW,QAAQ,SAAU,GAC7BA,EAAW,QAAQ,MAAMyN,CAAc;AAAA;AAAA,EACxC,GACGC,KAAWjK,GAAQC,IAAc7G,IAAW8G,GAAW2I,GAAWC,IAAW3I,IAAanJ,IAAeoJ,IAAcC,IAAcsI,IAAepI,EAAQ,GAC9J2J,KAAY7W,EAAe4W,IAAU,CAAC,GACtC3N,KAAgB4N,GAAU,CAAC,GAC3B1J,KAAgB0J,GAAU,CAAC,GAC3B3P,KAAiB2P,GAAU,CAAC,GAC5BlJ,KAAckJ,GAAU,CAAC,GACzBC,KAAcD,GAAU,CAAC,GAMvBE,KAAqB,SAA4BC,GAAU1Y,GAAG;AAChE,QAAI,CAACmJ,GAAU;AAEb,UAAIgP,IAAkBrX,GAAmByN,CAAS,GAC9CjG,IAAa,GACbqQ,KAAmB,GACnB3E,KAAYmD,KAAYD;AAC5B,MAAA3I,EAAU,QAAQ,SAAUqC,IAAK/I,IAAO;AACtC,YAAI4L,KAAO,KAAK,IAAIiF,IAAW9H,EAAG;AAClC,QAAI6C,MAAQO,OACVA,KAAYP,IACZnL,IAAaT,KAEX+I,KAAM8H,MACRC,KAAmB9Q;AAAA,MAE7B,CAAO;AACD,UAAI+Q,KAAatQ;AACjB,MAAI0O,MAAiBhD,OAAc,MAAM,CAACmB,MAAY5G,EAAU,SAAS4G,OACvEgD,EAAgB,OAAOQ,KAAmB,GAAG,GAAGD,CAAQ,GACxDE,KAAaD,KAAmB,KAEhCR,EAAgB7P,CAAU,IAAIoQ,GAI5B3B,MAAgB,CAACxI,EAAU,UAAUuH,MAAU,UACjDqC,EAAgB,KAAKO,CAAQ;AAE/B,UAAIxI,KAAY+H,GAAgBE,CAAe;AAG/C,UAFApC,KAAmB,QAAqCA,EAAe7F,EAAS,GAChF7K,GAAc8S,CAAe,GACzBnY,GAAG;AACL,YAAI6Y,IAAuBC;AAC3B,SAACD,KAAwB,SAAS,mBAAmB,QAAQA,OAA0B,WAAWC,KAAyBD,GAAsB,UAAU,QAAQC,OAA2B,UAAUA,GAAuB,KAAKD,EAAqB,GACzPjO,EAAW,QAAQ,MAAMgO,EAAU,GACnCJ,GAAYxY,GAAG4Y,IAAYT,CAAe;AAAA,MAClD;AAEQ,QAAAnC,KAAkB,QAAoCA,EAAc9F,EAAS,GAC7ExK,GAAQ,CAACsQ,GAAe,mFAAmF,GAC3GlN,KAAqB,QAAuCA,EAAiBoH,EAAS;AAAA,IAE9F;AAAA,EACG,GAGG6I,KAAoB,SAA2B/Y,GAAG;AACpD,IAAAA,EAAE,eAAgB;AAClB,QAAI6R,IAAwBvD,GAAa,QAAQ,sBAAuB,GACtEwD,IAAQD,EAAsB,OAC9BE,IAASF,EAAsB,QAC/BmH,KAAOnH,EAAsB,MAC7BoH,KAAMpH,EAAsB,KAC5BqH,KAASrH,EAAsB,QAC/BsH,KAAQtH,EAAsB,OAC5BuH,KAAUpZ,EAAE,SACdqZ,KAAUrZ,EAAE,SACVsZ;AACJ,YAAQ7R,IAAS;AAAA,MACf,KAAK;AACH,QAAA6R,MAAWJ,KAASG,MAAWtH;AAC/B;AAAA,MACF,KAAK;AACH,QAAAuH,MAAWD,KAAUJ,MAAOlH;AAC5B;AAAA,MACF,KAAK;AACH,QAAAuH,MAAWH,KAAQC,MAAWtH;AAC9B;AAAA,MACF;AACE,QAAAwH,MAAWF,KAAUJ,MAAQlH;AAAA,IACrC;AACI,QAAI5B,KAAYgH,IAAYoC,MAAWnC,KAAYD;AACnD,IAAAuB,GAAmBjK,GAAY0B,EAAS,GAAGlQ,CAAC;AAAA,EAC7C,GAGG2D,KAAkBhB,EAAM,SAAS,IAAI,GACvCiB,KAAmBlC,EAAeiC,IAAiB,CAAC,GACpD4V,KAAgB3V,GAAiB,CAAC,GAClC4V,KAAmB5V,GAAiB,CAAC,GACnC6V,KAAuB,SAA8B/R,GAAQY,GAAY;AAC3E,QAAI,CAACa,GAAU;AACb,UAAI4H,IAAOrC,GAAaH,GAAW7G,GAAQY,CAAU;AACrD,MAAAyN,KAAmB,QAAqCA,EAAekC,GAAgB1J,CAAS,CAAC,GACjGlJ,GAAc0L,EAAK,MAAM,GACzByI,GAAiBzI,EAAK,KAAK;AAAA,IACjC;AAAA,EACG;AACD,EAAApO,EAAM,UAAU,WAAY;AAC1B,QAAI4W,OAAkB,MAAM;AAC1B,UAAIjR,IAAaiG,EAAU,QAAQgL,EAAa;AAChD,MAAIjR,KAAc,KAChBsC,EAAW,QAAQ,MAAMtC,CAAU;AAAA,IAE3C;AACI,IAAAkR,GAAiB,IAAI;AAAA,EACzB,GAAK,CAACD,EAAa,CAAC;AAGlB,MAAIG,KAAuB/W,EAAM,QAAQ,WAAY;AACnD,WAAIsU,MAAuBG,OAAe,QACpC,QAAQ,IAAI,aAAa,gBAC3B1R,GAAQ,IAAO,0DAA0D,GAEpE,MAEFuR;AAAA,EACX,GAAK,CAACA,IAAqBG,EAAU,CAAC,GAChC7O,KAAc/F,GAAS,SAAUxC,GAAGsI,GAAY;AAClD,IAAAkQ,GAAYxY,GAAGsI,CAAU,GACzByN,KAAmB,QAAqCA,EAAekC,GAAgB1J,CAAS,CAAC;AAAA,EACrG,CAAG,GAGG5F,KAAWgC,OAAkB;AACjC,EAAAhI,EAAM,UAAU,WAAY;AAC1B,QAAI,CAACgG,IAAU;AACb,UAAIL,IAAaiG,EAAU,YAAYM,EAAa;AACpD,MAAAjE,EAAW,QAAQ,MAAMtC,CAAU;AAAA,IACzC;AAAA,EACA,GAAK,CAACK,EAAQ,CAAC;AAGb,MAAIgR,KAAoBhX,EAAM,QAAQ,WAAY;AAChD,WAAO7B,GAAmBuO,EAAW,EAAE,KAAK,SAAU7O,GAAGoG,GAAG;AAC1D,aAAOpG,IAAIoG;AAAA,IACjB,CAAK;AAAA,EACL,GAAK,CAACyI,EAAW,CAAC,GAIZuK,KAAiBjX,EAAM,QAAQ,WAAY;AAC3C,WAAKoU,KAGE,CAAC4C,GAAkB,CAAC,GAAGA,GAAkBA,GAAkB,SAAS,CAAC,CAAC,IAFpE,CAACzC,GAAWyC,GAAkB,CAAC,CAAC;AAAA,EAG1C,GAAE,CAACA,IAAmB5C,IAAcG,CAAS,CAAC,GAC/C2C,KAAkBnY,EAAekY,IAAgB,CAAC,GAClD/N,KAAgBgO,GAAgB,CAAC,GACjC/N,KAAc+N,GAAgB,CAAC;AAGjC,EAAAlX,EAAM,oBAAoByF,GAAK,WAAY;AACzC,WAAO;AAAA,MACL,OAAO,WAAiB;AACtB,QAAAwC,EAAW,QAAQ,MAAM,CAAC;AAAA,MAC3B;AAAA,MACD,MAAM,WAAgB;AACpB,YAAIkP,GACAC,IAAY,UACdC,IAAgBD,EAAU;AAC5B,SAAKD,IAAyBxL,GAAa,aAAa,QAAQwL,MAA2B,UAAUA,EAAuB,SAASE,CAAa,MAChJA,KAAkB,QAAoCA,EAAc,KAAM;AAAA,MAEpF;AAAA,IACK;AAAA,EACL,CAAG,GAGDrX,EAAM,UAAU,WAAY;AAC1B,IAAI8S,KACF7K,EAAW,QAAQ,MAAM,CAAC;AAAA,EAE7B,GAAE,EAAE;AAGL,MAAIqP,KAAUtX,EAAM,QAAQ,WAAY;AACtC,WAAO;AAAA,MACL,KAAKuU;AAAA,MACL,KAAKC;AAAA,MACL,WAAW1P;AAAA,MACX,UAAU0B;AAAA,MACV,UAAUC;AAAA,MACV,MAAMgO;AAAA,MACN,UAAUrL;AAAA,MACV,eAAeF;AAAA,MACf,aAAaC;AAAA,MACb,OAAOiL;AAAA,MACP,UAAUzN;AAAA,MACV,oBAAoBC;AAAA,MACpB,yBAAyBC;AAAA,MACzB,cAAcC;AAAA,MACd,iCAAiCC;AAAA,MACjC,QAAQC,KAAU,CAAE;AAAA,MACpB,YAAY5H,KAAc,CAAA;AAAA,IAC3B;AAAA,EACL,GAAK,CAACmV,GAAWC,IAAW1P,IAAW0B,GAAUC,GAAUgO,IAAYrL,IAAUF,IAAeC,IAAaiL,IAAczN,IAAUC,IAAoBC,IAAyBC,IAAcC,IAAiCC,GAAQ5H,CAAU,CAAC;AAGlP,SAAoB,gBAAAY,EAAM,cAAcoF,GAAc,UAAU;AAAA,IAC9D,OAAOkS;AAAA,EACX,GAAkB,gBAAAtX,EAAM,cAAc,OAAO;AAAA,IACzC,KAAK2L;AAAA,IACL,WAAWjE,GAAIhC,GAAWqF,GAAWvN,EAAgBA,EAAgBA,EAAgBA,EAAgB,CAAE,GAAE,GAAG,OAAOkI,GAAW,WAAW,GAAGc,CAAQ,GAAG,GAAG,OAAOd,GAAW,WAAW,GAAG+N,EAAQ,GAAG,GAAG,OAAO/N,GAAW,aAAa,GAAG,CAAC+N,EAAQ,GAAG,GAAG,OAAO/N,GAAW,aAAa,GAAGqK,GAAS,MAAM,CAAC;AAAA,IAC3S,OAAOjK;AAAA,IACP,aAAasQ;AAAA,IACb,IAAIzD;AAAA,EACR,GAAkB,gBAAA3S,EAAM,cAAc,OAAO;AAAA,IACzC,WAAW0H,GAAI,GAAG,OAAOhC,GAAW,OAAO,GAAGtG,KAAe,OAAgC,SAASA,EAAW,IAAI;AAAA,IACrH,OAAOuI,EAAcA,EAAc,CAAA,GAAIkM,CAAS,GAAG7M,KAAW,OAA4B,SAASA,EAAO,IAAI;AAAA,EAC/G,CAAA,GAAGgN,OAAU,MAAsB,gBAAAhU,EAAM,cAAcgL,IAAQ;AAAA,IAC9D,WAAWtF;AAAA,IACX,OAAOiO;AAAA,IACP,QAAQ/H;AAAA,IACR,YAAYX;AAAA,IACZ,aAAa8L,KAAuBnR,KAAc;AAAA,EACtD,CAAG,GAAgB,gBAAA5F,EAAM,cAAcgK,IAAO;AAAA,IAC1C,WAAWtE;AAAA,IACX,OAAOqK;AAAA,IACP,MAAM9F;AAAA,IACN,OAAO6J;AAAA,IACP,aAAaC;AAAA,EACjB,CAAG,GAAgB,gBAAA/T,EAAM,cAAc4H,IAAS;AAAA,IAC5C,KAAKK;AAAA,IACL,WAAWvC;AAAA,IACX,OAAOkO;AAAA,IACP,QAAQlH;AAAA,IACR,eAAe1E;AAAA,IACf,gBAAgB/B;AAAA,IAChB,aAAaL;AAAA,IACb,gBAAgBkR;AAAA,IAChB,SAAS1Q;AAAA,IACT,QAAQ2M;AAAA,IACR,cAAcjL;AAAA,IACd,oBAAoBC;AAAA,IACpB,kBAAkB+D;AAAA,IAClB,UAAUuI,KAAgBxO,KAAW;AAAA,EACzC,CAAG,GAAgB,gBAAA7F,EAAM,cAAcsJ,IAAO;AAAA,IAC1C,WAAW5D;AAAA,IACX,OAAOqK;AAAA,IACP,SAAS+F;AAAA,EACV,CAAA,CAAC,CAAC;AACL,CAAC;AACG,QAAQ,IAAI,aAAa,iBAC3BrD,GAAO,cAAc;ACzdhB,MAAM8E,KAAyB,CAAC,EAAC,OAAAC,GAAO,GAAGhS,EAChD,MAAA,gBAAAiS;AAAA,EAAChF;AAAA,EAAA;AAAA,IACC,WAAWiF,GAAGF,GAAO,cAAc;AAAA,IAClC,GAAGhS;AAAA,IACJ,OAAK;AAAA,EAAA;AACP;","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { r as t, s as a } from "../../react.esm-DeOc63_l.js";
|
|
3
|
+
import { RangeSlider as o } from "./RangeSlider.js";
|
|
4
|
+
import { rangeSliderArrayMock as n } from "../../services/mocks.js";
|
|
5
|
+
describe("RangeSlider Component", () => {
|
|
6
|
+
test("renders Range Slider component correctly", () => {
|
|
7
|
+
const { container: e } = t(/* @__PURE__ */ r(o, { defaultValue: n })), c = e.querySelector(".rc-slider");
|
|
8
|
+
expect(c).toBeInTheDocument(), expect(e).toMatchSnapshot();
|
|
9
|
+
}), test("renders with correct default range", () => {
|
|
10
|
+
t(/* @__PURE__ */ r(o, { defaultValue: n }));
|
|
11
|
+
const e = a.getAllByRole("slider", { hidden: !0 });
|
|
12
|
+
expect(e).toHaveLength(2);
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=RangeSlider.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RangeSlider.test.js","sources":["../../../lib/components/RangeSlider/RangeSlider.test.tsx"],"sourcesContent":["import React from 'react';\nimport {render, screen} from '@testing-library/react';\nimport {RangeSlider} from './RangeSlider';\nimport {rangeSliderArrayMock} from '@/services/mocks';\n\ndescribe('RangeSlider Component', () => {\n test('renders Range Slider component correctly', () => {\n const {container} = render(<RangeSlider defaultValue={rangeSliderArrayMock} />);\n const sliderContainer = container.querySelector('.rc-slider');\n expect(sliderContainer).toBeInTheDocument();\n expect(container).toMatchSnapshot();\n });\n\n test('renders with correct default range', () => {\n render(<RangeSlider defaultValue={rangeSliderArrayMock} />);\n const thumbs = screen.getAllByRole('slider', {hidden: true});\n expect(thumbs).toHaveLength(2);\n });\n});\n"],"names":["container","render","RangeSlider","rangeSliderArrayMock","sliderContainer","jsx","thumbs","screen"],"mappings":";;;;AAKA,SAAS,yBAAyB,MAAM;AACtC,OAAK,4CAA4C,MAAM;AAC/C,UAAA,EAAC,WAAAA,EAAa,IAAAC,oBAAQC,GAAY,EAAA,cAAcC,GAAsB,CAAE,GACxEC,IAAkBJ,EAAU,cAAc,YAAY;AACrD,WAAAI,CAAe,EAAE,kBAAkB,GACnC,OAAAJ,CAAS,EAAE,gBAAgB;AAAA,EAAA,CACnC,GAED,KAAK,sCAAsC,MAAM;AAC/C,IAAAC,EAAQ,gBAAAI,EAAAH,GAAA,EAAY,cAAcC,EAAsB,CAAA,CAAE;AAC1D,UAAMG,IAASC,EAAO,aAAa,UAAU,EAAC,QAAQ,IAAK;AACpD,WAAAD,CAAM,EAAE,aAAa,CAAC;AAAA,EAAA,CAC9B;AACH,CAAC;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FC, ReactNode } from 'react';
|
|
2
|
+
import { RouterLinkColorType } from './constants';
|
|
3
|
+
import { ElementProps } from '../../services/types';
|
|
4
|
+
export interface RouterLinkProps extends ElementProps {
|
|
5
|
+
color: RouterLinkColorType;
|
|
6
|
+
children: ReactNode;
|
|
7
|
+
to?: string;
|
|
8
|
+
href?: string;
|
|
9
|
+
withIcon?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare const RouterLink: FC<RouterLinkProps>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { L as l } from "../../chunk-KNED5TY2-9zjBD6gF.js";
|
|
3
|
+
import { ROUTER_LINK_TEST_ID as o } from "./constants.js";
|
|
4
|
+
import { cn as f } from "../../services/helpers.js";
|
|
5
|
+
const L = ({ color: s, block: i, href: r, to: t, children: e, withIcon: m = !1 }) => {
|
|
6
|
+
const n = f(i, "link", `link--${s}`, {
|
|
7
|
+
"link--icon": m
|
|
8
|
+
});
|
|
9
|
+
return t ? /* @__PURE__ */ a(
|
|
10
|
+
l,
|
|
11
|
+
{
|
|
12
|
+
"data-testid": o,
|
|
13
|
+
to: t,
|
|
14
|
+
className: n,
|
|
15
|
+
children: e
|
|
16
|
+
}
|
|
17
|
+
) : r ? /* @__PURE__ */ a(
|
|
18
|
+
"a",
|
|
19
|
+
{
|
|
20
|
+
href: r,
|
|
21
|
+
"data-testid": o,
|
|
22
|
+
className: n,
|
|
23
|
+
target: "_blank",
|
|
24
|
+
rel: "noopener noreferrer",
|
|
25
|
+
children: e
|
|
26
|
+
}
|
|
27
|
+
) : null;
|
|
28
|
+
};
|
|
29
|
+
export {
|
|
30
|
+
L as RouterLink
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=RouterLink.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RouterLink.js","sources":["../../../lib/components/RouterLink/RouterLink.tsx"],"sourcesContent":["import type {FC, ReactNode} from 'react';\nimport {Link} from 'react-router';\nimport type {RouterLinkColorType} from '@/components/RouterLink/constants';\nimport {ROUTER_LINK_TEST_ID} from '@/components/RouterLink/constants';\nimport {cn} from '@/services/helpers';\nimport type {ElementProps} from '@/services/types';\n\nexport interface RouterLinkProps extends ElementProps {\n color: RouterLinkColorType;\n children: ReactNode;\n to?: string;\n href?: string;\n withIcon?: boolean;\n}\n\nexport const RouterLink: FC<RouterLinkProps> = ({color, block, href, to, children, withIcon = false}) => {\n const classNames = cn(block, `link`, `link--${color}`, {\n 'link--icon': withIcon,\n });\n if (to) {\n return (\n <Link\n data-testid={ROUTER_LINK_TEST_ID}\n to={to}\n className={classNames}\n >\n {children}\n </Link>\n );\n }\n\n if (href) {\n return (\n <a\n href={href}\n data-testid={ROUTER_LINK_TEST_ID}\n className={classNames}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {children}\n </a>\n );\n }\n return null;\n};\n"],"names":["RouterLink","color","block","href","to","children","withIcon","classNames","cn","jsx","Link","ROUTER_LINK_TEST_ID"],"mappings":";;;;AAea,MAAAA,IAAkC,CAAC,EAAC,OAAAC,GAAO,OAAAC,GAAO,MAAAC,GAAM,IAAAC,GAAI,UAAAC,GAAU,UAAAC,IAAW,SAAW;AACvG,QAAMC,IAAaC,EAAGN,GAAO,QAAQ,SAASD,CAAK,IAAI;AAAA,IACrD,cAAcK;AAAA,EAAA,CACf;AACD,SAAIF,IAEA,gBAAAK;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,eAAaC;AAAA,MACb,IAAAP;AAAA,MACA,WAAWG;AAAA,MAEV,UAAAF;AAAA,IAAA;AAAA,EACH,IAIAF,IAEA,gBAAAM;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAAN;AAAA,MACA,eAAaQ;AAAA,MACb,WAAWJ;AAAA,MACX,QAAO;AAAA,MACP,KAAI;AAAA,MAEH,UAAAF;AAAA,IAAA;AAAA,EACH,IAGG;AACT;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { jsx as n, jsxs as m } from "react/jsx-runtime";
|
|
2
|
+
import { c as x, r as o, s as r } from "../../react.esm-DeOc63_l.js";
|
|
3
|
+
import { ROUTER_LINK_COLOR as p, ROUTER_LINK_TEST_ID as c } from "./constants.js";
|
|
4
|
+
import { RouterLink as s } from "./RouterLink.js";
|
|
5
|
+
import { M as d } from "../../chunk-KNED5TY2-9zjBD6gF.js";
|
|
6
|
+
describe("Router Link component", () => {
|
|
7
|
+
afterEach(x);
|
|
8
|
+
const h = Object.values(p), i = {
|
|
9
|
+
color: p.GRAY
|
|
10
|
+
};
|
|
11
|
+
h.forEach((t) => {
|
|
12
|
+
const e = `renders links with ${t} color`;
|
|
13
|
+
test(e, () => {
|
|
14
|
+
const { container: l } = o(
|
|
15
|
+
/* @__PURE__ */ n(
|
|
16
|
+
s,
|
|
17
|
+
{
|
|
18
|
+
href: "/",
|
|
19
|
+
color: t,
|
|
20
|
+
children: "Link"
|
|
21
|
+
}
|
|
22
|
+
)
|
|
23
|
+
), a = r.getByTestId(c);
|
|
24
|
+
expect(a).toBeInTheDocument(), expect(a).toHaveClass(`link--${t}`), expect(l).toMatchSnapshot();
|
|
25
|
+
});
|
|
26
|
+
}), test('applies "link-icon" class when withIcon is true', () => {
|
|
27
|
+
const { container: t } = o(
|
|
28
|
+
/* @__PURE__ */ n(
|
|
29
|
+
s,
|
|
30
|
+
{
|
|
31
|
+
href: "/",
|
|
32
|
+
withIcon: !0,
|
|
33
|
+
...i,
|
|
34
|
+
children: "Link with Icon"
|
|
35
|
+
}
|
|
36
|
+
)
|
|
37
|
+
), e = r.getByTestId(c);
|
|
38
|
+
expect(e).toHaveClass("link--icon"), expect(t).toMatchSnapshot();
|
|
39
|
+
}), test('renders an external link when "href" is provided', () => {
|
|
40
|
+
const { container: t } = o(
|
|
41
|
+
/* @__PURE__ */ n(
|
|
42
|
+
s,
|
|
43
|
+
{
|
|
44
|
+
href: "https://example.com",
|
|
45
|
+
...i,
|
|
46
|
+
children: "External Link"
|
|
47
|
+
}
|
|
48
|
+
)
|
|
49
|
+
), e = r.getByTestId(c);
|
|
50
|
+
expect(e).toBeInTheDocument(), expect(e).toHaveAttribute("href", "https://example.com"), expect(e).toHaveAttribute("target", "_blank"), expect(e).toHaveAttribute("rel", "noopener noreferrer"), expect(t).toMatchSnapshot();
|
|
51
|
+
}), test('renders an internal link when "to" is provided', () => {
|
|
52
|
+
const { container: t } = o(
|
|
53
|
+
/* @__PURE__ */ m(d, { children: [
|
|
54
|
+
/* @__PURE__ */ n(
|
|
55
|
+
s,
|
|
56
|
+
{
|
|
57
|
+
to: "/internal",
|
|
58
|
+
...i,
|
|
59
|
+
children: "Internal Link"
|
|
60
|
+
}
|
|
61
|
+
),
|
|
62
|
+
","
|
|
63
|
+
] })
|
|
64
|
+
), e = r.getByTestId(c);
|
|
65
|
+
expect(e).toBeInTheDocument(), expect(e).toHaveAttribute("href", "/internal"), expect(t).toMatchSnapshot();
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
//# sourceMappingURL=RouterLink.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RouterLink.test.js","sources":["../../../lib/components/RouterLink/RouterLink.test.tsx"],"sourcesContent":["import {cleanup, render, screen} from '@testing-library/react';\nimport {ROUTER_LINK_COLOR, ROUTER_LINK_TEST_ID} from '@/components/RouterLink/constants';\nimport {RouterLink} from '@/components/RouterLink/RouterLink';\nimport {MemoryRouter} from 'react-router';\n\ndescribe('Router Link component', () => {\n afterEach(cleanup);\n\n const colors = Object.values(ROUTER_LINK_COLOR);\n const props = {\n color: ROUTER_LINK_COLOR.GRAY,\n };\n colors.forEach((color) => {\n const testName = `renders links with ${color} color`;\n test(testName, () => {\n const {container} = render(\n <RouterLink\n href=\"/\"\n color={color}\n >\n Link\n </RouterLink>,\n );\n const routerLinkElement = screen.getByTestId(ROUTER_LINK_TEST_ID);\n\n expect(routerLinkElement).toBeInTheDocument();\n expect(routerLinkElement).toHaveClass(`link--${color}`);\n expect(container).toMatchSnapshot();\n });\n });\n\n test('applies \"link-icon\" class when withIcon is true', () => {\n const {container} = render(\n <RouterLink\n href=\"/\"\n withIcon\n {...props}\n >\n Link with Icon\n </RouterLink>,\n );\n const routerLinkElement = screen.getByTestId(ROUTER_LINK_TEST_ID);\n\n expect(routerLinkElement).toHaveClass('link--icon');\n expect(container).toMatchSnapshot();\n });\n test('renders an external link when \"href\" is provided', () => {\n const {container} = render(\n <RouterLink\n href=\"https://example.com\"\n {...props}\n >\n External Link\n </RouterLink>,\n );\n const routerLinkElement = screen.getByTestId(ROUTER_LINK_TEST_ID);\n\n expect(routerLinkElement).toBeInTheDocument();\n expect(routerLinkElement).toHaveAttribute('href', 'https://example.com');\n expect(routerLinkElement).toHaveAttribute('target', '_blank');\n expect(routerLinkElement).toHaveAttribute('rel', 'noopener noreferrer');\n expect(container).toMatchSnapshot();\n });\n test('renders an internal link when \"to\" is provided', () => {\n const {container} = render(\n <MemoryRouter>\n <RouterLink\n to=\"/internal\"\n {...props}\n >\n Internal Link\n </RouterLink>\n ,\n </MemoryRouter>,\n );\n const routerLinkElement = screen.getByTestId(ROUTER_LINK_TEST_ID);\n expect(routerLinkElement).toBeInTheDocument();\n expect(routerLinkElement).toHaveAttribute('href', '/internal');\n expect(container).toMatchSnapshot();\n });\n});\n"],"names":["cleanup","colors","ROUTER_LINK_COLOR","props","color","testName","container","render","jsx","RouterLink","routerLinkElement","screen","ROUTER_LINK_TEST_ID","MemoryRouter"],"mappings":";;;;;AAKA,SAAS,yBAAyB,MAAM;AACtC,YAAUA,CAAO;AAEX,QAAAC,IAAS,OAAO,OAAOC,CAAiB,GACxCC,IAAQ;AAAA,IACZ,OAAOD,EAAkB;AAAA,EAC3B;AACO,EAAAD,EAAA,QAAQ,CAACG,MAAU;AAClB,UAAAC,IAAW,sBAAsBD,CAAK;AAC5C,SAAKC,GAAU,MAAM;AACb,YAAA,EAAC,WAAAC,MAAaC;AAAA,QAClB,gBAAAC;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,OAAAL;AAAA,YACD,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAGH,GACMM,IAAoBC,EAAO,YAAYC,CAAmB;AAEzD,aAAAF,CAAiB,EAAE,kBAAkB,GAC5C,OAAOA,CAAiB,EAAE,YAAY,SAASN,CAAK,EAAE,GAC/C,OAAAE,CAAS,EAAE,gBAAgB;AAAA,IAAA,CACnC;AAAA,EAAA,CACF,GAED,KAAK,mDAAmD,MAAM;AACtD,UAAA,EAAC,WAAAA,MAAaC;AAAA,MAClB,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,UAAQ;AAAA,UACP,GAAGN;AAAA,UACL,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAGH,GACMO,IAAoBC,EAAO,YAAYC,CAAmB;AAEzD,WAAAF,CAAiB,EAAE,YAAY,YAAY,GAC3C,OAAAJ,CAAS,EAAE,gBAAgB;AAAA,EAAA,CACnC,GACD,KAAK,oDAAoD,MAAM;AACvD,UAAA,EAAC,WAAAA,MAAaC;AAAA,MAClB,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACJ,GAAGN;AAAA,UACL,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAGH,GACMO,IAAoBC,EAAO,YAAYC,CAAmB;AAEzD,WAAAF,CAAiB,EAAE,kBAAkB,GAC5C,OAAOA,CAAiB,EAAE,gBAAgB,QAAQ,qBAAqB,GACvE,OAAOA,CAAiB,EAAE,gBAAgB,UAAU,QAAQ,GAC5D,OAAOA,CAAiB,EAAE,gBAAgB,OAAO,qBAAqB,GAC/D,OAAAJ,CAAS,EAAE,gBAAgB;AAAA,EAAA,CACnC,GACD,KAAK,kDAAkD,MAAM;AACrD,UAAA,EAAC,WAAAA,MAAaC;AAAA,wBACjBM,GACC,EAAA,UAAA;AAAA,QAAA,gBAAAL;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,IAAG;AAAA,YACF,GAAGN;AAAA,YACL,UAAA;AAAA,UAAA;AAAA,QAED;AAAA,QAAa;AAAA,MAAA,EAEf,CAAA;AAAA,IACF,GACMO,IAAoBC,EAAO,YAAYC,CAAmB;AACzD,WAAAF,CAAiB,EAAE,kBAAkB,GAC5C,OAAOA,CAAiB,EAAE,gBAAgB,QAAQ,WAAW,GACtD,OAAAJ,CAAS,EAAE,gBAAgB;AAAA,EAAA,CACnC;AACH,CAAC;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const ROUTER_LINK_COLOR: Readonly<{
|
|
2
|
+
GREEN: "green";
|
|
3
|
+
GRAY: "gray";
|
|
4
|
+
DARK: "dark";
|
|
5
|
+
LIGHTGRAY: "lightgray";
|
|
6
|
+
}>;
|
|
7
|
+
export declare const ROUTER_LINK_TEST_ID = "routerLinkTestId";
|
|
8
|
+
export type RouterLinkColorType = (typeof ROUTER_LINK_COLOR)[keyof typeof ROUTER_LINK_COLOR];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../lib/components/RouterLink/constants.ts"],"sourcesContent":["export const ROUTER_LINK_COLOR = Object.freeze({\n GREEN: 'green',\n GRAY: 'gray',\n DARK: 'dark',\n LIGHTGRAY: 'lightgray',\n});\n\nexport const ROUTER_LINK_TEST_ID = 'routerLinkTestId';\n\nexport type RouterLinkColorType = (typeof ROUTER_LINK_COLOR)[keyof typeof ROUTER_LINK_COLOR];\n"],"names":["ROUTER_LINK_COLOR","ROUTER_LINK_TEST_ID"],"mappings":"AAAa,MAAAA,IAAoB,OAAO,OAAO;AAAA,EAC7C,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,WAAW;AACb,CAAC,GAEYC,IAAsB;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|