@spaziodati/atoka-design-system 2.0.72-beta
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/AddableItems/AddableItems.d.ts +72 -0
- package/AddableItems/ClickableExcludableItem.d.ts +23 -0
- package/AddableItems/ClickableItemList.d.ts +32 -0
- package/AddableItems/index.d.ts +1 -0
- package/AddableItems/index.js +1046 -0
- package/AddableItems/index.js.map +1 -0
- package/Alert/Alert.d.ts +37 -0
- package/Alert/index.d.ts +1 -0
- package/Alert/index.js +319 -0
- package/Alert/index.js.map +1 -0
- package/Badge/Badge.d.ts +38 -0
- package/Badge/index.d.ts +1 -0
- package/Badge/index.js +285 -0
- package/Badge/index.js.map +1 -0
- package/Bs4V3Wrapper/Bs4V3Wrapper.d.ts +7 -0
- package/Bs4V3Wrapper/StoryWrapper.d.ts +8 -0
- package/Bs4V3Wrapper/index.d.ts +1 -0
- package/Bs4V3Wrapper/index.js +251 -0
- package/Bs4V3Wrapper/index.js.map +1 -0
- package/BubbleChart/BubbleChart.d.ts +33 -0
- package/BubbleChart/BubbleChartUI.d.ts +31 -0
- package/BubbleChart/index.d.ts +1 -0
- package/BubbleChart/index.js +3793 -0
- package/BubbleChart/index.js.map +1 -0
- package/Button/Button.d.ts +29 -0
- package/Button/Button.storiesConfig.d.ts +68 -0
- package/Button/index.d.ts +1 -0
- package/Button/index.js +323 -0
- package/Button/index.js.map +1 -0
- package/ButtonDropdown/ButtonDropdown.d.ts +23 -0
- package/ButtonDropdown/index.d.ts +2 -0
- package/ButtonDropdown/index.js +603 -0
- package/ButtonDropdown/index.js.map +1 -0
- package/CardsPage/CardsPage.d.ts +12 -0
- package/CardsPage/CardsPageActions.d.ts +2 -0
- package/CardsPage/CardsPageCards.d.ts +5 -0
- package/CardsPage/CardsPageCardsCounter.d.ts +7 -0
- package/CardsPage/CardsPageFilters.d.ts +3 -0
- package/CardsPage/CardsPageHeader.d.ts +11 -0
- package/CardsPage/CardsPageLayoutMode.d.ts +13 -0
- package/CardsPage/CardsPageSelectionActions.d.ts +17 -0
- package/CardsPage/CardsPageSelectionToggler.d.ts +8 -0
- package/CardsPage/CardsPageSorting.d.ts +15 -0
- package/CardsPage/CardsPageSubtitle.d.ts +2 -0
- package/CardsPage/CardsPageTabContent.d.ts +19 -0
- package/CardsPage/CardsPageTabSwitcher.d.ts +3 -0
- package/CardsPage/CardsPageTitle.d.ts +2 -0
- package/CardsPage/index.d.ts +2 -0
- package/CardsPage/index.js +2511 -0
- package/CardsPage/index.js.map +1 -0
- package/CursorPagination/CursorPagination.d.ts +21 -0
- package/CursorPagination/index.d.ts +1 -0
- package/CursorPagination/index.js +952 -0
- package/CursorPagination/index.js.map +1 -0
- package/DatePicker/DatePicker.d.ts +27 -0
- package/DatePicker/index.d.ts +1 -0
- package/DatePicker/index.js +452 -0
- package/DatePicker/index.js.map +1 -0
- package/DetailPage/DetailPage.d.ts +18 -0
- package/DetailPage/DetailPageBodyContainer.d.ts +2 -0
- package/DetailPage/DetailPageBodySection.d.ts +3 -0
- package/DetailPage/DetailPageHeaderContainer.d.ts +7 -0
- package/DetailPage/DetailPageHeaderUI.d.ts +12 -0
- package/DetailPage/DetailPageMenuContainer.d.ts +2 -0
- package/DetailPage/DetailPageMenuUI.d.ts +4 -0
- package/DetailPage/index.d.ts +1 -0
- package/DetailPage/index.js +2066 -0
- package/DetailPage/index.js.map +1 -0
- package/Dropdown/AtokaDropdownToggles.d.ts +11 -0
- package/Dropdown/Dropdown.d.ts +12 -0
- package/Dropdown/DropdownMenu.d.ts +7 -0
- package/Dropdown/index.d.ts +3 -0
- package/Dropdown/index.js +723 -0
- package/Dropdown/index.js.map +1 -0
- package/EditableString/EditableString.d.ts +42 -0
- package/EditableString/index.d.ts +1 -0
- package/EditableString/index.js +3321 -0
- package/EditableString/index.js.map +1 -0
- package/EllipsableContent/EllipsableContent.d.ts +18 -0
- package/EllipsableContent/index.d.ts +1 -0
- package/EllipsableContent/index.js +784 -0
- package/EllipsableContent/index.js.map +1 -0
- package/EmptyState/EmptyState.d.ts +12 -0
- package/EmptyState/index.d.ts +1 -0
- package/EmptyState/index.js +278 -0
- package/EmptyState/index.js.map +1 -0
- package/Facet/Facet.d.ts +21 -0
- package/Facet/FacetHelp.d.ts +28 -0
- package/Facet/FacetItemCount.d.ts +7 -0
- package/Facet/FacetSubtitle.d.ts +2 -0
- package/Facet/index.d.ts +1 -0
- package/Facet/index.js +914 -0
- package/Facet/index.js.map +1 -0
- package/FacetSection/FacetSection.d.ts +21 -0
- package/FacetSection/index.d.ts +1 -0
- package/FacetSection/index.js +443 -0
- package/FacetSection/index.js.map +1 -0
- package/FadeAnimation/FadeAnimation.d.ts +14 -0
- package/FadeAnimation/index.d.ts +1 -0
- package/FadeAnimation/index.js +1228 -0
- package/FadeAnimation/index.js.map +1 -0
- package/FeedbackButton/FeedbackButton.d.ts +19 -0
- package/FeedbackButton/index.d.ts +1 -0
- package/FeedbackButton/index.js +398 -0
- package/FeedbackButton/index.js.map +1 -0
- package/Form/Form.d.ts +23 -0
- package/Form/FormCheckbox.d.ts +10 -0
- package/Form/FormControl.d.ts +23 -0
- package/Form/FormControlFeedBack.d.ts +6 -0
- package/Form/FormHelp.d.ts +7 -0
- package/Form/FormLabel.d.ts +4 -0
- package/Form/FormRadio.d.ts +10 -0
- package/Form/index.d.ts +1 -0
- package/Form/index.js +450 -0
- package/Form/index.js.map +1 -0
- package/Funnel/Funnel.d.ts +54 -0
- package/Funnel/SVGDataLabel.d.ts +11 -0
- package/Funnel/index.d.ts +1 -0
- package/Funnel/index.js +3997 -0
- package/Funnel/index.js.map +1 -0
- package/GridCard/Fixtures.d.ts +3 -0
- package/GridCard/GridCard.d.ts +20 -0
- package/GridCard/GridCardContent.d.ts +2 -0
- package/GridCard/GridCardFooter.d.ts +2 -0
- package/GridCard/GridCardHeader.d.ts +14 -0
- package/GridCard/GridCardMenu.d.ts +2 -0
- package/GridCard/GridCardTags.d.ts +2 -0
- package/GridCard/GridCardTitle.d.ts +6 -0
- package/GridCard/index.d.ts +1 -0
- package/GridCard/index.js +1618 -0
- package/GridCard/index.js.map +1 -0
- package/HighlightableText/HighlightableText.d.ts +21 -0
- package/HighlightableText/index.d.ts +1 -0
- package/HighlightableText/index.js +624 -0
- package/HighlightableText/index.js.map +1 -0
- package/Histogram/Histogram.d.ts +126 -0
- package/Histogram/Types.d.ts +19 -0
- package/Histogram/index.d.ts +1 -0
- package/Histogram/index.js +2359 -0
- package/Histogram/index.js.map +1 -0
- package/InlineStringEditor/InlineStringEditor.d.ts +49 -0
- package/InlineStringEditor/index.d.ts +1 -0
- package/InlineStringEditor/index.js +1882 -0
- package/InlineStringEditor/index.js.map +1 -0
- package/InputGroup/InputGroup.d.ts +16 -0
- package/InputGroup/InputGroupText.d.ts +2 -0
- package/InputGroup/index.d.ts +1 -0
- package/InputGroup/index.js +279 -0
- package/InputGroup/index.js.map +1 -0
- package/Jumbotron/Jumbotron.d.ts +16 -0
- package/Jumbotron/index.d.ts +1 -0
- package/Jumbotron/index.js +270 -0
- package/Jumbotron/index.js.map +1 -0
- package/Map/Map.d.ts +27 -0
- package/Map/MapChoropleth.d.ts +31 -0
- package/Map/MapControl.d.ts +13 -0
- package/Map/MapLegendContent.d.ts +27 -0
- package/Map/MapPopup.d.ts +5 -0
- package/Map/MapUtils.d.ts +2 -0
- package/Map/Types.d.ts +38 -0
- package/Map/index.d.ts +2 -0
- package/Map/index.js +4810 -0
- package/Map/index.js.map +1 -0
- package/Modal/Modal.d.ts +32 -0
- package/Modal/index.d.ts +1 -0
- package/Modal/index.js +743 -0
- package/Modal/index.js.map +1 -0
- package/Navbar/Navbar.d.ts +42 -0
- package/Navbar/NavbarMobileMenuCollapse.d.ts +3 -0
- package/Navbar/NavbarMobileMenuToggle.d.ts +3 -0
- package/Navbar/NavbarNavigationMenu.d.ts +9 -0
- package/Navbar/NavbarNavigationMenuItem.d.ts +9 -0
- package/Navbar/NavbarNinjaMenu.d.ts +6 -0
- package/Navbar/NavbarNinjaMenuItem.d.ts +6 -0
- package/Navbar/NavbarNotificationMenu.d.ts +12 -0
- package/Navbar/NavbarNotificationMenuItem.d.ts +8 -0
- package/Navbar/NavbarOverlaySearch.d.ts +28 -0
- package/Navbar/NavbarOverlaySearchCard.d.ts +9 -0
- package/Navbar/NavbarOverlaySearchResults.d.ts +12 -0
- package/Navbar/NavbarUserMenu.d.ts +9 -0
- package/Navbar/NavbarUserMenuItem.d.ts +6 -0
- package/Navbar/index.d.ts +1 -0
- package/Navbar/index.js +3521 -0
- package/Navbar/index.js.map +1 -0
- package/Pagination/Pagination.d.ts +27 -0
- package/Pagination/PaginationNext.d.ts +7 -0
- package/Pagination/PaginationPrev.d.ts +7 -0
- package/Pagination/index.d.ts +1 -0
- package/Pagination/index.js +994 -0
- package/Pagination/index.js.map +1 -0
- package/PieChart/PieChart.d.ts +71 -0
- package/PieChart/index.d.ts +1 -0
- package/PieChart/index.js +1986 -0
- package/PieChart/index.js.map +1 -0
- package/PublicFooter/PublicFooter.d.ts +6 -0
- package/PublicFooter/index.d.ts +1 -0
- package/PublicFooter/index.js +454 -0
- package/PublicFooter/index.js.map +1 -0
- package/PublicNavbar/PublicNavbar.d.ts +6 -0
- package/PublicNavbar/index.d.ts +1 -0
- package/PublicNavbar/index.js +255 -0
- package/PublicNavbar/index.js.map +1 -0
- package/RecordBit/RecordBit.d.ts +14 -0
- package/RecordBit/index.d.ts +1 -0
- package/RecordBit/index.js +482 -0
- package/RecordBit/index.js.map +1 -0
- package/ResultItemCard/ResultItemCard.d.ts +19 -0
- package/ResultItemCard/ResultItemCardActions.d.ts +3 -0
- package/ResultItemCard/ResultItemCardFooter.d.ts +6 -0
- package/ResultItemCard/ResultItemCardImage.d.ts +6 -0
- package/ResultItemCard/ResultItemCardSubtitle.d.ts +6 -0
- package/ResultItemCard/ResultItemCardText.d.ts +7 -0
- package/ResultItemCard/ResultItemCardTitle.d.ts +7 -0
- package/ResultItemCard/index.d.ts +1 -0
- package/ResultItemCard/index.js +1067 -0
- package/ResultItemCard/index.js.map +1 -0
- package/SelectDropdown/SelectDropdown.d.ts +29 -0
- package/SelectDropdown/index.d.ts +1 -0
- package/SelectDropdown/index.js +1520 -0
- package/SelectDropdown/index.js.map +1 -0
- package/Spinner/Spinner.d.ts +32 -0
- package/Spinner/index.d.ts +1 -0
- package/Spinner/index.js +325 -0
- package/Spinner/index.js.map +1 -0
- package/StatisticsItemCard/StatisticsItemCard.d.ts +35 -0
- package/StatisticsItemCard/index.d.ts +1 -0
- package/StatisticsItemCard/index.js +1786 -0
- package/StatisticsItemCard/index.js.map +1 -0
- package/StatisticsItemNumeric/StatisticsItemNumeric.d.ts +18 -0
- package/StatisticsItemNumeric/index.d.ts +1 -0
- package/StatisticsItemNumeric/index.js +283 -0
- package/StatisticsItemNumeric/index.js.map +1 -0
- package/StatisticsLegend/StatisticsLegend.d.ts +35 -0
- package/StatisticsLegend/StatisticsLegendItem.d.ts +50 -0
- package/StatisticsLegend/StatisticsSVGLegend.d.ts +26 -0
- package/StatisticsLegend/helpers.d.ts +19 -0
- package/StatisticsLegend/index.d.ts +3 -0
- package/StatisticsLegend/index.js +1571 -0
- package/StatisticsLegend/index.js.map +1 -0
- package/StatisticsTooltip/StatisticsTooltip.d.ts +20 -0
- package/StatisticsTooltip/helpers.d.ts +19 -0
- package/StatisticsTooltip/index.d.ts +2 -0
- package/StatisticsTooltip/index.js +796 -0
- package/StatisticsTooltip/index.js.map +1 -0
- package/Suggester/CustomOption.d.ts +29 -0
- package/Suggester/InputValueContainer.d.ts +11 -0
- package/Suggester/Suggester.d.ts +80 -0
- package/Suggester/getRenderCustomMultiValueWithIcon.d.ts +6 -0
- package/Suggester/index.d.ts +3 -0
- package/Suggester/index.js +1126 -0
- package/Suggester/index.js.map +1 -0
- package/SunBurst/SunBurst.d.ts +61 -0
- package/SunBurst/index.d.ts +2 -0
- package/SunBurst/index.js +1170 -0
- package/SunBurst/index.js.map +1 -0
- package/TabSwitcher/TabSwitcher.d.ts +35 -0
- package/TabSwitcher/TabSwitcherChoice.d.ts +21 -0
- package/TabSwitcher/index.d.ts +1 -0
- package/TabSwitcher/index.js +1135 -0
- package/TabSwitcher/index.js.map +1 -0
- package/Title/Title.d.ts +16 -0
- package/Title/index.d.ts +1 -0
- package/Title/index.js +302 -0
- package/Title/index.js.map +1 -0
- package/ToggleButtonGroup/ToggleButton.d.ts +15 -0
- package/ToggleButtonGroup/ToggleButtonGroup.d.ts +24 -0
- package/ToggleButtonGroup/index.d.ts +1 -0
- package/ToggleButtonGroup/index.js +609 -0
- package/ToggleButtonGroup/index.js.map +1 -0
- package/Tooltip/Tooltip.d.ts +20 -0
- package/Tooltip/index.d.ts +1 -0
- package/Tooltip/index.js +291 -0
- package/Tooltip/index.js.map +1 -0
- package/Utils/CommonTypes.d.ts +29 -0
- package/Utils/Statistics.d.ts +3 -0
- package/Utils/Style.d.ts +5 -0
- package/Utils/Text.d.ts +12 -0
- package/Utils/Utils.d.ts +12 -0
- package/Utils/index.d.ts +5 -0
- package/Utils/index.js +3379 -0
- package/Utils/index.js.map +1 -0
- package/atoka-design-system-2.0.72-beta.min.css +1 -0
- package/commonFixtures.d.ts +1 -0
- package/index.d.ts +51 -0
- package/index.js +15343 -0
- package/index.js.map +1 -0
- package/package.json +157 -0
- package/styles/animations-mixin.less +28 -0
- package/styles/atoka-bootstrap-fixed-mixins.less +81 -0
- package/styles/atoka-bootstrap-variables.less +70 -0
- package/styles/atoka-bs.less +99 -0
- package/styles/atoka-namespaced-bs.less +28 -0
- package/styles/variables.less +106 -0
- package/styles/variant-mixins.less +96 -0
package/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","mappings":"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AAM,GAAG,QAAb;AACA,IAAIC,QAAQ,GAAG,UAAf;AACA,IAAIC,OAAO,GAAG,SAAd;AACA,IAAIC,OAAO,GAAG,SAAd;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAIC,UAAU,GAAG,aAAa,UAAUlrB,gBAAV,EAA4B;AACxDX,EAAAA,gCAAc,CAAC6rB,UAAD,EAAalrB,gBAAb,CAAd;;AAEA,WAASkrB,UAAT,CAAoB/sB,KAApB,EAA2B8B,OAA3B,EAAoC;AAClC,QAAIC,KAAJ;;AAEAA,IAAAA,KAAK,GAAGF,gBAAgB,CAACG,IAAjB,CAAsB,IAAtB,EAA4BhC,KAA5B,EAAmC8B,OAAnC,KAA+C,IAAvD;AACA,QAAIkrB,WAAW,GAAGlrB,OAAlB,CAJkC,CAIP;;AAE3B,QAAI1B,MAAM,GAAG4sB,WAAW,IAAI,CAACA,WAAW,CAAC5qB,UAA5B,GAAyCpC,KAAK,CAACK,KAA/C,GAAuDL,KAAK,CAACI,MAA1E;AACA,QAAI6sB,aAAJ;AACAlrB,IAAAA,KAAK,CAACmrB,YAAN,GAAqB,IAArB;;AAEA,QAAIltB,KAAK,MAAT,EAAc;AACZ,UAAII,MAAJ,EAAY;AACV6sB,QAAAA,aAAa,GAAGN,MAAhB;AACA5qB,QAAAA,KAAK,CAACmrB,YAAN,GAAqBN,QAArB;AACD,OAHD,MAGO;AACLK,QAAAA,aAAa,GAAGJ,OAAhB;AAC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WACA;WACA;WACA,iBAAiB,qBAAqB;WACtC;WACA;WACA,kBAAkB,qBAAqB;WACvC;WACA;WACA,KAAK;WACL;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;;;;WC3BA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;WCNA;WACA;WACA;WACA;WACA;;;;;WCJA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM,qBAAqB;WAC3B;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;;;;;UElGA;UACA;UACA;UACA;UACA","sources":["webpack://atoka-design-system/webpack/universalModuleDefinition","webpack://atoka-design-system/./src/components/AddableItems/ClickableExcludableItem.tsx","webpack://atoka-design-system/./src/components/AddableItems/ClickableItemList.tsx","webpack://atoka-design-system/./src/components/AddableItems/AddableItems.tsx","webpack://atoka-design-system/./src/components/AddableItems/index.ts","webpack://atoka-design-system/./src/components/Alert/Alert.tsx","webpack://atoka-design-system/./src/components/Alert/index.ts","webpack://atoka-design-system/./src/components/Badge/Badge.tsx","webpack://atoka-design-system/./src/components/Badge/index.ts","webpack://atoka-design-system/./src/components/Bs4V3Wrapper/Bs4V3Wrapper.tsx","webpack://atoka-design-system/./src/components/Bs4V3Wrapper/index.ts","webpack://atoka-design-system/./src/components/BubbleChart/BubbleChartUI.tsx","webpack://atoka-design-system/./src/components/BubbleChart/BubbleChart.tsx","webpack://atoka-design-system/./src/components/BubbleChart/index.ts","webpack://atoka-design-system/./src/components/Button/Button.tsx","webpack://atoka-design-system/./src/components/Button/index.ts","webpack://atoka-design-system/./src/components/ButtonDropdown/ButtonDropdown.tsx","webpack://atoka-design-system/./src/components/ButtonDropdown/index.ts","webpack://atoka-design-system/./src/components/CardsPage/CardsPageFilters.tsx","webpack://atoka-design-system/./src/components/CardsPage/CardsPageSelectionToggler.tsx","webpack://atoka-design-system/./src/components/CardsPage/CardsPageSorting.tsx","webpack://atoka-design-system/./src/components/CardsPage/CardsPageLayoutMode.tsx","webpack://atoka-design-system/./src/components/CardsPage/CardsPageSelectionActions.tsx","webpack://atoka-design-system/./src/components/CardsPage/CardsPageCards.tsx","webpack://atoka-design-system/./src/components/CardsPage/CardsPageCardsCounter.tsx","webpack://atoka-design-system/./src/components/CardsPage/CardsPageTabContent.tsx","webpack://atoka-design-system/./src/components/CardsPage/CardsPageTabSwitcher.tsx","webpack://atoka-design-system/./src/components/CardsPage/CardsPageTitle.tsx","webpack://atoka-design-system/./src/components/CardsPage/CardsPageSubtitle.tsx","webpack://atoka-design-system/./src/components/CardsPage/CardsPageActions.tsx","webpack://atoka-design-system/./src/components/CardsPage/CardsPageHeader.tsx","webpack://atoka-design-system/./src/components/CardsPage/CardsPage.tsx","webpack://atoka-design-system/./src/components/CardsPage/index.ts","webpack://atoka-design-system/./src/components/CursorPagination/CursorPagination.tsx","webpack://atoka-design-system/./src/components/CursorPagination/index.ts","webpack://atoka-design-system/./src/components/DatePicker/DatePicker.tsx","webpack://atoka-design-system/./src/components/DatePicker/index.ts","webpack://atoka-design-system/./src/components/DetailPage/DetailPageHeaderContainer.tsx","webpack://atoka-design-system/./src/components/DetailPage/DetailPageMenuUI.tsx","webpack://atoka-design-system/./src/components/DetailPage/DetailPageBodyContainer.tsx","webpack://atoka-design-system/./src/components/DetailPage/DetailPageHeaderUI.tsx","webpack://atoka-design-system/./src/components/DetailPage/DetailPageMenuContainer.tsx","webpack://atoka-design-system/./src/components/DetailPage/DetailPageBodySection.tsx","webpack://atoka-design-system/./src/components/DetailPage/DetailPage.tsx","webpack://atoka-design-system/./src/components/DetailPage/index.ts","webpack://atoka-design-system/./src/components/Dropdown/DropdownMenu.tsx","webpack://atoka-design-system/./src/components/Dropdown/Dropdown.tsx","webpack://atoka-design-system/./src/components/Dropdown/AtokaDropdownToggles.tsx","webpack://atoka-design-system/./src/components/Dropdown/index.ts","webpack://atoka-design-system/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://atoka-design-system/./node_modules/react-transition-group/esm/utils/ChildMapping.js","webpack://atoka-design-system/./node_modules/react-transition-group/esm/TransitionGroup.js","webpack://atoka-design-system/./src/components/EditableString/EditableString.tsx","webpack://atoka-design-system/./src/components/EditableString/index.ts","webpack://atoka-design-system/./src/components/EllipsableContent/EllipsableContent.tsx","webpack://atoka-design-system/./src/components/EllipsableContent/index.ts","webpack://atoka-design-system/./src/components/EmptyState/EmptyState.tsx","webpack://atoka-design-system/./src/components/EmptyState/index.ts","webpack://atoka-design-system/./src/components/Facet/FacetItemCount.tsx","webpack://atoka-design-system/./src/components/Facet/FacetHelp.tsx","webpack://atoka-design-system/./src/components/Facet/FacetSubtitle.tsx","webpack://atoka-design-system/./src/components/Facet/Facet.tsx","webpack://atoka-design-system/./src/components/Facet/index.ts","webpack://atoka-design-system/./src/components/FacetSection/FacetSection.tsx","webpack://atoka-design-system/./src/components/FacetSection/index.ts","webpack://atoka-design-system/./src/components/FadeAnimation/FadeAnimation.tsx","webpack://atoka-design-system/./src/components/FadeAnimation/index.ts","webpack://atoka-design-system/./src/components/FeedbackButton/FeedbackButton.tsx","webpack://atoka-design-system/./src/components/FeedbackButton/index.ts","webpack://atoka-design-system/./src/components/Form/FormLabel.tsx","webpack://atoka-design-system/./src/components/Form/FormCheckbox.tsx","webpack://atoka-design-system/./src/components/Form/FormRadio.tsx","webpack://atoka-design-system/./src/components/Form/FormHelp.tsx","webpack://atoka-design-system/./src/components/Form/Form.tsx","webpack://atoka-design-system/./src/components/Form/FormControlFeedBack.tsx","webpack://atoka-design-system/./src/components/Form/FormControl.tsx","webpack://atoka-design-system/./src/components/Form/index.ts","webpack://atoka-design-system/./src/components/Funnel/SVGDataLabel.tsx","webpack://atoka-design-system/./src/components/Funnel/Funnel.tsx","webpack://atoka-design-system/./src/components/Funnel/index.ts","webpack://atoka-design-system/./src/components/GridCard/GridCardTitle.tsx","webpack://atoka-design-system/./src/components/GridCard/GridCardFooter.tsx","webpack://atoka-design-system/./src/components/GridCard/GridCardMenu.tsx","webpack://atoka-design-system/./src/components/GridCard/GridCardTags.tsx","webpack://atoka-design-system/./src/components/GridCard/GridCardHeader.tsx","webpack://atoka-design-system/./src/components/GridCard/GridCardContent.tsx","webpack://atoka-design-system/./src/components/GridCard/GridCard.tsx","webpack://atoka-design-system/./src/components/GridCard/index.ts","webpack://atoka-design-system/./src/components/HighlightableText/HighlightableText.tsx","webpack://atoka-design-system/./src/components/HighlightableText/index.ts","webpack://atoka-design-system/./src/components/Histogram/Types.ts","webpack://atoka-design-system/./src/components/Histogram/Histogram.tsx","webpack://atoka-design-system/./src/components/Histogram/index.ts","webpack://atoka-design-system/./src/components/InlineStringEditor/InlineStringEditor.tsx","webpack://atoka-design-system/./src/components/InlineStringEditor/index.ts","webpack://atoka-design-system/./src/components/InputGroup/InputGroupText.tsx","webpack://atoka-design-system/./src/components/InputGroup/InputGroup.tsx","webpack://atoka-design-system/./src/components/InputGroup/index.ts","webpack://atoka-design-system/./src/components/Jumbotron/Jumbotron.tsx","webpack://atoka-design-system/./src/components/Jumbotron/index.ts","webpack://atoka-design-system/./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://atoka-design-system/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://atoka-design-system/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://atoka-design-system/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://atoka-design-system/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://atoka-design-system/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://atoka-design-system/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://atoka-design-system/./node_modules/@react-leaflet/core/esm/context.js","webpack://atoka-design-system/./node_modules/react-leaflet-v3/esm/MapContainer.js","webpack://atoka-design-system/./node_modules/@react-leaflet/core/esm/component.js","webpack://atoka-design-system/./node_modules/@react-leaflet/core/esm/element.js","webpack://atoka-design-system/./node_modules/@react-leaflet/core/esm/attribution.js","webpack://atoka-design-system/./node_modules/@react-leaflet/core/esm/events.js","webpack://atoka-design-system/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://atoka-design-system/./node_modules/@react-leaflet/core/esm/pane.js","webpack://atoka-design-system/./node_modules/@react-leaflet/core/esm/layer.js","webpack://atoka-design-system/./node_modules/@react-leaflet/core/esm/path.js","webpack://atoka-design-system/./node_modules/@react-leaflet/core/esm/generic.js","webpack://atoka-design-system/./node_modules/@react-leaflet/core/esm/grid-layer.js","webpack://atoka-design-system/./node_modules/react-leaflet-v3/esm/TileLayer.js","webpack://atoka-design-system/./src/components/Map/MapControl.tsx","webpack://atoka-design-system/./node_modules/react-leaflet-v3/esm/GeoJSON.js","webpack://atoka-design-system/./src/components/Map/MapPopup.tsx","webpack://atoka-design-system/./src/components/Map/MapLegendContent.tsx","webpack://atoka-design-system/./src/components/Map/MapUtils.ts","webpack://atoka-design-system/./src/components/Map/MapChoropleth.tsx","webpack://atoka-design-system/./src/components/Map/Map.tsx","webpack://atoka-design-system/./src/components/Map/index.ts","webpack://atoka-design-system/./src/components/Modal/Modal.tsx","webpack://atoka-design-system/./src/components/Modal/index.ts","webpack://atoka-design-system/./src/components/Navbar/NavbarMobileMenuToggle.tsx","webpack://atoka-design-system/./src/components/Navbar/NavbarMobileMenuCollapse.tsx","webpack://atoka-design-system/./src/components/Navbar/NavbarNavigationMenu.tsx","webpack://atoka-design-system/./src/components/Navbar/NavbarNotificationMenu.tsx","webpack://atoka-design-system/./src/components/Navbar/NavbarNavigationMenuItem.tsx","webpack://atoka-design-system/./src/components/Navbar/NavbarNotificationMenuItem.tsx","webpack://atoka-design-system/./src/components/Navbar/NavbarUserMenu.tsx","webpack://atoka-design-system/./src/components/Navbar/NavbarUserMenuItem.tsx","webpack://atoka-design-system/./src/components/Navbar/NavbarOverlaySearch.tsx","webpack://atoka-design-system/./src/components/Navbar/NavbarOverlaySearchResults.tsx","webpack://atoka-design-system/./src/components/Navbar/NavbarNinjaMenu.tsx","webpack://atoka-design-system/./src/components/Navbar/NavbarNinjaMenuItem.tsx","webpack://atoka-design-system/./src/components/Navbar/NavbarOverlaySearchCard.tsx","webpack://atoka-design-system/./src/components/Navbar/Navbar.tsx","webpack://atoka-design-system/./src/components/Navbar/index.ts","webpack://atoka-design-system/./src/components/Pagination/PaginationNext.tsx","webpack://atoka-design-system/./src/components/Pagination/PaginationPrev.tsx","webpack://atoka-design-system/./src/components/Pagination/Pagination.tsx","webpack://atoka-design-system/./src/components/Pagination/index.ts","webpack://atoka-design-system/./src/components/PieChart/PieChart.tsx","webpack://atoka-design-system/./src/components/PieChart/index.ts","webpack://atoka-design-system/./src/components/PublicFooter/PublicFooter.tsx","webpack://atoka-design-system/./src/components/PublicFooter/index.ts","webpack://atoka-design-system/./src/components/PublicNavbar/PublicNavbar.tsx","webpack://atoka-design-system/./src/components/PublicNavbar/index.ts","webpack://atoka-design-system/./src/components/RecordBit/RecordBit.tsx","webpack://atoka-design-system/./src/components/RecordBit/index.ts","webpack://atoka-design-system/./src/components/ResultItemCard/ResultItemCardActions.tsx","webpack://atoka-design-system/./src/components/ResultItemCard/ResultItemCardFooter.tsx","webpack://atoka-design-system/./src/components/ResultItemCard/ResultItemCardImage.tsx","webpack://atoka-design-system/./src/components/ResultItemCard/ResultItemCardSubtitle.tsx","webpack://atoka-design-system/./src/components/ResultItemCard/ResultItemCardText.tsx","webpack://atoka-design-system/./src/components/ResultItemCard/ResultItemCardTitle.tsx","webpack://atoka-design-system/./src/components/ResultItemCard/ResultItemCard.tsx","webpack://atoka-design-system/./src/components/ResultItemCard/index.ts","webpack://atoka-design-system/./src/components/SelectDropdown/SelectDropdown.tsx","webpack://atoka-design-system/./src/components/SelectDropdown/index.ts","webpack://atoka-design-system/./src/components/Spinner/Spinner.tsx","webpack://atoka-design-system/./src/components/Spinner/index.ts","webpack://atoka-design-system/./src/components/StatisticsItemCard/StatisticsItemCard.tsx","webpack://atoka-design-system/./src/components/StatisticsItemCard/index.ts","webpack://atoka-design-system/./src/components/StatisticsItemNumeric/StatisticsItemNumeric.tsx","webpack://atoka-design-system/./src/components/StatisticsItemNumeric/index.ts","webpack://atoka-design-system/./src/components/StatisticsLegend/StatisticsSVGLegend.tsx","webpack://atoka-design-system/./src/components/StatisticsLegend/StatisticsLegendItem.tsx","webpack://atoka-design-system/./src/components/StatisticsLegend/StatisticsLegend.tsx","webpack://atoka-design-system/./src/components/StatisticsLegend/helpers.tsx","webpack://atoka-design-system/./src/components/StatisticsLegend/index.ts","webpack://atoka-design-system/./src/components/StatisticsTooltip/helpers.tsx","webpack://atoka-design-system/./src/components/StatisticsTooltip/StatisticsTooltip.tsx","webpack://atoka-design-system/./src/components/StatisticsTooltip/index.ts","webpack://atoka-design-system/./src/components/Suggester/CustomOption.tsx","webpack://atoka-design-system/./src/components/Suggester/InputValueContainer.tsx","webpack://atoka-design-system/./src/components/Suggester/getRenderCustomMultiValueWithIcon.tsx","webpack://atoka-design-system/./src/components/Suggester/Suggester.tsx","webpack://atoka-design-system/./src/components/Suggester/index.ts","webpack://atoka-design-system/./src/components/SunBurst/SunBurst.tsx","webpack://atoka-design-system/./src/components/SunBurst/index.ts","webpack://atoka-design-system/./src/components/TabSwitcher/TabSwitcherChoice.tsx","webpack://atoka-design-system/./src/components/TabSwitcher/TabSwitcher.tsx","webpack://atoka-design-system/./src/components/TabSwitcher/index.ts","webpack://atoka-design-system/./src/components/Title/Title.tsx","webpack://atoka-design-system/./src/components/Title/index.ts","webpack://atoka-design-system/./src/components/ToggleButtonGroup/ToggleButton.tsx","webpack://atoka-design-system/./src/components/ToggleButtonGroup/ToggleButtonGroup.tsx","webpack://atoka-design-system/./src/components/ToggleButtonGroup/index.ts","webpack://atoka-design-system/./src/components/Tooltip/Tooltip.tsx","webpack://atoka-design-system/./src/components/Tooltip/index.ts","webpack://atoka-design-system/./src/components/Utils/Statistics.ts","webpack://atoka-design-system/./src/components/Utils/Style.ts","webpack://atoka-design-system/./src/components/Utils/Text.ts","webpack://atoka-design-system/./src/components/Utils/Utils.tsx","webpack://atoka-design-system/./src/components/Utils/index.ts","webpack://atoka-design-system/./src/components/index.ts","webpack://atoka-design-system/./node_modules/@babel/runtime/helpers/typeof.js","webpack://atoka-design-system/./node_modules/@babel/runtime/regenerator/index.js","webpack://atoka-design-system/./node_modules/autobind-decorator/lib/esm/index.js","webpack://atoka-design-system/./node_modules/d3-color/src/define.js","webpack://atoka-design-system/./node_modules/d3-color/src/color.js","webpack://atoka-design-system/./node_modules/d3-array/src/ticks.js","webpack://atoka-design-system/./node_modules/d3-array/src/ascending.js","webpack://atoka-design-system/./node_modules/d3-array/src/bisector.js","webpack://atoka-design-system/./node_modules/d3-array/src/number.js","webpack://atoka-design-system/./node_modules/d3-array/src/bisect.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/basis.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/basisClosed.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/constant.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/color.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/rgb.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/array.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/date.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/number.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/object.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/string.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/numberArray.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/value.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/round.js","webpack://atoka-design-system/./node_modules/d3-scale/src/constant.js","webpack://atoka-design-system/./node_modules/d3-scale/src/number.js","webpack://atoka-design-system/./node_modules/d3-scale/src/continuous.js","webpack://atoka-design-system/./node_modules/d3-scale/src/init.js","webpack://atoka-design-system/./node_modules/d3-format/src/formatSpecifier.js","webpack://atoka-design-system/./node_modules/d3-format/src/formatDecimal.js","webpack://atoka-design-system/./node_modules/d3-format/src/exponent.js","webpack://atoka-design-system/./node_modules/d3-format/src/precisionPrefix.js","webpack://atoka-design-system/./node_modules/d3-format/src/formatGroup.js","webpack://atoka-design-system/./node_modules/d3-format/src/formatNumerals.js","webpack://atoka-design-system/./node_modules/d3-format/src/formatTrim.js","webpack://atoka-design-system/./node_modules/d3-format/src/formatPrefixAuto.js","webpack://atoka-design-system/./node_modules/d3-format/src/formatRounded.js","webpack://atoka-design-system/./node_modules/d3-format/src/formatTypes.js","webpack://atoka-design-system/./node_modules/d3-format/src/identity.js","webpack://atoka-design-system/./node_modules/d3-format/src/locale.js","webpack://atoka-design-system/./node_modules/d3-format/src/defaultLocale.js","webpack://atoka-design-system/./node_modules/d3-format/src/precisionRound.js","webpack://atoka-design-system/./node_modules/d3-format/src/precisionFixed.js","webpack://atoka-design-system/./node_modules/d3-scale/src/tickFormat.js","webpack://atoka-design-system/./node_modules/d3-scale/src/linear.js","webpack://atoka-design-system/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://atoka-design-system/./node_modules/prop-types/index.js","webpack://atoka-design-system/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://atoka-design-system/./node_modules/dom-helpers/esm/hasClass.js","webpack://atoka-design-system/./node_modules/dom-helpers/esm/addClass.js","webpack://atoka-design-system/./node_modules/dom-helpers/esm/removeClass.js","webpack://atoka-design-system/./node_modules/react-transition-group/esm/config.js","webpack://atoka-design-system/./node_modules/react-transition-group/esm/Transition.js","webpack://atoka-design-system/./node_modules/react-transition-group/esm/CSSTransition.js","webpack://atoka-design-system/./node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack://atoka-design-system/./node_modules/regenerator-runtime/runtime.js","webpack://atoka-design-system/external umd \"@fortawesome/free-brands-svg-icons/faFacebookF\"","webpack://atoka-design-system/external umd \"@fortawesome/free-brands-svg-icons/faLinkedinIn\"","webpack://atoka-design-system/external umd \"@fortawesome/free-brands-svg-icons/faTwitter\"","webpack://atoka-design-system/external umd \"@fortawesome/pro-light-svg-icons/faBars\"","webpack://atoka-design-system/external umd \"@fortawesome/pro-light-svg-icons/faBell\"","webpack://atoka-design-system/external umd \"@fortawesome/pro-light-svg-icons/faCheck\"","webpack://atoka-design-system/external umd \"@fortawesome/pro-light-svg-icons/faChevronDown\"","webpack://atoka-design-system/external umd \"@fortawesome/pro-light-svg-icons/faChevronLeft\"","webpack://atoka-design-system/external umd \"@fortawesome/pro-light-svg-icons/faChevronRight\"","webpack://atoka-design-system/external umd \"@fortawesome/pro-light-svg-icons/faChevronUp\"","webpack://atoka-design-system/external umd \"@fortawesome/pro-light-svg-icons/faEmptySet\"","webpack://atoka-design-system/external umd \"@fortawesome/pro-light-svg-icons/faInfoCircle\"","webpack://atoka-design-system/external umd \"@fortawesome/pro-light-svg-icons/faList\"","webpack://atoka-design-system/external umd \"@fortawesome/pro-light-svg-icons/faMinus\"","webpack://atoka-design-system/external umd \"@fortawesome/pro-light-svg-icons/faMinusCircle\"","webpack://atoka-design-system/external umd \"@fortawesome/pro-light-svg-icons/faPencil\"","webpack://atoka-design-system/external umd \"@fortawesome/pro-light-svg-icons/faPlus\"","webpack://atoka-design-system/external umd \"@fortawesome/pro-light-svg-icons/faPlusCircle\"","webpack://atoka-design-system/external umd \"@fortawesome/pro-light-svg-icons/faSearch\"","webpack://atoka-design-system/external umd \"@fortawesome/pro-light-svg-icons/faTh\"","webpack://atoka-design-system/external umd \"@fortawesome/pro-light-svg-icons/faTimes\"","webpack://atoka-design-system/external umd \"@fortawesome/pro-light-svg-icons/faTrash\"","webpack://atoka-design-system/external umd \"@fortawesome/pro-light-svg-icons/faUserNinja\"","webpack://atoka-design-system/external umd \"@fortawesome/pro-regular-svg-icons/faChevronDown\"","webpack://atoka-design-system/external umd \"@fortawesome/pro-regular-svg-icons/faEllipsisH\"","webpack://atoka-design-system/external umd \"@fortawesome/pro-solid-svg-icons/faCircle\"","webpack://atoka-design-system/external umd \"@fortawesome/react-fontawesome\"","webpack://atoka-design-system/external umd \"@nivo/bar\"","webpack://atoka-design-system/external umd \"@nivo/circle-packing\"","webpack://atoka-design-system/external umd \"@nivo/funnel\"","webpack://atoka-design-system/external umd \"@nivo/pie\"","webpack://atoka-design-system/external umd \"@nivo/sunburst\"","webpack://atoka-design-system/external umd \"@nivo/tooltip\"","webpack://atoka-design-system/external umd \"classnames\"","webpack://atoka-design-system/external umd \"leaflet\"","webpack://atoka-design-system/external umd \"leaflet-image\"","webpack://atoka-design-system/external umd \"react\"","webpack://atoka-design-system/external umd \"react-bootstrap/Alert\"","webpack://atoka-design-system/external umd \"react-bootstrap/Badge\"","webpack://atoka-design-system/external umd \"react-bootstrap/Button\"","webpack://atoka-design-system/external umd \"react-bootstrap/ButtonGroup\"","webpack://atoka-design-system/external umd \"react-bootstrap/Card\"","webpack://atoka-design-system/external umd \"react-bootstrap/Carousel\"","webpack://atoka-design-system/external umd \"react-bootstrap/Col\"","webpack://atoka-design-system/external umd \"react-bootstrap/Collapse\"","webpack://atoka-design-system/external umd \"react-bootstrap/Container\"","webpack://atoka-design-system/external umd \"react-bootstrap/Dropdown\"","webpack://atoka-design-system/external umd \"react-bootstrap/Form\"","webpack://atoka-design-system/external umd \"react-bootstrap/FormControl\"","webpack://atoka-design-system/external umd \"react-bootstrap/FormText\"","webpack://atoka-design-system/external umd \"react-bootstrap/InputGroup\"","webpack://atoka-design-system/external umd \"react-bootstrap/Jumbotron\"","webpack://atoka-design-system/external umd \"react-bootstrap/ListGroup\"","webpack://atoka-design-system/external umd \"react-bootstrap/Modal\"","webpack://atoka-design-system/external umd \"react-bootstrap/Nav\"","webpack://atoka-design-system/external umd \"react-bootstrap/Navbar\"","webpack://atoka-design-system/external umd \"react-bootstrap/Overlay\"","webpack://atoka-design-system/external umd \"react-bootstrap/OverlayTrigger\"","webpack://atoka-design-system/external umd \"react-bootstrap/Pagination\"","webpack://atoka-design-system/external umd \"react-bootstrap/Popover\"","webpack://atoka-design-system/external umd \"react-bootstrap/Row\"","webpack://atoka-design-system/external umd \"react-bootstrap/ToggleButton\"","webpack://atoka-design-system/external umd \"react-bootstrap/Tooltip\"","webpack://atoka-design-system/external umd \"react-datepicker\"","webpack://atoka-design-system/external umd \"react-dom\"","webpack://atoka-design-system/external umd \"react-select\"","webpack://atoka-design-system/external umd \"react-select/async\"","webpack://atoka-design-system/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://atoka-design-system/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://atoka-design-system/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://atoka-design-system/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://atoka-design-system/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://atoka-design-system/webpack/bootstrap","webpack://atoka-design-system/webpack/runtime/chunk loaded","webpack://atoka-design-system/webpack/runtime/compat get default export","webpack://atoka-design-system/webpack/runtime/define property getters","webpack://atoka-design-system/webpack/runtime/hasOwnProperty shorthand","webpack://atoka-design-system/webpack/runtime/make namespace object","webpack://atoka-design-system/webpack/runtime/node module decorator","webpack://atoka-design-system/webpack/runtime/jsonp chunk loading","webpack://atoka-design-system/webpack/before-startup","webpack://atoka-design-system/webpack/startup","webpack://atoka-design-system/webpack/after-startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@fortawesome/free-brands-svg-icons/faFacebookF\"), require(\"@fortawesome/free-brands-svg-icons/faLinkedinIn\"), require(\"@fortawesome/free-brands-svg-icons/faTwitter\"), require(\"@fortawesome/pro-light-svg-icons/faBars\"), require(\"@fortawesome/pro-light-svg-icons/faBell\"), require(\"@fortawesome/pro-light-svg-icons/faCheck\"), require(\"@fortawesome/pro-light-svg-icons/faChevronDown\"), require(\"@fortawesome/pro-light-svg-icons/faChevronLeft\"), require(\"@fortawesome/pro-light-svg-icons/faChevronRight\"), require(\"@fortawesome/pro-light-svg-icons/faChevronUp\"), require(\"@fortawesome/pro-light-svg-icons/faEmptySet\"), require(\"@fortawesome/pro-light-svg-icons/faInfoCircle\"), require(\"@fortawesome/pro-light-svg-icons/faList\"), require(\"@fortawesome/pro-light-svg-icons/faMinus\"), require(\"@fortawesome/pro-light-svg-icons/faMinusCircle\"), require(\"@fortawesome/pro-light-svg-icons/faPencil\"), require(\"@fortawesome/pro-light-svg-icons/faPlus\"), require(\"@fortawesome/pro-light-svg-icons/faPlusCircle\"), require(\"@fortawesome/pro-light-svg-icons/faSearch\"), require(\"@fortawesome/pro-light-svg-icons/faTh\"), require(\"@fortawesome/pro-light-svg-icons/faTimes\"), require(\"@fortawesome/pro-light-svg-icons/faTrash\"), require(\"@fortawesome/pro-light-svg-icons/faUserNinja\"), require(\"@fortawesome/pro-regular-svg-icons/faChevronDown\"), require(\"@fortawesome/pro-regular-svg-icons/faEllipsisH\"), require(\"@fortawesome/pro-solid-svg-icons/faCircle\"), require(\"@fortawesome/react-fontawesome\"), require(\"@nivo/bar\"), require(\"@nivo/circle-packing\"), require(\"@nivo/funnel\"), require(\"@nivo/pie\"), require(\"@nivo/sunburst\"), require(\"@nivo/tooltip\"), require(\"classnames\"), require(\"leaflet\"), require(\"leaflet-image\"), require(\"react\"), require(\"react-bootstrap/Alert\"), require(\"react-bootstrap/Badge\"), require(\"react-bootstrap/Button\"), require(\"react-bootstrap/ButtonGroup\"), require(\"react-bootstrap/Card\"), require(\"react-bootstrap/Carousel\"), require(\"react-bootstrap/Col\"), require(\"react-bootstrap/Collapse\"), require(\"react-bootstrap/Container\"), require(\"react-bootstrap/Dropdown\"), require(\"react-bootstrap/Form\"), require(\"react-bootstrap/FormControl\"), require(\"react-bootstrap/FormText\"), require(\"react-bootstrap/InputGroup\"), require(\"react-bootstrap/Jumbotron\"), require(\"react-bootstrap/ListGroup\"), require(\"react-bootstrap/Modal\"), require(\"react-bootstrap/Nav\"), require(\"react-bootstrap/Navbar\"), require(\"react-bootstrap/Overlay\"), require(\"react-bootstrap/OverlayTrigger\"), require(\"react-bootstrap/Pagination\"), require(\"react-bootstrap/Popover\"), require(\"react-bootstrap/Row\"), require(\"react-bootstrap/ToggleButton\"), require(\"react-bootstrap/Tooltip\"), require(\"react-datepicker\"), require(\"react-dom\"), require(\"react-select\"), require(\"react-select/async\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"atoka-design-system\", [\"@fortawesome/free-brands-svg-icons/faFacebookF\", \"@fortawesome/free-brands-svg-icons/faLinkedinIn\", \"@fortawesome/free-brands-svg-icons/faTwitter\", \"@fortawesome/pro-light-svg-icons/faBars\", \"@fortawesome/pro-light-svg-icons/faBell\", \"@fortawesome/pro-light-svg-icons/faCheck\", \"@fortawesome/pro-light-svg-icons/faChevronDown\", \"@fortawesome/pro-light-svg-icons/faChevronLeft\", \"@fortawesome/pro-light-svg-icons/faChevronRight\", \"@fortawesome/pro-light-svg-icons/faChevronUp\", \"@fortawesome/pro-light-svg-icons/faEmptySet\", \"@fortawesome/pro-light-svg-icons/faInfoCircle\", \"@fortawesome/pro-light-svg-icons/faList\", \"@fortawesome/pro-light-svg-icons/faMinus\", \"@fortawesome/pro-light-svg-icons/faMinusCircle\", \"@fortawesome/pro-light-svg-icons/faPencil\", \"@fortawesome/pro-light-svg-icons/faPlus\", \"@fortawesome/pro-light-svg-icons/faPlusCircle\", \"@fortawesome/pro-light-svg-icons/faSearch\", \"@fortawesome/pro-light-svg-icons/faTh\", \"@fortawesome/pro-light-svg-icons/faTimes\", \"@fortawesome/pro-light-svg-icons/faTrash\", \"@fortawesome/pro-light-svg-icons/faUserNinja\", \"@fortawesome/pro-regular-svg-icons/faChevronDown\", \"@fortawesome/pro-regular-svg-icons/faEllipsisH\", \"@fortawesome/pro-solid-svg-icons/faCircle\", \"@fortawesome/react-fontawesome\", \"@nivo/bar\", \"@nivo/circle-packing\", \"@nivo/funnel\", \"@nivo/pie\", \"@nivo/sunburst\", \"@nivo/tooltip\", \"classnames\", \"leaflet\", \"leaflet-image\", \"react\", \"react-bootstrap/Alert\", \"react-bootstrap/Badge\", \"react-bootstrap/Button\", \"react-bootstrap/ButtonGroup\", \"react-bootstrap/Card\", \"react-bootstrap/Carousel\", \"react-bootstrap/Col\", \"react-bootstrap/Collapse\", \"react-bootstrap/Container\", \"react-bootstrap/Dropdown\", \"react-bootstrap/Form\", \"react-bootstrap/FormControl\", \"react-bootstrap/FormText\", \"react-bootstrap/InputGroup\", \"react-bootstrap/Jumbotron\", \"react-bootstrap/ListGroup\", \"react-bootstrap/Modal\", \"react-bootstrap/Nav\", \"react-bootstrap/Navbar\", \"react-bootstrap/Overlay\", \"react-bootstrap/OverlayTrigger\", \"react-bootstrap/Pagination\", \"react-bootstrap/Popover\", \"react-bootstrap/Row\", \"react-bootstrap/ToggleButton\", \"react-bootstrap/Tooltip\", \"react-datepicker\", \"react-dom\", \"react-select\", \"react-select/async\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"atoka-design-system\"] = factory(require(\"@fortawesome/free-brands-svg-icons/faFacebookF\"), require(\"@fortawesome/free-brands-svg-icons/faLinkedinIn\"), require(\"@fortawesome/free-brands-svg-icons/faTwitter\"), require(\"@fortawesome/pro-light-svg-icons/faBars\"), require(\"@fortawesome/pro-light-svg-icons/faBell\"), require(\"@fortawesome/pro-light-svg-icons/faCheck\"), require(\"@fortawesome/pro-light-svg-icons/faChevronDown\"), require(\"@fortawesome/pro-light-svg-icons/faChevronLeft\"), require(\"@fortawesome/pro-light-svg-icons/faChevronRight\"), require(\"@fortawesome/pro-light-svg-icons/faChevronUp\"), require(\"@fortawesome/pro-light-svg-icons/faEmptySet\"), require(\"@fortawesome/pro-light-svg-icons/faInfoCircle\"), require(\"@fortawesome/pro-light-svg-icons/faList\"), require(\"@fortawesome/pro-light-svg-icons/faMinus\"), require(\"@fortawesome/pro-light-svg-icons/faMinusCircle\"), require(\"@fortawesome/pro-light-svg-icons/faPencil\"), require(\"@fortawesome/pro-light-svg-icons/faPlus\"), require(\"@fortawesome/pro-light-svg-icons/faPlusCircle\"), require(\"@fortawesome/pro-light-svg-icons/faSearch\"), require(\"@fortawesome/pro-light-svg-icons/faTh\"), require(\"@fortawesome/pro-light-svg-icons/faTimes\"), require(\"@fortawesome/pro-light-svg-icons/faTrash\"), require(\"@fortawesome/pro-light-svg-icons/faUserNinja\"), require(\"@fortawesome/pro-regular-svg-icons/faChevronDown\"), require(\"@fortawesome/pro-regular-svg-icons/faEllipsisH\"), require(\"@fortawesome/pro-solid-svg-icons/faCircle\"), require(\"@fortawesome/react-fontawesome\"), require(\"@nivo/bar\"), require(\"@nivo/circle-packing\"), require(\"@nivo/funnel\"), require(\"@nivo/pie\"), require(\"@nivo/sunburst\"), require(\"@nivo/tooltip\"), require(\"classnames\"), require(\"leaflet\"), require(\"leaflet-image\"), require(\"react\"), require(\"react-bootstrap/Alert\"), require(\"react-bootstrap/Badge\"), require(\"react-bootstrap/Button\"), require(\"react-bootstrap/ButtonGroup\"), require(\"react-bootstrap/Card\"), require(\"react-bootstrap/Carousel\"), require(\"react-bootstrap/Col\"), require(\"react-bootstrap/Collapse\"), require(\"react-bootstrap/Container\"), require(\"react-bootstrap/Dropdown\"), require(\"react-bootstrap/Form\"), require(\"react-bootstrap/FormControl\"), require(\"react-bootstrap/FormText\"), require(\"react-bootstrap/InputGroup\"), require(\"react-bootstrap/Jumbotron\"), require(\"react-bootstrap/ListGroup\"), require(\"react-bootstrap/Modal\"), require(\"react-bootstrap/Nav\"), require(\"react-bootstrap/Navbar\"), require(\"react-bootstrap/Overlay\"), require(\"react-bootstrap/OverlayTrigger\"), require(\"react-bootstrap/Pagination\"), require(\"react-bootstrap/Popover\"), require(\"react-bootstrap/Row\"), require(\"react-bootstrap/ToggleButton\"), require(\"react-bootstrap/Tooltip\"), require(\"react-datepicker\"), require(\"react-dom\"), require(\"react-select\"), require(\"react-select/async\"));\n\telse\n\t\troot[\"atoka-design-system\"] = factory(root[\"@fortawesome/free-brands-svg-icons/faFacebookF\"], root[\"@fortawesome/free-brands-svg-icons/faLinkedinIn\"], root[\"@fortawesome/free-brands-svg-icons/faTwitter\"], root[\"@fortawesome/pro-light-svg-icons/faBars\"], root[\"@fortawesome/pro-light-svg-icons/faBell\"], root[\"@fortawesome/pro-light-svg-icons/faCheck\"], root[\"@fortawesome/pro-light-svg-icons/faChevronDown\"], root[\"@fortawesome/pro-light-svg-icons/faChevronLeft\"], root[\"@fortawesome/pro-light-svg-icons/faChevronRight\"], root[\"@fortawesome/pro-light-svg-icons/faChevronUp\"], root[\"@fortawesome/pro-light-svg-icons/faEmptySet\"], root[\"@fortawesome/pro-light-svg-icons/faInfoCircle\"], root[\"@fortawesome/pro-light-svg-icons/faList\"], root[\"@fortawesome/pro-light-svg-icons/faMinus\"], root[\"@fortawesome/pro-light-svg-icons/faMinusCircle\"], root[\"@fortawesome/pro-light-svg-icons/faPencil\"], root[\"@fortawesome/pro-light-svg-icons/faPlus\"], root[\"@fortawesome/pro-light-svg-icons/faPlusCircle\"], root[\"@fortawesome/pro-light-svg-icons/faSearch\"], root[\"@fortawesome/pro-light-svg-icons/faTh\"], root[\"@fortawesome/pro-light-svg-icons/faTimes\"], root[\"@fortawesome/pro-light-svg-icons/faTrash\"], root[\"@fortawesome/pro-light-svg-icons/faUserNinja\"], root[\"@fortawesome/pro-regular-svg-icons/faChevronDown\"], root[\"@fortawesome/pro-regular-svg-icons/faEllipsisH\"], root[\"@fortawesome/pro-solid-svg-icons/faCircle\"], root[\"@fortawesome/react-fontawesome\"], root[\"@nivo/bar\"], root[\"@nivo/circle-packing\"], root[\"@nivo/funnel\"], root[\"@nivo/pie\"], root[\"@nivo/sunburst\"], root[\"@nivo/tooltip\"], root[\"classnames\"], root[\"leaflet\"], root[\"leaflet-image\"], root[\"react\"], root[\"react-bootstrap/Alert\"], root[\"react-bootstrap/Badge\"], root[\"react-bootstrap/Button\"], root[\"react-bootstrap/ButtonGroup\"], root[\"react-bootstrap/Card\"], root[\"react-bootstrap/Carousel\"], root[\"react-bootstrap/Col\"], root[\"react-bootstrap/Collapse\"], root[\"react-bootstrap/Container\"], root[\"react-bootstrap/Dropdown\"], root[\"react-bootstrap/Form\"], root[\"react-bootstrap/FormControl\"], root[\"react-bootstrap/FormText\"], root[\"react-bootstrap/InputGroup\"], root[\"react-bootstrap/Jumbotron\"], root[\"react-bootstrap/ListGroup\"], root[\"react-bootstrap/Modal\"], root[\"react-bootstrap/Nav\"], root[\"react-bootstrap/Navbar\"], root[\"react-bootstrap/Overlay\"], root[\"react-bootstrap/OverlayTrigger\"], root[\"react-bootstrap/Pagination\"], root[\"react-bootstrap/Popover\"], root[\"react-bootstrap/Row\"], root[\"react-bootstrap/ToggleButton\"], root[\"react-bootstrap/Tooltip\"], root[\"react-datepicker\"], root[\"react-dom\"], root[\"react-select\"], root[\"react-select/async\"]);\n})(self, function(__WEBPACK_EXTERNAL_MODULE__6951__, __WEBPACK_EXTERNAL_MODULE__1980__, __WEBPACK_EXTERNAL_MODULE__7950__, __WEBPACK_EXTERNAL_MODULE__9368__, __WEBPACK_EXTERNAL_MODULE__2569__, __WEBPACK_EXTERNAL_MODULE__4600__, __WEBPACK_EXTERNAL_MODULE__1711__, __WEBPACK_EXTERNAL_MODULE__2705__, __WEBPACK_EXTERNAL_MODULE__3987__, __WEBPACK_EXTERNAL_MODULE__9153__, __WEBPACK_EXTERNAL_MODULE__3402__, __WEBPACK_EXTERNAL_MODULE__4997__, __WEBPACK_EXTERNAL_MODULE__1654__, __WEBPACK_EXTERNAL_MODULE__1235__, __WEBPACK_EXTERNAL_MODULE__8809__, __WEBPACK_EXTERNAL_MODULE__6466__, __WEBPACK_EXTERNAL_MODULE__5037__, __WEBPACK_EXTERNAL_MODULE__8761__, __WEBPACK_EXTERNAL_MODULE__8427__, __WEBPACK_EXTERNAL_MODULE__5797__, __WEBPACK_EXTERNAL_MODULE__6988__, __WEBPACK_EXTERNAL_MODULE__5538__, __WEBPACK_EXTERNAL_MODULE__6550__, __WEBPACK_EXTERNAL_MODULE__1349__, __WEBPACK_EXTERNAL_MODULE__3041__, __WEBPACK_EXTERNAL_MODULE__1326__, __WEBPACK_EXTERNAL_MODULE__5692__, __WEBPACK_EXTERNAL_MODULE__2895__, __WEBPACK_EXTERNAL_MODULE__3741__, __WEBPACK_EXTERNAL_MODULE__9179__, __WEBPACK_EXTERNAL_MODULE__7812__, __WEBPACK_EXTERNAL_MODULE__9503__, __WEBPACK_EXTERNAL_MODULE__5521__, __WEBPACK_EXTERNAL_MODULE__8310__, __WEBPACK_EXTERNAL_MODULE__4159__, __WEBPACK_EXTERNAL_MODULE__855__, __WEBPACK_EXTERNAL_MODULE__8156__, __WEBPACK_EXTERNAL_MODULE__5859__, __WEBPACK_EXTERNAL_MODULE__6997__, __WEBPACK_EXTERNAL_MODULE__8926__, __WEBPACK_EXTERNAL_MODULE__5901__, __WEBPACK_EXTERNAL_MODULE__2494__, __WEBPACK_EXTERNAL_MODULE__6514__, __WEBPACK_EXTERNAL_MODULE__5315__, __WEBPACK_EXTERNAL_MODULE__4440__, __WEBPACK_EXTERNAL_MODULE__4394__, __WEBPACK_EXTERNAL_MODULE__4976__, __WEBPACK_EXTERNAL_MODULE__8721__, __WEBPACK_EXTERNAL_MODULE__1082__, __WEBPACK_EXTERNAL_MODULE__8763__, __WEBPACK_EXTERNAL_MODULE__2476__, __WEBPACK_EXTERNAL_MODULE__3161__, __WEBPACK_EXTERNAL_MODULE__9034__, __WEBPACK_EXTERNAL_MODULE__7738__, __WEBPACK_EXTERNAL_MODULE__573__, __WEBPACK_EXTERNAL_MODULE__7917__, __WEBPACK_EXTERNAL_MODULE__3908__, __WEBPACK_EXTERNAL_MODULE__6043__, __WEBPACK_EXTERNAL_MODULE__9924__, __WEBPACK_EXTERNAL_MODULE__1968__, __WEBPACK_EXTERNAL_MODULE__3915__, __WEBPACK_EXTERNAL_MODULE__3778__, __WEBPACK_EXTERNAL_MODULE__8053__, __WEBPACK_EXTERNAL_MODULE__4731__, __WEBPACK_EXTERNAL_MODULE__7111__, __WEBPACK_EXTERNAL_MODULE__1738__, __WEBPACK_EXTERNAL_MODULE__1553__) {\nreturn ","import {faPlusCircle} from '@fortawesome/pro-light-svg-icons/faPlusCircle';\nimport {faMinusCircle} from '@fortawesome/pro-light-svg-icons/faMinusCircle';\nimport {faTimes} from '@fortawesome/pro-light-svg-icons/faTimes';\nimport classnames from 'classnames';\nimport React from 'react';\nimport ListGroup from 'react-bootstrap/ListGroup';\nimport ReactDOM from 'react-dom';\nimport {boundMethod} from 'autobind-decorator';\nimport {Tooltip} from '../Tooltip';\nimport {Button} from '../Button';\n\nimport './ClickableExcludableItem.less';\nimport {ClickableFacetItem, ClickableItemKind} from './ClickableItemList';\nimport {AddableItemsProps} from '.';\n\nexport interface ClickableExcludableItemProps\n extends Pick<AddableItemsProps, 'itemContentRenderer' | 'tooltipMessages' | 'notSuffixLabel' | 'countFormatter'> {\n item: ClickableFacetItem;\n onRemove: () => void;\n supportsExclusion?: boolean;\n isExcluded?: boolean;\n kind: ClickableItemKind;\n onToggleIncludeExclude?: () => void;\n}\n\nexport class ClickableExcludableItem extends React.PureComponent<ClickableExcludableItemProps> {\n static displayName: string = 'ClickableExcludableItem';\n private includeExcludeTogglerRef: React.ReactInstance | null;\n\n private renderItemButtons(): React.ReactNode {\n if (this.props.kind === ClickableItemKind.add) {\n return null;\n }\n\n return (\n <span className='clickable-item-buttons-container'>\n <Button variant='tertiary' icon={faTimes} size='xs' />\n {this.renderIncludeExcludeToggler()}\n </span>\n );\n }\n\n private renderItemRealContent(item: ClickableFacetItem): React.ReactNode {\n if (this.props.itemContentRenderer != null) {\n return this.props.itemContentRenderer(item);\n }\n\n return item.value;\n }\n\n private renderItemContent(item: ClickableFacetItem): React.ReactNode {\n let notSuffix: React.ReactNode =\n this.props.isExcluded === true ? (\n <span className='item-content-not-suffix'>{this.props.notSuffixLabel} </span>\n ) : (\n ''\n );\n\n return (\n <div className='item-content d-flex align-items-center text-wrap w-100 mr-1 overflow-hidden'>\n {notSuffix}\n {this.renderItemRealContent(item)}\n </div>\n );\n }\n\n private renderIncludeExcludeToggler(): React.ReactNode {\n if (this.props.supportsExclusion !== true) {\n return null;\n }\n\n let button = (\n <div>\n <Button\n ref={(node: React.ReactInstance | null) => (this.includeExcludeTogglerRef = node)}\n variant='tertiary'\n icon={this.props.isExcluded ? faPlusCircle : faMinusCircle}\n size='xs'\n onClick={this.props.onToggleIncludeExclude}\n className='item-toggler'\n />\n </div>\n );\n\n if (this.props.tooltipMessages == null) {\n return button;\n }\n\n let {include, exclude} = this.props.tooltipMessages;\n\n return <Tooltip content={this.props.isExcluded ? include : exclude}>{button}</Tooltip>;\n }\n\n private renderCount(item: ClickableFacetItem): JSX.Element {\n if (item.count == null) {\n return <span> </span>;\n }\n let count = item.count.toString();\n if (this.props.countFormatter) {\n count = this.props.countFormatter(item.count);\n }\n\n return <span className='list-item-count'>{count}</span>;\n }\n\n @boundMethod\n private handleContainerClick(e: React.MouseEvent<Element>): void {\n if (this.props.supportsExclusion === true) {\n // eslint-disable-next-line react/no-find-dom-node\n let includeExcludeToggler = ReactDOM.findDOMNode(this.includeExcludeTogglerRef);\n if (e.target === includeExcludeToggler || includeExcludeToggler?.contains(e.target as Node)) {\n return;\n }\n }\n\n this.props.onRemove();\n }\n\n public render(): JSX.Element {\n let itemClassName = classnames([ClickableItemKind[this.props.kind]], {\n included: this.props.supportsExclusion && !this.props.isExcluded,\n excluded: this.props.isExcluded,\n });\n\n return (\n <ListGroup.Item\n bsPrefix='atoka-list-group-item'\n className={itemClassName}\n onClick={this.handleContainerClick}\n >\n <span className='list-group-item-content-container w-100 d-flex justify-content-between'>\n <div className='d-flex align-items-center w-100 overflow-hidden'>\n {this.renderItemButtons()}\n {this.renderItemContent(this.props.item)}\n </div>\n {this.renderCount(this.props.item)}\n </span>\n </ListGroup.Item>\n );\n }\n}\n","import {boundMethod} from 'autobind-decorator';\nimport classnames from 'classnames';\nimport React from 'react';\nimport ListGroup from 'react-bootstrap/ListGroup';\nimport {ClickableExcludableItem, ClickableExcludableItemProps} from './ClickableExcludableItem';\nimport {AddableItemsProps} from '.';\n\n// eslint-disable-next-line no-shadow\nexport enum ClickableItemKind {\n add,\n remove,\n}\n\nexport interface ClickableFacetItem {\n count?: number;\n size?: number;\n label?: string;\n value: string;\n key?: string;\n legalName?: string;\n type?: string;\n}\n\nexport interface ClickableItemListProps\n extends Pick<\n AddableItemsProps,\n 'onToggleIncludeExclude' | 'itemContentRenderer' | 'tooltipMessages' | 'notSuffixLabel' | 'countFormatter'\n > {\n itemKeyGetter?: (item: ClickableFacetItem) => string;\n items: ClickableExcludableItemProps['item'][];\n onClick: (item: ClickableFacetItem) => void;\n supportsExclusion?: boolean;\n areItemsExcluded?: boolean;\n kind: ClickableExcludableItemProps['kind'];\n emptyMessage?: React.ReactNode;\n}\n\nexport class ClickableItemList extends React.Component<ClickableItemListProps> {\n static displayName: string = 'ClickableItemList';\n\n @boundMethod\n private renderItem(item: ClickableFacetItem): JSX.Element {\n return (\n <ClickableExcludableItem\n key={item.value}\n item={item}\n kind={this.props.kind}\n onRemove={() => this.props.onClick(item)}\n onToggleIncludeExclude={() =>\n this.props.onToggleIncludeExclude?.(item, this.props.areItemsExcluded ?? false)\n }\n supportsExclusion={this.props.supportsExclusion}\n isExcluded={this.props.areItemsExcluded}\n itemContentRenderer={this.props.itemContentRenderer}\n tooltipMessages={this.props.tooltipMessages}\n notSuffixLabel={this.props.notSuffixLabel}\n countFormatter={this.props.countFormatter}\n />\n );\n }\n\n private needToShowEmptyMessage(): boolean {\n if (this.props.emptyMessage == null) {\n return false;\n }\n\n if (this.props.items == null) {\n return true;\n }\n\n if (this.props.items.length > 0) {\n return false;\n }\n\n return true;\n }\n\n private getItems(): React.ReactNode {\n if (this.needToShowEmptyMessage()) {\n return (\n <ListGroup.Item bsPrefix='atoka-list-group-item' key='empty-message'>\n {this.props.emptyMessage}\n </ListGroup.Item>\n );\n }\n\n if (this.props.items == null || this.props.items.length === 0) {\n return null;\n }\n\n if (this.props.items[0].count == null) {\n return this.props.items.map(this.renderItem);\n }\n\n let items = this.props.items;\n\n return items\n .sort((a: ClickableFacetItem, b: ClickableFacetItem): number => (b.count ?? 0) - (a.count ?? 0))\n .map(this.renderItem);\n }\n\n public render(): JSX.Element {\n let classNames = classnames({\n 'list-empty': this.props.items == null || this.props.items.length === 0,\n 'atoka-addable-items': this.props.kind === ClickableItemKind.add,\n 'atoka-removable-items': this.props.kind === ClickableItemKind.remove,\n });\n\n return (\n <ListGroup bsPrefix='atoka-list-group' className={classNames}>\n {this.getItems()}\n </ListGroup>\n );\n }\n}\n","import classnames from 'classnames';\nimport React from 'react';\n\nimport {NumberToStringFormatterType, PropsWithClassName} from 'components/Utils/CommonTypes';\nimport {Button} from '../Button';\nimport {Title} from '../Title';\nimport {ClickableFacetItem, ClickableItemKind, ClickableItemList} from './ClickableItemList';\n\nimport './AddableItems.less';\n\nexport function extractFacetKeyFromItemValue(key: ClickableFacetItem | string): string {\n return typeof key === 'object' ? key.value : key;\n}\n\nexport interface AddableItemsData {\n count: number;\n items: ClickableFacetItem[];\n}\n\nexport interface AddableItemsFacetData {\n config: Omit<AddableItemsConfig, 'isLoading'>;\n data: AddableItemsData;\n}\n\nexport interface AddableItemsConfig {\n isLoading: boolean;\n include: ClickableFacetItem[];\n exclude?: ClickableFacetItem[];\n itemCount?: number;\n isActive?: boolean;\n}\n\nexport interface AddableItemsProps extends PropsWithClassName {\n config: AddableItemsConfig;\n facetData: AddableItemsFacetData;\n /** this function pushes the clicked item to the `included items` list */\n onAddItem: (item: ClickableFacetItem) => void;\n /** this function removes the clicked item from lists */\n onRemoveItem: (item: ClickableFacetItem) => void;\n /** this function removes all the items from lists */\n onRemoveAll?: () => void;\n /** this function renders an additional suggester field */\n renderSuggester?: () => JSX.Element;\n /** this function renders one or many additional generic fields */\n renderModifiers?: () => JSX.Element;\n /** this is the label on top of the selected items */\n label?: string;\n /** this is the label for `removeAll` button */\n unselectLabel?: string;\n /** the label used to prefix excluded items */\n notSuffixLabel?: string;\n /** an object that contains tooltips info messages for included and excluded items */\n tooltipMessages?: {[key: string]: string};\n /** this function returns a custom React Node to override the base content of an item */\n itemContentRenderer?: (item: ClickableFacetItem) => React.ReactNode;\n /** this function allows to exclude/include the clicked items */\n onToggleIncludeExclude?: (item: ClickableFacetItem, isExcluded: boolean) => void;\n /** this is the message that appears when the list of selectable items will be empty */\n emptyMessage?: string;\n /** this function allow to use a custom formatters numbers, generally counts in facets items */\n countFormatter?: NumberToStringFormatterType;\n}\n\nexport interface AddableItemsState {\n isFirstRender: boolean;\n}\n\n/**\n * ### Overview\n *\n * The `AddableItems` component is most useful to display a selection list and select many items.\n * All items selected are commonly used to include these voices on a search.\n * */\nexport class AddableItems extends React.PureComponent<AddableItemsProps, AddableItemsState> {\n static displayName: string = 'AddableItems';\n\n constructor(props: AddableItemsProps) {\n super(props);\n this.state = {isFirstRender: true};\n }\n\n public componentDidUpdate(): void {\n if (this.state.isFirstRender && this.props.config.isLoading === false) {\n this.setState({isFirstRender: false});\n }\n }\n\n private renderItemContent(item: ClickableFacetItem): React.ReactNode {\n if (item.label != null && !(item.label.indexOf('- (') === 0)) {\n return <span className='option-data-item overflow-hidden'>{item.label}</span>;\n }\n\n return <span className='option-data-item overflow-hidden'>{item.value}</span>;\n }\n\n private getItemContentRenderer(): (item: ClickableFacetItem) => React.ReactNode {\n if (this.props.itemContentRenderer != null) {\n return this.props.itemContentRenderer;\n }\n\n return this.renderItemContent;\n }\n\n private renderRemovableItemsTitle(): React.ReactNode {\n return (\n <div className='d-flex justify-content-between mb-2'>\n <Title size='xs' className='m-0'>\n {this.props.label}\n </Title>\n <Button variant='tertiary' size='sm' onClick={this.props.onRemoveAll}>\n {this.props.unselectLabel}\n </Button>\n </div>\n );\n }\n\n private renderRemovableItems(\n includedItems: ClickableFacetItem[],\n excludedItems: ClickableFacetItem[],\n ): React.ReactNode {\n const withInclude: boolean = includedItems.length > 0,\n withExclude: boolean = excludedItems.length > 0;\n\n const className = classnames('mb-3', 'atoka-removable-items-container', {\n 'with-include-items': withInclude && !withExclude,\n 'with-exclude-items': !withInclude && withExclude,\n 'with-both-include-and-exclude-items': withInclude && withExclude,\n });\n\n if (this.props.onToggleIncludeExclude == null) {\n if ((this.props.config?.include?.length ?? 0) === 0) {\n return null;\n }\n\n return (\n <>\n {this.renderRemovableItemsTitle()}\n <div className={className}>\n <ClickableItemList\n items={includedItems}\n kind={ClickableItemKind.remove}\n onClick={this.props.onRemoveItem}\n itemContentRenderer={this.getItemContentRenderer()}\n tooltipMessages={this.props.tooltipMessages}\n countFormatter={this.props.countFormatter}\n />\n </div>\n </>\n );\n }\n\n if (includedItems.length + excludedItems.length === 0) {\n return null;\n }\n\n return (\n <>\n {this.renderRemovableItemsTitle()}\n <div className={className}>\n <ClickableItemList\n items={includedItems}\n kind={ClickableItemKind.remove}\n onClick={this.props.onRemoveItem}\n supportsExclusion={true}\n areItemsExcluded={false}\n onToggleIncludeExclude={this.props.onToggleIncludeExclude}\n itemContentRenderer={this.getItemContentRenderer()}\n tooltipMessages={this.props.tooltipMessages}\n countFormatter={this.props.countFormatter}\n />\n\n <ClickableItemList\n items={excludedItems}\n kind={ClickableItemKind.remove}\n onClick={this.props.onRemoveItem}\n supportsExclusion={true}\n areItemsExcluded={true}\n onToggleIncludeExclude={this.props.onToggleIncludeExclude}\n itemContentRenderer={this.getItemContentRenderer()}\n tooltipMessages={this.props.tooltipMessages}\n notSuffixLabel={this.props.notSuffixLabel}\n countFormatter={this.props.countFormatter}\n />\n </div>\n </>\n );\n }\n\n private getEmptyMessage(): React.ReactNode {\n if (this.props?.emptyMessage == null || this.props?.emptyMessage === '') {\n return null;\n }\n\n return this.props.emptyMessage;\n }\n\n public render(): React.ReactNode {\n let config = this.props.config,\n included: ClickableFacetItem[] = config.include ?? [],\n excluded: ClickableFacetItem[] = config.exclude ?? [],\n alreadyManagedValues = included.concat(excluded).map(extractFacetKeyFromItemValue),\n items: ClickableFacetItem[] = this.props.facetData.data.items.filter(\n (item: ClickableFacetItem) => alreadyManagedValues.indexOf(item.value) < 0,\n ),\n className: string = classnames(this.props.className, 'atoka-addable-items');\n\n if (this.props.onToggleIncludeExclude != null) {\n excluded = config.exclude ?? [];\n }\n\n return (\n <div className={className}>\n <div className='suggester-and-modifiers-block'>\n {this.props.renderSuggester?.()}\n {this.props.renderModifiers?.()}\n </div>\n\n {this.renderRemovableItems(included, excluded)}\n <ClickableItemList\n items={items}\n kind={ClickableItemKind.add}\n onClick={this.props.onAddItem}\n emptyMessage={this.getEmptyMessage()}\n itemContentRenderer={this.getItemContentRenderer()}\n countFormatter={this.props.countFormatter}\n />\n </div>\n );\n }\n}\n","export * from './AddableItems';\n","import React from 'react';\nimport classnames from 'classnames';\nimport BsAlert from 'react-bootstrap/Alert';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\n\nimport './Alert.less';\nimport {IconDefinition} from '@fortawesome/pro-light-svg-icons';\nimport {PropsWithClassName} from '../Utils';\n\ntype AlertVariant = 'danger' | 'success' | 'warning' | 'info';\n\ninterface AlertProps extends PropsWithClassName {\n icon?: IconDefinition;\n variant: AlertVariant;\n isDismissible?: boolean;\n onClose?: () => void;\n isShown?: boolean;\n}\n/**\n * ### Overview\n * An alert is a contextual notification which appears in the page to give the user an information regarding their current work. They will remain displayed until dismissed or no longer relevant. There are four types of alerts:\n *\n * - Danger: this message indicates a dangerous or potentially negative action that the user must take notice of\n * - Warning: this alert tells the user to proceed with caution with their actions on the platform\n * - Success: this message is indicative that the user just performed a successful or positive action\n * - Info: this alert has the scope of letting the user know about a neutral and informative change or action on Atoka\n *\n * ### Best practices\n * - Use alerts sparingly: if there are too many alerts, the user will end up avoiding them due to cognitive overload and miss important information\n * - Use alerts to notify the user of information that is either time-sensitive or relevant to the action the user is performing\n * - Keep the text informative but not too long\n */\nclass Alert extends React.PureComponent<AlertProps> {\n static displayName: string = 'Alert';\n public static Heading: typeof BsAlert.Heading = BsAlert.Heading;\n public static defaultProps: Partial<AlertProps> = {\n variant: 'danger',\n };\n\n private renderIcon(): React.ReactNode {\n if (this.props.icon == null) {\n return null;\n }\n\n return <FontAwesomeIcon icon={this.props.icon} />;\n }\n\n private renderChildren(): React.ReactNode {\n if (this.props.children == null) {\n return null;\n }\n\n return <div className='alert-children'>{this.props.children}</div>;\n }\n\n private renderContent(): React.ReactNode {\n return (\n <div className='alert-content-container d-flex'>\n {this.renderIcon()}\n {this.renderChildren()}\n </div>\n );\n }\n\n public render(): React.ReactNode {\n const className: string = classnames(this.props.className, 'atoka-alert');\n\n return (\n <BsAlert\n className={className}\n dismissible={this.props.isDismissible}\n show={this.props.isShown}\n {...this.props}\n >\n {this.renderContent()}\n </BsAlert>\n );\n }\n}\n\nexport {Alert, AlertVariant, AlertProps};\n","// use the star because of this issue: https://github.com/babel/babel-loader/issues/603\nexport * from './Alert';\n","import React from 'react';\nimport classnames from 'classnames';\nimport BsBadge, {BadgeProps as BsBadgeProps} from 'react-bootstrap/Badge';\nimport {IconDefinition} from '@fortawesome/pro-light-svg-icons';\nimport './Badge.less';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\n\nexport type BadgeColor =\n | 'bluekeywords'\n | 'bluestartup'\n | 'bluepa'\n | 'red'\n | 'yellow'\n | 'green'\n | 'bluedivision'\n | 'blue300'\n | 'gray'\n | 'black'\n | 'orange'\n | 'pinkbaby'\n | 'gray300';\nexport type BadgeVariant = 'primary' | 'secondary' | 'tertiary';\nexport type BadgeSizes = 'sm' | 'md';\n\nexport interface BadgeProps extends BsBadgeProps {\n icon?: IconDefinition;\n size?: BadgeSizes;\n /**\n * Variant defines the form of the badge.\n */\n variant: BadgeVariant;\n /**\n * note: `bluepa` stands for blue public administration.\n */\n color: BadgeColor;\n}\n\n/**\n * ### Overview\n *\n * A `Badge` is a component which represents an attribute of a specific element. There are three types of badges:\n *\n * - **Primary** is used for:\n * - Sales funnel states\n * - Indication of customer divisions\n * - Variant with icon: used to show user state in settings page\n *\n * - **Secondary** is used for:\n * - specific company types e.g. startup\n * - Indication of customer divisions\n * - Variant with icon: used to show division permissions\n *\n * - **Tertiary** is used to display a company’s state\n */\nconst Badge: React.FC<React.PropsWithChildren<BadgeProps>> = React.memo(({size = 'sm', ...props}) => {\n const className: string = classnames(\n props?.className,\n 'atoka-badge',\n `variant-${props.variant}-${props.color}`,\n size,\n ),\n iconClassName: string = classnames({\n 'mr-2': props.children != null,\n }),\n icon: React.ReactNode =\n props.icon == null ? null : <FontAwesomeIcon icon={props.icon} className={iconClassName} />;\n\n return (\n <BsBadge className={className}>\n {icon}\n {props.children}\n </BsBadge>\n );\n});\n\nBadge.displayName = 'Badge';\n\nexport {Badge};\n","export * from './Badge';\n","import React from 'react';\n\nimport './Bs4V3Wrapper.less';\nimport classnames from 'classnames';\nimport {PropsWithClassName} from '../Utils';\n\nexport class Bs4V3Wrapper extends React.PureComponent<PropsWithClassName> {\n static displayName: string = 'Bs4V3Wrapper';\n\n public render(): React.ReactNode {\n let className = classnames('bs4-v3', this.props.className);\n\n return <div className={className}>{this.props.children}</div>;\n }\n}\n","export {Bs4V3Wrapper} from './Bs4V3Wrapper';\n","import {boundMethod} from 'autobind-decorator';\nimport {\n CirclePackingLayerId,\n ComputedDatum,\n ResponsiveCirclePacking,\n ResponsiveCirclePackingCanvas,\n} from '@nivo/circle-packing';\nimport React from 'react';\nimport classnames from 'classnames';\nimport {Dimensions} from '@nivo/core';\nimport {blue300} from '../Utils/Style';\nimport {NumberToStringFormatterType, PropsWithClassName} from '../Utils/CommonTypes';\nimport {ellipse} from '../Utils/Text';\nimport {BubbleChartDataPoint, BubbleChartTooltip} from './BubbleChart';\n\nexport type BubbleChartCommonProps = {\n renderTooltip: BubbleChartTooltip;\n id: string;\n chartRef?: React.RefObject<HTMLDivElement>;\n numberToStringFormatter: NumberToStringFormatterType;\n dataValueKey?: string;\n size?: Partial<Dimensions>;\n isCanvas?: boolean;\n total?: number;\n fontSize?: number;\n};\n\nexport type BubbleChartUIProps = PropsWithClassName &\n BubbleChartCommonProps & {\n data: BubbleChartDataPoint;\n colors?: Record<string, string>;\n labelSkipRadius: number;\n };\n\nexport class BubbleChartUI extends React.PureComponent<BubbleChartUIProps> {\n static displayName: string = 'BubbleChartUI';\n static ESTIMATED_LETTER_PIXELS: number = 6.2;\n private defaultLayers: CirclePackingLayerId[] = ['circles', 'labels'];\n static defaultProps: Partial<BubbleChartUIProps> = {\n labelSkipRadius: 17,\n dataValueKey: 'significance',\n };\n\n private getEllipsedLabel(radius: number, input: string): string {\n const maxLetterLength = Math.round((radius * 1.5) / BubbleChartUI.ESTIMATED_LETTER_PIXELS);\n return ellipse(input, maxLetterLength);\n }\n\n @boundMethod\n private renderColor(d: ComputedDatum<BubbleChartDataPoint>): string {\n // the color will be based on the significance, whereas the circle radius is based on the value\n return this?.props?.colors?.[String(d?.data?.['id'])] ?? blue300;\n }\n\n @boundMethod\n private getLabel(d: ComputedDatum<BubbleChartDataPoint>): string {\n return this.getEllipsedLabel(d.radius, d.data.label);\n }\n\n private renderContent(): React.ReactNode {\n const {id, isCanvas, fontSize} = this.props,\n commonProps = {\n layers: this.defaultLayers,\n margin: {top: 0, right: 0, bottom: 0, left: 0},\n data: this.props.data,\n colors: this.renderColor,\n id: `${id}-component`,\n padding: 4,\n leavesOnly: true,\n tooltip: this.props.renderTooltip,\n enableLabels: true,\n labelTextColor: 'white',\n label: this.getLabel,\n value: this.props.dataValueKey,\n };\n if (isCanvas) {\n const theme = {\n fontSize,\n background: '#fff',\n };\n return <ResponsiveCirclePackingCanvas {...commonProps} theme={theme} />;\n }\n\n return <ResponsiveCirclePacking {...commonProps} />;\n }\n\n public render(): React.ReactNode {\n const {id, className, chartRef, size} = this.props,\n chartWidth = size?.width ?? '100%',\n chartHeight = size?.height ?? '100%',\n classNames: string = classnames(\n 'bubble-chart-container d-flex justify-content-center align-items-center',\n className,\n );\n\n return (\n <div id={id} className={classNames} ref={chartRef} style={{width: chartWidth, height: chartHeight}}>\n {this.renderContent()}\n </div>\n );\n }\n}\n","import React from 'react';\nimport {ComputedDatum} from '@nivo/circle-packing';\nimport {DataPoint, PropsWithClassName} from '../Utils/CommonTypes';\nimport {blue30, blue300, generateRangeColor} from '../Utils/Style';\nimport {getRenderStatisticsTooltip} from '../StatisticsTooltip';\nimport {createDataWithOtherSlice} from '../Utils/Statistics';\nimport {deepEqual, sortObjDesc} from '../Utils/Utils';\nimport {BubbleChartCommonProps, BubbleChartUI, BubbleChartUIProps} from './BubbleChartUI';\n\nexport type BubbleChartTooltip = (props: ComputedDatum<BubbleChartDataPoint>) => JSX.Element;\n\nexport interface BubbleChartDataPoint extends Record<string, unknown>, DataPoint {\n significance?: number;\n children?: BubbleChartDataPoint[];\n}\n\nexport type BubbleChartProps = PropsWithClassName &\n BubbleChartCommonProps & {\n data: BubbleChartDataPoint[];\n colors?: string[];\n labelSkipRadius?: number;\n otherId: string;\n maxBubbleNumber?: number;\n };\n/**\n * ### Overview\n *\n * The `BubbleChart` is most useful to display large sets of data.\n * Please note this chart is not suited for tree data structures.\n * Circle colors and size by default derive from the `significance`\n * prop of a given `datapoint`.\n * */\nexport class BubbleChart extends React.Component<BubbleChartProps> {\n static defaultDataValueKey: string = 'significance';\n static displayName: string = 'BubbleChart';\n\n public shouldComponentUpdate(nextProps: BubbleChartProps): boolean {\n return !deepEqual(this.props, nextProps);\n }\n\n static defaultProps: Partial<BubbleChartProps> = {\n colors: [blue30, blue300],\n dataValueKey: BubbleChart.defaultDataValueKey,\n };\n\n private getComponentSetup(): Partial<BubbleChartUIProps> {\n const {otherId, maxBubbleNumber, data, id, numberToStringFormatter, isCanvas, total} = this.props,\n chartData = [...(data ?? [])],\n dataValueKey = this.props.dataValueKey ?? BubbleChart.defaultDataValueKey,\n children =\n this.props.maxBubbleNumber == null\n ? chartData.sort(sortObjDesc(dataValueKey))\n : createDataWithOtherSlice<BubbleChartDataPoint>(\n chartData,\n otherId,\n otherId,\n maxBubbleNumber,\n total,\n dataValueKey,\n ),\n arrayColors = this.computeColors(children),\n colors = arrayColors?.reduce((acc: Record<string, string>, color: string, i: number) => {\n acc[String(children[i].id)] = color;\n return acc;\n }, {}),\n childrenData = maxBubbleNumber == null ? children : children.slice(0, children.length - 1);\n return {\n isCanvas,\n colors,\n numberToStringFormatter,\n renderTooltip:\n this.props.renderTooltip ??\n getRenderStatisticsTooltip({\n tooltipDataLabelKey: this.props?.dataValueKey ?? BubbleChart.defaultDataValueKey,\n tooltipDataTitleKey: 'label',\n otherId: this.props.otherId,\n numberToStringFormatter: this.props.numberToStringFormatter,\n withColor: true,\n }),\n data: {\n children: childrenData,\n value: 0, // This is not useful, since we only use the leafs, but nivo requires it\n label: id,\n },\n };\n }\n\n private computeColors(children: BubbleChartDataPoint[]): string[] | undefined {\n return generateRangeColor(children.length, this.props.colors)?.reverse();\n }\n\n public render(): React.ReactNode {\n const {id, className, chartRef, size, labelSkipRadius, fontSize} = this.props;\n\n return (\n <BubbleChartUI\n {...this.getComponentSetup()}\n id={id}\n chartRef={chartRef}\n className={className}\n size={size}\n labelSkipRadius={labelSkipRadius}\n fontSize={fontSize}\n />\n );\n }\n}\n","export {BubbleChart, BubbleChartDataPoint, BubbleChartTooltip} from './BubbleChart';\n","import React, {SyntheticEvent} from 'react';\nimport classnames from 'classnames';\nimport BsButton from 'react-bootstrap/Button';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\n\nimport './Button.less';\nimport {IconDefinition} from '@fortawesome/pro-light-svg-icons';\nimport {PropsWithClassName} from '../Utils';\n\ntype ButtonVariant =\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'tertiary-danger'\n | 'danger'\n | 'primary-orange'\n | 'primary-white'\n | 'primary-danger';\ntype ButtonSize = 'xxs' | 'xs' | 'sm' | 'md' | 'lg';\ninterface ButtonProps extends PropsWithClassName {\n variant: ButtonVariant;\n size: ButtonSize;\n\n icon?: IconDefinition;\n iconLeft?: IconDefinition;\n iconRight?: IconDefinition;\n\n disabled: boolean;\n block: boolean;\n\n onClick?: (e?: SyntheticEvent) => void;\n\n href?: string;\n target?: string;\n}\n\nclass Button extends React.PureComponent<ButtonProps> {\n static displayName: string = 'Button';\n\n public static defaultProps: Partial<ButtonProps> = {\n variant: 'primary',\n size: 'md',\n disabled: false,\n block: false,\n };\n\n private renderIcon(): React.ReactNode {\n if (this.props.icon == null) {\n return null;\n }\n\n return <FontAwesomeIcon icon={this.props.icon} />;\n }\n\n private renderChildren(): React.ReactNode {\n if (this.props.children == null) {\n return null;\n }\n\n return <span className='btn-children'>{this.props.children}</span>;\n }\n\n private renderLeftSide(): React.ReactNode {\n if (this.props.iconLeft == null) {\n if (this.props.iconRight == null) {\n return null;\n }\n return <FontAwesomeIcon icon={this.props.iconRight} className='invisible' />;\n }\n\n return <FontAwesomeIcon icon={this.props.iconLeft} />;\n }\n\n private renderRightSide(): React.ReactNode {\n if (this.props.iconRight == null) {\n if (this.props.iconLeft == null) {\n return null;\n }\n return <FontAwesomeIcon icon={this.props.iconLeft} className='invisible' />;\n }\n\n return <FontAwesomeIcon icon={this.props.iconRight} />;\n }\n\n private renderContent(): React.ReactNode {\n if (this.props.icon != null && this.props.children == null) {\n return this.renderIcon();\n }\n\n return (\n <div className='button-content-center-container'>\n {this.renderIcon()}\n {this.renderChildren()}\n </div>\n );\n }\n\n public render(): React.ReactNode {\n const className: string = classnames('atoka-btn', `btn-${this.props.size}`, this.props.className, {\n 'btn-icon-only': this.props.icon != null && this.props.children == null,\n });\n\n return (\n <BsButton\n className={className}\n variant={this.props.variant}\n disabled={this.props.disabled}\n block={this.props.block}\n onClick={this.props.onClick}\n href={this.props.href}\n target={this.props.target}\n >\n {this.renderLeftSide()}\n {this.renderContent()}\n {this.renderRightSide()}\n </BsButton>\n );\n }\n}\n\nexport {Button, ButtonVariant, ButtonSize, ButtonProps};\n","// use the star because of this issue: https://github.com/babel/babel-loader/issues/603\nexport * from './Button';\n","import React from 'react';\nimport classnames from 'classnames';\nimport './ButtonDropdown.less';\nimport autobind from 'autobind-decorator';\nimport {faChevronUp} from '@fortawesome/pro-light-svg-icons/faChevronUp';\nimport {faChevronDown} from '@fortawesome/pro-light-svg-icons/faChevronDown';\nimport {Button} from '../Button';\nimport {ButtonProps} from '../Button/Button';\n\ninterface ButtonDropdownState {\n isButtonDropdownOpen: boolean;\n}\nexport interface ButtonDropdownProps extends Omit<ButtonProps, 'onClick' | 'iconRight' | 'block' | 'variant'> {\n toggleText: React.ReactNode;\n}\n\nexport class ButtonDropdown extends React.Component<ButtonDropdownProps, ButtonDropdownState> {\n static displayName: string = 'ButtonDropdown';\n static defaultProps: typeof Button.defaultProps = Button.defaultProps;\n private wrapperRef: React.RefObject<HTMLDivElement> = React.createRef<HTMLDivElement>();\n\n public state: ButtonDropdownState = {\n isButtonDropdownOpen: false,\n };\n\n public componentDidMount(): void {\n document.addEventListener('mousedown', this.handleClickOutside);\n }\n\n public componentWillUnmount(): void {\n document.removeEventListener('mousedown', this.handleClickOutside);\n }\n\n @autobind\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private handleClickOutside(event: any): void {\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n if (!this.wrapperRef?.current?.contains(event.target as Node)) {\n this.setState({isButtonDropdownOpen: false});\n }\n }\n\n @autobind\n private onToggle(): void {\n this.setState({isButtonDropdownOpen: !this.state.isButtonDropdownOpen});\n }\n\n private renderChildren(): React.ReactNode {\n if (this.state.isButtonDropdownOpen !== true) {\n return null;\n }\n\n return <ul className='dropdown-content'>{this.props.children}</ul>;\n }\n\n public render(): React.ReactNode {\n const className: string = classnames(\n this.props.className,\n 'atoka-button-dropdown',\n 'position-relative',\n `dropdown-${this.props.size}`,\n 'dropdown-primary',\n {\n 'dropdown-is-open': this.state.isButtonDropdownOpen,\n },\n );\n\n return (\n <div className={className} ref={this.wrapperRef}>\n <Button\n {...this.props}\n onClick={this.onToggle}\n block\n iconRight={this.state.isButtonDropdownOpen ? faChevronUp : faChevronDown}\n >\n {this.props.toggleText}\n </Button>\n {this.renderChildren()}\n </div>\n );\n }\n}\n","import {ButtonDropdown} from './ButtonDropdown';\n\nexport {ButtonDropdown};\n","import React from 'react';\nimport './CardsPageFilters.less';\n\nexport const CardsPageFilters: React.FC = React.memo(\n (props): React.ReactElement => <div className='cards-page-filters mt-3'>{props.children}</div>,\n);\nCardsPageFilters.displayName = 'CardsPageItemFilter';\n","import React from 'react';\nimport {Form} from '../Form/Form';\n\nexport interface CardsPageSelectionTogglerProps {\n onToggle: () => void;\n isChecked: boolean;\n label: string;\n isDisabled?: boolean;\n}\n\nexport const CardsPageSelectionToggler: React.FC<CardsPageSelectionTogglerProps> = (props): React.ReactElement => {\n return (\n <Form.Checkbox\n disabled={props.isDisabled}\n className='checkbox-container mt-2'\n label={props.label}\n onChange={props.onToggle}\n checked={props.isChecked}\n id='allow-selection'\n />\n );\n};\n\nCardsPageSelectionToggler.displayName = 'CardsPageSelectionToggler';\n","import React from 'react';\nimport classnames from 'classnames';\nimport {Form} from '../Form/Form';\nimport {SelectDropdown} from '../SelectDropdown';\nimport {PropsWithClassName, OptionData} from '../Utils';\n\nexport type OptionType = Record<string, string> | OptionData[];\n\nexport interface CardsPageSortingProps extends PropsWithClassName {\n label: string;\n sortValue: string;\n onSortValueSelect: (sortValue: string) => void;\n options: OptionType;\n isDisabled?: boolean;\n}\nexport class CardsPageSorting extends React.PureComponent<CardsPageSortingProps> {\n static displayName: string = 'CardsPageSorting';\n\n private getOptions(): OptionData[] {\n let {options} = this.props;\n\n if (options == null) {\n return [];\n }\n\n let opts: OptionData[] = [];\n if (options.constructor === Object) {\n opts = Object.keys(options).reduce<OptionData[]>((acc: OptionData[], curr: string) => {\n acc.push({value: curr, label: options[curr]});\n return acc;\n }, []);\n }\n\n return opts?.map((opt: OptionData) => ({\n ...opt,\n disabled: opt.value === this.props.sortValue,\n }));\n }\n\n public render(): React.ReactNode {\n let className = classnames('w-30 flex-grow-1', this.props.className);\n return (\n <span className='d-flex align-items-center'>\n <Form.Label className='mr-2 mb-0'>{this.props.label}</Form.Label>\n <SelectDropdown\n disabled={this.props.isDisabled}\n size='md'\n className={className}\n options={this.getOptions()}\n selected={this.props.sortValue}\n onSelect={this.props.onSortValueSelect}\n />\n </span>\n );\n }\n}\n","import React from 'react';\nimport {faList} from '@fortawesome/pro-light-svg-icons/faList';\nimport {faTh} from '@fortawesome/pro-light-svg-icons/faTh';\nimport {Form} from '../Form/Form';\nimport {Button} from '../Button';\nimport './CardsPageLayoutMode.less';\n\nexport type LayoutModeVariants = 'grid' | 'list';\nexport interface CardsPageLayoutModeProps {\n label: string;\n selected: LayoutModeVariants;\n onSet: (layoutMode: LayoutModeVariants) => void;\n isDisabled?: boolean;\n}\n\nexport class CardsPageLayoutMode extends React.PureComponent<CardsPageLayoutModeProps> {\n static displayName: string = 'CardsPageLayoutMode';\n public render(): React.ReactNode {\n return (\n <div className='cards-page-layout-mode-container d-flex align-items-center ml-md-3'>\n <Form.Label className='atoka-form-label mr-2 my-0 ml-0'>{this.props.label}</Form.Label>\n <Button\n variant='tertiary'\n disabled={this.props.isDisabled}\n className={this.props.selected === 'grid' ? '' : 'text-muted'}\n icon={faTh}\n onClick={() => this.props.onSet('grid')}\n />\n <Button\n variant='tertiary'\n disabled={this.props.isDisabled}\n className={this.props.selected === 'list' ? '' : 'text-muted'}\n icon={faList}\n onClick={() => this.props.onSet('list')}\n />\n </div>\n );\n }\n}\n","import React from 'react';\nimport {Title} from '../Title';\nimport {Button} from '../Button';\nimport './CardsPageSelectionAction.less';\n\nexport interface CardsPageSelectionActionsProps {\n onCancel: () => void;\n onSelectAll: () => void;\n onUnselectAll: () => void;\n\n areItemsSelectable: boolean;\n isDisabled?: boolean;\n\n selectAllLabel: string;\n unselectAllLabel: string;\n cancelLabel: string;\n title: string;\n}\n\nexport class CardsPageSelectionActions extends React.PureComponent<CardsPageSelectionActionsProps> {\n static displayName: string = 'CardsPageSelectionActions';\n\n public render(): React.ReactNode {\n if (!this.props.areItemsSelectable) {\n return null;\n }\n\n return (\n <div className='cards-page-selection-action my-3 p-3'>\n <div className='d-flex justify-content-between align-items-center mb-3'>\n <Title size='sm'>{this.props.title}</Title>\n\n <div>\n <Button variant='tertiary' onClick={this.props.onSelectAll} className='text-muted'>\n {this.props.selectAllLabel}\n </Button>\n <Button variant='tertiary' onClick={this.props.onUnselectAll} className='ml-3 text-muted'>\n {this.props.unselectAllLabel}\n </Button>\n </div>\n </div>\n\n <div className='d-flex justify-content-between align-items-center'>\n <div className='d-flex'>{this.props.children}</div>\n\n <Button variant='tertiary' onClick={this.props.onCancel} className='text-muted'>\n {this.props.cancelLabel}\n </Button>\n </div>\n </div>\n );\n }\n}\n","import React from 'react';\nimport Row from 'react-bootstrap/Row';\nimport {EmptyState} from '../EmptyState';\n\nexport interface CardsPageCardsProps {\n emptyStateMessage: string;\n}\n\nexport const CardsPageCards: React.FC<CardsPageCardsProps> = React.memo(\n ({children, emptyStateMessage}): React.ReactElement => {\n if (children == null) {\n return (\n <div className='pt-4 pb-5'>\n <EmptyState>{emptyStateMessage}</EmptyState>\n </div>\n );\n }\n\n return (\n <Row xs={1} sm={2} md={3} lg={4}>\n {children}\n </Row>\n );\n },\n);\n\nCardsPageCards.displayName = 'CardsPageCards';\n","import React from 'react';\nimport './CardsPageCardsCounter.less';\n\nexport interface CardsPageCardsCounterProps {\n label: string;\n count?: number;\n}\n\nexport const CardsPageCardsCounter: React.FC<CardsPageCardsCounterProps> = (props): React.ReactElement => {\n return (\n <div className='cards-page-cards-counter mr-5'>\n {props.count} {props.label}\n </div>\n );\n};\n\nCardsPageCardsCounter.displayName = 'CardsPageCardsCounter';\n","import React from 'react';\n\nimport {findChildByComponent} from '../Utils/Utils';\nimport {CardsPageFilters} from './CardsPageFilters';\nimport {CardsPageSelectionToggler} from './CardsPageSelectionToggler';\nimport {CardsPageSorting} from './CardsPageSorting';\nimport {CardsPageLayoutMode} from './CardsPageLayoutMode';\nimport {CardsPageSelectionActions} from './CardsPageSelectionActions';\nimport {CardsPageCards, CardsPageCardsProps} from './CardsPageCards';\nimport {CardsPageCardsCounter} from './CardsPageCardsCounter';\n\nexport class CardsPageTabContent extends React.PureComponent {\n static displayName: string = 'CardsPageTabContent';\n public static Filters: React.FC = CardsPageFilters;\n public static CardsCounter: typeof CardsPageCardsCounter = CardsPageCardsCounter;\n public static SelectionToggler: typeof CardsPageSelectionToggler = CardsPageSelectionToggler;\n public static Sorting: typeof CardsPageSorting = CardsPageSorting;\n public static LayoutMode: typeof CardsPageLayoutMode = CardsPageLayoutMode;\n public static SelectionActions: typeof CardsPageSelectionActions = CardsPageSelectionActions;\n public static Cards: React.FC<CardsPageCardsProps> = CardsPageCards;\n\n private renderOtherChildren(): React.ReactNode {\n const ret: React.ReactNode[] = [];\n\n React.Children.forEach(this.props.children, (element: React.ReactElement) => {\n if (\n element?.type !== CardsPageFilters &&\n element?.type !== CardsPageCardsCounter &&\n element?.type !== CardsPageSelectionToggler &&\n element?.type !== CardsPageSorting &&\n element?.type !== CardsPageLayoutMode &&\n element?.type !== CardsPageSelectionActions\n ) {\n ret.push(element);\n }\n });\n\n if (ret.length === 0) {\n return null;\n }\n\n return ret;\n }\n\n public render(): React.ReactNode {\n return (\n <>\n {findChildByComponent(this.props.children, CardsPageFilters)}\n <div className='cards-page-sub-filters d-flex justify-content-between mt-3 mb-3 flex-column-reverse flex-lg-row'>\n <div className='d-flex justify-content-between'>\n {findChildByComponent(this.props.children, CardsPageCardsCounter)}\n {findChildByComponent(this.props.children, CardsPageSelectionToggler)}\n </div>\n <div className='cards-page-sub-filters-right d-flex flex-column flex-sm-row align-items-start justify-content-sm-between align-items-sm-center'>\n {findChildByComponent(this.props.children, CardsPageSorting)}\n {findChildByComponent(this.props.children, CardsPageLayoutMode)}\n </div>\n </div>\n {findChildByComponent(this.props.children, CardsPageSelectionActions)}\n {this.renderOtherChildren()}\n </>\n );\n }\n}\n","import React from 'react';\nimport {TabSwitcher, TabSwitcherProps} from '../TabSwitcher/TabSwitcher';\n\nexport const CardsPageTabSwitcher: React.FC<TabSwitcherProps> = React.memo(({children}) => {\n return <TabSwitcher fullWidth>{children}</TabSwitcher>;\n});\n\nCardsPageTabSwitcher.displayName = 'CardsPageTabSwitcher';\n","import React from 'react';\nimport {Title} from '../Title/Title';\n\nexport const CardsPageTitle: React.FC = React.memo(\n (props): React.ReactElement => (\n <Title size='lg' className='cards-page-title'>\n {props.children}\n </Title>\n ),\n);\n\nCardsPageTitle.displayName = 'CardsPageTitle';\n","import React from 'react';\nimport {Title} from '../Title/Title';\n\nexport const CardsPageSubtitle: React.FC = React.memo(\n (props): React.ReactElement => (\n <Title size='sm' className='cards-page-subtitle'>\n {props.children}\n </Title>\n ),\n);\n\nCardsPageSubtitle.displayName = 'CardsPageSubtitle';\n","import React from 'react';\n\nexport const CardsPageActions: React.FC = React.memo(\n (props): React.ReactElement => <div className='cards-page-actions d-flex align-items-center'>{props.children}</div>,\n);\n\nCardsPageActions.displayName = 'CardsPageActions';\n","import React from 'react';\n\nimport {findChildByComponent} from '../Utils/Utils';\nimport {CardsPageTitle} from './CardsPageTitle';\nimport {CardsPageSubtitle} from './CardsPageSubtitle';\nimport {CardsPageActions} from './CardsPageActions';\n\nexport class CardsPageHeader extends React.PureComponent {\n static displayName: string = 'CardsPageHeader';\n public static Title: typeof CardsPageTitle = CardsPageTitle;\n public static Subtitle: typeof CardsPageSubtitle = CardsPageSubtitle;\n public static Actions: typeof CardsPageActions = CardsPageActions;\n\n public render(): React.ReactNode {\n return (\n <div className='cards-page-header d-flex justify-content-between align-items-start pt-3'>\n <div>\n {findChildByComponent(this.props.children, CardsPageTitle)}\n {findChildByComponent(this.props.children, CardsPageSubtitle)}\n </div>\n <div className='cards-page-header d-flex justify-content-end'>\n {findChildByComponent(this.props.children, CardsPageActions)}\n </div>\n </div>\n );\n }\n}\n","import React from 'react';\nimport Container from 'react-bootstrap/Container';\n\nimport {Bs4V3Wrapper} from '../Bs4V3Wrapper';\nimport {CardsPageTabContent} from './CardsPageTabContent';\nimport {CardsPageTabSwitcher} from './CardsPageTabSwitcher';\nimport {CardsPageHeader} from './CardsPageHeader';\n\nimport './CardsPage.less';\n\nexport class CardsPage extends React.PureComponent {\n static displayName: string = 'CardsPage';\n public static Header: typeof CardsPageHeader = CardsPageHeader;\n public static TabSwitcher: typeof CardsPageTabSwitcher = CardsPageTabSwitcher;\n public static TabContent: typeof CardsPageTabContent = CardsPageTabContent;\n\n public render(): React.ReactNode {\n return (\n <Bs4V3Wrapper>\n <Container className='cards-page-container'>{this.props.children}</Container>\n </Bs4V3Wrapper>\n );\n }\n}\n","export {CardsPage} from './CardsPage';\nexport {CardsPageSelectionActions, CardsPageSelectionActionsProps} from './CardsPageSelectionActions';\n","import autobind from 'autobind-decorator';\nimport classnames from 'classnames';\nimport React from 'react';\nimport BsPagination from 'react-bootstrap/Pagination';\nimport {PropsWithClassName} from '../Utils';\n\nimport {scrollToTop} from '../Utils/Utils';\n\nimport '../Pagination/Pagination.less';\n\nimport {PaginationPrev} from '../Pagination/PaginationPrev';\nimport {PaginationNext} from '../Pagination/PaginationNext';\n\nexport interface CursorPaginationProps extends PropsWithClassName {\n previousPage?: string;\n nextPage?: string;\n onSetPage: (page: string) => void;\n}\n\n/**\n * ### Overview\n *\n * Pagination to use when the total page number is unknown.\n */\nexport class CursorPagination extends React.PureComponent<CursorPaginationProps> {\n static displayName: string = 'CursorPagination';\n @autobind\n private handlePreviousPage(): void {\n if (this.props.previousPage == null) {\n return;\n }\n this.props.onSetPage(this.props.previousPage);\n scrollToTop();\n }\n\n @autobind\n private handleNextPage(): void {\n if (this.props.nextPage == null) {\n return;\n }\n this.props.onSetPage(this.props.nextPage);\n scrollToTop();\n }\n\n private renderPrev(): React.ReactNode {\n if (this.props.previousPage == null) {\n return null;\n }\n return <PaginationPrev handlePrevPage={this.handlePreviousPage} />;\n }\n\n private renderNext(): React.ReactNode {\n if (this.props.nextPage == null) {\n return null;\n }\n\n return <PaginationNext handleNextPage={this.handleNextPage} />;\n }\n\n public render(): React.ReactNode {\n if (this.props.previousPage == null && this.props.nextPage == null) {\n return null;\n }\n\n const className: string = classnames(\n this.props.className,\n 'atoka-pagination',\n 'justify-content-center align-items-center',\n );\n\n return (\n <BsPagination className={className}>\n {this.renderPrev()}\n {this.renderNext()}\n </BsPagination>\n );\n }\n}\n","export {CursorPagination} from './CursorPagination';\n","import classNames from 'classnames';\nimport React from 'react';\nimport RDatePicker, {ReactDatePickerProps, registerLocale} from 'react-datepicker';\n\nimport './DatePicker.less';\nimport {boundMethod} from 'autobind-decorator';\n\nexport interface PreLoadedLocale {\n localeName: string;\n localeData: Locale;\n}\n\nexport interface DatePickerProps extends ReactDatePickerProps<never, boolean | undefined> {\n /** `{localeName: string; localeData: Locale}[]` */\n preLoadedLocales?: PreLoadedLocale[];\n /** Use this prop for the input as in [full form](?path=/story/form-form--full-form) */\n block?: boolean;\n isInvalid?: boolean;\n withShadow?: boolean;\n}\n/**\n * ### Overview\n * The `DatePicker` allows the user to select a single date or a range of dates.\n * For more information about the props, check [reactdatepicker.com](https://reactdatepicker.com/)\n * */\nexport class DatePicker extends React.Component<DatePickerProps> {\n static displayName: string = 'DatePicker';\n\n public static defaultProps: Partial<DatePickerProps> = {\n withShadow: true,\n disabledKeyboardNavigation: true,\n autoFocus: false,\n };\n\n public constructor(props: DatePickerProps) {\n super(props);\n (props?.preLoadedLocales ?? []).forEach((locale: PreLoadedLocale) =>\n registerLocale(locale.localeName, locale.localeData),\n );\n }\n\n @boundMethod\n private handleChange(\n date: Date | null | [Date | null, Date | null],\n event: React.SyntheticEvent | undefined,\n ): void {\n event?.persist?.();\n this.props.onChange(date, event);\n }\n\n public render(): React.ReactNode {\n const className = classNames('atoka-date-picker', this.props.className, {\n 'block': this.props.block,\n 'is-invalid': this.props.isInvalid,\n 'with-shadow': this.props.withShadow,\n });\n return (\n <div className={className}>\n <RDatePicker {...this.props} onChange={this.handleChange} />\n </div>\n );\n }\n}\n","export {DatePicker} from './DatePicker';\n","import React from 'react';\nimport Container from 'react-bootstrap/Container';\n\nimport './DetailPageHeaderContainer.less';\nimport {FadeAnimation} from '../FadeAnimation';\n\n/** Container component for the detail page header to be used as child of DetailPage. */\nexport class DetailPageHeaderContainer extends React.PureComponent {\n static displayName: string = 'DetailPageHeaderContainer';\n\n public render(): React.ReactNode {\n return (\n <div className='detail-page-header-container'>\n <FadeAnimation>\n <Container>{this.props.children}</Container>\n </FadeAnimation>\n </div>\n );\n }\n}\n","import Nav from 'react-bootstrap/Nav';\nimport React from 'react';\n\nimport './DetailPageMenu.less';\n\nexport const DetailPageMenuUI: React.FC = (props): React.ReactElement => {\n return (\n <div className='atoka-detail-page-menu'>\n <Nav className='flex-column'>{props.children}</Nav>\n </div>\n );\n};\n\nDetailPageMenuUI.displayName = 'DetailPageMenuUI';\n\nexport const DetailPageSubMenu: React.FC = (props): React.ReactElement => {\n return <div className='atoka-detail-page-sub-menu'>{props.children}</div>;\n};\n\nDetailPageSubMenu.displayName = 'DetailPageSubMenu';\n","import Col from 'react-bootstrap/Col';\nimport React from 'react';\n\nexport const DetailPageBodyContainer: React.FC = (props): React.ReactElement => {\n return <Col>{props.children}</Col>;\n};\n\nDetailPageBodyContainer.displayName = 'DetailPageBodyContainer';\n","import React from 'react';\nimport Row from 'react-bootstrap/Row';\nimport Col from 'react-bootstrap/Col';\nimport {Spinner, SpinnerSize} from '../Spinner';\n\nexport interface DetailPageHeaderUIProps {\n /** Is the component loading its content? */\n isLoading: boolean;\n\n leftContent?: React.ReactNode;\n rightContent?: React.ReactNode;\n}\n\n/** Container component for the detail page header to be used as child of DetailPage. */\nexport class DetailPageHeaderUI extends React.PureComponent<DetailPageHeaderUIProps> {\n static displayName: string = 'DetailPageHeaderUI';\n\n public render(): React.ReactNode {\n if (this.props.isLoading) {\n // !This className is used in atoka-revenge smoke tests.\n return (\n <div className='user-pages-spinner-container d-flex h-100 justify-content-center align-items-center'>\n <Spinner size={SpinnerSize.small} />\n </div>\n );\n }\n\n return (\n <Row>\n <Col xs={4}>{this.props.leftContent}</Col>\n <Col className='h-100 align-items-center'>{this.props.children}</Col>\n <Col xs={4}>{this.props.rightContent}</Col>\n </Row>\n );\n }\n}\n","import React from 'react';\nimport Col from 'react-bootstrap/Col';\n\nexport const DetailPageMenuContainer: React.FC = (props): React.ReactElement => {\n return <Col xs={4}>{props.children}</Col>;\n};\n\nDetailPageMenuContainer.displayName = 'DetailPageMenuContainer';\n","import React from 'react';\n\nimport './DetailPageBodySection.less';\n\nexport const DetailPageBodySection: React.FC = (props): React.ReactElement => {\n return <div className='atoka-detail-page-body-section'>{props.children}</div>;\n};\n\nDetailPageBodySection.displayName = 'DetailPageBodySection';\n","import React from 'react';\nimport Container from 'react-bootstrap/Container';\nimport Row from 'react-bootstrap/Row';\nimport Col from 'react-bootstrap/Col';\n\nimport {Bs4V3Wrapper} from '../Bs4V3Wrapper';\nimport {findChildByComponent} from '../Utils/Utils';\n\nimport {DetailPageHeaderContainer} from './DetailPageHeaderContainer';\nimport {DetailPageMenuUI, DetailPageSubMenu} from './DetailPageMenuUI';\nimport {DetailPageBodyContainer} from './DetailPageBodyContainer';\n\nimport './DetailPage.less';\nimport {DetailPageHeaderUIProps, DetailPageHeaderUI} from './DetailPageHeaderUI';\nimport {DetailPageMenuContainer} from './DetailPageMenuContainer';\nimport {DetailPageBodySection} from './DetailPageBodySection';\n\n/** Container component to display detail pages.<br />\n * You should use its special children DetailPageHeader, DetailPageMenu and DetailPageBody\n * as containers for your stuff. */\nexport class DetailPage extends React.PureComponent {\n static displayName: string = 'DetailPage';\n\n public static HeaderContainer: React.ComponentClass = DetailPageHeaderContainer;\n public static HeaderUI: React.ComponentClass<DetailPageHeaderUIProps> = DetailPageHeaderUI;\n\n public static MenuContainer: React.FunctionComponent = DetailPageMenuContainer;\n public static MenuUI: React.FunctionComponent = DetailPageMenuUI;\n public static SubMenu: React.FunctionComponent = DetailPageSubMenu;\n\n public static BodyContainer: React.FunctionComponent = DetailPageBodyContainer;\n public static BodySection: React.FunctionComponent = DetailPageBodySection;\n\n private renderOtherChildren(): React.ReactNode {\n const ret: React.ReactNode[] = [];\n\n React.Children.forEach(this.props.children, (element: React.ReactElement) => {\n if (\n element?.type !== DetailPageMenuContainer &&\n element?.type !== DetailPageHeaderContainer &&\n element?.type !== DetailPageBodyContainer\n ) {\n ret.push(element);\n }\n });\n\n if (ret.length === 0) {\n return null;\n }\n\n return <Col>{ret}</Col>;\n }\n\n public render(): React.ReactNode {\n return (\n <Bs4V3Wrapper>\n <div className='atoka-detail-page-container'>\n {findChildByComponent(this.props.children, DetailPageHeaderContainer)}\n <Container>\n <Row>\n {findChildByComponent(this.props.children, DetailPageMenuContainer)}\n {findChildByComponent(this.props.children, DetailPageBodyContainer)}\n </Row>\n {this.renderOtherChildren()}\n </Container>\n </div>\n </Bs4V3Wrapper>\n );\n }\n}\n","export {DetailPage} from './DetailPage';\n","import {DropdownMenuProps as BsDropdownMenuProps} from 'react-bootstrap/DropdownMenu';\nimport React from 'react';\nimport BsDropdown from 'react-bootstrap/Dropdown';\nimport classnames from 'classnames';\n\nimport './DropdownMenu.less';\n\nexport interface DropdownMenuProps extends BsDropdownMenuProps {\n size?: 'sm' | 'lg';\n}\n\nexport const DropdownMenu: React.FC<DropdownMenuProps> = React.memo(({size = 'sm', ...props}): React.ReactElement => {\n const className: string = classnames({\n [props?.className ?? '']: true,\n 'atoka-dropdown-menu': true,\n [size]: true,\n });\n return (\n <BsDropdown.Menu {...props} className={className}>\n {props.children}\n </BsDropdown.Menu>\n );\n});\n\nDropdownMenu.displayName = 'DropdownMenu';\n","import React from 'react';\nimport classnames from 'classnames';\nimport BsDropdown, {DropdownProps as BsDropdownProps} from 'react-bootstrap/Dropdown';\nimport {DropdownMenu} from './DropdownMenu';\n\nexport class Dropdown extends React.PureComponent<BsDropdownProps> {\n static displayName: string = 'DropDown';\n public static Toggle: typeof BsDropdown.Toggle = BsDropdown.Toggle;\n public static Menu: typeof DropdownMenu = DropdownMenu;\n public static Item: typeof BsDropdown.Item = BsDropdown.Item;\n public static Divider: typeof BsDropdown.Divider = BsDropdown.Divider;\n public static Header: typeof BsDropdown.Header = BsDropdown.Header;\n\n public render(): React.ReactNode {\n const className: string = classnames(this.props.className, 'atoka-dropdown');\n return (\n <BsDropdown {...this.props} className={className}>\n {this.props.children}\n </BsDropdown>\n );\n }\n}\n","import React from 'react';\nimport autobind from 'autobind-decorator';\nimport classnames from 'classnames';\nimport {faEllipsisH} from '@fortawesome/pro-regular-svg-icons/faEllipsisH';\nimport {faChevronDown} from '@fortawesome/pro-regular-svg-icons/faChevronDown';\nimport {Button} from '../Button';\n\nimport './AtokaDropdownToggles.less';\n\nexport interface AtokaDropdownToggleProps {\n children?: React.ReactNode;\n onClick: (e: React.SyntheticEvent<HTMLDivElement, MouseEvent>) => void;\n disabled?: boolean;\n}\n\nfunction withRef<P>(\n displayName: string,\n Component: React.ComponentType<AtokaDropdownToggleProps>,\n): React.ComponentType<AtokaDropdownToggleProps | P> {\n const newComponent: React.ComponentType<AtokaDropdownToggleProps | P> = React.forwardRef(\n (props: AtokaDropdownToggleProps, ref: React.Ref<HTMLDivElement>) => {\n return (\n <div ref={ref}>\n <Component disabled={props.disabled} onClick={props.onClick}>\n {props.children}\n </Component>\n </div>\n );\n },\n );\n newComponent.displayName = displayName;\n return newComponent;\n}\n\nclass AtokaSimpleDropdownToggleComponent extends React.Component<AtokaDropdownToggleProps> {\n static displayName: string = 'AtokaSimpleDropdownToggleComponent';\n\n @autobind\n private handleClick(e: React.SyntheticEvent<HTMLDivElement, MouseEvent>): void {\n e.preventDefault();\n this.props.onClick(e);\n }\n\n public render(): React.ReactNode {\n return (\n <Button\n variant='secondary'\n size='xs'\n icon={faEllipsisH}\n onClick={!this.props.disabled ? this.handleClick : undefined}\n />\n );\n }\n}\nclass AtokaCustomDropdownToggleComponent extends React.Component<AtokaDropdownToggleProps> {\n static displayName: string = 'AtokaCustomDropdownToggleComponent';\n\n @autobind\n private handleClick(e: React.SyntheticEvent<HTMLDivElement, MouseEvent>): void {\n e.preventDefault();\n this.props.onClick(e);\n }\n\n public render(): React.ReactNode {\n return (\n <div className='atoka-dropdown-toggle' onClick={!this.props.disabled ? this.handleClick : undefined}>\n {this.props.children}\n </div>\n );\n }\n}\n\nclass AtokaCustomDropdownToggleWithChevronComponent extends React.Component<AtokaDropdownToggleProps> {\n static displayName: string = 'AtokaCustomDropdownToggleWithChevronComponent ';\n\n @autobind\n private handleClick(e: React.SyntheticEvent<HTMLDivElement, MouseEvent>): void {\n e.preventDefault();\n this.props.onClick(e);\n }\n\n public render(): React.ReactNode {\n let className = classnames({\n 'atoka-dropdown-toggle': true,\n 'disabled': this.props.disabled,\n });\n\n return (\n <div className={className} onClick={!this.props.disabled ? this.handleClick : undefined}>\n {this.props.children}\n <div className='chevron-container'>\n <Button variant='tertiary' size='md' icon={faChevronDown} />\n </div>\n </div>\n );\n }\n}\n\nconst AtokaSimpleDropdownToggle: React.ComponentType<AtokaDropdownToggleProps> = withRef(\n 'AtokaSimpleDropdownToggle',\n AtokaSimpleDropdownToggleComponent,\n);\nconst AtokaCustomDropdownToggle: React.ComponentType<AtokaDropdownToggleProps> = withRef(\n 'AtokaCustomDropdownToggle',\n AtokaCustomDropdownToggleComponent,\n);\nconst AtokaCustomDropdownToggleWithChevron: React.ComponentType<AtokaDropdownToggleProps> = withRef(\n 'AtokaCustomDropdownToggleWithChevron',\n AtokaCustomDropdownToggleWithChevronComponent,\n);\n\nexport {AtokaSimpleDropdownToggle, AtokaCustomDropdownToggleWithChevron, AtokaCustomDropdownToggle};\n","export {Dropdown} from './Dropdown';\nexport {DropdownMenu} from './DropdownMenu';\nexport {\n AtokaSimpleDropdownToggle,\n AtokaCustomDropdownToggle,\n AtokaCustomDropdownToggleWithChevron,\n} from './AtokaDropdownToggles';\n","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","import { Children, cloneElement, isValidElement } from 'react';\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\nexport function getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && isValidElement(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\nexport function mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nexport function getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\nexport function getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!isValidElement(child)) return;\n var hasPrev = (key in prevChildMapping);\n var hasNext = (key in nextChildMapping);\n var prevChild = prevChildMapping[key];\n var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = cloneElement(child, {\n in: false\n });\n } else if (hasNext && hasPrev && isValidElement(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { getChildMapping, getInitialChildMapping, getNextChildMapping } from './utils/ChildMapping';\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `<TransitionGroup>` component manages a set of transition components\n * (`<Transition>` and `<CSSTransition>`) in a list. Like with the transition\n * components, `<TransitionGroup>` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the `<TransitionGroup>`.\n *\n * Note that `<TransitionGroup>` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = getChildMapping(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(React.Component);\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `<TransitionGroup>` renders a `<div>` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `<div>` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: PropTypes.any,\n\n /**\n * A set of `<Transition>` components, that are toggled `in` and out as they\n * leave. the `<TransitionGroup>` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `<Transition>` as\n * with our `<Fade>` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: PropTypes.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: PropTypes.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\nexport default TransitionGroup;","import autobind from 'autobind-decorator';\nimport classnames from 'classnames';\nimport React from 'react';\nimport {CSSTransition, TransitionGroup} from 'react-transition-group';\nimport {faPencil} from '@fortawesome/pro-light-svg-icons/faPencil';\nimport {PropsWithClassName} from '../Utils';\n\nimport './EditableString.less';\n\nimport {InlineStringEditor, InlineStringValueType} from '../InlineStringEditor/InlineStringEditor';\nimport {Button} from '../Button';\nimport {OptionData} from '../Utils/CommonTypes';\n\nexport interface EditableStringProps extends PropsWithClassName {\n value: InlineStringValueType;\n shownValue?: React.ReactNode;\n onSave: (value: InlineStringValueType) => void;\n onChange?: (value: InlineStringValueType) => void;\n onCancel?: () => void;\n maxLength?: number;\n minLength?: number;\n useIcons?: boolean;\n help?: React.ReactNode;\n getError?: (value: InlineStringValueType) => React.ReactNode | null;\n getIsSaveDisabled?: (value: InlineStringValueType) => boolean;\n options?: OptionData[];\n inputType?: 'text' | 'date';\n}\n\nexport interface EditableStringState {\n isEditing: boolean;\n currentValue: InlineStringValueType;\n}\n\n/**\n * ### Overview\n *\n * This component is used in Atoka to edit an item directly.\n */\nexport class EditableString extends React.PureComponent<EditableStringProps, EditableStringState> {\n static displayName: string = 'EditableString';\n public state: EditableStringState = {\n isEditing: false,\n currentValue: this.props.value,\n };\n\n componentDidUpdate(prevProps: Readonly<EditableStringProps>): void {\n if (prevProps.value !== this.props.value) {\n this.setState({currentValue: this.props.value});\n }\n }\n\n @autobind\n private handleClick(): void {\n if (this.state.isEditing) {\n return;\n }\n\n this.setState({isEditing: true});\n }\n\n @autobind\n private handleCancel(): void {\n // On cancel we could reset currentValue and set it back from props.. is it a good idea?\n this.setState({isEditing: false});\n\n if (this.props.onCancel != null) {\n this.props.onCancel();\n }\n }\n\n @autobind\n private handleSave(newValue: string): void {\n if (!this.state.isEditing) {\n return;\n }\n\n this.props.onSave(newValue);\n // Dirty tricks are dirty: allow some time for eventual store update and rerender, to avoid flickering\n setTimeout(() => this.setState({isEditing: false}), 10);\n }\n\n @autobind\n private handleChange(newValue: string): void {\n if (this.props.onChange != null) {\n this.props.onChange(newValue);\n return;\n }\n\n this.setState({currentValue: newValue});\n }\n\n private renderEditingContent(): React.ReactNode {\n return (\n <CSSTransition classNames='editable-string' timeout={{enter: 400, exit: 400}} key='editing'>\n <div className='editable-string-editing w-100'>\n <InlineStringEditor\n value={this.state.currentValue}\n onCancel={this.handleCancel}\n onSave={this.handleSave}\n onChange={this.handleChange}\n useIcons={this.props.useIcons}\n minLength={this.props.minLength}\n maxLength={this.props.maxLength}\n getIsSaveDisabled={this.props.getIsSaveDisabled}\n options={this.props.options}\n inputType={this.props.inputType}\n getError={this.props.getError}\n help={this.props.help}\n />\n </div>\n </CSSTransition>\n );\n }\n\n private renderShownValue(): React.ReactNode {\n let {value, shownValue} = this.props;\n\n if (shownValue != null) {\n return shownValue;\n }\n\n if (value == null) {\n return null;\n }\n\n if (typeof value === 'string') {\n return value;\n }\n\n return value.label;\n }\n\n private renderContent(): React.ReactNode {\n if (this.state.isEditing) {\n return this.renderEditingContent();\n }\n\n return (\n <CSSTransition classNames='editable-string' timeout={{enter: 400, exit: 400}} key='viewing'>\n <div className='editable-string-viewing w-100' onClick={this.handleClick}>\n {this.renderShownValue()}\n <Button icon={faPencil} className='edit-icon' variant='tertiary' />\n </div>\n </CSSTransition>\n );\n }\n\n public render(): React.ReactNode {\n const className: string = classnames(this.props.className, 'editable-string-container');\n\n return <TransitionGroup className={className}>{this.renderContent()}</TransitionGroup>;\n }\n}\n","// use the star because of this issue: https://github.com/babel/babel-loader/issues/603\nexport * from './EditableString';\n","import classnames from 'classnames';\nimport React from 'react';\n\nimport './EllipsableContent.less';\nimport {Tooltip, TooltipProps} from '../Tooltip';\nimport {findChildByComponent} from '../Utils/Utils';\n\nconst Prepend: React.FC = (props: React.PropsWithChildren<void>) => (\n <div className='ellipsable-content-prepend'>{props.children}</div>\n);\n\nPrepend.displayName = 'EllipsableContent.Prepend';\n\nconst Append: React.FC = (props: React.PropsWithChildren<void>) => (\n <div className='ellipsable-content-append'>{props.children}</div>\n);\n\nAppend.displayName = 'EllipsableContent.Append';\n\nexport type EllipsableContentContentProps = React.PropsWithChildren<\n Partial<Pick<EllipsableContentProps, 'tooltip' | 'tooltipProps'>>\n>;\n\nconst Content: React.FC = (props: EllipsableContentContentProps) => {\n const contentElement = <div className='ellipsable-content-content'>{props.children}</div>;\n\n if (props.tooltip == null) {\n return contentElement;\n }\n\n return (\n <Tooltip {...props.tooltipProps} content={props.tooltip}>\n {contentElement}\n </Tooltip>\n );\n};\n\nContent.displayName = 'EllipsableContent.Content';\n\nexport interface EllipsableContentProps {\n className?: string;\n style?: React.CSSProperties;\n tooltip?: React.ReactNode;\n tooltipProps?: Partial<Omit<TooltipProps, 'content'>>;\n}\n\nexport class EllipsableContent extends React.PureComponent<EllipsableContentProps> {\n static displayName: string = 'EllipsableContent';\n static Prepend: React.FC = Prepend;\n static Append: React.FC = Append;\n static Content: React.FC<EllipsableContentContentProps> = Content;\n\n private renderFullContent(): React.ReactNode {\n let prependElement = findChildByComponent(this.props.children, EllipsableContent.Prepend),\n contentElement = findChildByComponent(this.props.children, EllipsableContent.Content) as React.ReactElement,\n appendElement = findChildByComponent(this.props.children, EllipsableContent.Append);\n\n if (contentElement == null && (prependElement != null || appendElement != null)) {\n console.error('You must set a .Content alongside the .Append or .Prepend');\n\n return null;\n }\n\n if (contentElement == null) {\n contentElement = <EllipsableContent.Content>{this.props.children}</EllipsableContent.Content>;\n }\n\n if (this.props.tooltip != null) {\n contentElement = (\n <contentElement.type\n {...contentElement.props}\n tooltip={this.props.tooltip}\n tooltipProps={this.props.tooltipProps}\n />\n );\n }\n\n return (\n <>\n {prependElement}\n {contentElement}\n {appendElement}\n </>\n );\n }\n\n public render(): React.ReactNode {\n let className = classnames('ellipsable-content-container', this.props.className, {\n 'ellipsable-with-tooltip': this.props.tooltip != null,\n }),\n fullContent = this.renderFullContent();\n\n if (fullContent == null) {\n return null;\n }\n\n return (\n <div className={className} style={this.props.style}>\n {fullContent}\n </div>\n );\n }\n}\n","export {EllipsableContent} from './EllipsableContent';\n","import React from 'react';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\n\nimport './EmptyState.less';\nimport {faEmptySet} from '@fortawesome/pro-light-svg-icons/faEmptySet';\nimport classnames from 'classnames';\nimport {PropsWithClassName} from '../Utils';\n\n/**\n * ### Overview\n *\n * An empty state is a predominant element the user sees on a page where there is nothing to display.\n */\nexport class EmptyState extends React.PureComponent<PropsWithClassName> {\n static displayName: string = 'EmptyState';\n public render(): React.ReactNode {\n return (\n <div className={classnames('atoka-empty-state', this.props.className)}>\n <div className='mb-2'>\n <FontAwesomeIcon icon={faEmptySet} />\n </div>\n {this.props.children}\n </div>\n );\n }\n}\n","export {EmptyState} from './EmptyState';\n","import classnames from 'classnames';\nimport React from 'react';\n\nimport './FacetItemCount.less';\n\nexport interface FacetItemCountrops {\n value: number;\n className?: string;\n}\n\nexport const FacetItemCount: React.FC<FacetItemCountrops> = React.memo((props): React.ReactElement => {\n const className: string = classnames('facet-item-count', props.className);\n return <div className={className}>{props.value}</div>;\n});\n\nFacetItemCount.displayName = 'FacetItemCount';\n","import {faInfoCircle} from '@fortawesome/pro-light-svg-icons/faInfoCircle';\nimport {faTimes} from '@fortawesome/pro-light-svg-icons/faTimes';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport autobind from 'autobind-decorator';\nimport React from 'react';\nimport Overlay, {OverlayChildren} from 'react-bootstrap/Overlay';\nimport Popover from 'react-bootstrap/Popover';\nimport BsCarousel from 'react-bootstrap/Carousel';\nimport {faChevronLeft} from '@fortawesome/pro-light-svg-icons/faChevronLeft';\nimport {faChevronRight} from '@fortawesome/pro-light-svg-icons/faChevronRight';\n\nimport './FacetHelp.less';\nimport classnames from 'classnames';\nimport {Title} from '../Title';\n\nexport const tooltipPopperConfig = {\n modifiers: [\n {\n name: 'preventOverflow',\n options: {\n rootBoundary: 'viewport',\n },\n },\n ],\n};\n\nexport interface FacetHelpProps {\n title: React.ReactNode;\n onIconClick?: () => void;\n trackingName: string;\n}\n\nexport interface FacetHelpState {\n isShown: boolean;\n}\n\nexport class FacetHelp extends React.Component<React.PropsWithChildren<FacetHelpProps>, FacetHelpState> {\n static displayName: string = 'FacetHelp';\n\n private helpIconRef: React.RefObject<HTMLElement> = React.createRef();\n private facetHelpRef: React.RefObject<HTMLElement> = React.createRef();\n\n constructor(props: FacetHelpProps) {\n super(props);\n this.state = {isShown: false};\n }\n\n @autobind\n private handleTogglePopover(e: React.MouseEvent<HTMLSpanElement>): void {\n e.stopPropagation();\n this.setState({isShown: !this.state.isShown});\n }\n\n private renderPopoverTitle(): React.ReactNode {\n if (this.props.title == null) {\n return null;\n }\n\n return (\n <Popover.Title className='popover-title d-flex justify-content-between' bsPrefix='atoka'>\n <Title size='sm'>{this.props.title}</Title>\n <button className='close align-middle' onClick={this.handleTogglePopover}>\n <FontAwesomeIcon size='sm' icon={faTimes} />\n </button>\n </Popover.Title>\n );\n }\n\n private renderPopover(): OverlayChildren {\n let children = this.props.children,\n showControls: boolean = Array.isArray(children) && children.length > 1,\n helpCarouselClassName = classnames({\n 'help-carousel': true,\n 'hidden-controls': !showControls,\n });\n\n return (\n <Popover id={this.props.trackingName} className='bs4-v3 help-popover-v3 help-popover-container'>\n {this.renderPopoverTitle()}\n <Popover.Content>\n <BsCarousel\n controls={showControls}\n indicators={showControls}\n className={helpCarouselClassName}\n onClick={(e: React.SyntheticEvent) => e.stopPropagation()}\n nextIcon={<FontAwesomeIcon icon={faChevronRight} size='xs' />}\n prevIcon={<FontAwesomeIcon icon={faChevronLeft} size='xs' />}\n >\n {children}\n </BsCarousel>\n </Popover.Content>\n </Popover>\n );\n }\n\n public render(): React.ReactNode {\n if (this.props.title == null && this.props.children == null) {\n return null;\n }\n\n return (\n <span className='facet-help-v3 help-container'>\n <span className='help-icon-container'>\n <span ref={this.helpIconRef} onClick={this.handleTogglePopover}>\n <FontAwesomeIcon size='sm' icon={faInfoCircle} />\n </span>\n </span>\n\n <Overlay\n target={this.helpIconRef.current}\n placement='right'\n show={this.state.isShown}\n container={this.facetHelpRef.current}\n popperConfig={tooltipPopperConfig}\n >\n {this.renderPopover()}\n </Overlay>\n </span>\n );\n }\n}\n","import React from 'react';\nimport {Title} from '../Title';\n\nexport const FacetSubtitle = React.memo(({children}) => (\n <Title className='color-gray-400 mb-1' size='xs'>\n {children}\n </Title>\n));\n\nFacetSubtitle.displayName = 'FacetSubtitle';\n","import classnames from 'classnames';\nimport React from 'react';\n\nimport {PropsWithClassName} from '../Utils';\n\nimport {Title} from '../Title';\nimport './Facet.less';\nimport {isStringEmpty} from '../Utils/Text';\nimport {FacetHelp} from './FacetHelp';\nimport {FacetItemCount} from './FacetItemCount';\nimport {FacetSubtitle} from './FacetSubtitle';\n\nexport interface FacetProps extends PropsWithClassName {\n id: string;\n title?: string;\n badgeItemsCount?: number;\n help?: React.ReactNode;\n}\n\nexport class Facet extends React.PureComponent<FacetProps> {\n static displayName: string = 'Facet';\n\n public static Help: typeof FacetHelp = FacetHelp;\n public static Subtitle: typeof FacetSubtitle = FacetSubtitle;\n\n private renderItemCount(): React.ReactNode {\n let badgeItemsCount = this.props.badgeItemsCount;\n if (badgeItemsCount == null || badgeItemsCount === 0) {\n return null;\n }\n\n return <FacetItemCount value={badgeItemsCount} />;\n }\n\n private renderTitle(): React.ReactNode {\n // we do show the help only if there is a title\n if (isStringEmpty(this.props.title ?? null)) {\n return null;\n }\n\n return (\n <div className='facet-header-title-container'>\n <div className='align-items-center'>\n <Title size='sm'>\n <strong>{this.props.title}</strong>\n {this.props.help}\n </Title>\n </div>\n </div>\n );\n }\n\n private renderHeader(): React.ReactNode {\n const title = this.renderTitle(),\n itemCount = this.renderItemCount();\n if (title == null && itemCount == null) {\n return null;\n }\n const className = classnames('facet-header', {\n 'bg-transparent position-absolute': isStringEmpty(this.props.title ?? null),\n });\n return (\n <div className={className}>\n {this.renderTitle()}\n {this.renderItemCount()}\n </div>\n );\n }\n\n private renderContent(): React.ReactNode {\n const bodyClassName = classnames('facet-body', {'pt-3': isStringEmpty(this.props.title ?? null)});\n return (\n <div className='facet-container'>\n {this.renderHeader()}\n <div className={bodyClassName}>{this.props.children}</div>\n </div>\n );\n }\n\n public render(): React.ReactNode {\n const className: string = classnames('facet', this.props.className);\n\n return <div className={className}>{this.renderContent()}</div>;\n }\n}\n","export * from './Facet';\n","import {IconDefinition} from '@fortawesome/fontawesome-svg-core';\nimport {faMinus} from '@fortawesome/pro-light-svg-icons/faMinus';\nimport {faPlus} from '@fortawesome/pro-light-svg-icons/faPlus';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport {FacetItemCount} from '../Facet/FacetItemCount';\nimport {Title} from '../Title';\nimport {PropsWithClassName} from '../Utils';\n\nimport './FacetSection.less';\n\nexport interface FacetSectionProps extends PropsWithClassName {\n id: string;\n title: string;\n icon?: IconDefinition;\n titlePrefix?: React.ReactNode;\n isCollapsed: boolean;\n onToggleCollapsed: () => void;\n badgeItemsCount?: number;\n}\n\nexport class FacetSection extends React.PureComponent<FacetSectionProps> {\n static displayName: string = 'FacetSection';\n\n protected renderItemCount(): React.ReactNode {\n if (\n this.props.isCollapsed === false ||\n this.props.badgeItemsCount == null ||\n this.props.badgeItemsCount === 0\n ) {\n return null;\n }\n\n return <FacetItemCount value={this.props.badgeItemsCount} />;\n }\n\n protected renderTitleAndIcon(): React.ReactNode {\n if (this.props.icon != null) {\n return (\n <Title size='sm' icon={this.props.icon}>\n {this.props.title}\n </Title>\n );\n }\n\n if (this.props.titlePrefix != null) {\n return (\n <Title size='sm'>\n <span className='facet-section-title-prefix mr-2'>{this.props.titlePrefix}</span>\n {this.props.title}\n </Title>\n );\n }\n\n return <Title size='sm'>{this.props.title}</Title>;\n }\n\n private renderFacetSectionTitle(): React.ReactNode {\n return (\n <div className='facet-section-title d-flex justify-content-between' onClick={this.props.onToggleCollapsed}>\n <div>{this.renderTitleAndIcon()}</div>\n <div className='d-flex align-items-center'>\n {this.renderItemCount()}\n <FontAwesomeIcon icon={this.props.isCollapsed === true ? faPlus : faMinus} className='ml-2' />\n </div>\n </div>\n );\n }\n\n private renderFacets(): React.ReactNode {\n if (this.props.isCollapsed === true) {\n return null;\n }\n\n return <div className='facet-section-facet-list'>{this.props.children}</div>;\n }\n\n public render(): React.ReactNode {\n const className: string = classnames('facet-section', this.props.className, {\n 'facet-section-collapsed': this.props.isCollapsed,\n });\n\n return (\n <div className={className}>\n {this.renderFacetSectionTitle()}\n {this.renderFacets()}\n </div>\n );\n }\n}\n","export * from './FacetSection';\n","import React from 'react';\nimport {CSSTransition} from 'react-transition-group';\n\nimport './FadeAnimation.less';\n\nexport interface FadeAnimationProps {\n appearDelay: 0 | 100 | 300 | 500;\n duration: 600;\n /** Used to control the state of the animation.\n * Defaults to true to animate on mount */\n in: boolean;\n}\n\nexport class FadeAnimation extends React.PureComponent<FadeAnimationProps> {\n static displayName: string = 'FadeAnimation';\n static defaultProps: Partial<FadeAnimationProps> = {\n duration: 600,\n appearDelay: 0,\n in: true,\n };\n\n public render(): React.ReactNode {\n const {duration, appearDelay} = this.props,\n name: string = `atoka-fadein-${duration}-${appearDelay}`;\n\n return (\n <CSSTransition timeout={duration + appearDelay} classNames={name} in={this.props.in} appear={true}>\n {this.props.children}\n </CSSTransition>\n );\n }\n}\n","export {FadeAnimation} from './FadeAnimation';\n","import React, {useEffect, useState} from 'react';\nimport {IconDefinition} from '@fortawesome/pro-light-svg-icons';\nimport classnames from 'classnames';\nimport {Button, ButtonProps, ButtonVariant} from '../Button/Button';\nimport './FeedbackButton.less';\n\nexport interface FeedbackButtonProps extends Omit<ButtonProps, 'variant' | 'size' | 'block' | 'disabled'> {\n feedbackLabel?: React.ReactNode;\n feedbackIcon?: IconDefinition;\n onClick: () => void;\n onDone?: () => void;\n feedbackTimeout?: number;\n feedbackType?: 'success';\n disabled?: boolean;\n variant?: ButtonVariant;\n block?: boolean;\n size?: ButtonProps['size'];\n}\n\n/** This button displays a feedback when clicked. */\nconst FeedbackButton: React.FC<FeedbackButtonProps> = ({\n feedbackTimeout = 5000,\n variant = 'secondary',\n feedbackType = 'success',\n ...props\n}) => {\n const [isShowingFeedback, setIsShowingFeedback] = useState(false),\n handleClick: () => void = () => {\n if (isShowingFeedback || props.disabled === true) {\n return;\n }\n\n setIsShowingFeedback(true);\n props.onClick();\n };\n\n useEffect(() => {\n if (isShowingFeedback) {\n setTimeout(() => {\n if (props.onDone != null) {\n props.onDone();\n }\n\n setIsShowingFeedback(false);\n }, feedbackTimeout);\n }\n }, [isShowingFeedback]);\n\n const className: string = classnames({\n [props?.className ?? '']: true,\n 'feedback-button': true,\n [`feedback-${feedbackType}`]: isShowingFeedback,\n });\n\n return (\n <Button\n size={props.size}\n iconLeft={props.iconLeft}\n iconRight={props.iconRight}\n block={props.block}\n href={props.href}\n target={props.target}\n className={className}\n icon={isShowingFeedback ? props.feedbackIcon : props.icon}\n variant={variant}\n onClick={handleClick}\n disabled={isShowingFeedback || props.disabled}\n >\n {isShowingFeedback ? props.feedbackLabel : props.children}\n </Button>\n );\n};\n\nFeedbackButton.displayName = 'FeedbackButton';\n\nexport {FeedbackButton};\n","export {FeedbackButton} from './FeedbackButton';\n","import React from 'react';\nimport classnames from 'classnames';\nimport BsForm from 'react-bootstrap/Form';\nimport {FormLabelProps} from 'react-bootstrap/FormLabel';\n\nimport './FormLabel.less';\n\nexport const FormLabel: React.FC<FormLabelProps> = React.memo((props): React.ReactElement => {\n const className: string = classnames(props?.className, 'atoka-form-label');\n return <BsForm.Label className={className}>{props.children}</BsForm.Label>;\n});\n\nFormLabel.displayName = 'FormLabel';\n","import React from 'react';\nimport classnames from 'classnames';\nimport BsForm from 'react-bootstrap/Form';\nimport './FormCheckbox.less';\n\nimport {FormCheckProps as BsFormCheckProps} from 'react-bootstrap/FormCheck';\n\nexport interface FormCheckboxProps extends BsFormCheckProps {\n name?: string;\n value?: string;\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n checked?: boolean;\n}\n\nexport const FormCheckbox: React.FC<FormCheckboxProps> = (props): React.ReactElement => {\n const className: string = classnames('atoka-form-checkbox', props?.className);\n return <BsForm.Check type='checkbox' {...props} custom className={className} label={props.label ?? ''} />;\n};\n\nFormCheckbox.displayName = 'FormCheckbox';\n","import React from 'react';\nimport classnames from 'classnames';\nimport BsForm from 'react-bootstrap/Form';\nimport './FormRadio.less';\n\nimport {FormCheckProps as BsFormCheckProps} from 'react-bootstrap/FormCheck';\n\nexport interface FormRadioProps extends BsFormCheckProps {\n name?: string;\n value?: string;\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n checked?: boolean;\n}\n\nexport const FormRadio: React.FC<FormRadioProps> = (props): React.ReactElement => {\n const className: string = classnames(props?.className, 'atoka-form-radio');\n return <BsForm.Check type='radio' {...props} custom className={className} label={props.label ?? ''} />;\n};\n\nFormRadio.displayName = 'FormRadio';\n","import BsFormText, {FormTextProps as BsFormTextProps} from 'react-bootstrap/FormText';\nimport React from 'react';\nimport classnames from 'classnames';\nimport './FormHelp.less';\n\nexport interface FormHelpProps extends BsFormTextProps {\n show?: boolean;\n}\n\nexport const FormHelp: React.FC<FormHelpProps> = React.memo(({children, ...props}): React.ReactElement => {\n const className: string = classnames('d-block', props?.className);\n return (\n <BsFormText bsPrefix='atoka-form-help' className={className}>\n {children}\n </BsFormText>\n );\n});\n\nFormHelp.displayName = 'FormHelp';\n","import React from 'react';\nimport classnames from 'classnames';\nimport BsForm, {FormProps as BsFormProps} from 'react-bootstrap/Form';\n\nimport './FormLabel.less';\nimport {FormLabel} from './FormLabel';\nimport {FormControl} from './FormControl';\nimport {FormCheckbox} from './FormCheckbox';\nimport {FormRadio} from './FormRadio';\nimport {FormHelp} from './FormHelp';\n\nexport interface FormProps extends BsFormProps {\n classNames?: string;\n}\n\ntype FormType<P> = React.FC<P> & {\n Control: typeof FormControl;\n Checkbox: typeof FormCheckbox;\n Radio: typeof FormRadio;\n File: typeof BsForm.File;\n Switch: typeof BsForm.Switch;\n Label: typeof FormLabel;\n Help: typeof FormHelp;\n Group: typeof BsForm.Group;\n};\n\nconst Form: FormType<FormProps> = (props): React.ReactElement => {\n const className: string = classnames(props?.className, 'atoka-form');\n return (\n <BsForm {...props} className={className}>\n {props.children}\n </BsForm>\n );\n};\n\nForm.displayName = 'Form';\n\nForm.Control = FormControl;\nForm.Label = FormLabel;\nForm.Checkbox = FormCheckbox;\nForm.Radio = FormRadio;\nForm.File = BsForm.File;\nForm.Switch = BsForm.Switch;\nForm.Help = FormHelp;\nForm.Group = BsForm.Group;\n\nexport {Form};\n","import {FeedbackProps as BsFeedbackProps} from 'react-bootstrap/Feedback';\nimport React from 'react';\nimport classnames from 'classnames';\nimport BsFormControl from 'react-bootstrap/FormControl';\n\nexport interface FeedBackProps extends BsFeedbackProps {\n show?: boolean;\n}\n\nexport const FormControlFeedBack: React.FC<FeedBackProps> = React.memo(\n ({show = true, ...props}): React.ReactElement => {\n const className: string = classnames(props?.className, 'atoka-form-control-feedback', {\n 'd-block': show,\n });\n return (\n <BsFormControl.Feedback type={props.type} className={className}>\n {props.children}\n </BsFormControl.Feedback>\n );\n },\n);\n\nFormControlFeedBack.displayName = ' FormControlFeedBack';\n","import React, {PropsWithoutRef} from 'react';\nimport classnames from 'classnames';\nimport BsFormControl, {FormControlProps as BsFormControlProps} from 'react-bootstrap/FormControl';\nimport {FormControlFeedBack} from './FormControlFeedBack';\nimport './FormControl.less';\n\nexport interface FormControlProps extends React.PropsWithChildren<Omit<BsFormControlProps, 'size'>> {\n rows?: string;\n cols?: string;\n placeholder?: string;\n size?: 'sm' | 'md' | 'lg';\n withShadow?: boolean;\n defaultValue?: string;\n onKeyPress?: React.KeyboardEventHandler<HTMLInputElement>;\n onKeyDown?: React.KeyboardEventHandler<HTMLInputElement>;\n}\n// when updating nivo, change me, I'm all strange because of this library! (the commit creating this comment might be of help)\ntype NivoPleasingForwardRefComponent<T, P> = (props: P & React.RefAttributes<T>) => React.ReactElement | null;\n\ntype FormControlWithForwardedRef = NivoPleasingForwardRefComponent<\n HTMLInputElement,\n PropsWithoutRef<FormControlProps>\n> & {displayName?: string};\n\nconst FormControlComponent: FormControlWithForwardedRef = React.forwardRef<HTMLInputElement, FormControlProps>(\n ({size = 'md', ...props}: FormControlProps, ref?: React.Ref<HTMLInputElement>) => {\n const className: string = classnames('atoka-form-control', props?.className, {\n 'atoka-shadow': props.withShadow,\n 'disabled': props.disabled,\n });\n\n return (\n <BsFormControl\n as={props.as}\n rows={props.rows}\n cols={props.cols}\n placeholder={props.placeholder}\n className={className}\n disabled={props.disabled}\n readOnly={props.readOnly}\n value={props.value}\n onChange={props.onChange}\n onKeyPress={props.onKeyPress}\n onKeyDown={props.onKeyDown}\n defaultValue={props.defaultValue}\n size={size === 'md' ? undefined : size}\n type={props.type}\n id={props.id}\n isValid={props.isValid}\n isInvalid={props.isInvalid}\n ref={ref}\n autoComplete='off'\n >\n {props.children}\n </BsFormControl>\n );\n },\n);\n\nFormControlComponent.displayName = 'FormControlComponent';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst FormControl: typeof FormControlComponent & {FeedBack: typeof FormControlFeedBack} = FormControlComponent as any;\n\nFormControl.FeedBack = FormControlFeedBack;\n\nFormControl.displayName = 'FormControl';\n\nexport {FormControl};\n","export {Form} from './Form';\n","import {Part} from '@nivo/funnel';\nimport React from 'react';\nimport {NumberToStringFormatterType} from '../Utils/CommonTypes';\nimport {ellipse, slugify} from '../Utils/Text';\nimport {gray400} from '../Utils/Style';\n\nexport type SVGDataItemType = Pick<Part, 'data' | 'width' | 'y0' | 'x0' | 'y1'>;\n\ninterface SVGDataLabelProps {\n item: SVGDataItemType;\n numberToStringFormatter?: NumberToStringFormatterType;\n fontSize?: number;\n}\n\nconst SVGDataLabelSizes = {\n ESTIMATED_LETTER_PIXELS: 6,\n};\n\nconst SVGDataLabel: React.FC<SVGDataLabelProps> = React.memo(({item, numberToStringFormatter, fontSize = 11}) => {\n let itemValue = item.data?.value,\n itemLabel = item.data.label ?? '',\n maxLabelLength = item.width / SVGDataLabelSizes.ESTIMATED_LETTER_PIXELS,\n label = ellipse(itemLabel, maxLabelLength),\n heigth = item.y1 + item.y0 + 30,\n labelSlug = `${slugify(itemLabel)}-data-label`;\n\n return (\n <text key={labelSlug} className={labelSlug} x={item.x0} y={heigth} fill={gray400}>\n <tspan fontSize={fontSize} x={item.x0} y={heigth - fontSize}>\n {label}\n </tspan>\n <tspan fontSize={fontSize} fill='black' fontWeight='bold' x={item.x0} y={heigth + 3}>\n {numberToStringFormatter?.(itemValue) ?? itemValue}\n </tspan>\n </text>\n );\n});\n\nSVGDataLabel.displayName = 'SVGDataLabel';\n\nexport {SVGDataLabel};\n","import {FunnelCustomLayerProps, FunnelDatum, Part, ResponsiveFunnel} from '@nivo/funnel';\nimport React from 'react';\nimport {boundMethod} from 'autobind-decorator';\nimport classNames from 'classnames';\nimport {deepEqual} from '../Utils/Utils';\nimport {DataPoint, NumberToStringFormatterType, PropsWithClassName} from '../Utils/CommonTypes';\nimport {blue300, blue50, blue90, blue95, generateRangeColor} from '../Utils/Style';\n\nimport {Tooltip} from '../Tooltip';\nimport {getRenderStatisticsTooltip, GetRenderStatisticsTooltipType} from '../StatisticsTooltip/helpers';\nimport './Funnel.less';\nimport {StatisticsSVGLegend} from '../StatisticsLegend/StatisticsSVGLegend';\nimport {SVGDataLabel} from './SVGDataLabel';\n\nexport interface FunnelData extends DataPoint {\n isSinkState: boolean;\n}\n// Importing this type from nivo, we get an error, therefore we create it here.\nenum FunnelLayerType {\n Parts = 'parts',\n}\n\nexport interface FunnelProps extends PropsWithClassName {\n /** The id should be unique */\n id: string;\n data: FunnelData[];\n /** The colors are a palette, the component will generate the right color numbers depending on the palette you give it*/\n colors?: string[];\n /** The `chartRef` is necessary when we want to download a png from the chart */\n chartRef?: React.RefObject<HTMLDivElement>;\n numberToStringFormatter?: NumberToStringFormatterType;\n /** You can give a special formatter for the tooltip additionally to the numberToStringFormatter */\n tooltipValueFormat?: NumberToStringFormatterType;\n}\n\ninterface AtokaFunnelDatum extends FunnelDatum {\n percentage?: number;\n}\n\ninterface FunnelState extends Pick<FunnelProps, 'colors'> {\n data: AtokaFunnelDatum[];\n sinkData: FunnelData[];\n isZeroData?: boolean;\n}\n\n/**\n * ### Overview\n *\n * The `Funnel` allows you to see cumulated data.\n * To see each state independently, prefer a `Histogram` or a `PieChart`.<br />\n * Make sure the component's container has a defined height so it is rendered.\n * */\nexport class Funnel extends React.Component<FunnelProps, FunnelState> {\n static displayName: string = 'Funnel';\n private marginBottom: number = 60;\n private renderTooltip: null | GetRenderStatisticsTooltipType<AtokaFunnelDatum> = null;\n\n static defaultProps: Partial<FunnelProps> = {\n colors: [blue50, blue90, blue95, blue300],\n };\n\n public constructor(props: FunnelProps) {\n super(props);\n this.state = {\n data: [],\n sinkData: [],\n colors: [],\n };\n }\n\n public componentDidMount(): void {\n this.setupComponent();\n }\n\n public componentDidUpdate(prevProps: Readonly<FunnelProps>): void {\n if (deepEqual(prevProps, this.props)) {\n return;\n }\n this.setupComponent();\n }\n\n private setupComponent(): void {\n let {data, sinkData} = this.separateDataFromSinkData(),\n accumulatedValues = data.reduce((acc, item) => acc + item.value, 0),\n colors = generateRangeColor(data.length, this.props.colors);\n\n this.renderTooltip = getRenderStatisticsTooltip<AtokaFunnelDatum>({\n tooltipDataLabelKey: 'value',\n tooltipDataTitleKey: 'id',\n tooltipDataValueKey: 'percentage',\n numberToStringFormatter: this.props.tooltipValueFormat ?? this.props.numberToStringFormatter,\n className: null,\n withColor: true,\n });\n\n this.setState({data, sinkData, colors, isZeroData: accumulatedValues === 0});\n }\n\n private separateDataFromSinkData(): {\n data: AtokaFunnelDatum[];\n sinkData: FunnelData[];\n } {\n let data: AtokaFunnelDatum[] = [],\n sinkData: FunnelData[] = [];\n (this.props?.data ?? []).forEach((item: FunnelData) => {\n if (item.isSinkState) {\n sinkData.push(item);\n } else {\n data.push({id: item.label, value: item.value, label: item.label, percentage: item.percentage});\n }\n });\n\n return {data, sinkData};\n }\n\n @boundMethod\n private renderTooltips(): React.ReactNode {\n return (\n <div className='position-absolute h-100 w-100 d-flex align-items-end'>\n {this.state.data.map(this.renderSingleTooltip)}\n </div>\n );\n }\n\n @boundMethod\n private renderSingleTooltip(item: AtokaFunnelDatum, i: number): React.ReactNode {\n let content = this?.renderTooltip?.({data: item, color: this.state?.colors?.[i]});\n if (content == null) {\n return null;\n }\n\n return (\n <Tooltip key={item.label} placement='top' content={content}>\n <div className='w-100 tooltip-zone' />\n </Tooltip>\n );\n }\n\n @boundMethod\n private renderDataLabels(props: FunnelCustomLayerProps): React.ReactNode {\n return props.parts.map(this.renderSVGDataLabel);\n }\n\n @boundMethod\n private renderSinkDataLabels(props: FunnelCustomLayerProps): React.ReactNode {\n return (\n <StatisticsSVGLegend\n data={this.state.sinkData}\n x={0}\n y={props.height + this.marginBottom - 8}\n valueFormat={this.props.numberToStringFormatter}\n />\n );\n }\n\n @boundMethod\n private renderSVGDataLabel(part: Part): React.ReactNode {\n return (\n <SVGDataLabel\n key={`${part.data.label}-data`}\n item={part}\n numberToStringFormatter={this.props.numberToStringFormatter}\n />\n );\n }\n\n @boundMethod\n private renderEmptyParts(props: FunnelCustomLayerProps): React.ReactNode {\n return props.parts.map(this.renderEmptyPart);\n }\n\n @boundMethod\n private renderEmptyPart(part: Part): React.ReactNode {\n return (\n <line\n key={`${part.data.label}-empty`}\n x1={part.x0}\n y1={part.y}\n x2={part.x1}\n y2={part.y}\n stroke={part.color}\n />\n );\n }\n\n public render(): React.ReactNode {\n const layers: ResponsiveFunnel['props']['layers'] = this.state.isZeroData\n ? [this.renderEmptyParts]\n : [FunnelLayerType.Parts],\n className = classNames('funnel-container w-100 h-100', this.props.className);\n\n layers.push(this.renderDataLabels, this.renderSinkDataLabels);\n\n return (\n <div id={this.props.id} className={className} ref={this.props.chartRef}>\n <ResponsiveFunnel\n layers={layers}\n shapeBlending={0.25}\n isInteractive={false}\n data={this.state.data}\n colors={this.state.colors}\n direction='horizontal'\n margin={{top: 0, right: 0, bottom: this.marginBottom, left: 0}}\n borderWidth={1}\n borderOpacity={1}\n labelColor={{from: 'color', modifiers: [['darker', 3]]}}\n enableBeforeSeparators={false}\n enableAfterSeparators={false}\n currentBorderWidth={0}\n />\n {this.renderTooltips()}\n </div>\n );\n }\n}\n","export {Funnel, FunnelData} from './Funnel';\n","import React from 'react';\n\nimport {EllipsableContent} from '../EllipsableContent';\nimport {Title} from '../Title/Title';\n\nimport './GridCardTitle.less';\n\nexport interface GridCardTitleProps {\n tooltip?: React.ReactNode;\n}\n\nexport const GridCardTitle: React.FC<React.PropsWithChildren<GridCardTitleProps>> = React.memo(\n (props): React.ReactElement => (\n <EllipsableContent tooltip={props.tooltip ?? null}>\n <Title size='sm' className='mb-0'>\n {props.children}\n </Title>\n </EllipsableContent>\n ),\n);\n\nGridCardTitle.displayName = 'GridCardTitle';\n","import React from 'react';\n\nexport const GridCardFooter: React.FC = React.memo(\n (props): React.ReactElement => <div className='mt-3'>{props.children}</div>,\n);\n\nGridCardFooter.displayName = 'GridCardFooter';\n","import React from 'react';\n\nimport {AtokaSimpleDropdownToggle, Dropdown} from '../Dropdown';\n\nexport const GridCardMenu: React.FC = React.memo((props): React.ReactElement => {\n return (\n <div className='ml-1'>\n <Dropdown drop='left'>\n <Dropdown.Toggle as={AtokaSimpleDropdownToggle} />\n <Dropdown.Menu>{props.children}</Dropdown.Menu>\n </Dropdown>\n </div>\n );\n});\n\nGridCardMenu.displayName = 'GridCardMenu';\n","import React from 'react';\n\nexport const GridCardTags: React.FC = React.memo((props): React.ReactElement => {\n return <div className='d-flex align-items-center h-100'>{props.children}</div>;\n});\n\nGridCardTags.displayName = 'GridCardTags';\n","import React from 'react';\nimport {Form} from '../Form/Form';\nimport {findChildByComponent} from '../Utils/Utils';\n\nimport {GridCardTitle} from './GridCardTitle';\nimport {GridCardMenu} from './GridCardMenu';\nimport './GridCardTitle.less';\nimport {GridCardTags} from './GridCardTags';\n\nexport interface GridCardHeaderProps {\n isSelectable: boolean;\n isSelected: boolean;\n onSelect: () => void;\n id: string;\n}\n\nexport class GridCardHeader extends React.PureComponent<GridCardHeaderProps> {\n static displayName: string = 'GridCardHeader';\n\n private stopPropagation(e: React.MouseEvent<HTMLSpanElement>): void {\n e.stopPropagation();\n }\n\n private renderCheckbox(): React.ReactNode {\n if (!this.props.isSelectable) {\n return null;\n }\n\n return (\n <span onClick={this.stopPropagation}>\n <Form.Checkbox\n className='checkbox-container mb-0'\n onChange={this.props.onSelect}\n checked={this.props.isSelected}\n id={String(this.props.id)}\n />\n </span>\n );\n }\n\n public render(): React.ReactNode {\n return (\n <div className='grid-card-title d-flex'>\n {this.renderCheckbox()}\n {findChildByComponent(this.props.children, GridCardTitle)}\n <span onClick={this.stopPropagation}>{findChildByComponent(this.props.children, GridCardTags)}</span>\n <span onClick={this.stopPropagation}>{findChildByComponent(this.props.children, GridCardMenu)}</span>\n </div>\n );\n }\n}\n","import React from 'react';\n\nexport const GridCardContent: React.FC = React.memo((props): React.ReactElement => {\n return <div className='mt-3'>{props.children}</div>;\n});\n\nGridCardContent.displayName = 'GridCardContent';\n","import autobind from 'autobind-decorator';\nimport React from 'react';\nimport classnames from 'classnames';\nimport Card from 'react-bootstrap/Card';\n\nimport {findChildByComponent} from '../Utils/Utils';\nimport {GridCardTitle} from './GridCardTitle';\nimport {GridCardFooter} from './GridCardFooter';\nimport {GridCardHeader, GridCardHeaderProps} from './GridCardHeader';\nimport {GridCardMenu} from './GridCardMenu';\nimport {GridCardContent} from './GridCardContent';\n\nimport './GridCard.less';\nimport {GridCardTags} from './GridCardTags';\n\nexport interface GridCardProps extends GridCardHeaderProps {\n className?: string;\n}\n\nexport class GridCard extends React.PureComponent<GridCardProps> {\n static displayName: string = 'GridCard';\n public static Header: typeof GridCardHeader = GridCardHeader;\n public static Title: typeof GridCardTitle = GridCardTitle;\n public static Tags: React.FC = GridCardTags;\n public static Menu: React.FC = GridCardMenu;\n public static Content: React.FC = GridCardContent;\n public static Footer: React.FC = GridCardFooter;\n\n public static defaultProps: GridCardProps = {\n isSelected: false,\n isSelectable: false,\n onSelect: () => null,\n id: `${Math.random()}`,\n };\n\n private stopPropagation(e: React.MouseEvent<HTMLSpanElement>): void {\n e.stopPropagation();\n }\n\n @autobind\n private handleClick(): void {\n if (!this.props.isSelectable) {\n return;\n }\n\n this.props.onSelect();\n }\n\n public render(): React.ReactNode {\n const classNames: string = classnames('grid-card mb-2', this.props.className, {\n 'is-selectable': this.props.isSelectable,\n });\n\n return (\n <Card className={classNames} onClick={this.handleClick}>\n <GridCardHeader {...this.props}>\n {findChildByComponent(this.props.children, GridCardTitle)}\n {findChildByComponent(this.props.children, GridCardTags)}\n {findChildByComponent(this.props.children, GridCardMenu)}\n </GridCardHeader>\n\n {findChildByComponent(this.props.children, GridCardContent)}\n <span onClick={this.stopPropagation}>{findChildByComponent(this.props.children, GridCardFooter)}</span>\n </Card>\n );\n }\n}\n","export {GridCard} from './GridCard';\n","import {boundMethod} from 'autobind-decorator';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport './HighlightableText.less';\nimport {isStringEmpty, isMatching, splitTextInParts} from '../Utils/Text';\nimport {TitleProps} from '../Title/Title';\nimport {PropsWithClassName} from '../Utils';\n\nexport interface HighlightableTextProps extends PropsWithClassName {\n highlighted: string;\n children?: React.ReactNode;\n isDisabled?: boolean;\n isBold?: boolean;\n size: TitleProps['size'] | 'xxs';\n highlightColor: 'black' | 'orange' | 'blue300';\n}\n\nexport class HighlightableText extends React.PureComponent<HighlightableTextProps> {\n static displayName: string = 'HighlightableText';\n\n static defaultProps: Partial<HighlightableTextProps> = {\n size: 'md',\n highlightColor: 'orange',\n };\n\n private needToHighlight(): boolean {\n return !isStringEmpty(this.props.highlighted);\n }\n\n private getParts(): string[] {\n if (typeof this.props.children != 'string') {\n throw Error('In this component, children have to be a string');\n }\n return splitTextInParts(this.props.highlighted, this.props.children);\n }\n\n @boundMethod\n private renderPart(text: string, index: number): React.ReactNode {\n let isSelected = isMatching(text, this.props.highlighted),\n classname = classnames('atoka-highlightable-text', this.props.size, {\n 'text-muted': this.props.isDisabled === true,\n 'bold': this.props.isBold,\n 'selected-text': isSelected,\n [this.props.highlightColor]: isSelected,\n }),\n output: React.ReactNode = text;\n\n if (isSelected) {\n output = <strong>{text}</strong>;\n }\n\n return (\n <span key={`${text}-${index}`} className={classname}>\n {output}\n </span>\n );\n }\n\n private highlightedText(): React.ReactNode | null {\n let parts = this.getParts();\n if (parts == null) {\n return null;\n }\n\n return <span className={this.props.className}>{parts.map(this.renderPart)}</span>;\n }\n\n public render(): React.ReactNode {\n let children = this.props.children,\n classname = classnames(\n 'atoka-highlightable-text',\n this.props.highlightColor,\n this.props.size,\n this.props.className,\n {\n 'text-muted': this.props.isDisabled === true,\n 'bold': this.props.isBold,\n },\n );\n // We just need the style, which will apply on the <strong> or <b> elements\n if (typeof children !== 'string') {\n return <span className={classname}>{children}</span>;\n }\n if (!this.needToHighlight()) {\n return <span className={classname}>{children}</span>;\n }\n\n return this.highlightedText();\n }\n}\n","export {HighlightableText} from './HighlightableText';\n","// !!! Many of these types are copied from @nivo/bar and @nivo/core. !!!\n// !!! When updating nivo, make sure these are updated accordingly !!!\n\nimport {BarDatum} from 'components/Utils/CommonTypes';\nimport React from 'react';\nimport {BarTooltipProps, ComputedDatum} from '@nivo/bar';\n\nexport type Layout = 'horizontal' | 'vertical';\n\ntype Margin = {\n bottom: number;\n left: number;\n right: number;\n top: number;\n};\n\nexport type Box = Partial<Margin>;\n\nexport interface CustomColorsDatum {\n [key: string]: string;\n}\nexport type BarTooltipDatum<T> = ComputedDatum<T> & {\n color: string;\n};\nexport type TooltipProp = React.FC<BarTooltipProps<BarDatum>>;\n","import {boundMethod} from 'autobind-decorator';\nimport React, {createElement, useCallback, useMemo} from 'react';\nimport {\n LabelFormatter,\n ResponsiveBar,\n ResponsiveBarCanvas,\n ValueFormatter,\n BarLayer,\n BarCommonProps,\n ComputedDatum,\n BarCanvasLayer,\n BarTooltipProps,\n BarCustomLayerProps,\n BarLayerId,\n ComputedBarDatum,\n} from '@nivo/bar';\nimport {color} from 'd3-color';\nimport classnames from 'classnames';\nimport {Dimensions, Margin} from '@nivo/core';\nimport {AxisProps} from '@nivo/axes';\nimport {useTooltip} from '@nivo/tooltip';\nimport {deepEqual, findChildByComponent} from '../Utils/Utils';\nimport {Spinner} from '../Spinner';\nimport {EmptyState} from '../EmptyState';\n\nimport './Histogram.less';\nimport {DataPoint, BarDatum, Value} from '../Utils/CommonTypes';\nimport {blue100, blue400, blue30, gray200, gray400, black} from '../Utils/Style';\nimport {getRenderStatisticsTooltip} from '../StatisticsTooltip';\nimport {createDataWithOtherSlice} from '../Utils/Statistics';\nimport {ellipseAndFormat, matchAndFormatRangeLabel} from '../Utils/Text';\nimport {Box, TooltipProp, Layout, CustomColorsDatum, BarTooltipDatum} from './Types';\n\n// this is the multiplier we use to calculate the width of a text label (around 7.7 pixel per char)\nconst MAGIC_MULTIPLIER_LEFT = 7.7;\nconst MAGIC_MULTIPLIER_BOTTOM = 4.3;\nconst MIN_BAR_HEIGHT_PERCENT = 0.02;\n\nexport interface CanvasLegendConfig {\n x: number;\n y: number;\n data: DataPoint[];\n}\n// the visual test was failing without this\ntype CanvasRenderingContext2D = typeof CanvasRenderingContext2D.prototype;\nexport type GetHistogramCanvasLegendConfig = (props: BarCustomLayerProps<BarDatum>) => CanvasLegendConfig;\nexport type RenderHistogramSVGLegend = (props: BarCustomLayerProps<BarDatum>) => JSX.Element;\ntype PickedAxisProps = Pick<AxisProps, 'format' | 'tickSize' | 'tickValues'>;\n\ninterface HistogramProps extends Pick<BarCommonProps<BarDatum>, 'gridYValues' | 'gridXValues'> {\n /**\n * You can use the `getRenderStatisticsTooltip` HOF here or implement your own render function.\n * If you set this prop to null, the histogram will not render any tooltip. If you let this prop undefined,\n * a default tooltip will be rendered.\n * */\n renderTooltip?: TooltipProp | null;\n data: DataPoint[];\n /**\n * Whether the histogram displays the background grid lines\n * */\n enableGridY: boolean;\n enableGridX: boolean;\n /**\n * Whether the histogram displays the left side numbers\n * */\n enableAxisLeft: boolean;\n /**\n * Whether the histogram displays the bottom numbers\n * */\n enableAxisBottom: boolean;\n isLoading: boolean;\n isEmpty: boolean;\n /**\n * Whether the histogram displays a tooltip on the bar\n * */\n isHoverable: boolean;\n isClickable: boolean;\n isCanvas?: boolean;\n size?: Partial<Dimensions>;\n layout: Layout;\n margin: Box;\n selectedColumns: Value[];\n padding: number;\n onClick?: (newSelectedColumns: BarDatum[]) => void;\n maxLabelLength: number;\n chartRef: React.RefObject<HTMLDivElement>;\n /** Use this prop to render a legend when using a canvas */\n getCanvasLegendConfig?: GetHistogramCanvasLegendConfig;\n /** Use this prop to render a legend when using a svg */\n renderSVGLegend?: RenderHistogramSVGLegend;\n /**\n * This is necessary if you have the png download in the statistics card\n * */\n id: string;\n /**\n * A list of colors expressed in hexadecimal or rgb\n **/\n colors: string[];\n /**\n * Define this if you need to remove some cols from the histogram.\n * All the removed cols will be grouped into an 'other' col */\n maxColsNumber?: number;\n /** This string will be displayed in the tooltip of the 'other' col */\n otherId?: string;\n /**\n * This string is necessary if the data already contains an 'other' node. In this case,\n * you want to be able to target correctly this node to be added in your 'other' node,\n * but also be able to have a label you chose for instance to be translated in other languages\n * */\n otherLabel?: string;\n /** If a maxColsNumber is defined, total is mandatory and it is the sum of all the values in data */\n total?: number;\n /** This prop will calculate dynamically the necessary space for your margin for your value axis */\n computeMargin?: boolean;\n\n // {vrut}: this is present in nivo > 0.72.0 so as per now, we need to add it here\n // but we should change it after the upgrade.\n valueFormat?: ValueFormatter;\n labelFormat?: LabelFormatter;\n tooltipValueFormat?: ValueFormatter;\n}\n\ninterface HistogramState {\n data: BarDatum[];\n selectedColumns: Set<Value>;\n customColors: CustomColorsDatum | null;\n renderTooltip?: TooltipProp | null;\n}\n\nclass Histogram extends React.Component<HistogramProps, HistogramState> {\n // we use this for testing purposes\n public ellipseAndFormat: typeof ellipseAndFormat = ellipseAndFormat;\n public matchAndFormatRangeLabel: typeof matchAndFormatRangeLabel = matchAndFormatRangeLabel;\n\n private baseLayers: Exclude<BarLayerId, 'markers'>[] = ['grid', 'axes', 'bars'];\n\n static displayName: string = 'Histogram';\n static legendHeight: number = 20;\n\n public state: HistogramState = {\n data: [],\n selectedColumns: new Set(),\n customColors: null,\n };\n\n static defaultProps: Partial<HistogramProps> = {\n computeMargin: true,\n enableGridY: true,\n enableGridX: true,\n enableAxisLeft: true,\n enableAxisBottom: true,\n size: {\n height: 400,\n },\n isEmpty: false,\n isLoading: false,\n isHoverable: false,\n isClickable: true,\n layout: 'vertical',\n margin: {top: 30, right: 0, bottom: 30, left: 0},\n padding: 0.05,\n maxLabelLength: 12,\n id: '',\n colors: [],\n otherId: 'other',\n gridXValues: 6,\n gridYValues: 6,\n };\n\n static fromDataPointToBarDatum(dataPoint: DataPoint): BarDatum {\n return Object.keys(dataPoint).reduce((acc, el: string) => {\n if (dataPoint[el] == null) {\n return acc;\n }\n return {...acc, [el]: dataPoint[el]};\n }, {});\n }\n\n private get areAllDataZero(): boolean {\n return this.props.data.reduce<number>((acc, el) => acc + el.value, 0) === 0;\n }\n\n private setupComponent(): void {\n if (\n this.props.maxColsNumber == null &&\n this.props.colors.length > 0 &&\n this.props.colors.length !== this.props.data.length\n ) {\n throw Error('The colors.length must be of the same length as the data you give to the component');\n }\n\n if (\n this.props.maxColsNumber != null &&\n this.props.colors.length > 0 &&\n this.props.maxColsNumber !== this.props.colors.length - 1\n ) {\n throw Error('With a maxColsNumber prop, colors.length must be of length + 1 of the maxColsNumbert');\n }\n\n let dataState: BarDatum[] = this.prepareData(this.props.data);\n\n let renderTooltip: TooltipProp | null = this.wrapTooltip();\n\n let children =\n this.props.maxColsNumber == null\n ? dataState\n : createDataWithOtherSlice<BarDatum>(\n dataState ?? [],\n this.props?.otherId,\n this.props?.otherLabel,\n this.props?.maxColsNumber ?? Infinity,\n this.props?.total,\n );\n\n let customColors = this.props.colors.reduce((acc, curr, index) => ({...acc, [children[index].id]: curr}), {});\n\n if (this.props.selectedColumns == null) {\n this.setState({data: children, customColors, renderTooltip});\n return;\n }\n\n this.setState({\n customColors,\n renderTooltip,\n data: children,\n selectedColumns: new Set(this.props.selectedColumns),\n });\n }\n\n // with this function we hide the fact we moved into the initialValue the\n // \"original value\" in order to handle the \"1px bar\" accordingly.\n private wrapTooltip(): TooltipProp | null {\n const tooltipFunction =\n this.props.renderTooltip === undefined\n ? getRenderStatisticsTooltip({\n tooltipDataLabelKey: 'value',\n tooltipDataTitleKey: 'id',\n otherId: this.props.otherId,\n otherLabel: this.props.otherLabel,\n // {vrut} wrapping into a function since the valueFormat is slightly different.\n numberToStringFormatter: (value: number) => `${this.props.tooltipValueFormat?.(value) ?? value}`,\n withColor: false,\n })\n : this.props.renderTooltip;\n\n if (tooltipFunction == null) {\n return null;\n }\n\n // return a function which will be called by the tooltip component with the original data.\n return (tooltipData: BarTooltipProps<BarDatum>) => {\n return (\n tooltipFunction?.({\n ...tooltipData,\n data: {\n ...tooltipData.data,\n value: tooltipData.data.initialValue ?? 0,\n },\n }) ?? null\n );\n };\n }\n\n private prepareData(data: DataPoint[]): BarDatum[] {\n data = data ?? [];\n\n // extract the max value from data and compute the 1% of it in order to get the replacing for zero values\n let maxValue = -Infinity,\n minValue = 0;\n\n data.forEach((el) => {\n maxValue = Math.max(maxValue, el.value);\n minValue = Math.min(minValue, el.value);\n });\n\n if (maxValue === 0 && minValue === 0) {\n // we need a fake value in order to have Nivo render the chart,\n // we then resize the bars in the renderEmptyBars function\n maxValue = 10;\n }\n\n const zeroReplacing = this.computeZeroReplacingValue(Math.abs(maxValue - minValue));\n\n return data.map((dataPoint: DataPoint) => {\n const id = this.idFormatWrapper(dataPoint.label);\n let value = dataPoint.value;\n\n if (value >= 0) {\n value = Math.max(value, zeroReplacing);\n } else {\n value = Math.min(value, -zeroReplacing);\n }\n\n return {\n ...Histogram.fromDataPointToBarDatum(dataPoint),\n id,\n value,\n label: id,\n initialLabel: dataPoint.label,\n initialValue: dataPoint.value,\n };\n });\n }\n\n private idFormatWrapper(label: string): string {\n if (this.props.labelFormat == null) {\n return label;\n }\n\n return this.matchAndFormatRangeLabel(this.props.labelFormat)(label);\n }\n\n public componentDidUpdate(prevProps: Readonly<HistogramProps>): void {\n if (deepEqual(prevProps, this.props)) {\n return;\n }\n this.setupComponent();\n }\n\n public componentDidMount(): void {\n this.setupComponent();\n }\n\n @boundMethod\n private handleClick(data: BarTooltipDatum<BarDatum>): void {\n if (!this.isClickable()) {\n return;\n }\n\n let {selectedColumns} = this.state,\n newSelectedColumns = new Set(selectedColumns);\n\n if (selectedColumns.has(data.indexValue)) {\n newSelectedColumns.delete(data.indexValue);\n } else {\n newSelectedColumns.add(data.indexValue);\n }\n\n if (this.props.onClick != null) {\n let selectedData: BarDatum[] = [];\n (this.state.data ?? []).forEach((d: BarDatum) => {\n if (newSelectedColumns.has(d.label)) {\n // we need to handle the case when a formatter has been used and return the original label\n let labelFromProps = d.initialLabel ?? d.label;\n selectedData.push({value: d.value, label: labelFromProps});\n }\n });\n this.props.onClick(selectedData);\n }\n this.setState({selectedColumns: newSelectedColumns});\n }\n\n @boundMethod\n private handleMouseEnter(data: ComputedDatum<BarDatum>, event: React.MouseEvent<SVGElement>): void {\n if (!this.props.isHoverable) {\n return;\n }\n\n let customColor = this.state.customColors?.[data.indexValue],\n fill = blue400;\n\n if (customColor != null) {\n fill = color(customColor)?.darker(1).formatHex() ?? customColor;\n }\n\n (event.target as SVGElement).setAttribute('fill', fill);\n }\n\n @boundMethod\n private handleMouseLeave(data: ComputedDatum<BarDatum>, event: React.MouseEvent<SVGElement>): void {\n if (!this.props.isHoverable) {\n return;\n }\n\n (event.target as SVGElement).setAttribute('fill', this.getColors(data));\n }\n\n @boundMethod\n private getColors(data: ComputedDatum<BarDatum>): string {\n let defaultColor = blue100,\n disabledColor = gray200,\n isClickable = this.isClickable(),\n unselectedColor = blue30,\n customColor = this.state.customColors?.[data.indexValue];\n\n if (this.state.selectedColumns.size === 0) {\n return customColor ?? defaultColor;\n }\n\n if (\n this.state.selectedColumns.has(data.indexValue) ||\n this.state.selectedColumns.has(data.data?.initialLabel)\n ) {\n return customColor ?? defaultColor;\n }\n\n if (!isClickable) {\n return disabledColor;\n }\n\n return unselectedColor;\n }\n\n private isClickable(): boolean {\n return this.props.selectedColumns == null && this.props.isClickable;\n }\n\n private renderIsLoading(): React.ReactNode {\n if (!this.props.isLoading) {\n return null;\n }\n\n return findChildByComponent(this.props.children, Spinner);\n }\n\n private renderIsEmpty(): React.ReactNode {\n if (!this.props.isEmpty) {\n return null;\n }\n\n return findChildByComponent(this.props.children, EmptyState);\n }\n\n private getEmptyAxis(): PickedAxisProps {\n if (this.props.layout === 'vertical') {\n return {tickValues: [], tickSize: 0};\n }\n\n return {tickValues: []};\n }\n\n private getDefaultBottomAxis(): PickedAxisProps {\n const commonProps = {\n tickRotation: -45,\n tickSize: 0,\n };\n\n if (this.props.layout === 'vertical') {\n return {\n ...commonProps,\n format: this.ellipseAndFormat(\n this.matchAndFormatRangeLabel(this.props.labelFormat),\n this.props.maxLabelLength,\n ),\n };\n }\n return {\n ...commonProps,\n format: this.ellipseAndFormat(this.props.valueFormat, this.props.maxLabelLength),\n tickValues: this.props.gridXValues,\n };\n }\n\n private getDefaultLeftAxis(): PickedAxisProps {\n if (this.props.layout === 'vertical') {\n return {\n format: this.ellipseAndFormat(this.props.valueFormat, this.props.maxLabelLength),\n tickSize: 0,\n tickValues: this.props.gridYValues,\n };\n }\n\n return {\n format: this.ellipseAndFormat(\n this.matchAndFormatRangeLabel(this.props.labelFormat),\n this.props.maxLabelLength,\n ),\n };\n }\n\n // {vrut}: this is far from perfection, but it's a start\n protected getMargin(): Partial<Margin> {\n // {vrut}: margin must be cloned!\n const margin = {...this.props.margin},\n {top, right, bottom, left} = {...Histogram.defaultProps.margin};\n\n // we want the user to be able to add a margin even if the 'computeMargin' is true.\n margin.bottom = margin.bottom ?? 0;\n margin.left = margin.left ?? 0;\n\n let key = 'value',\n multiplier = 1,\n enableAxis = this.props.enableAxisLeft,\n axisFormatter = this.getDefaultLeftAxis().format;\n\n // {vrut} horizontal have a different margin and key\n if (this.props.layout === 'horizontal') {\n key = 'label';\n multiplier = 1.2;\n enableAxis = this.props.enableAxisBottom;\n axisFormatter = this.getDefaultBottomAxis().format;\n }\n\n if (this.props.computeMargin && enableAxis) {\n let maxLen = 0,\n maxValue = 0;\n\n this.props.data?.forEach((data) => {\n const value: string = typeof data[key] === 'string' ? data[key] : String(data[key]),\n currentLength: number =\n typeof axisFormatter === 'string'\n ? value.length\n : axisFormatter?.(value)?.length ?? value.length;\n\n maxLen = Math.max(currentLength, maxLen);\n maxValue = Math.max(Math.abs(data.value), maxValue);\n });\n\n // we should fix this. We use the max value to compute the margin but we should use the length\n // of the computed labels: For example, values = [1, 2, 3, 4] could generate a legend like this:\n // [1, 1.5, 2, 2.5, 3, 3.5, 4] so the lenght should be 3, not 1!!!\n const extraMargin = maxValue < 1000 ? 10 : 0;\n\n if (this.props.layout === 'horizontal') {\n margin.bottom +=\n extraMargin + Math.min(maxLen, this.props.maxLabelLength) * MAGIC_MULTIPLIER_BOTTOM * multiplier;\n } else {\n margin.left +=\n extraMargin + Math.min(maxLen, this.props.maxLabelLength) * MAGIC_MULTIPLIER_LEFT * multiplier;\n }\n }\n\n return {\n top: margin.top ?? top,\n right: margin.right ?? right,\n bottom: margin.bottom ?? bottom ?? 0,\n left: margin.left ?? left,\n };\n }\n\n @boundMethod\n private buildCanvasLegend(context: CanvasRenderingContext2D, props: BarCustomLayerProps<BarDatum>): void {\n if (this.props.getCanvasLegendConfig == null) {\n return;\n }\n const {x = 0, y = 0, data = []}: CanvasLegendConfig = this.props.getCanvasLegendConfig(props),\n textMetrics: number[] = [0],\n wordSpacing = 10;\n\n data.forEach((item: DataPoint, i: number) => {\n const margin = i * wordSpacing;\n\n context.fillStyle = gray400;\n\n const labelX = x + margin + textMetrics[i];\n\n context.fillText(item.label, labelX, y);\n\n const labelTextMetrics = context.measureText(item.label),\n valueX = labelX + labelTextMetrics.width + wordSpacing;\n\n context.fillStyle = black;\n context.font = 'bold';\n\n context.fillText(`${item.value}`, valueX, y);\n\n const valueTextMetrics = context.measureText(`${item.value}`);\n textMetrics.push(valueX + valueTextMetrics.width);\n });\n }\n\n private computeZeroReplacingValue(value: number, percentage: number = MIN_BAR_HEIGHT_PERCENT) {\n return value * percentage;\n }\n\n @boundMethod\n private renderEmptyParts(params: BarCustomLayerProps<BarDatum>): JSX.Element | null {\n // {vrut} this is a bit of a hack, but Nivo sends the computed bars in params.\n // At this point, it has computed the positions according to the margins and size of the chart,\n // but at this point the bar.height is the 100% of the height, since all the data are empty.\n // So we just need to resize the height to the 1% as we do for the rest of close-to-zero data.\n const renderedBars: JSX.Element[] = params?.bars?.map(this.renderEmptyPart(params)) ?? [];\n\n if (renderedBars.length === 0) {\n return null;\n }\n\n return <g>{renderedBars}</g>;\n }\n\n @boundMethod\n private renderEmptyPart(\n params: BarCustomLayerProps<BarDatum>,\n ): (bar: ComputedBarDatum<BarDatum>, key: number) => JSX.Element {\n return (bar: ComputedBarDatum<BarDatum>, key: number): JSX.Element => {\n // {vrut} you may want to check the BarItem in order to understand this mess.\n // https://github.com/plouc/nivo/blob/master/packages/bar/src/BarItem.tsx\n // One may just want to use the BarItem but hey, you know what? It's not that easy to understand.\n const {showTooltipFromEvent, hideTooltip} = useTooltip(),\n tooltipProps: BarTooltipProps<BarDatum> = {\n ...bar,\n ...bar.data,\n value: bar.data.value ?? 0,\n },\n renderTooltip = useMemo(\n () => () => createElement(params.tooltip, tooltipProps),\n [params.tooltip, bar, bar.data],\n ),\n handleTooltip = useCallback(\n (event: React.MouseEvent<SVGRectElement>) => showTooltipFromEvent(renderTooltip(), event),\n [showTooltipFromEvent, renderTooltip],\n ),\n handleMouseEnter = useCallback(\n (event: React.MouseEvent<SVGRectElement>) => {\n params.onMouseEnter?.(bar.data, event);\n showTooltipFromEvent(renderTooltip(), event);\n },\n [bar.data, params.onMouseEnter, showTooltipFromEvent, renderTooltip],\n ),\n handleMouseLeave = useCallback(\n (event: React.MouseEvent<SVGRectElement>) => {\n params.onMouseLeave?.(bar.data, event);\n hideTooltip();\n },\n [bar.data, hideTooltip, params.onMouseLeave],\n );\n\n return (\n <g key={key} transform={`translate(${bar.x}, ${bar.y + bar.height})`}>\n <rect\n width={bar.width}\n height={Math.max(this.computeZeroReplacingValue(bar.height), 2)}\n rx='0'\n ry='0'\n fill={blue100}\n strokeWidth='0'\n stroke={blue100}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onMouseMove={handleTooltip}\n />\n </g>\n );\n };\n }\n\n private getLayers(): BarLayer<BarDatum>[] {\n const layers: BarLayer<BarDatum>[] = this.areAllDataZero ? [this.renderEmptyParts] : [...this.baseLayers];\n\n if (this.props.renderSVGLegend != null) {\n layers.push(this.props.renderSVGLegend);\n }\n\n return layers;\n }\n\n private getCanvasLayers(): BarCanvasLayer<BarDatum>[] {\n let layers: BarCanvasLayer<BarDatum>[] = [...this.baseLayers];\n\n if (this.props.getCanvasLegendConfig != null) {\n layers.push(this.buildCanvasLegend);\n }\n\n return layers;\n }\n\n private renderContent(): React.ReactNode {\n if (this.props.isEmpty || this.props.isLoading) {\n return null;\n }\n\n const {enableAxisBottom, enableAxisLeft, layout, padding, enableGridY, enableGridX, gridYValues, gridXValues} =\n this.props,\n axisBottom = enableAxisBottom ? this.getDefaultBottomAxis() : this.getEmptyAxis(),\n axisLeft = enableAxisLeft ? this.getDefaultLeftAxis() : this.getEmptyAxis(),\n hasTooltip = this.state.renderTooltip !== null,\n barProps: Partial<BarCommonProps<BarDatum>> = {\n padding,\n layout,\n gridXValues,\n gridYValues,\n margin: this.getMargin(),\n theme: {\n textColor: gray400,\n },\n isInteractive: this.isClickable() || hasTooltip,\n indexBy: 'id',\n tooltip: this.state.renderTooltip ?? undefined, // nivo only takes the undefined value.\n colors: this.getColors,\n enableGridY: this.props.layout === 'vertical' ? enableGridY : false,\n enableGridX: this.props.layout === 'horizontal' ? enableGridX : false,\n enableLabel: false,\n },\n data = this.state.data;\n\n if (this.props.isCanvas) {\n const size = this.props.size ?? Histogram.defaultProps.size;\n barProps.theme = {\n ...barProps.theme,\n background: '#fff',\n };\n\n return (\n <ResponsiveBarCanvas\n {...barProps}\n {...size}\n data={data}\n layers={this.getCanvasLayers()}\n axisLeft={axisLeft}\n axisBottom={axisBottom}\n />\n );\n }\n\n return (\n <ResponsiveBar\n {...barProps}\n layers={this.getLayers()}\n axisLeft={axisLeft}\n axisBottom={axisBottom}\n data={data}\n onClick={this.handleClick}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n />\n );\n }\n\n public render(): React.ReactNode {\n const className: string = classnames(\n 'histogram-container',\n 'd-flex',\n 'justify-content-center',\n 'align-items-center',\n {\n clickable: this.isClickable(),\n },\n );\n\n return (\n <div id={this.props.id} className={className} ref={this.props.chartRef}>\n {this.renderIsLoading()}\n {this.renderIsEmpty()}\n {this.renderContent()}\n </div>\n );\n }\n}\n\nexport {Histogram, HistogramProps, HistogramState};\n","export {Histogram, CanvasLegendConfig, RenderHistogramSVGLegend, GetHistogramCanvasLegendConfig} from './Histogram';\n","import autobind from 'autobind-decorator';\nimport React from 'react';\nimport Col from 'react-bootstrap/Col';\nimport Row from 'react-bootstrap/Row';\nimport Collapse from 'react-bootstrap/Collapse';\n\nimport './InlineStringEditor.less';\nimport classNames from 'classnames';\nimport {faTimes} from '@fortawesome/pro-light-svg-icons/faTimes';\nimport {faCheck} from '@fortawesome/pro-light-svg-icons/faCheck';\n\nimport {Button, ButtonProps} from '../Button';\nimport {FormControl} from '../Form/FormControl';\nimport {SelectDropdown} from '../SelectDropdown';\nimport {Form} from '../Form';\nimport {OptionData, PropsWithClassName} from '../Utils';\n\nexport type InlineStringValueType = string | OptionData | null;\n\nexport interface InlineStringEditorProps extends PropsWithClassName {\n value: InlineStringValueType;\n options?: OptionData[];\n onCancel: () => void;\n onSave: (nextString: InlineStringValueType) => void;\n onChange?: (nextString: InlineStringValueType) => void;\n maxLength?: number;\n minLength?: number;\n useIcons?: boolean;\n help?: React.ReactNode;\n getError?: (value: InlineStringValueType) => React.ReactNode | null;\n getIsSaveDisabled?: (value: InlineStringValueType) => boolean;\n inputType?: 'text' | 'date';\n size?: 'sm' | 'md' | 'lg';\n saveLabel?: string;\n cancelLabel?: string;\n}\n\nexport interface InlineStringEditorState {\n currentValue: InlineStringValueType;\n}\n/**\n * ### Overview\n *\n * This component is used in Atoka to create or rename an item directly.\n */\nexport class InlineStringEditor extends React.Component<InlineStringEditorProps, InlineStringEditorState> {\n static displayName: string = 'InlineStringEditor';\n\n public static defaultProps: Partial<InlineStringEditorProps> = {\n useIcons: false,\n inputType: 'text',\n maxLength: 60,\n minLength: 3,\n saveLabel: 'Save',\n cancelLabel: 'Cancel',\n size: 'md',\n };\n private inputRef: React.RefObject<HTMLInputElement> = React.createRef();\n\n public state: InlineStringEditorState = {\n currentValue: this.props.value,\n };\n\n public componentDidMount(): void {\n this.inputRef?.current?.focus();\n this.inputRef?.current?.select();\n }\n\n public componentDidUpdate(prevProps: Readonly<InlineStringEditorProps>): void {\n if (prevProps.value !== this.props.value) {\n this.setState({currentValue: this.props.value});\n }\n }\n\n @autobind\n private handleKeyDown(e: React.KeyboardEvent<HTMLElement>): void {\n if (e.key === 'Escape' || e.key === 'Esc') {\n this.handleCancel();\n }\n\n if (e.key === 'Enter') {\n e.stopPropagation();\n this.handleSave();\n }\n }\n\n @autobind\n private handleCancel(): void {\n this.setState({currentValue: this.props.value});\n this.props.onCancel();\n }\n\n @autobind\n private handleSave(): void {\n if (this.isSaveDisabled()) {\n return;\n }\n\n this.props.onSave(this.state.currentValue);\n }\n\n @autobind\n private handleTextChange(e: React.FormEvent): void {\n let text: string = (e.target as HTMLInputElement).value;\n\n // maxLength is in defaultProps\n const maxLength = this.props?.maxLength ?? 0;\n if (text.length <= maxLength) {\n if (this.props.onChange != null) {\n this.props.onChange(text);\n }\n this.setState({currentValue: text});\n }\n }\n\n @autobind\n private handleOptionChange(id: string): void {\n // If handleOptionChange is called, we are using the select hence we have options\n const options = this.props.options ?? [];\n for (let option of options) {\n if (String(option.value) === String(id)) {\n if (this.props.onChange != null) {\n this.props.onChange(option);\n }\n this.setState({currentValue: option});\n }\n }\n }\n\n private isSaveDisabled(): boolean {\n if (this.props.getIsSaveDisabled != null) {\n return this.props.getIsSaveDisabled(this.state.currentValue);\n }\n\n if (this.props.getError != null && this.props.getError(this.state.currentValue) != null) {\n return true;\n }\n\n // If there's not an onChange, props.text did not change, but state.text did\n if (this.props.onChange == null && this.state.currentValue === this.props.value) {\n return true;\n }\n\n if (typeof this.state.currentValue === 'string') {\n // maxLength is in defaultProps\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return this.state.currentValue.length < this.props.minLength!;\n }\n\n return false;\n }\n\n private renderHelp(): React.ReactNode {\n if (this.props.help == null) {\n return null;\n }\n\n return (\n <Collapse appear={true} in={true}>\n <Form.Help>{this.props.help}</Form.Help>\n </Collapse>\n );\n }\n\n private renderError(): React.ReactNode {\n if (this.props.getError == null) {\n return null;\n }\n\n let error = this.props.getError(this.state.currentValue);\n if (error == null) {\n return null;\n }\n\n return (\n <Collapse appear={true} in={true}>\n <Form.Control.FeedBack type='invalid'>{error}</Form.Control.FeedBack>\n </Collapse>\n );\n }\n\n private renderInput(): React.ReactNode {\n if (this.props.options != null && this.props.options.length > 0) {\n let value = this.state.currentValue != null ? (this.state.currentValue as OptionData).value : '';\n\n return (\n <SelectDropdown\n className='inline-dropdown-select'\n size={this.props.size}\n selected={String(value)}\n onSelect={this.handleOptionChange}\n onKeyDown={this.handleKeyDown}\n options={this.props.options}\n isInvalid={this.renderError() != null}\n />\n );\n }\n\n return (\n <FormControl\n ref={this.inputRef}\n size={this.props.size}\n type={this.props.inputType}\n value={(this.state.currentValue ?? '') as string}\n onChange={this.handleTextChange}\n onKeyDown={this.handleKeyDown}\n isInvalid={this.renderError() != null}\n />\n );\n }\n\n private renderCancelButton(): React.ReactNode {\n let props: Partial<ButtonProps> = {\n onClick: this.handleCancel,\n variant: 'secondary',\n size: this.props.size,\n className: 'inline-string-editor-cancel',\n };\n\n if (this.props.useIcons === true) {\n return <Button icon={faTimes} {...props} />;\n }\n\n return <Button {...props}>{this.props.cancelLabel}</Button>;\n }\n\n private renderSaveButton(): React.ReactNode {\n let props: Partial<ButtonProps> = {\n onClick: this.handleSave,\n variant: 'primary',\n disabled: this.isSaveDisabled(),\n size: this.props.size,\n className: 'inline-string-editor-save',\n };\n\n if (this.props.useIcons === true) {\n return <Button icon={faCheck} {...props} />;\n }\n\n return <Button {...props}>{this.props.saveLabel}</Button>;\n }\n\n public render(): React.ReactNode {\n const className = classNames('inline-string-editor w-100', this.props.className);\n\n return (\n <div className={className}>\n <Row className='no-gutters'>\n <Col>{this.renderInput()}</Col>\n <Col xs='auto' className='inline-string-editor-controls'>\n {this.renderCancelButton()}\n {this.renderSaveButton()}\n </Col>\n </Row>\n {this.renderError()}\n {this.renderHelp()}\n </div>\n );\n }\n}\n","export {InlineStringEditor, InlineStringValueType} from './InlineStringEditor';\n","import React from 'react';\nimport BsInputGroup from 'react-bootstrap/InputGroup';\nimport classnames from 'classnames';\n\n// It seems that the `createWithBsPrefix` function used to create the component\n// gives any type to the props\n// eslint-disable-next-line\nexport const InputGroupText: React.FC<any> = React.memo((props): React.ReactElement => {\n const className: string = classnames({\n [props?.className ?? '']: true,\n 'atoka-input-group-text': true,\n });\n return (\n <BsInputGroup.Text {...props} className={className}>\n {props.children}\n </BsInputGroup.Text>\n );\n});\n\nInputGroupText.displayName = 'InputGroupText';\n","import React from 'react';\nimport BsInputGroup, {InputGroupProps as BsInputGroupProps} from 'react-bootstrap/InputGroup';\nimport classnames from 'classnames';\n\nimport {FormControlProps} from '../Form/FormControl';\nimport {InputGroupText} from './InputGroupText';\nimport './InputGroup.less';\n\nexport interface InputGroupProps extends Omit<BsInputGroupProps, 'size'> {\n size?: 'sm' | 'md' | 'lg';\n withShadow?: boolean;\n}\n\ntype InputGroup<P> = React.FC<P> & {\n Text: typeof InputGroupText;\n Append: typeof BsInputGroup.Append;\n Prepend: typeof BsInputGroup.Prepend;\n};\n\nconst InputGroupComponent: InputGroup<FormControlProps> = (props) => {\n const className: string = classnames('atoka-input-group', props?.className, {\n 'disabled': props.disabled,\n 'atoka-shadow': props.withShadow,\n 'is-invalid': props.isInvalid,\n });\n\n return (\n <BsInputGroup size={props.size === 'md' ? undefined : props.size} className={className}>\n {props.children}\n </BsInputGroup>\n );\n};\n\nInputGroupComponent.displayName = 'InputGroup';\n\nInputGroupComponent.Text = InputGroupText;\nInputGroupComponent.Append = BsInputGroup.Append;\nInputGroupComponent.Prepend = BsInputGroup.Prepend;\n\nexport {InputGroupComponent as InputGroup};\n","export {InputGroup} from './InputGroup';\n","import classNames from 'classnames';\nimport {PropsWithClassName} from 'components/Utils/CommonTypes';\nimport React from 'react';\nimport BsJumbotron from 'react-bootstrap/Jumbotron';\n\nimport './Jumbotron.less';\n\nexport interface JumbotronProps extends PropsWithClassName {\n variant: 'primary' | 'secondary' | 'danger';\n}\n/**\n * ### Overview\n *\n * This component is a section used in our Pages website to display prominent information together with its call of action.\n */\nexport class Jumbotron extends React.PureComponent<JumbotronProps> {\n static displayName: string = 'Jumbotron';\n static defaultProps: JumbotronProps = {\n variant: 'primary',\n };\n\n public render(): React.ReactNode {\n const className: string = classNames(`jumbotron-${this.props.variant}`, this.props.className);\n\n return <BsJumbotron className={className}>{this.props.children}</BsJumbotron>;\n }\n}\n","export {Jumbotron} from './Jumbotron';\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","import { createContext, useContext } from 'react';\nexport const CONTEXT_VERSION = 1;\nexport const LeafletContext = /*#__PURE__*/createContext(null);\nexport const LeafletProvider = LeafletContext.Provider;\nexport function useLeafletContext() {\n const context = useContext(LeafletContext);\n\n if (context == null) {\n throw new Error('No context provided: useLeafletContext() can only be used in a descendant of <MapContainer>');\n }\n\n return context;\n}","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport { CONTEXT_VERSION, LeafletProvider } from '@react-leaflet/core';\nimport { Map as LeafletMap } from 'leaflet';\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nexport function useMapElement(mapRef, props) {\n const [map, setMap] = useState(null);\n useEffect(() => {\n if (mapRef.current !== null && map === null) {\n const instance = new LeafletMap(mapRef.current, props);\n\n if (props.center != null && props.zoom != null) {\n instance.setView(props.center, props.zoom);\n } else if (props.bounds != null) {\n instance.fitBounds(props.bounds, props.boundsOptions);\n }\n\n if (props.whenReady != null) {\n instance.whenReady(props.whenReady);\n }\n\n setMap(instance);\n }\n }, [mapRef, map, props]);\n return map;\n}\nexport function MapContainer({\n children,\n className,\n id,\n placeholder,\n style,\n whenCreated,\n ...options\n}) {\n const mapRef = useRef(null);\n const map = useMapElement(mapRef, options);\n const createdRef = useRef(false);\n useEffect(() => {\n if (map != null && createdRef.current === false && whenCreated != null) {\n createdRef.current = true;\n whenCreated(map);\n }\n }, [map, whenCreated]);\n const [props] = useState({\n className,\n id,\n style\n });\n const context = useMemo(() => map ? {\n __version: CONTEXT_VERSION,\n map\n } : null, [map]);\n const contents = context ? /*#__PURE__*/React.createElement(LeafletProvider, {\n value: context\n }, children) : placeholder != null ? placeholder : null;\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, props, {\n ref: mapRef\n }), contents);\n}","import React, { forwardRef, useEffect, useImperativeHandle, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { LeafletProvider } from './context';\nexport function createContainerComponent(useElement) {\n function ContainerComponent(props, ref) {\n const {\n instance,\n context\n } = useElement(props).current;\n useImperativeHandle(ref, () => instance);\n return props.children == null ? null : /*#__PURE__*/React.createElement(LeafletProvider, {\n value: context\n }, props.children);\n }\n\n return /*#__PURE__*/forwardRef(ContainerComponent);\n}\nexport function createDivOverlayComponent(useElement) {\n function OverlayComponent(props, ref) {\n const [isOpen, setOpen] = useState(false);\n const {\n instance\n } = useElement(props, setOpen).current;\n useImperativeHandle(ref, () => instance);\n useEffect(function updateOverlay() {\n if (isOpen) {\n instance.update();\n }\n }, [instance, isOpen, props.children]); // @ts-ignore _contentNode missing in type definition\n\n const contentNode = instance._contentNode;\n return contentNode ? /*#__PURE__*/createPortal(props.children, contentNode) : null;\n }\n\n return /*#__PURE__*/forwardRef(OverlayComponent);\n}\nexport function createLeafComponent(useElement) {\n function LeafComponent(props, ref) {\n const {\n instance\n } = useElement(props).current;\n useImperativeHandle(ref, () => instance);\n return null;\n }\n\n return /*#__PURE__*/forwardRef(LeafComponent);\n}","import { useEffect, useRef } from 'react';\nexport function createElementHook(createElement, updateElement) {\n if (updateElement == null) {\n return function useImmutableLeafletElement(props, context) {\n return useRef(createElement(props, context));\n };\n }\n\n return function useMutableLeafletElement(props, context) {\n const elementRef = useRef(createElement(props, context));\n const propsRef = useRef(props);\n const {\n instance\n } = elementRef.current;\n useEffect(function updateElementProps() {\n if (propsRef.current !== props) {\n updateElement(instance, props, propsRef.current);\n propsRef.current = props;\n }\n }, [instance, props, context]);\n return elementRef;\n };\n}","import { useEffect, useRef } from 'react';\nexport function useAttribution(map, attribution) {\n const attributionRef = useRef(attribution);\n useEffect(function updateAttribution() {\n if (attribution !== attributionRef.current && map.attributionControl != null) {\n if (attributionRef.current != null) {\n map.attributionControl.removeAttribution(attributionRef.current);\n }\n\n if (attribution != null) {\n map.attributionControl.addAttribution(attribution);\n }\n }\n\n attributionRef.current = attribution;\n }, [map, attribution]);\n}","import { useEffect, useRef } from 'react';\nexport function useEventHandlers(element, eventHandlers) {\n const eventHandlersRef = useRef();\n useEffect(function addEventHandlers() {\n if (eventHandlers != null) {\n element.instance.on(eventHandlers);\n }\n\n eventHandlersRef.current = eventHandlers;\n return function removeEventHandlers() {\n if (eventHandlersRef.current != null) {\n element.instance.off(eventHandlersRef.current);\n }\n\n eventHandlersRef.current = null;\n };\n }, [element, eventHandlers]);\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","export function withPane(props, context) {\n var _props$pane;\n\n const pane = (_props$pane = props.pane) != null ? _props$pane : context.pane;\n return pane ? { ...props,\n pane\n } : props;\n}","import { useEffect } from 'react';\nimport { useAttribution } from './attribution';\nimport { useLeafletContext } from './context';\nimport { useEventHandlers } from './events';\nimport { withPane } from './pane';\nexport function useLayerLifecycle(element, context) {\n useEffect(function addLayer() {\n var _context$layerContain;\n\n const container = (_context$layerContain = context.layerContainer) != null ? _context$layerContain : context.map;\n container.addLayer(element.instance);\n return function removeLayer() {\n container.removeLayer(element.instance);\n };\n }, [context, element]);\n}\nexport function createLayerHook(useElement) {\n return function useLayer(props) {\n const context = useLeafletContext();\n const elementRef = useElement(withPane(props, context), context);\n useAttribution(context.map, props.attribution);\n useEventHandlers(elementRef.current, props.eventHandlers);\n useLayerLifecycle(elementRef.current, context);\n return elementRef;\n };\n}","import { useEffect, useRef } from 'react';\nimport { useLeafletContext } from './context';\nimport { useEventHandlers } from './events';\nimport { useLayerLifecycle } from './layer';\nimport { withPane } from './pane';\nexport function usePathOptions(element, props) {\n const optionsRef = useRef();\n useEffect(function updatePathOptions() {\n if (props.pathOptions !== optionsRef.current) {\n var _props$pathOptions;\n\n const options = (_props$pathOptions = props.pathOptions) != null ? _props$pathOptions : {};\n element.instance.setStyle(options);\n optionsRef.current = options;\n }\n }, [element, props]);\n}\nexport function createPathHook(useElement) {\n return function usePath(props) {\n const context = useLeafletContext();\n const elementRef = useElement(withPane(props, context), context);\n useEventHandlers(elementRef.current, props.eventHandlers);\n useLayerLifecycle(elementRef.current, context);\n usePathOptions(elementRef.current, props);\n return elementRef;\n };\n}","import { createContainerComponent, createDivOverlayComponent, createLeafComponent } from './component';\nimport { createControlHook } from './control';\nimport { createElementHook } from './element';\nimport { createLayerHook } from './layer';\nimport { createDivOverlayHook } from './div-overlay';\nimport { createPathHook } from './path';\nexport function createControlComponent(createInstance) {\n function createElement(props, context) {\n return {\n instance: createInstance(props),\n context\n };\n }\n\n const useElement = createElementHook(createElement);\n const useControl = createControlHook(useElement);\n return createLeafComponent(useControl);\n}\nexport function createLayerComponent(createElement, updateElement) {\n const useElement = createElementHook(createElement, updateElement);\n const useLayer = createLayerHook(useElement);\n return createContainerComponent(useLayer);\n}\nexport function createOverlayComponent(createElement, useLifecycle) {\n const useElement = createElementHook(createElement);\n const useOverlay = createDivOverlayHook(useElement, useLifecycle);\n return createDivOverlayComponent(useOverlay);\n}\nexport function createPathComponent(createElement, updateElement) {\n const useElement = createElementHook(createElement, updateElement);\n const usePath = createPathHook(useElement);\n return createContainerComponent(usePath);\n}\nexport function createTileLayerComponent(createElement, updateElement) {\n const useElement = createElementHook(createElement, updateElement);\n const useLayer = createLayerHook(useElement);\n return createLeafComponent(useLayer);\n}","export function updateGridLayer(layer, props, prevProps) {\n const {\n opacity,\n zIndex\n } = props;\n\n if (opacity != null && opacity !== prevProps.opacity) {\n layer.setOpacity(opacity);\n }\n\n if (zIndex != null && zIndex !== prevProps.zIndex) {\n layer.setZIndex(zIndex);\n }\n}","import { createTileLayerComponent, updateGridLayer, withPane } from '@react-leaflet/core';\nimport { TileLayer as LeafletTileLayer } from 'leaflet';\nexport const TileLayer = createTileLayerComponent(function createTileLayer({\n url,\n ...options\n}, context) {\n return {\n instance: new LeafletTileLayer(url, withPane(options, context)),\n context\n };\n}, updateGridLayer);","import React from 'react';\nimport Tooltip from 'react-bootstrap/Tooltip';\nimport OverlayTrigger from 'react-bootstrap/OverlayTrigger';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {IconDefinition} from '@fortawesome/pro-light-svg-icons';\n\nimport './MapControl.less';\nimport classnames from 'classnames';\nimport {PropsWithClassName} from '../Utils';\n\nexport interface MapControlProps extends PropsWithClassName {\n tooltipId?: string;\n size?: 'sm' | 'lg';\n isSelected?: boolean;\n icon?: IconDefinition;\n onClick: () => void;\n}\n\nconst MapControl: React.FC<MapControlProps> = React.memo(({size = 'sm', ...props}): React.ReactElement => {\n let icon = null;\n if (props.icon != null) {\n icon = <FontAwesomeIcon size='xs' icon={props.icon} />;\n }\n\n let className = classnames('map-control-button', props.className, size, {\n selected: props.isSelected,\n });\n\n if (props.children == null || size === 'lg') {\n return (\n <button className={className} onClick={props.onClick}>\n {icon}\n {props.children}\n </button>\n );\n }\n\n let tooltip = (\n <Tooltip id={props?.tooltipId ?? ''} className='big-tooltip'>\n {props.children}\n </Tooltip>\n );\n\n return (\n <OverlayTrigger rootClose trigger={['hover', 'focus']} placement='bottom' overlay={tooltip}>\n <button className={className} onClick={props.onClick}>\n {icon}\n </button>\n </OverlayTrigger>\n );\n});\n\nMapControl.displayName = 'MapControl';\n\nexport {MapControl};\n","import { createPathComponent } from '@react-leaflet/core';\nimport { GeoJSON as LeafletGeoJSON } from 'leaflet';\nexport const GeoJSON = createPathComponent(function createGeoJSON({\n data,\n ...options\n}, ctx) {\n const instance = new LeafletGeoJSON(data, options);\n return {\n instance,\n context: { ...ctx,\n overlayContainer: instance\n }\n };\n});","import React from 'react';\nimport classnames from 'classnames';\n\nimport './MapPopup.less';\nimport {PropsWithClassName} from '../Utils';\n\nconst MapPopup: React.FC<React.PropsWithChildren<PropsWithClassName>> = React.memo(({...props}) => {\n let className = classnames('map-popup-container', 'w-100', props.className);\n return <div className={className}>{props.children}</div>;\n});\n\nMapPopup.displayName = 'MapPopup';\n\nexport {MapPopup};\n","import React from 'react';\nimport classnames from 'classnames';\nimport autobind from 'autobind-decorator';\nimport {DataPoint} from '../Utils/CommonTypes';\n\ninterface MapLegendContentProps {\n hoveredItem: DataPoint | null;\n valueMax: number;\n valueMin: number;\n numberToStringFormatter?: (value: number) => string;\n minColor: string;\n maxColor: string;\n forceUpdateOnMount: boolean;\n}\n\nexport class MapLegendContent extends React.PureComponent<MapLegendContentProps> {\n static ESTIMATED_LETTER_PIXELS: number = 5.4;\n static ESTIMATED_ADDABLE_SPACE: number = 1.1;\n static displayName: string = 'MapLegendContent';\n private popupRef: React.RefObject<HTMLDivElement> = React.createRef<HTMLDivElement>();\n static defaultProps: Partial<MapLegendContentProps> = {\n forceUpdateOnMount: false,\n };\n\n componentDidMount(): void {\n if (this.props.forceUpdateOnMount) {\n this.forceUpdate();\n }\n }\n\n public static estimatedWordSize(\n wordLength: number,\n letterPixels: number = this.ESTIMATED_LETTER_PIXELS,\n constant: number = this.ESTIMATED_ADDABLE_SPACE,\n ): number {\n return wordLength * letterPixels + constant;\n }\n\n private getItemsPositions(wordLength: number, minMargin: number = 30): [number, number] {\n let {width = 0} = this.popupRef?.current?.getBoundingClientRect?.() ?? {},\n {value = 0} = this.props.hoveredItem ?? {},\n hoveredItemPosition = Math.round((value * width) / this.props.valueMax),\n middle = width / 2,\n isOnLeftSide = hoveredItemPosition < Math.round(middle),\n vector = 0,\n estimatedWordSize = MapLegendContent.estimatedWordSize(wordLength);\n\n if (width === 0) {\n return [0, 0];\n }\n\n if (isOnLeftSide) {\n vector = ((middle - hoveredItemPosition) * minMargin) / middle;\n } else {\n vector = -((hoveredItemPosition - middle) * minMargin) / middle;\n }\n\n let cursorPosition = hoveredItemPosition + vector,\n textLeftPosition = -Infinity;\n\n if (cursorPosition < width / 3) {\n textLeftPosition = cursorPosition - 10;\n } else if (cursorPosition < 2 * (width / 3)) {\n textLeftPosition = cursorPosition - estimatedWordSize / 2;\n } else {\n textLeftPosition = cursorPosition - estimatedWordSize;\n }\n\n return [cursorPosition, textLeftPosition];\n }\n\n private renderCursor(position: number): React.ReactNode {\n let className = classnames({\n triangle: true,\n invisible: this.props.hoveredItem == null,\n });\n\n return <div className={className} style={{left: position}} />;\n }\n\n private renderMapBitInfo(leftPosition: number): React.ReactNode {\n let {value = 0, label = ''} = this.props?.hoveredItem ?? {},\n mapBitClassName = classnames({\n 'invisible w-0': this.props.hoveredItem == null,\n 'w-100': this.props.hoveredItem != null,\n 'map-bit-info': true,\n });\n\n return (\n <div className={mapBitClassName}>\n <div className='pusher-container' style={{flex: `0 1 ${leftPosition}px`}} />\n <div className='content'>\n <span className='first-letter-capitalize'>{label}</span>\n {`: ${this.getFormattedNumber(value)}`}\n </div>\n </div>\n );\n }\n\n @autobind\n private getFormattedNumber(value: number): string {\n let {numberToStringFormatter} = this.props;\n return numberToStringFormatter != null ? numberToStringFormatter(value) : `${value}`;\n }\n\n private renderPopupChildren(): React.ReactNode {\n let mapDataclassName = classnames({\n invisible: this.props.hoveredItem != null,\n }),\n className = classnames({\n 'd-flex w-100': this.props.hoveredItem == null,\n 'd-none': this.props.hoveredItem != null,\n 'text-white justify-content-between': true,\n }),\n min = Math.round(this.props.valueMin),\n middle = (this.props.valueMax - this.props.valueMin) / 2;\n return (\n <span className={className}>\n <span className={mapDataclassName}>{this.getFormattedNumber(min)}</span>\n <span className={mapDataclassName}>{this.getFormattedNumber(middle)}</span>\n <span className={mapDataclassName}>{this.getFormattedNumber(this.props.valueMax)}</span>\n </span>\n );\n }\n\n public render(): React.ReactNode {\n let linearG = 'linear-gradient(to right, ' + this.props.minColor + ',' + this.props.maxColor + ')',\n className = classnames({\n 'popup-children': true,\n }),\n {value = 0, label = ''} = this.props.hoveredItem ?? {},\n estimationLabel =\n this.props?.hoveredItem?.value == null ? '' : `${label}: ${this.getFormattedNumber(value)}`,\n [cursorPosition, textLeftPosition] = this.getItemsPositions(estimationLabel.length);\n\n return (\n <div className={className} ref={this.popupRef} style={{backgroundImage: linearG}}>\n {this.renderPopupChildren()}\n {this.renderMapBitInfo(textLeftPosition)}\n {this.renderCursor(cursorPosition)}\n </div>\n );\n }\n}\n","const MAP_ATTRIBUTION =\n '<a href=\"https://www.mapbox.com/feedback/\">© Mapbox</a> | ' +\n '<a href=\"https://www.mapbox.com/feedback/\" target=\"_blank\"><strong>Improve this map</strong></a>',\n mapboxStyle = 'mapbox/light-v10',\n mapboxAccessToken =\n 'pk.eyJ1Ijoic2RhdG9rYSIsImEiOiI5MjlmNDMxYzJiYWQ5YjhjMjU4ZGE2YmVkZjQ1YzhiOCJ9.FYB402MPxkR2bIME35d0zg',\n MAP_TILE_URL =\n 'https://api.mapbox.com/styles/v1/' + mapboxStyle + '/tiles/{z}/{x}/{y}?access_token=' + mapboxAccessToken;\n\nexport {MAP_ATTRIBUTION, MAP_TILE_URL};\n","import autobind from 'autobind-decorator';\nimport React from 'react';\nimport {scaleLinear} from 'd3-scale';\nimport {Layer, PathOptions} from 'leaflet';\nimport {GeoJSON} from 'react-leaflet-v3';\nimport {DataPoint} from '../Utils/CommonTypes';\nimport {blue300, blue30, orange} from '../Utils/Style';\nimport {slugify} from '../Utils/Text';\nimport {Map as DsMap} from './Map';\nimport {MapPopup} from './MapPopup';\nimport {MapLegendContent} from './MapLegendContent';\nimport {\n CurrentMapData,\n ItemValueToColorType,\n MapChoroplethProps,\n MapData,\n MapDataKind,\n NameToDataPointType,\n MapBaseChoroplethFeatureProperties,\n} from './Types';\nimport {MAP_ATTRIBUTION, MAP_TILE_URL} from './MapUtils';\n\nexport interface MapChoroplethState {\n hoveredItem: DataPoint | null;\n mapDataShowKind: MapDataKind | null;\n currentMapData: CurrentMapData;\n nameToDataPoint: NameToDataPointType;\n valueMax: number;\n valueMin: number;\n itemValueToColor: ItemValueToColorType;\n}\n\nexport type MapBaseChoroplethFeature = GeoJSON.Feature<GeoJSON.GeometryObject, MapBaseChoroplethFeatureProperties>;\n\nexport class MapChoropleth extends React.Component<MapChoroplethProps, MapChoroplethState> {\n static displayName: string = 'MapChoropleth';\n public static defaultProps: Partial<MapChoroplethProps> = {\n minColor: blue30,\n maxColor: blue300,\n hoverColor: orange,\n withLegend: true,\n };\n\n public state: MapChoroplethState = {\n mapDataShowKind: null,\n currentMapData: null,\n hoveredItem: null,\n nameToDataPoint: new Map(),\n valueMax: -Infinity,\n valueMin: Infinity,\n itemValueToColor: scaleLinear<string, string>(),\n };\n\n static getDerivedStateFromProps(props: MapChoroplethProps, state: MapChoroplethState): MapChoroplethState {\n let mapDataShowKind = state?.mapDataShowKind ?? props.mapData?.[0]?.kind,\n [currentMapData, nameToDataPoint, valueMax, valueMin, itemValueToColor] = MapChoropleth.getSetupData(\n props,\n mapDataShowKind,\n );\n\n return {\n ...state,\n mapDataShowKind,\n currentMapData,\n nameToDataPoint,\n valueMax,\n valueMin,\n itemValueToColor,\n };\n }\n\n static getSetupData(\n props: MapChoroplethProps,\n currentType: MapDataKind | null,\n ): [CurrentMapData, NameToDataPointType, number, number, ItemValueToColorType] {\n let mapDataFromType = props.mapData.filter((m: MapData) => {\n return m.kind === currentType;\n });\n\n if (mapDataFromType.length === 0) {\n return [null, new Map(), -Infinity, Infinity, scaleLinear<string, string>()];\n }\n\n let currentMapData = mapDataFromType[0],\n {dataPoint} = currentMapData,\n nameToDataPoint = new Map(),\n valueMax = -Infinity,\n valueMin = props.valueMin ?? Infinity,\n itemValueToColor = scaleLinear<string, string>();\n\n dataPoint.forEach((item: DataPoint) => {\n nameToDataPoint.set(item.label, item);\n valueMax = Math.max(valueMax, item.value);\n valueMin = Math.min(valueMin, item.value);\n });\n\n itemValueToColor.domain([valueMin, valueMax]).range([props.minColor, props.maxColor]);\n\n return [currentMapData, nameToDataPoint, valueMax, valueMin, itemValueToColor];\n }\n\n @autobind\n private getFeatureStyle(feature: MapBaseChoroplethFeature): PathOptions {\n let featureName = feature.properties?.name ?? '',\n item = this.state.nameToDataPoint?.get(featureName);\n\n if (item == null) {\n return {\n className: `interactive-base ${slugify(featureName)}`,\n weight: 1,\n opacity: 0.5,\n fillOpacity: 0.1,\n fill: true,\n stroke: true,\n color: 'white',\n };\n }\n\n if (this.state?.hoveredItem?.label === featureName) {\n return {\n weight: 1,\n opacity: 0.9,\n fillOpacity: 0.9,\n className: `interactive-hovered ${slugify(featureName)}`,\n fillColor: this.props.hoverColor,\n fill: true,\n stroke: true,\n color: 'white',\n };\n }\n\n return {\n weight: 1,\n opacity: 0.9,\n fillOpacity: 0.9,\n className: `interactive-selected ${slugify(featureName)}`,\n fillColor: this.state.itemValueToColor(item.value),\n fill: true,\n stroke: true,\n color: 'white',\n };\n }\n\n @autobind\n private handleFeatureOver(feature: MapBaseChoroplethFeatureProperties): void {\n let hoveredItem = this.state.nameToDataPoint?.get(feature.name);\n if (hoveredItem != null && this.state.hoveredItem?.label !== hoveredItem.label) {\n this.setState({hoveredItem});\n }\n }\n\n @autobind\n private handleFeatureOut(): void {\n this.setState({hoveredItem: null});\n }\n\n @autobind\n private handleChangeMapDataType(kind: MapDataKind): void {\n if (this.state.mapDataShowKind === kind) {\n return;\n }\n let [currentMapData, nameToDataPoint, valueMax, valueMin, itemValueToColor] = MapChoropleth.getSetupData(\n this.props,\n kind,\n );\n\n this.setState({\n mapDataShowKind: kind,\n currentMapData,\n nameToDataPoint,\n valueMax,\n valueMin,\n itemValueToColor,\n hoveredItem: null,\n });\n }\n\n @autobind\n private renderSingleControl(mapData: MapData): React.ReactNode {\n return (\n <DsMap.Control\n isSelected={mapData.kind === this.state.mapDataShowKind}\n key={mapData.kind}\n size='lg'\n className='ml-2'\n onClick={() => this.handleChangeMapDataType(mapData.kind)}\n >\n {mapData.label}\n </DsMap.Control>\n );\n }\n\n private renderMapDataToggleButtons(): React.ReactNode {\n if (this.props.mapData.length < 2) {\n return null;\n }\n\n return (\n <DsMap.ControlsContainer className='d-flex'>\n {this.props.mapData.map(this.renderSingleControl)}\n </DsMap.ControlsContainer>\n );\n }\n\n private renderBottomPopup(): React.ReactNode {\n if (!this.props.withLegend) {\n return null;\n }\n return (\n <MapPopup>\n <MapLegendContent\n hoveredItem={this.state.hoveredItem}\n valueMax={this.state.valueMax}\n valueMin={this.state.valueMin}\n numberToStringFormatter={this.props.numberToStringFormatter}\n minColor={this.props.minColor}\n maxColor={this.props.maxColor}\n />\n </MapPopup>\n );\n }\n\n private renderHoveredItem(): React.ReactNode {\n let features = [],\n geometries = this.state.currentMapData?.geometries ?? [];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n for (let feature of (geometries as any)?.features ?? []) {\n if (feature.properties.name === this.state.hoveredItem?.label) {\n features.push(feature);\n }\n }\n\n if (features.length === 0) {\n return null;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let data: any = {\n features,\n };\n\n return (\n <GeoJSON\n key={this.state.hoveredItem?.label}\n style={this.getFeatureStyle}\n data={data}\n onEachFeature={this.onHoverEachFeature}\n />\n );\n }\n\n @autobind\n private onHoverEachFeature(feature: MapBaseChoroplethFeature, layer: Layer): void {\n layer.on('mouseout', () => this.handleFeatureOut());\n }\n\n @autobind\n private onEachFeature(feature: MapBaseChoroplethFeature, layer: Layer): void {\n layer.on('mouseover', () => this.handleFeatureOver(feature.properties));\n }\n\n public render(): React.ReactNode {\n if (!this.state.mapDataShowKind == null) {\n return null;\n }\n\n let geometries = this.state.currentMapData?.geometries,\n key = `ita-${this.state.mapDataShowKind}`;\n\n if (geometries == null) {\n return null;\n }\n\n return (\n <>\n {this.renderHoveredItem()}\n <GeoJSON key={key} style={this.getFeatureStyle} data={geometries} onEachFeature={this.onEachFeature} />\n {this.renderBottomPopup()}\n {this.renderMapDataToggleButtons()}\n <DsMap.TileLayer url={MAP_TILE_URL} attribution={MAP_ATTRIBUTION} minZoom={4} />\n </>\n );\n }\n}\n","import React from 'react';\nimport {MapContainer as RLMap, TileLayer as RLTileLayer} from 'react-leaflet-v3';\nimport L, {LatLngBoundsLiteral, TileLayer as LeafletTileLayer} from 'leaflet';\n// todo: when react-leaflet in atoka is set to v3, please remove this alias.\nimport {TileLayerProps} from 'react-leaflet-v3/types/TileLayer';\nimport classnames from 'classnames';\nimport {boundMethod} from 'autobind-decorator';\n// eslint-disable-next-line\n// @ts-expect-error: no types for leaflet-image yet :/\nimport leafletImage from 'leaflet-image';\nimport {findChildByComponent} from '../Utils/Utils';\nimport {Spinner} from '../Spinner';\nimport {EmptyState} from '../EmptyState';\nimport {PropsWithClassName} from '../Utils';\nimport './Map.less';\nimport {MapControl, MapControlProps} from './MapControl';\nimport {MapChoropleth} from './MapChoropleth';\nimport {MapProps} from './Types';\n\nlet ControlsContainer: React.FC<React.PropsWithChildren<PropsWithClassName>> = React.memo((props) => {\n let className = classnames('map-controls-container', props.className);\n return <div className={className}>{props.children}</div>;\n});\nControlsContainer.displayName = 'ControlsContainer';\n\n/** Container component to display the map component.<br />\n * You should use its special children Choropleth to define its content<br />\n * and a Spinner as well as EmptyState to define its empty states */\nexport class Map extends React.Component<MapProps> {\n static displayName: string = 'Map';\n public static defaultProps: Partial<MapProps> = {\n isLoading: false,\n isEmpty: false,\n id: '',\n };\n public static Choropleth: typeof MapChoropleth = MapChoropleth;\n public static TileLayer: React.ForwardRefExoticComponent<TileLayerProps & React.RefAttributes<LeafletTileLayer>> =\n RLTileLayer;\n public static ControlsContainer: React.FC<React.PropsWithChildren<PropsWithClassName>> = ControlsContainer;\n public static Control: React.FC<MapControlProps> = MapControl;\n protected map: L.Map | null = null;\n\n private italyBounds: LatLngBoundsLiteral = [\n [47.53203824675999, 6.3394115537],\n [36.12012758978146, 18.8501168459],\n ];\n\n private renderOtherChildren(): React.ReactNode[] {\n const ret: React.ReactNode[] = [];\n\n React.Children.forEach(this.props.children, (element: React.ReactElement) => {\n if (element?.type !== Map.Choropleth && element?.type !== Spinner && element?.type !== EmptyState) {\n ret.push(element);\n }\n });\n\n return ret;\n }\n\n private renderChoropleth(): React.ReactNode {\n if (this.props.isLoading || this.props.isEmpty) {\n return null;\n }\n\n return findChildByComponent(this.props.children, Map.Choropleth);\n }\n\n private renderIsLoading(): React.ReactNode {\n if (!this.props.isLoading) {\n return null;\n }\n\n return (\n <div className='w-100 h-100 d-flex justify-content-center align-items-center'>\n {findChildByComponent(this.props.children, Spinner)}\n </div>\n );\n }\n\n private renderIsEmpty(): React.ReactNode {\n if (!this.props.isEmpty) {\n return null;\n }\n\n return (\n <div className='w-100 h-100 d-flex justify-content-center align-items-center'>\n {findChildByComponent(this.props.children, EmptyState)}\n </div>\n );\n }\n\n @boundMethod\n private handleMapCreated(map: L.Map): void {\n this.map = map;\n\n this.props.onInit?.({\n async getCanvas(): Promise<HTMLCanvasElement> {\n return new Promise<HTMLCanvasElement>((resolve, reject) => {\n leafletImage(map, (err: Error, canvas: HTMLCanvasElement) => {\n if (err) {\n reject(err);\n return;\n }\n resolve(canvas);\n });\n });\n },\n });\n }\n\n public render(): React.ReactNode {\n let bounds = this.props.bounds ?? this.italyBounds,\n isDisabled: boolean = this.props.isLoading || this.props.isEmpty || this.props.zoomControl === false,\n className: string = classnames('atoka-map-container', {\n disabled: isDisabled,\n });\n // The map does not rerender when props that are not children re-renders. We force it to do so giving it a key\n return (\n <RLMap\n {...this.props}\n bounds={bounds}\n className={className}\n key={className}\n renderer={L.canvas()}\n whenCreated={this.handleMapCreated}\n id={this.props.id}\n >\n {this.renderChoropleth()}\n {this.renderIsLoading()}\n {this.renderIsEmpty()}\n {this.renderOtherChildren()}\n </RLMap>\n );\n }\n}\n","export {Map} from './Map';\nexport {MapChoroplethProps, MapData, MapDataKind, MapEventDispatcher, MapProps} from './Types';\n","import React from 'react';\nimport BsModal, {ModalProps as BsModalProps} from 'react-bootstrap/Modal';\nimport classnames from 'classnames';\n\nimport './Modal.less';\nimport {findChildByComponent} from '../Utils/Utils';\n\nexport interface ModalProps extends Omit<BsModalProps, 'size'> {\n size?: BsModalProps['size'] | 'md';\n}\n\n/**\n * ### Overview\n *\n * A modal is a window that appears on top on the main screen; it disables the rest of the interface until the user interacts with the modal’s contents.\n * There are two types of modals in Atoka:\n *\n * - Informative: the modal gives the user further information on a specific task the user is about to perform, and concludes with a single call to action\n * - Actionable: the modal asks the user either to confirm an important or dangerous action, or enables them to carry a specific tasks which is necessary to proceed with the current activity\n *\n * ### Best practices\n * - Keep the text informative but not too long\n * - Don’t use modals for showing error, wait or success states\n * - If you want to use a modal for a long and/or complex process, opt for a full page instead\n * - Never put a modal on top of another modal\n *\n * DEVELOPER NOTE: For more information about the props, check [react bootstrap](https://react-bootstrap.netlify.app/components/modal/#api)\n **/\nexport class Modal extends React.PureComponent<ModalProps> {\n static displayName: string = 'Modal';\n public static Header: typeof BsModal.Header = BsModal.Header;\n public static Body: typeof BsModal.Body = BsModal.Body;\n public static Footer: typeof BsModal.Footer = BsModal.Footer;\n\n private renderFooter(): React.ReactNode {\n const footer: React.ReactNode = findChildByComponent(this.props.children, BsModal.Footer),\n footerKey = 'modal-footer';\n\n if (footer == null) {\n return null;\n }\n\n const buttons = React.Children.toArray((footer as JSX.Element).props.children).filter((x) => x != null);\n if (buttons != null && buttons.length !== 2) {\n return <BsModal.Footer key={footerKey}>{buttons}</BsModal.Footer>;\n }\n\n return (\n <BsModal.Footer key={footerKey} className='centered-buttons'>\n {buttons[0]} {buttons[1]} <span className='hidden'>{buttons[0]}</span>\n </BsModal.Footer>\n );\n }\n\n private renderContent(): React.ReactNode {\n const ret: React.ReactNode[] = [],\n // todo: type it better\n includedComponents: {[key: string]: boolean} = {ModalHeader: false, ModalBody: false, ModalFooter: false};\n\n React.Children.forEach(this.props.children, (element: React.ReactElement) => {\n includedComponents[(element as JSX.Element).type.displayName as string] = true;\n if (element?.type === BsModal.Footer) {\n ret.push(this.renderFooter());\n } else {\n ret.push(element);\n }\n });\n\n if (Object.values(includedComponents).indexOf(false) >= 0) {\n console.warn('You have to include an header, a body and a footer!');\n return <h1>Error!</h1>;\n }\n\n if (ret.length === 0) {\n return null;\n }\n\n return ret;\n }\n\n public render(): React.ReactNode {\n const {size, ...props} = this.props;\n const className: string = classnames('atoka-modal', this.props.className, {\n 'modal-md': size === 'md',\n });\n\n return (\n <BsModal\n {...props}\n className={className}\n container={document.querySelector('.bs4-v3-external-container')}\n size={size === 'md' ? undefined : size}\n >\n {this.renderContent()}\n </BsModal>\n );\n }\n}\n","export {Modal, ModalProps} from './Modal';\n","import React from 'react';\nimport Navbar from 'react-bootstrap/Navbar';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faBars} from '@fortawesome/pro-light-svg-icons/faBars';\n\nimport './NavbarMobileMenuToggle.less';\n\nexport const NavbarMobileMenuToggle: React.FC = (): React.ReactElement => {\n return (\n <Navbar.Toggle className='navbar-mobile-menu' aria-controls='mobile-menu-collapse'>\n <FontAwesomeIcon icon={faBars} />\n </Navbar.Toggle>\n );\n};\n\nNavbarMobileMenuToggle.displayName = 'NavbarMobileMenuToggle';\n","import React from 'react';\nimport Navbar from 'react-bootstrap/Navbar';\nimport Nav from 'react-bootstrap/Nav';\n\nimport './NavbarMobileMenuCollapse.less';\n\nexport const NavbarMobileMenuCollapse: React.FC = (props): React.ReactElement => {\n return (\n <Navbar.Collapse className='navbar-mobile-menu-collapse overflow-auto' id='mobile-menu-collapse'>\n <Nav>{props.children}</Nav>\n </Navbar.Collapse>\n );\n};\n\nNavbarMobileMenuCollapse.displayName = 'NavbarMobileMenuCollapse';\n","import React from 'react';\nimport Row from 'react-bootstrap/Row';\nimport {IconDefinition} from '@fortawesome/pro-light-svg-icons';\nimport {Title} from '../Title';\nimport {AtokaCustomDropdownToggleWithChevron, Dropdown} from '../Dropdown';\nimport {zip} from '../Utils/Utils';\n\nimport './NavbarNavigationMenu.less';\n\nexport interface NavbarNavigationMenuProps {\n label: string;\n selectedIcon: IconDefinition;\n selectedTitle: string;\n}\n\nexport const NavbarNavigationMenu: React.FC<NavbarNavigationMenuProps> = (props): React.ReactElement => {\n const children: JSX.Element[] = React.Children.toArray(props.children).filter(\n (x: JSX.Element) => x != null,\n ) as JSX.Element[],\n middle: number = Math.ceil(children.length / 2),\n [leftSide, rightSide] = [children.slice(0, middle), children.slice(middle, children.length)];\n\n return (\n <div className='navbar-navigation-menu'>\n <Dropdown>\n <Dropdown.Toggle as={AtokaCustomDropdownToggleWithChevron}>\n <div>\n <small>{props.label}</small>\n <Title icon={props.selectedIcon} size='md'>\n {props.selectedTitle}\n </Title>\n </div>\n </Dropdown.Toggle>\n <Dropdown.Menu size='lg'>\n <Row className='px-lg-3'>{zip(leftSide, rightSide)}</Row>\n </Dropdown.Menu>\n </Dropdown>\n </div>\n );\n};\n\nNavbarNavigationMenu.displayName = 'NavbarNavigationMenu';\n","import React from 'react';\nimport {faBell} from '@fortawesome/pro-light-svg-icons/faBell';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {EmptyState} from '../EmptyState';\nimport {AtokaCustomDropdownToggle, Dropdown} from '../Dropdown';\n\nimport {Navbar} from './Navbar';\n\nimport './NavbarNotificationMenu.less';\n\nexport interface Notification {\n time: string;\n text: string;\n isUnread: boolean;\n}\nexport interface NavbarNotificationMenuProps {\n notifications: Notification[];\n emptyMessage: string;\n}\n\nfunction renderNotifications(props: NavbarNotificationMenuProps): React.ReactNode {\n if (props.notifications.length === 0) {\n return <EmptyState>{props.emptyMessage}</EmptyState>;\n }\n\n return props.notifications.map((notification) => (\n <Navbar.NotificationMenuItem key={`${notification.text}-${notification.time}`} {...notification} />\n ));\n}\n\nexport const NavbarNotificationMenu: React.FC<NavbarNotificationMenuProps> = (props): React.ReactElement | null => {\n if (props.notifications == null) {\n return null;\n }\n const unread: number = props.notifications.filter(({isUnread}) => isUnread).length;\n\n return (\n <Dropdown className='notification-dropdown' drop='left'>\n <Dropdown.Toggle as={AtokaCustomDropdownToggle}>\n <FontAwesomeIcon icon={faBell} />\n {unread ? <div className='unread-number text-center'>{unread}</div> : ''}\n </Dropdown.Toggle>\n <Dropdown.Menu size='lg' className='notification-menu'>\n {renderNotifications(props)}\n </Dropdown.Menu>\n </Dropdown>\n );\n};\n\nNavbarNotificationMenu.displayName = 'NavbarNotificationMenu';\n","import {IconDefinition} from '@fortawesome/pro-light-svg-icons';\nimport React from 'react';\nimport Dropdown from 'react-bootstrap/Dropdown';\nimport Col from 'react-bootstrap/Col';\nimport {Title} from '../Title';\n\nimport './NavbarNavigationMenuItem.less';\n\nexport interface NavbarNavigationMenuItemProps {\n icon: IconDefinition;\n title: string;\n href?: string;\n}\n\nexport const NavbarNavigationMenuItem: React.FC<NavbarNavigationMenuItemProps> = (props): React.ReactElement => {\n const {title, icon, ...propsLight} = props;\n\n return (\n <Col xs={24} lg={12} className='p-0'>\n <Dropdown.Item {...propsLight} key={title} eventKey={title} className='navbar-navigation-menu-item'>\n <Title icon={icon} size='sm'>\n {title}\n </Title>\n <p>{propsLight.children}</p>\n </Dropdown.Item>\n </Col>\n );\n};\n\nNavbarNavigationMenuItem.displayName = 'NavbarNavigationMenuItem';\n","import Dropdown from 'react-bootstrap/Dropdown';\nimport React from 'react';\n\nimport './NavbarNavigationMenuItem.less';\nimport classnames from 'classnames';\nexport interface NavbarNotificationMenuItemProps {\n time: string;\n text: string;\n isUnread?: boolean;\n}\n\nexport const NavbarNotificationMenuItem: React.FC<NavbarNotificationMenuItemProps> = (props): React.ReactElement => {\n const classNames: string = classnames({\n 'navbar-notification-menu-item': true,\n 'unread': props.isUnread,\n });\n\n return (\n <Dropdown.Item eventKey={`${props.text}-${props.time}`} className={classNames}>\n <div className='notification-wrapper'>\n <div className='notification-heading d-flex'>\n <span>{props.time}</span>\n {props.isUnread ? '●' : null}\n </div>\n <p>{props.text}</p>\n </div>\n </Dropdown.Item>\n );\n};\n\nNavbarNotificationMenuItem.displayName = 'NavbarNotificationMenuItem';\n","import classnames from 'classnames';\nimport React from 'react';\nimport {AtokaCustomDropdownToggleWithChevron, Dropdown} from '../Dropdown';\nimport {EllipsableContent} from '../EllipsableContent';\nimport {isStringEmpty} from '../Utils/Text';\n\nimport './NavbarUserMenu.less';\n\nexport interface NavbarUserMenuProps {\n user: {\n fullName: string;\n email?: string;\n };\n}\n\nfunction getInitials(fullName: string): string {\n if (isStringEmpty(fullName)) {\n return '';\n }\n\n const words: string[][] = fullName.split(' ').map((word) => [...word]);\n if (words.length > 1) {\n return `${words[0][0]}${words[1][0]}`.toUpperCase();\n }\n\n return `${words[0][0]}${words[0][1]}`.toUpperCase();\n}\n\ninterface FullNameAndEmailItemProps {\n fullName: string;\n email?: string;\n showDivider?: boolean;\n}\n\nconst FullNameAndEmailItem: React.FC<FullNameAndEmailItemProps> = ({fullName, email, showDivider}) => {\n if (isStringEmpty(fullName) && isStringEmpty(email ?? null)) {\n return null;\n }\n\n let emailEllipsable = null,\n className = classnames('mt-1 user-email', {\n 'user-email-small-font': !isStringEmpty(fullName),\n });\n\n if (!isStringEmpty(email ?? null)) {\n emailEllipsable = (\n <div className={className}>\n <EllipsableContent>{email}</EllipsableContent>\n </div>\n );\n }\n\n const divider: React.ReactNode = showDivider ? <Dropdown.Divider key='2' /> : null;\n\n return (\n <>\n <Dropdown.Header className='user-menu-item'>\n <span className='user-full-name'>{fullName}</span>\n {emailEllipsable}\n </Dropdown.Header>\n {divider}\n </>\n );\n};\n\nFullNameAndEmailItem.displayName = 'FullNameAndEmailItem';\n\nexport const NavbarUserMenu: React.FC<NavbarUserMenuProps> = (props): React.ReactElement => {\n return (\n <div className='navbar-user-menu'>\n <Dropdown drop='left'>\n <Dropdown.Toggle as={AtokaCustomDropdownToggleWithChevron}>\n <div className='user-badge'>{getInitials(props.user.fullName)}</div>\n </Dropdown.Toggle>\n <Dropdown.Menu size='lg' className='user-menu'>\n <FullNameAndEmailItem\n fullName={props.user.fullName}\n email={props.user.email}\n showDivider={props.children != null}\n />\n {props.children}\n </Dropdown.Menu>\n </Dropdown>\n </div>\n );\n};\n\nNavbarUserMenu.displayName = 'NavbarUserMenu';\n","import Dropdown from 'react-bootstrap/Dropdown';\nimport React from 'react';\n\nexport interface NavbarUserMenuItemProps {\n href?: string;\n target?: string;\n}\n\nexport const NavbarUserMenuItem: React.FC<NavbarUserMenuItemProps> = (props): React.ReactElement => {\n return (\n <Dropdown.Item {...props} href={props.href} target={props.target} className='navbar-user-menu-item'>\n {props.children}\n </Dropdown.Item>\n );\n};\n\nNavbarUserMenuItem.displayName = 'NavbarUserMenuItem';\n","import autobind from 'autobind-decorator';\nimport {faSearch} from '@fortawesome/pro-light-svg-icons/faSearch';\nimport {faTimes} from '@fortawesome/pro-light-svg-icons/faTimes';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport React from 'react';\n\nimport {InputGroup} from '../InputGroup';\nimport {FormControl} from '../Form/FormControl';\n\nimport {isStringEmpty} from '../Utils/Text';\nimport './NavbarOverlaySearch.less';\n\nexport interface NavbarOverlaySearchProps {\n placeholder: string;\n isOpen: boolean;\n onOpen: () => void;\n onClose: () => void;\n inputValue?: string;\n onChange: (searchedValue: string) => void;\n}\n\nexport class NavbarOverlaySearch extends React.Component<NavbarOverlaySearchProps> {\n static displayName: string = 'NavbarOverlaySearch';\n private wrapperRef: React.RefObject<HTMLDivElement> = React.createRef<HTMLDivElement>();\n private inputRef: React.RefObject<HTMLInputElement> = React.createRef<HTMLInputElement>();\n private modalSelector: string = '.atoka-modal.show';\n\n @autobind\n // eslint-disable-next-line\n private handleClickOutside(event: any): void {\n // if there is an open modal, do not close the NavbarOverlaySearch\n if (document.querySelectorAll(this.modalSelector).length > 0) {\n return;\n }\n\n // this any is a MouseEvent ... but the test-visual say that it is not defined (it's defined in window)\n if (this.wrapperRef?.current != null && !this.wrapperRef.current.contains(event.target as Node)) {\n this.props.onClose();\n }\n }\n\n @autobind\n // eslint-disable-next-line\n private handleKeyPress(event: any): void {\n // if there is an open modal, do not close the NavbarOverlaySearch\n if (document.querySelectorAll(this.modalSelector).length > 0) {\n return;\n }\n\n // this any is a KeyboardEvent ... but the test-visual say that it is not defined (it's definied in window)\n if (event.key === 'Escape' || event.key === 'Esc') {\n this.props.onClose();\n }\n }\n\n public componentDidMount(): void {\n document.addEventListener('keydown', this.handleKeyPress);\n document.addEventListener('mousedown', this.handleClickOutside);\n }\n\n public componentWillUnmount(): void {\n document.removeEventListener('keydown', this.handleKeyPress);\n document.removeEventListener('mousedown', this.handleClickOutside);\n }\n\n @autobind\n private onOpen(): void {\n this.props.onOpen();\n setTimeout(() => this.setFocus());\n }\n\n private setFocus(): void {\n this.inputRef?.current?.focus();\n this.inputRef?.current?.select();\n }\n\n private renderSearchResult(): React.ReactNode {\n return <div className='navbar-overlay-search-dropdown-container'>{this.props.children}</div>;\n }\n\n private renderInputGroupPrepend(): React.ReactNode {\n return (\n <InputGroup.Prepend>\n <InputGroup.Text>\n <FontAwesomeIcon icon={faSearch} fixedWidth />\n </InputGroup.Text>\n </InputGroup.Prepend>\n );\n }\n\n private renderOpenContent(): React.ReactNode {\n return (\n <div className='position-relative'>\n <InputGroup size='md'>\n {this.renderInputGroupPrepend()}\n <FormControl\n placeholder={this.props.placeholder}\n value={this.props.inputValue}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => this.props.onChange(e.target.value)}\n ref={this.inputRef}\n />\n <InputGroup.Append>\n <InputGroup.Text onClick={this.props.onClose}>\n <FontAwesomeIcon icon={faTimes} fixedWidth />\n </InputGroup.Text>\n </InputGroup.Append>\n </InputGroup>\n {this.renderSearchResult()}\n </div>\n );\n }\n\n private renderPlaceholderOrValue(): React.ReactNode {\n if (isStringEmpty(this.props.inputValue)) {\n return <span className='placeholder'>{this.props.placeholder}</span>;\n }\n\n return <span>{this.props.inputValue}</span>;\n }\n\n private renderClosedContent(): React.ReactNode {\n return (\n <div onClick={this.onOpen}>\n <InputGroup size='md'>\n {this.renderInputGroupPrepend()}\n {this.renderPlaceholderOrValue()}\n </InputGroup>\n </div>\n );\n }\n\n public render(): React.ReactNode {\n if (this.props.isOpen) {\n return (\n <div className='navbar-overlay-search-wrapper'>\n <div ref={this.wrapperRef} className='navbar-overlay-search navbar-overlay-search-open w-100'>\n {this.renderOpenContent()}\n </div>\n </div>\n );\n }\n\n return (\n <div className='navbar-overlay-search-wrapper'>\n <div ref={this.wrapperRef} className='navbar-overlay-search navbar-overlay-search-closed w-100'>\n {this.renderClosedContent()}\n </div>\n </div>\n );\n }\n}\n","import React from 'react';\nimport './NavbarOverlaySearchResults.less';\nimport {findChildByComponent} from '../Utils/Utils';\n\nexport interface NavbarOverlaySearchResultsWrapperProps {\n count: number;\n renderNoResults: React.ReactNode;\n isLoading: boolean;\n}\n// eslint-disable-next-line react/display-name\nconst getEventuallySearchFooter = (count: number, children: React.ReactNode) => {\n if (count <= 10) {\n return null;\n }\n return <footer className='p-2 show-more-wrapper'>{children}</footer>;\n};\n\nexport const NavbarOverlaySearchResultsWrapper: React.FC<NavbarOverlaySearchResultsWrapperProps> = (\n props,\n): React.ReactElement => {\n if (props.isLoading) {\n return (\n <div className='text-center py-5'>{findChildByComponent(props.children, NavbarOverlaySearchLoading)}</div>\n );\n }\n\n if (props.count === 0) {\n return (\n <div className='overlay-search-results'>\n {findChildByComponent(props.children, NavbarOverlaySearchTabs)}\n <div className='py-5'>{props.renderNoResults}</div>\n </div>\n );\n }\n\n return (\n <>\n <div className='overlay-search-results'>\n {findChildByComponent(props.children, NavbarOverlaySearchTabs)}\n <div className='px-3 px-lg-5 pt-1 pb-5'>\n {findChildByComponent(props.children, NavbarOverlaySearchResults)}\n </div>\n </div>\n {getEventuallySearchFooter(props.count, findChildByComponent(props.children, NavbarOverlaySearchShowMore))}\n </>\n );\n};\n\nNavbarOverlaySearchResultsWrapper.displayName = 'NavbarOverlaySearchResultsWrapper';\n\nexport const NavbarOverlaySearchTabs: React.FC<React.PropsWithChildren<unknown>> = (props): React.ReactElement => {\n return props.children as JSX.Element;\n};\n\nexport const NavbarOverlaySearchResults: React.FC<React.PropsWithChildren<unknown>> = (props): React.ReactElement => {\n return props.children as JSX.Element;\n};\n\nexport const NavbarOverlaySearchLoading: React.FC<React.PropsWithChildren<unknown>> = (props): React.ReactElement => {\n return props.children as JSX.Element;\n};\n\nexport const NavbarOverlaySearchShowMore: React.FC<React.PropsWithChildren<unknown>> = (props): React.ReactElement => {\n return props.children as JSX.Element;\n};\n","import React from 'react';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faUserNinja} from '@fortawesome/pro-light-svg-icons/faUserNinja';\n\nimport {AtokaCustomDropdownToggleWithChevron, Dropdown} from '../Dropdown';\nimport './NavbarNinjaMenu.less';\n\nexport interface NavbarNinjaMenuProps {\n isInUse: boolean;\n}\n\nexport const NavbarNinjaMenu: React.FC<React.PropsWithChildren<NavbarNinjaMenuProps>> = (\n props: React.PropsWithChildren<NavbarNinjaMenuProps>,\n): React.ReactElement => {\n return (\n <div className='navbar-ninja-menu'>\n <Dropdown drop='left'>\n <Dropdown.Toggle as={AtokaCustomDropdownToggleWithChevron}>\n <div className='position-relative'>\n <FontAwesomeIcon icon={faUserNinja} />\n {props.isInUse && <span className='ninja-in-use' />}\n </div>\n </Dropdown.Toggle>\n <Dropdown.Menu size='lg' className='ninja-menu'>\n {props.children}\n </Dropdown.Menu>\n </Dropdown>\n </div>\n );\n};\n\nNavbarNinjaMenu.displayName = 'NavbarNinjaMenu';\n","import Dropdown from 'react-bootstrap/Dropdown';\nimport React from 'react';\n\nexport interface NavbarNinjaMenuItemProps {\n href: string;\n disabled?: boolean;\n}\n\nexport const NavbarNinjaMenuItem: React.FC<NavbarNinjaMenuItemProps> = (props): React.ReactElement => {\n return (\n <Dropdown.Item {...props} className='navbar-ninja-menu-item'>\n {props.children}\n </Dropdown.Item>\n );\n};\n\nNavbarNinjaMenuItem.displayName = 'NavbarNinjaMenuItem';\n","import React from 'react';\nimport {faTrash} from '@fortawesome/pro-light-svg-icons/faTrash';\nimport ListGroup from 'react-bootstrap/ListGroup';\nimport './NavbarOverlaySearchCard.less';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\n\nexport interface NavbarOverlaySearchCardProps {\n leftPart: React.ReactNode;\n rightPart: React.ReactNode;\n onDelete?: () => void;\n onSelect: () => void;\n}\nexport const NavbarOverlaySearchCard: React.FC<NavbarOverlaySearchCardProps> = React.memo(\n (props: NavbarOverlaySearchCardProps) => {\n // eslint-disable-next-line react/display-name\n function renderDelete() {\n if (props.onDelete == null) {\n return null;\n }\n return (\n <FontAwesomeIcon\n onClick={props.onDelete}\n className='ml-2 color-gray-400 delete-column'\n icon={faTrash}\n fixedWidth\n />\n );\n }\n\n return (\n <ListGroup.Item bsPrefix='atoka-list-group-item' className='cursor-pointer navbar-overlay-search-item p-0'>\n <div\n className='parts-container align-content-center px-0 d-flex justify-content-between'\n onClick={props.onDelete == null ? props.onSelect : undefined}\n >\n <div\n className='py-2 pl-3 selectable-left-part flex-grow-1 d-flex'\n onClick={props.onDelete == null ? undefined : props.onSelect}\n >\n {props.leftPart}\n </div>\n <div className='py-2 pr-3 text-right color-gray-400 d-flex align-items-center'>\n {props.rightPart}\n {renderDelete()}\n </div>\n </div>\n </ListGroup.Item>\n );\n },\n);\n\nNavbarOverlaySearchCard.displayName = 'NavbarOverlaySearchCard';\n","import React from 'react';\nimport BSNavbar from 'react-bootstrap/Navbar';\nimport Container from 'react-bootstrap/Container';\nimport BSNav from 'react-bootstrap/Nav';\nimport classnames from 'classnames';\n\nimport {FadeAnimation} from '../FadeAnimation';\n\nimport {NavbarMobileMenuToggle} from './NavbarMobileMenuToggle';\nimport {NavbarMobileMenuCollapse} from './NavbarMobileMenuCollapse';\nimport {NavbarNavigationMenu, NavbarNavigationMenuProps} from './NavbarNavigationMenu';\nimport {NavbarNotificationMenu, NavbarNotificationMenuProps} from './NavbarNotificationMenu';\nimport {NavbarNavigationMenuItem, NavbarNavigationMenuItemProps} from './NavbarNavigationMenuItem';\n\nimport './Navbar.less';\nimport {NavbarNotificationMenuItem, NavbarNotificationMenuItemProps} from './NavbarNotificationMenuItem';\nimport {NavbarUserMenu, NavbarUserMenuProps} from './NavbarUserMenu';\nimport {NavbarUserMenuItem, NavbarUserMenuItemProps} from './NavbarUserMenuItem';\nimport {NavbarOverlaySearch, NavbarOverlaySearchProps} from './NavbarOverlaySearch';\nimport {\n NavbarOverlaySearchLoading,\n NavbarOverlaySearchResults,\n NavbarOverlaySearchResultsWrapper,\n NavbarOverlaySearchResultsWrapperProps,\n NavbarOverlaySearchShowMore,\n NavbarOverlaySearchTabs,\n} from './NavbarOverlaySearchResults';\nimport {NavbarNinjaMenu, NavbarNinjaMenuProps} from './NavbarNinjaMenu';\nimport {NavbarNinjaMenuItem, NavbarNinjaMenuItemProps} from './NavbarNinjaMenuItem';\nimport {NavbarOverlaySearchCard, NavbarOverlaySearchCardProps} from './NavbarOverlaySearchCard';\n\nexport interface NavbarProps {\n isOpen: boolean;\n}\nclass Navbar extends React.PureComponent<NavbarProps> {\n static displayName: string = 'Navbar';\n\n public static Brand: typeof BSNavbar.Brand = BSNavbar.Brand;\n public static MobileMenuLink: typeof BSNav.Link = BSNav.Link;\n\n public static MobileMenuToggle: React.FC = NavbarMobileMenuToggle;\n public static MobileMenuCollapse: React.FC = NavbarMobileMenuCollapse;\n\n public static NavigationMenu: React.FC<NavbarNavigationMenuProps> = NavbarNavigationMenu;\n public static NavigationMenuItem: React.FC<NavbarNavigationMenuItemProps> = NavbarNavigationMenuItem;\n\n public static OverlaySearch: React.ComponentClass<NavbarOverlaySearchProps> = NavbarOverlaySearch;\n public static OverlaySearchResultsWrapper: React.FC<NavbarOverlaySearchResultsWrapperProps> =\n NavbarOverlaySearchResultsWrapper;\n public static OverlaySearchResults: React.FC<React.PropsWithChildren<unknown>> = NavbarOverlaySearchResults;\n public static OverlaySearchCard: React.FC<NavbarOverlaySearchCardProps> = NavbarOverlaySearchCard;\n public static OverlaySearchTabs: React.FC<React.PropsWithChildren<unknown>> = NavbarOverlaySearchTabs;\n public static OverlaySearchLoading: React.FC<React.PropsWithChildren<unknown>> = NavbarOverlaySearchLoading;\n public static OverlaySearchShowMore: React.FC<React.PropsWithChildren<unknown>> = NavbarOverlaySearchShowMore;\n\n public static NinjaMenu: React.FC<NavbarNinjaMenuProps> = NavbarNinjaMenu;\n public static NinjaMenuItem: React.FC<NavbarNinjaMenuItemProps> = NavbarNinjaMenuItem;\n\n public static NotificationMenu: React.FC<React.PropsWithChildren<NavbarNotificationMenuProps>> =\n NavbarNotificationMenu;\n public static NotificationMenuItem: React.FC<NavbarNotificationMenuItemProps> = NavbarNotificationMenuItem;\n\n public static UserMenu: React.FC<NavbarUserMenuProps> = NavbarUserMenu;\n public static UserMenuItem: React.FC<NavbarUserMenuItemProps> = NavbarUserMenuItem;\n\n public render(): React.ReactNode {\n const classNames: string = classnames({\n 'atoka-navbar': true,\n 'atoka-navbar-open': this.props.isOpen,\n });\n return (\n <>\n <BSNavbar collapseOnSelect className={classNames} expand='lg' fixed='top'>\n <Container className='d-flex align-items-center'>{this.props.children}</Container>\n </BSNavbar>\n {this.props.isOpen ? (\n <FadeAnimation>\n <div className='atoka-navbar-body-shadow' />\n </FadeAnimation>\n ) : null}\n </>\n );\n }\n}\n\nexport {Navbar};\n","export {Navbar} from './Navbar';\n","import React from 'react';\n\nimport classnames from 'classnames';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faChevronRight} from '@fortawesome/pro-light-svg-icons/faChevronRight';\n\ninterface PaginationNextProps {\n show?: boolean;\n handleNextPage: () => void;\n}\n\nexport const PaginationNext: React.FC<PaginationNextProps> = ({show = true, ...props}): React.ReactElement => {\n const className: string = classnames({\n 'pagination-button next': true,\n 'invisible': !show,\n });\n\n return (\n <span className={className} onClick={props.handleNextPage}>\n <FontAwesomeIcon icon={faChevronRight} />\n </span>\n );\n};\n\nPaginationNext.displayName = 'PaginationNext';\n","import React from 'react';\n\nimport classnames from 'classnames';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faChevronLeft} from '@fortawesome/pro-light-svg-icons/faChevronLeft';\n\ninterface PaginationPrevProps {\n show?: boolean;\n handlePrevPage: () => void;\n}\nexport const PaginationPrev: React.FC<PaginationPrevProps> = ({show = true, ...props}): React.ReactElement => {\n const className: string = classnames({\n 'pagination-button prev': true,\n 'invisible': !show,\n });\n\n return (\n <span className={className} onClick={props.handlePrevPage}>\n <FontAwesomeIcon icon={faChevronLeft} />\n </span>\n );\n};\n\nPaginationPrev.displayName = 'PaginationPrev';\n","import autobind from 'autobind-decorator';\nimport classNames from 'classnames';\nimport React from 'react';\nimport BsPagination from 'react-bootstrap/Pagination';\nimport {PropsWithClassName} from '../Utils/CommonTypes';\nimport {scrollToTop} from '../Utils/Utils';\nimport './Pagination.less';\nimport {PaginationNext} from './PaginationNext';\nimport {PaginationPrev} from './PaginationPrev';\n\nexport interface NumberedPaginationProps extends PropsWithClassName {\n total: number;\n limit: number;\n currentPage: number;\n onSetPage: (page: number) => void;\n scrollToTopOnSetPage?: boolean;\n}\n/**\n * ### Overview\n *\n * In Atoka the pagination component is used in those sections of the interface which require the user to look through several items in a list, the primary example being the company search.\n * The component is placed at the bottom of the view and visible in every page of the list.\n */\nexport class Pagination extends React.PureComponent<NumberedPaginationProps> {\n public static defaultProps: Partial<NumberedPaginationProps> = {\n scrollToTopOnSetPage: true,\n };\n\n static displayName: string = 'Pagination';\n @autobind\n private handleRandomPage(page: number): void {\n this.props.onSetPage(page);\n if (this.props.scrollToTopOnSetPage) {\n scrollToTop();\n }\n }\n\n @autobind\n private handlePreviousPage(): void {\n if (this.props.currentPage === 1) {\n return;\n }\n\n this.props.onSetPage(this.props.currentPage - 1);\n if (this.props.scrollToTopOnSetPage) {\n scrollToTop();\n }\n }\n\n @autobind\n private handleNextPage(): void {\n if (this.props.currentPage === this.getPaginationItemsNumber()) {\n return;\n }\n\n this.props.onSetPage(this.props.currentPage + 1);\n if (this.props.scrollToTopOnSetPage) {\n scrollToTop();\n }\n }\n\n private getPaginationItemsNumber(): number {\n return Math.ceil(this.props.total / this.props.limit);\n }\n\n private getMinAndMaxPageNumber(activePageNumber: number): {minPageNumber: number; maxPageNumber: number} {\n const paginationItemsNumber: number = this.getPaginationItemsNumber();\n\n if (paginationItemsNumber <= 5) {\n return {\n minPageNumber: 1,\n maxPageNumber: paginationItemsNumber,\n };\n }\n\n let minPageNumber: number = Math.max(activePageNumber - 2, 1),\n maxPageNumber: number = Math.min(activePageNumber + 2, paginationItemsNumber);\n\n if (minPageNumber === 1) {\n maxPageNumber = minPageNumber + 4;\n } else if (maxPageNumber === paginationItemsNumber) {\n minPageNumber = maxPageNumber - 4;\n }\n\n return {minPageNumber, maxPageNumber};\n }\n\n private renderItems(): React.ReactNode {\n const pageItems: React.ReactNode[] = [],\n {minPageNumber, maxPageNumber} = this.getMinAndMaxPageNumber(this.props.currentPage);\n\n for (let page: number = minPageNumber; page <= maxPageNumber; page++) {\n pageItems.push(\n <BsPagination.Item\n key={page}\n active={page === this.props.currentPage}\n onClick={() => this.handleRandomPage(page)}\n >\n <span className='page-number'>{page}</span>\n </BsPagination.Item>,\n );\n }\n\n return pageItems;\n }\n\n public render(): React.ReactNode {\n if (this.props.total === 0 || this.props.total <= this.props.limit) {\n return null;\n }\n\n const className = classNames(\n 'atoka-pagination',\n 'justify-content-center align-items-center',\n this.props.className,\n );\n\n return (\n <BsPagination className={className}>\n <PaginationPrev show={this.props.currentPage !== 1} handlePrevPage={this.handlePreviousPage} />\n {this.renderItems()}\n <PaginationNext\n show={this.props.currentPage !== this.getPaginationItemsNumber()}\n handleNextPage={this.handleNextPage}\n />\n </BsPagination>\n );\n }\n}\n","export {Pagination} from './Pagination';\n","import {boundMethod} from 'autobind-decorator';\nimport React from 'react';\nimport {ComputedDatum} from '@nivo/sunburst';\nimport {ResponsivePie, PieTooltipProps, PieCustomLayerProps, PieLayer} from '@nivo/pie';\nimport classnames from 'classnames';\nimport {createDataWithOtherSlice} from '../Utils/Statistics';\nimport {StatisticsLegendProps, StatisticsSVGLegend} from '../StatisticsLegend';\nimport {BasePieItemData, DataPoint, NumberToStringFormatterType, PropsWithClassName} from '../Utils/CommonTypes';\nimport {deepEqual, sortObjDesc} from '../Utils/Utils';\nimport {Layout} from '../Histogram/Types';\nimport {getRenderStatisticsTooltip} from '../StatisticsTooltip';\nimport {blue100, blue30, blue300, blue80} from '../Utils/Style';\nimport {ellipse} from '../Utils/Text';\n\nexport interface PieChartProps extends PropsWithClassName {\n /** The `id` should be unique */\n id: string;\n /** The `chartRef` is necessary when we want to download a png from the chart */\n chartRef?: React.RefObject<HTMLDivElement>;\n data: BasePieItemData[];\n /** The `size` must be in px, or a wrapper around must have an height with pixels to which the component will adjust */\n size?: string;\n /**\n * Colors length need to be equals to data length, but if a `maxSlicesNumber` is defined,\n * colors length need to be `maxSlicesNumber + 1` length (the last color being the color assigned to the 'other' node).\n * The color prop can also be an object with a node id as key and the color as value if you need a particular node\n * to have some particular color.\n * */\n colors?: string[] | Record<string, string>;\n /** Use the `getRenderStatisticsLegend` HOF */\n renderLegend?: (props: StatisticsLegendProps) => JSX.Element;\n /** Use the `getRenderStatisticsTooltip` HOF */\n renderTooltip?: (props: ComputedDatum<BasePieItemData>) => JSX.Element;\n /**\n * Define this if you need to remove some slices from the `Piechart`.\n * All the removed slices will be grouped into an 'other' slice */\n maxSlicesNumber?: number;\n /** This string will be displayed in the tooltip of the 'other' slice */\n otherId?: string;\n /**\n * This string is necessary if the data already contains an 'other' node. In this case,\n * you want to be able to target correctly this node to be added in your 'other' node,\n * but also be able to have a label you chose for instance to be translated in other languages\n * */\n otherLabel?: string;\n /** If a `maxSlicesNumber` is defined, `total` is mandatory and it is the sum of all the values in data */\n total?: number;\n /** If `withNumber` is defined, it adds a value in the center of the `Piechart` */\n withNumber?: boolean;\n numberToStringFormatter?: NumberToStringFormatterType;\n /** You can give a special formatter for the tooltip additionally to the numberToStringFormatter */\n tooltipValueFormat?: NumberToStringFormatterType;\n layout?: Layout;\n withSVGLegend?: boolean;\n}\ninterface PieChartState {\n data: BasePieItemData[];\n}\n\ntype RenderTooltipType = (props: ComputedDatum<BasePieItemData>) => JSX.Element;\n\n/**\n * ### Overview\n *\n * Use the `Piechart` component for an array of data.\n * If your data is more of a tree, maybe it is worth the case to take a look at the `Sunburst`!\n * */\nexport class PieChart extends React.Component<PieChartProps, PieChartState> {\n private renderTooltip: null | RenderTooltipType = null;\n static displayName: string = 'PieChart';\n\n static defaultProps: Partial<PieChartProps> = {\n colors: [blue30, blue80, blue100, blue300],\n otherId: 'other',\n size: '100%',\n layout: 'vertical',\n };\n public state: PieChartState = {\n data: [],\n };\n\n public componentDidUpdate(prevProps: Readonly<PieChartProps>): void {\n if (deepEqual(prevProps, this.props)) {\n return;\n }\n this.setupComponent();\n }\n\n public componentDidMount(): void {\n this.setupComponent();\n }\n\n private setupComponent(): void {\n let {data = [], colors, maxSlicesNumber} = this.props,\n // Here the colors can't be anything than an array of strings but typescript does not seem to get it,\n // hence the forced cast.\n colorsFromProps = (Array.isArray(colors) ? colors : Object.values(this.props.colors ?? {})) as string[];\n if (maxSlicesNumber == null && colorsFromProps.length !== data.length) {\n throw Error('The colors.length must be of the same length as the data you give to the component');\n }\n if (maxSlicesNumber && maxSlicesNumber + 1 !== colorsFromProps.length) {\n throw Error(\n 'With a maxSliceNumber prop, maxSlicesNumber + 1 must be of the same length as the colors.length prop',\n );\n }\n let children =\n this.props.maxSlicesNumber == null\n ? this.props.data?.sort(sortObjDesc('value'))\n : createDataWithOtherSlice<BasePieItemData>(\n this.props?.data ?? [],\n this.props?.otherId,\n this.props?.otherLabel,\n this.props?.maxSlicesNumber,\n this.props?.total,\n );\n\n this.renderTooltip =\n this.props.renderTooltip ??\n getRenderStatisticsTooltip({\n tooltipDataLabelKey: 'value',\n tooltipDataValueKey: 'percentage',\n tooltipDataTitleKey: 'id',\n otherId: this.props.otherId,\n numberToStringFormatter: this.props?.tooltipValueFormat ?? this.props?.numberToStringFormatter,\n otherLabel: this.props.otherLabel,\n withColor: true,\n });\n\n this.setState({\n data: children,\n });\n }\n\n private getSortedColorsLikeData(): string[] | undefined {\n if (this.props.colors == null) {\n return undefined;\n }\n if (Array.isArray(this.props.colors)) {\n return this.props.colors ?? [];\n }\n return this.state.data.map((node: BasePieItemData) => this.props?.colors?.[node.id]);\n }\n\n @boundMethod\n private renderLegend(): React.ReactNode {\n // todo: in the future, in order to be able to do the download PNG without the htmltocanvas library,\n // we should port the legend to be displayed as a svg component layer\n // at least while we download it and use it as canvas.\n return this.props?.renderLegend?.({\n data: this.state.data,\n otherId: this.props?.otherId ?? '',\n colors: this.getSortedColorsLikeData() ?? [],\n numberToStringFormatter: this.props?.numberToStringFormatter,\n });\n }\n\n @boundMethod\n private renderCenteredMetric({dataWithArc, centerX, centerY}: PieCustomLayerProps<BasePieItemData>): JSX.Element {\n const total = dataWithArc.reduce((totalValue: number, ...args) => {\n let currentValue: number = args[0].data?.value ?? 0;\n return totalValue + currentValue;\n }, 0);\n\n return (\n <text\n x={centerX}\n y={centerY}\n textAnchor='middle'\n fontSize='42px'\n fontWeight='600'\n dominantBaseline='central'\n className='cursor-default'\n >\n {this.props?.numberToStringFormatter?.(total) ?? total}\n </text>\n );\n }\n\n @boundMethod\n private getRenderTooltip(props: PieTooltipProps<BasePieItemData>): JSX.Element | null {\n // The type requires these data, but we will take the percentage from the props.data to create the tooltip\n const unUsefulProps = {path: [], percentage: 0, depth: 0, height: 0},\n tooltipData = {...unUsefulProps, ...props.datum},\n tooltipFunction = this.renderTooltip ?? null,\n // the type of value or initialValue is unknown because it was in the function which creates\n // the other node which have unknown, but we know both can only be undefined or number\n value = tooltipData.data?.value || tooltipData.data?.initialValue || 0;\n\n return (\n tooltipFunction?.({\n ...tooltipData,\n data: {\n ...tooltipData.data,\n value: value as number,\n },\n }) ?? null\n );\n }\n\n @boundMethod\n private renderSVGLegend(): JSX.Element {\n let data = this.state.data.map<DataPoint>((d) => ({...d, value: d.value ?? 0, percentage: undefined})),\n size: number = parseInt(this.props.size ?? '0', 10),\n y: number = size;\n\n if (y > 0) {\n y -= 45 + (data.length / 2 - 1) * 5;\n if (data.length < 3) {\n // middle vertical alignment with items number <= 2\n y = y + 16;\n }\n }\n\n let index = 0;\n const lines: JSX.Element[] = [],\n dataColors = this.getSortedColorsLikeData() ?? [];\n\n // do a loop to split the legend in line of 2 items\n while (index < data.length) {\n const dataForLine = data.slice(index, index + 2);\n const subDataColors = dataColors?.slice(index, index + 2) ?? null;\n\n dataForLine.forEach((subData, j) => {\n let val =\n this.props.numberToStringFormatter == null\n ? subData?.value\n : this.props.numberToStringFormatter(subData?.value),\n valLength = val.toString().length,\n charsNumberForEllipse = 19 - valLength;\n\n lines.push(\n <StatisticsSVGLegend\n key={`${index}-${j}`}\n data={[subData]}\n x={(j * size) / 2 + j * 20}\n y={y + index * 10}\n width={(size / 2) * 2 + 40}\n valueFormat={this.props.numberToStringFormatter}\n labelFormat={(label: string) => ellipse(label, charsNumberForEllipse)}\n colors={[subDataColors[j]]}\n />,\n );\n });\n\n index += 2;\n }\n\n return <g>{lines}</g>;\n }\n\n public render(): React.ReactNode {\n const {size, withNumber} = this.props,\n isLayoutVertical = this.props.layout === 'vertical',\n className = classnames('d-flex piechart-container', this.props.className, {\n 'flex-column align-items-center h-100': isLayoutVertical,\n 'justify-content-between': this.props.renderLegend != null && isLayoutVertical,\n 'justify-content-center': this.props.renderLegend == null && isLayoutVertical,\n }),\n layers: PieLayer<BasePieItemData>[] = ['arcs', 'arcLabels'],\n margin = {top: 10, right: 10, bottom: 10, left: 10},\n height = parseInt(size ?? '0', 10);\n\n let legend: React.ReactNode | null = null,\n width = size;\n\n if (withNumber) {\n layers.push(this.renderCenteredMetric);\n }\n\n if (this.props.withSVGLegend) {\n layers.push(this.renderSVGLegend);\n margin.bottom = 60;\n width = '300px';\n } else {\n legend = this.renderLegend();\n }\n\n return (\n <div ref={this.props.chartRef} className={className} id={this.props.id}>\n <div style={{height, width}}>\n <ResponsivePie\n tooltip={this.getRenderTooltip}\n data={this.state.data}\n margin={margin}\n cornerRadius={0}\n innerRadius={0.8}\n borderColor='#ffff'\n colors={this.getSortedColorsLikeData()}\n enableArcLabels={false}\n enableArcLinkLabels={false}\n activeOuterRadiusOffset={0}\n isInteractive={true}\n layers={layers}\n />\n </div>\n {legend}\n </div>\n );\n }\n}\n","export {PieChart, PieChartProps} from './PieChart';\n","import {faFacebookF} from '@fortawesome/free-brands-svg-icons/faFacebookF';\nimport {faLinkedinIn} from '@fortawesome/free-brands-svg-icons/faLinkedinIn';\nimport {faTwitter} from '@fortawesome/free-brands-svg-icons/faTwitter';\nimport React from 'react';\nimport Col from 'react-bootstrap/Col';\nimport Row from 'react-bootstrap/Row';\nimport {Button} from '../Button';\n\nimport './PublicFooter.less';\n\nexport class PublicFooter extends React.PureComponent {\n static displayName: string = 'PublicFooter';\n\n public render(): React.ReactNode {\n return (\n <footer className='public-footer py-5'>\n <div className='container'>\n <Row>\n <Col\n md={8}\n sm={24}\n className='d-flex flex-column justify-content-center align-items-center justify-content-md-start align-items-md-start mb-5 '\n >\n <img className='mb-45' src='https://atoka.io/ds/media/logo-blue-fg.svg' width='120' />\n <div className='mt-4'>\n <Button\n variant='secondary'\n size='sm'\n className='mr-1'\n icon={faFacebookF}\n href='https://www.facebook.com/atoka.io'\n target='_blank'\n />\n <Button\n variant='secondary'\n size='sm'\n className='mr-1'\n icon={faLinkedinIn}\n href='https://www.linkedin.com/company/atoka-io'\n target='_blank'\n />\n <Button\n variant='secondary'\n size='sm'\n icon={faTwitter}\n href='https://twitter.com/atoka_io'\n target='_blank'\n />\n </div>\n </Col>\n\n <Col sm={24} md={16} className='text-center text-md-left'>\n {this.props.children}\n <Row className='mt-5 footer-spaziodati'>\n <Col sm={24} md={16} className='d-flex flex-column mb-4 mb-md-0'>\n <small>\n <strong>© 2021 SpazioDati S.r.l.</strong> <br />\n Via Adriano Olivetti 13, 38122 Trento (Trento) — REA TN 210089\n <br />\n Capitale Sociale € 21.600 —C.F & P.I: 02241890223\n <br />\n Azienda con Sistema di Gestione della Sicurezza delle Informazioni certificato\n da Certiquality – UNI CEI EN ISO/IEC 27001:2017 <br />\n Società soggetta a direzione e controllo da parte di{' '}\n <a href='http://cerved.com'>Cerved Group S.p.A.</a>\n </small>\n </Col>\n <Col\n sm={24}\n md={8}\n className='d-flex justify-content-center justify-content-md-end align-items-center'\n >\n <img src='https://atoka.io/ds/media/logo-spaziodati.png' />\n </Col>\n </Row>\n </Col>\n </Row>\n </div>\n </footer>\n );\n }\n}\n","export {PublicFooter} from './PublicFooter';\n","import React from 'react';\nimport BsNavbar from 'react-bootstrap/Navbar';\n\nimport './PublicNavbar.less';\n\nexport class PublicNavbar extends React.PureComponent {\n static displayName: string = 'PublicNavbar';\n\n public render(): React.ReactNode {\n return (\n <BsNavbar className='public-navbar py-3' expand='lg' fixed='top'>\n <BsNavbar.Brand href='/' className='py-0'>\n <img src='https://atoka.io/ds/media/logo-blue-fg.svg' alt='atoka logo' width='120' height='40' />\n </BsNavbar.Brand>\n <BsNavbar.Toggle aria-controls='basic-navbar-nav' />\n <BsNavbar.Collapse id='basic-navbar-nav'>\n <BsNavbar className='ml-auto'>{this.props.children}</BsNavbar>\n </BsNavbar.Collapse>\n </BsNavbar>\n );\n }\n}\n","export {PublicNavbar} from './PublicNavbar';\n","import classNames from 'classnames';\nimport React from 'react';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faInfoCircle} from '@fortawesome/pro-light-svg-icons/faInfoCircle';\nimport {IconDefinition} from '@fortawesome/pro-light-svg-icons';\nimport {PropsWithClassName} from '../Utils';\n\nimport {Tooltip} from '../Tooltip';\nimport {Title} from '../Title';\nimport './RecordBit.less';\n\nexport interface RecordBitProps extends PropsWithClassName {\n title: React.ReactNode;\n icon?: IconDefinition;\n info?: string;\n}\n\nexport class RecordBit extends React.PureComponent<RecordBitProps> {\n static displayName: string = 'RecordBit';\n\n private renderTooltip(): React.ReactNode {\n if (this.props.info == null) {\n return null;\n }\n return (\n <Tooltip placement='right' content={this.props.info}>\n <FontAwesomeIcon icon={faInfoCircle} className='ml-1' />\n </Tooltip>\n );\n }\n\n public render(): React.ReactNode {\n const className = classNames(this.props.className, 'atoka-record-bit');\n\n return (\n <div className={className}>\n <div className='record-bit-title'>\n <Title size='sm' icon={this.props.icon}>\n {this.props.title} {this.renderTooltip()}\n </Title>\n </div>\n <div className='record-bit-children'>{this.props.children ?? '-'}</div>\n </div>\n );\n }\n}\n","export {RecordBit} from './RecordBit';\n","import React from 'react';\nimport Col from 'react-bootstrap/Col';\n\nimport './ResultItemCardActions.less';\n\nexport const ResultItemCardActions: React.FC<React.PropsWithChildren<unknown>> = (props): React.ReactElement => {\n return (\n <Col md={4} className='result-item-card-actions'>\n {props.children}\n </Col>\n );\n};\n\nResultItemCardActions.displayName = 'ResultItemCardActions';\n","import classnames from 'classnames';\nimport React from 'react';\n\nimport './ResultItemCardFooter.less';\n\nexport interface ResultItemCardFooterProps {\n className?: string;\n}\n\nexport const ResultItemCardFooter: React.FC<ResultItemCardFooterProps> = React.memo((props): React.ReactElement => {\n const className: string = classnames('result-item-card-footer', props.className);\n\n return <div className={className}>{props.children}</div>;\n});\n\nResultItemCardFooter.displayName = 'ResultItemCardFooter';\n","import classnames from 'classnames';\nimport React from 'react';\nimport Col from 'react-bootstrap/Col';\n\nimport {hasChildIconOrCheckboxComponent} from '../Utils/Utils';\n\nimport './ResultItemCardImage.less';\n\nexport interface ResultItemCardImageProps {\n className?: string;\n}\n\nexport const ResultItemCardImage: React.FC<ResultItemCardImageProps> = React.memo((props): React.ReactElement => {\n const className: string = classnames('img-container', props.className, {\n 'bg-light-gray': hasChildIconOrCheckboxComponent(props.children),\n });\n\n const content = props.children ?? (\n <img className='default-logo' src='https://atoka.io/ds/media/company-placeholder-gray.png' />\n );\n\n return (\n <Col className='result-item-card-img-wrapper' md='auto' sm={24}>\n <div className={className}>{content}</div>\n </Col>\n );\n});\n\nResultItemCardImage.displayName = 'ResultItemCardImage';\n","import classnames from 'classnames';\nimport React from 'react';\n\nimport './ResultItemCardSubtitle.less';\n\nexport interface ResultItemCardSubtitleProps {\n className?: string;\n}\n\nexport const ResultItemCardSubtitle: React.FC<ResultItemCardSubtitleProps> = React.memo((props): React.ReactElement => {\n const className: string = classnames('result-item-card-subtitle', props.className);\n\n return <div className={className}>{props.children}</div>;\n});\n\nResultItemCardSubtitle.displayName = 'ResultItemCardSubtitle';\n","import classnames from 'classnames';\nimport React from 'react';\nimport {EllipsableContent} from '../EllipsableContent';\n\nimport './ResultItemCardText.less';\n\nexport interface ResultItemCardTextProps {\n className?: string;\n isEllipsable?: boolean;\n}\n\nexport const ResultItemCardText: React.FC<ResultItemCardTextProps> = React.memo(\n ({isEllipsable, children, className}): React.ReactElement => {\n const classNames: string = classnames({\n 'result-item-card-text': true,\n [className ?? '']: true,\n });\n let content = isEllipsable ? <EllipsableContent>{children}</EllipsableContent> : children;\n return <div className={classNames}>{content}</div>;\n },\n);\n\nResultItemCardText.displayName = 'ResultItemCardText';\n","import classnames from 'classnames';\nimport React from 'react';\n\nimport {Title, TitleProps} from '../Title/Title';\n\nimport './ResultItemCardTitle.less';\n\nexport interface ResultItemCardTitleProps extends TitleProps {\n badge?: React.ReactNode;\n}\n\nexport const ResultItemCardTitle: React.FC<ResultItemCardTitleProps> = React.memo((props): React.ReactElement => {\n const className: string = classnames('result-item-card-title', 'row', props.className);\n\n return (\n <div className={className}>\n <div className='col'>\n <div className='title-ellipsis-container d-flex'>\n <Title icon={props.icon} size='sm'>\n {props.children}\n </Title>\n {props.badge}\n </div>\n </div>\n </div>\n );\n});\n\nResultItemCardTitle.displayName = 'ResultItemCardTitle';\n","import classnames from 'classnames';\nimport React from 'react';\nimport Card from 'react-bootstrap/Card';\nimport Col from 'react-bootstrap/Col';\nimport Row from 'react-bootstrap/Row';\nimport {PropsWithClassName} from '../Utils';\n\nimport {findChildByComponent} from '../Utils/Utils';\n\nimport './ResultItemCard.less';\nimport {ResultItemCardActions} from './ResultItemCardActions';\nimport {ResultItemCardFooter, ResultItemCardFooterProps} from './ResultItemCardFooter';\nimport {ResultItemCardImage, ResultItemCardImageProps} from './ResultItemCardImage';\nimport {ResultItemCardSubtitle, ResultItemCardSubtitleProps} from './ResultItemCardSubtitle';\nimport {ResultItemCardText, ResultItemCardTextProps} from './ResultItemCardText';\nimport {ResultItemCardTitle, ResultItemCardTitleProps} from './ResultItemCardTitle';\n\nexport class ResultItemCard extends React.PureComponent<PropsWithClassName> {\n static displayName: string = 'ResultsItemCard';\n\n public static Title: React.FC<ResultItemCardTitleProps> = ResultItemCardTitle;\n public static Subtitle: React.FC<ResultItemCardSubtitleProps> = ResultItemCardSubtitle;\n public static Text: React.FC<ResultItemCardTextProps> = ResultItemCardText;\n public static Footer: React.FC<ResultItemCardFooterProps> = ResultItemCardFooter;\n public static Image: React.FC<ResultItemCardImageProps> = ResultItemCardImage;\n public static Actions: React.FC<React.PropsWithChildren<unknown>> = ResultItemCardActions;\n\n private renderContent(): React.ReactNode {\n return (\n <Row>\n {findChildByComponent(this.props.children, ResultItemCardImage)}\n <Col className='result-item-card-body my-2 pl-2'>\n {findChildByComponent(this.props.children, ResultItemCardTitle)}\n {findChildByComponent(this.props.children, ResultItemCardSubtitle)}\n {findChildByComponent(this.props.children, ResultItemCardText)}\n {findChildByComponent(this.props.children, ResultItemCardFooter)}\n </Col>\n {findChildByComponent(this.props.children, ResultItemCardActions)}\n </Row>\n );\n }\n\n public render(): React.ReactNode {\n const classNames: string = classnames('result-item-card', this.props.className);\n\n return <Card className={classNames}>{this.renderContent()}</Card>;\n }\n}\n","export {ResultItemCard} from './ResultItemCard';\n","import autobind from 'autobind-decorator';\nimport React from 'react';\nimport BsDropdown from 'react-bootstrap/Dropdown';\nimport classnames from 'classnames';\n\nimport {AtokaCustomDropdownToggleWithChevron, Dropdown} from '../Dropdown';\n\nimport './SelectDropdown.less';\nimport {OptionData, PropsWithClassName} from '../Utils';\n\nexport interface SelectDropdownProps extends PropsWithClassName {\n menuClassName?: string;\n size?: 'md' | 'sm' | 'lg';\n placeholder?: OptionData['label'];\n selected: OptionData['value'];\n options: OptionData[];\n disabled?: boolean;\n isInvalid?: boolean;\n onSelect: (value: OptionData['value']) => void;\n onKeyDown?: React.KeyboardEventHandler<HTMLInputElement>;\n renderValue?: (option: OptionData) => React.ReactNode;\n renderSelectedValue?: (option: OptionData) => React.ReactNode;\n}\n/**\n * ### Overview\n *\n * The `SelectDropdown` allows users to either filter or sort items in a list according to specific parameters.\n */\nexport class SelectDropdown extends React.PureComponent<SelectDropdownProps> {\n static displayName: string = 'SelectDropdown';\n public static defaultProps: Partial<SelectDropdownProps> = {\n size: 'md',\n placeholder: '--',\n };\n\n private renderOptions(): React.ReactNode {\n return this.props.options.map(this.renderItem);\n }\n\n @autobind\n private renderItem(option: OptionData): React.ReactNode {\n const value: string = `${option.value}`;\n\n if (option.isDivider) {\n return <Dropdown.Divider key={value} />;\n }\n\n return (\n <Dropdown.Item key={value} disabled={option.disabled} eventKey={value}>\n {this.props.renderValue?.(option) ?? option.label}\n </Dropdown.Item>\n );\n }\n\n private renderSelectedValue(): React.ReactNode {\n const placeholder: React.ReactNode = <span className='placeholder'>{this.props.placeholder}</span>;\n\n if (this.props.selected == null) {\n return placeholder;\n }\n\n const selection = this.props.options.find((option) => option.value === this.props.selected);\n\n if (selection == null) {\n return placeholder;\n }\n\n return this.props.renderSelectedValue?.(selection) ?? selection.label;\n }\n\n public render(): React.ReactNode {\n const classNames: string = classnames('atoka-select-dropdown', this.props.className, this.props.size, {\n 'is-invalid': this.props.isInvalid,\n }),\n menuClassNames: string = classnames(\n 'atoka-select-dropdown-menu',\n this.props.size,\n this.props.menuClassName,\n );\n\n return (\n <Dropdown onSelect={this.props.onSelect} className={classNames}>\n <Dropdown.Toggle disabled={this.props.disabled} as={AtokaCustomDropdownToggleWithChevron}>\n <span className='dropdown-toggle-text-container'>{this.renderSelectedValue()}</span>\n </Dropdown.Toggle>\n <BsDropdown.Menu className={menuClassNames} flip={false}>\n {this.renderOptions()}\n </BsDropdown.Menu>\n </Dropdown>\n );\n }\n}\n","export * from './SelectDropdown';\n","import classnames from 'classnames';\nimport React from 'react';\nimport {PropsWithClassName} from '../Utils';\n\nimport './Spinner.less';\n\nexport enum SpinnerSize {\n mini,\n small,\n big,\n modal,\n}\n\nexport interface SpinnerProps extends PropsWithClassName {\n size?: SpinnerSize;\n}\n\n/**\n * ### Overview\n *\n * We can find two different spinners in the Atoka interface, small and big. The **small** one is used to show that a specific section inside the page is loading. The **big** spinner on the other hand shows when the whole page is loading.\n *\n * ### Best practice\n *\n * Use the spinner if the waiting time is between 0.1 and 1 second. After one second, the user gets the impression that the app is slow: in that case, use a progress indicator instead.\n **/\nexport class Spinner extends React.Component<SpinnerProps> {\n static displayName: string = 'Spinner';\n\n static defaultProps: SpinnerProps = {\n size: SpinnerSize.small,\n className: '',\n };\n\n private renderOnlyDotsSpinner(size: string): React.ReactNode {\n let className = 'atoka-spinner spinner-' + size + ' ' + this.props.className;\n\n return (\n <div className={className}>\n <div className='spinner-dot1'>\n <div className='spinner-leaf' />\n </div>\n <div className='spinner-dot2'>\n <div className='spinner-leaf' />\n </div>\n <div className='spinner-dot3'>\n <div className='spinner-leaf' />\n </div>\n </div>\n );\n }\n\n private renderSmall(): React.ReactNode {\n return this.renderOnlyDotsSpinner('small');\n }\n\n private renderMini(): React.ReactNode {\n return this.renderOnlyDotsSpinner('mini');\n }\n\n private renderLeaf(): React.ReactNode {\n return (\n <svg viewBox='0 0 204.01 190.64' version='1.1' xmlns='http://www.w3.org/2000/svg'>\n <g id='leaf'>\n <path d='M80.88,7.62a26,26,0,0,0-36.79,36.8,25.85,25.85,0,0,0,13.4,7.14V83.39c1.19,0,2.4-.08,3.62-.08,2.16,0,4.28.08,6.38.23v-32A26,26,0,0,0,80.88,7.62ZM73.81,37.35a16,16,0,1,1,0-22.66,15.92,15.92,0,0,1,0,22.66Z' />\n </g>\n </svg>\n );\n }\n\n private renderLetter(): React.ReactNode {\n return (\n <svg viewBox='0 0 204.01 190.64' version='1.1' xmlns='http://www.w3.org/2000/svg'>\n <g id='logo-vector'>\n <path d='M110.77,180.67V140.16a50.47,50.47,0,1,0-22,41.71L93.12,187a10,10,0,0,0,17.65-6.34Zm-81-40.51a30.5,30.5,0,1,1,30.5,30.5,30.49,30.49,0,0,1-30.5-30.5Z' />\n </g>\n </svg>\n );\n }\n\n private renderBig(): React.ReactNode {\n let spinnerClassName = classnames(this.props.className, {\n 'atoka-spinner': true,\n 'spinner-big': this.props.size === SpinnerSize.big,\n 'spinner-medium': this.props.size === SpinnerSize.modal,\n }),\n containerClassName = classnames({\n 'container-fluid spinner-modal': this.props.size === SpinnerSize.modal,\n });\n\n return (\n <div className={containerClassName}>\n <div className={spinnerClassName}>\n <div className='spinner-dot1'>\n <div className='spinner-leaf'>{this.renderLeaf()}</div>\n </div>\n <div className='spinner-dot2'>\n <div className='spinner-leaf'>{this.renderLeaf()}</div>\n </div>\n <div className='spinner-dot3'>\n <div className='spinner-leaf'>{this.renderLeaf()}</div>\n </div>\n <span className='spinner-letter'>{this.renderLetter()}</span>\n </div>\n </div>\n );\n }\n\n public render(): React.ReactNode {\n switch (this.props.size) {\n case SpinnerSize.mini:\n return this.renderMini();\n\n case SpinnerSize.small:\n return this.renderSmall();\n\n case SpinnerSize.big:\n case SpinnerSize.modal:\n return this.renderBig();\n\n default:\n return null;\n }\n }\n}\n","export * from './Spinner';\n","import React from 'react';\nimport Card from 'react-bootstrap/Card';\nimport classnames from 'classnames';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faInfoCircle} from '@fortawesome/pro-light-svg-icons/faInfoCircle';\nimport {Title} from '../Title';\nimport './StatisticsItemCard.less';\nimport {findChildByComponent, findChildrenByComponent} from '../Utils/Utils';\nimport {EllipsableContent} from '../EllipsableContent';\nimport {PropsWithClassName} from '../Utils';\nimport {Spinner, SpinnerSize} from '../Spinner';\nimport {EmptyState} from '../EmptyState';\nimport {Tooltip, TooltipProps} from '../Tooltip';\nimport {AtokaSimpleDropdownToggle, Dropdown} from '../Dropdown';\n\nexport interface StatisticsItemCardProps extends PropsWithClassName {\n isLoading?: boolean;\n isEmpty?: boolean;\n isPerformingAction?: boolean;\n}\ninterface StatisticsBodyProps {\n withPadding?: boolean;\n}\n\ninterface StatisticsTitleProps {\n tooltip?: TooltipProps['content'];\n tooltipProps?: Partial<Omit<TooltipProps, 'content'>>;\n}\n\nlet statisticsTitle: React.FC<React.PropsWithChildren<StatisticsTitleProps>> = React.memo((props) => {\n let tooltip =\n props.tooltip != null ? (\n <Tooltip {...props.tooltipProps} content={props.tooltip}>\n <FontAwesomeIcon icon={faInfoCircle} className='ml-1 cursor-pointer' />\n </Tooltip>\n ) : null;\n\n return (\n <Title size='sm'>\n {props.children}\n {tooltip}\n </Title>\n );\n }),\n statisticsSubtitle: React.FC<React.PropsWithChildren<unknown>> = React.memo((props) => {\n return <div className='subtitle-section'>{props.children}</div>;\n }),\n statisticsBody: React.FC<React.PropsWithChildren<StatisticsBodyProps>> = React.memo((props) => {\n const className = classnames('body-section', {\n 'px-3 pb-3': props.withPadding ?? true,\n });\n return <div className={className}>{props.children}</div>;\n }),\n statisticsActionButtons: React.FC<React.PropsWithChildren<unknown>> = React.memo((props) => {\n return (\n <Dropdown drop='left'>\n <Dropdown.Toggle as={AtokaSimpleDropdownToggle} />\n <Dropdown.Menu>{props.children}</Dropdown.Menu>\n </Dropdown>\n );\n });\nstatisticsTitle.displayName = 'StatisticsTitle';\nstatisticsSubtitle.displayName = 'StatisticsSubtitle';\nstatisticsBody.displayName = 'StatisticsBody';\nstatisticsActionButtons.displayName = 'StatisticsActionButtons';\n\nexport class StatisticsItemCard extends React.PureComponent<StatisticsItemCardProps> {\n static displayName: string = 'StatisticsItemCard';\n\n public static Title: typeof statisticsTitle = statisticsTitle;\n public static Subtitle: typeof statisticsSubtitle = statisticsSubtitle;\n public static Body: typeof statisticsBody = statisticsBody;\n public static ActionButtons: typeof statisticsActionButtons = statisticsActionButtons;\n public static Spinner: typeof Spinner = Spinner;\n public static EmptyState: typeof EmptyState = EmptyState;\n\n private renderBodySection(): React.ReactNode {\n if (this.props.isLoading || this.props.isEmpty) {\n return null;\n }\n\n return findChildByComponent(this.props.children, StatisticsItemCard.Body) ?? null;\n }\n\n private renderSubtitleSection(): React.ReactNode[] | null {\n if (this.props.isLoading || this.props.isEmpty) {\n return null;\n }\n\n let subtitles = findChildrenByComponent(this.props.children, StatisticsItemCard.Subtitle);\n if (subtitles.length === 0) {\n return null;\n }\n\n return subtitles;\n }\n\n private renderIsLoading(): React.ReactNode {\n if (!this.props.isLoading) {\n return null;\n }\n\n return (\n <div className='body-section justify-content-center align-items-center'>\n {findChildByComponent(this.props.children, StatisticsItemCard.Spinner)}\n </div>\n );\n }\n\n private renderIsEmpty(): React.ReactNode {\n if (!this.props.isEmpty) {\n return null;\n }\n\n return (\n <div className='body-section justify-content-center align-items-center pr-3 pl-3 pb-3'>\n {findChildByComponent(this.props.children, StatisticsItemCard.EmptyState)}\n </div>\n );\n }\n\n private renderActionButtons(): React.ReactNode {\n if (this.props.isPerformingAction) {\n return <Spinner size={SpinnerSize.small} />;\n }\n\n let actionButtons = findChildrenByComponent(this.props.children, StatisticsItemCard.ActionButtons);\n if (actionButtons.length === 0) {\n return null;\n }\n\n return <div className='statistics-item-card-actions-button'>{actionButtons}</div>;\n }\n\n public render(): React.ReactNode {\n const className = classnames('statistics-item-card', this.props.className, {\n 'statistics-item-card-disabled': this.props.isPerformingAction,\n });\n return (\n <Card className={className}>\n <EllipsableContent>\n <EllipsableContent.Content>\n {findChildByComponent(this.props.children, StatisticsItemCard.Title)}\n </EllipsableContent.Content>\n <EllipsableContent.Append>{this.renderActionButtons()}</EllipsableContent.Append>\n </EllipsableContent>\n {this.renderSubtitleSection()}\n {this.renderBodySection()}\n {this.renderIsEmpty()}\n {this.renderIsLoading()}\n </Card>\n );\n }\n}\n","export {StatisticsItemCard} from './StatisticsItemCard';\n","import React from 'react';\nimport classnames from 'classnames';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\n\nimport './StatisticsItemNumeric.less';\nimport {IconDefinition} from '@fortawesome/pro-light-svg-icons';\nimport {PropsWithClassName} from '../Utils';\n\ninterface StatisticsItemNumericProps extends PropsWithClassName {\n icon: IconDefinition;\n value: string;\n subtitle?: string;\n}\n\nclass StatisticsItemNumeric extends React.PureComponent<StatisticsItemNumericProps> {\n static displayName: string = 'StatisticsItemNumeric';\n\n private renderIcon(): React.ReactNode {\n return (\n <span className='stats-item-numeric-icon-wrap'>\n <FontAwesomeIcon className='fa-fw' icon={this.props.icon} />\n </span>\n );\n }\n\n private renderValue(): React.ReactNode {\n if (this.props.value == null) {\n return null;\n }\n\n return <div className='stats-item-numeric-value'>{this.props.value}</div>;\n }\n\n private renderSubtitle(): React.ReactNode {\n if (this.props.subtitle == null) {\n return null;\n }\n\n return <div className='stats-item-numeric-subtitle'>{this.props.subtitle}</div>;\n }\n\n private renderContent(): React.ReactNode {\n return (\n <div className='stats-item-numeric-content'>\n {this.renderIcon()}\n {this.renderValue()}\n {this.renderSubtitle()}\n </div>\n );\n }\n\n public render(): React.ReactNode {\n const className: string = classnames('stats-item-numeric', this.props.className);\n\n return <div className={className}>{this.renderContent()}</div>;\n }\n}\n\nexport {StatisticsItemNumeric, StatisticsItemNumericProps};\n","export * from './StatisticsItemNumeric';\n","import React from 'react';\nimport {LabelFormatter, ValueFormatter} from '@nivo/bar';\nimport autobind from 'autobind-decorator';\nimport {DataPoint} from '../Utils/CommonTypes';\nimport {gray400} from '../Utils/Style';\nimport {normalizePercentage} from '../Utils/Statistics';\n\ninterface StatisticsSVGLegendProps {\n data: DataPoint[];\n valueFormat?: ValueFormatter;\n labelFormat?: LabelFormatter;\n x: number;\n y: number;\n width?: number;\n dy?: number;\n fontSize?: number;\n colors?: string[];\n}\n\nexport class StatisticsSVGLegend extends React.PureComponent<StatisticsSVGLegendProps> {\n static displayName: string = 'StatisticsSVGLegend';\n\n public static defaultProps: Partial<StatisticsSVGLegendProps> = {\n dy: 0,\n fontSize: 11,\n colors: [],\n };\n\n @autobind\n private renderSVGDataInfoBit(item: DataPoint, i: number): React.ReactNode {\n let label = item.label ?? '',\n percentage = this.renderPercentage(item),\n dot = this.renderCircle(this.props.colors?.[i]);\n\n return (\n <React.Fragment key={`${item.label}-legend-data`}>\n {dot}\n <text\n x={this.props.x}\n y={this.props.y}\n fill={gray400}\n fontSize={this.props.fontSize}\n key={`${item.label}-legend-data`}\n >\n <tspan dx={dot == null ? 0 : 10}>{this.props.labelFormat?.(label) ?? label}</tspan>\n <tspan x={this.getRightElementX()} dx={5} fill='black' fontWeight='bold' textAnchor='end'>\n {this.props.valueFormat?.(item.value) ?? item.value}\n </tspan>\n {percentage}\n </text>\n </React.Fragment>\n );\n }\n\n @autobind\n private renderSVGDataInfoBitMoreItems(item: DataPoint, i: number): React.ReactNode {\n let label = item.label ?? '',\n percentage = this.renderPercentage(item),\n dot = this.renderCircle(this.props.colors?.[i]);\n\n return (\n <React.Fragment key={`${item.label}-legend-data-items`}>\n {dot}\n <tspan dx={i === 0 || dot != null ? 0 : 10} fill={gray400}>\n {this.props.labelFormat?.(label) ?? label}\n </tspan>\n <tspan dx={5} fill='black' fontWeight='bold'>\n {this.props.valueFormat?.(item.value) ?? item.value}\n </tspan>\n {percentage}\n </React.Fragment>\n );\n }\n\n private renderCircle(color: string | undefined): React.ReactNode {\n if (color == null) {\n return null;\n }\n return <circle cx={this.props.x} cy={this.props.y - 3} r='5' fill={color} />;\n }\n\n private renderPercentage(item: DataPoint): React.ReactNode {\n let percentage = item.percentage != null ? normalizePercentage(item.percentage) : null;\n if (percentage == null) {\n return null;\n }\n return (\n <tspan x={this.getRightElementX()} dx={5} fill={this.props.colors?.[0]}>\n {percentage}\n </tspan>\n );\n }\n\n private getRightElementX(): number | undefined {\n let width = this.props.width;\n if (width == null) {\n return undefined;\n }\n\n return (this.props.x === 0 ? width / 2 : width) - 18;\n }\n\n private removeItemIfNoValue(propsData: DataPoint[]): DataPoint[] {\n return propsData.filter((item: DataPoint) => item.value !== null);\n }\n\n public render(): React.ReactNode {\n let legendData = this.removeItemIfNoValue(this.props.data);\n\n if (legendData?.length > 1) {\n return (\n <g>\n <text\n x={this.props.x}\n y={this.props.y}\n dy={this.props.dy}\n fill={gray400}\n fontSize={this.props.fontSize}\n key='legend-data-bit'\n className='legend-data-bit'\n >\n {legendData.map(this.renderSVGDataInfoBitMoreItems)}\n </text>\n </g>\n );\n }\n return <g>{legendData.map(this.renderSVGDataInfoBit)}</g>;\n }\n}\n","import classnames from 'classnames';\nimport React from 'react';\nimport Col from 'react-bootstrap/Col';\n// eslint-disable-next-line import/no-internal-modules\nimport {faCircle} from '@fortawesome/pro-solid-svg-icons/faCircle';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {Layout} from '../Histogram/Types';\nimport {NumberToStringFormatterType} from '../Utils/CommonTypes';\nimport {EllipsableContent} from '../EllipsableContent';\nimport {isStringEmpty} from '../Utils/Text';\nimport {normalizePercentage} from '../Utils/Statistics';\nimport {StatisticsLegendData} from './StatisticsLegend';\n\nexport interface StatisticsLegendItemProps {\n /**\n * The accessor for the label. It can be used with or without the value.\n * If your data has this key and you want it not to be present in the data,\n * leave this prop without value.\n * */\n legendDataLabelKey?: string;\n /**\n * The accessor for the value. It can be used with or without the label.\n * If your data has this key and you want it not to be present in the data,\n * leave this prop without value.\n * */\n legendDataValueKey?: string;\n /**\n * The accessor for the percentage.\n * If your data has this key and you want it not to be present in the data,\n * leave this prop without value.\n * */\n legendDataPercentageKey?: string;\n numberToStringFormatter?: NumberToStringFormatterType;\n /**\n * id?: string;\n * label?: string;\n * percentage?: number;\n * value?: number;\n * */\n data: StatisticsLegendData;\n /** hexadecimal color */\n color: string;\n /** This string will be displayed in the legend of the 'other' slice */\n otherId?: string;\n key?: string;\n /** This prop is usable only with layout = vertical */\n columnNumber: 1 | 2 | 3;\n /** Please use the columnNumber prop to customize the column number when layout is vertical */\n layout: Layout;\n}\n\nexport class StatisticsLegendItem extends React.PureComponent<StatisticsLegendItemProps> {\n static displayName: string = 'StatisticsLegendItem';\n\n private renderRightBlock(): React.ReactNode {\n let items = [this.renderValue(), this.renderPercentage()].filter((node) => node != null);\n if (items.length == null) {\n return null;\n }\n\n return <EllipsableContent.Append>{items}</EllipsableContent.Append>;\n }\n\n private renderValue(): React.ReactNode {\n let {legendDataValueKey, numberToStringFormatter, data} = this.props;\n if (legendDataValueKey == null || data[legendDataValueKey] == null) {\n return null;\n }\n let value = data[legendDataValueKey],\n newValue = numberToStringFormatter ? numberToStringFormatter(value) : String(value);\n return (\n <div key='value-container' className='value-container font-weight-bold text-nowrap'>\n {newValue}\n </div>\n );\n }\n\n private renderPercentage(): React.ReactNode {\n let {legendDataPercentageKey, data} = this.props;\n if (legendDataPercentageKey == null || data[legendDataPercentageKey] == null) {\n return null;\n }\n\n const percentage = normalizePercentage(data[legendDataPercentageKey]);\n return (\n <div key='percentage-container' className='percentage-container ml-1'>\n {percentage}\n </div>\n );\n }\n\n private renderOtherLabel(data: StatisticsLegendData): string {\n if (isStringEmpty(data.label)) {\n return String(data?.id ?? '');\n }\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return data!.label!;\n }\n\n private renderLabel(): string {\n let {legendDataLabelKey, data, otherId} = this.props;\n\n if (data.id === otherId) {\n return this.renderOtherLabel(data);\n }\n\n return legendDataLabelKey == null ? null : data?.[legendDataLabelKey];\n }\n\n public render(): React.ReactNode {\n let {columnNumber, color, data} = this.props;\n\n let className = classnames('legend-item px-1', {\n 'flex-basis-0': this.props.layout === 'horizontal',\n });\n\n return (\n <Col sm={24 / columnNumber} className={className} key={`legend-item-${data.id}`}>\n <EllipsableContent className='label-container w-100 justify-content-between'>\n <EllipsableContent.Content>\n <FontAwesomeIcon icon={faCircle} color={color} className='mr-1' />\n {this.renderLabel()}\n </EllipsableContent.Content>\n {this.renderRightBlock()}\n </EllipsableContent>\n </Col>\n );\n }\n}\n","import React from 'react';\nimport Container from 'react-bootstrap/Container';\nimport Row from 'react-bootstrap/Row';\n\nimport './StatisticsLegend.less';\nimport {DataPoint, NumberToStringFormatterType} from '../Utils/CommonTypes';\nimport {Layout} from '../Histogram/Types';\nimport {StatisticsLegendItem} from './StatisticsLegendItem';\n\nexport type StatisticsLegendData = Pick<Partial<DataPoint>, 'id' | 'percentage' | 'label' | 'value'>;\n\nexport interface StatisticsLegendProps {\n data: StatisticsLegendData[];\n /**\n * The accessor for the label. It can be used with or without the value.\n * If your data has this key and you want it not to be present in the data,\n * leave this prop without value.\n * */\n legendDataLabelKey?: string;\n /**\n * The accessor for the value. It can be used with or without the label.\n * If your data has this key and you want it not to be present in the data,\n * leave this prop without value.\n * */\n legendDataValueKey?: string;\n /**\n * The accessor for the percentage.\n * If your data has this key and you want it not to be present in the data,\n * leave this prop without value.\n * */\n legendDataPercentageKey?: string;\n /** This string will be displayed in the legend of the 'other' slice */\n otherId?: string;\n colors: string[];\n numberToStringFormatter?: NumberToStringFormatterType;\n /** Please use the columnNumber prop to customize the column number when the layout is vertical */\n layout?: Layout;\n /** This prop is usable only with layout = vertical */\n columnNumber?: 1 | 2 | 3;\n}\n\nexport const StatisticsLegend: React.FC<StatisticsLegendProps> = React.memo(\n ({\n data,\n otherId,\n colors,\n layout = 'vertical',\n columnNumber = 2,\n numberToStringFormatter,\n legendDataLabelKey,\n legendDataValueKey,\n legendDataPercentageKey,\n }) => {\n // eslint-disable-next-line react/display-name\n function renderItem(item: StatisticsLegendData, i: number) {\n let {id} = item,\n color = id === otherId ? colors?.[colors.length - 1] : colors?.[i];\n return (\n <StatisticsLegendItem\n data={item}\n numberToStringFormatter={numberToStringFormatter}\n legendDataValueKey={legendDataValueKey}\n legendDataLabelKey={legendDataLabelKey}\n legendDataPercentageKey={legendDataPercentageKey}\n color={color}\n otherId={otherId}\n key={id + color}\n columnNumber={columnNumber}\n layout={layout}\n />\n );\n }\n\n function removeItemIfOtherWithNoValue(propsData: StatisticsLegendData[]): StatisticsLegendData[] {\n return propsData.filter((item: StatisticsLegendData) => item.value !== 0 || item.id !== otherId);\n }\n\n let legendData = removeItemIfOtherWithNoValue(data);\n\n if (layout === 'horizontal') {\n return <div className='legend-container'>{legendData.map(renderItem)}</div>;\n }\n\n return (\n <Container className='legend-container'>\n <Row className='w-100'>{legendData.map(renderItem)}</Row>\n </Container>\n );\n },\n);\n\nStatisticsLegend.displayName = 'StatisticsLegend';\n","import React from 'react';\nimport {Layout} from '../Histogram/Types';\nimport {NumberToStringFormatterType} from '../Utils/CommonTypes';\nimport {StatisticsLegendData} from './StatisticsLegend';\nimport {StatisticsLegend} from './index';\n\nexport interface getRenderStatisticsLegendData {\n data: StatisticsLegendData[];\n otherId: string;\n colors: [];\n numberToStringFormatter?: NumberToStringFormatterType;\n}\n\nexport interface StatisticsLegendPropsFromUser {\n legendDataLabelKey?: string;\n legendDataValueKey?: string;\n legendDataPercentageKey?: string;\n layout?: Layout;\n columnsNumber?: 1 | 2 | 3;\n}\n\nexport type getRenderStatisticsLegendType = ({\n legendDataLabelKey,\n legendDataValueKey,\n legendDataPercentageKey,\n layout,\n columnsNumber,\n}: StatisticsLegendPropsFromUser) => (props: getRenderStatisticsLegendData) => JSX.Element;\n\nexport const getRenderStatisticsLegend: getRenderStatisticsLegendType =\n ({legendDataLabelKey, legendDataValueKey, legendDataPercentageKey, layout, columnsNumber}) =>\n ({data, otherId, colors, numberToStringFormatter}) => {\n return (\n <StatisticsLegend\n layout={layout}\n data={data}\n otherId={otherId}\n colors={colors}\n columnNumber={columnsNumber}\n numberToStringFormatter={numberToStringFormatter}\n legendDataLabelKey={legendDataLabelKey}\n legendDataValueKey={legendDataValueKey}\n legendDataPercentageKey={legendDataPercentageKey}\n />\n );\n };\n","export {StatisticsLegend, StatisticsLegendProps} from './StatisticsLegend';\nexport {getRenderStatisticsLegend} from './helpers';\nexport {StatisticsSVGLegend} from './StatisticsSVGLegend';\n","import React from 'react';\nimport {NumberToStringFormatterType} from '../Utils/CommonTypes';\n\nimport {StatisticsTooltip} from './index';\n\nexport interface getRenderStatisticsTooltipData<B> {\n color?: string;\n data: B;\n}\n\ninterface PropsFromAbove {\n tooltipDataLabelKey?: string;\n tooltipDataValueKey?: string;\n tooltipDataTitleKey?: string;\n otherId?: string;\n numberToStringFormatter?: NumberToStringFormatterType;\n otherLabel?: string;\n withColor?: boolean;\n className?: string | null;\n}\n\nexport type GetRenderStatisticsTooltipType<T> = (props: getRenderStatisticsTooltipData<T>) => JSX.Element;\n\nexport function getRenderStatisticsTooltip<A>({\n tooltipDataLabelKey,\n tooltipDataValueKey,\n tooltipDataTitleKey,\n otherId,\n otherLabel,\n numberToStringFormatter,\n withColor,\n className = 'tooltip-background',\n}: PropsFromAbove): GetRenderStatisticsTooltipType<A> {\n // eslint-disable-next-line react/display-name\n return (props) => {\n let tooltipData = {\n ...props.data,\n value: props.data?.['value'],\n label: props.data?.['label'],\n id: props.data?.['id'],\n percentage: props.data?.['percentage'],\n };\n\n return (\n <StatisticsTooltip\n otherId={otherId}\n otherLabel={otherLabel}\n numberToStringFormatter={numberToStringFormatter}\n data={tooltipData}\n tooltipDataLabelKey={tooltipDataLabelKey}\n tooltipDataTitleKey={tooltipDataTitleKey}\n tooltipDataValueKey={tooltipDataValueKey}\n className={className ?? ''}\n color={withColor ? props.color : undefined}\n />\n );\n };\n}\n","import React from 'react';\nimport classnames from 'classnames';\nimport {PropsWithClassName, NumberToStringFormatterType} from '../Utils/CommonTypes';\nimport {normalizePercentage} from '../Utils/Statistics';\n\nexport interface TooltipData {\n value: string | number | null;\n label?: string | number;\n id: string;\n percentage?: number;\n}\n\n// The style for this component is in the atoka-bs.less file under the statistics-tooltip class\nexport interface StatisticsTooltipProps extends PropsWithClassName {\n data: TooltipData;\n tooltipDataLabelKey?: string;\n tooltipDataValueKey?: string;\n tooltipDataTitleKey?: string;\n otherId?: string;\n otherLabel?: string;\n color?: string;\n withColor?: boolean;\n numberToStringFormatter?: NumberToStringFormatterType;\n}\n\nexport const StatisticsTooltip = React.memo(\n (props: React.PropsWithChildren<StatisticsTooltipProps>): React.ReactElement => {\n // eslint-disable-next-line react/display-name\n function renderSubtitle(): React.ReactNode {\n let values = [\n {value: getLabel(), key: props.tooltipDataLabelKey, className: 'label'},\n {value: getValue(), key: props.tooltipDataValueKey, className: 'value'},\n ]\n .filter((el) => el.value != null)\n .map((el) => (\n <span key={el.key} className={el.className}>\n {el.value}\n </span>\n ));\n\n if (values.length === 0) {\n return null;\n }\n\n return <div className='d-flex justify-content-between'>{values}</div>;\n }\n\n function getLabel(): string | undefined {\n let {tooltipDataLabelKey, numberToStringFormatter, data} = props,\n label = getValueFromData(tooltipDataLabelKey, data);\n\n if (label == null) {\n return undefined;\n }\n\n if (numberToStringFormatter == null) {\n return String(label);\n }\n\n if (typeof label == 'string') {\n return label;\n }\n\n return numberToStringFormatter(label);\n }\n\n function getValue(): string | undefined {\n let {tooltipDataValueKey, data} = props,\n value = getValueFromData(tooltipDataValueKey, data);\n\n if (value == null) {\n return undefined;\n }\n\n if (typeof value == 'number') {\n return normalizePercentage(value);\n }\n\n return value;\n }\n\n function getTitle(): string | undefined {\n let {tooltipDataTitleKey, data, otherId, otherLabel} = props,\n title = getValueFromData(tooltipDataTitleKey, data);\n\n if (title === otherId) {\n return otherLabel ?? otherId;\n }\n\n return title ? String(title) : undefined;\n }\n\n function getValueFromData(key: string | undefined, data: TooltipData): string | number | undefined {\n return key == null ? undefined : data?.[key];\n }\n\n let className = classnames('statistics-tooltip', props?.className),\n colorRectangle =\n props.color == null ? null : <span className='tooltip-rectangle' style={{background: props.color}} />;\n\n return (\n <div className={className}>\n <div className='d-flex align-items-center'>\n {colorRectangle}\n <span className='text-left'>{getTitle()}</span>\n </div>\n {renderSubtitle()}\n {props.children}\n </div>\n );\n },\n);\n\nStatisticsTooltip.displayName = 'StatisticsTooltip';\n","export * from './StatisticsTooltip';\nexport {getRenderStatisticsTooltip, GetRenderStatisticsTooltipType} from './helpers';\n","import React from 'react';\n\nimport classnames from 'classnames';\n\nimport './CustomOption.less';\nimport {HighlightableText} from '../HighlightableText';\nimport {isStringEmpty} from '../Utils/Text';\nimport {OptionData, PropsWithClassName} from '../Utils/CommonTypes';\n\nexport interface CustomOptionProps extends PropsWithClassName {\n item: OptionData;\n /** The accessor for the custom value which has an uppercase style */\n optionDataCustomValueKey?: string;\n /** The accessor for the value. It can be used with or without the label.\n * If your data has this key and you want it not to be present in the option,\n * leave this prop without value.\n * */\n optionDataValueKey?: string;\n /** The accessor for the label. It can be used with or without the value\n * If your data has this key and you want it not to be present in the option,\n * leave this prop without value.\n * */\n optionDataLabelKey?: string;\n /**\n * The selected text which will appear highlighted with `Suggester` hightlightedColor prop\n * */\n selectedText?: string;\n}\n\n/**\n * ### Overview\n *\n * The `CustomOption` also supports to have children.\n * You can use the `.custom-value` class also in its children if you want it to be styled in uppercase.\n * */\nexport const CustomOption: React.FC<React.PropsWithChildren<CustomOptionProps>> = ({\n item,\n optionDataValueKey,\n optionDataLabelKey,\n optionDataCustomValueKey,\n children,\n selectedText,\n className,\n}) => {\n function getLabel(key: string): React.ReactNode {\n if (!isStringEmpty(selectedText)) {\n return <HighlightableText highlighted={selectedText}>{item[key]}</HighlightableText>;\n }\n\n return item[key];\n }\n\n // eslint-disable-next-line react/display-name\n function updateOptionContent(value: React.ReactNode, optionLabelKey: string): React.ReactNode {\n if (value === '') {\n return <span className='label'>{getLabel(optionLabelKey)}</span>;\n }\n return (\n <>\n <span className='label mr-1'>{value}:</span>\n {getLabel(optionLabelKey)}\n </>\n );\n }\n\n let optionContent: React.ReactNode = '',\n customValue = null;\n if (optionDataValueKey && item[optionDataValueKey] != null) {\n optionContent = getLabel(optionDataValueKey);\n }\n\n if (optionDataLabelKey && item[optionDataLabelKey] != null) {\n optionContent = updateOptionContent(optionContent, optionDataLabelKey);\n }\n\n if (optionDataCustomValueKey && item[optionDataCustomValueKey] != null) {\n customValue = <span className='custom-value ml-2'>{item[optionDataCustomValueKey]}</span>;\n }\n const classNames = classnames('option-data-item overflow-hidden', className);\n return (\n <span className={classNames}>\n {optionContent}\n {customValue}\n {children}\n </span>\n );\n};\n\nCustomOption.displayName = 'CustomOption';\n","import {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport React from 'react';\nimport {components, ValueContainerProps} from 'react-select';\n\nimport {IconDefinition} from '@fortawesome/pro-light-svg-icons';\nimport {OptionData} from '../Utils/CommonTypes';\n\ninterface InputValueContainerProps extends ValueContainerProps<OptionData, false> {\n icon?: IconDefinition | null;\n}\n\nexport const InputValueContainer = ({children, icon, ...props}: InputValueContainerProps): JSX.Element | null => {\n // eslint-disable-next-line react/display-name\n function renderIcon(): React.ReactNode {\n if (children == null || icon == null) {\n return null;\n }\n return <FontAwesomeIcon icon={icon} />;\n }\n if (components.ValueContainer == null) {\n return null;\n }\n\n return (\n <components.ValueContainer {...props} className='input-value-container'>\n {renderIcon()}\n {children}\n </components.ValueContainer>\n );\n};\n\nInputValueContainer.displayName = 'InputValueContainer';\n","import React from 'react';\nimport classnames from 'classnames';\nimport {components, MultiValueProps} from 'react-select';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {IconDefinition} from '@fortawesome/pro-light-svg-icons';\nimport {BadgeColor} from '../Badge';\n\nimport './getRenderCustomMultiValueWithIcon.less';\nimport {OptionData} from '../Utils/CommonTypes';\n\nexport const getRenderCustomMultiValueWithIcon =\n (icon?: IconDefinition, color: Extract<BadgeColor, 'blue300'> | 'gray275' = 'blue300') =>\n (props: MultiValueProps<OptionData>): JSX.Element => {\n // eslint-disable-next-line react/display-name\n function getIcon() {\n if (icon == null) {\n return null;\n }\n return (\n <div className='icon-container'>\n <FontAwesomeIcon icon={icon} />\n </div>\n );\n }\n let className = classnames('custom-multi-value-with-icon', props.className, color),\n labelClassName = classnames({'ml-1': icon != null, 'ml-2': icon == null});\n return (\n <components.MultiValue {...props} className={className}>\n {getIcon()}\n <span className={labelClassName}>{props.data.label}</span>\n </components.MultiValue>\n );\n };\n","import React from 'react';\nimport Select, {\n components,\n OptionProps,\n SelectComponentsConfig,\n MultiValueProps,\n ValueContainerProps,\n} from 'react-select';\nimport classnames from 'classnames';\nimport autobind from 'autobind-decorator';\nimport AsyncSelect from 'react-select/async';\nimport {IconDefinition} from '@fortawesome/pro-light-svg-icons';\nimport {faSearch} from '@fortawesome/pro-light-svg-icons/faSearch';\nimport {OptionData, PropsWithClassName} from '../Utils/CommonTypes';\n\nimport {Debouncer} from '../Utils/Utils';\nimport {CustomOption} from './CustomOption';\nimport {InputValueContainer} from './InputValueContainer';\n\nimport './Suggester.less';\nimport {getRenderCustomMultiValueWithIcon} from './getRenderCustomMultiValueWithIcon';\n\nexport interface Option<T> {\n label: string;\n value: string;\n data: T;\n}\n\nexport type RenderMultiValueContainer = (props: MultiValueProps<OptionData>) => JSX.Element;\n\nexport interface SuggesterProps<T> extends PropsWithClassName {\n /** Use this prop to null if you want to clear the input after choosing a value */\n value?: OptionData[] | null | undefined;\n /** This prop is supposed to be used with onChange and allows the component to be controlled from outside.*/\n selectedOption?: OptionData;\n /** This prop is supposed to be used with selectedOption props and allows the component to be controlled from outside.*/\n onChange?: (item: Option<T>[]) => void;\n /**\n * {\n value: string\n label?: string\n }\n * */\n options?: OptionData[];\n /**\n * You can use the Suggester.CustomOption here (or create your own render function)\n * */\n renderSuggestedOption?: (item: OptionData, insertedText?: string) => React.ReactNode;\n filterOption?: (option: Option<T>, rawInput: string) => boolean;\n placeholder: string;\n withShadow?: boolean;\n withHighlight?: boolean;\n hasError?: boolean;\n /** This prop is most useful when isAsync=true, it will be displayed if something went wrong with the loadOptions */\n errorMessage: string;\n /** This prop is most useful when isAsync=true, it will be displayed in the option container before the user starts writing */\n emptyMessage: string;\n /** This will be displayed if the user has written but no result has been found */\n noResultsMessage: string;\n isDisabled?: boolean;\n isAsync?: boolean;\n debouncer?: Debouncer;\n isMulti?: boolean;\n /** You can customize the badges for the multiValue which are rendered inside the input using this prop */\n renderMultiValueContainer?: RenderMultiValueContainer;\n loadOptions?: (input: string, callback: (items: Option<T>[]) => void) => void;\n /** The input icon. Set this prop to null if you don't want it */\n icon?: IconDefinition | null;\n}\n\ninterface SuggesterState {\n insertedText: string;\n}\n// eslint-disable-next-line react/display-name\nconst DefaultSuggestedOption: (item: OptionData, insertedText?: string) => JSX.Element = (item, insertedText) => (\n <Suggester.CustomOption item={item} optionDataValueKey='label' selectedText={insertedText} />\n);\n\nconst DefaultMultiValue = getRenderCustomMultiValueWithIcon();\n/**\n * ### Overview\n *\n * The `Suggester` allows users to either filter or sort items in a list according to specific parameters.\n * It can be used in sync as well as in async.\n * */\nexport class Suggester<T> extends React.Component<SuggesterProps<T>, SuggesterState> {\n static displayName: string = 'Suggester';\n static CustomOption: typeof CustomOption = CustomOption;\n\n static defaultProps: Partial<SuggesterProps<OptionData>> = {\n withShadow: false,\n withHighlight: false,\n isAsync: false,\n isMulti: false,\n hasError: false,\n renderSuggestedOption: DefaultSuggestedOption,\n errorMessage: '',\n emptyMessage: '',\n noResultsMessage: '',\n icon: faSearch,\n renderMultiValueContainer: DefaultMultiValue,\n };\n\n public state: SuggesterState = {\n insertedText: '',\n };\n\n @autobind\n private loadOptions(input: string, callback: (items: Option<T>[]) => void): void {\n this.props?.loadOptions?.(input, callback);\n }\n\n @autobind\n private getOptionsAsync(input: string, callback: (items: Option<T>[]) => void): void {\n if (this.props.debouncer == null) {\n this.loadOptions(input, callback);\n }\n\n this.props?.debouncer?.(() => this.loadOptions(input, callback));\n }\n\n @autobind\n private getNoResultsText(): string {\n if (this.props.hasError) {\n return this.props.errorMessage;\n }\n\n if (this.state.insertedText === '') {\n return this.props.emptyMessage;\n }\n\n return this.props.noResultsMessage;\n }\n\n @autobind\n private renderNoOptionsMessage(props: OptionProps<OptionData, false>): JSX.Element {\n const className: string = classnames({\n invalid: this.props?.hasError,\n });\n return (\n <components.NoOptionsMessage {...props} className={className}>\n {this.getNoResultsText()}\n </components.NoOptionsMessage>\n );\n }\n\n @autobind\n private handleOnInputChange(newValue: string): string {\n if (this.props.hasError) {\n return '';\n }\n this.setState({insertedText: newValue});\n return newValue;\n }\n\n @autobind\n private renderLoadingMessage(props: OptionProps<OptionData, false>): JSX.Element {\n return <components.LoadingMessage {...props}>{this.props.children}</components.LoadingMessage>;\n }\n\n @autobind\n private renderOptionContainer(props: OptionProps<OptionData, false>): JSX.Element {\n let optionProps: [OptionData, string?] = [props.data];\n if (this.props.withHighlight) {\n optionProps.push(this.state.insertedText);\n }\n return <components.Option {...props}>{this.props.renderSuggestedOption?.(...optionProps)}</components.Option>;\n }\n\n @autobind\n private renderValueContainer(props: ValueContainerProps<OptionData, false>): JSX.Element {\n return (\n <InputValueContainer icon={this.props.icon} {...props}>\n {props.children}\n </InputValueContainer>\n );\n }\n\n private getComponentsConfig(): SelectComponentsConfig<OptionData, boolean> {\n return {\n Option: this.renderOptionContainer,\n ValueContainer: this.renderValueContainer,\n IndicatorsContainer: () => null,\n NoOptionsMessage: this.renderNoOptionsMessage,\n LoadingMessage: this.renderLoadingMessage,\n MultiValue: this.props.renderMultiValueContainer,\n };\n }\n\n @autobind\n private isOptionDisabled(option: OptionData): boolean {\n if (this.props?.selectedOption == null) {\n return false;\n }\n\n return option?.value === this.props.selectedOption?.value;\n }\n\n @autobind\n private handleChange(item: Option<T> | Option<T>[]): void {\n this.setState({insertedText: ''});\n if (item == null) {\n this.props?.onChange?.([]);\n return;\n }\n if (!Array.isArray(item)) {\n this.props?.onChange?.([item]);\n return;\n }\n\n this.props?.onChange?.(item);\n }\n\n public render(): React.ReactNode {\n const className: string = classnames('atoka-suggester', this.props.className, {\n 'atoka-shadow': this.props.withShadow === true,\n 'with-icon': this.props.icon != null,\n }),\n commonProps = {\n value: this.props?.value,\n isClearable: false,\n components: this.getComponentsConfig(),\n classNamePrefix: 'suggester',\n placeholder: this.props.placeholder,\n isOptionDisabled: this.isOptionDisabled,\n filterOption: this.props.filterOption,\n onInputChange: this.handleOnInputChange,\n inputValue: this.state.insertedText,\n isMulti: this.props.isMulti,\n isDisabled: this.props.isDisabled,\n onChange: this.handleChange,\n };\n\n if (this.props.isAsync) {\n return (\n <div className={className}>\n <AsyncSelect\n {...commonProps}\n value={this.props.value}\n loadOptions={this.getOptionsAsync}\n defaultOptions={this.props.options}\n />\n </div>\n );\n }\n\n return (\n <div className={className}>\n <Select {...commonProps} defaultValue={this.props?.selectedOption} options={this.props.options ?? []} />\n </div>\n );\n }\n}\n","export {Suggester, SuggesterProps, RenderMultiValueContainer} from './Suggester';\nexport {getRenderCustomMultiValueWithIcon} from './getRenderCustomMultiValueWithIcon';\nexport {CustomOptionProps} from './CustomOption';\n","import React from 'react';\nimport {boundMethod} from 'autobind-decorator';\nimport {ComputedDatum, ResponsiveSunburst, SunburstCustomLayerProps, SunburstSvgProps} from '@nivo/sunburst';\nimport classNames from 'classnames';\nimport {deepEqual} from '../Utils/Utils';\nimport {blue100, gray400, pink100, pink200, purple, salmon, viola} from '../Utils/Style';\nimport {createDataWithOtherSlice} from '../Utils/Statistics';\nimport {BasePieItemData, NumberToStringFormatterType, PropsWithClassName} from '../Utils/CommonTypes';\nimport {getRenderStatisticsTooltip} from '../StatisticsTooltip';\n\nexport interface SunBurstItemData extends BasePieItemData {\n children?: SunBurstItemData[];\n}\nexport interface SunBurstProps extends Pick<SunburstSvgProps<SunBurstItemData>, 'animate'>, PropsWithClassName {\n /** The id should be unique */\n id: string;\n data: SunBurstItemData[];\n /** This string is necessary if the data already contains an 'other' node. In this case,\n * you want to be able to target correctly this node to be added in your other node,\n * but also be able to have a label you choose, for instance, to be translated in other languages\n * */\n otherLabel?: string;\n /** This string will be displayed in the tooltip of the other slice */\n otherId?: string;\n /** Use the `getRenderStatisticsTooltip` HOF */\n renderTooltip?: (props: ComputedDatum<SunBurstItemData>) => JSX.Element;\n /**\n * Define this if you need to remove some slices from the `Sunburst`.\n * All the removed slices will be grouped into an 'other' slice */\n maxSlicesNumber?: number;\n /**\n * Colors length need to be equals to data length.\n * If a `maxSlicesNumber` is defined, colors length need to be `maxSlicesNumber + 1` length */\n colors?: string[];\n /** The `chartRef` is necessary when we want to download a png from the chart */\n chartRef?: React.RefObject<HTMLDivElement>;\n /** If a `maxSlicesNumber` is defined, total is mandatory and it is the sum of all the values in data */\n total?: number;\n /** The `height` must be in px, or a wrapper around must have an height with pixels to which the component will adjust */\n height?: string;\n /** If `withNumber` is defined, the `Sunburst` will calculate the total of all your data's values to display a centered number. */\n withNumber?: boolean;\n numberToStringFormatter?: NumberToStringFormatterType;\n /** You can give a special formatter for the tooltip additionally to the numberToStringFormatter */\n tooltipValueFormat?: NumberToStringFormatterType;\n}\n\ninterface SunBurstState {\n data: SunBurstItemData;\n}\n\n/**\n * ### Overview\n *\n * The `Sunburst` is best suited to represent data structured as a tree.\n * If your data has no depth, maybe the `Piechart` can be of help!\n * */\nexport class SunBurst extends React.Component<SunBurstProps, SunBurstState> {\n static displayName: string = 'SunBurst';\n private renderTooltip: (props: ComputedDatum<SunBurstItemData>) => JSX.Element;\n static defaultProps: Partial<SunBurstProps> = {\n colors: [blue100, purple, viola, pink200, pink100, salmon, gray400],\n otherId: 'other',\n height: '100%',\n animate: true,\n };\n\n public state: SunBurstState = {\n data: {id: '', children: [], label: ''},\n };\n\n public componentDidUpdate(prevProps: Readonly<SunBurstProps>): void {\n if (deepEqual(prevProps, this.props)) {\n return;\n }\n this.setupComponent();\n }\n\n public componentDidMount(): void {\n this.setupComponent();\n }\n\n private setupComponent(): void {\n let {colors, maxSlicesNumber} = this.props;\n if (colors == null) {\n throw Error(\n 'What are the odds a developer voluntarily chooses to give the colors a null value with a default prop defined? Congrats!',\n );\n }\n\n if (maxSlicesNumber && maxSlicesNumber + 1 !== colors.length) {\n throw Error(\n 'With a maxSliceNumber prop, maxSlicesNumber + 1 must be of the same length as the colors.length prop',\n );\n }\n let children = createDataWithOtherSlice<SunBurstItemData>(\n this.props?.data ?? [],\n this.props?.otherId,\n this.props?.otherLabel,\n this.props?.maxSlicesNumber ?? Infinity,\n this.props?.total,\n );\n\n this.renderTooltip = getRenderStatisticsTooltip({\n tooltipDataLabelKey: 'value',\n tooltipDataValueKey: 'percentage',\n tooltipDataTitleKey: 'label',\n otherId: this.props.otherId,\n withColor: true,\n numberToStringFormatter: this.props.tooltipValueFormat ?? this.props.numberToStringFormatter,\n });\n\n this.setState({\n data: {\n id: this.props?.id,\n label: this.props?.id,\n children,\n },\n });\n }\n\n @boundMethod\n private getRenderTooltip(props: ComputedDatum<SunBurstItemData>): JSX.Element {\n const tooltipFunction = this.props.renderTooltip ?? this.renderTooltip,\n // the type of value or initialValue is unknown because it was in the function which creates\n // the other node which have unknown, but we know both can only be undefined or number\n value = props.data?.value || props.data?.initialValue || 0;\n\n return tooltipFunction({\n ...props,\n data: {\n ...props.data,\n value: value as number,\n },\n });\n }\n\n @boundMethod\n private renderCenteredMetric({nodes, centerX, centerY}: SunburstCustomLayerProps<SunBurstItemData>) {\n const total = nodes.reduce(\n (totalValue: number, datum: ComputedDatum<SunBurstItemData>) => totalValue + datum.value,\n 0,\n );\n\n return (\n <text\n x={centerX}\n y={centerY}\n textAnchor='middle'\n fontSize='42px'\n fontWeight='600'\n dominantBaseline='central'\n className='cursor-default'\n >\n {this.props?.numberToStringFormatter?.(total) ?? total}\n </text>\n );\n }\n\n public render(): React.ReactNode {\n const {colors, height, withNumber} = this.props,\n className = classNames('sunburst-container', this.props.className);\n\n return (\n <div id={this.props.id} style={{height, width: height}} ref={this.props.chartRef} className={className}>\n <ResponsiveSunburst\n tooltip={this.getRenderTooltip}\n data={this.state.data}\n margin={{top: 10, right: 10, bottom: 10, left: 10}}\n cornerRadius={0}\n borderColor='#ffff'\n colors={colors}\n childColor={{from: 'color', modifiers: [['brighter', 0.5]]}}\n enableArcLabels={false}\n isInteractive={true}\n layers={withNumber ? ['arcs', 'arcLabels', this.renderCenteredMetric] : undefined}\n animate={this.props.animate}\n />\n </div>\n );\n }\n}\n","export {SunBurstItemData, SunBurst, SunBurstProps} from './SunBurst';\nexport {ComputedDatum} from '@nivo/sunburst';\n","import {IconDefinition} from '@fortawesome/pro-light-svg-icons';\nimport {boundMethod} from 'autobind-decorator';\nimport classnames from 'classnames';\nimport React from 'react';\nimport {Badge} from '../Badge';\nimport {Title} from '../Title';\n\nimport './TabSwitcherChoice.less';\n\nexport interface TabSwitcherChoiceProps {\n isActive: boolean;\n icon?: IconDefinition;\n title: string | null;\n value?: string;\n onClick: () => void;\n}\n\nexport interface TabSwitcherChoiceState {\n width: number | null;\n}\n\n// Removed from the css and put here to avoid flickering when the font is loaded. Keep in sync with @spacing-unit.\nconst HORIZONTAL_PADDING = 3 * 8;\n\nexport class TabSwitcherChoice extends React.PureComponent<TabSwitcherChoiceProps> {\n static displayName: string = 'TabSwitcherChoice';\n public state: TabSwitcherChoiceState = {\n width: null,\n };\n\n private containerRef: React.RefObject<HTMLDivElement> = React.createRef();\n\n public componentDidMount(): void {\n if (this.containerRef.current == null) {\n return;\n }\n\n this.setState({width: this.containerRef.current.getBoundingClientRect().width + 2 * HORIZONTAL_PADDING});\n }\n\n @boundMethod\n private renderTitle(): React.ReactNode {\n const color = this.props.isActive ? 'blue300' : 'gray300';\n if (this.props.value == null) {\n return this.props.title;\n }\n\n return (\n <>\n {this.props.title}{' '}\n <Badge variant='primary' color={color} className='ml-2'>\n {this.props.value}\n </Badge>\n </>\n );\n }\n\n public render(): React.ReactNode {\n let className: string = classnames({\n 'active': this.props.isActive === true,\n 'tab-switcher-choice': true,\n }),\n style = this.state.width == null ? {} : {width: this.state.width};\n\n return (\n <div className={className} onClick={this.props.onClick} ref={this.containerRef} style={style}>\n <Title size='xs' icon={this.props.icon} style={{paddingLeft: 0, paddingRight: 0}}>\n {this.renderTitle()}\n </Title>\n </div>\n );\n }\n}\n","import React from 'react';\nimport classnames from 'classnames';\nimport ButtonGroup from 'react-bootstrap/ButtonGroup';\nimport {PropsWithClassName} from '../Utils';\nimport {deepEqual} from '../Utils/Utils';\nimport {TabSwitcherChoice, TabSwitcherChoiceProps} from './TabSwitcherChoice';\n\nimport './TabSwitcher.less';\n\nexport interface TabSwitcherProps extends PropsWithClassName {\n fullWidth?: boolean;\n}\n\nexport interface TabSwitcherState {\n indicatorLeft: number;\n indicatorWidth: number;\n}\n/**\n * ### Overview\n *\n * Tabs are used to help the user switch between different views within the same context. They are placed above the panel which changes with the user’s click\n *\n * ### Best practices\n * - Use labels that are not too long and that are written in simple language\n * - Do not make more than one row of tabs\n * - Avoid tabs if the content inside them must be shown simultaneously to the user\n */\nexport class TabSwitcher extends React.PureComponent<TabSwitcherProps, TabSwitcherState> {\n static displayName: string = 'TabSwitcher';\n public static Choice: React.ComponentClass<TabSwitcherChoiceProps> = TabSwitcherChoice;\n static defaultProps: Partial<TabSwitcherProps> = {\n fullWidth: false,\n };\n\n public state: TabSwitcherState = {\n indicatorLeft: 0,\n indicatorWidth: 0,\n };\n\n private refObjects: React.RefObject<HTMLSpanElement>[] = [];\n\n componentDidMount(): void {\n // Give some render time to children to set their width correctly\n setTimeout(() => this.calculateIndicatorPosition(), 10);\n }\n\n componentDidUpdate(prevProps: Readonly<TabSwitcherProps>): void {\n if (deepEqual(prevProps, this.props)) {\n return;\n }\n\n this.calculateIndicatorPosition();\n }\n\n private calculateIndicatorPosition(): void {\n React.Children.forEach(this.props.children, (element: React.ReactElement, index: number) => {\n if (element?.type !== TabSwitcherChoice) {\n return;\n }\n\n if (element.props.isActive === false) {\n return;\n }\n\n let activeTab = this.refObjects[index]?.current;\n if (activeTab == null) {\n return;\n }\n\n this.setState({indicatorLeft: activeTab.offsetLeft, indicatorWidth: activeTab.offsetWidth});\n });\n }\n\n private renderIndicator(): React.ReactNode {\n let style: React.CSSProperties = {\n transform: `translate(${this.state.indicatorLeft}px, 0)`,\n width: this.state.indicatorWidth,\n };\n return <span className='indicator' style={style} />;\n }\n\n private renderChildren(): React.ReactNode {\n let ret: React.ReactNode[] = [];\n React.Children.forEach(this.props.children, (element: React.ReactElement, index: number) => {\n if (this.refObjects[index] == null) {\n this.refObjects[index] = React.createRef<HTMLSpanElement>();\n }\n\n if (element?.type === TabSwitcherChoice) {\n ret.push(\n <span ref={this.refObjects[index]} key={index}>\n {element}\n </span>,\n );\n }\n });\n\n return ret;\n }\n\n private renderTabSwitcherRest(): React.ReactNode {\n if (!this.props.fullWidth) {\n return null;\n }\n return <span className='tab-switcher-rest' />;\n }\n\n public render(): React.ReactNode {\n let className = classnames('tab-switcher-container', this.props.className, {\n 'w-100': this.props.fullWidth,\n });\n\n return (\n <ButtonGroup style={{position: 'relative'}} className={className}>\n {this.renderIndicator()}\n {this.renderChildren()}\n {this.renderTabSwitcherRest()}\n </ButtonGroup>\n );\n }\n}\n","export {TabSwitcher} from './TabSwitcher';\n","import React from 'react';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {IconDefinition} from '@fortawesome/pro-light-svg-icons';\nimport classnames from 'classnames';\nimport {PropsWithClassName} from '../Utils';\n\nimport './Title.less';\n\nexport interface TitleProps extends PropsWithClassName {\n icon?: IconDefinition;\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';\n style?: React.CSSProperties;\n}\n\nexport class Title extends React.PureComponent<TitleProps> {\n static displayName: string = 'Title';\n\n static defaultProps: TitleProps = {\n size: 'xxl',\n };\n\n private renderIcon(): React.ReactNode {\n if (this.props.icon == null) {\n return null;\n }\n\n let classNames = classnames({'mr-2': this.props.children !== '' && this.props.children != null});\n\n return <FontAwesomeIcon icon={this.props.icon} className={classNames} fixedWidth />;\n }\n\n private renderContent(): React.ReactNode {\n return (\n <>\n {this.renderIcon()}\n {this.props.children}\n </>\n );\n }\n\n public render(): React.ReactNode {\n let props = {className: this.props.className, style: this.props.style};\n\n switch (this.props.size) {\n case 'xs':\n return <h6 {...props}>{this.renderContent()}</h6>;\n case 'sm':\n return <h5 {...props}>{this.renderContent()}</h5>;\n case 'md':\n return <h4 {...props}>{this.renderContent()}</h4>;\n case 'lg':\n return <h3 {...props}>{this.renderContent()}</h3>;\n case 'xl':\n return <h2 {...props}>{this.renderContent()}</h2>;\n default:\n return <h1 {...props}>{this.renderContent()}</h1>;\n }\n }\n}\n","export {Title} from './Title';\n","import React from 'react';\nimport BsToggleButton, {ToggleButtonProps as BsToggleButtonProps} from 'react-bootstrap/ToggleButton';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {IconDefinition} from '@fortawesome/pro-light-svg-icons';\nimport {Tooltip} from '../Tooltip';\n\nexport interface ToggleButtonProps extends BsToggleButtonProps {\n icon?: IconDefinition;\n tooltipMessage?: React.ReactNode;\n sameSize?: boolean;\n}\n\nexport class ToggleButton extends React.PureComponent<ToggleButtonProps> {\n static displayName: string = 'ToggleButton';\n\n private renderIcon(): React.ReactNode {\n if (this.props.icon == null) {\n return null;\n }\n\n return <FontAwesomeIcon icon={this.props.icon} />;\n }\n\n private renderLabelAndIcon(): React.ReactNode {\n return (\n <div>\n <div className='btn-children d-inline'>{this.props.children}</div>\n {this.renderIcon()}\n </div>\n );\n }\n\n private renderButton(): JSX.Element {\n return (\n <BsToggleButton\n className='atoka-toggle-btn text-center'\n type={this.props.type}\n value={this.props.value}\n checked={this.props.checked}\n onChange={this.props.onChange}\n disabled={this.props.disabled}\n block={this.props.sameSize}\n >\n {this.renderLabelAndIcon()}\n </BsToggleButton>\n );\n }\n\n public render(): React.ReactNode {\n if (this.props.tooltipMessage == null) {\n return this.renderButton();\n }\n\n return (\n <Tooltip placement='top' content={this.props.tooltipMessage}>\n {this.renderButton()}\n </Tooltip>\n );\n }\n}\n","import React from 'react';\nimport autobind from 'autobind-decorator';\nimport classnames from 'classnames';\nimport ButtonGroup from 'react-bootstrap/ButtonGroup';\nimport {IconDefinition} from '@fortawesome/pro-light-svg-icons';\n\nimport {OptionData, PropsWithClassName} from '../Utils/CommonTypes';\n\nimport {ButtonSize} from '../Button';\nimport {ToggleButton} from './ToggleButton';\nimport './ToggleButtonGroup.less';\n\nexport interface ToggleOption extends OptionData {\n icon?: IconDefinition;\n tooltipMessage?: React.ReactNode;\n}\n\nexport interface ToggleButtonGroupProps extends PropsWithClassName {\n size: ButtonSize;\n sameSize?: boolean;\n value?: ToggleOption['value'];\n onChange?: (value: ToggleOption['value']) => void;\n options: ToggleOption[];\n}\n\nexport class ToggleButtonGroup extends React.PureComponent<ToggleButtonGroupProps> {\n static displayName: string = 'ToggleButtonGroup';\n public static defaultProps: ToggleButtonGroupProps = {\n size: 'md',\n options: [],\n };\n\n @autobind\n private onChange(value: ToggleOption['value']): void {\n if (this.props.onChange && value !== this.props.value) {\n this.props.onChange(value);\n }\n }\n\n @autobind\n private renderItem(option: ToggleOption, index: number): React.ReactNode {\n return (\n <ToggleButton\n key={index}\n type='radio'\n value={option.value}\n icon={option.icon}\n onChange={() => this.onChange(option.value)}\n checked={this.props.value === option.value}\n disabled={option.disabled}\n tooltipMessage={option.tooltipMessage}\n sameSize={this.props.sameSize}\n >\n {option.label}\n </ToggleButton>\n );\n }\n\n @autobind\n private renderButtons(): React.ReactNode {\n return this.props.options.map(this.renderItem);\n }\n\n public render(): React.ReactNode {\n const className: string = classnames(\n this.props.className,\n 'atoka-toggle-btn-group',\n 'btn-group-primary',\n `btn-group-${this.props.size}`,\n {\n 'd-flex': this.props.sameSize === true,\n },\n );\n return <ButtonGroup className={className}>{this.renderButtons()}</ButtonGroup>;\n }\n}\n","export {ToggleButtonGroup} from './ToggleButtonGroup';\n","import React from 'react';\nimport classnames from 'classnames';\nimport OverlayTrigger, {OverlayTriggerProps} from 'react-bootstrap/OverlayTrigger';\nimport {PropsWithClassName} from '../Utils';\nimport './Tooltip.less';\n\nexport type TooltipOverlayProps = Omit<OverlayTriggerProps, 'overlay'>;\nexport interface TooltipProps extends TooltipOverlayProps, PropsWithClassName {\n content: React.ReactNode;\n}\n/**\n * ### Overview\n *\n * A tooltip is a short message which is triggered when the users hovers or clicks on a specific element inside the interface.\n *\n * ### Best practices\n * - Don’t use a tooltip when the information you want to place inside it is vital for the user to complete the task\n * - The text inside the tooltip should be brief but helpful\n * - Use tooltips to describe the action of icon-only buttons\n * - Make sure that the tooltip’s placement doesn’t hide its related content behind it\n */\nexport const Tooltip: React.FC<TooltipProps> = React.memo((props) => {\n let bs4v3Wrapper = document.querySelector('.bs4-v3-external-container') as HTMLElement,\n placement = props.placement ?? 'top',\n classNames = classnames('tooltip atoka-tooltip', props.className, {\n 'top bs-tooltip-top': placement.indexOf('top') === 0,\n 'right bs-tooltip-right': placement.indexOf('right') === 0,\n 'bottom bs-tooltip-bottom': placement.indexOf('bottom') === 0,\n 'left bs-tooltip-left': placement.indexOf('left') === 0,\n });\n\n const {content, ...overlayProps} = props,\n renderTooltip: OverlayTriggerProps['overlay'] = ({arrowProps, ...tooltipProps}) => {\n // {vrut} do not pass show to the component, this will raise an error, see PANDA-439\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const {show, ...rest} = tooltipProps,\n component = (\n <div {...rest} className={classNames} role='tooltip'>\n <div className='tooltip-inner'>\n <div className='arrow arrow-back' {...arrowProps} />\n {content}\n <div className='arrow arrow-front' {...arrowProps} />\n </div>\n </div>\n );\n\n return component;\n };\n\n return (\n <OverlayTrigger {...overlayProps} container={bs4v3Wrapper} overlay={renderTooltip}>\n {props.children}\n </OverlayTrigger>\n );\n});\n\nTooltip.displayName = 'Tooltip';\n","export * from './Tooltip';\n","import {clone} from '../Utils/Utils';\nimport {sortObjDesc} from './Utils';\n\nexport function createDataWithOtherSlice<T extends Record<string, unknown>>(\n data: T[],\n otherId?: string,\n otherLabel?: string,\n maxSlicesNumber: number = 0,\n total?: number,\n dataValueKey: string = 'value',\n): T[] {\n let otherValue = 0,\n newOtherId: string = otherId ?? 'other',\n // We know it is defined but Typescript does not get it.\n newmaxSlicesNumber: number = maxSlicesNumber ?? 0,\n newData: T[] = [],\n maxToMinData = data?.sort(sortObjDesc(dataValueKey));\n\n maxToMinData?.forEach((node: T, i: number) => {\n if (i < newmaxSlicesNumber && node.id !== otherId) {\n newData.push(createCleanTree<T>(node));\n } else {\n let nodeValue = Number(node?.value) ?? 0;\n otherValue += nodeValue;\n }\n });\n\n let otherNode = {};\n otherNode['id'] = newOtherId;\n otherNode['value'] = parseFloat(otherValue.toFixed(2));\n otherNode['initialValue'] = parseFloat(otherValue.toFixed(2));\n otherNode['label'] = otherLabel ?? newOtherId ?? '';\n\n if (data?.[0]?.percentage != null && total != null) {\n otherNode['percentage'] = (otherValue / total) * 100;\n }\n if (maxSlicesNumber !== Infinity || otherValue !== 0) {\n newData.push(otherNode as T);\n }\n\n return newData;\n}\n\nexport function createCleanTree<A extends Record<string, unknown>>(node: A): A {\n if (node.children == null) {\n return node;\n }\n let newNode = clone(node);\n removeValueIfChildren(newNode);\n return newNode;\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction removeValueIfChildren<B extends object>(node: B): void {\n let children = (node?.['children'] ?? []) as B[];\n node['initialValue'] = node['value'];\n if (children.length > 0) {\n delete node['value'];\n }\n for (let child of children) {\n removeValueIfChildren(child);\n }\n}\n\nexport function normalizePercentage(value: number): string {\n return `${parseInt(value?.toFixed?.(0), 10)}%`;\n}\n","import {scaleLinear, ScaleLinear} from 'd3-scale';\n\nfunction generateRangeColor(\n len: number,\n rangeColors: string[] = ['#82CA9D', '#f6ea25', '#F7977A'],\n): string[] | undefined {\n const generatedColors = [];\n\n if (len === 0) {\n return undefined;\n }\n\n let colors: ScaleLinear<string, string> = scaleLinear<string, string>(),\n domain = calculateDomain(rangeColors.length, rangeColors.length),\n targetDomain = calculateDomain(len, rangeColors.length);\n\n colors = colors.domain(domain).range(rangeColors);\n for (let i = 0; i < len; i++) {\n generatedColors.push(colors(targetDomain[i]));\n }\n return generatedColors;\n}\n\nexport function calculateDomain(len: number, rangeColorsLength: number): number[] {\n let domain = [];\n domain.push(0);\n for (let i = 0; i < len - 2; i++) {\n let num = Number((rangeColorsLength / len) * (i + 1));\n domain.push(parseFloat(num.toFixed(2)));\n }\n domain.push(rangeColorsLength);\n return domain;\n}\n// Keep these in sync with variables.less\nlet white = '#FFFFFF',\n blue25 = '#eef2f5',\n blue30 = '#CBD8E0',\n blue50 = '#AFD1E0',\n blue80 = '#8FB7CB',\n blue90 = '#94C2DA',\n blue95 = '#6E9DB5',\n blue100 = '#578EA8',\n blue300 = 'rgb(32, 88, 113)', // #205871\n blue400 = '#11455C',\n gray100 = '#FAFAFA',\n gray200 = '#EBEBEB',\n gray300 = '#B0B0B0',\n gray400 = '#717171',\n yellow = '#FFBB00',\n orange = '#F38522',\n red = '#F72200',\n green = '#309B0A',\n purple = '#63619F',\n viola = '#965DA3',\n pink200 = '#C55795',\n pink100 = '#E85778',\n salmon = '#F86752',\n black = '#222222';\n\nexport {\n generateRangeColor,\n white,\n blue25,\n blue30,\n blue50,\n blue80,\n blue90,\n blue95,\n blue100,\n blue300,\n gray200,\n blue400,\n yellow,\n orange,\n red,\n green,\n gray100,\n gray300,\n gray400,\n purple,\n viola,\n pink100,\n pink200,\n salmon,\n black,\n};\n","import {LabelFormatter} from '@nivo/bar';\nimport {DataPoint, Value} from './CommonTypes';\n\nexport function isStringEmpty(s: string | undefined | null): boolean {\n if (s == null) {\n return true;\n }\n\n return s.match(/^\\s*$/) !== null;\n}\n\nexport function slugify(text: string): string {\n const a = 'àáâäæãåāăąçćčđďèéêëēėęěğǵḧîïíīįìłḿñńǹňôöòóœøōõőṕŕřßśšşșťțûüùúūǘůűųẃẍÿýžźż·/_,:;',\n b = 'aaaaaaaaaacccddeeeeeeeegghiiiiiilmnnnnoooooooooprrsssssttuuuuuuuuuwxyyzzz------',\n p = new RegExp(a.split('').join('|'), 'g');\n\n return text\n .toString()\n .toLowerCase()\n .replace(/\\s+/g, '-') // Replace spaces with -\n .replace(p, (c) => b.charAt(a.indexOf(c))) // Replace special characters\n .replace(/&/g, '-and-') // Replace & with 'and'\n .replace(/[^\\w-]+/g, '') // Remove all non-word characters\n .replace(/--+/g, '-') // Replace multiple - with single -\n .replace(/^-+/, '') // Trim - from start of text\n .replace(/-+$/, ''); // Trim - from end of text\n}\n\nexport function estimateWordSize(wordLength: number, letterPixels: number, constant: number): number {\n return wordLength * letterPixels + constant;\n}\n\nexport function ellipse(input: string | null, length: number): string {\n if (input == null) {\n return '';\n }\n\n return input.length > length ? `${input.substr(0, length - 1)}…` : input;\n}\n\nexport function matchAndFormatRangeLabel(formatter: LabelFormatter | undefined): (label: string) => string {\n return (label: string) => {\n const match = /^([\\d*]+)-([\\d*]+)$/.exec(label);\n if (match == null) {\n return label;\n }\n\n return formatRange(\n {\n from: match[1],\n to: match[2],\n },\n formatter ?? ((v: string) => v),\n );\n };\n}\n\nexport function formatRange(item: Pick<DataPoint, 'from' | 'to'>, formatter: LabelFormatter): string {\n const to = item.to === '*' ? '*' : formatter(parseInt(item.to ?? '0', 10)),\n from = formatter(parseInt(item.from ?? '0', 10));\n\n if (from === to) {\n return `${from}`;\n }\n\n return `${from} - ${to}`;\n}\n\nexport function ellipseAndFormat(\n formatter: LabelFormatter | undefined,\n maxLabelLength: number,\n): (value: Value) => string {\n return (value: Value) => {\n const strValue = value.toString();\n\n if (formatter == null) {\n return ellipse(strValue, maxLabelLength);\n }\n\n return ellipse(`${formatter(strValue)}`, maxLabelLength);\n };\n}\n\nexport function escapeRegExp(input: string): string {\n // eslint-disable-next-line\n return input.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\n\nexport function isMatching(text0: string, text1: string): boolean {\n if (text0 == null || text1 == null) {\n return false;\n }\n text0 = text0.toLowerCase();\n text1 = text1.toLowerCase();\n\n if (text1.match(' ') === null) {\n return text0.match(escapeRegExp(text1)) !== null;\n }\n\n let splitNeedles = text1\n .split(' ')\n .filter((s: string) => !isStringEmpty(s))\n .sort((a: string, b: string) => b.length - a.length);\n\n for (let needle of splitNeedles) {\n if (text0 === needle) {\n return true;\n }\n }\n\n return false;\n}\n\nexport function splitTextInParts(needles: string, text?: string): string[] {\n if (text == null) {\n return [];\n }\n\n if (needles.match(' ') === null) {\n let re = new RegExp('(' + escapeRegExp(needles) + ')', 'gi');\n\n return text.split(re);\n }\n\n let splitNeedles = needles\n .split(' ')\n .filter((s: string) => !isStringEmpty(s))\n .sort((a: string, b: string) => b.length - a.length),\n ret = [text];\n\n for (let needle of splitNeedles) {\n let re = new RegExp('(' + needle + ')', 'gi');\n for (let index = 0; index < ret.length; index++) {\n let currentText = ret[index];\n\n if (isMatching(currentText, escapeRegExp(needles))) {\n continue;\n }\n\n let newParts = currentText.split(re).filter((s: string) => s !== '');\n ret.splice(index, 1, ...newParts);\n }\n }\n\n return ret;\n}\n","import {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport React from 'react';\nimport {Form} from '../Form/Form';\n\nexport function findChildrenByComponent(\n children: React.ReactNode,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n component: React.ComponentClass | React.FunctionComponent | React.ForwardRefExoticComponent<any>,\n): React.ReactNode[] {\n let ret: React.ReactNode[] = [];\n React.Children.forEach(children, (element: React.ReactElement) => {\n if (element?.type === component) {\n ret.push(element);\n }\n });\n\n return ret;\n}\n\nexport function findChildByComponent(\n children: React.ReactNode,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n component: React.ComponentClass | React.FunctionComponent | React.ForwardRefExoticComponent<any>,\n): React.ReactNode | null {\n return findChildrenByComponent(children, component)?.[0] ?? null;\n}\n\nexport function hasChildIconOrCheckboxComponent(children: React.ReactNode): boolean {\n let ret = false;\n React.Children.forEach(children, (element: React.ReactElement) => {\n if (\n element?.type != null &&\n (element?.type === FontAwesomeIcon || element?.type === 'i' || element?.type === Form.Checkbox)\n ) {\n ret = true;\n return;\n }\n });\n\n return ret;\n}\n\nexport function scrollToTop(): void {\n window.scrollTo(0, 0);\n}\n\nexport function zip<T>(arr1: T[], arr2: T[]): T[] {\n const ret: T[] = [];\n let i: number = 0;\n\n while (arr1[i]) {\n ret.push(arr1[i]);\n ret.push(arr2[i++]);\n }\n\n return ret;\n}\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function sortObjDesc<T extends object>(accessor: keyof T): (a: T, b: T) => number {\n return function (a: T, b: T): number {\n let leftVal = 0,\n rightVal = 0;\n if (a?.[accessor] != null) {\n leftVal = a?.[accessor] as unknown as number;\n }\n if (b?.[accessor] != null) {\n rightVal = b?.[accessor] as unknown as number;\n }\n return leftVal > rightVal ? -1 : 1;\n };\n}\n\nexport function clone<T>(ob: T): T {\n return JSON.parse(JSON.stringify(ob));\n}\n\nexport type Debouncer = (f: () => void) => void;\n\nexport function getDebouncer(delay: number = 1): Debouncer {\n let debounceTimeout: number | null = null;\n return function debounce(f: () => void): void {\n if (debounceTimeout !== null) {\n clearTimeout(debounceTimeout);\n }\n debounceTimeout = window.setTimeout(f, delay);\n };\n}\n\nfunction isObject<T>(obj: T): boolean {\n return typeof obj === 'object' && obj != null;\n}\n\nexport function deepEqual<T>(obj1: T, obj2: T): boolean {\n if (obj1 === obj2) {\n return true;\n }\n\n if (isObject(obj1) && isObject(obj2)) {\n if (Object.keys(obj1).length !== Object.keys(obj2).length) {\n return false;\n }\n\n for (let prop in obj1) {\n if (!deepEqual(obj1[prop], obj2[prop])) {\n return false;\n }\n }\n return true;\n }\n\n return false;\n}\n\nfunction componentToHex(c: number): string {\n if (isNaN(c)) {\n throw Error('The color has not been written correctly');\n }\n const hex = c.toString(16).toUpperCase();\n return hex.length === 1 ? '0' + hex : hex;\n}\n\nfunction cleanSingleColor(c: string): string {\n return c.replace(/\"|'/g, '').trim();\n}\n\nexport function rgbToHex(rgb: string): string {\n if (rgb.includes('rgba')) {\n throw Error('not implemented');\n }\n const [r = 0, g = 0, b = 0] = rgb\n .replace('rgb', '')\n .replace(/\\(|\\)/gi, '')\n .split(',')\n .map((c: string) => parseInt(cleanSingleColor(c), 10));\n\n return '#' + componentToHex(r) + componentToHex(g) + componentToHex(b);\n}\n","export {DataPoint, BasePieItemData, PropsWithClassName, OptionData} from './CommonTypes';\nexport {createDataWithOtherSlice, normalizePercentage} from './Statistics';\nexport {deepEqual, sortObjDesc} from './Utils';\nexport * from './Text';\nexport * from './Style';\n","export {Bs4V3Wrapper} from './Bs4V3Wrapper';\nexport {AddableItems, AddableItemsProps} from './AddableItems';\nexport {Alert} from './Alert';\nexport * from './Button';\nexport * from './Badge';\nexport {ButtonDropdown} from './ButtonDropdown';\nexport {BubbleChart, BubbleChartDataPoint, BubbleChartTooltip} from './BubbleChart';\nexport {CardsPage} from './CardsPage';\nexport {CursorPagination} from './CursorPagination';\nexport * from './Utils';\nexport {DatePicker} from './DatePicker';\nexport {DetailPage} from './DetailPage';\nexport {\n Dropdown,\n DropdownMenu,\n AtokaSimpleDropdownToggle,\n AtokaCustomDropdownToggle,\n AtokaCustomDropdownToggleWithChevron,\n} from './Dropdown';\nexport * from './EditableString';\nexport {EllipsableContent} from './EllipsableContent';\nexport {EmptyState} from './EmptyState';\nexport * from './Facet';\nexport {FacetSection} from './FacetSection';\nexport {FadeAnimation} from './FadeAnimation';\nexport {FeedbackButton} from './FeedbackButton';\nexport {Form} from './Form';\nexport {Funnel, FunnelData} from './Funnel';\nexport {GridCard} from './GridCard';\nexport {HighlightableText} from './HighlightableText';\nexport {Histogram, CanvasLegendConfig, RenderHistogramSVGLegend, GetHistogramCanvasLegendConfig} from './Histogram';\nexport {TooltipProp} from './Histogram/Types';\nexport {InlineStringEditor, InlineStringValueType} from './InlineStringEditor';\nexport {InputGroup} from './InputGroup';\nexport {Jumbotron} from './Jumbotron';\nexport {Map, MapProps, MapChoroplethProps, MapData, MapDataKind} from './Map';\nexport {Modal, ModalProps} from './Modal';\nexport {Navbar} from './Navbar';\nexport {Pagination} from './Pagination';\nexport {PieChart, PieChartProps} from './PieChart';\nexport {PublicFooter} from './PublicFooter';\nexport {PublicNavbar} from './PublicNavbar';\nexport {RecordBit} from './RecordBit';\nexport {ResultItemCard} from './ResultItemCard';\nexport * from './SelectDropdown';\nexport * from './Spinner';\nexport {\n getRenderStatisticsLegend,\n StatisticsLegend,\n StatisticsLegendProps,\n StatisticsSVGLegend,\n} from './StatisticsLegend';\nexport {StatisticsItemCard} from './StatisticsItemCard';\nexport {StatisticsItemNumeric} from './StatisticsItemNumeric';\nexport {\n Suggester,\n getRenderCustomMultiValueWithIcon,\n SuggesterProps,\n RenderMultiValueContainer,\n CustomOptionProps,\n} from './Suggester';\nexport {SunBurst, SunBurstItemData, ComputedDatum} from './SunBurst';\nexport * from './StatisticsTooltip';\nexport {TabSwitcher} from './TabSwitcher';\nexport {Title} from './Title';\nexport {ToggleButtonGroup} from './ToggleButtonGroup';\nexport {Tooltip} from './Tooltip';\nexport * from './Alert';\n","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","module.exports = require(\"regenerator-runtime\");\n","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/**\n * Return a descriptor removing the value and returning a getter\n * The getter will return a .bind version of the function\n * and memoize the result against a symbol on the instance\n */\nexport function boundMethod(target, key, descriptor) {\n var fn = descriptor.value;\n\n if (typeof fn !== 'function') {\n throw new TypeError(\"@boundMethod decorator can only be applied to methods not: \".concat(_typeof(fn)));\n } // In IE11 calling Object.defineProperty has a side-effect of evaluating the\n // getter for the property which is being replaced. This causes infinite\n // recursion and an \"Out of stack space\" error.\n\n\n var definingProperty = false;\n return {\n configurable: true,\n get: function get() {\n // eslint-disable-next-line no-prototype-builtins\n if (definingProperty || this === target.prototype || this.hasOwnProperty(key) || typeof fn !== 'function') {\n return fn;\n }\n\n var boundFn = fn.bind(this);\n definingProperty = true;\n Object.defineProperty(this, key, {\n configurable: true,\n get: function get() {\n return boundFn;\n },\n set: function set(value) {\n fn = value;\n delete this[key];\n }\n });\n definingProperty = false;\n return boundFn;\n },\n set: function set(value) {\n fn = value;\n }\n };\n}\n/**\n * Use boundMethod to bind all methods on the target.prototype\n */\n\nexport function boundClass(target) {\n // (Using reflect to get all keys including symbols)\n var keys; // Use Reflect if exists\n\n if (typeof Reflect !== 'undefined' && typeof Reflect.ownKeys === 'function') {\n keys = Reflect.ownKeys(target.prototype);\n } else {\n keys = Object.getOwnPropertyNames(target.prototype); // Use symbols if support is provided\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n keys = keys.concat(Object.getOwnPropertySymbols(target.prototype));\n }\n }\n\n keys.forEach(function (key) {\n // Ignore special case target method\n if (key === 'constructor') {\n return;\n }\n\n var descriptor = Object.getOwnPropertyDescriptor(target.prototype, key); // Only methods need binding\n\n if (typeof descriptor.value === 'function') {\n Object.defineProperty(target.prototype, key, boundMethod(target, key, descriptor));\n }\n });\n return target;\n}\nexport default function autobind() {\n if (arguments.length === 1) {\n return boundClass.apply(void 0, arguments);\n }\n\n return boundMethod.apply(void 0, arguments);\n}","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(\"^rgb\\\\(\" + [reI, reI, reI] + \"\\\\)$\"),\n reRgbPercent = new RegExp(\"^rgb\\\\(\" + [reP, reP, reP] + \"\\\\)$\"),\n reRgbaInteger = new RegExp(\"^rgba\\\\(\" + [reI, reI, reI, reN] + \"\\\\)$\"),\n reRgbaPercent = new RegExp(\"^rgba\\\\(\" + [reP, reP, reP, reN] + \"\\\\)$\"),\n reHslPercent = new RegExp(\"^hsl\\\\(\" + [reN, reP, reP] + \"\\\\)$\"),\n reHslaPercent = new RegExp(\"^hsla\\\\(\" + [reN, reP, reP, reN] + \"\\\\)$\");\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy: function(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable: function() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function() {\n return this;\n },\n displayable: function() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return \"#\" + hex(this.r) + hex(this.g) + hex(this.b);\n}\n\nfunction rgb_formatRgb() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\")\n + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.b) || 0))\n + (a === 1 ? \")\" : \", \" + a + \")\");\n}\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n displayable: function() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl: function() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"hsl(\" : \"hsla(\")\n + (this.h || 0) + \", \"\n + (this.s || 0) * 100 + \"%, \"\n + (this.l || 0) * 100 + \"%\"\n + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","var e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nexport default function(start, stop, count) {\n var reverse,\n i = -1,\n n,\n ticks,\n step;\n\n stop = +stop, start = +start, count = +count;\n if (start === stop && count > 0) return [start];\n if (reverse = stop < start) n = start, start = stop, stop = n;\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];\n\n if (step > 0) {\n let r0 = Math.round(start / step), r1 = Math.round(stop / step);\n if (r0 * step < start) ++r0;\n if (r1 * step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) * step;\n } else {\n step = -step;\n let r0 = Math.round(start * step), r1 = Math.round(stop * step);\n if (r0 / step < start) ++r0;\n if (r1 / step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) / step;\n }\n\n if (reverse) ticks.reverse();\n\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n var step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log(step) / Math.LN10),\n error = step / Math.pow(10, power);\n return power >= 0\n ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)\n : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\n\nexport function tickStep(start, stop, count) {\n var step0 = Math.abs(stop - start) / Math.max(0, count),\n step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),\n error = step0 / step1;\n if (error >= e10) step1 *= 10;\n else if (error >= e5) step1 *= 5;\n else if (error >= e2) step1 *= 2;\n return stop < start ? -step1 : step1;\n}\n","export default function(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import ascending from \"./ascending.js\";\n\nexport default function(f) {\n let delta = f;\n let compare = f;\n\n if (f.length === 1) {\n delta = (d, x) => f(d) - x;\n compare = ascendingComparator(f);\n }\n\n function left(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n const mid = (lo + hi) >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n }\n\n function right(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n const mid = (lo + hi) >>> 1;\n if (compare(a[mid], x) > 0) hi = mid;\n else lo = mid + 1;\n }\n return lo;\n }\n\n function center(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction ascendingComparator(f) {\n return (d, x) => ascending(f(d), x);\n}\n","export default function(x) {\n return x === null ? NaN : +x;\n}\n\nexport function* numbers(values, valueof) {\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n}\n","import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\n\nconst ascendingBisect = bisector(ascending);\nexport const bisectRight = ascendingBisect.right;\nexport const bisectLeft = ascendingBisect.left;\nexport const bisectCenter = bisector(number).center;\nexport default bisectRight;\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import {basis} from \"./basis.js\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n","export default function constants(x) {\n return function() {\n return x;\n };\n}\n","export default function number(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous() {\n return transformer()(identity, identity);\n}\n","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": (x, p) => (x * 100).toFixed(p),\n \"b\": (x) => Math.round(x).toString(2),\n \"c\": (x) => x + \"\",\n \"d\": formatDecimal,\n \"e\": (x, p) => x.toExponential(p),\n \"f\": (x, p) => x.toFixed(p),\n \"g\": (x, p) => x.toPrecision(p),\n \"o\": (x) => Math.round(x).toString(8),\n \"p\": (x, p) => formatRounded(x * 100, p),\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": (x) => Math.round(x).toString(16).toUpperCase(),\n \"x\": (x) => Math.round(x).toString(16)\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"−\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function tickFormat(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","export default function hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);\n return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}","import hasClass from './hasClass';\nexport default function addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!hasClass(element, className)) if (typeof element.className === 'string') element.className = element.className + \" \" + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + \" \" + className);\n}","function replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp(\"(^|\\\\s)\" + classToRemove + \"(?:\\\\s|$)\", 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n\nexport default function removeClass(element, className) {\n if (element.classList) {\n element.classList.remove(className);\n } else if (typeof element.className === 'string') {\n ;\n element.className = replaceClassName(element.className, className);\n } else {\n element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n }\n}","export default {\n disabled: false\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * <Transition in={inProp} timeout={duration}>\n * {state => (\n * <div style={{\n * ...defaultStyle,\n * ...transitionStyles[state]\n * }}>\n * I'm a fade Transition!\n * </div>\n * )}\n * </Transition>\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * <div>\n * <Transition in={inProp} timeout={500}>\n * {state => (\n * // ...\n * )}\n * </Transition>\n * <button onClick={() => setInProp(true)}>\n * Click to Enter\n * </button>\n * </div>\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : PropTypes.instanceOf(Element)\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * <Transition in={this.state.in} timeout={150}>\n * {state => (\n * <MyComponent className={`fade fade-${state}`} />\n * )}\n * </Transition>\n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `<CSSTransition>` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport addOneClass from 'dom-helpers/addClass';\nimport removeOneClass from 'dom-helpers/removeClass';\nimport React from 'react';\nimport Transition from './Transition';\nimport { classNamesShape } from './utils/PropTypes';\n\nvar _addClass = function addClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return addOneClass(node, c);\n });\n};\n\nvar removeClass = function removeClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return removeOneClass(node, c);\n });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](https://docs.angularjs.org/api/ngAnimate) library, you should\n * use it if you're using CSS transitions or animations. It's built upon the\n * [`Transition`](https://reactcommunity.org/react-transition-group/transition)\n * component, so it inherits all of its props.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` states of the transition. The first class is applied and then a\n * second `*-active` class in order to activate the CSS transition. After the\n * transition, matching `*-done` class names are applied to persist the\n * transition state.\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * <div>\n * <CSSTransition in={inProp} timeout={200} classNames=\"my-node\">\n * <div>\n * {\"I'll receive my-node-* classes\"}\n * </div>\n * </CSSTransition>\n * <button type=\"button\" onClick={() => setInProp(true)}>\n * Click to Enter\n * </button>\n * </div>\n * );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n * opacity: 0;\n * }\n * .my-node-enter-active {\n * opacity: 1;\n * transition: opacity 200ms;\n * }\n * .my-node-exit {\n * opacity: 1;\n * }\n * .my-node-exit-active {\n * opacity: 0;\n * transition: opacity 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**, so it's\n * important to add `transition` declaration only to them, otherwise transitions\n * might not behave as intended! This might not be obvious when the transitions\n * are symmetrical, i.e. when `*-enter-active` is the same as `*-exit`, like in\n * the example above (minus `transition`), but it becomes apparent in more\n * complex transitions.\n *\n * **Note**: If you're using the\n * [`appear`](http://reactcommunity.org/react-transition-group/transition#Transition-prop-appear)\n * prop, make sure to define styles for `.appear-*` classes as well.\n */\n\n\nvar CSSTransition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(CSSTransition, _React$Component);\n\n function CSSTransition() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.appliedClasses = {\n appear: {},\n enter: {},\n exit: {}\n };\n\n _this.onEnter = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument[0],\n appearing = _this$resolveArgument[1];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, appearing ? 'appear' : 'enter', 'base');\n\n if (_this.props.onEnter) {\n _this.props.onEnter(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntering = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument2 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument2[0],\n appearing = _this$resolveArgument2[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.addClass(node, type, 'active');\n\n if (_this.props.onEntering) {\n _this.props.onEntering(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntered = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument3 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument3[0],\n appearing = _this$resolveArgument3[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.removeClasses(node, type);\n\n _this.addClass(node, type, 'done');\n\n if (_this.props.onEntered) {\n _this.props.onEntered(maybeNode, maybeAppearing);\n }\n };\n\n _this.onExit = function (maybeNode) {\n var _this$resolveArgument4 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument4[0];\n\n _this.removeClasses(node, 'appear');\n\n _this.removeClasses(node, 'enter');\n\n _this.addClass(node, 'exit', 'base');\n\n if (_this.props.onExit) {\n _this.props.onExit(maybeNode);\n }\n };\n\n _this.onExiting = function (maybeNode) {\n var _this$resolveArgument5 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument5[0];\n\n _this.addClass(node, 'exit', 'active');\n\n if (_this.props.onExiting) {\n _this.props.onExiting(maybeNode);\n }\n };\n\n _this.onExited = function (maybeNode) {\n var _this$resolveArgument6 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument6[0];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, 'exit', 'done');\n\n if (_this.props.onExited) {\n _this.props.onExited(maybeNode);\n }\n };\n\n _this.resolveArguments = function (maybeNode, maybeAppearing) {\n return _this.props.nodeRef ? [_this.props.nodeRef.current, maybeNode] // here `maybeNode` is actually `appearing`\n : [maybeNode, maybeAppearing];\n };\n\n _this.getClassNames = function (type) {\n var classNames = _this.props.classNames;\n var isStringClassNames = typeof classNames === 'string';\n var prefix = isStringClassNames && classNames ? classNames + \"-\" : '';\n var baseClassName = isStringClassNames ? \"\" + prefix + type : classNames[type];\n var activeClassName = isStringClassNames ? baseClassName + \"-active\" : classNames[type + \"Active\"];\n var doneClassName = isStringClassNames ? baseClassName + \"-done\" : classNames[type + \"Done\"];\n return {\n baseClassName: baseClassName,\n activeClassName: activeClassName,\n doneClassName: doneClassName\n };\n };\n\n return _this;\n }\n\n var _proto = CSSTransition.prototype;\n\n _proto.addClass = function addClass(node, type, phase) {\n var className = this.getClassNames(type)[phase + \"ClassName\"];\n\n var _this$getClassNames = this.getClassNames('enter'),\n doneClassName = _this$getClassNames.doneClassName;\n\n if (type === 'appear' && phase === 'done' && doneClassName) {\n className += \" \" + doneClassName;\n } // This is for to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n\n\n if (phase === 'active') {\n /* eslint-disable no-unused-expressions */\n node && node.scrollTop;\n }\n\n if (className) {\n this.appliedClasses[type][phase] = className;\n\n _addClass(node, className);\n }\n };\n\n _proto.removeClasses = function removeClasses(node, type) {\n var _this$appliedClasses$ = this.appliedClasses[type],\n baseClassName = _this$appliedClasses$.base,\n activeClassName = _this$appliedClasses$.active,\n doneClassName = _this$appliedClasses$.done;\n this.appliedClasses[type] = {};\n\n if (baseClassName) {\n removeClass(node, baseClassName);\n }\n\n if (activeClassName) {\n removeClass(node, activeClassName);\n }\n\n if (doneClassName) {\n removeClass(node, doneClassName);\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n _ = _this$props.classNames,\n props = _objectWithoutPropertiesLoose(_this$props, [\"classNames\"]);\n\n return /*#__PURE__*/React.createElement(Transition, _extends({}, props, {\n onEnter: this.onEnter,\n onEntered: this.onEntered,\n onEntering: this.onEntering,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }));\n };\n\n return CSSTransition;\n}(React.Component);\n\nCSSTransition.defaultProps = {\n classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, Transition.propTypes, {\n /**\n * The animation classNames applied to the component as it appears, enters,\n * exits or has finished the transition. A single name can be provided, which\n * will be suffixed for each stage, e.g. `classNames=\"fade\"` applies:\n *\n * - `fade-appear`, `fade-appear-active`, `fade-appear-done`\n * - `fade-enter`, `fade-enter-active`, `fade-enter-done`\n * - `fade-exit`, `fade-exit-active`, `fade-exit-done`\n *\n * A few details to note about how these classes are applied:\n *\n * 1. They are _joined_ with the ones that are already defined on the child\n * component, so if you want to add some base styles, you can use\n * `className` without worrying that it will be overridden.\n *\n * 2. If the transition component mounts with `in={false}`, no classes are\n * applied yet. You might be expecting `*-exit-done`, but if you think\n * about it, a component cannot finish exiting if it hasn't entered yet.\n *\n * 2. `fade-appear-done` and `fade-enter-done` will _both_ be applied. This\n * allows you to define different behavior for when appearing is done and\n * when regular entering is done, using selectors like\n * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply\n * an epic entrance animation when element first appears in the DOM using\n * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n * simply use `fade-enter-done` for defining both cases.\n *\n * Each individual classNames can also be specified independently like:\n *\n * ```js\n * classNames={{\n * appear: 'my-appear',\n * appearActive: 'my-active-appear',\n * appearDone: 'my-done-appear',\n * enter: 'my-enter',\n * enterActive: 'my-active-enter',\n * enterDone: 'my-done-enter',\n * exit: 'my-exit',\n * exitActive: 'my-active-exit',\n * exitDone: 'my-done-exit',\n * }}\n * ```\n *\n * If you want to set these classes using CSS Modules:\n *\n * ```js\n * import styles from './styles.css';\n * ```\n *\n * you might want to use camelCase in your CSS file, that way could simply\n * spread them instead of listing them one by one:\n *\n * ```js\n * classNames={{ ...styles }}\n * ```\n *\n * @type {string | {\n * appear?: string,\n * appearActive?: string,\n * appearDone?: string,\n * enter?: string,\n * enterActive?: string,\n * enterDone?: string,\n * exit?: string,\n * exitActive?: string,\n * exitDone?: string,\n * }}\n */\n classNames: classNamesShape,\n\n /**\n * A `<Transition>` callback fired immediately after the 'enter' or 'appear' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEnter: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'enter-active' or\n * 'appear-active' class is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'enter' or\n * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntered: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'exit' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExit: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'exit-active' is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExiting: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'exit' classes\n * are **removed** and the `exit-done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExited: PropTypes.func\n}) : {};\nexport default CSSTransition;","import React from 'react';\nexport default React.createContext(null);","/**\n * Copyright (c) 2014-present, Facebook, Inc.\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\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__6951__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1980__;","module.exports = __WEBPACK_EXTERNAL_MODULE__7950__;","module.exports = __WEBPACK_EXTERNAL_MODULE__9368__;","module.exports = __WEBPACK_EXTERNAL_MODULE__2569__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4600__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1711__;","module.exports = __WEBPACK_EXTERNAL_MODULE__2705__;","module.exports = __WEBPACK_EXTERNAL_MODULE__3987__;","module.exports = __WEBPACK_EXTERNAL_MODULE__9153__;","module.exports = __WEBPACK_EXTERNAL_MODULE__3402__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4997__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1654__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1235__;","module.exports = __WEBPACK_EXTERNAL_MODULE__8809__;","module.exports = __WEBPACK_EXTERNAL_MODULE__6466__;","module.exports = __WEBPACK_EXTERNAL_MODULE__5037__;","module.exports = __WEBPACK_EXTERNAL_MODULE__8761__;","module.exports = __WEBPACK_EXTERNAL_MODULE__8427__;","module.exports = __WEBPACK_EXTERNAL_MODULE__5797__;","module.exports = __WEBPACK_EXTERNAL_MODULE__6988__;","module.exports = __WEBPACK_EXTERNAL_MODULE__5538__;","module.exports = __WEBPACK_EXTERNAL_MODULE__6550__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1349__;","module.exports = __WEBPACK_EXTERNAL_MODULE__3041__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1326__;","module.exports = __WEBPACK_EXTERNAL_MODULE__5692__;","module.exports = __WEBPACK_EXTERNAL_MODULE__2895__;","module.exports = __WEBPACK_EXTERNAL_MODULE__3741__;","module.exports = __WEBPACK_EXTERNAL_MODULE__9179__;","module.exports = __WEBPACK_EXTERNAL_MODULE__7812__;","module.exports = __WEBPACK_EXTERNAL_MODULE__9503__;","module.exports = __WEBPACK_EXTERNAL_MODULE__5521__;","module.exports = __WEBPACK_EXTERNAL_MODULE__8310__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4159__;","module.exports = __WEBPACK_EXTERNAL_MODULE__855__;","module.exports = __WEBPACK_EXTERNAL_MODULE__8156__;","module.exports = __WEBPACK_EXTERNAL_MODULE__5859__;","module.exports = __WEBPACK_EXTERNAL_MODULE__6997__;","module.exports = __WEBPACK_EXTERNAL_MODULE__8926__;","module.exports = __WEBPACK_EXTERNAL_MODULE__5901__;","module.exports = __WEBPACK_EXTERNAL_MODULE__2494__;","module.exports = __WEBPACK_EXTERNAL_MODULE__6514__;","module.exports = __WEBPACK_EXTERNAL_MODULE__5315__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4440__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4394__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4976__;","module.exports = __WEBPACK_EXTERNAL_MODULE__8721__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1082__;","module.exports = __WEBPACK_EXTERNAL_MODULE__8763__;","module.exports = __WEBPACK_EXTERNAL_MODULE__2476__;","module.exports = __WEBPACK_EXTERNAL_MODULE__3161__;","module.exports = __WEBPACK_EXTERNAL_MODULE__9034__;","module.exports = __WEBPACK_EXTERNAL_MODULE__7738__;","module.exports = __WEBPACK_EXTERNAL_MODULE__573__;","module.exports = __WEBPACK_EXTERNAL_MODULE__7917__;","module.exports = __WEBPACK_EXTERNAL_MODULE__3908__;","module.exports = __WEBPACK_EXTERNAL_MODULE__6043__;","module.exports = __WEBPACK_EXTERNAL_MODULE__9924__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1968__;","module.exports = __WEBPACK_EXTERNAL_MODULE__3915__;","module.exports = __WEBPACK_EXTERNAL_MODULE__3778__;","module.exports = __WEBPACK_EXTERNAL_MODULE__8053__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4731__;","module.exports = __WEBPACK_EXTERNAL_MODULE__7111__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1738__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1553__;","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t4826: 0,\n\t5905: 0,\n\t9798: 0,\n\t54: 0,\n\t4548: 0,\n\t3227: 0,\n\t6615: 0,\n\t9733: 0,\n\t6001: 0,\n\t1787: 0,\n\t5821: 0,\n\t904: 0,\n\t8621: 0,\n\t9900: 0,\n\t3099: 0,\n\t8016: 0,\n\t7219: 0,\n\t9727: 0,\n\t5853: 0,\n\t700: 0,\n\t6419: 0,\n\t2494: 0,\n\t4975: 0,\n\t4953: 0,\n\t3397: 0,\n\t7331: 0,\n\t2558: 0,\n\t4783: 0,\n\t1855: 0,\n\t951: 0,\n\t7658: 0,\n\t8910: 0,\n\t1022: 0,\n\t8643: 0,\n\t2875: 0,\n\t2019: 0,\n\t2291: 0,\n\t6740: 0,\n\t410: 0,\n\t7238: 0,\n\t4051: 0,\n\t1338: 0,\n\t9811: 0,\n\t4659: 0,\n\t6074: 0,\n\t2197: 0,\n\t7564: 0,\n\t1030: 0,\n\t2823: 0,\n\t496: 0,\n\t1981: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkIds[i]] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkatoka_design_system\"] = self[\"webpackChunkatoka_design_system\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [1981], () => (__webpack_require__(8505)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":["_assertThisInitialized","self","ReferenceError","Children","cloneElement","isValidElement","getChildMapping","children","mapFn","mapper","child","result","Object","create","map","c","forEach","key","mergeChildMappings","prev","next","getValueForKey","nextKeysPending","pendingKeys","prevKey","length","push","i","childMapping","nextKey","pendingNextKey","getProp","prop","props","getInitialChildMapping","onExited","bind","appear","enter","exit","getNextChildMapping","nextProps","prevChildMapping","nextChildMapping","keys","hasPrev","hasNext","prevChild","isLeaving","_objectWithoutPropertiesLoose","_extends","_inheritsLoose","PropTypes","React","TransitionGroupContext","values","obj","k","defaultProps","component","childFactory","TransitionGroup","_React$Component","context","_this","call","handleExited","state","contextValue","isMounting","firstRender","_proto","prototype","componentDidMount","mounted","setState","componentWillUnmount","getDerivedStateFromProps","_ref","node","currentChildMapping","render","_this$props","Component","createElement","Provider","value","propTypes","process","env","NODE_ENV","any","bool","func","objectWithoutPropertiesLoose","_objectWithoutProperties","source","excluded","target","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","_arrayWithHoles","arr","Array","isArray","_iterableToArrayLimit","_i","Symbol","iterator","_arr","_n","_d","_s","_e","done","err","_arrayLikeToArray","len","arr2","arrayLikeToArray","_unsupportedIterableToArray","o","minLen","n","toString","slice","constructor","name","from","test","_nonIterableRest","TypeError","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","_slicedToArray","createContext","useContext","CONTEXT_VERSION","LeafletContext","LeafletProvider","useLeafletContext","Error","assign","arguments","hasOwnProperty","apply","Map","LeafletMap","useEffect","useMemo","useRef","useState","useMapElement","mapRef","setMap","current","instance","center","zoom","setView","bounds","fitBounds","boundsOptions","whenReady","MapContainer","className","id","placeholder","style","whenCreated","options","createdRef","__version","contents","ref","forwardRef","useImperativeHandle","createPortal","createContainerComponent","useElement","ContainerComponent","createDivOverlayComponent","OverlayComponent","isOpen","setOpen","updateOverlay","update","contentNode","_contentNode","createLeafComponent","LeafComponent","createElementHook","updateElement","useImmutableLeafletElement","useMutableLeafletElement","elementRef","propsRef","updateElementProps","useAttribution","attribution","attributionRef","updateAttribution","attributionControl","removeAttribution","addAttribution","useEventHandlers","element","eventHandlers","eventHandlersRef","addEventHandlers","on","removeEventHandlers","off","_defineProperty","defineProperty","enumerable","configurable","writable","withPane","_props$pane","pane","useLayerLifecycle","addLayer","_context$layerContain","container","layerContainer","removeLayer","createLayerHook","useLayer","usePathOptions","optionsRef","updatePathOptions","pathOptions","_props$pathOptions","setStyle","createPathHook","usePath","createControlHook","createDivOverlayHook","createControlComponent","createInstance","useControl","createLayerComponent","createOverlayComponent","useLifecycle","useOverlay","createPathComponent","createTileLayerComponent","updateGridLayer","layer","prevProps","opacity","zIndex","setOpacity","setZIndex","TileLayer","LeafletTileLayer","createTileLayer","url","GeoJSON","LeafletGeoJSON","createGeoJSON","ctx","data","overlayContainer","_typeof","module","exports","__esModule","require","boundMethod","descriptor","fn","concat","definingProperty","get","boundFn","set","boundClass","Reflect","ownKeys","getOwnPropertyNames","getOwnPropertyDescriptor","autobind","factory","extend","parent","definition","define","Color","darker","brighter","reI","reN","reP","reHex","reRgbInteger","RegExp","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","color","copy","channels","displayable","rgb","hex","color_formatHex","formatHex","formatHsl","color_formatHsl","formatRgb","color_formatRgb","hslConvert","format","m","l","trim","toLowerCase","exec","parseInt","rgbn","Rgb","rgba","hsla","NaN","r","g","b","a","rgbConvert","Math","pow","rgb_formatHex","rgb_formatRgb","isNaN","max","min","round","h","s","Hsl","hsl","m2","m1","hsl2rgb","e10","sqrt","e5","e2","start","stop","count","reverse","ticks","step","tickIncrement","isFinite","r0","r1","power","floor","log","LN10","error","tickStep","step0","abs","step1","ascending","f","delta","compare","d","x","ascendingComparator","left","lo","hi","mid","right","numbers","valueof","undefined","index","bisector","number","ascendingBisect","bisectRight","bisectLeft","bisectCenter","basis","t1","v0","v1","v2","v3","t2","t3","t","constant","linear","exponential","y","hue","gamma","nogamma","colorRgb","basisClosed","rgbGamma","end","rgbSpline","spline","colors","rgbBasis","rgbBasisClosed","numberArray","isNumberArray","genericArray","nb","na","Date","setTime","reA","reB","zero","one","bi","lastIndex","am","bm","bs","q","join","ArrayBuffer","isView","DataView","date","object","string","valueOf","constants","bisect","interpolate","interpolateValue","interpolateNumber","interpolateRound","unit","identity","normalize","clamper","bimap","domain","range","d0","d1","polymap","j","clamp","unknown","transformer","transform","untransform","piecewise","output","input","rescale","scale","invert","_","rangeRound","u","continuous","initRange","initInterpolator","interpolator","re","formatSpecifier","specifier","match","FormatSpecifier","fill","align","sign","symbol","width","comma","precision","type","toLocaleString","replace","formatDecimalParts","p","toExponential","coefficient","exponent","grouping","thousands","substring","numerals","out","i0","i1","prefixExponent","formatDecimal","formatPrefixAuto","formatRounded","toFixed","toPrecision","toUpperCase","formatGroup","formatNumerals","formatTrim","formatTypes","prefixes","locale","group","Number","currencyPrefix","currency","currencySuffix","decimal","String","percent","minus","nan","newFormat","prefix","suffix","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","charCodeAt","Infinity","padding","formatPrefix","e","formatLocale","defaultLocale","precisionFixed","precisionPrefix","precisionRound","tickFormat","linearish","nice","prestep","maxIter","ceil","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","location","propFullName","secret","isRequired","getShim","ReactPropTypes","array","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","ReactIs","throwOnDirectAccess","isElement","hasClass","classList","contains","baseVal","addClass","add","setAttribute","replaceClassName","origClass","classToRemove","removeClass","remove","disabled","ReactDOM","config","timeoutsShape","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","Transition","parentGroup","initialStatus","appearStatus","unmountOnExit","mountOnEnter","status","nextCallback","prevState","nextIn","updateStatus","componentDidUpdate","nextStatus","cancelNextCallback","getTimeouts","timeout","mounting","performEnter","performExit","_this2","appearing","_ref2","nodeRef","findDOMNode","maybeNode","maybeAppearing","timeouts","enterTimeout","safeSetState","onEntered","onEnter","onEntering","onTransitionEnd","_this3","onExit","onExiting","cancel","nextState","callback","setNextCallback","_this4","active","event","handler","doesNotHaveTimeoutOrListener","addEndListener","setTimeout","_ref3","maybeNextCallback","_in","_mountOnEnter","_unmountOnExit","_appear","_enter","_exit","_timeout","_addEndListener","_onEnter","_onEntering","_onEntered","_onExit","_onExiting","_onExited","_nodeRef","childProps","only","contextType","Element","pt","_len","args","_key","noop","addOneClass","removeOneClass","classNamesShape","_addClass","classes","split","CSSTransition","appliedClasses","_this$resolveArgument","resolveArguments","removeClasses","_this$resolveArgument2","_this$resolveArgument3","_this$resolveArgument4","_this$resolveArgument5","_this$resolveArgument6","getClassNames","classNames","isStringClassNames","baseClassName","activeClassName","doneClassName","phase","_this$getClassNames","scrollTop","_this$appliedClasses$","base","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","makeInvokeMethod","tryCatch","arg","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","Gp","displayName","defineIteratorMethods","method","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","__await","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","then","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","async","Promise","iter","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","info","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","pop","iterable","iteratorMethod","skipTempReset","charAt","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","_setPrototypeOf","subClass","superClass","sourceKeys"],"sourceRoot":""}
|