{"version":3,"sources":["webpack:///./components/sections/TabSections.vue?369e","webpack:///./components/modules/Image.vue?3aa3","webpack:///./components/sections/Organization.vue?f4f6","webpack:///./components/sections/TwoColumnContentSections.vue?c50f","webpack:///./components/sections/ChartSections.vue?92d6","webpack:///./components/sections/ChartSections.vue","webpack:///./components/sections/ChartSections.vue?c071","webpack:///./components/sections/Organization.vue?eb5a","webpack:///./components/sections/Organization.vue","webpack:///./components/sections/Organization.vue?b6c9","webpack:///./components/sections/TwoColumnContentSections.vue","webpack:///./components/sections/TwoColumnContentSections.vue?475f","webpack:///./components/sections/TwoColumnContentSections.vue?31e3","webpack:///./components/sections/TwoColumnContentWithWidgetSections.vue","webpack:///./components/sections/TwoColumnContentWithWidgetSections.vue?ea9e","webpack:///./components/sections/TwoColumnContentWithWidgetSections.vue?451a","webpack:///./components/hero/HeroList.vue?9de4","webpack:///./node_modules/vuetify/src/components/VTextField/VTextField.sass","webpack:///./node_modules/core-js/modules/es.array.flat.js","webpack:///./node_modules/core-js/modules/es.array.unscopables.flat.js","webpack:///./node_modules/core-js/modules/es.string.fixed.js","webpack:///../../../src/mixins/proxyable/index.ts","webpack:///../../../src/mixins/elevatable/index.ts","webpack:///../../../src/mixins/measurable/index.ts","webpack:///./components/hero/HeroBirimler.vue?ee23","webpack:///../../../src/components/VThemeProvider/VThemeProvider.ts","webpack:///../../../src/mixins/delayable/index.ts","webpack:///../../../src/mixins/activatable/index.ts","webpack:///../../../src/mixins/dependent/index.ts","webpack:///../../../src/mixins/stackable/index.ts","webpack:///../../../src/mixins/bootable/index.ts","webpack:///../../../src/mixins/detachable/index.ts","webpack:///../../../src/mixins/menuable/index.ts","webpack:///../../../src/mixins/returnable/index.ts","webpack:///../../src/util/dom.ts","webpack:///../../../src/directives/click-outside/index.ts","webpack:///../../../src/components/VMenu/VMenu.ts","webpack:///../../../src/components/VMenu/index.ts","webpack:///../../../src/components/VDivider/VDivider.ts","webpack:///../../../src/components/VDivider/index.ts","webpack:///../../../src/components/VSubheader/VSubheader.ts","webpack:///../../../src/components/VSubheader/index.ts","webpack:///../../../src/components/VList/VListItem.ts","webpack:///../../../src/components/VList/VListItemAction.ts","webpack:///../../../src/components/VList/VList.ts","webpack:///../../../src/components/VList/VListItemIcon.ts","webpack:///../../../src/components/VList/VListGroup.ts","webpack:///../../../src/mixins/comparable/index.ts","webpack:///../../../src/components/VItemGroup/VItemGroup.ts","webpack:///../../../src/components/VList/VListItemGroup.ts","webpack:///../../../src/components/VAvatar/VAvatar.ts","webpack:///../../../src/components/VAvatar/index.ts","webpack:///../../../src/components/VList/VListItemAvatar.ts","webpack:///../../../src/components/VList/index.ts","webpack:///../../../src/components/VSelect/VSelectList.ts","webpack:///../../../src/components/VLabel/VLabel.ts","webpack:///../../../src/components/VLabel/index.ts","webpack:///../../../src/components/VMessages/index.ts","webpack:///../../../src/components/VMessages/VMessages.ts","webpack:///../../../src/mixins/validatable/index.ts","webpack:///../../../src/components/VInput/VInput.ts","webpack:///../../../src/components/VInput/index.ts","webpack:///../../../src/components/VCounter/VCounter.ts","webpack:///../../../src/components/VCounter/index.ts","webpack:///../../../src/components/VTextField/VTextField.ts","webpack:///../../../src/mixins/filterable/index.ts","webpack:///../../../src/components/VSelect/VSelect.ts","webpack:///./components/modules/Image.vue?b116","webpack:///./components/modules/Image.vue","webpack:///./components/modules/Image.vue?7e7c","webpack:///./components/cards/PersonList.vue","webpack:///./components/cards/PersonList.vue?5867","webpack:///./components/cards/PersonList.vue?81bd","webpack:///../../../src/components/VProgressLinear/VProgressLinear.ts","webpack:///../../../src/components/VProgressLinear/index.ts","webpack:///../../../src/mixins/loadable/index.ts","webpack:///../../../src/components/VChip/VChip.ts","webpack:///../../../src/components/VChip/index.ts","webpack:///./components/hero/HeroDetail.vue?8b8b","webpack:///./components/sections/PersonsList.vue?332e","webpack:///./components/sections/PersonsList.vue","webpack:///./components/sections/PersonsList.vue?d9d7","webpack:///./components/hero/HeroDetail.vue","webpack:///./components/hero/HeroDetail.vue?6a9d","webpack:///./components/hero/HeroDetail.vue?341d","webpack:///./components/sideBar/SideBar.vue?e8c0","webpack:///./components/sideBar/SideBar.vue","webpack:///./components/sideBar/SideBar.vue?6012","webpack:///./components/hero/HeroList.vue?2340","webpack:///./node_modules/vuetify/src/components/VDataTable/VDataTable.sass","webpack:///./node_modules/vuetify/src/components/VDataIterator/VDataFooter.sass","webpack:///./node_modules/core-js/modules/esnext.array.last-item.js","webpack:///./node_modules/vuetify/src/components/VSelect/VSelect.sass","webpack:///./node_modules/core-js/internals/flatten-into-array.js","webpack:///./node_modules/core-js/modules/es.object.is.js","webpack:///./node_modules/vuetify/src/components/VInput/VInput.sass","webpack:///./node_modules/vuetify/src/components/VLabel/VLabel.sass","webpack:///./node_modules/vuetify/src/components/VMessages/VMessages.sass","webpack:///./node_modules/vuetify/src/components/VProgressLinear/VProgressLinear.sass","webpack:///./node_modules/vuetify/src/directives/ripple/VRipple.sass","webpack:///./node_modules/vuetify/src/components/VCounter/VCounter.sass","webpack:///./node_modules/vuetify/src/components/VList/VListItem.sass","webpack:///./node_modules/vuetify/src/components/VCheckbox/VSimpleCheckbox.sass","webpack:///./node_modules/vuetify/src/components/VDivider/VDivider.sass","webpack:///./node_modules/vuetify/src/components/VSubheader/VSubheader.sass","webpack:///./node_modules/vuetify/src/components/VList/VList.sass","webpack:///./node_modules/vuetify/src/components/VSheet/VSheet.sass","webpack:///./node_modules/vuetify/src/components/VList/VListGroup.sass","webpack:///./node_modules/vuetify/src/components/VAvatar/VAvatar.sass","webpack:///./node_modules/vuetify/src/components/VList/VListItemGroup.sass","webpack:///./node_modules/vuetify/src/components/VItemGroup/VItemGroup.sass","webpack:///./node_modules/vuetify/src/components/VChip/VChip.sass","webpack:///./node_modules/vuetify/src/components/VMenu/VMenu.sass","webpack:///./node_modules/vuetify/src/components/VBtn/VBtn.sass","webpack:///./node_modules/vuetify/src/components/VProgressCircular/VProgressCircular.sass","webpack:///./node_modules/vuetify/src/components/VDataTable/VDataTableHeader.sass","webpack:///./node_modules/vuetify/src/components/VDataTable/VSimpleTable.sass","webpack:///./components/hero/HeroBirimler.vue?7712","webpack:///./node_modules/vuetify/src/components/VTreeview/VTreeview.sass","webpack:///./components/hero/HeroList.vue","webpack:///./components/hero/HeroList.vue?ac55","webpack:///./components/hero/HeroList.vue?d547","webpack:///./components/hero/HeroBirimler.vue","webpack:///./components/hero/HeroBirimler.vue?dcdf","webpack:///./components/hero/HeroBirimler.vue?53c7","webpack:///./components/modules/EndpointTabs.vue","webpack:///./components/modules/EndpointTabs.vue?5c5e","webpack:///./components/modules/EndpointTabs.vue?e7ce","webpack:///../../../src/components/VData/VData.ts","webpack:///../../../src/components/VSheet/index.ts","webpack:///../../../src/components/VProgressCircular/index.ts","webpack:///../../../src/components/VProgressCircular/VProgressCircular.ts","webpack:///../../../src/components/VBtn/VBtn.ts","webpack:///../../../src/components/VBtn/index.ts","webpack:///../../../src/components/VDataIterator/VDataFooter.ts","webpack:///../../../src/mixins/mobile/index.ts","webpack:///../../../src/components/VDataIterator/VDataIterator.ts","webpack:///../../../../src/components/VDataTable/mixins/header.ts","webpack:///../../../src/components/VDataTable/VDataTableHeaderMobile.ts","webpack:///../../../src/components/VDataTable/VDataTableHeaderDesktop.ts","webpack:///../../../src/components/VDataTable/VDataTableHeader.ts","webpack:///../../src/util/dedupeModelListeners.ts","webpack:///../../src/util/rebuildFunctionalSlots.ts","webpack:///../../../src/components/VDataTable/Row.ts","webpack:///../../../src/components/VDataTable/RowGroup.ts","webpack:///../../../src/components/VDataTable/VSimpleTable.ts","webpack:///../../../src/components/VDataTable/MobileRow.ts","webpack:///../../../src/mixins/mouse/index.ts","webpack:///../../../src/components/VDataTable/VDataTable.ts","webpack:///./components/pages/List.vue","webpack:///./components/pages/List.vue?c64f","webpack:///./components/pages/List.vue?9c7f","webpack:///./components/pages/Birimler.vue","webpack:///./components/pages/Birimler.vue?2f08","webpack:///./components/pages/Birimler.vue?b131","webpack:///./components/pages/Organization.vue","webpack:///./components/pages/Organization.vue?d72e","webpack:///./components/pages/Organization.vue?5e8d","webpack:///./components/pages/Default.vue","webpack:///./components/pages/Default.vue?8458","webpack:///./components/pages/Default.vue?aa4e","webpack:///../../../src/components/VTreeview/VTreeviewNode.ts","webpack:///../../../../src/components/VTreeview/util/filterTreeItems.ts","webpack:///../../../src/components/VTreeview/VTreeview.ts","webpack:///./views/pages/index.vue","webpack:///./views/pages/index.vue?a840","webpack:///./views/pages/index.vue?0ccd","webpack:///./mixins/date.js","webpack:///./mixins/dynamic-pages-parents-slug.js","webpack:///./mixins/utils.js","webpack:///./components/widget/QuickLinks.vue?e535","webpack:///./components/cards/App.vue?6a84","webpack:///./components/modules/Slider.vue?2de0","webpack:///./components/cards/Slim.vue?1639","webpack:///../../../src/components/VIcon/index.ts","webpack:///./components/widget/QuickLinks.vue?29c9","webpack:///./components/widget/QuickLinks.vue","webpack:///./components/widget/QuickLinks.vue?9d45","webpack:///./components/modules/Slider.vue?bba7","webpack:///./components/modules/Slider.vue","webpack:///./components/modules/Slider.vue?1c9f","webpack:///./components/downloadLink/DownloadLink.vue","webpack:///./components/downloadLink/DownloadLink.vue?35af","webpack:///./components/downloadLink/DownloadLink.vue?c522","webpack:///./node_modules/chart.js/dist/chunks/helpers.segment.mjs","webpack:///./node_modules/chart.js/dist/chart.mjs","webpack:///./components/modules/SliderTwo.vue?05ea","webpack:///./components/button/ButtonBox.vue?1663","webpack:///./components/cards/Default.vue","webpack:///./components/cards/Default.vue?9e14","webpack:///./components/cards/Default.vue?ba33","webpack:///./components/cards/App.vue?94d7","webpack:///./components/cards/App.vue","webpack:///./components/cards/App.vue?f1a9","webpack:///./components/widget/QuickLinks.vue?13cc","webpack:///./node_modules/vue-chartjs/dist/index.js","webpack:///./components/cards/App.vue?98d4","webpack:///./components/widget/Text.vue","webpack:///./components/widget/Text.vue?6783","webpack:///./components/widget/Text.vue?7e95","webpack:///./components/cards/Download.vue","webpack:///./components/cards/Download.vue?a33d","webpack:///./components/cards/Download.vue?d1bf","webpack:///./components/cards/Video.vue","webpack:///./components/cards/Video.vue?54cc","webpack:///./components/cards/Video.vue?55d9","webpack:///./components/cards/Slim.vue","webpack:///./components/cards/Slim.vue?5402","webpack:///./components/cards/Slim.vue?3667","webpack:///./components/cards/PersonDetail.vue?4339","webpack:///./node_modules/core-js/modules/es.array.find-index.js","webpack:///../../../src/directives/ripple/index.ts","webpack:///./components/pagination/Pagination.vue?412c","webpack:///./components/modules/Slider.vue?bf90","webpack:///./components/cards/Slim.vue?5ab7","webpack:///./components/button/ButtonBox.vue","webpack:///./components/button/ButtonBox.vue?b47f","webpack:///./components/button/ButtonBox.vue?c378","webpack:///./components/accordion/Accordion.vue","webpack:///./components/accordion/Accordion.vue?8271","webpack:///./components/accordion/Accordion.vue?d6e6","webpack:///./components/carousel/Carousel.vue?66a3","webpack:///./components/cards/Banner.vue?9ff7","webpack:///./components/modal/Text.vue?bf72","webpack:///./components/widget/App.vue","webpack:///./components/widget/App.vue?00df","webpack:///./components/widget/App.vue?e123","webpack:///./components/modules/SliderTwo.vue?fee2","webpack:///./components/modules/SliderTwo.vue","webpack:///./components/modules/SliderTwo.vue?b0e8","webpack:///./components/sections/TextSections.vue","webpack:///./components/sections/TextSections.vue?ab43","webpack:///./components/sections/TextSections.vue?f3a1","webpack:///./components/modules/SliderTwo.vue?9398","webpack:///./components/button/ButtonBox.vue?5e60","webpack:///./components/banners/Default.vue?1e10","webpack:///./components/banners/Widget.vue?dfe8","webpack:///../../../src/directives/resize/index.ts","webpack:///./components/cards/PersonDetail.vue","webpack:///./components/cards/PersonDetail.vue?6113","webpack:///./components/cards/PersonDetail.vue?6505","webpack:///./components/modules/Default.vue?da6d","webpack:///./components/modules/Default.vue","webpack:///./components/modules/Default.vue?3aac","webpack:///./components/sideBar/SolMenuDynamicZone.vue","webpack:///./components/sideBar/SolMenuDynamicZone.vue?8fec","webpack:///./components/sideBar/SolMenuDynamicZone.vue?2dba","webpack:///./components/carousel/Carousel.vue","webpack:///./components/carousel/Carousel.vue?1199","webpack:///./components/carousel/Carousel.vue?ffe7","webpack:///./components/DownloadButtons/DownloadButtons.vue?bc37","webpack:///./components/cards/PersonDetail.vue?06f7","webpack:///./components/cards/Image.vue?181b","webpack:///../../../src/mixins/intersectable/index.ts","webpack:///../../../src/directives/intersect/index.ts","webpack:///../../../src/mixins/toggleable/index.ts","webpack:///./node_modules/core-js/modules/esnext.string.replace-all.js","webpack:///./node_modules/core-js/modules/es.string.replace-all.js","webpack:///./node_modules/core-js/modules/es.number.max-safe-integer.js","webpack:///./node_modules/vuetify/src/components/VPagination/VPagination.sass","webpack:///./components/pagination/Pagination.vue?0d1f","webpack:///./components/orgNode/OrgNode.vue?219e","webpack:///../../../src/components/VPagination/VPagination.ts","webpack:///./components/pagination/Pagination.vue?2212","webpack:///./components/pagination/Pagination.vue","webpack:///./components/pagination/Pagination.vue?38a6","webpack:///./components/sideBar/SideBarList.vue?67c2","webpack:///./components/sideBar/SideBarList.vue","webpack:///./components/sideBar/SideBarList.vue?8e8c","webpack:///./components/orgNode/OrgNode.vue?36db","webpack:///./components/orgNode/OrgNode.vue","webpack:///./components/orgNode/OrgNode.vue?2397","webpack:///./components/carousel/Carousel.vue?9b48","webpack:///./components/cards/Banner.vue?70ce","webpack:///./components/modal/Text.vue?6eb6","webpack:///./components/sections/TabSections.vue?a567","webpack:///./components/modules/Image.vue?5a27","webpack:///./components/sections/Organization.vue?c94e","webpack:///./components/sections/TwoColumnContentSections.vue?dadf","webpack:///./components/cards/Banner.vue","webpack:///./components/cards/Banner.vue?bc1e","webpack:///./components/cards/Banner.vue?60c2","webpack:///./components/modal/Text.vue?d798","webpack:///./components/modal/Text.vue","webpack:///./components/modal/Text.vue?7cf9","webpack:///./components/banners/Default.vue?a6a1","webpack:///./components/banners/Widget.vue?7361","webpack:///./mixins/sidebar-hash-control.js","webpack:///./components/modules/List.vue?2b56","webpack:///./components/modules/List.vue","webpack:///./components/modules/List.vue?a9bc","webpack:///./components/sections/ServicesSections.vue?4291","webpack:///./components/sections/ServicesSections.vue","webpack:///./components/sections/ServicesSections.vue?637e","webpack:///./components/sections/BannerSections.vue","webpack:///./components/sections/BannerSections.vue?fd04","webpack:///./components/sections/BannerSections.vue?1511","webpack:///./components/banners/Default.vue?4543","webpack:///./components/banners/Default.vue","webpack:///./components/banners/Default.vue?1cf3","webpack:///./components/banners/Image.vue?faee","webpack:///./components/banners/Image.vue","webpack:///./components/banners/Image.vue?af34","webpack:///./components/banners/Widget.vue?8b7a","webpack:///./components/banners/Widget.vue","webpack:///./components/banners/Widget.vue?efb5","webpack:///./components/cards/Extended.vue","webpack:///./components/cards/Extended.vue?ed24","webpack:///./components/cards/Extended.vue?f01a","webpack:///./components/cards/Company.vue","webpack:///./components/cards/Company.vue?6037","webpack:///./components/cards/Company.vue?6f8b","webpack:///./components/cards/Person.vue","webpack:///./components/cards/Person.vue?2b39","webpack:///./components/cards/Person.vue?b6a5","webpack:///./components/modules/Table.vue?d195","webpack:///./components/modules/Table.vue","webpack:///./components/modules/Table.vue?1aed","webpack:///./components/modules/Accordion.vue","webpack:///./components/modules/Accordion.vue?a02f","webpack:///./components/modules/Accordion.vue?7a23","webpack:///./components/DownloadButtons/DownloadButtons.vue?20b1","webpack:///./components/cards/Image.vue?3a18","webpack:///../../../src/mixins/positionable/index.ts","webpack:///../../../src/mixins/routable/index.ts","webpack:///../../../src/mixins/groupable/index.ts","webpack:///../../../src/components/VCheckbox/VSimpleCheckbox.ts","webpack:///../../../src/components/VSheet/VSheet.ts","webpack:///../../../src/mixins/roundable/index.ts","webpack:///./components/orgNode/OrgNode.vue?e6e6","webpack:///./components/hero/HeroDetail.vue?9e70","webpack:///./components/hero/HeroSimple.vue","webpack:///./components/hero/HeroSimple.vue?8f75","webpack:///./components/hero/HeroSimple.vue?4a7d","webpack:///./components/DownloadButtons/DownloadButtons.vue","webpack:///./components/DownloadButtons/DownloadButtons.vue?1d8d","webpack:///./components/DownloadButtons/DownloadButtons.vue?5010","webpack:///./components/sections/TabSections.vue","webpack:///./components/sections/TabSections.vue?a689","webpack:///./components/sections/TabSections.vue?3652","webpack:///./components/charts/DoughnutChart.vue","webpack:///./components/charts/DoughnutChart.vue?0e20","webpack:///./components/charts/DoughnutChart.vue?e028","webpack:///./components/charts/LineChart.vue","webpack:///./components/charts/LineChart.vue?4a67","webpack:///./components/charts/LineChart.vue?87ac","webpack:///./components/charts/BarChart.vue","webpack:///./components/charts/BarChart.vue?cd3a","webpack:///./components/charts/BarChart.vue?2de2","webpack:///./components/charts/PieChart.vue","webpack:///./components/charts/PieChart.vue?cb09","webpack:///./components/charts/PieChart.vue?1427","webpack:///./components/charts/GroupBarChart.vue","webpack:///./components/charts/GroupBarChart.vue?5820","webpack:///./components/charts/GroupBarChart.vue?d9f8","webpack:///./components/sections/ContentSections.vue","webpack:///./components/sections/ContentSections.vue?21d3","webpack:///./components/sections/ContentSections.vue?cbdd","webpack:///./components/cards/Image.vue","webpack:///./components/cards/Image.vue?f65c","webpack:///./components/cards/Image.vue?a616","webpack:///./components/modules/Endpoint.vue","webpack:///./components/modules/Endpoint.vue?b862","webpack:///./components/modules/Endpoint.vue?9faa","webpack:///./components/modules/Slim.vue?45ca","webpack:///./components/modules/Slim.vue","webpack:///./components/modules/Slim.vue?5411"],"names":["name","mixins","lang","props","section","type","Object","index","Number","data","genelOran","genelOran_SGZ","sonOnDortGunDoluluk","sonOnDortGunDoluluk_SGZ","sonBirYildakiAySonlariDoluluk","sonBirYildakiAySonlariDoluluk_SGZ","sonGunDolulukOraniYillaraGore","sonGunDolulukOraniYillaraGore_SGZ","mevcutSuMiktarlarininBarajlaraGoreDagilimi","mevcutSuMiktarlarininBarajlaraGoreDagilimi_SGZ","sonGunMevcutSuYillaraGore","sonGunMevcutSuYillaraGore_SGZ","gunlukOzet","gunlukOzet_SGZ","yillikYagisMiktari","yillikYagisMiktari_SGZ","sonOndortGundeVerilenSu","sonOndortGundeVerilenSu_SGZ","sonBirYildaVerilenAylikOrtalamaSu","sonBirYildaVerilenAylikOrtalamaSu_SGZ","sonOnYildaVerilenYillaraGoreGunlukOrtalamaSu","sonOnYildaVerilenYillaraGoreGunlukOrtalamaSu_SGZ","sonOnyildaVerilenToplamSu","sonOnyildaVerilenToplamSu_SGZ","melenveYesilcayRegulatorlerindenAlinanSu","melenveYesilcayRegulatorlerindenAlinanSu_SGZ","selectValue","selectTitle","barajListesi","sonOnDortGundekiSu","sonOnDortGundekiSu_SGZ","sonOnDortGundekiSuSection","title","color","sonOndortGundekiMevcutSuHacmi","sonOndortGundekiMevcutSuHacmi_SGZ","sonOndortGundekiMevcutSuHacmiSection","sonBirYildakiAySonuDolulukOranlari","sonBirYildakiAySonuDolulukOranlari_SGZ","sonBirYildakiAySonuDolulukOranlariSection","sonOnYildakiDolulukOrani","sonOnYildakiDolulukOrani_SGZ","sonOnYildakiDolulukOraniSection","watch","handler","this","fetchData","deep","mounted","_this","_asyncToGenerator","regeneratorRuntime","mark","_callee","_this$barajListesi$","_this$barajListesi$2","wrap","_context","prev","next","kaynakAdi","sent","baslikAdi","toLocaleUpperCase","fetchFirstData","stop","methods","_this2","_callee2","_yield$_this2$$axios$","_yield$_this2$$axios$2","_data","_yield$_this2$$axios$3","_data2","_yield$_this2$$axios$4","_data3","_yield$_this2$$axios$5","_data4","_yield$_this2$$axios$6","_data5","_yield$_this2$$axios$7","_data6","_yield$_this2$$axios$8","_data7","_yield$_this2$$axios$9","_data8","_yield$_this2$$axios$10","_data9","_yield$_this2$$axios$11","_data10","_yield$_this2$$axios$12","_data11","_yield$_this2$$axios$13","_data12","_yield$_this2$$axios$14","_data13","sortedData","_context2","$axios","get","sonGuncellemeZamani","t0","console","log","t1","t2","t3","t4","t5","slice","t6","t7","t8","t9","t10","t11","t12","sort","a","b","t13","_this3","_callee3","_this3$selectValue","_this3$selectTitle","_yield$_this3$$axios$","_yield$_this3$$axios$2","_data14","_yield$_this3$$axios$3","_data15","_yield$_this3$$axios$4","_data16","_context3","post","concat","selectChange","selectVal","document","querySelector","options","selectedIndex","text","component","_vm$section","_vm","_c","_self","staticClass","content","_l","item","_vm$genelOran","_vm$sonOnDortGunDolul","_vm$sonBirYildakiAySo","_vm$sonGunDolulukOran","_vm$sonGunMevcutSuYil","_vm$mevcutSuMiktarlar","_vm$gunlukOzet","_vm$yillikYagisMiktar","_vm$sonOndortGundeVer","_vm$sonBirYildaVerile","_vm$sonOnYildaVerilen","_vm$sonOnyildaVerilen","_vm$melenveYesilcayRe","enabled","oran","attrs","_e","_v","length","directives","rawName","value","expression","localizationContent","dam","selectbox","placeholder","on","$event","$$selectedVal","Array","prototype","filter","call","target","o","selected","map","_value","multiple","domProps","_s","installComponents","ChartsDoughnutChart","default","ChartsLineChart","ChartsBarChart","ChartsPieChart","ChartsGroupBarChart","device","dynamicPagesParentsSlugs","schema","isListView","chartFetched","chart","organizationData","fetchDataList","html","classList","indexOf","add","setTimeout","querySelectorAll","nodesWithClass","wrapperDiv","createElement","className","forEach","node","appendChild","remove","addNewKey","_yield$_this$$axios$g","obj","startValue","newKey","children","i","currentLang","push","listShow","print","window","OrgNode","required","filterslug","String","getEndpoint","_yield$_this$section$","_this$section","endpoint","attributes","key","_vm$setDynamicParentS","_vm$setDynamicParentS2","setDynamicParentSlug","slug","ModulesDefault","ModulesSlider","ModulesSlim","widget","WidgetText","module","exports","$","flattenIntoArray","toObject","lengthOfArrayLike","toIntegerOrInfinity","arraySpeciesCreate","proto","flat","depthArg","arguments","undefined","O","sourceLen","A","addToUnscopables","createHTML","forced","forcedStringHTMLMethod","fixed","Proxyable","prop","event","Vue","extend","model","_defineProperty","internalLazyValue","computed","internalValue","set","val","$emit","factory","elevation","computedElevation","elevationClasses","isNaN","parseInt","height","maxHeight","maxWidth","minHeight","minWidth","width","measurableStyles","styles","convertToUnit","Themeable","root","Boolean","isDark","rootIsDark","render","$slots","find","isComment","openDelay","closeDelay","openTimeout","closeTimeout","clearDelay","clearTimeout","runDelay","cb","delay","isActive","open","close","baseMixins","Delayable","Toggleable","activator","validator","includes","_typeof","disabled","internalActivator","openOnClick","openOnHover","openOnFocus","activatorElement","activatorNode","events","listeners","slotType","getSlotType","consoleError","addActivatorEvents","beforeDestroy","removeActivatorEvents","getActivator","genActivatorListeners","_i","_keys","keys","addEventListener","genActivator","getSlot","assign","getValueProxy","genActivatorAttributes","role","mouseenter","e","mouseleave","click","focus","stopPropagation","$el","vm","componentInstance","$options","some","m","elm","currentTarget","nodeType","Node","ELEMENT_NODE","getContentSlot","self","_i2","_keys2","removeEventListener","resetActivator","searchChildren","results","child","isDependent","apply","_toConsumableArray","$children","closeDependents","openDependents","getOpenDependents","getOpenDependentElements","result","getClickableDependentElements","$refs","overlay","stackElement","stackExclude","stackMinZIndex","activeZIndex","getMaxZIndex","getZIndex","exclude","base","zis","activeElements","getElementsByClassName","Math","max","eager","isBooted","hasContent","created","$attrs","removed","showLazyContent","$createElement","removeActivator","parentNode","removeChild","Bootable","attach","contentClass","hasDetached","initDetach","$nextTick","beforeMount","isArray","firstChild","nextSibling","insertBefore","deactivated","destroyed","isConnected","observer","MutationObserver","list","record","from","removedNodes","disconnect","observe","subtree","childList","getScopeIdAttrs","scopeId","getObjectValueByPath","$vnode","_isDestroyed","consoleWarn","Stackable","positionableFactory","Activatable","Detachable","allowOverflow","light","dark","nudgeBottom","nudgeLeft","nudgeRight","nudgeTop","nudgeWidth","offsetOverflow","positionX","positionY","zIndex","absoluteX","absoluteY","activatedBy","activatorFixed","dimensions","top","left","bottom","right","offsetTop","scrollHeight","offsetLeft","relativeYOffset","hasJustFocused","hasWindow","inputActivator","isContentActive","pageWidth","pageYOffset","stackClass","computedLeft","c","activatorLeft","$vuetify","rtl","offsetX","min","computedTop","offsetY","hasActivator","$scopedSlots","absoluteYOffset","callDeactivate","callActivate","updateDimensions","absolutePosition","activate","calcLeft","menuWidth","calcXOverflow","calcTop","calcYOverflow","xOverflow","getOffsetLeft","documentHeight","getInnerHeight","toTop","contentHeight","isOverflowing","deactivate","checkForPageYOffset","getOffsetTop","checkActivatorFixed","el","getComputedStyle","position","offsetParent","onClick","clientX","clientY","innerHeight","documentElement","clientHeight","pageXOffset","scrollLeft","scrollTop","getRoundedBoundedClientRect","rect","getBoundingClientRect","round","measure","style","marginLeft","marginTop","sneakPeek","requestAnimationFrame","display","startTransition","Promise","resolve","_this4","clientWidth","_objectSpread","absolute","offsetRect","returnValue","originalValue","save","attachedRoot","getRootNode","composed","defaultConditional","checkEvent","binding","checkIsActive","ShadowRoot","host","elements","include","contains","closeConditional","handleShadow","callback","ClickOutside","inserted","vnode","_clickOutside","lastMousedownWasOutside","directive","onMousedown","app","context","_uid","unbind","_a","_el$_clickOutside$vno","VMenu","Dependent","Returnable","Roundable","Menuable","Resize","provide","isInMenu","theme","auto","closeOnClick","closeOnContentClick","disableKeys","origin","transition","contentProps","calculatedTopAuto","defaultOffset","listIndex","resizeTimeout","tiles","activeTile","calculatedLeft","parseFloat","calculatedMinWidth","calcLeftAuto","calculatedMaxHeight","calculatedMaxWidth","calculatedTop","hasClickableTiles","tile","tabIndex","transformOrigin","goTo","appOffset","duration","container","hasOwnProperty","then","calcTopAuto","calcScrollPosition","maxScrollTop","offsetHeight","tileDistanceFromMenuTop","firstTileOffsetTop","changeListIndex","getTiles","keyCode","keyCodes","tab","down","nextTile","up","prevTile","end","lastTile","home","firstTile","enter","preventDefault","id","keydown","onKeyDown","genTransition","genContent","genDirectives","class","rootThemeClasses","roundedClasses","menuable__content__active","trim","ref","getAttribute","$listeners","scroll","mouseEnterHandler","mouseLeaveHandler","_this5","relatedTarget","_this6","esc","onResize","offsetWidth","h","_this7","arg","VThemeProvider","VDivider","inset","vertical","orientation","themeClasses","VSubheader","Colorable","Routable","GroupableFactory","ToggleableFactory","Ripple","inject","isInGroup","isInList","isInNav","inheritAttrs","activeClass","listItemGroup","dense","inactive","link","selectable","tag","threeLine","twoLine","proxyClass","classes","isClickable","detail","blur","to","toggle","genAttrs","tabindex","inputValue","_this$generateRouteLi","generateRouteLink","nativeOn","active","setTextColor","functional","_ref","_ref$children","VNode","VSheet","expand","nav","rounded","subheader","groups","register","unregister","findIndex","g","splice","listClick","uid","_step","_iterator","_createForOfIteratorHelper","s","n","done","err","f","attrs$","setBackgroundColor","BindsAttrs","RegistrableInject","ripple","appendIcon","group","RegExp","noAction","prependIcon","subGroup","$route","matchRoute","path","genIcon","icon","VIcon","genAppendIcon","VListItemIcon","genHeader","VListItem","listeners$","genPrependIcon","genItems","onRouteChange","match","VExpandTransition","valueComparator","Function","deepEqual","BaseItemGroup","Comparable","mandatory","items","selectedItem","selectedItems","toggleMethod","getValue","selectedValues","v","intern","genData","updateInternalValue","$on","updateMandatory","updateItem","updateItemsState","updateMultiple","updateSingle","last","reverse","isSame","itemGroup","VAvatar","Measurable","size","horizontal","createSimpleFunctional","VListItemContent","VListItemTitle","action","hideSelected","itemDisabled","itemText","itemValue","noDataText","noFilter","searchInput","parsedItems","tileActiveClass","join","staticNoDataTile","mousedown","genTileContent","genAction","VListItemAction","VSimpleCheckbox","input","genDivider","genFilteredText","_this$getMaskedCharac","getMaskedCharacters","start","middle","genHighlight","header","toString","toLocaleLowerCase","genTile","_ref$disabled","_ref$value","hasItem","getDisabled","scopedSlot","parent","needsTile","getText","slot","componentOptions","Ctor","getPropertyFromItem","itemsLength","divider","unshift","VList","VLabel","focused","for","ctx","newData","mergeData","functionalThemeClasses","VMessages","genChildren","genMessage","message","error","errorCount","errorMessages","messages","readonly","rules","success","successMessages","validateOnBlur","errorBucket","hasColor","hasFocused","hasInput","isFocused","isResetting","lazyValue","valid","computedColor","isDisabled","appIsDark","hasError","internalErrorMessages","hasSuccess","internalSuccessMessages","externalError","hasMessages","validationTarget","hasState","shouldValidate","genInternalMessages","internalMessages","form","isInteractive","isReadonly","validations","validationState","newVal","oldVal","validate","reset","resetValidation","force","rule","Validatable","backgroundColor","hideDetails","hideSpinButtons","hint","label","loading","persistentHint","hasMouseDown","showDetails","isLabelActive","isDirty","computedId","hasDetails","messagesToDisplay","hasHint","hasLabel","$_modelEvent","validation","validationResult","beforeCreate","genPrependSlot","genControl","genAppendSlot","genInputSlot","genMessages","genDefaultSlot","genLabel","extraData","eventName","kebabCase","hasListener","localeKey","prepend","prependInner","append","appendOuter","clear","t","mouseup","onMouseDown","onMouseUp","scopedSlots","genSlot","location","VInput","VCounter","Intersectable","onVisible","Loadable","dirtyTypes","resize","appendOuterIcon","autofocus","clearable","clearIcon","counter","counterValue","filled","fullWidth","outlined","prefix","prependInnerIcon","persistentPlaceholder","shaped","singleLine","solo","soloInverted","suffix","badInput","labelWidth","prefixWidth","prependWidth","initialValue","isClearing","isSingle","isSolo","isEnclosed","computedCounterValue","hasCounter","labelPosition","offset","labelValue","showLabel","setLabelWidth","setPrefixWidth","breaking","$watch","tryAutofocus","isIntersecting","onFocus","clearableCallback","genPrependInnerSlot","genIconSlot","genClearIcon","genCounter","maxlength","_b","genFieldset","genTextFieldSlot","genProgress","genLegend","span","innerHTML","genInput","change","_this$attrs$","inputAttrs","_objectWithoutProperties","_excluded","is","onBlur","onInput","modifiers","quiet","messagesNode","counterNode","genAffix","activeElement","validity","scrollWidth","setPrependWidth","updateValue","defaultMenuProps","VTextField","Filterable","cacheItems","chips","deletableChips","disableLookup","itemColor","menuProps","openOnClear","returnObject","smallChips","cachedItems","menuIsBooted","isMenuActive","lastItem","keyboardLookupPrefix","keyboardLookupLastTime","allItems","filterDuplicates","hasChips","computedItems","computedOwns","dynamicHeight","hasSlot","selection","listData","_scopeId","virtualizedItems","select","selectItem","staticList","VSelectList","$_menuProps","menuCanShow","normalisedProps","split","reduce","acc","p","setSelectedItems","menu","onScroll","onMenuActiveChange","immediate","setMenuIndex","activateMenu","setValue","getContent","arr","uniqueValues","Map","has","values","findExistingIndex","genChipSelection","VChip","small","onChipInput","JSON","stringify","genCommaSelection","selections","genSelections","genHiddenInput","genMenu","autocomplete","keypress","onKeyPress","genList","genListWithSlot","_this8","slots","slotName","_this9","genSelection","genSlotSelection","_this10","getMenuIndex","isAppendInner","onEscDown","_this11","ctrlKey","metaKey","altKey","now","performance","toLowerCase","startsWith","_this12","space","onUpDown","onTabDown","onSpaceDown","_this13","which","_this14","_this15","_this16","_this17","_loop","appendInner","endpointData","cardSlider","arrows","dots","infinite","focusOnSelect","speed","swipeToSlide","slidesToScroll","accessibility","initialSlide","responsive","breakpoint","settings","slidesToShow","fetch","modifiedEndpoint","response","routeLang","isMobile","CardsImage","dateMixin","card","cdnUrl","process","_vm$personsSlug","_vm$card$kisi","_vm$card$kisi2","_vm$personsSlug2","_vm$card$kisi3","_vm$card$kisi4","_vm$card$kisi5","_vm$card$kisi6","_vm$card$kisi7","_vm$card$kisi8","_vm$card$kisi9","personsSlug","kisi","cardPerson","adsoyad","foto","url","alternativeText","hash","parti","short","PositionableFactory","intersect","backgroundOpacity","bufferValue","indeterminate","query","stream","striped","isVisible","__cachedBackground","backgroundStyle","__cachedBar","computedTransition","__cachedBarType","__cachedIndeterminate","__cachedDeterminate","__cachedBuffer","normalizedValue","genProgressBar","__cachedStream","normalizedBuffer","opacity","isReversed","reactive","VFadeTransition","VSlideXTransition","normalize","genListeners","onObserve","entries","VProgressLinear","loaderHeight","progress","Sizeable","chipGroup","closeIcon","closeLabel","draggable","filterIcon","pill","textColor","isLink","hasClose","sizeableClasses","groupClasses","_ref2","_slicedToArray","original","replacement","genFilter","VExpandXTransition","genClose","persons","_data$kisi","CardsPersonList","hero","pageTitle","parentSlug","sideBar","solMenu","_this$hero","_vm$sideBar","_vm$sideBar2","_vm$hero","_vm$hero2","_vm$sideBar3","_vm$hero3","_vm$hero4","_vm$sideBar4","_vm$hero$widget","_vm$hero5","_vm$sideBar5","_vm$hero$widget2","_vm$hero6","override","SideBarList","WidgetQuickLinks","ModulesSliderTwo","WidgetApp","utils","sidebar_endpoint","tabs","sideBarStatus","sideBarActive","sideBarIndex","icons","sideBarMobileOpen","sideBarOpen","_item$endpoint$data$a","_item$endpoint","__component","convertToCamelCase","external","DESCRIPTORS","defineBuiltInAccessor","configurable","len","doesNotExceedSafeInteger","bind","source","depth","mapper","thisArg","element","elementLen","targetIndex","sourceIndex","mapFn","stat","_vm$solMenu","_vm$solMenu2","_vm$solMenu3","_vm$hero7","_vm$hero8","_vm$sideBar6","_vm$sideBar7","ModulesList","SectionsTextSections","DownloadButtons","Accordion","solMenuEndpointElementType","SideBar","heroEnabled","pagination","page","pageSize","pageCount","params","URLSearchParams","_step$value","pageChanged","searchParams","urlParams","_this3$currentLang","_response","hasQuery","_this3$currentLang2","_response2","replace","ceil","meta","total","_vm$endpointData$0$at","_vm$endpointData","_vm$setDynamicParentS3","kisiler","_data$attributes","_data$attributes2","_vm$setDynamicParentS4","CardsDefault","CardsVideo","CardsSlim","CardsPersonDetail","SectionsOrganization","ButtonBox","Pagination","sortBy","sortDesc","customSort","sortItems","mustSort","multiSort","itemsPerPage","groupBy","groupDesc","customGroup","groupItems","locale","disableSort","disablePagination","disableFiltering","search","customFilter","searchItems","serverItemsLength","internalOptions","wrapInArray","_internalOptions$sort","_internalOptions$grou","_internalOptions","sortDiff","groupDiff","fillArray","filteredItems","pageStart","pageStop","isGrouped","paginateItems","groupedItems","scopedProps","sortArray","updateOptions","originalItemsLength","computedOptions","old","oldBy","oldDesc","by","desc","byIndex","k","_this$toggle","_this$toggle2","VProgressCircular","button","rotate","radius","calculatedSize","circumference","PI","strokeDashArray","strokeDashOffset","strokeWidth","viewBoxSize","svgStyles","transform","genCircle","fill","cx","cy","r","genSvg","xmlns","viewBox","genInfo","VBtn","Positionable","btnToggle","block","depressed","fab","plain","retainFocusOnClick","isElevated","hasBg","isRound","Elevatable","computedRipple","defaultRipple","circle","genLoader","loader","setColor","itemsPerPageOptions","prevIcon","nextIcon","firstIcon","lastIcon","itemsPerPageText","itemsPerPageAllText","showFirstLastPage","showCurrentPage","disableItemsPerPage","pageText","disableNextPageIcon","computedDataItemsPerPageOptions","option","genDataItemsPerPageOption","onFirstPage","onPreviousPage","onNextPage","onLastPage","onChangeItemsPerPage","genItemsPerPageSelect","computedIPPO","ippo","VSelect","genPaginationInfo","genIcons","before","after","mobileBreakpoint","_this$$vuetify$breakp","mobile","mobileWidth","deprecate","Mobile","VData","itemKey","singleSelect","expanded","singleExpand","noResultsText","loadingText","hideDefaultFooter","footerProps","selectableKey","expansion","internalCurrentItems","shiftKeyDown","lastEntry","everyItem","selectableItems","every","isSelected","someItems","sanitizedFooterProps","camelizeObjectKeys","isSelectable","onKeyUp","shift","shiftKey","toggleSelectAll","emit","x","lastEntryKey","lastEntryKeySelected","multipleSelect","currentItem","isExpanded","createItemProps","genEmptyWrapper","genEmpty","filteredItemsLength","noData","noResults","empty","genFooter","getPrefixedScopedSlots","VDataFooter","genDefaultScopedSlot","outerProps","$props","headers","checkboxColor","sortIcon","showGroupBy","genSelectAll","genSortIcon","sortByText","genSortChip","sortIndex","beingSorted","isDesc","sortable","asc","genSortSelect","sortHeaders","th","tr","genGroupByToggle","getAria","$t","ariaSort","ariaLabel","scope","align","_this$getAria","groupable","dedupeModelListeners","rebuildSlots","VDataTableHeaderMobile","VDataTableHeaderDesktop","computedSlots","columns","regularSlot","textAlign","cellClass","headerClass","summaryClass","fixedHeader","genWrapper","wrapper","hideDefaultHeader","mobileRowChildren","getDefaultMouseEventHandlers","getData","eventFirst","endsWith","getMouseEventHandlers","prevent","eventOptions","passive","once","capture","mouseEvent","buttons","eventTargetClasses","elementsFromPoint","changedTouches","isSameNode","dispatchEvent","TouchEvent","targetTouches","touches","filterFn","VDataIterator","Mouse","showSelect","showExpand","caption","headerProps","calculateWidths","headersLength","expandIcon","defaultFilter","filterMode","itemClass","itemStyle","internalGroupBy","openCache","widths","computedHeaders","defaultHeader","colspanAttrs","colspan","columnSorters","headersWithCustomFilters","filterable","headersWithoutCustomFilters","sanitizedHeaderProps","computedItemsPerPage","firstOption","groupByText","calcWidths","customFilterWithColumns","matchesColumnFilters","matchesSearchTerm","searchTableItems","customSortWithHeaders","genCaption","genColgroup","genLoading","genHeaders","VDataTableHeader","genGroupedRows","genRows","$set","genDefaultGroupedRow","isOpen","toggleFn","removeFn","column","RowGroup","genScopedRows","genDefaultRows","rows","genDefaultExpandedRow","genDefaultSimpleRow","headerRow","expandedRow","MobileRow","Row","mergeClasses","mergeStyles","genBody","body","genFoot","foot","genFooters","simpleProps","VSimpleTable","proxySlot","SEO","seo","endpointDataSection","_this$page","_vm$page$solMenu","_vm$page$parent","_vm$page$parent2","_vm$page$solMenu2","_vm$page$parent3","_vm$page$heroSection","_vm$page$heroSection2","_vm$page$heroSection3","_vm$page$heroSection4","_vm$parentSlug","_vm$page$parent$data$","_vm$page$parent4","_vm$page$quickLinks$w","_vm$page$quickLinks","_vm$page$heroSection5","_vm$page$heroSection6","_vm$page$tabs","_vm$page$heroSection7","_vm$endpointDataSecti","_vm$endpointDataSecti2","_vm$page$heroSection8","_vm$endpointDataSecti3","_vm$endpointDataSecti4","_vm$page$quickLinks$w2","_vm$page$quickLinks2","_vm$page$heroSection9","_vm$endpointDataSecti5","_vm$page","_vm$page$heroSection10","_vm$page$tabs2","heroSection","quickLinks","_content$medias$data","_content$medias","medias","sayfalar","HeroSimple","HeroList","SectionsTabSections","SectionsContentSections","SectionsServicesSections","SectionsBannerSections","SectionsPersonsList","Carousel","ModulesEndpoint","pageSettings","birim","HeroBirimler","ModulesEndpointTabs","SectionsTwoColumnContentSections","SectionsTwoColumnContentWithWidgetSections","layout","_vm$page$solMenu3","_vm$page$quickLinks3","_vm$page$quickLinks4","_vm$page$quickLinks5","HeroDetail","_vm$page$parent5","_vm$page$quickLinks6","_content$kisi$data$at","_content$kisi","iconPosition","Button","VTreeviewNodeProps","activatable","disablePerNode","indeterminateIcon","itemChildren","loadChildren","loadingIcon","offIcon","onIcon","selectedColor","selectionType","VTreeviewNode","treeview","level","parentIsDisabled","hasLoaded","isIndeterminate","isLoading","isExcluded","leaf","computedIcon","hasChildren","checkChildren","updateOpen","emitOpen","genToggle","genCheckbox","updateSelected","emitSelected","genLevel","createRange","genNode","updateActive","emitActive","genChild","genChildrenWrapper","filterTreeItem","textKey","filterTreeItems","idKey","childrenKey","excluded","RegistrableProvide","hoverable","multipleActive","openAll","activeCache","Set","nodes","selectedCache","excludedItems","oldKeys","newKeys","getKeys","diff","arrayDiff","oldSelectedCache","buildTree","handleNodeCacheWatcher","_step2","_iterator2","updateAll","oldNode","_this$calculateState","calculateState","updateVnodeState","state","counts","emitNodeCache","cache","updateFn","emitFn","getDescendants","_descendants","descendants","getParents","parents","isParent","delete","isForced","changed","_step3","_iterator3","descendant","calculated","_step4","_iterator4","_step5","_iterator5","_step5$value","pageData","_this$currentLang","_yield$_this$pageData","_this$pageData","_yield$_this$pageData2","_this$pageData2","_this$pageData$pageSe","_this$pageData3","queryParams","_yield$_this$$axios$g2","_yield$_this$$axios$g4","_yield$_this$$axios$g5","_yield$_this$$axios$g6","_yield$_this$$axios$g7","_this$currentLang2","_parentPageData$paren","_parentPageData$paren2","_parentPageData$paren3","_parentPageData$paren4","_parentPageData$paren5","_parentPageData$paren6","_yield$_this$$axios$g9","_yield$_this$$axios$g10","_yield$_this$$axios$g12","_yield$_this$$axios$g13","_yield$_this$$axios$g14","_yield$_this$$axios$g15","parentPageData","pop","qs","filters","populate","fields","encodeValuesOnly","_vm$pageData","_vm$pageData2","_vm$pageData3","template","PagesList","PagesBirimler","PagesOrganization","PagesDefault","formatDateAndTime","date","Date","toLocaleDateString","day","month","year","hour","minute","formatTime","hours","getHours","padStart","minutes","getMinutes","formatDate","formatDateToDay","getDate","formatDateToMonthandYear","toLocaleString","formatDateToFull","DATA_SITE_SETTINGS","siteSettingsData","_this$siteSettingsDat","endpointWithoutQuery","icerik_turu","dynamicRouteMaps","routes","route","branchesSlug","_this$siteSettingsDat2","_this$siteSettingsDat3","iceriklerSlug","_this$siteSettingsDat4","_map$","removeTrailingSlash","string","modalStatus","videoEmbedUrl","video","featuredMedia","section_slider_slides_settings","fade","pauseOnHover","section_slider_thumbs_settings","autoplay","autoplaySpeed","showModal","embedUrl","_video$data$attribute","_video$data","_featuredMedia$data$a","_featuredMedia$data","section_slider_thumbs","pause","svgBarDefault","sliderButton","svgBarCircle","ProgressBar","Circle","easing","trailColor","trailWidth","svgStyle","animate","onInitCarousel","sliderSection","beforeChangeCarousel","afterChangeCarousel","play","_item$attributes$icer","_item$attributes$icer2","_item$attributes$icer3","_item$attributes$icer4","_item$attributes$feat","_item$attributes$feat2","_item$attributes","_item$attributes2","_item$attributes3","formats","large","section_slider_slides","_item$attributes$icer5","_item$attributes$icer6","_item$attributes$icer7","_item$attributes$icer8","substring","Picture","Modal","_item$downloadMedia","_item$file","_item$downloadMedia2","downloadMedia","downloadLink","file","download","noop","isNullOrUndef","isObject","isNumberFinite","isFinite","finiteOrDefault","defaultValue","valueOrDefault","toDimension","dimension","fn","args","each","loopable","_elementsEqual","a0","a1","ilen","v0","v1","datasetIndex","clone$1","create","klen","isValidKey","_merger","tval","sval","merge","sources","merger","mergeIf","_mergerIf","keyResolvers","y","resolveObjectKey","resolver","parts","tmp","part","_splitKey","_getKeyResolver","_capitalize","str","charAt","toUpperCase","defined","isFunction","setsEqual","TAU","PITAU","INFINITY","POSITIVE_INFINITY","RAD_PER_DEG","HALF_PI","QUARTER_PI","TWO_THIRDS_PI","log10","sign","niceNum","range","roundedRange","almostEquals","niceRange","pow","floor","fraction","isNumber","epsilon","abs","_setMinAndMaxByKey","array","property","toRadians","degrees","toDegrees","radians","_decimalPlaces","getAngleFromPoint","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","sqrt","angle","atan2","distance","distanceBetweenPoints","pt1","pt2","_angleDiff","_normalizeAngle","_angleBetween","sameAngleIsFullCircle","angleToStart","angleToEnd","startToAngle","endToAngle","_limitValue","_isBetween","_lookup","table","cmp","mid","hi","lo","_lookupByKey","_rlookupByKey","arrayEvents","unlistenArrayEvents","listener","stub","_chartjs","_arrayUnique","requestAnimFrame","throttled","updateArgs","ticking","rest","_toLeftRightCenter","_alignStartEnd","_getStartAndCountOfVisiblePoints","points","animationsDisabled","pointCount","count","_sorted","iScale","_parsed","axis","minDefined","maxDefined","getUserBounds","getPixelForValue","_scaleRangesChanged","xScale","yScale","_scaleRanges","newRanges","xmin","xmax","ymin","ymax","atEdge","elasticIn","sin","elasticOut","effects","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","cos","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","d","easeInOutBounce","lim","l","p2b","n2b","b2n","n2p","map$1","B","C","D","E","F","hex","h1","h2","eq","hexString","isShort","HUE_RE","hsl2rgbn","hsv2rgbn","hwb2rgbn","w","rgb","rgb2hsl","hueValue","calln","hsl2rgb","hue","hueParse","exec","p1","p2","hwb2rgb","hsv2rgb","Z","Y","X","W","V","U","T","S","R","Q","P","N","M","L","K","G","H","I","J","names$1","OiceXe","antiquewEte","aqua","aquamarRe","azuY","beige","bisque","black","blanKedOmond","Xe","XeviTet","bPwn","burlywood","caMtXe","KartYuse","KocTate","cSO","cSnflowerXe","cSnsilk","crimson","cyan","xXe","xcyan","xgTMnPd","xWay","xgYF","xgYy","xkhaki","xmagFta","xTivegYF","xSange","xScEd","xYd","xsOmon","xsHgYF","xUXe","xUWay","xUgYy","xQe","xviTet","dAppRk","dApskyXe","dimWay","dimgYy","dodgerXe","fiYbrick","flSOwEte","foYstWAn","fuKsia","gaRsbSo","ghostwEte","gTd","gTMnPd","Way","gYF","gYFLw","gYy","honeyMw","hotpRk","RdianYd","Rdigo","ivSy","khaki","lavFMr","lavFMrXsh","lawngYF","NmoncEffon","ZXe","ZcSO","Zcyan","ZgTMnPdLw","ZWay","ZgYF","ZgYy","ZpRk","ZsOmon","ZsHgYF","ZskyXe","ZUWay","ZUgYy","ZstAlXe","ZLw","lime","limegYF","lRF","magFta","maPon","VaquamarRe","VXe","VScEd","VpurpN","VsHgYF","VUXe","VsprRggYF","VQe","VviTetYd","midnightXe","mRtcYam","mistyPse","moccasR","navajowEte","navy","Tdlace","Tive","TivedBb","Sange","SangeYd","ScEd","pOegTMnPd","pOegYF","pOeQe","pOeviTetYd","papayawEp","pHKpuff","peru","pRk","plum","powMrXe","purpN","YbeccapurpN","Yd","Psybrown","PyOXe","saddNbPwn","sOmon","sandybPwn","sHgYF","sHshell","siFna","silver","skyXe","UXe","UWay","UgYy","snow","sprRggYF","stAlXe","tan","teO","tEstN","tomato","Qe","viTet","JHt","wEte","wEtesmoke","Lw","LwgYF","nameParse","unpacked","tkeys","j","ok","nk","unpack","transparent","RGB_RE","modHSL","ratio","clone","fromObject","functionParse","rgbParse","Color","constructor","ret","_rgb","_valid","rgbString","hslString","mix","weight","c1","c2","w2","w1","interpolate","rgb1","rgb2","alpha","clearer","greyscale","opaquer","negate","lighten","darken","saturate","desaturate","deg","index_esm","isPatternOrGradient","getHoverColor","overrides","getScope$1","defaults","_descriptors","animation","borderColor","datasets","devicePixelRatio","platform","getDevicePixelRatio","font","family","lineHeight","hover","hoverBackgroundColor","hoverBorderColor","hoverColor","indexAxis","interaction","mode","includeInvisible","maintainAspectRatio","onHover","parsing","plugins","scale","scales","showLine","drawActiveElementsOnTop","describe","targetScope","targetName","scopeObject","targetScopeObject","privateName","defineProperties","writable","enumerable","local","_scriptable","_indexable","_fallback","_measureText","gc","longest","textWidth","measureText","_longestText","arrayOfThings","garbageCollect","jlen","thing","nestedThing","restore","gcLen","_alignPixel","pixel","currentDevicePixelRatio","halfWidth","clearCanvas","canvas","getContext","resetTransform","clearRect","drawPoint","drawPointLegend","xOffset","yOffset","cornerRadius","pointStyle","rotation","rad","translate","drawImage","beginPath","ellipse","arc","closePath","moveTo","lineTo","SQRT1_2","borderWidth","stroke","_isPointInArea","point","area","margin","clipArea","clip","unclipArea","_steppedLineTo","previous","flip","midpoint","_bezierCurveTo","bezierCurveTo","cp1x","cp2x","cp1y","cp2y","renderText","opts","lines","strokeColor","line","translation","fillStyle","textBaseline","setRenderOpts","strokeStyle","lineWidth","strokeText","fillText","decorateText","strikethrough","underline","metrics","actualBoundingBoxLeft","actualBoundingBoxRight","actualBoundingBoxAscent","actualBoundingBoxDescent","yDecoration","decorationWidth","addRoundedRectPath","topLeft","bottomLeft","bottomRight","topRight","LINE_HEIGHT","FONT_STYLE","toLineHeight","matches","numberOrZero","_readValueToProps","objProps","read","toTRBL","toTRBLCorners","toPadding","toFont","fallback","warn","toFontString","inputs","info","cacheable","createContext","parentContext","_createResolver","scopes","prefixes","rootScopes","getTarget","_resolve","Symbol","toStringTag","_cacheable","_scopes","_rootScopes","_getTarget","Proxy","deleteProperty","_cached","proxy","readKey","needsSubResolver","createSubResolver","_resolveWithPrefixes","getOwnPropertyDescriptor","Reflect","getPrototypeOf","getKeysFromAllScopes","ownKeys","storage","_storage","_attachContext","subProxy","descriptorDefaults","_proxy","_subProxy","_stack","setContext","receiver","descriptors","isScriptable","Error","_resolveScriptable","isIndexable","_resolveArray","_resolveWithContext","allKeys","scriptable","indexable","_allKeys","resolveFallback","getScope","addScopes","parentScopes","parentFallback","allScopes","addScopesFromKey","subGetTarget","resolveKeysFromAllScopes","_parseObjectDataRadialScale","_parsing","parsed","parse","EPSILON","getPoint","skip","getValueAxis","splineCurve","firstPoint","middlePoint","afterPoint","current","d01","d12","s01","s12","fa","fb","splineCurveMonotone","valueAxis","pointsLen","deltaK","mK","pointBefore","pointCurrent","pointAfter","slopeDelta","alphaK","betaK","tauK","squaredMagnitude","monotoneAdjust","delta","iPixel","vPixel","monotoneCompute","capControlPoint","pt","_updateBezierControlPoints","loop","controlPoints","spanGaps","cubicInterpolationMode","tension","capBezierPoints","inArea","inAreaPrev","inAreaNext","_isDomSupported","_getParentNode","domNode","parseMaxStyle","styleValue","parentProperty","valueInPixels","positions","getPositionedStyle","pos","useOffsetPos","shadowRoot","getRelativePosition","evt","borderBox","boxSizing","paddings","borders","box","getCanvasPosition","round1","getMaximumSize","bbWidth","bbHeight","aspectRatio","margins","containerSize","containerStyle","containerBorder","containerPadding","getContainerSize","retinaScale","forceRatio","forceStyle","pixelRatio","deviceHeight","deviceWidth","setTransform","supportsEventListenerOptions","passiveSupported","readUsedSize","getPropertyValue","getStyle","_pointInLine","_steppedInterpolation","_bezierInterpolation","cp1","cp2","intlCache","formatNumber","num","cacheKey","formatter","Intl","NumberFormat","getNumberFormat","format","getRtlAdapter","rectX","setWidth","xPlus","leftForLtr","itemWidth","getRightToLeftAdapter","_itemWidth","overrideTextDirection","direction","getPropertyPriority","setProperty","prevTextDirection","restoreTextDirection","propertyFn","between","compare","normalizeSegment","_boundSegment","segment","bounds","startBound","endBound","getSegment","prevValue","inside","subStart","shouldStart","shouldStop","_boundSegments","segments","sub","splitByStyles","segmentOptions","chartContext","_chart","baseStyle","readStyle","_datasetIndex","prevStyle","addStyle","st","dir","p0","p0DataIndex","p1DataIndex","styleChanged","doSplitByStyles","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","animator","_request","_charts","_running","_lastDate","_notify","anims","callbacks","numSteps","initial","currentStep","_refresh","_update","remaining","running","draw","_active","_total","tick","_getAnims","charts","complete","listen","cur","_duration","cancel","interpolators","boolean","factor","c0","number","cfg","currentValue","_fn","_easing","_start","_target","_prop","_from","_to","_promises","update","elapsed","remain","wait","promises","res","rej","resolved","method","colors","properties","numbers","show","animations","visible","hide","config","_properties","configure","animatedProps","getOwnPropertyNames","_animateOptions","newOptions","$shared","$animations","resolveTargetOptions","_createAnimations","anim","all","awaitAll","scaleClip","allowedOverflow","getSortedDatasetIndices","filterVisible","metasets","_getSortedDatasetMetas","applyStack","stack","dsIndex","singleMode","otherValue","isStacked","stacked","getOrCreateStack","stacks","stackKey","indexValue","subStack","getLastIndexInStack","vScale","positive","getMatchingVisibleMetas","updateStacks","controller","_cachedMeta","_stacks","iAxis","vAxis","indexScale","valueScale","getStackKey","_top","_bottom","getFirstScaleId","clearStacks","isDirectUpdateMode","cloneIfNotShared","cached","shared","_ctx","_cachedDataOpts","getMeta","_type","_objectData","_sharedOptions","_drawStart","_drawCount","enableOptionSharing","supportsDecimation","$context","_syncList","initialize","linkScales","_stacked","addElements","updateIndex","dataset","getDataset","chooseId","xid","xAxisID","yid","yAxisID","rid","rAxisID","iid","iAxisID","vid","vAxisID","getScaleForId","rScale","getDatasetMeta","scaleID","_getOtherScale","_destroy","_dataCheck","adata","convertObjectDataToArray","isExtensible","defineProperty","object","datasetElementType","buildOrUpdateElements","resetNewElements","stackChanged","oldStacked","_resyncElements","scopeKeys","datasetScopeKeys","getOptionScopes","createResolver","sorted","parseArrayData","parseObjectData","parsePrimitiveData","isNotInOrderComparedToPrev","labels","getLabels","singleScale","xAxisKey","yAxisKey","getParsed","getDataElement","updateRangeFromParsed","parsedValue","NaN","getMinMax","canStack","otherScale","hidden","createStack","NEGATIVE_INFINITY","otherMin","otherMax","_skip","getAllParsedValues","getMaxOverflow","getLabelAndValue","getLabelForValue","_clip","toClip","defaultClip","chartArea","resolveDatasetElementOptions","resolveDataElementOptions","dataIndex","raw","createDataContext","createDatasetContext","_resolveElementOptions","dataElementType","elementType","sharing","datasetElementScopeKeys","names","resolveNamedOptions","freeze","_resolveAnimations","datasetAnimationScopeKeys","getSharedOptions","includeOptions","sharedOptions","_animationsDisabled","_getSharedOptions","firstOpts","previouslySharedOptions","updateSharedOptions","updateElement","_setStyle","removeHoverStyle","setHoverStyle","_removeDatasetHoverStyle","_setDatasetHoverStyle","arg1","arg2","numMeta","numData","_insertElements","_removeElements","move","updateElements","_sync","_dataChanges","_onDataPush","_onDataPop","_onDataShift","_onDataSplice","newCount","_onDataUnshift","computeMinSampleSize","_cache","$bar","visibleMetas","getAllScaleValues","curr","_length","updateMinAndPrev","ticks","getPixelForTick","parseValue","entry","endValue","barStart","barEnd","_custom","parseFloatBar","parseArrayOrPrimitive","isFloatBar","custom","setBorderSkipped","edge","borderSkipped","borderProps","enableBorderRadius","parseEdge","orig","v2","startEnd","setInflateAmount","inflateAmount","iAxisKey","vAxisKey","super","bars","getBasePixel","isHorizontal","ruler","_getRuler","vpixels","head","_calculateBarValuePixels","ipixels","_calculateBarIndexPixels","center","_getStacks","grouped","skipNull","_getStackCount","_getStackIndex","pixels","barThickness","_startPixel","_endPixel","stackCount","categoryPercentage","barPercentage","baseValue","minBarLength","actualBase","floating","getDataVisibility","barSign","startPixel","getPixelForDecimal","endPixel","halfGrid","getLineWidthForValue","maxBarThickness","Infinity","percent","chunk","computeFlexCategoryTraits","thickness","computeFitCategoryTraits","stackIndex","rects","_index_","grid","_value_","beginAtZero","tooltip","innerRadius","outerRadius","getter","_getRotation","_getCircumference","_getRotationExtents","isDatasetVisible","arcs","spacing","getMaxBorderWidth","getMaxOffset","maxSize","cutout","chartWeight","_getRingWeight","ratioX","ratioY","startAngle","endAngle","startX","startY","endX","endY","calcMax","calcMin","maxX","maxY","minX","minY","getRatioAndOffset","maxRadius","radiusLength","_getVisibleDatasetWeightTotal","calculateTotal","_getRingWeightOffset","_circumference","animateRotate","calculateCircumference","animationOpts","centerX","centerY","animateScale","metaData","borderAlign","hoverBorderWidth","hoverOffset","ringWeightOffset","legend","generateLabels","legendItem","toggleDataVisibility","tooltipItem","dataLabel","formattedValue","_dataset","_decimated","animated","maxGapLength","directUpdate","prevParsed","nullData","border","lastPoint","updateControlPoints","_updateRadius","minSize","cutoutPercentage","getVisibleDatasetCount","xCenter","yCenter","datasetStartAngle","getIndexAngle","defaultAngle","countVisibleElements","_computeAngle","getDistanceFromCenterForValue","angleLines","circular","pointLabels","PieController","_fullLoop","pointPosition","getPointPositionForValue","tooltipPosition","useFinalPosition","getProps","hasValue","final","defaultRoutes","formatters","numeric","tickValue","notation","maxTick","calculateDelta","logDelta","numDecimal","minimumFractionDigits","maximumFractionDigits","logarithmic","Ticks","autoSkip","tickOpts","ticksLimit","maxTicksLimit","tickLength","_tickSize","maxScale","maxChart","_maxLength","determineMaxTicks","majorIndices","major","getMajorIndices","numMajorIndices","first","newTicks","skipMajors","evenMajorSpacing","getEvenSpacing","factors","_factorize","calculateSpacing","avgMajorSpacing","majorStart","majorEnd","grace","drawBorder","drawOnChartArea","drawTicks","tickWidth","tickColor","padding","minRotation","maxRotation","mirror","textStrokeWidth","textStrokeColor","autoSkipPadding","labelOffset","minor","crossAlign","showLabelBackdrop","backdropColor","backdropPadding","offsetFromEdge","sample","numItems","increment","getPixelForGridLine","offsetGridLines","validIndex","lineValue","getTickMarkLength","getTitleHeight","titleAlign","reverseAlign","_margins","paddingTop","paddingBottom","paddingLeft","paddingRight","labelRotation","_range","_gridLineItems","_labelItems","_labelSizes","_longestTextCache","_reversePixels","_userMax","_userMin","_suggestedMax","_suggestedMin","_ticksLength","_borderValue","_dataLimitsCached","init","suggestedMin","suggestedMax","metas","getPadding","getTicks","xLabels","yLabels","beforeLayout","beforeUpdate","sampleSize","beforeSetDimensions","setDimensions","afterSetDimensions","beforeDataLimits","determineDataLimits","afterDataLimits","minmax","keepZero","_addGrace","beforeBuildTicks","buildTicks","afterBuildTicks","samplingEnabled","_convertTicksToLabels","beforeCalculateLabelRotation","calculateLabelRotation","afterCalculateLabelRotation","afterAutoSkip","beforeFit","fit","afterFit","afterUpdate","reversePixels","_alignToPixels","alignToPixels","_callHooks","notifyPlugins","beforeTickToLabelConversion","generateTickLabels","afterTickToLabelConversion","numTicks","maxLabelDiagonal","_isVisible","labelSizes","_getLabelSizes","maxLabelWidth","widest","maxLabelHeight","highest","asin","titleOpts","gridOpts","titleHeight","tickPadding","angleRadians","labelHeight","_calculatePadding","_handleMargins","isRotated","labelsBelowTicks","offsetRight","isFullSize","fullSize","_computeLabelSizes","caches","heights","tickFont","fontString","nestedLabel","widestLabelSize","highestLabelSize","_resolveTickFontOptions","valueAt","idx","getValueForPixel","decimal","getDecimalForPixel","getBaseValue","createTickContext","optionTicks","rot","_computeGridLineItems","ticksLength","tl","borderOpts","axisWidth","axisHalfWidth","alignBorderValue","borderValue","alignedLineValue","tx1","ty1","tx2","ty2","x1","y1","x2","y2","positionAxisID","limit","step","optsAtIndex","lineColor","tickBorderDash","tickBorderDashOffset","_computeLabelItems","tickAndPadding","hTickAndPadding","lineCount","textOffset","_getXAxisLabelAlignment","_getYAxisLabelAlignment","halfCount","backdrop","tickTextAlign","labelPadding","_computeLabelArea","drawBackground","fillRect","drawGrid","drawLine","setLineDash","lineDashOffset","lastLineWidth","drawLabels","drawTitle","titleX","titleY","titleArgs","_layers","tz","z","gz","getSortedVisibleDatasetMetas","axisID","_maxDigits","fontSize","isForType","isPrototypeOf","parentScope","isIChartComponent","itemDefaults","propertyParts","sourceName","sourceScope","routeDefaults","registerDefaults","controllers","_typedRegistries","_each","addControllers","addPlugins","addScales","getController","_get","getElement","getPlugin","getScale","removeControllers","removeElements","removePlugins","removeScales","typedRegistry","reg","_getRegistryForType","_exec","itemReg","registry","camelMethod","DateAdapter","chartOptions","timestamp","amount","unit","startOf","weekday","endOf","members","adapters","_date","binarySearch","metaset","lookupMethod","getRange","evaluateInteractionItems","getIntersectItems","isPointInArea","inRange","getNearestCartesianItems","distanceMetric","useX","useY","deltaX","deltaY","getDistanceMetricForAxis","minDistance","getCenterPoint","getNearestItems","getNearestRadialItems","getAxisItems","rangeMethod","intersectsItem","Interaction","modes","nearest","STATIC_POSITIONS","filterByPosition","filterDynamicPositionByAxis","sortByWeight","setLayoutDims","layouts","stackWeight","placed","buildStacks","vBoxMaxWidth","hBoxMaxHeight","availableWidth","availableHeight","getCombinedMax","maxPadding","updateMaxPadding","boxPadding","updateDims","newWidth","outerWidth","newHeight","outerHeight","widthChanged","heightChanged","same","other","getMargins","marginForPositions","fitBoxes","boxes","refitBoxes","refit","setBoxDims","placeBoxes","userPadding","autoPadding","addBox","removeBox","layoutItem","minPadding","layoutBoxes","wrapBoxes","centerHorizontal","centerVertical","leftAndTop","rightAndBottom","buildLayoutBoxes","verticalBoxes","horizontalBoxes","visibleVerticalBoxCount","updatePos","handleMaxPadding","BasePlatform","acquireContext","releaseContext","isAttached","updateConfig","BasicPlatform","EXPANDO_KEY","EVENT_TYPES","touchstart","touchmove","touchend","pointerenter","pointerdown","pointermove","pointerup","pointerleave","pointerout","isNullOrEmpty","eventListenerOptions","removeListener","nodeListContains","nodeList","createAttachObserver","trigger","addedNodes","createDetachObserver","drpListeningCharts","oldDevicePixelRatio","onWindowResize","dpr","createResizeObserver","ResizeObserver","contentRect","listenDevicePixelRatioChanges","releaseObserver","unlistenDevicePixelRatioChanges","createProxyAndListen","native","fromNativeEvent","addListener","renderHeight","renderWidth","displayWidth","displayHeight","initCanvas","removeAttribute","setAttribute","proxies","$proxies","detach","_init","notify","hook","_createDescriptors","descriptor","plugin","cancelable","invalidate","_oldCache","_notifyStateChanges","localIds","allPlugins","getOpts","pluginOpts","createDescriptors","previousDescriptors","pluginScopeKeys","getIndexAxis","datasetDefaults","determineAxis","scaleOptions","initOptions","chartDefaults","configScales","chartIndexAxis","firstIDs","scaleConf","defaultId","getDefaultScaleIDFromAxis","defaultScaleOptions","defaultID","getAxisFromDefaultScaleID","mergeScaleConfig","initData","keyCache","keysCached","cachedKeys","generate","addIfFound","_config","initConfig","_scopeCache","_resolverCache","clearCache","datasetType","additionalOptionScopes","_cachedScopes","mainScope","resetCache","keyLists","chartOptionScopes","subPrefixes","getResolver","hasFunction","needContext","resolverCache","KNOWN_POSITIONS","positionIsHorizontal","compare2Level","l1","l2","onAnimationsComplete","animationOptions","onComplete","onAnimationProgress","onProgress","getCanvas","getElementById","instances","getChart","moveNumericKeys","intKey","userConfig","initialCanvas","existingChart","OffscreenCanvas","_detectPlatform","_options","_aspectRatio","_metasets","_lastEvent","_listeners","_responsiveListeners","_sortedMetasets","_plugins","_hiddenIndices","attached","_doResize","timeout","debounce","resizeDelay","_initialize","bindEvents","_resizeBeforeDraw","_resize","newSize","newRatio","ensureScalesHaveIDs","axisOptions","buildOrUpdateScales","scaleOpts","updated","isRadial","dposition","dtype","scaleType","hasUpdated","_updateMetasets","_destroyDatasetMeta","_removeUnreferencedMetasets","buildOrUpdateControllers","newControllers","order","ControllerClass","_resetElements","animsDisabled","_updateScales","_checkEventBindings","_updateHiddenIndices","_minPadding","_updateLayout","_updateDatasets","_eventHandler","_updateHoverStyles","existingEvents","newEvents","unbindEvents","changes","_getUniformDataChanges","datasetCount","makeSet","changeSet","noArea","_idx","_updateDataset","layers","_drawDatasets","_drawDataset","useClip","getElementsAtEventForMode","setDatasetVisibility","_updateVisibility","_stop","destroy","toBase64Image","toDataURL","bindUserEvents","bindResponsiveEvents","_add","_remove","detached","updateHoverStyle","getActiveElements","setActiveElements","lastActive","replay","hoverOptions","activated","inChartArea","eventFilter","_handleEvent","_getActiveElements","isClick","_isClickEvent","lastEvent","determineLastEvent","invalidatePlugins","clipArc","pixelMargin","angleMargin","parseBorderRadius$1","angleDelta","borderRadius","halfThickness","innerLimit","computeOuterLimit","outerArcLimit","outerStart","outerEnd","innerStart","innerEnd","rThetaToXY","theta","pathArc","innerR","spacingOffset","avNogSpacingRadius","angleOffset","outerStartAdjustedRadius","outerEndAdjustedRadius","outerStartAdjustedAngle","outerEndAdjustedAngle","innerStartAdjustedRadius","innerEndAdjustedRadius","innerStartAdjustedAngle","innerEndAdjustedAngle","pCenter","p4","p8","outerStartX","outerStartY","outerEndX","outerEndY","inner","lineJoin","fullCircles","drawFullCircleBorders","version","chartX","chartY","rAdjust","betweenAngles","withinRadius","halfAngle","halfRadius","radiusOffset","drawArc","setStyle","lineCap","pathVars","paramsStart","paramsEnd","segmentStart","segmentEnd","outside","pathSegment","lineMethod","stepped","getLineMethod","fastPathSegment","prevX","lastY","avgX","countX","pointIndex","drawX","truncX","_getSegmentMethod","usePath2D","Path2D","_path","strokePathWithCache","segmentMethod","strokePathDirect","_points","_segments","_pointsUpdated","findStartAndEnd","solidSegments","_computeSegments","_interpolate","_getInterpolationMethod","interpolated","inRange$1","hitRadius","mouseX","mouseY","inXRange","inYRange","hoverRadius","getBarBounds","bar","half","skipOrLimit","boundingRects","maxW","maxH","parseBorderWidth","maxR","enableBorder","parseBorderRadius","outer","skipX","skipY","addNormalRectPath","inflateRect","refRect","addRectPath","_getBounds","_findSegmentEnd","_getEdge","_createBoundaryLine","boundary","linePoints","_pointsFromSegments","_shouldApplyFill","_resolveTarget","propagate","visited","_decodeFill","fillOption","parseFillOption","firstCh","decodeTargetIndex","addPointsBelow","sourcePoint","linesBelow","postponed","findPoint","pointValue","firstValue","lastValue","getLineByIndex","sourcePoints","below","getLinesBelow","_buildStackLine","_getTargetValue","computeCircularBoundary","_getTargetPixel","computeLinearBoundary","computeBoundary","_drawfill","lineOpts","above","clipVertical","doFill","clipY","lineLoop","tpoints","targetSegments","tgt","subBounds","fillSources","fillSource","src","notShape","clipBounds","interpolatedLineTo","targetLoop","interpolatedPoint","afterDatasetsUpdate","_args","$filler","beforeDraw","drawTime","beforeDatasetsDraw","beforeDatasetDraw","getBoxSize","labelOpts","boxHeight","boxWidth","usePointStyle","pointStyleWidth","itemHeight","_added","legendHitBoxes","_hoveredItem","doughnutMode","legendItems","columnSizes","lineWidths","buildLabels","labelFont","_computeTitleHeight","_fitRows","_fitCols","hitboxes","totalHeight","row","heightLimit","totalWidth","currentColWidth","currentColHeight","col","adjustHitBoxes","rtlHelper","hitbox","_draw","defaultColor","fontColor","halfFontSize","cursor","textDirection","lineDash","drawOptions","SQRT2","yBoxTop","xBoxLeft","drawLegendBox","_textX","titleFont","titlePadding","topPaddingPlusHalfFontSize","_getLegendItemAt","hitBox","lh","handleEvent","onLeave","isListened","hoveredItem","sameItem","plugin_legend","_element","afterEvent","ci","_padding","textSize","_drawArgs","fontOpts","plugin_title","titleBlock","createTitle","WeakMap","positioners","average","eventPosition","nearestElement","tp","pushOrConcat","toPush","splitNewlines","createTooltipItem","getTooltipSize","footer","bodyFont","footerFont","titleLineCount","footerLineCount","bodyLineItemCount","combinedBodyLength","bodyItem","beforeBody","afterBody","titleSpacing","titleMarginBottom","displayColors","bodySpacing","footerMarginTop","footerSpacing","widthPadding","maxLineWidth","determineXAlign","yAlign","chartWidth","xAlign","caret","caretSize","caretPadding","doesNotFitWithAlign","determineAlignment","determineYAlign","getBackgroundPoint","alignment","paddingAndSize","alignX","alignY","getAlignedX","getBeforeAfterBodyLines","overrideCallbacks","_eventPosition","_size","_cachedAnimations","_tooltipItems","dataPoints","caretX","caretY","labelColors","labelPointStyles","labelTextColors","tooltipItems","getTitle","beforeTitle","afterTitle","getBeforeBody","getBody","bodyItems","scoped","beforeLabel","afterLabel","getAfterBody","getFooter","beforeFooter","afterFooter","_createItems","itemSort","labelColor","labelPointStyle","labelTextColor","positionAndSize","backgroundPoint","drawCaret","tooltipPoint","caretPosition","getCaretPosition","x3","y3","ptX","ptY","titleColor","_drawColorBox","colorX","rtlColorX","yOffSet","colorY","multiKeyBackground","outerX","innerX","strokeRect","drawBody","bodyAlign","bodyLineHeight","xLinePadding","fillLineOfText","bodyAlignForCalculation","bodyColor","drawFooter","footerAlign","footerColor","tooltipSize","quadraticCurveTo","_updateAnimationTarget","animX","animY","_willRender","hasTooltipContent","globalAlpha","positionChanged","_positionChanged","_ignoreReplayEvents","plugin_tooltip","afterInit","afterDraw","labelCount","findOrAddLabel","addedLabels","addIfString","lastIndexOf","_startValue","_valueRange","_addedLabels","added","generateTicks$1","generationOptions","dataRange","precision","maxTicks","maxDigits","includeBounds","maxSpaces","rmin","rmax","countDefined","minSpacing","niceMin","niceMax","numSpaces","almostWhole","decimalPlaces","relativeLabelSize","_endValue","handleTickRangeOptions","setMin","setMax","minSign","maxSign","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","getTickLimit","stepSize","computeTickLimit","isMajor","tickVal","_zero","exp","endExp","endSignificand","significand","lastTick","generateTicks","getTickBackdropHeight","determineLimits","fitWithPointLabels","limits","valueCount","_pointLabels","pointLabelOpts","additionalAngle","centerPointLabels","getPointLabelContext","getPointPosition","drawingArea","plFont","updateLimits","setCenterPoint","_pointLabelItems","extra","outerDistance","pointLabelPosition","yForAngle","getTextAlignForAngle","leftForTextAlign","buildPointLabelItems","hLimits","vLimits","pathRadiusLine","leftMovement","rightMovement","topMovement","bottomMovement","scalingFactor","getValueForDistanceFromCenter","scaledDistance","pointLabel","createPointLabelContext","distanceFromCenter","getBasePosition","getPointLabelPosition","backdropLeft","backdropTop","backdropWidth","backdropHeight","drawPointLabels","gridLineOpts","drawRadiusLine","INTERVALS","millisecond","common","steps","second","week","quarter","UNITS","sorter","adapter","_adapter","parser","isoWeekday","_parseOpts","determineUnitForAutoTicks","minUnit","capacity","interval","addTick","time","timestamps","ticksFromTimestamps","majorUnit","setMajorTicks","_unit","_majorUnit","_offsets","_normalized","displayFormats","normalized","_applyBounds","_getLabelBounds","getLabelTimestamps","timeOpts","_generate","_filterBetween","_getLabelCapacity","determineUnitForFormatting","determineMajorUnit","initOffsets","offsetAfterAutoskip","getDecimalForValue","hasWeekday","getDataTimestamps","tooltipFormat","datetime","_tickFormatFunction","minorFormat","majorFormat","offsets","_getLabelSize","ticksOpts","tickLabelWidth","cosRotation","sinRotation","tickFontSize","exampleTime","exampleLabel","prevSource","nextSource","prevTarget","nextTarget","TimeSeriesScale","_table","_minPos","_tableRange","_getTimestampsForTable","buildLookupTable","dynamicParentSlug","_vm$card","image","medium","downloadLinks","isSystemMacOS","isSystemHuawei","isSystemOther","ChartEmits","chartCreate","createChartFunction","chartData","ChartRendered","chartDestroy","ChartDestroyed","setChartDatasets","oldData","datasetIdKey","addedDatasets","nextDataset","currentDataset","generateChart","chartId","chartType","chartController","cssClasses","setup","canvasEl","renderChart","nextData","getChartData","canvasEl2DContext","chartDataHandler","newValue","oldValue","isEqualLabelsAndDatasetsLength","newDatasetLabels","oldDatasetLabels","compareData","LabelsUpdated","setChartLabels","updateChart","ChartUpdated","chartUpdate","setChartOptions","chartOptionsHandler","expose","Bar","Doughnut","Line","Pie","titleEnabled","customHTML","Markdown","_vm$card$file","_vm$card$featuredMedi","_vm$card$file2","_vm$card2","_vm$card3","publishedAt","$findIndex","FIND_INDEX","SKIPS_HOLES","callbackfn","DELAY_RIPPLE","webkitTransform","isTouchEvent","isKeyboardEvent","ripples","_ripple","_calculate","localX","localY","calculate","previousPosition","isHiding","isRippleEnabled","rippleShow","touched","rippleStop","isTouch","centered","showTimerCommit","showTimer","rippleHide","rippleCancelShow","keyboardRipple","keyboardRippleShow","keyboardRippleHide","focusRippleHide","updateRipple","wasEnabled","removeListeners","accordion","accordionIndex","accordions","_vm$accordion","_vm$accordion2","DownloadLink","CardsApp","hero_slider_thumbs","_item$icerik","_item$icerik2","_item$icerik3","_item$icerik4","_item$icerik5","_item$icerik6","_item$icerik7","_item$icerik8","_item$icerik9","_item$icerik10","_item$icerik$data","_item$icerik$data$att","_item$icerik11","_item$icerik$data2","_item$icerik12","_item$icerik13","_item$image","_item$image2","_item$image3","icerik","_item$icerik14","_item$icerik15","hero_slider_slides","_onResize","_el$_onResize$vnode$c","_vm$card$cardPerson","_vm$card$cardPerson2","_vm$card$cardPerson3","_vm$card$cardPerson4","_vm$card$cardPerson5","_vm$card$cardPerson6","_vm$card$cardPerson7","_vm$card$cardPerson8","_vm$card$cardPerson9","_vm$card$cardPerson10","_vm$card$cardPerson11","_vm$card$cardPerson12","ilce","person","municipality","unvan","dogumTarihi","birthday","dogumYeri","birthplace","meslek","profession","ogrenimDurumu","education","ozgecmis","resume","eposta","email","sectionLayout","publication","CardsDownload","solMenuEndpointElement","components","CoolLightBox","slickSettings_1","slickSettings_2","galleryIndex","imagesGallery","_this$content","imageUrl","updateGalleryIndex","showPrev","carousel_thumb","showNext","_vm$content","content_item","content_key","_content_item$attribu","_content_item$attribu2","_vm$content2","carousel_content","thumb_item","thumb_key","_thumb_item$attribute","thumbnail","intersectable","Intersect","_observe","unobserve","IntersectionObserver","_watch","uncurryThis","requireObjectCoercible","isCallable","isNullOrUndefined","isRegExp","getMethod","getRegExpFlags","getSubstitution","wellKnownSymbol","IS_PURE","REPLACE","$TypeError","TypeError","stringSlice","stringIndexOf","searchValue","fromIndex","replaceAll","replaceValue","IS_REG_EXP","flags","replacer","searchString","functionalReplace","searchLength","advanceBy","endOfLastMatch","nonConfigurable","nonWritable","navigationColor","navigationTextColor","totalVisible","pageAriaLabel","currentPageAriaLabel","previousAriaLabel","nextAriaLabel","wrapperAriaLabel","maxButtons","maxLength","even","beforeLastItem","firstItem","parentElement","innerWidth","genItem","isCurrentPage","activeItem_1","activeItem_2","activeItem_3","activeItem_4","activeItem_5","convertToFullPath","level1","level2","level3","level4","level5","ITEM_LEVEL_1","_ITEM_LEVEL_1$attribu","_ITEM_LEVEL_1$attribu2","_ITEM_LEVEL_1$attribu3","_ITEM_LEVEL_1$attribu4","ITEM_LEVEL_2","_ITEM_LEVEL_2$attribu","_ITEM_LEVEL_2$attribu2","_ITEM_LEVEL_2$attribu3","_ITEM_LEVEL_2$attribu4","ITEM_LEVEL_3","_ITEM_LEVEL_3$attribu","_ITEM_LEVEL_3$attribu2","_ITEM_LEVEL_3$attribu3","_ITEM_LEVEL_3$attribu4","ITEM_LEVEL_4","_ITEM_LEVEL_4$attribu","_ITEM_LEVEL_4$attribu2","_ITEM_LEVEL_4$attribu3","_ITEM_LEVEL_4$attribu4","ITEM_LEVEL_5","SideBarSolMenuDynamicZone","_vm$item$personSlug","_vm$item","personSlug","modalEndpoint","modalText","hideModal","_vm$modalText","_vm$modalText2","_vm$modalText3","_vm$modalText4","_vm$modalText5","_vm$modalText6","_vm$modalText7","_vm$modalText8","_vm$modalText9","_vm$modalText10","_vm$modalText11","_vm$modalText12","_vm$modalText13","_vm$modalText14","_vm$modalText15","_vm$modalText16","_vm$modalText17","_vm$modalText18","_vm$modalText19","_vm$modalText20","_vm$modalText21","ihale_konusu","ihaletarihi","ihalesaati","telefon","fax","mail","ihaleyeri","miktar","hizmetyeri","isinsuresi","dokumanbedel","durum","dogrudan_temin_no","konusu","temin_turu","temin_usulu","teklif_bitis_tarihi","teklif_bitis_saati","_m","ilgili_telefon","ekap_link","setActiveHash","newHash","oldHash","activeLink","_item$attributes$pare","_item$attributes$pare2","_item$attributes$pare3","_item$attributes$pare4","background","featuredServicesGroupSlider","featuredServicesButtons","featuredServicesGroup","hizmetler","_item$attributes$pare5","_item$attributes$pare6","_vm$section$banners","_vm$section$banners$d","_vm$section$banners$d2","banners","BannersDefault","BannersImage","BannersWidget","banner","_vm$banner","description","CardsBanner","_vm$banner$widget","_vm$banner$widget$dat","widgetEnabled","excerpt","_vm$card$image","_vm$card$image2","locationUrl","tableHeadersTender","tableHeadersTemin","tableHeaderBranches","hostname","pathname","filtersShow","isFilters","filtersRangeShow","isFiltersRange","ModalText","staticStyle","files","availableProps","filterObjectOnKeys","exact","exactPath","exactActiveClass","href","nuxt","namespace","def","composite","isTabIndex","tabFunction","_item$kisi$data$attri","_item$kisi","_item$medias$data","_item$medias","SectionsChartSections","ChartJS","Title","Tooltip","Legend","ArcElement","CategoryScale","dateNow","LineElement","LinearScale","PointElement","Filler","LineChartGenerator","pointRadius","pointBorderColor","chartDataPush","tarih","dolulukOrani","mevcutSuHacmi","verilenTemizSuM3","verilenTemizsuM3","biriktirmeHacmi","BarElement","yil","doluluk_orani","mevcutSuMilyonm3","yuzde","gelenYagisMiktari","yesilcay","melen","toplam","_vm$section$endpoint","ModulesImage","cardType","cardClass","subelerData","subeler","_response$data","race","Authorization","json","_","reject","_vm$setDynamicParentS6","_vm$setDynamicParentS5","_vm$setDynamicParentS7","_data$attributes3","_data$attributes4","_data$attributes5","_data$attributes6","_data$attributes7","_vm$setDynamicParentS8","CardsExtended","CardsCompany","CardsPerson","ModulesTable","ModulesAccordion"],"mappings":"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","file":"35e637e.js","sourcesContent":["export * from \"-!../../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./TabSections.vue?vue&type=style&index=0&id=e4d23660&prod&lang=scss&\"","export * from \"-!../../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Image.vue?vue&type=style&index=0&id=9deb6b12&prod&lang=scss&\"","export * from \"-!../../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Organization.vue?vue&type=style&index=0&id=385d577f&prod&lang=scss&\"","export * from \"-!../../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--3-oneOf-1-0!../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--3-oneOf-1-1!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??ref--3-oneOf-1-2!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./TwoColumnContentSections.vue?vue&type=style&index=0&id=63fd3252&prod&lang=css&\"","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./ChartSections.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./ChartSections.vue?vue&type=script&lang=js&\"","\nimport lang from \"@/mixins/lang.js\";\n\nexport default {\n name: \"SectionsChartSections\",\n mixins: [lang],\n props: {\n section: {\n type: Object,\n },\n index: {\n type: Number,\n },\n },\n data() {\n return {\n genelOran: [],\n genelOran_SGZ: \"\",\n sonOnDortGunDoluluk: [],\n sonOnDortGunDoluluk_SGZ: \"\",\n sonBirYildakiAySonlariDoluluk: [],\n sonBirYildakiAySonlariDoluluk_SGZ: \"\",\n sonGunDolulukOraniYillaraGore: [],\n sonGunDolulukOraniYillaraGore_SGZ: \"\",\n mevcutSuMiktarlarininBarajlaraGoreDagilimi: [],\n mevcutSuMiktarlarininBarajlaraGoreDagilimi_SGZ: \"\",\n sonGunMevcutSuYillaraGore: [],\n sonGunMevcutSuYillaraGore_SGZ: \"\",\n gunlukOzet: [],\n gunlukOzet_SGZ: \"\",\n yillikYagisMiktari: [],\n yillikYagisMiktari_SGZ: \"\",\n sonOndortGundeVerilenSu: [],\n sonOndortGundeVerilenSu_SGZ: \"\",\n sonBirYildaVerilenAylikOrtalamaSu: [],\n sonBirYildaVerilenAylikOrtalamaSu_SGZ: \"\",\n sonOnYildaVerilenYillaraGoreGunlukOrtalamaSu: [],\n sonOnYildaVerilenYillaraGoreGunlukOrtalamaSu_SGZ: \"\",\n sonOnyildaVerilenToplamSu: [],\n sonOnyildaVerilenToplamSu_SGZ: \"\",\n melenveYesilcayRegulatorlerindenAlinanSu: [],\n melenveYesilcayRegulatorlerindenAlinanSu_SGZ: \"\",\n selectValue: \"\",\n selectTitle: \"\",\n barajListesi: [],\n sonOnDortGundekiSu: [],\n sonOnDortGundekiSu_SGZ: \"\",\n sonOnDortGundekiSuSection: {\n title: `BARAJI SON 14 GÃœN İÇİNDEKÄ° DOLULUK ORANLARI (%)`,\n color: \"classic\",\n },\n sonOndortGundekiMevcutSuHacmi: [],\n sonOndortGundekiMevcutSuHacmi_SGZ: \"\",\n sonOndortGundekiMevcutSuHacmiSection: {\n title: `BARAJI SON 14 GÃœN İÇİNDEKÄ° MEVCUT SU HACÄ°MLERÄ° (milyon m³)`,\n color: \"orange\",\n type: \"SON 14 GUN MEVCUT SU HACMÄ°\",\n },\n sonBirYildakiAySonuDolulukOranlari: [],\n sonBirYildakiAySonuDolulukOranlari_SGZ: \"\",\n sonBirYildakiAySonuDolulukOranlariSection: {\n title: `BARAJI SON BÄ°R YILDAKÄ° AY SONLARI DOLULUK ORANLARI (%)`,\n color: \"multicolored\",\n },\n sonOnYildakiDolulukOrani: [],\n sonOnYildakiDolulukOrani_SGZ: \"\",\n sonOnYildakiDolulukOraniSection: {\n title: `BARAJI DOLULUK ORANLARININ YILLARA GÖRE KARÅžILAÅžTIRILMASI (%)`,\n color: \"classic\",\n },\n };\n },\n watch: {\n selectValue: {\n handler() {\n this.fetchData();\n },\n deep: true,\n },\n },\n async mounted() {\n this.selectValue = await this.barajListesi[0]?.kaynakAdi;\n this.selectTitle = await this.barajListesi[0]?.baslikAdi.toLocaleUpperCase(\n \"tr-TR\"\n );\n this.fetchData();\n this.fetchFirstData();\n },\n methods: {\n async fetchFirstData() {\n try {\n const { data } = await this.$axios.get(`iski/baraj/genelOran/v2`);\n // Extract the relevant data from the response\n this.genelOran = data?.data;\n this.genelOran_SGZ = data?.sonGuncellemeZamani;\n } catch (error) {\n console.log(error, `iski/baraj/genelOran`);\n }\n\n try {\n const { data } = await this.$axios.get(\n `iski/baraj/sonOnDortGunDoluluk/v2`\n );\n // Extract the relevant data from the response\n this.sonOnDortGunDoluluk = data?.data;\n this.sonOnDortGunDoluluk_SGZ = data?.sonGuncellemeZamani;\n } catch (error) {\n console.log(error, `iski/baraj/sonOnDortGunDoluluk`);\n }\n\n try {\n const { data } = await this.$axios.get(\n `iski/baraj/sonBirYildakiAySonlariDoluluk/v2`\n );\n // Extract the relevant data from the response\n this.sonBirYildakiAySonlariDoluluk = data?.data;\n this.sonBirYildakiAySonlariDoluluk_SGZ = data?.sonGuncellemeZamani;\n } catch (error) {\n console.log(error, `iski/baraj/sonBirYildakiAySonlariDoluluk`);\n }\n\n try {\n const { data } = await this.$axios.get(\n `iski/baraj/sonGunDolulukOraniYillaraGore/v2`\n );\n // Extract the relevant data from the response\n this.sonGunDolulukOraniYillaraGore = data?.data;\n this.sonGunDolulukOraniYillaraGore_SGZ = data?.sonGuncellemeZamani;\n } catch (error) {\n console.log(error, `iski/baraj/sonGunDolulukOraniYillaraGore`);\n }\n\n try {\n const { data } = await this.$axios.get(\n `iski/baraj/mevcutSuMiktarlarininBarajlaraGoreDagilimi/v2`\n );\n // Extract the relevant data from the response\n this.mevcutSuMiktarlarininBarajlaraGoreDagilimi = data?.data;\n this.mevcutSuMiktarlarininBarajlaraGoreDagilimi_SGZ =\n data?.sonGuncellemeZamani;\n } catch (error) {\n console.log(\n error,\n `iski/baraj/mevcutSuMiktarlarininBarajlaraGoreDagilimi`\n );\n }\n\n try {\n const { data } = await this.$axios.get(\n `iski/baraj/sonGunMevcutSuYillaraGore/v2`\n );\n // Extract the relevant data from the response\n this.sonGunMevcutSuYillaraGore = data?.data;\n this.sonGunMevcutSuYillaraGore_SGZ = data?.sonGuncellemeZamani;\n } catch (error) {\n console.log(error, `iski/baraj/sonGunMevcutSuYillaraGore`);\n }\n\n try {\n const { data } = await this.$axios.get(`iski/baraj/gunlukOzet/v2`);\n // Extract the relevant data from the response\n this.gunlukOzet = data?.data.slice(-10);\n this.gunlukOzet_SGZ = data?.sonGuncellemeZamani;\n } catch (error) {\n console.log(error, `iski/baraj/gunlukOzet`);\n }\n\n try {\n const { data } = await this.$axios.get(\n `iski/baraj/yillikYagisMiktari/v2`\n );\n // Extract the relevant data from the response\n this.yillikYagisMiktari = data?.data;\n this.yillikYagisMiktari_SGZ = data?.sonGuncellemeZamani;\n } catch (error) {\n console.log(error, `iski/baraj/yillikYagisMiktari`);\n }\n\n try {\n const { data } = await this.$axios.get(\n `iski/baraj/icmeSuyuAritma/sonOndortGundeVerilenSu/v2`\n );\n // Extract the relevant data from the response\n this.sonOndortGundeVerilenSu = data?.data;\n this.sonOndortGundeVerilenSu_SGZ = data?.sonGuncellemeZamani;\n } catch (error) {\n console.log(error, `iski/baraj/icmeSuyuAritma/sonOndortGundeVerilenSu`);\n }\n\n try {\n const { data } = await this.$axios.get(\n `iski/baraj/icmeSuyuAritma/sonBirYildaVerilenAylikOrtalamaSu/v2`\n );\n // Extract the relevant data from the response\n this.sonBirYildaVerilenAylikOrtalamaSu = data?.data;\n this.sonBirYildaVerilenAylikOrtalamaSu_SGZ = data?.sonGuncellemeZamani;\n } catch (error) {\n console.log(\n error,\n `iski/baraj/icmeSuyuAritma/sonBirYildaVerilenAylikOrtalamaSu`\n );\n }\n\n try {\n const { data } = await this.$axios.get(\n `iski/baraj/icmeSuyuAritma/sonOnYildaVerilenYillaraGoreGunlukOrtalamaSu/v2`\n );\n // Extract the relevant data from the response\n this.sonOnYildaVerilenYillaraGoreGunlukOrtalamaSu = data?.data;\n this.sonOnYildaVerilenYillaraGoreGunlukOrtalamaSu_SGZ =\n data?.sonGuncellemeZamani;\n } catch (error) {\n console.log(\n error,\n `iski/baraj/icmeSuyuAritma/sonOnYildaVerilenYillaraGoreGunlukOrtalamaSu`\n );\n }\n\n try {\n const { data } = await this.$axios.get(\n `iski/baraj/icmeSuyuAritma/sonOnyildaVerilenToplamSu/v2`\n );\n // Extract the relevant data from the response\n this.sonOnyildaVerilenToplamSu = data?.data;\n this.sonOnyildaVerilenToplamSu_SGZ = data?.sonGuncellemeZamani;\n } catch (error) {\n console.log(error);\n console.log(\n error,\n `iski/baraj/icmeSuyuAritma/sonOnyildaVerilenToplamSu`\n );\n }\n\n try {\n const { data } = await this.$axios.get(\n `iski/baraj/melenveYesilcayRegulatorlerindenAlinanSu/v2`\n );\n // Extract the relevant data from the response\n this.melenveYesilcayRegulatorlerindenAlinanSu = data?.data;\n this.melenveYesilcayRegulatorlerindenAlinanSu_SGZ =\n data?.sonGuncellemeZamani;\n } catch (error) {\n console.log(\n error,\n `iski/baraj/melenveYesilcayRegulatorlerindenAlinanSu`\n );\n }\n\n try {\n const { data } = await this.$axios.get(`iski/baraj/listesi/v2`);\n // Extract the relevant data from the response\n const sortedData = data?.data.sort((a, b) => {\n if (b.baslikAdi > a.baslikAdi) return -1;\n if (b.baslikAdi < a.baslikAdi) return 1;\n return 0;\n });\n\n this.barajListesi = sortedData;\n } catch (error) {\n console.log(error, `iski/baraj/listesi`);\n }\n },\n async fetchData() {\n this.selectValue = this.selectValue ?? \"Alibey\";\n this.selectTitle = this.selectTitle ?? \"Alibey\";\n try {\n const { data } = await this.$axios.post(\n `iski/baraj/sonOnDortGundekiSu/v2?barajAdi=${this.selectValue}`\n );\n // Extract the relevant data from the response\n this.sonOnDortGundekiSu = data?.data;\n this.sonOnDortGundekiSu_SGZ = data?.sonGuncellemeZamani;\n } catch (error) {\n console.log(error, `iski/baraj/sonOnDortGundekiSu=${this.selectValue}`);\n }\n try {\n const { data } = await this.$axios.post(\n `iski/baraj/sonOndortGundekiMevcutSuHacmi/v2?barajAdi=${this.selectValue}`\n );\n // Extract the relevant data from the response\n this.sonOndortGundekiMevcutSuHacmi = data?.data;\n this.sonOndortGundekiMevcutSuHacmi_SGZ = data?.sonGuncellemeZamani;\n } catch (error) {\n console.log(\n error,\n `iski/baraj/sonOndortGundekiMevcutSuHacmi=${this.selectValue}`\n );\n }\n try {\n const { data } = await this.$axios.post(\n `iski/baraj/sonBirYildakiAySonuDolulukOranlari/v2?barajAdi=${this.selectValue}`\n );\n // Extract the relevant data from the response\n this.sonBirYildakiAySonuDolulukOranlari = data?.data;\n this.sonBirYildakiAySonuDolulukOranlari_SGZ = data?.sonGuncellemeZamani;\n } catch (error) {\n console.log(\n error,\n `iski/baraj/sonBirYildakiAySonuDolulukOranlari=${this.selectValue}`\n );\n }\n try {\n const { data } = await this.$axios.post(\n `iski/baraj/sonOnYildakiDolulukOrani/v2?barajAdi=${this.selectValue}`\n );\n // Extract the relevant data from the response\n this.sonOnYildakiDolulukOrani = data?.data;\n this.sonOnYildakiDolulukOrani_SGZ = data?.sonGuncellemeZamani;\n } catch (error) {\n console.log(\n error,\n `iski/baraj/sonOnYildakiDolulukOrani=${this.selectValue}`\n );\n }\n },\n selectChange() {\n let selectVal = document.querySelector(\".chart-select\");\n this.selectTitle = selectVal.options[selectVal.selectedIndex].text;\n },\n },\n};\n","import { render, staticRenderFns } from \"./ChartSections.vue?vue&type=template&id=d96de4e0&\"\nimport script from \"./ChartSections.vue?vue&type=script&lang=js&\"\nexport * from \"./ChartSections.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {ChartsDoughnutChart: require('/usr/app/components/charts/DoughnutChart.vue').default,ChartsLineChart: require('/usr/app/components/charts/LineChart.vue').default,ChartsBarChart: require('/usr/app/components/charts/BarChart.vue').default,ChartsPieChart: require('/usr/app/components/charts/PieChart.vue').default,ChartsGroupBarChart: require('/usr/app/components/charts/GroupBarChart.vue').default})\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Organization.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Organization.vue?vue&type=script&lang=js&\"","\nimport lang from \"@/mixins/lang\";\nimport device from \"@/mixins/device\";\nimport dynamicPagesParentsSlugs from \"@/mixins/dynamic-pages-parents-slug\";\nexport default {\n name: \"SectionsOrganization\",\n mixins: [lang, device, dynamicPagesParentsSlugs],\n data() {\n return {\n schema: [],\n isListView: true,\n chartFetched: false,\n chart: null,\n organizationData: null,\n };\n },\n mounted() {\n this.fetchDataList();\n const html = document.querySelector(\"html\");\n if (html.classList.value.indexOf(\"orgchart-html-active\") == 0) {\n this.isListView = false;\n html.classList.add(\"overflow-hidden\");\n setTimeout(function () {\n if (\n document.querySelectorAll(\n \".nodeNew .children-box-12 > .node-noChildren\"\n )\n ) {\n // node-noChildren sınıfına sahip tüm öğeleri seçin\n var nodesWithClass = document.querySelectorAll(\n \".nodeNew .children-box-12 > .node-noChildren\"\n );\n\n // Yeni bir kapsayıcı <div> öğesi oluÅŸturun\n var wrapperDiv = document.createElement(\"div\");\n wrapperDiv.className = \"addLater\"; // Ä°stediÄŸiniz sınıf adını buraya ekleyebilirsiniz\n\n // Seçilen öğeleri kapsayıcı <div> içine taşıyın\n nodesWithClass.forEach(function (node) {\n wrapperDiv.appendChild(node);\n });\n document\n .querySelector(\".nodeNew .children-box-12\")\n .appendChild(wrapperDiv);\n }\n }, 500);\n } else {\n this.isListView = true;\n html.classList.remove(\"overflow-hidden\");\n }\n },\n methods: {\n async fetchDataList() {\n try {\n // List\n const { data } = await this.$axios.get(\n `custom-orgchart/1?locale=${this.currentLang}`\n );\n this.schema.push(data);\n this.organizationData = data;\n function addNewKey(obj, startValue) {\n obj.newKey = startValue;\n if (obj.children && obj.children.length > 0) {\n for (let i = 0; i < obj.children.length; i++) {\n startValue = addNewKey(obj.children[i], startValue + 1);\n }\n }\n return startValue;\n }\n addNewKey(this.organizationData, 0);\n } catch (error) {\n console.log(error);\n }\n },\n listShow() {\n const html = document.querySelector(\"html\");\n if (!!this.isListView) {\n this.isListView = false;\n html.classList.add(\"overflow-hidden\");\n html.classList.add(\"orgchart-html-active\");\n } else {\n this.isListView = true;\n html.classList.remove(\"overflow-hidden\");\n }\n this.wrapperDiv();\n },\n print() {\n window.print();\n },\n async wrapperDiv() {\n if (\n document.querySelectorAll(\n \".nodeNew .children-box-12 > .node-noChildren\"\n )\n ) {\n // node-noChildren sınıfına sahip tüm öğeleri seçin\n var nodesWithClass = document.querySelectorAll(\n \".nodeNew .children-box-12 > .node-noChildren\"\n );\n\n // Yeni bir kapsayıcı <div> öğesi oluÅŸturun\n var wrapperDiv = document.createElement(\"div\");\n wrapperDiv.className = \"addLater\"; // Ä°stediÄŸiniz sınıf adını buraya ekleyebilirsiniz\n\n // Seçilen öğeleri kapsayıcı <div> içine taşıyın\n nodesWithClass.forEach(function (node) {\n wrapperDiv.appendChild(node);\n });\n document\n .querySelector(\".nodeNew .children-box-12\")\n .appendChild(wrapperDiv);\n }\n },\n },\n};\n","import { render, staticRenderFns } from \"./Organization.vue?vue&type=template&id=385d577f&\"\nimport script from \"./Organization.vue?vue&type=script&lang=js&\"\nexport * from \"./Organization.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Organization.vue?vue&type=style&index=0&id=385d577f&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {OrgNode: require('/usr/app/components/orgNode/OrgNode.vue').default})\n","\nimport dynamicPagesParentsSlugs from \"@/mixins/dynamic-pages-parents-slug\";\nexport default {\n name: \"SectionsTwoColumnContentSections\",\n mixins: [dynamicPagesParentsSlugs],\n props: {\n section: {\n type: Object,\n required: true,\n },\n filterslug: {\n type: String,\n },\n },\n data() {\n return {\n getEndpoint: null,\n };\n },\n async mounted() {\n this.getEndpoint =\n (await this.section?.endpoint?.data?.attributes?.endpoint) ?? null;\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./TwoColumnContentSections.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./TwoColumnContentSections.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TwoColumnContentSections.vue?vue&type=template&id=63fd3252&\"\nimport script from \"./TwoColumnContentSections.vue?vue&type=script&lang=js&\"\nexport * from \"./TwoColumnContentSections.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TwoColumnContentSections.vue?vue&type=style&index=0&id=63fd3252&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {ModulesDefault: require('/usr/app/components/modules/Default.vue').default,ModulesSlider: require('/usr/app/components/modules/Slider.vue').default,ModulesSlim: require('/usr/app/components/modules/Slim.vue').default})\n","\nimport dynamicPagesParentsSlugs from \"@/mixins/dynamic-pages-parents-slug\";\nexport default {\n name: \"SectionsTwoColumnContentWithWidgetSections\",\n mixins: [dynamicPagesParentsSlugs],\n props: {\n section: {\n type: Object,\n required: true,\n },\n filterslug: {\n type: String,\n },\n },\n data() {\n return {\n getEndpoint: null,\n };\n },\n async mounted() {\n this.getEndpoint =\n (await this.section?.endpoint?.data?.attributes?.endpoint) ?? null;\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./TwoColumnContentWithWidgetSections.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./TwoColumnContentWithWidgetSections.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TwoColumnContentWithWidgetSections.vue?vue&type=template&id=54a15090&\"\nimport script from \"./TwoColumnContentWithWidgetSections.vue?vue&type=script&lang=js&\"\nexport * from \"./TwoColumnContentWithWidgetSections.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {ModulesDefault: require('/usr/app/components/modules/Default.vue').default,ModulesSlider: require('/usr/app/components/modules/Slider.vue').default,WidgetText: require('/usr/app/components/widget/Text.vue').default})\n","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flat` method\n// https://tc39.es/ecma262/#sec-array.prototype.flat\n$({ target: 'Array', proto: true }, {\n flat: function flat(/* depthArg = 1 */) {\n var depthArg = arguments.length ? arguments[0] : undefined;\n var O = toObject(this);\n var sourceLen = lengthOfArrayLike(O);\n var A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toIntegerOrInfinity(depthArg));\n return A;\n }\n});\n","// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('flat');\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.fixed` method\n// https://tc39.es/ecma262/#sec-string.prototype.fixed\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fixed') }, {\n fixed: function fixed() {\n return createHTML(this, 'tt', '', '');\n }\n});\n","import Vue, { VueConstructor } from 'vue'\n\nexport type Proxyable<T extends string = 'value'> = VueConstructor<Vue & {\n internalLazyValue: unknown\n internalValue: unknown\n} & Record<T, any>>\n\nexport function factory<T extends string = 'value'> (prop?: T, event?: string): Proxyable<T>\nexport function factory (\n prop = 'value',\n event = 'change'\n) {\n return Vue.extend({\n name: 'proxyable',\n\n model: {\n prop,\n event,\n },\n\n props: {\n [prop]: {\n required: false,\n },\n },\n\n data () {\n return {\n internalLazyValue: this[prop] as unknown,\n }\n },\n\n computed: {\n internalValue: {\n get (): unknown {\n return this.internalLazyValue\n },\n set (val: any) {\n if (val === this.internalLazyValue) return\n\n this.internalLazyValue = val\n\n this.$emit(event, val)\n },\n },\n },\n\n watch: {\n [prop] (val) {\n this.internalLazyValue = val\n },\n },\n })\n}\n\n/* eslint-disable-next-line @typescript-eslint/no-redeclare */\nconst Proxyable = factory()\n\nexport default Proxyable\n","import Vue from 'vue'\n\nexport default Vue.extend({\n name: 'elevatable',\n\n props: {\n elevation: [Number, String],\n },\n\n computed: {\n computedElevation (): string | number | undefined {\n return this.elevation\n },\n elevationClasses (): Record<string, boolean> {\n const elevation = this.computedElevation\n\n if (elevation == null) return {}\n if (isNaN(parseInt(elevation))) return {}\n return { [`elevation-${this.elevation}`]: true }\n },\n },\n})\n","// Helpers\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport Vue, { PropType } from 'vue'\n\nexport type NumberOrNumberString = PropType<string | number | undefined>\n\nexport default Vue.extend({\n name: 'measurable',\n\n props: {\n height: [Number, String] as NumberOrNumberString,\n maxHeight: [Number, String] as NumberOrNumberString,\n maxWidth: [Number, String] as NumberOrNumberString,\n minHeight: [Number, String] as NumberOrNumberString,\n minWidth: [Number, String] as NumberOrNumberString,\n width: [Number, String] as NumberOrNumberString,\n },\n\n computed: {\n measurableStyles (): object {\n const styles: Record<string, string> = {}\n\n const height = convertToUnit(this.height)\n const minHeight = convertToUnit(this.minHeight)\n const minWidth = convertToUnit(this.minWidth)\n const maxHeight = convertToUnit(this.maxHeight)\n const maxWidth = convertToUnit(this.maxWidth)\n const width = convertToUnit(this.width)\n\n if (height) styles.height = height\n if (minHeight) styles.minHeight = minHeight\n if (minWidth) styles.minWidth = minWidth\n if (maxHeight) styles.maxHeight = maxHeight\n if (maxWidth) styles.maxWidth = maxWidth\n if (width) styles.width = width\n\n return styles\n },\n },\n})\n","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default Themeable.extend({\n name: 'v-theme-provider',\n\n props: { root: Boolean },\n\n computed: {\n isDark (): boolean {\n return this.root\n ? this.rootIsDark\n : Themeable.options.computed.isDark.call(this)\n },\n },\n\n render (): VNode {\n /* istanbul ignore next */\n return (\n this.$slots.default! &&\n this.$slots.default!.find(node => !node.isComment && node.text !== ' ')!\n )\n },\n})\n","import Vue from 'vue'\n\n/**\n * Delayable\n *\n * @mixin\n *\n * Changes the open or close delay time for elements\n */\nexport default Vue.extend<Vue & { isActive?: boolean }>().extend({\n name: 'delayable',\n\n props: {\n openDelay: {\n type: [Number, String],\n default: 0,\n },\n closeDelay: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data: () => ({\n openTimeout: undefined as number | undefined,\n closeTimeout: undefined as number | undefined,\n }),\n\n methods: {\n /**\n * Clear any pending delay timers from executing\n */\n clearDelay (): void {\n clearTimeout(this.openTimeout)\n clearTimeout(this.closeTimeout)\n },\n /**\n * Runs callback after a specified delay\n */\n runDelay (type: 'open' | 'close', cb?: () => void): void {\n this.clearDelay()\n\n const delay = parseInt((this as any)[`${type}Delay`], 10)\n\n ;(this as any)[`${type}Timeout`] = setTimeout(cb || (() => {\n this.isActive = { open: true, close: false }[type]\n }), delay)\n },\n },\n})\n","// Mixins\nimport Delayable from '../delayable'\nimport Toggleable from '../toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\ntype Listeners = Dictionary<(e: MouseEvent & KeyboardEvent & FocusEvent) => void>\n\nconst baseMixins = mixins(\n Delayable,\n Toggleable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'activatable',\n\n props: {\n activator: {\n default: null as unknown as PropType<string | HTMLElement | VNode | Element | null>,\n validator: (val: string | object) => {\n return ['string', 'object'].includes(typeof val)\n },\n },\n disabled: Boolean,\n internalActivator: Boolean,\n openOnClick: {\n type: Boolean,\n default: true,\n },\n openOnHover: Boolean,\n openOnFocus: Boolean,\n },\n\n data: () => ({\n // Do not use this directly, call getActivator() instead\n activatorElement: null as HTMLElement | null,\n activatorNode: [] as VNode[],\n events: ['click', 'mouseenter', 'mouseleave', 'focus'],\n listeners: {} as Listeners,\n }),\n\n watch: {\n activator: 'resetActivator',\n openOnFocus: 'resetActivator',\n openOnHover: 'resetActivator',\n },\n\n mounted () {\n const slotType = getSlotType(this, 'activator', true)\n\n if (slotType && ['v-slot', 'normal'].includes(slotType)) {\n consoleError(`The activator slot must be bound, try '<template v-slot:activator=\"{ on }\"><v-btn v-on=\"on\">'`, this)\n }\n\n this.addActivatorEvents()\n },\n\n beforeDestroy () {\n this.removeActivatorEvents()\n },\n\n methods: {\n addActivatorEvents () {\n if (\n !this.activator ||\n this.disabled ||\n !this.getActivator()\n ) return\n\n this.listeners = this.genActivatorListeners()\n const keys = Object.keys(this.listeners)\n\n for (const key of keys) {\n this.getActivator()!.addEventListener(key, this.listeners[key] as any)\n }\n },\n genActivator () {\n const node = getSlot(this, 'activator', Object.assign(this.getValueProxy(), {\n on: this.genActivatorListeners(),\n attrs: this.genActivatorAttributes(),\n })) || []\n\n this.activatorNode = node\n\n return node\n },\n genActivatorAttributes () {\n return {\n role: (this.openOnClick && !this.openOnHover) ? 'button' : undefined,\n 'aria-haspopup': true,\n 'aria-expanded': String(this.isActive),\n }\n },\n genActivatorListeners () {\n if (this.disabled) return {}\n\n const listeners: Listeners = {}\n\n if (this.openOnHover) {\n listeners.mouseenter = (e: MouseEvent) => {\n this.getActivator(e)\n this.runDelay('open')\n }\n listeners.mouseleave = (e: MouseEvent) => {\n this.getActivator(e)\n this.runDelay('close')\n }\n } else if (this.openOnClick) {\n listeners.click = (e: MouseEvent) => {\n const activator = this.getActivator(e)\n if (activator) activator.focus()\n\n e.stopPropagation()\n\n this.isActive = !this.isActive\n }\n }\n\n if (this.openOnFocus) {\n listeners.focus = (e: FocusEvent) => {\n this.getActivator(e)\n\n e.stopPropagation()\n\n this.isActive = !this.isActive\n }\n }\n\n return listeners\n },\n getActivator (e?: Event): HTMLElement | null {\n // If we've already fetched the activator, re-use\n if (this.activatorElement) return this.activatorElement\n\n let activator = null\n\n if (this.activator) {\n const target = this.internalActivator ? this.$el : document\n\n if (typeof this.activator === 'string') {\n // Selector\n activator = target.querySelector(this.activator)\n } else if ((this.activator as any).$el) {\n // Component (ref)\n activator = (this.activator as any).$el\n } else {\n // HTMLElement | Element\n activator = this.activator\n }\n } else if (this.activatorNode.length === 1 || (this.activatorNode.length && !e)) {\n // Use the contents of the activator slot\n // There's either only one element in it or we\n // don't have a click event to use as a last resort\n const vm = this.activatorNode[0].componentInstance\n if (\n vm &&\n vm.$options.mixins && // Activatable is indirectly used via Menuable\n vm.$options.mixins.some((m: any) => m.options && ['activatable', 'menuable'].includes(m.options.name))\n ) {\n // Activator is actually another activatible component, use its activator (#8846)\n activator = (vm as any).getActivator()\n } else {\n activator = this.activatorNode[0].elm as HTMLElement\n }\n } else if (e) {\n // Activated by a click or focus event\n activator = (e.currentTarget || e.target) as HTMLElement\n }\n\n // The activator should only be a valid element (Ignore comments and text nodes)\n this.activatorElement = activator?.nodeType === Node.ELEMENT_NODE ? activator : null\n\n return this.activatorElement\n },\n getContentSlot () {\n return getSlot(this, 'default', this.getValueProxy(), true)\n },\n getValueProxy (): object {\n const self = this\n return {\n get value () {\n return self.isActive\n },\n set value (isActive: boolean) {\n self.isActive = isActive\n },\n }\n },\n removeActivatorEvents () {\n if (\n !this.activator ||\n !this.activatorElement\n ) return\n\n const keys = Object.keys(this.listeners)\n\n for (const key of keys) {\n (this.activatorElement as any).removeEventListener(key, this.listeners[key])\n }\n\n this.listeners = {}\n },\n resetActivator () {\n this.removeActivatorEvents()\n this.activatorElement = null\n this.getActivator()\n this.addActivatorEvents()\n },\n },\n})\n","import Vue from 'vue'\n\nimport mixins from '../../util/mixins'\nimport { VOverlay } from '../../components/VOverlay'\n\ninterface options {\n $el: HTMLElement\n $refs: {\n content?: HTMLElement\n }\n overlay?: InstanceType<typeof VOverlay>\n}\n\ninterface DependentInstance extends Vue {\n isActive?: boolean\n isDependent?: boolean\n}\n\nfunction searchChildren (children: Vue[]): DependentInstance[] {\n const results = []\n for (let index = 0; index < children.length; index++) {\n const child = children[index] as DependentInstance\n if (child.isActive && child.isDependent) {\n results.push(child)\n } else {\n results.push(...searchChildren(child.$children))\n }\n }\n\n return results\n}\n\n/* @vue/component */\nexport default mixins<Vue & options>().extend({\n name: 'dependent',\n\n data () {\n return {\n closeDependents: true,\n isActive: false,\n isDependent: true,\n }\n },\n\n watch: {\n isActive (val) {\n if (val) return\n\n const openDependents = this.getOpenDependents()\n for (let index = 0; index < openDependents.length; index++) {\n openDependents[index].isActive = false\n }\n },\n },\n\n methods: {\n getOpenDependents (): any[] {\n if (this.closeDependents) return searchChildren(this.$children)\n\n return []\n },\n getOpenDependentElements (): HTMLElement[] {\n const result = []\n const openDependents = this.getOpenDependents()\n\n for (let index = 0; index < openDependents.length; index++) {\n result.push(...openDependents[index].getClickableDependentElements())\n }\n\n return result\n },\n getClickableDependentElements (): HTMLElement[] {\n const result = [this.$el]\n if (this.$refs.content) result.push(this.$refs.content)\n if (this.overlay) result.push(this.overlay.$el as HTMLElement)\n result.push(...this.getOpenDependentElements())\n\n return result\n },\n },\n})\n","import Vue from 'vue'\n\nimport { getZIndex } from '../../util/helpers'\n\ninterface options extends Vue {\n $refs: {\n content: Element\n }\n}\n\n/* @vue/component */\nexport default Vue.extend<options>().extend({\n name: 'stackable',\n\n data () {\n return {\n stackElement: null as Element | null,\n stackExclude: null as Element[] | null,\n stackMinZIndex: 0,\n isActive: false,\n }\n },\n computed: {\n activeZIndex (): number {\n if (typeof window === 'undefined') return 0\n\n const content = this.stackElement || this.$refs.content\n // Return current zindex if not active\n\n const index = !this.isActive\n ? getZIndex(content)\n : this.getMaxZIndex(this.stackExclude || [content]) + 2\n\n if (index == null) return index\n\n // Return max current z-index (excluding self) + 2\n // (2 to leave room for an overlay below, if needed)\n return parseInt(index)\n },\n },\n methods: {\n getMaxZIndex (exclude: Element[] = []) {\n const base = this.$el\n // Start with lowest allowed z-index or z-index of\n // base component's element, whichever is greater\n const zis = [this.stackMinZIndex, getZIndex(base)]\n // Convert the NodeList to an array to\n // prevent an Edge bug with Symbol.iterator\n // https://github.com/vuetifyjs/vuetify/issues/2146\n const activeElements = [\n ...document.getElementsByClassName('v-menu__content--active'),\n ...document.getElementsByClassName('v-dialog__content--active'),\n ]\n\n // Get z-index for all active dialogs\n for (let index = 0; index < activeElements.length; index++) {\n if (!exclude.includes(activeElements[index])) {\n zis.push(getZIndex(activeElements[index]))\n }\n }\n\n return Math.max(...zis)\n },\n },\n})\n","// Utilities\nimport { removed } from '../../util/console'\n\n// Types\nimport Vue, { VNode } from 'vue'\ninterface Toggleable extends Vue {\n isActive?: boolean\n}\n\n/**\n * Bootable\n * @mixin\n *\n * Used to add lazy content functionality to components\n * Looks for change in \"isActive\" to automatically boot\n * Otherwise can be set manually\n */\n/* @vue/component */\nexport default Vue.extend<Vue & Toggleable>().extend({\n name: 'bootable',\n\n props: {\n eager: Boolean,\n },\n\n data: () => ({\n isBooted: false,\n }),\n\n computed: {\n hasContent (): boolean | undefined {\n return this.isBooted || this.eager || this.isActive\n },\n },\n\n watch: {\n isActive () {\n this.isBooted = true\n },\n },\n\n created () {\n /* istanbul ignore next */\n if ('lazy' in this.$attrs) {\n removed('lazy', this)\n }\n },\n\n methods: {\n showLazyContent (content?: () => VNode[]): VNode[] {\n return (this.hasContent && content) ? content() : [this.$createElement()]\n },\n },\n})\n","// Mixins\nimport Bootable from '../bootable'\n\n// Utilities\nimport { getObjectValueByPath } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport { PropOptions } from 'vue'\nimport { VNode } from 'vue/types'\n\ninterface options {\n $el: HTMLElement\n $refs: {\n content?: HTMLElement\n }\n}\n\nfunction validateAttachTarget (val: any) {\n const type = typeof val\n\n if (type === 'boolean' || type === 'string') return true\n\n return val.nodeType === Node.ELEMENT_NODE\n}\n\nfunction removeActivator (activator: VNode[]) {\n activator.forEach(node => {\n node.elm &&\n node.elm.parentNode &&\n node.elm.parentNode.removeChild(node.elm)\n })\n}\n\n/* @vue/component */\nexport default mixins<options &\n /* eslint-disable indent */\n ExtractVue<typeof Bootable>\n /* eslint-enable indent */\n>(Bootable).extend({\n name: 'detachable',\n\n props: {\n attach: {\n default: false,\n validator: validateAttachTarget,\n } as PropOptions<boolean | string | Element>,\n contentClass: {\n type: String,\n default: '',\n },\n },\n\n data: () => ({\n activatorNode: null as null | VNode | VNode[],\n hasDetached: false,\n }),\n\n watch: {\n attach () {\n this.hasDetached = false\n this.initDetach()\n },\n hasContent () {\n this.$nextTick(this.initDetach)\n },\n },\n\n beforeMount () {\n this.$nextTick(() => {\n if (this.activatorNode) {\n const activator = Array.isArray(this.activatorNode) ? this.activatorNode : [this.activatorNode]\n\n activator.forEach(node => {\n if (!node.elm) return\n if (!this.$el.parentNode) return\n\n const target = this.$el === this.$el.parentNode.firstChild\n ? this.$el\n : this.$el.nextSibling\n\n this.$el.parentNode.insertBefore(node.elm, target)\n })\n }\n })\n },\n\n mounted () {\n this.hasContent && this.initDetach()\n },\n\n deactivated () {\n this.isActive = false\n },\n\n beforeDestroy () {\n if (\n this.$refs.content &&\n this.$refs.content.parentNode\n ) {\n this.$refs.content.parentNode.removeChild(this.$refs.content)\n }\n },\n\n destroyed () {\n if (this.activatorNode) {\n const activator = Array.isArray(this.activatorNode) ? this.activatorNode : [this.activatorNode]\n if (this.$el.isConnected) {\n // Component has been destroyed but the element still exists, we must be in a transition\n // Wait for the transition to finish before cleaning up the detached activator\n const observer = new MutationObserver(list => {\n if (\n list.some(record => Array.from(record.removedNodes).includes(this.$el))\n ) {\n observer.disconnect()\n removeActivator(activator)\n }\n })\n observer.observe(this.$el.parentNode!, { subtree: false, childList: true })\n } else {\n removeActivator(activator)\n }\n }\n },\n\n methods: {\n getScopeIdAttrs () {\n const scopeId = getObjectValueByPath(this.$vnode, 'context.$options._scopeId')\n\n return scopeId && {\n [scopeId]: '',\n }\n },\n initDetach () {\n if (this._isDestroyed ||\n !this.$refs.content ||\n this.hasDetached ||\n // Leave menu in place if attached\n // and dev has not changed target\n this.attach === '' || // If used as a boolean prop (<v-menu attach>)\n this.attach === true || // If bound to a boolean (<v-menu :attach=\"true\">)\n this.attach === 'attach' // If bound as boolean prop in pug (v-menu(attach))\n ) return\n\n let target\n if (this.attach === false) {\n // Default, detach to app\n target = document.querySelector('[data-app]')\n } else if (typeof this.attach === 'string') {\n // CSS selector\n target = document.querySelector(this.attach)\n } else {\n // DOM Element\n target = this.attach\n }\n\n if (!target) {\n consoleWarn(`Unable to locate target ${this.attach || '[data-app]'}`, this)\n return\n }\n\n target.appendChild(this.$refs.content)\n\n this.hasDetached = true\n },\n },\n})\n","// Mixins\nimport Stackable from '../stackable'\nimport { factory as positionableFactory } from '../positionable'\nimport Activatable from '../activatable'\nimport Detachable from '../detachable'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Stackable,\n positionableFactory(['top', 'right', 'bottom', 'left', 'absolute']),\n Activatable,\n Detachable,\n)\n\ninterface dimensions {\n top: number\n left: number\n bottom: number\n right: number\n width: number\n height: number\n offsetTop: number\n scrollHeight: number\n offsetLeft: number\n}\n\ninterface options extends ExtractVue<typeof baseMixins> {\n attach: boolean | string | Element\n offsetY: boolean\n offsetX: boolean\n dimensions: {\n activator: dimensions\n content: dimensions\n }\n $refs: {\n content: HTMLElement\n activator: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'menuable',\n\n props: {\n allowOverflow: Boolean,\n light: Boolean,\n dark: Boolean,\n maxWidth: {\n type: [Number, String],\n default: 'auto',\n },\n minWidth: [Number, String],\n nudgeBottom: {\n type: [Number, String],\n default: 0,\n },\n nudgeLeft: {\n type: [Number, String],\n default: 0,\n },\n nudgeRight: {\n type: [Number, String],\n default: 0,\n },\n nudgeTop: {\n type: [Number, String],\n default: 0,\n },\n nudgeWidth: {\n type: [Number, String],\n default: 0,\n },\n offsetOverflow: Boolean,\n positionX: {\n type: Number,\n default: null,\n },\n positionY: {\n type: Number,\n default: null,\n },\n zIndex: {\n type: [Number, String],\n default: null,\n },\n },\n\n data: () => ({\n activatorNode: [] as VNode[],\n absoluteX: 0,\n absoluteY: 0,\n activatedBy: null as EventTarget | null,\n activatorFixed: false,\n dimensions: {\n activator: {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n width: 0,\n height: 0,\n offsetTop: 0,\n scrollHeight: 0,\n offsetLeft: 0,\n },\n content: {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n width: 0,\n height: 0,\n offsetTop: 0,\n scrollHeight: 0,\n },\n },\n relativeYOffset: 0,\n hasJustFocused: false,\n hasWindow: false,\n inputActivator: false,\n isContentActive: false,\n pageWidth: 0,\n pageYOffset: 0,\n stackClass: 'v-menu__content--active',\n stackMinZIndex: 6,\n }),\n\n computed: {\n computedLeft () {\n const a = this.dimensions.activator\n const c = this.dimensions.content\n const activatorLeft = (this.attach !== false ? a.offsetLeft : a.left) || 0\n const minWidth = Math.max(a.width, c.width)\n let left = 0\n left += activatorLeft\n if (this.left || (this.$vuetify.rtl && !this.right)) left -= (minWidth - a.width)\n if (this.offsetX) {\n const maxWidth = isNaN(Number(this.maxWidth))\n ? a.width\n : Math.min(a.width, Number(this.maxWidth))\n\n left += this.left ? -maxWidth : a.width\n }\n if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n return left\n },\n computedTop () {\n const a = this.dimensions.activator\n const c = this.dimensions.content\n let top = 0\n\n if (this.top) top += a.height - c.height\n if (this.attach !== false) top += a.offsetTop\n else top += a.top + this.pageYOffset\n if (this.offsetY) top += this.top ? -a.height : a.height\n if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n\n return top\n },\n hasActivator (): boolean {\n return !!this.$slots.activator || !!this.$scopedSlots.activator || !!this.activator || !!this.inputActivator\n },\n absoluteYOffset (): number {\n return this.pageYOffset - this.relativeYOffset\n },\n },\n\n watch: {\n disabled (val) {\n val && this.callDeactivate()\n },\n isActive (val) {\n if (this.disabled) return\n\n val ? this.callActivate() : this.callDeactivate()\n },\n positionX: 'updateDimensions',\n positionY: 'updateDimensions',\n },\n\n beforeMount () {\n this.hasWindow = typeof window !== 'undefined'\n\n if (this.hasWindow) {\n window.addEventListener('resize', this.updateDimensions, false)\n }\n },\n\n beforeDestroy () {\n if (this.hasWindow) {\n window.removeEventListener('resize', this.updateDimensions, false)\n }\n },\n\n methods: {\n absolutePosition () {\n return {\n offsetTop: this.positionY || this.absoluteY,\n offsetLeft: this.positionX || this.absoluteX,\n scrollHeight: 0,\n top: this.positionY || this.absoluteY,\n bottom: this.positionY || this.absoluteY,\n left: this.positionX || this.absoluteX,\n right: this.positionX || this.absoluteX,\n height: 0,\n width: 0,\n }\n },\n activate () {},\n calcLeft (menuWidth: number) {\n return convertToUnit(this.attach !== false\n ? this.computedLeft\n : this.calcXOverflow(this.computedLeft, menuWidth))\n },\n calcTop () {\n return convertToUnit(this.attach !== false\n ? this.computedTop\n : this.calcYOverflow(this.computedTop))\n },\n calcXOverflow (left: number, menuWidth: number) {\n const xOverflow = left + menuWidth - this.pageWidth + 12\n\n if ((!this.left || this.right) && xOverflow > 0) {\n left = Math.max(left - xOverflow, 0)\n } else {\n left = Math.max(left, 12)\n }\n\n return left + this.getOffsetLeft()\n },\n calcYOverflow (top: number) {\n const documentHeight = this.getInnerHeight()\n const toTop = this.absoluteYOffset + documentHeight\n const activator = this.dimensions.activator\n const contentHeight = this.dimensions.content.height\n const totalHeight = top + contentHeight\n const isOverflowing = toTop < totalHeight\n\n // If overflowing bottom and offset\n // TODO: set 'bottom' position instead of 'top'\n if (isOverflowing &&\n this.offsetOverflow &&\n // If we don't have enough room to offset\n // the overflow, don't offset\n activator.top > contentHeight\n ) {\n top = this.pageYOffset + (activator.top - contentHeight)\n // If overflowing bottom\n } else if (isOverflowing && !this.allowOverflow) {\n top = toTop - contentHeight - 12\n // If overflowing top\n } else if (top < this.absoluteYOffset && !this.allowOverflow) {\n top = this.absoluteYOffset + 12\n }\n\n return top < 12 ? 12 : top\n },\n callActivate () {\n if (!this.hasWindow) return\n\n this.activate()\n },\n callDeactivate () {\n this.isContentActive = false\n\n this.deactivate()\n },\n checkForPageYOffset () {\n if (this.hasWindow) {\n this.pageYOffset = this.activatorFixed ? 0 : this.getOffsetTop()\n }\n },\n checkActivatorFixed () {\n if (this.attach !== false) {\n this.activatorFixed = false\n return\n }\n let el = this.getActivator()\n while (el) {\n if (window.getComputedStyle(el).position === 'fixed') {\n this.activatorFixed = true\n return\n }\n el = el.offsetParent as HTMLElement\n }\n this.activatorFixed = false\n },\n deactivate () {},\n genActivatorListeners () {\n const listeners = Activatable.options.methods.genActivatorListeners.call(this)\n\n const onClick = listeners.click\n\n if (onClick) {\n listeners.click = (e: MouseEvent & KeyboardEvent & FocusEvent) => {\n if (this.openOnClick) {\n onClick && onClick(e)\n }\n\n this.absoluteX = e.clientX\n this.absoluteY = e.clientY\n }\n }\n\n return listeners\n },\n getInnerHeight () {\n if (!this.hasWindow) return 0\n\n return window.innerHeight ||\n document.documentElement.clientHeight\n },\n getOffsetLeft () {\n if (!this.hasWindow) return 0\n\n return window.pageXOffset ||\n document.documentElement.scrollLeft\n },\n getOffsetTop () {\n if (!this.hasWindow) return 0\n\n return window.pageYOffset ||\n document.documentElement.scrollTop\n },\n getRoundedBoundedClientRect (el: Element) {\n const rect = el.getBoundingClientRect()\n return {\n top: Math.round(rect.top),\n left: Math.round(rect.left),\n bottom: Math.round(rect.bottom),\n right: Math.round(rect.right),\n width: Math.round(rect.width),\n height: Math.round(rect.height),\n }\n },\n measure (el: HTMLElement) {\n if (!el || !this.hasWindow) return null\n\n const rect = this.getRoundedBoundedClientRect(el)\n\n // Account for activator margin\n if (this.attach !== false) {\n const style = window.getComputedStyle(el)\n\n rect.left = parseInt(style.marginLeft!)\n rect.top = parseInt(style.marginTop!)\n }\n\n return rect\n },\n sneakPeek (cb: () => void) {\n requestAnimationFrame(() => {\n const el = this.$refs.content\n\n if (!el || el.style.display !== 'none') {\n cb()\n return\n }\n\n el.style.display = 'inline-block'\n cb()\n el.style.display = 'none'\n })\n },\n startTransition () {\n return new Promise<void>(resolve => requestAnimationFrame(() => {\n this.isContentActive = this.hasJustFocused = this.isActive\n resolve()\n }))\n },\n updateDimensions () {\n this.hasWindow = typeof window !== 'undefined'\n this.checkActivatorFixed()\n this.checkForPageYOffset()\n this.pageWidth = document.documentElement.clientWidth\n\n const dimensions: any = {\n activator: { ...this.dimensions.activator },\n content: { ...this.dimensions.content },\n }\n\n // Activator should already be shown\n if (!this.hasActivator || this.absolute) {\n dimensions.activator = this.absolutePosition()\n } else {\n const activator = this.getActivator()\n if (!activator) return\n\n dimensions.activator = this.measure(activator)\n dimensions.activator.offsetLeft = activator.offsetLeft\n if (this.attach !== false) {\n // account for css padding causing things to not line up\n // this is mostly for v-autocomplete, hopefully it won't break anything\n dimensions.activator.offsetTop = activator.offsetTop\n } else {\n dimensions.activator.offsetTop = 0\n }\n }\n\n // Display and hide to get dimensions\n this.sneakPeek(() => {\n if (this.$refs.content) {\n if (this.$refs.content.offsetParent) {\n const offsetRect = this.getRoundedBoundedClientRect(this.$refs.content.offsetParent)\n\n this.relativeYOffset = window.pageYOffset + offsetRect.top\n dimensions.activator.top -= this.relativeYOffset\n dimensions.activator.left -= window.pageXOffset + offsetRect.left\n }\n\n dimensions.content = this.measure(this.$refs.content)\n }\n\n this.dimensions = dimensions\n })\n },\n },\n})\n","import Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'returnable',\n\n props: {\n returnValue: null as any,\n },\n\n data: () => ({\n isActive: false,\n originalValue: null as any,\n }),\n\n watch: {\n isActive (val) {\n if (val) {\n this.originalValue = this.returnValue\n } else {\n this.$emit('update:return-value', this.originalValue)\n }\n },\n },\n\n methods: {\n save (value: any) {\n this.originalValue = value\n setTimeout(() => {\n this.isActive = false\n })\n },\n },\n})\n","/**\n * Returns:\n * - 'null' if the node is not attached to the DOM\n * - the root node (HTMLDocument | ShadowRoot) otherwise\n */\nexport function attachedRoot (node: Node): null | HTMLDocument | ShadowRoot {\n /* istanbul ignore next */\n if (typeof node.getRootNode !== 'function') {\n // Shadow DOM not supported (IE11), lets find the root of this node\n while (node.parentNode) node = node.parentNode\n\n // The root parent is the document if the node is attached to the DOM\n if (node !== document) return null\n\n return document\n }\n\n const root = node.getRootNode()\n\n // The composed root node is the document if the node is attached to the DOM\n if (root !== document && root.getRootNode({ composed: true }) !== document) return null\n\n return root as HTMLDocument | ShadowRoot\n}\n","import { attachedRoot } from '../../util/dom'\nimport { VNodeDirective } from 'vue/types/vnode'\nimport { VNode } from 'vue'\n\ninterface ClickOutsideBindingArgs {\n handler: (e: Event) => void\n closeConditional?: (e: Event) => boolean\n include?: () => HTMLElement[]\n}\n\ninterface ClickOutsideDirective extends VNodeDirective {\n value?: ((e: Event) => void) | ClickOutsideBindingArgs\n}\n\nfunction defaultConditional () {\n return true\n}\n\nfunction checkEvent (e: PointerEvent, el: HTMLElement, binding: ClickOutsideDirective): boolean {\n // The include element callbacks below can be expensive\n // so we should avoid calling them when we're not active.\n // Explicitly check for false to allow fallback compatibility\n // with non-toggleable components\n if (!e || checkIsActive(e, binding) === false) return false\n\n // If we're clicking inside the shadowroot, then the app root doesn't get the same\n // level of introspection as to _what_ we're clicking. We want to check to see if\n // our target is the shadowroot parent container, and if it is, ignore.\n const root = attachedRoot(el)\n if (\n typeof ShadowRoot !== 'undefined' &&\n root instanceof ShadowRoot &&\n root.host === e.target\n ) return false\n\n // Check if additional elements were passed to be included in check\n // (click must be outside all included elements, if any)\n const elements = ((typeof binding.value === 'object' && binding.value.include) || (() => []))()\n // Add the root element for the component this directive was defined on\n elements.push(el)\n\n // Check if it's a click outside our elements, and then if our callback returns true.\n // Non-toggleable components should take action in their callback and return falsy.\n // Toggleable can return true if it wants to deactivate.\n // Note that, because we're in the capture phase, this callback will occur before\n // the bubbling click event on any outside elements.\n return !elements.some(el => el.contains(e.target as Node))\n}\n\nfunction checkIsActive (e: PointerEvent, binding: ClickOutsideDirective): boolean | void {\n const isActive = (typeof binding.value === 'object' && binding.value.closeConditional) || defaultConditional\n\n return isActive(e)\n}\n\nfunction directive (e: PointerEvent, el: HTMLElement, binding: ClickOutsideDirective) {\n const handler = typeof binding.value === 'function' ? binding.value : binding.value!.handler\n\n el._clickOutside!.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(() => {\n checkIsActive(e, binding) && handler && handler(e)\n }, 0)\n}\n\nfunction handleShadow (el: HTMLElement, callback: Function): void {\n const root = attachedRoot(el)\n\n callback(document)\n\n if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot) {\n callback(root)\n }\n}\n\nexport const ClickOutside = {\n // [data-app] may not be found\n // if using bind, inserted makes\n // sure that the root element is\n // available, iOS does not support\n // clicks on body\n inserted (el: HTMLElement, binding: ClickOutsideDirective, vnode: VNode) {\n const onClick = (e: Event) => directive(e as PointerEvent, el, binding)\n const onMousedown = (e: Event) => {\n el._clickOutside!.lastMousedownWasOutside = checkEvent(e as PointerEvent, el, binding)\n }\n\n handleShadow(el, (app: HTMLElement) => {\n app.addEventListener('click', onClick, true)\n app.addEventListener('mousedown', onMousedown, true)\n })\n\n if (!el._clickOutside) {\n el._clickOutside = {\n lastMousedownWasOutside: true,\n }\n }\n\n el._clickOutside[vnode.context!._uid] = {\n onClick,\n onMousedown,\n }\n },\n\n unbind (el: HTMLElement, binding: ClickOutsideDirective, vnode: VNode) {\n if (!el._clickOutside) return\n\n handleShadow(el, (app: HTMLElement) => {\n if (!app || !el._clickOutside?.[vnode.context!._uid]) return\n\n const { onClick, onMousedown } = el._clickOutside[vnode.context!._uid]!\n\n app.removeEventListener('click', onClick, true)\n app.removeEventListener('mousedown', onMousedown, true)\n })\n\n delete el._clickOutside[vnode.context!._uid]\n },\n}\n\nexport default ClickOutside\n","// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\nimport Returnable from '../../mixins/returnable'\nimport Roundable from '../../mixins/roundable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\nimport goTo from '../../services/goto'\n\n// Types\nimport { VNode, VNodeDirective, VNodeData, PropType } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Delayable,\n Returnable,\n Roundable,\n Themeable,\n Menuable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-menu',\n\n directives: {\n ClickOutside,\n Resize,\n },\n\n provide (): object {\n return {\n isInMenu: true,\n // Pass theme through to default slot\n theme: this.theme,\n }\n },\n\n props: {\n auto: Boolean,\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n closeOnContentClick: {\n type: Boolean,\n default: true,\n },\n disabled: Boolean,\n disableKeys: Boolean,\n maxHeight: {\n type: [Number, String],\n default: 'auto',\n },\n offsetX: Boolean,\n offsetY: Boolean,\n openOnHover: Boolean,\n origin: {\n type: String,\n default: 'top left',\n },\n transition: {\n type: [Boolean, String],\n default: 'v-menu-transition',\n },\n contentProps: {\n type: Object as PropType<Record<string, any>>,\n default: () => ({}),\n },\n },\n\n data () {\n return {\n calculatedTopAuto: 0,\n defaultOffset: 8,\n hasJustFocused: false,\n listIndex: -1,\n resizeTimeout: 0,\n selectedIndex: null as null | number,\n tiles: [] as HTMLElement[],\n }\n },\n\n computed: {\n activeTile (): HTMLElement | undefined {\n return this.tiles[this.listIndex]\n },\n calculatedLeft (): string {\n const menuWidth = Math.max(this.dimensions.content.width, parseFloat(this.calculatedMinWidth))\n\n if (!this.auto) return this.calcLeft(menuWidth) || '0'\n\n return convertToUnit(this.calcXOverflow(this.calcLeftAuto(), menuWidth)) || '0'\n },\n calculatedMaxHeight (): string {\n const height = this.auto\n ? '200px'\n : convertToUnit(this.maxHeight)\n\n return height || '0'\n },\n calculatedMaxWidth (): string {\n return convertToUnit(this.maxWidth) || '0'\n },\n calculatedMinWidth (): string {\n if (this.minWidth) {\n return convertToUnit(this.minWidth) || '0'\n }\n\n const minWidth = Math.min(\n this.dimensions.activator.width +\n Number(this.nudgeWidth) +\n (this.auto ? 16 : 0),\n Math.max(this.pageWidth - 24, 0)\n )\n\n const calculatedMaxWidth = isNaN(parseInt(this.calculatedMaxWidth))\n ? minWidth\n : parseInt(this.calculatedMaxWidth)\n\n return convertToUnit(Math.min(\n calculatedMaxWidth,\n minWidth\n )) || '0'\n },\n calculatedTop (): string {\n const top = !this.auto\n ? this.calcTop()\n : convertToUnit(this.calcYOverflow(this.calculatedTopAuto))\n\n return top || '0'\n },\n hasClickableTiles (): boolean {\n return Boolean(this.tiles.find(tile => tile.tabIndex > -1))\n },\n styles (): object {\n return {\n maxHeight: this.calculatedMaxHeight,\n minWidth: this.calculatedMinWidth,\n maxWidth: this.calculatedMaxWidth,\n top: this.calculatedTop,\n left: this.calculatedLeft,\n transformOrigin: this.origin,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n watch: {\n isActive (val) {\n if (!val) this.listIndex = -1\n },\n isContentActive (val) {\n this.hasJustFocused = val\n },\n listIndex (next, prev) {\n if (next in this.tiles) {\n const tile = this.tiles[next]\n tile.classList.add('v-list-item--highlighted')\n const scrollTop = this.$refs.content.scrollTop\n const contentHeight = this.$refs.content.clientHeight\n\n if (scrollTop > tile.offsetTop - 8) {\n goTo(tile.offsetTop - tile.clientHeight, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n } else if (scrollTop + contentHeight < tile.offsetTop + tile.clientHeight + 8) {\n goTo(tile.offsetTop - contentHeight + tile.clientHeight * 2, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n }\n }\n\n prev in this.tiles &&\n this.tiles[prev].classList.remove('v-list-item--highlighted')\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n mounted () {\n this.isActive && this.callActivate()\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(() => {\n // Once transitioning, calculate scroll and top position\n this.startTransition().then(() => {\n if (this.$refs.content) {\n this.calculatedTopAuto = this.calcTopAuto()\n this.auto && (this.$refs.content.scrollTop = this.calcScrollPosition())\n }\n })\n })\n },\n calcScrollPosition () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement\n const maxScrollTop = $el.scrollHeight - $el.offsetHeight\n\n return activeTile\n ? Math.min(maxScrollTop, Math.max(0, activeTile.offsetTop - $el.offsetHeight / 2 + activeTile.offsetHeight / 2))\n : $el.scrollTop\n },\n calcLeftAuto () {\n return parseInt(this.dimensions.activator.left - this.defaultOffset * 2)\n },\n calcTopAuto () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement | null\n\n if (!activeTile) {\n this.selectedIndex = null\n }\n\n if (this.offsetY || !activeTile) {\n return this.computedTop\n }\n\n this.selectedIndex = Array.from(this.tiles).indexOf(activeTile)\n\n const tileDistanceFromMenuTop = activeTile.offsetTop - this.calcScrollPosition()\n const firstTileOffsetTop = ($el.querySelector('.v-list-item') as HTMLElement).offsetTop\n\n return this.computedTop - tileDistanceFromMenuTop - firstTileOffsetTop - 1\n },\n changeListIndex (e: KeyboardEvent) {\n // For infinite scroll and autocomplete, re-evaluate children\n this.getTiles()\n\n if (!this.isActive || !this.hasClickableTiles) {\n return\n } else if (e.keyCode === keyCodes.tab) {\n this.isActive = false\n return\n } else if (e.keyCode === keyCodes.down) {\n this.nextTile()\n } else if (e.keyCode === keyCodes.up) {\n this.prevTile()\n } else if (e.keyCode === keyCodes.end) {\n this.lastTile()\n } else if (e.keyCode === keyCodes.home) {\n this.firstTile()\n } else if (e.keyCode === keyCodes.enter && this.listIndex !== -1) {\n this.tiles[this.listIndex].click()\n } else { return }\n // One of the conditions was met, prevent default action (#2988)\n e.preventDefault()\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n\n return this.isActive &&\n !this._isDestroyed &&\n this.closeOnClick &&\n !this.$refs.content.contains(target)\n },\n genActivatorAttributes () {\n const attributes = Activatable.options.methods.genActivatorAttributes.call(this)\n\n if (this.activeTile && this.activeTile.id) {\n return {\n ...attributes,\n 'aria-activedescendant': this.activeTile.id,\n }\n }\n\n return attributes\n },\n genActivatorListeners () {\n const listeners = Menuable.options.methods.genActivatorListeners.call(this)\n\n if (!this.disableKeys) {\n listeners.keydown = this.onKeyDown\n }\n\n return listeners\n },\n genTransition (): VNode {\n const content = this.genContent()\n\n if (!this.transition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n },\n }, [content])\n },\n genDirectives (): VNodeDirective[] {\n const directives: VNodeDirective[] = [{\n name: 'show',\n value: this.isContentActive,\n }]\n\n // Do not add click outside for hover menu\n if (!this.openOnHover && this.closeOnClick) {\n directives.push({\n name: 'click-outside',\n value: {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: () => [this.$el, ...this.getOpenDependentElements()],\n },\n })\n }\n\n return directives\n },\n genContent (): VNode {\n const options = {\n attrs: {\n ...this.getScopeIdAttrs(),\n ...this.contentProps,\n role: 'role' in this.$attrs ? this.$attrs.role : 'menu',\n },\n staticClass: 'v-menu__content',\n class: {\n ...this.rootThemeClasses,\n ...this.roundedClasses,\n 'v-menu__content--auto': this.auto,\n 'v-menu__content--fixed': this.activatorFixed,\n menuable__content__active: this.isActive,\n [this.contentClass.trim()]: true,\n },\n style: this.styles,\n directives: this.genDirectives(),\n ref: 'content',\n on: {\n click: (e: Event) => {\n const target = e.target as HTMLElement\n\n if (target.getAttribute('disabled')) return\n if (this.closeOnContentClick) this.isActive = false\n },\n keydown: this.onKeyDown,\n },\n } as VNodeData\n\n if (this.$listeners.scroll) {\n options.on = options.on || {}\n options.on.scroll = this.$listeners.scroll\n }\n\n if (!this.disabled && this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseenter = this.mouseEnterHandler\n }\n\n if (this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseleave = this.mouseLeaveHandler\n }\n\n return this.$createElement('div', options, this.getContentSlot())\n },\n getTiles () {\n if (!this.$refs.content) return\n\n this.tiles = Array.from(this.$refs.content.querySelectorAll('.v-list-item, .v-divider, .v-subheader'))\n },\n mouseEnterHandler () {\n this.runDelay('open', () => {\n if (this.hasJustFocused) return\n\n this.hasJustFocused = true\n })\n },\n mouseLeaveHandler (e: MouseEvent) {\n // Prevent accidental re-activation\n this.runDelay('close', () => {\n if (this.$refs.content?.contains(e.relatedTarget as HTMLElement)) return\n\n requestAnimationFrame(() => {\n this.isActive = false\n this.callDeactivate()\n })\n })\n },\n nextTile () {\n const tile = this.tiles[this.listIndex + 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = -1\n this.nextTile()\n\n return\n }\n\n this.listIndex++\n if (tile.tabIndex === -1) this.nextTile()\n },\n prevTile () {\n const tile = this.tiles[this.listIndex - 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = this.tiles.length\n this.prevTile()\n\n return\n }\n\n this.listIndex--\n if (tile.tabIndex === -1) this.prevTile()\n },\n lastTile () {\n const tile = this.tiles[this.tiles.length - 1]\n\n if (!tile) return\n\n this.listIndex = this.tiles.length - 1\n\n if (tile.tabIndex === -1) this.prevTile()\n },\n firstTile () {\n const tile = this.tiles[0]\n\n if (!tile) return\n\n this.listIndex = 0\n\n if (tile.tabIndex === -1) this.nextTile()\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.disableKeys) return\n\n if (e.keyCode === keyCodes.esc) {\n // Wait for dependent elements to close first\n setTimeout(() => { this.isActive = false })\n const activator = this.getActivator()\n this.$nextTick(() => activator && activator.focus())\n } else if (\n !this.isActive &&\n [keyCodes.up, keyCodes.down].includes(e.keyCode)\n ) {\n this.isActive = true\n }\n\n // Allow for isActive watcher to generate tile list\n this.$nextTick(() => this.changeListIndex(e))\n },\n onResize () {\n if (!this.isActive) return\n\n // Account for screen resize\n // and orientation change\n // eslint-disable-next-line no-unused-expressions\n this.$refs.content.offsetWidth\n this.updateDimensions()\n\n // When resizing to a smaller width\n // content width is evaluated before\n // the new activator width has been\n // set, causing it to not size properly\n // hacky but will revisit in the future\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.updateDimensions, 100)\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-menu',\n class: {\n 'v-menu--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n directives: [{\n arg: '500',\n name: 'resize',\n value: this.onResize,\n }],\n }\n\n return h('div', data, [\n !this.activator && this.genActivator(),\n this.showLazyContent(() => [\n this.$createElement(VThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [this.genTransition()]),\n ]),\n ])\n },\n})\n","import VMenu from './VMenu'\n\nexport { VMenu }\nexport default VMenu\n","// Styles\nimport './VDivider.sass'\n\n// Types\nimport { VNode } from 'vue'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\nexport default Themeable.extend({\n name: 'v-divider',\n\n props: {\n inset: Boolean,\n vertical: Boolean,\n },\n\n render (h): VNode {\n // WAI-ARIA attributes\n let orientation\n if (!this.$attrs.role || this.$attrs.role === 'separator') {\n orientation = this.vertical ? 'vertical' : 'horizontal'\n }\n return h('hr', {\n class: {\n 'v-divider': true,\n 'v-divider--inset': this.inset,\n 'v-divider--vertical': this.vertical,\n ...this.themeClasses,\n },\n attrs: {\n role: 'separator',\n 'aria-orientation': orientation,\n ...this.$attrs,\n },\n on: this.$listeners,\n })\n },\n})\n","import VDivider from './VDivider'\n\nexport { VDivider }\nexport default VDivider\n","// Styles\nimport './VSubheader.sass'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-subheader',\n\n props: {\n inset: Boolean,\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-subheader',\n class: {\n 'v-subheader--inset': this.inset,\n ...this.themeClasses,\n },\n attrs: this.$attrs,\n on: this.$listeners,\n }, this.$slots.default)\n },\n})\n","import VSubheader from './VSubheader'\n\nexport { VSubheader }\nexport default VSubheader\n","// Styles\nimport './VListItem.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Routable from '../../mixins/routable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\n\n// Directives\nimport Ripple from '../../directives/ripple'\n\n// Utilities\nimport { keyCodes } from './../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport { removed } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\nimport { PropType, PropValidator } from 'vue/types/options'\n\nconst baseMixins = mixins(\n Colorable,\n Routable,\n Themeable,\n GroupableFactory('listItemGroup'),\n ToggleableFactory('inputValue')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n isInGroup: boolean\n isInList: boolean\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-list-item',\n\n directives: {\n Ripple,\n },\n\n inject: {\n isInGroup: {\n default: false,\n },\n isInList: {\n default: false,\n },\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n inheritAttrs: false,\n\n props: {\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.listItemGroup) return ''\n\n return this.listItemGroup.activeClass\n },\n } as any as PropValidator<string>,\n dense: Boolean,\n inactive: Boolean,\n link: Boolean,\n selectable: {\n type: Boolean,\n },\n tag: {\n type: String,\n default: 'div',\n },\n threeLine: Boolean,\n twoLine: Boolean,\n value: null as any as PropType<any>,\n },\n\n data: () => ({\n proxyClass: 'v-list-item--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-list-item': true,\n ...Routable.options.computed.classes.call(this),\n 'v-list-item--dense': this.dense,\n 'v-list-item--disabled': this.disabled,\n 'v-list-item--link': this.isClickable && !this.inactive,\n 'v-list-item--selectable': this.selectable,\n 'v-list-item--three-line': this.threeLine,\n 'v-list-item--two-line': this.twoLine,\n ...this.themeClasses,\n }\n },\n isClickable (): boolean {\n return Boolean(\n Routable.options.computed.isClickable.call(this) ||\n this.listItemGroup\n )\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('avatar')) {\n removed('avatar', this)\n }\n },\n\n methods: {\n click (e: MouseEvent | KeyboardEvent) {\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n genAttrs () {\n const attrs: Record<string, any> = {\n 'aria-disabled': this.disabled ? true : undefined,\n tabindex: this.isClickable && !this.disabled ? 0 : -1,\n ...this.$attrs,\n }\n\n if (this.$attrs.hasOwnProperty('role')) {\n // do nothing, role already provided\n } else if (this.isInNav) {\n // do nothing, role is inherit\n } else if (this.isInGroup) {\n attrs.role = 'option'\n attrs['aria-selected'] = String(this.isActive)\n } else if (this.isInMenu) {\n attrs.role = this.isClickable ? 'menuitem' : undefined\n attrs.id = attrs.id || `list-item-${this._uid}`\n } else if (this.isInList) {\n attrs.role = 'listitem'\n }\n\n return attrs\n },\n toggle () {\n if (this.to && this.inputValue === undefined) {\n this.isActive = !this.isActive\n }\n this.$emit('change')\n },\n },\n\n render (h): VNode {\n let { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n ...this.genAttrs(),\n }\n data[this.to ? 'nativeOn' : 'on'] = {\n ...data[this.to ? 'nativeOn' : 'on'],\n keydown: (e: KeyboardEvent) => {\n if (!this.disabled) {\n /* istanbul ignore else */\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n }\n },\n }\n\n if (this.inactive) tag = 'div'\n if (this.inactive && this.to) {\n data.on = data.nativeOn\n delete data.nativeOn\n }\n\n const children = this.$scopedSlots.default\n ? this.$scopedSlots.default({\n active: this.isActive,\n toggle: this.toggle,\n })\n : this.$slots.default\n\n return h(tag, this.isActive ? this.setTextColor(this.color, data) : data, children)\n },\n})\n","// Types\nimport Vue, { VNode } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-list-item-action',\n\n functional: true,\n\n render (h, { data, children = [] }): VNode {\n data.staticClass = data.staticClass ? `v-list-item__action ${data.staticClass}` : 'v-list-item__action'\n const filteredChild = children.filter(VNode => {\n return VNode.isComment === false && VNode.text !== ' '\n })\n if (filteredChild.length > 1) data.staticClass += ' v-list-item__action--stack'\n\n return h('div', data, children)\n },\n})\n","// Styles\nimport './VList.sass'\nimport VListGroup from './VListGroup'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VListGroupInstance = InstanceType<typeof VListGroup>\n\ninterface options extends InstanceType<typeof VSheet> {\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default VSheet.extend<options>().extend({\n name: 'v-list',\n\n provide (): object {\n return {\n isInList: true,\n list: this,\n }\n },\n\n inject: {\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n props: {\n dense: Boolean,\n disabled: Boolean,\n expand: Boolean,\n flat: Boolean,\n nav: Boolean,\n rounded: Boolean,\n subheader: Boolean,\n threeLine: Boolean,\n twoLine: Boolean,\n },\n\n data: () => ({\n groups: [] as VListGroupInstance[],\n }),\n\n computed: {\n classes (): object {\n return {\n ...VSheet.options.computed.classes.call(this),\n 'v-list--dense': this.dense,\n 'v-list--disabled': this.disabled,\n 'v-list--flat': this.flat,\n 'v-list--nav': this.nav,\n 'v-list--rounded': this.rounded,\n 'v-list--subheader': this.subheader,\n 'v-list--two-line': this.twoLine,\n 'v-list--three-line': this.threeLine,\n }\n },\n },\n\n methods: {\n register (content: VListGroupInstance) {\n this.groups.push(content)\n },\n unregister (content: VListGroupInstance) {\n const index = this.groups.findIndex(g => g._uid === content._uid)\n\n if (index > -1) this.groups.splice(index, 1)\n },\n listClick (uid: number) {\n if (this.expand) return\n\n for (const group of this.groups) {\n group.toggle(uid)\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-list',\n class: this.classes,\n style: this.styles,\n attrs: {\n role: this.isInNav || this.isInMenu ? undefined : 'list',\n ...this.attrs$,\n },\n }\n\n return h(this.tag, this.setBackgroundColor(this.color, data), [this.$slots.default])\n },\n})\n","// Types\nimport Vue, { VNode } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-list-item-icon',\n\n functional: true,\n\n render (h, { data, children }): VNode {\n data.staticClass = (`v-list-item__icon ${data.staticClass || ''}`).trim()\n\n return h('div', data, children)\n },\n})\n","// Styles\nimport './VListGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VList from './VList'\nimport VListItem from './VListItem'\nimport VListItemIcon from './VListItemIcon'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport Toggleable from '../../mixins/toggleable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Transitions\nimport { VExpandTransition } from '../transitions'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport { Route } from 'vue-router'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Bootable,\n Colorable,\n RegistrableInject('list'),\n Toggleable\n)\n\ntype VListInstance = InstanceType<typeof VList>\n\ninterface options extends ExtractVue<typeof baseMixins> {\n list: VListInstance\n $refs: {\n group: HTMLElement\n }\n $route: Route\n}\n\nexport default baseMixins.extend<options>().extend({\n name: 'v-list-group',\n\n directives: { ripple },\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n appendIcon: {\n type: String,\n default: '$expand',\n },\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n group: [String, RegExp],\n noAction: Boolean,\n prependIcon: String,\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n subGroup: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-group--active': this.isActive,\n 'v-list-group--disabled': this.disabled,\n 'v-list-group--no-action': this.noAction,\n 'v-list-group--sub-group': this.subGroup,\n }\n },\n },\n\n watch: {\n isActive (val: boolean) {\n /* istanbul ignore else */\n if (!this.subGroup && val) {\n this.list && this.list.listClick(this._uid)\n }\n },\n $route: 'onRouteChange',\n },\n\n created () {\n this.list && this.list.register(this)\n\n if (this.group &&\n this.$route &&\n this.value == null\n ) {\n this.isActive = this.matchRoute(this.$route.path)\n }\n },\n\n beforeDestroy () {\n this.list && this.list.unregister(this)\n },\n\n methods: {\n click (e: Event) {\n if (this.disabled) return\n\n this.isBooted = true\n\n this.$emit('click', e)\n this.$nextTick(() => (this.isActive = !this.isActive))\n },\n genIcon (icon: string | false): VNode {\n return this.$createElement(VIcon, icon)\n },\n genAppendIcon (): VNode | null {\n const icon = !this.subGroup ? this.appendIcon : false\n\n if (!icon && !this.$slots.appendIcon) return null\n\n return this.$createElement(VListItemIcon, {\n staticClass: 'v-list-group__header__append-icon',\n }, [\n this.$slots.appendIcon || this.genIcon(icon),\n ])\n },\n genHeader (): VNode {\n return this.$createElement(VListItem, {\n staticClass: 'v-list-group__header',\n attrs: {\n 'aria-expanded': String(this.isActive),\n role: 'button',\n },\n class: {\n [this.activeClass]: this.isActive,\n },\n props: {\n inputValue: this.isActive,\n },\n directives: [{\n name: 'ripple',\n value: this.ripple,\n }],\n on: {\n ...this.listeners$,\n click: this.click,\n },\n }, [\n this.genPrependIcon(),\n this.$slots.activator,\n this.genAppendIcon(),\n ])\n },\n genItems (): VNode[] {\n return this.showLazyContent(() => [\n this.$createElement('div', {\n staticClass: 'v-list-group__items',\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }, getSlot(this)),\n ])\n },\n genPrependIcon (): VNode | null {\n const icon = this.subGroup && this.prependIcon == null\n ? '$subgroup'\n : this.prependIcon\n\n if (!icon && !this.$slots.prependIcon) return null\n\n return this.$createElement(VListItemIcon, {\n staticClass: 'v-list-group__header__prepend-icon',\n }, [\n this.$slots.prependIcon || this.genIcon(icon),\n ])\n },\n onRouteChange (to: Route) {\n /* istanbul ignore if */\n if (!this.group) return\n\n const isActive = this.matchRoute(to.path)\n\n /* istanbul ignore else */\n if (isActive && this.isActive !== isActive) {\n this.list && this.list.listClick(this._uid)\n }\n\n this.isActive = isActive\n },\n toggle (uid: number) {\n const isActive = this._uid === uid\n\n if (isActive) this.isBooted = true\n this.$nextTick(() => (this.isActive = isActive))\n },\n matchRoute (to: string) {\n return to.match(this.group) !== null\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.isActive && this.color, {\n staticClass: 'v-list-group',\n class: this.classes,\n }), [\n this.genHeader(),\n h(VExpandTransition, this.genItems()),\n ])\n },\n})\n","import Vue from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { deepEqual } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'comparable',\n props: {\n valueComparator: {\n type: Function,\n default: deepEqual,\n } as PropValidator<typeof deepEqual>,\n },\n})\n","// Styles\nimport './VItemGroup.sass'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Groupable from '../../mixins/groupable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue/types'\n\nexport type GroupableInstance = InstanceType<typeof Groupable> & {\n id?: string\n to?: any\n value?: any\n }\n\nexport const BaseItemGroup = mixins(\n Comparable,\n Proxyable,\n Themeable\n).extend({\n name: 'base-item-group',\n\n props: {\n activeClass: {\n type: String,\n default: 'v-item--active',\n },\n mandatory: Boolean,\n max: {\n type: [Number, String],\n default: null,\n },\n multiple: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n data () {\n return {\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n internalLazyValue: this.value !== undefined\n ? this.value\n : this.multiple ? [] : undefined,\n items: [] as GroupableInstance[],\n }\n },\n\n computed: {\n classes (): Record<string, boolean> {\n return {\n 'v-item-group': true,\n ...this.themeClasses,\n }\n },\n selectedIndex (): number {\n return (this.selectedItem && this.items.indexOf(this.selectedItem)) || -1\n },\n selectedItem (): GroupableInstance | undefined {\n if (this.multiple) return undefined\n\n return this.selectedItems[0]\n },\n selectedItems (): GroupableInstance[] {\n return this.items.filter((item, index) => {\n return this.toggleMethod(this.getValue(item, index))\n })\n },\n selectedValues (): any[] {\n if (this.internalValue == null) return []\n\n return Array.isArray(this.internalValue)\n ? this.internalValue\n : [this.internalValue]\n },\n toggleMethod (): (v: any) => boolean {\n if (!this.multiple) {\n return (v: any) => this.valueComparator(this.internalValue, v)\n }\n\n const internalValue = this.internalValue\n if (Array.isArray(internalValue)) {\n return (v: any) => internalValue.some(intern => this.valueComparator(intern, v))\n }\n\n return () => false\n },\n },\n\n watch: {\n internalValue: 'updateItemsState',\n items: 'updateItemsState',\n },\n\n created () {\n if (this.multiple && !Array.isArray(this.internalValue)) {\n consoleWarn('Model must be bound to an array if the multiple property is true.', this)\n }\n },\n\n methods: {\n\n genData (): object {\n return {\n class: this.classes,\n }\n },\n getValue (item: GroupableInstance, i: number): unknown {\n return item.value === undefined\n ? i\n : item.value\n },\n onClick (item: GroupableInstance) {\n this.updateInternalValue(\n this.getValue(item, this.items.indexOf(item))\n )\n },\n register (item: GroupableInstance) {\n const index = this.items.push(item) - 1\n\n item.$on('change', () => this.onClick(item))\n\n // If no value provided and mandatory,\n // assign first registered item\n if (this.mandatory && !this.selectedValues.length) {\n this.updateMandatory()\n }\n\n this.updateItem(item, index)\n },\n unregister (item: GroupableInstance) {\n if (this._isDestroyed) return\n\n const index = this.items.indexOf(item)\n const value = this.getValue(item, index)\n\n this.items.splice(index, 1)\n\n const valueIndex = this.selectedValues.indexOf(value)\n\n // Items is not selected, do nothing\n if (valueIndex < 0) return\n\n // If not mandatory, use regular update process\n if (!this.mandatory) {\n return this.updateInternalValue(value)\n }\n\n // Remove the value\n if (this.multiple && Array.isArray(this.internalValue)) {\n this.internalValue = this.internalValue.filter(v => v !== value)\n } else {\n this.internalValue = undefined\n }\n\n // If mandatory and we have no selection\n // add the last item as value\n /* istanbul ignore else */\n if (!this.selectedItems.length) {\n this.updateMandatory(true)\n }\n },\n updateItem (item: GroupableInstance, index: number) {\n const value = this.getValue(item, index)\n\n item.isActive = this.toggleMethod(value)\n },\n // https://github.com/vuetifyjs/vuetify/issues/5352\n updateItemsState () {\n this.$nextTick(() => {\n if (this.mandatory &&\n !this.selectedItems.length\n ) {\n return this.updateMandatory()\n }\n\n // TODO: Make this smarter so it\n // doesn't have to iterate every\n // child in an update\n this.items.forEach(this.updateItem)\n })\n },\n updateInternalValue (value: any) {\n this.multiple\n ? this.updateMultiple(value)\n : this.updateSingle(value)\n },\n updateMandatory (last?: boolean) {\n if (!this.items.length) return\n\n const items = this.items.slice()\n\n if (last) items.reverse()\n\n const item = items.find(item => !item.disabled)\n\n // If no tabs are available\n // aborts mandatory value\n if (!item) return\n\n const index = this.items.indexOf(item)\n\n this.updateInternalValue(\n this.getValue(item, index)\n )\n },\n updateMultiple (value: any) {\n const defaultValue = Array.isArray(this.internalValue)\n ? this.internalValue\n : []\n const internalValue = defaultValue.slice()\n const index = internalValue.findIndex(val => this.valueComparator(val, value))\n\n if (\n this.mandatory &&\n // Item already exists\n index > -1 &&\n // value would be reduced below min\n internalValue.length - 1 < 1\n ) return\n\n if (\n // Max is set\n this.max != null &&\n // Item doesn't exist\n index < 0 &&\n // value would be increased above max\n internalValue.length + 1 > this.max\n ) return\n\n index > -1\n ? internalValue.splice(index, 1)\n : internalValue.push(value)\n\n this.internalValue = internalValue\n },\n updateSingle (value: any) {\n const isSame = this.valueComparator(this.internalValue, value)\n\n if (this.mandatory && isSame) return\n\n this.internalValue = isSame ? undefined : value\n },\n },\n\n render (h): VNode {\n return h(this.tag, this.genData(), this.$slots.default)\n },\n})\n\nexport default BaseItemGroup.extend({\n name: 'v-item-group',\n\n provide (): object {\n return {\n itemGroup: this,\n }\n },\n})\n","// Styles\nimport './VListItemGroup.sass'\n\n// Extensions\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n BaseItemGroup,\n Colorable\n).extend({\n name: 'v-list-item-group',\n\n provide () {\n return {\n isInGroup: true,\n listItemGroup: this,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-list-item-group': true,\n }\n },\n },\n\n methods: {\n genData (): object {\n return this.setTextColor(this.color, {\n ...BaseItemGroup.options.methods.genData.call(this),\n attrs: {\n role: 'listbox',\n },\n })\n },\n },\n})\n","import './VAvatar.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Measurable from '../../mixins/measurable'\nimport Roundable from '../../mixins/roundable'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n Colorable,\n Measurable,\n Roundable,\n /* @vue/component */\n).extend({\n name: 'v-avatar',\n\n props: {\n left: Boolean,\n right: Boolean,\n size: {\n type: [Number, String],\n default: 48,\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-avatar--left': this.left,\n 'v-avatar--right': this.right,\n ...this.roundedClasses,\n }\n },\n styles (): object {\n return {\n height: convertToUnit(this.size),\n minWidth: convertToUnit(this.size),\n width: convertToUnit(this.size),\n ...this.measurableStyles,\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-avatar',\n class: this.classes,\n style: this.styles,\n on: this.$listeners,\n }\n\n return h('div', this.setBackgroundColor(this.color, data), this.$slots.default)\n },\n})\n","import VAvatar from './VAvatar'\n\nexport { VAvatar }\nexport default VAvatar\n","// Components\nimport VAvatar from '../VAvatar'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default VAvatar.extend({\n name: 'v-list-item-avatar',\n\n props: {\n horizontal: Boolean,\n size: {\n type: [Number, String],\n default: 40,\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-item__avatar--horizontal': this.horizontal,\n ...VAvatar.options.computed.classes.call(this),\n 'v-avatar--tile': this.tile || this.horizontal,\n }\n },\n },\n\n render (h): VNode {\n const render = VAvatar.options.render.call(this, h)\n\n render.data = render.data || {}\n render.data.staticClass += ' v-list-item__avatar'\n\n return render\n },\n})\n","import { createSimpleFunctional } from '../../util/helpers'\n\nimport VList from './VList'\nimport VListGroup from './VListGroup'\nimport VListItem from './VListItem'\nimport VListItemGroup from './VListItemGroup'\nimport VListItemAction from './VListItemAction'\nimport VListItemAvatar from './VListItemAvatar'\nimport VListItemIcon from './VListItemIcon'\n\nexport const VListItemActionText = createSimpleFunctional('v-list-item__action-text', 'span')\nexport const VListItemContent = createSimpleFunctional('v-list-item__content', 'div')\nexport const VListItemTitle = createSimpleFunctional('v-list-item__title', 'div')\nexport const VListItemSubtitle = createSimpleFunctional('v-list-item__subtitle', 'div')\n\nexport {\n VList,\n VListGroup,\n VListItem,\n VListItemAction,\n VListItemAvatar,\n VListItemIcon,\n VListItemGroup,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VList,\n VListGroup,\n VListItem,\n VListItemAction,\n VListItemActionText,\n VListItemAvatar,\n VListItemContent,\n VListItemGroup,\n VListItemIcon,\n VListItemSubtitle,\n VListItemTitle,\n },\n}\n","// Components\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VDivider from '../VDivider'\nimport VSubheader from '../VSubheader'\nimport {\n VList,\n VListItem,\n VListItemAction,\n VListItemContent,\n VListItemTitle,\n} from '../VList'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport { getPropertyFromItem } from '../../util/helpers'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType, VNodeChildren } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/types'\n\ntype ListTile = { item: any, disabled?: null | boolean, value?: boolean, index: number };\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-select-list',\n\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n action: Boolean,\n dense: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n itemDisabled: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'disabled',\n },\n itemText: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'text',\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value',\n },\n noDataText: String,\n noFilter: Boolean,\n searchInput: null as unknown as PropType<any>,\n selectedItems: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n },\n\n computed: {\n parsedItems (): any[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n tileActiveClass (): string {\n return Object.keys(this.setTextColor(this.color).class || {}).join(' ')\n },\n staticNoDataTile (): VNode {\n const tile = {\n attrs: {\n role: undefined,\n },\n on: {\n mousedown: (e: Event) => e.preventDefault(), // Prevent onBlur from being called\n },\n }\n\n return this.$createElement(VListItem, tile, [\n this.genTileContent(this.noDataText),\n ])\n },\n },\n\n methods: {\n genAction (item: object, inputValue: any): VNode {\n return this.$createElement(VListItemAction, [\n this.$createElement(VSimpleCheckbox, {\n props: {\n color: this.color,\n value: inputValue,\n ripple: false,\n },\n on: {\n input: () => this.$emit('select', item),\n },\n }),\n ])\n },\n genDivider (props: { [key: string]: any }) {\n return this.$createElement(VDivider, { props })\n },\n genFilteredText (text: string) {\n text = text || ''\n\n if (!this.searchInput || this.noFilter) return text\n\n const { start, middle, end } = this.getMaskedCharacters(text)\n\n return [start, this.genHighlight(middle), end]\n },\n genHeader (props: { [key: string]: any }): VNode {\n return this.$createElement(VSubheader, { props }, props.header)\n },\n genHighlight (text: string) {\n return this.$createElement('span', { staticClass: 'v-list-item__mask' }, text)\n },\n getMaskedCharacters (text: string): {\n start: string\n middle: string\n end: string\n } {\n const searchInput = (this.searchInput || '').toString().toLocaleLowerCase()\n const index = text.toLocaleLowerCase().indexOf(searchInput)\n\n if (index < 0) return { start: text, middle: '', end: '' }\n\n const start = text.slice(0, index)\n const middle = text.slice(index, index + searchInput.length)\n const end = text.slice(index + searchInput.length)\n return { start, middle, end }\n },\n genTile ({\n item,\n index,\n disabled = null,\n value = false,\n }: ListTile): VNode | VNode[] | undefined {\n if (!value) value = this.hasItem(item)\n\n if (item === Object(item)) {\n disabled = disabled !== null\n ? disabled\n : this.getDisabled(item)\n }\n\n const tile = {\n attrs: {\n // Default behavior in list does not\n // contain aria-selected by default\n 'aria-selected': String(value),\n id: `list-item-${this._uid}-${index}`,\n role: 'option',\n },\n on: {\n mousedown: (e: Event) => {\n // Prevent onBlur from being called\n e.preventDefault()\n },\n click: () => disabled || this.$emit('select', item),\n },\n props: {\n activeClass: this.tileActiveClass,\n disabled,\n ripple: true,\n inputValue: value,\n },\n }\n\n if (!this.$scopedSlots.item) {\n return this.$createElement(VListItem, tile, [\n this.action && !this.hideSelected && this.items.length > 0\n ? this.genAction(item, value)\n : null,\n this.genTileContent(item, index),\n ])\n }\n\n const parent = this\n const scopedSlot = this.$scopedSlots.item({\n parent,\n item,\n attrs: {\n ...tile.attrs,\n ...tile.props,\n },\n on: tile.on,\n })\n\n return this.needsTile(scopedSlot)\n ? this.$createElement(VListItem, tile, scopedSlot)\n : scopedSlot\n },\n genTileContent (item: any, index = 0): VNode {\n return this.$createElement(VListItemContent, [\n this.$createElement(VListItemTitle, [\n this.genFilteredText(this.getText(item)),\n ]),\n ])\n },\n hasItem (item: object) {\n return this.parsedItems.indexOf(this.getValue(item)) > -1\n },\n needsTile (slot: VNode[] | undefined) {\n return slot!.length !== 1 ||\n slot![0].componentOptions == null ||\n slot![0].componentOptions.Ctor.options.name !== 'v-list-item'\n },\n getDisabled (item: object) {\n return Boolean(getPropertyFromItem(item, this.itemDisabled, false))\n },\n getText (item: object) {\n return String(getPropertyFromItem(item, this.itemText, item))\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n },\n\n render (): VNode {\n const children: VNodeChildren = []\n const itemsLength = this.items.length\n for (let index = 0; index < itemsLength; index++) {\n const item = this.items[index]\n\n if (this.hideSelected &&\n this.hasItem(item)\n ) continue\n\n if (item == null) children.push(this.genTile({ item, index }))\n else if (item.header) children.push(this.genHeader(item))\n else if (item.divider) children.push(this.genDivider(item))\n else children.push(this.genTile({ item, index }))\n }\n\n children.length || children.push(this.$slots['no-data'] || this.staticNoDataTile)\n\n this.$slots['prepend-item'] && children.unshift(this.$slots['prepend-item'])\n\n this.$slots['append-item'] && children.push(this.$slots['append-item'])\n\n return this.$createElement(VList, {\n staticClass: 'v-select-list',\n class: this.themeClasses,\n attrs: {\n role: 'listbox',\n tabindex: -1,\n },\n props: { dense: this.dense },\n }, children)\n },\n})\n","// Styles\nimport './VLabel.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable, { functionalThemeClasses } from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n// Helpers\nimport { convertToUnit } from '../../util/helpers'\nimport mergeData from '../../util/mergeData'\n\n/* @vue/component */\nexport default mixins(Themeable).extend({\n name: 'v-label',\n\n functional: true,\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n focused: Boolean,\n for: String,\n left: {\n type: [Number, String],\n default: 0,\n },\n right: {\n type: [Number, String],\n default: 'auto',\n },\n value: Boolean,\n },\n\n render (h, ctx): VNode {\n const { children, listeners, props, data } = ctx\n const newData = mergeData({\n staticClass: 'v-label',\n class: {\n 'v-label--active': props.value,\n 'v-label--is-disabled': props.disabled,\n ...functionalThemeClasses(ctx),\n },\n attrs: {\n for: props.for,\n 'aria-hidden': !props.for,\n },\n on: listeners,\n style: {\n left: convertToUnit(props.left),\n right: convertToUnit(props.right),\n position: props.absolute ? 'absolute' : 'relative',\n },\n ref: 'label',\n }, data)\n\n return h('label', Colorable.options.methods.setTextColor(props.focused && props.color, newData), children)\n },\n})\n","import VLabel from './VLabel'\n\nexport { VLabel }\nexport default VLabel\n","import VMessages from './VMessages'\n\nexport { VMessages }\nexport default VMessages\n","// Styles\nimport './VMessages.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport mixins from '../../util/mixins'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-messages',\n\n props: {\n value: {\n type: Array,\n default: () => ([]),\n } as PropValidator<string[]>,\n },\n\n methods: {\n genChildren () {\n return this.$createElement('transition-group', {\n staticClass: 'v-messages__wrapper',\n attrs: {\n name: 'message-transition',\n tag: 'div',\n },\n }, this.value.map(this.genMessage))\n },\n genMessage (message: string, key: number) {\n return this.$createElement('div', {\n staticClass: 'v-messages__message',\n key,\n }, getSlot(this, 'default', { message, key }) || [message])\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.color, {\n staticClass: 'v-messages',\n class: this.themeClasses,\n }), [this.genChildren()])\n },\n})\n","// Mixins\nimport Colorable from '../colorable'\nimport Themeable from '../themeable'\nimport { inject as RegistrableInject } from '../registrable'\n\n// Utilities\nimport { deepEqual } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\nimport { InputMessage, InputValidationRules } from 'vuetify/types'\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject<'form', any>('form'),\n Themeable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'validatable',\n\n props: {\n disabled: {\n type: Boolean,\n default: null,\n },\n error: Boolean,\n errorCount: {\n type: [Number, String],\n default: 1,\n },\n errorMessages: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<InputMessage | null>,\n messages: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<InputMessage | null>,\n readonly: {\n type: Boolean,\n default: null,\n },\n rules: {\n type: Array,\n default: () => [],\n } as PropValidator<InputValidationRules>,\n success: Boolean,\n successMessages: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<InputMessage | null>,\n validateOnBlur: Boolean,\n value: { required: false },\n },\n\n data () {\n return {\n errorBucket: [] as string[],\n hasColor: false,\n hasFocused: false,\n hasInput: false,\n isFocused: false,\n isResetting: false,\n lazyValue: this.value,\n valid: false,\n }\n },\n\n computed: {\n computedColor (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.color) return this.color\n // It's assumed that if the input is on a\n // dark background, the user will want to\n // have a white color. If the entire app\n // is setup to be dark, then they will\n // like want to use their primary color\n if (this.isDark && !this.appIsDark) return 'white'\n else return 'primary'\n },\n hasError (): boolean {\n return (\n this.internalErrorMessages.length > 0 ||\n this.errorBucket.length > 0 ||\n this.error\n )\n },\n // TODO: Add logic that allows the user to enable based\n // upon a good validation\n hasSuccess (): boolean {\n return (\n this.internalSuccessMessages.length > 0 ||\n this.success\n )\n },\n externalError (): boolean {\n return this.internalErrorMessages.length > 0 || this.error\n },\n hasMessages (): boolean {\n return this.validationTarget.length > 0\n },\n hasState (): boolean {\n if (this.isDisabled) return false\n\n return (\n this.hasSuccess ||\n (this.shouldValidate && this.hasError)\n )\n },\n internalErrorMessages (): InputValidationRules {\n return this.genInternalMessages(this.errorMessages)\n },\n internalMessages (): InputValidationRules {\n return this.genInternalMessages(this.messages)\n },\n internalSuccessMessages (): InputValidationRules {\n return this.genInternalMessages(this.successMessages)\n },\n internalValue: {\n get (): unknown {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n\n this.$emit('input', val)\n },\n },\n isDisabled (): boolean {\n return this.disabled ?? (\n !!this.form &&\n this.form.disabled\n )\n },\n isInteractive (): boolean {\n return !this.isDisabled && !this.isReadonly\n },\n isReadonly (): boolean {\n return this.readonly ?? (\n !!this.form &&\n this.form.readonly\n )\n },\n shouldValidate (): boolean {\n if (this.externalError) return true\n if (this.isResetting) return false\n\n return this.validateOnBlur\n ? this.hasFocused && !this.isFocused\n : (this.hasInput || this.hasFocused)\n },\n validations (): InputValidationRules {\n return this.validationTarget.slice(0, Number(this.errorCount))\n },\n validationState (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor) return this.computedColor\n return undefined\n },\n validationTarget (): InputValidationRules {\n if (this.internalErrorMessages.length > 0) {\n return this.internalErrorMessages\n } else if (this.successMessages && this.successMessages.length > 0) {\n return this.internalSuccessMessages\n } else if (this.messages && this.messages.length > 0) {\n return this.internalMessages\n } else if (this.shouldValidate) {\n return this.errorBucket\n } else return []\n },\n },\n\n watch: {\n rules: {\n handler (newVal, oldVal) {\n if (deepEqual(newVal, oldVal)) return\n this.validate()\n },\n deep: true,\n },\n internalValue () {\n // If it's the first time we're setting input,\n // mark it with hasInput\n this.hasInput = true\n this.validateOnBlur || this.$nextTick(this.validate)\n },\n isFocused (val) {\n // Should not check validation\n // if disabled\n if (\n !val &&\n !this.isDisabled\n ) {\n this.hasFocused = true\n this.validateOnBlur && this.$nextTick(this.validate)\n }\n },\n isResetting () {\n setTimeout(() => {\n this.hasInput = false\n this.hasFocused = false\n this.isResetting = false\n this.validate()\n }, 0)\n },\n hasError (val) {\n if (this.shouldValidate) {\n this.$emit('update:error', val)\n }\n },\n value (val) {\n this.lazyValue = val\n },\n },\n\n beforeMount () {\n this.validate()\n },\n\n created () {\n this.form && this.form.register(this)\n },\n\n beforeDestroy () {\n this.form && this.form.unregister(this)\n },\n\n methods: {\n genInternalMessages (messages: InputMessage | null): InputValidationRules {\n if (!messages) return []\n else if (Array.isArray(messages)) return messages\n else return [messages]\n },\n /** @public */\n reset () {\n this.isResetting = true\n this.internalValue = Array.isArray(this.internalValue)\n ? []\n : null\n },\n /** @public */\n resetValidation () {\n this.isResetting = true\n },\n /** @public */\n validate (force = false, value?: any): boolean {\n const errorBucket = []\n value = value || this.internalValue\n\n if (force) this.hasInput = this.hasFocused = true\n\n for (let index = 0; index < this.rules.length; index++) {\n const rule = this.rules[index]\n const valid = typeof rule === 'function' ? rule(value) : rule\n\n if (valid === false || typeof valid === 'string') {\n errorBucket.push(valid || '')\n } else if (typeof valid !== 'boolean') {\n consoleError(`Rules should return a string or boolean, received '${typeof valid}' instead`, this)\n }\n }\n\n this.errorBucket = errorBucket\n this.valid = errorBucket.length === 0\n\n return this.valid\n },\n },\n})\n","// Styles\nimport './VInput.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VLabel from '../VLabel'\nimport VMessages from '../VMessages'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Validatable from '../../mixins/validatable'\n\n// Utilities\nimport {\n convertToUnit,\n getSlot,\n kebabCase,\n} from '../../util/helpers'\nimport mergeData from '../../util/mergeData'\n\n// Types\nimport { VNode, VNodeData, PropType } from 'vue'\nimport mixins from '../../util/mixins'\nimport { InputValidationRule } from 'vuetify/types'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Validatable,\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n /* eslint-disable-next-line camelcase */\n $_modelEvent: string\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-input',\n\n inheritAttrs: false,\n\n props: {\n appendIcon: String,\n backgroundColor: {\n type: String,\n default: '',\n },\n dense: Boolean,\n height: [Number, String],\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n hideSpinButtons: Boolean,\n hint: String,\n id: String,\n label: String,\n loading: Boolean,\n persistentHint: Boolean,\n prependIcon: String,\n value: null as any as PropType<any>,\n },\n\n data () {\n return {\n lazyValue: this.value,\n hasMouseDown: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-input--has-state': this.hasState,\n 'v-input--hide-details': !this.showDetails,\n 'v-input--is-label-active': this.isLabelActive,\n 'v-input--is-dirty': this.isDirty,\n 'v-input--is-disabled': this.isDisabled,\n 'v-input--is-focused': this.isFocused,\n // <v-switch loading>.loading === '' so we can't just cast to boolean\n 'v-input--is-loading': this.loading !== false && this.loading != null,\n 'v-input--is-readonly': this.isReadonly,\n 'v-input--dense': this.dense,\n 'v-input--hide-spin-buttons': this.hideSpinButtons,\n ...this.themeClasses,\n }\n },\n computedId (): string {\n return this.id || `input-${this._uid}`\n },\n hasDetails (): boolean {\n return this.messagesToDisplay.length > 0\n },\n hasHint (): boolean {\n return !this.hasMessages &&\n !!this.hint &&\n (this.persistentHint || this.isFocused)\n },\n hasLabel (): boolean {\n return !!(this.$slots.label || this.label)\n },\n // Proxy for `lazyValue`\n // This allows an input\n // to function without\n // a provided model\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit(this.$_modelEvent, val)\n },\n },\n isDirty (): boolean {\n return !!this.lazyValue\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n messagesToDisplay (): string[] {\n if (this.hasHint) return [this.hint]\n\n if (!this.hasMessages) return []\n\n return this.validations.map((validation: string | InputValidationRule) => {\n if (typeof validation === 'string') return validation\n\n const validationResult = validation(this.internalValue)\n\n return typeof validationResult === 'string' ? validationResult : ''\n }).filter(message => message !== '')\n },\n showDetails (): boolean {\n return this.hideDetails === false || (this.hideDetails === 'auto' && this.hasDetails)\n },\n },\n\n watch: {\n value (val) {\n this.lazyValue = val\n },\n },\n\n beforeCreate () {\n // v-radio-group needs to emit a different event\n // https://github.com/vuetifyjs/vuetify/issues/4752\n this.$_modelEvent = (this.$options.model && this.$options.model.event) || 'input'\n },\n\n methods: {\n genContent () {\n return [\n this.genPrependSlot(),\n this.genControl(),\n this.genAppendSlot(),\n ]\n },\n genControl () {\n return this.$createElement('div', {\n staticClass: 'v-input__control',\n attrs: { title: this.attrs$.title },\n }, [\n this.genInputSlot(),\n this.genMessages(),\n ])\n },\n genDefaultSlot () {\n return [\n this.genLabel(),\n this.$slots.default,\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData: VNodeData = {}\n ) {\n const icon = (this as any)[`${type}Icon`]\n const eventName = `click:${kebabCase(type)}`\n const hasListener = !!(this.listeners$[eventName] || cb)\n\n const localeKey = {\n prepend: 'prependAction',\n prependInner: 'prependAction',\n append: 'appendAction',\n appendOuter: 'appendAction',\n clear: 'clear',\n }[type]\n const label = hasListener && localeKey\n ? this.$vuetify.lang.t(`$vuetify.input.${localeKey}`, this.label ?? '')\n : undefined\n\n const data = mergeData({\n attrs: {\n 'aria-label': label,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n light: this.light,\n tabindex: type === 'clear' ? -1 : undefined,\n },\n on: !hasListener\n ? undefined\n : {\n click: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n\n this.$emit(eventName, e)\n cb && cb(e)\n },\n // Container has g event that will\n // trigger menu open if enclosed\n mouseup: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n },\n },\n }, extraData)\n\n return this.$createElement('div', {\n staticClass: `v-input__icon`,\n class: type ? `v-input__icon--${kebabCase(type)}` : undefined,\n }, [\n this.$createElement(\n VIcon,\n data,\n icon\n ),\n ])\n },\n genInputSlot () {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor, {\n staticClass: 'v-input__slot',\n style: { height: convertToUnit(this.height) },\n on: {\n click: this.onClick,\n mousedown: this.onMouseDown,\n mouseup: this.onMouseUp,\n },\n ref: 'input-slot',\n }), [this.genDefaultSlot()])\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n props: {\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: this.hasState,\n for: this.computedId,\n light: this.light,\n },\n }, this.$slots.label || this.label)\n },\n genMessages () {\n if (!this.showDetails) return null\n\n return this.$createElement(VMessages, {\n props: {\n color: this.hasHint ? '' : this.validationState,\n dark: this.dark,\n light: this.light,\n value: this.messagesToDisplay,\n },\n attrs: {\n role: this.hasMessages ? 'alert' : null,\n },\n scopedSlots: {\n default: props => getSlot(this, 'message', props),\n },\n })\n },\n genSlot (\n type: string,\n location: string,\n slot: (VNode | VNode[])[]\n ) {\n if (!slot.length) return null\n\n const ref = `${type}-${location}`\n\n return this.$createElement('div', {\n staticClass: `v-input__${ref}`,\n ref,\n }, slot)\n },\n genPrependSlot () {\n const slot = []\n\n if (this.$slots.prepend) {\n slot.push(this.$slots.prepend)\n } else if (this.prependIcon) {\n slot.push(this.genIcon('prepend'))\n }\n\n return this.genSlot('prepend', 'outer', slot)\n },\n genAppendSlot () {\n const slot = []\n\n // Append icon for text field was really\n // an appended inner icon, v-text-field\n // will overwrite this method in order to obtain\n // backwards compat\n if (this.$slots.append) {\n slot.push(this.$slots.append)\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n onClick (e: Event) {\n this.$emit('click', e)\n },\n onMouseDown (e: Event) {\n this.hasMouseDown = true\n this.$emit('mousedown', e)\n },\n onMouseUp (e: Event) {\n this.hasMouseDown = false\n this.$emit('mouseup', e)\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.validationState, {\n staticClass: 'v-input',\n class: this.classes,\n }), this.genContent())\n },\n})\n","import VInput from './VInput'\n\nexport { VInput }\nexport default VInput\n","// Styles\nimport './VCounter.sass'\n\n// Mixins\nimport Themeable, { functionalThemeClasses } from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Themeable).extend({\n name: 'v-counter',\n\n functional: true,\n\n props: {\n value: {\n type: [Number, String],\n default: '',\n },\n max: [Number, String],\n },\n\n render (h, ctx): VNode {\n const { props } = ctx\n const max = parseInt(props.max, 10)\n const value = parseInt(props.value, 10)\n const content = max ? `${value} / ${max}` : String(props.value)\n const isGreater = max && (value > max)\n\n return h('div', {\n staticClass: 'v-counter',\n class: {\n 'error--text': isGreater,\n ...functionalThemeClasses(ctx),\n },\n }, content)\n },\n})\n","import VCounter from './VCounter'\n\nexport { VCounter }\nexport default VCounter\n","// Styles\nimport './VTextField.sass'\n\n// Extensions\nimport VInput from '../VInput'\n\n// Components\nimport VCounter from '../VCounter'\nimport VLabel from '../VLabel'\n\n// Mixins\nimport Intersectable from '../../mixins/intersectable'\nimport Loadable from '../../mixins/loadable'\nimport Validatable from '../../mixins/validatable'\n\n// Directives\nimport resize from '../../directives/resize'\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { attachedRoot } from '../../util/dom'\nimport { convertToUnit, keyCodes } from '../../util/helpers'\nimport { breaking, consoleWarn } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType } from 'vue/types'\n\nconst baseMixins = mixins(\n VInput,\n Intersectable({\n onVisible: [\n 'onResize',\n 'tryAutofocus',\n ],\n }),\n Loadable,\n)\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\nconst dirtyTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-text-field',\n\n directives: {\n resize,\n ripple,\n },\n\n inheritAttrs: false,\n\n props: {\n appendOuterIcon: String,\n autofocus: Boolean,\n clearable: Boolean,\n clearIcon: {\n type: String,\n default: '$clear',\n },\n counter: [Boolean, Number, String],\n counterValue: Function as PropType<(value: any) => number>,\n filled: Boolean,\n flat: Boolean,\n fullWidth: Boolean,\n label: String,\n outlined: Boolean,\n placeholder: String,\n prefix: String,\n prependInnerIcon: String,\n persistentPlaceholder: Boolean,\n reverse: Boolean,\n rounded: Boolean,\n shaped: Boolean,\n singleLine: Boolean,\n solo: Boolean,\n soloInverted: Boolean,\n suffix: String,\n type: {\n type: String,\n default: 'text',\n },\n },\n\n data: () => ({\n badInput: false,\n labelWidth: 0,\n prefixWidth: 0,\n prependWidth: 0,\n initialValue: null,\n isBooted: false,\n isClearing: false,\n }),\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-text-field': true,\n 'v-text-field--full-width': this.fullWidth,\n 'v-text-field--prefix': this.prefix,\n 'v-text-field--single-line': this.isSingle,\n 'v-text-field--solo': this.isSolo,\n 'v-text-field--solo-inverted': this.soloInverted,\n 'v-text-field--solo-flat': this.flat,\n 'v-text-field--filled': this.filled,\n 'v-text-field--is-booted': this.isBooted,\n 'v-text-field--enclosed': this.isEnclosed,\n 'v-text-field--reverse': this.reverse,\n 'v-text-field--outlined': this.outlined,\n 'v-text-field--placeholder': this.placeholder,\n 'v-text-field--rounded': this.rounded,\n 'v-text-field--shaped': this.shaped,\n }\n },\n computedColor (): string | undefined {\n const computedColor = Validatable.options.computed.computedColor.call(this)\n\n if (!this.soloInverted || !this.isFocused) return computedColor\n\n return this.color || 'primary'\n },\n computedCounterValue (): number {\n if (typeof this.counterValue === 'function') {\n return this.counterValue(this.internalValue)\n }\n return [...(this.internalValue || '').toString()].length\n },\n hasCounter (): boolean {\n return this.counter !== false && this.counter != null\n },\n hasDetails (): boolean {\n return VInput.options.computed.hasDetails.call(this) || this.hasCounter\n },\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit('input', this.lazyValue)\n },\n },\n isDirty (): boolean {\n return this.lazyValue?.toString().length > 0 || this.badInput\n },\n isEnclosed (): boolean {\n return (\n this.filled ||\n this.isSolo ||\n this.outlined\n )\n },\n isLabelActive (): boolean {\n return this.isDirty || dirtyTypes.includes(this.type)\n },\n isSingle (): boolean {\n return (\n this.isSolo ||\n this.singleLine ||\n this.fullWidth ||\n // https://material.io/components/text-fields/#filled-text-field\n (this.filled && !this.hasLabel)\n )\n },\n isSolo (): boolean {\n return this.solo || this.soloInverted\n },\n labelPosition (): Record<'left' | 'right', string | number | undefined> {\n let offset = (this.prefix && !this.labelValue) ? this.prefixWidth : 0\n\n if (this.labelValue && this.prependWidth) offset -= this.prependWidth\n\n return (this.$vuetify.rtl === this.reverse) ? {\n left: offset,\n right: 'auto',\n } : {\n left: 'auto',\n right: offset,\n }\n },\n showLabel (): boolean {\n return this.hasLabel && !(this.isSingle && this.labelValue)\n },\n labelValue (): boolean {\n return this.isFocused || this.isLabelActive || this.persistentPlaceholder\n },\n },\n\n watch: {\n // labelValue: 'setLabelWidth', // moved to mounted, see #11533\n outlined: 'setLabelWidth',\n label () {\n this.$nextTick(this.setLabelWidth)\n },\n prefix () {\n this.$nextTick(this.setPrefixWidth)\n },\n isFocused: 'updateValue',\n value (val) {\n this.lazyValue = val\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('box')) {\n breaking('box', 'filled', this)\n }\n\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('browser-autocomplete')) {\n breaking('browser-autocomplete', 'autocomplete', this)\n }\n\n /* istanbul ignore if */\n if (this.shaped && !(this.filled || this.outlined || this.isSolo)) {\n consoleWarn('shaped should be used with either filled or outlined', this)\n }\n },\n\n mounted () {\n // #11533\n this.$watch(() => this.labelValue, this.setLabelWidth)\n this.autofocus && this.tryAutofocus()\n requestAnimationFrame(() => {\n this.isBooted = true\n requestAnimationFrame(() => {\n if (!this.isIntersecting) {\n this.onResize()\n }\n })\n })\n },\n\n methods: {\n /** @public */\n focus () {\n this.onFocus()\n },\n /** @public */\n blur (e?: Event) {\n // https://github.com/vuetifyjs/vuetify/issues/5913\n // Safari tab order gets broken if called synchronous\n window.requestAnimationFrame(() => {\n this.$refs.input && this.$refs.input.blur()\n })\n },\n clearableCallback () {\n this.$refs.input && this.$refs.input.focus()\n this.$nextTick(() => this.internalValue = null)\n },\n genAppendSlot () {\n const slot = []\n\n if (this.$slots['append-outer']) {\n slot.push(this.$slots['append-outer'] as VNode[])\n } else if (this.appendOuterIcon) {\n slot.push(this.genIcon('appendOuter'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n genPrependInnerSlot () {\n const slot = []\n\n if (this.$slots['prepend-inner']) {\n slot.push(this.$slots['prepend-inner'] as VNode[])\n } else if (this.prependInnerIcon) {\n slot.push(this.genIcon('prependInner'))\n }\n\n return this.genSlot('prepend', 'inner', slot)\n },\n genIconSlot () {\n const slot = []\n\n if (this.$slots.append) {\n slot.push(this.$slots.append as VNode[])\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'inner', slot)\n },\n genInputSlot () {\n const input = VInput.options.methods.genInputSlot.call(this)\n\n const prepend = this.genPrependInnerSlot()\n\n if (prepend) {\n input.children = input.children || []\n input.children.unshift(prepend)\n }\n\n return input\n },\n genClearIcon () {\n if (!this.clearable) return null\n\n // if the text field has no content then don't display the clear icon.\n // We add an empty div because other controls depend on a ref to append inner\n if (!this.isDirty) {\n return this.genSlot('append', 'inner', [\n this.$createElement('div'),\n ])\n }\n\n return this.genSlot('append', 'inner', [\n this.genIcon('clear', this.clearableCallback),\n ])\n },\n genCounter () {\n if (!this.hasCounter) return null\n\n const max = this.counter === true ? this.attrs$.maxlength : this.counter\n\n const props = {\n dark: this.dark,\n light: this.light,\n max,\n value: this.computedCounterValue,\n }\n\n return this.$scopedSlots.counter?.({ props }) ?? this.$createElement(VCounter, { props })\n },\n genControl () {\n return VInput.options.methods.genControl.call(this)\n },\n genDefaultSlot () {\n return [\n this.genFieldset(),\n this.genTextFieldSlot(),\n this.genClearIcon(),\n this.genIconSlot(),\n this.genProgress(),\n ]\n },\n genFieldset () {\n if (!this.outlined) return null\n\n return this.$createElement('fieldset', {\n attrs: {\n 'aria-hidden': true,\n },\n }, [this.genLegend()])\n },\n genLabel () {\n if (!this.showLabel) return null\n\n const data = {\n props: {\n absolute: true,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: !this.isSingle && (this.isFocused || !!this.validationState),\n for: this.computedId,\n left: this.labelPosition.left,\n light: this.light,\n right: this.labelPosition.right,\n value: this.labelValue,\n },\n }\n\n return this.$createElement(VLabel, data, this.$slots.label || this.label)\n },\n genLegend () {\n const width = !this.singleLine && (this.labelValue || this.isDirty) ? this.labelWidth : 0\n const span = this.$createElement('span', {\n domProps: { innerHTML: '​' },\n staticClass: 'notranslate',\n })\n\n return this.$createElement('legend', {\n style: {\n width: !this.isSingle ? convertToUnit(width) : undefined,\n },\n }, [span])\n },\n genInput () {\n const listeners = Object.assign({}, this.listeners$)\n delete listeners.change // Change should not be bound externally\n const { title, ...inputAttrs } = this.attrs$\n\n return this.$createElement('input', {\n style: {},\n domProps: {\n value: (this.type === 'number' && Object.is(this.lazyValue, -0)) ? '-0' : this.lazyValue,\n },\n attrs: {\n ...inputAttrs,\n autofocus: this.autofocus,\n disabled: this.isDisabled,\n id: this.computedId,\n placeholder: this.persistentPlaceholder || this.isFocused || !this.hasLabel ? this.placeholder : undefined,\n readonly: this.isReadonly,\n type: this.type,\n },\n on: Object.assign(listeners, {\n blur: this.onBlur,\n input: this.onInput,\n focus: this.onFocus,\n keydown: this.onKeyDown,\n }),\n ref: 'input',\n directives: [{\n name: 'resize',\n modifiers: { quiet: true },\n value: this.onResize,\n }],\n })\n },\n genMessages () {\n if (!this.showDetails) return null\n\n const messagesNode = VInput.options.methods.genMessages.call(this)\n const counterNode = this.genCounter()\n\n return this.$createElement('div', {\n staticClass: 'v-text-field__details',\n }, [\n messagesNode,\n counterNode,\n ])\n },\n genTextFieldSlot () {\n return this.$createElement('div', {\n staticClass: 'v-text-field__slot',\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n this.genInput(),\n this.suffix ? this.genAffix('suffix') : null,\n ])\n },\n genAffix (type: 'prefix' | 'suffix') {\n return this.$createElement('div', {\n class: `v-text-field__${type}`,\n ref: type,\n }, this[type])\n },\n onBlur (e?: Event) {\n this.isFocused = false\n e && this.$nextTick(() => this.$emit('blur', e))\n },\n onClick () {\n if (this.isFocused || this.isDisabled || !this.$refs.input) return\n\n this.$refs.input.focus()\n },\n onFocus (e?: Event) {\n if (!this.$refs.input) return\n\n const root = attachedRoot(this.$el)\n if (!root) return\n\n if (root.activeElement !== this.$refs.input) {\n return this.$refs.input.focus()\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n e && this.$emit('focus', e)\n }\n },\n onInput (e: Event) {\n const target = e.target as HTMLInputElement\n this.internalValue = target.value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n if (\n e.keyCode === keyCodes.enter &&\n this.lazyValue !== this.initialValue\n ) {\n this.initialValue = this.lazyValue\n this.$emit('change', this.initialValue)\n }\n\n this.$emit('keydown', e)\n },\n onMouseDown (e: Event) {\n // Prevent input from being blurred\n if (e.target !== this.$refs.input) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n VInput.options.methods.onMouseDown.call(this, e)\n },\n onMouseUp (e: Event) {\n if (this.hasMouseDown) this.focus()\n\n VInput.options.methods.onMouseUp.call(this, e)\n },\n setLabelWidth () {\n if (!this.outlined) return\n\n this.labelWidth = this.$refs.label\n ? Math.min(this.$refs.label.scrollWidth * 0.75 + 6, (this.$el as HTMLElement).offsetWidth - 24)\n : 0\n },\n setPrefixWidth () {\n if (!this.$refs.prefix) return\n\n this.prefixWidth = this.$refs.prefix.offsetWidth\n },\n setPrependWidth () {\n if (!this.outlined || !this.$refs['prepend-inner']) return\n\n this.prependWidth = this.$refs['prepend-inner'].offsetWidth\n },\n tryAutofocus () {\n if (\n !this.autofocus ||\n typeof document === 'undefined' ||\n !this.$refs.input) return false\n\n const root = attachedRoot(this.$el)\n if (!root || root.activeElement === this.$refs.input) return false\n\n this.$refs.input.focus()\n\n return true\n },\n updateValue (val: boolean) {\n // Sets validationState from validatable\n this.hasColor = val\n\n if (val) {\n this.initialValue = this.lazyValue\n } else if (this.initialValue !== this.lazyValue) {\n this.$emit('change', this.lazyValue)\n }\n },\n onResize () {\n this.setLabelWidth()\n this.setPrefixWidth()\n this.setPrependWidth()\n },\n },\n})\n","import Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'filterable',\n\n props: {\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n },\n})\n","// Styles\nimport '../VTextField/VTextField.sass'\nimport './VSelect.sass'\n\n// Components\nimport VChip from '../VChip'\nimport VMenu from '../VMenu'\nimport VSelectList from './VSelectList'\n\n// Extensions\nimport VInput from '../VInput'\nimport VTextField from '../VTextField/VTextField'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Dependent from '../../mixins/dependent'\nimport Filterable from '../../mixins/filterable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport { getPropertyFromItem, getObjectValueByPath, keyCodes } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, VNodeDirective, PropType, VNodeData } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/types'\n\nexport const defaultMenuProps = {\n closeOnClick: false,\n closeOnContentClick: false,\n disableKeys: true,\n openOnClick: false,\n maxHeight: 304,\n}\n\n// Types\nconst baseMixins = mixins(\n VTextField,\n Comparable,\n Dependent,\n Filterable\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n menu: InstanceType<typeof VMenu>\n content: HTMLElement\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n 'append-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-select',\n\n directives: {\n ClickOutside,\n },\n\n props: {\n appendIcon: {\n type: String,\n default: '$dropdown',\n },\n attach: {\n type: null as unknown as PropType<string | boolean | Element | VNode>,\n default: false,\n },\n cacheItems: Boolean,\n chips: Boolean,\n clearable: Boolean,\n deletableChips: Boolean,\n disableLookup: Boolean,\n eager: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n itemColor: {\n type: String,\n default: 'primary',\n },\n itemDisabled: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'disabled',\n },\n itemText: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'text',\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value',\n },\n menuProps: {\n type: [String, Array, Object],\n default: () => defaultMenuProps,\n },\n multiple: Boolean,\n openOnClear: Boolean,\n returnObject: Boolean,\n smallChips: Boolean,\n },\n\n data () {\n return {\n cachedItems: this.cacheItems ? this.items : [],\n menuIsBooted: false,\n isMenuActive: false,\n lastItem: 20,\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n lazyValue: this.value !== undefined\n ? this.value\n : this.multiple ? [] : undefined,\n selectedIndex: -1,\n selectedItems: [] as any[],\n keyboardLookupPrefix: '',\n keyboardLookupLastTime: 0,\n }\n },\n\n computed: {\n /* All items that the select has */\n allItems (): object[] {\n return this.filterDuplicates(this.cachedItems.concat(this.items))\n },\n classes (): object {\n return {\n ...VTextField.options.computed.classes.call(this),\n 'v-select': true,\n 'v-select--chips': this.hasChips,\n 'v-select--chips--small': this.smallChips,\n 'v-select--is-menu-active': this.isMenuActive,\n 'v-select--is-multi': this.multiple,\n }\n },\n /* Used by other components to overwrite */\n computedItems (): object[] {\n return this.allItems\n },\n computedOwns (): string {\n return `list-${this._uid}`\n },\n computedCounterValue (): number {\n const value = this.multiple\n ? this.selectedItems\n : (this.getText(this.selectedItems[0]) ?? '').toString()\n\n if (typeof this.counterValue === 'function') {\n return this.counterValue(value)\n }\n\n return value.length\n },\n directives (): VNodeDirective[] | undefined {\n return this.isFocused ? [{\n name: 'click-outside',\n value: {\n handler: this.blur,\n closeConditional: this.closeConditional,\n include: () => this.getOpenDependentElements(),\n },\n }] : undefined\n },\n dynamicHeight () {\n return 'auto'\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n hasSlot (): boolean {\n return Boolean(this.hasChips || this.$scopedSlots.selection)\n },\n isDirty (): boolean {\n return this.selectedItems.length > 0\n },\n listData (): object {\n const scopeId = this.$vnode && (this.$vnode.context!.$options as { [key: string]: any })._scopeId\n const attrs = scopeId ? {\n [scopeId]: true,\n } : {}\n\n return {\n attrs: {\n ...attrs,\n id: this.computedOwns,\n },\n props: {\n action: this.multiple,\n color: this.itemColor,\n dense: this.dense,\n hideSelected: this.hideSelected,\n items: this.virtualizedItems,\n itemDisabled: this.itemDisabled,\n itemText: this.itemText,\n itemValue: this.itemValue,\n noDataText: this.$vuetify.lang.t(this.noDataText),\n selectedItems: this.selectedItems,\n },\n on: {\n select: this.selectItem,\n },\n scopedSlots: {\n item: this.$scopedSlots.item,\n },\n }\n },\n staticList (): VNode {\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n consoleError('assert: staticList should not be called if slots are used')\n }\n\n return this.$createElement(VSelectList, this.listData)\n },\n virtualizedItems (): object[] {\n return (this.$_menuProps as any).auto\n ? this.computedItems\n : this.computedItems.slice(0, this.lastItem)\n },\n menuCanShow: () => true,\n $_menuProps (): object {\n let normalisedProps = typeof this.menuProps === 'string'\n ? this.menuProps.split(',')\n : this.menuProps\n\n if (Array.isArray(normalisedProps)) {\n normalisedProps = normalisedProps.reduce((acc, p) => {\n acc[p.trim()] = true\n return acc\n }, {})\n }\n\n return {\n ...defaultMenuProps,\n eager: this.eager,\n value: this.menuCanShow && this.isMenuActive,\n nudgeBottom: normalisedProps.offsetY ? 1 : 0, // convert to int\n ...normalisedProps,\n }\n },\n },\n\n watch: {\n internalValue (val) {\n this.initialValue = val\n this.setSelectedItems()\n\n if (this.multiple) {\n this.$nextTick(() => {\n this.$refs.menu?.updateDimensions()\n })\n }\n if (this.hideSelected) {\n this.$nextTick(() => {\n this.onScroll()\n })\n }\n },\n isMenuActive (val) {\n window.setTimeout(() => this.onMenuActiveChange(val))\n },\n items: {\n immediate: true,\n handler (val) {\n if (this.cacheItems) {\n // Breaks vue-test-utils if\n // this isn't calculated\n // on the next tick\n this.$nextTick(() => {\n this.cachedItems = this.filterDuplicates(this.cachedItems.concat(val))\n })\n }\n\n this.setSelectedItems()\n },\n },\n },\n\n methods: {\n /** @public */\n blur (e?: Event) {\n VTextField.options.methods.blur.call(this, e)\n this.isMenuActive = false\n this.isFocused = false\n this.selectedIndex = -1\n this.setMenuIndex(-1)\n },\n /** @public */\n activateMenu () {\n if (\n !this.isInteractive ||\n this.isMenuActive\n ) return\n\n this.isMenuActive = true\n },\n clearableCallback () {\n this.setValue(this.multiple ? [] : null)\n this.setMenuIndex(-1)\n this.$nextTick(() => this.$refs.input && this.$refs.input.focus())\n\n if (this.openOnClear) this.isMenuActive = true\n },\n closeConditional (e: Event) {\n if (!this.isMenuActive) return true\n\n return (\n !this._isDestroyed &&\n\n // Click originates from outside the menu content\n // Multiple selects don't close when an item is clicked\n (!this.getContent() ||\n !this.getContent().contains(e.target as Node)) &&\n\n // Click originates from outside the element\n this.$el &&\n !this.$el.contains(e.target as Node) &&\n e.target !== this.$el\n )\n },\n filterDuplicates (arr: any[]) {\n const uniqueValues = new Map()\n for (let index = 0; index < arr.length; ++index) {\n const item = arr[index]\n\n // Do not return null values if existant (#14421)\n if (item == null) {\n continue\n }\n // Do not deduplicate headers or dividers (#12517)\n if (item.header || item.divider) {\n uniqueValues.set(item, item)\n continue\n }\n\n const val = this.getValue(item)\n\n // TODO: comparator\n !uniqueValues.has(val) && uniqueValues.set(val, item)\n }\n return Array.from(uniqueValues.values())\n },\n findExistingIndex (item: object) {\n const itemValue = this.getValue(item)\n\n return (this.internalValue || []).findIndex((i: object) => this.valueComparator(this.getValue(i), itemValue))\n },\n getContent () {\n return this.$refs.menu && this.$refs.menu.$refs.content\n },\n genChipSelection (item: object, index: number) {\n const isDisabled = (\n this.isDisabled ||\n this.getDisabled(item)\n )\n const isInteractive = !isDisabled && this.isInteractive\n\n return this.$createElement(VChip, {\n staticClass: 'v-chip--select',\n attrs: { tabindex: -1 },\n props: {\n close: this.deletableChips && isInteractive,\n disabled: isDisabled,\n inputValue: index === this.selectedIndex,\n small: this.smallChips,\n },\n on: {\n click: (e: MouseEvent) => {\n if (!isInteractive) return\n\n e.stopPropagation()\n\n this.selectedIndex = index\n },\n 'click:close': () => this.onChipInput(item),\n },\n key: JSON.stringify(this.getValue(item)),\n }, this.getText(item))\n },\n genCommaSelection (item: object, index: number, last: boolean) {\n const color = index === this.selectedIndex && this.computedColor\n const isDisabled = (\n this.isDisabled ||\n this.getDisabled(item)\n )\n\n return this.$createElement('div', this.setTextColor(color, {\n staticClass: 'v-select__selection v-select__selection--comma',\n class: {\n 'v-select__selection--disabled': isDisabled,\n },\n key: JSON.stringify(this.getValue(item)),\n }), `${this.getText(item)}${last ? '' : ', '}`)\n },\n genDefaultSlot (): (VNode | VNode[] | null)[] {\n const selections = this.genSelections()\n const input = this.genInput()\n\n // If the return is an empty array\n // push the input\n if (Array.isArray(selections)) {\n selections.push(input)\n // Otherwise push it into children\n } else {\n selections.children = selections.children || []\n selections.children.push(input)\n }\n\n return [\n this.genFieldset(),\n this.$createElement('div', {\n staticClass: 'v-select__slot',\n directives: this.directives,\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n selections,\n this.suffix ? this.genAffix('suffix') : null,\n this.genClearIcon(),\n this.genIconSlot(),\n this.genHiddenInput(),\n ]),\n this.genMenu(),\n this.genProgress(),\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData?: VNodeData\n ) {\n const icon = VInput.options.methods.genIcon.call(this, type, cb, extraData)\n\n if (type === 'append') {\n // Don't allow the dropdown icon to be focused\n icon.children![0].data = mergeData(icon.children![0].data!, {\n attrs: {\n tabindex: icon.children![0].componentOptions!.listeners && '-1',\n 'aria-hidden': 'true',\n 'aria-label': undefined,\n },\n })\n }\n\n return icon\n },\n genInput (): VNode {\n const input = VTextField.options.methods.genInput.call(this)\n\n delete input.data!.attrs!.name\n\n input.data = mergeData(input.data!, {\n domProps: { value: null },\n attrs: {\n readonly: true,\n type: 'text',\n 'aria-readonly': String(this.isReadonly),\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n placeholder: (!this.isDirty && (this.persistentPlaceholder || this.isFocused || !this.hasLabel)) ? this.placeholder : undefined,\n },\n on: { keypress: this.onKeyPress },\n })\n\n return input\n },\n genHiddenInput (): VNode {\n return this.$createElement('input', {\n domProps: { value: this.lazyValue },\n attrs: {\n type: 'hidden',\n name: this.attrs$.name,\n },\n })\n },\n genInputSlot (): VNode {\n const render = VTextField.options.methods.genInputSlot.call(this)\n\n render.data!.attrs = {\n ...render.data!.attrs,\n role: 'button',\n 'aria-haspopup': 'listbox',\n 'aria-expanded': String(this.isMenuActive),\n 'aria-owns': this.computedOwns,\n }\n\n return render\n },\n genList (): VNode {\n // If there's no slots, we can use a cached VNode to improve performance\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n return this.genListWithSlot()\n } else {\n return this.staticList\n }\n },\n genListWithSlot (): VNode {\n const slots = ['prepend-item', 'no-data', 'append-item']\n .filter(slotName => this.$slots[slotName])\n .map(slotName => this.$createElement('template', {\n slot: slotName,\n }, this.$slots[slotName]))\n // Requires destructuring due to Vue\n // modifying the `on` property when passed\n // as a referenced object\n return this.$createElement(VSelectList, {\n ...this.listData,\n }, slots)\n },\n genMenu (): VNode {\n const props = this.$_menuProps as any\n props.activator = this.$refs['input-slot']\n\n if ('attach' in props) void 0\n else if (\n // TODO: make this a computed property or helper or something\n this.attach === '' || // If used as a boolean prop (<v-menu attach>)\n this.attach === true || // If bound to a boolean (<v-menu :attach=\"true\">)\n this.attach === 'attach' // If bound as boolean prop in pug (v-menu(attach))\n ) {\n // Attach to root el so that\n // menu covers prepend/append icons\n props.attach = this.$el\n } else {\n props.attach = this.attach\n }\n\n return this.$createElement(VMenu, {\n attrs: { role: undefined },\n props,\n on: {\n input: (val: boolean) => {\n this.isMenuActive = val\n this.isFocused = val\n },\n scroll: this.onScroll,\n },\n ref: 'menu',\n }, [this.genList()])\n },\n genSelections (): VNode {\n let length = this.selectedItems.length\n const children = new Array(length)\n\n let genSelection\n if (this.$scopedSlots.selection) {\n genSelection = this.genSlotSelection\n } else if (this.hasChips) {\n genSelection = this.genChipSelection\n } else {\n genSelection = this.genCommaSelection\n }\n\n while (length--) {\n children[length] = genSelection(\n this.selectedItems[length],\n length,\n length === children.length - 1\n )\n }\n\n return this.$createElement('div', {\n staticClass: 'v-select__selections',\n }, children)\n },\n genSlotSelection (item: object, index: number): VNode[] | undefined {\n return this.$scopedSlots.selection!({\n attrs: {\n class: 'v-chip--select',\n },\n parent: this,\n item,\n index,\n select: (e: Event) => {\n e.stopPropagation()\n this.selectedIndex = index\n },\n selected: index === this.selectedIndex,\n disabled: !this.isInteractive,\n })\n },\n getMenuIndex () {\n return this.$refs.menu ? (this.$refs.menu as { [key: string]: any }).listIndex : -1\n },\n getDisabled (item: object) {\n return getPropertyFromItem(item, this.itemDisabled, false)\n },\n getText (item: object) {\n return getPropertyFromItem(item, this.itemText, item)\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n onBlur (e?: Event) {\n e && this.$emit('blur', e)\n },\n onChipInput (item: object) {\n if (this.multiple) this.selectItem(item)\n else this.setValue(null)\n // If all items have been deleted,\n // open `v-menu`\n if (this.selectedItems.length === 0) {\n this.isMenuActive = true\n } else {\n this.isMenuActive = false\n }\n this.selectedIndex = -1\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) return\n\n if (!this.isAppendInner(e.target)) {\n this.isMenuActive = true\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n this.$emit('focus')\n }\n\n this.$emit('click', e)\n },\n onEscDown (e: Event) {\n e.preventDefault()\n if (this.isMenuActive) {\n e.stopPropagation()\n this.isMenuActive = false\n }\n },\n onKeyPress (e: KeyboardEvent) {\n if (\n this.multiple ||\n !this.isInteractive ||\n this.disableLookup ||\n e.key.length > 1 ||\n e.ctrlKey || e.metaKey || e.altKey\n ) return\n\n const KEYBOARD_LOOKUP_THRESHOLD = 1000 // milliseconds\n const now = performance.now()\n if (now - this.keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n this.keyboardLookupPrefix = ''\n }\n this.keyboardLookupPrefix += e.key.toLowerCase()\n this.keyboardLookupLastTime = now\n\n const index = this.allItems.findIndex(item => {\n const text = (this.getText(item) ?? '').toString()\n\n return text.toLowerCase().startsWith(this.keyboardLookupPrefix)\n })\n const item = this.allItems[index]\n if (index !== -1) {\n this.lastItem = Math.max(this.lastItem, index + 5)\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.$nextTick(() => this.$refs.menu.getTiles())\n setTimeout(() => this.setMenuIndex(index))\n }\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.isReadonly && e.keyCode !== keyCodes.tab) return\n\n const keyCode = e.keyCode\n const menu = this.$refs.menu\n\n this.$emit('keydown', e)\n\n if (!menu) return\n\n // If menu is active, allow default\n // listIndex change from menu\n if (this.isMenuActive && [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end, keyCodes.enter].includes(keyCode)) {\n this.$nextTick(() => {\n menu.changeListIndex(e)\n this.$emit('update:list-index', menu.listIndex)\n })\n }\n\n // If enter, space, open menu\n if ([\n keyCodes.enter,\n keyCodes.space,\n ].includes(keyCode)) this.activateMenu()\n\n // If menu is not active, up/down/home/end can do\n // one of 2 things. If multiple, opens the\n // menu, if not, will cycle through all\n // available options\n if (\n !this.isMenuActive &&\n [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end].includes(keyCode)\n ) return this.onUpDown(e)\n\n // If escape deactivate the menu\n if (keyCode === keyCodes.esc) return this.onEscDown(e)\n\n // If tab - select item or close menu\n if (keyCode === keyCodes.tab) return this.onTabDown(e)\n\n // If space preventDefault\n if (keyCode === keyCodes.space) return this.onSpaceDown(e)\n },\n onMenuActiveChange (val: boolean) {\n // If menu is closing and mulitple\n // or menuIndex is already set\n // skip menu index recalculation\n if (\n (this.multiple && !val) ||\n this.getMenuIndex() > -1\n ) return\n\n const menu = this.$refs.menu\n\n if (!menu || !this.isDirty) return\n\n // When menu opens, set index of first active item\n this.$refs.menu.getTiles()\n for (let i = 0; i < menu.tiles.length; i++) {\n if (menu.tiles[i].getAttribute('aria-selected') === 'true') {\n this.setMenuIndex(i)\n break\n }\n }\n },\n onMouseUp (e: MouseEvent) {\n // eslint-disable-next-line sonarjs/no-collapsible-if\n if (\n this.hasMouseDown &&\n e.which !== 3 &&\n this.isInteractive\n ) {\n // If append inner is present\n // and the target is itself\n // or inside, toggle menu\n if (this.isAppendInner(e.target)) {\n this.$nextTick(() => (this.isMenuActive = !this.isMenuActive))\n }\n }\n\n VTextField.options.methods.onMouseUp.call(this, e)\n },\n onScroll () {\n if (!this.isMenuActive) {\n requestAnimationFrame(() => (this.getContent().scrollTop = 0))\n } else {\n if (this.lastItem > this.computedItems.length) return\n\n const showMoreItems = (\n this.getContent().scrollHeight -\n (this.getContent().scrollTop +\n this.getContent().clientHeight)\n ) < 200\n\n if (showMoreItems) {\n this.lastItem += 20\n }\n }\n },\n onSpaceDown (e: KeyboardEvent) {\n e.preventDefault()\n },\n onTabDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n const activeTile = menu.activeTile\n\n // An item that is selected by\n // menu-index should toggled\n if (\n !this.multiple &&\n activeTile &&\n this.isMenuActive\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n activeTile.click()\n } else {\n // If we make it here,\n // the user has no selected indexes\n // and is probably tabbing out\n this.blur(e)\n }\n },\n onUpDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n e.preventDefault()\n\n // Multiple selects do not cycle their value\n // when pressing up or down, instead activate\n // the menu\n if (this.multiple) return this.activateMenu()\n\n const keyCode = e.keyCode\n\n // Cycle through available values to achieve\n // select native behavior\n menu.isBooted = true\n\n window.requestAnimationFrame(() => {\n menu.getTiles()\n\n if (!menu.hasClickableTiles) return this.activateMenu()\n\n switch (keyCode) {\n case keyCodes.up:\n menu.prevTile()\n break\n case keyCodes.down:\n menu.nextTile()\n break\n case keyCodes.home:\n menu.firstTile()\n break\n case keyCodes.end:\n menu.lastTile()\n break\n }\n this.selectItem(this.allItems[this.getMenuIndex()])\n })\n },\n selectItem (item: object) {\n if (!this.multiple) {\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.isMenuActive = false\n } else {\n const internalValue = (this.internalValue || []).slice()\n const i = this.findExistingIndex(item)\n\n i !== -1 ? internalValue.splice(i, 1) : internalValue.push(item)\n this.setValue(internalValue.map((i: object) => {\n return this.returnObject ? i : this.getValue(i)\n }))\n\n // There is no item to re-highlight\n // when selections are hidden\n if (this.hideSelected) {\n this.setMenuIndex(-1)\n } else {\n const index = this.allItems.indexOf(item)\n if (~index) {\n this.$nextTick(() => this.$refs.menu.getTiles())\n setTimeout(() => this.setMenuIndex(index))\n }\n }\n }\n },\n setMenuIndex (index: number) {\n this.$refs.menu && ((this.$refs.menu as { [key: string]: any }).listIndex = index)\n },\n setSelectedItems () {\n const selectedItems = []\n const values = !this.multiple || !Array.isArray(this.internalValue)\n ? [this.internalValue]\n : this.internalValue\n\n for (const value of values) {\n const index = this.allItems.findIndex(v => this.valueComparator(\n this.getValue(v),\n this.getValue(value)\n ))\n\n if (index > -1) {\n selectedItems.push(this.allItems[index])\n }\n }\n\n this.selectedItems = selectedItems\n },\n setValue (value: any) {\n if (!this.valueComparator(value, this.internalValue)) {\n this.internalValue = value\n this.$emit('change', value)\n }\n },\n isAppendInner (target: any) {\n // return true if append inner is present\n // and the target is itself or inside\n const appendInner = this.$refs['append-inner']\n\n return appendInner && (appendInner === target || appendInner.contains(target))\n },\n },\n})\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Image.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Image.vue?vue&type=script&lang=js&\"","\nimport lang from \"@/mixins/lang.js\";\nimport device from \"@/mixins/device\";\nimport dynamicPagesParentsSlugs from \"@/mixins/dynamic-pages-parents-slug\";\nexport default {\n name: \"ModulesImage\",\n mixins: [lang, device, dynamicPagesParentsSlugs],\n props: {\n /**\n * @param {endpoint} - içerik verilerinin url sorgularını saÄŸlar.\n * Vue lifecycle `fetch` sırasında @param {this.$axios} ve @param {endpoint} kullanarak\n * Tüm veriler @param {endpointData} deÄŸiÅŸkenine atanır.\n */\n section: {\n type: Object,\n },\n endpoint: {\n type: String,\n default: null,\n },\n filterslug: {\n type: String,\n },\n },\n data() {\n return {\n endpointData: null,\n cardSlider: {\n arrows: false,\n dots: false,\n infinite: false,\n focusOnSelect: false,\n speed: 500,\n swipeToSlide: true,\n slidesToScroll: 1,\n accessibility: true,\n initialSlide: 0,\n responsive: [\n {\n breakpoint: 1024,\n settings: {\n slidesToShow: 2.06,\n },\n },\n {\n breakpoint: 600,\n settings: {\n slidesToShow: 1.06,\n },\n },\n {\n breakpoint: 480,\n settings: {\n slidesToShow: 1.06,\n },\n },\n ],\n },\n getEndpoint: null,\n };\n },\n async mounted() {\n this.getEndpoint = await this.endpoint;\n },\n async fetch() {\n let modifiedEndpoint = this.endpoint;\n try {\n if (!!this.endpoint) {\n modifiedEndpoint = this.endpoint.includes(\"filterslug=true\")\n ? `${this.endpoint}${this.filterslug}`\n : this.endpoint;\n }\n\n const response = await this.$axios.get(modifiedEndpoint);\n this.endpointData = response.data.data;\n } catch (error) {\n console.error(error);\n }\n },\n};\n","import { render, staticRenderFns } from \"./Image.vue?vue&type=template&id=9deb6b12&\"\nimport script from \"./Image.vue?vue&type=script&lang=js&\"\nexport * from \"./Image.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Image.vue?vue&type=style&index=0&id=9deb6b12&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {CardsImage: require('/usr/app/components/cards/Image.vue').default})\n","\nimport lang from \"@/mixins/lang.js\";\nimport { dateMixin } from \"@/mixins/date.js\";\nimport dynamicPagesParentsSlugs from \"@/mixins/dynamic-pages-parents-slug\";\n\nexport default {\n name: \"CardsPersonList\",\n mixins: [lang, dateMixin, dynamicPagesParentsSlugs],\n props: {\n card: {\n type: Object,\n },\n },\n data() {\n return {\n cdnUrl: \"\",\n };\n },\n created() {\n this.cdnUrl = process.env.NUXT_ENV_CDN_URL;\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./PersonList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./PersonList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PersonList.vue?vue&type=template&id=d9378b92&\"\nimport script from \"./PersonList.vue?vue&type=script&lang=js&\"\nexport * from \"./PersonList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './VProgressLinear.sass'\n\n// Components\nimport {\n VFadeTransition,\n VSlideXTransition,\n} from '../transitions'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { FunctionalComponentOptions } from 'vue/types'\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n PositionableFactory(['absolute', 'fixed', 'top', 'bottom']),\n Proxyable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-progress-linear',\n\n directives: { intersect },\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n backgroundColor: {\n type: String,\n default: null,\n },\n backgroundOpacity: {\n type: [Number, String],\n default: null,\n },\n bufferValue: {\n type: [Number, String],\n default: 100,\n },\n color: {\n type: String,\n default: 'primary',\n },\n height: {\n type: [Number, String],\n default: 4,\n },\n indeterminate: Boolean,\n query: Boolean,\n reverse: Boolean,\n rounded: Boolean,\n stream: Boolean,\n striped: Boolean,\n value: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data () {\n return {\n internalLazyValue: this.value || 0,\n isVisible: true,\n }\n },\n\n computed: {\n __cachedBackground (): VNode {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor || this.color, {\n staticClass: 'v-progress-linear__background',\n style: this.backgroundStyle,\n }))\n },\n __cachedBar (): VNode {\n return this.$createElement(this.computedTransition, [this.__cachedBarType])\n },\n __cachedBarType (): VNode {\n return this.indeterminate ? this.__cachedIndeterminate : this.__cachedDeterminate\n },\n __cachedBuffer (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__buffer',\n style: this.styles,\n })\n },\n __cachedDeterminate (): VNode {\n return this.$createElement('div', this.setBackgroundColor(this.color, {\n staticClass: `v-progress-linear__determinate`,\n style: {\n width: convertToUnit(this.normalizedValue, '%'),\n },\n }))\n },\n __cachedIndeterminate (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__indeterminate',\n class: {\n 'v-progress-linear__indeterminate--active': this.active,\n },\n }, [\n this.genProgressBar('long'),\n this.genProgressBar('short'),\n ])\n },\n __cachedStream (): VNode | null {\n if (!this.stream) return null\n\n return this.$createElement('div', this.setTextColor(this.color, {\n staticClass: 'v-progress-linear__stream',\n style: {\n width: convertToUnit(100 - this.normalizedBuffer, '%'),\n },\n }))\n },\n backgroundStyle (): object {\n const backgroundOpacity = this.backgroundOpacity == null\n ? (this.backgroundColor ? 1 : 0.3)\n : parseFloat(this.backgroundOpacity)\n\n return {\n opacity: backgroundOpacity,\n [this.isReversed ? 'right' : 'left']: convertToUnit(this.normalizedValue, '%'),\n width: convertToUnit(Math.max(0, this.normalizedBuffer - this.normalizedValue), '%'),\n }\n },\n classes (): object {\n return {\n 'v-progress-linear--absolute': this.absolute,\n 'v-progress-linear--fixed': this.fixed,\n 'v-progress-linear--query': this.query,\n 'v-progress-linear--reactive': this.reactive,\n 'v-progress-linear--reverse': this.isReversed,\n 'v-progress-linear--rounded': this.rounded,\n 'v-progress-linear--striped': this.striped,\n 'v-progress-linear--visible': this.isVisible,\n ...this.themeClasses,\n }\n },\n computedTransition (): FunctionalComponentOptions {\n return this.indeterminate ? VFadeTransition : VSlideXTransition\n },\n isReversed (): boolean {\n return this.$vuetify.rtl !== this.reverse\n },\n normalizedBuffer (): number {\n return this.normalize(this.bufferValue)\n },\n normalizedValue (): number {\n return this.normalize(this.internalLazyValue)\n },\n reactive (): boolean {\n return Boolean(this.$listeners.change)\n },\n styles (): object {\n const styles: Record<string, any> = {}\n\n if (!this.active) {\n styles.height = 0\n }\n\n if (!this.indeterminate && parseFloat(this.normalizedBuffer) !== 100) {\n styles.width = convertToUnit(this.normalizedBuffer, '%')\n }\n\n return styles\n },\n },\n\n methods: {\n genContent () {\n const slot = getSlot(this, 'default', { value: this.internalLazyValue })\n\n if (!slot) return null\n\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__content',\n }, slot)\n },\n genListeners () {\n const listeners = this.$listeners\n\n if (this.reactive) {\n listeners.click = this.onClick\n }\n\n return listeners\n },\n genProgressBar (name: 'long' | 'short') {\n return this.$createElement('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-progress-linear__indeterminate',\n class: {\n [name]: true,\n },\n }))\n },\n onClick (e: MouseEvent) {\n if (!this.reactive) return\n\n const { width } = this.$el.getBoundingClientRect()\n\n this.internalValue = e.offsetX / width * 100\n },\n onObserve (entries: IntersectionObserverEntry[], observer: IntersectionObserver, isIntersecting: boolean) {\n this.isVisible = isIntersecting\n },\n normalize (value: string | number) {\n if (value < 0) return 0\n if (value > 100) return 100\n return parseFloat(value)\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-progress-linear',\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': this.normalizedBuffer,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n },\n class: this.classes,\n directives: [{\n name: 'intersect',\n value: this.onObserve,\n }],\n style: {\n bottom: this.bottom ? 0 : undefined,\n height: this.active ? convertToUnit(this.height) : 0,\n top: this.top ? 0 : undefined,\n },\n on: this.genListeners(),\n }\n\n return h('div', data, [\n this.__cachedStream,\n this.__cachedBackground,\n this.__cachedBuffer,\n this.__cachedBar,\n this.genContent(),\n ])\n },\n})\n","import VProgressLinear from './VProgressLinear'\n\nexport { VProgressLinear }\nexport default VProgressLinear\n","import Vue, { VNode } from 'vue'\nimport VProgressLinear from '../../components/VProgressLinear'\n\ninterface colorable extends Vue {\n color?: string\n}\n\n/**\n * Loadable\n *\n * @mixin\n *\n * Used to add linear progress bar to components\n * Can use a default bar with a specific color\n * or designate a custom progress linear bar\n */\n/* @vue/component */\nexport default Vue.extend<colorable>().extend({\n name: 'loadable',\n\n props: {\n loading: {\n type: [Boolean, String],\n default: false,\n },\n loaderHeight: {\n type: [Number, String],\n default: 2,\n },\n },\n\n methods: {\n genProgress (): VNode | VNode[] | null {\n if (this.loading === false) return null\n\n return this.$slots.progress || this.$createElement(VProgressLinear, {\n props: {\n absolute: true,\n color: (this.loading === true || this.loading === '')\n ? (this.color || 'primary')\n : this.loading,\n height: this.loaderHeight,\n indeterminate: true,\n },\n })\n },\n },\n})\n","// Styles\nimport './VChip.sass'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n// Components\nimport { VExpandXTransition } from '../transitions'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\nimport Routable from '../../mixins/routable'\nimport Sizeable from '../../mixins/sizeable'\n\n// Utilities\nimport { breaking } from '../../util/console'\n\n// Types\nimport { PropValidator, PropType } from 'vue/types/options'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Sizeable,\n Routable,\n Themeable,\n GroupableFactory('chipGroup'),\n ToggleableFactory('inputValue')\n).extend({\n name: 'v-chip',\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.chipGroup) return ''\n\n return this.chipGroup.activeClass\n },\n } as any as PropValidator<string>,\n close: Boolean,\n closeIcon: {\n type: String,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n disabled: Boolean,\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete',\n },\n label: Boolean,\n link: Boolean,\n outlined: Boolean,\n pill: Boolean,\n tag: {\n type: String,\n default: 'span',\n },\n textColor: String,\n value: null as any as PropType<any>,\n },\n\n data: () => ({\n proxyClass: 'v-chip--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-chip': true,\n ...Routable.options.computed.classes.call(this),\n 'v-chip--clickable': this.isClickable,\n 'v-chip--disabled': this.disabled,\n 'v-chip--draggable': this.draggable,\n 'v-chip--label': this.label,\n 'v-chip--link': this.isLink,\n 'v-chip--no-color': !this.color,\n 'v-chip--outlined': this.outlined,\n 'v-chip--pill': this.pill,\n 'v-chip--removable': this.hasClose,\n ...this.themeClasses,\n ...this.sizeableClasses,\n ...this.groupClasses,\n }\n },\n hasClose (): boolean {\n return Boolean(this.close)\n },\n isClickable (): boolean {\n return Boolean(\n Routable.options.computed.isClickable.call(this) ||\n this.chipGroup\n )\n },\n },\n\n created () {\n const breakingProps = [\n ['outline', 'outlined'],\n ['selected', 'input-value'],\n ['value', 'active'],\n ['@input', '@active.sync'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n click (e: MouseEvent): void {\n this.$emit('click', e)\n\n this.chipGroup && this.toggle()\n },\n genFilter (): VNode {\n const children = []\n\n if (this.isActive) {\n children.push(\n this.$createElement(VIcon, {\n staticClass: 'v-chip__filter',\n props: { left: true },\n }, this.filterIcon)\n )\n }\n\n return this.$createElement(VExpandXTransition, children)\n },\n genClose (): VNode {\n return this.$createElement(VIcon, {\n staticClass: 'v-chip__close',\n props: {\n right: true,\n size: 18,\n },\n attrs: {\n 'aria-label': this.$vuetify.lang.t(this.closeLabel),\n },\n on: {\n click: (e: Event) => {\n e.stopPropagation()\n e.preventDefault()\n\n this.$emit('click:close')\n this.$emit('update:active', false)\n },\n },\n }, this.closeIcon)\n },\n genContent (): VNode {\n return this.$createElement('span', {\n staticClass: 'v-chip__content',\n }, [\n this.filter && this.genFilter(),\n this.$slots.default,\n this.hasClose && this.genClose(),\n ])\n },\n },\n\n render (h): VNode {\n const children = [this.genContent()]\n let { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n draggable: this.draggable ? 'true' : undefined,\n tabindex: this.chipGroup && !this.disabled ? 0 : data.attrs!.tabindex,\n }\n data.directives!.push({\n name: 'show',\n value: this.active,\n })\n data = this.setBackgroundColor(this.color, data)\n\n const color = this.textColor || (this.outlined && this.color)\n\n return h(tag, this.setTextColor(color, data), children)\n },\n})\n","import VChip from './VChip'\n\nexport { VChip }\nexport default VChip\n","export * from \"-!../../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./HeroDetail.vue?vue&type=style&index=0&id=a89aec3c&prod&lang=scss&\"","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./PersonsList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./PersonsList.vue?vue&type=script&lang=js&\"","\nexport default {\n name: \"SectionsPersonsList\",\n props: {\n section: {\n type: Object,\n },\n },\n};\n","import { render, staticRenderFns } from \"./PersonsList.vue?vue&type=template&id=139f08cb&\"\nimport script from \"./PersonsList.vue?vue&type=script&lang=js&\"\nexport * from \"./PersonsList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {CardsPersonList: require('/usr/app/components/cards/PersonList.vue').default})\n","\nimport device from \"@/mixins/device.js\";\nimport dynamicPagesParentsSlugs from \"@/mixins/dynamic-pages-parents-slug\";\nexport default {\n name: \"HeroDetail\",\n mixins: [device, dynamicPagesParentsSlugs],\n props: {\n hero: {\n type: Object,\n },\n widget: {\n type: Object,\n },\n pageTitle: {\n type: String,\n },\n parentSlug: {\n type: String,\n },\n sideBar: {\n type: Array,\n },\n solMenu: {\n type: Array,\n },\n },\n data() {\n return {\n getEndpoint: null,\n };\n },\n async mounted() {\n this.getEndpoint = await this.hero?.endpoint?.data?.attributes?.endpoint;\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./HeroDetail.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./HeroDetail.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HeroDetail.vue?vue&type=template&id=a89aec3c&\"\nimport script from \"./HeroDetail.vue?vue&type=script&lang=js&\"\nexport * from \"./HeroDetail.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HeroDetail.vue?vue&type=style&index=0&id=a89aec3c&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {SideBarList: require('/usr/app/components/sideBar/SideBarList.vue').default,WidgetQuickLinks: require('/usr/app/components/widget/QuickLinks.vue').default,ModulesSlider: require('/usr/app/components/modules/Slider.vue').default,ModulesSliderTwo: require('/usr/app/components/modules/SliderTwo.vue').default,WidgetText: require('/usr/app/components/widget/Text.vue').default,WidgetApp: require('/usr/app/components/widget/App.vue').default})\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./SideBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./SideBar.vue?vue&type=script&lang=js&\"","\nimport { utils } from \"@/mixins/utils.js\";\nimport lang from \"@/mixins/lang.js\";\nimport device from \"@/mixins/device.js\";\nimport sidebar_endpoint from \"@/mixins/sidebar-hash-control.js\";\n\nexport default {\n name: \"SideBar\",\n mixins: [lang, device, utils, sidebar_endpoint],\n props: {\n sideBar: {\n type: Array,\n required: true,\n },\n tabs: {\n type: Array,\n },\n pageTitle: {\n type: String,\n },\n },\n data() {\n return {\n sideBarStatus: false,\n sideBarActive: null,\n sideBarIndex: null,\n };\n },\n methods: {\n icons(icon) {\n switch (icon) {\n case \"bag_shopping\":\n return \"fa-solid fa-bag-shopping\";\n break;\n case \"apple\":\n return \"fa-brands fa-apple\";\n break;\n case \"google_play\":\n return \"fa-brands fa-google-play\";\n break;\n case \"angle_down\":\n return \"fas fa-angle-down\";\n break;\n case \"angle_left\":\n return \"fas fa-angle-left\";\n break;\n case \"angle_right\":\n return \"fas fa-angle-right\";\n break;\n case \"angle_up\":\n return \"fas fa-angle-up\";\n break;\n case \"arrow_down\":\n return \"fas fa-arrow-down\";\n break;\n case \"arrow_down_to_line\":\n return \"fas fa-arrow-to-bottom\";\n break;\n case \"arrow_up\":\n return \"fas fa-arrow-up\";\n break;\n case \"bars\":\n return \"fas fa-bars\";\n break;\n case \"bars_filter\":\n return \"fas fa-bars-filter\";\n break;\n case \"bus\":\n return \"fas fa-bus\";\n break;\n case \"calendar\":\n return \"fa-regular fa-calendar\";\n break;\n case \"camera_movie\":\n return \"fa-solid fa-camera-movie\";\n break;\n case \"check\":\n return \"fas fa-check\";\n break;\n case \"cloud\":\n return \"fas fa-cloud\";\n break;\n case \"facebook\":\n return \"fa-brands fa-facebook-f\";\n break;\n case \"file_lines\":\n return \"fas fa-file-lines\";\n break;\n case \"hand_holding_heart\":\n return \"fa-solid fa-hand-holding-heart\";\n break;\n case \"hands_holding_heart\":\n return \"fa-solid fa-hands-holding-heart\";\n break;\n case \"heart\":\n return \"fas fa-heart\";\n break;\n case \"instagram\":\n return \"fa-brands fa-instagram\";\n break;\n case \"minus\":\n return \"fas fa-minus\";\n break;\n case \"linkedin\":\n return \"fa-brands fa-linkedin\";\n break;\n case \"long_arrow_right\":\n return \"fas fa-long-arrow-right\";\n break;\n case \"paintbrush_pencil\":\n return \"fa-solid fa-paintbrush-pencil\";\n break;\n case \"phone\":\n return \"fas fa-phone\";\n break;\n case \"play\":\n return \"fas fa-play\";\n break;\n case \"search\":\n return \"fas fa-search\";\n break;\n case \"search_plus\":\n return \"fas fa-search-plus\";\n break;\n case \"square_arrow_up_right\":\n return \"fa-light fa-arrow-up-right-from-square\";\n break;\n case \"times\":\n return \"fas fa-times\";\n break;\n case \"tiktok\":\n return \"fa-brands fa-tiktok\";\n break;\n case \"youtube\":\n return \"fa-brands fa-youtube\";\n break;\n case \"twitter\":\n return \"fa-brands fa-x-twitter\";\n }\n },\n sideBarMobileOpen() {\n this.sideBarStatus = !this.sideBarStatus;\n },\n sideBarOpen(index) {\n if (index === this.sideBarIndex) {\n this.sideBarActive = null;\n this.sideBarIndex = null;\n } else {\n this.sideBarActive = index;\n this.sideBarIndex = index;\n }\n },\n },\n};\n","import { render, staticRenderFns } from \"./SideBar.vue?vue&type=template&id=32b71042&\"\nimport script from \"./SideBar.vue?vue&type=script&lang=js&\"\nexport * from \"./SideBar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./HeroList.vue?vue&type=style&index=0&id=480af4d7&prod&lang=scss&\"","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","'use strict';\n// TODO: Remove from `core-js@4`\nvar DESCRIPTORS = require('../internals/descriptors');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\n\n// `Array.prototype.lastIndex` accessor\n// https://github.com/keithamus/proposal-array-last\nif (DESCRIPTORS) {\n defineBuiltInAccessor(Array.prototype, 'lastItem', {\n configurable: true,\n get: function lastItem() {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n return len == 0 ? undefined : O[len - 1];\n },\n set: function lastItem(value) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n return O[len == 0 ? 0 : len - 1] = value;\n }\n });\n\n addToUnscopables('lastItem');\n}\n","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","'use strict';\nvar isArray = require('../internals/is-array');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar bind = require('../internals/function-bind-context');\n\n// `FlattenIntoArray` abstract operation\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? bind(mapper, thisArg) : false;\n var element, elementLen;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n if (depth > 0 && isArray(element)) {\n elementLen = lengthOfArrayLike(element);\n targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1;\n } else {\n doesNotExceedSafeInteger(targetIndex + 1);\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n};\n\nmodule.exports = flattenIntoArray;\n","var $ = require('../internals/export');\nvar is = require('../internals/same-value');\n\n// `Object.is` method\n// https://tc39.es/ecma262/#sec-object.is\n$({ target: 'Object', stat: true }, {\n is: is\n});\n","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","export * from \"-!../../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./HeroBirimler.vue?vue&type=style&index=0&id=5262fb83&prod&lang=scss&\"","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","\nimport device from \"@/mixins/device.js\";\nimport dynamicPagesParentsSlugs from \"@/mixins/dynamic-pages-parents-slug\";\nexport default {\n name: \"HeroList\",\n mixins: [device, dynamicPagesParentsSlugs],\n props: {\n hero: {\n type: Object,\n },\n pageTitle: {\n type: String,\n },\n parentSlug: {\n type: String,\n },\n widget: {\n type: Object,\n },\n sideBar: {\n type: Array,\n },\n solMenu: {\n type: Array,\n },\n data: {\n type: Array,\n },\n content: {\n type: Array,\n },\n },\n data() {\n return {\n getEndpoint: null,\n };\n },\n async mounted() {\n this.getEndpoint = await this.hero?.endpoint?.data?.attributes?.endpoint;\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./HeroList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./HeroList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HeroList.vue?vue&type=template&id=480af4d7&\"\nimport script from \"./HeroList.vue?vue&type=script&lang=js&\"\nexport * from \"./HeroList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HeroList.vue?vue&type=style&index=0&id=480af4d7&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {SideBarList: require('/usr/app/components/sideBar/SideBarList.vue').default,WidgetQuickLinks: require('/usr/app/components/widget/QuickLinks.vue').default,ModulesSlider: require('/usr/app/components/modules/Slider.vue').default,ModulesSliderTwo: require('/usr/app/components/modules/SliderTwo.vue').default,ModulesList: require('/usr/app/components/modules/List.vue').default,SectionsTextSections: require('/usr/app/components/sections/TextSections.vue').default,DownloadButtons: require('/usr/app/components/DownloadButtons/DownloadButtons.vue').default,Accordion: require('/usr/app/components/accordion/Accordion.vue').default})\n","\nimport device from \"@/mixins/device.js\";\nimport sidebar_endpoint from \"@/mixins/sidebar-hash-control.js\";\nimport dynamicPagesParentsSlugs from \"@/mixins/dynamic-pages-parents-slug\";\nexport default {\n name: \"HeroBirimler\",\n mixins: [device, sidebar_endpoint, dynamicPagesParentsSlugs],\n props: {\n hero: {\n type: Object,\n },\n widget: {\n type: Object,\n },\n pageTitle: {\n type: String,\n },\n parentSlug: {\n type: String,\n },\n filterslug: {\n type: String,\n },\n sideBar: {\n type: Array,\n },\n tabs: {\n type: Array,\n },\n },\n data() {\n return {\n getEndpoint: null,\n };\n },\n async mounted() {\n this.getEndpoint = await this.hero?.endpoint?.data?.attributes?.endpoint;\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./HeroBirimler.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./HeroBirimler.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HeroBirimler.vue?vue&type=template&id=5262fb83&\"\nimport script from \"./HeroBirimler.vue?vue&type=script&lang=js&\"\nexport * from \"./HeroBirimler.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HeroBirimler.vue?vue&type=style&index=0&id=5262fb83&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {SideBar: require('/usr/app/components/sideBar/SideBar.vue').default,WidgetQuickLinks: require('/usr/app/components/widget/QuickLinks.vue').default,ModulesSlider: require('/usr/app/components/modules/Slider.vue').default,ModulesSliderTwo: require('/usr/app/components/modules/SliderTwo.vue').default})\n","\nimport lang from \"@/mixins/lang.js\";\nimport device from \"@/mixins/device.js\";\nimport dynamicPagesParentsSlugs from \"@/mixins/dynamic-pages-parents-slug\";\nexport default {\n name: \"ModulesEndpointTabs\",\n mixins: [lang, device, dynamicPagesParentsSlugs],\n props: {\n /**\n * @param {endpoint} - içerik verilerinin url sorgularını saÄŸlar.\n * Vue lifecycle `fetch` sırasında @param {this.$axios} ve @param {endpoint} kullanarak\n * Tüm veriler @param {endpointData} deÄŸiÅŸkenine atanır.\n */\n section: {\n type: Object,\n required: true,\n },\n endpoint: {\n type: String,\n required: true,\n },\n widget: {\n type: Object,\n },\n heroEnabled: {\n type: Boolean,\n },\n },\n data() {\n return {\n endpointData: null,\n pagination: {\n page: 1,\n pageSize: null,\n pageCount: null,\n },\n inputValue: \"\",\n getEndpoint: null,\n };\n },\n async mounted() {\n this.getEndpoint = await this.endpoint;\n await this.fetchData();\n },\n watch: {\n endpoint: {\n handler(newVal) {\n this.fetchData();\n },\n deep: true,\n },\n inputValue() {\n if (\n this.section.type !== \"Baskan\" ||\n this.section.type !== \"Organizasyon\" ||\n this.section.type !== \"Ihaleler\"\n )\n this.fetchData();\n },\n },\n computed: {\n params() {\n // Bu fonksiyon, `pagination` parametreleri olan URL'den sayfa ve sayfa boyutu deÄŸerlerini ayıklar.\n // Ä°lk önce URL'deki parametreleri ayrıştırmak için URLSearchParams kullanır.\n const urlParams = new URLSearchParams(this.endpoint.split(\"?\")[1]);\n\n // Varsayılan olarak sayfa 1 ve sayfa boyutu 10'dur.\n let page = 1;\n let pageSize = 10;\n\n // Sonra her bir parametre için sayfa veya sayfa boyutu olduÄŸunu kontrol eder ve gerekli deÄŸiÅŸkenleri ayarlar.\n for (const [key, value] of urlParams.entries()) {\n if (key.startsWith(\"pagination\")) {\n key == \"pageSize\"\n ? (pageSize = value)\n : key == \"page\"\n ? (page = value)\n : \"\";\n }\n }\n\n // En sonunda, sayfa ve sayfa boyutunu içeren bir obje döndürür.\n return { page, pageSize };\n },\n },\n methods: {\n async pageChanged(value) {\n // Pagination modülünden sayfa deÄŸiÅŸtiÄŸinde mevcut sayfa deÄŸeri alınır ve `fetchData` fonksiyonu tekrar çalıştırılarak içerik günceller.\n this.pagination.page = await value;\n this.fetchData();\n },\n async fetchData() {\n // TODO: `Ihaleler` için ayrı query yazılmalı. EÄŸer tüm field'lar için search yapılıyorsa bu uygulanabilir.\n let searchParams = \"\";\n if (this.inputValue.length > 0) {\n searchParams =\n this.section.type == \"Baskan\" ||\n this.section.type == \"Ihaleler\" ||\n this.section.type == \"Organizasyon\"\n ? \"\"\n : `&filters[title][$containsi]=${this.inputValue}`;\n }\n\n // Sayfalamaya(pagination) iliÅŸkin parametreleri içeren endpoint URL'sinden sayfalama parametreleri temizlenir.\n let endpoint = this.endpoint.replace(/&?pagination\\[[^\\]]+\\]=\\d+/g, \"\");\n let urlParams = new URLSearchParams(this.endpoint.split(\"?\")[1]);\n let pageSize = urlParams.get(\"pagination[pageSize]\") || 10; // Varsayılan içerik sayısı 10'dur.\n let response = null;\n // Veriler bu bilgilere göre çekilir\n if (this.section.type !== (\"Organizasyon\" || \"Baskan\")) {\n const hasQuery = endpoint?.includes(\"?\") ? \"&\" : \"?\";\n\n // Organizasyon Åžeması datası `components/sections/Organizasyon.vue` içerisinden çekilir.\n response = await this.$axios.get(\n `${endpoint}${hasQuery}pagination[page]=${\n this.pagination.page\n }&pagination[pageSize]=${pageSize}&locale=${\n this.currentLang ?? \"tr\"\n }${searchParams}`\n );\n // Sayfalama(pagination) özellikleri güncellenir\n this.pagination.pageSize = Number(pageSize);\n this.pagination.pageCount = Math.ceil(\n response.data.meta.pagination.total / this.pagination.pageSize\n );\n\n // Veriler arayüzde kullanılmak üzere `endpointData` özelliÄŸine atanır\n this.endpointData = response?.data?.data;\n }\n\n // Daire BaÅŸkanı için pagination yoktur. O nedenle fecth iÅŸlemi ayrıldı.\n if (this.section.type === \"Baskan\") {\n response = await this.$axios.get(\n `${endpoint}&locale=${this.currentLang ?? \"tr\"}`\n );\n // Veriler arayüzde kullanılmak üzere `endpointData` özelliÄŸine atanır\n this.endpointData = response?.data?.data;\n }\n this.getEndpoint = await this.endpoint;\n },\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./EndpointTabs.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./EndpointTabs.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EndpointTabs.vue?vue&type=template&id=b68cfe62&\"\nimport script from \"./EndpointTabs.vue?vue&type=script&lang=js&\"\nexport * from \"./EndpointTabs.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {CardsDefault: require('/usr/app/components/cards/Default.vue').default,CardsVideo: require('/usr/app/components/cards/Video.vue').default,CardsSlim: require('/usr/app/components/cards/Slim.vue').default,CardsPersonDetail: require('/usr/app/components/cards/PersonDetail.vue').default,SectionsOrganization: require('/usr/app/components/sections/Organization.vue').default,ButtonBox: require('/usr/app/components/button/ButtonBox.vue').default,Pagination: require('/usr/app/components/pagination/Pagination.vue').default})\n","// Helpers\nimport { wrapInArray, sortItems, deepEqual, groupItems, searchItems, fillArray } from '../../util/helpers'\nimport Vue, { VNode } from 'vue'\n\n// Types\nimport {\n DataOptions,\n DataPagination,\n DataScopeProps,\n DataSortFunction,\n DataGroupFunction,\n DataSearchFunction,\n ItemGroup,\n} from 'vuetify/types'\nimport { PropValidator } from 'vue/types/options'\n\nexport default Vue.extend({\n name: 'v-data',\n\n inheritAttrs: false,\n\n props: {\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n options: {\n type: Object,\n default: () => ({}),\n } as PropValidator<Partial<DataOptions>>,\n sortBy: {\n type: [String, Array],\n } as PropValidator<string | string[] | undefined>,\n sortDesc: {\n type: [Boolean, Array],\n } as PropValidator<boolean | boolean[] | undefined>,\n customSort: {\n type: Function,\n default: sortItems,\n } as PropValidator<DataSortFunction>,\n mustSort: Boolean,\n multiSort: Boolean,\n page: {\n type: Number,\n default: 1,\n },\n itemsPerPage: {\n type: Number,\n default: 10,\n },\n groupBy: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<string | string[]>,\n groupDesc: {\n type: [Boolean, Array],\n default: () => [],\n } as PropValidator<boolean | boolean[]>,\n customGroup: {\n type: Function,\n default: groupItems,\n } as PropValidator<DataGroupFunction>,\n locale: {\n type: String,\n default: 'en-US',\n },\n disableSort: Boolean,\n disablePagination: Boolean,\n disableFiltering: Boolean,\n search: String,\n customFilter: {\n type: Function,\n default: searchItems,\n } as PropValidator<DataSearchFunction>,\n serverItemsLength: {\n type: Number,\n default: -1,\n },\n },\n\n data () {\n let internalOptions: DataOptions = {\n page: this.page,\n itemsPerPage: this.itemsPerPage,\n sortBy: wrapInArray(this.sortBy),\n sortDesc: wrapInArray(this.sortDesc),\n groupBy: wrapInArray(this.groupBy),\n groupDesc: wrapInArray(this.groupDesc),\n mustSort: this.mustSort,\n multiSort: this.multiSort,\n }\n\n if (this.options) {\n internalOptions = Object.assign(internalOptions, this.options)\n }\n\n const { sortBy, sortDesc, groupBy, groupDesc } = internalOptions\n const sortDiff = sortBy.length - sortDesc.length\n const groupDiff = groupBy.length - groupDesc.length\n\n if (sortDiff > 0) {\n internalOptions.sortDesc.push(...fillArray(sortDiff, false))\n }\n\n if (groupDiff > 0) {\n internalOptions.groupDesc.push(...fillArray(groupDiff, false))\n }\n\n return {\n internalOptions,\n }\n },\n\n computed: {\n itemsLength (): number {\n return this.serverItemsLength >= 0 ? this.serverItemsLength : this.filteredItems.length\n },\n pageCount (): number {\n return this.internalOptions.itemsPerPage <= 0\n ? 1\n : Math.ceil(this.itemsLength / this.internalOptions.itemsPerPage)\n },\n pageStart (): number {\n if (this.internalOptions.itemsPerPage === -1 || !this.items.length) return 0\n\n return (this.internalOptions.page - 1) * this.internalOptions.itemsPerPage\n },\n pageStop (): number {\n if (this.internalOptions.itemsPerPage === -1) return this.itemsLength\n if (!this.items.length) return 0\n\n return Math.min(this.itemsLength, this.internalOptions.page * this.internalOptions.itemsPerPage)\n },\n isGrouped (): boolean {\n return !!this.internalOptions.groupBy.length\n },\n pagination (): DataPagination {\n return {\n page: this.internalOptions.page,\n itemsPerPage: this.internalOptions.itemsPerPage,\n pageStart: this.pageStart,\n pageStop: this.pageStop,\n pageCount: this.pageCount,\n itemsLength: this.itemsLength,\n }\n },\n filteredItems (): any[] {\n let items = this.items.slice()\n\n if (!this.disableFiltering && this.serverItemsLength <= 0) {\n items = this.customFilter(items, this.search)\n }\n\n return items\n },\n computedItems (): any[] {\n let items = this.filteredItems.slice()\n\n if ((!this.disableSort || this.internalOptions.groupBy.length) && this.serverItemsLength <= 0) {\n items = this.sortItems(items)\n }\n\n if (!this.disablePagination && this.serverItemsLength <= 0) {\n items = this.paginateItems(items)\n }\n\n return items\n },\n groupedItems (): ItemGroup<any>[] | null {\n return this.isGrouped ? this.groupItems(this.computedItems) : null\n },\n scopedProps (): DataScopeProps {\n return {\n sort: this.sort,\n sortArray: this.sortArray,\n group: this.group,\n items: this.computedItems,\n options: this.internalOptions,\n updateOptions: this.updateOptions,\n pagination: this.pagination,\n groupedItems: this.groupedItems,\n originalItemsLength: this.items.length,\n }\n },\n computedOptions (): DataOptions {\n return { ...this.options } as DataOptions\n },\n },\n\n watch: {\n computedOptions: {\n handler (options: DataOptions, old: DataOptions) {\n if (deepEqual(options, old)) return\n\n this.updateOptions(options)\n },\n deep: true,\n immediate: true,\n },\n internalOptions: {\n handler (options: DataOptions, old: DataOptions) {\n if (deepEqual(options, old)) return\n this.$emit('update:options', options)\n },\n deep: true,\n immediate: true,\n },\n page (page: number) {\n this.updateOptions({ page })\n },\n 'internalOptions.page' (page: number) {\n this.$emit('update:page', page)\n },\n itemsPerPage (itemsPerPage: number) {\n this.updateOptions({ itemsPerPage })\n },\n 'internalOptions.itemsPerPage' (itemsPerPage: number) {\n this.$emit('update:items-per-page', itemsPerPage)\n },\n sortBy (sortBy: string | string[]) {\n this.updateOptions({ sortBy: wrapInArray(sortBy) })\n },\n 'internalOptions.sortBy' (sortBy: string[], old: string[]) {\n !deepEqual(sortBy, old) && this.$emit('update:sort-by', Array.isArray(this.sortBy) ? sortBy : sortBy[0])\n },\n sortDesc (sortDesc: boolean | boolean[]) {\n this.updateOptions({ sortDesc: wrapInArray(sortDesc) })\n },\n 'internalOptions.sortDesc' (sortDesc: boolean[], old: boolean[]) {\n !deepEqual(sortDesc, old) && this.$emit('update:sort-desc', Array.isArray(this.sortDesc) ? sortDesc : sortDesc[0])\n },\n groupBy (groupBy: string | string[]) {\n this.updateOptions({ groupBy: wrapInArray(groupBy) })\n },\n 'internalOptions.groupBy' (groupBy: string[], old: string[]) {\n !deepEqual(groupBy, old) && this.$emit('update:group-by', Array.isArray(this.groupBy) ? groupBy : groupBy[0])\n },\n groupDesc (groupDesc: boolean | boolean[]) {\n this.updateOptions({ groupDesc: wrapInArray(groupDesc) })\n },\n 'internalOptions.groupDesc' (groupDesc: boolean[], old: boolean[]) {\n !deepEqual(groupDesc, old) && this.$emit('update:group-desc', Array.isArray(this.groupDesc) ? groupDesc : groupDesc[0])\n },\n multiSort (multiSort: boolean) {\n this.updateOptions({ multiSort })\n },\n 'internalOptions.multiSort' (multiSort: boolean) {\n this.$emit('update:multi-sort', multiSort)\n },\n mustSort (mustSort: boolean) {\n this.updateOptions({ mustSort })\n },\n 'internalOptions.mustSort' (mustSort: boolean) {\n this.$emit('update:must-sort', mustSort)\n },\n pageCount: {\n handler (pageCount: number) {\n this.$emit('page-count', pageCount)\n },\n immediate: true,\n },\n computedItems: {\n handler (computedItems: any[]) {\n this.$emit('current-items', computedItems)\n },\n immediate: true,\n },\n pagination: {\n handler (pagination: DataPagination, old: DataPagination) {\n if (deepEqual(pagination, old)) return\n this.$emit('pagination', this.pagination)\n },\n immediate: true,\n },\n },\n\n methods: {\n toggle (key: string, oldBy: string[], oldDesc: boolean[], page: number, mustSort: boolean, multiSort: boolean) {\n let by = oldBy.slice()\n let desc = oldDesc.slice()\n const byIndex = by.findIndex((k: string) => k === key)\n\n if (byIndex < 0) {\n if (!multiSort) {\n by = []\n desc = []\n }\n\n by.push(key)\n desc.push(false)\n } else if (byIndex >= 0 && !desc[byIndex]) {\n desc[byIndex] = true\n } else if (!mustSort) {\n by.splice(byIndex, 1)\n desc.splice(byIndex, 1)\n } else {\n desc[byIndex] = false\n }\n\n // Reset page to 1 if sortBy or sortDesc have changed\n if (!deepEqual(by, oldBy) || !deepEqual(desc, oldDesc)) {\n page = 1\n }\n\n return { by, desc, page }\n },\n group (key: string): void {\n const { by: groupBy, desc: groupDesc, page } = this.toggle(\n key,\n this.internalOptions.groupBy,\n this.internalOptions.groupDesc,\n this.internalOptions.page,\n true,\n false\n )\n this.updateOptions({ groupBy, groupDesc, page })\n },\n sort (key: string | string[]): void {\n if (Array.isArray(key)) return this.sortArray(key)\n\n const { by: sortBy, desc: sortDesc, page } = this.toggle(\n key,\n this.internalOptions.sortBy,\n this.internalOptions.sortDesc,\n this.internalOptions.page,\n this.internalOptions.mustSort,\n this.internalOptions.multiSort\n )\n this.updateOptions({ sortBy, sortDesc, page })\n },\n sortArray (sortBy: string[]) {\n const sortDesc = sortBy.map(s => {\n const i = this.internalOptions.sortBy.findIndex((k: string) => k === s)\n return i > -1 ? this.internalOptions.sortDesc[i] : false\n })\n\n this.updateOptions({ sortBy, sortDesc })\n },\n updateOptions (options: any) {\n this.internalOptions = {\n ...this.internalOptions,\n ...options,\n page: this.serverItemsLength < 0\n ? Math.max(1, Math.min(options.page || this.internalOptions.page, this.pageCount))\n : options.page || this.internalOptions.page,\n }\n },\n sortItems (items: any[]): any[] {\n let sortBy: string[] = []\n let sortDesc: boolean[] = []\n\n if (!this.disableSort) {\n sortBy = this.internalOptions.sortBy\n sortDesc = this.internalOptions.sortDesc\n }\n\n if (this.internalOptions.groupBy.length) {\n sortBy = [...this.internalOptions.groupBy, ...sortBy]\n sortDesc = [...this.internalOptions.groupDesc, ...sortDesc]\n }\n\n return this.customSort(items, sortBy, sortDesc, this.locale)\n },\n groupItems (items: any[]): ItemGroup<any>[] {\n return this.customGroup(items, this.internalOptions.groupBy, this.internalOptions.groupDesc)\n },\n paginateItems (items: any[]): any[] {\n // Make sure we don't try to display non-existant page if items suddenly change\n // TODO: Could possibly move this to pageStart/pageStop?\n if (this.serverItemsLength === -1 && items.length <= this.pageStart) {\n this.internalOptions.page = Math.max(1, Math.ceil(items.length / this.internalOptions.itemsPerPage)) || 1 // Prevent NaN\n }\n\n return items.slice(this.pageStart, this.pageStop)\n },\n },\n\n render (): VNode {\n return this.$scopedSlots.default && this.$scopedSlots.default(this.scopedProps) as any\n },\n})\n","import VSheet from './VSheet'\n\nexport { VSheet }\nexport default VSheet\n","import VProgressCircular from './VProgressCircular'\n\nexport { VProgressCircular }\nexport default VProgressCircular\n","// Styles\nimport './VProgressCircular.sass'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utils\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeChildren } from 'vue'\n\n/* @vue/component */\nexport default Colorable.extend({\n name: 'v-progress-circular',\n\n directives: { intersect },\n\n props: {\n button: Boolean,\n indeterminate: Boolean,\n rotate: {\n type: [Number, String],\n default: 0,\n },\n size: {\n type: [Number, String],\n default: 32,\n },\n width: {\n type: [Number, String],\n default: 4,\n },\n value: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data: () => ({\n radius: 20,\n isVisible: true,\n }),\n\n computed: {\n calculatedSize (): number {\n return Number(this.size) + (this.button ? 8 : 0)\n },\n\n circumference (): number {\n return 2 * Math.PI * this.radius\n },\n\n classes (): object {\n return {\n 'v-progress-circular--visible': this.isVisible,\n 'v-progress-circular--indeterminate': this.indeterminate,\n 'v-progress-circular--button': this.button,\n }\n },\n\n normalizedValue (): number {\n if (this.value < 0) {\n return 0\n }\n\n if (this.value > 100) {\n return 100\n }\n\n return parseFloat(this.value)\n },\n\n strokeDashArray (): number {\n return Math.round(this.circumference * 1000) / 1000\n },\n\n strokeDashOffset (): string {\n return ((100 - this.normalizedValue) / 100) * this.circumference + 'px'\n },\n\n strokeWidth (): number {\n return Number(this.width) / +this.size * this.viewBoxSize * 2\n },\n\n styles (): object {\n return {\n height: convertToUnit(this.calculatedSize),\n width: convertToUnit(this.calculatedSize),\n }\n },\n\n svgStyles (): object {\n return {\n transform: `rotate(${Number(this.rotate)}deg)`,\n }\n },\n\n viewBoxSize (): number {\n return this.radius / (1 - Number(this.width) / +this.size)\n },\n },\n\n methods: {\n genCircle (name: string, offset: string | number): VNode {\n return this.$createElement('circle', {\n class: `v-progress-circular__${name}`,\n attrs: {\n fill: 'transparent',\n cx: 2 * this.viewBoxSize,\n cy: 2 * this.viewBoxSize,\n r: this.radius,\n 'stroke-width': this.strokeWidth,\n 'stroke-dasharray': this.strokeDashArray,\n 'stroke-dashoffset': offset,\n },\n })\n },\n genSvg (): VNode {\n const children = [\n this.indeterminate || this.genCircle('underlay', 0),\n this.genCircle('overlay', this.strokeDashOffset),\n ] as VNodeChildren\n\n return this.$createElement('svg', {\n style: this.svgStyles,\n attrs: {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: `${this.viewBoxSize} ${this.viewBoxSize} ${2 * this.viewBoxSize} ${2 * this.viewBoxSize}`,\n },\n }, children)\n },\n genInfo (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-progress-circular__info',\n }, this.$slots.default)\n },\n onObserve (entries: IntersectionObserverEntry[], observer: IntersectionObserver, isIntersecting: boolean) {\n this.isVisible = isIntersecting\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.color, {\n staticClass: 'v-progress-circular',\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': 100,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n },\n class: this.classes,\n directives: [{\n name: 'intersect',\n value: this.onObserve,\n }],\n style: this.styles,\n on: this.$listeners,\n }), [\n this.genSvg(),\n this.genInfo(),\n ])\n },\n})\n","// Styles\nimport './VBtn.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VProgressCircular from '../VProgressCircular'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\nimport Elevatable from '../../mixins/elevatable'\nimport Positionable from '../../mixins/positionable'\nimport Routable from '../../mixins/routable'\nimport Sizeable from '../../mixins/sizeable'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator, PropType } from 'vue/types/options'\nimport { RippleOptions } from '../../directives/ripple'\n\nconst baseMixins = mixins(\n VSheet,\n Routable,\n Positionable,\n Sizeable,\n GroupableFactory('btnToggle'),\n ToggleableFactory('inputValue')\n /* @vue/component */\n)\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n}\n\nexport default baseMixins.extend<options>().extend({\n name: 'v-btn',\n\n props: {\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.btnToggle) return ''\n\n return this.btnToggle.activeClass\n },\n } as any as PropValidator<string>,\n block: Boolean,\n depressed: Boolean,\n fab: Boolean,\n icon: Boolean,\n loading: Boolean,\n outlined: Boolean,\n plain: Boolean,\n retainFocusOnClick: Boolean,\n rounded: Boolean,\n tag: {\n type: String,\n default: 'button',\n },\n text: Boolean,\n tile: Boolean,\n type: {\n type: String,\n default: 'button',\n },\n value: null as any as PropType<any>,\n },\n\n data: () => ({\n proxyClass: 'v-btn--active',\n }),\n\n computed: {\n classes (): any {\n return {\n 'v-btn': true,\n ...Routable.options.computed.classes.call(this),\n 'v-btn--absolute': this.absolute,\n 'v-btn--block': this.block,\n 'v-btn--bottom': this.bottom,\n 'v-btn--disabled': this.disabled,\n 'v-btn--is-elevated': this.isElevated,\n 'v-btn--fab': this.fab,\n 'v-btn--fixed': this.fixed,\n 'v-btn--has-bg': this.hasBg,\n 'v-btn--icon': this.icon,\n 'v-btn--left': this.left,\n 'v-btn--loading': this.loading,\n 'v-btn--outlined': this.outlined,\n 'v-btn--plain': this.plain,\n 'v-btn--right': this.right,\n 'v-btn--round': this.isRound,\n 'v-btn--rounded': this.rounded,\n 'v-btn--router': this.to,\n 'v-btn--text': this.text,\n 'v-btn--tile': this.tile,\n 'v-btn--top': this.top,\n ...this.themeClasses,\n ...this.groupClasses,\n ...this.elevationClasses,\n ...this.sizeableClasses,\n }\n },\n computedElevation (): string | number | undefined {\n if (this.disabled) return undefined\n\n return Elevatable.options.computed.computedElevation.call(this)\n },\n computedRipple (): RippleOptions | boolean {\n const defaultRipple = this.icon || this.fab ? { circle: true } : true\n if (this.disabled) return false\n else return this.ripple ?? defaultRipple\n },\n hasBg (): boolean {\n return !this.text && !this.plain && !this.outlined && !this.icon\n },\n isElevated (): boolean {\n return Boolean(\n !this.icon &&\n !this.text &&\n !this.outlined &&\n !this.depressed &&\n !this.disabled &&\n !this.plain &&\n (this.elevation == null || Number(this.elevation) > 0)\n )\n },\n isRound (): boolean {\n return Boolean(\n this.icon ||\n this.fab\n )\n },\n styles (): object {\n return {\n ...this.measurableStyles,\n }\n },\n },\n\n created () {\n const breakingProps = [\n ['flat', 'text'],\n ['outline', 'outlined'],\n ['round', 'rounded'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n click (e: MouseEvent): void {\n // TODO: Remove this in v3\n !this.retainFocusOnClick && !this.fab && e.detail && this.$el.blur()\n this.$emit('click', e)\n\n this.btnToggle && this.toggle()\n },\n genContent (): VNode {\n return this.$createElement('span', {\n staticClass: 'v-btn__content',\n }, this.$slots.default)\n },\n genLoader (): VNode {\n return this.$createElement('span', {\n class: 'v-btn__loader',\n }, this.$slots.loader || [this.$createElement(VProgressCircular, {\n props: {\n indeterminate: true,\n size: 23,\n width: 2,\n },\n })])\n },\n },\n\n render (h): VNode {\n const children = [\n this.genContent(),\n this.loading && this.genLoader(),\n ]\n const { tag, data } = this.generateRouteLink()\n const setColor = this.hasBg\n ? this.setBackgroundColor\n : this.setTextColor\n\n if (tag === 'button') {\n data.attrs!.type = this.type\n data.attrs!.disabled = this.disabled\n }\n data.attrs!.value = ['string', 'number'].includes(typeof this.value)\n ? this.value\n : JSON.stringify(this.value)\n\n return h(tag, this.disabled ? data : setColor(this.color, data), children)\n },\n})\n","import VBtn from './VBtn'\n\nexport { VBtn }\nexport default VBtn\n","import './VDataFooter.sass'\n\n// Components\nimport VSelect from '../VSelect/VSelect'\nimport VIcon from '../VIcon'\nimport VBtn from '../VBtn'\n\n// Types\nimport Vue, { VNode, VNodeChildrenArrayContents, PropType } from 'vue'\nimport { DataPagination, DataOptions, DataItemsPerPageOption } from 'vuetify/types'\nimport { PropValidator } from 'vue/types/options'\nimport { getSlot } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'v-data-footer',\n\n props: {\n options: {\n type: Object as PropType<DataOptions>,\n required: true,\n },\n pagination: {\n type: Object as PropType<DataPagination>,\n required: true,\n },\n itemsPerPageOptions: {\n type: Array,\n default: () => ([5, 10, 15, -1]),\n } as PropValidator<DataItemsPerPageOption[]>,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n firstIcon: {\n type: String,\n default: '$first',\n },\n lastIcon: {\n type: String,\n default: '$last',\n },\n itemsPerPageText: {\n type: String,\n default: '$vuetify.dataFooter.itemsPerPageText',\n },\n itemsPerPageAllText: {\n type: String,\n default: '$vuetify.dataFooter.itemsPerPageAll',\n },\n showFirstLastPage: Boolean,\n showCurrentPage: Boolean,\n disablePagination: Boolean,\n disableItemsPerPage: Boolean,\n pageText: {\n type: String,\n default: '$vuetify.dataFooter.pageText',\n },\n },\n\n computed: {\n disableNextPageIcon (): boolean {\n return this.options.itemsPerPage <= 0 ||\n this.options.page * this.options.itemsPerPage >= this.pagination.itemsLength ||\n this.pagination.pageStop < 0\n },\n computedDataItemsPerPageOptions (): any[] {\n return this.itemsPerPageOptions.map(option => {\n if (typeof option === 'object') return option\n else return this.genDataItemsPerPageOption(option)\n })\n },\n },\n\n methods: {\n updateOptions (obj: object) {\n this.$emit('update:options', Object.assign({}, this.options, obj))\n },\n onFirstPage () {\n this.updateOptions({ page: 1 })\n },\n onPreviousPage () {\n this.updateOptions({ page: this.options.page - 1 })\n },\n onNextPage () {\n this.updateOptions({ page: this.options.page + 1 })\n },\n onLastPage () {\n this.updateOptions({ page: this.pagination.pageCount })\n },\n onChangeItemsPerPage (itemsPerPage: number) {\n this.updateOptions({ itemsPerPage, page: 1 })\n },\n genDataItemsPerPageOption (option: number) {\n return {\n text: option === -1 ? this.$vuetify.lang.t(this.itemsPerPageAllText) : String(option),\n value: option,\n }\n },\n genItemsPerPageSelect () {\n let value = this.options.itemsPerPage\n const computedIPPO = this.computedDataItemsPerPageOptions\n\n if (computedIPPO.length <= 1) return null\n\n if (!computedIPPO.find(ippo => ippo.value === value)) value = computedIPPO[0]\n\n return this.$createElement('div', {\n staticClass: 'v-data-footer__select',\n }, [\n this.$vuetify.lang.t(this.itemsPerPageText),\n this.$createElement(VSelect, {\n attrs: {\n 'aria-label': this.$vuetify.lang.t(this.itemsPerPageText),\n },\n props: {\n disabled: this.disableItemsPerPage,\n items: computedIPPO,\n value,\n hideDetails: true,\n auto: true,\n minWidth: '75px',\n },\n on: {\n input: this.onChangeItemsPerPage,\n },\n }),\n ])\n },\n genPaginationInfo () {\n let children: VNodeChildrenArrayContents = ['–']\n const itemsLength: number = this.pagination.itemsLength\n let pageStart: number = this.pagination.pageStart\n let pageStop: number = this.pagination.pageStop\n\n if (this.pagination.itemsLength && this.pagination.itemsPerPage) {\n pageStart = this.pagination.pageStart + 1\n pageStop = itemsLength < this.pagination.pageStop || this.pagination.pageStop < 0\n ? itemsLength\n : this.pagination.pageStop\n\n children = this.$scopedSlots['page-text']\n ? [this.$scopedSlots['page-text']!({ pageStart, pageStop, itemsLength })]\n : [this.$vuetify.lang.t(this.pageText, pageStart, pageStop, itemsLength)]\n } else if (this.$scopedSlots['page-text']) {\n children = [this.$scopedSlots['page-text']!({ pageStart, pageStop, itemsLength })]\n }\n\n return this.$createElement('div', {\n class: 'v-data-footer__pagination',\n }, children)\n },\n genIcon (click: Function, disabled: boolean, label: string, icon: string): VNode {\n return this.$createElement(VBtn, {\n props: {\n disabled: disabled || this.disablePagination,\n icon: true,\n text: true,\n // dark: this.dark, // TODO: add mixin\n // light: this.light // TODO: add mixin\n },\n on: {\n click,\n },\n attrs: {\n 'aria-label': label, // TODO: Localization\n },\n }, [this.$createElement(VIcon, icon)])\n },\n genIcons () {\n const before: VNodeChildrenArrayContents = []\n const after: VNodeChildrenArrayContents = []\n\n before.push(this.genIcon(\n this.onPreviousPage,\n this.options.page === 1,\n this.$vuetify.lang.t('$vuetify.dataFooter.prevPage'),\n this.$vuetify.rtl ? this.nextIcon : this.prevIcon\n ))\n\n after.push(this.genIcon(\n this.onNextPage,\n this.disableNextPageIcon,\n this.$vuetify.lang.t('$vuetify.dataFooter.nextPage'),\n this.$vuetify.rtl ? this.prevIcon : this.nextIcon\n ))\n\n if (this.showFirstLastPage) {\n before.unshift(this.genIcon(\n this.onFirstPage,\n this.options.page === 1,\n this.$vuetify.lang.t('$vuetify.dataFooter.firstPage'),\n this.$vuetify.rtl ? this.lastIcon : this.firstIcon\n ))\n\n after.push(this.genIcon(\n this.onLastPage,\n this.options.page >= this.pagination.pageCount || this.options.itemsPerPage === -1,\n this.$vuetify.lang.t('$vuetify.dataFooter.lastPage'),\n this.$vuetify.rtl ? this.firstIcon : this.lastIcon\n ))\n }\n\n return [\n this.$createElement('div', {\n staticClass: 'v-data-footer__icons-before',\n }, before),\n this.showCurrentPage && this.$createElement('span', [this.options.page.toString()]),\n this.$createElement('div', {\n staticClass: 'v-data-footer__icons-after',\n }, after),\n ]\n },\n },\n\n render (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-data-footer',\n }, [\n getSlot(this, 'prepend'),\n this.genItemsPerPageSelect(),\n this.genPaginationInfo(),\n this.genIcons(),\n ])\n },\n})\n","// Types\nimport { BreakpointName } from 'vuetify/types/services/breakpoint'\nimport { deprecate } from '../../util/console'\nimport Vue, { PropType } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'mobile',\n\n props: {\n mobileBreakpoint: {\n type: [Number, String] as PropType<number | BreakpointName>,\n default (): number | BreakpointName | undefined {\n // Avoid destroying unit\n // tests for users\n return this.$vuetify\n ? this.$vuetify.breakpoint.mobileBreakpoint\n : undefined\n },\n validator: v => (\n !isNaN(Number(v)) ||\n ['xs', 'sm', 'md', 'lg', 'xl'].includes(String(v))\n ),\n },\n },\n\n computed: {\n isMobile (): boolean {\n const {\n mobile,\n width,\n name,\n mobileBreakpoint,\n } = this.$vuetify.breakpoint\n\n // Check if local mobileBreakpoint matches\n // the application's mobileBreakpoint\n if (mobileBreakpoint === this.mobileBreakpoint) return mobile\n\n const mobileWidth = parseInt(this.mobileBreakpoint, 10)\n const isNumber = !isNaN(mobileWidth)\n\n return isNumber\n ? width < mobileWidth\n : name === this.mobileBreakpoint\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('mobile-break-point')) {\n deprecate('mobile-break-point', 'mobile-breakpoint', this)\n }\n },\n})\n","// Components\nimport { VData } from '../VData'\nimport VDataFooter from './VDataFooter'\n\n// Mixins\nimport Mobile from '../../mixins/mobile'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { deepEqual, getObjectValueByPath, getPrefixedScopedSlots, getSlot, camelizeObjectKeys, keyCodes } from '../../util/helpers'\nimport { breaking, removed } from '../../util/console'\n\n// Types\nimport { VNode, VNodeChildren } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { DataItemProps, DataScopeProps } from 'vuetify/types'\n\n/* @vue/component */\nexport default mixins(\n Mobile,\n Themeable\n).extend({\n name: 'v-data-iterator',\n\n props: {\n ...VData.options.props, // TODO: filter out props not used\n itemKey: {\n type: String,\n default: 'id',\n },\n value: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n singleSelect: Boolean,\n expanded: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n mobileBreakpoint: {\n ...Mobile.options.props.mobileBreakpoint,\n default: 600,\n },\n singleExpand: Boolean,\n loading: [Boolean, String],\n noResultsText: {\n type: String,\n default: '$vuetify.dataIterator.noResultsText',\n },\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n loadingText: {\n type: String,\n default: '$vuetify.dataIterator.loadingText',\n },\n hideDefaultFooter: Boolean,\n footerProps: Object,\n selectableKey: {\n type: String,\n default: 'isSelectable',\n },\n },\n\n data: () => ({\n selection: {} as Record<string, any>,\n expansion: {} as Record<string, boolean>,\n internalCurrentItems: [] as any[],\n shiftKeyDown: false,\n lastEntry: -1,\n }),\n\n computed: {\n everyItem (): boolean {\n return !!this.selectableItems.length && this.selectableItems.every((i: any) => this.isSelected(i))\n },\n someItems (): boolean {\n return this.selectableItems.some((i: any) => this.isSelected(i))\n },\n sanitizedFooterProps (): Record<string, any> {\n return camelizeObjectKeys(this.footerProps)\n },\n selectableItems (): any[] {\n return this.internalCurrentItems.filter(item => this.isSelectable(item))\n },\n },\n\n watch: {\n value: {\n handler (value: any[]) {\n this.selection = value.reduce((selection, item) => {\n selection[getObjectValueByPath(item, this.itemKey)] = item\n return selection\n }, {})\n },\n immediate: true,\n },\n selection (value: Record<string, boolean>, old: Record<string, boolean>) {\n if (deepEqual(Object.keys(value), Object.keys(old))) return\n\n this.$emit('input', Object.values(value))\n },\n expanded: {\n handler (value: any[]) {\n this.expansion = value.reduce((expansion, item) => {\n expansion[getObjectValueByPath(item, this.itemKey)] = true\n return expansion\n }, {})\n },\n immediate: true,\n },\n expansion (value: Record<string, boolean>, old: Record<string, boolean>) {\n if (deepEqual(value, old)) return\n const keys = Object.keys(value).filter(k => value[k])\n const expanded = !keys.length ? [] : this.items.filter(i => keys.includes(String(getObjectValueByPath(i, this.itemKey))))\n this.$emit('update:expanded', expanded)\n },\n },\n\n created () {\n const breakingProps = [\n ['disable-initial-sort', 'sort-by'],\n ['filter', 'custom-filter'],\n ['pagination', 'options'],\n ['total-items', 'server-items-length'],\n ['hide-actions', 'hide-default-footer'],\n ['rows-per-page-items', 'footer-props.items-per-page-options'],\n ['rows-per-page-text', 'footer-props.items-per-page-text'],\n ['prev-icon', 'footer-props.prev-icon'],\n ['next-icon', 'footer-props.next-icon'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n\n const removedProps = [\n 'expand',\n 'content-class',\n 'content-props',\n 'content-tag',\n ]\n\n /* istanbul ignore next */\n removedProps.forEach(prop => {\n if (this.$attrs.hasOwnProperty(prop)) removed(prop)\n })\n },\n\n mounted () {\n window.addEventListener('keydown', this.onKeyDown)\n window.addEventListener('keyup', this.onKeyUp)\n },\n beforeDestroy () {\n window.removeEventListener('keydown', this.onKeyDown)\n window.removeEventListener('keyup', this.onKeyUp)\n },\n\n methods: {\n onKeyDown (e: KeyboardEvent): void {\n this.shiftKeyDown = e.keyCode === keyCodes.shift || e.shiftKey\n },\n onKeyUp (e: KeyboardEvent): void {\n if (e.keyCode === keyCodes.shift || !e.shiftKey) {\n this.shiftKeyDown = false\n }\n },\n toggleSelectAll (value: boolean): void {\n const selection = Object.assign({}, this.selection)\n\n for (let i = 0; i < this.selectableItems.length; i++) {\n const item = this.selectableItems[i]\n\n if (!this.isSelectable(item)) continue\n\n const key = getObjectValueByPath(item, this.itemKey)\n if (value) selection[key] = item\n else delete selection[key]\n }\n\n this.selection = selection\n this.$emit('toggle-select-all', { items: this.internalCurrentItems, value })\n },\n isSelectable (item: any): boolean {\n return getObjectValueByPath(item, this.selectableKey) !== false\n },\n isSelected (item: any): boolean {\n return !!this.selection[getObjectValueByPath(item, this.itemKey)] || false\n },\n select (item: any, value = true, emit = true): void {\n if (!this.isSelectable(item)) return\n\n const selection = this.singleSelect ? {} : Object.assign({}, this.selection)\n const key = getObjectValueByPath(item, this.itemKey)\n\n if (value) selection[key] = item\n else delete selection[key]\n\n const index = this.selectableItems.findIndex(x => getObjectValueByPath(x, this.itemKey) === key)\n if (this.lastEntry === -1) this.lastEntry = index\n else if (this.shiftKeyDown && !this.singleSelect && emit) {\n const lastEntryKey = getObjectValueByPath(this.selectableItems[this.lastEntry], this.itemKey)\n const lastEntryKeySelected = Object.keys(this.selection).includes(String(lastEntryKey))\n this.multipleSelect(lastEntryKeySelected, emit, selection, index)\n }\n this.lastEntry = index\n\n if (this.singleSelect && emit) {\n const keys = Object.keys(this.selection)\n const old = keys.length && getObjectValueByPath(this.selection[keys[0]], this.itemKey)\n old && old !== key && this.$emit('item-selected', { item: this.selection[old], value: false })\n }\n this.selection = selection\n emit && this.$emit('item-selected', { item, value })\n },\n multipleSelect (value = true, emit = true, selection: any, index: number): void {\n const start = index < this.lastEntry ? index : this.lastEntry\n const end = index < this.lastEntry ? this.lastEntry : index\n for (let i = start; i <= end; i++) {\n const currentItem = this.selectableItems[i]\n const key = getObjectValueByPath(currentItem, this.itemKey)\n if (value) selection[key] = currentItem\n else delete selection[key]\n emit && this.$emit('item-selected', { currentItem, value })\n }\n },\n isExpanded (item: any): boolean {\n return this.expansion[getObjectValueByPath(item, this.itemKey)] || false\n },\n expand (item: any, value = true): void {\n const expansion = this.singleExpand ? {} : Object.assign({}, this.expansion)\n const key = getObjectValueByPath(item, this.itemKey)\n\n if (value) expansion[key] = true\n else delete expansion[key]\n\n this.expansion = expansion\n this.$emit('item-expanded', { item, value })\n },\n createItemProps (item: any, index: number): DataItemProps {\n return {\n item,\n index,\n select: (v: boolean) => this.select(item, v),\n isSelected: this.isSelected(item),\n expand: (v: boolean) => this.expand(item, v),\n isExpanded: this.isExpanded(item),\n isMobile: this.isMobile,\n }\n },\n genEmptyWrapper (content: VNodeChildren) {\n return this.$createElement('div', content)\n },\n genEmpty (originalItemsLength: number, filteredItemsLength: number) {\n if (originalItemsLength === 0 && this.loading) {\n const loading = this.$slots.loading || this.$vuetify.lang.t(this.loadingText)\n return this.genEmptyWrapper(loading)\n } else if (originalItemsLength === 0) {\n const noData = this.$slots['no-data'] || this.$vuetify.lang.t(this.noDataText)\n return this.genEmptyWrapper(noData)\n } else if (filteredItemsLength === 0) {\n const noResults = this.$slots['no-results'] || this.$vuetify.lang.t(this.noResultsText)\n return this.genEmptyWrapper(noResults)\n }\n\n return null\n },\n genItems (props: DataScopeProps) {\n const empty = this.genEmpty(props.originalItemsLength, props.pagination.itemsLength)\n if (empty) return [empty]\n\n if (this.$scopedSlots.default) {\n return this.$scopedSlots.default({\n ...props,\n isSelected: this.isSelected,\n select: this.select,\n isExpanded: this.isExpanded,\n isMobile: this.isMobile,\n expand: this.expand,\n })\n }\n\n if (this.$scopedSlots.item) {\n return props.items.map((item: any, index) => this.$scopedSlots.item!(this.createItemProps(\n item,\n index\n )))\n }\n\n return []\n },\n genFooter (props: DataScopeProps) {\n if (this.hideDefaultFooter) return null\n\n const data = {\n props: {\n ...this.sanitizedFooterProps,\n options: props.options,\n pagination: props.pagination,\n },\n on: {\n 'update:options': (value: any) => props.updateOptions(value),\n },\n }\n\n const scopedSlots = getPrefixedScopedSlots('footer.', this.$scopedSlots)\n\n return this.$createElement(VDataFooter, {\n scopedSlots,\n ...data,\n })\n },\n genDefaultScopedSlot (props: any) {\n const outerProps = {\n ...props,\n someItems: this.someItems,\n everyItem: this.everyItem,\n toggleSelectAll: this.toggleSelectAll,\n }\n\n return this.$createElement('div', {\n staticClass: 'v-data-iterator',\n }, [\n getSlot(this, 'header', outerProps, true),\n this.genItems(props),\n this.genFooter(props),\n getSlot(this, 'footer', outerProps, true),\n ])\n },\n },\n\n render (): VNode {\n return this.$createElement(VData, {\n props: this.$props,\n on: {\n 'update:options': (v: any, old: any) => !deepEqual(v, old) && this.$emit('update:options', v),\n 'update:page': (v: any) => this.$emit('update:page', v),\n 'update:items-per-page': (v: any) => this.$emit('update:items-per-page', v),\n 'update:sort-by': (v: any) => this.$emit('update:sort-by', v),\n 'update:sort-desc': (v: any) => this.$emit('update:sort-desc', v),\n 'update:group-by': (v: any) => this.$emit('update:group-by', v),\n 'update:group-desc': (v: any) => this.$emit('update:group-desc', v),\n pagination: (v: any, old: any) => !deepEqual(v, old) && this.$emit('pagination', v),\n 'current-items': (v: any[]) => {\n this.internalCurrentItems = v\n this.$emit('current-items', v)\n },\n 'page-count': (v: number) => this.$emit('page-count', v),\n },\n scopedSlots: {\n default: this.genDefaultScopedSlot,\n },\n })\n },\n})\n","import { VDataTable } from '../'\nimport VIcon from '../../VIcon'\nimport VSimpleCheckbox from '../../VCheckbox/VSimpleCheckbox'\nimport ripple from '../../../directives/ripple'\n\nimport Vue from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport mixins from '../../../util/mixins'\nimport { DataOptions, DataTableHeader } from 'vuetify/types'\n\ntype VDataTableInstance = InstanceType<typeof VDataTable>\n\ninterface options extends Vue {\n dataTable: VDataTableInstance\n}\n\nexport default mixins<options>().extend({\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n headers: {\n type: Array,\n default: () => ([]),\n } as PropValidator<DataTableHeader[]>,\n options: {\n type: Object,\n default: () => ({\n page: 1,\n itemsPerPage: 10,\n sortBy: [],\n sortDesc: [],\n groupBy: [],\n groupDesc: [],\n multiSort: false,\n mustSort: false,\n }),\n } as PropValidator<DataOptions>,\n checkboxColor: String,\n sortIcon: {\n type: String,\n default: '$sort',\n },\n everyItem: Boolean,\n someItems: Boolean,\n showGroupBy: Boolean,\n singleSelect: Boolean,\n disableSort: Boolean,\n },\n\n methods: {\n genSelectAll () {\n const data = {\n props: {\n value: this.everyItem,\n indeterminate: !this.everyItem && this.someItems,\n color: this.checkboxColor ?? '',\n },\n on: {\n input: (v: boolean) => this.$emit('toggle-select-all', v),\n },\n }\n\n if (this.$scopedSlots['data-table-select']) {\n return this.$scopedSlots['data-table-select']!(data)\n }\n\n return this.$createElement(VSimpleCheckbox, {\n staticClass: 'v-data-table__checkbox',\n ...data,\n })\n },\n genSortIcon () {\n return this.$createElement(VIcon, {\n staticClass: 'v-data-table-header__icon',\n props: {\n size: 18,\n },\n }, [this.sortIcon])\n },\n },\n})\n","import { VNode, VNodeChildrenArrayContents } from 'vue'\nimport mixins from '../../util/mixins'\nimport VSelect from '../VSelect/VSelect'\nimport VChip from '../VChip'\nimport header from './mixins/header'\nimport { wrapInArray } from '../../util/helpers'\n\nexport default mixins(header).extend({\n name: 'v-data-table-header-mobile',\n\n props: {\n sortByText: {\n type: String,\n default: '$vuetify.dataTable.sortBy',\n },\n },\n\n methods: {\n genSortChip (props: any) {\n const children: VNodeChildrenArrayContents = [props.item.text]\n\n const sortIndex = this.options.sortBy.findIndex(k => k === props.item.value)\n const beingSorted = sortIndex >= 0\n const isDesc = this.options.sortDesc[sortIndex]\n\n children.push(this.$createElement('div', {\n staticClass: 'v-chip__close',\n class: {\n sortable: true,\n active: beingSorted,\n asc: beingSorted && !isDesc,\n desc: beingSorted && isDesc,\n },\n }, [this.genSortIcon()]))\n\n return this.$createElement(VChip, {\n staticClass: 'sortable',\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n this.$emit('sort', props.item.value)\n },\n },\n }, children)\n },\n genSortSelect (items: any[]) {\n return this.$createElement(VSelect, {\n props: {\n label: this.$vuetify.lang.t(this.sortByText),\n items,\n hideDetails: true,\n multiple: this.options.multiSort,\n value: this.options.multiSort ? this.options.sortBy : this.options.sortBy[0],\n menuProps: { closeOnContentClick: true },\n },\n on: {\n change: (v: string | string[]) => this.$emit('sort', v),\n },\n scopedSlots: {\n selection: props => this.genSortChip(props),\n },\n })\n },\n },\n\n render (h): VNode {\n const children: VNodeChildrenArrayContents = []\n\n const header = this.headers.find(h => h.value === 'data-table-select')\n if (header && !this.singleSelect) {\n children.push(this.$createElement('div', {\n class: [\n 'v-data-table-header-mobile__select',\n ...wrapInArray(header.class),\n ],\n attrs: {\n width: header.width,\n },\n }, [this.genSelectAll()]))\n }\n\n const sortHeaders = this.headers\n .filter(h => h.sortable !== false && h.value !== 'data-table-select')\n .map(h => ({\n text: h.text,\n value: h.value,\n }))\n\n if (!this.disableSort && sortHeaders.length) {\n children.push(this.genSortSelect(sortHeaders))\n }\n\n const th = children.length\n ? h('th', [h('div', { staticClass: 'v-data-table-header-mobile__wrapper' }, children)])\n : undefined\n\n const tr = h('tr', [th])\n\n return h('thead', {\n staticClass: 'v-data-table-header v-data-table-header-mobile',\n }, [tr])\n },\n})\n","// Helpers\nimport { VNode, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport header from './mixins/header'\nimport { wrapInArray, convertToUnit } from '../../util/helpers'\nimport { DataTableHeader } from 'vuetify/types'\n\nexport default mixins(header).extend({\n name: 'v-data-table-header-desktop',\n\n methods: {\n genGroupByToggle (header: DataTableHeader) {\n return this.$createElement('span', {\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n this.$emit('group', header.value)\n },\n },\n }, ['group'])\n },\n getAria (beingSorted: boolean, isDesc: boolean) {\n const $t = (key: string) => this.$vuetify.lang.t(`$vuetify.dataTable.ariaLabel.${key}`)\n\n let ariaSort = 'none'\n let ariaLabel = [\n $t('sortNone'),\n $t('activateAscending'),\n ]\n\n if (!beingSorted) {\n return { ariaSort, ariaLabel: ariaLabel.join(' ') }\n }\n\n if (isDesc) {\n ariaSort = 'descending'\n ariaLabel = [\n $t('sortDescending'),\n $t(this.options.mustSort ? 'activateAscending' : 'activateNone'),\n ]\n } else {\n ariaSort = 'ascending'\n ariaLabel = [\n $t('sortAscending'),\n $t('activateDescending'),\n ]\n }\n\n return { ariaSort, ariaLabel: ariaLabel.join(' ') }\n },\n genHeader (header: DataTableHeader) {\n const data: Required<Pick<VNodeData, 'attrs' | 'on' | 'class' | 'style'>> = {\n attrs: {\n role: 'columnheader',\n scope: 'col',\n 'aria-label': header.text || '',\n },\n style: {\n width: convertToUnit(header.width),\n minWidth: convertToUnit(header.width),\n },\n class: [\n `text-${header.align || 'start'}`,\n ...wrapInArray(header.class),\n header.divider && 'v-data-table__divider',\n ],\n on: {},\n }\n const children = []\n\n if (header.value === 'data-table-select' && !this.singleSelect) {\n return this.$createElement('th', data, [this.genSelectAll()])\n }\n\n children.push(\n this.$scopedSlots.hasOwnProperty(header.value)\n ? this.$scopedSlots[header.value]!({ header })\n : this.$createElement('span', [header.text])\n )\n\n if (!this.disableSort && (header.sortable || !header.hasOwnProperty('sortable'))) {\n data.on.click = () => this.$emit('sort', header.value)\n\n const sortIndex = this.options.sortBy.findIndex(k => k === header.value)\n const beingSorted = sortIndex >= 0\n const isDesc = this.options.sortDesc[sortIndex]\n\n data.class.push('sortable')\n\n const { ariaLabel, ariaSort } = this.getAria(beingSorted, isDesc)\n\n data.attrs['aria-label'] += `${header.text ? ': ' : ''}${ariaLabel}`\n data.attrs['aria-sort'] = ariaSort\n\n if (beingSorted) {\n data.class.push('active')\n data.class.push(isDesc ? 'desc' : 'asc')\n }\n\n if (header.align === 'end') children.unshift(this.genSortIcon())\n else children.push(this.genSortIcon())\n\n if (this.options.multiSort && beingSorted) {\n children.push(this.$createElement('span', { class: 'v-data-table-header__sort-badge' }, [String(sortIndex + 1)]))\n }\n }\n\n if (this.showGroupBy && header.groupable !== false) children.push(this.genGroupByToggle(header))\n\n return this.$createElement('th', data, children)\n },\n },\n\n render (): VNode {\n return this.$createElement('thead', {\n staticClass: 'v-data-table-header',\n }, [\n this.$createElement('tr', this.headers.map(header => this.genHeader(header))),\n ])\n },\n})\n","// Styles\nimport './VDataTableHeader.sass'\n\n// Components\nimport VDataTableHeaderMobile from './VDataTableHeaderMobile'\nimport VDataTableHeaderDesktop from './VDataTableHeaderDesktop'\n\n// Mixins\nimport header from './mixins/header'\n\n// Utilities\nimport dedupeModelListeners from '../../util/dedupeModelListeners'\nimport mergeData from '../../util/mergeData'\nimport rebuildSlots from '../../util/rebuildFunctionalSlots'\n\n// Types\nimport Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-data-table-header',\n\n functional: true,\n\n props: {\n ...header.options.props,\n mobile: Boolean,\n },\n\n render (h, { props, data, slots }) {\n dedupeModelListeners(data)\n const children = rebuildSlots(slots(), h)\n\n data = mergeData(data, { props })\n\n if (props.mobile) {\n return h(VDataTableHeaderMobile, data, children)\n } else {\n return h(VDataTableHeaderDesktop, data, children)\n }\n },\n})\n","import { VNodeData } from 'vue'\n\n/**\n * Removes duplicate `@input` listeners when\n * using v-model with functional components\n *\n * @see https://github.com/vuetifyjs/vuetify/issues/4460\n */\nexport default function dedupeModelListeners (data: VNodeData): void {\n if (data.model && data.on && data.on.input) {\n if (Array.isArray(data.on.input)) {\n const i = data.on.input.indexOf(data.model.callback)\n if (i > -1) data.on.input.splice(i, 1)\n } else {\n delete data.on.input\n }\n }\n}\n","import { CreateElement, VNode } from 'vue'\n\nexport default function rebuildFunctionalSlots (slots: { [key: string]: VNode[] | undefined }, h: CreateElement) {\n const children: VNode[] = []\n\n for (const slot in slots) {\n if (slots.hasOwnProperty(slot)) {\n children.push(h('template', { slot }, slots[slot]))\n }\n }\n\n return children\n}\n","// Types\nimport Vue, { VNode, PropType } from 'vue'\nimport { DataTableHeader } from 'vuetify/types'\n\n// Utils\nimport { getObjectValueByPath, wrapInArray } from '../../util/helpers'\n\nfunction needsTd (slot: VNode[] | undefined) {\n return slot!.length !== 1 ||\n !['td', 'th'].includes(slot![0]?.tag!)\n}\n\nexport default Vue.extend({\n name: 'row',\n\n functional: true,\n\n props: {\n headers: Array as PropType<DataTableHeader[]>,\n index: Number,\n item: Object,\n rtl: Boolean,\n },\n\n render (h, { props, slots, data }): VNode {\n const computedSlots = slots()\n\n const columns = props.headers.map((header: DataTableHeader) => {\n const children = []\n const value = getObjectValueByPath(props.item, header.value)\n\n const slotName = header.value\n const scopedSlot = data.scopedSlots && data.scopedSlots.hasOwnProperty(slotName) && data.scopedSlots[slotName]\n const regularSlot = computedSlots.hasOwnProperty(slotName) && computedSlots[slotName]\n\n if (scopedSlot) {\n children.push(...wrapInArray(scopedSlot({\n item: props.item,\n isMobile: false,\n header,\n index: props.index,\n value,\n })))\n } else if (regularSlot) {\n children.push(...wrapInArray(regularSlot))\n } else {\n children.push(value == null ? value : String(value))\n }\n\n const textAlign = `text-${header.align || 'start'}`\n\n return needsTd(children)\n ? h('td', {\n class: [\n textAlign,\n header.cellClass,\n {\n 'v-data-table__divider': header.divider,\n },\n ],\n }, children)\n : children\n })\n\n return h('tr', data, columns)\n },\n})\n","import Vue, { VNode } from 'vue'\n\nexport default Vue.extend({\n name: 'row-group',\n\n functional: true,\n\n props: {\n value: {\n type: Boolean,\n default: true,\n },\n headerClass: {\n type: String,\n default: 'v-row-group__header',\n },\n contentClass: String,\n summaryClass: {\n type: String,\n default: 'v-row-group__summary',\n },\n },\n\n render (h, { slots, props }): VNode {\n const computedSlots = slots()\n const children = []\n\n if (computedSlots['column.header']) {\n children.push(h('tr', {\n staticClass: props.headerClass,\n }, computedSlots['column.header']))\n } else if (computedSlots['row.header']) {\n children.push(...computedSlots['row.header'])\n }\n\n if (computedSlots['row.content'] && props.value) children.push(...computedSlots['row.content'])\n\n if (computedSlots['column.summary']) {\n children.push(h('tr', {\n staticClass: props.summaryClass,\n }, computedSlots['column.summary']))\n } else if (computedSlots['row.summary']) {\n children.push(...computedSlots['row.summary'])\n }\n\n return children as any\n },\n})\n","import './VSimpleTable.sass'\n\nimport { convertToUnit } from '../../util/helpers'\nimport Themeable from '../../mixins/themeable'\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\n\nexport default mixins(Themeable).extend({\n name: 'v-simple-table',\n\n props: {\n dense: Boolean,\n fixedHeader: Boolean,\n height: [Number, String],\n },\n\n computed: {\n classes (): Record<string, boolean> {\n return {\n 'v-data-table--dense': this.dense,\n 'v-data-table--fixed-height': !!this.height && !this.fixedHeader,\n 'v-data-table--fixed-header': this.fixedHeader,\n 'v-data-table--has-top': !!this.$slots.top,\n 'v-data-table--has-bottom': !!this.$slots.bottom,\n ...this.themeClasses,\n }\n },\n },\n\n methods: {\n genWrapper () {\n return this.$slots.wrapper || this.$createElement('div', {\n staticClass: 'v-data-table__wrapper',\n style: {\n height: convertToUnit(this.height),\n },\n }, [\n this.$createElement('table', this.$slots.default),\n ])\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-data-table',\n class: this.classes,\n }, [\n this.$slots.top,\n this.genWrapper(),\n this.$slots.bottom,\n ])\n },\n})\n","import Vue, { VNode, PropType } from 'vue'\nimport { getObjectValueByPath } from '../../util/helpers'\nimport { DataTableHeader } from 'vuetify/types'\n\nexport default Vue.extend({\n name: 'row',\n\n functional: true,\n\n props: {\n headers: Array as PropType<DataTableHeader[]>,\n hideDefaultHeader: Boolean,\n index: Number,\n item: Object,\n rtl: Boolean,\n },\n\n render (h, { props, slots, data }): VNode {\n const computedSlots = slots()\n\n const columns: VNode[] = props.headers.map((header: DataTableHeader) => {\n const classes = {\n 'v-data-table__mobile-row': true,\n }\n\n const children = []\n const value = getObjectValueByPath(props.item, header.value)\n\n const slotName = header.value\n const scopedSlot = data.scopedSlots && data.scopedSlots.hasOwnProperty(slotName) && data.scopedSlots[slotName]\n const regularSlot = computedSlots.hasOwnProperty(slotName) && computedSlots[slotName]\n\n if (scopedSlot) {\n children.push(scopedSlot({\n item: props.item,\n isMobile: true,\n header,\n index: props.index,\n value,\n }))\n } else if (regularSlot) {\n children.push(regularSlot)\n } else {\n children.push(value == null ? value : String(value))\n }\n\n const mobileRowChildren = [\n h('div', {\n staticClass: 'v-data-table__mobile-row__cell',\n }, children),\n ]\n\n if (header.value !== 'dataTableSelect' && !props.hideDefaultHeader) {\n mobileRowChildren.unshift(\n h('div', {\n staticClass: 'v-data-table__mobile-row__header',\n }, [header.text])\n )\n }\n\n return h('td', { class: classes }, mobileRowChildren)\n })\n\n return h('tr', { ...data, staticClass: 'v-data-table__mobile-table-row' }, columns)\n },\n})\n","import Vue from 'vue'\n\nexport type MouseHandler = (e: MouseEvent | TouchEvent) => any\n\nexport type MouseEvents = {\n [event: string]: {\n event: string\n passive?: boolean\n capture?: boolean\n once?: boolean\n stop?: boolean\n prevent?: boolean\n button?: number\n result?: any\n }\n}\n\nexport type MouseEventsMap = {\n [event: string]: MouseHandler | MouseHandler[]\n}\n\nexport default Vue.extend({\n name: 'mouse',\n\n methods: {\n getDefaultMouseEventHandlers (suffix: string, getData: MouseHandler, eventFirst = false): MouseEventsMap {\n const listeners = Object.keys(this.$listeners)\n .filter(key => key.endsWith(suffix))\n .reduce((acc, key) => {\n acc[key] = { event: key.slice(0, -suffix.length) }\n return acc\n }, {} as MouseEvents)\n\n return this.getMouseEventHandlers({\n ...listeners,\n ['contextmenu' + suffix]: { event: 'contextmenu', prevent: true, result: false },\n }, getData, eventFirst)\n },\n getMouseEventHandlers (events: MouseEvents, getData: MouseHandler, eventFirst = false): MouseEventsMap {\n const on: MouseEventsMap = {}\n\n for (const event in events) {\n const eventOptions = events[event]\n\n if (!this.$listeners[event]) continue\n\n // TODO somehow pull in modifiers\n\n const prefix = eventOptions.passive ? '&' : ((eventOptions.once ? '~' : '') + (eventOptions.capture ? '!' : ''))\n const key = prefix + eventOptions.event\n\n const handler: MouseHandler = e => {\n const mouseEvent: MouseEvent = e as MouseEvent\n if (eventOptions.button === undefined || (mouseEvent.buttons > 0 && mouseEvent.button === eventOptions.button)) {\n if (eventOptions.prevent) {\n e.preventDefault()\n }\n if (eventOptions.stop) {\n e.stopPropagation()\n }\n\n // Due to TouchEvent target always returns the element that is first placed\n // Even if touch point has since moved outside the interactive area of that element\n // Ref: https://developer.mozilla.org/en-US/docs/Web/API/Touch/target\n // This block of code aims to make sure touchEvent is always dispatched from the element that is being pointed at\n if (e && 'touches' in e) {\n const classSeparator = ' '\n\n const eventTargetClasses = (e.currentTarget as HTMLElement)?.className.split(classSeparator)\n const currentTargets = document.elementsFromPoint(e.changedTouches[0].clientX, e.changedTouches[0].clientY)\n\n // Get \"the same kind\" current hovering target by checking\n // If element has the same class of initial touch start element (which has touch event listener registered)\n const currentTarget = currentTargets.find(t => t.className.split(classSeparator).some(c => eventTargetClasses.includes(c)))\n\n if (currentTarget &&\n !(e.target as HTMLElement)?.isSameNode(currentTarget)\n ) {\n currentTarget.dispatchEvent(new TouchEvent(e.type, {\n changedTouches: e.changedTouches as unknown as Touch[],\n targetTouches: e.targetTouches as unknown as Touch[],\n touches: e.touches as unknown as Touch[],\n }))\n return\n }\n }\n\n // TODO: VCalendar emits the calendar event as the first argument,\n // but it really should be the native event instead so modifiers can be used\n if (eventFirst) {\n this.$emit(event, e, getData(e))\n } else {\n this.$emit(event, getData(e), e)\n }\n }\n\n return eventOptions.result\n }\n\n if (key in on) {\n /* istanbul ignore next */\n if (Array.isArray(on[key])) {\n (on[key] as MouseHandler[]).push(handler)\n } else {\n on[key] = [on[key], handler] as MouseHandler[]\n }\n } else {\n on[key] = handler\n }\n }\n\n return on\n },\n },\n})\n","import './VDataTable.sass'\n\n// Types\nimport { VNode, VNodeChildrenArrayContents, VNodeChildren } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport {\n DataTableHeader,\n DataTableFilterFunction,\n DataScopeProps,\n DataOptions,\n DataPagination,\n DataTableCompareFunction,\n DataItemsPerPageOption,\n ItemGroup,\n RowClassFunction,\n RowStyleFunction,\n DataTableItemProps,\n DataTableFilterMode,\n} from 'vuetify/types'\n\n// Components\nimport { VData } from '../VData'\nimport { VDataFooter, VDataIterator } from '../VDataIterator'\nimport VBtn from '../VBtn'\nimport VDataTableHeader from './VDataTableHeader'\n// import VVirtualTable from './VVirtualTable'\nimport VIcon from '../VIcon'\nimport Row from './Row'\nimport RowGroup from './RowGroup'\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VSimpleTable from './VSimpleTable'\nimport MobileRow from './MobileRow'\n\n// Mixins\nimport Loadable from '../../mixins/loadable'\nimport Mouse from '../../mixins/mouse'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { deepEqual, getObjectValueByPath, getPrefixedScopedSlots, getSlot, defaultFilter, camelizeObjectKeys, getPropertyFromItem } from '../../util/helpers'\nimport { breaking } from '../../util/console'\nimport { mergeClasses, mergeStyles } from '../../util/mergeData'\n\nfunction filterFn (item: any, search: string | null, filter: DataTableFilterFunction) {\n return (header: DataTableHeader) => {\n const value = getObjectValueByPath(item, header.value)\n return header.filter ? header.filter(value, search, item) : filter(value, search, item)\n }\n}\n\nfunction searchTableItems (\n items: any[],\n search: string | null,\n headersWithCustomFilters: DataTableHeader[],\n headersWithoutCustomFilters: DataTableHeader[],\n customFilter: DataTableFilterFunction,\n filterMode: DataTableFilterMode,\n) {\n search = typeof search === 'string' ? search.trim() : null\n\n if (filterMode === 'union') {\n // If the `search` property is empty and there are no custom filters in use, there is nothing to do.\n if (!(search && headersWithoutCustomFilters.length) && !headersWithCustomFilters.length) return items\n\n return items.filter(item => {\n // Headers with custom filters are evaluated whether or not a search term has been provided.\n if (headersWithCustomFilters.length && headersWithCustomFilters.every(filterFn(item, search, defaultFilter))) {\n return true\n }\n\n // Otherwise, the `search` property is used to filter columns without a custom filter.\n return (search && headersWithoutCustomFilters.some(filterFn(item, search, customFilter)))\n })\n } else if (filterMode === 'intersection') {\n return items.filter(item => {\n // Headers with custom filters are evaluated whether or not a search term has been provided.\n // We need to match every filter to be included in the results.\n const matchesColumnFilters = headersWithCustomFilters.every(filterFn(item, search, defaultFilter))\n\n // Headers without custom filters are only filtered by the `search` property if it is defined.\n // We only need a single column to match the search term to be included in the results.\n const matchesSearchTerm = !search || headersWithoutCustomFilters.some(filterFn(item, search, customFilter))\n\n return matchesColumnFilters && matchesSearchTerm\n })\n } else {\n return items\n }\n}\n\n/* @vue/component */\nexport default mixins(\n VDataIterator,\n Loadable,\n Mouse,\n).extend({\n name: 'v-data-table',\n\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n headers: {\n type: Array,\n default: () => [],\n } as PropValidator<DataTableHeader[]>,\n showSelect: Boolean,\n checkboxColor: String,\n showExpand: Boolean,\n showGroupBy: Boolean,\n // TODO: Fix\n // virtualRows: Boolean,\n height: [Number, String],\n hideDefaultHeader: Boolean,\n caption: String,\n dense: Boolean,\n headerProps: Object,\n calculateWidths: Boolean,\n fixedHeader: Boolean,\n headersLength: Number,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n customFilter: {\n type: Function,\n default: defaultFilter,\n } as PropValidator<typeof defaultFilter>,\n filterMode: {\n type: String,\n default: 'intersection',\n } as PropValidator<DataTableFilterMode>,\n itemClass: {\n type: [String, Function],\n default: () => '',\n } as PropValidator<RowClassFunction | string>,\n itemStyle: {\n type: [String, Function],\n default: () => '',\n } as PropValidator<RowStyleFunction | string>,\n loaderHeight: {\n type: [Number, String],\n default: 4,\n },\n },\n\n data () {\n return {\n internalGroupBy: [] as string[],\n openCache: {} as { [key: string]: boolean },\n widths: [] as number[],\n }\n },\n\n computed: {\n computedHeaders (): DataTableHeader[] {\n if (!this.headers) return []\n const headers = this.headers.filter(h => h.value === undefined || !this.internalGroupBy.find(v => v === h.value))\n const defaultHeader = { text: '', sortable: false, width: '1px' }\n\n if (this.showSelect) {\n const index = headers.findIndex(h => h.value === 'data-table-select')\n if (index < 0) headers.unshift({ ...defaultHeader, value: 'data-table-select' })\n else headers.splice(index, 1, { ...defaultHeader, ...headers[index] })\n }\n\n if (this.showExpand) {\n const index = headers.findIndex(h => h.value === 'data-table-expand')\n if (index < 0) headers.unshift({ ...defaultHeader, value: 'data-table-expand' })\n else headers.splice(index, 1, { ...defaultHeader, ...headers[index] })\n }\n\n return headers\n },\n colspanAttrs (): object | undefined {\n return this.isMobile ? undefined : {\n colspan: this.headersLength || this.computedHeaders.length,\n }\n },\n columnSorters (): Record<string, DataTableCompareFunction> {\n return this.computedHeaders.reduce<Record<string, DataTableCompareFunction>>((acc, header) => {\n if (header.sort) acc[header.value] = header.sort\n return acc\n }, {})\n },\n headersWithCustomFilters (): DataTableHeader[] {\n return this.headers.filter(header => header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n },\n headersWithoutCustomFilters (): DataTableHeader[] {\n return this.headers.filter(header => !header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n },\n sanitizedHeaderProps (): Record<string, any> {\n return camelizeObjectKeys(this.headerProps)\n },\n computedItemsPerPage (): number {\n const itemsPerPage = this.options && this.options.itemsPerPage ? this.options.itemsPerPage : this.itemsPerPage\n const itemsPerPageOptions: DataItemsPerPageOption[] | undefined = this.sanitizedFooterProps.itemsPerPageOptions\n\n if (\n itemsPerPageOptions &&\n !itemsPerPageOptions.find(item => typeof item === 'number' ? item === itemsPerPage : item.value === itemsPerPage)\n ) {\n const firstOption = itemsPerPageOptions[0]\n return typeof firstOption === 'object' ? firstOption.value : firstOption\n }\n\n return itemsPerPage\n },\n groupByText (): string {\n return this.headers?.find(header => header.value === this.internalGroupBy?.[0])?.text ?? ''\n },\n },\n\n created () {\n const breakingProps = [\n ['sort-icon', 'header-props.sort-icon'],\n ['hide-headers', 'hide-default-header'],\n ['select-all', 'show-select'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n mounted () {\n // if ((!this.sortBy || !this.sortBy.length) && (!this.options.sortBy || !this.options.sortBy.length)) {\n // const firstSortable = this.headers.find(h => !('sortable' in h) || !!h.sortable)\n // if (firstSortable) this.updateOptions({ sortBy: [firstSortable.value], sortDesc: [false] })\n // }\n\n if (this.calculateWidths) {\n window.addEventListener('resize', this.calcWidths)\n this.calcWidths()\n }\n },\n\n beforeDestroy () {\n if (this.calculateWidths) {\n window.removeEventListener('resize', this.calcWidths)\n }\n },\n\n methods: {\n calcWidths () {\n this.widths = Array.from(this.$el.querySelectorAll('th')).map(e => e.clientWidth)\n },\n customFilterWithColumns (items: any[], search: string) {\n return searchTableItems(\n items,\n search,\n this.headersWithCustomFilters,\n this.headersWithoutCustomFilters,\n this.customFilter,\n this.filterMode\n )\n },\n customSortWithHeaders (items: any[], sortBy: string[], sortDesc: boolean[], locale: string) {\n return this.customSort(items, sortBy, sortDesc, locale, this.columnSorters)\n },\n createItemProps (item: any, index: number): DataTableItemProps {\n const data = {\n ...VDataIterator.options.methods.createItemProps.call(this, item, index),\n headers: this.computedHeaders,\n }\n\n return {\n ...data,\n attrs: {\n class: {\n 'v-data-table__selected': data.isSelected,\n },\n },\n on: {\n ...this.getDefaultMouseEventHandlers(':row', () => data, true),\n // TODO: the first argument should be the event, and the second argument should be data,\n // but this is a breaking change so it's for v3\n click: (event: MouseEvent) => this.$emit('click:row', item, data, event),\n },\n }\n },\n genCaption (props: DataScopeProps) {\n if (this.caption) return [this.$createElement('caption', [this.caption])]\n\n return getSlot(this, 'caption', props, true)\n },\n genColgroup (props: DataScopeProps) {\n return this.$createElement('colgroup', this.computedHeaders.map(header => {\n return this.$createElement('col', {\n class: {\n divider: header.divider,\n },\n })\n }))\n },\n genLoading () {\n const th = this.$createElement('th', {\n staticClass: 'column',\n attrs: this.colspanAttrs,\n }, [this.genProgress()])\n\n const tr = this.$createElement('tr', {\n staticClass: 'v-data-table__progress',\n }, [th])\n\n return this.$createElement('thead', [tr])\n },\n genHeaders (props: DataScopeProps) {\n const data = {\n props: {\n ...this.sanitizedHeaderProps,\n headers: this.computedHeaders,\n options: props.options,\n mobile: this.isMobile,\n showGroupBy: this.showGroupBy,\n checkboxColor: this.checkboxColor,\n someItems: this.someItems,\n everyItem: this.everyItem,\n singleSelect: this.singleSelect,\n disableSort: this.disableSort,\n },\n on: {\n sort: props.sort,\n group: props.group,\n 'toggle-select-all': this.toggleSelectAll,\n },\n }\n\n // TODO: rename to 'head'? (thead, tbody, tfoot)\n const children: VNodeChildrenArrayContents = [getSlot(this, 'header', {\n ...data,\n isMobile: this.isMobile,\n })]\n\n if (!this.hideDefaultHeader) {\n const scopedSlots = getPrefixedScopedSlots('header.', this.$scopedSlots)\n children.push(this.$createElement(VDataTableHeader, {\n ...data,\n scopedSlots,\n }))\n }\n\n if (this.loading) children.push(this.genLoading())\n\n return children\n },\n genEmptyWrapper (content: VNodeChildrenArrayContents) {\n return this.$createElement('tr', {\n staticClass: 'v-data-table__empty-wrapper',\n }, [\n this.$createElement('td', {\n attrs: this.colspanAttrs,\n }, content),\n ])\n },\n genItems (items: any[], props: DataScopeProps) {\n const empty = this.genEmpty(props.originalItemsLength, props.pagination.itemsLength)\n if (empty) return [empty]\n\n return props.groupedItems\n ? this.genGroupedRows(props.groupedItems, props)\n : this.genRows(items, props)\n },\n genGroupedRows (groupedItems: ItemGroup<any>[], props: DataScopeProps) {\n return groupedItems.map(group => {\n if (!this.openCache.hasOwnProperty(group.name)) this.$set(this.openCache, group.name, true)\n\n if (this.$scopedSlots.group) {\n return this.$scopedSlots.group({\n group: group.name,\n options: props.options,\n isMobile: this.isMobile,\n items: group.items,\n headers: this.computedHeaders,\n })\n } else {\n return this.genDefaultGroupedRow(group.name, group.items, props)\n }\n })\n },\n genDefaultGroupedRow (group: string, items: any[], props: DataScopeProps) {\n const isOpen = !!this.openCache[group]\n const children: VNodeChildren = [\n this.$createElement('template', { slot: 'row.content' }, this.genRows(items, props)),\n ]\n const toggleFn = () => this.$set(this.openCache, group, !this.openCache[group])\n const removeFn = () => props.updateOptions({ groupBy: [], groupDesc: [] })\n\n if (this.$scopedSlots['group.header']) {\n children.unshift(this.$createElement('template', { slot: 'column.header' }, [\n this.$scopedSlots['group.header']!({\n group,\n groupBy: props.options.groupBy,\n isMobile: this.isMobile,\n items,\n headers: this.computedHeaders,\n isOpen,\n toggle: toggleFn,\n remove: removeFn,\n }),\n ]))\n } else {\n const toggle = this.$createElement(VBtn, {\n staticClass: 'ma-0',\n props: {\n icon: true,\n small: true,\n },\n on: {\n click: toggleFn,\n },\n }, [this.$createElement(VIcon, [isOpen ? '$minus' : '$plus'])])\n\n const remove = this.$createElement(VBtn, {\n staticClass: 'ma-0',\n props: {\n icon: true,\n small: true,\n },\n on: {\n click: removeFn,\n },\n }, [this.$createElement(VIcon, ['$close'])])\n\n const column = this.$createElement('td', {\n staticClass: 'text-start',\n attrs: this.colspanAttrs,\n }, [toggle, `${this.groupByText}: ${group}`, remove])\n\n children.unshift(this.$createElement('template', { slot: 'column.header' }, [column]))\n }\n\n if (this.$scopedSlots['group.summary']) {\n children.push(this.$createElement('template', { slot: 'column.summary' }, [\n this.$scopedSlots['group.summary']!({\n group,\n groupBy: props.options.groupBy,\n isMobile: this.isMobile,\n items,\n headers: this.computedHeaders,\n isOpen,\n toggle: toggleFn,\n }),\n ]))\n }\n\n return this.$createElement(RowGroup, {\n key: group,\n props: {\n value: isOpen,\n },\n }, children)\n },\n genRows (items: any[], props: DataScopeProps) {\n return this.$scopedSlots.item ? this.genScopedRows(items, props) : this.genDefaultRows(items, props)\n },\n genScopedRows (items: any[], props: DataScopeProps) {\n const rows = []\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n rows.push(this.$scopedSlots.item!({\n ...this.createItemProps(item, i),\n isMobile: this.isMobile,\n }))\n\n if (this.isExpanded(item)) {\n rows.push(this.$scopedSlots['expanded-item']!({\n headers: this.computedHeaders,\n isMobile: this.isMobile,\n index: i,\n item,\n }))\n }\n }\n\n return rows\n },\n genDefaultRows (items: any[], props: DataScopeProps) {\n return this.$scopedSlots['expanded-item']\n ? items.map((item, index) => this.genDefaultExpandedRow(item, index))\n : items.map((item, index) => this.genDefaultSimpleRow(item, index))\n },\n genDefaultExpandedRow (item: any, index: number): VNode {\n const isExpanded = this.isExpanded(item)\n const classes = {\n 'v-data-table__expanded v-data-table__expanded__row': isExpanded,\n }\n const headerRow = this.genDefaultSimpleRow(item, index, classes)\n const expandedRow = this.$createElement('tr', {\n staticClass: 'v-data-table__expanded v-data-table__expanded__content',\n }, [this.$scopedSlots['expanded-item']!({\n headers: this.computedHeaders,\n isMobile: this.isMobile,\n item,\n })])\n\n return this.$createElement(RowGroup, {\n props: {\n value: isExpanded,\n },\n }, [\n this.$createElement('template', { slot: 'row.header' }, [headerRow]),\n this.$createElement('template', { slot: 'row.content' }, [expandedRow]),\n ])\n },\n genDefaultSimpleRow (item: any, index: number, classes: Record<string, boolean> = {}): VNode {\n const scopedSlots = getPrefixedScopedSlots('item.', this.$scopedSlots)\n\n const data = this.createItemProps(item, index)\n\n if (this.showSelect) {\n const slot = scopedSlots['data-table-select']\n scopedSlots['data-table-select'] = slot ? () => slot({\n ...data,\n isMobile: this.isMobile,\n }) : () => this.$createElement(VSimpleCheckbox, {\n staticClass: 'v-data-table__checkbox',\n props: {\n value: data.isSelected,\n disabled: !this.isSelectable(item),\n color: this.checkboxColor ?? '',\n },\n on: {\n input: (val: boolean) => data.select(val),\n },\n })\n }\n\n if (this.showExpand) {\n const slot = scopedSlots['data-table-expand']\n scopedSlots['data-table-expand'] = slot ? () => slot(data) : () => this.$createElement(VIcon, {\n staticClass: 'v-data-table__expand-icon',\n class: {\n 'v-data-table__expand-icon--active': data.isExpanded,\n },\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n data.expand(!data.isExpanded)\n },\n },\n }, [this.expandIcon])\n }\n\n return this.$createElement(this.isMobile ? MobileRow : Row, {\n key: getObjectValueByPath(item, this.itemKey),\n class: mergeClasses(\n { ...classes, 'v-data-table__selected': data.isSelected },\n getPropertyFromItem(item, this.itemClass)\n ),\n style: mergeStyles({}, getPropertyFromItem(item, this.itemStyle)),\n props: {\n headers: this.computedHeaders,\n hideDefaultHeader: this.hideDefaultHeader,\n index,\n item,\n rtl: this.$vuetify.rtl,\n },\n scopedSlots,\n on: data.on,\n })\n },\n genBody (props: DataScopeProps): VNode | string | VNodeChildren {\n const data = {\n ...props,\n expand: this.expand,\n headers: this.computedHeaders,\n isExpanded: this.isExpanded,\n isMobile: this.isMobile,\n isSelected: this.isSelected,\n select: this.select,\n }\n\n if (this.$scopedSlots.body) {\n return this.$scopedSlots.body!(data)\n }\n\n return this.$createElement('tbody', [\n getSlot(this, 'body.prepend', data, true),\n this.genItems(props.items, props),\n getSlot(this, 'body.append', data, true),\n ])\n },\n genFoot (props: DataScopeProps): VNode[] | undefined {\n return this.$scopedSlots.foot?.(props)\n },\n genFooters (props: DataScopeProps) {\n const data = {\n props: {\n options: props.options,\n pagination: props.pagination,\n itemsPerPageText: '$vuetify.dataTable.itemsPerPageText',\n ...this.sanitizedFooterProps,\n },\n on: {\n 'update:options': (value: any) => props.updateOptions(value),\n },\n widths: this.widths,\n headers: this.computedHeaders,\n }\n\n const children: VNodeChildren = [\n getSlot(this, 'footer', data, true),\n ]\n\n if (!this.hideDefaultFooter) {\n children.push(this.$createElement(VDataFooter, {\n ...data,\n scopedSlots: getPrefixedScopedSlots('footer.', this.$scopedSlots),\n }))\n }\n\n return children\n },\n genDefaultScopedSlot (props: DataScopeProps): VNode {\n const simpleProps = {\n height: this.height,\n fixedHeader: this.fixedHeader,\n dense: this.dense,\n }\n\n // if (this.virtualRows) {\n // return this.$createElement(VVirtualTable, {\n // props: Object.assign(simpleProps, {\n // items: props.items,\n // height: this.height,\n // rowHeight: this.dense ? 24 : 48,\n // headerHeight: this.dense ? 32 : 48,\n // // TODO: expose rest of props from virtual table?\n // }),\n // scopedSlots: {\n // items: ({ items }) => this.genItems(items, props) as any,\n // },\n // }, [\n // this.proxySlot('body.before', [this.genCaption(props), this.genHeaders(props)]),\n // this.proxySlot('bottom', this.genFooters(props)),\n // ])\n // }\n\n return this.$createElement(VSimpleTable, {\n props: simpleProps,\n class: {\n 'v-data-table--mobile': this.isMobile,\n 'v-data-table--selectable': this.showSelect,\n },\n }, [\n this.proxySlot('top', getSlot(this, 'top', {\n ...props,\n isMobile: this.isMobile,\n }, true)),\n this.genCaption(props),\n this.genColgroup(props),\n this.genHeaders(props),\n this.genBody(props),\n this.genFoot(props),\n this.proxySlot('bottom', this.genFooters(props)),\n ])\n },\n proxySlot (slot: string, content: VNodeChildren) {\n return this.$createElement('template', { slot }, content)\n },\n },\n\n render (): VNode {\n return this.$createElement(VData, {\n props: {\n ...this.$props,\n customFilter: this.customFilterWithColumns,\n customSort: this.customSortWithHeaders,\n itemsPerPage: this.computedItemsPerPage,\n },\n on: {\n 'update:options': (v: DataOptions, old: DataOptions) => {\n this.internalGroupBy = v.groupBy || []\n !deepEqual(v, old) && this.$emit('update:options', v)\n },\n 'update:page': (v: number) => this.$emit('update:page', v),\n 'update:items-per-page': (v: number) => this.$emit('update:items-per-page', v),\n 'update:sort-by': (v: string | string[]) => this.$emit('update:sort-by', v),\n 'update:sort-desc': (v: boolean | boolean[]) => this.$emit('update:sort-desc', v),\n 'update:group-by': (v: string | string[]) => this.$emit('update:group-by', v),\n 'update:group-desc': (v: boolean | boolean[]) => this.$emit('update:group-desc', v),\n pagination: (v: DataPagination, old: DataPagination) => !deepEqual(v, old) && this.$emit('pagination', v),\n 'current-items': (v: any[]) => {\n this.internalCurrentItems = v\n this.$emit('current-items', v)\n },\n 'page-count': (v: number) => this.$emit('page-count', v),\n },\n scopedSlots: {\n default: this.genDefaultScopedSlot,\n },\n })\n },\n})\n","\nimport device from \"@/mixins/device.js\";\nimport SEO from \"@/mixins/seo.js\";\n\nexport default {\n name: \"PagesList\",\n mixins: [device, SEO],\n props: {\n page: {\n type: Object,\n required: true,\n },\n parentSlug: {\n type: String,\n },\n sideBar: {\n type: Array,\n },\n },\n data() {\n return {\n seo: {},\n };\n },\n computed: {\n endpointDataSection() {\n return this.page?.content?.filter(\n (component) =>\n component.__component === \"sections.endpoint-data-section\"\n );\n },\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./List.vue?vue&type=template&id=0b0c7c49&\"\nimport script from \"./List.vue?vue&type=script&lang=js&\"\nexport * from \"./List.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {HeroSimple: require('/usr/app/components/hero/HeroSimple.vue').default,HeroList: require('/usr/app/components/hero/HeroList.vue').default,SectionsTabSections: require('/usr/app/components/sections/TabSections.vue').default,SectionsContentSections: require('/usr/app/components/sections/ContentSections.vue').default,SectionsServicesSections: require('/usr/app/components/sections/ServicesSections.vue').default,SectionsBannerSections: require('/usr/app/components/sections/BannerSections.vue').default,SectionsTextSections: require('/usr/app/components/sections/TextSections.vue').default,Accordion: require('/usr/app/components/accordion/Accordion.vue').default,SectionsPersonsList: require('/usr/app/components/sections/PersonsList.vue').default,Carousel: require('/usr/app/components/carousel/Carousel.vue').default,ModulesEndpoint: require('/usr/app/components/modules/Endpoint.vue').default,ModulesList: require('/usr/app/components/modules/List.vue').default})\n","\nimport device from \"@/mixins/device.js\";\nimport sidebar_endpoint from \"@/mixins/sidebar-hash-control.js\";\nimport SEO from \"@/mixins/seo.js\";\n\nexport default {\n name: \"PagesBirimler\",\n mixins: [device, sidebar_endpoint, SEO],\n props: {\n page: {\n type: Object,\n required: true,\n },\n parentSlug: {\n type: String,\n },\n filterslug: {\n type: String,\n required: true,\n },\n sideBar: {\n type: Array,\n },\n },\n data() {\n return {\n seo: {},\n };\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Birimler.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Birimler.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Birimler.vue?vue&type=template&id=78ef5892&\"\nimport script from \"./Birimler.vue?vue&type=script&lang=js&\"\nexport * from \"./Birimler.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {HeroBirimler: require('/usr/app/components/hero/HeroBirimler.vue').default,SectionsTabSections: require('/usr/app/components/sections/TabSections.vue').default,ModulesEndpointTabs: require('/usr/app/components/modules/EndpointTabs.vue').default,SectionsContentSections: require('/usr/app/components/sections/ContentSections.vue').default,SectionsTwoColumnContentSections: require('/usr/app/components/sections/TwoColumnContentSections.vue').default,SectionsTwoColumnContentWithWidgetSections: require('/usr/app/components/sections/TwoColumnContentWithWidgetSections.vue').default,SectionsServicesSections: require('/usr/app/components/sections/ServicesSections.vue').default,SectionsBannerSections: require('/usr/app/components/sections/BannerSections.vue').default})\n","\nimport lang from \"@/mixins/lang\";\nimport device from \"~/mixins/device.js\";\nimport SEO from \"@/mixins/seo.js\";\n\nexport default {\n name: \"PagesOrganization\",\n layout: \"default\",\n mixins: [lang, device, SEO],\n props: {\n page: {\n type: Object,\n required: true,\n },\n parentSlug: {\n type: String,\n },\n sideBar: {\n type: Array,\n },\n },\n data() {\n return {\n seo: {},\n };\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Organization.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Organization.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Organization.vue?vue&type=template&id=d34c26f0&\"\nimport script from \"./Organization.vue?vue&type=script&lang=js&\"\nexport * from \"./Organization.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {HeroSimple: require('/usr/app/components/hero/HeroSimple.vue').default,HeroDetail: require('/usr/app/components/hero/HeroDetail.vue').default,WidgetQuickLinks: require('/usr/app/components/widget/QuickLinks.vue').default,SectionsOrganization: require('/usr/app/components/sections/Organization.vue').default})\n","\nimport device from \"@/mixins/device.js\";\nimport SEO from \"@/mixins/seo.js\";\n\nexport default {\n name: \"PagesDetail\",\n mixins: [device, SEO],\n props: {\n page: {\n type: Object,\n required: true,\n },\n parentSlug: {\n type: String,\n },\n sideBar: {\n type: Array,\n },\n solMenu: {\n type: Array,\n },\n },\n data() {\n return {\n seo: {},\n };\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Default.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Default.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Default.vue?vue&type=template&id=13033ebe&\"\nimport script from \"./Default.vue?vue&type=script&lang=js&\"\nexport * from \"./Default.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {HeroSimple: require('/usr/app/components/hero/HeroSimple.vue').default,HeroDetail: require('/usr/app/components/hero/HeroDetail.vue').default,WidgetQuickLinks: require('/usr/app/components/widget/QuickLinks.vue').default,SectionsTabSections: require('/usr/app/components/sections/TabSections.vue').default,CardsPersonDetail: require('/usr/app/components/cards/PersonDetail.vue').default,SectionsPersonsList: require('/usr/app/components/sections/PersonsList.vue').default,SectionsContentSections: require('/usr/app/components/sections/ContentSections.vue').default,SectionsTwoColumnContentSections: require('/usr/app/components/sections/TwoColumnContentSections.vue').default,SectionsTwoColumnContentWithWidgetSections: require('/usr/app/components/sections/TwoColumnContentWithWidgetSections.vue').default,SectionsServicesSections: require('/usr/app/components/sections/ServicesSections.vue').default,SectionsBannerSections: require('/usr/app/components/sections/BannerSections.vue').default,SectionsTextSections: require('/usr/app/components/sections/TextSections.vue').default,Button: require('/usr/app/components/button/Button.vue').default,Accordion: require('/usr/app/components/accordion/Accordion.vue').default,Carousel: require('/usr/app/components/carousel/Carousel.vue').default})\n","// Components\nimport { VExpandTransition } from '../transitions'\nimport { VIcon } from '../VIcon'\nimport VTreeview from './VTreeview'\n\n// Mixins\nimport { inject as RegistrableInject } from '../../mixins/registrable'\nimport Colorable from '../../mixins/colorable'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getObjectValueByPath, createRange } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeChildren, PropType } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\ntype VTreeViewInstance = InstanceType<typeof VTreeview>\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject('treeview')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n treeview: VTreeViewInstance\n}\n\nexport const VTreeviewNodeProps = {\n activatable: Boolean,\n activeClass: {\n type: String,\n default: 'v-treeview-node--active',\n },\n color: {\n type: String,\n default: 'primary',\n },\n disablePerNode: Boolean,\n expandIcon: {\n type: String,\n default: '$subgroup',\n },\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n itemChildren: {\n type: String,\n default: 'children',\n },\n itemDisabled: {\n type: String,\n default: 'disabled',\n },\n itemKey: {\n type: String,\n default: 'id',\n },\n itemText: {\n type: String,\n default: 'name',\n },\n loadChildren: Function as PropType<(item: any) => Promise<void>>,\n loadingIcon: {\n type: String,\n default: '$loading',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n openOnClick: Boolean,\n rounded: Boolean,\n selectable: Boolean,\n selectedColor: {\n type: String,\n default: 'accent',\n },\n shaped: Boolean,\n transition: Boolean,\n selectionType: {\n type: String as PropType<'leaf' | 'independent'>,\n default: 'leaf',\n validator: (v: string) => ['leaf', 'independent'].includes(v),\n },\n}\n\n/* @vue/component */\nconst VTreeviewNode = baseMixins.extend<options>().extend({\n name: 'v-treeview-node',\n\n inject: {\n treeview: {\n default: null,\n },\n },\n\n props: {\n level: Number,\n item: {\n type: Object,\n default: () => null,\n } as PropValidator<Record<string, unknown> | null>,\n parentIsDisabled: Boolean,\n ...VTreeviewNodeProps,\n },\n\n data: () => ({\n hasLoaded: false,\n isActive: false, // Node is selected (row)\n isIndeterminate: false, // Node has at least one selected child\n isLoading: false,\n isOpen: false, // Node is open/expanded\n isSelected: false, // Node is selected (checkbox)\n }),\n\n computed: {\n disabled (): boolean {\n return (\n getObjectValueByPath(this.item, this.itemDisabled) ||\n (!this.disablePerNode && (this.parentIsDisabled && this.selectionType === 'leaf'))\n )\n },\n key (): string {\n return getObjectValueByPath(this.item, this.itemKey)\n },\n children (): any[] | null {\n const children = getObjectValueByPath(this.item, this.itemChildren)\n return children && children.filter((child: any) => !this.treeview.isExcluded(getObjectValueByPath(child, this.itemKey)))\n },\n text (): string {\n return getObjectValueByPath(this.item, this.itemText)\n },\n scopedProps (): object {\n return {\n item: this.item,\n leaf: !this.children,\n selected: this.isSelected,\n indeterminate: this.isIndeterminate,\n active: this.isActive,\n open: this.isOpen,\n }\n },\n computedIcon (): string {\n if (this.isIndeterminate) return this.indeterminateIcon\n else if (this.isSelected) return this.onIcon\n else return this.offIcon\n },\n hasChildren (): boolean {\n return !!this.children && (!!this.children.length || !!this.loadChildren)\n },\n },\n\n created () {\n this.treeview.register(this)\n },\n\n beforeDestroy () {\n this.treeview.unregister(this)\n },\n\n methods: {\n checkChildren (): Promise<void> {\n return new Promise<void>(resolve => {\n // TODO: Potential issue with always trying\n // to load children if response is empty?\n if (!this.children || this.children.length || !this.loadChildren || this.hasLoaded) return resolve()\n\n this.isLoading = true\n resolve(this.loadChildren(this.item))\n }).then(() => {\n this.isLoading = false\n this.hasLoaded = true\n })\n },\n open () {\n this.isOpen = !this.isOpen\n this.treeview.updateOpen(this.key, this.isOpen)\n this.treeview.emitOpen()\n },\n genLabel () {\n const children = []\n\n if (this.$scopedSlots.label) children.push(this.$scopedSlots.label(this.scopedProps))\n else children.push(this.text)\n\n return this.$createElement('div', {\n slot: 'label',\n staticClass: 'v-treeview-node__label',\n }, children)\n },\n genPrependSlot () {\n if (!this.$scopedSlots.prepend) return null\n\n return this.$createElement('div', {\n staticClass: 'v-treeview-node__prepend',\n }, this.$scopedSlots.prepend(this.scopedProps))\n },\n genAppendSlot () {\n if (!this.$scopedSlots.append) return null\n\n return this.$createElement('div', {\n staticClass: 'v-treeview-node__append',\n }, this.$scopedSlots.append(this.scopedProps))\n },\n genContent () {\n const children = [\n this.genPrependSlot(),\n this.genLabel(),\n this.genAppendSlot(),\n ]\n\n return this.$createElement('div', {\n staticClass: 'v-treeview-node__content',\n }, children)\n },\n genToggle () {\n return this.$createElement(VIcon, {\n staticClass: 'v-treeview-node__toggle',\n class: {\n 'v-treeview-node__toggle--open': this.isOpen,\n 'v-treeview-node__toggle--loading': this.isLoading,\n },\n slot: 'prepend',\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n\n if (this.isLoading) return\n\n this.checkChildren().then(() => this.open())\n },\n },\n }, [this.isLoading ? this.loadingIcon : this.expandIcon])\n },\n genCheckbox () {\n return this.$createElement(VIcon, {\n staticClass: 'v-treeview-node__checkbox',\n props: {\n color: this.isSelected || this.isIndeterminate ? this.selectedColor : undefined,\n disabled: this.disabled,\n },\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n\n if (this.isLoading) return\n\n this.checkChildren().then(() => {\n // We nextTick here so that items watch in VTreeview has a chance to run first\n this.$nextTick(() => {\n this.isSelected = !this.isSelected\n this.isIndeterminate = false\n\n this.treeview.updateSelected(this.key, this.isSelected)\n this.treeview.emitSelected()\n })\n })\n },\n },\n }, [this.computedIcon])\n },\n genLevel (level: number) {\n return createRange(level).map(() => this.$createElement('div', {\n staticClass: 'v-treeview-node__level',\n }))\n },\n genNode () {\n const children = [this.genContent()]\n\n if (this.selectable) children.unshift(this.genCheckbox())\n\n if (this.hasChildren) {\n children.unshift(this.genToggle())\n } else {\n children.unshift(...this.genLevel(1))\n }\n\n children.unshift(...this.genLevel(this.level))\n\n return this.$createElement('div', this.setTextColor(this.isActive && this.color, {\n staticClass: 'v-treeview-node__root',\n class: {\n [this.activeClass]: this.isActive,\n },\n on: {\n click: () => {\n if (this.openOnClick && this.hasChildren) {\n this.checkChildren().then(this.open)\n } else if (this.activatable && !this.disabled) {\n this.isActive = !this.isActive\n this.treeview.updateActive(this.key, this.isActive)\n this.treeview.emitActive()\n }\n },\n },\n }), children)\n },\n genChild (item: any, parentIsDisabled: boolean) {\n return this.$createElement(VTreeviewNode, {\n key: getObjectValueByPath(item, this.itemKey),\n props: {\n activatable: this.activatable,\n activeClass: this.activeClass,\n item,\n selectable: this.selectable,\n selectedColor: this.selectedColor,\n color: this.color,\n disablePerNode: this.disablePerNode,\n expandIcon: this.expandIcon,\n indeterminateIcon: this.indeterminateIcon,\n offIcon: this.offIcon,\n onIcon: this.onIcon,\n loadingIcon: this.loadingIcon,\n itemKey: this.itemKey,\n itemText: this.itemText,\n itemDisabled: this.itemDisabled,\n itemChildren: this.itemChildren,\n loadChildren: this.loadChildren,\n transition: this.transition,\n openOnClick: this.openOnClick,\n rounded: this.rounded,\n shaped: this.shaped,\n level: this.level + 1,\n selectionType: this.selectionType,\n parentIsDisabled,\n },\n scopedSlots: this.$scopedSlots,\n })\n },\n genChildrenWrapper () {\n if (!this.isOpen || !this.children) return null\n\n const children = [this.children.map(c => this.genChild(c, this.disabled))]\n\n return this.$createElement('div', {\n staticClass: 'v-treeview-node__children',\n }, children)\n },\n genTransition () {\n return this.$createElement(VExpandTransition, [this.genChildrenWrapper()])\n },\n },\n\n render (h): VNode {\n const children: VNodeChildren = [this.genNode()]\n\n if (this.transition) children.push(this.genTransition())\n else children.push(this.genChildrenWrapper())\n\n return h('div', {\n staticClass: 'v-treeview-node',\n class: {\n 'v-treeview-node--leaf': !this.hasChildren,\n 'v-treeview-node--click': this.openOnClick,\n 'v-treeview-node--disabled': this.disabled,\n 'v-treeview-node--rounded': this.rounded,\n 'v-treeview-node--shaped': this.shaped,\n 'v-treeview-node--selected': this.isSelected,\n },\n attrs: {\n 'aria-expanded': String(this.isOpen),\n },\n }, children)\n },\n})\n\nexport default VTreeviewNode\n","import { getObjectValueByPath } from '../../../util/helpers'\nimport { TreeviewItemFunction } from 'vuetify/types'\n\nexport function filterTreeItem (item: object, search: string, textKey: string): boolean {\n const text = getObjectValueByPath(item, textKey)\n\n return text.toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) > -1\n}\n\nexport function filterTreeItems (\n filter: TreeviewItemFunction,\n item: any,\n search: string,\n idKey: string,\n textKey: string,\n childrenKey: string,\n excluded: Set<string | number>\n): boolean {\n if (filter(item, search, textKey)) {\n return true\n }\n\n const children = getObjectValueByPath(item, childrenKey)\n\n if (children) {\n let match = false\n for (let i = 0; i < children.length; i++) {\n if (filterTreeItems(filter, children[i], search, idKey, textKey, childrenKey, excluded)) {\n match = true\n }\n }\n\n if (match) return true\n }\n\n excluded.add(getObjectValueByPath(item, idKey))\n\n return false\n}\n","// Styles\nimport './VTreeview.sass'\n\n// Types\nimport { VNode, VNodeChildrenArrayContents, PropType } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { TreeviewItemFunction } from 'vuetify/types'\n\n// Components\nimport VTreeviewNode, { VTreeviewNodeProps } from './VTreeviewNode'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Utils\nimport {\n arrayDiff,\n deepEqual,\n getObjectValueByPath,\n} from '../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\nimport {\n filterTreeItems,\n filterTreeItem,\n} from './util/filterTreeItems'\n\ntype VTreeviewNodeInstance = InstanceType<typeof VTreeviewNode>\n\ntype NodeCache = Set<string | number>\ntype NodeArray = (string | number)[]\n\ntype NodeState = {\n parent: number | string | null\n children: (number | string)[]\n vnode: VTreeviewNodeInstance | null\n isActive: boolean\n isSelected: boolean\n isIndeterminate: boolean\n isOpen: boolean\n item: any\n}\n\nexport default mixins(\n RegistrableProvide('treeview'),\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-treeview',\n\n provide (): object {\n return { treeview: this }\n },\n\n props: {\n active: {\n type: Array,\n default: () => ([]),\n } as PropValidator<NodeArray>,\n dense: Boolean,\n disabled: Boolean,\n filter: Function as PropType<TreeviewItemFunction>,\n hoverable: Boolean,\n items: {\n type: Array,\n default: () => ([]),\n } as PropValidator<any[]>,\n multipleActive: Boolean,\n open: {\n type: Array,\n default: () => ([]),\n } as PropValidator<NodeArray>,\n openAll: Boolean,\n returnObject: {\n type: Boolean,\n default: false, // TODO: Should be true in next major\n },\n search: String,\n value: {\n type: Array,\n default: () => ([]),\n } as PropValidator<NodeArray>,\n ...VTreeviewNodeProps,\n },\n\n data: () => ({\n level: -1,\n activeCache: new Set() as NodeCache,\n nodes: {} as Record<string | number, NodeState>,\n openCache: new Set() as NodeCache,\n selectedCache: new Set() as NodeCache,\n }),\n\n computed: {\n excludedItems (): Set<string | number> {\n const excluded = new Set<string|number>()\n\n if (!this.search) return excluded\n\n for (let i = 0; i < this.items.length; i++) {\n filterTreeItems(\n this.filter || filterTreeItem,\n this.items[i],\n this.search,\n this.itemKey,\n this.itemText,\n this.itemChildren,\n excluded\n )\n }\n\n return excluded\n },\n },\n\n watch: {\n items: {\n handler () {\n const oldKeys = Object.keys(this.nodes).map(k => getObjectValueByPath(this.nodes[k].item, this.itemKey))\n const newKeys = this.getKeys(this.items)\n const diff = arrayDiff(newKeys, oldKeys)\n\n // We only want to do stuff if items have changed\n if (!diff.length && newKeys.length < oldKeys.length) return\n\n // If nodes are removed we need to clear them from this.nodes\n diff.forEach(k => delete this.nodes[k])\n\n const oldSelectedCache = [...this.selectedCache]\n this.selectedCache = new Set()\n this.activeCache = new Set()\n this.openCache = new Set()\n this.buildTree(this.items)\n\n // Only emit selected if selection has changed\n // as a result of items changing. This fixes a\n // potential double emit when selecting a node\n // with dynamic children\n if (!deepEqual(oldSelectedCache, [...this.selectedCache])) this.emitSelected()\n },\n deep: true,\n },\n active (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.activeCache, this.updateActive, this.emitActive)\n },\n value (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.selectedCache, this.updateSelected, this.emitSelected)\n },\n open (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.openCache, this.updateOpen, this.emitOpen)\n },\n },\n\n created () {\n const getValue = (key: string | number) => this.returnObject ? getObjectValueByPath(key, this.itemKey) : key\n\n this.buildTree(this.items)\n\n for (const value of this.value.map(getValue)) {\n this.updateSelected(value, true, true)\n }\n\n for (const active of this.active.map(getValue)) {\n this.updateActive(active, true)\n }\n },\n\n mounted () {\n // Save the developer from themselves\n if (this.$slots.prepend || this.$slots.append) {\n consoleWarn('The prepend and append slots require a slot-scope attribute', this)\n }\n\n if (this.openAll) {\n this.updateAll(true)\n } else {\n this.open.forEach(key => this.updateOpen(this.returnObject ? getObjectValueByPath(key, this.itemKey) : key, true))\n this.emitOpen()\n }\n },\n\n methods: {\n /** @public */\n updateAll (value: boolean) {\n Object.keys(this.nodes).forEach(key => this.updateOpen(getObjectValueByPath(this.nodes[key].item, this.itemKey), value))\n this.emitOpen()\n },\n getKeys (items: any[], keys: any[] = []) {\n for (let i = 0; i < items.length; i++) {\n const key = getObjectValueByPath(items[i], this.itemKey)\n keys.push(key)\n const children = getObjectValueByPath(items[i], this.itemChildren)\n if (children) {\n keys.push(...this.getKeys(children))\n }\n }\n\n return keys\n },\n buildTree (items: any[], parent: (string | number | null) = null) {\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const key = getObjectValueByPath(item, this.itemKey)\n const children = getObjectValueByPath(item, this.itemChildren) ?? []\n const oldNode = this.nodes.hasOwnProperty(key) ? this.nodes[key] : {\n isSelected: false, isIndeterminate: false, isActive: false, isOpen: false, vnode: null,\n } as NodeState\n\n const node: any = {\n vnode: oldNode.vnode,\n parent,\n children: children.map((c: any) => getObjectValueByPath(c, this.itemKey)),\n item,\n }\n\n this.buildTree(children, key)\n\n // This fixed bug with dynamic children resetting selected parent state\n if (\n this.selectionType !== 'independent' &&\n parent !== null &&\n !this.nodes.hasOwnProperty(key) &&\n this.nodes.hasOwnProperty(parent)\n ) {\n node.isSelected = this.nodes[parent].isSelected\n } else {\n node.isSelected = oldNode.isSelected\n node.isIndeterminate = oldNode.isIndeterminate\n }\n\n node.isActive = oldNode.isActive\n node.isOpen = oldNode.isOpen\n\n this.nodes[key] = node\n\n if (children.length && this.selectionType !== 'independent') {\n const { isSelected, isIndeterminate } = this.calculateState(key, this.nodes)\n\n node.isSelected = isSelected\n node.isIndeterminate = isIndeterminate\n }\n\n // Don't forget to rebuild cache\n if (this.nodes[key].isSelected && (this.selectionType === 'independent' || node.children.length === 0)) this.selectedCache.add(key)\n if (this.nodes[key].isActive) this.activeCache.add(key)\n if (this.nodes[key].isOpen) this.openCache.add(key)\n\n this.updateVnodeState(key)\n }\n },\n calculateState (node: string | number, state: Record<string | number, NodeState>) {\n const children = state[node].children\n const counts = children.reduce((counts: number[], child: string | number) => {\n counts[0] += +Boolean(state[child].isSelected)\n counts[1] += +Boolean(state[child].isIndeterminate)\n\n return counts\n }, [0, 0])\n\n const isSelected = !!children.length && counts[0] === children.length\n const isIndeterminate = !isSelected && (counts[0] > 0 || counts[1] > 0)\n\n return {\n isSelected,\n isIndeterminate,\n }\n },\n emitOpen () {\n this.emitNodeCache('update:open', this.openCache)\n },\n emitSelected () {\n this.emitNodeCache('input', this.selectedCache)\n },\n emitActive () {\n this.emitNodeCache('update:active', this.activeCache)\n },\n emitNodeCache (event: string, cache: NodeCache) {\n this.$emit(event, this.returnObject ? [...cache].map(key => this.nodes[key].item) : [...cache])\n },\n handleNodeCacheWatcher (value: any[], cache: NodeCache, updateFn: Function, emitFn: Function) {\n value = this.returnObject ? value.map(v => getObjectValueByPath(v, this.itemKey)) : value\n const old = [...cache]\n if (deepEqual(old, value)) return\n\n old.forEach(key => updateFn(key, false))\n value.forEach(key => updateFn(key, true))\n\n emitFn()\n },\n getDescendants (key: string | number, descendants: NodeArray = []) {\n const children = this.nodes[key].children\n\n descendants.push(...children)\n\n for (let i = 0; i < children.length; i++) {\n descendants = this.getDescendants(children[i], descendants)\n }\n\n return descendants\n },\n getParents (key: string | number) {\n let parent = this.nodes[key].parent\n\n const parents = []\n while (parent !== null) {\n parents.push(parent)\n parent = this.nodes[parent].parent\n }\n\n return parents\n },\n register (node: VTreeviewNodeInstance) {\n const key = getObjectValueByPath(node.item, this.itemKey)\n this.nodes[key].vnode = node\n\n this.updateVnodeState(key)\n },\n unregister (node: VTreeviewNodeInstance) {\n const key = getObjectValueByPath(node.item, this.itemKey)\n if (this.nodes[key]) this.nodes[key].vnode = null\n },\n isParent (key: string | number) {\n return this.nodes[key].children && this.nodes[key].children.length\n },\n updateActive (key: string | number, isActive: boolean) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n if (!this.multipleActive) {\n this.activeCache.forEach(active => {\n this.nodes[active].isActive = false\n this.updateVnodeState(active)\n this.activeCache.delete(active)\n })\n }\n\n const node = this.nodes[key]\n if (!node) return\n\n if (isActive) this.activeCache.add(key)\n else this.activeCache.delete(key)\n\n node.isActive = isActive\n\n this.updateVnodeState(key)\n },\n updateSelected (key: string | number, isSelected: boolean, isForced = false) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n const changed = new Map()\n\n if (this.selectionType !== 'independent') {\n for (const descendant of this.getDescendants(key)) {\n if (!getObjectValueByPath(this.nodes[descendant].item, this.itemDisabled) || isForced) {\n this.nodes[descendant].isSelected = isSelected\n this.nodes[descendant].isIndeterminate = false\n changed.set(descendant, isSelected)\n }\n }\n\n const calculated = this.calculateState(key, this.nodes)\n this.nodes[key].isSelected = isSelected\n this.nodes[key].isIndeterminate = calculated.isIndeterminate\n changed.set(key, isSelected)\n\n for (const parent of this.getParents(key)) {\n const calculated = this.calculateState(parent, this.nodes)\n this.nodes[parent].isSelected = calculated.isSelected\n this.nodes[parent].isIndeterminate = calculated.isIndeterminate\n changed.set(parent, calculated.isSelected)\n }\n } else {\n this.nodes[key].isSelected = isSelected\n this.nodes[key].isIndeterminate = false\n changed.set(key, isSelected)\n }\n\n for (const [key, value] of changed.entries()) {\n this.updateVnodeState(key)\n\n if (this.selectionType === 'leaf' && this.isParent(key)) continue\n\n value === true ? this.selectedCache.add(key) : this.selectedCache.delete(key)\n }\n },\n updateOpen (key: string | number, isOpen: boolean) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n const node = this.nodes[key]\n const children = getObjectValueByPath(node.item, this.itemChildren)\n\n if (children && !children.length && node.vnode && !node.vnode.hasLoaded) {\n node.vnode.checkChildren().then(() => this.updateOpen(key, isOpen))\n } else if (children && children.length) {\n node.isOpen = isOpen\n\n node.isOpen ? this.openCache.add(key) : this.openCache.delete(key)\n\n this.updateVnodeState(key)\n }\n },\n updateVnodeState (key: string | number) {\n const node = this.nodes[key]\n\n if (node && node.vnode) {\n node.vnode.isSelected = node.isSelected\n node.vnode.isIndeterminate = node.isIndeterminate\n node.vnode.isActive = node.isActive\n node.vnode.isOpen = node.isOpen\n }\n },\n isExcluded (key: string | number) {\n return !!this.search && this.excludedItems.has(key)\n },\n },\n\n render (h): VNode {\n const children: VNodeChildrenArrayContents = this.items.length\n ? this.items.filter(item => {\n return !this.isExcluded(getObjectValueByPath(item, this.itemKey))\n }).map(item => {\n const genChild = VTreeviewNode.options.methods.genChild.bind(this)\n\n return genChild(item, this.disabled || getObjectValueByPath(item, this.itemDisabled))\n })\n /* istanbul ignore next */\n : this.$slots.default! // TODO: remove type annotation with TS 3.2\n\n return h('div', {\n staticClass: 'v-treeview',\n class: {\n 'v-treeview--hoverable': this.hoverable,\n 'v-treeview--dense': this.dense,\n ...this.themeClasses,\n },\n }, children)\n },\n})\n","\nimport qs from \"qs\";\nimport lang from \"@/mixins/lang\";\nimport SEO from \"@/mixins/seo.js\";\n\nexport default {\n layout: \"default\",\n mixins: [lang, SEO],\n data() {\n return {\n pageData: {},\n seo: {},\n pageTitle: \"\",\n sideBar: [],\n parentSlug: \"\",\n filterslug: \"\",\n };\n },\n async fetch() {\n const path = this.$route.path.endsWith(\"/\")\n ? this.$route.path.slice(0, -1).split(\"/\").pop()\n : this.$route.path.split(\"/\").pop();\n try {\n const queryParams = qs.stringify(\n {\n locale: this.currentLang ?? \"tr\",\n filters: {\n slug: path,\n },\n populate: {\n parent: {\n fields: [\"*\"],\n populate: \"sayfalar.sayfalar.sayfalar.sayfalar.sayfalar.sayfalar\",\n },\n sayfalar: {\n fields: [\"*\"],\n populate: [\"parent.parent.parent.parent.parent.parent\"],\n },\n seo: {\n fields: [\"*\"],\n populate: \"metaImage\",\n },\n pageSettings: {\n fields: [\"*\"],\n populate: \"birim\",\n },\n heroSection: {\n fields: [\"*\"],\n populate: [\n \"widget.widget.buttons\",\n \"widget.wiget.endpoint\",\n \"widget.wiget.logo\",\n \"endpoint.endpoint\",\n \"hero.image\",\n \"hero.icerik.icerik_turu\",\n \"hero.icerik.featuredMedia\",\n \"hero.icerik.galleryMedia\",\n \"hero.icerik.birimler\",\n \"hero.icerik.etiketler\",\n \"hero.icerik.seo\",\n \"hero.icerik.video\",\n \"hero.icerik.embedUrl\",\n ],\n },\n quickLinks: {\n fields: [\"*\"],\n populate: [\n \"widget.widget.buttons\",\n \"widget.wiget.endpoint\",\n \"widget.wiget.logo\",\n ],\n },\n content: {\n on: {\n \"sections.banner-section\": {\n fields: [\"*\"],\n populate: [\n \"banners.button\",\n \"banners.image\",\n \"banners.widget.buttons\",\n \"banners.widget.endpoint\",\n \"banners.widget.logo\",\n ],\n },\n \"sections.content-section\": {\n fields: \"*\",\n populate: \"endpoint\",\n },\n \"sections.services-section\": {\n fields: \"*\",\n populate: [\n \"featuredServicesButtons\",\n \"featuredServicesGroup.hizmetler.parent.parent.parent.parent\",\n ],\n },\n \"sections.widget-section\": {\n fields: \"*\",\n populate: [\n \"widget.widget.buttons\",\n \"widget.widget.logo\",\n \"widget.widget.endpoint\",\n ],\n },\n \"sections.text-section\": {\n fields: \"*\",\n populate: \"endpoint\",\n },\n \"elements.button\": {\n fields: \"*\",\n populate: \"endpoint\",\n },\n \"sections.two-column-content-section\": {\n fields: \"*\",\n populate: \"content.endpoint\",\n },\n \"sections.two-column-content-with-widget\": {\n fields: \"*\",\n populate: [\n \"content.endpoint\",\n \"widget.widget.buttons\",\n \"widget.widget.logo\",\n \"widget.widget.endpoint\",\n ],\n },\n \"sections.gallery-section\": {\n fields: \"*\",\n populate: \"medias\",\n },\n \"sections.endpoint-data-section\": {\n fields: \"*\",\n populate: \"endpoint\",\n },\n \"sections.accordion-section\": {\n fields: \"*\",\n populate: [\n \"accordion.downloadMedia\",\n \"accordion.downloadLinks.downloadMedia\",\n ],\n },\n \"sections.person-list-section\": {\n fields: \"*\",\n populate: \"persons.kisi.cardPerson.foto\",\n },\n \"sections.person-section\": {\n fields: \"*\",\n populate: \"kisi.cardPerson.foto\",\n },\n \"sections.dam-section\": {\n fields: \"*\",\n populate: \"content\",\n },\n },\n },\n tabs: {\n on: {\n \"sections.text-section\": {\n fields: \"*\",\n populate: \"endpoint\",\n },\n \"sections.gallery-section\": {\n fields: \"*\",\n populate: \"medias\",\n },\n \"sections.download-links-section\": {\n fields: \"*\",\n populate: [\"content.downloadMedia\", \"content.downloadLinks\"],\n },\n \"sections.person-list-section\": {\n fields: \"*\",\n populate: \"persons.kisi.cardPerson.foto\",\n },\n \"sections.person-section\": {\n fields: \"*\",\n populate: \"kisi.cardPerson.foto\",\n },\n \"sections.accordion-section\": {\n fields: \"*\",\n populate: [\n \"accordion.downloadMedia\",\n \"accordion.downloadLinks.downloadMedia\",\n ],\n },\n \"sections.dam-section\": {\n fields: \"*\",\n populate: \"content\",\n },\n },\n },\n solMenu: {\n on: {\n \"elements.endpoints\": {\n fields: \"*\",\n populate: \"endpoint.enpoint\",\n },\n \"elements.button\": {\n fields: \"*\",\n },\n },\n },\n },\n },\n {\n encodeValuesOnly: true,\n }\n );\n const { data: { data: [{ attributes: pageData } = {}] = {} } = {} } =\n await this.$axios.get(`sayfalar?${queryParams}`);\n this.pageData = await pageData;\n this.seo = (await this.pageData?.seo) ?? null;\n this.pageTitle = (await this.pageData?.title) ?? null;\n this.filterslug =\n this.pageData?.pageSettings?.birim?.data?.attributes.slug ?? \"\";\n } catch (error) {\n console.log(error);\n }\n\n // Sol Menü: title + slug + parent + sayfalar datası\n try {\n const {\n data: { data: [{ attributes: parentPageData } = {}] = {} } = {},\n } = await this.$axios.get(\n `sayfalar?populate=sayfalar.sayfalar.sayfalar.sayfalar.sayfalar&populate=parent.parent.parent.parent.parent&populate=parent.sayfalar.sayfalar.sayfalar.sayfalar.sayfalar&populate=parent.sayfalar&populate=parent.parent.sayfalar&populate=parent.parent.parent.sayfalar&populate=parent.parent.sayfalar.sayfalar&populate=parent.parent.parent.sayfalar.sayfalar.sayfalar&populate=parent.parent.parent.parent.sayfalar.sayfalar.sayfalar.sayfalar&populate=parent.parent.sayfalar.sayfalar.sayfalar.sayfalar&populate=solMenu.endpoint&populate=parent.solMenu.endpoint&populate=sayfalar.solMenu.endpoint&populate=parent.sayfalar.solMenu.endpoint&populate=parent.parent.solMenu.endpoint&filters[slug]=${path}&locale=${\n this.currentLang ?? \"tr\"\n }`\n );\n // TODO: Burası optimize edilecek.\n // Slug bilgisine göre gelen datadan/sayfadan parent datasının olup olmadığı kontrol edilerek en üst parent bulunur. (Maksimum 5 kırılım kontrol edilir):\n // Eğer bir sayfanın parent datası 0 veya null ise, bu en üst parent yani top level/ birinci seviye sayfa olduğunu gösterir.\n\n // İlk önce bu datanın parent length'i kontrol edilecek birinci level olup olmadığı kontrol edilir.\n // Değilse parent'ının birinci level olup olmadığı kontrol edilir, değilse bir üst parent değilse bir üst parent...\n // En üst parent bulunduğunda, bu bulunan sayfa datasının `sayfalar` parametresindeki alt sayfaları sideBar datasına aktarılır.\n const sideBar =\n (await parentPageData.parent?.data?.length) === 0\n ? parentPageData\n : parentPageData.parent?.data?.[0].attributes?.parent?.data.length ===\n 0\n ? parentPageData.parent.data[0].attributes\n : parentPageData.parent?.data?.[0].attributes?.parent?.data?.[0]\n ?.attributes?.parent?.data.length === 0\n ? parentPageData.parent.data[0].attributes.parent.data[0].attributes\n : parentPageData.parent?.data?.[0].attributes?.parent?.data?.[0]\n ?.attributes?.parent?.data?.[0]?.attributes?.parent?.data\n .length === 0\n ? parentPageData.parent.data[0].attributes.parent.data[0].attributes\n .parent.data[0].attributes\n : parentPageData.parent?.data?.[0]?.attributes?.parent?.data?.[0]\n ?.attributes?.parent?.data?.[0]?.attributes?.parent?.data?.[0]\n ?.attributes?.parent?.data.length === 0\n ? parentPageData.parent.data[0].attributes.parent.data[0].attributes\n .parent.data[0].attributes.parent.data[0].attributes\n : parentPageData.parent?.data?.[0]?.attributes?.parent?.data?.[0]\n ?.attributes?.parent?.data?.[0]?.attributes?.parent?.data?.[0]\n ?.attributes?.parent?.data?.[0]?.attributes;\n this.sideBar = await sideBar.sayfalar.data;\n this.parentSlug = await sideBar.slug;\n } catch {}\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=71c24b25&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {PagesList: require('/usr/app/components/pages/List.vue').default,PagesBirimler: require('/usr/app/components/pages/Birimler.vue').default,PagesOrganization: require('/usr/app/components/pages/Organization.vue').default,PagesDefault: require('/usr/app/components/pages/Default.vue').default})\n","// This mixin provides date formatting methods for consistent date and time display.\n\nexport const dateMixin = {\n methods: {\n // Format a date and time in a specific format (e.g., \"dd/mm/yyyy hh:mm\")\n formatDateAndTime(date) {\n return new Date(date).toLocaleDateString(\"tr-TR\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n });\n },\n\n // Format a time format (e.g., \"hh:mm\")\n formatTime(date) {\n const hours = String(new Date(date).getHours()).padStart(2, '0');\n const minutes = String(new Date(date).getMinutes()).padStart(2, '0');\n return `${hours}:${minutes}`;\n },\n\n // Format a date in a specific format (e.g., \"dd/mm/yyyy\")\n formatDate(date) {\n return new Date(date).toLocaleDateString(\"tr-TR\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\",\n });\n },\n\n // Extract and return the day from a date (e.g., \"28\")\n formatDateToDay(date) {\n return new Date(date).getDate();\n },\n\n // Format a date to display month and year (e.g., \"Jan 2023\")\n formatDateToMonthandYear(date) {\n return new Date(date).toLocaleString(\"tr-TR\", {\n month: \"short\",\n year: \"numeric\",\n });\n },\n\n // Format a date to display in a full format (e.g., \"25 Jan 2023\")\n formatDateToFull(date) {\n return new Date(date).toLocaleString(\"tr-TR\", {\n day: \"2-digit\",\n month: \"long\",\n year: \"numeric\",\n });\n },\n },\n};\n","// This mixin handles dynamic pages and their parent slugs based on the route endpoint.\n\n// Import site settings to access dynamic route mappings\nimport DATA_SITE_SETTINGS from \"./site-settings\";\n\nexport default {\n mixins: [DATA_SITE_SETTINGS],\n\n data() {\n return {\n siteSettingsData: {}, // Stores site settings data\n getEndpoint: null // Holds the current endpoint\n };\n },\n\n computed: {\n // Computes the dynamic parent slug based on the current endpoint\n setDynamicParentSlug() {\n const endpoint = this.getEndpoint;\n const hasQuery = endpoint?.includes(\"?\");\n const endpointWithoutQuery = hasQuery ? endpoint.split(\"?\")[0] : endpoint;\n\n // If the endpoint is 'icerikler' (content) and contains 'icerik_turu' in the query,\n // match it with parent routes based on 'icerik_turu'\n const icerik_turu =\n endpointWithoutQuery === \"icerikler\"\n ? endpoint.match(/filters\\[icerik_turu\\]\\[slug\\]\\[\\$eq\\]=(.*?)&/)\n : null;\n\n // Filter dynamicRouteMaps to find a matching parent route\n return this.siteSettingsData?.dynamicRouteMaps?.filter((routes) => {\n return icerik_turu\n ? routes.route === icerik_turu[1]\n : routes.route === endpointWithoutQuery;\n });\n },\n \n branchesSlug() {\n return this.siteSettingsData?.dynamicRouteMaps?.filter((routes) => {\n return routes.route === \"subeler\";\n });\n },\n\n // Computes the slug for persons based on dynamic route mappings\n personsSlug() {\n return this.siteSettingsData?.dynamicRouteMaps?.filter((routes) => {\n return routes.route === \"kisiler\";\n });\n },\n },\n\n methods: {\n // Get the slug for 'icerikler' (content) based on the endpoint\n iceriklerSlug(endpoint) {\n const map = this.siteSettingsData?.dynamicRouteMaps?.filter((routes) => {\n return routes.route === endpoint;\n });\n return map?.[0]?.slug;\n },\n },\n};\n","export const utils = {\n methods: {\n // Converts a string to camelCase and replaces special Turkish characters with their English counterparts\n convertToCamelCase(value) {\n const result = value\n .replace(/ğ/g, 'g')\n .replace(/ü/g, 'u')\n .replace(/ş/g, 's')\n .replace(/ı/g, 'i')\n .replace(/ö/g, 'o')\n .replace(/ç/g, 'c')\n .replace(/İ/g, 'i')\n .replace(/Ğ/g, 'g')\n .replace(/Ü/g, 'u')\n .replace(/Ş/g, 's')\n .replace(/Ö/g, 'o')\n .replace(/Ç/g, 'c');\n\n return result\n .replace(/[^\\w\\s-]+/g, '') // Remove special characters except for whitespace and hyphens\n .toLowerCase()\n .replace(/\\s+/g, '-'); // Replace spaces with hyphens\n },\n // Removes a trailing slash from a string if it exists\n removeTrailingSlash(string) {\n if (string) {\n let result = string;\n return result?.endsWith(\"/\") ? result.slice(0, -1) : result;\n }\n },\n }\n}\n","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","import VIcon from './VIcon'\n\nexport { VIcon }\nexport default VIcon\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./QuickLinks.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./QuickLinks.vue?vue&type=script&lang=js&\"","\nimport device from \"@/mixins/device.js\";\n\nexport default {\n name: \"WidgetQuickLinks\",\n mixins: [device],\n props: {\n widget: {\n type: Object,\n },\n },\n};\n","import { render, staticRenderFns } from \"./QuickLinks.vue?vue&type=template&id=081e7944&\"\nimport script from \"./QuickLinks.vue?vue&type=script&lang=js&\"\nexport * from \"./QuickLinks.vue?vue&type=script&lang=js&\"\nimport style0 from \"./QuickLinks.vue?vue&type=style&index=0&id=081e7944&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {Button: require('/usr/app/components/button/Button.vue').default})\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Slider.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Slider.vue?vue&type=script&lang=js&\"","\nimport lang from \"@/mixins/lang.js\";\nimport { utils } from \"@/mixins/utils.js\";\nimport ProgressBar from \"progressbar.js\";\nimport dynamicPagesParentsSlugs from \"@/mixins/dynamic-pages-parents-slug\";\n\nexport default {\n name: \"ModulesSlider\",\n mixins: [lang, dynamicPagesParentsSlugs, utils],\n props: {\n /**\n * @param {endpoint} - içerik verilerinin url sorgularını sağlar.\n * Vue lifecycle `fetch` sırasında @param {this.$axios} ve @param {endpoint} kullanarak\n * Tüm veriler @param {endpointData} değişkenine atanır.\n */\n section: {\n type: Object,\n },\n endpoint: {\n type: String,\n required: true,\n },\n filterslug: {\n type: String,\n },\n size: {\n type: String,\n default: \"lg\",\n required: true,\n },\n duration: {\n type: Number,\n default: 8000,\n },\n },\n data() {\n return {\n endpointData: null,\n modalStatus: false,\n videoEmbedUrl: undefined,\n video: null,\n featuredMedia: null,\n section_slider_slides_settings: {\n arrows: false,\n dots: false,\n draggable: true,\n infinite: true,\n slidesToShow: 1,\n fade: true,\n pauseOnHover: false,\n },\n section_slider_thumbs_settings: {\n arrows: false,\n dots: false,\n draggable: false,\n slidesToShow: this.size == \"lg\" ? 3 : 2,\n autoplay: true,\n speed: 250,\n pauseOnHover: false,\n autoplaySpeed: this.duration,\n responsive: [\n {\n breakpoint: 1024,\n settings: {\n slidesToShow: 2,\n slidesToScroll: 1,\n draggable: true,\n },\n },\n ],\n },\n getEndpoint: null,\n };\n },\n async mounted() {\n await this.fetchData();\n this.$nextTick(async () => {\n await this.$nextTick();\n this.videoEmbedUrl = null;\n this.featuredMedia = null;\n this.video = null;\n });\n },\n methods: {\n async fetchData() {\n let modifiedEndpoint = this.endpoint;\n await this.filterslug;\n try {\n if (!!this.endpoint && this.filterslug !== null) {\n modifiedEndpoint = this.endpoint.includes(\"filterslug=true\")\n ? `${this.endpoint}${this.filterslug}`\n : this.endpoint;\n }\n\n const response = await this.$axios.get(modifiedEndpoint);\n this.endpointData = response.data.data;\n this.getEndpoint = await this.endpoint;\n } catch (error) {\n console.error(error);\n }\n },\n showModal(embedUrl, video, featuredMedia) {\n this.modalStatus = false;\n this.modalStatus = true;\n\n this.video = video?.data?.attributes ?? null;\n\n this.videoEmbedUrl = embedUrl\n ? embedUrl.replace(\"watch?v=\", \"embed/\")\n : null;\n\n this.featuredMedia = featuredMedia?.data?.attributes ?? null;\n\n this.$refs.section_slider_thumbs.pause();\n this.svgBarDefault();\n },\n svgBarDefault() {\n const sliderButton = document.querySelector(\n \".slick-current .slider-button\"\n );\n if (sliderButton) {\n sliderButton.innerHTML =\n '<div class=\"playDefault\"><i class=\"fas fa-angle-right text-sm text-blue-500\"></i></div>';\n } else {\n return;\n console.warn(\"sliderButton not found in the DOM\");\n }\n },\n svgBarCircle() {\n const sliderButton = document.querySelector(\n \".slick-current .slider-button\"\n );\n if (sliderButton) {\n sliderButton.innerHTML =\n '<div class=\"playDot\"><i class=\"fas fa-angle-right text-sm text-blue-500\"></i></div>';\n const bar = new ProgressBar.Circle(\".playDot\", {\n strokeWidth: 7,\n easing: \"easeInOut\",\n duration: this.duration,\n color: \"#00AFD9\",\n trailColor: \"#27549D\",\n trailWidth: 2,\n svgStyle: null,\n });\n bar.animate(1);\n } else {\n return;\n console.warn(\"sliderButton not found in the DOM\");\n }\n },\n onInitCarousel() {\n const sliderSection = document.querySelector(\".slider-section\");\n if (sliderSection && sliderSection.classList.length < 5) {\n sliderSection.classList.add(\"active-slider\");\n this.svgBarCircle();\n }\n },\n beforeChangeCarousel() {\n this.svgBarDefault();\n this.$refs.section_slider_thumbs.pause();\n },\n afterChangeCarousel() {\n this.svgBarCircle();\n this.$refs.section_slider_thumbs.play();\n },\n },\n};\n","import { render, staticRenderFns } from \"./Slider.vue?vue&type=template&id=6e2581b6&\"\nimport script from \"./Slider.vue?vue&type=script&lang=js&\"\nexport * from \"./Slider.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Slider.vue?vue&type=style&index=0&id=6e2581b6&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {Picture: require('/usr/app/components/picture/picture.vue').default,Modal: require('/usr/app/components/modal/Modal.vue').default})\n","\nimport lang from \"@/mixins/lang.js\";\nexport default {\n name: \"DownloadLink\",\n mixins: [lang],\n props: {\n section: {\n type: Array,\n default: () => [],\n },\n },\n data() {\n return {\n cdnUrl: \"\",\n };\n },\n created() {\n this.cdnUrl = process.env.NUXT_ENV_CDN_URL;\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./DownloadLink.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./DownloadLink.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DownloadLink.vue?vue&type=template&id=35a76598&\"\nimport script from \"./DownloadLink.vue?vue&type=script&lang=js&\"\nexport * from \"./DownloadLink.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/*!\n * Chart.js v3.9.1\n * https://www.chartjs.org\n * (c) 2022 Chart.js Contributors\n * Released under the MIT License\n */\nfunction noop() {}\nconst uid = (function() {\n let id = 0;\n return function() {\n return id++;\n };\n}());\nfunction isNullOrUndef(value) {\n return value === null || typeof value === 'undefined';\n}\nfunction isArray(value) {\n if (Array.isArray && Array.isArray(value)) {\n return true;\n }\n const type = Object.prototype.toString.call(value);\n if (type.slice(0, 7) === '[object' && type.slice(-6) === 'Array]') {\n return true;\n }\n return false;\n}\nfunction isObject(value) {\n return value !== null && Object.prototype.toString.call(value) === '[object Object]';\n}\nconst isNumberFinite = (value) => (typeof value === 'number' || value instanceof Number) && isFinite(+value);\nfunction finiteOrDefault(value, defaultValue) {\n return isNumberFinite(value) ? value : defaultValue;\n}\nfunction valueOrDefault(value, defaultValue) {\n return typeof value === 'undefined' ? defaultValue : value;\n}\nconst toPercentage = (value, dimension) =>\n typeof value === 'string' && value.endsWith('%') ?\n parseFloat(value) / 100\n : value / dimension;\nconst toDimension = (value, dimension) =>\n typeof value === 'string' && value.endsWith('%') ?\n parseFloat(value) / 100 * dimension\n : +value;\nfunction callback(fn, args, thisArg) {\n if (fn && typeof fn.call === 'function') {\n return fn.apply(thisArg, args);\n }\n}\nfunction each(loopable, fn, thisArg, reverse) {\n let i, len, keys;\n if (isArray(loopable)) {\n len = loopable.length;\n if (reverse) {\n for (i = len - 1; i >= 0; i--) {\n fn.call(thisArg, loopable[i], i);\n }\n } else {\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[i], i);\n }\n }\n } else if (isObject(loopable)) {\n keys = Object.keys(loopable);\n len = keys.length;\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[keys[i]], keys[i]);\n }\n }\n}\nfunction _elementsEqual(a0, a1) {\n let i, ilen, v0, v1;\n if (!a0 || !a1 || a0.length !== a1.length) {\n return false;\n }\n for (i = 0, ilen = a0.length; i < ilen; ++i) {\n v0 = a0[i];\n v1 = a1[i];\n if (v0.datasetIndex !== v1.datasetIndex || v0.index !== v1.index) {\n return false;\n }\n }\n return true;\n}\nfunction clone$1(source) {\n if (isArray(source)) {\n return source.map(clone$1);\n }\n if (isObject(source)) {\n const target = Object.create(null);\n const keys = Object.keys(source);\n const klen = keys.length;\n let k = 0;\n for (; k < klen; ++k) {\n target[keys[k]] = clone$1(source[keys[k]]);\n }\n return target;\n }\n return source;\n}\nfunction isValidKey(key) {\n return ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1;\n}\nfunction _merger(key, target, source, options) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n merge(tval, sval, options);\n } else {\n target[key] = clone$1(sval);\n }\n}\nfunction merge(target, source, options) {\n const sources = isArray(source) ? source : [source];\n const ilen = sources.length;\n if (!isObject(target)) {\n return target;\n }\n options = options || {};\n const merger = options.merger || _merger;\n for (let i = 0; i < ilen; ++i) {\n source = sources[i];\n if (!isObject(source)) {\n continue;\n }\n const keys = Object.keys(source);\n for (let k = 0, klen = keys.length; k < klen; ++k) {\n merger(keys[k], target, source, options);\n }\n }\n return target;\n}\nfunction mergeIf(target, source) {\n return merge(target, source, {merger: _mergerIf});\n}\nfunction _mergerIf(key, target, source) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n mergeIf(tval, sval);\n } else if (!Object.prototype.hasOwnProperty.call(target, key)) {\n target[key] = clone$1(sval);\n }\n}\nfunction _deprecated(scope, value, previous, current) {\n if (value !== undefined) {\n console.warn(scope + ': \"' + previous +\n\t\t\t'\" is deprecated. Please use \"' + current + '\" instead');\n }\n}\nconst keyResolvers = {\n '': v => v,\n x: o => o.x,\n y: o => o.y\n};\nfunction resolveObjectKey(obj, key) {\n const resolver = keyResolvers[key] || (keyResolvers[key] = _getKeyResolver(key));\n return resolver(obj);\n}\nfunction _getKeyResolver(key) {\n const keys = _splitKey(key);\n return obj => {\n for (const k of keys) {\n if (k === '') {\n break;\n }\n obj = obj && obj[k];\n }\n return obj;\n };\n}\nfunction _splitKey(key) {\n const parts = key.split('.');\n const keys = [];\n let tmp = '';\n for (const part of parts) {\n tmp += part;\n if (tmp.endsWith('\\\\')) {\n tmp = tmp.slice(0, -1) + '.';\n } else {\n keys.push(tmp);\n tmp = '';\n }\n }\n return keys;\n}\nfunction _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\nconst defined = (value) => typeof value !== 'undefined';\nconst isFunction = (value) => typeof value === 'function';\nconst setsEqual = (a, b) => {\n if (a.size !== b.size) {\n return false;\n }\n for (const item of a) {\n if (!b.has(item)) {\n return false;\n }\n }\n return true;\n};\nfunction _isClickEvent(e) {\n return e.type === 'mouseup' || e.type === 'click' || e.type === 'contextmenu';\n}\n\nconst PI = Math.PI;\nconst TAU = 2 * PI;\nconst PITAU = TAU + PI;\nconst INFINITY = Number.POSITIVE_INFINITY;\nconst RAD_PER_DEG = PI / 180;\nconst HALF_PI = PI / 2;\nconst QUARTER_PI = PI / 4;\nconst TWO_THIRDS_PI = PI * 2 / 3;\nconst log10 = Math.log10;\nconst sign = Math.sign;\nfunction niceNum(range) {\n const roundedRange = Math.round(range);\n range = almostEquals(range, roundedRange, range / 1000) ? roundedRange : range;\n const niceRange = Math.pow(10, Math.floor(log10(range)));\n const fraction = range / niceRange;\n const niceFraction = fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10;\n return niceFraction * niceRange;\n}\nfunction _factorize(value) {\n const result = [];\n const sqrt = Math.sqrt(value);\n let i;\n for (i = 1; i < sqrt; i++) {\n if (value % i === 0) {\n result.push(i);\n result.push(value / i);\n }\n }\n if (sqrt === (sqrt | 0)) {\n result.push(sqrt);\n }\n result.sort((a, b) => a - b).pop();\n return result;\n}\nfunction isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n}\nfunction almostEquals(x, y, epsilon) {\n return Math.abs(x - y) < epsilon;\n}\nfunction almostWhole(x, epsilon) {\n const rounded = Math.round(x);\n return ((rounded - epsilon) <= x) && ((rounded + epsilon) >= x);\n}\nfunction _setMinAndMaxByKey(array, target, property) {\n let i, ilen, value;\n for (i = 0, ilen = array.length; i < ilen; i++) {\n value = array[i][property];\n if (!isNaN(value)) {\n target.min = Math.min(target.min, value);\n target.max = Math.max(target.max, value);\n }\n }\n}\nfunction toRadians(degrees) {\n return degrees * (PI / 180);\n}\nfunction toDegrees(radians) {\n return radians * (180 / PI);\n}\nfunction _decimalPlaces(x) {\n if (!isNumberFinite(x)) {\n return;\n }\n let e = 1;\n let p = 0;\n while (Math.round(x * e) / e !== x) {\n e *= 10;\n p++;\n }\n return p;\n}\nfunction getAngleFromPoint(centrePoint, anglePoint) {\n const distanceFromXCenter = anglePoint.x - centrePoint.x;\n const distanceFromYCenter = anglePoint.y - centrePoint.y;\n const radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\n let angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);\n if (angle < (-0.5 * PI)) {\n angle += TAU;\n }\n return {\n angle,\n distance: radialDistanceFromCenter\n };\n}\nfunction distanceBetweenPoints(pt1, pt2) {\n return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));\n}\nfunction _angleDiff(a, b) {\n return (a - b + PITAU) % TAU - PI;\n}\nfunction _normalizeAngle(a) {\n return (a % TAU + TAU) % TAU;\n}\nfunction _angleBetween(angle, start, end, sameAngleIsFullCircle) {\n const a = _normalizeAngle(angle);\n const s = _normalizeAngle(start);\n const e = _normalizeAngle(end);\n const angleToStart = _normalizeAngle(s - a);\n const angleToEnd = _normalizeAngle(e - a);\n const startToAngle = _normalizeAngle(a - s);\n const endToAngle = _normalizeAngle(a - e);\n return a === s || a === e || (sameAngleIsFullCircle && s === e)\n || (angleToStart > angleToEnd && startToAngle < endToAngle);\n}\nfunction _limitValue(value, min, max) {\n return Math.max(min, Math.min(max, value));\n}\nfunction _int16Range(value) {\n return _limitValue(value, -32768, 32767);\n}\nfunction _isBetween(value, start, end, epsilon = 1e-6) {\n return value >= Math.min(start, end) - epsilon && value <= Math.max(start, end) + epsilon;\n}\n\nfunction _lookup(table, value, cmp) {\n cmp = cmp || ((index) => table[index] < value);\n let hi = table.length - 1;\n let lo = 0;\n let mid;\n while (hi - lo > 1) {\n mid = (lo + hi) >> 1;\n if (cmp(mid)) {\n lo = mid;\n } else {\n hi = mid;\n }\n }\n return {lo, hi};\n}\nconst _lookupByKey = (table, key, value, last) =>\n _lookup(table, value, last\n ? index => table[index][key] <= value\n : index => table[index][key] < value);\nconst _rlookupByKey = (table, key, value) =>\n _lookup(table, value, index => table[index][key] >= value);\nfunction _filterBetween(values, min, max) {\n let start = 0;\n let end = values.length;\n while (start < end && values[start] < min) {\n start++;\n }\n while (end > start && values[end - 1] > max) {\n end--;\n }\n return start > 0 || end < values.length\n ? values.slice(start, end)\n : values;\n}\nconst arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\nfunction listenArrayEvents(array, listener) {\n if (array._chartjs) {\n array._chartjs.listeners.push(listener);\n return;\n }\n Object.defineProperty(array, '_chartjs', {\n configurable: true,\n enumerable: false,\n value: {\n listeners: [listener]\n }\n });\n arrayEvents.forEach((key) => {\n const method = '_onData' + _capitalize(key);\n const base = array[key];\n Object.defineProperty(array, key, {\n configurable: true,\n enumerable: false,\n value(...args) {\n const res = base.apply(this, args);\n array._chartjs.listeners.forEach((object) => {\n if (typeof object[method] === 'function') {\n object[method](...args);\n }\n });\n return res;\n }\n });\n });\n}\nfunction unlistenArrayEvents(array, listener) {\n const stub = array._chartjs;\n if (!stub) {\n return;\n }\n const listeners = stub.listeners;\n const index = listeners.indexOf(listener);\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n if (listeners.length > 0) {\n return;\n }\n arrayEvents.forEach((key) => {\n delete array[key];\n });\n delete array._chartjs;\n}\nfunction _arrayUnique(items) {\n const set = new Set();\n let i, ilen;\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n set.add(items[i]);\n }\n if (set.size === ilen) {\n return items;\n }\n return Array.from(set);\n}\n\nfunction fontString(pixelSize, fontStyle, fontFamily) {\n return fontStyle + ' ' + pixelSize + 'px ' + fontFamily;\n}\nconst requestAnimFrame = (function() {\n if (typeof window === 'undefined') {\n return function(callback) {\n return callback();\n };\n }\n return window.requestAnimationFrame;\n}());\nfunction throttled(fn, thisArg, updateFn) {\n const updateArgs = updateFn || ((args) => Array.prototype.slice.call(args));\n let ticking = false;\n let args = [];\n return function(...rest) {\n args = updateArgs(rest);\n if (!ticking) {\n ticking = true;\n requestAnimFrame.call(window, () => {\n ticking = false;\n fn.apply(thisArg, args);\n });\n }\n };\n}\nfunction debounce(fn, delay) {\n let timeout;\n return function(...args) {\n if (delay) {\n clearTimeout(timeout);\n timeout = setTimeout(fn, delay, args);\n } else {\n fn.apply(this, args);\n }\n return delay;\n };\n}\nconst _toLeftRightCenter = (align) => align === 'start' ? 'left' : align === 'end' ? 'right' : 'center';\nconst _alignStartEnd = (align, start, end) => align === 'start' ? start : align === 'end' ? end : (start + end) / 2;\nconst _textX = (align, left, right, rtl) => {\n const check = rtl ? 'left' : 'right';\n return align === check ? right : align === 'center' ? (left + right) / 2 : left;\n};\nfunction _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled) {\n const pointCount = points.length;\n let start = 0;\n let count = pointCount;\n if (meta._sorted) {\n const {iScale, _parsed} = meta;\n const axis = iScale.axis;\n const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(Math.min(\n _lookupByKey(_parsed, iScale.axis, min).lo,\n animationsDisabled ? pointCount : _lookupByKey(points, axis, iScale.getPixelForValue(min)).lo),\n 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(Math.max(\n _lookupByKey(_parsed, iScale.axis, max, true).hi + 1,\n animationsDisabled ? 0 : _lookupByKey(points, axis, iScale.getPixelForValue(max), true).hi + 1),\n start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n }\n return {start, count};\n}\nfunction _scaleRangesChanged(meta) {\n const {xScale, yScale, _scaleRanges} = meta;\n const newRanges = {\n xmin: xScale.min,\n xmax: xScale.max,\n ymin: yScale.min,\n ymax: yScale.max\n };\n if (!_scaleRanges) {\n meta._scaleRanges = newRanges;\n return true;\n }\n const changed = _scaleRanges.xmin !== xScale.min\n\t\t|| _scaleRanges.xmax !== xScale.max\n\t\t|| _scaleRanges.ymin !== yScale.min\n\t\t|| _scaleRanges.ymax !== yScale.max;\n Object.assign(_scaleRanges, newRanges);\n return changed;\n}\n\nconst atEdge = (t) => t === 0 || t === 1;\nconst elasticIn = (t, s, p) => -(Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * TAU / p));\nconst elasticOut = (t, s, p) => Math.pow(2, -10 * t) * Math.sin((t - s) * TAU / p) + 1;\nconst effects = {\n linear: t => t,\n easeInQuad: t => t * t,\n easeOutQuad: t => -t * (t - 2),\n easeInOutQuad: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t\n : -0.5 * ((--t) * (t - 2) - 1),\n easeInCubic: t => t * t * t,\n easeOutCubic: t => (t -= 1) * t * t + 1,\n easeInOutCubic: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t\n : 0.5 * ((t -= 2) * t * t + 2),\n easeInQuart: t => t * t * t * t,\n easeOutQuart: t => -((t -= 1) * t * t * t - 1),\n easeInOutQuart: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t * t\n : -0.5 * ((t -= 2) * t * t * t - 2),\n easeInQuint: t => t * t * t * t * t,\n easeOutQuint: t => (t -= 1) * t * t * t * t + 1,\n easeInOutQuint: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t * t * t\n : 0.5 * ((t -= 2) * t * t * t * t + 2),\n easeInSine: t => -Math.cos(t * HALF_PI) + 1,\n easeOutSine: t => Math.sin(t * HALF_PI),\n easeInOutSine: t => -0.5 * (Math.cos(PI * t) - 1),\n easeInExpo: t => (t === 0) ? 0 : Math.pow(2, 10 * (t - 1)),\n easeOutExpo: t => (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1,\n easeInOutExpo: t => atEdge(t) ? t : t < 0.5\n ? 0.5 * Math.pow(2, 10 * (t * 2 - 1))\n : 0.5 * (-Math.pow(2, -10 * (t * 2 - 1)) + 2),\n easeInCirc: t => (t >= 1) ? t : -(Math.sqrt(1 - t * t) - 1),\n easeOutCirc: t => Math.sqrt(1 - (t -= 1) * t),\n easeInOutCirc: t => ((t /= 0.5) < 1)\n ? -0.5 * (Math.sqrt(1 - t * t) - 1)\n : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1),\n easeInElastic: t => atEdge(t) ? t : elasticIn(t, 0.075, 0.3),\n easeOutElastic: t => atEdge(t) ? t : elasticOut(t, 0.075, 0.3),\n easeInOutElastic(t) {\n const s = 0.1125;\n const p = 0.45;\n return atEdge(t) ? t :\n t < 0.5\n ? 0.5 * elasticIn(t * 2, s, p)\n : 0.5 + 0.5 * elasticOut(t * 2 - 1, s, p);\n },\n easeInBack(t) {\n const s = 1.70158;\n return t * t * ((s + 1) * t - s);\n },\n easeOutBack(t) {\n const s = 1.70158;\n return (t -= 1) * t * ((s + 1) * t + s) + 1;\n },\n easeInOutBack(t) {\n let s = 1.70158;\n if ((t /= 0.5) < 1) {\n return 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));\n }\n return 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\n },\n easeInBounce: t => 1 - effects.easeOutBounce(1 - t),\n easeOutBounce(t) {\n const m = 7.5625;\n const d = 2.75;\n if (t < (1 / d)) {\n return m * t * t;\n }\n if (t < (2 / d)) {\n return m * (t -= (1.5 / d)) * t + 0.75;\n }\n if (t < (2.5 / d)) {\n return m * (t -= (2.25 / d)) * t + 0.9375;\n }\n return m * (t -= (2.625 / d)) * t + 0.984375;\n },\n easeInOutBounce: t => (t < 0.5)\n ? effects.easeInBounce(t * 2) * 0.5\n : effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5,\n};\n\n/*!\n * @kurkle/color v0.2.1\n * https://github.com/kurkle/color#readme\n * (c) 2022 Jukka Kurkela\n * Released under the MIT License\n */\nfunction round(v) {\n return v + 0.5 | 0;\n}\nconst lim = (v, l, h) => Math.max(Math.min(v, h), l);\nfunction p2b(v) {\n return lim(round(v * 2.55), 0, 255);\n}\nfunction n2b(v) {\n return lim(round(v * 255), 0, 255);\n}\nfunction b2n(v) {\n return lim(round(v / 2.55) / 100, 0, 1);\n}\nfunction n2p(v) {\n return lim(round(v * 100), 0, 100);\n}\nconst map$1 = {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15};\nconst hex = [...'0123456789ABCDEF'];\nconst h1 = b => hex[b & 0xF];\nconst h2 = b => hex[(b & 0xF0) >> 4] + hex[b & 0xF];\nconst eq = b => ((b & 0xF0) >> 4) === (b & 0xF);\nconst isShort = v => eq(v.r) && eq(v.g) && eq(v.b) && eq(v.a);\nfunction hexParse(str) {\n var len = str.length;\n var ret;\n if (str[0] === '#') {\n if (len === 4 || len === 5) {\n ret = {\n r: 255 & map$1[str[1]] * 17,\n g: 255 & map$1[str[2]] * 17,\n b: 255 & map$1[str[3]] * 17,\n a: len === 5 ? map$1[str[4]] * 17 : 255\n };\n } else if (len === 7 || len === 9) {\n ret = {\n r: map$1[str[1]] << 4 | map$1[str[2]],\n g: map$1[str[3]] << 4 | map$1[str[4]],\n b: map$1[str[5]] << 4 | map$1[str[6]],\n a: len === 9 ? (map$1[str[7]] << 4 | map$1[str[8]]) : 255\n };\n }\n }\n return ret;\n}\nconst alpha = (a, f) => a < 255 ? f(a) : '';\nfunction hexString(v) {\n var f = isShort(v) ? h1 : h2;\n return v\n ? '#' + f(v.r) + f(v.g) + f(v.b) + alpha(v.a, f)\n : undefined;\n}\nconst HUE_RE = /^(hsla?|hwb|hsv)\\(\\s*([-+.e\\d]+)(?:deg)?[\\s,]+([-+.e\\d]+)%[\\s,]+([-+.e\\d]+)%(?:[\\s,]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction hsl2rgbn(h, s, l) {\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n return [f(0), f(8), f(4)];\n}\nfunction hsv2rgbn(h, s, v) {\n const f = (n, k = (n + h / 60) % 6) => v - v * s * Math.max(Math.min(k, 4 - k, 1), 0);\n return [f(5), f(3), f(1)];\n}\nfunction hwb2rgbn(h, w, b) {\n const rgb = hsl2rgbn(h, 1, 0.5);\n let i;\n if (w + b > 1) {\n i = 1 / (w + b);\n w *= i;\n b *= i;\n }\n for (i = 0; i < 3; i++) {\n rgb[i] *= 1 - w - b;\n rgb[i] += w;\n }\n return rgb;\n}\nfunction hueValue(r, g, b, d, max) {\n if (r === max) {\n return ((g - b) / d) + (g < b ? 6 : 0);\n }\n if (g === max) {\n return (b - r) / d + 2;\n }\n return (r - g) / d + 4;\n}\nfunction rgb2hsl(v) {\n const range = 255;\n const r = v.r / range;\n const g = v.g / range;\n const b = v.b / range;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const l = (max + min) / 2;\n let h, s, d;\n if (max !== min) {\n d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n h = hueValue(r, g, b, d, max);\n h = h * 60 + 0.5;\n }\n return [h | 0, s || 0, l];\n}\nfunction calln(f, a, b, c) {\n return (\n Array.isArray(a)\n ? f(a[0], a[1], a[2])\n : f(a, b, c)\n ).map(n2b);\n}\nfunction hsl2rgb(h, s, l) {\n return calln(hsl2rgbn, h, s, l);\n}\nfunction hwb2rgb(h, w, b) {\n return calln(hwb2rgbn, h, w, b);\n}\nfunction hsv2rgb(h, s, v) {\n return calln(hsv2rgbn, h, s, v);\n}\nfunction hue(h) {\n return (h % 360 + 360) % 360;\n}\nfunction hueParse(str) {\n const m = HUE_RE.exec(str);\n let a = 255;\n let v;\n if (!m) {\n return;\n }\n if (m[5] !== v) {\n a = m[6] ? p2b(+m[5]) : n2b(+m[5]);\n }\n const h = hue(+m[2]);\n const p1 = +m[3] / 100;\n const p2 = +m[4] / 100;\n if (m[1] === 'hwb') {\n v = hwb2rgb(h, p1, p2);\n } else if (m[1] === 'hsv') {\n v = hsv2rgb(h, p1, p2);\n } else {\n v = hsl2rgb(h, p1, p2);\n }\n return {\n r: v[0],\n g: v[1],\n b: v[2],\n a: a\n };\n}\nfunction rotate(v, deg) {\n var h = rgb2hsl(v);\n h[0] = hue(h[0] + deg);\n h = hsl2rgb(h);\n v.r = h[0];\n v.g = h[1];\n v.b = h[2];\n}\nfunction hslString(v) {\n if (!v) {\n return;\n }\n const a = rgb2hsl(v);\n const h = a[0];\n const s = n2p(a[1]);\n const l = n2p(a[2]);\n return v.a < 255\n ? `hsla(${h}, ${s}%, ${l}%, ${b2n(v.a)})`\n : `hsl(${h}, ${s}%, ${l}%)`;\n}\nconst map = {\n x: 'dark',\n Z: 'light',\n Y: 're',\n X: 'blu',\n W: 'gr',\n V: 'medium',\n U: 'slate',\n A: 'ee',\n T: 'ol',\n S: 'or',\n B: 'ra',\n C: 'lateg',\n D: 'ights',\n R: 'in',\n Q: 'turquois',\n E: 'hi',\n P: 'ro',\n O: 'al',\n N: 'le',\n M: 'de',\n L: 'yello',\n F: 'en',\n K: 'ch',\n G: 'arks',\n H: 'ea',\n I: 'ightg',\n J: 'wh'\n};\nconst names$1 = {\n OiceXe: 'f0f8ff',\n antiquewEte: 'faebd7',\n aqua: 'ffff',\n aquamarRe: '7fffd4',\n azuY: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '0',\n blanKedOmond: 'ffebcd',\n Xe: 'ff',\n XeviTet: '8a2be2',\n bPwn: 'a52a2a',\n burlywood: 'deb887',\n caMtXe: '5f9ea0',\n KartYuse: '7fff00',\n KocTate: 'd2691e',\n cSO: 'ff7f50',\n cSnflowerXe: '6495ed',\n cSnsilk: 'fff8dc',\n crimson: 'dc143c',\n cyan: 'ffff',\n xXe: '8b',\n xcyan: '8b8b',\n xgTMnPd: 'b8860b',\n xWay: 'a9a9a9',\n xgYF: '6400',\n xgYy: 'a9a9a9',\n xkhaki: 'bdb76b',\n xmagFta: '8b008b',\n xTivegYF: '556b2f',\n xSange: 'ff8c00',\n xScEd: '9932cc',\n xYd: '8b0000',\n xsOmon: 'e9967a',\n xsHgYF: '8fbc8f',\n xUXe: '483d8b',\n xUWay: '2f4f4f',\n xUgYy: '2f4f4f',\n xQe: 'ced1',\n xviTet: '9400d3',\n dAppRk: 'ff1493',\n dApskyXe: 'bfff',\n dimWay: '696969',\n dimgYy: '696969',\n dodgerXe: '1e90ff',\n fiYbrick: 'b22222',\n flSOwEte: 'fffaf0',\n foYstWAn: '228b22',\n fuKsia: 'ff00ff',\n gaRsbSo: 'dcdcdc',\n ghostwEte: 'f8f8ff',\n gTd: 'ffd700',\n gTMnPd: 'daa520',\n Way: '808080',\n gYF: '8000',\n gYFLw: 'adff2f',\n gYy: '808080',\n honeyMw: 'f0fff0',\n hotpRk: 'ff69b4',\n RdianYd: 'cd5c5c',\n Rdigo: '4b0082',\n ivSy: 'fffff0',\n khaki: 'f0e68c',\n lavFMr: 'e6e6fa',\n lavFMrXsh: 'fff0f5',\n lawngYF: '7cfc00',\n NmoncEffon: 'fffacd',\n ZXe: 'add8e6',\n ZcSO: 'f08080',\n Zcyan: 'e0ffff',\n ZgTMnPdLw: 'fafad2',\n ZWay: 'd3d3d3',\n ZgYF: '90ee90',\n ZgYy: 'd3d3d3',\n ZpRk: 'ffb6c1',\n ZsOmon: 'ffa07a',\n ZsHgYF: '20b2aa',\n ZskyXe: '87cefa',\n ZUWay: '778899',\n ZUgYy: '778899',\n ZstAlXe: 'b0c4de',\n ZLw: 'ffffe0',\n lime: 'ff00',\n limegYF: '32cd32',\n lRF: 'faf0e6',\n magFta: 'ff00ff',\n maPon: '800000',\n VaquamarRe: '66cdaa',\n VXe: 'cd',\n VScEd: 'ba55d3',\n VpurpN: '9370db',\n VsHgYF: '3cb371',\n VUXe: '7b68ee',\n VsprRggYF: 'fa9a',\n VQe: '48d1cc',\n VviTetYd: 'c71585',\n midnightXe: '191970',\n mRtcYam: 'f5fffa',\n mistyPse: 'ffe4e1',\n moccasR: 'ffe4b5',\n navajowEte: 'ffdead',\n navy: '80',\n Tdlace: 'fdf5e6',\n Tive: '808000',\n TivedBb: '6b8e23',\n Sange: 'ffa500',\n SangeYd: 'ff4500',\n ScEd: 'da70d6',\n pOegTMnPd: 'eee8aa',\n pOegYF: '98fb98',\n pOeQe: 'afeeee',\n pOeviTetYd: 'db7093',\n papayawEp: 'ffefd5',\n pHKpuff: 'ffdab9',\n peru: 'cd853f',\n pRk: 'ffc0cb',\n plum: 'dda0dd',\n powMrXe: 'b0e0e6',\n purpN: '800080',\n YbeccapurpN: '663399',\n Yd: 'ff0000',\n Psybrown: 'bc8f8f',\n PyOXe: '4169e1',\n saddNbPwn: '8b4513',\n sOmon: 'fa8072',\n sandybPwn: 'f4a460',\n sHgYF: '2e8b57',\n sHshell: 'fff5ee',\n siFna: 'a0522d',\n silver: 'c0c0c0',\n skyXe: '87ceeb',\n UXe: '6a5acd',\n UWay: '708090',\n UgYy: '708090',\n snow: 'fffafa',\n sprRggYF: 'ff7f',\n stAlXe: '4682b4',\n tan: 'd2b48c',\n teO: '8080',\n tEstN: 'd8bfd8',\n tomato: 'ff6347',\n Qe: '40e0d0',\n viTet: 'ee82ee',\n JHt: 'f5deb3',\n wEte: 'ffffff',\n wEtesmoke: 'f5f5f5',\n Lw: 'ffff00',\n LwgYF: '9acd32'\n};\nfunction unpack() {\n const unpacked = {};\n const keys = Object.keys(names$1);\n const tkeys = Object.keys(map);\n let i, j, k, ok, nk;\n for (i = 0; i < keys.length; i++) {\n ok = nk = keys[i];\n for (j = 0; j < tkeys.length; j++) {\n k = tkeys[j];\n nk = nk.replace(k, map[k]);\n }\n k = parseInt(names$1[ok], 16);\n unpacked[nk] = [k >> 16 & 0xFF, k >> 8 & 0xFF, k & 0xFF];\n }\n return unpacked;\n}\nlet names;\nfunction nameParse(str) {\n if (!names) {\n names = unpack();\n names.transparent = [0, 0, 0, 0];\n }\n const a = names[str.toLowerCase()];\n return a && {\n r: a[0],\n g: a[1],\n b: a[2],\n a: a.length === 4 ? a[3] : 255\n };\n}\nconst RGB_RE = /^rgba?\\(\\s*([-+.\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?(?:[\\s,/]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction rgbParse(str) {\n const m = RGB_RE.exec(str);\n let a = 255;\n let r, g, b;\n if (!m) {\n return;\n }\n if (m[7] !== r) {\n const v = +m[7];\n a = m[8] ? p2b(v) : lim(v * 255, 0, 255);\n }\n r = +m[1];\n g = +m[3];\n b = +m[5];\n r = 255 & (m[2] ? p2b(r) : lim(r, 0, 255));\n g = 255 & (m[4] ? p2b(g) : lim(g, 0, 255));\n b = 255 & (m[6] ? p2b(b) : lim(b, 0, 255));\n return {\n r: r,\n g: g,\n b: b,\n a: a\n };\n}\nfunction rgbString(v) {\n return v && (\n v.a < 255\n ? `rgba(${v.r}, ${v.g}, ${v.b}, ${b2n(v.a)})`\n : `rgb(${v.r}, ${v.g}, ${v.b})`\n );\n}\nconst to = v => v <= 0.0031308 ? v * 12.92 : Math.pow(v, 1.0 / 2.4) * 1.055 - 0.055;\nconst from = v => v <= 0.04045 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);\nfunction interpolate(rgb1, rgb2, t) {\n const r = from(b2n(rgb1.r));\n const g = from(b2n(rgb1.g));\n const b = from(b2n(rgb1.b));\n return {\n r: n2b(to(r + t * (from(b2n(rgb2.r)) - r))),\n g: n2b(to(g + t * (from(b2n(rgb2.g)) - g))),\n b: n2b(to(b + t * (from(b2n(rgb2.b)) - b))),\n a: rgb1.a + t * (rgb2.a - rgb1.a)\n };\n}\nfunction modHSL(v, i, ratio) {\n if (v) {\n let tmp = rgb2hsl(v);\n tmp[i] = Math.max(0, Math.min(tmp[i] + tmp[i] * ratio, i === 0 ? 360 : 1));\n tmp = hsl2rgb(tmp);\n v.r = tmp[0];\n v.g = tmp[1];\n v.b = tmp[2];\n }\n}\nfunction clone(v, proto) {\n return v ? Object.assign(proto || {}, v) : v;\n}\nfunction fromObject(input) {\n var v = {r: 0, g: 0, b: 0, a: 255};\n if (Array.isArray(input)) {\n if (input.length >= 3) {\n v = {r: input[0], g: input[1], b: input[2], a: 255};\n if (input.length > 3) {\n v.a = n2b(input[3]);\n }\n }\n } else {\n v = clone(input, {r: 0, g: 0, b: 0, a: 1});\n v.a = n2b(v.a);\n }\n return v;\n}\nfunction functionParse(str) {\n if (str.charAt(0) === 'r') {\n return rgbParse(str);\n }\n return hueParse(str);\n}\nclass Color {\n constructor(input) {\n if (input instanceof Color) {\n return input;\n }\n const type = typeof input;\n let v;\n if (type === 'object') {\n v = fromObject(input);\n } else if (type === 'string') {\n v = hexParse(input) || nameParse(input) || functionParse(input);\n }\n this._rgb = v;\n this._valid = !!v;\n }\n get valid() {\n return this._valid;\n }\n get rgb() {\n var v = clone(this._rgb);\n if (v) {\n v.a = b2n(v.a);\n }\n return v;\n }\n set rgb(obj) {\n this._rgb = fromObject(obj);\n }\n rgbString() {\n return this._valid ? rgbString(this._rgb) : undefined;\n }\n hexString() {\n return this._valid ? hexString(this._rgb) : undefined;\n }\n hslString() {\n return this._valid ? hslString(this._rgb) : undefined;\n }\n mix(color, weight) {\n if (color) {\n const c1 = this.rgb;\n const c2 = color.rgb;\n let w2;\n const p = weight === w2 ? 0.5 : weight;\n const w = 2 * p - 1;\n const a = c1.a - c2.a;\n const w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n w2 = 1 - w1;\n c1.r = 0xFF & w1 * c1.r + w2 * c2.r + 0.5;\n c1.g = 0xFF & w1 * c1.g + w2 * c2.g + 0.5;\n c1.b = 0xFF & w1 * c1.b + w2 * c2.b + 0.5;\n c1.a = p * c1.a + (1 - p) * c2.a;\n this.rgb = c1;\n }\n return this;\n }\n interpolate(color, t) {\n if (color) {\n this._rgb = interpolate(this._rgb, color._rgb, t);\n }\n return this;\n }\n clone() {\n return new Color(this.rgb);\n }\n alpha(a) {\n this._rgb.a = n2b(a);\n return this;\n }\n clearer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 - ratio;\n return this;\n }\n greyscale() {\n const rgb = this._rgb;\n const val = round(rgb.r * 0.3 + rgb.g * 0.59 + rgb.b * 0.11);\n rgb.r = rgb.g = rgb.b = val;\n return this;\n }\n opaquer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 + ratio;\n return this;\n }\n negate() {\n const v = this._rgb;\n v.r = 255 - v.r;\n v.g = 255 - v.g;\n v.b = 255 - v.b;\n return this;\n }\n lighten(ratio) {\n modHSL(this._rgb, 2, ratio);\n return this;\n }\n darken(ratio) {\n modHSL(this._rgb, 2, -ratio);\n return this;\n }\n saturate(ratio) {\n modHSL(this._rgb, 1, ratio);\n return this;\n }\n desaturate(ratio) {\n modHSL(this._rgb, 1, -ratio);\n return this;\n }\n rotate(deg) {\n rotate(this._rgb, deg);\n return this;\n }\n}\nfunction index_esm(input) {\n return new Color(input);\n}\n\nfunction isPatternOrGradient(value) {\n if (value && typeof value === 'object') {\n const type = value.toString();\n return type === '[object CanvasPattern]' || type === '[object CanvasGradient]';\n }\n return false;\n}\nfunction color(value) {\n return isPatternOrGradient(value) ? value : index_esm(value);\n}\nfunction getHoverColor(value) {\n return isPatternOrGradient(value)\n ? value\n : index_esm(value).saturate(0.5).darken(0.1).hexString();\n}\n\nconst overrides = Object.create(null);\nconst descriptors = Object.create(null);\nfunction getScope$1(node, key) {\n if (!key) {\n return node;\n }\n const keys = key.split('.');\n for (let i = 0, n = keys.length; i < n; ++i) {\n const k = keys[i];\n node = node[k] || (node[k] = Object.create(null));\n }\n return node;\n}\nfunction set(root, scope, values) {\n if (typeof scope === 'string') {\n return merge(getScope$1(root, scope), values);\n }\n return merge(getScope$1(root, ''), scope);\n}\nclass Defaults {\n constructor(_descriptors) {\n this.animation = undefined;\n this.backgroundColor = 'rgba(0,0,0,0.1)';\n this.borderColor = 'rgba(0,0,0,0.1)';\n this.color = '#666';\n this.datasets = {};\n this.devicePixelRatio = (context) => context.chart.platform.getDevicePixelRatio();\n this.elements = {};\n this.events = [\n 'mousemove',\n 'mouseout',\n 'click',\n 'touchstart',\n 'touchmove'\n ];\n this.font = {\n family: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n size: 12,\n style: 'normal',\n lineHeight: 1.2,\n weight: null\n };\n this.hover = {};\n this.hoverBackgroundColor = (ctx, options) => getHoverColor(options.backgroundColor);\n this.hoverBorderColor = (ctx, options) => getHoverColor(options.borderColor);\n this.hoverColor = (ctx, options) => getHoverColor(options.color);\n this.indexAxis = 'x';\n this.interaction = {\n mode: 'nearest',\n intersect: true,\n includeInvisible: false\n };\n this.maintainAspectRatio = true;\n this.onHover = null;\n this.onClick = null;\n this.parsing = true;\n this.plugins = {};\n this.responsive = true;\n this.scale = undefined;\n this.scales = {};\n this.showLine = true;\n this.drawActiveElementsOnTop = true;\n this.describe(_descriptors);\n }\n set(scope, values) {\n return set(this, scope, values);\n }\n get(scope) {\n return getScope$1(this, scope);\n }\n describe(scope, values) {\n return set(descriptors, scope, values);\n }\n override(scope, values) {\n return set(overrides, scope, values);\n }\n route(scope, name, targetScope, targetName) {\n const scopeObject = getScope$1(this, scope);\n const targetScopeObject = getScope$1(this, targetScope);\n const privateName = '_' + name;\n Object.defineProperties(scopeObject, {\n [privateName]: {\n value: scopeObject[name],\n writable: true\n },\n [name]: {\n enumerable: true,\n get() {\n const local = this[privateName];\n const target = targetScopeObject[targetName];\n if (isObject(local)) {\n return Object.assign({}, target, local);\n }\n return valueOrDefault(local, target);\n },\n set(value) {\n this[privateName] = value;\n }\n }\n });\n }\n}\nvar defaults = new Defaults({\n _scriptable: (name) => !name.startsWith('on'),\n _indexable: (name) => name !== 'events',\n hover: {\n _fallback: 'interaction'\n },\n interaction: {\n _scriptable: false,\n _indexable: false,\n }\n});\n\nfunction toFontString(font) {\n if (!font || isNullOrUndef(font.size) || isNullOrUndef(font.family)) {\n return null;\n }\n return (font.style ? font.style + ' ' : '')\n\t\t+ (font.weight ? font.weight + ' ' : '')\n\t\t+ font.size + 'px '\n\t\t+ font.family;\n}\nfunction _measureText(ctx, data, gc, longest, string) {\n let textWidth = data[string];\n if (!textWidth) {\n textWidth = data[string] = ctx.measureText(string).width;\n gc.push(string);\n }\n if (textWidth > longest) {\n longest = textWidth;\n }\n return longest;\n}\nfunction _longestText(ctx, font, arrayOfThings, cache) {\n cache = cache || {};\n let data = cache.data = cache.data || {};\n let gc = cache.garbageCollect = cache.garbageCollect || [];\n if (cache.font !== font) {\n data = cache.data = {};\n gc = cache.garbageCollect = [];\n cache.font = font;\n }\n ctx.save();\n ctx.font = font;\n let longest = 0;\n const ilen = arrayOfThings.length;\n let i, j, jlen, thing, nestedThing;\n for (i = 0; i < ilen; i++) {\n thing = arrayOfThings[i];\n if (thing !== undefined && thing !== null && isArray(thing) !== true) {\n longest = _measureText(ctx, data, gc, longest, thing);\n } else if (isArray(thing)) {\n for (j = 0, jlen = thing.length; j < jlen; j++) {\n nestedThing = thing[j];\n if (nestedThing !== undefined && nestedThing !== null && !isArray(nestedThing)) {\n longest = _measureText(ctx, data, gc, longest, nestedThing);\n }\n }\n }\n }\n ctx.restore();\n const gcLen = gc.length / 2;\n if (gcLen > arrayOfThings.length) {\n for (i = 0; i < gcLen; i++) {\n delete data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n return longest;\n}\nfunction _alignPixel(chart, pixel, width) {\n const devicePixelRatio = chart.currentDevicePixelRatio;\n const halfWidth = width !== 0 ? Math.max(width / 2, 0.5) : 0;\n return Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth;\n}\nfunction clearCanvas(canvas, ctx) {\n ctx = ctx || canvas.getContext('2d');\n ctx.save();\n ctx.resetTransform();\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n ctx.restore();\n}\nfunction drawPoint(ctx, options, x, y) {\n drawPointLegend(ctx, options, x, y, null);\n}\nfunction drawPointLegend(ctx, options, x, y, w) {\n let type, xOffset, yOffset, size, cornerRadius, width;\n const style = options.pointStyle;\n const rotation = options.rotation;\n const radius = options.radius;\n let rad = (rotation || 0) * RAD_PER_DEG;\n if (style && typeof style === 'object') {\n type = style.toString();\n if (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\n ctx.save();\n ctx.translate(x, y);\n ctx.rotate(rad);\n ctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\n ctx.restore();\n return;\n }\n }\n if (isNaN(radius) || radius <= 0) {\n return;\n }\n ctx.beginPath();\n switch (style) {\n default:\n if (w) {\n ctx.ellipse(x, y, w / 2, radius, 0, 0, TAU);\n } else {\n ctx.arc(x, y, radius, 0, TAU);\n }\n ctx.closePath();\n break;\n case 'triangle':\n ctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n ctx.closePath();\n break;\n case 'rectRounded':\n cornerRadius = radius * 0.516;\n size = radius - cornerRadius;\n xOffset = Math.cos(rad + QUARTER_PI) * size;\n yOffset = Math.sin(rad + QUARTER_PI) * size;\n ctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\n ctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad);\n ctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI);\n ctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\n ctx.closePath();\n break;\n case 'rect':\n if (!rotation) {\n size = Math.SQRT1_2 * radius;\n width = w ? w / 2 : size;\n ctx.rect(x - width, y - size, 2 * width, 2 * size);\n break;\n }\n rad += QUARTER_PI;\n case 'rectRot':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + yOffset, y - xOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n ctx.closePath();\n break;\n case 'crossRot':\n rad += QUARTER_PI;\n case 'cross':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n case 'star':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n rad += QUARTER_PI;\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n case 'line':\n xOffset = w ? w / 2 : Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n break;\n case 'dash':\n ctx.moveTo(x, y);\n ctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius);\n break;\n }\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n}\nfunction _isPointInArea(point, area, margin) {\n margin = margin || 0.5;\n return !area || (point && point.x > area.left - margin && point.x < area.right + margin &&\n\t\tpoint.y > area.top - margin && point.y < area.bottom + margin);\n}\nfunction clipArea(ctx, area) {\n ctx.save();\n ctx.beginPath();\n ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\n ctx.clip();\n}\nfunction unclipArea(ctx) {\n ctx.restore();\n}\nfunction _steppedLineTo(ctx, previous, target, flip, mode) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n if (mode === 'middle') {\n const midpoint = (previous.x + target.x) / 2.0;\n ctx.lineTo(midpoint, previous.y);\n ctx.lineTo(midpoint, target.y);\n } else if (mode === 'after' !== !!flip) {\n ctx.lineTo(previous.x, target.y);\n } else {\n ctx.lineTo(target.x, previous.y);\n }\n ctx.lineTo(target.x, target.y);\n}\nfunction _bezierCurveTo(ctx, previous, target, flip) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n ctx.bezierCurveTo(\n flip ? previous.cp1x : previous.cp2x,\n flip ? previous.cp1y : previous.cp2y,\n flip ? target.cp2x : target.cp1x,\n flip ? target.cp2y : target.cp1y,\n target.x,\n target.y);\n}\nfunction renderText(ctx, text, x, y, font, opts = {}) {\n const lines = isArray(text) ? text : [text];\n const stroke = opts.strokeWidth > 0 && opts.strokeColor !== '';\n let i, line;\n ctx.save();\n ctx.font = font.string;\n setRenderOpts(ctx, opts);\n for (i = 0; i < lines.length; ++i) {\n line = lines[i];\n if (stroke) {\n if (opts.strokeColor) {\n ctx.strokeStyle = opts.strokeColor;\n }\n if (!isNullOrUndef(opts.strokeWidth)) {\n ctx.lineWidth = opts.strokeWidth;\n }\n ctx.strokeText(line, x, y, opts.maxWidth);\n }\n ctx.fillText(line, x, y, opts.maxWidth);\n decorateText(ctx, x, y, line, opts);\n y += font.lineHeight;\n }\n ctx.restore();\n}\nfunction setRenderOpts(ctx, opts) {\n if (opts.translation) {\n ctx.translate(opts.translation[0], opts.translation[1]);\n }\n if (!isNullOrUndef(opts.rotation)) {\n ctx.rotate(opts.rotation);\n }\n if (opts.color) {\n ctx.fillStyle = opts.color;\n }\n if (opts.textAlign) {\n ctx.textAlign = opts.textAlign;\n }\n if (opts.textBaseline) {\n ctx.textBaseline = opts.textBaseline;\n }\n}\nfunction decorateText(ctx, x, y, line, opts) {\n if (opts.strikethrough || opts.underline) {\n const metrics = ctx.measureText(line);\n const left = x - metrics.actualBoundingBoxLeft;\n const right = x + metrics.actualBoundingBoxRight;\n const top = y - metrics.actualBoundingBoxAscent;\n const bottom = y + metrics.actualBoundingBoxDescent;\n const yDecoration = opts.strikethrough ? (top + bottom) / 2 : bottom;\n ctx.strokeStyle = ctx.fillStyle;\n ctx.beginPath();\n ctx.lineWidth = opts.decorationWidth || 2;\n ctx.moveTo(left, yDecoration);\n ctx.lineTo(right, yDecoration);\n ctx.stroke();\n }\n}\nfunction addRoundedRectPath(ctx, rect) {\n const {x, y, w, h, radius} = rect;\n ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, -HALF_PI, PI, true);\n ctx.lineTo(x, y + h - radius.bottomLeft);\n ctx.arc(x + radius.bottomLeft, y + h - radius.bottomLeft, radius.bottomLeft, PI, HALF_PI, true);\n ctx.lineTo(x + w - radius.bottomRight, y + h);\n ctx.arc(x + w - radius.bottomRight, y + h - radius.bottomRight, radius.bottomRight, HALF_PI, 0, true);\n ctx.lineTo(x + w, y + radius.topRight);\n ctx.arc(x + w - radius.topRight, y + radius.topRight, radius.topRight, 0, -HALF_PI, true);\n ctx.lineTo(x + radius.topLeft, y);\n}\n\nconst LINE_HEIGHT = new RegExp(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\nconst FONT_STYLE = new RegExp(/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/);\nfunction toLineHeight(value, size) {\n const matches = ('' + value).match(LINE_HEIGHT);\n if (!matches || matches[1] === 'normal') {\n return size * 1.2;\n }\n value = +matches[2];\n switch (matches[3]) {\n case 'px':\n return value;\n case '%':\n value /= 100;\n break;\n }\n return size * value;\n}\nconst numberOrZero = v => +v || 0;\nfunction _readValueToProps(value, props) {\n const ret = {};\n const objProps = isObject(props);\n const keys = objProps ? Object.keys(props) : props;\n const read = isObject(value)\n ? objProps\n ? prop => valueOrDefault(value[prop], value[props[prop]])\n : prop => value[prop]\n : () => value;\n for (const prop of keys) {\n ret[prop] = numberOrZero(read(prop));\n }\n return ret;\n}\nfunction toTRBL(value) {\n return _readValueToProps(value, {top: 'y', right: 'x', bottom: 'y', left: 'x'});\n}\nfunction toTRBLCorners(value) {\n return _readValueToProps(value, ['topLeft', 'topRight', 'bottomLeft', 'bottomRight']);\n}\nfunction toPadding(value) {\n const obj = toTRBL(value);\n obj.width = obj.left + obj.right;\n obj.height = obj.top + obj.bottom;\n return obj;\n}\nfunction toFont(options, fallback) {\n options = options || {};\n fallback = fallback || defaults.font;\n let size = valueOrDefault(options.size, fallback.size);\n if (typeof size === 'string') {\n size = parseInt(size, 10);\n }\n let style = valueOrDefault(options.style, fallback.style);\n if (style && !('' + style).match(FONT_STYLE)) {\n console.warn('Invalid font style specified: \"' + style + '\"');\n style = '';\n }\n const font = {\n family: valueOrDefault(options.family, fallback.family),\n lineHeight: toLineHeight(valueOrDefault(options.lineHeight, fallback.lineHeight), size),\n size,\n style,\n weight: valueOrDefault(options.weight, fallback.weight),\n string: ''\n };\n font.string = toFontString(font);\n return font;\n}\nfunction resolve(inputs, context, index, info) {\n let cacheable = true;\n let i, ilen, value;\n for (i = 0, ilen = inputs.length; i < ilen; ++i) {\n value = inputs[i];\n if (value === undefined) {\n continue;\n }\n if (context !== undefined && typeof value === 'function') {\n value = value(context);\n cacheable = false;\n }\n if (index !== undefined && isArray(value)) {\n value = value[index % value.length];\n cacheable = false;\n }\n if (value !== undefined) {\n if (info && !cacheable) {\n info.cacheable = false;\n }\n return value;\n }\n }\n}\nfunction _addGrace(minmax, grace, beginAtZero) {\n const {min, max} = minmax;\n const change = toDimension(grace, (max - min) / 2);\n const keepZero = (value, add) => beginAtZero && value === 0 ? 0 : value + add;\n return {\n min: keepZero(min, -Math.abs(change)),\n max: keepZero(max, change)\n };\n}\nfunction createContext(parentContext, context) {\n return Object.assign(Object.create(parentContext), context);\n}\n\nfunction _createResolver(scopes, prefixes = [''], rootScopes = scopes, fallback, getTarget = () => scopes[0]) {\n if (!defined(fallback)) {\n fallback = _resolve('_fallback', scopes);\n }\n const cache = {\n [Symbol.toStringTag]: 'Object',\n _cacheable: true,\n _scopes: scopes,\n _rootScopes: rootScopes,\n _fallback: fallback,\n _getTarget: getTarget,\n override: (scope) => _createResolver([scope, ...scopes], prefixes, rootScopes, fallback),\n };\n return new Proxy(cache, {\n deleteProperty(target, prop) {\n delete target[prop];\n delete target._keys;\n delete scopes[0][prop];\n return true;\n },\n get(target, prop) {\n return _cached(target, prop,\n () => _resolveWithPrefixes(prop, prefixes, scopes, target));\n },\n getOwnPropertyDescriptor(target, prop) {\n return Reflect.getOwnPropertyDescriptor(target._scopes[0], prop);\n },\n getPrototypeOf() {\n return Reflect.getPrototypeOf(scopes[0]);\n },\n has(target, prop) {\n return getKeysFromAllScopes(target).includes(prop);\n },\n ownKeys(target) {\n return getKeysFromAllScopes(target);\n },\n set(target, prop, value) {\n const storage = target._storage || (target._storage = getTarget());\n target[prop] = storage[prop] = value;\n delete target._keys;\n return true;\n }\n });\n}\nfunction _attachContext(proxy, context, subProxy, descriptorDefaults) {\n const cache = {\n _cacheable: false,\n _proxy: proxy,\n _context: context,\n _subProxy: subProxy,\n _stack: new Set(),\n _descriptors: _descriptors(proxy, descriptorDefaults),\n setContext: (ctx) => _attachContext(proxy, ctx, subProxy, descriptorDefaults),\n override: (scope) => _attachContext(proxy.override(scope), context, subProxy, descriptorDefaults)\n };\n return new Proxy(cache, {\n deleteProperty(target, prop) {\n delete target[prop];\n delete proxy[prop];\n return true;\n },\n get(target, prop, receiver) {\n return _cached(target, prop,\n () => _resolveWithContext(target, prop, receiver));\n },\n getOwnPropertyDescriptor(target, prop) {\n return target._descriptors.allKeys\n ? Reflect.has(proxy, prop) ? {enumerable: true, configurable: true} : undefined\n : Reflect.getOwnPropertyDescriptor(proxy, prop);\n },\n getPrototypeOf() {\n return Reflect.getPrototypeOf(proxy);\n },\n has(target, prop) {\n return Reflect.has(proxy, prop);\n },\n ownKeys() {\n return Reflect.ownKeys(proxy);\n },\n set(target, prop, value) {\n proxy[prop] = value;\n delete target[prop];\n return true;\n }\n });\n}\nfunction _descriptors(proxy, defaults = {scriptable: true, indexable: true}) {\n const {_scriptable = defaults.scriptable, _indexable = defaults.indexable, _allKeys = defaults.allKeys} = proxy;\n return {\n allKeys: _allKeys,\n scriptable: _scriptable,\n indexable: _indexable,\n isScriptable: isFunction(_scriptable) ? _scriptable : () => _scriptable,\n isIndexable: isFunction(_indexable) ? _indexable : () => _indexable\n };\n}\nconst readKey = (prefix, name) => prefix ? prefix + _capitalize(name) : name;\nconst needsSubResolver = (prop, value) => isObject(value) && prop !== 'adapters' &&\n (Object.getPrototypeOf(value) === null || value.constructor === Object);\nfunction _cached(target, prop, resolve) {\n if (Object.prototype.hasOwnProperty.call(target, prop)) {\n return target[prop];\n }\n const value = resolve();\n target[prop] = value;\n return value;\n}\nfunction _resolveWithContext(target, prop, receiver) {\n const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n let value = _proxy[prop];\n if (isFunction(value) && descriptors.isScriptable(prop)) {\n value = _resolveScriptable(prop, value, target, receiver);\n }\n if (isArray(value) && value.length) {\n value = _resolveArray(prop, value, target, descriptors.isIndexable);\n }\n if (needsSubResolver(prop, value)) {\n value = _attachContext(value, _context, _subProxy && _subProxy[prop], descriptors);\n }\n return value;\n}\nfunction _resolveScriptable(prop, value, target, receiver) {\n const {_proxy, _context, _subProxy, _stack} = target;\n if (_stack.has(prop)) {\n throw new Error('Recursion detected: ' + Array.from(_stack).join('->') + '->' + prop);\n }\n _stack.add(prop);\n value = value(_context, _subProxy || receiver);\n _stack.delete(prop);\n if (needsSubResolver(prop, value)) {\n value = createSubResolver(_proxy._scopes, _proxy, prop, value);\n }\n return value;\n}\nfunction _resolveArray(prop, value, target, isIndexable) {\n const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n if (defined(_context.index) && isIndexable(prop)) {\n value = value[_context.index % value.length];\n } else if (isObject(value[0])) {\n const arr = value;\n const scopes = _proxy._scopes.filter(s => s !== arr);\n value = [];\n for (const item of arr) {\n const resolver = createSubResolver(scopes, _proxy, prop, item);\n value.push(_attachContext(resolver, _context, _subProxy && _subProxy[prop], descriptors));\n }\n }\n return value;\n}\nfunction resolveFallback(fallback, prop, value) {\n return isFunction(fallback) ? fallback(prop, value) : fallback;\n}\nconst getScope = (key, parent) => key === true ? parent\n : typeof key === 'string' ? resolveObjectKey(parent, key) : undefined;\nfunction addScopes(set, parentScopes, key, parentFallback, value) {\n for (const parent of parentScopes) {\n const scope = getScope(key, parent);\n if (scope) {\n set.add(scope);\n const fallback = resolveFallback(scope._fallback, key, value);\n if (defined(fallback) && fallback !== key && fallback !== parentFallback) {\n return fallback;\n }\n } else if (scope === false && defined(parentFallback) && key !== parentFallback) {\n return null;\n }\n }\n return false;\n}\nfunction createSubResolver(parentScopes, resolver, prop, value) {\n const rootScopes = resolver._rootScopes;\n const fallback = resolveFallback(resolver._fallback, prop, value);\n const allScopes = [...parentScopes, ...rootScopes];\n const set = new Set();\n set.add(value);\n let key = addScopesFromKey(set, allScopes, prop, fallback || prop, value);\n if (key === null) {\n return false;\n }\n if (defined(fallback) && fallback !== prop) {\n key = addScopesFromKey(set, allScopes, fallback, key, value);\n if (key === null) {\n return false;\n }\n }\n return _createResolver(Array.from(set), [''], rootScopes, fallback,\n () => subGetTarget(resolver, prop, value));\n}\nfunction addScopesFromKey(set, allScopes, key, fallback, item) {\n while (key) {\n key = addScopes(set, allScopes, key, fallback, item);\n }\n return key;\n}\nfunction subGetTarget(resolver, prop, value) {\n const parent = resolver._getTarget();\n if (!(prop in parent)) {\n parent[prop] = {};\n }\n const target = parent[prop];\n if (isArray(target) && isObject(value)) {\n return value;\n }\n return target;\n}\nfunction _resolveWithPrefixes(prop, prefixes, scopes, proxy) {\n let value;\n for (const prefix of prefixes) {\n value = _resolve(readKey(prefix, prop), scopes);\n if (defined(value)) {\n return needsSubResolver(prop, value)\n ? createSubResolver(scopes, proxy, prop, value)\n : value;\n }\n }\n}\nfunction _resolve(key, scopes) {\n for (const scope of scopes) {\n if (!scope) {\n continue;\n }\n const value = scope[key];\n if (defined(value)) {\n return value;\n }\n }\n}\nfunction getKeysFromAllScopes(target) {\n let keys = target._keys;\n if (!keys) {\n keys = target._keys = resolveKeysFromAllScopes(target._scopes);\n }\n return keys;\n}\nfunction resolveKeysFromAllScopes(scopes) {\n const set = new Set();\n for (const scope of scopes) {\n for (const key of Object.keys(scope).filter(k => !k.startsWith('_'))) {\n set.add(key);\n }\n }\n return Array.from(set);\n}\nfunction _parseObjectDataRadialScale(meta, data, start, count) {\n const {iScale} = meta;\n const {key = 'r'} = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n r: iScale.parse(resolveObjectKey(item, key), index)\n };\n }\n return parsed;\n}\n\nconst EPSILON = Number.EPSILON || 1e-14;\nconst getPoint = (points, i) => i < points.length && !points[i].skip && points[i];\nconst getValueAxis = (indexAxis) => indexAxis === 'x' ? 'y' : 'x';\nfunction splineCurve(firstPoint, middlePoint, afterPoint, t) {\n const previous = firstPoint.skip ? middlePoint : firstPoint;\n const current = middlePoint;\n const next = afterPoint.skip ? middlePoint : afterPoint;\n const d01 = distanceBetweenPoints(current, previous);\n const d12 = distanceBetweenPoints(next, current);\n let s01 = d01 / (d01 + d12);\n let s12 = d12 / (d01 + d12);\n s01 = isNaN(s01) ? 0 : s01;\n s12 = isNaN(s12) ? 0 : s12;\n const fa = t * s01;\n const fb = t * s12;\n return {\n previous: {\n x: current.x - fa * (next.x - previous.x),\n y: current.y - fa * (next.y - previous.y)\n },\n next: {\n x: current.x + fb * (next.x - previous.x),\n y: current.y + fb * (next.y - previous.y)\n }\n };\n}\nfunction monotoneAdjust(points, deltaK, mK) {\n const pointsLen = points.length;\n let alphaK, betaK, tauK, squaredMagnitude, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (let i = 0; i < pointsLen - 1; ++i) {\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent || !pointAfter) {\n continue;\n }\n if (almostEquals(deltaK[i], 0, EPSILON)) {\n mK[i] = mK[i + 1] = 0;\n continue;\n }\n alphaK = mK[i] / deltaK[i];\n betaK = mK[i + 1] / deltaK[i];\n squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);\n if (squaredMagnitude <= 9) {\n continue;\n }\n tauK = 3 / Math.sqrt(squaredMagnitude);\n mK[i] = alphaK * tauK * deltaK[i];\n mK[i + 1] = betaK * tauK * deltaK[i];\n }\n}\nfunction monotoneCompute(points, mK, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n let delta, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (let i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n const iPixel = pointCurrent[indexAxis];\n const vPixel = pointCurrent[valueAxis];\n if (pointBefore) {\n delta = (iPixel - pointBefore[indexAxis]) / 3;\n pointCurrent[`cp1${indexAxis}`] = iPixel - delta;\n pointCurrent[`cp1${valueAxis}`] = vPixel - delta * mK[i];\n }\n if (pointAfter) {\n delta = (pointAfter[indexAxis] - iPixel) / 3;\n pointCurrent[`cp2${indexAxis}`] = iPixel + delta;\n pointCurrent[`cp2${valueAxis}`] = vPixel + delta * mK[i];\n }\n }\n}\nfunction splineCurveMonotone(points, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n const deltaK = Array(pointsLen).fill(0);\n const mK = Array(pointsLen);\n let i, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n if (pointAfter) {\n const slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis];\n deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0;\n }\n mK[i] = !pointBefore ? deltaK[i]\n : !pointAfter ? deltaK[i - 1]\n : (sign(deltaK[i - 1]) !== sign(deltaK[i])) ? 0\n : (deltaK[i - 1] + deltaK[i]) / 2;\n }\n monotoneAdjust(points, deltaK, mK);\n monotoneCompute(points, mK, indexAxis);\n}\nfunction capControlPoint(pt, min, max) {\n return Math.max(Math.min(pt, max), min);\n}\nfunction capBezierPoints(points, area) {\n let i, ilen, point, inArea, inAreaPrev;\n let inAreaNext = _isPointInArea(points[0], area);\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n inAreaPrev = inArea;\n inArea = inAreaNext;\n inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area);\n if (!inArea) {\n continue;\n }\n point = points[i];\n if (inAreaPrev) {\n point.cp1x = capControlPoint(point.cp1x, area.left, area.right);\n point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom);\n }\n if (inAreaNext) {\n point.cp2x = capControlPoint(point.cp2x, area.left, area.right);\n point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom);\n }\n }\n}\nfunction _updateBezierControlPoints(points, options, area, loop, indexAxis) {\n let i, ilen, point, controlPoints;\n if (options.spanGaps) {\n points = points.filter((pt) => !pt.skip);\n }\n if (options.cubicInterpolationMode === 'monotone') {\n splineCurveMonotone(points, indexAxis);\n } else {\n let prev = loop ? points[points.length - 1] : points[0];\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n point = points[i];\n controlPoints = splineCurve(\n prev,\n point,\n points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen],\n options.tension\n );\n point.cp1x = controlPoints.previous.x;\n point.cp1y = controlPoints.previous.y;\n point.cp2x = controlPoints.next.x;\n point.cp2y = controlPoints.next.y;\n prev = point;\n }\n }\n if (options.capBezierPoints) {\n capBezierPoints(points, area);\n }\n}\n\nfunction _isDomSupported() {\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\nfunction _getParentNode(domNode) {\n let parent = domNode.parentNode;\n if (parent && parent.toString() === '[object ShadowRoot]') {\n parent = parent.host;\n }\n return parent;\n}\nfunction parseMaxStyle(styleValue, node, parentProperty) {\n let valueInPixels;\n if (typeof styleValue === 'string') {\n valueInPixels = parseInt(styleValue, 10);\n if (styleValue.indexOf('%') !== -1) {\n valueInPixels = valueInPixels / 100 * node.parentNode[parentProperty];\n }\n } else {\n valueInPixels = styleValue;\n }\n return valueInPixels;\n}\nconst getComputedStyle = (element) => window.getComputedStyle(element, null);\nfunction getStyle(el, property) {\n return getComputedStyle(el).getPropertyValue(property);\n}\nconst positions = ['top', 'right', 'bottom', 'left'];\nfunction getPositionedStyle(styles, style, suffix) {\n const result = {};\n suffix = suffix ? '-' + suffix : '';\n for (let i = 0; i < 4; i++) {\n const pos = positions[i];\n result[pos] = parseFloat(styles[style + '-' + pos + suffix]) || 0;\n }\n result.width = result.left + result.right;\n result.height = result.top + result.bottom;\n return result;\n}\nconst useOffsetPos = (x, y, target) => (x > 0 || y > 0) && (!target || !target.shadowRoot);\nfunction getCanvasPosition(e, canvas) {\n const touches = e.touches;\n const source = touches && touches.length ? touches[0] : e;\n const {offsetX, offsetY} = source;\n let box = false;\n let x, y;\n if (useOffsetPos(offsetX, offsetY, e.target)) {\n x = offsetX;\n y = offsetY;\n } else {\n const rect = canvas.getBoundingClientRect();\n x = source.clientX - rect.left;\n y = source.clientY - rect.top;\n box = true;\n }\n return {x, y, box};\n}\nfunction getRelativePosition(evt, chart) {\n if ('native' in evt) {\n return evt;\n }\n const {canvas, currentDevicePixelRatio} = chart;\n const style = getComputedStyle(canvas);\n const borderBox = style.boxSizing === 'border-box';\n const paddings = getPositionedStyle(style, 'padding');\n const borders = getPositionedStyle(style, 'border', 'width');\n const {x, y, box} = getCanvasPosition(evt, canvas);\n const xOffset = paddings.left + (box && borders.left);\n const yOffset = paddings.top + (box && borders.top);\n let {width, height} = chart;\n if (borderBox) {\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n return {\n x: Math.round((x - xOffset) / width * canvas.width / currentDevicePixelRatio),\n y: Math.round((y - yOffset) / height * canvas.height / currentDevicePixelRatio)\n };\n}\nfunction getContainerSize(canvas, width, height) {\n let maxWidth, maxHeight;\n if (width === undefined || height === undefined) {\n const container = _getParentNode(canvas);\n if (!container) {\n width = canvas.clientWidth;\n height = canvas.clientHeight;\n } else {\n const rect = container.getBoundingClientRect();\n const containerStyle = getComputedStyle(container);\n const containerBorder = getPositionedStyle(containerStyle, 'border', 'width');\n const containerPadding = getPositionedStyle(containerStyle, 'padding');\n width = rect.width - containerPadding.width - containerBorder.width;\n height = rect.height - containerPadding.height - containerBorder.height;\n maxWidth = parseMaxStyle(containerStyle.maxWidth, container, 'clientWidth');\n maxHeight = parseMaxStyle(containerStyle.maxHeight, container, 'clientHeight');\n }\n }\n return {\n width,\n height,\n maxWidth: maxWidth || INFINITY,\n maxHeight: maxHeight || INFINITY\n };\n}\nconst round1 = v => Math.round(v * 10) / 10;\nfunction getMaximumSize(canvas, bbWidth, bbHeight, aspectRatio) {\n const style = getComputedStyle(canvas);\n const margins = getPositionedStyle(style, 'margin');\n const maxWidth = parseMaxStyle(style.maxWidth, canvas, 'clientWidth') || INFINITY;\n const maxHeight = parseMaxStyle(style.maxHeight, canvas, 'clientHeight') || INFINITY;\n const containerSize = getContainerSize(canvas, bbWidth, bbHeight);\n let {width, height} = containerSize;\n if (style.boxSizing === 'content-box') {\n const borders = getPositionedStyle(style, 'border', 'width');\n const paddings = getPositionedStyle(style, 'padding');\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n width = Math.max(0, width - margins.width);\n height = Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height - margins.height);\n width = round1(Math.min(width, maxWidth, containerSize.maxWidth));\n height = round1(Math.min(height, maxHeight, containerSize.maxHeight));\n if (width && !height) {\n height = round1(width / 2);\n }\n return {\n width,\n height\n };\n}\nfunction retinaScale(chart, forceRatio, forceStyle) {\n const pixelRatio = forceRatio || 1;\n const deviceHeight = Math.floor(chart.height * pixelRatio);\n const deviceWidth = Math.floor(chart.width * pixelRatio);\n chart.height = deviceHeight / pixelRatio;\n chart.width = deviceWidth / pixelRatio;\n const canvas = chart.canvas;\n if (canvas.style && (forceStyle || (!canvas.style.height && !canvas.style.width))) {\n canvas.style.height = `${chart.height}px`;\n canvas.style.width = `${chart.width}px`;\n }\n if (chart.currentDevicePixelRatio !== pixelRatio\n || canvas.height !== deviceHeight\n || canvas.width !== deviceWidth) {\n chart.currentDevicePixelRatio = pixelRatio;\n canvas.height = deviceHeight;\n canvas.width = deviceWidth;\n chart.ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n return true;\n }\n return false;\n}\nconst supportsEventListenerOptions = (function() {\n let passiveSupported = false;\n try {\n const options = {\n get passive() {\n passiveSupported = true;\n return false;\n }\n };\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (e) {\n }\n return passiveSupported;\n}());\nfunction readUsedSize(element, property) {\n const value = getStyle(element, property);\n const matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\n return matches ? +matches[1] : undefined;\n}\n\nfunction _pointInLine(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: p1.y + t * (p2.y - p1.y)\n };\n}\nfunction _steppedInterpolation(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: mode === 'middle' ? t < 0.5 ? p1.y : p2.y\n : mode === 'after' ? t < 1 ? p1.y : p2.y\n : t > 0 ? p2.y : p1.y\n };\n}\nfunction _bezierInterpolation(p1, p2, t, mode) {\n const cp1 = {x: p1.cp2x, y: p1.cp2y};\n const cp2 = {x: p2.cp1x, y: p2.cp1y};\n const a = _pointInLine(p1, cp1, t);\n const b = _pointInLine(cp1, cp2, t);\n const c = _pointInLine(cp2, p2, t);\n const d = _pointInLine(a, b, t);\n const e = _pointInLine(b, c, t);\n return _pointInLine(d, e, t);\n}\n\nconst intlCache = new Map();\nfunction getNumberFormat(locale, options) {\n options = options || {};\n const cacheKey = locale + JSON.stringify(options);\n let formatter = intlCache.get(cacheKey);\n if (!formatter) {\n formatter = new Intl.NumberFormat(locale, options);\n intlCache.set(cacheKey, formatter);\n }\n return formatter;\n}\nfunction formatNumber(num, locale, options) {\n return getNumberFormat(locale, options).format(num);\n}\n\nconst getRightToLeftAdapter = function(rectX, width) {\n return {\n x(x) {\n return rectX + rectX + width - x;\n },\n setWidth(w) {\n width = w;\n },\n textAlign(align) {\n if (align === 'center') {\n return align;\n }\n return align === 'right' ? 'left' : 'right';\n },\n xPlus(x, value) {\n return x - value;\n },\n leftForLtr(x, itemWidth) {\n return x - itemWidth;\n },\n };\n};\nconst getLeftToRightAdapter = function() {\n return {\n x(x) {\n return x;\n },\n setWidth(w) {\n },\n textAlign(align) {\n return align;\n },\n xPlus(x, value) {\n return x + value;\n },\n leftForLtr(x, _itemWidth) {\n return x;\n },\n };\n};\nfunction getRtlAdapter(rtl, rectX, width) {\n return rtl ? getRightToLeftAdapter(rectX, width) : getLeftToRightAdapter();\n}\nfunction overrideTextDirection(ctx, direction) {\n let style, original;\n if (direction === 'ltr' || direction === 'rtl') {\n style = ctx.canvas.style;\n original = [\n style.getPropertyValue('direction'),\n style.getPropertyPriority('direction'),\n ];\n style.setProperty('direction', direction, 'important');\n ctx.prevTextDirection = original;\n }\n}\nfunction restoreTextDirection(ctx, original) {\n if (original !== undefined) {\n delete ctx.prevTextDirection;\n ctx.canvas.style.setProperty('direction', original[0], original[1]);\n }\n}\n\nfunction propertyFn(property) {\n if (property === 'angle') {\n return {\n between: _angleBetween,\n compare: _angleDiff,\n normalize: _normalizeAngle,\n };\n }\n return {\n between: _isBetween,\n compare: (a, b) => a - b,\n normalize: x => x\n };\n}\nfunction normalizeSegment({start, end, count, loop, style}) {\n return {\n start: start % count,\n end: end % count,\n loop: loop && (end - start + 1) % count === 0,\n style\n };\n}\nfunction getSegment(segment, points, bounds) {\n const {property, start: startBound, end: endBound} = bounds;\n const {between, normalize} = propertyFn(property);\n const count = points.length;\n let {start, end, loop} = segment;\n let i, ilen;\n if (loop) {\n start += count;\n end += count;\n for (i = 0, ilen = count; i < ilen; ++i) {\n if (!between(normalize(points[start % count][property]), startBound, endBound)) {\n break;\n }\n start--;\n end--;\n }\n start %= count;\n end %= count;\n }\n if (end < start) {\n end += count;\n }\n return {start, end, loop, style: segment.style};\n}\nfunction _boundSegment(segment, points, bounds) {\n if (!bounds) {\n return [segment];\n }\n const {property, start: startBound, end: endBound} = bounds;\n const count = points.length;\n const {compare, between, normalize} = propertyFn(property);\n const {start, end, loop, style} = getSegment(segment, points, bounds);\n const result = [];\n let inside = false;\n let subStart = null;\n let value, point, prevValue;\n const startIsBefore = () => between(startBound, prevValue, value) && compare(startBound, prevValue) !== 0;\n const endIsBefore = () => compare(endBound, value) === 0 || between(endBound, prevValue, value);\n const shouldStart = () => inside || startIsBefore();\n const shouldStop = () => !inside || endIsBefore();\n for (let i = start, prev = start; i <= end; ++i) {\n point = points[i % count];\n if (point.skip) {\n continue;\n }\n value = normalize(point[property]);\n if (value === prevValue) {\n continue;\n }\n inside = between(value, startBound, endBound);\n if (subStart === null && shouldStart()) {\n subStart = compare(value, startBound) === 0 ? i : prev;\n }\n if (subStart !== null && shouldStop()) {\n result.push(normalizeSegment({start: subStart, end: i, loop, count, style}));\n subStart = null;\n }\n prev = i;\n prevValue = value;\n }\n if (subStart !== null) {\n result.push(normalizeSegment({start: subStart, end, loop, count, style}));\n }\n return result;\n}\nfunction _boundSegments(line, bounds) {\n const result = [];\n const segments = line.segments;\n for (let i = 0; i < segments.length; i++) {\n const sub = _boundSegment(segments[i], line.points, bounds);\n if (sub.length) {\n result.push(...sub);\n }\n }\n return result;\n}\nfunction findStartAndEnd(points, count, loop, spanGaps) {\n let start = 0;\n let end = count - 1;\n if (loop && !spanGaps) {\n while (start < count && !points[start].skip) {\n start++;\n }\n }\n while (start < count && points[start].skip) {\n start++;\n }\n start %= count;\n if (loop) {\n end += start;\n }\n while (end > start && points[end % count].skip) {\n end--;\n }\n end %= count;\n return {start, end};\n}\nfunction solidSegments(points, start, max, loop) {\n const count = points.length;\n const result = [];\n let last = start;\n let prev = points[start];\n let end;\n for (end = start + 1; end <= max; ++end) {\n const cur = points[end % count];\n if (cur.skip || cur.stop) {\n if (!prev.skip) {\n loop = false;\n result.push({start: start % count, end: (end - 1) % count, loop});\n start = last = cur.stop ? end : null;\n }\n } else {\n last = end;\n if (prev.skip) {\n start = end;\n }\n }\n prev = cur;\n }\n if (last !== null) {\n result.push({start: start % count, end: last % count, loop});\n }\n return result;\n}\nfunction _computeSegments(line, segmentOptions) {\n const points = line.points;\n const spanGaps = line.options.spanGaps;\n const count = points.length;\n if (!count) {\n return [];\n }\n const loop = !!line._loop;\n const {start, end} = findStartAndEnd(points, count, loop, spanGaps);\n if (spanGaps === true) {\n return splitByStyles(line, [{start, end, loop}], points, segmentOptions);\n }\n const max = end < start ? end + count : end;\n const completeLoop = !!line._fullLoop && start === 0 && end === count - 1;\n return splitByStyles(line, solidSegments(points, start, max, completeLoop), points, segmentOptions);\n}\nfunction splitByStyles(line, segments, points, segmentOptions) {\n if (!segmentOptions || !segmentOptions.setContext || !points) {\n return segments;\n }\n return doSplitByStyles(line, segments, points, segmentOptions);\n}\nfunction doSplitByStyles(line, segments, points, segmentOptions) {\n const chartContext = line._chart.getContext();\n const baseStyle = readStyle(line.options);\n const {_datasetIndex: datasetIndex, options: {spanGaps}} = line;\n const count = points.length;\n const result = [];\n let prevStyle = baseStyle;\n let start = segments[0].start;\n let i = start;\n function addStyle(s, e, l, st) {\n const dir = spanGaps ? -1 : 1;\n if (s === e) {\n return;\n }\n s += count;\n while (points[s % count].skip) {\n s -= dir;\n }\n while (points[e % count].skip) {\n e += dir;\n }\n if (s % count !== e % count) {\n result.push({start: s % count, end: e % count, loop: l, style: st});\n prevStyle = st;\n start = e % count;\n }\n }\n for (const segment of segments) {\n start = spanGaps ? start : segment.start;\n let prev = points[start % count];\n let style;\n for (i = start + 1; i <= segment.end; i++) {\n const pt = points[i % count];\n style = readStyle(segmentOptions.setContext(createContext(chartContext, {\n type: 'segment',\n p0: prev,\n p1: pt,\n p0DataIndex: (i - 1) % count,\n p1DataIndex: i % count,\n datasetIndex\n })));\n if (styleChanged(style, prevStyle)) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n prev = pt;\n prevStyle = style;\n }\n if (start < i - 1) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n }\n return result;\n}\nfunction readStyle(options) {\n return {\n backgroundColor: options.backgroundColor,\n borderCapStyle: options.borderCapStyle,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderJoinStyle: options.borderJoinStyle,\n borderWidth: options.borderWidth,\n borderColor: options.borderColor\n };\n}\nfunction styleChanged(style, prevStyle) {\n return prevStyle && JSON.stringify(style) !== JSON.stringify(prevStyle);\n}\n\nexport { _isPointInArea as $, _factorize as A, finiteOrDefault as B, callback as C, _addGrace as D, _limitValue as E, toDegrees as F, _measureText as G, HALF_PI as H, _int16Range as I, _alignPixel as J, toPadding as K, clipArea as L, renderText as M, unclipArea as N, toFont as O, PI as P, each as Q, _toLeftRightCenter as R, _alignStartEnd as S, TAU as T, overrides as U, merge as V, _capitalize as W, getRelativePosition as X, _rlookupByKey as Y, _lookupByKey as Z, _arrayUnique as _, resolve as a, toLineHeight as a$, getAngleFromPoint as a0, getMaximumSize as a1, _getParentNode as a2, readUsedSize as a3, throttled as a4, supportsEventListenerOptions as a5, _isDomSupported as a6, descriptors as a7, isFunction as a8, _attachContext as a9, getRtlAdapter as aA, overrideTextDirection as aB, _textX as aC, restoreTextDirection as aD, drawPointLegend as aE, noop as aF, distanceBetweenPoints as aG, _setMinAndMaxByKey as aH, niceNum as aI, almostWhole as aJ, almostEquals as aK, _decimalPlaces as aL, _longestText as aM, _filterBetween as aN, _lookup as aO, isPatternOrGradient as aP, getHoverColor as aQ, clone$1 as aR, _merger as aS, _mergerIf as aT, _deprecated as aU, _splitKey as aV, toFontString as aW, splineCurve as aX, splineCurveMonotone as aY, getStyle as aZ, fontString as a_, _createResolver as aa, _descriptors as ab, mergeIf as ac, uid as ad, debounce as ae, retinaScale as af, clearCanvas as ag, setsEqual as ah, _elementsEqual as ai, _isClickEvent as aj, _isBetween as ak, _readValueToProps as al, _updateBezierControlPoints as am, _computeSegments as an, _boundSegments as ao, _steppedInterpolation as ap, _bezierInterpolation as aq, _pointInLine as ar, _steppedLineTo as as, _bezierCurveTo as at, drawPoint as au, addRoundedRectPath as av, toTRBL as aw, toTRBLCorners as ax, _boundSegment as ay, _normalizeAngle as az, isArray as b, PITAU as b0, INFINITY as b1, RAD_PER_DEG as b2, QUARTER_PI as b3, TWO_THIRDS_PI as b4, _angleDiff as b5, color as c, defaults as d, effects as e, resolveObjectKey as f, isNumberFinite as g, createContext as h, isObject as i, defined as j, isNullOrUndef as k, listenArrayEvents as l, toPercentage as m, toDimension as n, formatNumber as o, _angleBetween as p, _getStartAndCountOfVisiblePoints as q, requestAnimFrame as r, sign as s, toRadians as t, unlistenArrayEvents as u, valueOrDefault as v, _scaleRangesChanged as w, isNumber as x, _parseObjectDataRadialScale as y, log10 as z };\n","/*!\n * Chart.js v3.9.1\n * https://www.chartjs.org\n * (c) 2022 Chart.js Contributors\n * Released under the MIT License\n */\nimport { r as requestAnimFrame, a as resolve, e as effects, c as color, d as defaults, i as isObject, b as isArray, v as valueOrDefault, u as unlistenArrayEvents, l as listenArrayEvents, f as resolveObjectKey, g as isNumberFinite, h as createContext, j as defined, s as sign, k as isNullOrUndef, _ as _arrayUnique, t as toRadians, m as toPercentage, n as toDimension, T as TAU, o as formatNumber, p as _angleBetween, H as HALF_PI, P as PI, q as _getStartAndCountOfVisiblePoints, w as _scaleRangesChanged, x as isNumber, y as _parseObjectDataRadialScale, z as log10, A as _factorize, B as finiteOrDefault, C as callback, D as _addGrace, E as _limitValue, F as toDegrees, G as _measureText, I as _int16Range, J as _alignPixel, K as toPadding, L as clipArea, M as renderText, N as unclipArea, O as toFont, Q as each, R as _toLeftRightCenter, S as _alignStartEnd, U as overrides, V as merge, W as _capitalize, X as getRelativePosition, Y as _rlookupByKey, Z as _lookupByKey, $ as _isPointInArea, a0 as getAngleFromPoint, a1 as getMaximumSize, a2 as _getParentNode, a3 as readUsedSize, a4 as throttled, a5 as supportsEventListenerOptions, a6 as _isDomSupported, a7 as descriptors, a8 as isFunction, a9 as _attachContext, aa as _createResolver, ab as _descriptors, ac as mergeIf, ad as uid, ae as debounce, af as retinaScale, ag as clearCanvas, ah as setsEqual, ai as _elementsEqual, aj as _isClickEvent, ak as _isBetween, al as _readValueToProps, am as _updateBezierControlPoints, an as _computeSegments, ao as _boundSegments, ap as _steppedInterpolation, aq as _bezierInterpolation, ar as _pointInLine, as as _steppedLineTo, at as _bezierCurveTo, au as drawPoint, av as addRoundedRectPath, aw as toTRBL, ax as toTRBLCorners, ay as _boundSegment, az as _normalizeAngle, aA as getRtlAdapter, aB as overrideTextDirection, aC as _textX, aD as restoreTextDirection, aE as drawPointLegend, aF as noop, aG as distanceBetweenPoints, aH as _setMinAndMaxByKey, aI as niceNum, aJ as almostWhole, aK as almostEquals, aL as _decimalPlaces, aM as _longestText, aN as _filterBetween, aO as _lookup } from './chunks/helpers.segment.mjs';\nexport { d as defaults } from './chunks/helpers.segment.mjs';\n\nclass Animator {\n constructor() {\n this._request = null;\n this._charts = new Map();\n this._running = false;\n this._lastDate = undefined;\n }\n _notify(chart, anims, date, type) {\n const callbacks = anims.listeners[type];\n const numSteps = anims.duration;\n callbacks.forEach(fn => fn({\n chart,\n initial: anims.initial,\n numSteps,\n currentStep: Math.min(date - anims.start, numSteps)\n }));\n }\n _refresh() {\n if (this._request) {\n return;\n }\n this._running = true;\n this._request = requestAnimFrame.call(window, () => {\n this._update();\n this._request = null;\n if (this._running) {\n this._refresh();\n }\n });\n }\n _update(date = Date.now()) {\n let remaining = 0;\n this._charts.forEach((anims, chart) => {\n if (!anims.running || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n let draw = false;\n let item;\n for (; i >= 0; --i) {\n item = items[i];\n if (item._active) {\n if (item._total > anims.duration) {\n anims.duration = item._total;\n }\n item.tick(date);\n draw = true;\n } else {\n items[i] = items[items.length - 1];\n items.pop();\n }\n }\n if (draw) {\n chart.draw();\n this._notify(chart, anims, date, 'progress');\n }\n if (!items.length) {\n anims.running = false;\n this._notify(chart, anims, date, 'complete');\n anims.initial = false;\n }\n remaining += items.length;\n });\n this._lastDate = date;\n if (remaining === 0) {\n this._running = false;\n }\n }\n _getAnims(chart) {\n const charts = this._charts;\n let anims = charts.get(chart);\n if (!anims) {\n anims = {\n running: false,\n initial: true,\n items: [],\n listeners: {\n complete: [],\n progress: []\n }\n };\n charts.set(chart, anims);\n }\n return anims;\n }\n listen(chart, event, cb) {\n this._getAnims(chart).listeners[event].push(cb);\n }\n add(chart, items) {\n if (!items || !items.length) {\n return;\n }\n this._getAnims(chart).items.push(...items);\n }\n has(chart) {\n return this._getAnims(chart).items.length > 0;\n }\n start(chart) {\n const anims = this._charts.get(chart);\n if (!anims) {\n return;\n }\n anims.running = true;\n anims.start = Date.now();\n anims.duration = anims.items.reduce((acc, cur) => Math.max(acc, cur._duration), 0);\n this._refresh();\n }\n running(chart) {\n if (!this._running) {\n return false;\n }\n const anims = this._charts.get(chart);\n if (!anims || !anims.running || !anims.items.length) {\n return false;\n }\n return true;\n }\n stop(chart) {\n const anims = this._charts.get(chart);\n if (!anims || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n for (; i >= 0; --i) {\n items[i].cancel();\n }\n anims.items = [];\n this._notify(chart, anims, Date.now(), 'complete');\n }\n remove(chart) {\n return this._charts.delete(chart);\n }\n}\nvar animator = new Animator();\n\nconst transparent = 'transparent';\nconst interpolators = {\n boolean(from, to, factor) {\n return factor > 0.5 ? to : from;\n },\n color(from, to, factor) {\n const c0 = color(from || transparent);\n const c1 = c0.valid && color(to || transparent);\n return c1 && c1.valid\n ? c1.mix(c0, factor).hexString()\n : to;\n },\n number(from, to, factor) {\n return from + (to - from) * factor;\n }\n};\nclass Animation {\n constructor(cfg, target, prop, to) {\n const currentValue = target[prop];\n to = resolve([cfg.to, to, currentValue, cfg.from]);\n const from = resolve([cfg.from, currentValue, to]);\n this._active = true;\n this._fn = cfg.fn || interpolators[cfg.type || typeof from];\n this._easing = effects[cfg.easing] || effects.linear;\n this._start = Math.floor(Date.now() + (cfg.delay || 0));\n this._duration = this._total = Math.floor(cfg.duration);\n this._loop = !!cfg.loop;\n this._target = target;\n this._prop = prop;\n this._from = from;\n this._to = to;\n this._promises = undefined;\n }\n active() {\n return this._active;\n }\n update(cfg, to, date) {\n if (this._active) {\n this._notify(false);\n const currentValue = this._target[this._prop];\n const elapsed = date - this._start;\n const remain = this._duration - elapsed;\n this._start = date;\n this._duration = Math.floor(Math.max(remain, cfg.duration));\n this._total += elapsed;\n this._loop = !!cfg.loop;\n this._to = resolve([cfg.to, to, currentValue, cfg.from]);\n this._from = resolve([cfg.from, currentValue, to]);\n }\n }\n cancel() {\n if (this._active) {\n this.tick(Date.now());\n this._active = false;\n this._notify(false);\n }\n }\n tick(date) {\n const elapsed = date - this._start;\n const duration = this._duration;\n const prop = this._prop;\n const from = this._from;\n const loop = this._loop;\n const to = this._to;\n let factor;\n this._active = from !== to && (loop || (elapsed < duration));\n if (!this._active) {\n this._target[prop] = to;\n this._notify(true);\n return;\n }\n if (elapsed < 0) {\n this._target[prop] = from;\n return;\n }\n factor = (elapsed / duration) % 2;\n factor = loop && factor > 1 ? 2 - factor : factor;\n factor = this._easing(Math.min(1, Math.max(0, factor)));\n this._target[prop] = this._fn(from, to, factor);\n }\n wait() {\n const promises = this._promises || (this._promises = []);\n return new Promise((res, rej) => {\n promises.push({res, rej});\n });\n }\n _notify(resolved) {\n const method = resolved ? 'res' : 'rej';\n const promises = this._promises || [];\n for (let i = 0; i < promises.length; i++) {\n promises[i][method]();\n }\n }\n}\n\nconst numbers = ['x', 'y', 'borderWidth', 'radius', 'tension'];\nconst colors = ['color', 'borderColor', 'backgroundColor'];\ndefaults.set('animation', {\n delay: undefined,\n duration: 1000,\n easing: 'easeOutQuart',\n fn: undefined,\n from: undefined,\n loop: undefined,\n to: undefined,\n type: undefined,\n});\nconst animationOptions = Object.keys(defaults.animation);\ndefaults.describe('animation', {\n _fallback: false,\n _indexable: false,\n _scriptable: (name) => name !== 'onProgress' && name !== 'onComplete' && name !== 'fn',\n});\ndefaults.set('animations', {\n colors: {\n type: 'color',\n properties: colors\n },\n numbers: {\n type: 'number',\n properties: numbers\n },\n});\ndefaults.describe('animations', {\n _fallback: 'animation',\n});\ndefaults.set('transitions', {\n active: {\n animation: {\n duration: 400\n }\n },\n resize: {\n animation: {\n duration: 0\n }\n },\n show: {\n animations: {\n colors: {\n from: 'transparent'\n },\n visible: {\n type: 'boolean',\n duration: 0\n },\n }\n },\n hide: {\n animations: {\n colors: {\n to: 'transparent'\n },\n visible: {\n type: 'boolean',\n easing: 'linear',\n fn: v => v | 0\n },\n }\n }\n});\nclass Animations {\n constructor(chart, config) {\n this._chart = chart;\n this._properties = new Map();\n this.configure(config);\n }\n configure(config) {\n if (!isObject(config)) {\n return;\n }\n const animatedProps = this._properties;\n Object.getOwnPropertyNames(config).forEach(key => {\n const cfg = config[key];\n if (!isObject(cfg)) {\n return;\n }\n const resolved = {};\n for (const option of animationOptions) {\n resolved[option] = cfg[option];\n }\n (isArray(cfg.properties) && cfg.properties || [key]).forEach((prop) => {\n if (prop === key || !animatedProps.has(prop)) {\n animatedProps.set(prop, resolved);\n }\n });\n });\n }\n _animateOptions(target, values) {\n const newOptions = values.options;\n const options = resolveTargetOptions(target, newOptions);\n if (!options) {\n return [];\n }\n const animations = this._createAnimations(options, newOptions);\n if (newOptions.$shared) {\n awaitAll(target.options.$animations, newOptions).then(() => {\n target.options = newOptions;\n }, () => {\n });\n }\n return animations;\n }\n _createAnimations(target, values) {\n const animatedProps = this._properties;\n const animations = [];\n const running = target.$animations || (target.$animations = {});\n const props = Object.keys(values);\n const date = Date.now();\n let i;\n for (i = props.length - 1; i >= 0; --i) {\n const prop = props[i];\n if (prop.charAt(0) === '$') {\n continue;\n }\n if (prop === 'options') {\n animations.push(...this._animateOptions(target, values));\n continue;\n }\n const value = values[prop];\n let animation = running[prop];\n const cfg = animatedProps.get(prop);\n if (animation) {\n if (cfg && animation.active()) {\n animation.update(cfg, value, date);\n continue;\n } else {\n animation.cancel();\n }\n }\n if (!cfg || !cfg.duration) {\n target[prop] = value;\n continue;\n }\n running[prop] = animation = new Animation(cfg, target, prop, value);\n animations.push(animation);\n }\n return animations;\n }\n update(target, values) {\n if (this._properties.size === 0) {\n Object.assign(target, values);\n return;\n }\n const animations = this._createAnimations(target, values);\n if (animations.length) {\n animator.add(this._chart, animations);\n return true;\n }\n }\n}\nfunction awaitAll(animations, properties) {\n const running = [];\n const keys = Object.keys(properties);\n for (let i = 0; i < keys.length; i++) {\n const anim = animations[keys[i]];\n if (anim && anim.active()) {\n running.push(anim.wait());\n }\n }\n return Promise.all(running);\n}\nfunction resolveTargetOptions(target, newOptions) {\n if (!newOptions) {\n return;\n }\n let options = target.options;\n if (!options) {\n target.options = newOptions;\n return;\n }\n if (options.$shared) {\n target.options = options = Object.assign({}, options, {$shared: false, $animations: {}});\n }\n return options;\n}\n\nfunction scaleClip(scale, allowedOverflow) {\n const opts = scale && scale.options || {};\n const reverse = opts.reverse;\n const min = opts.min === undefined ? allowedOverflow : 0;\n const max = opts.max === undefined ? allowedOverflow : 0;\n return {\n start: reverse ? max : min,\n end: reverse ? min : max\n };\n}\nfunction defaultClip(xScale, yScale, allowedOverflow) {\n if (allowedOverflow === false) {\n return false;\n }\n const x = scaleClip(xScale, allowedOverflow);\n const y = scaleClip(yScale, allowedOverflow);\n return {\n top: y.end,\n right: x.end,\n bottom: y.start,\n left: x.start\n };\n}\nfunction toClip(value) {\n let t, r, b, l;\n if (isObject(value)) {\n t = value.top;\n r = value.right;\n b = value.bottom;\n l = value.left;\n } else {\n t = r = b = l = value;\n }\n return {\n top: t,\n right: r,\n bottom: b,\n left: l,\n disabled: value === false\n };\n}\nfunction getSortedDatasetIndices(chart, filterVisible) {\n const keys = [];\n const metasets = chart._getSortedDatasetMetas(filterVisible);\n let i, ilen;\n for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n keys.push(metasets[i].index);\n }\n return keys;\n}\nfunction applyStack(stack, value, dsIndex, options = {}) {\n const keys = stack.keys;\n const singleMode = options.mode === 'single';\n let i, ilen, datasetIndex, otherValue;\n if (value === null) {\n return;\n }\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n datasetIndex = +keys[i];\n if (datasetIndex === dsIndex) {\n if (options.all) {\n continue;\n }\n break;\n }\n otherValue = stack.values[datasetIndex];\n if (isNumberFinite(otherValue) && (singleMode || (value === 0 || sign(value) === sign(otherValue)))) {\n value += otherValue;\n }\n }\n return value;\n}\nfunction convertObjectDataToArray(data) {\n const keys = Object.keys(data);\n const adata = new Array(keys.length);\n let i, ilen, key;\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n key = keys[i];\n adata[i] = {\n x: key,\n y: data[key]\n };\n }\n return adata;\n}\nfunction isStacked(scale, meta) {\n const stacked = scale && scale.options.stacked;\n return stacked || (stacked === undefined && meta.stack !== undefined);\n}\nfunction getStackKey(indexScale, valueScale, meta) {\n return `${indexScale.id}.${valueScale.id}.${meta.stack || meta.type}`;\n}\nfunction getUserBounds(scale) {\n const {min, max, minDefined, maxDefined} = scale.getUserBounds();\n return {\n min: minDefined ? min : Number.NEGATIVE_INFINITY,\n max: maxDefined ? max : Number.POSITIVE_INFINITY\n };\n}\nfunction getOrCreateStack(stacks, stackKey, indexValue) {\n const subStack = stacks[stackKey] || (stacks[stackKey] = {});\n return subStack[indexValue] || (subStack[indexValue] = {});\n}\nfunction getLastIndexInStack(stack, vScale, positive, type) {\n for (const meta of vScale.getMatchingVisibleMetas(type).reverse()) {\n const value = stack[meta.index];\n if ((positive && value > 0) || (!positive && value < 0)) {\n return meta.index;\n }\n }\n return null;\n}\nfunction updateStacks(controller, parsed) {\n const {chart, _cachedMeta: meta} = controller;\n const stacks = chart._stacks || (chart._stacks = {});\n const {iScale, vScale, index: datasetIndex} = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const key = getStackKey(iScale, vScale, meta);\n const ilen = parsed.length;\n let stack;\n for (let i = 0; i < ilen; ++i) {\n const item = parsed[i];\n const {[iAxis]: index, [vAxis]: value} = item;\n const itemStacks = item._stacks || (item._stacks = {});\n stack = itemStacks[vAxis] = getOrCreateStack(stacks, key, index);\n stack[datasetIndex] = value;\n stack._top = getLastIndexInStack(stack, vScale, true, meta.type);\n stack._bottom = getLastIndexInStack(stack, vScale, false, meta.type);\n }\n}\nfunction getFirstScaleId(chart, axis) {\n const scales = chart.scales;\n return Object.keys(scales).filter(key => scales[key].axis === axis).shift();\n}\nfunction createDatasetContext(parent, index) {\n return createContext(parent,\n {\n active: false,\n dataset: undefined,\n datasetIndex: index,\n index,\n mode: 'default',\n type: 'dataset'\n }\n );\n}\nfunction createDataContext(parent, index, element) {\n return createContext(parent, {\n active: false,\n dataIndex: index,\n parsed: undefined,\n raw: undefined,\n element,\n index,\n mode: 'default',\n type: 'data'\n });\n}\nfunction clearStacks(meta, items) {\n const datasetIndex = meta.controller.index;\n const axis = meta.vScale && meta.vScale.axis;\n if (!axis) {\n return;\n }\n items = items || meta._parsed;\n for (const parsed of items) {\n const stacks = parsed._stacks;\n if (!stacks || stacks[axis] === undefined || stacks[axis][datasetIndex] === undefined) {\n return;\n }\n delete stacks[axis][datasetIndex];\n }\n}\nconst isDirectUpdateMode = (mode) => mode === 'reset' || mode === 'none';\nconst cloneIfNotShared = (cached, shared) => shared ? cached : Object.assign({}, cached);\nconst createStack = (canStack, meta, chart) => canStack && !meta.hidden && meta._stacked\n && {keys: getSortedDatasetIndices(chart, true), values: null};\nclass DatasetController {\n constructor(chart, datasetIndex) {\n this.chart = chart;\n this._ctx = chart.ctx;\n this.index = datasetIndex;\n this._cachedDataOpts = {};\n this._cachedMeta = this.getMeta();\n this._type = this._cachedMeta.type;\n this.options = undefined;\n this._parsing = false;\n this._data = undefined;\n this._objectData = undefined;\n this._sharedOptions = undefined;\n this._drawStart = undefined;\n this._drawCount = undefined;\n this.enableOptionSharing = false;\n this.supportsDecimation = false;\n this.$context = undefined;\n this._syncList = [];\n this.initialize();\n }\n initialize() {\n const meta = this._cachedMeta;\n this.configure();\n this.linkScales();\n meta._stacked = isStacked(meta.vScale, meta);\n this.addElements();\n }\n updateIndex(datasetIndex) {\n if (this.index !== datasetIndex) {\n clearStacks(this._cachedMeta);\n }\n this.index = datasetIndex;\n }\n linkScales() {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n const chooseId = (axis, x, y, r) => axis === 'x' ? x : axis === 'r' ? r : y;\n const xid = meta.xAxisID = valueOrDefault(dataset.xAxisID, getFirstScaleId(chart, 'x'));\n const yid = meta.yAxisID = valueOrDefault(dataset.yAxisID, getFirstScaleId(chart, 'y'));\n const rid = meta.rAxisID = valueOrDefault(dataset.rAxisID, getFirstScaleId(chart, 'r'));\n const indexAxis = meta.indexAxis;\n const iid = meta.iAxisID = chooseId(indexAxis, xid, yid, rid);\n const vid = meta.vAxisID = chooseId(indexAxis, yid, xid, rid);\n meta.xScale = this.getScaleForId(xid);\n meta.yScale = this.getScaleForId(yid);\n meta.rScale = this.getScaleForId(rid);\n meta.iScale = this.getScaleForId(iid);\n meta.vScale = this.getScaleForId(vid);\n }\n getDataset() {\n return this.chart.data.datasets[this.index];\n }\n getMeta() {\n return this.chart.getDatasetMeta(this.index);\n }\n getScaleForId(scaleID) {\n return this.chart.scales[scaleID];\n }\n _getOtherScale(scale) {\n const meta = this._cachedMeta;\n return scale === meta.iScale\n ? meta.vScale\n : meta.iScale;\n }\n reset() {\n this._update('reset');\n }\n _destroy() {\n const meta = this._cachedMeta;\n if (this._data) {\n unlistenArrayEvents(this._data, this);\n }\n if (meta._stacked) {\n clearStacks(meta);\n }\n }\n _dataCheck() {\n const dataset = this.getDataset();\n const data = dataset.data || (dataset.data = []);\n const _data = this._data;\n if (isObject(data)) {\n this._data = convertObjectDataToArray(data);\n } else if (_data !== data) {\n if (_data) {\n unlistenArrayEvents(_data, this);\n const meta = this._cachedMeta;\n clearStacks(meta);\n meta._parsed = [];\n }\n if (data && Object.isExtensible(data)) {\n listenArrayEvents(data, this);\n }\n this._syncList = [];\n this._data = data;\n }\n }\n addElements() {\n const meta = this._cachedMeta;\n this._dataCheck();\n if (this.datasetElementType) {\n meta.dataset = new this.datasetElementType();\n }\n }\n buildOrUpdateElements(resetNewElements) {\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n let stackChanged = false;\n this._dataCheck();\n const oldStacked = meta._stacked;\n meta._stacked = isStacked(meta.vScale, meta);\n if (meta.stack !== dataset.stack) {\n stackChanged = true;\n clearStacks(meta);\n meta.stack = dataset.stack;\n }\n this._resyncElements(resetNewElements);\n if (stackChanged || oldStacked !== meta._stacked) {\n updateStacks(this, meta._parsed);\n }\n }\n configure() {\n const config = this.chart.config;\n const scopeKeys = config.datasetScopeKeys(this._type);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys, true);\n this.options = config.createResolver(scopes, this.getContext());\n this._parsing = this.options.parsing;\n this._cachedDataOpts = {};\n }\n parse(start, count) {\n const {_cachedMeta: meta, _data: data} = this;\n const {iScale, _stacked} = meta;\n const iAxis = iScale.axis;\n let sorted = start === 0 && count === data.length ? true : meta._sorted;\n let prev = start > 0 && meta._parsed[start - 1];\n let i, cur, parsed;\n if (this._parsing === false) {\n meta._parsed = data;\n meta._sorted = true;\n parsed = data;\n } else {\n if (isArray(data[start])) {\n parsed = this.parseArrayData(meta, data, start, count);\n } else if (isObject(data[start])) {\n parsed = this.parseObjectData(meta, data, start, count);\n } else {\n parsed = this.parsePrimitiveData(meta, data, start, count);\n }\n const isNotInOrderComparedToPrev = () => cur[iAxis] === null || (prev && cur[iAxis] < prev[iAxis]);\n for (i = 0; i < count; ++i) {\n meta._parsed[i + start] = cur = parsed[i];\n if (sorted) {\n if (isNotInOrderComparedToPrev()) {\n sorted = false;\n }\n prev = cur;\n }\n }\n meta._sorted = sorted;\n }\n if (_stacked) {\n updateStacks(this, parsed);\n }\n }\n parsePrimitiveData(meta, data, start, count) {\n const {iScale, vScale} = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = new Array(count);\n let i, ilen, index;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n parsed[i] = {\n [iAxis]: singleScale || iScale.parse(labels[index], index),\n [vAxis]: vScale.parse(data[index], index)\n };\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(item[0], index),\n y: yScale.parse(item[1], index)\n };\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(resolveObjectKey(item, xAxisKey), index),\n y: yScale.parse(resolveObjectKey(item, yAxisKey), index)\n };\n }\n return parsed;\n }\n getParsed(index) {\n return this._cachedMeta._parsed[index];\n }\n getDataElement(index) {\n return this._cachedMeta.data[index];\n }\n applyStack(scale, parsed, mode) {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const value = parsed[scale.axis];\n const stack = {\n keys: getSortedDatasetIndices(chart, true),\n values: parsed._stacks[scale.axis]\n };\n return applyStack(stack, value, meta.index, {mode});\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n const parsedValue = parsed[scale.axis];\n let value = parsedValue === null ? NaN : parsedValue;\n const values = stack && parsed._stacks[scale.axis];\n if (stack && values) {\n stack.values = values;\n value = applyStack(stack, parsedValue, this._cachedMeta.index);\n }\n range.min = Math.min(range.min, value);\n range.max = Math.max(range.max, value);\n }\n getMinMax(scale, canStack) {\n const meta = this._cachedMeta;\n const _parsed = meta._parsed;\n const sorted = meta._sorted && scale === meta.iScale;\n const ilen = _parsed.length;\n const otherScale = this._getOtherScale(scale);\n const stack = createStack(canStack, meta, this.chart);\n const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY};\n const {min: otherMin, max: otherMax} = getUserBounds(otherScale);\n let i, parsed;\n function _skip() {\n parsed = _parsed[i];\n const otherValue = parsed[otherScale.axis];\n return !isNumberFinite(parsed[scale.axis]) || otherMin > otherValue || otherMax < otherValue;\n }\n for (i = 0; i < ilen; ++i) {\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n if (sorted) {\n break;\n }\n }\n if (sorted) {\n for (i = ilen - 1; i >= 0; --i) {\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n break;\n }\n }\n return range;\n }\n getAllParsedValues(scale) {\n const parsed = this._cachedMeta._parsed;\n const values = [];\n let i, ilen, value;\n for (i = 0, ilen = parsed.length; i < ilen; ++i) {\n value = parsed[i][scale.axis];\n if (isNumberFinite(value)) {\n values.push(value);\n }\n }\n return values;\n }\n getMaxOverflow() {\n return false;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: iScale ? '' + iScale.getLabelForValue(parsed[iScale.axis]) : '',\n value: vScale ? '' + vScale.getLabelForValue(parsed[vScale.axis]) : ''\n };\n }\n _update(mode) {\n const meta = this._cachedMeta;\n this.update(mode || 'default');\n meta._clip = toClip(valueOrDefault(this.options.clip, defaultClip(meta.xScale, meta.yScale, this.getMaxOverflow())));\n }\n update(mode) {}\n draw() {\n const ctx = this._ctx;\n const chart = this.chart;\n const meta = this._cachedMeta;\n const elements = meta.data || [];\n const area = chart.chartArea;\n const active = [];\n const start = this._drawStart || 0;\n const count = this._drawCount || (elements.length - start);\n const drawActiveElementsOnTop = this.options.drawActiveElementsOnTop;\n let i;\n if (meta.dataset) {\n meta.dataset.draw(ctx, area, start, count);\n }\n for (i = start; i < start + count; ++i) {\n const element = elements[i];\n if (element.hidden) {\n continue;\n }\n if (element.active && drawActiveElementsOnTop) {\n active.push(element);\n } else {\n element.draw(ctx, area);\n }\n }\n for (i = 0; i < active.length; ++i) {\n active[i].draw(ctx, area);\n }\n }\n getStyle(index, active) {\n const mode = active ? 'active' : 'default';\n return index === undefined && this._cachedMeta.dataset\n ? this.resolveDatasetElementOptions(mode)\n : this.resolveDataElementOptions(index || 0, mode);\n }\n getContext(index, active, mode) {\n const dataset = this.getDataset();\n let context;\n if (index >= 0 && index < this._cachedMeta.data.length) {\n const element = this._cachedMeta.data[index];\n context = element.$context ||\n (element.$context = createDataContext(this.getContext(), index, element));\n context.parsed = this.getParsed(index);\n context.raw = dataset.data[index];\n context.index = context.dataIndex = index;\n } else {\n context = this.$context ||\n (this.$context = createDatasetContext(this.chart.getContext(), this.index));\n context.dataset = dataset;\n context.index = context.datasetIndex = this.index;\n }\n context.active = !!active;\n context.mode = mode;\n return context;\n }\n resolveDatasetElementOptions(mode) {\n return this._resolveElementOptions(this.datasetElementType.id, mode);\n }\n resolveDataElementOptions(index, mode) {\n return this._resolveElementOptions(this.dataElementType.id, mode, index);\n }\n _resolveElementOptions(elementType, mode = 'default', index) {\n const active = mode === 'active';\n const cache = this._cachedDataOpts;\n const cacheKey = elementType + '-' + mode;\n const cached = cache[cacheKey];\n const sharing = this.enableOptionSharing && defined(index);\n if (cached) {\n return cloneIfNotShared(cached, sharing);\n }\n const config = this.chart.config;\n const scopeKeys = config.datasetElementScopeKeys(this._type, elementType);\n const prefixes = active ? [`${elementType}Hover`, 'hover', elementType, ''] : [elementType, ''];\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n const names = Object.keys(defaults.elements[elementType]);\n const context = () => this.getContext(index, active);\n const values = config.resolveNamedOptions(scopes, names, context, prefixes);\n if (values.$shared) {\n values.$shared = sharing;\n cache[cacheKey] = Object.freeze(cloneIfNotShared(values, sharing));\n }\n return values;\n }\n _resolveAnimations(index, transition, active) {\n const chart = this.chart;\n const cache = this._cachedDataOpts;\n const cacheKey = `animation-${transition}`;\n const cached = cache[cacheKey];\n if (cached) {\n return cached;\n }\n let options;\n if (chart.options.animation !== false) {\n const config = this.chart.config;\n const scopeKeys = config.datasetAnimationScopeKeys(this._type, transition);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n options = config.createResolver(scopes, this.getContext(index, active, transition));\n }\n const animations = new Animations(chart, options && options.animations);\n if (options && options._cacheable) {\n cache[cacheKey] = Object.freeze(animations);\n }\n return animations;\n }\n getSharedOptions(options) {\n if (!options.$shared) {\n return;\n }\n return this._sharedOptions || (this._sharedOptions = Object.assign({}, options));\n }\n includeOptions(mode, sharedOptions) {\n return !sharedOptions || isDirectUpdateMode(mode) || this.chart._animationsDisabled;\n }\n _getSharedOptions(start, mode) {\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const previouslySharedOptions = this._sharedOptions;\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions) || (sharedOptions !== previouslySharedOptions);\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n return {sharedOptions, includeOptions};\n }\n updateElement(element, index, properties, mode) {\n if (isDirectUpdateMode(mode)) {\n Object.assign(element, properties);\n } else {\n this._resolveAnimations(index, mode).update(element, properties);\n }\n }\n updateSharedOptions(sharedOptions, mode, newOptions) {\n if (sharedOptions && !isDirectUpdateMode(mode)) {\n this._resolveAnimations(undefined, mode).update(sharedOptions, newOptions);\n }\n }\n _setStyle(element, index, mode, active) {\n element.active = active;\n const options = this.getStyle(index, active);\n this._resolveAnimations(index, mode, active).update(element, {\n options: (!active && this.getSharedOptions(options)) || options\n });\n }\n removeHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', false);\n }\n setHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', true);\n }\n _removeDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', false);\n }\n }\n _setDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', true);\n }\n }\n _resyncElements(resetNewElements) {\n const data = this._data;\n const elements = this._cachedMeta.data;\n for (const [method, arg1, arg2] of this._syncList) {\n this[method](arg1, arg2);\n }\n this._syncList = [];\n const numMeta = elements.length;\n const numData = data.length;\n const count = Math.min(numData, numMeta);\n if (count) {\n this.parse(0, count);\n }\n if (numData > numMeta) {\n this._insertElements(numMeta, numData - numMeta, resetNewElements);\n } else if (numData < numMeta) {\n this._removeElements(numData, numMeta - numData);\n }\n }\n _insertElements(start, count, resetNewElements = true) {\n const meta = this._cachedMeta;\n const data = meta.data;\n const end = start + count;\n let i;\n const move = (arr) => {\n arr.length += count;\n for (i = arr.length - 1; i >= end; i--) {\n arr[i] = arr[i - count];\n }\n };\n move(data);\n for (i = start; i < end; ++i) {\n data[i] = new this.dataElementType();\n }\n if (this._parsing) {\n move(meta._parsed);\n }\n this.parse(start, count);\n if (resetNewElements) {\n this.updateElements(data, start, count, 'reset');\n }\n }\n updateElements(element, start, count, mode) {}\n _removeElements(start, count) {\n const meta = this._cachedMeta;\n if (this._parsing) {\n const removed = meta._parsed.splice(start, count);\n if (meta._stacked) {\n clearStacks(meta, removed);\n }\n }\n meta.data.splice(start, count);\n }\n _sync(args) {\n if (this._parsing) {\n this._syncList.push(args);\n } else {\n const [method, arg1, arg2] = args;\n this[method](arg1, arg2);\n }\n this.chart._dataChanges.push([this.index, ...args]);\n }\n _onDataPush() {\n const count = arguments.length;\n this._sync(['_insertElements', this.getDataset().data.length - count, count]);\n }\n _onDataPop() {\n this._sync(['_removeElements', this._cachedMeta.data.length - 1, 1]);\n }\n _onDataShift() {\n this._sync(['_removeElements', 0, 1]);\n }\n _onDataSplice(start, count) {\n if (count) {\n this._sync(['_removeElements', start, count]);\n }\n const newCount = arguments.length - 2;\n if (newCount) {\n this._sync(['_insertElements', start, newCount]);\n }\n }\n _onDataUnshift() {\n this._sync(['_insertElements', 0, arguments.length]);\n }\n}\nDatasetController.defaults = {};\nDatasetController.prototype.datasetElementType = null;\nDatasetController.prototype.dataElementType = null;\n\nfunction getAllScaleValues(scale, type) {\n if (!scale._cache.$bar) {\n const visibleMetas = scale.getMatchingVisibleMetas(type);\n let values = [];\n for (let i = 0, ilen = visibleMetas.length; i < ilen; i++) {\n values = values.concat(visibleMetas[i].controller.getAllParsedValues(scale));\n }\n scale._cache.$bar = _arrayUnique(values.sort((a, b) => a - b));\n }\n return scale._cache.$bar;\n}\nfunction computeMinSampleSize(meta) {\n const scale = meta.iScale;\n const values = getAllScaleValues(scale, meta.type);\n let min = scale._length;\n let i, ilen, curr, prev;\n const updateMinAndPrev = () => {\n if (curr === 32767 || curr === -32768) {\n return;\n }\n if (defined(prev)) {\n min = Math.min(min, Math.abs(curr - prev) || min);\n }\n prev = curr;\n };\n for (i = 0, ilen = values.length; i < ilen; ++i) {\n curr = scale.getPixelForValue(values[i]);\n updateMinAndPrev();\n }\n prev = undefined;\n for (i = 0, ilen = scale.ticks.length; i < ilen; ++i) {\n curr = scale.getPixelForTick(i);\n updateMinAndPrev();\n }\n return min;\n}\nfunction computeFitCategoryTraits(index, ruler, options, stackCount) {\n const thickness = options.barThickness;\n let size, ratio;\n if (isNullOrUndef(thickness)) {\n size = ruler.min * options.categoryPercentage;\n ratio = options.barPercentage;\n } else {\n size = thickness * stackCount;\n ratio = 1;\n }\n return {\n chunk: size / stackCount,\n ratio,\n start: ruler.pixels[index] - (size / 2)\n };\n}\nfunction computeFlexCategoryTraits(index, ruler, options, stackCount) {\n const pixels = ruler.pixels;\n const curr = pixels[index];\n let prev = index > 0 ? pixels[index - 1] : null;\n let next = index < pixels.length - 1 ? pixels[index + 1] : null;\n const percent = options.categoryPercentage;\n if (prev === null) {\n prev = curr - (next === null ? ruler.end - ruler.start : next - curr);\n }\n if (next === null) {\n next = curr + curr - prev;\n }\n const start = curr - (curr - Math.min(prev, next)) / 2 * percent;\n const size = Math.abs(next - prev) / 2 * percent;\n return {\n chunk: size / stackCount,\n ratio: options.barPercentage,\n start\n };\n}\nfunction parseFloatBar(entry, item, vScale, i) {\n const startValue = vScale.parse(entry[0], i);\n const endValue = vScale.parse(entry[1], i);\n const min = Math.min(startValue, endValue);\n const max = Math.max(startValue, endValue);\n let barStart = min;\n let barEnd = max;\n if (Math.abs(min) > Math.abs(max)) {\n barStart = max;\n barEnd = min;\n }\n item[vScale.axis] = barEnd;\n item._custom = {\n barStart,\n barEnd,\n start: startValue,\n end: endValue,\n min,\n max\n };\n}\nfunction parseValue(entry, item, vScale, i) {\n if (isArray(entry)) {\n parseFloatBar(entry, item, vScale, i);\n } else {\n item[vScale.axis] = vScale.parse(entry, i);\n }\n return item;\n}\nfunction parseArrayOrPrimitive(meta, data, start, count) {\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = [];\n let i, ilen, item, entry;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n entry = data[i];\n item = {};\n item[iScale.axis] = singleScale || iScale.parse(labels[i], i);\n parsed.push(parseValue(entry, item, vScale, i));\n }\n return parsed;\n}\nfunction isFloatBar(custom) {\n return custom && custom.barStart !== undefined && custom.barEnd !== undefined;\n}\nfunction barSign(size, vScale, actualBase) {\n if (size !== 0) {\n return sign(size);\n }\n return (vScale.isHorizontal() ? 1 : -1) * (vScale.min >= actualBase ? 1 : -1);\n}\nfunction borderProps(properties) {\n let reverse, start, end, top, bottom;\n if (properties.horizontal) {\n reverse = properties.base > properties.x;\n start = 'left';\n end = 'right';\n } else {\n reverse = properties.base < properties.y;\n start = 'bottom';\n end = 'top';\n }\n if (reverse) {\n top = 'end';\n bottom = 'start';\n } else {\n top = 'start';\n bottom = 'end';\n }\n return {start, end, reverse, top, bottom};\n}\nfunction setBorderSkipped(properties, options, stack, index) {\n let edge = options.borderSkipped;\n const res = {};\n if (!edge) {\n properties.borderSkipped = res;\n return;\n }\n if (edge === true) {\n properties.borderSkipped = {top: true, right: true, bottom: true, left: true};\n return;\n }\n const {start, end, reverse, top, bottom} = borderProps(properties);\n if (edge === 'middle' && stack) {\n properties.enableBorderRadius = true;\n if ((stack._top || 0) === index) {\n edge = top;\n } else if ((stack._bottom || 0) === index) {\n edge = bottom;\n } else {\n res[parseEdge(bottom, start, end, reverse)] = true;\n edge = top;\n }\n }\n res[parseEdge(edge, start, end, reverse)] = true;\n properties.borderSkipped = res;\n}\nfunction parseEdge(edge, a, b, reverse) {\n if (reverse) {\n edge = swap(edge, a, b);\n edge = startEnd(edge, b, a);\n } else {\n edge = startEnd(edge, a, b);\n }\n return edge;\n}\nfunction swap(orig, v1, v2) {\n return orig === v1 ? v2 : orig === v2 ? v1 : orig;\n}\nfunction startEnd(v, start, end) {\n return v === 'start' ? start : v === 'end' ? end : v;\n}\nfunction setInflateAmount(properties, {inflateAmount}, ratio) {\n properties.inflateAmount = inflateAmount === 'auto'\n ? ratio === 1 ? 0.33 : 0\n : inflateAmount;\n}\nclass BarController extends DatasetController {\n parsePrimitiveData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseArrayData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseObjectData(meta, data, start, count) {\n const {iScale, vScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const iAxisKey = iScale.axis === 'x' ? xAxisKey : yAxisKey;\n const vAxisKey = vScale.axis === 'x' ? xAxisKey : yAxisKey;\n const parsed = [];\n let i, ilen, item, obj;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n obj = data[i];\n item = {};\n item[iScale.axis] = iScale.parse(resolveObjectKey(obj, iAxisKey), i);\n parsed.push(parseValue(resolveObjectKey(obj, vAxisKey), item, vScale, i));\n }\n return parsed;\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n super.updateRangeFromParsed(range, scale, parsed, stack);\n const custom = parsed._custom;\n if (custom && scale === this._cachedMeta.vScale) {\n range.min = Math.min(range.min, custom.min);\n range.max = Math.max(range.max, custom.max);\n }\n }\n getMaxOverflow() {\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const {iScale, vScale} = meta;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const value = isFloatBar(custom)\n ? '[' + custom.start + ', ' + custom.end + ']'\n : '' + vScale.getLabelForValue(parsed[vScale.axis]);\n return {\n label: '' + iScale.getLabelForValue(parsed[iScale.axis]),\n value\n };\n }\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n const meta = this._cachedMeta;\n meta.stack = this.getDataset().stack;\n }\n update(mode) {\n const meta = this._cachedMeta;\n this.updateElements(meta.data, 0, meta.data.length, mode);\n }\n updateElements(bars, start, count, mode) {\n const reset = mode === 'reset';\n const {index, _cachedMeta: {vScale}} = this;\n const base = vScale.getBasePixel();\n const horizontal = vScale.isHorizontal();\n const ruler = this._getRuler();\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n for (let i = start; i < start + count; i++) {\n const parsed = this.getParsed(i);\n const vpixels = reset || isNullOrUndef(parsed[vScale.axis]) ? {base, head: base} : this._calculateBarValuePixels(i);\n const ipixels = this._calculateBarIndexPixels(i, ruler);\n const stack = (parsed._stacks || {})[vScale.axis];\n const properties = {\n horizontal,\n base: vpixels.base,\n enableBorderRadius: !stack || isFloatBar(parsed._custom) || (index === stack._top || index === stack._bottom),\n x: horizontal ? vpixels.head : ipixels.center,\n y: horizontal ? ipixels.center : vpixels.head,\n height: horizontal ? ipixels.size : Math.abs(vpixels.size),\n width: horizontal ? Math.abs(vpixels.size) : ipixels.size\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, bars[i].active ? 'active' : mode);\n }\n const options = properties.options || bars[i].options;\n setBorderSkipped(properties, options, stack, index);\n setInflateAmount(properties, options, ruler.ratio);\n this.updateElement(bars[i], i, properties, mode);\n }\n }\n _getStacks(last, dataIndex) {\n const {iScale} = this._cachedMeta;\n const metasets = iScale.getMatchingVisibleMetas(this._type)\n .filter(meta => meta.controller.options.grouped);\n const stacked = iScale.options.stacked;\n const stacks = [];\n const skipNull = (meta) => {\n const parsed = meta.controller.getParsed(dataIndex);\n const val = parsed && parsed[meta.vScale.axis];\n if (isNullOrUndef(val) || isNaN(val)) {\n return true;\n }\n };\n for (const meta of metasets) {\n if (dataIndex !== undefined && skipNull(meta)) {\n continue;\n }\n if (stacked === false || stacks.indexOf(meta.stack) === -1 ||\n\t\t\t\t(stacked === undefined && meta.stack === undefined)) {\n stacks.push(meta.stack);\n }\n if (meta.index === last) {\n break;\n }\n }\n if (!stacks.length) {\n stacks.push(undefined);\n }\n return stacks;\n }\n _getStackCount(index) {\n return this._getStacks(undefined, index).length;\n }\n _getStackIndex(datasetIndex, name, dataIndex) {\n const stacks = this._getStacks(datasetIndex, dataIndex);\n const index = (name !== undefined)\n ? stacks.indexOf(name)\n : -1;\n return (index === -1)\n ? stacks.length - 1\n : index;\n }\n _getRuler() {\n const opts = this.options;\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const pixels = [];\n let i, ilen;\n for (i = 0, ilen = meta.data.length; i < ilen; ++i) {\n pixels.push(iScale.getPixelForValue(this.getParsed(i)[iScale.axis], i));\n }\n const barThickness = opts.barThickness;\n const min = barThickness || computeMinSampleSize(meta);\n return {\n min,\n pixels,\n start: iScale._startPixel,\n end: iScale._endPixel,\n stackCount: this._getStackCount(),\n scale: iScale,\n grouped: opts.grouped,\n ratio: barThickness ? 1 : opts.categoryPercentage * opts.barPercentage\n };\n }\n _calculateBarValuePixels(index) {\n const {_cachedMeta: {vScale, _stacked}, options: {base: baseValue, minBarLength}} = this;\n const actualBase = baseValue || 0;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const floating = isFloatBar(custom);\n let value = parsed[vScale.axis];\n let start = 0;\n let length = _stacked ? this.applyStack(vScale, parsed, _stacked) : value;\n let head, size;\n if (length !== value) {\n start = length - value;\n length = value;\n }\n if (floating) {\n value = custom.barStart;\n length = custom.barEnd - custom.barStart;\n if (value !== 0 && sign(value) !== sign(custom.barEnd)) {\n start = 0;\n }\n start += value;\n }\n const startValue = !isNullOrUndef(baseValue) && !floating ? baseValue : start;\n let base = vScale.getPixelForValue(startValue);\n if (this.chart.getDataVisibility(index)) {\n head = vScale.getPixelForValue(start + length);\n } else {\n head = base;\n }\n size = head - base;\n if (Math.abs(size) < minBarLength) {\n size = barSign(size, vScale, actualBase) * minBarLength;\n if (value === actualBase) {\n base -= size / 2;\n }\n const startPixel = vScale.getPixelForDecimal(0);\n const endPixel = vScale.getPixelForDecimal(1);\n const min = Math.min(startPixel, endPixel);\n const max = Math.max(startPixel, endPixel);\n base = Math.max(Math.min(base, max), min);\n head = base + size;\n }\n if (base === vScale.getPixelForValue(actualBase)) {\n const halfGrid = sign(size) * vScale.getLineWidthForValue(actualBase) / 2;\n base += halfGrid;\n size -= halfGrid;\n }\n return {\n size,\n base,\n head,\n center: head + size / 2\n };\n }\n _calculateBarIndexPixels(index, ruler) {\n const scale = ruler.scale;\n const options = this.options;\n const skipNull = options.skipNull;\n const maxBarThickness = valueOrDefault(options.maxBarThickness, Infinity);\n let center, size;\n if (ruler.grouped) {\n const stackCount = skipNull ? this._getStackCount(index) : ruler.stackCount;\n const range = options.barThickness === 'flex'\n ? computeFlexCategoryTraits(index, ruler, options, stackCount)\n : computeFitCategoryTraits(index, ruler, options, stackCount);\n const stackIndex = this._getStackIndex(this.index, this._cachedMeta.stack, skipNull ? index : undefined);\n center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);\n size = Math.min(maxBarThickness, range.chunk * range.ratio);\n } else {\n center = scale.getPixelForValue(this.getParsed(index)[scale.axis], index);\n size = Math.min(maxBarThickness, ruler.min * ruler.ratio);\n }\n return {\n base: center - size / 2,\n head: center + size / 2,\n center,\n size\n };\n }\n draw() {\n const meta = this._cachedMeta;\n const vScale = meta.vScale;\n const rects = meta.data;\n const ilen = rects.length;\n let i = 0;\n for (; i < ilen; ++i) {\n if (this.getParsed(i)[vScale.axis] !== null) {\n rects[i].draw(this._ctx);\n }\n }\n }\n}\nBarController.id = 'bar';\nBarController.defaults = {\n datasetElementType: false,\n dataElementType: 'bar',\n categoryPercentage: 0.8,\n barPercentage: 0.9,\n grouped: true,\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'base', 'width', 'height']\n }\n }\n};\nBarController.overrides = {\n scales: {\n _index_: {\n type: 'category',\n offset: true,\n grid: {\n offset: true\n }\n },\n _value_: {\n type: 'linear',\n beginAtZero: true,\n }\n }\n};\n\nclass BubbleController extends DatasetController {\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n }\n parsePrimitiveData(meta, data, start, count) {\n const parsed = super.parsePrimitiveData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n parsed[i]._custom = this.resolveDataElementOptions(i + start).radius;\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const parsed = super.parseArrayData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item[2], this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const parsed = super.parseObjectData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item && item.r && +item.r, this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n getMaxOverflow() {\n const data = this._cachedMeta.data;\n let max = 0;\n for (let i = data.length - 1; i >= 0; --i) {\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const {xScale, yScale} = meta;\n const parsed = this.getParsed(index);\n const x = xScale.getLabelForValue(parsed.x);\n const y = yScale.getLabelForValue(parsed.y);\n const r = parsed._custom;\n return {\n label: meta.label,\n value: '(' + x + ', ' + y + (r ? ', ' + r : '') + ')'\n };\n }\n update(mode) {\n const points = this._cachedMeta.data;\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale} = this._cachedMeta;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n for (let i = start; i < start + count; i++) {\n const point = points[i];\n const parsed = !reset && this.getParsed(i);\n const properties = {};\n const iPixel = properties[iAxis] = reset ? iScale.getPixelForDecimal(0.5) : iScale.getPixelForValue(parsed[iAxis]);\n const vPixel = properties[vAxis] = reset ? vScale.getBasePixel() : vScale.getPixelForValue(parsed[vAxis]);\n properties.skip = isNaN(iPixel) || isNaN(vPixel);\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n if (reset) {\n properties.options.radius = 0;\n }\n }\n this.updateElement(point, i, properties, mode);\n }\n }\n resolveDataElementOptions(index, mode) {\n const parsed = this.getParsed(index);\n let values = super.resolveDataElementOptions(index, mode);\n if (values.$shared) {\n values = Object.assign({}, values, {$shared: false});\n }\n const radius = values.radius;\n if (mode !== 'active') {\n values.radius = 0;\n }\n values.radius += valueOrDefault(parsed && parsed._custom, radius);\n return values;\n }\n}\nBubbleController.id = 'bubble';\nBubbleController.defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'borderWidth', 'radius']\n }\n }\n};\nBubbleController.overrides = {\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n },\n plugins: {\n tooltip: {\n callbacks: {\n title() {\n return '';\n }\n }\n }\n }\n};\n\nfunction getRatioAndOffset(rotation, circumference, cutout) {\n let ratioX = 1;\n let ratioY = 1;\n let offsetX = 0;\n let offsetY = 0;\n if (circumference < TAU) {\n const startAngle = rotation;\n const endAngle = startAngle + circumference;\n const startX = Math.cos(startAngle);\n const startY = Math.sin(startAngle);\n const endX = Math.cos(endAngle);\n const endY = Math.sin(endAngle);\n const calcMax = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? 1 : Math.max(a, a * cutout, b, b * cutout);\n const calcMin = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? -1 : Math.min(a, a * cutout, b, b * cutout);\n const maxX = calcMax(0, startX, endX);\n const maxY = calcMax(HALF_PI, startY, endY);\n const minX = calcMin(PI, startX, endX);\n const minY = calcMin(PI + HALF_PI, startY, endY);\n ratioX = (maxX - minX) / 2;\n ratioY = (maxY - minY) / 2;\n offsetX = -(maxX + minX) / 2;\n offsetY = -(maxY + minY) / 2;\n }\n return {ratioX, ratioY, offsetX, offsetY};\n}\nclass DoughnutController extends DatasetController {\n constructor(chart, datasetIndex) {\n super(chart, datasetIndex);\n this.enableOptionSharing = true;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.offsetX = undefined;\n this.offsetY = undefined;\n }\n linkScales() {}\n parse(start, count) {\n const data = this.getDataset().data;\n const meta = this._cachedMeta;\n if (this._parsing === false) {\n meta._parsed = data;\n } else {\n let getter = (i) => +data[i];\n if (isObject(data[start])) {\n const {key = 'value'} = this._parsing;\n getter = (i) => +resolveObjectKey(data[i], key);\n }\n let i, ilen;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n meta._parsed[i] = getter(i);\n }\n }\n }\n _getRotation() {\n return toRadians(this.options.rotation - 90);\n }\n _getCircumference() {\n return toRadians(this.options.circumference);\n }\n _getRotationExtents() {\n let min = TAU;\n let max = -TAU;\n for (let i = 0; i < this.chart.data.datasets.length; ++i) {\n if (this.chart.isDatasetVisible(i)) {\n const controller = this.chart.getDatasetMeta(i).controller;\n const rotation = controller._getRotation();\n const circumference = controller._getCircumference();\n min = Math.min(min, rotation);\n max = Math.max(max, rotation + circumference);\n }\n }\n return {\n rotation: min,\n circumference: max - min,\n };\n }\n update(mode) {\n const chart = this.chart;\n const {chartArea} = chart;\n const meta = this._cachedMeta;\n const arcs = meta.data;\n const spacing = this.getMaxBorderWidth() + this.getMaxOffset(arcs) + this.options.spacing;\n const maxSize = Math.max((Math.min(chartArea.width, chartArea.height) - spacing) / 2, 0);\n const cutout = Math.min(toPercentage(this.options.cutout, maxSize), 1);\n const chartWeight = this._getRingWeight(this.index);\n const {circumference, rotation} = this._getRotationExtents();\n const {ratioX, ratioY, offsetX, offsetY} = getRatioAndOffset(rotation, circumference, cutout);\n const maxWidth = (chartArea.width - spacing) / ratioX;\n const maxHeight = (chartArea.height - spacing) / ratioY;\n const maxRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\n const outerRadius = toDimension(this.options.radius, maxRadius);\n const innerRadius = Math.max(outerRadius * cutout, 0);\n const radiusLength = (outerRadius - innerRadius) / this._getVisibleDatasetWeightTotal();\n this.offsetX = offsetX * outerRadius;\n this.offsetY = offsetY * outerRadius;\n meta.total = this.calculateTotal();\n this.outerRadius = outerRadius - radiusLength * this._getRingWeightOffset(this.index);\n this.innerRadius = Math.max(this.outerRadius - radiusLength * chartWeight, 0);\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n _circumference(i, reset) {\n const opts = this.options;\n const meta = this._cachedMeta;\n const circumference = this._getCircumference();\n if ((reset && opts.animation.animateRotate) || !this.chart.getDataVisibility(i) || meta._parsed[i] === null || meta.data[i].hidden) {\n return 0;\n }\n return this.calculateCircumference(meta._parsed[i] * circumference / TAU);\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const centerX = (chartArea.left + chartArea.right) / 2;\n const centerY = (chartArea.top + chartArea.bottom) / 2;\n const animateScale = reset && animationOpts.animateScale;\n const innerRadius = animateScale ? 0 : this.innerRadius;\n const outerRadius = animateScale ? 0 : this.outerRadius;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n let startAngle = this._getRotation();\n let i;\n for (i = 0; i < start; ++i) {\n startAngle += this._circumference(i, reset);\n }\n for (i = start; i < start + count; ++i) {\n const circumference = this._circumference(i, reset);\n const arc = arcs[i];\n const properties = {\n x: centerX + this.offsetX,\n y: centerY + this.offsetY,\n startAngle,\n endAngle: startAngle + circumference,\n circumference,\n outerRadius,\n innerRadius\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, arc.active ? 'active' : mode);\n }\n startAngle += circumference;\n this.updateElement(arc, i, properties, mode);\n }\n }\n calculateTotal() {\n const meta = this._cachedMeta;\n const metaData = meta.data;\n let total = 0;\n let i;\n for (i = 0; i < metaData.length; i++) {\n const value = meta._parsed[i];\n if (value !== null && !isNaN(value) && this.chart.getDataVisibility(i) && !metaData[i].hidden) {\n total += Math.abs(value);\n }\n }\n return total;\n }\n calculateCircumference(value) {\n const total = this._cachedMeta.total;\n if (total > 0 && !isNaN(value)) {\n return TAU * (Math.abs(value) / total);\n }\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index], chart.options.locale);\n return {\n label: labels[index] || '',\n value,\n };\n }\n getMaxBorderWidth(arcs) {\n let max = 0;\n const chart = this.chart;\n let i, ilen, meta, controller, options;\n if (!arcs) {\n for (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\n if (chart.isDatasetVisible(i)) {\n meta = chart.getDatasetMeta(i);\n arcs = meta.data;\n controller = meta.controller;\n break;\n }\n }\n }\n if (!arcs) {\n return 0;\n }\n for (i = 0, ilen = arcs.length; i < ilen; ++i) {\n options = controller.resolveDataElementOptions(i);\n if (options.borderAlign !== 'inner') {\n max = Math.max(max, options.borderWidth || 0, options.hoverBorderWidth || 0);\n }\n }\n return max;\n }\n getMaxOffset(arcs) {\n let max = 0;\n for (let i = 0, ilen = arcs.length; i < ilen; ++i) {\n const options = this.resolveDataElementOptions(i);\n max = Math.max(max, options.offset || 0, options.hoverOffset || 0);\n }\n return max;\n }\n _getRingWeightOffset(datasetIndex) {\n let ringWeightOffset = 0;\n for (let i = 0; i < datasetIndex; ++i) {\n if (this.chart.isDatasetVisible(i)) {\n ringWeightOffset += this._getRingWeight(i);\n }\n }\n return ringWeightOffset;\n }\n _getRingWeight(datasetIndex) {\n return Math.max(valueOrDefault(this.chart.data.datasets[datasetIndex].weight, 1), 0);\n }\n _getVisibleDatasetWeightTotal() {\n return this._getRingWeightOffset(this.chart.data.datasets.length) || 1;\n }\n}\nDoughnutController.id = 'doughnut';\nDoughnutController.defaults = {\n datasetElementType: false,\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: false\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['circumference', 'endAngle', 'innerRadius', 'outerRadius', 'startAngle', 'x', 'y', 'offset', 'borderWidth', 'spacing']\n },\n },\n cutout: '50%',\n rotation: 0,\n circumference: 360,\n radius: '100%',\n spacing: 0,\n indexAxis: 'r',\n};\nDoughnutController.descriptors = {\n _scriptable: (name) => name !== 'spacing',\n _indexable: (name) => name !== 'spacing',\n};\nDoughnutController.overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels(chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const {labels: {pointStyle}} = chart.legend.options;\n return data.labels.map((label, i) => {\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick(e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n },\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(tooltipItem) {\n let dataLabel = tooltipItem.label;\n const value = ': ' + tooltipItem.formattedValue;\n if (isArray(dataLabel)) {\n dataLabel = dataLabel.slice();\n dataLabel[0] += value;\n } else {\n dataLabel += value;\n }\n return dataLabel;\n }\n }\n }\n }\n};\n\nclass LineController extends DatasetController {\n initialize() {\n this.enableOptionSharing = true;\n this.supportsDecimation = true;\n super.initialize();\n }\n update(mode) {\n const meta = this._cachedMeta;\n const {dataset: line, data: points = [], _dataset} = meta;\n const animationsDisabled = this.chart._animationsDisabled;\n let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n this._drawStart = start;\n this._drawCount = count;\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n this.updateElements(points, start, count, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale, _stacked, _dataset} = this._cachedMeta;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const {spanGaps, segment} = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n let prevParsed = start > 0 && this.getParsed(start - 1);\n for (let i = start; i < start + count; ++i) {\n const point = points[i];\n const parsed = this.getParsed(i);\n const properties = directUpdate ? point : {};\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n }\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n const data = meta.data || [];\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n draw() {\n const meta = this._cachedMeta;\n meta.dataset.updateControlPoints(this.chart.chartArea, meta.iScale.axis);\n super.draw();\n }\n}\nLineController.id = 'line';\nLineController.defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n showLine: true,\n spanGaps: false,\n};\nLineController.overrides = {\n scales: {\n _index_: {\n type: 'category',\n },\n _value_: {\n type: 'linear',\n },\n }\n};\n\nclass PolarAreaController extends DatasetController {\n constructor(chart, datasetIndex) {\n super(chart, datasetIndex);\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index].r, chart.options.locale);\n return {\n label: labels[index] || '',\n value,\n };\n }\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n update(mode) {\n const arcs = this._cachedMeta.data;\n this._updateRadius();\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n getMinMax() {\n const meta = this._cachedMeta;\n const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY};\n meta.data.forEach((element, index) => {\n const parsed = this.getParsed(index).r;\n if (!isNaN(parsed) && this.chart.getDataVisibility(index)) {\n if (parsed < range.min) {\n range.min = parsed;\n }\n if (parsed > range.max) {\n range.max = parsed;\n }\n }\n });\n return range;\n }\n _updateRadius() {\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\n const outerRadius = Math.max(minSize / 2, 0);\n const innerRadius = Math.max(opts.cutoutPercentage ? (outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\n const radiusLength = (outerRadius - innerRadius) / chart.getVisibleDatasetCount();\n this.outerRadius = outerRadius - (radiusLength * this.index);\n this.innerRadius = this.outerRadius - radiusLength;\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const scale = this._cachedMeta.rScale;\n const centerX = scale.xCenter;\n const centerY = scale.yCenter;\n const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * PI;\n let angle = datasetStartAngle;\n let i;\n const defaultAngle = 360 / this.countVisibleElements();\n for (i = 0; i < start; ++i) {\n angle += this._computeAngle(i, mode, defaultAngle);\n }\n for (i = start; i < start + count; i++) {\n const arc = arcs[i];\n let startAngle = angle;\n let endAngle = angle + this._computeAngle(i, mode, defaultAngle);\n let outerRadius = chart.getDataVisibility(i) ? scale.getDistanceFromCenterForValue(this.getParsed(i).r) : 0;\n angle = endAngle;\n if (reset) {\n if (animationOpts.animateScale) {\n outerRadius = 0;\n }\n if (animationOpts.animateRotate) {\n startAngle = endAngle = datasetStartAngle;\n }\n }\n const properties = {\n x: centerX,\n y: centerY,\n innerRadius: 0,\n outerRadius,\n startAngle,\n endAngle,\n options: this.resolveDataElementOptions(i, arc.active ? 'active' : mode)\n };\n this.updateElement(arc, i, properties, mode);\n }\n }\n countVisibleElements() {\n const meta = this._cachedMeta;\n let count = 0;\n meta.data.forEach((element, index) => {\n if (!isNaN(this.getParsed(index).r) && this.chart.getDataVisibility(index)) {\n count++;\n }\n });\n return count;\n }\n _computeAngle(index, mode, defaultAngle) {\n return this.chart.getDataVisibility(index)\n ? toRadians(this.resolveDataElementOptions(index, mode).angle || defaultAngle)\n : 0;\n }\n}\nPolarAreaController.id = 'polarArea';\nPolarAreaController.defaults = {\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: true\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'startAngle', 'endAngle', 'innerRadius', 'outerRadius']\n },\n },\n indexAxis: 'r',\n startAngle: 0,\n};\nPolarAreaController.overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels(chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const {labels: {pointStyle}} = chart.legend.options;\n return data.labels.map((label, i) => {\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick(e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n },\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(context) {\n return context.chart.data.labels[context.dataIndex] + ': ' + context.formattedValue;\n }\n }\n }\n },\n scales: {\n r: {\n type: 'radialLinear',\n angleLines: {\n display: false\n },\n beginAtZero: true,\n grid: {\n circular: true\n },\n pointLabels: {\n display: false\n },\n startAngle: 0\n }\n }\n};\n\nclass PieController extends DoughnutController {\n}\nPieController.id = 'pie';\nPieController.defaults = {\n cutout: 0,\n rotation: 0,\n circumference: 360,\n radius: '100%'\n};\n\nclass RadarController extends DatasetController {\n getLabelAndValue(index) {\n const vScale = this._cachedMeta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: vScale.getLabels()[index],\n value: '' + vScale.getLabelForValue(parsed[vScale.axis])\n };\n }\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n update(mode) {\n const meta = this._cachedMeta;\n const line = meta.dataset;\n const points = meta.data || [];\n const labels = meta.iScale.getLabels();\n line.points = points;\n if (mode !== 'resize') {\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n const properties = {\n _loop: true,\n _fullLoop: labels.length === points.length,\n options\n };\n this.updateElement(line, undefined, properties, mode);\n }\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const scale = this._cachedMeta.rScale;\n const reset = mode === 'reset';\n for (let i = start; i < start + count; i++) {\n const point = points[i];\n const options = this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n const pointPosition = scale.getPointPositionForValue(i, this.getParsed(i).r);\n const x = reset ? scale.xCenter : pointPosition.x;\n const y = reset ? scale.yCenter : pointPosition.y;\n const properties = {\n x,\n y,\n angle: pointPosition.angle,\n skip: isNaN(x) || isNaN(y),\n options\n };\n this.updateElement(point, i, properties, mode);\n }\n }\n}\nRadarController.id = 'radar';\nRadarController.defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n indexAxis: 'r',\n showLine: true,\n elements: {\n line: {\n fill: 'start'\n }\n },\n};\nRadarController.overrides = {\n aspectRatio: 1,\n scales: {\n r: {\n type: 'radialLinear',\n }\n }\n};\n\nclass Element {\n constructor() {\n this.x = undefined;\n this.y = undefined;\n this.active = false;\n this.options = undefined;\n this.$animations = undefined;\n }\n tooltipPosition(useFinalPosition) {\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return {x, y};\n }\n hasValue() {\n return isNumber(this.x) && isNumber(this.y);\n }\n getProps(props, final) {\n const anims = this.$animations;\n if (!final || !anims) {\n return this;\n }\n const ret = {};\n props.forEach(prop => {\n ret[prop] = anims[prop] && anims[prop].active() ? anims[prop]._to : this[prop];\n });\n return ret;\n }\n}\nElement.defaults = {};\nElement.defaultRoutes = undefined;\n\nconst formatters = {\n values(value) {\n return isArray(value) ? value : '' + value;\n },\n numeric(tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const locale = this.chart.options.locale;\n let notation;\n let delta = tickValue;\n if (ticks.length > 1) {\n const maxTick = Math.max(Math.abs(ticks[0].value), Math.abs(ticks[ticks.length - 1].value));\n if (maxTick < 1e-4 || maxTick > 1e+15) {\n notation = 'scientific';\n }\n delta = calculateDelta(tickValue, ticks);\n }\n const logDelta = log10(Math.abs(delta));\n const numDecimal = Math.max(Math.min(-1 * Math.floor(logDelta), 20), 0);\n const options = {notation, minimumFractionDigits: numDecimal, maximumFractionDigits: numDecimal};\n Object.assign(options, this.options.ticks.format);\n return formatNumber(tickValue, locale, options);\n },\n logarithmic(tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const remain = tickValue / (Math.pow(10, Math.floor(log10(tickValue))));\n if (remain === 1 || remain === 2 || remain === 5) {\n return formatters.numeric.call(this, tickValue, index, ticks);\n }\n return '';\n }\n};\nfunction calculateDelta(tickValue, ticks) {\n let delta = ticks.length > 3 ? ticks[2].value - ticks[1].value : ticks[1].value - ticks[0].value;\n if (Math.abs(delta) >= 1 && tickValue !== Math.floor(tickValue)) {\n delta = tickValue - Math.floor(tickValue);\n }\n return delta;\n}\nvar Ticks = {formatters};\n\ndefaults.set('scale', {\n display: true,\n offset: false,\n reverse: false,\n beginAtZero: false,\n bounds: 'ticks',\n grace: 0,\n grid: {\n display: true,\n lineWidth: 1,\n drawBorder: true,\n drawOnChartArea: true,\n drawTicks: true,\n tickLength: 8,\n tickWidth: (_ctx, options) => options.lineWidth,\n tickColor: (_ctx, options) => options.color,\n offset: false,\n borderDash: [],\n borderDashOffset: 0.0,\n borderWidth: 1\n },\n title: {\n display: false,\n text: '',\n padding: {\n top: 4,\n bottom: 4\n }\n },\n ticks: {\n minRotation: 0,\n maxRotation: 50,\n mirror: false,\n textStrokeWidth: 0,\n textStrokeColor: '',\n padding: 3,\n display: true,\n autoSkip: true,\n autoSkipPadding: 3,\n labelOffset: 0,\n callback: Ticks.formatters.values,\n minor: {},\n major: {},\n align: 'center',\n crossAlign: 'near',\n showLabelBackdrop: false,\n backdropColor: 'rgba(255, 255, 255, 0.75)',\n backdropPadding: 2,\n }\n});\ndefaults.route('scale.ticks', 'color', '', 'color');\ndefaults.route('scale.grid', 'color', '', 'borderColor');\ndefaults.route('scale.grid', 'borderColor', '', 'borderColor');\ndefaults.route('scale.title', 'color', '', 'color');\ndefaults.describe('scale', {\n _fallback: false,\n _scriptable: (name) => !name.startsWith('before') && !name.startsWith('after') && name !== 'callback' && name !== 'parser',\n _indexable: (name) => name !== 'borderDash' && name !== 'tickBorderDash',\n});\ndefaults.describe('scales', {\n _fallback: 'scale',\n});\ndefaults.describe('scale.ticks', {\n _scriptable: (name) => name !== 'backdropPadding' && name !== 'callback',\n _indexable: (name) => name !== 'backdropPadding',\n});\n\nfunction autoSkip(scale, ticks) {\n const tickOpts = scale.options.ticks;\n const ticksLimit = tickOpts.maxTicksLimit || determineMaxTicks(scale);\n const majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : [];\n const numMajorIndices = majorIndices.length;\n const first = majorIndices[0];\n const last = majorIndices[numMajorIndices - 1];\n const newTicks = [];\n if (numMajorIndices > ticksLimit) {\n skipMajors(ticks, newTicks, majorIndices, numMajorIndices / ticksLimit);\n return newTicks;\n }\n const spacing = calculateSpacing(majorIndices, ticks, ticksLimit);\n if (numMajorIndices > 0) {\n let i, ilen;\n const avgMajorSpacing = numMajorIndices > 1 ? Math.round((last - first) / (numMajorIndices - 1)) : null;\n skip(ticks, newTicks, spacing, isNullOrUndef(avgMajorSpacing) ? 0 : first - avgMajorSpacing, first);\n for (i = 0, ilen = numMajorIndices - 1; i < ilen; i++) {\n skip(ticks, newTicks, spacing, majorIndices[i], majorIndices[i + 1]);\n }\n skip(ticks, newTicks, spacing, last, isNullOrUndef(avgMajorSpacing) ? ticks.length : last + avgMajorSpacing);\n return newTicks;\n }\n skip(ticks, newTicks, spacing);\n return newTicks;\n}\nfunction determineMaxTicks(scale) {\n const offset = scale.options.offset;\n const tickLength = scale._tickSize();\n const maxScale = scale._length / tickLength + (offset ? 0 : 1);\n const maxChart = scale._maxLength / tickLength;\n return Math.floor(Math.min(maxScale, maxChart));\n}\nfunction calculateSpacing(majorIndices, ticks, ticksLimit) {\n const evenMajorSpacing = getEvenSpacing(majorIndices);\n const spacing = ticks.length / ticksLimit;\n if (!evenMajorSpacing) {\n return Math.max(spacing, 1);\n }\n const factors = _factorize(evenMajorSpacing);\n for (let i = 0, ilen = factors.length - 1; i < ilen; i++) {\n const factor = factors[i];\n if (factor > spacing) {\n return factor;\n }\n }\n return Math.max(spacing, 1);\n}\nfunction getMajorIndices(ticks) {\n const result = [];\n let i, ilen;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n if (ticks[i].major) {\n result.push(i);\n }\n }\n return result;\n}\nfunction skipMajors(ticks, newTicks, majorIndices, spacing) {\n let count = 0;\n let next = majorIndices[0];\n let i;\n spacing = Math.ceil(spacing);\n for (i = 0; i < ticks.length; i++) {\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = majorIndices[count * spacing];\n }\n }\n}\nfunction skip(ticks, newTicks, spacing, majorStart, majorEnd) {\n const start = valueOrDefault(majorStart, 0);\n const end = Math.min(valueOrDefault(majorEnd, ticks.length), ticks.length);\n let count = 0;\n let length, i, next;\n spacing = Math.ceil(spacing);\n if (majorEnd) {\n length = majorEnd - majorStart;\n spacing = length / Math.floor(length / spacing);\n }\n next = start;\n while (next < 0) {\n count++;\n next = Math.round(start + count * spacing);\n }\n for (i = Math.max(start, 0); i < end; i++) {\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = Math.round(start + count * spacing);\n }\n }\n}\nfunction getEvenSpacing(arr) {\n const len = arr.length;\n let i, diff;\n if (len < 2) {\n return false;\n }\n for (diff = arr[0], i = 1; i < len; ++i) {\n if (arr[i] - arr[i - 1] !== diff) {\n return false;\n }\n }\n return diff;\n}\n\nconst reverseAlign = (align) => align === 'left' ? 'right' : align === 'right' ? 'left' : align;\nconst offsetFromEdge = (scale, edge, offset) => edge === 'top' || edge === 'left' ? scale[edge] + offset : scale[edge] - offset;\nfunction sample(arr, numItems) {\n const result = [];\n const increment = arr.length / numItems;\n const len = arr.length;\n let i = 0;\n for (; i < len; i += increment) {\n result.push(arr[Math.floor(i)]);\n }\n return result;\n}\nfunction getPixelForGridLine(scale, index, offsetGridLines) {\n const length = scale.ticks.length;\n const validIndex = Math.min(index, length - 1);\n const start = scale._startPixel;\n const end = scale._endPixel;\n const epsilon = 1e-6;\n let lineValue = scale.getPixelForTick(validIndex);\n let offset;\n if (offsetGridLines) {\n if (length === 1) {\n offset = Math.max(lineValue - start, end - lineValue);\n } else if (index === 0) {\n offset = (scale.getPixelForTick(1) - lineValue) / 2;\n } else {\n offset = (lineValue - scale.getPixelForTick(validIndex - 1)) / 2;\n }\n lineValue += validIndex < index ? offset : -offset;\n if (lineValue < start - epsilon || lineValue > end + epsilon) {\n return;\n }\n }\n return lineValue;\n}\nfunction garbageCollect(caches, length) {\n each(caches, (cache) => {\n const gc = cache.gc;\n const gcLen = gc.length / 2;\n let i;\n if (gcLen > length) {\n for (i = 0; i < gcLen; ++i) {\n delete cache.data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n });\n}\nfunction getTickMarkLength(options) {\n return options.drawTicks ? options.tickLength : 0;\n}\nfunction getTitleHeight(options, fallback) {\n if (!options.display) {\n return 0;\n }\n const font = toFont(options.font, fallback);\n const padding = toPadding(options.padding);\n const lines = isArray(options.text) ? options.text.length : 1;\n return (lines * font.lineHeight) + padding.height;\n}\nfunction createScaleContext(parent, scale) {\n return createContext(parent, {\n scale,\n type: 'scale'\n });\n}\nfunction createTickContext(parent, index, tick) {\n return createContext(parent, {\n tick,\n index,\n type: 'tick'\n });\n}\nfunction titleAlign(align, position, reverse) {\n let ret = _toLeftRightCenter(align);\n if ((reverse && position !== 'right') || (!reverse && position === 'right')) {\n ret = reverseAlign(ret);\n }\n return ret;\n}\nfunction titleArgs(scale, offset, position, align) {\n const {top, left, bottom, right, chart} = scale;\n const {chartArea, scales} = chart;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n const height = bottom - top;\n const width = right - left;\n if (scale.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleY = scales[positionAxisID].getPixelForValue(value) + height - offset;\n } else if (position === 'center') {\n titleY = (chartArea.bottom + chartArea.top) / 2 + height - offset;\n } else {\n titleY = offsetFromEdge(scale, position, offset);\n }\n maxWidth = right - left;\n } else {\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleX = scales[positionAxisID].getPixelForValue(value) - width + offset;\n } else if (position === 'center') {\n titleX = (chartArea.left + chartArea.right) / 2 - width + offset;\n } else {\n titleX = offsetFromEdge(scale, position, offset);\n }\n titleY = _alignStartEnd(align, bottom, top);\n rotation = position === 'left' ? -HALF_PI : HALF_PI;\n }\n return {titleX, titleY, maxWidth, rotation};\n}\nclass Scale extends Element {\n constructor(cfg) {\n super();\n this.id = cfg.id;\n this.type = cfg.type;\n this.options = undefined;\n this.ctx = cfg.ctx;\n this.chart = cfg.chart;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this._margins = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n this.maxWidth = undefined;\n this.maxHeight = undefined;\n this.paddingTop = undefined;\n this.paddingBottom = undefined;\n this.paddingLeft = undefined;\n this.paddingRight = undefined;\n this.axis = undefined;\n this.labelRotation = undefined;\n this.min = undefined;\n this.max = undefined;\n this._range = undefined;\n this.ticks = [];\n this._gridLineItems = null;\n this._labelItems = null;\n this._labelSizes = null;\n this._length = 0;\n this._maxLength = 0;\n this._longestTextCache = {};\n this._startPixel = undefined;\n this._endPixel = undefined;\n this._reversePixels = false;\n this._userMax = undefined;\n this._userMin = undefined;\n this._suggestedMax = undefined;\n this._suggestedMin = undefined;\n this._ticksLength = 0;\n this._borderValue = 0;\n this._cache = {};\n this._dataLimitsCached = false;\n this.$context = undefined;\n }\n init(options) {\n this.options = options.setContext(this.getContext());\n this.axis = options.axis;\n this._userMin = this.parse(options.min);\n this._userMax = this.parse(options.max);\n this._suggestedMin = this.parse(options.suggestedMin);\n this._suggestedMax = this.parse(options.suggestedMax);\n }\n parse(raw, index) {\n return raw;\n }\n getUserBounds() {\n let {_userMin, _userMax, _suggestedMin, _suggestedMax} = this;\n _userMin = finiteOrDefault(_userMin, Number.POSITIVE_INFINITY);\n _userMax = finiteOrDefault(_userMax, Number.NEGATIVE_INFINITY);\n _suggestedMin = finiteOrDefault(_suggestedMin, Number.POSITIVE_INFINITY);\n _suggestedMax = finiteOrDefault(_suggestedMax, Number.NEGATIVE_INFINITY);\n return {\n min: finiteOrDefault(_userMin, _suggestedMin),\n max: finiteOrDefault(_userMax, _suggestedMax),\n minDefined: isNumberFinite(_userMin),\n maxDefined: isNumberFinite(_userMax)\n };\n }\n getMinMax(canStack) {\n let {min, max, minDefined, maxDefined} = this.getUserBounds();\n let range;\n if (minDefined && maxDefined) {\n return {min, max};\n }\n const metas = this.getMatchingVisibleMetas();\n for (let i = 0, ilen = metas.length; i < ilen; ++i) {\n range = metas[i].controller.getMinMax(this, canStack);\n if (!minDefined) {\n min = Math.min(min, range.min);\n }\n if (!maxDefined) {\n max = Math.max(max, range.max);\n }\n }\n min = maxDefined && min > max ? max : min;\n max = minDefined && min > max ? min : max;\n return {\n min: finiteOrDefault(min, finiteOrDefault(max, min)),\n max: finiteOrDefault(max, finiteOrDefault(min, max))\n };\n }\n getPadding() {\n return {\n left: this.paddingLeft || 0,\n top: this.paddingTop || 0,\n right: this.paddingRight || 0,\n bottom: this.paddingBottom || 0\n };\n }\n getTicks() {\n return this.ticks;\n }\n getLabels() {\n const data = this.chart.data;\n return this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels || [];\n }\n beforeLayout() {\n this._cache = {};\n this._dataLimitsCached = false;\n }\n beforeUpdate() {\n callback(this.options.beforeUpdate, [this]);\n }\n update(maxWidth, maxHeight, margins) {\n const {beginAtZero, grace, ticks: tickOpts} = this.options;\n const sampleSize = tickOpts.sampleSize;\n this.beforeUpdate();\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins = Object.assign({\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }, margins);\n this.ticks = null;\n this._labelSizes = null;\n this._gridLineItems = null;\n this._labelItems = null;\n this.beforeSetDimensions();\n this.setDimensions();\n this.afterSetDimensions();\n this._maxLength = this.isHorizontal()\n ? this.width + margins.left + margins.right\n : this.height + margins.top + margins.bottom;\n if (!this._dataLimitsCached) {\n this.beforeDataLimits();\n this.determineDataLimits();\n this.afterDataLimits();\n this._range = _addGrace(this, grace, beginAtZero);\n this._dataLimitsCached = true;\n }\n this.beforeBuildTicks();\n this.ticks = this.buildTicks() || [];\n this.afterBuildTicks();\n const samplingEnabled = sampleSize < this.ticks.length;\n this._convertTicksToLabels(samplingEnabled ? sample(this.ticks, sampleSize) : this.ticks);\n this.configure();\n this.beforeCalculateLabelRotation();\n this.calculateLabelRotation();\n this.afterCalculateLabelRotation();\n if (tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto')) {\n this.ticks = autoSkip(this, this.ticks);\n this._labelSizes = null;\n this.afterAutoSkip();\n }\n if (samplingEnabled) {\n this._convertTicksToLabels(this.ticks);\n }\n this.beforeFit();\n this.fit();\n this.afterFit();\n this.afterUpdate();\n }\n configure() {\n let reversePixels = this.options.reverse;\n let startPixel, endPixel;\n if (this.isHorizontal()) {\n startPixel = this.left;\n endPixel = this.right;\n } else {\n startPixel = this.top;\n endPixel = this.bottom;\n reversePixels = !reversePixels;\n }\n this._startPixel = startPixel;\n this._endPixel = endPixel;\n this._reversePixels = reversePixels;\n this._length = endPixel - startPixel;\n this._alignToPixels = this.options.alignToPixels;\n }\n afterUpdate() {\n callback(this.options.afterUpdate, [this]);\n }\n beforeSetDimensions() {\n callback(this.options.beforeSetDimensions, [this]);\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = 0;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = 0;\n this.bottom = this.height;\n }\n this.paddingLeft = 0;\n this.paddingTop = 0;\n this.paddingRight = 0;\n this.paddingBottom = 0;\n }\n afterSetDimensions() {\n callback(this.options.afterSetDimensions, [this]);\n }\n _callHooks(name) {\n this.chart.notifyPlugins(name, this.getContext());\n callback(this.options[name], [this]);\n }\n beforeDataLimits() {\n this._callHooks('beforeDataLimits');\n }\n determineDataLimits() {}\n afterDataLimits() {\n this._callHooks('afterDataLimits');\n }\n beforeBuildTicks() {\n this._callHooks('beforeBuildTicks');\n }\n buildTicks() {\n return [];\n }\n afterBuildTicks() {\n this._callHooks('afterBuildTicks');\n }\n beforeTickToLabelConversion() {\n callback(this.options.beforeTickToLabelConversion, [this]);\n }\n generateTickLabels(ticks) {\n const tickOpts = this.options.ticks;\n let i, ilen, tick;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n tick = ticks[i];\n tick.label = callback(tickOpts.callback, [tick.value, i, ticks], this);\n }\n }\n afterTickToLabelConversion() {\n callback(this.options.afterTickToLabelConversion, [this]);\n }\n beforeCalculateLabelRotation() {\n callback(this.options.beforeCalculateLabelRotation, [this]);\n }\n calculateLabelRotation() {\n const options = this.options;\n const tickOpts = options.ticks;\n const numTicks = this.ticks.length;\n const minRotation = tickOpts.minRotation || 0;\n const maxRotation = tickOpts.maxRotation;\n let labelRotation = minRotation;\n let tickWidth, maxHeight, maxLabelDiagonal;\n if (!this._isVisible() || !tickOpts.display || minRotation >= maxRotation || numTicks <= 1 || !this.isHorizontal()) {\n this.labelRotation = minRotation;\n return;\n }\n const labelSizes = this._getLabelSizes();\n const maxLabelWidth = labelSizes.widest.width;\n const maxLabelHeight = labelSizes.highest.height;\n const maxWidth = _limitValue(this.chart.width - maxLabelWidth, 0, this.maxWidth);\n tickWidth = options.offset ? this.maxWidth / numTicks : maxWidth / (numTicks - 1);\n if (maxLabelWidth + 6 > tickWidth) {\n tickWidth = maxWidth / (numTicks - (options.offset ? 0.5 : 1));\n maxHeight = this.maxHeight - getTickMarkLength(options.grid)\n\t\t\t\t- tickOpts.padding - getTitleHeight(options.title, this.chart.options.font);\n maxLabelDiagonal = Math.sqrt(maxLabelWidth * maxLabelWidth + maxLabelHeight * maxLabelHeight);\n labelRotation = toDegrees(Math.min(\n Math.asin(_limitValue((labelSizes.highest.height + 6) / tickWidth, -1, 1)),\n Math.asin(_limitValue(maxHeight / maxLabelDiagonal, -1, 1)) - Math.asin(_limitValue(maxLabelHeight / maxLabelDiagonal, -1, 1))\n ));\n labelRotation = Math.max(minRotation, Math.min(maxRotation, labelRotation));\n }\n this.labelRotation = labelRotation;\n }\n afterCalculateLabelRotation() {\n callback(this.options.afterCalculateLabelRotation, [this]);\n }\n afterAutoSkip() {}\n beforeFit() {\n callback(this.options.beforeFit, [this]);\n }\n fit() {\n const minSize = {\n width: 0,\n height: 0\n };\n const {chart, options: {ticks: tickOpts, title: titleOpts, grid: gridOpts}} = this;\n const display = this._isVisible();\n const isHorizontal = this.isHorizontal();\n if (display) {\n const titleHeight = getTitleHeight(titleOpts, chart.options.font);\n if (isHorizontal) {\n minSize.width = this.maxWidth;\n minSize.height = getTickMarkLength(gridOpts) + titleHeight;\n } else {\n minSize.height = this.maxHeight;\n minSize.width = getTickMarkLength(gridOpts) + titleHeight;\n }\n if (tickOpts.display && this.ticks.length) {\n const {first, last, widest, highest} = this._getLabelSizes();\n const tickPadding = tickOpts.padding * 2;\n const angleRadians = toRadians(this.labelRotation);\n const cos = Math.cos(angleRadians);\n const sin = Math.sin(angleRadians);\n if (isHorizontal) {\n const labelHeight = tickOpts.mirror ? 0 : sin * widest.width + cos * highest.height;\n minSize.height = Math.min(this.maxHeight, minSize.height + labelHeight + tickPadding);\n } else {\n const labelWidth = tickOpts.mirror ? 0 : cos * widest.width + sin * highest.height;\n minSize.width = Math.min(this.maxWidth, minSize.width + labelWidth + tickPadding);\n }\n this._calculatePadding(first, last, sin, cos);\n }\n }\n this._handleMargins();\n if (isHorizontal) {\n this.width = this._length = chart.width - this._margins.left - this._margins.right;\n this.height = minSize.height;\n } else {\n this.width = minSize.width;\n this.height = this._length = chart.height - this._margins.top - this._margins.bottom;\n }\n }\n _calculatePadding(first, last, sin, cos) {\n const {ticks: {align, padding}, position} = this.options;\n const isRotated = this.labelRotation !== 0;\n const labelsBelowTicks = position !== 'top' && this.axis === 'x';\n if (this.isHorizontal()) {\n const offsetLeft = this.getPixelForTick(0) - this.left;\n const offsetRight = this.right - this.getPixelForTick(this.ticks.length - 1);\n let paddingLeft = 0;\n let paddingRight = 0;\n if (isRotated) {\n if (labelsBelowTicks) {\n paddingLeft = cos * first.width;\n paddingRight = sin * last.height;\n } else {\n paddingLeft = sin * first.height;\n paddingRight = cos * last.width;\n }\n } else if (align === 'start') {\n paddingRight = last.width;\n } else if (align === 'end') {\n paddingLeft = first.width;\n } else if (align !== 'inner') {\n paddingLeft = first.width / 2;\n paddingRight = last.width / 2;\n }\n this.paddingLeft = Math.max((paddingLeft - offsetLeft + padding) * this.width / (this.width - offsetLeft), 0);\n this.paddingRight = Math.max((paddingRight - offsetRight + padding) * this.width / (this.width - offsetRight), 0);\n } else {\n let paddingTop = last.height / 2;\n let paddingBottom = first.height / 2;\n if (align === 'start') {\n paddingTop = 0;\n paddingBottom = first.height;\n } else if (align === 'end') {\n paddingTop = last.height;\n paddingBottom = 0;\n }\n this.paddingTop = paddingTop + padding;\n this.paddingBottom = paddingBottom + padding;\n }\n }\n _handleMargins() {\n if (this._margins) {\n this._margins.left = Math.max(this.paddingLeft, this._margins.left);\n this._margins.top = Math.max(this.paddingTop, this._margins.top);\n this._margins.right = Math.max(this.paddingRight, this._margins.right);\n this._margins.bottom = Math.max(this.paddingBottom, this._margins.bottom);\n }\n }\n afterFit() {\n callback(this.options.afterFit, [this]);\n }\n isHorizontal() {\n const {axis, position} = this.options;\n return position === 'top' || position === 'bottom' || axis === 'x';\n }\n isFullSize() {\n return this.options.fullSize;\n }\n _convertTicksToLabels(ticks) {\n this.beforeTickToLabelConversion();\n this.generateTickLabels(ticks);\n let i, ilen;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n if (isNullOrUndef(ticks[i].label)) {\n ticks.splice(i, 1);\n ilen--;\n i--;\n }\n }\n this.afterTickToLabelConversion();\n }\n _getLabelSizes() {\n let labelSizes = this._labelSizes;\n if (!labelSizes) {\n const sampleSize = this.options.ticks.sampleSize;\n let ticks = this.ticks;\n if (sampleSize < ticks.length) {\n ticks = sample(ticks, sampleSize);\n }\n this._labelSizes = labelSizes = this._computeLabelSizes(ticks, ticks.length);\n }\n return labelSizes;\n }\n _computeLabelSizes(ticks, length) {\n const {ctx, _longestTextCache: caches} = this;\n const widths = [];\n const heights = [];\n let widestLabelSize = 0;\n let highestLabelSize = 0;\n let i, j, jlen, label, tickFont, fontString, cache, lineHeight, width, height, nestedLabel;\n for (i = 0; i < length; ++i) {\n label = ticks[i].label;\n tickFont = this._resolveTickFontOptions(i);\n ctx.font = fontString = tickFont.string;\n cache = caches[fontString] = caches[fontString] || {data: {}, gc: []};\n lineHeight = tickFont.lineHeight;\n width = height = 0;\n if (!isNullOrUndef(label) && !isArray(label)) {\n width = _measureText(ctx, cache.data, cache.gc, width, label);\n height = lineHeight;\n } else if (isArray(label)) {\n for (j = 0, jlen = label.length; j < jlen; ++j) {\n nestedLabel = label[j];\n if (!isNullOrUndef(nestedLabel) && !isArray(nestedLabel)) {\n width = _measureText(ctx, cache.data, cache.gc, width, nestedLabel);\n height += lineHeight;\n }\n }\n }\n widths.push(width);\n heights.push(height);\n widestLabelSize = Math.max(width, widestLabelSize);\n highestLabelSize = Math.max(height, highestLabelSize);\n }\n garbageCollect(caches, length);\n const widest = widths.indexOf(widestLabelSize);\n const highest = heights.indexOf(highestLabelSize);\n const valueAt = (idx) => ({width: widths[idx] || 0, height: heights[idx] || 0});\n return {\n first: valueAt(0),\n last: valueAt(length - 1),\n widest: valueAt(widest),\n highest: valueAt(highest),\n widths,\n heights,\n };\n }\n getLabelForValue(value) {\n return value;\n }\n getPixelForValue(value, index) {\n return NaN;\n }\n getValueForPixel(pixel) {}\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getPixelForDecimal(decimal) {\n if (this._reversePixels) {\n decimal = 1 - decimal;\n }\n const pixel = this._startPixel + decimal * this._length;\n return _int16Range(this._alignToPixels ? _alignPixel(this.chart, pixel, 0) : pixel);\n }\n getDecimalForPixel(pixel) {\n const decimal = (pixel - this._startPixel) / this._length;\n return this._reversePixels ? 1 - decimal : decimal;\n }\n getBasePixel() {\n return this.getPixelForValue(this.getBaseValue());\n }\n getBaseValue() {\n const {min, max} = this;\n return min < 0 && max < 0 ? max :\n min > 0 && max > 0 ? min :\n 0;\n }\n getContext(index) {\n const ticks = this.ticks || [];\n if (index >= 0 && index < ticks.length) {\n const tick = ticks[index];\n return tick.$context ||\n\t\t\t\t(tick.$context = createTickContext(this.getContext(), index, tick));\n }\n return this.$context ||\n\t\t\t(this.$context = createScaleContext(this.chart.getContext(), this));\n }\n _tickSize() {\n const optionTicks = this.options.ticks;\n const rot = toRadians(this.labelRotation);\n const cos = Math.abs(Math.cos(rot));\n const sin = Math.abs(Math.sin(rot));\n const labelSizes = this._getLabelSizes();\n const padding = optionTicks.autoSkipPadding || 0;\n const w = labelSizes ? labelSizes.widest.width + padding : 0;\n const h = labelSizes ? labelSizes.highest.height + padding : 0;\n return this.isHorizontal()\n ? h * cos > w * sin ? w / cos : h / sin\n : h * sin < w * cos ? h / cos : w / sin;\n }\n _isVisible() {\n const display = this.options.display;\n if (display !== 'auto') {\n return !!display;\n }\n return this.getMatchingVisibleMetas().length > 0;\n }\n _computeGridLineItems(chartArea) {\n const axis = this.axis;\n const chart = this.chart;\n const options = this.options;\n const {grid, position} = options;\n const offset = grid.offset;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const ticksLength = ticks.length + (offset ? 1 : 0);\n const tl = getTickMarkLength(grid);\n const items = [];\n const borderOpts = grid.setContext(this.getContext());\n const axisWidth = borderOpts.drawBorder ? borderOpts.borderWidth : 0;\n const axisHalfWidth = axisWidth / 2;\n const alignBorderValue = function(pixel) {\n return _alignPixel(chart, pixel, axisWidth);\n };\n let borderValue, i, lineValue, alignedLineValue;\n let tx1, ty1, tx2, ty2, x1, y1, x2, y2;\n if (position === 'top') {\n borderValue = alignBorderValue(this.bottom);\n ty1 = this.bottom - tl;\n ty2 = borderValue - axisHalfWidth;\n y1 = alignBorderValue(chartArea.top) + axisHalfWidth;\n y2 = chartArea.bottom;\n } else if (position === 'bottom') {\n borderValue = alignBorderValue(this.top);\n y1 = chartArea.top;\n y2 = alignBorderValue(chartArea.bottom) - axisHalfWidth;\n ty1 = borderValue + axisHalfWidth;\n ty2 = this.top + tl;\n } else if (position === 'left') {\n borderValue = alignBorderValue(this.right);\n tx1 = this.right - tl;\n tx2 = borderValue - axisHalfWidth;\n x1 = alignBorderValue(chartArea.left) + axisHalfWidth;\n x2 = chartArea.right;\n } else if (position === 'right') {\n borderValue = alignBorderValue(this.left);\n x1 = chartArea.left;\n x2 = alignBorderValue(chartArea.right) - axisHalfWidth;\n tx1 = borderValue + axisHalfWidth;\n tx2 = this.left + tl;\n } else if (axis === 'x') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.top + chartArea.bottom) / 2 + 0.5);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n y1 = chartArea.top;\n y2 = chartArea.bottom;\n ty1 = borderValue + axisHalfWidth;\n ty2 = ty1 + tl;\n } else if (axis === 'y') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.left + chartArea.right) / 2);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n tx1 = borderValue - axisHalfWidth;\n tx2 = tx1 - tl;\n x1 = chartArea.left;\n x2 = chartArea.right;\n }\n const limit = valueOrDefault(options.ticks.maxTicksLimit, ticksLength);\n const step = Math.max(1, Math.ceil(ticksLength / limit));\n for (i = 0; i < ticksLength; i += step) {\n const optsAtIndex = grid.setContext(this.getContext(i));\n const lineWidth = optsAtIndex.lineWidth;\n const lineColor = optsAtIndex.color;\n const borderDash = optsAtIndex.borderDash || [];\n const borderDashOffset = optsAtIndex.borderDashOffset;\n const tickWidth = optsAtIndex.tickWidth;\n const tickColor = optsAtIndex.tickColor;\n const tickBorderDash = optsAtIndex.tickBorderDash || [];\n const tickBorderDashOffset = optsAtIndex.tickBorderDashOffset;\n lineValue = getPixelForGridLine(this, i, offset);\n if (lineValue === undefined) {\n continue;\n }\n alignedLineValue = _alignPixel(chart, lineValue, lineWidth);\n if (isHorizontal) {\n tx1 = tx2 = x1 = x2 = alignedLineValue;\n } else {\n ty1 = ty2 = y1 = y2 = alignedLineValue;\n }\n items.push({\n tx1,\n ty1,\n tx2,\n ty2,\n x1,\n y1,\n x2,\n y2,\n width: lineWidth,\n color: lineColor,\n borderDash,\n borderDashOffset,\n tickWidth,\n tickColor,\n tickBorderDash,\n tickBorderDashOffset,\n });\n }\n this._ticksLength = ticksLength;\n this._borderValue = borderValue;\n return items;\n }\n _computeLabelItems(chartArea) {\n const axis = this.axis;\n const options = this.options;\n const {position, ticks: optionTicks} = options;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const {align, crossAlign, padding, mirror} = optionTicks;\n const tl = getTickMarkLength(options.grid);\n const tickAndPadding = tl + padding;\n const hTickAndPadding = mirror ? -padding : tickAndPadding;\n const rotation = -toRadians(this.labelRotation);\n const items = [];\n let i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset;\n let textBaseline = 'middle';\n if (position === 'top') {\n y = this.bottom - hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'bottom') {\n y = this.top + hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'left') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (position === 'right') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (axis === 'x') {\n if (position === 'center') {\n y = ((chartArea.top + chartArea.bottom) / 2) + tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n y = this.chart.scales[positionAxisID].getPixelForValue(value) + tickAndPadding;\n }\n textAlign = this._getXAxisLabelAlignment();\n } else if (axis === 'y') {\n if (position === 'center') {\n x = ((chartArea.left + chartArea.right) / 2) - tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n x = this.chart.scales[positionAxisID].getPixelForValue(value);\n }\n textAlign = this._getYAxisLabelAlignment(tl).textAlign;\n }\n if (axis === 'y') {\n if (align === 'start') {\n textBaseline = 'top';\n } else if (align === 'end') {\n textBaseline = 'bottom';\n }\n }\n const labelSizes = this._getLabelSizes();\n for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n tick = ticks[i];\n label = tick.label;\n const optsAtIndex = optionTicks.setContext(this.getContext(i));\n pixel = this.getPixelForTick(i) + optionTicks.labelOffset;\n font = this._resolveTickFontOptions(i);\n lineHeight = font.lineHeight;\n lineCount = isArray(label) ? label.length : 1;\n const halfCount = lineCount / 2;\n const color = optsAtIndex.color;\n const strokeColor = optsAtIndex.textStrokeColor;\n const strokeWidth = optsAtIndex.textStrokeWidth;\n let tickTextAlign = textAlign;\n if (isHorizontal) {\n x = pixel;\n if (textAlign === 'inner') {\n if (i === ilen - 1) {\n tickTextAlign = !this.options.reverse ? 'right' : 'left';\n } else if (i === 0) {\n tickTextAlign = !this.options.reverse ? 'left' : 'right';\n } else {\n tickTextAlign = 'center';\n }\n }\n if (position === 'top') {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = -lineCount * lineHeight + lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = -labelSizes.highest.height / 2 - halfCount * lineHeight + lineHeight;\n } else {\n textOffset = -labelSizes.highest.height + lineHeight / 2;\n }\n } else {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = labelSizes.highest.height / 2 - halfCount * lineHeight;\n } else {\n textOffset = labelSizes.highest.height - lineCount * lineHeight;\n }\n }\n if (mirror) {\n textOffset *= -1;\n }\n } else {\n y = pixel;\n textOffset = (1 - lineCount) * lineHeight / 2;\n }\n let backdrop;\n if (optsAtIndex.showLabelBackdrop) {\n const labelPadding = toPadding(optsAtIndex.backdropPadding);\n const height = labelSizes.heights[i];\n const width = labelSizes.widths[i];\n let top = y + textOffset - labelPadding.top;\n let left = x - labelPadding.left;\n switch (textBaseline) {\n case 'middle':\n top -= height / 2;\n break;\n case 'bottom':\n top -= height;\n break;\n }\n switch (textAlign) {\n case 'center':\n left -= width / 2;\n break;\n case 'right':\n left -= width;\n break;\n }\n backdrop = {\n left,\n top,\n width: width + labelPadding.width,\n height: height + labelPadding.height,\n color: optsAtIndex.backdropColor,\n };\n }\n items.push({\n rotation,\n label,\n font,\n color,\n strokeColor,\n strokeWidth,\n textOffset,\n textAlign: tickTextAlign,\n textBaseline,\n translation: [x, y],\n backdrop,\n });\n }\n return items;\n }\n _getXAxisLabelAlignment() {\n const {position, ticks} = this.options;\n const rotation = -toRadians(this.labelRotation);\n if (rotation) {\n return position === 'top' ? 'left' : 'right';\n }\n let align = 'center';\n if (ticks.align === 'start') {\n align = 'left';\n } else if (ticks.align === 'end') {\n align = 'right';\n } else if (ticks.align === 'inner') {\n align = 'inner';\n }\n return align;\n }\n _getYAxisLabelAlignment(tl) {\n const {position, ticks: {crossAlign, mirror, padding}} = this.options;\n const labelSizes = this._getLabelSizes();\n const tickAndPadding = tl + padding;\n const widest = labelSizes.widest.width;\n let textAlign;\n let x;\n if (position === 'left') {\n if (mirror) {\n x = this.right + padding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += (widest / 2);\n } else {\n textAlign = 'right';\n x += widest;\n }\n } else {\n x = this.right - tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= (widest / 2);\n } else {\n textAlign = 'left';\n x = this.left;\n }\n }\n } else if (position === 'right') {\n if (mirror) {\n x = this.left + padding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= (widest / 2);\n } else {\n textAlign = 'left';\n x -= widest;\n }\n } else {\n x = this.left + tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += widest / 2;\n } else {\n textAlign = 'right';\n x = this.right;\n }\n }\n } else {\n textAlign = 'right';\n }\n return {textAlign, x};\n }\n _computeLabelArea() {\n if (this.options.ticks.mirror) {\n return;\n }\n const chart = this.chart;\n const position = this.options.position;\n if (position === 'left' || position === 'right') {\n return {top: 0, left: this.left, bottom: chart.height, right: this.right};\n } if (position === 'top' || position === 'bottom') {\n return {top: this.top, left: 0, bottom: this.bottom, right: chart.width};\n }\n }\n drawBackground() {\n const {ctx, options: {backgroundColor}, left, top, width, height} = this;\n if (backgroundColor) {\n ctx.save();\n ctx.fillStyle = backgroundColor;\n ctx.fillRect(left, top, width, height);\n ctx.restore();\n }\n }\n getLineWidthForValue(value) {\n const grid = this.options.grid;\n if (!this._isVisible() || !grid.display) {\n return 0;\n }\n const ticks = this.ticks;\n const index = ticks.findIndex(t => t.value === value);\n if (index >= 0) {\n const opts = grid.setContext(this.getContext(index));\n return opts.lineWidth;\n }\n return 0;\n }\n drawGrid(chartArea) {\n const grid = this.options.grid;\n const ctx = this.ctx;\n const items = this._gridLineItems || (this._gridLineItems = this._computeGridLineItems(chartArea));\n let i, ilen;\n const drawLine = (p1, p2, style) => {\n if (!style.width || !style.color) {\n return;\n }\n ctx.save();\n ctx.lineWidth = style.width;\n ctx.strokeStyle = style.color;\n ctx.setLineDash(style.borderDash || []);\n ctx.lineDashOffset = style.borderDashOffset;\n ctx.beginPath();\n ctx.moveTo(p1.x, p1.y);\n ctx.lineTo(p2.x, p2.y);\n ctx.stroke();\n ctx.restore();\n };\n if (grid.display) {\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n const item = items[i];\n if (grid.drawOnChartArea) {\n drawLine(\n {x: item.x1, y: item.y1},\n {x: item.x2, y: item.y2},\n item\n );\n }\n if (grid.drawTicks) {\n drawLine(\n {x: item.tx1, y: item.ty1},\n {x: item.tx2, y: item.ty2},\n {\n color: item.tickColor,\n width: item.tickWidth,\n borderDash: item.tickBorderDash,\n borderDashOffset: item.tickBorderDashOffset\n }\n );\n }\n }\n }\n }\n drawBorder() {\n const {chart, ctx, options: {grid}} = this;\n const borderOpts = grid.setContext(this.getContext());\n const axisWidth = grid.drawBorder ? borderOpts.borderWidth : 0;\n if (!axisWidth) {\n return;\n }\n const lastLineWidth = grid.setContext(this.getContext(0)).lineWidth;\n const borderValue = this._borderValue;\n let x1, x2, y1, y2;\n if (this.isHorizontal()) {\n x1 = _alignPixel(chart, this.left, axisWidth) - axisWidth / 2;\n x2 = _alignPixel(chart, this.right, lastLineWidth) + lastLineWidth / 2;\n y1 = y2 = borderValue;\n } else {\n y1 = _alignPixel(chart, this.top, axisWidth) - axisWidth / 2;\n y2 = _alignPixel(chart, this.bottom, lastLineWidth) + lastLineWidth / 2;\n x1 = x2 = borderValue;\n }\n ctx.save();\n ctx.lineWidth = borderOpts.borderWidth;\n ctx.strokeStyle = borderOpts.borderColor;\n ctx.beginPath();\n ctx.moveTo(x1, y1);\n ctx.lineTo(x2, y2);\n ctx.stroke();\n ctx.restore();\n }\n drawLabels(chartArea) {\n const optionTicks = this.options.ticks;\n if (!optionTicks.display) {\n return;\n }\n const ctx = this.ctx;\n const area = this._computeLabelArea();\n if (area) {\n clipArea(ctx, area);\n }\n const items = this._labelItems || (this._labelItems = this._computeLabelItems(chartArea));\n let i, ilen;\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n const item = items[i];\n const tickFont = item.font;\n const label = item.label;\n if (item.backdrop) {\n ctx.fillStyle = item.backdrop.color;\n ctx.fillRect(item.backdrop.left, item.backdrop.top, item.backdrop.width, item.backdrop.height);\n }\n let y = item.textOffset;\n renderText(ctx, label, 0, y, tickFont, item);\n }\n if (area) {\n unclipArea(ctx);\n }\n }\n drawTitle() {\n const {ctx, options: {position, title, reverse}} = this;\n if (!title.display) {\n return;\n }\n const font = toFont(title.font);\n const padding = toPadding(title.padding);\n const align = title.align;\n let offset = font.lineHeight / 2;\n if (position === 'bottom' || position === 'center' || isObject(position)) {\n offset += padding.bottom;\n if (isArray(title.text)) {\n offset += font.lineHeight * (title.text.length - 1);\n }\n } else {\n offset += padding.top;\n }\n const {titleX, titleY, maxWidth, rotation} = titleArgs(this, offset, position, align);\n renderText(ctx, title.text, 0, 0, font, {\n color: title.color,\n maxWidth,\n rotation,\n textAlign: titleAlign(align, position, reverse),\n textBaseline: 'middle',\n translation: [titleX, titleY],\n });\n }\n draw(chartArea) {\n if (!this._isVisible()) {\n return;\n }\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawBorder();\n this.drawTitle();\n this.drawLabels(chartArea);\n }\n _layers() {\n const opts = this.options;\n const tz = opts.ticks && opts.ticks.z || 0;\n const gz = valueOrDefault(opts.grid && opts.grid.z, -1);\n if (!this._isVisible() || this.draw !== Scale.prototype.draw) {\n return [{\n z: tz,\n draw: (chartArea) => {\n this.draw(chartArea);\n }\n }];\n }\n return [{\n z: gz,\n draw: (chartArea) => {\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawTitle();\n }\n }, {\n z: gz + 1,\n draw: () => {\n this.drawBorder();\n }\n }, {\n z: tz,\n draw: (chartArea) => {\n this.drawLabels(chartArea);\n }\n }];\n }\n getMatchingVisibleMetas(type) {\n const metas = this.chart.getSortedVisibleDatasetMetas();\n const axisID = this.axis + 'AxisID';\n const result = [];\n let i, ilen;\n for (i = 0, ilen = metas.length; i < ilen; ++i) {\n const meta = metas[i];\n if (meta[axisID] === this.id && (!type || meta.type === type)) {\n result.push(meta);\n }\n }\n return result;\n }\n _resolveTickFontOptions(index) {\n const opts = this.options.ticks.setContext(this.getContext(index));\n return toFont(opts.font);\n }\n _maxDigits() {\n const fontSize = this._resolveTickFontOptions(0).lineHeight;\n return (this.isHorizontal() ? this.width : this.height) / fontSize;\n }\n}\n\nclass TypedRegistry {\n constructor(type, scope, override) {\n this.type = type;\n this.scope = scope;\n this.override = override;\n this.items = Object.create(null);\n }\n isForType(type) {\n return Object.prototype.isPrototypeOf.call(this.type.prototype, type.prototype);\n }\n register(item) {\n const proto = Object.getPrototypeOf(item);\n let parentScope;\n if (isIChartComponent(proto)) {\n parentScope = this.register(proto);\n }\n const items = this.items;\n const id = item.id;\n const scope = this.scope + '.' + id;\n if (!id) {\n throw new Error('class does not have id: ' + item);\n }\n if (id in items) {\n return scope;\n }\n items[id] = item;\n registerDefaults(item, scope, parentScope);\n if (this.override) {\n defaults.override(item.id, item.overrides);\n }\n return scope;\n }\n get(id) {\n return this.items[id];\n }\n unregister(item) {\n const items = this.items;\n const id = item.id;\n const scope = this.scope;\n if (id in items) {\n delete items[id];\n }\n if (scope && id in defaults[scope]) {\n delete defaults[scope][id];\n if (this.override) {\n delete overrides[id];\n }\n }\n }\n}\nfunction registerDefaults(item, scope, parentScope) {\n const itemDefaults = merge(Object.create(null), [\n parentScope ? defaults.get(parentScope) : {},\n defaults.get(scope),\n item.defaults\n ]);\n defaults.set(scope, itemDefaults);\n if (item.defaultRoutes) {\n routeDefaults(scope, item.defaultRoutes);\n }\n if (item.descriptors) {\n defaults.describe(scope, item.descriptors);\n }\n}\nfunction routeDefaults(scope, routes) {\n Object.keys(routes).forEach(property => {\n const propertyParts = property.split('.');\n const sourceName = propertyParts.pop();\n const sourceScope = [scope].concat(propertyParts).join('.');\n const parts = routes[property].split('.');\n const targetName = parts.pop();\n const targetScope = parts.join('.');\n defaults.route(sourceScope, sourceName, targetScope, targetName);\n });\n}\nfunction isIChartComponent(proto) {\n return 'id' in proto && 'defaults' in proto;\n}\n\nclass Registry {\n constructor() {\n this.controllers = new TypedRegistry(DatasetController, 'datasets', true);\n this.elements = new TypedRegistry(Element, 'elements');\n this.plugins = new TypedRegistry(Object, 'plugins');\n this.scales = new TypedRegistry(Scale, 'scales');\n this._typedRegistries = [this.controllers, this.scales, this.elements];\n }\n add(...args) {\n this._each('register', args);\n }\n remove(...args) {\n this._each('unregister', args);\n }\n addControllers(...args) {\n this._each('register', args, this.controllers);\n }\n addElements(...args) {\n this._each('register', args, this.elements);\n }\n addPlugins(...args) {\n this._each('register', args, this.plugins);\n }\n addScales(...args) {\n this._each('register', args, this.scales);\n }\n getController(id) {\n return this._get(id, this.controllers, 'controller');\n }\n getElement(id) {\n return this._get(id, this.elements, 'element');\n }\n getPlugin(id) {\n return this._get(id, this.plugins, 'plugin');\n }\n getScale(id) {\n return this._get(id, this.scales, 'scale');\n }\n removeControllers(...args) {\n this._each('unregister', args, this.controllers);\n }\n removeElements(...args) {\n this._each('unregister', args, this.elements);\n }\n removePlugins(...args) {\n this._each('unregister', args, this.plugins);\n }\n removeScales(...args) {\n this._each('unregister', args, this.scales);\n }\n _each(method, args, typedRegistry) {\n [...args].forEach(arg => {\n const reg = typedRegistry || this._getRegistryForType(arg);\n if (typedRegistry || reg.isForType(arg) || (reg === this.plugins && arg.id)) {\n this._exec(method, reg, arg);\n } else {\n each(arg, item => {\n const itemReg = typedRegistry || this._getRegistryForType(item);\n this._exec(method, itemReg, item);\n });\n }\n });\n }\n _exec(method, registry, component) {\n const camelMethod = _capitalize(method);\n callback(component['before' + camelMethod], [], component);\n registry[method](component);\n callback(component['after' + camelMethod], [], component);\n }\n _getRegistryForType(type) {\n for (let i = 0; i < this._typedRegistries.length; i++) {\n const reg = this._typedRegistries[i];\n if (reg.isForType(type)) {\n return reg;\n }\n }\n return this.plugins;\n }\n _get(id, typedRegistry, type) {\n const item = typedRegistry.get(id);\n if (item === undefined) {\n throw new Error('\"' + id + '\" is not a registered ' + type + '.');\n }\n return item;\n }\n}\nvar registry = new Registry();\n\nclass ScatterController extends DatasetController {\n update(mode) {\n const meta = this._cachedMeta;\n const {data: points = []} = meta;\n const animationsDisabled = this.chart._animationsDisabled;\n let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n this._drawStart = start;\n this._drawCount = count;\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n if (this.options.showLine) {\n const {dataset: line, _dataset} = meta;\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = this.resolveDatasetElementOptions(mode);\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n }\n this.updateElements(points, start, count, mode);\n }\n addElements() {\n const {showLine} = this.options;\n if (!this.datasetElementType && showLine) {\n this.datasetElementType = registry.getElement('line');\n }\n super.addElements();\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale, _stacked, _dataset} = this._cachedMeta;\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const {spanGaps, segment} = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n let prevParsed = start > 0 && this.getParsed(start - 1);\n for (let i = start; i < start + count; ++i) {\n const point = points[i];\n const parsed = this.getParsed(i);\n const properties = directUpdate ? point : {};\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n }\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const data = meta.data || [];\n if (!this.options.showLine) {\n let max = 0;\n for (let i = data.length - 1; i >= 0; --i) {\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n}\nScatterController.id = 'scatter';\nScatterController.defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n showLine: false,\n fill: false\n};\nScatterController.overrides = {\n interaction: {\n mode: 'point'\n },\n plugins: {\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(item) {\n return '(' + item.label + ', ' + item.formattedValue + ')';\n }\n }\n }\n },\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n }\n};\n\nvar controllers = /*#__PURE__*/Object.freeze({\n__proto__: null,\nBarController: BarController,\nBubbleController: BubbleController,\nDoughnutController: DoughnutController,\nLineController: LineController,\nPolarAreaController: PolarAreaController,\nPieController: PieController,\nRadarController: RadarController,\nScatterController: ScatterController\n});\n\nfunction abstract() {\n throw new Error('This method is not implemented: Check that a complete date adapter is provided.');\n}\nclass DateAdapter {\n constructor(options) {\n this.options = options || {};\n }\n init(chartOptions) {}\n formats() {\n return abstract();\n }\n parse(value, format) {\n return abstract();\n }\n format(timestamp, format) {\n return abstract();\n }\n add(timestamp, amount, unit) {\n return abstract();\n }\n diff(a, b, unit) {\n return abstract();\n }\n startOf(timestamp, unit, weekday) {\n return abstract();\n }\n endOf(timestamp, unit) {\n return abstract();\n }\n}\nDateAdapter.override = function(members) {\n Object.assign(DateAdapter.prototype, members);\n};\nvar adapters = {\n _date: DateAdapter\n};\n\nfunction binarySearch(metaset, axis, value, intersect) {\n const {controller, data, _sorted} = metaset;\n const iScale = controller._cachedMeta.iScale;\n if (iScale && axis === iScale.axis && axis !== 'r' && _sorted && data.length) {\n const lookupMethod = iScale._reversePixels ? _rlookupByKey : _lookupByKey;\n if (!intersect) {\n return lookupMethod(data, axis, value);\n } else if (controller._sharedOptions) {\n const el = data[0];\n const range = typeof el.getRange === 'function' && el.getRange(axis);\n if (range) {\n const start = lookupMethod(data, axis, value - range);\n const end = lookupMethod(data, axis, value + range);\n return {lo: start.lo, hi: end.hi};\n }\n }\n }\n return {lo: 0, hi: data.length - 1};\n}\nfunction evaluateInteractionItems(chart, axis, position, handler, intersect) {\n const metasets = chart.getSortedVisibleDatasetMetas();\n const value = position[axis];\n for (let i = 0, ilen = metasets.length; i < ilen; ++i) {\n const {index, data} = metasets[i];\n const {lo, hi} = binarySearch(metasets[i], axis, value, intersect);\n for (let j = lo; j <= hi; ++j) {\n const element = data[j];\n if (!element.skip) {\n handler(element, index, j);\n }\n }\n }\n}\nfunction getDistanceMetricForAxis(axis) {\n const useX = axis.indexOf('x') !== -1;\n const useY = axis.indexOf('y') !== -1;\n return function(pt1, pt2) {\n const deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\n const deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\n return Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\n };\n}\nfunction getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) {\n const items = [];\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return items;\n }\n const evaluationFunc = function(element, datasetIndex, index) {\n if (!includeInvisible && !_isPointInArea(element, chart.chartArea, 0)) {\n return;\n }\n if (element.inRange(position.x, position.y, useFinalPosition)) {\n items.push({element, datasetIndex, index});\n }\n };\n evaluateInteractionItems(chart, axis, position, evaluationFunc, true);\n return items;\n}\nfunction getNearestRadialItems(chart, position, axis, useFinalPosition) {\n let items = [];\n function evaluationFunc(element, datasetIndex, index) {\n const {startAngle, endAngle} = element.getProps(['startAngle', 'endAngle'], useFinalPosition);\n const {angle} = getAngleFromPoint(element, {x: position.x, y: position.y});\n if (_angleBetween(angle, startAngle, endAngle)) {\n items.push({element, datasetIndex, index});\n }\n }\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\nfunction getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n let items = [];\n const distanceMetric = getDistanceMetricForAxis(axis);\n let minDistance = Number.POSITIVE_INFINITY;\n function evaluationFunc(element, datasetIndex, index) {\n const inRange = element.inRange(position.x, position.y, useFinalPosition);\n if (intersect && !inRange) {\n return;\n }\n const center = element.getCenterPoint(useFinalPosition);\n const pointInArea = !!includeInvisible || chart.isPointInArea(center);\n if (!pointInArea && !inRange) {\n return;\n }\n const distance = distanceMetric(position, center);\n if (distance < minDistance) {\n items = [{element, datasetIndex, index}];\n minDistance = distance;\n } else if (distance === minDistance) {\n items.push({element, datasetIndex, index});\n }\n }\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\nfunction getNearestItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return [];\n }\n return axis === 'r' && !intersect\n ? getNearestRadialItems(chart, position, axis, useFinalPosition)\n : getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible);\n}\nfunction getAxisItems(chart, position, axis, intersect, useFinalPosition) {\n const items = [];\n const rangeMethod = axis === 'x' ? 'inXRange' : 'inYRange';\n let intersectsItem = false;\n evaluateInteractionItems(chart, axis, position, (element, datasetIndex, index) => {\n if (element[rangeMethod](position[axis], useFinalPosition)) {\n items.push({element, datasetIndex, index});\n intersectsItem = intersectsItem || element.inRange(position.x, position.y, useFinalPosition);\n }\n });\n if (intersect && !intersectsItem) {\n return [];\n }\n return items;\n}\nvar Interaction = {\n evaluateInteractionItems,\n modes: {\n index(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'x';\n const includeInvisible = options.includeInvisible || false;\n const items = options.intersect\n ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible)\n : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n const elements = [];\n if (!items.length) {\n return [];\n }\n chart.getSortedVisibleDatasetMetas().forEach((meta) => {\n const index = items[0].index;\n const element = meta.data[index];\n if (element && !element.skip) {\n elements.push({element, datasetIndex: meta.index, index});\n }\n });\n return elements;\n },\n dataset(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n let items = options.intersect\n ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) :\n getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n if (items.length > 0) {\n const datasetIndex = items[0].datasetIndex;\n const data = chart.getDatasetMeta(datasetIndex).data;\n items = [];\n for (let i = 0; i < data.length; ++i) {\n items.push({element: data[i], datasetIndex, index: i});\n }\n }\n return items;\n },\n point(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible);\n },\n nearest(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getNearestItems(chart, position, axis, options.intersect, useFinalPosition, includeInvisible);\n },\n x(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'x', options.intersect, useFinalPosition);\n },\n y(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'y', options.intersect, useFinalPosition);\n }\n }\n};\n\nconst STATIC_POSITIONS = ['left', 'top', 'right', 'bottom'];\nfunction filterByPosition(array, position) {\n return array.filter(v => v.pos === position);\n}\nfunction filterDynamicPositionByAxis(array, axis) {\n return array.filter(v => STATIC_POSITIONS.indexOf(v.pos) === -1 && v.box.axis === axis);\n}\nfunction sortByWeight(array, reverse) {\n return array.sort((a, b) => {\n const v0 = reverse ? b : a;\n const v1 = reverse ? a : b;\n return v0.weight === v1.weight ?\n v0.index - v1.index :\n v0.weight - v1.weight;\n });\n}\nfunction wrapBoxes(boxes) {\n const layoutBoxes = [];\n let i, ilen, box, pos, stack, stackWeight;\n for (i = 0, ilen = (boxes || []).length; i < ilen; ++i) {\n box = boxes[i];\n ({position: pos, options: {stack, stackWeight = 1}} = box);\n layoutBoxes.push({\n index: i,\n box,\n pos,\n horizontal: box.isHorizontal(),\n weight: box.weight,\n stack: stack && (pos + stack),\n stackWeight\n });\n }\n return layoutBoxes;\n}\nfunction buildStacks(layouts) {\n const stacks = {};\n for (const wrap of layouts) {\n const {stack, pos, stackWeight} = wrap;\n if (!stack || !STATIC_POSITIONS.includes(pos)) {\n continue;\n }\n const _stack = stacks[stack] || (stacks[stack] = {count: 0, placed: 0, weight: 0, size: 0});\n _stack.count++;\n _stack.weight += stackWeight;\n }\n return stacks;\n}\nfunction setLayoutDims(layouts, params) {\n const stacks = buildStacks(layouts);\n const {vBoxMaxWidth, hBoxMaxHeight} = params;\n let i, ilen, layout;\n for (i = 0, ilen = layouts.length; i < ilen; ++i) {\n layout = layouts[i];\n const {fullSize} = layout.box;\n const stack = stacks[layout.stack];\n const factor = stack && layout.stackWeight / stack.weight;\n if (layout.horizontal) {\n layout.width = factor ? factor * vBoxMaxWidth : fullSize && params.availableWidth;\n layout.height = hBoxMaxHeight;\n } else {\n layout.width = vBoxMaxWidth;\n layout.height = factor ? factor * hBoxMaxHeight : fullSize && params.availableHeight;\n }\n }\n return stacks;\n}\nfunction buildLayoutBoxes(boxes) {\n const layoutBoxes = wrapBoxes(boxes);\n const fullSize = sortByWeight(layoutBoxes.filter(wrap => wrap.box.fullSize), true);\n const left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\n const right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\n const top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\n const bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\n const centerHorizontal = filterDynamicPositionByAxis(layoutBoxes, 'x');\n const centerVertical = filterDynamicPositionByAxis(layoutBoxes, 'y');\n return {\n fullSize,\n leftAndTop: left.concat(top),\n rightAndBottom: right.concat(centerVertical).concat(bottom).concat(centerHorizontal),\n chartArea: filterByPosition(layoutBoxes, 'chartArea'),\n vertical: left.concat(right).concat(centerVertical),\n horizontal: top.concat(bottom).concat(centerHorizontal)\n };\n}\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\n return Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\n}\nfunction updateMaxPadding(maxPadding, boxPadding) {\n maxPadding.top = Math.max(maxPadding.top, boxPadding.top);\n maxPadding.left = Math.max(maxPadding.left, boxPadding.left);\n maxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\n maxPadding.right = Math.max(maxPadding.right, boxPadding.right);\n}\nfunction updateDims(chartArea, params, layout, stacks) {\n const {pos, box} = layout;\n const maxPadding = chartArea.maxPadding;\n if (!isObject(pos)) {\n if (layout.size) {\n chartArea[pos] -= layout.size;\n }\n const stack = stacks[layout.stack] || {size: 0, count: 1};\n stack.size = Math.max(stack.size, layout.horizontal ? box.height : box.width);\n layout.size = stack.size / stack.count;\n chartArea[pos] += layout.size;\n }\n if (box.getPadding) {\n updateMaxPadding(maxPadding, box.getPadding());\n }\n const newWidth = Math.max(0, params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right'));\n const newHeight = Math.max(0, params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom'));\n const widthChanged = newWidth !== chartArea.w;\n const heightChanged = newHeight !== chartArea.h;\n chartArea.w = newWidth;\n chartArea.h = newHeight;\n return layout.horizontal\n ? {same: widthChanged, other: heightChanged}\n : {same: heightChanged, other: widthChanged};\n}\nfunction handleMaxPadding(chartArea) {\n const maxPadding = chartArea.maxPadding;\n function updatePos(pos) {\n const change = Math.max(maxPadding[pos] - chartArea[pos], 0);\n chartArea[pos] += change;\n return change;\n }\n chartArea.y += updatePos('top');\n chartArea.x += updatePos('left');\n updatePos('right');\n updatePos('bottom');\n}\nfunction getMargins(horizontal, chartArea) {\n const maxPadding = chartArea.maxPadding;\n function marginForPositions(positions) {\n const margin = {left: 0, top: 0, right: 0, bottom: 0};\n positions.forEach((pos) => {\n margin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\n });\n return margin;\n }\n return horizontal\n ? marginForPositions(['left', 'right'])\n : marginForPositions(['top', 'bottom']);\n}\nfunction fitBoxes(boxes, chartArea, params, stacks) {\n const refitBoxes = [];\n let i, ilen, layout, box, refit, changed;\n for (i = 0, ilen = boxes.length, refit = 0; i < ilen; ++i) {\n layout = boxes[i];\n box = layout.box;\n box.update(\n layout.width || chartArea.w,\n layout.height || chartArea.h,\n getMargins(layout.horizontal, chartArea)\n );\n const {same, other} = updateDims(chartArea, params, layout, stacks);\n refit |= same && refitBoxes.length;\n changed = changed || other;\n if (!box.fullSize) {\n refitBoxes.push(layout);\n }\n }\n return refit && fitBoxes(refitBoxes, chartArea, params, stacks) || changed;\n}\nfunction setBoxDims(box, left, top, width, height) {\n box.top = top;\n box.left = left;\n box.right = left + width;\n box.bottom = top + height;\n box.width = width;\n box.height = height;\n}\nfunction placeBoxes(boxes, chartArea, params, stacks) {\n const userPadding = params.padding;\n let {x, y} = chartArea;\n for (const layout of boxes) {\n const box = layout.box;\n const stack = stacks[layout.stack] || {count: 1, placed: 0, weight: 1};\n const weight = (layout.stackWeight / stack.weight) || 1;\n if (layout.horizontal) {\n const width = chartArea.w * weight;\n const height = stack.size || box.height;\n if (defined(stack.start)) {\n y = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, userPadding.left, y, params.outerWidth - userPadding.right - userPadding.left, height);\n } else {\n setBoxDims(box, chartArea.left + stack.placed, y, width, height);\n }\n stack.start = y;\n stack.placed += width;\n y = box.bottom;\n } else {\n const height = chartArea.h * weight;\n const width = stack.size || box.width;\n if (defined(stack.start)) {\n x = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, x, userPadding.top, width, params.outerHeight - userPadding.bottom - userPadding.top);\n } else {\n setBoxDims(box, x, chartArea.top + stack.placed, width, height);\n }\n stack.start = x;\n stack.placed += height;\n x = box.right;\n }\n }\n chartArea.x = x;\n chartArea.y = y;\n}\ndefaults.set('layout', {\n autoPadding: true,\n padding: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n }\n});\nvar layouts = {\n addBox(chart, item) {\n if (!chart.boxes) {\n chart.boxes = [];\n }\n item.fullSize = item.fullSize || false;\n item.position = item.position || 'top';\n item.weight = item.weight || 0;\n item._layers = item._layers || function() {\n return [{\n z: 0,\n draw(chartArea) {\n item.draw(chartArea);\n }\n }];\n };\n chart.boxes.push(item);\n },\n removeBox(chart, layoutItem) {\n const index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\n if (index !== -1) {\n chart.boxes.splice(index, 1);\n }\n },\n configure(chart, item, options) {\n item.fullSize = options.fullSize;\n item.position = options.position;\n item.weight = options.weight;\n },\n update(chart, width, height, minPadding) {\n if (!chart) {\n return;\n }\n const padding = toPadding(chart.options.layout.padding);\n const availableWidth = Math.max(width - padding.width, 0);\n const availableHeight = Math.max(height - padding.height, 0);\n const boxes = buildLayoutBoxes(chart.boxes);\n const verticalBoxes = boxes.vertical;\n const horizontalBoxes = boxes.horizontal;\n each(chart.boxes, box => {\n if (typeof box.beforeLayout === 'function') {\n box.beforeLayout();\n }\n });\n const visibleVerticalBoxCount = verticalBoxes.reduce((total, wrap) =>\n wrap.box.options && wrap.box.options.display === false ? total : total + 1, 0) || 1;\n const params = Object.freeze({\n outerWidth: width,\n outerHeight: height,\n padding,\n availableWidth,\n availableHeight,\n vBoxMaxWidth: availableWidth / 2 / visibleVerticalBoxCount,\n hBoxMaxHeight: availableHeight / 2\n });\n const maxPadding = Object.assign({}, padding);\n updateMaxPadding(maxPadding, toPadding(minPadding));\n const chartArea = Object.assign({\n maxPadding,\n w: availableWidth,\n h: availableHeight,\n x: padding.left,\n y: padding.top\n }, padding);\n const stacks = setLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\n fitBoxes(boxes.fullSize, chartArea, params, stacks);\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n if (fitBoxes(horizontalBoxes, chartArea, params, stacks)) {\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n }\n handleMaxPadding(chartArea);\n placeBoxes(boxes.leftAndTop, chartArea, params, stacks);\n chartArea.x += chartArea.w;\n chartArea.y += chartArea.h;\n placeBoxes(boxes.rightAndBottom, chartArea, params, stacks);\n chart.chartArea = {\n left: chartArea.left,\n top: chartArea.top,\n right: chartArea.left + chartArea.w,\n bottom: chartArea.top + chartArea.h,\n height: chartArea.h,\n width: chartArea.w,\n };\n each(boxes.chartArea, (layout) => {\n const box = layout.box;\n Object.assign(box, chart.chartArea);\n box.update(chartArea.w, chartArea.h, {left: 0, top: 0, right: 0, bottom: 0});\n });\n }\n};\n\nclass BasePlatform {\n acquireContext(canvas, aspectRatio) {}\n releaseContext(context) {\n return false;\n }\n addEventListener(chart, type, listener) {}\n removeEventListener(chart, type, listener) {}\n getDevicePixelRatio() {\n return 1;\n }\n getMaximumSize(element, width, height, aspectRatio) {\n width = Math.max(0, width || element.width);\n height = height || element.height;\n return {\n width,\n height: Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height)\n };\n }\n isAttached(canvas) {\n return true;\n }\n updateConfig(config) {\n }\n}\n\nclass BasicPlatform extends BasePlatform {\n acquireContext(item) {\n return item && item.getContext && item.getContext('2d') || null;\n }\n updateConfig(config) {\n config.options.animation = false;\n }\n}\n\nconst EXPANDO_KEY = '$chartjs';\nconst EVENT_TYPES = {\n touchstart: 'mousedown',\n touchmove: 'mousemove',\n touchend: 'mouseup',\n pointerenter: 'mouseenter',\n pointerdown: 'mousedown',\n pointermove: 'mousemove',\n pointerup: 'mouseup',\n pointerleave: 'mouseout',\n pointerout: 'mouseout'\n};\nconst isNullOrEmpty = value => value === null || value === '';\nfunction initCanvas(canvas, aspectRatio) {\n const style = canvas.style;\n const renderHeight = canvas.getAttribute('height');\n const renderWidth = canvas.getAttribute('width');\n canvas[EXPANDO_KEY] = {\n initial: {\n height: renderHeight,\n width: renderWidth,\n style: {\n display: style.display,\n height: style.height,\n width: style.width\n }\n }\n };\n style.display = style.display || 'block';\n style.boxSizing = style.boxSizing || 'border-box';\n if (isNullOrEmpty(renderWidth)) {\n const displayWidth = readUsedSize(canvas, 'width');\n if (displayWidth !== undefined) {\n canvas.width = displayWidth;\n }\n }\n if (isNullOrEmpty(renderHeight)) {\n if (canvas.style.height === '') {\n canvas.height = canvas.width / (aspectRatio || 2);\n } else {\n const displayHeight = readUsedSize(canvas, 'height');\n if (displayHeight !== undefined) {\n canvas.height = displayHeight;\n }\n }\n }\n return canvas;\n}\nconst eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false;\nfunction addListener(node, type, listener) {\n node.addEventListener(type, listener, eventListenerOptions);\n}\nfunction removeListener(chart, type, listener) {\n chart.canvas.removeEventListener(type, listener, eventListenerOptions);\n}\nfunction fromNativeEvent(event, chart) {\n const type = EVENT_TYPES[event.type] || event.type;\n const {x, y} = getRelativePosition(event, chart);\n return {\n type,\n chart,\n native: event,\n x: x !== undefined ? x : null,\n y: y !== undefined ? y : null,\n };\n}\nfunction nodeListContains(nodeList, canvas) {\n for (const node of nodeList) {\n if (node === canvas || node.contains(canvas)) {\n return true;\n }\n }\n}\nfunction createAttachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver(entries => {\n let trigger = false;\n for (const entry of entries) {\n trigger = trigger || nodeListContains(entry.addedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.removedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {childList: true, subtree: true});\n return observer;\n}\nfunction createDetachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver(entries => {\n let trigger = false;\n for (const entry of entries) {\n trigger = trigger || nodeListContains(entry.removedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.addedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {childList: true, subtree: true});\n return observer;\n}\nconst drpListeningCharts = new Map();\nlet oldDevicePixelRatio = 0;\nfunction onWindowResize() {\n const dpr = window.devicePixelRatio;\n if (dpr === oldDevicePixelRatio) {\n return;\n }\n oldDevicePixelRatio = dpr;\n drpListeningCharts.forEach((resize, chart) => {\n if (chart.currentDevicePixelRatio !== dpr) {\n resize();\n }\n });\n}\nfunction listenDevicePixelRatioChanges(chart, resize) {\n if (!drpListeningCharts.size) {\n window.addEventListener('resize', onWindowResize);\n }\n drpListeningCharts.set(chart, resize);\n}\nfunction unlistenDevicePixelRatioChanges(chart) {\n drpListeningCharts.delete(chart);\n if (!drpListeningCharts.size) {\n window.removeEventListener('resize', onWindowResize);\n }\n}\nfunction createResizeObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const container = canvas && _getParentNode(canvas);\n if (!container) {\n return;\n }\n const resize = throttled((width, height) => {\n const w = container.clientWidth;\n listener(width, height);\n if (w < container.clientWidth) {\n listener();\n }\n }, window);\n const observer = new ResizeObserver(entries => {\n const entry = entries[0];\n const width = entry.contentRect.width;\n const height = entry.contentRect.height;\n if (width === 0 && height === 0) {\n return;\n }\n resize(width, height);\n });\n observer.observe(container);\n listenDevicePixelRatioChanges(chart, resize);\n return observer;\n}\nfunction releaseObserver(chart, type, observer) {\n if (observer) {\n observer.disconnect();\n }\n if (type === 'resize') {\n unlistenDevicePixelRatioChanges(chart);\n }\n}\nfunction createProxyAndListen(chart, type, listener) {\n const canvas = chart.canvas;\n const proxy = throttled((event) => {\n if (chart.ctx !== null) {\n listener(fromNativeEvent(event, chart));\n }\n }, chart, (args) => {\n const event = args[0];\n return [event, event.offsetX, event.offsetY];\n });\n addListener(canvas, type, proxy);\n return proxy;\n}\nclass DomPlatform extends BasePlatform {\n acquireContext(canvas, aspectRatio) {\n const context = canvas && canvas.getContext && canvas.getContext('2d');\n if (context && context.canvas === canvas) {\n initCanvas(canvas, aspectRatio);\n return context;\n }\n return null;\n }\n releaseContext(context) {\n const canvas = context.canvas;\n if (!canvas[EXPANDO_KEY]) {\n return false;\n }\n const initial = canvas[EXPANDO_KEY].initial;\n ['height', 'width'].forEach((prop) => {\n const value = initial[prop];\n if (isNullOrUndef(value)) {\n canvas.removeAttribute(prop);\n } else {\n canvas.setAttribute(prop, value);\n }\n });\n const style = initial.style || {};\n Object.keys(style).forEach((key) => {\n canvas.style[key] = style[key];\n });\n canvas.width = canvas.width;\n delete canvas[EXPANDO_KEY];\n return true;\n }\n addEventListener(chart, type, listener) {\n this.removeEventListener(chart, type);\n const proxies = chart.$proxies || (chart.$proxies = {});\n const handlers = {\n attach: createAttachObserver,\n detach: createDetachObserver,\n resize: createResizeObserver\n };\n const handler = handlers[type] || createProxyAndListen;\n proxies[type] = handler(chart, type, listener);\n }\n removeEventListener(chart, type) {\n const proxies = chart.$proxies || (chart.$proxies = {});\n const proxy = proxies[type];\n if (!proxy) {\n return;\n }\n const handlers = {\n attach: releaseObserver,\n detach: releaseObserver,\n resize: releaseObserver\n };\n const handler = handlers[type] || removeListener;\n handler(chart, type, proxy);\n proxies[type] = undefined;\n }\n getDevicePixelRatio() {\n return window.devicePixelRatio;\n }\n getMaximumSize(canvas, width, height, aspectRatio) {\n return getMaximumSize(canvas, width, height, aspectRatio);\n }\n isAttached(canvas) {\n const container = _getParentNode(canvas);\n return !!(container && container.isConnected);\n }\n}\n\nfunction _detectPlatform(canvas) {\n if (!_isDomSupported() || (typeof OffscreenCanvas !== 'undefined' && canvas instanceof OffscreenCanvas)) {\n return BasicPlatform;\n }\n return DomPlatform;\n}\n\nclass PluginService {\n constructor() {\n this._init = [];\n }\n notify(chart, hook, args, filter) {\n if (hook === 'beforeInit') {\n this._init = this._createDescriptors(chart, true);\n this._notify(this._init, chart, 'install');\n }\n const descriptors = filter ? this._descriptors(chart).filter(filter) : this._descriptors(chart);\n const result = this._notify(descriptors, chart, hook, args);\n if (hook === 'afterDestroy') {\n this._notify(descriptors, chart, 'stop');\n this._notify(this._init, chart, 'uninstall');\n }\n return result;\n }\n _notify(descriptors, chart, hook, args) {\n args = args || {};\n for (const descriptor of descriptors) {\n const plugin = descriptor.plugin;\n const method = plugin[hook];\n const params = [chart, args, descriptor.options];\n if (callback(method, params, plugin) === false && args.cancelable) {\n return false;\n }\n }\n return true;\n }\n invalidate() {\n if (!isNullOrUndef(this._cache)) {\n this._oldCache = this._cache;\n this._cache = undefined;\n }\n }\n _descriptors(chart) {\n if (this._cache) {\n return this._cache;\n }\n const descriptors = this._cache = this._createDescriptors(chart);\n this._notifyStateChanges(chart);\n return descriptors;\n }\n _createDescriptors(chart, all) {\n const config = chart && chart.config;\n const options = valueOrDefault(config.options && config.options.plugins, {});\n const plugins = allPlugins(config);\n return options === false && !all ? [] : createDescriptors(chart, plugins, options, all);\n }\n _notifyStateChanges(chart) {\n const previousDescriptors = this._oldCache || [];\n const descriptors = this._cache;\n const diff = (a, b) => a.filter(x => !b.some(y => x.plugin.id === y.plugin.id));\n this._notify(diff(previousDescriptors, descriptors), chart, 'stop');\n this._notify(diff(descriptors, previousDescriptors), chart, 'start');\n }\n}\nfunction allPlugins(config) {\n const localIds = {};\n const plugins = [];\n const keys = Object.keys(registry.plugins.items);\n for (let i = 0; i < keys.length; i++) {\n plugins.push(registry.getPlugin(keys[i]));\n }\n const local = config.plugins || [];\n for (let i = 0; i < local.length; i++) {\n const plugin = local[i];\n if (plugins.indexOf(plugin) === -1) {\n plugins.push(plugin);\n localIds[plugin.id] = true;\n }\n }\n return {plugins, localIds};\n}\nfunction getOpts(options, all) {\n if (!all && options === false) {\n return null;\n }\n if (options === true) {\n return {};\n }\n return options;\n}\nfunction createDescriptors(chart, {plugins, localIds}, options, all) {\n const result = [];\n const context = chart.getContext();\n for (const plugin of plugins) {\n const id = plugin.id;\n const opts = getOpts(options[id], all);\n if (opts === null) {\n continue;\n }\n result.push({\n plugin,\n options: pluginOpts(chart.config, {plugin, local: localIds[id]}, opts, context)\n });\n }\n return result;\n}\nfunction pluginOpts(config, {plugin, local}, opts, context) {\n const keys = config.pluginScopeKeys(plugin);\n const scopes = config.getOptionScopes(opts, keys);\n if (local && plugin.defaults) {\n scopes.push(plugin.defaults);\n }\n return config.createResolver(scopes, context, [''], {\n scriptable: false,\n indexable: false,\n allKeys: true\n });\n}\n\nfunction getIndexAxis(type, options) {\n const datasetDefaults = defaults.datasets[type] || {};\n const datasetOptions = (options.datasets || {})[type] || {};\n return datasetOptions.indexAxis || options.indexAxis || datasetDefaults.indexAxis || 'x';\n}\nfunction getAxisFromDefaultScaleID(id, indexAxis) {\n let axis = id;\n if (id === '_index_') {\n axis = indexAxis;\n } else if (id === '_value_') {\n axis = indexAxis === 'x' ? 'y' : 'x';\n }\n return axis;\n}\nfunction getDefaultScaleIDFromAxis(axis, indexAxis) {\n return axis === indexAxis ? '_index_' : '_value_';\n}\nfunction axisFromPosition(position) {\n if (position === 'top' || position === 'bottom') {\n return 'x';\n }\n if (position === 'left' || position === 'right') {\n return 'y';\n }\n}\nfunction determineAxis(id, scaleOptions) {\n if (id === 'x' || id === 'y') {\n return id;\n }\n return scaleOptions.axis || axisFromPosition(scaleOptions.position) || id.charAt(0).toLowerCase();\n}\nfunction mergeScaleConfig(config, options) {\n const chartDefaults = overrides[config.type] || {scales: {}};\n const configScales = options.scales || {};\n const chartIndexAxis = getIndexAxis(config.type, options);\n const firstIDs = Object.create(null);\n const scales = Object.create(null);\n Object.keys(configScales).forEach(id => {\n const scaleConf = configScales[id];\n if (!isObject(scaleConf)) {\n return console.error(`Invalid scale configuration for scale: ${id}`);\n }\n if (scaleConf._proxy) {\n return console.warn(`Ignoring resolver passed as options for scale: ${id}`);\n }\n const axis = determineAxis(id, scaleConf);\n const defaultId = getDefaultScaleIDFromAxis(axis, chartIndexAxis);\n const defaultScaleOptions = chartDefaults.scales || {};\n firstIDs[axis] = firstIDs[axis] || id;\n scales[id] = mergeIf(Object.create(null), [{axis}, scaleConf, defaultScaleOptions[axis], defaultScaleOptions[defaultId]]);\n });\n config.data.datasets.forEach(dataset => {\n const type = dataset.type || config.type;\n const indexAxis = dataset.indexAxis || getIndexAxis(type, options);\n const datasetDefaults = overrides[type] || {};\n const defaultScaleOptions = datasetDefaults.scales || {};\n Object.keys(defaultScaleOptions).forEach(defaultID => {\n const axis = getAxisFromDefaultScaleID(defaultID, indexAxis);\n const id = dataset[axis + 'AxisID'] || firstIDs[axis] || axis;\n scales[id] = scales[id] || Object.create(null);\n mergeIf(scales[id], [{axis}, configScales[id], defaultScaleOptions[defaultID]]);\n });\n });\n Object.keys(scales).forEach(key => {\n const scale = scales[key];\n mergeIf(scale, [defaults.scales[scale.type], defaults.scale]);\n });\n return scales;\n}\nfunction initOptions(config) {\n const options = config.options || (config.options = {});\n options.plugins = valueOrDefault(options.plugins, {});\n options.scales = mergeScaleConfig(config, options);\n}\nfunction initData(data) {\n data = data || {};\n data.datasets = data.datasets || [];\n data.labels = data.labels || [];\n return data;\n}\nfunction initConfig(config) {\n config = config || {};\n config.data = initData(config.data);\n initOptions(config);\n return config;\n}\nconst keyCache = new Map();\nconst keysCached = new Set();\nfunction cachedKeys(cacheKey, generate) {\n let keys = keyCache.get(cacheKey);\n if (!keys) {\n keys = generate();\n keyCache.set(cacheKey, keys);\n keysCached.add(keys);\n }\n return keys;\n}\nconst addIfFound = (set, obj, key) => {\n const opts = resolveObjectKey(obj, key);\n if (opts !== undefined) {\n set.add(opts);\n }\n};\nclass Config {\n constructor(config) {\n this._config = initConfig(config);\n this._scopeCache = new Map();\n this._resolverCache = new Map();\n }\n get platform() {\n return this._config.platform;\n }\n get type() {\n return this._config.type;\n }\n set type(type) {\n this._config.type = type;\n }\n get data() {\n return this._config.data;\n }\n set data(data) {\n this._config.data = initData(data);\n }\n get options() {\n return this._config.options;\n }\n set options(options) {\n this._config.options = options;\n }\n get plugins() {\n return this._config.plugins;\n }\n update() {\n const config = this._config;\n this.clearCache();\n initOptions(config);\n }\n clearCache() {\n this._scopeCache.clear();\n this._resolverCache.clear();\n }\n datasetScopeKeys(datasetType) {\n return cachedKeys(datasetType,\n () => [[\n `datasets.${datasetType}`,\n ''\n ]]);\n }\n datasetAnimationScopeKeys(datasetType, transition) {\n return cachedKeys(`${datasetType}.transition.${transition}`,\n () => [\n [\n `datasets.${datasetType}.transitions.${transition}`,\n `transitions.${transition}`,\n ],\n [\n `datasets.${datasetType}`,\n ''\n ]\n ]);\n }\n datasetElementScopeKeys(datasetType, elementType) {\n return cachedKeys(`${datasetType}-${elementType}`,\n () => [[\n `datasets.${datasetType}.elements.${elementType}`,\n `datasets.${datasetType}`,\n `elements.${elementType}`,\n ''\n ]]);\n }\n pluginScopeKeys(plugin) {\n const id = plugin.id;\n const type = this.type;\n return cachedKeys(`${type}-plugin-${id}`,\n () => [[\n `plugins.${id}`,\n ...plugin.additionalOptionScopes || [],\n ]]);\n }\n _cachedScopes(mainScope, resetCache) {\n const _scopeCache = this._scopeCache;\n let cache = _scopeCache.get(mainScope);\n if (!cache || resetCache) {\n cache = new Map();\n _scopeCache.set(mainScope, cache);\n }\n return cache;\n }\n getOptionScopes(mainScope, keyLists, resetCache) {\n const {options, type} = this;\n const cache = this._cachedScopes(mainScope, resetCache);\n const cached = cache.get(keyLists);\n if (cached) {\n return cached;\n }\n const scopes = new Set();\n keyLists.forEach(keys => {\n if (mainScope) {\n scopes.add(mainScope);\n keys.forEach(key => addIfFound(scopes, mainScope, key));\n }\n keys.forEach(key => addIfFound(scopes, options, key));\n keys.forEach(key => addIfFound(scopes, overrides[type] || {}, key));\n keys.forEach(key => addIfFound(scopes, defaults, key));\n keys.forEach(key => addIfFound(scopes, descriptors, key));\n });\n const array = Array.from(scopes);\n if (array.length === 0) {\n array.push(Object.create(null));\n }\n if (keysCached.has(keyLists)) {\n cache.set(keyLists, array);\n }\n return array;\n }\n chartOptionScopes() {\n const {options, type} = this;\n return [\n options,\n overrides[type] || {},\n defaults.datasets[type] || {},\n {type},\n defaults,\n descriptors\n ];\n }\n resolveNamedOptions(scopes, names, context, prefixes = ['']) {\n const result = {$shared: true};\n const {resolver, subPrefixes} = getResolver(this._resolverCache, scopes, prefixes);\n let options = resolver;\n if (needContext(resolver, names)) {\n result.$shared = false;\n context = isFunction(context) ? context() : context;\n const subResolver = this.createResolver(scopes, context, subPrefixes);\n options = _attachContext(resolver, context, subResolver);\n }\n for (const prop of names) {\n result[prop] = options[prop];\n }\n return result;\n }\n createResolver(scopes, context, prefixes = [''], descriptorDefaults) {\n const {resolver} = getResolver(this._resolverCache, scopes, prefixes);\n return isObject(context)\n ? _attachContext(resolver, context, undefined, descriptorDefaults)\n : resolver;\n }\n}\nfunction getResolver(resolverCache, scopes, prefixes) {\n let cache = resolverCache.get(scopes);\n if (!cache) {\n cache = new Map();\n resolverCache.set(scopes, cache);\n }\n const cacheKey = prefixes.join();\n let cached = cache.get(cacheKey);\n if (!cached) {\n const resolver = _createResolver(scopes, prefixes);\n cached = {\n resolver,\n subPrefixes: prefixes.filter(p => !p.toLowerCase().includes('hover'))\n };\n cache.set(cacheKey, cached);\n }\n return cached;\n}\nconst hasFunction = value => isObject(value)\n && Object.getOwnPropertyNames(value).reduce((acc, key) => acc || isFunction(value[key]), false);\nfunction needContext(proxy, names) {\n const {isScriptable, isIndexable} = _descriptors(proxy);\n for (const prop of names) {\n const scriptable = isScriptable(prop);\n const indexable = isIndexable(prop);\n const value = (indexable || scriptable) && proxy[prop];\n if ((scriptable && (isFunction(value) || hasFunction(value)))\n || (indexable && isArray(value))) {\n return true;\n }\n }\n return false;\n}\n\nvar version = \"3.9.1\";\n\nconst KNOWN_POSITIONS = ['top', 'bottom', 'left', 'right', 'chartArea'];\nfunction positionIsHorizontal(position, axis) {\n return position === 'top' || position === 'bottom' || (KNOWN_POSITIONS.indexOf(position) === -1 && axis === 'x');\n}\nfunction compare2Level(l1, l2) {\n return function(a, b) {\n return a[l1] === b[l1]\n ? a[l2] - b[l2]\n : a[l1] - b[l1];\n };\n}\nfunction onAnimationsComplete(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n chart.notifyPlugins('afterRender');\n callback(animationOptions && animationOptions.onComplete, [context], chart);\n}\nfunction onAnimationProgress(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n callback(animationOptions && animationOptions.onProgress, [context], chart);\n}\nfunction getCanvas(item) {\n if (_isDomSupported() && typeof item === 'string') {\n item = document.getElementById(item);\n } else if (item && item.length) {\n item = item[0];\n }\n if (item && item.canvas) {\n item = item.canvas;\n }\n return item;\n}\nconst instances = {};\nconst getChart = (key) => {\n const canvas = getCanvas(key);\n return Object.values(instances).filter((c) => c.canvas === canvas).pop();\n};\nfunction moveNumericKeys(obj, start, move) {\n const keys = Object.keys(obj);\n for (const key of keys) {\n const intKey = +key;\n if (intKey >= start) {\n const value = obj[key];\n delete obj[key];\n if (move > 0 || intKey > start) {\n obj[intKey + move] = value;\n }\n }\n }\n}\nfunction determineLastEvent(e, lastEvent, inChartArea, isClick) {\n if (!inChartArea || e.type === 'mouseout') {\n return null;\n }\n if (isClick) {\n return lastEvent;\n }\n return e;\n}\nclass Chart {\n constructor(item, userConfig) {\n const config = this.config = new Config(userConfig);\n const initialCanvas = getCanvas(item);\n const existingChart = getChart(initialCanvas);\n if (existingChart) {\n throw new Error(\n 'Canvas is already in use. Chart with ID \\'' + existingChart.id + '\\'' +\n\t\t\t\t' must be destroyed before the canvas with ID \\'' + existingChart.canvas.id + '\\' can be reused.'\n );\n }\n const options = config.createResolver(config.chartOptionScopes(), this.getContext());\n this.platform = new (config.platform || _detectPlatform(initialCanvas))();\n this.platform.updateConfig(config);\n const context = this.platform.acquireContext(initialCanvas, options.aspectRatio);\n const canvas = context && context.canvas;\n const height = canvas && canvas.height;\n const width = canvas && canvas.width;\n this.id = uid();\n this.ctx = context;\n this.canvas = canvas;\n this.width = width;\n this.height = height;\n this._options = options;\n this._aspectRatio = this.aspectRatio;\n this._layers = [];\n this._metasets = [];\n this._stacks = undefined;\n this.boxes = [];\n this.currentDevicePixelRatio = undefined;\n this.chartArea = undefined;\n this._active = [];\n this._lastEvent = undefined;\n this._listeners = {};\n this._responsiveListeners = undefined;\n this._sortedMetasets = [];\n this.scales = {};\n this._plugins = new PluginService();\n this.$proxies = {};\n this._hiddenIndices = {};\n this.attached = false;\n this._animationsDisabled = undefined;\n this.$context = undefined;\n this._doResize = debounce(mode => this.update(mode), options.resizeDelay || 0);\n this._dataChanges = [];\n instances[this.id] = this;\n if (!context || !canvas) {\n console.error(\"Failed to create chart: can't acquire context from the given item\");\n return;\n }\n animator.listen(this, 'complete', onAnimationsComplete);\n animator.listen(this, 'progress', onAnimationProgress);\n this._initialize();\n if (this.attached) {\n this.update();\n }\n }\n get aspectRatio() {\n const {options: {aspectRatio, maintainAspectRatio}, width, height, _aspectRatio} = this;\n if (!isNullOrUndef(aspectRatio)) {\n return aspectRatio;\n }\n if (maintainAspectRatio && _aspectRatio) {\n return _aspectRatio;\n }\n return height ? width / height : null;\n }\n get data() {\n return this.config.data;\n }\n set data(data) {\n this.config.data = data;\n }\n get options() {\n return this._options;\n }\n set options(options) {\n this.config.options = options;\n }\n _initialize() {\n this.notifyPlugins('beforeInit');\n if (this.options.responsive) {\n this.resize();\n } else {\n retinaScale(this, this.options.devicePixelRatio);\n }\n this.bindEvents();\n this.notifyPlugins('afterInit');\n return this;\n }\n clear() {\n clearCanvas(this.canvas, this.ctx);\n return this;\n }\n stop() {\n animator.stop(this);\n return this;\n }\n resize(width, height) {\n if (!animator.running(this)) {\n this._resize(width, height);\n } else {\n this._resizeBeforeDraw = {width, height};\n }\n }\n _resize(width, height) {\n const options = this.options;\n const canvas = this.canvas;\n const aspectRatio = options.maintainAspectRatio && this.aspectRatio;\n const newSize = this.platform.getMaximumSize(canvas, width, height, aspectRatio);\n const newRatio = options.devicePixelRatio || this.platform.getDevicePixelRatio();\n const mode = this.width ? 'resize' : 'attach';\n this.width = newSize.width;\n this.height = newSize.height;\n this._aspectRatio = this.aspectRatio;\n if (!retinaScale(this, newRatio, true)) {\n return;\n }\n this.notifyPlugins('resize', {size: newSize});\n callback(options.onResize, [this, newSize], this);\n if (this.attached) {\n if (this._doResize(mode)) {\n this.render();\n }\n }\n }\n ensureScalesHaveIDs() {\n const options = this.options;\n const scalesOptions = options.scales || {};\n each(scalesOptions, (axisOptions, axisID) => {\n axisOptions.id = axisID;\n });\n }\n buildOrUpdateScales() {\n const options = this.options;\n const scaleOpts = options.scales;\n const scales = this.scales;\n const updated = Object.keys(scales).reduce((obj, id) => {\n obj[id] = false;\n return obj;\n }, {});\n let items = [];\n if (scaleOpts) {\n items = items.concat(\n Object.keys(scaleOpts).map((id) => {\n const scaleOptions = scaleOpts[id];\n const axis = determineAxis(id, scaleOptions);\n const isRadial = axis === 'r';\n const isHorizontal = axis === 'x';\n return {\n options: scaleOptions,\n dposition: isRadial ? 'chartArea' : isHorizontal ? 'bottom' : 'left',\n dtype: isRadial ? 'radialLinear' : isHorizontal ? 'category' : 'linear'\n };\n })\n );\n }\n each(items, (item) => {\n const scaleOptions = item.options;\n const id = scaleOptions.id;\n const axis = determineAxis(id, scaleOptions);\n const scaleType = valueOrDefault(scaleOptions.type, item.dtype);\n if (scaleOptions.position === undefined || positionIsHorizontal(scaleOptions.position, axis) !== positionIsHorizontal(item.dposition)) {\n scaleOptions.position = item.dposition;\n }\n updated[id] = true;\n let scale = null;\n if (id in scales && scales[id].type === scaleType) {\n scale = scales[id];\n } else {\n const scaleClass = registry.getScale(scaleType);\n scale = new scaleClass({\n id,\n type: scaleType,\n ctx: this.ctx,\n chart: this\n });\n scales[scale.id] = scale;\n }\n scale.init(scaleOptions, options);\n });\n each(updated, (hasUpdated, id) => {\n if (!hasUpdated) {\n delete scales[id];\n }\n });\n each(scales, (scale) => {\n layouts.configure(this, scale, scale.options);\n layouts.addBox(this, scale);\n });\n }\n _updateMetasets() {\n const metasets = this._metasets;\n const numData = this.data.datasets.length;\n const numMeta = metasets.length;\n metasets.sort((a, b) => a.index - b.index);\n if (numMeta > numData) {\n for (let i = numData; i < numMeta; ++i) {\n this._destroyDatasetMeta(i);\n }\n metasets.splice(numData, numMeta - numData);\n }\n this._sortedMetasets = metasets.slice(0).sort(compare2Level('order', 'index'));\n }\n _removeUnreferencedMetasets() {\n const {_metasets: metasets, data: {datasets}} = this;\n if (metasets.length > datasets.length) {\n delete this._stacks;\n }\n metasets.forEach((meta, index) => {\n if (datasets.filter(x => x === meta._dataset).length === 0) {\n this._destroyDatasetMeta(index);\n }\n });\n }\n buildOrUpdateControllers() {\n const newControllers = [];\n const datasets = this.data.datasets;\n let i, ilen;\n this._removeUnreferencedMetasets();\n for (i = 0, ilen = datasets.length; i < ilen; i++) {\n const dataset = datasets[i];\n let meta = this.getDatasetMeta(i);\n const type = dataset.type || this.config.type;\n if (meta.type && meta.type !== type) {\n this._destroyDatasetMeta(i);\n meta = this.getDatasetMeta(i);\n }\n meta.type = type;\n meta.indexAxis = dataset.indexAxis || getIndexAxis(type, this.options);\n meta.order = dataset.order || 0;\n meta.index = i;\n meta.label = '' + dataset.label;\n meta.visible = this.isDatasetVisible(i);\n if (meta.controller) {\n meta.controller.updateIndex(i);\n meta.controller.linkScales();\n } else {\n const ControllerClass = registry.getController(type);\n const {datasetElementType, dataElementType} = defaults.datasets[type];\n Object.assign(ControllerClass.prototype, {\n dataElementType: registry.getElement(dataElementType),\n datasetElementType: datasetElementType && registry.getElement(datasetElementType)\n });\n meta.controller = new ControllerClass(this, i);\n newControllers.push(meta.controller);\n }\n }\n this._updateMetasets();\n return newControllers;\n }\n _resetElements() {\n each(this.data.datasets, (dataset, datasetIndex) => {\n this.getDatasetMeta(datasetIndex).controller.reset();\n }, this);\n }\n reset() {\n this._resetElements();\n this.notifyPlugins('reset');\n }\n update(mode) {\n const config = this.config;\n config.update();\n const options = this._options = config.createResolver(config.chartOptionScopes(), this.getContext());\n const animsDisabled = this._animationsDisabled = !options.animation;\n this._updateScales();\n this._checkEventBindings();\n this._updateHiddenIndices();\n this._plugins.invalidate();\n if (this.notifyPlugins('beforeUpdate', {mode, cancelable: true}) === false) {\n return;\n }\n const newControllers = this.buildOrUpdateControllers();\n this.notifyPlugins('beforeElementsUpdate');\n let minPadding = 0;\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; i++) {\n const {controller} = this.getDatasetMeta(i);\n const reset = !animsDisabled && newControllers.indexOf(controller) === -1;\n controller.buildOrUpdateElements(reset);\n minPadding = Math.max(+controller.getMaxOverflow(), minPadding);\n }\n minPadding = this._minPadding = options.layout.autoPadding ? minPadding : 0;\n this._updateLayout(minPadding);\n if (!animsDisabled) {\n each(newControllers, (controller) => {\n controller.reset();\n });\n }\n this._updateDatasets(mode);\n this.notifyPlugins('afterUpdate', {mode});\n this._layers.sort(compare2Level('z', '_idx'));\n const {_active, _lastEvent} = this;\n if (_lastEvent) {\n this._eventHandler(_lastEvent, true);\n } else if (_active.length) {\n this._updateHoverStyles(_active, _active, true);\n }\n this.render();\n }\n _updateScales() {\n each(this.scales, (scale) => {\n layouts.removeBox(this, scale);\n });\n this.ensureScalesHaveIDs();\n this.buildOrUpdateScales();\n }\n _checkEventBindings() {\n const options = this.options;\n const existingEvents = new Set(Object.keys(this._listeners));\n const newEvents = new Set(options.events);\n if (!setsEqual(existingEvents, newEvents) || !!this._responsiveListeners !== options.responsive) {\n this.unbindEvents();\n this.bindEvents();\n }\n }\n _updateHiddenIndices() {\n const {_hiddenIndices} = this;\n const changes = this._getUniformDataChanges() || [];\n for (const {method, start, count} of changes) {\n const move = method === '_removeElements' ? -count : count;\n moveNumericKeys(_hiddenIndices, start, move);\n }\n }\n _getUniformDataChanges() {\n const _dataChanges = this._dataChanges;\n if (!_dataChanges || !_dataChanges.length) {\n return;\n }\n this._dataChanges = [];\n const datasetCount = this.data.datasets.length;\n const makeSet = (idx) => new Set(\n _dataChanges\n .filter(c => c[0] === idx)\n .map((c, i) => i + ',' + c.splice(1).join(','))\n );\n const changeSet = makeSet(0);\n for (let i = 1; i < datasetCount; i++) {\n if (!setsEqual(changeSet, makeSet(i))) {\n return;\n }\n }\n return Array.from(changeSet)\n .map(c => c.split(','))\n .map(a => ({method: a[1], start: +a[2], count: +a[3]}));\n }\n _updateLayout(minPadding) {\n if (this.notifyPlugins('beforeLayout', {cancelable: true}) === false) {\n return;\n }\n layouts.update(this, this.width, this.height, minPadding);\n const area = this.chartArea;\n const noArea = area.width <= 0 || area.height <= 0;\n this._layers = [];\n each(this.boxes, (box) => {\n if (noArea && box.position === 'chartArea') {\n return;\n }\n if (box.configure) {\n box.configure();\n }\n this._layers.push(...box._layers());\n }, this);\n this._layers.forEach((item, index) => {\n item._idx = index;\n });\n this.notifyPlugins('afterLayout');\n }\n _updateDatasets(mode) {\n if (this.notifyPlugins('beforeDatasetsUpdate', {mode, cancelable: true}) === false) {\n return;\n }\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this.getDatasetMeta(i).controller.configure();\n }\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this._updateDataset(i, isFunction(mode) ? mode({datasetIndex: i}) : mode);\n }\n this.notifyPlugins('afterDatasetsUpdate', {mode});\n }\n _updateDataset(index, mode) {\n const meta = this.getDatasetMeta(index);\n const args = {meta, index, mode, cancelable: true};\n if (this.notifyPlugins('beforeDatasetUpdate', args) === false) {\n return;\n }\n meta.controller._update(mode);\n args.cancelable = false;\n this.notifyPlugins('afterDatasetUpdate', args);\n }\n render() {\n if (this.notifyPlugins('beforeRender', {cancelable: true}) === false) {\n return;\n }\n if (animator.has(this)) {\n if (this.attached && !animator.running(this)) {\n animator.start(this);\n }\n } else {\n this.draw();\n onAnimationsComplete({chart: this});\n }\n }\n draw() {\n let i;\n if (this._resizeBeforeDraw) {\n const {width, height} = this._resizeBeforeDraw;\n this._resize(width, height);\n this._resizeBeforeDraw = null;\n }\n this.clear();\n if (this.width <= 0 || this.height <= 0) {\n return;\n }\n if (this.notifyPlugins('beforeDraw', {cancelable: true}) === false) {\n return;\n }\n const layers = this._layers;\n for (i = 0; i < layers.length && layers[i].z <= 0; ++i) {\n layers[i].draw(this.chartArea);\n }\n this._drawDatasets();\n for (; i < layers.length; ++i) {\n layers[i].draw(this.chartArea);\n }\n this.notifyPlugins('afterDraw');\n }\n _getSortedDatasetMetas(filterVisible) {\n const metasets = this._sortedMetasets;\n const result = [];\n let i, ilen;\n for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n const meta = metasets[i];\n if (!filterVisible || meta.visible) {\n result.push(meta);\n }\n }\n return result;\n }\n getSortedVisibleDatasetMetas() {\n return this._getSortedDatasetMetas(true);\n }\n _drawDatasets() {\n if (this.notifyPlugins('beforeDatasetsDraw', {cancelable: true}) === false) {\n return;\n }\n const metasets = this.getSortedVisibleDatasetMetas();\n for (let i = metasets.length - 1; i >= 0; --i) {\n this._drawDataset(metasets[i]);\n }\n this.notifyPlugins('afterDatasetsDraw');\n }\n _drawDataset(meta) {\n const ctx = this.ctx;\n const clip = meta._clip;\n const useClip = !clip.disabled;\n const area = this.chartArea;\n const args = {\n meta,\n index: meta.index,\n cancelable: true\n };\n if (this.notifyPlugins('beforeDatasetDraw', args) === false) {\n return;\n }\n if (useClip) {\n clipArea(ctx, {\n left: clip.left === false ? 0 : area.left - clip.left,\n right: clip.right === false ? this.width : area.right + clip.right,\n top: clip.top === false ? 0 : area.top - clip.top,\n bottom: clip.bottom === false ? this.height : area.bottom + clip.bottom\n });\n }\n meta.controller.draw();\n if (useClip) {\n unclipArea(ctx);\n }\n args.cancelable = false;\n this.notifyPlugins('afterDatasetDraw', args);\n }\n isPointInArea(point) {\n return _isPointInArea(point, this.chartArea, this._minPadding);\n }\n getElementsAtEventForMode(e, mode, options, useFinalPosition) {\n const method = Interaction.modes[mode];\n if (typeof method === 'function') {\n return method(this, e, options, useFinalPosition);\n }\n return [];\n }\n getDatasetMeta(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n const metasets = this._metasets;\n let meta = metasets.filter(x => x && x._dataset === dataset).pop();\n if (!meta) {\n meta = {\n type: null,\n data: [],\n dataset: null,\n controller: null,\n hidden: null,\n xAxisID: null,\n yAxisID: null,\n order: dataset && dataset.order || 0,\n index: datasetIndex,\n _dataset: dataset,\n _parsed: [],\n _sorted: false\n };\n metasets.push(meta);\n }\n return meta;\n }\n getContext() {\n return this.$context || (this.$context = createContext(null, {chart: this, type: 'chart'}));\n }\n getVisibleDatasetCount() {\n return this.getSortedVisibleDatasetMetas().length;\n }\n isDatasetVisible(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n if (!dataset) {\n return false;\n }\n const meta = this.getDatasetMeta(datasetIndex);\n return typeof meta.hidden === 'boolean' ? !meta.hidden : !dataset.hidden;\n }\n setDatasetVisibility(datasetIndex, visible) {\n const meta = this.getDatasetMeta(datasetIndex);\n meta.hidden = !visible;\n }\n toggleDataVisibility(index) {\n this._hiddenIndices[index] = !this._hiddenIndices[index];\n }\n getDataVisibility(index) {\n return !this._hiddenIndices[index];\n }\n _updateVisibility(datasetIndex, dataIndex, visible) {\n const mode = visible ? 'show' : 'hide';\n const meta = this.getDatasetMeta(datasetIndex);\n const anims = meta.controller._resolveAnimations(undefined, mode);\n if (defined(dataIndex)) {\n meta.data[dataIndex].hidden = !visible;\n this.update();\n } else {\n this.setDatasetVisibility(datasetIndex, visible);\n anims.update(meta, {visible});\n this.update((ctx) => ctx.datasetIndex === datasetIndex ? mode : undefined);\n }\n }\n hide(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, false);\n }\n show(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, true);\n }\n _destroyDatasetMeta(datasetIndex) {\n const meta = this._metasets[datasetIndex];\n if (meta && meta.controller) {\n meta.controller._destroy();\n }\n delete this._metasets[datasetIndex];\n }\n _stop() {\n let i, ilen;\n this.stop();\n animator.remove(this);\n for (i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this._destroyDatasetMeta(i);\n }\n }\n destroy() {\n this.notifyPlugins('beforeDestroy');\n const {canvas, ctx} = this;\n this._stop();\n this.config.clearCache();\n if (canvas) {\n this.unbindEvents();\n clearCanvas(canvas, ctx);\n this.platform.releaseContext(ctx);\n this.canvas = null;\n this.ctx = null;\n }\n this.notifyPlugins('destroy');\n delete instances[this.id];\n this.notifyPlugins('afterDestroy');\n }\n toBase64Image(...args) {\n return this.canvas.toDataURL(...args);\n }\n bindEvents() {\n this.bindUserEvents();\n if (this.options.responsive) {\n this.bindResponsiveEvents();\n } else {\n this.attached = true;\n }\n }\n bindUserEvents() {\n const listeners = this._listeners;\n const platform = this.platform;\n const _add = (type, listener) => {\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const listener = (e, x, y) => {\n e.offsetX = x;\n e.offsetY = y;\n this._eventHandler(e);\n };\n each(this.options.events, (type) => _add(type, listener));\n }\n bindResponsiveEvents() {\n if (!this._responsiveListeners) {\n this._responsiveListeners = {};\n }\n const listeners = this._responsiveListeners;\n const platform = this.platform;\n const _add = (type, listener) => {\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const _remove = (type, listener) => {\n if (listeners[type]) {\n platform.removeEventListener(this, type, listener);\n delete listeners[type];\n }\n };\n const listener = (width, height) => {\n if (this.canvas) {\n this.resize(width, height);\n }\n };\n let detached;\n const attached = () => {\n _remove('attach', attached);\n this.attached = true;\n this.resize();\n _add('resize', listener);\n _add('detach', detached);\n };\n detached = () => {\n this.attached = false;\n _remove('resize', listener);\n this._stop();\n this._resize(0, 0);\n _add('attach', attached);\n };\n if (platform.isAttached(this.canvas)) {\n attached();\n } else {\n detached();\n }\n }\n unbindEvents() {\n each(this._listeners, (listener, type) => {\n this.platform.removeEventListener(this, type, listener);\n });\n this._listeners = {};\n each(this._responsiveListeners, (listener, type) => {\n this.platform.removeEventListener(this, type, listener);\n });\n this._responsiveListeners = undefined;\n }\n updateHoverStyle(items, mode, enabled) {\n const prefix = enabled ? 'set' : 'remove';\n let meta, item, i, ilen;\n if (mode === 'dataset') {\n meta = this.getDatasetMeta(items[0].datasetIndex);\n meta.controller['_' + prefix + 'DatasetHoverStyle']();\n }\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n item = items[i];\n const controller = item && this.getDatasetMeta(item.datasetIndex).controller;\n if (controller) {\n controller[prefix + 'HoverStyle'](item.element, item.datasetIndex, item.index);\n }\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements) {\n const lastActive = this._active || [];\n const active = activeElements.map(({datasetIndex, index}) => {\n const meta = this.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('No dataset found at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index,\n };\n });\n const changed = !_elementsEqual(active, lastActive);\n if (changed) {\n this._active = active;\n this._lastEvent = null;\n this._updateHoverStyles(active, lastActive);\n }\n }\n notifyPlugins(hook, args, filter) {\n return this._plugins.notify(this, hook, args, filter);\n }\n _updateHoverStyles(active, lastActive, replay) {\n const hoverOptions = this.options.hover;\n const diff = (a, b) => a.filter(x => !b.some(y => x.datasetIndex === y.datasetIndex && x.index === y.index));\n const deactivated = diff(lastActive, active);\n const activated = replay ? active : diff(active, lastActive);\n if (deactivated.length) {\n this.updateHoverStyle(deactivated, hoverOptions.mode, false);\n }\n if (activated.length && hoverOptions.mode) {\n this.updateHoverStyle(activated, hoverOptions.mode, true);\n }\n }\n _eventHandler(e, replay) {\n const args = {\n event: e,\n replay,\n cancelable: true,\n inChartArea: this.isPointInArea(e)\n };\n const eventFilter = (plugin) => (plugin.options.events || this.options.events).includes(e.native.type);\n if (this.notifyPlugins('beforeEvent', args, eventFilter) === false) {\n return;\n }\n const changed = this._handleEvent(e, replay, args.inChartArea);\n args.cancelable = false;\n this.notifyPlugins('afterEvent', args, eventFilter);\n if (changed || args.changed) {\n this.render();\n }\n return this;\n }\n _handleEvent(e, replay, inChartArea) {\n const {_active: lastActive = [], options} = this;\n const useFinalPosition = replay;\n const active = this._getActiveElements(e, lastActive, inChartArea, useFinalPosition);\n const isClick = _isClickEvent(e);\n const lastEvent = determineLastEvent(e, this._lastEvent, inChartArea, isClick);\n if (inChartArea) {\n this._lastEvent = null;\n callback(options.onHover, [e, active, this], this);\n if (isClick) {\n callback(options.onClick, [e, active, this], this);\n }\n }\n const changed = !_elementsEqual(active, lastActive);\n if (changed || replay) {\n this._active = active;\n this._updateHoverStyles(active, lastActive, replay);\n }\n this._lastEvent = lastEvent;\n return changed;\n }\n _getActiveElements(e, lastActive, inChartArea, useFinalPosition) {\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive;\n }\n const hoverOptions = this.options.hover;\n return this.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions, useFinalPosition);\n }\n}\nconst invalidatePlugins = () => each(Chart.instances, (chart) => chart._plugins.invalidate());\nconst enumerable = true;\nObject.defineProperties(Chart, {\n defaults: {\n enumerable,\n value: defaults\n },\n instances: {\n enumerable,\n value: instances\n },\n overrides: {\n enumerable,\n value: overrides\n },\n registry: {\n enumerable,\n value: registry\n },\n version: {\n enumerable,\n value: version\n },\n getChart: {\n enumerable,\n value: getChart\n },\n register: {\n enumerable,\n value: (...items) => {\n registry.add(...items);\n invalidatePlugins();\n }\n },\n unregister: {\n enumerable,\n value: (...items) => {\n registry.remove(...items);\n invalidatePlugins();\n }\n }\n});\n\nfunction clipArc(ctx, element, endAngle) {\n const {startAngle, pixelMargin, x, y, outerRadius, innerRadius} = element;\n let angleMargin = pixelMargin / outerRadius;\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle - angleMargin, endAngle + angleMargin);\n if (innerRadius > pixelMargin) {\n angleMargin = pixelMargin / innerRadius;\n ctx.arc(x, y, innerRadius, endAngle + angleMargin, startAngle - angleMargin, true);\n } else {\n ctx.arc(x, y, pixelMargin, endAngle + HALF_PI, startAngle - HALF_PI);\n }\n ctx.closePath();\n ctx.clip();\n}\nfunction toRadiusCorners(value) {\n return _readValueToProps(value, ['outerStart', 'outerEnd', 'innerStart', 'innerEnd']);\n}\nfunction parseBorderRadius$1(arc, innerRadius, outerRadius, angleDelta) {\n const o = toRadiusCorners(arc.options.borderRadius);\n const halfThickness = (outerRadius - innerRadius) / 2;\n const innerLimit = Math.min(halfThickness, angleDelta * innerRadius / 2);\n const computeOuterLimit = (val) => {\n const outerArcLimit = (outerRadius - Math.min(halfThickness, val)) * angleDelta / 2;\n return _limitValue(val, 0, Math.min(halfThickness, outerArcLimit));\n };\n return {\n outerStart: computeOuterLimit(o.outerStart),\n outerEnd: computeOuterLimit(o.outerEnd),\n innerStart: _limitValue(o.innerStart, 0, innerLimit),\n innerEnd: _limitValue(o.innerEnd, 0, innerLimit),\n };\n}\nfunction rThetaToXY(r, theta, x, y) {\n return {\n x: x + r * Math.cos(theta),\n y: y + r * Math.sin(theta),\n };\n}\nfunction pathArc(ctx, element, offset, spacing, end, circular) {\n const {x, y, startAngle: start, pixelMargin, innerRadius: innerR} = element;\n const outerRadius = Math.max(element.outerRadius + spacing + offset - pixelMargin, 0);\n const innerRadius = innerR > 0 ? innerR + spacing + offset + pixelMargin : 0;\n let spacingOffset = 0;\n const alpha = end - start;\n if (spacing) {\n const noSpacingInnerRadius = innerR > 0 ? innerR - spacing : 0;\n const noSpacingOuterRadius = outerRadius > 0 ? outerRadius - spacing : 0;\n const avNogSpacingRadius = (noSpacingInnerRadius + noSpacingOuterRadius) / 2;\n const adjustedAngle = avNogSpacingRadius !== 0 ? (alpha * avNogSpacingRadius) / (avNogSpacingRadius + spacing) : alpha;\n spacingOffset = (alpha - adjustedAngle) / 2;\n }\n const beta = Math.max(0.001, alpha * outerRadius - offset / PI) / outerRadius;\n const angleOffset = (alpha - beta) / 2;\n const startAngle = start + angleOffset + spacingOffset;\n const endAngle = end - angleOffset - spacingOffset;\n const {outerStart, outerEnd, innerStart, innerEnd} = parseBorderRadius$1(element, innerRadius, outerRadius, endAngle - startAngle);\n const outerStartAdjustedRadius = outerRadius - outerStart;\n const outerEndAdjustedRadius = outerRadius - outerEnd;\n const outerStartAdjustedAngle = startAngle + outerStart / outerStartAdjustedRadius;\n const outerEndAdjustedAngle = endAngle - outerEnd / outerEndAdjustedRadius;\n const innerStartAdjustedRadius = innerRadius + innerStart;\n const innerEndAdjustedRadius = innerRadius + innerEnd;\n const innerStartAdjustedAngle = startAngle + innerStart / innerStartAdjustedRadius;\n const innerEndAdjustedAngle = endAngle - innerEnd / innerEndAdjustedRadius;\n ctx.beginPath();\n if (circular) {\n ctx.arc(x, y, outerRadius, outerStartAdjustedAngle, outerEndAdjustedAngle);\n if (outerEnd > 0) {\n const pCenter = rThetaToXY(outerEndAdjustedRadius, outerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerEnd, outerEndAdjustedAngle, endAngle + HALF_PI);\n }\n const p4 = rThetaToXY(innerEndAdjustedRadius, endAngle, x, y);\n ctx.lineTo(p4.x, p4.y);\n if (innerEnd > 0) {\n const pCenter = rThetaToXY(innerEndAdjustedRadius, innerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerEnd, endAngle + HALF_PI, innerEndAdjustedAngle + Math.PI);\n }\n ctx.arc(x, y, innerRadius, endAngle - (innerEnd / innerRadius), startAngle + (innerStart / innerRadius), true);\n if (innerStart > 0) {\n const pCenter = rThetaToXY(innerStartAdjustedRadius, innerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerStart, innerStartAdjustedAngle + Math.PI, startAngle - HALF_PI);\n }\n const p8 = rThetaToXY(outerStartAdjustedRadius, startAngle, x, y);\n ctx.lineTo(p8.x, p8.y);\n if (outerStart > 0) {\n const pCenter = rThetaToXY(outerStartAdjustedRadius, outerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerStart, startAngle - HALF_PI, outerStartAdjustedAngle);\n }\n } else {\n ctx.moveTo(x, y);\n const outerStartX = Math.cos(outerStartAdjustedAngle) * outerRadius + x;\n const outerStartY = Math.sin(outerStartAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerStartX, outerStartY);\n const outerEndX = Math.cos(outerEndAdjustedAngle) * outerRadius + x;\n const outerEndY = Math.sin(outerEndAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerEndX, outerEndY);\n }\n ctx.closePath();\n}\nfunction drawArc(ctx, element, offset, spacing, circular) {\n const {fullCircles, startAngle, circumference} = element;\n let endAngle = element.endAngle;\n if (fullCircles) {\n pathArc(ctx, element, offset, spacing, startAngle + TAU, circular);\n for (let i = 0; i < fullCircles; ++i) {\n ctx.fill();\n }\n if (!isNaN(circumference)) {\n endAngle = startAngle + circumference % TAU;\n if (circumference % TAU === 0) {\n endAngle += TAU;\n }\n }\n }\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.fill();\n return endAngle;\n}\nfunction drawFullCircleBorders(ctx, element, inner) {\n const {x, y, startAngle, pixelMargin, fullCircles} = element;\n const outerRadius = Math.max(element.outerRadius - pixelMargin, 0);\n const innerRadius = element.innerRadius + pixelMargin;\n let i;\n if (inner) {\n clipArc(ctx, element, startAngle + TAU);\n }\n ctx.beginPath();\n ctx.arc(x, y, innerRadius, startAngle + TAU, startAngle, true);\n for (i = 0; i < fullCircles; ++i) {\n ctx.stroke();\n }\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle, startAngle + TAU);\n for (i = 0; i < fullCircles; ++i) {\n ctx.stroke();\n }\n}\nfunction drawBorder(ctx, element, offset, spacing, endAngle, circular) {\n const {options} = element;\n const {borderWidth, borderJoinStyle} = options;\n const inner = options.borderAlign === 'inner';\n if (!borderWidth) {\n return;\n }\n if (inner) {\n ctx.lineWidth = borderWidth * 2;\n ctx.lineJoin = borderJoinStyle || 'round';\n } else {\n ctx.lineWidth = borderWidth;\n ctx.lineJoin = borderJoinStyle || 'bevel';\n }\n if (element.fullCircles) {\n drawFullCircleBorders(ctx, element, inner);\n }\n if (inner) {\n clipArc(ctx, element, endAngle);\n }\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.stroke();\n}\nclass ArcElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.circumference = undefined;\n this.startAngle = undefined;\n this.endAngle = undefined;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.pixelMargin = 0;\n this.fullCircles = 0;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(chartX, chartY, useFinalPosition) {\n const point = this.getProps(['x', 'y'], useFinalPosition);\n const {angle, distance} = getAngleFromPoint(point, {x: chartX, y: chartY});\n const {startAngle, endAngle, innerRadius, outerRadius, circumference} = this.getProps([\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference'\n ], useFinalPosition);\n const rAdjust = this.options.spacing / 2;\n const _circumference = valueOrDefault(circumference, endAngle - startAngle);\n const betweenAngles = _circumference >= TAU || _angleBetween(angle, startAngle, endAngle);\n const withinRadius = _isBetween(distance, innerRadius + rAdjust, outerRadius + rAdjust);\n return (betweenAngles && withinRadius);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y, startAngle, endAngle, innerRadius, outerRadius} = this.getProps([\n 'x',\n 'y',\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference',\n ], useFinalPosition);\n const {offset, spacing} = this.options;\n const halfAngle = (startAngle + endAngle) / 2;\n const halfRadius = (innerRadius + outerRadius + spacing + offset) / 2;\n return {\n x: x + Math.cos(halfAngle) * halfRadius,\n y: y + Math.sin(halfAngle) * halfRadius\n };\n }\n tooltipPosition(useFinalPosition) {\n return this.getCenterPoint(useFinalPosition);\n }\n draw(ctx) {\n const {options, circumference} = this;\n const offset = (options.offset || 0) / 2;\n const spacing = (options.spacing || 0) / 2;\n const circular = options.circular;\n this.pixelMargin = (options.borderAlign === 'inner') ? 0.33 : 0;\n this.fullCircles = circumference > TAU ? Math.floor(circumference / TAU) : 0;\n if (circumference === 0 || this.innerRadius < 0 || this.outerRadius < 0) {\n return;\n }\n ctx.save();\n let radiusOffset = 0;\n if (offset) {\n radiusOffset = offset / 2;\n const halfAngle = (this.startAngle + this.endAngle) / 2;\n ctx.translate(Math.cos(halfAngle) * radiusOffset, Math.sin(halfAngle) * radiusOffset);\n if (this.circumference >= PI) {\n radiusOffset = offset;\n }\n }\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n const endAngle = drawArc(ctx, this, radiusOffset, spacing, circular);\n drawBorder(ctx, this, radiusOffset, spacing, endAngle, circular);\n ctx.restore();\n }\n}\nArcElement.id = 'arc';\nArcElement.defaults = {\n borderAlign: 'center',\n borderColor: '#fff',\n borderJoinStyle: undefined,\n borderRadius: 0,\n borderWidth: 2,\n offset: 0,\n spacing: 0,\n angle: undefined,\n circular: true,\n};\nArcElement.defaultRoutes = {\n backgroundColor: 'backgroundColor'\n};\n\nfunction setStyle(ctx, options, style = options) {\n ctx.lineCap = valueOrDefault(style.borderCapStyle, options.borderCapStyle);\n ctx.setLineDash(valueOrDefault(style.borderDash, options.borderDash));\n ctx.lineDashOffset = valueOrDefault(style.borderDashOffset, options.borderDashOffset);\n ctx.lineJoin = valueOrDefault(style.borderJoinStyle, options.borderJoinStyle);\n ctx.lineWidth = valueOrDefault(style.borderWidth, options.borderWidth);\n ctx.strokeStyle = valueOrDefault(style.borderColor, options.borderColor);\n}\nfunction lineTo(ctx, previous, target) {\n ctx.lineTo(target.x, target.y);\n}\nfunction getLineMethod(options) {\n if (options.stepped) {\n return _steppedLineTo;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierCurveTo;\n }\n return lineTo;\n}\nfunction pathVars(points, segment, params = {}) {\n const count = points.length;\n const {start: paramsStart = 0, end: paramsEnd = count - 1} = params;\n const {start: segmentStart, end: segmentEnd} = segment;\n const start = Math.max(paramsStart, segmentStart);\n const end = Math.min(paramsEnd, segmentEnd);\n const outside = paramsStart < segmentStart && paramsEnd < segmentStart || paramsStart > segmentEnd && paramsEnd > segmentEnd;\n return {\n count,\n start,\n loop: segment.loop,\n ilen: end < start && !outside ? count + end - start : end - start\n };\n}\nfunction pathSegment(ctx, line, segment, params) {\n const {points, options} = line;\n const {count, start, loop, ilen} = pathVars(points, segment, params);\n const lineMethod = getLineMethod(options);\n let {move = true, reverse} = params || {};\n let i, point, prev;\n for (i = 0; i <= ilen; ++i) {\n point = points[(start + (reverse ? ilen - i : i)) % count];\n if (point.skip) {\n continue;\n } else if (move) {\n ctx.moveTo(point.x, point.y);\n move = false;\n } else {\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n prev = point;\n }\n if (loop) {\n point = points[(start + (reverse ? ilen : 0)) % count];\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n return !!loop;\n}\nfunction fastPathSegment(ctx, line, segment, params) {\n const points = line.points;\n const {count, start, ilen} = pathVars(points, segment, params);\n const {move = true, reverse} = params || {};\n let avgX = 0;\n let countX = 0;\n let i, point, prevX, minY, maxY, lastY;\n const pointIndex = (index) => (start + (reverse ? ilen - index : index)) % count;\n const drawX = () => {\n if (minY !== maxY) {\n ctx.lineTo(avgX, maxY);\n ctx.lineTo(avgX, minY);\n ctx.lineTo(avgX, lastY);\n }\n };\n if (move) {\n point = points[pointIndex(0)];\n ctx.moveTo(point.x, point.y);\n }\n for (i = 0; i <= ilen; ++i) {\n point = points[pointIndex(i)];\n if (point.skip) {\n continue;\n }\n const x = point.x;\n const y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n } else if (y > maxY) {\n maxY = y;\n }\n avgX = (countX * avgX + x) / ++countX;\n } else {\n drawX();\n ctx.lineTo(x, y);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n }\n lastY = y;\n }\n drawX();\n}\nfunction _getSegmentMethod(line) {\n const opts = line.options;\n const borderDash = opts.borderDash && opts.borderDash.length;\n const useFastPath = !line._decimated && !line._loop && !opts.tension && opts.cubicInterpolationMode !== 'monotone' && !opts.stepped && !borderDash;\n return useFastPath ? fastPathSegment : pathSegment;\n}\nfunction _getInterpolationMethod(options) {\n if (options.stepped) {\n return _steppedInterpolation;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierInterpolation;\n }\n return _pointInLine;\n}\nfunction strokePathWithCache(ctx, line, start, count) {\n let path = line._path;\n if (!path) {\n path = line._path = new Path2D();\n if (line.path(path, start, count)) {\n path.closePath();\n }\n }\n setStyle(ctx, line.options);\n ctx.stroke(path);\n}\nfunction strokePathDirect(ctx, line, start, count) {\n const {segments, options} = line;\n const segmentMethod = _getSegmentMethod(line);\n for (const segment of segments) {\n setStyle(ctx, options, segment.style);\n ctx.beginPath();\n if (segmentMethod(ctx, line, segment, {start, end: start + count - 1})) {\n ctx.closePath();\n }\n ctx.stroke();\n }\n}\nconst usePath2D = typeof Path2D === 'function';\nfunction draw(ctx, line, start, count) {\n if (usePath2D && !line.options.segment) {\n strokePathWithCache(ctx, line, start, count);\n } else {\n strokePathDirect(ctx, line, start, count);\n }\n}\nclass LineElement extends Element {\n constructor(cfg) {\n super();\n this.animated = true;\n this.options = undefined;\n this._chart = undefined;\n this._loop = undefined;\n this._fullLoop = undefined;\n this._path = undefined;\n this._points = undefined;\n this._segments = undefined;\n this._decimated = false;\n this._pointsUpdated = false;\n this._datasetIndex = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n updateControlPoints(chartArea, indexAxis) {\n const options = this.options;\n if ((options.tension || options.cubicInterpolationMode === 'monotone') && !options.stepped && !this._pointsUpdated) {\n const loop = options.spanGaps ? this._loop : this._fullLoop;\n _updateBezierControlPoints(this._points, options, chartArea, loop, indexAxis);\n this._pointsUpdated = true;\n }\n }\n set points(points) {\n this._points = points;\n delete this._segments;\n delete this._path;\n this._pointsUpdated = false;\n }\n get points() {\n return this._points;\n }\n get segments() {\n return this._segments || (this._segments = _computeSegments(this, this.options.segment));\n }\n first() {\n const segments = this.segments;\n const points = this.points;\n return segments.length && points[segments[0].start];\n }\n last() {\n const segments = this.segments;\n const points = this.points;\n const count = segments.length;\n return count && points[segments[count - 1].end];\n }\n interpolate(point, property) {\n const options = this.options;\n const value = point[property];\n const points = this.points;\n const segments = _boundSegments(this, {property, start: value, end: value});\n if (!segments.length) {\n return;\n }\n const result = [];\n const _interpolate = _getInterpolationMethod(options);\n let i, ilen;\n for (i = 0, ilen = segments.length; i < ilen; ++i) {\n const {start, end} = segments[i];\n const p1 = points[start];\n const p2 = points[end];\n if (p1 === p2) {\n result.push(p1);\n continue;\n }\n const t = Math.abs((value - p1[property]) / (p2[property] - p1[property]));\n const interpolated = _interpolate(p1, p2, t, options.stepped);\n interpolated[property] = point[property];\n result.push(interpolated);\n }\n return result.length === 1 ? result[0] : result;\n }\n pathSegment(ctx, segment, params) {\n const segmentMethod = _getSegmentMethod(this);\n return segmentMethod(ctx, this, segment, params);\n }\n path(ctx, start, count) {\n const segments = this.segments;\n const segmentMethod = _getSegmentMethod(this);\n let loop = this._loop;\n start = start || 0;\n count = count || (this.points.length - start);\n for (const segment of segments) {\n loop &= segmentMethod(ctx, this, segment, {start, end: start + count - 1});\n }\n return !!loop;\n }\n draw(ctx, chartArea, start, count) {\n const options = this.options || {};\n const points = this.points || [];\n if (points.length && options.borderWidth) {\n ctx.save();\n draw(ctx, this, start, count);\n ctx.restore();\n }\n if (this.animated) {\n this._pointsUpdated = false;\n this._path = undefined;\n }\n }\n}\nLineElement.id = 'line';\nLineElement.defaults = {\n borderCapStyle: 'butt',\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: 'miter',\n borderWidth: 3,\n capBezierPoints: true,\n cubicInterpolationMode: 'default',\n fill: false,\n spanGaps: false,\n stepped: false,\n tension: 0,\n};\nLineElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\nLineElement.descriptors = {\n _scriptable: true,\n _indexable: (name) => name !== 'borderDash' && name !== 'fill',\n};\n\nfunction inRange$1(el, pos, axis, useFinalPosition) {\n const options = el.options;\n const {[axis]: value} = el.getProps([axis], useFinalPosition);\n return (Math.abs(pos - value) < options.radius + options.hitRadius);\n}\nclass PointElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.parsed = undefined;\n this.skip = undefined;\n this.stop = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n const options = this.options;\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return ((Math.pow(mouseX - x, 2) + Math.pow(mouseY - y, 2)) < Math.pow(options.hitRadius + options.radius, 2));\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange$1(this, mouseX, 'x', useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange$1(this, mouseY, 'y', useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return {x, y};\n }\n size(options) {\n options = options || this.options || {};\n let radius = options.radius || 0;\n radius = Math.max(radius, radius && options.hoverRadius || 0);\n const borderWidth = radius && options.borderWidth || 0;\n return (radius + borderWidth) * 2;\n }\n draw(ctx, area) {\n const options = this.options;\n if (this.skip || options.radius < 0.1 || !_isPointInArea(this, area, this.size(options) / 2)) {\n return;\n }\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.fillStyle = options.backgroundColor;\n drawPoint(ctx, options, this.x, this.y);\n }\n getRange() {\n const options = this.options || {};\n return options.radius + options.hitRadius;\n }\n}\nPointElement.id = 'point';\nPointElement.defaults = {\n borderWidth: 1,\n hitRadius: 1,\n hoverBorderWidth: 1,\n hoverRadius: 4,\n pointStyle: 'circle',\n radius: 3,\n rotation: 0\n};\nPointElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\n\nfunction getBarBounds(bar, useFinalPosition) {\n const {x, y, base, width, height} = bar.getProps(['x', 'y', 'base', 'width', 'height'], useFinalPosition);\n let left, right, top, bottom, half;\n if (bar.horizontal) {\n half = height / 2;\n left = Math.min(x, base);\n right = Math.max(x, base);\n top = y - half;\n bottom = y + half;\n } else {\n half = width / 2;\n left = x - half;\n right = x + half;\n top = Math.min(y, base);\n bottom = Math.max(y, base);\n }\n return {left, top, right, bottom};\n}\nfunction skipOrLimit(skip, value, min, max) {\n return skip ? 0 : _limitValue(value, min, max);\n}\nfunction parseBorderWidth(bar, maxW, maxH) {\n const value = bar.options.borderWidth;\n const skip = bar.borderSkipped;\n const o = toTRBL(value);\n return {\n t: skipOrLimit(skip.top, o.top, 0, maxH),\n r: skipOrLimit(skip.right, o.right, 0, maxW),\n b: skipOrLimit(skip.bottom, o.bottom, 0, maxH),\n l: skipOrLimit(skip.left, o.left, 0, maxW)\n };\n}\nfunction parseBorderRadius(bar, maxW, maxH) {\n const {enableBorderRadius} = bar.getProps(['enableBorderRadius']);\n const value = bar.options.borderRadius;\n const o = toTRBLCorners(value);\n const maxR = Math.min(maxW, maxH);\n const skip = bar.borderSkipped;\n const enableBorder = enableBorderRadius || isObject(value);\n return {\n topLeft: skipOrLimit(!enableBorder || skip.top || skip.left, o.topLeft, 0, maxR),\n topRight: skipOrLimit(!enableBorder || skip.top || skip.right, o.topRight, 0, maxR),\n bottomLeft: skipOrLimit(!enableBorder || skip.bottom || skip.left, o.bottomLeft, 0, maxR),\n bottomRight: skipOrLimit(!enableBorder || skip.bottom || skip.right, o.bottomRight, 0, maxR)\n };\n}\nfunction boundingRects(bar) {\n const bounds = getBarBounds(bar);\n const width = bounds.right - bounds.left;\n const height = bounds.bottom - bounds.top;\n const border = parseBorderWidth(bar, width / 2, height / 2);\n const radius = parseBorderRadius(bar, width / 2, height / 2);\n return {\n outer: {\n x: bounds.left,\n y: bounds.top,\n w: width,\n h: height,\n radius\n },\n inner: {\n x: bounds.left + border.l,\n y: bounds.top + border.t,\n w: width - border.l - border.r,\n h: height - border.t - border.b,\n radius: {\n topLeft: Math.max(0, radius.topLeft - Math.max(border.t, border.l)),\n topRight: Math.max(0, radius.topRight - Math.max(border.t, border.r)),\n bottomLeft: Math.max(0, radius.bottomLeft - Math.max(border.b, border.l)),\n bottomRight: Math.max(0, radius.bottomRight - Math.max(border.b, border.r)),\n }\n }\n };\n}\nfunction inRange(bar, x, y, useFinalPosition) {\n const skipX = x === null;\n const skipY = y === null;\n const skipBoth = skipX && skipY;\n const bounds = bar && !skipBoth && getBarBounds(bar, useFinalPosition);\n return bounds\n\t\t&& (skipX || _isBetween(x, bounds.left, bounds.right))\n\t\t&& (skipY || _isBetween(y, bounds.top, bounds.bottom));\n}\nfunction hasRadius(radius) {\n return radius.topLeft || radius.topRight || radius.bottomLeft || radius.bottomRight;\n}\nfunction addNormalRectPath(ctx, rect) {\n ctx.rect(rect.x, rect.y, rect.w, rect.h);\n}\nfunction inflateRect(rect, amount, refRect = {}) {\n const x = rect.x !== refRect.x ? -amount : 0;\n const y = rect.y !== refRect.y ? -amount : 0;\n const w = (rect.x + rect.w !== refRect.x + refRect.w ? amount : 0) - x;\n const h = (rect.y + rect.h !== refRect.y + refRect.h ? amount : 0) - y;\n return {\n x: rect.x + x,\n y: rect.y + y,\n w: rect.w + w,\n h: rect.h + h,\n radius: rect.radius\n };\n}\nclass BarElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.horizontal = undefined;\n this.base = undefined;\n this.width = undefined;\n this.height = undefined;\n this.inflateAmount = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n draw(ctx) {\n const {inflateAmount, options: {borderColor, backgroundColor}} = this;\n const {inner, outer} = boundingRects(this);\n const addRectPath = hasRadius(outer.radius) ? addRoundedRectPath : addNormalRectPath;\n ctx.save();\n if (outer.w !== inner.w || outer.h !== inner.h) {\n ctx.beginPath();\n addRectPath(ctx, inflateRect(outer, inflateAmount, inner));\n ctx.clip();\n addRectPath(ctx, inflateRect(inner, -inflateAmount, outer));\n ctx.fillStyle = borderColor;\n ctx.fill('evenodd');\n }\n ctx.beginPath();\n addRectPath(ctx, inflateRect(inner, inflateAmount));\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n return inRange(this, mouseX, mouseY, useFinalPosition);\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange(this, mouseX, null, useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange(this, null, mouseY, useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y, base, horizontal} = this.getProps(['x', 'y', 'base', 'horizontal'], useFinalPosition);\n return {\n x: horizontal ? (x + base) / 2 : x,\n y: horizontal ? y : (y + base) / 2\n };\n }\n getRange(axis) {\n return axis === 'x' ? this.width / 2 : this.height / 2;\n }\n}\nBarElement.id = 'bar';\nBarElement.defaults = {\n borderSkipped: 'start',\n borderWidth: 0,\n borderRadius: 0,\n inflateAmount: 'auto',\n pointStyle: undefined\n};\nBarElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\n\nvar elements = /*#__PURE__*/Object.freeze({\n__proto__: null,\nArcElement: ArcElement,\nLineElement: LineElement,\nPointElement: PointElement,\nBarElement: BarElement\n});\n\nfunction lttbDecimation(data, start, count, availableWidth, options) {\n const samples = options.samples || availableWidth;\n if (samples >= count) {\n return data.slice(start, start + count);\n }\n const decimated = [];\n const bucketWidth = (count - 2) / (samples - 2);\n let sampledIndex = 0;\n const endIndex = start + count - 1;\n let a = start;\n let i, maxAreaPoint, maxArea, area, nextA;\n decimated[sampledIndex++] = data[a];\n for (i = 0; i < samples - 2; i++) {\n let avgX = 0;\n let avgY = 0;\n let j;\n const avgRangeStart = Math.floor((i + 1) * bucketWidth) + 1 + start;\n const avgRangeEnd = Math.min(Math.floor((i + 2) * bucketWidth) + 1, count) + start;\n const avgRangeLength = avgRangeEnd - avgRangeStart;\n for (j = avgRangeStart; j < avgRangeEnd; j++) {\n avgX += data[j].x;\n avgY += data[j].y;\n }\n avgX /= avgRangeLength;\n avgY /= avgRangeLength;\n const rangeOffs = Math.floor(i * bucketWidth) + 1 + start;\n const rangeTo = Math.min(Math.floor((i + 1) * bucketWidth) + 1, count) + start;\n const {x: pointAx, y: pointAy} = data[a];\n maxArea = area = -1;\n for (j = rangeOffs; j < rangeTo; j++) {\n area = 0.5 * Math.abs(\n (pointAx - avgX) * (data[j].y - pointAy) -\n (pointAx - data[j].x) * (avgY - pointAy)\n );\n if (area > maxArea) {\n maxArea = area;\n maxAreaPoint = data[j];\n nextA = j;\n }\n }\n decimated[sampledIndex++] = maxAreaPoint;\n a = nextA;\n }\n decimated[sampledIndex++] = data[endIndex];\n return decimated;\n}\nfunction minMaxDecimation(data, start, count, availableWidth) {\n let avgX = 0;\n let countX = 0;\n let i, point, x, y, prevX, minIndex, maxIndex, startIndex, minY, maxY;\n const decimated = [];\n const endIndex = start + count - 1;\n const xMin = data[start].x;\n const xMax = data[endIndex].x;\n const dx = xMax - xMin;\n for (i = start; i < start + count; ++i) {\n point = data[i];\n x = (point.x - xMin) / dx * availableWidth;\n y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n minIndex = i;\n } else if (y > maxY) {\n maxY = y;\n maxIndex = i;\n }\n avgX = (countX * avgX + point.x) / ++countX;\n } else {\n const lastIndex = i - 1;\n if (!isNullOrUndef(minIndex) && !isNullOrUndef(maxIndex)) {\n const intermediateIndex1 = Math.min(minIndex, maxIndex);\n const intermediateIndex2 = Math.max(minIndex, maxIndex);\n if (intermediateIndex1 !== startIndex && intermediateIndex1 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex1],\n x: avgX,\n });\n }\n if (intermediateIndex2 !== startIndex && intermediateIndex2 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex2],\n x: avgX\n });\n }\n }\n if (i > 0 && lastIndex !== startIndex) {\n decimated.push(data[lastIndex]);\n }\n decimated.push(point);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n minIndex = maxIndex = startIndex = i;\n }\n }\n return decimated;\n}\nfunction cleanDecimatedDataset(dataset) {\n if (dataset._decimated) {\n const data = dataset._data;\n delete dataset._decimated;\n delete dataset._data;\n Object.defineProperty(dataset, 'data', {value: data});\n }\n}\nfunction cleanDecimatedData(chart) {\n chart.data.datasets.forEach((dataset) => {\n cleanDecimatedDataset(dataset);\n });\n}\nfunction getStartAndCountOfVisiblePointsSimplified(meta, points) {\n const pointCount = points.length;\n let start = 0;\n let count;\n const {iScale} = meta;\n const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(_lookupByKey(points, iScale.axis, min).lo, 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(_lookupByKey(points, iScale.axis, max).hi + 1, start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n return {start, count};\n}\nvar plugin_decimation = {\n id: 'decimation',\n defaults: {\n algorithm: 'min-max',\n enabled: false,\n },\n beforeElementsUpdate: (chart, args, options) => {\n if (!options.enabled) {\n cleanDecimatedData(chart);\n return;\n }\n const availableWidth = chart.width;\n chart.data.datasets.forEach((dataset, datasetIndex) => {\n const {_data, indexAxis} = dataset;\n const meta = chart.getDatasetMeta(datasetIndex);\n const data = _data || dataset.data;\n if (resolve([indexAxis, chart.options.indexAxis]) === 'y') {\n return;\n }\n if (!meta.controller.supportsDecimation) {\n return;\n }\n const xAxis = chart.scales[meta.xAxisID];\n if (xAxis.type !== 'linear' && xAxis.type !== 'time') {\n return;\n }\n if (chart.options.parsing) {\n return;\n }\n let {start, count} = getStartAndCountOfVisiblePointsSimplified(meta, data);\n const threshold = options.threshold || 4 * availableWidth;\n if (count <= threshold) {\n cleanDecimatedDataset(dataset);\n return;\n }\n if (isNullOrUndef(_data)) {\n dataset._data = data;\n delete dataset.data;\n Object.defineProperty(dataset, 'data', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this._decimated;\n },\n set: function(d) {\n this._data = d;\n }\n });\n }\n let decimated;\n switch (options.algorithm) {\n case 'lttb':\n decimated = lttbDecimation(data, start, count, availableWidth, options);\n break;\n case 'min-max':\n decimated = minMaxDecimation(data, start, count, availableWidth);\n break;\n default:\n throw new Error(`Unsupported decimation algorithm '${options.algorithm}'`);\n }\n dataset._decimated = decimated;\n });\n },\n destroy(chart) {\n cleanDecimatedData(chart);\n }\n};\n\nfunction _segments(line, target, property) {\n const segments = line.segments;\n const points = line.points;\n const tpoints = target.points;\n const parts = [];\n for (const segment of segments) {\n let {start, end} = segment;\n end = _findSegmentEnd(start, end, points);\n const bounds = _getBounds(property, points[start], points[end], segment.loop);\n if (!target.segments) {\n parts.push({\n source: segment,\n target: bounds,\n start: points[start],\n end: points[end]\n });\n continue;\n }\n const targetSegments = _boundSegments(target, bounds);\n for (const tgt of targetSegments) {\n const subBounds = _getBounds(property, tpoints[tgt.start], tpoints[tgt.end], tgt.loop);\n const fillSources = _boundSegment(segment, points, subBounds);\n for (const fillSource of fillSources) {\n parts.push({\n source: fillSource,\n target: tgt,\n start: {\n [property]: _getEdge(bounds, subBounds, 'start', Math.max)\n },\n end: {\n [property]: _getEdge(bounds, subBounds, 'end', Math.min)\n }\n });\n }\n }\n }\n return parts;\n}\nfunction _getBounds(property, first, last, loop) {\n if (loop) {\n return;\n }\n let start = first[property];\n let end = last[property];\n if (property === 'angle') {\n start = _normalizeAngle(start);\n end = _normalizeAngle(end);\n }\n return {property, start, end};\n}\nfunction _pointsFromSegments(boundary, line) {\n const {x = null, y = null} = boundary || {};\n const linePoints = line.points;\n const points = [];\n line.segments.forEach(({start, end}) => {\n end = _findSegmentEnd(start, end, linePoints);\n const first = linePoints[start];\n const last = linePoints[end];\n if (y !== null) {\n points.push({x: first.x, y});\n points.push({x: last.x, y});\n } else if (x !== null) {\n points.push({x, y: first.y});\n points.push({x, y: last.y});\n }\n });\n return points;\n}\nfunction _findSegmentEnd(start, end, points) {\n for (;end > start; end--) {\n const point = points[end];\n if (!isNaN(point.x) && !isNaN(point.y)) {\n break;\n }\n }\n return end;\n}\nfunction _getEdge(a, b, prop, fn) {\n if (a && b) {\n return fn(a[prop], b[prop]);\n }\n return a ? a[prop] : b ? b[prop] : 0;\n}\n\nfunction _createBoundaryLine(boundary, line) {\n let points = [];\n let _loop = false;\n if (isArray(boundary)) {\n _loop = true;\n points = boundary;\n } else {\n points = _pointsFromSegments(boundary, line);\n }\n return points.length ? new LineElement({\n points,\n options: {tension: 0},\n _loop,\n _fullLoop: _loop\n }) : null;\n}\nfunction _shouldApplyFill(source) {\n return source && source.fill !== false;\n}\n\nfunction _resolveTarget(sources, index, propagate) {\n const source = sources[index];\n let fill = source.fill;\n const visited = [index];\n let target;\n if (!propagate) {\n return fill;\n }\n while (fill !== false && visited.indexOf(fill) === -1) {\n if (!isNumberFinite(fill)) {\n return fill;\n }\n target = sources[fill];\n if (!target) {\n return false;\n }\n if (target.visible) {\n return fill;\n }\n visited.push(fill);\n fill = target.fill;\n }\n return false;\n}\nfunction _decodeFill(line, index, count) {\n const fill = parseFillOption(line);\n if (isObject(fill)) {\n return isNaN(fill.value) ? false : fill;\n }\n let target = parseFloat(fill);\n if (isNumberFinite(target) && Math.floor(target) === target) {\n return decodeTargetIndex(fill[0], index, target, count);\n }\n return ['origin', 'start', 'end', 'stack', 'shape'].indexOf(fill) >= 0 && fill;\n}\nfunction decodeTargetIndex(firstCh, index, target, count) {\n if (firstCh === '-' || firstCh === '+') {\n target = index + target;\n }\n if (target === index || target < 0 || target >= count) {\n return false;\n }\n return target;\n}\nfunction _getTargetPixel(fill, scale) {\n let pixel = null;\n if (fill === 'start') {\n pixel = scale.bottom;\n } else if (fill === 'end') {\n pixel = scale.top;\n } else if (isObject(fill)) {\n pixel = scale.getPixelForValue(fill.value);\n } else if (scale.getBasePixel) {\n pixel = scale.getBasePixel();\n }\n return pixel;\n}\nfunction _getTargetValue(fill, scale, startValue) {\n let value;\n if (fill === 'start') {\n value = startValue;\n } else if (fill === 'end') {\n value = scale.options.reverse ? scale.min : scale.max;\n } else if (isObject(fill)) {\n value = fill.value;\n } else {\n value = scale.getBaseValue();\n }\n return value;\n}\nfunction parseFillOption(line) {\n const options = line.options;\n const fillOption = options.fill;\n let fill = valueOrDefault(fillOption && fillOption.target, fillOption);\n if (fill === undefined) {\n fill = !!options.backgroundColor;\n }\n if (fill === false || fill === null) {\n return false;\n }\n if (fill === true) {\n return 'origin';\n }\n return fill;\n}\n\nfunction _buildStackLine(source) {\n const {scale, index, line} = source;\n const points = [];\n const segments = line.segments;\n const sourcePoints = line.points;\n const linesBelow = getLinesBelow(scale, index);\n linesBelow.push(_createBoundaryLine({x: null, y: scale.bottom}, line));\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n for (let j = segment.start; j <= segment.end; j++) {\n addPointsBelow(points, sourcePoints[j], linesBelow);\n }\n }\n return new LineElement({points, options: {}});\n}\nfunction getLinesBelow(scale, index) {\n const below = [];\n const metas = scale.getMatchingVisibleMetas('line');\n for (let i = 0; i < metas.length; i++) {\n const meta = metas[i];\n if (meta.index === index) {\n break;\n }\n if (!meta.hidden) {\n below.unshift(meta.dataset);\n }\n }\n return below;\n}\nfunction addPointsBelow(points, sourcePoint, linesBelow) {\n const postponed = [];\n for (let j = 0; j < linesBelow.length; j++) {\n const line = linesBelow[j];\n const {first, last, point} = findPoint(line, sourcePoint, 'x');\n if (!point || (first && last)) {\n continue;\n }\n if (first) {\n postponed.unshift(point);\n } else {\n points.push(point);\n if (!last) {\n break;\n }\n }\n }\n points.push(...postponed);\n}\nfunction findPoint(line, sourcePoint, property) {\n const point = line.interpolate(sourcePoint, property);\n if (!point) {\n return {};\n }\n const pointValue = point[property];\n const segments = line.segments;\n const linePoints = line.points;\n let first = false;\n let last = false;\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n const firstValue = linePoints[segment.start][property];\n const lastValue = linePoints[segment.end][property];\n if (_isBetween(pointValue, firstValue, lastValue)) {\n first = pointValue === firstValue;\n last = pointValue === lastValue;\n break;\n }\n }\n return {first, last, point};\n}\n\nclass simpleArc {\n constructor(opts) {\n this.x = opts.x;\n this.y = opts.y;\n this.radius = opts.radius;\n }\n pathSegment(ctx, bounds, opts) {\n const {x, y, radius} = this;\n bounds = bounds || {start: 0, end: TAU};\n ctx.arc(x, y, radius, bounds.end, bounds.start, true);\n return !opts.bounds;\n }\n interpolate(point) {\n const {x, y, radius} = this;\n const angle = point.angle;\n return {\n x: x + Math.cos(angle) * radius,\n y: y + Math.sin(angle) * radius,\n angle\n };\n }\n}\n\nfunction _getTarget(source) {\n const {chart, fill, line} = source;\n if (isNumberFinite(fill)) {\n return getLineByIndex(chart, fill);\n }\n if (fill === 'stack') {\n return _buildStackLine(source);\n }\n if (fill === 'shape') {\n return true;\n }\n const boundary = computeBoundary(source);\n if (boundary instanceof simpleArc) {\n return boundary;\n }\n return _createBoundaryLine(boundary, line);\n}\nfunction getLineByIndex(chart, index) {\n const meta = chart.getDatasetMeta(index);\n const visible = meta && chart.isDatasetVisible(index);\n return visible ? meta.dataset : null;\n}\nfunction computeBoundary(source) {\n const scale = source.scale || {};\n if (scale.getPointPositionForValue) {\n return computeCircularBoundary(source);\n }\n return computeLinearBoundary(source);\n}\nfunction computeLinearBoundary(source) {\n const {scale = {}, fill} = source;\n const pixel = _getTargetPixel(fill, scale);\n if (isNumberFinite(pixel)) {\n const horizontal = scale.isHorizontal();\n return {\n x: horizontal ? pixel : null,\n y: horizontal ? null : pixel\n };\n }\n return null;\n}\nfunction computeCircularBoundary(source) {\n const {scale, fill} = source;\n const options = scale.options;\n const length = scale.getLabels().length;\n const start = options.reverse ? scale.max : scale.min;\n const value = _getTargetValue(fill, scale, start);\n const target = [];\n if (options.grid.circular) {\n const center = scale.getPointPositionForValue(0, start);\n return new simpleArc({\n x: center.x,\n y: center.y,\n radius: scale.getDistanceFromCenterForValue(value)\n });\n }\n for (let i = 0; i < length; ++i) {\n target.push(scale.getPointPositionForValue(i, value));\n }\n return target;\n}\n\nfunction _drawfill(ctx, source, area) {\n const target = _getTarget(source);\n const {line, scale, axis} = source;\n const lineOpts = line.options;\n const fillOption = lineOpts.fill;\n const color = lineOpts.backgroundColor;\n const {above = color, below = color} = fillOption || {};\n if (target && line.points.length) {\n clipArea(ctx, area);\n doFill(ctx, {line, target, above, below, area, scale, axis});\n unclipArea(ctx);\n }\n}\nfunction doFill(ctx, cfg) {\n const {line, target, above, below, area, scale} = cfg;\n const property = line._loop ? 'angle' : cfg.axis;\n ctx.save();\n if (property === 'x' && below !== above) {\n clipVertical(ctx, target, area.top);\n fill(ctx, {line, target, color: above, scale, property});\n ctx.restore();\n ctx.save();\n clipVertical(ctx, target, area.bottom);\n }\n fill(ctx, {line, target, color: below, scale, property});\n ctx.restore();\n}\nfunction clipVertical(ctx, target, clipY) {\n const {segments, points} = target;\n let first = true;\n let lineLoop = false;\n ctx.beginPath();\n for (const segment of segments) {\n const {start, end} = segment;\n const firstPoint = points[start];\n const lastPoint = points[_findSegmentEnd(start, end, points)];\n if (first) {\n ctx.moveTo(firstPoint.x, firstPoint.y);\n first = false;\n } else {\n ctx.lineTo(firstPoint.x, clipY);\n ctx.lineTo(firstPoint.x, firstPoint.y);\n }\n lineLoop = !!target.pathSegment(ctx, segment, {move: lineLoop});\n if (lineLoop) {\n ctx.closePath();\n } else {\n ctx.lineTo(lastPoint.x, clipY);\n }\n }\n ctx.lineTo(target.first().x, clipY);\n ctx.closePath();\n ctx.clip();\n}\nfunction fill(ctx, cfg) {\n const {line, target, property, color, scale} = cfg;\n const segments = _segments(line, target, property);\n for (const {source: src, target: tgt, start, end} of segments) {\n const {style: {backgroundColor = color} = {}} = src;\n const notShape = target !== true;\n ctx.save();\n ctx.fillStyle = backgroundColor;\n clipBounds(ctx, scale, notShape && _getBounds(property, start, end));\n ctx.beginPath();\n const lineLoop = !!line.pathSegment(ctx, src);\n let loop;\n if (notShape) {\n if (lineLoop) {\n ctx.closePath();\n } else {\n interpolatedLineTo(ctx, target, end, property);\n }\n const targetLoop = !!target.pathSegment(ctx, tgt, {move: lineLoop, reverse: true});\n loop = lineLoop && targetLoop;\n if (!loop) {\n interpolatedLineTo(ctx, target, start, property);\n }\n }\n ctx.closePath();\n ctx.fill(loop ? 'evenodd' : 'nonzero');\n ctx.restore();\n }\n}\nfunction clipBounds(ctx, scale, bounds) {\n const {top, bottom} = scale.chart.chartArea;\n const {property, start, end} = bounds || {};\n if (property === 'x') {\n ctx.beginPath();\n ctx.rect(start, top, end - start, bottom - top);\n ctx.clip();\n }\n}\nfunction interpolatedLineTo(ctx, target, point, property) {\n const interpolatedPoint = target.interpolate(point, property);\n if (interpolatedPoint) {\n ctx.lineTo(interpolatedPoint.x, interpolatedPoint.y);\n }\n}\n\nvar index = {\n id: 'filler',\n afterDatasetsUpdate(chart, _args, options) {\n const count = (chart.data.datasets || []).length;\n const sources = [];\n let meta, i, line, source;\n for (i = 0; i < count; ++i) {\n meta = chart.getDatasetMeta(i);\n line = meta.dataset;\n source = null;\n if (line && line.options && line instanceof LineElement) {\n source = {\n visible: chart.isDatasetVisible(i),\n index: i,\n fill: _decodeFill(line, i, count),\n chart,\n axis: meta.controller.options.indexAxis,\n scale: meta.vScale,\n line,\n };\n }\n meta.$filler = source;\n sources.push(source);\n }\n for (i = 0; i < count; ++i) {\n source = sources[i];\n if (!source || source.fill === false) {\n continue;\n }\n source.fill = _resolveTarget(sources, i, options.propagate);\n }\n },\n beforeDraw(chart, _args, options) {\n const draw = options.drawTime === 'beforeDraw';\n const metasets = chart.getSortedVisibleDatasetMetas();\n const area = chart.chartArea;\n for (let i = metasets.length - 1; i >= 0; --i) {\n const source = metasets[i].$filler;\n if (!source) {\n continue;\n }\n source.line.updateControlPoints(area, source.axis);\n if (draw && source.fill) {\n _drawfill(chart.ctx, source, area);\n }\n }\n },\n beforeDatasetsDraw(chart, _args, options) {\n if (options.drawTime !== 'beforeDatasetsDraw') {\n return;\n }\n const metasets = chart.getSortedVisibleDatasetMetas();\n for (let i = metasets.length - 1; i >= 0; --i) {\n const source = metasets[i].$filler;\n if (_shouldApplyFill(source)) {\n _drawfill(chart.ctx, source, chart.chartArea);\n }\n }\n },\n beforeDatasetDraw(chart, args, options) {\n const source = args.meta.$filler;\n if (!_shouldApplyFill(source) || options.drawTime !== 'beforeDatasetDraw') {\n return;\n }\n _drawfill(chart.ctx, source, chart.chartArea);\n },\n defaults: {\n propagate: true,\n drawTime: 'beforeDatasetDraw'\n }\n};\n\nconst getBoxSize = (labelOpts, fontSize) => {\n let {boxHeight = fontSize, boxWidth = fontSize} = labelOpts;\n if (labelOpts.usePointStyle) {\n boxHeight = Math.min(boxHeight, fontSize);\n boxWidth = labelOpts.pointStyleWidth || Math.min(boxWidth, fontSize);\n }\n return {\n boxWidth,\n boxHeight,\n itemHeight: Math.max(fontSize, boxHeight)\n };\n};\nconst itemsEqual = (a, b) => a !== null && b !== null && a.datasetIndex === b.datasetIndex && a.index === b.index;\nclass Legend extends Element {\n constructor(config) {\n super();\n this._added = false;\n this.legendHitBoxes = [];\n this._hoveredItem = null;\n this.doughnutMode = false;\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this.legendItems = undefined;\n this.columnSizes = undefined;\n this.lineWidths = undefined;\n this.maxHeight = undefined;\n this.maxWidth = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.height = undefined;\n this.width = undefined;\n this._margins = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight, margins) {\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins;\n this.setDimensions();\n this.buildLabels();\n this.fit();\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = this._margins.left;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = this._margins.top;\n this.bottom = this.height;\n }\n }\n buildLabels() {\n const labelOpts = this.options.labels || {};\n let legendItems = callback(labelOpts.generateLabels, [this.chart], this) || [];\n if (labelOpts.filter) {\n legendItems = legendItems.filter((item) => labelOpts.filter(item, this.chart.data));\n }\n if (labelOpts.sort) {\n legendItems = legendItems.sort((a, b) => labelOpts.sort(a, b, this.chart.data));\n }\n if (this.options.reverse) {\n legendItems.reverse();\n }\n this.legendItems = legendItems;\n }\n fit() {\n const {options, ctx} = this;\n if (!options.display) {\n this.width = this.height = 0;\n return;\n }\n const labelOpts = options.labels;\n const labelFont = toFont(labelOpts.font);\n const fontSize = labelFont.size;\n const titleHeight = this._computeTitleHeight();\n const {boxWidth, itemHeight} = getBoxSize(labelOpts, fontSize);\n let width, height;\n ctx.font = labelFont.string;\n if (this.isHorizontal()) {\n width = this.maxWidth;\n height = this._fitRows(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n } else {\n height = this.maxHeight;\n width = this._fitCols(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n }\n this.width = Math.min(width, options.maxWidth || this.maxWidth);\n this.height = Math.min(height, options.maxHeight || this.maxHeight);\n }\n _fitRows(titleHeight, fontSize, boxWidth, itemHeight) {\n const {ctx, maxWidth, options: {labels: {padding}}} = this;\n const hitboxes = this.legendHitBoxes = [];\n const lineWidths = this.lineWidths = [0];\n const lineHeight = itemHeight + padding;\n let totalHeight = titleHeight;\n ctx.textAlign = 'left';\n ctx.textBaseline = 'middle';\n let row = -1;\n let top = -lineHeight;\n this.legendItems.forEach((legendItem, i) => {\n const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n if (i === 0 || lineWidths[lineWidths.length - 1] + itemWidth + 2 * padding > maxWidth) {\n totalHeight += lineHeight;\n lineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0;\n top += lineHeight;\n row++;\n }\n hitboxes[i] = {left: 0, top, row, width: itemWidth, height: itemHeight};\n lineWidths[lineWidths.length - 1] += itemWidth + padding;\n });\n return totalHeight;\n }\n _fitCols(titleHeight, fontSize, boxWidth, itemHeight) {\n const {ctx, maxHeight, options: {labels: {padding}}} = this;\n const hitboxes = this.legendHitBoxes = [];\n const columnSizes = this.columnSizes = [];\n const heightLimit = maxHeight - titleHeight;\n let totalWidth = padding;\n let currentColWidth = 0;\n let currentColHeight = 0;\n let left = 0;\n let col = 0;\n this.legendItems.forEach((legendItem, i) => {\n const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n if (i > 0 && currentColHeight + itemHeight + 2 * padding > heightLimit) {\n totalWidth += currentColWidth + padding;\n columnSizes.push({width: currentColWidth, height: currentColHeight});\n left += currentColWidth + padding;\n col++;\n currentColWidth = currentColHeight = 0;\n }\n hitboxes[i] = {left, top: currentColHeight, col, width: itemWidth, height: itemHeight};\n currentColWidth = Math.max(currentColWidth, itemWidth);\n currentColHeight += itemHeight + padding;\n });\n totalWidth += currentColWidth;\n columnSizes.push({width: currentColWidth, height: currentColHeight});\n return totalWidth;\n }\n adjustHitBoxes() {\n if (!this.options.display) {\n return;\n }\n const titleHeight = this._computeTitleHeight();\n const {legendHitBoxes: hitboxes, options: {align, labels: {padding}, rtl}} = this;\n const rtlHelper = getRtlAdapter(rtl, this.left, this.width);\n if (this.isHorizontal()) {\n let row = 0;\n let left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n for (const hitbox of hitboxes) {\n if (row !== hitbox.row) {\n row = hitbox.row;\n left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n }\n hitbox.top += this.top + titleHeight + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(left), hitbox.width);\n left += hitbox.width + padding;\n }\n } else {\n let col = 0;\n let top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n for (const hitbox of hitboxes) {\n if (hitbox.col !== col) {\n col = hitbox.col;\n top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n }\n hitbox.top = top;\n hitbox.left += this.left + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(hitbox.left), hitbox.width);\n top += hitbox.height + padding;\n }\n }\n }\n isHorizontal() {\n return this.options.position === 'top' || this.options.position === 'bottom';\n }\n draw() {\n if (this.options.display) {\n const ctx = this.ctx;\n clipArea(ctx, this);\n this._draw();\n unclipArea(ctx);\n }\n }\n _draw() {\n const {options: opts, columnSizes, lineWidths, ctx} = this;\n const {align, labels: labelOpts} = opts;\n const defaultColor = defaults.color;\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const labelFont = toFont(labelOpts.font);\n const {color: fontColor, padding} = labelOpts;\n const fontSize = labelFont.size;\n const halfFontSize = fontSize / 2;\n let cursor;\n this.drawTitle();\n ctx.textAlign = rtlHelper.textAlign('left');\n ctx.textBaseline = 'middle';\n ctx.lineWidth = 0.5;\n ctx.font = labelFont.string;\n const {boxWidth, boxHeight, itemHeight} = getBoxSize(labelOpts, fontSize);\n const drawLegendBox = function(x, y, legendItem) {\n if (isNaN(boxWidth) || boxWidth <= 0 || isNaN(boxHeight) || boxHeight < 0) {\n return;\n }\n ctx.save();\n const lineWidth = valueOrDefault(legendItem.lineWidth, 1);\n ctx.fillStyle = valueOrDefault(legendItem.fillStyle, defaultColor);\n ctx.lineCap = valueOrDefault(legendItem.lineCap, 'butt');\n ctx.lineDashOffset = valueOrDefault(legendItem.lineDashOffset, 0);\n ctx.lineJoin = valueOrDefault(legendItem.lineJoin, 'miter');\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = valueOrDefault(legendItem.strokeStyle, defaultColor);\n ctx.setLineDash(valueOrDefault(legendItem.lineDash, []));\n if (labelOpts.usePointStyle) {\n const drawOptions = {\n radius: boxHeight * Math.SQRT2 / 2,\n pointStyle: legendItem.pointStyle,\n rotation: legendItem.rotation,\n borderWidth: lineWidth\n };\n const centerX = rtlHelper.xPlus(x, boxWidth / 2);\n const centerY = y + halfFontSize;\n drawPointLegend(ctx, drawOptions, centerX, centerY, labelOpts.pointStyleWidth && boxWidth);\n } else {\n const yBoxTop = y + Math.max((fontSize - boxHeight) / 2, 0);\n const xBoxLeft = rtlHelper.leftForLtr(x, boxWidth);\n const borderRadius = toTRBLCorners(legendItem.borderRadius);\n ctx.beginPath();\n if (Object.values(borderRadius).some(v => v !== 0)) {\n addRoundedRectPath(ctx, {\n x: xBoxLeft,\n y: yBoxTop,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius,\n });\n } else {\n ctx.rect(xBoxLeft, yBoxTop, boxWidth, boxHeight);\n }\n ctx.fill();\n if (lineWidth !== 0) {\n ctx.stroke();\n }\n }\n ctx.restore();\n };\n const fillText = function(x, y, legendItem) {\n renderText(ctx, legendItem.text, x, y + (itemHeight / 2), labelFont, {\n strikethrough: legendItem.hidden,\n textAlign: rtlHelper.textAlign(legendItem.textAlign)\n });\n };\n const isHorizontal = this.isHorizontal();\n const titleHeight = this._computeTitleHeight();\n if (isHorizontal) {\n cursor = {\n x: _alignStartEnd(align, this.left + padding, this.right - lineWidths[0]),\n y: this.top + padding + titleHeight,\n line: 0\n };\n } else {\n cursor = {\n x: this.left + padding,\n y: _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[0].height),\n line: 0\n };\n }\n overrideTextDirection(this.ctx, opts.textDirection);\n const lineHeight = itemHeight + padding;\n this.legendItems.forEach((legendItem, i) => {\n ctx.strokeStyle = legendItem.fontColor || fontColor;\n ctx.fillStyle = legendItem.fontColor || fontColor;\n const textWidth = ctx.measureText(legendItem.text).width;\n const textAlign = rtlHelper.textAlign(legendItem.textAlign || (legendItem.textAlign = labelOpts.textAlign));\n const width = boxWidth + halfFontSize + textWidth;\n let x = cursor.x;\n let y = cursor.y;\n rtlHelper.setWidth(this.width);\n if (isHorizontal) {\n if (i > 0 && x + width + padding > this.right) {\n y = cursor.y += lineHeight;\n cursor.line++;\n x = cursor.x = _alignStartEnd(align, this.left + padding, this.right - lineWidths[cursor.line]);\n }\n } else if (i > 0 && y + lineHeight > this.bottom) {\n x = cursor.x = x + columnSizes[cursor.line].width + padding;\n cursor.line++;\n y = cursor.y = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[cursor.line].height);\n }\n const realX = rtlHelper.x(x);\n drawLegendBox(realX, y, legendItem);\n x = _textX(textAlign, x + boxWidth + halfFontSize, isHorizontal ? x + width : this.right, opts.rtl);\n fillText(rtlHelper.x(x), y, legendItem);\n if (isHorizontal) {\n cursor.x += width + padding;\n } else {\n cursor.y += lineHeight;\n }\n });\n restoreTextDirection(this.ctx, opts.textDirection);\n }\n drawTitle() {\n const opts = this.options;\n const titleOpts = opts.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n if (!titleOpts.display) {\n return;\n }\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const ctx = this.ctx;\n const position = titleOpts.position;\n const halfFontSize = titleFont.size / 2;\n const topPaddingPlusHalfFontSize = titlePadding.top + halfFontSize;\n let y;\n let left = this.left;\n let maxWidth = this.width;\n if (this.isHorizontal()) {\n maxWidth = Math.max(...this.lineWidths);\n y = this.top + topPaddingPlusHalfFontSize;\n left = _alignStartEnd(opts.align, left, this.right - maxWidth);\n } else {\n const maxHeight = this.columnSizes.reduce((acc, size) => Math.max(acc, size.height), 0);\n y = topPaddingPlusHalfFontSize + _alignStartEnd(opts.align, this.top, this.bottom - maxHeight - opts.labels.padding - this._computeTitleHeight());\n }\n const x = _alignStartEnd(position, left, left + maxWidth);\n ctx.textAlign = rtlHelper.textAlign(_toLeftRightCenter(position));\n ctx.textBaseline = 'middle';\n ctx.strokeStyle = titleOpts.color;\n ctx.fillStyle = titleOpts.color;\n ctx.font = titleFont.string;\n renderText(ctx, titleOpts.text, x, y, titleFont);\n }\n _computeTitleHeight() {\n const titleOpts = this.options.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n return titleOpts.display ? titleFont.lineHeight + titlePadding.height : 0;\n }\n _getLegendItemAt(x, y) {\n let i, hitBox, lh;\n if (_isBetween(x, this.left, this.right)\n && _isBetween(y, this.top, this.bottom)) {\n lh = this.legendHitBoxes;\n for (i = 0; i < lh.length; ++i) {\n hitBox = lh[i];\n if (_isBetween(x, hitBox.left, hitBox.left + hitBox.width)\n && _isBetween(y, hitBox.top, hitBox.top + hitBox.height)) {\n return this.legendItems[i];\n }\n }\n }\n return null;\n }\n handleEvent(e) {\n const opts = this.options;\n if (!isListened(e.type, opts)) {\n return;\n }\n const hoveredItem = this._getLegendItemAt(e.x, e.y);\n if (e.type === 'mousemove' || e.type === 'mouseout') {\n const previous = this._hoveredItem;\n const sameItem = itemsEqual(previous, hoveredItem);\n if (previous && !sameItem) {\n callback(opts.onLeave, [e, previous, this], this);\n }\n this._hoveredItem = hoveredItem;\n if (hoveredItem && !sameItem) {\n callback(opts.onHover, [e, hoveredItem, this], this);\n }\n } else if (hoveredItem) {\n callback(opts.onClick, [e, hoveredItem, this], this);\n }\n }\n}\nfunction isListened(type, opts) {\n if ((type === 'mousemove' || type === 'mouseout') && (opts.onHover || opts.onLeave)) {\n return true;\n }\n if (opts.onClick && (type === 'click' || type === 'mouseup')) {\n return true;\n }\n return false;\n}\nvar plugin_legend = {\n id: 'legend',\n _element: Legend,\n start(chart, _args, options) {\n const legend = chart.legend = new Legend({ctx: chart.ctx, options, chart});\n layouts.configure(chart, legend, options);\n layouts.addBox(chart, legend);\n },\n stop(chart) {\n layouts.removeBox(chart, chart.legend);\n delete chart.legend;\n },\n beforeUpdate(chart, _args, options) {\n const legend = chart.legend;\n layouts.configure(chart, legend, options);\n legend.options = options;\n },\n afterUpdate(chart) {\n const legend = chart.legend;\n legend.buildLabels();\n legend.adjustHitBoxes();\n },\n afterEvent(chart, args) {\n if (!args.replay) {\n chart.legend.handleEvent(args.event);\n }\n },\n defaults: {\n display: true,\n position: 'top',\n align: 'center',\n fullSize: true,\n reverse: false,\n weight: 1000,\n onClick(e, legendItem, legend) {\n const index = legendItem.datasetIndex;\n const ci = legend.chart;\n if (ci.isDatasetVisible(index)) {\n ci.hide(index);\n legendItem.hidden = true;\n } else {\n ci.show(index);\n legendItem.hidden = false;\n }\n },\n onHover: null,\n onLeave: null,\n labels: {\n color: (ctx) => ctx.chart.options.color,\n boxWidth: 40,\n padding: 10,\n generateLabels(chart) {\n const datasets = chart.data.datasets;\n const {labels: {usePointStyle, pointStyle, textAlign, color}} = chart.legend.options;\n return chart._getSortedDatasetMetas().map((meta) => {\n const style = meta.controller.getStyle(usePointStyle ? 0 : undefined);\n const borderWidth = toPadding(style.borderWidth);\n return {\n text: datasets[meta.index].label,\n fillStyle: style.backgroundColor,\n fontColor: color,\n hidden: !meta.visible,\n lineCap: style.borderCapStyle,\n lineDash: style.borderDash,\n lineDashOffset: style.borderDashOffset,\n lineJoin: style.borderJoinStyle,\n lineWidth: (borderWidth.width + borderWidth.height) / 4,\n strokeStyle: style.borderColor,\n pointStyle: pointStyle || style.pointStyle,\n rotation: style.rotation,\n textAlign: textAlign || style.textAlign,\n borderRadius: 0,\n datasetIndex: meta.index\n };\n }, this);\n }\n },\n title: {\n color: (ctx) => ctx.chart.options.color,\n display: false,\n position: 'center',\n text: '',\n }\n },\n descriptors: {\n _scriptable: (name) => !name.startsWith('on'),\n labels: {\n _scriptable: (name) => !['generateLabels', 'filter', 'sort'].includes(name),\n }\n },\n};\n\nclass Title extends Element {\n constructor(config) {\n super();\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this._padding = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight) {\n const opts = this.options;\n this.left = 0;\n this.top = 0;\n if (!opts.display) {\n this.width = this.height = this.right = this.bottom = 0;\n return;\n }\n this.width = this.right = maxWidth;\n this.height = this.bottom = maxHeight;\n const lineCount = isArray(opts.text) ? opts.text.length : 1;\n this._padding = toPadding(opts.padding);\n const textSize = lineCount * toFont(opts.font).lineHeight + this._padding.height;\n if (this.isHorizontal()) {\n this.height = textSize;\n } else {\n this.width = textSize;\n }\n }\n isHorizontal() {\n const pos = this.options.position;\n return pos === 'top' || pos === 'bottom';\n }\n _drawArgs(offset) {\n const {top, left, bottom, right, options} = this;\n const align = options.align;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n if (this.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n titleY = top + offset;\n maxWidth = right - left;\n } else {\n if (options.position === 'left') {\n titleX = left + offset;\n titleY = _alignStartEnd(align, bottom, top);\n rotation = PI * -0.5;\n } else {\n titleX = right - offset;\n titleY = _alignStartEnd(align, top, bottom);\n rotation = PI * 0.5;\n }\n maxWidth = bottom - top;\n }\n return {titleX, titleY, maxWidth, rotation};\n }\n draw() {\n const ctx = this.ctx;\n const opts = this.options;\n if (!opts.display) {\n return;\n }\n const fontOpts = toFont(opts.font);\n const lineHeight = fontOpts.lineHeight;\n const offset = lineHeight / 2 + this._padding.top;\n const {titleX, titleY, maxWidth, rotation} = this._drawArgs(offset);\n renderText(ctx, opts.text, 0, 0, fontOpts, {\n color: opts.color,\n maxWidth,\n rotation,\n textAlign: _toLeftRightCenter(opts.align),\n textBaseline: 'middle',\n translation: [titleX, titleY],\n });\n }\n}\nfunction createTitle(chart, titleOpts) {\n const title = new Title({\n ctx: chart.ctx,\n options: titleOpts,\n chart\n });\n layouts.configure(chart, title, titleOpts);\n layouts.addBox(chart, title);\n chart.titleBlock = title;\n}\nvar plugin_title = {\n id: 'title',\n _element: Title,\n start(chart, _args, options) {\n createTitle(chart, options);\n },\n stop(chart) {\n const titleBlock = chart.titleBlock;\n layouts.removeBox(chart, titleBlock);\n delete chart.titleBlock;\n },\n beforeUpdate(chart, _args, options) {\n const title = chart.titleBlock;\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'bold',\n },\n fullSize: true,\n padding: 10,\n position: 'top',\n text: '',\n weight: 2000\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false,\n },\n};\n\nconst map = new WeakMap();\nvar plugin_subtitle = {\n id: 'subtitle',\n start(chart, _args, options) {\n const title = new Title({\n ctx: chart.ctx,\n options,\n chart\n });\n layouts.configure(chart, title, options);\n layouts.addBox(chart, title);\n map.set(chart, title);\n },\n stop(chart) {\n layouts.removeBox(chart, map.get(chart));\n map.delete(chart);\n },\n beforeUpdate(chart, _args, options) {\n const title = map.get(chart);\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'normal',\n },\n fullSize: true,\n padding: 0,\n position: 'top',\n text: '',\n weight: 1500\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false,\n },\n};\n\nconst positioners = {\n average(items) {\n if (!items.length) {\n return false;\n }\n let i, len;\n let x = 0;\n let y = 0;\n let count = 0;\n for (i = 0, len = items.length; i < len; ++i) {\n const el = items[i].element;\n if (el && el.hasValue()) {\n const pos = el.tooltipPosition();\n x += pos.x;\n y += pos.y;\n ++count;\n }\n }\n return {\n x: x / count,\n y: y / count\n };\n },\n nearest(items, eventPosition) {\n if (!items.length) {\n return false;\n }\n let x = eventPosition.x;\n let y = eventPosition.y;\n let minDistance = Number.POSITIVE_INFINITY;\n let i, len, nearestElement;\n for (i = 0, len = items.length; i < len; ++i) {\n const el = items[i].element;\n if (el && el.hasValue()) {\n const center = el.getCenterPoint();\n const d = distanceBetweenPoints(eventPosition, center);\n if (d < minDistance) {\n minDistance = d;\n nearestElement = el;\n }\n }\n }\n if (nearestElement) {\n const tp = nearestElement.tooltipPosition();\n x = tp.x;\n y = tp.y;\n }\n return {\n x,\n y\n };\n }\n};\nfunction pushOrConcat(base, toPush) {\n if (toPush) {\n if (isArray(toPush)) {\n Array.prototype.push.apply(base, toPush);\n } else {\n base.push(toPush);\n }\n }\n return base;\n}\nfunction splitNewlines(str) {\n if ((typeof str === 'string' || str instanceof String) && str.indexOf('\\n') > -1) {\n return str.split('\\n');\n }\n return str;\n}\nfunction createTooltipItem(chart, item) {\n const {element, datasetIndex, index} = item;\n const controller = chart.getDatasetMeta(datasetIndex).controller;\n const {label, value} = controller.getLabelAndValue(index);\n return {\n chart,\n label,\n parsed: controller.getParsed(index),\n raw: chart.data.datasets[datasetIndex].data[index],\n formattedValue: value,\n dataset: controller.getDataset(),\n dataIndex: index,\n datasetIndex,\n element\n };\n}\nfunction getTooltipSize(tooltip, options) {\n const ctx = tooltip.chart.ctx;\n const {body, footer, title} = tooltip;\n const {boxWidth, boxHeight} = options;\n const bodyFont = toFont(options.bodyFont);\n const titleFont = toFont(options.titleFont);\n const footerFont = toFont(options.footerFont);\n const titleLineCount = title.length;\n const footerLineCount = footer.length;\n const bodyLineItemCount = body.length;\n const padding = toPadding(options.padding);\n let height = padding.height;\n let width = 0;\n let combinedBodyLength = body.reduce((count, bodyItem) => count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length, 0);\n combinedBodyLength += tooltip.beforeBody.length + tooltip.afterBody.length;\n if (titleLineCount) {\n height += titleLineCount * titleFont.lineHeight\n\t\t\t+ (titleLineCount - 1) * options.titleSpacing\n\t\t\t+ options.titleMarginBottom;\n }\n if (combinedBodyLength) {\n const bodyLineHeight = options.displayColors ? Math.max(boxHeight, bodyFont.lineHeight) : bodyFont.lineHeight;\n height += bodyLineItemCount * bodyLineHeight\n\t\t\t+ (combinedBodyLength - bodyLineItemCount) * bodyFont.lineHeight\n\t\t\t+ (combinedBodyLength - 1) * options.bodySpacing;\n }\n if (footerLineCount) {\n height += options.footerMarginTop\n\t\t\t+ footerLineCount * footerFont.lineHeight\n\t\t\t+ (footerLineCount - 1) * options.footerSpacing;\n }\n let widthPadding = 0;\n const maxLineWidth = function(line) {\n width = Math.max(width, ctx.measureText(line).width + widthPadding);\n };\n ctx.save();\n ctx.font = titleFont.string;\n each(tooltip.title, maxLineWidth);\n ctx.font = bodyFont.string;\n each(tooltip.beforeBody.concat(tooltip.afterBody), maxLineWidth);\n widthPadding = options.displayColors ? (boxWidth + 2 + options.boxPadding) : 0;\n each(body, (bodyItem) => {\n each(bodyItem.before, maxLineWidth);\n each(bodyItem.lines, maxLineWidth);\n each(bodyItem.after, maxLineWidth);\n });\n widthPadding = 0;\n ctx.font = footerFont.string;\n each(tooltip.footer, maxLineWidth);\n ctx.restore();\n width += padding.width;\n return {width, height};\n}\nfunction determineYAlign(chart, size) {\n const {y, height} = size;\n if (y < height / 2) {\n return 'top';\n } else if (y > (chart.height - height / 2)) {\n return 'bottom';\n }\n return 'center';\n}\nfunction doesNotFitWithAlign(xAlign, chart, options, size) {\n const {x, width} = size;\n const caret = options.caretSize + options.caretPadding;\n if (xAlign === 'left' && x + width + caret > chart.width) {\n return true;\n }\n if (xAlign === 'right' && x - width - caret < 0) {\n return true;\n }\n}\nfunction determineXAlign(chart, options, size, yAlign) {\n const {x, width} = size;\n const {width: chartWidth, chartArea: {left, right}} = chart;\n let xAlign = 'center';\n if (yAlign === 'center') {\n xAlign = x <= (left + right) / 2 ? 'left' : 'right';\n } else if (x <= width / 2) {\n xAlign = 'left';\n } else if (x >= chartWidth - width / 2) {\n xAlign = 'right';\n }\n if (doesNotFitWithAlign(xAlign, chart, options, size)) {\n xAlign = 'center';\n }\n return xAlign;\n}\nfunction determineAlignment(chart, options, size) {\n const yAlign = size.yAlign || options.yAlign || determineYAlign(chart, size);\n return {\n xAlign: size.xAlign || options.xAlign || determineXAlign(chart, options, size, yAlign),\n yAlign\n };\n}\nfunction alignX(size, xAlign) {\n let {x, width} = size;\n if (xAlign === 'right') {\n x -= width;\n } else if (xAlign === 'center') {\n x -= (width / 2);\n }\n return x;\n}\nfunction alignY(size, yAlign, paddingAndSize) {\n let {y, height} = size;\n if (yAlign === 'top') {\n y += paddingAndSize;\n } else if (yAlign === 'bottom') {\n y -= height + paddingAndSize;\n } else {\n y -= (height / 2);\n }\n return y;\n}\nfunction getBackgroundPoint(options, size, alignment, chart) {\n const {caretSize, caretPadding, cornerRadius} = options;\n const {xAlign, yAlign} = alignment;\n const paddingAndSize = caretSize + caretPadding;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius);\n let x = alignX(size, xAlign);\n const y = alignY(size, yAlign, paddingAndSize);\n if (yAlign === 'center') {\n if (xAlign === 'left') {\n x += paddingAndSize;\n } else if (xAlign === 'right') {\n x -= paddingAndSize;\n }\n } else if (xAlign === 'left') {\n x -= Math.max(topLeft, bottomLeft) + caretSize;\n } else if (xAlign === 'right') {\n x += Math.max(topRight, bottomRight) + caretSize;\n }\n return {\n x: _limitValue(x, 0, chart.width - size.width),\n y: _limitValue(y, 0, chart.height - size.height)\n };\n}\nfunction getAlignedX(tooltip, align, options) {\n const padding = toPadding(options.padding);\n return align === 'center'\n ? tooltip.x + tooltip.width / 2\n : align === 'right'\n ? tooltip.x + tooltip.width - padding.right\n : tooltip.x + padding.left;\n}\nfunction getBeforeAfterBodyLines(callback) {\n return pushOrConcat([], splitNewlines(callback));\n}\nfunction createTooltipContext(parent, tooltip, tooltipItems) {\n return createContext(parent, {\n tooltip,\n tooltipItems,\n type: 'tooltip'\n });\n}\nfunction overrideCallbacks(callbacks, context) {\n const override = context && context.dataset && context.dataset.tooltip && context.dataset.tooltip.callbacks;\n return override ? callbacks.override(override) : callbacks;\n}\nclass Tooltip extends Element {\n constructor(config) {\n super();\n this.opacity = 0;\n this._active = [];\n this._eventPosition = undefined;\n this._size = undefined;\n this._cachedAnimations = undefined;\n this._tooltipItems = [];\n this.$animations = undefined;\n this.$context = undefined;\n this.chart = config.chart || config._chart;\n this._chart = this.chart;\n this.options = config.options;\n this.dataPoints = undefined;\n this.title = undefined;\n this.beforeBody = undefined;\n this.body = undefined;\n this.afterBody = undefined;\n this.footer = undefined;\n this.xAlign = undefined;\n this.yAlign = undefined;\n this.x = undefined;\n this.y = undefined;\n this.height = undefined;\n this.width = undefined;\n this.caretX = undefined;\n this.caretY = undefined;\n this.labelColors = undefined;\n this.labelPointStyles = undefined;\n this.labelTextColors = undefined;\n }\n initialize(options) {\n this.options = options;\n this._cachedAnimations = undefined;\n this.$context = undefined;\n }\n _resolveAnimations() {\n const cached = this._cachedAnimations;\n if (cached) {\n return cached;\n }\n const chart = this.chart;\n const options = this.options.setContext(this.getContext());\n const opts = options.enabled && chart.options.animation && options.animations;\n const animations = new Animations(this.chart, opts);\n if (opts._cacheable) {\n this._cachedAnimations = Object.freeze(animations);\n }\n return animations;\n }\n getContext() {\n return this.$context ||\n\t\t\t(this.$context = createTooltipContext(this.chart.getContext(), this, this._tooltipItems));\n }\n getTitle(context, options) {\n const {callbacks} = options;\n const beforeTitle = callbacks.beforeTitle.apply(this, [context]);\n const title = callbacks.title.apply(this, [context]);\n const afterTitle = callbacks.afterTitle.apply(this, [context]);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeTitle));\n lines = pushOrConcat(lines, splitNewlines(title));\n lines = pushOrConcat(lines, splitNewlines(afterTitle));\n return lines;\n }\n getBeforeBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(options.callbacks.beforeBody.apply(this, [tooltipItems]));\n }\n getBody(tooltipItems, options) {\n const {callbacks} = options;\n const bodyItems = [];\n each(tooltipItems, (context) => {\n const bodyItem = {\n before: [],\n lines: [],\n after: []\n };\n const scoped = overrideCallbacks(callbacks, context);\n pushOrConcat(bodyItem.before, splitNewlines(scoped.beforeLabel.call(this, context)));\n pushOrConcat(bodyItem.lines, scoped.label.call(this, context));\n pushOrConcat(bodyItem.after, splitNewlines(scoped.afterLabel.call(this, context)));\n bodyItems.push(bodyItem);\n });\n return bodyItems;\n }\n getAfterBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(options.callbacks.afterBody.apply(this, [tooltipItems]));\n }\n getFooter(tooltipItems, options) {\n const {callbacks} = options;\n const beforeFooter = callbacks.beforeFooter.apply(this, [tooltipItems]);\n const footer = callbacks.footer.apply(this, [tooltipItems]);\n const afterFooter = callbacks.afterFooter.apply(this, [tooltipItems]);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeFooter));\n lines = pushOrConcat(lines, splitNewlines(footer));\n lines = pushOrConcat(lines, splitNewlines(afterFooter));\n return lines;\n }\n _createItems(options) {\n const active = this._active;\n const data = this.chart.data;\n const labelColors = [];\n const labelPointStyles = [];\n const labelTextColors = [];\n let tooltipItems = [];\n let i, len;\n for (i = 0, len = active.length; i < len; ++i) {\n tooltipItems.push(createTooltipItem(this.chart, active[i]));\n }\n if (options.filter) {\n tooltipItems = tooltipItems.filter((element, index, array) => options.filter(element, index, array, data));\n }\n if (options.itemSort) {\n tooltipItems = tooltipItems.sort((a, b) => options.itemSort(a, b, data));\n }\n each(tooltipItems, (context) => {\n const scoped = overrideCallbacks(options.callbacks, context);\n labelColors.push(scoped.labelColor.call(this, context));\n labelPointStyles.push(scoped.labelPointStyle.call(this, context));\n labelTextColors.push(scoped.labelTextColor.call(this, context));\n });\n this.labelColors = labelColors;\n this.labelPointStyles = labelPointStyles;\n this.labelTextColors = labelTextColors;\n this.dataPoints = tooltipItems;\n return tooltipItems;\n }\n update(changed, replay) {\n const options = this.options.setContext(this.getContext());\n const active = this._active;\n let properties;\n let tooltipItems = [];\n if (!active.length) {\n if (this.opacity !== 0) {\n properties = {\n opacity: 0\n };\n }\n } else {\n const position = positioners[options.position].call(this, active, this._eventPosition);\n tooltipItems = this._createItems(options);\n this.title = this.getTitle(tooltipItems, options);\n this.beforeBody = this.getBeforeBody(tooltipItems, options);\n this.body = this.getBody(tooltipItems, options);\n this.afterBody = this.getAfterBody(tooltipItems, options);\n this.footer = this.getFooter(tooltipItems, options);\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, size);\n const alignment = determineAlignment(this.chart, options, positionAndSize);\n const backgroundPoint = getBackgroundPoint(options, positionAndSize, alignment, this.chart);\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n properties = {\n opacity: 1,\n x: backgroundPoint.x,\n y: backgroundPoint.y,\n width: size.width,\n height: size.height,\n caretX: position.x,\n caretY: position.y\n };\n }\n this._tooltipItems = tooltipItems;\n this.$context = undefined;\n if (properties) {\n this._resolveAnimations().update(this, properties);\n }\n if (changed && options.external) {\n options.external.call(this, {chart: this.chart, tooltip: this, replay});\n }\n }\n drawCaret(tooltipPoint, ctx, size, options) {\n const caretPosition = this.getCaretPosition(tooltipPoint, size, options);\n ctx.lineTo(caretPosition.x1, caretPosition.y1);\n ctx.lineTo(caretPosition.x2, caretPosition.y2);\n ctx.lineTo(caretPosition.x3, caretPosition.y3);\n }\n getCaretPosition(tooltipPoint, size, options) {\n const {xAlign, yAlign} = this;\n const {caretSize, cornerRadius} = options;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius);\n const {x: ptX, y: ptY} = tooltipPoint;\n const {width, height} = size;\n let x1, x2, x3, y1, y2, y3;\n if (yAlign === 'center') {\n y2 = ptY + (height / 2);\n if (xAlign === 'left') {\n x1 = ptX;\n x2 = x1 - caretSize;\n y1 = y2 + caretSize;\n y3 = y2 - caretSize;\n } else {\n x1 = ptX + width;\n x2 = x1 + caretSize;\n y1 = y2 - caretSize;\n y3 = y2 + caretSize;\n }\n x3 = x1;\n } else {\n if (xAlign === 'left') {\n x2 = ptX + Math.max(topLeft, bottomLeft) + (caretSize);\n } else if (xAlign === 'right') {\n x2 = ptX + width - Math.max(topRight, bottomRight) - caretSize;\n } else {\n x2 = this.caretX;\n }\n if (yAlign === 'top') {\n y1 = ptY;\n y2 = y1 - caretSize;\n x1 = x2 - caretSize;\n x3 = x2 + caretSize;\n } else {\n y1 = ptY + height;\n y2 = y1 + caretSize;\n x1 = x2 + caretSize;\n x3 = x2 - caretSize;\n }\n y3 = y1;\n }\n return {x1, x2, x3, y1, y2, y3};\n }\n drawTitle(pt, ctx, options) {\n const title = this.title;\n const length = title.length;\n let titleFont, titleSpacing, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.titleAlign, options);\n ctx.textAlign = rtlHelper.textAlign(options.titleAlign);\n ctx.textBaseline = 'middle';\n titleFont = toFont(options.titleFont);\n titleSpacing = options.titleSpacing;\n ctx.fillStyle = options.titleColor;\n ctx.font = titleFont.string;\n for (i = 0; i < length; ++i) {\n ctx.fillText(title[i], rtlHelper.x(pt.x), pt.y + titleFont.lineHeight / 2);\n pt.y += titleFont.lineHeight + titleSpacing;\n if (i + 1 === length) {\n pt.y += options.titleMarginBottom - titleSpacing;\n }\n }\n }\n }\n _drawColorBox(ctx, pt, i, rtlHelper, options) {\n const labelColors = this.labelColors[i];\n const labelPointStyle = this.labelPointStyles[i];\n const {boxHeight, boxWidth, boxPadding} = options;\n const bodyFont = toFont(options.bodyFont);\n const colorX = getAlignedX(this, 'left', options);\n const rtlColorX = rtlHelper.x(colorX);\n const yOffSet = boxHeight < bodyFont.lineHeight ? (bodyFont.lineHeight - boxHeight) / 2 : 0;\n const colorY = pt.y + yOffSet;\n if (options.usePointStyle) {\n const drawOptions = {\n radius: Math.min(boxWidth, boxHeight) / 2,\n pointStyle: labelPointStyle.pointStyle,\n rotation: labelPointStyle.rotation,\n borderWidth: 1\n };\n const centerX = rtlHelper.leftForLtr(rtlColorX, boxWidth) + boxWidth / 2;\n const centerY = colorY + boxHeight / 2;\n ctx.strokeStyle = options.multiKeyBackground;\n ctx.fillStyle = options.multiKeyBackground;\n drawPoint(ctx, drawOptions, centerX, centerY);\n ctx.strokeStyle = labelColors.borderColor;\n ctx.fillStyle = labelColors.backgroundColor;\n drawPoint(ctx, drawOptions, centerX, centerY);\n } else {\n ctx.lineWidth = isObject(labelColors.borderWidth) ? Math.max(...Object.values(labelColors.borderWidth)) : (labelColors.borderWidth || 1);\n ctx.strokeStyle = labelColors.borderColor;\n ctx.setLineDash(labelColors.borderDash || []);\n ctx.lineDashOffset = labelColors.borderDashOffset || 0;\n const outerX = rtlHelper.leftForLtr(rtlColorX, boxWidth - boxPadding);\n const innerX = rtlHelper.leftForLtr(rtlHelper.xPlus(rtlColorX, 1), boxWidth - boxPadding - 2);\n const borderRadius = toTRBLCorners(labelColors.borderRadius);\n if (Object.values(borderRadius).some(v => v !== 0)) {\n ctx.beginPath();\n ctx.fillStyle = options.multiKeyBackground;\n addRoundedRectPath(ctx, {\n x: outerX,\n y: colorY,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius,\n });\n ctx.fill();\n ctx.stroke();\n ctx.fillStyle = labelColors.backgroundColor;\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: innerX,\n y: colorY + 1,\n w: boxWidth - 2,\n h: boxHeight - 2,\n radius: borderRadius,\n });\n ctx.fill();\n } else {\n ctx.fillStyle = options.multiKeyBackground;\n ctx.fillRect(outerX, colorY, boxWidth, boxHeight);\n ctx.strokeRect(outerX, colorY, boxWidth, boxHeight);\n ctx.fillStyle = labelColors.backgroundColor;\n ctx.fillRect(innerX, colorY + 1, boxWidth - 2, boxHeight - 2);\n }\n }\n ctx.fillStyle = this.labelTextColors[i];\n }\n drawBody(pt, ctx, options) {\n const {body} = this;\n const {bodySpacing, bodyAlign, displayColors, boxHeight, boxWidth, boxPadding} = options;\n const bodyFont = toFont(options.bodyFont);\n let bodyLineHeight = bodyFont.lineHeight;\n let xLinePadding = 0;\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n const fillLineOfText = function(line) {\n ctx.fillText(line, rtlHelper.x(pt.x + xLinePadding), pt.y + bodyLineHeight / 2);\n pt.y += bodyLineHeight + bodySpacing;\n };\n const bodyAlignForCalculation = rtlHelper.textAlign(bodyAlign);\n let bodyItem, textColor, lines, i, j, ilen, jlen;\n ctx.textAlign = bodyAlign;\n ctx.textBaseline = 'middle';\n ctx.font = bodyFont.string;\n pt.x = getAlignedX(this, bodyAlignForCalculation, options);\n ctx.fillStyle = options.bodyColor;\n each(this.beforeBody, fillLineOfText);\n xLinePadding = displayColors && bodyAlignForCalculation !== 'right'\n ? bodyAlign === 'center' ? (boxWidth / 2 + boxPadding) : (boxWidth + 2 + boxPadding)\n : 0;\n for (i = 0, ilen = body.length; i < ilen; ++i) {\n bodyItem = body[i];\n textColor = this.labelTextColors[i];\n ctx.fillStyle = textColor;\n each(bodyItem.before, fillLineOfText);\n lines = bodyItem.lines;\n if (displayColors && lines.length) {\n this._drawColorBox(ctx, pt, i, rtlHelper, options);\n bodyLineHeight = Math.max(bodyFont.lineHeight, boxHeight);\n }\n for (j = 0, jlen = lines.length; j < jlen; ++j) {\n fillLineOfText(lines[j]);\n bodyLineHeight = bodyFont.lineHeight;\n }\n each(bodyItem.after, fillLineOfText);\n }\n xLinePadding = 0;\n bodyLineHeight = bodyFont.lineHeight;\n each(this.afterBody, fillLineOfText);\n pt.y -= bodySpacing;\n }\n drawFooter(pt, ctx, options) {\n const footer = this.footer;\n const length = footer.length;\n let footerFont, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.footerAlign, options);\n pt.y += options.footerMarginTop;\n ctx.textAlign = rtlHelper.textAlign(options.footerAlign);\n ctx.textBaseline = 'middle';\n footerFont = toFont(options.footerFont);\n ctx.fillStyle = options.footerColor;\n ctx.font = footerFont.string;\n for (i = 0; i < length; ++i) {\n ctx.fillText(footer[i], rtlHelper.x(pt.x), pt.y + footerFont.lineHeight / 2);\n pt.y += footerFont.lineHeight + options.footerSpacing;\n }\n }\n }\n drawBackground(pt, ctx, tooltipSize, options) {\n const {xAlign, yAlign} = this;\n const {x, y} = pt;\n const {width, height} = tooltipSize;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(options.cornerRadius);\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.beginPath();\n ctx.moveTo(x + topLeft, y);\n if (yAlign === 'top') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width - topRight, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + topRight);\n if (yAlign === 'center' && xAlign === 'right') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width, y + height - bottomRight);\n ctx.quadraticCurveTo(x + width, y + height, x + width - bottomRight, y + height);\n if (yAlign === 'bottom') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + bottomLeft, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - bottomLeft);\n if (yAlign === 'center' && xAlign === 'left') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x, y + topLeft);\n ctx.quadraticCurveTo(x, y, x + topLeft, y);\n ctx.closePath();\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n }\n _updateAnimationTarget(options) {\n const chart = this.chart;\n const anims = this.$animations;\n const animX = anims && anims.x;\n const animY = anims && anims.y;\n if (animX || animY) {\n const position = positioners[options.position].call(this, this._active, this._eventPosition);\n if (!position) {\n return;\n }\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, this._size);\n const alignment = determineAlignment(chart, options, positionAndSize);\n const point = getBackgroundPoint(options, positionAndSize, alignment, chart);\n if (animX._to !== point.x || animY._to !== point.y) {\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n this.width = size.width;\n this.height = size.height;\n this.caretX = position.x;\n this.caretY = position.y;\n this._resolveAnimations().update(this, point);\n }\n }\n }\n _willRender() {\n return !!this.opacity;\n }\n draw(ctx) {\n const options = this.options.setContext(this.getContext());\n let opacity = this.opacity;\n if (!opacity) {\n return;\n }\n this._updateAnimationTarget(options);\n const tooltipSize = {\n width: this.width,\n height: this.height\n };\n const pt = {\n x: this.x,\n y: this.y\n };\n opacity = Math.abs(opacity) < 1e-3 ? 0 : opacity;\n const padding = toPadding(options.padding);\n const hasTooltipContent = this.title.length || this.beforeBody.length || this.body.length || this.afterBody.length || this.footer.length;\n if (options.enabled && hasTooltipContent) {\n ctx.save();\n ctx.globalAlpha = opacity;\n this.drawBackground(pt, ctx, tooltipSize, options);\n overrideTextDirection(ctx, options.textDirection);\n pt.y += padding.top;\n this.drawTitle(pt, ctx, options);\n this.drawBody(pt, ctx, options);\n this.drawFooter(pt, ctx, options);\n restoreTextDirection(ctx, options.textDirection);\n ctx.restore();\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements, eventPosition) {\n const lastActive = this._active;\n const active = activeElements.map(({datasetIndex, index}) => {\n const meta = this.chart.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('Cannot find a dataset at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index,\n };\n });\n const changed = !_elementsEqual(lastActive, active);\n const positionChanged = this._positionChanged(active, eventPosition);\n if (changed || positionChanged) {\n this._active = active;\n this._eventPosition = eventPosition;\n this._ignoreReplayEvents = true;\n this.update(true);\n }\n }\n handleEvent(e, replay, inChartArea = true) {\n if (replay && this._ignoreReplayEvents) {\n return false;\n }\n this._ignoreReplayEvents = false;\n const options = this.options;\n const lastActive = this._active || [];\n const active = this._getActiveElements(e, lastActive, replay, inChartArea);\n const positionChanged = this._positionChanged(active, e);\n const changed = replay || !_elementsEqual(active, lastActive) || positionChanged;\n if (changed) {\n this._active = active;\n if (options.enabled || options.external) {\n this._eventPosition = {\n x: e.x,\n y: e.y\n };\n this.update(true, replay);\n }\n }\n return changed;\n }\n _getActiveElements(e, lastActive, replay, inChartArea) {\n const options = this.options;\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive;\n }\n const active = this.chart.getElementsAtEventForMode(e, options.mode, options, replay);\n if (options.reverse) {\n active.reverse();\n }\n return active;\n }\n _positionChanged(active, e) {\n const {caretX, caretY, options} = this;\n const position = positioners[options.position].call(this, active, e);\n return position !== false && (caretX !== position.x || caretY !== position.y);\n }\n}\nTooltip.positioners = positioners;\nvar plugin_tooltip = {\n id: 'tooltip',\n _element: Tooltip,\n positioners,\n afterInit(chart, _args, options) {\n if (options) {\n chart.tooltip = new Tooltip({chart, options});\n }\n },\n beforeUpdate(chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n reset(chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n afterDraw(chart) {\n const tooltip = chart.tooltip;\n if (tooltip && tooltip._willRender()) {\n const args = {\n tooltip\n };\n if (chart.notifyPlugins('beforeTooltipDraw', args) === false) {\n return;\n }\n tooltip.draw(chart.ctx);\n chart.notifyPlugins('afterTooltipDraw', args);\n }\n },\n afterEvent(chart, args) {\n if (chart.tooltip) {\n const useFinalPosition = args.replay;\n if (chart.tooltip.handleEvent(args.event, useFinalPosition, args.inChartArea)) {\n args.changed = true;\n }\n }\n },\n defaults: {\n enabled: true,\n external: null,\n position: 'average',\n backgroundColor: 'rgba(0,0,0,0.8)',\n titleColor: '#fff',\n titleFont: {\n weight: 'bold',\n },\n titleSpacing: 2,\n titleMarginBottom: 6,\n titleAlign: 'left',\n bodyColor: '#fff',\n bodySpacing: 2,\n bodyFont: {\n },\n bodyAlign: 'left',\n footerColor: '#fff',\n footerSpacing: 2,\n footerMarginTop: 6,\n footerFont: {\n weight: 'bold',\n },\n footerAlign: 'left',\n padding: 6,\n caretPadding: 2,\n caretSize: 5,\n cornerRadius: 6,\n boxHeight: (ctx, opts) => opts.bodyFont.size,\n boxWidth: (ctx, opts) => opts.bodyFont.size,\n multiKeyBackground: '#fff',\n displayColors: true,\n boxPadding: 0,\n borderColor: 'rgba(0,0,0,0)',\n borderWidth: 0,\n animation: {\n duration: 400,\n easing: 'easeOutQuart',\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'width', 'height', 'caretX', 'caretY'],\n },\n opacity: {\n easing: 'linear',\n duration: 200\n }\n },\n callbacks: {\n beforeTitle: noop,\n title(tooltipItems) {\n if (tooltipItems.length > 0) {\n const item = tooltipItems[0];\n const labels = item.chart.data.labels;\n const labelCount = labels ? labels.length : 0;\n if (this && this.options && this.options.mode === 'dataset') {\n return item.dataset.label || '';\n } else if (item.label) {\n return item.label;\n } else if (labelCount > 0 && item.dataIndex < labelCount) {\n return labels[item.dataIndex];\n }\n }\n return '';\n },\n afterTitle: noop,\n beforeBody: noop,\n beforeLabel: noop,\n label(tooltipItem) {\n if (this && this.options && this.options.mode === 'dataset') {\n return tooltipItem.label + ': ' + tooltipItem.formattedValue || tooltipItem.formattedValue;\n }\n let label = tooltipItem.dataset.label || '';\n if (label) {\n label += ': ';\n }\n const value = tooltipItem.formattedValue;\n if (!isNullOrUndef(value)) {\n label += value;\n }\n return label;\n },\n labelColor(tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n borderColor: options.borderColor,\n backgroundColor: options.backgroundColor,\n borderWidth: options.borderWidth,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderRadius: 0,\n };\n },\n labelTextColor() {\n return this.options.bodyColor;\n },\n labelPointStyle(tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n pointStyle: options.pointStyle,\n rotation: options.rotation,\n };\n },\n afterLabel: noop,\n afterBody: noop,\n beforeFooter: noop,\n footer: noop,\n afterFooter: noop\n }\n },\n defaultRoutes: {\n bodyFont: 'font',\n footerFont: 'font',\n titleFont: 'font'\n },\n descriptors: {\n _scriptable: (name) => name !== 'filter' && name !== 'itemSort' && name !== 'external',\n _indexable: false,\n callbacks: {\n _scriptable: false,\n _indexable: false,\n },\n animation: {\n _fallback: false\n },\n animations: {\n _fallback: 'animation'\n }\n },\n additionalOptionScopes: ['interaction']\n};\n\nvar plugins = /*#__PURE__*/Object.freeze({\n__proto__: null,\nDecimation: plugin_decimation,\nFiller: index,\nLegend: plugin_legend,\nSubTitle: plugin_subtitle,\nTitle: plugin_title,\nTooltip: plugin_tooltip\n});\n\nconst addIfString = (labels, raw, index, addedLabels) => {\n if (typeof raw === 'string') {\n index = labels.push(raw) - 1;\n addedLabels.unshift({index, label: raw});\n } else if (isNaN(raw)) {\n index = null;\n }\n return index;\n};\nfunction findOrAddLabel(labels, raw, index, addedLabels) {\n const first = labels.indexOf(raw);\n if (first === -1) {\n return addIfString(labels, raw, index, addedLabels);\n }\n const last = labels.lastIndexOf(raw);\n return first !== last ? index : first;\n}\nconst validIndex = (index, max) => index === null ? null : _limitValue(Math.round(index), 0, max);\nclass CategoryScale extends Scale {\n constructor(cfg) {\n super(cfg);\n this._startValue = undefined;\n this._valueRange = 0;\n this._addedLabels = [];\n }\n init(scaleOptions) {\n const added = this._addedLabels;\n if (added.length) {\n const labels = this.getLabels();\n for (const {index, label} of added) {\n if (labels[index] === label) {\n labels.splice(index, 1);\n }\n }\n this._addedLabels = [];\n }\n super.init(scaleOptions);\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n const labels = this.getLabels();\n index = isFinite(index) && labels[index] === raw ? index\n : findOrAddLabel(labels, raw, valueOrDefault(index, raw), this._addedLabels);\n return validIndex(index, labels.length - 1);\n }\n determineDataLimits() {\n const {minDefined, maxDefined} = this.getUserBounds();\n let {min, max} = this.getMinMax(true);\n if (this.options.bounds === 'ticks') {\n if (!minDefined) {\n min = 0;\n }\n if (!maxDefined) {\n max = this.getLabels().length - 1;\n }\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const min = this.min;\n const max = this.max;\n const offset = this.options.offset;\n const ticks = [];\n let labels = this.getLabels();\n labels = (min === 0 && max === labels.length - 1) ? labels : labels.slice(min, max + 1);\n this._valueRange = Math.max(labels.length - (offset ? 0 : 1), 1);\n this._startValue = this.min - (offset ? 0.5 : 0);\n for (let value = min; value <= max; value++) {\n ticks.push({value});\n }\n return ticks;\n }\n getLabelForValue(value) {\n const labels = this.getLabels();\n if (value >= 0 && value < labels.length) {\n return labels[value];\n }\n return value;\n }\n configure() {\n super.configure();\n if (!this.isHorizontal()) {\n this._reversePixels = !this._reversePixels;\n }\n }\n getPixelForValue(value) {\n if (typeof value !== 'number') {\n value = this.parse(value);\n }\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getValueForPixel(pixel) {\n return Math.round(this._startValue + this.getDecimalForPixel(pixel) * this._valueRange);\n }\n getBasePixel() {\n return this.bottom;\n }\n}\nCategoryScale.id = 'category';\nCategoryScale.defaults = {\n ticks: {\n callback: CategoryScale.prototype.getLabelForValue\n }\n};\n\nfunction generateTicks$1(generationOptions, dataRange) {\n const ticks = [];\n const MIN_SPACING = 1e-14;\n const {bounds, step, min, max, precision, count, maxTicks, maxDigits, includeBounds} = generationOptions;\n const unit = step || 1;\n const maxSpaces = maxTicks - 1;\n const {min: rmin, max: rmax} = dataRange;\n const minDefined = !isNullOrUndef(min);\n const maxDefined = !isNullOrUndef(max);\n const countDefined = !isNullOrUndef(count);\n const minSpacing = (rmax - rmin) / (maxDigits + 1);\n let spacing = niceNum((rmax - rmin) / maxSpaces / unit) * unit;\n let factor, niceMin, niceMax, numSpaces;\n if (spacing < MIN_SPACING && !minDefined && !maxDefined) {\n return [{value: rmin}, {value: rmax}];\n }\n numSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing);\n if (numSpaces > maxSpaces) {\n spacing = niceNum(numSpaces * spacing / maxSpaces / unit) * unit;\n }\n if (!isNullOrUndef(precision)) {\n factor = Math.pow(10, precision);\n spacing = Math.ceil(spacing * factor) / factor;\n }\n if (bounds === 'ticks') {\n niceMin = Math.floor(rmin / spacing) * spacing;\n niceMax = Math.ceil(rmax / spacing) * spacing;\n } else {\n niceMin = rmin;\n niceMax = rmax;\n }\n if (minDefined && maxDefined && step && almostWhole((max - min) / step, spacing / 1000)) {\n numSpaces = Math.round(Math.min((max - min) / spacing, maxTicks));\n spacing = (max - min) / numSpaces;\n niceMin = min;\n niceMax = max;\n } else if (countDefined) {\n niceMin = minDefined ? min : niceMin;\n niceMax = maxDefined ? max : niceMax;\n numSpaces = count - 1;\n spacing = (niceMax - niceMin) / numSpaces;\n } else {\n numSpaces = (niceMax - niceMin) / spacing;\n if (almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) {\n numSpaces = Math.round(numSpaces);\n } else {\n numSpaces = Math.ceil(numSpaces);\n }\n }\n const decimalPlaces = Math.max(\n _decimalPlaces(spacing),\n _decimalPlaces(niceMin)\n );\n factor = Math.pow(10, isNullOrUndef(precision) ? decimalPlaces : precision);\n niceMin = Math.round(niceMin * factor) / factor;\n niceMax = Math.round(niceMax * factor) / factor;\n let j = 0;\n if (minDefined) {\n if (includeBounds && niceMin !== min) {\n ticks.push({value: min});\n if (niceMin < min) {\n j++;\n }\n if (almostEquals(Math.round((niceMin + j * spacing) * factor) / factor, min, relativeLabelSize(min, minSpacing, generationOptions))) {\n j++;\n }\n } else if (niceMin < min) {\n j++;\n }\n }\n for (; j < numSpaces; ++j) {\n ticks.push({value: Math.round((niceMin + j * spacing) * factor) / factor});\n }\n if (maxDefined && includeBounds && niceMax !== max) {\n if (ticks.length && almostEquals(ticks[ticks.length - 1].value, max, relativeLabelSize(max, minSpacing, generationOptions))) {\n ticks[ticks.length - 1].value = max;\n } else {\n ticks.push({value: max});\n }\n } else if (!maxDefined || niceMax === max) {\n ticks.push({value: niceMax});\n }\n return ticks;\n}\nfunction relativeLabelSize(value, minSpacing, {horizontal, minRotation}) {\n const rad = toRadians(minRotation);\n const ratio = (horizontal ? Math.sin(rad) : Math.cos(rad)) || 0.001;\n const length = 0.75 * minSpacing * ('' + value).length;\n return Math.min(minSpacing / ratio, length);\n}\nclass LinearScaleBase extends Scale {\n constructor(cfg) {\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._endValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n if ((typeof raw === 'number' || raw instanceof Number) && !isFinite(+raw)) {\n return null;\n }\n return +raw;\n }\n handleTickRangeOptions() {\n const {beginAtZero} = this.options;\n const {minDefined, maxDefined} = this.getUserBounds();\n let {min, max} = this;\n const setMin = v => (min = minDefined ? min : v);\n const setMax = v => (max = maxDefined ? max : v);\n if (beginAtZero) {\n const minSign = sign(min);\n const maxSign = sign(max);\n if (minSign < 0 && maxSign < 0) {\n setMax(0);\n } else if (minSign > 0 && maxSign > 0) {\n setMin(0);\n }\n }\n if (min === max) {\n let offset = 1;\n if (max >= Number.MAX_SAFE_INTEGER || min <= Number.MIN_SAFE_INTEGER) {\n offset = Math.abs(max * 0.05);\n }\n setMax(max + offset);\n if (!beginAtZero) {\n setMin(min - offset);\n }\n }\n this.min = min;\n this.max = max;\n }\n getTickLimit() {\n const tickOpts = this.options.ticks;\n let {maxTicksLimit, stepSize} = tickOpts;\n let maxTicks;\n if (stepSize) {\n maxTicks = Math.ceil(this.max / stepSize) - Math.floor(this.min / stepSize) + 1;\n if (maxTicks > 1000) {\n console.warn(`scales.${this.id}.ticks.stepSize: ${stepSize} would result generating up to ${maxTicks} ticks. Limiting to 1000.`);\n maxTicks = 1000;\n }\n } else {\n maxTicks = this.computeTickLimit();\n maxTicksLimit = maxTicksLimit || 11;\n }\n if (maxTicksLimit) {\n maxTicks = Math.min(maxTicksLimit, maxTicks);\n }\n return maxTicks;\n }\n computeTickLimit() {\n return Number.POSITIVE_INFINITY;\n }\n buildTicks() {\n const opts = this.options;\n const tickOpts = opts.ticks;\n let maxTicks = this.getTickLimit();\n maxTicks = Math.max(2, maxTicks);\n const numericGeneratorOptions = {\n maxTicks,\n bounds: opts.bounds,\n min: opts.min,\n max: opts.max,\n precision: tickOpts.precision,\n step: tickOpts.stepSize,\n count: tickOpts.count,\n maxDigits: this._maxDigits(),\n horizontal: this.isHorizontal(),\n minRotation: tickOpts.minRotation || 0,\n includeBounds: tickOpts.includeBounds !== false\n };\n const dataRange = this._range || this;\n const ticks = generateTicks$1(numericGeneratorOptions, dataRange);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n configure() {\n const ticks = this.ticks;\n let start = this.min;\n let end = this.max;\n super.configure();\n if (this.options.offset && ticks.length) {\n const offset = (end - start) / Math.max(ticks.length - 1, 1) / 2;\n start -= offset;\n end += offset;\n }\n this._startValue = start;\n this._endValue = end;\n this._valueRange = end - start;\n }\n getLabelForValue(value) {\n return formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n}\n\nclass LinearScale extends LinearScaleBase {\n determineDataLimits() {\n const {min, max} = this.getMinMax(true);\n this.min = isNumberFinite(min) ? min : 0;\n this.max = isNumberFinite(max) ? max : 1;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n const horizontal = this.isHorizontal();\n const length = horizontal ? this.width : this.height;\n const minRotation = toRadians(this.options.ticks.minRotation);\n const ratio = (horizontal ? Math.sin(minRotation) : Math.cos(minRotation)) || 0.001;\n const tickFont = this._resolveTickFontOptions(0);\n return Math.ceil(length / Math.min(40, tickFont.lineHeight / ratio));\n }\n getPixelForValue(value) {\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n return this._startValue + this.getDecimalForPixel(pixel) * this._valueRange;\n }\n}\nLinearScale.id = 'linear';\nLinearScale.defaults = {\n ticks: {\n callback: Ticks.formatters.numeric\n }\n};\n\nfunction isMajor(tickVal) {\n const remain = tickVal / (Math.pow(10, Math.floor(log10(tickVal))));\n return remain === 1;\n}\nfunction generateTicks(generationOptions, dataRange) {\n const endExp = Math.floor(log10(dataRange.max));\n const endSignificand = Math.ceil(dataRange.max / Math.pow(10, endExp));\n const ticks = [];\n let tickVal = finiteOrDefault(generationOptions.min, Math.pow(10, Math.floor(log10(dataRange.min))));\n let exp = Math.floor(log10(tickVal));\n let significand = Math.floor(tickVal / Math.pow(10, exp));\n let precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1;\n do {\n ticks.push({value: tickVal, major: isMajor(tickVal)});\n ++significand;\n if (significand === 10) {\n significand = 1;\n ++exp;\n precision = exp >= 0 ? 1 : precision;\n }\n tickVal = Math.round(significand * Math.pow(10, exp) * precision) / precision;\n } while (exp < endExp || (exp === endExp && significand < endSignificand));\n const lastTick = finiteOrDefault(generationOptions.max, tickVal);\n ticks.push({value: lastTick, major: isMajor(tickVal)});\n return ticks;\n}\nclass LogarithmicScale extends Scale {\n constructor(cfg) {\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n const value = LinearScaleBase.prototype.parse.apply(this, [raw, index]);\n if (value === 0) {\n this._zero = true;\n return undefined;\n }\n return isNumberFinite(value) && value > 0 ? value : null;\n }\n determineDataLimits() {\n const {min, max} = this.getMinMax(true);\n this.min = isNumberFinite(min) ? Math.max(0, min) : null;\n this.max = isNumberFinite(max) ? Math.max(0, max) : null;\n if (this.options.beginAtZero) {\n this._zero = true;\n }\n this.handleTickRangeOptions();\n }\n handleTickRangeOptions() {\n const {minDefined, maxDefined} = this.getUserBounds();\n let min = this.min;\n let max = this.max;\n const setMin = v => (min = minDefined ? min : v);\n const setMax = v => (max = maxDefined ? max : v);\n const exp = (v, m) => Math.pow(10, Math.floor(log10(v)) + m);\n if (min === max) {\n if (min <= 0) {\n setMin(1);\n setMax(10);\n } else {\n setMin(exp(min, -1));\n setMax(exp(max, +1));\n }\n }\n if (min <= 0) {\n setMin(exp(max, -1));\n }\n if (max <= 0) {\n setMax(exp(min, +1));\n }\n if (this._zero && this.min !== this._suggestedMin && min === exp(this.min, 0)) {\n setMin(exp(min, -1));\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const opts = this.options;\n const generationOptions = {\n min: this._userMin,\n max: this._userMax\n };\n const ticks = generateTicks(generationOptions, this);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n getLabelForValue(value) {\n return value === undefined\n ? '0'\n : formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n configure() {\n const start = this.min;\n super.configure();\n this._startValue = log10(start);\n this._valueRange = log10(this.max) - log10(start);\n }\n getPixelForValue(value) {\n if (value === undefined || value === 0) {\n value = this.min;\n }\n if (value === null || isNaN(value)) {\n return NaN;\n }\n return this.getPixelForDecimal(value === this.min\n ? 0\n : (log10(value) - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n const decimal = this.getDecimalForPixel(pixel);\n return Math.pow(10, this._startValue + decimal * this._valueRange);\n }\n}\nLogarithmicScale.id = 'logarithmic';\nLogarithmicScale.defaults = {\n ticks: {\n callback: Ticks.formatters.logarithmic,\n major: {\n enabled: true\n }\n }\n};\n\nfunction getTickBackdropHeight(opts) {\n const tickOpts = opts.ticks;\n if (tickOpts.display && opts.display) {\n const padding = toPadding(tickOpts.backdropPadding);\n return valueOrDefault(tickOpts.font && tickOpts.font.size, defaults.font.size) + padding.height;\n }\n return 0;\n}\nfunction measureLabelSize(ctx, font, label) {\n label = isArray(label) ? label : [label];\n return {\n w: _longestText(ctx, font.string, label),\n h: label.length * font.lineHeight\n };\n}\nfunction determineLimits(angle, pos, size, min, max) {\n if (angle === min || angle === max) {\n return {\n start: pos - (size / 2),\n end: pos + (size / 2)\n };\n } else if (angle < min || angle > max) {\n return {\n start: pos - size,\n end: pos\n };\n }\n return {\n start: pos,\n end: pos + size\n };\n}\nfunction fitWithPointLabels(scale) {\n const orig = {\n l: scale.left + scale._padding.left,\n r: scale.right - scale._padding.right,\n t: scale.top + scale._padding.top,\n b: scale.bottom - scale._padding.bottom\n };\n const limits = Object.assign({}, orig);\n const labelSizes = [];\n const padding = [];\n const valueCount = scale._pointLabels.length;\n const pointLabelOpts = scale.options.pointLabels;\n const additionalAngle = pointLabelOpts.centerPointLabels ? PI / valueCount : 0;\n for (let i = 0; i < valueCount; i++) {\n const opts = pointLabelOpts.setContext(scale.getPointLabelContext(i));\n padding[i] = opts.padding;\n const pointPosition = scale.getPointPosition(i, scale.drawingArea + padding[i], additionalAngle);\n const plFont = toFont(opts.font);\n const textSize = measureLabelSize(scale.ctx, plFont, scale._pointLabels[i]);\n labelSizes[i] = textSize;\n const angleRadians = _normalizeAngle(scale.getIndexAngle(i) + additionalAngle);\n const angle = Math.round(toDegrees(angleRadians));\n const hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180);\n const vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270);\n updateLimits(limits, orig, angleRadians, hLimits, vLimits);\n }\n scale.setCenterPoint(\n orig.l - limits.l,\n limits.r - orig.r,\n orig.t - limits.t,\n limits.b - orig.b\n );\n scale._pointLabelItems = buildPointLabelItems(scale, labelSizes, padding);\n}\nfunction updateLimits(limits, orig, angle, hLimits, vLimits) {\n const sin = Math.abs(Math.sin(angle));\n const cos = Math.abs(Math.cos(angle));\n let x = 0;\n let y = 0;\n if (hLimits.start < orig.l) {\n x = (orig.l - hLimits.start) / sin;\n limits.l = Math.min(limits.l, orig.l - x);\n } else if (hLimits.end > orig.r) {\n x = (hLimits.end - orig.r) / sin;\n limits.r = Math.max(limits.r, orig.r + x);\n }\n if (vLimits.start < orig.t) {\n y = (orig.t - vLimits.start) / cos;\n limits.t = Math.min(limits.t, orig.t - y);\n } else if (vLimits.end > orig.b) {\n y = (vLimits.end - orig.b) / cos;\n limits.b = Math.max(limits.b, orig.b + y);\n }\n}\nfunction buildPointLabelItems(scale, labelSizes, padding) {\n const items = [];\n const valueCount = scale._pointLabels.length;\n const opts = scale.options;\n const extra = getTickBackdropHeight(opts) / 2;\n const outerDistance = scale.drawingArea;\n const additionalAngle = opts.pointLabels.centerPointLabels ? PI / valueCount : 0;\n for (let i = 0; i < valueCount; i++) {\n const pointLabelPosition = scale.getPointPosition(i, outerDistance + extra + padding[i], additionalAngle);\n const angle = Math.round(toDegrees(_normalizeAngle(pointLabelPosition.angle + HALF_PI)));\n const size = labelSizes[i];\n const y = yForAngle(pointLabelPosition.y, size.h, angle);\n const textAlign = getTextAlignForAngle(angle);\n const left = leftForTextAlign(pointLabelPosition.x, size.w, textAlign);\n items.push({\n x: pointLabelPosition.x,\n y,\n textAlign,\n left,\n top: y,\n right: left + size.w,\n bottom: y + size.h\n });\n }\n return items;\n}\nfunction getTextAlignForAngle(angle) {\n if (angle === 0 || angle === 180) {\n return 'center';\n } else if (angle < 180) {\n return 'left';\n }\n return 'right';\n}\nfunction leftForTextAlign(x, w, align) {\n if (align === 'right') {\n x -= w;\n } else if (align === 'center') {\n x -= (w / 2);\n }\n return x;\n}\nfunction yForAngle(y, h, angle) {\n if (angle === 90 || angle === 270) {\n y -= (h / 2);\n } else if (angle > 270 || angle < 90) {\n y -= h;\n }\n return y;\n}\nfunction drawPointLabels(scale, labelCount) {\n const {ctx, options: {pointLabels}} = scale;\n for (let i = labelCount - 1; i >= 0; i--) {\n const optsAtIndex = pointLabels.setContext(scale.getPointLabelContext(i));\n const plFont = toFont(optsAtIndex.font);\n const {x, y, textAlign, left, top, right, bottom} = scale._pointLabelItems[i];\n const {backdropColor} = optsAtIndex;\n if (!isNullOrUndef(backdropColor)) {\n const borderRadius = toTRBLCorners(optsAtIndex.borderRadius);\n const padding = toPadding(optsAtIndex.backdropPadding);\n ctx.fillStyle = backdropColor;\n const backdropLeft = left - padding.left;\n const backdropTop = top - padding.top;\n const backdropWidth = right - left + padding.width;\n const backdropHeight = bottom - top + padding.height;\n if (Object.values(borderRadius).some(v => v !== 0)) {\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: backdropLeft,\n y: backdropTop,\n w: backdropWidth,\n h: backdropHeight,\n radius: borderRadius,\n });\n ctx.fill();\n } else {\n ctx.fillRect(backdropLeft, backdropTop, backdropWidth, backdropHeight);\n }\n }\n renderText(\n ctx,\n scale._pointLabels[i],\n x,\n y + (plFont.lineHeight / 2),\n plFont,\n {\n color: optsAtIndex.color,\n textAlign: textAlign,\n textBaseline: 'middle'\n }\n );\n }\n}\nfunction pathRadiusLine(scale, radius, circular, labelCount) {\n const {ctx} = scale;\n if (circular) {\n ctx.arc(scale.xCenter, scale.yCenter, radius, 0, TAU);\n } else {\n let pointPosition = scale.getPointPosition(0, radius);\n ctx.moveTo(pointPosition.x, pointPosition.y);\n for (let i = 1; i < labelCount; i++) {\n pointPosition = scale.getPointPosition(i, radius);\n ctx.lineTo(pointPosition.x, pointPosition.y);\n }\n }\n}\nfunction drawRadiusLine(scale, gridLineOpts, radius, labelCount) {\n const ctx = scale.ctx;\n const circular = gridLineOpts.circular;\n const {color, lineWidth} = gridLineOpts;\n if ((!circular && !labelCount) || !color || !lineWidth || radius < 0) {\n return;\n }\n ctx.save();\n ctx.strokeStyle = color;\n ctx.lineWidth = lineWidth;\n ctx.setLineDash(gridLineOpts.borderDash);\n ctx.lineDashOffset = gridLineOpts.borderDashOffset;\n ctx.beginPath();\n pathRadiusLine(scale, radius, circular, labelCount);\n ctx.closePath();\n ctx.stroke();\n ctx.restore();\n}\nfunction createPointLabelContext(parent, index, label) {\n return createContext(parent, {\n label,\n index,\n type: 'pointLabel'\n });\n}\nclass RadialLinearScale extends LinearScaleBase {\n constructor(cfg) {\n super(cfg);\n this.xCenter = undefined;\n this.yCenter = undefined;\n this.drawingArea = undefined;\n this._pointLabels = [];\n this._pointLabelItems = [];\n }\n setDimensions() {\n const padding = this._padding = toPadding(getTickBackdropHeight(this.options) / 2);\n const w = this.width = this.maxWidth - padding.width;\n const h = this.height = this.maxHeight - padding.height;\n this.xCenter = Math.floor(this.left + w / 2 + padding.left);\n this.yCenter = Math.floor(this.top + h / 2 + padding.top);\n this.drawingArea = Math.floor(Math.min(w, h) / 2);\n }\n determineDataLimits() {\n const {min, max} = this.getMinMax(false);\n this.min = isNumberFinite(min) && !isNaN(min) ? min : 0;\n this.max = isNumberFinite(max) && !isNaN(max) ? max : 0;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n return Math.ceil(this.drawingArea / getTickBackdropHeight(this.options));\n }\n generateTickLabels(ticks) {\n LinearScaleBase.prototype.generateTickLabels.call(this, ticks);\n this._pointLabels = this.getLabels()\n .map((value, index) => {\n const label = callback(this.options.pointLabels.callback, [value, index], this);\n return label || label === 0 ? label : '';\n })\n .filter((v, i) => this.chart.getDataVisibility(i));\n }\n fit() {\n const opts = this.options;\n if (opts.display && opts.pointLabels.display) {\n fitWithPointLabels(this);\n } else {\n this.setCenterPoint(0, 0, 0, 0);\n }\n }\n setCenterPoint(leftMovement, rightMovement, topMovement, bottomMovement) {\n this.xCenter += Math.floor((leftMovement - rightMovement) / 2);\n this.yCenter += Math.floor((topMovement - bottomMovement) / 2);\n this.drawingArea -= Math.min(this.drawingArea / 2, Math.max(leftMovement, rightMovement, topMovement, bottomMovement));\n }\n getIndexAngle(index) {\n const angleMultiplier = TAU / (this._pointLabels.length || 1);\n const startAngle = this.options.startAngle || 0;\n return _normalizeAngle(index * angleMultiplier + toRadians(startAngle));\n }\n getDistanceFromCenterForValue(value) {\n if (isNullOrUndef(value)) {\n return NaN;\n }\n const scalingFactor = this.drawingArea / (this.max - this.min);\n if (this.options.reverse) {\n return (this.max - value) * scalingFactor;\n }\n return (value - this.min) * scalingFactor;\n }\n getValueForDistanceFromCenter(distance) {\n if (isNullOrUndef(distance)) {\n return NaN;\n }\n const scaledDistance = distance / (this.drawingArea / (this.max - this.min));\n return this.options.reverse ? this.max - scaledDistance : this.min + scaledDistance;\n }\n getPointLabelContext(index) {\n const pointLabels = this._pointLabels || [];\n if (index >= 0 && index < pointLabels.length) {\n const pointLabel = pointLabels[index];\n return createPointLabelContext(this.getContext(), index, pointLabel);\n }\n }\n getPointPosition(index, distanceFromCenter, additionalAngle = 0) {\n const angle = this.getIndexAngle(index) - HALF_PI + additionalAngle;\n return {\n x: Math.cos(angle) * distanceFromCenter + this.xCenter,\n y: Math.sin(angle) * distanceFromCenter + this.yCenter,\n angle\n };\n }\n getPointPositionForValue(index, value) {\n return this.getPointPosition(index, this.getDistanceFromCenterForValue(value));\n }\n getBasePosition(index) {\n return this.getPointPositionForValue(index || 0, this.getBaseValue());\n }\n getPointLabelPosition(index) {\n const {left, top, right, bottom} = this._pointLabelItems[index];\n return {\n left,\n top,\n right,\n bottom,\n };\n }\n drawBackground() {\n const {backgroundColor, grid: {circular}} = this.options;\n if (backgroundColor) {\n const ctx = this.ctx;\n ctx.save();\n ctx.beginPath();\n pathRadiusLine(this, this.getDistanceFromCenterForValue(this._endValue), circular, this._pointLabels.length);\n ctx.closePath();\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n }\n drawGrid() {\n const ctx = this.ctx;\n const opts = this.options;\n const {angleLines, grid} = opts;\n const labelCount = this._pointLabels.length;\n let i, offset, position;\n if (opts.pointLabels.display) {\n drawPointLabels(this, labelCount);\n }\n if (grid.display) {\n this.ticks.forEach((tick, index) => {\n if (index !== 0) {\n offset = this.getDistanceFromCenterForValue(tick.value);\n const optsAtIndex = grid.setContext(this.getContext(index - 1));\n drawRadiusLine(this, optsAtIndex, offset, labelCount);\n }\n });\n }\n if (angleLines.display) {\n ctx.save();\n for (i = labelCount - 1; i >= 0; i--) {\n const optsAtIndex = angleLines.setContext(this.getPointLabelContext(i));\n const {color, lineWidth} = optsAtIndex;\n if (!lineWidth || !color) {\n continue;\n }\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = color;\n ctx.setLineDash(optsAtIndex.borderDash);\n ctx.lineDashOffset = optsAtIndex.borderDashOffset;\n offset = this.getDistanceFromCenterForValue(opts.ticks.reverse ? this.min : this.max);\n position = this.getPointPosition(i, offset);\n ctx.beginPath();\n ctx.moveTo(this.xCenter, this.yCenter);\n ctx.lineTo(position.x, position.y);\n ctx.stroke();\n }\n ctx.restore();\n }\n }\n drawBorder() {}\n drawLabels() {\n const ctx = this.ctx;\n const opts = this.options;\n const tickOpts = opts.ticks;\n if (!tickOpts.display) {\n return;\n }\n const startAngle = this.getIndexAngle(0);\n let offset, width;\n ctx.save();\n ctx.translate(this.xCenter, this.yCenter);\n ctx.rotate(startAngle);\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n this.ticks.forEach((tick, index) => {\n if (index === 0 && !opts.reverse) {\n return;\n }\n const optsAtIndex = tickOpts.setContext(this.getContext(index));\n const tickFont = toFont(optsAtIndex.font);\n offset = this.getDistanceFromCenterForValue(this.ticks[index].value);\n if (optsAtIndex.showLabelBackdrop) {\n ctx.font = tickFont.string;\n width = ctx.measureText(tick.label).width;\n ctx.fillStyle = optsAtIndex.backdropColor;\n const padding = toPadding(optsAtIndex.backdropPadding);\n ctx.fillRect(\n -width / 2 - padding.left,\n -offset - tickFont.size / 2 - padding.top,\n width + padding.width,\n tickFont.size + padding.height\n );\n }\n renderText(ctx, tick.label, 0, -offset, tickFont, {\n color: optsAtIndex.color,\n });\n });\n ctx.restore();\n }\n drawTitle() {}\n}\nRadialLinearScale.id = 'radialLinear';\nRadialLinearScale.defaults = {\n display: true,\n animate: true,\n position: 'chartArea',\n angleLines: {\n display: true,\n lineWidth: 1,\n borderDash: [],\n borderDashOffset: 0.0\n },\n grid: {\n circular: false\n },\n startAngle: 0,\n ticks: {\n showLabelBackdrop: true,\n callback: Ticks.formatters.numeric\n },\n pointLabels: {\n backdropColor: undefined,\n backdropPadding: 2,\n display: true,\n font: {\n size: 10\n },\n callback(label) {\n return label;\n },\n padding: 5,\n centerPointLabels: false\n }\n};\nRadialLinearScale.defaultRoutes = {\n 'angleLines.color': 'borderColor',\n 'pointLabels.color': 'color',\n 'ticks.color': 'color'\n};\nRadialLinearScale.descriptors = {\n angleLines: {\n _fallback: 'grid'\n }\n};\n\nconst INTERVALS = {\n millisecond: {common: true, size: 1, steps: 1000},\n second: {common: true, size: 1000, steps: 60},\n minute: {common: true, size: 60000, steps: 60},\n hour: {common: true, size: 3600000, steps: 24},\n day: {common: true, size: 86400000, steps: 30},\n week: {common: false, size: 604800000, steps: 4},\n month: {common: true, size: 2.628e9, steps: 12},\n quarter: {common: false, size: 7.884e9, steps: 4},\n year: {common: true, size: 3.154e10}\n};\nconst UNITS = (Object.keys(INTERVALS));\nfunction sorter(a, b) {\n return a - b;\n}\nfunction parse(scale, input) {\n if (isNullOrUndef(input)) {\n return null;\n }\n const adapter = scale._adapter;\n const {parser, round, isoWeekday} = scale._parseOpts;\n let value = input;\n if (typeof parser === 'function') {\n value = parser(value);\n }\n if (!isNumberFinite(value)) {\n value = typeof parser === 'string'\n ? adapter.parse(value, parser)\n : adapter.parse(value);\n }\n if (value === null) {\n return null;\n }\n if (round) {\n value = round === 'week' && (isNumber(isoWeekday) || isoWeekday === true)\n ? adapter.startOf(value, 'isoWeek', isoWeekday)\n : adapter.startOf(value, round);\n }\n return +value;\n}\nfunction determineUnitForAutoTicks(minUnit, min, max, capacity) {\n const ilen = UNITS.length;\n for (let i = UNITS.indexOf(minUnit); i < ilen - 1; ++i) {\n const interval = INTERVALS[UNITS[i]];\n const factor = interval.steps ? interval.steps : Number.MAX_SAFE_INTEGER;\n if (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) {\n return UNITS[i];\n }\n }\n return UNITS[ilen - 1];\n}\nfunction determineUnitForFormatting(scale, numTicks, minUnit, min, max) {\n for (let i = UNITS.length - 1; i >= UNITS.indexOf(minUnit); i--) {\n const unit = UNITS[i];\n if (INTERVALS[unit].common && scale._adapter.diff(max, min, unit) >= numTicks - 1) {\n return unit;\n }\n }\n return UNITS[minUnit ? UNITS.indexOf(minUnit) : 0];\n}\nfunction determineMajorUnit(unit) {\n for (let i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i) {\n if (INTERVALS[UNITS[i]].common) {\n return UNITS[i];\n }\n }\n}\nfunction addTick(ticks, time, timestamps) {\n if (!timestamps) {\n ticks[time] = true;\n } else if (timestamps.length) {\n const {lo, hi} = _lookup(timestamps, time);\n const timestamp = timestamps[lo] >= time ? timestamps[lo] : timestamps[hi];\n ticks[timestamp] = true;\n }\n}\nfunction setMajorTicks(scale, ticks, map, majorUnit) {\n const adapter = scale._adapter;\n const first = +adapter.startOf(ticks[0].value, majorUnit);\n const last = ticks[ticks.length - 1].value;\n let major, index;\n for (major = first; major <= last; major = +adapter.add(major, 1, majorUnit)) {\n index = map[major];\n if (index >= 0) {\n ticks[index].major = true;\n }\n }\n return ticks;\n}\nfunction ticksFromTimestamps(scale, values, majorUnit) {\n const ticks = [];\n const map = {};\n const ilen = values.length;\n let i, value;\n for (i = 0; i < ilen; ++i) {\n value = values[i];\n map[value] = i;\n ticks.push({\n value,\n major: false\n });\n }\n return (ilen === 0 || !majorUnit) ? ticks : setMajorTicks(scale, ticks, map, majorUnit);\n}\nclass TimeScale extends Scale {\n constructor(props) {\n super(props);\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n this._unit = 'day';\n this._majorUnit = undefined;\n this._offsets = {};\n this._normalized = false;\n this._parseOpts = undefined;\n }\n init(scaleOpts, opts) {\n const time = scaleOpts.time || (scaleOpts.time = {});\n const adapter = this._adapter = new adapters._date(scaleOpts.adapters.date);\n adapter.init(opts);\n mergeIf(time.displayFormats, adapter.formats());\n this._parseOpts = {\n parser: time.parser,\n round: time.round,\n isoWeekday: time.isoWeekday\n };\n super.init(scaleOpts);\n this._normalized = opts.normalized;\n }\n parse(raw, index) {\n if (raw === undefined) {\n return null;\n }\n return parse(this, raw);\n }\n beforeLayout() {\n super.beforeLayout();\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n }\n determineDataLimits() {\n const options = this.options;\n const adapter = this._adapter;\n const unit = options.time.unit || 'day';\n let {min, max, minDefined, maxDefined} = this.getUserBounds();\n function _applyBounds(bounds) {\n if (!minDefined && !isNaN(bounds.min)) {\n min = Math.min(min, bounds.min);\n }\n if (!maxDefined && !isNaN(bounds.max)) {\n max = Math.max(max, bounds.max);\n }\n }\n if (!minDefined || !maxDefined) {\n _applyBounds(this._getLabelBounds());\n if (options.bounds !== 'ticks' || options.ticks.source !== 'labels') {\n _applyBounds(this.getMinMax(false));\n }\n }\n min = isNumberFinite(min) && !isNaN(min) ? min : +adapter.startOf(Date.now(), unit);\n max = isNumberFinite(max) && !isNaN(max) ? max : +adapter.endOf(Date.now(), unit) + 1;\n this.min = Math.min(min, max - 1);\n this.max = Math.max(min + 1, max);\n }\n _getLabelBounds() {\n const arr = this.getLabelTimestamps();\n let min = Number.POSITIVE_INFINITY;\n let max = Number.NEGATIVE_INFINITY;\n if (arr.length) {\n min = arr[0];\n max = arr[arr.length - 1];\n }\n return {min, max};\n }\n buildTicks() {\n const options = this.options;\n const timeOpts = options.time;\n const tickOpts = options.ticks;\n const timestamps = tickOpts.source === 'labels' ? this.getLabelTimestamps() : this._generate();\n if (options.bounds === 'ticks' && timestamps.length) {\n this.min = this._userMin || timestamps[0];\n this.max = this._userMax || timestamps[timestamps.length - 1];\n }\n const min = this.min;\n const max = this.max;\n const ticks = _filterBetween(timestamps, min, max);\n this._unit = timeOpts.unit || (tickOpts.autoSkip\n ? determineUnitForAutoTicks(timeOpts.minUnit, this.min, this.max, this._getLabelCapacity(min))\n : determineUnitForFormatting(this, ticks.length, timeOpts.minUnit, this.min, this.max));\n this._majorUnit = !tickOpts.major.enabled || this._unit === 'year' ? undefined\n : determineMajorUnit(this._unit);\n this.initOffsets(timestamps);\n if (options.reverse) {\n ticks.reverse();\n }\n return ticksFromTimestamps(this, ticks, this._majorUnit);\n }\n afterAutoSkip() {\n if (this.options.offsetAfterAutoskip) {\n this.initOffsets(this.ticks.map(tick => +tick.value));\n }\n }\n initOffsets(timestamps) {\n let start = 0;\n let end = 0;\n let first, last;\n if (this.options.offset && timestamps.length) {\n first = this.getDecimalForValue(timestamps[0]);\n if (timestamps.length === 1) {\n start = 1 - first;\n } else {\n start = (this.getDecimalForValue(timestamps[1]) - first) / 2;\n }\n last = this.getDecimalForValue(timestamps[timestamps.length - 1]);\n if (timestamps.length === 1) {\n end = last;\n } else {\n end = (last - this.getDecimalForValue(timestamps[timestamps.length - 2])) / 2;\n }\n }\n const limit = timestamps.length < 3 ? 0.5 : 0.25;\n start = _limitValue(start, 0, limit);\n end = _limitValue(end, 0, limit);\n this._offsets = {start, end, factor: 1 / (start + 1 + end)};\n }\n _generate() {\n const adapter = this._adapter;\n const min = this.min;\n const max = this.max;\n const options = this.options;\n const timeOpts = options.time;\n const minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, this._getLabelCapacity(min));\n const stepSize = valueOrDefault(timeOpts.stepSize, 1);\n const weekday = minor === 'week' ? timeOpts.isoWeekday : false;\n const hasWeekday = isNumber(weekday) || weekday === true;\n const ticks = {};\n let first = min;\n let time, count;\n if (hasWeekday) {\n first = +adapter.startOf(first, 'isoWeek', weekday);\n }\n first = +adapter.startOf(first, hasWeekday ? 'day' : minor);\n if (adapter.diff(max, min, minor) > 100000 * stepSize) {\n throw new Error(min + ' and ' + max + ' are too far apart with stepSize of ' + stepSize + ' ' + minor);\n }\n const timestamps = options.ticks.source === 'data' && this.getDataTimestamps();\n for (time = first, count = 0; time < max; time = +adapter.add(time, stepSize, minor), count++) {\n addTick(ticks, time, timestamps);\n }\n if (time === max || options.bounds === 'ticks' || count === 1) {\n addTick(ticks, time, timestamps);\n }\n return Object.keys(ticks).sort((a, b) => a - b).map(x => +x);\n }\n getLabelForValue(value) {\n const adapter = this._adapter;\n const timeOpts = this.options.time;\n if (timeOpts.tooltipFormat) {\n return adapter.format(value, timeOpts.tooltipFormat);\n }\n return adapter.format(value, timeOpts.displayFormats.datetime);\n }\n _tickFormatFunction(time, index, ticks, format) {\n const options = this.options;\n const formats = options.time.displayFormats;\n const unit = this._unit;\n const majorUnit = this._majorUnit;\n const minorFormat = unit && formats[unit];\n const majorFormat = majorUnit && formats[majorUnit];\n const tick = ticks[index];\n const major = majorUnit && majorFormat && tick && tick.major;\n const label = this._adapter.format(time, format || (major ? majorFormat : minorFormat));\n const formatter = options.ticks.callback;\n return formatter ? callback(formatter, [label, index, ticks], this) : label;\n }\n generateTickLabels(ticks) {\n let i, ilen, tick;\n for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n tick = ticks[i];\n tick.label = this._tickFormatFunction(tick.value, i, ticks);\n }\n }\n getDecimalForValue(value) {\n return value === null ? NaN : (value - this.min) / (this.max - this.min);\n }\n getPixelForValue(value) {\n const offsets = this._offsets;\n const pos = this.getDecimalForValue(value);\n return this.getPixelForDecimal((offsets.start + pos) * offsets.factor);\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const pos = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return this.min + pos * (this.max - this.min);\n }\n _getLabelSize(label) {\n const ticksOpts = this.options.ticks;\n const tickLabelWidth = this.ctx.measureText(label).width;\n const angle = toRadians(this.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation);\n const cosRotation = Math.cos(angle);\n const sinRotation = Math.sin(angle);\n const tickFontSize = this._resolveTickFontOptions(0).size;\n return {\n w: (tickLabelWidth * cosRotation) + (tickFontSize * sinRotation),\n h: (tickLabelWidth * sinRotation) + (tickFontSize * cosRotation)\n };\n }\n _getLabelCapacity(exampleTime) {\n const timeOpts = this.options.time;\n const displayFormats = timeOpts.displayFormats;\n const format = displayFormats[timeOpts.unit] || displayFormats.millisecond;\n const exampleLabel = this._tickFormatFunction(exampleTime, 0, ticksFromTimestamps(this, [exampleTime], this._majorUnit), format);\n const size = this._getLabelSize(exampleLabel);\n const capacity = Math.floor(this.isHorizontal() ? this.width / size.w : this.height / size.h) - 1;\n return capacity > 0 ? capacity : 1;\n }\n getDataTimestamps() {\n let timestamps = this._cache.data || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const metas = this.getMatchingVisibleMetas();\n if (this._normalized && metas.length) {\n return (this._cache.data = metas[0].controller.getAllParsedValues(this));\n }\n for (i = 0, ilen = metas.length; i < ilen; ++i) {\n timestamps = timestamps.concat(metas[i].controller.getAllParsedValues(this));\n }\n return (this._cache.data = this.normalize(timestamps));\n }\n getLabelTimestamps() {\n const timestamps = this._cache.labels || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const labels = this.getLabels();\n for (i = 0, ilen = labels.length; i < ilen; ++i) {\n timestamps.push(parse(this, labels[i]));\n }\n return (this._cache.labels = this._normalized ? timestamps : this.normalize(timestamps));\n }\n normalize(values) {\n return _arrayUnique(values.sort(sorter));\n }\n}\nTimeScale.id = 'time';\nTimeScale.defaults = {\n bounds: 'data',\n adapters: {},\n time: {\n parser: false,\n unit: false,\n round: false,\n isoWeekday: false,\n minUnit: 'millisecond',\n displayFormats: {}\n },\n ticks: {\n source: 'auto',\n major: {\n enabled: false\n }\n }\n};\n\nfunction interpolate(table, val, reverse) {\n let lo = 0;\n let hi = table.length - 1;\n let prevSource, nextSource, prevTarget, nextTarget;\n if (reverse) {\n if (val >= table[lo].pos && val <= table[hi].pos) {\n ({lo, hi} = _lookupByKey(table, 'pos', val));\n }\n ({pos: prevSource, time: prevTarget} = table[lo]);\n ({pos: nextSource, time: nextTarget} = table[hi]);\n } else {\n if (val >= table[lo].time && val <= table[hi].time) {\n ({lo, hi} = _lookupByKey(table, 'time', val));\n }\n ({time: prevSource, pos: prevTarget} = table[lo]);\n ({time: nextSource, pos: nextTarget} = table[hi]);\n }\n const span = nextSource - prevSource;\n return span ? prevTarget + (nextTarget - prevTarget) * (val - prevSource) / span : prevTarget;\n}\nclass TimeSeriesScale extends TimeScale {\n constructor(props) {\n super(props);\n this._table = [];\n this._minPos = undefined;\n this._tableRange = undefined;\n }\n initOffsets() {\n const timestamps = this._getTimestampsForTable();\n const table = this._table = this.buildLookupTable(timestamps);\n this._minPos = interpolate(table, this.min);\n this._tableRange = interpolate(table, this.max) - this._minPos;\n super.initOffsets(timestamps);\n }\n buildLookupTable(timestamps) {\n const {min, max} = this;\n const items = [];\n const table = [];\n let i, ilen, prev, curr, next;\n for (i = 0, ilen = timestamps.length; i < ilen; ++i) {\n curr = timestamps[i];\n if (curr >= min && curr <= max) {\n items.push(curr);\n }\n }\n if (items.length < 2) {\n return [\n {time: min, pos: 0},\n {time: max, pos: 1}\n ];\n }\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n next = items[i + 1];\n prev = items[i - 1];\n curr = items[i];\n if (Math.round((next + prev) / 2) !== curr) {\n table.push({time: curr, pos: i / (ilen - 1)});\n }\n }\n return table;\n }\n _getTimestampsForTable() {\n let timestamps = this._cache.all || [];\n if (timestamps.length) {\n return timestamps;\n }\n const data = this.getDataTimestamps();\n const label = this.getLabelTimestamps();\n if (data.length && label.length) {\n timestamps = this.normalize(data.concat(label));\n } else {\n timestamps = data.length ? data : label;\n }\n timestamps = this._cache.all = timestamps;\n return timestamps;\n }\n getDecimalForValue(value) {\n return (interpolate(this._table, value) - this._minPos) / this._tableRange;\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const decimal = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return interpolate(this._table, decimal * this._tableRange + this._minPos, true);\n }\n}\nTimeSeriesScale.id = 'timeseries';\nTimeSeriesScale.defaults = TimeScale.defaults;\n\nvar scales = /*#__PURE__*/Object.freeze({\n__proto__: null,\nCategoryScale: CategoryScale,\nLinearScale: LinearScale,\nLogarithmicScale: LogarithmicScale,\nRadialLinearScale: RadialLinearScale,\nTimeScale: TimeScale,\nTimeSeriesScale: TimeSeriesScale\n});\n\nconst registerables = [\n controllers,\n elements,\n plugins,\n scales,\n];\n\nexport { Animation, Animations, ArcElement, BarController, BarElement, BasePlatform, BasicPlatform, BubbleController, CategoryScale, Chart, DatasetController, plugin_decimation as Decimation, DomPlatform, DoughnutController, Element, index as Filler, Interaction, plugin_legend as Legend, LineController, LineElement, LinearScale, LogarithmicScale, PieController, PointElement, PolarAreaController, RadarController, RadialLinearScale, Scale, ScatterController, plugin_subtitle as SubTitle, Ticks, TimeScale, TimeSeriesScale, plugin_title as Title, plugin_tooltip as Tooltip, adapters as _adapters, _detectPlatform, animator, controllers, elements, layouts, plugins, registerables, registry, scales };\n","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","\nimport lang from \"@/mixins/lang.js\";\nimport { dateMixin } from \"@/mixins/date.js\";\nimport { utils } from \"@/mixins/utils.js\";\nexport default {\n name: \"CardsDefault\",\n mixins: [lang, utils, dateMixin],\n props: {\n card: {\n type: Object,\n },\n dynamicParentSlug: {\n type: String,\n },\n },\n data() {\n return {\n cdnUrl: \"\",\n };\n },\n created() {\n this.cdnUrl = process.env.NUXT_ENV_CDN_URL;\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Default.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Default.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Default.vue?vue&type=template&id=87c7b74a&\"\nimport script from \"./Default.vue?vue&type=script&lang=js&\"\nexport * from \"./Default.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","\nimport device from \"@/mixins/device.js\";\nexport default {\n name: \"CardsApp\",\n mixins: [device],\n props: {\n card: {\n type: Object,\n },\n },\n};\n","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=6faae875&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=6faae875&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {Picture: require('/usr/app/components/picture/picture.vue').default})\n","export * from \"-!../../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./QuickLinks.vue?vue&type=style&index=0&id=081e7944&prod&lang=scss&\"","import { Chart, BarController, DoughnutController, LineController, PieController, PolarAreaController, RadarController, BubbleController, ScatterController } from 'chart.js';\nimport { defineComponent, shallowRef, ref, watch, onMounted, onBeforeUnmount, toRaw, h, isProxy } from 'vue';\n\nvar ChartEmits;\n(function(ChartEmits) {\n ChartEmits[\"ChartRendered\"] = \"chart:rendered\";\n ChartEmits[\"ChartUpdated\"] = \"chart:updated\";\n ChartEmits[\"ChartDestroyed\"] = \"chart:destroyed\";\n ChartEmits[\"LabelsUpdated\"] = \"labels:updated\";\n})(ChartEmits || (ChartEmits = {}));\nfunction chartCreate(createChartFunction, chartData, chartOptions, context) {\n createChartFunction(chartData, chartOptions);\n if (context !== undefined) {\n context.emit(ChartEmits.ChartRendered);\n }\n}\nfunction chartUpdate(chart, context) {\n chart.update();\n if (context !== undefined) {\n context.emit(ChartEmits.ChartUpdated);\n }\n}\nfunction chartDestroy(chart, context) {\n chart.destroy();\n if (context !== undefined) {\n context.emit(ChartEmits.ChartDestroyed);\n }\n}\nfunction getChartData(data, datasetIdKey) {\n const nextData = {\n labels: typeof data.labels === \"undefined\" ? [] : [\n ...data.labels\n ],\n datasets: []\n };\n setChartDatasets(nextData, {\n ...data\n }, datasetIdKey);\n return nextData;\n}\nfunction setChartDatasets(oldData, newData, datasetIdKey) {\n const addedDatasets = [];\n oldData.datasets = newData.datasets.map((nextDataset)=>{\n // given the new set, find it's current match\n const currentDataset = oldData.datasets.find((dataset)=>dataset[datasetIdKey] === nextDataset[datasetIdKey]);\n // There is no original to update, so simply add new one\n if (!currentDataset || !nextDataset.data || addedDatasets.includes(currentDataset)) {\n return {\n ...nextDataset\n };\n }\n addedDatasets.push(currentDataset);\n Object.assign(currentDataset, nextDataset);\n return currentDataset;\n });\n}\nfunction setChartLabels(chart, labels, context) {\n chart.data.labels = labels;\n if (context !== undefined) {\n context.emit(ChartEmits.LabelsUpdated);\n }\n}\nfunction setChartOptions(chart, options) {\n chart.options = {\n ...options\n };\n}\nfunction compareData(newData, oldData) {\n // Get new and old DataSet Labels\n const newDatasetLabels = newData.datasets.map((dataset)=>{\n return dataset.label;\n });\n const oldDatasetLabels = oldData.datasets.map((dataset)=>{\n return dataset.label;\n });\n // Check if Labels are equal and if dataset length is equal\n return oldData.datasets.length === newData.datasets.length && newDatasetLabels.every((value, index)=>value === oldDatasetLabels[index]);\n}\nconst templateError = \"Please remove the <template></template> tags from your chart component. See https://vue-chartjs.org/guide/#vue-single-file-components\";\nconst chartUpdateError = \"Update ERROR: chart instance not found\";\n\nconst generateChart = (chartId, chartType, chartController)=>{\n return defineComponent({\n props: {\n chartData: {\n type: Object,\n required: true\n },\n chartOptions: {\n type: Object,\n default: ()=>{}\n },\n datasetIdKey: {\n type: String,\n default: \"label\"\n },\n chartId: {\n type: String,\n default: chartId\n },\n width: {\n type: Number,\n default: 400\n },\n height: {\n type: Number,\n default: 400\n },\n cssClasses: {\n type: String,\n default: \"\"\n },\n styles: {\n type: Object,\n default: ()=>{}\n },\n plugins: {\n type: Array,\n default: ()=>[]\n }\n },\n setup (props, context) {\n Chart.register(chartController);\n const _chart = shallowRef(null);\n const canvasEl = ref(null);\n function renderChart(data, options) {\n if (_chart.value !== null) {\n chartDestroy(toRaw(_chart.value), context);\n }\n if (canvasEl.value === null) {\n throw new Error(templateError);\n } else {\n const chartData = getChartData(data, props.datasetIdKey);\n const canvasEl2DContext = canvasEl.value.getContext(\"2d\");\n if (canvasEl2DContext !== null) {\n _chart.value = new Chart(canvasEl2DContext, {\n type: chartType,\n data: isProxy(data) ? new Proxy(chartData, {}) : chartData,\n options,\n plugins: props.plugins\n });\n }\n }\n }\n function chartDataHandler(newValue, oldValue) {\n const newData = isProxy(newValue) ? toRaw(newValue) : {\n ...newValue\n };\n const oldData = isProxy(oldValue) ? toRaw(oldValue) : {\n ...oldValue\n };\n if (Object.keys(oldData).length > 0) {\n const chart = toRaw(_chart.value);\n const isEqualLabelsAndDatasetsLength = compareData(newData, oldData);\n if (isEqualLabelsAndDatasetsLength && chart !== null) {\n setChartDatasets(chart === null || chart === void 0 ? void 0 : chart.data, newData, props.datasetIdKey);\n if (newData.labels !== undefined) {\n setChartLabels(chart, newData.labels, context);\n }\n updateChart();\n } else {\n if (chart !== null) {\n chartDestroy(chart, context);\n }\n chartCreate(renderChart, props.chartData, props.chartOptions, context);\n }\n } else {\n if (_chart.value !== null) {\n chartDestroy(toRaw(_chart.value), context);\n }\n chartCreate(renderChart, props.chartData, props.chartOptions, context);\n }\n }\n function chartOptionsHandler(options) {\n const chart = toRaw(_chart.value);\n if (chart !== null) {\n setChartOptions(chart, options);\n updateChart();\n } else {\n chartCreate(renderChart, props.chartData, props.chartOptions, context);\n }\n }\n function updateChart() {\n const chart = toRaw(_chart.value);\n if (chart !== null) {\n chartUpdate(chart, context);\n } else {\n console.error(chartUpdateError);\n }\n }\n watch(()=>props.chartData, (newValue, oldValue)=>chartDataHandler(newValue, oldValue), {\n deep: true\n });\n watch(()=>props.chartOptions, (newValue)=>chartOptionsHandler(newValue), {\n deep: true\n });\n onMounted(()=>{\n if (\"datasets\" in props.chartData && props.chartData.datasets.length > 0) {\n chartCreate(renderChart, props.chartData, props.chartOptions, context);\n }\n });\n onBeforeUnmount(()=>{\n if (_chart.value !== null) {\n chartDestroy(toRaw(_chart.value), context);\n }\n });\n context.expose({\n chart: _chart,\n updateChart\n });\n return ()=>h(\"div\", {\n style: props.styles,\n class: props.cssClasses\n }, [\n h(\"canvas\", {\n id: props.chartId,\n width: props.width,\n height: props.height,\n ref: canvasEl\n })\n ]);\n }\n });\n};\nconst Bar = /* #__PURE__ */ generateChart(\"bar-chart\", \"bar\", BarController);\nconst Doughnut = /* #__PURE__ */ generateChart(\"doughnut-chart\", \"doughnut\", DoughnutController);\nconst Line = /* #__PURE__ */ generateChart(\"line-chart\", \"line\", LineController);\nconst Pie = /* #__PURE__ */ generateChart(\"pie-chart\", \"pie\", PieController);\nconst PolarArea = /* #__PURE__ */ generateChart(\"polar-chart\", \"polarArea\", PolarAreaController);\nconst Radar = /* #__PURE__ */ generateChart(\"radar-chart\", \"radar\", RadarController);\nconst Bubble = /* #__PURE__ */ generateChart(\"bubble-chart\", \"bubble\", BubbleController);\nconst Scatter = /* #__PURE__ */ generateChart(\"scatter-chart\", \"scatter\", ScatterController);\n\nexport { Bar, Bubble, Doughnut, Line, Pie, PolarArea, Radar, Scatter, generateChart };\n//# sourceMappingURL=index.js.map\n","export * from \"-!../../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=6faae875&prod&lang=scss&\"","\nexport default {\n name: \"WidgetText\",\n props: {\n widget: {\n type: Object,\n },\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Text.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Text.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Text.vue?vue&type=template&id=cc3783ee&\"\nimport script from \"./Text.vue?vue&type=script&lang=js&\"\nexport * from \"./Text.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {Markdown: require('/usr/app/components/markdown/Markdown.vue').default,Button: require('/usr/app/components/button/Button.vue').default})\n","\nexport default {\n name: \"CardsDownload\",\n props: {\n card: {\n type: Object,\n },\n },\n data() {\n return {\n cdnUrl: \"\",\n };\n },\n created() {\n this.cdnUrl = process.env.NUXT_ENV_CDN_URL;\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Download.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Download.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Download.vue?vue&type=template&id=25d9137f&\"\nimport script from \"./Download.vue?vue&type=script&lang=js&\"\nexport * from \"./Download.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\nimport lang from \"@/mixins/lang.js\";\nimport { dateMixin } from \"@/mixins/date.js\";\nimport { utils } from \"@/mixins/utils.js\";\nexport default {\n name: \"CardsDefault\",\n mixins: [lang, utils, dateMixin],\n props: {\n card: {\n type: Object,\n },\n dynamicParentSlug: {\n type: String,\n },\n },\n data() {\n return {\n cdnUrl: \"\",\n };\n },\n created() {\n this.cdnUrl = process.env.NUXT_ENV_CDN_URL;\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Video.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Video.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Video.vue?vue&type=template&id=26f25653&\"\nimport script from \"./Video.vue?vue&type=script&lang=js&\"\nexport * from \"./Video.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\nimport lang from \"@/mixins/lang.js\";\nimport { dateMixin } from \"@/mixins/date.js\";\nimport { utils } from \"@/mixins/utils.js\";\nexport default {\n name: \"CardsSlim\",\n mixins: [lang, utils, dateMixin],\n props: {\n card: {\n type: Object,\n },\n dynamicParentSlug: {\n type: String,\n },\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Slim.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Slim.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Slim.vue?vue&type=template&id=17b16b60&\"\nimport script from \"./Slim.vue?vue&type=script&lang=js&\"\nexport * from \"./Slim.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Slim.vue?vue&type=style&index=0&id=17b16b60&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","'use strict';\nvar $ = require('../internals/export');\nvar $findIndex = require('../internals/array-iteration').findIndex;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND_INDEX = 'findIndex';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\n// eslint-disable-next-line es/no-array-prototype-findindex -- testing\nif (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.findIndex` method\n// https://tc39.es/ecma262/#sec-array.prototype.findindex\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND_INDEX);\n","// Styles\nimport './VRipple.sass'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeDirective } from 'vue'\n\ntype VuetifyRippleEvent = (MouseEvent | TouchEvent | KeyboardEvent) & { rippleStop?: boolean }\n\nconst DELAY_RIPPLE = 80\n\nfunction transform (el: HTMLElement, value: string) {\n el.style.transform = value\n el.style.webkitTransform = value\n}\n\nexport interface RippleOptions {\n class?: string\n center?: boolean\n circle?: boolean\n}\n\nfunction isTouchEvent (e: VuetifyRippleEvent): e is TouchEvent {\n return e.constructor.name === 'TouchEvent'\n}\n\nfunction isKeyboardEvent (e: VuetifyRippleEvent): e is KeyboardEvent {\n return e.constructor.name === 'KeyboardEvent'\n}\n\nconst calculate = (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n) => {\n let localX = 0\n let localY = 0\n\n if (!isKeyboardEvent(e)) {\n const offset = el.getBoundingClientRect()\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e\n\n localX = target.clientX - offset.left\n localY = target.clientY - offset.top\n }\n\n let radius = 0\n let scale = 0.3\n if (el._ripple && el._ripple.circle) {\n scale = 0.15\n radius = el.clientWidth / 2\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2\n }\n\n const centerX = `${(el.clientWidth - (radius * 2)) / 2}px`\n const centerY = `${(el.clientHeight - (radius * 2)) / 2}px`\n\n const x = value.center ? centerX : `${localX - radius}px`\n const y = value.center ? centerY : `${localY - radius}px`\n\n return { radius, scale, x, y, centerX, centerY }\n}\n\nconst ripples = {\n /* eslint-disable max-statements */\n show (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n ) {\n if (!el._ripple || !el._ripple.enabled) {\n return\n }\n\n const container = document.createElement('span')\n const animation = document.createElement('span')\n\n container.appendChild(animation)\n container.className = 'v-ripple__container'\n\n if (value.class) {\n container.className += ` ${value.class}`\n }\n\n const { radius, scale, x, y, centerX, centerY } = calculate(e, el, value)\n\n const size = `${radius * 2}px`\n animation.className = 'v-ripple__animation'\n animation.style.width = size\n animation.style.height = size\n\n el.appendChild(container)\n\n const computed = window.getComputedStyle(el)\n if (computed && computed.position === 'static') {\n el.style.position = 'relative'\n el.dataset.previousPosition = 'static'\n }\n\n animation.classList.add('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--visible')\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`)\n animation.dataset.activated = String(performance.now())\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--in')\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`)\n }, 0)\n },\n\n hide (el: HTMLElement | null) {\n if (!el || !el._ripple || !el._ripple.enabled) return\n\n const ripples = el.getElementsByClassName('v-ripple__animation')\n\n if (ripples.length === 0) return\n const animation = ripples[ripples.length - 1]\n\n if (animation.dataset.isHiding) return\n else animation.dataset.isHiding = 'true'\n\n const diff = performance.now() - Number(animation.dataset.activated)\n const delay = Math.max(250 - diff, 0)\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in')\n animation.classList.add('v-ripple__animation--out')\n\n setTimeout(() => {\n const ripples = el.getElementsByClassName('v-ripple__animation')\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition\n delete el.dataset.previousPosition\n }\n\n if (animation.parentNode?.parentNode === el) el.removeChild(animation.parentNode)\n }, 300)\n }, delay)\n },\n}\n\nfunction isRippleEnabled (value: any): value is true {\n return typeof value === 'undefined' || !!value\n}\n\nfunction rippleShow (e: VuetifyRippleEvent) {\n const value: RippleOptions = {}\n const element = e.currentTarget as HTMLElement\n\n if (!element || !element._ripple || element._ripple.touched || e.rippleStop) return\n\n // Don't allow the event to trigger ripples on any other elements\n e.rippleStop = true\n\n if (isTouchEvent(e)) {\n element._ripple.touched = true\n element._ripple.isTouch = true\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return\n }\n value.center = element._ripple.centered || isKeyboardEvent(e)\n if (element._ripple.class) {\n value.class = element._ripple.class\n }\n\n if (isTouchEvent(e)) {\n // already queued that shows or hides the ripple\n if (element._ripple.showTimerCommit) return\n\n element._ripple.showTimerCommit = () => {\n ripples.show(e, element, value)\n }\n element._ripple.showTimer = window.setTimeout(() => {\n if (element && element._ripple && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n }\n }, DELAY_RIPPLE)\n } else {\n ripples.show(e, element, value)\n }\n}\n\nfunction rippleHide (e: Event) {\n const element = e.currentTarget as HTMLElement | null\n if (!element || !element._ripple) return\n\n window.clearTimeout(element._ripple.showTimer)\n\n // The touch interaction occurs before the show timer is triggered.\n // We still want to show ripple effect.\n if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n\n // re-queue ripple hiding\n element._ripple.showTimer = setTimeout(() => {\n rippleHide(e)\n })\n return\n }\n\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false\n }\n })\n ripples.hide(element)\n}\n\nfunction rippleCancelShow (e: MouseEvent | TouchEvent) {\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element || !element._ripple) return\n\n if (element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit = null\n }\n\n window.clearTimeout(element._ripple.showTimer)\n}\n\nlet keyboardRipple = false\n\nfunction keyboardRippleShow (e: KeyboardEvent) {\n if (!keyboardRipple && (e.keyCode === keyCodes.enter || e.keyCode === keyCodes.space)) {\n keyboardRipple = true\n rippleShow(e)\n }\n}\n\nfunction keyboardRippleHide (e: KeyboardEvent) {\n keyboardRipple = false\n rippleHide(e)\n}\n\nfunction focusRippleHide (e: FocusEvent) {\n if (keyboardRipple === true) {\n keyboardRipple = false\n rippleHide(e)\n }\n}\n\nfunction updateRipple (el: HTMLElement, binding: VNodeDirective, wasEnabled: boolean) {\n const enabled = isRippleEnabled(binding.value)\n if (!enabled) {\n ripples.hide(el)\n }\n el._ripple = el._ripple || {}\n el._ripple.enabled = enabled\n const value = binding.value || {}\n if (value.center) {\n el._ripple.centered = true\n }\n if (value.class) {\n el._ripple.class = binding.value.class\n }\n if (value.circle) {\n el._ripple.circle = value.circle\n }\n if (enabled && !wasEnabled) {\n el.addEventListener('touchstart', rippleShow, { passive: true })\n el.addEventListener('touchend', rippleHide, { passive: true })\n el.addEventListener('touchmove', rippleCancelShow, { passive: true })\n el.addEventListener('touchcancel', rippleHide)\n\n el.addEventListener('mousedown', rippleShow)\n el.addEventListener('mouseup', rippleHide)\n el.addEventListener('mouseleave', rippleHide)\n\n el.addEventListener('keydown', keyboardRippleShow)\n el.addEventListener('keyup', keyboardRippleHide)\n\n el.addEventListener('blur', focusRippleHide)\n\n // Anchor tags can be dragged, causes other hides to fail - #1537\n el.addEventListener('dragstart', rippleHide, { passive: true })\n } else if (!enabled && wasEnabled) {\n removeListeners(el)\n }\n}\n\nfunction removeListeners (el: HTMLElement) {\n el.removeEventListener('mousedown', rippleShow)\n el.removeEventListener('touchstart', rippleShow)\n el.removeEventListener('touchend', rippleHide)\n el.removeEventListener('touchmove', rippleCancelShow)\n el.removeEventListener('touchcancel', rippleHide)\n el.removeEventListener('mouseup', rippleHide)\n el.removeEventListener('mouseleave', rippleHide)\n el.removeEventListener('keydown', keyboardRippleShow)\n el.removeEventListener('keyup', keyboardRippleHide)\n el.removeEventListener('dragstart', rippleHide)\n el.removeEventListener('blur', focusRippleHide)\n}\n\nfunction directive (el: HTMLElement, binding: VNodeDirective, node: VNode) {\n updateRipple(el, binding, false)\n\n if (process.env.NODE_ENV === 'development') {\n // warn if an inline element is used, waiting for el to be in the DOM first\n node.context && node.context.$nextTick(() => {\n const computed = window.getComputedStyle(el)\n if (computed && computed.display === 'inline') {\n const context = (node as any).fnOptions ? [(node as any).fnOptions, node.context] : [node.componentInstance]\n consoleWarn('v-ripple can only be used on block-level elements', ...context)\n }\n })\n }\n}\n\nfunction unbind (el: HTMLElement) {\n delete el._ripple\n removeListeners(el)\n}\n\nfunction update (el: HTMLElement, binding: VNodeDirective) {\n if (binding.value === binding.oldValue) {\n return\n }\n\n const wasEnabled = isRippleEnabled(binding.oldValue)\n updateRipple(el, binding, wasEnabled)\n}\n\nexport const Ripple = {\n bind: directive,\n unbind,\n update,\n}\n\nexport default Ripple\n","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","export * from \"-!../../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Slider.vue?vue&type=style&index=0&id=6e2581b6&prod&lang=scss&\"","export * from \"-!../../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Slim.vue?vue&type=style&index=0&id=17b16b60&prod&lang=scss&\"","\nimport lang from \"@/mixins/lang.js\";\nimport { utils } from \"@/mixins/utils.js\";\n\nexport default {\n name: \"ButtonBox\",\n mixins: [lang, utils],\n props: {\n label: {\n type: String,\n },\n url: {\n type: String,\n },\n external: {\n type: Boolean,\n default: false,\n },\n enabled: {\n type: Boolean,\n default: true,\n },\n dynamicParentSlug: {\n type: String,\n },\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./ButtonBox.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./ButtonBox.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ButtonBox.vue?vue&type=template&id=1bb4c9bc&scoped=true&\"\nimport script from \"./ButtonBox.vue?vue&type=script&lang=js&\"\nexport * from \"./ButtonBox.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ButtonBox.vue?vue&type=style&index=0&id=1bb4c9bc&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1bb4c9bc\",\n null\n \n)\n\nexport default component.exports","\nimport device from \"@/mixins/device.js\";\nexport default {\n name: \"Accordion\",\n mixins: [device],\n props: {\n content: {\n type: Array,\n },\n accordion: {\n type: Object,\n },\n },\n data() {\n return {\n accordionIndex: null,\n };\n },\n methods: {\n accordions(title, key) {\n this.accordionIndex == `${title}${key}`\n ? (this.accordionIndex = null)\n : (this.accordionIndex = `${title}${key}`);\n },\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Accordion.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Accordion.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Accordion.vue?vue&type=template&id=d3531f68&\"\nimport script from \"./Accordion.vue?vue&type=script&lang=js&\"\nexport * from \"./Accordion.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {Markdown: require('/usr/app/components/markdown/Markdown.vue').default,DownloadLink: require('/usr/app/components/downloadLink/DownloadLink.vue').default})\n","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","\nexport default {\n /**\n * @param {endpoint} - içerik verilerinin url sorgularını sağlar.\n * Vue lifecycle `fetch` sırasında @param {this.$axios} ve @param {endpoint} kullanarak\n * Tüm veriler @param {endpointData} değişkenine atanır.\n */\n name: \"WidgetApp\",\n props: {\n widget: {\n type: Object,\n },\n endpoint: {\n type: String,\n default: null,\n },\n },\n data() {\n return {\n endpointData: null,\n };\n },\n async fetch() {\n if (!!this.endpoint) {\n try {\n const response = await this.$axios.get(`${this.endpoint}`);\n this.endpointData = response.data.data;\n } catch (error) {\n console.error(error);\n }\n }\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=264164df&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {CardsApp: require('/usr/app/components/cards/App.vue').default,Button: require('/usr/app/components/button/Button.vue').default})\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./SliderTwo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./SliderTwo.vue?vue&type=script&lang=js&\"","\nimport lang from \"@/mixins/lang.js\";\nimport { utils } from \"@/mixins/utils.js\";\nimport ProgressBar from \"progressbar.js\";\nimport dynamicPagesParentsSlugs from \"@/mixins/dynamic-pages-parents-slug\";\n\nexport default {\n name: \"ModulesSliderTwo\",\n mixins: [lang, dynamicPagesParentsSlugs, utils],\n props: {\n section: {\n type: Object,\n },\n size: {\n type: String,\n default: \"sm\",\n },\n duration: {\n type: Number,\n default: 8000,\n },\n dynamicParentSlug: {\n type: String,\n },\n },\n data() {\n return {\n modalStatus: false,\n videoEmbedUrl: null,\n video: null,\n featuredMedia: null,\n section_slider_slides_settings: {\n arrows: false,\n dots: false,\n draggable: true,\n infinite: true,\n slidesToShow: 1,\n fade: true,\n pauseOnHover: false,\n },\n section_slider_thumbs_settings: {\n arrows: false,\n dots: false,\n draggable: false,\n slidesToShow: this.size == \"lg\" ? 3 : 2,\n autoplay: true,\n speed: 250,\n pauseOnHover: false,\n autoplaySpeed: this.duration,\n responsive: [\n {\n breakpoint: 1024,\n settings: {\n slidesToShow: 2,\n slidesToScroll: 1,\n draggable: true,\n },\n },\n ],\n },\n };\n },\n async mounted() {\n this.videoEmbedUrl = null;\n this.featuredMedia = null;\n this.video = null;\n },\n methods: {\n showModal(embedUrl, video, featuredMedia) {\n this.modalStatus = false;\n this.modalStatus = true;\n\n this.video = video?.data?.attributes ?? null;\n\n this.videoEmbedUrl = embedUrl\n ? embedUrl.replace(\"watch?v=\", \"embed/\")\n : null;\n\n this.featuredMedia = featuredMedia?.data?.attributes ?? null;\n\n this.$refs.hero_slider_thumbs.pause();\n this.svgBarDefault();\n },\n svgBarDefault() {\n const sliderButton = document.querySelector(\n \".slick-current .slider-button\"\n );\n if (sliderButton) {\n sliderButton.innerHTML =\n '<div class=\"playDefault\"><i class=\"fas fa-angle-right text-sm text-blue-500\"></i></div>';\n } else {\n return;\n console.warn(\"sliderButton not found in the DOM\");\n }\n },\n svgBarCircle() {\n const sliderButton = document.querySelector(\n \".slick-current .slider-button\"\n );\n if (sliderButton) {\n sliderButton.innerHTML =\n '<div class=\"playDot\"><i class=\"fas fa-angle-right text-sm text-blue-500\"></i></div>';\n const bar = new ProgressBar.Circle(\".playDot\", {\n strokeWidth: 7,\n easing: \"easeInOut\",\n duration: this.duration,\n color: \"#00AFD9\",\n trailColor: \"#27549D\",\n trailWidth: 2,\n svgStyle: null,\n });\n bar.animate(1.0);\n } else {\n return;\n console.warn(\"sliderButton not found in the DOM\");\n }\n },\n onInitCarousel() {\n const sliderSection = document.querySelector(\".slider-section\");\n if (sliderSection && sliderSection.classList.length < 5) {\n sliderSection.classList.add(\"active-slider\");\n this.svgBarCircle();\n }\n },\n beforeChangeCarousel() {\n this.svgBarDefault();\n this.$refs.hero_slider_thumbs.pause();\n },\n afterChangeCarousel() {\n this.svgBarCircle();\n this.$refs.hero_slider_thumbs.play();\n },\n },\n};\n","import { render, staticRenderFns } from \"./SliderTwo.vue?vue&type=template&id=820d69c2&\"\nimport script from \"./SliderTwo.vue?vue&type=script&lang=js&\"\nexport * from \"./SliderTwo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SliderTwo.vue?vue&type=style&index=0&id=820d69c2&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {Picture: require('/usr/app/components/picture/picture.vue').default,Modal: require('/usr/app/components/modal/Modal.vue').default})\n","\nexport default {\n name: \"SectionsTextSections\",\n props: {\n section: {\n type: Object,\n },\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./TextSections.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./TextSections.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TextSections.vue?vue&type=template&id=0f53a6f4&\"\nimport script from \"./TextSections.vue?vue&type=script&lang=js&\"\nexport * from \"./TextSections.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {Markdown: require('/usr/app/components/markdown/Markdown.vue').default})\n","export * from \"-!../../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./SliderTwo.vue?vue&type=style&index=0&id=820d69c2&prod&lang=scss&\"","export * from \"-!../../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./ButtonBox.vue?vue&type=style&index=0&id=1bb4c9bc&prod&lang=scss&scoped=true&\"","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","import { VNodeDirective } from 'vue/types/vnode'\nimport { VNode } from 'vue'\n\ninterface ResizeVNodeDirective extends VNodeDirective {\n value?: () => void\n options?: boolean | AddEventListenerOptions\n}\n\nfunction inserted (el: HTMLElement, binding: ResizeVNodeDirective, vnode: VNode) {\n const callback = binding.value!\n const options = binding.options || { passive: true }\n\n window.addEventListener('resize', callback, options)\n\n el._onResize = Object(el._onResize)\n el._onResize![vnode.context!._uid] = {\n callback,\n options,\n }\n\n if (!binding.modifiers || !binding.modifiers.quiet) {\n callback()\n }\n}\n\nfunction unbind (el: HTMLElement, binding: ResizeVNodeDirective, vnode: VNode) {\n if (!el._onResize?.[vnode.context!._uid]) return\n\n const { callback, options } = el._onResize[vnode.context!._uid]!\n\n window.removeEventListener('resize', callback, options)\n\n delete el._onResize[vnode.context!._uid]\n}\n\nexport const Resize = {\n inserted,\n unbind,\n}\n\nexport default Resize\n","\nimport lang from \"@/mixins/lang.js\";\n\nexport default {\n name: \"PersonDetail\",\n mixins: [lang],\n props: {\n card: {\n type: Object,\n },\n },\n data() {\n return {\n cdnUrl: \"\",\n };\n },\n created() {\n this.cdnUrl = process.env.NUXT_ENV_CDN_URL;\n },\n mounted() {\n const html = document.querySelector(\"html\");\n html.classList.remove(\"overflow-hidden\");\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./PersonDetail.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./PersonDetail.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PersonDetail.vue?vue&type=template&id=1bc8d0dc&scoped=true&\"\nimport script from \"./PersonDetail.vue?vue&type=script&lang=js&\"\nexport * from \"./PersonDetail.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PersonDetail.vue?vue&type=style&index=0&id=1bc8d0dc&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1bc8d0dc\",\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {Markdown: require('/usr/app/components/markdown/Markdown.vue').default})\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Default.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Default.vue?vue&type=script&lang=js&\"","\nimport lang from \"@/mixins/lang.js\";\nimport dynamicPagesParentsSlugs from \"@/mixins/dynamic-pages-parents-slug\";\nexport default {\n name: \"ModulesDefault\",\n mixins: [lang, dynamicPagesParentsSlugs],\n props: {\n /**\n * @param {endpoint} - içerik verilerinin url sorgularını sağlar.\n * Vue lifecycle `fetch` sırasında @param {this.$axios} ve @param {endpoint} kullanarak\n * Tüm veriler @param {endpointData} değişkenine atanır.\n */\n section: {\n type: Object,\n },\n endpoint: {\n type: String,\n default: null,\n },\n sectionLayout: {\n type: Number,\n },\n filterslug: {\n type: String,\n },\n },\n data() {\n return {\n endpointData: null,\n getEndpoint: null,\n };\n },\n async mounted() {\n this.getEndpoint = await this.endpoint;\n let modifiedEndpoint = await this.endpoint;\n try {\n if (!!this.endpoint) {\n modifiedEndpoint = this.endpoint.includes(\"filterslug=true\")\n ? `${this.endpoint}${this.filterslug}`\n : this.endpoint;\n }\n\n const response = await this.$axios.get(modifiedEndpoint);\n this.endpointData = response.data.data;\n } catch (error) {\n }\n },\n // async fetch() {\n // let modifiedEndpoint = await this.endpoint;\n // try {\n // if (!!this.endpoint) {\n // modifiedEndpoint = this.endpoint.includes(\"filterslug=true\")\n // ? `${this.endpoint}${this.filterslug}`\n // : this.endpoint;\n // }\n\n // const response = await this.$axios.get(modifiedEndpoint);\n // this.endpointData = response.data.data;\n // } catch (error) {\n // console.log(\"ModulesDefault\", error);\n // }\n // },\n};\n","import { render, staticRenderFns } from \"./Default.vue?vue&type=template&id=714f6e11&\"\nimport script from \"./Default.vue?vue&type=script&lang=js&\"\nexport * from \"./Default.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {CardsDefault: require('/usr/app/components/cards/Default.vue').default,CardsDownload: require('/usr/app/components/cards/Download.vue').default,CardsVideo: require('/usr/app/components/cards/Video.vue').default})\n","\nimport lang from \"@/mixins/lang.js\";\nexport default {\n name: \"SideBarSolMenuDynamicZone\",\n mixins: [lang],\n props: {\n data: {\n type: Array,\n },\n parent: {\n type: Boolean,\n },\n },\n methods: {\n icons(icon) {\n switch (icon) {\n case \"bag_shopping\":\n return \"fa-solid fa-bag-shopping\";\n break;\n case \"apple\":\n return \"fa-brands fa-apple\";\n break;\n case \"google_play\":\n return \"fa-brands fa-google-play\";\n break;\n case \"angle_down\":\n return \"fas fa-angle-down\";\n break;\n case \"angle_left\":\n return \"fas fa-angle-left\";\n break;\n case \"angle_right\":\n return \"fas fa-angle-right\";\n break;\n case \"angle_up\":\n return \"fas fa-angle-up\";\n break;\n case \"arrow_down\":\n return \"fas fa-arrow-down\";\n break;\n case \"arrow_down_to_line\":\n return \"fas fa-arrow-to-bottom\";\n break;\n case \"arrow_up\":\n return \"fas fa-arrow-up\";\n break;\n case \"bars\":\n return \"fas fa-bars\";\n break;\n case \"bars_filter\":\n return \"fas fa-bars-filter\";\n break;\n case \"bus\":\n return \"fas fa-bus\";\n break;\n case \"calendar\":\n return \"fa-regular fa-calendar\";\n break;\n case \"camera_movie\":\n return \"fa-solid fa-camera-movie\";\n break;\n case \"check\":\n return \"fas fa-check\";\n break;\n case \"cloud\":\n return \"fas fa-cloud\";\n break;\n case \"facebook\":\n return \"fa-brands fa-facebook-f\";\n break;\n case \"file_lines\":\n return \"fas fa-file-lines\";\n break;\n case \"hand_holding_heart\":\n return \"fa-solid fa-hand-holding-heart\";\n break;\n case \"hands_holding_heart\":\n return \"fa-solid fa-hands-holding-heart\";\n break;\n case \"heart\":\n return \"fas fa-heart\";\n break;\n case \"instagram\":\n return \"fa-brands fa-instagram\";\n break;\n case \"minus\":\n return \"fas fa-minus\";\n break;\n case \"linkedin\":\n return \"fa-brands fa-linkedin\";\n break;\n case \"long_arrow_right\":\n return \"fas fa-long-arrow-right\";\n break;\n case \"paintbrush_pencil\":\n return \"fa-solid fa-paintbrush-pencil\";\n break;\n case \"phone\":\n return \"fas fa-phone\";\n break;\n case \"play\":\n return \"fas fa-play\";\n break;\n case \"search\":\n return \"fas fa-search\";\n break;\n case \"search_plus\":\n return \"fas fa-search-plus\";\n break;\n case \"square_arrow_up_right\":\n return \"fa-light fa-arrow-up-right-from-square\";\n break;\n case \"times\":\n return \"fas fa-times\";\n break;\n case \"tiktok\":\n return \"fa-brands fa-tiktok\";\n break;\n case \"youtube\":\n return \"fa-brands fa-youtube\";\n break;\n case \"twitter\":\n return \"fa-brands fa-x-twitter\";\n }\n },\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./SolMenuDynamicZone.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./SolMenuDynamicZone.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SolMenuDynamicZone.vue?vue&type=template&id=abeffc72&\"\nimport script from \"./SolMenuDynamicZone.vue?vue&type=script&lang=js&\"\nexport * from \"./SolMenuDynamicZone.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n// TODO: lightbox modülü plugins içerisinden yönetilsin.\nimport CoolLightBox from \"vue-cool-lightbox\";\nimport \"vue-cool-lightbox/dist/vue-cool-lightbox.min.css\";\nexport default {\n // Component name\n name: \"Carousel\",\n components: { CoolLightBox },\n props: {\n content: {\n type: Array,\n required: true,\n },\n },\n data() {\n return {\n slickSettings_1: {\n arrows: false,\n dots: false,\n draggable: true,\n infinite: true,\n slidesToShow: 1,\n fade: true,\n pauseOnHover: false,\n },\n slickSettings_2: {\n slidesToShow: 4,\n arrows: false,\n dots: false,\n draggable: false,\n autoplay: false,\n pauseOnHover: false,\n responsive: [\n {\n breakpoint: 1024,\n settings: {\n slidesToShow: 3,\n },\n },\n ],\n },\n galleryIndex: null,\n imagesGallery: [],\n };\n },\n mounted() {\n this.content?.forEach((item) => {\n const imageUrl = item?.attributes?.url;\n\n // \"http\" ifadesini içerip içermediğini kontrol et\n if (imageUrl.indexOf(\"http\") > -1) this.imagesGallery.push(imageUrl);\n else this.imagesGallery.push(process.env.NUXT_ENV_CDN_URL + imageUrl);\n });\n },\n methods: {\n updateGalleryIndex(index) {\n this.galleryIndex = index;\n },\n showPrev() {\n this.$refs.carousel_thumb.prev();\n },\n showNext() {\n this.$refs.carousel_thumb.next();\n },\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Carousel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Carousel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Carousel.vue?vue&type=template&id=594972e7&\"\nimport script from \"./Carousel.vue?vue&type=script&lang=js&\"\nexport * from \"./Carousel.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Carousel.vue?vue&type=style&index=0&id=594972e7&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {Picture: require('/usr/app/components/picture/picture.vue').default})\n","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","export * from \"-!../../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./PersonDetail.vue?vue&type=style&index=0&id=1bc8d0dc&prod&lang=scss&scoped=true&\"","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// Directives\nimport Intersect from '../../directives/intersect'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue from 'vue'\n\nexport default function intersectable (options: { onVisible: string[] }) {\n return Vue.extend({\n name: 'intersectable',\n\n data: () => ({\n isIntersecting: false,\n }),\n\n mounted () {\n Intersect.inserted(this.$el as HTMLElement, {\n name: 'intersect',\n value: this.onObserve,\n }, this.$vnode)\n },\n\n destroyed () {\n Intersect.unbind(this.$el as HTMLElement, {\n name: 'intersect',\n value: this.onObserve,\n }, this.$vnode)\n },\n\n methods: {\n onObserve (entries: IntersectionObserverEntry[], observer: IntersectionObserver, isIntersecting: boolean) {\n this.isIntersecting = isIntersecting\n\n if (!isIntersecting) return\n\n for (let i = 0, length = options.onVisible.length; i < length; i++) {\n const callback = (this as any)[options.onVisible[i]]\n\n if (typeof callback === 'function') {\n callback()\n continue\n }\n\n consoleWarn(options.onVisible[i] + ' method is not available on the instance but referenced in intersectable mixin options')\n }\n },\n },\n })\n}\n","import { VNodeDirective } from 'vue/types/vnode'\nimport { VNode } from 'vue'\n\ntype ObserveHandler = (\n entries: IntersectionObserverEntry[],\n observer: IntersectionObserver,\n isIntersecting: boolean,\n) => void\n\ninterface ObserveVNodeDirective extends Omit<VNodeDirective, 'modifiers'> {\n value?: ObserveHandler | { handler: ObserveHandler, options?: IntersectionObserverInit }\n modifiers?: {\n once?: boolean\n quiet?: boolean\n }\n}\n\nfunction inserted (el: HTMLElement, binding: ObserveVNodeDirective, vnode: VNode) {\n if (typeof window === 'undefined' || !('IntersectionObserver' in window)) return\n\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const { handler, options } = typeof value === 'object'\n ? value\n : { handler: value, options: {} }\n const observer = new IntersectionObserver((\n entries: IntersectionObserverEntry[] = [],\n observer: IntersectionObserver\n ) => {\n const _observe = el._observe?.[vnode.context!._uid]\n if (!_observe) return // Just in case, should never fire\n\n const isIntersecting = entries.some(entry => entry.isIntersecting)\n\n // If is not quiet or has already been\n // initted, invoke the user callback\n if (\n handler && (\n !modifiers.quiet ||\n _observe.init\n ) && (\n !modifiers.once ||\n isIntersecting ||\n _observe.init\n )\n ) {\n handler(entries, observer, isIntersecting)\n }\n\n if (isIntersecting && modifiers.once) unbind(el, binding, vnode)\n else _observe.init = true\n }, options)\n\n el._observe = Object(el._observe)\n el._observe![vnode.context!._uid] = { init: false, observer }\n\n observer.observe(el)\n}\n\nfunction unbind (el: HTMLElement, binding: ObserveVNodeDirective, vnode: VNode) {\n const observe = el._observe?.[vnode.context!._uid]\n if (!observe) return\n\n observe.observer.unobserve(el)\n delete el._observe![vnode.context!._uid]\n}\n\nexport const Intersect = {\n inserted,\n unbind,\n}\n\nexport default Intersect\n","import Vue, { VueConstructor } from 'vue'\n\nexport type Toggleable<T extends string = 'value'> = VueConstructor<Vue & { isActive: boolean } & Record<T, any>>\n\nexport function factory<T extends string = 'value'> (prop?: T, event?: string): Toggleable<T>\nexport function factory (prop = 'value', event = 'input') {\n return Vue.extend({\n name: 'toggleable',\n\n model: { prop, event },\n\n props: {\n [prop]: { required: false },\n },\n\n data () {\n return {\n isActive: !!this[prop],\n }\n },\n\n watch: {\n [prop] (val) {\n this.isActive = !!val\n },\n isActive (val) {\n !!val !== this[prop] && this.$emit(event, val)\n },\n },\n })\n}\n\n/* eslint-disable-next-line @typescript-eslint/no-redeclare */\nconst Toggleable = factory()\n\nexport default Toggleable\n","// TODO: Remove from `core-js@4`\nrequire('../modules/es.string.replace-all');\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar getSubstitution = require('../internals/get-substitution');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar $TypeError = TypeError;\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar max = Math.max;\n\nvar stringIndexOf = function (string, searchValue, fromIndex) {\n if (fromIndex > string.length) return -1;\n if (searchValue === '') return fromIndex;\n return indexOf(string, searchValue, fromIndex);\n};\n\n// `String.prototype.replaceAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.replaceall\n$({ target: 'String', proto: true }, {\n replaceAll: function replaceAll(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;\n var position = 0;\n var endOfLastMatch = 0;\n var result = '';\n if (!isNullOrUndefined(searchValue)) {\n IS_REG_EXP = isRegExp(searchValue);\n if (IS_REG_EXP) {\n flags = toString(requireObjectCoercible(getRegExpFlags(searchValue)));\n if (!~indexOf(flags, 'g')) throw $TypeError('`.replaceAll` does not allow non-global regexes');\n }\n replacer = getMethod(searchValue, REPLACE);\n if (replacer) {\n return call(replacer, searchValue, O, replaceValue);\n } else if (IS_PURE && IS_REG_EXP) {\n return replace(toString(O), searchValue, replaceValue);\n }\n }\n string = toString(O);\n searchString = toString(searchValue);\n functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n searchLength = searchString.length;\n advanceBy = max(1, searchLength);\n position = stringIndexOf(string, searchString, 0);\n while (position !== -1) {\n replacement = functionalReplace\n ? toString(replaceValue(searchString, position, string))\n : getSubstitution(searchString, string, position, [], undefined, replaceValue);\n result += stringSlice(string, endOfLastMatch, position) + replacement;\n endOfLastMatch = position + searchLength;\n position = stringIndexOf(string, searchString, position + advanceBy);\n }\n if (endOfLastMatch < string.length) {\n result += stringSlice(string, endOfLastMatch);\n }\n return result;\n }\n});\n","var $ = require('../internals/export');\n\n// `Number.MAX_SAFE_INTEGER` constant\n// https://tc39.es/ecma262/#sec-number.max_safe_integer\n$({ target: 'Number', stat: true, nonConfigurable: true, nonWritable: true }, {\n MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF\n});\n","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","export * from \"-!../../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Pagination.vue?vue&type=style&index=0&id=389f6ca6&prod&lang=scss&\"","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","import './VPagination.sass'\n\nimport VIcon from '../VIcon'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Intersectable from '../../mixins/intersectable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, CreateElement, VNodeChildrenArrayContents } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Intersectable({ onVisible: ['init'] }),\n Themeable\n).extend({\n name: 'v-pagination',\n\n directives: { Resize },\n\n props: {\n circle: Boolean,\n disabled: Boolean,\n navigationColor: String,\n navigationTextColor: String,\n length: {\n type: Number,\n default: 0,\n validator: (val: number) => val % 1 === 0,\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n totalVisible: [Number, String],\n value: {\n type: Number,\n default: 0,\n },\n pageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.page',\n },\n currentPageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.currentPage',\n },\n previousAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.previous',\n },\n nextAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.next',\n },\n wrapperAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.wrapper',\n },\n },\n\n data () {\n return {\n maxButtons: 0,\n selected: null as number | null,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-pagination': true,\n 'v-pagination--circle': this.circle,\n 'v-pagination--disabled': this.disabled,\n ...this.themeClasses,\n }\n },\n\n items (): (string | number)[] {\n const totalVisible = parseInt(this.totalVisible, 10)\n\n if (totalVisible === 0 || isNaN(this.length) || this.length > Number.MAX_SAFE_INTEGER) {\n return []\n }\n\n const maxLength = Math.min(\n Math.max(0, totalVisible) || this.length,\n Math.max(0, this.maxButtons) || this.length,\n this.length\n )\n\n if (this.length <= maxLength) {\n return this.range(1, this.length)\n }\n\n const even = maxLength % 2 === 0 ? 1 : 0\n const left = Math.floor(maxLength / 2)\n const right = this.length - left + 1 + even\n\n if (this.value > left && this.value < right) {\n const firstItem = 1\n const lastItem = this.length\n const start = this.value - left + 2\n const end = this.value + left - 2 - even\n const secondItem = start - 1 === firstItem + 1 ? 2 : '...'\n const beforeLastItem = end + 1 === lastItem - 1 ? end + 1 : '...'\n\n return [1, secondItem, ...this.range(start, end), beforeLastItem, this.length]\n } else if (this.value === left) {\n const end = this.value + left - 1 - even\n return [...this.range(1, end), '...', this.length]\n } else if (this.value === right) {\n const start = this.value - left + 1\n return [1, '...', ...this.range(start, this.length)]\n } else {\n return [\n ...this.range(1, left),\n '...',\n ...this.range(right, this.length),\n ]\n }\n },\n },\n\n watch: {\n value () {\n this.init()\n },\n },\n\n beforeMount () {\n this.init()\n },\n\n methods: {\n init () {\n this.selected = null\n\n this.onResize()\n this.$nextTick(this.onResize)\n // TODO: Change this (f75dee3a, cbdf7caa)\n setTimeout(() => (this.selected = this.value), 100)\n },\n onResize () {\n const width = this.$el && this.$el.parentElement\n ? this.$el.parentElement.clientWidth\n : window.innerWidth\n\n this.maxButtons = Math.floor((width - 96) / 42)\n },\n next (e: Event) {\n e.preventDefault()\n this.$emit('input', this.value + 1)\n this.$emit('next')\n },\n previous (e: Event) {\n e.preventDefault()\n this.$emit('input', this.value - 1)\n this.$emit('previous')\n },\n range (from: number, to: number) {\n const range = []\n\n from = from > 0 ? from : 1\n\n for (let i = from; i <= to; i++) {\n range.push(i)\n }\n\n return range\n },\n genIcon (h: CreateElement, icon: string, disabled: boolean, fn: EventListener, label: String): VNode {\n return h('li', [\n h('button',\n this.setBackgroundColor(this.navigationColor, {\n staticClass: 'v-pagination__navigation',\n class: {\n 'v-pagination__navigation--disabled': disabled,\n },\n attrs: {\n disabled,\n type: 'button',\n 'aria-label': label,\n },\n on: disabled ? {} : { click: fn },\n }),\n [h(VIcon, { props: { color: this.navigationTextColor } }, [icon])]\n ),\n ])\n },\n genItem (h: CreateElement, i: string | number): VNode {\n const color: string | false = (i === this.value) && (this.color || 'primary')\n const isCurrentPage = i === this.value\n const ariaLabel = isCurrentPage ? this.currentPageAriaLabel : this.pageAriaLabel\n\n return h('button', this.setBackgroundColor(color, {\n staticClass: 'v-pagination__item',\n class: {\n 'v-pagination__item--active': i === this.value,\n },\n attrs: {\n type: 'button',\n 'aria-current': isCurrentPage,\n 'aria-label': this.$vuetify.lang.t(ariaLabel, i),\n },\n on: {\n click: () => this.$emit('input', i),\n },\n }), [i.toString()])\n },\n genItems (h: CreateElement): VNode[] {\n return this.items.map((i, index) => {\n return h('li', { key: index }, [\n isNaN(Number(i)) ? h('span', { class: 'v-pagination__more' }, [i.toString()]) : this.genItem(h, i),\n ])\n })\n },\n genList (h: CreateElement, children: VNodeChildrenArrayContents): VNode {\n return h('ul', {\n directives: [{\n modifiers: { quiet: true },\n name: 'resize',\n value: this.onResize,\n }],\n class: this.classes,\n }, children)\n },\n },\n\n render (h): VNode {\n const children = [\n this.genIcon(h,\n this.$vuetify.rtl ? this.nextIcon : this.prevIcon,\n this.value <= 1,\n this.previous,\n this.$vuetify.lang.t(this.previousAriaLabel)),\n this.genItems(h),\n this.genIcon(h,\n this.$vuetify.rtl ? this.prevIcon : this.nextIcon,\n this.value >= this.length,\n this.next,\n this.$vuetify.lang.t(this.nextAriaLabel)),\n ]\n\n return h('nav', {\n attrs: {\n role: 'navigation',\n 'aria-label': this.$vuetify.lang.t(this.wrapperAriaLabel),\n },\n }, [this.genList(h, children)])\n },\n})\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Pagination.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Pagination.vue?vue&type=script&lang=js&\"","\nexport default {\n name: \"Pagination\",\n props: {\n pageCount: {\n type: Number,\n required: true,\n },\n },\n data() {\n return {\n page: 1,\n };\n },\n watch: {\n page(value) {\n this.$emit(\"page\", value);\n },\n },\n};\n","import { render, staticRenderFns } from \"./Pagination.vue?vue&type=template&id=389f6ca6&\"\nimport script from \"./Pagination.vue?vue&type=script&lang=js&\"\nexport * from \"./Pagination.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Pagination.vue?vue&type=style&index=0&id=389f6ca6&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./SideBarList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./SideBarList.vue?vue&type=script&lang=js&\"","\nimport lang from \"@/mixins/lang.js\";\nimport device from \"@/mixins/device.js\";\nexport default {\n name: \"SideBarList\",\n mixins: [lang, device],\n props: {\n sideBar: {\n type: Array,\n },\n solMenu: {\n type: Array,\n },\n pageTitle: {\n type: String,\n },\n parentSlug: {\n type: String,\n },\n },\n data() {\n return {\n sideBarStatus: false,\n sideBarActive: null,\n activeItem_1: null,\n activeItem_2: null,\n activeItem_3: null,\n activeItem_4: null,\n activeItem_5: null,\n };\n },\n computed: {\n convertToFullPath(slug) {\n return Object.values(slug).join(\"/\");\n },\n },\n methods: {\n sideBarMobileOpen() {\n this.sideBarStatus = !this.sideBarStatus;\n },\n sideBarOpen(level1, level2, level3, level4, level5) {\n if (level1 === this.activeItem_1) {\n this.sideBarActive = null;\n this.activeItem_1 = null;\n this.activeItem_2 = null;\n this.activeItem_3 = null;\n this.activeItem_4 = null;\n this.activeItem_5 = null;\n } else {\n this.sideBarActive = level1;\n this.activeItem_1 = level1;\n this.activeItem_2 = level2;\n this.activeItem_3 = level3;\n this.activeItem_4 = level4;\n this.activeItem_5 = level5;\n }\n },\n },\n};\n","import { render, staticRenderFns } from \"./SideBarList.vue?vue&type=template&id=1cdacb62&\"\nimport script from \"./SideBarList.vue?vue&type=script&lang=js&\"\nexport * from \"./SideBarList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {SideBarSolMenuDynamicZone: require('/usr/app/components/sideBar/SolMenuDynamicZone.vue').default})\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./OrgNode.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./OrgNode.vue?vue&type=script&lang=js&\"","\nimport dynamicPagesParentsSlugs from \"@/mixins/dynamic-pages-parents-slug\";\nexport default {\n name: \"OrgNode\",\n props: {\n item: {\n type: Object,\n default() { },\n },\n },\n mixins: [dynamicPagesParentsSlugs],\n data() {\n return {\n cdnUrl: \"\",\n };\n },\n created() {\n this.cdnUrl = process.env.NUXT_ENV_CDN_URL;\n },\n};\n","import { render, staticRenderFns } from \"./OrgNode.vue?vue&type=template&id=421747d0&\"\nimport script from \"./OrgNode.vue?vue&type=script&lang=js&\"\nexport * from \"./OrgNode.vue?vue&type=script&lang=js&\"\nimport style0 from \"./OrgNode.vue?vue&type=style&index=0&id=421747d0&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {OrgNode: require('/usr/app/components/orgNode/OrgNode.vue').default})\n","export * from \"-!../../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Carousel.vue?vue&type=style&index=0&id=594972e7&prod&lang=scss&\"","export * from \"-!../../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Banner.vue?vue&type=style&index=0&id=b25fb528&prod&lang=scss&\"","export * from \"-!../../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Text.vue?vue&type=style&index=0&id=037fe371&prod&lang=scss&\"","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","\nimport lang from \"@/mixins/lang.js\";\n\nexport default {\n name: \"CardsBanner\",\n mixins: [lang],\n props: {\n card: {\n type: Object,\n },\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Banner.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Banner.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Banner.vue?vue&type=template&id=b25fb528&\"\nimport script from \"./Banner.vue?vue&type=script&lang=js&\"\nexport * from \"./Banner.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Banner.vue?vue&type=style&index=0&id=b25fb528&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {Picture: require('/usr/app/components/picture/picture.vue').default})\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Text.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Text.vue?vue&type=script&lang=js&\"","\nexport default {\n name: \"ModalText\",\n props: {\n modalEndpoint: {\n type: String,\n required: true,\n },\n modalText: {\n type: Object,\n },\n modalStatus: {\n type: Boolean,\n default: false,\n },\n },\n methods: {\n hideModal() {\n this.modalStatus = false;\n this.modalText = null;\n },\n },\n};\n","import { render, staticRenderFns } from \"./Text.vue?vue&type=template&id=037fe371&\"\nimport script from \"./Text.vue?vue&type=script&lang=js&\"\nexport * from \"./Text.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Text.vue?vue&type=style&index=0&id=037fe371&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Default.vue?vue&type=style&index=0&id=4b6382d7&prod&lang=scss&\"","export * from \"-!../../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Widget.vue?vue&type=style&index=0&id=5d1752a5&prod&lang=scss&\"","export default {\n data() {\n return {\n solMenuEndpointElementType: {\n type: null, // The type of the active menu endpoint (e.g., \"Tab\" or \"null\")\n endpoint: null, // The endpoint associated with the active menu item\n title: null, // The title of the active menu item\n }\n };\n },\n async mounted() {\n // When the component is mounted, set the active hash based on the current route's hash\n await this.setActiveHash(this.$route.hash);\n },\n watch: {\n '$route.hash'(newHash, oldHash) {\n // Watch for changes in the route's hash and update the active hash accordingly\n this.setActiveHash(newHash);\n }\n },\n methods: {\n // Sets the active hash, and updates solMenuEndpointElementType based on the active hash\n setActiveHash(hash) {\n if (!!hash) {\n // Find the active link element based on the hash\n const activeLink = document.querySelector(`a[href=\"${hash}\"]`);\n if (!!activeLink) {\n // Update solMenuEndpointElementType with information from the active link\n this.solMenuEndpointElementType.type =\n activeLink.getAttribute(\"data-type\");\n this.solMenuEndpointElementType.endpoint =\n activeLink.getAttribute(\"data-href\");\n this.solMenuEndpointElementType.title =\n activeLink.getAttribute(\"data-title\");\n }\n }\n },\n }\n}\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=script&lang=js&\"","\nexport default {\n name: \"ModulesList\",\n props: {\n data: {\n type: Array,\n },\n },\n};\n","import { render, staticRenderFns } from \"./List.vue?vue&type=template&id=7c66b84e&\"\nimport script from \"./List.vue?vue&type=script&lang=js&\"\nexport * from \"./List.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {ButtonBox: require('/usr/app/components/button/ButtonBox.vue').default})\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./ServicesSections.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./ServicesSections.vue?vue&type=script&lang=js&\"","\nimport device from \"@/mixins/device\";\n\nexport default {\n name: \"ServicesSections\",\n mixins: [device],\n props: {\n section: {\n type: Object,\n },\n background: {\n type: Boolean,\n default: false,\n },\n },\n data() {\n return {\n featuredServicesGroupSlider: {\n arrows: false,\n dots: false,\n infinite: false,\n focusOnSelect: false,\n speed: 500,\n swipeToSlide: true,\n slidesToScroll: 1,\n accessibility: true,\n initialSlide: 0,\n responsive: [\n {\n breakpoint: 1024,\n settings: {\n slidesToShow: 2.1,\n },\n },\n {\n breakpoint: 768,\n settings: {\n slidesToShow: 1.2,\n },\n },\n {\n breakpoint: 480,\n settings: {\n slidesToShow: 1.1,\n },\n },\n ],\n },\n };\n },\n methods: {\n icons(icon) {\n switch (icon) {\n case \"pen_to_square\":\n return \"fa-solid fa-pen-to-square\";\n break;\n case \"droplet\":\n return \"fa-solid fa-droplet\";\n break;\n case \"scroll\":\n return \"fa-solid fa-scroll\";\n break;\n case \"circle_plus\":\n return \"fa-solid fa-circle-plus\";\n break;\n case \"angle_down\":\n return \"fas fa-angle-down\";\n break;\n case \"angle_left\":\n return \"fas fa-angle-left\";\n break;\n case \"angle_right\":\n return \"fas fa-angle-right\";\n break;\n case \"angle_up\":\n return \"fas fa-angle-up\";\n break;\n case \"arrow_down\":\n return \"fas fa-arrow-down\";\n break;\n case \"arrow_down_to_line\":\n return \"fas fa-arrow-to-bottom\";\n break;\n case \"arrow_up\":\n return \"fas fa-arrow-up\";\n break;\n case \"bars\":\n return \"fas fa-bars\";\n break;\n case \"bars_filter\":\n return \"fas fa-bars-filter\";\n break;\n case \"bus\":\n return \"fas fa-bus\";\n break;\n case \"calendar\":\n return \"fa-regular fa-calendar\";\n break;\n case \"camera_movie\":\n return \"fa-solid fa-camera-movie\";\n break;\n case \"check\":\n return \"fas fa-check\";\n break;\n case \"cloud\":\n return \"fas fa-cloud\";\n break;\n case \"facebook\":\n return \"fa-brands fa-facebook-f\";\n break;\n case \"file_lines\":\n return \"fas fa-file-lines\";\n break;\n case \"hand_holding_heart\":\n return \"fa-solid fa-hand-holding-heart\";\n break;\n case \"hands_holding_heart\":\n return \"fa-solid fa-hands-holding-heart\";\n break;\n case \"heart\":\n return \"fas fa-heart\";\n break;\n case \"instagram\":\n return \"fa-brands fa-instagram\";\n break;\n case \"minus\":\n return \"fas fa-minus\";\n break;\n case \"linkedin\":\n return \"fa-brands fa-linkedin\";\n break;\n case \"long_arrow_right\":\n return \"fas fa-long-arrow-right\";\n break;\n case \"paintbrush_pencil\":\n return \"fa-solid fa-paintbrush-pencil\";\n break;\n case \"phone\":\n return \"fas fa-phone\";\n break;\n case \"play\":\n return \"fas fa-play\";\n break;\n case \"search\":\n return \"fas fa-search\";\n break;\n case \"search_plus\":\n return \"fas fa-search-plus\";\n break;\n case \"square_arrow_up_right\":\n return \"fa-light fa-arrow-up-right-from-square\";\n break;\n case \"times\":\n return \"fas fa-times\";\n break;\n case \"tiktok\":\n return \"fa-brands fa-tiktok\";\n break;\n case \"youtube\":\n return \"fa-brands fa-youtube\";\n break;\n case \"twitter\":\n return \"fa-brands fa-x-twitter\";\n }\n },\n },\n};\n","import { render, staticRenderFns } from \"./ServicesSections.vue?vue&type=template&id=4ff1a329&\"\nimport script from \"./ServicesSections.vue?vue&type=script&lang=js&\"\nexport * from \"./ServicesSections.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {Button: require('/usr/app/components/button/Button.vue').default})\n","\nexport default {\n name: \"SectionsBannerSections\",\n props: {\n section: {\n type: Object,\n },\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./BannerSections.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./BannerSections.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BannerSections.vue?vue&type=template&id=61f1bc4c&\"\nimport script from \"./BannerSections.vue?vue&type=script&lang=js&\"\nexport * from \"./BannerSections.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {BannersDefault: require('/usr/app/components/banners/Default.vue').default,BannersImage: require('/usr/app/components/banners/Image.vue').default,BannersWidget: require('/usr/app/components/banners/Widget.vue').default})\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Default.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Default.vue?vue&type=script&lang=js&\"","\nexport default {\n name: \"BannersDefault\",\n props: {\n banner: {\n type: Object,\n },\n },\n};\n","import { render, staticRenderFns } from \"./Default.vue?vue&type=template&id=4b6382d7&\"\nimport script from \"./Default.vue?vue&type=script&lang=js&\"\nexport * from \"./Default.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Default.vue?vue&type=style&index=0&id=4b6382d7&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {Picture: require('/usr/app/components/picture/picture.vue').default,Markdown: require('/usr/app/components/markdown/Markdown.vue').default,Button: require('/usr/app/components/button/Button.vue').default})\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Image.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Image.vue?vue&type=script&lang=js&\"","\nexport default {\n name: \"BannersImage\",\n props: {\n banner: {\n type: Array,\n },\n },\n};\n","import { render, staticRenderFns } from \"./Image.vue?vue&type=template&id=3e4fb2bb&\"\nimport script from \"./Image.vue?vue&type=script&lang=js&\"\nexport * from \"./Image.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {CardsBanner: require('/usr/app/components/cards/Banner.vue').default})\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Widget.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Widget.vue?vue&type=script&lang=js&\"","\nimport device from \"@/mixins/device.js\";\nexport default {\n name: \"BannersWidget\",\n mixins: [device],\n props: {\n banner: {\n type: Object,\n },\n },\n};\n","import { render, staticRenderFns } from \"./Widget.vue?vue&type=template&id=5d1752a5&\"\nimport script from \"./Widget.vue?vue&type=script&lang=js&\"\nexport * from \"./Widget.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Widget.vue?vue&type=style&index=0&id=5d1752a5&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {Markdown: require('/usr/app/components/markdown/Markdown.vue').default,Button: require('/usr/app/components/button/Button.vue').default,Picture: require('/usr/app/components/picture/picture.vue').default,WidgetApp: require('/usr/app/components/widget/App.vue').default,WidgetText: require('/usr/app/components/widget/Text.vue').default})\n","\nimport lang from \"@/mixins/lang.js\";\nimport { dateMixin } from \"@/mixins/date.js\";\nimport { utils } from \"@/mixins/utils.js\";\nexport default {\n name: \"CardsExtended\",\n mixins: [lang, utils, dateMixin],\n props: {\n card: {\n type: Object,\n },\n dynamicParentSlug: {\n type: String,\n },\n },\n data() {\n return {\n cdnUrl: \"\",\n };\n },\n created() {\n this.cdnUrl = process.env.NUXT_ENV_CDN_URL;\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Extended.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Extended.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Extended.vue?vue&type=template&id=6484084e&\"\nimport script from \"./Extended.vue?vue&type=script&lang=js&\"\nexport * from \"./Extended.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {Markdown: require('/usr/app/components/markdown/Markdown.vue').default})\n","\nimport lang from \"@/mixins/lang.js\";\nimport { dateMixin } from \"@/mixins/date.js\";\n\nexport default {\n name: \"CardsCompany\",\n mixins: [lang, dateMixin],\n props: {\n card: {\n type: Object,\n },\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Company.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Company.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Company.vue?vue&type=template&id=5f536093&\"\nimport script from \"./Company.vue?vue&type=script&lang=js&\"\nexport * from \"./Company.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {Picture: require('/usr/app/components/picture/picture.vue').default})\n","\nimport lang from \"@/mixins/lang.js\";\nimport { dateMixin } from \"@/mixins/date.js\";\nimport { utils } from \"@/mixins/utils.js\";\n\nexport default {\n name: \"CardsPerson\",\n mixins: [lang, utils, dateMixin],\n props: {\n card: {\n type: Object,\n },\n dynamicParentSlug: {\n type: String,\n },\n },\n data() {\n return {\n cdnUrl: \"\",\n };\n },\n created() {\n this.cdnUrl = process.env.NUXT_ENV_CDN_URL;\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Person.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Person.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Person.vue?vue&type=template&id=5b1cd4d5&\"\nimport script from \"./Person.vue?vue&type=script&lang=js&\"\nexport * from \"./Person.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Table.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Table.vue?vue&type=script&lang=js&\"","\nimport lang from \"@/mixins/lang.js\";\nimport { dateMixin } from \"@/mixins/date.js\";\nimport dynamicPagesParentsSlugs from \"@/mixins/dynamic-pages-parents-slug\";\n\nexport default {\n name: \"Table\",\n mixins: [lang, dateMixin, dynamicPagesParentsSlugs],\n props: {\n content: {\n type: Array,\n required: true,\n },\n endpoint: {\n type: String,\n required: true,\n },\n dynamicParentSlug: {\n type: String,\n },\n },\n data() {\n return {\n modalStatus: false,\n modalText: null,\n locationUrl: null,\n tableHeadersTender: [\n { text: \"İhale Tarihi\", value: \"\", sortable: false },\n { text: \"İhale Saati\", value: \"\", sortable: false },\n { text: \"İhale Konusu\", value: \"\", sortable: false },\n { text: \"İhale Türü\", value: \"\", sortable: false },\n { text: \"İhale Durumu\", value: \"\", sortable: false },\n { text: \"\", value: \"\", sortable: false },\n ],\n tableHeadersTemin: [\n { text: \"Son Teklif Verme Tarihi\", value: \"\", sortable: false },\n { text: \"Son Teklif Verme Saati\", value: \"\", sortable: false },\n { text: \"Doğrudan Temin Konusu\", value: \"\", sortable: false },\n { text: \"Doğrudan Temin Türü\", value: \"\", sortable: false },\n { text: \"Doğrudan Temin Durumu\", value: \"\", sortable: false },\n { text: \"\", value: \"\", sortable: false },\n ],\n tableHeaderBranches: [{ text: \"Şube İsmi\", value: \"\", sortable: false }],\n };\n },\n mounted() {\n this.locationUrl = location.hostname + location.pathname;\n },\n methods: {\n filtersShow() {\n this.isFilters = !this.isFilters;\n },\n filtersRangeShow() {\n this.isFiltersRange = !this.isFiltersRange;\n },\n showModal(item) {\n this.modalStatus = false;\n this.modalText = null;\n this.modalStatus = true;\n this.modalText = item;\n },\n },\n};\n","import { render, staticRenderFns } from \"./Table.vue?vue&type=template&id=1f389cca&\"\nimport script from \"./Table.vue?vue&type=script&lang=js&\"\nexport * from \"./Table.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {ModalText: require('/usr/app/components/modal/Text.vue').default})\n","\nimport device from \"@/mixins/device.js\";\nexport default {\n name: \"Accordion\",\n mixins: [device],\n props: {\n content: {\n type: Array,\n },\n endpoint: {\n type: String,\n default: null,\n required: true,\n },\n },\n data() {\n return {\n accordionIndex: null,\n };\n },\n methods: {\n accordions(title, key) {\n this.accordionIndex == `${title}${key}`\n ? (this.accordionIndex = null)\n : (this.accordionIndex = `${title}${key}`);\n },\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Accordion.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Accordion.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Accordion.vue?vue&type=template&id=97f22c50&\"\nimport script from \"./Accordion.vue?vue&type=script&lang=js&\"\nexport * from \"./Accordion.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {Markdown: require('/usr/app/components/markdown/Markdown.vue').default,DownloadLink: require('/usr/app/components/downloadLink/DownloadLink.vue').default})\n","export * from \"-!../../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./DownloadButtons.vue?vue&type=style&index=0&id=5929196c&prod&lang=scss&\"","export * from \"-!../../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Image.vue?vue&type=style&index=0&id=a9349038&prod&lang=scss&\"","import Vue from 'vue'\nimport { filterObjectOnKeys } from '../../util/helpers'\nimport { OptionsVue, VueConstructor } from 'vue/types/vue'\n\nconst availableProps = {\n absolute: Boolean,\n bottom: Boolean,\n fixed: Boolean,\n left: Boolean,\n right: Boolean,\n top: Boolean,\n}\ntype props = Record<keyof typeof availableProps, boolean>\n\nexport type Positionable<S extends keyof props> = VueConstructor<Vue & { [P in S]: boolean }, { [P in S]: BooleanConstructor }>\n\nexport function factory <S extends keyof props> (selected?: S[]): Positionable<S>\nexport function factory (selected: undefined): OptionsVue<Vue, {}, {}, {}, props, typeof availableProps>\nexport function factory (selected: any[] = []): any {\n return Vue.extend({\n name: 'positionable',\n props: selected.length ? filterObjectOnKeys(availableProps, selected) : availableProps,\n })\n}\n\nexport default factory()\n\n// Add a `*` before the second `/`\n/* Tests /\nlet single = factory(['top']).extend({\n created () {\n this.top\n this.bottom\n this.absolute\n }\n})\n\nlet some = factory(['top', 'bottom']).extend({\n created () {\n this.top\n this.bottom\n this.absolute\n }\n})\n\nlet all = factory().extend({\n created () {\n this.top\n this.bottom\n this.absolute\n this.foobar\n }\n})\n/**/\n","import Vue, { VNodeData, PropType } from 'vue'\n\n// Directives\nimport Ripple, { RippleOptions } from '../../directives/ripple'\n\n// Utilities\nimport { getObjectValueByPath } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'routable',\n\n directives: {\n Ripple,\n },\n\n props: {\n activeClass: String,\n append: Boolean,\n disabled: Boolean,\n exact: {\n type: Boolean as PropType<boolean | undefined>,\n default: undefined,\n },\n exactPath: Boolean,\n exactActiveClass: String,\n link: Boolean,\n href: [String, Object],\n to: [String, Object],\n nuxt: Boolean,\n replace: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: null,\n },\n tag: String,\n target: String,\n },\n\n data: () => ({\n isActive: false,\n proxyClass: '',\n }),\n\n computed: {\n classes (): object {\n const classes: Record<string, boolean> = {}\n\n if (this.to) return classes\n\n if (this.activeClass) classes[this.activeClass] = this.isActive\n if (this.proxyClass) classes[this.proxyClass] = this.isActive\n\n return classes\n },\n computedRipple (): RippleOptions | boolean {\n return this.ripple ?? (!this.disabled && this.isClickable)\n },\n isClickable (): boolean {\n if (this.disabled) return false\n\n return Boolean(\n this.isLink ||\n this.$listeners.click ||\n this.$listeners['!click'] ||\n this.$attrs.tabindex\n )\n },\n isLink (): boolean {\n return this.to || this.href || this.link\n },\n styles: () => ({}),\n },\n\n watch: {\n $route: 'onRouteChange',\n },\n\n mounted () {\n this.onRouteChange()\n },\n\n methods: {\n generateRouteLink () {\n let exact = this.exact\n let tag\n\n const data: VNodeData = {\n attrs: {\n tabindex: 'tabindex' in this.$attrs ? this.$attrs.tabindex : undefined,\n },\n class: this.classes,\n style: this.styles,\n props: {},\n directives: [{\n name: 'ripple',\n value: this.computedRipple,\n }],\n [this.to ? 'nativeOn' : 'on']: {\n ...this.$listeners,\n ...('click' in this ? { click: (this as any).click } : undefined), // #14447\n },\n ref: 'link',\n }\n\n if (typeof this.exact === 'undefined') {\n exact = this.to === '/' ||\n (this.to === Object(this.to) && this.to.path === '/')\n }\n\n if (this.to) {\n // Add a special activeClass hook\n // for component level styles\n let activeClass = this.activeClass\n let exactActiveClass = this.exactActiveClass || activeClass\n\n if (this.proxyClass) {\n activeClass = `${activeClass} ${this.proxyClass}`.trim()\n exactActiveClass = `${exactActiveClass} ${this.proxyClass}`.trim()\n }\n\n tag = this.nuxt ? 'nuxt-link' : 'router-link'\n Object.assign(data.props, {\n to: this.to,\n exact,\n exactPath: this.exactPath,\n activeClass,\n exactActiveClass,\n append: this.append,\n replace: this.replace,\n })\n } else {\n tag = (this.href && 'a') || this.tag || 'div'\n\n if (tag === 'a' && this.href) data.attrs!.href = this.href\n }\n\n if (this.target) data.attrs!.target = this.target\n\n return { tag, data }\n },\n onRouteChange () {\n if (!this.to || !this.$refs.link || !this.$route) return\n const activeClass = `${this.activeClass || ''} ${this.proxyClass || ''}`.trim()\n const exactActiveClass = `${this.exactActiveClass || ''} ${this.proxyClass || ''}`.trim() || activeClass\n\n const path = '_vnode.data.class.' + (this.exact ? exactActiveClass : activeClass)\n\n this.$nextTick(() => {\n /* istanbul ignore else */\n if (!getObjectValueByPath(this.$refs.link, path) === this.isActive) {\n this.toggle()\n }\n })\n },\n toggle () {\n this.isActive = !this.isActive\n },\n },\n})\n","// Mixins\nimport { Registrable, inject as RegistrableInject } from '../registrable'\n\n// Utilities\nimport { ExtractVue } from '../../util/mixins'\nimport { VueConstructor } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nexport type Groupable<T extends string, C extends VueConstructor | null = null> = VueConstructor<ExtractVue<Registrable<T, C>> & {\n activeClass: string\n isActive: boolean\n disabled: boolean\n groupClasses: object\n toggle (e?: Event): void\n}>\n\nexport function factory<T extends string, C extends VueConstructor | null = null> (\n namespace: T,\n child?: string,\n parent?: string\n): Groupable<T, C> {\n return RegistrableInject<T, C>(namespace, child, parent).extend({\n name: 'groupable',\n\n props: {\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this[namespace]) return undefined\n\n return this[namespace].activeClass\n },\n } as any as PropValidator<string>,\n disabled: Boolean,\n },\n\n data () {\n return {\n isActive: false,\n }\n },\n\n computed: {\n groupClasses (): object {\n if (!this.activeClass) return {}\n\n return {\n [this.activeClass]: this.isActive,\n }\n },\n },\n\n created () {\n this[namespace] && (this[namespace] as any).register(this)\n },\n\n beforeDestroy () {\n this[namespace] && (this[namespace] as any).unregister(this)\n },\n\n methods: {\n toggle (e?: Event) {\n if (this.disabled && e) {\n // Prevent keyboard actions\n // from children elements\n // within disabled tabs\n e.preventDefault()\n return\n }\n this.$emit('change')\n },\n },\n })\n}\n\n/* eslint-disable-next-line @typescript-eslint/no-redeclare */\nconst Groupable = factory('itemGroup')\n\nexport default Groupable\n","import './VSimpleCheckbox.sass'\n\nimport Ripple from '../../directives/ripple'\n\nimport Vue, { VNode, VNodeDirective } from 'vue'\nimport { VIcon } from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport { wrapInArray } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'v-simple-checkbox',\n\n functional: true,\n\n directives: {\n Ripple,\n },\n\n props: {\n ...Colorable.options.props,\n ...Themeable.options.props,\n disabled: Boolean,\n ripple: {\n type: Boolean,\n default: true,\n },\n value: Boolean,\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n },\n\n render (h, { props, data, listeners }): VNode {\n const children = []\n let icon = props.offIcon\n if (props.indeterminate) icon = props.indeterminateIcon\n else if (props.value) icon = props.onIcon\n\n children.push(h(VIcon, Colorable.options.methods.setTextColor(props.value && props.color, {\n props: {\n disabled: props.disabled,\n dark: props.dark,\n light: props.light,\n },\n }), icon))\n\n if (props.ripple && !props.disabled) {\n const ripple = h('div', Colorable.options.methods.setTextColor(props.color, {\n staticClass: 'v-input--selection-controls__ripple',\n directives: [{\n def: Ripple,\n name: 'ripple',\n value: { center: true },\n }] as VNodeDirective[],\n }))\n\n children.push(ripple)\n }\n\n return h('div',\n mergeData(data, {\n class: {\n 'v-simple-checkbox': true,\n 'v-simple-checkbox--disabled': props.disabled,\n },\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n\n if (data.on && data.on.input && !props.disabled) {\n wrapInArray(data.on.input).forEach(f => f(!props.value))\n }\n },\n },\n }), [\n h('div', { staticClass: 'v-input--selection-controls__input' }, children),\n ])\n },\n})\n","// Styles\nimport './VSheet.sass'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport Elevatable from '../../mixins/elevatable'\nimport Measurable from '../../mixins/measurable'\nimport Roundable from '../../mixins/roundable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n BindsAttrs,\n Colorable,\n Elevatable,\n Measurable,\n Roundable,\n Themeable\n).extend({\n name: 'v-sheet',\n\n props: {\n outlined: Boolean,\n shaped: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-sheet': true,\n 'v-sheet--outlined': this.outlined,\n 'v-sheet--shaped': this.shaped,\n ...this.themeClasses,\n ...this.elevationClasses,\n ...this.roundedClasses,\n }\n },\n styles (): object {\n return this.measurableStyles\n },\n },\n\n render (h): VNode {\n const data = {\n class: this.classes,\n style: this.styles,\n on: this.listeners$,\n }\n\n return h(\n this.tag,\n this.setBackgroundColor(this.color, data),\n this.$slots.default\n )\n },\n})\n","import Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'roundable',\n\n props: {\n rounded: [Boolean, String],\n tile: Boolean,\n },\n\n computed: {\n roundedClasses (): Record<string, boolean> {\n const composite = []\n const rounded = typeof this.rounded === 'string'\n ? String(this.rounded)\n : this.rounded === true\n\n if (this.tile) {\n composite.push('rounded-0')\n } else if (typeof rounded === 'string') {\n const values = rounded.split(' ')\n\n for (const value of values) {\n composite.push(`rounded-${value}`)\n }\n } else if (rounded) {\n composite.push('rounded')\n }\n\n return composite.length > 0 ? {\n [composite.join(' ')]: true,\n } : {}\n },\n },\n})\n","export * from \"-!../../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./OrgNode.vue?vue&type=style&index=0&id=421747d0&prod&lang=scss&\"","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","\nimport device from \"@/mixins/device.js\";\nexport default {\n name: \"HeroSimple\",\n mixins: [device],\n props: {\n pageTitle: {\n type: String,\n },\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./HeroSimple.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./HeroSimple.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HeroSimple.vue?vue&type=template&id=5043e2b4&\"\nimport script from \"./HeroSimple.vue?vue&type=script&lang=js&\"\nexport * from \"./HeroSimple.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\nexport default {\n name: \"DownloadButtons\",\n props: {\n section: {\n type: Object,\n },\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./DownloadButtons.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./DownloadButtons.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DownloadButtons.vue?vue&type=template&id=5929196c&\"\nimport script from \"./DownloadButtons.vue?vue&type=script&lang=js&\"\nexport * from \"./DownloadButtons.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DownloadButtons.vue?vue&type=style&index=0&id=5929196c&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {Button: require('/usr/app/components/button/Button.vue').default})\n","\nexport default {\n name: \"TabSections\",\n props: {\n tabs: {\n type: Array,\n },\n },\n data() {\n return {\n isTabIndex: 0,\n };\n },\n methods: {\n tabFunction(index) {\n this.isTabIndex = index;\n },\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./TabSections.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./TabSections.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TabSections.vue?vue&type=template&id=e4d23660&\"\nimport script from \"./TabSections.vue?vue&type=script&lang=js&\"\nexport * from \"./TabSections.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TabSections.vue?vue&type=style&index=0&id=e4d23660&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {SectionsTextSections: require('/usr/app/components/sections/TextSections.vue').default,CardsPersonDetail: require('/usr/app/components/cards/PersonDetail.vue').default,Carousel: require('/usr/app/components/carousel/Carousel.vue').default,DownloadLink: require('/usr/app/components/downloadLink/DownloadLink.vue').default,Accordion: require('/usr/app/components/accordion/Accordion.vue').default,SectionsChartSections: require('/usr/app/components/sections/ChartSections.vue').default})\n","\nimport { dateMixin } from \"@/mixins/date.js\";\nimport { Doughnut } from \"vue-chartjs\";\nimport {\n Chart as ChartJS,\n Title,\n Tooltip,\n Legend,\n ArcElement,\n CategoryScale,\n} from \"chart.js\";\n\nChartJS.register(Title, Tooltip, Legend, ArcElement, CategoryScale);\n\nexport default {\n name: \"ChartsDoughnutChart\",\n components: { Doughnut },\n mixins: [dateMixin],\n props: {\n data: {\n type: Object,\n },\n sonGuncellemeZamani: {\n type: String,\n },\n section: {\n type: Object,\n },\n date: {\n type: Boolean,\n },\n\n chartId: {\n type: String,\n default: \"doughnut-chart\",\n },\n datasetIdKey: {\n type: String,\n default: \"label\",\n },\n width: {\n type: Number,\n default: 400,\n },\n height: {\n type: Number,\n default: 400,\n },\n cssClasses: {\n default: \"\",\n type: String,\n },\n styles: {\n type: Object,\n default: () => {},\n },\n plugins: {\n type: Array,\n default: () => [],\n },\n },\n data() {\n return {\n content: [],\n chartData: {\n labels: [],\n datasets: [\n {\n label: false,\n backgroundColor: [\"#e0e0e0\", \"rgb(54, 162, 235)\"],\n data: [],\n },\n ],\n },\n chartOptions: {\n responsive: false,\n plugins: {\n legend: {\n display: false,\n },\n },\n },\n dateNow: null,\n };\n },\n mounted() {\n this.dateNow = new Date();\n this.chartData.datasets[0].data.push(100 - this.data.oran);\n this.chartData.datasets[0].data.push(this.data.oran);\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./DoughnutChart.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./DoughnutChart.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DoughnutChart.vue?vue&type=template&id=4df96450&\"\nimport script from \"./DoughnutChart.vue?vue&type=script&lang=js&\"\nexport * from \"./DoughnutChart.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\nimport { dateMixin } from \"@/mixins/date.js\";\nimport { Line as LineChartGenerator } from \"vue-chartjs\";\nimport {\n Chart as ChartJS,\n Title,\n Tooltip,\n Legend,\n LineElement,\n LinearScale,\n CategoryScale,\n PointElement,\n Filler,\n} from \"chart.js\";\n\nChartJS.register(\n Title,\n Tooltip,\n Legend,\n LineElement,\n LinearScale,\n CategoryScale,\n PointElement,\n Filler\n);\n\nexport default {\n name: \"ChartsLineChart\",\n components: {\n LineChartGenerator,\n },\n mixins: [dateMixin],\n props: {\n data: {\n type: Array,\n },\n sonGuncellemeZamani: {\n type: String,\n },\n section: {\n type: Object,\n },\n date: {\n type: Boolean,\n },\n name: {\n type: String,\n },\n chartId: {\n type: String,\n default: \"line-chart\",\n },\n datasetIdKey: {\n type: String,\n default: \"label\",\n },\n width: {\n type: Number,\n default: 400,\n },\n height: {\n type: Number,\n default: 400,\n },\n cssClasses: {\n default: \"\",\n type: String,\n },\n styles: {\n type: Object,\n default: () => {},\n },\n plugins: {\n type: Array,\n default: () => [],\n },\n },\n data() {\n return {\n chartData: {\n labels: [],\n datasets: [\n {\n label: false,\n fill: true,\n backgroundColor:\n this.section.color === \"multicolored\"\n ? [\n \"rgba(255, 99, 132, 0.4)\",\n \"rgba(255, 159, 64, 0.4)\",\n \"rgba(255, 205, 86, 0.4)\",\n \"rgba(75, 192, 192, 0.4)\",\n \"rgba(54, 162, 235, 0.4)\",\n \"rgba(153, 102, 255, 0.4)\",\n \"rgba(201, 203, 207, 0.4)\",\n \"rgba(62, 125, 132, 0.4)\",\n \"rgba(150, 159, 64, 0.4)\",\n \"rgba(235, 205, 125, 0.4)\",\n \"rgba(125, 192, 172, 0.4)\",\n \"rgba(54, 90, 135, 0.4)\",\n \"rgba(153, 100, 115, 0.4)\",\n ]\n : this.section.color === \"orange\"\n ? [\"rgba(226, 158, 113, 0.4)\"]\n : [\"rgba(2,137,208, 0.4)\"],\n borderColor:\n this.section.color === \"multicolored\"\n ? [\n \"rgb(255, 99, 132)\",\n \"rgb(255, 159, 64)\",\n \"rgb(255, 205, 86)\",\n \"rgb(75, 192, 192)\",\n \"rgb(54, 162, 235)\",\n \"rgb(153, 102, 255)\",\n \"rgb(201, 203, 207)\",\n \"rgb(62, 125, 132)\",\n \"rgb(150, 159, 64)\",\n \"rgb(235, 205, 125)\",\n \"rgb(125, 192, 172)\",\n \"rgb(54, 90, 135)\",\n \"rgb(153, 100, 115)\",\n ]\n : this.section.color === \"orange\"\n ? [\"rgb(226, 158, 113)\"]\n : [\"rgb(2,137,208)\"],\n tension: 0.3,\n borderWidth: 1,\n pointStyle: \"rectRounded\",\n pointRadius: 4,\n pointBorderColor: \"#0f3b82\",\n data: [],\n },\n ],\n },\n chartOptions: {\n responsive: true,\n maintainAspectRatio: true,\n fill: true,\n plugins: {\n legend: {\n display: false,\n labels: {\n usePointStyle: true,\n },\n },\n },\n scales: {\n y: {\n max: 100,\n min: 0,\n ticks: {\n stepSize: 10,\n },\n },\n },\n },\n dateNow: null,\n };\n },\n mounted() {\n // TITLE DATE\n this.dateNow = new Date();\n // TITLE DATE\n\n this.chartDataPush();\n },\n methods: {\n chartDataPush() {\n this.data.forEach((element) => {\n // LABELS CHART\n this.chartData.labels.push(element.tarih);\n // LABELS CHART\n\n // DATASET CHART\n this.chartData.datasets[0].data.push(\n element.dolulukOrani != undefined\n ? element.dolulukOrani\n : element.mevcutSuHacmi != undefined\n ? element.mevcutSuHacmi\n : element.verilenTemizSuM3 != undefined\n ? element.verilenTemizSuM3\n : element.verilenTemizsuM3\n );\n // DATASET CHART\n if (this.section.type == \"SON 14 GUN MEVCUT SU HACMİ\") {\n this.chartOptions.scales.y.max = element.biriktirmeHacmi;\n this.chartOptions.scales.y.ticks.stepSize =\n element.biriktirmeHacmi / 4;\n }\n });\n\n // SCALES CHART\n if (\n this.section.type == \"ICME SUYU 14 GUN\" ||\n this.section.type == \"ICME SUYU 1 YIL\" ||\n this.section.type == \"ICME SUYU 10 YIL GUNLUK\"\n ) {\n this.chartOptions.scales.y.max = 4;\n this.chartOptions.scales.y.ticks.stepSize = 0.5;\n }\n // SCALES CHART\n },\n },\n watch: {\n data: {\n handler() {\n this.chartData.labels = [];\n this.chartData.datasets[0].data = [];\n\n this.chartDataPush();\n },\n deep: true,\n },\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./LineChart.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./LineChart.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LineChart.vue?vue&type=template&id=4e6721c8&\"\nimport script from \"./LineChart.vue?vue&type=script&lang=js&\"\nexport * from \"./LineChart.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\nimport { dateMixin } from \"@/mixins/date.js\";\nimport { Bar } from \"vue-chartjs\";\nimport {\n Chart as ChartJS,\n Title,\n Tooltip,\n Legend,\n BarElement,\n CategoryScale,\n LinearScale,\n} from \"chart.js\";\n\nChartJS.register(\n Title,\n Tooltip,\n Legend,\n BarElement,\n CategoryScale,\n LinearScale\n);\n\nexport default {\n name: \"ChartsBarChart\",\n components: { Bar },\n mixins: [dateMixin],\n props: {\n data: {\n type: Array,\n },\n sonGuncellemeZamani: {\n type: String,\n },\n section: {\n type: Object,\n },\n date: {\n type: Boolean,\n },\n name: {\n type: String,\n },\n chartId: {\n type: String,\n default: \"bar-chart\",\n },\n datasetIdKey: {\n type: String,\n default: \"label\",\n },\n width: {\n type: Number,\n default: 400,\n },\n height: {\n type: Number,\n default: 400,\n },\n cssClasses: {\n default: \"\",\n type: String,\n },\n styles: {\n type: Object,\n default: () => {},\n },\n plugins: {\n type: Array,\n default: () => [],\n },\n },\n data() {\n return {\n content: [],\n chartData: {\n labels: [],\n datasets: [\n {\n label: false,\n backgroundColor:\n this.section.color === \"multicolored\"\n ? [\n \"rgba(255, 99, 132, 0.4)\",\n \"rgba(255, 159, 64, 0.4)\",\n \"rgba(255, 205, 86, 0.4)\",\n \"rgba(75, 192, 192, 0.4)\",\n \"rgba(54, 162, 235, 0.4)\",\n \"rgba(153, 102, 255, 0.4)\",\n \"rgba(201, 203, 207, 0.4)\",\n \"rgba(62, 125, 132, 0.4)\",\n \"rgba(150, 159, 64, 0.4)\",\n \"rgba(235, 205, 125, 0.4)\",\n \"rgba(125, 192, 172, 0.4)\",\n \"rgba(54, 90, 135, 0.4)\",\n \"rgba(153, 100, 115, 0.4)\",\n ]\n : this.section.color === \"orange\"\n ? [\"rgba(226, 158, 113, 0.4)\"]\n : [\"rgba(2,137,208, 0.4)\"],\n borderRadius: 5,\n borderColor:\n this.section.color === \"multicolored\"\n ? [\n \"rgb(255, 99, 132)\",\n \"rgb(255, 159, 64)\",\n \"rgb(255, 205, 86)\",\n \"rgb(75, 192, 192)\",\n \"rgb(54, 162, 235)\",\n \"rgb(153, 102, 255)\",\n \"rgb(201, 203, 207)\",\n \"rgb(62, 125, 132)\",\n \"rgb(150, 159, 64)\",\n \"rgb(235, 205, 125)\",\n \"rgb(125, 192, 172)\",\n \"rgb(54, 90, 135)\",\n \"rgb(153, 100, 115)\",\n ]\n : this.section.color === \"orange\"\n ? [\"rgb(226, 158, 113)\"]\n : [\"rgb(2,137,208)\"],\n borderWidth: 1,\n data: [],\n },\n ],\n },\n chartOptions: {\n responsive: true,\n plugins: {\n legend: {\n display: false,\n },\n },\n scales: {\n y: {\n max: 100,\n min: 0,\n ticks: {\n stepSize: 10,\n },\n },\n },\n },\n dateNow: null,\n };\n },\n mounted() {\n // TITLE DATE\n this.dateNow = new Date();\n // TITLE DATE\n\n this.chartDataPush();\n },\n methods: {\n chartDataPush() {\n this.data.forEach((element) => {\n // LABELS CHART\n if (\n this.section.type == \"ICME SUYU 10 YIL YILLIK\" ||\n this.section.type == \"DOLULUK BUGUN YILLARA GORE KARSILASTIRMA \" ||\n this.section.type == \"SU MIKTARI BUGUN YILLARA GORE KARSILASTIRMA M3\"\n ) {\n this.chartData.labels.push(element.tarih);\n } else {\n this.chartData.labels.push(\n element.baslikAdi != undefined\n ? element.baslikAdi\n : element.tarih != undefined\n ? element.tarih\n : element.yil\n );\n }\n // LABELS CHART\n\n // DATASET CHART\n this.chartData.datasets[0].data.push(\n element.oran != undefined\n ? element.oran\n : element.doluluk_orani != undefined\n ? element.doluluk_orani\n : element.mevcutSuMilyonm3 != undefined\n ? element.mevcutSuMilyonm3\n : element.yuzde != undefined\n ? element.yuzde\n : element.gelenYagisMiktari != undefined\n ? element.gelenYagisMiktari\n : element.dolulukOrani != undefined\n ? element.dolulukOrani\n : element.verilenTemizsuM3\n );\n // DATASET CHART\n });\n\n // SCALES CHART\n if (\n this.section.type == \"SU MIKTARI BUGUN YILLARA GORE KARSILASTIRMA M3\" ||\n this.section.type == \"YILLIK YAGIS\"\n ) {\n this.chartOptions.scales.y.max = 1000;\n this.chartOptions.scales.y.ticks.stepSize = 100;\n } else if (this.section.type == \"ICME SUYU 10 YIL YILLIK\") {\n this.chartOptions.scales.y.max = 1200;\n this.chartOptions.scales.y.ticks.stepSize = 200;\n }\n // SCALES CHART\n },\n },\n watch: {\n data: {\n handler() {\n this.chartData.labels = [];\n this.chartData.datasets[0].data = [];\n this.chartDataPush();\n },\n deep: true,\n },\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./BarChart.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./BarChart.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BarChart.vue?vue&type=template&id=0acb64c5&\"\nimport script from \"./BarChart.vue?vue&type=script&lang=js&\"\nexport * from \"./BarChart.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\nimport { dateMixin } from \"@/mixins/date.js\";\nimport { Pie } from \"vue-chartjs\";\nimport {\n Chart as ChartJS,\n Title,\n Tooltip,\n Legend,\n ArcElement,\n CategoryScale,\n} from \"chart.js\";\n\nChartJS.register(Title, Tooltip, Legend, ArcElement, CategoryScale);\n\nexport default {\n name: \"ChartsPieChart\",\n components: {\n Pie,\n },\n mixins: [dateMixin],\n props: {\n data: {\n type: Array,\n },\n sonGuncellemeZamani: {\n type: String,\n },\n section: {\n type: Object,\n },\n date: {\n type: Boolean,\n },\n chartId: {\n type: String,\n default: \"pie-chart\",\n },\n datasetIdKey: {\n type: String,\n default: \"label\",\n },\n width: {\n type: Number,\n default: 400,\n },\n height: {\n type: Number,\n default: 400,\n },\n cssClasses: {\n default: \"\",\n type: String,\n },\n styles: {\n type: Object,\n default: () => {},\n },\n plugins: {\n type: Array,\n default: () => [],\n },\n },\n data() {\n return {\n chartData: {\n labels: [],\n datasets: [\n {\n backgroundColor: [\n \"rgb(255, 99, 132)\",\n \"rgb(255, 159, 64)\",\n \"rgb(255, 205, 86)\",\n \"rgb(75, 192, 192)\",\n \"rgb(54, 162, 235)\",\n \"rgb(153, 102, 255)\",\n \"rgb(201, 203, 207)\",\n \"rgb(62, 125, 132)\",\n \"rgb(150, 159, 64)\",\n \"rgb(235, 205, 125)\",\n \"rgb(125, 192, 172)\",\n \"rgb(54, 90, 135)\",\n \"rgb(153, 100, 115)\",\n ],\n data: [],\n },\n ],\n },\n chartOptions: {\n responsive: true,\n maintainAspectRatio: false,\n },\n dateNow: null,\n };\n },\n mounted() {\n this.dateNow = new Date();\n this.data.forEach((element) => {\n this.chartData.labels.push(element.kaynakAdi);\n this.chartData.datasets[0].data.push(element.oran);\n });\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./PieChart.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./PieChart.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PieChart.vue?vue&type=template&id=7f510328&\"\nimport script from \"./PieChart.vue?vue&type=script&lang=js&\"\nexport * from \"./PieChart.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\nimport { dateMixin } from \"@/mixins/date.js\";\nimport { Bar } from \"vue-chartjs\";\nimport {\n Chart as ChartJS,\n Title,\n Tooltip,\n Legend,\n BarElement,\n CategoryScale,\n LinearScale,\n} from \"chart.js\";\n\nChartJS.register(\n Title,\n Tooltip,\n Legend,\n BarElement,\n CategoryScale,\n LinearScale\n);\n\nexport default {\n name: \"ChartsGroupBarChart\",\n components: { Bar },\n mixins: [dateMixin],\n props: {\n data: {\n type: Array,\n },\n section: {\n type: Object,\n },\n date: {\n type: Boolean,\n },\n chartId: {\n type: String,\n default: \"bar-chart\",\n },\n sonGuncellemeZamani: {\n type: String,\n },\n datasetIdKey: {\n type: String,\n default: \"label\",\n },\n width: {\n type: Number,\n default: 400,\n },\n height: {\n type: Number,\n default: 400,\n },\n cssClasses: {\n default: \"\",\n type: String,\n },\n styles: {\n type: Object,\n default: () => {},\n },\n plugins: {\n type: Array,\n default: () => [],\n },\n },\n data() {\n return {\n content: [],\n chartData: {\n labels: [],\n datasets: [\n {\n label: \"Yeşilçay\",\n backgroundColor: \"rgba(255, 99, 132, 0.4)\",\n borderRadius: 5,\n borderColor: \"rgb(255, 99, 132)\",\n borderWidth: 1,\n data: [],\n },\n {\n label: \"Melen\",\n backgroundColor: \"rgba(255, 159, 64, 0.4)\",\n borderRadius: 5,\n borderColor: \"rgb(255, 159, 64)\",\n borderWidth: 1,\n data: [],\n },\n {\n label: \"Toplam\",\n backgroundColor: \"rgba(75, 192, 192, 0.4)\",\n borderRadius: 5,\n borderColor: \"rgb(75, 192, 192)\",\n borderWidth: 1,\n data: [],\n },\n ],\n },\n chartOptions: {\n responsive: true,\n scales: {\n y: {\n max: 800,\n min: 0,\n ticks: {\n stepSize: 200,\n },\n },\n },\n },\n dateNow: null,\n };\n },\n mounted() {\n this.dateNow = new Date();\n this.data.forEach((element, index) => {\n this.chartData.labels.push(element.tarih);\n this.chartData.datasets[0].data.push(element.yesilcay);\n this.chartData.datasets[1].data.push(element.melen);\n this.chartData.datasets[2].data.push(element.toplam);\n });\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupBarChart.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupBarChart.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GroupBarChart.vue?vue&type=template&id=30077d5c&\"\nimport script from \"./GroupBarChart.vue?vue&type=script&lang=js&\"\nexport * from \"./GroupBarChart.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\nimport dynamicPagesParentsSlugs from \"@/mixins/dynamic-pages-parents-slug\";\nexport default {\n name: \"SectionsContentSections\",\n mixins: [dynamicPagesParentsSlugs],\n props: {\n section: {\n type: Object,\n required: true,\n },\n filterslug: {\n type: String,\n },\n sectionLayout: {\n type: Number,\n },\n },\n data() {\n return {\n getEndpoint: null,\n };\n },\n async mounted() {\n this.getEndpoint =\n (await this.section?.endpoint?.data?.attributes?.endpoint) ?? null;\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./ContentSections.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./ContentSections.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ContentSections.vue?vue&type=template&id=7e6f6fa5&\"\nimport script from \"./ContentSections.vue?vue&type=script&lang=js&\"\nexport * from \"./ContentSections.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {ModulesDefault: require('/usr/app/components/modules/Default.vue').default,ModulesImage: require('/usr/app/components/modules/Image.vue').default,ModulesSlider: require('/usr/app/components/modules/Slider.vue').default})\n","\nimport lang from \"@/mixins/lang.js\";\nimport { utils } from \"@/mixins/utils.js\";\n\nexport default {\n name: \"CardsImage\",\n mixins: [lang, utils],\n props: {\n card: {\n type: Object,\n },\n cardType: {\n type: String,\n default: \"image\",\n },\n index: {\n type: Number,\n default: 1,\n },\n dynamicParentSlug: {\n type: String,\n },\n },\n data() {\n return {\n cdnUrl: \"\",\n };\n },\n created() {\n this.cdnUrl = process.env.NUXT_ENV_CDN_URL;\n },\n computed: {\n // Card background color class binding according to cardType and card.featuredMedia null check\n cardClass() {\n return {\n \"bg-blue-800 h-80 lg:h-96 justify-end\": this.cardType === \"image\",\n \"bg-blue-800\": this.cardType === \"no-image\" && this.index === 1,\n \"bg-blue-200\": this.cardType === \"no-image\" && this.index === 3,\n \"bg-blue-500\": this.cardType === \"no-image\" && this.index === 2,\n };\n },\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Image.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Image.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Image.vue?vue&type=template&id=a9349038&\"\nimport script from \"./Image.vue?vue&type=script&lang=js&\"\nexport * from \"./Image.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Image.vue?vue&type=style&index=0&id=a9349038&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\nimport lang from \"@/mixins/lang.js\";\nimport device from \"@/mixins/device.js\";\nimport dynamicPagesParentsSlugs from \"@/mixins/dynamic-pages-parents-slug\";\nimport subeler from \"@/static/subeler.json\";\n\nexport default {\n name: \"ModulesEndpoint\",\n mixins: [lang, device, dynamicPagesParentsSlugs],\n props: {\n /**\n * @param {endpoint} - içerik verilerinin url sorgularını sağlar.\n * Vue lifecycle `fetch` sırasında @param {this.$axios} ve @param {endpoint} kullanarak\n * Tüm veriler @param {endpointData} değişkenine atanır.\n */\n section: {\n type: Object,\n required: true,\n },\n endpoint: {\n type: String,\n required: true,\n },\n widget: {\n type: Object,\n },\n heroEnabled: {\n type: Boolean,\n },\n },\n data() {\n return {\n endpointData: null,\n pagination: {\n page: 1,\n pageSize: null,\n pageCount: null,\n },\n inputValue: \"\",\n getEndpoint: null,\n subelerData: subeler,\n };\n },\n async mounted() {\n this.getEndpoint = await this.endpoint;\n await this.fetchData();\n },\n computed: {\n params() {\n // Bu fonksiyon, `pagination` parametreleri olan URL'den sayfa ve sayfa boyutu değerlerini ayıklar.\n // İlk önce URL'deki parametreleri ayrıştırmak için URLSearchParams kullanır.\n const urlParams = new URLSearchParams(this.endpoint.split(\"?\")[1]);\n // Varsayılan olarak sayfa 1 ve sayfa boyutu 10'dur.\n let page = 1;\n let pageSize = 10;\n // Sonra her bir parametre için sayfa veya sayfa boyutu olduğunu kontrol eder ve gerekli değişkenleri ayarlar.\n for (const [key, value] of urlParams.entries()) {\n if (key.startsWith(\"pagination\")) {\n key == \"pageSize\"\n ? (pageSize = value)\n : key == \"page\"\n ? (page = value)\n : \"\";\n }\n }\n // En sonunda, sayfa ve sayfa boyutunu içeren bir obje döndürür.\n return { page, pageSize };\n },\n },\n watch: {\n inputValue() {\n if (this.section.type !== \"table\" || this.section.type !== \"download\")\n this.fetchData();\n },\n },\n methods: {\n async pageChanged(value) {\n // Pagination modülünden sayfa değiştiğinde mevcut sayfa değeri alınır ve `fetchData` fonksiyonu tekrar çalıştırılarak içerik günceller.\n this.pagination.page = await value;\n this.fetchData();\n },\n async fetchData() {\n // TODO: `table` ve `download` için ayrı query yazılmalı. Eğer tüm field'lar için search yapılıyorsa bu uygulanabilir.\n let searchParams = \"\";\n // if (this.inputValue.length > 0) {\n // searchParams =\n // this.section.type == \"table\" || this.section.type == \"download\"\n // ? \"\"\n // : `&filters[title][$containsi]=${this.inputValue}`;\n // }\n // Sayfalamaya(pagination) ilişkin parametreleri içeren endpoint URL'sinden sayfalama parametreleri temizlenir.\n let endpoint = this.endpoint.replace(/&?pagination\\[[^\\]]+\\]=\\d+/g, \"\");\n if (endpoint.indexOf(\"http\") > -1) {\n try {\n const response = await Promise.race([\n fetch(endpoint, {\n headers: {\n Authorization: `Bearer ${process.env.NUXT_ENV_AUTH_TOKEN}`,\n },\n }).then((res) => res.json()),\n new Promise((_, reject) => {\n setTimeout(() => {\n reject(new Error(`Request timed out: ${endpoint}`));\n }, 60000); // Timeout duration in milliseconds (60 seconds)\n }),\n ]);\n this.endpointData = response?.data ?? response ?? null;\n } catch (err) {\n this.endpointData =\n endpoint.split(\"api/\")[1] == \"iski/subeler\" ? subeler : null;\n console.error(\"API Error:\", err);\n }\n } else {\n let urlParams = new URLSearchParams(this.endpoint.split(\"?\")[1]);\n let pageSize = urlParams.get(\"pagination[pageSize]\") || 10;\n try {\n const hasQuery = endpoint?.includes(\"?\") ? \"&\" : \"?\";\n const response = await Promise.race([\n this.$axios.get(\n `${endpoint}${hasQuery}pagination[page]=${\n this.pagination.page\n }&pagination[pageSize]=${pageSize}&locale=${\n this.currentLang ?? \"tr\"\n }`\n ),\n new Promise((_, reject) => {\n setTimeout(() => {\n reject(new Error(`Request timed out: ${endpoint}`));\n }, 60000); // Timeout duration in milliseconds (60 seconds)\n }),\n ]);\n this.pagination.pageSize = Number(pageSize);\n this.pagination.pageCount = Math.ceil(\n response.data.meta.pagination.total / this.pagination.pageSize\n );\n this.endpointData = response.data.data;\n this.getEndpoint = await this.endpoint;\n } catch (err) {\n this.endpointData = null;\n console.error(\"API Error:\", err);\n }\n }\n },\n },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Endpoint.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Endpoint.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Endpoint.vue?vue&type=template&id=be3465ae&\"\nimport script from \"./Endpoint.vue?vue&type=script&lang=js&\"\nexport * from \"./Endpoint.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {WidgetQuickLinks: require('/usr/app/components/widget/QuickLinks.vue').default,CardsDefault: require('/usr/app/components/cards/Default.vue').default,CardsVideo: require('/usr/app/components/cards/Video.vue').default,CardsExtended: require('/usr/app/components/cards/Extended.vue').default,CardsSlim: require('/usr/app/components/cards/Slim.vue').default,CardsApp: require('/usr/app/components/cards/App.vue').default,CardsCompany: require('/usr/app/components/cards/Company.vue').default,CardsPerson: require('/usr/app/components/cards/Person.vue').default,ModulesTable: require('/usr/app/components/modules/Table.vue').default,CardsDownload: require('/usr/app/components/cards/Download.vue').default,ModulesAccordion: require('/usr/app/components/modules/Accordion.vue').default,ButtonBox: require('/usr/app/components/button/ButtonBox.vue').default,Pagination: require('/usr/app/components/pagination/Pagination.vue').default})\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Slim.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/index.js??vue-loader-options!./Slim.vue?vue&type=script&lang=js&\"","\nimport lang from \"@/mixins/lang.js\";\nimport dynamicPagesParentsSlugs from \"@/mixins/dynamic-pages-parents-slug\";\n\nexport default {\n name: \"ModulesSlim\",\n mixins: [lang, dynamicPagesParentsSlugs],\n props: {\n /**\n * @param {endpoint} - içerik verilerinin url sorgularını sağlar.\n * Vue lifecycle `fetch` sırasında @param {this.$axios} ve @param {endpoint} kullanarak\n * Tüm veriler @param {endpointData} değişkenine atanır.\n */\n section: {\n type: Object,\n },\n endpoint: {\n type: String,\n default: null,\n },\n },\n data() {\n return {\n endpointData: null,\n getEndpoint: null,\n };\n },\n async mounted() {\n this.getEndpoint = await this.endpoint;\n this.fetchData();\n },\n methods: {\n async fetchData() {\n if (!!this.endpoint) {\n try {\n const response = await this.$axios.get(`${this.endpoint}`);\n this.endpointData = response.data.data;\n } catch (error) {\n console.error(error);\n }\n }\n },\n },\n};\n","import { render, staticRenderFns } from \"./Slim.vue?vue&type=template&id=1706a442&\"\nimport script from \"./Slim.vue?vue&type=script&lang=js&\"\nexport * from \"./Slim.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {CardsSlim: require('/usr/app/components/cards/Slim.vue').default})\n"],"sourceRoot":""}