@orangesk/orange-design-system 2.0.0-alpha.1 → 2.0.0-alpha.3
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/build/components/Accordion/index.js +3 -1157
- package/build/components/Accordion/index.js.map +1 -1
- package/build/components/Accordion/style.css +1 -1
- package/build/components/Accordion/style.css.map +1 -1
- package/build/components/Alert/index.js +3 -1907
- package/build/components/Alert/index.js.map +1 -1
- package/build/components/Alert/style.css +1 -1
- package/build/components/Alert/style.css.map +1 -1
- package/build/components/AnchorNavigation/index.js +16 -0
- package/build/components/AnchorNavigation/index.js.map +1 -0
- package/build/components/AnchorNavigation/style.css +2 -0
- package/build/components/AnchorNavigation/style.css.map +1 -0
- package/build/components/Bar/index.js +16 -0
- package/build/components/Bar/index.js.map +1 -0
- package/build/components/Bar/style.css +2 -0
- package/build/components/Bar/style.css.map +1 -0
- package/build/components/BlockAction/index.js +16 -0
- package/build/components/BlockAction/index.js.map +1 -0
- package/build/components/BlockAction/style.css +2 -0
- package/build/components/BlockAction/style.css.map +1 -0
- package/build/components/BodyBanner/index.js +16 -0
- package/build/components/BodyBanner/index.js.map +1 -0
- package/build/components/BodyBanner/style.css +2 -0
- package/build/components/BodyBanner/style.css.map +1 -0
- package/build/components/Breadcrumbs/index.js +3 -674
- package/build/components/Breadcrumbs/index.js.map +1 -1
- package/build/components/Breadcrumbs/style.css +1 -1
- package/build/components/Breadcrumbs/style.css.map +1 -1
- package/build/components/Button/index.js +3 -721
- package/build/components/Button/index.js.map +1 -1
- package/build/components/Button/style.css +1 -1
- package/build/components/Button/style.css.map +1 -1
- package/build/components/Buttons/index.js +3 -601
- package/build/components/Buttons/index.js.map +1 -1
- package/build/components/Buttons/style.css +1 -1
- package/build/components/Buttons/style.css.map +1 -1
- package/build/components/Card/index.js +16 -0
- package/build/components/Card/index.js.map +1 -0
- package/build/components/Card/style.css +2 -0
- package/build/components/Card/style.css.map +1 -0
- package/build/components/Carousel/index.js +16 -0
- package/build/components/Carousel/index.js.map +1 -0
- package/build/components/Carousel/style.css +2 -0
- package/build/components/Carousel/style.css.map +1 -0
- package/build/components/CarouselPromotions/index.js +16 -0
- package/build/components/CarouselPromotions/index.js.map +1 -0
- package/build/components/CarouselPromotions/style.css +2 -0
- package/build/components/CarouselPromotions/style.css.map +1 -0
- package/build/components/CartTable/index.js +16 -0
- package/build/components/CartTable/index.js.map +1 -0
- package/build/components/CartTable/style.css +2 -0
- package/build/components/CartTable/style.css.map +1 -0
- package/build/components/Code/index.js +11 -0
- package/build/components/Code/index.js.map +1 -0
- package/build/components/Code/style.css +2 -0
- package/build/components/Code/style.css.map +1 -0
- package/build/components/Container/index.js +3 -598
- package/build/components/Container/index.js.map +1 -1
- package/build/components/Container/style.css +1 -1
- package/build/components/Container/style.css.map +1 -1
- package/build/components/Controls/index.js +16 -0
- package/build/components/Controls/index.js.map +1 -0
- package/build/components/Controls/style.css +2 -0
- package/build/components/Controls/style.css.map +1 -0
- package/build/components/Cover/index.js +16 -0
- package/build/components/Cover/index.js.map +1 -0
- package/build/components/Cover/style.css +2 -0
- package/build/components/Cover/style.css.map +1 -0
- package/build/components/Divider/index.js +16 -0
- package/build/components/Divider/index.js.map +1 -0
- package/build/components/Divider/style.css +2 -0
- package/build/components/Divider/style.css.map +1 -0
- package/build/components/DocumentationSidebar/index.js +16 -0
- package/build/components/DocumentationSidebar/index.js.map +1 -0
- package/build/components/DocumentationSidebar/style.css +2 -0
- package/build/components/DocumentationSidebar/style.css.map +1 -0
- package/build/components/Dropdown/index.js +16 -0
- package/build/components/Dropdown/index.js.map +1 -0
- package/build/components/Dropdown/style.css +2 -0
- package/build/components/Dropdown/style.css.map +1 -0
- package/build/components/Expander/index.js +16 -0
- package/build/components/Expander/index.js.map +1 -0
- package/build/components/Expander/style.css +2 -0
- package/build/components/Expander/style.css.map +1 -0
- package/build/components/FeatureAccordion/index.js +16 -0
- package/build/components/FeatureAccordion/index.js.map +1 -0
- package/build/components/FeatureAccordion/style.css +2 -0
- package/build/components/FeatureAccordion/style.css.map +1 -0
- package/build/components/Footer/index.js +16 -0
- package/build/components/Footer/index.js.map +1 -0
- package/build/components/Footer/style.css +2 -0
- package/build/components/Footer/style.css.map +1 -0
- package/build/components/Forms/index.js +18 -0
- package/build/components/Forms/index.js.map +1 -0
- package/build/components/Forms/style.css +2 -0
- package/build/components/Forms/style.css.map +1 -0
- package/build/components/Gauge/index.js +16 -0
- package/build/components/Gauge/index.js.map +1 -0
- package/build/components/Gauge/style.css +2 -0
- package/build/components/Gauge/style.css.map +1 -0
- package/build/components/Grid/index.js +3 -1069
- package/build/components/Grid/index.js.map +1 -1
- package/build/components/Grid/style.css +1 -1
- package/build/components/Grid/style.css.map +1 -1
- package/build/components/Hero/index.js +16 -0
- package/build/components/Hero/index.js.map +1 -0
- package/build/components/Hero/style.css +2 -0
- package/build/components/Hero/style.css.map +1 -0
- package/build/components/Icon/index.js +2 -619
- package/build/components/Icon/index.js.map +1 -1
- package/build/components/Icon/style.css +1 -1
- package/build/components/Icon/style.css.map +1 -1
- package/build/components/IconList/index.js +16 -0
- package/build/components/IconList/index.js.map +1 -0
- package/build/components/IconList/style.css +2 -0
- package/build/components/IconList/style.css.map +1 -0
- package/build/components/Image/index.js +3 -646
- package/build/components/Image/index.js.map +1 -1
- package/build/components/Image/style.css +1 -1
- package/build/components/Image/style.css.map +1 -1
- package/build/components/Link/index.js +2 -168
- package/build/components/Link/index.js.map +1 -1
- package/build/components/Link/style.css +1 -1
- package/build/components/Link/style.css.map +1 -1
- package/build/components/List/index.js +16 -0
- package/build/components/List/index.js.map +1 -0
- package/build/components/List/style.css +2 -0
- package/build/components/List/style.css.map +1 -0
- package/build/components/Loader/index.js +16 -0
- package/build/components/Loader/index.js.map +1 -0
- package/build/components/Loader/style.css +2 -0
- package/build/components/Loader/style.css.map +1 -0
- package/build/components/Modal/index.js +4 -3154
- package/build/components/Modal/index.js.map +1 -1
- package/build/components/Modal/style.css +1 -1
- package/build/components/Modal/style.css.map +1 -1
- package/build/components/Pagination/index.js +16 -0
- package/build/components/Pagination/index.js.map +1 -0
- package/build/components/Pagination/style.css +2 -0
- package/build/components/Pagination/style.css.map +1 -0
- package/build/components/Preview/index.js +83 -0
- package/build/components/Preview/index.js.map +1 -0
- package/build/components/Preview/style.css +2 -0
- package/build/components/Preview/style.css.map +1 -0
- package/build/components/Progress/index.js +16 -0
- package/build/components/Progress/index.js.map +1 -0
- package/build/components/Progress/style.css +2 -0
- package/build/components/Progress/style.css.map +1 -0
- package/build/components/PromoBanner/index.js +16 -0
- package/build/components/PromoBanner/index.js.map +1 -0
- package/build/components/PromoBanner/style.css +2 -0
- package/build/components/PromoBanner/style.css.map +1 -0
- package/build/components/PromotionCard/index.js +16 -0
- package/build/components/PromotionCard/index.js.map +1 -0
- package/build/components/PromotionCard/style.css +2 -0
- package/build/components/PromotionCard/style.css.map +1 -0
- package/build/components/Section/index.js +3 -619
- package/build/components/Section/index.js.map +1 -1
- package/build/components/Section/style.css +1 -1
- package/build/components/Section/style.css.map +1 -1
- package/build/components/Skeleton/index.js +16 -0
- package/build/components/Skeleton/index.js.map +1 -0
- package/build/components/Skeleton/style.css +2 -0
- package/build/components/Skeleton/style.css.map +1 -0
- package/build/components/SkipLink/index.js +16 -0
- package/build/components/SkipLink/index.js.map +1 -0
- package/build/components/SkipLink/style.css +2 -0
- package/build/components/SkipLink/style.css.map +1 -0
- package/build/components/Stepbar/index.js +16 -0
- package/build/components/Stepbar/index.js.map +1 -0
- package/build/components/Stepbar/style.css +2 -0
- package/build/components/Stepbar/style.css.map +1 -0
- package/build/components/Sticker/index.js +16 -0
- package/build/components/Sticker/index.js.map +1 -0
- package/build/components/Sticker/style.css +2 -0
- package/build/components/Sticker/style.css.map +1 -0
- package/build/components/Table/index.js +16 -0
- package/build/components/Table/index.js.map +1 -0
- package/build/components/Table/style.css +2 -0
- package/build/components/Table/style.css.map +1 -0
- package/build/components/Tabs/index.js +3 -1043
- package/build/components/Tabs/index.js.map +1 -1
- package/build/components/Tabs/style.css +1 -1
- package/build/components/Tabs/style.css.map +1 -1
- package/build/components/Tag/index.js +16 -0
- package/build/components/Tag/index.js.map +1 -0
- package/build/components/Tag/style.css +2 -0
- package/build/components/Tag/style.css.map +1 -0
- package/build/components/Testimonial/index.js +16 -0
- package/build/components/Testimonial/index.js.map +1 -0
- package/build/components/Testimonial/style.css +2 -0
- package/build/components/Testimonial/style.css.map +1 -0
- package/build/components/Tile/index.js +16 -0
- package/build/components/Tile/index.js.map +1 -0
- package/build/components/Tile/style.css +2 -0
- package/build/components/Tile/style.css.map +1 -0
- package/build/components/Tooltip/index.js +16 -0
- package/build/components/Tooltip/index.js.map +1 -0
- package/build/components/Tooltip/style.css +2 -0
- package/build/components/Tooltip/style.css.map +1 -0
- package/build/components/index.css +2 -1
- package/build/components/index.css.map +1 -1
- package/build/components/index.js +6 -3662
- package/build/components/index.js.map +1 -1
- package/build/components/static.css +2 -0
- package/build/components/static.css.map +1 -0
- package/build/components/static.js +4 -2440
- package/build/components/static.js.map +1 -1
- package/build/components/types/mdx-components.d.ts +2 -0
- package/build/components/types/next.config.d.ts +3 -0
- package/build/components/types/src/app/ODSLib.d.ts +1 -0
- package/build/components/types/src/app/components/accordion/AccordionClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/alert/AlertClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/anchor-navigation/AnchorNavigationClientWrapper.d.ts +2 -0
- package/build/components/types/src/app/components/body-banner/BodyBannerClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/code/CodeClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/cover/CoverClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/expander/ExpanderClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/feature-accordion/FeatureAccordionClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/forms/autocomplete/AutocompleteClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/forms/datepicker/DatePickerClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/forms/radio/RadioClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/gauge/GaugeClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/hero/HeroClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/icon-list/IconListClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/list/ListClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/pagination/PaginationClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/progress/ProgressClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/promo-banner/PromoBannerClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/promotion-card/PromotionCardWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/sticker/StickerClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/tag/TagClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/testimonial/TestimonialClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/layout.d.ts +4 -0
- package/build/components/types/src/app/menuItems.d.ts +24 -0
- package/build/components/types/src/components/Accordion/Accordion.d.ts +17 -0
- package/build/components/types/src/components/Accordion/Accordion.static.d.ts +17 -0
- package/build/components/types/src/components/Accordion/AccordionHeader.d.ts +15 -0
- package/build/components/types/src/components/Accordion/AccordionItem.d.ts +19 -0
- package/build/components/types/src/components/Accordion/HeadingContext.d.ts +2 -0
- package/build/components/types/src/components/Accordion/index.d.ts +3 -0
- package/build/components/types/src/components/Accordion/tests/data.d.ts +5 -0
- package/build/components/types/{components → src/components}/Alert/Alert.d.ts +2 -2
- package/build/components/types/src/components/AnchorNavigation/AnchorNavigation.d.ts +17 -0
- package/build/components/types/src/components/AnchorNavigation/AnchorNavigation.static.d.ts +24 -0
- package/build/components/types/src/components/AnchorNavigation/index.d.ts +2 -0
- package/build/components/types/src/components/Bar/Bar.d.ts +22 -0
- package/build/components/types/src/components/Bar/BarBreak.d.ts +12 -0
- package/build/components/types/src/components/Bar/BarItem.d.ts +16 -0
- package/build/components/types/src/components/Bar/index.d.ts +4 -0
- package/build/components/types/src/components/BlockAction/BlockAction.d.ts +9 -0
- package/build/components/types/src/components/BlockAction/BlockAction.static.d.ts +19 -0
- package/build/components/types/src/components/BlockAction/BlockActionControl.d.ts +9 -0
- package/build/components/types/src/components/BlockAction/BlockActionIndicator.d.ts +9 -0
- package/build/components/types/src/components/BlockAction/CloneElementWithClassName.d.ts +8 -0
- package/build/components/types/src/components/BlockAction/Context.d.ts +13 -0
- package/build/components/types/src/components/BlockAction/index.d.ts +16 -0
- package/build/components/types/src/components/BodyBanner/BodyBanner.d.ts +20 -0
- package/build/components/types/src/components/BodyBanner/index.d.ts +2 -0
- package/build/components/types/src/components/Breadcrumbs/BreadcrumbItem.d.ts +15 -0
- package/build/components/types/src/components/Breadcrumbs/Breadcrumbs.d.ts +20 -0
- package/build/components/types/src/components/Breadcrumbs/index.d.ts +2 -0
- package/build/components/types/{components → src/components}/Button/Button.d.ts +1 -1
- package/build/components/types/src/components/Card/Card.d.ts +13 -0
- package/build/components/types/src/components/Card/CardProductHeader.d.ts +9 -0
- package/build/components/types/src/components/Card/CardSection.d.ts +14 -0
- package/build/components/types/src/components/Card/index.d.ts +4 -0
- package/build/components/types/src/components/Card/tests/data.d.ts +5 -0
- package/build/components/types/src/components/Carousel/Carousel.d.ts +12 -0
- package/build/components/types/src/components/Carousel/Carousel.static.d.ts +33 -0
- package/build/components/types/src/components/Carousel/CarouselItem.d.ts +7 -0
- package/build/components/types/src/components/Carousel/constants.d.ts +22 -0
- package/build/components/types/src/components/Carousel/index.d.ts +3 -0
- package/build/components/types/src/components/CarouselPromotions/CarouselPromotions.d.ts +10 -0
- package/build/components/types/src/components/CarouselPromotions/CarouselPromotions.static.d.ts +31 -0
- package/build/components/types/src/components/CarouselPromotions/CarouselPromotionsItem.d.ts +12 -0
- package/build/components/types/src/components/CarouselPromotions/constants.d.ts +20 -0
- package/build/components/types/src/components/CarouselPromotions/index.d.ts +3 -0
- package/build/components/types/src/components/CartTable/CartTable.d.ts +13 -0
- package/build/components/types/src/components/CartTable/FooterNameColumn.d.ts +7 -0
- package/build/components/types/src/components/CartTable/FooterPriceColumn.d.ts +9 -0
- package/build/components/types/src/components/CartTable/Price.d.ts +10 -0
- package/build/components/types/src/components/CartTable/data.d.ts +33 -0
- package/build/components/types/src/components/CartTable/generateFooter.d.ts +22 -0
- package/build/components/types/src/components/CartTable/generateRow.d.ts +21 -0
- package/build/components/types/src/components/CartTable/generateTotal.d.ts +45 -0
- package/build/components/types/src/components/CartTable/index.d.ts +2 -0
- package/build/components/types/src/components/Code/Code.d.ts +16 -0
- package/build/components/types/src/components/Code/index.d.ts +6 -0
- package/build/components/types/src/components/Code/oneDarkProTheme.d.ts +13 -0
- package/build/components/types/src/components/Container/Container.d.ts +3 -0
- package/build/components/types/src/components/Container/index.d.ts +2 -0
- package/build/components/types/src/components/Controls/Controls.d.ts +16 -0
- package/build/components/types/src/components/Controls/index.d.ts +2 -0
- package/build/components/types/src/components/Cover/Cover.d.ts +42 -0
- package/build/components/types/src/components/Cover/index.d.ts +3 -0
- package/build/components/types/src/components/Divider/Divider.d.ts +13 -0
- package/build/components/types/src/components/Divider/index.d.ts +2 -0
- package/build/components/types/src/components/DocumentationSidebar/DocumentationSidebar.d.ts +16 -0
- package/build/components/types/src/components/DocumentationSidebar/index.d.ts +3 -0
- package/build/components/types/src/components/Dropdown/Dropdown.d.ts +20 -0
- package/build/components/types/src/components/Dropdown/Dropdown.static.d.ts +28 -0
- package/build/components/types/src/components/Dropdown/DropdownDivider.d.ts +3 -0
- package/build/components/types/src/components/Dropdown/DropdownItem.d.ts +9 -0
- package/build/components/types/src/components/Dropdown/DropdownToggleButton.d.ts +7 -0
- package/build/components/types/src/components/Dropdown/index.d.ts +5 -0
- package/build/components/types/src/components/Expander/Expander.d.ts +22 -0
- package/build/components/types/src/components/Expander/Expander.static.d.ts +13 -0
- package/build/components/types/src/components/Expander/index.d.ts +2 -0
- package/build/components/types/src/components/FeatureAccordion/FeatureAccordion.d.ts +11 -0
- package/build/components/types/src/components/FeatureAccordion/FeatureAccordion.static.d.ts +23 -0
- package/build/components/types/src/components/FeatureAccordion/FeatureAccordionItem.d.ts +11 -0
- package/build/components/types/src/components/FeatureAccordion/index.d.ts +2 -0
- package/build/components/types/src/components/Footer/Footer.d.ts +12 -0
- package/build/components/types/src/components/Footer/data.d.ts +15 -0
- package/build/components/types/src/components/Footer/index.d.ts +1 -0
- package/build/components/types/src/components/Forms/Autocomplete/Autocomplete.d.ts +17 -0
- package/build/components/types/src/components/Forms/Autocomplete/Autocomplete.static.d.ts +21 -0
- package/build/components/types/src/components/Forms/Autocomplete/index.d.ts +2 -0
- package/build/components/types/src/components/Forms/Checkbox/Checkbox.d.ts +21 -0
- package/build/components/types/src/components/Forms/Checkbox/index.d.ts +2 -0
- package/build/components/types/src/components/Forms/DatePicker/DatePicker.d.ts +84 -0
- package/build/components/types/src/components/Forms/DatePicker/DatePicker.static.d.ts +69 -0
- package/build/components/types/src/components/Forms/DatePicker/index.d.ts +2 -0
- package/build/components/types/src/components/Forms/Field/Control.d.ts +6 -0
- package/build/components/types/src/components/Forms/Field/Description.d.ts +7 -0
- package/build/components/types/src/components/Forms/Field/Field.d.ts +17 -0
- package/build/components/types/src/components/Forms/Field/FieldContext.d.ts +18 -0
- package/build/components/types/src/components/Forms/Field/Label.d.ts +11 -0
- package/build/components/types/src/components/Forms/Field/Messages.d.ts +12 -0
- package/build/components/types/src/components/Forms/Field/Tooltip.d.ts +11 -0
- package/build/components/types/src/components/Forms/Field/index.d.ts +2 -0
- package/build/components/types/src/components/Forms/Field/utils.d.ts +16 -0
- package/build/components/types/src/components/Forms/Fieldset/Fieldset.d.ts +16 -0
- package/build/components/types/src/components/Forms/Fieldset/FieldsetContext.d.ts +7 -0
- package/build/components/types/src/components/Forms/Fieldset/docsData.d.ts +59 -0
- package/build/components/types/src/components/Forms/Fieldset/index.d.ts +2 -0
- package/build/components/types/src/components/Forms/File/File.d.ts +17 -0
- package/build/components/types/src/components/Forms/File/File.static.d.ts +27 -0
- package/build/components/types/src/components/Forms/File/index.d.ts +2 -0
- package/build/components/types/src/components/Forms/Group/Group.d.ts +14 -0
- package/build/components/types/src/components/Forms/Group/Item.d.ts +8 -0
- package/build/components/types/src/components/Forms/Group/index.d.ts +2 -0
- package/build/components/types/src/components/Forms/Hint/Hint.d.ts +7 -0
- package/build/components/types/src/components/Forms/Hint/index.d.ts +2 -0
- package/build/components/types/src/components/Forms/InputStepper/InputStepper.d.ts +20 -0
- package/build/components/types/src/components/Forms/InputStepper/InputStepper.static.d.ts +24 -0
- package/build/components/types/src/components/Forms/InputStepper/index.d.ts +2 -0
- package/build/components/types/src/components/Forms/Label/Label.d.ts +8 -0
- package/build/components/types/src/components/Forms/Label/index.d.ts +2 -0
- package/build/components/types/src/components/Forms/Message/Message.d.ts +12 -0
- package/build/components/types/src/components/Forms/Message/index.d.ts +2 -0
- package/build/components/types/src/components/Forms/Radio/Radio.d.ts +21 -0
- package/build/components/types/src/components/Forms/Radio/index.d.ts +2 -0
- package/build/components/types/src/components/Forms/RangeSlider/RangeSlider.d.ts +38 -0
- package/build/components/types/src/components/Forms/RangeSlider/RangeSlider.static.d.ts +24 -0
- package/build/components/types/src/components/Forms/RangeSlider/data.d.ts +49 -0
- package/build/components/types/src/components/Forms/RangeSlider/index.d.ts +2 -0
- package/build/components/types/src/components/Forms/Select/Select.d.ts +33 -0
- package/build/components/types/src/components/Forms/Select/index.d.ts +4 -0
- package/build/components/types/src/components/Forms/TextArea/TextArea.d.ts +29 -0
- package/build/components/types/src/components/Forms/TextArea/index.d.ts +2 -0
- package/build/components/types/src/components/Forms/TextInput/TextInput.d.ts +32 -0
- package/build/components/types/src/components/Forms/TextInput/index.d.ts +2 -0
- package/build/components/types/src/components/Forms/index.d.ts +16 -0
- package/build/components/types/src/components/Gauge/Gauge.d.ts +11 -0
- package/build/components/types/src/components/Gauge/GaugeMaker.d.ts +3 -0
- package/build/components/types/src/components/Gauge/index.d.ts +2 -0
- package/build/components/types/src/components/Grid/Grid.d.ts +14 -0
- package/build/components/types/src/components/Grid/GridCol.d.ts +12 -0
- package/build/components/types/src/components/Grid/index.d.ts +3 -0
- package/build/components/types/src/components/Hero/Hero.d.ts +52 -0
- package/build/components/types/src/components/Hero/HeroPlayground.d.ts +2 -0
- package/build/components/types/src/components/Hero/index.d.ts +2 -0
- package/build/components/types/{components → src/components}/Icon/Icon.d.ts +2 -2
- package/build/components/types/src/components/Icon/iconSearchTags.d.ts +419 -0
- package/build/components/types/src/components/IconList/IconList.d.ts +13 -0
- package/build/components/types/src/components/IconList/Item.d.ts +9 -0
- package/build/components/types/src/components/IconList/index.d.ts +3 -0
- package/build/components/types/src/components/Image/Image.d.ts +20 -0
- package/build/components/types/src/components/Image/index.d.ts +2 -0
- package/build/components/types/src/components/Link/Link.d.ts +18 -0
- package/build/components/types/src/components/Link/index.d.ts +2 -0
- package/build/components/types/src/components/List/ClickableControl.d.ts +9 -0
- package/build/components/types/src/components/List/List.d.ts +13 -0
- package/build/components/types/src/components/List/ListItem.d.ts +16 -0
- package/build/components/types/src/components/List/index.d.ts +3 -0
- package/build/components/types/src/components/Loader/Loader.d.ts +14 -0
- package/build/components/types/src/components/Loader/Loader.static.d.ts +19 -0
- package/build/components/types/src/components/Loader/index.d.ts +2 -0
- package/build/components/types/{components → src/components}/Modal/Modal.d.ts +2 -0
- package/build/components/types/src/components/Pagination/Pagination.d.ts +28 -0
- package/build/components/types/src/components/Pagination/PaginationItem.d.ts +21 -0
- package/build/components/types/src/components/Pagination/Separator.d.ts +6 -0
- package/build/components/types/src/components/Pagination/helpers.d.ts +23 -0
- package/build/components/types/src/components/Pagination/index.d.ts +4 -0
- package/build/components/types/src/components/Preview/CodeExample.d.ts +9 -0
- package/build/components/types/src/components/Preview/Interact/ButtonShowPropsGroup.d.ts +10 -0
- package/build/components/types/src/components/Preview/Interact/Interact.d.ts +17 -0
- package/build/components/types/src/components/Preview/Interact/PropCheckbox.d.ts +15 -0
- package/build/components/types/src/components/Preview/Interact/PropFormField.d.ts +7 -0
- package/build/components/types/src/components/Preview/Interact/PropInput.d.ts +17 -0
- package/build/components/types/src/components/Preview/Interact/PropLabelWithTooltip.d.ts +17 -0
- package/build/components/types/src/components/Preview/Interact/PropSelect.d.ts +15 -0
- package/build/components/types/src/components/Preview/Interact/PropsGroup.d.ts +10 -0
- package/build/components/types/src/components/Preview/Interact/Tooltip.d.ts +8 -0
- package/build/components/types/src/components/Preview/Interact/helpers.d.ts +19 -0
- package/build/components/types/src/components/Preview/Interact/state.d.ts +14 -0
- package/build/components/types/src/components/Preview/Preview.d.ts +26 -0
- package/build/components/types/src/components/Preview/PreviewTitleBar.d.ts +9 -0
- package/build/components/types/src/components/Preview/index.d.ts +7 -0
- package/build/components/types/src/components/Progress/Progress.d.ts +15 -0
- package/build/components/types/src/components/Progress/index.d.ts +2 -0
- package/build/components/types/src/components/PromoBanner/PromoBanner.d.ts +12 -0
- package/build/components/types/src/components/PromoBanner/index.d.ts +2 -0
- package/build/components/types/src/components/PromotionCard/PromotionCard.d.ts +9 -0
- package/build/components/types/src/components/PromotionCard/PromotionCardContent.d.ts +8 -0
- package/build/components/types/src/components/PromotionCard/PromotionCardImageWrapper.d.ts +8 -0
- package/build/components/types/src/components/PromotionCard/PromotionCardSection.d.ts +9 -0
- package/build/components/types/src/components/PromotionCard/PromotionCardTitle.d.ts +8 -0
- package/build/components/types/src/components/PromotionCard/constants.d.ts +5 -0
- package/build/components/types/src/components/PromotionCard/index.d.ts +6 -0
- package/build/components/types/src/components/Skeleton/Skeleton.d.ts +3 -0
- package/build/components/types/src/components/Skeleton/index.d.ts +2 -0
- package/build/components/types/src/components/SkipLink/SkipLink.d.ts +6 -0
- package/build/components/types/src/components/SkipLink/index.d.ts +2 -0
- package/build/components/types/src/components/Stepbar/Stepbar.d.ts +21 -0
- package/build/components/types/src/components/Stepbar/index.d.ts +2 -0
- package/build/components/types/src/components/Sticker/Sticker.d.ts +10 -0
- package/build/components/types/src/components/Sticker/index.d.ts +3 -0
- package/build/components/types/src/components/Table/Cell.d.ts +11 -0
- package/build/components/types/src/components/Table/Footer.d.ts +3 -0
- package/build/components/types/src/components/Table/Header.d.ts +3 -0
- package/build/components/types/src/components/Table/Row.d.ts +10 -0
- package/build/components/types/src/components/Table/Rows.d.ts +3 -0
- package/build/components/types/src/components/Table/Table.d.ts +24 -0
- package/build/components/types/src/components/Table/Table.static.d.ts +23 -0
- package/build/components/types/src/components/Table/TableContext.d.ts +4 -0
- package/build/components/types/src/components/Table/docsData.d.ts +39 -0
- package/build/components/types/src/components/Table/index.d.ts +3 -0
- package/build/components/types/src/components/Table/types.d.ts +34 -0
- package/build/components/types/{components → src/components}/Tabs/Tabs.d.ts +1 -3
- package/build/components/types/src/components/Tag/Tag.d.ts +24 -0
- package/build/components/types/src/components/Tag/TagButton.d.ts +12 -0
- package/build/components/types/src/components/Tag/index.d.ts +4 -0
- package/build/components/types/src/components/Testimonial/Testimonial.d.ts +10 -0
- package/build/components/types/src/components/Testimonial/index.d.ts +2 -0
- package/build/components/types/src/components/Tile/Tile.d.ts +23 -0
- package/build/components/types/src/components/Tile/index.d.ts +2 -0
- package/build/components/types/src/components/Tooltip/InfoTooltip.d.ts +8 -0
- package/build/components/types/src/components/Tooltip/Tooltip.d.ts +25 -0
- package/build/components/types/src/components/Tooltip/Tooltip.static.d.ts +26 -0
- package/build/components/types/src/components/Tooltip/index.d.ts +3 -0
- package/build/components/types/src/components/Tooltip/tests/BaseWrapper.d.ts +3 -0
- package/build/components/types/src/components/index.d.ts +49 -0
- package/build/components/types/src/components/static.d.ts +1 -0
- package/build/components/types/src/docs/utils/ToggleButton.d.ts +9 -0
- package/build/components/types/src/lib/scripts.d.ts +1 -0
- package/build/components/types/src/scripts/index.d.ts +102 -0
- package/build/components/types/src/scripts/lib/moduleFactory.d.ts +3 -0
- package/build/components/types/src/scripts/modules/SameHeight.d.ts +15 -0
- package/build/components/types/src/scripts/modules/Toggle.d.ts +39 -0
- package/build/components/types/src/scripts/modules/toggleUtil.d.ts +13 -0
- package/build/components/types/src/styles/export/breakpoint.d.ts +9 -0
- package/build/components/types/src/utils/ConditionalWrapper.d.ts +10 -0
- package/build/components/types/src/utils/classes.d.ts +5 -0
- package/build/components/types/src/utils/color.d.ts +20 -0
- package/build/components/types/src/utils/helpers.d.ts +11 -0
- package/build/components/types/{utils → src/utils}/hooks.d.ts +2 -1
- package/build/components/types/src/utils/index.d.ts +5 -0
- package/build/images/product-1.svg +10 -0
- package/build/images/product-2.svg +14 -0
- package/build/images/product-3.svg +9 -0
- package/build/lib/after-components.css +1 -1
- package/build/lib/after-components.css.map +1 -1
- package/build/lib/before-components.css +2 -1
- package/build/lib/before-components.css.map +1 -1
- package/build/lib/components.css +1 -1
- package/build/lib/components.css.map +1 -1
- package/build/lib/scripts.css +2 -0
- package/build/lib/scripts.css.map +1 -0
- package/build/lib/scripts.js +4 -2442
- package/build/lib/scripts.js.map +1 -1
- package/build/lib/style.css +2 -1
- package/build/lib/style.css.map +1 -1
- package/build/logo.svg +1 -0
- package/package.json +46 -29
- package/src/components/Accordion/Accordion.mdx +2 -2
- package/src/components/Accordion/Accordion.tsx +12 -20
- package/src/components/Accordion/AccordionItem.tsx +16 -26
- package/src/components/Accordion/index.ts +3 -3
- package/src/components/Accordion/styles/mixins.scss +11 -11
- package/src/components/Accordion/styles/style.scss +34 -32
- package/src/components/Accordion/tests/Accordion.unit.test.js +2 -2
- package/src/components/Accordion/tests/{data.js → data.ts} +9 -7
- package/src/components/Alert/Alert.tsx +6 -5
- package/src/components/Alert/CHANGELOG.md +33 -0
- package/src/components/Alert/styles/config.scss +6 -44
- package/src/components/Alert/styles/mixins.scss +20 -8
- package/src/components/Alert/styles/style.scss +22 -30
- package/src/components/Alert/tests/Alert.test.js +26 -0
- package/src/components/AnchorNavigation/AnchorNavigation.static.ts +115 -0
- package/src/components/AnchorNavigation/AnchorNavigation.tsx +81 -0
- package/src/components/AnchorNavigation/index.tsx +3 -0
- package/src/components/AnchorNavigation/styles/mixins.scss +126 -0
- package/src/components/AnchorNavigation/styles/style.scss +22 -0
- package/src/components/Bar/Bar.mdx +203 -0
- package/src/components/Bar/Bar.tsx +58 -0
- package/src/components/Bar/BarBreak.tsx +29 -0
- package/src/components/Bar/BarItem.tsx +50 -0
- package/src/components/Bar/index.ts +5 -0
- package/src/components/Bar/styles/config.scss +10 -0
- package/src/components/Bar/styles/mixins.scss +84 -0
- package/src/components/Bar/styles/style.scss +62 -0
- package/src/components/Bar/tests/Bar.conformance.test.js +29 -0
- package/src/components/Bar/tests/Bar.unit.test.js +58 -0
- package/src/components/Bar/tests/BarBreak.unit.test.js +32 -0
- package/src/components/Bar/tests/BarItem.unit.test.js +51 -0
- package/src/components/BlockAction/BlockAction.mdx +244 -0
- package/src/components/BlockAction/BlockAction.static.ts +104 -0
- package/src/components/BlockAction/BlockAction.tsx +27 -0
- package/src/components/BlockAction/BlockActionControl.tsx +32 -0
- package/src/components/BlockAction/BlockActionIndicator.tsx +32 -0
- package/src/components/BlockAction/CloneElementWithClassName.tsx +23 -0
- package/src/components/BlockAction/Context.tsx +39 -0
- package/src/components/BlockAction/index.tsx +29 -0
- package/src/components/BlockAction/styles/config.scss +10 -0
- package/src/components/BlockAction/styles/mixins.scss +33 -0
- package/src/components/BlockAction/styles/style.scss +35 -0
- package/src/components/BlockAction/tests/BlockAction.conformance.test.js +117 -0
- package/src/components/BlockAction/tests/BlockAction.unit.test.js +44 -0
- package/src/components/BlockAction/tests/BlockActionControl.unit.test.js +146 -0
- package/src/components/BlockAction/tests/BlockActionIndicator.unit.test.js +68 -0
- package/src/components/BlockAction/tests/CloneElementWithClassName.unit.test.js +33 -0
- package/src/components/BodyBanner/BodyBanner.mdx +268 -0
- package/src/components/BodyBanner/BodyBanner.tsx +102 -0
- package/src/components/BodyBanner/index.tsx +3 -0
- package/src/components/BodyBanner/styles/mixins.scss +106 -0
- package/src/components/BodyBanner/styles/style.scss +41 -0
- package/src/components/Breadcrumbs/BreadcrumbItem.tsx +13 -13
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +17 -16
- package/src/components/Breadcrumbs/index.ts +2 -4
- package/src/components/Breadcrumbs/styles/mixins.scss +16 -28
- package/src/components/Breadcrumbs/styles/style.scss +17 -26
- package/src/components/Breadcrumbs/tests/BreadcrumbItem.unit.test.js +1 -2
- package/src/components/Breadcrumbs/tests/Breadcrumbs.conformance.test.js +16 -17
- package/src/components/Breadcrumbs/tests/Breadcrumbs.integration.test.js +21 -19
- package/src/components/Breadcrumbs/tests/Breadcrumbs.unit.test.js +28 -21
- package/src/components/Button/Button.tsx +4 -3
- package/src/components/Button/styles/config.scss +34 -135
- package/src/components/Button/styles/mixins.scss +2 -11
- package/src/components/Button/styles/style.scss +28 -48
- package/src/components/Button/tests/Button.test.js +8 -3
- package/src/components/Buttons/styles/style.scss +6 -4
- package/src/components/Card/CHANGELOG.md +19 -0
- package/src/components/Card/Card.mdx +334 -0
- package/src/components/Card/Card.tsx +35 -0
- package/src/components/Card/CardProductHeader.tsx +36 -0
- package/src/components/Card/CardSection.tsx +44 -0
- package/src/components/Card/index.ts +5 -0
- package/src/components/Card/styles/config.scss +16 -0
- package/src/components/Card/styles/mixins.scss +68 -0
- package/src/components/Card/styles/style.scss +39 -0
- package/src/components/Card/tests/Card.conformance.test.js +31 -0
- package/src/components/Card/tests/Card.unit.test.js +47 -0
- package/src/components/Card/tests/CardProductHeader.unit.test.js +61 -0
- package/src/components/Card/tests/CardSection.unit.test.js +61 -0
- package/src/components/Card/tests/data.ts +44 -0
- package/src/components/Carousel/CHANGELOG.md +11 -0
- package/src/components/Carousel/Carousel.mdx +159 -0
- package/src/components/Carousel/Carousel.static.ts +261 -0
- package/src/components/Carousel/Carousel.tsx +98 -0
- package/src/components/Carousel/CarouselItem.tsx +29 -0
- package/src/components/Carousel/constants.ts +24 -0
- package/src/components/Carousel/index.ts +4 -0
- package/src/components/Carousel/styles/config.scss +31 -0
- package/src/components/Carousel/styles/mixins.scss +196 -0
- package/src/components/Carousel/styles/style.scss +65 -0
- package/src/components/Carousel/tests/Carousel.conformance.test.js +26 -0
- package/src/components/Carousel/tests/Carousel.unit.test.js +207 -0
- package/src/components/Carousel/tests/CarouselItem.unit.test.js +31 -0
- package/src/components/CarouselPromotions/CarouselPromotions.mdx +246 -0
- package/src/components/CarouselPromotions/CarouselPromotions.static.ts +287 -0
- package/src/components/CarouselPromotions/CarouselPromotions.tsx +66 -0
- package/src/components/CarouselPromotions/CarouselPromotionsItem.tsx +53 -0
- package/src/components/CarouselPromotions/constants.ts +23 -0
- package/src/components/CarouselPromotions/index.ts +4 -0
- package/src/components/CarouselPromotions/styles/config.scss +65 -0
- package/src/components/CarouselPromotions/styles/mixins.scss +286 -0
- package/src/components/CarouselPromotions/styles/style.scss +51 -0
- package/src/components/CarouselPromotions/tests/CarouselPromotions.conformance.test.js +30 -0
- package/src/components/CarouselPromotions/tests/CarouselPromotions.unit.test.js +244 -0
- package/src/components/CarouselPromotions/tests/CarouselPromotionsItem.unit.test.js +33 -0
- package/src/components/CartTable/CartTable.mdx +129 -0
- package/src/components/CartTable/CartTable.tsx +111 -0
- package/src/components/CartTable/FooterNameColumn.tsx +32 -0
- package/src/components/CartTable/FooterPriceColumn.tsx +50 -0
- package/src/components/CartTable/Price.tsx +48 -0
- package/src/components/CartTable/data.ts +147 -0
- package/src/components/CartTable/generateFooter.tsx +97 -0
- package/src/components/CartTable/generateRow.tsx +196 -0
- package/src/components/CartTable/generateTotal.ts +157 -0
- package/src/components/CartTable/index.ts +3 -0
- package/src/components/CartTable/styles/config.scss +19 -0
- package/src/components/CartTable/styles/mixins.scss +141 -0
- package/src/components/CartTable/styles/style.scss +37 -0
- package/src/components/CartTable/tests/CartTable.conformance.test.js +16 -0
- package/src/components/Code/Code.tsx +85 -0
- package/src/components/Code/index.tsx +16 -0
- package/src/components/Code/oneDarkProTheme.ts +70 -0
- package/src/components/Code/styles/style.scss +58 -0
- package/src/components/Container/Container.tsx +11 -9
- package/src/components/Container/index.ts +2 -4
- package/src/components/Container/styles/style.scss +5 -3
- package/src/components/Container/tests/Container.conformance.test.js +58 -53
- package/src/components/Container/tests/Container.unit.test.js +125 -134
- package/src/components/Controls/Controls.mdx +469 -0
- package/src/components/Controls/Controls.tsx +50 -0
- package/src/components/Controls/index.ts +3 -0
- package/src/components/Controls/styles/config.scss +52 -0
- package/src/components/Controls/styles/mixins.scss +70 -0
- package/src/components/Controls/styles/style.scss +16 -0
- package/src/components/Controls/tests/Controls.test.js +479 -0
- package/src/components/Cover/Cover.mdx +87 -0
- package/src/components/Cover/Cover.tsx +81 -0
- package/src/components/Cover/index.ts +5 -0
- package/src/components/Cover/styles/config.scss +55 -0
- package/src/components/Cover/styles/mixins.scss +43 -0
- package/src/components/Cover/styles/style.scss +32 -0
- package/src/components/Cover/tests/Cover.conformance.test.js +28 -0
- package/src/components/Cover/tests/Cover.unit.test.js +116 -0
- package/src/components/Divider/Divider.mdx +65 -0
- package/src/components/Divider/Divider.tsx +57 -0
- package/src/components/Divider/index.ts +3 -0
- package/src/components/Divider/styles/config.scss +27 -0
- package/src/components/Divider/styles/mixins.scss +45 -0
- package/src/components/Divider/styles/style.scss +33 -0
- package/src/components/{Badge/tests/Badge.conformance.test.js → Divider/tests/Divider.conformance.test.js} +5 -8
- package/src/components/Divider/tests/Divider.unit.test.js +80 -0
- package/src/components/DocumentationSidebar/DocumentationSidebar.tsx +171 -0
- package/src/components/DocumentationSidebar/index.ts +4 -0
- package/src/components/DocumentationSidebar/styles/style.scss +230 -0
- package/src/components/Dropdown/Dropdown.mdx +260 -0
- package/src/components/Dropdown/Dropdown.static.ts +198 -0
- package/src/components/Dropdown/Dropdown.tsx +107 -0
- package/src/components/Dropdown/DropdownDivider.tsx +17 -0
- package/src/components/Dropdown/DropdownItem.tsx +43 -0
- package/src/components/Dropdown/DropdownToggleButton.tsx +37 -0
- package/src/components/Dropdown/index.ts +6 -0
- package/src/components/Dropdown/styles/config.scss +41 -0
- package/src/components/Dropdown/styles/mixins.scss +79 -0
- package/src/components/Dropdown/styles/style.scss +33 -0
- package/src/components/Dropdown/tests/Dropdown.conformance.test.js +48 -0
- package/src/components/Dropdown/tests/Dropdown.unit.test.js +69 -0
- package/src/components/Expander/Expander.mdx +153 -0
- package/src/components/Expander/Expander.static.ts +59 -0
- package/src/components/Expander/Expander.tsx +99 -0
- package/src/components/Expander/index.ts +3 -0
- package/src/components/Expander/styles/style.scss +63 -0
- package/src/components/Expander/tests/Expander.conformance.test.js +59 -0
- package/src/components/Expander/tests/Expander.unit.test.js +124 -0
- package/src/components/FeatureAccordion/FeatureAccordion.mdx +33 -0
- package/src/components/FeatureAccordion/FeatureAccordion.static.ts +121 -0
- package/src/components/FeatureAccordion/FeatureAccordion.tsx +116 -0
- package/src/components/FeatureAccordion/FeatureAccordionItem.tsx +31 -0
- package/src/components/FeatureAccordion/index.ts +2 -0
- package/src/components/FeatureAccordion/styles/mixins.scss +74 -0
- package/src/components/FeatureAccordion/styles/style.scss +21 -0
- package/src/components/FeatureAccordion/tests/FeatureAccordion.conformance.test.js +92 -0
- package/src/components/FeatureAccordion/tests/FeatureAccordion.unit.test.js +80 -0
- package/src/components/Footer/Footer.tsx +93 -0
- package/src/components/Footer/data.ts +71 -0
- package/src/components/Footer/index.ts +1 -0
- package/src/components/Footer/tests/Footer.conformance.test.js +13 -0
- package/src/components/Footer/tests/Footer.unit.test.js +66 -0
- package/src/components/Forms/Autocomplete/Autocomplete.mdx +198 -0
- package/src/components/Forms/Autocomplete/Autocomplete.static.ts +90 -0
- package/src/components/Forms/Autocomplete/Autocomplete.tsx +66 -0
- package/src/components/Forms/Autocomplete/index.ts +3 -0
- package/src/components/Forms/Autocomplete/styles/config.scss +7 -0
- package/src/components/Forms/Autocomplete/styles/mixins.scss +78 -0
- package/src/components/Forms/Autocomplete/styles/style.scss +66 -0
- package/src/components/Forms/Checkbox/Checkbox.mdx +139 -0
- package/src/components/Forms/Checkbox/Checkbox.tsx +75 -0
- package/src/components/Forms/Checkbox/index.ts +3 -0
- package/src/components/Forms/Checkbox/styles/config.scss +25 -0
- package/src/components/Forms/Checkbox/styles/mixins.scss +2 -0
- package/src/components/Forms/Checkbox/styles/style.scss +89 -0
- package/src/components/Forms/Checkbox/tests/Checkbox.unit.test.js +95 -0
- package/src/components/Forms/DatePicker/DatePicker.mdx +149 -0
- package/src/components/Forms/DatePicker/DatePicker.static.ts +211 -0
- package/src/components/Forms/DatePicker/DatePicker.tsx +129 -0
- package/src/components/Forms/DatePicker/index.ts +3 -0
- package/src/components/Forms/DatePicker/styles/style.scss +183 -0
- package/src/components/Forms/DatePicker/tests/DatePicker.unit.test.js +262 -0
- package/src/components/Forms/Field/Control.tsx +129 -0
- package/src/components/Forms/Field/Description.tsx +40 -0
- package/src/components/Forms/Field/Field.mdx +383 -0
- package/src/components/Forms/Field/Field.tsx +104 -0
- package/src/components/Forms/Field/FieldContext.tsx +24 -0
- package/src/components/Forms/Field/Label.tsx +71 -0
- package/src/components/Forms/Field/Messages.tsx +36 -0
- package/src/components/Forms/Field/Tooltip.tsx +37 -0
- package/src/components/Forms/Field/index.ts +3 -0
- package/src/components/Forms/Field/styles/config.scss +25 -0
- package/src/components/Forms/Field/styles/mixins.scss +43 -0
- package/src/components/Forms/Field/styles/style.scss +37 -0
- package/src/components/Forms/Field/tests/Autocomplete.Field.conformance.test.js +52 -0
- package/src/components/Forms/Field/tests/Checkbox.Field.conformance.test.js +43 -0
- package/src/components/Forms/Field/tests/Field.unit.test.js +11 -0
- package/src/components/Forms/Field/tests/File.Field.conformance.test.js +47 -0
- package/src/components/Forms/Field/tests/Group.Field.conformance.test.js +47 -0
- package/src/components/Forms/Field/tests/Label.unit.test.js +163 -0
- package/src/components/Forms/Field/tests/Messages.unit.test.js +102 -0
- package/src/components/Forms/Field/tests/Radio.Field.conformance.test.js +43 -0
- package/src/components/Forms/Field/tests/Rangeslider.Field.test.js +60 -0
- package/src/components/Forms/Field/tests/Select.Field.conformance.test.js +45 -0
- package/src/components/Forms/Field/tests/Text.Field.conformance.test.js +43 -0
- package/src/components/Forms/Field/tests/Textarea.Field.conformance.test.js +43 -0
- package/src/components/Forms/Field/tests/Tooltip.unit.test.js +38 -0
- package/src/components/Forms/Field/utils.ts +36 -0
- package/src/components/Forms/Fieldset/Fieldset.mdx +178 -0
- package/src/components/Forms/Fieldset/Fieldset.tsx +62 -0
- package/src/components/Forms/Fieldset/FieldsetContext.ts +13 -0
- package/src/components/Forms/Fieldset/docsData.ts +75 -0
- package/src/components/Forms/Fieldset/index.ts +3 -0
- package/src/components/Forms/Fieldset/styles/mixins.scss +6 -0
- package/src/components/Forms/Fieldset/styles/style.scss +10 -0
- package/src/components/Forms/Fieldset/tests/Fieldset.unit.test.js +63 -0
- package/src/components/Forms/File/File.mdx +88 -0
- package/src/components/Forms/File/File.static.ts +164 -0
- package/src/components/Forms/File/File.tsx +77 -0
- package/src/components/Forms/File/index.ts +3 -0
- package/src/components/Forms/File/styles/config.scss +12 -0
- package/src/components/Forms/File/styles/mixins.scss +87 -0
- package/src/components/Forms/File/styles/style.scss +51 -0
- package/src/components/Forms/FormTooltip.mdx +51 -0
- package/src/components/Forms/Forms.mdx +48 -0
- package/src/components/Forms/Group/CHANGELOG.md +5 -0
- package/src/components/Forms/Group/Group.mdx +146 -0
- package/src/components/Forms/Group/Group.tsx +74 -0
- package/src/components/Forms/Group/Item.tsx +35 -0
- package/src/components/Forms/Group/index.ts +3 -0
- package/src/components/Forms/Group/styles/config.scss +9 -0
- package/src/components/Forms/Group/styles/mixins.scss +50 -0
- package/src/components/Forms/Group/styles/style.scss +19 -0
- package/src/components/Forms/Group/tests/Group.unit.test.js +171 -0
- package/src/components/Forms/Group/tests/Item.unit.test.js +31 -0
- package/src/components/Forms/Hint/Hint.mdx +40 -0
- package/src/components/Forms/Hint/Hint.tsx +21 -0
- package/src/components/Forms/Hint/index.ts +3 -0
- package/src/components/Forms/Hint/styles/config.scss +5 -0
- package/src/components/Forms/Hint/styles/mixins.scss +6 -0
- package/src/components/Forms/Hint/styles/style.scss +7 -0
- package/src/components/Forms/Hint/tests/Hint.unit.test.js +35 -0
- package/src/components/Forms/InputStepper/InputStepper.mdx +147 -0
- package/src/components/Forms/InputStepper/InputStepper.static.ts +187 -0
- package/src/components/Forms/InputStepper/InputStepper.tsx +86 -0
- package/src/components/Forms/InputStepper/index.ts +3 -0
- package/src/components/Forms/InputStepper/styles/style.scss +210 -0
- package/src/components/Forms/InputStepper/tests/InputStepper.unit.test.js +54 -0
- package/src/components/Forms/Label/Label.mdx +95 -0
- package/src/components/Forms/Label/Label.tsx +26 -0
- package/src/components/Forms/Label/index.ts +3 -0
- package/src/components/Forms/Label/styles/config.scss +4 -0
- package/src/components/Forms/Label/styles/mixins.scss +6 -0
- package/src/components/Forms/Label/styles/style.scss +11 -0
- package/src/components/Forms/Label/tests/Label.unit.test.js +42 -0
- package/src/components/Forms/Message/Message.mdx +40 -0
- package/src/components/Forms/Message/Message.tsx +58 -0
- package/src/components/Forms/Message/index.ts +3 -0
- package/src/components/Forms/Message/styles/config.scss +15 -0
- package/src/components/Forms/Message/styles/mixins.scss +12 -0
- package/src/components/Forms/Message/styles/style.scss +11 -0
- package/src/components/Forms/Message/tests/Message.unit.test.js +71 -0
- package/src/components/Forms/Radio/Radio.mdx +98 -0
- package/src/components/Forms/Radio/Radio.tsx +70 -0
- package/src/components/Forms/Radio/index.ts +3 -0
- package/src/components/Forms/Radio/styles/config.scss +25 -0
- package/src/components/Forms/Radio/styles/mixins.scss +6 -0
- package/src/components/Forms/Radio/styles/style.scss +25 -0
- package/src/components/Forms/Radio/tests/Radio.unit.test.js +105 -0
- package/src/components/Forms/RangeSlider/RangeSlider.mdx +304 -0
- package/src/components/Forms/RangeSlider/RangeSlider.static.ts +121 -0
- package/src/components/Forms/RangeSlider/RangeSlider.tsx +98 -0
- package/src/components/Forms/RangeSlider/data.ts +50 -0
- package/src/components/Forms/RangeSlider/index.ts +3 -0
- package/src/components/Forms/RangeSlider/styles/config.scss +32 -0
- package/src/components/Forms/RangeSlider/styles/mixins.scss +139 -0
- package/src/components/Forms/RangeSlider/styles/style.scss +97 -0
- package/src/components/Forms/Select/Select.mdx +106 -0
- package/src/components/Forms/Select/Select.tsx +97 -0
- package/src/components/Forms/Select/index.tsx +9 -0
- package/src/components/Forms/Select/styles/config.scss +53 -0
- package/src/components/Forms/Select/styles/mixins.scss +34 -0
- package/src/components/Forms/Select/styles/style.scss +22 -0
- package/src/components/Forms/Select/tests/Select.unit.test.js +98 -0
- package/src/components/Forms/TextArea/TextArea.mdx +109 -0
- package/src/components/Forms/TextArea/TextArea.tsx +84 -0
- package/src/components/Forms/TextArea/index.ts +3 -0
- package/src/components/Forms/TextArea/styles/config.scss +35 -0
- package/src/components/Forms/TextArea/styles/mixins.scss +48 -0
- package/src/components/Forms/TextArea/styles/style.scss +22 -0
- package/src/components/Forms/TextArea/tests/TextArea.unit.test.js +127 -0
- package/src/components/Forms/TextInput/TextInput.mdx +153 -0
- package/src/components/Forms/TextInput/TextInput.tsx +101 -0
- package/src/components/Forms/TextInput/index.ts +3 -0
- package/src/components/Forms/TextInput/styles/config.scss +60 -0
- package/src/components/Forms/TextInput/styles/mixins.scss +80 -0
- package/src/components/Forms/TextInput/styles/style.scss +30 -0
- package/src/components/Forms/TextInput/tests/TextInput.unit.test.js +108 -0
- package/src/components/Forms/index.ts +16 -0
- package/src/components/Forms/styles/config.scss +41 -0
- package/src/components/Forms/styles/mixins.scss +44 -0
- package/src/components/Gauge/Gauge.mdx +35 -0
- package/src/components/Gauge/Gauge.tsx +72 -0
- package/src/components/Gauge/GaugeMaker.tsx +90 -0
- package/src/components/Gauge/index.ts +3 -0
- package/src/components/Gauge/styles/style.scss +34 -0
- package/src/components/Gauge/tests/Gauge.conformance.test.js +25 -0
- package/src/components/Gauge/tests/Gauge.unit.test.js +35 -0
- package/src/components/Grid/Grid.mdx +20 -19
- package/src/components/Grid/Grid.tsx +27 -22
- package/src/components/Grid/index.ts +3 -5
- package/src/components/Grid/styles/style.scss +29 -27
- package/src/components/Grid/tests/Grid.unit.test.js +572 -0
- package/src/components/Grid/tests/GridCol.unit.test.js +223 -0
- package/src/components/Hero/Hero.mdx +168 -0
- package/src/components/Hero/Hero.tsx +182 -0
- package/src/components/Hero/HeroPlayground.tsx +369 -0
- package/src/components/Hero/index.ts +3 -0
- package/src/components/Hero/styles/config.scss +23 -0
- package/src/components/Hero/styles/mixins.scss +173 -0
- package/src/components/Hero/styles/style.scss +59 -0
- package/src/components/Hero/tests/Hero.conformance.test.js +29 -0
- package/src/components/Hero/tests/Hero.unit.test.js +272 -0
- package/src/components/Hero/tests/data.js +40 -0
- package/src/components/Icon/Icon.tsx +2 -2
- package/src/components/Icon/IconSearch.jsx +2 -0
- package/src/components/Icon/styles/config.scss +5 -5
- package/src/components/Icon/styles/style.scss +12 -10
- package/src/components/IconList/IconList.mdx +53 -0
- package/src/components/IconList/IconList.tsx +30 -0
- package/src/components/IconList/Item.tsx +39 -0
- package/src/components/IconList/index.ts +4 -0
- package/src/components/IconList/styles/config.scss +3 -0
- package/src/components/IconList/styles/mixins.scss +33 -0
- package/src/components/IconList/styles/style.scss +21 -0
- package/src/components/IconList/tests/IconList.conformance.test.js +55 -0
- package/src/components/IconList/tests/IconList.unit.test.js +79 -0
- package/src/components/IconList/tests/Item.unit.test.js +143 -0
- package/src/components/Image/Image.mdx +29 -20
- package/src/components/Image/Image.tsx +12 -13
- package/src/components/Image/index.ts +2 -6
- package/src/components/Image/styles/style.scss +9 -6
- package/src/components/Image/tests/Image.conformance.test.js +1 -1
- package/src/components/Image/tests/Image.unit.test.js +166 -188
- package/src/components/Link/CHANGELOG.md +25 -0
- package/src/components/Link/Link.tsx +14 -9
- package/src/components/Link/styles/mixins.scss +8 -17
- package/src/components/Link/styles/style.scss +37 -54
- package/src/components/Link/tests/Link.conformance.test.js +7 -25
- package/src/components/Link/tests/Link.unit.test.js +20 -33
- package/src/components/List/ClickableControl.tsx +33 -0
- package/src/components/List/List.mdx +216 -0
- package/src/components/List/List.tsx +40 -0
- package/src/components/List/ListItem.tsx +44 -0
- package/src/components/List/index.ts +5 -0
- package/src/components/List/styles/config.scss +38 -0
- package/src/components/List/styles/mixins.scss +99 -0
- package/src/components/List/styles/style.scss +48 -0
- package/src/components/List/tests/ClickableControl.unit.test.js +100 -0
- package/src/components/List/tests/List.conformance.test.js +69 -0
- package/src/components/List/tests/List.unit.test.js +47 -0
- package/src/components/List/tests/ListItem.unit.test.js +104 -0
- package/src/components/Loader/Loader.mdx +148 -0
- package/src/components/Loader/Loader.static.ts +85 -0
- package/src/components/Loader/Loader.tsx +75 -0
- package/src/components/Loader/index.ts +3 -0
- package/src/components/Loader/styles/config.scss +16 -0
- package/src/components/Loader/styles/mixins.scss +66 -0
- package/src/components/Loader/styles/style.scss +38 -0
- package/src/components/Loader/tests/Loader.conformance.test.js +22 -0
- package/src/components/Loader/tests/Loader.unit.test.js +59 -0
- package/src/components/Loader/tests/test.scss +5 -0
- package/src/components/Modal/Modal.mdx +86 -86
- package/src/components/Modal/Modal.tsx +5 -0
- package/src/components/Modal/styles/config.scss +7 -8
- package/src/components/Modal/styles/mixins.scss +2 -2
- package/src/components/Modal/styles/style.scss +65 -63
- package/src/components/Modal/tests/Modal.unit.test.js +22 -0
- package/src/components/Pagination/Pagination.mdx +45 -0
- package/src/components/Pagination/Pagination.tsx +86 -0
- package/src/components/Pagination/PaginationItem.tsx +61 -0
- package/src/components/Pagination/Separator.tsx +19 -0
- package/src/components/Pagination/helpers.ts +71 -0
- package/src/components/Pagination/index.ts +5 -0
- package/src/components/Pagination/styles/mixins.scss +43 -0
- package/src/components/Pagination/styles/style.scss +28 -0
- package/src/components/Pagination/tests/Item.unit.test.js +96 -0
- package/src/components/Pagination/tests/Pagination.conformance.test.js +41 -0
- package/src/components/Pagination/tests/Pagination.unit.test.js +108 -0
- package/src/components/Pagination/tests/Separator.unit.test.js +25 -0
- package/src/components/Pagination/tests/utils.js +12 -0
- package/src/components/Preview/CodeExample.tsx +238 -0
- package/src/components/Preview/Interact/ButtonShowPropsGroup.tsx +38 -0
- package/src/components/Preview/Interact/Interact.tsx +263 -0
- package/src/components/Preview/Interact/PropCheckbox.tsx +50 -0
- package/src/components/Preview/Interact/PropFormField.tsx +76 -0
- package/src/components/Preview/Interact/PropInput.tsx +72 -0
- package/src/components/Preview/Interact/PropLabelWithTooltip.tsx +77 -0
- package/src/components/Preview/Interact/PropSelect.tsx +60 -0
- package/src/components/Preview/Interact/PropsGroup.tsx +49 -0
- package/src/components/Preview/Interact/Tooltip.tsx +17 -0
- package/src/components/Preview/Interact/helpers.ts +60 -0
- package/src/components/Preview/Interact/state.ts +18 -0
- package/src/components/Preview/Preview.docs.mdx +153 -0
- package/src/components/Preview/Preview.test.js +66 -0
- package/src/components/Preview/Preview.tsx +273 -0
- package/src/components/Preview/PreviewTitleBar.tsx +32 -0
- package/src/components/Preview/index.tsx +16 -0
- package/src/components/Preview/styles/style.scss +340 -0
- package/src/components/Progress/Progress.mdx +119 -0
- package/src/components/Progress/Progress.tsx +60 -0
- package/src/components/Progress/index.ts +3 -0
- package/src/components/Progress/styles/config.scss +19 -0
- package/src/components/Progress/styles/mixins.scss +40 -0
- package/src/components/Progress/styles/style.scss +31 -0
- package/src/components/Progress/tests/Progress.conformance.test.js +27 -0
- package/src/components/Progress/tests/Progress.unit.test.js +108 -0
- package/src/components/PromoBanner/PromoBanner.tsx +65 -0
- package/src/components/PromoBanner/index.ts +2 -0
- package/src/components/PromoBanner/styles/mixins.scss +37 -0
- package/src/components/PromoBanner/styles/style.scss +23 -0
- package/src/components/PromotionCard/PromotionCard.mdx +191 -0
- package/src/components/PromotionCard/PromotionCard.tsx +31 -0
- package/src/components/PromotionCard/PromotionCardContent.tsx +25 -0
- package/src/components/PromotionCard/PromotionCardImageWrapper.tsx +25 -0
- package/src/components/PromotionCard/PromotionCardSection.tsx +29 -0
- package/src/components/PromotionCard/PromotionCardTitle.tsx +24 -0
- package/src/components/PromotionCard/constants.ts +5 -0
- package/src/components/PromotionCard/index.ts +7 -0
- package/src/components/PromotionCard/styles/config.scss +4 -0
- package/src/components/PromotionCard/styles/mixins.scss +89 -0
- package/src/components/PromotionCard/styles/style.scss +25 -0
- package/src/components/Section/Section.tsx +1 -1
- package/src/components/Section/styles/style.scss +28 -26
- package/src/components/Skeleton/Skeleton.mdx +90 -0
- package/src/components/Skeleton/Skeleton.tsx +21 -0
- package/src/components/Skeleton/index.ts +3 -0
- package/src/components/Skeleton/styles/config.scss +31 -0
- package/src/components/Skeleton/styles/mixins.scss +22 -0
- package/src/components/Skeleton/styles/style.scss +7 -0
- package/src/components/Skeleton/tests/Skeleton.conformance.test.js +16 -0
- package/src/components/Skeleton/tests/Skeleton.unit.test.js +22 -0
- package/src/components/SkipLink/SkipLink.mdx +23 -0
- package/src/components/SkipLink/SkipLink.tsx +25 -0
- package/src/components/SkipLink/index.ts +3 -0
- package/src/components/SkipLink/styles/style.scss +20 -0
- package/src/components/SkipLink/tests/SkipLink.unit.test.js +88 -0
- package/src/components/Stepbar/Stepbar.mdx +137 -0
- package/src/components/Stepbar/Stepbar.tsx +100 -0
- package/src/components/Stepbar/index.ts +3 -0
- package/src/components/Stepbar/styles/config.scss +91 -0
- package/src/components/Stepbar/styles/mixins.scss +132 -0
- package/src/components/Stepbar/styles/style.scss +77 -0
- package/src/components/Stepbar/tests/Stepbar.conformance.test.js +34 -0
- package/src/components/Stepbar/tests/Stepbar.unit.test.js +92 -0
- package/src/components/Sticker/Sticker.mdx +50 -0
- package/src/components/Sticker/Sticker.tsx +31 -0
- package/src/components/Sticker/index.ts +4 -0
- package/src/components/Sticker/styles/config.scss +31 -0
- package/src/components/Sticker/styles/mixins.scss +25 -0
- package/src/components/Sticker/styles/style.scss +22 -0
- package/src/components/Sticker/tests/Sticker.conformance.test.js +17 -0
- package/src/components/Sticker/tests/Sticker.unit.test.js +42 -0
- package/src/components/Table/Cell.tsx +22 -0
- package/src/components/Table/Footer.tsx +25 -0
- package/src/components/Table/Header.tsx +73 -0
- package/src/components/Table/Row.tsx +70 -0
- package/src/components/Table/Rows.tsx +36 -0
- package/src/components/Table/Table.mdx +199 -0
- package/src/components/Table/Table.static.ts +146 -0
- package/src/components/Table/Table.tsx +130 -0
- package/src/components/Table/TableContext.ts +9 -0
- package/src/components/Table/docsData.ts +210 -0
- package/src/components/Table/index.ts +4 -0
- package/src/components/Table/styles/config.scss +4 -0
- package/src/components/Table/styles/mixins.scss +115 -0
- package/src/components/Table/styles/style.scss +103 -0
- package/src/components/Table/tests/Cell.unit.test.js +59 -0
- package/src/components/Table/tests/Footer.unit.test.js +70 -0
- package/src/components/Table/tests/Header.unit.test.js +120 -0
- package/src/components/Table/tests/Row.unit.test.js +206 -0
- package/src/components/Table/tests/Rows.unit.test.js +92 -0
- package/src/components/Table/tests/Table.conformance.test.js +74 -0
- package/src/components/Table/tests/Table.unit.test.js +296 -0
- package/src/components/Table/types.ts +40 -0
- package/src/components/Tabs/Tabs.tsx +4 -5
- package/src/components/Tabs/styles/config.scss +29 -48
- package/src/components/Tabs/styles/mixins.scss +20 -29
- package/src/components/Tabs/styles/style.scss +34 -42
- package/src/components/Tabs/tests/Tabs.unit.test.js +8 -0
- package/src/components/Tag/CHANGELOG.md +93 -0
- package/src/components/Tag/Tag.mdx +52 -0
- package/src/components/Tag/Tag.tsx +118 -0
- package/src/components/Tag/TagButton.tsx +67 -0
- package/src/components/Tag/index.ts +5 -0
- package/src/components/Tag/styles/config.scss +132 -0
- package/src/components/Tag/styles/mixins.scss +54 -0
- package/src/components/Tag/styles/style.scss +69 -0
- package/src/components/Tag/tests/Tag.conformance.test.js +44 -0
- package/src/components/Tag/tests/Tag.unit.test.js +93 -0
- package/src/components/Tag/tests/TagButton.conformance.test.js +24 -0
- package/src/components/Tag/tests/TagButton.unit.test.js +96 -0
- package/src/components/Testimonial/Testimonial.mdx +41 -0
- package/src/components/Testimonial/Testimonial.tsx +38 -0
- package/src/components/Testimonial/index.ts +3 -0
- package/src/components/Testimonial/styles/config.scss +39 -0
- package/src/components/Testimonial/styles/mixins.scss +40 -0
- package/src/components/Testimonial/styles/style.scss +16 -0
- package/src/components/Testimonial/tests/Testimonial.conformance.test.js +17 -0
- package/src/components/Testimonial/tests/Testimonial.unit.test.js +44 -0
- package/src/components/Tile/CHANGELOG.md +14 -0
- package/src/components/Tile/Tile.mdx +163 -0
- package/src/components/Tile/Tile.tsx +86 -0
- package/src/components/Tile/index.ts +3 -0
- package/src/components/Tile/styles/config.scss +17 -0
- package/src/components/Tile/styles/mixins.scss +78 -0
- package/src/components/Tile/styles/style.scss +55 -0
- package/src/components/Tile/tests/Tile.conformance.test.js +16 -0
- package/src/components/Tile/tests/Tile.unit.test.js +126 -0
- package/src/components/Tooltip/InfoTooltip.tsx +40 -0
- package/src/components/Tooltip/TODO.md +1 -0
- package/src/components/Tooltip/Tooltip.mdx +227 -0
- package/src/components/Tooltip/Tooltip.static.ts +213 -0
- package/src/components/Tooltip/Tooltip.tsx +107 -0
- package/src/components/Tooltip/index.ts +4 -0
- package/src/components/Tooltip/styles/config.scss +59 -0
- package/src/components/Tooltip/styles/mixins.scss +94 -0
- package/src/components/Tooltip/styles/style.scss +30 -0
- package/src/components/Tooltip/tests/BaseWrapper.tsx +10 -0
- package/src/components/Tooltip/tests/InfoTooltip.unit.test.js +98 -0
- package/src/components/Tooltip/tests/Tooltip.conformance.test.js +44 -0
- package/src/components/Tooltip/tests/Tooltip.unit.test.js +326 -0
- package/src/components/index.ts +147 -3
- package/src/components/static.ts +1 -1
- package/src/styles/base/globals-forms.scss +15 -13
- package/src/styles/base/globals.scss +132 -103
- package/src/styles/before-components.scss +18 -4
- package/src/styles/export/base.scss +1 -1
- package/src/styles/export/color.scss +22 -22
- package/src/styles/shame.scss +10 -8
- package/src/styles/tokens/base.scss +4 -4
- package/src/styles/tokens/color.scss +11 -11
- package/src/styles/typography/mixins.scss +1 -1
- package/src/styles/typography/style.scss +43 -41
- package/src/styles/utilities/border.scss +16 -15
- package/src/styles/utilities/color.scss +115 -95
- package/src/styles/utilities/horizontal-scroll.scss +40 -36
- package/src/styles/utilities/layout.scss +159 -157
- package/src/styles/utilities/text.scss +98 -84
- package/src/styles/utilities/visibility.scss +66 -62
- package/build/404.html +0 -1
- package/build/_next/static/CRhIjUFtohDOfdDfzvfXM/_buildManifest.js +0 -1
- package/build/_next/static/CRhIjUFtohDOfdDfzvfXM/_ssgManifest.js +0 -1
- package/build/_next/static/chunks/4bd1b696-40a218329c8ae32b.js +0 -1
- package/build/_next/static/chunks/684-c72f8f73e7f2d568.js +0 -1
- package/build/_next/static/chunks/925.75d0c8afa7ab7cfa.js +0 -1
- package/build/_next/static/chunks/998-a45c3cf6f575e126.js +0 -1
- package/build/_next/static/chunks/app/_not-found/page-c799b4c91b89a5c2.js +0 -1
- package/build/_next/static/chunks/app/components/alert/page-d591b03a7394f81e.js +0 -1
- package/build/_next/static/chunks/app/components/badge/page-bbcffd5558aeab06.js +0 -1
- package/build/_next/static/chunks/app/components/button/page-b922a8f5114b0a69.js +0 -1
- package/build/_next/static/chunks/app/components/buttons/page-0a5bf7e5ac7991fb.js +0 -1
- package/build/_next/static/chunks/app/components/icon/page-dac6ba29b85d924d.js +0 -1
- package/build/_next/static/chunks/app/components/modal/page-4a249b6d271eea91.js +0 -1
- package/build/_next/static/chunks/app/components/tabs/page-7d82e8eafd25b86e.js +0 -1
- package/build/_next/static/chunks/app/layout-f74d44a2772d8d63.js +0 -1
- package/build/_next/static/chunks/app/page-9efa16a51ef59461.js +0 -1
- package/build/_next/static/chunks/framework-f593a28cde54158e.js +0 -1
- package/build/_next/static/chunks/main-43608b6b4bb05f8f.js +0 -1
- package/build/_next/static/chunks/main-app-ce2a2222e012907f.js +0 -1
- package/build/_next/static/chunks/pages/_app-da15c11dea942c36.js +0 -1
- package/build/_next/static/chunks/pages/_error-cc3f077a18ea1793.js +0 -1
- package/build/_next/static/chunks/polyfills-42372ed130431b0a.js +0 -1
- package/build/_next/static/chunks/webpack-623f6e616651e1c0.js +0 -1
- package/build/_next/static/css/14f3a3e0186fb7a8.css +0 -3
- package/build/_next/static/css/168dd2b7e791cf72.css +0 -1
- package/build/_next/static/css/28a41a1d7dcdbfd9.css +0 -1
- package/build/_next/static/css/291602d64f1f3570.css +0 -1
- package/build/_next/static/css/4c4366b3963177f0.css +0 -1
- package/build/_next/static/css/5481aeac9adca710.css +0 -1
- package/build/_next/static/css/73b136688c14b891.css +0 -1
- package/build/_next/static/css/91c8cf755bf9ff19.css +0 -1
- package/build/_next/static/css/c1b0424033f305ff.css +0 -1
- package/build/_next/static/css/eea9fd9ccdd56c76.css +0 -1
- package/build/_next/static/media/671791babd225be4-s.p.woff2 +0 -0
- package/build/_next/static/media/c62d990acddde5f0-s.p.woff2 +0 -0
- package/build/_next/static/media/dfdbb1c4973e0bd7-s.p.woff2 +0 -0
- package/build/components/Badge/index.js +0 -619
- package/build/components/Badge/index.js.map +0 -1
- package/build/components/Badge/style.css +0 -2
- package/build/components/Badge/style.css.map +0 -1
- package/build/components/alert.html +0 -2
- package/build/components/alert.txt +0 -30
- package/build/components/badge.html +0 -4
- package/build/components/badge.txt +0 -24
- package/build/components/button.html +0 -2
- package/build/components/button.txt +0 -27
- package/build/components/buttons.html +0 -1
- package/build/components/buttons.txt +0 -27
- package/build/components/icon.html +0 -1
- package/build/components/icon.txt +0 -23
- package/build/components/modal.html +0 -1
- package/build/components/modal.txt +0 -29
- package/build/components/tabs.html +0 -1
- package/build/components/tabs.txt +0 -27
- package/build/components/types/components/Badge/Badge.d.ts +0 -12
- package/build/components/types/components/Badge/index.d.ts +0 -2
- package/build/components/types/components/Container/Container.d.ts +0 -6
- package/build/components/types/components/Container/index.d.ts +0 -3
- package/build/components/types/components/index.d.ts +0 -11
- package/build/components/types/utils/ConditionalWrapper.d.ts +0 -13
- package/build/index.html +0 -11
- package/build/index.txt +0 -23
- package/src/components/Badge/Badge.mdx +0 -52
- package/src/components/Badge/Badge.tsx +0 -47
- package/src/components/Badge/index.ts +0 -3
- package/src/components/Badge/styles/config.scss +0 -88
- package/src/components/Badge/styles/mixins.scss +0 -26
- package/src/components/Badge/styles/style.scss +0 -21
- package/src/components/Badge/tests/Badge.unit.test.js +0 -50
- package/src/components/Grid/tests/Grid.unit.test.tsx +0 -533
- package/src/components/Grid/tests/GridCol.unit.test.tsx +0 -199
- package/src/components/Link/styles/config.scss +0 -85
- package/src/components/Link/tests/Link.integration.test.js +0 -393
- /package/build/components/types/{components → src/components}/Alert/data.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Alert/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Button/IconButton.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Button/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Buttons/Buttons.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Buttons/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Icon/SpritePathContext.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Icon/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Modal/Modal.static.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Modal/ModalBody.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Modal/ModalCloseButton.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Modal/ModalTitle.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Modal/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Section/Section.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Section/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Tabs/Tab.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Tabs/TabPanel.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Tabs/Tabs.static.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Tabs/index.d.ts +0 -0
- /package/build/components/types/{utils → src/utils}/constants.d.ts +0 -0
- /package/build/components/types/{utils → src/utils}/generateId.d.ts +0 -0
- /package/build/components/types/{utils → src/utils}/keyboard.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../node_modules/classnames/index.js","../../../node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/react/jsx-runtime.js","../../../node_modules/react/cjs/react-jsx-runtime.production.js","../../../src/components/Icon/SpritePathContext.tsx","../../../src/components/Icon/Icon.tsx","../../../src/components/Carousel/constants.ts","../../../src/components/Carousel/CarouselItem.tsx","../../../node_modules/swiper/shared/ssr-window.esm.mjs","../../../node_modules/swiper/shared/utils.mjs","../../../node_modules/swiper/shared/swiper-core.mjs","../../../node_modules/swiper/modules/keyboard.mjs","../../../node_modules/swiper/shared/create-element-if-not-defined.mjs","../../../node_modules/swiper/modules/navigation.mjs","../../../node_modules/swiper/shared/classes-to-selector.mjs","../../../node_modules/swiper/modules/pagination.mjs","../../../node_modules/swiper/modules/scrollbar.mjs","../../../node_modules/swiper/modules/a11y.mjs","../../../node_modules/@popperjs/core/lib/enums.js","../../../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../../../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../../../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../../../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../../../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../../../node_modules/@popperjs/core/lib/utils/math.js","../../../node_modules/@popperjs/core/lib/utils/userAgent.js","../../../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../../../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../../../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../../../node_modules/@popperjs/core/lib/dom-utils/contains.js","../../../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../../../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../../../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../../../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../../../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../../../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../../../node_modules/@popperjs/core/lib/utils/within.js","../../../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../../../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../../../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../../../node_modules/@popperjs/core/lib/modifiers/arrow.js","../../../node_modules/@popperjs/core/lib/utils/getVariation.js","../../../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../../../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../../../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../../../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../../../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../../../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../../../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../../../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../../../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../../../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../../../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../../../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../../../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../../../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../../../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../../../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../../../node_modules/@popperjs/core/lib/modifiers/flip.js","../../../node_modules/@popperjs/core/lib/modifiers/hide.js","../../../node_modules/@popperjs/core/lib/modifiers/offset.js","../../../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../../../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../../../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../../../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../../../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../../../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../../../node_modules/@popperjs/core/lib/createPopper.js","../../../node_modules/@popperjs/core/lib/utils/debounce.js","../../../node_modules/@popperjs/core/lib/utils/mergeByName.js","../../../node_modules/@popperjs/core/lib/popper.js","../../../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../../../node_modules/@cloudfour/transition-hidden-element/src/index.js","../../../src/utils/constants.js","../../../node_modules/wnumb/wNumb.js","../../../src/components/Tooltip/Tooltip.static.ts","../../../src/components/Carousel/Carousel.static.ts","../../../src/components/Carousel/Carousel.tsx","../../../src/utils/hooks.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","/*!\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","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(\n type,\n key,\n self,\n source,\n owner,\n props,\n debugStack,\n debugTask\n ) {\n self = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== self ? self : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n source,\n self,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n self,\n source,\n getOwner(),\n maybeKey,\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_ELEMENT_TYPE &&\n node._store &&\n (node._store.validated = 1);\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !1,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.jsxs = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !0,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","\"use client\";\n\nimport React, { ReactNode } from \"react\";\n\nexport const SpritePathContext = React.createContext(\"/sprite.svg\");\n\ninterface SpritePathProviderProps {\n children: ReactNode;\n value?: string;\n}\n\nexport const SpritePathProvider: React.FC<SpritePathProviderProps> = ({\n children,\n value = \"/sprite.svg\",\n ...other\n}) => {\n return (\n <SpritePathContext.Provider value={value} {...other}>\n {React.Children.only(children)}\n </SpritePathContext.Provider>\n );\n};\n","\"use client\";\n\nimport React, { useContext } from \"react\";\nimport cx from \"classnames\";\nimport { SpritePathContext } from \"./SpritePathContext\";\n\nexport type IconColor = \"info\" | \"success\" | \"warning\" | \"danger\" | \"orange\";\nexport type IconSize =\n | \"small\"\n | \"medium\"\n | \"large\"\n | \"xlarge\"\n | \"xxlarge\"\n | \"huge\";\n\nexport interface IconProps extends React.SVGAttributes<SVGSVGElement> {\n /** Accessible label for the icon. */\n alt?: string;\n /** Icon color. */\n color?: IconColor;\n /** Icon name (required). */\n name: string;\n /** Icon size. */\n size?: IconSize;\n /** Path to the SVG sprite. */\n spritePath?: string;\n className?: string;\n}\n\nconst CLASS_ROOT = \"icon\";\n\nconst Icon: React.FC<IconProps> = ({\n className,\n alt,\n color,\n name,\n size,\n spritePath = \"/sprite.svg\",\n ...other\n}) => {\n const contextPath = useContext(SpritePathContext);\n\n const classes = cx(\n CLASS_ROOT,\n {\n [`${CLASS_ROOT}--${size}`]: size,\n [`${CLASS_ROOT}--${color}`]: color,\n },\n className,\n );\n\n return (\n <svg\n className={classes}\n aria-hidden={alt !== undefined ? undefined : \"true\"}\n role={alt !== undefined ? \"img\" : undefined}\n {...other}\n >\n {alt !== undefined && alt.length > 0 && <title>{alt}</title>}\n <use\n xlinkHref={\n spritePath !== \"/sprite.svg\" || typeof contextPath === \"undefined\"\n ? `${spritePath}#${name}`\n : `${contextPath}#${name}`\n }\n />\n </svg>\n );\n};\n\nIcon.displayName = \"Icon\";\n\nexport { Icon };\n","export const CLASS_ROOT = \"carousel\";\n\nexport const CLASS_VIEWPORT_WRAPPER = `${CLASS_ROOT}__viewport-wrapper`;\nexport const CLASS_VIEWPORT = `${CLASS_ROOT}__viewport`;\nexport const CLASS_TRACK = `${CLASS_ROOT}__track`;\nexport const CLASS_SLIDE = `${CLASS_ROOT}__slide`;\nexport const CLASS_SLIDE_NEXT = `${CLASS_ROOT}__slide-next`;\nexport const CLASS_SLIDE_PREV = `${CLASS_ROOT}__slide-prev`;\nexport const CLASS_PREV = `${CLASS_ROOT}__prev`;\nexport const CLASS_NEXT = `${CLASS_ROOT}__next`;\nexport const CLASS_DOTS = `${CLASS_ROOT}__pagination`;\nexport const CLASS_DOT = `${CLASS_ROOT}__pagination-item`;\nexport const CLASS_SCROLLBAR = `${CLASS_ROOT}__scrollbar`;\nexport const CLASS_SCROLLBAR_HORIZONTAL = `${CLASS_ROOT}__scrollbar-horizontal`;\nexport const CLASS_SCROLLBAR_DRAG = `${CLASS_ROOT}__scrollbar-drag`;\nexport const CLASS_ACTIVE = \"is-active\";\n\nexport const SELECTOR_VIEWPORT = `.${CLASS_VIEWPORT}`;\nexport const SELECTOR_TRACK = `.${CLASS_TRACK}`;\nexport const SELECTOR_PREV = `.${CLASS_PREV}`;\nexport const SELECTOR_NEXT = `.${CLASS_NEXT}`;\nexport const SELECTOR_DOTS = `.${CLASS_DOTS}`;\nexport const SELECTOR_SCROLLBAR = `.${CLASS_SCROLLBAR}`;\nexport const SELECTOR_ACTIVE = `.${CLASS_ACTIVE}`;\n","import React, { ReactNode, HTMLAttributes } from \"react\";\nimport cx from \"classnames\";\n\nimport { CLASS_SLIDE } from \"./constants\";\n\nconst CLASS_ROOT = CLASS_SLIDE;\n\ninterface CarouselItemProps extends HTMLAttributes<HTMLDivElement> {\n className?: string;\n children?: ReactNode;\n}\n\nconst CarouselItem: React.FC<CarouselItemProps> = ({\n className,\n children,\n ...other\n}) => {\n const classes = cx(CLASS_ROOT, className);\n\n return (\n <div className={classes} {...other}>\n {children}\n </div>\n );\n};\n\nCarouselItem.displayName = \"CarouselItem\";\n\nexport { CarouselItem };\n","/**\n * SSR Window 5.0.1\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2025, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: June 27, 2025\n */\n/* eslint-disable no-param-reassign */\nfunction isObject(obj) {\n return obj !== null && typeof obj === 'object' && 'constructor' in obj && obj.constructor === Object;\n}\nfunction extend(target, src) {\n if (target === void 0) {\n target = {};\n }\n if (src === void 0) {\n src = {};\n }\n const noExtend = ['__proto__', 'constructor', 'prototype'];\n Object.keys(src).filter(key => noExtend.indexOf(key) < 0).forEach(key => {\n if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) {\n extend(target[key], src[key]);\n }\n });\n}\nconst ssrDocument = {\n body: {},\n addEventListener() {},\n removeEventListener() {},\n activeElement: {\n blur() {},\n nodeName: ''\n },\n querySelector() {\n return null;\n },\n querySelectorAll() {\n return [];\n },\n getElementById() {\n return null;\n },\n createEvent() {\n return {\n initEvent() {}\n };\n },\n createElement() {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute() {},\n getElementsByTagName() {\n return [];\n }\n };\n },\n createElementNS() {\n return {};\n },\n importNode() {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: ''\n }\n};\nfunction getDocument() {\n const doc = typeof document !== 'undefined' ? document : {};\n extend(doc, ssrDocument);\n return doc;\n}\nconst ssrWindow = {\n document: ssrDocument,\n navigator: {\n userAgent: ''\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: ''\n },\n history: {\n replaceState() {},\n pushState() {},\n go() {},\n back() {}\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener() {},\n removeEventListener() {},\n getComputedStyle() {\n return {\n getPropertyValue() {\n return '';\n }\n };\n },\n Image() {},\n Date() {},\n screen: {},\n setTimeout() {},\n clearTimeout() {},\n matchMedia() {\n return {};\n },\n requestAnimationFrame(callback) {\n if (typeof setTimeout === 'undefined') {\n callback();\n return null;\n }\n return setTimeout(callback, 0);\n },\n cancelAnimationFrame(id) {\n if (typeof setTimeout === 'undefined') {\n return;\n }\n clearTimeout(id);\n }\n};\nfunction getWindow() {\n const win = typeof window !== 'undefined' ? window : {};\n extend(win, ssrWindow);\n return win;\n}\n\nexport { getWindow as a, getDocument as g };\n","import { a as getWindow, g as getDocument } from './ssr-window.esm.mjs';\n\nfunction classesToTokens(classes) {\n if (classes === void 0) {\n classes = '';\n }\n return classes.trim().split(' ').filter(c => !!c.trim());\n}\n\nfunction deleteProps(obj) {\n const object = obj;\n Object.keys(object).forEach(key => {\n try {\n object[key] = null;\n } catch (e) {\n // no getter for object\n }\n try {\n delete object[key];\n } catch (e) {\n // something got wrong\n }\n });\n}\nfunction nextTick(callback, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return setTimeout(callback, delay);\n}\nfunction now() {\n return Date.now();\n}\nfunction getComputedStyle(el) {\n const window = getWindow();\n let style;\n if (window.getComputedStyle) {\n style = window.getComputedStyle(el, null);\n }\n if (!style && el.currentStyle) {\n style = el.currentStyle;\n }\n if (!style) {\n style = el.style;\n }\n return style;\n}\nfunction getTranslate(el, axis) {\n if (axis === void 0) {\n axis = 'x';\n }\n const window = getWindow();\n let matrix;\n let curTransform;\n let transformMatrix;\n const curStyle = getComputedStyle(el);\n if (window.WebKitCSSMatrix) {\n curTransform = curStyle.transform || curStyle.webkitTransform;\n if (curTransform.split(',').length > 6) {\n curTransform = curTransform.split(', ').map(a => a.replace(',', '.')).join(', ');\n }\n // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n } else {\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n if (axis === 'x') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41;\n // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[12]);\n // Normal Browsers\n else curTransform = parseFloat(matrix[4]);\n }\n if (axis === 'y') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42;\n // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[13]);\n // Normal Browsers\n else curTransform = parseFloat(matrix[5]);\n }\n return curTransform || 0;\n}\nfunction isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';\n}\nfunction isNode(node) {\n // eslint-disable-next-line\n if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') {\n return node instanceof HTMLElement;\n }\n return node && (node.nodeType === 1 || node.nodeType === 11);\n}\nfunction extend() {\n const to = Object(arguments.length <= 0 ? undefined : arguments[0]);\n const noExtend = ['__proto__', 'constructor', 'prototype'];\n for (let i = 1; i < arguments.length; i += 1) {\n const nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i];\n if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) {\n const keysArray = Object.keys(Object(nextSource)).filter(key => noExtend.indexOf(key) < 0);\n for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n const nextKey = keysArray[nextIndex];\n const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n if (desc !== undefined && desc.enumerable) {\n if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n to[nextKey] = {};\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n }\n return to;\n}\nfunction setCSSProperty(el, varName, varValue) {\n el.style.setProperty(varName, varValue);\n}\nfunction animateCSSModeScroll(_ref) {\n let {\n swiper,\n targetPosition,\n side\n } = _ref;\n const window = getWindow();\n const startPosition = -swiper.translate;\n let startTime = null;\n let time;\n const duration = swiper.params.speed;\n swiper.wrapperEl.style.scrollSnapType = 'none';\n window.cancelAnimationFrame(swiper.cssModeFrameID);\n const dir = targetPosition > startPosition ? 'next' : 'prev';\n const isOutOfBound = (current, target) => {\n return dir === 'next' && current >= target || dir === 'prev' && current <= target;\n };\n const animate = () => {\n time = new Date().getTime();\n if (startTime === null) {\n startTime = time;\n }\n const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n const easeProgress = 0.5 - Math.cos(progress * Math.PI) / 2;\n let currentPosition = startPosition + easeProgress * (targetPosition - startPosition);\n if (isOutOfBound(currentPosition, targetPosition)) {\n currentPosition = targetPosition;\n }\n swiper.wrapperEl.scrollTo({\n [side]: currentPosition\n });\n if (isOutOfBound(currentPosition, targetPosition)) {\n swiper.wrapperEl.style.overflow = 'hidden';\n swiper.wrapperEl.style.scrollSnapType = '';\n setTimeout(() => {\n swiper.wrapperEl.style.overflow = '';\n swiper.wrapperEl.scrollTo({\n [side]: currentPosition\n });\n });\n window.cancelAnimationFrame(swiper.cssModeFrameID);\n return;\n }\n swiper.cssModeFrameID = window.requestAnimationFrame(animate);\n };\n animate();\n}\nfunction getSlideTransformEl(slideEl) {\n return slideEl.querySelector('.swiper-slide-transform') || slideEl.shadowRoot && slideEl.shadowRoot.querySelector('.swiper-slide-transform') || slideEl;\n}\nfunction elementChildren(element, selector) {\n if (selector === void 0) {\n selector = '';\n }\n const window = getWindow();\n const children = [...element.children];\n if (window.HTMLSlotElement && element instanceof HTMLSlotElement) {\n children.push(...element.assignedElements());\n }\n if (!selector) {\n return children;\n }\n return children.filter(el => el.matches(selector));\n}\nfunction elementIsChildOfSlot(el, slot) {\n // Breadth-first search through all parent's children and assigned elements\n const elementsQueue = [slot];\n while (elementsQueue.length > 0) {\n const elementToCheck = elementsQueue.shift();\n if (el === elementToCheck) {\n return true;\n }\n elementsQueue.push(...elementToCheck.children, ...(elementToCheck.shadowRoot ? elementToCheck.shadowRoot.children : []), ...(elementToCheck.assignedElements ? elementToCheck.assignedElements() : []));\n }\n}\nfunction elementIsChildOf(el, parent) {\n const window = getWindow();\n let isChild = parent.contains(el);\n if (!isChild && window.HTMLSlotElement && parent instanceof HTMLSlotElement) {\n const children = [...parent.assignedElements()];\n isChild = children.includes(el);\n if (!isChild) {\n isChild = elementIsChildOfSlot(el, parent);\n }\n }\n return isChild;\n}\nfunction showWarning(text) {\n try {\n console.warn(text);\n return;\n } catch (err) {\n // err\n }\n}\nfunction createElement(tag, classes) {\n if (classes === void 0) {\n classes = [];\n }\n const el = document.createElement(tag);\n el.classList.add(...(Array.isArray(classes) ? classes : classesToTokens(classes)));\n return el;\n}\nfunction elementOffset(el) {\n const window = getWindow();\n const document = getDocument();\n const box = el.getBoundingClientRect();\n const body = document.body;\n const clientTop = el.clientTop || body.clientTop || 0;\n const clientLeft = el.clientLeft || body.clientLeft || 0;\n const scrollTop = el === window ? window.scrollY : el.scrollTop;\n const scrollLeft = el === window ? window.scrollX : el.scrollLeft;\n return {\n top: box.top + scrollTop - clientTop,\n left: box.left + scrollLeft - clientLeft\n };\n}\nfunction elementPrevAll(el, selector) {\n const prevEls = [];\n while (el.previousElementSibling) {\n const prev = el.previousElementSibling; // eslint-disable-line\n if (selector) {\n if (prev.matches(selector)) prevEls.push(prev);\n } else prevEls.push(prev);\n el = prev;\n }\n return prevEls;\n}\nfunction elementNextAll(el, selector) {\n const nextEls = [];\n while (el.nextElementSibling) {\n const next = el.nextElementSibling; // eslint-disable-line\n if (selector) {\n if (next.matches(selector)) nextEls.push(next);\n } else nextEls.push(next);\n el = next;\n }\n return nextEls;\n}\nfunction elementStyle(el, prop) {\n const window = getWindow();\n return window.getComputedStyle(el, null).getPropertyValue(prop);\n}\nfunction elementIndex(el) {\n let child = el;\n let i;\n if (child) {\n i = 0;\n // eslint-disable-next-line\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i += 1;\n }\n return i;\n }\n return undefined;\n}\nfunction elementParents(el, selector) {\n const parents = []; // eslint-disable-line\n let parent = el.parentElement; // eslint-disable-line\n while (parent) {\n if (selector) {\n if (parent.matches(selector)) parents.push(parent);\n } else {\n parents.push(parent);\n }\n parent = parent.parentElement;\n }\n return parents;\n}\nfunction elementTransitionEnd(el, callback) {\n function fireCallBack(e) {\n if (e.target !== el) return;\n callback.call(el, e);\n el.removeEventListener('transitionend', fireCallBack);\n }\n if (callback) {\n el.addEventListener('transitionend', fireCallBack);\n }\n}\nfunction elementOuterSize(el, size, includeMargins) {\n const window = getWindow();\n if (includeMargins) {\n return el[size === 'width' ? 'offsetWidth' : 'offsetHeight'] + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-right' : 'margin-top')) + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-left' : 'margin-bottom'));\n }\n return el.offsetWidth;\n}\nfunction makeElementsArray(el) {\n return (Array.isArray(el) ? el : [el]).filter(e => !!e);\n}\nfunction getRotateFix(swiper) {\n return v => {\n if (Math.abs(v) > 0 && swiper.browser && swiper.browser.need3dFix && Math.abs(v) % 90 === 0) {\n return v + 0.001;\n }\n return v;\n };\n}\nfunction setInnerHTML(el, html) {\n if (html === void 0) {\n html = '';\n }\n if (typeof trustedTypes !== 'undefined') {\n el.innerHTML = trustedTypes.createPolicy('html', {\n createHTML: s => s\n }).createHTML(html);\n } else {\n el.innerHTML = html;\n }\n}\n\nexport { setCSSProperty as a, elementParents as b, createElement as c, elementOffset as d, elementChildren as e, now as f, getSlideTransformEl as g, elementOuterSize as h, elementIndex as i, classesToTokens as j, getTranslate as k, elementTransitionEnd as l, makeElementsArray as m, nextTick as n, isObject as o, getRotateFix as p, elementStyle as q, elementNextAll as r, setInnerHTML as s, elementPrevAll as t, animateCSSModeScroll as u, showWarning as v, elementIsChildOf as w, extend as x, deleteProps as y };\n","import { a as getWindow, g as getDocument } from './ssr-window.esm.mjs';\nimport { b as elementParents, q as elementStyle, e as elementChildren, a as setCSSProperty, h as elementOuterSize, r as elementNextAll, t as elementPrevAll, k as getTranslate, u as animateCSSModeScroll, n as nextTick, v as showWarning, c as createElement, w as elementIsChildOf, f as now, x as extend, i as elementIndex, y as deleteProps } from './utils.mjs';\n\nlet support;\nfunction calcSupport() {\n const window = getWindow();\n const document = getDocument();\n return {\n smoothScroll: document.documentElement && document.documentElement.style && 'scrollBehavior' in document.documentElement.style,\n touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch)\n };\n}\nfunction getSupport() {\n if (!support) {\n support = calcSupport();\n }\n return support;\n}\n\nlet deviceCached;\nfunction calcDevice(_temp) {\n let {\n userAgent\n } = _temp === void 0 ? {} : _temp;\n const support = getSupport();\n const window = getWindow();\n const platform = window.navigator.platform;\n const ua = userAgent || window.navigator.userAgent;\n const device = {\n ios: false,\n android: false\n };\n const screenWidth = window.screen.width;\n const screenHeight = window.screen.height;\n const android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\n let ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n const ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n const iphone = !ipad && ua.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\n const windows = platform === 'Win32';\n let macos = platform === 'MacIntel';\n\n // iPadOs 13 fix\n const iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810'];\n if (!ipad && macos && support.touch && iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0) {\n ipad = ua.match(/(Version)\\/([\\d.]+)/);\n if (!ipad) ipad = [0, 1, '13_0_0'];\n macos = false;\n }\n\n // Android\n if (android && !windows) {\n device.os = 'android';\n device.android = true;\n }\n if (ipad || iphone || ipod) {\n device.os = 'ios';\n device.ios = true;\n }\n\n // Export object\n return device;\n}\nfunction getDevice(overrides) {\n if (overrides === void 0) {\n overrides = {};\n }\n if (!deviceCached) {\n deviceCached = calcDevice(overrides);\n }\n return deviceCached;\n}\n\nlet browser;\nfunction calcBrowser() {\n const window = getWindow();\n const device = getDevice();\n let needPerspectiveFix = false;\n function isSafari() {\n const ua = window.navigator.userAgent.toLowerCase();\n return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;\n }\n if (isSafari()) {\n const ua = String(window.navigator.userAgent);\n if (ua.includes('Version/')) {\n const [major, minor] = ua.split('Version/')[1].split(' ')[0].split('.').map(num => Number(num));\n needPerspectiveFix = major < 16 || major === 16 && minor < 2;\n }\n }\n const isWebView = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent);\n const isSafariBrowser = isSafari();\n const need3dFix = isSafariBrowser || isWebView && device.ios;\n return {\n isSafari: needPerspectiveFix || isSafariBrowser,\n needPerspectiveFix,\n need3dFix,\n isWebView\n };\n}\nfunction getBrowser() {\n if (!browser) {\n browser = calcBrowser();\n }\n return browser;\n}\n\nfunction Resize(_ref) {\n let {\n swiper,\n on,\n emit\n } = _ref;\n const window = getWindow();\n let observer = null;\n let animationFrame = null;\n const resizeHandler = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n emit('beforeResize');\n emit('resize');\n };\n const createObserver = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n observer = new ResizeObserver(entries => {\n animationFrame = window.requestAnimationFrame(() => {\n const {\n width,\n height\n } = swiper;\n let newWidth = width;\n let newHeight = height;\n entries.forEach(_ref2 => {\n let {\n contentBoxSize,\n contentRect,\n target\n } = _ref2;\n if (target && target !== swiper.el) return;\n newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize;\n newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize;\n });\n if (newWidth !== width || newHeight !== height) {\n resizeHandler();\n }\n });\n });\n observer.observe(swiper.el);\n };\n const removeObserver = () => {\n if (animationFrame) {\n window.cancelAnimationFrame(animationFrame);\n }\n if (observer && observer.unobserve && swiper.el) {\n observer.unobserve(swiper.el);\n observer = null;\n }\n };\n const orientationChangeHandler = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n emit('orientationchange');\n };\n on('init', () => {\n if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') {\n createObserver();\n return;\n }\n window.addEventListener('resize', resizeHandler);\n window.addEventListener('orientationchange', orientationChangeHandler);\n });\n on('destroy', () => {\n removeObserver();\n window.removeEventListener('resize', resizeHandler);\n window.removeEventListener('orientationchange', orientationChangeHandler);\n });\n}\n\nfunction Observer(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n const observers = [];\n const window = getWindow();\n const attach = function (target, options) {\n if (options === void 0) {\n options = {};\n }\n const ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;\n const observer = new ObserverFunc(mutations => {\n // The observerUpdate event should only be triggered\n // once despite the number of mutations. Additional\n // triggers are redundant and are very costly\n if (swiper.__preventObserver__) return;\n if (mutations.length === 1) {\n emit('observerUpdate', mutations[0]);\n return;\n }\n const observerUpdate = function observerUpdate() {\n emit('observerUpdate', mutations[0]);\n };\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(observerUpdate);\n } else {\n window.setTimeout(observerUpdate, 0);\n }\n });\n observer.observe(target, {\n attributes: typeof options.attributes === 'undefined' ? true : options.attributes,\n childList: swiper.isElement || (typeof options.childList === 'undefined' ? true : options).childList,\n characterData: typeof options.characterData === 'undefined' ? true : options.characterData\n });\n observers.push(observer);\n };\n const init = () => {\n if (!swiper.params.observer) return;\n if (swiper.params.observeParents) {\n const containerParents = elementParents(swiper.hostEl);\n for (let i = 0; i < containerParents.length; i += 1) {\n attach(containerParents[i]);\n }\n }\n // Observe container\n attach(swiper.hostEl, {\n childList: swiper.params.observeSlideChildren\n });\n\n // Observe wrapper\n attach(swiper.wrapperEl, {\n attributes: false\n });\n };\n const destroy = () => {\n observers.forEach(observer => {\n observer.disconnect();\n });\n observers.splice(0, observers.length);\n };\n extendParams({\n observer: false,\n observeParents: false,\n observeSlideChildren: false\n });\n on('init', init);\n on('destroy', destroy);\n}\n\n/* eslint-disable no-underscore-dangle */\n\nvar eventsEmitter = {\n on(events, handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n const method = priority ? 'unshift' : 'push';\n events.split(' ').forEach(event => {\n if (!self.eventsListeners[event]) self.eventsListeners[event] = [];\n self.eventsListeners[event][method](handler);\n });\n return self;\n },\n once(events, handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n function onceHandler() {\n self.off(events, onceHandler);\n if (onceHandler.__emitterProxy) {\n delete onceHandler.__emitterProxy;\n }\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n handler.apply(self, args);\n }\n onceHandler.__emitterProxy = handler;\n return self.on(events, onceHandler, priority);\n },\n onAny(handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n const method = priority ? 'unshift' : 'push';\n if (self.eventsAnyListeners.indexOf(handler) < 0) {\n self.eventsAnyListeners[method](handler);\n }\n return self;\n },\n offAny(handler) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsAnyListeners) return self;\n const index = self.eventsAnyListeners.indexOf(handler);\n if (index >= 0) {\n self.eventsAnyListeners.splice(index, 1);\n }\n return self;\n },\n off(events, handler) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsListeners) return self;\n events.split(' ').forEach(event => {\n if (typeof handler === 'undefined') {\n self.eventsListeners[event] = [];\n } else if (self.eventsListeners[event]) {\n self.eventsListeners[event].forEach((eventHandler, index) => {\n if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) {\n self.eventsListeners[event].splice(index, 1);\n }\n });\n }\n });\n return self;\n },\n emit() {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsListeners) return self;\n let events;\n let data;\n let context;\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n if (typeof args[0] === 'string' || Array.isArray(args[0])) {\n events = args[0];\n data = args.slice(1, args.length);\n context = self;\n } else {\n events = args[0].events;\n data = args[0].data;\n context = args[0].context || self;\n }\n data.unshift(context);\n const eventsArray = Array.isArray(events) ? events : events.split(' ');\n eventsArray.forEach(event => {\n if (self.eventsAnyListeners && self.eventsAnyListeners.length) {\n self.eventsAnyListeners.forEach(eventHandler => {\n eventHandler.apply(context, [event, ...data]);\n });\n }\n if (self.eventsListeners && self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(eventHandler => {\n eventHandler.apply(context, data);\n });\n }\n });\n return self;\n }\n};\n\nfunction updateSize() {\n const swiper = this;\n let width;\n let height;\n const el = swiper.el;\n if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {\n width = swiper.params.width;\n } else {\n width = el.clientWidth;\n }\n if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) {\n height = swiper.params.height;\n } else {\n height = el.clientHeight;\n }\n if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {\n return;\n }\n\n // Subtract paddings\n width = width - parseInt(elementStyle(el, 'padding-left') || 0, 10) - parseInt(elementStyle(el, 'padding-right') || 0, 10);\n height = height - parseInt(elementStyle(el, 'padding-top') || 0, 10) - parseInt(elementStyle(el, 'padding-bottom') || 0, 10);\n if (Number.isNaN(width)) width = 0;\n if (Number.isNaN(height)) height = 0;\n Object.assign(swiper, {\n width,\n height,\n size: swiper.isHorizontal() ? width : height\n });\n}\n\nfunction updateSlides() {\n const swiper = this;\n function getDirectionPropertyValue(node, label) {\n return parseFloat(node.getPropertyValue(swiper.getDirectionLabel(label)) || 0);\n }\n const params = swiper.params;\n const {\n wrapperEl,\n slidesEl,\n size: swiperSize,\n rtlTranslate: rtl,\n wrongRTL\n } = swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n const previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\n const slides = elementChildren(slidesEl, `.${swiper.params.slideClass}, swiper-slide`);\n const slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\n let snapGrid = [];\n const slidesGrid = [];\n const slidesSizesGrid = [];\n let offsetBefore = params.slidesOffsetBefore;\n if (typeof offsetBefore === 'function') {\n offsetBefore = params.slidesOffsetBefore.call(swiper);\n }\n let offsetAfter = params.slidesOffsetAfter;\n if (typeof offsetAfter === 'function') {\n offsetAfter = params.slidesOffsetAfter.call(swiper);\n }\n const previousSnapGridLength = swiper.snapGrid.length;\n const previousSlidesGridLength = swiper.slidesGrid.length;\n let spaceBetween = params.spaceBetween;\n let slidePosition = -offsetBefore;\n let prevSlideSize = 0;\n let index = 0;\n if (typeof swiperSize === 'undefined') {\n return;\n }\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;\n } else if (typeof spaceBetween === 'string') {\n spaceBetween = parseFloat(spaceBetween);\n }\n swiper.virtualSize = -spaceBetween;\n\n // reset margins\n slides.forEach(slideEl => {\n if (rtl) {\n slideEl.style.marginLeft = '';\n } else {\n slideEl.style.marginRight = '';\n }\n slideEl.style.marginBottom = '';\n slideEl.style.marginTop = '';\n });\n\n // reset cssMode offsets\n if (params.centeredSlides && params.cssMode) {\n setCSSProperty(wrapperEl, '--swiper-centered-offset-before', '');\n setCSSProperty(wrapperEl, '--swiper-centered-offset-after', '');\n }\n const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid;\n if (gridEnabled) {\n swiper.grid.initSlides(slides);\n } else if (swiper.grid) {\n swiper.grid.unsetSlides();\n }\n\n // Calc slides\n let slideSize;\n const shouldResetSlideSize = params.slidesPerView === 'auto' && params.breakpoints && Object.keys(params.breakpoints).filter(key => {\n return typeof params.breakpoints[key].slidesPerView !== 'undefined';\n }).length > 0;\n for (let i = 0; i < slidesLength; i += 1) {\n slideSize = 0;\n let slide;\n if (slides[i]) slide = slides[i];\n if (gridEnabled) {\n swiper.grid.updateSlide(i, slide, slides);\n }\n if (slides[i] && elementStyle(slide, 'display') === 'none') continue; // eslint-disable-line\n\n if (params.slidesPerView === 'auto') {\n if (shouldResetSlideSize) {\n slides[i].style[swiper.getDirectionLabel('width')] = ``;\n }\n const slideStyles = getComputedStyle(slide);\n const currentTransform = slide.style.transform;\n const currentWebKitTransform = slide.style.webkitTransform;\n if (currentTransform) {\n slide.style.transform = 'none';\n }\n if (currentWebKitTransform) {\n slide.style.webkitTransform = 'none';\n }\n if (params.roundLengths) {\n slideSize = swiper.isHorizontal() ? elementOuterSize(slide, 'width', true) : elementOuterSize(slide, 'height', true);\n } else {\n // eslint-disable-next-line\n const width = getDirectionPropertyValue(slideStyles, 'width');\n const paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left');\n const paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right');\n const marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left');\n const marginRight = getDirectionPropertyValue(slideStyles, 'margin-right');\n const boxSizing = slideStyles.getPropertyValue('box-sizing');\n if (boxSizing && boxSizing === 'border-box') {\n slideSize = width + marginLeft + marginRight;\n } else {\n const {\n clientWidth,\n offsetWidth\n } = slide;\n slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth);\n }\n }\n if (currentTransform) {\n slide.style.transform = currentTransform;\n }\n if (currentWebKitTransform) {\n slide.style.webkitTransform = currentWebKitTransform;\n }\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n } else {\n slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n if (slides[i]) {\n slides[i].style[swiper.getDirectionLabel('width')] = `${slideSize}px`;\n }\n }\n if (slides[i]) {\n slides[i].swiperSlideSize = slideSize;\n }\n slidesSizesGrid.push(slideSize);\n if (params.centeredSlides) {\n slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;\n if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n } else {\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n slidePosition = slidePosition + slideSize + spaceBetween;\n }\n swiper.virtualSize += slideSize + spaceBetween;\n prevSlideSize = slideSize;\n index += 1;\n }\n swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\n if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {\n wrapperEl.style.width = `${swiper.virtualSize + spaceBetween}px`;\n }\n if (params.setWrapperSize) {\n wrapperEl.style[swiper.getDirectionLabel('width')] = `${swiper.virtualSize + spaceBetween}px`;\n }\n if (gridEnabled) {\n swiper.grid.updateWrapperSize(slideSize, snapGrid);\n }\n\n // Remove last grid elements depending on width\n if (!params.centeredSlides) {\n const newSlidesGrid = [];\n for (let i = 0; i < snapGrid.length; i += 1) {\n let slidesGridItem = snapGrid[i];\n if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[i] <= swiper.virtualSize - swiperSize) {\n newSlidesGrid.push(slidesGridItem);\n }\n }\n snapGrid = newSlidesGrid;\n if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {\n snapGrid.push(swiper.virtualSize - swiperSize);\n }\n }\n if (isVirtual && params.loop) {\n const size = slidesSizesGrid[0] + spaceBetween;\n if (params.slidesPerGroup > 1) {\n const groups = Math.ceil((swiper.virtual.slidesBefore + swiper.virtual.slidesAfter) / params.slidesPerGroup);\n const groupSize = size * params.slidesPerGroup;\n for (let i = 0; i < groups; i += 1) {\n snapGrid.push(snapGrid[snapGrid.length - 1] + groupSize);\n }\n }\n for (let i = 0; i < swiper.virtual.slidesBefore + swiper.virtual.slidesAfter; i += 1) {\n if (params.slidesPerGroup === 1) {\n snapGrid.push(snapGrid[snapGrid.length - 1] + size);\n }\n slidesGrid.push(slidesGrid[slidesGrid.length - 1] + size);\n swiper.virtualSize += size;\n }\n }\n if (snapGrid.length === 0) snapGrid = [0];\n if (spaceBetween !== 0) {\n const key = swiper.isHorizontal() && rtl ? 'marginLeft' : swiper.getDirectionLabel('marginRight');\n slides.filter((_, slideIndex) => {\n if (!params.cssMode || params.loop) return true;\n if (slideIndex === slides.length - 1) {\n return false;\n }\n return true;\n }).forEach(slideEl => {\n slideEl.style[key] = `${spaceBetween}px`;\n });\n }\n if (params.centeredSlides && params.centeredSlidesBounds) {\n let allSlidesSize = 0;\n slidesSizesGrid.forEach(slideSizeValue => {\n allSlidesSize += slideSizeValue + (spaceBetween || 0);\n });\n allSlidesSize -= spaceBetween;\n const maxSnap = allSlidesSize > swiperSize ? allSlidesSize - swiperSize : 0;\n snapGrid = snapGrid.map(snap => {\n if (snap <= 0) return -offsetBefore;\n if (snap > maxSnap) return maxSnap + offsetAfter;\n return snap;\n });\n }\n if (params.centerInsufficientSlides) {\n let allSlidesSize = 0;\n slidesSizesGrid.forEach(slideSizeValue => {\n allSlidesSize += slideSizeValue + (spaceBetween || 0);\n });\n allSlidesSize -= spaceBetween;\n const offsetSize = (params.slidesOffsetBefore || 0) + (params.slidesOffsetAfter || 0);\n if (allSlidesSize + offsetSize < swiperSize) {\n const allSlidesOffset = (swiperSize - allSlidesSize - offsetSize) / 2;\n snapGrid.forEach((snap, snapIndex) => {\n snapGrid[snapIndex] = snap - allSlidesOffset;\n });\n slidesGrid.forEach((snap, snapIndex) => {\n slidesGrid[snapIndex] = snap + allSlidesOffset;\n });\n }\n }\n Object.assign(swiper, {\n slides,\n snapGrid,\n slidesGrid,\n slidesSizesGrid\n });\n if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) {\n setCSSProperty(wrapperEl, '--swiper-centered-offset-before', `${-snapGrid[0]}px`);\n setCSSProperty(wrapperEl, '--swiper-centered-offset-after', `${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`);\n const addToSnapGrid = -swiper.snapGrid[0];\n const addToSlidesGrid = -swiper.slidesGrid[0];\n swiper.snapGrid = swiper.snapGrid.map(v => v + addToSnapGrid);\n swiper.slidesGrid = swiper.slidesGrid.map(v => v + addToSlidesGrid);\n }\n if (slidesLength !== previousSlidesLength) {\n swiper.emit('slidesLengthChange');\n }\n if (snapGrid.length !== previousSnapGridLength) {\n if (swiper.params.watchOverflow) swiper.checkOverflow();\n swiper.emit('snapGridLengthChange');\n }\n if (slidesGrid.length !== previousSlidesGridLength) {\n swiper.emit('slidesGridLengthChange');\n }\n if (params.watchSlidesProgress) {\n swiper.updateSlidesOffset();\n }\n swiper.emit('slidesUpdated');\n if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) {\n const backFaceHiddenClass = `${params.containerModifierClass}backface-hidden`;\n const hasClassBackfaceClassAdded = swiper.el.classList.contains(backFaceHiddenClass);\n if (slidesLength <= params.maxBackfaceHiddenSlides) {\n if (!hasClassBackfaceClassAdded) swiper.el.classList.add(backFaceHiddenClass);\n } else if (hasClassBackfaceClassAdded) {\n swiper.el.classList.remove(backFaceHiddenClass);\n }\n }\n}\n\nfunction updateAutoHeight(speed) {\n const swiper = this;\n const activeSlides = [];\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n let newHeight = 0;\n let i;\n if (typeof speed === 'number') {\n swiper.setTransition(speed);\n } else if (speed === true) {\n swiper.setTransition(swiper.params.speed);\n }\n const getSlideByIndex = index => {\n if (isVirtual) {\n return swiper.slides[swiper.getSlideIndexByData(index)];\n }\n return swiper.slides[index];\n };\n // Find slides currently in view\n if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {\n if (swiper.params.centeredSlides) {\n (swiper.visibleSlides || []).forEach(slide => {\n activeSlides.push(slide);\n });\n } else {\n for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\n const index = swiper.activeIndex + i;\n if (index > swiper.slides.length && !isVirtual) break;\n activeSlides.push(getSlideByIndex(index));\n }\n }\n } else {\n activeSlides.push(getSlideByIndex(swiper.activeIndex));\n }\n\n // Find new height from highest slide in view\n for (i = 0; i < activeSlides.length; i += 1) {\n if (typeof activeSlides[i] !== 'undefined') {\n const height = activeSlides[i].offsetHeight;\n newHeight = height > newHeight ? height : newHeight;\n }\n }\n\n // Update Height\n if (newHeight || newHeight === 0) swiper.wrapperEl.style.height = `${newHeight}px`;\n}\n\nfunction updateSlidesOffset() {\n const swiper = this;\n const slides = swiper.slides;\n // eslint-disable-next-line\n const minusOffset = swiper.isElement ? swiper.isHorizontal() ? swiper.wrapperEl.offsetLeft : swiper.wrapperEl.offsetTop : 0;\n for (let i = 0; i < slides.length; i += 1) {\n slides[i].swiperSlideOffset = (swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop) - minusOffset - swiper.cssOverflowAdjustment();\n }\n}\n\nconst toggleSlideClasses$1 = (slideEl, condition, className) => {\n if (condition && !slideEl.classList.contains(className)) {\n slideEl.classList.add(className);\n } else if (!condition && slideEl.classList.contains(className)) {\n slideEl.classList.remove(className);\n }\n};\nfunction updateSlidesProgress(translate) {\n if (translate === void 0) {\n translate = this && this.translate || 0;\n }\n const swiper = this;\n const params = swiper.params;\n const {\n slides,\n rtlTranslate: rtl,\n snapGrid\n } = swiper;\n if (slides.length === 0) return;\n if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();\n let offsetCenter = -translate;\n if (rtl) offsetCenter = translate;\n swiper.visibleSlidesIndexes = [];\n swiper.visibleSlides = [];\n let spaceBetween = params.spaceBetween;\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiper.size;\n } else if (typeof spaceBetween === 'string') {\n spaceBetween = parseFloat(spaceBetween);\n }\n for (let i = 0; i < slides.length; i += 1) {\n const slide = slides[i];\n let slideOffset = slide.swiperSlideOffset;\n if (params.cssMode && params.centeredSlides) {\n slideOffset -= slides[0].swiperSlideOffset;\n }\n const slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween);\n const originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween);\n const slideBefore = -(offsetCenter - slideOffset);\n const slideAfter = slideBefore + swiper.slidesSizesGrid[i];\n const isFullyVisible = slideBefore >= 0 && slideBefore <= swiper.size - swiper.slidesSizesGrid[i];\n const isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;\n if (isVisible) {\n swiper.visibleSlides.push(slide);\n swiper.visibleSlidesIndexes.push(i);\n }\n toggleSlideClasses$1(slide, isVisible, params.slideVisibleClass);\n toggleSlideClasses$1(slide, isFullyVisible, params.slideFullyVisibleClass);\n slide.progress = rtl ? -slideProgress : slideProgress;\n slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress;\n }\n}\n\nfunction updateProgress(translate) {\n const swiper = this;\n if (typeof translate === 'undefined') {\n const multiplier = swiper.rtlTranslate ? -1 : 1;\n // eslint-disable-next-line\n translate = swiper && swiper.translate && swiper.translate * multiplier || 0;\n }\n const params = swiper.params;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n let {\n progress,\n isBeginning,\n isEnd,\n progressLoop\n } = swiper;\n const wasBeginning = isBeginning;\n const wasEnd = isEnd;\n if (translatesDiff === 0) {\n progress = 0;\n isBeginning = true;\n isEnd = true;\n } else {\n progress = (translate - swiper.minTranslate()) / translatesDiff;\n const isBeginningRounded = Math.abs(translate - swiper.minTranslate()) < 1;\n const isEndRounded = Math.abs(translate - swiper.maxTranslate()) < 1;\n isBeginning = isBeginningRounded || progress <= 0;\n isEnd = isEndRounded || progress >= 1;\n if (isBeginningRounded) progress = 0;\n if (isEndRounded) progress = 1;\n }\n if (params.loop) {\n const firstSlideIndex = swiper.getSlideIndexByData(0);\n const lastSlideIndex = swiper.getSlideIndexByData(swiper.slides.length - 1);\n const firstSlideTranslate = swiper.slidesGrid[firstSlideIndex];\n const lastSlideTranslate = swiper.slidesGrid[lastSlideIndex];\n const translateMax = swiper.slidesGrid[swiper.slidesGrid.length - 1];\n const translateAbs = Math.abs(translate);\n if (translateAbs >= firstSlideTranslate) {\n progressLoop = (translateAbs - firstSlideTranslate) / translateMax;\n } else {\n progressLoop = (translateAbs + translateMax - lastSlideTranslate) / translateMax;\n }\n if (progressLoop > 1) progressLoop -= 1;\n }\n Object.assign(swiper, {\n progress,\n progressLoop,\n isBeginning,\n isEnd\n });\n if (params.watchSlidesProgress || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate);\n if (isBeginning && !wasBeginning) {\n swiper.emit('reachBeginning toEdge');\n }\n if (isEnd && !wasEnd) {\n swiper.emit('reachEnd toEdge');\n }\n if (wasBeginning && !isBeginning || wasEnd && !isEnd) {\n swiper.emit('fromEdge');\n }\n swiper.emit('progress', progress);\n}\n\nconst toggleSlideClasses = (slideEl, condition, className) => {\n if (condition && !slideEl.classList.contains(className)) {\n slideEl.classList.add(className);\n } else if (!condition && slideEl.classList.contains(className)) {\n slideEl.classList.remove(className);\n }\n};\nfunction updateSlidesClasses() {\n const swiper = this;\n const {\n slides,\n params,\n slidesEl,\n activeIndex\n } = swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n const getFilteredSlide = selector => {\n return elementChildren(slidesEl, `.${params.slideClass}${selector}, swiper-slide${selector}`)[0];\n };\n let activeSlide;\n let prevSlide;\n let nextSlide;\n if (isVirtual) {\n if (params.loop) {\n let slideIndex = activeIndex - swiper.virtual.slidesBefore;\n if (slideIndex < 0) slideIndex = swiper.virtual.slides.length + slideIndex;\n if (slideIndex >= swiper.virtual.slides.length) slideIndex -= swiper.virtual.slides.length;\n activeSlide = getFilteredSlide(`[data-swiper-slide-index=\"${slideIndex}\"]`);\n } else {\n activeSlide = getFilteredSlide(`[data-swiper-slide-index=\"${activeIndex}\"]`);\n }\n } else {\n if (gridEnabled) {\n activeSlide = slides.find(slideEl => slideEl.column === activeIndex);\n nextSlide = slides.find(slideEl => slideEl.column === activeIndex + 1);\n prevSlide = slides.find(slideEl => slideEl.column === activeIndex - 1);\n } else {\n activeSlide = slides[activeIndex];\n }\n }\n if (activeSlide) {\n if (!gridEnabled) {\n // Next Slide\n nextSlide = elementNextAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0];\n if (params.loop && !nextSlide) {\n nextSlide = slides[0];\n }\n\n // Prev Slide\n prevSlide = elementPrevAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0];\n if (params.loop && !prevSlide === 0) {\n prevSlide = slides[slides.length - 1];\n }\n }\n }\n slides.forEach(slideEl => {\n toggleSlideClasses(slideEl, slideEl === activeSlide, params.slideActiveClass);\n toggleSlideClasses(slideEl, slideEl === nextSlide, params.slideNextClass);\n toggleSlideClasses(slideEl, slideEl === prevSlide, params.slidePrevClass);\n });\n swiper.emitSlidesClasses();\n}\n\nconst processLazyPreloader = (swiper, imageEl) => {\n if (!swiper || swiper.destroyed || !swiper.params) return;\n const slideSelector = () => swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`;\n const slideEl = imageEl.closest(slideSelector());\n if (slideEl) {\n let lazyEl = slideEl.querySelector(`.${swiper.params.lazyPreloaderClass}`);\n if (!lazyEl && swiper.isElement) {\n if (slideEl.shadowRoot) {\n lazyEl = slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`);\n } else {\n // init later\n requestAnimationFrame(() => {\n if (slideEl.shadowRoot) {\n lazyEl = slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`);\n if (lazyEl) lazyEl.remove();\n }\n });\n }\n }\n if (lazyEl) lazyEl.remove();\n }\n};\nconst unlazy = (swiper, index) => {\n if (!swiper.slides[index]) return;\n const imageEl = swiper.slides[index].querySelector('[loading=\"lazy\"]');\n if (imageEl) imageEl.removeAttribute('loading');\n};\nconst preload = swiper => {\n if (!swiper || swiper.destroyed || !swiper.params) return;\n let amount = swiper.params.lazyPreloadPrevNext;\n const len = swiper.slides.length;\n if (!len || !amount || amount < 0) return;\n amount = Math.min(amount, len);\n const slidesPerView = swiper.params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(swiper.params.slidesPerView);\n const activeIndex = swiper.activeIndex;\n if (swiper.params.grid && swiper.params.grid.rows > 1) {\n const activeColumn = activeIndex;\n const preloadColumns = [activeColumn - amount];\n preloadColumns.push(...Array.from({\n length: amount\n }).map((_, i) => {\n return activeColumn + slidesPerView + i;\n }));\n swiper.slides.forEach((slideEl, i) => {\n if (preloadColumns.includes(slideEl.column)) unlazy(swiper, i);\n });\n return;\n }\n const slideIndexLastInView = activeIndex + slidesPerView - 1;\n if (swiper.params.rewind || swiper.params.loop) {\n for (let i = activeIndex - amount; i <= slideIndexLastInView + amount; i += 1) {\n const realIndex = (i % len + len) % len;\n if (realIndex < activeIndex || realIndex > slideIndexLastInView) unlazy(swiper, realIndex);\n }\n } else {\n for (let i = Math.max(activeIndex - amount, 0); i <= Math.min(slideIndexLastInView + amount, len - 1); i += 1) {\n if (i !== activeIndex && (i > slideIndexLastInView || i < activeIndex)) {\n unlazy(swiper, i);\n }\n }\n }\n};\n\nfunction getActiveIndexByTranslate(swiper) {\n const {\n slidesGrid,\n params\n } = swiper;\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n let activeIndex;\n for (let i = 0; i < slidesGrid.length; i += 1) {\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {\n activeIndex = i;\n } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {\n activeIndex = i + 1;\n }\n } else if (translate >= slidesGrid[i]) {\n activeIndex = i;\n }\n }\n // Normalize slideIndex\n if (params.normalizeSlideIndex) {\n if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;\n }\n return activeIndex;\n}\nfunction updateActiveIndex(newActiveIndex) {\n const swiper = this;\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n const {\n snapGrid,\n params,\n activeIndex: previousIndex,\n realIndex: previousRealIndex,\n snapIndex: previousSnapIndex\n } = swiper;\n let activeIndex = newActiveIndex;\n let snapIndex;\n const getVirtualRealIndex = aIndex => {\n let realIndex = aIndex - swiper.virtual.slidesBefore;\n if (realIndex < 0) {\n realIndex = swiper.virtual.slides.length + realIndex;\n }\n if (realIndex >= swiper.virtual.slides.length) {\n realIndex -= swiper.virtual.slides.length;\n }\n return realIndex;\n };\n if (typeof activeIndex === 'undefined') {\n activeIndex = getActiveIndexByTranslate(swiper);\n }\n if (snapGrid.indexOf(translate) >= 0) {\n snapIndex = snapGrid.indexOf(translate);\n } else {\n const skip = Math.min(params.slidesPerGroupSkip, activeIndex);\n snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);\n }\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n if (activeIndex === previousIndex && !swiper.params.loop) {\n if (snapIndex !== previousSnapIndex) {\n swiper.snapIndex = snapIndex;\n swiper.emit('snapIndexChange');\n }\n return;\n }\n if (activeIndex === previousIndex && swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) {\n swiper.realIndex = getVirtualRealIndex(activeIndex);\n return;\n }\n const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n\n // Get real index\n let realIndex;\n if (swiper.virtual && params.virtual.enabled && params.loop) {\n realIndex = getVirtualRealIndex(activeIndex);\n } else if (gridEnabled) {\n const firstSlideInColumn = swiper.slides.find(slideEl => slideEl.column === activeIndex);\n let activeSlideIndex = parseInt(firstSlideInColumn.getAttribute('data-swiper-slide-index'), 10);\n if (Number.isNaN(activeSlideIndex)) {\n activeSlideIndex = Math.max(swiper.slides.indexOf(firstSlideInColumn), 0);\n }\n realIndex = Math.floor(activeSlideIndex / params.grid.rows);\n } else if (swiper.slides[activeIndex]) {\n const slideIndex = swiper.slides[activeIndex].getAttribute('data-swiper-slide-index');\n if (slideIndex) {\n realIndex = parseInt(slideIndex, 10);\n } else {\n realIndex = activeIndex;\n }\n } else {\n realIndex = activeIndex;\n }\n Object.assign(swiper, {\n previousSnapIndex,\n snapIndex,\n previousRealIndex,\n realIndex,\n previousIndex,\n activeIndex\n });\n if (swiper.initialized) {\n preload(swiper);\n }\n swiper.emit('activeIndexChange');\n swiper.emit('snapIndexChange');\n if (swiper.initialized || swiper.params.runCallbacksOnInit) {\n if (previousRealIndex !== realIndex) {\n swiper.emit('realIndexChange');\n }\n swiper.emit('slideChange');\n }\n}\n\nfunction updateClickedSlide(el, path) {\n const swiper = this;\n const params = swiper.params;\n let slide = el.closest(`.${params.slideClass}, swiper-slide`);\n if (!slide && swiper.isElement && path && path.length > 1 && path.includes(el)) {\n [...path.slice(path.indexOf(el) + 1, path.length)].forEach(pathEl => {\n if (!slide && pathEl.matches && pathEl.matches(`.${params.slideClass}, swiper-slide`)) {\n slide = pathEl;\n }\n });\n }\n let slideFound = false;\n let slideIndex;\n if (slide) {\n for (let i = 0; i < swiper.slides.length; i += 1) {\n if (swiper.slides[i] === slide) {\n slideFound = true;\n slideIndex = i;\n break;\n }\n }\n }\n if (slide && slideFound) {\n swiper.clickedSlide = slide;\n if (swiper.virtual && swiper.params.virtual.enabled) {\n swiper.clickedIndex = parseInt(slide.getAttribute('data-swiper-slide-index'), 10);\n } else {\n swiper.clickedIndex = slideIndex;\n }\n } else {\n swiper.clickedSlide = undefined;\n swiper.clickedIndex = undefined;\n return;\n }\n if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {\n swiper.slideToClickedSlide();\n }\n}\n\nvar update = {\n updateSize,\n updateSlides,\n updateAutoHeight,\n updateSlidesOffset,\n updateSlidesProgress,\n updateProgress,\n updateSlidesClasses,\n updateActiveIndex,\n updateClickedSlide\n};\n\nfunction getSwiperTranslate(axis) {\n if (axis === void 0) {\n axis = this.isHorizontal() ? 'x' : 'y';\n }\n const swiper = this;\n const {\n params,\n rtlTranslate: rtl,\n translate,\n wrapperEl\n } = swiper;\n if (params.virtualTranslate) {\n return rtl ? -translate : translate;\n }\n if (params.cssMode) {\n return translate;\n }\n let currentTranslate = getTranslate(wrapperEl, axis);\n currentTranslate += swiper.cssOverflowAdjustment();\n if (rtl) currentTranslate = -currentTranslate;\n return currentTranslate || 0;\n}\n\nfunction setTranslate(translate, byController) {\n const swiper = this;\n const {\n rtlTranslate: rtl,\n params,\n wrapperEl,\n progress\n } = swiper;\n let x = 0;\n let y = 0;\n const z = 0;\n if (swiper.isHorizontal()) {\n x = rtl ? -translate : translate;\n } else {\n y = translate;\n }\n if (params.roundLengths) {\n x = Math.floor(x);\n y = Math.floor(y);\n }\n swiper.previousTranslate = swiper.translate;\n swiper.translate = swiper.isHorizontal() ? x : y;\n if (params.cssMode) {\n wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;\n } else if (!params.virtualTranslate) {\n if (swiper.isHorizontal()) {\n x -= swiper.cssOverflowAdjustment();\n } else {\n y -= swiper.cssOverflowAdjustment();\n }\n wrapperEl.style.transform = `translate3d(${x}px, ${y}px, ${z}px)`;\n }\n\n // Check if we need to update progress\n let newProgress;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (translate - swiper.minTranslate()) / translatesDiff;\n }\n if (newProgress !== progress) {\n swiper.updateProgress(translate);\n }\n swiper.emit('setTranslate', swiper.translate, byController);\n}\n\nfunction minTranslate() {\n return -this.snapGrid[0];\n}\n\nfunction maxTranslate() {\n return -this.snapGrid[this.snapGrid.length - 1];\n}\n\nfunction translateTo(translate, speed, runCallbacks, translateBounds, internal) {\n if (translate === void 0) {\n translate = 0;\n }\n if (speed === void 0) {\n speed = this.params.speed;\n }\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n if (translateBounds === void 0) {\n translateBounds = true;\n }\n const swiper = this;\n const {\n params,\n wrapperEl\n } = swiper;\n if (swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n const minTranslate = swiper.minTranslate();\n const maxTranslate = swiper.maxTranslate();\n let newTranslate;\n if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate;\n\n // Update progress\n swiper.updateProgress(newTranslate);\n if (params.cssMode) {\n const isH = swiper.isHorizontal();\n if (speed === 0) {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n } else {\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({\n swiper,\n targetPosition: -newTranslate,\n side: isH ? 'left' : 'top'\n });\n return true;\n }\n wrapperEl.scrollTo({\n [isH ? 'left' : 'top']: -newTranslate,\n behavior: 'smooth'\n });\n }\n return true;\n }\n if (speed === 0) {\n swiper.setTransition(0);\n swiper.setTranslate(newTranslate);\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionEnd');\n }\n } else {\n swiper.setTransition(speed);\n swiper.setTranslate(newTranslate);\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionStart');\n }\n if (!swiper.animating) {\n swiper.animating = true;\n if (!swiper.onTranslateToWrapperTransitionEnd) {\n swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.wrapperEl.removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n swiper.onTranslateToWrapperTransitionEnd = null;\n delete swiper.onTranslateToWrapperTransitionEnd;\n swiper.animating = false;\n if (runCallbacks) {\n swiper.emit('transitionEnd');\n }\n };\n }\n swiper.wrapperEl.addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n }\n }\n return true;\n}\n\nvar translate = {\n getTranslate: getSwiperTranslate,\n setTranslate,\n minTranslate,\n maxTranslate,\n translateTo\n};\n\nfunction setTransition(duration, byController) {\n const swiper = this;\n if (!swiper.params.cssMode) {\n swiper.wrapperEl.style.transitionDuration = `${duration}ms`;\n swiper.wrapperEl.style.transitionDelay = duration === 0 ? `0ms` : '';\n }\n swiper.emit('setTransition', duration, byController);\n}\n\nfunction transitionEmit(_ref) {\n let {\n swiper,\n runCallbacks,\n direction,\n step\n } = _ref;\n const {\n activeIndex,\n previousIndex\n } = swiper;\n let dir = direction;\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n }\n swiper.emit(`transition${step}`);\n if (runCallbacks && dir === 'reset') {\n swiper.emit(`slideResetTransition${step}`);\n } else if (runCallbacks && activeIndex !== previousIndex) {\n swiper.emit(`slideChangeTransition${step}`);\n if (dir === 'next') {\n swiper.emit(`slideNextTransition${step}`);\n } else {\n swiper.emit(`slidePrevTransition${step}`);\n }\n }\n}\n\nfunction transitionStart(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n const swiper = this;\n const {\n params\n } = swiper;\n if (params.cssMode) return;\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n transitionEmit({\n swiper,\n runCallbacks,\n direction,\n step: 'Start'\n });\n}\n\nfunction transitionEnd(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n const swiper = this;\n const {\n params\n } = swiper;\n swiper.animating = false;\n if (params.cssMode) return;\n swiper.setTransition(0);\n transitionEmit({\n swiper,\n runCallbacks,\n direction,\n step: 'End'\n });\n}\n\nvar transition = {\n setTransition,\n transitionStart,\n transitionEnd\n};\n\nfunction slideTo(index, speed, runCallbacks, internal, initial) {\n if (index === void 0) {\n index = 0;\n }\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n if (typeof index === 'string') {\n index = parseInt(index, 10);\n }\n const swiper = this;\n let slideIndex = index;\n if (slideIndex < 0) slideIndex = 0;\n const {\n params,\n snapGrid,\n slidesGrid,\n previousIndex,\n activeIndex,\n rtlTranslate: rtl,\n wrapperEl,\n enabled\n } = swiper;\n if (!enabled && !internal && !initial || swiper.destroyed || swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n if (typeof speed === 'undefined') {\n speed = swiper.params.speed;\n }\n const skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);\n let snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n const translate = -snapGrid[snapIndex];\n // Normalize slideIndex\n if (params.normalizeSlideIndex) {\n for (let i = 0; i < slidesGrid.length; i += 1) {\n const normalizedTranslate = -Math.floor(translate * 100);\n const normalizedGrid = Math.floor(slidesGrid[i] * 100);\n const normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2) {\n slideIndex = i;\n } else if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext) {\n slideIndex = i + 1;\n }\n } else if (normalizedTranslate >= normalizedGrid) {\n slideIndex = i;\n }\n }\n }\n // Directions locks\n if (swiper.initialized && slideIndex !== activeIndex) {\n if (!swiper.allowSlideNext && (rtl ? translate > swiper.translate && translate > swiper.minTranslate() : translate < swiper.translate && translate < swiper.minTranslate())) {\n return false;\n }\n if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {\n if ((activeIndex || 0) !== slideIndex) {\n return false;\n }\n }\n }\n if (slideIndex !== (previousIndex || 0) && runCallbacks) {\n swiper.emit('beforeSlideChangeStart');\n }\n\n // Update progress\n swiper.updateProgress(translate);\n let direction;\n if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset';\n\n // initial virtual\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n const isInitialVirtual = isVirtual && initial;\n // Update Index\n if (!isInitialVirtual && (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate)) {\n swiper.updateActiveIndex(slideIndex);\n // Update Height\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n swiper.updateSlidesClasses();\n if (params.effect !== 'slide') {\n swiper.setTranslate(translate);\n }\n if (direction !== 'reset') {\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n }\n return false;\n }\n if (params.cssMode) {\n const isH = swiper.isHorizontal();\n const t = rtl ? translate : -translate;\n if (speed === 0) {\n if (isVirtual) {\n swiper.wrapperEl.style.scrollSnapType = 'none';\n swiper._immediateVirtual = true;\n }\n if (isVirtual && !swiper._cssModeVirtualInitialSet && swiper.params.initialSlide > 0) {\n swiper._cssModeVirtualInitialSet = true;\n requestAnimationFrame(() => {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n });\n } else {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n }\n if (isVirtual) {\n requestAnimationFrame(() => {\n swiper.wrapperEl.style.scrollSnapType = '';\n swiper._immediateVirtual = false;\n });\n }\n } else {\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({\n swiper,\n targetPosition: t,\n side: isH ? 'left' : 'top'\n });\n return true;\n }\n wrapperEl.scrollTo({\n [isH ? 'left' : 'top']: t,\n behavior: 'smooth'\n });\n }\n return true;\n }\n const browser = getBrowser();\n const isSafari = browser.isSafari;\n if (isVirtual && !initial && isSafari && swiper.isElement) {\n swiper.virtual.update(false, false, slideIndex);\n }\n swiper.setTransition(speed);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n if (speed === 0) {\n swiper.transitionEnd(runCallbacks, direction);\n } else if (!swiper.animating) {\n swiper.animating = true;\n if (!swiper.onSlideToWrapperTransitionEnd) {\n swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.wrapperEl.removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.onSlideToWrapperTransitionEnd = null;\n delete swiper.onSlideToWrapperTransitionEnd;\n swiper.transitionEnd(runCallbacks, direction);\n };\n }\n swiper.wrapperEl.addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n }\n return true;\n}\n\nfunction slideToLoop(index, speed, runCallbacks, internal) {\n if (index === void 0) {\n index = 0;\n }\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n if (typeof index === 'string') {\n const indexAsNumber = parseInt(index, 10);\n index = indexAsNumber;\n }\n const swiper = this;\n if (swiper.destroyed) return;\n if (typeof speed === 'undefined') {\n speed = swiper.params.speed;\n }\n const gridEnabled = swiper.grid && swiper.params.grid && swiper.params.grid.rows > 1;\n let newIndex = index;\n if (swiper.params.loop) {\n if (swiper.virtual && swiper.params.virtual.enabled) {\n // eslint-disable-next-line\n newIndex = newIndex + swiper.virtual.slidesBefore;\n } else {\n let targetSlideIndex;\n if (gridEnabled) {\n const slideIndex = newIndex * swiper.params.grid.rows;\n targetSlideIndex = swiper.slides.find(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex).column;\n } else {\n targetSlideIndex = swiper.getSlideIndexByData(newIndex);\n }\n const cols = gridEnabled ? Math.ceil(swiper.slides.length / swiper.params.grid.rows) : swiper.slides.length;\n const {\n centeredSlides\n } = swiper.params;\n let slidesPerView = swiper.params.slidesPerView;\n if (slidesPerView === 'auto') {\n slidesPerView = swiper.slidesPerViewDynamic();\n } else {\n slidesPerView = Math.ceil(parseFloat(swiper.params.slidesPerView, 10));\n if (centeredSlides && slidesPerView % 2 === 0) {\n slidesPerView = slidesPerView + 1;\n }\n }\n let needLoopFix = cols - targetSlideIndex < slidesPerView;\n if (centeredSlides) {\n needLoopFix = needLoopFix || targetSlideIndex < Math.ceil(slidesPerView / 2);\n }\n if (internal && centeredSlides && swiper.params.slidesPerView !== 'auto' && !gridEnabled) {\n needLoopFix = false;\n }\n if (needLoopFix) {\n const direction = centeredSlides ? targetSlideIndex < swiper.activeIndex ? 'prev' : 'next' : targetSlideIndex - swiper.activeIndex - 1 < swiper.params.slidesPerView ? 'next' : 'prev';\n swiper.loopFix({\n direction,\n slideTo: true,\n activeSlideIndex: direction === 'next' ? targetSlideIndex + 1 : targetSlideIndex - cols + 1,\n slideRealIndex: direction === 'next' ? swiper.realIndex : undefined\n });\n }\n if (gridEnabled) {\n const slideIndex = newIndex * swiper.params.grid.rows;\n newIndex = swiper.slides.find(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex).column;\n } else {\n newIndex = swiper.getSlideIndexByData(newIndex);\n }\n }\n }\n requestAnimationFrame(() => {\n swiper.slideTo(newIndex, speed, runCallbacks, internal);\n });\n return swiper;\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slideNext(speed, runCallbacks, internal) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n const swiper = this;\n const {\n enabled,\n params,\n animating\n } = swiper;\n if (!enabled || swiper.destroyed) return swiper;\n if (typeof speed === 'undefined') {\n speed = swiper.params.speed;\n }\n let perGroup = params.slidesPerGroup;\n if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1);\n }\n const increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n if (params.loop) {\n if (animating && !isVirtual && params.loopPreventsSliding) return false;\n swiper.loopFix({\n direction: 'next'\n });\n // eslint-disable-next-line\n swiper._clientLeft = swiper.wrapperEl.clientLeft;\n if (swiper.activeIndex === swiper.slides.length - 1 && params.cssMode) {\n requestAnimationFrame(() => {\n swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n });\n return true;\n }\n }\n if (params.rewind && swiper.isEnd) {\n return swiper.slideTo(0, speed, runCallbacks, internal);\n }\n return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slidePrev(speed, runCallbacks, internal) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n const swiper = this;\n const {\n params,\n snapGrid,\n slidesGrid,\n rtlTranslate,\n enabled,\n animating\n } = swiper;\n if (!enabled || swiper.destroyed) return swiper;\n if (typeof speed === 'undefined') {\n speed = swiper.params.speed;\n }\n const isVirtual = swiper.virtual && params.virtual.enabled;\n if (params.loop) {\n if (animating && !isVirtual && params.loopPreventsSliding) return false;\n swiper.loopFix({\n direction: 'prev'\n });\n // eslint-disable-next-line\n swiper._clientLeft = swiper.wrapperEl.clientLeft;\n }\n const translate = rtlTranslate ? swiper.translate : -swiper.translate;\n function normalize(val) {\n if (val < 0) return -Math.floor(Math.abs(val));\n return Math.floor(val);\n }\n const normalizedTranslate = normalize(translate);\n const normalizedSnapGrid = snapGrid.map(val => normalize(val));\n const isFreeMode = params.freeMode && params.freeMode.enabled;\n let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\n if (typeof prevSnap === 'undefined' && (params.cssMode || isFreeMode)) {\n let prevSnapIndex;\n snapGrid.forEach((snap, snapIndex) => {\n if (normalizedTranslate >= snap) {\n // prevSnap = snap;\n prevSnapIndex = snapIndex;\n }\n });\n if (typeof prevSnapIndex !== 'undefined') {\n prevSnap = isFreeMode ? snapGrid[prevSnapIndex] : snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex];\n }\n }\n let prevIndex = 0;\n if (typeof prevSnap !== 'undefined') {\n prevIndex = slidesGrid.indexOf(prevSnap);\n if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;\n if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1;\n prevIndex = Math.max(prevIndex, 0);\n }\n }\n if (params.rewind && swiper.isBeginning) {\n const lastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n return swiper.slideTo(lastIndex, speed, runCallbacks, internal);\n } else if (params.loop && swiper.activeIndex === 0 && params.cssMode) {\n requestAnimationFrame(() => {\n swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n });\n return true;\n }\n return swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slideReset(speed, runCallbacks, internal) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n const swiper = this;\n if (swiper.destroyed) return;\n if (typeof speed === 'undefined') {\n speed = swiper.params.speed;\n }\n return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slideToClosest(speed, runCallbacks, internal, threshold) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n if (threshold === void 0) {\n threshold = 0.5;\n }\n const swiper = this;\n if (swiper.destroyed) return;\n if (typeof speed === 'undefined') {\n speed = swiper.params.speed;\n }\n let index = swiper.activeIndex;\n const skip = Math.min(swiper.params.slidesPerGroupSkip, index);\n const snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n if (translate >= swiper.snapGrid[snapIndex]) {\n // The current translate is on or after the current snap index, so the choice\n // is between the current index and the one after it.\n const currentSnap = swiper.snapGrid[snapIndex];\n const nextSnap = swiper.snapGrid[snapIndex + 1];\n if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {\n index += swiper.params.slidesPerGroup;\n }\n } else {\n // The current translate is before the current snap index, so the choice\n // is between the current index and the one before it.\n const prevSnap = swiper.snapGrid[snapIndex - 1];\n const currentSnap = swiper.snapGrid[snapIndex];\n if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) {\n index -= swiper.params.slidesPerGroup;\n }\n }\n index = Math.max(index, 0);\n index = Math.min(index, swiper.slidesGrid.length - 1);\n return swiper.slideTo(index, speed, runCallbacks, internal);\n}\n\nfunction slideToClickedSlide() {\n const swiper = this;\n if (swiper.destroyed) return;\n const {\n params,\n slidesEl\n } = swiper;\n const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;\n let slideToIndex = swiper.getSlideIndexWhenGrid(swiper.clickedIndex);\n let realIndex;\n const slideSelector = swiper.isElement ? `swiper-slide` : `.${params.slideClass}`;\n const isGrid = swiper.grid && swiper.params.grid && swiper.params.grid.rows > 1;\n if (params.loop) {\n if (swiper.animating) return;\n realIndex = parseInt(swiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10);\n if (params.centeredSlides) {\n swiper.slideToLoop(realIndex);\n } else if (slideToIndex > (isGrid ? (swiper.slides.length - slidesPerView) / 2 - (swiper.params.grid.rows - 1) : swiper.slides.length - slidesPerView)) {\n swiper.loopFix();\n slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index=\"${realIndex}\"]`)[0]);\n nextTick(() => {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else {\n swiper.slideTo(slideToIndex);\n }\n}\n\nvar slide = {\n slideTo,\n slideToLoop,\n slideNext,\n slidePrev,\n slideReset,\n slideToClosest,\n slideToClickedSlide\n};\n\nfunction loopCreate(slideRealIndex, initial) {\n const swiper = this;\n const {\n params,\n slidesEl\n } = swiper;\n if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return;\n const initSlides = () => {\n const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);\n slides.forEach((el, index) => {\n el.setAttribute('data-swiper-slide-index', index);\n });\n };\n const clearBlankSlides = () => {\n const slides = elementChildren(slidesEl, `.${params.slideBlankClass}`);\n slides.forEach(el => {\n el.remove();\n });\n if (slides.length > 0) {\n swiper.recalcSlides();\n swiper.updateSlides();\n }\n };\n const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n if (params.loopAddBlankSlides && (params.slidesPerGroup > 1 || gridEnabled)) {\n clearBlankSlides();\n }\n const slidesPerGroup = params.slidesPerGroup * (gridEnabled ? params.grid.rows : 1);\n const shouldFillGroup = swiper.slides.length % slidesPerGroup !== 0;\n const shouldFillGrid = gridEnabled && swiper.slides.length % params.grid.rows !== 0;\n const addBlankSlides = amountOfSlides => {\n for (let i = 0; i < amountOfSlides; i += 1) {\n const slideEl = swiper.isElement ? createElement('swiper-slide', [params.slideBlankClass]) : createElement('div', [params.slideClass, params.slideBlankClass]);\n swiper.slidesEl.append(slideEl);\n }\n };\n if (shouldFillGroup) {\n if (params.loopAddBlankSlides) {\n const slidesToAdd = slidesPerGroup - swiper.slides.length % slidesPerGroup;\n addBlankSlides(slidesToAdd);\n swiper.recalcSlides();\n swiper.updateSlides();\n } else {\n showWarning('Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)');\n }\n initSlides();\n } else if (shouldFillGrid) {\n if (params.loopAddBlankSlides) {\n const slidesToAdd = params.grid.rows - swiper.slides.length % params.grid.rows;\n addBlankSlides(slidesToAdd);\n swiper.recalcSlides();\n swiper.updateSlides();\n } else {\n showWarning('Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)');\n }\n initSlides();\n } else {\n initSlides();\n }\n swiper.loopFix({\n slideRealIndex,\n direction: params.centeredSlides ? undefined : 'next',\n initial\n });\n}\n\nfunction loopFix(_temp) {\n let {\n slideRealIndex,\n slideTo = true,\n direction,\n setTranslate,\n activeSlideIndex,\n initial,\n byController,\n byMousewheel\n } = _temp === void 0 ? {} : _temp;\n const swiper = this;\n if (!swiper.params.loop) return;\n swiper.emit('beforeLoopFix');\n const {\n slides,\n allowSlidePrev,\n allowSlideNext,\n slidesEl,\n params\n } = swiper;\n const {\n centeredSlides,\n initialSlide\n } = params;\n swiper.allowSlidePrev = true;\n swiper.allowSlideNext = true;\n if (swiper.virtual && params.virtual.enabled) {\n if (slideTo) {\n if (!params.centeredSlides && swiper.snapIndex === 0) {\n swiper.slideTo(swiper.virtual.slides.length, 0, false, true);\n } else if (params.centeredSlides && swiper.snapIndex < params.slidesPerView) {\n swiper.slideTo(swiper.virtual.slides.length + swiper.snapIndex, 0, false, true);\n } else if (swiper.snapIndex === swiper.snapGrid.length - 1) {\n swiper.slideTo(swiper.virtual.slidesBefore, 0, false, true);\n }\n }\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n swiper.emit('loopFix');\n return;\n }\n let slidesPerView = params.slidesPerView;\n if (slidesPerView === 'auto') {\n slidesPerView = swiper.slidesPerViewDynamic();\n } else {\n slidesPerView = Math.ceil(parseFloat(params.slidesPerView, 10));\n if (centeredSlides && slidesPerView % 2 === 0) {\n slidesPerView = slidesPerView + 1;\n }\n }\n const slidesPerGroup = params.slidesPerGroupAuto ? slidesPerView : params.slidesPerGroup;\n let loopedSlides = centeredSlides ? Math.max(slidesPerGroup, Math.ceil(slidesPerView / 2)) : slidesPerGroup;\n if (loopedSlides % slidesPerGroup !== 0) {\n loopedSlides += slidesPerGroup - loopedSlides % slidesPerGroup;\n }\n loopedSlides += params.loopAdditionalSlides;\n swiper.loopedSlides = loopedSlides;\n const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n if (slides.length < slidesPerView + loopedSlides || swiper.params.effect === 'cards' && slides.length < slidesPerView + loopedSlides * 2) {\n showWarning('Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled or not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters');\n } else if (gridEnabled && params.grid.fill === 'row') {\n showWarning('Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`');\n }\n const prependSlidesIndexes = [];\n const appendSlidesIndexes = [];\n const cols = gridEnabled ? Math.ceil(slides.length / params.grid.rows) : slides.length;\n const isInitialOverflow = initial && cols - initialSlide < slidesPerView && !centeredSlides;\n let activeIndex = isInitialOverflow ? initialSlide : swiper.activeIndex;\n if (typeof activeSlideIndex === 'undefined') {\n activeSlideIndex = swiper.getSlideIndex(slides.find(el => el.classList.contains(params.slideActiveClass)));\n } else {\n activeIndex = activeSlideIndex;\n }\n const isNext = direction === 'next' || !direction;\n const isPrev = direction === 'prev' || !direction;\n let slidesPrepended = 0;\n let slidesAppended = 0;\n const activeColIndex = gridEnabled ? slides[activeSlideIndex].column : activeSlideIndex;\n const activeColIndexWithShift = activeColIndex + (centeredSlides && typeof setTranslate === 'undefined' ? -slidesPerView / 2 + 0.5 : 0);\n // prepend last slides before start\n if (activeColIndexWithShift < loopedSlides) {\n slidesPrepended = Math.max(loopedSlides - activeColIndexWithShift, slidesPerGroup);\n for (let i = 0; i < loopedSlides - activeColIndexWithShift; i += 1) {\n const index = i - Math.floor(i / cols) * cols;\n if (gridEnabled) {\n const colIndexToPrepend = cols - index - 1;\n for (let i = slides.length - 1; i >= 0; i -= 1) {\n if (slides[i].column === colIndexToPrepend) prependSlidesIndexes.push(i);\n }\n // slides.forEach((slide, slideIndex) => {\n // if (slide.column === colIndexToPrepend) prependSlidesIndexes.push(slideIndex);\n // });\n } else {\n prependSlidesIndexes.push(cols - index - 1);\n }\n }\n } else if (activeColIndexWithShift + slidesPerView > cols - loopedSlides) {\n slidesAppended = Math.max(activeColIndexWithShift - (cols - loopedSlides * 2), slidesPerGroup);\n if (isInitialOverflow) {\n slidesAppended = Math.max(slidesAppended, slidesPerView - cols + initialSlide + 1);\n }\n for (let i = 0; i < slidesAppended; i += 1) {\n const index = i - Math.floor(i / cols) * cols;\n if (gridEnabled) {\n slides.forEach((slide, slideIndex) => {\n if (slide.column === index) appendSlidesIndexes.push(slideIndex);\n });\n } else {\n appendSlidesIndexes.push(index);\n }\n }\n }\n swiper.__preventObserver__ = true;\n requestAnimationFrame(() => {\n swiper.__preventObserver__ = false;\n });\n if (swiper.params.effect === 'cards' && slides.length < slidesPerView + loopedSlides * 2) {\n if (appendSlidesIndexes.includes(activeSlideIndex)) {\n appendSlidesIndexes.splice(appendSlidesIndexes.indexOf(activeSlideIndex), 1);\n }\n if (prependSlidesIndexes.includes(activeSlideIndex)) {\n prependSlidesIndexes.splice(prependSlidesIndexes.indexOf(activeSlideIndex), 1);\n }\n }\n if (isPrev) {\n prependSlidesIndexes.forEach(index => {\n slides[index].swiperLoopMoveDOM = true;\n slidesEl.prepend(slides[index]);\n slides[index].swiperLoopMoveDOM = false;\n });\n }\n if (isNext) {\n appendSlidesIndexes.forEach(index => {\n slides[index].swiperLoopMoveDOM = true;\n slidesEl.append(slides[index]);\n slides[index].swiperLoopMoveDOM = false;\n });\n }\n swiper.recalcSlides();\n if (params.slidesPerView === 'auto') {\n swiper.updateSlides();\n } else if (gridEnabled && (prependSlidesIndexes.length > 0 && isPrev || appendSlidesIndexes.length > 0 && isNext)) {\n swiper.slides.forEach((slide, slideIndex) => {\n swiper.grid.updateSlide(slideIndex, slide, swiper.slides);\n });\n }\n if (params.watchSlidesProgress) {\n swiper.updateSlidesOffset();\n }\n if (slideTo) {\n if (prependSlidesIndexes.length > 0 && isPrev) {\n if (typeof slideRealIndex === 'undefined') {\n const currentSlideTranslate = swiper.slidesGrid[activeIndex];\n const newSlideTranslate = swiper.slidesGrid[activeIndex + slidesPrepended];\n const diff = newSlideTranslate - currentSlideTranslate;\n if (byMousewheel) {\n swiper.setTranslate(swiper.translate - diff);\n } else {\n swiper.slideTo(activeIndex + Math.ceil(slidesPrepended), 0, false, true);\n if (setTranslate) {\n swiper.touchEventsData.startTranslate = swiper.touchEventsData.startTranslate - diff;\n swiper.touchEventsData.currentTranslate = swiper.touchEventsData.currentTranslate - diff;\n }\n }\n } else {\n if (setTranslate) {\n const shift = gridEnabled ? prependSlidesIndexes.length / params.grid.rows : prependSlidesIndexes.length;\n swiper.slideTo(swiper.activeIndex + shift, 0, false, true);\n swiper.touchEventsData.currentTranslate = swiper.translate;\n }\n }\n } else if (appendSlidesIndexes.length > 0 && isNext) {\n if (typeof slideRealIndex === 'undefined') {\n const currentSlideTranslate = swiper.slidesGrid[activeIndex];\n const newSlideTranslate = swiper.slidesGrid[activeIndex - slidesAppended];\n const diff = newSlideTranslate - currentSlideTranslate;\n if (byMousewheel) {\n swiper.setTranslate(swiper.translate - diff);\n } else {\n swiper.slideTo(activeIndex - slidesAppended, 0, false, true);\n if (setTranslate) {\n swiper.touchEventsData.startTranslate = swiper.touchEventsData.startTranslate - diff;\n swiper.touchEventsData.currentTranslate = swiper.touchEventsData.currentTranslate - diff;\n }\n }\n } else {\n const shift = gridEnabled ? appendSlidesIndexes.length / params.grid.rows : appendSlidesIndexes.length;\n swiper.slideTo(swiper.activeIndex - shift, 0, false, true);\n }\n }\n }\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n if (swiper.controller && swiper.controller.control && !byController) {\n const loopParams = {\n slideRealIndex,\n direction,\n setTranslate,\n activeSlideIndex,\n byController: true\n };\n if (Array.isArray(swiper.controller.control)) {\n swiper.controller.control.forEach(c => {\n if (!c.destroyed && c.params.loop) c.loopFix({\n ...loopParams,\n slideTo: c.params.slidesPerView === params.slidesPerView ? slideTo : false\n });\n });\n } else if (swiper.controller.control instanceof swiper.constructor && swiper.controller.control.params.loop) {\n swiper.controller.control.loopFix({\n ...loopParams,\n slideTo: swiper.controller.control.params.slidesPerView === params.slidesPerView ? slideTo : false\n });\n }\n }\n swiper.emit('loopFix');\n}\n\nfunction loopDestroy() {\n const swiper = this;\n const {\n params,\n slidesEl\n } = swiper;\n if (!params.loop || !slidesEl || swiper.virtual && swiper.params.virtual.enabled) return;\n swiper.recalcSlides();\n const newSlidesOrder = [];\n swiper.slides.forEach(slideEl => {\n const index = typeof slideEl.swiperSlideIndex === 'undefined' ? slideEl.getAttribute('data-swiper-slide-index') * 1 : slideEl.swiperSlideIndex;\n newSlidesOrder[index] = slideEl;\n });\n swiper.slides.forEach(slideEl => {\n slideEl.removeAttribute('data-swiper-slide-index');\n });\n newSlidesOrder.forEach(slideEl => {\n slidesEl.append(slideEl);\n });\n swiper.recalcSlides();\n swiper.slideTo(swiper.realIndex, 0);\n}\n\nvar loop = {\n loopCreate,\n loopFix,\n loopDestroy\n};\n\nfunction setGrabCursor(moving) {\n const swiper = this;\n if (!swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;\n const el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl;\n if (swiper.isElement) {\n swiper.__preventObserver__ = true;\n }\n el.style.cursor = 'move';\n el.style.cursor = moving ? 'grabbing' : 'grab';\n if (swiper.isElement) {\n requestAnimationFrame(() => {\n swiper.__preventObserver__ = false;\n });\n }\n}\n\nfunction unsetGrabCursor() {\n const swiper = this;\n if (swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {\n return;\n }\n if (swiper.isElement) {\n swiper.__preventObserver__ = true;\n }\n swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = '';\n if (swiper.isElement) {\n requestAnimationFrame(() => {\n swiper.__preventObserver__ = false;\n });\n }\n}\n\nvar grabCursor = {\n setGrabCursor,\n unsetGrabCursor\n};\n\n// Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd\nfunction closestElement(selector, base) {\n if (base === void 0) {\n base = this;\n }\n function __closestFrom(el) {\n if (!el || el === getDocument() || el === getWindow()) return null;\n if (el.assignedSlot) el = el.assignedSlot;\n const found = el.closest(selector);\n if (!found && !el.getRootNode) {\n return null;\n }\n return found || __closestFrom(el.getRootNode().host);\n }\n return __closestFrom(base);\n}\nfunction preventEdgeSwipe(swiper, event, startX) {\n const window = getWindow();\n const {\n params\n } = swiper;\n const edgeSwipeDetection = params.edgeSwipeDetection;\n const edgeSwipeThreshold = params.edgeSwipeThreshold;\n if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) {\n if (edgeSwipeDetection === 'prevent') {\n event.preventDefault();\n return true;\n }\n return false;\n }\n return true;\n}\nfunction onTouchStart(event) {\n const swiper = this;\n const document = getDocument();\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n const data = swiper.touchEventsData;\n if (e.type === 'pointerdown') {\n if (data.pointerId !== null && data.pointerId !== e.pointerId) {\n return;\n }\n data.pointerId = e.pointerId;\n } else if (e.type === 'touchstart' && e.targetTouches.length === 1) {\n data.touchId = e.targetTouches[0].identifier;\n }\n if (e.type === 'touchstart') {\n // don't proceed touch event\n preventEdgeSwipe(swiper, e, e.targetTouches[0].pageX);\n return;\n }\n const {\n params,\n touches,\n enabled\n } = swiper;\n if (!enabled) return;\n if (!params.simulateTouch && e.pointerType === 'mouse') return;\n if (swiper.animating && params.preventInteractionOnTransition) {\n return;\n }\n if (!swiper.animating && params.cssMode && params.loop) {\n swiper.loopFix();\n }\n let targetEl = e.target;\n if (params.touchEventsTarget === 'wrapper') {\n if (!elementIsChildOf(targetEl, swiper.wrapperEl)) return;\n }\n if ('which' in e && e.which === 3) return;\n if ('button' in e && e.button > 0) return;\n if (data.isTouched && data.isMoved) return;\n\n // change target el for shadow root component\n const swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== '';\n // eslint-disable-next-line\n const eventPath = e.composedPath ? e.composedPath() : e.path;\n if (swipingClassHasValue && e.target && e.target.shadowRoot && eventPath) {\n targetEl = eventPath[0];\n }\n const noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : `.${params.noSwipingClass}`;\n const isTargetShadow = !!(e.target && e.target.shadowRoot);\n\n // use closestElement for shadow root element to get the actual closest for nested shadow root element\n if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, targetEl) : targetEl.closest(noSwipingSelector))) {\n swiper.allowClick = true;\n return;\n }\n if (params.swipeHandler) {\n if (!targetEl.closest(params.swipeHandler)) return;\n }\n touches.currentX = e.pageX;\n touches.currentY = e.pageY;\n const startX = touches.currentX;\n const startY = touches.currentY;\n\n // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore\n\n if (!preventEdgeSwipe(swiper, e, startX)) {\n return;\n }\n Object.assign(data, {\n isTouched: true,\n isMoved: false,\n allowTouchCallbacks: true,\n isScrolling: undefined,\n startMoving: undefined\n });\n touches.startX = startX;\n touches.startY = startY;\n data.touchStartTime = now();\n swiper.allowClick = true;\n swiper.updateSize();\n swiper.swipeDirection = undefined;\n if (params.threshold > 0) data.allowThresholdMove = false;\n let preventDefault = true;\n if (targetEl.matches(data.focusableElements)) {\n preventDefault = false;\n if (targetEl.nodeName === 'SELECT') {\n data.isTouched = false;\n }\n }\n if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== targetEl && (e.pointerType === 'mouse' || e.pointerType !== 'mouse' && !targetEl.matches(data.focusableElements))) {\n document.activeElement.blur();\n }\n const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;\n if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !targetEl.isContentEditable) {\n e.preventDefault();\n }\n if (params.freeMode && params.freeMode.enabled && swiper.freeMode && swiper.animating && !params.cssMode) {\n swiper.freeMode.onTouchStart();\n }\n swiper.emit('touchStart', e);\n}\n\nfunction onTouchMove(event) {\n const document = getDocument();\n const swiper = this;\n const data = swiper.touchEventsData;\n const {\n params,\n touches,\n rtlTranslate: rtl,\n enabled\n } = swiper;\n if (!enabled) return;\n if (!params.simulateTouch && event.pointerType === 'mouse') return;\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n if (e.type === 'pointermove') {\n if (data.touchId !== null) return; // return from pointer if we use touch\n const id = e.pointerId;\n if (id !== data.pointerId) return;\n }\n let targetTouch;\n if (e.type === 'touchmove') {\n targetTouch = [...e.changedTouches].find(t => t.identifier === data.touchId);\n if (!targetTouch || targetTouch.identifier !== data.touchId) return;\n } else {\n targetTouch = e;\n }\n if (!data.isTouched) {\n if (data.startMoving && data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n return;\n }\n const pageX = targetTouch.pageX;\n const pageY = targetTouch.pageY;\n if (e.preventedByNestedSwiper) {\n touches.startX = pageX;\n touches.startY = pageY;\n return;\n }\n if (!swiper.allowTouchMove) {\n if (!e.target.matches(data.focusableElements)) {\n swiper.allowClick = false;\n }\n if (data.isTouched) {\n Object.assign(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY\n });\n data.touchStartTime = now();\n }\n return;\n }\n if (params.touchReleaseOnEdges && !params.loop) {\n if (swiper.isVertical()) {\n // Vertical\n if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {\n data.isTouched = false;\n data.isMoved = false;\n return;\n }\n } else if (rtl && (pageX > touches.startX && -swiper.translate <= swiper.maxTranslate() || pageX < touches.startX && -swiper.translate >= swiper.minTranslate())) {\n return;\n } else if (!rtl && (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate())) {\n return;\n }\n }\n if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== e.target && e.pointerType !== 'mouse') {\n document.activeElement.blur();\n }\n if (document.activeElement) {\n if (e.target === document.activeElement && e.target.matches(data.focusableElements)) {\n data.isMoved = true;\n swiper.allowClick = false;\n return;\n }\n }\n if (data.allowTouchCallbacks) {\n swiper.emit('touchMove', e);\n }\n touches.previousX = touches.currentX;\n touches.previousY = touches.currentY;\n touches.currentX = pageX;\n touches.currentY = pageY;\n const diffX = touches.currentX - touches.startX;\n const diffY = touches.currentY - touches.startY;\n if (swiper.params.threshold && Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold) return;\n if (typeof data.isScrolling === 'undefined') {\n let touchAngle;\n if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {\n data.isScrolling = false;\n } else {\n // eslint-disable-next-line\n if (diffX * diffX + diffY * diffY >= 25) {\n touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;\n data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;\n }\n }\n }\n if (data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n if (typeof data.startMoving === 'undefined') {\n if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\n data.startMoving = true;\n }\n }\n if (data.isScrolling || e.type === 'touchmove' && data.preventTouchMoveFromPointerMove) {\n data.isTouched = false;\n return;\n }\n if (!data.startMoving) {\n return;\n }\n swiper.allowClick = false;\n if (!params.cssMode && e.cancelable) {\n e.preventDefault();\n }\n if (params.touchMoveStopPropagation && !params.nested) {\n e.stopPropagation();\n }\n let diff = swiper.isHorizontal() ? diffX : diffY;\n let touchesDiff = swiper.isHorizontal() ? touches.currentX - touches.previousX : touches.currentY - touches.previousY;\n if (params.oneWayMovement) {\n diff = Math.abs(diff) * (rtl ? 1 : -1);\n touchesDiff = Math.abs(touchesDiff) * (rtl ? 1 : -1);\n }\n touches.diff = diff;\n diff *= params.touchRatio;\n if (rtl) {\n diff = -diff;\n touchesDiff = -touchesDiff;\n }\n const prevTouchesDirection = swiper.touchesDirection;\n swiper.swipeDirection = diff > 0 ? 'prev' : 'next';\n swiper.touchesDirection = touchesDiff > 0 ? 'prev' : 'next';\n const isLoop = swiper.params.loop && !params.cssMode;\n const allowLoopFix = swiper.touchesDirection === 'next' && swiper.allowSlideNext || swiper.touchesDirection === 'prev' && swiper.allowSlidePrev;\n if (!data.isMoved) {\n if (isLoop && allowLoopFix) {\n swiper.loopFix({\n direction: swiper.swipeDirection\n });\n }\n data.startTranslate = swiper.getTranslate();\n swiper.setTransition(0);\n if (swiper.animating) {\n const evt = new window.CustomEvent('transitionend', {\n bubbles: true,\n cancelable: true,\n detail: {\n bySwiperTouchMove: true\n }\n });\n swiper.wrapperEl.dispatchEvent(evt);\n }\n data.allowMomentumBounce = false;\n // Grab Cursor\n if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(true);\n }\n swiper.emit('sliderFirstMove', e);\n }\n let loopFixed;\n new Date().getTime();\n if (params._loopSwapReset !== false && data.isMoved && data.allowThresholdMove && prevTouchesDirection !== swiper.touchesDirection && isLoop && allowLoopFix && Math.abs(diff) >= 1) {\n Object.assign(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY,\n startTranslate: data.currentTranslate\n });\n data.loopSwapReset = true;\n data.startTranslate = data.currentTranslate;\n return;\n }\n swiper.emit('sliderMove', e);\n data.isMoved = true;\n data.currentTranslate = diff + data.startTranslate;\n let disableParentSwiper = true;\n let resistanceRatio = params.resistanceRatio;\n if (params.touchReleaseOnEdges) {\n resistanceRatio = 0;\n }\n if (diff > 0) {\n if (isLoop && allowLoopFix && !loopFixed && data.allowThresholdMove && data.currentTranslate > (params.centeredSlides ? swiper.minTranslate() - swiper.slidesSizesGrid[swiper.activeIndex + 1] - (params.slidesPerView !== 'auto' && swiper.slides.length - params.slidesPerView >= 2 ? swiper.slidesSizesGrid[swiper.activeIndex + 1] + swiper.params.spaceBetween : 0) - swiper.params.spaceBetween : swiper.minTranslate())) {\n swiper.loopFix({\n direction: 'prev',\n setTranslate: true,\n activeSlideIndex: 0\n });\n }\n if (data.currentTranslate > swiper.minTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) {\n data.currentTranslate = swiper.minTranslate() - 1 + (-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio;\n }\n }\n } else if (diff < 0) {\n if (isLoop && allowLoopFix && !loopFixed && data.allowThresholdMove && data.currentTranslate < (params.centeredSlides ? swiper.maxTranslate() + swiper.slidesSizesGrid[swiper.slidesSizesGrid.length - 1] + swiper.params.spaceBetween + (params.slidesPerView !== 'auto' && swiper.slides.length - params.slidesPerView >= 2 ? swiper.slidesSizesGrid[swiper.slidesSizesGrid.length - 1] + swiper.params.spaceBetween : 0) : swiper.maxTranslate())) {\n swiper.loopFix({\n direction: 'next',\n setTranslate: true,\n activeSlideIndex: swiper.slides.length - (params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(parseFloat(params.slidesPerView, 10)))\n });\n }\n if (data.currentTranslate < swiper.maxTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) {\n data.currentTranslate = swiper.maxTranslate() + 1 - (swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio;\n }\n }\n }\n if (disableParentSwiper) {\n e.preventedByNestedSwiper = true;\n }\n\n // Directions locks\n if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {\n data.currentTranslate = data.startTranslate;\n }\n\n // Threshold\n if (params.threshold > 0) {\n if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {\n if (!data.allowThresholdMove) {\n data.allowThresholdMove = true;\n touches.startX = touches.currentX;\n touches.startY = touches.currentY;\n data.currentTranslate = data.startTranslate;\n touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;\n return;\n }\n } else {\n data.currentTranslate = data.startTranslate;\n return;\n }\n }\n if (!params.followFinger || params.cssMode) return;\n\n // Update active index in free mode\n if (params.freeMode && params.freeMode.enabled && swiper.freeMode || params.watchSlidesProgress) {\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n if (params.freeMode && params.freeMode.enabled && swiper.freeMode) {\n swiper.freeMode.onTouchMove();\n }\n // Update progress\n swiper.updateProgress(data.currentTranslate);\n // Update translate\n swiper.setTranslate(data.currentTranslate);\n}\n\nfunction onTouchEnd(event) {\n const swiper = this;\n const data = swiper.touchEventsData;\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n let targetTouch;\n const isTouchEvent = e.type === 'touchend' || e.type === 'touchcancel';\n if (!isTouchEvent) {\n if (data.touchId !== null) return; // return from pointer if we use touch\n if (e.pointerId !== data.pointerId) return;\n targetTouch = e;\n } else {\n targetTouch = [...e.changedTouches].find(t => t.identifier === data.touchId);\n if (!targetTouch || targetTouch.identifier !== data.touchId) return;\n }\n if (['pointercancel', 'pointerout', 'pointerleave', 'contextmenu'].includes(e.type)) {\n const proceed = ['pointercancel', 'contextmenu'].includes(e.type) && (swiper.browser.isSafari || swiper.browser.isWebView);\n if (!proceed) {\n return;\n }\n }\n data.pointerId = null;\n data.touchId = null;\n const {\n params,\n touches,\n rtlTranslate: rtl,\n slidesGrid,\n enabled\n } = swiper;\n if (!enabled) return;\n if (!params.simulateTouch && e.pointerType === 'mouse') return;\n if (data.allowTouchCallbacks) {\n swiper.emit('touchEnd', e);\n }\n data.allowTouchCallbacks = false;\n if (!data.isTouched) {\n if (data.isMoved && params.grabCursor) {\n swiper.setGrabCursor(false);\n }\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n\n // Return Grab Cursor\n if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(false);\n }\n\n // Time diff\n const touchEndTime = now();\n const timeDiff = touchEndTime - data.touchStartTime;\n\n // Tap, doubleTap, Click\n if (swiper.allowClick) {\n const pathTree = e.path || e.composedPath && e.composedPath();\n swiper.updateClickedSlide(pathTree && pathTree[0] || e.target, pathTree);\n swiper.emit('tap click', e);\n if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {\n swiper.emit('doubleTap doubleClick', e);\n }\n }\n data.lastClickTime = now();\n nextTick(() => {\n if (!swiper.destroyed) swiper.allowClick = true;\n });\n if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 && !data.loopSwapReset || data.currentTranslate === data.startTranslate && !data.loopSwapReset) {\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n let currentPos;\n if (params.followFinger) {\n currentPos = rtl ? swiper.translate : -swiper.translate;\n } else {\n currentPos = -data.currentTranslate;\n }\n if (params.cssMode) {\n return;\n }\n if (params.freeMode && params.freeMode.enabled) {\n swiper.freeMode.onTouchEnd({\n currentPos\n });\n return;\n }\n\n // Find current slide\n const swipeToLast = currentPos >= -swiper.maxTranslate() && !swiper.params.loop;\n let stopIndex = 0;\n let groupSize = swiper.slidesSizesGrid[0];\n for (let i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {\n const increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n if (typeof slidesGrid[i + increment] !== 'undefined') {\n if (swipeToLast || currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment]) {\n stopIndex = i;\n groupSize = slidesGrid[i + increment] - slidesGrid[i];\n }\n } else if (swipeToLast || currentPos >= slidesGrid[i]) {\n stopIndex = i;\n groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];\n }\n }\n let rewindFirstIndex = null;\n let rewindLastIndex = null;\n if (params.rewind) {\n if (swiper.isBeginning) {\n rewindLastIndex = params.virtual && params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n } else if (swiper.isEnd) {\n rewindFirstIndex = 0;\n }\n }\n // Find current slide size\n const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\n const increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n if (timeDiff > params.longSwipesMs) {\n // Long touches\n if (!params.longSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n if (swiper.swipeDirection === 'next') {\n if (ratio >= params.longSwipesRatio) swiper.slideTo(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);else swiper.slideTo(stopIndex);\n }\n if (swiper.swipeDirection === 'prev') {\n if (ratio > 1 - params.longSwipesRatio) {\n swiper.slideTo(stopIndex + increment);\n } else if (rewindLastIndex !== null && ratio < 0 && Math.abs(ratio) > params.longSwipesRatio) {\n swiper.slideTo(rewindLastIndex);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n } else {\n // Short swipes\n if (!params.shortSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n const isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);\n if (!isNavButtonTarget) {\n if (swiper.swipeDirection === 'next') {\n swiper.slideTo(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment);\n }\n if (swiper.swipeDirection === 'prev') {\n swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex);\n }\n } else if (e.target === swiper.navigation.nextEl) {\n swiper.slideTo(stopIndex + increment);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n}\n\nfunction onResize() {\n const swiper = this;\n const {\n params,\n el\n } = swiper;\n if (el && el.offsetWidth === 0) return;\n\n // Breakpoints\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n // Save locks\n const {\n allowSlideNext,\n allowSlidePrev,\n snapGrid\n } = swiper;\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n\n // Disable locks on resize\n swiper.allowSlideNext = true;\n swiper.allowSlidePrev = true;\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateSlidesClasses();\n const isVirtualLoop = isVirtual && params.loop;\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides && !isVirtualLoop) {\n swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n if (swiper.params.loop && !isVirtual) {\n swiper.slideToLoop(swiper.realIndex, 0, false, true);\n } else {\n swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n }\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n clearTimeout(swiper.autoplay.resizeTimeout);\n swiper.autoplay.resizeTimeout = setTimeout(() => {\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n swiper.autoplay.resume();\n }\n }, 500);\n }\n // Return locks after resize\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n}\n\nfunction onClick(e) {\n const swiper = this;\n if (!swiper.enabled) return;\n if (!swiper.allowClick) {\n if (swiper.params.preventClicks) e.preventDefault();\n if (swiper.params.preventClicksPropagation && swiper.animating) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n }\n}\n\nfunction onScroll() {\n const swiper = this;\n const {\n wrapperEl,\n rtlTranslate,\n enabled\n } = swiper;\n if (!enabled) return;\n swiper.previousTranslate = swiper.translate;\n if (swiper.isHorizontal()) {\n swiper.translate = -wrapperEl.scrollLeft;\n } else {\n swiper.translate = -wrapperEl.scrollTop;\n }\n // eslint-disable-next-line\n if (swiper.translate === 0) swiper.translate = 0;\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n let newProgress;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;\n }\n if (newProgress !== swiper.progress) {\n swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);\n }\n swiper.emit('setTranslate', swiper.translate, false);\n}\n\nfunction onLoad(e) {\n const swiper = this;\n processLazyPreloader(swiper, e.target);\n if (swiper.params.cssMode || swiper.params.slidesPerView !== 'auto' && !swiper.params.autoHeight) {\n return;\n }\n swiper.update();\n}\n\nfunction onDocumentTouchStart() {\n const swiper = this;\n if (swiper.documentTouchHandlerProceeded) return;\n swiper.documentTouchHandlerProceeded = true;\n if (swiper.params.touchReleaseOnEdges) {\n swiper.el.style.touchAction = 'auto';\n }\n}\n\nconst events = (swiper, method) => {\n const document = getDocument();\n const {\n params,\n el,\n wrapperEl,\n device\n } = swiper;\n const capture = !!params.nested;\n const domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';\n const swiperMethod = method;\n if (!el || typeof el === 'string') return;\n\n // Touch Events\n document[domMethod]('touchstart', swiper.onDocumentTouchStart, {\n passive: false,\n capture\n });\n el[domMethod]('touchstart', swiper.onTouchStart, {\n passive: false\n });\n el[domMethod]('pointerdown', swiper.onTouchStart, {\n passive: false\n });\n document[domMethod]('touchmove', swiper.onTouchMove, {\n passive: false,\n capture\n });\n document[domMethod]('pointermove', swiper.onTouchMove, {\n passive: false,\n capture\n });\n document[domMethod]('touchend', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointerup', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointercancel', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('touchcancel', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointerout', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointerleave', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('contextmenu', swiper.onTouchEnd, {\n passive: true\n });\n\n // Prevent Links Clicks\n if (params.preventClicks || params.preventClicksPropagation) {\n el[domMethod]('click', swiper.onClick, true);\n }\n if (params.cssMode) {\n wrapperEl[domMethod]('scroll', swiper.onScroll);\n }\n\n // Resize handler\n if (params.updateOnWindowResize) {\n swiper[swiperMethod](device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true);\n } else {\n swiper[swiperMethod]('observerUpdate', onResize, true);\n }\n\n // Images loader\n el[domMethod]('load', swiper.onLoad, {\n capture: true\n });\n};\nfunction attachEvents() {\n const swiper = this;\n const {\n params\n } = swiper;\n swiper.onTouchStart = onTouchStart.bind(swiper);\n swiper.onTouchMove = onTouchMove.bind(swiper);\n swiper.onTouchEnd = onTouchEnd.bind(swiper);\n swiper.onDocumentTouchStart = onDocumentTouchStart.bind(swiper);\n if (params.cssMode) {\n swiper.onScroll = onScroll.bind(swiper);\n }\n swiper.onClick = onClick.bind(swiper);\n swiper.onLoad = onLoad.bind(swiper);\n events(swiper, 'on');\n}\nfunction detachEvents() {\n const swiper = this;\n events(swiper, 'off');\n}\nvar events$1 = {\n attachEvents,\n detachEvents\n};\n\nconst isGridEnabled = (swiper, params) => {\n return swiper.grid && params.grid && params.grid.rows > 1;\n};\nfunction setBreakpoint() {\n const swiper = this;\n const {\n realIndex,\n initialized,\n params,\n el\n } = swiper;\n const breakpoints = params.breakpoints;\n if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return;\n const document = getDocument();\n\n // Get breakpoint for window/container width and update parameters\n const breakpointsBase = params.breakpointsBase === 'window' || !params.breakpointsBase ? params.breakpointsBase : 'container';\n const breakpointContainer = ['window', 'container'].includes(params.breakpointsBase) || !params.breakpointsBase ? swiper.el : document.querySelector(params.breakpointsBase);\n const breakpoint = swiper.getBreakpoint(breakpoints, breakpointsBase, breakpointContainer);\n if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;\n const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;\n const breakpointParams = breakpointOnlyParams || swiper.originalParams;\n const wasMultiRow = isGridEnabled(swiper, params);\n const isMultiRow = isGridEnabled(swiper, breakpointParams);\n const wasGrabCursor = swiper.params.grabCursor;\n const isGrabCursor = breakpointParams.grabCursor;\n const wasEnabled = params.enabled;\n if (wasMultiRow && !isMultiRow) {\n el.classList.remove(`${params.containerModifierClass}grid`, `${params.containerModifierClass}grid-column`);\n swiper.emitContainerClasses();\n } else if (!wasMultiRow && isMultiRow) {\n el.classList.add(`${params.containerModifierClass}grid`);\n if (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column' || !breakpointParams.grid.fill && params.grid.fill === 'column') {\n el.classList.add(`${params.containerModifierClass}grid-column`);\n }\n swiper.emitContainerClasses();\n }\n if (wasGrabCursor && !isGrabCursor) {\n swiper.unsetGrabCursor();\n } else if (!wasGrabCursor && isGrabCursor) {\n swiper.setGrabCursor();\n }\n\n // Toggle navigation, pagination, scrollbar\n ['navigation', 'pagination', 'scrollbar'].forEach(prop => {\n if (typeof breakpointParams[prop] === 'undefined') return;\n const wasModuleEnabled = params[prop] && params[prop].enabled;\n const isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled;\n if (wasModuleEnabled && !isModuleEnabled) {\n swiper[prop].disable();\n }\n if (!wasModuleEnabled && isModuleEnabled) {\n swiper[prop].enable();\n }\n });\n const directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;\n const needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);\n const wasLoop = params.loop;\n if (directionChanged && initialized) {\n swiper.changeDirection();\n }\n extend(swiper.params, breakpointParams);\n const isEnabled = swiper.params.enabled;\n const hasLoop = swiper.params.loop;\n Object.assign(swiper, {\n allowTouchMove: swiper.params.allowTouchMove,\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev\n });\n if (wasEnabled && !isEnabled) {\n swiper.disable();\n } else if (!wasEnabled && isEnabled) {\n swiper.enable();\n }\n swiper.currentBreakpoint = breakpoint;\n swiper.emit('_beforeBreakpoint', breakpointParams);\n if (initialized) {\n if (needsReLoop) {\n swiper.loopDestroy();\n swiper.loopCreate(realIndex);\n swiper.updateSlides();\n } else if (!wasLoop && hasLoop) {\n swiper.loopCreate(realIndex);\n swiper.updateSlides();\n } else if (wasLoop && !hasLoop) {\n swiper.loopDestroy();\n }\n }\n swiper.emit('breakpoint', breakpointParams);\n}\n\nfunction getBreakpoint(breakpoints, base, containerEl) {\n if (base === void 0) {\n base = 'window';\n }\n if (!breakpoints || base === 'container' && !containerEl) return undefined;\n let breakpoint = false;\n const window = getWindow();\n const currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;\n const points = Object.keys(breakpoints).map(point => {\n if (typeof point === 'string' && point.indexOf('@') === 0) {\n const minRatio = parseFloat(point.substr(1));\n const value = currentHeight * minRatio;\n return {\n value,\n point\n };\n }\n return {\n value: point,\n point\n };\n });\n points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10));\n for (let i = 0; i < points.length; i += 1) {\n const {\n point,\n value\n } = points[i];\n if (base === 'window') {\n if (window.matchMedia(`(min-width: ${value}px)`).matches) {\n breakpoint = point;\n }\n } else if (value <= containerEl.clientWidth) {\n breakpoint = point;\n }\n }\n return breakpoint || 'max';\n}\n\nvar breakpoints = {\n setBreakpoint,\n getBreakpoint\n};\n\nfunction prepareClasses(entries, prefix) {\n const resultClasses = [];\n entries.forEach(item => {\n if (typeof item === 'object') {\n Object.keys(item).forEach(classNames => {\n if (item[classNames]) {\n resultClasses.push(prefix + classNames);\n }\n });\n } else if (typeof item === 'string') {\n resultClasses.push(prefix + item);\n }\n });\n return resultClasses;\n}\nfunction addClasses() {\n const swiper = this;\n const {\n classNames,\n params,\n rtl,\n el,\n device\n } = swiper;\n // prettier-ignore\n const suffixes = prepareClasses(['initialized', params.direction, {\n 'free-mode': swiper.params.freeMode && params.freeMode.enabled\n }, {\n 'autoheight': params.autoHeight\n }, {\n 'rtl': rtl\n }, {\n 'grid': params.grid && params.grid.rows > 1\n }, {\n 'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column'\n }, {\n 'android': device.android\n }, {\n 'ios': device.ios\n }, {\n 'css-mode': params.cssMode\n }, {\n 'centered': params.cssMode && params.centeredSlides\n }, {\n 'watch-progress': params.watchSlidesProgress\n }], params.containerModifierClass);\n classNames.push(...suffixes);\n el.classList.add(...classNames);\n swiper.emitContainerClasses();\n}\n\nfunction removeClasses() {\n const swiper = this;\n const {\n el,\n classNames\n } = swiper;\n if (!el || typeof el === 'string') return;\n el.classList.remove(...classNames);\n swiper.emitContainerClasses();\n}\n\nvar classes = {\n addClasses,\n removeClasses\n};\n\nfunction checkOverflow() {\n const swiper = this;\n const {\n isLocked: wasLocked,\n params\n } = swiper;\n const {\n slidesOffsetBefore\n } = params;\n if (slidesOffsetBefore) {\n const lastSlideIndex = swiper.slides.length - 1;\n const lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2;\n swiper.isLocked = swiper.size > lastSlideRightEdge;\n } else {\n swiper.isLocked = swiper.snapGrid.length === 1;\n }\n if (params.allowSlideNext === true) {\n swiper.allowSlideNext = !swiper.isLocked;\n }\n if (params.allowSlidePrev === true) {\n swiper.allowSlidePrev = !swiper.isLocked;\n }\n if (wasLocked && wasLocked !== swiper.isLocked) {\n swiper.isEnd = false;\n }\n if (wasLocked !== swiper.isLocked) {\n swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\n }\n}\nvar checkOverflow$1 = {\n checkOverflow\n};\n\nvar defaults = {\n init: true,\n direction: 'horizontal',\n oneWayMovement: false,\n swiperElementNodeName: 'SWIPER-CONTAINER',\n touchEventsTarget: 'wrapper',\n initialSlide: 0,\n speed: 300,\n cssMode: false,\n updateOnWindowResize: true,\n resizeObserver: true,\n nested: false,\n createElements: false,\n eventsPrefix: 'swiper',\n enabled: true,\n focusableElements: 'input, select, option, textarea, button, video, label',\n // Overrides\n width: null,\n height: null,\n //\n preventInteractionOnTransition: false,\n // ssr\n userAgent: null,\n url: null,\n // To support iOS's swipe-to-go-back gesture (when being used in-app).\n edgeSwipeDetection: false,\n edgeSwipeThreshold: 20,\n // Autoheight\n autoHeight: false,\n // Set wrapper width\n setWrapperSize: false,\n // Virtual Translate\n virtualTranslate: false,\n // Effects\n effect: 'slide',\n // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\n\n // Breakpoints\n breakpoints: undefined,\n breakpointsBase: 'window',\n // Slides grid\n spaceBetween: 0,\n slidesPerView: 1,\n slidesPerGroup: 1,\n slidesPerGroupSkip: 0,\n slidesPerGroupAuto: false,\n centeredSlides: false,\n centeredSlidesBounds: false,\n slidesOffsetBefore: 0,\n // in px\n slidesOffsetAfter: 0,\n // in px\n normalizeSlideIndex: true,\n centerInsufficientSlides: false,\n // Disable swiper and hide navigation when container not overflow\n watchOverflow: true,\n // Round length\n roundLengths: false,\n // Touches\n touchRatio: 1,\n touchAngle: 45,\n simulateTouch: true,\n shortSwipes: true,\n longSwipes: true,\n longSwipesRatio: 0.5,\n longSwipesMs: 300,\n followFinger: true,\n allowTouchMove: true,\n threshold: 5,\n touchMoveStopPropagation: false,\n touchStartPreventDefault: true,\n touchStartForcePreventDefault: false,\n touchReleaseOnEdges: false,\n // Unique Navigation Elements\n uniqueNavElements: true,\n // Resistance\n resistance: true,\n resistanceRatio: 0.85,\n // Progress\n watchSlidesProgress: false,\n // Cursor\n grabCursor: false,\n // Clicks\n preventClicks: true,\n preventClicksPropagation: true,\n slideToClickedSlide: false,\n // loop\n loop: false,\n loopAddBlankSlides: true,\n loopAdditionalSlides: 0,\n loopPreventsSliding: true,\n // rewind\n rewind: false,\n // Swiping/no swiping\n allowSlidePrev: true,\n allowSlideNext: true,\n swipeHandler: null,\n // '.swipe-handler',\n noSwiping: true,\n noSwipingClass: 'swiper-no-swiping',\n noSwipingSelector: null,\n // Passive Listeners\n passiveListeners: true,\n maxBackfaceHiddenSlides: 10,\n // NS\n containerModifierClass: 'swiper-',\n // NEW\n slideClass: 'swiper-slide',\n slideBlankClass: 'swiper-slide-blank',\n slideActiveClass: 'swiper-slide-active',\n slideVisibleClass: 'swiper-slide-visible',\n slideFullyVisibleClass: 'swiper-slide-fully-visible',\n slideNextClass: 'swiper-slide-next',\n slidePrevClass: 'swiper-slide-prev',\n wrapperClass: 'swiper-wrapper',\n lazyPreloaderClass: 'swiper-lazy-preloader',\n lazyPreloadPrevNext: 0,\n // Callbacks\n runCallbacksOnInit: true,\n // Internals\n _emitClasses: false\n};\n\nfunction moduleExtendParams(params, allModulesParams) {\n return function extendParams(obj) {\n if (obj === void 0) {\n obj = {};\n }\n const moduleParamName = Object.keys(obj)[0];\n const moduleParams = obj[moduleParamName];\n if (typeof moduleParams !== 'object' || moduleParams === null) {\n extend(allModulesParams, obj);\n return;\n }\n if (params[moduleParamName] === true) {\n params[moduleParamName] = {\n enabled: true\n };\n }\n if (moduleParamName === 'navigation' && params[moduleParamName] && params[moduleParamName].enabled && !params[moduleParamName].prevEl && !params[moduleParamName].nextEl) {\n params[moduleParamName].auto = true;\n }\n if (['pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] && params[moduleParamName].enabled && !params[moduleParamName].el) {\n params[moduleParamName].auto = true;\n }\n if (!(moduleParamName in params && 'enabled' in moduleParams)) {\n extend(allModulesParams, obj);\n return;\n }\n if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {\n params[moduleParamName].enabled = true;\n }\n if (!params[moduleParamName]) params[moduleParamName] = {\n enabled: false\n };\n extend(allModulesParams, obj);\n };\n}\n\n/* eslint no-param-reassign: \"off\" */\nconst prototypes = {\n eventsEmitter,\n update,\n translate,\n transition,\n slide,\n loop,\n grabCursor,\n events: events$1,\n breakpoints,\n checkOverflow: checkOverflow$1,\n classes\n};\nconst extendedDefaults = {};\nclass Swiper {\n constructor() {\n let el;\n let params;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') {\n params = args[0];\n } else {\n [el, params] = args;\n }\n if (!params) params = {};\n params = extend({}, params);\n if (el && !params.el) params.el = el;\n const document = getDocument();\n if (params.el && typeof params.el === 'string' && document.querySelectorAll(params.el).length > 1) {\n const swipers = [];\n document.querySelectorAll(params.el).forEach(containerEl => {\n const newParams = extend({}, params, {\n el: containerEl\n });\n swipers.push(new Swiper(newParams));\n });\n // eslint-disable-next-line no-constructor-return\n return swipers;\n }\n\n // Swiper Instance\n const swiper = this;\n swiper.__swiper__ = true;\n swiper.support = getSupport();\n swiper.device = getDevice({\n userAgent: params.userAgent\n });\n swiper.browser = getBrowser();\n swiper.eventsListeners = {};\n swiper.eventsAnyListeners = [];\n swiper.modules = [...swiper.__modules__];\n if (params.modules && Array.isArray(params.modules)) {\n swiper.modules.push(...params.modules);\n }\n const allModulesParams = {};\n swiper.modules.forEach(mod => {\n mod({\n params,\n swiper,\n extendParams: moduleExtendParams(params, allModulesParams),\n on: swiper.on.bind(swiper),\n once: swiper.once.bind(swiper),\n off: swiper.off.bind(swiper),\n emit: swiper.emit.bind(swiper)\n });\n });\n\n // Extend defaults with modules params\n const swiperParams = extend({}, defaults, allModulesParams);\n\n // Extend defaults with passed params\n swiper.params = extend({}, swiperParams, extendedDefaults, params);\n swiper.originalParams = extend({}, swiper.params);\n swiper.passedParams = extend({}, params);\n\n // add event listeners\n if (swiper.params && swiper.params.on) {\n Object.keys(swiper.params.on).forEach(eventName => {\n swiper.on(eventName, swiper.params.on[eventName]);\n });\n }\n if (swiper.params && swiper.params.onAny) {\n swiper.onAny(swiper.params.onAny);\n }\n\n // Extend Swiper\n Object.assign(swiper, {\n enabled: swiper.params.enabled,\n el,\n // Classes\n classNames: [],\n // Slides\n slides: [],\n slidesGrid: [],\n snapGrid: [],\n slidesSizesGrid: [],\n // isDirection\n isHorizontal() {\n return swiper.params.direction === 'horizontal';\n },\n isVertical() {\n return swiper.params.direction === 'vertical';\n },\n // Indexes\n activeIndex: 0,\n realIndex: 0,\n //\n isBeginning: true,\n isEnd: false,\n // Props\n translate: 0,\n previousTranslate: 0,\n progress: 0,\n velocity: 0,\n animating: false,\n cssOverflowAdjustment() {\n // Returns 0 unless `translate` is > 2**23\n // Should be subtracted from css values to prevent overflow\n return Math.trunc(this.translate / 2 ** 23) * 2 ** 23;\n },\n // Locks\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev,\n // Touch Events\n touchEventsData: {\n isTouched: undefined,\n isMoved: undefined,\n allowTouchCallbacks: undefined,\n touchStartTime: undefined,\n isScrolling: undefined,\n currentTranslate: undefined,\n startTranslate: undefined,\n allowThresholdMove: undefined,\n // Form elements to match\n focusableElements: swiper.params.focusableElements,\n // Last click time\n lastClickTime: 0,\n clickTimeout: undefined,\n // Velocities\n velocities: [],\n allowMomentumBounce: undefined,\n startMoving: undefined,\n pointerId: null,\n touchId: null\n },\n // Clicks\n allowClick: true,\n // Touches\n allowTouchMove: swiper.params.allowTouchMove,\n touches: {\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n diff: 0\n },\n // Images\n imagesToLoad: [],\n imagesLoaded: 0\n });\n swiper.emit('_swiper');\n\n // Init\n if (swiper.params.init) {\n swiper.init();\n }\n\n // Return app instance\n // eslint-disable-next-line no-constructor-return\n return swiper;\n }\n getDirectionLabel(property) {\n if (this.isHorizontal()) {\n return property;\n }\n // prettier-ignore\n return {\n 'width': 'height',\n 'margin-top': 'margin-left',\n 'margin-bottom ': 'margin-right',\n 'margin-left': 'margin-top',\n 'margin-right': 'margin-bottom',\n 'padding-left': 'padding-top',\n 'padding-right': 'padding-bottom',\n 'marginRight': 'marginBottom'\n }[property];\n }\n getSlideIndex(slideEl) {\n const {\n slidesEl,\n params\n } = this;\n const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);\n const firstSlideIndex = elementIndex(slides[0]);\n return elementIndex(slideEl) - firstSlideIndex;\n }\n getSlideIndexByData(index) {\n return this.getSlideIndex(this.slides.find(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === index));\n }\n getSlideIndexWhenGrid(index) {\n if (this.grid && this.params.grid && this.params.grid.rows > 1) {\n if (this.params.grid.fill === 'column') {\n index = Math.floor(index / this.params.grid.rows);\n } else if (this.params.grid.fill === 'row') {\n index = index % Math.ceil(this.slides.length / this.params.grid.rows);\n }\n }\n return index;\n }\n recalcSlides() {\n const swiper = this;\n const {\n slidesEl,\n params\n } = swiper;\n swiper.slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);\n }\n enable() {\n const swiper = this;\n if (swiper.enabled) return;\n swiper.enabled = true;\n if (swiper.params.grabCursor) {\n swiper.setGrabCursor();\n }\n swiper.emit('enable');\n }\n disable() {\n const swiper = this;\n if (!swiper.enabled) return;\n swiper.enabled = false;\n if (swiper.params.grabCursor) {\n swiper.unsetGrabCursor();\n }\n swiper.emit('disable');\n }\n setProgress(progress, speed) {\n const swiper = this;\n progress = Math.min(Math.max(progress, 0), 1);\n const min = swiper.minTranslate();\n const max = swiper.maxTranslate();\n const current = (max - min) * progress + min;\n swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n emitContainerClasses() {\n const swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n const cls = swiper.el.className.split(' ').filter(className => {\n return className.indexOf('swiper') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;\n });\n swiper.emit('_containerClasses', cls.join(' '));\n }\n getSlideClasses(slideEl) {\n const swiper = this;\n if (swiper.destroyed) return '';\n return slideEl.className.split(' ').filter(className => {\n return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0;\n }).join(' ');\n }\n emitSlidesClasses() {\n const swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n const updates = [];\n swiper.slides.forEach(slideEl => {\n const classNames = swiper.getSlideClasses(slideEl);\n updates.push({\n slideEl,\n classNames\n });\n swiper.emit('_slideClass', slideEl, classNames);\n });\n swiper.emit('_slideClasses', updates);\n }\n slidesPerViewDynamic(view, exact) {\n if (view === void 0) {\n view = 'current';\n }\n if (exact === void 0) {\n exact = false;\n }\n const swiper = this;\n const {\n params,\n slides,\n slidesGrid,\n slidesSizesGrid,\n size: swiperSize,\n activeIndex\n } = swiper;\n let spv = 1;\n if (typeof params.slidesPerView === 'number') return params.slidesPerView;\n if (params.centeredSlides) {\n let slideSize = slides[activeIndex] ? Math.ceil(slides[activeIndex].swiperSlideSize) : 0;\n let breakLoop;\n for (let i = activeIndex + 1; i < slides.length; i += 1) {\n if (slides[i] && !breakLoop) {\n slideSize += Math.ceil(slides[i].swiperSlideSize);\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n for (let i = activeIndex - 1; i >= 0; i -= 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n } else {\n // eslint-disable-next-line\n if (view === 'current') {\n for (let i = activeIndex + 1; i < slides.length; i += 1) {\n const slideInView = exact ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] < swiperSize : slidesGrid[i] - slidesGrid[activeIndex] < swiperSize;\n if (slideInView) {\n spv += 1;\n }\n }\n } else {\n // previous\n for (let i = activeIndex - 1; i >= 0; i -= 1) {\n const slideInView = slidesGrid[activeIndex] - slidesGrid[i] < swiperSize;\n if (slideInView) {\n spv += 1;\n }\n }\n }\n }\n return spv;\n }\n update() {\n const swiper = this;\n if (!swiper || swiper.destroyed) return;\n const {\n snapGrid,\n params\n } = swiper;\n // Breakpoints\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n [...swiper.el.querySelectorAll('[loading=\"lazy\"]')].forEach(imageEl => {\n if (imageEl.complete) {\n processLazyPreloader(swiper, imageEl);\n }\n });\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n function setTranslate() {\n const translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\n const newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());\n swiper.setTranslate(newTranslate);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n let translated;\n if (params.freeMode && params.freeMode.enabled && !params.cssMode) {\n setTranslate();\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n } else {\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !params.centeredSlides) {\n const slides = swiper.virtual && params.virtual.enabled ? swiper.virtual.slides : swiper.slides;\n translated = swiper.slideTo(slides.length - 1, 0, false, true);\n } else {\n translated = swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n if (!translated) {\n setTranslate();\n }\n }\n if (params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n swiper.emit('update');\n }\n changeDirection(newDirection, needUpdate) {\n if (needUpdate === void 0) {\n needUpdate = true;\n }\n const swiper = this;\n const currentDirection = swiper.params.direction;\n if (!newDirection) {\n // eslint-disable-next-line\n newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';\n }\n if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {\n return swiper;\n }\n swiper.el.classList.remove(`${swiper.params.containerModifierClass}${currentDirection}`);\n swiper.el.classList.add(`${swiper.params.containerModifierClass}${newDirection}`);\n swiper.emitContainerClasses();\n swiper.params.direction = newDirection;\n swiper.slides.forEach(slideEl => {\n if (newDirection === 'vertical') {\n slideEl.style.width = '';\n } else {\n slideEl.style.height = '';\n }\n });\n swiper.emit('changeDirection');\n if (needUpdate) swiper.update();\n return swiper;\n }\n changeLanguageDirection(direction) {\n const swiper = this;\n if (swiper.rtl && direction === 'rtl' || !swiper.rtl && direction === 'ltr') return;\n swiper.rtl = direction === 'rtl';\n swiper.rtlTranslate = swiper.params.direction === 'horizontal' && swiper.rtl;\n if (swiper.rtl) {\n swiper.el.classList.add(`${swiper.params.containerModifierClass}rtl`);\n swiper.el.dir = 'rtl';\n } else {\n swiper.el.classList.remove(`${swiper.params.containerModifierClass}rtl`);\n swiper.el.dir = 'ltr';\n }\n swiper.update();\n }\n mount(element) {\n const swiper = this;\n if (swiper.mounted) return true;\n\n // Find el\n let el = element || swiper.params.el;\n if (typeof el === 'string') {\n el = document.querySelector(el);\n }\n if (!el) {\n return false;\n }\n el.swiper = swiper;\n if (el.parentNode && el.parentNode.host && el.parentNode.host.nodeName === swiper.params.swiperElementNodeName.toUpperCase()) {\n swiper.isElement = true;\n }\n const getWrapperSelector = () => {\n return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`;\n };\n const getWrapper = () => {\n if (el && el.shadowRoot && el.shadowRoot.querySelector) {\n const res = el.shadowRoot.querySelector(getWrapperSelector());\n // Children needs to return slot items\n return res;\n }\n return elementChildren(el, getWrapperSelector())[0];\n };\n // Find Wrapper\n let wrapperEl = getWrapper();\n if (!wrapperEl && swiper.params.createElements) {\n wrapperEl = createElement('div', swiper.params.wrapperClass);\n el.append(wrapperEl);\n elementChildren(el, `.${swiper.params.slideClass}`).forEach(slideEl => {\n wrapperEl.append(slideEl);\n });\n }\n Object.assign(swiper, {\n el,\n wrapperEl,\n slidesEl: swiper.isElement && !el.parentNode.host.slideSlots ? el.parentNode.host : wrapperEl,\n hostEl: swiper.isElement ? el.parentNode.host : el,\n mounted: true,\n // RTL\n rtl: el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl',\n rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl'),\n wrongRTL: elementStyle(wrapperEl, 'display') === '-webkit-box'\n });\n return true;\n }\n init(el) {\n const swiper = this;\n if (swiper.initialized) return swiper;\n const mounted = swiper.mount(el);\n if (mounted === false) return swiper;\n swiper.emit('beforeInit');\n\n // Set breakpoint\n if (swiper.params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n // Add Classes\n swiper.addClasses();\n\n // Update size\n swiper.updateSize();\n\n // Update slides\n swiper.updateSlides();\n if (swiper.params.watchOverflow) {\n swiper.checkOverflow();\n }\n\n // Set Grab Cursor\n if (swiper.params.grabCursor && swiper.enabled) {\n swiper.setGrabCursor();\n }\n\n // Slide To Initial Slide\n if (swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) {\n swiper.slideTo(swiper.params.initialSlide + swiper.virtual.slidesBefore, 0, swiper.params.runCallbacksOnInit, false, true);\n } else {\n swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);\n }\n\n // Create loop\n if (swiper.params.loop) {\n swiper.loopCreate(undefined, true);\n }\n\n // Attach events\n swiper.attachEvents();\n const lazyElements = [...swiper.el.querySelectorAll('[loading=\"lazy\"]')];\n if (swiper.isElement) {\n lazyElements.push(...swiper.hostEl.querySelectorAll('[loading=\"lazy\"]'));\n }\n lazyElements.forEach(imageEl => {\n if (imageEl.complete) {\n processLazyPreloader(swiper, imageEl);\n } else {\n imageEl.addEventListener('load', e => {\n processLazyPreloader(swiper, e.target);\n });\n }\n });\n preload(swiper);\n\n // Init Flag\n swiper.initialized = true;\n preload(swiper);\n\n // Emit\n swiper.emit('init');\n swiper.emit('afterInit');\n return swiper;\n }\n destroy(deleteInstance, cleanStyles) {\n if (deleteInstance === void 0) {\n deleteInstance = true;\n }\n if (cleanStyles === void 0) {\n cleanStyles = true;\n }\n const swiper = this;\n const {\n params,\n el,\n wrapperEl,\n slides\n } = swiper;\n if (typeof swiper.params === 'undefined' || swiper.destroyed) {\n return null;\n }\n swiper.emit('beforeDestroy');\n\n // Init Flag\n swiper.initialized = false;\n\n // Detach events\n swiper.detachEvents();\n\n // Destroy loop\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n // Cleanup styles\n if (cleanStyles) {\n swiper.removeClasses();\n if (el && typeof el !== 'string') {\n el.removeAttribute('style');\n }\n if (wrapperEl) {\n wrapperEl.removeAttribute('style');\n }\n if (slides && slides.length) {\n slides.forEach(slideEl => {\n slideEl.classList.remove(params.slideVisibleClass, params.slideFullyVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass);\n slideEl.removeAttribute('style');\n slideEl.removeAttribute('data-swiper-slide-index');\n });\n }\n }\n swiper.emit('destroy');\n\n // Detach emitter events\n Object.keys(swiper.eventsListeners).forEach(eventName => {\n swiper.off(eventName);\n });\n if (deleteInstance !== false) {\n if (swiper.el && typeof swiper.el !== 'string') {\n swiper.el.swiper = null;\n }\n deleteProps(swiper);\n }\n swiper.destroyed = true;\n return null;\n }\n static extendDefaults(newDefaults) {\n extend(extendedDefaults, newDefaults);\n }\n static get extendedDefaults() {\n return extendedDefaults;\n }\n static get defaults() {\n return defaults;\n }\n static installModule(mod) {\n if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = [];\n const modules = Swiper.prototype.__modules__;\n if (typeof mod === 'function' && modules.indexOf(mod) < 0) {\n modules.push(mod);\n }\n }\n static use(module) {\n if (Array.isArray(module)) {\n module.forEach(m => Swiper.installModule(m));\n return Swiper;\n }\n Swiper.installModule(module);\n return Swiper;\n }\n}\nObject.keys(prototypes).forEach(prototypeGroup => {\n Object.keys(prototypes[prototypeGroup]).forEach(protoMethod => {\n Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\n });\n});\nSwiper.use([Resize, Observer]);\n\nexport { Swiper as S, defaults as d };\n","import { g as getDocument, a as getWindow } from '../shared/ssr-window.esm.mjs';\nimport { b as elementParents, d as elementOffset } from '../shared/utils.mjs';\n\n/* eslint-disable consistent-return */\nfunction Keyboard(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n const document = getDocument();\n const window = getWindow();\n swiper.keyboard = {\n enabled: false\n };\n extendParams({\n keyboard: {\n enabled: false,\n onlyInViewport: true,\n pageUpDown: true\n }\n });\n function handle(event) {\n if (!swiper.enabled) return;\n const {\n rtlTranslate: rtl\n } = swiper;\n let e = event;\n if (e.originalEvent) e = e.originalEvent; // jquery fix\n const kc = e.keyCode || e.charCode;\n const pageUpDown = swiper.params.keyboard.pageUpDown;\n const isPageUp = pageUpDown && kc === 33;\n const isPageDown = pageUpDown && kc === 34;\n const isArrowLeft = kc === 37;\n const isArrowRight = kc === 39;\n const isArrowUp = kc === 38;\n const isArrowDown = kc === 40;\n // Directions locks\n if (!swiper.allowSlideNext && (swiper.isHorizontal() && isArrowRight || swiper.isVertical() && isArrowDown || isPageDown)) {\n return false;\n }\n if (!swiper.allowSlidePrev && (swiper.isHorizontal() && isArrowLeft || swiper.isVertical() && isArrowUp || isPageUp)) {\n return false;\n }\n if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) {\n return undefined;\n }\n if (document.activeElement && (document.activeElement.isContentEditable || document.activeElement.nodeName && (document.activeElement.nodeName.toLowerCase() === 'input' || document.activeElement.nodeName.toLowerCase() === 'textarea'))) {\n return undefined;\n }\n if (swiper.params.keyboard.onlyInViewport && (isPageUp || isPageDown || isArrowLeft || isArrowRight || isArrowUp || isArrowDown)) {\n let inView = false;\n // Check that swiper should be inside of visible area of window\n if (elementParents(swiper.el, `.${swiper.params.slideClass}, swiper-slide`).length > 0 && elementParents(swiper.el, `.${swiper.params.slideActiveClass}`).length === 0) {\n return undefined;\n }\n const el = swiper.el;\n const swiperWidth = el.clientWidth;\n const swiperHeight = el.clientHeight;\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n const swiperOffset = elementOffset(el);\n if (rtl) swiperOffset.left -= el.scrollLeft;\n const swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiperWidth, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiperHeight], [swiperOffset.left + swiperWidth, swiperOffset.top + swiperHeight]];\n for (let i = 0; i < swiperCoord.length; i += 1) {\n const point = swiperCoord[i];\n if (point[0] >= 0 && point[0] <= windowWidth && point[1] >= 0 && point[1] <= windowHeight) {\n if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line\n inView = true;\n }\n }\n if (!inView) return undefined;\n }\n if (swiper.isHorizontal()) {\n if (isPageUp || isPageDown || isArrowLeft || isArrowRight) {\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n }\n if ((isPageDown || isArrowRight) && !rtl || (isPageUp || isArrowLeft) && rtl) swiper.slideNext();\n if ((isPageUp || isArrowLeft) && !rtl || (isPageDown || isArrowRight) && rtl) swiper.slidePrev();\n } else {\n if (isPageUp || isPageDown || isArrowUp || isArrowDown) {\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n }\n if (isPageDown || isArrowDown) swiper.slideNext();\n if (isPageUp || isArrowUp) swiper.slidePrev();\n }\n emit('keyPress', kc);\n return undefined;\n }\n function enable() {\n if (swiper.keyboard.enabled) return;\n document.addEventListener('keydown', handle);\n swiper.keyboard.enabled = true;\n }\n function disable() {\n if (!swiper.keyboard.enabled) return;\n document.removeEventListener('keydown', handle);\n swiper.keyboard.enabled = false;\n }\n on('init', () => {\n if (swiper.params.keyboard.enabled) {\n enable();\n }\n });\n on('destroy', () => {\n if (swiper.keyboard.enabled) {\n disable();\n }\n });\n Object.assign(swiper.keyboard, {\n enable,\n disable\n });\n}\n\nexport { Keyboard as default };\n","import { e as elementChildren, c as createElement } from './utils.mjs';\n\nfunction createElementIfNotDefined(swiper, originalParams, params, checkProps) {\n if (swiper.params.createElements) {\n Object.keys(checkProps).forEach(key => {\n if (!params[key] && params.auto === true) {\n let element = elementChildren(swiper.el, `.${checkProps[key]}`)[0];\n if (!element) {\n element = createElement('div', checkProps[key]);\n element.className = checkProps[key];\n swiper.el.append(element);\n }\n params[key] = element;\n originalParams[key] = element;\n }\n });\n }\n return params;\n}\n\nexport { createElementIfNotDefined as c };\n","import { c as createElementIfNotDefined } from '../shared/create-element-if-not-defined.mjs';\nimport { m as makeElementsArray } from '../shared/utils.mjs';\n\nfunction Navigation(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n extendParams({\n navigation: {\n nextEl: null,\n prevEl: null,\n hideOnClick: false,\n disabledClass: 'swiper-button-disabled',\n hiddenClass: 'swiper-button-hidden',\n lockClass: 'swiper-button-lock',\n navigationDisabledClass: 'swiper-navigation-disabled'\n }\n });\n swiper.navigation = {\n nextEl: null,\n prevEl: null\n };\n function getEl(el) {\n let res;\n if (el && typeof el === 'string' && swiper.isElement) {\n res = swiper.el.querySelector(el) || swiper.hostEl.querySelector(el);\n if (res) return res;\n }\n if (el) {\n if (typeof el === 'string') res = [...document.querySelectorAll(el)];\n if (swiper.params.uniqueNavElements && typeof el === 'string' && res && res.length > 1 && swiper.el.querySelectorAll(el).length === 1) {\n res = swiper.el.querySelector(el);\n } else if (res && res.length === 1) {\n res = res[0];\n }\n }\n if (el && !res) return el;\n // if (Array.isArray(res) && res.length === 1) res = res[0];\n return res;\n }\n function toggleEl(el, disabled) {\n const params = swiper.params.navigation;\n el = makeElementsArray(el);\n el.forEach(subEl => {\n if (subEl) {\n subEl.classList[disabled ? 'add' : 'remove'](...params.disabledClass.split(' '));\n if (subEl.tagName === 'BUTTON') subEl.disabled = disabled;\n if (swiper.params.watchOverflow && swiper.enabled) {\n subEl.classList[swiper.isLocked ? 'add' : 'remove'](params.lockClass);\n }\n }\n });\n }\n function update() {\n // Update Navigation Buttons\n const {\n nextEl,\n prevEl\n } = swiper.navigation;\n if (swiper.params.loop) {\n toggleEl(prevEl, false);\n toggleEl(nextEl, false);\n return;\n }\n toggleEl(prevEl, swiper.isBeginning && !swiper.params.rewind);\n toggleEl(nextEl, swiper.isEnd && !swiper.params.rewind);\n }\n function onPrevClick(e) {\n e.preventDefault();\n if (swiper.isBeginning && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slidePrev();\n emit('navigationPrev');\n }\n function onNextClick(e) {\n e.preventDefault();\n if (swiper.isEnd && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slideNext();\n emit('navigationNext');\n }\n function init() {\n const params = swiper.params.navigation;\n swiper.params.navigation = createElementIfNotDefined(swiper, swiper.originalParams.navigation, swiper.params.navigation, {\n nextEl: 'swiper-button-next',\n prevEl: 'swiper-button-prev'\n });\n if (!(params.nextEl || params.prevEl)) return;\n let nextEl = getEl(params.nextEl);\n let prevEl = getEl(params.prevEl);\n Object.assign(swiper.navigation, {\n nextEl,\n prevEl\n });\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n const initButton = (el, dir) => {\n if (el) {\n el.addEventListener('click', dir === 'next' ? onNextClick : onPrevClick);\n }\n if (!swiper.enabled && el) {\n el.classList.add(...params.lockClass.split(' '));\n }\n };\n nextEl.forEach(el => initButton(el, 'next'));\n prevEl.forEach(el => initButton(el, 'prev'));\n }\n function destroy() {\n let {\n nextEl,\n prevEl\n } = swiper.navigation;\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n const destroyButton = (el, dir) => {\n el.removeEventListener('click', dir === 'next' ? onNextClick : onPrevClick);\n el.classList.remove(...swiper.params.navigation.disabledClass.split(' '));\n };\n nextEl.forEach(el => destroyButton(el, 'next'));\n prevEl.forEach(el => destroyButton(el, 'prev'));\n }\n on('init', () => {\n if (swiper.params.navigation.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n update();\n }\n });\n on('toEdge fromEdge lock unlock', () => {\n update();\n });\n on('destroy', () => {\n destroy();\n });\n on('enable disable', () => {\n let {\n nextEl,\n prevEl\n } = swiper.navigation;\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n if (swiper.enabled) {\n update();\n return;\n }\n [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList.add(swiper.params.navigation.lockClass));\n });\n on('click', (_s, e) => {\n let {\n nextEl,\n prevEl\n } = swiper.navigation;\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n const targetEl = e.target;\n let targetIsButton = prevEl.includes(targetEl) || nextEl.includes(targetEl);\n if (swiper.isElement && !targetIsButton) {\n const path = e.path || e.composedPath && e.composedPath();\n if (path) {\n targetIsButton = path.find(pathEl => nextEl.includes(pathEl) || prevEl.includes(pathEl));\n }\n }\n if (swiper.params.navigation.hideOnClick && !targetIsButton) {\n if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return;\n let isHidden;\n if (nextEl.length) {\n isHidden = nextEl[0].classList.contains(swiper.params.navigation.hiddenClass);\n } else if (prevEl.length) {\n isHidden = prevEl[0].classList.contains(swiper.params.navigation.hiddenClass);\n }\n if (isHidden === true) {\n emit('navigationShow');\n } else {\n emit('navigationHide');\n }\n [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList.toggle(swiper.params.navigation.hiddenClass));\n }\n });\n const enable = () => {\n swiper.el.classList.remove(...swiper.params.navigation.navigationDisabledClass.split(' '));\n init();\n update();\n };\n const disable = () => {\n swiper.el.classList.add(...swiper.params.navigation.navigationDisabledClass.split(' '));\n destroy();\n };\n Object.assign(swiper.navigation, {\n enable,\n disable,\n update,\n init,\n destroy\n });\n}\n\nexport { Navigation as default };\n","function classesToSelector(classes) {\n if (classes === void 0) {\n classes = '';\n }\n return `.${classes.trim().replace(/([\\.:!+\\/()[\\]])/g, '\\\\$1') // eslint-disable-line\n .replace(/ /g, '.')}`;\n}\n\nexport { classesToSelector as c };\n","import { c as classesToSelector } from '../shared/classes-to-selector.mjs';\nimport { c as createElementIfNotDefined } from '../shared/create-element-if-not-defined.mjs';\nimport { m as makeElementsArray, h as elementOuterSize, i as elementIndex, s as setInnerHTML, b as elementParents } from '../shared/utils.mjs';\n\nfunction Pagination(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n const pfx = 'swiper-pagination';\n extendParams({\n pagination: {\n el: null,\n bulletElement: 'span',\n clickable: false,\n hideOnClick: false,\n renderBullet: null,\n renderProgressbar: null,\n renderFraction: null,\n renderCustom: null,\n progressbarOpposite: false,\n type: 'bullets',\n // 'bullets' or 'progressbar' or 'fraction' or 'custom'\n dynamicBullets: false,\n dynamicMainBullets: 1,\n formatFractionCurrent: number => number,\n formatFractionTotal: number => number,\n bulletClass: `${pfx}-bullet`,\n bulletActiveClass: `${pfx}-bullet-active`,\n modifierClass: `${pfx}-`,\n currentClass: `${pfx}-current`,\n totalClass: `${pfx}-total`,\n hiddenClass: `${pfx}-hidden`,\n progressbarFillClass: `${pfx}-progressbar-fill`,\n progressbarOppositeClass: `${pfx}-progressbar-opposite`,\n clickableClass: `${pfx}-clickable`,\n lockClass: `${pfx}-lock`,\n horizontalClass: `${pfx}-horizontal`,\n verticalClass: `${pfx}-vertical`,\n paginationDisabledClass: `${pfx}-disabled`\n }\n });\n swiper.pagination = {\n el: null,\n bullets: []\n };\n let bulletSize;\n let dynamicBulletIndex = 0;\n function isPaginationDisabled() {\n return !swiper.params.pagination.el || !swiper.pagination.el || Array.isArray(swiper.pagination.el) && swiper.pagination.el.length === 0;\n }\n function setSideBullets(bulletEl, position) {\n const {\n bulletActiveClass\n } = swiper.params.pagination;\n if (!bulletEl) return;\n bulletEl = bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`];\n if (bulletEl) {\n bulletEl.classList.add(`${bulletActiveClass}-${position}`);\n bulletEl = bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`];\n if (bulletEl) {\n bulletEl.classList.add(`${bulletActiveClass}-${position}-${position}`);\n }\n }\n }\n function getMoveDirection(prevIndex, nextIndex, length) {\n prevIndex = prevIndex % length;\n nextIndex = nextIndex % length;\n if (nextIndex === prevIndex + 1) {\n return 'next';\n } else if (nextIndex === prevIndex - 1) {\n return 'previous';\n }\n return;\n }\n function onBulletClick(e) {\n const bulletEl = e.target.closest(classesToSelector(swiper.params.pagination.bulletClass));\n if (!bulletEl) {\n return;\n }\n e.preventDefault();\n const index = elementIndex(bulletEl) * swiper.params.slidesPerGroup;\n if (swiper.params.loop) {\n if (swiper.realIndex === index) return;\n const moveDirection = getMoveDirection(swiper.realIndex, index, swiper.slides.length);\n if (moveDirection === 'next') {\n swiper.slideNext();\n } else if (moveDirection === 'previous') {\n swiper.slidePrev();\n } else {\n swiper.slideToLoop(index);\n }\n } else {\n swiper.slideTo(index);\n }\n }\n function update() {\n // Render || Update Pagination bullets/items\n const rtl = swiper.rtl;\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n let el = swiper.pagination.el;\n el = makeElementsArray(el);\n // Current/Total\n let current;\n let previousIndex;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n const total = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n if (swiper.params.loop) {\n previousIndex = swiper.previousRealIndex || 0;\n current = swiper.params.slidesPerGroup > 1 ? Math.floor(swiper.realIndex / swiper.params.slidesPerGroup) : swiper.realIndex;\n } else if (typeof swiper.snapIndex !== 'undefined') {\n current = swiper.snapIndex;\n previousIndex = swiper.previousSnapIndex;\n } else {\n previousIndex = swiper.previousIndex || 0;\n current = swiper.activeIndex || 0;\n }\n // Types\n if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {\n const bullets = swiper.pagination.bullets;\n let firstIndex;\n let lastIndex;\n let midIndex;\n if (params.dynamicBullets) {\n bulletSize = elementOuterSize(bullets[0], swiper.isHorizontal() ? 'width' : 'height', true);\n el.forEach(subEl => {\n subEl.style[swiper.isHorizontal() ? 'width' : 'height'] = `${bulletSize * (params.dynamicMainBullets + 4)}px`;\n });\n if (params.dynamicMainBullets > 1 && previousIndex !== undefined) {\n dynamicBulletIndex += current - (previousIndex || 0);\n if (dynamicBulletIndex > params.dynamicMainBullets - 1) {\n dynamicBulletIndex = params.dynamicMainBullets - 1;\n } else if (dynamicBulletIndex < 0) {\n dynamicBulletIndex = 0;\n }\n }\n firstIndex = Math.max(current - dynamicBulletIndex, 0);\n lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\n midIndex = (lastIndex + firstIndex) / 2;\n }\n bullets.forEach(bulletEl => {\n const classesToRemove = [...['', '-next', '-next-next', '-prev', '-prev-prev', '-main'].map(suffix => `${params.bulletActiveClass}${suffix}`)].map(s => typeof s === 'string' && s.includes(' ') ? s.split(' ') : s).flat();\n bulletEl.classList.remove(...classesToRemove);\n });\n if (el.length > 1) {\n bullets.forEach(bullet => {\n const bulletIndex = elementIndex(bullet);\n if (bulletIndex === current) {\n bullet.classList.add(...params.bulletActiveClass.split(' '));\n } else if (swiper.isElement) {\n bullet.setAttribute('part', 'bullet');\n }\n if (params.dynamicBullets) {\n if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {\n bullet.classList.add(...`${params.bulletActiveClass}-main`.split(' '));\n }\n if (bulletIndex === firstIndex) {\n setSideBullets(bullet, 'prev');\n }\n if (bulletIndex === lastIndex) {\n setSideBullets(bullet, 'next');\n }\n }\n });\n } else {\n const bullet = bullets[current];\n if (bullet) {\n bullet.classList.add(...params.bulletActiveClass.split(' '));\n }\n if (swiper.isElement) {\n bullets.forEach((bulletEl, bulletIndex) => {\n bulletEl.setAttribute('part', bulletIndex === current ? 'bullet-active' : 'bullet');\n });\n }\n if (params.dynamicBullets) {\n const firstDisplayedBullet = bullets[firstIndex];\n const lastDisplayedBullet = bullets[lastIndex];\n for (let i = firstIndex; i <= lastIndex; i += 1) {\n if (bullets[i]) {\n bullets[i].classList.add(...`${params.bulletActiveClass}-main`.split(' '));\n }\n }\n setSideBullets(firstDisplayedBullet, 'prev');\n setSideBullets(lastDisplayedBullet, 'next');\n }\n }\n if (params.dynamicBullets) {\n const dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\n const bulletsOffset = (bulletSize * dynamicBulletsLength - bulletSize) / 2 - midIndex * bulletSize;\n const offsetProp = rtl ? 'right' : 'left';\n bullets.forEach(bullet => {\n bullet.style[swiper.isHorizontal() ? offsetProp : 'top'] = `${bulletsOffset}px`;\n });\n }\n }\n el.forEach((subEl, subElIndex) => {\n if (params.type === 'fraction') {\n subEl.querySelectorAll(classesToSelector(params.currentClass)).forEach(fractionEl => {\n fractionEl.textContent = params.formatFractionCurrent(current + 1);\n });\n subEl.querySelectorAll(classesToSelector(params.totalClass)).forEach(totalEl => {\n totalEl.textContent = params.formatFractionTotal(total);\n });\n }\n if (params.type === 'progressbar') {\n let progressbarDirection;\n if (params.progressbarOpposite) {\n progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';\n } else {\n progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';\n }\n const scale = (current + 1) / total;\n let scaleX = 1;\n let scaleY = 1;\n if (progressbarDirection === 'horizontal') {\n scaleX = scale;\n } else {\n scaleY = scale;\n }\n subEl.querySelectorAll(classesToSelector(params.progressbarFillClass)).forEach(progressEl => {\n progressEl.style.transform = `translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`;\n progressEl.style.transitionDuration = `${swiper.params.speed}ms`;\n });\n }\n if (params.type === 'custom' && params.renderCustom) {\n setInnerHTML(subEl, params.renderCustom(swiper, current + 1, total));\n if (subElIndex === 0) emit('paginationRender', subEl);\n } else {\n if (subElIndex === 0) emit('paginationRender', subEl);\n emit('paginationUpdate', subEl);\n }\n if (swiper.params.watchOverflow && swiper.enabled) {\n subEl.classList[swiper.isLocked ? 'add' : 'remove'](params.lockClass);\n }\n });\n }\n function render() {\n // Render Container\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.grid && swiper.params.grid.rows > 1 ? swiper.slides.length / Math.ceil(swiper.params.grid.rows) : swiper.slides.length;\n let el = swiper.pagination.el;\n el = makeElementsArray(el);\n let paginationHTML = '';\n if (params.type === 'bullets') {\n let numberOfBullets = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n if (swiper.params.freeMode && swiper.params.freeMode.enabled && numberOfBullets > slidesLength) {\n numberOfBullets = slidesLength;\n }\n for (let i = 0; i < numberOfBullets; i += 1) {\n if (params.renderBullet) {\n paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);\n } else {\n // prettier-ignore\n paginationHTML += `<${params.bulletElement} ${swiper.isElement ? 'part=\"bullet\"' : ''} class=\"${params.bulletClass}\"></${params.bulletElement}>`;\n }\n }\n }\n if (params.type === 'fraction') {\n if (params.renderFraction) {\n paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);\n } else {\n paginationHTML = `<span class=\"${params.currentClass}\"></span>` + ' / ' + `<span class=\"${params.totalClass}\"></span>`;\n }\n }\n if (params.type === 'progressbar') {\n if (params.renderProgressbar) {\n paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\n } else {\n paginationHTML = `<span class=\"${params.progressbarFillClass}\"></span>`;\n }\n }\n swiper.pagination.bullets = [];\n el.forEach(subEl => {\n if (params.type !== 'custom') {\n setInnerHTML(subEl, paginationHTML || '');\n }\n if (params.type === 'bullets') {\n swiper.pagination.bullets.push(...subEl.querySelectorAll(classesToSelector(params.bulletClass)));\n }\n });\n if (params.type !== 'custom') {\n emit('paginationRender', el[0]);\n }\n }\n function init() {\n swiper.params.pagination = createElementIfNotDefined(swiper, swiper.originalParams.pagination, swiper.params.pagination, {\n el: 'swiper-pagination'\n });\n const params = swiper.params.pagination;\n if (!params.el) return;\n let el;\n if (typeof params.el === 'string' && swiper.isElement) {\n el = swiper.el.querySelector(params.el);\n }\n if (!el && typeof params.el === 'string') {\n el = [...document.querySelectorAll(params.el)];\n }\n if (!el) {\n el = params.el;\n }\n if (!el || el.length === 0) return;\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && Array.isArray(el) && el.length > 1) {\n el = [...swiper.el.querySelectorAll(params.el)];\n // check if it belongs to another nested Swiper\n if (el.length > 1) {\n el = el.find(subEl => {\n if (elementParents(subEl, '.swiper')[0] !== swiper.el) return false;\n return true;\n });\n }\n }\n if (Array.isArray(el) && el.length === 1) el = el[0];\n Object.assign(swiper.pagination, {\n el\n });\n el = makeElementsArray(el);\n el.forEach(subEl => {\n if (params.type === 'bullets' && params.clickable) {\n subEl.classList.add(...(params.clickableClass || '').split(' '));\n }\n subEl.classList.add(params.modifierClass + params.type);\n subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n if (params.type === 'bullets' && params.dynamicBullets) {\n subEl.classList.add(`${params.modifierClass}${params.type}-dynamic`);\n dynamicBulletIndex = 0;\n if (params.dynamicMainBullets < 1) {\n params.dynamicMainBullets = 1;\n }\n }\n if (params.type === 'progressbar' && params.progressbarOpposite) {\n subEl.classList.add(params.progressbarOppositeClass);\n }\n if (params.clickable) {\n subEl.addEventListener('click', onBulletClick);\n }\n if (!swiper.enabled) {\n subEl.classList.add(params.lockClass);\n }\n });\n }\n function destroy() {\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n let el = swiper.pagination.el;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.classList.remove(params.hiddenClass);\n subEl.classList.remove(params.modifierClass + params.type);\n subEl.classList.remove(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n if (params.clickable) {\n subEl.classList.remove(...(params.clickableClass || '').split(' '));\n subEl.removeEventListener('click', onBulletClick);\n }\n });\n }\n if (swiper.pagination.bullets) swiper.pagination.bullets.forEach(subEl => subEl.classList.remove(...params.bulletActiveClass.split(' ')));\n }\n on('changeDirection', () => {\n if (!swiper.pagination || !swiper.pagination.el) return;\n const params = swiper.params.pagination;\n let {\n el\n } = swiper.pagination;\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.classList.remove(params.horizontalClass, params.verticalClass);\n subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n });\n });\n on('init', () => {\n if (swiper.params.pagination.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n render();\n update();\n }\n });\n on('activeIndexChange', () => {\n if (typeof swiper.snapIndex === 'undefined') {\n update();\n }\n });\n on('snapIndexChange', () => {\n update();\n });\n on('snapGridLengthChange', () => {\n render();\n update();\n });\n on('destroy', () => {\n destroy();\n });\n on('enable disable', () => {\n let {\n el\n } = swiper.pagination;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => subEl.classList[swiper.enabled ? 'remove' : 'add'](swiper.params.pagination.lockClass));\n }\n });\n on('lock unlock', () => {\n update();\n });\n on('click', (_s, e) => {\n const targetEl = e.target;\n const el = makeElementsArray(swiper.pagination.el);\n if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && el && el.length > 0 && !targetEl.classList.contains(swiper.params.pagination.bulletClass)) {\n if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return;\n const isHidden = el[0].classList.contains(swiper.params.pagination.hiddenClass);\n if (isHidden === true) {\n emit('paginationShow');\n } else {\n emit('paginationHide');\n }\n el.forEach(subEl => subEl.classList.toggle(swiper.params.pagination.hiddenClass));\n }\n });\n const enable = () => {\n swiper.el.classList.remove(swiper.params.pagination.paginationDisabledClass);\n let {\n el\n } = swiper.pagination;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => subEl.classList.remove(swiper.params.pagination.paginationDisabledClass));\n }\n init();\n render();\n update();\n };\n const disable = () => {\n swiper.el.classList.add(swiper.params.pagination.paginationDisabledClass);\n let {\n el\n } = swiper.pagination;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => subEl.classList.add(swiper.params.pagination.paginationDisabledClass));\n }\n destroy();\n };\n Object.assign(swiper.pagination, {\n enable,\n disable,\n render,\n update,\n init,\n destroy\n });\n}\n\nexport { Pagination as default };\n","import { g as getDocument } from '../shared/ssr-window.esm.mjs';\nimport { m as makeElementsArray, j as classesToTokens, c as createElement, n as nextTick, d as elementOffset } from '../shared/utils.mjs';\nimport { c as createElementIfNotDefined } from '../shared/create-element-if-not-defined.mjs';\nimport { c as classesToSelector } from '../shared/classes-to-selector.mjs';\n\nfunction Scrollbar(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n const document = getDocument();\n let isTouched = false;\n let timeout = null;\n let dragTimeout = null;\n let dragStartPos;\n let dragSize;\n let trackSize;\n let divider;\n extendParams({\n scrollbar: {\n el: null,\n dragSize: 'auto',\n hide: false,\n draggable: false,\n snapOnRelease: true,\n lockClass: 'swiper-scrollbar-lock',\n dragClass: 'swiper-scrollbar-drag',\n scrollbarDisabledClass: 'swiper-scrollbar-disabled',\n horizontalClass: `swiper-scrollbar-horizontal`,\n verticalClass: `swiper-scrollbar-vertical`\n }\n });\n swiper.scrollbar = {\n el: null,\n dragEl: null\n };\n function setTranslate() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n const {\n scrollbar,\n rtlTranslate: rtl\n } = swiper;\n const {\n dragEl,\n el\n } = scrollbar;\n const params = swiper.params.scrollbar;\n const progress = swiper.params.loop ? swiper.progressLoop : swiper.progress;\n let newSize = dragSize;\n let newPos = (trackSize - dragSize) * progress;\n if (rtl) {\n newPos = -newPos;\n if (newPos > 0) {\n newSize = dragSize - newPos;\n newPos = 0;\n } else if (-newPos + dragSize > trackSize) {\n newSize = trackSize + newPos;\n }\n } else if (newPos < 0) {\n newSize = dragSize + newPos;\n newPos = 0;\n } else if (newPos + dragSize > trackSize) {\n newSize = trackSize - newPos;\n }\n if (swiper.isHorizontal()) {\n dragEl.style.transform = `translate3d(${newPos}px, 0, 0)`;\n dragEl.style.width = `${newSize}px`;\n } else {\n dragEl.style.transform = `translate3d(0px, ${newPos}px, 0)`;\n dragEl.style.height = `${newSize}px`;\n }\n if (params.hide) {\n clearTimeout(timeout);\n el.style.opacity = 1;\n timeout = setTimeout(() => {\n el.style.opacity = 0;\n el.style.transitionDuration = '400ms';\n }, 1000);\n }\n }\n function setTransition(duration) {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n swiper.scrollbar.dragEl.style.transitionDuration = `${duration}ms`;\n }\n function updateSize() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n const {\n scrollbar\n } = swiper;\n const {\n dragEl,\n el\n } = scrollbar;\n dragEl.style.width = '';\n dragEl.style.height = '';\n trackSize = swiper.isHorizontal() ? el.offsetWidth : el.offsetHeight;\n divider = swiper.size / (swiper.virtualSize + swiper.params.slidesOffsetBefore - (swiper.params.centeredSlides ? swiper.snapGrid[0] : 0));\n if (swiper.params.scrollbar.dragSize === 'auto') {\n dragSize = trackSize * divider;\n } else {\n dragSize = parseInt(swiper.params.scrollbar.dragSize, 10);\n }\n if (swiper.isHorizontal()) {\n dragEl.style.width = `${dragSize}px`;\n } else {\n dragEl.style.height = `${dragSize}px`;\n }\n if (divider >= 1) {\n el.style.display = 'none';\n } else {\n el.style.display = '';\n }\n if (swiper.params.scrollbar.hide) {\n el.style.opacity = 0;\n }\n if (swiper.params.watchOverflow && swiper.enabled) {\n scrollbar.el.classList[swiper.isLocked ? 'add' : 'remove'](swiper.params.scrollbar.lockClass);\n }\n }\n function getPointerPosition(e) {\n return swiper.isHorizontal() ? e.clientX : e.clientY;\n }\n function setDragPosition(e) {\n const {\n scrollbar,\n rtlTranslate: rtl\n } = swiper;\n const {\n el\n } = scrollbar;\n let positionRatio;\n positionRatio = (getPointerPosition(e) - elementOffset(el)[swiper.isHorizontal() ? 'left' : 'top'] - (dragStartPos !== null ? dragStartPos : dragSize / 2)) / (trackSize - dragSize);\n positionRatio = Math.max(Math.min(positionRatio, 1), 0);\n if (rtl) {\n positionRatio = 1 - positionRatio;\n }\n const position = swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio;\n swiper.updateProgress(position);\n swiper.setTranslate(position);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n function onDragStart(e) {\n const params = swiper.params.scrollbar;\n const {\n scrollbar,\n wrapperEl\n } = swiper;\n const {\n el,\n dragEl\n } = scrollbar;\n isTouched = true;\n dragStartPos = e.target === dragEl ? getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left' : 'top'] : null;\n e.preventDefault();\n e.stopPropagation();\n wrapperEl.style.transitionDuration = '100ms';\n dragEl.style.transitionDuration = '100ms';\n setDragPosition(e);\n clearTimeout(dragTimeout);\n el.style.transitionDuration = '0ms';\n if (params.hide) {\n el.style.opacity = 1;\n }\n if (swiper.params.cssMode) {\n swiper.wrapperEl.style['scroll-snap-type'] = 'none';\n }\n emit('scrollbarDragStart', e);\n }\n function onDragMove(e) {\n const {\n scrollbar,\n wrapperEl\n } = swiper;\n const {\n el,\n dragEl\n } = scrollbar;\n if (!isTouched) return;\n if (e.preventDefault && e.cancelable) e.preventDefault();else e.returnValue = false;\n setDragPosition(e);\n wrapperEl.style.transitionDuration = '0ms';\n el.style.transitionDuration = '0ms';\n dragEl.style.transitionDuration = '0ms';\n emit('scrollbarDragMove', e);\n }\n function onDragEnd(e) {\n const params = swiper.params.scrollbar;\n const {\n scrollbar,\n wrapperEl\n } = swiper;\n const {\n el\n } = scrollbar;\n if (!isTouched) return;\n isTouched = false;\n if (swiper.params.cssMode) {\n swiper.wrapperEl.style['scroll-snap-type'] = '';\n wrapperEl.style.transitionDuration = '';\n }\n if (params.hide) {\n clearTimeout(dragTimeout);\n dragTimeout = nextTick(() => {\n el.style.opacity = 0;\n el.style.transitionDuration = '400ms';\n }, 1000);\n }\n emit('scrollbarDragEnd', e);\n if (params.snapOnRelease) {\n swiper.slideToClosest();\n }\n }\n function events(method) {\n const {\n scrollbar,\n params\n } = swiper;\n const el = scrollbar.el;\n if (!el) return;\n const target = el;\n const activeListener = params.passiveListeners ? {\n passive: false,\n capture: false\n } : false;\n const passiveListener = params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n if (!target) return;\n const eventMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';\n target[eventMethod]('pointerdown', onDragStart, activeListener);\n document[eventMethod]('pointermove', onDragMove, activeListener);\n document[eventMethod]('pointerup', onDragEnd, passiveListener);\n }\n function enableDraggable() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n events('on');\n }\n function disableDraggable() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n events('off');\n }\n function init() {\n const {\n scrollbar,\n el: swiperEl\n } = swiper;\n swiper.params.scrollbar = createElementIfNotDefined(swiper, swiper.originalParams.scrollbar, swiper.params.scrollbar, {\n el: 'swiper-scrollbar'\n });\n const params = swiper.params.scrollbar;\n if (!params.el) return;\n let el;\n if (typeof params.el === 'string' && swiper.isElement) {\n el = swiper.el.querySelector(params.el);\n }\n if (!el && typeof params.el === 'string') {\n el = document.querySelectorAll(params.el);\n if (!el.length) return;\n } else if (!el) {\n el = params.el;\n }\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && el.length > 1 && swiperEl.querySelectorAll(params.el).length === 1) {\n el = swiperEl.querySelector(params.el);\n }\n if (el.length > 0) el = el[0];\n el.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n let dragEl;\n if (el) {\n dragEl = el.querySelector(classesToSelector(swiper.params.scrollbar.dragClass));\n if (!dragEl) {\n dragEl = createElement('div', swiper.params.scrollbar.dragClass);\n el.append(dragEl);\n }\n }\n Object.assign(scrollbar, {\n el,\n dragEl\n });\n if (params.draggable) {\n enableDraggable();\n }\n if (el) {\n el.classList[swiper.enabled ? 'remove' : 'add'](...classesToTokens(swiper.params.scrollbar.lockClass));\n }\n }\n function destroy() {\n const params = swiper.params.scrollbar;\n const el = swiper.scrollbar.el;\n if (el) {\n el.classList.remove(...classesToTokens(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass));\n }\n disableDraggable();\n }\n on('changeDirection', () => {\n if (!swiper.scrollbar || !swiper.scrollbar.el) return;\n const params = swiper.params.scrollbar;\n let {\n el\n } = swiper.scrollbar;\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.classList.remove(params.horizontalClass, params.verticalClass);\n subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n });\n });\n on('init', () => {\n if (swiper.params.scrollbar.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n updateSize();\n setTranslate();\n }\n });\n on('update resize observerUpdate lock unlock changeDirection', () => {\n updateSize();\n });\n on('setTranslate', () => {\n setTranslate();\n });\n on('setTransition', (_s, duration) => {\n setTransition(duration);\n });\n on('enable disable', () => {\n const {\n el\n } = swiper.scrollbar;\n if (el) {\n el.classList[swiper.enabled ? 'remove' : 'add'](...classesToTokens(swiper.params.scrollbar.lockClass));\n }\n });\n on('destroy', () => {\n destroy();\n });\n const enable = () => {\n swiper.el.classList.remove(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass));\n if (swiper.scrollbar.el) {\n swiper.scrollbar.el.classList.remove(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass));\n }\n init();\n updateSize();\n setTranslate();\n };\n const disable = () => {\n swiper.el.classList.add(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass));\n if (swiper.scrollbar.el) {\n swiper.scrollbar.el.classList.add(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass));\n }\n destroy();\n };\n Object.assign(swiper.scrollbar, {\n enable,\n disable,\n updateSize,\n setTranslate,\n init,\n destroy\n });\n}\n\nexport { Scrollbar as default };\n","import { g as getDocument } from '../shared/ssr-window.esm.mjs';\nimport { c as classesToSelector } from '../shared/classes-to-selector.mjs';\nimport { c as createElement, i as elementIndex, m as makeElementsArray, s as setInnerHTML } from '../shared/utils.mjs';\n\nfunction A11y(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n a11y: {\n enabled: true,\n notificationClass: 'swiper-notification',\n prevSlideMessage: 'Previous slide',\n nextSlideMessage: 'Next slide',\n firstSlideMessage: 'This is the first slide',\n lastSlideMessage: 'This is the last slide',\n paginationBulletMessage: 'Go to slide {{index}}',\n slideLabelMessage: '{{index}} / {{slidesLength}}',\n containerMessage: null,\n containerRoleDescriptionMessage: null,\n containerRole: null,\n itemRoleDescriptionMessage: null,\n slideRole: 'group',\n id: null,\n scrollOnFocus: true\n }\n });\n swiper.a11y = {\n clicked: false\n };\n let liveRegion = null;\n let preventFocusHandler;\n let focusTargetSlideEl;\n let visibilityChangedTimestamp = new Date().getTime();\n function notify(message) {\n const notification = liveRegion;\n if (notification.length === 0) return;\n setInnerHTML(notification, message);\n }\n function getRandomNumber(size) {\n if (size === void 0) {\n size = 16;\n }\n const randomChar = () => Math.round(16 * Math.random()).toString(16);\n return 'x'.repeat(size).replace(/x/g, randomChar);\n }\n function makeElFocusable(el) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('tabIndex', '0');\n });\n }\n function makeElNotFocusable(el) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('tabIndex', '-1');\n });\n }\n function addElRole(el, role) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('role', role);\n });\n }\n function addElRoleDescription(el, description) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('aria-roledescription', description);\n });\n }\n function addElControls(el, controls) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('aria-controls', controls);\n });\n }\n function addElLabel(el, label) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('aria-label', label);\n });\n }\n function addElId(el, id) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('id', id);\n });\n }\n function addElLive(el, live) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('aria-live', live);\n });\n }\n function disableEl(el) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('aria-disabled', true);\n });\n }\n function enableEl(el) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('aria-disabled', false);\n });\n }\n function onEnterOrSpaceKey(e) {\n if (e.keyCode !== 13 && e.keyCode !== 32) return;\n const params = swiper.params.a11y;\n const targetEl = e.target;\n if (swiper.pagination && swiper.pagination.el && (targetEl === swiper.pagination.el || swiper.pagination.el.contains(e.target))) {\n if (!e.target.matches(classesToSelector(swiper.params.pagination.bulletClass))) return;\n }\n if (swiper.navigation && swiper.navigation.prevEl && swiper.navigation.nextEl) {\n const prevEls = makeElementsArray(swiper.navigation.prevEl);\n const nextEls = makeElementsArray(swiper.navigation.nextEl);\n if (nextEls.includes(targetEl)) {\n if (!(swiper.isEnd && !swiper.params.loop)) {\n swiper.slideNext();\n }\n if (swiper.isEnd) {\n notify(params.lastSlideMessage);\n } else {\n notify(params.nextSlideMessage);\n }\n }\n if (prevEls.includes(targetEl)) {\n if (!(swiper.isBeginning && !swiper.params.loop)) {\n swiper.slidePrev();\n }\n if (swiper.isBeginning) {\n notify(params.firstSlideMessage);\n } else {\n notify(params.prevSlideMessage);\n }\n }\n }\n if (swiper.pagination && targetEl.matches(classesToSelector(swiper.params.pagination.bulletClass))) {\n targetEl.click();\n }\n }\n function updateNavigation() {\n if (swiper.params.loop || swiper.params.rewind || !swiper.navigation) return;\n const {\n nextEl,\n prevEl\n } = swiper.navigation;\n if (prevEl) {\n if (swiper.isBeginning) {\n disableEl(prevEl);\n makeElNotFocusable(prevEl);\n } else {\n enableEl(prevEl);\n makeElFocusable(prevEl);\n }\n }\n if (nextEl) {\n if (swiper.isEnd) {\n disableEl(nextEl);\n makeElNotFocusable(nextEl);\n } else {\n enableEl(nextEl);\n makeElFocusable(nextEl);\n }\n }\n }\n function hasPagination() {\n return swiper.pagination && swiper.pagination.bullets && swiper.pagination.bullets.length;\n }\n function hasClickablePagination() {\n return hasPagination() && swiper.params.pagination.clickable;\n }\n function updatePagination() {\n const params = swiper.params.a11y;\n if (!hasPagination()) return;\n swiper.pagination.bullets.forEach(bulletEl => {\n if (swiper.params.pagination.clickable) {\n makeElFocusable(bulletEl);\n if (!swiper.params.pagination.renderBullet) {\n addElRole(bulletEl, 'button');\n addElLabel(bulletEl, params.paginationBulletMessage.replace(/\\{\\{index\\}\\}/, elementIndex(bulletEl) + 1));\n }\n }\n if (bulletEl.matches(classesToSelector(swiper.params.pagination.bulletActiveClass))) {\n bulletEl.setAttribute('aria-current', 'true');\n } else {\n bulletEl.removeAttribute('aria-current');\n }\n });\n }\n const initNavEl = (el, wrapperId, message) => {\n makeElFocusable(el);\n if (el.tagName !== 'BUTTON') {\n addElRole(el, 'button');\n el.addEventListener('keydown', onEnterOrSpaceKey);\n }\n addElLabel(el, message);\n addElControls(el, wrapperId);\n };\n const handlePointerDown = e => {\n if (focusTargetSlideEl && focusTargetSlideEl !== e.target && !focusTargetSlideEl.contains(e.target)) {\n preventFocusHandler = true;\n }\n swiper.a11y.clicked = true;\n };\n const handlePointerUp = () => {\n preventFocusHandler = false;\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (!swiper.destroyed) {\n swiper.a11y.clicked = false;\n }\n });\n });\n };\n const onVisibilityChange = e => {\n visibilityChangedTimestamp = new Date().getTime();\n };\n const handleFocus = e => {\n if (swiper.a11y.clicked || !swiper.params.a11y.scrollOnFocus) return;\n if (new Date().getTime() - visibilityChangedTimestamp < 100) return;\n const slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);\n if (!slideEl || !swiper.slides.includes(slideEl)) return;\n focusTargetSlideEl = slideEl;\n const isActive = swiper.slides.indexOf(slideEl) === swiper.activeIndex;\n const isVisible = swiper.params.watchSlidesProgress && swiper.visibleSlides && swiper.visibleSlides.includes(slideEl);\n if (isActive || isVisible) return;\n if (e.sourceCapabilities && e.sourceCapabilities.firesTouchEvents) return;\n if (swiper.isHorizontal()) {\n swiper.el.scrollLeft = 0;\n } else {\n swiper.el.scrollTop = 0;\n }\n requestAnimationFrame(() => {\n if (preventFocusHandler) return;\n if (swiper.params.loop) {\n swiper.slideToLoop(swiper.getSlideIndexWhenGrid(parseInt(slideEl.getAttribute('data-swiper-slide-index'))), 0);\n } else {\n swiper.slideTo(swiper.getSlideIndexWhenGrid(swiper.slides.indexOf(slideEl)), 0);\n }\n preventFocusHandler = false;\n });\n };\n const initSlides = () => {\n const params = swiper.params.a11y;\n if (params.itemRoleDescriptionMessage) {\n addElRoleDescription(swiper.slides, params.itemRoleDescriptionMessage);\n }\n if (params.slideRole) {\n addElRole(swiper.slides, params.slideRole);\n }\n const slidesLength = swiper.slides.length;\n if (params.slideLabelMessage) {\n swiper.slides.forEach((slideEl, index) => {\n const slideIndex = swiper.params.loop ? parseInt(slideEl.getAttribute('data-swiper-slide-index'), 10) : index;\n const ariaLabelMessage = params.slideLabelMessage.replace(/\\{\\{index\\}\\}/, slideIndex + 1).replace(/\\{\\{slidesLength\\}\\}/, slidesLength);\n addElLabel(slideEl, ariaLabelMessage);\n });\n }\n };\n const init = () => {\n const params = swiper.params.a11y;\n swiper.el.append(liveRegion);\n\n // Container\n const containerEl = swiper.el;\n if (params.containerRoleDescriptionMessage) {\n addElRoleDescription(containerEl, params.containerRoleDescriptionMessage);\n }\n if (params.containerMessage) {\n addElLabel(containerEl, params.containerMessage);\n }\n if (params.containerRole) {\n addElRole(containerEl, params.containerRole);\n }\n\n // Wrapper\n const wrapperEl = swiper.wrapperEl;\n const wrapperId = params.id || wrapperEl.getAttribute('id') || `swiper-wrapper-${getRandomNumber(16)}`;\n const live = swiper.params.autoplay && swiper.params.autoplay.enabled ? 'off' : 'polite';\n addElId(wrapperEl, wrapperId);\n addElLive(wrapperEl, live);\n\n // Slide\n initSlides();\n\n // Navigation\n let {\n nextEl,\n prevEl\n } = swiper.navigation ? swiper.navigation : {};\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n if (nextEl) {\n nextEl.forEach(el => initNavEl(el, wrapperId, params.nextSlideMessage));\n }\n if (prevEl) {\n prevEl.forEach(el => initNavEl(el, wrapperId, params.prevSlideMessage));\n }\n\n // Pagination\n if (hasClickablePagination()) {\n const paginationEl = makeElementsArray(swiper.pagination.el);\n paginationEl.forEach(el => {\n el.addEventListener('keydown', onEnterOrSpaceKey);\n });\n }\n\n // Tab focus\n const document = getDocument();\n document.addEventListener('visibilitychange', onVisibilityChange);\n swiper.el.addEventListener('focus', handleFocus, true);\n swiper.el.addEventListener('focus', handleFocus, true);\n swiper.el.addEventListener('pointerdown', handlePointerDown, true);\n swiper.el.addEventListener('pointerup', handlePointerUp, true);\n };\n function destroy() {\n if (liveRegion) liveRegion.remove();\n let {\n nextEl,\n prevEl\n } = swiper.navigation ? swiper.navigation : {};\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n if (nextEl) {\n nextEl.forEach(el => el.removeEventListener('keydown', onEnterOrSpaceKey));\n }\n if (prevEl) {\n prevEl.forEach(el => el.removeEventListener('keydown', onEnterOrSpaceKey));\n }\n\n // Pagination\n if (hasClickablePagination()) {\n const paginationEl = makeElementsArray(swiper.pagination.el);\n paginationEl.forEach(el => {\n el.removeEventListener('keydown', onEnterOrSpaceKey);\n });\n }\n const document = getDocument();\n document.removeEventListener('visibilitychange', onVisibilityChange);\n // Tab focus\n if (swiper.el && typeof swiper.el !== 'string') {\n swiper.el.removeEventListener('focus', handleFocus, true);\n swiper.el.removeEventListener('pointerdown', handlePointerDown, true);\n swiper.el.removeEventListener('pointerup', handlePointerUp, true);\n }\n }\n on('beforeInit', () => {\n liveRegion = createElement('span', swiper.params.a11y.notificationClass);\n liveRegion.setAttribute('aria-live', 'assertive');\n liveRegion.setAttribute('aria-atomic', 'true');\n });\n on('afterInit', () => {\n if (!swiper.params.a11y.enabled) return;\n init();\n });\n on('slidesLengthChange snapGridLengthChange slidesGridLengthChange', () => {\n if (!swiper.params.a11y.enabled) return;\n initSlides();\n });\n on('fromEdge toEdge afterInit lock unlock', () => {\n if (!swiper.params.a11y.enabled) return;\n updateNavigation();\n });\n on('paginationUpdate', () => {\n if (!swiper.params.a11y.enabled) return;\n updatePagination();\n });\n on('destroy', () => {\n if (!swiper.params.a11y.enabled) return;\n destroy();\n });\n}\n\nexport { A11y as default };\n","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If <html> has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on <html>\n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","/**\n * Transition Hidden Element\n *\n * A utility to wrap elements that need to be shown and hidden with transitions.\n *\n * Enables transitions on elements with the `hidden` attribute\n * by removing the attribute and then forcing a reflow. It also has options to\n * wait for exit animations before re-applying `hidden`.\n *\n * @param {Object} opts - Our options element, destructed into its properties\n * @param {HTMLElement} opts.element - The element we're showing and hiding\n * @param {String} opts.visibleClass - The class to add when showing the element\n * @param {String} opts.waitMode - Determine how the library should check that\n * hiding transitions are complete. The options are `'transitionEnd'`,\n * `'timeout'`, and `'immediate'` (to hide immediately)\n * @param {Number} opts.timeoutDuration — If `waitMode` is set to `'timeout'`,\n * then this determines the length of the timeout.\n * @param {String} opts.hideMode - Determine how the library should hide\n * elements. The options are `hidden` (use the `hidden` attribute), and\n * `display` (use the CSS `display` property). Defaults to `hidden`\n * @param {String} opts.displayValue - When using the `display` `hideMode`, this\n * parameter determines what the CSS `display` property should be set to when\n * the element is shown. e.g. `block`, `inline`, `inline-block`. Defaults to\n * `block`.\n */\nexport function transitionHiddenElement({\n element,\n visibleClass,\n waitMode = 'transitionend',\n timeoutDuration,\n hideMode = 'hidden',\n displayValue = 'block'\n}) {\n if (waitMode === 'timeout' && typeof timeoutDuration !== 'number') {\n console.error(`\n When calling transitionHiddenElement with waitMode set to timeout,\n you must pass in a number for timeoutDuration.\n `);\n\n return;\n }\n\n // Don't wait for exit transitions if a user prefers reduced motion.\n // Ideally transitions will be disabled in CSS, which means we should not wait\n // before adding `hidden`.\n if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) {\n waitMode = 'immediate';\n }\n\n /**\n * An event listener to add `hidden` after our animations complete.\n * This listener will remove itself after completing.\n */\n const listener = e => {\n // Confirm `transitionend` was called on our `element` and didn't bubble\n // up from a child element.\n if (e.target === element) {\n applyHiddenAttributes();\n\n element.removeEventListener('transitionend', listener);\n }\n };\n\n const applyHiddenAttributes = () => {\n if(hideMode === 'display') {\n element.style.display = 'none';\n } else {\n element.setAttribute('hidden', true);\n }\n }\n\n const removeHiddenAttributes = () => {\n if(hideMode === 'display') {\n element.style.display = displayValue;\n } else {\n element.removeAttribute('hidden');\n }\n }\n\n return {\n /**\n * Show the element\n */\n show() {\n /**\n * This listener shouldn't be here but if someone spams the toggle\n * over and over really fast it can incorrectly stick around.\n * We remove it just to be safe.\n */\n element.removeEventListener('transitionend', listener);\n\n /**\n * Similarly, we'll clear the timeout in case it's still hanging around.\n */\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n\n removeHiddenAttributes();\n\n /**\n * Force a browser re-paint so the browser will realize the\n * element is no longer `hidden` and allow transitions.\n */\n const reflow = element.offsetHeight;\n\n element.classList.add(visibleClass);\n },\n\n /**\n * Hide the element\n */\n hide() {\n if (waitMode === 'transitionend') {\n element.addEventListener('transitionend', listener);\n } else if (waitMode === 'timeout') {\n this.timeout = setTimeout(() => {\n applyHiddenAttributes();\n }, timeoutDuration);\n } else {\n applyHiddenAttributes();\n }\n\n // Add this class to trigger our animation\n element.classList.remove(visibleClass);\n },\n\n /**\n * Toggle the element's visibility\n */\n toggle() {\n if (this.isHidden()) {\n this.show();\n } else {\n this.hide();\n }\n },\n\n /**\n * Tell whether the element is hidden or not.\n */\n isHidden() {\n /**\n * The hidden attribute does not require a value. Since an empty string is\n * falsy, but shows the presence of an attribute we compare to `null`\n */\n const hasHiddenAttribute = element.getAttribute('hidden') !== null;\n\n const isDisplayNone = element.style.display === 'none';\n\n const hasVisibleClass = [...element.classList].includes(visibleClass);\n\n return hasHiddenAttribute || isDisplayNone || !hasVisibleClass;\n },\n\n // A placeholder for our `timeout`\n timeout: null\n };\n}\n","export const breakpoints = {\n xs: 0,\n sm: 480,\n md: 768,\n lg: 992,\n xl: 1240,\n xxl: 1380,\n};\n\n// we use array to include old browser key names like IE11\n// ie. navigation keys https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_key_values#navigation_keys\nexport const keys = {\n TAB: ['Tab'],\n ENTER: ['Enter'],\n ESC: ['Esc', 'Escape'],\n SPACE: ['Spacebar', ' '],\n ARROWLEFT: ['Left', 'ArrowLeft'],\n ARROWUP: ['Up', 'ArrowUp'],\n ARROWRIGHT: ['Right', 'ArrowRight'],\n ARROWDOWN: ['Down', 'ArrowDown'],\n};\n","(function(factory) {\r\n if (typeof define === \"function\" && define.amd) {\r\n // AMD. Register as an anonymous module.\r\n define([], factory);\r\n } else if (typeof exports === \"object\") {\r\n // Node/CommonJS\r\n module.exports = factory();\r\n } else {\r\n // Browser globals\r\n window.wNumb = factory();\r\n }\r\n})(function() {\r\n \"use strict\";\r\n\r\n var FormatOptions = [\r\n \"decimals\",\r\n \"thousand\",\r\n \"mark\",\r\n \"prefix\",\r\n \"suffix\",\r\n \"encoder\",\r\n \"decoder\",\r\n \"negativeBefore\",\r\n \"negative\",\r\n \"edit\",\r\n \"undo\"\r\n ];\r\n\r\n // General\r\n\r\n // Reverse a string\r\n function strReverse(a) {\r\n return a\r\n .split(\"\")\r\n .reverse()\r\n .join(\"\");\r\n }\r\n\r\n // Check if a string starts with a specified prefix.\r\n function strStartsWith(input, match) {\r\n return input.substring(0, match.length) === match;\r\n }\r\n\r\n // Check is a string ends in a specified suffix.\r\n function strEndsWith(input, match) {\r\n return input.slice(-1 * match.length) === match;\r\n }\r\n\r\n // Throw an error if formatting options are incompatible.\r\n function throwEqualError(F, a, b) {\r\n if ((F[a] || F[b]) && F[a] === F[b]) {\r\n throw new Error(a);\r\n }\r\n }\r\n\r\n // Check if a number is finite and not NaN\r\n function isValidNumber(input) {\r\n return typeof input === \"number\" && isFinite(input);\r\n }\r\n\r\n // Provide rounding-accurate toFixed method.\r\n // Borrowed: http://stackoverflow.com/a/21323330/775265\r\n function toFixed(value, exp) {\r\n value = value.toString().split(\"e\");\r\n value = Math.round(+(value[0] + \"e\" + (value[1] ? +value[1] + exp : exp)));\r\n value = value.toString().split(\"e\");\r\n return (+(value[0] + \"e\" + (value[1] ? +value[1] - exp : -exp))).toFixed(exp);\r\n }\r\n\r\n // Formatting\r\n\r\n // Accept a number as input, output formatted string.\r\n function formatTo(\r\n decimals,\r\n thousand,\r\n mark,\r\n prefix,\r\n suffix,\r\n encoder,\r\n decoder,\r\n negativeBefore,\r\n negative,\r\n edit,\r\n undo,\r\n input\r\n ) {\r\n var originalInput = input,\r\n inputIsNegative,\r\n inputPieces,\r\n inputBase,\r\n inputDecimals = \"\",\r\n output = \"\";\r\n\r\n // Apply user encoder to the input.\r\n // Expected outcome: number.\r\n if (encoder) {\r\n input = encoder(input);\r\n }\r\n\r\n // Stop if no valid number was provided, the number is infinite or NaN.\r\n if (!isValidNumber(input)) {\r\n return false;\r\n }\r\n\r\n // Rounding away decimals might cause a value of -0\r\n // when using very small ranges. Remove those cases.\r\n if (decimals !== false && parseFloat(input.toFixed(decimals)) === 0) {\r\n input = 0;\r\n }\r\n\r\n // Formatting is done on absolute numbers,\r\n // decorated by an optional negative symbol.\r\n if (input < 0) {\r\n inputIsNegative = true;\r\n input = Math.abs(input);\r\n }\r\n\r\n // Reduce the number of decimals to the specified option.\r\n if (decimals !== false) {\r\n input = toFixed(input, decimals);\r\n }\r\n\r\n // Transform the number into a string, so it can be split.\r\n input = input.toString();\r\n\r\n // Break the number on the decimal separator.\r\n if (input.indexOf(\".\") !== -1) {\r\n inputPieces = input.split(\".\");\r\n\r\n inputBase = inputPieces[0];\r\n\r\n if (mark) {\r\n inputDecimals = mark + inputPieces[1];\r\n }\r\n } else {\r\n // If it isn't split, the entire number will do.\r\n inputBase = input;\r\n }\r\n\r\n // Group numbers in sets of three.\r\n if (thousand) {\r\n inputBase = strReverse(inputBase).match(/.{1,3}/g);\r\n inputBase = strReverse(inputBase.join(strReverse(thousand)));\r\n }\r\n\r\n // If the number is negative, prefix with negation symbol.\r\n if (inputIsNegative && negativeBefore) {\r\n output += negativeBefore;\r\n }\r\n\r\n // Prefix the number\r\n if (prefix) {\r\n output += prefix;\r\n }\r\n\r\n // Normal negative option comes after the prefix. Defaults to '-'.\r\n if (inputIsNegative && negative) {\r\n output += negative;\r\n }\r\n\r\n // Append the actual number.\r\n output += inputBase;\r\n output += inputDecimals;\r\n\r\n // Apply the suffix.\r\n if (suffix) {\r\n output += suffix;\r\n }\r\n\r\n // Run the output through a user-specified post-formatter.\r\n if (edit) {\r\n output = edit(output, originalInput);\r\n }\r\n\r\n // All done.\r\n return output;\r\n }\r\n\r\n // Accept a sting as input, output decoded number.\r\n function formatFrom(\r\n decimals,\r\n thousand,\r\n mark,\r\n prefix,\r\n suffix,\r\n encoder,\r\n decoder,\r\n negativeBefore,\r\n negative,\r\n edit,\r\n undo,\r\n input\r\n ) {\r\n var originalInput = input,\r\n inputIsNegative,\r\n output = \"\";\r\n\r\n // User defined pre-decoder. Result must be a non empty string.\r\n if (undo) {\r\n input = undo(input);\r\n }\r\n\r\n // Test the input. Can't be empty.\r\n if (!input || typeof input !== \"string\") {\r\n return false;\r\n }\r\n\r\n // If the string starts with the negativeBefore value: remove it.\r\n // Remember is was there, the number is negative.\r\n if (negativeBefore && strStartsWith(input, negativeBefore)) {\r\n input = input.replace(negativeBefore, \"\");\r\n inputIsNegative = true;\r\n }\r\n\r\n // Repeat the same procedure for the prefix.\r\n if (prefix && strStartsWith(input, prefix)) {\r\n input = input.replace(prefix, \"\");\r\n }\r\n\r\n // And again for negative.\r\n if (negative && strStartsWith(input, negative)) {\r\n input = input.replace(negative, \"\");\r\n inputIsNegative = true;\r\n }\r\n\r\n // Remove the suffix.\r\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice\r\n if (suffix && strEndsWith(input, suffix)) {\r\n input = input.slice(0, -1 * suffix.length);\r\n }\r\n\r\n // Remove the thousand grouping.\r\n if (thousand) {\r\n input = input.split(thousand).join(\"\");\r\n }\r\n\r\n // Set the decimal separator back to period.\r\n if (mark) {\r\n input = input.replace(mark, \".\");\r\n }\r\n\r\n // Prepend the negative symbol.\r\n if (inputIsNegative) {\r\n output += \"-\";\r\n }\r\n\r\n // Add the number\r\n output += input;\r\n\r\n // Trim all non-numeric characters (allow '.' and '-');\r\n output = output.replace(/[^0-9\\.\\-.]/g, \"\");\r\n\r\n // The value contains no parse-able number.\r\n if (output === \"\") {\r\n return false;\r\n }\r\n\r\n // Covert to number.\r\n output = Number(output);\r\n\r\n // Run the user-specified post-decoder.\r\n if (decoder) {\r\n output = decoder(output);\r\n }\r\n\r\n // Check is the output is valid, otherwise: return false.\r\n if (!isValidNumber(output)) {\r\n return false;\r\n }\r\n\r\n return output;\r\n }\r\n\r\n // Framework\r\n\r\n // Validate formatting options\r\n function validate(inputOptions) {\r\n var i,\r\n optionName,\r\n optionValue,\r\n filteredOptions = {};\r\n\r\n if (inputOptions[\"suffix\"] === undefined) {\r\n inputOptions[\"suffix\"] = inputOptions[\"postfix\"];\r\n }\r\n\r\n for (i = 0; i < FormatOptions.length; i += 1) {\r\n optionName = FormatOptions[i];\r\n optionValue = inputOptions[optionName];\r\n\r\n if (optionValue === undefined) {\r\n // Only default if negativeBefore isn't set.\r\n if (optionName === \"negative\" && !filteredOptions.negativeBefore) {\r\n filteredOptions[optionName] = \"-\";\r\n // Don't set a default for mark when 'thousand' is set.\r\n } else if (optionName === \"mark\" && filteredOptions.thousand !== \".\") {\r\n filteredOptions[optionName] = \".\";\r\n } else {\r\n filteredOptions[optionName] = false;\r\n }\r\n\r\n // Floating points in JS are stable up to 7 decimals.\r\n } else if (optionName === \"decimals\") {\r\n if (optionValue >= 0 && optionValue < 8) {\r\n filteredOptions[optionName] = optionValue;\r\n } else {\r\n throw new Error(optionName);\r\n }\r\n\r\n // These options, when provided, must be functions.\r\n } else if (\r\n optionName === \"encoder\" ||\r\n optionName === \"decoder\" ||\r\n optionName === \"edit\" ||\r\n optionName === \"undo\"\r\n ) {\r\n if (typeof optionValue === \"function\") {\r\n filteredOptions[optionName] = optionValue;\r\n } else {\r\n throw new Error(optionName);\r\n }\r\n\r\n // Other options are strings.\r\n } else {\r\n if (typeof optionValue === \"string\") {\r\n filteredOptions[optionName] = optionValue;\r\n } else {\r\n throw new Error(optionName);\r\n }\r\n }\r\n }\r\n\r\n // Some values can't be extracted from a\r\n // string if certain combinations are present.\r\n throwEqualError(filteredOptions, \"mark\", \"thousand\");\r\n throwEqualError(filteredOptions, \"prefix\", \"negative\");\r\n throwEqualError(filteredOptions, \"prefix\", \"negativeBefore\");\r\n\r\n return filteredOptions;\r\n }\r\n\r\n // Pass all options as function arguments\r\n function passAll(options, method, input) {\r\n var i,\r\n args = [];\r\n\r\n // Add all options in order of FormatOptions\r\n for (i = 0; i < FormatOptions.length; i += 1) {\r\n args.push(options[FormatOptions[i]]);\r\n }\r\n\r\n // Append the input, then call the method, presenting all\r\n // options as arguments.\r\n args.push(input);\r\n return method.apply(\"\", args);\r\n }\r\n\r\n function wNumb(options) {\r\n if (!(this instanceof wNumb)) {\r\n return new wNumb(options);\r\n }\r\n\r\n if (typeof options !== \"object\") {\r\n return;\r\n }\r\n\r\n options = validate(options);\r\n\r\n // Call 'formatTo' with proper arguments.\r\n this.to = function(input) {\r\n return passAll(options, formatTo, input);\r\n };\r\n\r\n // Call 'formatFrom' with proper arguments.\r\n this.from = function(input) {\r\n return passAll(options, formatFrom, input);\r\n };\r\n }\r\n\r\n return wNumb;\r\n});\r\n","import { createPopper, Instance as PopperInstance, Options as PopperOptions } from '@popperjs/core';\nimport { transitionHiddenElement } from '@cloudfour/transition-hidden-element';\n\nimport { keys } from '../../utils';\n\nexport interface TooltipConfig {\n rootContainerSelector: string;\n removeDialogOnDestroy: boolean;\n popperOptions: PopperOptions;\n}\n\nexport const defaultConfig: TooltipConfig = {\n rootContainerSelector: '#root-tooltips',\n removeDialogOnDestroy: false,\n popperOptions: {\n placement: 'bottom',\n strategy: 'absolute',\n modifiers: [\n {\n name: 'arrow',\n options: {\n element: '.tooltip__arrow',\n padding: 10,\n },\n },\n {\n name: 'eventListeners',\n options: {\n scroll: false,\n resize: false,\n },\n },\n {\n name: 'flip',\n options: {\n fallbackPlacements: ['right', 'top', 'auto'],\n },\n },\n {\n name: 'offset',\n options: {\n offset: ({ placement }: { placement: string }) => {\n if (placement.includes('start')) {\n return [-10, 0];\n } else if (placement.includes('end')) {\n return [10, 0];\n }\n return [0, 0];\n },\n },\n },\n ],\n },\n};\n\nexport default class Tooltip {\n public element: HTMLElement;\n public config: TooltipConfig;\n public instance!: PopperInstance;\n public trigger!: HTMLElement;\n public rootContainer?: HTMLElement | null;\n public transitioner: any;\n\n constructor(element: HTMLElement, config?: Partial<TooltipConfig>) {\n this.element = element;\n this.config = { ...defaultConfig, ...config };\n this.config.popperOptions = {\n ...defaultConfig.popperOptions,\n ...(config?.popperOptions || {}),\n };\n this.config.popperOptions.modifiers = [\n ...defaultConfig.popperOptions.modifiers!,\n ...(config?.popperOptions?.modifiers || []),\n ];\n\n this.handleVisibility = this.handleVisibility.bind(this);\n this.onKeydown = this.onKeydown.bind(this);\n\n (this.element as any).ODS_Tooltip = this;\n\n this.init();\n\n return this;\n }\n\n static getInstance(el: HTMLElement): Tooltip | null {\n return el && (el as any).ODS_Tooltip ? (el as any).ODS_Tooltip : null;\n }\n\n wrapLastWordAndButton(): void {\n if (!this.element.hasAttribute('data-tooltip-keep-with-text')) return;\n const previousSibling = this.trigger.previousSibling;\n if (!previousSibling || previousSibling.nodeType !== Node.TEXT_NODE) {\n console.warn('Previous sibling is not a text node.');\n return;\n }\n const textContent = previousSibling.textContent?.trim() || '';\n const words = textContent.split(' ');\n const lastWord = words.pop();\n const updatedTextContent = words.join(' ');\n previousSibling.textContent = updatedTextContent + ' ';\n const span = document.createElement('span');\n span.className = 'text-nowrap';\n span.innerHTML = `${lastWord} ${this.trigger.outerHTML}`;\n this.trigger.parentNode?.replaceChild(span, this.trigger);\n this.trigger = span.querySelector('[data-tooltip-trigger]') as HTMLElement;\n }\n\n private init(): void {\n this.trigger = document.querySelector(\n `[data-tooltip-trigger][aria-describedby=${this.element.getAttribute('id')}]`\n ) as HTMLElement;\n if (!this.trigger) {\n console.warn(\n `tooltip trigger element is not defined and the tooltip cannot be attached. Please provide an element with [aria-describedby=${this.element.getAttribute('id')}]`\n );\n }\n if (this.element.hasAttribute('data-tooltip-keep-with-text')) {\n this.wrapLastWordAndButton();\n }\n this.rootContainer = document.querySelector(this.config.rootContainerSelector);\n if (this.rootContainer) {\n this.rootContainer.appendChild(this.element);\n } else {\n console.warn(\n 'rootContainer element is not defined. Tooltips will be placed inside content which can affect positioning. Please provide rootContainer element (should be placed outside of main content, usually in end of <body /> tag)'\n );\n }\n const customPlacement = this.element.getAttribute('data-tooltip-placement');\n if (customPlacement) {\n this.config.popperOptions.placement = customPlacement as any;\n }\n this.instance = createPopper(\n this.trigger,\n this.element,\n this.config.popperOptions\n );\n this.transitioner = transitionHiddenElement({\n element: this.element,\n visibleClass: 'is-visible',\n });\n this.trigger.addEventListener('mouseenter', this.handleVisibility);\n this.trigger.addEventListener('mouseleave', this.handleVisibility);\n this.trigger.addEventListener('focus', this.handleVisibility);\n this.trigger.addEventListener('blur', this.handleVisibility);\n }\n\n private handleVisibility(e: Event): void {\n if (e.type === 'mouseenter' || e.type === 'focus') {\n this.show();\n }\n if (e.type === 'blur') {\n this.hide();\n }\n if (e.type === 'mouseleave') {\n const shouldClose = this.shouldClose(e as MouseEvent);\n if (shouldClose) {\n this.hide();\n }\n }\n }\n\n private shouldClose(e: MouseEvent): boolean {\n const mouseLeftTo = (e as any).relatedreference || (e as any).toElement || (e as any).relatedTarget;\n const callback = (e2: MouseEvent) => {\n const mouseLeftTo2 = (e2 as any).relatedreference || (e2 as any).toElement || (e2 as any).relatedTarget;\n this.element.removeEventListener('mouseleave', callback);\n if (!this.trigger.contains(mouseLeftTo2)) {\n this.hide();\n }\n };\n if (this.element.contains(mouseLeftTo)) {\n this.element.addEventListener('mouseleave', callback);\n return false;\n }\n return true;\n }\n\n private onKeydown(e: KeyboardEvent): void {\n if (keys.ESC.includes(e.key)) {\n this.hide();\n }\n }\n\n public show(): void {\n this.transitioner.show();\n this.trigger.classList.add('is-active');\n this.instance.forceUpdate();\n document.addEventListener('keydown', this.onKeydown);\n }\n\n public hide(): void {\n this.transitioner.hide();\n this.trigger.classList.remove('is-active');\n document.removeEventListener('keydown', this.onKeydown);\n }\n\n public update(): void {\n this.instance.forceUpdate();\n }\n\n public destroy(): void {\n this.trigger.removeEventListener('mouseenter', this.handleVisibility);\n this.trigger.removeEventListener('mouseleave', this.handleVisibility);\n this.trigger.removeEventListener('focus', this.handleVisibility);\n this.trigger.removeEventListener('blur', this.handleVisibility);\n this.instance.destroy();\n (this.element as any).ODS_Tooltip = null;\n if (this.config.removeDialogOnDestroy) {\n this.element.remove();\n }\n }\n}\n","import { Swiper } from \"swiper\";\nimport type { SwiperOptions } from \"swiper/types\";\nimport {\n Navigation,\n Pagination,\n Scrollbar,\n A11y,\n Keyboard,\n} from \"swiper/modules\";\n\nimport Tooltip from \"../Tooltip/Tooltip.static\";\n\nimport {\n SELECTOR_PREV,\n SELECTOR_NEXT,\n SELECTOR_DOTS,\n SELECTOR_VIEWPORT,\n SELECTOR_TRACK,\n CLASS_SCROLLBAR_DRAG,\n SELECTOR_SCROLLBAR,\n CLASS_SCROLLBAR_HORIZONTAL,\n CLASS_TRACK,\n CLASS_SLIDE,\n CLASS_DOT,\n CLASS_ACTIVE,\n SELECTOR_ACTIVE,\n CLASS_SLIDE_NEXT,\n CLASS_SLIDE_PREV,\n} from \"./constants\";\n\nexport const defaultConfig: SwiperOptions = {\n navigation: {\n nextEl: SELECTOR_NEXT,\n prevEl: SELECTOR_PREV,\n },\n pagination: {\n el: SELECTOR_DOTS,\n clickable: true,\n bulletClass: CLASS_DOT,\n bulletActiveClass: CLASS_ACTIVE,\n renderBullet: (index, className) => {\n return `<button aria-label=\"Page ${index + 1}\" role=\"tab\" class=\"${className}\" type=\"button\"></button>`;\n },\n },\n scrollbar: {\n el: SELECTOR_SCROLLBAR,\n draggable: true,\n enabled: true,\n horizontalClass: CLASS_SCROLLBAR_HORIZONTAL,\n dragClass: CLASS_SCROLLBAR_DRAG,\n },\n slidesPerView: 1.2,\n a11y: {\n enabled: true,\n prevSlideMessage: \"Predchádzajúci snímok\",\n nextSlideMessage: \"Nasledujúci snímok\",\n paginationBulletMessage: \"Prejsť na snímok {index}\",\n containerMessage: \"Carousel so snímkami\",\n containerRoleDescriptionMessage: \"carousel\",\n itemRoleDescriptionMessage: \"snímok\",\n firstSlideMessage: \"Prvý snímok\",\n lastSlideMessage: \"Posledný snímok\",\n slideLabelMessage: \"Snímok\",\n },\n loop: false,\n cssMode: false,\n direction: \"horizontal\",\n breakpoints: {\n 1240: {\n slidesPerView: 1.6,\n },\n },\n wrapperClass: CLASS_TRACK,\n slideClass: CLASS_SLIDE,\n slideActiveClass: CLASS_ACTIVE,\n slideNextClass: CLASS_SLIDE_NEXT,\n slidePrevClass: CLASS_SLIDE_PREV,\n};\n\nexport default class Carousel {\n element: HTMLElement;\n config: SwiperOptions;\n viewport!: HTMLElement;\n track!: HTMLElement;\n instance!: Swiper;\n\n constructor(element: HTMLElement, config?: Partial<SwiperOptions>) {\n this.element = element;\n this.config = {\n ...defaultConfig,\n ...config,\n scrollbar: {\n ...((defaultConfig.scrollbar ?? {}) as object),\n ...((config?.scrollbar ?? {}) as object),\n el: this.element.querySelector(\n SELECTOR_SCROLLBAR,\n ) as HTMLElement | null,\n },\n };\n\n this.handleSlideChange = this.handleSlideChange.bind(this);\n this.updateTooltipPosition = this.updateTooltipPosition.bind(this);\n\n (this.element as any).ODS_Carousel = this;\n\n // Defer initialization to ensure DOM is ready\n requestAnimationFrame(() => {\n this.init();\n });\n return this;\n }\n\n init() {\n this.getElements();\n\n if (this.element.hasAttribute(\"data-swiper-options\")) {\n this.getCustomOptions();\n }\n\n this.instance = new Swiper(this.viewport, {\n ...this.config,\n modules: [Navigation, Pagination, Scrollbar, A11y, Keyboard],\n on: {\n slideChange: this.handleSlideChange,\n },\n });\n }\n\n getElements() {\n this.viewport = this.element.querySelector(SELECTOR_VIEWPORT)!;\n this.track = this.viewport.querySelector(SELECTOR_TRACK)!;\n\n // Ensure pagination container has proper role\n const paginationEl = this.element.querySelector(\n SELECTOR_DOTS,\n ) as HTMLElement | null;\n if (paginationEl && !paginationEl.hasAttribute(\"role\")) {\n paginationEl.setAttribute(\"role\", \"tablist\");\n }\n\n const elements = {\n navigation: {\n ...((this.config.navigation ?? {}) as object),\n nextEl: this.element.querySelector(SELECTOR_NEXT) as HTMLElement | null,\n prevEl: this.element.querySelector(SELECTOR_PREV) as HTMLElement | null,\n },\n pagination: {\n ...((this.config.pagination ?? {}) as object),\n el: paginationEl,\n clickable: true,\n bulletClass: \"carousel__pagination-item\",\n bulletActiveClass: CLASS_ACTIVE,\n },\n };\n\n this.config = {\n ...this.config,\n ...elements,\n };\n }\n\n getCustomOptions() {\n const passedSwiperOptions = this.element.getAttribute(\n \"data-swiper-options\",\n );\n if (!passedSwiperOptions) return;\n const parsedSwiperOptions = JSON.parse(passedSwiperOptions);\n\n this.config = {\n ...this.config,\n ...parsedSwiperOptions,\n };\n }\n\n /**\n * Handles the slide change event on the carousel.\n * Updates the tooltip position for the active slide and hides tooltips for non-active slides.\n * Also updates accessibility attributes for pagination buttons.\n */\n handleSlideChange() {\n const activeSlide = this.track.querySelector(SELECTOR_ACTIVE);\n const nonActiveSlides = this.track.querySelectorAll(\n `.${CLASS_SLIDE}:not(${SELECTOR_ACTIVE})`,\n );\n\n if (activeSlide) {\n this.updateTooltipPosition(activeSlide as HTMLElement);\n }\n\n if (nonActiveSlides.length > 0) {\n this.hideAllTooltips(nonActiveSlides);\n }\n }\n\n /**\n * Updates the position of tooltips for the given element.\n * @param {HTMLElement} element - The element containing tooltip triggers.\n */\n updateTooltipPosition(element: HTMLElement) {\n const tooltipTriggers = element.querySelectorAll(\n '[data-tooltip-trigger=\"true\"]',\n );\n\n if (tooltipTriggers.length > 0) {\n tooltipTriggers.forEach((tooltipElement) => {\n const tooltipId = tooltipElement.getAttribute(\"aria-describedby\");\n if (!tooltipId) return;\n const tooltipDiv = document.getElementById(tooltipId);\n if (!tooltipDiv) return;\n const tooltipInstance = Tooltip.getInstance(tooltipDiv);\n\n if (tooltipInstance) {\n tooltipInstance.update();\n }\n });\n }\n }\n\n /**\n * Hides all tooltips for the given elements.\n * @param {NodeListOf<HTMLElement>} elements - The elements containing tooltip triggers.\n */\n hideAllTooltips(elements: NodeListOf<Element>) {\n elements.forEach((element) => {\n const allTooltips = element.querySelectorAll(\n '[data-tooltip-trigger=\"true\"]',\n );\n\n if (allTooltips.length > 0) {\n allTooltips.forEach((tooltipElement) => {\n const tooltipId = tooltipElement.getAttribute(\"aria-describedby\");\n if (!tooltipId) return;\n const tooltipDiv = document.getElementById(tooltipId);\n if (!tooltipDiv) return;\n const tooltipInstance = Tooltip.getInstance(tooltipDiv);\n\n if (tooltipInstance) {\n tooltipInstance.hide();\n (tooltipElement as HTMLElement).blur();\n }\n });\n }\n });\n }\n\n destroy() {\n if (this.instance) {\n this.instance.destroy();\n }\n }\n\n update() {\n if (this.instance) {\n this.instance.update();\n }\n }\n\n static getInstance(el: HTMLElement): Carousel | null {\n return el && (el as any).ODS_Carousel ? (el as any).ODS_Carousel : null;\n }\n}\n","\"use client\";\n\nimport React, { ReactNode, HTMLAttributes } from \"react\";\nimport cx from \"classnames\";\n\nimport { Icon } from \"../Icon\";\n\nimport { CarouselItem } from \"./CarouselItem\";\nimport CarouselStatic from \"./Carousel.static\";\nimport {\n CLASS_ROOT,\n CLASS_VIEWPORT_WRAPPER,\n CLASS_VIEWPORT,\n CLASS_NEXT,\n CLASS_PREV,\n CLASS_DOTS,\n CLASS_TRACK,\n CLASS_SCROLLBAR_DRAG,\n CLASS_SCROLLBAR,\n} from \"./constants\";\nimport { useStatic } from \"@/utils/hooks\";\n\ninterface CarouselProps extends HTMLAttributes<HTMLDivElement> {\n /** Swiper.js (https://swiperjs.com/) options object */\n swiperOptions?: Record<string, any>;\n /** Inverse colors */\n colorScheme?: \"light\" | \"dark\";\n /** Carousel items */\n items: ReactNode[];\n className?: string;\n}\n\nconst Carousel: React.FC<CarouselProps> = ({\n className,\n swiperOptions,\n items,\n colorScheme,\n ...other\n}) => {\n const [carouselRef] = useStatic(CarouselStatic);\n\n const carouselItems = items.map((item, i) => (\n <CarouselItem key={i.toString()}>{item}</CarouselItem>\n ));\n\n const classes = cx(CLASS_ROOT, className, {\n \"is-dark\": colorScheme === \"dark\",\n \"is-light\": colorScheme === \"light\",\n });\n\n const elementClasses = {\n prev: cx(CLASS_PREV),\n next: cx(CLASS_NEXT),\n dots: cx(CLASS_DOTS, \"show-md\"),\n };\n\n return (\n <div\n className={classes}\n ref={carouselRef}\n data-carousel\n {...(swiperOptions\n ? { \"data-swiper-options\": JSON.stringify(swiperOptions) }\n : {})}\n {...other}\n >\n <div className={CLASS_VIEWPORT_WRAPPER}>\n <div className={CLASS_VIEWPORT}>\n <div className={CLASS_TRACK}>{carouselItems}</div>\n </div>\n <button\n type=\"button\"\n aria-label=\"Naspäť\"\n className={elementClasses.prev}\n >\n <Icon size=\"medium\" name=\"chevron-left\" />\n </button>\n <button\n type=\"button\"\n aria-label=\"Ďalej\"\n className={elementClasses.next}\n >\n <Icon size=\"medium\" name=\"chevron-right\" />\n </button>\n </div>\n\n <div role=\"tablist\" className={elementClasses.dots} />\n\n <div className={cx(CLASS_SCROLLBAR, \"hide-md\")}>\n <div className={CLASS_SCROLLBAR_DRAG} />\n </div>\n </div>\n );\n};\n\nCarousel.displayName = \"Carousel\";\n\nexport { Carousel };\n","\"use client\";\n\nimport {\n useEffect,\n useCallback,\n useRef,\n useMemo,\n RefCallback,\n type RefObject,\n useState,\n} from \"react\";\n\nimport generateId from \"./generateId\";\n\n// Generic type for any class constructor\ntype StaticClassType<T = any> = new (element: HTMLElement, config?: any) => T;\n\n// Define a generic interface for static class instances\ninterface StaticInstance {\n update?: (config: any) => void;\n destroy?: () => void;\n}\n\n/**\n * A hook to create and manage an instance of a \"static\" class\n * @param StaticClass The class to instantiate\n * @param config Configuration options for the class\n * @returns [ref callback, instance reference]\n */\nconst useStatic = <T extends StaticInstance>(\n StaticClass: StaticClassType<T>,\n config: Record<string, any> = {},\n): [RefCallback<HTMLElement>, RefObject<T | null>] => {\n const instance = useRef<T | null>(null);\n const configRef = useRef(config);\n\n useEffect(() => {\n configRef.current = config ?? {};\n }, [config]);\n\n const ref = useCallback(\n (node: HTMLElement | null) => {\n // use latest config available\n const currentConfig = configRef.current;\n if (node) {\n if (instance.current === null) {\n instance.current = new StaticClass(node, currentConfig);\n } else {\n instance.current.update?.(currentConfig);\n }\n }\n },\n [StaticClass],\n );\n\n useEffect(\n () => () => {\n if (instance.current) {\n instance.current.destroy?.();\n instance.current = null;\n }\n },\n [],\n );\n\n return [ref, instance];\n};\n\n/**\n * A hook for creating React portals\n * From https://www.jayfreestone.com/writing/react-portals-with-hooks/\n * @param id The id of the target DOM element\n * @returns A DOM element that can be used as a portal container\n */\nfunction usePortal(id: string): HTMLDivElement {\n const rootElemRef = useRef<HTMLDivElement | null>(null);\n\n useEffect(\n function setupElement() {\n if (typeof document === \"undefined\") return;\n\n // Create element if it doesn't exist\n if (!rootElemRef.current) {\n rootElemRef.current = document.createElement(\"div\");\n }\n\n // Look for existing target dom element to append to\n const parentElem = document.querySelector(`#${id}`);\n\n // Add the detached element to the parent\n if (parentElem && rootElemRef.current) {\n parentElem.appendChild(rootElemRef.current);\n }\n\n // This function is run on unmount\n return function removeElement() {\n rootElemRef.current?.remove();\n };\n },\n [id],\n );\n\n function getRootElem(): HTMLDivElement {\n if (typeof document === \"undefined\") {\n throw new Error(\"usePortal must be used in a browser environment\");\n }\n\n if (!rootElemRef.current) {\n rootElemRef.current = document.createElement(\"div\");\n }\n return rootElemRef.current;\n }\n\n return getRootElem();\n}\n\n/**\n * Returns unique string for the `id` attribute.\n *\n * @param id Provided id\n * @param name Optional prefix\n * @returns A unique ID string\n */\nconst useUniqueId = (id?: string, name?: string): string =>\n useMemo(() => id ?? generateId(name), [id, name]);\n\n/**\n * Hydration-safe hook for generating a unique, numeric ID for tooltips and similar components.\n * Ensures IDs are consistent between SSR and client, and match test expectations.\n * @param providedId Optional externally provided ID\n * @returns Hydration-safe unique ID string (e.g., \"id-1\")\n */\nconst idCounter = { current: 0 };\n\nfunction useHydrationSafeId(providedId?: string): string {\n const [hydratedId, setHydratedId] = useState<string | undefined>(providedId);\n const idRef = useRef<string | undefined>(providedId);\n\n useEffect(() => {\n if (!providedId) {\n idCounter.current += 1;\n const newId = `id-${idCounter.current}`;\n idRef.current = newId;\n setHydratedId(newId);\n }\n }, [providedId]);\n\n return hydratedId || idRef.current || providedId || \"id-0\";\n}\n\nexport { useStatic, usePortal, useUniqueId, useHydrationSafeId };\n"],"names":["__rest","s","e","t","p","Object","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","i","length","propertyIsEnumerable","SuppressedError","hasOwn","classNames","classes","arguments","arg","appendClass","parseValue","Array","isArray","apply","toString","includes","key","value","newClass","module","exports","default","window","process","env","NODE_ENV","getComponentNameFromType","type","$$typeof","REACT_CLIENT_REFERENCE","displayName","name","REACT_FRAGMENT_TYPE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_ACTIVITY_TYPE","tag","console","error","REACT_PORTAL_TYPE","REACT_CONTEXT_TYPE","REACT_CONSUMER_TYPE","_context","REACT_FORWARD_REF_TYPE","innerType","render","REACT_MEMO_TYPE","REACT_LAZY_TYPE","_payload","_init","x","testStringCoercion","checkKeyStringCoercion","JSCompiler_inline_result","JSCompiler_temp_const","JSCompiler_inline_result$jscomp$0","Symbol","toStringTag","constructor","getTaskName","UnknownOwner","Error","elementRefGetterWithDeprecationWarning","componentName","this","didWarnAboutElementRef","props","ref","jsxDEVImpl","config","maybeKey","isStaticChildren","source","self","debugStack","debugTask","dispatcher","children","isArrayImpl","validateChildKeys","freeze","keys","filter","k","join","didWarnAboutKeySpread","getter","getOwnPropertyDescriptor","get","isReactWarning","hasValidKey","propName","warnAboutAccessingKey","specialPropKeyWarningShown","defineProperty","configurable","defineKeyPropWarningGetter","owner","REACT_ELEMENT_TYPE","_owner","enumerable","_store","writable","ReactElement","ReactSharedInternals","A","getOwner","node","validated","React","require$$0","for","__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE","createTask","unknownOwnerDebugStack","react_stack_bottom_frame","callStackForError","bind","unknownOwnerDebugTask","reactJsxRuntime_development","Fragment","jsx","trackActualOwner","recentlyCreatedOwnerStacks","jsxs","jsxRuntimeModule","jsxProd","reactJsxRuntime_production","require$$1","SpritePathContext","createContext","CLASS_ROOT","Icon","_a","className","alt","color","size","_a$spritePath","spritePath","other","contextPath","useContext","cx","_defineProperty","concat","_jsxs","_objectSpread","undefined","role","_jsx","xlinkHref","CLASS_VIEWPORT_WRAPPER","CLASS_VIEWPORT","CLASS_TRACK","CLASS_SLIDE","CLASS_SLIDE_NEXT","CLASS_SLIDE_PREV","CLASS_PREV","CLASS_NEXT","CLASS_DOTS","CLASS_DOT","CLASS_SCROLLBAR","CLASS_SCROLLBAR_HORIZONTAL","CLASS_SCROLLBAR_DRAG","CLASS_ACTIVE","SELECTOR_VIEWPORT","SELECTOR_TRACK","SELECTOR_PREV","SELECTOR_NEXT","SELECTOR_DOTS","SELECTOR_SCROLLBAR","SELECTOR_ACTIVE","CarouselItem","isObject","obj","extend","target","src","noExtend","forEach","ssrDocument","body","addEventListener","removeEventListener","activeElement","blur","nodeName","querySelector","querySelectorAll","getElementById","createEvent","initEvent","createElement","childNodes","style","setAttribute","getElementsByTagName","createElementNS","importNode","location","hash","host","hostname","href","origin","pathname","protocol","search","getDocument","doc","document","ssrWindow","navigator","userAgent","history","replaceState","pushState","go","back","CustomEvent","getComputedStyle","getPropertyValue","Image","Date","screen","setTimeout","clearTimeout","matchMedia","requestAnimationFrame","callback","cancelAnimationFrame","id","getWindow","win","classesToTokens","trim","split","c","nextTick","delay","now","getTranslate","el","axis","matrix","curTransform","transformMatrix","curStyle","currentStyle","WebKitCSSMatrix","transform","webkitTransform","map","a","replace","MozTransform","OTransform","MsTransform","msTransform","m41","parseFloat","m42","o","slice","isNode","HTMLElement","nodeType","to","nextSource","keysArray","nextIndex","len","nextKey","desc","__swiper__","setCSSProperty","varName","varValue","setProperty","animateCSSModeScroll","_ref","swiper","targetPosition","side","startPosition","translate","time","startTime","duration","params","speed","wrapperEl","scrollSnapType","cssModeFrameID","dir","isOutOfBound","current","animate","getTime","progress","Math","max","min","easeProgress","cos","PI","currentPosition","scrollTo","overflow","elementChildren","element","selector","HTMLSlotElement","push","assignedElements","matches","showWarning","text","warn","err","classList","add","elementOffset","box","getBoundingClientRect","clientTop","clientLeft","scrollTop","scrollY","scrollLeft","scrollX","top","left","elementStyle","prop","elementIndex","child","previousSibling","elementParents","parents","parent","parentElement","elementOuterSize","includeMargins","makeElementsArray","setInnerHTML","html","trustedTypes","innerHTML","createPolicy","createHTML","support","deviceCached","browser","getSupport","smoothScroll","documentElement","touch","DocumentTouch","calcSupport","getDevice","overrides","_temp","platform","ua","device","ios","android","screenWidth","width","screenHeight","height","match","ipad","ipod","iphone","windows","macos","os","calcDevice","getBrowser","needPerspectiveFix","isSafari","toLowerCase","String","major","minor","num","Number","isWebView","test","isSafariBrowser","need3dFix","calcBrowser","eventsEmitter","on","events","handler","priority","eventsListeners","destroyed","method","event","once","onceHandler","off","__emitterProxy","_len","args","_key","onAny","eventsAnyListeners","offAny","index","splice","eventHandler","emit","data","context","_len2","_key2","unshift","toggleSlideClasses$1","slideEl","condition","contains","remove","toggleSlideClasses","processLazyPreloader","imageEl","closest","isElement","slideClass","lazyEl","lazyPreloaderClass","shadowRoot","unlazy","slides","removeAttribute","preload","amount","lazyPreloadPrevNext","slidesPerView","slidesPerViewDynamic","ceil","activeIndex","grid","rows","activeColumn","preloadColumns","from","_","column","slideIndexLastInView","rewind","loop","realIndex","update","updateSize","clientWidth","clientHeight","isHorizontal","isVertical","parseInt","isNaN","assign","updateSlides","getDirectionPropertyValue","label","getDirectionLabel","slidesEl","swiperSize","rtlTranslate","rtl","wrongRTL","isVirtual","virtual","enabled","previousSlidesLength","slidesLength","snapGrid","slidesGrid","slidesSizesGrid","offsetBefore","slidesOffsetBefore","offsetAfter","slidesOffsetAfter","previousSnapGridLength","previousSlidesGridLength","spaceBetween","slidePosition","prevSlideSize","virtualSize","marginLeft","marginRight","marginBottom","marginTop","centeredSlides","cssMode","gridEnabled","slideSize","initSlides","unsetSlides","shouldResetSlideSize","breakpoints","slide","updateSlide","slideStyles","currentTransform","currentWebKitTransform","roundLengths","paddingLeft","paddingRight","boxSizing","offsetWidth","floor","swiperSlideSize","abs","slidesPerGroup","slidesPerGroupSkip","effect","setWrapperSize","updateWrapperSize","newSlidesGrid","slidesGridItem","groups","slidesBefore","slidesAfter","groupSize","slideIndex","centeredSlidesBounds","allSlidesSize","slideSizeValue","maxSnap","snap","centerInsufficientSlides","offsetSize","allSlidesOffset","snapIndex","addToSnapGrid","addToSlidesGrid","v","watchOverflow","checkOverflow","watchSlidesProgress","updateSlidesOffset","backFaceHiddenClass","containerModifierClass","hasClassBackfaceClassAdded","maxBackfaceHiddenSlides","updateAutoHeight","activeSlides","newHeight","setTransition","getSlideByIndex","getSlideIndexByData","visibleSlides","offsetHeight","minusOffset","offsetLeft","offsetTop","swiperSlideOffset","cssOverflowAdjustment","updateSlidesProgress","offsetCenter","visibleSlidesIndexes","slideOffset","slideProgress","minTranslate","originalSlideProgress","slideBefore","slideAfter","isFullyVisible","isVisible","slideVisibleClass","slideFullyVisibleClass","originalProgress","updateProgress","multiplier","translatesDiff","maxTranslate","isBeginning","isEnd","progressLoop","wasBeginning","wasEnd","isBeginningRounded","isEndRounded","firstSlideIndex","lastSlideIndex","firstSlideTranslate","lastSlideTranslate","translateMax","translateAbs","autoHeight","updateSlidesClasses","getFilteredSlide","activeSlide","prevSlide","nextSlide","find","nextEls","nextElementSibling","next","elementNextAll","prevEls","previousElementSibling","prev","elementPrevAll","slideActiveClass","slideNextClass","slidePrevClass","emitSlidesClasses","updateActiveIndex","newActiveIndex","previousIndex","previousRealIndex","previousSnapIndex","getVirtualRealIndex","aIndex","normalizeSlideIndex","getActiveIndexByTranslate","skip","firstSlideInColumn","activeSlideIndex","getAttribute","initialized","runCallbacksOnInit","updateClickedSlide","path","pathEl","slideFound","clickedSlide","clickedIndex","slideToClickedSlide","virtualTranslate","currentTranslate","setTranslate","byController","newProgress","y","previousTranslate","translateTo","runCallbacks","translateBounds","internal","animating","preventInteractionOnTransition","newTranslate","isH","behavior","onTranslateToWrapperTransitionEnd","transitionEmit","direction","step","slideTo","initial","normalizedTranslate","normalizedGrid","normalizedGridNext","allowSlideNext","allowSlidePrev","transitionStart","transitionEnd","_immediateVirtual","_cssModeVirtualInitialSet","initialSlide","onSlideToWrapperTransitionEnd","slideToLoop","newIndex","targetSlideIndex","cols","needLoopFix","loopFix","slideRealIndex","slideNext","perGroup","slidesPerGroupAuto","increment","loopPreventsSliding","_clientLeft","slidePrev","normalize","val","normalizedSnapGrid","isFreeMode","freeMode","prevSnap","prevSnapIndex","prevIndex","lastIndex","slideReset","slideToClosest","threshold","currentSnap","slideToIndex","getSlideIndexWhenGrid","slideSelector","isGrid","getSlideIndex","loopCreate","loopAddBlankSlides","slideBlankClass","recalcSlides","clearBlankSlides","shouldFillGroup","shouldFillGrid","addBlankSlides","amountOfSlides","append","byMousewheel","loopedSlides","loopAdditionalSlides","fill","prependSlidesIndexes","appendSlidesIndexes","isInitialOverflow","isNext","isPrev","slidesPrepended","slidesAppended","activeColIndexWithShift","colIndexToPrepend","__preventObserver__","swiperLoopMoveDOM","prepend","currentSlideTranslate","diff","touchEventsData","startTranslate","shift","controller","control","loopParams","loopDestroy","newSlidesOrder","swiperSlideIndex","preventEdgeSwipe","startX","edgeSwipeDetection","edgeSwipeThreshold","innerWidth","preventDefault","onTouchStart","originalEvent","pointerId","targetTouches","touchId","identifier","pageX","touches","simulateTouch","pointerType","targetEl","touchEventsTarget","isChild","slot","elementsQueue","elementToCheck","elementIsChildOfSlot","elementIsChildOf","which","button","isTouched","isMoved","swipingClassHasValue","noSwipingClass","eventPath","composedPath","noSwipingSelector","isTargetShadow","noSwiping","base","__closestFrom","assignedSlot","found","getRootNode","closestElement","allowClick","swipeHandler","currentX","currentY","pageY","startY","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","swipeDirection","allowThresholdMove","focusableElements","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","isContentEditable","onTouchMove","targetTouch","changedTouches","preventedByNestedSwiper","touchReleaseOnEdges","previousX","previousY","diffX","diffY","sqrt","touchAngle","atan2","preventTouchMoveFromPointerMove","cancelable","touchMoveStopPropagation","nested","stopPropagation","touchesDiff","oneWayMovement","touchRatio","prevTouchesDirection","touchesDirection","isLoop","allowLoopFix","evt","bubbles","detail","bySwiperTouchMove","dispatchEvent","allowMomentumBounce","grabCursor","setGrabCursor","_loopSwapReset","loopSwapReset","disableParentSwiper","resistanceRatio","resistance","followFinger","onTouchEnd","touchEndTime","timeDiff","pathTree","lastClickTime","currentPos","swipeToLast","stopIndex","rewindFirstIndex","rewindLastIndex","ratio","longSwipesMs","longSwipes","longSwipesRatio","shortSwipes","navigation","nextEl","prevEl","onResize","setBreakpoint","isVirtualLoop","autoplay","running","paused","resizeTimeout","resume","onClick","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","onLoad","onDocumentTouchStart","documentTouchHandlerProceeded","touchAction","capture","domMethod","swiperMethod","passive","updateOnWindowResize","isGridEnabled","defaults","init","swiperElementNodeName","resizeObserver","createElements","eventsPrefix","url","breakpointsBase","uniqueNavElements","passiveListeners","wrapperClass","_emitClasses","moduleExtendParams","allModulesParams","moduleParamName","moduleParams","auto","prototypes","transition","transitionDuration","transitionDelay","moving","isLocked","cursor","unsetGrabCursor","attachEvents","detachEvents","breakpointContainer","breakpoint","getBreakpoint","currentBreakpoint","breakpointParams","originalParams","wasMultiRow","isMultiRow","wasGrabCursor","isGrabCursor","wasEnabled","emitContainerClasses","wasModuleEnabled","isModuleEnabled","disable","enable","directionChanged","needsReLoop","wasLoop","changeDirection","isEnabled","hasLoop","containerEl","currentHeight","innerHeight","points","point","minRatio","substr","sort","b","wasLocked","lastSlideRightEdge","addClasses","suffixes","entries","prefix","resultClasses","item","prepareClasses","autoheight","centered","removeClasses","extendedDefaults","Swiper","swipers","newParams","modules","__modules__","mod","extendParams","swiperParams","passedParams","eventName","velocity","trunc","clickTimeout","velocities","imagesToLoad","imagesLoaded","property","setProgress","cls","getSlideClasses","updates","view","exact","spv","breakLoop","translateValue","translated","complete","newDirection","needUpdate","currentDirection","changeLanguageDirection","mount","mounted","parentNode","toUpperCase","getWrapperSelector","getWrapper","slideSlots","hostEl","lazyElements","destroy","deleteInstance","cleanStyles","object","deleteProps","extendDefaults","newDefaults","installModule","use","m","Keyboard","handle","kc","keyCode","charCode","pageUpDown","keyboard","isPageUp","isPageDown","isArrowLeft","isArrowRight","isArrowUp","isArrowDown","shiftKey","altKey","ctrlKey","metaKey","onlyInViewport","inView","swiperWidth","swiperHeight","windowWidth","windowHeight","swiperOffset","swiperCoord","returnValue","createElementIfNotDefined","checkProps","Navigation","getEl","res","toggleEl","disabled","subEl","disabledClass","tagName","lockClass","onPrevClick","onNextClick","initButton","destroyButton","hideOnClick","hiddenClass","navigationDisabledClass","_s","targetIsButton","pagination","clickable","isHidden","toggle","classesToSelector","Pagination","pfx","bulletSize","bulletElement","renderBullet","renderProgressbar","renderFraction","renderCustom","progressbarOpposite","dynamicBullets","dynamicMainBullets","formatFractionCurrent","number","formatFractionTotal","bulletClass","bulletActiveClass","modifierClass","currentClass","totalClass","progressbarFillClass","progressbarOppositeClass","clickableClass","horizontalClass","verticalClass","paginationDisabledClass","bullets","dynamicBulletIndex","isPaginationDisabled","setSideBullets","bulletEl","position","onBulletClick","moveDirection","total","firstIndex","midIndex","classesToRemove","suffix","flat","bullet","bulletIndex","firstDisplayedBullet","lastDisplayedBullet","dynamicBulletsLength","bulletsOffset","offsetProp","subElIndex","fractionEl","textContent","totalEl","progressbarDirection","scale","scaleX","scaleY","progressEl","paginationHTML","numberOfBullets","Scrollbar","dragStartPos","dragSize","trackSize","divider","timeout","dragTimeout","scrollbar","dragEl","newSize","newPos","hide","opacity","display","getPointerPosition","clientX","clientY","setDragPosition","positionRatio","onDragStart","onDragMove","onDragEnd","snapOnRelease","activeListener","passiveListener","eventMethod","swiperEl","dragClass","draggable","scrollbarDisabledClass","A11y","a11y","notificationClass","prevSlideMessage","nextSlideMessage","firstSlideMessage","lastSlideMessage","paginationBulletMessage","slideLabelMessage","containerMessage","containerRoleDescriptionMessage","containerRole","itemRoleDescriptionMessage","slideRole","scrollOnFocus","clicked","preventFocusHandler","focusTargetSlideEl","liveRegion","visibilityChangedTimestamp","notify","message","notification","makeElFocusable","makeElNotFocusable","addElRole","addElRoleDescription","description","addElLabel","disableEl","enableEl","onEnterOrSpaceKey","click","hasPagination","hasClickablePagination","initNavEl","wrapperId","controls","addElControls","handlePointerDown","handlePointerUp","onVisibilityChange","handleFocus","isActive","sourceCapabilities","firesTouchEvents","repeat","round","random","live","addElLive","updateNavigation","updatePagination","prototypeGroup","protoMethod","observer","animationFrame","resizeHandler","orientationChangeHandler","ResizeObserver","newWidth","_ref2","contentBoxSize","contentRect","inlineSize","blockSize","observe","unobserve","observers","attach","options","MutationObserver","WebkitMutationObserver","mutations","observerUpdate","attributes","childList","characterData","observeParents","observeSlideChildren","containerParents","disconnect","bottom","right","basePlacements","start","end","viewport","popper","variationPlacements","reduce","acc","placement","placements","modifierPhases","getNodeName","ownerDocument","defaultView","Element","isHTMLElement","isShadowRoot","ShadowRoot","applyStyles$1","phase","fn","state","elements","styles","initialStyles","strategy","margin","arrow","reference","attribute","requires","getBasePlacement","getUAString","uaData","userAgentData","brands","brand","version","isLayoutViewport","includeScale","isFixedStrategy","clientRect","visualViewport","addVisualOffsets","getLayoutRect","rootNode","isSameNode","isTableElement","getDocumentElement","getParentNode","getTrueOffsetParent","offsetParent","getOffsetParent","isFirefox","currentNode","css","perspective","contain","willChange","getContainingBlock","getMainAxisFromPlacement","within","mathMax","mathMin","mergePaddingObject","paddingObject","expandToHashMap","hashMap","arrow$1","_state$modifiersData$","arrowElement","popperOffsets","modifiersData","basePlacement","padding","rects","toPaddingObject","arrowRect","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","center","offset","axisProp","centerOffset","_options$element","requiresIfExists","getVariation","unsetSides","mapToStyles","_Object$assign2","popperRect","variation","offsets","gpuAcceleration","adaptive","roundOffsets","isFixed","_offsets$x","_offsets$y","_ref3","hasX","hasY","sideX","sideY","heightProp","widthProp","_Object$assign","commonStyles","_ref4","dpr","devicePixelRatio","roundOffsetsByDPR","getOppositePlacement","matched","getOppositeVariationPlacement","getWindowScroll","pageXOffset","pageYOffset","getWindowScrollBarX","isScrollParent","_getComputedStyle","overflowX","overflowY","getScrollParent","listScrollParents","list","_element$ownerDocumen","scrollParent","isBody","updatedList","rectToClientRect","rect","getClientRectFromMixedType","clippingParent","layoutViewport","getViewportRect","getInnerBoundingClientRect","winScroll","scrollWidth","scrollHeight","getDocumentRect","getClippingRect","boundary","rootBoundary","mainClippingParents","clippingParents","clipperElement","getClippingParents","firstClippingParent","clippingRect","accRect","computeOffsets","commonX","commonY","mainAxis","detectOverflow","_options","_options$placement","_options$strategy","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","clippingClientRect","contextElement","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","computeAutoPlacement","flipVariations","_options$allowedAutoP","allowedAutoPlacements","allPlacements","allowedPlacements","overflows","flip$1","_skip","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","referenceRect","checksMap","Map","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","mainVariationSide","altVariationSide","checks","every","check","set","_loop","_i","fittingPlacement","reset","getSideOffsets","preventedOffsets","isAnySideFullyClipped","some","offset$1","_options$offset","invertDistance","skidding","distance","distanceAndSkiddingToXY","_data$state$placement","preventOverflow$1","_options$tether","tether","_options$tetherOffset","tetherOffset","isBasePlacement","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","minLen","maxLen","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","clientOffset","offsetModifierValue","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","_offset","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","withinMaxClamp","getCompositeRect","elementOrVirtualElement","isOffsetParentAnElement","offsetParentIsScaled","isElementScaled","scroll","order","modifiers","visited","Set","result","modifier","dep","has","depModifier","DEFAULT_OPTIONS","areValidElements","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","defaultOptions","pending","orderedModifiers","effectCleanupFns","isDestroyed","instance","setOptions","setOptionsAction","cleanupModifierEffects","scrollParents","merged","orderModifiers","existing","_ref$options","cleanupFn","noopFn","forceUpdate","_state$elements","_state$orderedModifie","_state$orderedModifie2","Promise","resolve","then","onFirstUpdate","createPopper","_options$scroll","_options$resize","resize","_ref5","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","applyStyles","flip","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","transitionHiddenElement","visibleClass","waitMode","timeoutDuration","hideMode","displayValue","listener","applyHiddenAttributes","show","hasHiddenAttribute","isDisplayNone","hasVisibleClass","ESC","FormatOptions","strReverse","reverse","strStartsWith","input","substring","strEndsWith","throwEqualError","F","isValidNumber","isFinite","toFixed","exp","formatTo","decimals","thousand","mark","encoder","decoder","negativeBefore","negative","edit","undo","inputIsNegative","inputPieces","inputBase","originalInput","inputDecimals","output","formatFrom","validate","inputOptions","optionName","optionValue","filteredOptions","passAll","wNumb","factory","defaultConfig","rootContainerSelector","removeDialogOnDestroy","popperOptions","Tooltip","_createClass","_classCallCheck","_toConsumableArray","handleVisibility","onKeydown","ODS_Tooltip","hasAttribute","trigger","Node","TEXT_NODE","words","lastWord","pop","updatedTextContent","span","outerHTML","_b","replaceChild","wrapLastWordAndButton","rootContainer","appendChild","customPlacement","transitioner","shouldClose","_this","mouseLeftTo","relatedreference","toElement","relatedTarget","e2","mouseLeftTo2","Carousel","handleSlideChange","updateTooltipPosition","ODS_Carousel","getElements","getCustomOptions","slideChange","track","paginationEl","passedSwiperOptions","parsedSwiperOptions","JSON","parse","nonActiveSlides","hideAllTooltips","tooltipTriggers","tooltipElement","tooltipId","tooltipDiv","tooltipInstance","getInstance","allTooltips","swiperOptions","items","colorScheme","_useStatic","StaticClass","useRef","configRef","useEffect","useCallback","currentConfig","useStatic","CarouselStatic","carouselRef","_slicedToArray","carouselItems","elementClasses","dots","stringify"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,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,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,75]}
|