From fb16ddfbe91acb9e0e4906bd7c1a91f78013dcb4 Mon Sep 17 00:00:00 2001 From: Yaroslav Lisovskyi Date: Sun, 31 Mar 2024 01:03:06 +0200 Subject: [PATCH] fixed warnings --- dimria-fe/build/asset-manifest.json | 6 +- dimria-fe/build/index.html | 2 +- .../static/js/main.9ebcd8b7.js.LICENSE.txt | 108 ------------------ .../build/static/js/main.9ebcd8b7.js.map | 1 - dimria-fe/src/App.tsx | 2 +- .../src/Components/AdvertDetails/index.tsx | 7 +- dimria-fe/src/Components/AdvertList/index.tsx | 8 +- .../src/Components/AdvertPrices/index.tsx | 2 - .../src/Components/AppShell/AppShellBar.tsx | 2 - dimria-fe/src/index.tsx | 2 +- dimria-fe/src/redux/adverts/advertSlices.ts | 3 +- 11 files changed, 12 insertions(+), 131 deletions(-) delete mode 100644 dimria-fe/build/static/js/main.9ebcd8b7.js.LICENSE.txt delete mode 100644 dimria-fe/build/static/js/main.9ebcd8b7.js.map diff --git a/dimria-fe/build/asset-manifest.json b/dimria-fe/build/asset-manifest.json index 4dd8104..4a432b8 100644 --- a/dimria-fe/build/asset-manifest.json +++ b/dimria-fe/build/asset-manifest.json @@ -1,7 +1,7 @@ { "files": { "main.css": "/static/css/main.75570617.css", - "main.js": "/static/js/main.9ebcd8b7.js", + "main.js": "/static/js/main.1c074831.js", "ui5-webcomponents-sap-icons-v5.js": "/static/js/ui5-webcomponents-sap-icons-v5.833cb268.chunk.js", "ui5-webcomponents-sap-icons-v4.js": "/static/js/ui5-webcomponents-sap-icons-v4.d3c1dd9a.chunk.js", "static/js/6453.1cee94a1.chunk.js": "/static/js/6453.1cee94a1.chunk.js", @@ -330,11 +330,11 @@ "ui5-webcomponents-react-messagebundle-zh_TW.js": "/static/js/ui5-webcomponents-react-messagebundle-zh_TW.4f52269b.chunk.js", "index.html": "/index.html", "main.75570617.css.map": "/static/css/main.75570617.css.map", - "main.9ebcd8b7.js.map": "/static/js/main.9ebcd8b7.js.map", + "main.1c074831.js.map": "/static/js/main.1c074831.js.map", "6453.1cee94a1.chunk.js.map": "/static/js/6453.1cee94a1.chunk.js.map" }, "entrypoints": [ "static/css/main.75570617.css", - "static/js/main.9ebcd8b7.js" + "static/js/main.1c074831.js" ] } \ No newline at end of file diff --git a/dimria-fe/build/index.html b/dimria-fe/build/index.html index cf4a60e..56cce43 100644 --- a/dimria-fe/build/index.html +++ b/dimria-fe/build/index.html @@ -1 +1 @@ -React App
\ No newline at end of file +React App
\ No newline at end of file diff --git a/dimria-fe/build/static/js/main.9ebcd8b7.js.LICENSE.txt b/dimria-fe/build/static/js/main.9ebcd8b7.js.LICENSE.txt deleted file mode 100644 index 1a37d32..0000000 --- a/dimria-fe/build/static/js/main.9ebcd8b7.js.LICENSE.txt +++ /dev/null @@ -1,108 +0,0 @@ -/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ - -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ - -/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ - -/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ - -/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -/** - * @license React - * react-jsx-runtime.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -/** - * @license React - * scheduler.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -/** - * @license React - * use-sync-external-store-with-selector.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -/** - * A better abstraction over CSS. - * - * @copyright Oleg Isonen (Slobodskoi) / Isonen 2014-present - * @website https://github.com/cssinjs/jss - * @license MIT - */ - -/** - * react-virtual - * - * Copyright (c) TanStack - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */ - -/** - * virtual-core - * - * Copyright (c) TanStack - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */ - -/** @license React v16.13.1 - * react-is.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ diff --git a/dimria-fe/build/static/js/main.9ebcd8b7.js.map b/dimria-fe/build/static/js/main.9ebcd8b7.js.map deleted file mode 100644 index 85641f9..0000000 --- a/dimria-fe/build/static/js/main.9ebcd8b7.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/main.9ebcd8b7.js","mappings":"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AW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WA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","sources":["../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-table/src/publicUtils.js","../node_modules/react-table/src/utils.js","../node_modules/react-table/src/makeDefaultPluginHooks.js","../node_modules/react-table/src/hooks/useColumnVisibility.js","../node_modules/react-table/src/hooks/useTable.js","../node_modules/react-table/src/plugin-hooks/useExpanded.js","../node_modules/react-table/src/filterTypes.js","../node_modules/react-table/src/plugin-hooks/useFilters.js","../node_modules/react-table/src/plugin-hooks/useGlobalFilter.js","../node_modules/react-table/src/aggregations.js","../node_modules/react-table/src/plugin-hooks/useGroupBy.js","../node_modules/react-table/src/sortTypes.js","../node_modules/react-table/src/plugin-hooks/useSortBy.js","../node_modules/react-table/src/plugin-hooks/usePagination.js","../node_modules/react-table/src/plugin-hooks/_UNSTABLE_usePivotColumns.js","../node_modules/react-table/src/plugin-hooks/useRowSelect.js","../node_modules/react-table/src/plugin-hooks/useRowState.js","../node_modules/react-table/src/plugin-hooks/useColumnOrder.js","../node_modules/react-table/src/plugin-hooks/useResizeColumns.js","../node_modules/react-table/src/plugin-hooks/useAbsoluteLayout.js","../node_modules/react-table/src/plugin-hooks/useBlockLayout.js","../node_modules/react-table/src/plugin-hooks/useFlexLayout.js","../node_modules/react-table/src/plugin-hooks/useGridLayout.js","../node_modules/react-table/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/symbol-observable/es/index.js","../node_modules/symbol-observable/es/ponyfill.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.production.min.js","../node_modules/use-sync-external-store/with-selector.js","../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/regenerator/index.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/harmony module decorator","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../node_modules/@ui5/webcomponents-base/src/thirdparty/isPlainObject.ts","../node_modules/@ui5/webcomponents-base/src/thirdparty/_merge.ts","../node_modules/@ui5/webcomponents-base/src/thirdparty/merge.ts","../node_modules/@ui5/webcomponents-base/src/FeaturesRegistry.ts","../node_modules/@ui5/webcomponents-base/src/generated/AssetParameters.ts","../node_modules/@ui5/webcomponents-base/src/validateThemeRoot.ts","../node_modules/@ui5/webcomponents-base/src/types/AnimationMode.ts","../node_modules/@ui5/webcomponents-base/src/InitialConfiguration.ts","../node_modules/@ui5/webcomponents-base/src/EventProvider.ts","../node_modules/@ui5/webcomponents-base/src/RenderQueue.ts","../node_modules/@ui5/webcomponents-base/src/util/getSingletonElementInstance.ts","../node_modules/@ui5/webcomponents-base/src/getSharedResource.ts","../node_modules/@ui5/webcomponents-base/src/generated/VersionInfo.ts","../node_modules/@ui5/webcomponents-base/src/Runtimes.ts","../node_modules/@ui5/webcomponents-base/src/CustomElementsRegistry.ts","../node_modules/@ui5/webcomponents-base/src/locale/RTLAwareRegistry.ts","../node_modules/@ui5/webcomponents-base/src/Render.ts","../node_modules/@ui5/webcomponents-base/src/util/createStyleInHead.ts","../node_modules/@ui5/webcomponents-base/src/util/createLinkInHead.ts","../node_modules/@ui5/webcomponents-base/src/CSP.ts","../node_modules/@ui5/webcomponents-base/src/Device.ts","../node_modules/@ui5/webcomponents-base/src/ManagedStyles.ts","../node_modules/@ui5/webcomponents-base/src/theming/ThemeRegistered.ts","../node_modules/@ui5/webcomponents-base/src/asset-registries/Themes.ts","../node_modules/@ui5/webcomponents-base/src/theming/getThemeDesignerTheme.ts","../node_modules/@ui5/webcomponents-base/src/theming/ThemeLoaded.ts","../node_modules/@ui5/webcomponents-base/src/config/ThemeRoot.ts","../node_modules/@ui5/webcomponents-base/src/theming/applyTheme.ts","../node_modules/@ui5/webcomponents-base/src/config/Theme.ts","../node_modules/@ui5/webcomponents-react-base/dist/hooks/useIsomorphicLayoutEffect.js","../node_modules/@ui5/webcomponents-react-base/dist/styling/ThemingParameters.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/theming/dist/theming.esm.js","../node_modules/is-in-browser/dist/module.js","../node_modules/tiny-warning/dist/tiny-warning.esm.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/jss/dist/jss.esm.js","../node_modules/jss-plugin-rule-value-function/dist/jss-plugin-rule-value-function.esm.js","../node_modules/jss-plugin-rule-value-observable/dist/jss-plugin-rule-value-observable.esm.js","../node_modules/jss-plugin-template/dist/jss-plugin-template.esm.js","../node_modules/jss-plugin-global/dist/jss-plugin-global.esm.js","../node_modules/jss-plugin-extend/dist/jss-plugin-extend.esm.js","../node_modules/jss-plugin-nested/dist/jss-plugin-nested.esm.js","../node_modules/jss-plugin-compose/dist/jss-plugin-compose.esm.js","../node_modules/hyphenate-style-name/index.js","../node_modules/jss-plugin-camel-case/dist/jss-plugin-camel-case.esm.js","../node_modules/jss-plugin-default-unit/dist/jss-plugin-default-unit.esm.js","../node_modules/jss-plugin-expand/dist/jss-plugin-expand.esm.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/css-vendor/dist/css-vendor.esm.js","../node_modules/jss-plugin-vendor-prefixer/dist/jss-plugin-vendor-prefixer.esm.js","../node_modules/jss-plugin-props-sort/dist/jss-plugin-props-sort.esm.js","../node_modules/jss-preset-default/dist/jss-preset-default.esm.js","../node_modules/@emotion/memoize/dist/memoize.browser.esm.js","../node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js","../node_modules/css-jss/dist/css-jss.esm.js","../node_modules/react-jss/dist/react-jss.esm.js","../node_modules/@ui5/webcomponents-base/src/util/detectNavigatorLanguage.ts","../node_modules/@ui5/webcomponents-base/src/locale/languageChange.ts","../node_modules/@ui5/webcomponents-base/src/config/Language.ts","../node_modules/@ui5/webcomponents-base/src/locale/Locale.ts","../node_modules/@ui5/webcomponents-base/src/locale/getLocale.ts","../node_modules/@ui5/webcomponents-base/src/locale/normalizeLocale.ts","../node_modules/@ui5/webcomponents-base/src/locale/nextFallbackLocale.ts","../node_modules/@ui5/webcomponents-base/src/asset-registries/i18n.ts","../node_modules/@ui5/webcomponents-base/src/util/formatMessage.ts","../node_modules/@ui5/webcomponents-base/src/i18nBundle.ts","../node_modules/@ui5/webcomponents-react-base/dist/context/I18nContext.js","../node_modules/@ui5/webcomponents-react/dist/internal/I18nProvider.js","../node_modules/@ui5/webcomponents-react/dist/internal/ModalsContext.js","../node_modules/@ui5/webcomponents-react/dist/components/Modals/ModalsProvider.js","../node_modules/@ui5/webcomponents-react-base/dist/styling/CssSizeVariables.js","../node_modules/@ui5/webcomponents-react/dist/enums/GlobalStyleClasses.js","../node_modules/@ui5/webcomponents-react/dist/themes/CustomVariables.js","../node_modules/@ui5/webcomponents-react/dist/themes/base.js","../node_modules/@ui5/webcomponents-react/dist/themes/sap_belize.js","../node_modules/@ui5/webcomponents-react/dist/themes/sap_belize_hcb.js","../node_modules/@ui5/webcomponents-react/dist/themes/sap_belize_hcw.js","../node_modules/@ui5/webcomponents-react/dist/themes/sap_fiori_3.js","../node_modules/@ui5/webcomponents-react/dist/themes/sap_fiori_3_dark.js","../node_modules/@ui5/webcomponents-react/dist/themes/sap_fiori_3_hcb.js","../node_modules/@ui5/webcomponents-react/dist/themes/sap_fiori_3_hcw.js","../node_modules/@ui5/webcomponents-react/dist/themes/sap_horizon.js","../node_modules/@ui5/webcomponents-react/dist/themes/sap_horizon_dark.js","../node_modules/@ui5/webcomponents-react/dist/themes/sap_horizon_hcb.js","../node_modules/@ui5/webcomponents-react/dist/themes/sap_horizon_hcw.js","../node_modules/@ui5/webcomponents-react/dist/components/ThemeProvider/GlobalStyleClasses.jss.js","../node_modules/@ui5/webcomponents-react/dist/components/ThemeProvider/index.js","../node_modules/@ui5/webcomponents-base/src/util/whenDOMReady.ts","../node_modules/@ui5/webcomponents-base/src/generated/css/FontFace.css.ts","../node_modules/@ui5/webcomponents-base/src/generated/css/OverrideFontFace.css.ts","../node_modules/@ui5/webcomponents-base/src/FontFace.ts","../node_modules/@ui5/webcomponents-base/src/generated/css/SystemCSSVars.css.ts","../node_modules/@ui5/webcomponents-base/src/SystemCSSVars.ts","../node_modules/@ui5/webcomponents-base/src/Boot.ts","../node_modules/@ui5/webcomponents-base/src/util/StringHelper.ts","../node_modules/@ui5/webcomponents-base/src/util/SlotsHelper.ts","../node_modules/@ui5/webcomponents-base/src/CustomElementsScopeUtils.ts","../node_modules/@ui5/webcomponents-base/src/UI5ElementMetadata.ts","../node_modules/@ui5/webcomponents-base/src/StaticArea.ts","../node_modules/@ui5/webcomponents-base/src/theming/CustomStyle.ts","../node_modules/@ui5/webcomponents-base/src/theming/getStylesString.ts","../node_modules/@ui5/webcomponents-base/src/theming/getEffectiveStyle.ts","../node_modules/@ui5/webcomponents-base/src/theming/getConstructableStyle.ts","../node_modules/@ui5/webcomponents-base/src/theming/getEffectiveLinksHrefs.ts","../node_modules/@ui5/webcomponents-base/src/updateShadowRoot.ts","../node_modules/@ui5/webcomponents-base/src/util/getEffectiveContentDensity.ts","../node_modules/@ui5/webcomponents-base/src/util/getDesigntimePropertyAsArray.ts","../node_modules/@ui5/webcomponents-base/src/config/RTL.ts","../node_modules/@ui5/webcomponents-base/src/locale/getEffectiveDir.ts","../node_modules/@ui5/webcomponents-base/src/StaticAreaItem.ts","../node_modules/@ui5/webcomponents-base/src/IgnoreCustomElements.ts","../node_modules/@ui5/webcomponents-base/src/DOMObserver.ts","../node_modules/@ui5/webcomponents-base/src/config/NoConflict.ts","../node_modules/@ui5/webcomponents-base/src/util/isValidPropertyName.ts","../node_modules/@ui5/webcomponents-base/src/util/arraysAreEqual.ts","../node_modules/@ui5/webcomponents-base/src/theming/preloadLinks.ts","../node_modules/@ui5/webcomponents-base/src/renderer/executeTemplate.ts","../node_modules/@ui5/webcomponents-base/src/UI5Element.ts","../node_modules/@ui5/webcomponents-base/src/decorators/customElement.ts","../node_modules/@ui5/webcomponents-base/src/decorators/property.ts","../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../node_modules/lit-html/src/lit-html.ts","../node_modules/lit-html/src/directive.ts","../node_modules/lit-html/src/directive-helpers.ts","../node_modules/lit-html/src/directives/repeat.ts","../node_modules/lit-html/src/directives/class-map.ts","../node_modules/@ui5/webcomponents-base/dist/renderer/directives/style-map.js","../node_modules/lit-html/src/directives/if-defined.ts","../node_modules/lit-html/src/directives/unsafe-html.ts","../node_modules/@ui5/webcomponents-base/src/renderer/LitRenderer.ts","../node_modules/@ui5/webcomponents-base/src/Keys.ts","../node_modules/@ui5/webcomponents-base/src/types/DataType.ts","../node_modules/@ui5/webcomponents-base/src/types/Integer.ts","../node_modules/@ui5/webcomponents/src/types/BusyIndicatorSize.ts","../node_modules/@ui5/webcomponents/src/types/WrappingType.ts","../node_modules/@ui5/webcomponents/src/generated/i18n/i18n-defaults.ts","../node_modules/@ui5/webcomponents/src/generated/templates/LabelTemplate.lit.ts","../node_modules/@ui5/webcomponents-theming/src/generated/themes/sap_horizon/parameters-bundle.css.ts","../node_modules/@ui5/webcomponents/src/generated/themes/sap_horizon/parameters-bundle.css.ts","../node_modules/@ui5/webcomponents/src/generated/themes/Label.css.ts","../node_modules/@ui5/webcomponents/src/Label.ts","../node_modules/@ui5/webcomponents/src/generated/templates/BusyIndicatorTemplate.lit.ts","../node_modules/@ui5/webcomponents/src/generated/themes/BusyIndicator.css.ts","../node_modules/@ui5/webcomponents/src/BusyIndicator.ts","../node_modules/lit-html/src/static.ts","../node_modules/@ui5/webcomponents-base/src/CustomElementsScope.ts","../node_modules/@ui5/webcomponents-react-base/dist/hooks/useSyncRef.js","../node_modules/@ui5/webcomponents-react/dist/internal/utils.js","../node_modules/@ui5/webcomponents-react/dist/internal/withWebComponent.js","../node_modules/@ui5/webcomponents-react/dist/webComponents/BusyIndicator/index.js","Components/Loading/index.tsx","../node_modules/react-redux/src/utils/react.ts","../node_modules/react-redux/src/components/Context.ts","../node_modules/react-redux/src/utils/useSyncExternalStore.ts","../node_modules/react-redux/src/hooks/useReduxContext.ts","../node_modules/react-redux/src/hooks/useSelector.ts","../node_modules/react-redux/src/utils/react-is.ts","../node_modules/react-redux/src/utils/batch.ts","../node_modules/react-redux/src/utils/Subscription.ts","../node_modules/react-redux/src/utils/useIsomorphicLayoutEffect.ts","../node_modules/react-redux/src/utils/hoistStatics.ts","../node_modules/react-redux/src/components/Provider.tsx","../node_modules/react-redux/src/hooks/useStore.ts","../node_modules/react-redux/src/hooks/useDispatch.ts","../node_modules/react-redux/src/index.ts","../node_modules/react-redux/src/components/connect.tsx","../node_modules/@reduxjs/toolkit/node_modules/immer/src/utils/env.ts","../node_modules/@reduxjs/toolkit/node_modules/immer/src/utils/errors.ts","../node_modules/@reduxjs/toolkit/node_modules/immer/src/utils/common.ts","../node_modules/@reduxjs/toolkit/node_modules/immer/src/utils/plugins.ts","../node_modules/@reduxjs/toolkit/node_modules/immer/src/core/scope.ts","../node_modules/@reduxjs/toolkit/node_modules/immer/src/core/finalize.ts","../node_modules/@reduxjs/toolkit/node_modules/immer/src/core/proxy.ts","../node_modules/@reduxjs/toolkit/node_modules/immer/src/core/immerClass.ts","../node_modules/@reduxjs/toolkit/node_modules/immer/src/core/current.ts","../node_modules/@reduxjs/toolkit/node_modules/immer/src/immer.ts","../node_modules/reselect/src/utils.ts","../node_modules/reselect/src/autotrackMemoize/proxy.ts","../node_modules/reselect/src/weakMapMemoize.ts","../node_modules/reselect/src/createSelectorCreator.ts","../node_modules/reselect/src/createStructuredSelector.ts","../node_modules/redux/src/utils/formatProdErrorMessage.ts","../node_modules/redux/src/utils/symbol-observable.ts","../node_modules/redux/src/utils/actionTypes.ts","../node_modules/redux/src/utils/isPlainObject.ts","../node_modules/redux/src/createStore.ts","../node_modules/redux/src/combineReducers.ts","../node_modules/redux/src/compose.ts","../node_modules/redux-thunk/dist/redux-thunk.mjs","../node_modules/@reduxjs/toolkit/src/devtoolsExtension.ts","../node_modules/@reduxjs/toolkit/src/createDraftSafeSelector.ts","../node_modules/@reduxjs/toolkit/src/createAction.ts","../node_modules/redux/src/utils/isAction.ts","../node_modules/@reduxjs/toolkit/src/utils.ts","../node_modules/@reduxjs/toolkit/src/getDefaultMiddleware.ts","../node_modules/@reduxjs/toolkit/src/autoBatchEnhancer.ts","../node_modules/@reduxjs/toolkit/src/getDefaultEnhancers.ts","../node_modules/@reduxjs/toolkit/src/configureStore.ts","../node_modules/redux/src/applyMiddleware.ts","../node_modules/@reduxjs/toolkit/src/mapBuilders.ts","../node_modules/@reduxjs/toolkit/src/nanoid.ts","../node_modules/@reduxjs/toolkit/src/createSlice.ts","../node_modules/@reduxjs/toolkit/src/createReducer.ts","../node_modules/@reduxjs/toolkit/src/listenerMiddleware/exceptions.ts","../node_modules/@reduxjs/toolkit/src/listenerMiddleware/utils.ts","../node_modules/@reduxjs/toolkit/src/listenerMiddleware/task.ts","../node_modules/@reduxjs/toolkit/src/listenerMiddleware/index.ts","../node_modules/@reduxjs/toolkit/src/combineSlices.ts","../node_modules/@reduxjs/toolkit/src/formatProdErrorMessage.ts","redux/adverts/advertSlices.ts","redux/adverts/selectors.ts","../node_modules/clsx/dist/clsx.mjs","../node_modules/@ui5/webcomponents-react/dist/enums/FlexBoxJustifyContent.js","../node_modules/@ui5/webcomponents-react/dist/enums/FlexBoxDirection.js","../node_modules/@ui5/webcomponents-react/dist/enums/FlexBoxAlignItems.js","../node_modules/@ui5/webcomponents-react/dist/enums/FlexBoxWrap.js","../node_modules/@ui5/webcomponents-react/dist/components/FlexBox/FlexBox.jss.js","../node_modules/@ui5/webcomponents-react/dist/components/FlexBox/index.js","../node_modules/@ui5/webcomponents-base/src/decorators/event.ts","../node_modules/@ui5/webcomponents-base/src/util/AriaLabelHelper.ts","../node_modules/@ui5/webcomponents-base/src/MarkedEvents.ts","../node_modules/@ui5/webcomponents/src/types/LinkDesign.ts","../node_modules/@ui5/webcomponents/src/types/HasPopup.ts","../node_modules/@ui5/webcomponents/src/generated/templates/LinkTemplate.lit.ts","../node_modules/@ui5/webcomponents/src/generated/themes/Link.css.ts","../node_modules/@ui5/webcomponents/src/Link.ts","../node_modules/@ui5/webcomponents-react/dist/webComponents/Link/index.js","../node_modules/@ui5/webcomponents-base/src/decorators/slot.ts","../node_modules/@ui5/webcomponents-base/src/connectToComponent.ts","../node_modules/@ui5/webcomponents-base/src/types/DOMReference.ts","../node_modules/@ui5/webcomponents-base/src/types/InvisibleMessageMode.ts","../node_modules/@ui5/webcomponents-base/src/util/InvisibleMessage.ts","../node_modules/@ui5/webcomponents-base/src/types/ValueState.ts","../node_modules/@ui5/webcomponents-base/src/asset-registries/util/IconCollectionsAlias.ts","../node_modules/@ui5/webcomponents-base/src/asset-registries/util/IconCollectionsByTheme.ts","../node_modules/@ui5/webcomponents-base/src/config/Icons.ts","../node_modules/@ui5/webcomponents-base/src/asset-registries/util/getIconCollectionByTheme.ts","../node_modules/@ui5/webcomponents-base/src/asset-registries/Icons.ts","../node_modules/@ui5/webcomponents-icons/dist/v4/slim-arrow-down.js","../node_modules/@ui5/webcomponents-icons/dist/v5/slim-arrow-down.js","../node_modules/@ui5/webcomponents-icons/dist/slim-arrow-down.js","../node_modules/@ui5/webcomponents-icons/src/generated/i18n/i18n-defaults.ts","../node_modules/@ui5/webcomponents-icons/dist/v4/error.js","../node_modules/@ui5/webcomponents-icons/dist/v5/error.js","../node_modules/@ui5/webcomponents-icons/dist/error.js","../node_modules/@ui5/webcomponents-icons/dist/v4/alert.js","../node_modules/@ui5/webcomponents-icons/dist/v5/alert.js","../node_modules/@ui5/webcomponents-icons/dist/alert.js","../node_modules/@ui5/webcomponents-icons/dist/v4/sys-enter-2.js","../node_modules/@ui5/webcomponents-icons/dist/v5/sys-enter-2.js","../node_modules/@ui5/webcomponents-icons/dist/sys-enter-2.js","../node_modules/@ui5/webcomponents-icons/dist/v4/information.js","../node_modules/@ui5/webcomponents-icons/dist/v5/information.js","../node_modules/@ui5/webcomponents-icons/dist/information.js","../node_modules/@ui5/webcomponents-icons/dist/v4/decline.js","../node_modules/@ui5/webcomponents-icons/dist/v5/decline.js","../node_modules/@ui5/webcomponents-icons/dist/decline.js","../node_modules/@ui5/webcomponents-base/src/delegate/ResizeHandler.ts","../node_modules/@ui5/webcomponents-base/src/util/getActiveElement.ts","../node_modules/@ui5/webcomponents-base/src/types/NavigationMode.ts","../node_modules/@ui5/webcomponents-base/src/types/ItemNavigationBehavior.ts","../node_modules/@ui5/webcomponents-base/src/delegate/ItemNavigation.ts","../node_modules/@ui5/webcomponents-base/src/util/getNormalizedTarget.ts","../node_modules/@ui5/webcomponents-base/src/util/getEffectiveScrollbarStyle.ts","../node_modules/@ui5/webcomponents-base/src/util/debounce.ts","../node_modules/@ui5/webcomponents-base/src/util/isElementInView.ts","../node_modules/@ui5/webcomponents/src/types/ListMode.ts","../node_modules/@ui5/webcomponents/src/types/ListGrowingMode.ts","../node_modules/@ui5/webcomponents-base/src/util/isElementHidden.ts","../node_modules/@ui5/webcomponents-base/src/util/isElementTabbable.ts","../node_modules/@ui5/webcomponents-base/src/util/TabbableElements.ts","../node_modules/@ui5/webcomponents/src/generated/themes/ListItemBase.css.ts","../node_modules/@ui5/webcomponents/src/ListItemBase.ts","../node_modules/@ui5/webcomponents/src/types/ListSeparators.ts","../node_modules/@ui5/webcomponents/src/generated/templates/ListTemplate.lit.ts","../node_modules/@ui5/webcomponents/src/generated/themes/List.css.ts","../node_modules/@ui5/webcomponents/src/generated/themes/BrowserScrollbar.css.ts","../node_modules/@ui5/webcomponents-icons/dist/v4/accept.js","../node_modules/@ui5/webcomponents-icons/dist/v5/accept.js","../node_modules/@ui5/webcomponents-icons/dist/accept.js","../node_modules/@ui5/webcomponents-icons/dist/v4/complete.js","../node_modules/@ui5/webcomponents-icons/dist/v5/complete.js","../node_modules/@ui5/webcomponents-icons/dist/complete.js","../node_modules/@ui5/webcomponents-icons/dist/v4/border.js","../node_modules/@ui5/webcomponents-icons/dist/v5/border.js","../node_modules/@ui5/webcomponents-icons/dist/border.js","../node_modules/@ui5/webcomponents-icons/dist/v4/tri-state.js","../node_modules/@ui5/webcomponents-icons/dist/v5/tri-state.js","../node_modules/@ui5/webcomponents-icons/dist/tri-state.js","../node_modules/@ui5/webcomponents/src/generated/templates/IconTemplate.lit.ts","../node_modules/@ui5/webcomponents/src/types/IconDesign.ts","../node_modules/@ui5/webcomponents/src/generated/themes/Icon.css.ts","../node_modules/@ui5/webcomponents/src/Icon.ts","../node_modules/@ui5/webcomponents/src/generated/themes/CheckBox.css.ts","../node_modules/@ui5/webcomponents/src/generated/templates/CheckBoxTemplate.lit.ts","../node_modules/@ui5/webcomponents/src/CheckBox.ts","../node_modules/@ui5/webcomponents/src/RadioButtonGroup.ts","../node_modules/@ui5/webcomponents/src/generated/templates/RadioButtonTemplate.lit.ts","../node_modules/@ui5/webcomponents/src/generated/themes/RadioButton.css.ts","../node_modules/@ui5/webcomponents/src/RadioButton.ts","../node_modules/@ui5/webcomponents/src/List.ts","../node_modules/@ui5/webcomponents/src/Option.ts","../node_modules/@ui5/webcomponents-base/src/util/PopupUtils.ts","../node_modules/@ui5/webcomponents/src/generated/templates/ResponsivePopoverTemplate.lit.ts","../node_modules/@ui5/webcomponents-base/src/util/clamp.ts","../node_modules/@ui5/webcomponents-base/src/util/isElementContainingBlock.ts","../node_modules/@ui5/webcomponents-base/src/util/getParentElement.ts","../node_modules/@ui5/webcomponents-base/src/util/isElementClickable.ts","../node_modules/@ui5/webcomponents-base/src/util/FocusableElements.ts","../node_modules/@ui5/webcomponents-base/src/MediaRange.ts","../node_modules/@ui5/webcomponents/src/generated/templates/PopupTemplate.lit.ts","../node_modules/@ui5/webcomponents/src/generated/templates/PopupBlockLayerTemplate.lit.ts","../node_modules/@ui5/webcomponents/src/types/PopupAccessibleRole.ts","../node_modules/@ui5/webcomponents/src/popup-utils/OpenedPopupsRegistry.ts","../node_modules/@ui5/webcomponents/src/generated/themes/Popup.css.ts","../node_modules/@ui5/webcomponents/src/generated/themes/PopupStaticAreaStyles.css.ts","../node_modules/@ui5/webcomponents/src/generated/themes/PopupGlobal.css.ts","../node_modules/@ui5/webcomponents/src/Popup.ts","../node_modules/@ui5/webcomponents/src/types/PopoverPlacementType.ts","../node_modules/@ui5/webcomponents/src/types/PopoverVerticalAlign.ts","../node_modules/@ui5/webcomponents/src/types/PopoverHorizontalAlign.ts","../node_modules/@ui5/webcomponents/src/popup-utils/PopoverRegistry.ts","../node_modules/@ui5/webcomponents/src/generated/templates/PopoverTemplate.lit.ts","../node_modules/@ui5/webcomponents/src/generated/themes/PopupsCommon.css.ts","../node_modules/@ui5/webcomponents/src/generated/themes/Popover.css.ts","../node_modules/@ui5/webcomponents/src/Popover.ts","../node_modules/@ui5/webcomponents-icons/dist/v4/resize-corner.js","../node_modules/@ui5/webcomponents-icons/dist/v5/resize-corner.js","../node_modules/@ui5/webcomponents-icons/dist/resize-corner.js","../node_modules/@ui5/webcomponents/src/generated/templates/DialogTemplate.lit.ts","../node_modules/@ui5/webcomponents/src/generated/themes/Dialog.css.ts","../node_modules/@ui5/webcomponents/src/Dialog.ts","../node_modules/@ui5/webcomponents-base/src/util/willShowContent.ts","../node_modules/@ui5/webcomponents/src/types/ButtonDesign.ts","../node_modules/@ui5/webcomponents/src/types/ButtonType.ts","../node_modules/@ui5/webcomponents/src/generated/templates/ButtonTemplate.lit.ts","../node_modules/@ui5/webcomponents/src/generated/themes/Button.css.ts","../node_modules/@ui5/webcomponents/src/Button.ts","../node_modules/@ui5/webcomponents/src/types/TitleLevel.ts","../node_modules/@ui5/webcomponents/src/generated/templates/TitleTemplate.lit.ts","../node_modules/@ui5/webcomponents/src/generated/themes/Title.css.ts","../node_modules/@ui5/webcomponents/src/Title.ts","../node_modules/@ui5/webcomponents/src/generated/themes/ResponsivePopover.css.ts","../node_modules/@ui5/webcomponents/src/ResponsivePopover.ts","../node_modules/@ui5/webcomponents-icons/dist/v4/edit.js","../node_modules/@ui5/webcomponents-icons/dist/v5/edit.js","../node_modules/@ui5/webcomponents-icons/dist/edit.js","../node_modules/@ui5/webcomponents/src/types/ListItemType.ts","../node_modules/@ui5/webcomponents/src/generated/themes/ListItem.css.ts","../node_modules/@ui5/webcomponents-icons/dist/v4/slim-arrow-right.js","../node_modules/@ui5/webcomponents-icons/dist/v5/slim-arrow-right.js","../node_modules/@ui5/webcomponents-icons/dist/slim-arrow-right.js","../node_modules/@ui5/webcomponents/src/ListItem.ts","../node_modules/@ui5/webcomponents/src/generated/templates/AvatarTemplate.lit.ts","../node_modules/@ui5/webcomponents/src/generated/themes/Avatar.css.ts","../node_modules/@ui5/webcomponents/src/types/AvatarSize.ts","../node_modules/@ui5/webcomponents/src/types/AvatarShape.ts","../node_modules/@ui5/webcomponents/src/types/AvatarColorScheme.ts","../node_modules/@ui5/webcomponents-icons/dist/v4/employee.js","../node_modules/@ui5/webcomponents-icons/dist/v5/employee.js","../node_modules/@ui5/webcomponents-icons/dist/employee.js","../node_modules/@ui5/webcomponents/src/Avatar.ts","../node_modules/@ui5/webcomponents/src/generated/templates/StandardListItemTemplate.lit.ts","../node_modules/@ui5/webcomponents/src/StandardListItem.ts","../node_modules/@ui5/webcomponents/src/generated/templates/SelectTemplate.lit.ts","../node_modules/@ui5/webcomponents/src/generated/templates/SelectPopoverTemplate.lit.ts","../node_modules/@ui5/webcomponents/src/generated/themes/Select.css.ts","../node_modules/@ui5/webcomponents/src/generated/themes/ResponsivePopoverCommon.css.ts","../node_modules/@ui5/webcomponents/src/generated/themes/ValueStateMessage.css.ts","../node_modules/@ui5/webcomponents/src/generated/themes/SelectPopover.css.ts","../node_modules/@ui5/webcomponents/src/Select.ts","../node_modules/@ui5/webcomponents-react/dist/webComponents/Select/index.js","../node_modules/@ui5/webcomponents-react/dist/webComponents/Option/index.js","../node_modules/@tanstack/virtual-core/src/utils.ts","../node_modules/@tanstack/virtual-core/src/index.ts","../node_modules/@tanstack/react-virtual/src/index.tsx","../node_modules/@ui5/webcomponents-react-base/dist/utils/index.js","../node_modules/@ui5/webcomponents-react-base/dist/hooks/useIsomorphicId.js","../node_modules/@ui5/webcomponents-react-base/dist/hooks/useI18nBundle.js","../node_modules/@ui5/webcomponents-react-base/dist/hooks/useIsRTL.js","../node_modules/@ui5/webcomponents-react-base/dist/utils/debounce.js","../node_modules/@ui5/webcomponents-react/dist/enums/AnalyticalTableSubComponentsBehavior.js","../node_modules/@ui5/webcomponents-react/dist/enums/AnalyticalTableVisibleRowCountMode.js","../node_modules/@ui5/webcomponents-react/dist/enums/AnalyticalTableSelectionMode.js","../node_modules/@ui5/webcomponents-react/dist/enums/AnalyticalTableSelectionBehavior.js","../node_modules/@ui5/webcomponents-react/dist/enums/AnalyticalTableScaleWidthMode.js","../node_modules/@ui5/webcomponents-react/dist/i18n/i18n-defaults.js","../node_modules/@ui5/webcomponents-react/dist/components/Text/Text.jss.js","../node_modules/@ui5/webcomponents-react/dist/components/Text/index.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/AnayticalTable.jss.js","../node_modules/@ui5/webcomponents-icons/dist/v4/filter.js","../node_modules/@ui5/webcomponents-icons/dist/v5/filter.js","../node_modules/@ui5/webcomponents-icons/dist/filter.js","../node_modules/@ui5/webcomponents-icons/dist/v4/group-2.js","../node_modules/@ui5/webcomponents-icons/dist/v5/group-2.js","../node_modules/@ui5/webcomponents-icons/dist/group-2.js","../node_modules/@ui5/webcomponents-icons/dist/v4/sort-ascending.js","../node_modules/@ui5/webcomponents-icons/dist/v5/sort-ascending.js","../node_modules/@ui5/webcomponents-icons/dist/sort-ascending.js","../node_modules/@ui5/webcomponents-icons/dist/v4/sort-descending.js","../node_modules/@ui5/webcomponents-icons/dist/v5/sort-descending.js","../node_modules/@ui5/webcomponents-icons/dist/sort-descending.js","../node_modules/@ui5/webcomponents-react/dist/webComponents/Icon/index.js","../node_modules/@ui5/webcomponents-react/dist/enums/TextAlign.js","../node_modules/@ui5/webcomponents-react/dist/internal/ssr.js","../node_modules/@ui5/webcomponents-react/dist/internal/stopPropagation.js","../node_modules/@ui5/webcomponents/src/generated/templates/CustomListItemTemplate.lit.ts","../node_modules/@ui5/webcomponents/src/generated/themes/CustomListItem.css.ts","../node_modules/@ui5/webcomponents/src/CustomListItem.ts","../node_modules/@ui5/webcomponents-react/dist/webComponents/CustomListItem/index.js","../node_modules/@ui5/webcomponents-react/dist/webComponents/List/index.js","../node_modules/@ui5/webcomponents-react/dist/webComponents/Popover/index.js","../node_modules/@ui5/webcomponents-react/dist/webComponents/StandardListItem/index.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/ColumnHeader/ColumnHeaderModal.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/ColumnHeader/index.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/ColumnHeader/ColumnHeaderContainer.js","../node_modules/@ui5/webcomponents-react/dist/enums/VerticalAlign.js","../node_modules/@ui5/webcomponents-base/src/util/Caret.ts","../node_modules/@ui5/webcomponents-icons/dist/v4/not-editable.js","../node_modules/@ui5/webcomponents-icons/dist/v5/not-editable.js","../node_modules/@ui5/webcomponents-icons/dist/not-editable.js","../node_modules/@ui5/webcomponents/src/types/InputType.ts","../node_modules/@ui5/webcomponents/src/generated/templates/InputTemplate.lit.ts","../node_modules/@ui5/webcomponents/src/generated/templates/InputPopoverTemplate.lit.ts","../node_modules/@ui5/webcomponents/src/generated/themes/Input.css.ts","../node_modules/@ui5/webcomponents/src/generated/themes/Suggestions.css.ts","../node_modules/@ui5/webcomponents/src/Input.ts","../node_modules/@ui5/webcomponents/src/Filters.ts","../node_modules/@ui5/webcomponents-react/dist/webComponents/Input/index.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/defaults/FilterComponent/index.js","../node_modules/@ui5/webcomponents-icons/dist/v4/navigation-down-arrow.js","../node_modules/@ui5/webcomponents-icons/dist/v5/navigation-down-arrow.js","../node_modules/@ui5/webcomponents-icons/dist/navigation-down-arrow.js","../node_modules/@ui5/webcomponents-icons/dist/v4/navigation-right-arrow.js","../node_modules/@ui5/webcomponents-icons/dist/v5/navigation-right-arrow.js","../node_modules/@ui5/webcomponents-icons/dist/navigation-right-arrow.js","../node_modules/@ui5/webcomponents-react/dist/webComponents/Button/index.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/defaults/Column/Expandable.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/defaults/Column/Grouped.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/defaults/Column/PopIn.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/defaults/Column/index.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/defaults/Column/Cell.js","../node_modules/@ui5/webcomponents-react-base/dist/hooks/useCurrentTheme.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/defaults/Column/RepeatedValue.js","../node_modules/@ui5/webcomponents-react/dist/enums/LoaderType.js","../node_modules/@ui5/webcomponents-react/dist/components/Loader/Loader.jss.js","../node_modules/@ui5/webcomponents-react/dist/components/Loader/index.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/defaults/LoadingComponent/index.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/util/index.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/defaults/LoadingComponent/TablePlaceholder.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/defaults/NoDataComponent/index.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/hooks/useA11y.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/hooks/useDragAndDrop.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/hooks/useDynamicColumnWidths.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/hooks/useKeyboardNavigation.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/hooks/usePopIn.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/hooks/useResizeColumnsConfig.js","../node_modules/@ui5/webcomponents-react/dist/enums/ValueState.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/hooks/useRowHighlight.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/hooks/useRowNavigationIndicator.js","../node_modules/@ui5/webcomponents-react/dist/webComponents/CheckBox/index.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/hooks/useRowSelectionColumn.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/hooks/useSelectionChangeCallback.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/hooks/useSingleRowStateSelection.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/hooks/useStyling.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/hooks/useTableScrollHandles.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/hooks/useToggleRowExpand.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/hooks/useVisibleColumnsWidth.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/scrollbars/VerticalScrollbar.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/TableBody/EmptyRow.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/TableBody/RowSubComponent.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/TableBody/VirtualTableBody.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/TableBody/VirtualTableBodyContainer.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/tableReducer/stateReducer.js","../node_modules/@ui5/webcomponents-react/dist/webComponents/Title/index.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/TitleBar/index.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/VerticalResizer.js","../node_modules/@ui5/webcomponents-react/dist/components/AnalyticalTable/index.js","../node_modules/@ui5/webcomponents-icons/src/json-imports/Icons.ts","Components/AdvertList/index.tsx","Components/AdvertPrices/index.tsx","../node_modules/@ui5/webcomponents-react/dist/webComponents/Dialog/index.js","../node_modules/@ui5/webcomponents-react/dist/webComponents/Label/index.js","../node_modules/@ui5/webcomponents-react/dist/webComponents/ResponsivePopover/index.js","../node_modules/@ui5/webcomponents-react/dist/components/ExpandableText/index.js","../node_modules/@ui5/webcomponents-base/src/animations/AnimationQueue.ts","../node_modules/@ui5/webcomponents-base/src/animations/animate.ts","../node_modules/@ui5/webcomponents-base/src/animations/scroll.ts","../node_modules/@ui5/webcomponents-base/src/delegate/ScrollEnablement.ts","../node_modules/@ui5/webcomponents-base/src/config/AnimationMode.ts","../node_modules/@ui5/webcomponents/src/types/CarouselArrowsPlacement.ts","../node_modules/@ui5/webcomponents/src/types/CarouselPageIndicatorStyle.ts","../node_modules/@ui5/webcomponents/src/types/BackgroundDesign.ts","../node_modules/@ui5/webcomponents/src/types/BorderDesign.ts","../node_modules/@ui5/webcomponents/src/generated/templates/CarouselTemplate.lit.ts","../node_modules/@ui5/webcomponents-icons/dist/v4/slim-arrow-left.js","../node_modules/@ui5/webcomponents-icons/dist/v5/slim-arrow-left.js","../node_modules/@ui5/webcomponents-icons/dist/slim-arrow-left.js","../node_modules/@ui5/webcomponents/src/generated/themes/Carousel.css.ts","../node_modules/@ui5/webcomponents/src/Carousel.ts","../node_modules/@ui5/webcomponents-icons/dist/v4/background.js","../node_modules/@ui5/webcomponents-icons/dist/v5/background.js","../node_modules/@ui5/webcomponents-icons/dist/background.js","../node_modules/@ui5/webcomponents-fiori/src/types/MediaGalleryItemLayout.ts","../node_modules/@ui5/webcomponents-fiori/src/generated/themes/sap_horizon/parameters-bundle.css.ts","../node_modules/@ui5/webcomponents-fiori/src/generated/themes/MediaGalleryItem.css.ts","../node_modules/@ui5/webcomponents-fiori/src/generated/templates/MediaGalleryItemTemplate.lit.ts","../node_modules/@ui5/webcomponents-fiori/src/MediaGalleryItem.ts","../node_modules/@ui5/webcomponents-fiori/src/types/MediaGalleryLayout.ts","../node_modules/@ui5/webcomponents-fiori/src/types/MediaGalleryMenuHorizontalAlign.ts","../node_modules/@ui5/webcomponents-fiori/src/types/MediaGalleryMenuVerticalAlign.ts","../node_modules/@ui5/webcomponents-fiori/src/generated/themes/MediaGallery.css.ts","../node_modules/@ui5/webcomponents-fiori/src/generated/templates/MediaGalleryTemplate.lit.ts","../node_modules/@ui5/webcomponents-fiori/src/MediaGallery.ts","../node_modules/@ui5/webcomponents-react/dist/webComponents/MediaGallery/index.js","../node_modules/@ui5/webcomponents-react/dist/webComponents/MediaGalleryItem/index.js","Components/AdvertDetails/index.tsx","Components/AdvertsPage/index.tsx","App.tsx","reportWebVitals.ts","../node_modules/@redux-saga/symbols/dist/redux-saga-symbols.esm.js","../node_modules/@redux-saga/is/dist/redux-saga-is.esm.js","../node_modules/@redux-saga/core/dist/io-22ea0cf9.js","../node_modules/@redux-saga/deferred/dist/redux-saga-deferred.esm.js","../node_modules/@redux-saga/core/dist/redux-saga-core.esm.js","../node_modules/redux-saga/dist/redux-saga-core-npm-proxy.esm.js","redux/rootReducer.ts","../node_modules/@redux-saga/core/dist/redux-saga-effects.esm.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/platform/common/utils.js","../node_modules/axios/lib/platform/index.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","redux/adverts/requests.ts","redux/adverts/sagas.ts","redux/rootSaga.ts","redux/store.ts","../node_modules/@ui5/webcomponents-icons/dist/v4/palette.js","../node_modules/@ui5/webcomponents-icons/dist/v5/palette.js","../node_modules/@ui5/webcomponents-icons/dist/palette.js","../node_modules/@ui5/webcomponents/src/generated/templates/ToggleButtonTemplate.lit.ts","../node_modules/@ui5/webcomponents/src/generated/themes/ToggleButton.css.ts","../node_modules/@ui5/webcomponents/src/ToggleButton.ts","../node_modules/@ui5/webcomponents-icons/dist/v4/search.js","../node_modules/@ui5/webcomponents-icons/dist/v5/search.js","../node_modules/@ui5/webcomponents-icons/dist/search.js","../node_modules/@ui5/webcomponents-icons/dist/v4/bell.js","../node_modules/@ui5/webcomponents-icons/dist/v5/bell.js","../node_modules/@ui5/webcomponents-icons/dist/bell.js","../node_modules/@ui5/webcomponents-icons/dist/v4/overflow.js","../node_modules/@ui5/webcomponents-icons/dist/v5/overflow.js","../node_modules/@ui5/webcomponents-icons/dist/overflow.js","../node_modules/@ui5/webcomponents-icons/dist/v4/grid.js","../node_modules/@ui5/webcomponents-icons/dist/v5/grid.js","../node_modules/@ui5/webcomponents-icons/dist/grid.js","../node_modules/@ui5/webcomponents-fiori/src/generated/templates/ShellBarTemplate.lit.ts","../node_modules/@ui5/webcomponents-fiori/src/generated/templates/ShellBarPopoverTemplate.lit.ts","../node_modules/@ui5/webcomponents-fiori/src/generated/themes/ShellBar.css.ts","../node_modules/@ui5/webcomponents-fiori/src/generated/themes/ShellBarPopover.css.ts","../node_modules/@ui5/webcomponents-icons/dist/v4/da.js","../node_modules/@ui5/webcomponents-icons/dist/v5/da.js","../node_modules/@ui5/webcomponents-icons/dist/da.js","../node_modules/@ui5/webcomponents-icons/dist/v4/da-2.js","../node_modules/@ui5/webcomponents-icons/dist/v5/da-2.js","../node_modules/@ui5/webcomponents-icons/dist/da-2.js","../node_modules/@ui5/webcomponents-fiori/src/generated/i18n/i18n-defaults.ts","../node_modules/@ui5/webcomponents-fiori/src/ShellBar.ts","../node_modules/@ui5/webcomponents-react/dist/webComponents/ShellBar/index.js","../node_modules/@ui5/webcomponents-fiori/src/ShellBarItem.ts","../node_modules/@ui5/webcomponents-react/dist/webComponents/ShellBarItem/index.js","Components/AppShell/AppShellBar.tsx","../node_modules/@ui5/webcomponents-base/src/asset-registries/LocaleData.ts","../node_modules/@ui5/webcomponents-localization/src/generated/json-imports/LocaleData.ts","../node_modules/@ui5/webcomponents-theming/src/generated/json-imports/Themes.ts","../node_modules/@ui5/webcomponents-icons/src/generated/json-imports/i18n.ts","../node_modules/@ui5/webcomponents/src/generated/json-imports/Themes.ts","../node_modules/@ui5/webcomponents/src/generated/json-imports/i18n.ts","../node_modules/@ui5/webcomponents-fiori/src/generated/json-imports/Themes.ts","../node_modules/@ui5/webcomponents-fiori/src/generated/json-imports/i18n.ts","../node_modules/@ui5/webcomponents-react/dist/json-imports/i18n.js","index.tsx"],"sourcesContent":["'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;ac?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eHj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3 value;\nexport const emptyRenderer = () => <> ;\n\nexport const defaultColumn = {\n Cell: defaultRenderer,\n width: 150,\n minWidth: 0,\n maxWidth: Number.MAX_SAFE_INTEGER,\n}\n\nfunction mergeProps(...propList) {\n return propList.reduce((props, next) => {\n const { style, className, ...rest } = next\n\n props = {\n ...props,\n ...rest,\n }\n\n if (style) {\n props.style = props.style\n ? { ...(props.style || {}), ...(style || {}) }\n : style\n }\n\n if (className) {\n props.className = props.className\n ? props.className + ' ' + className\n : className\n }\n\n if (props.className === '') {\n delete props.className\n }\n\n return props\n }, {})\n}\n\nfunction handlePropGetter(prevProps, userProps, meta) {\n // Handle a lambda, pass it the previous props\n if (typeof userProps === 'function') {\n return handlePropGetter({}, userProps(prevProps, meta))\n }\n\n // Handle an array, merge each item as separate props\n if (Array.isArray(userProps)) {\n return mergeProps(prevProps, ...userProps)\n }\n\n // Handle an object by default, merge the two objects\n return mergeProps(prevProps, userProps)\n}\n\nexport const makePropGetter = (hooks, meta = {}) => {\n return (userProps = {}) =>\n [...hooks, userProps].reduce(\n (prev, next) =>\n handlePropGetter(prev, next, {\n ...meta,\n userProps,\n }),\n {}\n )\n}\n\nexport const reduceHooks = (hooks, initial, meta = {}, allowUndefined) =>\n hooks.reduce((prev, next) => {\n const nextValue = next(prev, meta)\n if (process.env.NODE_ENV !== 'production') {\n if (!allowUndefined && typeof nextValue === 'undefined') {\n console.info(next)\n throw new Error(\n 'React Table: A reducer hook ☝️ just returned undefined! This is not allowed.'\n )\n }\n }\n return nextValue\n }, initial)\n\nexport const loopHooks = (hooks, context, meta = {}) =>\n hooks.forEach(hook => {\n const nextValue = hook(context, meta)\n if (process.env.NODE_ENV !== 'production') {\n if (typeof nextValue !== 'undefined') {\n console.info(hook, nextValue)\n throw new Error(\n 'React Table: A loop-type hook ☝️ just returned a value! This is not allowed.'\n )\n }\n }\n })\n\nexport function ensurePluginOrder(plugins, befores, pluginName, afters) {\n if (process.env.NODE_ENV !== 'production' && afters) {\n throw new Error(\n `Defining plugins in the \"after\" section of ensurePluginOrder is no longer supported (see plugin ${pluginName})`\n )\n }\n const pluginIndex = plugins.findIndex(\n plugin => plugin.pluginName === pluginName\n )\n\n if (pluginIndex === -1) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`The plugin \"${pluginName}\" was not found in the plugin list!\nThis usually means you need to need to name your plugin hook by setting the 'pluginName' property of the hook function, eg:\n\n ${pluginName}.pluginName = '${pluginName}'\n`)\n }\n }\n\n befores.forEach(before => {\n const beforeIndex = plugins.findIndex(\n plugin => plugin.pluginName === before\n )\n if (beforeIndex > -1 && beforeIndex > pluginIndex) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n `React Table: The ${pluginName} plugin hook must be placed after the ${before} plugin hook!`\n )\n }\n }\n })\n}\n\nexport function functionalUpdate(updater, old) {\n return typeof updater === 'function' ? updater(old) : updater\n}\n\nexport function useGetLatest(obj) {\n const ref = React.useRef()\n ref.current = obj\n\n return React.useCallback(() => ref.current, [])\n}\n\n// SSR has issues with useLayoutEffect still, so use useEffect during SSR\nexport const safeUseLayoutEffect =\n typeof document !== 'undefined' ? React.useLayoutEffect : React.useEffect\n\nexport function useMountedLayoutEffect(fn, deps) {\n const mountedRef = React.useRef(false)\n\n safeUseLayoutEffect(() => {\n if (mountedRef.current) {\n fn()\n }\n mountedRef.current = true\n // eslint-disable-next-line\n }, deps)\n}\n\nexport function useAsyncDebounce(defaultFn, defaultWait = 0) {\n const debounceRef = React.useRef({})\n\n const getDefaultFn = useGetLatest(defaultFn)\n const getDefaultWait = useGetLatest(defaultWait)\n\n return React.useCallback(\n async (...args) => {\n if (!debounceRef.current.promise) {\n debounceRef.current.promise = new Promise((resolve, reject) => {\n debounceRef.current.resolve = resolve\n debounceRef.current.reject = reject\n })\n }\n\n if (debounceRef.current.timeout) {\n clearTimeout(debounceRef.current.timeout)\n }\n\n debounceRef.current.timeout = setTimeout(async () => {\n delete debounceRef.current.timeout\n try {\n debounceRef.current.resolve(await getDefaultFn()(...args))\n } catch (err) {\n debounceRef.current.reject(err)\n } finally {\n delete debounceRef.current.promise\n }\n }, getDefaultWait())\n\n return debounceRef.current.promise\n },\n [getDefaultFn, getDefaultWait]\n )\n}\n\nexport function makeRenderer(instance, column, meta = {}) {\n return (type, userProps = {}) => {\n const Comp = typeof type === 'string' ? column[type] : type\n\n if (typeof Comp === 'undefined') {\n console.info(column)\n throw new Error(renderErr)\n }\n\n return flexRender(Comp, { ...instance, column, ...meta, ...userProps })\n }\n}\n\nexport function flexRender(Comp, props) {\n return isReactComponent(Comp) ? : Comp\n}\n\nfunction isReactComponent(component) {\n return (\n isClassComponent(component) ||\n typeof component === 'function' ||\n isExoticComponent(component)\n )\n}\n\nfunction isClassComponent(component) {\n return (\n typeof component === 'function' &&\n (() => {\n const proto = Object.getPrototypeOf(component)\n return proto.prototype && proto.prototype.isReactComponent\n })()\n )\n}\n\nfunction isExoticComponent(component) {\n return (\n typeof component === 'object' &&\n typeof component.$$typeof === 'symbol' &&\n ['react.memo', 'react.forward_ref'].includes(component.$$typeof.description)\n )\n}\n","import { defaultColumn, emptyRenderer } from './publicUtils'\n\n// Find the depth of the columns\nexport function findMaxDepth(columns, depth = 0) {\n return columns.reduce((prev, curr) => {\n if (curr.columns) {\n return Math.max(prev, findMaxDepth(curr.columns, depth + 1))\n }\n return depth\n }, 0)\n}\n\n// Build the visible columns, headers and flat column list\nexport function linkColumnStructure(columns, parent, depth = 0) {\n return columns.map(column => {\n column = {\n ...column,\n parent,\n depth,\n }\n\n assignColumnAccessor(column)\n\n if (column.columns) {\n column.columns = linkColumnStructure(column.columns, column, depth + 1)\n }\n return column\n })\n}\n\nexport function flattenColumns(columns) {\n return flattenBy(columns, 'columns')\n}\n\nexport function assignColumnAccessor(column) {\n // First check for string accessor\n let { id, accessor, Header } = column\n\n if (typeof accessor === 'string') {\n id = id || accessor\n const accessorPath = accessor.split('.')\n accessor = row => getBy(row, accessorPath)\n }\n\n if (!id && typeof Header === 'string' && Header) {\n id = Header\n }\n\n if (!id && column.columns) {\n console.error(column)\n throw new Error('A column ID (or unique \"Header\" value) is required!')\n }\n\n if (!id) {\n console.error(column)\n throw new Error('A column ID (or string accessor) is required!')\n }\n\n Object.assign(column, {\n id,\n accessor,\n })\n\n return column\n}\n\nexport function decorateColumn(column, userDefaultColumn) {\n if (!userDefaultColumn) {\n throw new Error()\n }\n Object.assign(column, {\n // Make sure there is a fallback header, just in case\n Header: emptyRenderer,\n Footer: emptyRenderer,\n ...defaultColumn,\n ...userDefaultColumn,\n ...column,\n })\n\n Object.assign(column, {\n originalWidth: column.width,\n })\n\n return column\n}\n\n// Build the header groups from the bottom up\nexport function makeHeaderGroups(\n allColumns,\n defaultColumn,\n additionalHeaderProperties = () => ({})\n) {\n const headerGroups = []\n\n let scanColumns = allColumns\n\n let uid = 0\n const getUID = () => uid++\n\n while (scanColumns.length) {\n // The header group we are creating\n const headerGroup = {\n headers: [],\n }\n\n // The parent columns we're going to scan next\n const parentColumns = []\n\n const hasParents = scanColumns.some(d => d.parent)\n\n // Scan each column for parents\n scanColumns.forEach(column => {\n // What is the latest (last) parent column?\n let latestParentColumn = [...parentColumns].reverse()[0]\n\n let newParent\n\n if (hasParents) {\n // If the column has a parent, add it if necessary\n if (column.parent) {\n newParent = {\n ...column.parent,\n originalId: column.parent.id,\n id: `${column.parent.id}_${getUID()}`,\n headers: [column],\n ...additionalHeaderProperties(column),\n }\n } else {\n // If other columns have parents, we'll need to add a place holder if necessary\n const originalId = `${column.id}_placeholder`\n newParent = decorateColumn(\n {\n originalId,\n id: `${column.id}_placeholder_${getUID()}`,\n placeholderOf: column,\n headers: [column],\n ...additionalHeaderProperties(column),\n },\n defaultColumn\n )\n }\n\n // If the resulting parent columns are the same, just add\n // the column and increment the header span\n if (\n latestParentColumn &&\n latestParentColumn.originalId === newParent.originalId\n ) {\n latestParentColumn.headers.push(column)\n } else {\n parentColumns.push(newParent)\n }\n }\n\n headerGroup.headers.push(column)\n })\n\n headerGroups.push(headerGroup)\n\n // Start scanning the parent columns\n scanColumns = parentColumns\n }\n\n return headerGroups.reverse()\n}\n\nconst pathObjCache = new Map()\n\nexport function getBy(obj, path, def) {\n if (!path) {\n return obj\n }\n const cacheKey = typeof path === 'function' ? path : JSON.stringify(path)\n\n const pathObj =\n pathObjCache.get(cacheKey) ||\n (() => {\n const pathObj = makePathArray(path)\n pathObjCache.set(cacheKey, pathObj)\n return pathObj\n })()\n\n let val\n\n try {\n val = pathObj.reduce((cursor, pathPart) => cursor[pathPart], obj)\n } catch (e) {\n // continue regardless of error\n }\n return typeof val !== 'undefined' ? val : def\n}\n\nexport function getFirstDefined(...args) {\n for (let i = 0; i < args.length; i += 1) {\n if (typeof args[i] !== 'undefined') {\n return args[i]\n }\n }\n}\n\nexport function getElementDimensions(element) {\n const rect = element.getBoundingClientRect()\n const style = window.getComputedStyle(element)\n const margins = {\n left: parseInt(style.marginLeft),\n right: parseInt(style.marginRight),\n }\n const padding = {\n left: parseInt(style.paddingLeft),\n right: parseInt(style.paddingRight),\n }\n return {\n left: Math.ceil(rect.left),\n width: Math.ceil(rect.width),\n outerWidth: Math.ceil(\n rect.width + margins.left + margins.right + padding.left + padding.right\n ),\n marginLeft: margins.left,\n marginRight: margins.right,\n paddingLeft: padding.left,\n paddingRight: padding.right,\n scrollWidth: element.scrollWidth,\n }\n}\n\nexport function isFunction(a) {\n if (typeof a === 'function') {\n return a\n }\n}\n\nexport function flattenBy(arr, key) {\n const flat = []\n\n const recurse = arr => {\n arr.forEach(d => {\n if (!d[key]) {\n flat.push(d)\n } else {\n recurse(d[key])\n }\n })\n }\n\n recurse(arr)\n\n return flat\n}\n\nexport function expandRows(\n rows,\n { manualExpandedKey, expanded, expandSubRows = true }\n) {\n const expandedRows = []\n\n const handleRow = (row, addToExpandedRows = true) => {\n row.isExpanded =\n (row.original && row.original[manualExpandedKey]) || expanded[row.id]\n\n row.canExpand = row.subRows && !!row.subRows.length\n\n if (addToExpandedRows) {\n expandedRows.push(row)\n }\n\n if (row.subRows && row.subRows.length && row.isExpanded) {\n row.subRows.forEach(row => handleRow(row, expandSubRows))\n }\n }\n\n rows.forEach(row => handleRow(row))\n\n return expandedRows\n}\n\nexport function getFilterMethod(filter, userFilterTypes, filterTypes) {\n return (\n isFunction(filter) ||\n userFilterTypes[filter] ||\n filterTypes[filter] ||\n filterTypes.text\n )\n}\n\nexport function shouldAutoRemoveFilter(autoRemove, value, column) {\n return autoRemove ? autoRemove(value, column) : typeof value === 'undefined'\n}\n\nexport function unpreparedAccessWarning() {\n throw new Error(\n 'React-Table: You have not called prepareRow(row) one or more rows you are attempting to render.'\n )\n}\n\nlet passiveSupported = null\nexport function passiveEventSupported() {\n // memoize support to avoid adding multiple test events\n if (typeof passiveSupported === 'boolean') return passiveSupported\n\n let supported = false\n try {\n const options = {\n get passive() {\n supported = true\n return false\n },\n }\n\n window.addEventListener('test', null, options)\n window.removeEventListener('test', null, options)\n } catch (err) {\n supported = false\n }\n passiveSupported = supported\n return passiveSupported\n}\n\n//\n\nconst reOpenBracket = /\\[/g\nconst reCloseBracket = /\\]/g\n\nfunction makePathArray(obj) {\n return (\n flattenDeep(obj)\n // remove all periods in parts\n .map(d => String(d).replace('.', '_'))\n // join parts using period\n .join('.')\n // replace brackets with periods\n .replace(reOpenBracket, '.')\n .replace(reCloseBracket, '')\n // split it back out on periods\n .split('.')\n )\n}\n\nfunction flattenDeep(arr, newArr = []) {\n if (!Array.isArray(arr)) {\n newArr.push(arr)\n } else {\n for (let i = 0; i < arr.length; i += 1) {\n flattenDeep(arr[i], newArr)\n }\n }\n return newArr\n}\n","const defaultGetTableProps = props => ({\n role: 'table',\n ...props,\n})\n\nconst defaultGetTableBodyProps = props => ({\n role: 'rowgroup',\n ...props,\n})\n\nconst defaultGetHeaderProps = (props, { column }) => ({\n key: `header_${column.id}`,\n colSpan: column.totalVisibleHeaderCount,\n role: 'columnheader',\n ...props,\n})\n\nconst defaultGetFooterProps = (props, { column }) => ({\n key: `footer_${column.id}`,\n colSpan: column.totalVisibleHeaderCount,\n ...props,\n})\n\nconst defaultGetHeaderGroupProps = (props, { index }) => ({\n key: `headerGroup_${index}`,\n role: 'row',\n ...props,\n})\n\nconst defaultGetFooterGroupProps = (props, { index }) => ({\n key: `footerGroup_${index}`,\n ...props,\n})\n\nconst defaultGetRowProps = (props, { row }) => ({\n key: `row_${row.id}`,\n role: 'row',\n ...props,\n})\n\nconst defaultGetCellProps = (props, { cell }) => ({\n key: `cell_${cell.row.id}_${cell.column.id}`,\n role: 'cell',\n ...props,\n})\n\nexport default function makeDefaultPluginHooks() {\n return {\n useOptions: [],\n stateReducers: [],\n useControlledState: [],\n columns: [],\n columnsDeps: [],\n allColumns: [],\n allColumnsDeps: [],\n accessValue: [],\n materializedColumns: [],\n materializedColumnsDeps: [],\n useInstanceAfterData: [],\n visibleColumns: [],\n visibleColumnsDeps: [],\n headerGroups: [],\n headerGroupsDeps: [],\n useInstanceBeforeDimensions: [],\n useInstance: [],\n prepareRow: [],\n getTableProps: [defaultGetTableProps],\n getTableBodyProps: [defaultGetTableBodyProps],\n getHeaderGroupProps: [defaultGetHeaderGroupProps],\n getFooterGroupProps: [defaultGetFooterGroupProps],\n getHeaderProps: [defaultGetHeaderProps],\n getFooterProps: [defaultGetFooterProps],\n getRowProps: [defaultGetRowProps],\n getCellProps: [defaultGetCellProps],\n useFinalInstance: [],\n }\n}\n","import React from 'react'\n\nimport {\n actions,\n functionalUpdate,\n useGetLatest,\n makePropGetter,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nactions.resetHiddenColumns = 'resetHiddenColumns'\nactions.toggleHideColumn = 'toggleHideColumn'\nactions.setHiddenColumns = 'setHiddenColumns'\nactions.toggleHideAllColumns = 'toggleHideAllColumns'\n\nexport const useColumnVisibility = hooks => {\n hooks.getToggleHiddenProps = [defaultGetToggleHiddenProps]\n hooks.getToggleHideAllColumnsProps = [defaultGetToggleHideAllColumnsProps]\n\n hooks.stateReducers.push(reducer)\n hooks.useInstanceBeforeDimensions.push(useInstanceBeforeDimensions)\n hooks.headerGroupsDeps.push((deps, { instance }) => [\n ...deps,\n instance.state.hiddenColumns,\n ])\n hooks.useInstance.push(useInstance)\n}\n\nuseColumnVisibility.pluginName = 'useColumnVisibility'\n\nconst defaultGetToggleHiddenProps = (props, { column }) => [\n props,\n {\n onChange: e => {\n column.toggleHidden(!e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: column.isVisible,\n title: 'Toggle Column Visible',\n },\n]\n\nconst defaultGetToggleHideAllColumnsProps = (props, { instance }) => [\n props,\n {\n onChange: e => {\n instance.toggleHideAllColumns(!e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: !instance.allColumnsHidden && !instance.state.hiddenColumns.length,\n title: 'Toggle All Columns Hidden',\n indeterminate:\n !instance.allColumnsHidden && instance.state.hiddenColumns.length,\n },\n]\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n hiddenColumns: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetHiddenColumns) {\n return {\n ...state,\n hiddenColumns: instance.initialState.hiddenColumns || [],\n }\n }\n\n if (action.type === actions.toggleHideColumn) {\n const should =\n typeof action.value !== 'undefined'\n ? action.value\n : !state.hiddenColumns.includes(action.columnId)\n\n const hiddenColumns = should\n ? [...state.hiddenColumns, action.columnId]\n : state.hiddenColumns.filter(d => d !== action.columnId)\n\n return {\n ...state,\n hiddenColumns,\n }\n }\n\n if (action.type === actions.setHiddenColumns) {\n return {\n ...state,\n hiddenColumns: functionalUpdate(action.value, state.hiddenColumns),\n }\n }\n\n if (action.type === actions.toggleHideAllColumns) {\n const shouldAll =\n typeof action.value !== 'undefined'\n ? action.value\n : !state.hiddenColumns.length\n\n return {\n ...state,\n hiddenColumns: shouldAll ? instance.allColumns.map(d => d.id) : [],\n }\n }\n}\n\nfunction useInstanceBeforeDimensions(instance) {\n const {\n headers,\n state: { hiddenColumns },\n } = instance\n\n const isMountedRef = React.useRef(false)\n\n if (!isMountedRef.current) {\n }\n\n const handleColumn = (column, parentVisible) => {\n column.isVisible = parentVisible && !hiddenColumns.includes(column.id)\n\n let totalVisibleHeaderCount = 0\n\n if (column.headers && column.headers.length) {\n column.headers.forEach(\n subColumn =>\n (totalVisibleHeaderCount += handleColumn(subColumn, column.isVisible))\n )\n } else {\n totalVisibleHeaderCount = column.isVisible ? 1 : 0\n }\n\n column.totalVisibleHeaderCount = totalVisibleHeaderCount\n\n return totalVisibleHeaderCount\n }\n\n let totalVisibleHeaderCount = 0\n\n headers.forEach(\n subHeader => (totalVisibleHeaderCount += handleColumn(subHeader, true))\n )\n}\n\nfunction useInstance(instance) {\n const {\n columns,\n flatHeaders,\n dispatch,\n allColumns,\n getHooks,\n state: { hiddenColumns },\n autoResetHiddenColumns = true,\n } = instance\n\n const getInstance = useGetLatest(instance)\n\n const allColumnsHidden = allColumns.length === hiddenColumns.length\n\n const toggleHideColumn = React.useCallback(\n (columnId, value) =>\n dispatch({ type: actions.toggleHideColumn, columnId, value }),\n [dispatch]\n )\n\n const setHiddenColumns = React.useCallback(\n value => dispatch({ type: actions.setHiddenColumns, value }),\n [dispatch]\n )\n\n const toggleHideAllColumns = React.useCallback(\n value => dispatch({ type: actions.toggleHideAllColumns, value }),\n [dispatch]\n )\n\n const getToggleHideAllColumnsProps = makePropGetter(\n getHooks().getToggleHideAllColumnsProps,\n { instance: getInstance() }\n )\n\n flatHeaders.forEach(column => {\n column.toggleHidden = value => {\n dispatch({\n type: actions.toggleHideColumn,\n columnId: column.id,\n value,\n })\n }\n\n column.getToggleHiddenProps = makePropGetter(\n getHooks().getToggleHiddenProps,\n {\n instance: getInstance(),\n column,\n }\n )\n })\n\n const getAutoResetHiddenColumns = useGetLatest(autoResetHiddenColumns)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetHiddenColumns()) {\n dispatch({ type: actions.resetHiddenColumns })\n }\n }, [dispatch, columns])\n\n Object.assign(instance, {\n allColumnsHidden,\n toggleHideColumn,\n setHiddenColumns,\n toggleHideAllColumns,\n getToggleHideAllColumnsProps,\n })\n}\n","import React from 'react'\n\n//\n\nimport {\n linkColumnStructure,\n flattenColumns,\n assignColumnAccessor,\n unpreparedAccessWarning,\n makeHeaderGroups,\n decorateColumn,\n} from '../utils'\n\nimport {\n useGetLatest,\n reduceHooks,\n actions,\n loopHooks,\n makePropGetter,\n makeRenderer,\n} from '../publicUtils'\n\nimport makeDefaultPluginHooks from '../makeDefaultPluginHooks'\n\nimport { useColumnVisibility } from './useColumnVisibility'\n\nconst defaultInitialState = {}\nconst defaultColumnInstance = {}\nconst defaultReducer = (state, action, prevState) => state\nconst defaultGetSubRows = (row, index) => row.subRows || []\nconst defaultGetRowId = (row, index, parent) =>\n `${parent ? [parent.id, index].join('.') : index}`\nconst defaultUseControlledState = d => d\n\nfunction applyDefaults(props) {\n const {\n initialState = defaultInitialState,\n defaultColumn = defaultColumnInstance,\n getSubRows = defaultGetSubRows,\n getRowId = defaultGetRowId,\n stateReducer = defaultReducer,\n useControlledState = defaultUseControlledState,\n ...rest\n } = props\n\n return {\n ...rest,\n initialState,\n defaultColumn,\n getSubRows,\n getRowId,\n stateReducer,\n useControlledState,\n }\n}\n\nexport const useTable = (props, ...plugins) => {\n // Apply default props\n props = applyDefaults(props)\n\n // Add core plugins\n plugins = [useColumnVisibility, ...plugins]\n\n // Create the table instance\n let instanceRef = React.useRef({})\n\n // Create a getter for the instance (helps avoid a lot of potential memory leaks)\n const getInstance = useGetLatest(instanceRef.current)\n\n // Assign the props, plugins and hooks to the instance\n Object.assign(getInstance(), {\n ...props,\n plugins,\n hooks: makeDefaultPluginHooks(),\n })\n\n // Allow plugins to register hooks as early as possible\n plugins.filter(Boolean).forEach(plugin => {\n plugin(getInstance().hooks)\n })\n\n // Consume all hooks and make a getter for them\n const getHooks = useGetLatest(getInstance().hooks)\n getInstance().getHooks = getHooks\n delete getInstance().hooks\n\n // Allow useOptions hooks to modify the options coming into the table\n Object.assign(\n getInstance(),\n reduceHooks(getHooks().useOptions, applyDefaults(props))\n )\n\n const {\n data,\n columns: userColumns,\n initialState,\n defaultColumn,\n getSubRows,\n getRowId,\n stateReducer,\n useControlledState,\n } = getInstance()\n\n // Setup user reducer ref\n const getStateReducer = useGetLatest(stateReducer)\n\n // Build the reducer\n const reducer = React.useCallback(\n (state, action) => {\n // Detect invalid actions\n if (!action.type) {\n console.info({ action })\n throw new Error('Unknown Action 👆')\n }\n\n // Reduce the state from all plugin reducers\n return [\n ...getHooks().stateReducers,\n // Allow the user to add their own state reducer(s)\n ...(Array.isArray(getStateReducer())\n ? getStateReducer()\n : [getStateReducer()]),\n ].reduce(\n (s, handler) => handler(s, action, state, getInstance()) || s,\n state\n )\n },\n [getHooks, getStateReducer, getInstance]\n )\n\n // Start the reducer\n const [reducerState, dispatch] = React.useReducer(reducer, undefined, () =>\n reducer(initialState, { type: actions.init })\n )\n\n // Allow the user to control the final state with hooks\n const state = reduceHooks(\n [...getHooks().useControlledState, useControlledState],\n reducerState,\n { instance: getInstance() }\n )\n\n Object.assign(getInstance(), {\n state,\n dispatch,\n })\n\n // Decorate All the columns\n const columns = React.useMemo(\n () =>\n linkColumnStructure(\n reduceHooks(getHooks().columns, userColumns, {\n instance: getInstance(),\n })\n ),\n [\n getHooks,\n getInstance,\n userColumns,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().columnsDeps, [], { instance: getInstance() }),\n ]\n )\n getInstance().columns = columns\n\n // Get the flat list of all columns and allow hooks to decorate\n // those columns (and trigger this memoization via deps)\n let allColumns = React.useMemo(\n () =>\n reduceHooks(getHooks().allColumns, flattenColumns(columns), {\n instance: getInstance(),\n }).map(assignColumnAccessor),\n [\n columns,\n getHooks,\n getInstance,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().allColumnsDeps, [], {\n instance: getInstance(),\n }),\n ]\n )\n getInstance().allColumns = allColumns\n\n // Access the row model using initial columns\n const [rows, flatRows, rowsById] = React.useMemo(() => {\n let rows = []\n let flatRows = []\n const rowsById = {}\n\n const allColumnsQueue = [...allColumns]\n\n while (allColumnsQueue.length) {\n const column = allColumnsQueue.shift()\n accessRowsForColumn({\n data,\n rows,\n flatRows,\n rowsById,\n column,\n getRowId,\n getSubRows,\n accessValueHooks: getHooks().accessValue,\n getInstance,\n })\n }\n\n return [rows, flatRows, rowsById]\n }, [allColumns, data, getRowId, getSubRows, getHooks, getInstance])\n\n Object.assign(getInstance(), {\n rows,\n initialRows: [...rows],\n flatRows,\n rowsById,\n // materializedColumns,\n })\n\n loopHooks(getHooks().useInstanceAfterData, getInstance())\n\n // Get the flat list of all columns AFTER the rows\n // have been access, and allow hooks to decorate\n // those columns (and trigger this memoization via deps)\n let visibleColumns = React.useMemo(\n () =>\n reduceHooks(getHooks().visibleColumns, allColumns, {\n instance: getInstance(),\n }).map(d => decorateColumn(d, defaultColumn)),\n [\n getHooks,\n allColumns,\n getInstance,\n defaultColumn,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().visibleColumnsDeps, [], {\n instance: getInstance(),\n }),\n ]\n )\n\n // Combine new visible columns with all columns\n allColumns = React.useMemo(() => {\n const columns = [...visibleColumns]\n\n allColumns.forEach(column => {\n if (!columns.find(d => d.id === column.id)) {\n columns.push(column)\n }\n })\n\n return columns\n }, [allColumns, visibleColumns])\n getInstance().allColumns = allColumns\n\n if (process.env.NODE_ENV !== 'production') {\n const duplicateColumns = allColumns.filter((column, i) => {\n return allColumns.findIndex(d => d.id === column.id) !== i\n })\n\n if (duplicateColumns.length) {\n console.info(allColumns)\n throw new Error(\n `Duplicate columns were found with ids: \"${duplicateColumns\n .map(d => d.id)\n .join(', ')}\" in the columns array above`\n )\n }\n }\n\n // Make the headerGroups\n const headerGroups = React.useMemo(\n () =>\n reduceHooks(\n getHooks().headerGroups,\n makeHeaderGroups(visibleColumns, defaultColumn),\n getInstance()\n ),\n [\n getHooks,\n visibleColumns,\n defaultColumn,\n getInstance,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().headerGroupsDeps, [], {\n instance: getInstance(),\n }),\n ]\n )\n getInstance().headerGroups = headerGroups\n\n // Get the first level of headers\n const headers = React.useMemo(\n () => (headerGroups.length ? headerGroups[0].headers : []),\n [headerGroups]\n )\n getInstance().headers = headers\n\n // Provide a flat header list for utilities\n getInstance().flatHeaders = headerGroups.reduce(\n (all, headerGroup) => [...all, ...headerGroup.headers],\n []\n )\n\n loopHooks(getHooks().useInstanceBeforeDimensions, getInstance())\n\n // Filter columns down to visible ones\n const visibleColumnsDep = visibleColumns\n .filter(d => d.isVisible)\n .map(d => d.id)\n .sort()\n .join('_')\n\n visibleColumns = React.useMemo(\n () => visibleColumns.filter(d => d.isVisible),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [visibleColumns, visibleColumnsDep]\n )\n getInstance().visibleColumns = visibleColumns\n\n // Header Visibility is needed by this point\n const [\n totalColumnsMinWidth,\n totalColumnsWidth,\n totalColumnsMaxWidth,\n ] = calculateHeaderWidths(headers)\n\n getInstance().totalColumnsMinWidth = totalColumnsMinWidth\n getInstance().totalColumnsWidth = totalColumnsWidth\n getInstance().totalColumnsMaxWidth = totalColumnsMaxWidth\n\n loopHooks(getHooks().useInstance, getInstance())\n\n // Each materialized header needs to be assigned a render function and other\n // prop getter properties here.\n ;[...getInstance().flatHeaders, ...getInstance().allColumns].forEach(\n column => {\n // Give columns/headers rendering power\n column.render = makeRenderer(getInstance(), column)\n\n // Give columns/headers a default getHeaderProps\n column.getHeaderProps = makePropGetter(getHooks().getHeaderProps, {\n instance: getInstance(),\n column,\n })\n\n // Give columns/headers a default getFooterProps\n column.getFooterProps = makePropGetter(getHooks().getFooterProps, {\n instance: getInstance(),\n column,\n })\n }\n )\n\n getInstance().headerGroups = React.useMemo(\n () =>\n headerGroups.filter((headerGroup, i) => {\n // Filter out any headers and headerGroups that don't have visible columns\n headerGroup.headers = headerGroup.headers.filter(column => {\n const recurse = headers =>\n headers.filter(column => {\n if (column.headers) {\n return recurse(column.headers)\n }\n return column.isVisible\n }).length\n if (column.headers) {\n return recurse(column.headers)\n }\n return column.isVisible\n })\n\n // Give headerGroups getRowProps\n if (headerGroup.headers.length) {\n headerGroup.getHeaderGroupProps = makePropGetter(\n getHooks().getHeaderGroupProps,\n { instance: getInstance(), headerGroup, index: i }\n )\n\n headerGroup.getFooterGroupProps = makePropGetter(\n getHooks().getFooterGroupProps,\n { instance: getInstance(), headerGroup, index: i }\n )\n\n return true\n }\n\n return false\n }),\n [headerGroups, getInstance, getHooks]\n )\n\n getInstance().footerGroups = [...getInstance().headerGroups].reverse()\n\n // The prepareRow function is absolutely necessary and MUST be called on\n // any rows the user wishes to be displayed.\n\n getInstance().prepareRow = React.useCallback(\n row => {\n row.getRowProps = makePropGetter(getHooks().getRowProps, {\n instance: getInstance(),\n row,\n })\n\n // Build the visible cells for each row\n row.allCells = allColumns.map(column => {\n const value = row.values[column.id]\n\n const cell = {\n column,\n row,\n value,\n }\n\n // Give each cell a getCellProps base\n cell.getCellProps = makePropGetter(getHooks().getCellProps, {\n instance: getInstance(),\n cell,\n })\n\n // Give each cell a renderer function (supports multiple renderers)\n cell.render = makeRenderer(getInstance(), column, {\n row,\n cell,\n value,\n })\n\n return cell\n })\n\n row.cells = visibleColumns.map(column =>\n row.allCells.find(cell => cell.column.id === column.id)\n )\n\n // need to apply any row specific hooks (useExpanded requires this)\n loopHooks(getHooks().prepareRow, row, { instance: getInstance() })\n },\n [getHooks, getInstance, allColumns, visibleColumns]\n )\n\n getInstance().getTableProps = makePropGetter(getHooks().getTableProps, {\n instance: getInstance(),\n })\n\n getInstance().getTableBodyProps = makePropGetter(\n getHooks().getTableBodyProps,\n {\n instance: getInstance(),\n }\n )\n\n loopHooks(getHooks().useFinalInstance, getInstance())\n\n return getInstance()\n}\n\nfunction calculateHeaderWidths(headers, left = 0) {\n let sumTotalMinWidth = 0\n let sumTotalWidth = 0\n let sumTotalMaxWidth = 0\n let sumTotalFlexWidth = 0\n\n headers.forEach(header => {\n let { headers: subHeaders } = header\n\n header.totalLeft = left\n\n if (subHeaders && subHeaders.length) {\n const [\n totalMinWidth,\n totalWidth,\n totalMaxWidth,\n totalFlexWidth,\n ] = calculateHeaderWidths(subHeaders, left)\n header.totalMinWidth = totalMinWidth\n header.totalWidth = totalWidth\n header.totalMaxWidth = totalMaxWidth\n header.totalFlexWidth = totalFlexWidth\n } else {\n header.totalMinWidth = header.minWidth\n header.totalWidth = Math.min(\n Math.max(header.minWidth, header.width),\n header.maxWidth\n )\n header.totalMaxWidth = header.maxWidth\n header.totalFlexWidth = header.canResize ? header.totalWidth : 0\n }\n if (header.isVisible) {\n left += header.totalWidth\n sumTotalMinWidth += header.totalMinWidth\n sumTotalWidth += header.totalWidth\n sumTotalMaxWidth += header.totalMaxWidth\n sumTotalFlexWidth += header.totalFlexWidth\n }\n })\n\n return [sumTotalMinWidth, sumTotalWidth, sumTotalMaxWidth, sumTotalFlexWidth]\n}\n\nfunction accessRowsForColumn({\n data,\n rows,\n flatRows,\n rowsById,\n column,\n getRowId,\n getSubRows,\n accessValueHooks,\n getInstance,\n}) {\n // Access the row's data column-by-column\n // We do it this way so we can incrementally add materialized\n // columns after the first pass and avoid excessive looping\n const accessRow = (originalRow, rowIndex, depth = 0, parent, parentRows) => {\n // Keep the original reference around\n const original = originalRow\n\n const id = getRowId(originalRow, rowIndex, parent)\n\n let row = rowsById[id]\n\n // If the row hasn't been created, let's make it\n if (!row) {\n row = {\n id,\n original,\n index: rowIndex,\n depth,\n cells: [{}], // This is a dummy cell\n }\n\n // Override common array functions (and the dummy cell's getCellProps function)\n // to show an error if it is accessed without calling prepareRow\n row.cells.map = unpreparedAccessWarning\n row.cells.filter = unpreparedAccessWarning\n row.cells.forEach = unpreparedAccessWarning\n row.cells[0].getCellProps = unpreparedAccessWarning\n\n // Create the cells and values\n row.values = {}\n\n // Push this row into the parentRows array\n parentRows.push(row)\n // Keep track of every row in a flat array\n flatRows.push(row)\n // Also keep track of every row by its ID\n rowsById[id] = row\n\n // Get the original subrows\n row.originalSubRows = getSubRows(originalRow, rowIndex)\n\n // Then recursively access them\n if (row.originalSubRows) {\n const subRows = []\n row.originalSubRows.forEach((d, i) =>\n accessRow(d, i, depth + 1, row, subRows)\n )\n // Keep the new subRows array on the row\n row.subRows = subRows\n }\n } else if (row.subRows) {\n // If the row exists, then it's already been accessed\n // Keep recursing, but don't worry about passing the\n // accumlator array (those rows already exist)\n row.originalSubRows.forEach((d, i) => accessRow(d, i, depth + 1, row))\n }\n\n // If the column has an accessor, use it to get a value\n if (column.accessor) {\n row.values[column.id] = column.accessor(\n originalRow,\n rowIndex,\n row,\n parentRows,\n data\n )\n }\n\n // Allow plugins to manipulate the column value\n row.values[column.id] = reduceHooks(\n accessValueHooks,\n row.values[column.id],\n {\n row,\n column,\n instance: getInstance(),\n },\n true\n )\n }\n\n data.forEach((originalRow, rowIndex) =>\n accessRow(originalRow, rowIndex, 0, undefined, rows)\n )\n}\n","import React from 'react'\n\nimport { expandRows } from '../utils'\n\nimport {\n useGetLatest,\n actions,\n useMountedLayoutEffect,\n makePropGetter,\n ensurePluginOrder,\n} from '../publicUtils'\n\n// Actions\nactions.resetExpanded = 'resetExpanded'\nactions.toggleRowExpanded = 'toggleRowExpanded'\nactions.toggleAllRowsExpanded = 'toggleAllRowsExpanded'\n\nexport const useExpanded = hooks => {\n hooks.getToggleAllRowsExpandedProps = [defaultGetToggleAllRowsExpandedProps]\n hooks.getToggleRowExpandedProps = [defaultGetToggleRowExpandedProps]\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseExpanded.pluginName = 'useExpanded'\n\nconst defaultGetToggleAllRowsExpandedProps = (props, { instance }) => [\n props,\n {\n onClick: e => {\n instance.toggleAllRowsExpanded()\n },\n style: {\n cursor: 'pointer',\n },\n title: 'Toggle All Rows Expanded',\n },\n]\n\nconst defaultGetToggleRowExpandedProps = (props, { row }) => [\n props,\n {\n onClick: () => {\n row.toggleRowExpanded()\n },\n style: {\n cursor: 'pointer',\n },\n title: 'Toggle Row Expanded',\n },\n]\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n expanded: {},\n ...state,\n }\n }\n\n if (action.type === actions.resetExpanded) {\n return {\n ...state,\n expanded: instance.initialState.expanded || {},\n }\n }\n\n if (action.type === actions.toggleAllRowsExpanded) {\n const { value } = action\n const { rowsById } = instance\n\n const isAllRowsExpanded =\n Object.keys(rowsById).length === Object.keys(state.expanded).length\n\n const expandAll = typeof value !== 'undefined' ? value : !isAllRowsExpanded\n\n if (expandAll) {\n const expanded = {}\n\n Object.keys(rowsById).forEach(rowId => {\n expanded[rowId] = true\n })\n\n return {\n ...state,\n expanded,\n }\n }\n\n return {\n ...state,\n expanded: {},\n }\n }\n\n if (action.type === actions.toggleRowExpanded) {\n const { id, value: setExpanded } = action\n const exists = state.expanded[id]\n\n const shouldExist =\n typeof setExpanded !== 'undefined' ? setExpanded : !exists\n\n if (!exists && shouldExist) {\n return {\n ...state,\n expanded: {\n ...state.expanded,\n [id]: true,\n },\n }\n } else if (exists && !shouldExist) {\n const { [id]: _, ...rest } = state.expanded\n return {\n ...state,\n expanded: rest,\n }\n } else {\n return state\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n rowsById,\n manualExpandedKey = 'expanded',\n paginateExpandedRows = true,\n expandSubRows = true,\n autoResetExpanded = true,\n getHooks,\n plugins,\n state: { expanded },\n dispatch,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useSortBy', 'useGroupBy', 'usePivotColumns', 'useGlobalFilter'],\n 'useExpanded'\n )\n\n const getAutoResetExpanded = useGetLatest(autoResetExpanded)\n\n let isAllRowsExpanded = Boolean(\n Object.keys(rowsById).length && Object.keys(expanded).length\n )\n\n if (isAllRowsExpanded) {\n if (Object.keys(rowsById).some(id => !expanded[id])) {\n isAllRowsExpanded = false\n }\n }\n\n // Bypass any effects from firing when this changes\n useMountedLayoutEffect(() => {\n if (getAutoResetExpanded()) {\n dispatch({ type: actions.resetExpanded })\n }\n }, [dispatch, data])\n\n const toggleRowExpanded = React.useCallback(\n (id, value) => {\n dispatch({ type: actions.toggleRowExpanded, id, value })\n },\n [dispatch]\n )\n\n const toggleAllRowsExpanded = React.useCallback(\n value => dispatch({ type: actions.toggleAllRowsExpanded, value }),\n [dispatch]\n )\n\n const expandedRows = React.useMemo(() => {\n if (paginateExpandedRows) {\n return expandRows(rows, { manualExpandedKey, expanded, expandSubRows })\n }\n\n return rows\n }, [paginateExpandedRows, rows, manualExpandedKey, expanded, expandSubRows])\n\n const expandedDepth = React.useMemo(() => findExpandedDepth(expanded), [\n expanded,\n ])\n\n const getInstance = useGetLatest(instance)\n\n const getToggleAllRowsExpandedProps = makePropGetter(\n getHooks().getToggleAllRowsExpandedProps,\n { instance: getInstance() }\n )\n\n Object.assign(instance, {\n preExpandedRows: rows,\n expandedRows,\n rows: expandedRows,\n expandedDepth,\n isAllRowsExpanded,\n toggleRowExpanded,\n toggleAllRowsExpanded,\n getToggleAllRowsExpandedProps,\n })\n}\n\nfunction prepareRow(row, { instance: { getHooks }, instance }) {\n row.toggleRowExpanded = set => instance.toggleRowExpanded(row.id, set)\n\n row.getToggleRowExpandedProps = makePropGetter(\n getHooks().getToggleRowExpandedProps,\n {\n instance,\n row,\n }\n )\n}\n\nfunction findExpandedDepth(expanded) {\n let maxDepth = 0\n\n Object.keys(expanded).forEach(id => {\n const splitId = id.split('.')\n maxDepth = Math.max(maxDepth, splitId.length)\n })\n\n return maxDepth\n}\n","export const text = (rows, ids, filterValue) => {\n rows = rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return String(rowValue)\n .toLowerCase()\n .includes(String(filterValue).toLowerCase())\n })\n })\n return rows\n}\n\ntext.autoRemove = val => !val\n\nexport const exactText = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue !== undefined\n ? String(rowValue).toLowerCase() === String(filterValue).toLowerCase()\n : true\n })\n })\n}\n\nexactText.autoRemove = val => !val\n\nexport const exactTextCase = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue !== undefined\n ? String(rowValue) === String(filterValue)\n : true\n })\n })\n}\n\nexactTextCase.autoRemove = val => !val\n\nexport const includes = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue.includes(filterValue)\n })\n })\n}\n\nincludes.autoRemove = val => !val || !val.length\n\nexport const includesAll = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return (\n rowValue &&\n rowValue.length &&\n filterValue.every(val => rowValue.includes(val))\n )\n })\n })\n}\n\nincludesAll.autoRemove = val => !val || !val.length\n\nexport const includesSome = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return (\n rowValue &&\n rowValue.length &&\n filterValue.some(val => rowValue.includes(val))\n )\n })\n })\n}\n\nincludesSome.autoRemove = val => !val || !val.length\n\nexport const includesValue = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return filterValue.includes(rowValue)\n })\n })\n}\n\nincludesValue.autoRemove = val => !val || !val.length\n\nexport const exact = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue === filterValue\n })\n })\n}\n\nexact.autoRemove = val => typeof val === 'undefined'\n\nexport const equals = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n // eslint-disable-next-line eqeqeq\n return rowValue == filterValue\n })\n })\n}\n\nequals.autoRemove = val => val == null\n\nexport const between = (rows, ids, filterValue) => {\n let [min, max] = filterValue || []\n\n min = typeof min === 'number' ? min : -Infinity\n max = typeof max === 'number' ? max : Infinity\n\n if (min > max) {\n const temp = min\n min = max\n max = temp\n }\n\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue >= min && rowValue <= max\n })\n })\n}\n\nbetween.autoRemove = val =>\n !val || (typeof val[0] !== 'number' && typeof val[1] !== 'number')\n","import React from 'react'\n\nimport {\n getFirstDefined,\n getFilterMethod,\n shouldAutoRemoveFilter,\n} from '../utils'\n\nimport {\n actions,\n useGetLatest,\n functionalUpdate,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nimport * as filterTypes from '../filterTypes'\n\n// Actions\nactions.resetFilters = 'resetFilters'\nactions.setFilter = 'setFilter'\nactions.setAllFilters = 'setAllFilters'\n\nexport const useFilters = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nuseFilters.pluginName = 'useFilters'\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n filters: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetFilters) {\n return {\n ...state,\n filters: instance.initialState.filters || [],\n }\n }\n\n if (action.type === actions.setFilter) {\n const { columnId, filterValue } = action\n const { allColumns, filterTypes: userFilterTypes } = instance\n\n const column = allColumns.find(d => d.id === columnId)\n\n if (!column) {\n throw new Error(\n `React-Table: Could not find a column with id: ${columnId}`\n )\n }\n\n const filterMethod = getFilterMethod(\n column.filter,\n userFilterTypes || {},\n filterTypes\n )\n\n const previousfilter = state.filters.find(d => d.id === columnId)\n\n const newFilter = functionalUpdate(\n filterValue,\n previousfilter && previousfilter.value\n )\n\n //\n if (shouldAutoRemoveFilter(filterMethod.autoRemove, newFilter, column)) {\n return {\n ...state,\n filters: state.filters.filter(d => d.id !== columnId),\n }\n }\n\n if (previousfilter) {\n return {\n ...state,\n filters: state.filters.map(d => {\n if (d.id === columnId) {\n return { id: columnId, value: newFilter }\n }\n return d\n }),\n }\n }\n\n return {\n ...state,\n filters: [...state.filters, { id: columnId, value: newFilter }],\n }\n }\n\n if (action.type === actions.setAllFilters) {\n const { filters } = action\n const { allColumns, filterTypes: userFilterTypes } = instance\n\n return {\n ...state,\n // Filter out undefined values\n filters: functionalUpdate(filters, state.filters).filter(filter => {\n const column = allColumns.find(d => d.id === filter.id)\n const filterMethod = getFilterMethod(\n column.filter,\n userFilterTypes || {},\n filterTypes\n )\n\n if (\n shouldAutoRemoveFilter(filterMethod.autoRemove, filter.value, column)\n ) {\n return false\n }\n return true\n }),\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n rowsById,\n allColumns,\n filterTypes: userFilterTypes,\n manualFilters,\n defaultCanFilter = false,\n disableFilters,\n state: { filters },\n dispatch,\n autoResetFilters = true,\n } = instance\n\n const setFilter = React.useCallback(\n (columnId, filterValue) => {\n dispatch({ type: actions.setFilter, columnId, filterValue })\n },\n [dispatch]\n )\n\n const setAllFilters = React.useCallback(\n filters => {\n dispatch({\n type: actions.setAllFilters,\n filters,\n })\n },\n [dispatch]\n )\n\n allColumns.forEach(column => {\n const {\n id,\n accessor,\n defaultCanFilter: columnDefaultCanFilter,\n disableFilters: columnDisableFilters,\n } = column\n\n // Determine if a column is filterable\n column.canFilter = accessor\n ? getFirstDefined(\n columnDisableFilters === true ? false : undefined,\n disableFilters === true ? false : undefined,\n true\n )\n : getFirstDefined(columnDefaultCanFilter, defaultCanFilter, false)\n\n // Provide the column a way of updating the filter value\n column.setFilter = val => setFilter(column.id, val)\n\n // Provide the current filter value to the column for\n // convenience\n const found = filters.find(d => d.id === id)\n column.filterValue = found && found.value\n })\n\n const [\n filteredRows,\n filteredFlatRows,\n filteredRowsById,\n ] = React.useMemo(() => {\n if (manualFilters || !filters.length) {\n return [rows, flatRows, rowsById]\n }\n\n const filteredFlatRows = []\n const filteredRowsById = {}\n\n // Filters top level and nested rows\n const filterRows = (rows, depth = 0) => {\n let filteredRows = rows\n\n filteredRows = filters.reduce(\n (filteredSoFar, { id: columnId, value: filterValue }) => {\n // Find the filters column\n const column = allColumns.find(d => d.id === columnId)\n\n if (!column) {\n return filteredSoFar\n }\n\n if (depth === 0) {\n column.preFilteredRows = filteredSoFar\n }\n\n const filterMethod = getFilterMethod(\n column.filter,\n userFilterTypes || {},\n filterTypes\n )\n\n if (!filterMethod) {\n console.warn(\n `Could not find a valid 'column.filter' for column with the ID: ${column.id}.`\n )\n return filteredSoFar\n }\n\n // Pass the rows, id, filterValue and column to the filterMethod\n // to get the filtered rows back\n column.filteredRows = filterMethod(\n filteredSoFar,\n [columnId],\n filterValue\n )\n\n return column.filteredRows\n },\n rows\n )\n\n // Apply the filter to any subRows\n // We technically could do this recursively in the above loop,\n // but that would severely hinder the API for the user, since they\n // would be required to do that recursion in some scenarios\n filteredRows.forEach(row => {\n filteredFlatRows.push(row)\n filteredRowsById[row.id] = row\n if (!row.subRows) {\n return\n }\n\n row.subRows =\n row.subRows && row.subRows.length > 0\n ? filterRows(row.subRows, depth + 1)\n : row.subRows\n })\n\n return filteredRows\n }\n\n return [filterRows(rows), filteredFlatRows, filteredRowsById]\n }, [\n manualFilters,\n filters,\n rows,\n flatRows,\n rowsById,\n allColumns,\n userFilterTypes,\n ])\n\n React.useMemo(() => {\n // Now that each filtered column has it's partially filtered rows,\n // lets assign the final filtered rows to all of the other columns\n const nonFilteredColumns = allColumns.filter(\n column => !filters.find(d => d.id === column.id)\n )\n\n // This essentially enables faceted filter options to be built easily\n // using every column's preFilteredRows value\n nonFilteredColumns.forEach(column => {\n column.preFilteredRows = filteredRows\n column.filteredRows = filteredRows\n })\n }, [filteredRows, filters, allColumns])\n\n const getAutoResetFilters = useGetLatest(autoResetFilters)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetFilters()) {\n dispatch({ type: actions.resetFilters })\n }\n }, [dispatch, manualFilters ? null : data])\n\n Object.assign(instance, {\n preFilteredRows: rows,\n preFilteredFlatRows: flatRows,\n preFilteredRowsById: rowsById,\n filteredRows,\n filteredFlatRows,\n filteredRowsById,\n rows: filteredRows,\n flatRows: filteredFlatRows,\n rowsById: filteredRowsById,\n setFilter,\n setAllFilters,\n })\n}\n","import React from 'react'\n\nimport {\n getFilterMethod,\n shouldAutoRemoveFilter,\n getFirstDefined,\n} from '../utils'\n\nimport {\n actions,\n useMountedLayoutEffect,\n functionalUpdate,\n useGetLatest,\n} from '../publicUtils'\n\nimport * as filterTypes from '../filterTypes'\n\n// Actions\nactions.resetGlobalFilter = 'resetGlobalFilter'\nactions.setGlobalFilter = 'setGlobalFilter'\n\nexport const useGlobalFilter = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nuseGlobalFilter.pluginName = 'useGlobalFilter'\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.resetGlobalFilter) {\n return {\n ...state,\n globalFilter: instance.initialState.globalFilter || undefined,\n }\n }\n\n if (action.type === actions.setGlobalFilter) {\n const { filterValue } = action\n const { userFilterTypes } = instance\n\n const filterMethod = getFilterMethod(\n instance.globalFilter,\n userFilterTypes || {},\n filterTypes\n )\n\n const newFilter = functionalUpdate(filterValue, state.globalFilter)\n\n //\n if (shouldAutoRemoveFilter(filterMethod.autoRemove, newFilter)) {\n const { globalFilter, ...stateWithoutGlobalFilter } = state\n return stateWithoutGlobalFilter\n }\n\n return {\n ...state,\n globalFilter: newFilter,\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n rowsById,\n allColumns,\n filterTypes: userFilterTypes,\n globalFilter,\n manualGlobalFilter,\n state: { globalFilter: globalFilterValue },\n dispatch,\n autoResetGlobalFilter = true,\n disableGlobalFilter,\n } = instance\n\n const setGlobalFilter = React.useCallback(\n filterValue => {\n dispatch({ type: actions.setGlobalFilter, filterValue })\n },\n [dispatch]\n )\n\n // TODO: Create a filter cache for incremental high speed multi-filtering\n // This gets pretty complicated pretty fast, since you have to maintain a\n // cache for each row group (top-level rows, and each row's recursive subrows)\n // This would make multi-filtering a lot faster though. Too far?\n\n const [\n globalFilteredRows,\n globalFilteredFlatRows,\n globalFilteredRowsById,\n ] = React.useMemo(() => {\n if (manualGlobalFilter || typeof globalFilterValue === 'undefined') {\n return [rows, flatRows, rowsById]\n }\n\n const filteredFlatRows = []\n const filteredRowsById = {}\n\n const filterMethod = getFilterMethod(\n globalFilter,\n userFilterTypes || {},\n filterTypes\n )\n\n if (!filterMethod) {\n console.warn(`Could not find a valid 'globalFilter' option.`)\n return rows\n }\n\n allColumns.forEach(column => {\n const { disableGlobalFilter: columnDisableGlobalFilter } = column\n\n column.canFilter = getFirstDefined(\n columnDisableGlobalFilter === true ? false : undefined,\n disableGlobalFilter === true ? false : undefined,\n true\n )\n })\n\n const filterableColumns = allColumns.filter(c => c.canFilter === true)\n\n // Filters top level and nested rows\n const filterRows = filteredRows => {\n filteredRows = filterMethod(\n filteredRows,\n filterableColumns.map(d => d.id),\n globalFilterValue\n )\n\n filteredRows.forEach(row => {\n filteredFlatRows.push(row)\n filteredRowsById[row.id] = row\n\n row.subRows =\n row.subRows && row.subRows.length\n ? filterRows(row.subRows)\n : row.subRows\n })\n\n return filteredRows\n }\n\n return [filterRows(rows), filteredFlatRows, filteredRowsById]\n }, [\n manualGlobalFilter,\n globalFilterValue,\n globalFilter,\n userFilterTypes,\n allColumns,\n rows,\n flatRows,\n rowsById,\n disableGlobalFilter,\n ])\n\n const getAutoResetGlobalFilter = useGetLatest(autoResetGlobalFilter)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetGlobalFilter()) {\n dispatch({ type: actions.resetGlobalFilter })\n }\n }, [dispatch, manualGlobalFilter ? null : data])\n\n Object.assign(instance, {\n preGlobalFilteredRows: rows,\n preGlobalFilteredFlatRows: flatRows,\n preGlobalFilteredRowsById: rowsById,\n globalFilteredRows,\n globalFilteredFlatRows,\n globalFilteredRowsById,\n rows: globalFilteredRows,\n flatRows: globalFilteredFlatRows,\n rowsById: globalFilteredRowsById,\n setGlobalFilter,\n disableGlobalFilter,\n })\n}\n","export function sum(values, aggregatedValues) {\n // It's faster to just add the aggregations together instead of\n // process leaf nodes individually\n return aggregatedValues.reduce(\n (sum, next) => sum + (typeof next === 'number' ? next : 0),\n 0\n )\n}\n\nexport function min(values) {\n let min = values[0] || 0\n\n values.forEach(value => {\n if (typeof value === 'number') {\n min = Math.min(min, value)\n }\n })\n\n return min\n}\n\nexport function max(values) {\n let max = values[0] || 0\n\n values.forEach(value => {\n if (typeof value === 'number') {\n max = Math.max(max, value)\n }\n })\n\n return max\n}\n\nexport function minMax(values) {\n let min = values[0] || 0\n let max = values[0] || 0\n\n values.forEach(value => {\n if (typeof value === 'number') {\n min = Math.min(min, value)\n max = Math.max(max, value)\n }\n })\n\n return `${min}..${max}`\n}\n\nexport function average(values) {\n return sum(null, values) / values.length\n}\n\nexport function median(values) {\n if (!values.length) {\n return null\n }\n\n const mid = Math.floor(values.length / 2)\n const nums = [...values].sort((a, b) => a - b)\n return values.length % 2 !== 0 ? nums[mid] : (nums[mid - 1] + nums[mid]) / 2\n}\n\nexport function unique(values) {\n return Array.from(new Set(values).values())\n}\n\nexport function uniqueCount(values) {\n return new Set(values).size\n}\n\nexport function count(values) {\n return values.length\n}\n","import React from 'react'\n\nimport * as aggregations from '../aggregations'\n\nimport { getFirstDefined, flattenBy } from '../utils'\n\nimport {\n actions,\n makePropGetter,\n ensurePluginOrder,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nconst emptyArray = []\nconst emptyObject = {}\n\n// Actions\nactions.resetGroupBy = 'resetGroupBy'\nactions.setGroupBy = 'setGroupBy'\nactions.toggleGroupBy = 'toggleGroupBy'\n\nexport const useGroupBy = hooks => {\n hooks.getGroupByToggleProps = [defaultGetGroupByToggleProps]\n hooks.stateReducers.push(reducer)\n hooks.visibleColumnsDeps.push((deps, { instance }) => [\n ...deps,\n instance.state.groupBy,\n ])\n hooks.visibleColumns.push(visibleColumns)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseGroupBy.pluginName = 'useGroupBy'\n\nconst defaultGetGroupByToggleProps = (props, { header }) => [\n props,\n {\n onClick: header.canGroupBy\n ? e => {\n e.persist()\n header.toggleGroupBy()\n }\n : undefined,\n style: {\n cursor: header.canGroupBy ? 'pointer' : undefined,\n },\n title: 'Toggle GroupBy',\n },\n]\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n groupBy: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetGroupBy) {\n return {\n ...state,\n groupBy: instance.initialState.groupBy || [],\n }\n }\n\n if (action.type === actions.setGroupBy) {\n const { value } = action\n return {\n ...state,\n groupBy: value,\n }\n }\n\n if (action.type === actions.toggleGroupBy) {\n const { columnId, value: setGroupBy } = action\n\n const resolvedGroupBy =\n typeof setGroupBy !== 'undefined'\n ? setGroupBy\n : !state.groupBy.includes(columnId)\n\n if (resolvedGroupBy) {\n return {\n ...state,\n groupBy: [...state.groupBy, columnId],\n }\n }\n\n return {\n ...state,\n groupBy: state.groupBy.filter(d => d !== columnId),\n }\n }\n}\n\nfunction visibleColumns(\n columns,\n {\n instance: {\n state: { groupBy },\n },\n }\n) {\n // Sort grouped columns to the start of the column list\n // before the headers are built\n\n const groupByColumns = groupBy\n .map(g => columns.find(col => col.id === g))\n .filter(Boolean)\n\n const nonGroupByColumns = columns.filter(col => !groupBy.includes(col.id))\n\n columns = [...groupByColumns, ...nonGroupByColumns]\n\n columns.forEach(column => {\n column.isGrouped = groupBy.includes(column.id)\n column.groupedIndex = groupBy.indexOf(column.id)\n })\n\n return columns\n}\n\nconst defaultUserAggregations = {}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n rowsById,\n allColumns,\n flatHeaders,\n groupByFn = defaultGroupByFn,\n manualGroupBy,\n aggregations: userAggregations = defaultUserAggregations,\n plugins,\n state: { groupBy },\n dispatch,\n autoResetGroupBy = true,\n disableGroupBy,\n defaultCanGroupBy,\n getHooks,\n } = instance\n\n ensurePluginOrder(plugins, ['useColumnOrder', 'useFilters'], 'useGroupBy')\n\n const getInstance = useGetLatest(instance)\n\n allColumns.forEach(column => {\n const {\n accessor,\n defaultGroupBy: defaultColumnGroupBy,\n disableGroupBy: columnDisableGroupBy,\n } = column\n\n column.canGroupBy = accessor\n ? getFirstDefined(\n column.canGroupBy,\n columnDisableGroupBy === true ? false : undefined,\n disableGroupBy === true ? false : undefined,\n true\n )\n : getFirstDefined(\n column.canGroupBy,\n defaultColumnGroupBy,\n defaultCanGroupBy,\n false\n )\n\n if (column.canGroupBy) {\n column.toggleGroupBy = () => instance.toggleGroupBy(column.id)\n }\n\n column.Aggregated = column.Aggregated || column.Cell\n })\n\n const toggleGroupBy = React.useCallback(\n (columnId, value) => {\n dispatch({ type: actions.toggleGroupBy, columnId, value })\n },\n [dispatch]\n )\n\n const setGroupBy = React.useCallback(\n value => {\n dispatch({ type: actions.setGroupBy, value })\n },\n [dispatch]\n )\n\n flatHeaders.forEach(header => {\n header.getGroupByToggleProps = makePropGetter(\n getHooks().getGroupByToggleProps,\n { instance: getInstance(), header }\n )\n })\n\n const [\n groupedRows,\n groupedFlatRows,\n groupedRowsById,\n onlyGroupedFlatRows,\n onlyGroupedRowsById,\n nonGroupedFlatRows,\n nonGroupedRowsById,\n ] = React.useMemo(() => {\n if (manualGroupBy || !groupBy.length) {\n return [\n rows,\n flatRows,\n rowsById,\n emptyArray,\n emptyObject,\n flatRows,\n rowsById,\n ]\n }\n\n // Ensure that the list of filtered columns exist\n const existingGroupBy = groupBy.filter(g =>\n allColumns.find(col => col.id === g)\n )\n\n // Find the columns that can or are aggregating\n // Uses each column to aggregate rows into a single value\n const aggregateRowsToValues = (leafRows, groupedRows, depth) => {\n const values = {}\n\n allColumns.forEach(column => {\n // Don't aggregate columns that are in the groupBy\n if (existingGroupBy.includes(column.id)) {\n values[column.id] = groupedRows[0]\n ? groupedRows[0].values[column.id]\n : null\n return\n }\n\n // Aggregate the values\n let aggregateFn =\n typeof column.aggregate === 'function'\n ? column.aggregate\n : userAggregations[column.aggregate] ||\n aggregations[column.aggregate]\n\n if (aggregateFn) {\n // Get the columnValues to aggregate\n const groupedValues = groupedRows.map(row => row.values[column.id])\n\n // Get the columnValues to aggregate\n const leafValues = leafRows.map(row => {\n let columnValue = row.values[column.id]\n\n if (!depth && column.aggregateValue) {\n const aggregateValueFn =\n typeof column.aggregateValue === 'function'\n ? column.aggregateValue\n : userAggregations[column.aggregateValue] ||\n aggregations[column.aggregateValue]\n\n if (!aggregateValueFn) {\n console.info({ column })\n throw new Error(\n `React Table: Invalid column.aggregateValue option for column listed above`\n )\n }\n\n columnValue = aggregateValueFn(columnValue, row, column)\n }\n return columnValue\n })\n\n values[column.id] = aggregateFn(leafValues, groupedValues)\n } else if (column.aggregate) {\n console.info({ column })\n throw new Error(\n `React Table: Invalid column.aggregate option for column listed above`\n )\n } else {\n values[column.id] = null\n }\n })\n\n return values\n }\n\n let groupedFlatRows = []\n const groupedRowsById = {}\n const onlyGroupedFlatRows = []\n const onlyGroupedRowsById = {}\n const nonGroupedFlatRows = []\n const nonGroupedRowsById = {}\n\n // Recursively group the data\n const groupUpRecursively = (rows, depth = 0, parentId) => {\n // This is the last level, just return the rows\n if (depth === existingGroupBy.length) {\n return rows.map((row) => ({ ...row, depth }))\n }\n\n const columnId = existingGroupBy[depth]\n\n // Group the rows together for this level\n let rowGroupsMap = groupByFn(rows, columnId)\n\n // Peform aggregations for each group\n const aggregatedGroupedRows = Object.entries(rowGroupsMap).map(\n ([groupByVal, groupedRows], index) => {\n let id = `${columnId}:${groupByVal}`\n id = parentId ? `${parentId}>${id}` : id\n\n // First, Recurse to group sub rows before aggregation\n const subRows = groupUpRecursively(groupedRows, depth + 1, id)\n\n // Flatten the leaf rows of the rows in this group\n const leafRows = depth\n ? flattenBy(groupedRows, 'leafRows')\n : groupedRows\n\n const values = aggregateRowsToValues(leafRows, groupedRows, depth)\n\n const row = {\n id,\n isGrouped: true,\n groupByID: columnId,\n groupByVal,\n values,\n subRows,\n leafRows,\n depth,\n index,\n }\n\n subRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n if (subRow.isGrouped) {\n onlyGroupedFlatRows.push(subRow)\n onlyGroupedRowsById[subRow.id] = subRow\n } else {\n nonGroupedFlatRows.push(subRow)\n nonGroupedRowsById[subRow.id] = subRow\n }\n })\n\n return row\n }\n )\n\n return aggregatedGroupedRows\n }\n\n const groupedRows = groupUpRecursively(rows)\n\n groupedRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n if (subRow.isGrouped) {\n onlyGroupedFlatRows.push(subRow)\n onlyGroupedRowsById[subRow.id] = subRow\n } else {\n nonGroupedFlatRows.push(subRow)\n nonGroupedRowsById[subRow.id] = subRow\n }\n })\n\n // Assign the new data\n return [\n groupedRows,\n groupedFlatRows,\n groupedRowsById,\n onlyGroupedFlatRows,\n onlyGroupedRowsById,\n nonGroupedFlatRows,\n nonGroupedRowsById,\n ]\n }, [\n manualGroupBy,\n groupBy,\n rows,\n flatRows,\n rowsById,\n allColumns,\n userAggregations,\n groupByFn,\n ])\n\n const getAutoResetGroupBy = useGetLatest(autoResetGroupBy)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetGroupBy()) {\n dispatch({ type: actions.resetGroupBy })\n }\n }, [dispatch, manualGroupBy ? null : data])\n\n Object.assign(instance, {\n preGroupedRows: rows,\n preGroupedFlatRow: flatRows,\n preGroupedRowsById: rowsById,\n groupedRows,\n groupedFlatRows,\n groupedRowsById,\n onlyGroupedFlatRows,\n onlyGroupedRowsById,\n nonGroupedFlatRows,\n nonGroupedRowsById,\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById,\n toggleGroupBy,\n setGroupBy,\n })\n}\n\nfunction prepareRow(row) {\n row.allCells.forEach(cell => {\n // Grouped cells are in the groupBy and the pivot cell for the row\n cell.isGrouped = cell.column.isGrouped && cell.column.id === row.groupByID\n // Placeholder cells are any columns in the groupBy that are not grouped\n cell.isPlaceholder = !cell.isGrouped && cell.column.isGrouped\n // Aggregated cells are not grouped, not repeated, but still have subRows\n cell.isAggregated =\n !cell.isGrouped && !cell.isPlaceholder && row.subRows?.length\n })\n}\n\nexport function defaultGroupByFn(rows, columnId) {\n return rows.reduce((prev, row, i) => {\n // TODO: Might want to implement a key serializer here so\n // irregular column values can still be grouped if needed?\n const resKey = `${row.values[columnId]}`\n prev[resKey] = Array.isArray(prev[resKey]) ? prev[resKey] : []\n prev[resKey].push(row)\n return prev\n }, {})\n}\n","const reSplitAlphaNumeric = /([0-9]+)/gm\n\n// Mixed sorting is slow, but very inclusive of many edge cases.\n// It handles numbers, mixed alphanumeric combinations, and even\n// null, undefined, and Infinity\nexport const alphanumeric = (rowA, rowB, columnId) => {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n // Force to strings (or \"\" for unsupported types)\n a = toString(a)\n b = toString(b)\n\n // Split on number groups, but keep the delimiter\n // Then remove falsey split values\n a = a.split(reSplitAlphaNumeric).filter(Boolean)\n b = b.split(reSplitAlphaNumeric).filter(Boolean)\n\n // While\n while (a.length && b.length) {\n let aa = a.shift()\n let bb = b.shift()\n\n const an = parseInt(aa, 10)\n const bn = parseInt(bb, 10)\n\n const combo = [an, bn].sort()\n\n // Both are string\n if (isNaN(combo[0])) {\n if (aa > bb) {\n return 1\n }\n if (bb > aa) {\n return -1\n }\n continue\n }\n\n // One is a string, one is a number\n if (isNaN(combo[1])) {\n return isNaN(an) ? -1 : 1\n }\n\n // Both are numbers\n if (an > bn) {\n return 1\n }\n if (bn > an) {\n return -1\n }\n }\n\n return a.length - b.length\n}\nexport function datetime(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n a = a.getTime()\n b = b.getTime()\n\n return compareBasic(a, b)\n}\n\nexport function basic(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n return compareBasic(a, b)\n}\n\nexport function string(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n a = a.split('').filter(Boolean)\n b = b.split('').filter(Boolean)\n\n while (a.length && b.length) {\n let aa = a.shift()\n let bb = b.shift()\n\n let alower = aa.toLowerCase()\n let blower = bb.toLowerCase()\n\n // Case insensitive comparison until characters match\n if (alower > blower) {\n return 1\n }\n if (blower > alower) {\n return -1\n }\n // If lowercase characters are identical\n if (aa > bb) {\n return 1\n }\n if (bb > aa) {\n return -1\n }\n continue\n }\n\n return a.length - b.length\n}\n\nexport function number(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n const replaceNonNumeric = /[^0-9.]/gi\n\n a = Number(String(a).replace(replaceNonNumeric, ''))\n b = Number(String(b).replace(replaceNonNumeric, ''))\n\n return compareBasic(a, b)\n}\n\n// Utils\n\nfunction compareBasic(a, b) {\n return a === b ? 0 : a > b ? 1 : -1\n}\n\nfunction getRowValuesByColumnID(row1, row2, columnId) {\n return [row1.values[columnId], row2.values[columnId]]\n}\n\nfunction toString(a) {\n if (typeof a === 'number') {\n if (isNaN(a) || a === Infinity || a === -Infinity) {\n return ''\n }\n return String(a)\n }\n if (typeof a === 'string') {\n return a\n }\n return ''\n}\n","import React from 'react'\n\nimport {\n actions,\n ensurePluginOrder,\n defaultColumn,\n makePropGetter,\n useGetLatest,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nimport { getFirstDefined, isFunction } from '../utils'\n\nimport * as sortTypes from '../sortTypes'\n\n// Actions\nactions.resetSortBy = 'resetSortBy'\nactions.setSortBy = 'setSortBy'\nactions.toggleSortBy = 'toggleSortBy'\nactions.clearSortBy = 'clearSortBy'\n\ndefaultColumn.sortType = 'alphanumeric'\ndefaultColumn.sortDescFirst = false\n\nexport const useSortBy = hooks => {\n hooks.getSortByToggleProps = [defaultGetSortByToggleProps]\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nuseSortBy.pluginName = 'useSortBy'\n\nconst defaultGetSortByToggleProps = (props, { instance, column }) => {\n const { isMultiSortEvent = e => e.shiftKey } = instance\n\n return [\n props,\n {\n onClick: column.canSort\n ? e => {\n e.persist()\n column.toggleSortBy(\n undefined,\n !instance.disableMultiSort && isMultiSortEvent(e)\n )\n }\n : undefined,\n style: {\n cursor: column.canSort ? 'pointer' : undefined,\n },\n title: column.canSort ? 'Toggle SortBy' : undefined,\n },\n ]\n}\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n sortBy: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetSortBy) {\n return {\n ...state,\n sortBy: instance.initialState.sortBy || [],\n }\n }\n\n if (action.type === actions.clearSortBy) {\n const { sortBy } = state\n const newSortBy = sortBy.filter(d => d.id !== action.columnId)\n\n return {\n ...state,\n sortBy: newSortBy,\n }\n }\n\n if (action.type === actions.setSortBy) {\n const { sortBy } = action\n return {\n ...state,\n sortBy,\n }\n }\n\n if (action.type === actions.toggleSortBy) {\n const { columnId, desc, multi } = action\n\n const {\n allColumns,\n disableMultiSort,\n disableSortRemove,\n disableMultiRemove,\n maxMultiSortColCount = Number.MAX_SAFE_INTEGER,\n } = instance\n\n const { sortBy } = state\n\n // Find the column for this columnId\n const column = allColumns.find(d => d.id === columnId)\n const { sortDescFirst } = column\n\n // Find any existing sortBy for this column\n const existingSortBy = sortBy.find(d => d.id === columnId)\n const existingIndex = sortBy.findIndex(d => d.id === columnId)\n const hasDescDefined = typeof desc !== 'undefined' && desc !== null\n\n let newSortBy = []\n\n // What should we do with this sort action?\n let sortAction\n\n if (!disableMultiSort && multi) {\n if (existingSortBy) {\n sortAction = 'toggle'\n } else {\n sortAction = 'add'\n }\n } else {\n // Normal mode\n if (existingIndex !== sortBy.length - 1 || sortBy.length !== 1) {\n sortAction = 'replace'\n } else if (existingSortBy) {\n sortAction = 'toggle'\n } else {\n sortAction = 'replace'\n }\n }\n\n // Handle toggle states that will remove the sortBy\n if (\n sortAction === 'toggle' && // Must be toggling\n !disableSortRemove && // If disableSortRemove, disable in general\n !hasDescDefined && // Must not be setting desc\n (multi ? !disableMultiRemove : true) && // If multi, don't allow if disableMultiRemove\n ((existingSortBy && // Finally, detect if it should indeed be removed\n existingSortBy.desc &&\n !sortDescFirst) ||\n (!existingSortBy.desc && sortDescFirst))\n ) {\n sortAction = 'remove'\n }\n\n if (sortAction === 'replace') {\n newSortBy = [\n {\n id: columnId,\n desc: hasDescDefined ? desc : sortDescFirst,\n },\n ]\n } else if (sortAction === 'add') {\n newSortBy = [\n ...sortBy,\n {\n id: columnId,\n desc: hasDescDefined ? desc : sortDescFirst,\n },\n ]\n // Take latest n columns\n newSortBy.splice(0, newSortBy.length - maxMultiSortColCount)\n } else if (sortAction === 'toggle') {\n // This flips (or sets) the\n newSortBy = sortBy.map(d => {\n if (d.id === columnId) {\n return {\n ...d,\n desc: hasDescDefined ? desc : !existingSortBy.desc,\n }\n }\n return d\n })\n } else if (sortAction === 'remove') {\n newSortBy = sortBy.filter(d => d.id !== columnId)\n }\n\n return {\n ...state,\n sortBy: newSortBy,\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n allColumns,\n orderByFn = defaultOrderByFn,\n sortTypes: userSortTypes,\n manualSortBy,\n defaultCanSort,\n disableSortBy,\n flatHeaders,\n state: { sortBy },\n dispatch,\n plugins,\n getHooks,\n autoResetSortBy = true,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useFilters', 'useGlobalFilter', 'useGroupBy', 'usePivotColumns'],\n 'useSortBy'\n )\n\n const setSortBy = React.useCallback(\n sortBy => {\n dispatch({ type: actions.setSortBy, sortBy })\n },\n [dispatch]\n )\n\n // Updates sorting based on a columnId, desc flag and multi flag\n const toggleSortBy = React.useCallback(\n (columnId, desc, multi) => {\n dispatch({ type: actions.toggleSortBy, columnId, desc, multi })\n },\n [dispatch]\n )\n\n // use reference to avoid memory leak in #1608\n const getInstance = useGetLatest(instance)\n\n // Add the getSortByToggleProps method to columns and headers\n flatHeaders.forEach(column => {\n const {\n accessor,\n canSort: defaultColumnCanSort,\n disableSortBy: columnDisableSortBy,\n id,\n } = column\n\n const canSort = accessor\n ? getFirstDefined(\n columnDisableSortBy === true ? false : undefined,\n disableSortBy === true ? false : undefined,\n true\n )\n : getFirstDefined(defaultCanSort, defaultColumnCanSort, false)\n\n column.canSort = canSort\n\n if (column.canSort) {\n column.toggleSortBy = (desc, multi) =>\n toggleSortBy(column.id, desc, multi)\n\n column.clearSortBy = () => {\n dispatch({ type: actions.clearSortBy, columnId: column.id })\n }\n }\n\n column.getSortByToggleProps = makePropGetter(\n getHooks().getSortByToggleProps,\n {\n instance: getInstance(),\n column,\n }\n )\n\n const columnSort = sortBy.find(d => d.id === id)\n column.isSorted = !!columnSort\n column.sortedIndex = sortBy.findIndex(d => d.id === id)\n column.isSortedDesc = column.isSorted ? columnSort.desc : undefined\n })\n\n const [sortedRows, sortedFlatRows] = React.useMemo(() => {\n if (manualSortBy || !sortBy.length) {\n return [rows, flatRows]\n }\n\n const sortedFlatRows = []\n\n // Filter out sortBys that correspond to non existing columns\n const availableSortBy = sortBy.filter(sort =>\n allColumns.find(col => col.id === sort.id)\n )\n\n const sortData = rows => {\n // Use the orderByFn to compose multiple sortBy's together.\n // This will also perform a stable sorting using the row index\n // if needed.\n const sortedData = orderByFn(\n rows,\n availableSortBy.map(sort => {\n // Support custom sorting methods for each column\n const column = allColumns.find(d => d.id === sort.id)\n\n if (!column) {\n throw new Error(\n `React-Table: Could not find a column with id: ${sort.id} while sorting`\n )\n }\n\n const { sortType } = column\n\n // Look up sortBy functions in this order:\n // column function\n // column string lookup on user sortType\n // column string lookup on built-in sortType\n // default function\n // default string lookup on user sortType\n // default string lookup on built-in sortType\n const sortMethod =\n isFunction(sortType) ||\n (userSortTypes || {})[sortType] ||\n sortTypes[sortType]\n\n if (!sortMethod) {\n throw new Error(\n `React-Table: Could not find a valid sortType of '${sortType}' for column '${sort.id}'.`\n )\n }\n\n // Return the correct sortFn.\n // This function should always return in ascending order\n return (a, b) => sortMethod(a, b, sort.id, sort.desc)\n }),\n // Map the directions\n availableSortBy.map(sort => {\n // Detect and use the sortInverted option\n const column = allColumns.find(d => d.id === sort.id)\n\n if (column && column.sortInverted) {\n return sort.desc\n }\n\n return !sort.desc\n })\n )\n\n // If there are sub-rows, sort them\n sortedData.forEach(row => {\n sortedFlatRows.push(row)\n if (!row.subRows || row.subRows.length === 0) {\n return\n }\n row.subRows = sortData(row.subRows)\n })\n\n return sortedData\n }\n\n return [sortData(rows), sortedFlatRows]\n }, [\n manualSortBy,\n sortBy,\n rows,\n flatRows,\n allColumns,\n orderByFn,\n userSortTypes,\n ])\n\n const getAutoResetSortBy = useGetLatest(autoResetSortBy)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetSortBy()) {\n dispatch({ type: actions.resetSortBy })\n }\n }, [manualSortBy ? null : data])\n\n Object.assign(instance, {\n preSortedRows: rows,\n preSortedFlatRows: flatRows,\n sortedRows,\n sortedFlatRows,\n rows: sortedRows,\n flatRows: sortedFlatRows,\n setSortBy,\n toggleSortBy,\n })\n}\n\nexport function defaultOrderByFn(arr, funcs, dirs) {\n return [...arr].sort((rowA, rowB) => {\n for (let i = 0; i < funcs.length; i += 1) {\n const sortFn = funcs[i]\n const desc = dirs[i] === false || dirs[i] === 'desc'\n const sortInt = sortFn(rowA, rowB)\n if (sortInt !== 0) {\n return desc ? -sortInt : sortInt\n }\n }\n return dirs[0] ? rowA.index - rowB.index : rowB.index - rowA.index\n })\n}\n","import React from 'react'\n\n//\n\nimport {\n actions,\n ensurePluginOrder,\n functionalUpdate,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nimport { expandRows } from '../utils'\n\nconst pluginName = 'usePagination'\n\n// Actions\nactions.resetPage = 'resetPage'\nactions.gotoPage = 'gotoPage'\nactions.setPageSize = 'setPageSize'\n\nexport const usePagination = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nusePagination.pluginName = pluginName\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n pageSize: 10,\n pageIndex: 0,\n ...state,\n }\n }\n\n if (action.type === actions.resetPage) {\n return {\n ...state,\n pageIndex: instance.initialState.pageIndex || 0,\n }\n }\n\n if (action.type === actions.gotoPage) {\n const { pageCount, page } = instance\n const newPageIndex = functionalUpdate(action.pageIndex, state.pageIndex)\n let canNavigate = false\n\n if (newPageIndex > state.pageIndex) {\n // next page\n canNavigate =\n pageCount === -1\n ? page.length >= state.pageSize\n : newPageIndex < pageCount\n } else if (newPageIndex < state.pageIndex) {\n // prev page\n canNavigate = newPageIndex > -1\n }\n\n if (!canNavigate) {\n return state\n }\n\n return {\n ...state,\n pageIndex: newPageIndex,\n }\n }\n\n if (action.type === actions.setPageSize) {\n const { pageSize } = action\n const topRowIndex = state.pageSize * state.pageIndex\n const pageIndex = Math.floor(topRowIndex / pageSize)\n\n return {\n ...state,\n pageIndex,\n pageSize,\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n rows,\n autoResetPage = true,\n manualExpandedKey = 'expanded',\n plugins,\n pageCount: userPageCount,\n paginateExpandedRows = true,\n expandSubRows = true,\n state: {\n pageSize,\n pageIndex,\n expanded,\n globalFilter,\n filters,\n groupBy,\n sortBy,\n },\n dispatch,\n data,\n manualPagination,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useGlobalFilter', 'useFilters', 'useGroupBy', 'useSortBy', 'useExpanded'],\n 'usePagination'\n )\n\n const getAutoResetPage = useGetLatest(autoResetPage)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetPage()) {\n dispatch({ type: actions.resetPage })\n }\n }, [\n dispatch,\n manualPagination ? null : data,\n globalFilter,\n filters,\n groupBy,\n sortBy,\n ])\n\n const pageCount = manualPagination\n ? userPageCount\n : Math.ceil(rows.length / pageSize)\n\n const pageOptions = React.useMemo(\n () =>\n pageCount > 0\n ? [...new Array(pageCount)].fill(null).map((d, i) => i)\n : [],\n [pageCount]\n )\n\n const page = React.useMemo(() => {\n let page\n\n if (manualPagination) {\n page = rows\n } else {\n const pageStart = pageSize * pageIndex\n const pageEnd = pageStart + pageSize\n\n page = rows.slice(pageStart, pageEnd)\n }\n\n if (paginateExpandedRows) {\n return page\n }\n\n return expandRows(page, { manualExpandedKey, expanded, expandSubRows })\n }, [\n expandSubRows,\n expanded,\n manualExpandedKey,\n manualPagination,\n pageIndex,\n pageSize,\n paginateExpandedRows,\n rows,\n ])\n\n const canPreviousPage = pageIndex > 0\n const canNextPage =\n pageCount === -1 ? page.length >= pageSize : pageIndex < pageCount - 1\n\n const gotoPage = React.useCallback(\n pageIndex => {\n dispatch({ type: actions.gotoPage, pageIndex })\n },\n [dispatch]\n )\n\n const previousPage = React.useCallback(() => {\n return gotoPage(old => old - 1)\n }, [gotoPage])\n\n const nextPage = React.useCallback(() => {\n return gotoPage(old => old + 1)\n }, [gotoPage])\n\n const setPageSize = React.useCallback(\n pageSize => {\n dispatch({ type: actions.setPageSize, pageSize })\n },\n [dispatch]\n )\n\n Object.assign(instance, {\n pageOptions,\n pageCount,\n page,\n canPreviousPage,\n canNextPage,\n gotoPage,\n previousPage,\n nextPage,\n setPageSize,\n })\n}\n","/* istanbul ignore file */\n\nimport {\n actions,\n makePropGetter,\n ensurePluginOrder,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nimport { flattenColumns, getFirstDefined } from '../utils'\n\n// Actions\nactions.resetPivot = 'resetPivot'\nactions.togglePivot = 'togglePivot'\n\nexport const _UNSTABLE_usePivotColumns = hooks => {\n hooks.getPivotToggleProps = [defaultGetPivotToggleProps]\n hooks.stateReducers.push(reducer)\n hooks.useInstanceAfterData.push(useInstanceAfterData)\n hooks.allColumns.push(allColumns)\n hooks.accessValue.push(accessValue)\n hooks.materializedColumns.push(materializedColumns)\n hooks.materializedColumnsDeps.push(materializedColumnsDeps)\n hooks.visibleColumns.push(visibleColumns)\n hooks.visibleColumnsDeps.push(visibleColumnsDeps)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\n_UNSTABLE_usePivotColumns.pluginName = 'usePivotColumns'\n\nconst defaultPivotColumns = []\n\nconst defaultGetPivotToggleProps = (props, { header }) => [\n props,\n {\n onClick: header.canPivot\n ? e => {\n e.persist()\n header.togglePivot()\n }\n : undefined,\n style: {\n cursor: header.canPivot ? 'pointer' : undefined,\n },\n title: 'Toggle Pivot',\n },\n]\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n pivotColumns: defaultPivotColumns,\n ...state,\n }\n }\n\n if (action.type === actions.resetPivot) {\n return {\n ...state,\n pivotColumns: instance.initialState.pivotColumns || defaultPivotColumns,\n }\n }\n\n if (action.type === actions.togglePivot) {\n const { columnId, value: setPivot } = action\n\n const resolvedPivot =\n typeof setPivot !== 'undefined'\n ? setPivot\n : !state.pivotColumns.includes(columnId)\n\n if (resolvedPivot) {\n return {\n ...state,\n pivotColumns: [...state.pivotColumns, columnId],\n }\n }\n\n return {\n ...state,\n pivotColumns: state.pivotColumns.filter(d => d !== columnId),\n }\n }\n}\n\nfunction useInstanceAfterData(instance) {\n instance.allColumns.forEach(column => {\n column.isPivotSource = instance.state.pivotColumns.includes(column.id)\n })\n}\n\nfunction allColumns(columns, { instance }) {\n columns.forEach(column => {\n column.isPivotSource = instance.state.pivotColumns.includes(column.id)\n column.uniqueValues = new Set()\n })\n return columns\n}\n\nfunction accessValue(value, { column }) {\n if (column.uniqueValues && typeof value !== 'undefined') {\n column.uniqueValues.add(value)\n }\n return value\n}\n\nfunction materializedColumns(materialized, { instance }) {\n const { allColumns, state } = instance\n\n if (!state.pivotColumns.length || !state.groupBy || !state.groupBy.length) {\n return materialized\n }\n\n const pivotColumns = state.pivotColumns\n .map(id => allColumns.find(d => d.id === id))\n .filter(Boolean)\n\n const sourceColumns = allColumns.filter(\n d =>\n !d.isPivotSource &&\n !state.groupBy.includes(d.id) &&\n !state.pivotColumns.includes(d.id)\n )\n\n const buildPivotColumns = (depth = 0, parent, pivotFilters = []) => {\n const pivotColumn = pivotColumns[depth]\n\n if (!pivotColumn) {\n return sourceColumns.map(sourceColumn => {\n // TODO: We could offer support here for renesting pivoted\n // columns inside copies of their header groups. For now,\n // that seems like it would be (1) overkill on nesting, considering\n // you already get nesting for every pivot level and (2)\n // really hard. :)\n\n return {\n ...sourceColumn,\n canPivot: false,\n isPivoted: true,\n parent,\n depth: depth,\n id: `${parent ? `${parent.id}.${sourceColumn.id}` : sourceColumn.id}`,\n accessor: (originalRow, i, row) => {\n if (pivotFilters.every(filter => filter(row))) {\n return row.values[sourceColumn.id]\n }\n },\n }\n })\n }\n\n const uniqueValues = Array.from(pivotColumn.uniqueValues).sort()\n\n return uniqueValues.map(uniqueValue => {\n const columnGroup = {\n ...pivotColumn,\n Header:\n pivotColumn.PivotHeader || typeof pivotColumn.header === 'string'\n ? `${pivotColumn.Header}: ${uniqueValue}`\n : uniqueValue,\n isPivotGroup: true,\n parent,\n depth,\n id: parent\n ? `${parent.id}.${pivotColumn.id}.${uniqueValue}`\n : `${pivotColumn.id}.${uniqueValue}`,\n pivotValue: uniqueValue,\n }\n\n columnGroup.columns = buildPivotColumns(depth + 1, columnGroup, [\n ...pivotFilters,\n row => row.values[pivotColumn.id] === uniqueValue,\n ])\n\n return columnGroup\n })\n }\n\n const newMaterialized = flattenColumns(buildPivotColumns())\n\n return [...materialized, ...newMaterialized]\n}\n\nfunction materializedColumnsDeps(\n deps,\n {\n instance: {\n state: { pivotColumns, groupBy },\n },\n }\n) {\n return [...deps, pivotColumns, groupBy]\n}\n\nfunction visibleColumns(visibleColumns, { instance: { state } }) {\n visibleColumns = visibleColumns.filter(d => !d.isPivotSource)\n\n if (state.pivotColumns.length && state.groupBy && state.groupBy.length) {\n visibleColumns = visibleColumns.filter(\n column => column.isGrouped || column.isPivoted\n )\n }\n\n return visibleColumns\n}\n\nfunction visibleColumnsDeps(deps, { instance }) {\n return [...deps, instance.state.pivotColumns, instance.state.groupBy]\n}\n\nfunction useInstance(instance) {\n const {\n columns,\n allColumns,\n flatHeaders,\n // pivotFn = defaultPivotFn,\n // manualPivot,\n getHooks,\n plugins,\n dispatch,\n autoResetPivot = true,\n manaulPivot,\n disablePivot,\n defaultCanPivot,\n } = instance\n\n ensurePluginOrder(plugins, ['useGroupBy'], 'usePivotColumns')\n\n const getInstance = useGetLatest(instance)\n\n allColumns.forEach(column => {\n const {\n accessor,\n defaultPivot: defaultColumnPivot,\n disablePivot: columnDisablePivot,\n } = column\n\n column.canPivot = accessor\n ? getFirstDefined(\n column.canPivot,\n columnDisablePivot === true ? false : undefined,\n disablePivot === true ? false : undefined,\n true\n )\n : getFirstDefined(\n column.canPivot,\n defaultColumnPivot,\n defaultCanPivot,\n false\n )\n\n if (column.canPivot) {\n column.togglePivot = () => instance.togglePivot(column.id)\n }\n\n column.Aggregated = column.Aggregated || column.Cell\n })\n\n const togglePivot = (columnId, value) => {\n dispatch({ type: actions.togglePivot, columnId, value })\n }\n\n flatHeaders.forEach(header => {\n header.getPivotToggleProps = makePropGetter(\n getHooks().getPivotToggleProps,\n {\n instance: getInstance(),\n header,\n }\n )\n })\n\n const getAutoResetPivot = useGetLatest(autoResetPivot)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetPivot()) {\n dispatch({ type: actions.resetPivot })\n }\n }, [dispatch, manaulPivot ? null : columns])\n\n Object.assign(instance, {\n togglePivot,\n })\n}\n\nfunction prepareRow(row) {\n row.allCells.forEach(cell => {\n // Grouped cells are in the pivotColumns and the pivot cell for the row\n cell.isPivoted = cell.column.isPivoted\n })\n}\n","import React from 'react'\n\nimport {\n actions,\n makePropGetter,\n ensurePluginOrder,\n useGetLatest,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nconst pluginName = 'useRowSelect'\n\n// Actions\nactions.resetSelectedRows = 'resetSelectedRows'\nactions.toggleAllRowsSelected = 'toggleAllRowsSelected'\nactions.toggleRowSelected = 'toggleRowSelected'\nactions.toggleAllPageRowsSelected = 'toggleAllPageRowsSelected'\n\nexport const useRowSelect = hooks => {\n hooks.getToggleRowSelectedProps = [defaultGetToggleRowSelectedProps]\n hooks.getToggleAllRowsSelectedProps = [defaultGetToggleAllRowsSelectedProps]\n hooks.getToggleAllPageRowsSelectedProps = [\n defaultGetToggleAllPageRowsSelectedProps,\n ]\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseRowSelect.pluginName = pluginName\n\nconst defaultGetToggleRowSelectedProps = (props, { instance, row }) => {\n const { manualRowSelectedKey = 'isSelected' } = instance\n let checked = false\n\n if (row.original && row.original[manualRowSelectedKey]) {\n checked = true\n } else {\n checked = row.isSelected\n }\n\n return [\n props,\n {\n onChange: e => {\n row.toggleRowSelected(e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked,\n title: 'Toggle Row Selected',\n indeterminate: row.isSomeSelected,\n },\n ]\n}\n\nconst defaultGetToggleAllRowsSelectedProps = (props, { instance }) => [\n props,\n {\n onChange: e => {\n instance.toggleAllRowsSelected(e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: instance.isAllRowsSelected,\n title: 'Toggle All Rows Selected',\n indeterminate: Boolean(\n !instance.isAllRowsSelected &&\n Object.keys(instance.state.selectedRowIds).length\n ),\n },\n]\n\nconst defaultGetToggleAllPageRowsSelectedProps = (props, { instance }) => [\n props,\n {\n onChange(e) {\n instance.toggleAllPageRowsSelected(e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: instance.isAllPageRowsSelected,\n title: 'Toggle All Current Page Rows Selected',\n indeterminate: Boolean(\n !instance.isAllPageRowsSelected &&\n instance.page.some(({ id }) => instance.state.selectedRowIds[id])\n ),\n },\n]\n\n// eslint-disable-next-line max-params\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n selectedRowIds: {},\n ...state,\n }\n }\n\n if (action.type === actions.resetSelectedRows) {\n return {\n ...state,\n selectedRowIds: instance.initialState.selectedRowIds || {},\n }\n }\n\n if (action.type === actions.toggleAllRowsSelected) {\n const { value: setSelected } = action\n const {\n isAllRowsSelected,\n rowsById,\n nonGroupedRowsById = rowsById,\n } = instance\n\n const selectAll =\n typeof setSelected !== 'undefined' ? setSelected : !isAllRowsSelected\n\n // Only remove/add the rows that are visible on the screen\n // Leave all the other rows that are selected alone.\n const selectedRowIds = Object.assign({}, state.selectedRowIds)\n\n if (selectAll) {\n Object.keys(nonGroupedRowsById).forEach(rowId => {\n selectedRowIds[rowId] = true\n })\n } else {\n Object.keys(nonGroupedRowsById).forEach(rowId => {\n delete selectedRowIds[rowId]\n })\n }\n\n return {\n ...state,\n selectedRowIds,\n }\n }\n\n if (action.type === actions.toggleRowSelected) {\n const { id, value: setSelected } = action\n const { rowsById, selectSubRows = true, getSubRows } = instance\n const isSelected = state.selectedRowIds[id]\n const shouldExist =\n typeof setSelected !== 'undefined' ? setSelected : !isSelected\n\n if (isSelected === shouldExist) {\n return state\n }\n\n const newSelectedRowIds = { ...state.selectedRowIds }\n\n const handleRowById = id => {\n const row = rowsById[id]\n\n if (row) {\n if (!row.isGrouped) {\n if (shouldExist) {\n newSelectedRowIds[id] = true\n } else {\n delete newSelectedRowIds[id]\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n return getSubRows(row).forEach(row => handleRowById(row.id))\n }\n }\n }\n\n handleRowById(id)\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n }\n }\n\n if (action.type === actions.toggleAllPageRowsSelected) {\n const { value: setSelected } = action\n const {\n page,\n rowsById,\n selectSubRows = true,\n isAllPageRowsSelected,\n getSubRows,\n } = instance\n\n const selectAll =\n typeof setSelected !== 'undefined' ? setSelected : !isAllPageRowsSelected\n\n const newSelectedRowIds = { ...state.selectedRowIds }\n\n const handleRowById = id => {\n const row = rowsById[id]\n\n if (!row.isGrouped) {\n if (selectAll) {\n newSelectedRowIds[id] = true\n } else {\n delete newSelectedRowIds[id]\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n return getSubRows(row).forEach(row => handleRowById(row.id))\n }\n }\n\n page.forEach(row => handleRowById(row.id))\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n }\n }\n return state\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n getHooks,\n plugins,\n rowsById,\n nonGroupedRowsById = rowsById,\n autoResetSelectedRows = true,\n state: { selectedRowIds },\n selectSubRows = true,\n dispatch,\n page,\n getSubRows,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useFilters', 'useGroupBy', 'useSortBy', 'useExpanded', 'usePagination'],\n 'useRowSelect'\n )\n\n const selectedFlatRows = React.useMemo(() => {\n const selectedFlatRows = []\n\n rows.forEach(row => {\n const isSelected = selectSubRows\n ? getRowIsSelected(row, selectedRowIds, getSubRows)\n : !!selectedRowIds[row.id]\n row.isSelected = !!isSelected\n row.isSomeSelected = isSelected === null\n\n if (isSelected) {\n selectedFlatRows.push(row)\n }\n })\n\n return selectedFlatRows\n }, [rows, selectSubRows, selectedRowIds, getSubRows])\n\n let isAllRowsSelected = Boolean(\n Object.keys(nonGroupedRowsById).length && Object.keys(selectedRowIds).length\n )\n\n let isAllPageRowsSelected = isAllRowsSelected\n\n if (isAllRowsSelected) {\n if (Object.keys(nonGroupedRowsById).some(id => !selectedRowIds[id])) {\n isAllRowsSelected = false\n }\n }\n\n if (!isAllRowsSelected) {\n if (page && page.length && page.some(({ id }) => !selectedRowIds[id])) {\n isAllPageRowsSelected = false\n }\n }\n\n const getAutoResetSelectedRows = useGetLatest(autoResetSelectedRows)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetSelectedRows()) {\n dispatch({ type: actions.resetSelectedRows })\n }\n }, [dispatch, data])\n\n const toggleAllRowsSelected = React.useCallback(\n value => dispatch({ type: actions.toggleAllRowsSelected, value }),\n [dispatch]\n )\n\n const toggleAllPageRowsSelected = React.useCallback(\n value => dispatch({ type: actions.toggleAllPageRowsSelected, value }),\n [dispatch]\n )\n\n const toggleRowSelected = React.useCallback(\n (id, value) => dispatch({ type: actions.toggleRowSelected, id, value }),\n [dispatch]\n )\n\n const getInstance = useGetLatest(instance)\n\n const getToggleAllRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllRowsSelectedProps,\n { instance: getInstance() }\n )\n\n const getToggleAllPageRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllPageRowsSelectedProps,\n { instance: getInstance() }\n )\n\n Object.assign(instance, {\n selectedFlatRows,\n isAllRowsSelected,\n isAllPageRowsSelected,\n toggleRowSelected,\n toggleAllRowsSelected,\n getToggleAllRowsSelectedProps,\n getToggleAllPageRowsSelectedProps,\n toggleAllPageRowsSelected,\n })\n}\n\nfunction prepareRow(row, { instance }) {\n row.toggleRowSelected = set => instance.toggleRowSelected(row.id, set)\n\n row.getToggleRowSelectedProps = makePropGetter(\n instance.getHooks().getToggleRowSelectedProps,\n { instance: instance, row }\n )\n}\n\nfunction getRowIsSelected(row, selectedRowIds, getSubRows) {\n if (selectedRowIds[row.id]) {\n return true\n }\n\n const subRows = getSubRows(row)\n\n if (subRows && subRows.length) {\n let allChildrenSelected = true\n let someSelected = false\n\n subRows.forEach(subRow => {\n // Bail out early if we know both of these\n if (someSelected && !allChildrenSelected) {\n return\n }\n\n if (getRowIsSelected(subRow, selectedRowIds, getSubRows)) {\n someSelected = true\n } else {\n allChildrenSelected = false\n }\n })\n return allChildrenSelected ? true : someSelected ? null : false\n }\n\n return false\n}\n","import React from 'react'\n\nimport {\n actions,\n functionalUpdate,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nconst defaultInitialRowStateAccessor = row => ({})\nconst defaultInitialCellStateAccessor = cell => ({})\n\n// Actions\nactions.setRowState = 'setRowState'\nactions.setCellState = 'setCellState'\nactions.resetRowState = 'resetRowState'\n\nexport const useRowState = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseRowState.pluginName = 'useRowState'\n\nfunction reducer(state, action, previousState, instance) {\n const {\n initialRowStateAccessor = defaultInitialRowStateAccessor,\n initialCellStateAccessor = defaultInitialCellStateAccessor,\n rowsById,\n } = instance\n\n if (action.type === actions.init) {\n return {\n rowState: {},\n ...state,\n }\n }\n\n if (action.type === actions.resetRowState) {\n return {\n ...state,\n rowState: instance.initialState.rowState || {},\n }\n }\n\n if (action.type === actions.setRowState) {\n const { rowId, value } = action\n\n const oldRowState =\n typeof state.rowState[rowId] !== 'undefined'\n ? state.rowState[rowId]\n : initialRowStateAccessor(rowsById[rowId])\n\n return {\n ...state,\n rowState: {\n ...state.rowState,\n [rowId]: functionalUpdate(value, oldRowState),\n },\n }\n }\n\n if (action.type === actions.setCellState) {\n const { rowId, columnId, value } = action\n\n const oldRowState =\n typeof state.rowState[rowId] !== 'undefined'\n ? state.rowState[rowId]\n : initialRowStateAccessor(rowsById[rowId])\n\n const oldCellState =\n typeof oldRowState?.cellState?.[columnId] !== 'undefined'\n ? oldRowState.cellState[columnId]\n : initialCellStateAccessor(\n rowsById[rowId]?.cells?.find(cell => cell.column.id === columnId)\n )\n\n return {\n ...state,\n rowState: {\n ...state.rowState,\n [rowId]: {\n ...oldRowState,\n cellState: {\n ...(oldRowState.cellState || {}),\n [columnId]: functionalUpdate(value, oldCellState),\n },\n },\n },\n }\n }\n}\n\nfunction useInstance(instance) {\n const { autoResetRowState = true, data, dispatch } = instance\n\n const setRowState = React.useCallback(\n (rowId, value) =>\n dispatch({\n type: actions.setRowState,\n rowId,\n value,\n }),\n [dispatch]\n )\n\n const setCellState = React.useCallback(\n (rowId, columnId, value) =>\n dispatch({\n type: actions.setCellState,\n rowId,\n columnId,\n value,\n }),\n [dispatch]\n )\n\n const getAutoResetRowState = useGetLatest(autoResetRowState)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetRowState()) {\n dispatch({ type: actions.resetRowState })\n }\n }, [data])\n\n Object.assign(instance, {\n setRowState,\n setCellState,\n })\n}\n\nfunction prepareRow(row, { instance }) {\n const {\n initialRowStateAccessor = defaultInitialRowStateAccessor,\n initialCellStateAccessor = defaultInitialCellStateAccessor,\n state: { rowState },\n } = instance\n\n if (row) {\n row.state =\n typeof rowState[row.id] !== 'undefined'\n ? rowState[row.id]\n : initialRowStateAccessor(row)\n\n row.setState = updater => {\n return instance.setRowState(row.id, updater)\n }\n\n row.cells.forEach(cell => {\n if (!row.state.cellState) {\n row.state.cellState = {}\n }\n\n cell.state =\n typeof row.state.cellState[cell.column.id] !== 'undefined'\n ? row.state.cellState[cell.column.id]\n : initialCellStateAccessor(cell)\n\n cell.setState = updater => {\n return instance.setCellState(row.id, cell.column.id, updater)\n }\n })\n }\n}\n","import React from 'react'\n\nimport { functionalUpdate, actions } from '../publicUtils'\n\n// Actions\nactions.resetColumnOrder = 'resetColumnOrder'\nactions.setColumnOrder = 'setColumnOrder'\n\nexport const useColumnOrder = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.visibleColumnsDeps.push((deps, { instance }) => {\n return [...deps, instance.state.columnOrder]\n })\n hooks.visibleColumns.push(visibleColumns)\n hooks.useInstance.push(useInstance)\n}\n\nuseColumnOrder.pluginName = 'useColumnOrder'\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n columnOrder: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetColumnOrder) {\n return {\n ...state,\n columnOrder: instance.initialState.columnOrder || [],\n }\n }\n\n if (action.type === actions.setColumnOrder) {\n return {\n ...state,\n columnOrder: functionalUpdate(action.columnOrder, state.columnOrder),\n }\n }\n}\n\nfunction visibleColumns(\n columns,\n {\n instance: {\n state: { columnOrder },\n },\n }\n) {\n // If there is no order, return the normal columns\n if (!columnOrder || !columnOrder.length) {\n return columns\n }\n\n const columnOrderCopy = [...columnOrder]\n\n // If there is an order, make a copy of the columns\n const columnsCopy = [...columns]\n\n // And make a new ordered array of the columns\n const columnsInOrder = []\n\n // Loop over the columns and place them in order into the new array\n while (columnsCopy.length && columnOrderCopy.length) {\n const targetColumnId = columnOrderCopy.shift()\n const foundIndex = columnsCopy.findIndex(d => d.id === targetColumnId)\n if (foundIndex > -1) {\n columnsInOrder.push(columnsCopy.splice(foundIndex, 1)[0])\n }\n }\n\n // If there are any columns left, add them to the end\n return [...columnsInOrder, ...columnsCopy]\n}\n\nfunction useInstance(instance) {\n const { dispatch } = instance\n\n instance.setColumnOrder = React.useCallback(\n columnOrder => {\n return dispatch({ type: actions.setColumnOrder, columnOrder })\n },\n [dispatch]\n )\n}\n","import React from 'react'\n\nimport {\n actions,\n defaultColumn,\n makePropGetter,\n useGetLatest,\n ensurePluginOrder,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nimport { getFirstDefined, passiveEventSupported } from '../utils'\n\n// Default Column\ndefaultColumn.canResize = true\n\n// Actions\nactions.columnStartResizing = 'columnStartResizing'\nactions.columnResizing = 'columnResizing'\nactions.columnDoneResizing = 'columnDoneResizing'\nactions.resetResize = 'resetResize'\n\nexport const useResizeColumns = hooks => {\n hooks.getResizerProps = [defaultGetResizerProps]\n hooks.getHeaderProps.push({\n style: {\n position: 'relative',\n },\n })\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.useInstanceBeforeDimensions.push(useInstanceBeforeDimensions)\n}\n\nconst defaultGetResizerProps = (props, { instance, header }) => {\n const { dispatch } = instance\n\n const onResizeStart = (e, header) => {\n let isTouchEvent = false\n if (e.type === 'touchstart') {\n // lets not respond to multiple touches (e.g. 2 or 3 fingers)\n if (e.touches && e.touches.length > 1) {\n return\n }\n isTouchEvent = true\n }\n const headersToResize = getLeafHeaders(header)\n const headerIdWidths = headersToResize.map(d => [d.id, d.totalWidth])\n\n const clientX = isTouchEvent ? Math.round(e.touches[0].clientX) : e.clientX\n\n let raf\n let mostRecentClientX\n\n const dispatchEnd = () => {\n window.cancelAnimationFrame(raf)\n raf = null\n dispatch({ type: actions.columnDoneResizing })\n }\n const dispatchMove = () => {\n window.cancelAnimationFrame(raf)\n raf = null\n dispatch({ type: actions.columnResizing, clientX: mostRecentClientX })\n }\n\n const scheduleDispatchMoveOnNextAnimationFrame = clientXPos => {\n mostRecentClientX = clientXPos\n if (!raf) {\n raf = window.requestAnimationFrame(dispatchMove)\n }\n }\n\n const handlersAndEvents = {\n mouse: {\n moveEvent: 'mousemove',\n moveHandler: e => scheduleDispatchMoveOnNextAnimationFrame(e.clientX),\n upEvent: 'mouseup',\n upHandler: e => {\n document.removeEventListener(\n 'mousemove',\n handlersAndEvents.mouse.moveHandler\n )\n document.removeEventListener(\n 'mouseup',\n handlersAndEvents.mouse.upHandler\n )\n dispatchEnd()\n },\n },\n touch: {\n moveEvent: 'touchmove',\n moveHandler: e => {\n if (e.cancelable) {\n e.preventDefault()\n e.stopPropagation()\n }\n scheduleDispatchMoveOnNextAnimationFrame(e.touches[0].clientX)\n return false\n },\n upEvent: 'touchend',\n upHandler: e => {\n document.removeEventListener(\n handlersAndEvents.touch.moveEvent,\n handlersAndEvents.touch.moveHandler\n )\n document.removeEventListener(\n handlersAndEvents.touch.upEvent,\n handlersAndEvents.touch.moveHandler\n )\n dispatchEnd()\n },\n },\n }\n\n const events = isTouchEvent\n ? handlersAndEvents.touch\n : handlersAndEvents.mouse\n const passiveIfSupported = passiveEventSupported()\n ? { passive: false }\n : false\n document.addEventListener(\n events.moveEvent,\n events.moveHandler,\n passiveIfSupported\n )\n document.addEventListener(\n events.upEvent,\n events.upHandler,\n passiveIfSupported\n )\n\n dispatch({\n type: actions.columnStartResizing,\n columnId: header.id,\n columnWidth: header.totalWidth,\n headerIdWidths,\n clientX,\n })\n }\n\n return [\n props,\n {\n onMouseDown: e => e.persist() || onResizeStart(e, header),\n onTouchStart: e => e.persist() || onResizeStart(e, header),\n style: {\n cursor: 'col-resize',\n },\n draggable: false,\n role: 'separator',\n },\n ]\n}\n\nuseResizeColumns.pluginName = 'useResizeColumns'\n\nfunction reducer(state, action) {\n if (action.type === actions.init) {\n return {\n columnResizing: {\n columnWidths: {},\n },\n ...state,\n }\n }\n\n if (action.type === actions.resetResize) {\n return {\n ...state,\n columnResizing: {\n columnWidths: {},\n },\n }\n }\n\n if (action.type === actions.columnStartResizing) {\n const { clientX, columnId, columnWidth, headerIdWidths } = action\n\n return {\n ...state,\n columnResizing: {\n ...state.columnResizing,\n startX: clientX,\n headerIdWidths,\n columnWidth,\n isResizingColumn: columnId,\n },\n }\n }\n\n if (action.type === actions.columnResizing) {\n const { clientX } = action\n const { startX, columnWidth, headerIdWidths = [] } = state.columnResizing\n\n const deltaX = clientX - startX\n const percentageDeltaX = deltaX / columnWidth\n\n const newColumnWidths = {}\n\n headerIdWidths.forEach(([headerId, headerWidth]) => {\n newColumnWidths[headerId] = Math.max(\n headerWidth + headerWidth * percentageDeltaX,\n 0\n )\n })\n\n return {\n ...state,\n columnResizing: {\n ...state.columnResizing,\n columnWidths: {\n ...state.columnResizing.columnWidths,\n ...newColumnWidths,\n },\n },\n }\n }\n\n if (action.type === actions.columnDoneResizing) {\n return {\n ...state,\n columnResizing: {\n ...state.columnResizing,\n startX: null,\n isResizingColumn: null,\n },\n }\n }\n}\n\nconst useInstanceBeforeDimensions = instance => {\n const {\n flatHeaders,\n disableResizing,\n getHooks,\n state: { columnResizing },\n } = instance\n\n const getInstance = useGetLatest(instance)\n\n flatHeaders.forEach(header => {\n const canResize = getFirstDefined(\n header.disableResizing === true ? false : undefined,\n disableResizing === true ? false : undefined,\n true\n )\n\n header.canResize = canResize\n header.width =\n columnResizing.columnWidths[header.id] ||\n header.originalWidth ||\n header.width\n header.isResizing = columnResizing.isResizingColumn === header.id\n\n if (canResize) {\n header.getResizerProps = makePropGetter(getHooks().getResizerProps, {\n instance: getInstance(),\n header,\n })\n }\n })\n}\n\nfunction useInstance(instance) {\n const { plugins, dispatch, autoResetResize = true, columns } = instance\n\n ensurePluginOrder(plugins, ['useAbsoluteLayout'], 'useResizeColumns')\n\n const getAutoResetResize = useGetLatest(autoResetResize)\n useMountedLayoutEffect(() => {\n if (getAutoResetResize()) {\n dispatch({ type: actions.resetResize })\n }\n }, [columns])\n\n const resetResizing = React.useCallback(\n () => dispatch({ type: actions.resetResize }),\n [dispatch]\n )\n\n Object.assign(instance, {\n resetResizing,\n })\n}\n\nfunction getLeafHeaders(header) {\n const leafHeaders = []\n const recurseHeader = header => {\n if (header.columns && header.columns.length) {\n header.columns.map(recurseHeader)\n }\n leafHeaders.push(header)\n }\n recurseHeader(header)\n return leafHeaders\n}\n","const cellStyles = {\n position: 'absolute',\n top: 0,\n}\n\nexport const useAbsoluteLayout = hooks => {\n hooks.getTableBodyProps.push(getRowStyles)\n hooks.getRowProps.push(getRowStyles)\n hooks.getHeaderGroupProps.push(getRowStyles)\n hooks.getFooterGroupProps.push(getRowStyles)\n\n hooks.getHeaderProps.push((props, { column }) => [\n props,\n {\n style: {\n ...cellStyles,\n left: `${column.totalLeft}px`,\n width: `${column.totalWidth}px`,\n },\n },\n ])\n\n hooks.getCellProps.push((props, { cell }) => [\n props,\n {\n style: {\n ...cellStyles,\n left: `${cell.column.totalLeft}px`,\n width: `${cell.column.totalWidth}px`,\n },\n },\n ])\n\n hooks.getFooterProps.push((props, { column }) => [\n props,\n {\n style: {\n ...cellStyles,\n left: `${column.totalLeft}px`,\n width: `${column.totalWidth}px`,\n },\n },\n ])\n}\n\nuseAbsoluteLayout.pluginName = 'useAbsoluteLayout'\n\nconst getRowStyles = (props, { instance }) => [\n props,\n {\n style: {\n position: 'relative',\n width: `${instance.totalColumnsWidth}px`,\n },\n },\n]\n","const cellStyles = {\n display: 'inline-block',\n boxSizing: 'border-box',\n}\n\nconst getRowStyles = (props, { instance }) => [\n props,\n {\n style: {\n display: 'flex',\n width: `${instance.totalColumnsWidth}px`,\n },\n },\n]\n\nexport const useBlockLayout = hooks => {\n hooks.getRowProps.push(getRowStyles)\n hooks.getHeaderGroupProps.push(getRowStyles)\n hooks.getFooterGroupProps.push(getRowStyles)\n\n hooks.getHeaderProps.push((props, { column }) => [\n props,\n {\n style: {\n ...cellStyles,\n width: `${column.totalWidth}px`,\n },\n },\n ])\n\n hooks.getCellProps.push((props, { cell }) => [\n props,\n {\n style: {\n ...cellStyles,\n width: `${cell.column.totalWidth}px`,\n },\n },\n ])\n\n hooks.getFooterProps.push((props, { column }) => [\n props,\n {\n style: {\n ...cellStyles,\n width: `${column.totalWidth}px`,\n },\n },\n ])\n}\n\nuseBlockLayout.pluginName = 'useBlockLayout'\n","export function useFlexLayout(hooks) {\n hooks.getTableProps.push(getTableProps)\n hooks.getRowProps.push(getRowStyles)\n hooks.getHeaderGroupProps.push(getRowStyles)\n hooks.getFooterGroupProps.push(getRowStyles)\n hooks.getHeaderProps.push(getHeaderProps)\n hooks.getCellProps.push(getCellProps)\n hooks.getFooterProps.push(getFooterProps)\n}\n\nuseFlexLayout.pluginName = 'useFlexLayout'\n\nconst getTableProps = (props, { instance }) => [\n props,\n {\n style: {\n minWidth: `${instance.totalColumnsMinWidth}px`,\n },\n },\n]\n\nconst getRowStyles = (props, { instance }) => [\n props,\n {\n style: {\n display: 'flex',\n flex: '1 0 auto',\n minWidth: `${instance.totalColumnsMinWidth}px`,\n },\n },\n]\n\nconst getHeaderProps = (props, { column }) => [\n props,\n {\n style: {\n boxSizing: 'border-box',\n flex: column.totalFlexWidth\n ? `${column.totalFlexWidth} 0 auto`\n : undefined,\n minWidth: `${column.totalMinWidth}px`,\n width: `${column.totalWidth}px`,\n },\n },\n]\n\nconst getCellProps = (props, { cell }) => [\n props,\n {\n style: {\n boxSizing: 'border-box',\n flex: `${cell.column.totalFlexWidth} 0 auto`,\n minWidth: `${cell.column.totalMinWidth}px`,\n width: `${cell.column.totalWidth}px`,\n },\n },\n]\n\nconst getFooterProps = (props, { column }) => [\n props,\n {\n style: {\n boxSizing: 'border-box',\n flex: column.totalFlexWidth\n ? `${column.totalFlexWidth} 0 auto`\n : undefined,\n minWidth: `${column.totalMinWidth}px`,\n width: `${column.totalWidth}px`,\n },\n },\n]\n","import { actions } from '../publicUtils'\n\n// Actions\nactions.columnStartResizing = 'columnStartResizing'\nactions.columnResizing = 'columnResizing'\nactions.columnDoneResizing = 'columnDoneResizing'\nactions.resetResize = 'resetResize'\n\nexport function useGridLayout(hooks) {\n hooks.stateReducers.push(reducer)\n hooks.getTableProps.push(getTableProps)\n hooks.getHeaderProps.push(getHeaderProps)\n hooks.getRowProps.push(getRowProps)\n}\n\nuseGridLayout.pluginName = 'useGridLayout'\n\nconst getTableProps = (props, { instance }) => {\n const gridTemplateColumns = instance.visibleColumns.map(column => {\n if (instance.state.gridLayout.columnWidths[column.id])\n return `${instance.state.gridLayout.columnWidths[column.id]}px`\n // When resizing, lock the width of all unset columns\n // instead of using user-provided width or defaultColumn width,\n // which could potentially be 'auto' or 'fr' units that don't scale linearly\n if (instance.state.columnResizing?.isResizingColumn)\n return `${instance.state.gridLayout.startWidths[column.id]}px`\n if (typeof column.width === 'number') return `${column.width}px`\n return column.width\n })\n return [\n props,\n {\n style: {\n display: `grid`,\n gridTemplateColumns: gridTemplateColumns.join(` `),\n },\n },\n ]\n}\n\nconst getHeaderProps = (props, { column }) => [\n props,\n {\n id: `header-cell-${column.id}`,\n style: {\n position: `sticky`, //enables a scroll wrapper to be placed around the table and have sticky headers\n gridColumn: `span ${column.totalVisibleHeaderCount}`,\n },\n },\n]\n\nconst getRowProps = (props, { row }) => {\n if (row.isExpanded) {\n return [\n props,\n {\n style: {\n gridColumn: `1 / ${row.cells.length + 1}`,\n },\n },\n ]\n }\n return [props, {}]\n}\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n gridLayout: {\n columnWidths: {},\n },\n ...state,\n }\n }\n\n if (action.type === actions.resetResize) {\n return {\n ...state,\n gridLayout: {\n columnWidths: {},\n },\n }\n }\n\n if (action.type === actions.columnStartResizing) {\n const { columnId, headerIdWidths } = action\n const columnWidth = getElementWidth(columnId)\n\n if (columnWidth !== undefined) {\n const startWidths = instance.visibleColumns.reduce(\n (acc, column) => ({\n ...acc,\n [column.id]: getElementWidth(column.id),\n }),\n {}\n )\n const minWidths = instance.visibleColumns.reduce(\n (acc, column) => ({\n ...acc,\n [column.id]: column.minWidth,\n }),\n {}\n )\n const maxWidths = instance.visibleColumns.reduce(\n (acc, column) => ({\n ...acc,\n [column.id]: column.maxWidth,\n }),\n {}\n )\n\n const headerIdGridWidths = headerIdWidths.map(([headerId]) => [\n headerId,\n getElementWidth(headerId),\n ])\n\n return {\n ...state,\n gridLayout: {\n ...state.gridLayout,\n startWidths,\n minWidths,\n maxWidths,\n headerIdGridWidths,\n columnWidth,\n },\n }\n } else {\n return state\n }\n }\n\n if (action.type === actions.columnResizing) {\n const { clientX } = action\n const { startX } = state.columnResizing\n const {\n columnWidth,\n minWidths,\n maxWidths,\n headerIdGridWidths = [],\n } = state.gridLayout\n\n const deltaX = clientX - startX\n const percentageDeltaX = deltaX / columnWidth\n\n const newColumnWidths = {}\n\n headerIdGridWidths.forEach(([headerId, headerWidth]) => {\n newColumnWidths[headerId] = Math.min(\n Math.max(\n minWidths[headerId],\n headerWidth + headerWidth * percentageDeltaX\n ),\n maxWidths[headerId]\n )\n })\n\n return {\n ...state,\n gridLayout: {\n ...state.gridLayout,\n columnWidths: {\n ...state.gridLayout.columnWidths,\n ...newColumnWidths,\n },\n },\n }\n }\n\n if (action.type === actions.columnDoneResizing) {\n return {\n ...state,\n gridLayout: {\n ...state.gridLayout,\n startWidths: {},\n minWidths: {},\n maxWidths: {},\n },\n }\n }\n}\n\nfunction getElementWidth(columnId) {\n const width = document.getElementById(`header-cell-${columnId}`)?.offsetWidth\n\n if (width !== undefined) {\n return width\n }\n}\n","if (process.env.NODE_ENV === 'production') {\n module.exports = require('./dist/react-table.production.min.js')\n} else {\n module.exports = require('./dist/react-table.development.js')\n}\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/* global window */\nimport ponyfill from './ponyfill.js';\n\nvar root;\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = ponyfill(root);\nexport default result;\n","export default function symbolObservablePonyfill(root) {\n\tvar result;\n\tvar Symbol = root.Symbol;\n\n\tif (typeof Symbol === 'function') {\n\t\tif (Symbol.observable) {\n\t\t\tresult = Symbol.observable;\n\t\t} else {\n\t\t\tresult = Symbol('observable');\n\t\t\tSymbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};\n","/**\n * @license React\n * use-sync-external-store-with-selector.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var g=require(\"react\");function n(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var p=\"function\"===typeof Object.is?Object.is:n,q=g.useSyncExternalStore,r=g.useRef,t=g.useEffect,u=g.useMemo,v=g.useDebugValue;\nexports.useSyncExternalStoreWithSelector=function(a,b,e,l,h){var c=r(null);if(null===c.current){var f={hasValue:!1,value:null};c.current=f}else f=c.current;c=u(function(){function a(a){if(!c){c=!0;d=a;a=l(a);if(void 0!==h&&f.hasValue){var b=f.value;if(h(b,a))return k=b}return k=a}b=k;if(p(d,a))return b;var e=l(a);if(void 0!==h&&h(b,e))return b;d=a;return k=e}var c=!1,d,k,m=void 0===e?null:e;return[function(){return a(b())},null===m?void 0:function(){return a(m())}]},[b,e,l,h]);var d=q(a,c[0],c[1]);\nt(function(){f.hasValue=!0;f.value=d},[d]);v(d);return d};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/use-sync-external-store-with-selector.production.min.js');\n} else {\n module.exports = require('./cjs/use-sync-external-store-with-selector.development.js');\n}\n","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + ({\"9\":\"ui5-webcomponents-fiori-messagebundle-sl\",\"77\":\"ui5-webcomponents-cldr-sr_Latn\",\"84\":\"ui5-webcomponents-react-messagebundle-es\",\"111\":\"ui5-webcomponents-fiori-sap-fiori_3_dark-parameters-bundle\",\"131\":\"ui5-webcomponents-theming-sap-horizon_hcb_exp-parameters-bundle\",\"152\":\"ui5-webcomponents-react-messagebundle-cy\",\"186\":\"ui5-webcomponents-fiori-sap-horizon_exp-parameters-bundle\",\"190\":\"ui5-webcomponents-cldr-es_CL\",\"196\":\"ui5-webcomponents-fiori-sap-horizon_hcb-parameters-bundle\",\"197\":\"ui5-webcomponents-sap-icons-v5\",\"244\":\"ui5-webcomponents-sap-belize_hcb-parameters-bundle\",\"254\":\"ui5-webcomponents-fiori-messagebundle-zh_CN\",\"284\":\"ui5-webcomponents-react-messagebundle-th\",\"306\":\"ui5-webcomponents-messagebundle-fr\",\"329\":\"ui5-webcomponents-icons-messagebundle-fr\",\"351\":\"ui5-webcomponents-cldr-fr_CA\",\"375\":\"ui5-webcomponents-cldr-en_ZA\",\"414\":\"ui5-webcomponents-icons-messagebundle-sr\",\"456\":\"ui5-webcomponents-cldr-ar_SA\",\"528\":\"ui5-webcomponents-react-messagebundle-ca\",\"584\":\"ui5-webcomponents-icons-messagebundle-hu\",\"614\":\"ui5-webcomponents-messagebundle-pt\",\"671\":\"ui5-webcomponents-react-messagebundle-sv\",\"674\":\"ui5-webcomponents-react-messagebundle-kk\",\"687\":\"ui5-webcomponents-cldr-en_GB\",\"696\":\"ui5-webcomponents-fiori-sap-fiori_3-parameters-bundle\",\"700\":\"ui5-webcomponents-cldr-fr\",\"721\":\"ui5-webcomponents-fiori-messagebundle-hu\",\"769\":\"ui5-webcomponents-messagebundle-fi\",\"799\":\"ui5-webcomponents-messagebundle-da\",\"812\":\"ui5-webcomponents-react-messagebundle-uk\",\"830\":\"ui5-webcomponents-cldr-en_IE\",\"882\":\"ui5-webcomponents-react-messagebundle-hr\",\"893\":\"ui5-webcomponents-react-messagebundle-hu\",\"930\":\"ui5-webcomponents-theming-sap-fiori_3_dark-parameters-bundle\",\"965\":\"ui5-webcomponents-fiori-messagebundle-de\",\"1057\":\"ui5-webcomponents-fiori-sap-horizon_hcw_exp-parameters-bundle\",\"1071\":\"ui5-webcomponents-fiori-messagebundle-en_GB\",\"1078\":\"ui5-webcomponents-messagebundle-cy\",\"1111\":\"ui5-webcomponents-cldr-de_AT\",\"1134\":\"ui5-webcomponents-react-messagebundle-en_US_saptrc\",\"1136\":\"ui5-webcomponents-icons-messagebundle-ar\",\"1205\":\"ui5-webcomponents-fiori-sap-horizon_dark_exp-parameters-bundle\",\"1232\":\"ui5-webcomponents-fiori-messagebundle-pt\",\"1247\":\"ui5-webcomponents-icons-messagebundle-sk\",\"1250\":\"ui5-webcomponents-react-messagebundle-en_US_sappsd\",\"1331\":\"ui5-webcomponents-fiori-sap-horizon_hcb_exp-parameters-bundle\",\"1343\":\"ui5-webcomponents-cldr-zh_SG\",\"1345\":\"ui5-webcomponents-react-messagebundle-hi\",\"1361\":\"ui5-webcomponents-theming-sap-fiori_3_hcb-parameters-bundle\",\"1461\":\"ui5-webcomponents-icons-messagebundle-en_US_saprigi\",\"1470\":\"ui5-webcomponents-messagebundle-ca\",\"1502\":\"ui5-webcomponents-messagebundle-th\",\"1537\":\"ui5-webcomponents-messagebundle-ru\",\"1552\":\"ui5-webcomponents-fiori-messagebundle-ms\",\"1576\":\"ui5-webcomponents-theming-sap-fiori_3_hcw-parameters-bundle\",\"1584\":\"ui5-webcomponents-fiori-messagebundle-th\",\"1594\":\"ui5-webcomponents-react-messagebundle-lv\",\"1631\":\"ui5-webcomponents-fiori-messagebundle-fi\",\"1659\":\"ui5-webcomponents-react-messagebundle-sr\",\"1683\":\"ui5-webcomponents-sap-horizon_hcw_exp-parameters-bundle\",\"1706\":\"ui5-webcomponents-cldr-es_BO\",\"1707\":\"ui5-webcomponents-cldr-it_CH\",\"1711\":\"ui5-webcomponents-cldr-vi\",\"1760\":\"ui5-webcomponents-cldr-es_MX\",\"1763\":\"ui5-webcomponents-fiori-messagebundle-it\",\"1786\":\"ui5-webcomponents-icons-messagebundle-vi\",\"1787\":\"ui5-webcomponents-messagebundle-de\",\"1830\":\"ui5-webcomponents-fiori-messagebundle-lv\",\"1834\":\"ui5-webcomponents-cldr-nl\",\"1853\":\"ui5-webcomponents-icons-messagebundle-lt\",\"1861\":\"ui5-webcomponents-sap-fiori_3_hcw-parameters-bundle\",\"1885\":\"ui5-webcomponents-fiori-messagebundle-en\",\"1944\":\"ui5-webcomponents-fiori-messagebundle-mk\",\"1950\":\"ui5-webcomponents-cldr-en_SG\",\"1953\":\"ui5-webcomponents-fiori-messagebundle-da\",\"2049\":\"ui5-webcomponents-react-messagebundle-en\",\"2122\":\"ui5-webcomponents-react-messagebundle-sk\",\"2180\":\"ui5-webcomponents-cldr-lt\",\"2224\":\"ui5-webcomponents-icons-messagebundle-sl\",\"2267\":\"ui5-webcomponents-cldr-en_HK\",\"2301\":\"ui5-webcomponents-fiori-messagebundle-ro\",\"2328\":\"ui5-webcomponents-sap-horizon_exp-parameters-bundle\",\"2366\":\"ui5-webcomponents-cldr-es_AR\",\"2370\":\"ui5-webcomponents-icons-messagebundle-et\",\"2379\":\"ui5-webcomponents-react-messagebundle-fr_CA\",\"2381\":\"ui5-webcomponents-icons-messagebundle-es\",\"2417\":\"ui5-webcomponents-theming-sap-horizon_exp-parameters-bundle\",\"2423\":\"ui5-webcomponents-cldr-sr\",\"2436\":\"ui5-webcomponents-react-messagebundle-iw\",\"2452\":\"ui5-webcomponents-messagebundle-sk\",\"2484\":\"ui5-webcomponents-icons-messagebundle-in\",\"2485\":\"ui5-webcomponents-theming-sap-horizon-parameters-bundle\",\"2491\":\"ui5-webcomponents-messagebundle-in\",\"2524\":\"ui5-webcomponents-sap-horizon-parameters-bundle\",\"2617\":\"ui5-webcomponents-messagebundle-pt_PT\",\"2633\":\"ui5-webcomponents-theming-sap-belize-parameters-bundle\",\"2634\":\"ui5-webcomponents-messagebundle-lt\",\"2755\":\"ui5-webcomponents-icons-messagebundle-tr\",\"2762\":\"ui5-webcomponents-icons-messagebundle-el\",\"2765\":\"ui5-webcomponents-fiori-messagebundle-ar\",\"2787\":\"ui5-webcomponents-theming-sap-horizon_hcb-parameters-bundle\",\"2801\":\"ui5-webcomponents-messagebundle-vi\",\"2822\":\"ui5-webcomponents-icons-messagebundle-ja\",\"2829\":\"ui5-webcomponents-fiori-messagebundle-sh\",\"2868\":\"ui5-webcomponents-icons-messagebundle-cnr\",\"2878\":\"ui5-webcomponents-cldr-kk\",\"2903\":\"ui5-webcomponents-icons-messagebundle-cs\",\"2927\":\"ui5-webcomponents-cldr-en_PG\",\"2938\":\"ui5-webcomponents-cldr-es_PE\",\"2968\":\"ui5-webcomponents-icons-messagebundle-bg\",\"2985\":\"ui5-webcomponents-react-messagebundle-ro\",\"2990\":\"ui5-webcomponents-cldr-cs\",\"3012\":\"ui5-webcomponents-icons-messagebundle-hi\",\"3125\":\"ui5-webcomponents-cldr-de\",\"3127\":\"ui5-webcomponents-icons-messagebundle-es_MX\",\"3149\":\"ui5-webcomponents-fiori-messagebundle-hi\",\"3208\":\"ui5-webcomponents-fiori-messagebundle-pl\",\"3221\":\"ui5-webcomponents-messagebundle-et\",\"3260\":\"ui5-webcomponents-theming-sap-horizon_dark_exp-parameters-bundle\",\"3272\":\"ui5-webcomponents-messagebundle-zh_TW\",\"3370\":\"ui5-webcomponents-theming-sap-horizon_hcw-parameters-bundle\",\"3413\":\"ui5-webcomponents-react-messagebundle-in\",\"3414\":\"ui5-webcomponents-fiori-messagebundle-sk\",\"3429\":\"ui5-webcomponents-messagebundle-sr\",\"3466\":\"ui5-webcomponents-react-messagebundle-en_US_saprigi\",\"3525\":\"ui5-webcomponents-fiori-messagebundle-bg\",\"3669\":\"ui5-webcomponents-icons-messagebundle-ms\",\"3698\":\"ui5-webcomponents-cldr-zh_TW\",\"3712\":\"ui5-webcomponents-cldr-ms\",\"3744\":\"ui5-webcomponents-cldr-uk\",\"3748\":\"ui5-webcomponents-icons-messagebundle-no\",\"3757\":\"ui5-webcomponents-messagebundle-el\",\"3772\":\"ui5-webcomponents-fiori-messagebundle-ca\",\"3795\":\"ui5-webcomponents-fiori-messagebundle-sv\",\"3865\":\"ui5-webcomponents-react-messagebundle-de\",\"3866\":\"ui5-webcomponents-cldr-ko\",\"3886\":\"ui5-webcomponents-messagebundle-pl\",\"3990\":\"ui5-webcomponents-cldr-lv\",\"4045\":\"ui5-webcomponents-cldr-en\",\"4082\":\"ui5-webcomponents-fiori-messagebundle-zh_TW\",\"4113\":\"ui5-webcomponents-cldr-da\",\"4126\":\"ui5-webcomponents-fiori-messagebundle-hr\",\"4134\":\"ui5-webcomponents-cldr-nl_BE\",\"4136\":\"ui5-webcomponents-icons-messagebundle-pt_PT\",\"4148\":\"ui5-webcomponents-icons-messagebundle-fr_CA\",\"4284\":\"ui5-webcomponents-react-messagebundle-pt\",\"4294\":\"ui5-webcomponents-cldr-en_AU\",\"4315\":\"ui5-webcomponents-cldr-ja\",\"4383\":\"ui5-webcomponents-fiori-messagebundle-fr_CA\",\"4417\":\"ui5-webcomponents-messagebundle-sv\",\"4586\":\"ui5-webcomponents-sap-horizon_hcb-parameters-bundle\",\"4775\":\"ui5-webcomponents-cldr-ru\",\"4871\":\"ui5-webcomponents-icons-messagebundle-kk\",\"4883\":\"ui5-webcomponents-sap-horizon_hcw-parameters-bundle\",\"4892\":\"ui5-webcomponents-fiori-messagebundle-fr\",\"4894\":\"ui5-webcomponents-fiori-messagebundle-en_US_saprigi\",\"4913\":\"ui5-webcomponents-messagebundle-it\",\"4969\":\"ui5-webcomponents-icons-messagebundle-pt\",\"4986\":\"ui5-webcomponents-cldr-tr\",\"5044\":\"ui5-webcomponents-icons-messagebundle-sh\",\"5097\":\"ui5-webcomponents-fiori-messagebundle-in\",\"5131\":\"ui5-webcomponents-icons-messagebundle-en_US_saptrc\",\"5146\":\"ui5-webcomponents-sap-fiori_3-parameters-bundle\",\"5225\":\"ui5-webcomponents-sap-fiori_3_dark-parameters-bundle\",\"5247\":\"ui5-webcomponents-icons-messagebundle-lv\",\"5276\":\"ui5-webcomponents-cldr-es_VE\",\"5279\":\"ui5-webcomponents-fiori-messagebundle-el\",\"5280\":\"ui5-webcomponents-icons-messagebundle-ro\",\"5281\":\"ui5-webcomponents-fiori-messagebundle-no\",\"5309\":\"ui5-webcomponents-cldr-hi\",\"5313\":\"ui5-webcomponents-react-messagebundle-bg\",\"5327\":\"ui5-webcomponents-react-messagebundle-pt_PT\",\"5368\":\"ui5-webcomponents-cldr-pl\",\"5443\":\"ui5-webcomponents-react-messagebundle-el\",\"5445\":\"ui5-webcomponents-react-messagebundle-no\",\"5467\":\"ui5-webcomponents-messagebundle-ro\",\"5510\":\"ui5-webcomponents-react-messagebundle-tr\",\"5560\":\"ui5-webcomponents-fiori-messagebundle-iw\",\"5601\":\"ui5-webcomponents-cldr-de_CH\",\"5604\":\"ui5-webcomponents-fiori-messagebundle-cy\",\"5620\":\"ui5-webcomponents-cldr-nb\",\"5623\":\"ui5-webcomponents-cldr-fa\",\"5633\":\"ui5-webcomponents-cldr-es_UY\",\"5670\":\"ui5-webcomponents-fiori-sap-belize_hcb-parameters-bundle\",\"5671\":\"ui5-webcomponents-fiori-messagebundle-et\",\"5685\":\"ui5-webcomponents-cldr-bg\",\"5696\":\"ui5-webcomponents-theming-sap-horizon_dark-parameters-bundle\",\"5699\":\"ui5-webcomponents-icons-messagebundle-ko\",\"5708\":\"ui5-webcomponents-messagebundle-cs\",\"5729\":\"ui5-webcomponents-messagebundle-en_GB\",\"5754\":\"ui5-webcomponents-icons-messagebundle-ru\",\"5787\":\"ui5-webcomponents-messagebundle-hi\",\"5792\":\"ui5-webcomponents-fiori-messagebundle-es_MX\",\"5804\":\"ui5-webcomponents-sap-icons-v4\",\"5812\":\"ui5-webcomponents-icons-messagebundle-en_GB\",\"5817\":\"ui5-webcomponents-cldr-sl\",\"5840\":\"ui5-webcomponents-cldr-en_NZ\",\"5845\":\"ui5-webcomponents-icons-messagebundle-ca\",\"5887\":\"ui5-webcomponents-messagebundle-no\",\"5932\":\"ui5-webcomponents-cldr-ca\",\"5973\":\"ui5-webcomponents-sap-belize_hcw-parameters-bundle\",\"5976\":\"ui5-webcomponents-react-messagebundle-lt\",\"6036\":\"ui5-webcomponents-messagebundle-nl\",\"6089\":\"ui5-webcomponents-icons-messagebundle-th\",\"6103\":\"ui5-webcomponents-fiori-sap-belize_hcw-parameters-bundle\",\"6109\":\"ui5-webcomponents-messagebundle-ja\",\"6116\":\"ui5-webcomponents-react-messagebundle-pl\",\"6131\":\"ui5-webcomponents-cldr-id\",\"6132\":\"ui5-webcomponents-messagebundle-tr\",\"6222\":\"ui5-webcomponents-cldr-zh_CN\",\"6284\":\"ui5-webcomponents-react-messagebundle-ms\",\"6341\":\"ui5-webcomponents-icons-messagebundle-iw\",\"6363\":\"ui5-webcomponents-react-messagebundle-fi\",\"6372\":\"ui5-webcomponents-fiori-messagebundle-lt\",\"6529\":\"ui5-webcomponents-cldr-hu\",\"6598\":\"ui5-webcomponents-react-messagebundle-zh_TW\",\"6615\":\"ui5-webcomponents-fiori-messagebundle-sr\",\"6639\":\"ui5-webcomponents-theming-sap-belize_hcb-parameters-bundle\",\"6648\":\"ui5-webcomponents-fiori-messagebundle-es\",\"6684\":\"ui5-webcomponents-icons-messagebundle-de\",\"6685\":\"ui5-webcomponents-react-messagebundle-da\",\"6691\":\"ui5-webcomponents-messagebundle-bg\",\"6771\":\"ui5-webcomponents-react-messagebundle-ru\",\"6775\":\"ui5-webcomponents-messagebundle-hu\",\"6794\":\"ui5-webcomponents-cldr-zh_HK\",\"6820\":\"ui5-webcomponents-react-messagebundle-mk\",\"6921\":\"ui5-webcomponents-messagebundle-cnr\",\"6963\":\"ui5-webcomponents-icons-messagebundle-en_US_sappsd\",\"7003\":\"ui5-webcomponents-sap-horizon_dark-parameters-bundle\",\"7010\":\"ui5-webcomponents-messagebundle-ms\",\"7016\":\"ui5-webcomponents-messagebundle-lv\",\"7018\":\"ui5-webcomponents-messagebundle-es\",\"7040\":\"ui5-webcomponents-cldr-pt\",\"7056\":\"ui5-webcomponents-fiori-sap-belize-parameters-bundle\",\"7070\":\"ui5-webcomponents-fiori-messagebundle-kk\",\"7085\":\"ui5-webcomponents-icons-messagebundle-mk\",\"7144\":\"ui5-webcomponents-icons-messagebundle-en\",\"7151\":\"ui5-webcomponents-messagebundle-en\",\"7198\":\"ui5-webcomponents-cldr-el_CY\",\"7221\":\"ui5-webcomponents-messagebundle-uk\",\"7275\":\"ui5-webcomponents-react-messagebundle-et\",\"7352\":\"ui5-webcomponents-cldr-ru_UA\",\"7368\":\"ui5-webcomponents-cldr-ar_EG\",\"7374\":\"ui5-webcomponents-fiori-messagebundle-en_US_sappsd\",\"7381\":\"ui5-webcomponents-cldr-es_CO\",\"7392\":\"ui5-webcomponents-cldr-th\",\"7403\":\"ui5-webcomponents-cldr-pt_PT\",\"7412\":\"ui5-webcomponents-react-messagebundle-es_MX\",\"7439\":\"ui5-webcomponents-cldr-el\",\"7466\":\"ui5-webcomponents-theming-sap-horizon_hcw_exp-parameters-bundle\",\"7498\":\"ui5-webcomponents-fiori-sap-horizon-parameters-bundle\",\"7571\":\"ui5-webcomponents-cldr-it\",\"7586\":\"ui5-webcomponents-react-messagebundle-cs\",\"7672\":\"ui5-webcomponents-icons-messagebundle-da\",\"7676\":\"ui5-webcomponents-messagebundle-kk\",\"7677\":\"ui5-webcomponents-icons-messagebundle-cy\",\"7688\":\"ui5-webcomponents-messagebundle-zh_CN\",\"7727\":\"ui5-webcomponents-react-messagebundle-ja\",\"7729\":\"ui5-webcomponents-react-messagebundle-sh\",\"7752\":\"ui5-webcomponents-messagebundle-hr\",\"7787\":\"ui5-webcomponents-fiori-messagebundle-pt_PT\",\"7831\":\"ui5-webcomponents-cldr-et\",\"7932\":\"ui5-webcomponents-cldr-fr_BE\",\"7936\":\"ui5-webcomponents-fiori-messagebundle-uk\",\"7963\":\"ui5-webcomponents-react-messagebundle-en_GB\",\"7969\":\"ui5-webcomponents-cldr-he\",\"7970\":\"ui5-webcomponents-cldr-fr_LU\",\"7994\":\"ui5-webcomponents-icons-messagebundle-fi\",\"8010\":\"ui5-webcomponents-react-messagebundle-zh_CN\",\"8058\":\"ui5-webcomponents-fiori-messagebundle-ko\",\"8109\":\"ui5-webcomponents-cldr-ro\",\"8186\":\"ui5-webcomponents-sap-belize-parameters-bundle\",\"8207\":\"ui5-webcomponents-fiori-sap-fiori_3_hcw-parameters-bundle\",\"8241\":\"ui5-webcomponents-icons-messagebundle-pl\",\"8318\":\"ui5-webcomponents-theming-sap-belize_hcw-parameters-bundle\",\"8325\":\"ui5-webcomponents-react-messagebundle-sl\",\"8328\":\"ui5-webcomponents-react-messagebundle-fr\",\"8395\":\"ui5-webcomponents-react-messagebundle-vi\",\"8449\":\"ui5-webcomponents-fiori-messagebundle-cs\",\"8484\":\"ui5-webcomponents-messagebundle-en_US_saptrc\",\"8487\":\"ui5-webcomponents-theming-sap-fiori_3-parameters-bundle\",\"8507\":\"ui5-webcomponents-fiori-messagebundle-ja\",\"8517\":\"ui5-webcomponents-icons-messagebundle-uk\",\"8521\":\"ui5-webcomponents-fiori-sap-horizon_dark-parameters-bundle\",\"8573\":\"ui5-webcomponents-cldr-ar\",\"8639\":\"ui5-webcomponents-react-messagebundle-it\",\"8655\":\"ui5-webcomponents-messagebundle-sh\",\"8664\":\"ui5-webcomponents-messagebundle-ko\",\"8808\":\"ui5-webcomponents-cldr-es\",\"8837\":\"ui5-webcomponents-fiori-sap-horizon_hcw-parameters-bundle\",\"8929\":\"ui5-webcomponents-messagebundle-fr_CA\",\"8967\":\"ui5-webcomponents-fiori-messagebundle-ru\",\"8986\":\"ui5-webcomponents-messagebundle-mk\",\"9105\":\"ui5-webcomponents-react-messagebundle-ar\",\"9127\":\"ui5-webcomponents-react-messagebundle-cnr\",\"9145\":\"ui5-webcomponents-icons-messagebundle-zh_CN\",\"9150\":\"ui5-webcomponents-icons-messagebundle-it\",\"9178\":\"ui5-webcomponents-fiori-messagebundle-tr\",\"9219\":\"ui5-webcomponents-fiori-messagebundle-cnr\",\"9222\":\"ui5-webcomponents-cldr-sk\",\"9306\":\"ui5-webcomponents-messagebundle-iw\",\"9327\":\"ui5-webcomponents-messagebundle-ar\",\"9374\":\"ui5-webcomponents-cldr-fr_CH\",\"9388\":\"ui5-webcomponents-messagebundle-en_US_saprigi\",\"9403\":\"ui5-webcomponents-sap-horizon_dark_exp-parameters-bundle\",\"9508\":\"ui5-webcomponents-messagebundle-en_US_sappsd\",\"9551\":\"ui5-webcomponents-fiori-messagebundle-vi\",\"9602\":\"ui5-webcomponents-messagebundle-es_MX\",\"9603\":\"ui5-webcomponents-cldr-sv\",\"9604\":\"ui5-webcomponents-sap-fiori_3_hcb-parameters-bundle\",\"9607\":\"ui5-webcomponents-icons-messagebundle-hr\",\"9643\":\"ui5-webcomponents-messagebundle-sl\",\"9674\":\"ui5-webcomponents-fiori-messagebundle-nl\",\"9686\":\"ui5-webcomponents-react-messagebundle-ko\",\"9818\":\"ui5-webcomponents-icons-messagebundle-sv\",\"9820\":\"ui5-webcomponents-cldr-fi\",\"9838\":\"ui5-webcomponents-react-messagebundle-nl\",\"9849\":\"ui5-webcomponents-icons-messagebundle-zh_TW\",\"9886\":\"ui5-webcomponents-fiori-sap-fiori_3_hcb-parameters-bundle\",\"9914\":\"ui5-webcomponents-fiori-messagebundle-en_US_saptrc\",\"9934\":\"ui5-webcomponents-cldr-hr\",\"9946\":\"ui5-webcomponents-sap-horizon_hcb_exp-parameters-bundle\",\"9951\":\"ui5-webcomponents-icons-messagebundle-nl\",\"9997\":\"ui5-webcomponents-cldr-en_IN\"}[chunkId] || chunkId) + \".\" + {\"9\":\"5472f15f\",\"77\":\"500f06be\",\"84\":\"faf30592\",\"111\":\"1f3d19b2\",\"131\":\"48de25e0\",\"152\":\"f2a5c35c\",\"186\":\"75262ca0\",\"190\":\"62c815db\",\"196\":\"76c7dae2\",\"197\":\"833cb268\",\"244\":\"8022c84f\",\"254\":\"e7fe772b\",\"284\":\"be1a2daa\",\"306\":\"ed0325f6\",\"329\":\"dbf0641c\",\"351\":\"f690ac16\",\"375\":\"7cd3f2a4\",\"414\":\"bb7128b6\",\"456\":\"8532ec4d\",\"528\":\"3af19761\",\"584\":\"09ec9945\",\"614\":\"272ac90d\",\"671\":\"e5b89020\",\"674\":\"a0b10e31\",\"687\":\"09b47000\",\"696\":\"507fb661\",\"700\":\"c8f66514\",\"721\":\"f23199e2\",\"769\":\"487bb711\",\"799\":\"2b99f10b\",\"812\":\"fae5b957\",\"830\":\"498a2438\",\"882\":\"e4726783\",\"893\":\"8e25d421\",\"930\":\"8856d70b\",\"965\":\"ae95fe78\",\"1057\":\"e5034f0c\",\"1071\":\"1806735b\",\"1078\":\"c2e02b50\",\"1111\":\"2b16cfdc\",\"1134\":\"2dc0b597\",\"1136\":\"da8730a9\",\"1205\":\"967f972a\",\"1232\":\"397c5461\",\"1247\":\"7171995e\",\"1250\":\"f7fde4aa\",\"1331\":\"253e7e35\",\"1343\":\"dfef6bca\",\"1345\":\"902514dd\",\"1361\":\"e2fcb013\",\"1461\":\"94d7401c\",\"1470\":\"676d7ad4\",\"1502\":\"38be41cc\",\"1537\":\"e712013c\",\"1552\":\"30c649c7\",\"1576\":\"cbb64ac2\",\"1584\":\"88cb5870\",\"1594\":\"98deccfe\",\"1631\":\"8350f8c2\",\"1659\":\"4ca29f39\",\"1683\":\"379f3d30\",\"1706\":\"c10ca113\",\"1707\":\"1e86c16c\",\"1711\":\"4ce16d27\",\"1760\":\"100e997f\",\"1763\":\"36554fe4\",\"1786\":\"f0e6f9f9\",\"1787\":\"d690ee3b\",\"1830\":\"51594e58\",\"1834\":\"398a40da\",\"1853\":\"7438643b\",\"1861\":\"752703e5\",\"1885\":\"c2307fbe\",\"1944\":\"04751b20\",\"1950\":\"933b4d59\",\"1953\":\"43601ee8\",\"2049\":\"705c48a3\",\"2122\":\"bfbb264d\",\"2180\":\"6c3bec5a\",\"2224\":\"db786b16\",\"2267\":\"176144e7\",\"2301\":\"6ee86954\",\"2328\":\"4f8a0f8d\",\"2366\":\"6e5619ef\",\"2370\":\"6957d1d0\",\"2379\":\"ae1d201d\",\"2381\":\"f9eea468\",\"2417\":\"c52391e3\",\"2423\":\"1ab21d03\",\"2436\":\"449613fa\",\"2452\":\"0d51f5e6\",\"2484\":\"18b5d670\",\"2485\":\"ce54b189\",\"2491\":\"4a649cb4\",\"2524\":\"cfef5618\",\"2617\":\"00510ff5\",\"2633\":\"c67bc024\",\"2634\":\"3c381c51\",\"2755\":\"0d3cc842\",\"2762\":\"b99423c0\",\"2765\":\"741b1673\",\"2787\":\"84c3e70c\",\"2801\":\"8c0bc05c\",\"2822\":\"8a72d1b1\",\"2829\":\"9e8b1e39\",\"2868\":\"6506d3bf\",\"2878\":\"b9dac367\",\"2903\":\"83086939\",\"2927\":\"ef80e5eb\",\"2938\":\"890eee1b\",\"2968\":\"2c533933\",\"2985\":\"71f0a147\",\"2990\":\"1244c971\",\"3012\":\"f29e08bb\",\"3125\":\"29aa9362\",\"3127\":\"41cc48a2\",\"3149\":\"f04dc252\",\"3208\":\"dbb63162\",\"3221\":\"1ba194e6\",\"3260\":\"635b0ad1\",\"3272\":\"2bfceb8a\",\"3370\":\"cc82a27a\",\"3413\":\"a57a5711\",\"3414\":\"cc31b481\",\"3429\":\"db54e1c1\",\"3466\":\"9119698e\",\"3525\":\"2b3c7711\",\"3669\":\"b5ae1e8c\",\"3698\":\"81f31a27\",\"3712\":\"2fa82248\",\"3744\":\"d78514e0\",\"3748\":\"3885a2f9\",\"3757\":\"6d11bb65\",\"3772\":\"72bc8669\",\"3795\":\"bf7fd49c\",\"3865\":\"38a6ac7a\",\"3866\":\"aceb6074\",\"3886\":\"93897ec8\",\"3990\":\"1ddfaac9\",\"4045\":\"7786da4a\",\"4082\":\"3d80aad7\",\"4113\":\"d8761887\",\"4126\":\"ee55c1dd\",\"4134\":\"2ca36e46\",\"4136\":\"9a044e4a\",\"4148\":\"acedc1f4\",\"4284\":\"95bdc23b\",\"4294\":\"0b06ed06\",\"4315\":\"8ef4f82a\",\"4383\":\"e76c0acb\",\"4417\":\"d3425061\",\"4586\":\"5b8133d8\",\"4775\":\"eda65c66\",\"4871\":\"55fd5930\",\"4883\":\"b0e41ae2\",\"4892\":\"8c8eab90\",\"4894\":\"89396119\",\"4913\":\"02322f5d\",\"4969\":\"dd724709\",\"4986\":\"c188d6c1\",\"5044\":\"31e1649b\",\"5097\":\"3e404525\",\"5131\":\"06c72ab4\",\"5146\":\"b54de54b\",\"5225\":\"b31d26b7\",\"5247\":\"0a5d44a3\",\"5276\":\"603cf8e0\",\"5279\":\"414db144\",\"5280\":\"bb5069a5\",\"5281\":\"cd289a79\",\"5309\":\"b163c541\",\"5313\":\"3de31b23\",\"5327\":\"ca85328d\",\"5368\":\"30df46e5\",\"5443\":\"c3aa960f\",\"5445\":\"11ec2641\",\"5467\":\"e3719ab9\",\"5510\":\"54d57ffe\",\"5560\":\"2139f978\",\"5601\":\"018f6e25\",\"5604\":\"2209540e\",\"5620\":\"0c6029f3\",\"5623\":\"bbfaa44a\",\"5633\":\"cbb3ae67\",\"5670\":\"09f1a1df\",\"5671\":\"4f6732a6\",\"5685\":\"6020e060\",\"5696\":\"de0635d9\",\"5699\":\"62b8255b\",\"5708\":\"72ec1e48\",\"5729\":\"02c39771\",\"5754\":\"cc3335ba\",\"5787\":\"65e9d8b4\",\"5792\":\"cc37dac7\",\"5804\":\"d3c1dd9a\",\"5812\":\"2b69ffcf\",\"5817\":\"29bef283\",\"5840\":\"34e05196\",\"5845\":\"2ed901cb\",\"5887\":\"f0c50ba3\",\"5932\":\"313c974e\",\"5973\":\"ee1692c4\",\"5976\":\"22580ed6\",\"6036\":\"c4a78e57\",\"6089\":\"4e5f0ff5\",\"6103\":\"d01186fc\",\"6109\":\"3a38858b\",\"6116\":\"da53dbbd\",\"6131\":\"a85dfbbc\",\"6132\":\"18643e8a\",\"6222\":\"f46fa181\",\"6284\":\"5a4fc456\",\"6341\":\"d07768a0\",\"6363\":\"2f155fb6\",\"6372\":\"00499d92\",\"6453\":\"1cee94a1\",\"6529\":\"4e8affba\",\"6598\":\"4f52269b\",\"6615\":\"854672e5\",\"6639\":\"391e0457\",\"6648\":\"cf3baa03\",\"6684\":\"e86b2cd9\",\"6685\":\"85bf4d14\",\"6691\":\"23617133\",\"6771\":\"c373440d\",\"6775\":\"6f226e95\",\"6794\":\"e1ef250f\",\"6820\":\"b478c74b\",\"6921\":\"f2d943a9\",\"6963\":\"08e93920\",\"7003\":\"fb33395e\",\"7010\":\"6b40a8d1\",\"7016\":\"084c774e\",\"7018\":\"c3925570\",\"7040\":\"3391e1b0\",\"7056\":\"d018ecc8\",\"7070\":\"008ed4f7\",\"7085\":\"a13b00b5\",\"7144\":\"88e8feb0\",\"7151\":\"69f86685\",\"7198\":\"b74d0b13\",\"7221\":\"b596f9c3\",\"7275\":\"e1ccd0e6\",\"7352\":\"a30cb0db\",\"7368\":\"04c0026c\",\"7374\":\"7270e118\",\"7381\":\"3ba89f6b\",\"7392\":\"143bc0dd\",\"7403\":\"b6b2a5ca\",\"7412\":\"8f070a2b\",\"7439\":\"80343074\",\"7466\":\"1e2a1c03\",\"7498\":\"32a32d5a\",\"7571\":\"fe9bf6f2\",\"7586\":\"6b17ed0b\",\"7672\":\"1355311b\",\"7676\":\"e12db3ec\",\"7677\":\"26a72fb2\",\"7688\":\"5af5e34c\",\"7727\":\"aa876fc0\",\"7729\":\"adb4936e\",\"7752\":\"1183410c\",\"7787\":\"724e58c9\",\"7831\":\"6da9a114\",\"7932\":\"2f168a31\",\"7936\":\"8f166e40\",\"7963\":\"c8def145\",\"7969\":\"96fefd55\",\"7970\":\"b99a137b\",\"7994\":\"51fbea64\",\"8010\":\"c7488d11\",\"8058\":\"37ac0b6c\",\"8109\":\"8d7abc52\",\"8186\":\"631df14f\",\"8207\":\"89919cac\",\"8241\":\"54546f0b\",\"8318\":\"8a971b01\",\"8325\":\"a20350b7\",\"8328\":\"62f7e69f\",\"8395\":\"905c01ec\",\"8449\":\"498f18ad\",\"8484\":\"79973d5f\",\"8487\":\"8ce5b8c5\",\"8507\":\"7024e4ee\",\"8517\":\"b54aff0b\",\"8521\":\"eb9f527c\",\"8573\":\"b60bedf6\",\"8639\":\"21dc845f\",\"8655\":\"35d6b6e4\",\"8664\":\"2ba70c7b\",\"8808\":\"58a4886a\",\"8837\":\"5bc4380d\",\"8929\":\"2da579c9\",\"8967\":\"7350e817\",\"8986\":\"f16091f2\",\"9105\":\"cde2d5ab\",\"9127\":\"eb48179b\",\"9145\":\"416c8844\",\"9150\":\"4a05452f\",\"9178\":\"975a632d\",\"9219\":\"3de9691d\",\"9222\":\"c11c7416\",\"9306\":\"89c1fe4c\",\"9327\":\"cc24e8ec\",\"9374\":\"f1093b38\",\"9388\":\"ddeafccb\",\"9403\":\"70b0e7ea\",\"9508\":\"85c0fed1\",\"9551\":\"3ce198fd\",\"9602\":\"e5dcdfaf\",\"9603\":\"5489c168\",\"9604\":\"05346128\",\"9607\":\"7e18d24a\",\"9643\":\"6164d7b9\",\"9674\":\"8bc6598e\",\"9686\":\"325363c3\",\"9818\":\"f47ad68f\",\"9820\":\"ee2c8957\",\"9838\":\"dc3de593\",\"9849\":\"ef9039a2\",\"9886\":\"8c5b6310\",\"9914\":\"b297cc58\",\"9934\":\"40a98a48\",\"9946\":\"392f93dc\",\"9951\":\"5bf598e6\",\"9997\":\"06afe912\"}[chunkId] + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.hmd = (module) => {\n\tmodule = Object.create(module);\n\tif (!module.children) module.children = [];\n\tObject.defineProperty(module, 'exports', {\n\t\tenumerable: true,\n\t\tset: () => {\n\t\t\tthrow new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);\n\t\t}\n\t});\n\treturn module;\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"dimria-fe:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t8792: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkdimria_fe\"] = self[\"webpackChunkdimria_fe\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","var class2type = {};\nvar hasOwn = class2type.hasOwnProperty;\nvar toString = class2type.toString;\nvar fnToString = hasOwn.toString;\nvar ObjectFunctionString = fnToString.call(Object);\nvar fnIsPlainObject = function (obj: object) {\n var proto, Ctor;\n if (!obj || toString.call(obj) !== \"[object Object]\") {\n return false;\n }\n proto = Object.getPrototypeOf(obj);\n if (!proto) {\n return true;\n }\n Ctor = hasOwn.call(proto, \"constructor\") && proto.constructor;\n return typeof Ctor === \"function\" && fnToString.call(Ctor) === ObjectFunctionString;\n};\nexport default fnIsPlainObject;\n","import isPlainObject from './isPlainObject.js';\nvar oToken = Object.create(null);\nvar fnMerge = function (arg1?: any, arg2?: any, arg3?: any, arg4?: any) {\n var src, copyIsArray, copy, name, options, clone, target = arguments[2] || {}, i = 3, length = arguments.length, deep = arguments[0] || false, skipToken = arguments[1] ? undefined : oToken;\n if (typeof target !== 'object' && typeof target !== 'function') {\n target = {};\n }\n for (; i < length; i++) {\n if ((options = arguments[i]) != null) {\n for (name in options) {\n src = target[name];\n copy = options[name];\n if (name === '__proto__' || target === copy) {\n continue;\n }\n if (deep && copy && (isPlainObject(copy) || (copyIsArray = Array.isArray(copy)))) {\n if (copyIsArray) {\n copyIsArray = false;\n clone = src && Array.isArray(src) ? src : [];\n } else {\n clone = src && isPlainObject(src) ? src : {};\n }\n target[name] = fnMerge(deep, arguments[1], clone, copy);\n } else if (copy !== skipToken) {\n target[name] = copy;\n }\n }\n }\n }\n return target;\n};\nexport default fnMerge;\n","import _merge from './_merge.js';\nconst fnMerge = function (arg1?: any, arg2?: any) {\n return _merge(true, false, ...arguments);\n};\nexport default fnMerge;\n","const features = new Map();\n\nconst registerFeature = (name: string, feature: object) => {\n\tfeatures.set(name, feature);\n};\n\nconst getFeature = (name: string): T => {\n\treturn features.get(name) as T;\n};\n\nexport {\n\tregisterFeature,\n\tgetFeature,\n};\n","const assetParameters = {\"themes\":{\"default\":\"sap_horizon\",\"all\":[\"sap_fiori_3\",\"sap_fiori_3_dark\",\"sap_belize\",\"sap_belize_hcb\",\"sap_belize_hcw\",\"sap_fiori_3_hcb\",\"sap_fiori_3_hcw\",\"sap_horizon\",\"sap_horizon_dark\",\"sap_horizon_hcb\",\"sap_horizon_hcw\",\"sap_horizon_exp\",\"sap_horizon_dark_exp\",\"sap_horizon_hcb_exp\",\"sap_horizon_hcw_exp\"]},\"languages\":{\"default\":\"en\",\"all\":[\"ar\",\"bg\",\"ca\",\"cnr\",\"cs\",\"cy\",\"da\",\"de\",\"el\",\"en\",\"en_GB\",\"en_US_sappsd\",\"en_US_saprigi\",\"en_US_saptrc\",\"es\",\"es_MX\",\"et\",\"fi\",\"fr\",\"fr_CA\",\"hi\",\"hr\",\"hu\",\"in\",\"it\",\"iw\",\"ja\",\"kk\",\"ko\",\"lt\",\"lv\",\"mk\",\"ms\",\"nl\",\"no\",\"pl\",\"pt_PT\",\"pt\",\"ro\",\"ru\",\"sh\",\"sk\",\"sl\",\"sr\",\"sv\",\"th\",\"tr\",\"uk\",\"vi\",\"zh_CN\",\"zh_TW\"]},\"locales\":{\"default\":\"en\",\"all\":[\"ar\",\"ar_EG\",\"ar_SA\",\"bg\",\"ca\",\"cs\",\"da\",\"de\",\"de_AT\",\"de_CH\",\"el\",\"el_CY\",\"en\",\"en_AU\",\"en_GB\",\"en_HK\",\"en_IE\",\"en_IN\",\"en_NZ\",\"en_PG\",\"en_SG\",\"en_ZA\",\"es\",\"es_AR\",\"es_BO\",\"es_CL\",\"es_CO\",\"es_MX\",\"es_PE\",\"es_UY\",\"es_VE\",\"et\",\"fa\",\"fi\",\"fr\",\"fr_BE\",\"fr_CA\",\"fr_CH\",\"fr_LU\",\"he\",\"hi\",\"hr\",\"hu\",\"id\",\"it\",\"it_CH\",\"ja\",\"kk\",\"ko\",\"lt\",\"lv\",\"ms\",\"nb\",\"nl\",\"nl_BE\",\"pl\",\"pt\",\"pt_PT\",\"ro\",\"ru\",\"ru_UA\",\"sk\",\"sl\",\"sr\",\"sr_Latn\",\"sv\",\"th\",\"tr\",\"uk\",\"vi\",\"zh_CN\",\"zh_HK\",\"zh_SG\",\"zh_TW\"]}};\n\nconst DEFAULT_THEME = assetParameters.themes.default;\nconst SUPPORTED_THEMES = assetParameters.themes.all;\nconst DEFAULT_LANGUAGE = assetParameters.languages.default;\nconst DEFAULT_LOCALE = assetParameters.locales.default;\nconst SUPPORTED_LOCALES = assetParameters.locales.all;\n\nexport {\n\tDEFAULT_THEME,\n\tSUPPORTED_THEMES,\n\tDEFAULT_LANGUAGE,\n\tDEFAULT_LOCALE,\n\tSUPPORTED_LOCALES,\n};","const getMetaTagValue = (metaTagName: string) => {\n\tconst metaTag = document.querySelector(`META[name=\"${metaTagName}\"]`),\n\t\tmetaTagContent = metaTag && metaTag.getAttribute(\"content\");\n\n\treturn metaTagContent;\n};\n\nconst validateThemeOrigin = (origin: string) => {\n\tconst allowedOrigins = getMetaTagValue(\"sap-allowedThemeOrigins\");\n\n\treturn allowedOrigins && allowedOrigins.split(\",\").some(allowedOrigin => {\n\t\treturn allowedOrigin === \"*\" || origin === allowedOrigin.trim();\n\t});\n};\n\nconst buildCorrectUrl = (oldUrl: string, newOrigin: string) => {\n\tconst oldUrlPath = new URL(oldUrl).pathname;\n\n\treturn new URL(oldUrlPath, newOrigin).toString();\n};\n\nconst validateThemeRoot = (themeRoot: string) => {\n\tlet resultUrl;\n\n\ttry {\n\t\tif (themeRoot.startsWith(\".\") || themeRoot.startsWith(\"/\")) {\n\t\t\t// Handle relative url\n\t\t\t// new URL(\"/newExmPath\", \"http://example.com/exmPath\") => http://example.com/newExmPath\n\t\t\t// new URL(\"./newExmPath\", \"http://example.com/exmPath\") => http://example.com/exmPath/newExmPath\n\t\t\t// new URL(\"../newExmPath\", \"http://example.com/exmPath\") => http://example.com/newExmPath\n\t\t\tresultUrl = new URL(themeRoot, window.location.href).toString();\n\t\t} else {\n\t\t\tconst themeRootURL = new URL(themeRoot);\n\t\t\tconst origin = themeRootURL.origin;\n\n\t\t\tif (origin && validateThemeOrigin(origin)) {\n\t\t\t\t// If origin is allowed, use it\n\t\t\t\tresultUrl = themeRootURL.toString();\n\t\t\t} else {\n\t\t\t\t// If origin is not allow and the URL is not relative, we have to replace the origin\n\t\t\t\t// with current location\n\t\t\t\tresultUrl = buildCorrectUrl(themeRootURL.toString(), window.location.href);\n\t\t\t}\n\t\t}\n\n\t\tif (!resultUrl.endsWith(\"/\")) {\n\t\t\tresultUrl = `${resultUrl}/`;\n\t\t}\n\n\t\treturn `${resultUrl}UI5/`;\n\t} catch (e) {\n\t\t// Catch if URL is not correct\n\t}\n};\n\nexport default validateThemeRoot;\n","/**\n * Different types of AnimationMode.\n *\n * @public\n */\nenum AnimationMode {\n\t/**\n\t * @public\n\t */\n\tFull = \"full\",\n\t/**\n\t * @public\n\t */\n\tBasic = \"basic\",\n\t/**\n\t * @public\n\t */\n\tMinimal = \"minimal\",\n\t/**\n\t * @public\n\t */\n\tNone = \"none\",\n}\n\nexport default AnimationMode;\n","import merge from \"./thirdparty/merge.js\";\nimport { getFeature } from \"./FeaturesRegistry.js\";\nimport { DEFAULT_THEME } from \"./generated/AssetParameters.js\";\nimport validateThemeRoot from \"./validateThemeRoot.js\";\nimport type OpenUI5Support from \"./features/OpenUI5Support.js\";\nimport type { FormatSettings } from \"./config/FormatSettings.js\";\nimport AnimationMode from \"./types/AnimationMode.js\";\nimport CalendarType from \"./types/CalendarType.js\";\n\nlet initialized = false;\n\ntype InitialConfig = {\n\t[key: string]: any,\n\tanimationMode: AnimationMode,\n\ttheme: string,\n\tthemeRoot: string | undefined,\n\trtl: boolean | undefined,\n\tlanguage: string | undefined,\n\tcalendarType: CalendarType | undefined,\n\tsecondaryCalendarType: CalendarType | undefined,\n\ttimezone: string | undefined,\n\tnoConflict: boolean,\n\tformatSettings: FormatSettings,\n\tfetchDefaultLanguage: boolean,\n};\n\nlet initialConfig: InitialConfig = {\n\tanimationMode: AnimationMode.Full,\n\ttheme: DEFAULT_THEME,\n\tthemeRoot: undefined,\n\trtl: undefined,\n\tlanguage: undefined,\n\ttimezone: undefined,\n\tcalendarType: undefined,\n\tsecondaryCalendarType: undefined,\n\tnoConflict: false, // no URL\n\tformatSettings: {},\n\tfetchDefaultLanguage: false,\n};\n\n/* General settings */\nconst getAnimationMode = () => {\n\tinitConfiguration();\n\treturn initialConfig.animationMode;\n};\n\nconst getTheme = () => {\n\tinitConfiguration();\n\treturn initialConfig.theme;\n};\n\nconst getThemeRoot = () => {\n\tinitConfiguration();\n\treturn initialConfig.themeRoot;\n};\n\nconst getRTL = () => {\n\tinitConfiguration();\n\treturn initialConfig.rtl;\n};\n\nconst getLanguage = () => {\n\tinitConfiguration();\n\treturn initialConfig.language;\n};\n\n/**\n * Returns if the default language, that is inlined at build time,\n * should be fetched over the network instead.\n * @returns {Boolean}\n */\nconst getFetchDefaultLanguage = () => {\n\tinitConfiguration();\n\treturn initialConfig.fetchDefaultLanguage;\n};\n\nconst getNoConflict = () => {\n\tinitConfiguration();\n\treturn initialConfig.noConflict;\n};\n\n/**\n * Get the configured calendar type\n * @returns { String } the name of the configured calendar type\n */\nconst getCalendarType = () => {\n\tinitConfiguration();\n\treturn initialConfig.calendarType;\n};\n\nconst getSecondaryCalendarType = () => {\n\tinitConfiguration();\n\treturn initialConfig.secondaryCalendarType;\n};\n\n/**\n * Returns the configured IANA timezone ID.\n * @returns { String } the configured IANA timezone ID, e.g. \"America/New_York\"\n */\nconst getTimezone = () => {\n\tinitConfiguration();\n\treturn initialConfig.timezone;\n};\n\nconst getFormatSettings = () => {\n\tinitConfiguration();\n\treturn initialConfig.formatSettings;\n};\n\nconst booleanMapping = new Map();\nbooleanMapping.set(\"true\", true);\nbooleanMapping.set(\"false\", false);\n\nconst parseConfigurationScript = () => {\n\tconst configScript = document.querySelector(\"[data-ui5-config]\") || document.querySelector(\"[data-id='sap-ui-config']\"); // for backward compatibility\n\n\tlet configJSON;\n\n\tif (configScript) {\n\t\ttry {\n\t\t\tconfigJSON = JSON.parse(configScript.innerHTML);\n\t\t} catch (err) {\n\t\t\tconsole.warn(\"Incorrect data-sap-ui-config format. Please use JSON\"); /* eslint-disable-line */\n\t\t}\n\n\t\tif (configJSON) {\n\t\t\tinitialConfig = merge(initialConfig, configJSON);\n\t\t}\n\t}\n};\n\nconst parseURLParameters = () => {\n\tconst params = new URLSearchParams(window.location.search);\n\n\t// Process \"sap-*\" params first\n\tparams.forEach((value, key) => {\n\t\tconst parts = key.split(\"sap-\").length;\n\t\tif (parts === 0 || parts === key.split(\"sap-ui-\").length) {\n\t\t\treturn;\n\t\t}\n\n\t\tapplyURLParam(key, value, \"sap\");\n\t});\n\n\t// Process \"sap-ui-*\" params\n\tparams.forEach((value, key) => {\n\t\tif (!key.startsWith(\"sap-ui\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tapplyURLParam(key, value, \"sap-ui\");\n\t});\n};\n\nconst normalizeThemeRootParamValue = (value: string) => {\n\tconst themeRoot = value.split(\"@\")[1];\n\n\treturn validateThemeRoot(themeRoot);\n};\n\nconst normalizeThemeParamValue = (param: string, value: string) => {\n\tif (param === \"theme\" && value.includes(\"@\")) { // the theme parameter might have @ in the value - strip this\n\t\treturn value.split(\"@\")[0];\n\t}\n\n\treturn value;\n};\n\nconst applyURLParam = (key: string, value: string, paramType: string) => {\n\tconst lowerCaseValue = value.toLowerCase();\n\tconst param = key.split(`${paramType}-`)[1];\n\n\tif (booleanMapping.has(value)) {\n\t\tvalue = booleanMapping.get(lowerCaseValue);\n\t}\n\n\tif (param === \"theme\") {\n\t\tinitialConfig.theme = normalizeThemeParamValue(param, value);\n\n\t\tif (value && value.includes(\"@\")) {\n\t\t\tinitialConfig.themeRoot = normalizeThemeRootParamValue(value);\n\t\t}\n\t} else {\n\t\tinitialConfig[param] = value;\n\t}\n};\n\nconst applyOpenUI5Configuration = () => {\n\tconst openUI5Support = getFeature(\"OpenUI5Support\");\n\tif (!openUI5Support || !openUI5Support.isOpenUI5Detected()) {\n\t\treturn;\n\t}\n\n\tconst OpenUI5Config = openUI5Support.getConfigurationSettingsObject();\n\tinitialConfig = merge(initialConfig, OpenUI5Config);\n};\n\nconst initConfiguration = () => {\n\tif (typeof document === \"undefined\" || initialized) {\n\t\treturn;\n\t}\n\n\t// 1. Lowest priority - configuration script\n\tparseConfigurationScript();\n\n\t// 2. URL parameters overwrite configuration script parameters\n\tparseURLParameters();\n\n\t// 3. If OpenUI5 is detected, it has the highest priority\n\tapplyOpenUI5Configuration();\n\n\tinitialized = true;\n};\n\nexport {\n\tgetAnimationMode,\n\tgetTheme,\n\tgetThemeRoot,\n\tgetRTL,\n\tgetLanguage,\n\tgetFetchDefaultLanguage,\n\tgetNoConflict,\n\tgetCalendarType,\n\tgetSecondaryCalendarType,\n\tgetTimezone,\n\tgetFormatSettings,\n};\n","class EventProvider {\n\t_eventRegistry: Map EventListenerReturn>>;\n\n\tconstructor() {\n\t\tthis._eventRegistry = new Map();\n\t}\n\n\tattachEvent(eventName: string, fnFunction: (param: EventListenerParam) => EventListenerReturn) {\n\t\tconst eventRegistry = this._eventRegistry;\n\t\tconst eventListeners = eventRegistry.get(eventName);\n\n\t\tif (!Array.isArray(eventListeners)) {\n\t\t\teventRegistry.set(eventName, [fnFunction]);\n\t\t\treturn;\n\t\t}\n\n\t\tif (!eventListeners.includes(fnFunction)) {\n\t\t\teventListeners.push(fnFunction);\n\t\t}\n\t}\n\n\tdetachEvent(eventName: string, fnFunction: (param: EventListenerParam) => EventListenerReturn) {\n\t\tconst eventRegistry = this._eventRegistry;\n\t\tconst eventListeners = eventRegistry.get(eventName);\n\n\t\tif (!eventListeners) {\n\t\t\treturn;\n\t\t}\n\t\tconst indexOfFnToDetach = eventListeners.indexOf(fnFunction);\n\n\t\tif (indexOfFnToDetach !== -1) {\n\t\t\teventListeners.splice(indexOfFnToDetach, 1);\n\t\t}\n\n\t\tif (eventListeners.length === 0) {\n\t\t\teventRegistry.delete(eventName);\n\t\t}\n\t}\n\n\t/**\n\t * Fires an event and returns the results of all event listeners as an array.\n\t *\n\t * @param eventName the event to fire\n\t * @param data optional data to pass to each event listener\n\t * @returns {Array} an array with the results of all event listeners\n\t */\n\tfireEvent(eventName: string, data: EventListenerParam) {\n\t\tconst eventRegistry = this._eventRegistry;\n\t\tconst eventListeners = eventRegistry.get(eventName);\n\n\t\tif (!eventListeners) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn eventListeners.map(fn => {\n\t\t\treturn fn.call(this, data);\n\t\t});\n\t}\n\n\t/**\n\t * Fires an event and returns a promise that will resolve once all listeners have resolved.\n\t *\n\t * @param eventName the event to fire\n\t * @param data optional data to pass to each event listener\n\t * @returns {Promise} a promise that will resolve when all listeners have resolved\n\t */\n\tfireEventAsync(eventName: string, data: EventListenerParam) {\n\t\treturn Promise.all(this.fireEvent(eventName, data));\n\t}\n\n\tisHandlerAttached(eventName: string, fnFunction: (param: EventListenerParam) => EventListenerReturn) {\n\t\tconst eventRegistry = this._eventRegistry;\n\t\tconst eventListeners = eventRegistry.get(eventName);\n\n\t\tif (!eventListeners) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn eventListeners.includes(fnFunction);\n\t}\n\n\thasListeners(eventName: string) {\n\t\treturn !!this._eventRegistry.get(eventName);\n\t}\n}\n\nexport default EventProvider;\n","import type UI5Element from \"./UI5Element.js\";\n\nconst MAX_PROCESS_COUNT = 10;\n\nclass RenderQueue {\n\tlist: Array;\n\tlookup: Set;\n\n\tconstructor() {\n\t\tthis.list = []; // Used to store the web components in order\n\t\tthis.lookup = new Set(); // Used for faster search\n\t}\n\n\tadd(webComponent: UI5Element) {\n\t\tif (this.lookup.has(webComponent)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.list.push(webComponent);\n\t\tthis.lookup.add(webComponent);\n\t}\n\n\tremove(webComponent: UI5Element) {\n\t\tif (!this.lookup.has(webComponent)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.list = this.list.filter(item => item !== webComponent);\n\t\tthis.lookup.delete(webComponent);\n\t}\n\n\tshift() {\n\t\tconst webComponent = this.list.shift();\n\t\tif (webComponent) {\n\t\t\tthis.lookup.delete(webComponent);\n\t\t\treturn webComponent;\n\t\t}\n\t}\n\n\tisEmpty() {\n\t\treturn this.list.length === 0;\n\t}\n\n\tisAdded(webComponent: UI5Element) {\n\t\treturn this.lookup.has(webComponent);\n\t}\n\n\t/**\n\t * Processes the whole queue by executing the callback on each component,\n\t * while also imposing restrictions on how many times a component may be processed.\n\t *\n\t * @param callback - function with one argument (the web component to be processed)\n\t */\n\tprocess(callback: (el: UI5Element) => void) {\n\t\tlet webComponent;\n\t\tconst stats = new Map();\n\n\t\twebComponent = this.shift();\n\t\twhile (webComponent) {\n\t\t\tconst timesProcessed = stats.get(webComponent) || 0;\n\t\t\tif (timesProcessed > MAX_PROCESS_COUNT) {\n\t\t\t\tthrow new Error(`Web component processed too many times this task, max allowed is: ${MAX_PROCESS_COUNT}`);\n\t\t\t}\n\t\t\tcallback(webComponent);\n\t\t\tstats.set(webComponent, timesProcessed + 1);\n\t\t\twebComponent = this.shift();\n\t\t}\n\t}\n}\n\nexport default RenderQueue;\n","/**\n * Returns a singleton HTML element, inserted in given parent element of HTML page,\n * used mostly to store and share global resources between multiple UI5 Web Components runtimes.\n *\n * @param { string } tag the element tag/selector\n * @param { HTMLElement } parentElement the parent element to insert the singleton element instance\n * @param { Function } createEl a factory function for the element instantiation, by default document.createElement is used\n * @returns { Element }\n */\nconst getSingletonElementInstance = (tag: string, parentElement: HTMLElement = document.body, createEl?: () => Element) => {\n\tlet el = document.querySelector(tag);\n\n\tif (el) {\n\t\treturn el;\n\t}\n\n\tel = createEl ? createEl() : document.createElement(tag);\n\n\treturn parentElement.insertBefore(el, parentElement.firstChild);\n};\n\nexport default getSingletonElementInstance;\n","import getSingletonElementInstance from \"./util/getSingletonElementInstance.js\";\n\nconst getMetaDomEl = () => {\n\tconst el = document.createElement(\"meta\");\n\tel.setAttribute(\"name\", \"ui5-shared-resources\");\n\tel.setAttribute(\"content\", \"\"); // attribute \"content\" should be present when \"name\" is set.\n\treturn el;\n};\n\nconst getSharedResourcesInstance = (): Element | null => {\n\tif (typeof document === \"undefined\") {\n\t\treturn null;\n\t}\n\treturn getSingletonElementInstance(`meta[name=\"ui5-shared-resources\"]`, document.head, getMetaDomEl);\n};\n\n/**\n * Use this method to initialize/get resources that you would like to be shared among UI5 Web Components runtime instances.\n * The data will be accessed via a singleton \"ui5-shared-resources\" HTML element in the \"body\" element of the page.\n *\n * @public\n * @param namespace Unique ID of the resource, may contain \".\" to denote hierarchy\n * @param initialValue Object or primitive that will be used as an initial value if the resource does not exist\n * @returns {*}\n */\nconst getSharedResource = (namespace: string, initialValue: T): T => {\n\tconst parts = namespace.split(\".\");\n\tlet current = getSharedResourcesInstance() as Record;\n\n\tif (!current) {\n\t\treturn initialValue;\n\t}\n\n\tfor (let i = 0; i < parts.length; i++) {\n\t\tconst part = parts[i];\n\t\tconst lastPart = i === parts.length - 1;\n\t\tif (!Object.prototype.hasOwnProperty.call(current, part)) {\n\t\t\tcurrent[part] = lastPart ? initialValue : {};\n\t\t}\n\t\tcurrent = current[part];\n\t}\n\n\treturn current as T;\n};\n\nexport default getSharedResource;\n","const VersionInfo = {\n\tversion: \"1.22.0-rc.3\",\n\tmajor: 1,\n\tminor: 22,\n\tpatch: 0,\n\tsuffix: \"-rc.3\",\n\tisNext: false,\n\tbuildTime: 1707121089,\n};\nexport default VersionInfo;","import VersionInfo from \"./generated/VersionInfo.js\";\nimport getSharedResource from \"./getSharedResource.js\";\n\ntype RuntimeData = VersionInfo & {\n\talias: string,\n\tdescription: string,\n};\n\nlet currentRuntimeIndex: number;\nlet currentRuntimeAlias = \"\";\n\nconst compareCache = new Map();\n\n/**\n * Central registry where all runtimes register themselves by pushing an object.\n * The index in the registry servers as an ID for the runtime.\n * @type {*}\n */\nconst Runtimes = getSharedResource>(\"Runtimes\", []);\n\n/**\n * Registers the current runtime in the shared runtimes resource registry\n */\nconst registerCurrentRuntime = () => {\n\tif (currentRuntimeIndex === undefined) {\n\t\tcurrentRuntimeIndex = Runtimes.length;\n\t\tconst versionInfo = VersionInfo;\n\n\t\tRuntimes.push({\n\t\t\t...versionInfo,\n\t\t\talias: currentRuntimeAlias,\n\t\t\tdescription: `Runtime ${currentRuntimeIndex} - ver ${versionInfo.version}${currentRuntimeAlias ? ` (${currentRuntimeAlias})` : \"\"}`,\n\t\t});\n\t}\n};\n\n/**\n * Returns the index of the current runtime's object in the shared runtimes resource registry\n * @returns {*}\n */\nconst getCurrentRuntimeIndex = () => {\n\treturn currentRuntimeIndex;\n};\n\n/**\n * Compares two runtimes and returns 1 if the first is of a bigger version, -1 if the second is of a bigger version, and 0 if equal\n * @param index1 The index of the first runtime to compare\n * @param index2 The index of the second runtime to compare\n * @returns {number}\n */\nconst compareRuntimes = (index1: number, index2: number) => {\n\tconst cacheIndex = `${index1},${index2}`;\n\tif (compareCache.has(cacheIndex)) {\n\t\treturn compareCache.get(cacheIndex)!;\n\t}\n\n\tconst runtime1 = Runtimes[index1];\n\tconst runtime2 = Runtimes[index2];\n\n\tif (!runtime1 || !runtime2) {\n\t\tthrow new Error(\"Invalid runtime index supplied\");\n\t}\n\n\t// If any of the two is a next version, bigger buildTime wins\n\tif (runtime1.isNext || runtime2.isNext) {\n\t\treturn runtime1.buildTime - runtime2.buildTime;\n\t}\n\n\t// If major versions differ, bigger one wins\n\tconst majorDiff = runtime1.major - runtime2.major;\n\tif (majorDiff) {\n\t\treturn majorDiff;\n\t}\n\n\t// If minor versions differ, bigger one wins\n\tconst minorDiff = runtime1.minor - runtime2.minor;\n\tif (minorDiff) {\n\t\treturn minorDiff;\n\t}\n\n\t// If patch versions differ, bigger one wins\n\tconst patchDiff = runtime1.patch - runtime2.patch;\n\tif (patchDiff) {\n\t\treturn patchDiff;\n\t}\n\n\t// Bigger suffix wins, f.e. rc10 > rc9\n\t// Important: suffix is alphanumeric, must use natural compare\n\tconst collator = new Intl.Collator(undefined, { numeric: true, sensitivity: \"base\" });\n\tconst result = collator.compare(runtime1.suffix, runtime2.suffix);\n\n\tcompareCache.set(cacheIndex, result);\n\treturn result;\n};\n\n/**\n * Set an alias for the the current app/library/microfrontend which will appear in debug messages and console warnings\n * @param alias\n */\nconst setRuntimeAlias = (alias: string) => {\n\tcurrentRuntimeAlias = alias;\n};\n\nconst getAllRuntimes = () => {\n\treturn Runtimes;\n};\n\nexport {\n\tgetCurrentRuntimeIndex,\n\tregisterCurrentRuntime,\n\tcompareRuntimes,\n\tsetRuntimeAlias,\n\tgetAllRuntimes,\n};\n","import getSharedResource from \"./getSharedResource.js\";\nimport { getCurrentRuntimeIndex, compareRuntimes, getAllRuntimes } from \"./Runtimes.js\";\nimport { Timeout } from \"./types.js\";\n\nconst Tags = getSharedResource>(\"Tags\", new Map());\nconst Definitions = new Set();\n\nlet Failures = new Map>();\nlet failureTimeout: Timeout | undefined;\n\nconst UNKNOWN_RUNTIME = -1;\n\nconst registerTag = (tag: string) => {\n\tDefinitions.add(tag);\n\tTags.set(tag, getCurrentRuntimeIndex());\n};\n\nconst isTagRegistered = (tag: string) => {\n\treturn Definitions.has(tag);\n};\n\nconst getAllRegisteredTags = () => {\n\treturn [...Definitions.values()];\n};\n\nconst recordTagRegistrationFailure = (tag: string) => {\n\tlet tagRegRuntimeIndex = Tags.get(tag);\n\tif (tagRegRuntimeIndex === undefined) {\n\t\ttagRegRuntimeIndex = UNKNOWN_RUNTIME; // If the tag is taken, but not registered in Tags, then a version before 1.1.0 defined it => use the \"unknown\" key\n\t}\n\n\tif (!Failures.has(tagRegRuntimeIndex)) {\n\t\tFailures.set(tagRegRuntimeIndex, new Set());\n\t}\n\tFailures.get(tagRegRuntimeIndex)!.add(tag);\n\n\tif (!failureTimeout) {\n\t\tfailureTimeout = setTimeout(() => {\n\t\t\tdisplayFailedRegistrations();\n\t\t\tFailures = new Map();\n\t\t\tfailureTimeout = undefined;\n\t\t}, 1000);\n\t}\n};\n\nconst displayFailedRegistrations = () => {\n\tconst allRuntimes = getAllRuntimes();\n\tconst currentRuntimeIndex = getCurrentRuntimeIndex();\n\tconst currentRuntime = allRuntimes[currentRuntimeIndex];\n\n\tlet message = `Multiple UI5 Web Components instances detected.`;\n\n\tif (allRuntimes.length > 1) {\n\t\tmessage = `${message}\\nLoading order (versions before 1.1.0 not listed): ${allRuntimes.map(runtime => `\\n${runtime.description}`).join(\"\")}`;\n\t}\n\n\t[...Failures.keys()].forEach(otherRuntimeIndex => {\n\t\tlet comparison: number;\n\t\tlet otherRuntime;\n\n\t\tif (otherRuntimeIndex === UNKNOWN_RUNTIME) { // version < 1.1.0 defined the tag\n\t\t\tcomparison = 1; // the current runtime is considered newer\n\t\t\totherRuntime = {\n\t\t\t\tdescription: `Older unknown runtime`,\n\t\t\t};\n\t\t} else {\n\t\t\tcomparison = compareRuntimes(currentRuntimeIndex, otherRuntimeIndex);\n\t\t\totherRuntime = allRuntimes[otherRuntimeIndex];\n\t\t}\n\n\t\tlet compareWord;\n\t\tif (comparison > 0) {\n\t\t\tcompareWord = \"an older\";\n\t\t} else if (comparison < 0) {\n\t\t\tcompareWord = \"a newer\";\n\t\t} else {\n\t\t\tcompareWord = \"the same\";\n\t\t}\n\t\tmessage = `${message}\\n\\n\"${currentRuntime.description}\" failed to define ${Failures.get(otherRuntimeIndex)!.size} tag(s) as they were defined by a runtime of ${compareWord} version \"${otherRuntime.description}\": ${([...Failures.get(otherRuntimeIndex)!]).sort().join(\", \")}.`;\n\n\t\tif (comparison > 0) {\n\t\t\tmessage = `${message}\\nWARNING! If your code uses features of the above web components, unavailable in ${otherRuntime.description}, it might not work as expected!`;\n\t\t} else {\n\t\t\tmessage = `${message}\\nSince the above web components were defined by the same or newer version runtime, they should be compatible with your code.`;\n\t\t}\n\t});\n\n\tmessage = `${message}\\n\\nTo prevent other runtimes from defining tags that you use, consider using scoping or have third-party libraries use scoping: https://github.com/SAP/ui5-webcomponents/blob/main/docs/2-advanced/03-scoping.md.`;\n\n\tconsole.warn(message); // eslint-disable-line\n};\n\nexport {\n\tregisterTag,\n\tisTagRegistered,\n\tgetAllRegisteredTags,\n\trecordTagRegistrationFailure,\n};\n","import type UI5Element from \"../UI5Element.js\";\n\nconst rtlAwareSet = new Set();\n\nconst markAsRtlAware = (klass: typeof UI5Element) => {\n\trtlAwareSet.add(klass);\n};\n\nconst isRtlAware = (klass: typeof UI5Element) => {\n\treturn rtlAwareSet.has(klass);\n};\n\nexport {\n\tmarkAsRtlAware,\n\tisRtlAware,\n};\n","import EventProvider from \"./EventProvider.js\";\nimport RenderQueue from \"./RenderQueue.js\";\nimport { getAllRegisteredTags } from \"./CustomElementsRegistry.js\";\nimport { isRtlAware } from \"./locale/RTLAwareRegistry.js\";\nimport type UI5Element from \"./UI5Element.js\";\nimport { PromiseResolve, Timeout } from \"./types.js\";\n\ntype BeforeComponentRenderCallback = (webComponent: UI5Element) => void;\n\nconst registeredElements = new Set();\nconst eventProvider = new EventProvider();\n\nconst invalidatedWebComponents = new RenderQueue(); // Queue for invalidated web components\n\nlet renderTaskPromise: Promise | undefined,\n\trenderTaskPromiseResolve: PromiseResolve | undefined;\n\nlet mutationObserverTimer: Timeout | undefined;\n\nlet queuePromise: Promise | null;\n\n/**\n * Schedules a render task (if not already scheduled) to render the component\n *\n * @param webComponent\n * @returns {Promise}\n */\nconst renderDeferred = async (webComponent: UI5Element) => {\n\t// Enqueue the web component\n\tinvalidatedWebComponents.add(webComponent);\n\n\t// Schedule a rendering task\n\tawait scheduleRenderTask();\n};\n\n/**\n * Renders a component synchronously and adds it to the registry of rendered components\n *\n * @param webComponent\n */\nconst renderImmediately = (webComponent: UI5Element) => {\n\teventProvider.fireEvent(\"beforeComponentRender\", webComponent);\n\tregisteredElements.add(webComponent);\n\twebComponent._render();\n};\n\n/**\n * Cancels the rendering of a component, if awaiting to be rendered, and removes it from the registry of rendered components\n *\n * @param webComponent\n */\nconst cancelRender = (webComponent: UI5Element) => {\n\tinvalidatedWebComponents.remove(webComponent);\n\tregisteredElements.delete(webComponent);\n};\n\n/**\n * Schedules a rendering task, if not scheduled already\n */\nconst scheduleRenderTask = async () => {\n\tif (!queuePromise) {\n\t\tqueuePromise = new Promise(resolve => {\n\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\t// Render all components in the queue\n\n\t\t\t\t// console.log(`--------------------RENDER TASK START------------------------------`); // eslint-disable-line\n\t\t\t\tinvalidatedWebComponents.process(renderImmediately);\n\t\t\t\t// console.log(`--------------------RENDER TASK END------------------------------`); // eslint-disable-line\n\n\t\t\t\t// Resolve the promise so that callers of renderDeferred can continue\n\t\t\t\tqueuePromise = null;\n\t\t\t\tresolve();\n\n\t\t\t\t// Wait for Mutation observer before the render task is considered finished\n\t\t\t\tif (!mutationObserverTimer) {\n\t\t\t\t\tmutationObserverTimer = setTimeout(() => {\n\t\t\t\t\t\tmutationObserverTimer = undefined;\n\t\t\t\t\t\tif (invalidatedWebComponents.isEmpty()) {\n\t\t\t\t\t\t\t_resolveTaskPromise();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 200);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tawait queuePromise;\n};\n\n/**\n * return a promise that will be resolved once all invalidated web components are rendered\n */\nconst whenDOMUpdated = () => {\n\tif (renderTaskPromise) {\n\t\treturn renderTaskPromise;\n\t}\n\n\trenderTaskPromise = new Promise(resolve => {\n\t\trenderTaskPromiseResolve = resolve;\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tif (invalidatedWebComponents.isEmpty()) {\n\t\t\t\trenderTaskPromise = undefined;\n\t\t\t\tresolve();\n\t\t\t}\n\t\t});\n\t});\n\n\treturn renderTaskPromise;\n};\n\nconst whenAllCustomElementsAreDefined = () => {\n\tconst definedPromises = getAllRegisteredTags().map(tag => customElements.whenDefined(tag));\n\treturn Promise.all(definedPromises);\n};\n\nconst renderFinished = async () => {\n\tawait whenAllCustomElementsAreDefined();\n\tawait whenDOMUpdated();\n};\n\nconst _resolveTaskPromise = () => {\n\tif (!invalidatedWebComponents.isEmpty()) {\n\t\t// More updates are pending. Resolve will be called again\n\t\treturn;\n\t}\n\n\tif (renderTaskPromiseResolve) {\n\t\trenderTaskPromiseResolve();\n\t\trenderTaskPromiseResolve = undefined;\n\t\trenderTaskPromise = undefined;\n\t}\n};\n\n/**\n * Re-renders all UI5 Elements on the page, with the option to specify filters to rerender only some components.\n *\n * Usage:\n * reRenderAllUI5Elements() -> re-renders all components\n * reRenderAllUI5Elements({tag: \"ui5-button\"}) -> re-renders only instances of ui5-button\n * reRenderAllUI5Elements({rtlAware: true}) -> re-renders only rtlAware components\n * reRenderAllUI5Elements({languageAware: true}) -> re-renders only languageAware components\n * reRenderAllUI5Elements({themeAware: true}) -> re-renders only themeAware components\n * reRenderAllUI5Elements({rtlAware: true, languageAware: true}) -> re-renders components that are rtlAware or languageAware\n * etc...\n *\n * @public\n * @param {object|undefined} filters - Object with keys that can be \"rtlAware\" or \"languageAware\"\n * @returns {Promise}\n */\nconst reRenderAllUI5Elements = async (filters?: {tag?: string, rtlAware?: boolean, languageAware?: boolean, themeAware?: boolean}) => {\n\tregisteredElements.forEach((element: UI5Element) => {\n\t\tconst ctor = element.constructor as typeof UI5Element;\n\t\tconst tag = ctor.getMetadata().getTag();\n\t\tconst rtlAware = isRtlAware(ctor);\n\t\tconst languageAware = ctor.getMetadata().isLanguageAware();\n\t\tconst themeAware = ctor.getMetadata().isThemeAware();\n\t\tif (!filters || (filters.tag === tag) || (filters.rtlAware && rtlAware) || (filters.languageAware && languageAware) || (filters.themeAware && themeAware)) {\n\t\t\trenderDeferred(element);\n\t\t}\n\t});\n\tawait renderFinished();\n};\n\nconst attachBeforeComponentRender = (listener: BeforeComponentRenderCallback) => {\n\teventProvider.attachEvent(\"beforeComponentRender\", listener);\n};\n\nconst detachBeforeComponentRender = (listener: BeforeComponentRenderCallback) => {\n\teventProvider.detachEvent(\"beforeComponentRender\", listener);\n};\n\nexport {\n\trenderDeferred,\n\trenderImmediately,\n\tcancelRender,\n\trenderFinished,\n\treRenderAllUI5Elements,\n\tattachBeforeComponentRender,\n\tdetachBeforeComponentRender,\n};\n","/**\n * Creates a ${templateResult}`;\n\t} else if (Array.isArray(styleStrOrHrefsArr) && styleStrOrHrefsArr.length) {\n\t\ttemplateResult = effectiveHtml`${styleStrOrHrefsArr.map(href => effectiveHtml``)}${templateResult}`;\n\t}\n\trender(templateResult as TemplateResult, container, options);\n};\n\nconst scopeTag = (tag: string, tags: Array, suffix: string) => {\n\tconst litStatic = getFeature(\"LitStatic\");\n\tif (litStatic) {\n\t\treturn litStatic.unsafeStatic((tags || []).includes(tag) ? `${tag}-${suffix}` : tag);\n\t}\n};\n\nexport {\n\teffectiveHtml as html,\n\teffectiveSvg as svg,\n};\nexport { scopeTag };\nexport { repeat } from \"lit-html/directives/repeat.js\";\nexport { classMap } from \"lit-html/directives/class-map.js\";\n// @ts-ignore style-map is a JS file\nexport { styleMap } from \"./directives/style-map.js\";\nexport { ifDefined } from \"lit-html/directives/if-defined.js\";\nexport { unsafeHTML } from \"lit-html/directives/unsafe-html.js\";\n\nexport default litRender;\n","const KeyCodes = {\n\tBACKSPACE: 8,\n\tTAB: 9,\n\tENTER: 13,\n\tSHIFT: 16,\n\tCONTROL: 17,\n\tALT: 18,\n\tBREAK: 19,\n\tCAPS_LOCK: 20,\n\tESCAPE: 27,\n\tSPACE: 32,\n\tPAGE_UP: 33,\n\tPAGE_DOWN: 34,\n\tEND: 35,\n\tHOME: 36,\n\tARROW_LEFT: 37,\n\tARROW_UP: 38,\n\tARROW_RIGHT: 39,\n\tARROW_DOWN: 40,\n\tPRINT: 44,\n\tINSERT: 45,\n\tDELETE: 46,\n\tDIGIT_0: 48,\n\tDIGIT_1: 49,\n\tDIGIT_2: 50,\n\tDIGIT_3: 51,\n\tDIGIT_4: 52,\n\tDIGIT_5: 53,\n\tDIGIT_6: 54,\n\tDIGIT_7: 55,\n\tDIGIT_8: 56,\n\tDIGIT_9: 57,\n\tA: 65,\n\tB: 66,\n\tC: 67,\n\tD: 68,\n\tE: 69,\n\tF: 70,\n\tG: 71,\n\tH: 72,\n\tI: 73,\n\tJ: 74,\n\tK: 75,\n\tL: 76,\n\tM: 77,\n\tN: 78,\n\tO: 79,\n\tP: 80,\n\tQ: 81,\n\tR: 82,\n\tS: 83,\n\tT: 84,\n\tU: 85,\n\tV: 86,\n\tW: 87,\n\tX: 88,\n\tY: 89,\n\tZ: 90,\n\tWINDOWS: 91,\n\tCONTEXT_MENU: 93,\n\tTURN_OFF: 94,\n\tSLEEP: 95,\n\tNUMPAD_0: 96,\n\tNUMPAD_1: 97,\n\tNUMPAD_2: 98,\n\tNUMPAD_3: 99,\n\tNUMPAD_4: 100,\n\tNUMPAD_5: 101,\n\tNUMPAD_6: 102,\n\tNUMPAD_7: 103,\n\tNUMPAD_8: 104,\n\tNUMPAD_9: 105,\n\tNUMPAD_ASTERISK: 106,\n\tNUMPAD_PLUS: 107,\n\tNUMPAD_MINUS: 109,\n\tNUMPAD_COMMA: 110,\n\tNUMPAD_SLASH: 111,\n\tF1: 112,\n\tF2: 113,\n\tF3: 114,\n\tF4: 115,\n\tF5: 116,\n\tF6: 117,\n\tF7: 118,\n\tF8: 119,\n\tF9: 120,\n\tF10: 121,\n\tF11: 122,\n\tF12: 123,\n\tNUM_LOCK: 144,\n\tSCROLL_LOCK: 145,\n\tCOLON: 186,\n\tPLUS: 187,\n\tCOMMA: 188,\n\tSLASH: 189,\n\tDOT: 190,\n\tPIPE: 191,\n\tSEMICOLON: 192,\n\tMINUS: 219,\n\tGREAT_ACCENT: 220,\n\tEQUALS: 221,\n\tSINGLE_QUOTE: 222,\n\tBACKSLASH: 226,\n} as const;\ntype KeyCodes = typeof KeyCodes[keyof typeof KeyCodes];\n\nconst isEnter = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Enter\" : event.keyCode === KeyCodes.ENTER) && !hasModifierKeys(event);\n\nconst isEnterShift = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Enter\" : event.keyCode === KeyCodes.ENTER) && checkModifierKeys(event, false, false, true);\n\nconst isSpace = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"Spacebar\" || event.key === \" \") : event.keyCode === KeyCodes.SPACE) && !hasModifierKeys(event);\n\nconst isSpaceShift = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"Spacebar\" || event.key === \" \") : event.keyCode === KeyCodes.SPACE) && checkModifierKeys(event, false, false, true);\n\nconst isSpaceCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"Spacebar\" || event.key === \" \") : event.keyCode === KeyCodes.SPACE) && checkModifierKeys(event, true, false, false);\n\nconst isLeft = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowLeft\" || event.key === \"Left\") : event.keyCode === KeyCodes.ARROW_LEFT) && !hasModifierKeys(event);\n\nconst isRight = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowRight\" || event.key === \"Right\") : event.keyCode === KeyCodes.ARROW_RIGHT) && !hasModifierKeys(event);\n\nconst isUp = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowUp\" || event.key === \"Up\") : event.keyCode === KeyCodes.ARROW_UP) && !hasModifierKeys(event);\n\nconst isDown = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowDown\" || event.key === \"Down\") : event.keyCode === KeyCodes.ARROW_DOWN) && !hasModifierKeys(event);\n\nconst isLeftCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowLeft\" || event.key === \"Left\") : event.keyCode === KeyCodes.ARROW_LEFT) && checkModifierKeys(event, true, false, false);\n\nconst isRightCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowRight\" || event.key === \"Right\") : event.keyCode === KeyCodes.ARROW_RIGHT) && checkModifierKeys(event, true, false, false);\n\nconst isUpCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowUp\" || event.key === \"Up\") : event.keyCode === KeyCodes.ARROW_UP) && checkModifierKeys(event, true, false, false);\n\nconst isDownCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowDown\" || event.key === \"Down\") : event.keyCode === KeyCodes.ARROW_DOWN) && checkModifierKeys(event, true, false, false);\n\nconst isUpShift = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowUp\" || event.key === \"Up\") : event.keyCode === KeyCodes.ARROW_UP) && checkModifierKeys(event, false, false, true);\n\nconst isDownShift = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowDown\" || event.key === \"Down\") : event.keyCode === KeyCodes.ARROW_DOWN) && checkModifierKeys(event, false, false, true);\n\nconst isUpAlt = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowUp\" || event.key === \"Up\") : event.keyCode === KeyCodes.ARROW_UP) && checkModifierKeys(event, false, true, false);\n\nconst isDownAlt = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowDown\" || event.key === \"Down\") : event.keyCode === KeyCodes.ARROW_DOWN) && checkModifierKeys(event, false, true, false);\n\nconst isLeftShift = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowLeft\" || event.key === \"Left\") : event.keyCode === KeyCodes.ARROW_LEFT) && checkModifierKeys(event, false, false, true);\n\nconst isRightShift = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowRight\" || event.key === \"Right\") : event.keyCode === KeyCodes.ARROW_RIGHT) && checkModifierKeys(event, false, false, true);\n\nconst isLeftShiftCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowLeft\" || event.key === \"Left\") : event.keyCode === KeyCodes.ARROW_LEFT) && checkModifierKeys(event, true, false, true);\n\nconst isRightShiftCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowRight\" || event.key === \"Right\") : event.keyCode === KeyCodes.ARROW_RIGHT) && checkModifierKeys(event, true, false, true);\n\nconst isUpShiftCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowUp\" || event.key === \"Up\") : event.keyCode === KeyCodes.ARROW_UP) && checkModifierKeys(event, true, false, true);\n\nconst isDownShiftCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowDown\" || event.key === \"Down\") : event.keyCode === KeyCodes.ARROW_DOWN) && checkModifierKeys(event, true, false, true);\n\nconst isHome = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Home\" : event.keyCode === KeyCodes.HOME) && !hasModifierKeys(event);\n\nconst isEnd = (event: KeyboardEvent): boolean => (event.key ? event.key === \"End\" : event.keyCode === KeyCodes.END) && !hasModifierKeys(event);\n\nconst isHomeCtrl = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Home\" : event.keyCode === KeyCodes.HOME) && checkModifierKeys(event, true, false, false);\n\nconst isHomeShift = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Home\" : event.keyCode === KeyCodes.HOME) && checkModifierKeys(event, false, false, true);\n\nconst isEndCtrl = (event: KeyboardEvent): boolean => (event.key ? event.key === \"End\" : event.keyCode === KeyCodes.END) && checkModifierKeys(event, true, false, false);\n\nconst isEndShift = (event: KeyboardEvent): boolean => (event.key ? event.key === \"End\" : event.keyCode === KeyCodes.END) && checkModifierKeys(event, false, false, true);\n\nconst isEscape = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Escape\" || event.key === \"Esc\" : event.keyCode === KeyCodes.ESCAPE) && !hasModifierKeys(event);\n\nconst isTabNext = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Tab\" : event.keyCode === KeyCodes.TAB) && !hasModifierKeys(event);\n\nconst isTabPrevious = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Tab\" : event.keyCode === KeyCodes.TAB) && checkModifierKeys(event, /* Ctrl */ false, /* Alt */ false, /* Shift */ true);\n\nconst isBackSpace = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Backspace\" : event.keyCode === KeyCodes.BACKSPACE) && !hasModifierKeys(event);\n\nconst isDelete = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Delete\" : event.keyCode === KeyCodes.DELETE) && !hasModifierKeys(event);\n\nconst isDeleteShift = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Delete\" : event.keyCode === KeyCodes.DELETE) && checkModifierKeys(event, false, false, true);\n\nconst isInsertShift = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Insert\" : event.keyCode === KeyCodes.DELETE) && checkModifierKeys(event, false, false, true);\n\nconst isInsertCtrl = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Insert\" : event.keyCode === KeyCodes.DELETE) && checkModifierKeys(event, true, false, false);\n\nconst isPageUp = (event: KeyboardEvent): boolean => (event.key ? event.key === \"PageUp\" : event.keyCode === KeyCodes.PAGE_UP) && !hasModifierKeys(event);\n\nconst isPageDown = (event: KeyboardEvent): boolean => (event.key ? event.key === \"PageDown\" : event.keyCode === KeyCodes.PAGE_DOWN) && !hasModifierKeys(event);\n\nconst isPageUpShift = (event: KeyboardEvent): boolean => (event.key ? event.key === \"PageUp\" : event.keyCode === KeyCodes.PAGE_UP) && checkModifierKeys(event, false, false, true);\n\nconst isPageUpAlt = (event: KeyboardEvent): boolean => (event.key ? event.key === \"PageUp\" : event.keyCode === KeyCodes.PAGE_UP) && checkModifierKeys(event, false, true, false);\n\nconst isPageDownShift = (event: KeyboardEvent): boolean => (event.key ? event.key === \"PageDown\" : event.keyCode === KeyCodes.PAGE_DOWN) && checkModifierKeys(event, false, false, true);\n\nconst isPageDownAlt = (event: KeyboardEvent): boolean => (event.key ? event.key === \"PageDown\" : event.keyCode === KeyCodes.PAGE_DOWN) && checkModifierKeys(event, false, true, false);\n\nconst isPageUpShiftCtrl = (event: KeyboardEvent): boolean => (event.key ? event.key === \"PageUp\" : event.keyCode === KeyCodes.PAGE_UP) && checkModifierKeys(event, true, false, true);\n\nconst isPageDownShiftCtrl = (event: KeyboardEvent): boolean => (event.key ? event.key === \"PageDown\" : event.keyCode === KeyCodes.PAGE_DOWN) && checkModifierKeys(event, true, false, true);\n\nconst isPlus = (event: KeyboardEvent): boolean => (event.key ? event.key === \"+\" : event.keyCode === KeyCodes.PLUS) || (event.keyCode === KeyCodes.NUMPAD_PLUS && !hasModifierKeys(event));\n\nconst isMinus = (event: KeyboardEvent): boolean => (event.key ? event.key === \"-\" : event.keyCode === KeyCodes.MINUS) || (event.keyCode === KeyCodes.NUMPAD_MINUS && !hasModifierKeys(event));\n\nconst isShow = (event: KeyboardEvent): boolean => {\n\tif (event.key) {\n\t\treturn isF4(event) || isShowByArrows(event);\n\t}\n\n\treturn (event.keyCode === KeyCodes.F4 && !hasModifierKeys(event)) || (event.keyCode === KeyCodes.ARROW_DOWN && checkModifierKeys(event, /* Ctrl */ false, /* Alt */ true, /* Shift */ false));\n};\n\nconst isF4 = (event: KeyboardEvent): boolean => {\n\treturn event.key === \"F4\" && !hasModifierKeys(event);\n};\n\nconst isF4Shift = (event: KeyboardEvent): boolean => (event.key ? event.key === \"F4\" : event.keyCode === KeyCodes.F4) && checkModifierKeys(event, false, false, true);\n\nconst isF6Next = (event: KeyboardEvent): boolean => ((event.key ? event.key === \"F6\" : event.keyCode === KeyCodes.F6) && checkModifierKeys(event, false, false, false))\n\t|| ((event.key ? (event.key === \"ArrowDown\" || event.key === \"Down\") : event.keyCode === KeyCodes.ARROW_DOWN) && checkModifierKeys(event, true, true, false));\n\nconst isF6Previous = (event: KeyboardEvent): boolean => ((event.key ? event.key === \"F6\" : event.keyCode === KeyCodes.F6) && checkModifierKeys(event, false, false, true))\n\t|| ((event.key ? (event.key === \"ArrowUp\" || event.key === \"Up\") : event.keyCode === KeyCodes.ARROW_UP) && checkModifierKeys(event, true, true, false));\n\nconst isF7 = (event: KeyboardEvent): boolean => (event.key ? event.key === \"F7\" : event.keyCode === KeyCodes.F7) && !hasModifierKeys(event);\n\nconst isShowByArrows = (event: KeyboardEvent): boolean => {\n\treturn ((event.key === \"ArrowDown\" || event.key === \"Down\") || (event.key === \"ArrowUp\" || event.key === \"Up\")) && checkModifierKeys(event, /* Ctrl */ false, /* Alt */ true, /* Shift */ false);\n};\n\nconst isShift = (event: KeyboardEvent): boolean => event.key === \"Shift\" || event.keyCode === KeyCodes.SHIFT;\n\nconst isCtrlA = (event: KeyboardEvent): boolean => ((event.key === \"A\" || event.key === \"a\") || event.which === KeyCodes.A) && checkModifierKeys(event, true, false, false);\n\nconst isCtrlV = (event: KeyboardEvent): boolean => ((event.key === \"V\" || event.key === \"v\") || event.which === KeyCodes.V) && checkModifierKeys(event, true, false, false);\n\nconst isKeyA = (event: KeyboardEvent): boolean => ((event.key === \"A\" || event.key === \"a\") || event.which === KeyCodes.A) && checkModifierKeys(event, false, false, false);\n\nconst isKeyP = (event: KeyboardEvent): boolean => ((event.key === \"P\" || event.key === \"p\") || event.which === KeyCodes.P) && checkModifierKeys(event, false, false, false);\n\nconst hasModifierKeys = (event: KeyboardEvent): boolean => event.shiftKey || event.altKey || getCtrlKey(event);\n\nconst getCtrlKey = (event: KeyboardEvent): boolean => !!(event.metaKey || event.ctrlKey); // double negation doesn't have effect on boolean but ensures null and undefined are equivalent to false.\n\nconst checkModifierKeys = (event: KeyboardEvent, bCtrlKey: boolean, bAltKey: boolean, bShiftKey: boolean):boolean => event.shiftKey === bShiftKey && event.altKey === bAltKey && getCtrlKey(event) === bCtrlKey;\n\nconst isNumber = (event: KeyboardEvent): boolean => ((event.key ? \"0123456789\".indexOf(event.key) !== -1 : event.keyCode >= KeyCodes.DIGIT_0 && event.keyCode <= KeyCodes.DIGIT_9) && checkModifierKeys(event, false, false, false));\n\nconst isColon = (event: KeyboardEvent): boolean => ((event.key ? event.key === \":\" : event.keyCode === KeyCodes.COLON) && checkModifierKeys(event, false, false, true));\n\nexport {\n\tisEnter,\n\tisEnterShift,\n\tisSpace,\n\tisSpaceShift,\n\tisSpaceCtrl,\n\tisLeft,\n\tisRight,\n\tisUp,\n\tisDown,\n\tisLeftCtrl,\n\tisRightCtrl,\n\tisUpCtrl,\n\tisDownCtrl,\n\tisUpShift,\n\tisDownShift,\n\tisUpAlt,\n\tisDownAlt,\n\tisLeftShift,\n\tisRightShift,\n\tisLeftShiftCtrl,\n\tisRightShiftCtrl,\n\tisUpShiftCtrl,\n\tisDownShiftCtrl,\n\tisHome,\n\tisEnd,\n\tisPlus,\n\tisMinus,\n\tisHomeCtrl,\n\tisEndCtrl,\n\tisHomeShift,\n\tisEndShift,\n\tisEscape,\n\tisTabNext,\n\tisTabPrevious,\n\tisBackSpace,\n\tisDelete,\n\tisShow,\n\tisF4,\n\tisF4Shift,\n\tisF6Previous,\n\tisF6Next,\n\tisF7,\n\tisPageUp,\n\tisPageDown,\n\tisPageUpShift,\n\tisPageUpAlt,\n\tisPageDownShift,\n\tisPageDownAlt,\n\tisPageUpShiftCtrl,\n\tisPageDownShiftCtrl,\n\tisShift,\n\tisCtrlA,\n\tisCtrlV,\n\tisKeyA,\n\tisKeyP,\n\tisDeleteShift,\n\tisInsertShift,\n\tisInsertCtrl,\n\tisNumber,\n\tisColon,\n};\n","import { PropertyValue } from \"../UI5ElementMetadata.js\";\n\n/**\n * @class\n * Base class for all data types.\n *\n * @public\n */\nclass DataType {\n\t/**\n\t * Checks if the value is valid for its data type.\n \t * @public\n\t */\n\t// eslint-disable-next-line\n\tstatic isValid(value: any): boolean {\n\t\treturn false;\n\t}\n\n\tstatic attributeToProperty(attributeValue: string | null): PropertyValue {\n\t\treturn attributeValue;\n\t}\n\n\tstatic propertyToAttribute(propertyValue: PropertyValue): string | null {\n\t\treturn propertyValue === null ? null : String(propertyValue);\n\t}\n\n\tstatic valuesAreEqual(value1: any, value2: any) {\n\t\treturn value1 === value2;\n\t}\n\n\tstatic generateTypeAccessors(types: Record) {\n\t\tObject.keys(types).forEach(type => {\n\t\t\tObject.defineProperty(this, type, {\n\t\t\t\tget() {\n\t\t\t\t\treturn types[type];\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n\n\tstatic get isDataTypeClass() {\n\t\treturn true;\n\t}\n}\n\nexport default DataType;\n","import { PropertyValue } from \"../UI5ElementMetadata.js\";\nimport DataType from \"./DataType.js\";\n\n/**\n * @class\n * Integer data type.\n *\n * @constructor\n * @public\n */\nclass Integer extends DataType {\n\tstatic override isValid(value: any) {\n\t\treturn Number.isInteger(value);\n\t}\n\n\tstatic override attributeToProperty(attributeValue: string): PropertyValue {\n\t\treturn parseInt(attributeValue);\n\t}\n}\n\nexport default Integer;\n","/**\n * Different BusyIndicator sizes.\n *\n * @public\n */\nenum BusyIndicatorSize {\n\t/**\n\t * small size\n\t * @public\n\t */\n\tSmall = \"Small\",\n\n\t/**\n\t * medium size\n\t * @public\n\t */\n\tMedium = \"Medium\",\n\n\t/**\n\t * large size\n\t * @public\n\t */\n\tLarge = \"Large\",\n}\n\nexport default BusyIndicatorSize;\n","/**\n * Different types of wrapping.\n *\n * @public\n */\nenum WrappingType {\n\t/**\n\t * The text will be truncated with an ellipsis.\n\t * @public\n\t */\n\tNone = \"None\",\n\n\t/**\n\t * The text will wrap. The words will not be broken based on hyphenation.\n\t * @public\n\t */\n\tNormal = \"Normal\",\n}\n\nexport default WrappingType;\n","import { I18nText } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nconst ARIA_LABEL_CARD_CONTENT: I18nText = {key: \"ARIA_LABEL_CARD_CONTENT\", defaultText: \"Card Content\"};const ARIA_ROLEDESCRIPTION_CARD: I18nText = {key: \"ARIA_ROLEDESCRIPTION_CARD\", defaultText: \"Card\"};const ARIA_ROLEDESCRIPTION_CARD_HEADER: I18nText = {key: \"ARIA_ROLEDESCRIPTION_CARD_HEADER\", defaultText: \"Card Header\"};const ARIA_ROLEDESCRIPTION_INTERACTIVE_CARD_HEADER: I18nText = {key: \"ARIA_ROLEDESCRIPTION_INTERACTIVE_CARD_HEADER\", defaultText: \"Interactive Card Header\"};const AVATAR_TOOLTIP: I18nText = {key: \"AVATAR_TOOLTIP\", defaultText: \"Avatar\"};const AVATAR_GROUP_DISPLAYED_HIDDEN_LABEL: I18nText = {key: \"AVATAR_GROUP_DISPLAYED_HIDDEN_LABEL\", defaultText: \"{0} displayed, {1} hidden.\"};const AVATAR_GROUP_SHOW_COMPLETE_LIST_LABEL: I18nText = {key: \"AVATAR_GROUP_SHOW_COMPLETE_LIST_LABEL\", defaultText: \"Activate for complete list.\"};const AVATAR_GROUP_ARIA_LABEL_INDIVIDUAL: I18nText = {key: \"AVATAR_GROUP_ARIA_LABEL_INDIVIDUAL\", defaultText: \"Individual avatars.\"};const AVATAR_GROUP_ARIA_LABEL_GROUP: I18nText = {key: \"AVATAR_GROUP_ARIA_LABEL_GROUP\", defaultText: \"Conjoined avatars.\"};const AVATAR_GROUP_MOVE: I18nText = {key: \"AVATAR_GROUP_MOVE\", defaultText: \"Press ARROW keys to move.\"};const BADGE_DESCRIPTION_BADGE: I18nText = {key: \"BADGE_DESCRIPTION_BADGE\", defaultText: \"Badge\"};const BADGE_DESCRIPTION_TAG: I18nText = {key: \"BADGE_DESCRIPTION_TAG\", defaultText: \"Tag\"};const BADGE_ROLE_DESCRIPTION: I18nText = {key: \"BADGE_ROLE_DESCRIPTION\", defaultText: \"Tag button\"};const BADGE_ERROR: I18nText = {key: \"BADGE_ERROR\", defaultText: \"Error\"};const BADGE_WARNING: I18nText = {key: \"BADGE_WARNING\", defaultText: \"Warning\"};const BADGE_SUCCESS: I18nText = {key: \"BADGE_SUCCESS\", defaultText: \"Success\"};const BADGE_INFORMATION: I18nText = {key: \"BADGE_INFORMATION\", defaultText: \"Information\"};const BREADCRUMB_ITEM_POS: I18nText = {key: \"BREADCRUMB_ITEM_POS\", defaultText: \"{0} of {1}\"};const BREADCRUMBS_ARIA_LABEL: I18nText = {key: \"BREADCRUMBS_ARIA_LABEL\", defaultText: \"Breadcrumb Trail\"};const BREADCRUMBS_OVERFLOW_ARIA_LABEL: I18nText = {key: \"BREADCRUMBS_OVERFLOW_ARIA_LABEL\", defaultText: \"More\"};const BREADCRUMBS_CANCEL_BUTTON: I18nText = {key: \"BREADCRUMBS_CANCEL_BUTTON\", defaultText: \"Cancel\"};const BUSY_INDICATOR_TITLE: I18nText = {key: \"BUSY_INDICATOR_TITLE\", defaultText: \"Please wait\"};const BUTTON_ARIA_TYPE_ACCEPT: I18nText = {key: \"BUTTON_ARIA_TYPE_ACCEPT\", defaultText: \"Positive Action\"};const BUTTON_ARIA_TYPE_REJECT: I18nText = {key: \"BUTTON_ARIA_TYPE_REJECT\", defaultText: \"Negative Action\"};const BUTTON_ARIA_TYPE_EMPHASIZED: I18nText = {key: \"BUTTON_ARIA_TYPE_EMPHASIZED\", defaultText: \"Emphasized\"};const CAROUSEL_OF_TEXT: I18nText = {key: \"CAROUSEL_OF_TEXT\", defaultText: \"of\"};const CAROUSEL_DOT_TEXT: I18nText = {key: \"CAROUSEL_DOT_TEXT\", defaultText: \"Item {0} of {1} displayed\"};const CAROUSEL_PREVIOUS_ARROW_TEXT: I18nText = {key: \"CAROUSEL_PREVIOUS_ARROW_TEXT\", defaultText: \"Previous Page\"};const CAROUSEL_NEXT_ARROW_TEXT: I18nText = {key: \"CAROUSEL_NEXT_ARROW_TEXT\", defaultText: \"Next Page\"};const COLORPALETTE_CONTAINER_LABEL: I18nText = {key: \"COLORPALETTE_CONTAINER_LABEL\", defaultText: \"Color palette - Predefined colors\"};const COLORPALETTE_POPOVER_TITLE: I18nText = {key: \"COLORPALETTE_POPOVER_TITLE\", defaultText: \"Color Palette\"};const COLORPALETTE_COLOR_LABEL: I18nText = {key: \"COLORPALETTE_COLOR_LABEL\", defaultText: \"Color\"};const COLOR_PALETTE_DIALOG_CANCEL_BUTTON: I18nText = {key: \"COLOR_PALETTE_DIALOG_CANCEL_BUTTON\", defaultText: \"Cancel\"};const COLOR_PALETTE_DIALOG_OK_BUTTON: I18nText = {key: \"COLOR_PALETTE_DIALOG_OK_BUTTON\", defaultText: \"OK\"};const COLOR_PALETTE_DIALOG_TITLE: I18nText = {key: \"COLOR_PALETTE_DIALOG_TITLE\", defaultText: \"Change Color\"};const COLOR_PALETTE_MORE_COLORS_TEXT: I18nText = {key: \"COLOR_PALETTE_MORE_COLORS_TEXT\", defaultText: \"More Colors...\"};const COLOR_PALETTE_DEFAULT_COLOR_TEXT: I18nText = {key: \"COLOR_PALETTE_DEFAULT_COLOR_TEXT\", defaultText: \"Default Color\"};const COLORPICKER_ALPHA_SLIDER: I18nText = {key: \"COLORPICKER_ALPHA_SLIDER\", defaultText: \"Alpha control\"};const COLORPICKER_HUE_SLIDER: I18nText = {key: \"COLORPICKER_HUE_SLIDER\", defaultText: \"Hue control\"};const COLORPICKER_HEX: I18nText = {key: \"COLORPICKER_HEX\", defaultText: \"Hexadecimal\"};const COLORPICKER_RED: I18nText = {key: \"COLORPICKER_RED\", defaultText: \"Red\"};const COLORPICKER_GREEN: I18nText = {key: \"COLORPICKER_GREEN\", defaultText: \"Green\"};const COLORPICKER_BLUE: I18nText = {key: \"COLORPICKER_BLUE\", defaultText: \"Blue\"};const COLORPICKER_ALPHA: I18nText = {key: \"COLORPICKER_ALPHA\", defaultText: \"Alpha\"};const DATEPICKER_OPEN_ICON_TITLE: I18nText = {key: \"DATEPICKER_OPEN_ICON_TITLE\", defaultText: \"Open Picker\"};const DATEPICKER_DATE_DESCRIPTION: I18nText = {key: \"DATEPICKER_DATE_DESCRIPTION\", defaultText: \"Date Input\"};const DATETIME_DESCRIPTION: I18nText = {key: \"DATETIME_DESCRIPTION\", defaultText: \"Date Time Input\"};const DATERANGE_DESCRIPTION: I18nText = {key: \"DATERANGE_DESCRIPTION\", defaultText: \"Date Range Input\"};const DELETE: I18nText = {key: \"DELETE\", defaultText: \"Delete\"};const FILEUPLOAD_BROWSE: I18nText = {key: \"FILEUPLOAD_BROWSE\", defaultText: \"Browse...\"};const FILEUPLOADER_TITLE: I18nText = {key: \"FILEUPLOADER_TITLE\", defaultText: \"Upload File\"};const GROUP_HEADER_TEXT: I18nText = {key: \"GROUP_HEADER_TEXT\", defaultText: \"Group Header\"};const SELECT_ROLE_DESCRIPTION: I18nText = {key: \"SELECT_ROLE_DESCRIPTION\", defaultText: \"Listbox\"};const SELECT_OPTIONS: I18nText = {key: \"SELECT_OPTIONS\", defaultText: \"Select Options\"};const SHOW_SELECTED_BUTTON: I18nText = {key: \"SHOW_SELECTED_BUTTON\", defaultText: \"Show Selected Items Only\"};const INPUT_SUGGESTIONS: I18nText = {key: \"INPUT_SUGGESTIONS\", defaultText: \"Suggestions available\"};const MCB_SELECTED_ITEMS: I18nText = {key: \"MCB_SELECTED_ITEMS\", defaultText: \"Select All ({0} of {1})\"};const INPUT_SUGGESTIONS_TITLE: I18nText = {key: \"INPUT_SUGGESTIONS_TITLE\", defaultText: \"Select\"};const INPUT_SUGGESTIONS_ONE_HIT: I18nText = {key: \"INPUT_SUGGESTIONS_ONE_HIT\", defaultText: \"1 result available\"};const INPUT_SUGGESTIONS_MORE_HITS: I18nText = {key: \"INPUT_SUGGESTIONS_MORE_HITS\", defaultText: \"{0} results are available\"};const INPUT_SUGGESTIONS_NO_HIT: I18nText = {key: \"INPUT_SUGGESTIONS_NO_HIT\", defaultText: \"No results\"};const INPUT_CLEAR_ICON_ACC_NAME: I18nText = {key: \"INPUT_CLEAR_ICON_ACC_NAME\", defaultText: \"Clear\"};const LINK_SUBTLE: I18nText = {key: \"LINK_SUBTLE\", defaultText: \"Subtle\"};const LINK_EMPHASIZED: I18nText = {key: \"LINK_EMPHASIZED\", defaultText: \"Emphasized\"};const LIST_ITEM_POSITION: I18nText = {key: \"LIST_ITEM_POSITION\", defaultText: \"List item {0} of {1}\"};const LIST_ITEM_SELECTED: I18nText = {key: \"LIST_ITEM_SELECTED\", defaultText: \"Selected\"};const LIST_ITEM_NOT_SELECTED: I18nText = {key: \"LIST_ITEM_NOT_SELECTED\", defaultText: \"Not Selected\"};const LIST_ITEM_GROUP_HEADER: I18nText = {key: \"LIST_ITEM_GROUP_HEADER\", defaultText: \"Group Header\"};const ARIA_LABEL_LIST_ITEM_CHECKBOX: I18nText = {key: \"ARIA_LABEL_LIST_ITEM_CHECKBOX\", defaultText: \"Multiple Selection mode.\"};const ARIA_LABEL_LIST_ITEM_RADIO_BUTTON: I18nText = {key: \"ARIA_LABEL_LIST_ITEM_RADIO_BUTTON\", defaultText: \"Item Selection.\"};const ARIA_LABEL_LIST_SELECTABLE: I18nText = {key: \"ARIA_LABEL_LIST_SELECTABLE\", defaultText: \"Contains Selectable Items\"};const ARIA_LABEL_LIST_MULTISELECTABLE: I18nText = {key: \"ARIA_LABEL_LIST_MULTISELECTABLE\", defaultText: \"Contains Multi-Selectable Items\"};const ARIA_LABEL_LIST_DELETABLE: I18nText = {key: \"ARIA_LABEL_LIST_DELETABLE\", defaultText: \"Contains Deletable Items\"};const MESSAGE_STRIP_CLOSE_BUTTON: I18nText = {key: \"MESSAGE_STRIP_CLOSE_BUTTON\", defaultText: \"Information Bar Close\"};const MESSAGE_STRIP_CLOSABLE: I18nText = {key: \"MESSAGE_STRIP_CLOSABLE\", defaultText: \"Closable\"};const MESSAGE_STRIP_ERROR: I18nText = {key: \"MESSAGE_STRIP_ERROR\", defaultText: \"Error Information Bar\"};const MESSAGE_STRIP_WARNING: I18nText = {key: \"MESSAGE_STRIP_WARNING\", defaultText: \"Warning Information Bar\"};const MESSAGE_STRIP_SUCCESS: I18nText = {key: \"MESSAGE_STRIP_SUCCESS\", defaultText: \"Success Information Bar\"};const MESSAGE_STRIP_INFORMATION: I18nText = {key: \"MESSAGE_STRIP_INFORMATION\", defaultText: \"Information Bar\"};const MULTICOMBOBOX_DIALOG_OK_BUTTON: I18nText = {key: \"MULTICOMBOBOX_DIALOG_OK_BUTTON\", defaultText: \"OK\"};const RADIO_BUTTON_GROUP_REQUIRED: I18nText = {key: \"RADIO_BUTTON_GROUP_REQUIRED\", defaultText: \"Select one of the available options.\"};const VALUE_STATE_ERROR_ALREADY_SELECTED: I18nText = {key: \"VALUE_STATE_ERROR_ALREADY_SELECTED\", defaultText: \"This value is already selected.\"};const MULTIINPUT_ROLEDESCRIPTION_TEXT: I18nText = {key: \"MULTIINPUT_ROLEDESCRIPTION_TEXT\", defaultText: \"Multi Value Input\"};const MULTIINPUT_SHOW_MORE_TOKENS: I18nText = {key: \"MULTIINPUT_SHOW_MORE_TOKENS\", defaultText: \"{0} More\"};const PANEL_ICON: I18nText = {key: \"PANEL_ICON\", defaultText: \"Expand/Collapse\"};const RANGE_SLIDER_ARIA_DESCRIPTION: I18nText = {key: \"RANGE_SLIDER_ARIA_DESCRIPTION\", defaultText: \"Range\"};const RANGE_SLIDER_START_HANDLE_DESCRIPTION: I18nText = {key: \"RANGE_SLIDER_START_HANDLE_DESCRIPTION\", defaultText: \"Left handle\"};const RANGE_SLIDER_END_HANDLE_DESCRIPTION: I18nText = {key: \"RANGE_SLIDER_END_HANDLE_DESCRIPTION\", defaultText: \"Right handle\"};const RATING_INDICATOR_TOOLTIP_TEXT: I18nText = {key: \"RATING_INDICATOR_TOOLTIP_TEXT\", defaultText: \"Rating\"};const RATING_INDICATOR_TEXT: I18nText = {key: \"RATING_INDICATOR_TEXT\", defaultText: \"Rating Indicator\"};const RATING_INDICATOR_ARIA_DESCRIPTION: I18nText = {key: \"RATING_INDICATOR_ARIA_DESCRIPTION\", defaultText: \"Required\"};const RESPONSIVE_POPOVER_CLOSE_DIALOG_BUTTON: I18nText = {key: \"RESPONSIVE_POPOVER_CLOSE_DIALOG_BUTTON\", defaultText: \"Decline\"};const SEGMENTEDBUTTON_ARIA_DESCRIPTION: I18nText = {key: \"SEGMENTEDBUTTON_ARIA_DESCRIPTION\", defaultText: \"Segmented button group\"};const SEGMENTEDBUTTON_ARIA_DESCRIBEDBY: I18nText = {key: \"SEGMENTEDBUTTON_ARIA_DESCRIBEDBY\", defaultText: \"Press SPACE or ENTER to select an item\"};const SEGMENTEDBUTTONITEM_ARIA_DESCRIPTION: I18nText = {key: \"SEGMENTEDBUTTONITEM_ARIA_DESCRIPTION\", defaultText: \"Segmented button\"};const SLIDER_ARIA_DESCRIPTION: I18nText = {key: \"SLIDER_ARIA_DESCRIPTION\", defaultText: \"Slider handle\"};const LOAD_MORE_TEXT: I18nText = {key: \"LOAD_MORE_TEXT\", defaultText: \"More\"};const TABLE_HEADER_ROW_INFORMATION: I18nText = {key: \"TABLE_HEADER_ROW_INFORMATION\", defaultText: \"Header Row 1 of {0}\"};const TABLE_ROW_POSITION: I18nText = {key: \"TABLE_ROW_POSITION\", defaultText: \"{0} of {1}\"};const TABLE_GROUP_ROW_ARIA_LABEL: I18nText = {key: \"TABLE_GROUP_ROW_ARIA_LABEL\", defaultText: \"Group header row.\"};const ARIA_LABEL_ROW_SELECTION: I18nText = {key: \"ARIA_LABEL_ROW_SELECTION\", defaultText: \"Item selection\"};const ARIA_LABEL_SELECT_ALL_CHECKBOX: I18nText = {key: \"ARIA_LABEL_SELECT_ALL_CHECKBOX\", defaultText: \"Select All Rows\"};const ARIA_LABEL_EMPTY_CELL: I18nText = {key: \"ARIA_LABEL_EMPTY_CELL\", defaultText: \"Empty\"};const TAB_ARIA_DESIGN_POSITIVE: I18nText = {key: \"TAB_ARIA_DESIGN_POSITIVE\", defaultText: \"Positive\"};const TAB_ARIA_DESIGN_NEGATIVE: I18nText = {key: \"TAB_ARIA_DESIGN_NEGATIVE\", defaultText: \"Negative\"};const TAB_ARIA_DESIGN_CRITICAL: I18nText = {key: \"TAB_ARIA_DESIGN_CRITICAL\", defaultText: \"Critical\"};const TAB_ARIA_DESIGN_NEUTRAL: I18nText = {key: \"TAB_ARIA_DESIGN_NEUTRAL\", defaultText: \"Neutral\"};const TAB_SPLIT_ROLE_DESCRIPTION: I18nText = {key: \"TAB_SPLIT_ROLE_DESCRIPTION\", defaultText: \"Tab with subitems\"};const TABCONTAINER_NEXT_ICON_ACC_NAME: I18nText = {key: \"TABCONTAINER_NEXT_ICON_ACC_NAME\", defaultText: \"Next\"};const TABCONTAINER_PREVIOUS_ICON_ACC_NAME: I18nText = {key: \"TABCONTAINER_PREVIOUS_ICON_ACC_NAME\", defaultText: \"Previous\"};const TABCONTAINER_OVERFLOW_MENU_TITLE: I18nText = {key: \"TABCONTAINER_OVERFLOW_MENU_TITLE\", defaultText: \"Overflow Menu\"};const TABCONTAINER_END_OVERFLOW: I18nText = {key: \"TABCONTAINER_END_OVERFLOW\", defaultText: \"More\"};const TABCONTAINER_POPOVER_CANCEL_BUTTON: I18nText = {key: \"TABCONTAINER_POPOVER_CANCEL_BUTTON\", defaultText: \"Cancel\"};const TABCONTAINER_SUBTABS_DESCRIPTION: I18nText = {key: \"TABCONTAINER_SUBTABS_DESCRIPTION\", defaultText: \"Press down arrow key to open subitems menu\"};const TEXTAREA_CHARACTERS_LEFT: I18nText = {key: \"TEXTAREA_CHARACTERS_LEFT\", defaultText: \"{0} characters remaining\"};const TEXTAREA_CHARACTERS_EXCEEDED: I18nText = {key: \"TEXTAREA_CHARACTERS_EXCEEDED\", defaultText: \"{0} characters over limit\"};const TIMEPICKER_HOURS_LABEL: I18nText = {key: \"TIMEPICKER_HOURS_LABEL\", defaultText: \"Hours\"};const TIMEPICKER_MINUTES_LABEL: I18nText = {key: \"TIMEPICKER_MINUTES_LABEL\", defaultText: \"Minutes\"};const TIMEPICKER_SECONDS_LABEL: I18nText = {key: \"TIMEPICKER_SECONDS_LABEL\", defaultText: \"Seconds\"};const TIMEPICKER_SUBMIT_BUTTON: I18nText = {key: \"TIMEPICKER_SUBMIT_BUTTON\", defaultText: \"OK\"};const TIMEPICKER_CANCEL_BUTTON: I18nText = {key: \"TIMEPICKER_CANCEL_BUTTON\", defaultText: \"Cancel\"};const TIMEPICKER_INPUT_DESCRIPTION: I18nText = {key: \"TIMEPICKER_INPUT_DESCRIPTION\", defaultText: \"Time Input\"};const TIMEPICKER_CLOCK_DIAL_LABEL: I18nText = {key: \"TIMEPICKER_CLOCK_DIAL_LABEL\", defaultText: \"Clock Dial\"};const TIMEPICKER_INPUTS_ENTER_HOURS: I18nText = {key: \"TIMEPICKER_INPUTS_ENTER_HOURS\", defaultText: \"Please enter hours\"};const TIMEPICKER_INPUTS_ENTER_MINUTES: I18nText = {key: \"TIMEPICKER_INPUTS_ENTER_MINUTES\", defaultText: \"Please enter minutes\"};const TIMEPICKER_INPUTS_ENTER_SECONDS: I18nText = {key: \"TIMEPICKER_INPUTS_ENTER_SECONDS\", defaultText: \"Please enter seconds\"};const DURATION_INPUT_DESCRIPTION: I18nText = {key: \"DURATION_INPUT_DESCRIPTION\", defaultText: \"Duration Input\"};const DATETIME_PICKER_DATE_BUTTON: I18nText = {key: \"DATETIME_PICKER_DATE_BUTTON\", defaultText: \"Date\"};const DATETIME_PICKER_TIME_BUTTON: I18nText = {key: \"DATETIME_PICKER_TIME_BUTTON\", defaultText: \"Time\"};const TOKEN_ARIA_DELETABLE: I18nText = {key: \"TOKEN_ARIA_DELETABLE\", defaultText: \"Deletable\"};const TOKENIZER_ARIA_CONTAIN_TOKEN: I18nText = {key: \"TOKENIZER_ARIA_CONTAIN_TOKEN\", defaultText: \"No Tokens\"};const TOKENIZER_ARIA_CONTAIN_ONE_TOKEN: I18nText = {key: \"TOKENIZER_ARIA_CONTAIN_ONE_TOKEN\", defaultText: \"Contains 1 token\"};const TOKENIZER_ARIA_CONTAIN_SEVERAL_TOKENS: I18nText = {key: \"TOKENIZER_ARIA_CONTAIN_SEVERAL_TOKENS\", defaultText: \"Contains {0} tokens\"};const TOKENIZER_ARIA_LABEL: I18nText = {key: \"TOKENIZER_ARIA_LABEL\", defaultText: \"Tokenizer\"};const TOKENIZER_POPOVER_REMOVE: I18nText = {key: \"TOKENIZER_POPOVER_REMOVE\", defaultText: \"Remove\"};const TOKENIZER_SHOW_ALL_ITEMS: I18nText = {key: \"TOKENIZER_SHOW_ALL_ITEMS\", defaultText: \"{0} Items\"};const TREE_ITEM_ARIA_LABEL: I18nText = {key: \"TREE_ITEM_ARIA_LABEL\", defaultText: \"Tree Item\"};const TREE_ITEM_EXPAND_NODE: I18nText = {key: \"TREE_ITEM_EXPAND_NODE\", defaultText: \"Expand Node\"};const TREE_ITEM_COLLAPSE_NODE: I18nText = {key: \"TREE_ITEM_COLLAPSE_NODE\", defaultText: \"Collapse Node\"};const VALUE_STATE_TYPE_ERROR: I18nText = {key: \"VALUE_STATE_TYPE_ERROR\", defaultText: \"Value State Error\"};const VALUE_STATE_TYPE_WARNING: I18nText = {key: \"VALUE_STATE_TYPE_WARNING\", defaultText: \"Value State Warning\"};const VALUE_STATE_TYPE_SUCCESS: I18nText = {key: \"VALUE_STATE_TYPE_SUCCESS\", defaultText: \"Value State Success\"};const VALUE_STATE_TYPE_INFORMATION: I18nText = {key: \"VALUE_STATE_TYPE_INFORMATION\", defaultText: \"Value State Information\"};const VALUE_STATE_ERROR: I18nText = {key: \"VALUE_STATE_ERROR\", defaultText: \"Invalid entry\"};const VALUE_STATE_WARNING: I18nText = {key: \"VALUE_STATE_WARNING\", defaultText: \"Warning issued\"};const VALUE_STATE_INFORMATION: I18nText = {key: \"VALUE_STATE_INFORMATION\", defaultText: \"Informative entry\"};const VALUE_STATE_SUCCESS: I18nText = {key: \"VALUE_STATE_SUCCESS\", defaultText: \"Entry successfully validated\"};const CALENDAR_HEADER_NEXT_BUTTON: I18nText = {key: \"CALENDAR_HEADER_NEXT_BUTTON\", defaultText: \"Next\"};const CALENDAR_HEADER_PREVIOUS_BUTTON: I18nText = {key: \"CALENDAR_HEADER_PREVIOUS_BUTTON\", defaultText: \"Previous\"};const DAY_PICKER_WEEK_NUMBER_TEXT: I18nText = {key: \"DAY_PICKER_WEEK_NUMBER_TEXT\", defaultText: \"Week number\"};const DAY_PICKER_NON_WORKING_DAY: I18nText = {key: \"DAY_PICKER_NON_WORKING_DAY\", defaultText: \"Non-Working Day\"};const DAY_PICKER_TODAY: I18nText = {key: \"DAY_PICKER_TODAY\", defaultText: \"Today\"};const MONTH_PICKER_DESCRIPTION: I18nText = {key: \"MONTH_PICKER_DESCRIPTION\", defaultText: \"Month Picker\"};const YEAR_PICKER_DESCRIPTION: I18nText = {key: \"YEAR_PICKER_DESCRIPTION\", defaultText: \"Year Picker\"};const STEPINPUT_DEC_ICON_TITLE: I18nText = {key: \"STEPINPUT_DEC_ICON_TITLE\", defaultText: \"Decrease\"};const STEPINPUT_INC_ICON_TITLE: I18nText = {key: \"STEPINPUT_INC_ICON_TITLE\", defaultText: \"Increase\"};const SPLIT_BUTTON_DESCRIPTION: I18nText = {key: \"SPLIT_BUTTON_DESCRIPTION\", defaultText: \"Split Button\"};const SPLIT_BUTTON_KEYBOARD_HINT: I18nText = {key: \"SPLIT_BUTTON_KEYBOARD_HINT\", defaultText: \"Press Space or Enter to trigger default action and Alt + Arrow Down or F4 to trigger arrow action\"};const MENU_BACK_BUTTON_ARIA_LABEL: I18nText = {key: \"MENU_BACK_BUTTON_ARIA_LABEL\", defaultText: \"Back\"};const MENU_CLOSE_BUTTON_ARIA_LABEL: I18nText = {key: \"MENU_CLOSE_BUTTON_ARIA_LABEL\", defaultText: \"Decline\"};const NAVIGATION_MENU_POPOVER_HIDDEN_TEXT: I18nText = {key: \"NAVIGATION_MENU_POPOVER_HIDDEN_TEXT\", defaultText: \"Navigation\"};const DIALOG_HEADER_ARIA_ROLE_DESCRIPTION: I18nText = {key: \"DIALOG_HEADER_ARIA_ROLE_DESCRIPTION\", defaultText: \"Interactive Header\"};const DIALOG_HEADER_ARIA_DESCRIBEDBY_RESIZABLE: I18nText = {key: \"DIALOG_HEADER_ARIA_DESCRIBEDBY_RESIZABLE\", defaultText: \"Use Shift+Arrow keys to resize\"};const DIALOG_HEADER_ARIA_DESCRIBEDBY_DRAGGABLE: I18nText = {key: \"DIALOG_HEADER_ARIA_DESCRIBEDBY_DRAGGABLE\", defaultText: \"Use Arrow keys to move\"};const DIALOG_HEADER_ARIA_DESCRIBEDBY_DRAGGABLE_RESIZABLE: I18nText = {key: \"DIALOG_HEADER_ARIA_DESCRIBEDBY_DRAGGABLE_RESIZABLE\", defaultText: \"Use Arrow keys to move, Shift+Arrow keys to resize\"};const LABEL_COLON: I18nText = {key: \"LABEL_COLON\", defaultText: \":\"};const TOOLBAR_OVERFLOW_BUTTON_ARIA_LABEL: I18nText = {key: \"TOOLBAR_OVERFLOW_BUTTON_ARIA_LABEL\", defaultText: \"Additional Options\"};\nexport {ARIA_LABEL_CARD_CONTENT,ARIA_ROLEDESCRIPTION_CARD,ARIA_ROLEDESCRIPTION_CARD_HEADER,ARIA_ROLEDESCRIPTION_INTERACTIVE_CARD_HEADER,AVATAR_TOOLTIP,AVATAR_GROUP_DISPLAYED_HIDDEN_LABEL,AVATAR_GROUP_SHOW_COMPLETE_LIST_LABEL,AVATAR_GROUP_ARIA_LABEL_INDIVIDUAL,AVATAR_GROUP_ARIA_LABEL_GROUP,AVATAR_GROUP_MOVE,BADGE_DESCRIPTION_BADGE,BADGE_DESCRIPTION_TAG,BADGE_ROLE_DESCRIPTION,BADGE_ERROR,BADGE_WARNING,BADGE_SUCCESS,BADGE_INFORMATION,BREADCRUMB_ITEM_POS,BREADCRUMBS_ARIA_LABEL,BREADCRUMBS_OVERFLOW_ARIA_LABEL,BREADCRUMBS_CANCEL_BUTTON,BUSY_INDICATOR_TITLE,BUTTON_ARIA_TYPE_ACCEPT,BUTTON_ARIA_TYPE_REJECT,BUTTON_ARIA_TYPE_EMPHASIZED,CAROUSEL_OF_TEXT,CAROUSEL_DOT_TEXT,CAROUSEL_PREVIOUS_ARROW_TEXT,CAROUSEL_NEXT_ARROW_TEXT,COLORPALETTE_CONTAINER_LABEL,COLORPALETTE_POPOVER_TITLE,COLORPALETTE_COLOR_LABEL,COLOR_PALETTE_DIALOG_CANCEL_BUTTON,COLOR_PALETTE_DIALOG_OK_BUTTON,COLOR_PALETTE_DIALOG_TITLE,COLOR_PALETTE_MORE_COLORS_TEXT,COLOR_PALETTE_DEFAULT_COLOR_TEXT,COLORPICKER_ALPHA_SLIDER,COLORPICKER_HUE_SLIDER,COLORPICKER_HEX,COLORPICKER_RED,COLORPICKER_GREEN,COLORPICKER_BLUE,COLORPICKER_ALPHA,DATEPICKER_OPEN_ICON_TITLE,DATEPICKER_DATE_DESCRIPTION,DATETIME_DESCRIPTION,DATERANGE_DESCRIPTION,DELETE,FILEUPLOAD_BROWSE,FILEUPLOADER_TITLE,GROUP_HEADER_TEXT,SELECT_ROLE_DESCRIPTION,SELECT_OPTIONS,SHOW_SELECTED_BUTTON,INPUT_SUGGESTIONS,MCB_SELECTED_ITEMS,INPUT_SUGGESTIONS_TITLE,INPUT_SUGGESTIONS_ONE_HIT,INPUT_SUGGESTIONS_MORE_HITS,INPUT_SUGGESTIONS_NO_HIT,INPUT_CLEAR_ICON_ACC_NAME,LINK_SUBTLE,LINK_EMPHASIZED,LIST_ITEM_POSITION,LIST_ITEM_SELECTED,LIST_ITEM_NOT_SELECTED,LIST_ITEM_GROUP_HEADER,ARIA_LABEL_LIST_ITEM_CHECKBOX,ARIA_LABEL_LIST_ITEM_RADIO_BUTTON,ARIA_LABEL_LIST_SELECTABLE,ARIA_LABEL_LIST_MULTISELECTABLE,ARIA_LABEL_LIST_DELETABLE,MESSAGE_STRIP_CLOSE_BUTTON,MESSAGE_STRIP_CLOSABLE,MESSAGE_STRIP_ERROR,MESSAGE_STRIP_WARNING,MESSAGE_STRIP_SUCCESS,MESSAGE_STRIP_INFORMATION,MULTICOMBOBOX_DIALOG_OK_BUTTON,RADIO_BUTTON_GROUP_REQUIRED,VALUE_STATE_ERROR_ALREADY_SELECTED,MULTIINPUT_ROLEDESCRIPTION_TEXT,MULTIINPUT_SHOW_MORE_TOKENS,PANEL_ICON,RANGE_SLIDER_ARIA_DESCRIPTION,RANGE_SLIDER_START_HANDLE_DESCRIPTION,RANGE_SLIDER_END_HANDLE_DESCRIPTION,RATING_INDICATOR_TOOLTIP_TEXT,RATING_INDICATOR_TEXT,RATING_INDICATOR_ARIA_DESCRIPTION,RESPONSIVE_POPOVER_CLOSE_DIALOG_BUTTON,SEGMENTEDBUTTON_ARIA_DESCRIPTION,SEGMENTEDBUTTON_ARIA_DESCRIBEDBY,SEGMENTEDBUTTONITEM_ARIA_DESCRIPTION,SLIDER_ARIA_DESCRIPTION,LOAD_MORE_TEXT,TABLE_HEADER_ROW_INFORMATION,TABLE_ROW_POSITION,TABLE_GROUP_ROW_ARIA_LABEL,ARIA_LABEL_ROW_SELECTION,ARIA_LABEL_SELECT_ALL_CHECKBOX,ARIA_LABEL_EMPTY_CELL,TAB_ARIA_DESIGN_POSITIVE,TAB_ARIA_DESIGN_NEGATIVE,TAB_ARIA_DESIGN_CRITICAL,TAB_ARIA_DESIGN_NEUTRAL,TAB_SPLIT_ROLE_DESCRIPTION,TABCONTAINER_NEXT_ICON_ACC_NAME,TABCONTAINER_PREVIOUS_ICON_ACC_NAME,TABCONTAINER_OVERFLOW_MENU_TITLE,TABCONTAINER_END_OVERFLOW,TABCONTAINER_POPOVER_CANCEL_BUTTON,TABCONTAINER_SUBTABS_DESCRIPTION,TEXTAREA_CHARACTERS_LEFT,TEXTAREA_CHARACTERS_EXCEEDED,TIMEPICKER_HOURS_LABEL,TIMEPICKER_MINUTES_LABEL,TIMEPICKER_SECONDS_LABEL,TIMEPICKER_SUBMIT_BUTTON,TIMEPICKER_CANCEL_BUTTON,TIMEPICKER_INPUT_DESCRIPTION,TIMEPICKER_CLOCK_DIAL_LABEL,TIMEPICKER_INPUTS_ENTER_HOURS,TIMEPICKER_INPUTS_ENTER_MINUTES,TIMEPICKER_INPUTS_ENTER_SECONDS,DURATION_INPUT_DESCRIPTION,DATETIME_PICKER_DATE_BUTTON,DATETIME_PICKER_TIME_BUTTON,TOKEN_ARIA_DELETABLE,TOKENIZER_ARIA_CONTAIN_TOKEN,TOKENIZER_ARIA_CONTAIN_ONE_TOKEN,TOKENIZER_ARIA_CONTAIN_SEVERAL_TOKENS,TOKENIZER_ARIA_LABEL,TOKENIZER_POPOVER_REMOVE,TOKENIZER_SHOW_ALL_ITEMS,TREE_ITEM_ARIA_LABEL,TREE_ITEM_EXPAND_NODE,TREE_ITEM_COLLAPSE_NODE,VALUE_STATE_TYPE_ERROR,VALUE_STATE_TYPE_WARNING,VALUE_STATE_TYPE_SUCCESS,VALUE_STATE_TYPE_INFORMATION,VALUE_STATE_ERROR,VALUE_STATE_WARNING,VALUE_STATE_INFORMATION,VALUE_STATE_SUCCESS,CALENDAR_HEADER_NEXT_BUTTON,CALENDAR_HEADER_PREVIOUS_BUTTON,DAY_PICKER_WEEK_NUMBER_TEXT,DAY_PICKER_NON_WORKING_DAY,DAY_PICKER_TODAY,MONTH_PICKER_DESCRIPTION,YEAR_PICKER_DESCRIPTION,STEPINPUT_DEC_ICON_TITLE,STEPINPUT_INC_ICON_TITLE,SPLIT_BUTTON_DESCRIPTION,SPLIT_BUTTON_KEYBOARD_HINT,MENU_BACK_BUTTON_ARIA_LABEL,MENU_CLOSE_BUTTON_ARIA_LABEL,NAVIGATION_MENU_POPOVER_HIDDEN_TEXT,DIALOG_HEADER_ARIA_ROLE_DESCRIPTION,DIALOG_HEADER_ARIA_DESCRIBEDBY_RESIZABLE,DIALOG_HEADER_ARIA_DESCRIBEDBY_DRAGGABLE,DIALOG_HEADER_ARIA_DESCRIBEDBY_DRAGGABLE_RESIZABLE,LABEL_COLON,TOOLBAR_OVERFLOW_BUTTON_ARIA_LABEL};","/* eslint no-unused-vars: 0 */\nimport { html, svg, repeat, classMap, styleMap, ifDefined, unsafeHTML, scopeTag } from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\timport type Label from \"../../Label.js\";\n\timport type { ClassMapValue } from \"@ui5/webcomponents-base/dist/types.js\";\n\t\nfunction block0 (this: Label, context: UI5Element, tags: string[], suffix: string | undefined) { return html``;}\n\n\nexport default block0;","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents-theming\",fileName:\"themes/sap_horizon/parameters-bundle.css.ts\",content:`:root{--sapThemeMetaData-Base-baseLib:{\"Path\": \"Base.baseLib.sap_horizon.css_variables\",\"PathPattern\": \"/%frameworkId%/%libId%/%themeId%/%fileId%.css\",\"Extends\": [\"baseTheme\"],\"Tags\": [\"Fiori_3\",\"LightColorScheme\"],\"FallbackThemeId\": \"sap_fiori_3\",\"Engine\":{\"Name\": \"theming-engine\",\"Version\": \"1.23061.0\"},\"Version\":{\"Build\": \"11.10.0.20231213074408\",\"Source\": \"11.10.0\"}};--sapBrandColor: #0070f2;--sapHighlightColor: #0064d9;--sapBaseColor: #fff;--sapShellColor: #fff;--sapBackgroundColor: #f5f6f7;--sapFontFamily: \"72\", \"72full\", Arial, Helvetica, sans-serif;--sapFontSize: .875rem;--sapTextColor: #1d2d3e;--sapLinkColor: #0064d9;--sapCompanyLogo: none;--sapBackgroundImage: none;--sapBackgroundImageOpacity: 1;--sapBackgroundImageRepeat: false;--sapSelectedColor: #0064d9;--sapHoverColor: #eaecee;--sapActiveColor: #dee2e5;--sapHighlightTextColor: #fff;--sapTitleColor: #1d2d3e;--sapNegativeColor: #aa0808;--sapCriticalColor: #e76500;--sapPositiveColor: #256f3a;--sapInformativeColor: #0070f2;--sapNeutralColor: #788fa6;--sapNegativeElementColor: #f53232;--sapCriticalElementColor: #e76500;--sapPositiveElementColor: #30914c;--sapInformativeElementColor: #0070f2;--sapNeutralElementColor: #788fa6;--sapNegativeTextColor: #aa0808;--sapCriticalTextColor: #b44f00;--sapPositiveTextColor: #256f3a;--sapInformativeTextColor: #0064d9;--sapNeutralTextColor: #1d2d3e;--sapErrorColor: #aa0808;--sapWarningColor: #e76500;--sapSuccessColor: #256f3a;--sapInformationColor: #0070f2;--sapErrorBackground: #ffeaf4;--sapWarningBackground: #fff8d6;--sapSuccessBackground: #f5fae5;--sapInformationBackground: #e1f4ff;--sapNeutralBackground: #eff1f2;--sapErrorBorderColor: #e90b0b;--sapWarningBorderColor: #dd6100;--sapSuccessBorderColor: #30914c;--sapInformationBorderColor: #0070f2;--sapNeutralBorderColor: #788fa6;--sapElement_LineHeight: 2.75rem;--sapElement_Height: 2.25rem;--sapElement_BorderWidth: .0625rem;--sapElement_BorderCornerRadius: .75rem;--sapElement_Compact_LineHeight: 2rem;--sapElement_Compact_Height: 1.625rem;--sapElement_Condensed_LineHeight: 1.5rem;--sapElement_Condensed_Height: 1.375rem;--sapContent_LineHeight: 1.5;--sapContent_IconHeight: 1rem;--sapContent_IconColor: #1d2d3e;--sapContent_ContrastIconColor: #fff;--sapContent_NonInteractiveIconColor: #758ca4;--sapContent_MarkerIconColor: #5d36ff;--sapContent_MarkerTextColor: #046c7a;--sapContent_MeasureIndicatorColor: #556b81;--sapContent_Selected_MeasureIndicatorColor: #0064d9;--sapContent_Placeholderloading_Background: #ccc;--sapContent_Placeholderloading_Gradient: linear-gradient(to right, #ccc 0%, #ccc 20%, #999 50%, #ccc 80%, #ccc 100%);--sapContent_ImagePlaceholderBackground: #eaecee;--sapContent_ImagePlaceholderForegroundColor: #5b738b;--sapContent_RatedColor: #d27700;--sapContent_UnratedColor: #758ca4;--sapContent_BusyColor: #0064d9;--sapContent_FocusColor: #0032a5;--sapContent_FocusStyle: solid;--sapContent_FocusWidth: .125rem;--sapContent_ContrastFocusColor: #fff;--sapContent_ShadowColor: #223548;--sapContent_ContrastShadowColor: #fff;--sapContent_Shadow0: 0 0 .125rem 0 rgba(34,53,72,.2), 0 .125rem .25rem 0 rgba(34,53,72,.2);--sapContent_Shadow1: 0 0 0 .0625rem rgba(34,53,72,.48), 0 .125rem .5rem 0 rgba(34,53,72,.3);--sapContent_Shadow2: 0 0 0 .0625rem rgba(34,53,72,.48), 0 .625rem 1.875rem 0 rgba(34,53,72,.25);--sapContent_Shadow3: 0 0 0 .0625rem rgba(34,53,72,.48), 0 1.25rem 5rem 0 rgba(34,53,72,.25);--sapContent_TextShadow: 0 0 .125rem #fff;--sapContent_ContrastTextShadow: 0 0 .0625rem rgba(0,0,0,.7);--sapContent_HeaderShadow: 0 .125rem .125rem 0 rgba(34,53,72,.05), inset 0 -.0625rem 0 0 #d9d9d9;--sapContent_Interaction_Shadow: inset 0 0 0 .0625rem rgba(85,107,129,.25);--sapContent_Selected_Shadow: inset 0 0 0 .0625rem rgba(79,160,255,.5);--sapContent_Negative_Shadow: inset 0 0 0 .0625rem rgba(255,142,196,.45);--sapContent_Critical_Shadow: inset 0 0 0 .0625rem rgba(255,213,10,.4);--sapContent_Positive_Shadow: inset 0 0 0 .0625rem rgba(48,145,76,.18);--sapContent_Informative_Shadow: inset 0 0 0 .0625rem rgba(104,174,255,.5);--sapContent_Neutral_Shadow: inset 0 0 0 .0625rem rgba(120,143,166,.3);--sapContent_SearchHighlightColor: #dafdf5;--sapContent_HelpColor: #188918;--sapContent_LabelColor: #556b82;--sapContent_MonospaceFontFamily: \"72Mono\", \"72Monofull\", lucida console, monospace;--sapContent_MonospaceBoldFontFamily: \"72Mono-Bold\", \"72Mono-Boldfull\", lucida console, monospace;--sapContent_IconFontFamily: \"SAP-icons\";--sapContent_DisabledTextColor: rgba(29,45,62,.6);--sapContent_DisabledOpacity: .4;--sapContent_ContrastTextThreshold: .65;--sapContent_ContrastTextColor: #fff;--sapContent_ForegroundColor: #efefef;--sapContent_ForegroundBorderColor: #758ca4;--sapContent_ForegroundTextColor: #1d2d3e;--sapContent_BadgeBackground: #aa0808;--sapContent_BadgeTextColor: #fff;--sapContent_DragAndDropActiveColor: #0064d9;--sapContent_Selected_TextColor: #0064d9;--sapContent_Selected_Background: #fff;--sapContent_Selected_Hover_Background: #e3f0ff;--sapContent_Selected_ForegroundColor: #0064d9;--sapContent_ForcedColorAdjust: none;--sapContent_Illustrative_Color1: #5d36ff;--sapContent_Illustrative_Color2: #0070f2;--sapContent_Illustrative_Color3: #f58b00;--sapContent_Illustrative_Color4: #00144a;--sapContent_Illustrative_Color5: #a9b4be;--sapContent_Illustrative_Color6: #d5dadd;--sapContent_Illustrative_Color7: #ebf8ff;--sapContent_Illustrative_Color8: #fff;--sapContent_Illustrative_Color9: #64edd2;--sapContent_Illustrative_Color10: #ebf8ff;--sapContent_Illustrative_Color11: #f31ded;--sapContent_Illustrative_Color12: #00a800;--sapContent_Illustrative_Color13: #005dc9;--sapContent_Illustrative_Color14: #004da5;--sapContent_Illustrative_Color15: #cc7400;--sapContent_Illustrative_Color16: #3b0ac6;--sapContent_Illustrative_Color17: #00a58a;--sapContent_Illustrative_Color18: #d1efff;--sapContent_Illustrative_Color19: #b8e6ff;--sapContent_Illustrative_Color20: #9eddff;--sapFontLightFamily: \"72-Light\", \"72-Lightfull\", \"72\", \"72full\", Arial, Helvetica, sans-serif;--sapFontBoldFamily: \"72-Bold\", \"72-Boldfull\", \"72\", \"72full\", Arial, Helvetica, sans-serif;--sapFontSemiboldFamily: \"72-Semibold\", \"72-Semiboldfull\", \"72\", \"72full\", Arial, Helvetica, sans-serif;--sapFontSemiboldDuplexFamily: \"72-SemiboldDuplex\", \"72-SemiboldDuplexfull\", \"72\", \"72full\", Arial, Helvetica, sans-serif;--sapFontBlackFamily: \"72Black\", \"72Blackfull\",\"72\", \"72full\", Arial, Helvetica, sans-serif;--sapFontHeaderFamily: \"72-Bold\", \"72-Boldfull\", \"72\", \"72full\", Arial, Helvetica, sans-serif;--sapFontSmallSize: .75rem;--sapFontLargeSize: 1rem;--sapFontHeader1Size: 3rem;--sapFontHeader2Size: 2rem;--sapFontHeader3Size: 1.5rem;--sapFontHeader4Size: 1.25rem;--sapFontHeader5Size: 1rem;--sapFontHeader6Size: .875rem;--sapLink_TextDecoration: none;--sapLink_Hover_Color: #0064d9;--sapLink_Hover_TextDecoration: underline;--sapLink_Active_Color: #0064d9;--sapLink_Active_TextDecoration: none;--sapLink_Visited_Color: #0064d9;--sapLink_InvertedColor: #a6cfff;--sapLink_SubtleColor: #1d2d3e;--sapShell_Background: #eff1f2;--sapShell_BackgroundImage: linear-gradient(to bottom, #eff1f2, #eff1f2);--sapShell_BackgroundImageOpacity: 1;--sapShell_BackgroundImageRepeat: false;--sapShell_BorderColor: #fff;--sapShell_TextColor: #1d2d3e;--sapShell_InteractiveBackground: #eff1f2;--sapShell_InteractiveTextColor: #1d2d3e;--sapShell_InteractiveBorderColor: #556b81;--sapShell_GroupTitleTextColor: #1d2d3e;--sapShell_GroupTitleTextShadow: 0 0 .125rem #fff;--sapShell_Hover_Background: #fff;--sapShell_Active_Background: #fff;--sapShell_Active_TextColor: #0070f2;--sapShell_Selected_Background: #fff;--sapShell_Selected_TextColor: #0070f2;--sapShell_Selected_Hover_Background: #fff;--sapShell_Favicon: none;--sapShell_Navigation_Background: #fff;--sapShell_Navigation_Hover_Background: #fff;--sapShell_Navigation_SelectedColor: #0064d9;--sapShell_Navigation_Selected_TextColor: #0064d9;--sapShell_Navigation_TextColor: #1d2d3e;--sapShell_Navigation_Active_TextColor: #0064d9;--sapShell_Navigation_Active_Background: #fff;--sapShell_Shadow: 0 .125rem .125rem 0 rgba(34,53,72,.15), inset 0 -.0625rem 0 0 rgba(34,53,72,.2);--sapShell_NegativeColor: #aa0808;--sapShell_CriticalColor: #b44f00;--sapShell_PositiveColor: #256f3a;--sapShell_InformativeColor: #0064d9;--sapShell_NeutralColor: #1d2d3e;--sapShell_Category_1_Background: #0057d2;--sapShell_Category_1_BorderColor: #0057d2;--sapShell_Category_1_TextColor: #fff;--sapShell_Category_1_TextShadow: 0 0 .0625rem rgba(0,0,0,.7);--sapShell_Category_2_Background: #df1278;--sapShell_Category_2_BorderColor: #df1278;--sapShell_Category_2_TextColor: #fff;--sapShell_Category_2_TextShadow: 0 0 .0625rem rgba(0,0,0,.7);--sapShell_Category_3_Background: #e76500;--sapShell_Category_3_BorderColor: #e76500;--sapShell_Category_3_TextColor: #fff;--sapShell_Category_3_TextShadow: 0 0 .0625rem rgba(0,0,0,.7);--sapShell_Category_4_Background: #7800a4;--sapShell_Category_4_BorderColor: #7800a4;--sapShell_Category_4_TextColor: #fff;--sapShell_Category_4_TextShadow: 0 0 .0625rem rgba(0,0,0,.7);--sapShell_Category_5_Background: #aa2608;--sapShell_Category_5_BorderColor: #aa2608;--sapShell_Category_5_TextColor: #fff;--sapShell_Category_5_TextShadow: 0 0 .0625rem rgba(0,0,0,.7);--sapShell_Category_6_Background: #07838f;--sapShell_Category_6_BorderColor: #07838f;--sapShell_Category_6_TextColor: #fff;--sapShell_Category_6_TextShadow: 0 0 .0625rem rgba(0,0,0,.7);--sapShell_Category_7_Background: #f31ded;--sapShell_Category_7_BorderColor: #f31ded;--sapShell_Category_7_TextColor: #fff;--sapShell_Category_7_TextShadow: 0 0 .0625rem rgba(0,0,0,.7);--sapShell_Category_8_Background: #188918;--sapShell_Category_8_BorderColor: #188918;--sapShell_Category_8_TextColor: #fff;--sapShell_Category_8_TextShadow: 0 0 .0625rem rgba(0,0,0,.7);--sapShell_Category_9_Background: #002a86;--sapShell_Category_9_BorderColor: #002a86;--sapShell_Category_9_TextColor: #fff;--sapShell_Category_9_TextShadow: 0 0 .0625rem rgba(0,0,0,.7);--sapShell_Category_10_Background: #5b738b;--sapShell_Category_10_BorderColor: #5b738b;--sapShell_Category_10_TextColor: #fff;--sapShell_Category_10_TextShadow: 0 0 .0625rem rgba(0,0,0,.7);--sapShell_Category_11_Background: #d20a0a;--sapShell_Category_11_BorderColor: #d20a0a;--sapShell_Category_11_TextColor: #fff;--sapShell_Category_11_TextShadow: 0 0 .0625rem rgba(0,0,0,.7);--sapShell_Category_12_Background: #7858ff;--sapShell_Category_12_BorderColor: #7858ff;--sapShell_Category_12_TextColor: #fff;--sapShell_Category_12_TextShadow: 0 0 .0625rem rgba(0,0,0,.7);--sapShell_Category_13_Background: #a00875;--sapShell_Category_13_BorderColor: #a00875;--sapShell_Category_13_TextColor: #fff;--sapShell_Category_13_TextShadow: 0 0 .0625rem rgba(0,0,0,.7);--sapShell_Category_14_Background: #14565b;--sapShell_Category_14_BorderColor: #14565b;--sapShell_Category_14_TextColor: #fff;--sapShell_Category_14_TextShadow: 0 0 .0625rem rgba(0,0,0,.7);--sapShell_Category_15_Background: #223548;--sapShell_Category_15_BorderColor: #223548;--sapShell_Category_15_TextColor: #fff;--sapShell_Category_15_TextShadow: 0 0 .0625rem rgba(0,0,0,.7);--sapShell_Category_16_Background: #1e592f;--sapShell_Category_16_BorderColor: #1e592f;--sapShell_Category_16_TextColor: #fff;--sapShell_Category_16_TextShadow: 0 0 .0625rem rgba(0,0,0,.7);--sapAvatar_1_Background: #fff3b8;--sapAvatar_1_BorderColor: #fff3b8;--sapAvatar_1_TextColor: #a45d00;--sapAvatar_2_Background: #ffd0e7;--sapAvatar_2_BorderColor: #ffd0e7;--sapAvatar_2_TextColor: #aa0808;--sapAvatar_3_Background: #ffdbe7;--sapAvatar_3_BorderColor: #ffdbe7;--sapAvatar_3_TextColor: #ba066c;--sapAvatar_4_Background: #ffdcf3;--sapAvatar_4_BorderColor: #ffdcf3;--sapAvatar_4_TextColor: #a100c2;--sapAvatar_5_Background: #ded3ff;--sapAvatar_5_BorderColor: #ded3ff;--sapAvatar_5_TextColor: #552cff;--sapAvatar_6_Background: #d1efff;--sapAvatar_6_BorderColor: #d1efff;--sapAvatar_6_TextColor: #0057d2;--sapAvatar_7_Background: #c2fcee;--sapAvatar_7_BorderColor: #c2fcee;--sapAvatar_7_TextColor: #046c7a;--sapAvatar_8_Background: #ebf5cb;--sapAvatar_8_BorderColor: #ebf5cb;--sapAvatar_8_TextColor: #256f3a;--sapAvatar_9_Background: #ddccf0;--sapAvatar_9_BorderColor: #ddccf0;--sapAvatar_9_TextColor: #6c32a9;--sapAvatar_10_Background: #eaecee;--sapAvatar_10_BorderColor: #eaecee;--sapAvatar_10_TextColor: #556b82;--sapButton_Background: #fff;--sapButton_BorderColor: #bcc3ca;--sapButton_BorderWidth: .0625rem;--sapButton_BorderCornerRadius: .5rem;--sapButton_TextColor: #0064d9;--sapButton_Hover_Background: #eaecee;--sapButton_Hover_BorderColor: #bcc3ca;--sapButton_Hover_TextColor: #0064d9;--sapButton_IconColor: #0064d9;--sapButton_Active_Background: #fff;--sapButton_Active_BorderColor: #0064d9;--sapButton_Active_TextColor: #0064d9;--sapButton_Emphasized_Background: #0070f2;--sapButton_Emphasized_BorderColor: #0070f2;--sapButton_Emphasized_TextColor: #fff;--sapButton_Emphasized_Hover_Background: #0064d9;--sapButton_Emphasized_Hover_BorderColor: #0064d9;--sapButton_Emphasized_Hover_TextColor: #fff;--sapButton_Emphasized_Active_Background: #fff;--sapButton_Emphasized_Active_BorderColor: #0064d9;--sapButton_Emphasized_Active_TextColor: #0064d9;--sapButton_Emphasized_TextShadow: transparent;--sapButton_Emphasized_FontWeight: bold;--sapButton_Reject_Background: #ffd6e9;--sapButton_Reject_BorderColor: #ffc2de;--sapButton_Reject_TextColor: #aa0808;--sapButton_Reject_Hover_Background: #ffbddb;--sapButton_Reject_Hover_BorderColor: #ffbddb;--sapButton_Reject_Hover_TextColor: #aa0808;--sapButton_Reject_Active_Background: #fff;--sapButton_Reject_Active_BorderColor: #e90b0b;--sapButton_Reject_Active_TextColor: #aa0808;--sapButton_Reject_Selected_Background: #fff;--sapButton_Reject_Selected_BorderColor: #e90b0b;--sapButton_Reject_Selected_TextColor: #aa0808;--sapButton_Reject_Selected_Hover_Background: #ffbddb;--sapButton_Reject_Selected_Hover_BorderColor: #e90b0b;--sapButton_Accept_Background: #ebf5cb;--sapButton_Accept_BorderColor: #dbeda0;--sapButton_Accept_TextColor: #256f3a;--sapButton_Accept_Hover_Background: #e3f1b6;--sapButton_Accept_Hover_BorderColor: #e3f1b6;--sapButton_Accept_Hover_TextColor: #256f3a;--sapButton_Accept_Active_Background: #fff;--sapButton_Accept_Active_BorderColor: #30914c;--sapButton_Accept_Active_TextColor: #256f3a;--sapButton_Accept_Selected_Background: #fff;--sapButton_Accept_Selected_BorderColor: #30914c;--sapButton_Accept_Selected_TextColor: #256f3a;--sapButton_Accept_Selected_Hover_Background: #e3f1b6;--sapButton_Accept_Selected_Hover_BorderColor: #30914c;--sapButton_Lite_Background: transparent;--sapButton_Lite_BorderColor: transparent;--sapButton_Lite_TextColor: #0064d9;--sapButton_Lite_Hover_Background: #eaecee;--sapButton_Lite_Hover_BorderColor: #bcc3ca;--sapButton_Lite_Hover_TextColor: #0064d9;--sapButton_Lite_Active_Background: #fff;--sapButton_Lite_Active_BorderColor: #0064d9;--sapButton_Selected_Background: #edf6ff;--sapButton_Selected_BorderColor: #0064d9;--sapButton_Selected_TextColor: #0064d9;--sapButton_Selected_Hover_Background: #d9ecff;--sapButton_Selected_Hover_BorderColor: #0064d9;--sapButton_Attention_Background: #fff3b7;--sapButton_Attention_BorderColor: #ffeb84;--sapButton_Attention_TextColor: #b44f00;--sapButton_Attention_Hover_Background: #ffef9e;--sapButton_Attention_Hover_BorderColor: #ffef9e;--sapButton_Attention_Hover_TextColor: #b44f00;--sapButton_Attention_Active_Background: #fff;--sapButton_Attention_Active_BorderColor: #dd6100;--sapButton_Attention_Active_TextColor: #b44f00;--sapButton_Attention_Selected_Background: #fff;--sapButton_Attention_Selected_BorderColor: #dd6100;--sapButton_Attention_Selected_TextColor: #b44f00;--sapButton_Attention_Selected_Hover_Background: #ffef9e;--sapButton_Attention_Selected_Hover_BorderColor: #dd6100;--sapButton_Negative_Background: #f53232;--sapButton_Negative_BorderColor: #f53232;--sapButton_Negative_TextColor: #fff;--sapButton_Negative_Hover_Background: #e90b0b;--sapButton_Negative_Hover_BorderColor: #e90b0b;--sapButton_Negative_Hover_TextColor: #fff;--sapButton_Negative_Active_Background: #fff;--sapButton_Negative_Active_BorderColor: #f53232;--sapButton_Negative_Active_TextColor: #aa0808;--sapButton_Critical_Background: #e76500;--sapButton_Critical_BorderColor: #e76500;--sapButton_Critical_TextColor: #fff;--sapButton_Critical_Hover_Background: #dd6100;--sapButton_Critical_Hover_BorderColor: #dd6100;--sapButton_Critical_Hover_TextColor: #fff;--sapButton_Critical_Active_Background: #fff;--sapButton_Critical_Active_BorderColor: #dd6100;--sapButton_Critical_Active_TextColor: #b44f00;--sapButton_Success_Background: #30914c;--sapButton_Success_BorderColor: #30914c;--sapButton_Success_TextColor: #fff;--sapButton_Success_Hover_Background: #2c8646;--sapButton_Success_Hover_BorderColor: #2c8646;--sapButton_Success_Hover_TextColor: #fff;--sapButton_Success_Active_Background: #fff;--sapButton_Success_Active_BorderColor: #30914c;--sapButton_Success_Active_TextColor: #256f3a;--sapButton_Information_Background: #e8f3ff;--sapButton_Information_BorderColor: #b5d8ff;--sapButton_Information_TextColor: #0064d9;--sapButton_Information_Hover_Background: #d4e8ff;--sapButton_Information_Hover_BorderColor: #b5d8ff;--sapButton_Information_Hover_TextColor: #0064d9;--sapButton_Information_Active_Background: #fff;--sapButton_Information_Active_BorderColor: #0064d9;--sapButton_Information_Active_TextColor: #0064d9;--sapButton_Neutral_Background: #e8f3ff;--sapButton_Neutral_BorderColor: #b5d8ff;--sapButton_Neutral_TextColor: #0064d9;--sapButton_Neutral_Hover_Background: #d4e8ff;--sapButton_Neutral_Hover_BorderColor: #b5d8ff;--sapButton_Neutral_Hover_TextColor: #0064d9;--sapButton_Neutral_Active_Background: #fff;--sapButton_Neutral_Active_BorderColor: #0064d9;--sapButton_Neutral_Active_TextColor: #0064d9;--sapButton_Track_Background: #788fa6;--sapButton_Track_BorderColor: #788fa6;--sapButton_Track_TextColor: #fff;--sapButton_Track_Hover_Background: #637d97;--sapButton_Track_Hover_BorderColor: #637d97;--sapButton_Track_Selected_Background: #0064d9;--sapButton_Track_Selected_BorderColor: #0064d9;--sapButton_Track_Selected_TextColor: #fff;--sapButton_Track_Selected_Hover_Background: #0058c0;--sapButton_Track_Selected_Hover_BorderColor: #0058c0;--sapButton_Handle_Background: #fff;--sapButton_Handle_BorderColor: #fff;--sapButton_Handle_TextColor: #1d2d3e;--sapButton_Handle_Hover_Background: #fff;--sapButton_Handle_Hover_BorderColor: rgba(255,255,255,.5);--sapButton_Handle_Selected_Background: #edf6ff;--sapButton_Handle_Selected_BorderColor: #edf6ff;--sapButton_Handle_Selected_TextColor: #0064d9;--sapButton_Handle_Selected_Hover_Background: #edf6ff;--sapButton_Handle_Selected_Hover_BorderColor: rgba(237,246,255,.5);--sapButton_Track_Negative_Background: #f53232;--sapButton_Track_Negative_BorderColor: #f53232;--sapButton_Track_Negative_TextColor: #fff;--sapButton_Track_Negative_Hover_Background: #e90b0b;--sapButton_Track_Negative_Hover_BorderColor: #e90b0b;--sapButton_Handle_Negative_Background: #fff;--sapButton_Handle_Negative_BorderColor: #fff;--sapButton_Handle_Negative_TextColor: #aa0808;--sapButton_Handle_Negative_Hover_Background: #fff;--sapButton_Handle_Negative_Hover_BorderColor: rgba(255,255,255,.5);--sapButton_Track_Positive_Background: #30914c;--sapButton_Track_Positive_BorderColor: #30914c;--sapButton_Track_Positive_TextColor: #fff;--sapButton_Track_Positive_Hover_Background: #2c8646;--sapButton_Track_Positive_Hover_BorderColor: #2c8646;--sapButton_Handle_Positive_Background: #fff;--sapButton_Handle_Positive_BorderColor: #fff;--sapButton_Handle_Positive_TextColor: #256f3a;--sapButton_Handle_Positive_Hover_Background: #fff;--sapButton_Handle_Positive_Hover_BorderColor: rgba(255,255,255,.5);--sapButton_TokenBackground: #fff;--sapButton_TokenBorderColor: #bcc3ca;--sapField_Background: #fff;--sapField_BackgroundStyle: 0 100% / 100% .0625rem no-repeat linear-gradient(0deg, #556b81, #556b81) border-box;--sapField_TextColor: #131e29;--sapField_PlaceholderTextColor: #556b82;--sapField_BorderColor: #556b81;--sapField_HelpBackground: #fff;--sapField_BorderWidth: .0625rem;--sapField_BorderStyle: none;--sapField_BorderCornerRadius: .25rem;--sapField_Shadow: inset 0 0 0 .0625rem rgba(85,107,129,.25);--sapField_Hover_Background: #fff;--sapField_Hover_BackgroundStyle: 0 100% / 100% .0625rem no-repeat linear-gradient(0deg, #0064d9, #0064d9) border-box;--sapField_Hover_BorderColor: #0064d9;--sapField_Hover_HelpBackground: #fff;--sapField_Hover_Shadow: inset 0 0 0 .0625rem rgba(79,160,255,.5);--sapField_Hover_InvalidShadow: inset 0 0 0 .0625rem rgba(255,142,196,.45);--sapField_Hover_WarningShadow: inset 0 0 0 .0625rem rgba(255,213,10,.4);--sapField_Hover_SuccessShadow: inset 0 0 0 .0625rem rgba(48,145,76,.18);--sapField_Hover_InformationShadow: inset 0 0 0 .0625rem rgba(104,174,255,.5);--sapField_Active_BorderColor: #0064d9;--sapField_Focus_Background: #fff;--sapField_Focus_BorderColor: #0032a5;--sapField_Focus_HelpBackground: #fff;--sapField_ReadOnly_Background: #eaecee;--sapField_ReadOnly_BackgroundStyle: 0 100% / .375rem .0625rem repeat-x linear-gradient(90deg, #556b81 0, #556b81 .25rem, transparent .25rem) border-box;--sapField_ReadOnly_BorderColor: #556b81;--sapField_ReadOnly_BorderStyle: none;--sapField_ReadOnly_HelpBackground: #eaecee;--sapField_RequiredColor: #ba066c;--sapField_InvalidColor: #e90b0b;--sapField_InvalidBackground: #ffeaf4;--sapField_InvalidBackgroundStyle: 0 100% / 100% .125rem no-repeat linear-gradient(0deg, #e90b0b, #e90b0b) border-box;--sapField_InvalidBorderWidth: .125rem;--sapField_InvalidBorderStyle: none;--sapField_InvalidShadow: inset 0 0 0 .0625rem rgba(255,142,196,.45);--sapField_WarningColor: #dd6100;--sapField_WarningBackground: #fff8d6;--sapField_WarningBackgroundStyle: 0 100% / 100% .125rem no-repeat linear-gradient(0deg, #dd6100, #dd6100) border-box;--sapField_WarningBorderWidth: .125rem;--sapField_WarningBorderStyle: none;--sapField_WarningShadow: inset 0 0 0 .0625rem rgba(255,213,10,.4);--sapField_SuccessColor: #30914c;--sapField_SuccessBackground: #f5fae5;--sapField_SuccessBackgroundStyle: 0 100% / 100% .0625rem no-repeat linear-gradient(0deg, #30914c, #30914c) border-box;--sapField_SuccessBorderWidth: .0625rem;--sapField_SuccessBorderStyle: none;--sapField_SuccessShadow: inset 0 0 0 .0625rem rgba(48,145,76,.18);--sapField_InformationColor: #0070f2;--sapField_InformationBackground: #e1f4ff;--sapField_InformationBackgroundStyle: 0 100% / 100% .125rem no-repeat linear-gradient(0deg, #0070f2, #0070f2) border-box;--sapField_InformationBorderWidth: .125rem;--sapField_InformationBorderStyle: none;--sapField_InformationShadow: inset 0 0 0 .0625rem rgba(104,174,255,.5);--sapGroup_TitleBackground: #fff;--sapGroup_TitleBorderColor: #a8b2bd;--sapGroup_TitleTextColor: #1d2d3e;--sapGroup_Title_FontSize: 1rem;--sapGroup_ContentBackground: #fff;--sapGroup_ContentBorderColor: #d9d9d9;--sapGroup_BorderWidth: .0625rem;--sapGroup_BorderCornerRadius: .5rem;--sapGroup_FooterBackground: transparent;--sapToolbar_Background: #fff;--sapToolbar_SeparatorColor: #d9d9d9;--sapList_HeaderBackground: #fff;--sapList_HeaderBorderColor: #a8b2bd;--sapList_HeaderTextColor: #1d2d3e;--sapList_BorderColor: #e5e5e5;--sapList_BorderWidth: .0625rem;--sapList_TextColor: #1d2d3e;--sapList_Active_TextColor: #1d2d3e;--sapList_Active_Background: #dee2e5;--sapList_SelectionBackgroundColor: #ebf8ff;--sapList_SelectionBorderColor: #0064d9;--sapList_Hover_SelectionBackground: #dcf3ff;--sapList_Background: #fff;--sapList_Hover_Background: #eaecee;--sapList_AlternatingBackground: #f5f6f7;--sapList_GroupHeaderBackground: #fff;--sapList_GroupHeaderBorderColor: #a8b2bd;--sapList_GroupHeaderTextColor: #1d2d3e;--sapList_TableGroupHeaderBackground: #eff1f2;--sapList_TableGroupHeaderBorderColor: #a8b2bd;--sapList_TableGroupHeaderTextColor: #1d2d3e;--sapList_FooterBackground: #fff;--sapList_FooterTextColor: #1d2d3e;--sapList_TableFooterBorder: #a8b2bd;--sapList_TableFixedBorderColor: #8c8c8c;--sapMessage_ErrorBorderColor: #ff8ec4;--sapMessage_WarningBorderColor: #ffe770;--sapMessage_SuccessBorderColor: #cee67e;--sapMessage_InformationBorderColor: #7bcfff;--sapPopover_BorderCornerRadius: .5rem;--sapProgress_Background: #d5dadd;--sapProgress_BorderColor: #d5dadd;--sapProgress_TextColor: #1d2d3e;--sapProgress_FontSize: .875rem;--sapProgress_NegativeBackground: #ffdbec;--sapProgress_NegativeBorderColor: #ffdbec;--sapProgress_NegativeTextColor: #1d2d3e;--sapProgress_CriticalBackground: #fff4bd;--sapProgress_CriticalBorderColor: #fff4bd;--sapProgress_CriticalTextColor: #1d2d3e;--sapProgress_PositiveBackground: #e5f2ba;--sapProgress_PositiveBorderColor: #e5f2ba;--sapProgress_PositiveTextColor: #1d2d3e;--sapProgress_InformationBackground: #cdedff;--sapProgress_InformationBorderColor: #cdedff;--sapProgress_InformationTextColor: #1d2d3e;--sapProgress_Value_Background: #617b94;--sapProgress_Value_BorderColor: #617b94;--sapProgress_Value_TextColor: #788fa6;--sapProgress_Value_NegativeBackground: #f53232;--sapProgress_Value_NegativeBorderColor: #f53232;--sapProgress_Value_NegativeTextColor: #f53232;--sapProgress_Value_CriticalBackground: #e76500;--sapProgress_Value_CriticalBorderColor: #e76500;--sapProgress_Value_CriticalTextColor: #e76500;--sapProgress_Value_PositiveBackground: #30914c;--sapProgress_Value_PositiveBorderColor: #30914c;--sapProgress_Value_PositiveTextColor: #30914c;--sapProgress_Value_InformationBackground: #0070f2;--sapProgress_Value_InformationBorderColor: #0070f2;--sapProgress_Value_InformationTextColor: #0070f2;--sapScrollBar_FaceColor: #7b91a8;--sapScrollBar_TrackColor: #fff;--sapScrollBar_BorderColor: #7b91a8;--sapScrollBar_SymbolColor: #0064d9;--sapScrollBar_Dimension: .75rem;--sapScrollBar_Hover_FaceColor: #5b728b;--sapSlider_Background: #d5dadd;--sapSlider_BorderColor: #d5dadd;--sapSlider_Selected_Background: #0064d9;--sapSlider_Selected_BorderColor: #0064d9;--sapSlider_HandleBackground: #fff;--sapSlider_HandleBorderColor: #b0d5ff;--sapSlider_RangeHandleBackground: #fff;--sapSlider_Hover_HandleBackground: #d9ecff;--sapSlider_Hover_HandleBorderColor: #b0d5ff;--sapSlider_Hover_RangeHandleBackground: #d9ecff;--sapSlider_Active_HandleBackground: #fff;--sapSlider_Active_HandleBorderColor: #0064d9;--sapSlider_Active_RangeHandleBackground: transparent;--sapPageHeader_Background: #fff;--sapPageHeader_BorderColor: #d9d9d9;--sapPageHeader_TextColor: #1d2d3e;--sapPageFooter_Background: #fff;--sapPageFooter_BorderColor: #d9d9d9;--sapPageFooter_TextColor: #1d2d3e;--sapInfobar_Background: #c2fcee;--sapInfobar_Hover_Background: #fff;--sapInfobar_Active_Background: #fff;--sapInfobar_NonInteractive_Background: #f5f6f7;--sapInfobar_TextColor: #046c7a;--sapObjectHeader_Background: #fff;--sapObjectHeader_Hover_Background: #eaecee;--sapObjectHeader_BorderColor: #d9d9d9;--sapObjectHeader_Title_TextColor: #1d2d3e;--sapObjectHeader_Title_FontSize: 1.5rem;--sapObjectHeader_Title_SnappedFontSize: 1.25rem;--sapObjectHeader_Title_FontFamily: \"72Black\", \"72Blackfull\",\"72\", \"72full\", Arial, Helvetica, sans-serif;--sapObjectHeader_Subtitle_TextColor: #556b82;--sapBlockLayer_Background: #000;--sapTile_Background: #fff;--sapTile_Hover_Background: #eaecee;--sapTile_Active_Background: #dee2e5;--sapTile_BorderColor: transparent;--sapTile_BorderCornerRadius: 1rem;--sapTile_TitleTextColor: #1d2d3e;--sapTile_TextColor: #556b82;--sapTile_IconColor: #556b82;--sapTile_SeparatorColor: #ccc;--sapTile_Interactive_BorderColor: #b3b3b3;--sapTile_OverlayBackground: #fff;--sapTile_OverlayForegroundColor: #1d2d3e;--sapAccentColor1: #d27700;--sapAccentColor2: #aa0808;--sapAccentColor3: #ba066c;--sapAccentColor4: #a100c2;--sapAccentColor5: #5d36ff;--sapAccentColor6: #0057d2;--sapAccentColor7: #046c7a;--sapAccentColor8: #256f3a;--sapAccentColor9: #6c32a9;--sapAccentColor10: #5b738b;--sapAccentBackgroundColor1: #fff3b8;--sapAccentBackgroundColor2: #ffd0e7;--sapAccentBackgroundColor3: #ffdbe7;--sapAccentBackgroundColor4: #ffdcf3;--sapAccentBackgroundColor5: #ded3ff;--sapAccentBackgroundColor6: #d1efff;--sapAccentBackgroundColor7: #c2fcee;--sapAccentBackgroundColor8: #ebf5cb;--sapAccentBackgroundColor9: #ddccf0;--sapAccentBackgroundColor10: #eaecee;--sapIndicationColor_1: #840606;--sapIndicationColor_1_Background: #840606;--sapIndicationColor_1_BorderColor: #840606;--sapIndicationColor_1_TextColor: #fff;--sapIndicationColor_1_Hover_Background: #6c0505;--sapIndicationColor_1_Active_Background: #fff;--sapIndicationColor_1_Active_BorderColor: #fb9d9d;--sapIndicationColor_1_Active_TextColor: #840606;--sapIndicationColor_1_Selected_Background: #fff;--sapIndicationColor_1_Selected_BorderColor: #fb9d9d;--sapIndicationColor_1_Selected_TextColor: #840606;--sapIndicationColor_1b: #fb9d9d;--sapIndicationColor_1b_BorderColor: #fb9d9d;--sapIndicationColor_1b_Hover_Background: #fa8585;--sapIndicationColor_2: #aa0808;--sapIndicationColor_2_Background: #aa0808;--sapIndicationColor_2_BorderColor: #aa0808;--sapIndicationColor_2_TextColor: #fff;--sapIndicationColor_2_Hover_Background: #920707;--sapIndicationColor_2_Active_Background: #fff;--sapIndicationColor_2_Active_BorderColor: #fcc4c4;--sapIndicationColor_2_Active_TextColor: #aa0808;--sapIndicationColor_2_Selected_Background: #fff;--sapIndicationColor_2_Selected_BorderColor: #fcc4c4;--sapIndicationColor_2_Selected_TextColor: #aa0808;--sapIndicationColor_2b: #fcc4c4;--sapIndicationColor_2b_BorderColor: #fcc4c4;--sapIndicationColor_2b_Hover_Background: #fbacac;--sapIndicationColor_3: #b95100;--sapIndicationColor_3_Background: #e76500;--sapIndicationColor_3_BorderColor: #e76500;--sapIndicationColor_3_TextColor: #fff;--sapIndicationColor_3_Hover_Background: #d85e00;--sapIndicationColor_3_Active_Background: #fff;--sapIndicationColor_3_Active_BorderColor: #fff2c0;--sapIndicationColor_3_Active_TextColor: #b95100;--sapIndicationColor_3_Selected_Background: #fff;--sapIndicationColor_3_Selected_BorderColor: #fff2c0;--sapIndicationColor_3_Selected_TextColor: #b95100;--sapIndicationColor_3b: #fff2c0;--sapIndicationColor_3b_BorderColor: #fff2c0;--sapIndicationColor_3b_Hover_Background: #ffeda6;--sapIndicationColor_4: #256f3a;--sapIndicationColor_4_Background: #256f3a;--sapIndicationColor_4_BorderColor: #256f3a;--sapIndicationColor_4_TextColor: #fff;--sapIndicationColor_4_Hover_Background: #1f5c30;--sapIndicationColor_4_Active_Background: #fff;--sapIndicationColor_4_Active_BorderColor: #bae8bc;--sapIndicationColor_4_Active_TextColor: #256f3a;--sapIndicationColor_4_Selected_Background: #fff;--sapIndicationColor_4_Selected_BorderColor: #bae8bc;--sapIndicationColor_4_Selected_TextColor: #256f3a;--sapIndicationColor_4b: #bae8bc;--sapIndicationColor_4b_BorderColor: #bae8bc;--sapIndicationColor_4b_Hover_Background: #a7e2a9;--sapIndicationColor_5: #0070f2;--sapIndicationColor_5_Background: #0070f2;--sapIndicationColor_5_BorderColor: #0070f2;--sapIndicationColor_5_TextColor: #fff;--sapIndicationColor_5_Hover_Background: #0064d9;--sapIndicationColor_5_Active_Background: #fff;--sapIndicationColor_5_Active_BorderColor: #d3effd;--sapIndicationColor_5_Active_TextColor: #0070f2;--sapIndicationColor_5_Selected_Background: #fff;--sapIndicationColor_5_Selected_BorderColor: #d3effd;--sapIndicationColor_5_Selected_TextColor: #0070f2;--sapIndicationColor_5b: #d3effd;--sapIndicationColor_5b_BorderColor: #d3effd;--sapIndicationColor_5b_Hover_Background: #bbe6fc;--sapIndicationColor_6: #046c7a;--sapIndicationColor_6_Background: #046c7a;--sapIndicationColor_6_BorderColor: #046c7a;--sapIndicationColor_6_TextColor: #fff;--sapIndicationColor_6_Hover_Background: #035661;--sapIndicationColor_6_Active_Background: #fff;--sapIndicationColor_6_Active_BorderColor: #cdf5ec;--sapIndicationColor_6_Active_TextColor: #046c7a;--sapIndicationColor_6_Selected_Background: #fff;--sapIndicationColor_6_Selected_BorderColor: #cdf5ec;--sapIndicationColor_6_Selected_TextColor: #046c7a;--sapIndicationColor_6b: #cdf5ec;--sapIndicationColor_6b_BorderColor: #cdf5ec;--sapIndicationColor_6b_Hover_Background: #b8f1e4;--sapIndicationColor_7: #5d36ff;--sapIndicationColor_7_Background: #5d36ff;--sapIndicationColor_7_BorderColor: #5d36ff;--sapIndicationColor_7_TextColor: #fff;--sapIndicationColor_7_Hover_Background: #481cff;--sapIndicationColor_7_Active_Background: #fff;--sapIndicationColor_7_Active_BorderColor: #e2dbff;--sapIndicationColor_7_Active_TextColor: #5d36ff;--sapIndicationColor_7_Selected_Background: #fff;--sapIndicationColor_7_Selected_BorderColor: #e2dbff;--sapIndicationColor_7_Selected_TextColor: #5d36ff;--sapIndicationColor_7b: #e2dbff;--sapIndicationColor_7b_BorderColor: #e2dbff;--sapIndicationColor_7b_Hover_Background: #cdc2ff;--sapIndicationColor_8: #a100c2;--sapIndicationColor_8_Background: #a100c2;--sapIndicationColor_8_BorderColor: #a100c2;--sapIndicationColor_8_TextColor: #fff;--sapIndicationColor_8_Hover_Background: #8c00a9;--sapIndicationColor_8_Active_Background: #fff;--sapIndicationColor_8_Active_BorderColor: #f8d6ff;--sapIndicationColor_8_Active_TextColor: #a100c2;--sapIndicationColor_8_Selected_Background: #fff;--sapIndicationColor_8_Selected_BorderColor: #f8d6ff;--sapIndicationColor_8_Selected_TextColor: #a100c2;--sapIndicationColor_8b: #f8d6ff;--sapIndicationColor_8b_BorderColor: #f8d6ff;--sapIndicationColor_8b_Hover_Background: #f4bdff;--sapIndicationColor_9: #1d2d3e;--sapIndicationColor_9_Background: #1d2d3e;--sapIndicationColor_9_BorderColor: #1d2d3e;--sapIndicationColor_9_TextColor: #fff;--sapIndicationColor_9_Hover_Background: #15202d;--sapIndicationColor_9_Active_Background: #fff;--sapIndicationColor_9_Active_BorderColor: #d9d9d9;--sapIndicationColor_9_Active_TextColor: #1d2d3e;--sapIndicationColor_9_Selected_Background: #fff;--sapIndicationColor_9_Selected_BorderColor: #d9d9d9;--sapIndicationColor_9_Selected_TextColor: #1d2d3e;--sapIndicationColor_9b: #fff;--sapIndicationColor_9b_BorderColor: #d9d9d9;--sapIndicationColor_9b_Hover_Background: #f2f2f2;--sapIndicationColor_10: #45484a;--sapIndicationColor_10_Background: #83888b;--sapIndicationColor_10_BorderColor: #83888b;--sapIndicationColor_10_TextColor: #fff;--sapIndicationColor_10_Hover_Background: #767b7e;--sapIndicationColor_10_Active_Background: #fff;--sapIndicationColor_10_Active_BorderColor: #eaecee;--sapIndicationColor_10_Active_TextColor: #45484a;--sapIndicationColor_10_Selected_Background: #fff;--sapIndicationColor_10_Selected_BorderColor: #eaecee;--sapIndicationColor_10_Selected_TextColor: #45484a;--sapIndicationColor_10b: #eaecee;--sapIndicationColor_10b_BorderColor: #eaecee;--sapIndicationColor_10b_Hover_Background: #dcdfe3;--sapLegend_WorkingBackground: #fff;--sapLegend_NonWorkingBackground: #ebebeb;--sapLegend_CurrentDateTime: #a100c2;--sapLegendColor1: #c35500;--sapLegendColor2: #d23a0a;--sapLegendColor3: #df1278;--sapLegendColor4: #840606;--sapLegendColor5: #cc00dc;--sapLegendColor6: #0057d2;--sapLegendColor7: #07838f;--sapLegendColor8: #188918;--sapLegendColor9: #5b738b;--sapLegendColor10: #7800a4;--sapLegendColor11: #a93e00;--sapLegendColor12: #aa2608;--sapLegendColor13: #ba066c;--sapLegendColor14: #8d2a00;--sapLegendColor15: #4e247a;--sapLegendColor16: #002a86;--sapLegendColor17: #035663;--sapLegendColor18: #1e592f;--sapLegendColor19: #1a4796;--sapLegendColor20: #470ced;--sapLegendBackgroundColor1: #ffef9f;--sapLegendBackgroundColor2: #feeae1;--sapLegendBackgroundColor3: #fbf6f8;--sapLegendBackgroundColor4: #fbebeb;--sapLegendBackgroundColor5: #ffe5fe;--sapLegendBackgroundColor6: #d1efff;--sapLegendBackgroundColor7: #c2fcee;--sapLegendBackgroundColor8: #f5fae5;--sapLegendBackgroundColor9: #f5f6f7;--sapLegendBackgroundColor10: #fff0fa;--sapLegendBackgroundColor11: #fff8d6;--sapLegendBackgroundColor12: #fff6f6;--sapLegendBackgroundColor13: #f7ebef;--sapLegendBackgroundColor14: #f1ecd5;--sapLegendBackgroundColor15: #f0e7f8;--sapLegendBackgroundColor16: #ebf8ff;--sapLegendBackgroundColor17: #dafdf5;--sapLegendBackgroundColor18: #ebf5cb;--sapLegendBackgroundColor19: #fafdff;--sapLegendBackgroundColor20: #eceeff;--sapChart_OrderedColor_1: #0070f2;--sapChart_OrderedColor_2: #c87b00;--sapChart_OrderedColor_3: #75980b;--sapChart_OrderedColor_4: #df1278;--sapChart_OrderedColor_5: #8b47d7;--sapChart_OrderedColor_6: #049f9a;--sapChart_OrderedColor_7: #3c8cdd;--sapChart_OrderedColor_8: #cc00dc;--sapChart_OrderedColor_9: #798c77;--sapChart_OrderedColor_10: #da6c6c;--sapChart_OrderedColor_11: #5d36ff;--sapChart_Bad: #f53232;--sapChart_Critical: #e76500;--sapChart_Good: #30914c;--sapChart_Neutral: #788fa6;--sapChart_Sequence_1: #0070f2;--sapChart_Sequence_2: #c87b00;--sapChart_Sequence_3: #75980b;--sapChart_Sequence_4: #df1278;--sapChart_Sequence_5: #8b47d7;--sapChart_Sequence_6: #049f9a;--sapChart_Sequence_7: #3c8cdd;--sapChart_Sequence_8: #cc00dc;--sapChart_Sequence_9: #798c77;--sapChart_Sequence_10: #da6c6c;--sapChart_Sequence_11: #5d36ff;--sapChart_Sequence_Neutral: #788fa6;}\n`};\nexport default styleData;\n\t","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents\",fileName:\"themes/sap_horizon/parameters-bundle.css.ts\",content:`:root{--ui5-v1-22-0-rc-3-avatar-hover-box-shadow-offset: 0px 0px 0px .0625rem;--ui5-v1-22-0-rc-3-avatar-initials-color: var(--sapContent_ImagePlaceholderForegroundColor);--ui5-v1-22-0-rc-3-avatar-border-radius-img-deduction: .0625rem;--_ui5-v1-22-0-rc-3_avatar_outline: var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);--_ui5-v1-22-0-rc-3_avatar_focus_width: 1px;--_ui5-v1-22-0-rc-3_avatar_focus_color: var(--sapContent_FocusColor);--_ui5-v1-22-0-rc-3_avatar_focus_offset: .125rem;--ui5-v1-22-0-rc-3-avatar-initials-border: .0625rem solid var(--sapAvatar_1_BorderColor);--ui5-v1-22-0-rc-3-avatar-border-radius: var(--sapElement_BorderCornerRadius);--_ui5-v1-22-0-rc-3_avatar_fontsize_XS: 1rem;--_ui5-v1-22-0-rc-3_avatar_fontsize_S: 1.125rem;--_ui5-v1-22-0-rc-3_avatar_fontsize_M: 1.5rem;--_ui5-v1-22-0-rc-3_avatar_fontsize_L: 2.25rem;--_ui5-v1-22-0-rc-3_avatar_fontsize_XL: 3rem;--ui5-v1-22-0-rc-3-avatar-accent1: var(--sapAvatar_1_Background);--ui5-v1-22-0-rc-3-avatar-accent2: var(--sapAvatar_2_Background);--ui5-v1-22-0-rc-3-avatar-accent3: var(--sapAvatar_3_Background);--ui5-v1-22-0-rc-3-avatar-accent4: var(--sapAvatar_4_Background);--ui5-v1-22-0-rc-3-avatar-accent5: var(--sapAvatar_5_Background);--ui5-v1-22-0-rc-3-avatar-accent6: var(--sapAvatar_6_Background);--ui5-v1-22-0-rc-3-avatar-accent7: var(--sapAvatar_7_Background);--ui5-v1-22-0-rc-3-avatar-accent8: var(--sapAvatar_8_Background);--ui5-v1-22-0-rc-3-avatar-accent9: var(--sapAvatar_9_Background);--ui5-v1-22-0-rc-3-avatar-accent10: var(--sapAvatar_10_Background);--ui5-v1-22-0-rc-3-avatar-placeholder: var(--sapContent_ImagePlaceholderBackground);--ui5-v1-22-0-rc-3-avatar-accent1-color: var(--sapAvatar_1_TextColor);--ui5-v1-22-0-rc-3-avatar-accent2-color: var(--sapAvatar_2_TextColor);--ui5-v1-22-0-rc-3-avatar-accent3-color: var(--sapAvatar_3_TextColor);--ui5-v1-22-0-rc-3-avatar-accent4-color: var(--sapAvatar_4_TextColor);--ui5-v1-22-0-rc-3-avatar-accent5-color: var(--sapAvatar_5_TextColor);--ui5-v1-22-0-rc-3-avatar-accent6-color: var(--sapAvatar_6_TextColor);--ui5-v1-22-0-rc-3-avatar-accent7-color: var(--sapAvatar_7_TextColor);--ui5-v1-22-0-rc-3-avatar-accent8-color: var(--sapAvatar_8_TextColor);--ui5-v1-22-0-rc-3-avatar-accent9-color: var(--sapAvatar_9_TextColor);--ui5-v1-22-0-rc-3-avatar-accent10-color: var(--sapAvatar_10_TextColor);--ui5-v1-22-0-rc-3-avatar-placeholder-color: var(--sapContent_ImagePlaceholderForegroundColor);--ui5-v1-22-0-rc-3-avatar-accent1-border-color: var(--sapAvatar_1_BorderColor);--ui5-v1-22-0-rc-3-avatar-accent2-border-color: var(--sapAvatar_2_BorderColor);--ui5-v1-22-0-rc-3-avatar-accent3-border-color: var(--sapAvatar_3_BorderColor);--ui5-v1-22-0-rc-3-avatar-accent4-border-color: var(--sapAvatar_4_BorderColor);--ui5-v1-22-0-rc-3-avatar-accent5-border-color: var(--sapAvatar_5_BorderColor);--ui5-v1-22-0-rc-3-avatar-accent6-border-color: var(--sapAvatar_6_BorderColor);--ui5-v1-22-0-rc-3-avatar-accent7-border-color: var(--sapAvatar_7_BorderColor);--ui5-v1-22-0-rc-3-avatar-accent8-border-color: var(--sapAvatar_8_BorderColor);--ui5-v1-22-0-rc-3-avatar-accent9-border-color: var(--sapAvatar_9_BorderColor);--ui5-v1-22-0-rc-3-avatar-accent10-border-color: var(--sapAvatar_10_BorderColor);--ui5-v1-22-0-rc-3-avatar-placeholder-border-color: var(--sapContent_ImagePlaceholderBackground);--_ui5-v1-22-0-rc-3_avatar_icon_XS: var(--_ui5-v1-22-0-rc-3_avatar_fontsize_XS);--_ui5-v1-22-0-rc-3_avatar_icon_S: var(--_ui5-v1-22-0-rc-3_avatar_fontsize_S);--_ui5-v1-22-0-rc-3_avatar_icon_M: var(--_ui5-v1-22-0-rc-3_avatar_fontsize_M);--_ui5-v1-22-0-rc-3_avatar_icon_L: var(--_ui5-v1-22-0-rc-3_avatar_fontsize_L);--_ui5-v1-22-0-rc-3_avatar_icon_XL: var(--_ui5-v1-22-0-rc-3_avatar_fontsize_XL);--_ui5-v1-22-0-rc-3_avatar_group_button_focus_border: none;--_ui5-v1-22-0-rc-3_avatar_group_focus_border_radius: .375rem;--ui5-v1-22-0-rc-3-badge-text-shadow: var(--sapContent_TextShadow);--ui5-v1-22-0-rc-3-badge-contrast-text-shadow: var(--sapContent_ContrastTextShadow);--ui5-v1-22-0-rc-3-badge-color-scheme-1-border: var(--sapAccentColor1);--ui5-v1-22-0-rc-3-badge-color-scheme-2-border: var(--sapAccentColor2);--ui5-v1-22-0-rc-3-badge-color-scheme-3-border: var(--sapAccentColor3);--ui5-v1-22-0-rc-3-badge-color-scheme-4-border: var(--sapAccentColor4);--ui5-v1-22-0-rc-3-badge-color-scheme-5-border: var(--sapAccentColor5);--ui5-v1-22-0-rc-3-badge-color-scheme-6-border: var(--sapAccentColor6);--ui5-v1-22-0-rc-3-badge-color-scheme-7-border: var(--sapAccentColor7);--ui5-v1-22-0-rc-3-badge-color-scheme-8-border: var(--sapLegendColor18);--ui5-v1-22-0-rc-3-badge-color-scheme-9-border: var(--sapAccentColor10);--ui5-v1-22-0-rc-3-badge-color-scheme-10-border: var(--sapAccentColor9);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-1-color: var(--sapIndicationColor_1);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-1-background: var(--sapIndicationColor_1b);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-1-border: var(--sapIndicationColor_1b_BorderColor);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-1-hover-background: var(--sapIndicationColor_1b_Hover_Background);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-1-active-color: var(--sapIndicationColor_1_Active_TextColor);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-1-active-background: var(--sapIndicationColor_1_Active_Background);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-1-active-border: var(--sapIndicationColor_1_Active_BorderColor);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-2-color: var(--sapIndicationColor_2);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-2-background: var(--sapIndicationColor_2b);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-2-border: var(--sapIndicationColor_2b_BorderColor);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-2-hover-background: var(--sapIndicationColor_2b_Hover_Background);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-2-active-color: var(--sapIndicationColor_2_Active_TextColor);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-2-active-background: var(--sapIndicationColor_2_Active_Background);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-2-active-border: var(--sapIndicationColor_2_Active_BorderColor);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-3-color: var(--sapIndicationColor_3);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-3-background: var(--sapIndicationColor_3b);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-3-border: var(--sapIndicationColor_3b_BorderColor);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-3-hover-background: var(--sapIndicationColor_3b_Hover_Background);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-3-active-color: var(--sapIndicationColor_3_Active_TextColor);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-3-active-background: var(--sapIndicationColor_3_Active_Background);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-3-active-border: var(--sapIndicationColor_3_Active_BorderColor);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-4-color: var(--sapIndicationColor_4);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-4-background: var(--sapIndicationColor_4b);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-4-border: var(--sapIndicationColor_4b_BorderColor);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-4-hover-background: var(--sapIndicationColor_4b_Hover_Background);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-4-active-color: var(--sapIndicationColor_4_Active_TextColor);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-4-active-background: var(--sapIndicationColor_4_Active_Background);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-4-active-border: var(--sapIndicationColor_4_Active_BorderColor);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-5-color: var(--sapIndicationColor_5);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-5-background: var(--sapIndicationColor_5b);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-5-border: var(--sapIndicationColor_5b_BorderColor);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-5-hover-background: var(--sapIndicationColor_5b_Hover_Background);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-5-active-color: var(--sapIndicationColor_5_Active_TextColor);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-5-active-background: var(--sapIndicationColor_5_Active_Background);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-5-active-border: var(--sapIndicationColor_5_Active_BorderColor);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-6-color: var(--sapIndicationColor_6);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-6-background: var(--sapIndicationColor_6b);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-6-border: var(--sapIndicationColor_6b_BorderColor);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-6-hover-background: var(--sapIndicationColor_6b_Hover_Background);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-6-active-color: var(--sapIndicationColor_6_Active_TextColor);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-6-active-background: var(--sapIndicationColor_6_Active_Background);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-6-active-border: var(--sapIndicationColor_6_Active_BorderColor);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-7-color: var(--sapIndicationColor_7);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-7-background: var(--sapIndicationColor_7b);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-7-border: var(--sapIndicationColor_7b_BorderColor);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-7-hover-background: var(--sapIndicationColor_7b_Hover_Background);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-7-active-color: var(--sapIndicationColor_7_Active_TextColor);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-7-active-background: var(--sapIndicationColor_7_Active_Background);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-7-active-border: var(--sapIndicationColor_7_Active_BorderColor);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-8-color: var(--sapIndicationColor_8);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-8-background: var(--sapIndicationColor_8b);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-8-border: var(--sapIndicationColor_8b_BorderColor);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-8-hover-background: var(--sapIndicationColor_8b_Hover_Background);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-8-active-color: var(--sapIndicationColor_8_Active_TextColor);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-8-active-background: var(--sapIndicationColor_8_Active_Background);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-8-active-border: var(--sapIndicationColor_8_Active_BorderColor);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-9-color: var(--sapIndicationColor_9);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-9-background: var(--sapIndicationColor_9b);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-9-border: var(--sapIndicationColor_9b_BorderColor);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-9-hover-background: var(--sapIndicationColor_9b_Hover_Background);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-9-active-color: var(--sapIndicationColor_9_Active_TextColor);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-9-active-background: var(--sapIndicationColor_9_Active_Background);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-9-active-border: var(--sapIndicationColor_9_Active_BorderColor);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-10-color: var(--sapIndicationColor_10);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-10-background: var(--sapIndicationColor_10b);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-10-border: var(--sapIndicationColor_10b_BorderColor);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-10-hover-background: var(--sapIndicationColor_10b_Hover_Background);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-10-active-color: var(--sapIndicationColor_10_Active_TextColor);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-10-active-background: var(--sapIndicationColor_10_Active_Background);--ui5-v1-22-0-rc-3-badge-set2-color-scheme-10-active-border: var(--sapIndicationColor_10_Active_BorderColor);--_ui5-v1-22-0-rc-3-badge-height: 1.375rem;--_ui5-v1-22-0-rc-3-badge-border: none;--_ui5-v1-22-0-rc-3-badge-border-radius: .25rem;--_ui5-v1-22-0-rc-3-badge-padding-inline: .375em;--_ui5-v1-22-0-rc-3-badge-padding-inline-icon-only: .313rem;--_ui5-v1-22-0-rc-3-badge-text-transform: none;--_ui5-v1-22-0-rc-3-badge-icon-height: 1rem;--_ui5-v1-22-0-rc-3-badge-icon-gap: .25rem;--_ui5-v1-22-0-rc-3-badge-font-size: var(--sapFontSize);--_ui5-v1-22-0-rc-3-badge-font: var(--sapFontSemiboldDuplexFamily);--_ui5-v1-22-0-rc-3-badge-font-weight: normal;--_ui5-v1-22-0-rc-3-badge-letter-spacing: normal;--ui5-v1-22-0-rc-3-badge-color-scheme-1-background: var(--sapAvatar_1_Background);--ui5-v1-22-0-rc-3-badge-color-scheme-1-color: var(--sapAvatar_1_TextColor);--ui5-v1-22-0-rc-3-badge-color-scheme-2-background: var(--sapAvatar_2_Background);--ui5-v1-22-0-rc-3-badge-color-scheme-2-color: var(--sapAvatar_2_TextColor);--ui5-v1-22-0-rc-3-badge-color-scheme-3-background: var(--sapAvatar_3_Background);--ui5-v1-22-0-rc-3-badge-color-scheme-3-color: var(--sapAvatar_3_TextColor);--ui5-v1-22-0-rc-3-badge-color-scheme-4-background: var(--sapAvatar_4_Background);--ui5-v1-22-0-rc-3-badge-color-scheme-4-color: var(--sapAvatar_4_TextColor);--ui5-v1-22-0-rc-3-badge-color-scheme-5-background: var(--sapAvatar_5_Background);--ui5-v1-22-0-rc-3-badge-color-scheme-5-color: var(--sapAvatar_5_TextColor);--ui5-v1-22-0-rc-3-badge-color-scheme-6-background: var(--sapAvatar_6_Background);--ui5-v1-22-0-rc-3-badge-color-scheme-6-color: var(--sapAvatar_6_TextColor);--ui5-v1-22-0-rc-3-badge-color-scheme-7-background: var(--sapAvatar_7_Background);--ui5-v1-22-0-rc-3-badge-color-scheme-7-color: var(--sapAvatar_7_TextColor);--ui5-v1-22-0-rc-3-badge-color-scheme-8-background: var(--sapAvatar_8_Background);--ui5-v1-22-0-rc-3-badge-color-scheme-8-color: var(--sapAvatar_8_TextColor);--ui5-v1-22-0-rc-3-badge-color-scheme-9-background: var(--sapAvatar_9_Background);--ui5-v1-22-0-rc-3-badge-color-scheme-9-color: var(--sapAvatar_9_TextColor);--ui5-v1-22-0-rc-3-badge-color-scheme-10-background: var(--sapAvatar_10_Background);--ui5-v1-22-0-rc-3-badge-color-scheme-10-color: var(--sapAvatar_10_TextColor);--_ui5-v1-22-0-rc-3_breadcrumbs_margin: 0 0 .5rem 0;--browser_scrollbar_border_radius: var(--sapElement_BorderCornerRadius);--browser_scrollbar_border: none;--_ui5-v1-22-0-rc-3_busy_indicator_color: var(--sapContent_BusyColor);--_ui5-v1-22-0-rc-3_busy_indicator_focus_border_radius: .75rem;--_ui5-v1-22-0-rc-3_busy_indicator_focus_outline: var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);--_ui5-v1-22-0-rc-3_button_base_min_compact_width: 2rem;--_ui5-v1-22-0-rc-3_button_base_height: var(--sapElement_Height);--_ui5-v1-22-0-rc-3_button_compact_height: 1.625rem;--_ui5-v1-22-0-rc-3_button_border_radius: var(--sapButton_BorderCornerRadius);--_ui5-v1-22-0-rc-3_button_compact_padding: .4375rem;--_ui5-v1-22-0-rc-3_button_emphasized_outline: 1px dotted var(--sapContent_FocusColor);--_ui5-v1-22-0-rc-3_button_focus_offset: 1px;--_ui5-v1-22-0-rc-3_button_focus_width: 1px;--_ui5-v1-22-0-rc-3_button_emphasized_focused_border_before: none;--_ui5-v1-22-0-rc-3_button_emphasized_focused_active_border_color: transparent;--_ui5-v1-22-0-rc-3_button_focused_border: .125rem solid var(--sapContent_FocusColor);--_ui5-v1-22-0-rc-3_button_focused_border_radius: .375rem;--_ui5-v1-22-0-rc-3_button_focused_inner_border_radius: .375rem;--_ui5-v1-22-0-rc-3_button_base_min_width: 2.25rem;--_ui5-v1-22-0-rc-3_button_base_padding: .5625rem;--_ui5-v1-22-0-rc-3_button_base_icon_only_padding: .5625rem;--_ui5-v1-22-0-rc-3_button_base_icon_margin: .375rem;--_ui5-v1-22-0-rc-3_button_icon_font_size: 1rem;--_ui5-v1-22-0-rc-3_button_text_shadow: none;--_ui5-v1-22-0-rc-3_button_emphasized_border_width: .0625rem;--_ui5-v1-22-0-rc-3_button_pressed_focused_border_color: var(--sapContent_FocusColor);--_ui5-v1-22-0-rc-3_button_fontFamily: var(--sapFontSemiboldDuplexFamily);--_ui5-v1-22-0-rc-3_button_emphasized_focused_border_color: var(--sapContent_ContrastFocusColor);--_ui5-v1-22-0-rc-3_card_box_shadow: var(--sapContent_Shadow0);--_ui5-v1-22-0-rc-3_card_header_border_color: var(--sapTile_SeparatorColor);--_ui5-v1-22-0-rc-3_card_header_focus_border: var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);--_ui5-v1-22-0-rc-3_card_header_focus_bottom_radius: 0px;--_ui5-v1-22-0-rc-3_card_header_title_font_weight: normal;--_ui5-v1-22-0-rc-3_card_header_subtitle_margin_top: .25rem;--_ui5-v1-22-0-rc-3_card_hover_box_shadow: var(--sapContent_Shadow2);--_ui5-v1-22-0-rc-3_card_header_focus_offset: 0px;--_ui5-v1-22-0-rc-3_card_header_focus_radius: var(--_ui5-v1-22-0-rc-3_card_border-radius);--_ui5-v1-22-0-rc-3_card_header_title_font_family: var(--sapFontHeaderFamily);--_ui5-v1-22-0-rc-3_card_header_title_font_size: var(--sapFontHeader6Size);--_ui5-v1-22-0-rc-3_card_header_hover_bg: var(--sapTile_Hover_Background);--_ui5-v1-22-0-rc-3_card_header_active_bg: var(--sapTile_Active_Background);--_ui5-v1-22-0-rc-3_card_header_border: none;--_ui5-v1-22-0-rc-3_card_border-radius: var(--sapTile_BorderCornerRadius);--_ui5-v1-22-0-rc-3_card_header_padding: 1rem 1rem .75rem 1rem;--_ui5-v1-22-0-rc-3_card_border: none;--ui5-v1-22-0-rc-3_carousel_background_color_solid: var(--sapGroup_ContentBackground);--ui5-v1-22-0-rc-3_carousel_background_color_translucent: var(--sapBackgroundColor);--ui5-v1-22-0-rc-3_carousel_button_size: 2.5rem;--ui5-v1-22-0-rc-3_carousel_inactive_dot_size: .25rem;--ui5-v1-22-0-rc-3_carousel_inactive_dot_margin: 0 .375rem;--ui5-v1-22-0-rc-3_carousel_inactive_dot_border: 1px solid var(--sapContent_ForegroundBorderColor);--ui5-v1-22-0-rc-3_carousel_inactive_dot_background: var(--sapContent_ForegroundBorderColor);--ui5-v1-22-0-rc-3_carousel_active_dot_border: 1px solid var(--sapContent_Selected_ForegroundColor);--ui5-v1-22-0-rc-3_carousel_active_dot_background: var(--sapContent_Selected_ForegroundColor);--ui5-v1-22-0-rc-3_carousel_navigation_button_active_box_shadow: none;--_ui5-v1-22-0-rc-3_checkbox_box_shadow: none;--_ui5-v1-22-0-rc-3_checkbox_transition: unset;--_ui5-v1-22-0-rc-3_checkbox_focus_border: none;--_ui5-v1-22-0-rc-3_checkbox_border_radius: 0;--_ui5-v1-22-0-rc-3_checkbox_focus_outline: var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);--_ui5-v1-22-0-rc-3_checkbox_outer_hover_background: transparent;--_ui5-v1-22-0-rc-3_checkbox_inner_width_height: 1.375rem;--_ui5-v1-22-0-rc-3_checkbox_inner_disabled_border_color: var(--sapField_BorderColor);--_ui5-v1-22-0-rc-3_checkbox_inner_information_box_shadow: none;--_ui5-v1-22-0-rc-3_checkbox_inner_warning_box_shadow: none;--_ui5-v1-22-0-rc-3_checkbox_inner_error_box_shadow: none;--_ui5-v1-22-0-rc-3_checkbox_inner_success_box_shadow: none;--_ui5-v1-22-0-rc-3_checkbox_inner_default_box_shadow: none;--_ui5-v1-22-0-rc-3_checkbox_inner_background: var(--sapField_Background);--_ui5-v1-22-0-rc-3_checkbox_wrapped_focus_padding: .375rem;--_ui5-v1-22-0-rc-3_checkbox_wrapped_content_margin_top: .125rem;--_ui5-v1-22-0-rc-3_checkbox_compact_wrapper_padding: .5rem;--_ui5-v1-22-0-rc-3_checkbox_compact_width_height: 2rem;--_ui5-v1-22-0-rc-3_checkbox_compact_inner_size: 1rem;--_ui5-v1-22-0-rc-3_checkbox_compact_focus_position: .375rem;--_ui5-v1-22-0-rc-3_checkbox_compact_wrapped_label_margin_top: -1px;--_ui5-v1-22-0-rc-3_checkbox_label_offset: var(--_ui5-v1-22-0-rc-3_checkbox_wrapper_padding);--_ui5-v1-22-0-rc-3_checkbox_disabled_label_color: var(--sapContent_LabelColor);--_ui5-v1-22-0-rc-3_checkbox_default_focus_border: none;--_ui5-v1-22-0-rc-3_checkbox_focus_outline_display: block;--_ui5-v1-22-0-rc-3_checkbox_wrapper_padding: .6875rem;--_ui5-v1-22-0-rc-3_checkbox_width_height: 2.75rem;--_ui5-v1-22-0-rc-3_checkbox_label_color: var(--sapField_TextColor);--_ui5-v1-22-0-rc-3_checkbox_inner_border: solid var(--sapField_BorderWidth) var(--sapField_BorderColor);--_ui5-v1-22-0-rc-3_checkbox_inner_border_radius: var(--sapField_BorderCornerRadius);--_ui5-v1-22-0-rc-3_checkbox_checkmark_color: var(--sapContent_Selected_ForegroundColor);--_ui5-v1-22-0-rc-3_checkbox_hover_background: var(--sapContent_Selected_Hover_Background);--_ui5-v1-22-0-rc-3_checkbox_inner_hover_border_color: var(--sapField_Hover_BorderColor);--_ui5-v1-22-0-rc-3_checkbox_inner_hover_checked_border_color: var(--sapField_Hover_BorderColor);--_ui5-v1-22-0-rc-3_checkbox_inner_selected_border_color: var(--sapField_BorderColor);--_ui5-v1-22-0-rc-3_checkbox_inner_active_border_color: var(--sapField_Hover_BorderColor);--_ui5-v1-22-0-rc-3_checkbox_active_background: var(--sapContent_Selected_Hover_Background);--_ui5-v1-22-0-rc-3_checkbox_inner_readonly_border: var(--sapElement_BorderWidth) var(--sapField_ReadOnly_BorderColor) dashed;--_ui5-v1-22-0-rc-3_checkbox_inner_error_border: var(--sapField_InvalidBorderWidth) solid var(--sapField_InvalidColor);--_ui5-v1-22-0-rc-3_checkbox_inner_error_background_hover: var(--sapField_Hover_Background);--_ui5-v1-22-0-rc-3_checkbox_inner_warning_border: var(--sapField_WarningBorderWidth) solid var(--sapField_WarningColor);--_ui5-v1-22-0-rc-3_checkbox_inner_warning_color: var(--sapField_WarningColor);--_ui5-v1-22-0-rc-3_checkbox_inner_warning_background_hover: var(--sapField_Hover_Background);--_ui5-v1-22-0-rc-3_checkbox_checkmark_warning_color: var(--sapField_WarningColor);--_ui5-v1-22-0-rc-3_checkbox_inner_success_border: var(--sapField_SuccessBorderWidth) solid var(--sapField_SuccessColor);--_ui5-v1-22-0-rc-3_checkbox_inner_success_background_hover: var(--sapField_Hover_Background);--_ui5-v1-22-0-rc-3_checkbox_inner_information_color: var(--sapField_InformationColor);--_ui5-v1-22-0-rc-3_checkbox_inner_information_border: var(--sapField_InformationBorderWidth) solid var(--sapField_InformationColor);--_ui5-v1-22-0-rc-3_checkbox_inner_information_background_hover: var(--sapField_Hover_Background);--_ui5-v1-22-0-rc-3_checkbox_disabled_opacity: var(--sapContent_DisabledOpacity);--_ui5-v1-22-0-rc-3_checkbox_focus_position: .3125rem;--_ui5-v1-22-0-rc-3_checkbox_focus_border_radius: .5rem;--_ui5-v1-22-0-rc-3_checkbox_right_focus_distance: var(--_ui5-v1-22-0-rc-3_checkbox_focus_position);--_ui5-v1-22-0-rc-3_checkbox_wrapped_focus_left_top_bottom_position: .1875rem;--_ui5-v1-22-0-rc-3_color-palette-item-outer-border-radius: .25rem;--_ui5-v1-22-0-rc-3_color-palette-item-inner-border-radius: .1875rem;--_ui5-v1-22-0-rc-3_color-palette-item-container-sides-padding: .3125rem;--_ui5-v1-22-0-rc-3_color-palette-item-container-rows-padding: .6875rem;--_ui5-v1-22-0-rc-3_color-palette-item-focus-height: 1.5rem;--_ui5-v1-22-0-rc-3_color-palette-item-container-padding: var(--_ui5-v1-22-0-rc-3_color-palette-item-container-sides-padding) var(--_ui5-v1-22-0-rc-3_color-palette-item-container-rows-padding);--_ui5-v1-22-0-rc-3_color-palette-item-hover-margin: .0625rem;--_ui5-v1-22-0-rc-3_color-palette-row-height: 9.5rem;--_ui5-v1-22-0-rc-3_color-palette-button-height: 3rem;--_ui5-v1-22-0-rc-3_color-palette-item-before-focus-color: .125rem solid var(--sapContent_FocusColor);--_ui5-v1-22-0-rc-3_color-palette-item-before-focus-offset: -.3125rem;--_ui5-v1-22-0-rc-3_color-palette-item-before-focus-hover-offset: -.0625rem;--_ui5-v1-22-0-rc-3_color-palette-item-after-focus-color: .0625rem solid var(--sapContent_ContrastFocusColor);--_ui5-v1-22-0-rc-3_color-palette-item-after-focus-offset: -.1875rem;--_ui5-v1-22-0-rc-3_color-palette-item-after-focus-hover-offset: .0625rem;--_ui5-v1-22-0-rc-3_color-palette-item-before-focus-border-radius: .4375rem;--_ui5-v1-22-0-rc-3_color-palette-item-after-focus-border-radius: .3125rem;--_ui5-v1-22-0-rc-3_color-palette-item-hover-outer-border-radius: .4375rem;--_ui5-v1-22-0-rc-3_color-palette-item-hover-inner-border-radius: .375rem;--_ui5-v1-22-0-rc-3_color_picker_circle_outer_border: .0625rem solid var(--sapContent_ContrastShadowColor);--_ui5-v1-22-0-rc-3_color_picker_circle_inner_border: .0625rem solid var(--sapField_BorderColor);--_ui5-v1-22-0-rc-3_color_picker_circle_inner_circle_size: .5625rem;--_ui5-v1-22-0-rc-3_color_picker_slider_handle_box_shadow: .125rem solid var(--sapField_BorderColor);--_ui5-v1-22-0-rc-3_color_picker_slider_handle_border: .125rem solid var(--sapField_BorderColor);--_ui5-v1-22-0-rc-3_color_picker_slider_handle_outline_hover: .125rem solid var(--sapContent_FocusColor);--_ui5-v1-22-0-rc-3_color_picker_slider_handle_outline_focus: .125rem solid var(--sapContent_FocusColor);--_ui5-v1-22-0-rc-3_color_picker_slider_handle_margin_top: -.1875rem;--_ui5-v1-22-0-rc-3_color_picker_slider_handle_focus_margin_top: var(--_ui5-v1-22-0-rc-3_color_picker_slider_handle_margin_top);--_ui5-v1-22-0-rc-3_color_picker_slider_container_margin_top: -11px;--_ui5-v1-22-0-rc-3_color_picker_slider_handle_inline_focus: 1px solid var(--sapContent_ContrastFocusColor);--_ui5-v1-22-0-rc-3_datepicker_icon_border: none;--_ui5-v1-22-0-rc-3-datepicker-hover-background: var(--sapField_Hover_Background);--_ui5-v1-22-0-rc-3-datepicker_border_radius: .25rem;--_ui5-v1-22-0-rc-3-datepicker_icon_border_radius: .125rem;--_ui5-v1-22-0-rc-3_daypicker_item_box_shadow: inset 0 0 0 .0625rem var(--sapContent_Selected_ForegroundColor);--_ui5-v1-22-0-rc-3_daypicker_item_margin: 2px;--_ui5-v1-22-0-rc-3_daypicker_item_border: none;--_ui5-v1-22-0-rc-3_daypicker_item_selected_border_color: var(--sapList_Background);--_ui5-v1-22-0-rc-3_daypicker_daynames_container_height: 2rem;--_ui5-v1-22-0-rc-3_daypicker_weeknumbers_container_padding_top: 2rem;--_ui5-v1-22-0-rc-3_daypicker_item_othermonth_background_color: var(--sapList_Background);--_ui5-v1-22-0-rc-3_daypicker_item_othermonth_color: var(--sapContent_LabelColor);--_ui5-v1-22-0-rc-3_daypicker_item_othermonth_hover_color: var(--sapContent_LabelColor);--_ui5-v1-22-0-rc-3_daypicker_item_now_inner_border_radius: 0;--_ui5-v1-22-0-rc-3_daypicker_item_outline_width: 1px;--_ui5-v1-22-0-rc-3_daypicker_item_outline_offset: 1px;--_ui5-v1-22-0-rc-3_daypicker_item_now_focus_after_width: calc(100% - .25rem) ;--_ui5-v1-22-0-rc-3_daypicker_item_now_focus_after_height: calc(100% - .25rem) ;--_ui5-v1-22-0-rc-3_daypicker_item_now_selected_focus_after_width: calc(100% - .375rem) ;--_ui5-v1-22-0-rc-3_daypicker_item_now_selected_focus_after_height: calc(100% - .375rem) ;--_ui5-v1-22-0-rc-3_daypicker_item_selected_background: transparent;--_ui5-v1-22-0-rc-3_daypicker_item_outline_focus_after: none;--_ui5-v1-22-0-rc-3_daypicker_item_border_focus_after: var(--_ui5-v1-22-0-rc-3_daypicker_item_outline_width) dotted var(--sapContent_FocusColor);--_ui5-v1-22-0-rc-3_daypicker_item_width_focus_after: calc(100% - .25rem) ;--_ui5-v1-22-0-rc-3_daypicker_item_height_focus_after: calc(100% - .25rem) ;--_ui5-v1-22-0-rc-3_daypicker_item_now_outline: none;--_ui5-v1-22-0-rc-3_daypicker_item_now_outline_offset: none;--_ui5-v1-22-0-rc-3_daypicker_item_now_outline_offset_focus_after: var(--_ui5-v1-22-0-rc-3_daypicker_item_now_outline_offset);--_ui5-v1-22-0-rc-3_daypicker_item_now_not_selected_inset: 0;--_ui5-v1-22-0-rc-3_daypicker_item_now_border_color: var(--sapLegend_CurrentDateTime);--_ui5-v1-22-0-rc-3_daypicker_two_calendar_item_now_inset: .1875rem;--_ui5-v1-22-0-rc-3_dp_two_calendar_item_secondary_text_border_radios: .25rem;--_ui5-v1-22-0-rc-3_daypicker_item_border_radius: .5rem;--_ui5-v1-22-0-rc-3_daypicker_item_focus_border: .0625rem dotted var(--sapContent_FocusColor);--_ui5-v1-22-0-rc-3_daypicker_item_selected_border: .0625rem solid var(--sapList_SelectionBorderColor);--_ui5-v1-22-0-rc-3_daypicker_item_not_selected_focus_border: .125rem solid var(--sapContent_FocusColor);--_ui5-v1-22-0-rc-3_daypicker_item_selected_focus_color: var(--sapContent_FocusColor);--_ui5-v1-22-0-rc-3_daypicker_item_selected_focus_width: .125rem;--_ui5-v1-22-0-rc-3_daypicker_item_no_selected_inset: .375rem;--_ui5-v1-22-0-rc-3_daypicker_item_now_border_focus_after: .125rem solid var(--sapList_SelectionBorderColor);--_ui5-v1-22-0-rc-3_daypicker_item_now_border_radius_focus_after: .3125rem;--_ui5-v1-22-0-rc-3_day_picker_item_selected_now_border_focus: .1875rem solid var(--sapList_SelectionBorderColor);--_ui5-v1-22-0-rc-3_day_picker_item_selected_now_border_radius_focus: .1875rem;--ui5-v1-22-0-rc-3-dp-item_withsecondtype_border: .375rem;--_ui5-v1-22-0-rc-3_daypicker_item_now_border: .125rem solid var(--sapLegend_CurrentDateTime);--_ui5-v1-22-0-rc-3_daypicker_dayname_color: var(--sapContent_LabelColor);--_ui5-v1-22-0-rc-3_daypicker_weekname_color: var(--sapContent_LabelColor);--_ui5-v1-22-0-rc-3_daypicker_item_selected_box_shadow: inset 0 0 0 .0625rem var(--sapContent_Selected_ForegroundColor);--_ui5-v1-22-0-rc-3_daypicker_item_selected_daytext_hover_background: transparent;--_ui5-v1-22-0-rc-3_daypicker_item_border_radius_item: .5rem;--_ui5-v1-22-0-rc-3_daypicker_item_border_radius_focus_after: .1875rem;--_ui5-v1-22-0-rc-3_daypicker_item_selected_between_border: .5rem;--_ui5-v1-22-0-rc-3_daypicker_item_selected_between_background: var(--sapList_SelectionBackgroundColor);--_ui5-v1-22-0-rc-3_daypicker_item_selected_between_text_background: transparent;--_ui5-v1-22-0-rc-3_daypicker_item_selected_between_text_font: var(--sapFontFamily);--_ui5-v1-22-0-rc-3_daypicker_item_selected_text_font: var(--sapFontBoldFamily);--_ui5-v1-22-0-rc-3_daypicker_item_selected_between_hover_background: var(--sapList_Hover_SelectionBackground);--_ui5-v1-22-0-rc-3_daypicker_item_now_box_shadow: inset 0 0 0 .35rem var(--sapList_Background);--_ui5-v1-22-0-rc-3_daypicker_item_selected_text_outline: .0625rem solid var(--sapSelectedColor);--_ui5-v1-22-0-rc-3_daypicker_item_now_selected_outline_offset: -.25rem;--_ui5-v1-22-0-rc-3_daypicker_item_now_selected_between_inset: .25rem;--_ui5-v1-22-0-rc-3_daypicker_item_now_selected_between_border: .0625rem solid var(--sapContent_Selected_ForegroundColor);--_ui5-v1-22-0-rc-3_daypicker_item_now_selected_between_border_radius: .1875rem;--_ui5-v1-22-0-rc-3_daypicker_item_select_between_border: 1px solid var(--sapContent_Selected_ForegroundColor);--_ui5-v1-22-0-rc-3_daypicker_item_weeekend_filter: brightness(105%);--_ui5-v1-22-0-rc-3_daypicker_item_selected_hover: var(--sapList_Hover_Background);--_ui5-v1-22-0-rc-3_daypicker_item_now_inset: .375rem;--_ui5-v1-22-0-rc-3-dp-item_withsecondtype_border: .25rem;--_ui5-v1-22-0-rc-3_daypicker_item_selected__secondary_type_text_outline: .125rem solid var(--sapSelectedColor);--_ui5-v1-22-0-rc-3_daypicker_two_calendar_item_now_day_text_content: \"\";--_ui5-v1-22-0-rc-3_daypicker_two_calendar_item_now_selected_border_width: .1875rem;--_ui5-v1-22-0-rc-3_daypicker_two_calendar_item_border_radius: .5rem;--_ui5-v1-22-0-rc-3_daypicker_two_calendar_item_border_focus_border_radius: .5rem;--_ui5-v1-22-0-rc-3_daypicker_two_calendar_item_no_selected_inset: 0;--_ui5-v1-22-0-rc-3_daypicker_two_calendar_item_selected_now_border_radius_focus: .3125rem;--_ui5-v1-22-0-rc-3_daypicker_two_calendar_item_no_selected_focus_inset: .1875rem;--_ui5-v1-22-0-rc-3_daypicker_two_calendar_item_no_select_focus_border_radius: .3125rem;--_ui5-v1-22-0-rc-3_daypicker_two_calendar_item_now_selected_border_inset: 0;--_ui5-v1-22-0-rc-3_dialog_resize_handle_color: var(--sapButton_Lite_TextColor);--_ui5-v1-22-0-rc-3_dialog_header_error_state_icon_color: var(--sapNegativeElementColor);--_ui5-v1-22-0-rc-3_dialog_header_information_state_icon_color: var(--sapInformativeElementColor);--_ui5-v1-22-0-rc-3_dialog_header_success_state_icon_color: var(--sapPositiveElementColor);--_ui5-v1-22-0-rc-3_dialog_header_warning_state_icon_color: var(--sapCriticalElementColor);--_ui5-v1-22-0-rc-3_dialog_header_state_line_height: .0625rem;--_ui5-v1-22-0-rc-3_dialog_header_focus_bottom_offset: 2px;--_ui5-v1-22-0-rc-3_dialog_header_focus_top_offset: 1px;--_ui5-v1-22-0-rc-3_dialog_header_focus_left_offset: 1px;--_ui5-v1-22-0-rc-3_dialog_header_focus_right_offset: 1px;--_ui5-v1-22-0-rc-3_dialog_resize_handle_right: 0;--_ui5-v1-22-0-rc-3_dialog_resize_handle_bottom: 3px;--_ui5-v1-22-0-rc-3_dialog_header_border_radius: var(--sapElement_BorderCornerRadius);--_ui5-v1-22-0-rc-3_file_uploader_value_state_error_hover_background_color: var(--sapField_Hover_Background);--_ui5-v1-22-0-rc-3_file_uploader_hover_border: none;--ui5-v1-22-0-rc-3-group-header-listitem-background-color: var(--sapList_GroupHeaderBackground);--ui5-v1-22-0-rc-3-icon-focus-border-radius: .25rem;--_ui5-v1-22-0-rc-3_input_width: 13.125rem;--_ui5-v1-22-0-rc-3_input_min_width: 2.75rem;--_ui5-v1-22-0-rc-3_input_height: var(--sapElement_Height);--_ui5-v1-22-0-rc-3_input_compact_height: 1.625rem;--_ui5-v1-22-0-rc-3_input_value_state_error_hover_background: var(--sapField_Hover_Background);--_ui5-v1-22-0-rc-3_input_background_color: var(--sapField_Background);--_ui5-v1-22-0-rc-3_input_border_radius: var(--sapField_BorderCornerRadius);--_ui5-v1-22-0-rc-3_input_placeholder_style: italic;--_ui5-v1-22-0-rc-3_input_placeholder_color: var(--sapField_PlaceholderTextColor);--_ui5-v1-22-0-rc-3_input_bottom_border_height: 0;--_ui5-v1-22-0-rc-3_input_bottom_border_color: transparent;--_ui5-v1-22-0-rc-3_input_focused_border_color: var(--sapField_Hover_BorderColor);--_ui5-v1-22-0-rc-3_input_state_border_width: .125rem;--_ui5-v1-22-0-rc-3_input_information_border_width: .125rem;--_ui5-v1-22-0-rc-3_input_error_font_weight: normal;--_ui5-v1-22-0-rc-3_input_warning_font_weight: normal;--_ui5-v1-22-0-rc-3_input_focus_border_width: 1px;--_ui5-v1-22-0-rc-3_input_error_warning_font_style: inherit;--_ui5-v1-22-0-rc-3_input_error_warning_text_indent: 0;--_ui5-v1-22-0-rc-3_input_disabled_color: var(--sapContent_DisabledTextColor);--_ui5-v1-22-0-rc-3_input_disabled_font_weight: normal;--_ui5-v1-22-0-rc-3_input_disabled_border_color: var(--sapField_BorderColor);--_ui5-v1-22-0-rc-3-input_disabled_background: var(--sapField_Background);--_ui5-v1-22-0-rc-3_input_readonly_border_color: var(--sapField_ReadOnly_BorderColor);--_ui5-v1-22-0-rc-3_input_readonly_background: var(--sapField_ReadOnly_Background);--_ui5-v1-22-0-rc-3_input_disabled_opacity: var(--sapContent_DisabledOpacity);--_ui5-v1-22-0-rc-3_input_icon_min_width: 2.25rem;--_ui5-v1-22-0-rc-3_input_compact_min_width: 2rem;--_ui5-v1-22-0-rc-3_input_transition: none;--_ui5-v1-22-0-rc-3-input-value-state-icon-display: none;--_ui5-v1-22-0-rc-3_input_value_state_error_border_color: var(--sapField_InvalidColor);--_ui5-v1-22-0-rc-3_input_focused_value_state_error_border_color: var(--sapField_InvalidColor);--_ui5-v1-22-0-rc-3_input_value_state_warning_border_color: var(--sapField_WarningColor);--_ui5-v1-22-0-rc-3_input_focused_value_state_warning_border_color: var(--sapField_WarningColor);--_ui5-v1-22-0-rc-3_input_value_state_success_border_color: var(--sapField_SuccessColor);--_ui5-v1-22-0-rc-3_input_focused_value_state_success_border_color: var(--sapField_SuccessColor);--_ui5-v1-22-0-rc-3_input_value_state_success_border_width: 1px;--_ui5-v1-22-0-rc-3_input_value_state_information_border_color: var(--sapField_InformationColor);--_ui5-v1-22-0-rc-3_input_focused_value_state_information_border_color: var(--sapField_InformationColor);--_ui5-v1-22-0-rc-3-input-value-state-information-border-width: 1px;--_ui5-v1-22-0-rc-3-input-background-image: none;--ui5-v1-22-0-rc-3_input_focus_pseudo_element_content: \"\";--_ui5-v1-22-0-rc-3_input_value_state_error_warning_placeholder_font_weight: normal;--_ui5-v1-22-0-rc-3-input_error_placeholder_color: var(--sapField_PlaceholderTextColor);--_ui5-v1-22-0-rc-3_input_icon_width: 2.25rem;--_ui5-v1-22-0-rc-3-input-icons-count: 0;--_ui5-v1-22-0-rc-3_input_margin_top_bottom: .1875rem;--_ui5-v1-22-0-rc-3_input_tokenizer_min_width: 3.25rem;--_ui5-v1-22-0-rc-3-input-border: none;--_ui5-v1-22-0-rc-3_input_hover_border: none;--_ui5-v1-22-0-rc-3_input_focus_border_radius: .25rem;--_ui5-v1-22-0-rc-3_input_readonly_focus_border_radius: .125rem;--_ui5-v1-22-0-rc-3_input_error_warning_border_style: none;--_ui5-v1-22-0-rc-3_input_focused_value_state_error_background: var(--sapField_Hover_Background);--_ui5-v1-22-0-rc-3_input_focused_value_state_warning_background: var(--sapField_Hover_Background);--_ui5-v1-22-0-rc-3_input_focused_value_state_success_background: var(--sapField_Hover_Background);--_ui5-v1-22-0-rc-3_input_focused_value_state_information_background: var(--sapField_Hover_Background);--_ui5-v1-22-0-rc-3_input_focused_value_state_error_focus_outline_color: var(--sapField_InvalidColor);--_ui5-v1-22-0-rc-3_input_focused_value_state_warning_focus_outline_color: var(--sapField_WarningColor);--_ui5-v1-22-0-rc-3_input_focused_value_state_success_focus_outline_color: var(--sapField_SuccessColor);--_ui5-v1-22-0-rc-3_input_focus_offset: 0;--_ui5-v1-22-0-rc-3_input_readonly_focus_offset: .125rem;--_ui5-v1-22-0-rc-3_input_information_icon_padding: .625rem .625rem .5rem .625rem;--_ui5-v1-22-0-rc-3_input_information_focused_icon_padding: .625rem .625rem .5625rem .625rem;--_ui5-v1-22-0-rc-3_input_error_warning_icon_padding: .625rem .625rem .5rem .625rem;--_ui5-v1-22-0-rc-3_input_error_warning_focused_icon_padding: .625rem .625rem .5625rem .625rem;--_ui5-v1-22-0-rc-3_input_custom_icon_padding: .625rem .625rem .5625rem .625rem;--_ui5-v1-22-0-rc-3_input_error_warning_custom_icon_padding: .625rem .625rem .5rem .625rem;--_ui5-v1-22-0-rc-3_input_error_warning_custom_focused_icon_padding: .625rem .625rem .5625rem .625rem;--_ui5-v1-22-0-rc-3_input_information_custom_icon_padding: .625rem .625rem .5rem .625rem;--_ui5-v1-22-0-rc-3_input_information_custom_focused_icon_padding: .625rem .625rem .5625rem .625rem;--_ui5-v1-22-0-rc-3_input_focus_outline_color: var(--sapField_Active_BorderColor);--_ui5-v1-22-0-rc-3_input_icon_wrapper_height: calc(100% - 1px) ;--_ui5-v1-22-0-rc-3_input_icon_wrapper_state_height: calc(100% - 2px) ;--_ui5-v1-22-0-rc-3_input_icon_wrapper_success_state_height: calc(100% - var(--_ui5-v1-22-0-rc-3_input_value_state_success_border_width));--_ui5-v1-22-0-rc-3_input_icon_color: var(--sapContent_IconColor);--_ui5-v1-22-0-rc-3_input_icon_pressed_bg: var(--sapButton_Selected_Background);--_ui5-v1-22-0-rc-3_input_icon_padding: .625rem .625rem .5625rem .625rem;--_ui5-v1-22-0-rc-3_input_icon_hover_bg: var(--sapField_Focus_Background);--_ui5-v1-22-0-rc-3_input_icon_pressed_color: var(--sapButton_Active_TextColor);--_ui5-v1-22-0-rc-3_input_icon_border_radius: .25rem;--_ui5-v1-22-0-rc-3_input_icon_box_shadow: var(--sapField_Hover_Shadow);--_ui5-v1-22-0-rc-3_input_icon_border: none;--_ui5-v1-22-0-rc-3_input_error_icon_box_shadow: var(--sapContent_Negative_Shadow);--_ui5-v1-22-0-rc-3_input_warning_icon_box_shadow: var(--sapContent_Critical_Shadow);--_ui5-v1-22-0-rc-3_input_information_icon_box_shadow: var(--sapContent_Informative_Shadow);--_ui5-v1-22-0-rc-3_input_success_icon_box_shadow: var(--sapContent_Positive_Shadow);--_ui5-v1-22-0-rc-3_input_icon_error_pressed_color: var(--sapButton_Reject_Selected_TextColor);--_ui5-v1-22-0-rc-3_input_icon_warning_pressed_color: var(--sapButton_Attention_Selected_TextColor);--_ui5-v1-22-0-rc-3_input_icon_information_pressed_color: var(--sapButton_Selected_TextColor);--_ui5-v1-22-0-rc-3_input_icon_success_pressed_color: var(--sapButton_Accept_Selected_TextColor);--_ui5-v1-22-0-rc-3_link_focus_text_decoration: underline;--_ui5-v1-22-0-rc-3_link_text_decoration: var(--sapLink_TextDecoration);--_ui5-v1-22-0-rc-3_link_hover_text_decoration: var(--sapLink_Hover_TextDecoration);--_ui5-v1-22-0-rc-3_link_focused_hover_text_decoration: none;--_ui5-v1-22-0-rc-3_link_focused_hover_text_color: var(--sapContent_ContrastTextColor);--_ui5-v1-22-0-rc-3_link_active_text_decoration: var(--sapLink_Active_TextDecoration);--_ui5-v1-22-0-rc-3_link_border: .125rem solid transparent;--_ui5-v1-22-0-rc-3_link_border_focus: .125rem solid var(--sapContent_FocusColor);--_ui5-v1-22-0-rc-3_link_focus_border-radius: .125rem;--_ui5-v1-22-0-rc-3_link_focus_background_color: var(--sapContent_FocusColor);--_ui5-v1-22-0-rc-3_link_focus_color: var(--sapContent_ContrastTextColor);--_ui5-v1-22-0-rc-3_link_subtle_text_decoration: underline;--_ui5-v1-22-0-rc-3_link_subtle_text_decoration_hover: none;--ui5-v1-22-0-rc-3_list_footer_text_color: var(--sapList_FooterTextColor);--ui5-v1-22-0-rc-3-listitem-background-color: var(--sapList_Background);--ui5-v1-22-0-rc-3-listitem-border-bottom: var(--sapList_BorderWidth) solid var(--sapList_BorderColor);--ui5-v1-22-0-rc-3-listitem-selected-border-bottom: 1px solid var(--sapList_SelectionBorderColor);--ui5-v1-22-0-rc-3-listitem-focused-selected-border-bottom: 1px solid var(--sapList_SelectionBorderColor);--_ui5-v1-22-0-rc-3_listitembase_focus_width: 1px;--_ui5-v1-22-0-rc-3-listitembase_disabled_opacity: .5;--_ui5-v1-22-0-rc-3_product_switch_item_border: none;--ui5-v1-22-0-rc-3-listitem-active-border-color: var(--sapContent_FocusColor);--_ui5-v1-22-0-rc-3_menu_item_padding: 0 1rem 0 .75rem;--_ui5-v1-22-0-rc-3_menu_item_submenu_icon_right: 1rem;--_ui5-v1-22-0-rc-3_menu_item_additional_text_start_margin: 1rem;--_ui5-v1-22-0-rc-3_menu_popover_border_radius: var(--sapPopover_BorderCornerRadius);--_ui5-v1-22-0-rc-3_monthpicker_item_border: none;--_ui5-v1-22-0-rc-3_monthpicker_item_margin: 1px;--_ui5-v1-22-0-rc-3_monthpicker_item_border_radius: .5rem;--_ui5-v1-22-0-rc-3_monthpicker_item_focus_after_border: var(--_ui5-v1-22-0-rc-3_button_focused_border);--_ui5-v1-22-0-rc-3_monthpicker_item_focus_after_border_radius: .5rem;--_ui5-v1-22-0-rc-3_monthpicker_item_focus_after_width: calc(100% - .5rem) ;--_ui5-v1-22-0-rc-3_monthpicker_item_focus_after_height: calc(100% - .5rem) ;--_ui5-v1-22-0-rc-3_monthpicker_item_focus_after_offset: .25rem;--_ui5-v1-22-0-rc-3_monthpicker_item_selected_text_color: var(--sapContent_Selected_TextColor);--_ui5-v1-22-0-rc-3_monthpicker_item_selected_background_color:var(--sapLegend_WorkingBackground);--_ui5-v1-22-0-rc-3_monthpicker_item_selected_hover_color: var(--sapList_Hover_Background);--_ui5-v1-22-0-rc-3_monthpicker_item_selected_box_shadow: none;--_ui5-v1-22-0-rc-3_monthpicker_item_focus_after_outline: .125rem solid var(--sapSelectedColor);--_ui5-v1-22-0-rc-3_monthpicker_item_selected_font_wieght: bold;--_ui5-v1-22-0-rc-3_message_strip_icon_width: 2.5rem;--_ui5-v1-22-0-rc-3_message_strip_button_border_width: 0;--_ui5-v1-22-0-rc-3_message_strip_button_border_style: none;--_ui5-v1-22-0-rc-3_message_strip_button_border_color: transparent;--_ui5-v1-22-0-rc-3_message_strip_button_border_radius: 0;--_ui5-v1-22-0-rc-3_message_strip_padding: .4375rem 2.5rem .4375rem 2.5rem;--_ui5-v1-22-0-rc-3_message_strip_padding_block_no_icon: .4375rem .4375rem;--_ui5-v1-22-0-rc-3_message_strip_padding_inline_no_icon: 1rem 2.5rem;--_ui5-v1-22-0-rc-3_message_strip_button_height: 1.625rem;--_ui5-v1-22-0-rc-3_message_strip_border_width: 1px;--_ui5-v1-22-0-rc-3_message_strip_close_button_border: none;--_ui5-v1-22-0-rc-3_message_strip_icon_top: .4375rem;--_ui5-v1-22-0-rc-3_message_strip_focus_width: 1px;--_ui5-v1-22-0-rc-3_message_strip_focus_offset: -2px;--_ui5-v1-22-0-rc-3_message_strip_close_button_top: .125rem;--_ui5-v1-22-0-rc-3_message_strip_close_button_right: .1875rem;--_ui5-v1-22-0-rc-3_panel_focus_border: var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);--_ui5-v1-22-0-rc-3_panel_header_height: 2.75rem;--_ui5-v1-22-0-rc-3_panel_button_root_width: 2.75rem;--_ui5-v1-22-0-rc-3_panel_button_root_height: 2.75rem;--_ui5-v1-22-0-rc-3_panel_header_padding_right: .5rem;--_ui5-v1-22-0-rc-3_panel_header_button_wrapper_padding: .25rem;--_ui5-v1-22-0-rc-3_panel_border_radius: var(--sapElement_BorderCornerRadius);--_ui5-v1-22-0-rc-3_panel_border_bottom: none;--_ui5-v1-22-0-rc-3_panel_default_header_border: .0625rem solid var(--sapGroup_TitleBorderColor);--_ui5-v1-22-0-rc-3_panel_outline_offset: -.125rem;--_ui5-v1-22-0-rc-3_panel_border_radius_expanded: var(--sapElement_BorderCornerRadius) var(--sapElement_BorderCornerRadius) 0 0;--_ui5-v1-22-0-rc-3_panel_icon_color: var(--sapButton_Lite_TextColor);--_ui5-v1-22-0-rc-3_panel_focus_offset: -1px;--_ui5-v1-22-0-rc-3_panel_content_padding: .625rem 1rem;--_ui5-v1-22-0-rc-3_panel_header_background_color: var(--sapGroup_TitleBackground);--_ui5-v1-22-0-rc-3_popover_background: var(--sapGroup_ContentBackground);--_ui5-v1-22-0-rc-3_popover_box_shadow: var(--sapContent_Shadow2);--_ui5-v1-22-0-rc-3_popover_no_arrow_box_shadow: var(--sapContent_Shadow1);--_ui5-v1-22-0-rc-3_popup_content_padding_s: 1rem;--_ui5-v1-22-0-rc-3_popup_content_padding_m_l: 2rem;--_ui5-v1-22-0-rc-3_popup_content_padding_xl: 3rem;--_ui5-v1-22-0-rc-3_popup_header_footer_padding_s: 1rem;--_ui5-v1-22-0-rc-3_popup_header_footer_padding_m_l: 2rem;--_ui5-v1-22-0-rc-3_popup_header_footer_padding_xl: 3rem;--_ui5-v1-22-0-rc-3_popup_viewport_margin: 10px;--_ui5-v1-22-0-rc-3_popup_header_font_weight: 400;--_ui5-v1-22-0-rc-3_popup_header_prop_header_text_alignment: flex-start;--_ui5-v1-22-0-rc-3_popup_header_background: var(--sapPageHeader_Background);--_ui5-v1-22-0-rc-3_popup_header_shadow: var(--sapContent_HeaderShadow);--_ui5-v1-22-0-rc-3_popup_header_border: none;--_ui5-v1-22-0-rc-3_popup_header_font_family: var(--sapFontHeaderFamily);--_ui5-v1-22-0-rc-3_popup_border_radius: .5rem;--_ui5-v1-22-0-rc-3_popup_block_layer_background: color-mix(in oklch, transparent, var(--sapBlockLayer_Background) 60%);--_ui5-v1-22-0-rc-3_progress_indicator_bar_border_max: none;--_ui5-v1-22-0-rc-3_progress_indicator_icon_visibility: inline-block;--_ui5-v1-22-0-rc-3_progress_indicator_side_points_visibility: block;--_ui5-v1-22-0-rc-3_progress_indicator_padding: 1.25rem 0 .75rem 0;--_ui5-v1-22-0-rc-3_progress_indicator_padding_end: 1.25rem;--_ui5-v1-22-0-rc-3_progress_indicator_host_height: unset;--_ui5-v1-22-0-rc-3_progress_indicator_host_min_height: unset;--_ui5-v1-22-0-rc-3_progress_indicator_host_box_sizing: border-box;--_ui5-v1-22-0-rc-3_progress_indicator_root_position: relative;--_ui5-v1-22-0-rc-3_progress_indicator_root_border_radius: .25rem;--_ui5-v1-22-0-rc-3_progress_indicator_root_height: .375rem;--_ui5-v1-22-0-rc-3_progress_indicator_root_min_height: .375rem;--_ui5-v1-22-0-rc-3_progress_indicator_root_overflow: visible;--_ui5-v1-22-0-rc-3_progress_indicator_bar_height: .625rem;--_ui5-v1-22-0-rc-3_progress_indicator_bar_border_radius: .5rem;--_ui5-v1-22-0-rc-3_progress_indicator_remaining_bar_border_radius: .25rem;--_ui5-v1-22-0-rc-3_progress_indicator_remaining_bar_position: absolute;--_ui5-v1-22-0-rc-3_progress_indicator_remaining_bar_width: 100%;--_ui5-v1-22-0-rc-3_progress_indicator_remaining_bar_overflow: visible;--_ui5-v1-22-0-rc-3_progress_indicator_icon_position: absolute;--_ui5-v1-22-0-rc-3_progress_indicator_icon_right_position: -1.25rem;--_ui5-v1-22-0-rc-3_progress_indicator_value_margin: 0 0 .1875rem 0;--_ui5-v1-22-0-rc-3_progress_indicator_value_position: absolute;--_ui5-v1-22-0-rc-3_progress_indicator_value_top_position: -1.3125rem;--_ui5-v1-22-0-rc-3_progress_indicator_value_left_position: 0;--_ui5-v1-22-0-rc-3_progress_indicator_background_none: var(--sapProgress_Background);--_ui5-v1-22-0-rc-3_progress_indicator_background_error: var(--sapProgress_NegativeBackground);--_ui5-v1-22-0-rc-3_progress_indicator_background_warning: var(--sapProgress_CriticalBackground);--_ui5-v1-22-0-rc-3_progress_indicator_background_success: var(--sapProgress_PositiveBackground);--_ui5-v1-22-0-rc-3_progress_indicator_background_information: var(--sapProgress_InformationBackground);--_ui5-v1-22-0-rc-3_progress_indicator_value_state_none: var(--sapProgress_Value_Background);--_ui5-v1-22-0-rc-3_progress_indicator_value_state_error: var(--sapProgress_Value_NegativeBackground);--_ui5-v1-22-0-rc-3_progress_indicator_value_state_warning: var(--sapProgress_Value_CriticalBackground);--_ui5-v1-22-0-rc-3_progress_indicator_value_state_success: var(--sapProgress_Value_PositiveBackground);--_ui5-v1-22-0-rc-3_progress_indicator_value_state_information: var(--sapProgress_Value_InformationBackground);--_ui5-v1-22-0-rc-3_progress_indicator_value_state_none_border_color: var(--sapProgress_Value_BorderColor);--_ui5-v1-22-0-rc-3_progress_indicator_value_state_error_border_color: var(--sapProgress_Value_NegativeBorderColor);--_ui5-v1-22-0-rc-3_progress_indicator_value_state_warning_border_color: var(--sapProgress_Value_CriticalBorderColor);--_ui5-v1-22-0-rc-3_progress_indicator_value_state_success_border_color: var(--sapProgress_Value_PositiveBorderColor);--_ui5-v1-22-0-rc-3_progress_indicator_value_state_information_border_color: var(--sapProgress_Value_InformationBorderColor);--_ui5-v1-22-0-rc-3_progress_indicator_value_state_error_icon_color: var(--sapProgress_Value_NegativeTextColor);--_ui5-v1-22-0-rc-3_progress_indicator_value_state_warning_icon_color: var(--sapProgress_Value_CriticalTextColor);--_ui5-v1-22-0-rc-3_progress_indicator_value_state_success_icon_color: var(--sapProgress_Value_PositiveTextColor);--_ui5-v1-22-0-rc-3_progress_indicator_value_state_information_icon_color: var(--sapProgress_Value_InformationTextColor);--_ui5-v1-22-0-rc-3_progress_indicator_border: none;--_ui5-v1-22-0-rc-3_progress_indicator_border_color_error: var(--sapErrorBorderColor);--_ui5-v1-22-0-rc-3_progress_indicator_border_color_warning: var(--sapWarningBorderColor);--_ui5-v1-22-0-rc-3_progress_indicator_border_color_success: var(--sapSuccessBorderColor);--_ui5-v1-22-0-rc-3_progress_indicator_border_color_information: var(--sapInformationBorderColor);--_ui5-v1-22-0-rc-3_progress_indicator_color: var(--sapField_TextColor);--_ui5-v1-22-0-rc-3_progress_indicator_bar_color: var(--sapProgress_TextColor);--_ui5-v1-22-0-rc-3_progress_indicator_icon_size: var(--sapFontLargeSize);--_ui5-v1-22-0-rc-3_rating_indicator_item_height: 1em;--_ui5-v1-22-0-rc-3_rating_indicator_item_width: 1em;--_ui5-v1-22-0-rc-3_rating_indicator_component_spacing: .5rem 0px;--_ui5-v1-22-0-rc-3_rating_indicator_border_radius: .25rem;--_ui5-v1-22-0-rc-3_rating_indicator_outline_offset: .125rem;--_ui5-v1-22-0-rc-3_rating_indicator_readonly_item_height: .75em;--_ui5-v1-22-0-rc-3_rating_indicator_readonly_item_width: .75em;--_ui5-v1-22-0-rc-3_rating_indicator_readonly_item_spacing: .1875rem .1875rem;--_ui5-v1-22-0-rc-3_segmented_btn_inner_border: .0625rem solid transparent;--_ui5-v1-22-0-rc-3_segmented_btn_inner_border_odd_child: .0625rem solid transparent;--_ui5-v1-22-0-rc-3_segmented_btn_inner_pressed_border_odd_child: .0625rem solid var(--sapButton_Selected_BorderColor);--_ui5-v1-22-0-rc-3_segmented_btn_inner_border_radius: var(--sapButton_BorderCornerRadius);--_ui5-v1-22-0-rc-3_segmented_btn_background_color: var(--sapButton_Lite_Background);--_ui5-v1-22-0-rc-3_segmented_btn_border_color: var(--sapButton_Lite_BorderColor);--_ui5-v1-22-0-rc-3_segmented_btn_hover_box_shadow: none;--_ui5-v1-22-0-rc-3_segmented_btn_item_border_left: .0625rem;--_ui5-v1-22-0-rc-3_segmented_btn_item_border_right: .0625rem;--_ui5-v1-22-0-rc-3_radio_button_min_width: 2.75rem;--_ui5-v1-22-0-rc-3_radio_button_hover_fill_error: var(--sapField_Hover_Background);--_ui5-v1-22-0-rc-3_radio_button_hover_fill_warning: var(--sapField_Hover_Background);--_ui5-v1-22-0-rc-3_radio_button_hover_fill_success: var(--sapField_Hover_Background);--_ui5-v1-22-0-rc-3_radio_button_hover_fill_information: var(--sapField_Hover_Background);--_ui5-v1-22-0-rc-3_radio_button_checked_fill: var(--sapSelectedColor);--_ui5-v1-22-0-rc-3_radio_button_checked_error_fill: var(--sapField_InvalidColor);--_ui5-v1-22-0-rc-3_radio_button_checked_success_fill: var(--sapField_SuccessColor);--_ui5-v1-22-0-rc-3_radio_button_checked_information_fill: var(--sapField_InformationColor);--_ui5-v1-22-0-rc-3_radio_button_warning_error_border_dash: 0;--_ui5-v1-22-0-rc-3_radio_button_outer_ring_color: var(--sapField_BorderColor);--_ui5-v1-22-0-rc-3_radio_button_outer_ring_width: var(--sapField_BorderWidth);--_ui5-v1-22-0-rc-3_radio_button_outer_ring_bg: var(--sapField_Background);--_ui5-v1-22-0-rc-3_radio_button_outer_ring_hover_color: var(--sapField_Hover_BorderColor);--_ui5-v1-22-0-rc-3_radio_button_outer_ring_active_color: var(--sapField_Hover_BorderColor);--_ui5-v1-22-0-rc-3_radio_button_outer_ring_checked_hover_color: var(--sapField_Hover_BorderColor);--_ui5-v1-22-0-rc-3_radio_button_outer_ring_padding_with_label: 0 .6875rem;--_ui5-v1-22-0-rc-3_radio_button_border: none;--_ui5-v1-22-0-rc-3_radio_button_focus_border: none;--_ui5-v1-22-0-rc-3_radio_button_focus_outline: block;--_ui5-v1-22-0-rc-3_radio_button_color: var(--sapField_BorderColor);--_ui5-v1-22-0-rc-3_radio_button_label_offset: 1px;--_ui5-v1-22-0-rc-3_radio_button_items_align: unset;--_ui5-v1-22-0-rc-3_radio_button_information_border_width: var(--sapField_InformationBorderWidth);--_ui5-v1-22-0-rc-3_radio_button_border_width: var(--sapContent_FocusWidth);--_ui5-v1-22-0-rc-3_radio_button_border_radius: .5rem;--_ui5-v1-22-0-rc-3_radio_button_label_color: var(--sapField_TextColor);--_ui5-v1-22-0-rc-3_radio_button_inner_ring_radius: 27.5%;--_ui5-v1-22-0-rc-3_radio_button_outer_ring_padding: 0 .6875rem;--_ui5-v1-22-0-rc-3_radio_button_read_only_border_type: 4,2;--_ui5-v1-22-0-rc-3_radio_button_inner_ring_color: var(--sapContent_Selected_ForegroundColor);--_ui5-v1-22-0-rc-3_radio_button_checked_warning_fill: var(--sapField_WarningColor);--_ui5-v1-22-0-rc-3_radio_button_read_only_inner_ring_color: var(--sapField_TextColor);--_ui5-v1-22-0-rc-3_radio_button_read_only_border_width: var(--sapElement_BorderWidth);--_ui5-v1-22-0-rc-3_radio_button_hover_fill: var(--sapContent_Selected_Hover_Background);--_ui5-v1-22-0-rc-3_radio_button_focus_dist: .375rem;--_ui5-v1-22-0-rc-3_switch_height: 2.75rem;--_ui5-v1-22-0-rc-3_switch_foucs_border_size: 1px;--_ui5-v1-22-0-rc-3-switch-root-border-radius: 0;--_ui5-v1-22-0-rc-3-switch-root-box-shadow: none;--_ui5-v1-22-0-rc-3-switch-focus: \"\";--_ui5-v1-22-0-rc-3_switch_track_border_radius: .75rem;--_ui5-v1-22-0-rc-3-switch-track-border: 1px solid;--_ui5-v1-22-0-rc-3_switch_track_transition: none;--_ui5-v1-22-0-rc-3_switch_handle_border_radius: 1rem;--_ui5-v1-22-0-rc-3-switch-handle-icon-display: none;--_ui5-v1-22-0-rc-3-switch-slider-texts-display: inline;--_ui5-v1-22-0-rc-3_switch_width: 3.5rem;--_ui5-v1-22-0-rc-3_switch_min_width: none;--_ui5-v1-22-0-rc-3_switch_with_label_width: 3.875rem;--_ui5-v1-22-0-rc-3_switch_focus_outline: none;--_ui5-v1-22-0-rc-3_switch_root_after_outline: .125rem solid var(--sapContent_FocusColor);--_ui5-v1-22-0-rc-3_switch_root_after_boreder: none;--_ui5-v1-22-0-rc-3_switch_root_after_boreder_radius: 1rem;--_ui5-v1-22-0-rc-3_switch_root_outline_top: .5rem;--_ui5-v1-22-0-rc-3_switch_root_outline_bottom: .5rem;--_ui5-v1-22-0-rc-3_switch_root_outline_left: .375rem;--_ui5-v1-22-0-rc-3_switch_root_outline_right: .375rem;--_ui5-v1-22-0-rc-3_switch_disabled_opacity: var(--sapContent_DisabledOpacity);--_ui5-v1-22-0-rc-3_switch_transform: translateX(100%) translateX(-1.625rem);--_ui5-v1-22-0-rc-3_switch_transform_with_label: translateX(100%) translateX(-1.875rem);--_ui5-v1-22-0-rc-3_switch_rtl_transform: translateX(-100%) translateX(1.625rem);--_ui5-v1-22-0-rc-3_switch_rtl_transform_with_label: translateX(-100%) translateX(1.875rem);--_ui5-v1-22-0-rc-3_switch_track_width: 2.5rem;--_ui5-v1-22-0-rc-3_switch_track_height: 1.5rem;--_ui5-v1-22-0-rc-3_switch_track_with_label_width: 2.875rem;--_ui5-v1-22-0-rc-3_switch_track_with_label_height: 1.5rem;--_ui5-v1-22-0-rc-3_switch_track_active_background_color: var(--sapButton_Track_Selected_Background);--_ui5-v1-22-0-rc-3_switch_track_inactive_background_color: var(--sapButton_Track_Background);--_ui5-v1-22-0-rc-3_switch_track_hover_active_background_color: var(--sapButton_Track_Selected_Hover_Background);--_ui5-v1-22-0-rc-3_switch_track_hover_inactive_background_color: var(--sapButton_Track_Hover_Background);--_ui5-v1-22-0-rc-3_switch_track_active_border_color: var(--sapButton_Track_Selected_BorderColor);--_ui5-v1-22-0-rc-3_switch_track_inactive_border_color: var(--sapButton_Track_BorderColor);--_ui5-v1-22-0-rc-3_switch_track_hover_active_border_color: var(--sapButton_Track_Selected_Hover_BorderColor);--_ui5-v1-22-0-rc-3_switch_track_hover_inactive_border_color: var(--sapButton_Track_Hover_BorderColor);--_ui5-v1-22-0-rc-3_switch_track_semantic_accept_background_color: var(--sapButton_Track_Positive_Background);--_ui5-v1-22-0-rc-3_switch_track_semantic_reject_background_color: var(--sapButton_Track_Negative_Background);--_ui5-v1-22-0-rc-3_switch_track_semantic_hover_accept_background_color: var(--sapButton_Track_Positive_Hover_Background);--_ui5-v1-22-0-rc-3_switch_track_semantic_hover_reject_background_color: var(--sapButton_Track_Negative_Hover_Background);--_ui5-v1-22-0-rc-3_switch_track_semantic_accept_border_color: var(--sapButton_Track_Positive_BorderColor);--_ui5-v1-22-0-rc-3_switch_track_semantic_reject_border_color: var(--sapButton_Track_Negative_BorderColor);--_ui5-v1-22-0-rc-3_switch_track_semantic_hover_accept_border_color: var(--sapButton_Track_Positive_Hover_BorderColor);--_ui5-v1-22-0-rc-3_switch_track_semantic_hover_reject_border_color: var(--sapButton_Track_Negative_Hover_BorderColor);--_ui5-v1-22-0-rc-3_switch_track_icon_display: inline-block;--_ui5-v1-22-0-rc-3_switch_handle_width: 1.5rem;--_ui5-v1-22-0-rc-3_switch_handle_height: 1.25rem;--_ui5-v1-22-0-rc-3_switch_handle_with_label_width: 1.75rem;--_ui5-v1-22-0-rc-3_switch_handle_with_label_height: 1.25rem;--_ui5-v1-22-0-rc-3_switch_handle_border: var(--_ui5-v1-22-0-rc-3_switch_handle_border_width) solid var(--sapButton_Handle_BorderColor);--_ui5-v1-22-0-rc-3_switch_handle_border_width: .125rem;--_ui5-v1-22-0-rc-3_switch_handle_active_background_color: var(--sapButton_Handle_Selected_Background);--_ui5-v1-22-0-rc-3_switch_handle_inactive_background_color: var(--sapButton_Handle_Background);--_ui5-v1-22-0-rc-3_switch_handle_hover_active_background_color: var(--sapButton_Handle_Selected_Hover_Background);--_ui5-v1-22-0-rc-3_switch_handle_hover_inactive_background_color: var(--sapButton_Handle_Hover_Background);--_ui5-v1-22-0-rc-3_switch_handle_active_border_color: var(--sapButton_Handle_Selected_BorderColor);--_ui5-v1-22-0-rc-3_switch_handle_inactive_border_color: var(--sapButton_Handle_BorderColor);--_ui5-v1-22-0-rc-3_switch_handle_hover_active_border_color: var(--sapButton_Handle_Selected_BorderColor);--_ui5-v1-22-0-rc-3_switch_handle_hover_inactive_border_color: var(--sapButton_Handle_BorderColor);--_ui5-v1-22-0-rc-3_switch_handle_semantic_accept_background_color: var(--sapButton_Handle_Positive_Background);--_ui5-v1-22-0-rc-3_switch_handle_semantic_reject_background_color: var(--sapButton_Handle_Negative_Background);--_ui5-v1-22-0-rc-3_switch_handle_semantic_hover_accept_background_color: var(--sapButton_Handle_Positive_Hover_Background);--_ui5-v1-22-0-rc-3_switch_handle_semantic_hover_reject_background_color: var(--sapButton_Handle_Negative_Hover_Background);--_ui5-v1-22-0-rc-3_switch_handle_semantic_accept_border_color: var(--sapButton_Handle_Positive_BorderColor);--_ui5-v1-22-0-rc-3_switch_handle_semantic_reject_border_color: var(--sapButton_Handle_Negative_BorderColor);--_ui5-v1-22-0-rc-3_switch_handle_semantic_hover_accept_border_color: var(--sapButton_Handle_Positive_BorderColor);--_ui5-v1-22-0-rc-3_switch_handle_semantic_hover_reject_border_color: var(--sapButton_Handle_Negative_BorderColor);--_ui5-v1-22-0-rc-3_switch_handle_on_hover_box_shadow: 0 0 0 .125rem var(--sapButton_Handle_Selected_Hover_BorderColor);--_ui5-v1-22-0-rc-3_switch_handle_off_hover_box_shadow: 0 0 0 .125rem var(--sapButton_Handle_Hover_BorderColor);--_ui5-v1-22-0-rc-3_switch_handle_semantic_on_hover_box_shadow: 0 0 0 .125rem var(--sapButton_Handle_Positive_Hover_BorderColor);--_ui5-v1-22-0-rc-3_switch_handle_semantic_off_hover_box_shadow: 0 0 0 .125rem var(--sapButton_Handle_Negative_Hover_BorderColor);--_ui5-v1-22-0-rc-3_switch_handle_left: .0625rem;--_ui5-v1-22-0-rc-3_switch_text_font_family: var(--sapContent_IconFontFamily);--_ui5-v1-22-0-rc-3_switch_text_font_size: var(--sapFontLargeSize);--_ui5-v1-22-0-rc-3_switch_text_width: 1.25rem;--_ui5-v1-22-0-rc-3_switch_text_with_label_font_family: \"72-Condensed-Bold\" , \"72\" , \"72full\" , Arial, Helvetica, sans-serif;--_ui5-v1-22-0-rc-3_switch_text_with_label_font_size: var(--sapFontSmallSize);--_ui5-v1-22-0-rc-3_switch_text_with_label_width: 1.75rem;--_ui5-v1-22-0-rc-3_switch_text_inactive_left: .1875rem;--_ui5-v1-22-0-rc-3_switch_text_inactive_left_alternate: .0625rem;--_ui5-v1-22-0-rc-3_switch_text_inactive_right: auto;--_ui5-v1-22-0-rc-3_switch_text_inactive_right_alternate: 0;--_ui5-v1-22-0-rc-3_switch_text_active_left: .1875rem;--_ui5-v1-22-0-rc-3_switch_text_active_left_alternate: .0625rem;--_ui5-v1-22-0-rc-3_switch_text_active_right: auto;--_ui5-v1-22-0-rc-3_switch_text_active_color: var(--sapButton_Handle_Selected_TextColor);--_ui5-v1-22-0-rc-3_switch_text_inactive_color: var(--sapButton_Handle_TextColor);--_ui5-v1-22-0-rc-3_switch_text_semantic_accept_color: var(--sapButton_Handle_Positive_TextColor);--_ui5-v1-22-0-rc-3_switch_text_semantic_reject_color: var(--sapButton_Handle_Negative_TextColor);--_ui5-v1-22-0-rc-3_switch_text_overflow: hidden;--_ui5-v1-22-0-rc-3_switch_text_z_index: 1;--_ui5-v1-22-0-rc-3_switch_text_hidden: hidden;--_ui5-v1-22-0-rc-3_switch_text_min_width: none;--_ui5-v1-22-0-rc-3_switch_icon_width: 1rem;--_ui5-v1-22-0-rc-3_switch_icon_height: 1rem;--_ui5-v1-22-0-rc-3_select_disabled_background: var(--sapField_Background);--_ui5-v1-22-0-rc-3_select_disabled_border_color: var(--sapField_BorderColor);--_ui5-v1-22-0-rc-3_select_state_error_warning_border_style: solid;--_ui5-v1-22-0-rc-3_select_state_error_warning_border_width: .125rem;--_ui5-v1-22-0-rc-3_select_focus_width: 1px;--_ui5-v1-22-0-rc-3_select_label_color: var(--sapField_TextColor);--_ui5-v1-22-0-rc-3_select_hover_icon_left_border: none;--_ui5-v1-22-0-rc-3_select_option_focus_border_radius: var(--sapElement_BorderCornerRadius);--_ui5-v1-22-0-rc-3_split_button_host_transparent_hover_background: transparent;--_ui5-v1-22-0-rc-3_split_button_transparent_disabled_background: transparent;--_ui5-v1-22-0-rc-3_split_button_host_default_box_shadow: inset 0 0 0 var(--sapButton_BorderWidth) var(--sapButton_BorderColor);--_ui5-v1-22-0-rc-3_split_button_host_attention_box_shadow: inset 0 0 0 var(--sapButton_BorderWidth) var(--sapButton_Attention_BorderColor);--_ui5-v1-22-0-rc-3_split_button_host_emphasized_box_shadow: inset 0 0 0 var(--sapButton_BorderWidth) var(--sapButton_Emphasized_BorderColor);--_ui5-v1-22-0-rc-3_split_button_host_positive_box_shadow: inset 0 0 0 var(--sapButton_BorderWidth) var(--sapButton_Accept_BorderColor);--_ui5-v1-22-0-rc-3_split_button_host_negative_box_shadow: inset 0 0 0 var(--sapButton_BorderWidth) var(--sapButton_Reject_BorderColor);--_ui5-v1-22-0-rc-3_split_button_host_transparent_box_shadow: inset 0 0 0 var(--sapButton_BorderWidth) var(--sapButton_Lite_BorderColor);--_ui5-v1-22-0-rc-3_split_text_button_border_color: transparent;--_ui5-v1-22-0-rc-3_split_text_button_background_color: transparent;--_ui5-v1-22-0-rc-3_split_text_button_emphasized_border: var(--sapButton_BorderWidth) solid var(--sapButton_Emphasized_BorderColor);--_ui5-v1-22-0-rc-3_split_text_button_emphasized_border_width: .0625rem;--_ui5-v1-22-0-rc-3_split_text_button_hover_border: var(--sapButton_BorderWidth) solid var(--sapButton_BorderColor);--_ui5-v1-22-0-rc-3_split_text_button_emphasized_hover_border: var(--sapButton_BorderWidth) solid var(--sapButton_Emphasized_BorderColor);--_ui5-v1-22-0-rc-3_split_text_button_positive_hover_border: var(--sapButton_BorderWidth) solid var(--sapButton_Accept_BorderColor);--_ui5-v1-22-0-rc-3_split_text_button_negative_hover_border: var(--sapButton_BorderWidth) solid var(--sapButton_Reject_BorderColor);--_ui5-v1-22-0-rc-3_split_text_button_attention_hover_border: var(--sapButton_BorderWidth) solid var(--sapButton_Attention_BorderColor);--_ui5-v1-22-0-rc-3_split_text_button_transparent_hover_border: var(--sapButton_BorderWidth) solid var(--sapButton_BorderColor);--_ui5-v1-22-0-rc-3_split_arrow_button_hover_border: var(--sapButton_BorderWidth) solid var(--sapButton_BorderColor);--_ui5-v1-22-0-rc-3_split_arrow_button_emphasized_hover_border: var(--sapButton_BorderWidth) solid var(--sapButton_Emphasized_BorderColor);--_ui5-v1-22-0-rc-3_split_arrow_button_emphasized_hover_border_left: var(--sapButton_BorderWidth) solid var(--sapButton_Emphasized_BorderColor);--_ui5-v1-22-0-rc-3_split_arrow_button_positive_hover_border: var(--sapButton_BorderWidth) solid var(--sapButton_Accept_BorderColor);--_ui5-v1-22-0-rc-3_split_arrow_button_negative_hover_border: var(--sapButton_BorderWidth) solid var(--sapButton_Reject_BorderColor);--_ui5-v1-22-0-rc-3_split_arrow_button_attention_hover_border: var(--sapButton_BorderWidth) solid var(--sapButton_Attention_BorderColor);--_ui5-v1-22-0-rc-3_split_arrow_button_transparent_hover_border: var(--sapButton_BorderWidth) solid var(--sapButton_BorderColor);--_ui5-v1-22-0-rc-3_split_text_button_hover_border_left: var(--sapButton_BorderWidth) solid var(--sapButton_BorderColor);--_ui5-v1-22-0-rc-3_split_text_button_emphasized_hover_border_left: var(--sapButton_BorderWidth) solid var(--sapButton_Emphasized_BorderColor);--_ui5-v1-22-0-rc-3_split_text_button_positive_hover_border_left: var(--sapButton_BorderWidth) solid var(--sapButton_Accept_BorderColor);--_ui5-v1-22-0-rc-3_split_text_button_negative_hover_border_left: var(--sapButton_BorderWidth) solid var(--sapButton_Reject_BorderColor);--_ui5-v1-22-0-rc-3_split_text_button_attention_hover_border_left: var(--sapButton_BorderWidth) solid var(--sapButton_Attention_BorderColor);--_ui5-v1-22-0-rc-3_split_text_button_transparent_hover_border_left: var(--sapButton_BorderWidth) solid var(--sapButton_BorderColor);--_ui5-v1-22-0-rc-3_split_button_focused_border: .125rem solid var(--sapContent_FocusColor);--_ui5-v1-22-0-rc-3_split_button_focused_border_radius: .375rem;--_ui5-v1-22-0-rc-3_split_button_hover_border_radius: var(--_ui5-v1-22-0-rc-3_button_border_radius);--_ui5-v1-22-0-rc-3_split_button_middle_separator_width: 0;--_ui5-v1-22-0-rc-3_split_button_middle_separator_left: -.0625rem;--_ui5-v1-22-0-rc-3_split_button_middle_separator_hover_display: none;--_ui5-v1-22-0-rc-3_split_button_text_button_width: 2.375rem;--_ui5-v1-22-0-rc-3_split_button_text_button_right_border_width: .0625rem;--_ui5-v1-22-0-rc-3_split_button_transparent_hover_background: var(--sapButton_Lite_Hover_Background);--_ui5-v1-22-0-rc-3_split_button_transparent_hover_color: var(--sapButton_TextColor);--_ui5-v1-22-0-rc-3_split_button_host_transparent_hover_box_shadow: inset 0 0 0 var(--sapButton_BorderWidth) var(--sapButton_BorderColor);--_ui5-v1-22-0-rc-3_split_button_inner_focused_border_radius_outer: .375rem;--_ui5-v1-22-0-rc-3_split_button_inner_focused_border_radius_inner: .375rem;--_ui5-v1-22-0-rc-3_split_button_emphasized_separator_color: transparent;--_ui5-v1-22-0-rc-3_split_button_positive_separator_color: transparent;--_ui5-v1-22-0-rc-3_split_button_negative_separator_color: transparent;--_ui5-v1-22-0-rc-3_split_button_attention_separator_color: transparent;--_ui5-v1-22-0-rc-3_split_button_attention_separator_color_default: var(--sapButton_Attention_TextColor);--_ui5-v1-22-0-rc-3_split_text_button_hover_border_right: var(--sapButton_BorderWidth) solid var(--sapButton_BorderColor);--_ui5-v1-22-0-rc-3_split_text_button_emphasized_hover_border_right: none;--_ui5-v1-22-0-rc-3_split_text_button_positive_hover_border_right: var(--sapButton_BorderWidth) solid var(--sapButton_Accept_BorderColor);--_ui5-v1-22-0-rc-3_split_text_button_negative_hover_border_right: var(--sapButton_BorderWidth) solid var(--sapButton_Reject_BorderColor);--_ui5-v1-22-0-rc-3_split_text_button_attention_hover_border_right: var(--sapButton_BorderWidth) solid var(--sapButton_Attention_BorderColor);--_ui5-v1-22-0-rc-3_split_text_button_transparent_hover_border_right: var(--sapButton_BorderWidth) solid var(--sapButton_BorderColor);--_ui5-v1-22-0-rc-3_split_button_middle_separator_hover_display_emphasized: none;--_ui5-v1-22-0-rc-3_tc_header_height: var(--_ui5-v1-22-0-rc-3_tc_item_height);--_ui5-v1-22-0-rc-3_tc_header_height_text_only: var(--_ui5-v1-22-0-rc-3_tc_item_text_only_height);--_ui5-v1-22-0-rc-3_tc_header_height_text_with_additional_text: var(--_ui5-v1-22-0-rc-3_tc_item_text_only_with_additional_text_height);--_ui5-v1-22-0-rc-3_tc_header_box_shadow: var(--sapContent_HeaderShadow);--_ui5-v1-22-0-rc-3_tc_header_background: var(--sapObjectHeader_Background);--_ui5-v1-22-0-rc-3_tc_header_background_translucent: var(--sapObjectHeader_Background);--_ui5-v1-22-0-rc-3_tc_content_background: var(--sapBackgroundColor);--_ui5-v1-22-0-rc-3_tc_content_background_translucent: var(--sapGroup_ContentBackground);--_ui5-v1-22-0-rc-3_tc_headeritem_padding: 1rem;--_ui5-v1-22-0-rc-3_tc_headerItem_additional_text_color: var(--sapContent_LabelColor);--_ui5-v1-22-0-rc-3_tc_headerItem_text_selected_color: var(--sapSelectedColor);--_ui5-v1-22-0-rc-3_tc_headerItem_text_selected_hover_color: var(--sapSelectedColor);--_ui5-v1-22-0-rc-3_tc_headerItem_additional_text_font_weight: normal;--_ui5-v1-22-0-rc-3_tc_headerItem_neutral_color: var(--sapNeutralTextColor);--_ui5-v1-22-0-rc-3_tc_headerItem_positive_color: var(--sapPositiveTextColor);--_ui5-v1-22-0-rc-3_tc_headerItem_negative_color: var(--sapNegativeTextColor);--_ui5-v1-22-0-rc-3_tc_headerItem_critical_color: var(--sapCriticalTextColor);--_ui5-v1-22-0-rc-3_tc_headerItem_neutral_border_color: var(--sapNeutralElementColor);--_ui5-v1-22-0-rc-3_tc_headerItem_positive_border_color: var(--sapPositiveElementColor);--_ui5-v1-22-0-rc-3_tc_headerItem_negative_border_color: var(--sapNegativeElementColor);--_ui5-v1-22-0-rc-3_tc_headerItem_critical_border_color: var(--sapCriticalElementColor);--_ui5-v1-22-0-rc-3_tc_headerItem_neutral_selected_border_color: var(--_ui5-v1-22-0-rc-3_tc_headerItem_neutral_color);--_ui5-v1-22-0-rc-3_tc_headerItem_positive_selected_border_color: var(--_ui5-v1-22-0-rc-3_tc_headerItem_positive_color);--_ui5-v1-22-0-rc-3_tc_headerItem_negative_selected_border_color: var(--_ui5-v1-22-0-rc-3_tc_headerItem_negative_color);--_ui5-v1-22-0-rc-3_tc_headerItem_critical_selected_border_color: var(--_ui5-v1-22-0-rc-3_tc_headerItem_critical_color);--_ui5-v1-22-0-rc-3_tc_headerItem_transition: none;--_ui5-v1-22-0-rc-3_tc_headerItem_hover_border_visibility: hidden;--_ui5-v1-22-0-rc-3_tc_headerItemContent_border_radius: .125rem .125rem 0 0;--_ui5-v1-22-0-rc-3_tc_headerItemContent_border_bg: transparent;--_ui5-v1-22-0-rc-3_tc_headerItem_neutral_border_bg: transparent;--_ui5-v1-22-0-rc-3_tc_headerItem_positive_border_bg: transparent;--_ui5-v1-22-0-rc-3_tc_headerItem_negative_border_bg: transparent;--_ui5-v1-22-0-rc-3_tc_headerItem_critical_border_bg: transparent;--_ui5-v1-22-0-rc-3_tc_headerItemContent_border_height: 0;--_ui5-v1-22-0-rc-3_tc_headerItemContent_focus_offset: 1rem;--_ui5-v1-22-0-rc-3_tc_headerItem_text_focus_border_offset_left: 0px;--_ui5-v1-22-0-rc-3_tc_headerItem_text_focus_border_offset_right: 0px;--_ui5-v1-22-0-rc-3_tc_headerItem_text_focus_border_offset_top: 0px;--_ui5-v1-22-0-rc-3_tc_headerItem_text_focus_border_offset_bottom: 0px;--_ui5-v1-22-0-rc-3_tc_headerItem_mixed_mode_focus_border_offset_left: .75rem;--_ui5-v1-22-0-rc-3_tc_headerItem_mixed_mode_focus_border_offset_right: .625rem;--_ui5-v1-22-0-rc-3_tc_headerItem_mixed_mode_focus_border_offset_top: .75rem;--_ui5-v1-22-0-rc-3_tc_headerItem_mixed_mode_focus_border_offset_bottom: .75rem;--_ui5-v1-22-0-rc-3_tc_headerItemContent_focus_border: none;--_ui5-v1-22-0-rc-3_tc_headerItemContent_default_focus_border: none;--_ui5-v1-22-0-rc-3_tc_headerItemContent_focus_border_radius: 0;--_ui5-v1-22-0-rc-3_tc_headerItemSemanticIcon_display: none;--_ui5-v1-22-0-rc-3_tc_headerItemSemanticIcon_size: .75rem;--_ui5-v1-22-0-rc-3_tc_mixedMode_itemText_font_family: var(--sapFontFamily);--_ui5-v1-22-0-rc-3_tc_mixedMode_itemText_font_size: var(--sapFontSmallSize);--_ui5-v1-22-0-rc-3_tc_mixedMode_itemText_font_weight: normal;--_ui5-v1-22-0-rc-3_tc_overflowItem_positive_color: var(--sapPositiveColor);--_ui5-v1-22-0-rc-3_tc_overflowItem_negative_color: var(--sapNegativeColor);--_ui5-v1-22-0-rc-3_tc_overflowItem_critical_color: var(--sapCriticalColor);--_ui5-v1-22-0-rc-3_tc_overflowItem_focus_offset: .125rem;--_ui5-v1-22-0-rc-3_tc_overflowItem_extraIndent: 0rem;--_ui5-v1-22-0-rc-3_tc_headerItemIcon_positive_selected_background: var(--sapPositiveColor);--_ui5-v1-22-0-rc-3_tc_headerItemIcon_negative_selected_background: var(--sapNegativeColor);--_ui5-v1-22-0-rc-3_tc_headerItemIcon_critical_selected_background: var(--sapCriticalColor);--_ui5-v1-22-0-rc-3_tc_headerItemIcon_neutral_selected_background: var(--sapNeutralColor);--_ui5-v1-22-0-rc-3_tc_headerItemIcon_semantic_selected_color: var(--sapGroup_ContentBackground);--_ui5-v1-22-0-rc-3_tc_header_border_bottom: .0625rem solid var(--sapObjectHeader_Background);--_ui5-v1-22-0-rc-3_tc_headerItemContent_border_bottom: .1875rem solid var(--sapSelectedColor);--_ui5-v1-22-0-rc-3_tc_headerItem_color: var(--sapTextColor);--_ui5-v1-22-0-rc-3_tc_overflowItem_default_color: var(--sapTextColor);--_ui5-v1-22-0-rc-3_tc_overflowItem_current_color: CurrentColor;--_ui5-v1-22-0-rc-3_tc_content_border_bottom: .0625rem solid var(--sapObjectHeader_BorderColor);--_ui5-v1-22-0-rc-3_tc_headerItem_expand_button_margin_inline_start: 0rem;--_ui5-v1-22-0-rc-3_tc_headerItem_single_click_expand_button_margin_inline_start: .25rem;--_ui5-v1-22-0-rc-3_tc_headerItem_expand_button_border_radius: .25rem;--_ui5-v1-22-0-rc-3_tc_headerItem_expand_button_separator_display: inline-block;--_ui5-v1-22-0-rc-3_tc_headerItem_focus_border: .125rem solid var(--sapContent_FocusColor);--_ui5-v1-22-0-rc-3_tc_headerItem_focus_border_offset: -5px;--_ui5-v1-22-0-rc-3_tc_headerItemIcon_focus_border_radius: 50%;--_ui5-v1-22-0-rc-3_tc_headerItem_focus_border_radius: .375rem;--_ui5-v1-22-0-rc-3_tc_headeritem_text_font_weight: bold;--_ui5-v1-22-0-rc-3_tc_headerItem_focus_offset: 1px;--_ui5-v1-22-0-rc-3_tc_headerItem_text_hover_color: var(--sapContent_Selected_ForegroundColor);--_ui5-v1-22-0-rc-3_tc_headerItemIcon_border: .125rem solid var(--sapContent_Selected_ForegroundColor);--_ui5-v1-22-0-rc-3_tc_headerItemIcon_color: var(--sapContent_Selected_ForegroundColor);--_ui5-v1-22-0-rc-3_tc_headerItemIcon_selected_background: var(--sapContent_Selected_ForegroundColor);--_ui5-v1-22-0-rc-3_tc_headerItemIcon_background_color: var(--sapContent_Selected_Background);--_ui5-v1-22-0-rc-3_tc_headerItemIcon_selected_color: var(--sapContent_ContrastIconColor);--_ui5-v1-22-0-rc-3_tc_mixedMode_itemText_color: var(--sapTextColor);--_ui5-v1-22-0-rc-3_tc_overflow_text_color: var(--sapTextColor);--_ui5-v1-22-0-rc-3_textarea_state_border_width: .125rem;--_ui5-v1-22-0-rc-3_textarea_information_border_width: .125rem;--_ui5-v1-22-0-rc-3_textarea_placeholder_font_style: italic;--_ui5-v1-22-0-rc-3_textarea_value_state_error_warning_placeholder_font_weight: normal;--_ui5-v1-22-0-rc-3_textarea_error_placeholder_font_style: italic;--_ui5-v1-22-0-rc-3_textarea_error_placeholder_color: var(--sapField_PlaceholderTextColor);--_ui5-v1-22-0-rc-3_textarea_error_hover_background_color: var(--sapField_Hover_Background);--_ui5-v1-22-0-rc-3_textarea_disabled_opacity: .4;--_ui5-v1-22-0-rc-3_textarea_focus_pseudo_element_content: \"\";--_ui5-v1-22-0-rc-3_textarea_min_height: 2.25rem;--_ui5-v1-22-0-rc-3_textarea_padding_right_and_left_readonly: .5625rem;--_ui5-v1-22-0-rc-3_textarea_padding_top_readonly: .4375rem;--_ui5-v1-22-0-rc-3_textarea_exceeded_text_height: 1rem;--_ui5-v1-22-0-rc-3_textarea_hover_border: none;--_ui5-v1-22-0-rc-3_textarea_focus_border_radius: .25rem;--_ui5-v1-22-0-rc-3_textarea_error_warning_border_style: none;--_ui5-v1-22-0-rc-3_textarea_line_height: 1.5;--_ui5-v1-22-0-rc-3_textarea_focused_value_state_error_background: var(--sapField_Hover_Background);--_ui5-v1-22-0-rc-3_textarea_focused_value_state_warning_background: var(--sapField_Hover_Background);--_ui5-v1-22-0-rc-3_textarea_focused_value_state_success_background: var(--sapField_Hover_Background);--_ui5-v1-22-0-rc-3_textarea_focused_value_state_information_background: var(--sapField_Hover_Background);--_ui5-v1-22-0-rc-3_textarea_focused_value_state_error_focus_outline_color: var(--sapField_InvalidColor);--_ui5-v1-22-0-rc-3_textarea_focused_value_state_warning_focus_outline_color: var(--sapField_WarningColor);--_ui5-v1-22-0-rc-3_textarea_focused_value_state_success_focus_outline_color: var(--sapField_SuccessColor);--_ui5-v1-22-0-rc-3_textarea_focus_offset: 0;--_ui5-v1-22-0-rc-3_textarea_readonly_focus_offset: 1px;--_ui5-v1-22-0-rc-3_textarea_focus_outline_color: var(--sapField_Active_BorderColor);--_ui5-v1-22-0-rc-3_textarea_value_state_focus_offset: 0;--_ui5-v1-22-0-rc-3_textarea_wrapper_padding: .0625rem;--_ui5-v1-22-0-rc-3_textarea_success_wrapper_padding: .0625rem;--_ui5-v1-22-0-rc-3_textarea_warning_error_wrapper_padding: .0625rem .0625rem .125rem .0625rem;--_ui5-v1-22-0-rc-3_textarea_information_wrapper_padding: .0625rem .0625rem .125rem .0625rem;--_ui5-v1-22-0-rc-3_textarea_padding_bottom_readonly: .375rem;--_ui5-v1-22-0-rc-3_textarea_padding_top_error_warning: .5rem;--_ui5-v1-22-0-rc-3_textarea_padding_bottom_error_warning: .4375rem;--_ui5-v1-22-0-rc-3_textarea_padding_top_information: .5rem;--_ui5-v1-22-0-rc-3_textarea_padding_bottom_information: .4375rem;--_ui5-v1-22-0-rc-3_textarea_padding_right_and_left: .625rem;--_ui5-v1-22-0-rc-3_textarea_padding_right_and_left_error_warning: .625rem;--_ui5-v1-22-0-rc-3_textarea_padding_right_and_left_information: .625rem;--_ui5-v1-22-0-rc-3_textarea_readonly_border_style: dashed;--_ui5-v1-22-0-rc-3_time_picker_border: .0625rem solid transparent;--_ui5-v1-22-0-rc-3-time_picker_border_radius: .25rem;--_ui5-v1-22-0-rc-3_toast_vertical_offset: 3rem;--_ui5-v1-22-0-rc-3_toast_horizontal_offset: 2rem;--_ui5-v1-22-0-rc-3_toast_background: var(--sapList_Background);--_ui5-v1-22-0-rc-3_toast_shadow: var(--sapContent_Shadow2);--_ui5-v1-22-0-rc-3_toast_offset_width: -.1875rem;--_ui5-v1-22-0-rc-3_wheelslider_item_text_size: var(--sapFontSize);--_ui5-v1-22-0-rc-3_wheelslider_label_text_size: var(--sapFontSmallSize);--_ui5-v1-22-0-rc-3_wheelslider_selection_frame_margin_top: calc(var(--_ui5-v1-22-0-rc-3_wheelslider_item_height) * 2);--_ui5-v1-22-0-rc-3_wheelslider_mobile_selection_frame_margin_top: calc(var(--_ui5-v1-22-0-rc-3_wheelslider_item_height) * 4);--_ui5-v1-22-0-rc-3_wheelslider_label_text_color: var(--sapContent_LabelColor);--_ui5-v1-22-0-rc-3_wheelslider_height: 240px;--_ui5-v1-22-0-rc-3_wheelslider_mobile_height: 432px;--_ui5-v1-22-0-rc-3_wheelslider_item_width: 48px;--_ui5-v1-22-0-rc-3_wheelslider_item_height: 46px;--_ui5-v1-22-0-rc-3_wheelslider_arrows_visibility: hidden;--_ui5-v1-22-0-rc-3_wheelslider_item_background_color: var(--sapLegend_WorkingBackground);--_ui5-v1-22-0-rc-3_wheelslider_item_text_color: var(--sapTextColor);--_ui_wheelslider_item_hover_color: var(--sapList_AlternatingBackground);--_ui_wheelslider_item_expanded_hover_color: var(--sapList_AlternatingBackground);--_ui_wheelslider_item_exanded_hover_color: var(--sapList_AlternatingBackground);--_ui5-v1-22-0-rc-3_wheelslider_item_border_color: var(--sapList_SelectionBorderColor);--_ui5-v1-22-0-rc-3_wheelslider_item_expanded_border_color: transparent;--_ui5-v1-22-0-rc-3_wheelslider_item_hovered_border_color: transparent;--_ui5-v1-22-0-rc-3_wheelslider_collapsed_item_text_color: var(--sapList_SelectionBorderColor);--_ui5-v1-22-0-rc-3_wheelslider_selected_item_background_color: var(--sapContent_Selected_Background);--_ui5-v1-22-0-rc-3_wheelslider_selected_item_hover_background_color: var(--sapButton_Emphasized_Hover_BorderColor);--_ui5-v1-22-0-rc-3_wheelslider_active_item_background_color:var(--sapContent_Selected_Background);--_ui5-v1-22-0-rc-3_wheelslider_active_item_text_color: var(--sapContent_Selected_TextColor);--_ui5-v1-22-0-rc-3_wheelslider_selection_frame_color: var(--sapList_SelectionBorderColor);--_ui_wheelslider_item_border_radius: var(--_ui5-v1-22-0-rc-3_button_border_radius);--_ui5-v1-22-0-rc-3_toggle_button_pressed_focussed: var(--sapButton_Selected_BorderColor);--_ui5-v1-22-0-rc-3_toggle_button_pressed_focussed_hovered: var(--sapButton_Selected_BorderColor);--_ui5-v1-22-0-rc-3_toggle_button_selected_positive_text_color: var(--sapButton_Selected_TextColor);--_ui5-v1-22-0-rc-3_toggle_button_selected_negative_text_color: var(--sapButton_Selected_TextColor);--_ui5-v1-22-0-rc-3_toggle_button_selected_attention_text_color: var(--sapButton_Selected_TextColor);--_ui5-v1-22-0-rc-3_toggle_button_emphasized_pressed_focussed_hovered: var(--sapContent_FocusColor);--_ui5-v1-22-0-rc-3_toggle_button_emphasized_text_shadow: none;--_ui5-v1-22-0-rc-3_yearpicker_item_selected_focus: var(--sapContent_Selected_Background);--_ui5-v1-22-0-rc-3_yearpicker_item_border: none;--_ui5-v1-22-0-rc-3_yearpicker_item_margin: 1px;--_ui5-v1-22-0-rc-3_yearpicker_item_border_radius: .5rem;--_ui5-v1-22-0-rc-3_yearpicker_item_focus_after_offset: .25rem;--_ui5-v1-22-0-rc-3_yearpicker_item_focus_after_border: var(--_ui5-v1-22-0-rc-3_button_focused_border);--_ui5-v1-22-0-rc-3_yearpicker_item_focus_after_border_radius: .5rem;--_ui5-v1-22-0-rc-3_yearpicker_item_focus_after_width: calc(100% - .5rem) ;--_ui5-v1-22-0-rc-3_yearpicker_item_focus_after_height: calc(100% - .5rem) ;--_ui5-v1-22-0-rc-3_yearpicker_item_selected_background_color: transparent;--_ui5-v1-22-0-rc-3_yearpicker_item_selected_text_color: var(--sapContent_Selected_TextColor);--_ui5-v1-22-0-rc-3_yearpicker_item_selected_box_shadow: none;--_ui5-v1-22-0-rc-3_yearpicker_item_selected_hover_color: var(--sapList_Hover_Background);--_ui5-v1-22-0-rc-3_yearpicker_item_focus_after_outline: none;--_ui5-v1-22-0-rc-3_calendar_header_middle_button_width: 6.25rem;--_ui5-v1-22-0-rc-3_calendar_header_middle_button_flex: 1 1 auto;--_ui5-v1-22-0-rc-3_calendar_header_middle_button_focus_after_display: block;--_ui5-v1-22-0-rc-3_calendar_header_middle_button_focus_after_width: calc(100% - .375rem) ;--_ui5-v1-22-0-rc-3_calendar_header_middle_button_focus_after_height: calc(100% - .375rem) ;--_ui5-v1-22-0-rc-3_calendar_header_middle_button_focus_after_top_offset: .125rem;--_ui5-v1-22-0-rc-3_calendar_header_middle_button_focus_after_left_offset: .125rem;--_ui5-v1-22-0-rc-3_calendar_header_arrow_button_border: none;--_ui5-v1-22-0-rc-3_calendar_header_arrow_button_border_radius: .5rem;--_ui5-v1-22-0-rc-3_calendar_header_button_background_color: var(--sapButton_Lite_Background);--_ui5-v1-22-0-rc-3_calendar_header_arrow_button_box_shadow: 0 0 .125rem 0 rgb(85 107 130 / 72%);--_ui5-v1-22-0-rc-3_calendar_header_middle_button_focus_border_radius: .5rem;--_ui5-v1-22-0-rc-3_calendar_header_middle_button_focus_border: none;--_ui5-v1-22-0-rc-3_calendar_header_middle_button_focus_after_border: none;--_ui5-v1-22-0-rc-3_calendar_header_middle_button_focus_background: transparent;--_ui5-v1-22-0-rc-3_calendar_header_middle_button_focus_outline: .125rem solid var(--sapSelectedColor);--_ui5-v1-22-0-rc-3_calendar_header_middle_button_focus_active_outline: .0625rem solid var(--sapSelectedColor);--_ui5-v1-22-0-rc-3_calendar_header_middle_button_focus_active_background: transparent;--_ui5-v1-22-0-rc-3_token_background: var(--sapButton_TokenBackground);--_ui5-v1-22-0-rc-3_token_readonly_background: var(--sapButton_TokenBackground);--_ui5-v1-22-0-rc-3_token_readonly_color: var(--sapContent_LabelColor);--_ui5-v1-22-0-rc-3_token_right_margin: .3125rem;--_ui5-v1-22-0-rc-3_token_padding: .25rem 0;--_ui5-v1-22-0-rc-3_token_left_padding: .3125rem;--_ui5-v1-22-0-rc-3_token_focused_selected_border: 1px solid var(--sapButton_Selected_BorderColor);--_ui5-v1-22-0-rc-3_token_focus_offset: -.25rem;--_ui5-v1-22-0-rc-3_token_focus_outline_width: .0625rem;--_ui5-v1-22-0-rc-3_token_hover_border_color: var(--sapButton_TokenBorderColor);--_ui5-v1-22-0-rc-3_token_selected_focus_outline: none;--_ui5-v1-22-0-rc-3_token_focus_outline: none;--_ui5-v1-22-0-rc-3_token_outline_offset: .125rem;--_ui5-v1-22-0-rc-3_token_selected_hover_border_color: var(--sapButton_Selected_BorderColor);--ui5-v1-22-0-rc-3_token_focus_pseudo_element_content: \"\";--_ui5-v1-22-0-rc-3_token_border_radius: .375rem;--_ui5-v1-22-0-rc-3_token_focus_outline_border_radius: .5rem;--_ui5-v1-22-0-rc-3_token_text_color: var(--sapTextColor);--_ui5-v1-22-0-rc-3_token_selected_text_font_family: var(--sapFontSemiboldDuplexFamily);--_ui5-v1-22-0-rc-3_token_selected_internal_border_bottom: .125rem solid var(--sapButton_Selected_BorderColor);--_ui5-v1-22-0-rc-3_token_selected_internal_border_bottom_radius: .1875rem;--_ui5-v1-22-0-rc-3_token_text_icon_top: .0625rem;--_ui5-v1-22-0-rc-3_token_selected_focused_offset_bottom: -.375rem;--_ui5-v1-22-0-rc-3_token_readonly_padding: .25rem .3125rem;--_ui5-v1-22-0-rc-3_tokenizer-popover_offset: .3125rem;--_ui5-v1-22-0-rc-3_tokenizer_n_more_text_color: var(--sapLinkColor);--_ui5-v1-22-0-rc-3-multi_combobox_token_margin_top: 1px;--_ui5-v1-22-0-rc-3_slider_progress_container_dot_background: var(--sapField_BorderColor);--_ui5-v1-22-0-rc-3_slider_progress_border: none;--_ui5-v1-22-0-rc-3_slider_padding: 1.406rem 1.0625rem;--_ui5-v1-22-0-rc-3_slider_inner_height: .25rem;--_ui5-v1-22-0-rc-3_slider_outer_height: 1.6875rem;--_ui5-v1-22-0-rc-3_slider_progress_border_radius: .25rem;--_ui5-v1-22-0-rc-3_slider_tickmark_bg: var(--sapField_BorderColor);--_ui5-v1-22-0-rc-3_slider_handle_margin_left: calc(-1 * (var(--_ui5-v1-22-0-rc-3_slider_handle_width) / 2));--_ui5-v1-22-0-rc-3_slider_handle_outline_offset: .075rem;--_ui5-v1-22-0-rc-3_slider_progress_outline: .0625rem dotted var(--sapContent_FocusColor);--_ui5-v1-22-0-rc-3_slider_progress_outline_offset: -.8125rem;--_ui5-v1-22-0-rc-3_slider_disabled_opacity: .4;--_ui5-v1-22-0-rc-3_slider_tooltip_border_color: var(--sapField_BorderColor);--_ui5-v1-22-0-rc-3_range_slider_handle_background_focus: transparent;--_ui5-v1-22-0-rc-3_slider_progress_box_sizing: content-box;--_ui5-v1-22-0-rc-3_range_slider_focus_outline_width: 100%;--_ui5-v1-22-0-rc-3_slider_progress_outline_offset_left: 0;--_ui5-v1-22-0-rc-3_range_slider_focus_outline_radius: 0;--_ui5-v1-22-0-rc-3_slider_progress_container_top: 0;--_ui5-v1-22-0-rc-3_slider_progress_height: 100%;--_ui5-v1-22-0-rc-3_slider_active_progress_border: none;--_ui5-v1-22-0-rc-3_slider_active_progress_left: 0;--_ui5-v1-22-0-rc-3_slider_active_progress_top: 0;--_ui5-v1-22-0-rc-3_slider_no_tickmarks_progress_container_top: var(--_ui5-v1-22-0-rc-3_slider_progress_container_top);--_ui5-v1-22-0-rc-3_slider_no_tickmarks_progress_height: var(--_ui5-v1-22-0-rc-3_slider_progress_height);--_ui5-v1-22-0-rc-3_slider_no_tickmarks_active_progress_border: var(--_ui5-v1-22-0-rc-3_slider_active_progress_border);--_ui5-v1-22-0-rc-3_slider_no_tickmarks_active_progress_left: var(--_ui5-v1-22-0-rc-3_slider_active_progress_left);--_ui5-v1-22-0-rc-3_slider_no_tickmarks_active_progress_top: var(--_ui5-v1-22-0-rc-3_slider_active_progress_top);--_ui5-v1-22-0-rc-3_slider_handle_focus_visibility: none;--_ui5-v1-22-0-rc-3_slider_handle_icon_size: 1rem;--_ui5-v1-22-0-rc-3_slider_progress_container_background: var(--sapSlider_Background);--_ui5-v1-22-0-rc-3_slider_progress_container_dot_display: block;--_ui5-v1-22-0-rc-3_slider_inner_min_width: 4rem;--_ui5-v1-22-0-rc-3_slider_progress_background: var(--sapSlider_Selected_Background);--_ui5-v1-22-0-rc-3_slider_progress_before_background: var(--sapSlider_Selected_Background);--_ui5-v1-22-0-rc-3_slider_progress_after_background: var(--sapContent_MeasureIndicatorColor);--_ui5-v1-22-0-rc-3_slider_handle_background: var(--sapSlider_HandleBackground);--_ui5-v1-22-0-rc-3_slider_handle_icon_display: inline-block;--_ui5-v1-22-0-rc-3_slider_handle_border: .0625rem solid var(--sapSlider_HandleBorderColor);--_ui5-v1-22-0-rc-3_slider_handle_border_radius: .5rem;--_ui5-v1-22-0-rc-3_slider_handle_height: 1.5rem;--_ui5-v1-22-0-rc-3_slider_handle_width: 2rem;--_ui5-v1-22-0-rc-3_slider_handle_top: -.625rem;--_ui5-v1-22-0-rc-3_slider_handle_font_family: \"SAP-icons\";--_ui5-v1-22-0-rc-3_slider_handle_hover_border: .0625rem solid var(--sapSlider_Hover_HandleBorderColor);--_ui5-v1-22-0-rc-3_slider_handle_focus_border: .125rem solid var(--sapContent_FocusColor);--_ui5-v1-22-0-rc-3_slider_handle_background_focus: var(--sapSlider_Active_RangeHandleBackground);--_ui5-v1-22-0-rc-3_slider_handle_outline: none;--_ui5-v1-22-0-rc-3_slider_handle_hover_background: var(--sapSlider_Hover_HandleBackground);--_ui5-v1-22-0-rc-3_slider_tooltip_background: var(--sapField_Focus_Background);--_ui5-v1-22-0-rc-3_slider_tooltip_border: none;--_ui5-v1-22-0-rc-3_slider_tooltip_border_radius: .5rem;--_ui5-v1-22-0-rc-3_slider_tooltip_box_shadow: var(--sapContent_Shadow1);--_ui5-v1-22-0-rc-3_range_slider_legacy_progress_focus_display: none;--_ui5-v1-22-0-rc-3_range_slider_progress_focus_display: block;--_ui5-v1-22-0-rc-3_slider_tickmark_in_range_bg: var(--sapSlider_Selected_BorderColor);--_ui5-v1-22-0-rc-3_slider_label_fontsize: var(--sapFontSmallSize);--_ui5-v1-22-0-rc-3_slider_label_color: var(--sapContent_LabelColor);--_ui5-v1-22-0-rc-3_slider_tooltip_min_width: 2rem;--_ui5-v1-22-0-rc-3_slider_tooltip_padding: .25rem;--_ui5-v1-22-0-rc-3_slider_tooltip_fontsize: var(--sapFontSmallSize);--_ui5-v1-22-0-rc-3_slider_tooltip_color: var(--sapContent_LabelColor);--_ui5-v1-22-0-rc-3_slider_tooltip_height: 1.375rem;--_ui5-v1-22-0-rc-3_slider_handle_focus_width: 1px;--_ui5-v1-22-0-rc-3_slider_start_end_point_size: .5rem;--_ui5-v1-22-0-rc-3_slider_start_end_point_left: -.75rem;--_ui5-v1-22-0-rc-3_slider_start_end_point_top: -.125rem;--_ui5-v1-22-0-rc-3_slider_handle_focused_tooltip_distance: calc(var(--_ui5-v1-22-0-rc-3_slider_tooltip_bottom) - var(--_ui5-v1-22-0-rc-3_slider_handle_focus_width));--_ui5-v1-22-0-rc-3_slider_tooltip_border_box: border-box;--_ui5-v1-22-0-rc-3_range_slider_handle_active_background: var(--sapSlider_Active_RangeHandleBackground);--_ui5-v1-22-0-rc-3_range_slider_active_handle_icon_display: none;--_ui5-v1-22-0-rc-3_range_slider_progress_focus_top: -15px;--_ui5-v1-22-0-rc-3_range_slider_progress_focus_left: calc(-1 * (var(--_ui5-v1-22-0-rc-3_slider_handle_width) / 2) - 5px);--_ui5-v1-22-0-rc-3_range_slider_progress_focus_padding: 0 1rem 0 1rem;--_ui5-v1-22-0-rc-3_range_slider_progress_focus_width: calc(100% + var(--_ui5-v1-22-0-rc-3_slider_handle_width) + 10px);--_ui5-v1-22-0-rc-3_range_slider_progress_focus_height: calc(var(--_ui5-v1-22-0-rc-3_slider_handle_height) + 10px);--_ui5-v1-22-0-rc-3_range_slider_root_hover_handle_icon_display: inline-block;--_ui5-v1-22-0-rc-3_range_slider_root_hover_handle_bg: var(--_ui5-v1-22-0-rc-3_slider_handle_hover_background);--_ui5-v1-22-0-rc-3_range_slider_root_active_handle_icon_display: none;--_ui5-v1-22-0-rc-3_slider_tickmark_height: .5rem;--_ui5-v1-22-0-rc-3_slider_tickmark_top: -2px;--_ui5-v1-22-0-rc-3_slider_handle_box_sizing: border-box;--_ui5-v1-22-0-rc-3_range_slider_handle_background: var(--sapSlider_RangeHandleBackground);--_ui5-v1-22-0-rc-3_slider_tooltip_bottom: 2rem;--_ui5-v1-22-0-rc-3_value_state_message_border: none;--_ui5-v1-22-0-rc-3_value_state_header_border: none;--_ui5-v1-22-0-rc-3_input_value_state_icon_offset: .5rem;--_ui5-v1-22-0-rc-3_value_state_header_box_shadow_error: inset 0 -.0625rem var(--sapField_InvalidColor);--_ui5-v1-22-0-rc-3_value_state_header_box_shadow_information: inset 0 -.0625rem var(--sapField_InformationColor);--_ui5-v1-22-0-rc-3_value_state_header_box_shadow_success: inset 0 -.0625rem var(--sapField_SuccessColor);--_ui5-v1-22-0-rc-3_value_state_header_box_shadow_warning: inset 0 -.0625rem var(--sapField_WarningColor);--_ui5-v1-22-0-rc-3_value_state_message_icon_offset_phone: 1rem;--_ui5-v1-22-0-rc-3_value_state_header_border_bottom: none;--_ui5-v1-22-0-rc-3_input_value_state_icon_display: inline-block;--_ui5-v1-22-0-rc-3_value_state_message_padding: .5rem .5rem .5rem 1.875rem;--_ui5-v1-22-0-rc-3_value_state_header_padding: .5rem .5rem .5rem 1.875rem;--_ui5-v1-22-0-rc-3_value_state_message_popover_box_shadow: var(--sapContent_Shadow1);--_ui5-v1-22-0-rc-3_value_state_message_icon_width: 1rem;--_ui5-v1-22-0-rc-3_value_state_message_icon_height: 1rem;--_ui5-v1-22-0-rc-3_value_state_header_offset: -.25rem;--_ui5-v1-22-0-rc-3_value_state_message_popover_border_radius: var(--sapPopover_BorderCornerRadius);--_ui5-v1-22-0-rc-3_value_state_message_padding_phone: .5rem .5rem .5rem 2.375rem;--_ui5-v1-22-0-rc-3_value_state_message_line_height: 1.125rem;--ui5-v1-22-0-rc-3_table_bottom_border: 1px solid var(--sapList_BorderColor);--ui5-v1-22-0-rc-3_table_multiselect_column_width: 2.75rem;--ui5-v1-22-0-rc-3_table_header_row_border_width: 1px;--_ui5-v1-22-0-rc-3_table_load_more_border-bottom: none;--ui5-v1-22-0-rc-3_table_header_row_outline_width: var(--sapContent_FocusWidth);--ui5-v1-22-0-rc-3_table_header_row_font_family: var(--sapFontSemiboldDuplexFamily);--ui5-v1-22-0-rc-3_table_header_row_border_bottom_color: var(--sapList_HeaderBorderColor);--ui5-v1-22-0-rc-3_table_header_row_font_weight: bold;--ui5-v1-22-0-rc-3_table_multiselect_popin_row_padding: 3.25rem;--ui5-v1-22-0-rc-3_table_row_outline_width: var(--sapContent_FocusWidth);--ui5-v1-22-0-rc-3_table_group_row_font-weight: bold;--ui5-v1-22-0-rc-3_table_border_width: 1px 0 1px 0;--_ui5-v1-22-0-rc-3-toolbar-padding-left: .5rem;--_ui5-v1-22-0-rc-3-toolbar-padding-right: .5rem;--_ui5-v1-22-0-rc-3-toolbar-item-margin-left: 0;--_ui5-v1-22-0-rc-3-toolbar-item-margin-right: .25rem;--_ui5-v1-22-0-rc-3_step_input_min_width: 7.25rem;--_ui5-v1-22-0-rc-3_step_input_padding: 2.5rem;--_ui5-v1-22-0-rc-3_step_input_input_error_background_color: inherit;--_ui5-v1-22-0-rc-3-step_input_button_state_hover_background_color: var(--sapField_Hover_Background);--_ui5-v1-22-0-rc-3_step_input_border_style: none;--_ui5-v1-22-0-rc-3_step_input_border_style_hover: none;--_ui5-v1-22-0-rc-3_step_input_button_background_color: transparent;--_ui5-v1-22-0-rc-3_step_input_input_border: none;--_ui5-v1-22-0-rc-3_step_input_input_margin_top: 0;--_ui5-v1-22-0-rc-3_step_input_button_display: inline-flex;--_ui5-v1-22-0-rc-3_step_input_button_left: 0;--_ui5-v1-22-0-rc-3_step_input_button_right: 0;--_ui5-v1-22-0-rc-3_step_input_input_border_focused_after: .125rem solid #0070f2;--_ui5-v1-22-0-rc-3_step_input_input_border_top_bottom_focused_after: 0;--_ui5-v1-22-0-rc-3_step_input_input_border_radius_focused_after: .25rem;--_ui5-v1-22-0-rc-3_step_input_input_information_border_color_focused_after: var(--sapField_InformationColor);--_ui5-v1-22-0-rc-3_step_input_input_warning_border_color_focused_after: var(--sapField_WarningColor);--_ui5-v1-22-0-rc-3_step_input_input_success_border_color_focused_after: var(--sapField_SuccessColor);--_ui5-v1-22-0-rc-3_step_input_input_error_border_color_focused_after: var(--sapField_InvalidColor);--_ui5-v1-22-0-rc-3_step_input_disabled_button_background: none;--_ui5-v1-22-0-rc-3_step_input_border_color_hover: none;--_ui5-v1-22-0-rc-3_step_input_border_hover: none;--_ui5-v1-22-0-rc-3_input_input_background_color: transparent;--_ui5-v1-22-0-rc-3_load_more_padding: 0;--_ui5-v1-22-0-rc-3_load_more_border: 1px top solid transparent;--_ui5-v1-22-0-rc-3_load_more_border_radius: none;--_ui5-v1-22-0-rc-3_load_more_outline_width: var(--sapContent_FocusWidth);--_ui5-v1-22-0-rc-3_load_more_border-bottom: var(--sapList_BorderWidth) solid var(--sapList_BorderColor);--_ui5-v1-22-0-rc-3_calendar_height: 24.5rem;--_ui5-v1-22-0-rc-3_calendar_width: 20rem;--_ui5-v1-22-0-rc-3_calendar_padding: 1rem;--_ui5-v1-22-0-rc-3_calendar_left_right_padding: .5rem;--_ui5-v1-22-0-rc-3_calendar_top_bottom_padding: 1rem;--_ui5-v1-22-0-rc-3_calendar_header_height: 3rem;--_ui5-v1-22-0-rc-3_calendar_header_arrow_button_width: 2.5rem;--_ui5-v1-22-0-rc-3_calendar_header_padding: .25rem 0;--_ui5-v1-22-0-rc-3_checkbox_root_side_padding: .6875rem;--_ui5-v1-22-0-rc-3_checkbox_icon_size: 1rem;--_ui5-v1-22-0-rc-3_checkbox_partially_icon_size: .75rem;--_ui5-v1-22-0-rc-3_custom_list_item_rb_min_width: 2.75rem;--_ui5-v1-22-0-rc-3_day_picker_item_width: 2.25rem;--_ui5-v1-22-0-rc-3_day_picker_item_height: 2.875rem;--_ui5-v1-22-0-rc-3_day_picker_empty_height: 3rem;--_ui5-v1-22-0-rc-3_day_picker_item_justify_content: space-between;--_ui5-v1-22-0-rc-3_dp_two_calendar_item_now_text_padding_top: .387rem;--_ui5-v1-22-0-rc-3_dp_two_calendar_item_primary_text_height: 1.8125rem;--_ui5-v1-22-0-rc-3_dp_two_calendar_item_secondary_text_height: 1rem;--_ui5-v1-22-0-rc-3_dp_two_calendar_item_text_padding_top: .575rem;--_ui5-v1-22-0-rc-3_color-palette-swatch-container-padding: .3125rem .6875rem;--_ui5-v1-22-0-rc-3_datetime_picker_width: 40.0625rem;--_ui5-v1-22-0-rc-3_datetime_picker_height: 25rem;--_ui5-v1-22-0-rc-3_datetime_timeview_width: 17rem;--_ui5-v1-22-0-rc-3_datetime_timeview_phonemode_width: 19.5rem;--_ui5-v1-22-0-rc-3_datetime_timeview_padding: 1rem;--_ui5-v1-22-0-rc-3_datetime_timeview_phonemode_clocks_width: 24.5rem;--_ui5-v1-22-0-rc-3_datetime_dateview_phonemode_margin_bottom: 0;--_ui5-v1-22-0-rc-3_dialog_content_min_height: 2.75rem;--_ui5-v1-22-0-rc-3_dialog_footer_height: 2.75rem;--_ui5-v1-22-0-rc-3_input_inner_padding: 0 .625rem;--_ui5-v1-22-0-rc-3_input_inner_padding_with_icon: 0 .25rem 0 .625rem;--_ui5-v1-22-0-rc-3_input_inner_space_to_tokenizer: .125rem;--_ui5-v1-22-0-rc-3_input_inner_space_to_n_more_text: .1875rem;--_ui5-v1-22-0-rc-3_list_no_data_height: 3rem;--_ui5-v1-22-0-rc-3_list_item_cb_margin_right: 0;--_ui5-v1-22-0-rc-3_list_item_title_size: var(--sapFontLargeSize);--_ui5-v1-22-0-rc-3_list_no_data_font_size: var(--sapFontLargeSize);--_ui5-v1-22-0-rc-3_list_item_img_size: 3rem;--_ui5-v1-22-0-rc-3_list_item_img_top_margin: .5rem;--_ui5-v1-22-0-rc-3_list_item_img_bottom_margin: .5rem;--_ui5-v1-22-0-rc-3_list_item_img_hn_margin: .75rem;--_ui5-v1-22-0-rc-3_list_item_dropdown_base_height: 2.5rem;--_ui5-v1-22-0-rc-3_list_item_base_height: var(--sapElement_LineHeight);--_ui5-v1-22-0-rc-3_list_item_icon_size: 1.125rem;--_ui5-v1-22-0-rc-3_list_item_icon_padding-inline-end: .5rem;--_ui5-v1-22-0-rc-3_list_item_selection_btn_margin_top: calc(-1 * var(--_ui5-v1-22-0-rc-3_checkbox_wrapper_padding));--_ui5-v1-22-0-rc-3_list_item_content_vertical_offset: calc((var(--_ui5-v1-22-0-rc-3_list_item_base_height) - var(--_ui5-v1-22-0-rc-3_list_item_title_size)) / 2);--_ui5-v1-22-0-rc-3_group_header_list_item_height: 2.75rem;--_ui5-v1-22-0-rc-3_list_busy_row_height: 3rem;--_ui5-v1-22-0-rc-3_month_picker_item_height: 3rem;--_ui5-v1-22-0-rc-3_list_buttons_left_space: .125rem;--_ui5-v1-22-0-rc-3_popup_default_header_height: 2.75rem;--_ui5-v1-22-0-rc-3-notification-overflow-popover-padding: .25rem .5rem;--_ui5-v1-22-0-rc-3_year_picker_item_height: 3rem;--_ui5-v1-22-0-rc-3_tokenizer_padding: .25rem;--_ui5-v1-22-0-rc-3_token_height: 1.625rem;--_ui5-v1-22-0-rc-3_token_icon_size: .75rem;--_ui5-v1-22-0-rc-3_token_icon_padding: .25rem .5rem;--_ui5-v1-22-0-rc-3_token_wrapper_right_padding: .3125rem;--_ui5-v1-22-0-rc-3_token_wrapper_left_padding: 0;--_ui5-v1-22-0-rc-3_tl_bubble_padding: 1rem;--_ui5-v1-22-0-rc-3_tl_indicator_before_bottom: -1.625rem;--_ui5-v1-22-0-rc-3_tl_padding: 1rem 1rem 1rem .5rem;--_ui5-v1-22-0-rc-3_tl_li_margin_bottom: 1.625rem;--_ui5-v1-22-0-rc-3_switch_focus_width_size_horizon_exp: calc(100% + 4px) ;--_ui5-v1-22-0-rc-3_switch_focus_height_size_horizon_exp: calc(100% + 4px) ;--_ui5-v1-22-0-rc-3_tc_item_text: 3rem;--_ui5-v1-22-0-rc-3_tc_item_height: 4.75rem;--_ui5-v1-22-0-rc-3_tc_item_text_only_height: 2.75rem;--_ui5-v1-22-0-rc-3_tc_item_text_only_with_additional_text_height: 3.75rem;--_ui5-v1-22-0-rc-3_tc_item_text_line_height: 1.325rem;--_ui5-v1-22-0-rc-3_tc_item_icon_circle_size: 2.75rem;--_ui5-v1-22-0-rc-3_tc_item_icon_size: 1.25rem;--_ui5-v1-22-0-rc-3_tc_item_add_text_margin_top: .375rem;--_ui5-v1-22-0-rc-3_textarea_margin: .25rem 0;--_ui5-v1-22-0-rc-3_radio_button_height: 2.75rem;--_ui5-v1-22-0-rc-3_radio_button_label_side_padding: .875rem;--_ui5-v1-22-0-rc-3_radio_button_inner_size: 2.75rem;--_ui5-v1-22-0-rc-3_radio_button_svg_size: 1.375rem;--_ui5-v1-22-0-rc-3-responsive_popover_header_height: 2.75rem;--ui5-v1-22-0-rc-3_side_navigation_item_height: 2.75rem;--_ui5-v1-22-0-rc-3_load_more_text_height: 2.75rem;--_ui5-v1-22-0-rc-3_load_more_text_font_size: var(--sapFontMediumSize);--_ui5-v1-22-0-rc-3_load_more_desc_padding: .375rem 2rem .875rem 2rem;--ui5-v1-22-0-rc-3_table_header_row_height: 2.75rem;--ui5-v1-22-0-rc-3_table_row_height: 2.75rem;--ui5-v1-22-0-rc-3_table_focus_outline_offset: -.125rem;--ui5-v1-22-0-rc-3_table_group_row_height: 2rem;--_ui5-v1-22-0-rc-3-tree-indent-step: 1.5rem;--_ui5-v1-22-0-rc-3-tree-toggle-box-width: 2.75rem;--_ui5-v1-22-0-rc-3-tree-toggle-box-height: 2.25rem;--_ui5-v1-22-0-rc-3-tree-toggle-icon-size: 1.0625rem;--_ui5-v1-22-0-rc-3_timeline_tli_indicator_before_bottom: -1.625rem;--_ui5-v1-22-0-rc-3_timeline_tli_indicator_before_right: -1.625rem;--_ui5-v1-22-0-rc-3_timeline_tli_indicator_before_without_icon_bottom: -1.875rem;--_ui5-v1-22-0-rc-3_timeline_tli_indicator_before_without_icon_right: -1.9375rem;--_ui5-v1-22-0-rc-3-toolbar-separator-height: 2rem;--_ui5-v1-22-0-rc-3-toolbar-height: 2.75rem;--_ui5-v1-22-0-rc-3_toolbar_overflow_padding: .25rem .5rem;--_ui5-v1-22-0-rc-3_split_button_middle_separator_top: .625rem;--_ui5-v1-22-0-rc-3_split_button_middle_separator_height: 1rem;--_ui5-v1-22-0-rc-3_color-palette-item-height: 1.75rem;--_ui5-v1-22-0-rc-3_color-palette-item-hover-height: 2.25rem;--_ui5-v1-22-0-rc-3_color-palette-item-margin: calc(((var(--_ui5-v1-22-0-rc-3_color-palette-item-hover-height) - var(--_ui5-v1-22-0-rc-3_color-palette-item-height)) / 2) + .0625rem);--_ui5-v1-22-0-rc-3_color-palette-row-width: 12rem;--_ui5-v1-22-0-rc-3_textarea_padding_top: .5rem;--_ui5-v1-22-0-rc-3_textarea_padding_bottom: .4375rem}[data-ui5-compact-size],.ui5-content-density-compact,.sapUiSizeCompact{--_ui5-v1-22-0-rc-3_input_min_width: 2rem;--_ui5-v1-22-0-rc-3_input_icon_width: 2rem;--_ui5-v1-22-0-rc-3_input_information_icon_padding: .3125rem .5rem .1875rem .5rem;--_ui5-v1-22-0-rc-3_input_information_focused_icon_padding: .3125rem .5rem .25rem .5rem;--_ui5-v1-22-0-rc-3_input_error_warning_icon_padding: .3125rem .5rem .1875rem .5rem;--_ui5-v1-22-0-rc-3_input_error_warning_focused_icon_padding: .3125rem .5rem .25rem .5rem;--_ui5-v1-22-0-rc-3_input_custom_icon_padding: .3125rem .5rem .25rem .5rem;--_ui5-v1-22-0-rc-3_input_error_warning_custom_icon_padding: .3125rem .5rem .1875rem .5rem;--_ui5-v1-22-0-rc-3_input_error_warning_custom_focused_icon_padding: .3125rem .5rem .25rem .5rem;--_ui5-v1-22-0-rc-3_input_information_custom_icon_padding: .3125rem .5rem .1875rem .5rem;--_ui5-v1-22-0-rc-3_input_information_custom_focused_icon_padding: .3125rem .5rem .25rem .5rem;--_ui5-v1-22-0-rc-3_input_icon_padding: .3125rem .5rem .25rem .5rem;--_ui5-v1-22-0-rc-3_panel_header_button_wrapper_padding: .1875rem .25rem;--_ui5-v1-22-0-rc-3_rating_indicator_item_height: .67em;--_ui5-v1-22-0-rc-3_rating_indicator_item_width: .67em;--_ui5-v1-22-0-rc-3_rating_indicator_component_spacing: .8125rem 0px;--_ui5-v1-22-0-rc-3_rating_indicator_readonly_item_height: .5em;--_ui5-v1-22-0-rc-3_rating_indicator_readonly_item_width: .5em;--_ui5-v1-22-0-rc-3_rating_indicator_readonly_item_spacing: .125rem .125rem;--_ui5-v1-22-0-rc-3_radio_button_min_width: 2rem;--_ui5-v1-22-0-rc-3_radio_button_outer_ring_padding_with_label: 0 .5rem;--_ui5-v1-22-0-rc-3_radio_button_outer_ring_padding: 0 .5rem;--_ui5-v1-22-0-rc-3_radio_button_focus_dist: .1875rem;--_ui5-v1-22-0-rc-3_switch_height: 2rem;--_ui5-v1-22-0-rc-3_switch_width: 3rem;--_ui5-v1-22-0-rc-3_switch_min_width: none;--_ui5-v1-22-0-rc-3_switch_with_label_width: 3.75rem;--_ui5-v1-22-0-rc-3_switch_root_outline_top: .25rem;--_ui5-v1-22-0-rc-3_switch_root_outline_bottom: .25rem;--_ui5-v1-22-0-rc-3_switch_transform: translateX(100%) translateX(-1.375rem);--_ui5-v1-22-0-rc-3_switch_transform_with_label: translateX(100%) translateX(-1.875rem);--_ui5-v1-22-0-rc-3_switch_rtl_transform: translateX(1.375rem) translateX(-100%);--_ui5-v1-22-0-rc-3_switch_rtl_transform_with_label: translateX(1.875rem) translateX(-100%);--_ui5-v1-22-0-rc-3_switch_track_width: 2rem;--_ui5-v1-22-0-rc-3_switch_track_height: 1.25rem;--_ui5-v1-22-0-rc-3_switch_track_with_label_width: 2.75rem;--_ui5-v1-22-0-rc-3_switch_track_with_label_height: 1.25rem;--_ui5-v1-22-0-rc-3_switch_handle_width: 1.25rem;--_ui5-v1-22-0-rc-3_switch_handle_height: 1rem;--_ui5-v1-22-0-rc-3_switch_handle_with_label_width: 1.75rem;--_ui5-v1-22-0-rc-3_switch_handle_with_label_height: 1rem;--_ui5-v1-22-0-rc-3_switch_text_font_size: var(--sapFontSize);--_ui5-v1-22-0-rc-3_switch_text_width: 1rem;--_ui5-v1-22-0-rc-3_switch_text_active_left: .1875rem;--_ui5-v1-22-0-rc-3_textarea_padding_right_and_left_readonly: .4375rem;--_ui5-v1-22-0-rc-3_textarea_padding_top_readonly: .125rem;--_ui5-v1-22-0-rc-3_textarea_exceeded_text_height: .375rem;--_ui5-v1-22-0-rc-3_textarea_min_height: 1.625rem;--_ui5-v1-22-0-rc-3_textarea_padding_bottom_readonly: .0625rem;--_ui5-v1-22-0-rc-3_textarea_padding_top_error_warning: .1875rem;--_ui5-v1-22-0-rc-3_textarea_padding_bottom_error_warning: .125rem;--_ui5-v1-22-0-rc-3_textarea_padding_top_information: .1875rem;--_ui5-v1-22-0-rc-3_textarea_padding_bottom_information: .125rem;--_ui5-v1-22-0-rc-3_textarea_padding_right_and_left: .5rem;--_ui5-v1-22-0-rc-3_textarea_padding_right_and_left_error_warning: .5rem;--_ui5-v1-22-0-rc-3_textarea_padding_right_and_left_information: .5rem;--_ui5-v1-22-0-rc-3_token_selected_focused_offset_bottom: -.25rem;--_ui5-v1-22-0-rc-3_tokenizer-popover_offset: .1875rem;--_ui5-v1-22-0-rc-3_slider_handle_icon_size: .875rem;--_ui5-v1-22-0-rc-3_slider_padding: 1rem 1.0625rem;--_ui5-v1-22-0-rc-3_range_slider_progress_focus_width: calc(100% + var(--_ui5-v1-22-0-rc-3_slider_handle_width) + 10px);--_ui5-v1-22-0-rc-3_range_slider_progress_focus_height: calc(var(--_ui5-v1-22-0-rc-3_slider_handle_height) + 10px);--_ui5-v1-22-0-rc-3_range_slider_progress_focus_top: -.8125rem;--_ui5-v1-22-0-rc-3_slider_tooltip_bottom: 1.75rem;--_ui5-v1-22-0-rc-3_slider_handle_focused_tooltip_distance: calc(var(--_ui5-v1-22-0-rc-3_slider_tooltip_bottom) - var(--_ui5-v1-22-0-rc-3_slider_handle_focus_width));--_ui5-v1-22-0-rc-3_range_slider_progress_focus_left: calc(-1 * (var(--_ui5-v1-22-0-rc-3_slider_handle_width) / 2) - 5px);--_ui5-v1-22-0-rc-3_button_base_height: var(--sapElement_Compact_Height);--_ui5-v1-22-0-rc-3_button_base_padding: .4375rem;--_ui5-v1-22-0-rc-3_button_base_min_width: 2rem;--_ui5-v1-22-0-rc-3_button_icon_font_size: 1rem;--_ui5-v1-22-0-rc-3_calendar_height: 18rem;--_ui5-v1-22-0-rc-3_calendar_width: 17.75rem;--_ui5-v1-22-0-rc-3_calendar_left_right_padding: .25rem;--_ui5-v1-22-0-rc-3_calendar_top_bottom_padding: .5rem;--_ui5-v1-22-0-rc-3_calendar_header_height: 2rem;--_ui5-v1-22-0-rc-3_calendar_header_arrow_button_width: 2rem;--_ui5-v1-22-0-rc-3_calendar_header_padding: 0;--_ui5-v1-22-0-rc-3_checkbox_root_side_padding: var(--_ui5-v1-22-0-rc-3_checkbox_wrapped_focus_padding);--_ui5-v1-22-0-rc-3_checkbox_wrapped_content_margin_top: var(--_ui5-v1-22-0-rc-3_checkbox_compact_wrapped_label_margin_top);--_ui5-v1-22-0-rc-3_checkbox_wrapped_focus_left_top_bottom_position: var(--_ui5-v1-22-0-rc-3_checkbox_compact_focus_position);--_ui5-v1-22-0-rc-3_checkbox_width_height: var(--_ui5-v1-22-0-rc-3_checkbox_compact_width_height);--_ui5-v1-22-0-rc-3_checkbox_wrapper_padding: var(--_ui5-v1-22-0-rc-3_checkbox_compact_wrapper_padding);--_ui5-v1-22-0-rc-3_checkbox_inner_width_height: var(--_ui5-v1-22-0-rc-3_checkbox_compact_inner_size);--_ui5-v1-22-0-rc-3_checkbox_icon_size: .75rem;--_ui5-v1-22-0-rc-3_checkbox_partially_icon_size: .5rem;--_ui5-v1-22-0-rc-3_custom_list_item_rb_min_width: 2rem;--_ui5-v1-22-0-rc-3_daypicker_weeknumbers_container_padding_top: 2rem;--_ui5-v1-22-0-rc-3_day_picker_item_width: 2rem;--_ui5-v1-22-0-rc-3_day_picker_item_height: 2rem;--_ui5-v1-22-0-rc-3_day_picker_empty_height: 2.125rem;--_ui5-v1-22-0-rc-3_day_picker_item_justify_content: flex-end;--_ui5-v1-22-0-rc-3_dp_two_calendar_item_now_text_padding_top: 0rem;--_ui5-v1-22-0-rc-3_dp_two_calendar_item_primary_text_height: 1rem;--_ui5-v1-22-0-rc-3_dp_two_calendar_item_secondary_text_height: .75rem;--_ui5-v1-22-0-rc-3_dp_two_calendar_item_text_padding_top: 0;--_ui5-v1-22-0-rc-3_datetime_picker_height: 20.5rem;--_ui5-v1-22-0-rc-3_datetime_picker_width: 35.5rem;--_ui5-v1-22-0-rc-3_datetime_timeview_width: 17rem;--_ui5-v1-22-0-rc-3_datetime_timeview_phonemode_width: 18.5rem;--_ui5-v1-22-0-rc-3_datetime_timeview_padding: .5rem;--_ui5-v1-22-0-rc-3_datetime_timeview_phonemode_clocks_width: 21.125rem;--_ui5-v1-22-0-rc-3_datetime_dateview_phonemode_margin_bottom: 3.125rem;--_ui5-v1-22-0-rc-3_dialog_content_min_height: 2.5rem;--_ui5-v1-22-0-rc-3_dialog_footer_height: 2.5rem;--_ui5-v1-22-0-rc-3_input_height: var(--sapElement_Compact_Height);--_ui5-v1-22-0-rc-3_input_inner_padding: 0 .5rem;--_ui5-v1-22-0-rc-3_input_inner_padding_with_icon: 0 .2rem 0 .5rem;--_ui5-v1-22-0-rc-3_input_inner_space_to_tokenizer: .125rem;--_ui5-v1-22-0-rc-3_input_inner_space_to_n_more_text: .125rem;--_ui5-v1-22-0-rc-3_input_icon_min_width: var(--_ui5-v1-22-0-rc-3_input_compact_min_width);--_ui5-v1-22-0-rc-3_menu_item_padding: 0 .75rem 0 .5rem;--_ui5-v1-22-0-rc-3_menu_item_submenu_icon_right: .75rem;--_ui5-v1-22-0-rc-3-notification-overflow-popover-padding: .25rem .5rem;--_ui5-v1-22-0-rc-3_popup_default_header_height: 2.5rem;--_ui5-v1-22-0-rc-3_textarea_margin: .1875rem 0;--_ui5-v1-22-0-rc-3_list_no_data_height: 2rem;--_ui5-v1-22-0-rc-3_list_item_cb_margin_right: .5rem;--_ui5-v1-22-0-rc-3_list_item_title_size: var(--sapFontSize);--_ui5-v1-22-0-rc-3_list_item_img_top_margin: .55rem;--_ui5-v1-22-0-rc-3_list_no_data_font_size: var(--sapFontSize);--_ui5-v1-22-0-rc-3_list_item_dropdown_base_height: 2rem;--_ui5-v1-22-0-rc-3_list_item_base_height: 2rem;--_ui5-v1-22-0-rc-3_list_item_icon_size: 1rem;--_ui5-v1-22-0-rc-3_list_item_selection_btn_margin_top: calc(-1 * var(--_ui5-v1-22-0-rc-3_checkbox_wrapper_padding));--_ui5-v1-22-0-rc-3_list_item_content_vertical_offset: calc((var(--_ui5-v1-22-0-rc-3_list_item_base_height) - var(--_ui5-v1-22-0-rc-3_list_item_title_size)) / 2);--_ui5-v1-22-0-rc-3_list_busy_row_height: 2rem;--_ui5-v1-22-0-rc-3_list_buttons_left_space: .125rem;--_ui5-v1-22-0-rc-3_month_picker_item_height: 2rem;--_ui5-v1-22-0-rc-3_year_picker_item_height: 2rem;--_ui5-v1-22-0-rc-3_panel_header_height: 2rem;--_ui5-v1-22-0-rc-3_panel_button_root_height: 2rem;--_ui5-v1-22-0-rc-3_panel_button_root_width: 2.5rem;--_ui5-v1-22-0-rc-3_token_height: 1.25rem;--_ui5-v1-22-0-rc-3_token_right_margin: .25rem;--_ui5-v1-22-0-rc-3_token_left_padding: .25rem;--_ui5-v1-22-0-rc-3_token_readonly_padding: .125rem .25rem;--_ui5-v1-22-0-rc-3_token_focus_offset: -.125rem;--_ui5-v1-22-0-rc-3_token_icon_size: .75rem;--_ui5-v1-22-0-rc-3_token_icon_padding: .125rem .25rem;--_ui5-v1-22-0-rc-3_token_wrapper_right_padding: .25rem;--_ui5-v1-22-0-rc-3_token_wrapper_left_padding: 0;--_ui5-v1-22-0-rc-3_token_outline_offset: -.125rem;--_ui5-v1-22-0-rc-3_tl_bubble_padding: .5rem;--_ui5-v1-22-0-rc-3_tl_indicator_before_bottom: -.5rem;--_ui5-v1-22-0-rc-3_tl_padding: .5rem;--_ui5-v1-22-0-rc-3_tl_li_margin_bottom: .5rem;--_ui5-v1-22-0-rc-3_wheelslider_item_width: 64px;--_ui5-v1-22-0-rc-3_wheelslider_item_height: 32px;--_ui5-v1-22-0-rc-3_wheelslider_height: 224px;--_ui5-v1-22-0-rc-3_wheelslider_selection_frame_margin_top: calc(var(--_ui5-v1-22-0-rc-3_wheelslider_item_height) * 2);--_ui5-v1-22-0-rc-3_wheelslider_arrows_visibility: visible;--_ui5-v1-22-0-rc-3_wheelslider_mobile_selection_frame_margin_top: 128px;--_ui5-v1-22-0-rc-3_tc_item_text: 2rem;--_ui5-v1-22-0-rc-3_tc_item_text_line_height: 1.325rem;--_ui5-v1-22-0-rc-3_tc_item_add_text_margin_top: .3125rem;--_ui5-v1-22-0-rc-3_tc_item_height: 4rem;--_ui5-v1-22-0-rc-3_tc_header_height: var(--_ui5-v1-22-0-rc-3_tc_item_height);--_ui5-v1-22-0-rc-3_tc_item_icon_circle_size: 2rem;--_ui5-v1-22-0-rc-3_tc_item_icon_size: 1rem;--_ui5-v1-22-0-rc-3_radio_button_height: 2rem;--_ui5-v1-22-0-rc-3_radio_button_label_side_padding: .5rem;--_ui5-v1-22-0-rc-3_radio_button_inner_size: 2rem;--_ui5-v1-22-0-rc-3_radio_button_svg_size: 1rem;--_ui5-v1-22-0-rc-3-responsive_popover_header_height: 2.5rem;--ui5-v1-22-0-rc-3_side_navigation_item_height: 2rem;--_ui5-v1-22-0-rc-3_slider_handle_height: 1.25rem;--_ui5-v1-22-0-rc-3_slider_handle_width: 1.25rem;--_ui5-v1-22-0-rc-3_slider_tooltip_padding: .25rem;--_ui5-v1-22-0-rc-3_slider_progress_outline_offset: -.625rem;--_ui5-v1-22-0-rc-3_slider_outer_height: 1.3125rem;--_ui5-v1-22-0-rc-3_step_input_min_width: 6rem;--_ui5-v1-22-0-rc-3_step_input_padding: 2rem;--_ui5-v1-22-0-rc-3_load_more_text_height: 2.625rem;--_ui5-v1-22-0-rc-3_load_more_text_font_size: var(--sapFontSize);--_ui5-v1-22-0-rc-3_load_more_desc_padding: 0 2rem .875rem 2rem;--ui5-v1-22-0-rc-3_table_header_row_height: 2rem;--ui5-v1-22-0-rc-3_table_row_height: 2rem;--_ui5-v1-22-0-rc-3-tree-indent-step: .5rem;--_ui5-v1-22-0-rc-3-tree-toggle-box-width: 2rem;--_ui5-v1-22-0-rc-3-tree-toggle-box-height: 1.5rem;--_ui5-v1-22-0-rc-3-tree-toggle-icon-size: .8125rem;--_ui5-v1-22-0-rc-3_timeline_tli_indicator_before_bottom: -.5rem;--_ui5-v1-22-0-rc-3_timeline_tli_indicator_before_right: -.5rem;--_ui5-v1-22-0-rc-3_timeline_tli_indicator_before_without_icon_bottom: -.75rem;--_ui5-v1-22-0-rc-3_timeline_tli_indicator_before_without_icon_right: -.8125rem;--_ui5-v1-22-0-rc-3_vsd_header_container: 2.5rem;--_ui5-v1-22-0-rc-3_vsd_sub_header_container_height: 2rem;--_ui5-v1-22-0-rc-3_vsd_header_height: 4rem;--_ui5-v1-22-0-rc-3_vsd_expand_content_height: 25.4375rem;--_ui5-v1-22-0-rc-3-toolbar-separator-height: 1.5rem;--_ui5-v1-22-0-rc-3-toolbar-height: 2rem;--_ui5-v1-22-0-rc-3_toolbar_overflow_padding: .1875rem .375rem;--_ui5-v1-22-0-rc-3_textarea_padding_top: .1875rem;--_ui5-v1-22-0-rc-3_textarea_padding_bottom: .125rem;--_ui5-v1-22-0-rc-3_checkbox_focus_position: .25rem;--_ui5-v1-22-0-rc-3_split_button_middle_separator_top: .3125rem;--_ui5-v1-22-0-rc-3_split_button_middle_separator_height: 1rem;--_ui5-v1-22-0-rc-3_slider_handle_top: -.5rem;--_ui5-v1-22-0-rc-3_slider_tooltip_height: 1.375rem;--_ui5-v1-22-0-rc-3_color-palette-item-height: 1.25rem;--_ui5-v1-22-0-rc-3_color-palette-item-focus-height: 1rem;--_ui5-v1-22-0-rc-3_color-palette-item-container-sides-padding: .1875rem;--_ui5-v1-22-0-rc-3_color-palette-item-container-rows-padding: .8125rem;--_ui5-v1-22-0-rc-3_color-palette-item-hover-height: 1.625rem;--_ui5-v1-22-0-rc-3_color-palette-item-margin: calc(((var(--_ui5-v1-22-0-rc-3_color-palette-item-hover-height) - var(--_ui5-v1-22-0-rc-3_color-palette-item-height)) / 2) + .0625rem);--_ui5-v1-22-0-rc-3_color-palette-row-width: 8.75rem;--_ui5-v1-22-0-rc-3_color-palette-swatch-container-padding: .1875rem .5rem;--_ui5-v1-22-0-rc-3_color-palette-item-hover-margin: .0625rem;--_ui5-v1-22-0-rc-3_color-palette-row-height: 7.5rem;--_ui5-v1-22-0-rc-3_color-palette-button-height: 2rem;--_ui5-v1-22-0-rc-3_color-palette-item-before-focus-offset: -.25rem;--_ui5-v1-22-0-rc-3_color-palette-item-after-focus-offset: -.125rem;--_ui5-v1-22-0-rc-3_color_picker_slider_container_margin_top: -9px}[dir=rtl]{--_ui5-v1-22-0-rc-3_progress_indicator_bar_border_radius: .5rem;--_ui5-v1-22-0-rc-3_icon_transform_scale: scale(-1, 1);--_ui5-v1-22-0-rc-3_panel_toggle_btn_rotation: var(--_ui5-v1-22-0-rc-3_rotation_minus_90deg);--_ui5-v1-22-0-rc-3_li_notification_group_toggle_btn_rotation: var(--_ui5-v1-22-0-rc-3_rotation_minus_90deg);--_ui5-v1-22-0-rc-3_timeline_scroll_container_offset: -.5rem;--_ui5-v1-22-0-rc-3_popover_upward_arrow_margin: .1875rem .125rem 0 0;--_ui5-v1-22-0-rc-3_popover_right_arrow_margin: .1875rem .25rem 0 0;--_ui5-v1-22-0-rc-3_popover_downward_arrow_margin: -.4375rem .125rem 0 0;--_ui5-v1-22-0-rc-3_popover_left_arrow_margin: .1875rem -.375rem 0 0;--_ui5-v1-22-0-rc-3_dialog_resize_cursor:sw-resize;--_ui5-v1-22-0-rc-3_progress_indicator_bar_border_radius: 0 .5rem .5rem 0;--_ui5-v1-22-0-rc-3_progress_indicator_remaining_bar_border_radius: .5rem 0 0 .5rem;--_ui5-v1-22-0-rc-3_menu_submenu_margin_offset: 0 -.25rem;--_ui5-v1-22-0-rc-3_menu_submenu_placement_type_left_margin_offset: 0 .25rem;--_ui5-v1-22-0-rc-3-menu_item_icon_float: left;--_ui5-v1-22-0-rc-3-shellbar-notification-btn-count-offset: auto;--_ui5-v1-22-0-rc-3_segmented_btn_item_border_left: .0625rem;--_ui5-v1-22-0-rc-3_segmented_btn_item_border_right: .0625rem}:root,[dir=ltr]{--_ui5-v1-22-0-rc-3_rotation_90deg: rotate(90deg);--_ui5-v1-22-0-rc-3_rotation_minus_90deg: rotate(-90deg);--_ui5-v1-22-0-rc-3_icon_transform_scale: none;--_ui5-v1-22-0-rc-3_panel_toggle_btn_rotation: var(--_ui5-v1-22-0-rc-3_rotation_90deg);--_ui5-v1-22-0-rc-3_li_notification_group_toggle_btn_rotation: var(--_ui5-v1-22-0-rc-3_rotation_90deg);--_ui5-v1-22-0-rc-3_timeline_scroll_container_offset: .5rem;--_ui5-v1-22-0-rc-3_popover_upward_arrow_margin: .1875rem 0 0 .1875rem;--_ui5-v1-22-0-rc-3_popover_right_arrow_margin: .1875rem 0 0 -.375rem;--_ui5-v1-22-0-rc-3_popover_downward_arrow_margin: -.375rem 0 0 .125rem;--_ui5-v1-22-0-rc-3_popover_left_arrow_margin: .125rem 0 0 .25rem;--_ui5-v1-22-0-rc-3_dialog_resize_cursor: se-resize;--_ui5-v1-22-0-rc-3_progress_indicator_bar_border_radius: .5rem 0 0 .5rem;--_ui5-v1-22-0-rc-3_progress_indicator_remaining_bar_border_radius: 0 .5rem .5rem 0;--_ui5-v1-22-0-rc-3_menu_submenu_margin_offset: -.25rem 0;--_ui5-v1-22-0-rc-3_menu_submenu_placement_type_left_margin_offset: .25rem 0;--_ui5-v1-22-0-rc-3-menu_item_icon_float: right;--_ui5-v1-22-0-rc-3-shellbar-notification-btn-count-offset: -.125rem}\n`};\nexport default styleData;\n\t","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents\",fileName:\"themes/Label.css.ts\",content:`:host(:not([hidden])){display:inline-flex}:host{max-width:100%;color:var(--sapContent_LabelColor);font-family:\"72override\",var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;cursor:text}.ui5-label-root{width:100%;cursor:inherit}:host([wrapping-type=\"Normal\"]) .ui5-label-root{white-space:normal}:host(:not([wrapping-type=\"Normal\"])) .ui5-label-root{display:inline-flex;white-space:nowrap}:host(:not([wrapping-type=\"Normal\"])) .ui5-label-text-wrapper{text-overflow:ellipsis;overflow:hidden;display:inline-block;vertical-align:top;flex:0 1 auto;min-width:0}:host([show-colon]) .ui5-label-required-colon:before{content:attr(data-colon)}:host([required]) .ui5-label-required-colon:after{content:\"*\";color:var(--sapField_RequiredColor);font-size:1.25rem;font-weight:700;position:relative;font-style:normal;vertical-align:middle;line-height:0}:host([required][show-colon]) .ui5-label-required-colon:after{margin-inline-start:.125rem}bdi{padding-right:.075rem}:host([show-colon]) .ui5-label-required-colon{margin-inline-start:-.05rem;white-space:pre}\n`};\nexport default styleData;\n\t","import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport WrappingType from \"./types/WrappingType.js\";\nimport { LABEL_COLON } from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport LabelTemplate from \"./generated/templates/LabelTemplate.lit.js\";\n\n// Styles\nimport labelCss from \"./generated/themes/Label.css.js\";\n\n/**\n * @class\n *\n *

Overview

\n *\n * The ui5-label is a component used to represent a label for elements like input, textarea, select.

\n * The for property of the ui5-label must be the same as the id attribute of the related input element.

\n * Screen readers read out the label, when the user focuses the labelled control.\n *

\n * The ui5-label appearance can be influenced by properties,\n * such as required and wrappingType.\n * The appearance of the Label can be configured in a limited way by using the design property.\n * For a broader choice of designs, you can use custom styles.\n *\n *

ES6 Module Import

\n *\n * import \"@ui5/webcomponents/dist/Label\";\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @slot {Array} default - Defines the text of the component.\n *
\n * Note: Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n */\n@customElement({\n\ttag: \"ui5-label\",\n\trenderer: litRender,\n\ttemplate: LabelTemplate,\n\tstyles: labelCss,\n\tlanguageAware: true,\n})\nclass Label extends UI5Element {\n\t/**\n\t * Defines the labeled input by providing its ID.\n\t *

\n\t * Note: Can be used with both ui5-input and native input.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tfor!: string;\n\n\t/**\n\t * Defines whether colon is added to the component text.\n\t *

\n\t * Note: Usually used in forms.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowColon!: boolean;\n\n\t/**\n\t * Defines whether an asterisk character is added to the component text.\n\t *

\n\t * Note: Usually indicates that user input (bound with the for property) is required.\n\t * In that case the required property of\n\t * the corresponding input should also be set.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\trequired!: boolean;\n\n\t/**\n\t * Defines how the text of a component will be displayed when there is not enough space.\n\t *
Note: for option \"Normal\" the text will wrap and the words will not be broken based on hyphenation.\n\t *\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property({ type: WrappingType, defaultValue: WrappingType.None })\n\twrappingType!: `${WrappingType}`;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tstatic async onDefine() {\n\t\tLabel.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\t_onclick() {\n\t\tif (!this.for) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst elementToFocus = (this.getRootNode() as HTMLElement).querySelector(`[id=\"${this.for}\"]`) as HTMLElement;\n\t\tif (elementToFocus) {\n\t\t\telementToFocus.focus();\n\t\t}\n\t}\n\n\tget _colonSymbol() {\n\t\treturn Label.i18nBundle.getText(LABEL_COLON);\n\t}\n}\n\nLabel.define();\n\nexport default Label;\n","/* eslint no-unused-vars: 0 */\nimport { html, svg, repeat, classMap, styleMap, ifDefined, unsafeHTML, scopeTag } from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\timport type BusyIndicator from \"../../BusyIndicator.js\";\n\timport type { ClassMapValue } from \"@ui5/webcomponents-base/dist/types.js\";\n\t\nfunction block0 (this: BusyIndicator, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
${ this._isBusy ? block1.call(this, context, tags, suffix) : undefined }${ this._isBusy ? block3.call(this, context, tags, suffix) : undefined }
`;}\nfunction block1 (this: BusyIndicator, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
${ this.text ? block2.call(this, context, tags, suffix) : undefined }
`;}\nfunction block2 (this: BusyIndicator, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-label\", tags, suffix)} id=\"${ifDefined(this._id)}-label\" class=\"ui5-busy-indicator-text\" wrapping-type=\"Normal\">${ifDefined(this.text)}` : html`${ifDefined(this.text)}`;}\nfunction block3 (this: BusyIndicator, context: UI5Element, tags: string[], suffix: string | undefined) { return html``;}\n\n\nexport default block0;","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents\",fileName:\"themes/BusyIndicator.css.ts\",content:`:host(:not([hidden])){display:inline-block}:host([_is-busy]){color:var(--_ui5-v1-22-0-rc-3_busy_indicator_color)}:host([size=\"Small\"]) .ui5-busy-indicator-root{min-width:1.625rem;min-height:.5rem}:host([size=\"Small\"][text]:not([text=\"\"])) .ui5-busy-indicator-root{min-height:1.75rem}:host([size=\"Small\"]) .ui5-busy-indicator-circle{width:.5rem;height:.5rem}:host([size=\"Small\"]) .ui5-busy-indicator-circle:first-child,:host([size=\"Small\"]) .ui5-busy-indicator-circle:nth-child(2){margin-inline-end:.0625rem}:host(:not([size])) .ui5-busy-indicator-root,:host([size=\"Medium\"]) .ui5-busy-indicator-root{min-width:3.375rem;min-height:1rem}:host([size=\"Medium\"]) .ui5-busy-indicator-circle:first-child,:host([size=\"Medium\"]) .ui5-busy-indicator-circle:nth-child(2){margin-inline-end:.1875rem}:host(:not([size])[text]:not([text=\"\"])) .ui5-busy-indicator-root,:host([size=\"Medium\"][text]:not([text=\"\"])) .ui5-busy-indicator-root{min-height:2.25rem}:host(:not([size])) .ui5-busy-indicator-circle,:host([size=\"Medium\"]) .ui5-busy-indicator-circle{width:1rem;height:1rem}:host([size=\"Large\"]) .ui5-busy-indicator-root{min-width:6.5rem;min-height:2rem}:host([size=\"Large\"]) .ui5-busy-indicator-circle:first-child,:host([size=\"Large\"]) .ui5-busy-indicator-circle:nth-child(2){margin-inline-end:.25rem}:host([size=\"Large\"][text]:not([text=\"\"])) .ui5-busy-indicator-root{min-height:3.25rem}:host([size=\"Large\"]) .ui5-busy-indicator-circle{width:2rem;height:2rem}.ui5-busy-indicator-root{display:flex;justify-content:center;align-items:center;position:relative;background-color:inherit;height:inherit}.ui5-busy-indicator-busy-area{position:absolute;z-index:99;inset:0;display:flex;justify-content:center;align-items:center;background-color:inherit;flex-direction:column}.ui5-busy-indicator-busy-area:focus{outline:var(--_ui5-v1-22-0-rc-3_busy_indicator_focus_outline);outline-offset:-2px;border-radius:var(--_ui5-v1-22-0-rc-3_busy_indicator_focus_border_radius)}.ui5-busy-indicator-circles-wrapper{line-height:0}.ui5-busy-indicator-circle{display:inline-block;background-color:currentColor;border-radius:50%}.ui5-busy-indicator-circle:before{content:\"\";width:100%;height:100%;border-radius:100%}.circle-animation-0{animation:grow 1.6s infinite cubic-bezier(.32,.06,.85,1.11)}.circle-animation-1{animation:grow 1.6s infinite cubic-bezier(.32,.06,.85,1.11);animation-delay:.2s}.circle-animation-2{animation:grow 1.6s infinite cubic-bezier(.32,.06,.85,1.11);animation-delay:.4s}.ui5-busy-indicator-text{width:100%;margin-top:.25rem;text-align:center}@keyframes grow{0%,50%,to{-webkit-transform:scale(.5);-moz-transform:scale(.5);transform:scale(.5)}25%{-webkit-transform:scale(1);-moz-transform:scale(1);transform:scale(1)}}\n`};\nexport default styleData;\n\t","import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isTabNext } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport type { Timeout } from \"@ui5/webcomponents-base/dist/types.js\";\nimport BusyIndicatorSize from \"./types/BusyIndicatorSize.js\";\nimport Label from \"./Label.js\";\n\n// Template\nimport BusyIndicatorTemplate from \"./generated/templates/BusyIndicatorTemplate.lit.js\";\n\nimport { BUSY_INDICATOR_TITLE } from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport busyIndicatorCss from \"./generated/themes/BusyIndicator.css.js\";\n\n/**\n * @class\n *\n *

Overview

\n *\n * The ui5-busy-indicator signals that some operation is going on and that the\n * user must wait. It does not block the current UI screen so other operations could be triggered in parallel.\n * It displays 3 dots and each dot expands and shrinks at a different rate, resulting in a cascading flow of animation.\n *\n *

Usage

\n * For the ui5-busy-indicator you can define the size, the text and whether it is shown or hidden.\n * In order to hide it, use the \"active\" property.\n *

\n * In order to show busy state over an HTML element, simply nest the HTML element in a ui5-busy-indicator instance.\n *
\n * Note: Since ui5-busy-indicator has display: inline-block; by default and no width of its own,\n * whenever you need to wrap a block-level element, you should set display: block to the busy indicator as well.\n *\n *

When to use:

\n *
    \n *
  • The user needs to be able to cancel the operation.
  • \n *
  • Only part of the application or a particular component is affected.
  • \n *
\n *\n *

When not to use:

\n *
    \n *
  • The operation takes less than one second.
  • \n *
  • You need to block the screen and prevent the user from starting another activity.
  • \n *
  • Do not show multiple busy indicators at once.
  • \n *
\n *\n *

ES6 Module Import

\n *\n * import \"@ui5/webcomponents/dist/BusyIndicator\";\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @slot {Array} default - Determines the content over which the component will appear.\n * @since 0.12.0\n */\n@customElement({\n\ttag: \"ui5-busy-indicator\",\n\tlanguageAware: true,\n\tstyles: busyIndicatorCss,\n\trenderer: litRender,\n\ttemplate: BusyIndicatorTemplate,\n\tdependencies: [Label],\n})\nclass BusyIndicator extends UI5Element {\n\t/**\n\t * Defines text to be displayed below the component. It can be used to inform the user of the current operation.\n\t * @public\n\t * @default \"\"\n\t * @since 1.0.0-rc.7\n\t */\n\t@property()\n\ttext!: string;\n\n\t/**\n\t * Defines the size of the component.\n\t *\n\t * @default \"Medium\"\n\t * @public\n\t */\n\t@property({ type: BusyIndicatorSize, defaultValue: BusyIndicatorSize.Medium })\n\tsize!: `${BusyIndicatorSize}`;\n\n\t/**\n\t * Defines if the busy indicator is visible on the screen. By default it is not.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tactive!: boolean;\n\n\t/**\n\t * Defines the delay in milliseconds, after which the busy indicator will be visible on the screen.\n\t *\n\t * @default 1000\n\t * @public\n\t */\n\t@property({ validator: Integer, defaultValue: 1000 })\n\tdelay!: number;\n\n\t/**\n\t * Defines if the component is currently in busy state.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_isBusy!: boolean;\n\n\t_keydownHandler: (e: KeyboardEvent) => void;\n\t_preventEventHandler: (e: KeyboardEvent) => void;\n\t_busyTimeoutId?: Timeout;\n\tfocusForward?: boolean;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._keydownHandler = this._handleKeydown.bind(this);\n\t\tthis._preventEventHandler = this._preventEvent.bind(this);\n\t}\n\n\tonEnterDOM() {\n\t\tthis.addEventListener(\"keydown\", this._keydownHandler, {\n\t\t\tcapture: true,\n\t\t});\n\t\tthis.addEventListener(\"keyup\", this._preventEventHandler, {\n\t\t\tcapture: true,\n\t\t});\n\t}\n\n\tonExitDOM() {\n\t\tif (this._busyTimeoutId) {\n\t\t\tclearTimeout(this._busyTimeoutId);\n\t\t\tdelete this._busyTimeoutId;\n\t\t}\n\n\t\tthis.removeEventListener(\"keydown\", this._keydownHandler, true);\n\t\tthis.removeEventListener(\"keyup\", this._preventEventHandler, true);\n\t}\n\n\tstatic async onDefine() {\n\t\tBusyIndicator.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tget ariaTitle() {\n\t\treturn BusyIndicator.i18nBundle.getText(BUSY_INDICATOR_TITLE);\n\t}\n\n\tget labelId() {\n\t\treturn this.text ? `${this._id}-label` : undefined;\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-busy-indicator-root\": true,\n\t\t\t},\n\t\t};\n\t}\n\n\tonBeforeRendering() {\n\t\tif (this.active) {\n\t\t\tif (!this._isBusy && !this._busyTimeoutId) {\n\t\t\t\tthis._busyTimeoutId = setTimeout(() => {\n\t\t\t\t\tdelete this._busyTimeoutId;\n\t\t\t\t\tthis._isBusy = true;\n\t\t\t\t}, Math.max(0, this.delay));\n\t\t\t}\n\t\t} else {\n\t\t\tif (this._busyTimeoutId) {\n\t\t\t\tclearTimeout(this._busyTimeoutId);\n\t\t\t\tdelete this._busyTimeoutId;\n\t\t\t}\n\t\t\tthis._isBusy = false;\n\t\t}\n\t}\n\n\t_handleKeydown(e: KeyboardEvent) {\n\t\tif (!this._isBusy) {\n\t\t\treturn;\n\t\t}\n\n\t\te.stopImmediatePropagation();\n\n\t\t// move the focus to the last element in this DOM and let TAB continue to the next focusable element\n\t\tif (isTabNext(e)) {\n\t\t\tthis.focusForward = true;\n\t\t\tthis.shadowRoot!.querySelector(\"[data-ui5-focus-redirect]\")!.focus();\n\t\t\tthis.focusForward = false;\n\t\t}\n\t}\n\n\t_preventEvent(e: KeyboardEvent) {\n\t\tif (this._isBusy) {\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\t}\n\n\t/**\n\t * Moves the focus to busy area when coming with SHIFT + TAB\n\t */\n\t_redirectFocus(e: FocusEvent) {\n\t\tif (this.focusForward) {\n\t\t\treturn;\n\t\t}\n\n\t\te.preventDefault();\n\t\tthis.shadowRoot!.querySelector(\".ui5-busy-indicator-busy-area\")!.focus();\n\t}\n}\n\nBusyIndicator.define();\n\nexport default BusyIndicator;\n","/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n// Any new exports need to be added to the export statement in\n// `packages/lit/src/index.all.ts`.\n\nimport {html as coreHtml, svg as coreSvg, TemplateResult} from './lit-html.js';\n\nexport interface StaticValue {\n /** The value to interpolate as-is into the template. */\n _$litStatic$: string;\n\n /**\n * A value that can't be decoded from ordinary JSON, make it harder for\n * a attacker-controlled data that goes through JSON.parse to produce a valid\n * StaticValue.\n */\n r: typeof brand;\n}\n\n/**\n * Prevents JSON injection attacks.\n *\n * The goals of this brand:\n * 1) fast to check\n * 2) code is small on the wire\n * 3) multiple versions of Lit in a single page will all produce mutually\n * interoperable StaticValues\n * 4) normal JSON.parse (without an unusual reviver) can not produce a\n * StaticValue\n *\n * Symbols satisfy (1), (2), and (4). We use Symbol.for to satisfy (3), but\n * we don't care about the key, so we break ties via (2) and use the empty\n * string.\n */\nconst brand = Symbol.for('');\n\n/** Safely extracts the string part of a StaticValue. */\nconst unwrapStaticValue = (value: unknown): string | undefined => {\n if ((value as Partial)?.r !== brand) {\n return undefined;\n }\n return (value as Partial)?.['_$litStatic$'];\n};\n\n/**\n * Wraps a string so that it behaves like part of the static template\n * strings instead of a dynamic value.\n *\n * Users must take care to ensure that adding the static string to the template\n * results in well-formed HTML, or else templates may break unexpectedly.\n *\n * Note that this function is unsafe to use on untrusted content, as it will be\n * directly parsed into HTML. Do not pass user input to this function\n * without sanitizing it.\n *\n * Static values can be changed, but they will cause a complete re-render\n * since they effectively create a new template.\n */\nexport const unsafeStatic = (value: string): StaticValue => ({\n ['_$litStatic$']: value,\n r: brand,\n});\n\nconst textFromStatic = (value: StaticValue) => {\n if (value['_$litStatic$'] !== undefined) {\n return value['_$litStatic$'];\n } else {\n throw new Error(\n `Value passed to 'literal' function must be a 'literal' result: ${value}. Use 'unsafeStatic' to pass non-literal values, but\n take care to ensure page security.`\n );\n }\n};\n\n/**\n * Tags a string literal so that it behaves like part of the static template\n * strings instead of a dynamic value.\n *\n * The only values that may be used in template expressions are other tagged\n * `literal` results or `unsafeStatic` values (note that untrusted content\n * should never be passed to `unsafeStatic`).\n *\n * Users must take care to ensure that adding the static string to the template\n * results in well-formed HTML, or else templates may break unexpectedly.\n *\n * Static values can be changed, but they will cause a complete re-render since\n * they effectively create a new template.\n */\nexport const literal = (\n strings: TemplateStringsArray,\n ...values: unknown[]\n): StaticValue => ({\n ['_$litStatic$']: values.reduce(\n (acc, v, idx) => acc + textFromStatic(v as StaticValue) + strings[idx + 1],\n strings[0]\n ) as string,\n r: brand,\n});\n\nconst stringsCache = new Map();\n\n/**\n * Wraps a lit-html template tag (`html` or `svg`) to add static value support.\n */\nexport const withStatic =\n (coreTag: typeof coreHtml | typeof coreSvg) =>\n (strings: TemplateStringsArray, ...values: unknown[]): TemplateResult => {\n const l = values.length;\n let staticValue: string | undefined;\n let dynamicValue: unknown;\n const staticStrings: Array = [];\n const dynamicValues: Array = [];\n let i = 0;\n let hasStatics = false;\n let s: string;\n\n while (i < l) {\n s = strings[i];\n // Collect any unsafeStatic values, and their following template strings\n // so that we treat a run of template strings and unsafe static values as\n // a single template string.\n while (\n i < l &&\n ((dynamicValue = values[i]),\n (staticValue = unwrapStaticValue(dynamicValue))) !== undefined\n ) {\n s += staticValue + strings[++i];\n hasStatics = true;\n }\n // If the last value is static, we don't need to push it.\n if (i !== l) {\n dynamicValues.push(dynamicValue);\n }\n staticStrings.push(s);\n i++;\n }\n // If the last value isn't static (which would have consumed the last\n // string), then we need to add the last string.\n if (i === l) {\n staticStrings.push(strings[l]);\n }\n\n if (hasStatics) {\n const key = staticStrings.join('$$lit$$');\n strings = stringsCache.get(key)!;\n if (strings === undefined) {\n // Beware: in general this pattern is unsafe, and doing so may bypass\n // lit's security checks and allow an attacker to execute arbitrary\n // code and inject arbitrary content.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (staticStrings as any).raw = staticStrings;\n stringsCache.set(\n key,\n (strings = staticStrings as unknown as TemplateStringsArray)\n );\n }\n values = dynamicValues;\n }\n return coreTag(strings, ...values);\n };\n\n/**\n * Interprets a template literal as an HTML template that can efficiently\n * render to and update a container.\n *\n * Includes static value support from `lit-html/static.js`.\n */\nexport const html = withStatic(coreHtml);\n\n/**\n * Interprets a template literal as an SVG template that can efficiently\n * render to and update a container.\n *\n * Includes static value support from `lit-html/static.js`.\n */\nexport const svg = withStatic(coreSvg);\n","import {\n\thtml,\n\tsvg,\n\tunsafeStatic,\n} from \"lit-html/static.js\";\n\nimport {\n\tsetCustomElementsScopingSuffix,\n\tgetCustomElementsScopingSuffix,\n\tsetCustomElementsScopingRules,\n\tgetCustomElementsScopingRules,\n\tshouldScopeCustomElement,\n\tgetEffectiveScopingSuffixForTag,\n\tgetScopedVarName,\n} from \"./CustomElementsScopeUtils.js\";\nimport { registerFeature } from \"./FeaturesRegistry.js\";\n\nclass LitStatic {\n\tstatic html = html;\n\tstatic svg = svg;\n\tstatic unsafeStatic: (value: string) => object = unsafeStatic;\n}\n\nregisterFeature(\"LitStatic\", LitStatic);\n\nexport {\n\tLitStatic,\n\tsetCustomElementsScopingSuffix,\n\tgetCustomElementsScopingSuffix,\n\tsetCustomElementsScopingRules,\n\tgetCustomElementsScopingRules,\n\tshouldScopeCustomElement,\n\tgetEffectiveScopingSuffixForTag,\n\tgetScopedVarName,\n};\n","'use client';\nimport { useCallback, useRef } from 'react';\nexport function useSyncRef(ref) {\n const localRef = useRef(null);\n const componentRef = useCallback((node) => {\n if (ref) {\n if (typeof ref === 'function') {\n ref(node);\n }\n if ({}.hasOwnProperty.call(ref, 'current')) {\n ref.current = node;\n }\n }\n localRef.current = node;\n }, [ref]);\n return [componentRef, localRef];\n}\n","import { getEffectiveScopingSuffixForTag, getScopedVarName } from '@ui5/webcomponents-base/dist/CustomElementsScope.js';\nimport { Children, cloneElement, Fragment } from 'react';\nexport function flattenFragments(children, depth = 1) {\n const flatChildren = [];\n const removeFragments = (element, level = 0, key = []) => {\n if (!element) {\n return;\n }\n if (Array.isArray(element)) {\n Children.toArray(element).forEach((child, index) => {\n removeFragments(child, level + 1, [...key, index]);\n });\n return;\n }\n if (element.type === Fragment && level <= depth) {\n Children.toArray(element.props?.children).forEach((item, index) => {\n removeFragments(item, level + 1, [...key, index]);\n });\n } else if (typeof element === 'string' || typeof element === 'number') {\n flatChildren.push(element);\n } else {\n flatChildren.push( /*#__PURE__*/cloneElement(element, {\n key: key.join('.')\n }));\n }\n };\n removeFragments(children);\n return flatChildren;\n}\nexport const capitalizeFirstLetter = s => s.charAt(0).toUpperCase() + s.slice(1);\nexport const lowercaseFirstLetter = s => s.charAt(0).toLowerCase() + s.slice(1);\nexport const camelToKebabCase = s => s.replace(/([A-Z])/g, (a, b) => `-${b.toLowerCase()}`);\nexport const kebabToCamelCase = str => str.replace(/([-_]\\w)/g, g => g[1].toUpperCase());\nexport function getUi5TagWithSuffix(baseTagName) {\n const tagNameSuffix = getEffectiveScopingSuffixForTag(baseTagName);\n return tagNameSuffix ? `${baseTagName}-${tagNameSuffix}` : baseTagName;\n}\nexport const isSSR = () => typeof window === 'undefined';\nexport function trimAndRemoveSpaces(value) {\n return value.trim().replace(/\\s\\s+/g, ' ');\n}\nexport const cssVarVersionInfoPrefix = getScopedVarName('--_ui5_').replace('--_ui5_', '');","'use client';\n\nimport { getEffectiveScopingSuffixForTag } from '@ui5/webcomponents-base/dist/CustomElementsScope.js';\nimport { useIsomorphicLayoutEffect, useSyncRef } from '@ui5/webcomponents-react-base';\nimport React, { cloneElement, forwardRef, Fragment, isValidElement, useEffect, useState } from 'react';\nimport { camelToKebabCase, capitalizeFirstLetter, kebabToCamelCase } from './utils.js';\nconst createEventPropName = eventName => `on${capitalizeFirstLetter(kebabToCamelCase(eventName))}`;\nconst definedWebComponents = new Set([]);\nexport const withWebComponent = (tagName, regularProperties, booleanProperties, slotProperties, eventProperties, loader) => {\n // displayName will be assigned in the individual files\n // eslint-disable-next-line react/display-name\n return /*#__PURE__*/forwardRef((props, wcRef) => {\n const {\n className,\n children,\n waitForDefine,\n ...rest\n } = props;\n const [componentRef, ref] = useSyncRef(wcRef);\n const tagNameSuffix = getEffectiveScopingSuffixForTag(tagName);\n const Component = tagNameSuffix ? `${tagName}-${tagNameSuffix}` : tagName;\n const [isDefined, setIsDefined] = useState(definedWebComponents.has(Component));\n // regular props (no booleans, no slots and no events)\n const regularProps = regularProperties.reduce((acc, name) => {\n if (rest.hasOwnProperty(name)) {\n return {\n ...acc,\n [camelToKebabCase(name)]: rest[name]\n };\n }\n return acc;\n }, {});\n\n // boolean properties - only attach if they are truthy\n const booleanProps = booleanProperties.reduce((acc, name) => {\n if (rest[name] === true || rest[name] === 'true') {\n return {\n ...acc,\n [camelToKebabCase(name)]: true\n };\n }\n return acc;\n }, {});\n const slots = slotProperties.reduce((acc, name) => {\n const slotValue = rest[name];\n if (!slotValue) {\n return acc;\n }\n if (rest[name]?.$$typeof === Symbol.for('react.portal')) {\n console.warn('ReactPortal is not supported for slot props.');\n return acc;\n }\n const slottedChildren = [];\n let index = 0;\n const removeFragments = element => {\n if (! /*#__PURE__*/isValidElement(element)) return;\n if (element.type === Fragment) {\n const elementChildren = element.props?.children;\n if (Array.isArray(elementChildren)) {\n elementChildren.forEach(item => {\n if (Array.isArray(item)) {\n item.forEach(removeFragments);\n } else {\n removeFragments(item);\n }\n });\n } else {\n removeFragments(elementChildren);\n }\n } else {\n slottedChildren.push( /*#__PURE__*/cloneElement(element, {\n key: element.key ?? `${name}-${index}`,\n slot: name\n }));\n index++;\n }\n };\n if (Array.isArray(slotValue)) {\n slotValue.forEach(item => {\n removeFragments(item);\n });\n } else {\n removeFragments(slotValue);\n }\n return [...acc, ...slottedChildren];\n }, []);\n\n // event binding\n useIsomorphicLayoutEffect(() => {\n const localRef = ref.current;\n const eventRegistry = {};\n if (!waitForDefine || isDefined) {\n eventProperties.forEach(eventName => {\n const eventHandler = rest[createEventPropName(eventName)];\n if (typeof eventHandler === 'function') {\n eventRegistry[eventName] = eventHandler;\n // @ts-expect-error: all custom events can be passed here, so `keyof HTMLElementEventMap` isn't sufficient\n localRef?.addEventListener(eventName, eventRegistry[eventName]);\n }\n });\n return () => {\n for (const eventName in eventRegistry) {\n // @ts-expect-error: all custom events can be passed here, so `keyof HTMLElementEventMap` isn't sufficient\n localRef?.removeEventListener(eventName, eventRegistry[eventName]);\n }\n };\n }\n }, [...eventProperties.map(eventName => rest[createEventPropName(eventName)]), isDefined, waitForDefine]);\n\n // non web component related props, just pass them\n const nonWebComponentRelatedProps = Object.entries(rest).filter(([key]) => !regularProperties.includes(key)).filter(([key]) => !slotProperties.includes(key)).filter(([key]) => !booleanProperties.includes(key)).filter(([key]) => !eventProperties.map(eventName => createEventPropName(eventName)).includes(key)).reduce((acc, [key, val]) => {\n if (!key.startsWith('aria-') && !key.startsWith('data-') && val === false) {\n return acc;\n }\n acc[key] = val;\n return acc;\n }, {});\n useEffect(() => {\n if (waitForDefine && !isDefined) {\n customElements.whenDefined(Component).then(() => {\n setIsDefined(true);\n definedWebComponents.add(Component);\n });\n }\n }, [Component, waitForDefine, isDefined]);\n if (waitForDefine && !isDefined) {\n return null;\n }\n return /*#__PURE__*/React.createElement(Component, {\n ref: componentRef,\n ...booleanProps,\n ...regularProps,\n ...nonWebComponentRelatedProps,\n class: className\n }, slots, children);\n });\n};","'use client';\n\nimport '@ui5/webcomponents/dist/BusyIndicator.js';\nimport { withWebComponent } from '../../internal/withWebComponent.js';\n/**\n * The `BusyIndicator` signals that some operation is going on and that the user must wait. It does not block the current UI screen so other operations could be triggered in parallel. It displays 3 dots and each dot expands and shrinks at a different rate, resulting in a cascading flow of animation.\n *\n * ### Usage\n *\n * For the `BusyIndicator` you can define the size, the text and whether it is shown or hidden. In order to hide it, use the \"active\" property.\n *\n * In order to show busy state over an HTML element, simply nest the HTML element in a `BusyIndicator` instance.\n * **Note:** Since `BusyIndicator` has `display: inline-block;` by default and no width of its own, whenever you need to wrap a block-level element, you should set `display: block` to the busy indicator as well.\n *\n * #### When to use:\n *\n * * The user needs to be able to cancel the operation.\n * * Only part of the application or a particular component is affected.\n *\n * #### When not to use:\n *\n * * The operation takes less than one second.\n * * You need to block the screen and prevent the user from starting another activity.\n * * Do not show multiple busy indicators at once.\n *\n * __Note__: This is a UI5 Web Component! [Repository](https://github.com/SAP/ui5-webcomponents) | [Documentation](https://sap.github.io/ui5-webcomponents/playground/)\n */\nconst BusyIndicator = withWebComponent('ui5-busy-indicator', ['delay', 'size', 'text'], ['active'], [], []);\nBusyIndicator.displayName = 'BusyIndicator';\nexport { BusyIndicator };","import { BusyIndicator, BusyIndicatorSize } from '@ui5/webcomponents-react';\r\nimport './index.css'\r\n\r\nexport default function Loading() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n}","import * as ReactOriginal from 'react'\nimport type * as ReactNamespace from 'react'\n\nexport const React: typeof ReactNamespace =\n // prettier-ignore\n // @ts-ignore\n 'default' in ReactOriginal ? ReactOriginal['default'] : ReactOriginal as any\n","import type { Context } from 'react'\nimport { React } from '../utils/react'\nimport type { Action, Store, UnknownAction } from 'redux'\nimport type { Subscription } from '../utils/Subscription'\nimport type { ProviderProps } from './Provider'\n\nexport interface ReactReduxContextValue<\n SS = any,\n A extends Action = UnknownAction\n> extends Pick {\n store: Store\n subscription: Subscription\n getServerState?: () => SS\n}\n\nconst ContextKey = Symbol.for(`react-redux-context`)\nconst gT: {\n [ContextKey]?: Map<\n typeof React.createContext,\n Context\n >\n} = (\n typeof globalThis !== 'undefined'\n ? globalThis\n : /* fall back to a per-module scope (pre-8.1 behaviour) if `globalThis` is not available */ {}\n) as any\n\nfunction getContext(): Context {\n if (!React.createContext) return {} as any\n\n const contextMap = (gT[ContextKey] ??= new Map<\n typeof React.createContext,\n Context\n >())\n let realContext = contextMap.get(React.createContext)\n if (!realContext) {\n realContext = React.createContext(\n null as any,\n )\n if (process.env.NODE_ENV !== 'production') {\n realContext.displayName = 'ReactRedux'\n }\n contextMap.set(React.createContext, realContext)\n }\n return realContext\n}\n\nexport const ReactReduxContext = /*#__PURE__*/ getContext()\n\nexport type ReactReduxContextInstance = typeof ReactReduxContext\n\nexport default ReactReduxContext\n","import type { useSyncExternalStore } from 'use-sync-external-store'\nimport type { useSyncExternalStoreWithSelector } from 'use-sync-external-store/with-selector'\n\nexport const notInitialized = () => {\n throw new Error('uSES not initialized!')\n}\n\nexport type uSES = typeof useSyncExternalStore\nexport type uSESWS = typeof useSyncExternalStoreWithSelector\n","import { React } from '../utils/react'\nimport { ReactReduxContext } from '../components/Context'\nimport type { ReactReduxContextValue } from '../components/Context'\n\n/**\n * Hook factory, which creates a `useReduxContext` hook bound to a given context. This is a low-level\n * hook that you should usually not need to call directly.\n *\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\n * @returns {Function} A `useReduxContext` hook bound to the specified context.\n */\nexport function createReduxContextHook(context = ReactReduxContext) {\n return function useReduxContext(): ReactReduxContextValue {\n const contextValue = React.useContext(context)\n\n if (process.env.NODE_ENV !== 'production' && !contextValue) {\n throw new Error(\n 'could not find react-redux context value; please ensure the component is wrapped in a ',\n )\n }\n\n return contextValue!\n }\n}\n\n/**\n * A hook to access the value of the `ReactReduxContext`. This is a low-level\n * hook that you should usually not need to call directly.\n *\n * @returns {any} the value of the `ReactReduxContext`\n *\n * @example\n *\n * import React from 'react'\n * import { useReduxContext } from 'react-redux'\n *\n * export const CounterComponent = () => {\n * const { store } = useReduxContext()\n * return
{store.getState()}
\n * }\n */\nexport const useReduxContext = /*#__PURE__*/ createReduxContextHook()\n","//import * as React from 'react'\nimport { React } from '../utils/react'\n\nimport type { ReactReduxContextValue } from '../components/Context'\nimport { ReactReduxContext } from '../components/Context'\nimport type { EqualityFn, NoInfer } from '../types'\nimport type { uSESWS } from '../utils/useSyncExternalStore'\nimport { notInitialized } from '../utils/useSyncExternalStore'\nimport {\n createReduxContextHook,\n useReduxContext as useDefaultReduxContext,\n} from './useReduxContext'\n\n/**\n * The frequency of development mode checks.\n *\n * @since 8.1.0\n * @internal\n */\nexport type DevModeCheckFrequency = 'never' | 'once' | 'always'\n\n/**\n * Represents the configuration for development mode checks.\n *\n * @since 9.0.0\n * @internal\n */\nexport interface DevModeChecks {\n /**\n * Overrides the global stability check for the selector.\n * - `once` - Run only the first time the selector is called.\n * - `always` - Run every time the selector is called.\n * - `never` - Never run the stability check.\n *\n * @default 'once'\n *\n * @since 8.1.0\n */\n stabilityCheck: DevModeCheckFrequency\n\n /**\n * Overrides the global identity function check for the selector.\n * - `once` - Run only the first time the selector is called.\n * - `always` - Run every time the selector is called.\n * - `never` - Never run the identity function check.\n *\n * **Note**: Previously referred to as `noopCheck`.\n *\n * @default 'once'\n *\n * @since 9.0.0\n */\n identityFunctionCheck: DevModeCheckFrequency\n}\n\nexport interface UseSelectorOptions {\n equalityFn?: EqualityFn\n\n /**\n * `useSelector` performs additional checks in development mode to help\n * identify and warn about potential issues in selector behavior. This\n * option allows you to customize the behavior of these checks per selector.\n *\n * @since 9.0.0\n */\n devModeChecks?: Partial\n}\n\n/**\n * Represents a custom hook that allows you to extract data from the\n * Redux store state, using a selector function. The selector function\n * takes the current state as an argument and returns a part of the state\n * or some derived data. The hook also supports an optional equality\n * function or options object to customize its behavior.\n *\n * @template StateType - The specific type of state this hook operates on.\n *\n * @public\n */\nexport interface UseSelector {\n /**\n * A function that takes a selector function as its first argument.\n * The selector function is responsible for selecting a part of\n * the Redux store's state or computing derived data.\n *\n * @param selector - A function that receives the current state and returns a part of the state or some derived data.\n * @param equalityFnOrOptions - An optional equality function or options object for customizing the behavior of the selector.\n * @returns The selected part of the state or derived data.\n *\n * @template TState - The specific type of state this hook operates on.\n * @template Selected - The type of the value that the selector function will return.\n */\n (\n selector: (state: TState) => Selected,\n equalityFnOrOptions?: EqualityFn | UseSelectorOptions\n ): Selected\n\n /**\n * Creates a \"pre-typed\" version of {@linkcode useSelector useSelector}\n * where the `state` type is predefined.\n *\n * This allows you to set the `state` type once, eliminating the need to\n * specify it with every {@linkcode useSelector useSelector} call.\n *\n * @returns A pre-typed `useSelector` with the state type already defined.\n *\n * @example\n * ```ts\n * export const useAppSelector = useSelector.withTypes()\n * ```\n *\n * @template OverrideStateType - The specific type of state this hook operates on.\n *\n * @since 9.1.0\n */\n withTypes: <\n OverrideStateType extends StateType\n >() => UseSelector\n}\n\nlet useSyncExternalStoreWithSelector = notInitialized as uSESWS\nexport const initializeUseSelector = (fn: uSESWS) => {\n useSyncExternalStoreWithSelector = fn\n}\n\nconst refEquality: EqualityFn = (a, b) => a === b\n\n/**\n * Hook factory, which creates a `useSelector` hook bound to a given context.\n *\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\n * @returns {Function} A `useSelector` hook bound to the specified context.\n */\nexport function createSelectorHook(\n context: React.Context | null> = ReactReduxContext,\n): UseSelector {\n const useReduxContext =\n context === ReactReduxContext\n ? useDefaultReduxContext\n : createReduxContextHook(context)\n\n const useSelector = (\n selector: (state: TState) => Selected,\n equalityFnOrOptions:\n | EqualityFn>\n | UseSelectorOptions> = {}\n ): Selected => {\n const { equalityFn = refEquality, devModeChecks = {} } =\n typeof equalityFnOrOptions === 'function'\n ? { equalityFn: equalityFnOrOptions }\n : equalityFnOrOptions\n if (process.env.NODE_ENV !== 'production') {\n if (!selector) {\n throw new Error(`You must pass a selector to useSelector`)\n }\n if (typeof selector !== 'function') {\n throw new Error(`You must pass a function as a selector to useSelector`)\n }\n if (typeof equalityFn !== 'function') {\n throw new Error(\n `You must pass a function as an equality function to useSelector`,\n )\n }\n }\n\n const {\n store,\n subscription,\n getServerState,\n stabilityCheck,\n identityFunctionCheck,\n } = useReduxContext()\n\n const firstRun = React.useRef(true)\n\n const wrappedSelector = React.useCallback(\n {\n [selector.name](state: TState) {\n const selected = selector(state)\n if (process.env.NODE_ENV !== 'production') {\n const {\n identityFunctionCheck: finalIdentityFunctionCheck,\n stabilityCheck: finalStabilityCheck,\n } = {\n stabilityCheck,\n identityFunctionCheck,\n ...devModeChecks,\n }\n if (\n finalStabilityCheck === 'always' ||\n (finalStabilityCheck === 'once' && firstRun.current)\n ) {\n const toCompare = selector(state)\n if (!equalityFn(selected, toCompare)) {\n let stack: string | undefined = undefined\n try {\n throw new Error()\n } catch (e) {\n // eslint-disable-next-line no-extra-semi\n ;({ stack } = e as Error)\n }\n console.warn(\n 'Selector ' +\n (selector.name || 'unknown') +\n ' returned a different result when called with the same parameters. This can lead to unnecessary rerenders.' +\n '\\nSelectors that return a new reference (such as an object or an array) should be memoized: https://redux.js.org/usage/deriving-data-selectors#optimizing-selectors-with-memoization',\n {\n state,\n selected,\n selected2: toCompare,\n stack,\n },\n )\n }\n }\n if (\n finalIdentityFunctionCheck === 'always' ||\n (finalIdentityFunctionCheck === 'once' && firstRun.current)\n ) {\n // @ts-ignore\n if (selected === state) {\n let stack: string | undefined = undefined\n try {\n throw new Error()\n } catch (e) {\n // eslint-disable-next-line no-extra-semi\n ;({ stack } = e as Error)\n }\n console.warn(\n 'Selector ' +\n (selector.name || 'unknown') +\n ' returned the root state when called. This can lead to unnecessary rerenders.' +\n '\\nSelectors that return the entire state are almost certainly a mistake, as they will cause a rerender whenever *anything* in state changes.',\n { stack },\n )\n }\n }\n if (firstRun.current) firstRun.current = false\n }\n return selected\n },\n }[selector.name],\n [selector, stabilityCheck, devModeChecks.stabilityCheck],\n )\n\n const selectedState = useSyncExternalStoreWithSelector(\n subscription.addNestedSub,\n store.getState,\n getServerState || store.getState,\n wrappedSelector,\n equalityFn,\n )\n\n React.useDebugValue(selectedState)\n\n return selectedState\n }\n\n Object.assign(useSelector, {\n withTypes: () => useSelector,\n })\n\n return useSelector as UseSelector\n}\n\n/**\n * A hook to access the redux store's state. This hook takes a selector function\n * as an argument. The selector is called with the store state.\n *\n * This hook takes an optional equality comparison function as the second parameter\n * that allows you to customize the way the selected state is compared to determine\n * whether the component needs to be re-rendered.\n *\n * @param {Function} selector the selector function\n * @param {Function=} equalityFn the function that will be used to determine equality\n *\n * @returns {any} the selected state\n *\n * @example\n *\n * import React from 'react'\n * import { useSelector } from 'react-redux'\n *\n * export const CounterComponent = () => {\n * const counter = useSelector(state => state.counter)\n * return
{counter}
\n * }\n */\nexport const useSelector = /*#__PURE__*/ createSelectorHook()\n","import type { ElementType, MemoExoticComponent, ReactElement } from 'react'\n\n// Directly ported from:\n// https://unpkg.com/browse/react-is@18.3.0-canary-ee68446ff-20231115/cjs/react-is.production.js\n// It's very possible this could change in the future, but given that\n// we only use these in `connect`, this is a low priority.\n\nconst REACT_ELEMENT_TYPE = Symbol.for('react.element')\nconst REACT_PORTAL_TYPE = Symbol.for('react.portal')\nconst REACT_FRAGMENT_TYPE = Symbol.for('react.fragment')\nconst REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode')\nconst REACT_PROFILER_TYPE = Symbol.for('react.profiler')\nconst REACT_PROVIDER_TYPE = Symbol.for('react.provider')\nconst REACT_CONTEXT_TYPE = Symbol.for('react.context')\nconst REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context')\nconst REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref')\nconst REACT_SUSPENSE_TYPE = Symbol.for('react.suspense')\nconst REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list')\nconst REACT_MEMO_TYPE = Symbol.for('react.memo')\nconst REACT_LAZY_TYPE = Symbol.for('react.lazy')\nconst REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen')\nconst REACT_CLIENT_REFERENCE = Symbol.for('react.client.reference')\n\nexport const ForwardRef = REACT_FORWARD_REF_TYPE\nexport const Memo = REACT_MEMO_TYPE\n\nexport function isValidElementType(type: any): type is ElementType {\n if (typeof type === 'string' || typeof type === 'function') {\n return true\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n if (\n type === REACT_FRAGMENT_TYPE ||\n type === REACT_PROFILER_TYPE ||\n type === REACT_STRICT_MODE_TYPE ||\n type === REACT_SUSPENSE_TYPE ||\n type === REACT_SUSPENSE_LIST_TYPE ||\n type === REACT_OFFSCREEN_TYPE\n ) {\n return true\n }\n\n if (typeof type === 'object' && type !== null) {\n if (\n type.$$typeof === REACT_LAZY_TYPE ||\n type.$$typeof === REACT_MEMO_TYPE ||\n type.$$typeof === REACT_PROVIDER_TYPE ||\n type.$$typeof === REACT_CONTEXT_TYPE ||\n type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_CLIENT_REFERENCE ||\n type.getModuleId !== undefined\n ) {\n return true\n }\n }\n\n return false\n}\n\nfunction typeOf(object: any): symbol | undefined {\n if (typeof object === 'object' && object !== null) {\n const $$typeof = object.$$typeof\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE: {\n const type = object.type\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n case REACT_SUSPENSE_LIST_TYPE:\n return type\n\n default: {\n const $$typeofType = type && type.$$typeof\n\n switch ($$typeofType) {\n case REACT_SERVER_CONTEXT_TYPE:\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType\n\n default:\n return $$typeof\n }\n }\n }\n }\n\n case REACT_PORTAL_TYPE: {\n return $$typeof\n }\n }\n }\n\n return undefined\n}\n\nexport function isContextConsumer(object: any): object is ReactElement {\n return typeOf(object) === REACT_CONTEXT_TYPE\n}\n\nexport function isMemo(object: any): object is MemoExoticComponent {\n return typeOf(object) === REACT_MEMO_TYPE\n}\n","// Default to a dummy \"batch\" implementation that just runs the callback\nexport function defaultNoopBatch(callback: () => void) {\n callback()\n}\n","import { defaultNoopBatch as batch } from './batch'\n\n// encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\n\ntype VoidFunc = () => void\n\ntype Listener = {\n callback: VoidFunc\n next: Listener | null\n prev: Listener | null\n}\n\nfunction createListenerCollection() {\n let first: Listener | null = null\n let last: Listener | null = null\n\n return {\n clear() {\n first = null\n last = null\n },\n\n notify() {\n batch(() => {\n let listener = first\n while (listener) {\n listener.callback()\n listener = listener.next\n }\n })\n },\n\n get() {\n const listeners: Listener[] = []\n let listener = first\n while (listener) {\n listeners.push(listener)\n listener = listener.next\n }\n return listeners\n },\n\n subscribe(callback: () => void) {\n let isSubscribed = true\n\n const listener: Listener = (last = {\n callback,\n next: null,\n prev: last,\n })\n\n if (listener.prev) {\n listener.prev.next = listener\n } else {\n first = listener\n }\n\n return function unsubscribe() {\n if (!isSubscribed || first === null) return\n isSubscribed = false\n\n if (listener.next) {\n listener.next.prev = listener.prev\n } else {\n last = listener.prev\n }\n if (listener.prev) {\n listener.prev.next = listener.next\n } else {\n first = listener.next\n }\n }\n },\n }\n}\n\ntype ListenerCollection = ReturnType\n\nexport interface Subscription {\n addNestedSub: (listener: VoidFunc) => VoidFunc\n notifyNestedSubs: VoidFunc\n handleChangeWrapper: VoidFunc\n isSubscribed: () => boolean\n onStateChange?: VoidFunc | null\n trySubscribe: VoidFunc\n tryUnsubscribe: VoidFunc\n getListeners: () => ListenerCollection\n}\n\nconst nullListeners = {\n notify() {},\n get: () => [],\n} as unknown as ListenerCollection\n\nexport function createSubscription(store: any, parentSub?: Subscription) {\n let unsubscribe: VoidFunc | undefined\n let listeners: ListenerCollection = nullListeners\n\n // Reasons to keep the subscription active\n let subscriptionsAmount = 0\n\n // Is this specific subscription subscribed (or only nested ones?)\n let selfSubscribed = false\n\n function addNestedSub(listener: () => void) {\n trySubscribe()\n\n const cleanupListener = listeners.subscribe(listener)\n\n // cleanup nested sub\n let removed = false\n return () => {\n if (!removed) {\n removed = true\n cleanupListener()\n tryUnsubscribe()\n }\n }\n }\n\n function notifyNestedSubs() {\n listeners.notify()\n }\n\n function handleChangeWrapper() {\n if (subscription.onStateChange) {\n subscription.onStateChange()\n }\n }\n\n function isSubscribed() {\n return selfSubscribed\n }\n\n function trySubscribe() {\n subscriptionsAmount++\n if (!unsubscribe) {\n unsubscribe = parentSub\n ? parentSub.addNestedSub(handleChangeWrapper)\n : store.subscribe(handleChangeWrapper)\n\n listeners = createListenerCollection()\n }\n }\n\n function tryUnsubscribe() {\n subscriptionsAmount--\n if (unsubscribe && subscriptionsAmount === 0) {\n unsubscribe()\n unsubscribe = undefined\n listeners.clear()\n listeners = nullListeners\n }\n }\n\n function trySubscribeSelf() {\n if (!selfSubscribed) {\n selfSubscribed = true\n trySubscribe()\n }\n }\n\n function tryUnsubscribeSelf() {\n if (selfSubscribed) {\n selfSubscribed = false\n tryUnsubscribe()\n }\n }\n\n const subscription: Subscription = {\n addNestedSub,\n notifyNestedSubs,\n handleChangeWrapper,\n isSubscribed,\n trySubscribe: trySubscribeSelf,\n tryUnsubscribe: tryUnsubscribeSelf,\n getListeners: () => listeners,\n }\n\n return subscription\n}\n","import { React } from '../utils/react'\n\n// React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser. We need useLayoutEffect to ensure the store\n// subscription callback always has the selector from the latest render commit\n// available, otherwise a store update may happen between render and the effect,\n// which may cause missed updates; we also must ensure the store subscription\n// is created synchronously, otherwise a store update may occur before the\n// subscription is created and an inconsistent state may be observed\n\n// Matches logic in React's `shared/ExecutionEnvironment` file\nexport const canUseDOM = !!(\n typeof window !== 'undefined' &&\n typeof window.document !== 'undefined' &&\n typeof window.document.createElement !== 'undefined'\n)\n\nexport const useIsomorphicLayoutEffect = canUseDOM\n ? React.useLayoutEffect\n : React.useEffect\n","// Copied directly from:\n// https://github.com/mridgway/hoist-non-react-statics/blob/main/src/index.js\n// https://unpkg.com/browse/@types/hoist-non-react-statics@3.3.1/index.d.ts\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nimport type * as React from 'react'\nimport { ForwardRef, Memo, isMemo } from '../utils/react-is'\n\nconst REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true,\n} as const\n\nconst KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true,\n} as const\n\nconst FORWARD_REF_STATICS = {\n $$typeof: true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n} as const\n\nconst MEMO_STATICS = {\n $$typeof: true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true,\n} as const\n\nconst TYPE_STATICS = {\n [ForwardRef]: FORWARD_REF_STATICS,\n [Memo]: MEMO_STATICS,\n} as const\n\nfunction getStatics(component: any) {\n // React v16.11 and below\n if (isMemo(component)) {\n return MEMO_STATICS\n }\n\n // React v16.12 and above\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS\n}\n\nexport type NonReactStatics<\n S extends React.ComponentType,\n C extends {\n [key: string]: true\n } = {}\n> = {\n [key in Exclude<\n keyof S,\n S extends React.MemoExoticComponent\n ? keyof typeof MEMO_STATICS | keyof C\n : S extends React.ForwardRefExoticComponent\n ? keyof typeof FORWARD_REF_STATICS | keyof C\n : keyof typeof REACT_STATICS | keyof typeof KNOWN_STATICS | keyof C\n >]: S[key]\n}\n\nconst defineProperty = Object.defineProperty\nconst getOwnPropertyNames = Object.getOwnPropertyNames\nconst getOwnPropertySymbols = Object.getOwnPropertySymbols\nconst getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor\nconst getPrototypeOf = Object.getPrototypeOf\nconst objectPrototype = Object.prototype\n\nexport default function hoistNonReactStatics<\n T extends React.ComponentType,\n S extends React.ComponentType,\n C extends {\n [key: string]: true\n } = {}\n>(targetComponent: T, sourceComponent: S): T & NonReactStatics {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n\n if (objectPrototype) {\n const inheritedComponent = getPrototypeOf(sourceComponent)\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent)\n }\n }\n\n let keys: (string | symbol)[] = getOwnPropertyNames(sourceComponent)\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent))\n }\n\n const targetStatics = getStatics(targetComponent)\n const sourceStatics = getStatics(sourceComponent)\n\n for (let i = 0; i < keys.length; ++i) {\n const key = keys[i]\n if (\n !KNOWN_STATICS[key as keyof typeof KNOWN_STATICS] &&\n !(sourceStatics && sourceStatics[key as keyof typeof sourceStatics]) &&\n !(targetStatics && targetStatics[key as keyof typeof targetStatics])\n ) {\n const descriptor = getOwnPropertyDescriptor(sourceComponent, key)\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor!)\n } catch (e) {\n // ignore\n }\n }\n }\n }\n\n return targetComponent as any\n}\n","import type { Context, ReactNode } from 'react'\nimport { React } from '../utils/react'\nimport type { Action, Store, UnknownAction } from 'redux'\nimport type { DevModeCheckFrequency } from '../hooks/useSelector'\nimport { createSubscription } from '../utils/Subscription'\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect'\nimport type { ReactReduxContextValue } from './Context'\nimport { ReactReduxContext } from './Context'\n\nexport interface ProviderProps<\n A extends Action = UnknownAction,\n S = unknown\n> {\n /**\n * The single Redux store in your application.\n */\n store: Store\n\n /**\n * An optional server state snapshot. Will be used during initial hydration render if available, to ensure that the UI output is consistent with the HTML generated on the server.\n */\n serverState?: S\n\n /**\n * Optional context to be used internally in react-redux. Use React.createContext() to create a context to be used.\n * If this is used, you'll need to customize `connect` by supplying the same context provided to the Provider.\n * Set the initial value to null, and the hooks will error\n * if this is not overwritten by Provider.\n */\n context?: Context | null>\n\n /**\n * Determines the frequency of stability checks for all selectors.\n * This setting overrides the global configuration for\n * the `useSelector` stability check, allowing you to specify how often\n * these checks should occur in development mode.\n *\n * @since 8.1.0\n */\n stabilityCheck?: DevModeCheckFrequency\n\n /**\n * Determines the frequency of identity function checks for all selectors.\n * This setting overrides the global configuration for\n * the `useSelector` identity function check, allowing you to specify how often\n * these checks should occur in development mode.\n *\n * **Note**: Previously referred to as `noopCheck`.\n *\n * @since 9.0.0\n */\n identityFunctionCheck?: DevModeCheckFrequency\n\n children: ReactNode\n}\n\nfunction Provider = UnknownAction, S = unknown>({\n store,\n context,\n children,\n serverState,\n stabilityCheck = 'once',\n identityFunctionCheck = 'once',\n}: ProviderProps) {\n const contextValue = React.useMemo(() => {\n const subscription = createSubscription(store)\n return {\n store,\n subscription,\n getServerState: serverState ? () => serverState : undefined,\n stabilityCheck,\n identityFunctionCheck,\n }\n }, [store, serverState, stabilityCheck, identityFunctionCheck])\n\n const previousState = React.useMemo(() => store.getState(), [store])\n\n useIsomorphicLayoutEffect(() => {\n const { subscription } = contextValue\n subscription.onStateChange = subscription.notifyNestedSubs\n subscription.trySubscribe()\n\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs()\n }\n return () => {\n subscription.tryUnsubscribe()\n subscription.onStateChange = undefined\n }\n }, [contextValue, previousState])\n\n const Context = context || ReactReduxContext\n\n // @ts-ignore 'AnyAction' is assignable to the constraint of type 'A', but 'A' could be instantiated with a different subtype\n return {children}\n}\n\nexport default Provider\n","import type { Context } from 'react'\nimport type { Action, Store } from 'redux'\nimport type { ReactReduxContextValue } from '../components/Context'\nimport { ReactReduxContext } from '../components/Context'\nimport {\n createReduxContextHook,\n useReduxContext as useDefaultReduxContext,\n} from './useReduxContext'\n\n/**\n * Represents a type that extracts the action type from a given Redux store.\n *\n * @template StoreType - The specific type of the Redux store.\n *\n * @since 9.1.0\n * @internal\n */\nexport type ExtractStoreActionType =\n StoreType extends Store ? ActionType : never\n\n/**\n * Represents a custom hook that provides access to the Redux store.\n *\n * @template StoreType - The specific type of the Redux store that gets returned.\n *\n * @since 9.1.0\n * @public\n */\nexport interface UseStore {\n /**\n * Returns the Redux store instance.\n *\n * @returns The Redux store instance.\n */\n (): StoreType\n\n /**\n * Returns the Redux store instance with specific state and action types.\n *\n * @returns The Redux store with the specified state and action types.\n *\n * @template StateType - The specific type of the state used in the store.\n * @template ActionType - The specific type of the actions used in the store.\n */\n <\n StateType extends ReturnType = ReturnType<\n StoreType['getState']\n >,\n ActionType extends Action = ExtractStoreActionType\n >(): Store\n\n /**\n * Creates a \"pre-typed\" version of {@linkcode useStore useStore}\n * where the type of the Redux `store` is predefined.\n *\n * This allows you to set the `store` type once, eliminating the need to\n * specify it with every {@linkcode useStore useStore} call.\n *\n * @returns A pre-typed `useStore` with the store type already defined.\n *\n * @example\n * ```ts\n * export const useAppStore = useStore.withTypes()\n * ```\n *\n * @template OverrideStoreType - The specific type of the Redux store that gets returned.\n *\n * @since 9.1.0\n */\n withTypes: <\n OverrideStoreType extends StoreType\n >() => UseStore\n}\n\n/**\n * Hook factory, which creates a `useStore` hook bound to a given context.\n *\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\n * @returns {Function} A `useStore` hook bound to the specified context.\n */\nexport function createStoreHook<\n StateType = unknown,\n ActionType extends Action = Action\n>(\n // @ts-ignore\n context?: Context | null> = ReactReduxContext\n) {\n const useReduxContext =\n context === ReactReduxContext\n ? useDefaultReduxContext\n : // @ts-ignore\n createReduxContextHook(context)\n const useStore = () => {\n const { store } = useReduxContext()\n return store\n }\n\n Object.assign(useStore, {\n withTypes: () => useStore,\n })\n\n return useStore as UseStore>\n}\n\n/**\n * A hook to access the redux store.\n *\n * @returns {any} the redux store\n *\n * @example\n *\n * import React from 'react'\n * import { useStore } from 'react-redux'\n *\n * export const ExampleComponent = () => {\n * const store = useStore()\n * return
{store.getState()}
\n * }\n */\nexport const useStore = /*#__PURE__*/ createStoreHook()\n","import type { Context } from 'react'\nimport type { Action, Dispatch, UnknownAction } from 'redux'\n\nimport type { ReactReduxContextValue } from '../components/Context'\nimport { ReactReduxContext } from '../components/Context'\nimport { createStoreHook, useStore as useDefaultStore } from './useStore'\n\n/**\n * Represents a custom hook that provides a dispatch function\n * from the Redux store.\n *\n * @template DispatchType - The specific type of the dispatch function.\n *\n * @since 9.1.0\n * @public\n */\nexport interface UseDispatch<\n DispatchType extends Dispatch = Dispatch\n> {\n /**\n * Returns the dispatch function from the Redux store.\n *\n * @returns The dispatch function from the Redux store.\n *\n * @template AppDispatch - The specific type of the dispatch function.\n */\n (): AppDispatch\n\n /**\n * Creates a \"pre-typed\" version of {@linkcode useDispatch useDispatch}\n * where the type of the `dispatch` function is predefined.\n *\n * This allows you to set the `dispatch` type once, eliminating the need to\n * specify it with every {@linkcode useDispatch useDispatch} call.\n *\n * @returns A pre-typed `useDispatch` with the dispatch type already defined.\n *\n * @example\n * ```ts\n * export const useAppDispatch = useDispatch.withTypes()\n * ```\n *\n * @template OverrideDispatchType - The specific type of the dispatch function.\n *\n * @since 9.1.0\n */\n withTypes: <\n OverrideDispatchType extends DispatchType\n >() => UseDispatch\n}\n\n/**\n * Hook factory, which creates a `useDispatch` hook bound to a given context.\n *\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\n * @returns {Function} A `useDispatch` hook bound to the specified context.\n */\nexport function createDispatchHook<\n StateType = unknown,\n ActionType extends Action = UnknownAction\n>(\n // @ts-ignore\n context?: Context | null> = ReactReduxContext\n) {\n const useStore =\n context === ReactReduxContext ? useDefaultStore : createStoreHook(context)\n\n const useDispatch = () => {\n const store = useStore()\n return store.dispatch\n }\n\n Object.assign(useDispatch, {\n withTypes: () => useDispatch,\n })\n\n return useDispatch as UseDispatch>\n}\n\n/**\n * A hook to access the redux `dispatch` function.\n *\n * @returns {any|function} redux store's `dispatch` function\n *\n * @example\n *\n * import React, { useCallback } from 'react'\n * import { useDispatch } from 'react-redux'\n *\n * export const CounterComponent = ({ value }) => {\n * const dispatch = useDispatch()\n * const increaseCounter = useCallback(() => dispatch({ type: 'increase-counter' }), [])\n * return (\n *
\n * {value}\n * \n *
\n * )\n * }\n */\nexport const useDispatch = /*#__PURE__*/ createDispatchHook()\n","// The primary entry point assumes we are working with React 18, and thus have\n// useSyncExternalStore available. We can import that directly from React itself.\n// The useSyncExternalStoreWithSelector has to be imported, but we can use the\n// non-shim version. This shaves off the byte size of the shim.\n\nimport * as React from 'react'\nimport { useSyncExternalStoreWithSelector } from 'use-sync-external-store/with-selector.js'\n\nimport { initializeUseSelector } from './hooks/useSelector'\nimport { initializeConnect } from './components/connect'\n\ninitializeUseSelector(useSyncExternalStoreWithSelector)\ninitializeConnect(React.useSyncExternalStore)\n\nexport * from './exports'\n","/* eslint-disable valid-jsdoc, @typescript-eslint/no-unused-vars */\nimport type { ComponentType } from 'react'\nimport { React } from '../utils/react'\nimport { isValidElementType, isContextConsumer } from '../utils/react-is'\n\nimport type { Store } from 'redux'\n\nimport type {\n ConnectedComponent,\n InferableComponentEnhancer,\n InferableComponentEnhancerWithProps,\n ResolveThunks,\n DispatchProp,\n ConnectPropsMaybeWithoutContext,\n} from '../types'\n\nimport type {\n MapStateToPropsParam,\n MapDispatchToPropsParam,\n MergeProps,\n MapDispatchToPropsNonObject,\n SelectorFactoryOptions,\n} from '../connect/selectorFactory'\nimport defaultSelectorFactory from '../connect/selectorFactory'\nimport { mapDispatchToPropsFactory } from '../connect/mapDispatchToProps'\nimport { mapStateToPropsFactory } from '../connect/mapStateToProps'\nimport { mergePropsFactory } from '../connect/mergeProps'\n\nimport type { Subscription } from '../utils/Subscription'\nimport { createSubscription } from '../utils/Subscription'\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect'\nimport shallowEqual from '../utils/shallowEqual'\nimport hoistStatics from '../utils/hoistStatics'\nimport warning from '../utils/warning'\n\nimport type {\n ReactReduxContextValue,\n ReactReduxContextInstance,\n} from './Context'\nimport { ReactReduxContext } from './Context'\n\nimport type { uSES } from '../utils/useSyncExternalStore'\nimport { notInitialized } from '../utils/useSyncExternalStore'\n\nlet useSyncExternalStore = notInitialized as uSES\nexport const initializeConnect = (fn: uSES) => {\n useSyncExternalStore = fn\n}\n\n// Define some constant arrays just to avoid re-creating these\nconst EMPTY_ARRAY: [unknown, number] = [null, 0]\nconst NO_SUBSCRIPTION_ARRAY = [null, null]\n\n// Attempts to stringify whatever not-really-a-component value we were given\n// for logging in an error message\nconst stringifyComponent = (Comp: unknown) => {\n try {\n return JSON.stringify(Comp)\n } catch (err) {\n return String(Comp)\n }\n}\n\ntype EffectFunc = (...args: any[]) => void | ReturnType\n\n// This is \"just\" a `useLayoutEffect`, but with two modifications:\n// - we need to fall back to `useEffect` in SSR to avoid annoying warnings\n// - we extract this to a separate function to avoid closing over values\n// and causing memory leaks\nfunction useIsomorphicLayoutEffectWithArgs(\n effectFunc: EffectFunc,\n effectArgs: any[],\n dependencies?: React.DependencyList,\n) {\n useIsomorphicLayoutEffect(() => effectFunc(...effectArgs), dependencies)\n}\n\n// Effect callback, extracted: assign the latest props values to refs for later usage\nfunction captureWrapperProps(\n lastWrapperProps: React.MutableRefObject,\n lastChildProps: React.MutableRefObject,\n renderIsScheduled: React.MutableRefObject,\n wrapperProps: unknown,\n // actualChildProps: unknown,\n childPropsFromStoreUpdate: React.MutableRefObject,\n notifyNestedSubs: () => void,\n) {\n // We want to capture the wrapper props and child props we used for later comparisons\n lastWrapperProps.current = wrapperProps\n renderIsScheduled.current = false\n\n // If the render was from a store update, clear out that reference and cascade the subscriber update\n if (childPropsFromStoreUpdate.current) {\n childPropsFromStoreUpdate.current = null\n notifyNestedSubs()\n }\n}\n\n// Effect callback, extracted: subscribe to the Redux store or nearest connected ancestor,\n// check for updates after dispatched actions, and trigger re-renders.\nfunction subscribeUpdates(\n shouldHandleStateChanges: boolean,\n store: Store,\n subscription: Subscription,\n childPropsSelector: (state: unknown, props: unknown) => unknown,\n lastWrapperProps: React.MutableRefObject,\n lastChildProps: React.MutableRefObject,\n renderIsScheduled: React.MutableRefObject,\n isMounted: React.MutableRefObject,\n childPropsFromStoreUpdate: React.MutableRefObject,\n notifyNestedSubs: () => void,\n // forceComponentUpdateDispatch: React.Dispatch,\n additionalSubscribeListener: () => void,\n) {\n // If we're not subscribed to the store, nothing to do here\n if (!shouldHandleStateChanges) return () => {}\n\n // Capture values for checking if and when this component unmounts\n let didUnsubscribe = false\n let lastThrownError: Error | null = null\n\n // We'll run this callback every time a store subscription update propagates to this component\n const checkForUpdates = () => {\n if (didUnsubscribe || !isMounted.current) {\n // Don't run stale listeners.\n // Redux doesn't guarantee unsubscriptions happen until next dispatch.\n return\n }\n\n // TODO We're currently calling getState ourselves here, rather than letting `uSES` do it\n const latestStoreState = store.getState()\n\n let newChildProps, error\n try {\n // Actually run the selector with the most recent store state and wrapper props\n // to determine what the child props should be\n newChildProps = childPropsSelector(\n latestStoreState,\n lastWrapperProps.current,\n )\n } catch (e) {\n error = e\n lastThrownError = e as Error | null\n }\n\n if (!error) {\n lastThrownError = null\n }\n\n // If the child props haven't changed, nothing to do here - cascade the subscription update\n if (newChildProps === lastChildProps.current) {\n if (!renderIsScheduled.current) {\n notifyNestedSubs()\n }\n } else {\n // Save references to the new child props. Note that we track the \"child props from store update\"\n // as a ref instead of a useState/useReducer because we need a way to determine if that value has\n // been processed. If this went into useState/useReducer, we couldn't clear out the value without\n // forcing another re-render, which we don't want.\n lastChildProps.current = newChildProps\n childPropsFromStoreUpdate.current = newChildProps\n renderIsScheduled.current = true\n\n // TODO This is hacky and not how `uSES` is meant to be used\n // Trigger the React `useSyncExternalStore` subscriber\n additionalSubscribeListener()\n }\n }\n\n // Actually subscribe to the nearest connected ancestor (or store)\n subscription.onStateChange = checkForUpdates\n subscription.trySubscribe()\n\n // Pull data from the store after first render in case the store has\n // changed since we began.\n checkForUpdates()\n\n const unsubscribeWrapper = () => {\n didUnsubscribe = true\n subscription.tryUnsubscribe()\n subscription.onStateChange = null\n\n if (lastThrownError) {\n // It's possible that we caught an error due to a bad mapState function, but the\n // parent re-rendered without this component and we're about to unmount.\n // This shouldn't happen as long as we do top-down subscriptions correctly, but\n // if we ever do those wrong, this throw will surface the error in our tests.\n // In that case, throw the error from here so it doesn't get lost.\n throw lastThrownError\n }\n }\n\n return unsubscribeWrapper\n}\n\n// Reducer initial state creation for our update reducer\nconst initStateUpdates = () => EMPTY_ARRAY\n\nexport interface ConnectProps {\n /** A custom Context instance that the component can use to access the store from an alternate Provider using that same Context instance */\n context?: ReactReduxContextInstance\n /** A Redux store instance to be used for subscriptions instead of the store from a Provider */\n store?: Store\n}\n\ninterface InternalConnectProps extends ConnectProps {\n reactReduxForwardedRef?: React.ForwardedRef\n}\n\nfunction strictEqual(a: unknown, b: unknown) {\n return a === b\n}\n\n/**\n * Infers the type of props that a connector will inject into a component.\n */\nexport type ConnectedProps =\n TConnector extends InferableComponentEnhancerWithProps<\n infer TInjectedProps,\n any\n >\n ? unknown extends TInjectedProps\n ? TConnector extends InferableComponentEnhancer\n ? TInjectedProps\n : never\n : TInjectedProps\n : never\n\nexport interface ConnectOptions<\n State = unknown,\n TStateProps = {},\n TOwnProps = {},\n TMergedProps = {}\n> {\n forwardRef?: boolean\n context?: typeof ReactReduxContext\n areStatesEqual?: (\n nextState: State,\n prevState: State,\n nextOwnProps: TOwnProps,\n prevOwnProps: TOwnProps\n ) => boolean\n\n areOwnPropsEqual?: (\n nextOwnProps: TOwnProps,\n prevOwnProps: TOwnProps\n ) => boolean\n\n areStatePropsEqual?: (\n nextStateProps: TStateProps,\n prevStateProps: TStateProps\n ) => boolean\n areMergedPropsEqual?: (\n nextMergedProps: TMergedProps,\n prevMergedProps: TMergedProps\n ) => boolean\n}\n\n/**\n * Connects a React component to a Redux store.\n *\n * - Without arguments, just wraps the component, without changing the behavior / props\n *\n * - If 2 params are passed (3rd param, mergeProps, is skipped), default behavior\n * is to override ownProps (as stated in the docs), so what remains is everything that's\n * not a state or dispatch prop\n *\n * - When 3rd param is passed, we don't know if ownProps propagate and whether they\n * should be valid component props, because it depends on mergeProps implementation.\n * As such, it is the user's responsibility to extend ownProps interface from state or\n * dispatch props or both when applicable\n *\n * @param mapStateToProps\n * @param mapDispatchToProps\n * @param mergeProps\n * @param options\n */\nexport interface Connect {\n // tslint:disable:no-unnecessary-generics\n (): InferableComponentEnhancer\n\n /** mapState only */\n (\n mapStateToProps: MapStateToPropsParam\n ): InferableComponentEnhancerWithProps\n\n /** mapDispatch only (as a function) */\n (\n mapStateToProps: null | undefined,\n mapDispatchToProps: MapDispatchToPropsNonObject\n ): InferableComponentEnhancerWithProps\n\n /** mapDispatch only (as an object) */\n (\n mapStateToProps: null | undefined,\n mapDispatchToProps: MapDispatchToPropsParam\n ): InferableComponentEnhancerWithProps<\n ResolveThunks,\n TOwnProps\n >\n\n /** mapState and mapDispatch (as a function)*/\n (\n mapStateToProps: MapStateToPropsParam,\n mapDispatchToProps: MapDispatchToPropsNonObject\n ): InferableComponentEnhancerWithProps<\n TStateProps & TDispatchProps,\n TOwnProps\n >\n\n /** mapState and mapDispatch (nullish) */\n (\n mapStateToProps: MapStateToPropsParam,\n mapDispatchToProps: null | undefined\n ): InferableComponentEnhancerWithProps\n\n /** mapState and mapDispatch (as an object) */\n (\n mapStateToProps: MapStateToPropsParam,\n mapDispatchToProps: MapDispatchToPropsParam\n ): InferableComponentEnhancerWithProps<\n TStateProps & ResolveThunks,\n TOwnProps\n >\n\n /** mergeProps only */\n (\n mapStateToProps: null | undefined,\n mapDispatchToProps: null | undefined,\n mergeProps: MergeProps\n ): InferableComponentEnhancerWithProps\n\n /** mapState and mergeProps */\n <\n TStateProps = {},\n no_dispatch = {},\n TOwnProps = {},\n TMergedProps = {},\n State = DefaultState\n >(\n mapStateToProps: MapStateToPropsParam,\n mapDispatchToProps: null | undefined,\n mergeProps: MergeProps\n ): InferableComponentEnhancerWithProps\n\n /** mapDispatch (as a object) and mergeProps */\n (\n mapStateToProps: null | undefined,\n mapDispatchToProps: MapDispatchToPropsParam,\n mergeProps: MergeProps\n ): InferableComponentEnhancerWithProps\n\n /** mapState and options */\n (\n mapStateToProps: MapStateToPropsParam,\n mapDispatchToProps: null | undefined,\n mergeProps: null | undefined,\n options: ConnectOptions\n ): InferableComponentEnhancerWithProps\n\n /** mapDispatch (as a function) and options */\n (\n mapStateToProps: null | undefined,\n mapDispatchToProps: MapDispatchToPropsNonObject,\n mergeProps: null | undefined,\n options: ConnectOptions<{}, TStateProps, TOwnProps>\n ): InferableComponentEnhancerWithProps\n\n /** mapDispatch (as an object) and options*/\n (\n mapStateToProps: null | undefined,\n mapDispatchToProps: MapDispatchToPropsParam,\n mergeProps: null | undefined,\n options: ConnectOptions<{}, TStateProps, TOwnProps>\n ): InferableComponentEnhancerWithProps<\n ResolveThunks,\n TOwnProps\n >\n\n /** mapState, mapDispatch (as a function), and options */\n (\n mapStateToProps: MapStateToPropsParam,\n mapDispatchToProps: MapDispatchToPropsNonObject,\n mergeProps: null | undefined,\n options: ConnectOptions\n ): InferableComponentEnhancerWithProps<\n TStateProps & TDispatchProps,\n TOwnProps\n >\n\n /** mapState, mapDispatch (as an object), and options */\n (\n mapStateToProps: MapStateToPropsParam,\n mapDispatchToProps: MapDispatchToPropsParam,\n mergeProps: null | undefined,\n options: ConnectOptions\n ): InferableComponentEnhancerWithProps<\n TStateProps & ResolveThunks,\n TOwnProps\n >\n\n /** mapState, mapDispatch, mergeProps, and options */\n <\n TStateProps = {},\n TDispatchProps = {},\n TOwnProps = {},\n TMergedProps = {},\n State = DefaultState\n >(\n mapStateToProps: MapStateToPropsParam,\n mapDispatchToProps: MapDispatchToPropsParam,\n mergeProps: MergeProps<\n TStateProps,\n TDispatchProps,\n TOwnProps,\n TMergedProps\n >,\n options?: ConnectOptions\n ): InferableComponentEnhancerWithProps\n // tslint:enable:no-unnecessary-generics\n}\n\nlet hasWarnedAboutDeprecatedPureOption = false\n\n/**\n * Connects a React component to a Redux store.\n *\n * - Without arguments, just wraps the component, without changing the behavior / props\n *\n * - If 2 params are passed (3rd param, mergeProps, is skipped), default behavior\n * is to override ownProps (as stated in the docs), so what remains is everything that's\n * not a state or dispatch prop\n *\n * - When 3rd param is passed, we don't know if ownProps propagate and whether they\n * should be valid component props, because it depends on mergeProps implementation.\n * As such, it is the user's responsibility to extend ownProps interface from state or\n * dispatch props or both when applicable\n *\n * @param mapStateToProps A function that extracts values from state\n * @param mapDispatchToProps Setup for dispatching actions\n * @param mergeProps Optional callback to merge state and dispatch props together\n * @param options Options for configuring the connection\n *\n */\nfunction connect<\n TStateProps = {},\n TDispatchProps = {},\n TOwnProps = {},\n TMergedProps = {},\n State = unknown\n>(\n mapStateToProps?: MapStateToPropsParam,\n mapDispatchToProps?: MapDispatchToPropsParam,\n mergeProps?: MergeProps,\n {\n // The `pure` option has been removed, so TS doesn't like us destructuring this to check its existence.\n // @ts-ignore\n pure,\n areStatesEqual = strictEqual,\n areOwnPropsEqual = shallowEqual,\n areStatePropsEqual = shallowEqual,\n areMergedPropsEqual = shallowEqual,\n\n // use React's forwardRef to expose a ref of the wrapped component\n forwardRef = false,\n\n // the context consumer to use\n context = ReactReduxContext,\n }: ConnectOptions = {},\n): unknown {\n if (process.env.NODE_ENV !== 'production') {\n if (pure !== undefined && !hasWarnedAboutDeprecatedPureOption) {\n hasWarnedAboutDeprecatedPureOption = true\n warning(\n 'The `pure` option has been removed. `connect` is now always a \"pure/memoized\" component',\n )\n }\n }\n\n const Context = context\n\n const initMapStateToProps = mapStateToPropsFactory(mapStateToProps)\n const initMapDispatchToProps = mapDispatchToPropsFactory(mapDispatchToProps)\n const initMergeProps = mergePropsFactory(mergeProps)\n\n const shouldHandleStateChanges = Boolean(mapStateToProps)\n\n const wrapWithConnect = (\n WrappedComponent: ComponentType,\n ) => {\n type WrappedComponentProps = TProps &\n ConnectPropsMaybeWithoutContext\n\n if (process.env.NODE_ENV !== 'production') {\n const isValid = /*#__PURE__*/ isValidElementType(WrappedComponent)\n if (!isValid)\n throw new Error(\n `You must pass a component to the function returned by connect. Instead received ${stringifyComponent(\n WrappedComponent,\n )}`,\n )\n }\n\n const wrappedComponentName =\n WrappedComponent.displayName || WrappedComponent.name || 'Component'\n\n const displayName = `Connect(${wrappedComponentName})`\n\n const selectorFactoryOptions: SelectorFactoryOptions<\n any,\n any,\n any,\n any,\n State\n > = {\n shouldHandleStateChanges,\n displayName,\n wrappedComponentName,\n WrappedComponent,\n // @ts-ignore\n initMapStateToProps,\n // @ts-ignore\n initMapDispatchToProps,\n initMergeProps,\n areStatesEqual,\n areStatePropsEqual,\n areOwnPropsEqual,\n areMergedPropsEqual,\n }\n\n function ConnectFunction(\n props: InternalConnectProps & TOwnProps,\n ) {\n const [propsContext, reactReduxForwardedRef, wrapperProps] =\n React.useMemo(() => {\n // Distinguish between actual \"data\" props that were passed to the wrapper component,\n // and values needed to control behavior (forwarded refs, alternate context instances).\n // To maintain the wrapperProps object reference, memoize this destructuring.\n const { reactReduxForwardedRef, ...wrapperProps } = props\n return [props.context, reactReduxForwardedRef, wrapperProps]\n }, [props])\n\n const ContextToUse: ReactReduxContextInstance = React.useMemo(() => {\n // Users may optionally pass in a custom context instance to use instead of our ReactReduxContext.\n // Memoize the check that determines which context instance we should use.\n let ResultContext = Context\n if (propsContext?.Consumer) {\n if (process.env.NODE_ENV !== 'production') {\n const isValid = /*#__PURE__*/ isContextConsumer(\n // @ts-ignore\n ,\n )\n if (!isValid) {\n throw new Error(\n 'You must pass a valid React context consumer as `props.context`',\n )\n }\n ResultContext = propsContext\n }\n }\n return ResultContext\n }, [propsContext, Context])\n\n // Retrieve the store and ancestor subscription via context, if available\n const contextValue = React.useContext(ContextToUse)\n\n // The store _must_ exist as either a prop or in context.\n // We'll check to see if it _looks_ like a Redux store first.\n // This allows us to pass through a `store` prop that is just a plain value.\n const didStoreComeFromProps =\n Boolean(props.store) &&\n Boolean(props.store!.getState) &&\n Boolean(props.store!.dispatch)\n const didStoreComeFromContext =\n Boolean(contextValue) && Boolean(contextValue!.store)\n\n if (\n process.env.NODE_ENV !== 'production' &&\n !didStoreComeFromProps &&\n !didStoreComeFromContext\n ) {\n throw new Error(\n `Could not find \"store\" in the context of ` +\n `\"${displayName}\". Either wrap the root component in a , ` +\n `or pass a custom React context provider to and the corresponding ` +\n `React context consumer to ${displayName} in connect options.`,\n )\n }\n\n // Based on the previous check, one of these must be true\n const store: Store = didStoreComeFromProps\n ? props.store!\n : contextValue!.store\n\n const getServerState = didStoreComeFromContext\n ? contextValue!.getServerState\n : store.getState\n\n const childPropsSelector = React.useMemo(() => {\n // The child props selector needs the store reference as an input.\n // Re-create this selector whenever the store changes.\n return defaultSelectorFactory(store.dispatch, selectorFactoryOptions)\n }, [store])\n\n const [subscription, notifyNestedSubs] = React.useMemo(() => {\n if (!shouldHandleStateChanges) return NO_SUBSCRIPTION_ARRAY\n\n // This Subscription's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n const subscription = createSubscription(\n store,\n didStoreComeFromProps ? undefined : contextValue!.subscription,\n )\n\n // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `subscription` will then be null. This can\n // probably be avoided if Subscription's listeners logic is changed to not call listeners\n // that have been unsubscribed in the middle of the notification loop.\n const notifyNestedSubs =\n subscription.notifyNestedSubs.bind(subscription)\n\n return [subscription, notifyNestedSubs]\n }, [store, didStoreComeFromProps, contextValue])\n\n // Determine what {store, subscription} value should be put into nested context, if necessary,\n // and memoize that value to avoid unnecessary context updates.\n const overriddenContextValue = React.useMemo(() => {\n if (didStoreComeFromProps) {\n // This component is directly subscribed to a store from props.\n // We don't want descendants reading from this store - pass down whatever\n // the existing context value is from the nearest connected ancestor.\n return contextValue!\n }\n\n // Otherwise, put this component's subscription instance into context, so that\n // connected descendants won't update until after this component is done\n return {\n ...contextValue,\n subscription,\n } as ReactReduxContextValue\n }, [didStoreComeFromProps, contextValue, subscription])\n\n // Set up refs to coordinate values between the subscription effect and the render logic\n const lastChildProps = React.useRef()\n const lastWrapperProps = React.useRef(wrapperProps)\n const childPropsFromStoreUpdate = React.useRef()\n const renderIsScheduled = React.useRef(false)\n const isProcessingDispatch = React.useRef(false)\n const isMounted = React.useRef(false)\n\n const latestSubscriptionCallbackError = React.useRef()\n\n useIsomorphicLayoutEffect(() => {\n isMounted.current = true\n return () => {\n isMounted.current = false\n }\n }, [])\n\n const actualChildPropsSelector = React.useMemo(() => {\n const selector = () => {\n // Tricky logic here:\n // - This render may have been triggered by a Redux store update that produced new child props\n // - However, we may have gotten new wrapper props after that\n // If we have new child props, and the same wrapper props, we know we should use the new child props as-is.\n // But, if we have new wrapper props, those might change the child props, so we have to recalculate things.\n // So, we'll use the child props from store update only if the wrapper props are the same as last time.\n if (\n childPropsFromStoreUpdate.current &&\n wrapperProps === lastWrapperProps.current\n ) {\n return childPropsFromStoreUpdate.current\n }\n\n // TODO We're reading the store directly in render() here. Bad idea?\n // This will likely cause Bad Things (TM) to happen in Concurrent Mode.\n // Note that we do this because on renders _not_ caused by store updates, we need the latest store state\n // to determine what the child props should be.\n return childPropsSelector(store.getState(), wrapperProps)\n }\n return selector\n }, [store, wrapperProps])\n\n // We need this to execute synchronously every time we re-render. However, React warns\n // about useLayoutEffect in SSR, so we try to detect environment and fall back to\n // just useEffect instead to avoid the warning, since neither will run anyway.\n\n const subscribeForReact = React.useMemo(() => {\n const subscribe = (reactListener: () => void) => {\n if (!subscription) {\n return () => {}\n }\n\n return subscribeUpdates(\n shouldHandleStateChanges,\n store,\n subscription,\n // @ts-ignore\n childPropsSelector,\n lastWrapperProps,\n lastChildProps,\n renderIsScheduled,\n isMounted,\n childPropsFromStoreUpdate,\n notifyNestedSubs,\n reactListener,\n )\n }\n\n return subscribe\n }, [subscription])\n\n useIsomorphicLayoutEffectWithArgs(captureWrapperProps, [\n lastWrapperProps,\n lastChildProps,\n renderIsScheduled,\n wrapperProps,\n childPropsFromStoreUpdate,\n notifyNestedSubs,\n ])\n\n let actualChildProps: Record\n\n try {\n actualChildProps = useSyncExternalStore(\n // TODO We're passing through a big wrapper that does a bunch of extra side effects besides subscribing\n subscribeForReact,\n // TODO This is incredibly hacky. We've already processed the store update and calculated new child props,\n // TODO and we're just passing that through so it triggers a re-render for us rather than relying on `uSES`.\n actualChildPropsSelector,\n getServerState\n ? () => childPropsSelector(getServerState(), wrapperProps)\n : actualChildPropsSelector,\n )\n } catch (err) {\n if (latestSubscriptionCallbackError.current) {\n // eslint-disable-next-line no-extra-semi\n ;(\n err as Error\n ).message += `\\nThe error may be correlated with this previous error:\\n${latestSubscriptionCallbackError.current.stack}\\n\\n`\n }\n\n throw err\n }\n\n useIsomorphicLayoutEffect(() => {\n latestSubscriptionCallbackError.current = undefined\n childPropsFromStoreUpdate.current = undefined\n lastChildProps.current = actualChildProps\n })\n\n // Now that all that's done, we can finally try to actually render the child component.\n // We memoize the elements for the rendered child component as an optimization.\n const renderedWrappedComponent = React.useMemo(() => {\n return (\n // @ts-ignore\n \n )\n }, [reactReduxForwardedRef, WrappedComponent, actualChildProps])\n\n // If React sees the exact same element reference as last time, it bails out of re-rendering\n // that child, same as if it was wrapped in React.memo() or returned false from shouldComponentUpdate.\n const renderedChild = React.useMemo(() => {\n if (shouldHandleStateChanges) {\n // If this component is subscribed to store updates, we need to pass its own\n // subscription instance down to our descendants. That means rendering the same\n // Context instance, and putting a different value into the context.\n return (\n \n {renderedWrappedComponent}\n \n )\n }\n\n return renderedWrappedComponent\n }, [ContextToUse, renderedWrappedComponent, overriddenContextValue])\n\n return renderedChild\n }\n\n const _Connect = React.memo(ConnectFunction)\n\n type ConnectedWrapperComponent = typeof _Connect & {\n WrappedComponent: typeof WrappedComponent\n }\n\n // Add a hacky cast to get the right output type\n const Connect = _Connect as unknown as ConnectedComponent<\n typeof WrappedComponent,\n WrappedComponentProps\n >\n Connect.WrappedComponent = WrappedComponent\n Connect.displayName = ConnectFunction.displayName = displayName\n\n if (forwardRef) {\n const _forwarded = React.forwardRef(function forwardConnectRef(\n props,\n ref,\n ) {\n // @ts-ignore\n return \n })\n\n const forwarded = _forwarded as ConnectedWrapperComponent\n forwarded.displayName = displayName\n forwarded.WrappedComponent = WrappedComponent\n return /*#__PURE__*/ hoistStatics(forwarded, WrappedComponent)\n }\n\n return /*#__PURE__*/ hoistStatics(Connect, WrappedComponent)\n }\n\n return wrapWithConnect\n}\n\nexport default connect as Connect\n","// Should be no imports here!\n\n/**\n * The sentinel value returned by producers to replace the draft with undefined.\n */\nexport const NOTHING: unique symbol = Symbol.for(\"immer-nothing\")\n\n/**\n * To let Immer treat your class instances as plain immutable objects\n * (albeit with a custom prototype), you must define either an instance property\n * or a static property on each of your custom classes.\n *\n * Otherwise, your class instance will never be drafted, which means it won't be\n * safe to mutate in a produce callback.\n */\nexport const DRAFTABLE: unique symbol = Symbol.for(\"immer-draftable\")\n\nexport const DRAFT_STATE: unique symbol = Symbol.for(\"immer-state\")\n","export const errors =\n\tprocess.env.NODE_ENV !== \"production\"\n\t\t? [\n\t\t\t\t// All error codes, starting by 0:\n\t\t\t\tfunction(plugin: string) {\n\t\t\t\t\treturn `The plugin for '${plugin}' has not been loaded into Immer. To enable the plugin, import and call \\`enable${plugin}()\\` when initializing your application.`\n\t\t\t\t},\n\t\t\t\tfunction(thing: string) {\n\t\t\t\t\treturn `produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${thing}'`\n\t\t\t\t},\n\t\t\t\t\"This object has been frozen and should not be mutated\",\n\t\t\t\tfunction(data: any) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t\"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? \" +\n\t\t\t\t\t\tdata\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t\t\"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.\",\n\t\t\t\t\"Immer forbids circular references\",\n\t\t\t\t\"The first or second argument to `produce` must be a function\",\n\t\t\t\t\"The third argument to `produce` must be a function or undefined\",\n\t\t\t\t\"First argument to `createDraft` must be a plain object, an array, or an immerable object\",\n\t\t\t\t\"First argument to `finishDraft` must be a draft returned by `createDraft`\",\n\t\t\t\tfunction(thing: string) {\n\t\t\t\t\treturn `'current' expects a draft, got: ${thing}`\n\t\t\t\t},\n\t\t\t\t\"Object.defineProperty() cannot be used on an Immer draft\",\n\t\t\t\t\"Object.setPrototypeOf() cannot be used on an Immer draft\",\n\t\t\t\t\"Immer only supports deleting array indices\",\n\t\t\t\t\"Immer only supports setting array indices and the 'length' property\",\n\t\t\t\tfunction(thing: string) {\n\t\t\t\t\treturn `'original' expects a draft, got: ${thing}`\n\t\t\t\t}\n\t\t\t\t// Note: if more errors are added, the errorOffset in Patches.ts should be increased\n\t\t\t\t// See Patches.ts for additional errors\n\t\t ]\n\t\t: []\n\nexport function die(error: number, ...args: any[]): never {\n\tif (process.env.NODE_ENV !== \"production\") {\n\t\tconst e = errors[error]\n\t\tconst msg = typeof e === \"function\" ? e.apply(null, args as any) : e\n\t\tthrow new Error(`[Immer] ${msg}`)\n\t}\n\tthrow new Error(\n\t\t`[Immer] minified error nr: ${error}. Full error at: https://bit.ly/3cXEKWf`\n\t)\n}\n","import {\n\tDRAFT_STATE,\n\tDRAFTABLE,\n\tObjectish,\n\tDrafted,\n\tAnyObject,\n\tAnyMap,\n\tAnySet,\n\tImmerState,\n\tArchType,\n\tdie\n} from \"../internal\"\n\nexport const getPrototypeOf = Object.getPrototypeOf\n\n/** Returns true if the given value is an Immer draft */\n/*#__PURE__*/\nexport function isDraft(value: any): boolean {\n\treturn !!value && !!value[DRAFT_STATE]\n}\n\n/** Returns true if the given value can be drafted by Immer */\n/*#__PURE__*/\nexport function isDraftable(value: any): boolean {\n\tif (!value) return false\n\treturn (\n\t\tisPlainObject(value) ||\n\t\tArray.isArray(value) ||\n\t\t!!value[DRAFTABLE] ||\n\t\t!!value.constructor?.[DRAFTABLE] ||\n\t\tisMap(value) ||\n\t\tisSet(value)\n\t)\n}\n\nconst objectCtorString = Object.prototype.constructor.toString()\n/*#__PURE__*/\nexport function isPlainObject(value: any): boolean {\n\tif (!value || typeof value !== \"object\") return false\n\tconst proto = getPrototypeOf(value)\n\tif (proto === null) {\n\t\treturn true\n\t}\n\tconst Ctor =\n\t\tObject.hasOwnProperty.call(proto, \"constructor\") && proto.constructor\n\n\tif (Ctor === Object) return true\n\n\treturn (\n\t\ttypeof Ctor == \"function\" &&\n\t\tFunction.toString.call(Ctor) === objectCtorString\n\t)\n}\n\n/** Get the underlying object that is represented by the given draft */\n/*#__PURE__*/\nexport function original(value: T): T | undefined\nexport function original(value: Drafted): any {\n\tif (!isDraft(value)) die(15, value)\n\treturn value[DRAFT_STATE].base_\n}\n\nexport function each(\n\tobj: T,\n\titer: (key: string | number, value: any, source: T) => void,\n\tenumerableOnly?: boolean\n): void\nexport function each(obj: any, iter: any) {\n\tif (getArchtype(obj) === ArchType.Object) {\n\t\tObject.entries(obj).forEach(([key, value]) => {\n\t\t\titer(key, value, obj)\n\t\t})\n\t} else {\n\t\tobj.forEach((entry: any, index: any) => iter(index, entry, obj))\n\t}\n}\n\n/*#__PURE__*/\nexport function getArchtype(thing: any): ArchType {\n\tconst state: undefined | ImmerState = thing[DRAFT_STATE]\n\treturn state\n\t\t? state.type_\n\t\t: Array.isArray(thing)\n\t\t? ArchType.Array\n\t\t: isMap(thing)\n\t\t? ArchType.Map\n\t\t: isSet(thing)\n\t\t? ArchType.Set\n\t\t: ArchType.Object\n}\n\n/*#__PURE__*/\nexport function has(thing: any, prop: PropertyKey): boolean {\n\treturn getArchtype(thing) === ArchType.Map\n\t\t? thing.has(prop)\n\t\t: Object.prototype.hasOwnProperty.call(thing, prop)\n}\n\n/*#__PURE__*/\nexport function get(thing: AnyMap | AnyObject, prop: PropertyKey): any {\n\t// @ts-ignore\n\treturn getArchtype(thing) === ArchType.Map ? thing.get(prop) : thing[prop]\n}\n\n/*#__PURE__*/\nexport function set(thing: any, propOrOldValue: PropertyKey, value: any) {\n\tconst t = getArchtype(thing)\n\tif (t === ArchType.Map) thing.set(propOrOldValue, value)\n\telse if (t === ArchType.Set) {\n\t\tthing.add(value)\n\t} else thing[propOrOldValue] = value\n}\n\n/*#__PURE__*/\nexport function is(x: any, y: any): boolean {\n\t// From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js\n\tif (x === y) {\n\t\treturn x !== 0 || 1 / x === 1 / y\n\t} else {\n\t\treturn x !== x && y !== y\n\t}\n}\n\n/*#__PURE__*/\nexport function isMap(target: any): target is AnyMap {\n\treturn target instanceof Map\n}\n\n/*#__PURE__*/\nexport function isSet(target: any): target is AnySet {\n\treturn target instanceof Set\n}\n/*#__PURE__*/\nexport function latest(state: ImmerState): any {\n\treturn state.copy_ || state.base_\n}\n\n/*#__PURE__*/\nexport function shallowCopy(base: any, strict: boolean) {\n\tif (isMap(base)) {\n\t\treturn new Map(base)\n\t}\n\tif (isSet(base)) {\n\t\treturn new Set(base)\n\t}\n\tif (Array.isArray(base)) return Array.prototype.slice.call(base)\n\n\tif (!strict && isPlainObject(base)) {\n\t\tif (!getPrototypeOf(base)) {\n\t\t\tconst obj = Object.create(null)\n\t\t\treturn Object.assign(obj, base)\n\t\t}\n\t\treturn {...base}\n\t}\n\n\tconst descriptors = Object.getOwnPropertyDescriptors(base)\n\tdelete descriptors[DRAFT_STATE as any]\n\tlet keys = Reflect.ownKeys(descriptors)\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tconst key: any = keys[i]\n\t\tconst desc = descriptors[key]\n\t\tif (desc.writable === false) {\n\t\t\tdesc.writable = true\n\t\t\tdesc.configurable = true\n\t\t}\n\t\t// like object.assign, we will read any _own_, get/set accessors. This helps in dealing\n\t\t// with libraries that trap values, like mobx or vue\n\t\t// unlike object.assign, non-enumerables will be copied as well\n\t\tif (desc.get || desc.set)\n\t\t\tdescriptors[key] = {\n\t\t\t\tconfigurable: true,\n\t\t\t\twritable: true, // could live with !!desc.set as well here...\n\t\t\t\tenumerable: desc.enumerable,\n\t\t\t\tvalue: base[key]\n\t\t\t}\n\t}\n\treturn Object.create(getPrototypeOf(base), descriptors)\n}\n\n/**\n * Freezes draftable objects. Returns the original object.\n * By default freezes shallowly, but if the second argument is `true` it will freeze recursively.\n *\n * @param obj\n * @param deep\n */\nexport function freeze(obj: T, deep?: boolean): T\nexport function freeze(obj: any, deep: boolean = false): T {\n\tif (isFrozen(obj) || isDraft(obj) || !isDraftable(obj)) return obj\n\tif (getArchtype(obj) > 1 /* Map or Set */) {\n\t\tobj.set = obj.add = obj.clear = obj.delete = dontMutateFrozenCollections as any\n\t}\n\tObject.freeze(obj)\n\tif (deep) each(obj, (_key, value) => freeze(value, true), true)\n\treturn obj\n}\n\nfunction dontMutateFrozenCollections() {\n\tdie(2)\n}\n\nexport function isFrozen(obj: any): boolean {\n\treturn Object.isFrozen(obj)\n}\n","import {\n\tImmerState,\n\tPatch,\n\tDrafted,\n\tImmerBaseState,\n\tAnyMap,\n\tAnySet,\n\tArchType,\n\tdie\n} from \"../internal\"\n\n/** Plugin utilities */\nconst plugins: {\n\tPatches?: {\n\t\tgeneratePatches_(\n\t\t\tstate: ImmerState,\n\t\t\tbasePath: PatchPath,\n\t\t\tpatches: Patch[],\n\t\t\tinversePatches: Patch[]\n\t\t): void\n\t\tgenerateReplacementPatches_(\n\t\t\tbase: any,\n\t\t\treplacement: any,\n\t\t\tpatches: Patch[],\n\t\t\tinversePatches: Patch[]\n\t\t): void\n\t\tapplyPatches_(draft: T, patches: Patch[]): T\n\t}\n\tMapSet?: {\n\t\tproxyMap_(target: T, parent?: ImmerState): T\n\t\tproxySet_(target: T, parent?: ImmerState): T\n\t}\n} = {}\n\ntype Plugins = typeof plugins\n\nexport function getPlugin(\n\tpluginKey: K\n): Exclude {\n\tconst plugin = plugins[pluginKey]\n\tif (!plugin) {\n\t\tdie(0, pluginKey)\n\t}\n\t// @ts-ignore\n\treturn plugin\n}\n\nexport function loadPlugin(\n\tpluginKey: K,\n\timplementation: Plugins[K]\n): void {\n\tif (!plugins[pluginKey]) plugins[pluginKey] = implementation\n}\n/** Map / Set plugin */\n\nexport interface MapState extends ImmerBaseState {\n\ttype_: ArchType.Map\n\tcopy_: AnyMap | undefined\n\tassigned_: Map | undefined\n\tbase_: AnyMap\n\trevoked_: boolean\n\tdraft_: Drafted\n}\n\nexport interface SetState extends ImmerBaseState {\n\ttype_: ArchType.Set\n\tcopy_: AnySet | undefined\n\tbase_: AnySet\n\tdrafts_: Map // maps the original value to the draft value in the new set\n\trevoked_: boolean\n\tdraft_: Drafted\n}\n\n/** Patches plugin */\n\nexport type PatchPath = (string | number)[]\n","import {\n\tPatch,\n\tPatchListener,\n\tDrafted,\n\tImmer,\n\tDRAFT_STATE,\n\tImmerState,\n\tArchType,\n\tgetPlugin\n} from \"../internal\"\n\n/** Each scope represents a `produce` call. */\n\nexport interface ImmerScope {\n\tpatches_?: Patch[]\n\tinversePatches_?: Patch[]\n\tcanAutoFreeze_: boolean\n\tdrafts_: any[]\n\tparent_?: ImmerScope\n\tpatchListener_?: PatchListener\n\timmer_: Immer\n\tunfinalizedDrafts_: number\n}\n\nlet currentScope: ImmerScope | undefined\n\nexport function getCurrentScope() {\n\treturn currentScope!\n}\n\nfunction createScope(\n\tparent_: ImmerScope | undefined,\n\timmer_: Immer\n): ImmerScope {\n\treturn {\n\t\tdrafts_: [],\n\t\tparent_,\n\t\timmer_,\n\t\t// Whenever the modified draft contains a draft from another scope, we\n\t\t// need to prevent auto-freezing so the unowned draft can be finalized.\n\t\tcanAutoFreeze_: true,\n\t\tunfinalizedDrafts_: 0\n\t}\n}\n\nexport function usePatchesInScope(\n\tscope: ImmerScope,\n\tpatchListener?: PatchListener\n) {\n\tif (patchListener) {\n\t\tgetPlugin(\"Patches\") // assert we have the plugin\n\t\tscope.patches_ = []\n\t\tscope.inversePatches_ = []\n\t\tscope.patchListener_ = patchListener\n\t}\n}\n\nexport function revokeScope(scope: ImmerScope) {\n\tleaveScope(scope)\n\tscope.drafts_.forEach(revokeDraft)\n\t// @ts-ignore\n\tscope.drafts_ = null\n}\n\nexport function leaveScope(scope: ImmerScope) {\n\tif (scope === currentScope) {\n\t\tcurrentScope = scope.parent_\n\t}\n}\n\nexport function enterScope(immer: Immer) {\n\treturn (currentScope = createScope(currentScope, immer))\n}\n\nfunction revokeDraft(draft: Drafted) {\n\tconst state: ImmerState = draft[DRAFT_STATE]\n\tif (state.type_ === ArchType.Object || state.type_ === ArchType.Array)\n\t\tstate.revoke_()\n\telse state.revoked_ = true\n}\n","import {\n\tImmerScope,\n\tDRAFT_STATE,\n\tisDraftable,\n\tNOTHING,\n\tPatchPath,\n\teach,\n\thas,\n\tfreeze,\n\tImmerState,\n\tisDraft,\n\tSetState,\n\tset,\n\tArchType,\n\tgetPlugin,\n\tdie,\n\trevokeScope,\n\tisFrozen\n} from \"../internal\"\n\nexport function processResult(result: any, scope: ImmerScope) {\n\tscope.unfinalizedDrafts_ = scope.drafts_.length\n\tconst baseDraft = scope.drafts_![0]\n\tconst isReplaced = result !== undefined && result !== baseDraft\n\tif (isReplaced) {\n\t\tif (baseDraft[DRAFT_STATE].modified_) {\n\t\t\trevokeScope(scope)\n\t\t\tdie(4)\n\t\t}\n\t\tif (isDraftable(result)) {\n\t\t\t// Finalize the result in case it contains (or is) a subset of the draft.\n\t\t\tresult = finalize(scope, result)\n\t\t\tif (!scope.parent_) maybeFreeze(scope, result)\n\t\t}\n\t\tif (scope.patches_) {\n\t\t\tgetPlugin(\"Patches\").generateReplacementPatches_(\n\t\t\t\tbaseDraft[DRAFT_STATE].base_,\n\t\t\t\tresult,\n\t\t\t\tscope.patches_,\n\t\t\t\tscope.inversePatches_!\n\t\t\t)\n\t\t}\n\t} else {\n\t\t// Finalize the base draft.\n\t\tresult = finalize(scope, baseDraft, [])\n\t}\n\trevokeScope(scope)\n\tif (scope.patches_) {\n\t\tscope.patchListener_!(scope.patches_, scope.inversePatches_!)\n\t}\n\treturn result !== NOTHING ? result : undefined\n}\n\nfunction finalize(rootScope: ImmerScope, value: any, path?: PatchPath) {\n\t// Don't recurse in tho recursive data structures\n\tif (isFrozen(value)) return value\n\n\tconst state: ImmerState = value[DRAFT_STATE]\n\t// A plain object, might need freezing, might contain drafts\n\tif (!state) {\n\t\teach(\n\t\t\tvalue,\n\t\t\t(key, childValue) =>\n\t\t\t\tfinalizeProperty(rootScope, state, value, key, childValue, path),\n\t\t\ttrue // See #590, don't recurse into non-enumerable of non drafted objects\n\t\t)\n\t\treturn value\n\t}\n\t// Never finalize drafts owned by another scope.\n\tif (state.scope_ !== rootScope) return value\n\t// Unmodified draft, return the (frozen) original\n\tif (!state.modified_) {\n\t\tmaybeFreeze(rootScope, state.base_, true)\n\t\treturn state.base_\n\t}\n\t// Not finalized yet, let's do that now\n\tif (!state.finalized_) {\n\t\tstate.finalized_ = true\n\t\tstate.scope_.unfinalizedDrafts_--\n\t\tconst result = state.copy_\n\t\t// Finalize all children of the copy\n\t\t// For sets we clone before iterating, otherwise we can get in endless loop due to modifying during iteration, see #628\n\t\t// To preserve insertion order in all cases we then clear the set\n\t\t// And we let finalizeProperty know it needs to re-add non-draft children back to the target\n\t\tlet resultEach = result\n\t\tlet isSet = false\n\t\tif (state.type_ === ArchType.Set) {\n\t\t\tresultEach = new Set(result)\n\t\t\tresult.clear()\n\t\t\tisSet = true\n\t\t}\n\t\teach(resultEach, (key, childValue) =>\n\t\t\tfinalizeProperty(rootScope, state, result, key, childValue, path, isSet)\n\t\t)\n\t\t// everything inside is frozen, we can freeze here\n\t\tmaybeFreeze(rootScope, result, false)\n\t\t// first time finalizing, let's create those patches\n\t\tif (path && rootScope.patches_) {\n\t\t\tgetPlugin(\"Patches\").generatePatches_(\n\t\t\t\tstate,\n\t\t\t\tpath,\n\t\t\t\trootScope.patches_,\n\t\t\t\trootScope.inversePatches_!\n\t\t\t)\n\t\t}\n\t}\n\treturn state.copy_\n}\n\nfunction finalizeProperty(\n\trootScope: ImmerScope,\n\tparentState: undefined | ImmerState,\n\ttargetObject: any,\n\tprop: string | number,\n\tchildValue: any,\n\trootPath?: PatchPath,\n\ttargetIsSet?: boolean\n) {\n\tif (process.env.NODE_ENV !== \"production\" && childValue === targetObject)\n\t\tdie(5)\n\tif (isDraft(childValue)) {\n\t\tconst path =\n\t\t\trootPath &&\n\t\t\tparentState &&\n\t\t\tparentState!.type_ !== ArchType.Set && // Set objects are atomic since they have no keys.\n\t\t\t!has((parentState as Exclude).assigned_!, prop) // Skip deep patches for assigned keys.\n\t\t\t\t? rootPath!.concat(prop)\n\t\t\t\t: undefined\n\t\t// Drafts owned by `scope` are finalized here.\n\t\tconst res = finalize(rootScope, childValue, path)\n\t\tset(targetObject, prop, res)\n\t\t// Drafts from another scope must prevented to be frozen\n\t\t// if we got a draft back from finalize, we're in a nested produce and shouldn't freeze\n\t\tif (isDraft(res)) {\n\t\t\trootScope.canAutoFreeze_ = false\n\t\t} else return\n\t} else if (targetIsSet) {\n\t\ttargetObject.add(childValue)\n\t}\n\t// Search new objects for unfinalized drafts. Frozen objects should never contain drafts.\n\tif (isDraftable(childValue) && !isFrozen(childValue)) {\n\t\tif (!rootScope.immer_.autoFreeze_ && rootScope.unfinalizedDrafts_ < 1) {\n\t\t\t// optimization: if an object is not a draft, and we don't have to\n\t\t\t// deepfreeze everything, and we are sure that no drafts are left in the remaining object\n\t\t\t// cause we saw and finalized all drafts already; we can stop visiting the rest of the tree.\n\t\t\t// This benefits especially adding large data tree's without further processing.\n\t\t\t// See add-data.js perf test\n\t\t\treturn\n\t\t}\n\t\tfinalize(rootScope, childValue)\n\t\t// immer deep freezes plain objects, so if there is no parent state, we freeze as well\n\t\tif (!parentState || !parentState.scope_.parent_)\n\t\t\tmaybeFreeze(rootScope, childValue)\n\t}\n}\n\nfunction maybeFreeze(scope: ImmerScope, value: any, deep = false) {\n\t// we never freeze for a non-root scope; as it would prevent pruning for drafts inside wrapping objects\n\tif (!scope.parent_ && scope.immer_.autoFreeze_ && scope.canAutoFreeze_) {\n\t\tfreeze(value, deep)\n\t}\n}\n","import {\n\teach,\n\thas,\n\tis,\n\tisDraftable,\n\tshallowCopy,\n\tlatest,\n\tImmerBaseState,\n\tImmerState,\n\tDrafted,\n\tAnyObject,\n\tAnyArray,\n\tObjectish,\n\tgetCurrentScope,\n\tgetPrototypeOf,\n\tDRAFT_STATE,\n\tdie,\n\tcreateProxy,\n\tArchType,\n\tImmerScope\n} from \"../internal\"\n\ninterface ProxyBaseState extends ImmerBaseState {\n\tassigned_: {\n\t\t[property: string]: boolean\n\t}\n\tparent_?: ImmerState\n\trevoke_(): void\n}\n\nexport interface ProxyObjectState extends ProxyBaseState {\n\ttype_: ArchType.Object\n\tbase_: any\n\tcopy_: any\n\tdraft_: Drafted\n}\n\nexport interface ProxyArrayState extends ProxyBaseState {\n\ttype_: ArchType.Array\n\tbase_: AnyArray\n\tcopy_: AnyArray | null\n\tdraft_: Drafted\n}\n\ntype ProxyState = ProxyObjectState | ProxyArrayState\n\n/**\n * Returns a new draft of the `base` object.\n *\n * The second argument is the parent draft-state (used internally).\n */\nexport function createProxyProxy(\n\tbase: T,\n\tparent?: ImmerState\n): Drafted {\n\tconst isArray = Array.isArray(base)\n\tconst state: ProxyState = {\n\t\ttype_: isArray ? ArchType.Array : (ArchType.Object as any),\n\t\t// Track which produce call this is associated with.\n\t\tscope_: parent ? parent.scope_ : getCurrentScope()!,\n\t\t// True for both shallow and deep changes.\n\t\tmodified_: false,\n\t\t// Used during finalization.\n\t\tfinalized_: false,\n\t\t// Track which properties have been assigned (true) or deleted (false).\n\t\tassigned_: {},\n\t\t// The parent draft state.\n\t\tparent_: parent,\n\t\t// The base state.\n\t\tbase_: base,\n\t\t// The base proxy.\n\t\tdraft_: null as any, // set below\n\t\t// The base copy with any updated values.\n\t\tcopy_: null,\n\t\t// Called by the `produce` function.\n\t\trevoke_: null as any,\n\t\tisManual_: false\n\t}\n\n\t// the traps must target something, a bit like the 'real' base.\n\t// but also, we need to be able to determine from the target what the relevant state is\n\t// (to avoid creating traps per instance to capture the state in closure,\n\t// and to avoid creating weird hidden properties as well)\n\t// So the trick is to use 'state' as the actual 'target'! (and make sure we intercept everything)\n\t// Note that in the case of an array, we put the state in an array to have better Reflect defaults ootb\n\tlet target: T = state as any\n\tlet traps: ProxyHandler> = objectTraps\n\tif (isArray) {\n\t\ttarget = [state] as any\n\t\ttraps = arrayTraps\n\t}\n\n\tconst {revoke, proxy} = Proxy.revocable(target, traps)\n\tstate.draft_ = proxy as any\n\tstate.revoke_ = revoke\n\treturn proxy as any\n}\n\n/**\n * Object drafts\n */\nexport const objectTraps: ProxyHandler = {\n\tget(state, prop) {\n\t\tif (prop === DRAFT_STATE) return state\n\n\t\tconst source = latest(state)\n\t\tif (!has(source, prop)) {\n\t\t\t// non-existing or non-own property...\n\t\t\treturn readPropFromProto(state, source, prop)\n\t\t}\n\t\tconst value = source[prop]\n\t\tif (state.finalized_ || !isDraftable(value)) {\n\t\t\treturn value\n\t\t}\n\t\t// Check for existing draft in modified state.\n\t\t// Assigned values are never drafted. This catches any drafts we created, too.\n\t\tif (value === peek(state.base_, prop)) {\n\t\t\tprepareCopy(state)\n\t\t\treturn (state.copy_![prop as any] = createProxy(value, state))\n\t\t}\n\t\treturn value\n\t},\n\thas(state, prop) {\n\t\treturn prop in latest(state)\n\t},\n\townKeys(state) {\n\t\treturn Reflect.ownKeys(latest(state))\n\t},\n\tset(\n\t\tstate: ProxyObjectState,\n\t\tprop: string /* strictly not, but helps TS */,\n\t\tvalue\n\t) {\n\t\tconst desc = getDescriptorFromProto(latest(state), prop)\n\t\tif (desc?.set) {\n\t\t\t// special case: if this write is captured by a setter, we have\n\t\t\t// to trigger it with the correct context\n\t\t\tdesc.set.call(state.draft_, value)\n\t\t\treturn true\n\t\t}\n\t\tif (!state.modified_) {\n\t\t\t// the last check is because we need to be able to distinguish setting a non-existing to undefined (which is a change)\n\t\t\t// from setting an existing property with value undefined to undefined (which is not a change)\n\t\t\tconst current = peek(latest(state), prop)\n\t\t\t// special case, if we assigning the original value to a draft, we can ignore the assignment\n\t\t\tconst currentState: ProxyObjectState = current?.[DRAFT_STATE]\n\t\t\tif (currentState && currentState.base_ === value) {\n\t\t\t\tstate.copy_![prop] = value\n\t\t\t\tstate.assigned_[prop] = false\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tif (is(value, current) && (value !== undefined || has(state.base_, prop)))\n\t\t\t\treturn true\n\t\t\tprepareCopy(state)\n\t\t\tmarkChanged(state)\n\t\t}\n\n\t\tif (\n\t\t\t(state.copy_![prop] === value &&\n\t\t\t\t// special case: handle new props with value 'undefined'\n\t\t\t\t(value !== undefined || prop in state.copy_)) ||\n\t\t\t// special case: NaN\n\t\t\t(Number.isNaN(value) && Number.isNaN(state.copy_![prop]))\n\t\t)\n\t\t\treturn true\n\n\t\t// @ts-ignore\n\t\tstate.copy_![prop] = value\n\t\tstate.assigned_[prop] = true\n\t\treturn true\n\t},\n\tdeleteProperty(state, prop: string) {\n\t\t// The `undefined` check is a fast path for pre-existing keys.\n\t\tif (peek(state.base_, prop) !== undefined || prop in state.base_) {\n\t\t\tstate.assigned_[prop] = false\n\t\t\tprepareCopy(state)\n\t\t\tmarkChanged(state)\n\t\t} else {\n\t\t\t// if an originally not assigned property was deleted\n\t\t\tdelete state.assigned_[prop]\n\t\t}\n\t\tif (state.copy_) {\n\t\t\tdelete state.copy_[prop]\n\t\t}\n\t\treturn true\n\t},\n\t// Note: We never coerce `desc.value` into an Immer draft, because we can't make\n\t// the same guarantee in ES5 mode.\n\tgetOwnPropertyDescriptor(state, prop) {\n\t\tconst owner = latest(state)\n\t\tconst desc = Reflect.getOwnPropertyDescriptor(owner, prop)\n\t\tif (!desc) return desc\n\t\treturn {\n\t\t\twritable: true,\n\t\t\tconfigurable: state.type_ !== ArchType.Array || prop !== \"length\",\n\t\t\tenumerable: desc.enumerable,\n\t\t\tvalue: owner[prop]\n\t\t}\n\t},\n\tdefineProperty() {\n\t\tdie(11)\n\t},\n\tgetPrototypeOf(state) {\n\t\treturn getPrototypeOf(state.base_)\n\t},\n\tsetPrototypeOf() {\n\t\tdie(12)\n\t}\n}\n\n/**\n * Array drafts\n */\n\nconst arrayTraps: ProxyHandler<[ProxyArrayState]> = {}\neach(objectTraps, (key, fn) => {\n\t// @ts-ignore\n\tarrayTraps[key] = function() {\n\t\targuments[0] = arguments[0][0]\n\t\treturn fn.apply(this, arguments)\n\t}\n})\narrayTraps.deleteProperty = function(state, prop) {\n\tif (process.env.NODE_ENV !== \"production\" && isNaN(parseInt(prop as any)))\n\t\tdie(13)\n\t// @ts-ignore\n\treturn arrayTraps.set!.call(this, state, prop, undefined)\n}\narrayTraps.set = function(state, prop, value) {\n\tif (\n\t\tprocess.env.NODE_ENV !== \"production\" &&\n\t\tprop !== \"length\" &&\n\t\tisNaN(parseInt(prop as any))\n\t)\n\t\tdie(14)\n\treturn objectTraps.set!.call(this, state[0], prop, value, state[0])\n}\n\n// Access a property without creating an Immer draft.\nfunction peek(draft: Drafted, prop: PropertyKey) {\n\tconst state = draft[DRAFT_STATE]\n\tconst source = state ? latest(state) : draft\n\treturn source[prop]\n}\n\nfunction readPropFromProto(state: ImmerState, source: any, prop: PropertyKey) {\n\tconst desc = getDescriptorFromProto(source, prop)\n\treturn desc\n\t\t? `value` in desc\n\t\t\t? desc.value\n\t\t\t: // This is a very special case, if the prop is a getter defined by the\n\t\t\t // prototype, we should invoke it with the draft as context!\n\t\t\t desc.get?.call(state.draft_)\n\t\t: undefined\n}\n\nfunction getDescriptorFromProto(\n\tsource: any,\n\tprop: PropertyKey\n): PropertyDescriptor | undefined {\n\t// 'in' checks proto!\n\tif (!(prop in source)) return undefined\n\tlet proto = getPrototypeOf(source)\n\twhile (proto) {\n\t\tconst desc = Object.getOwnPropertyDescriptor(proto, prop)\n\t\tif (desc) return desc\n\t\tproto = getPrototypeOf(proto)\n\t}\n\treturn undefined\n}\n\nexport function markChanged(state: ImmerState) {\n\tif (!state.modified_) {\n\t\tstate.modified_ = true\n\t\tif (state.parent_) {\n\t\t\tmarkChanged(state.parent_)\n\t\t}\n\t}\n}\n\nexport function prepareCopy(state: {\n\tbase_: any\n\tcopy_: any\n\tscope_: ImmerScope\n}) {\n\tif (!state.copy_) {\n\t\tstate.copy_ = shallowCopy(\n\t\t\tstate.base_,\n\t\t\tstate.scope_.immer_.useStrictShallowCopy_\n\t\t)\n\t}\n}\n","import {\n\tIProduceWithPatches,\n\tIProduce,\n\tImmerState,\n\tDrafted,\n\tisDraftable,\n\tprocessResult,\n\tPatch,\n\tObjectish,\n\tDRAFT_STATE,\n\tDraft,\n\tPatchListener,\n\tisDraft,\n\tisMap,\n\tisSet,\n\tcreateProxyProxy,\n\tgetPlugin,\n\tdie,\n\tenterScope,\n\trevokeScope,\n\tleaveScope,\n\tusePatchesInScope,\n\tgetCurrentScope,\n\tNOTHING,\n\tfreeze,\n\tcurrent\n} from \"../internal\"\n\ninterface ProducersFns {\n\tproduce: IProduce\n\tproduceWithPatches: IProduceWithPatches\n}\n\nexport class Immer implements ProducersFns {\n\tautoFreeze_: boolean = true\n\tuseStrictShallowCopy_: boolean = false\n\n\tconstructor(config?: {autoFreeze?: boolean; useStrictShallowCopy?: boolean}) {\n\t\tif (typeof config?.autoFreeze === \"boolean\")\n\t\t\tthis.setAutoFreeze(config!.autoFreeze)\n\t\tif (typeof config?.useStrictShallowCopy === \"boolean\")\n\t\t\tthis.setUseStrictShallowCopy(config!.useStrictShallowCopy)\n\t}\n\n\t/**\n\t * The `produce` function takes a value and a \"recipe function\" (whose\n\t * return value often depends on the base state). The recipe function is\n\t * free to mutate its first argument however it wants. All mutations are\n\t * only ever applied to a __copy__ of the base state.\n\t *\n\t * Pass only a function to create a \"curried producer\" which relieves you\n\t * from passing the recipe function every time.\n\t *\n\t * Only plain objects and arrays are made mutable. All other objects are\n\t * considered uncopyable.\n\t *\n\t * Note: This function is __bound__ to its `Immer` instance.\n\t *\n\t * @param {any} base - the initial state\n\t * @param {Function} recipe - function that receives a proxy of the base state as first argument and which can be freely modified\n\t * @param {Function} patchListener - optional function that will be called with all the patches produced here\n\t * @returns {any} a new state, or the initial state if nothing was modified\n\t */\n\tproduce: IProduce = (base: any, recipe?: any, patchListener?: any) => {\n\t\t// curried invocation\n\t\tif (typeof base === \"function\" && typeof recipe !== \"function\") {\n\t\t\tconst defaultBase = recipe\n\t\t\trecipe = base\n\n\t\t\tconst self = this\n\t\t\treturn function curriedProduce(\n\t\t\t\tthis: any,\n\t\t\t\tbase = defaultBase,\n\t\t\t\t...args: any[]\n\t\t\t) {\n\t\t\t\treturn self.produce(base, (draft: Drafted) => recipe.call(this, draft, ...args)) // prettier-ignore\n\t\t\t}\n\t\t}\n\n\t\tif (typeof recipe !== \"function\") die(6)\n\t\tif (patchListener !== undefined && typeof patchListener !== \"function\")\n\t\t\tdie(7)\n\n\t\tlet result\n\n\t\t// Only plain objects, arrays, and \"immerable classes\" are drafted.\n\t\tif (isDraftable(base)) {\n\t\t\tconst scope = enterScope(this)\n\t\t\tconst proxy = createProxy(base, undefined)\n\t\t\tlet hasError = true\n\t\t\ttry {\n\t\t\t\tresult = recipe(proxy)\n\t\t\t\thasError = false\n\t\t\t} finally {\n\t\t\t\t// finally instead of catch + rethrow better preserves original stack\n\t\t\t\tif (hasError) revokeScope(scope)\n\t\t\t\telse leaveScope(scope)\n\t\t\t}\n\t\t\tusePatchesInScope(scope, patchListener)\n\t\t\treturn processResult(result, scope)\n\t\t} else if (!base || typeof base !== \"object\") {\n\t\t\tresult = recipe(base)\n\t\t\tif (result === undefined) result = base\n\t\t\tif (result === NOTHING) result = undefined\n\t\t\tif (this.autoFreeze_) freeze(result, true)\n\t\t\tif (patchListener) {\n\t\t\t\tconst p: Patch[] = []\n\t\t\t\tconst ip: Patch[] = []\n\t\t\t\tgetPlugin(\"Patches\").generateReplacementPatches_(base, result, p, ip)\n\t\t\t\tpatchListener(p, ip)\n\t\t\t}\n\t\t\treturn result\n\t\t} else die(1, base)\n\t}\n\n\tproduceWithPatches: IProduceWithPatches = (base: any, recipe?: any): any => {\n\t\t// curried invocation\n\t\tif (typeof base === \"function\") {\n\t\t\treturn (state: any, ...args: any[]) =>\n\t\t\t\tthis.produceWithPatches(state, (draft: any) => base(draft, ...args))\n\t\t}\n\n\t\tlet patches: Patch[], inversePatches: Patch[]\n\t\tconst result = this.produce(base, recipe, (p: Patch[], ip: Patch[]) => {\n\t\t\tpatches = p\n\t\t\tinversePatches = ip\n\t\t})\n\t\treturn [result, patches!, inversePatches!]\n\t}\n\n\tcreateDraft(base: T): Draft {\n\t\tif (!isDraftable(base)) die(8)\n\t\tif (isDraft(base)) base = current(base)\n\t\tconst scope = enterScope(this)\n\t\tconst proxy = createProxy(base, undefined)\n\t\tproxy[DRAFT_STATE].isManual_ = true\n\t\tleaveScope(scope)\n\t\treturn proxy as any\n\t}\n\n\tfinishDraft>(\n\t\tdraft: D,\n\t\tpatchListener?: PatchListener\n\t): D extends Draft ? T : never {\n\t\tconst state: ImmerState = draft && (draft as any)[DRAFT_STATE]\n\t\tif (!state || !state.isManual_) die(9)\n\t\tconst {scope_: scope} = state\n\t\tusePatchesInScope(scope, patchListener)\n\t\treturn processResult(undefined, scope)\n\t}\n\n\t/**\n\t * Pass true to automatically freeze all copies created by Immer.\n\t *\n\t * By default, auto-freezing is enabled.\n\t */\n\tsetAutoFreeze(value: boolean) {\n\t\tthis.autoFreeze_ = value\n\t}\n\n\t/**\n\t * Pass true to enable strict shallow copy.\n\t *\n\t * By default, immer does not copy the object descriptors such as getter, setter and non-enumrable properties.\n\t */\n\tsetUseStrictShallowCopy(value: boolean) {\n\t\tthis.useStrictShallowCopy_ = value\n\t}\n\n\tapplyPatches(base: T, patches: Patch[]): T {\n\t\t// If a patch replaces the entire state, take that replacement as base\n\t\t// before applying patches\n\t\tlet i: number\n\t\tfor (i = patches.length - 1; i >= 0; i--) {\n\t\t\tconst patch = patches[i]\n\t\t\tif (patch.path.length === 0 && patch.op === \"replace\") {\n\t\t\t\tbase = patch.value\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\t// If there was a patch that replaced the entire state, start from the\n\t\t// patch after that.\n\t\tif (i > -1) {\n\t\t\tpatches = patches.slice(i + 1)\n\t\t}\n\n\t\tconst applyPatchesImpl = getPlugin(\"Patches\").applyPatches_\n\t\tif (isDraft(base)) {\n\t\t\t// N.B: never hits if some patch a replacement, patches are never drafts\n\t\t\treturn applyPatchesImpl(base, patches)\n\t\t}\n\t\t// Otherwise, produce a copy of the base state.\n\t\treturn this.produce(base, (draft: Drafted) =>\n\t\t\tapplyPatchesImpl(draft, patches)\n\t\t)\n\t}\n}\n\nexport function createProxy(\n\tvalue: T,\n\tparent?: ImmerState\n): Drafted {\n\t// precondition: createProxy should be guarded by isDraftable, so we know we can safely draft\n\tconst draft: Drafted = isMap(value)\n\t\t? getPlugin(\"MapSet\").proxyMap_(value, parent)\n\t\t: isSet(value)\n\t\t? getPlugin(\"MapSet\").proxySet_(value, parent)\n\t\t: createProxyProxy(value, parent)\n\n\tconst scope = parent ? parent.scope_ : getCurrentScope()\n\tscope.drafts_.push(draft)\n\treturn draft\n}\n","import {\n\tdie,\n\tisDraft,\n\tshallowCopy,\n\teach,\n\tDRAFT_STATE,\n\tset,\n\tImmerState,\n\tisDraftable,\n\tisFrozen\n} from \"../internal\"\n\n/** Takes a snapshot of the current state of a draft and finalizes it (but without freezing). This is a great utility to print the current state during debugging (no Proxies in the way). The output of current can also be safely leaked outside the producer. */\nexport function current(value: T): T\nexport function current(value: any): any {\n\tif (!isDraft(value)) die(10, value)\n\treturn currentImpl(value)\n}\n\nfunction currentImpl(value: any): any {\n\tif (!isDraftable(value) || isFrozen(value)) return value\n\tconst state: ImmerState | undefined = value[DRAFT_STATE]\n\tlet copy: any\n\tif (state) {\n\t\tif (!state.modified_) return state.base_\n\t\t// Optimization: avoid generating new drafts during copying\n\t\tstate.finalized_ = true\n\t\tcopy = shallowCopy(value, state.scope_.immer_.useStrictShallowCopy_)\n\t} else {\n\t\tcopy = shallowCopy(value, true)\n\t}\n\t// recurse\n\teach(copy, (key, childValue) => {\n\t\tset(copy, key, currentImpl(childValue))\n\t})\n\tif (state) {\n\t\tstate.finalized_ = false\n\t}\n\treturn copy\n}\n","import {\n\tIProduce,\n\tIProduceWithPatches,\n\tImmer,\n\tDraft,\n\tImmutable\n} from \"./internal\"\n\nexport {\n\tDraft,\n\tImmutable,\n\tPatch,\n\tPatchListener,\n\toriginal,\n\tcurrent,\n\tisDraft,\n\tisDraftable,\n\tNOTHING as nothing,\n\tDRAFTABLE as immerable,\n\tfreeze,\n\tObjectish\n} from \"./internal\"\n\nconst immer = new Immer()\n\n/**\n * The `produce` function takes a value and a \"recipe function\" (whose\n * return value often depends on the base state). The recipe function is\n * free to mutate its first argument however it wants. All mutations are\n * only ever applied to a __copy__ of the base state.\n *\n * Pass only a function to create a \"curried producer\" which relieves you\n * from passing the recipe function every time.\n *\n * Only plain objects and arrays are made mutable. All other objects are\n * considered uncopyable.\n *\n * Note: This function is __bound__ to its `Immer` instance.\n *\n * @param {any} base - the initial state\n * @param {Function} producer - function that receives a proxy of the base state as first argument and which can be freely modified\n * @param {Function} patchListener - optional function that will be called with all the patches produced here\n * @returns {any} a new state, or the initial state if nothing was modified\n */\nexport const produce: IProduce = immer.produce\n\n/**\n * Like `produce`, but `produceWithPatches` always returns a tuple\n * [nextState, patches, inversePatches] (instead of just the next state)\n */\nexport const produceWithPatches: IProduceWithPatches = immer.produceWithPatches.bind(\n\timmer\n)\n\n/**\n * Pass true to automatically freeze all copies created by Immer.\n *\n * Always freeze by default, even in production mode\n */\nexport const setAutoFreeze = immer.setAutoFreeze.bind(immer)\n\n/**\n * Pass true to enable strict shallow copy.\n *\n * By default, immer does not copy the object descriptors such as getter, setter and non-enumrable properties.\n */\nexport const setUseStrictShallowCopy = immer.setUseStrictShallowCopy.bind(immer)\n\n/**\n * Apply an array of Immer patches to the first argument.\n *\n * This function is a producer, which means copy-on-write is in effect.\n */\nexport const applyPatches = immer.applyPatches.bind(immer)\n\n/**\n * Create an Immer draft from the given base state, which may be a draft itself.\n * The draft can be modified until you finalize it with the `finishDraft` function.\n */\nexport const createDraft = immer.createDraft.bind(immer)\n\n/**\n * Finalize an Immer draft from a `createDraft` call, returning the base state\n * (if no changes were made) or a modified copy. The draft must *not* be\n * mutated afterwards.\n *\n * Pass a function as the 2nd argument to generate Immer patches based on the\n * changes that were made.\n */\nexport const finishDraft = immer.finishDraft.bind(immer)\n\n/**\n * This function is actually a no-op, but can be used to cast an immutable type\n * to an draft type and make TypeScript happy\n *\n * @param value\n */\nexport function castDraft(value: T): Draft {\n\treturn value as any\n}\n\n/**\n * This function is actually a no-op, but can be used to cast a mutable type\n * to an immutable type and make TypeScript happy\n * @param value\n */\nexport function castImmutable(value: T): Immutable {\n\treturn value as any\n}\n\nexport {Immer}\n\nexport {enablePatches} from \"./plugins/patches\"\nexport {enableMapSet} from \"./plugins/mapset\"\n","import { runIdentityFunctionCheck } from './devModeChecks/identityFunctionCheck'\nimport { runInputStabilityCheck } from './devModeChecks/inputStabilityCheck'\nimport { globalDevModeChecks } from './devModeChecks/setGlobalDevModeChecks'\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\nimport type {\n DevModeChecks,\n Selector,\n SelectorArray,\n DevModeChecksExecutionInfo\n} from './types'\n\nexport const NOT_FOUND = 'NOT_FOUND'\nexport type NOT_FOUND_TYPE = typeof NOT_FOUND\n\n/**\n * Assert that the provided value is a function. If the assertion fails,\n * a `TypeError` is thrown with an optional custom error message.\n *\n * @param func - The value to be checked.\n * @param errorMessage - An optional custom error message to use if the assertion fails.\n * @throws A `TypeError` if the assertion fails.\n */\nexport function assertIsFunction(\n func: unknown,\n errorMessage = `expected a function, instead received ${typeof func}`\n): asserts func is FunctionType {\n if (typeof func !== 'function') {\n throw new TypeError(errorMessage)\n }\n}\n\n/**\n * Assert that the provided value is an object. If the assertion fails,\n * a `TypeError` is thrown with an optional custom error message.\n *\n * @param object - The value to be checked.\n * @param errorMessage - An optional custom error message to use if the assertion fails.\n * @throws A `TypeError` if the assertion fails.\n */\nexport function assertIsObject>(\n object: unknown,\n errorMessage = `expected an object, instead received ${typeof object}`\n): asserts object is ObjectType {\n if (typeof object !== 'object') {\n throw new TypeError(errorMessage)\n }\n}\n\n/**\n * Assert that the provided array is an array of functions. If the assertion fails,\n * a `TypeError` is thrown with an optional custom error message.\n *\n * @param array - The array to be checked.\n * @param errorMessage - An optional custom error message to use if the assertion fails.\n * @throws A `TypeError` if the assertion fails.\n */\nexport function assertIsArrayOfFunctions(\n array: unknown[],\n errorMessage = `expected all items to be functions, instead received the following types: `\n): asserts array is FunctionType[] {\n if (\n !array.every((item): item is FunctionType => typeof item === 'function')\n ) {\n const itemTypes = array\n .map(item =>\n typeof item === 'function'\n ? `function ${item.name || 'unnamed'}()`\n : typeof item\n )\n .join(', ')\n throw new TypeError(`${errorMessage}[${itemTypes}]`)\n }\n}\n\n/**\n * Ensure that the input is an array. If it's already an array, it's returned as is.\n * If it's not an array, it will be wrapped in a new array.\n *\n * @param item - The item to be checked.\n * @returns An array containing the input item. If the input is already an array, it's returned without modification.\n */\nexport const ensureIsArray = (item: unknown) => {\n return Array.isArray(item) ? item : [item]\n}\n\n/**\n * Extracts the \"dependencies\" / \"input selectors\" from the arguments of `createSelector`.\n *\n * @param createSelectorArgs - Arguments passed to `createSelector` as an array.\n * @returns An array of \"input selectors\" / \"dependencies\".\n * @throws A `TypeError` if any of the input selectors is not function.\n */\nexport function getDependencies(createSelectorArgs: unknown[]) {\n const dependencies = Array.isArray(createSelectorArgs[0])\n ? createSelectorArgs[0]\n : createSelectorArgs\n\n assertIsArrayOfFunctions(\n dependencies,\n `createSelector expects all input-selectors to be functions, but received the following types: `\n )\n\n return dependencies as SelectorArray\n}\n\n/**\n * Runs each input selector and returns their collective results as an array.\n *\n * @param dependencies - An array of \"dependencies\" or \"input selectors\".\n * @param inputSelectorArgs - An array of arguments being passed to the input selectors.\n * @returns An array of input selector results.\n */\nexport function collectInputSelectorResults(\n dependencies: SelectorArray,\n inputSelectorArgs: unknown[] | IArguments\n) {\n const inputSelectorResults = []\n const { length } = dependencies\n for (let i = 0; i < length; i++) {\n // @ts-ignore\n // apply arguments instead of spreading and mutate a local list of params for performance.\n inputSelectorResults.push(dependencies[i].apply(null, inputSelectorArgs))\n }\n return inputSelectorResults\n}\n\n/**\n * Retrieves execution information for development mode checks.\n *\n * @param devModeChecks - Custom Settings for development mode checks. These settings will override the global defaults.\n * @param firstRun - Indicates whether it is the first time the selector has run.\n * @returns An object containing the execution information for each development mode check.\n */\nexport const getDevModeChecksExecutionInfo = (\n firstRun: boolean,\n devModeChecks: Partial\n) => {\n const { identityFunctionCheck, inputStabilityCheck } = {\n ...globalDevModeChecks,\n ...devModeChecks\n }\n return {\n identityFunctionCheck: {\n shouldRun:\n identityFunctionCheck === 'always' ||\n (identityFunctionCheck === 'once' && firstRun),\n run: runIdentityFunctionCheck\n },\n inputStabilityCheck: {\n shouldRun:\n inputStabilityCheck === 'always' ||\n (inputStabilityCheck === 'once' && firstRun),\n run: runInputStabilityCheck\n }\n } satisfies DevModeChecksExecutionInfo\n}\n","// Original source:\n// - https://github.com/simonihmig/tracked-redux/blob/master/packages/tracked-redux/src/-private/proxy.ts\n\nimport type { Node, Tag } from './tracking'\nimport {\n consumeCollection,\n consumeTag,\n createTag,\n dirtyCollection,\n dirtyTag\n} from './tracking'\n\nexport const REDUX_PROXY_LABEL = Symbol()\n\nlet nextId = 0\n\nconst proto = Object.getPrototypeOf({})\n\nclass ObjectTreeNode> implements Node {\n proxy: T = new Proxy(this, objectProxyHandler) as unknown as T\n tag = createTag()\n tags = {} as Record\n children = {} as Record\n collectionTag = null\n id = nextId++\n\n constructor(public value: T) {\n this.value = value\n this.tag.value = value\n }\n}\n\nconst objectProxyHandler = {\n get(node: Node, key: string | symbol): unknown {\n function calculateResult() {\n const { value } = node\n\n const childValue = Reflect.get(value, key)\n\n if (typeof key === 'symbol') {\n return childValue\n }\n\n if (key in proto) {\n return childValue\n }\n\n if (typeof childValue === 'object' && childValue !== null) {\n let childNode = node.children[key]\n\n if (childNode === undefined) {\n childNode = node.children[key] = createNode(childValue)\n }\n\n if (childNode.tag) {\n consumeTag(childNode.tag)\n }\n\n return childNode.proxy\n } else {\n let tag = node.tags[key]\n\n if (tag === undefined) {\n tag = node.tags[key] = createTag()\n tag.value = childValue\n }\n\n consumeTag(tag)\n\n return childValue\n }\n }\n const res = calculateResult()\n return res\n },\n\n ownKeys(node: Node): ArrayLike {\n consumeCollection(node)\n return Reflect.ownKeys(node.value)\n },\n\n getOwnPropertyDescriptor(\n node: Node,\n prop: string | symbol\n ): PropertyDescriptor | undefined {\n return Reflect.getOwnPropertyDescriptor(node.value, prop)\n },\n\n has(node: Node, prop: string | symbol): boolean {\n return Reflect.has(node.value, prop)\n }\n}\n\nclass ArrayTreeNode> implements Node {\n proxy: T = new Proxy([this], arrayProxyHandler) as unknown as T\n tag = createTag()\n tags = {}\n children = {}\n collectionTag = null\n id = nextId++\n\n constructor(public value: T) {\n this.value = value\n this.tag.value = value\n }\n}\n\nconst arrayProxyHandler = {\n get([node]: [Node], key: string | symbol): unknown {\n if (key === 'length') {\n consumeCollection(node)\n }\n\n return objectProxyHandler.get(node, key)\n },\n\n ownKeys([node]: [Node]): ArrayLike {\n return objectProxyHandler.ownKeys(node)\n },\n\n getOwnPropertyDescriptor(\n [node]: [Node],\n prop: string | symbol\n ): PropertyDescriptor | undefined {\n return objectProxyHandler.getOwnPropertyDescriptor(node, prop)\n },\n\n has([node]: [Node], prop: string | symbol): boolean {\n return objectProxyHandler.has(node, prop)\n }\n}\n\nexport function createNode | Record>(\n value: T\n): Node {\n if (Array.isArray(value)) {\n return new ArrayTreeNode(value)\n }\n\n return new ObjectTreeNode(value) as Node\n}\n\nconst keysMap = new WeakMap<\n Array | Record,\n Set\n>()\n\nexport function updateNode | Record>(\n node: Node,\n newValue: T\n): void {\n const { value, tags, children } = node\n\n node.value = newValue\n\n if (\n Array.isArray(value) &&\n Array.isArray(newValue) &&\n value.length !== newValue.length\n ) {\n dirtyCollection(node)\n } else {\n if (value !== newValue) {\n let oldKeysSize = 0\n let newKeysSize = 0\n let anyKeysAdded = false\n\n for (const _key in value) {\n oldKeysSize++\n }\n\n for (const key in newValue) {\n newKeysSize++\n if (!(key in value)) {\n anyKeysAdded = true\n break\n }\n }\n\n const isDifferent = anyKeysAdded || oldKeysSize !== newKeysSize\n\n if (isDifferent) {\n dirtyCollection(node)\n }\n }\n }\n\n for (const key in tags) {\n const childValue = (value as Record)[key]\n const newChildValue = (newValue as Record)[key]\n\n if (childValue !== newChildValue) {\n dirtyCollection(node)\n dirtyTag(tags[key], newChildValue)\n }\n\n if (typeof newChildValue === 'object' && newChildValue !== null) {\n delete tags[key]\n }\n }\n\n for (const key in children) {\n const childNode = children[key]\n const newChildValue = (newValue as Record)[key]\n\n const childValue = childNode.value\n\n if (childValue === newChildValue) {\n continue\n } else if (typeof newChildValue === 'object' && newChildValue !== null) {\n updateNode(childNode, newChildValue as Record)\n } else {\n deleteNode(childNode)\n delete children[key]\n }\n }\n}\n\nfunction deleteNode(node: Node): void {\n if (node.tag) {\n dirtyTag(node.tag, null)\n }\n dirtyCollection(node)\n for (const key in node.tags) {\n dirtyTag(node.tags[key], null)\n }\n for (const key in node.children) {\n deleteNode(node.children[key])\n }\n}\n","// Original source:\n// - https://github.com/facebook/react/blob/0b974418c9a56f6c560298560265dcf4b65784bc/packages/react/src/ReactCache.js\n\nimport type {\n AnyFunction,\n DefaultMemoizeFields,\n EqualityFn,\n Simplify\n} from './types'\n\nclass StrongRef {\n constructor(private value: T) {}\n deref() {\n return this.value\n }\n}\n\nconst Ref =\n typeof WeakRef !== 'undefined'\n ? WeakRef\n : (StrongRef as unknown as typeof WeakRef)\n\nconst UNTERMINATED = 0\nconst TERMINATED = 1\n\ninterface UnterminatedCacheNode {\n /**\n * Status, represents whether the cached computation returned a value or threw an error.\n */\n s: 0\n /**\n * Value, either the cached result or an error, depending on status.\n */\n v: void\n /**\n * Object cache, a `WeakMap` where non-primitive arguments are stored.\n */\n o: null | WeakMap>\n /**\n * Primitive cache, a regular Map where primitive arguments are stored.\n */\n p: null | Map>\n}\n\ninterface TerminatedCacheNode {\n /**\n * Status, represents whether the cached computation returned a value or threw an error.\n */\n s: 1\n /**\n * Value, either the cached result or an error, depending on status.\n */\n v: T\n /**\n * Object cache, a `WeakMap` where non-primitive arguments are stored.\n */\n o: null | WeakMap>\n /**\n * Primitive cache, a regular `Map` where primitive arguments are stored.\n */\n p: null | Map>\n}\n\ntype CacheNode = TerminatedCacheNode | UnterminatedCacheNode\n\nfunction createCacheNode(): CacheNode {\n return {\n s: UNTERMINATED,\n v: undefined,\n o: null,\n p: null\n }\n}\n\n/**\n * Configuration options for a memoization function utilizing `WeakMap` for\n * its caching mechanism.\n *\n * @template Result - The type of the return value of the memoized function.\n *\n * @since 5.0.0\n * @public\n */\nexport interface WeakMapMemoizeOptions {\n /**\n * If provided, used to compare a newly generated output value against previous values in the cache.\n * If a match is found, the old value is returned. This addresses the common\n * ```ts\n * todos.map(todo => todo.id)\n * ```\n * use case, where an update to another field in the original data causes a recalculation\n * due to changed references, but the output is still effectively the same.\n *\n * @since 5.0.0\n */\n resultEqualityCheck?: EqualityFn\n}\n\n/**\n * Creates a tree of `WeakMap`-based cache nodes based on the identity of the\n * arguments it's been called with (in this case, the extracted values from your input selectors).\n * This allows `weakMapMemoize` to have an effectively infinite cache size.\n * Cache results will be kept in memory as long as references to the arguments still exist,\n * and then cleared out as the arguments are garbage-collected.\n *\n * __Design Tradeoffs for `weakMapMemoize`:__\n * - Pros:\n * - It has an effectively infinite cache size, but you have no control over\n * how long values are kept in cache as it's based on garbage collection and `WeakMap`s.\n * - Cons:\n * - There's currently no way to alter the argument comparisons.\n * They're based on strict reference equality.\n * - It's roughly the same speed as `lruMemoize`, although likely a fraction slower.\n *\n * __Use Cases for `weakMapMemoize`:__\n * - This memoizer is likely best used for cases where you need to call the\n * same selector instance with many different arguments, such as a single\n * selector instance that is used in a list item component and called with\n * item IDs like:\n * ```ts\n * useSelector(state => selectSomeData(state, props.category))\n * ```\n * @param func - The function to be memoized.\n * @returns A memoized function with a `.clearCache()` method attached.\n *\n * @example\n * Using `createSelector`\n * ```ts\n * import { createSelector, weakMapMemoize } from 'reselect'\n *\n * interface RootState {\n * items: { id: number; category: string; name: string }[]\n * }\n *\n * const selectItemsByCategory = createSelector(\n * [\n * (state: RootState) => state.items,\n * (state: RootState, category: string) => category\n * ],\n * (items, category) => items.filter(item => item.category === category),\n * {\n * memoize: weakMapMemoize,\n * argsMemoize: weakMapMemoize\n * }\n * )\n * ```\n *\n * @example\n * Using `createSelectorCreator`\n * ```ts\n * import { createSelectorCreator, weakMapMemoize } from 'reselect'\n *\n * const createSelectorWeakMap = createSelectorCreator({ memoize: weakMapMemoize, argsMemoize: weakMapMemoize })\n *\n * const selectItemsByCategory = createSelectorWeakMap(\n * [\n * (state: RootState) => state.items,\n * (state: RootState, category: string) => category\n * ],\n * (items, category) => items.filter(item => item.category === category)\n * )\n * ```\n *\n * @template Func - The type of the function that is memoized.\n *\n * @see {@link https://reselect.js.org/api/weakMapMemoize `weakMapMemoize`}\n *\n * @since 5.0.0\n * @public\n * @experimental\n */\nexport function weakMapMemoize(\n func: Func,\n options: WeakMapMemoizeOptions> = {}\n) {\n let fnNode = createCacheNode()\n const { resultEqualityCheck } = options\n\n let lastResult: WeakRef | undefined\n\n let resultsCount = 0\n\n function memoized() {\n let cacheNode = fnNode\n const { length } = arguments\n for (let i = 0, l = length; i < l; i++) {\n const arg = arguments[i]\n if (\n typeof arg === 'function' ||\n (typeof arg === 'object' && arg !== null)\n ) {\n // Objects go into a WeakMap\n let objectCache = cacheNode.o\n if (objectCache === null) {\n cacheNode.o = objectCache = new WeakMap()\n }\n const objectNode = objectCache.get(arg)\n if (objectNode === undefined) {\n cacheNode = createCacheNode()\n objectCache.set(arg, cacheNode)\n } else {\n cacheNode = objectNode\n }\n } else {\n // Primitives go into a regular Map\n let primitiveCache = cacheNode.p\n if (primitiveCache === null) {\n cacheNode.p = primitiveCache = new Map()\n }\n const primitiveNode = primitiveCache.get(arg)\n if (primitiveNode === undefined) {\n cacheNode = createCacheNode()\n primitiveCache.set(arg, cacheNode)\n } else {\n cacheNode = primitiveNode\n }\n }\n }\n\n const terminatedNode = cacheNode as unknown as TerminatedCacheNode\n\n let result\n\n if (cacheNode.s === TERMINATED) {\n result = cacheNode.v\n } else {\n // Allow errors to propagate\n result = func.apply(null, arguments as unknown as any[])\n resultsCount++\n }\n\n terminatedNode.s = TERMINATED\n\n if (resultEqualityCheck) {\n const lastResultValue = lastResult?.deref?.() ?? lastResult\n if (\n lastResultValue != null &&\n resultEqualityCheck(lastResultValue as ReturnType, result)\n ) {\n result = lastResultValue\n resultsCount !== 0 && resultsCount--\n }\n\n const needsWeakRef =\n (typeof result === 'object' && result !== null) ||\n typeof result === 'function'\n lastResult = needsWeakRef ? new Ref(result) : result\n }\n terminatedNode.v = result\n return result\n }\n\n memoized.clearCache = () => {\n fnNode = createCacheNode()\n memoized.resetResultsCount()\n }\n\n memoized.resultsCount = () => resultsCount\n\n memoized.resetResultsCount = () => {\n resultsCount = 0\n }\n\n return memoized as Func & Simplify\n}\n","import { weakMapMemoize } from './weakMapMemoize'\n\nimport type {\n Combiner,\n CreateSelectorOptions,\n DropFirstParameter,\n ExtractMemoizerFields,\n GetParamsFromSelectors,\n GetStateFromSelectors,\n InterruptRecursion,\n OutputSelector,\n Selector,\n SelectorArray,\n SetRequired,\n Simplify,\n UnknownMemoizer\n} from './types'\n\nimport {\n assertIsFunction,\n collectInputSelectorResults,\n ensureIsArray,\n getDependencies,\n getDevModeChecksExecutionInfo\n} from './utils'\n\n/**\n * An instance of `createSelector`, customized with a given memoize implementation.\n *\n * @template MemoizeFunction - The type of the memoize function that is used to memoize the `resultFunc` inside `createSelector` (e.g., `lruMemoize` or `weakMapMemoize`).\n * @template ArgsMemoizeFunction - The type of the optional memoize function that is used to memoize the arguments passed into the output selector generated by `createSelector` (e.g., `lruMemoize` or `weakMapMemoize`). If none is explicitly provided, `weakMapMemoize` will be used.\n * @template StateType - The type of state that the selectors created with this selector creator will operate on.\n *\n * @public\n */\nexport interface CreateSelectorFunction<\n MemoizeFunction extends UnknownMemoizer = typeof weakMapMemoize,\n ArgsMemoizeFunction extends UnknownMemoizer = typeof weakMapMemoize,\n StateType = any\n> {\n /**\n * Creates a memoized selector function.\n *\n * @param createSelectorArgs - An arbitrary number of input selectors as separate inline arguments and a `combiner` function.\n * @returns A memoized output selector.\n *\n * @template InputSelectors - The type of the input selectors as an array.\n * @template Result - The return type of the `combiner` as well as the output selector.\n * @template OverrideMemoizeFunction - The type of the optional `memoize` function that could be passed into the options object to override the original `memoize` function that was initially passed into `createSelectorCreator`.\n * @template OverrideArgsMemoizeFunction - The type of the optional `argsMemoize` function that could be passed into the options object to override the original `argsMemoize` function that was initially passed into `createSelectorCreator`.\n *\n * @see {@link https://reselect.js.org/api/createselector `createSelector`}\n */\n , Result>(\n ...createSelectorArgs: [\n ...inputSelectors: InputSelectors,\n combiner: Combiner\n ]\n ): OutputSelector<\n InputSelectors,\n Result,\n MemoizeFunction,\n ArgsMemoizeFunction\n > &\n InterruptRecursion\n\n /**\n * Creates a memoized selector function.\n *\n * @param createSelectorArgs - An arbitrary number of input selectors as separate inline arguments, a `combiner` function and an `options` object.\n * @returns A memoized output selector.\n *\n * @template InputSelectors - The type of the input selectors as an array.\n * @template Result - The return type of the `combiner` as well as the output selector.\n * @template OverrideMemoizeFunction - The type of the optional `memoize` function that could be passed into the options object to override the original `memoize` function that was initially passed into `createSelectorCreator`.\n * @template OverrideArgsMemoizeFunction - The type of the optional `argsMemoize` function that could be passed into the options object to override the original `argsMemoize` function that was initially passed into `createSelectorCreator`.\n *\n * @see {@link https://reselect.js.org/api/createselector `createSelector`}\n */\n <\n InputSelectors extends SelectorArray,\n Result,\n OverrideMemoizeFunction extends UnknownMemoizer = MemoizeFunction,\n OverrideArgsMemoizeFunction extends UnknownMemoizer = ArgsMemoizeFunction\n >(\n ...createSelectorArgs: [\n ...inputSelectors: InputSelectors,\n combiner: Combiner,\n createSelectorOptions: Simplify<\n CreateSelectorOptions<\n MemoizeFunction,\n ArgsMemoizeFunction,\n OverrideMemoizeFunction,\n OverrideArgsMemoizeFunction\n >\n >\n ]\n ): OutputSelector<\n InputSelectors,\n Result,\n OverrideMemoizeFunction,\n OverrideArgsMemoizeFunction\n > &\n InterruptRecursion\n\n /**\n * Creates a memoized selector function.\n *\n * @param inputSelectors - An array of input selectors.\n * @param combiner - A function that Combines the input selectors and returns an output selector. Otherwise known as the result function.\n * @param createSelectorOptions - An optional options object that allows for further customization per selector.\n * @returns A memoized output selector.\n *\n * @template InputSelectors - The type of the input selectors array.\n * @template Result - The return type of the `combiner` as well as the output selector.\n * @template OverrideMemoizeFunction - The type of the optional `memoize` function that could be passed into the options object to override the original `memoize` function that was initially passed into `createSelectorCreator`.\n * @template OverrideArgsMemoizeFunction - The type of the optional `argsMemoize` function that could be passed into the options object to override the original `argsMemoize` function that was initially passed into `createSelectorCreator`.\n *\n * @see {@link https://reselect.js.org/api/createselector `createSelector`}\n */\n <\n InputSelectors extends SelectorArray,\n Result,\n OverrideMemoizeFunction extends UnknownMemoizer = MemoizeFunction,\n OverrideArgsMemoizeFunction extends UnknownMemoizer = ArgsMemoizeFunction\n >(\n inputSelectors: [...InputSelectors],\n combiner: Combiner,\n createSelectorOptions?: Simplify<\n CreateSelectorOptions<\n MemoizeFunction,\n ArgsMemoizeFunction,\n OverrideMemoizeFunction,\n OverrideArgsMemoizeFunction\n >\n >\n ): OutputSelector<\n InputSelectors,\n Result,\n OverrideMemoizeFunction,\n OverrideArgsMemoizeFunction\n > &\n InterruptRecursion\n\n /**\n * Creates a \"pre-typed\" version of {@linkcode createSelector createSelector}\n * where the `state` type is predefined.\n *\n * This allows you to set the `state` type once, eliminating the need to\n * specify it with every {@linkcode createSelector createSelector} call.\n *\n * @returns A pre-typed `createSelector` with the state type already defined.\n *\n * @example\n * ```ts\n * import { createSelector } from 'reselect'\n *\n * export interface RootState {\n * todos: { id: number; completed: boolean }[]\n * alerts: { id: number; read: boolean }[]\n * }\n *\n * export const createAppSelector = createSelector.withTypes()\n *\n * const selectTodoIds = createAppSelector(\n * [\n * // Type of `state` is set to `RootState`, no need to manually set the type\n * state => state.todos\n * ],\n * todos => todos.map(({ id }) => id)\n * )\n * ```\n * @template OverrideStateType - The specific type of state used by all selectors created with this selector creator.\n *\n * @see {@link https://reselect.js.org/api/createselector#defining-a-pre-typed-createselector `createSelector.withTypes`}\n *\n * @since 5.1.0\n */\n withTypes: () => CreateSelectorFunction<\n MemoizeFunction,\n ArgsMemoizeFunction,\n OverrideStateType\n >\n}\n\n/**\n * Creates a selector creator function with the specified memoization function\n * and options for customizing memoization behavior.\n *\n * @param options - An options object containing the `memoize` function responsible for memoizing the `resultFunc` inside `createSelector` (e.g., `lruMemoize` or `weakMapMemoize`). It also provides additional options for customizing memoization. While the `memoize` property is mandatory, the rest are optional.\n * @returns A customized `createSelector` function.\n *\n * @example\n * ```ts\n * const customCreateSelector = createSelectorCreator({\n * memoize: customMemoize, // Function to be used to memoize `resultFunc`\n * memoizeOptions: [memoizeOption1, memoizeOption2], // Options passed to `customMemoize` as the second argument onwards\n * argsMemoize: customArgsMemoize, // Function to be used to memoize the selector's arguments\n * argsMemoizeOptions: [argsMemoizeOption1, argsMemoizeOption2] // Options passed to `customArgsMemoize` as the second argument onwards\n * })\n *\n * const customSelector = customCreateSelector(\n * [inputSelector1, inputSelector2],\n * resultFunc // `resultFunc` will be passed as the first argument to `customMemoize`\n * )\n *\n * customSelector(\n * ...selectorArgs // Will be memoized by `customArgsMemoize`\n * )\n * ```\n *\n * @template MemoizeFunction - The type of the memoize function that is used to memoize the `resultFunc` inside `createSelector` (e.g., `lruMemoize` or `weakMapMemoize`).\n * @template ArgsMemoizeFunction - The type of the optional memoize function that is used to memoize the arguments passed into the output selector generated by `createSelector` (e.g., `lruMemoize` or `weakMapMemoize`). If none is explicitly provided, `weakMapMemoize` will be used.\n *\n * @see {@link https://reselect.js.org/api/createSelectorCreator#using-options-since-500 `createSelectorCreator`}\n *\n * @since 5.0.0\n * @public\n */\nexport function createSelectorCreator<\n MemoizeFunction extends UnknownMemoizer,\n ArgsMemoizeFunction extends UnknownMemoizer = typeof weakMapMemoize\n>(\n options: Simplify<\n SetRequired<\n CreateSelectorOptions<\n typeof weakMapMemoize,\n typeof weakMapMemoize,\n MemoizeFunction,\n ArgsMemoizeFunction\n >,\n 'memoize'\n >\n >\n): CreateSelectorFunction\n\n/**\n * Creates a selector creator function with the specified memoization function\n * and options for customizing memoization behavior.\n *\n * @param memoize - The `memoize` function responsible for memoizing the `resultFunc` inside `createSelector` (e.g., `lruMemoize` or `weakMapMemoize`).\n * @param memoizeOptionsFromArgs - Optional configuration options for the memoization function. These options are then passed to the memoize function as the second argument onwards.\n * @returns A customized `createSelector` function.\n *\n * @example\n * ```ts\n * const customCreateSelector = createSelectorCreator(customMemoize, // Function to be used to memoize `resultFunc`\n * option1, // Will be passed as second argument to `customMemoize`\n * option2, // Will be passed as third argument to `customMemoize`\n * option3 // Will be passed as fourth argument to `customMemoize`\n * )\n *\n * const customSelector = customCreateSelector(\n * [inputSelector1, inputSelector2],\n * resultFunc // `resultFunc` will be passed as the first argument to `customMemoize`\n * )\n * ```\n *\n * @template MemoizeFunction - The type of the memoize function that is used to memoize the `resultFunc` inside `createSelector` (e.g., `lruMemoize` or `weakMapMemoize`).\n *\n * @see {@link https://reselect.js.org/api/createSelectorCreator#using-memoize-and-memoizeoptions `createSelectorCreator`}\n *\n * @public\n */\nexport function createSelectorCreator(\n memoize: MemoizeFunction,\n ...memoizeOptionsFromArgs: DropFirstParameter\n): CreateSelectorFunction\n\n/**\n * Creates a selector creator function with the specified memoization\n * function and options for customizing memoization behavior.\n *\n * @param memoizeOrOptions - Either A `memoize` function or an `options` object containing the `memoize` function.\n * @param memoizeOptionsFromArgs - Optional configuration options for the memoization function. These options are then passed to the memoize function as the second argument onwards.\n * @returns A customized `createSelector` function.\n *\n * @template MemoizeFunction - The type of the memoize function that is used to memoize the `resultFunc` inside `createSelector` (e.g., `lruMemoize` or `weakMapMemoize`).\n * @template ArgsMemoizeFunction - The type of the optional memoize function that is used to memoize the arguments passed into the output selector generated by `createSelector` (e.g., `lruMemoize` or `weakMapMemoize`). If none is explicitly provided, `weakMapMemoize` will be used.\n * @template MemoizeOrOptions - The type of the first argument. It can either be a `memoize` function or an `options` object containing the `memoize` function.\n */\nexport function createSelectorCreator<\n MemoizeFunction extends UnknownMemoizer,\n ArgsMemoizeFunction extends UnknownMemoizer,\n MemoizeOrOptions extends\n | MemoizeFunction\n | SetRequired<\n CreateSelectorOptions,\n 'memoize'\n >\n>(\n memoizeOrOptions: MemoizeOrOptions,\n ...memoizeOptionsFromArgs: MemoizeOrOptions extends SetRequired<\n CreateSelectorOptions,\n 'memoize'\n >\n ? never\n : DropFirstParameter\n) {\n /** options initially passed into `createSelectorCreator`. */\n const createSelectorCreatorOptions: SetRequired<\n CreateSelectorOptions,\n 'memoize'\n > = typeof memoizeOrOptions === 'function'\n ? {\n memoize: memoizeOrOptions as MemoizeFunction,\n memoizeOptions: memoizeOptionsFromArgs\n }\n : memoizeOrOptions\n\n const createSelector = <\n InputSelectors extends SelectorArray,\n Result,\n OverrideMemoizeFunction extends UnknownMemoizer = MemoizeFunction,\n OverrideArgsMemoizeFunction extends UnknownMemoizer = ArgsMemoizeFunction\n >(\n ...createSelectorArgs: [\n ...inputSelectors: [...InputSelectors],\n combiner: Combiner,\n createSelectorOptions?: CreateSelectorOptions<\n MemoizeFunction,\n ArgsMemoizeFunction,\n OverrideMemoizeFunction,\n OverrideArgsMemoizeFunction\n >\n ]\n ) => {\n let recomputations = 0\n let dependencyRecomputations = 0\n let lastResult: Result\n\n // Due to the intricacies of rest params, we can't do an optional arg after `...createSelectorArgs`.\n // So, start by declaring the default value here.\n // (And yes, the words 'memoize' and 'options' appear too many times in this next sequence.)\n let directlyPassedOptions: CreateSelectorOptions<\n MemoizeFunction,\n ArgsMemoizeFunction,\n OverrideMemoizeFunction,\n OverrideArgsMemoizeFunction\n > = {}\n\n // Normally, the result func or \"combiner\" is the last arg\n let resultFunc = createSelectorArgs.pop() as\n | Combiner\n | CreateSelectorOptions<\n MemoizeFunction,\n ArgsMemoizeFunction,\n OverrideMemoizeFunction,\n OverrideArgsMemoizeFunction\n >\n\n // If the result func is actually an _object_, assume it's our options object\n if (typeof resultFunc === 'object') {\n directlyPassedOptions = resultFunc\n // and pop the real result func off\n resultFunc = createSelectorArgs.pop() as Combiner\n }\n\n assertIsFunction(\n resultFunc,\n `createSelector expects an output function after the inputs, but received: [${typeof resultFunc}]`\n )\n\n // Determine which set of options we're using. Prefer options passed directly,\n // but fall back to options given to `createSelectorCreator`.\n const combinedOptions = {\n ...createSelectorCreatorOptions,\n ...directlyPassedOptions\n }\n\n const {\n memoize,\n memoizeOptions = [],\n argsMemoize = weakMapMemoize,\n argsMemoizeOptions = [],\n devModeChecks = {}\n } = combinedOptions\n\n // Simplifying assumption: it's unlikely that the first options arg of the provided memoizer\n // is an array. In most libs I've looked at, it's an equality function or options object.\n // Based on that, if `memoizeOptions` _is_ an array, we assume it's a full\n // user-provided array of options. Otherwise, it must be just the _first_ arg, and so\n // we wrap it in an array so we can apply it.\n const finalMemoizeOptions = ensureIsArray(memoizeOptions)\n const finalArgsMemoizeOptions = ensureIsArray(argsMemoizeOptions)\n const dependencies = getDependencies(createSelectorArgs) as InputSelectors\n\n const memoizedResultFunc = memoize(function recomputationWrapper() {\n recomputations++\n // apply arguments instead of spreading for performance.\n // @ts-ignore\n return (resultFunc as Combiner).apply(\n null,\n arguments\n )\n }, ...finalMemoizeOptions) as Combiner &\n ExtractMemoizerFields\n\n let firstRun = true\n\n // If a selector is called with the exact same arguments we don't need to traverse our dependencies again.\n const selector = argsMemoize(function dependenciesChecker() {\n dependencyRecomputations++\n /** Return values of input selectors which the `resultFunc` takes as arguments. */\n const inputSelectorResults = collectInputSelectorResults(\n dependencies,\n arguments\n )\n\n // apply arguments instead of spreading for performance.\n // @ts-ignore\n lastResult = memoizedResultFunc.apply(null, inputSelectorResults)\n\n if (process.env.NODE_ENV !== 'production') {\n const { identityFunctionCheck, inputStabilityCheck } =\n getDevModeChecksExecutionInfo(firstRun, devModeChecks)\n if (identityFunctionCheck.shouldRun) {\n identityFunctionCheck.run(\n resultFunc as Combiner,\n inputSelectorResults,\n lastResult\n )\n }\n\n if (inputStabilityCheck.shouldRun) {\n // make a second copy of the params, to check if we got the same results\n const inputSelectorResultsCopy = collectInputSelectorResults(\n dependencies,\n arguments\n )\n\n inputStabilityCheck.run(\n { inputSelectorResults, inputSelectorResultsCopy },\n { memoize, memoizeOptions: finalMemoizeOptions },\n arguments\n )\n }\n\n if (firstRun) firstRun = false\n }\n\n return lastResult\n }, ...finalArgsMemoizeOptions) as unknown as Selector<\n GetStateFromSelectors,\n Result,\n GetParamsFromSelectors\n > &\n ExtractMemoizerFields\n\n return Object.assign(selector, {\n resultFunc,\n memoizedResultFunc,\n dependencies,\n dependencyRecomputations: () => dependencyRecomputations,\n resetDependencyRecomputations: () => {\n dependencyRecomputations = 0\n },\n lastResult: () => lastResult,\n recomputations: () => recomputations,\n resetRecomputations: () => {\n recomputations = 0\n },\n memoize,\n argsMemoize\n }) as OutputSelector<\n InputSelectors,\n Result,\n OverrideMemoizeFunction,\n OverrideArgsMemoizeFunction\n >\n }\n\n Object.assign(createSelector, {\n withTypes: () => createSelector\n })\n\n return createSelector as CreateSelectorFunction<\n MemoizeFunction,\n ArgsMemoizeFunction\n >\n}\n\n/**\n * Accepts one or more \"input selectors\" (either as separate arguments or a single array),\n * a single \"result function\" / \"combiner\", and an optional options object, and\n * generates a memoized selector function.\n *\n * @see {@link https://reselect.js.org/api/createSelector `createSelector`}\n *\n * @public\n */\nexport const createSelector =\n /* #__PURE__ */ createSelectorCreator(weakMapMemoize)\n","import { createSelector } from './createSelectorCreator'\n\nimport type { CreateSelectorFunction } from './createSelectorCreator'\nimport type {\n InterruptRecursion,\n ObjectValuesToTuple,\n OutputSelector,\n Selector,\n Simplify,\n UnknownMemoizer\n} from './types'\nimport { assertIsObject } from './utils'\nimport type { weakMapMemoize } from './weakMapMemoize'\n\n/**\n * Represents a mapping of selectors to their return types.\n *\n * @template TObject - An object type where each property is a selector function.\n *\n * @public\n */\nexport type SelectorResultsMap = {\n [Key in keyof TObject]: ReturnType\n}\n\n/**\n * Represents a mapping of selectors for each key in a given root state.\n *\n * This type is a utility that takes a root state object type and\n * generates a corresponding set of selectors. Each selector is associated\n * with a key in the root state, allowing for the selection\n * of specific parts of the state.\n *\n * @template RootState - The type of the root state object.\n *\n * @since 5.0.0\n * @public\n */\nexport type RootStateSelectors = {\n [Key in keyof RootState]: Selector\n}\n\n/**\n * @deprecated Please use {@linkcode StructuredSelectorCreator.withTypes createStructuredSelector.withTypes()} instead. This type will be removed in the future.\n * @template RootState - The type of the root state object.\n *\n * @since 5.0.0\n * @public\n */\nexport type TypedStructuredSelectorCreator =\n /**\n * A convenience function that simplifies returning an object\n * made up of selector results.\n *\n * @param inputSelectorsObject - A key value pair consisting of input selectors.\n * @param selectorCreator - A custom selector creator function. It defaults to `createSelector`.\n * @returns A memoized structured selector.\n *\n * @example\n * Modern Use Case\n * ```ts\n * import { createSelector, createStructuredSelector } from 'reselect'\n *\n * interface RootState {\n * todos: {\n * id: number\n * completed: boolean\n * title: string\n * description: string\n * }[]\n * alerts: { id: number; read: boolean }[]\n * }\n *\n * // This:\n * const structuredSelector = createStructuredSelector(\n * {\n * todos: (state: RootState) => state.todos,\n * alerts: (state: RootState) => state.alerts,\n * todoById: (state: RootState, id: number) => state.todos[id]\n * },\n * createSelector\n * )\n *\n * // Is essentially the same as this:\n * const selector = createSelector(\n * [\n * (state: RootState) => state.todos,\n * (state: RootState) => state.alerts,\n * (state: RootState, id: number) => state.todos[id]\n * ],\n * (todos, alerts, todoById) => {\n * return {\n * todos,\n * alerts,\n * todoById\n * }\n * }\n * )\n * ```\n *\n * @example\n * In your component:\n * ```tsx\n * import type { RootState } from 'createStructuredSelector/modernUseCase'\n * import { structuredSelector } from 'createStructuredSelector/modernUseCase'\n * import type { FC } from 'react'\n * import { useSelector } from 'react-redux'\n *\n * interface Props {\n * id: number\n * }\n *\n * const MyComponent: FC = ({ id }) => {\n * const { todos, alerts, todoById } = useSelector((state: RootState) =>\n * structuredSelector(state, id)\n * )\n *\n * return (\n *
\n * Next to do is:\n *

{todoById.title}

\n *

Description: {todoById.description}

\n *
    \n *

    All other to dos:

    \n * {todos.map(todo => (\n *
  • {todo.title}
  • \n * ))}\n *
\n *
\n * )\n * }\n * ```\n *\n * @example\n * Simple Use Case\n * ```ts\n * const selectA = state => state.a\n * const selectB = state => state.b\n *\n * // The result function in the following selector\n * // is simply building an object from the input selectors\n * const structuredSelector = createSelector(selectA, selectB, (a, b) => ({\n * a,\n * b\n * }))\n *\n * const result = structuredSelector({ a: 1, b: 2 }) // will produce { x: 1, y: 2 }\n * ```\n *\n * @template InputSelectorsObject - The shape of the input selectors object.\n * @template MemoizeFunction - The type of the memoize function that is used to create the structured selector. It defaults to `weakMapMemoize`.\n * @template ArgsMemoizeFunction - The type of the of the memoize function that is used to memoize the arguments passed into the generated structured selector. It defaults to `weakMapMemoize`.\n *\n * @see {@link https://reselect.js.org/api/createStructuredSelector `createStructuredSelector`}\n */\n <\n InputSelectorsObject extends RootStateSelectors = RootStateSelectors,\n MemoizeFunction extends UnknownMemoizer = typeof weakMapMemoize,\n ArgsMemoizeFunction extends UnknownMemoizer = typeof weakMapMemoize\n >(\n inputSelectorsObject: InputSelectorsObject,\n selectorCreator?: CreateSelectorFunction<\n MemoizeFunction,\n ArgsMemoizeFunction\n >\n ) => OutputSelector<\n ObjectValuesToTuple,\n Simplify>,\n MemoizeFunction,\n ArgsMemoizeFunction\n > &\n InterruptRecursion\n\n/**\n * Represents an object where each property is a selector function.\n *\n * @template StateType - The type of state that all the selectors operate on.\n *\n * @public\n */\nexport type SelectorsObject = Record<\n string,\n Selector\n>\n\n/**\n * It provides a way to create structured selectors.\n * The structured selector can take multiple input selectors\n * and map their output to an object with specific keys.\n *\n * @template StateType - The type of state that the structured selectors created with this structured selector creator will operate on.\n *\n * @see {@link https://reselect.js.org/api/createStructuredSelector `createStructuredSelector`}\n *\n * @public\n */\nexport interface StructuredSelectorCreator {\n /**\n * A convenience function that simplifies returning an object\n * made up of selector results.\n *\n * @param inputSelectorsObject - A key value pair consisting of input selectors.\n * @param selectorCreator - A custom selector creator function. It defaults to `createSelector`.\n * @returns A memoized structured selector.\n *\n * @example\n * Modern Use Case\n * ```ts\n * import { createSelector, createStructuredSelector } from 'reselect'\n *\n * interface RootState {\n * todos: {\n * id: number\n * completed: boolean\n * title: string\n * description: string\n * }[]\n * alerts: { id: number; read: boolean }[]\n * }\n *\n * // This:\n * const structuredSelector = createStructuredSelector(\n * {\n * todos: (state: RootState) => state.todos,\n * alerts: (state: RootState) => state.alerts,\n * todoById: (state: RootState, id: number) => state.todos[id]\n * },\n * createSelector\n * )\n *\n * // Is essentially the same as this:\n * const selector = createSelector(\n * [\n * (state: RootState) => state.todos,\n * (state: RootState) => state.alerts,\n * (state: RootState, id: number) => state.todos[id]\n * ],\n * (todos, alerts, todoById) => {\n * return {\n * todos,\n * alerts,\n * todoById\n * }\n * }\n * )\n * ```\n *\n * @example\n * In your component:\n * ```tsx\n * import type { RootState } from 'createStructuredSelector/modernUseCase'\n * import { structuredSelector } from 'createStructuredSelector/modernUseCase'\n * import type { FC } from 'react'\n * import { useSelector } from 'react-redux'\n *\n * interface Props {\n * id: number\n * }\n *\n * const MyComponent: FC = ({ id }) => {\n * const { todos, alerts, todoById } = useSelector((state: RootState) =>\n * structuredSelector(state, id)\n * )\n *\n * return (\n *
\n * Next to do is:\n *

{todoById.title}

\n *

Description: {todoById.description}

\n *
    \n *

    All other to dos:

    \n * {todos.map(todo => (\n *
  • {todo.title}
  • \n * ))}\n *
\n *
\n * )\n * }\n * ```\n *\n * @example\n * Simple Use Case\n * ```ts\n * const selectA = state => state.a\n * const selectB = state => state.b\n *\n * // The result function in the following selector\n * // is simply building an object from the input selectors\n * const structuredSelector = createSelector(selectA, selectB, (a, b) => ({\n * a,\n * b\n * }))\n *\n * const result = structuredSelector({ a: 1, b: 2 }) // will produce { x: 1, y: 2 }\n * ```\n *\n * @template InputSelectorsObject - The shape of the input selectors object.\n * @template MemoizeFunction - The type of the memoize function that is used to create the structured selector. It defaults to `weakMapMemoize`.\n * @template ArgsMemoizeFunction - The type of the of the memoize function that is used to memoize the arguments passed into the generated structured selector. It defaults to `weakMapMemoize`.\n *\n * @see {@link https://reselect.js.org/api/createStructuredSelector `createStructuredSelector`}\n */\n <\n InputSelectorsObject extends SelectorsObject,\n MemoizeFunction extends UnknownMemoizer = typeof weakMapMemoize,\n ArgsMemoizeFunction extends UnknownMemoizer = typeof weakMapMemoize\n >(\n inputSelectorsObject: InputSelectorsObject,\n selectorCreator?: CreateSelectorFunction<\n MemoizeFunction,\n ArgsMemoizeFunction\n >\n ): OutputSelector<\n ObjectValuesToTuple,\n Simplify>,\n MemoizeFunction,\n ArgsMemoizeFunction\n > &\n InterruptRecursion\n\n /**\n * Creates a \"pre-typed\" version of\n * {@linkcode createStructuredSelector createStructuredSelector}\n * where the `state` type is predefined.\n *\n * This allows you to set the `state` type once, eliminating the need to\n * specify it with every\n * {@linkcode createStructuredSelector createStructuredSelector} call.\n *\n * @returns A pre-typed `createStructuredSelector` with the state type already defined.\n *\n * @example\n * ```ts\n * import { createStructuredSelector } from 'reselect'\n *\n * export interface RootState {\n * todos: { id: number; completed: boolean }[]\n * alerts: { id: number; read: boolean }[]\n * }\n *\n * export const createStructuredAppSelector =\n * createStructuredSelector.withTypes()\n *\n * const structuredAppSelector = createStructuredAppSelector({\n * // Type of `state` is set to `RootState`, no need to manually set the type\n * todos: state => state.todos,\n * alerts: state => state.alerts,\n * todoById: (state, id: number) => state.todos[id]\n * })\n *\n * ```\n * @template OverrideStateType - The specific type of state used by all structured selectors created with this structured selector creator.\n *\n * @see {@link https://reselect.js.org/api/createstructuredselector#defining-a-pre-typed-createstructuredselector `createSelector.withTypes`}\n *\n * @since 5.1.0\n */\n withTypes: <\n OverrideStateType extends StateType\n >() => StructuredSelectorCreator\n}\n\n/**\n * A convenience function that simplifies returning an object\n * made up of selector results.\n *\n * @param inputSelectorsObject - A key value pair consisting of input selectors.\n * @param selectorCreator - A custom selector creator function. It defaults to `createSelector`.\n * @returns A memoized structured selector.\n *\n * @example\n * Modern Use Case\n * ```ts\n * import { createSelector, createStructuredSelector } from 'reselect'\n *\n * interface RootState {\n * todos: {\n * id: number\n * completed: boolean\n * title: string\n * description: string\n * }[]\n * alerts: { id: number; read: boolean }[]\n * }\n *\n * // This:\n * const structuredSelector = createStructuredSelector(\n * {\n * todos: (state: RootState) => state.todos,\n * alerts: (state: RootState) => state.alerts,\n * todoById: (state: RootState, id: number) => state.todos[id]\n * },\n * createSelector\n * )\n *\n * // Is essentially the same as this:\n * const selector = createSelector(\n * [\n * (state: RootState) => state.todos,\n * (state: RootState) => state.alerts,\n * (state: RootState, id: number) => state.todos[id]\n * ],\n * (todos, alerts, todoById) => {\n * return {\n * todos,\n * alerts,\n * todoById\n * }\n * }\n * )\n * ```\n *\n * @see {@link https://reselect.js.org/api/createStructuredSelector `createStructuredSelector`}\n *\n * @public\n */\nexport const createStructuredSelector: StructuredSelectorCreator =\n Object.assign(\n <\n InputSelectorsObject extends SelectorsObject,\n MemoizeFunction extends UnknownMemoizer = typeof weakMapMemoize,\n ArgsMemoizeFunction extends UnknownMemoizer = typeof weakMapMemoize\n >(\n inputSelectorsObject: InputSelectorsObject,\n selectorCreator: CreateSelectorFunction<\n MemoizeFunction,\n ArgsMemoizeFunction\n > = createSelector as CreateSelectorFunction<\n MemoizeFunction,\n ArgsMemoizeFunction\n >\n ) => {\n assertIsObject(\n inputSelectorsObject,\n 'createStructuredSelector expects first argument to be an object ' +\n `where each property is a selector, instead received a ${typeof inputSelectorsObject}`\n )\n const inputSelectorKeys = Object.keys(inputSelectorsObject)\n const dependencies = inputSelectorKeys.map(\n key => inputSelectorsObject[key]\n )\n const structuredSelector = selectorCreator(\n dependencies,\n (...inputSelectorResults: any[]) => {\n return inputSelectorResults.reduce((composition, value, index) => {\n composition[inputSelectorKeys[index]] = value\n return composition\n }, {})\n }\n )\n return structuredSelector\n },\n { withTypes: () => createStructuredSelector }\n ) as StructuredSelectorCreator\n","/**\n * Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js\n *\n * Do not require this module directly! Use normal throw error calls. These messages will be replaced with error codes\n * during build.\n * @param {number} code\n */\nexport function formatProdErrorMessage(code: number) {\n return `Minified Redux error #${code}; visit https://redux.js.org/Errors?code=${code} for the full message or ` + 'use the non-minified dev environment for full errors. ';\n}","declare global {\n interface SymbolConstructor {\n readonly observable: symbol;\n }\n}\nconst $$observable = /* #__PURE__ */(() => typeof Symbol === 'function' && Symbol.observable || '@@observable')();\nexport default $$observable;","/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\n\nconst randomString = () => Math.random().toString(36).substring(7).split('').join('.');\nconst ActionTypes = {\n INIT: `@@redux/INIT${/* #__PURE__ */randomString()}`,\n REPLACE: `@@redux/REPLACE${/* #__PURE__ */randomString()}`,\n PROBE_UNKNOWN_ACTION: () => `@@redux/PROBE_UNKNOWN_ACTION${randomString()}`\n};\nexport default ActionTypes;","/**\n * @param obj The object to inspect.\n * @returns True if the argument appears to be a plain object.\n */\nexport default function isPlainObject(obj: any): obj is object {\n if (typeof obj !== 'object' || obj === null) return false;\n let proto = obj;\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n return Object.getPrototypeOf(obj) === proto || Object.getPrototypeOf(obj) === null;\n}","import { formatProdErrorMessage as _formatProdErrorMessage13 } from \"src/utils/formatProdErrorMessage\";\nimport { formatProdErrorMessage as _formatProdErrorMessage12 } from \"src/utils/formatProdErrorMessage\";\nimport { formatProdErrorMessage as _formatProdErrorMessage11 } from \"src/utils/formatProdErrorMessage\";\nimport { formatProdErrorMessage as _formatProdErrorMessage10 } from \"src/utils/formatProdErrorMessage\";\nimport { formatProdErrorMessage as _formatProdErrorMessage9 } from \"src/utils/formatProdErrorMessage\";\nimport { formatProdErrorMessage as _formatProdErrorMessage8 } from \"src/utils/formatProdErrorMessage\";\nimport { formatProdErrorMessage as _formatProdErrorMessage7 } from \"src/utils/formatProdErrorMessage\";\nimport { formatProdErrorMessage as _formatProdErrorMessage6 } from \"src/utils/formatProdErrorMessage\";\nimport { formatProdErrorMessage as _formatProdErrorMessage5 } from \"src/utils/formatProdErrorMessage\";\nimport { formatProdErrorMessage as _formatProdErrorMessage4 } from \"src/utils/formatProdErrorMessage\";\nimport { formatProdErrorMessage as _formatProdErrorMessage3 } from \"src/utils/formatProdErrorMessage\";\nimport { formatProdErrorMessage as _formatProdErrorMessage2 } from \"src/utils/formatProdErrorMessage\";\nimport { formatProdErrorMessage as _formatProdErrorMessage } from \"src/utils/formatProdErrorMessage\";\nimport $$observable from './utils/symbol-observable';\nimport { Store, StoreEnhancer, Dispatch, Observer, ListenerCallback, UnknownIfNonSpecific } from './types/store';\nimport { Action } from './types/actions';\nimport { Reducer } from './types/reducers';\nimport ActionTypes from './utils/actionTypes';\nimport isPlainObject from './utils/isPlainObject';\nimport { kindOf } from './utils/kindOf';\n\n/**\n * @deprecated\n *\n * **We recommend using the `configureStore` method\n * of the `@reduxjs/toolkit` package**, which replaces `createStore`.\n *\n * Redux Toolkit is our recommended approach for writing Redux logic today,\n * including store setup, reducers, data fetching, and more.\n *\n * **For more details, please read this Redux docs page:**\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * `configureStore` from Redux Toolkit is an improved version of `createStore` that\n * simplifies setup and helps avoid common bugs.\n *\n * You should not be using the `redux` core package by itself today, except for learning purposes.\n * The `createStore` method from the core `redux` package will not be removed, but we encourage\n * all users to migrate to using Redux Toolkit for all Redux code.\n *\n * If you want to use `createStore` without this visual deprecation warning, use\n * the `legacy_createStore` import instead:\n *\n * `import { legacy_createStore as createStore} from 'redux'`\n *\n */\nexport function createStore(reducer: Reducer, enhancer?: StoreEnhancer): Store> & Ext;\n/**\n * @deprecated\n *\n * **We recommend using the `configureStore` method\n * of the `@reduxjs/toolkit` package**, which replaces `createStore`.\n *\n * Redux Toolkit is our recommended approach for writing Redux logic today,\n * including store setup, reducers, data fetching, and more.\n *\n * **For more details, please read this Redux docs page:**\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * `configureStore` from Redux Toolkit is an improved version of `createStore` that\n * simplifies setup and helps avoid common bugs.\n *\n * You should not be using the `redux` core package by itself today, except for learning purposes.\n * The `createStore` method from the core `redux` package will not be removed, but we encourage\n * all users to migrate to using Redux Toolkit for all Redux code.\n *\n * If you want to use `createStore` without this visual deprecation warning, use\n * the `legacy_createStore` import instead:\n *\n * `import { legacy_createStore as createStore} from 'redux'`\n *\n */\nexport function createStore(reducer: Reducer, preloadedState?: PreloadedState | undefined, enhancer?: StoreEnhancer): Store> & Ext;\nexport function createStore(reducer: Reducer, preloadedState?: PreloadedState | StoreEnhancer | undefined, enhancer?: StoreEnhancer): Store> & Ext {\n if (typeof reducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage(2) : `Expected the root reducer to be a function. Instead, received: '${kindOf(reducer)}'`);\n }\n if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage2(0) : 'It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.');\n }\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = (preloadedState as StoreEnhancer);\n preloadedState = undefined;\n }\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage3(1) : `Expected the enhancer to be a function. Instead, received: '${kindOf(enhancer)}'`);\n }\n return enhancer(createStore)(reducer, (preloadedState as PreloadedState | undefined));\n }\n let currentReducer = reducer;\n let currentState: S | PreloadedState | undefined = (preloadedState as PreloadedState | undefined);\n let currentListeners: Map | null = new Map();\n let nextListeners = currentListeners;\n let listenerIdCounter = 0;\n let isDispatching = false;\n\n /**\n * This makes a shallow copy of currentListeners so we can use\n * nextListeners as a temporary list while dispatching.\n *\n * This prevents any bugs around consumers calling\n * subscribe/unsubscribe in the middle of a dispatch.\n */\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = new Map();\n currentListeners.forEach((listener, key) => {\n nextListeners.set(key, listener);\n });\n }\n }\n\n /**\n * Reads the state tree managed by the store.\n *\n * @returns The current state tree of your application.\n */\n function getState(): S {\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage4(3) : 'You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n }\n return (currentState as S);\n }\n\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param listener A callback to be invoked on every dispatch.\n * @returns A function to remove this change listener.\n */\n function subscribe(listener: () => void) {\n if (typeof listener !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage5(4) : `Expected the listener to be a function. Instead, received: '${kindOf(listener)}'`);\n }\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage6(5) : 'You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n let isSubscribed = true;\n ensureCanMutateNextListeners();\n const listenerId = listenerIdCounter++;\n nextListeners.set(listenerId, listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage7(6) : 'You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n isSubscribed = false;\n ensureCanMutateNextListeners();\n nextListeners.delete(listenerId);\n currentListeners = null;\n };\n }\n\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n function dispatch(action: A) {\n if (!isPlainObject(action)) {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage8(7) : `Actions must be plain objects. Instead, the actual type was: '${kindOf(action)}'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.`);\n }\n if (typeof action.type === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage9(8) : 'Actions may not have an undefined \"type\" property. You may have misspelled an action type string constant.');\n }\n if (typeof action.type !== 'string') {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage10(17) : `Action \"type\" property must be a string. Instead, the actual type was: '${kindOf(action.type)}'. Value was: '${action.type}' (stringified)`);\n }\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage11(9) : 'Reducers may not dispatch actions.');\n }\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n const listeners = currentListeners = nextListeners;\n listeners.forEach(listener => {\n listener();\n });\n return action;\n }\n\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param nextReducer The reducer for the store to use instead.\n */\n function replaceReducer(nextReducer: Reducer): void {\n if (typeof nextReducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage12(10) : `Expected the nextReducer to be a function. Instead, received: '${kindOf(nextReducer)}`);\n }\n currentReducer = ((nextReducer as unknown) as Reducer);\n\n // This action has a similar effect to ActionTypes.INIT.\n // Any reducers that existed in both the new and old rootReducer\n // will receive the previous state. This effectively populates\n // the new state tree with any relevant data from the old one.\n dispatch(({\n type: ActionTypes.REPLACE\n } as A));\n }\n\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n function observable() {\n const outerSubscribe = subscribe;\n return {\n /**\n * The minimal observable subscription method.\n * @param observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe(observer: unknown) {\n if (typeof observer !== 'object' || observer === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage13(11) : `Expected the observer to be an object. Instead, received: '${kindOf(observer)}'`);\n }\n function observeState() {\n const observerAsObserver = (observer as Observer);\n if (observerAsObserver.next) {\n observerAsObserver.next(getState());\n }\n }\n observeState();\n const unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe\n };\n },\n [$$observable]() {\n return this;\n }\n };\n }\n\n // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n dispatch(({\n type: ActionTypes.INIT\n } as A));\n const store = (({\n dispatch: (dispatch as Dispatch),\n subscribe,\n getState,\n replaceReducer,\n [$$observable]: observable\n } as unknown) as Store & Ext);\n return store;\n}\n\n/**\n * Creates a Redux store that holds the state tree.\n *\n * **We recommend using `configureStore` from the\n * `@reduxjs/toolkit` package**, which replaces `createStore`:\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\nexport function legacy_createStore(reducer: Reducer, enhancer?: StoreEnhancer): Store> & Ext;\n/**\n * Creates a Redux store that holds the state tree.\n *\n * **We recommend using `configureStore` from the\n * `@reduxjs/toolkit` package**, which replaces `createStore`:\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\nexport function legacy_createStore(reducer: Reducer, preloadedState?: PreloadedState | undefined, enhancer?: StoreEnhancer): Store> & Ext;\nexport function legacy_createStore(reducer: Reducer, preloadedState?: PreloadedState | StoreEnhancer | undefined, enhancer?: StoreEnhancer): Store> & Ext {\n return createStore(reducer, (preloadedState as any), enhancer);\n}","import { formatProdErrorMessage as _formatProdErrorMessage3 } from \"src/utils/formatProdErrorMessage\";\nimport { formatProdErrorMessage as _formatProdErrorMessage2 } from \"src/utils/formatProdErrorMessage\";\nimport { formatProdErrorMessage as _formatProdErrorMessage } from \"src/utils/formatProdErrorMessage\";\nimport { Action } from './types/actions';\nimport { ActionFromReducersMapObject, PreloadedStateShapeFromReducersMapObject, Reducer, StateFromReducersMapObject } from './types/reducers';\nimport ActionTypes from './utils/actionTypes';\nimport isPlainObject from './utils/isPlainObject';\nimport warning from './utils/warning';\nimport { kindOf } from './utils/kindOf';\nfunction getUnexpectedStateShapeWarningMessage(inputState: object, reducers: {\n [key: string]: Reducer;\n}, action: Action, unexpectedKeyCache: {\n [key: string]: true;\n}) {\n const reducerKeys = Object.keys(reducers);\n const argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n if (!isPlainObject(inputState)) {\n return `The ${argumentName} has unexpected type of \"${kindOf(inputState)}\". Expected argument to be an object with the following ` + `keys: \"${reducerKeys.join('\", \"')}\"`;\n }\n const unexpectedKeys = Object.keys(inputState).filter(key => !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key]);\n unexpectedKeys.forEach(key => {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === ActionTypes.REPLACE) return;\n if (unexpectedKeys.length > 0) {\n return `Unexpected ${unexpectedKeys.length > 1 ? 'keys' : 'key'} ` + `\"${unexpectedKeys.join('\", \"')}\" found in ${argumentName}. ` + `Expected to find one of the known reducer keys instead: ` + `\"${reducerKeys.join('\", \"')}\". Unexpected keys will be ignored.`;\n }\n}\nfunction assertReducerShape(reducers: {\n [key: string]: Reducer;\n}) {\n Object.keys(reducers).forEach(key => {\n const reducer = reducers[key];\n const initialState = reducer(undefined, {\n type: ActionTypes.INIT\n });\n if (typeof initialState === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage(12) : `The slice reducer for key \"${key}\" returned undefined during initialization. ` + `If the state passed to the reducer is undefined, you must ` + `explicitly return the initial state. The initial state may ` + `not be undefined. If you don't want to set a value for this reducer, ` + `you can use null instead of undefined.`);\n }\n if (typeof reducer(undefined, {\n type: ActionTypes.PROBE_UNKNOWN_ACTION()\n }) === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage2(13) : `The slice reducer for key \"${key}\" returned undefined when probed with a random type. ` + `Don't try to handle '${ActionTypes.INIT}' or other actions in \"redux/*\" ` + `namespace. They are considered private. Instead, you must return the ` + `current state for any unknown actions, unless it is undefined, ` + `in which case you must return the initial state, regardless of the ` + `action type. The initial state may not be undefined, but can be null.`);\n }\n });\n}\n\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @template S Combined state object type.\n *\n * @param reducers An object whose values correspond to different reducer\n * functions that need to be combined into one. One handy way to obtain it\n * is to use `import * as reducers` syntax. The reducers may never\n * return undefined for any action. Instead, they should return their\n * initial state if the state passed to them was undefined, and the current\n * state for any unrecognized action.\n *\n * @returns A reducer function that invokes every reducer inside the passed\n * object, and builds a state object with the same shape.\n */\nexport default function combineReducers(reducers: M): M[keyof M] extends Reducer | undefined ? Reducer, ActionFromReducersMapObject, Partial>> : never;\nexport default function combineReducers(reducers: {\n [key: string]: Reducer;\n}) {\n const reducerKeys = Object.keys(reducers);\n const finalReducers: {\n [key: string]: Reducer;\n } = {};\n for (let i = 0; i < reducerKeys.length; i++) {\n const key = reducerKeys[i];\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning(`No reducer provided for key \"${key}\"`);\n }\n }\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n const finalReducerKeys = Object.keys(finalReducers);\n\n // This is used to make sure we don't warn about the same\n // keys multiple times.\n let unexpectedKeyCache: {\n [key: string]: true;\n };\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n let shapeAssertionError: unknown;\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n return function combination(state: StateFromReducersMapObject = {}, action: Action) {\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n if (process.env.NODE_ENV !== 'production') {\n const warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n let hasChanged = false;\n const nextState: StateFromReducersMapObject = {};\n for (let i = 0; i < finalReducerKeys.length; i++) {\n const key = finalReducerKeys[i];\n const reducer = finalReducers[key];\n const previousStateForKey = state[key];\n const nextStateForKey = reducer(previousStateForKey, action);\n if (typeof nextStateForKey === 'undefined') {\n const actionType = action && action.type;\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage3(14) : `When called with an action of type ${actionType ? `\"${String(actionType)}\"` : '(unknown type)'}, the slice reducer for key \"${key}\" returned undefined. ` + `To ignore an action, you must explicitly return the previous state. ` + `If you want this reducer to hold no value, you can return null instead of undefined.`);\n }\n nextState[key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n return hasChanged ? nextState : state;\n };\n}","type Func = (...a: T) => R;\n\n/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for the\n * resulting composite function.\n *\n * @param funcs The functions to compose.\n * @returns A function obtained by composing the argument functions from right\n * to left. For example, `compose(f, g, h)` is identical to doing\n * `(...args) => f(g(h(...args)))`.\n */\nexport default function compose(): (a: R) => R;\nexport default function compose(f: F): F;\n\n/* two functions */\nexport default function compose(f1: (a: A) => R, f2: Func): Func;\n\n/* three functions */\nexport default function compose(f1: (b: B) => R, f2: (a: A) => B, f3: Func): Func;\n\n/* four functions */\nexport default function compose(f1: (c: C) => R, f2: (b: B) => C, f3: (a: A) => B, f4: Func): Func;\n\n/* rest */\nexport default function compose(f1: (a: any) => R, ...funcs: Function[]): (...args: any[]) => R;\nexport default function compose(...funcs: Function[]): (...args: any[]) => R;\nexport default function compose(...funcs: Function[]) {\n if (funcs.length === 0) {\n // infer the argument type so it is usable in inference down the line\n return (arg: T) => arg;\n }\n if (funcs.length === 1) {\n return funcs[0];\n }\n return funcs.reduce((a, b) => (...args: any) => a(b(...args)));\n}","// src/index.ts\nfunction createThunkMiddleware(extraArgument) {\n const middleware = ({ dispatch, getState }) => (next) => (action) => {\n if (typeof action === \"function\") {\n return action(dispatch, getState, extraArgument);\n }\n return next(action);\n };\n return middleware;\n}\nvar thunk = createThunkMiddleware();\nvar withExtraArgument = createThunkMiddleware;\nexport {\n thunk,\n withExtraArgument\n};\n","import type { Action, ActionCreator, StoreEnhancer } from 'redux';\nimport { compose } from 'redux';\n/**\n * @public\n */\n\nexport interface DevToolsEnhancerOptions {\n /**\n * the instance name to be showed on the monitor page. Default value is `document.title`.\n * If not specified and there's no document title, it will consist of `tabId` and `instanceId`.\n */\n name?: string;\n /**\n * action creators functions to be available in the Dispatcher.\n */\n\n actionCreators?: ActionCreator[] | {\n [key: string]: ActionCreator;\n };\n /**\n * if more than one action is dispatched in the indicated interval, all new actions will be collected and sent at once.\n * It is the joint between performance and speed. When set to `0`, all actions will be sent instantly.\n * Set it to a higher value when experiencing perf issues (also `maxAge` to a lower value).\n *\n * @default 500 ms.\n */\n\n latency?: number;\n /**\n * (> 1) - maximum allowed actions to be stored in the history tree. The oldest actions are removed once maxAge is reached. It's critical for performance.\n *\n * @default 50\n */\n\n maxAge?: number;\n /**\n * Customizes how actions and state are serialized and deserialized. Can be a boolean or object. If given a boolean, the behavior is the same as if you\n * were to pass an object and specify `options` as a boolean. Giving an object allows fine-grained customization using the `replacer` and `reviver`\n * functions.\n */\n\n serialize?: boolean | {\n /**\n * - `undefined` - will use regular `JSON.stringify` to send data (it's the fast mode).\n * - `false` - will handle also circular references.\n * - `true` - will handle also date, regex, undefined, error objects, symbols, maps, sets and functions.\n * - object, which contains `date`, `regex`, `undefined`, `error`, `symbol`, `map`, `set` and `function` keys.\n * For each of them you can indicate if to include (by setting as `true`).\n * For `function` key you can also specify a custom function which handles serialization.\n * See [`jsan`](https://github.com/kolodny/jsan) for more details.\n */\n options?: undefined | boolean | {\n date?: true;\n regex?: true;\n undefined?: true;\n error?: true;\n symbol?: true;\n map?: true;\n set?: true;\n function?: true | ((fn: (...args: any[]) => any) => string);\n };\n /**\n * [JSON replacer function](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#The_replacer_parameter) used for both actions and states stringify.\n * In addition, you can specify a data type by adding a [`__serializedType__`](https://github.com/zalmoxisus/remotedev-serialize/blob/master/helpers/index.js#L4)\n * key. So you can deserialize it back while importing or persisting data.\n * Moreover, it will also [show a nice preview showing the provided custom type](https://cloud.githubusercontent.com/assets/7957859/21814330/a17d556a-d761-11e6-85ef-159dd12f36c5.png):\n */\n\n replacer?: (key: string, value: unknown) => any;\n /**\n * [JSON `reviver` function](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Using_the_reviver_parameter)\n * used for parsing the imported actions and states. See [`remotedev-serialize`](https://github.com/zalmoxisus/remotedev-serialize/blob/master/immutable/serialize.js#L8-L41)\n * as an example on how to serialize special data types and get them back.\n */\n\n reviver?: (key: string, value: unknown) => any;\n /**\n * Automatically serialize/deserialize immutablejs via [remotedev-serialize](https://github.com/zalmoxisus/remotedev-serialize).\n * Just pass the Immutable library. It will support all ImmutableJS structures. You can even export them into a file and get them back.\n * The only exception is `Record` class, for which you should pass this in addition the references to your classes in `refs`.\n */\n\n immutable?: any;\n /**\n * ImmutableJS `Record` classes used to make possible restore its instances back when importing, persisting...\n */\n\n refs?: any;\n };\n /**\n * function which takes `action` object and id number as arguments, and should return `action` object back.\n */\n\n actionSanitizer?: (action: A, id: number) => A;\n /**\n * function which takes `state` object and index as arguments, and should return `state` object back.\n */\n\n stateSanitizer?: (state: S, index: number) => S;\n /**\n * *string or array of strings as regex* - actions types to be hidden / shown in the monitors (while passed to the reducers).\n * If `actionsAllowlist` specified, `actionsDenylist` is ignored.\n */\n\n actionsDenylist?: string | string[];\n /**\n * *string or array of strings as regex* - actions types to be hidden / shown in the monitors (while passed to the reducers).\n * If `actionsAllowlist` specified, `actionsDenylist` is ignored.\n */\n\n actionsAllowlist?: string | string[];\n /**\n * called for every action before sending, takes `state` and `action` object, and returns `true` in case it allows sending the current data to the monitor.\n * Use it as a more advanced version of `actionsDenylist`/`actionsAllowlist` parameters.\n */\n\n predicate?: (state: S, action: A) => boolean;\n /**\n * if specified as `false`, it will not record the changes till clicking on `Start recording` button.\n * Available only for Redux enhancer, for others use `autoPause`.\n *\n * @default true\n */\n\n shouldRecordChanges?: boolean;\n /**\n * if specified, whenever clicking on `Pause recording` button and there are actions in the history log, will add this action type.\n * If not specified, will commit when paused. Available only for Redux enhancer.\n *\n * @default \"@@PAUSED\"\"\n */\n\n pauseActionType?: string;\n /**\n * auto pauses when the extension’s window is not opened, and so has zero impact on your app when not in use.\n * Not available for Redux enhancer (as it already does it but storing the data to be sent).\n *\n * @default false\n */\n\n autoPause?: boolean;\n /**\n * if specified as `true`, it will not allow any non-monitor actions to be dispatched till clicking on `Unlock changes` button.\n * Available only for Redux enhancer.\n *\n * @default false\n */\n\n shouldStartLocked?: boolean;\n /**\n * if set to `false`, will not recompute the states on hot reloading (or on replacing the reducers). Available only for Redux enhancer.\n *\n * @default true\n */\n\n shouldHotReload?: boolean;\n /**\n * if specified as `true`, whenever there's an exception in reducers, the monitors will show the error message, and next actions will not be dispatched.\n *\n * @default false\n */\n\n shouldCatchErrors?: boolean;\n /**\n * If you want to restrict the extension, specify the features you allow.\n * If not specified, all of the features are enabled. When set as an object, only those included as `true` will be allowed.\n * Note that except `true`/`false`, `import` and `export` can be set as `custom` (which is by default for Redux enhancer), meaning that the importing/exporting occurs on the client side.\n * Otherwise, you'll get/set the data right from the monitor part.\n */\n\n features?: {\n /**\n * start/pause recording of dispatched actions\n */\n pause?: boolean;\n /**\n * lock/unlock dispatching actions and side effects\n */\n\n lock?: boolean;\n /**\n * persist states on page reloading\n */\n\n persist?: boolean;\n /**\n * export history of actions in a file\n */\n\n export?: boolean | 'custom';\n /**\n * import history of actions from a file\n */\n\n import?: boolean | 'custom';\n /**\n * jump back and forth (time travelling)\n */\n\n jump?: boolean;\n /**\n * skip (cancel) actions\n */\n\n skip?: boolean;\n /**\n * drag and drop actions in the history list\n */\n\n reorder?: boolean;\n /**\n * dispatch custom actions or action creators\n */\n\n dispatch?: boolean;\n /**\n * generate tests for the selected actions\n */\n\n test?: boolean;\n };\n /**\n * Set to true or a stacktrace-returning function to record call stack traces for dispatched actions.\n * Defaults to false.\n */\n\n trace?: boolean | ((action: A) => string);\n /**\n * The maximum number of stack trace entries to record per action. Defaults to 10.\n */\n\n traceLimit?: number;\n}\ntype Compose = typeof compose;\ninterface ComposeWithDevTools {\n (options: DevToolsEnhancerOptions): Compose;\n (...funcs: StoreEnhancer[]): StoreEnhancer;\n}\n/**\n * @public\n */\n\nexport const composeWithDevTools: ComposeWithDevTools = typeof window !== 'undefined' && (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ : function () {\n if (arguments.length === 0) return undefined;\n if (typeof arguments[0] === 'object') return compose;\n return compose.apply(null, ((arguments as any) as Function[]));\n};\n/**\n * @public\n */\n\nexport const devToolsEnhancer: {\n (options: DevToolsEnhancerOptions): StoreEnhancer;\n} = typeof window !== 'undefined' && (window as any).__REDUX_DEVTOOLS_EXTENSION__ ? (window as any).__REDUX_DEVTOOLS_EXTENSION__ : function () {\n return function (noop) {\n return noop;\n };\n};","import { current, isDraft } from 'immer';\nimport { createSelectorCreator, weakMapMemoize } from 'reselect';\nexport const createDraftSafeSelectorCreator: typeof createSelectorCreator = (...args: unknown[]) => {\n const createSelector = (createSelectorCreator as any)(...args);\n const createDraftSafeSelector = Object.assign((...args: unknown[]) => {\n const selector = createSelector(...args);\n\n const wrappedSelector = (value: unknown, ...rest: unknown[]) => selector(isDraft(value) ? current(value) : value, ...rest);\n\n Object.assign(wrappedSelector, selector);\n return (wrappedSelector as any);\n }, {\n withTypes: () => createDraftSafeSelector\n });\n return createDraftSafeSelector;\n};\n/**\n * \"Draft-Safe\" version of `reselect`'s `createSelector`:\n * If an `immer`-drafted object is passed into the resulting selector's first argument,\n * the selector will act on the current draft value, instead of returning a cached value\n * that might be possibly outdated if the draft has been modified since.\n * @public\n */\n\nexport const createDraftSafeSelector = createDraftSafeSelectorCreator(weakMapMemoize);","import { formatProdErrorMessage as _formatProdErrorMessage } from \"@reduxjs/toolkit\";\nimport { isAction } from 'redux';\nimport type { IsUnknownOrNonInferrable, IfMaybeUndefined, IfVoid, IsAny } from './tsHelpers';\nimport { hasMatchFunction } from './tsHelpers';\n/**\n * An action with a string type and an associated payload. This is the\n * type of action returned by `createAction()` action creators.\n *\n * @template P The type of the action's payload.\n * @template T the type used for the action type.\n * @template M The type of the action's meta (optional)\n * @template E The type of the action's error (optional)\n *\n * @public\n */\n\nexport type PayloadAction

= {\n payload: P;\n type: T;\n} & ([M] extends [never] ? {} : {\n meta: M;\n}) & ([E] extends [never] ? {} : {\n error: E;\n});\n/**\n * A \"prepare\" method to be used as the second parameter of `createAction`.\n * Takes any number of arguments and returns a Flux Standard Action without\n * type (will be added later) that *must* contain a payload (might be undefined).\n *\n * @public\n */\n\nexport type PrepareAction

= ((...args: any[]) => {\n payload: P;\n}) | ((...args: any[]) => {\n payload: P;\n meta: any;\n}) | ((...args: any[]) => {\n payload: P;\n error: any;\n}) | ((...args: any[]) => {\n payload: P;\n meta: any;\n error: any;\n});\n/**\n * Internal version of `ActionCreatorWithPreparedPayload`. Not to be used externally.\n *\n * @internal\n */\n\nexport type _ActionCreatorWithPreparedPayload | void, T extends string = string> = PA extends PrepareAction ? ActionCreatorWithPreparedPayload, P, T, ReturnType extends {\n error: infer E;\n} ? E : never, ReturnType extends {\n meta: infer M;\n} ? M : never> : void;\n/**\n * Basic type for all action creators.\n *\n * @inheritdoc {redux#ActionCreator}\n */\n\nexport interface BaseActionCreator {\n type: T;\n match: (action: unknown) => action is PayloadAction;\n}\n/**\n * An action creator that takes multiple arguments that are passed\n * to a `PrepareAction` method to create the final Action.\n * @typeParam Args arguments for the action creator function\n * @typeParam P `payload` type\n * @typeParam T `type` name\n * @typeParam E optional `error` type\n * @typeParam M optional `meta` type\n *\n * @inheritdoc {redux#ActionCreator}\n *\n * @public\n */\n\nexport interface ActionCreatorWithPreparedPayload extends BaseActionCreator {\n /**\n * Calling this {@link redux#ActionCreator} with `Args` will return\n * an Action with a payload of type `P` and (depending on the `PrepareAction`\n * method used) a `meta`- and `error` property of types `M` and `E` respectively.\n */\n (...args: Args): PayloadAction;\n}\n/**\n * An action creator of type `T` that takes an optional payload of type `P`.\n *\n * @inheritdoc {redux#ActionCreator}\n *\n * @public\n */\n\nexport interface ActionCreatorWithOptionalPayload extends BaseActionCreator {\n /**\n * Calling this {@link redux#ActionCreator} with an argument will\n * return a {@link PayloadAction} of type `T` with a payload of `P`.\n * Calling it without an argument will return a PayloadAction with a payload of `undefined`.\n */\n (payload?: P): PayloadAction;\n}\n/**\n * An action creator of type `T` that takes no payload.\n *\n * @inheritdoc {redux#ActionCreator}\n *\n * @public\n */\n\nexport interface ActionCreatorWithoutPayload extends BaseActionCreator {\n /**\n * Calling this {@link redux#ActionCreator} will\n * return a {@link PayloadAction} of type `T` with a payload of `undefined`\n */\n (noArgument: void): PayloadAction;\n}\n/**\n * An action creator of type `T` that requires a payload of type P.\n *\n * @inheritdoc {redux#ActionCreator}\n *\n * @public\n */\n\nexport interface ActionCreatorWithPayload extends BaseActionCreator {\n /**\n * Calling this {@link redux#ActionCreator} with an argument will\n * return a {@link PayloadAction} of type `T` with a payload of `P`\n */\n (payload: P): PayloadAction;\n}\n/**\n * An action creator of type `T` whose `payload` type could not be inferred. Accepts everything as `payload`.\n *\n * @inheritdoc {redux#ActionCreator}\n *\n * @public\n */\n\nexport interface ActionCreatorWithNonInferrablePayload extends BaseActionCreator {\n /**\n * Calling this {@link redux#ActionCreator} with an argument will\n * return a {@link PayloadAction} of type `T` with a payload\n * of exactly the type of the argument.\n */\n (payload: PT): PayloadAction;\n}\n/**\n * An action creator that produces actions with a `payload` attribute.\n *\n * @typeParam P the `payload` type\n * @typeParam T the `type` of the resulting action\n * @typeParam PA if the resulting action is preprocessed by a `prepare` method, the signature of said method.\n *\n * @public\n */\n\nexport type PayloadActionCreator

| void = void> = IfPrepareActionMethodProvided, // else\nIsAny, IsUnknownOrNonInferrable, // else\nIfVoid, // else\nIfMaybeUndefined, // else\nActionCreatorWithPayload>>>>>;\n/**\n * A utility function to create an action creator for the given action type\n * string. The action creator accepts a single argument, which will be included\n * in the action object as a field called payload. The action creator function\n * will also have its toString() overridden so that it returns the action type.\n *\n * @param type The action type to use for created actions.\n * @param prepare (optional) a method that takes any number of arguments and returns { payload } or { payload, meta }.\n * If this is given, the resulting action creator will pass its arguments to this method to calculate payload & meta.\n *\n * @public\n */\n\nexport function createAction

(type: T): PayloadActionCreator;\n/**\n * A utility function to create an action creator for the given action type\n * string. The action creator accepts a single argument, which will be included\n * in the action object as a field called payload. The action creator function\n * will also have its toString() overridden so that it returns the action type.\n *\n * @param type The action type to use for created actions.\n * @param prepare (optional) a method that takes any number of arguments and returns { payload } or { payload, meta }.\n * If this is given, the resulting action creator will pass its arguments to this method to calculate payload & meta.\n *\n * @public\n */\n\nexport function createAction, T extends string = string>(type: T, prepareAction: PA): PayloadActionCreator['payload'], T, PA>;\nexport function createAction(type: string, prepareAction?: Function): any {\n function actionCreator(...args: any[]) {\n if (prepareAction) {\n let prepared = prepareAction(...args);\n\n if (!prepared) {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage(0) : 'prepareAction did not return an object');\n }\n\n return {\n type,\n payload: prepared.payload,\n ...('meta' in prepared && {\n meta: prepared.meta\n }),\n ...('error' in prepared && {\n error: prepared.error\n })\n };\n }\n\n return {\n type,\n payload: args[0]\n };\n }\n\n actionCreator.toString = () => `${type}`;\n\n actionCreator.type = type;\n\n actionCreator.match = (action: unknown): action is PayloadAction => isAction(action) && action.type === type;\n\n return actionCreator;\n}\n/**\n * Returns true if value is an RTK-like action creator, with a static type property and match method.\n */\n\nexport function isActionCreator(action: unknown): action is BaseActionCreator & Function {\n return typeof action === 'function' && 'type' in action && // hasMatchFunction only wants Matchers but I don't see the point in rewriting it\n hasMatchFunction((action as any));\n}\n/**\n * Returns true if value is an action with a string type and valid Flux Standard Action keys.\n */\n\nexport function isFSA(action: unknown): action is {\n type: string;\n payload?: unknown;\n error?: unknown;\n meta?: unknown;\n} {\n return isAction(action) && Object.keys(action).every(isValidKey);\n}\n\nfunction isValidKey(key: string) {\n return ['type', 'payload', 'error', 'meta'].indexOf(key) > -1;\n} // helper types for more readable typings\n\n\ntype IfPrepareActionMethodProvided | void, True, False> = PA extends (...args: any[]) => any ? True : False;","import { Action } from '../types/actions';\nimport isPlainObject from './isPlainObject';\nexport default function isAction(action: unknown): action is Action {\n return isPlainObject(action) && 'type' in action && typeof (action as Record<'type', unknown>).type === 'string';\n}","import { formatProdErrorMessage as _formatProdErrorMessage } from \"@reduxjs/toolkit\";\nimport { produce as createNextState, isDraftable } from 'immer';\nimport type { Middleware, StoreEnhancer } from 'redux';\nexport function getTimeMeasureUtils(maxDelay: number, fnName: string) {\n let elapsed = 0;\n return {\n measureTime(fn: () => T): T {\n const started = Date.now();\n\n try {\n return fn();\n } finally {\n const finished = Date.now();\n elapsed += finished - started;\n }\n },\n\n warnIfExceeded() {\n if (elapsed > maxDelay) {\n console.warn(`${fnName} took ${elapsed}ms, which is more than the warning threshold of ${maxDelay}ms. \nIf your state or actions are very large, you may want to disable the middleware as it might cause too much of a slowdown in development mode. See https://redux-toolkit.js.org/api/getDefaultMiddleware for instructions.\nIt is disabled in production builds, so you don't need to worry about that.`);\n }\n }\n\n };\n}\nexport function delay(ms: number) {\n return new Promise(resolve => setTimeout(resolve, ms));\n}\nexport function find(iterable: Iterable, comparator: (item: T) => boolean): T | undefined {\n for (const entry of iterable) {\n if (comparator(entry)) {\n return entry;\n }\n }\n\n return undefined;\n}\nexport class Tuple = []> extends Array {\n constructor(length: number);\n constructor(...items: Items);\n\n constructor(...items: any[]) {\n super(...items);\n Object.setPrototypeOf(this, Tuple.prototype);\n }\n\n static get [Symbol.species]() {\n return (Tuple as any);\n }\n\n concat>(items: Tuple): Tuple<[...Items, ...AdditionalItems]>;\n concat>(items: AdditionalItems): Tuple<[...Items, ...AdditionalItems]>;\n concat>(...items: AdditionalItems): Tuple<[...Items, ...AdditionalItems]>;\n\n concat(...arr: any[]) {\n return super.concat.apply(this, arr);\n }\n\n prepend>(items: Tuple): Tuple<[...AdditionalItems, ...Items]>;\n prepend>(items: AdditionalItems): Tuple<[...AdditionalItems, ...Items]>;\n prepend>(...items: AdditionalItems): Tuple<[...AdditionalItems, ...Items]>;\n\n prepend(...arr: any[]) {\n if (arr.length === 1 && Array.isArray(arr[0])) {\n return new Tuple(...arr[0].concat(this));\n }\n\n return new Tuple(...arr.concat(this));\n }\n\n}\nexport function freezeDraftable(val: T) {\n return isDraftable(val) ? createNextState(val, () => {}) : val;\n}\ninterface WeakMapEmplaceHandler {\n /**\n * Will be called to get value, if no value is currently in map.\n */\n insert?(key: K, map: WeakMap): V;\n /**\n * Will be called to update a value, if one exists already.\n */\n\n update?(previous: V, key: K, map: WeakMap): V;\n}\ninterface MapEmplaceHandler {\n /**\n * Will be called to get value, if no value is currently in map.\n */\n insert?(key: K, map: Map): V;\n /**\n * Will be called to update a value, if one exists already.\n */\n\n update?(previous: V, key: K, map: Map): V;\n}\nexport function emplace(map: Map, key: K, handler: MapEmplaceHandler): V;\nexport function emplace(map: WeakMap, key: K, handler: WeakMapEmplaceHandler): V;\n/**\n * Allow inserting a new value, or updating an existing one\n * @throws if called for a key with no current value and no `insert` handler is provided\n * @returns current value in map (after insertion/updating)\n * ```ts\n * // return current value if already in map, otherwise initialise to 0 and return that\n * const num = emplace(map, key, {\n * insert: () => 0\n * })\n *\n * // increase current value by one if already in map, otherwise initialise to 0\n * const num = emplace(map, key, {\n * update: (n) => n + 1,\n * insert: () => 0,\n * })\n *\n * // only update if value's already in the map - and increase it by one\n * if (map.has(key)) {\n * const num = emplace(map, key, {\n * update: (n) => n + 1,\n * })\n * }\n * ```\n *\n * @remarks\n * Based on https://github.com/tc39/proposal-upsert currently in Stage 2 - maybe in a few years we'll be able to replace this with direct method calls\n */\n\nexport function emplace(map: WeakMap, key: K, handler: WeakMapEmplaceHandler): V {\n if (map.has(key)) {\n let value = (map.get(key) as V);\n\n if (handler.update) {\n value = handler.update(value, key, map);\n map.set(key, value);\n }\n\n return value;\n }\n\n if (!handler.insert) throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage(10) : 'No insert provided for key not already in map');\n const inserted = handler.insert(key, map);\n map.set(key, inserted);\n return inserted;\n}","import type { Middleware, UnknownAction } from 'redux';\nimport type { ThunkMiddleware } from 'redux-thunk';\nimport { thunk as thunkMiddleware, withExtraArgument } from 'redux-thunk';\nimport type { ActionCreatorInvariantMiddlewareOptions } from './actionCreatorInvariantMiddleware';\nimport { createActionCreatorInvariantMiddleware } from './actionCreatorInvariantMiddleware';\nimport type { ImmutableStateInvariantMiddlewareOptions } from './immutableStateInvariantMiddleware';\n/* PROD_START_REMOVE_UMD */\n\nimport { createImmutableStateInvariantMiddleware } from './immutableStateInvariantMiddleware';\n/* PROD_STOP_REMOVE_UMD */\n\nimport type { SerializableStateInvariantMiddlewareOptions } from './serializableStateInvariantMiddleware';\nimport { createSerializableStateInvariantMiddleware } from './serializableStateInvariantMiddleware';\nimport type { ExcludeFromTuple } from './tsHelpers';\nimport { Tuple } from './utils';\n\nfunction isBoolean(x: any): x is boolean {\n return typeof x === 'boolean';\n}\n\ninterface ThunkOptions {\n extraArgument: E;\n}\ninterface GetDefaultMiddlewareOptions {\n thunk?: boolean | ThunkOptions;\n immutableCheck?: boolean | ImmutableStateInvariantMiddlewareOptions;\n serializableCheck?: boolean | SerializableStateInvariantMiddlewareOptions;\n actionCreatorCheck?: boolean | ActionCreatorInvariantMiddlewareOptions;\n}\nexport type ThunkMiddlewareFor = O extends {\n thunk: false;\n} ? never : O extends {\n thunk: {\n extraArgument: infer E;\n };\n} ? ThunkMiddleware : ThunkMiddleware;\nexport type GetDefaultMiddleware = (options?: O) => Tuple], never>>;\nexport const buildGetDefaultMiddleware = (): GetDefaultMiddleware => function getDefaultMiddleware(options) {\n const {\n thunk = true,\n immutableCheck = true,\n serializableCheck = true,\n actionCreatorCheck = true\n } = options ?? {};\n let middlewareArray = new Tuple();\n\n if (thunk) {\n if (isBoolean(thunk)) {\n middlewareArray.push(thunkMiddleware);\n } else {\n middlewareArray.push(withExtraArgument(thunk.extraArgument));\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (immutableCheck) {\n /* PROD_START_REMOVE_UMD */\n let immutableOptions: ImmutableStateInvariantMiddlewareOptions = {};\n\n if (!isBoolean(immutableCheck)) {\n immutableOptions = immutableCheck;\n }\n\n middlewareArray.unshift(createImmutableStateInvariantMiddleware(immutableOptions));\n /* PROD_STOP_REMOVE_UMD */\n }\n\n if (serializableCheck) {\n let serializableOptions: SerializableStateInvariantMiddlewareOptions = {};\n\n if (!isBoolean(serializableCheck)) {\n serializableOptions = serializableCheck;\n }\n\n middlewareArray.push(createSerializableStateInvariantMiddleware(serializableOptions));\n }\n\n if (actionCreatorCheck) {\n let actionCreatorOptions: ActionCreatorInvariantMiddlewareOptions = {};\n\n if (!isBoolean(actionCreatorCheck)) {\n actionCreatorOptions = actionCreatorCheck;\n }\n\n middlewareArray.unshift(createActionCreatorInvariantMiddleware(actionCreatorOptions));\n }\n }\n\n return (middlewareArray as any);\n};","import type { StoreEnhancer } from 'redux';\nexport const SHOULD_AUTOBATCH = 'RTK_autoBatch';\nexport const prepareAutoBatched = () => (payload: T): {\n payload: T;\n meta: unknown;\n} => ({\n payload,\n meta: {\n [SHOULD_AUTOBATCH]: true\n }\n});\n\nconst createQueueWithTimer = (timeout: number) => {\n return (notify: () => void) => {\n setTimeout(notify, timeout);\n };\n}; // requestAnimationFrame won't exist in SSR environments.\n// Fall back to a vague approximation just to keep from erroring.\n\n\nconst rAF = typeof window !== 'undefined' && window.requestAnimationFrame ? window.requestAnimationFrame : createQueueWithTimer(10);\nexport type AutoBatchOptions = {\n type: 'tick';\n} | {\n type: 'timer';\n timeout: number;\n} | {\n type: 'raf';\n} | {\n type: 'callback';\n queueNotification: (notify: () => void) => void;\n};\n/**\n * A Redux store enhancer that watches for \"low-priority\" actions, and delays\n * notifying subscribers until either the queued callback executes or the\n * next \"standard-priority\" action is dispatched.\n *\n * This allows dispatching multiple \"low-priority\" actions in a row with only\n * a single subscriber notification to the UI after the sequence of actions\n * is finished, thus improving UI re-render performance.\n *\n * Watches for actions with the `action.meta[SHOULD_AUTOBATCH]` attribute.\n * This can be added to `action.meta` manually, or by using the\n * `prepareAutoBatched` helper.\n *\n * By default, it will queue a notification for the end of the event loop tick.\n * However, you can pass several other options to configure the behavior:\n * - `{type: 'tick'}`: queues using `queueMicrotask`\n * - `{type: 'timer, timeout: number}`: queues using `setTimeout`\n * - `{type: 'raf'}`: queues using `requestAnimationFrame` (default)\n * - `{type: 'callback', queueNotification: (notify: () => void) => void}`: lets you provide your own callback\n *\n *\n */\n\nexport const autoBatchEnhancer = (options: AutoBatchOptions = {\n type: 'raf'\n}): StoreEnhancer => next => (...args) => {\n const store = next(...args);\n let notifying = true;\n let shouldNotifyAtEndOfTick = false;\n let notificationQueued = false;\n const listeners = new Set<() => void>();\n const queueCallback = options.type === 'tick' ? queueMicrotask : options.type === 'raf' ? rAF : options.type === 'callback' ? options.queueNotification : createQueueWithTimer(options.timeout);\n\n const notifyListeners = () => {\n // We're running at the end of the event loop tick.\n // Run the real listener callbacks to actually update the UI.\n notificationQueued = false;\n\n if (shouldNotifyAtEndOfTick) {\n shouldNotifyAtEndOfTick = false;\n listeners.forEach(l => l());\n }\n };\n\n return Object.assign({}, store, {\n // Override the base `store.subscribe` method to keep original listeners\n // from running if we're delaying notifications\n subscribe(listener: () => void) {\n // Each wrapped listener will only call the real listener if\n // the `notifying` flag is currently active when it's called.\n // This lets the base store work as normal, while the actual UI\n // update becomes controlled by this enhancer.\n const wrappedListener: typeof listener = () => notifying && listener();\n\n const unsubscribe = store.subscribe(wrappedListener);\n listeners.add(listener);\n return () => {\n unsubscribe();\n listeners.delete(listener);\n };\n },\n\n // Override the base `store.dispatch` method so that we can check actions\n // for the `shouldAutoBatch` flag and determine if batching is active\n dispatch(action: any) {\n try {\n // If the action does _not_ have the `shouldAutoBatch` flag,\n // we resume/continue normal notify-after-each-dispatch behavior\n notifying = !action?.meta?.[SHOULD_AUTOBATCH]; // If a `notifyListeners` microtask was queued, you can't cancel it.\n // Instead, we set a flag so that it's a no-op when it does run\n\n shouldNotifyAtEndOfTick = !notifying;\n\n if (shouldNotifyAtEndOfTick) {\n // We've seen at least 1 action with `SHOULD_AUTOBATCH`. Try to queue\n // a microtask to notify listeners at the end of the event loop tick.\n // Make sure we only enqueue this _once_ per tick.\n if (!notificationQueued) {\n notificationQueued = true;\n queueCallback(notifyListeners);\n }\n } // Go ahead and process the action as usual, including reducers.\n // If normal notification behavior is enabled, the store will notify\n // all of its own listeners, and the wrapper callbacks above will\n // see `notifying` is true and pass on to the real listener callbacks.\n // If we're \"batching\" behavior, then the wrapped callbacks will\n // bail out, causing the base store notification behavior to be no-ops.\n\n\n return store.dispatch(action);\n } finally {\n // Assume we're back to normal behavior after each action\n notifying = true;\n }\n }\n\n });\n};","import type { StoreEnhancer } from 'redux';\nimport type { AutoBatchOptions } from './autoBatchEnhancer';\nimport { autoBatchEnhancer } from './autoBatchEnhancer';\nimport { Tuple } from './utils';\nimport type { Middlewares } from './configureStore';\nimport type { ExtractDispatchExtensions } from './tsHelpers';\ntype GetDefaultEnhancersOptions = {\n autoBatch?: boolean | AutoBatchOptions;\n};\nexport type GetDefaultEnhancers> = (options?: GetDefaultEnhancersOptions) => Tuple<[StoreEnhancer<{\n dispatch: ExtractDispatchExtensions;\n}>]>;\nexport const buildGetDefaultEnhancers = ,>(middlewareEnhancer: StoreEnhancer<{\n dispatch: ExtractDispatchExtensions;\n}>): GetDefaultEnhancers => function getDefaultEnhancers(options) {\n const {\n autoBatch = true\n } = options ?? {};\n let enhancerArray = new Tuple(middlewareEnhancer);\n\n if (autoBatch) {\n enhancerArray.push(autoBatchEnhancer(typeof autoBatch === 'object' ? autoBatch : undefined));\n }\n\n return (enhancerArray as any);\n};","import { formatProdErrorMessage as _formatProdErrorMessage7 } from \"@reduxjs/toolkit\";\nimport { formatProdErrorMessage as _formatProdErrorMessage6 } from \"@reduxjs/toolkit\";\nimport { formatProdErrorMessage as _formatProdErrorMessage5 } from \"@reduxjs/toolkit\";\nimport { formatProdErrorMessage as _formatProdErrorMessage4 } from \"@reduxjs/toolkit\";\nimport { formatProdErrorMessage as _formatProdErrorMessage3 } from \"@reduxjs/toolkit\";\nimport { formatProdErrorMessage as _formatProdErrorMessage2 } from \"@reduxjs/toolkit\";\nimport { formatProdErrorMessage as _formatProdErrorMessage } from \"@reduxjs/toolkit\";\nimport type { Reducer, ReducersMapObject, Middleware, Action, StoreEnhancer, Store, UnknownAction } from 'redux';\nimport { applyMiddleware, createStore, compose, combineReducers, isPlainObject } from 'redux';\nimport type { DevToolsEnhancerOptions as DevToolsOptions } from './devtoolsExtension';\nimport { composeWithDevTools } from './devtoolsExtension';\nimport type { ThunkMiddlewareFor, GetDefaultMiddleware } from './getDefaultMiddleware';\nimport { buildGetDefaultMiddleware } from './getDefaultMiddleware';\nimport type { ExtractDispatchExtensions, ExtractStoreExtensions, ExtractStateExtensions, UnknownIfNonSpecific } from './tsHelpers';\nimport type { Tuple } from './utils';\nimport type { GetDefaultEnhancers } from './getDefaultEnhancers';\nimport { buildGetDefaultEnhancers } from './getDefaultEnhancers';\nconst IS_PRODUCTION = process.env.NODE_ENV === 'production';\n/**\n * Options for `configureStore()`.\n *\n * @public\n */\n\nexport interface ConfigureStoreOptions> = Tuple>, E extends Tuple = Tuple, P = S> {\n /**\n * A single reducer function that will be used as the root reducer, or an\n * object of slice reducers that will be passed to `combineReducers()`.\n */\n reducer: Reducer | ReducersMapObject;\n /**\n * An array of Redux middleware to install, or a callback receiving `getDefaultMiddleware` and returning a Tuple of middleware.\n * If not supplied, defaults to the set of middleware returned by `getDefaultMiddleware()`.\n *\n * @example `middleware: (gDM) => gDM().concat(logger, apiMiddleware, yourCustomMiddleware)`\n * @see https://redux-toolkit.js.org/api/getDefaultMiddleware#intended-usage\n */\n\n middleware?: (getDefaultMiddleware: GetDefaultMiddleware) => M;\n /**\n * Whether to enable Redux DevTools integration. Defaults to `true`.\n *\n * Additional configuration can be done by passing Redux DevTools options\n */\n\n devTools?: boolean | DevToolsOptions;\n /**\n * The initial state, same as Redux's createStore.\n * You may optionally specify it to hydrate the state\n * from the server in universal apps, or to restore a previously serialized\n * user session. If you use `combineReducers()` to produce the root reducer\n * function (either directly or indirectly by passing an object as `reducer`),\n * this must be an object with the same shape as the reducer map keys.\n */\n // we infer here, and instead complain if the reducer doesn't match\n\n preloadedState?: P;\n /**\n * The store enhancers to apply. See Redux's `createStore()`.\n * All enhancers will be included before the DevTools Extension enhancer.\n * If you need to customize the order of enhancers, supply a callback\n * function that will receive a `getDefaultEnhancers` function that returns a Tuple,\n * and should return a Tuple of enhancers (such as `getDefaultEnhancers().concat(offline)`).\n * If you only need to add middleware, you can use the `middleware` parameter instead.\n */\n\n enhancers?: (getDefaultEnhancers: GetDefaultEnhancers) => E;\n}\nexport type Middlewares = ReadonlyArray>;\ntype Enhancers = ReadonlyArray;\n/**\n * A Redux store returned by `configureStore()`. Supports dispatching\n * side-effectful _thunks_ in addition to plain actions.\n *\n * @public\n */\n\nexport type EnhancedStore = ExtractStoreExtensions & Store>>;\n/**\n * A friendly abstraction over the standard Redux `createStore()` function.\n *\n * @param options The store configuration.\n * @returns A configured Redux store.\n *\n * @public\n */\n\nexport function configureStore> = Tuple<[ThunkMiddlewareFor]>, E extends Tuple = Tuple<[StoreEnhancer<{\n dispatch: ExtractDispatchExtensions;\n}>, StoreEnhancer]>, P = S>(options: ConfigureStoreOptions): EnhancedStore {\n const getDefaultMiddleware = buildGetDefaultMiddleware();\n const {\n reducer = undefined,\n middleware,\n devTools = true,\n preloadedState = undefined,\n enhancers = undefined\n } = options || {};\n let rootReducer: Reducer;\n\n if (typeof reducer === 'function') {\n rootReducer = reducer;\n } else if (isPlainObject(reducer)) {\n rootReducer = ((combineReducers(reducer) as unknown) as Reducer);\n } else {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage(1) : '`reducer` is a required argument, and must be a function or an object of functions that can be passed to combineReducers');\n }\n\n if (!IS_PRODUCTION && middleware && typeof middleware !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage2(2) : '`middleware` field must be a callback');\n }\n\n let finalMiddleware: Tuple>;\n\n if (typeof middleware === 'function') {\n finalMiddleware = middleware(getDefaultMiddleware);\n\n if (!IS_PRODUCTION && !Array.isArray(finalMiddleware)) {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage3(3) : 'when using a middleware builder function, an array of middleware must be returned');\n }\n } else {\n finalMiddleware = getDefaultMiddleware();\n }\n\n if (!IS_PRODUCTION && finalMiddleware.some((item: any) => typeof item !== 'function')) {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage4(4) : 'each middleware provided to configureStore must be a function');\n }\n\n let finalCompose = compose;\n\n if (devTools) {\n finalCompose = composeWithDevTools({\n // Enable capture of stack traces for dispatched Redux actions\n trace: !IS_PRODUCTION,\n ...(typeof devTools === 'object' && devTools)\n });\n }\n\n const middlewareEnhancer = applyMiddleware(...finalMiddleware);\n const getDefaultEnhancers = buildGetDefaultEnhancers(middlewareEnhancer);\n\n if (!IS_PRODUCTION && enhancers && typeof enhancers !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage5(5) : '`enhancers` field must be a callback');\n }\n\n let storeEnhancers = typeof enhancers === 'function' ? enhancers(getDefaultEnhancers) : getDefaultEnhancers();\n\n if (!IS_PRODUCTION && !Array.isArray(storeEnhancers)) {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage6(6) : '`enhancers` callback must return an array');\n }\n\n if (!IS_PRODUCTION && storeEnhancers.some((item: any) => typeof item !== 'function')) {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage7(7) : 'each enhancer provided to configureStore must be a function');\n }\n\n if (!IS_PRODUCTION && finalMiddleware.length && !storeEnhancers.includes(middlewareEnhancer)) {\n console.error('middlewares were provided, but middleware enhancer was not included in final enhancers - make sure to call `getDefaultEnhancers`');\n }\n\n const composedEnhancer: StoreEnhancer = finalCompose(...storeEnhancers);\n return createStore(rootReducer, (preloadedState as P), composedEnhancer);\n}","import { formatProdErrorMessage as _formatProdErrorMessage } from \"src/utils/formatProdErrorMessage\";\nimport compose from './compose';\nimport { Middleware, MiddlewareAPI } from './types/middleware';\nimport { StoreEnhancer, Dispatch } from './types/store';\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param middlewares The middleware chain to be applied.\n * @returns A store enhancer applying the middleware.\n *\n * @template Ext Dispatch signature added by a middleware.\n * @template S The type of the state supported by a middleware.\n */\nexport default function applyMiddleware(): StoreEnhancer;\nexport default function applyMiddleware(middleware1: Middleware): StoreEnhancer<{\n dispatch: Ext1;\n}>;\nexport default function applyMiddleware(middleware1: Middleware, middleware2: Middleware): StoreEnhancer<{\n dispatch: Ext1 & Ext2;\n}>;\nexport default function applyMiddleware(middleware1: Middleware, middleware2: Middleware, middleware3: Middleware): StoreEnhancer<{\n dispatch: Ext1 & Ext2 & Ext3;\n}>;\nexport default function applyMiddleware(middleware1: Middleware, middleware2: Middleware, middleware3: Middleware, middleware4: Middleware): StoreEnhancer<{\n dispatch: Ext1 & Ext2 & Ext3 & Ext4;\n}>;\nexport default function applyMiddleware(middleware1: Middleware, middleware2: Middleware, middleware3: Middleware, middleware4: Middleware, middleware5: Middleware): StoreEnhancer<{\n dispatch: Ext1 & Ext2 & Ext3 & Ext4 & Ext5;\n}>;\nexport default function applyMiddleware(...middlewares: Middleware[]): StoreEnhancer<{\n dispatch: Ext;\n}>;\nexport default function applyMiddleware(...middlewares: Middleware[]): StoreEnhancer {\n return createStore => (reducer, preloadedState) => {\n const store = createStore(reducer, preloadedState);\n let dispatch: Dispatch = () => {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage(15) : 'Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');\n };\n const middlewareAPI: MiddlewareAPI = {\n getState: store.getState,\n dispatch: (action, ...args) => dispatch(action, ...args)\n };\n const chain = middlewares.map(middleware => middleware(middlewareAPI));\n dispatch = compose(...chain)(store.dispatch);\n return {\n ...store,\n dispatch\n };\n };\n}","import { formatProdErrorMessage as _formatProdErrorMessage6 } from \"@reduxjs/toolkit\";\nimport { formatProdErrorMessage as _formatProdErrorMessage5 } from \"@reduxjs/toolkit\";\nimport { formatProdErrorMessage as _formatProdErrorMessage4 } from \"@reduxjs/toolkit\";\nimport { formatProdErrorMessage as _formatProdErrorMessage3 } from \"@reduxjs/toolkit\";\nimport { formatProdErrorMessage as _formatProdErrorMessage2 } from \"@reduxjs/toolkit\";\nimport { formatProdErrorMessage as _formatProdErrorMessage } from \"@reduxjs/toolkit\";\nimport type { Action } from 'redux';\nimport type { CaseReducer, CaseReducers, ActionMatcherDescriptionCollection } from './createReducer';\nimport type { TypeGuard } from './tsHelpers';\nexport interface TypedActionCreator {\n (...args: any[]): Action;\n type: Type;\n}\n/**\n * A builder for an action <-> reducer map.\n *\n * @public\n */\n\nexport interface ActionReducerMapBuilder {\n /**\n * Adds a case reducer to handle a single exact action type.\n * @remarks\n * All calls to `builder.addCase` must come before any calls to `builder.addMatcher` or `builder.addDefaultCase`.\n * @param actionCreator - Either a plain action type string, or an action creator generated by [`createAction`](./createAction) that can be used to determine the action type.\n * @param reducer - The actual case reducer function.\n */\n addCase>(actionCreator: ActionCreator, reducer: CaseReducer>): ActionReducerMapBuilder;\n /**\n * Adds a case reducer to handle a single exact action type.\n * @remarks\n * All calls to `builder.addCase` must come before any calls to `builder.addMatcher` or `builder.addDefaultCase`.\n * @param actionCreator - Either a plain action type string, or an action creator generated by [`createAction`](./createAction) that can be used to determine the action type.\n * @param reducer - The actual case reducer function.\n */\n\n addCase>(type: Type, reducer: CaseReducer): ActionReducerMapBuilder;\n /**\n * Allows you to match your incoming actions against your own filter function instead of only the `action.type` property.\n * @remarks\n * If multiple matcher reducers match, all of them will be executed in the order\n * they were defined in - even if a case reducer already matched.\n * All calls to `builder.addMatcher` must come after any calls to `builder.addCase` and before any calls to `builder.addDefaultCase`.\n * @param matcher - A matcher function. In TypeScript, this should be a [type predicate](https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates)\n * function\n * @param reducer - The actual case reducer function.\n *\n * @example\n ```ts\n import {\n createAction,\n createReducer,\n AsyncThunk,\n UnknownAction,\n } from \"@reduxjs/toolkit\";\n type GenericAsyncThunk = AsyncThunk;\n type PendingAction = ReturnType;\n type RejectedAction = ReturnType;\n type FulfilledAction = ReturnType;\n const initialState: Record = {};\n const resetAction = createAction(\"reset-tracked-loading-state\");\n function isPendingAction(action: UnknownAction): action is PendingAction {\n return typeof action.type === \"string\" && action.type.endsWith(\"/pending\");\n }\n const reducer = createReducer(initialState, (builder) => {\n builder\n .addCase(resetAction, () => initialState)\n // matcher can be defined outside as a type predicate function\n .addMatcher(isPendingAction, (state, action) => {\n state[action.meta.requestId] = \"pending\";\n })\n .addMatcher(\n // matcher can be defined inline as a type predicate function\n (action): action is RejectedAction => action.type.endsWith(\"/rejected\"),\n (state, action) => {\n state[action.meta.requestId] = \"rejected\";\n }\n )\n // matcher can just return boolean and the matcher can receive a generic argument\n .addMatcher(\n (action) => action.type.endsWith(\"/fulfilled\"),\n (state, action) => {\n state[action.meta.requestId] = \"fulfilled\";\n }\n );\n });\n ```\n */\n\n addMatcher(matcher: TypeGuard | ((action: any) => boolean), reducer: CaseReducer): Omit, 'addCase'>;\n /**\n * Adds a \"default case\" reducer that is executed if no case reducer and no matcher\n * reducer was executed for this action.\n * @param reducer - The fallback \"default case\" reducer function.\n *\n * @example\n ```ts\n import { createReducer } from '@reduxjs/toolkit'\n const initialState = { otherActions: 0 }\n const reducer = createReducer(initialState, builder => {\n builder\n // .addCase(...)\n // .addMatcher(...)\n .addDefaultCase((state, action) => {\n state.otherActions++\n })\n })\n ```\n */\n\n addDefaultCase(reducer: CaseReducer): {};\n}\nexport function executeReducerBuilderCallback(builderCallback: (builder: ActionReducerMapBuilder) => void): [CaseReducers, ActionMatcherDescriptionCollection, CaseReducer | undefined] {\n const actionsMap: CaseReducers = {};\n const actionMatchers: ActionMatcherDescriptionCollection = [];\n let defaultCaseReducer: CaseReducer | undefined;\n const builder = {\n addCase(typeOrActionCreator: string | TypedActionCreator, reducer: CaseReducer) {\n if (process.env.NODE_ENV !== 'production') {\n /*\n to keep the definition by the user in line with actual behavior,\n we enforce `addCase` to always be called before calling `addMatcher`\n as matching cases take precedence over matchers\n */\n if (actionMatchers.length > 0) {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage(26) : '`builder.addCase` should only be called before calling `builder.addMatcher`');\n }\n\n if (defaultCaseReducer) {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage2(27) : '`builder.addCase` should only be called before calling `builder.addDefaultCase`');\n }\n }\n\n const type = typeof typeOrActionCreator === 'string' ? typeOrActionCreator : typeOrActionCreator.type;\n\n if (!type) {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage3(28) : '`builder.addCase` cannot be called with an empty action type');\n }\n\n if (type in actionsMap) {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage4(29) : '`builder.addCase` cannot be called with two reducers for the same action type ' + `'${type}'`);\n }\n\n actionsMap[type] = reducer;\n return builder;\n },\n\n addMatcher(matcher: TypeGuard, reducer: CaseReducer) {\n if (process.env.NODE_ENV !== 'production') {\n if (defaultCaseReducer) {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage5(30) : '`builder.addMatcher` should only be called before calling `builder.addDefaultCase`');\n }\n }\n\n actionMatchers.push({\n matcher,\n reducer\n });\n return builder;\n },\n\n addDefaultCase(reducer: CaseReducer) {\n if (process.env.NODE_ENV !== 'production') {\n if (defaultCaseReducer) {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage6(31) : '`builder.addDefaultCase` can only be called once');\n }\n }\n\n defaultCaseReducer = reducer;\n return builder;\n }\n\n };\n builderCallback(builder);\n return [actionsMap, actionMatchers, defaultCaseReducer];\n}","// Borrowed from https://github.com/ai/nanoid/blob/3.0.2/non-secure/index.js\n// This alphabet uses `A-Za-z0-9_-` symbols. A genetic algorithm helped\n// optimize the gzip compression for this alphabet.\nlet urlAlphabet = 'ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW';\n/**\n *\n * @public\n */\n\nexport let nanoid = (size = 21) => {\n let id = ''; // A compact alternative for `for (var i = 0; i < step; i++)`.\n\n let i = size;\n\n while (i--) {\n // `| 0` is more compact and faster than `Math.floor()`.\n id += urlAlphabet[Math.random() * 64 | 0];\n }\n\n return id;\n};","import { formatProdErrorMessage as _formatProdErrorMessage8 } from \"@reduxjs/toolkit\";\nimport { formatProdErrorMessage as _formatProdErrorMessage7 } from \"@reduxjs/toolkit\";\nimport { formatProdErrorMessage as _formatProdErrorMessage6 } from \"@reduxjs/toolkit\";\nimport { formatProdErrorMessage as _formatProdErrorMessage5 } from \"@reduxjs/toolkit\";\nimport { formatProdErrorMessage as _formatProdErrorMessage4 } from \"@reduxjs/toolkit\";\nimport { formatProdErrorMessage as _formatProdErrorMessage3 } from \"@reduxjs/toolkit\";\nimport { formatProdErrorMessage as _formatProdErrorMessage2 } from \"@reduxjs/toolkit\";\nimport { formatProdErrorMessage as _formatProdErrorMessage } from \"@reduxjs/toolkit\";\nimport type { Action, UnknownAction, Reducer } from 'redux';\nimport type { Selector } from 'reselect';\nimport type { ActionCreatorWithoutPayload, PayloadAction, PayloadActionCreator, PrepareAction, _ActionCreatorWithPreparedPayload } from './createAction';\nimport { createAction } from './createAction';\nimport type { ActionMatcherDescriptionCollection, CaseReducer, ReducerWithInitialState } from './createReducer';\nimport { createReducer } from './createReducer';\nimport type { ActionReducerMapBuilder, TypedActionCreator } from './mapBuilders';\nimport { executeReducerBuilderCallback } from './mapBuilders';\nimport type { Id, Tail, TypeGuard } from './tsHelpers';\nimport type { InjectConfig } from './combineSlices';\nimport type { AsyncThunk, AsyncThunkConfig, AsyncThunkOptions, AsyncThunkPayloadCreator, OverrideThunkApiConfigs } from './createAsyncThunk';\nimport { createAsyncThunk as _createAsyncThunk } from './createAsyncThunk';\nimport { emplace } from './utils';\nconst asyncThunkSymbol = /* @__PURE__ */Symbol.for('rtk-slice-createasyncthunk'); // type is annotated because it's too long to infer\n\nexport const asyncThunkCreator: {\n [asyncThunkSymbol]: typeof _createAsyncThunk;\n} = {\n [asyncThunkSymbol]: _createAsyncThunk\n};\ninterface InjectIntoConfig extends InjectConfig {\n reducerPath?: NewReducerPath;\n}\n/**\n * The return value of `createSlice`\n *\n * @public\n */\n\nexport interface Slice = SliceCaseReducers, Name extends string = string, ReducerPath extends string = Name, Selectors extends SliceSelectors = SliceSelectors> {\n /**\n * The slice name.\n */\n name: Name;\n /**\n * The slice reducer path.\n */\n\n reducerPath: ReducerPath;\n /**\n * The slice's reducer.\n */\n\n reducer: Reducer;\n /**\n * Action creators for the types of actions that are handled by the slice\n * reducer.\n */\n\n actions: CaseReducerActions;\n /**\n * The individual case reducer functions that were passed in the `reducers` parameter.\n * This enables reuse and testing if they were defined inline when calling `createSlice`.\n */\n\n caseReducers: SliceDefinedCaseReducers;\n /**\n * Provides access to the initial state value given to the slice.\n * If a lazy state initializer was provided, it will be called and a fresh value returned.\n */\n\n getInitialState: () => State;\n /**\n * Get localised slice selectors (expects to be called with *just* the slice's state as the first parameter)\n */\n\n getSelectors(): Id>;\n /**\n * Get globalised slice selectors (`selectState` callback is expected to receive first parameter and return slice state)\n */\n\n getSelectors(selectState: (rootState: RootState) => State): Id>;\n /**\n * Selectors that assume the slice's state is `rootState[slice.reducerPath]` (which is usually the case)\n *\n * Equivalent to `slice.getSelectors((state: RootState) => state[slice.reducerPath])`.\n */\n\n get selectors(): Id>;\n /**\n * Inject slice into provided reducer (return value from `combineSlices`), and return injected slice.\n */\n\n injectInto(this: this, injectable: {\n inject: (slice: {\n reducerPath: string;\n reducer: Reducer;\n }, config?: InjectConfig) => void;\n }, config?: InjectIntoConfig): InjectedSlice;\n /**\n * Select the slice state, using the slice's current reducerPath.\n *\n * Will throw an error if slice is not found.\n */\n\n selectSlice(state: { [K in ReducerPath]: State }): State;\n}\n/**\n * A slice after being called with `injectInto(reducer)`.\n *\n * Selectors can now be called with an `undefined` value, in which case they use the slice's initial state.\n */\n\ninterface InjectedSlice = SliceCaseReducers, Name extends string = string, ReducerPath extends string = Name, Selectors extends SliceSelectors = SliceSelectors> extends Omit, 'getSelectors' | 'selectors'> {\n /**\n * Get localised slice selectors (expects to be called with *just* the slice's state as the first parameter)\n */\n getSelectors(): Id>;\n /**\n * Get globalised slice selectors (`selectState` callback is expected to receive first parameter and return slice state)\n */\n\n getSelectors(selectState: (rootState: RootState) => State | undefined): Id>;\n /**\n * Selectors that assume the slice's state is `rootState[slice.name]` (which is usually the case)\n *\n * Equivalent to `slice.getSelectors((state: RootState) => state[slice.name])`.\n */\n\n get selectors(): Id>;\n /**\n * Select the slice state, using the slice's current reducerPath.\n *\n * Returns initial state if slice is not found.\n */\n\n selectSlice(state: { [K in ReducerPath]?: State | undefined }): State;\n}\n/**\n * Options for `createSlice()`.\n *\n * @public\n */\n\nexport interface CreateSliceOptions = SliceCaseReducers, Name extends string = string, ReducerPath extends string = Name, Selectors extends SliceSelectors = SliceSelectors> {\n /**\n * The slice's name. Used to namespace the generated action types.\n */\n name: Name;\n /**\n * The slice's reducer path. Used when injecting into a combined slice reducer.\n */\n\n reducerPath?: ReducerPath;\n /**\n * The initial state that should be used when the reducer is called the first time. This may also be a \"lazy initializer\" function, which should return an initial state value when called. This will be used whenever the reducer is called with `undefined` as its state value, and is primarily useful for cases like reading initial state from `localStorage`.\n */\n\n initialState: State | (() => State);\n /**\n * A mapping from action types to action-type-specific *case reducer*\n * functions. For every action type, a matching action creator will be\n * generated using `createAction()`.\n */\n\n reducers: ValidateSliceCaseReducers | ((creators: ReducerCreators) => CR);\n /**\n * A callback that receives a *builder* object to define\n * case reducers via calls to `builder.addCase(actionCreatorOrType, reducer)`.\n * \n * \n * @example\n ```ts\n import { createAction, createSlice, Action } from '@reduxjs/toolkit'\n const incrementBy = createAction('incrementBy')\n const decrement = createAction('decrement')\n interface RejectedAction extends Action {\n error: Error\n }\n function isRejectedAction(action: Action): action is RejectedAction {\n return action.type.endsWith('rejected')\n }\n createSlice({\n name: 'counter',\n initialState: 0,\n reducers: {},\n extraReducers: builder => {\n builder\n .addCase(incrementBy, (state, action) => {\n // action is inferred correctly here if using TS\n })\n // You can chain calls, or have separate `builder.addCase()` lines each time\n .addCase(decrement, (state, action) => {})\n // You can match a range of action types\n .addMatcher(\n isRejectedAction,\n // `action` will be inferred as a RejectedAction due to isRejectedAction being defined as a type guard\n (state, action) => {}\n )\n // and provide a default case if no other handlers matched\n .addDefaultCase((state, action) => {})\n }\n })\n ```\n */\n\n extraReducers?: (builder: ActionReducerMapBuilder) => void;\n /**\n * A map of selectors that receive the slice's state and any additional arguments, and return a result.\n */\n\n selectors?: Selectors;\n}\nexport enum ReducerType {\n reducer = 'reducer',\n reducerWithPrepare = 'reducerWithPrepare',\n asyncThunk = 'asyncThunk',\n}\ninterface ReducerDefinition {\n _reducerDefinitionType: T;\n}\nexport interface CaseReducerDefinition extends CaseReducer, ReducerDefinition {}\n/**\n * A CaseReducer with a `prepare` method.\n *\n * @public\n */\n\nexport type CaseReducerWithPrepare = {\n reducer: CaseReducer;\n prepare: PrepareAction;\n};\nexport interface CaseReducerWithPrepareDefinition extends CaseReducerWithPrepare, ReducerDefinition {}\nexport interface AsyncThunkSliceReducerConfig {\n pending?: CaseReducer['pending']>>;\n rejected?: CaseReducer['rejected']>>;\n fulfilled?: CaseReducer['fulfilled']>>;\n settled?: CaseReducer['rejected' | 'fulfilled']>>;\n options?: AsyncThunkOptions;\n}\nexport interface AsyncThunkSliceReducerDefinition extends AsyncThunkSliceReducerConfig, ReducerDefinition {\n payloadCreator: AsyncThunkPayloadCreator;\n}\n/**\n * Providing these as part of the config would cause circular types, so we disallow passing them\n */\n\ntype PreventCircular = { [K in keyof ThunkApiConfig]: K extends 'state' | 'dispatch' ? never : ThunkApiConfig[K] };\ninterface AsyncThunkCreator = PreventCircular> {\n (payloadCreator: AsyncThunkPayloadCreator, config?: AsyncThunkSliceReducerConfig): AsyncThunkSliceReducerDefinition;\n = {}>(payloadCreator: AsyncThunkPayloadCreator, config?: AsyncThunkSliceReducerConfig): AsyncThunkSliceReducerDefinition;\n withTypes>(): AsyncThunkCreator>;\n}\nexport interface ReducerCreators {\n reducer(caseReducer: CaseReducer): CaseReducerDefinition;\n reducer(caseReducer: CaseReducer>): CaseReducerDefinition>;\n asyncThunk: AsyncThunkCreator;\n preparedReducer>(prepare: Prepare, reducer: CaseReducer>>): {\n _reducerDefinitionType: ReducerType.reducerWithPrepare;\n prepare: Prepare;\n reducer: CaseReducer>>;\n };\n}\n/**\n * The type describing a slice's `reducers` option.\n *\n * @public\n */\n\nexport type SliceCaseReducers = Record> | CaseReducerWithPrepareDefinition> | AsyncThunkSliceReducerDefinition> | Record> | CaseReducerWithPrepare>>;\n/**\n * The type describing a slice's `selectors` option.\n */\n\nexport type SliceSelectors = {\n [K: string]: (sliceState: State, ...args: any[]) => any;\n};\ntype SliceActionType = ActionName extends string | number ? `${SliceName}/${ActionName}` : string;\n/**\n * Derives the slice's `actions` property from the `reducers` options\n *\n * @public\n */\n\nexport type CaseReducerActions, SliceName extends string> = { [Type in keyof CaseReducers]: CaseReducers[Type] extends infer Definition ? Definition extends {\n prepare: any;\n} ? ActionCreatorForCaseReducerWithPrepare> : Definition extends AsyncThunkSliceReducerDefinition ? AsyncThunk : Definition extends {\n reducer: any;\n} ? ActionCreatorForCaseReducer> : ActionCreatorForCaseReducer> : never };\n/**\n * Get a `PayloadActionCreator` type for a passed `CaseReducerWithPrepare`\n *\n * @internal\n */\n\ntype ActionCreatorForCaseReducerWithPrepare = _ActionCreatorWithPreparedPayload;\n/**\n * Get a `PayloadActionCreator` type for a passed `CaseReducer`\n *\n * @internal\n */\n\ntype ActionCreatorForCaseReducer = CR extends (state: any, action: infer Action) => any ? Action extends {\n payload: infer P;\n} ? PayloadActionCreator : ActionCreatorWithoutPayload : ActionCreatorWithoutPayload;\n/**\n * Extracts the CaseReducers out of a `reducers` object, even if they are\n * tested into a `CaseReducerWithPrepare`.\n *\n * @internal\n */\n\ntype SliceDefinedCaseReducers> = { [Type in keyof CaseReducers]: CaseReducers[Type] extends infer Definition ? Definition extends AsyncThunkSliceReducerDefinition ? Id, 'fulfilled' | 'rejected' | 'pending' | 'settled'>> : Definition extends {\n reducer: infer Reducer;\n} ? Reducer : Definition : never };\ntype RemappedSelector = S extends Selector ? Selector & {\n unwrapped: S;\n} : never;\n/**\n * Extracts the final selector type from the `selectors` object.\n *\n * Removes the `string` index signature from the default value.\n */\n\ntype SliceDefinedSelectors, RootState> = { [K in keyof Selectors as string extends K ? never : K]: RemappedSelector };\n/**\n * Used on a SliceCaseReducers object.\n * Ensures that if a CaseReducer is a `CaseReducerWithPrepare`, that\n * the `reducer` and the `prepare` function use the same type of `payload`.\n *\n * Might do additional such checks in the future.\n *\n * This type is only ever useful if you want to write your own wrapper around\n * `createSlice`. Please don't use it otherwise!\n *\n * @public\n */\n\nexport type ValidateSliceCaseReducers> = ACR & { [T in keyof ACR]: ACR[T] extends {\n reducer(s: S, action?: infer A): any;\n} ? {\n prepare(...a: never[]): Omit;\n} : {} };\n\nfunction getType(slice: string, actionKey: string): string {\n return `${slice}/${actionKey}`;\n}\n\ninterface BuildCreateSliceConfig {\n creators?: {\n asyncThunk?: typeof asyncThunkCreator;\n };\n}\nexport function buildCreateSlice({\n creators\n}: BuildCreateSliceConfig = {}) {\n const cAT = creators?.asyncThunk?.[asyncThunkSymbol];\n return function createSlice, Name extends string, Selectors extends SliceSelectors, ReducerPath extends string = Name>(options: CreateSliceOptions): Slice {\n const {\n name,\n reducerPath = ((name as unknown) as ReducerPath)\n } = options;\n\n if (!name) {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage(11) : '`name` is a required option for createSlice');\n }\n\n if (typeof process !== 'undefined' && process.env.NODE_ENV === 'development') {\n if (options.initialState === undefined) {\n console.error('You must provide an `initialState` value that is not `undefined`. You may have misspelled `initialState`');\n }\n }\n\n const reducers = (typeof options.reducers === 'function' ? options.reducers(buildReducerCreators()) : options.reducers) || {};\n const reducerNames = Object.keys(reducers);\n const context: ReducerHandlingContext = {\n sliceCaseReducersByName: {},\n sliceCaseReducersByType: {},\n actionCreators: {},\n sliceMatchers: []\n };\n const contextMethods: ReducerHandlingContextMethods = {\n addCase(typeOrActionCreator: string | TypedActionCreator, reducer: CaseReducer) {\n const type = typeof typeOrActionCreator === 'string' ? typeOrActionCreator : typeOrActionCreator.type;\n\n if (!type) {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage2(12) : '`context.addCase` cannot be called with an empty action type');\n }\n\n if (type in context.sliceCaseReducersByType) {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage3(13) : '`context.addCase` cannot be called with two reducers for the same action type: ' + type);\n }\n\n context.sliceCaseReducersByType[type] = reducer;\n return contextMethods;\n },\n\n addMatcher(matcher, reducer) {\n context.sliceMatchers.push({\n matcher,\n reducer\n });\n return contextMethods;\n },\n\n exposeAction(name, actionCreator) {\n context.actionCreators[name] = actionCreator;\n return contextMethods;\n },\n\n exposeCaseReducer(name, reducer) {\n context.sliceCaseReducersByName[name] = reducer;\n return contextMethods;\n }\n\n };\n reducerNames.forEach(reducerName => {\n const reducerDefinition = reducers[reducerName];\n const reducerDetails: ReducerDetails = {\n reducerName,\n type: getType(name, reducerName),\n createNotation: typeof options.reducers === 'function'\n };\n\n if (isAsyncThunkSliceReducerDefinition(reducerDefinition)) {\n handleThunkCaseReducerDefinition(reducerDetails, reducerDefinition, contextMethods, cAT);\n } else {\n handleNormalReducerDefinition(reducerDetails, reducerDefinition, contextMethods);\n }\n });\n\n function buildReducer() {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof options.extraReducers === 'object') {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage4(14) : \"The object notation for `createSlice.extraReducers` has been removed. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createSlice\");\n }\n }\n\n const [extraReducers = {}, actionMatchers = [], defaultCaseReducer = undefined] = typeof options.extraReducers === 'function' ? executeReducerBuilderCallback(options.extraReducers) : [options.extraReducers];\n const finalCaseReducers = { ...extraReducers,\n ...context.sliceCaseReducersByType\n };\n return createReducer(options.initialState, builder => {\n for (let key in finalCaseReducers) {\n builder.addCase(key, (finalCaseReducers[key] as CaseReducer));\n }\n\n for (let sM of context.sliceMatchers) {\n builder.addMatcher(sM.matcher, sM.reducer);\n }\n\n for (let m of actionMatchers) {\n builder.addMatcher(m.matcher, m.reducer);\n }\n\n if (defaultCaseReducer) {\n builder.addDefaultCase(defaultCaseReducer);\n }\n });\n }\n\n const selectSelf = (state: State) => state;\n\n const injectedSelectorCache = new Map State | undefined, Record any>>>();\n\n let _reducer: ReducerWithInitialState;\n\n function reducer(state: State | undefined, action: UnknownAction) {\n if (!_reducer) _reducer = buildReducer();\n return _reducer(state, action);\n }\n\n function getInitialState() {\n if (!_reducer) _reducer = buildReducer();\n return _reducer.getInitialState();\n }\n\n function makeSelectorProps(reducerPath: CurrentReducerPath, injected = false): Pick, 'getSelectors' | 'selectors' | 'selectSlice' | 'reducerPath'> {\n function selectSlice(state: { [K in CurrentReducerPath]: State }) {\n let sliceState = state[reducerPath];\n\n if (typeof sliceState === 'undefined') {\n if (injected) {\n sliceState = getInitialState();\n } else if (process.env.NODE_ENV !== 'production') {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage5(15) : 'selectSlice returned undefined for an uninjected slice reducer');\n }\n }\n\n return sliceState;\n }\n\n function getSelectors(selectState: (rootState: any) => State = selectSelf) {\n const selectorCache = emplace(injectedSelectorCache, injected, {\n insert: () => new WeakMap()\n });\n return (emplace(selectorCache, selectState, {\n insert: () => {\n const map: Record> = {};\n\n for (const [name, selector] of Object.entries(options.selectors ?? {})) {\n map[name] = wrapSelector(selector, selectState, getInitialState, injected);\n }\n\n return map;\n }\n }) as any);\n }\n\n return {\n reducerPath,\n getSelectors,\n\n get selectors() {\n return getSelectors(selectSlice);\n },\n\n selectSlice\n };\n }\n\n const slice: Slice = {\n name,\n reducer,\n actions: (context.actionCreators as any),\n caseReducers: (context.sliceCaseReducersByName as any),\n getInitialState,\n ...makeSelectorProps(reducerPath),\n\n injectInto(injectable, {\n reducerPath: pathOpt,\n ...config\n } = {}) {\n const newReducerPath = pathOpt ?? reducerPath;\n injectable.inject({\n reducerPath: newReducerPath,\n reducer\n }, config);\n return ({ ...slice,\n ...makeSelectorProps(newReducerPath, true)\n } as any);\n }\n\n };\n return slice;\n };\n}\n\nfunction wrapSelector>(selector: S, selectState: Selector, getInitialState: () => State, injected?: boolean) {\n function wrapper(rootState: NewState, ...args: any[]) {\n let sliceState = selectState(rootState);\n\n if (typeof sliceState === 'undefined') {\n if (injected) {\n sliceState = getInitialState();\n } else if (process.env.NODE_ENV !== 'production') {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage6(16) : 'selectState returned undefined for an uninjected slice reducer');\n }\n }\n\n return selector(sliceState, ...args);\n }\n\n wrapper.unwrapped = selector;\n return (wrapper as RemappedSelector);\n}\n/**\n * A function that accepts an initial state, an object full of reducer\n * functions, and a \"slice name\", and automatically generates\n * action creators and action types that correspond to the\n * reducers and state.\n *\n * @public\n */\n\n\nexport const createSlice = /* @__PURE__ */buildCreateSlice();\ninterface ReducerHandlingContext {\n sliceCaseReducersByName: Record | Pick, 'fulfilled' | 'rejected' | 'pending' | 'settled'>>;\n sliceCaseReducersByType: Record>;\n sliceMatchers: ActionMatcherDescriptionCollection;\n actionCreators: Record;\n}\ninterface ReducerHandlingContextMethods {\n /**\n * Adds a case reducer to handle a single action type.\n * @param actionCreator - Either a plain action type string, or an action creator generated by [`createAction`](./createAction) that can be used to determine the action type.\n * @param reducer - The actual case reducer function.\n */\n addCase>(actionCreator: ActionCreator, reducer: CaseReducer>): ReducerHandlingContextMethods;\n /**\n * Adds a case reducer to handle a single action type.\n * @param actionCreator - Either a plain action type string, or an action creator generated by [`createAction`](./createAction) that can be used to determine the action type.\n * @param reducer - The actual case reducer function.\n */\n\n addCase>(type: Type, reducer: CaseReducer): ReducerHandlingContextMethods;\n /**\n * Allows you to match incoming actions against your own filter function instead of only the `action.type` property.\n * @remarks\n * If multiple matcher reducers match, all of them will be executed in the order\n * they were defined in - even if a case reducer already matched.\n * All calls to `builder.addMatcher` must come after any calls to `builder.addCase` and before any calls to `builder.addDefaultCase`.\n * @param matcher - A matcher function. In TypeScript, this should be a [type predicate](https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates)\n * function\n * @param reducer - The actual case reducer function.\n *\n */\n\n addMatcher(matcher: TypeGuard, reducer: CaseReducer): ReducerHandlingContextMethods;\n /**\n * Add an action to be exposed under the final `slice.actions` key.\n * @param name The key to be exposed as.\n * @param actionCreator The action to expose.\n * @example\n * context.exposeAction(\"addPost\", createAction(\"addPost\"));\n *\n * export const { addPost } = slice.actions\n *\n * dispatch(addPost(post))\n */\n\n exposeAction(name: string, actionCreator: Function): ReducerHandlingContextMethods;\n /**\n * Add a case reducer to be exposed under the final `slice.caseReducers` key.\n * @param name The key to be exposed as.\n * @param reducer The reducer to expose.\n * @example\n * context.exposeCaseReducer(\"addPost\", (state, action: PayloadAction) => {\n * state.push(action.payload)\n * })\n *\n * slice.caseReducers.addPost([], addPost(post))\n */\n\n exposeCaseReducer(name: string, reducer: CaseReducer | Pick, 'fulfilled' | 'rejected' | 'pending' | 'settled'>): ReducerHandlingContextMethods;\n}\ninterface ReducerDetails {\n /** The key the reducer was defined under */\n reducerName: string;\n /** The predefined action type, i.e. `${slice.name}/${reducerName}` */\n\n type: string;\n /** Whether create. notation was used when defining reducers */\n\n createNotation: boolean;\n}\n\nfunction buildReducerCreators(): ReducerCreators {\n function asyncThunk(payloadCreator: AsyncThunkPayloadCreator, config: AsyncThunkSliceReducerConfig): AsyncThunkSliceReducerDefinition {\n return {\n _reducerDefinitionType: ReducerType.asyncThunk,\n payloadCreator,\n ...config\n };\n }\n\n asyncThunk.withTypes = () => asyncThunk;\n\n return {\n reducer(caseReducer: CaseReducer) {\n return Object.assign({\n // hack so the wrapping function has the same name as the original\n // we need to create a wrapper so the `reducerDefinitionType` is not assigned to the original\n [caseReducer.name](...args: Parameters) {\n return caseReducer(...args);\n }\n\n }[caseReducer.name], ({\n _reducerDefinitionType: ReducerType.reducer\n } as const));\n },\n\n preparedReducer(prepare, reducer) {\n return {\n _reducerDefinitionType: ReducerType.reducerWithPrepare,\n prepare,\n reducer\n };\n },\n\n asyncThunk: (asyncThunk as any)\n };\n}\n\nfunction handleNormalReducerDefinition({\n type,\n reducerName,\n createNotation\n}: ReducerDetails, maybeReducerWithPrepare: CaseReducer | CaseReducerWithPrepare>, context: ReducerHandlingContextMethods) {\n let caseReducer: CaseReducer;\n let prepareCallback: PrepareAction | undefined;\n\n if ('reducer' in maybeReducerWithPrepare) {\n if (createNotation && !isCaseReducerWithPrepareDefinition(maybeReducerWithPrepare)) {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage7(17) : 'Please use the `create.preparedReducer` notation for prepared action creators with the `create` notation.');\n }\n\n caseReducer = maybeReducerWithPrepare.reducer;\n prepareCallback = maybeReducerWithPrepare.prepare;\n } else {\n caseReducer = maybeReducerWithPrepare;\n }\n\n context.addCase(type, caseReducer).exposeCaseReducer(reducerName, caseReducer).exposeAction(reducerName, prepareCallback ? createAction(type, prepareCallback) : createAction(type));\n}\n\nfunction isAsyncThunkSliceReducerDefinition(reducerDefinition: any): reducerDefinition is AsyncThunkSliceReducerDefinition {\n return reducerDefinition._reducerDefinitionType === ReducerType.asyncThunk;\n}\n\nfunction isCaseReducerWithPrepareDefinition(reducerDefinition: any): reducerDefinition is CaseReducerWithPrepareDefinition {\n return reducerDefinition._reducerDefinitionType === ReducerType.reducerWithPrepare;\n}\n\nfunction handleThunkCaseReducerDefinition({\n type,\n reducerName\n}: ReducerDetails, reducerDefinition: AsyncThunkSliceReducerDefinition, context: ReducerHandlingContextMethods, cAT: typeof _createAsyncThunk | undefined) {\n if (!cAT) {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage8(18) : 'Cannot use `create.asyncThunk` in the built-in `createSlice`. ' + 'Use `buildCreateSlice({ creators: { asyncThunk: asyncThunkCreator } })` to create a customised version of `createSlice`.');\n }\n\n const {\n payloadCreator,\n fulfilled,\n pending,\n rejected,\n settled,\n options\n } = reducerDefinition;\n const thunk = cAT(type, payloadCreator, (options as any));\n context.exposeAction(reducerName, thunk);\n\n if (fulfilled) {\n context.addCase(thunk.fulfilled, fulfilled);\n }\n\n if (pending) {\n context.addCase(thunk.pending, pending);\n }\n\n if (rejected) {\n context.addCase(thunk.rejected, rejected);\n }\n\n if (settled) {\n context.addMatcher(thunk.settled, settled);\n }\n\n context.exposeCaseReducer(reducerName, {\n fulfilled: fulfilled || noop,\n pending: pending || noop,\n rejected: rejected || noop,\n settled: settled || noop\n });\n}\n\nfunction noop() {}","import { formatProdErrorMessage as _formatProdErrorMessage2 } from \"@reduxjs/toolkit\";\nimport { formatProdErrorMessage as _formatProdErrorMessage } from \"@reduxjs/toolkit\";\nimport type { Draft } from 'immer';\nimport { produce as createNextState, isDraft, isDraftable } from 'immer';\nimport type { Action, Reducer, UnknownAction } from 'redux';\nimport type { ActionReducerMapBuilder } from './mapBuilders';\nimport { executeReducerBuilderCallback } from './mapBuilders';\nimport type { NoInfer, TypeGuard } from './tsHelpers';\nimport { freezeDraftable } from './utils';\n/**\n * Defines a mapping from action types to corresponding action object shapes.\n *\n * @deprecated This should not be used manually - it is only used for internal\n * inference purposes and should not have any further value.\n * It might be removed in the future.\n * @public\n */\n\nexport type Actions = Record;\nexport type ActionMatcherDescription = {\n matcher: TypeGuard;\n reducer: CaseReducer>;\n};\nexport type ReadonlyActionMatcherDescriptionCollection = ReadonlyArray>;\nexport type ActionMatcherDescriptionCollection = Array>;\n/**\n * A *case reducer* is a reducer function for a specific action type. Case\n * reducers can be composed to full reducers using `createReducer()`.\n *\n * Unlike a normal Redux reducer, a case reducer is never called with an\n * `undefined` state to determine the initial state. Instead, the initial\n * state is explicitly specified as an argument to `createReducer()`.\n *\n * In addition, a case reducer can choose to mutate the passed-in `state`\n * value directly instead of returning a new state. This does not actually\n * cause the store state to be mutated directly; instead, thanks to\n * [immer](https://github.com/mweststrate/immer), the mutations are\n * translated to copy operations that result in a new state.\n *\n * @public\n */\n\nexport type CaseReducer = (state: Draft, action: A) => NoInfer | void | Draft>;\n/**\n * A mapping from action types to case reducers for `createReducer()`.\n *\n * @deprecated This should not be used manually - it is only used\n * for internal inference purposes and using it manually\n * would lead to type erasure.\n * It might be removed in the future.\n * @public\n */\n\nexport type CaseReducers = { [T in keyof AS]: AS[T] extends Action ? CaseReducer : void };\nexport type NotFunction = T extends Function ? never : T;\n\nfunction isStateFunction(x: unknown): x is () => S {\n return typeof x === 'function';\n}\n\nexport type ReducerWithInitialState> = Reducer & {\n getInitialState: () => S;\n};\n/**\n * A utility function that allows defining a reducer as a mapping from action\n * type to *case reducer* functions that handle these action types. The\n * reducer's initial state is passed as the first argument.\n *\n * @remarks\n * The body of every case reducer is implicitly wrapped with a call to\n * `produce()` from the [immer](https://github.com/mweststrate/immer) library.\n * This means that rather than returning a new state object, you can also\n * mutate the passed-in state object directly; these mutations will then be\n * automatically and efficiently translated into copies, giving you both\n * convenience and immutability.\n *\n * @overloadSummary\n * This function accepts a callback that receives a `builder` object as its argument.\n * That builder provides `addCase`, `addMatcher` and `addDefaultCase` functions that may be\n * called to define what actions this reducer will handle.\n *\n * @param initialState - `State | (() => State)`: The initial state that should be used when the reducer is called the first time. This may also be a \"lazy initializer\" function, which should return an initial state value when called. This will be used whenever the reducer is called with `undefined` as its state value, and is primarily useful for cases like reading initial state from `localStorage`.\n * @param builderCallback - `(builder: Builder) => void` A callback that receives a *builder* object to define\n * case reducers via calls to `builder.addCase(actionCreatorOrType, reducer)`.\n * @example\n```ts\nimport {\n createAction,\n createReducer,\n UnknownAction,\n PayloadAction,\n} from \"@reduxjs/toolkit\";\n\nconst increment = createAction(\"increment\");\nconst decrement = createAction(\"decrement\");\n\nfunction isActionWithNumberPayload(\n action: UnknownAction\n): action is PayloadAction {\n return typeof action.payload === \"number\";\n}\n\nconst reducer = createReducer(\n {\n counter: 0,\n sumOfNumberPayloads: 0,\n unhandledActions: 0,\n },\n (builder) => {\n builder\n .addCase(increment, (state, action) => {\n // action is inferred correctly here\n state.counter += action.payload;\n })\n // You can chain calls, or have separate `builder.addCase()` lines each time\n .addCase(decrement, (state, action) => {\n state.counter -= action.payload;\n })\n // You can apply a \"matcher function\" to incoming actions\n .addMatcher(isActionWithNumberPayload, (state, action) => {})\n // and provide a default case if no other handlers matched\n .addDefaultCase((state, action) => {});\n }\n);\n```\n * @public\n */\n\nexport function createReducer>(initialState: S | (() => S), mapOrBuilderCallback: (builder: ActionReducerMapBuilder) => void): ReducerWithInitialState {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof mapOrBuilderCallback === 'object') {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage(8) : \"The object notation for `createReducer` has been removed. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createReducer\");\n }\n }\n\n let [actionsMap, finalActionMatchers, finalDefaultCaseReducer] = executeReducerBuilderCallback(mapOrBuilderCallback); // Ensure the initial state gets frozen either way (if draftable)\n\n let getInitialState: () => S;\n\n if (isStateFunction(initialState)) {\n getInitialState = () => freezeDraftable(initialState());\n } else {\n const frozenInitialState = freezeDraftable(initialState);\n\n getInitialState = () => frozenInitialState;\n }\n\n function reducer(state = getInitialState(), action: any): S {\n let caseReducers = [actionsMap[action.type], ...finalActionMatchers.filter(({\n matcher\n }) => matcher(action)).map(({\n reducer\n }) => reducer)];\n\n if (caseReducers.filter(cr => !!cr).length === 0) {\n caseReducers = [finalDefaultCaseReducer];\n }\n\n return caseReducers.reduce((previousState, caseReducer): S => {\n if (caseReducer) {\n if (isDraft(previousState)) {\n // If it's already a draft, we must already be inside a `createNextState` call,\n // likely because this is being wrapped in `createReducer`, `createSlice`, or nested\n // inside an existing draft. It's safe to just pass the draft to the mutator.\n const draft = (previousState as Draft); // We can assume this is already a draft\n\n const result = caseReducer(draft, action);\n\n if (result === undefined) {\n return previousState;\n }\n\n return (result as S);\n } else if (!isDraftable(previousState)) {\n // If state is not draftable (ex: a primitive, such as 0), we want to directly\n // return the caseReducer func and not wrap it with produce.\n const result = caseReducer((previousState as any), action);\n\n if (result === undefined) {\n if (previousState === null) {\n return previousState;\n }\n\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage2(9) : 'A case reducer on a non-draftable value must not return undefined');\n }\n\n return (result as S);\n } else {\n // @ts-ignore createNextState() produces an Immutable> rather\n // than an Immutable, and TypeScript cannot find out how to reconcile\n // these two types.\n return createNextState(previousState, (draft: Draft) => {\n return caseReducer(draft, action);\n });\n }\n }\n\n return previousState;\n }, state);\n }\n\n reducer.getInitialState = getInitialState;\n return (reducer as ReducerWithInitialState);\n}","import type { SerializedError } from '@reduxjs/toolkit';\nconst task = 'task';\nconst listener = 'listener';\nconst completed = 'completed';\nconst cancelled = 'cancelled';\n/* TaskAbortError error codes */\n\nexport const taskCancelled = (`task-${cancelled}` as const);\nexport const taskCompleted = (`task-${completed}` as const);\nexport const listenerCancelled = (`${listener}-${cancelled}` as const);\nexport const listenerCompleted = (`${listener}-${completed}` as const);\nexport class TaskAbortError implements SerializedError {\n name = 'TaskAbortError';\n message: string;\n\n constructor(public code: string | undefined) {\n this.message = `${task} ${cancelled} (reason: ${code})`;\n }\n\n}","import { formatProdErrorMessage as _formatProdErrorMessage } from \"@reduxjs/toolkit\";\nimport type { AbortSignalWithReason } from './types';\nexport const assertFunction: (func: unknown, expected: string) => asserts func is (...args: unknown[]) => unknown = (func: unknown, expected: string) => {\n if (typeof func !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage(32) : `${expected} is not a function`);\n }\n};\nexport const noop = () => {};\nexport const catchRejection = (promise: Promise, onError = noop): Promise => {\n promise.catch(onError);\n return promise;\n};\nexport const addAbortSignalListener = (abortSignal: AbortSignal, callback: (evt: Event) => void) => {\n abortSignal.addEventListener('abort', callback, {\n once: true\n });\n return () => abortSignal.removeEventListener('abort', callback);\n};\n/**\n * Calls `abortController.abort(reason)` and patches `signal.reason`.\n * if it is not supported.\n *\n * At the time of writing `signal.reason` is available in FF chrome, edge node 17 and deno.\n * @param abortController\n * @param reason\n * @returns\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/reason\n */\n\nexport const abortControllerWithReason = (abortController: AbortController, reason: T): void => {\n type Consumer = (val: T) => void;\n const signal = (abortController.signal as AbortSignalWithReason);\n\n if (signal.aborted) {\n return;\n } // Patch `reason` if necessary.\n // - We use defineProperty here because reason is a getter of `AbortSignal.__proto__`.\n // - We need to patch 'reason' before calling `.abort()` because listeners to the 'abort'\n // event are are notified immediately.\n\n\n if (!('reason' in signal)) {\n Object.defineProperty(signal, 'reason', {\n enumerable: true,\n value: reason,\n configurable: true,\n writable: true\n });\n }\n\n ;\n (abortController.abort as Consumer)(reason);\n};","import { TaskAbortError } from './exceptions';\nimport type { AbortSignalWithReason, TaskResult } from './types';\nimport { addAbortSignalListener, catchRejection, noop } from './utils';\n/**\n * Synchronously raises {@link TaskAbortError} if the task tied to the input `signal` has been cancelled.\n * @param signal\n * @param reason\n * @see {TaskAbortError}\n */\n\nexport const validateActive = (signal: AbortSignal): void => {\n if (signal.aborted) {\n const {\n reason\n } = (signal as AbortSignalWithReason);\n throw new TaskAbortError(reason);\n }\n};\n/**\n * Generates a race between the promise(s) and the AbortSignal\n * This avoids `Promise.race()`-related memory leaks:\n * https://github.com/nodejs/node/issues/17469#issuecomment-349794909\n */\n\nexport function raceWithSignal(signal: AbortSignalWithReason, promise: Promise): Promise {\n let cleanup = noop;\n return new Promise((resolve, reject) => {\n const notifyRejection = () => reject(new TaskAbortError(signal.reason));\n\n if (signal.aborted) {\n notifyRejection();\n return;\n }\n\n cleanup = addAbortSignalListener(signal, notifyRejection);\n promise.finally(() => cleanup()).then(resolve, reject);\n }).finally(() => {\n // after this point, replace `cleanup` with a noop, so there is no reference to `signal` any more\n cleanup = noop;\n });\n}\n/**\n * Runs a task and returns promise that resolves to {@link TaskResult}.\n * Second argument is an optional `cleanUp` function that always runs after task.\n *\n * **Note:** `runTask` runs the executor in the next microtask.\n * @returns\n */\n\nexport const runTask = async (task: () => Promise, cleanUp?: () => void): Promise> => {\n try {\n await Promise.resolve();\n const value = await task();\n return {\n status: 'ok',\n value\n };\n } catch (error: any) {\n return {\n status: error instanceof TaskAbortError ? 'cancelled' : 'rejected',\n error\n };\n } finally {\n cleanUp?.();\n }\n};\n/**\n * Given an input `AbortSignal` and a promise returns another promise that resolves\n * as soon the input promise is provided or rejects as soon as\n * `AbortSignal.abort` is `true`.\n * @param signal\n * @returns\n */\n\nexport const createPause = (signal: AbortSignal) => {\n return (promise: Promise): Promise => {\n return catchRejection(raceWithSignal(signal, promise).then(output => {\n validateActive(signal);\n return output;\n }));\n };\n};\n/**\n * Given an input `AbortSignal` and `timeoutMs` returns a promise that resolves\n * after `timeoutMs` or rejects as soon as `AbortSignal.abort` is `true`.\n * @param signal\n * @returns\n */\n\nexport const createDelay = (signal: AbortSignal) => {\n const pause = createPause(signal);\n return (timeoutMs: number): Promise => {\n return pause(new Promise(resolve => setTimeout(resolve, timeoutMs)));\n };\n};","import { formatProdErrorMessage as _formatProdErrorMessage3 } from \"@reduxjs/toolkit\";\nimport { formatProdErrorMessage as _formatProdErrorMessage2 } from \"@reduxjs/toolkit\";\nimport { formatProdErrorMessage as _formatProdErrorMessage } from \"@reduxjs/toolkit\";\nimport type { Action, Dispatch, MiddlewareAPI, UnknownAction } from 'redux';\nimport { isAction } from 'redux';\nimport type { ThunkDispatch } from 'redux-thunk';\nimport { createAction } from '../createAction';\nimport { nanoid } from '../nanoid';\nimport { find } from '../utils';\nimport { TaskAbortError, listenerCancelled, listenerCompleted, taskCancelled, taskCompleted } from './exceptions';\nimport { createDelay, createPause, raceWithSignal, runTask, validateActive } from './task';\nimport type { AbortSignalWithReason, AddListenerOverloads, AnyListenerPredicate, CreateListenerMiddlewareOptions, FallbackAddListenerOptions, ForkOptions, ForkedTask, ForkedTaskExecutor, ListenerEntry, ListenerErrorHandler, ListenerErrorInfo, ListenerMiddleware, ListenerMiddlewareInstance, TakePattern, TaskResult, TypedAddListener, TypedCreateListenerEntry, TypedRemoveListener, UnsubscribeListener, UnsubscribeListenerOptions } from './types';\nimport { abortControllerWithReason, addAbortSignalListener, assertFunction, catchRejection, noop } from './utils';\nexport { TaskAbortError } from './exceptions';\nexport type { AsyncTaskExecutor, CreateListenerMiddlewareOptions, ForkedTask, ForkedTaskAPI, ForkedTaskExecutor, ListenerEffect, ListenerEffectAPI, ListenerErrorHandler, ListenerMiddleware, ListenerMiddlewareInstance, SyncTaskExecutor, TaskCancelled, TaskRejected, TaskResolved, TaskResult, TypedAddListener, TypedRemoveListener, TypedStartListening, TypedStopListening, UnsubscribeListener, UnsubscribeListenerOptions } from './types'; //Overly-aggressive byte-shaving\n\nconst {\n assign\n} = Object;\n/**\n * @internal\n */\n\nconst INTERNAL_NIL_TOKEN = ({} as const);\nconst alm = ('listenerMiddleware' as const);\n\nconst createFork = (parentAbortSignal: AbortSignalWithReason, parentBlockingPromises: Promise[]) => {\n const linkControllers = (controller: AbortController) => addAbortSignalListener(parentAbortSignal, () => abortControllerWithReason(controller, parentAbortSignal.reason));\n\n return (taskExecutor: ForkedTaskExecutor, opts?: ForkOptions): ForkedTask => {\n assertFunction(taskExecutor, 'taskExecutor');\n const childAbortController = new AbortController();\n linkControllers(childAbortController);\n const result = runTask(async (): Promise => {\n validateActive(parentAbortSignal);\n validateActive(childAbortController.signal);\n const result = (await taskExecutor({\n pause: createPause(childAbortController.signal),\n delay: createDelay(childAbortController.signal),\n signal: childAbortController.signal\n }) as T);\n validateActive(childAbortController.signal);\n return result;\n }, () => abortControllerWithReason(childAbortController, taskCompleted));\n\n if (opts?.autoJoin) {\n parentBlockingPromises.push(result.catch(noop));\n }\n\n return {\n result: createPause>(parentAbortSignal)(result),\n\n cancel() {\n abortControllerWithReason(childAbortController, taskCancelled);\n }\n\n };\n };\n};\n\nconst createTakePattern = (startListening: AddListenerOverloads, signal: AbortSignal): TakePattern => {\n /**\n * A function that takes a ListenerPredicate and an optional timeout,\n * and resolves when either the predicate returns `true` based on an action\n * state combination or when the timeout expires.\n * If the parent listener is canceled while waiting, this will throw a\n * TaskAbortError.\n */\n const take = async

,>(predicate: P, timeout: number | undefined) => {\n validateActive(signal); // Placeholder unsubscribe function until the listener is added\n\n let unsubscribe: UnsubscribeListener = () => {};\n\n const tuplePromise = new Promise<[Action, S, S]>((resolve, reject) => {\n // Inside the Promise, we synchronously add the listener.\n let stopListening = startListening({\n predicate: (predicate as any),\n effect: (action, listenerApi): void => {\n // One-shot listener that cleans up as soon as the predicate passes\n listenerApi.unsubscribe(); // Resolve the promise with the same arguments the predicate saw\n\n resolve([action, listenerApi.getState(), listenerApi.getOriginalState()]);\n }\n });\n\n unsubscribe = () => {\n stopListening();\n reject();\n };\n });\n const promises: (Promise | Promise<[Action, S, S]>)[] = [tuplePromise];\n\n if (timeout != null) {\n promises.push(new Promise(resolve => setTimeout(resolve, timeout, null)));\n }\n\n try {\n const output = await raceWithSignal(signal, Promise.race(promises));\n validateActive(signal);\n return output;\n } finally {\n // Always clean up the listener\n unsubscribe();\n }\n };\n\n return (((predicate: AnyListenerPredicate, timeout: number | undefined) => catchRejection(take(predicate, timeout))) as TakePattern);\n};\n\nconst getListenerEntryPropsFrom = (options: FallbackAddListenerOptions) => {\n let {\n type,\n actionCreator,\n matcher,\n predicate,\n effect\n } = options;\n\n if (type) {\n predicate = createAction(type).match;\n } else if (actionCreator) {\n type = actionCreator!.type;\n predicate = actionCreator.match;\n } else if (matcher) {\n predicate = matcher;\n } else if (predicate) {// pass\n } else {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage(21) : 'Creating or removing a listener requires one of the known fields for matching an action');\n }\n\n assertFunction(effect, 'options.listener');\n return {\n predicate,\n type,\n effect\n };\n};\n/** Accepts the possible options for creating a listener, and returns a formatted listener entry */\n\n\nexport const createListenerEntry: TypedCreateListenerEntry = ((Object.assign((options: FallbackAddListenerOptions) => {\n const {\n type,\n predicate,\n effect\n } = getListenerEntryPropsFrom(options);\n const id = nanoid();\n const entry: ListenerEntry = {\n id,\n effect,\n type,\n predicate,\n pending: new Set(),\n unsubscribe: () => {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage2(22) : 'Unsubscribe not initialized');\n }\n };\n return entry;\n}, {\n withTypes: () => createListenerEntry\n}) as unknown) as TypedCreateListenerEntry);\n\nconst cancelActiveListeners = (entry: ListenerEntry>) => {\n entry.pending.forEach(controller => {\n abortControllerWithReason(controller, listenerCancelled);\n });\n};\n\nconst createClearListenerMiddleware = (listenerMap: Map) => {\n return () => {\n listenerMap.forEach(cancelActiveListeners);\n listenerMap.clear();\n };\n};\n/**\n * Safely reports errors to the `errorHandler` provided.\n * Errors that occur inside `errorHandler` are notified in a new task.\n * Inspired by [rxjs reportUnhandledError](https://github.com/ReactiveX/rxjs/blob/6fafcf53dc9e557439b25debaeadfd224b245a66/src/internal/util/reportUnhandledError.ts)\n * @param errorHandler\n * @param errorToNotify\n */\n\n\nconst safelyNotifyError = (errorHandler: ListenerErrorHandler, errorToNotify: unknown, errorInfo: ListenerErrorInfo): void => {\n try {\n errorHandler(errorToNotify, errorInfo);\n } catch (errorHandlerError) {\n // We cannot let an error raised here block the listener queue.\n // The error raised here will be picked up by `window.onerror`, `process.on('error')` etc...\n setTimeout(() => {\n throw errorHandlerError;\n }, 0);\n }\n};\n/**\n * @public\n */\n\n\nexport const addListener = ((Object.assign(createAction(`${alm}/add`), {\n withTypes: () => addListener\n}) as unknown) as TypedAddListener);\n/**\n * @public\n */\n\nexport const clearAllListeners = createAction(`${alm}/removeAll`);\n/**\n * @public\n */\n\nexport const removeListener = ((Object.assign(createAction(`${alm}/remove`), {\n withTypes: () => removeListener\n}) as unknown) as TypedRemoveListener);\n\nconst defaultErrorHandler: ListenerErrorHandler = (...args: unknown[]) => {\n console.error(`${alm}/error`, ...args);\n};\n/**\n * @public\n */\n\n\nexport const createListenerMiddleware = = ThunkDispatch, ExtraArgument = unknown>(middlewareOptions: CreateListenerMiddlewareOptions = {}) => {\n const listenerMap = new Map();\n const {\n extra,\n onError = defaultErrorHandler\n } = middlewareOptions;\n assertFunction(onError, 'onError');\n\n const insertEntry = (entry: ListenerEntry) => {\n entry.unsubscribe = () => listenerMap.delete(entry!.id);\n\n listenerMap.set(entry.id, entry);\n return (cancelOptions?: UnsubscribeListenerOptions) => {\n entry.unsubscribe();\n\n if (cancelOptions?.cancelActive) {\n cancelActiveListeners(entry);\n }\n };\n };\n\n const startListening = (((options: FallbackAddListenerOptions) => {\n let entry = find(Array.from(listenerMap.values()), existingEntry => existingEntry.effect === options.effect);\n\n if (!entry) {\n entry = createListenerEntry((options as any));\n }\n\n return insertEntry(entry);\n }) as AddListenerOverloads);\n Object.assign(startListening, {\n withTypes: () => startListening\n });\n\n const stopListening = (options: FallbackAddListenerOptions & UnsubscribeListenerOptions): boolean => {\n const {\n type,\n effect,\n predicate\n } = getListenerEntryPropsFrom(options);\n const entry = find(Array.from(listenerMap.values()), entry => {\n const matchPredicateOrType = typeof type === 'string' ? entry.type === type : entry.predicate === predicate;\n return matchPredicateOrType && entry.effect === effect;\n });\n\n if (entry) {\n entry.unsubscribe();\n\n if (options.cancelActive) {\n cancelActiveListeners(entry);\n }\n }\n\n return !!entry;\n };\n\n Object.assign(stopListening, {\n withTypes: () => stopListening\n });\n\n const notifyListener = async (entry: ListenerEntry>, action: unknown, api: MiddlewareAPI, getOriginalState: () => StateType) => {\n const internalTaskController = new AbortController();\n const take = createTakePattern((startListening as AddListenerOverloads), internalTaskController.signal);\n const autoJoinPromises: Promise[] = [];\n\n try {\n entry.pending.add(internalTaskController);\n await Promise.resolve(entry.effect(action, // Use assign() rather than ... to avoid extra helper functions added to bundle\n assign({}, api, {\n getOriginalState,\n condition: (predicate: AnyListenerPredicate, timeout?: number) => take(predicate, timeout).then(Boolean),\n take,\n delay: createDelay(internalTaskController.signal),\n pause: createPause(internalTaskController.signal),\n extra,\n signal: internalTaskController.signal,\n fork: createFork(internalTaskController.signal, autoJoinPromises),\n unsubscribe: entry.unsubscribe,\n subscribe: () => {\n listenerMap.set(entry.id, entry);\n },\n cancelActiveListeners: () => {\n entry.pending.forEach((controller, _, set) => {\n if (controller !== internalTaskController) {\n abortControllerWithReason(controller, listenerCancelled);\n set.delete(controller);\n }\n });\n },\n cancel: () => {\n abortControllerWithReason(internalTaskController, listenerCancelled);\n entry.pending.delete(internalTaskController);\n },\n throwIfCancelled: () => {\n validateActive(internalTaskController.signal);\n }\n })));\n } catch (listenerError) {\n if (!(listenerError instanceof TaskAbortError)) {\n safelyNotifyError(onError, listenerError, {\n raisedBy: 'effect'\n });\n }\n } finally {\n await Promise.all(autoJoinPromises);\n abortControllerWithReason(internalTaskController, listenerCompleted); // Notify that the task has completed\n\n entry.pending.delete(internalTaskController);\n }\n };\n\n const clearListenerMiddleware = createClearListenerMiddleware(listenerMap);\n\n const middleware: ListenerMiddleware = api => next => action => {\n if (!isAction(action)) {\n // we only want to notify listeners for action objects\n return next(action);\n }\n\n if (addListener.match(action)) {\n return startListening((action.payload as any));\n }\n\n if (clearAllListeners.match(action)) {\n clearListenerMiddleware();\n return;\n }\n\n if (removeListener.match(action)) {\n return stopListening(action.payload);\n } // Need to get this state _before_ the reducer processes the action\n\n\n let originalState: StateType | typeof INTERNAL_NIL_TOKEN = api.getState(); // `getOriginalState` can only be called synchronously.\n // @see https://github.com/reduxjs/redux-toolkit/discussions/1648#discussioncomment-1932820\n\n const getOriginalState = (): StateType => {\n if (originalState === INTERNAL_NIL_TOKEN) {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage3(23) : `${alm}: getOriginalState can only be called synchronously`);\n }\n\n return (originalState as StateType);\n };\n\n let result: unknown;\n\n try {\n // Actually forward the action to the reducer before we handle listeners\n result = next(action);\n\n if (listenerMap.size > 0) {\n const currentState = api.getState(); // Work around ESBuild+TS transpilation issue\n\n const listenerEntries = Array.from(listenerMap.values());\n\n for (const entry of listenerEntries) {\n let runListener = false;\n\n try {\n runListener = entry.predicate(action, currentState, originalState);\n } catch (predicateError) {\n runListener = false;\n safelyNotifyError(onError, predicateError, {\n raisedBy: 'predicate'\n });\n }\n\n if (!runListener) {\n continue;\n }\n\n notifyListener(entry, action, api, getOriginalState);\n }\n }\n } finally {\n // Remove `originalState` store from this scope.\n originalState = INTERNAL_NIL_TOKEN;\n }\n\n return result;\n };\n\n return ({\n middleware,\n startListening,\n stopListening,\n clearListeners: clearListenerMiddleware\n } as ListenerMiddlewareInstance);\n};","import { formatProdErrorMessage as _formatProdErrorMessage2 } from \"@reduxjs/toolkit\";\nimport { formatProdErrorMessage as _formatProdErrorMessage } from \"@reduxjs/toolkit\";\nimport type { UnknownAction, Reducer, StateFromReducersMapObject } from 'redux';\nimport { combineReducers } from 'redux';\nimport { nanoid } from './nanoid';\nimport type { Id, NonUndefined, Tail, UnionToIntersection, WithOptionalProp } from './tsHelpers';\nimport { emplace } from './utils';\ntype SliceLike = {\n reducerPath: ReducerPath;\n reducer: Reducer;\n};\ntype AnySliceLike = SliceLike;\ntype SliceLikeReducerPath = A extends SliceLike ? ReducerPath : never;\ntype SliceLikeState = A extends SliceLike ? State : never;\nexport type WithSlice = { [Path in SliceLikeReducerPath]: SliceLikeState };\ntype ReducerMap = Record;\ntype ExistingSliceLike = { [ReducerPath in keyof DeclaredState]: SliceLike> }[keyof DeclaredState];\nexport type InjectConfig = {\n /**\n * Allow replacing reducer with a different reference. Normally, an error will be thrown if a different reducer instance to the one already injected is used.\n */\n overrideExisting?: boolean;\n};\n/**\n * A reducer that allows for slices/reducers to be injected after initialisation.\n */\n\nexport interface CombinedSliceReducer extends Reducer> {\n /**\n * Provide a type for slices that will be injected lazily.\n *\n * One way to do this would be with interface merging:\n * ```ts\n *\n * export interface LazyLoadedSlices {}\n *\n * export const rootReducer = combineSlices(stringSlice).withLazyLoadedSlices();\n *\n * // elsewhere\n *\n * declare module './reducer' {\n * export interface LazyLoadedSlices extends WithSlice {}\n * }\n *\n * const withBoolean = rootReducer.inject(booleanSlice);\n *\n * // elsewhere again\n *\n * declare module './reducer' {\n * export interface LazyLoadedSlices {\n * customName: CustomState\n * }\n * }\n *\n * const withCustom = rootReducer.inject({ reducerPath: \"customName\", reducer: customSlice.reducer })\n * ```\n */\n withLazyLoadedSlices(): CombinedSliceReducer>>;\n /**\n * Inject a slice.\n *\n * Accepts an individual slice, RTKQ API instance, or a \"slice-like\" { reducerPath, reducer } object.\n *\n * ```ts\n * rootReducer.inject(booleanSlice)\n * rootReducer.inject(baseApi)\n * rootReducer.inject({ reducerPath: 'boolean' as const, reducer: newReducer }, { overrideExisting: true })\n * ```\n *\n */\n\n inject>>(slice: Sl, config?: InjectConfig): CombinedSliceReducer>>;\n /**\n * Inject a slice.\n *\n * Accepts an individual slice, RTKQ API instance, or a \"slice-like\" { reducerPath, reducer } object.\n *\n * ```ts\n * rootReducer.inject(booleanSlice)\n * rootReducer.inject(baseApi)\n * rootReducer.inject({ reducerPath: 'boolean' as const, reducer: newReducer }, { overrideExisting: true })\n * ```\n *\n */\n\n inject(slice: SliceLike, config?: InjectConfig): CombinedSliceReducer>>>;\n /**\n * Create a selector that guarantees that the slices injected will have a defined value when selector is run.\n *\n * ```ts\n * const selectBooleanWithoutInjection = (state: RootState) => state.boolean;\n * // ^? boolean | undefined\n *\n * const selectBoolean = rootReducer.inject(booleanSlice).selector((state) => {\n * // if action hasn't been dispatched since slice was injected, this would usually be undefined\n * // however selector() uses a Proxy around the first parameter to ensure that it evaluates to the initial state instead, if undefined\n * return state.boolean;\n * // ^? boolean\n * })\n * ```\n *\n * If the reducer is nested inside the root state, a selectState callback can be passed to retrieve the reducer's state.\n *\n * ```ts\n *\n * export interface LazyLoadedSlices {};\n *\n * export const innerReducer = combineSlices(stringSlice).withLazyLoadedSlices();\n *\n * export const rootReducer = combineSlices({ inner: innerReducer });\n *\n * export type RootState = ReturnType;\n *\n * // elsewhere\n *\n * declare module \"./reducer.ts\" {\n * export interface LazyLoadedSlices extends WithSlice {}\n * }\n *\n * const withBool = innerReducer.inject(booleanSlice);\n *\n * const selectBoolean = withBool.selector(\n * (state) => state.boolean,\n * (rootState: RootState) => state.inner\n * );\n * // now expects to be passed RootState instead of innerReducer state\n *\n * ```\n *\n * Value passed to selectorFn will be a Proxy - use selector.original(proxy) to get original state value (useful for debugging)\n *\n * ```ts\n * const injectedReducer = rootReducer.inject(booleanSlice);\n * const selectBoolean = injectedReducer.selector((state) => {\n * console.log(injectedReducer.selector.original(state).boolean) // possibly undefined\n * return state.boolean\n * })\n * ```\n */\n\n selector: {\n /**\n * Create a selector that guarantees that the slices injected will have a defined value when selector is run.\n *\n * ```ts\n * const selectBooleanWithoutInjection = (state: RootState) => state.boolean;\n * // ^? boolean | undefined\n *\n * const selectBoolean = rootReducer.inject(booleanSlice).selector((state) => {\n * // if action hasn't been dispatched since slice was injected, this would usually be undefined\n * // however selector() uses a Proxy around the first parameter to ensure that it evaluates to the initial state instead, if undefined\n * return state.boolean;\n * // ^? boolean\n * })\n * ```\n *\n * Value passed to selectorFn will be a Proxy - use selector.original(proxy) to get original state value (useful for debugging)\n *\n * ```ts\n * const injectedReducer = rootReducer.inject(booleanSlice);\n * const selectBoolean = injectedReducer.selector((state) => {\n * console.log(injectedReducer.selector.original(state).boolean) // undefined\n * return state.boolean\n * })\n * ```\n */\n unknown>(selectorFn: Selector): (state: WithOptionalProp[0], Exclude>, ...args: Tail>) => ReturnType;\n /**\n * Create a selector that guarantees that the slices injected will have a defined value when selector is run.\n *\n * ```ts\n * const selectBooleanWithoutInjection = (state: RootState) => state.boolean;\n * // ^? boolean | undefined\n *\n * const selectBoolean = rootReducer.inject(booleanSlice).selector((state) => {\n * // if action hasn't been dispatched since slice was injected, this would usually be undefined\n * // however selector() uses a Proxy around the first parameter to ensure that it evaluates to the initial state instead, if undefined\n * return state.boolean;\n * // ^? boolean\n * })\n * ```\n *\n * If the reducer is nested inside the root state, a selectState callback can be passed to retrieve the reducer's state.\n *\n * ```ts\n *\n * interface LazyLoadedSlices {};\n *\n * const innerReducer = combineSlices(stringSlice).withLazyLoadedSlices();\n *\n * const rootReducer = combineSlices({ inner: innerReducer });\n *\n * type RootState = ReturnType;\n *\n * // elsewhere\n *\n * declare module \"./reducer.ts\" {\n * interface LazyLoadedSlices extends WithSlice {}\n * }\n *\n * const withBool = innerReducer.inject(booleanSlice);\n *\n * const selectBoolean = withBool.selector(\n * (state) => state.boolean,\n * (rootState: RootState) => state.inner\n * );\n * // now expects to be passed RootState instead of innerReducer state\n *\n * ```\n *\n * Value passed to selectorFn will be a Proxy - use selector.original(proxy) to get original state value (useful for debugging)\n *\n * ```ts\n * const injectedReducer = rootReducer.inject(booleanSlice);\n * const selectBoolean = injectedReducer.selector((state) => {\n * console.log(injectedReducer.selector.original(state).boolean) // possibly undefined\n * return state.boolean\n * })\n * ```\n */\n\n unknown, RootState>(selectorFn: Selector, selectState: (rootState: RootState, ...args: Tail>) => WithOptionalProp[0], Exclude>): (state: RootState, ...args: Tail>) => ReturnType;\n /**\n * Returns the unproxied state. Useful for debugging.\n * @param state state Proxy, that ensures injected reducers have value\n * @returns original, unproxied state\n * @throws if value passed is not a state Proxy\n */\n\n original: (state: DeclaredState) => InitialState & Partial;\n };\n}\ntype InitialState> = UnionToIntersection : StateFromReducersMapObject : never>;\n\nconst isSliceLike = (maybeSliceLike: AnySliceLike | ReducerMap): maybeSliceLike is AnySliceLike => 'reducerPath' in maybeSliceLike && typeof maybeSliceLike.reducerPath === 'string';\n\nconst getReducers = (slices: Array) => slices.flatMap(sliceOrMap => isSliceLike(sliceOrMap) ? [([sliceOrMap.reducerPath, sliceOrMap.reducer] as const)] : Object.entries(sliceOrMap));\n\nconst ORIGINAL_STATE = Symbol.for('rtk-state-proxy-original');\n\nconst isStateProxy = (value: any) => !!value && !!value[ORIGINAL_STATE];\n\nconst stateProxyMap = new WeakMap();\n\nconst createStateProxy = (state: State, reducerMap: Partial>) => (emplace(stateProxyMap, state, {\n insert: () => new Proxy(state, {\n get: (target, prop, receiver) => {\n if (prop === ORIGINAL_STATE) return target;\n const result = Reflect.get(target, prop, receiver);\n\n if (typeof result === 'undefined') {\n const reducer = reducerMap[prop.toString()];\n\n if (reducer) {\n // ensure action type is random, to prevent reducer treating it differently\n const reducerResult = reducer(undefined, {\n type: nanoid()\n });\n\n if (typeof reducerResult === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage(24) : `The slice reducer for key \"${prop.toString()}\" returned undefined when called for selector(). ` + `If the state passed to the reducer is undefined, you must ` + `explicitly return the initial state. The initial state may ` + `not be undefined. If you don't want to set a value for this reducer, ` + `you can use null instead of undefined.`);\n }\n\n return reducerResult;\n }\n }\n\n return result;\n }\n })\n}) as State);\n\nconst original = (state: any) => {\n if (!isStateProxy(state)) {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage2(25) : 'original must be used on state Proxy');\n }\n\n return state[ORIGINAL_STATE];\n};\n\nconst noopReducer: Reducer> = (state = {}) => state;\n\nexport function combineSlices>(...slices: Slices): CombinedSliceReducer>> {\n const reducerMap = Object.fromEntries(getReducers(slices));\n\n const getReducer = () => Object.keys(reducerMap).length ? combineReducers(reducerMap) : noopReducer;\n\n let reducer = getReducer();\n\n function combinedReducer(state: Record, action: UnknownAction) {\n return reducer(state, action);\n }\n\n combinedReducer.withLazyLoadedSlices = () => combinedReducer;\n\n const inject = (slice: AnySliceLike, config: InjectConfig = {}): typeof combinedReducer => {\n const {\n reducerPath,\n reducer: reducerToInject\n } = slice;\n const currentReducer = reducerMap[reducerPath];\n\n if (!config.overrideExisting && currentReducer && currentReducer !== reducerToInject) {\n if (typeof process !== 'undefined' && process.env.NODE_ENV === 'development') {\n console.error(`called \\`inject\\` to override already-existing reducer ${reducerPath} without specifying \\`overrideExisting: true\\``);\n }\n\n return combinedReducer;\n }\n\n reducerMap[reducerPath] = reducerToInject;\n reducer = getReducer();\n return combinedReducer;\n };\n\n const selector = Object.assign(function makeSelector(selectorFn: (state: State, ...args: Args) => any, selectState?: (rootState: RootState, ...args: Args) => State) {\n return function selector(state: State, ...args: Args) {\n return selectorFn(createStateProxy(selectState ? selectState((state as any), ...args) : state, reducerMap), ...args);\n };\n }, {\n original\n });\n return (Object.assign(combinedReducer, {\n inject,\n selector\n }) as any);\n}","/**\n * Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js\n *\n * Do not require this module directly! Use normal throw error calls. These messages will be replaced with error codes\n * during build.\n * @param {number} code\n */\nexport function formatProdErrorMessage(code: number) {\n return `Minified Redux Toolkit error #${code}; visit https://redux-toolkit.js.org/Errors?code=${code} for the full message or ` + 'use the non-minified dev environment for full errors. ';\n}","import { PayloadAction, createSlice } from \"@reduxjs/toolkit\";\r\nimport {AdvertDto} from \"../../models/AdvertDto\";\r\nimport {AdvertDetailsDto} from \"../../models/AdvertDetailsDto\";\r\nimport {Action} from \"../../models/types\";\r\nimport { CityDto } from \"../../models/CityDto\";\r\nimport { fetchCities } from \"./requests\";\r\n\r\n\r\nexport interface AdvertsState {\r\n data: AdvertDto[] | null;\r\n loading: boolean;\r\n error: string | null;\r\n details: AdvertDetailsDto | null;\r\n detailsLoading: boolean;\r\n detailsError: string | null;\r\n cities: CityDto[] | null;\r\n loadingCities: boolean;\r\n citiesError: string | null;\r\n}\r\n\r\nconst initState : AdvertsState = {\r\n data: null,\r\n loading: false,\r\n error: '',\r\n details: null,\r\n detailsLoading: false,\r\n detailsError: '',\r\n cities: null,\r\n loadingCities: false,\r\n citiesError: ''\r\n}\r\n\r\nexport const advertSlice = createSlice({\r\n name: 'advert',\r\n initialState: () => initState,\r\n reducers : {\r\n fetchAdvertsStart: (state: AdvertsState, action: Action) => {\r\n state.loading = true;\r\n state.error = '';\r\n },\r\n fetchAdvertsSuccess: (state: AdvertsState, action: Action) => {\r\n state.data = action.payload as AdvertDto[]\r\n state.loading = false;\r\n state.error = '';\r\n },\r\n fetchAdvertsFailure: (state: AdvertsState, action: Action) => {\r\n state.data = null;\r\n state.loading = false;\r\n state.error = action.payload;\r\n },\r\n fetchAdvertDetailsStart: (state: AdvertsState, action: Action) => {\r\n state.detailsLoading = true;\r\n state.detailsError = '';\r\n },\r\n fetchAdvertDetailsSuccess: (state: AdvertsState, action: Action) => {\r\n state.details = action.payload;\r\n state.detailsLoading = false;\r\n state.detailsError = '';\r\n },\r\n fetchAdvertDetailsFailure: (state: AdvertsState, action: Action) => {\r\n state.details = null;\r\n state.detailsLoading = false;\r\n state.detailsError = action.payload;\r\n },\r\n fetchCitiesStart: (state: AdvertsState) => {\r\n state.loadingCities = true;\r\n },\r\n fetchCitiesSuccess: (state: AdvertsState, action: Action) => {\r\n state.cities = action.payload as CityDto[];\r\n state.loadingCities = false;\r\n },\r\n fetchCitiesFailure: (state: AdvertsState, action: Action) => {\r\n state.cities = null;\r\n state.loadingCities = false;\r\n state.citiesError = action.payload;\r\n }\r\n }\r\n});\r\n\r\nexport const {\r\n fetchAdvertsStart,\r\n fetchAdvertsSuccess,\r\n fetchAdvertsFailure,\r\n fetchAdvertDetailsStart,\r\n fetchAdvertDetailsSuccess,\r\n fetchAdvertDetailsFailure,\r\n fetchCitiesStart,\r\n fetchCitiesSuccess,\r\n fetchCitiesFailure\r\n } = advertSlice.actions;\r\n\r\nexport default advertSlice.reducer;\r\n","import {State} from \"../types\";\r\n\r\n\r\nexport const selectAdverts = (state: State) => state.advert.data;\r\nexport const selectAdvertLoading = (state: State) => state.advert.loading;\r\nexport const selectAdvertError = (state: State) => state.advert.error;\r\nexport const selectDetails = (state: State) => state.advert.details;\r\nexport const selectDetailsLoading = (state: State) => state.advert.detailsLoading;\r\nexport const selectDetailsError = (state: State) => state.advert.detailsError;\r\nexport const selectCities = (state: State) => state.advert.cities;\r\nexport const selectCitiesLoading = (state: State) => state.advert.loadingCities;\r\nexport const selectCitiesError = (state: State) => state.advert.citiesError;\r\n\r\n\r\n\r\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t {\n const {\n children,\n justifyContent = FlexBoxJustifyContent.Start,\n direction = FlexBoxDirection.Row,\n alignItems = FlexBoxAlignItems.Stretch,\n displayInline,\n wrap = FlexBoxWrap.NoWrap,\n className,\n fitContainer,\n as = 'div',\n ...rest\n } = props;\n const classes = useStyles();\n const flexBoxClasses = clsx(classes.flexBox, classes[`flexBoxDirection${direction}`], classes[`justifyContent${justifyContent}`], classes[`alignItems${alignItems}`], classes[`flexWrap${wrap}`], displayInline && classes.flexBoxDisplayInline, fitContainer && classes.fitContainer, className);\n const CustomTag = as;\n return /*#__PURE__*/React.createElement(CustomTag, {\n ref: ref,\n className: flexBoxClasses,\n ...rest\n }, children);\n});\nFlexBox.displayName = 'FlexBox';\nexport { FlexBox };","/**\n * Returns an event class decorator.\n *\n * @param { string } name the event name\n * @param { EventData } data the event data\n * @returns { ClassDecorator }\n */\nconst event = (name: string, data: { detail?: Record } = {}): ClassDecorator => {\n\treturn (target: any) => {\n\t\tif (!Object.prototype.hasOwnProperty.call(target, \"metadata\")) {\n\t\t\ttarget.metadata = {};\n\t\t}\n\n\t\tconst metadata = target.metadata;\n\t\tif (!metadata.events) {\n\t\t\tmetadata.events = {};\n\t\t}\n\n\t\tconst eventsMetadata = metadata.events;\n\t\tif (!eventsMetadata[name]) {\n\t\t\teventsMetadata[name] = data;\n\t\t}\n\t};\n};\n\nexport default event;\n","import UI5Element, { ChangeInfo } from \"../UI5Element.js\";\n\ntype InvalidateCallback = (changeInfo: ChangeInfo) => void;\ntype MutationCallback = () => void;\ntype AssociatedElement = {\n\tobserver: MutationObserver | null;\n\tcallbacks: Array;\n};\ntype RegisteredElement = {\n\thost: UI5Element;\n\tobservedElements: Array;\n\tcallback: MutationCallback;\n\tinvalidationCallback: InvalidateCallback;\n};\n\nconst associatedElements = new WeakMap();\nconst registeredElements = new WeakMap();\n\ntype AccessibleElement = HTMLElement & {\n\taccessibleNameRef: string;\n\taccessibleName: string;\n};\n\nconst observerOptions = {\n\tattributes: true,\n\tchildList: true,\n\tcharacterData: true,\n\tsubtree: true,\n};\n\nconst getEffectiveAriaLabelText = (el: HTMLElement) => {\n\tconst accessibleEl = el as AccessibleElement;\n\n\tif (!accessibleEl.accessibleNameRef) {\n\t\tif (accessibleEl.accessibleName) {\n\t\t\treturn accessibleEl.accessibleName;\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\treturn getAllAccessibleNameRefTexts(el);\n};\n\n/**\n *\n * @param {HTMLElement} el Defines the HTMLElement, for which you need to get all related texts\n */\nconst getAllAccessibleNameRefTexts = (el: HTMLElement) => {\n\tconst ids = (el as AccessibleElement).accessibleNameRef?.split(\" \") ?? [];\n\tconst owner = el.getRootNode() as HTMLElement;\n\tlet result = \"\";\n\n\tids.forEach((elementId: string, index: number) => {\n\t\tconst element = owner.querySelector(`[id='${elementId}']`);\n\t\tconst text = `${element && element.textContent ? element.textContent : \"\"}`;\n\t\tif (text) {\n\t\t\tresult += text;\n\t\t\tif (index < ids.length - 1) {\n\t\t\t\tresult += \" \";\n\t\t\t}\n\t\t}\n\t});\n\n\treturn result;\n};\n\nconst _getAllAssociatedElementsFromDOM = (el: UI5Element): Array => {\n\tconst set = new Set();\n\t// adding labels with attribute for matching the el.id\n\tconst labelsForAssociated = _getAssociatedLabels(el);\n\tlabelsForAssociated.forEach(itm => {\n\t\tset.add(itm);\n\t});\n\t// adding other elements that id is the same as accessibleNameRef value\n\tconst value = el[\"accessibleNameRef\" as keyof typeof el] as string;\n\tconst ids = value?.split(\" \") ?? [];\n\tids.forEach(id => {\n\t\tconst refEl = _getReferencedElementById(el, id);\n\t\tif (refEl) {\n\t\t\tset.add(refEl);\n\t\t}\n\t});\n\treturn Array.from(set);\n};\n\nconst _getAssociatedLabels = (el: HTMLElement): Array => {\n\tconst labels = (el.getRootNode() as HTMLElement).querySelectorAll(`[for=\"${el.id}\"]`);\n\treturn Array.from(labels);\n};\n\nconst _getReferencedElementById = (el: HTMLElement, elementId: string): HTMLElement | null => {\n\treturn (el.getRootNode() as HTMLElement).querySelector(`[id='${elementId}']`);\n};\n\n/**\n * @param {HTMLElement} el Defines the HTMLElement, for which you need to get all related \"label for\" texts\n */\nconst getAssociatedLabelForTexts = (el: HTMLElement) => {\n\tconst results: Array = [];\n\tconst labels = _getAssociatedLabels(el);\n\n\tlabels.forEach((label: HTMLElement) => {\n\t\tconst labelText = label.textContent;\n\t\tlabelText && results.push(labelText);\n\t});\n\n\tif (results.length) {\n\t\treturn results.join(\" \");\n\t}\n\n\treturn undefined;\n};\n\nconst _createInvalidationCallback = (el: UI5Element) => {\n\tconst invalidationCallback = (changeInfo: ChangeInfo) => {\n\t\tif (!(changeInfo && changeInfo.type === \"property\" && changeInfo.name === \"accessibleNameRef\")) {\n\t\t\treturn;\n\t\t}\n\t\tconst registeredElement = registeredElements.get(el);\n\t\tif (!registeredElement) {\n\t\t\treturn;\n\t\t}\n\t\tconst oldAssociatedElements = registeredElement.observedElements;\n\t\tconst newAssociatedElements = _getAllAssociatedElementsFromDOM(el);\n\t\toldAssociatedElements.forEach(oldElement => {\n\t\t\tif (!newAssociatedElements.includes(oldElement)) {\n\t\t\t\t_removeObservedElementFromRegisteredElement(registeredElement, oldElement);\n\t\t\t}\n\t\t});\n\t\tnewAssociatedElements.forEach(newElement => {\n\t\t\tif (!oldAssociatedElements.includes(newElement)) {\n\t\t\t\t_addObservedElementToRegisteredElement(registeredElement, newElement);\n\t\t\t\tregisteredElement.observedElements.push(newElement);\n\t\t\t}\n\t\t});\n\t\tregisteredElement?.callback();\n\t};\n\treturn invalidationCallback;\n};\n\nconst registerUI5Element = (el: UI5Element, callback: MutationCallback) => {\n\tif (registeredElements.has(el)) {\n\t\treturn;\n\t}\n\tconst allAssociatedElements = _getAllAssociatedElementsFromDOM(el);\n\tconst invalidationCallback = _createInvalidationCallback(el);\n\tconst registeredElement = {\n\t\thost: el,\n\t\tobservedElements: allAssociatedElements,\n\t\tcallback,\n\t\tinvalidationCallback,\n\t};\n\tregisteredElements.set(el, registeredElement);\n\tel.attachInvalidate(invalidationCallback);\n\n\tallAssociatedElements.forEach((element: HTMLElement) => {\n\t\t_addObservedElementToRegisteredElement(registeredElement, element);\n\t});\n\tcallback();\n};\n\nconst _addObservedElementToRegisteredElement = (registeredElement: RegisteredElement, element: HTMLElement) => {\n\tlet associatedElement = associatedElements.get(element);\n\tif (!associatedElement) {\n\t\tassociatedElement = { observer: null, callbacks: [] };\n\t\tconst observer = new MutationObserver(() => {\n\t\t\tconst callbacks = (associatedElement as AssociatedElement).callbacks;\n\t\t\tcallbacks.forEach(callback => {\n\t\t\t\tcallback();\n\t\t\t});\n\t\t\tconst domEl = document.getElementById(element.id);\n\t\t\t// if no longer should be observed from this registeredElement, remove it\n\t\t\tif (!(registeredElement.host.id === element.getAttribute(\"for\") || domEl)) {\n\t\t\t\t_removeObservedElementFromRegisteredElement(registeredElement, element);\n\t\t\t}\n\t\t});\n\t\tassociatedElement.observer = observer;\n\t\tobserver.observe(element, observerOptions);\n\t\tassociatedElements.set(element, associatedElement);\n\t}\n\tif (!associatedElement.callbacks.includes(registeredElement.callback)) {\n\t\tassociatedElement.callbacks.push(registeredElement.callback);\n\t}\n};\n\nconst _removeObservedElementFromRegisteredElement = (registeredElement: RegisteredElement, element: HTMLElement) => {\n\tconst associatedElement = associatedElements.get(element);\n\tif (associatedElement) {\n\t\tassociatedElement.callbacks = associatedElement.callbacks.filter(itm => itm !== registeredElement.callback);\n\t\tif (!associatedElement.callbacks.length) {\n\t\t\tassociatedElement.observer?.disconnect();\n\t\t\tassociatedElements.delete(element);\n\t\t}\n\t}\n\tregisteredElement.observedElements = registeredElement.observedElements.filter(itm => itm !== element);\n};\n\nconst deregisterUI5Element = (el: UI5Element) => {\n\tconst registeredElement = registeredElements.get(el);\n\tif (!registeredElement) {\n\t\treturn;\n\t}\n\tconst oldObservedElements = [...registeredElement.observedElements];\n\toldObservedElements.forEach(observedElement => {\n\t\t_removeObservedElementFromRegisteredElement(registeredElement, observedElement);\n\t});\n\tel.detachInvalidate(registeredElement.invalidationCallback);\n\tregisteredElements.delete(el);\n};\n\nexport {\n\tgetEffectiveAriaLabelText,\n\tgetAssociatedLabelForTexts,\n\tregisterUI5Element,\n\tderegisterUI5Element,\n\tgetAllAccessibleNameRefTexts,\n};\n","const markedEvents = new WeakMap();\n\n/**\n * Marks the given event with random marker.\n */\nconst markEvent = (event: Event, value: string) => {\n\tmarkedEvents.set(event, value);\n};\n\n/**\n * Returns the marker for the given event.\n */\nconst getEventMark = (event: Event): string | undefined => {\n\treturn markedEvents.get(event);\n};\n\nexport {\n\tmarkEvent,\n\tgetEventMark,\n};\n","/**\n * Different link designs.\n *\n * @public\n */\nenum LinkDesign {\n\t/**\n\t * default type (no special styling)\n\t * @public\n\t */\n\tDefault = \"Default\",\n\n\t/**\n\t * subtle type (appears as regular text, rather than a link)\n\t * @public\n\t */\n\tSubtle = \"Subtle\",\n\n\t/**\n\t * emphasized type\n\t * @public\n\t */\n\tEmphasized = \"Emphasized\",\n}\n\nexport default LinkDesign;\n","/**\n * Different types of HasPopup.\n *\n * @public\n */\nenum HasPopup {\n\t/**\n\t * Dialog popup type.\n\t * @public\n\t */\n\tDialog = \"Dialog\",\n\n\t/**\n\t * Grid popup type.\n\t * @public\n\t */\n\tGrid = \"Grid\",\n\n\t/**\n\t * ListBox popup type.\n\t * @public\n\t */\n\tListBox = \"ListBox\",\n\n\t /**\n\t * Menu popup type.\n\t * @public\n\t */\n\tMenu = \"Menu\",\n\n\t /**\n\t * Tree popup type.\n\t * @public\n\t */\n\tTree = \"Tree\",\n}\n\nexport default HasPopup;\n","/* eslint no-unused-vars: 0 */\nimport { html, svg, repeat, classMap, styleMap, ifDefined, unsafeHTML, scopeTag } from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\timport type Link from \"../../Link.js\";\n\timport type { ClassMapValue } from \"@ui5/webcomponents-base/dist/types.js\";\n\t\nfunction block0 (this: Link, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.hasLinkType ? block1.call(this, context, tags, suffix) : undefined }`;}\nfunction block1 (this: Link, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ifDefined(this.linkTypeText)}`;}\n\n\nexport default block0;","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents\",fileName:\"themes/Link.css.ts\",content:`.ui5-hidden-text{position:absolute;clip:rect(1px,1px,1px,1px);user-select:none;left:-1000px;top:-1000px;pointer-events:none;font-size:0}:host(:not([hidden])){display:inline-flex}:host{max-width:100%;color:var(--sapLinkColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);cursor:pointer;outline:none;text-decoration:var(--_ui5-v1-22-0-rc-3_link_text_decoration);text-shadow:var(--sapContent_TextShadow);white-space:nowrap;overflow-wrap:normal}:host(:hover){color:var(--sapLink_Hover_Color);text-decoration:var(--_ui5-v1-22-0-rc-3_link_hover_text_decoration)}:host(:active){color:var(--sapLink_Active_Color);text-decoration:var(--_ui5-v1-22-0-rc-3_link_active_text_decoration)}:host([disabled]){pointer-events:none}:host([disabled]) .ui5-link-root{text-shadow:none;outline:none;cursor:default;pointer-events:none;opacity:var(--sapContent_DisabledOpacity)}:host([design=\"Emphasized\"]) .ui5-link-root{font-family:var(--sapFontBoldFamily)}:host([design=\"Subtle\"]){color:var(--sapLink_SubtleColor);text-decoration:var(--_ui5-v1-22-0-rc-3_link_subtle_text_decoration)}:host([design=\"Subtle\"]:hover:not(:active)){color:var(--sapLink_SubtleColor);text-decoration:var(--_ui5-v1-22-0-rc-3_link_subtle_text_decoration_hover)}:host([wrapping-type=\"Normal\"]){white-space:normal;overflow-wrap:break-word}.ui5-link-root{max-width:100%;display:inline-block;position:relative;overflow:hidden;text-overflow:ellipsis;outline:none;white-space:inherit;overflow-wrap:inherit;text-decoration:inherit;color:inherit}:host .ui5-link-root{border:var(--_ui5-v1-22-0-rc-3_link_border);border-radius:var(--_ui5-v1-22-0-rc-3_link_focus_border-radius)}:host([focused]) .ui5-link-root,:host([design=\"Subtle\"][focused]) .ui5-link-root{background-color:var(--_ui5-v1-22-0-rc-3_link_focus_background_color);border:var(--_ui5-v1-22-0-rc-3_link_border_focus);border-radius:var(--_ui5-v1-22-0-rc-3_link_focus_border-radius);text-shadow:none}:host([focused]),:host([design=\"Subtle\"][focused]){color:var(--_ui5-v1-22-0-rc-3_link_focus_color);text-decoration:var(--_ui5-v1-22-0-rc-3_link_focus_text_decoration)}:host([focused]:hover:not(:active)){color:var(--_ui5-v1-22-0-rc-3_link_focused_hover_text_color);text-decoration:var(--_ui5-v1-22-0-rc-3_link_focused_hover_text_decoration)}\n`};\nexport default styleData;\n\t","import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { isSpace, isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { I18nText } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport { markEvent } from \"@ui5/webcomponents-base/dist/MarkedEvents.js\";\nimport LinkDesign from \"./types/LinkDesign.js\";\nimport WrappingType from \"./types/WrappingType.js\";\nimport HasPopup from \"./types/HasPopup.js\";\n\n// Template\nimport LinkTemplate from \"./generated/templates/LinkTemplate.lit.js\";\n\nimport { LINK_SUBTLE, LINK_EMPHASIZED } from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport linkCss from \"./generated/themes/Link.css.js\";\n\ntype LinkClickEventDetail = {\n\taltKey: boolean;\n\tctrlKey: boolean;\n\tmetaKey: boolean;\n\tshiftKey: boolean;\n}\n\ntype AccessibilityAttributes = {\n\texpanded?: \"true\" | \"false\" | boolean,\n\thasPopup?: `${HasPopup}`,\n};\n\n/**\n * @class\n *\n *

Overview

\n * The ui5-link is a hyperlink component that is used to navigate to other\n * apps and web pages, or to trigger actions.\n * It is a clickable text element, visualized in such a way that it stands out\n * from the standard text.\n * On hover, it changes its style to an underlined text to provide additional feedback to the user.\n *\n *\n *

Usage

\n *\n * You can set the ui5-link to be enabled or disabled.\n *

\n * To create a visual hierarchy in large lists of links, you can set the less important links as\n * Subtle or the more important ones as Emphasized,\n * by using the design property.\n *

\n * If the href property is set, the link behaves as the HTML\n * anchor tag (<a><a/>) and opens the specified URL in the given target frame (target property).\n * To specify where the linked content is opened, you can use the target property.\n *\n *

Responsive behavior

\n *\n * If there is not enough space, the text of the ui5-link becomes truncated.\n * If the wrappingType property is set to \"Normal\", the text is displayed\n * on several lines instead of being truncated.\n *\n *

ES6 Module Import

\n *\n * import \"@ui5/webcomponents/dist/Link\";\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @slot {Array} default - Defines the text of the component.
Note: Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n */\n@customElement({\n\ttag: \"ui5-link\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: LinkTemplate,\n\tstyles: linkCss,\n})\n/**\n * Fired when the component is triggered either with a mouse/tap\n * or by using the Enter key.\n *\n * @public\n * @allowPreventDefault\n * @param {boolean} altKey Returns whether the \"ALT\" key was pressed when the event was triggered.\n * @param {boolean} ctrlKey Returns whether the \"CTRL\" key was pressed when the event was triggered.\n * @param {boolean} metaKey Returns whether the \"META\" key was pressed when the event was triggered.\n * @param {boolean} shiftKey Returns whether the \"SHIFT\" key was pressed when the event was triggered.\n */\n@event(\"click\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\taltKey: { type: Boolean },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tctrlKey: { type: Boolean },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tmetaKey: { type: Boolean },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tshiftKey: { type: Boolean },\n\t},\n})\nclass Link extends UI5Element implements ITabbable {\n\t/**\n\t * Defines whether the component is disabled.\n\t *

\n\t * Note: When disabled, the click event cannot be triggered by the user.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Defines the tooltip of the component.\n\t * @default \"\"\n\t * @private\n\t * @since 1.18.0\n\t */\n\t @property()\n\t title!: string;\n\n\t/**\n\t * Defines the component href.\n\t *

\n\t * Note: Standard hyperlink behavior is supported.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\thref!: string;\n\n\t/**\n\t * Defines the component target.\n\t *

\n\t * Notes:\n\t *\n\t *
    \n\t *
  • _self
  • \n\t *
  • _top
  • \n\t *
  • _blank
  • \n\t *
  • _parent
  • \n\t *
  • _search
  • \n\t *
\n\t *\n\t * This property must only be used when the href property is set.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ttarget!: string;\n\n\t/**\n\t * Defines the component design.\n\t *

\n\t * Note: Avaialble options are Default, Subtle, and Emphasized.\n\t *\n\t * @default \"Default\"\n\t * @public\n\t */\n\t@property({ type: LinkDesign, defaultValue: LinkDesign.Default })\n\tdesign!: `${LinkDesign}`;\n\n\t/**\n\t * Defines how the text of a component will be displayed when there is not enough space.\n\t *
Note: for option \"Normal\" the text will wrap and the words will not be broken based on hyphenation.\n\t *\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property({ type: WrappingType, defaultValue: WrappingType.None })\n\twrappingType!: `${WrappingType}`;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t *\n\t * @default \"\"\n\t * @public\n\t * @since 1.2.0\n\t */\n\t@property()\n\taccessibleName!: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the input\n\t *\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleNameRef!: string;\n\n\t/**\n\t * Defines the ARIA role of the component.\n\t *\n\t * Note: Use the \"button\" role in cases when navigation is not expected to occur and the href property is not defined.\n\t *\n\t * @default \"link\"\n\t * @public\n\t * @since 1.9.0\n\t */\n\t@property({ defaultValue: \"link\" })\n\taccessibleRole!: string;\n\n\t/**\n\t * An object of strings that defines several additional accessibility attribute values\n\t * for customization depending on the use case.\n\t *\n\t * It supports the following fields:\n\t *\n\t *
    \n\t * \t\t
  • expanded: Indicates whether the anchor element, or another grouping element it controls, is currently expanded or collapsed. Accepts the following string values:\n\t *\t\t\t
      \n\t *\t\t\t\t
    • true
    • \n\t *\t\t\t\t
    • false
    • \n\t *\t\t\t
    \n\t * \t\t
  • \n\t * \t\t
  • hasPopup: Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by the anchor element. Accepts the following string values:\n\t * \t\t\t
      \n\t *\t\t\t\t
    • Dialog
    • \n\t *\t\t\t\t
    • Grid
    • \n\t *\t\t\t\t
    • Listbox
    • \n\t *\t\t\t\t
    • Menu
    • \n\t *\t\t\t\t
    • Tree
    • \n\t * \t\t\t
    \n\t * \t\t
  • \n\t *
\n\t *\n\t * @public\n\t * @since 1.1.0\n\t * @default {}\n\t */\n\t@property({ type: Object })\n\taccessibilityAttributes!: AccessibilityAttributes;\n\n\t@property({ noAttribute: true })\n\t_rel: string | undefined;\n\n\t@property({ noAttribute: true })\n\tforcedTabIndex!: string;\n\n\t/**\n\t * Indicates if the element is on focus.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused!: boolean\n\n\t_dummyAnchor: HTMLAnchorElement;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._dummyAnchor = document.createElement(\"a\");\n\t}\n\n\tonBeforeRendering() {\n\t\tconst needsNoReferrer = this.target !== \"_self\"\n\t\t\t&& this.href\n\t\t\t&& this._isCrossOrigin();\n\n\t\tthis._rel = needsNoReferrer ? \"noreferrer noopener\" : undefined;\n\t}\n\n\t_isCrossOrigin() {\n\t\tconst loc = window.location;\n\n\t\tthis._dummyAnchor.href = this.href;\n\n\t\treturn !(this._dummyAnchor.hostname === loc.hostname\n\t\t\t&& this._dummyAnchor.port === loc.port\n\t\t\t&& this._dummyAnchor.protocol === loc.protocol);\n\t}\n\n\tget effectiveTabIndex() {\n\t\tif (this.forcedTabIndex) {\n\t\t\treturn this.forcedTabIndex;\n\t\t}\n\t\treturn (this.disabled || !this.textContent?.length) ? \"-1\" : \"0\";\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget hasLinkType() {\n\t\treturn this.design !== LinkDesign.Default;\n\t}\n\n\tstatic typeTextMappings(): Record {\n\t\treturn {\n\t\t\t\"Subtle\": LINK_SUBTLE,\n\t\t\t\"Emphasized\": LINK_EMPHASIZED,\n\t\t};\n\t}\n\n\tget linkTypeText() {\n\t\treturn Link.i18nBundle.getText(Link.typeTextMappings()[this.design]);\n\t}\n\n\tget parsedRef() {\n\t\treturn (this.href && this.href.length > 0) ? this.href : undefined;\n\t}\n\n\tget effectiveAccRole() {\n\t\treturn this.accessibleRole.toLowerCase();\n\t}\n\n\tstatic async onDefine() {\n\t\tLink.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\t_onclick(e: MouseEvent | KeyboardEvent) {\n\t\tconst {\n\t\t\taltKey,\n\t\t\tctrlKey,\n\t\t\tmetaKey,\n\t\t\tshiftKey,\n\t\t} = e;\n\n\t\te.stopImmediatePropagation();\n\t\tmarkEvent(e, \"link\");\n\n\t\tconst executeEvent = this.fireEvent(\"click\", {\n\t\t\taltKey,\n\t\t\tctrlKey,\n\t\t\tmetaKey,\n\t\t\tshiftKey,\n\t\t}, true);\n\n\t\tif (!executeEvent) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tmarkEvent(e, \"link\");\n\t\tthis.focused = true;\n\t}\n\n\t_onfocusout() {\n\t\tthis.focused = false;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isEnter(e) && !this.href) {\n\t\t\tthis._onclick(e);\n\t\t} else if (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tmarkEvent(e, \"link\");\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (!isSpace(e)) {\n\t\t\tmarkEvent(e, \"link\");\n\t\t\treturn;\n\t\t}\n\n\t\tthis._onclick(e);\n\n\t\tif (this.href && !e.defaultPrevented) {\n\t\t\tconst customEvent = new MouseEvent(\"click\");\n\n\t\t\tcustomEvent.stopImmediatePropagation();\n\t\t\tthis.getDomRef()!.dispatchEvent(customEvent);\n\t\t}\n\t}\n}\n\nLink.define();\n\nexport default Link;\n\nexport type {\n\tLinkClickEventDetail,\n\tAccessibilityAttributes,\n};\n","'use client';\n\nimport '@ui5/webcomponents/dist/Link.js';\nimport { withWebComponent } from '../../internal/withWebComponent.js';\n/**\n * The `Link` is a hyperlink component that is used to navigate to other apps and web pages, or to trigger actions. It is a clickable text element, visualized in such a way that it stands out from the standard text. On hover, it changes its style to an underlined text to provide additional feedback to the user.\n *\n * ### Usage\n *\n * You can set the `Link` to be enabled or disabled.\n *\n * To create a visual hierarchy in large lists of links, you can set the less important links as `Subtle` or the more important ones as `Emphasized`, by using the `design` property.\n *\n * If the `href` property is set, the link behaves as the HTML anchor tag (``) and opens the specified URL in the given target frame (`target` property). To specify where the linked content is opened, you can use the `target` property.\n *\n * ### Responsive behavior\n *\n * If there is not enough space, the text of the `Link` becomes truncated. If the `wrappingType` property is set to `\"Normal\"`, the text is displayed on several lines instead of being truncated.\n *\n * __Note__: This is a UI5 Web Component! [Repository](https://github.com/SAP/ui5-webcomponents) | [Documentation](https://sap.github.io/ui5-webcomponents/playground/)\n */\nconst Link = withWebComponent('ui5-link', ['accessibleName', 'accessibleNameRef', 'accessibleRole', 'design', 'href', 'target', 'wrappingType'], ['disabled'], [], ['click']);\nLink.displayName = 'Link';\nexport { Link };","import type UI5Element from \"../UI5Element.js\";\nimport { Slot } from \"../UI5ElementMetadata.js\";\n\n/**\n * Returns a slot decorator.\n *\n * @param { Slot } slotData\n * @returns { PropertyDecorator }\n */\nconst slot = (slotData?: Slot): PropertyDecorator => {\n\treturn (target: any, slotKey: string | symbol) => {\n\t\tconst ctor = target.constructor as typeof UI5Element;\n\n\t\tif (!Object.prototype.hasOwnProperty.call(ctor, \"metadata\")) {\n\t\t\tctor.metadata = {};\n\t\t}\n\n\t\tconst metadata = ctor.metadata;\n\t\tif (!metadata.slots) {\n\t\t\tmetadata.slots = {};\n\t\t}\n\n\t\tconst slotMetadata = metadata.slots;\n\n\t\tif (slotData && slotData.default && slotMetadata.default) {\n\t\t\tthrow new Error(\"Only one slot can be the default slot.\");\n\t\t}\n\n\t\tconst key = slotData && slotData.default ? \"default\" : slotKey as string;\n\t\tslotData = slotData || { type: HTMLElement };\n\n\t\tif (!slotData.type) {\n\t\t\tslotData.type = HTMLElement;\n\t\t}\n\n\t\tif (!slotMetadata[key]) {\n\t\t\tslotMetadata[key] = slotData;\n\t\t}\n\n\t\tif (slotData.default) {\n\t\t\tdelete slotMetadata.default.default;\n\t\t\tslotMetadata.default.propertyName = slotKey as string;\n\t\t}\n\n\t\tctor.metadata.managedSlots = true;\n\t};\n};\n\nexport default slot;\n","import type UI5Element from \"./UI5Element.js\";\nimport { renderDeferred } from \"./Render.js\";\nimport { Interval } from \"./types.js\";\n\nconst MISSING_ELEMENT_POLL_TIMEOUT = 500; // how often to poll for not-yet-in-DOM friend elements\nconst connections = new Map();\nconst intervals = new Map();\n\ntype ConnectOptions = {\n\thost: UI5Element;\n\tpropName: string;\n\tonConnect?: (friend: HTMLElement) => void;\n\tonDisconnect?: (friend: HTMLElement) => void;\n}\n\nconst connectToComponent = (options: ConnectOptions): HTMLElement | undefined => {\n\tconst host = options.host;\n\tconst propName = options.propName;\n\tconst friend = host[propName as keyof typeof host] as HTMLElement | string | undefined;\n\n\tlet connectedTo: HTMLElement | undefined;\n\tif (friend === undefined || friend === \"\") {\n\t\tconnectedTo = undefined; // do not return early even if a \"menu\" property is not set - it may have been set before and cleanup must run\n\t} else if (friend instanceof HTMLElement) {\n\t\tconnectedTo = friend;\n\t} else {\n\t\tconst rootNode = host.getRootNode() as Document;\n\t\tconnectedTo = (rootNode.getElementById && rootNode.getElementById(friend)) || undefined;\n\t}\n\n\tconst key = `${host._id}-${propName}`;\n\tconst prevConnectedTo = connections.get(key);\n\n\t// Not connected - return undefined\n\tif (!connectedTo) {\n\t\tif (prevConnectedTo) { // but first disconnect, if needed\n\t\t\toptions.onDisconnect && options.onDisconnect(prevConnectedTo);\n\t\t\tconnections.delete(key);\n\t\t}\n\n\t\t// if friend element not in DOM yet, start polling\n\t\tif (typeof friend === \"string\" && friend && !intervals.has(key)) {\n\t\t\tconst interval = setInterval(() => {\n\t\t\t\tconst rootNode = host.getRootNode() as Document;\n\t\t\t\tconst found = (rootNode.getElementById && rootNode.getElementById(friend));\n\n\t\t\t\tif (found) {\n\t\t\t\t\tclearInterval(intervals.get(key));\n\t\t\t\t\tintervals.delete(key);\n\t\t\t\t\trenderDeferred(host);\n\t\t\t\t}\n\t\t\t}, MISSING_ELEMENT_POLL_TIMEOUT);\n\t\t\tintervals.set(key, interval);\n\t\t}\n\n\t\treturn;\n\t}\n\n\t// If connected, but still polling, stop polling\n\tif (intervals.has(key)) {\n\t\tclearInterval(intervals.get(key));\n\t\tintervals.delete(key);\n\t}\n\n\t// Connected - either for the first time, or to something else\n\tif (prevConnectedTo !== connectedTo) {\n\t\tif (prevConnectedTo) {\n\t\t\toptions.onDisconnect && options.onDisconnect(prevConnectedTo);\n\t\t}\n\t\toptions.onConnect && options.onConnect(connectedTo);\n\t\tconnections.set(key, connectedTo);\n\t}\n\n\treturn connections.get(key);\n};\n\nexport default connectToComponent;\n","import DataType from \"./DataType.js\";\n\n/**\n * @class\n * DOM Element reference or ID.\n * Note: If an ID is passed, it is expected to be part of the same document element as the consuming component.\n *\n * @public\n */\nclass DOMReference extends DataType {\n\tstatic override isValid(value: string | HTMLElement) {\n\t\treturn (typeof value === \"string\" || value instanceof HTMLElement);\n\t}\n\n\tstatic override propertyToAttribute(propertyValue: string | HTMLElement) {\n\t\tif (propertyValue instanceof HTMLElement) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn propertyValue;\n\t}\n}\n\nexport default DOMReference;\n","/**\n * Enumeration for different mode behaviors of the InvisibleMessage.\n *\n * @public\n */\nconst InvisibleMessageMode = {\n\t/**\n * Indicates that updates to the region should be presented at the next graceful opportunity,\n * such as at the end of reading the current sentence, or when the user pauses typing.\n\t * @public\n */\n\tPolite: \"Polite\",\n\n\t/**\n * Indicates that updates to the region have the highest priority and should be presented to the user immediately.\n\t * @public\n */\n\tAssertive: \"Assertive\",\n} as const;\n\ntype InvisibleMessageMode = typeof InvisibleMessageMode[keyof typeof InvisibleMessageMode];\n\nexport default InvisibleMessageMode;\n","import InvisibleMessageMode from \"../types/InvisibleMessageMode.js\";\nimport getSingletonElementInstance from \"./getSingletonElementInstance.js\";\nimport { attachBoot } from \"../Boot.js\";\n\nlet politeSpan: HTMLElement;\nlet assertiveSpan: HTMLElement;\n\nconst setOutOfViewportStyles = (el: HTMLElement) => {\n\tel.style.position = \"absolute\";\n\tel.style.clip = \"rect(1px,1px,1px,1px)\";\n\tel.style.userSelect = \"none\";\n\tel.style.left = \"-1000px\";\n\tel.style.top = \"-1000px\";\n\tel.style.pointerEvents = \"none\";\n};\n\nattachBoot(() => {\n\tif (politeSpan && assertiveSpan) {\n\t\treturn;\n\t}\n\n\tpoliteSpan = document.createElement(\"span\");\n\tassertiveSpan = document.createElement(\"span\");\n\n\tpoliteSpan.classList.add(\"ui5-invisiblemessage-polite\");\n\tassertiveSpan.classList.add(\"ui5-invisiblemessage-assertive\");\n\n\tpoliteSpan.setAttribute(\"aria-live\", \"polite\");\n\tassertiveSpan.setAttribute(\"aria-live\", \"assertive\");\n\n\tpoliteSpan.setAttribute(\"role\", \"alert\");\n\tassertiveSpan.setAttribute(\"role\", \"alert\");\n\n\tsetOutOfViewportStyles(politeSpan);\n\tsetOutOfViewportStyles(assertiveSpan);\n\n\tgetSingletonElementInstance(\"ui5-static-area\").appendChild(politeSpan);\n\tgetSingletonElementInstance(\"ui5-static-area\").appendChild(assertiveSpan);\n});\n\n/**\n * Inserts the string into the respective span, depending on the mode provided.\n *\n * @param { string } message String to be announced by the screen reader.\n * @param { InvisibleMessageMode } mode The mode to be inserted in the aria-live attribute.\n * @public\n */\nconst announce = (message: string, mode: InvisibleMessageMode) => {\n\t// If no type is presented, fallback to polite announcement.\n\tconst span = mode === InvisibleMessageMode.Assertive ? assertiveSpan : politeSpan;\n\n\t// Set textContent to empty string in order to trigger screen reader's announcement.\n\tspan.textContent = \"\";\n\tspan.textContent = message;\n\n\tif (mode !== InvisibleMessageMode.Assertive && mode !== InvisibleMessageMode.Polite) {\n\t\tconsole.warn(`You have entered an invalid mode. Valid values are: \"Polite\" and \"Assertive\". The framework will automatically set the mode to \"Polite\".`); // eslint-disable-line\n\t}\n\n\t// clear the span in order to avoid reading it out while in JAWS reading node\n\tsetTimeout(() => {\n\t\t// ensure that we clear the text node only if no announce is made in the meantime\n\t\tif (span.textContent === message) {\n\t\t\tspan.textContent = \"\";\n\t\t}\n\t}, 3000);\n};\n\nexport default announce;\n","/**\n * Different types of ValueStates.\n *\n * @public\n */\nenum ValueState {\n\t/**\n\t * @public\n\t */\n\tNone = \"None\",\n\n\t/**\n\t * @public\n\t */\n\tSuccess = \"Success\",\n\n\t/**\n\t * @public\n\t */\n\tWarning = \"Warning\",\n\n\t/**\n\t * @public\n\t */\n\tError = \"Error\",\n\n\t/**\n\t * @public\n\t */\n\tInformation = \"Information\",\n}\n\nexport default ValueState;\n","/**\n * Supported icon collection aliases.\n *\n * Users might specify a collection, using both the key and the value in the following key-value pairs,\n * e.g the following pairs are completely exchangeable:\n *\n * - \"SAP-icons/accept\" and \"SAP-icons-v4/accept\"\n * - \"horizon/accept\" and \"SAP-icons-v5/accept\"\n * - \"SAP-icons-TNT/actor\" and \"tnt/actor\"\n * - \"BusinessSuiteInAppSymbols/3d\" and \"business-suite/3d\"\n */\nenum IconCollectionsAlias {\n\t\"SAP-icons\" = \"SAP-icons-v4\",\n\t\"horizon\" = \"SAP-icons-v5\",\n\t\"SAP-icons-TNT\" = \"tnt\",\n\t\"BusinessSuiteInAppSymbols\" = \"business-suite\",\n}\n\n/**\n * Returns the collection name for a given alias:\n *\n * - \"SAP-icons-TNT\"resolves to \"tnt\"\n * - \"BusinessSuiteInAppSymbols\" resolves to \"business-suite\"\n * - \"horizon\" resolves to \"SAP-icons-v5\"\n *\n * @param { string } collectionName\n * @return { string } the normalized collection name\n */\nconst getIconCollectionByAlias = (collectionName: string) => {\n\tif (IconCollectionsAlias[collectionName as keyof typeof IconCollectionsAlias]) {\n\t\treturn IconCollectionsAlias[collectionName as keyof typeof IconCollectionsAlias];\n\t}\n\n\treturn collectionName;\n};\n\nexport default IconCollectionsAlias;\nexport {\n\tgetIconCollectionByAlias,\n};\n","import { isLegacyThemeFamily } from \"../../config/Theme.js\";\n\nenum RegisteredIconCollection {\n\tSAPIconsV4 = \"SAP-icons-v4\",\n\tSAPIconsV5 = \"SAP-icons-v5\",\n\tSAPIconsTNTV2 = \"tnt-v2\",\n\tSAPIconsTNTV3 = \"tnt-v3\",\n\tSAPBSIconsV1 = \"business-suite-v1\",\n\tSAPBSIconsV2 = \"business-suite-v2\",\n}\n\ntype ThemeToCollectionMap = {[x: string]: string; };\n\nconst iconCollections = new Map();\niconCollections.set(\"SAP-icons\", {\n\t\"legacy\": RegisteredIconCollection.SAPIconsV4,\n\t\"sap_horizon\": RegisteredIconCollection.SAPIconsV5,\n});\niconCollections.set(\"tnt\", {\n\t\"legacy\": RegisteredIconCollection.SAPIconsTNTV2,\n\t\"sap_horizon\": RegisteredIconCollection.SAPIconsTNTV3,\n});\niconCollections.set(\"business-suite\", {\n\t\"legacy\": RegisteredIconCollection.SAPBSIconsV1,\n\t\"sap_horizon\": RegisteredIconCollection.SAPBSIconsV2,\n});\n\n/**\n * Registers collection version per theme.\n * For exmaple: registerIconCollectionForTheme(\"my-custom-icons\", {\"sap_horizon\": \"my-custom-icons-v5\"})\n * @param { string } collectionName\n * @param { ThemeToCollectionMap } themeCollectionMap\n */\nconst registerIconCollectionForTheme = (collectionName: string, themeCollectionMap: ThemeToCollectionMap) => {\n\tif (iconCollections.has(collectionName)) {\n\t\ticonCollections.set(collectionName, { ...themeCollectionMap, ...iconCollections.get(collectionName) });\n\t\treturn;\n\t}\n\ticonCollections.set(collectionName, themeCollectionMap);\n};\n\nconst getIconCollectionForTheme = (collectionName: string) => {\n\tconst themeFamily = isLegacyThemeFamily() ? \"legacy\" : \"sap_horizon\";\n\treturn iconCollections.has(collectionName) ? iconCollections.get(collectionName)![themeFamily] : collectionName;\n};\n\nexport {\n\tregisterIconCollectionForTheme,\n\tgetIconCollectionForTheme,\n\tRegisteredIconCollection,\n};\n","const IconCollectionConfiguration = new Map();\n\n// All supported icon collections + unknown custom ones\ntype IconCollection = string;\n\n/**\n * Sets the default icon collection for a given theme.\n *\n * SAP Icons is the default icon collection (that resolves to SAP-icons version 5.x in Horizon theme family and SAP-icons version 4.x in all other themes)\n * and to display icons from other collections, you have to specify the icon collection in addition to the icon name, for example: \"tnt/actor\", \"business-suite/1x2-grid-layout\", etc.\n * This method allows setting another (built-in or custom) icon collection as default per theme.\n *\n * Usage\n * For example, to make \"SAP-icons version 5.x\" the default icon collection in \"sap_fiori_3\":\n *\n *
\n * setDefaultIconCollection(\"sap_fiori_3\", \"SAP-icons-v5\");\n *\n * \n * 
\n *\n * For example, to make a custom icon collection (with name \"my-custom-collection\") the default icon collection in \"sap_fiori_3\":\n *\n *
\n * setDefaultIconCollection(\"sap_fiori_3\", \"my-custom-collection\");\n *\n * \n * 
\n *\n * @public\n * @param { string } theme\n * @param { string } collectionName\n */\nconst setDefaultIconCollection = (theme: string, collectionName: IconCollection) => {\n\tIconCollectionConfiguration.set(theme, collectionName);\n};\n\n/**\n * Returns the configured default icon collection for a given theme.\n *\n * @param { string } theme\n * @public\n * @returns { string | undefined }\n */\nconst getDefaultIconCollection = (theme: string): string | undefined => {\n\treturn IconCollectionConfiguration.get(theme);\n};\n\nexport {\n\tsetDefaultIconCollection,\n\tgetDefaultIconCollection,\n};\n\nexport type {\n\tIconCollection,\n};\n","import { getTheme } from \"../../config/Theme.js\";\nimport type { IconCollection } from \"../../config/Icons.js\";\nimport { getDefaultIconCollection } from \"../../config/Icons.js\";\nimport { getIconCollectionByAlias } from \"./IconCollectionsAlias.js\";\nimport { getIconCollectionForTheme } from \"./IconCollectionsByTheme.js\";\n\n/**\n * Returns the effective theme dependant icon collection:\n *\n * - \"no collection\" resolves to \"SAP-icons-v4\" in \"Quartz\" and \"Belize\", and to \"SAP-icons-v5\" in \"Horizon\"\n * - \"tnt\" (and its alias \"SAP-icons-TNT\") resolves to \"tnt-v2\" in \"Quartz\", \"Belize\", and resolves to \"tnt-v3\" in \"Horizon\"\n * - \"business-suite\" (and its alias \"BusinessSuiteInAppSymbols\") resolves to \"business-suite-v1\" in \"Quartz\", \"Belize\", and resolves to \"business-suite-v2\" in \"Horizon\"\n *\n * @param { IconCollection } collectionName\n * @returns { IconCollection } the effective collection name\n */\nconst getEffectiveIconCollection = (collectionName?: IconCollection): IconCollection => {\n\tconst defaultIconCollection = getDefaultIconCollection(getTheme());\n\n\t// no collection + default collection, configured via setDefaultIconCollection - return the configured icon collection.\n\tif (!collectionName && defaultIconCollection) {\n\t\treturn getIconCollectionByAlias(defaultIconCollection);\n\t}\n\n\t// no collection - return \"SAP-icons-v4\" or \"SAP-icons-v5\".\n\tif (!collectionName) {\n\t\treturn getIconCollectionForTheme(\"SAP-icons\");\n\t}\n\n\t// has collection - return \"SAP-icons-v4\", \"SAP-icons-v5\", \"tnt-v1\", \"tnt-v2\", \"business-suite-v1\", \"business-suite-v2\", or custom ones.\n\treturn getIconCollectionForTheme(collectionName);\n};\n\nexport default getEffectiveIconCollection;\n","import getSharedResource from \"../getSharedResource.js\";\nimport { getIconCollectionByAlias } from \"./util/IconCollectionsAlias.js\";\nimport { registerIconCollectionForTheme } from \"./util/IconCollectionsByTheme.js\";\nimport getEffectiveIconCollection from \"./util/getIconCollectionByTheme.js\";\nimport { getI18nBundle } from \"../i18nBundle.js\";\nimport type { I18nText } from \"../i18nBundle.js\";\nimport type { TemplateFunction } from \"../renderer/executeTemplate.js\";\n\nconst DEFAULT_THEME_FAMILY = \"legacy\"; // includes sap_belize_* and sap_fiori_*\n\ntype IconLoader = (collectionName: string) => Promise>;\n\ntype CollectionData = {\n\tcollection: string,\n\tpackageName: string,\n\tthemeFamily?: \"legacy\" | \"sap_horizon\",\n\tversion?: string,\n\tdata: Record,\n\t\tltr?: boolean,\n\t\tacc?: I18nText,\n\t}>,\n};\n\ntype IconData = {\n\tcollection: string,\n\tpackageName: string,\n\tpathData: string | Array,\n\tltr?: boolean,\n\taccData?: I18nText,\n\tcustomTemplate?: TemplateFunction,\n\tviewBox?: string,\n};\n\nconst loaders = new Map();\nconst registry = getSharedResource>(\"SVGIcons.registry\", new Map());\nconst iconCollectionPromises = getSharedResource>>>(\"SVGIcons.promises\", new Map());\n\nconst ICON_NOT_FOUND = \"ICON_NOT_FOUND\";\n\nconst registerIconLoader = (collectionName: string, loader: IconLoader) => {\n\tloaders.set(collectionName, loader);\n};\n\nconst _loadIconCollectionOnce = async (collectionName: string) => {\n\tif (!iconCollectionPromises.has(collectionName)) {\n\t\tif (!loaders.has(collectionName)) {\n\t\t\tthrow new Error(`No loader registered for the ${collectionName} icons collection. Probably you forgot to import the \"AllIcons.js\" module for the respective package.`);\n\t\t}\n\n\t\tconst loadIcons = loaders.get(collectionName)!;\n\t\ticonCollectionPromises.set(collectionName, loadIcons(collectionName));\n\t}\n\n\treturn iconCollectionPromises.get(collectionName);\n};\n\nconst _fillRegistry = (bundleData: CollectionData) => {\n\tObject.keys(bundleData.data).forEach(iconName => {\n\t\tconst iconData = bundleData.data[iconName];\n\n\t\tregisterIcon(iconName, {\n\t\t\tpathData: (iconData.path || iconData.paths)!,\n\t\t\tltr: iconData.ltr,\n\t\t\taccData: iconData.acc,\n\t\t\tcollection: bundleData.collection,\n\t\t\tpackageName: bundleData.packageName,\n\t\t});\n\t});\n};\n\n// set\nconst registerIcon = (name: string, iconData: IconData) => { // eslint-disable-line\n\tconst key = `${iconData.collection}/${name}`;\n\n\tregistry.set(key, {\n\t\tpathData: iconData.pathData,\n\t\tltr: iconData.ltr,\n\t\taccData: iconData.accData,\n\t\tpackageName: iconData.packageName,\n\t\tcustomTemplate: iconData.customTemplate,\n\t\tviewBox: iconData.viewBox,\n\t\tcollection: iconData.collection,\n\t});\n};\n\n/**\n * Processes the full icon name and splits it into - \"name\", \"collection\".\n * - removes legacy protocol (\"sap-icon://\")\n * - resolves aliases (f.e \"SAP-icons-TNT/actor\" => \"tnt/actor\")\n *\n * @param { string } name\n * @return { object }\n */\nconst processName = (name: string) => {\n\t// silently support ui5-compatible URIs\n\tif (name.startsWith(\"sap-icon://\")) {\n\t\tname = name.replace(\"sap-icon://\", \"\");\n\t}\n\n\tlet collection: string;\n\t[name, collection] = name.split(\"/\").reverse();\n\n\tname = name.replace(\"icon-\", \"\");\n\tif (collection) {\n\t\tcollection = getIconCollectionByAlias(collection);\n\t}\n\treturn { name, collection };\n};\n\nconst getIconDataSync = (iconName: string) => {\n\tconst { name, collection } = processName(iconName);\n\treturn getRegisteredIconData(collection, name);\n};\n\nconst getIconData = async (iconName: string) => {\n\tconst { name, collection } = processName(iconName);\n\n\tlet iconData: string | CollectionData | Array = ICON_NOT_FOUND;\n\ttry {\n\t\ticonData = (await _loadIconCollectionOnce(getEffectiveIconCollection(collection)))!;\n\t} catch (error: unknown) {\n\t\tconst e = error as Error;\n\t\tconsole.error(e.message); /* eslint-disable-line */\n\t}\n\n\tif (iconData === ICON_NOT_FOUND) {\n\t\treturn iconData;\n\t}\n\n\tconst registeredIconData = getRegisteredIconData(collection, name);\n\n\tif (registeredIconData) {\n\t\treturn registeredIconData;\n\t}\n\n\t// not filled by another await. many getters will await on the same loader, but fill only once\n\tif (Array.isArray(iconData)) {\n\t\ticonData.forEach(data => {\n\t\t\t_fillRegistry(data);\n\t\t\tregisterIconCollectionForTheme(collection, { [data.themeFamily || DEFAULT_THEME_FAMILY]: data.collection });\n\t\t});\n\t} else {\n\t\t_fillRegistry(iconData as CollectionData);\n\t}\n\n\treturn getRegisteredIconData(collection, name);\n};\n\nconst getRegisteredIconData = (collection: string, name: string) => {\n\tconst registryKey = `${getEffectiveIconCollection(collection)}/${name}`;\n\treturn registry.get(registryKey);\n};\n\n/**\n * Returns the accessible name for the given icon,\n * or undefined if accessible name is not present.\n *\n * @param { string } name\n * @return { Promise }\n */\nconst getIconAccessibleName = async (name: string): Promise => {\n\tif (!name) {\n\t\treturn;\n\t}\n\n\tlet iconData: typeof ICON_NOT_FOUND | IconData | undefined = getIconDataSync(name);\n\n\tif (!iconData) {\n\t\ticonData = await getIconData(name);\n\t}\n\n\tif (iconData && iconData !== ICON_NOT_FOUND && iconData.accData) {\n\t\tconst i18nBundle = await getI18nBundle(iconData.packageName);\n\t\treturn i18nBundle.getText(iconData.accData);\n\t}\n};\n\n// test page usage only\nconst _getRegisteredNames = async () => {\n\t// fetch one icon of each collection to trigger the bundle load\n\tawait getIconData(\"edit\");\n\tawait getIconData(\"tnt/arrow\");\n\tawait getIconData(\"business-suite/3d\");\n\treturn Array.from(registry.keys());\n};\n\nexport {\n\tregisterIconLoader,\n\tgetIconData,\n\tgetIconDataSync,\n\tgetIconAccessibleName,\n\tregisterIcon,\n\t_getRegisteredNames,\n};\n\nexport type {\n\tIconData,\n\tCollectionData,\n};\n","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"slim-arrow-down\";\nconst pathData = \"M420.5 187q11-12 23 0 5 5 5 11t-5 11l-165 165q-10 9-23 9t-22-9l-166-165q-5-5-5-11.5t5-11.5 11.5-5 11.5 5l160 160q5 6 11 0z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v4\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v4/slim-arrow-down\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"slim-arrow-down\";\nconst pathData = \"M96 186q0-11 7.5-18.5T122 160q10 0 18 8l116 121 116-121q8-8 18-8 11 0 18.5 7.5T416 186q0 10-7 17L275 344q-8 8-19 8-12 0-18-8L103 203q-7-7-7-17z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v5\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v5/slim-arrow-down\";\nexport { pathData, ltr, accData };","import { isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { pathData as pathDatav4, ltr, accData } from \"./v4/slim-arrow-down.js\";\nimport { pathData as pathDatav5 } from \"./v5/slim-arrow-down.js\";\n\nconst pathData = isLegacyThemeFamily() ? pathDatav4 : pathDatav5;\n\nexport default \"slim-arrow-down\";\nexport { pathData, ltr, accData };","import { I18nText } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nconst ICON_ACTION_SETTINGS: I18nText = {key: \"ICON_ACTION_SETTINGS\", defaultText: \"Settings\"};const ICON_ACTIVATE: I18nText = {key: \"ICON_ACTIVATE\", defaultText: \"Activate\"};const ICON_ADD: I18nText = {key: \"ICON_ADD\", defaultText: \"Add\"};const ICON_ADD_CONTACT: I18nText = {key: \"ICON_ADD_CONTACT\", defaultText: \"Add Contact\"};const ICON_ADD_FILTER: I18nText = {key: \"ICON_ADD_FILTER\", defaultText: \"Add Filter\"};const ICON_ADD_PHOTO: I18nText = {key: \"ICON_ADD_PHOTO\", defaultText: \"Add Photo\"};const ICON_BACK_TO_TOP: I18nText = {key: \"ICON_BACK_TO_TOP\", defaultText: \"Back to Top\"};const ICON_COLLAPSE: I18nText = {key: \"ICON_COLLAPSE\", defaultText: \"Collapse\"};const ICON_COLLAPSE_GROUP: I18nText = {key: \"ICON_COLLAPSE_GROUP\", defaultText: \"Collapse Group\"};const ICON_CROP: I18nText = {key: \"ICON_CROP\", defaultText: \"Crop\"};const ICON_DECLINE: I18nText = {key: \"ICON_DECLINE\", defaultText: \"Decline\"};const ICON_DELETE: I18nText = {key: \"ICON_DELETE\", defaultText: \"Delete\"};const ICON_DISPLAY: I18nText = {key: \"ICON_DISPLAY\", defaultText: \"Display\"};const ICON_DOWN: I18nText = {key: \"ICON_DOWN\", defaultText: \"Down\"};const ICON_DOWNLOAD: I18nText = {key: \"ICON_DOWNLOAD\", defaultText: \"Download\"};const ICON_DRILL_DOWN: I18nText = {key: \"ICON_DRILL_DOWN\", defaultText: \"Drill Down\"};const ICON_DRILL_UP: I18nText = {key: \"ICON_DRILL_UP\", defaultText: \"Drill Up\"};const ICON_ERROR: I18nText = {key: \"ICON_ERROR\", defaultText: \"Error\"};const ICON_EXIT_FULL_SCREEN: I18nText = {key: \"ICON_EXIT_FULL_SCREEN\", defaultText: \"Exit Full Screen\"};const ICON_EXPAND: I18nText = {key: \"ICON_EXPAND\", defaultText: \"Expand\"};const ICON_EXPAND_GROUP: I18nText = {key: \"ICON_EXPAND_GROUP\", defaultText: \"Expand Group\"};const ICON_FILTER: I18nText = {key: \"ICON_FILTER\", defaultText: \"Filter\"};const ICON_FLAG: I18nText = {key: \"ICON_FLAG\", defaultText: \"Flag\"};const ICON_FORWARD: I18nText = {key: \"ICON_FORWARD\", defaultText: \"Forward\"};const ICON_FULL_SCREEN: I18nText = {key: \"ICON_FULL_SCREEN\", defaultText: \"Enter Full Screen\"};const ICON_GENERATE_SHORTCUT: I18nText = {key: \"ICON_GENERATE_SHORTCUT\", defaultText: \"Create Shortcut\"};const ICON_GROUP_2: I18nText = {key: \"ICON_GROUP_2\", defaultText: \"Group\"};const ICON_HIDE: I18nText = {key: \"ICON_HIDE\", defaultText: \"Hide\"};const ICON_IPAD: I18nText = {key: \"ICON_IPAD\", defaultText: \"Tablet\"};const ICON_IPHONE: I18nText = {key: \"ICON_IPHONE\", defaultText: \"Phone\"};const ICON_LAPTOP: I18nText = {key: \"ICON_LAPTOP\", defaultText: \"Laptop\"};const ICON_MESSAGE_ERROR: I18nText = {key: \"ICON_MESSAGE_ERROR\", defaultText: \"Error\"};const ICON_MESSAGE_INFORMATION: I18nText = {key: \"ICON_MESSAGE_INFORMATION\", defaultText: \"Information\"};const ICON_MESSAGE_SUCCESS: I18nText = {key: \"ICON_MESSAGE_SUCCESS\", defaultText: \"Successful\"};const ICON_MESSAGE_WARNING: I18nText = {key: \"ICON_MESSAGE_WARNING\", defaultText: \"Warning\"};const ICON_MOVE: I18nText = {key: \"ICON_MOVE\", defaultText: \"Move\"};const ICON_MULTI_SELECT: I18nText = {key: \"ICON_MULTI_SELECT\", defaultText: \"Multi Select\"};const ICON_NAV_BACK: I18nText = {key: \"ICON_NAV_BACK\", defaultText: \"Navigate Back\"};const ICON_OVERFLOW: I18nText = {key: \"ICON_OVERFLOW\", defaultText: \"More\"};const ICON_REDO: I18nText = {key: \"ICON_REDO\", defaultText: \"Redo\"};const ICON_REFRESH: I18nText = {key: \"ICON_REFRESH\", defaultText: \"Refresh\"};const ICON_RESIZE: I18nText = {key: \"ICON_RESIZE\", defaultText: \"Resize\"};const ICON_RESIZE_HORIZONTAL: I18nText = {key: \"ICON_RESIZE_HORIZONTAL\", defaultText: \"Resize Horizontally\"};const ICON_RESIZE_VERTICAL: I18nText = {key: \"ICON_RESIZE_VERTICAL\", defaultText: \"Resize Vertically\"};const ICON_RESPONSE: I18nText = {key: \"ICON_RESPONSE\", defaultText: \"Reply\"};const ICON_SAVE: I18nText = {key: \"ICON_SAVE\", defaultText: \"Save\"};const ICON_SEARCH: I18nText = {key: \"ICON_SEARCH\", defaultText: \"Search\"};const ICON_SETTINGS: I18nText = {key: \"ICON_SETTINGS\", defaultText: \"Settings\"};const ICON_SHOW: I18nText = {key: \"ICON_SHOW\", defaultText: \"Show\"};const ICON_SORT: I18nText = {key: \"ICON_SORT\", defaultText: \"Sort\"};const ICON_SORT_ASCENDING: I18nText = {key: \"ICON_SORT_ASCENDING\", defaultText: \"Sort Ascending\"};const ICON_SORT_DESCENDING: I18nText = {key: \"ICON_SORT_DESCENDING\", defaultText: \"Sort Descending\"};const ICON_SYNCHRONIZE: I18nText = {key: \"ICON_SYNCHRONIZE\", defaultText: \"Synchronize\"};const ICON_UNDO: I18nText = {key: \"ICON_UNDO\", defaultText: \"Undo\"};const ICON_UP: I18nText = {key: \"ICON_UP\", defaultText: \"Up\"};const ICON_UPLOAD: I18nText = {key: \"ICON_UPLOAD\", defaultText: \"Upload\"};const ICON_ZOOM_IN: I18nText = {key: \"ICON_ZOOM_IN\", defaultText: \"Zoom In\"};const ICON_ZOOM_OUT: I18nText = {key: \"ICON_ZOOM_OUT\", defaultText: \"Zoom Out\"};\nexport {ICON_ACTION_SETTINGS,ICON_ACTIVATE,ICON_ADD,ICON_ADD_CONTACT,ICON_ADD_FILTER,ICON_ADD_PHOTO,ICON_BACK_TO_TOP,ICON_COLLAPSE,ICON_COLLAPSE_GROUP,ICON_CROP,ICON_DECLINE,ICON_DELETE,ICON_DISPLAY,ICON_DOWN,ICON_DOWNLOAD,ICON_DRILL_DOWN,ICON_DRILL_UP,ICON_ERROR,ICON_EXIT_FULL_SCREEN,ICON_EXPAND,ICON_EXPAND_GROUP,ICON_FILTER,ICON_FLAG,ICON_FORWARD,ICON_FULL_SCREEN,ICON_GENERATE_SHORTCUT,ICON_GROUP_2,ICON_HIDE,ICON_IPAD,ICON_IPHONE,ICON_LAPTOP,ICON_MESSAGE_ERROR,ICON_MESSAGE_INFORMATION,ICON_MESSAGE_SUCCESS,ICON_MESSAGE_WARNING,ICON_MOVE,ICON_MULTI_SELECT,ICON_NAV_BACK,ICON_OVERFLOW,ICON_REDO,ICON_REFRESH,ICON_RESIZE,ICON_RESIZE_HORIZONTAL,ICON_RESIZE_VERTICAL,ICON_RESPONSE,ICON_SAVE,ICON_SEARCH,ICON_SETTINGS,ICON_SHOW,ICON_SORT,ICON_SORT_ASCENDING,ICON_SORT_DESCENDING,ICON_SYNCHRONIZE,ICON_UNDO,ICON_UP,ICON_UPLOAD,ICON_ZOOM_IN,ICON_ZOOM_OUT};","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\nimport { ICON_ERROR } from \"../generated/i18n/i18n-defaults.js\";\n\nconst name = \"error\";\nconst pathData = \"M512 256q0 53-20.5 100t-55 81.5-81 54.5-99.5 20-100-20.5-81.5-55T20 355 0 256q0-54 20-100.5t55-81T156.5 20 256 0t99.5 20T437 75t55 81.5 20 99.5zM399 364q6-6 0-12l-86-86q-6-6 0-12l81-81q6-6 0-12l-37-37q-2-2-6-2t-6 2l-83 82q-1 3-6 3-3 0-6-3l-84-83q-1-2-6-2-4 0-6 2l-37 37q-6 6 0 12l83 82q6 6 0 12l-83 82q-2 2-2.5 6t2.5 6l36 37q4 2 6 2 4 0 6-2l85-84q2-2 6-2t6 2l88 88q4 2 6 2t6-2z\";\nconst ltr = false;\nconst accData = ICON_ERROR;\nconst collection = \"SAP-icons-v4\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, accData, collection, packageName });\n\nexport default \"SAP-icons-v4/error\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\nimport { ICON_ERROR } from \"../generated/i18n/i18n-defaults.js\";\n\nconst name = \"error\";\nconst pathData = \"M256 0q53 0 99.5 20T437 75t55 81.5 20 99.5-20 99.5-55 81.5-81.5 55-99.5 20-99.5-20T75 437t-55-81.5T0 256t20-99.5T75 75t81.5-55T256 0zm45 256l74-73q9-11 9-23 0-13-9.5-22.5T352 128q-12 0-23 9l-73 74-73-74q-10-9-23-9t-22.5 9.5T128 160q0 12 9 23l74 73-74 73q-9 10-9 23t9.5 22.5T160 384t23-9l73-74 73 74q11 9 23 9 13 0 22.5-9.5T384 352t-9-23z\";\nconst ltr = false;\nconst accData = ICON_ERROR;\nconst collection = \"SAP-icons-v5\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, accData, collection, packageName });\n\nexport default \"SAP-icons-v5/error\";\nexport { pathData, ltr, accData };","import { isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { pathData as pathDatav4, ltr, accData } from \"./v4/error.js\";\nimport { pathData as pathDatav5 } from \"./v5/error.js\";\n\nconst pathData = isLegacyThemeFamily() ? pathDatav4 : pathDatav5;\n\nexport default \"error\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"alert\";\nconst pathData = \"M501 374q5 10 7.5 19.5T512 412v5q0 31-23 47t-50 16H74q-13 0-26-4t-23.5-12-17-20T0 417q0-13 4-22.5t9-20.5L198 38q21-38 61-38 38 0 59 38zM257 127q-13 0-23.5 8T223 161q1 7 2 12 3 25 4.5 48t3.5 61q0 11 7.5 16t16.5 5q22 0 23-21l2-36 9-85q0-18-10.5-26t-23.5-8zm0 299q20 0 31.5-12t11.5-32q0-19-11.5-31T257 339t-31.5 12-11.5 31q0 20 11.5 32t31.5 12z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v4\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v4/alert\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"alert\";\nconst pathData = \"M505 399q7 13 7 27 0 21-15.5 37.5T456 480H56q-25 0-40.5-16.5T0 426q0-14 7-27L208 59q17-27 48-27 14 0 27 6.5T304 59zM288 176q0-14-9-23t-23-9-23 9-9 23v96q0 14 9 23t23 9 23-9 9-23v-96zm-32 240q14 0 23-9t9-23-9-23-23-9-23 9-9 23 9 23 23 9z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v5\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v5/alert\";\nexport { pathData, ltr, accData };","import { isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { pathData as pathDatav4, ltr, accData } from \"./v4/alert.js\";\nimport { pathData as pathDatav5 } from \"./v5/alert.js\";\n\nconst pathData = isLegacyThemeFamily() ? pathDatav4 : pathDatav5;\n\nexport default \"alert\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"sys-enter-2\";\nconst pathData = \"M512 256q0 54-20 100.5t-54.5 81T356 492t-100 20q-54 0-100.5-20t-81-55T20 355.5 0 256t20.5-100 55-81.5T157 20t99-20q53 0 100 20t81.5 54.5T492 156t20 100zm-118-87q4-8-1-13l-36-36q-3-4-8-4t-8 5L237 294q-3 1-4 0l-70-52q-4-3-7-3t-4.5 2-2.5 3l-29 41q-6 8 2 14l113 95q2 2 7 2t8-4z\";\nconst ltr = true;\nconst accData = null;\nconst collection = \"SAP-icons-v4\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v4/sys-enter-2\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"sys-enter-2\";\nconst pathData = \"M256 0q53 0 100 20t81.5 54.5T492 156t20 100-20 100-54.5 81.5T356 492t-100 20-100-20-81.5-54.5T20 356 0 256t20-100 54.5-81.5T156 20 256 0zm150 183q10-9 10-23 0-13-9.5-22.5T384 128t-22 9L186 308l-68-63q-9-9-22-9t-22.5 9.5T64 268q0 15 10 24l91 83q9 9 21 9 13 0 23-9z\";\nconst ltr = true;\nconst accData = null;\nconst collection = \"SAP-icons-v5\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v5/sys-enter-2\";\nexport { pathData, ltr, accData };","import { isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { pathData as pathDatav4, ltr, accData } from \"./v4/sys-enter-2.js\";\nimport { pathData as pathDatav5 } from \"./v5/sys-enter-2.js\";\n\nconst pathData = isLegacyThemeFamily() ? pathDatav4 : pathDatav5;\n\nexport default \"sys-enter-2\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"information\";\nconst pathData = \"M0 256q0-53 20.5-100t55-81.5T157 20t99-20q54 0 100.5 20t81 55 54.5 81.5 20 99.5q0 54-20 100.5t-54.5 81T356 492t-100 20q-54 0-100.5-20t-81-55T20 355.5 0 256zm192 112v33h128v-33h-32V215q0-6-7-6h-88v31h32v128h-33zm34-201q14 11 30 11 17 0 29.5-11.5T298 138q0-19-13-31-12-12-29-12-19 0-30.5 12.5T214 138q0 17 12 29z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v4\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v4/information\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"information\";\nconst pathData = \"M256 0q53 0 99.5 20T437 75t55 81.5 20 99.5-20 99.5-55 81.5-81.5 55-99.5 20-99.5-20T75 437t-55-81.5T0 256t20-99.5T75 75t81.5-55T256 0zm0 160q14 0 23-9t9-23-9-23-23-9-23 9-9 23 9 23 23 9zm32 64q0-14-9-23t-23-9-23 9-9 23v160q0 14 9 23t23 9 23-9 9-23V224z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v5\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v5/information\";\nexport { pathData, ltr, accData };","import { isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { pathData as pathDatav4, ltr, accData } from \"./v4/information.js\";\nimport { pathData as pathDatav5 } from \"./v5/information.js\";\n\nconst pathData = isLegacyThemeFamily() ? pathDatav4 : pathDatav5;\n\nexport default \"information\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\nimport { ICON_DECLINE } from \"../generated/i18n/i18n-defaults.js\";\n\nconst name = \"decline\";\nconst pathData = \"M86 109l22-23q5-5 12-5 6 0 11 5l124 125L380 86q5-5 11-5 7 0 12 5l22 23q12 11 0 23L301 256l124 125q11 11 0 22l-22 23q-8 5-12 5-3 0-11-5L255 301 131 426q-5 5-11 5-4 0-12-5l-22-23q-11-11 0-22l124-125L86 132q-12-12 0-23z\";\nconst ltr = false;\nconst accData = ICON_DECLINE;\nconst collection = \"SAP-icons-v4\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, accData, collection, packageName });\n\nexport default \"SAP-icons-v4/decline\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\nimport { ICON_DECLINE } from \"../generated/i18n/i18n-defaults.js\";\n\nconst name = \"decline\";\nconst pathData = \"M292 256l117 116q7 7 7 18 0 12-7.5 19t-18.5 7q-10 0-18-8L256 292 140 408q-8 8-18 8-11 0-18.5-7.5T96 390q0-10 8-18l116-116-116-116q-8-8-8-18 0-11 7.5-18.5T122 96t18 7l116 117 116-117q7-7 18-7t18.5 7.5T416 122t-7 18z\";\nconst ltr = false;\nconst accData = ICON_DECLINE;\nconst collection = \"SAP-icons-v5\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, accData, collection, packageName });\n\nexport default \"SAP-icons-v5/decline\";\nexport { pathData, ltr, accData };","import { isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { pathData as pathDatav4, ltr, accData } from \"./v4/decline.js\";\nimport { pathData as pathDatav5 } from \"./v5/decline.js\";\n\nconst pathData = isLegacyThemeFamily() ? pathDatav4 : pathDatav5;\n\nexport default \"decline\";\nexport { pathData, ltr, accData };","import { instanceOfUI5Element } from \"../UI5Element.js\";\n\ntype ResizeObserverCallback = () => Promise | void;\n\nlet resizeObserver: ResizeObserver;\nconst observedElements = new Map>();\n\nconst getResizeObserver = () => {\n\tif (!resizeObserver) {\n\t\tresizeObserver = new window.ResizeObserver(entries => {\n\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\tentries.forEach(entry => {\n\t\t\t\t\tconst callbacks = observedElements.get(entry.target as HTMLElement);\n\t\t\t\t\t// Callbacks could be async and we need to handle returned promises to comply with the eslint \"no-misused-promises\" rule.\n\t\t\t\t\t// Although Promise.all awaits all, we don't await the additional task after calling the callbacks and should not make any difference.\n\t\t\t\t\tcallbacks && Promise.all(callbacks.map((callback: ResizeObserverCallback) => callback()));\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\treturn resizeObserver;\n};\n\nconst observe = (element: HTMLElement, callback: ResizeObserverCallback) => {\n\tconst callbacks = observedElements.get(element) || [];\n\n\t// if no callbacks have been added for this element - start observing it\n\tif (!callbacks.length) {\n\t\tgetResizeObserver().observe(element);\n\t}\n\n\t// save the callbacks in an array\n\tobservedElements.set(element, [...callbacks, callback]);\n};\n\nconst unobserve = (element: HTMLElement, callback: ResizeObserverCallback) => {\n\tconst callbacks = observedElements.get(element) || [];\n\tif (callbacks.length === 0) {\n\t\treturn;\n\t}\n\n\tconst filteredCallbacks = callbacks.filter((fn: ResizeObserverCallback) => fn !== callback);\n\tif (filteredCallbacks.length === 0) {\n\t\tgetResizeObserver().unobserve(element);\n\t\tobservedElements.delete(element);\n\t} else {\n\t\tobservedElements.set(element, filteredCallbacks);\n\t}\n};\n\n/**\n * Allows to register/deregister resize observers for a DOM element\n *\n * @public\n * @class\n */\nclass ResizeHandler {\n\t/**\n\t * @public\n\t * @param element UI5 Web Component or DOM Element to be observed\n\t * @param callback Callback to be executed\n\t */\n\tstatic register(element: HTMLElement, callback: ResizeObserverCallback): void {\n\t\tlet effectiveElement: HTMLElement | undefined = element;\n\n\t\tif (instanceOfUI5Element(effectiveElement)) {\n\t\t\teffectiveElement = effectiveElement.getDomRef();\n\t\t}\n\n\t\tif (effectiveElement instanceof HTMLElement) {\n\t\t\tobserve(effectiveElement, callback);\n\t\t} else {\n\t\t\tconsole.warn(\"Cannot register ResizeHandler for element\", element); // eslint-disable-line\n\t\t}\n\t}\n\n\t/**\n\t * @public\n\t * @param element UI5 Web Component or DOM Element to be unobserved\n\t * @param callback Callback to be removed\n\t */\n\tstatic deregister(element: HTMLElement, callback: ResizeObserverCallback): void {\n\t\tlet effectiveElement: HTMLElement | undefined = element;\n\n\t\tif (instanceOfUI5Element(effectiveElement)) {\n\t\t\teffectiveElement = effectiveElement.getDomRef();\n\t\t}\n\n\t\tif (effectiveElement instanceof HTMLElement) {\n\t\t\tunobserve(effectiveElement, callback);\n\t\t} else {\n\t\t\tconsole.warn(\"Cannot deregister ResizeHandler for element\", element); // eslint-disable-line\n\t\t}\n\t}\n}\n\nexport default ResizeHandler;\nexport type {\n\tResizeObserverCallback,\n};\n","const getActiveElement = () => {\n\tlet element = document.activeElement;\n\n\twhile (element && element.shadowRoot && element.shadowRoot.activeElement) {\n\t\telement = element.shadowRoot.activeElement;\n\t}\n\n\treturn element;\n};\n\nexport default getActiveElement;\n","/**\n * Different navigation modes for ItemNavigation.\n *\n * @public\n */\nenum NavigationMode {\n\t/**\n\t * @public\n\t */\n\tAuto = \"Auto\",\n\t/**\n\t * @public\n\t */\n\tVertical = \"Vertical\",\n\t/**\n\t * @public\n\t */\n\tHorizontal = \"Horizontal\",\n\t/**\n\t * @public\n\t */\n\tPaging = \"Paging\",\n}\n\nexport default NavigationMode;\n","/**\n * Different behavior for ItemNavigation.\n *\n * @public\n */\nenum ItemNavigationBehavior {\n\t/**\n\t * Static behavior: navigations stops at the first or last item.\n\t * @public\n \t */\n\tStatic = \"Static\",\n\n\t/**\n\t * Cycling behavior: navigating past the last item continues with the first and vice versa.\n\t * @public\n \t */\n\tCyclic = \"Cyclic\",\n}\n\nexport default ItemNavigationBehavior;\n","import {\n\tisDown,\n\tisUp,\n\tisLeft,\n\tisRight,\n\tisHome,\n\tisEnd,\n\tisPageDown,\n\tisPageUp,\n} from \"../Keys.js\";\nimport getActiveElement from \"../util/getActiveElement.js\";\n\nimport NavigationMode from \"../types/NavigationMode.js\";\nimport ItemNavigationBehavior from \"../types/ItemNavigationBehavior.js\";\n\nimport type UI5Element from \"../UI5Element.js\";\nimport { instanceOfUI5Element } from \"../UI5Element.js\";\n\ninterface ITabbable {\n\tid: string,\n\tforcedTabIndex: string,\n}\n\ntype ItemNavigationOptions = {\n\tcurrentIndex?: number,\n\tnavigationMode?: NavigationMode,\n\trowSize?: number\n\tskipItemsSize?: number,\n\tbehavior?: ItemNavigationBehavior,\n\tgetItemsCallback: () => Array,\n\taffectedPropertiesNames?: Array,\n};\n\n/**\n * The ItemNavigation class manages the calculations to determine the correct \"tabindex\" for a group of related items inside a root component.\n * Important: ItemNavigation only does the calculations and does not change \"tabindex\" directly, this is a responsibility of the developer.\n *\n * The keys that trigger ItemNavigation are:\n * - Up/down\n * - Left/right\n * - Home/End\n *\n * Usage:\n * 1) Use the \"getItemsCallback\" constructor property to pass a callback to ItemNavigation, which, whenever called, will return the list of items to navigate among.\n *\n * Each item passed to ItemNavigation via \"getItemsCallback\" must be:\n * - A) either a UI5Element with a \"forcedTabIndex\" property\n * - B) or an Object with \"id\" and \"forcedTabIndex\" properties which represents a part of the root component's shadow DOM.\n * The \"id\" must be a valid ID within the shadow root of the component ItemNavigation operates on.\n * This object must not be a DOM object because, as said, ItemNavigation will not set \"tabindex\" on it. It must be a representation of a DOM object only\n * and the developer has the responsibility to update the \"tabindex\" in the component's DOM.\n * - C) a combination of the above\n *\n * Whenever the user navigates with the keyboard, ItemNavigation will modify the \"forcedTabIndex\" properties of the items.\n * It is the items' responsibilities to re-render themselves and apply the correct value of \"tabindex\" (i.e. to map the \"forcedTabIndex\" ItemNavigation set to them to the \"tabindex\" property).\n * If the items of the ItemNavigation are UI5Elements themselves, this can happen naturally since they will be invalidated by their \"forcedTabIndex\" property.\n * If the items are Objects with \"id\" and \"forcedTabIndex\" however, it is the developer's responsibility to apply these and the easiest way is to have the root component invalidated by ItemNavigation.\n * To do so, set the \"affectedPropertiesNames\" constructor property to point to one or more of the root component's properties that need refreshing when \"forcedTabIndex\" is changed deeply.\n *\n * 2) Call the \"setCurrentItem\" method of ItemNavigation whenever you want to change the current item.\n * This is most commonly required if the user for example clicks on an item and thus selects it directly.\n * Pass as the only argument to \"setCurrentItem\" the item that becomes current (must be one of the items, returned by \"getItemsCallback\").\n *\n * @class\n * @public\n */\nclass ItemNavigation {\n\trootWebComponent: UI5Element;\n\n\t_getItems: () => Array;\n\n\t_currentIndex: number;\n\n\t_rowSize: number;\n\n\t_behavior: ItemNavigationBehavior;\n\n\t_navigationMode: NavigationMode;\n\n\t_affectedPropertiesNames: Array;\n\n\t_skipItemsSize: number | null;\n\n\t_initBound: () => void;\n\n\t/**\n\t *\n\t * @param rootWebComponent the component to operate on (component that slots or contains within its shadow root the items the user navigates among)\n\t * @param {ItemNavigationOptions} options Object with configuration options:\n\t * - currentIndex: the index of the item that will be initially selected (from which navigation will begin)\n\t * - navigationMode (Auto|Horizontal|Vertical): whether the items are displayed horizontally (Horizontal), vertically (Vertical) or as a matrix (Auto) meaning the user can navigate in both directions (up/down and left/right)\n\t * - rowSize: tells how many items per row there are when the items are not rendered as a flat list but rather as a matrix. Relevant for navigationMode=Auto\n\t * \t- skipItemsSize: tells how many items upon PAGE_UP and PAGE_DOWN should be skipped to applying the focus on the next item\n\t * - behavior (Static|Cycling): tells what to do when trying to navigate beyond the first and last items\n\t * Static means that nothing happens if the user tries to navigate beyond the first/last item.\n\t * Cycling means that when the user navigates beyond the last item they go to the first and vice versa.\n\t * - getItemsCallback: function that, when called, returns an array with all items the user can navigate among\n\t * - affectedPropertiesNames: a list of metadata properties on the root component which, upon user navigation, will be reassigned by address thus causing the root component to invalidate\n\t */\n\tconstructor(rootWebComponent: UI5Element, options: ItemNavigationOptions) {\n\t\tif (!rootWebComponent.isUI5Element) {\n\t\t\tthrow new Error(\"The root web component must be a UI5 Element instance\");\n\t\t}\n\n\t\tthis.rootWebComponent = rootWebComponent;\n\t\tthis.rootWebComponent.addEventListener(\"keydown\", this._onkeydown.bind(this));\n\t\tthis._initBound = this._init.bind(this);\n\t\tthis.rootWebComponent.attachComponentStateFinalized(this._initBound);\n\n\t\tif (typeof options.getItemsCallback !== \"function\") {\n\t\t\tthrow new Error(\"getItemsCallback is required\");\n\t\t}\n\n\t\tthis._getItems = options.getItemsCallback;\n\t\tthis._currentIndex = options.currentIndex || 0;\n\t\tthis._rowSize = options.rowSize || 1;\n\t\tthis._behavior = options.behavior || ItemNavigationBehavior.Static;\n\t\tthis._navigationMode = options.navigationMode || NavigationMode.Auto;\n\t\tthis._affectedPropertiesNames = options.affectedPropertiesNames || [];\n\t\tthis._skipItemsSize = options.skipItemsSize || null;\n\t}\n\n\t/**\n\t * Call this method to set a new \"current\" (selected) item in the item navigation\n\t * Note: the item passed to this function must be one of the items, returned by the getItemsCallback function\n\t *\n\t * @public\n\t * @param current the new selected item\n\t */\n\tsetCurrentItem(current: ITabbable): void {\n\t\tconst currentItemIndex = this._getItems().indexOf(current);\n\n\t\tif (currentItemIndex === -1) {\n\t\t\tconsole.warn(`The provided item is not managed by ItemNavigation`, current); // eslint-disable-line\n\t\t\treturn;\n\t\t}\n\n\t\tthis._currentIndex = currentItemIndex;\n\t\tthis._applyTabIndex();\n\t}\n\n\t/**\n\t * Call this method to dynamically change the row size\n\t *\n\t * @public\n\t * @param newRowSize\n\t */\n\tsetRowSize(newRowSize: number): void {\n\t\tthis._rowSize = newRowSize;\n\t}\n\n\t_init() {\n\t\tthis._getItems().forEach((item, idx) => {\n\t\t\titem.forcedTabIndex = (idx === this._currentIndex) ? \"0\" : \"-1\";\n\t\t});\n\t}\n\n\t_onkeydown(event: KeyboardEvent) {\n\t\tif (!this._canNavigate()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst horizontalNavigationOn = this._navigationMode === NavigationMode.Horizontal || this._navigationMode === NavigationMode.Auto;\n\t\tconst verticalNavigationOn = this._navigationMode === NavigationMode.Vertical || this._navigationMode === NavigationMode.Auto;\n\t\tconst isRTL = this.rootWebComponent.effectiveDir === \"rtl\";\n\n\t\tif (isRTL && isLeft(event) && horizontalNavigationOn) {\n\t\t\tthis._handleRight();\n\t\t} else if (isRTL && isRight(event) && horizontalNavigationOn) {\n\t\t\tthis._handleLeft();\n\t\t} else if (isLeft(event) && horizontalNavigationOn) {\n\t\t\tthis._handleLeft();\n\t\t} else if (isRight(event) && horizontalNavigationOn) {\n\t\t\tthis._handleRight();\n\t\t} else if (isUp(event) && verticalNavigationOn) {\n\t\t\tthis._handleUp();\n\t\t} else if (isDown(event) && verticalNavigationOn) {\n\t\t\tthis._handleDown();\n\t\t} else if (isHome(event)) {\n\t\t\tthis._handleHome();\n\t\t} else if (isEnd(event)) {\n\t\t\tthis._handleEnd();\n\t\t} else if (isPageUp(event)) {\n\t\t\tthis._handlePageUp();\n\t\t} else if (isPageDown(event)) {\n\t\t\tthis._handlePageDown();\n\t\t} else {\n\t\t\treturn; // if none of the supported keys is pressed, we don't want to prevent the event or update the item navigation\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tthis._applyTabIndex();\n\t\tthis._focusCurrentItem();\n\t}\n\n\t_handleUp() {\n\t\tconst itemsLength = this._getItems().length;\n\t\tif (this._currentIndex - this._rowSize >= 0) { // no border reached, just decrease the index by a row\n\t\t\tthis._currentIndex -= this._rowSize;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._behavior === ItemNavigationBehavior.Cyclic) { // if cyclic, go to the **last** item in the **previous** column\n\t\t\tconst firstItemInThisColumnIndex = this._currentIndex % this._rowSize;\n\t\t\tconst firstItemInPreviousColumnIndex = firstItemInThisColumnIndex === 0 ? this._rowSize - 1 : firstItemInThisColumnIndex - 1; // find the first item in the previous column (if the current column is the first column -> move to the last column)\n\t\t\tconst rows = Math.ceil(itemsLength / this._rowSize); // how many rows there are (even if incomplete, f.e. for 14 items and _rowSize=4 -> 4 rows total, although only 2 items on the last row)\n\t\t\tlet lastItemInPreviousColumnIndex = firstItemInPreviousColumnIndex + (rows - 1) * this._rowSize; // multiply rows by columns, and add the column's first item's index\n\t\t\tif (lastItemInPreviousColumnIndex > itemsLength - 1) { // for incomplete rows, use the previous row's last item, as for them the last item is missing\n\t\t\t\tlastItemInPreviousColumnIndex -= this._rowSize;\n\t\t\t}\n\t\t\tthis._currentIndex = lastItemInPreviousColumnIndex;\n\t\t} else { // not cyclic, so just go to the first item\n\t\t\tthis._currentIndex = 0;\n\t\t}\n\t}\n\n\t_handleDown() {\n\t\tconst itemsLength = this._getItems().length;\n\t\tif (this._currentIndex + this._rowSize < itemsLength) { // no border reached, just increase the index by a row\n\t\t\tthis._currentIndex += this._rowSize;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._behavior === ItemNavigationBehavior.Cyclic) { // if cyclic, go to the **first** item in the **next** column\n\t\t\tconst firstItemInThisColumnIndex = this._currentIndex % this._rowSize; // find the first item in the current column first\n\t\t\tconst firstItemInNextColumnIndex = (firstItemInThisColumnIndex + 1) % this._rowSize; // to get the first item in the next column, just increase the index by 1. The modulo by rows is for the case when we are at the last column\n\t\t\tthis._currentIndex = firstItemInNextColumnIndex;\n\t\t} else { // not cyclic, so just go to the last item\n\t\t\tthis._currentIndex = itemsLength - 1;\n\t\t}\n\t}\n\n\t_handleLeft() {\n\t\tconst itemsLength = this._getItems().length;\n\t\tif (this._currentIndex > 0) {\n\t\t\tthis._currentIndex -= 1;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._behavior === ItemNavigationBehavior.Cyclic) { // go to the first item in the next column\n\t\t\tthis._currentIndex = itemsLength - 1;\n\t\t}\n\t}\n\n\t_handleRight() {\n\t\tconst itemsLength = this._getItems().length;\n\t\tif (this._currentIndex < itemsLength - 1) {\n\t\t\tthis._currentIndex += 1;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._behavior === ItemNavigationBehavior.Cyclic) { // go to the first item in the next column\n\t\t\tthis._currentIndex = 0;\n\t\t}\n\t}\n\n\t_handleHome() {\n\t\tconst homeEndRange = this._rowSize > 1 ? this._rowSize : this._getItems().length;\n\t\tthis._currentIndex -= this._currentIndex % homeEndRange;\n\t}\n\n\t_handleEnd() {\n\t\tconst homeEndRange = this._rowSize > 1 ? this._rowSize : this._getItems().length;\n\t\tthis._currentIndex += (homeEndRange - 1 - this._currentIndex % homeEndRange); // eslint-disable-line\n\t}\n\n\t_handlePageUp() {\n\t\tif (this._rowSize > 1) {\n\t\t\t// eslint-disable-next-line\n\t\t\t// TODO: handle page up on matrix (grid) layout - ColorPalette, ProductSwitch.\n\t\t\treturn;\n\t\t}\n\t\tthis._handlePageUpFlat();\n\t}\n\n\t_handlePageDown() {\n\t\tif (this._rowSize > 1) {\n\t\t\t// eslint-disable-next-line\n\t\t\t// TODO: handle page up on matrix (grid) layout - ColorPalette, ProductSwitch.\n\t\t\treturn;\n\t\t}\n\t\tthis._handlePageDownFlat();\n\t}\n\n\t/**\n\t * Handles PAGE_UP in a flat list-like structure, both vertically and horizontally.\n\t */\n\t_handlePageUpFlat() {\n\t\tif (this._skipItemsSize === null) {\n\t\t\t// Move the focus to the very top (as Home).\n\t\t\tthis._currentIndex -= this._currentIndex;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._currentIndex + 1 > this._skipItemsSize) {\n\t\t\t// When there are more than \"skipItemsSize\" number of items to the top,\n\t\t\t// move the focus up/left with the predefined number.\n\t\t\tthis._currentIndex -= this._skipItemsSize;\n\t\t} else {\n\t\t\t// Otherwise, move the focus to the very top (as Home).\n\t\t\tthis._currentIndex -= this._currentIndex;\n\t\t}\n\t}\n\n\t/**\n\t * Handles PAGE_DOWN in a flat list-like structure, both vertically and horizontally.\n\t */\n\t_handlePageDownFlat() {\n\t\tif (this._skipItemsSize === null) {\n\t\t\t// Move the focus to the very bottom (as End).\n\t\t\tthis._currentIndex = this._getItems().length - 1;\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentToEndRange = this._getItems().length - this._currentIndex - 1;\n\n\t\tif (currentToEndRange > this._skipItemsSize) {\n\t\t\t// When there are more than \"skipItemsSize\" number of items until the bottom,\n\t\t\t// move the focus down/right with the predefined number.\n\t\t\tthis._currentIndex += this._skipItemsSize;\n\t\t} else {\n\t\t\t// Otherwise, move the focus to the very bottom (as End).\n\t\t\tthis._currentIndex = this._getItems().length - 1;\n\t\t}\n\t}\n\n\t_applyTabIndex() {\n\t\tconst items = this._getItems();\n\t\tfor (let i = 0; i < items.length; i++) {\n\t\t\titems[i].forcedTabIndex = i === this._currentIndex ? \"0\" : \"-1\";\n\t\t}\n\n\t\tthis._affectedPropertiesNames.forEach(propName => {\n\t\t\tconst prop = (this.rootWebComponent as Record)[propName];\n\t\t\t(this.rootWebComponent as Record)[propName] = Array.isArray(prop) ? [...prop] : { ...prop };\n\t\t});\n\t}\n\n\t_focusCurrentItem() {\n\t\tconst currentItem = this._getCurrentItem();\n\t\tif (currentItem) {\n\t\t\tcurrentItem.focus();\n\t\t}\n\t}\n\n\t_canNavigate() {\n\t\tconst currentItem = this._getCurrentItem();\n\t\tconst activeElement = getActiveElement();\n\n\t\treturn currentItem && currentItem === activeElement;\n\t}\n\n\t_getCurrentItem() {\n\t\tconst items = this._getItems();\n\n\t\tif (!items.length) {\n\t\t\treturn;\n\t\t}\n\n\t\t// normalize the index\n\t\twhile (this._currentIndex >= items.length) {\n\t\t\tthis._currentIndex -= this._rowSize;\n\t\t}\n\n\t\tif (this._currentIndex < 0) {\n\t\t\tthis._currentIndex = 0;\n\t\t}\n\n\t\tconst currentItem = items[this._currentIndex];\n\n\t\tif (!currentItem) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (instanceOfUI5Element(currentItem)) {\n\t\t\treturn currentItem.getFocusDomRef();\n\t\t}\n\n\t\tconst currentItemDOMRef = this.rootWebComponent.getDomRef();\n\t\tif (!currentItemDOMRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (currentItem.id) {\n\t\t\treturn currentItemDOMRef.querySelector(`[id=\"${currentItem.id}\"]`) as HTMLElement;\n\t\t}\n\t}\n}\n\nexport default ItemNavigation;\n\nexport {\n\tITabbable,\n};\n","/**\n * Returns the normalized event target in cases when it has shadow root.\n * @param {Object} target The original event target\n * @returns {Object} The normalized target\n */\nconst getNormalizedTarget = (target: HTMLElement) => {\n\tlet element = target;\n\n\tif (target.shadowRoot && target.shadowRoot.activeElement) {\n\t\telement = target.shadowRoot.activeElement as HTMLElement;\n\t}\n\n\treturn element;\n};\n\nexport default getNormalizedTarget;\n","const NO_SCROLLBAR_STYLE_CLASS = \"ui5-content-native-scrollbars\";\n\nconst getEffectiveScrollbarStyle = () => document.body.classList.contains(NO_SCROLLBAR_STYLE_CLASS);\n\nexport default getEffectiveScrollbarStyle;\n","import { Timeout } from \"../types.js\";\n\n/**\n * Delays function execution by given threshold.\n * @param fn {Function}\n * @param delay {Integer}\n */\nlet debounceInterval: Timeout | null = null;\n\nconst debounce = (fn: () => void, delay: number) => {\n\tdebounceInterval && clearTimeout(debounceInterval);\n\tdebounceInterval = setTimeout(() => {\n\t\tdebounceInterval = null;\n\t\tfn();\n\t}, delay);\n};\n\nexport default debounce;\n","/**\n * Determines if the element is within the viewport.\n * @param el {HTMLElement}\n */\nconst isElementInView = (el: HTMLElement) => {\n\tconst rect = el.getBoundingClientRect();\n\n\treturn (\n\t\trect.top >= 0 && rect.left >= 0\n\t\t\t&& rect.bottom <= (window.innerHeight || document.documentElement.clientHeight)\n\t\t\t&& rect.right <= (window.innerWidth || document.documentElement.clientWidth)\n\t);\n};\n\nexport default isElementInView;\n","/**\n * Different list modes.\n *\n * @public\n */\nenum ListMode {\n\t/**\n\t * Default mode (no selection).\n\t * @public\n\t */\n\tNone = \"None\",\n\n\t/**\n\t * Right-positioned single selection mode (only one list item can be selected).\n\t * @public\n\t */\n\tSingleSelect = \"SingleSelect\",\n\n\t/**\n\t * Left-positioned single selection mode (only one list item can be selected).\n\t * @public\n\t */\n\tSingleSelectBegin = \"SingleSelectBegin\",\n\n\t/**\n\t * Selected item is highlighted but no selection element is visible\n\t * (only one list item can be selected).\n\t * @public\n\t */\n\tSingleSelectEnd = \"SingleSelectEnd\",\n\n\t/**\n\t * Selected item is highlighted and selection is changed upon arrow navigation\n\t * (only one list item can be selected - this is always the focused item).\n\t * @public\n\t */\n\tSingleSelectAuto = \"SingleSelectAuto\",\n\n\t/**\n\t * Multi selection mode (more than one list item can be selected).\n\t * @public\n\t */\n\tMultiSelect = \"MultiSelect\",\n\n\t/**\n\t * Delete mode (only one list item can be deleted via provided delete button)\n\t * @public\n\t */\n\tDelete = \"Delete\",\n}\n\nexport default ListMode;\n","/**\n * Different list growing modes.\n *\n * @public\n */\nenum ListGrowingMode {\n\t/**\n\t * Component's \"load-more\" is fired upon pressing a \"More\" button.\n\t * at the bottom.\n\t * @public\n\t */\n\tButton = \"Button\",\n\n\t/**\n\t * Component's \"load-more\" is fired upon scroll.\n\t * @public\n\t */\n\tScroll = \"Scroll\",\n\n\t/**\n\t * Component's growing is not enabled.\n\t * @public\n\t */\n\tNone = \"None\",\n}\n\nexport default ListGrowingMode;\n","const isElementHidden = (el: HTMLElement) => {\n\tif (el.nodeName === \"SLOT\") {\n\t\treturn false;\n\t}\n\n\treturn (el.offsetWidth <= 0 && el.offsetHeight <= 0) || (el.style && el.style.visibility === \"hidden\");\n};\n\nexport default isElementHidden;\n","import isElementHidden from \"./isElementHidden.js\";\n\n/**\n * Returns if the HTMLElement is tabbable.\n *\n * @public\n * @param { HTMLElement } el the component to operate on (component that slots or contains within its shadow root the items the user navigates among)\n * @returns { boolean } true if the element is tabbable or false - if not\n */\nconst isElementTabbable = (el: HTMLElement): boolean => {\n\tif (!el) {\n\t\treturn false;\n\t}\n\n\tconst nodeName = el.nodeName.toLowerCase();\n\n\tif (el.hasAttribute(\"data-sap-no-tab-ref\")) {\n\t\treturn false;\n\t}\n\n\tif (isElementHidden(el)) {\n\t\treturn false;\n\t}\n\n\tconst tabIndex = el.getAttribute(\"tabindex\");\n\tif (tabIndex !== null && tabIndex !== undefined) {\n\t\treturn parseInt(tabIndex) >= 0;\n\t}\n\n\tif (nodeName === \"a\" || /input|select|textarea|button|object/.test(nodeName)) {\n\t\treturn !(el as HTMLLinkElement).disabled;\n\t}\n\n\treturn false;\n};\n\nexport default isElementTabbable;\n","import isElementTabbable from \"./isElementTabbable.js\";\n\n/**\n * Returns the tabbable elements within the provided HTMLElement.\n *\n * @public\n * @param { HTMLElement } el the component to operate on (component that slots or contains within its shadow root the items the user navigates among)\n * @returns { Array } the tabbable elements\n */\nconst getTabbableElements = (el: HTMLElement): Array => {\n\treturn getTabbables([...el.children]);\n};\n\n/**\n * Returns the last tabbable element within the provided HTMLElement.\n *\n * @public\n * @param { HTMLElement } el the component to operate on (component that slots or contains within its shadow root the items the user navigates among)\n * @returns { HTMLElement | null } the last tabbable element or \"null\" if not found\n */\nconst getLastTabbableElement = (el: HTMLElement): HTMLElement | null => {\n\tconst tabbables = getTabbables([...el.children]);\n\treturn tabbables.length ? tabbables[tabbables.length - 1] : null;\n};\n\nconst getTabbables = (nodes: Array, tabbables?: Array): Array => {\n\tconst tabbableElements = tabbables || [];\n\n\tif (!nodes) {\n\t\treturn tabbableElements;\n\t}\n\n\tnodes.forEach(currentNode => {\n\t\tif (currentNode.nodeType === Node.TEXT_NODE || currentNode.nodeType === Node.COMMENT_NODE) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet currentElement = currentNode as HTMLElement;\n\t\tif (currentElement.hasAttribute(\"data-sap-no-tab-ref\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (currentElement.shadowRoot) {\n\t\t\t// get the root node of the ShadowDom (1st none style tag)\n\t\t\tconst children = currentElement.shadowRoot.children;\n\t\t\tcurrentElement = Array.from(children).find(node => node.tagName !== \"STYLE\") as HTMLElement;\n\t\t}\n\n\t\tif (!currentElement) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isElementTabbable(currentElement)) {\n\t\t\ttabbableElements.push(currentElement);\n\t\t}\n\n\t\tif (currentElement.tagName === \"SLOT\") {\n\t\t\tgetTabbables((currentElement as HTMLSlotElement).assignedNodes() as Array, tabbableElements);\n\t\t} else {\n\t\t\tgetTabbables([...currentElement.children], tabbableElements);\n\t\t}\n\t});\n\n\treturn tabbableElements;\n};\n\nexport {\n\tgetTabbableElements,\n\tgetLastTabbableElement,\n};\n","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents\",fileName:\"themes/ListItemBase.css.ts\",content:`:host(:not([hidden])){display:block}:host{height:var(--_ui5-v1-22-0-rc-3_list_item_base_height);background:var(--ui5-v1-22-0-rc-3-listitem-background-color);box-sizing:border-box;border-bottom:1px solid transparent}:host([selected]){background:var(--sapList_SelectionBackgroundColor)}:host([has-border]){border-bottom:var(--ui5-v1-22-0-rc-3-listitem-border-bottom)}:host([selected]){border-bottom:var(--ui5-v1-22-0-rc-3-listitem-selected-border-bottom)}:host(:not([focused])[selected][has-border]){border-bottom:var(--ui5-v1-22-0-rc-3-listitem-selected-border-bottom)}:host([focused][selected]){border-bottom:var(--ui5-v1-22-0-rc-3-listitem-focused-selected-border-bottom)}.ui5-li-root{position:relative;display:flex;align-items:center;width:100%;height:100%;padding:0 1rem;box-sizing:border-box}:host([focused]) .ui5-li-root.ui5-li--focusable{outline:none}:host([focused]) .ui5-li-root.ui5-li--focusable:after{content:\"\";border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);position:absolute;border-radius:0;inset:.125rem;pointer-events:none}:host([focused]) .ui5-li-content:focus:after{content:\"\";border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);position:absolute;inset:0;pointer-events:none}:host([active][focused]) .ui5-li-root.ui5-li--focusable:after{border-color:var(--ui5-v1-22-0-rc-3-listitem-active-border-color)}:host([disabled]){opacity:var(--_ui5-v1-22-0-rc-3-listitembase_disabled_opacity);pointer-events:none}.ui5-li-content{max-width:100%;font-family:\"72override\",var(--sapFontFamily);color:var(--sapList_TextColor)}\n`};\nexport default styleData;\n\t","import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type { ClassMap } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { getTabbableElements } from \"@ui5/webcomponents-base/dist/util/TabbableElements.js\";\nimport { isTabNext, isTabPrevious } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport getActiveElement from \"@ui5/webcomponents-base/dist/util/getActiveElement.js\";\n\n// Styles\nimport styles from \"./generated/themes/ListItemBase.css.js\";\n\n/**\n * @class\n * A class to serve as a foundation\n * for the ListItem and GroupHeaderListItem classes.\n *\n * @constructor\n * @abstract\n * @extends UI5Element\n * @public\n */\n@customElement({\n\trenderer: litRender,\n\tstyles,\n})\n@event(\"_request-tabindex-change\")\n@event(\"_focused\")\n@event(\"_forward-after\")\n@event(\"_forward-before\")\nclass ListItemBase extends UI5Element implements ITabbable {\n\t/**\n\t * Defines the selected state of the ListItem.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tselected!: boolean;\n\n\t/**\n\t* Defines if the list item should display its bottom border.\n\t* @private\n\t*/\n\t@property({ type: Boolean })\n\thasBorder!: boolean;\n\n\t@property({ defaultValue: \"-1\", noAttribute: true })\n\tforcedTabIndex!: string;\n\n\t/**\n\t* Defines whether ui5-li is in disabled state.\n\t*

\n\t* Note: A disabled ui5-li is noninteractive.\n\t* @default false\n\t* @protected\n\t* @since 1.0.0-rc.12\n\t*/\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Indicates if the element is on focus\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused!: boolean;\n\n\t_onfocusin(e: FocusEvent) {\n\t\tthis.fireEvent(\"_request-tabindex-change\", e);\n\t\tif (e.target !== this.getFocusDomRef()) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.focused = true;\n\t\tthis.fireEvent(\"_focused\", e);\n\t}\n\n\t_onfocusout() {\n\t\tthis.focused = false;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isTabNext(e)) {\n\t\t\treturn this._handleTabNext(e);\n\t\t}\n\n\t\tif (isTabPrevious(e)) {\n\t\t\treturn this._handleTabPrevious(e);\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {} // eslint-disable-line\n\n\t_handleTabNext(e: KeyboardEvent) {\n\t\tif (this.shouldForwardTabAfter()) {\n\t\t\tif (!this.fireEvent(\"_forward-after\", {}, true)) {\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleTabPrevious(e: KeyboardEvent) {\n\t\tconst target = e.target as HTMLElement;\n\n\t\tif (this.shouldForwardTabBefore(target)) {\n\t\t\tthis.fireEvent(\"_forward-before\");\n\t\t}\n\t}\n\n\t/*\n\t* Determines if th current list item either has no tabbable content or\n\t* [TAB] is performed onto the last tabbale content item.\n\t*/\n\tshouldForwardTabAfter() {\n\t\tconst aContent = getTabbableElements(this.getFocusDomRef()!);\n\n\t\treturn aContent.length === 0 || (aContent[aContent.length - 1] === getActiveElement());\n\t}\n\n\t/*\n\t* Determines if the current list item is target of [SHIFT+TAB].\n\t*/\n\tshouldForwardTabBefore(target: HTMLElement) {\n\t\treturn this.getFocusDomRef() === target;\n\t}\n\n\tget classes(): ClassMap {\n\t\treturn {\n\t\t\tmain: {\n\t\t\t\t\"ui5-li-root\": true,\n\t\t\t\t\"ui5-li--focusable\": !this.disabled,\n\t\t\t},\n\t\t};\n\t}\n\n\tget _ariaDisabled() {\n\t\treturn this.disabled ? true : undefined;\n\t}\n\n\tget hasConfigurableMode() {\n\t\treturn false;\n\t}\n\n\tget _effectiveTabIndex() {\n\t\tif (this.disabled) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (this.selected) {\n\t\t\treturn 0;\n\t\t}\n\t\treturn this.forcedTabIndex;\n\t}\n}\n\nexport default ListItemBase;\n","/**\n * Different types of list items separators.\n *\n * @public\n */\nenum ListSeparators {\n\t/**\n\t * Separators between the items including the last and the first one.\n\t * @public\n\t */\n\tAll = \"All\",\n\t/**\n\t * Separators between the items.\n\t * Note: This enumeration depends on the theme.\n\t * @public\n\t */\n\tInner = \"Inner\",\n\t/**\n\t * No item separators.\n\t * @public\n\t */\n\tNone = \"None\",\n}\n\nexport default ListSeparators;\n","/* eslint no-unused-vars: 0 */\nimport { html, svg, repeat, classMap, styleMap, ifDefined, unsafeHTML, scopeTag } from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\timport type List from \"../../List.js\";\n\timport type { ClassMapValue } from \"@ui5/webcomponents-base/dist/types.js\";\n\t\nfunction block0 (this: List, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
${ this.header.length ? block1.call(this, context, tags, suffix) : undefined }${ this.shouldRenderH1 ? block2.call(this, context, tags, suffix) : undefined }${ this.hasData ? block3.call(this, context, tags, suffix) : undefined }${ifDefined(this.ariaLabelModeText)}
    ${ this.showNoDataText ? block4.call(this, context, tags, suffix) : undefined }
${ this.growsWithButton ? block5.call(this, context, tags, suffix) : undefined }${ this.footerText ? block6.call(this, context, tags, suffix) : undefined }${ this.hasData ? block7.call(this, context, tags, suffix) : undefined }
${ this.busy ? block8.call(this, context, tags, suffix) : undefined }
`;}\nfunction block1 (this: List, context: UI5Element, tags: string[], suffix: string | undefined) { return html``;}\nfunction block2 (this: List, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
${ifDefined(this.headerText)}
`;}\nfunction block3 (this: List, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
`;}\nfunction block4 (this: List, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
  • ${ifDefined(this.noDataText)}
  • `;}\nfunction block5 (this: List, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    ${ifDefined(this._growingButtonText)}
    `;}\nfunction block6 (this: List, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    ${ifDefined(this.footerText)}
    `;}\nfunction block7 (this: List, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    `;}\nfunction block8 (this: List, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`
    <${scopeTag(\"ui5-busy-indicator\", tags, suffix)} delay=\"${ifDefined(this.busyDelay)}\" active size=\"Medium\" class=\"ui5-list-busy-ind\" style=\"${styleMap(this.styles.busyInd)}\" data-sap-focus-ref>
    ` : html`
    `;}\n\n\nexport default block0;","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents\",fileName:\"themes/List.css.ts\",content:`.ui5-hidden-text{position:absolute;clip:rect(1px,1px,1px,1px);user-select:none;left:-1000px;top:-1000px;pointer-events:none;font-size:0}[growing-button]{display:flex;align-items:center;padding:var(--_ui5-v1-22-0-rc-3_load_more_padding);border-top:1px solid var(--sapList_BorderColor);border-bottom:var(--_ui5-v1-22-0-rc-3_load_more_border-bottom);box-sizing:border-box;cursor:pointer;outline:none}[growing-button-inner]{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:var(--_ui5-v1-22-0-rc-3_load_more_text_height);width:100%;color:var(--sapButton_TextColor);background-color:var(--sapList_Background);border:var(--_ui5-v1-22-0-rc-3_load_more_border);border-radius:var(--_ui5-v1-22-0-rc-3_load_more_border_radius);box-sizing:border-box}[growing-button-inner]:focus{outline:var(--_ui5-v1-22-0-rc-3_load_more_outline_width) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);outline-offset:-.125rem;border-color:transparent}[growing-button-inner]:hover{background-color:var(--sapList_Hover_Background)}[growing-button-inner]:active,[growing-button-inner][active]{background-color:var(--sapList_Active_Background);border-color:var(--sapList_Active_Background)}[growing-button-inner]:active>*,[growing-button-inner][active]>*{color:var(--sapList_Active_TextColor)}[growing-button-text],[growing-button-subtext]{width:100%;text-align:center;font-family:\"72override\",var(--sapFontFamily);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}[growing-button-text]{height:var(--_ui5-v1-22-0-rc-3_load_more_text_height);padding:.875rem 1rem 0;font-size:var(--_ui5-v1-22-0-rc-3_load_more_text_font_size);font-weight:700}[growing-button-subtext]{font-size:var(--sapFontSize);padding:var(--_ui5-v1-22-0-rc-3_load_more_desc_padding)}:host(:not([hidden])){display:block;max-width:100%;width:100%;-webkit-tap-highlight-color:transparent}:host([indent]) .ui5-list-root{padding:2rem}:host([separators=\"None\"]) .ui5-list-nodata{border-bottom:0}:host([busy]){opacity:.72}:host([busy]) .ui5-list-busy-row{position:absolute;inset:0;outline:none}:host([busy]) .ui5-list-busy-ind{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1}.ui5-list-root{width:100%;height:100%;position:relative;box-sizing:border-box}.ui5-list-scroll-container{overflow:auto;height:100%}.ui5-list-ul{list-style-type:none;padding:0;margin:0}.ui5-list-ul:focus{outline:none}.ui5-list-focusarea{position:fixed}.ui5-list-header{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;font-size:var(--sapFontHeader4Size);font-family:\"72override\",var(--sapFontFamily);color:var(--sapGroup_TitleTextColor);height:3rem;line-height:3rem;padding:0 1rem;background-color:var(--sapGroup_TitleBackground);border-bottom:1px solid var(--sapGroup_TitleBorderColor)}.ui5-list-footer{height:2rem;box-sizing:border-box;-webkit-text-size-adjust:none;font-size:var(--sapFontSize);font-family:\"72override\",var(--sapFontFamily);line-height:2rem;background-color:var(--sapList_FooterBackground);color:var(--ui5-v1-22-0-rc-3_list_footer_text_color);padding:0 1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui5-list-nodata{list-style-type:none;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;color:var(--sapTextColor);background-color:var(--sapList_Background);border-bottom:1px solid var(--sapList_BorderColor);padding:0 1rem!important;height:var(--_ui5-v1-22-0-rc-3_list_no_data_height);font-size:var(--_ui5-v1-22-0-rc-3_list_no_data_font_size);font-family:\"72override\",var(--sapFontFamily)}.ui5-list-nodata-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host([growing=\"Scroll\"]) .ui5-list-end-marker{display:inline-block}\n`};\nexport default styleData;\n\t","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents\",fileName:\"themes/BrowserScrollbar.css.ts\",content:`:not(.ui5-content-native-scrollbars) ::-webkit-scrollbar:horizontal{height:var(--sapScrollBar_Dimension)}:not(.ui5-content-native-scrollbars) ::-webkit-scrollbar:vertical{width:var(--sapScrollBar_Dimension)}:not(.ui5-content-native-scrollbars) ::-webkit-scrollbar{background-color:var(--sapScrollBar_TrackColor);border-left:var(--browser_scrollbar_border)}:not(.ui5-content-native-scrollbars) ::-webkit-scrollbar-thumb{border-radius:var(--browser_scrollbar_border_radius);background-color:var(--sapScrollBar_FaceColor)}:not(.ui5-content-native-scrollbars) ::-webkit-scrollbar-thumb:hover{background-color:var(--sapScrollBar_Hover_FaceColor)}:not(.ui5-content-native-scrollbars) ::-webkit-scrollbar-corner{background-color:var(--sapScrollBar_TrackColor)}\n`};\nexport default styleData;\n\t","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"accept\";\nconst pathData = \"M455.8 94q9 9 3 19l-222 326q-4 8-12 9t-14-5l-151-167q-5-5-4.5-11t5.5-11l25-25q12-12 23 0l96 96q5 5 13 4.5t12-8.5l175-249q4-7 11.5-8t13.5 4z\";\nconst ltr = true;\nconst accData = null;\nconst collection = \"SAP-icons-v4\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v4/accept\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"accept\";\nconst pathData = \"M187 416q-12 0-20-9L71 299q-7-7-7-17 0-11 7.5-18.5T90 256q12 0 19 9l77 87 217-247q8-9 19-9t18.5 7.5T448 122q0 10-6 16L206 407q-7 9-19 9z\";\nconst ltr = true;\nconst accData = null;\nconst collection = \"SAP-icons-v5\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v5/accept\";\nexport { pathData, ltr, accData };","import { isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { pathData as pathDatav4, ltr, accData } from \"./v4/accept.js\";\nimport { pathData as pathDatav5 } from \"./v5/accept.js\";\n\nconst pathData = isLegacyThemeFamily() ? pathDatav4 : pathDatav5;\n\nexport default \"accept\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"complete\";\nconst pathData = \"M431.958 320h32v128q0 14-9.5 23t-22.5 9h-384q-14 0-23-9t-9-23V64q0-13 9-22.5t23-9.5h128v32h-128v384h384V320zm60-295q7 7 2 16l-185 272q-3 6-10 7t-12-4l-125-139q-9-9 0-18l21-21q10-10 19 0l80 80q5 5 11.5 4t9.5-8l146-207q3-6 9.5-7t11.5 4z\";\nconst ltr = true;\nconst accData = null;\nconst collection = \"SAP-icons-v4\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v4/complete\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"complete\";\nconst pathData = \"M438 224q11 0 18.5 7.5T464 250v140q0 38-26 64t-64 26H106q-38 0-64-26t-26-64V122q0-38 26-64t64-26h237q11 0 18 7.5t7 18.5-7 18-18 7H106q-16 0-27.5 11.5T67 122v268q0 16 11.5 27.5T106 429h268q16 0 27.5-11.5T413 390V250q0-11 7-18.5t18-7.5zm32-192q11 0 18.5 7.5T496 58q0 10-7 17L257 312q-6 8-18 8-10 0-18-8l-70-71q-7-7-7-18t7.5-18 18.5-7 18 7l51 53L452 40q8-8 18-8z\";\nconst ltr = true;\nconst accData = null;\nconst collection = \"SAP-icons-v5\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v5/complete\";\nexport { pathData, ltr, accData };","import { isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { pathData as pathDatav4, ltr, accData } from \"./v4/complete.js\";\nimport { pathData as pathDatav5 } from \"./v5/complete.js\";\n\nconst pathData = isLegacyThemeFamily() ? pathDatav4 : pathDatav5;\n\nexport default \"complete\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"border\";\nconst pathData = \"M448 32q13 0 22.5 9t9.5 23v384q0 14-9.5 23t-22.5 9H64q-14 0-23-9t-9-23V64q0-14 9-23t23-9h384zm0 32H64v384h384V64z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v4\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v4/border\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"border\";\nconst pathData = \"M390 480H122q-38 0-64-26t-26-64V122q0-38 26-64t64-26h268q38 0 64 26t26 64v268q0 38-26 64t-64 26zM122 83q-17 0-28 11t-11 28v268q0 17 11 28t28 11h268q17 0 28-11t11-28V122q0-17-11-28t-28-11H122z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v5\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v5/border\";\nexport { pathData, ltr, accData };","import { isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { pathData as pathDatav4, ltr, accData } from \"./v4/border.js\";\nimport { pathData as pathDatav5 } from \"./v5/border.js\";\n\nconst pathData = isLegacyThemeFamily() ? pathDatav4 : pathDatav5;\n\nexport default \"border\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"tri-state\";\nconst pathData = \"M448 32q13 0 22.5 9.5T480 64v384q0 14-9.5 23t-22.5 9H64q-14 0-23-9t-9-23V64q0-13 9-22.5T64 32h384zm0 32H64v384h384V64zM160 345V169q0-8 8-8h176q8 0 8 8v176q0 8-8 8H168q-8 0-8-8z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v4\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v4/tri-state\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"tri-state\";\nconst pathData = \"M390 32q38 0 64 26t26 64v268q0 38-26 64t-64 26H122q-38 0-64-26t-26-64V122q0-38 26-64t64-26h268zm39 90q0-17-11-28t-28-11H122q-17 0-28 11t-11 28v268q0 17 11 28t28 11h268q17 0 28-11t11-28V122zm-77 38v192H160V160h192z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v5\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v5/tri-state\";\nexport { pathData, ltr, accData };","import { isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { pathData as pathDatav4, ltr, accData } from \"./v4/tri-state.js\";\nimport { pathData as pathDatav5 } from \"./v5/tri-state.js\";\n\nconst pathData = isLegacyThemeFamily() ? pathDatav4 : pathDatav5;\n\nexport default \"tri-state\";\nexport { pathData, ltr, accData };","/* eslint no-unused-vars: 0 */\nimport { html, svg, repeat, classMap, styleMap, ifDefined, unsafeHTML, scopeTag } from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\timport type Icon from \"../../Icon.js\";\n\timport type { ClassMapValue } from \"@ui5/webcomponents-base/dist/types.js\";\n\t\nfunction block0 (this: Icon, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${blockSVG1.call(this, context, tags, suffix)}`;}\nfunction block1 (this: Icon, context: UI5Element, tags: string[], suffix: string | undefined) { return svg`${ifDefined(this.effectiveAccessibleName)}`;}\nfunction block2 (this: Icon, context: UI5Element, tags: string[], suffix: string | undefined) { return svg`${ifDefined(this.customSvg)}`;}\nfunction block3 (this: Icon, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return svg``;}\n\nfunction blockSVG1 (this: any, context: UI5Element, tags: string[], suffix: string | undefined) {\n\t\treturn svg`${ this.hasIconTooltip ? block1.call(this, context, tags, suffix) : undefined }${ this.customSvg ? block2.call(this, context, tags, suffix) : undefined }${ repeat(this.pathData, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block3.call(this, context, tags, suffix, item, index)) }`;\n\t};\n\nexport default block0;","/**\n * Different Icon semantic designs.\n*\n* @public\n*/\nenum IconDesign {\n\t/**\n\t * Contrast design\n\t * @public\n\t */\n\tContrast = \"Contrast\",\n\n\t/**\n\t * Critical design\n\t * @public\n\t */\n\tCritical = \"Critical\",\n\n\t/**\n\t * Default design (brand design)\n\t * @public\n\t*/\n\tDefault = \"Default\",\n\n\t/**\n\t * info type\n\t * @public\n\t */\n\tInformation = \"Information\",\n\n\t/**\n\t * Negative design\n\t * @public\n\t */\n\tNegative = \"Negative\",\n\n\t/**\n\t * Neutral design\n\t * @public\n\t */\n\tNeutral = \"Neutral\",\n\n\t/**\n\t * Design that indicates an icon which isn't interactive\n\t * @public\n\t */\n\tNonInteractive = \"NonInteractive\",\n\n\t/**\n\t * Positive design\n\t * @public\n\t */\n\tPositive = \"Positive\"\n}\n\nexport default IconDesign;\n","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents\",fileName:\"themes/Icon.css.ts\",content:`:host{-webkit-tap-highlight-color:rgba(0,0,0,0)}:host([hidden]){display:none}:host([invalid]){display:none}:host(:not([hidden]).ui5_hovered){opacity:.7}:host{display:inline-block;width:1rem;height:1rem;color:var(--sapContent_NonInteractiveIconColor);fill:currentColor;outline:none}:host([design=\"Contrast\"]){color:var(--sapContent_ContrastIconColor)}:host([design=\"Critical\"]){color:var(--sapCriticalElementColor)}:host([design=\"Default\"]){color:var(--sapContent_IconColor)}:host([design=\"Information\"]){color:var(--sapInformativeElementColor)}:host([design=\"Negative\"]){color:var(--sapNegativeElementColor)}:host([design=\"Neutral\"]){color:var(--sapNeutralElementColor)}:host([design=\"NonInteractive\"]){color:var(--sapContent_NonInteractiveIconColor)}:host([design=\"Positive\"]){color:var(--sapPositiveElementColor)}:host([interactive][focused]) .ui5-icon-root{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);border-radius:var(--ui5-v1-22-0-rc-3-icon-focus-border-radius)}.ui5-icon-root{display:flex;height:100%;width:100%;outline:none;vertical-align:top}:host([interactive]){cursor:pointer}.ui5-icon-root:not([dir=ltr]){transform:var(--_ui5-v1-22-0-rc-3_icon_transform_scale);transform-origin:center}\n`};\nexport default styleData;\n\t","import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport { getIconData, getIconDataSync, IconData } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { I18nText } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isSpace, isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport executeTemplate from \"@ui5/webcomponents-base/dist/renderer/executeTemplate.js\";\nimport IconTemplate from \"./generated/templates/IconTemplate.lit.js\";\nimport IconDesign from \"./types/IconDesign.js\";\n\n// Styles\nimport iconCss from \"./generated/themes/Icon.css.js\";\n\n/**\n * Interface for components that represent an icon, usable in numerous higher-order components\n *\n * @public\n */\ninterface IIcon extends HTMLElement { }\n\nconst ICON_NOT_FOUND = \"ICON_NOT_FOUND\";\nconst PRESENTATION_ROLE = \"presentation\";\n\n/**\n * @class\n *

    Overview

    \n *\n * The ui5-icon component represents an SVG icon.\n * There are two main scenarios how the ui5-icon component is used:\n * as a purely decorative element,
    \n * or as an interactive element that can be focused and clicked.\n *\n *

    Usage

    \n *\n * 1. Get familiar with the icons collections.\n *
    \n * Before displaying an icon, you need to explore the icons collections to find and import the desired icon.\n *
    \n * Currently there are 3 icons collection, available as 3 npm packages:\n *
    \n *\n *
      \n *
    • \n * @ui5/webcomponents-icons represents the \"SAP-icons\" collection and includes the following\n * icons.\n *
    • \n *
    • \n * @ui5/webcomponents-icons-tnt represents the \"tnt\" collection and includes the following\n * icons.\n *
    • \n *
    • \n * @ui5/webcomponents-icons-icons-business-suite represents the \"business-suite\" collection and includes the following\n * icons.\n *
    • \n *
    \n *\n * 2. After exploring the icons collections, add one or more of the packages as dependencies to your project.\n *
    \n * npm i @ui5/webcomponents-icons
    \n * npm i @ui5/webcomponents-icons-tnt
    \n * npm i @ui5/webcomponents-icons-business-suite\n *

    \n *\n * 3. Then, import the desired icon.\n *
    \n * import \"@ui5/{package_name}/dist/{icon_name}.js\";\n *

    \n *\n * For Example:\n *
    \n *\n * For the standard \"SAP-icons\" icon collection, import an icon from the @ui5/webcomponents-icons package:\n *
    \n * import \"@ui5/webcomponents-icons/dist/employee.js\";\n *

    \n *\n * For the \"tnt\" (SAP Fiori Tools) icon collection, import an icon from the @ui5/webcomponents-icons-tnt package:\n *
    \n * import \"@ui5/webcomponents-icons-tnt/dist/antenna.js\";\n *

    \n *\n * For the \"business-suite\" (SAP Business Suite) icon collection, import an icon from the @ui5/webcomponents-icons-business-suite package:\n *
    \n * import \"@ui5/webcomponents-icons-business-suite/dist/ab-testing.js\";\n *

    \n *\n * 4. Display the icon using the ui5-icon web component.
    \n * Set the icon collection (\"SAP-icons\", \"tnt\" or \"business-suite\" - \"SAP-icons\" is the default icon collection and can be skipped)
    \n * and the icon name to the name property.\n *

    \n *\n * <ui5-icon name=\"employee\"></ui5-icon>
    \n * <ui5-icon name=\"tnt/antenna\"></ui5-icon>
    \n * <ui5-icon name=\"business-suite/ab-testing\"></ui5-icon>\n *\n *

    \n *

    Keyboard Handling

    \n *\n *
      \n *
    • [SPACE, ENTER, RETURN] - Fires the click event if the interactive property is set to true.
    • \n *
    • [SHIFT] - If [SPACE] or [ENTER],[RETURN] is pressed, pressing [SHIFT] releases the ui5-icon without triggering the click event.
    • \n *
    \n *\n *

    ES6 Module Import

    \n *\n * import \"@ui5/webcomponents/dist/Icon.js\";\n *\n * @csspart root - Used to style the outermost wrapper of the ui5-icon.\n *\n * @constructor\n * @extends UI5Element\n * @implements {IIcon}\n * @public\n */\n@customElement({\n\ttag: \"ui5-icon\",\n\tlanguageAware: true,\n\tthemeAware: true,\n\trenderer: litRender,\n\ttemplate: IconTemplate,\n\tstyles: iconCss,\n})\n/**\n * Fired on mouseup, SPACE and ENTER.\n * - on mouse click, the icon fires native click event\n * - on SPACE and ENTER, the icon fires custom click event\n * @private\n * @since 1.0.0-rc.8\n */\n@event(\"click\")\nclass Icon extends UI5Element implements IIcon {\n\t/**\n\t * Defines the component semantic design.\n\t *\n\t * @default \"Default\"\n\t * @public\n\t * @since 1.9.2\n\t */\n\t@property({ type: IconDesign, defaultValue: IconDesign.Default })\n\tdesign!: `${IconDesign}`;\n\n\t/**\n\t * Defines if the icon is interactive (focusable and pressable)\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.8\n\t */\n\t@property({ type: Boolean })\n\tinteractive!: boolean;\n\n\t/**\n\t * Defines the unique identifier (icon name) of the component.\n\t *
    \n\t *\n\t * To browse all available icons, see the\n\t * SAP Icons,\n\t * SAP Fiori Tools and\n\t * SAP Business Suite collections.\n\t *
    \n\t *\n\t * Example:\n\t *
    \n\t * name='add', name='delete', name='employee'.\n\t *

    \n\t *\n\t * Note: To use the SAP Fiori Tools icons,\n\t * you need to set the tnt prefix in front of the icon's name.\n\t *
    \n\t *\n\t * Example:\n\t *
    \n\t * name='tnt/antenna', name='tnt/actor', name='tnt/api'.\n\t *

    \n\t *\n\t * Note: To use the SAP Business Suite icons,\n\t * you need to set the business-suite prefix in front of the icon's name.\n\t *
    \n\t *\n\t * Example:\n\t *
    \n\t * name='business-suite/3d', name='business-suite/1x2-grid-layout', name='business-suite/4x4-grid-layout'.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tname!: string;\n\n\t/**\n\t * Defines the text alternative of the component.\n\t * If not provided a default text alternative will be set, if present.\n\t *

    \n\t * Note: Every icon should have a text alternative in order to\n\t * calculate its accessible name.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\taccessibleName!: string;\n\n\t/**\n\t * Defines whether the component should have a tooltip.\n\t *

    \n\t * Note: The tooltip text should be provided via the accessible-name property.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowTooltip!: boolean;\n\n\t/**\n\t * Defines the accessibility role of the component.\n\t * @default \"\"\n\t * @public\n\t * @since 1.1.0\n\t */\n\t@property()\n\taccessibleRole!: string;\n\n\t/**\n\t * Defines the ARIA hidden state of the component.\n\t * Note: If the role is presentation the default value of aria-hidden will be true.\n\t * @private\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\tariaHidden!: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ multiple: true })\n\tpathData!: Array;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Object, defaultValue: undefined, noAttribute: true })\n\taccData?: I18nText;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused!: boolean;\n\n\t/**\n\t* @private\n\t*/\n\t@property({ type: Boolean })\n\tinvalid!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ noAttribute: true, defaultValue: undefined })\n\teffectiveAccessibleName?: string;\n\n\tltr?: boolean;\n\tpackageName?: string;\n\tviewBox?: string;\n\tcustomSvg?: object;\n\n\t_onfocusout?: ((event: FocusEvent) => void);\n\t_onfocusin?: ((event: FocusEvent) => void);\n\n\t_onFocusInHandler() {\n\t\tif (this.interactive) {\n\t\t\tthis.focused = true;\n\t\t}\n\t}\n\n\t_onFocusOutHandler() {\n\t\tthis.focused = false;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (!this.interactive) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis.fireEvent(\"click\");\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault(); // prevent scrolling\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (this.interactive && isSpace(e)) {\n\t\t\tthis.fireEvent(\"click\");\n\t\t}\n\t}\n\n\t/**\n\t* Enforce \"ltr\" direction, based on the icons collection metadata.\n\t*/\n\tget _dir() {\n\t\treturn this.ltr ? \"ltr\" : undefined;\n\t}\n\n\tget effectiveAriaHidden() {\n\t\tif (this.ariaHidden === \"\") {\n\t\t\tif (this.isDecorative) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\treturn this.ariaHidden;\n\t}\n\n\tget _tabIndex() {\n\t\treturn this.interactive ? \"0\" : undefined;\n\t}\n\n\tget isDecorative() {\n\t\treturn this.effectiveAccessibleRole === PRESENTATION_ROLE;\n\t}\n\n\tget effectiveAccessibleRole() {\n\t\tif (this.accessibleRole) {\n\t\t\treturn this.accessibleRole;\n\t\t}\n\n\t\tif (this.interactive) {\n\t\t\treturn \"button\";\n\t\t}\n\n\t\treturn this.effectiveAccessibleName ? \"img\" : PRESENTATION_ROLE;\n\t}\n\n\tasync onBeforeRendering() {\n\t\tconst name = this.name;\n\t\tif (!name) {\n\t\t\t/* eslint-disable-next-line */\n\t\t\treturn console.warn(\"Icon name property is required\", this);\n\t\t}\n\n\t\tlet iconData: typeof ICON_NOT_FOUND | IconData | undefined = getIconDataSync(name);\n\t\tif (!iconData) {\n\t\t\ticonData = await getIconData(name);\n\t\t}\n\n\t\tif (!iconData) {\n\t\t\tthis.invalid = true;\n\t\t\t/* eslint-disable-next-line */\n\t\t\treturn console.warn(`Required icon is not registered. Invalid icon name: ${this.name}`);\n\t\t}\n\n\t\tif (iconData === ICON_NOT_FOUND) {\n\t\t\tthis.invalid = true;\n\t\t\t/* eslint-disable-next-line */\n\t\t\treturn console.warn(`Required icon is not registered. You can either import the icon as a module in order to use it e.g. \"@ui5/webcomponents-icons/dist/${name.replace(\"sap-icon://\", \"\")}.js\", or setup a JSON build step and import \"@ui5/webcomponents-icons/dist/AllIcons.js\".`);\n\t\t}\n\n\t\tthis.viewBox = iconData.viewBox || \"0 0 512 512\";\n\n\t\tif (iconData.customTemplate) {\n\t\t\ticonData.pathData = [];\n\t\t\tthis.customSvg = executeTemplate(iconData.customTemplate, this);\n\t\t}\n\n\t\t// in case a new valid name is set, show the icon\n\t\tthis.invalid = false;\n\t\tthis.pathData = Array.isArray(iconData.pathData) ? iconData.pathData : [iconData.pathData];\n\t\tthis.accData = iconData.accData;\n\t\tthis.ltr = iconData.ltr;\n\t\tthis.packageName = iconData.packageName;\n\n\t\tthis._onfocusout = this.interactive ? this._onFocusOutHandler.bind(this) : undefined;\n\t\tthis._onfocusin = this.interactive ? this._onFocusInHandler.bind(this) : undefined;\n\n\t\tif (this.accessibleName) {\n\t\t\tthis.effectiveAccessibleName = this.accessibleName;\n\t\t} else if (this.accData) {\n\t\t\tconst i18nBundle = await getI18nBundle(this.packageName);\n\t\t\tthis.effectiveAccessibleName = i18nBundle.getText(this.accData) || undefined;\n\t\t} else {\n\t\t\tthis.effectiveAccessibleName = undefined;\n\t\t}\n\t}\n\n\tget hasIconTooltip() {\n\t\treturn this.showTooltip && this.effectiveAccessibleName;\n\t}\n}\n\nIcon.define();\n\nexport default Icon;\nexport type {\n\tIIcon,\n};\n","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents\",fileName:\"themes/CheckBox.css.ts\",content:`.ui5-hidden-text{position:absolute;clip:rect(1px,1px,1px,1px);user-select:none;left:-1000px;top:-1000px;pointer-events:none;font-size:0}:host{-webkit-tap-highlight-color:rgba(0,0,0,0)}:host(:not([hidden])){display:inline-block}:host{overflow:hidden;max-width:100%;outline:none;border-radius:var(--_ui5-v1-22-0-rc-3_checkbox_border_radius);transition:var(--_ui5-v1-22-0-rc-3_checkbox_transition);cursor:pointer;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}:host([disabled]){cursor:default}:host([disabled]) .ui5-checkbox-root{opacity:var(--_ui5-v1-22-0-rc-3_checkbox_disabled_opacity)}:host([disabled]) .ui5-checkbox-inner{border-color:var(--_ui5-v1-22-0-rc-3_checkbox_inner_disabled_border_color)}:host([disabled]) .ui5-checkbox-label{color:var(--_ui5-v1-22-0-rc-3_checkbox_disabled_label_color)}:host([readonly]:not([value-state=\"Warning\"]):not([value-state=\"Error\"])) .ui5-checkbox-inner{background:var(--sapField_ReadOnly_Background);border:var(--_ui5-v1-22-0-rc-3_checkbox_inner_readonly_border);color:var(--sapField_TextColor)}:host([wrapping-type=\"Normal\"][text]) .ui5-checkbox-root{min-height:auto;box-sizing:border-box;align-items:flex-start;padding-top:var(--_ui5-v1-22-0-rc-3_checkbox_root_side_padding);padding-bottom:var(--_ui5-v1-22-0-rc-3_checkbox_root_side_padding)}:host([wrapping-type=\"Normal\"][text]) .ui5-checkbox-root .ui5-checkbox-inner,:host([wrapping-type=\"Normal\"][text]) .ui5-checkbox-root .ui5-checkbox-label{margin-top:var(--_ui5-v1-22-0-rc-3_checkbox_wrapped_content_margin_top)}:host([wrapping-type=\"Normal\"][text]) .ui5-checkbox-root .ui5-checkbox-label{overflow-wrap:break-word;align-self:center}:host([wrapping-type=\"Normal\"]) .ui5-checkbox-root:focus:before{bottom:var(--_ui5-v1-22-0-rc-3_checkbox_wrapped_focus_left_top_bottom_position)}:host([value-state=\"Error\"]) .ui5-checkbox-inner,:host([value-state=\"Error\"]) .ui5-checkbox--hoverable:hover .ui5-checkbox-inner{background:var(--sapField_InvalidBackground);border:var(--_ui5-v1-22-0-rc-3_checkbox_inner_error_border);color:var(--sapField_InvalidColor)}:host([value-state=\"Error\"]) .ui5-checkbox--hoverable:hover .ui5-checkbox-inner{background:var(--_ui5-v1-22-0-rc-3_checkbox_inner_error_background_hover)}:host([value-state=\"Warning\"]) .ui5-checkbox-inner,:host([value-state=\"Warning\"]) .ui5-checkbox--hoverable:hover .ui5-checkbox-inner{background:var(--sapField_WarningBackground);border:var(--_ui5-v1-22-0-rc-3_checkbox_inner_warning_border);color:var(--_ui5-v1-22-0-rc-3_checkbox_inner_warning_color)}:host([value-state=\"Warning\"]) .ui5-checkbox--hoverable:hover .ui5-checkbox-inner{background:var(--_ui5-v1-22-0-rc-3_checkbox_inner_warning_background_hover)}:host([value-state=\"Information\"]) .ui5-checkbox-inner,:host([value-state=\"Information\"]) .ui5-checkbox--hoverable:hover .ui5-checkbox-inner{background:var(--sapField_InformationBackground);border:var(--_ui5-v1-22-0-rc-3_checkbox_inner_information_border);color:var(--_ui5-v1-22-0-rc-3_checkbox_inner_information_color)}:host([value-state=\"Information\"]) .ui5-checkbox--hoverable:hover .ui5-checkbox-inner{background:var(--_ui5-v1-22-0-rc-3_checkbox_inner_information_background_hover)}:host([value-state=\"Success\"]) .ui5-checkbox-inner,:host([value-state=\"Success\"]) .ui5-checkbox--hoverable:hover .ui5-checkbox-inner{background:var(--sapField_SuccessBackground);border:var(--_ui5-v1-22-0-rc-3_checkbox_inner_success_border);color:var(--sapField_SuccessColor)}:host([value-state=\"Success\"]) .ui5-checkbox--hoverable:hover .ui5-checkbox-inner{background:var(--_ui5-v1-22-0-rc-3_checkbox_inner_success_background_hover)}:host([value-state=\"Warning\"]) .ui5-checkbox-icon,:host([value-state=\"Warning\"][indeterminate]) .ui5-checkbox-inner:after{color:var(--_ui5-v1-22-0-rc-3_checkbox_checkmark_warning_color)}:host([text]) .ui5-checkbox-root{padding-inline-end:var(--_ui5-v1-22-0-rc-3_checkbox_right_focus_distance)}:host([text]) .ui5-checkbox-root:focus:before{inset-inline-end:0}.ui5-checkbox-root{position:relative;display:inline-flex;align-items:center;width:100%;min-height:var(--_ui5-v1-22-0-rc-3_checkbox_width_height);min-width:var(--_ui5-v1-22-0-rc-3_checkbox_width_height);padding:0 var(--_ui5-v1-22-0-rc-3_checkbox_wrapper_padding);outline:none;transition:var(--_ui5-v1-22-0-rc-3_checkbox_transition);border:var(--_ui5-v1-22-0-rc-3_checkbox_default_focus_border);border-radius:var(--_ui5-v1-22-0-rc-3_checkbox_border_radius);box-sizing:border-box}.ui5-checkbox-root:focus:before{display:var(--_ui5-v1-22-0-rc-3_checkbox_focus_outline_display);content:\"\";position:absolute;inset-inline:var(--_ui5-v1-22-0-rc-3_checkbox_focus_position);inset-block:var(--_ui5-v1-22-0-rc-3_checkbox_focus_position);border:var(--_ui5-v1-22-0-rc-3_checkbox_focus_outline);border-radius:var(--_ui5-v1-22-0-rc-3_checkbox_focus_border_radius)}:host .ui5-checkbox-root:focus{border:var(--_ui5-v1-22-0-rc-3_checkbox_focus_border);border-radius:.5rem}:host(:hover:not([disabled])){background:var(--_ui5-v1-22-0-rc-3_checkbox_outer_hover_background)}.ui5-checkbox--hoverable .ui5-checkbox-label:hover{color:var(--_ui5-v1-22-0-rc-3_checkbox_label_color)}:host(:not([active]):not([checked]):not([value-state])) .ui5-checkbox--hoverable:hover .ui5-checkbox-inner,:host(:not([active]):not([checked])[value-state=\"None\"]) .ui5-checkbox--hoverable:hover .ui5-checkbox-inner{background:var(--_ui5-v1-22-0-rc-3_checkbox_hover_background);border-color:var(--_ui5-v1-22-0-rc-3_checkbox_inner_hover_border_color)}:host(:not([active])[checked]:not([value-state])) .ui5-checkbox--hoverable:hover .ui5-checkbox-inner,:host(:not([active])[checked][value-state=\"None\"]) .ui5-checkbox--hoverable:hover .ui5-checkbox-inner{background:var(--_ui5-v1-22-0-rc-3_checkbox_hover_background);border-color:var(--_ui5-v1-22-0-rc-3_checkbox_inner_hover_checked_border_color)}:host([checked]:not([value-state])) .ui5-checkbox-inner,:host([checked][value-state=\"None\"]) .ui5-checkbox-inner{border-color:var(--_ui5-v1-22-0-rc-3_checkbox_inner_selected_border_color)}:host([active]:not([checked]):not([value-state]):not([disabled])) .ui5-checkbox-inner,:host([active]:not([checked])[value-state=\"None\"]:not([disabled])) .ui5-checkbox-inner{border-color:var(--_ui5-v1-22-0-rc-3_checkbox_inner_active_border_color);background-color:var(--_ui5-v1-22-0-rc-3_checkbox_active_background)}:host([active][checked]:not([value-state]):not([disabled])) .ui5-checkbox-inner,:host([active][checked][value-state=\"None\"]:not([disabled])) .ui5-checkbox-inner{border-color:var(--_ui5-v1-22-0-rc-3_checkbox_inner_selected_border_color);background-color:var(--_ui5-v1-22-0-rc-3_checkbox_active_background)}.ui5-checkbox-inner{min-width:var(--_ui5-v1-22-0-rc-3_checkbox_inner_width_height);max-width:var(--_ui5-v1-22-0-rc-3_checkbox_inner_width_height);height:var(--_ui5-v1-22-0-rc-3_checkbox_inner_width_height);max-height:var(--_ui5-v1-22-0-rc-3_checkbox_inner_width_height);border:var(--_ui5-v1-22-0-rc-3_checkbox_inner_border);border-radius:var(--_ui5-v1-22-0-rc-3_checkbox_inner_border_radius);background:var(--_ui5-v1-22-0-rc-3_checkbox_inner_background);color:var(--_ui5-v1-22-0-rc-3_checkbox_checkmark_color);box-sizing:border-box;position:relative;cursor:inherit}:host([indeterminate][checked]) .ui5-checkbox-inner:after{content:\"\";background-color:currentColor;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:var(--_ui5-v1-22-0-rc-3_checkbox_partially_icon_size);height:var(--_ui5-v1-22-0-rc-3_checkbox_partially_icon_size)}:host input{-webkit-appearance:none;visibility:hidden;width:0;left:0;position:absolute;font-size:inherit}.ui5-checkbox-root .ui5-checkbox-label{margin-inline-start:var(--_ui5-v1-22-0-rc-3_checkbox_label_offset);cursor:inherit;text-overflow:ellipsis;overflow:hidden;pointer-events:none;color:var(--_ui5-v1-22-0-rc-3_checkbox_label_color)}.ui5-checkbox-icon{width:var(--_ui5-v1-22-0-rc-3_checkbox_icon_size);height:var(--_ui5-v1-22-0-rc-3_checkbox_icon_size);color:currentColor;cursor:inherit;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}:host([display-only]){cursor:default}:host([display-only]) .ui5-checkbox-display-only-icon-inner [ui5-icon]{color:var(--sapTextColor)}:host([display-only]) .ui5-checkbox-display-only-icon-inner{min-width:var(--_ui5-v1-22-0-rc-3_checkbox_inner_width_height);max-width:var(--_ui5-v1-22-0-rc-3_checkbox_inner_width_height);height:var(--_ui5-v1-22-0-rc-3_checkbox_inner_width_height);max-height:var(--_ui5-v1-22-0-rc-3_checkbox_inner_width_height);display:flex;align-items:center;justify-content:center}\n`};\nexport default styleData;\n\t","/* eslint no-unused-vars: 0 */\nimport { html, svg, repeat, classMap, styleMap, ifDefined, unsafeHTML, scopeTag } from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\timport type CheckBox from \"../../CheckBox.js\";\n\timport type { ClassMapValue } from \"@ui5/webcomponents-base/dist/types.js\";\n\t\nfunction block0 (this: CheckBox, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    ${ this.isDisplayOnly ? block1.call(this, context, tags, suffix) : block2.call(this, context, tags, suffix) }${ this.text ? block4.call(this, context, tags, suffix) : undefined }${ this.hasValueState ? block5.call(this, context, tags, suffix) : undefined }
    `;}\nfunction block1 (this: CheckBox, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`
    <${scopeTag(\"ui5-icon\", tags, suffix)} aria-hidden=\"true\" name=${ifDefined(this.displayOnlyIcon)} class=\"ui5-checkbox-display-only-icon\">
    ` : html`
    `;}\nfunction block2 (this: CheckBox, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    ${ this.isCompletelyChecked ? block3.call(this, context, tags, suffix) : undefined }
    `;}\nfunction block3 (this: CheckBox, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-icon\", tags, suffix)} aria-hidden=\"true\" name=\"accept\" class=\"ui5-checkbox-icon\">` : html``;}\nfunction block4 (this: CheckBox, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-label\", tags, suffix)} part=\"label\" id=\"${ifDefined(this._id)}-label\" class=\"ui5-checkbox-label\" wrapping-type=\"${ifDefined(this.wrappingType)}\">${ifDefined(this.text)}` : html`${ifDefined(this.text)}`;}\nfunction block5 (this: CheckBox, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ifDefined(this.valueStateText)}`;}\n\n\nexport default block0;","import { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport { getFeature } from \"@ui5/webcomponents-base/dist/FeaturesRegistry.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport { isSpace, isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport \"@ui5/webcomponents-icons/dist/accept.js\";\nimport \"@ui5/webcomponents-icons/dist/complete.js\";\nimport \"@ui5/webcomponents-icons/dist/border.js\";\nimport \"@ui5/webcomponents-icons/dist/tri-state.js\";\nimport Icon from \"./Icon.js\";\nimport Label from \"./Label.js\";\nimport WrappingType from \"./types/WrappingType.js\";\nimport {\n\tVALUE_STATE_ERROR,\n\tVALUE_STATE_WARNING,\n\tVALUE_STATE_SUCCESS,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport checkboxCss from \"./generated/themes/CheckBox.css.js\";\nimport type FormSupport from \"./features/InputElementsFormSupport.js\";\nimport type { IFormElement, NativeFormElement } from \"./features/InputElementsFormSupport.js\";\n\n// Template\nimport CheckBoxTemplate from \"./generated/templates/CheckBoxTemplate.lit.js\";\n\nlet isGlobalHandlerAttached = false;\nlet activeCb: CheckBox;\n\n/**\n * @class\n *\n *

    Overview

    \n *\n * Allows the user to set a binary value, such as true/false or yes/no for an item.\n *

    \n * The ui5-checkbox component consists of a box and a label that describes its purpose.\n * If it's checked, an indicator is displayed inside the box.\n * To check/uncheck the ui5-checkbox, the user has to click or tap the square\n * box or its label.\n *

    \n * The ui5-checkbox component only has 2 states - checked and unchecked.\n * Clicking or tapping toggles the ui5-checkbox between checked and unchecked state.\n *\n *

    Usage

    \n *\n * You can define the checkbox text with via the text property. If the text exceeds the available width, it is truncated by default.\n * In case you prefer text to wrap, set the wrappingType property to \"Normal\".\n * The touchable area for toggling the ui5-checkbox ends where the text ends.\n *

    \n * You can disable the ui5-checkbox by setting the disabled property to\n * true,\n * or use the ui5-checkbox in read-only mode by setting the readonly\n * property to true.\n *\n *

    \n *\n *

    Keyboard Handling

    \n *\n * The user can use the following keyboard shortcuts to toggle the checked state of the ui5-checkbox.\n *
      \n *
    • [SPACE, ENTER] - Toggles between different states: checked, not checked.
    • \n *
    \n *

    \n *\n *

    ES6 Module Import

    \n *\n * import \"@ui5/webcomponents/dist/CheckBox\";\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @csspart root - Used to style the outermost wrapper of the ui5-checkbox\n * @csspart label - Used to style the label of the ui5-checkbox\n */\n@customElement({\n\ttag: \"ui5-checkbox\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: CheckBoxTemplate,\n\tstyles: checkboxCss,\n\tdependencies: [\n\t\tLabel,\n\t\tIcon,\n\t],\n})\n/**\n * Fired when the component checked state changes.\n *\n * @public\n * @allowPreventDefault\n */\n@event(\"change\")\n\nclass CheckBox extends UI5Element implements IFormElement {\n\t/**\n\t * Receives id(or many ids) of the elements that label the component\n\t * @default \"\"\n\t * @public\n\t * @since 1.1.0\n\t */\n\t@property()\n\taccessibleNameRef!: string;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t *\n\t * @public\n\t * @default \"\"\n\t * @since 1.1.0\n\t */\n\t@property()\n\taccessibleName!: string;\n\n\t/**\n\t * Defines whether the component is disabled.\n\t *

    \n\t * Note: A disabled component is completely noninteractive.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Defines whether the component is read-only.\n\t *

    \n\t * Note: A read-only component is not editable,\n\t * but still provides visual feedback upon user interaction.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly!: boolean;\n\n\t/**\n\t * Determines whether the ui5-checkbox is in display only state.\n\t *\n\t * When set to true, the ui5-checkbox is not interactive, not editable, not focusable\n\t * and not in the tab chain. This setting is used for forms in review mode.\n\t *\n\t * When the property disabled is set to true this property has no effect.\n\t * @since 1.22.0\n\t * @public\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\tdisplayOnly!: boolean;\n\n\t/**\n\t * Defines whether the component is required.\n\t *\n\t * @default false\n\t * @public\n\t * @since 1.3.0\n\t */\n\t@property({ type: Boolean })\n\trequired!: boolean;\n\n\t/**\n\t* Defines whether the component is displayed as partially checked.\n\t*

    \n\t* Note: The indeterminate state can be set only programmatically and can’t be achieved by user\n\t* interaction and the resulting visual state depends on the values of the indeterminate\n\t* and checked properties:\n\t*
      \n\t*
    • If the component is checked and indeterminate, it will be displayed as partially checked\n\t*
    • If the component is checked and it is not indeterminate, it will be displayed as checked\n\t*
    • If the component is not checked, it will be displayed as not checked regardless value of the indeterminate attribute\n\t*
    \n\t*\n\t* @default false\n\t* @public\n\t* @since 1.0.0-rc.15\n\t*/\n\t@property({ type: Boolean })\n\tindeterminate!: boolean;\n\n\t/**\n\t * Defines if the component is checked.\n\t *

    \n\t * Note: The property can be changed with user interaction,\n\t * either by cliking/tapping on the component, or by\n\t * pressing the Enter or Space key.\n\t *\n\t * @default false\n\t * @formEvents change\n\t * @formProperty\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tchecked!: boolean;\n\n\t/**\n\t * Defines the text of the component.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ttext!: string;\n\n\t/**\n\t * Defines the value state of the component.\n\t *\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tvalueState!: `${ValueState}`;\n\n\t/**\n\t * Defines whether the component text wraps when there is not enough space.\n\t *
    Note: for option \"Normal\" the text will wrap and the words will not be broken based on hyphenation.\n\t *\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property({ type: WrappingType, defaultValue: WrappingType.None })\n\twrappingType!: `${WrappingType}`;\n\n\t/**\n\t * Determines the name with which the component will be submitted in an HTML form.\n\t *\n\t *

    \n\t * Important: For the name property to have effect, you must add the following import to your project:\n\t * import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";\n\t *\n\t *

    \n\t * Note: When set, a native input HTML element\n\t * will be created inside the component so that it can be submitted as\n\t * part of an HTML form. Do not use this property unless you need to submit a form.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tname!: string;\n\n\t/**\n\t * Defines the active state (pressed or not) of the component.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tactive!: boolean;\n\n\t/**\n\t * The slot is used to render native input HTML element within Light DOM to enable form submit,\n\t * when name property is set.\n\t * @private\n\t */\n\t@slot()\n\tformSupport!: Array;\n\n\tstatic i18nBundle: I18nBundle;\n\t_deactivate: () => void;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._deactivate = () => {\n\t\t\tif (activeCb) {\n\t\t\t\tactiveCb.active = false;\n\t\t\t}\n\t\t};\n\n\t\tif (!isGlobalHandlerAttached) {\n\t\t\tdocument.addEventListener(\"mouseup\", this._deactivate);\n\t\t\tisGlobalHandlerAttached = true;\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._enableFormSupport();\n\t}\n\n\t_enableFormSupport() {\n\t\tconst formSupport = getFeature(\"FormSupport\");\n\t\tif (formSupport) {\n\t\t\tformSupport.syncNativeHiddenInput(this, (element: IFormElement, nativeInput: NativeFormElement) => {\n\t\t\t\tnativeInput.disabled = !!element.disabled;\n\t\t\t\t(nativeInput as HTMLInputElement).checked = !!element.checked;\n\t\t\t\tnativeInput.value = element.checked ? \"on\" : \"\";\n\t\t\t});\n\t\t} else if (this.name) {\n\t\t\tconsole.warn(`In order for the \"name\" property to have effect, you should also: import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";`); // eslint-disable-line\n\t\t}\n\t}\n\n\t_onclick() {\n\t\tthis.toggle();\n\t}\n\n\t_onmousedown() {\n\t\tif (this.readonly || this.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.active = true;\n\t\tactiveCb = this; // eslint-disable-line\n\t}\n\n\t_onmouseup() {\n\t\tthis.active = false;\n\t}\n\n\t_onfocusout() {\n\t\tthis.active = false;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (this.readonly || this.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis.toggle();\n\t\t}\n\n\t\tthis.active = true;\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis.toggle();\n\t\t}\n\n\t\tthis.active = false;\n\t}\n\n\ttoggle() {\n\t\tif (this.canToggle()) {\n\t\t\tconst lastState = {\n\t\t\t\tchecked: this.checked,\n\t\t\t\tindeterminate: this.indeterminate,\n\t\t\t};\n\t\t\tif (this.indeterminate) {\n\t\t\t\tthis.indeterminate = false;\n\t\t\t\tthis.checked = true;\n\t\t\t} else {\n\t\t\t\tthis.checked = !this.checked;\n\t\t\t}\n\n\t\t\tconst changePrevented = !this.fireEvent(\"change\", null, true);\n\t\t\t// Angular two way data binding\n\t\t\tconst valueChagnePrevented = !this.fireEvent(\"value-changed\", null, true);\n\n\t\t\tif (changePrevented || valueChagnePrevented) {\n\t\t\t\tthis.checked = lastState.checked;\n\t\t\t\tthis.indeterminate = lastState.indeterminate;\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\tcanToggle() {\n\t\treturn !(this.disabled || this.readonly || this.displayOnly);\n\t}\n\n\tvalueStateTextMappings() {\n\t\treturn {\n\t\t\t\"Error\": CheckBox.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t\"Warning\": CheckBox.i18nBundle.getText(VALUE_STATE_WARNING),\n\t\t\t\"Success\": CheckBox.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t};\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\tmain: {\n\t\t\t\t\"ui5-checkbox--hoverable\": !this.disabled && !this.readonly && isDesktop(),\n\t\t\t},\n\t\t};\n\t}\n\n\tget ariaReadonly() {\n\t\treturn this.readonly || this.displayOnly ? \"true\" : undefined;\n\t}\n\n\tget effectiveAriaDisabled() {\n\t\treturn this.disabled ? \"true\" : undefined;\n\t}\n\n\tget effectiveAriaChecked() {\n\t\treturn this.indeterminate && this.checked ? \"mixed\" : this.checked;\n\t}\n\n\tget ariaLabelledBy() {\n\t\tif (!this.ariaLabelText) {\n\t\t\treturn this.text ? `${this._id}-label` : undefined;\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget ariaDescribedBy() {\n\t\treturn this.hasValueState ? `${this._id}-descr` : undefined;\n\t}\n\n\tget hasValueState() {\n\t\treturn this.valueState !== ValueState.None;\n\t}\n\n\tget valueStateText() {\n\t\tif (this.valueState !== ValueState.None && this.valueState !== ValueState.Information) {\n\t\t\treturn this.valueStateTextMappings()[this.valueState];\n\t\t}\n\t}\n\n\tget effectiveTabIndex() {\n\t\tconst tabindex = this.getAttribute(\"tabindex\");\n\t\treturn this.disabled || this.displayOnly ? undefined : tabindex || \"0\";\n\t}\n\n\tget isCompletelyChecked() {\n\t\treturn this.checked && !this.indeterminate;\n\t}\n\n\tget isDisplayOnly() {\n\t\treturn this.displayOnly && !this.disabled;\n\t}\n\n\tget displayOnlyIcon() {\n\t\tif (this.isCompletelyChecked) {\n\t\t\treturn \"complete\";\n\t\t}\n\t\tif (this.checked && this.indeterminate) {\n\t\t\treturn \"tri-state\";\n\t\t}\n\t\treturn \"border\";\n\t}\n\n\tstatic async onDefine() {\n\t\tCheckBox.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n}\n\nCheckBox.define();\n\nexport default CheckBox;\n","import type RadioButton from \"./RadioButton.js\";\n\nclass RadioButtonGroup {\n\tstatic _groups: Map>;\n\tstatic _checkedRadios: Map;\n\n\tstatic hasGroup(groupName: string) {\n\t\treturn this.groups.has(groupName);\n\t}\n\n\tstatic getGroup(groupName: string) {\n\t\treturn this.groups.get(groupName);\n\t}\n\n\tstatic getCheckedRadioFromGroup(groupName: string) {\n\t\treturn this.checkedRadios.get(groupName);\n\t}\n\n\tstatic removeGroup(groupName: string) {\n\t\tthis.checkedRadios.delete(groupName);\n\t\treturn this.groups.delete(groupName);\n\t}\n\n\tstatic addToGroup(radioBtn: RadioButton, groupName: string) {\n\t\tif (this.hasGroup(groupName)) {\n\t\t\tthis.enforceSingleSelection(radioBtn, groupName);\n\t\t\tif (this.getGroup(groupName)) {\n\t\t\t\tthis.getGroup(groupName)!.push(radioBtn);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.createGroup(radioBtn, groupName);\n\t\t}\n\n\t\tthis.updateTabOrder(groupName);\n\t}\n\n\tstatic removeFromGroup(radioBtn: RadioButton, groupName: string) {\n\t\tconst group = this.getGroup(groupName);\n\n\t\tif (!group) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst checkedRadio = this.getCheckedRadioFromGroup(groupName);\n\n\t\t// Remove the radio button from the given group\n\t\tgroup.forEach((_radioBtn, idx, arr) => {\n\t\t\tif (radioBtn._id === _radioBtn._id) {\n\t\t\t\treturn arr.splice(idx, 1);\n\t\t\t}\n\t\t});\n\n\t\tif (checkedRadio === radioBtn) {\n\t\t\tthis.checkedRadios.set(groupName, null);\n\t\t}\n\n\t\t// Remove the group if it is empty\n\t\tif (!group.length) {\n\t\t\tthis.removeGroup(groupName);\n\t\t}\n\n\t\tthis.updateTabOrder(groupName);\n\t}\n\n\tstatic createGroup(radioBtn: RadioButton, groupName: string) {\n\t\tif (radioBtn.checked) {\n\t\t\tthis.checkedRadios.set(groupName, radioBtn);\n\t\t}\n\n\t\tthis.groups.set(groupName, [radioBtn]);\n\t}\n\n\tstatic selectNextItem(item: RadioButton, groupName: string) {\n\t\tconst group = this.getGroup(groupName);\n\t\tif (!group) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst groupLength = group.length,\n\t\t\tcurrentItemPosition = group.indexOf(item);\n\n\t\tif (groupLength <= 1) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst nextItemToSelect = this._nextSelectable(currentItemPosition, group);\n\t\tif (!nextItemToSelect) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.updateSelectionInGroup(nextItemToSelect, groupName);\n\t}\n\n\tstatic updateFormValidity(groupName: string) {\n\t\tconst group = this.getGroup(groupName);\n\n\t\tif (!group) {\n\t\t\treturn;\n\t\t}\n\n\t\tgroup.forEach(r => r._resetFormValidity());\n\n\t\tconst groupRequiresValue = group.some(r => r.required) && group.every(r => !r.checked);\n\t\tif (groupRequiresValue) {\n\t\t\tgroup[0]._invalidateForm();\n\t\t}\n\t}\n\n\tstatic updateTabOrder(groupName: string) {\n\t\tconst group = this.getGroup(groupName);\n\n\t\tif (!group) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst hasCheckedRadio = group.some(radioBtn => radioBtn.checked);\n\n\t\tgroup.filter(radioBtn => !radioBtn.disabled).forEach((radioBtn, idx) => {\n\t\t\tif (hasCheckedRadio) {\n\t\t\t\tradioBtn._tabIndex = radioBtn.checked ? \"0\" : \"-1\";\n\t\t\t} else {\n\t\t\t\tradioBtn._tabIndex = idx === 0 ? \"0\" : \"-1\";\n\t\t\t}\n\t\t});\n\t}\n\n\tstatic selectPreviousItem(item: RadioButton, groupName: string) {\n\t\tconst group = this.getGroup(groupName);\n\n\t\tif (!group) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst groupLength = group.length,\n\t\t\tcurrentItemPosition = group.indexOf(item);\n\n\t\tif (groupLength <= 1) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst previousItemToSelect = this._previousSelectable(currentItemPosition, group);\n\t\tif (!previousItemToSelect) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.updateSelectionInGroup(previousItemToSelect, groupName);\n\t}\n\n\tstatic selectItem(item: RadioButton, groupName: string) {\n\t\tthis.updateSelectionInGroup(item, groupName);\n\t\tthis.updateTabOrder(groupName);\n\t}\n\n\tstatic updateSelectionInGroup(radioBtnToSelect: RadioButton, groupName: string) {\n\t\tconst checkedRadio = this.getCheckedRadioFromGroup(groupName);\n\n\t\tif (checkedRadio) {\n\t\t\tthis._deselectRadio(checkedRadio);\n\t\t}\n\n\t\tthis._selectRadio(radioBtnToSelect);\n\t\tthis.checkedRadios.set(groupName, radioBtnToSelect);\n\t}\n\n\tstatic _deselectRadio(radioBtn: RadioButton) {\n\t\tif (radioBtn) {\n\t\t\tradioBtn.checked = false;\n\t\t}\n\t}\n\n\tstatic _selectRadio(radioBtn: RadioButton) {\n\t\tif (radioBtn) {\n\t\t\tradioBtn.focus();\n\t\t\tradioBtn.checked = true;\n\t\t\tradioBtn._checked = true;\n\t\t\tradioBtn.fireEvent(\"change\");\n\t\t}\n\t}\n\n\tstatic _nextSelectable(pos: number, group: RadioButton[]): RadioButton | null {\n\t\tif (!group) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst groupLength = group.length;\n\t\tlet nextRadioToSelect = null;\n\n\t\tif (pos === groupLength - 1) {\n\t\t\tif (group[0].disabled || group[0].readonly) {\n\t\t\t\treturn this._nextSelectable(1, group);\n\t\t\t}\n\t\t\tnextRadioToSelect = group[0];\n\t\t} else if (group[pos + 1].disabled || group[pos + 1].readonly) {\n\t\t\treturn this._nextSelectable(pos + 1, group);\n\t\t} else {\n\t\t\tnextRadioToSelect = group[pos + 1];\n\t\t}\n\n\t\treturn nextRadioToSelect;\n\t}\n\n\tstatic _previousSelectable(pos: number, group: RadioButton[]): RadioButton | null {\n\t\tconst groupLength = group.length;\n\t\tlet previousRadioToSelect = null;\n\t\tif (pos === 0) {\n\t\t\tif (group[groupLength - 1].disabled || group[groupLength - 1].readonly) {\n\t\t\t\treturn this._previousSelectable(groupLength - 1, group);\n\t\t\t}\n\t\t\tpreviousRadioToSelect = group[groupLength - 1];\n\t\t} else if (group[pos - 1].disabled || group[pos - 1].readonly) {\n\t\t\treturn this._previousSelectable(pos - 1, group);\n\t\t} else {\n\t\t\tpreviousRadioToSelect = group[pos - 1];\n\t\t}\n\n\t\treturn previousRadioToSelect;\n\t}\n\n\tstatic enforceSingleSelection(radioBtn: RadioButton, groupName: string) {\n\t\tconst checkedRadio = this.getCheckedRadioFromGroup(groupName);\n\n\t\tif (radioBtn.checked) {\n\t\t\tif (!checkedRadio) {\n\t\t\t\tthis.checkedRadios.set(groupName, radioBtn);\n\t\t\t} else if (radioBtn !== checkedRadio) {\n\t\t\t\tthis._deselectRadio(checkedRadio);\n\t\t\t\tthis.checkedRadios.set(groupName, radioBtn);\n\t\t\t}\n\t\t} else if (radioBtn === checkedRadio) {\n\t\t\tthis.checkedRadios.set(groupName, null);\n\t\t}\n\n\t\tthis.updateTabOrder(groupName);\n\t\tthis.updateFormValidity(groupName);\n\t}\n\n\tstatic get groups() {\n\t\tif (!this._groups) {\n\t\t\tthis._groups = new Map();\n\t\t}\n\t\treturn this._groups;\n\t}\n\n\tstatic get checkedRadios() {\n\t\tif (!this._checkedRadios) {\n\t\t\tthis._checkedRadios = new Map();\n\t\t}\n\t\treturn this._checkedRadios;\n\t}\n}\n\nexport default RadioButtonGroup;\n","/* eslint no-unused-vars: 0 */\nimport { html, svg, repeat, classMap, styleMap, ifDefined, unsafeHTML, scopeTag } from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\timport type RadioButton from \"../../RadioButton.js\";\n\timport type { ClassMapValue } from \"@ui5/webcomponents-base/dist/types.js\";\n\t\nfunction block0 (this: RadioButton, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    ${blockSVG1.call(this, context, tags, suffix)}
    ${ this.text ? block1.call(this, context, tags, suffix) : undefined }${ this.hasValueState ? block2.call(this, context, tags, suffix) : undefined }
    `;}\nfunction block1 (this: RadioButton, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-label\", tags, suffix)} id=\"${ifDefined(this._id)}-label\" class=\"ui5-radio-label\" for=\"${ifDefined(this._id)}\" wrapping-type=\"${ifDefined(this.wrappingType)}\">${ifDefined(this.text)}` : html`${ifDefined(this.text)}`;}\nfunction block2 (this: RadioButton, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ifDefined(this.valueStateText)}`;}\n\nfunction blockSVG1 (this: any, context: UI5Element, tags: string[], suffix: string | undefined) {\n\t\treturn svg``;\n\t};\n\nexport default block0;","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents\",fileName:\"themes/RadioButton.css.ts\",content:`.ui5-hidden-text{position:absolute;clip:rect(1px,1px,1px,1px);user-select:none;left:-1000px;top:-1000px;pointer-events:none;font-size:0}:host(:not([hidden])){display:inline-block}:host{min-width:var(--_ui5-v1-22-0-rc-3_radio_button_min_width);max-width:100%;text-overflow:ellipsis;overflow:hidden;color:var(--_ui5-v1-22-0-rc-3_radio_button_color);border-radius:var(--_ui5-v1-22-0-rc-3_radio_button_border_radius)}:host(:not([disabled])) .ui5-radio-root{cursor:pointer}:host([checked]){color:var(--_ui5-v1-22-0-rc-3_radio_button_checked_fill)}:host([checked]) .ui5-radio-svg-inner{fill:var(--_ui5-v1-22-0-rc-3_radio_button_inner_ring_color)}:host([checked]) .ui5-radio-svg-outer{stroke:var(--_ui5-v1-22-0-rc-3_radio_button_outer_ring_color)}:host([disabled]) .ui5-radio-root{color:var(--_ui5-v1-22-0-rc-3_radio_button_color);opacity:var(--sapContent_DisabledOpacity)}:host([disabled][checked]) .ui5-radio-svg-outer{stroke:var(--_ui5-v1-22-0-rc-3_radio_button_color)}:host(:not([disabled])) .ui5-radio-root:focus:before{content:\"\";display:var(--_ui5-v1-22-0-rc-3_radio_button_focus_outline);position:absolute;inset:var(--_ui5-v1-22-0-rc-3_radio_button_focus_dist);pointer-events:none;border:var(--_ui5-v1-22-0-rc-3_radio_button_border_width) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);border-radius:var(--_ui5-v1-22-0-rc-3_radio_button_border_radius)}:host(:not([disabled])) .ui5-radio-root:focus{border-radius:var(--_ui5-v1-22-0-rc-3_radio_button_border_radius);border:var(--_ui5-v1-22-0-rc-3_radio_button_focus_border)}:host(:not([value-state=\"Error\"]):not([value-state=\"Warning\"]):not([value-state=\"Success\"]):not([value-state=\"Information\"])) .ui5-radio-root:hover .ui5-radio-inner--hoverable .ui5-radio-svg-outer{stroke:var(--_ui5-v1-22-0-rc-3_radio_button_outer_ring_hover_color)}:host(:not([value-state=\"Error\"]):not([value-state=\"Warning\"]):not([value-state=\"Success\"]):not([value-state=\"Information\"])[checked]) .ui5-radio-root:hover .ui5-radio-inner--hoverable .ui5-radio-svg-outer{stroke:var(--_ui5-v1-22-0-rc-3_radio_button_outer_ring_checked_hover_color)}.ui5-radio-root:hover .ui5-radio-inner--hoverable .ui5-radio-svg-outer,:host([checked]) .ui5-radio-root:hover .ui5-radio-inner--hoverable .ui5-radio-svg-outer{fill:var(--_ui5-v1-22-0-rc-3_radio_button_hover_fill)}:host([active][checked]:not([value-state]):not([disabled]):not([readonly])) .ui5-radio-svg-outer{stroke:var(--_ui5-v1-22-0-rc-3_radio_button_outer_ring_checked_hover_color)}:host([active]:not([checked]):not([value-state]):not([disabled]):not([readonly])) .ui5-radio-svg-outer{stroke:var(--_ui5-v1-22-0-rc-3_radio_button_outer_ring_active_color)}:host([text]) .ui5-radio-root{padding-inline-end:var(--_ui5-v1-22-0-rc-3_radio_button_border_width)}:host([text]) .ui5-radio-root:focus:before{inset-inline-end:0px}:host([text]) .ui5-radio-inner{padding:var(--_ui5-v1-22-0-rc-3_radio_button_outer_ring_padding_with_label)}:host([checked][readonly]) .ui5-radio-svg-inner{fill:var(--_ui5-v1-22-0-rc-3_radio_button_read_only_inner_ring_color)}:host([readonly]) .ui5-radio-root .ui5-radio-svg-outer{fill:var(--sapField_ReadOnly_Background);stroke:var(--sapField_ReadOnly_BorderColor);stroke-dasharray:var(--_ui5-v1-22-0-rc-3_radio_button_read_only_border_type);stroke-width:var(--_ui5-v1-22-0-rc-3_radio_button_read_only_border_width)}:host([value-state=\"Error\"]) .ui5-radio-svg-outer,:host([value-state=\"Warning\"]) .ui5-radio-svg-outer{stroke-width:var(--sapField_InvalidBorderWidth)}:host([value-state=\"Information\"]) .ui5-radio-svg-outer{stroke-width:var(--_ui5-v1-22-0-rc-3_radio_button_information_border_width)}:host([value-state=\"Error\"][checked]) .ui5-radio-svg-inner{fill:var(--_ui5-v1-22-0-rc-3_radio_button_checked_error_fill)}:host([value-state=\"Error\"]) .ui5-radio-svg-outer,:host([value-state=\"Error\"]) .ui5-radio-root:hover .ui5-radio-inner.ui5-radio-inner--hoverable:hover .ui5-radio-svg-outer{stroke:var(--sapField_InvalidColor);fill:var(--sapField_InvalidBackground)}:host([value-state=\"Error\"]) .ui5-radio-root:hover .ui5-radio-inner.ui5-radio-inner--hoverable .ui5-radio-svg-outer{fill:var(--_ui5-v1-22-0-rc-3_radio_button_hover_fill_error)}:host([value-state=\"Warning\"][checked]) .ui5-radio-svg-inner{fill:var(--_ui5-v1-22-0-rc-3_radio_button_checked_warning_fill)}:host([value-state=\"Warning\"]) .ui5-radio-svg-outer,:host([value-state=\"Warning\"]) .ui5-radio-root:hover .ui5-radio-inner.ui5-radio-inner--hoverable:hover .ui5-radio-svg-outer{stroke:var(--sapField_WarningColor);fill:var(--sapField_WarningBackground)}:host([value-state=\"Warning\"]) .ui5-radio-root:hover .ui5-radio-inner.ui5-radio-inner--hoverable .ui5-radio-svg-outer{fill:var(--_ui5-v1-22-0-rc-3_radio_button_hover_fill_warning)}:host([value-state=\"Success\"][checked]) .ui5-radio-svg-inner{fill:var(--_ui5-v1-22-0-rc-3_radio_button_checked_success_fill)}:host([value-state=\"Success\"]) .ui5-radio-svg-outer,:host([value-state=\"Success\"]) .ui5-radio-root:hover .ui5-radio-inner.ui5-radio-inner--hoverable:hover .ui5-radio-svg-outer{stroke:var(--sapField_SuccessColor);fill:var(--sapField_SuccessBackground)}:host([value-state=\"Success\"]) .ui5-radio-root:hover .ui5-radio-inner.ui5-radio-inner--hoverable .ui5-radio-svg-outer{fill:var(--_ui5-v1-22-0-rc-3_radio_button_hover_fill_success)}:host([value-state=\"Information\"][checked]) .ui5-radio-svg-inner{fill:var(--_ui5-v1-22-0-rc-3_radio_button_checked_information_fill)}:host([value-state=\"Information\"]) .ui5-radio-svg-outer,:host([value-state=\"Information\"]) .ui5-radio-root:hover .ui5-radio-inner.ui5-radio-inner--hoverable:hover .ui5-radio-svg-outer{stroke:var(--sapField_InformationColor);fill:var(--sapField_InformationBackground)}:host([value-state=\"Information\"]) .ui5-radio-root:hover .ui5-radio-inner.ui5-radio-inner--hoverable .ui5-radio-svg-outer{fill:var(--_ui5-v1-22-0-rc-3_radio_button_hover_fill_information)}:host([value-state=\"Error\"]) .ui5-radio-root,:host([value-state=\"Warning\"]) .ui5-radio-root,:host([value-state=\"Information\"]) .ui5-radio-root{stroke-dasharray:var(--_ui5-v1-22-0-rc-3_radio_button_warning_error_border_dash)}.ui5-radio-root{height:var(--_ui5-v1-22-0-rc-3_radio_button_height);position:relative;display:inline-flex;flex-wrap:nowrap;outline:none;max-width:100%;box-sizing:border-box;border:var(--_ui5-v1-22-0-rc-3_radio_button_border);border-radius:var(--_ui5-v1-22-0-rc-3_radio_button_border_radius)}.ui5-radio-inner{display:flex;align-items:center;padding:var(--_ui5-v1-22-0-rc-3_radio_button_outer_ring_padding);flex-shrink:0;height:var(--_ui5-v1-22-0-rc-3_radio_button_inner_size);font-size:1rem;pointer-events:none;vertical-align:top}.ui5-radio-inner{outline:none}.ui5-radio-inner input{-webkit-appearance:none;visibility:hidden;width:0;left:0;position:absolute;font-size:inherit;margin:0}[ui5-label].ui5-radio-label{display:flex;align-items:center;padding-inline-end:var(--_ui5-v1-22-0-rc-3_radio_button_label_offset);vertical-align:top;max-width:100%;text-overflow:ellipsis;overflow:hidden;pointer-events:none;color:var(--_ui5-v1-22-0-rc-3_radio_button_label_color)}:host([wrapping-type=\"Normal\"][text]) .ui5-radio-root{height:auto}:host([wrapping-type=\"Normal\"][text]) [ui5-label].ui5-radio-label{padding:var(--_ui5-v1-22-0-rc-3_radio_button_label_side_padding) 0;overflow-wrap:break-word}.ui5-radio-svg{height:var(--_ui5-v1-22-0-rc-3_radio_button_svg_size);width:var(--_ui5-v1-22-0-rc-3_radio_button_svg_size);overflow:visible;pointer-events:none}.ui5-radio-svg-outer{fill:var(--_ui5-v1-22-0-rc-3_radio_button_outer_ring_bg);stroke:currentColor;stroke-width:var(--_ui5-v1-22-0-rc-3_radio_button_outer_ring_width)}.ui5-radio-svg-inner{fill:none;r:var(--_ui5-v1-22-0-rc-3_radio_button_inner_ring_radius)}.ui5-radio-svg-outer,.ui5-radio-svg-inner{flex-shrink:0}:host(.ui5-li-singlesel-radiobtn) .ui5-radio-root .ui5-radio-inner .ui5-radio-svg-outer{fill:var(--sapList_Background)}\n`};\nexport default styleData;\n\t","import { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getFeature } from \"@ui5/webcomponents-base/dist/FeaturesRegistry.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport {\n\tisSpace,\n\tisEnter,\n\tisDown,\n\tisLeft,\n\tisUp,\n\tisRight,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport Label from \"./Label.js\";\nimport RadioButtonGroup from \"./RadioButtonGroup.js\";\nimport WrappingType from \"./types/WrappingType.js\";\nimport type { IFormElement } from \"./features/InputElementsFormSupport.js\";\nimport type FormSupport from \"./features/InputElementsFormSupport.js\";\n\n// Template\nimport RadioButtonTemplate from \"./generated/templates/RadioButtonTemplate.lit.js\";\n\n// i18n\nimport {\n\tVALUE_STATE_ERROR,\n\tVALUE_STATE_WARNING,\n\tVALUE_STATE_SUCCESS,\n\tVALUE_STATE_INFORMATION,\n\tRADIO_BUTTON_GROUP_REQUIRED,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport radioButtonCss from \"./generated/themes/RadioButton.css.js\";\n\nlet isGlobalHandlerAttached = false;\nlet activeRadio: RadioButton;\n\n/**\n * @class\n *\n *

    Overview

    \n *\n * The ui5-radio-button component enables users to select a single option from a set of options.\n * When a ui5-radio-button is selected by the user, the\n * change event is fired.\n * When a ui5-radio-button that is within a group is selected, the one\n * that was previously selected gets automatically deselected. You can group radio buttons by using the name property.\n *
    \n * Note: If ui5-radio-button is not part of a group, it can be selected once, but can not be deselected back.\n *\n *

    Keyboard Handling

    \n *\n * Once the ui5-radio-button is on focus, it might be selected by pressing the Space and Enter keys.\n *
    \n * The Arrow Down/Arrow Up and Arrow Left/Arrow Right keys can be used to change selection between next/previous radio buttons in one group,\n * while TAB and SHIFT + TAB can be used to enter or leave the radio button group.\n *
    \n * Note: On entering radio button group, the focus goes to the currently selected radio button.\n *\n *

    ES6 Module Import

    \n *\n * import \"@ui5/webcomponents/dist/RadioButton\";\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n\ttag: \"ui5-radio-button\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: RadioButtonTemplate,\n\tstyles: radioButtonCss,\n\tdependencies: [Label],\n})\n/**\n * Fired when the component checked state changes.\n *\n * @public\n * @since 1.0.0-rc.15\n */\n@event(\"change\")\n\nclass RadioButton extends UI5Element implements IFormElement {\n\t/**\n\t * Defines whether the component is disabled.\n\t *

    \n\t * Note: A disabled component is completely noninteractive.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Defines whether the component is read-only.\n\t *

    \n\t * Note: A read-only component is not editable,\n\t * but still provides visual feedback upon user interaction.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly!: boolean;\n\n\t/**\n\t * Defines whether the component is required.\n\t *\n\t * @default false\n\t * @public\n\t * @since 1.9.0\n\t */\n\t@property({ type: Boolean })\n\trequired!: boolean;\n\n\t/**\n\t * Defines whether the component is checked or not.\n\t *

    \n\t * Note: The property value can be changed with user interaction,\n\t * either by clicking/tapping on the component,\n\t * or by using the Space or Enter key.\n\t *\n\t * @default false\n\t * @formEvents change\n\t * @formProperty\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ type: Boolean })\n\tchecked!: boolean;\n\n\t/**\n\t * Defines the text of the component.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ttext!: string;\n\n\t/**\n\t * Defines the value state of the component.\n\t *\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tvalueState!: `${ValueState}`;\n\n\t/**\n\t * Defines the name of the component.\n\t * Radio buttons with the same name will form a radio button group.\n\t *\n\t *

    \n\t * Note:\n\t * The selection can be changed with ARROW_UP/DOWN and ARROW_LEFT/RIGHT keys between radio buttons in same group.\n\t *\n\t *

    \n\t * Note:\n\t * Only one radio button can be selected per group.\n\t *\n\t *

    \n\t * Important: For the name property to have effect when submitting forms, you must add the following import to your project:\n\t * import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";\n\t *\n\t *

    \n\t * Note: When set, a native input HTML element\n\t * will be created inside the component so that it can be submitted as\n\t * part of an HTML form.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tname!: string;\n\n\t/**\n\t * Defines the form value of the component.\n\t * When a form with a radio button group is submitted, the group's value\n\t * will be the value of the currently selected radio button.\n\t *
    \n\t * Important: For the value property to have effect, you must add the following import to your project:\n\t * import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tvalue!: string;\n\n\t/**\n\t * Defines whether the component text wraps when there is not enough space.\n\t *
    Note: for option \"Normal\" the text will wrap and the words will not be broken based on hyphenation.\n\t *\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property({ type: WrappingType, defaultValue: WrappingType.None })\n\twrappingType!: `${WrappingType}`;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t *\n\t * @default \"\"\n\t * @public\n\t * @since 1.6.0\n\t */\n\t@property()\n\taccessibleName!: string;\n\n\t/**\n\t * Defines the IDs of the elements that label the component.\n\t *\n\t * @default \"\"\n\t * @public\n\t * @since 1.1.0\n\t */\n\t@property()\n\taccessibleNameRef!: string;\n\n\t@property({ defaultValue: \"-1\", noAttribute: true })\n\t_tabIndex!: string;\n\n\t/**\n\t * Defines the active state (pressed or not) of the component.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tactive!: boolean;\n\n\t/**\n\t * The slot is used to render native input HTML element within Light DOM to enable form submit,\n\t * when name property is set.\n\t * @private\n\t */\n\t@slot()\n\tformSupport!: Array;\n\n\t_deactivate: () => void;\n\t_name!: string;\n\t_checked!: boolean;\n\t_internals: ElementInternals;\n\n\tstatic get formAssociated() {\n\t\treturn true;\n\t}\n\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._internals = this.attachInternals();\n\n\t\tthis._deactivate = () => {\n\t\t\tif (activeRadio) {\n\t\t\t\tactiveRadio.active = false;\n\t\t\t}\n\t\t};\n\n\t\tif (!isGlobalHandlerAttached) {\n\t\t\tdocument.addEventListener(\"mouseup\", this._deactivate);\n\t\t\tisGlobalHandlerAttached = true;\n\t\t}\n\t}\n\n\tstatic async onDefine() {\n\t\tRadioButton.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tonBeforeRendering() {\n\t\tthis.syncGroup();\n\n\t\tthis._enableFormSupport();\n\t}\n\n\tonExitDOM() {\n\t\tthis.syncGroup(true);\n\t}\n\n\tsyncGroup(forceRemove?: boolean) {\n\t\tconst oldGroup = this._name;\n\t\tconst currentGroup = this.name;\n\t\tconst oldChecked = this._checked;\n\t\tconst currentChecked = this.checked;\n\n\t\tif (forceRemove) {\n\t\t\tRadioButtonGroup.removeFromGroup(this, oldGroup);\n\t\t}\n\n\t\tif (currentGroup !== oldGroup) {\n\t\t\tif (oldGroup) {\n\t\t\t\t// remove the control from the previous group\n\t\t\t\tRadioButtonGroup.removeFromGroup(this, oldGroup);\n\t\t\t}\n\n\t\t\tif (currentGroup) {\n\t\t\t\t// add the control to the existing group\n\t\t\t\tRadioButtonGroup.addToGroup(this, currentGroup);\n\t\t\t}\n\t\t} else if (currentGroup) {\n\t\t\tRadioButtonGroup.enforceSingleSelection(this, currentGroup);\n\t\t}\n\n\t\tif (this.name && currentChecked !== oldChecked) {\n\t\t\tRadioButtonGroup.updateTabOrder(this.name);\n\t\t}\n\n\t\tthis._name = this.name;\n\t\tthis._checked = this.checked;\n\t}\n\n\t_enableFormSupport() {\n\t\tconst formSupport = getFeature(\"FormSupport\");\n\n\t\tif (formSupport) {\n\t\t\tthis._setFormValue();\n\t\t} else if (this.value) {\n\t\t\tconsole.warn(`In order for the \"value\" property to have effect, you should also: import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";`); // eslint-disable-line\n\t\t}\n\t}\n\n\t_setFormValue() {\n\t\tthis._internals.setFormValue(this.checked ? this.value : null);\n\t}\n\n\t_resetFormValidity() {\n\t\tthis._internals.setValidity({});\n\t}\n\n\t_invalidateForm() {\n\t\tthis._internals.setValidity(\n\t\t\t{ valueMissing: true },\n\t\t\tthis.radioButtonGroupRequiredText,\n\t\t\tthis.shadowRoot!.firstElementChild as HTMLElement,\n\t\t);\n\t}\n\n\t_onclick() {\n\t\treturn this.toggle();\n\t}\n\n\t_handleDown(e: KeyboardEvent) {\n\t\tconst currentGroup = this.name;\n\n\t\tif (!currentGroup) {\n\t\t\treturn;\n\t\t}\n\n\t\te.preventDefault();\n\t\tRadioButtonGroup.selectNextItem(this, currentGroup);\n\t}\n\n\t_handleUp(e: KeyboardEvent) {\n\t\tconst currentGroup = this.name;\n\n\t\tif (!currentGroup) {\n\t\t\treturn;\n\t\t}\n\n\t\te.preventDefault();\n\t\tRadioButtonGroup.selectPreviousItem(this, currentGroup);\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis.active = true;\n\t\t\treturn e.preventDefault();\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis.active = true;\n\t\t\treturn this.toggle();\n\t\t}\n\n\t\tconst isRTL = this.effectiveDir === \"rtl\";\n\n\t\tif (isDown(e) || (!isRTL && isRight(e)) || (isRTL && isLeft(e))) {\n\t\t\tthis._handleDown(e);\n\t\t}\n\n\t\tif (isUp(e) || (!isRTL && isLeft(e)) || (isRTL && isRight(e))) {\n\t\t\tthis._handleUp(e);\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis.toggle();\n\t\t}\n\n\t\tthis.active = false;\n\t}\n\n\t_onmousedown() {\n\t\tthis.active = true;\n\t\tactiveRadio = this; // eslint-disable-line\n\t}\n\n\t_onmouseup() {\n\t\tthis.active = false;\n\t}\n\n\t_onfocusout() {\n\t\tthis.active = false;\n\t}\n\n\ttoggle() {\n\t\tif (!this.canToggle()) {\n\t\t\treturn this;\n\t\t}\n\n\t\tif (!this.name) {\n\t\t\tthis.checked = !this.checked;\n\t\t\tthis.fireEvent(\"change\");\n\t\t\treturn this;\n\t\t}\n\n\t\tRadioButtonGroup.selectItem(this, this.name);\n\t\treturn this;\n\t}\n\n\tcanToggle() {\n\t\treturn !(this.disabled || this.readonly || this.checked);\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\tinner: {\n\t\t\t\t\"ui5-radio-inner--hoverable\": !this.disabled && !this.readonly && isDesktop(),\n\t\t\t},\n\t\t};\n\t}\n\n\tget effectiveAriaDisabled() {\n\t\treturn this.disabled ? \"true\" : null;\n\t}\n\n\tget ariaLabelText() {\n\t\treturn [getEffectiveAriaLabelText(this), this.text].filter(Boolean).join(\" \");\n\t}\n\n\tget effectiveAriaDescribedBy() {\n\t\treturn this.hasValueState ? `${this._id}-descr` : undefined;\n\t}\n\n\tget hasValueState() {\n\t\treturn this.valueState !== ValueState.None;\n\t}\n\n\tget valueStateText() {\n\t\tswitch (this.valueState) {\n\t\tcase ValueState.Error:\n\t\t\treturn RadioButton.i18nBundle.getText(VALUE_STATE_ERROR);\n\t\tcase ValueState.Warning:\n\t\t\treturn RadioButton.i18nBundle.getText(VALUE_STATE_WARNING);\n\t\tcase ValueState.Success:\n\t\t\treturn RadioButton.i18nBundle.getText(VALUE_STATE_SUCCESS);\n\t\tcase ValueState.Information:\n\t\t\treturn RadioButton.i18nBundle.getText(VALUE_STATE_INFORMATION);\n\t\tdefault:\n\t\t\treturn \"\";\n\t\t}\n\t}\n\n\tget radioButtonGroupRequiredText(): string {\n\t\treturn RadioButton.i18nBundle.getText(RADIO_BUTTON_GROUP_REQUIRED);\n\t}\n\n\tget effectiveTabIndex() {\n\t\tconst tabindex = this.getAttribute(\"tabindex\");\n\n\t\tif (this.disabled) {\n\t\t\treturn \"-1\";\n\t\t}\n\n\t\tif (this.name) {\n\t\t\treturn this._tabIndex;\n\t\t}\n\n\t\treturn tabindex || \"0\";\n\t}\n\n\tget strokeWidth() {\n\t\treturn this.valueState === \"None\" ? \"1\" : \"2\";\n\t}\n}\n\nRadioButton.define();\n\nexport default RadioButton;\n","import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport type { ClassMap } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport {\n\tisTabNext,\n\tisSpace,\n\tisEnter,\n\tisTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport NavigationMode from \"@ui5/webcomponents-base/dist/types/NavigationMode.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport getNormalizedTarget from \"@ui5/webcomponents-base/dist/util/getNormalizedTarget.js\";\nimport getEffectiveScrollbarStyle from \"@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport debounce from \"@ui5/webcomponents-base/dist/util/debounce.js\";\nimport isElementInView from \"@ui5/webcomponents-base/dist/util/isElementInView.js\";\nimport ListMode from \"./types/ListMode.js\";\nimport ListGrowingMode from \"./types/ListGrowingMode.js\";\nimport ListItemBase from \"./ListItemBase.js\";\nimport type ListItem from \"./ListItem.js\";\nimport type {\n\tSelectionRequestEventDetail,\n\tPressEventDetail,\n} from \"./ListItem.js\";\nimport ListSeparators from \"./types/ListSeparators.js\";\nimport BusyIndicator from \"./BusyIndicator.js\";\n\n// Template\nimport ListTemplate from \"./generated/templates/ListTemplate.lit.js\";\n\n// Styles\nimport listCss from \"./generated/themes/List.css.js\";\nimport browserScrollbarCSS from \"./generated/themes/BrowserScrollbar.css.js\";\n\n// Texts\nimport {\n\tLOAD_MORE_TEXT, ARIA_LABEL_LIST_SELECTABLE,\n\tARIA_LABEL_LIST_MULTISELECTABLE,\n\tARIA_LABEL_LIST_DELETABLE,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport CheckBox from \"./CheckBox.js\";\nimport RadioButton from \"./RadioButton.js\";\n\nconst INFINITE_SCROLL_DEBOUNCE_RATE = 250; // ms\n\nconst PAGE_UP_DOWN_SIZE = 10;\n\n// ListItemBase-based events\ntype ListItemFocusEventDetail = {\n\titem: ListItemBase,\n}\n\ntype ListSelectionChangeEventDetail = {\n\tselectedItems: Array;\n\tpreviouslySelectedItems: Array;\n\tselectionComponentPressed: boolean;\n\ttargetItem: ListItemBase;\n\tkey?: string;\n}\n\ntype ListItemDeleteEventDetail = {\n\titem: ListItemBase,\n}\n\n// ListItem-based events\ntype ListItemCloseEventDetail = {\n\titem: ListItemBase,\n}\n\ntype ListItemToggleEventDetail = {\n\titem: ListItemBase,\n}\n\ntype ListItemClickEventDetail = {\n\titem: ListItemBase,\n}\n\n/**\n * @class\n *\n *

    Overview

    \n *\n * The ui5-list component allows displaying a list of items, advanced keyboard\n * handling support for navigating between items, and predefined modes to improve the development efficiency.\n *

    \n * The ui5-list is a container for the available list items:\n *
      \n *
    • ui5-li
    • \n *
    • ui5-li-custom
    • \n *
    • ui5-li-groupheader
    • \n *
    \n *

    \n * To benefit from the built-in selection mechanism, you can use the available\n * selection modes, such as\n * SingleSelect, MultiSelect and Delete.\n *

    \n * Additionally, the ui5-list provides header, footer, and customization for the list item separators.\n *\n *

    \n *

    Keyboard Handling

    \n *\n *

    Basic Navigation

    \n * The ui5-list provides advanced keyboard handling.\n * When a list is focused the user can use the following keyboard\n * shortcuts in order to perform a navigation:\n *
    \n *\n *
      \n *
    • [UP/DOWN] - Navigates up and down the items
    • \n *
    • [HOME] - Navigates to first item
    • \n *
    • [END] - Navigates to the last item
    • \n *
    \n *\n * The user can use the following keyboard shortcuts to perform actions (such as select, delete),\n * when the mode property is in use:\n *
      \n *
    • [SPACE] - Select an item (if type is 'Active') when mode is selection
    • \n *
    • [DELETE] - Delete an item if mode property is Delete
    • \n *
    \n *\n *

    Fast Navigation

    \n * This component provides a build in fast navigation group which can be used via F6 / Shift + F6 or Ctrl + Alt(Option) + Down / Ctrl + Alt(Option) + Up.\n * In order to use this functionality, you need to import the following module:\n * import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"\n *

    \n *\n *

    ES6 Module Import

    \n *\n * import \"@ui5/webcomponents/dist/List.js\";\n *
    \n * import \"@ui5/webcomponents/dist/StandardListItem.js\"; (for ui5-li)\n *
    \n * import \"@ui5/webcomponents/dist/CustomListItem.js\"; (for ui5-li-custom)\n *
    \n * import \"@ui5/webcomponents/dist/GroupHeaderListItem.js\"; (for ui5-li-groupheader)\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n\ttag: \"ui5-list\",\n\tfastNavigation: true,\n\trenderer: litRender,\n\ttemplate: ListTemplate,\n\tstyles: [browserScrollbarCSS, listCss],\n\tdependencies: [BusyIndicator],\n})\n/**\n * Fired when an item is activated, unless the item's type property\n * is set to Inactive.\n *\n * @allowPreventDefault\n * @param {HTMLElement} item The clicked item.\n * @public\n */\n@event(\"item-click\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: { type: HTMLElement },\n\t},\n})\n\n/**\n * Fired when the Close button of any item is clicked\n *

    \n * Note: This event is only applicable to list items that can be closed (such as notification list items),\n * not to be confused with item-delete.\n *\n * @param {HTMLElement} item the item about to be closed.\n * @public\n * @since 1.0.0-rc.8\n */\n@event(\"item-close\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: { type: HTMLElement },\n\t},\n})\n\n/**\n * Fired when the Toggle button of any item is clicked.\n *

    \n * Note: This event is only applicable to list items that can be toggled (such as notification group list items).\n *\n * @param {HTMLElement} item the toggled item.\n * @public\n * @since 1.0.0-rc.8\n */\n@event(\"item-toggle\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: { type: HTMLElement },\n\t},\n})\n\n/**\n * Fired when the Delete button of any item is pressed.\n *

    \n * Note: A Delete button is displayed on each item,\n * when the component mode property is set to Delete.\n *\n * @param {HTMLElement} item the deleted item.\n * @public\n */\n@event(\"item-delete\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: { type: HTMLElement },\n\t},\n})\n\n/**\n * Fired when selection is changed by user interaction\n * in SingleSelect, SingleSelectBegin, SingleSelectEnd and MultiSelect modes.\n *\n * @allowPreventDefault\n * @param {Array} selectedItems An array of the selected items.\n * @param {Array} previouslySelectedItems An array of the previously selected items.\n * @public\n */\n@event(\"selection-change\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tselectedItems: { type: Array },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tpreviouslySelectedItems: { type: Array },\n\t\t/**\n\t\t * protected, holds the event target item\n\t\t * @protected\n\t\t */\n\t\ttargetItem: { type: HTMLElement },\n\t\t/**\n\t\t * protected, indicates if the user used the selection components to change the selection\n\t\t * @protected\n\t\t */\n\t\tselectionComponentPressed: { type: Boolean },\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tkey: { type: String },\n\t},\n})\n\n/**\n * Fired when the user scrolls to the bottom of the list.\n *

    \n * Note: The event is fired when the growing='Scroll' property is enabled.\n *\n * @public\n * @since 1.0.0-rc.6\n */\n@event(\"load-more\")\n\n/**\n * @private\n */\n@event(\"item-focused\", {\n\tdetail: {\n\t\titem: { type: HTMLElement },\n\t},\n})\nclass List extends UI5Element {\n\t/**\n\t * Defines the component header text.\n\t *

    \n\t * Note: If header is set this property is ignored.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\theaderText!: string;\n\n\t/**\n\t * Defines the footer text.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tfooterText!: string;\n\n\t/**\n\t * Determines whether the component is indented.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tindent!: boolean;\n\n\t/**\n\t * Defines the mode of the component.\n\t *\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property({ type: ListMode, defaultValue: ListMode.None })\n\tmode!: `${ListMode}`;\n\n\t/**\n\t * Defines the text that is displayed when the component contains no items.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tnoDataText!: string;\n\n\t/**\n\t * Defines the item separator style that is used.\n\t *\n\t * @default \"All\"\n\t * @public\n\t */\n\t@property({ type: ListSeparators, defaultValue: ListSeparators.All })\n\tseparators!: `${ListSeparators}`;\n\n\t/**\n\t * Defines whether the component will have growing capability either by pressing a More button,\n\t * or via user scroll. In both cases load-more event is fired.\n\t *

    \n\t * Restrictions: growing=\"Scroll\" is not supported for Internet Explorer,\n\t * on IE the component will fallback to growing=\"Button\".\n\t * @default \"None\"\n\t * @since 1.0.0-rc.13\n\t * @public\n\t */\n\t@property({ type: ListGrowingMode, defaultValue: ListGrowingMode.None })\n\tgrowing!: `${ListGrowingMode}`;\n\n\t/**\n\t * Defines if the component would display a loading indicator over the list.\n\t *\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.6\n\t */\n\t@property({ type: Boolean })\n\tbusy!: boolean;\n\n\t/**\n\t * Defines the delay in milliseconds, after which the busy indicator will show up for this component.\n\t *\n\t * @default 1000\n\t * @public\n\t */\n\t@property({ validator: Integer, defaultValue: 1000 })\n\tbusyDelay!: number;\n\n\t/**\n\t * Defines the accessible name of the component.\n\t *\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleName!: string;\n\n\t/**\n\t * Defines the IDs of the elements that label the input.\n\t *\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ defaultValue: \"\" })\n\taccessibleNameRef!: string;\n\n\t/**\n\t * Defines the accessible role of the component.\n\t *

    \n\t * @public\n\t * @default \"list\"\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ defaultValue: \"list\" })\n\taccessibleRole!: string;\n\n\t/**\n\t * Defines the description for the accessible role of the component.\n\t * @protected\n\t * @default undefined\n\t * @since 1.10.0\n\t */\n\t@property({ defaultValue: undefined, noAttribute: true })\n\taccessibleRoleDescription?: string;\n\n\t/**\n\t * Defines if the entire list is in view port.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_inViewport!: boolean;\n\n\t/**\n\t * Defines the active state of the More button.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_loadMoreActive!: boolean;\n\n\t/**\n\t * Defines the items of the component.\n\t *

    \n\t * Note: Use ui5-li, ui5-li-custom, and ui5-li-groupheader for the intended design.\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\titems!: Array;\n\n\t/**\n\t * Defines the component header.\n\t *

    \n\t * Note: When header is set, the\n\t * headerText property is ignored.\n\t *\n\t * @public\n\t */\n\t@slot()\n\theader!: Array;\n\n\tstatic i18nBundle: I18nBundle;\n\t_previouslyFocusedItem: ListItemBase | null;\n\t_forwardingFocus: boolean;\n\tresizeListenerAttached: boolean;\n\tlistEndObserved: boolean;\n\t_handleResize: ResizeObserverCallback;\n\tinitialIntersection: boolean;\n\t_selectionRequested?: boolean;\n\tgrowingIntersectionObserver?: IntersectionObserver | null;\n\t_itemNavigation: ItemNavigation;\n\t_beforeElement?: HTMLElement | null;\n\t_afterElement?: HTMLElement | null;\n\n\tstatic async onDefine() {\n\t\tList.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._previouslyFocusedItem = null;\n\n\t\t// Indicates that the List is forwarding the focus before or after the internal ul.\n\t\tthis._forwardingFocus = false;\n\n\t\t// Indicates that the List has already subscribed for resize.\n\t\tthis.resizeListenerAttached = false;\n\n\t\t// Indicates if the IntersectionObserver started observing the List\n\t\tthis.listEndObserved = false;\n\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tskipItemsSize: PAGE_UP_DOWN_SIZE, // PAGE_UP and PAGE_DOWN will skip trough 10 items\n\t\t\tnavigationMode: NavigationMode.Vertical,\n\t\t\tgetItemsCallback: () => this.getEnabledItems(),\n\t\t});\n\n\t\tthis._handleResize = this.checkListInViewport.bind(this);\n\n\t\tthis._handleResize = this.checkListInViewport.bind(this);\n\n\t\t// Indicates the List bottom most part has been detected by the IntersectionObserver\n\t\t// for the first time.\n\t\tthis.initialIntersection = true;\n\t}\n\n\tonExitDOM() {\n\t\tthis.unobserveListEnd();\n\t\tthis.resizeListenerAttached = false;\n\t\tResizeHandler.deregister(this.getDomRef()!, this._handleResize);\n\t}\n\n\tonBeforeRendering() {\n\t\tthis.prepareListItems();\n\t}\n\n\tonAfterRendering() {\n\t\tif (this.growsOnScroll) {\n\t\t\tthis.observeListEnd();\n\t\t} else if (this.listEndObserved) {\n\t\t\tthis.unobserveListEnd();\n\t\t}\n\n\t\tif (this.grows) {\n\t\t\tthis.checkListInViewport();\n\t\t\tthis.attachForResize();\n\t\t}\n\t}\n\n\tattachForResize() {\n\t\tif (!this.resizeListenerAttached) {\n\t\t\tthis.resizeListenerAttached = true;\n\t\t\tResizeHandler.register(this.getDomRef()!, this._handleResize);\n\t\t}\n\t}\n\n\tget shouldRenderH1() {\n\t\treturn !this.header.length && this.headerText;\n\t}\n\n\tget headerID() {\n\t\treturn `${this._id}-header`;\n\t}\n\n\tget modeLabelID() {\n\t\treturn `${this._id}-modeLabel`;\n\t}\n\n\tget listEndDOM() {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-list-end-marker\");\n\t}\n\n\tget hasData() {\n\t\treturn this.getItems().length !== 0;\n\t}\n\n\tget showNoDataText() {\n\t\treturn !this.hasData && this.noDataText;\n\t}\n\n\tget isDelete() {\n\t\treturn this.mode === ListMode.Delete;\n\t}\n\n\tget isSingleSelect() {\n\t\treturn [\n\t\t\tListMode.SingleSelect,\n\t\t\tListMode.SingleSelectBegin,\n\t\t\tListMode.SingleSelectEnd,\n\t\t\tListMode.SingleSelectAuto,\n\t\t].includes(this.mode as ListMode);\n\t}\n\n\tget isMultiSelect() {\n\t\treturn this.mode === ListMode.MultiSelect;\n\t}\n\n\tget ariaLabelledBy() {\n\t\tif (this.accessibleNameRef || this.accessibleName) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst ids = [];\n\n\t\tif (this.isMultiSelect || this.isSingleSelect || this.isDelete) {\n\t\t\tids.push(this.modeLabelID);\n\t\t}\n\n\t\tif (this.shouldRenderH1) {\n\t\t\tids.push(this.headerID);\n\t\t}\n\n\t\treturn ids.length ? ids.join(\" \") : undefined;\n\t}\n\n\tget ariaLabelTxt() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget ariaLabelModeText(): string {\n\t\tif (this.hasData) {\n\t\t\tif (this.isMultiSelect) {\n\t\t\t\treturn List.i18nBundle.getText(ARIA_LABEL_LIST_MULTISELECTABLE);\n\t\t\t}\n\t\t\tif (this.isSingleSelect) {\n\t\t\t\treturn List.i18nBundle.getText(ARIA_LABEL_LIST_SELECTABLE);\n\t\t\t}\n\t\t\tif (this.isDelete) {\n\t\t\t\treturn List.i18nBundle.getText(ARIA_LABEL_LIST_DELETABLE);\n\t\t\t}\n\t\t}\n\n\t\treturn \"\";\n\t}\n\n\tget grows() {\n\t\treturn this.growing !== ListGrowingMode.None;\n\t}\n\n\tget growsOnScroll() {\n\t\treturn this.growing === ListGrowingMode.Scroll;\n\t}\n\n\tget growsWithButton() {\n\t\treturn this.growing === ListGrowingMode.Button;\n\t}\n\n\tget _growingButtonText(): string {\n\t\treturn List.i18nBundle.getText(LOAD_MORE_TEXT);\n\t}\n\n\tget busyIndPosition() {\n\t\tif (!this.grows) {\n\t\t\treturn \"absolute\";\n\t\t}\n\n\t\treturn this._inViewport ? \"absolute\" : \"sticky\";\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\tbusyInd: {\n\t\t\t\tposition: this.busyIndPosition,\n\t\t\t},\n\t\t};\n\t}\n\n\tget classes(): ClassMap {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-list-root\": true,\n\t\t\t\t\"ui5-content-native-scrollbars\": getEffectiveScrollbarStyle(),\n\t\t\t},\n\t\t};\n\t}\n\n\tprepareListItems() {\n\t\tconst slottedItems = this.getItemsForProcessing();\n\n\t\tslottedItems.forEach((item, key) => {\n\t\t\tconst isLastChild = key === slottedItems.length - 1;\n\t\t\tconst showBottomBorder = this.separators === ListSeparators.All\n\t\t\t\t|| (this.separators === ListSeparators.Inner && !isLastChild);\n\n\t\t\tif (item.hasConfigurableMode) {\n\t\t\t\t(item as ListItem)._mode = this.mode;\n\t\t\t}\n\t\t\titem.hasBorder = showBottomBorder;\n\t\t});\n\t}\n\n\tasync observeListEnd() {\n\t\tif (!this.listEndObserved) {\n\t\t\tawait renderFinished();\n\t\t\tthis.getIntersectionObserver().observe(this.listEndDOM!);\n\t\t\tthis.listEndObserved = true;\n\t\t}\n\t}\n\n\tunobserveListEnd() {\n\t\tif (this.growingIntersectionObserver) {\n\t\t\tthis.growingIntersectionObserver.disconnect();\n\t\t\tthis.growingIntersectionObserver = null;\n\t\t\tthis.listEndObserved = false;\n\t\t}\n\t}\n\n\tonInteresection(entries: Array) {\n\t\tif (this.initialIntersection) {\n\t\t\tthis.initialIntersection = false;\n\t\t\treturn;\n\t\t}\n\t\tentries.forEach(entry => {\n\t\t\tif (entry.isIntersecting) {\n\t\t\t\tdebounce(this.loadMore.bind(this), INFINITE_SCROLL_DEBOUNCE_RATE);\n\t\t\t}\n\t\t});\n\t}\n\n\t/*\n\t* ITEM SELECTION BASED ON THE CURRENT MODE\n\t*/\n\tonSelectionRequested(e: CustomEvent) {\n\t\tconst previouslySelectedItems = this.getSelectedItems();\n\t\tlet selectionChange = false;\n\t\tthis._selectionRequested = true;\n\n\t\tif (this.mode !== ListMode.None && this[`handle${this.mode}`]) {\n\t\t\tselectionChange = this[`handle${this.mode}`](e.detail.item, !!e.detail.selected);\n\t\t}\n\n\t\tif (selectionChange) {\n\t\t\tconst changePrevented = !this.fireEvent(\"selection-change\", {\n\t\t\t\tselectedItems: this.getSelectedItems(),\n\t\t\t\tpreviouslySelectedItems,\n\t\t\t\tselectionComponentPressed: e.detail.selectionComponentPressed,\n\t\t\t\ttargetItem: e.detail.item,\n\t\t\t\tkey: e.detail.key,\n\t\t\t}, true);\n\t\t\tif (changePrevented) {\n\t\t\t\tthis._revertSelection(previouslySelectedItems);\n\t\t\t}\n\t\t}\n\t}\n\n\thandleSingleSelect(item: ListItemBase): boolean {\n\t\tif (item.selected) {\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.deselectSelectedItems();\n\t\titem.selected = true;\n\n\t\treturn true;\n\t}\n\n\thandleSingleSelectBegin(item: ListItemBase): boolean {\n\t\treturn this.handleSingleSelect(item);\n\t}\n\n\thandleSingleSelectEnd(item: ListItemBase): boolean {\n\t\treturn this.handleSingleSelect(item);\n\t}\n\n\thandleSingleSelectAuto(item: ListItemBase): boolean {\n\t\treturn this.handleSingleSelect(item);\n\t}\n\n\thandleMultiSelect(item: ListItemBase, selected: boolean): boolean {\n\t\titem.selected = selected;\n\t\treturn true;\n\t}\n\n\thandleDelete(item: ListItemBase): boolean {\n\t\tthis.fireEvent(\"item-delete\", { item });\n\n\t\treturn true;\n\t}\n\n\tdeselectSelectedItems() {\n\t\tthis.getSelectedItems().forEach(item => { item.selected = false; });\n\t}\n\n\tgetSelectedItems(): Array {\n\t\treturn this.getItems().filter(item => item.selected);\n\t}\n\n\tgetEnabledItems(): Array {\n\t\treturn this.getItems().filter(item => !item.disabled);\n\t}\n\n\tgetItems(): Array {\n\t\treturn this.getSlottedNodes(\"items\");\n\t}\n\n\tgetItemsForProcessing(): Array {\n\t\treturn this.getItems();\n\t}\n\n\t_revertSelection(previouslySelectedItems: Array) {\n\t\tthis.getItems().forEach((item: ListItemBase) => {\n\t\t\tconst oldSelection = previouslySelectedItems.indexOf(item) !== -1;\n\t\t\tconst multiSelectCheckBox = item.shadowRoot!.querySelector(\".ui5-li-multisel-cb\");\n\t\t\tconst singleSelectRadioButton = item.shadowRoot!.querySelector(\".ui5-li-singlesel-radiobtn\");\n\n\t\t\titem.selected = oldSelection;\n\t\t\tif (multiSelectCheckBox) {\n\t\t\t\tmultiSelectCheckBox.checked = oldSelection;\n\t\t\t} else if (singleSelectRadioButton) {\n\t\t\t\tsingleSelectRadioButton.checked = oldSelection;\n\t\t\t}\n\t\t});\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isTabNext(e)) {\n\t\t\tthis._handleTabNext(e);\n\t\t}\n\t}\n\n\t_onLoadMoreKeydown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._loadMoreActive = true;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._onLoadMoreClick();\n\t\t\tthis._loadMoreActive = true;\n\t\t}\n\n\t\tif (isTabNext(e)) {\n\t\t\tthis.focusAfterElement();\n\t\t}\n\n\t\tif (isTabPrevious(e)) {\n\t\t\tif (this.getPreviouslyFocusedItem()) {\n\t\t\t\tthis.focusPreviouslyFocusedItem();\n\t\t\t} else {\n\t\t\t\tthis.focusFirstItem();\n\t\t\t}\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onLoadMoreKeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._onLoadMoreClick();\n\t\t}\n\t\tthis._loadMoreActive = false;\n\t}\n\n\t_onLoadMoreMousedown() {\n\t\tthis._loadMoreActive = true;\n\t}\n\n\t_onLoadMoreMouseup() {\n\t\tthis._loadMoreActive = false;\n\t}\n\n\t_onLoadMoreClick() {\n\t\tthis.loadMore();\n\t}\n\n\tcheckListInViewport() {\n\t\tthis._inViewport = isElementInView(this.getDomRef()!);\n\t}\n\n\tloadMore() {\n\t\tthis.fireEvent(\"load-more\");\n\t}\n\n\t/*\n\t* KEYBOARD SUPPORT\n\t*/\n\t_handleTabNext(e: KeyboardEvent) {\n\t\tlet lastTabbableEl;\n\t\tconst target = getNormalizedTarget(e.target as HTMLElement);\n\n\t\tif (!lastTabbableEl) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (lastTabbableEl === target) {\n\t\t\tif (this.getFirstItem(x => x.selected && !x.disabled)) {\n\t\t\t\tthis.focusFirstSelectedItem();\n\t\t\t} else if (this.getPreviouslyFocusedItem()) {\n\t\t\t\tthis.focusPreviouslyFocusedItem();\n\t\t\t} else {\n\t\t\t\tthis.focusFirstItem();\n\t\t\t}\n\n\t\t\te.stopImmediatePropagation();\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tconst target = getNormalizedTarget(e.target as HTMLElement);\n\t\t// If the focusin event does not origin from one of the 'triggers' - ignore it.\n\t\tif (!this.isForwardElement(target)) {\n\t\t\te.stopImmediatePropagation();\n\t\t\treturn;\n\t\t}\n\n\t\t// The focus arrives in the List for the first time.\n\t\t// If there is selected item - focus it or focus the first item.\n\t\tif (!this.getPreviouslyFocusedItem()) {\n\t\t\tif (this.growsWithButton && this.isForwardAfterElement(target)) {\n\t\t\t\tthis.focusGrowingButton();\n\t\t\t} else {\n\t\t\t\tthis.focusFirstItem();\n\t\t\t}\n\t\t\te.stopImmediatePropagation();\n\t\t\treturn;\n\t\t}\n\n\t\t// The focus returns to the List,\n\t\t// focus the first selected item or the previously focused element.\n\t\tif (!this.getForwardingFocus()) {\n\t\t\tif (this.growsWithButton && this.isForwardAfterElement(target)) {\n\t\t\t\tthis.focusGrowingButton();\n\t\t\t\te.stopImmediatePropagation();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.focusPreviouslyFocusedItem();\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis.setForwardingFocus(false);\n\t}\n\n\tisForwardElement(element: HTMLElement) {\n\t\tconst elementId = element.id;\n\t\tconst beforeElement = this.getBeforeElement();\n\n\t\tif (this._id === elementId || (beforeElement && beforeElement.id === elementId)) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn this.isForwardAfterElement(element);\n\t}\n\n\tisForwardAfterElement(element: HTMLElement) {\n\t\tconst elementId = element.id;\n\t\tconst afterElement = this.getAfterElement();\n\n\t\treturn afterElement && afterElement.id === elementId;\n\t}\n\n\tonItemTabIndexChange(e: CustomEvent) {\n\t\tconst target = e.target as ListItemBase;\n\t\tthis._itemNavigation.setCurrentItem(target);\n\t}\n\n\tonItemFocused(e: CustomEvent) {\n\t\tconst target = e.target as ListItemBase;\n\n\t\te.stopPropagation();\n\n\t\tthis._itemNavigation.setCurrentItem(target);\n\t\tthis.fireEvent(\"item-focused\", { item: target });\n\n\t\tif (this.mode === ListMode.SingleSelectAuto) {\n\t\t\tconst detail: SelectionRequestEventDetail = {\n\t\t\t\titem: target,\n\t\t\t\tselectionComponentPressed: false,\n\t\t\t\tselected: true,\n\t\t\t\tkey: e.detail.key,\n\t\t\t};\n\n\t\t\tthis.onSelectionRequested({ detail } as CustomEvent);\n\t\t}\n\t}\n\n\tonItemPress(e: CustomEvent) {\n\t\tconst pressedItem = e.detail.item;\n\n\t\tif (!this.fireEvent(\"item-click\", { item: pressedItem }, true)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._selectionRequested && this.mode !== ListMode.Delete) {\n\t\t\tthis._selectionRequested = true;\n\t\t\tconst detail: SelectionRequestEventDetail = {\n\t\t\t\titem: pressedItem,\n\t\t\t\tselectionComponentPressed: false,\n\t\t\t\tselected: !pressedItem.selected,\n\t\t\t\tkey: e.detail.key,\n\t\t\t};\n\n\t\t\tthis.onSelectionRequested({ detail } as CustomEvent);\n\t\t}\n\n\t\tthis._selectionRequested = false;\n\t}\n\n\t// This is applicable to NotificationListItem\n\tonItemClose(e: CustomEvent) {\n\t\tconst target = e.target as UI5Element | null;\n\t\tconst shouldFireItemClose = target?.hasAttribute(\"ui5-li-notification\") || target?.hasAttribute(\"ui5-li-notification-group\");\n\n\t\tif (shouldFireItemClose) {\n\t\t\tthis.fireEvent(\"item-close\", { item: e.detail?.item });\n\t\t}\n\t}\n\n\tonItemToggle(e: CustomEvent) {\n\t\tthis.fireEvent(\"item-toggle\", { item: e.detail.item });\n\t}\n\n\tonForwardBefore(e: CustomEvent) {\n\t\tthis.setPreviouslyFocusedItem(e.target as ListItemBase);\n\t\tthis.focusBeforeElement();\n\t\te.stopPropagation();\n\t}\n\n\tonForwardAfter(e: CustomEvent) {\n\t\tthis.setPreviouslyFocusedItem(e.target as ListItemBase);\n\n\t\tif (!this.growsWithButton) {\n\t\t\tthis.focusAfterElement();\n\t\t} else {\n\t\t\tthis.focusGrowingButton();\n\t\t\te.preventDefault();\n\t\t}\n\n\t\te.stopPropagation();\n\t}\n\n\tfocusBeforeElement() {\n\t\tthis.setForwardingFocus(true);\n\t\tthis.getBeforeElement().focus();\n\t}\n\n\tfocusAfterElement() {\n\t\tthis.setForwardingFocus(true);\n\t\tthis.getAfterElement().focus();\n\t}\n\n\tfocusGrowingButton() {\n\t\tconst growingBtn = this.getGrowingButton();\n\n\t\tif (growingBtn) {\n\t\t\tgrowingBtn.focus();\n\t\t}\n\t}\n\n\tgetGrowingButton() {\n\t\treturn this.shadowRoot!.querySelector(`[id=\"${this._id}-growing-btn\"]`) as HTMLElement;\n\t}\n\n\t/**\n\t * Focuses the first list item and sets its tabindex to \"0\" via the ItemNavigation\n\t * @protected\n\t */\n\tfocusFirstItem() {\n\t\t// only enabled items are focusable\n\t\tconst firstItem = this.getFirstItem(x => !x.disabled);\n\n\t\tif (firstItem) {\n\t\t\tfirstItem.focus();\n\t\t}\n\t}\n\n\tfocusPreviouslyFocusedItem() {\n\t\tconst previouslyFocusedItem = this.getPreviouslyFocusedItem();\n\n\t\tif (previouslyFocusedItem) {\n\t\t\tpreviouslyFocusedItem.focus();\n\t\t}\n\t}\n\n\tfocusFirstSelectedItem() {\n\t\t// only enabled items are focusable\n\t\tconst firstSelectedItem = this.getFirstItem(x => x.selected && !x.disabled);\n\n\t\tif (firstSelectedItem) {\n\t\t\tfirstSelectedItem.focus();\n\t\t}\n\t}\n\n\t/**\n\t * Focuses a list item and sets its tabindex to \"0\" via the ItemNavigation\n\t * @protected\n\t * @param item\n\t */\n\tfocusItem(item: ListItemBase) {\n\t\tthis._itemNavigation.setCurrentItem(item);\n\t\titem.focus();\n\t}\n\n\tonFocusRequested(e: CustomEvent) {\n\t\tsetTimeout(() => {\n\t\t\tthis.setPreviouslyFocusedItem(e.target as ListItemBase);\n\t\t\tthis.focusPreviouslyFocusedItem();\n\t\t}, 0);\n\t}\n\n\tsetForwardingFocus(forwardingFocus: boolean) {\n\t\tthis._forwardingFocus = forwardingFocus;\n\t}\n\n\tgetForwardingFocus() {\n\t\treturn this._forwardingFocus;\n\t}\n\n\tsetPreviouslyFocusedItem(item: ListItemBase) {\n\t\tthis._previouslyFocusedItem = item;\n\t}\n\n\tgetPreviouslyFocusedItem() {\n\t\treturn this._previouslyFocusedItem;\n\t}\n\n\tgetFirstItem(filter: (item: ListItemBase) => boolean): ListItemBase | null {\n\t\tconst slottedItems = this.getItems();\n\t\tlet firstItem = null;\n\n\t\tif (!filter) {\n\t\t\treturn slottedItems.length ? slottedItems[0] : null;\n\t\t}\n\n\t\tfor (let i = 0; i < slottedItems.length; i++) {\n\t\t\tif (filter(slottedItems[i])) {\n\t\t\t\tfirstItem = slottedItems[i];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn firstItem;\n\t}\n\n\tgetAfterElement() {\n\t\tif (!this._afterElement) {\n\t\t\tthis._afterElement = this.shadowRoot!.querySelector(`[id=\"${this._id}-after\"]`) as HTMLElement;\n\t\t}\n\t\treturn this._afterElement;\n\t}\n\n\tgetBeforeElement() {\n\t\tif (!this._beforeElement) {\n\t\t\tthis._beforeElement = this.shadowRoot!.querySelector(`[id=\"${this._id}-before\"]`) as HTMLElement;\n\t\t}\n\t\treturn this._beforeElement;\n\t}\n\n\tgetIntersectionObserver() {\n\t\tif (!this.growingIntersectionObserver) {\n\t\t\tthis.growingIntersectionObserver = new IntersectionObserver(this.onInteresection.bind(this), {\n\t\t\t\troot: null,\n\t\t\t\trootMargin: \"0px\",\n\t\t\t\tthreshold: 1.0,\n\t\t\t});\n\t\t}\n\n\t\treturn this.growingIntersectionObserver;\n\t}\n}\n\nList.define();\n\nexport default List;\nexport type {\n\tListItemClickEventDetail,\n\tListItemFocusEventDetail,\n\tListItemDeleteEventDetail,\n\tListItemCloseEventDetail,\n\tListItemToggleEventDetail,\n\tListSelectionChangeEventDetail,\n};\n","import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport type { IOption } from \"./Select.js\";\n/**\n * @class\n *\n *

    Overview

    \n *\n * The ui5-option component defines the content of an option in the ui5-select.\n *\n * @constructor\n * @extends UI5Element\n * @implements {IOption}\n * @public\n * @abstract\n */\n@customElement(\"ui5-option\")\nclass Option extends UI5Element implements IOption {\n\t/**\n\t * Defines the selected state of the component.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tselected!: boolean;\n\n\t/**\n\t * Defines whether the component is in disabled state.\n\t *

    \n\t * Note: A disabled component is hidden.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.12\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Defines the tooltip of the component.\n\t * @default \"\"\n\t * @private\n\t * @since 1.1.0\n\t */\n\t@property()\n\ttitle!: string;\n\n\t/**\n\t * Defines the icon source URI.\n\t *

    \n\t * Note:\n\t * SAP-icons font provides numerous built-in icons. To find all the available icons, see the\n\t * Icon Explorer.\n\t * @default null\n\t * @public\n\t */\n\t@property({ defaultValue: null })\n\ticon?: string | null;\n\n\t/**\n\t * Defines the value of the ui5-select inside an HTML Form element when this component is selected.\n\t * For more information on HTML Form support, see the name property of ui5-select.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tvalue!: string;\n\n\t/**\n\t * Defines the additional text displayed at the end of the option element.\n\t * @default \"\"\n\t * @public\n\t * @since 1.3.0\n\t */\n\t@property()\n\tadditionalText!: string;\n\n\t/**\n\t * Defines the focused state of the component.\n\t * @default false\n\t * @since 1.0.0-rc.13\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused!: boolean;\n\n\t/**\n\t * Defines the text of the component.\n\t *

    \n\t * Note: Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n\t *\n\t * @public\n\t */\n\t@slot({ type: Node, \"default\": true, invalidateOnChildChange: true })\n\ttext!: Array;\n\n\tget stableDomRef() {\n\t\treturn this.getAttribute(\"stable-dom-ref\") || `${this._id}-stable-dom-ref`;\n\t}\n}\n\nOption.define();\n\nexport default Option;\n","import getSharedResource from \"../getSharedResource.js\";\nimport { getFeature } from \"../FeaturesRegistry.js\";\nimport getActiveElement from \"./getActiveElement.js\";\nimport type OpenUI5Support from \"../features/OpenUI5Support.js\";\n\ntype PopupUtilsData = {\n\tcurrentZIndex: number\n};\n\nconst popupUtilsData = getSharedResource(\"PopupUtilsData\", { currentZIndex: 100 });\n\nconst getFocusedElement = () => {\n\tconst element = getActiveElement() as HTMLElement;\n\treturn (element && typeof element.focus === \"function\") ? element : null;\n};\n\nconst isFocusedElementWithinNode = (node: HTMLElement) => {\n\tconst fe = getFocusedElement();\n\n\tif (fe) {\n\t\treturn isNodeContainedWithin(node, fe);\n\t}\n\n\treturn false;\n};\n\nconst isNodeContainedWithin = (parent: HTMLElement, child: HTMLElement): boolean => {\n\tlet currentNode: HTMLElement | undefined = parent;\n\n\tif (currentNode.shadowRoot) {\n\t\tconst children = Array.from(currentNode.shadowRoot.children) as Array;\n\t\tcurrentNode = children.find(n => n.localName !== \"style\");\n\n\t\tif (!currentNode) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tif (currentNode === child) {\n\t\treturn true;\n\t}\n\n\tconst childNodes = currentNode.localName === \"slot\" ? (currentNode as HTMLSlotElement).assignedNodes() : currentNode.children;\n\n\tif (childNodes) {\n\t\treturn Array.from(childNodes).some(n => isNodeContainedWithin(n as HTMLElement, child));\n\t}\n\n\treturn false;\n};\n\nconst isPointInRect = (x: number, y: number, rect: DOMRect) => {\n\treturn x >= rect.left && x <= rect.right\n\t\t&& y >= rect.top && y <= rect.bottom;\n};\n\nconst isClickInRect = (e: MouseEvent | TouchEvent, rect: DOMRect) => {\n\tlet x;\n\tlet y;\n\n\tif (e instanceof MouseEvent) {\n\t\tx = e.clientX;\n\t\ty = e.clientY;\n\t} else {\n\t\tconst touch = e.touches[0];\n\t\tx = touch.clientX;\n\t\ty = touch.clientY;\n\t}\n\n\treturn isPointInRect(x, y, rect);\n};\n\ninterface PopupInterface { // Refactor: replace with Popup.js\n\t_show: () => void,\n\topen: boolean,\n}\nfunction instanceOfPopup(object: any): object is PopupInterface {\n\treturn \"isUI5Element\" in object && \"_show\" in object;\n}\n\nconst getClosedPopupParent = (el: HTMLElement): HTMLElement => {\n\tconst parent = el.parentElement || (el.getRootNode && (el.getRootNode() as ShadowRoot).host);\n\n\tif (parent && ((instanceOfPopup(parent) || parent === document.documentElement))) {\n\t\treturn parent as HTMLElement;\n\t}\n\n\treturn getClosedPopupParent(parent as HTMLElement);\n};\n\nconst getNextZIndex = () => {\n\tconst openUI5Support = getFeature(\"OpenUI5Support\");\n\tif (openUI5Support && openUI5Support.isOpenUI5Detected()) { // use OpenUI5 for getting z-index values, if loaded\n\t\treturn openUI5Support.getNextZIndex();\n\t}\n\n\tpopupUtilsData.currentZIndex += 2;\n\treturn popupUtilsData.currentZIndex;\n};\n\nconst getCurrentZIndex = () => {\n\treturn popupUtilsData.currentZIndex;\n};\n\nexport {\n\tgetFocusedElement,\n\tisClickInRect,\n\tgetClosedPopupParent,\n\tgetNextZIndex,\n\tgetCurrentZIndex,\n\tisFocusedElementWithinNode,\n};\n","/* eslint no-unused-vars: 0 */\nimport { html, svg, repeat, classMap, styleMap, ifDefined, unsafeHTML, scopeTag } from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\timport type ResponsivePopover from \"../../ResponsivePopover.js\";\n\timport type { ClassMapValue } from \"@ui5/webcomponents-base/dist/types.js\";\n\t\nfunction block0 (this: ResponsivePopover, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this._isPhone ? block1.call(this, context, tags, suffix) : block7.call(this, context, tags, suffix) }`;}\nfunction block1 (this: ResponsivePopover, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-dialog\", tags, suffix)} accessible-name=${ifDefined(this.accessibleName)} accessible-name-ref=${ifDefined(this.accessibleNameRef)} accessible-role=${ifDefined(this.accessibleRole)} stretch _disable-initial-focus @ui5-before-open=\"${ifDefined(this._beforeDialogOpen)}\" @ui5-after-open=\"${ifDefined(this._propagateDialogEvent)}\" @ui5-before-close=\"${ifDefined(this._propagateDialogEvent)}\" @ui5-after-close=\"${ifDefined(this._afterDialogClose)}\" exportparts=\"content, header, footer\">${ !this._hideHeader ? block2.call(this, context, tags, suffix) : undefined }` : html`${ !this._hideHeader ? block2.call(this, context, tags, suffix) : undefined }`;}\nfunction block2 (this: ResponsivePopover, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.header.length ? block3.call(this, context, tags, suffix) : block4.call(this, context, tags, suffix) }`;}\nfunction block3 (this: ResponsivePopover, context: UI5Element, tags: string[], suffix: string | undefined) { return html``;}\nfunction block4 (this: ResponsivePopover, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    ${ this.headerText ? block5.call(this, context, tags, suffix) : undefined }${ !this._hideCloseButton ? block6.call(this, context, tags, suffix) : undefined }
    `;}\nfunction block5 (this: ResponsivePopover, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-title\", tags, suffix)} level=\"H2\" class=\"ui5-popup-header-text ui5-responsive-popover-header-text\">${ifDefined(this.headerText)}` : html`${ifDefined(this.headerText)}`;}\nfunction block6 (this: ResponsivePopover, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-button\", tags, suffix)} icon=\"decline\" design=\"Transparent\" aria-label=\"${ifDefined(this._closeDialogAriaLabel)}\" @click=\"${this.close}\">` : html``;}\nfunction block7 (this: ResponsivePopover, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    ${ this._displayHeader ? block8.call(this, context, tags, suffix) : undefined }
    ${ this._displayFooter ? block11.call(this, context, tags, suffix) : undefined }
    `;}\nfunction block8 (this: ResponsivePopover, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    ${ this.header.length ? block9.call(this, context, tags, suffix) : block10.call(this, context, tags, suffix) }
    `;}\nfunction block9 (this: ResponsivePopover, context: UI5Element, tags: string[], suffix: string | undefined) { return html``;}\nfunction block10 (this: ResponsivePopover, context: UI5Element, tags: string[], suffix: string | undefined) { return html`

    ${ifDefined(this.headerText)}

    `;}\nfunction block11 (this: ResponsivePopover, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.footer.length ? block12.call(this, context, tags, suffix) : undefined }`;}\nfunction block12 (this: ResponsivePopover, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    `;}\n\n\nexport default block0;","/**\n * Returns a value clamped between an upper bound 'max' and lower bound 'min'.\n * @param {number} val value\n * @param {number} min lower bound\n * @param {number} max upper bound\n * @returns {number}\n */\nconst clamp = (val: number, min: number, max: number) => {\n\treturn Math.min(Math.max(val, min), max);\n};\n\nexport default clamp;\n","const isElementContainingBlock = (el: HTMLElement) => {\n\tconst computedStyle = getComputedStyle(el);\n\n\treturn [\"size\", \"inline-size\"].indexOf(computedStyle.containerType) > -1\n\t|| [\"transform\", \"perspective\"].indexOf(computedStyle.willChange) > -1\n\t|| [\"layout\", \"paint\", \"strict\", \"content\"].indexOf(computedStyle.contain) > -1\n\t|| (computedStyle.transform && computedStyle.transform !== \"none\")\n\t|| (computedStyle.perspective && computedStyle.perspective !== \"none\")\n\t|| (computedStyle.backdropFilter && computedStyle.backdropFilter !== \"none\");\n};\n\nexport default isElementContainingBlock;\n","const getParentElement = (el: HTMLElement) => {\n\treturn (el.parentElement ? el.parentNode : (el.parentNode as ShadowRoot).host) as HTMLElement;\n};\n\nexport default getParentElement;\n","const rClickable = /^(?:a|area)$/i;\nconst rFocusable = /^(?:input|select|textarea|button)$/i;\n\nconst isElementClickable = (el: HTMLElement): boolean => {\n\tif ((el as HTMLButtonElement).disabled) {\n\t\treturn false;\n\t}\n\n\tconst tabIndex = el.getAttribute(\"tabindex\");\n\tif (tabIndex !== null && tabIndex !== undefined) {\n\t\treturn parseInt(tabIndex) >= 0;\n\t}\n\n\treturn rFocusable.test(el.nodeName)\n\t\t|| (rClickable.test(el.nodeName)\n\t\t&& !!(el as HTMLLinkElement).href);\n};\n\nexport default isElementClickable;\n","import isElementHidden from \"./isElementHidden.js\";\nimport isElementClickable from \"./isElementClickable.js\";\nimport { instanceOfUI5Element } from \"../UI5Element.js\";\n\ntype FocusableElementPromise = Promise;\n\nconst isFocusTrap = (el: HTMLElement) => {\n\treturn el.hasAttribute(\"data-ui5-focus-trap\");\n};\n\nconst getFirstFocusableElement = async (container: HTMLElement, startFromContainer?: boolean): FocusableElementPromise => {\n\tif (!container || isElementHidden(container)) {\n\t\treturn null;\n\t}\n\n\treturn findFocusableElement(container, true, startFromContainer);\n};\n\nconst getLastFocusableElement = async (container: HTMLElement, startFromContainer?: boolean): FocusableElementPromise => {\n\tif (!container || isElementHidden(container)) {\n\t\treturn null;\n\t}\n\n\treturn findFocusableElement(container, false, startFromContainer);\n};\n\nconst isElemFocusable = (el: HTMLElement) => {\n\treturn el.hasAttribute(\"data-ui5-focus-redirect\") || !isElementHidden(el);\n};\n\nconst findFocusableElement = async (container: HTMLElement, forward: boolean, startFromContainer?: boolean): FocusableElementPromise => {\n\tlet child: HTMLElement | undefined;\n\tlet assignedElements;\n\tlet currentIndex = -1;\n\n\tif (container.shadowRoot) {\n\t\tchild = forward ? container.shadowRoot.firstChild as HTMLElement : container.shadowRoot.lastChild as HTMLElement;\n\t} else if (container instanceof HTMLSlotElement && container.assignedNodes()) {\n\t\tassignedElements = container.assignedNodes();\n\t\tcurrentIndex = forward ? 0 : assignedElements.length - 1;\n\t\tchild = assignedElements[currentIndex] as HTMLElement;\n\t} else if (startFromContainer) {\n\t\tchild = container;\n\t} else {\n\t\tchild = forward ? container.firstElementChild as HTMLElement : container.lastElementChild as HTMLElement;\n\t}\n\n\tlet focusableDescendant;\n\n\t/* eslint-disable no-await-in-loop */\n\n\twhile (child) {\n\t\tconst originalChild: HTMLElement | undefined = child;\n\n\t\tif (instanceOfUI5Element(child)) {\n\t\t\tchild = await child.getFocusDomRefAsync();\n\t\t}\n\n\t\tif (!child) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (child.nodeType === 1 && isElemFocusable(child) && !isFocusTrap(child)) {\n\t\t\tif (isElementClickable(child)) {\n\t\t\t\treturn (child && typeof child.focus === \"function\") ? child : null;\n\t\t\t}\n\n\t\t\tfocusableDescendant = await findFocusableElement(child, forward);\n\t\t\tif (focusableDescendant) {\n\t\t\t\treturn (focusableDescendant && typeof focusableDescendant.focus === \"function\") ? focusableDescendant : null;\n\t\t\t}\n\t\t}\n\n\t\tchild = forward ? originalChild.nextSibling as HTMLElement : originalChild.previousSibling as HTMLElement;\n\n\t\t// If the child element is not part of the currently assigned element,\n\t\t// we have to check the next/previous element assigned to the slot or continue with the next/previous sibling of the slot,\n\t\t// otherwise, the nextSibling/previousSibling is the next element inside the light DOM\n\t\tif (assignedElements && !assignedElements[currentIndex].contains(child)) {\n\t\t\tcurrentIndex = forward ? currentIndex + 1 : currentIndex - 1;\n\n\t\t\tchild = assignedElements[currentIndex] as HTMLElement;\n\t\t}\n\t}\n\n\t/* eslint-enable no-await-in-loop */\n\n\treturn null;\n};\n\nexport {\n\tgetFirstFocusableElement,\n\tgetLastFocusableElement,\n};\n","type Range = Map>;\n\nconst mediaRanges = new Map();\n\nconst DEAFULT_RANGE_SET: Range = new Map>();\nDEAFULT_RANGE_SET.set(\"S\", [0, 599]);\nDEAFULT_RANGE_SET.set(\"M\", [600, 1023]);\nDEAFULT_RANGE_SET.set(\"L\", [1024, 1439]);\nDEAFULT_RANGE_SET.set(\"XL\", [1440, Infinity]);\n\n/**\n * Enumeration containing the names and settings of predefined screen width media query range sets.\n *\n * @public\n */\n enum RANGESETS {\n\t/**\n\t * A 4-step range set (S-M-L-XL).\n\t *\n\t * The ranges of this set are:\n\t *
      \n\t *
    • \"S\": For screens smaller than 600 pixels.
    • \n\t *
    • \"M\": For screens greater than or equal to 600 pixels and smaller than 1024 pixels.
    • \n\t *
    • \"L\": For screens greater than or equal to 1024 pixels and smaller than 1440 pixels.
    • \n\t *
    • \"XL\": For screens greater than or equal to 1440 pixels.
    • \n\t *
    \n\t *\n\t * @public\n\t */\n\tRANGE_4STEPS = \"4Step\",\n}\n\n/**\n * Initializes a screen width media query range set.\n *\n * This initialization step makes the range set ready to be used for one of the other functions in namespace MediaRange.\n *\n * A range set can be defined as shown in the following example:\n *
    \n * MediaRange.initRangeSet(\"MyRangeSet\", [200, 400], [\"Small\", \"Medium\", \"Large\"]);\n * 
    \n * This example defines the following named ranges:\n *
      \n *
    • \"Small\": For screens smaller than 200 pixels.
    • \n *
    • \"Medium\": For screens greater than or equal to 200 pixels and smaller than 400 pixels.
    • \n *
    • \"Large\": For screens greater than or equal to 400 pixels.
    • \n *
    \n *\n * @param name The name of the range set to be initialized.\n * The name must be a valid id and consist only of letters and numeric digits.\n * @param range The given range set.\n */\nconst initRangeSet = (name: string, range: Range) => {\n\tmediaRanges.set(name, range);\n};\n\n/**\n * Returns information about the current active range of the range set with the given name.\n *\n * If the optional parameter width is given, the active range will be determined for that width,\n * otherwise it is determined for the current window size.\n *\n * @param name The name of the range set. The range set must be initialized beforehand ({@link MediaRange.initRangeSet})\n * @param [width] An optional width, based on which the range should be determined;\n * If width is not provided, the window size will be used.\n * @returns The name of the current active interval of the range set.\n * @public\n */\nconst getCurrentRange = (name: string, width = window.innerWidth): string => {\n\tlet rangeSet = mediaRanges.get(name);\n\n\tif (!rangeSet) {\n\t\trangeSet = mediaRanges.get(RANGESETS.RANGE_4STEPS)!;\n\t}\n\n\tlet currentRangeName;\n\tconst effectiveWidth = Math.floor(width);\n\n\trangeSet.forEach((value, key) => {\n\t\tif (effectiveWidth >= value[0] && effectiveWidth <= value[1]) {\n\t\t\tcurrentRangeName = key;\n\t\t}\n\t});\n\n\treturn currentRangeName || [...rangeSet.keys()][0];\n};\n\n/**\n * API for screen width changes.\n */\nconst MediaRange = {\n\tRANGESETS,\n\tinitRangeSet,\n\tgetCurrentRange,\n};\n\nMediaRange.initRangeSet(MediaRange.RANGESETS.RANGE_4STEPS, DEAFULT_RANGE_SET);\n\nexport default MediaRange;\n","/* eslint no-unused-vars: 0 */\nimport { html, svg, repeat, classMap, styleMap, ifDefined, unsafeHTML, scopeTag } from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\timport type Popup from \"../../Popup.js\";\n\timport type { ClassMapValue } from \"@ui5/webcomponents-base/dist/types.js\";\n\t\nfunction block0 (this: Popup, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    `;}\n\n\nexport default block0;","/* eslint no-unused-vars: 0 */\nimport { html, svg, repeat, classMap, styleMap, ifDefined, unsafeHTML, scopeTag } from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\ttype PopupBlockLayer = any;\n\timport type { ClassMapValue } from \"@ui5/webcomponents-base/dist/types.js\";\n\t\nfunction block0 (this: PopupBlockLayer, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    `;}\n\n\nexport default block0;","/**\n * Popup accessible roles.\n *\n * @public\n */\nenum PopupAccessibleRole {\n\n\t/**\n\t * Represents no ARIA role.\n\t * @public\n\t */\n\tNone = \"None\",\n\n\t/**\n\t * Represents the ARIA role \"dialog\".\n\t * @public\n\t */\n\tDialog = \"Dialog\",\n\n\t/**\n\t * Represents the ARIA role \"alertdialog\".\n\t * @public\n\t */\n\tAlertDialog = \"AlertDialog\",\n}\n\nexport default PopupAccessibleRole;\n","import { isEscape } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport Popup from \"../Popup.js\";\n\ntype RegisteredPopupT = {\n\tinstance: Popup;\n\tparentPopovers: Array;\n}\n\nlet openedRegistry: Array = [];\n\nconst addOpenedPopup = (instance: Popup, parentPopovers: Array = []) => {\n\tif (!openedRegistry.some(popup => popup.instance === instance)) {\n\t\topenedRegistry.push({\n\t\t\tinstance,\n\t\t\tparentPopovers,\n\t\t});\n\t}\n\n\t_updateTopModalPopup();\n\n\tif (openedRegistry.length === 1) {\n\t\tattachGlobalListener();\n\t}\n};\n\nconst removeOpenedPopup = (instance: Popup) => {\n\topenedRegistry = openedRegistry.filter(el => {\n\t\treturn el.instance !== instance;\n\t});\n\n\t_updateTopModalPopup();\n\n\tif (!openedRegistry.length) {\n\t\tdetachGlobalListener();\n\t}\n};\n\nconst getOpenedPopups = () => {\n\treturn [...openedRegistry];\n};\n\nconst _keydownListener = (event: KeyboardEvent) => {\n\tif (!openedRegistry.length) {\n\t\treturn;\n\t}\n\n\tif (isEscape(event)) {\n\t\topenedRegistry[openedRegistry.length - 1].instance.close(true);\n\t}\n};\n\nconst attachGlobalListener = () => {\n\tdocument.addEventListener(\"keydown\", _keydownListener);\n};\n\nconst detachGlobalListener = () => {\n\tdocument.removeEventListener(\"keydown\", _keydownListener);\n};\n\nconst _updateTopModalPopup = () => {\n\tlet popup;\n\tlet hasModal = false;\n\n\tfor (let i = openedRegistry.length - 1; i >= 0; i--) {\n\t\tpopup = openedRegistry[i].instance;\n\n\t\tif (!hasModal && popup.isModal) {\n\t\t\tpopup.isTopModalPopup = true;\n\t\t\thasModal = true;\n\t\t} else {\n\t\t\tpopup.isTopModalPopup = false;\n\t\t}\n\t}\n};\n\nexport { addOpenedPopup, removeOpenedPopup, getOpenedPopups };\n","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents\",fileName:\"themes/Popup.css.ts\",content:`:host{min-width:1px;display:none;position:fixed}\n`};\nexport default styleData;\n\t","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents\",fileName:\"themes/PopupStaticAreaStyles.css.ts\",content:`.ui5-block-layer{display:none;position:fixed;background-color:var(--_ui5-v1-22-0-rc-3_popup_block_layer_background);inset:-500px;outline:none;pointer-events:all;z-index:-1}.ui5-block-layer:not([hidden]){display:inline-block}\n`};\nexport default styleData;\n\t","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents\",fileName:\"themes/PopupGlobal.css.ts\",content:`.ui5-popup-scroll-blocker{overflow:hidden}\n`};\nexport default styleData;\n\t","import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport type { ClassMap } from \"@ui5/webcomponents-base/dist/types.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport { isChrome, isSafari } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getFirstFocusableElement, getLastFocusableElement } from \"@ui5/webcomponents-base/dist/util/FocusableElements.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport getEffectiveScrollbarStyle from \"@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js\";\nimport { hasStyle, createStyle } from \"@ui5/webcomponents-base/dist/ManagedStyles.js\";\nimport { isEnter, isTabPrevious } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { getNextZIndex, getFocusedElement, isFocusedElementWithinNode } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport MediaRange from \"@ui5/webcomponents-base/dist/MediaRange.js\";\nimport PopupTemplate from \"./generated/templates/PopupTemplate.lit.js\";\nimport PopupBlockLayer from \"./generated/templates/PopupBlockLayerTemplate.lit.js\";\nimport PopupAccessibleRole from \"./types/PopupAccessibleRole.js\";\nimport { addOpenedPopup, removeOpenedPopup } from \"./popup-utils/OpenedPopupsRegistry.js\";\n\n// Styles\nimport popupStlyes from \"./generated/themes/Popup.css.js\";\nimport popupStaticAreaStyles from \"./generated/themes/PopupStaticAreaStyles.css.js\";\nimport globalStyles from \"./generated/themes/PopupGlobal.css.js\";\n\nconst createBlockingStyle = (): void => {\n\tif (!hasStyle(\"data-ui5-popup-scroll-blocker\")) {\n\t\tcreateStyle(globalStyles, \"data-ui5-popup-scroll-blocker\");\n\t}\n};\n\ncreateBlockingStyle();\n\nconst pageScrollingBlockers = new Set();\n\ntype PopupScrollEventDetail = {\n\tscrollTop: number;\n\ttargetRef: HTMLElement;\n}\n\ntype PopupBeforeCloseEventDetail = {\n\tescPressed: boolean;\n}\n\n/**\n * @class\n *

    Overview

    \n * Base class for all popup Web Components.\n *\n * If you need to create your own popup-like custom UI5 Web Components, it is highly recommended that you extend\n * at least Popup in order to have consistency with other popups in terms of modal behavior and z-index management.\n *\n * 1. The Popup class handles modality:\n * - The \"isModal\" getter can be overridden by derivatives to provide their own conditions when they are modal or not\n * - Derivatives may call the \"blockPageScrolling\" and \"unblockPageScrolling\" static methods to temporarily remove scrollbars on the html element\n * - Derivatives may call the \"open\" and \"close\" methods which handle focus, manage the popup registry and for modal popups, manage the blocking layer\n *\n * 2. Provides blocking layer (relevant for modal popups only):\n * - It is in the static area\n * - Controlled by the \"open\" and \"close\" methods\n *\n * 3. The Popup class \"traps\" focus:\n * - Derivatives may call the \"applyInitialFocus\" method (usually when opening, to transfer focus inside the popup)\n *\n * 4. The Popup class automatically assigns \"z-index\"\n * - Each time a popup is opened, it gets a higher than the previously opened popup z-index\n *\n * 5. The template of this component exposes two inline partials you can override in derivatives:\n * - beforeContent (upper part of the box, useful for header/title/close button)\n * - afterContent (lower part, useful for footer/action buttons)\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n\trenderer: litRender,\n\tstyles: popupStlyes,\n\ttemplate: PopupTemplate,\n\tstaticAreaTemplate: PopupBlockLayer,\n\tstaticAreaStyles: popupStaticAreaStyles,\n})\n/**\n * Fired before the component is opened. This event can be cancelled, which will prevent the popup from opening. This event does not bubble.\n *\n * @public\n * @allowPreventDefault\n */\n@event(\"before-open\")\n\n/**\n * Fired after the component is opened. This event does not bubble.\n *\n * @public\n */\n@event(\"after-open\")\n\n/**\n * Fired before the component is closed. This event can be cancelled, which will prevent the popup from closing. This event does not bubble.\n *\n * @public\n * @allowPreventDefault\n * @param {boolean} escPressed Indicates that ESC key has triggered the event.\n */\n@event(\"before-close\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tescPressed: {\n\t\t\ttype: Boolean,\n\t\t},\n\t},\n})\n\n/**\n * Fired after the component is closed. This event does not bubble.\n *\n * @public\n */\n@event(\"after-close\")\n\n/**\n * Fired whenever the popup content area is scrolled\n *\n * @private\n */\n@event(\"scroll\")\nabstract class Popup extends UI5Element {\n\t/**\n\t * Defines the ID of the HTML Element, which will get the initial focus.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tinitialFocus!: string;\n\n\t/**\n\t * Defines if the focus should be returned to the previously focused element,\n\t * when the popup closes.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.8\n\t*/\n\t@property({ type: Boolean })\n\tpreventFocusRestore!: boolean;\n\n\t/**\n\t * Indicates if the element is open\n\t * @public\n\t * @default false\n\t * @since 1.2.0\n\t */\n\t@property({ type: Boolean })\n\topen!: boolean;\n\n\t/**\n\t * Indicates if the element is already open\n\t * @private\n\t * @default false\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\topened!: boolean;\n\n\t/**\n\t * Defines the accessible name of the component.\n\t *\n\t * @default undefined\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ defaultValue: undefined })\n\taccessibleName?: string;\n\n\t/**\n\t * Defines the IDs of the elements that label the component.\n\t *\n\t * @default \"\"\n\t * @public\n\t * @since 1.1.0\n\t */\n\t@property({ defaultValue: \"\" })\n\taccessibleNameRef!: string;\n\n\t/**\n\t * Allows setting a custom role.\n\t *\n\t * @default \"Dialog\"\n\t * @public\n\t * @since 1.10.0\n\t */\n\t@property({ type: PopupAccessibleRole, defaultValue: PopupAccessibleRole.Dialog })\n\taccessibleRole!: `${PopupAccessibleRole}`;\n\n\t/**\n\t * Defines the current media query size.\n\t *\n\t * @private\n\t */\n\t@property()\n\tmediaRange!: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_disableInitialFocus!: boolean;\n\n\t@property({ type: Boolean })\n\t_blockLayerHidden!: boolean;\n\n\t/**\n\t * Indicates if the element is the top modal popup\n\t *\n\t * This property is calculated automatically\n\t *\n\t * @private\n\t * @default false\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\tisTopModalPopup!: boolean;\n\n\t/**\n\t * Defines the content of the Popup.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\tcontent!: Array\n\n\t_resizeHandler: ResizeObserverCallback;\n\t_shouldFocusRoot?: boolean;\n\t_zIndex?: number;\n\t_focusedElementBeforeOpen?: HTMLElement | null;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._resizeHandler = this._resize.bind(this);\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._blockLayerHidden = !this.isOpen() || !this.isTopModalPopup;\n\t}\n\n\tonAfterRendering() {\n\t\tthis._updateMediaRange();\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._resizeHandler);\n\t}\n\n\tonExitDOM() {\n\t\tif (this.isOpen()) {\n\t\t\tPopup.unblockPageScrolling(this);\n\t\t\tthis._removeOpenedPopup();\n\t\t}\n\n\t\tResizeHandler.deregister(this, this._resizeHandler);\n\t}\n\n\tget _displayProp() {\n\t\treturn \"block\";\n\t}\n\n\t_resize() {\n\t\tthis._updateMediaRange();\n\t}\n\n\t/**\n\t * Prevents the user from interacting with the content under the block layer\n\t */\n\t_preventBlockLayerFocus(e: KeyboardEvent | MouseEvent) {\n\t\te.preventDefault();\n\t}\n\n\t/**\n\t * Temporarily removes scrollbars from the html element\n\t * @protected\n\t */\n\tstatic blockPageScrolling(popup: Popup) {\n\t\tpageScrollingBlockers.add(popup);\n\n\t\tif (pageScrollingBlockers.size !== 1) {\n\t\t\treturn;\n\t\t}\n\n\t\tdocument.documentElement.classList.add(\"ui5-popup-scroll-blocker\");\n\t}\n\n\t/**\n\t * Restores scrollbars on the html element, if needed\n\t * @protected\n\t */\n\tstatic unblockPageScrolling(popup: Popup) {\n\t\tpageScrollingBlockers.delete(popup);\n\n\t\tif (pageScrollingBlockers.size !== 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tdocument.documentElement.classList.remove(\"ui5-popup-scroll-blocker\");\n\t}\n\n\t_scroll(e: Event) {\n\t\tthis.fireEvent(\"scroll\", {\n\t\t\tscrollTop: (e.target as HTMLElement).scrollTop,\n\t\t\ttargetRef: e.target as HTMLElement,\n\t\t});\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tconst isTabOutAttempt = e.target === this._root && isTabPrevious(e);\n\t\t// if the popup is closed, focus is already moved, so Enter keydown may result in click on the newly focused element\n\t\tconst isEnterOnClosedPopupChild = isEnter(e) && !this.isOpen();\n\n\t\tif (isTabOutAttempt || isEnterOnClosedPopupChild) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onfocusout(e: FocusEvent) {\n\t\t// relatedTarget is the element, which will get focus. If no such element exists, focus the root.\n\t\t// This happens after the mouse is released in order to not interrupt text selection.\n\t\tif (!e.relatedTarget) {\n\t\t\tthis._shouldFocusRoot = true;\n\t\t}\n\t}\n\n\t_onmousedown(e: MouseEvent) {\n\t\tif (!isSafari()) { // Remove when adopting native dialog\n\t\t\tthis._root.removeAttribute(\"tabindex\");\n\t\t}\n\n\t\tif (this.shadowRoot!.contains(e.target as HTMLElement)) {\n\t\t\tthis._shouldFocusRoot = true;\n\t\t} else {\n\t\t\tthis._shouldFocusRoot = false;\n\t\t}\n\t}\n\n\t_onmouseup() {\n\t\tif (!isSafari()) { // Remove when adopting native dialog\n\t\t\tthis._root.tabIndex = -1;\n\t\t}\n\n\t\tif (this._shouldFocusRoot) {\n\t\t\tif (isChrome()) {\n\t\t\t\tthis._root.focus();\n\t\t\t}\n\t\t\tthis._shouldFocusRoot = false;\n\t\t}\n\t}\n\n\t/**\n\t * Focus trapping\n\t * @private\n\t */\n\tasync forwardToFirst() {\n\t\tconst firstFocusable = await getFirstFocusableElement(this);\n\n\t\tif (firstFocusable) {\n\t\t\tfirstFocusable.focus();\n\t\t} else {\n\t\t\tthis._root.focus();\n\t\t}\n\t}\n\n\t/**\n\t * Focus trapping\n\t * @private\n\t */\n\tasync forwardToLast() {\n\t\tconst lastFocusable = await getLastFocusableElement(this);\n\n\t\tif (lastFocusable) {\n\t\t\tlastFocusable.focus();\n\t\t} else {\n\t\t\tthis._root.focus();\n\t\t}\n\t}\n\n\t/**\n\t * Use this method to focus the element denoted by \"initialFocus\", if provided, or the first focusable element otherwise.\n\t * @protected\n\t */\n\tasync applyInitialFocus() {\n\t\tawait this.applyFocus();\n\t}\n\n\t/**\n\t * Focuses the element denoted by initialFocus, if provided,\n\t * or the first focusable element otherwise.\n\t * @public\n\t * @returns Promise that resolves when the focus is applied\n\t */\n\tasync applyFocus(): Promise {\n\t\tawait this._waitForDomRef();\n\n\t\tif (this.getRootNode() === this) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet element;\n\n\t\tif (this.initialFocus) {\n\t\t\telement = (this.getRootNode() as Document).getElementById(this.initialFocus)\n\t\t\t|| document.getElementById(this.initialFocus);\n\t\t}\n\n\t\telement = element || await getFirstFocusableElement(this) || this._root; // in case of no focusable content focus the root\n\n\t\tif (element) {\n\t\t\tif (element === this._root) {\n\t\t\t\telement.tabIndex = -1;\n\t\t\t}\n\t\t\telement.focus();\n\t\t}\n\t}\n\n\t/**\n\t * Tells if the component is opened\n\t * @public\n\t */\n\tisOpen() : boolean {\n\t\treturn this.opened;\n\t}\n\n\tisFocusWithin() {\n\t\treturn isFocusedElementWithinNode(this._root);\n\t}\n\n\t/**\n\t * Shows the block layer (for modal popups only) and sets the correct z-index for the purpose of popup stacking\n\t * @protected\n\t */\n\tasync _open(preventInitialFocus: boolean) {\n\t\tconst prevented = !this.fireEvent(\"before-open\", {}, true, false);\n\t\tif (prevented) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isModal && !this.shouldHideBackdrop) {\n\t\t\t// create static area item ref for block layer\n\t\t\tthis.getStaticAreaItemDomRef();\n\t\t\tthis._blockLayerHidden = false;\n\t\t\tPopup.blockPageScrolling(this);\n\t\t}\n\n\t\tthis._zIndex = getNextZIndex();\n\t\tthis.style.zIndex = this._zIndex?.toString() || \"\";\n\n\t\tthis._focusedElementBeforeOpen = getFocusedElement();\n\n\t\tthis._show();\n\n\t\tif (this.getDomRef()) {\n\t\t\tthis._updateMediaRange();\n\t\t}\n\n\t\tthis._addOpenedPopup();\n\n\t\tthis.opened = true;\n\t\tthis.open = true;\n\n\t\tawait renderFinished();\n\n\t\tif (!this._disableInitialFocus && !preventInitialFocus) {\n\t\t\tawait this.applyInitialFocus();\n\t\t}\n\n\t\tthis.fireEvent(\"after-open\", {}, false, false);\n\t}\n\n\t_updateMediaRange() {\n\t\tthis.mediaRange = MediaRange.getCurrentRange(MediaRange.RANGESETS.RANGE_4STEPS, this.getDomRef()!.offsetWidth);\n\t}\n\n\t/**\n\t * Adds the popup to the \"opened popups registry\"\n\t * @protected\n\t */\n\t_addOpenedPopup() {\n\t\taddOpenedPopup(this);\n\t}\n\n\t/**\n\t * Closes the popup.\n\t * @public\n\t */\n\tclose(escPressed = false, preventRegistryUpdate = false, preventFocusRestore = false): void {\n\t\tif (!this.opened) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevented = !this.fireEvent(\"before-close\", { escPressed }, true, false);\n\t\tif (prevented) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isModal) {\n\t\t\tthis._blockLayerHidden = true;\n\t\t\tPopup.unblockPageScrolling(this);\n\t\t}\n\n\t\tthis.hide();\n\t\tthis.opened = false;\n\t\tthis.open = false;\n\n\t\tif (!preventRegistryUpdate) {\n\t\t\tthis._removeOpenedPopup();\n\t\t}\n\n\t\tif (!this.preventFocusRestore && !preventFocusRestore) {\n\t\t\tthis.resetFocus();\n\t\t}\n\n\t\tthis.fireEvent(\"after-close\", {}, false, false);\n\t}\n\n\t/**\n\t * Removes the popup from the \"opened popups registry\"\n\t * @protected\n\t */\n\t_removeOpenedPopup() {\n\t\tremoveOpenedPopup(this);\n\t}\n\n\t/**\n\t * Returns the focus to the previously focused element\n\t * @protected\n\t */\n\tresetFocus() {\n\t\tif (!this._focusedElementBeforeOpen) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._focusedElementBeforeOpen.focus();\n\t\tthis._focusedElementBeforeOpen = null;\n\t}\n\n\t/**\n\t * Sets \"block\" display to the popup. The property can be overriden by derivatives of Popup.\n\t * @protected\n\t */\n\t_show() {\n\t\tthis.style.display = this._displayProp;\n\t}\n\n\t/**\n\t * Sets \"none\" display to the popup\n\t * @protected\n\t */\n\thide() {\n\t\tthis.style.display = \"none\";\n\t}\n\n\t/**\n\t * Implement this getter with relevant logic regarding the modality of the popup (e.g. based on a public property)\n\t *\n\t * @protected\n\t */\n\tabstract get isModal(): boolean\n\n\t/**\n\t * Implement this getter with relevant logic in order to hide the block layer (f.e. based on a public property)\n\t *\n\t * @protected\n\t */\n\tabstract get shouldHideBackdrop(): boolean\n\n\t/**\n\t * Return the ID of an element in the shadow DOM that is going to label this popup\n\t *\n\t * @protected\n\t */\n\tabstract get _ariaLabelledBy(): string | undefined\n\n\t/**\n\t * Ensures ariaLabel is never null or empty string\n\t * @protected\n\t */\n\tget _ariaLabel() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget _root(): HTMLElement {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popup-root\")!;\n\t}\n\n\tget _role(): string | undefined {\n\t\treturn (this.accessibleRole === PopupAccessibleRole.None) ? undefined : this.accessibleRole.toLowerCase();\n\t}\n\n\tget _ariaModal(): string | undefined {\n\t\treturn this.accessibleRole === PopupAccessibleRole.None ? undefined : \"true\";\n\t}\n\n\tget contentDOM(): HTMLElement {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popup-content\")!;\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\troot: {},\n\t\t\tcontent: {},\n\t\t\tblockLayer: {\n\t\t\t\t\"zIndex\": this._zIndex ? this._zIndex - 1 : \"\",\n\t\t\t},\n\t\t};\n\t}\n\n\tget classes(): ClassMap {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-popup-root\": true,\n\t\t\t\t\"ui5-content-native-scrollbars\": getEffectiveScrollbarStyle(),\n\t\t\t},\n\t\t\tcontent: {\n\t\t\t\t\"ui5-popup-content\": true,\n\t\t\t},\n\t\t};\n\t}\n}\n\nexport default Popup;\n\nexport type {\n\tPopupScrollEventDetail,\n\tPopupBeforeCloseEventDetail,\n};\n","/**\n * Popover placement types.\n *\n * @public\n */\nenum PopoverPlacementType {\n\t/**\n\t * Popover will be placed at the left side of the reference element.\n\t * @public\n\t */\n\tLeft = \"Left\",\n\n\t/**\n\t * Popover will be placed at the right side of the reference element.\n\t * @public\n\t */\n\tRight = \"Right\",\n\n\t/**\n\t * Popover will be placed at the top of the reference element.\n\t * @public\n\t */\n\tTop = \"Top\",\n\n\t/**\n\t * Popover will be placed at the bottom of the reference element.\n\t * @public\n\t */\n\tBottom = \"Bottom\",\n}\n\nexport default PopoverPlacementType;\n","/**\n * Popover vertical align types.\n *\n * @public\n */\nenum PopoverVerticalAlign {\n\t/**\n\t *\n\t * @public\n\t */\n\tCenter = \"Center\",\n\n\t/**\n\t * Popover will be placed at the top of the reference control.\n\t * @public\n\t */\n\tTop = \"Top\",\n\n\t/**\n\t * Popover will be placed at the bottom of the reference control.\n\t * @public\n\t */\n\tBottom = \"Bottom\",\n\n\t/**\n\t * Popover will be streched\n\t * @public\n\t */\n\tStretch = \"Stretch\",\n}\n\nexport default PopoverVerticalAlign;\n","/**\n * Popover horizontal align types.\n *\n * @public\n */\nenum PopoverHorizontalAlign {\n\t/**\n\t * Popover is centered.\n\t * @public\n\t */\n\tCenter = \"Center\",\n\n\t/**\n\t * Popover is aligned with the left side of the target. When direction is RTL, it is right aligned.\n\t * @public\n\t */\n\tLeft = \"Left\",\n\n\t/**\n\t * Popover is aligned with the right side of the target. When direction is RTL, it is left aligned.\n\t * @public\n\t */\n\tRight = \"Right\",\n\n\t/**\n\t * Popover is stretched.\n\t * @public\n\t */\n\tStretch = \"Stretch\",\n}\n\nexport default PopoverHorizontalAlign;\n","import { isClickInRect } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\nimport type { Interval } from \"@ui5/webcomponents-base/dist/types.js\";\nimport type Popover from \"../Popover.js\";\nimport { instanceOfPopover } from \"../Popover.js\";\nimport { getOpenedPopups, addOpenedPopup, removeOpenedPopup } from \"./OpenedPopupsRegistry.js\";\n\ntype RegisteredPopover = {\n\tinstance: Popover;\n\tparentPopovers: Array;\n}\n\nlet updateInterval: Interval;\nconst intervalTimeout = 300;\nconst openedRegistry: Array = [];\n\nconst repositionPopovers = () => {\n\topenedRegistry.forEach(popover => {\n\t\tpopover.instance.reposition();\n\t});\n};\n\nconst closePopoversIfLostFocus = () => {\n\tif (document.activeElement!.tagName === \"IFRAME\") {\n\t\tgetRegistry().reverse().forEach(popup => popup.instance.close(false, false, true));\n\t}\n};\n\nconst runUpdateInterval = () => {\n\tupdateInterval = setInterval(() => {\n\t\trepositionPopovers();\n\n\t\tclosePopoversIfLostFocus();\n\t}, intervalTimeout);\n};\n\nconst stopUpdateInterval = () => {\n\tclearInterval(updateInterval);\n};\n\nconst attachGlobalScrollHandler = () => {\n\tdocument.addEventListener(\"scroll\", repositionPopovers, { capture: true });\n};\n\nconst detachGlobalScrollHandler = () => {\n\tdocument.removeEventListener(\"scroll\", repositionPopovers, { capture: true });\n};\n\nconst attachScrollHandler = (popover: Popover) => {\n\tpopover && popover.shadowRoot!.addEventListener(\"scroll\", repositionPopovers, { capture: true });\n};\n\nconst detachScrollHandler = (popover: Popover) => {\n\tpopover && popover.shadowRoot!.removeEventListener(\"scroll\", repositionPopovers, { capture: true });\n};\n\nconst attachGlobalClickHandler = () => {\n\tdocument.addEventListener(\"mousedown\", clickHandler);\n};\n\nconst detachGlobalClickHandler = () => {\n\tdocument.removeEventListener(\"mousedown\", clickHandler);\n};\n\nconst clickHandler = (event: MouseEvent) => {\n\tconst openedPopups = getOpenedPopups();\n\n\tif (openedPopups.length === 0) {\n\t\treturn;\n\t}\n\n\tconst isTopPopupPopover = instanceOfPopover(openedPopups[openedPopups.length - 1].instance);\n\n\tif (!isTopPopupPopover) {\n\t\treturn;\n\t}\n\n\t// loop all open popovers\n\tfor (let i = (openedPopups.length - 1); i !== -1; i--) {\n\t\tconst popup = openedPopups[i].instance;\n\n\t\t// if popup is modal, opener is clicked, popup is dialog skip closing\n\t\tif (popup.isModal || (popup as Popover).isOpenerClicked(event)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isClickInRect(event, popup.getBoundingClientRect())) {\n\t\t\tbreak;\n\t\t}\n\n\t\tpopup.close();\n\t}\n};\n\nconst addOpenedPopover = (instance: Popover) => {\n\tconst parentPopovers = getParentPopoversIfNested(instance);\n\n\taddOpenedPopup(instance, parentPopovers);\n\topenedRegistry.push({\n\t\tinstance,\n\t\tparentPopovers,\n\t});\n\n\tattachScrollHandler(instance);\n\n\tif (openedRegistry.length === 1) {\n\t\tattachGlobalScrollHandler();\n\t\tattachGlobalClickHandler();\n\t\trunUpdateInterval();\n\t}\n};\n\nconst removeOpenedPopover = (instance: Popover) => {\n\tconst popoversToClose = [instance];\n\n\tfor (let i = 0; i < openedRegistry.length; i++) {\n\t\tconst indexOfCurrentInstance = openedRegistry[i].parentPopovers.indexOf(instance);\n\t\tif (openedRegistry[i].parentPopovers.length > 0 && indexOfCurrentInstance > -1) {\n\t\t\tpopoversToClose.push(openedRegistry[i].instance);\n\t\t}\n\t}\n\n\tfor (let i = popoversToClose.length - 1; i >= 0; i--) {\n\t\tfor (let j = 0; j < openedRegistry.length; j++) {\n\t\t\tlet indexOfItemToRemove = -1;\n\t\t\tif (popoversToClose[i] === openedRegistry[j].instance) {\n\t\t\t\tindexOfItemToRemove = j;\n\t\t\t}\n\n\t\t\tif (indexOfItemToRemove >= 0) {\n\t\t\t\tremoveOpenedPopup(openedRegistry[indexOfItemToRemove].instance);\n\t\t\t\tdetachScrollHandler(openedRegistry[indexOfItemToRemove].instance);\n\t\t\t\tconst itemToClose = openedRegistry.splice(indexOfItemToRemove, 1);\n\t\t\t\titemToClose[0].instance.close(false, true);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (!openedRegistry.length) {\n\t\tdetachGlobalScrollHandler();\n\t\tdetachGlobalClickHandler();\n\t\tstopUpdateInterval();\n\t}\n};\n\nconst getRegistry = () => {\n\treturn openedRegistry;\n};\n\nconst getParentPopoversIfNested = (instance: Popover) => {\n\tlet currentElement = instance.parentNode;\n\tconst parentPopovers: Array = [];\n\n\twhile (currentElement && currentElement.parentNode) {\n\t\tfor (let i = 0; i < openedRegistry.length; i++) {\n\t\t\tif (currentElement === openedRegistry[i].instance) {\n\t\t\t\tparentPopovers.push(currentElement as Popover);\n\t\t\t}\n\t\t}\n\n\t\tcurrentElement = currentElement.parentNode;\n\t}\n\n\treturn parentPopovers;\n};\n\nexport { addOpenedPopover, removeOpenedPopover, getRegistry };\n","/* eslint no-unused-vars: 0 */\nimport { html, svg, repeat, classMap, styleMap, ifDefined, unsafeHTML, scopeTag } from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\timport type Popover from \"../../Popover.js\";\n\timport type { ClassMapValue } from \"@ui5/webcomponents-base/dist/types.js\";\n\t\nfunction block0 (this: Popover, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    ${ this._displayHeader ? block1.call(this, context, tags, suffix) : undefined }
    ${ this._displayFooter ? block4.call(this, context, tags, suffix) : undefined }
    `;}\nfunction block1 (this: Popover, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    ${ this.header.length ? block2.call(this, context, tags, suffix) : block3.call(this, context, tags, suffix) }
    `;}\nfunction block2 (this: Popover, context: UI5Element, tags: string[], suffix: string | undefined) { return html``;}\nfunction block3 (this: Popover, context: UI5Element, tags: string[], suffix: string | undefined) { return html`

    ${ifDefined(this.headerText)}

    `;}\nfunction block4 (this: Popover, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.footer.length ? block5.call(this, context, tags, suffix) : undefined }`;}\nfunction block5 (this: Popover, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    `;}\n\n\nexport default block0;","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents\",fileName:\"themes/PopupsCommon.css.ts\",content:`:host{display:none;position:fixed;background:var(--sapGroup_ContentBackground);border-radius:var(--_ui5-v1-22-0-rc-3_popup_border_radius);min-height:2rem;box-sizing:border-box}.ui5-popup-root{background:inherit;border-radius:inherit;width:100%;height:100%;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden;outline:none;justify-content:space-between}.ui5-popup-root .ui5-popup-header-root{color:var(--sapPageHeader_TextColor);box-shadow:var(--_ui5-v1-22-0-rc-3_popup_header_shadow);border-bottom:var(--_ui5-v1-22-0-rc-3_popup_header_border)}.ui5-popup-content{color:var(--sapTextColor);flex:auto}.ui5-popup-footer-root{background:var(--sapPageFooter_Background);border-top:1px solid var(--sapPageFooter_BorderColor);color:var(--sapPageFooter_TextColor)}.ui5-popup-header-root,.ui5-popup-footer-root,:host([header-text]) .ui5-popup-header-text{margin:0;font-size:1rem;font-family:\"72override\",var(--_ui5-v1-22-0-rc-3_popup_header_font_family);display:flex;justify-content:center;align-items:center}.ui5-popup-header-root .ui5-popup-header-text{font-weight:var(--_ui5-v1-22-0-rc-3_popup_header_font_weight)}.ui5-popup-content{overflow:auto;box-sizing:border-box}:host([header-text]) .ui5-popup-header-text{text-align:center;min-height:var(--_ui5-v1-22-0-rc-3_popup_default_header_height);max-height:var(--_ui5-v1-22-0-rc-3_popup_default_header_height);line-height:var(--_ui5-v1-22-0-rc-3_popup_default_header_height);text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}:host([header-text]) .ui5-popup-header-root{justify-content:var(--_ui5-v1-22-0-rc-3_popup_header_prop_header_text_alignment)}:host(:not([header-text])) .ui5-popup-header-text{display:none}:host([disable-scrolling]) .ui5-popup-content{overflow:hidden}:host([media-range=\"S\"]) .ui5-popup-content{padding:1rem var(--_ui5-v1-22-0-rc-3_popup_content_padding_s)}:host([media-range=\"M\"]) .ui5-popup-content,:host([media-range=\"L\"]) .ui5-popup-content{padding:1rem var(--_ui5-v1-22-0-rc-3_popup_content_padding_m_l)}:host([media-range=\"XL\"]) .ui5-popup-content{padding:1rem var(--_ui5-v1-22-0-rc-3_popup_content_padding_xl)}.ui5-popup-header-root{background:var(--_ui5-v1-22-0-rc-3_popup_header_background)}:host([media-range=\"S\"]) .ui5-popup-header-root,:host([media-range=\"S\"]) .ui5-popup-footer-root{padding-left:var(--_ui5-v1-22-0-rc-3_popup_header_footer_padding_s);padding-right:var(--_ui5-v1-22-0-rc-3_popup_header_footer_padding_s)}:host([media-range=\"M\"]) .ui5-popup-header-root,:host([media-range=\"L\"]) .ui5-popup-header-root,:host([media-range=\"M\"]) .ui5-popup-footer-root,:host([media-range=\"L\"]) .ui5-popup-footer-root{padding-left:var(--_ui5-v1-22-0-rc-3_popup_header_footer_padding_m_l);padding-right:var(--_ui5-v1-22-0-rc-3_popup_header_footer_padding_m_l)}:host([media-range=\"XL\"]) .ui5-popup-header-root,:host([media-range=\"XL\"]) .ui5-popup-footer-root{padding-left:var(--_ui5-v1-22-0-rc-3_popup_header_footer_padding_xl);padding-right:var(--_ui5-v1-22-0-rc-3_popup_header_footer_padding_xl)}\n`};\nexport default styleData;\n\t","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents\",fileName:\"themes/Popover.css.ts\",content:`:host{box-shadow:var(--_ui5-v1-22-0-rc-3_popover_box_shadow);background-color:var(--_ui5-v1-22-0-rc-3_popover_background);max-width:calc(100vw - (100vw - 100%) - 2 * var(--_ui5-v1-22-0-rc-3_popup_viewport_margin))}:host([hide-arrow]){box-shadow:var(--_ui5-v1-22-0-rc-3_popover_no_arrow_box_shadow)}:host([opened][actual-placement-type=\"Top\"]){margin-top:var(--_ui5-v1-22-0-rc-3-popover-margin-bottom)}:host([opened][actual-placement-type=\"Bottom\"]){margin-top:var(--_ui5-v1-22-0-rc-3-popover-margin-top)}:host([actual-placement-type=\"Bottom\"]) .ui5-popover-arrow{left:calc(50% - .5625rem);top:-.5rem;height:.5625rem}:host([actual-placement-type=\"Bottom\"]) .ui5-popover-arrow:after{margin:var(--_ui5-v1-22-0-rc-3_popover_upward_arrow_margin)}:host([actual-placement-type=\"Left\"]) .ui5-popover-arrow{top:calc(50% - .5625rem);right:-.5625rem;width:.5625rem}:host([actual-placement-type=\"Left\"]) .ui5-popover-arrow:after{margin:var(--_ui5-v1-22-0-rc-3_popover_right_arrow_margin)}:host([actual-placement-type=\"Top\"]) .ui5-popover-arrow{left:calc(50% - .5625rem);height:.5625rem;top:100%}:host([actual-placement-type=\"Top\"]) .ui5-popover-arrow:after{margin:var(--_ui5-v1-22-0-rc-3_popover_downward_arrow_margin)}:host(:not([actual-placement-type])) .ui5-popover-arrow,:host([actual-placement-type=\"Right\"]) .ui5-popover-arrow{left:-.5625rem;top:calc(50% - .5625rem);width:.5625rem;height:1rem}:host(:not([actual-placement-type])) .ui5-popover-arrow:after,:host([actual-placement-type=\"Right\"]) .ui5-popover-arrow:after{margin:var(--_ui5-v1-22-0-rc-3_popover_left_arrow_margin)}:host([hide-arrow]) .ui5-popover-arrow{display:none}.ui5-popover-root{min-width:6.25rem}.ui5-popover-arrow{pointer-events:none;display:block;width:1rem;height:1rem;position:absolute;overflow:hidden}.ui5-popover-arrow:after{content:\"\";display:block;width:.7rem;height:.7rem;background-color:var(--_ui5-v1-22-0-rc-3_popover_background);box-shadow:var(--_ui5-v1-22-0-rc-3_popover_box_shadow);transform:rotate(-45deg)}\n`};\nexport default styleData;\n\t","import type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport { isIOS } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport DOMReference from \"@ui5/webcomponents-base/dist/types/DOMReference.js\";\nimport { getClosedPopupParent } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\nimport clamp from \"@ui5/webcomponents-base/dist/util/clamp.js\";\nimport isElementContainingBlock from \"@ui5/webcomponents-base/dist/util/isElementContainingBlock.js\";\nimport getParentElement from \"@ui5/webcomponents-base/dist/util/getParentElement.js\";\nimport Popup from \"./Popup.js\";\nimport type { PopupBeforeCloseEventDetail as PopoverBeforeCloseEventDetail } from \"./Popup.js\";\nimport PopoverPlacementType from \"./types/PopoverPlacementType.js\";\nimport PopoverVerticalAlign from \"./types/PopoverVerticalAlign.js\";\nimport PopoverHorizontalAlign from \"./types/PopoverHorizontalAlign.js\";\nimport { addOpenedPopover, removeOpenedPopover } from \"./popup-utils/PopoverRegistry.js\";\n\n// Template\nimport PopoverTemplate from \"./generated/templates/PopoverTemplate.lit.js\";\n// Styles\nimport browserScrollbarCSS from \"./generated/themes/BrowserScrollbar.css.js\";\nimport PopupsCommonCss from \"./generated/themes/PopupsCommon.css.js\";\nimport PopoverCss from \"./generated/themes/Popover.css.js\";\n\nconst ARROW_SIZE = 8;\n\ntype PopoverSize = {\n\twidth: number;\n\theight: number;\n}\n\ntype ArrowPosition = {\n\tx: number;\n\ty: number;\n}\n\ntype CalculatedPlacement = {\n\tarrow: ArrowPosition,\n\ttop: number,\n\tleft: number,\n\tplacementType: `${PopoverPlacementType}`,\n}\n\n/**\n * @class\n *\n *

    Overview

    \n *\n * The ui5-popover component displays additional information for an object\n * in a compact way and without leaving the page.\n * The Popover can contain various UI elements, such as fields, tables, images, and charts.\n * It can also include actions in the footer.\n *\n *

    Structure

    \n *\n * The popover has three main areas:\n *
      \n *
    • Header (optional)
    • \n *
    • Content
    • \n *
    • Footer (optional)
    • \n *
    \n *\n * Note: The ui5-popover is closed when the user clicks\n * or taps outside the popover\n * or selects an action within the popover. You can prevent this with the\n * modal property.\n *\n *

    ES6 Module Import

    \n *\n * import \"@ui5/webcomponents/dist/Popover.js\";\n *\n * Note: We recommend placing popup-like components (ui5-dialog and ui5-popover)\n * outside any other components. Preferably, the popup-like components should be placed\n * in an upper level HTML element. Otherwise, in some cases the parent HTML elements can break\n * the position and/or z-index management of the popup-like components.\n *\n * Note: We don't recommend nesting popup-like components (ui5-dialog, ui5-popover).\n *\n * @constructor\n * @extends Popup\n * @since 1.0.0-rc.6\n * @public\n * @csspart header - Used to style the header of the component\n * @csspart content - Used to style the content of the component\n * @csspart footer - Used to style the footer of the component\n */\n@customElement({\n\ttag: \"ui5-popover\",\n\tstyles: [\n\t\tbrowserScrollbarCSS,\n\t\tPopupsCommonCss,\n\t\tPopoverCss,\n\t],\n\ttemplate: PopoverTemplate,\n})\nclass Popover extends Popup {\n\t/**\n\t * Defines the header text.\n\t *

    \n\t * Note: If header slot is provided, the headerText is ignored.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\theaderText!: string;\n\n\t/**\n\t * Determines on which side the component is placed at.\n\t *\n\t * @default \"Right\"\n\t * @public\n\t */\n\t@property({ type: PopoverPlacementType, defaultValue: PopoverPlacementType.Right })\n\tplacementType!: `${PopoverPlacementType}`;\n\n\t/**\n\t * Determines the horizontal alignment of the component.\n\t *\n\t * @default \"Center\"\n\t * @public\n\t */\n\t@property({ type: PopoverHorizontalAlign, defaultValue: PopoverHorizontalAlign.Center })\n\thorizontalAlign!: `${PopoverHorizontalAlign}`;\n\n\t/**\n\t * Determines the vertical alignment of the component.\n\t *\n\t * @default \"Center\"\n\t * @public\n\t */\n\t@property({ type: PopoverVerticalAlign, defaultValue: PopoverVerticalAlign.Center })\n\tverticalAlign!: `${PopoverVerticalAlign}`;\n\n\t/**\n\t * Defines whether the component should close when\n\t * clicking/tapping outside of the popover.\n\t * If enabled, it blocks any interaction with the background.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tmodal!: boolean;\n\n\t/**\n\t * Defines whether the block layer will be shown if modal property is set to true.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.10\n\t */\n\t@property({ type: Boolean })\n\thideBackdrop!: boolean;\n\n\t/**\n\t * Determines whether the component arrow is hidden.\n\t *\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ type: Boolean })\n\thideArrow!: boolean;\n\n\t/**\n\t * Determines if there is no enough space, the component can be placed\n\t * over the target.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tallowTargetOverlap!: boolean;\n\n\t/**\n\t * Defines the ID or DOM Reference of the element that the popover is shown at\n\t * @public\n\t * @default undefined\n\t * @since 1.2.0\n\t */\n\t@property({ validator: DOMReference })\n\topener?: HTMLElement | string;\n\n\t/**\n\t * Defines whether the content is scrollable.\n\t *\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tdisableScrolling!: boolean;\n\n\t/**\n\t * Sets the X translation of the arrow\n\t *\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: 0, noAttribute: true })\n\tarrowTranslateX!: number;\n\n\t/**\n\t * Sets the Y translation of the arrow\n\t *\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: 0, noAttribute: true })\n\tarrowTranslateY!: number;\n\n\t/**\n\t * Returns the calculated placement depending on the free space\n\t *\n\t * @private\n\t */\n\t@property({ type: PopoverPlacementType, defaultValue: PopoverPlacementType.Right })\n\tactualPlacementType!: `${PopoverPlacementType}`;\n\n\t@property({ validator: Integer, noAttribute: true })\n\t_maxHeight?: number;\n\n\t@property({ validator: Integer, noAttribute: true })\n\t_maxWidth?: number;\n\n\t/**\n\t * Defines the header HTML Element.\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement })\n\theader!: Array;\n\n\t/**\n\t * Defines the footer HTML Element.\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement })\n\tfooter!: Array;\n\n\t_opener?: HTMLElement;\n\t_openerRect?: DOMRect;\n\t_preventRepositionAndClose?: boolean;\n\t_top?: number;\n\t_left?: number;\n\t_oldPlacement?: CalculatedPlacement;\n\t_width?: string;\n\n\tstatic get VIEWPORT_MARGIN() {\n\t\treturn 10; // px\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tonAfterRendering() {\n\t\tsuper.onAfterRendering();\n\n\t\tif (!this.isOpen() && this.open) {\n\t\t\tlet opener;\n\n\t\t\tif (this.opener instanceof HTMLElement) {\n\t\t\t\topener = this.opener;\n\t\t\t} else if (typeof this.opener === \"string\") {\n\t\t\t\topener = (this.getRootNode() as Document).getElementById(this.opener) || document.getElementById(this.opener);\n\t\t\t}\n\n\t\t\tif (!opener) {\n\t\t\t\tconsole.warn(\"Valid opener id is required.\"); // eslint-disable-line\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.showAt(opener);\n\t\t} else if (this.isOpen() && !this.open) {\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\tisOpenerClicked(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tif (target === this._opener) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst ui5ElementTarget = target as UI5Element;\n\n\t\tif (ui5ElementTarget.getFocusDomRef && ui5ElementTarget.getFocusDomRef() === this._opener) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn e.composedPath().indexOf(this._opener as EventTarget) > -1;\n\t}\n\n\t/**\n\t * Shows the popover.\n\t * @param opener the element that the popover is shown at\n\t * @param [preventInitialFocus=false] prevents applying the focus inside the popover\n\t * @public\n\t * @returns Resolved when the popover is open\n\t */\n\tasync showAt(opener: HTMLElement, preventInitialFocus = false): Promise {\n\t\tif (!opener || this.opened) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._opener = opener;\n\t\tthis._openerRect = opener.getBoundingClientRect();\n\n\t\tawait super._open(preventInitialFocus);\n\t}\n\n\t/**\n\t * Override for the _addOpenedPopup hook, which would otherwise just call addOpenedPopup(this)\n\t * @private\n\t */\n\t_addOpenedPopup() {\n\t\taddOpenedPopover(this);\n\t}\n\n\t/**\n\t * Override for the _removeOpenedPopup hook, which would otherwise just call removeOpenedPopup(this)\n\t * @private\n\t */\n\t_removeOpenedPopup() {\n\t\tremoveOpenedPopover(this);\n\t}\n\n\tshouldCloseDueToOverflow(placement: `${PopoverPlacementType}`, openerRect: DOMRect): boolean {\n\t\tconst threshold = 32;\n\t\tconst limits = {\n\t\t\t\"Right\": openerRect.right,\n\t\t\t\"Left\": openerRect.left,\n\t\t\t\"Top\": openerRect.top,\n\t\t\t\"Bottom\": openerRect.bottom,\n\t\t};\n\n\t\tconst closedPopupParent = getClosedPopupParent(this._opener!);\n\t\tlet overflowsBottom = false;\n\t\tlet overflowsTop = false;\n\n\t\tif ((closedPopupParent as Popover).showAt) {\n\t\t\tconst contentRect = (closedPopupParent as Popover).contentDOM.getBoundingClientRect();\n\t\t\toverflowsBottom = openerRect.top > (contentRect.top + contentRect.height);\n\t\t\toverflowsTop = (openerRect.top + openerRect.height) < contentRect.top;\n\t\t}\n\n\t\treturn (limits[placement] < 0 || (limits[placement] + threshold > (closedPopupParent as unknown as Window).innerHeight)) || overflowsBottom || overflowsTop;\n\t}\n\n\tshouldCloseDueToNoOpener(openerRect: DOMRect): boolean {\n\t\treturn openerRect.top === 0\n\t\t\t&& openerRect.bottom === 0\n\t\t\t&& openerRect.left === 0\n\t\t\t&& openerRect.right === 0;\n\t}\n\n\tisOpenerOutsideViewport(openerRect: DOMRect): boolean {\n\t\treturn openerRect.bottom < 0\n\t\t\t|| openerRect.top > window.innerHeight\n\t\t\t|| openerRect.right < 0\n\t\t\t|| openerRect.left > window.innerWidth;\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_resize() {\n\t\tsuper._resize();\n\n\t\tif (this.opened) {\n\t\t\tthis.reposition();\n\t\t}\n\t}\n\n\treposition() {\n\t\tthis._show();\n\t}\n\n\t_show() {\n\t\tif (!this.opened) {\n\t\t\tthis._showOutsideViewport();\n\t\t}\n\n\t\tconst popoverSize = this.getPopoverSize();\n\t\tlet placement;\n\n\t\tif (popoverSize.width === 0 || popoverSize.height === 0) {\n\t\t\t// size can not be determined properly at this point, popover will be shown with the next reposition\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isOpen()) {\n\t\t\t// update opener rect if it was changed during the popover being opened\n\t\t\tthis._openerRect = this._opener!.getBoundingClientRect();\n\t\t}\n\n\t\tif (this.shouldCloseDueToNoOpener(this._openerRect!) && this.isFocusWithin() && this._oldPlacement) {\n\t\t\t// reuse the old placement as the opener is not available,\n\t\t\t// but keep the popover open as the focus is within\n\t\t\tplacement = this._oldPlacement;\n\t\t} else {\n\t\t\tplacement = this.calcPlacement(this._openerRect!, popoverSize);\n\t\t}\n\n\t\tif (this._preventRepositionAndClose || this.isOpenerOutsideViewport(this._openerRect!)) {\n\t\t\treturn this.close();\n\t\t}\n\n\t\tthis._oldPlacement = placement;\n\t\tthis.actualPlacementType = placement.placementType;\n\n\t\tlet left = clamp(\n\t\t\tthis._left!,\n\t\t\tPopover.VIEWPORT_MARGIN,\n\t\t\tdocument.documentElement.clientWidth - popoverSize.width - Popover.VIEWPORT_MARGIN,\n\t\t);\n\n\t\tif (this.actualPlacementType === PopoverPlacementType.Right) {\n\t\t\tleft = Math.max(left, this._left!);\n\t\t}\n\n\t\tlet top = clamp(\n\t\t\tthis._top!,\n\t\t\tPopover.VIEWPORT_MARGIN,\n\t\t\tdocument.documentElement.clientHeight - popoverSize.height - Popover.VIEWPORT_MARGIN,\n\t\t);\n\n\t\tif (this.actualPlacementType === PopoverPlacementType.Bottom) {\n\t\t\ttop = Math.max(top, this._top!);\n\t\t}\n\n\t\tthis.arrowTranslateX = placement.arrow.x;\n\t\tthis.arrowTranslateY = placement.arrow.y;\n\n\t\ttop = this._adjustForIOSKeyboard(top);\n\t\tconst containingBlockClientLocation = this._getContainingBlockClientLocation();\n\t\tleft -= containingBlockClientLocation.left;\n\t\ttop -= containingBlockClientLocation.top;\n\n\t\tObject.assign(this.style, {\n\t\t\ttop: `${top}px`,\n\t\t\tleft: `${left}px`,\n\t\t});\n\n\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Stretch && this._width) {\n\t\t\tthis.style.width = this._width;\n\t\t}\n\t}\n\n\t/**\n\t * Adjust the desired top position to compensate for shift of the screen\n\t * caused by opened keyboard on iOS which affects all elements with position:fixed.\n\t * @private\n\t * @param top The target top in px.\n\t * @returns The adjusted top in px.\n\t */\n\t_adjustForIOSKeyboard(top: number): number {\n\t\tif (!isIOS()) {\n\t\t\treturn top;\n\t\t}\n\n\t\tconst actualTop = Math.ceil(this.getBoundingClientRect().top);\n\n\t\treturn top + (Number.parseInt(this.style.top || \"0\") - actualTop);\n\t}\n\n\t_getContainingBlockClientLocation() {\n\t\tlet parentElement = getParentElement(this);\n\n\t\twhile (parentElement) {\n\t\t\tif (isElementContainingBlock(parentElement)) {\n\t\t\t\treturn parentElement.getBoundingClientRect();\n\t\t\t}\n\n\t\t\tparentElement = getParentElement(parentElement);\n\t\t}\n\n\t\treturn { left: 0, top: 0 };\n\t}\n\n\tgetPopoverSize(): PopoverSize {\n\t\tconst rect = this.getBoundingClientRect(),\n\t\t\twidth = rect.width,\n\t\t\theight = rect.height;\n\n\t\treturn { width, height };\n\t}\n\n\t_showOutsideViewport() {\n\t\tObject.assign(this.style, {\n\t\t\tdisplay: this._displayProp,\n\t\t\ttop: \"-10000px\",\n\t\t\tleft: \"-10000px\",\n\t\t});\n\t}\n\n\tget arrowDOM() {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popover-arrow\")!;\n\t}\n\n\t/**\n\t * @private\n\t */\n\tcalcPlacement(targetRect: DOMRect, popoverSize: PopoverSize): CalculatedPlacement {\n\t\tlet left = Popover.VIEWPORT_MARGIN;\n\t\tlet top = 0;\n\t\tconst allowTargetOverlap = this.allowTargetOverlap;\n\n\t\tconst clientWidth = document.documentElement.clientWidth;\n\t\tconst clientHeight = document.documentElement.clientHeight;\n\n\t\tlet maxHeight = clientHeight;\n\t\tlet maxWidth = clientWidth;\n\n\t\tconst placementType = this.getActualPlacementType(targetRect, popoverSize);\n\n\t\tthis._preventRepositionAndClose = this.shouldCloseDueToNoOpener(targetRect) || this.shouldCloseDueToOverflow(placementType, targetRect);\n\n\t\tconst isVertical = placementType === PopoverPlacementType.Top\n\t\t\t|| placementType === PopoverPlacementType.Bottom;\n\n\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Stretch && isVertical) {\n\t\t\tpopoverSize.width = targetRect.width;\n\t\t\tthis._width = `${targetRect.width}px`;\n\t\t} else if (this.verticalAlign === PopoverVerticalAlign.Stretch && !isVertical) {\n\t\t\tpopoverSize.height = targetRect.height;\n\t\t}\n\n\t\tconst arrowOffset = this.hideArrow ? 0 : ARROW_SIZE;\n\n\t\t// calc popover positions\n\t\tswitch (placementType) {\n\t\tcase PopoverPlacementType.Top:\n\t\t\tleft = this.getVerticalLeft(targetRect, popoverSize);\n\t\t\ttop = Math.max(targetRect.top - popoverSize.height - arrowOffset, 0);\n\n\t\t\tif (!allowTargetOverlap) {\n\t\t\t\tmaxHeight = targetRect.top - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacementType.Bottom:\n\t\t\tleft = this.getVerticalLeft(targetRect, popoverSize);\n\t\t\ttop = targetRect.bottom + arrowOffset;\n\n\t\t\tif (allowTargetOverlap) {\n\t\t\t\ttop = Math.max(Math.min(top, clientHeight - popoverSize.height), 0);\n\t\t\t} else {\n\t\t\t\tmaxHeight = clientHeight - targetRect.bottom - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacementType.Left:\n\t\t\tleft = Math.max(targetRect.left - popoverSize.width - arrowOffset, 0);\n\t\t\ttop = this.getHorizontalTop(targetRect, popoverSize);\n\n\t\t\tif (!allowTargetOverlap) {\n\t\t\t\tmaxWidth = targetRect.left - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacementType.Right:\n\t\t\tleft = targetRect.left + targetRect.width + arrowOffset;\n\t\t\ttop = this.getHorizontalTop(targetRect, popoverSize);\n\n\t\t\tif (allowTargetOverlap) {\n\t\t\t\tleft = Math.max(Math.min(left, clientWidth - popoverSize.width), 0);\n\t\t\t} else {\n\t\t\t\tmaxWidth = clientWidth - targetRect.right - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\t// correct popover positions\n\t\tif (isVertical) {\n\t\t\tif (popoverSize.width > clientWidth || left < Popover.VIEWPORT_MARGIN) {\n\t\t\t\tleft = Popover.VIEWPORT_MARGIN;\n\t\t\t} else if (left + popoverSize.width > clientWidth - Popover.VIEWPORT_MARGIN) {\n\t\t\t\tleft = clientWidth - Popover.VIEWPORT_MARGIN - popoverSize.width;\n\t\t\t}\n\t\t} else {\n\t\t\tif (popoverSize.height > clientHeight || top < 0) { // eslint-disable-line\n\t\t\t\ttop = 0;\n\t\t\t} else if (top + popoverSize.height > clientHeight) {\n\t\t\t\ttop -= top + popoverSize.height - clientHeight;\n\t\t\t}\n\t\t}\n\n\t\tthis._maxHeight = Math.round(maxHeight - Popover.VIEWPORT_MARGIN);\n\t\tthis._maxWidth = Math.round(maxWidth - Popover.VIEWPORT_MARGIN);\n\n\t\tif (this._left === undefined || Math.abs(this._left - left) > 1.5) {\n\t\t\tthis._left = Math.round(left);\n\t\t}\n\n\t\tif (this._top === undefined || Math.abs(this._top - top) > 1.5) {\n\t\t\tthis._top = Math.round(top);\n\t\t}\n\n\t\tconst borderRadius = Number.parseInt(window.getComputedStyle(this).getPropertyValue(\"border-radius\"));\n\t\tconst arrowPos = this.getArrowPosition(targetRect, popoverSize, left, top, isVertical, borderRadius);\n\n\t\treturn {\n\t\t\tarrow: arrowPos,\n\t\t\ttop: this._top,\n\t\t\tleft: this._left,\n\t\t\tplacementType,\n\t\t};\n\t}\n\n\t/**\n\t * Calculates the position for the arrow.\n\t * @private\n\t * @param targetRect BoundingClientRect of the target element\n\t * @param popoverSize Width and height of the popover\n\t * @param left Left offset of the popover\n\t * @param top Top offset of the popover\n\t * @param isVertical If the popover is positioned vertically to the target element\n\t * @param borderRadius Value of the border-radius property\n\t * @returns Arrow's coordinates\n\t */\n\tgetArrowPosition(targetRect: DOMRect, popoverSize: PopoverSize, left: number, top: number, isVertical: boolean, borderRadius: number): ArrowPosition {\n\t\tconst horizontalAlign = this._actualHorizontalAlign;\n\t\tlet arrowXCentered = horizontalAlign === PopoverHorizontalAlign.Center || horizontalAlign === PopoverHorizontalAlign.Stretch;\n\n\t\tif (horizontalAlign === PopoverHorizontalAlign.Right && left <= targetRect.left) {\n\t\t\tarrowXCentered = true;\n\t\t}\n\n\t\tif (horizontalAlign === PopoverHorizontalAlign.Left && left + popoverSize.width >= targetRect.left + targetRect.width) {\n\t\t\tarrowXCentered = true;\n\t\t}\n\n\t\tlet arrowTranslateX = 0;\n\t\tif (isVertical && arrowXCentered) {\n\t\t\tarrowTranslateX = targetRect.left + targetRect.width / 2 - left - popoverSize.width / 2;\n\t\t}\n\n\t\tlet arrowTranslateY = 0;\n\t\tif (!isVertical) {\n\t\t\tarrowTranslateY = targetRect.top + targetRect.height / 2 - top - popoverSize.height / 2;\n\t\t}\n\n\t\t// Restricts the arrow's translate value along each dimension,\n\t\t// so that the arrow does not clip over the popover's rounded borders.\n\t\tconst safeRangeForArrowY = popoverSize.height / 2 - borderRadius - ARROW_SIZE / 2;\n\t\tarrowTranslateY = clamp(\n\t\t\tarrowTranslateY,\n\t\t\t-safeRangeForArrowY,\n\t\t\tsafeRangeForArrowY,\n\t\t);\n\n\t\tconst safeRangeForArrowX = popoverSize.width / 2 - borderRadius - ARROW_SIZE / 2;\n\t\tarrowTranslateX = clamp(\n\t\t\tarrowTranslateX,\n\t\t\t-safeRangeForArrowX,\n\t\t\tsafeRangeForArrowX,\n\t\t);\n\n\t\treturn {\n\t\t\tx: Math.round(arrowTranslateX),\n\t\t\ty: Math.round(arrowTranslateY),\n\t\t};\n\t}\n\n\t/**\n\t * Fallbacks to new placement, prioritizing Left and Right placements.\n\t * @private\n\t */\n\tfallbackPlacement(clientWidth: number, clientHeight: number, targetRect: DOMRect, popoverSize: PopoverSize): PopoverPlacementType | undefined {\n\t\tif (targetRect.left > popoverSize.width) {\n\t\t\treturn PopoverPlacementType.Left;\n\t\t}\n\n\t\tif (clientWidth - targetRect.right > targetRect.left) {\n\t\t\treturn PopoverPlacementType.Right;\n\t\t}\n\n\t\tif (clientHeight - targetRect.bottom > popoverSize.height) {\n\t\t\treturn PopoverPlacementType.Bottom;\n\t\t}\n\n\t\tif (clientHeight - targetRect.bottom < targetRect.top) {\n\t\t\treturn PopoverPlacementType.Top;\n\t\t}\n\t}\n\n\tgetActualPlacementType(targetRect: DOMRect, popoverSize: PopoverSize): `${PopoverPlacementType}` {\n\t\tconst placementType = this.placementType;\n\t\tlet actualPlacementType = placementType;\n\n\t\tconst clientWidth = document.documentElement.clientWidth;\n\t\tconst clientHeight = document.documentElement.clientHeight;\n\n\t\tswitch (placementType) {\n\t\tcase PopoverPlacementType.Top:\n\t\t\tif (targetRect.top < popoverSize.height\n\t\t\t\t&& targetRect.top < clientHeight - targetRect.bottom) {\n\t\t\t\tactualPlacementType = PopoverPlacementType.Bottom;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacementType.Bottom:\n\t\t\tif (clientHeight - targetRect.bottom < popoverSize.height\n\t\t\t\t&& clientHeight - targetRect.bottom < targetRect.top) {\n\t\t\t\tactualPlacementType = PopoverPlacementType.Top;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacementType.Left:\n\t\t\tif (targetRect.left < popoverSize.width) {\n\t\t\t\tactualPlacementType = this.fallbackPlacement(clientWidth, clientHeight, targetRect, popoverSize) || placementType;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacementType.Right:\n\t\t\tif (clientWidth - targetRect.right < popoverSize.width) {\n\t\t\t\tactualPlacementType = this.fallbackPlacement(clientWidth, clientHeight, targetRect, popoverSize) || placementType;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\treturn actualPlacementType;\n\t}\n\n\tgetVerticalLeft(targetRect: DOMRect, popoverSize: PopoverSize): number {\n\t\tconst horizontalAlign = this._actualHorizontalAlign;\n\t\tlet left = Popover.VIEWPORT_MARGIN;\n\n\t\tswitch (horizontalAlign) {\n\t\tcase PopoverHorizontalAlign.Center:\n\t\tcase PopoverHorizontalAlign.Stretch:\n\t\t\tleft = targetRect.left - (popoverSize.width - targetRect.width) / 2;\n\t\t\tbreak;\n\t\tcase PopoverHorizontalAlign.Left:\n\t\t\tleft = targetRect.left;\n\t\t\tbreak;\n\t\tcase PopoverHorizontalAlign.Right:\n\t\t\tleft = targetRect.right - popoverSize.width;\n\t\t\tbreak;\n\t\t}\n\n\t\treturn left;\n\t}\n\n\tgetHorizontalTop(targetRect: DOMRect, popoverSize: PopoverSize): number {\n\t\tlet top = 0;\n\n\t\tswitch (this.verticalAlign) {\n\t\tcase PopoverVerticalAlign.Center:\n\t\tcase PopoverVerticalAlign.Stretch:\n\t\t\ttop = targetRect.top - (popoverSize.height - targetRect.height) / 2;\n\t\t\tbreak;\n\t\tcase PopoverVerticalAlign.Top:\n\t\t\ttop = targetRect.top;\n\t\t\tbreak;\n\t\tcase PopoverVerticalAlign.Bottom:\n\t\t\ttop = targetRect.bottom - popoverSize.height;\n\t\t\tbreak;\n\t\t}\n\n\t\treturn top;\n\t}\n\n\tget isModal() { // Required by Popup.js\n\t\treturn this.modal;\n\t}\n\n\tget shouldHideBackdrop() { // Required by Popup.js\n\t\treturn this.hideBackdrop;\n\t}\n\n\tget _ariaLabelledBy() { // Required by Popup.js\n\t\tif (!this._ariaLabel && this._displayHeader) {\n\t\t\treturn \"ui5-popup-header\";\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\t...super.styles,\n\t\t\troot: {\n\t\t\t\t\"max-height\": this._maxHeight ? `${this._maxHeight}px` : \"\",\n\t\t\t\t\"max-width\": this._maxWidth ? `${this._maxWidth}px` : \"\",\n\t\t\t},\n\t\t\tarrow: {\n\t\t\t\ttransform: `translate(${this.arrowTranslateX}px, ${this.arrowTranslateY}px)`,\n\t\t\t},\n\t\t};\n\t}\n\n\tget classes() {\n\t\tconst allClasses = super.classes;\n\t\tallClasses.root[\"ui5-popover-root\"] = true;\n\n\t\treturn allClasses;\n\t}\n\n\t/**\n\t * Hook for descendants to hide header.\n\t */\n\tget _displayHeader() {\n\t\treturn !!(this.header.length || this.headerText);\n\t}\n\n\t/**\n\t * Hook for descendants to hide footer.\n\t */\n\tget _displayFooter() {\n\t\treturn true;\n\t}\n\n\tget _actualHorizontalAlign() {\n\t\tif (this.effectiveDir === \"rtl\") {\n\t\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Left) {\n\t\t\t\treturn PopoverHorizontalAlign.Right;\n\t\t\t}\n\n\t\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Right) {\n\t\t\t\treturn PopoverHorizontalAlign.Left;\n\t\t\t}\n\t\t}\n\n\t\treturn this.horizontalAlign;\n\t}\n}\n\nconst instanceOfPopover = (object: any): object is Popover => {\n\treturn \"showAt\" in object;\n};\n\nPopover.define();\n\nexport default Popover;\n\nexport { instanceOfPopover };\n\nexport type {\n\tPopoverBeforeCloseEventDetail,\n};\n","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"resize-corner\";\nconst pathData = \"M384 224v32q0 12-10 22L182 470q-10 10-22 10h-32zM224 480l160-160v32q0 12-10 22l-96 96q-10 10-22 10h-32zm160-64v32q0 12-10 22t-22 10h-32z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v4\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v4/resize-corner\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"resize-corner\";\nconst pathData = \"M202 512q-11 0-18.5-7.5T176 486q0-10 8-18l204-205q7-7 18-7t18.5 7.5T432 282t-7 18L220 505q-7 7-18 7zm128 0q-11 0-18.5-7.5T304 486q0-10 8-18l76-77q7-7 18-7t18.5 7.5T432 410t-7 18l-77 77q-7 7-18 7z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v5\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v5/resize-corner\";\nexport { pathData, ltr, accData };","import { isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { pathData as pathDatav4, ltr, accData } from \"./v4/resize-corner.js\";\nimport { pathData as pathDatav5 } from \"./v5/resize-corner.js\";\n\nconst pathData = isLegacyThemeFamily() ? pathDatav4 : pathDatav5;\n\nexport default \"resize-corner\";\nexport { pathData, ltr, accData };","/* eslint no-unused-vars: 0 */\nimport { html, svg, repeat, classMap, styleMap, ifDefined, unsafeHTML, scopeTag } from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\timport type Dialog from \"../../Dialog.js\";\n\timport type { ClassMapValue } from \"@ui5/webcomponents-base/dist/types.js\";\n\t\nfunction block0 (this: Dialog, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    ${ this._displayHeader ? block1.call(this, context, tags, suffix) : undefined }
    ${ this.footer.length ? block10.call(this, context, tags, suffix) : undefined }${ this._showResizeHandle ? block11.call(this, context, tags, suffix) : undefined }
    `;}\nfunction block1 (this: Dialog, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    ${ this.hasValueState ? block2.call(this, context, tags, suffix) : undefined }${ this.header.length ? block3.call(this, context, tags, suffix) : block4.call(this, context, tags, suffix) }${ this.resizable ? block5.call(this, context, tags, suffix) : block8.call(this, context, tags, suffix) }
    `;}\nfunction block2 (this: Dialog, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-icon\", tags, suffix)} class=\"ui5-dialog-value-state-icon\" name=\"${ifDefined(this._dialogStateIcon)}\">` : html``;}\nfunction block3 (this: Dialog, context: UI5Element, tags: string[], suffix: string | undefined) { return html``;}\nfunction block4 (this: Dialog, context: UI5Element, tags: string[], suffix: string | undefined) { return html`

    ${ifDefined(this.headerText)}

    `;}\nfunction block5 (this: Dialog, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.draggable ? block6.call(this, context, tags, suffix) : block7.call(this, context, tags, suffix) }`;}\nfunction block6 (this: Dialog, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ifDefined(this.ariaDescribedByHeaderTextDraggableAndResizable)}`;}\nfunction block7 (this: Dialog, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ifDefined(this.ariaDescribedByHeaderTextResizable)}`;}\nfunction block8 (this: Dialog, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.draggable ? block9.call(this, context, tags, suffix) : undefined }`;}\nfunction block9 (this: Dialog, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ifDefined(this.ariaDescribedByHeaderTextDraggable)}`;}\nfunction block10 (this: Dialog, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    `;}\nfunction block11 (this: Dialog, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-icon\", tags, suffix)} name=\"resize-corner\" class=\"ui5-popup-resize-handle\" @mousedown=\"${this._onResizeMouseDown}\">` : html``;}\n\n\nexport default block0;","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents\",fileName:\"themes/Dialog.css.ts\",content:`.ui5-hidden-text{position:absolute;clip:rect(1px,1px,1px,1px);user-select:none;left:-1000px;top:-1000px;pointer-events:none;font-size:0}:host{min-width:20rem;min-height:6rem;max-height:94%;max-width:90%;flex-direction:column;box-shadow:var(--sapContent_Shadow3);border-radius:var(--sapElement_BorderCornerRadius)}:host([stretch]){width:90%;height:94%}:host([stretch][on-phone]){width:100%;height:100%;max-height:100%;max-width:100%;border-radius:0}:host([draggable]) .ui5-popup-header-root,:host([draggable]) ::slotted([slot=\"header\"]){cursor:move}:host([draggable]) .ui5-popup-header-root *{cursor:auto}:host([draggable]) .ui5-popup-root{user-select:text}.ui5-popup-root{display:flex;flex-direction:column;max-width:100vw}.ui5-popup-header-root{position:relative}.ui5-popup-header-root:before{content:\"\";position:absolute;inset-block-start:auto;inset-block-end:0;inset-inline-start:0;inset-inline-end:0;height:var(--_ui5-v1-22-0-rc-3_dialog_header_state_line_height);background:var(--sapObjectHeader_BorderColor)}:host([state=\"Error\"]) .ui5-popup-header-root:before{background:var(--sapErrorBorderColor)}:host([state=\"Information\"]) .ui5-popup-header-root:before{background:var(--sapInformationBorderColor)}:host([state=\"Success\"]) .ui5-popup-header-root:before{background:var(--sapSuccessBorderColor)}:host([state=\"Warning\"]) .ui5-popup-header-root:before{background:var(--sapWarningBorderColor)}.ui5-dialog-value-state-icon{margin-inline-end:.5rem}:host([state=\"Error\"]) .ui5-dialog-value-state-icon{color:var(--_ui5-v1-22-0-rc-3_dialog_header_error_state_icon_color)}:host([state=\"Information\"]) .ui5-dialog-value-state-icon{color:var(--_ui5-v1-22-0-rc-3_dialog_header_information_state_icon_color)}:host([state=\"Success\"]) .ui5-dialog-value-state-icon{color:var(--_ui5-v1-22-0-rc-3_dialog_header_success_state_icon_color)}:host([state=\"Warning\"]) .ui5-dialog-value-state-icon{color:var(--_ui5-v1-22-0-rc-3_dialog_header_warning_state_icon_color)}.ui5-popup-header-root{outline:none}.ui5-popup-header-root:focus:after{content:\"\";position:absolute;left:var(--_ui5-v1-22-0-rc-3_dialog_header_focus_left_offset);bottom:var(--_ui5-v1-22-0-rc-3_dialog_header_focus_bottom_offset);right:var(--_ui5-v1-22-0-rc-3_dialog_header_focus_right_offset);top:var(--_ui5-v1-22-0-rc-3_dialog_header_focus_top_offset);border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);border-radius:var(--_ui5-v1-22-0-rc-3_dialog_header_border_radius) var(--_ui5-v1-22-0-rc-3_dialog_header_border_radius) 0 0;pointer-events:none}:host([stretch]) .ui5-popup-content{width:100%;height:100%}.ui5-popup-content{min-height:var(--_ui5-v1-22-0-rc-3_dialog_content_min_height);flex:1 1 auto}.ui5-popup-resize-handle{position:absolute;bottom:var(--_ui5-v1-22-0-rc-3_dialog_resize_handle_bottom);inset-inline-end:var(--_ui5-v1-22-0-rc-3_dialog_resize_handle_right);cursor:var(--_ui5-v1-22-0-rc-3_dialog_resize_cursor);color:var(--_ui5-v1-22-0-rc-3_dialog_resize_handle_color)}::slotted([slot=\"footer\"]){height:var(--_ui5-v1-22-0-rc-3_dialog_footer_height)}::slotted([slot=\"footer\"][ui5-bar][design=\"Footer\"]){border-top:none}::slotted([slot=\"header\"][ui5-bar]){box-shadow:none}\n`};\nexport default styleData;\n\t","import { isPhone, isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport clamp from \"@ui5/webcomponents-base/dist/util/clamp.js\";\nimport {\n\tisUp, isDown, isLeft, isRight,\n\tisUpShift, isDownShift, isLeftShift, isRightShift,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport Popup from \"./Popup.js\";\nimport type { PopupBeforeCloseEventDetail as DialogBeforeCloseEventDetail } from \"./Popup.js\";\nimport Icon from \"./Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/resize-corner.js\";\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport \"@ui5/webcomponents-icons/dist/information.js\";\n\nimport {\n\tDIALOG_HEADER_ARIA_ROLE_DESCRIPTION,\n\tDIALOG_HEADER_ARIA_DESCRIBEDBY_RESIZABLE,\n\tDIALOG_HEADER_ARIA_DESCRIBEDBY_DRAGGABLE,\n\tDIALOG_HEADER_ARIA_DESCRIBEDBY_DRAGGABLE_RESIZABLE,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport DialogTemplate from \"./generated/templates/DialogTemplate.lit.js\";\n// Styles\nimport browserScrollbarCSS from \"./generated/themes/BrowserScrollbar.css.js\";\nimport PopupsCommonCss from \"./generated/themes/PopupsCommon.css.js\";\nimport dialogCSS from \"./generated/themes/Dialog.css.js\";\nimport PopupAccessibleRole from \"./types/PopupAccessibleRole.js\";\n\n/**\n * Defines the step size at which this component would change by when being dragged or resized with the keyboard.\n */\nconst STEP_SIZE = 16;\n\ntype ValueStateWithIcon = ValueState.Error | ValueState.Warning | ValueState.Success | ValueState.Information;\n/**\n * Defines the icons corresponding to the dialog's state.\n */\nconst ICON_PER_STATE: Record = {\n\t[ValueState.Error]: \"error\",\n\t[ValueState.Warning]: \"alert\",\n\t[ValueState.Success]: \"sys-enter-2\",\n\t[ValueState.Information]: \"information\",\n};\n\n/**\n * @class\n *

    Overview

    \n * The ui5-dialog component is used to temporarily display some information in a\n * size-limited window in front of the regular app screen.\n * It is used to prompt the user for an action or a confirmation.\n * The ui5-dialog interrupts the current app processing as it is the only focused UI element and\n * the main screen is dimmed/blocked.\n * The dialog combines concepts known from other technologies where the windows have\n * names such as dialog box, dialog window, pop-up, pop-up window, alert box, or message box.\n *

    \n * The ui5-dialog is modal, which means that an user action is required before it is possible to return to the parent window.\n * To open multiple dialogs, each dialog element should be separate in the markup. This will ensure the correct modal behavior. Avoid nesting dialogs within each other.\n * The content of the ui5-dialog is fully customizable.\n *\n *

    Structure

    \n * A ui5-dialog consists of a header, content, and a footer for action buttons.\n * The ui5-dialog is usually displayed at the center of the screen.\n * Its position can be changed by the user. To enable this, you need to set the property draggable accordingly.\n\n *\n *

    Responsive Behavior

    \n * The stretch property can be used to stretch the\n * ui5-dialog on full screen.\n *\n * Note: When a ui5-bar is used in the header or in the footer, you should remove the default dialog's paddings.\n *
    \n * For more information see the sample \"Bar in Header/Footer\".\n\n *\n *

    ES6 Module Import

    \n *\n * import \"@ui5/webcomponents/dist/Dialog\";\n *\n * Note: We recommend placing popup-like components (ui5-dialog and ui5-popover)\n * outside any other components. Preferably, the popup-like components should be placed\n * in an upper level HTML element. Otherwise, in some cases the parent HTML elements can break\n * the position and/or z-index management of the popup-like components.\n *\n * Note: We don't recommend nesting popup-like components (ui5-dialog, ui5-popover).\n *\n * @constructor\n * @extends Popup\n * @public\n * @csspart header - Used to style the header of the component\n * @csspart content - Used to style the content of the component\n * @csspart footer - Used to style the footer of the component\n */\n@customElement({\n\ttag: \"ui5-dialog\",\n\ttemplate: DialogTemplate,\n\tstyles: [\n\t\tbrowserScrollbarCSS,\n\t\tPopupsCommonCss,\n\t\tdialogCSS,\n\t],\n\tdependencies: [\n\t\tIcon,\n\t],\n})\nclass Dialog extends Popup {\n\t/**\n\t * Defines the header text.\n\t *

    \n\t * Note: If header slot is provided, the headerText is ignored.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\theaderText!: string;\n\n\t/**\n\t * Determines whether the component should be stretched to fullscreen.\n\t *

    \n\t * Note: The component will be stretched to approximately\n\t * 90% of the viewport.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tstretch!: boolean;\n\n\t/**\n\t * Determines whether the component is draggable.\n\t * If this property is set to true, the Dialog will be draggable by its header.\n\t *

    \n\t * Note: The component can be draggable only in desktop mode.\n\t *

    \n\t * Note: This property overrides the default HTML \"draggable\" attribute native behavior.\n\t * When \"draggable\" is set to true, the native browser \"draggable\"\n\t * behavior is prevented and only the Dialog custom logic (\"draggable by its header\") works.\n\t * @default false\n\t * @since 1.0.0-rc.9\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdraggable!: boolean;\n\n\t/**\n\t * Configures the component to be resizable.\n\t * If this property is set to true, the Dialog will have a resize handle in its bottom right corner in LTR languages.\n\t * In RTL languages, the resize handle will be placed in the bottom left corner.\n\t *

    \n\t * Note: The component can be resizable only in desktop mode.\n\t *
    \n\t * Note: Upon resizing, externally defined height and width styling will be ignored.\n\t * @default false\n\t * @since 1.0.0-rc.10\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tresizable!: boolean;\n\n\t/**\n\t * Defines the state of the Dialog.\n\t *
    Note: If \"Error\" and \"Warning\" state is set, it will change the\n\t * accessibility role to \"alertdialog\", if the accessibleRole property is set to \"Dialog\".\n\t * @default \"None\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tstate!: `${ValueState}`;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tonPhone!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tonDesktop!: boolean;\n\n\t_screenResizeHandler: () => void;\n\t_dragMouseMoveHandler: (e: MouseEvent) => void;\n\t_dragMouseUpHandler: (e: MouseEvent) => void;\n\t_resizeMouseMoveHandler: (e: MouseEvent) => void;\n\t_resizeMouseUpHandler: (e: MouseEvent) => void;\n\t_dragStartHandler: (e: DragEvent) => void;\n\t_y?: number;\n\t_x?: number;\n\t_isRTL?: boolean;\n\t_screenResizeHandlerAttached?: boolean;\n\t_initialX?: number;\n\t_initialY?: number;\n\t_initialWidth?: number;\n\t_initialHeight?: number;\n\t_initialTop?: number;\n\t_initialLeft?: number;\n\t_minWidth?: number;\n\t_cachedMinHeight?: number;\n\t_draggedOrResized = false;\n\n\t/**\n\t * Defines the header HTML Element.\n\t *

    \n\t * Note: When a ui5-bar is used in the header, you should remove the default dialog's paddings.\n\t *

    \n\t * Note: If header slot is provided, the labelling of the dialog is a responsibility of the application developer.\n\t * accessibleName should be used.\n\t *\n\t * @public\n\t */\n\t@slot()\n\theader!: Array;\n\n\t/**\n\t * Defines the footer HTML Element.\n\t *

    \n\t * Note: When a ui5-bar is used in the footer, you should remove the default dialog's paddings.\n\t *\n\t * @public\n\t */\n\t@slot()\n\tfooter!: Array;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._screenResizeHandler = this._screenResize.bind(this);\n\n\t\tthis._dragMouseMoveHandler = this._onDragMouseMove.bind(this);\n\t\tthis._dragMouseUpHandler = this._onDragMouseUp.bind(this);\n\n\t\tthis._resizeMouseMoveHandler = this._onResizeMouseMove.bind(this);\n\t\tthis._resizeMouseUpHandler = this._onResizeMouseUp.bind(this);\n\n\t\tthis._dragStartHandler = this._handleDragStart.bind(this);\n\t}\n\n\tstatic async onDefine() {\n\t\tDialog.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tstatic _isHeader(element: HTMLElement) {\n\t\treturn element.classList.contains(\"ui5-popup-header-root\") || element.getAttribute(\"slot\") === \"header\";\n\t}\n\n\t/**\n\t * Shows the dialog.\n\t *\n\t * @param [preventInitialFocus=false] Prevents applying the focus inside the popup\n\t * @public\n\t * @returns Resolves when the dialog is open\n\t */\n\tasync show(preventInitialFocus = false): Promise {\n\t\tawait super._open(preventInitialFocus);\n\t}\n\n\tget isModal() {\n\t\treturn true;\n\t}\n\n\tget shouldHideBackdrop() {\n\t\treturn false;\n\t}\n\n\tget _ariaLabelledBy() {\n\t\tlet ariaLabelledById;\n\n\t\tif (this.headerText !== \"\" && !this._ariaLabel) {\n\t\t\tariaLabelledById = \"ui5-popup-header-text\";\n\t\t}\n\n\t\treturn ariaLabelledById;\n\t}\n\n\tget ariaRoleDescriptionHeaderText() {\n\t\treturn (this.resizable || this.draggable) ? Dialog.i18nBundle.getText(DIALOG_HEADER_ARIA_ROLE_DESCRIPTION) : undefined;\n\t}\n\n\tget effectiveAriaDescribedBy() {\n\t\treturn (this.resizable || this.draggable) ? `${this._id}-descr` : undefined;\n\t}\n\n\tget ariaDescribedByHeaderTextResizable() {\n\t\treturn Dialog.i18nBundle.getText(DIALOG_HEADER_ARIA_DESCRIBEDBY_RESIZABLE);\n\t}\n\n\tget ariaDescribedByHeaderTextDraggable() {\n\t\treturn Dialog.i18nBundle.getText(DIALOG_HEADER_ARIA_DESCRIBEDBY_DRAGGABLE);\n\t}\n\n\tget ariaDescribedByHeaderTextDraggableAndResizable() {\n\t\treturn Dialog.i18nBundle.getText(DIALOG_HEADER_ARIA_DESCRIBEDBY_DRAGGABLE_RESIZABLE);\n\t}\n\n\tget _displayProp() {\n\t\treturn \"flex\";\n\t}\n\n\t/**\n\t * Determines if the header should be shown.\n\t */\n\tget _displayHeader() {\n\t\treturn this.header.length || this.headerText || this.draggable || this.resizable;\n\t}\n\n\tget _movable() {\n\t\treturn !this.stretch && this.onDesktop && (this.draggable || this.resizable);\n\t}\n\n\tget _headerTabIndex() {\n\t\treturn this._movable ? \"0\" : undefined;\n\t}\n\n\tget _showResizeHandle() {\n\t\treturn this.resizable && this.onDesktop;\n\t}\n\n\tget _minHeight() {\n\t\tlet minHeight = Number.parseInt(window.getComputedStyle(this.contentDOM).minHeight);\n\n\t\tconst header = this._root.querySelector(\".ui5-popup-header-root\");\n\t\tif (header) {\n\t\t\tminHeight += header.offsetHeight;\n\t\t}\n\n\t\tconst footer = this._root.querySelector(\".ui5-popup-footer-root\");\n\t\tif (footer) {\n\t\t\tminHeight += footer.offsetHeight;\n\t\t}\n\n\t\treturn minHeight;\n\t}\n\n\tget hasValueState() {\n\t\treturn this.state !== ValueState.None;\n\t}\n\n\tget _dialogStateIcon() {\n\t\treturn ICON_PER_STATE[this.state as ValueStateWithIcon];\n\t}\n\n\tget _role(): string | undefined {\n\t\tif (this.accessibleRole === PopupAccessibleRole.None) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (this.state === ValueState.Error || this.state === ValueState.Warning) {\n\t\t\treturn PopupAccessibleRole.AlertDialog.toLowerCase();\n\t\t}\n\n\t\treturn this.accessibleRole.toLowerCase();\n\t}\n\n\t_show() {\n\t\tsuper._show();\n\t\tthis._center();\n\t}\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\n\t\tthis._isRTL = this.effectiveDir === \"rtl\";\n\t\tthis.onPhone = isPhone();\n\t\tthis.onDesktop = isDesktop();\n\t}\n\n\tonAfterRendering() {\n\t\tsuper.onAfterRendering();\n\n\t\tif (!this.isOpen() && this.open) {\n\t\t\tthis.show();\n\t\t} else if (this.isOpen() && !this.open) {\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tsuper.onEnterDOM();\n\t\tthis._attachScreenResizeHandler();\n\n\t\tthis.addEventListener(\"dragstart\", this._dragStartHandler);\n\t}\n\n\tonExitDOM() {\n\t\tsuper.onExitDOM();\n\t\tthis._detachScreenResizeHandler();\n\n\t\tthis.removeEventListener(\"dragstart\", this._dragStartHandler);\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_resize() {\n\t\tsuper._resize();\n\n\t\tif (!this._draggedOrResized) {\n\t\t\tthis._center();\n\t\t}\n\t}\n\n\t_screenResize() {\n\t\tthis._center();\n\t}\n\n\t_attachScreenResizeHandler() {\n\t\tif (!this._screenResizeHandlerAttached) {\n\t\t\twindow.addEventListener(\"resize\", this._screenResizeHandler);\n\t\t\tthis._screenResizeHandlerAttached = true;\n\t\t}\n\t}\n\n\t_detachScreenResizeHandler() {\n\t\tif (this._screenResizeHandlerAttached) {\n\t\t\twindow.removeEventListener(\"resize\", this._screenResizeHandler);\n\t\t\tthis._screenResizeHandlerAttached = false; // prevent dialog from repositioning during resizing\n\t\t}\n\t}\n\n\t_center() {\n\t\tconst height = window.innerHeight - this.offsetHeight,\n\t\t\twidth = window.innerWidth - this.offsetWidth;\n\n\t\tObject.assign(this.style, {\n\t\t\ttop: `${Math.round(height / 2)}px`,\n\t\t\tleft: `${Math.round(width / 2)}px`,\n\t\t});\n\t}\n\n\t_revertSize = () => {\n\t\tObject.assign(this.style, {\n\t\t\ttop: \"\",\n\t\t\tleft: \"\",\n\t\t\twidth: \"\",\n\t\t\theight: \"\",\n\t\t});\n\t}\n\n\t/**\n\t * Event handlers\n\t */\n\t_onDragMouseDown(e: DragEvent) {\n\t\t// allow dragging only on the header\n\t\tif (!this._movable || !this.draggable || !Dialog._isHeader(e.target as HTMLElement)) {\n\t\t\treturn;\n\t\t}\n\n\t\te.preventDefault();\n\n\t\tconst {\n\t\t\ttop,\n\t\t\tleft,\n\t\t} = this.getBoundingClientRect();\n\t\tconst {\n\t\t\twidth,\n\t\t\theight,\n\t\t} = window.getComputedStyle(this);\n\n\t\tObject.assign(this.style, {\n\t\t\ttop: `${top}px`,\n\t\t\tleft: `${left}px`,\n\t\t\twidth: `${Math.round(Number.parseFloat(width) * 100) / 100}px`,\n\t\t\theight: `${Math.round(Number.parseFloat(height) * 100) / 100}px`,\n\t\t});\n\n\t\tthis._x = e.clientX;\n\t\tthis._y = e.clientY;\n\n\t\tthis._draggedOrResized = true;\n\t\tthis._attachMouseDragHandlers();\n\t}\n\n\t_onDragMouseMove(e: MouseEvent) {\n\t\te.preventDefault();\n\n\t\tconst { clientX, clientY } = e;\n\t\tconst calcX = this._x! - clientX;\n\t\tconst calcY = this._y! - clientY;\n\t\tconst {\n\t\t\tleft,\n\t\t\ttop,\n\t\t} = this.getBoundingClientRect();\n\n\t\tObject.assign(this.style, {\n\t\t\tleft: `${Math.floor(left - calcX)}px`,\n\t\t\ttop: `${Math.floor(top - calcY)}px`,\n\t\t});\n\n\t\tthis._x = clientX;\n\t\tthis._y = clientY;\n\t}\n\n\t_onDragMouseUp() {\n\t\tdelete this._x;\n\t\tdelete this._y;\n\n\t\tthis._detachMouseDragHandlers();\n\t}\n\n\t_onDragOrResizeKeyDown(e: KeyboardEvent) {\n\t\tif (!this._movable || !Dialog._isHeader(e.target as HTMLElement)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.draggable && [isUp, isDown, isLeft, isRight].some(key => key(e))) {\n\t\t\tthis._dragWithEvent(e);\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.resizable && [isUpShift, isDownShift, isLeftShift, isRightShift].some(key => key(e))) {\n\t\t\tthis._resizeWithEvent(e);\n\t\t}\n\t}\n\n\t_dragWithEvent(e: KeyboardEvent) {\n\t\tconst {\n\t\t\ttop,\n\t\t\tleft,\n\t\t\twidth,\n\t\t\theight,\n\t\t} = this.getBoundingClientRect();\n\n\t\tlet newPos = 0;\n\t\tlet posDirection: \"top\" | \"left\" = \"top\";\n\n\t\tswitch (true) {\n\t\tcase isUp(e):\n\t\t\tnewPos = top - STEP_SIZE;\n\t\t\tposDirection = \"top\";\n\t\t\tbreak;\n\t\tcase isDown(e):\n\t\t\tnewPos = top + STEP_SIZE;\n\t\t\tposDirection = \"top\";\n\t\t\tbreak;\n\t\tcase isLeft(e):\n\t\t\tnewPos = left - STEP_SIZE;\n\t\t\tposDirection = \"left\";\n\t\t\tbreak;\n\t\tcase isRight(e):\n\t\t\tnewPos = left + STEP_SIZE;\n\t\t\tposDirection = \"left\";\n\t\t\tbreak;\n\t\t}\n\n\t\tnewPos = clamp(\n\t\t\tnewPos,\n\t\t\t0,\n\t\t\tposDirection === \"left\" ? window.innerWidth - width : window.innerHeight - height,\n\t\t);\n\n\t\tthis.style[posDirection] = `${newPos}px`;\n\t}\n\n\t_resizeWithEvent(e: KeyboardEvent) {\n\t\tthis._draggedOrResized = true;\n\t\tthis.addEventListener(\"ui5-before-close\", this._revertSize, { once: true });\n\n\t\tconst { top, left } = this.getBoundingClientRect(),\n\t\t\tstyle = window.getComputedStyle(this),\n\t\t\tminWidth = Number.parseFloat(style.minWidth),\n\t\t\tmaxWidth = window.innerWidth - left,\n\t\t\tmaxHeight = window.innerHeight - top;\n\n\t\tlet width = Number.parseFloat(style.width),\n\t\t\theight = Number.parseFloat(style.height);\n\n\t\tswitch (true) {\n\t\tcase isUpShift(e):\n\t\t\theight -= STEP_SIZE;\n\t\t\tbreak;\n\t\tcase isDownShift(e):\n\t\t\theight += STEP_SIZE;\n\t\t\tbreak;\n\t\tcase isLeftShift(e):\n\t\t\twidth -= STEP_SIZE;\n\t\t\tbreak;\n\t\tcase isRightShift(e):\n\t\t\twidth += STEP_SIZE;\n\t\t\tbreak;\n\t\t}\n\n\t\twidth = clamp(width, minWidth, maxWidth);\n\t\theight = clamp(height, this._minHeight, maxHeight);\n\n\t\tObject.assign(this.style, {\n\t\t\twidth: `${width}px`,\n\t\t\theight: `${height}px`,\n\t\t});\n\t}\n\n\t_attachMouseDragHandlers() {\n\t\twindow.addEventListener(\"mousemove\", this._dragMouseMoveHandler);\n\t\twindow.addEventListener(\"mouseup\", this._dragMouseUpHandler);\n\t}\n\n\t_detachMouseDragHandlers() {\n\t\twindow.removeEventListener(\"mousemove\", this._dragMouseMoveHandler);\n\t\twindow.removeEventListener(\"mouseup\", this._dragMouseUpHandler);\n\t}\n\n\t_onResizeMouseDown(e: MouseEvent) {\n\t\tif (!this._movable || !this.resizable) {\n\t\t\treturn;\n\t\t}\n\n\t\te.preventDefault();\n\n\t\tconst {\n\t\t\ttop,\n\t\t\tleft,\n\t\t} = this.getBoundingClientRect();\n\t\tconst {\n\t\t\twidth,\n\t\t\theight,\n\t\t\tminWidth,\n\t\t} = window.getComputedStyle(this);\n\n\t\tthis._initialX = e.clientX;\n\t\tthis._initialY = e.clientY;\n\t\tthis._initialWidth = Number.parseFloat(width);\n\t\tthis._initialHeight = Number.parseFloat(height);\n\t\tthis._initialTop = top;\n\t\tthis._initialLeft = left;\n\t\tthis._minWidth = Number.parseFloat(minWidth);\n\t\tthis._cachedMinHeight = this._minHeight;\n\n\t\tObject.assign(this.style, {\n\t\t\ttop: `${top}px`,\n\t\t\tleft: `${left}px`,\n\t\t});\n\n\t\tthis._draggedOrResized = true;\n\t\tthis._attachMouseResizeHandlers();\n\t}\n\n\t_onResizeMouseMove(e: MouseEvent) {\n\t\tconst { clientX, clientY } = e;\n\n\t\tlet newWidth,\n\t\t\tnewLeft;\n\n\t\tif (this._isRTL) {\n\t\t\tnewWidth = clamp(\n\t\t\t\tthis._initialWidth! - (clientX - this._initialX!),\n\t\t\t\tthis._minWidth!,\n\t\t\t\tthis._initialLeft! + this._initialWidth!,\n\t\t\t);\n\n\t\t\tnewLeft = clamp(\n\t\t\t\tthis._initialLeft! + (clientX - this._initialX!),\n\t\t\t\t0,\n\t\t\t\tthis._initialX! + this._initialWidth! - this._minWidth!,\n\t\t\t);\n\t\t} else {\n\t\t\tnewWidth = clamp(\n\t\t\t\tthis._initialWidth! + (clientX - this._initialX!),\n\t\t\t\tthis._minWidth!,\n\t\t\t\twindow.innerWidth - this._initialLeft!,\n\t\t\t);\n\t\t}\n\n\t\tconst newHeight = clamp(\n\t\t\tthis._initialHeight! + (clientY - this._initialY!),\n\t\t\tthis._cachedMinHeight!,\n\t\t\twindow.innerHeight - this._initialTop!,\n\t\t);\n\n\t\tObject.assign(this.style, {\n\t\t\theight: `${newHeight}px`,\n\t\t\twidth: `${newWidth}px`,\n\t\t\tleft: newLeft ? `${newLeft}px` : undefined,\n\t\t});\n\t}\n\n\t_onResizeMouseUp() {\n\t\tdelete this._initialX;\n\t\tdelete this._initialY;\n\t\tdelete this._initialWidth;\n\t\tdelete this._initialHeight;\n\t\tdelete this._initialTop;\n\t\tdelete this._initialLeft;\n\t\tdelete this._minWidth;\n\t\tdelete this._cachedMinHeight;\n\n\t\tthis._detachMouseResizeHandlers();\n\t}\n\n\t_handleDragStart(e: DragEvent) {\n\t\tif (this.draggable) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_attachMouseResizeHandlers() {\n\t\twindow.addEventListener(\"mousemove\", this._resizeMouseMoveHandler);\n\t\twindow.addEventListener(\"mouseup\", this._resizeMouseUpHandler);\n\t\tthis.addEventListener(\"ui5-before-close\", this._revertSize, { once: true });\n\t}\n\n\t_detachMouseResizeHandlers() {\n\t\twindow.removeEventListener(\"mousemove\", this._resizeMouseMoveHandler);\n\t\twindow.removeEventListener(\"mouseup\", this._resizeMouseUpHandler);\n\t}\n}\n\nDialog.define();\n\nexport default Dialog;\nexport type {\n\tDialogBeforeCloseEventDetail,\n};\n","const willShowContent = (childNodes: Array) => {\n\treturn Array.from(childNodes).filter(node => {\n\t\treturn node.nodeType !== Node.COMMENT_NODE && (node.nodeType !== Node.TEXT_NODE || (node.nodeValue || \"\").trim().length !== 0);\n\t}).length > 0;\n};\n\nexport default willShowContent;\n","/**\n * Different Button designs.\n *\n * @public\n */\nenum ButtonDesign {\n\t/**\n\t * default type (no special styling)\n\t * @public\n\t */\n\tDefault = \"Default\",\n\n\t/**\n\t * accept type (green button)\n\t * @public\n\t */\n\tPositive = \"Positive\",\n\n\t/**\n\t * reject style (red button)\n\t * @public\n\t */\n\tNegative = \"Negative\",\n\n\t/**\n\t * transparent type\n\t * @public\n\t */\n\tTransparent = \"Transparent\",\n\n\t/**\n\t * emphasized type\n\t * @public\n\t */\n\tEmphasized = \"Emphasized\",\n\n\t/**\n\t * attention type\n\t * @public\n\t */\n\tAttention = \"Attention\",\n}\n\nexport default ButtonDesign;\n","/**\n * Determines if the button has special form-related functionality.\n *\n * @public\n */\nenum ButtonType {\n\t/**\n\t * The button does not do anything special when inside a form\n\t * @public\n\t */\n\tButton = \"Button\",\n\n\t/**\n\t * The button acts as a submit button (submits a form)\n\t * @public\n\t */\n\tSubmit = \"Submit\",\n\n\t/**\n\t * The button acts as a reset button (resets a form)\n\t * @public\n\t */\n\tReset = \"Reset\",\n}\n\nexport default ButtonType;\n","/* eslint no-unused-vars: 0 */\nimport { html, svg, repeat, classMap, styleMap, ifDefined, unsafeHTML, scopeTag } from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\timport type Button from \"../../Button.js\";\n\timport type { ClassMapValue } from \"@ui5/webcomponents-base/dist/types.js\";\n\t\nfunction block0 (this: Button, context: UI5Element, tags: string[], suffix: string | undefined) { return html` `;}\nfunction block1 (this: Button, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-icon\", tags, suffix)} class=\"ui5-button-icon\" name=\"${ifDefined(this.icon)}\" accessible-role=\"${ifDefined(this.iconRole)}\" part=\"icon\" ?show-tooltip=${this.showIconTooltip}>` : html``;}\nfunction block2 (this: Button, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ifDefined(this.buttonTypeText)}`;}\n\n\nexport default block0;","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents\",fileName:\"themes/Button.css.ts\",content:`:host{vertical-align:middle}.ui5-hidden-text{position:absolute;clip:rect(1px,1px,1px,1px);user-select:none;left:-1000px;top:-1000px;pointer-events:none;font-size:0}:host(:not([hidden])){display:inline-block}:host{min-width:var(--_ui5-v1-22-0-rc-3_button_base_min_width);height:var(--_ui5-v1-22-0-rc-3_button_base_height);line-height:normal;font-family:var(--_ui5-v1-22-0-rc-3_button_fontFamily);font-size:var(--sapFontSize);text-shadow:var(--_ui5-v1-22-0-rc-3_button_text_shadow);border-radius:var(--_ui5-v1-22-0-rc-3_button_border_radius);cursor:pointer;background-color:var(--sapButton_Background);border:var(--sapButton_BorderWidth) solid var(--sapButton_BorderColor);color:var(--sapButton_TextColor);box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui5-button-root{min-width:inherit;cursor:inherit;height:100%;width:100%;box-sizing:border-box;display:flex;justify-content:center;align-items:center;outline:none;padding:0 var(--_ui5-v1-22-0-rc-3_button_base_padding);position:relative;background:transparent;border:none;color:inherit;text-shadow:inherit;font:inherit;white-space:inherit;overflow:inherit;text-overflow:inherit;letter-spacing:inherit;word-spacing:inherit;line-height:inherit;-webkit-user-select:none;-moz-user-select:none;user-select:none}:host(:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]):hover),:host(:not([hidden]):not([disabled]).ui5_hovered){background:var(--sapButton_Hover_Background);border:1px solid var(--sapButton_Hover_BorderColor);color:var(--sapButton_Hover_TextColor)}.ui5-button-icon{color:inherit;flex-shrink:0}:host([icon-end]) .ui5-button-root{flex-direction:row-reverse}:host([icon-end]) .ui5-button-icon{margin-inline-start:var(--_ui5-v1-22-0-rc-3_button_base_icon_margin)}:host([icon-only]) .ui5-button-root{min-width:auto;padding:0}:host([icon-only]) .ui5-button-text{display:none}.ui5-button-text{outline:none;position:relative;white-space:inherit;overflow:inherit;text-overflow:inherit}:host([has-icon]:not([icon-end])) .ui5-button-text{margin-inline-start:var(--_ui5-v1-22-0-rc-3_button_base_icon_margin)}:host([has-icon][icon-end]) .ui5-button-text{margin-inline-start:0}:host([disabled]){opacity:var(--sapContent_DisabledOpacity);pointer-events:unset;cursor:default}:host([has-icon]:not([icon-only])) .ui5-button-text{min-width:calc(var(--_ui5-v1-22-0-rc-3_button_base_min_width) - var(--_ui5-v1-22-0-rc-3_button_base_icon_margin) - 1rem)}:host([disabled]:active){pointer-events:none}:host([focused]) .ui5-button-root:after{content:\"\";position:absolute;box-sizing:border-box;inset:.0625rem;border:var(--_ui5-v1-22-0-rc-3_button_focused_border);border-radius:var(--_ui5-v1-22-0-rc-3_button_focused_border_radius)}:host([design=\"Emphasized\"][focused]) .ui5-button-root:after{border-color:var(--_ui5-v1-22-0-rc-3_button_emphasized_focused_border_color)}:host([design=\"Emphasized\"][focused]) .ui5-button-root:before{content:\"\";position:absolute;box-sizing:border-box;inset:.0625rem;border:var(--_ui5-v1-22-0-rc-3_button_emphasized_focused_border_before);border-radius:var(--_ui5-v1-22-0-rc-3_button_focused_border_radius)}.ui5-button-root::-moz-focus-inner{border:0}bdi{display:block;white-space:inherit;overflow:inherit;text-overflow:inherit}:host([ui5-button][active]:not([disabled]):not([non-interactive])){background-image:none;background-color:var(--sapButton_Active_Background);border-color:var(--sapButton_Active_BorderColor);color:var(--sapButton_Active_TextColor)}:host([design=\"Positive\"]){background-color:var(--sapButton_Accept_Background);border-color:var(--sapButton_Accept_BorderColor);color:var(--sapButton_Accept_TextColor)}:host([design=\"Positive\"]:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]):hover),:host([design=\"Positive\"]:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]).ui5_hovered){background-color:var(--sapButton_Accept_Hover_Background);border-color:var(--sapButton_Accept_Hover_BorderColor);color:var(--sapButton_Accept_Hover_TextColor)}:host([ui5-button][design=\"Positive\"][active]:not([non-interactive])){background-color:var(--sapButton_Accept_Active_Background);border-color:var(--sapButton_Accept_Active_BorderColor);color:var(--sapButton_Accept_Active_TextColor)}:host([design=\"Negative\"]){background-color:var(--sapButton_Reject_Background);border-color:var(--sapButton_Reject_BorderColor);color:var(--sapButton_Reject_TextColor)}:host([design=\"Negative\"]:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]):hover),:host([design=\"Negative\"]:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]).ui5_hovered){background-color:var(--sapButton_Reject_Hover_Background);border-color:var(--sapButton_Reject_Hover_BorderColor);color:var(--sapButton_Reject_Hover_TextColor)}:host([ui5-button][design=\"Negative\"][active]:not([non-interactive])){background-color:var(--sapButton_Reject_Active_Background);border-color:var(--sapButton_Reject_Active_BorderColor);color:var(--sapButton_Reject_Active_TextColor)}:host([design=\"Attention\"]){background-color:var(--sapButton_Attention_Background);border-color:var(--sapButton_Attention_BorderColor);color:var(--sapButton_Attention_TextColor)}:host([design=\"Attention\"]:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]):hover),:host([design=\"Attention\"]:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]).ui5_hovered){background-color:var(--sapButton_Attention_Hover_Background);border-color:var(--sapButton_Attention_Hover_BorderColor);color:var(--sapButton_Attention_Hover_TextColor)}:host([ui5-button][design=\"Attention\"][active]:not([non-interactive])){background-color:var(--sapButton_Attention_Active_Background);border-color:var(--sapButton_Attention_Active_BorderColor);color:var(--sapButton_Attention_Active_TextColor)}:host([design=\"Emphasized\"]){background-color:var(--sapButton_Emphasized_Background);border-color:var(--sapButton_Emphasized_BorderColor);border-width:var(--_ui5-v1-22-0-rc-3_button_emphasized_border_width);color:var(--sapButton_Emphasized_TextColor);font-weight:var(--sapButton_Emphasized_FontWeight)}:host([design=\"Emphasized\"]:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]):hover),:host([design=\"Emphasized\"]:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]).ui5_hovered){background-color:var(--sapButton_Emphasized_Hover_Background);border-color:var(--sapButton_Emphasized_Hover_BorderColor);border-width:var(--_ui5-v1-22-0-rc-3_button_emphasized_border_width);color:var(--sapButton_Emphasized_Hover_TextColor)}:host([ui5-button][design=\"Empasized\"][active]:not([non-interactive])){background-color:var(--sapButton_Emphasized_Active_Background);border-color:var(--sapButton_Emphasized_Active_BorderColor);color:var(--sapButton_Emphasized_Active_TextColor)}:host([design=\"Emphasized\"][focused]) .ui5-button-root:after{border-color:var(--_ui5-v1-22-0-rc-3_button_emphasized_focused_border_color);outline:none}:host([design=\"Emphasized\"][focused][active]:not([non-interactive])) .ui5-button-root:after{border-color:var(--_ui5-v1-22-0-rc-3_button_emphasized_focused_active_border_color)}:host([design=\"Transparent\"]){background-color:var(--sapButton_Lite_Background);color:var(--sapButton_Lite_TextColor);border-color:var(--sapButton_Lite_BorderColor)}:host([design=\"Transparent\"]:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]):hover),:host([design=\"Transparent\"]:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]).ui5_hovered){background-color:var(--sapButton_Lite_Hover_Background);border-color:var(--sapButton_Lite_Hover_BorderColor);color:var(--sapButton_Lite_Hover_TextColor)}:host([ui5-button][design=\"Transparent\"][active]:not([non-interactive])){background-color:var(--sapButton_Lite_Active_Background);border-color:var(--sapButton_Lite_Active_BorderColor);color:var(--sapButton_Active_TextColor)}:host([ui5-segmented-button-item][active][focused]) .ui5-button-root:after,:host([pressed][focused]) .ui5-button-root:after{border-color:var(--_ui5-v1-22-0-rc-3_button_pressed_focused_border_color);outline:none}:host([ui5-segmented-button-item][focused]:not(:last-child)) .ui5-button-root:after{border-top-right-radius:var(--_ui5-v1-22-0-rc-3_button_focused_inner_border_radius);border-bottom-right-radius:var(--_ui5-v1-22-0-rc-3_button_focused_inner_border_radius)}:host([ui5-segmented-button-item][focused]:not(:first-child)) .ui5-button-root:after{border-top-left-radius:var(--_ui5-v1-22-0-rc-3_button_focused_inner_border_radius);border-bottom-left-radius:var(--_ui5-v1-22-0-rc-3_button_focused_inner_border_radius)}\n`};\nexport default styleData;\n\t","import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { isSpace, isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport { getFeature } from \"@ui5/webcomponents-base/dist/FeaturesRegistry.js\";\nimport type { PassiveEventListenerObject } from \"@ui5/webcomponents-base/dist/types.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { I18nText } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { markEvent } from \"@ui5/webcomponents-base/dist/MarkedEvents.js\";\nimport { getIconAccessibleName } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nimport {\n\tisPhone,\n\tisTablet,\n\tisCombi,\n\tisDesktop,\n\tisSafari,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport willShowContent from \"@ui5/webcomponents-base/dist/util/willShowContent.js\";\nimport type { IFormElement } from \"./features/InputElementsFormSupport.js\";\nimport ButtonDesign from \"./types/ButtonDesign.js\";\nimport ButtonType from \"./types/ButtonType.js\";\nimport ButtonTemplate from \"./generated/templates/ButtonTemplate.lit.js\";\nimport Icon from \"./Icon.js\";\nimport HasPopup from \"./types/HasPopup.js\";\n\nimport { BUTTON_ARIA_TYPE_ACCEPT, BUTTON_ARIA_TYPE_REJECT, BUTTON_ARIA_TYPE_EMPHASIZED } from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport buttonCss from \"./generated/themes/Button.css.js\";\nimport type FormSupport from \"./features/InputElementsFormSupport.js\";\n\n/**\n * Interface for components that may be used as a button inside numerous higher-order components\n *\n * @public\n */\ninterface IButton extends HTMLElement, ITabbable {\n\tnonInteractive: boolean;\n}\n\nlet isGlobalHandlerAttached = false;\nlet activeButton: Button | null = null;\n\ntype AccessibilityAttributes = {\n\texpanded?: \"true\" | \"false\" | boolean,\n\thasPopup?: `${HasPopup}`,\n\tcontrols?: string\n};\n\n/**\n * @class\n *\n *

    Overview

    \n *\n * The ui5-button component represents a simple push button.\n * It enables users to trigger actions by clicking or tapping the ui5-button, or by pressing\n * certain keyboard keys, such as Enter.\n *\n *\n *

    Usage

    \n *\n * For the ui5-button UI, you can define text, icon, or both. You can also specify\n * whether the text or the icon is displayed first.\n *

    \n * You can choose from a set of predefined types that offer different\n * styling to correspond to the triggered action.\n *

    \n * You can set the ui5-button as enabled or disabled. An enabled\n * ui5-button can be pressed by clicking or tapping it. The button changes\n * its style to provide visual feedback to the user that it is pressed or hovered over with\n * the mouse cursor. A disabled ui5-button appears inactive and cannot be pressed.\n *\n *

    ES6 Module Import

    \n *\n * import \"@ui5/webcomponents/dist/Button\";\n *\n * @csspart button - Used to style the native button element\n * @constructor\n * @extends UI5Element\n * @implements { IButton }\n * @public\n */\n@customElement({\n\ttag: \"ui5-button\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: ButtonTemplate,\n\tstyles: buttonCss,\n\tdependencies: [Icon],\n})\n/**\n * Fired when the component is activated either with a\n * mouse/tap or by using the Enter or Space key.\n *

    \n * Note: The event will not be fired if the disabled\n * property is set to true.\n *\n * @public\n * @native\n */\n@event(\"click\")\n/**\n * Fired whenever the active state of the component changes.\n * @private\n */\n@event(\"_active-state-change\")\nclass Button extends UI5Element implements IFormElement, IButton {\n\t/**\n\t * Defines the component design.\n\t *\n\t * @default \"Default\"\n\t * @public\n\t */\n\t@property({ type: ButtonDesign, defaultValue: ButtonDesign.Default })\n\tdesign!: `${ButtonDesign}`;\n\n\t/**\n\t * Defines whether the component is disabled.\n\t * A disabled component can't be pressed or\n\t * focused, and it is not in the tab chain.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Defines the icon, displayed as graphical element within the component.\n\t * The SAP-icons font provides numerous options.\n\t *

    \n\t * Example:\n\t *\n\t * See all the available icons within the Icon Explorer.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ticon!: string;\n\n\t/**\n\t * Defines whether the icon should be displayed after the component text.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\ticonEnd!: boolean;\n\n\t/**\n\t * When set to true, the component will\n\t * automatically submit the nearest HTML form element on press.\n\t *

    \n\t * Note: For the submits property to have effect, you must add the following import to your project:\n\t * import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";\n\t *\n\t * @default false\n\t * @public\n\t * @deprecated Set the \"type\" property to \"Submit\" to achieve the same result. The \"submits\" property is ignored if \"type\" is set to any value other than \"Button\".\n\t */\n\t@property({ type: Boolean })\n\tsubmits!: boolean;\n\n\t/**\n\t * Defines the tooltip of the component.\n\t *
    \n\t * Note: A tooltip attribute should be provided for icon-only buttons, in order to represent their exact meaning/function.\n\t * @default \"\"\n\t * @public\n\t * @since 1.2.0\n\t */\n\t@property()\n\ttooltip!: string;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t *\n\t * @default undefined\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ defaultValue: undefined })\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the component.\n\t *\n\t * @default \"\"\n\t * @public\n\t * @since 1.1.0\n\t */\n\t@property({ defaultValue: \"\" })\n\taccessibleNameRef!: string;\n\n\t/**\n\t * An object of strings that defines several additional accessibility attribute values\n\t * for customization depending on the use case.\n\t *\n\t * It supports the following fields:\n\t *\n\t *
      \n\t * \t\t
    • expanded: Indicates whether the button, or another grouping element it controls, is currently expanded or collapsed. Accepts the following string values:\n\t *\t\t\t
        \n\t *\t\t\t\t
      • true
      • \n\t *\t\t\t\t
      • false
      • \n\t *\t\t\t
      \n\t * \t\t
    • \n\t * \t\t
    • hasPopup: Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by the button. Accepts the following string values:\n\t * \t\t\t
        \n\t *\t\t\t\t
      • Dialog
      • \n\t *\t\t\t\t
      • Grid
      • \n\t *\t\t\t\t
      • Listbox
      • \n\t *\t\t\t\t
      • Menu
      • \n\t *\t\t\t\t
      • Tree
      • \n\t * \t\t\t
      \n\t * \t\t
    • \n\t * \t\t
    • controls: Identifies the element (or elements) whose contents or presence are controlled by the button element. Accepts a string value.
    • \n\t *
    \n\t *\n\t * @public\n\t * @since 1.2.0\n\t * @default {}\n\t */\n\t@property({ type: Object })\n\taccessibilityAttributes!: AccessibilityAttributes;\n\n\t/**\n\t * Defines whether the button has special form-related functionality.\n\t *\n\t *

    \n\t * Note: For the type property to have effect, you must add the following import to your project:\n\t * import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";\n\t *\n\t * @default \"Button\"\n\t * @public\n\t * @since 1.15.0\n\t */\n\t@property({ type: ButtonType, defaultValue: ButtonType.Button })\n\ttype!: `${ButtonType}`;\n\n\t/**\n\t * Used to switch the active state (pressed or not) of the component.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tactive!: boolean;\n\n\t/**\n\t * Defines if a content has been added to the default slot\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\ticonOnly!: boolean;\n\n\t/**\n\t * Indicates if the elements is on focus\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused!: boolean;\n\n\t/**\n\t * Indicates if the elements has a slotted icon\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\thasIcon!: boolean;\n\n\t/**\n\t * Indicates if the element if focusable\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tnonInteractive!: boolean;\n\n\t/**\n\t * The current title of the button, either the tooltip property or the icons tooltip. The tooltip property with higher prio.\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\tbuttonTitle?: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_iconSettings!: object;\n\n\t/**\n\t * Defines the tabIndex of the component.\n\t * @private\n\t */\n\t@property({ defaultValue: \"0\", noAttribute: true })\n\tforcedTabIndex!: string;\n\n\t/**\n\t * @since 1.0.0-rc.13\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_isTouch!: boolean;\n\n\t/**\n\t * Defines the text of the component.\n\t *

    \n\t * Note: Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n\t *\n\t * @public\n\t */\n\t@slot({ type: Node, \"default\": true })\n\ttext!: Array;\n\n\t_deactivate: () => void;\n\n\t_ontouchstart: PassiveEventListenerObject;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._deactivate = () => {\n\t\t\tif (activeButton) {\n\t\t\t\tactiveButton._setActiveState(false);\n\t\t\t}\n\t\t};\n\n\t\tif (!isGlobalHandlerAttached) {\n\t\t\tdocument.addEventListener(\"mouseup\", this._deactivate);\n\n\t\t\tisGlobalHandlerAttached = true;\n\t\t}\n\n\t\tconst handleTouchStartEvent = (e: TouchEvent) => {\n\t\t\tmarkEvent(e, \"button\");\n\n\t\t\tif (this.nonInteractive) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._setActiveState(true);\n\t\t};\n\n\t\tthis._ontouchstart = {\n\t\t\thandleEvent: handleTouchStartEvent,\n\t\t\tpassive: true,\n\t\t};\n\t}\n\n\tonEnterDOM() {\n\t\tthis._isTouch = (isPhone() || isTablet()) && !isCombi();\n\t}\n\n\tasync onBeforeRendering() {\n\t\tconst formSupport = getFeature(\"FormSupport\");\n\t\tif (this.type !== ButtonType.Button && !formSupport) {\n\t\t\tconsole.warn(`In order for the \"type\" property to have effect, you should also: import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";`); // eslint-disable-line\n\t\t}\n\t\tif (this.submits && !formSupport) {\n\t\t\tconsole.warn(`In order for the \"submits\" property to have effect, you should also: import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";`); // eslint-disable-line\n\t\t}\n\n\t\tthis.iconOnly = this.isIconOnly;\n\t\tthis.hasIcon = !!this.icon;\n\n\t\tthis.buttonTitle = this.tooltip || await getIconAccessibleName(this.icon);\n\t}\n\n\t_onclick(e: MouseEvent) {\n\t\tif (this.nonInteractive) {\n\t\t\treturn;\n\t\t}\n\n\t\tmarkEvent(e, \"button\");\n\t\tconst formSupport = getFeature(\"FormSupport\");\n\t\tif (formSupport && this._isSubmit) {\n\t\t\tformSupport.triggerFormSubmit(this);\n\t\t}\n\t\tif (formSupport && this._isReset) {\n\t\t\tformSupport.triggerFormReset(this);\n\t\t}\n\n\t\tif (isSafari()) {\n\t\t\tthis.getDomRef()?.focus();\n\t\t}\n\t}\n\n\t_onmousedown(e: MouseEvent) {\n\t\tif (this.nonInteractive || this._isTouch) {\n\t\t\treturn;\n\t\t}\n\n\t\tmarkEvent(e, \"button\");\n\t\tthis._setActiveState(true);\n\t\tactiveButton = this; // eslint-disable-line\n\t}\n\n\t_ontouchend(e: TouchEvent) {\n\t\tif (this.disabled) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t}\n\n\t\tif (this.active) {\n\t\t\tthis._setActiveState(false);\n\t\t}\n\n\t\tif (activeButton) {\n\t\t\tactiveButton._setActiveState(false);\n\t\t}\n\t}\n\n\t_onmouseup(e: MouseEvent) {\n\t\tmarkEvent(e, \"button\");\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tmarkEvent(e, \"button\");\n\n\t\tif (isSpace(e) || isEnter(e)) {\n\t\t\tthis._setActiveState(true);\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e) || isEnter(e)) {\n\t\t\tif (this.active) {\n\t\t\t\tthis._setActiveState(false);\n\t\t\t}\n\t\t}\n\t}\n\n\t_onfocusout() {\n\t\tif (this.nonInteractive) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.active) {\n\t\t\tthis._setActiveState(false);\n\t\t}\n\n\t\tif (isDesktop()) {\n\t\t\tthis.focused = false;\n\t\t}\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tif (this.nonInteractive) {\n\t\t\treturn;\n\t\t}\n\n\t\tmarkEvent(e, \"button\");\n\t\tif (isDesktop()) {\n\t\t\tthis.focused = true;\n\t\t}\n\t}\n\n\t_setActiveState(active: boolean) {\n\t\tconst eventPrevented = !this.fireEvent(\"_active-state-change\", null, true);\n\n\t\tif (eventPrevented) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.active = active;\n\t}\n\n\tget hasButtonType() {\n\t\treturn this.design !== ButtonDesign.Default && this.design !== ButtonDesign.Transparent;\n\t}\n\n\tget iconRole() {\n\t\tif (!this.icon) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\treturn \"presentation\";\n\t}\n\n\tget isIconOnly() {\n\t\treturn !willShowContent(this.text);\n\t}\n\n\tstatic typeTextMappings(): Record {\n\t\treturn {\n\t\t\t\"Positive\": BUTTON_ARIA_TYPE_ACCEPT,\n\t\t\t\"Negative\": BUTTON_ARIA_TYPE_REJECT,\n\t\t\t\"Emphasized\": BUTTON_ARIA_TYPE_EMPHASIZED,\n\t\t};\n\t}\n\n\tget buttonTypeText() {\n\t\treturn Button.i18nBundle.getText(Button.typeTextMappings()[this.design]);\n\t}\n\n\tget tabIndexValue() {\n\t\tconst tabindex = this.getAttribute(\"tabindex\");\n\n\t\tif (tabindex) {\n\t\t\treturn tabindex;\n\t\t}\n\n\t\treturn this.nonInteractive ? \"-1\" : this.forcedTabIndex;\n\t}\n\n\tget showIconTooltip() {\n\t\treturn this.iconOnly && !this.tooltip;\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget _isSubmit() {\n\t\treturn this.type === ButtonType.Submit || this.submits;\n\t}\n\n\tget _isReset() {\n\t\treturn this.type === ButtonType.Reset;\n\t}\n\n\tstatic async onDefine() {\n\t\tButton.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n}\n\nButton.define();\n\nexport default Button;\nexport type {\n\tAccessibilityAttributes,\n\tIButton,\n};\n","/**\n * Different types of Title level.\n *\n * @public\n */\nenum TitleLevel {\n\t/**\n\t * Renders h1 tag.\n\t * @public\n\t */\n\tH1 = \"H1\",\n\n\t/**\n\t * Renders h2 tag.\n\t * @public\n\t */\n\tH2 = \"H2\",\n\n\t/**\n\t * Renders h3 tag.\n\t * @public\n\t */\n\tH3 = \"H3\",\n\n\t/**\n\t * Renders h4 tag.\n\t * @public\n\t */\n\tH4 = \"H4\",\n\n\t/**\n\t * Renders h5 tag.\n\t * @public\n\t */\n\tH5 = \"H5\",\n\n\t/**\n\t * Renders h6 tag.\n\t * @public\n\t */\n\tH6 = \"H6\",\n}\n\nexport default TitleLevel;\n","/* eslint no-unused-vars: 0 */\nimport { html, svg, repeat, classMap, styleMap, ifDefined, unsafeHTML, scopeTag } from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\timport type Title from \"../../Title.js\";\n\timport type { ClassMapValue } from \"@ui5/webcomponents-base/dist/types.js\";\n\t\nfunction block0 (this: Title, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.h1 ? block1.call(this, context, tags, suffix) : undefined }${ this.h2 ? block2.call(this, context, tags, suffix) : undefined }${ this.h3 ? block3.call(this, context, tags, suffix) : undefined }${ this.h4 ? block4.call(this, context, tags, suffix) : undefined }${ this.h5 ? block5.call(this, context, tags, suffix) : undefined }${ this.h6 ? block6.call(this, context, tags, suffix) : undefined }`;}\nfunction block1 (this: Title, context: UI5Element, tags: string[], suffix: string | undefined) { return html`

    `;}\nfunction block2 (this: Title, context: UI5Element, tags: string[], suffix: string | undefined) { return html`

    `;}\nfunction block3 (this: Title, context: UI5Element, tags: string[], suffix: string | undefined) { return html`

    `;}\nfunction block4 (this: Title, context: UI5Element, tags: string[], suffix: string | undefined) { return html`

    `;}\nfunction block5 (this: Title, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    `;}\nfunction block6 (this: Title, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    `;}\n\n\nexport default block0;","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents\",fileName:\"themes/Title.css.ts\",content:`:host(:not([hidden])){display:block;cursor:text}:host{max-width:100%;color:var(--sapGroup_TitleTextColor);font-size:var(--sapFontHeader2Size);font-family:\"72override\",var(--sapFontHeaderFamily);text-shadow:var(--sapContent_TextShadow)}.ui5-title-root{display:inline-block;position:relative;font-weight:400;font-size:inherit;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;vertical-align:bottom;-webkit-margin-before:0;-webkit-margin-after:0;-webkit-margin-start:0;-webkit-margin-end:0;margin:0;cursor:inherit}:host([wrapping-type=\"Normal\"]) .ui5-title-root,:host([wrapping-type=\"Normal\"]) ::slotted(*){white-space:pre-line}::slotted(*){font-size:inherit;font-family:inherit;text-shadow:inherit}:host([level=\"H1\"]){font-size:var(--sapFontHeader1Size)}:host([level=\"H2\"]){font-size:var(--sapFontHeader2Size)}:host([level=\"H3\"]){font-size:var(--sapFontHeader3Size)}:host([level=\"H4\"]){font-size:var(--sapFontHeader4Size)}:host([level=\"H5\"]){font-size:var(--sapFontHeader5Size)}:host([level=\"H6\"]){font-size:var(--sapFontHeader6Size)}\n`};\nexport default styleData;\n\t","import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport TitleLevel from \"./types/TitleLevel.js\";\nimport WrappingType from \"./types/WrappingType.js\";\n\n// Template\nimport TitleTemplate from \"./generated/templates/TitleTemplate.lit.js\";\n\n// Styles\nimport titleCss from \"./generated/themes/Title.css.js\";\n\n/**\n * @class\n *\n *

    Overview

    \n *\n * The ui5-title component is used to display titles inside a page.\n * It is a simple, large-sized text with explicit header/title semantics.\n *\n *

    ES6 Module Import

    \n *\n * import \"@ui5/webcomponents/dist/Title\";\n *\n * @constructor\n * @extends UI5Element\n * @slot {Node[]} default - Defines the text of the component.\n * This component supports nesting a Link component inside.\n *

    \n * Note: Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n * @public\n */\n@customElement({\n\ttag: \"ui5-title\",\n\trenderer: litRender,\n\ttemplate: TitleTemplate,\n\tstyles: titleCss,\n})\nclass Title extends UI5Element {\n\t/**\n\t * Defines how the text of a component will be displayed when there is not enough space.\n\t *
    Note: for option \"Normal\" the text will wrap and the words will not be broken based on hyphenation.\n\t *\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property({ type: WrappingType, defaultValue: WrappingType.None })\n\twrappingType!: `${WrappingType}`\n\n\t/**\n\t * Defines the component level.\n\t * Available options are: \"H6\" to \"H1\".\n\t *\n\t * @default \"H2\"\n\t * @public\n\t */\n\t@property({ type: TitleLevel, defaultValue: TitleLevel.H2 })\n\tlevel!: `${TitleLevel}`;\n\n\tget normalizedLevel() {\n\t\treturn this.level.toLowerCase();\n\t}\n\n\tget h1() {\n\t\treturn this.normalizedLevel === \"h1\";\n\t}\n\n\tget h2() {\n\t\treturn this.normalizedLevel === \"h2\";\n\t}\n\n\tget h3() {\n\t\treturn this.normalizedLevel === \"h3\";\n\t}\n\n\tget h4() {\n\t\treturn this.normalizedLevel === \"h4\";\n\t}\n\n\tget h5() {\n\t\treturn this.normalizedLevel === \"h5\";\n\t}\n\n\tget h6() {\n\t\treturn this.normalizedLevel === \"h6\";\n\t}\n}\n\nTitle.define();\n\nexport default Title;\n","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents\",fileName:\"themes/ResponsivePopover.css.ts\",content:`:host{--_ui5-v1-22-0-rc-3_input_width: 100%;min-width:6.25rem;min-height:2rem}:host([opened]){display:inline-block}.ui5-responsive-popover-header{height:var(--_ui5-v1-22-0-rc-3-responsive_popover_header_height);display:flex;justify-content:space-between;align-items:center;width:100%}.ui5-responsive-popover-header-text{width:calc(100% - var(--_ui5-v1-22-0-rc-3_button_base_min_width))}.ui5-responsive-popover-header-no-title{justify-content:flex-end}\n`};\nexport default styleData;\n\t","import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getNextZIndex } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\n\nimport { RESPONSIVE_POPOVER_CLOSE_DIALOG_BUTTON } from \"./generated/i18n/i18n-defaults.js\";\n\nimport ResponsivePopoverTemplate from \"./generated/templates/ResponsivePopoverTemplate.lit.js\";\nimport type { PopupBeforeCloseEventDetail } from \"./Popup.js\";\nimport Popover from \"./Popover.js\";\nimport Dialog from \"./Dialog.js\";\nimport Button from \"./Button.js\";\nimport Title from \"./Title.js\";\nimport \"@ui5/webcomponents-icons/dist/decline.js\";\n\n// Styles\nimport ResponsivePopoverCss from \"./generated/themes/ResponsivePopover.css.js\";\n\ntype ResponsivePopoverBeforeCloseEventDetail = PopupBeforeCloseEventDetail;\n\n/**\n * @class\n *\n *

    Overview

    \n * The ui5-responsive-popover acts as a Popover on desktop and tablet, while on phone it acts as a Dialog.\n * The component improves tremendously the user experience on mobile.\n *\n *

    Usage

    \n * Use it when you want to make sure that all the content is visible on any device.\n *\n * @constructor\n * @extends Popover\n * @since 1.0.0-rc.6\n * @public\n * @csspart header - Used to style the header of the component\n * @csspart content - Used to style the content of the component\n * @csspart footer - Used to style the footer of the component\n */\n@customElement({\n\ttag: \"ui5-responsive-popover\",\n\tstyles: [Popover.styles, ResponsivePopoverCss],\n\ttemplate: ResponsivePopoverTemplate,\n\tdependencies: [\n\t\t...Popover.dependencies,\n\t\tButton,\n\t\tDialog,\n\t\tTitle,\n\t],\n})\nclass ResponsivePopover extends Popover {\n\t/**\n\t * Defines if only the content would be displayed (without header and footer) in the popover on Desktop.\n\t * By default both the header and footer would be displayed.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tcontentOnlyOnDesktop!: boolean;\n\n\t/**\n\t * Used internaly for controls which must not have header.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_hideHeader!: boolean;\n\n\t/**\n\t * Defines whether a close button will be rendered in the header of the component\n\t * Note: If you are using the header slot, this property will have no effect\n\t *\n\t * @private\n\t * @default false\n\t * @since 1.0.0-rc.16\n\t */\n\t@property({ type: Boolean })\n\t_hideCloseButton!: boolean;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\t/**\n\t * Shows popover on desktop and dialog on mobile.\n\t * @param opener the element that the popover is shown at\n\t * @param [preventInitialFocus=false] Prevents applying the focus inside the popup\n\t * @public\n\t * @returns Resolves when the responsive popover is open\n\t */\n\tasync showAt(opener: HTMLElement, preventInitialFocus = false): Promise {\n\t\tif (!isPhone()) {\n\t\t\tawait super.showAt(opener, preventInitialFocus);\n\t\t} else {\n\t\t\tthis.style.display = \"contents\";\n\t\t\tconst nextZIndex = getNextZIndex();\n\t\t\tif (!nextZIndex) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.style.zIndex = nextZIndex.toString();\n\t\t\tawait this._dialog.show(preventInitialFocus);\n\t\t}\n\t}\n\n\t/**\n\t * Closes the popover/dialog.\n\t * @public\n\t */\n\tclose(escPressed = false, preventRegistryUpdate = false, preventFocusRestore = false) : void {\n\t\tif (!isPhone()) {\n\t\t\tsuper.close(escPressed, preventRegistryUpdate, preventFocusRestore);\n\t\t} else {\n\t\t\tthis._dialog.close(escPressed, preventRegistryUpdate, preventFocusRestore);\n\t\t}\n\t}\n\n\ttoggle(opener: HTMLElement) {\n\t\tif (this.isOpen()) {\n\t\t\treturn this.close();\n\t\t}\n\n\t\tthis.showAt(opener);\n\t}\n\n\t/**\n\t * Tells if the responsive popover is open.\n\t * @public\n\t */\n\tisOpen() : boolean {\n\t\treturn (isPhone() && this._dialog) ? this._dialog.isOpen() : super.isOpen();\n\t}\n\n\tget classes() {\n\t\tconst allClasses = super.classes;\n\n\t\tallClasses.header = {\n\t\t\t\"ui5-responsive-popover-header\": true,\n\t\t\t\"ui5-responsive-popover-header-no-title\": !this.headerText,\n\t\t};\n\n\t\treturn allClasses;\n\t}\n\n\tget _dialog() {\n\t\treturn this.shadowRoot!.querySelector(\"[ui5-dialog]\")!;\n\t}\n\n\tget contentDOM() {\n\t\treturn isPhone() ? this._dialog.contentDOM : super.contentDOM;\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget _displayHeader() {\n\t\treturn (isPhone() || !this.contentOnlyOnDesktop) && super._displayHeader;\n\t}\n\n\tget _displayFooter() {\n\t\treturn isPhone() || !this.contentOnlyOnDesktop;\n\t}\n\n\tget _closeDialogAriaLabel() {\n\t\treturn ResponsivePopover.i18nBundle.getText(RESPONSIVE_POPOVER_CLOSE_DIALOG_BUTTON);\n\t}\n\n\t_beforeDialogOpen(e: CustomEvent) {\n\t\tthis.open = true;\n\t\tthis.opened = true;\n\t\tthis._propagateDialogEvent(e);\n\t}\n\n\t_afterDialogClose(e: CustomEvent) {\n\t\tthis.open = false;\n\t\tthis.opened = false;\n\t\tthis._propagateDialogEvent(e);\n\t}\n\n\t_propagateDialogEvent(e: CustomEvent) {\n\t\tconst type = e.type.replace(\"ui5-\", \"\");\n\n\t\tthis.fireEvent(type, e.detail);\n\t}\n\n\tget isModal() {\n\t\tif (!isPhone()) {\n\t\t\treturn super.isModal;\n\t\t}\n\n\t\treturn this._dialog.isModal;\n\t}\n\n\tstatic async onDefine() {\n\t\tResponsivePopover.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n}\n\nResponsivePopover.define();\n\nexport default ResponsivePopover;\nexport type {\n\tResponsivePopoverBeforeCloseEventDetail,\n};\n","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"edit\";\nconst pathData = \"M475 104q5 7 5 12 0 6-5 11L150 453q-4 4-8 4L32 480l22-110q0-5 4-9L384 36q4-4 11-4t11 4zm-121 99l-46-45L84 381l46 46zm87-88l-46-44-64 64 45 45z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v4\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v4/edit\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"edit\";\nconst pathData = \"M505 94q7 7 7 18t-6 17L130 505q-7 7-18 7H26q-11 0-18.5-7.5T0 486v-86q1-10 6-16L382 7q7-7 18-7t18 7zm-55 18l-50-50-50 50 50 50zm-86 86l-50-50L62 400l50 50z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v5\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v5/edit\";\nexport { pathData, ltr, accData };","import { isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { pathData as pathDatav4, ltr, accData } from \"./v4/edit.js\";\nimport { pathData as pathDatav5 } from \"./v5/edit.js\";\n\nconst pathData = isLegacyThemeFamily() ? pathDatav4 : pathDatav5;\n\nexport default \"edit\";\nexport { pathData, ltr, accData };","/**\n * Different list item types.\n *\n * @public\n */\nenum ListItemType {\n\t/**\n\t * Indicates the list item does not have any active feedback when item is pressed.\n\t * @public\n\t */\n\tInactive = \"Inactive\",\n\n\t/**\n\t * Indicates that the item is clickable via active feedback when item is pressed.\n\t * @public\n\t */\n\tActive = \"Active\",\n\n\t/**\n\t * Enables detail button of the list item that fires detail-click event.\n\t * @public\n\t */\n\tDetail = \"Detail\",\n\n\t/**\n\t * Enables the type of navigation, which is specified to add an arrow at the end of the items and fires navigate-click event.\n\t * @public\n\t */\n\tNavigation = \"Navigation\",\n}\n\nexport default ListItemType;\n","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents\",fileName:\"themes/ListItem.css.ts\",content:`.ui5-hidden-text{position:absolute;clip:rect(1px,1px,1px,1px);user-select:none;left:-1000px;top:-1000px;pointer-events:none;font-size:0}:host([actionable]:not([disabled])){cursor:pointer}:host([selected][actionable]:not([active]):hover){background:var(--sapList_Hover_SelectionBackground)}:host([active][actionable]),:host([selected][active][actionable]){background:var(--sapList_Active_Background)}:host([actionable]:not([active]):not([selected]):hover){background:var(--sapList_Hover_Background)}:host([active][actionable]) .ui5-li-root.ui5-li--focusable:focus,:host([active][actionable]) .ui5-li-root.ui5-li--focusable .ui5-li-content:focus{outline-color:var(--sapContent_ContrastFocusColor)}:host([navigated]) .ui5-li-root .ui5-li-navigated{width:.1875rem;position:absolute;right:0;top:0;bottom:0;background-color:var(--sapList_SelectionBorderColor)}:host([active][actionable]) .ui5-li-root .ui5-li-icon{color:var(--sapList_Active_TextColor)}:host([active][actionable]) .ui5-li-title,:host([active][actionable]) .ui5-li-desc,:host([active][actionable]) .ui5-li-additional-text{color:var(--sapList_Active_TextColor)}:host([additional-text-state=\"Warning\"]) .ui5-li-additional-text{color:var(--sapCriticalTextColor)}:host([additional-text-state=\"Success\"]) .ui5-li-additional-text{color:var(--sapPositiveTextColor)}:host([additional-text-state=\"Error\"]) .ui5-li-additional-text{color:var(--sapNegativeTextColor)}:host([additional-text-state=\"Information\"]) .ui5-li-additional-text{color:var(--sapInformativeTextColor)}:host([has-title][description]){height:5rem}:host([has-title][image]){height:5rem}:host([_has-image-content]){height:5rem}:host([image]) .ui5-li-content{height:3rem}:host([description]) .ui5-li-root{padding:1rem}:host([description]) .ui5-li-content{height:3rem}:host([has-title][description]) .ui5-li-title{padding-bottom:.375rem}.ui5-li-text-wrapper{display:flex;flex-direction:column;flex:auto;min-width:1px;line-height:normal}:host([description]) .ui5-li-text-wrapper{height:100%;justify-content:space-between;padding:.125rem 0}.ui5-li-description-info-wrapper{display:flex;justify-content:space-between}.ui5-li-title{color:var(--sapList_TextColor);font-size:var(--_ui5-v1-22-0-rc-3_list_item_title_size)}.ui5-li-additional-text,:host(:not([wrapping-type=\"Normal\"])) .ui5-li-title,.ui5-li-desc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host([wrapping-type=\"Normal\"]){height:auto}:host([wrapping-type=\"Normal\"]) .ui5-li-content{margin:var(--_ui5-v1-22-0-rc-3_list_item_content_vertical_offset) 0}.ui5-li-desc{color:var(--sapContent_LabelColor);font-size:var(--sapFontSize)}.ui5-li-additional-text{margin:0 .25rem;color:var(--sapNeutralTextColor);font-size:var(--sapFontSize);min-width:3.75rem;text-align:end}:host([description]) .ui5-li-additional-text{align-self:flex-end}.ui5-li-img{width:var(--_ui5-v1-22-0-rc-3_list_item_img_size);height:var(--_ui5-v1-22-0-rc-3_list_item_img_size);border-radius:var(--ui5-v1-22-0-rc-3-avatar-border-radius)}.ui5-li-img,.ui5-li-imgContent{min-width:var(--_ui5-v1-22-0-rc-3_list_item_img_size);min-height:var(--_ui5-v1-22-0-rc-3_list_item_img_size);margin-top:var(--_ui5-v1-22-0-rc-3_list_item_img_top_margin);margin-bottom:var(--_ui5-v1-22-0-rc-3_list_item_img_bottom_margin);margin-inline-end:var(--_ui5-v1-22-0-rc-3_list_item_img_hn_margin)}.ui5-li-img-inner{object-fit:contain}.ui5-li-icon{min-width:var(--_ui5-v1-22-0-rc-3_list_item_icon_size);min-height:var(--_ui5-v1-22-0-rc-3_list_item_icon_size);color:var(--sapContent_NonInteractiveIconColor);padding-inline-end:var(--_ui5-v1-22-0-rc-3_list_item_icon_padding-inline-end)}.ui5-li-content{display:flex;align-items:center;flex:auto;overflow:hidden}.ui5-li-detailbtn,.ui5-li-deletebtn{display:flex;align-items:center;margin-left:var(--_ui5-v1-22-0-rc-3_list_buttons_left_space)}.ui5-li-multisel-cb,.ui5-li-singlesel-radiobtn{flex-shrink:0}:host([description]) .ui5-li-singlesel-radiobtn{align-self:flex-start;margin-top:var(--_ui5-v1-22-0-rc-3_list_item_selection_btn_margin_top)}:host([description]) .ui5-li-multisel-cb{align-self:flex-start;margin-top:var(--_ui5-v1-22-0-rc-3_list_item_selection_btn_margin_top)}:host([_mode=\"SingleSelectBegin\"]) .ui5-li-root{padding-inline:0 1rem}:host([_mode=\"MultiSelect\"]) .ui5-li-root{padding-inline:0 1rem}:host([_mode=\"SingleSelectEnd\"]) .ui5-li-root{padding-inline:1rem 0}:host [ui5-checkbox].ui5-li-singlesel-radiobtn{margin-right:var(--_ui5-v1-22-0-rc-3_list_item_cb_margin_right)}\n`};\nexport default styleData;\n\t","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"slim-arrow-right\";\nconst pathData = \"M357.5 233q10 10 10 23t-10 23l-165 165q-12 11-23 0t0-23l160-159q6-6 0-12l-159-159q-5-5-5-11t5-11 11-5 11 5z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v4\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v4/slim-arrow-right\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"slim-arrow-right\";\nconst pathData = \"M186 416q-11 0-18.5-7.5T160 390q0-10 8-18l121-116-121-116q-8-8-8-18 0-11 7.5-18.5T186 96q10 0 17 7l141 134q8 8 8 19 0 12-8 18L203 409q-7 7-17 7z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v5\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v5/slim-arrow-right\";\nexport { pathData, ltr, accData };","import { isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { pathData as pathDatav4, ltr, accData } from \"./v4/slim-arrow-right.js\";\nimport { pathData as pathDatav5 } from \"./v5/slim-arrow-right.js\";\n\nconst pathData = isLegacyThemeFamily() ? pathDatav4 : pathDatav5;\n\nexport default \"slim-arrow-right\";\nexport { pathData, ltr, accData };","import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport { getEventMark } from \"@ui5/webcomponents-base/dist/MarkedEvents.js\";\nimport { isSpace, isEnter, isDelete } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { PassiveEventListenerObject } from \"@ui5/webcomponents-base/dist/types.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport \"@ui5/webcomponents-icons/dist/decline.js\";\nimport \"@ui5/webcomponents-icons/dist/edit.js\";\nimport ListItemType from \"./types/ListItemType.js\";\nimport ListMode from \"./types/ListMode.js\";\nimport ListItemBase from \"./ListItemBase.js\";\nimport RadioButton from \"./RadioButton.js\";\nimport CheckBox from \"./CheckBox.js\";\nimport Button from \"./Button.js\";\nimport type { IButton } from \"./Button.js\";\nimport {\n\tDELETE,\n\tARIA_LABEL_LIST_ITEM_CHECKBOX,\n\tARIA_LABEL_LIST_ITEM_RADIO_BUTTON,\n\tLIST_ITEM_SELECTED,\n\tLIST_ITEM_NOT_SELECTED,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport styles from \"./generated/themes/ListItem.css.js\";\nimport HasPopup from \"./types/HasPopup.js\";\n\n// Icons\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\n\ninterface IAccessibleListItem {\n\taccessibleName?: string;\n\taccessibleNameRef?: string;\n}\n\ntype SelectionRequestEventDetail = {\n\titem: ListItemBase,\n\tselectionComponentPressed: boolean,\n\tselected?: boolean,\n\tkey?: string,\n}\n\ntype PressEventDetail = {\n\titem: ListItem,\n\tselected: boolean,\n\tkey: string,\n}\n\ntype AccInfo = {\n\trole: string;\n\tariaExpanded?: boolean;\n\tariaLevel?: number;\n\tariaLabel: string;\n\tariaLabelRadioButton: string;\n\tariaSelectedText?: string;\n\tariaHaspopup?: `${HasPopup}`;\n\tposinset?: number;\n\tsetsize?: number;\n\tariaSelected?: boolean;\n\tariaChecked?: boolean;\n\tlistItemAriaLabel?: string;\n\tariaOwns?: string;\n}\n\ntype AccessibilityAttributes = {\n\tariaSetsize?: number,\n\tariaPosinset?: number,\n}\n\n/**\n * @class\n * A class to serve as a base\n * for the StandardListItem and CustomListItem classes.\n *\n * @constructor\n * @abstract\n * @extends ListItemBase\n * @public\n */\n@customElement({\n\tlanguageAware: true,\n\tstyles: [ListItemBase.styles, styles],\n\tdependencies: [\n\t\tButton,\n\t\tRadioButton,\n\t\tCheckBox,\n\t],\n})\n/**\n * Fired when the user clicks on the detail button when type is Detail.\n *\n * @public\n */\n@event(\"detail-click\")\n@event(\"_press\")\n@event(\"_focused\")\n@event(\"_selection-requested\")\nabstract class ListItem extends ListItemBase {\n\t/**\n\t * Defines the visual indication and behavior of the list items.\n\t * Available options are Active (by default), Inactive, Detail and Navigation.\n\t *

    \n\t * Note: When set to Active or Navigation, the item will provide visual response upon press and hover,\n\t * while with type Inactive and Detail - will not.\n\t *\n\t * @default \"Active\"\n\t * @public\n\t*/\n\t@property({ type: ListItemType, defaultValue: ListItemType.Active })\n\ttype!: `${ListItemType}`;\n\n\t/**\n\t * An object of strings that defines several additional accessibility attribute values\n\t * for customization depending on the use case.\n\t *\n\t * It supports the following fields:\n\t *\n\t *
      \n\t * \t\t
    • ariaSetsize: Defines the number of items in the current set of listitems or treeitems when not all items in the set are present in the DOM.\n\t * \t\tThe value of each aria-setsize is an integer reflecting number of items in the complete set.\n\t * \t\tNote: If the size of the entire set is unknown, set aria-setsize=\"-1\".\n\t * \t\t
    • \n\t * \t\t
    • ariaPosinset: Defines an element's number or position in the current set of listitems or treeitems when not all items are present in the DOM.\n\t * \t\tThe value of each aria-posinset is an integer greater than or equal to 1, and less than or equal to the size of the set when that size is known.\n\t * \t\t
    • \n\t *
    \n\t *\n\t * @default {}\n\t * @public\n\t * @since 1.15.0\n\t */\n\t@property({ type: Object })\n\taccessibilityAttributes!: AccessibilityAttributes;\n\n\t/**\n\t * The navigated state of the list item.\n\t * If set to true, a navigation indicator is displayed at the end of the list item.\n\t *\n\t * @default false\n\t * @public\n\t * @since 1.10.0\n\t */\n\t@property({ type: Boolean })\n\tnavigated!: boolean;\n\n\t/**\n\t * Indicates if the list item is active, e.g pressed down with the mouse or the keyboard keys.\n\t *\n\t * @private\n\t*/\n\t@property({ type: Boolean })\n\tactive!: boolean;\n\n\t/**\n\t * Defines the tooltip of the component.\n\t * @default \"\"\n\t * @private\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\ttitle!: string;\n\n\t/**\n\t * Indicates if the list item is actionable, e.g has hover and pressed effects.\n\t *\n\t * @private\n\t*/\n\t@property({ type: Boolean })\n\tactionable!: boolean;\n\n\t/**\n\t * Used to define the role of the list item.\n\t *\n\t * @private\n\t * @default \"listitem\"\n\t * @since 1.0.0-rc.9\n\t *\n\t */\n\t@property({ defaultValue: \"listitem\" })\n\trole!: string;\n\n\t/**\n\t * Defines the description for the accessible role of the component.\n\t * @protected\n\t * @default undefined\n\t * @since 1.10.0\n\t */\n\t@property({ defaultValue: undefined, noAttribute: true })\n\taccessibleRoleDescription?: string;\n\n\t/**\n\t * Used to define the role of the list item.\n\t *\n\t * @private\n\t * @default \"\"\n\t * @since 1.3.0\n\t *\n\t */\n\t@property()\n\taccessibleRole!: string;\n\n\t@property({ type: ListMode, defaultValue: ListMode.None })\n\t_mode!: `${ListMode}`;\n\n\t/**\n\t * Defines the availability and type of interactive popup element that can be triggered by the component on which the property is set.\n\t * @since 1.10.0\n\t * @private\n\t */\n\t@property({ type: HasPopup, noAttribute: true })\n\tariaHaspopup?: `${HasPopup}`;\n\n\t/**\n\t * Defines the delete button, displayed in \"Delete\" mode.\n\t * Note: While the slot allows custom buttons, to match\n\t * design guidelines, please use the ui5-button component.\n\t * Note: When the slot is not present, a built-in delete button will be displayed.\n\t * @since 1.9.0\n\t * @public\n\t*/\n\t@slot()\n\tdeleteButton!: Array;\n\n\tdeactivateByKey: (e: KeyboardEvent) => void;\n\tdeactivate: () => void;\n\t_ontouchstart: PassiveEventListenerObject;\n\t// used in template, implemented in TreeItemBase, StandardListItem\n\taccessibleName?: string;\n\t// used in ListItem template but implemented in TreeItemBase\n\tindeterminate?: boolean;\n\t// Used in UploadCollectionItem\n\tdisableDeleteButton?: boolean;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis.deactivateByKey = (e: KeyboardEvent) => {\n\t\t\tif (isEnter(e)) {\n\t\t\t\tthis.deactivate();\n\t\t\t}\n\t\t};\n\n\t\tthis.deactivate = () => {\n\t\t\tif (this.active) {\n\t\t\t\tthis.active = false;\n\t\t\t}\n\t\t};\n\n\t\tconst handleTouchStartEvent = (e: TouchEvent) => {\n\t\t\tthis._onmousedown(e as unknown as MouseEvent);\n\t\t};\n\n\t\tthis._ontouchstart = {\n\t\t\thandleEvent: handleTouchStartEvent,\n\t\t\tpassive: true,\n\t\t};\n\t}\n\n\tonBeforeRendering() {\n\t\tthis.actionable = (this.type === ListItemType.Active || this.type === ListItemType.Navigation) && (this._mode !== ListMode.Delete);\n\t}\n\n\tonEnterDOM() {\n\t\tdocument.addEventListener(\"mouseup\", this.deactivate);\n\t\tdocument.addEventListener(\"touchend\", this.deactivate);\n\t\tdocument.addEventListener(\"keyup\", this.deactivateByKey);\n\t}\n\n\tonExitDOM() {\n\t\tdocument.removeEventListener(\"mouseup\", this.deactivate);\n\t\tdocument.removeEventListener(\"keyup\", this.deactivateByKey);\n\t\tdocument.removeEventListener(\"touchend\", this.deactivate);\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tsuper._onkeydown(e);\n\n\t\tconst itemActive = this.type === ListItemType.Active,\n\t\t\titemNavigated = this.typeNavigation;\n\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif ((isSpace(e) || isEnter(e)) && (itemActive || itemNavigated)) {\n\t\t\tthis.activate();\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis.fireItemPress(e);\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e) || isEnter(e)) {\n\t\t\tthis.deactivate();\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\tthis.fireItemPress(e);\n\t\t}\n\n\t\tif (this.modeDelete && isDelete(e)) {\n\t\t\tthis.onDelete();\n\t\t}\n\t}\n\n\t_onmousedown(e: MouseEvent) {\n\t\tif (getEventMark(e) === \"button\") {\n\t\t\treturn;\n\t\t}\n\t\tthis.activate();\n\t}\n\n\t_onmouseup(e: MouseEvent) {\n\t\tif (getEventMark(e) === \"button\") {\n\t\t\treturn;\n\t\t}\n\t\tthis.deactivate();\n\t}\n\n\t_ontouchend(e: TouchEvent) {\n\t\tthis._onmouseup(e as unknown as MouseEvent);\n\t}\n\n\t_onfocusout() {\n\t\tsuper._onfocusout();\n\t\tthis.deactivate();\n\t}\n\n\t_onclick(e: MouseEvent) {\n\t\tif (getEventMark(e) === \"button\") {\n\t\t\treturn;\n\t\t}\n\t\tthis.fireItemPress(e);\n\t}\n\n\t/*\n\t * Called when selection components in Single (ui5-radio-button)\n\t * and Multi (ui5-checkbox) selection modes are used.\n\t */\n\tonMultiSelectionComponentPress(e: MouseEvent) {\n\t\tif (this.isInactive) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.fireEvent(\"_selection-requested\", { item: this, selected: (e.target as CheckBox).checked, selectionComponentPressed: true });\n\t}\n\n\tonSingleSelectionComponentPress(e: MouseEvent) {\n\t\tif (this.isInactive) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.fireEvent(\"_selection-requested\", { item: this, selected: !(e.target as RadioButton).checked, selectionComponentPressed: true });\n\t}\n\n\tactivate() {\n\t\tif (this.type === ListItemType.Active || this.type === ListItemType.Navigation) {\n\t\t\tthis.active = true;\n\t\t}\n\t}\n\n\tonDelete() {\n\t\tthis.fireEvent(\"_selection-requested\", { item: this, selectionComponentPressed: false });\n\t}\n\n\tonDetailClick() {\n\t\tthis.fireEvent(\"detail-click\", { item: this, selected: this.selected });\n\t}\n\n\tfireItemPress(e: Event) {\n\t\tif (this.isInactive) {\n\t\t\treturn;\n\t\t}\n\t\tif (isEnter(e as KeyboardEvent)) {\n\t\t\te.preventDefault();\n\t\t}\n\t\tthis.fireEvent(\"_press\", { item: this, selected: this.selected, key: (e as KeyboardEvent).key });\n\t}\n\n\tget isInactive() {\n\t\treturn this.type === ListItemType.Inactive || this.type === ListItemType.Detail;\n\t}\n\n\tget placeSelectionElementBefore() {\n\t\treturn this._mode === ListMode.MultiSelect\n\t\t\t|| this._mode === ListMode.SingleSelectBegin;\n\t}\n\n\tget placeSelectionElementAfter() {\n\t\treturn !this.placeSelectionElementBefore\n\t\t\t&& (this._mode === ListMode.SingleSelectEnd || this._mode === ListMode.Delete);\n\t}\n\n\tget modeSingleSelect() {\n\t\treturn [\n\t\t\tListMode.SingleSelectBegin,\n\t\t\tListMode.SingleSelectEnd,\n\t\t\tListMode.SingleSelect,\n\t\t].includes(this._mode as ListMode);\n\t}\n\n\tget modeMultiSelect() {\n\t\treturn this._mode === ListMode.MultiSelect;\n\t}\n\n\tget modeDelete() {\n\t\treturn this._mode === ListMode.Delete;\n\t}\n\n\t/**\n\t * Used in UploadCollectionItem\n\t */\n\tget renderDeleteButton() {\n\t\treturn this.modeDelete;\n\t}\n\n\t/**\n\t * End\n\t */\n\n\tget typeDetail() {\n\t\treturn this.type === ListItemType.Detail;\n\t}\n\n\tget typeNavigation() {\n\t\treturn this.type === ListItemType.Navigation;\n\t}\n\n\tget typeActive() {\n\t\treturn this.type === ListItemType.Active;\n\t}\n\n\tget _ariaSelected() {\n\t\tif (this.modeMultiSelect || this.modeSingleSelect) {\n\t\t\treturn this.selected;\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget ariaSelectedText() {\n\t\tlet ariaSelectedText;\n\n\t\t// Selected state needs to be supported separately since now the role mapping is list -> listitem[]\n\t\t// to avoid the issue of nesting interactive elements, ex. (option -> radio/checkbox);\n\t\t// The text is added to aria-describedby because as part of the aria-labelledby\n\t\t// the whole content of the item is readout when the aria-labelledby value is changed.\n\t\tif (this._ariaSelected !== undefined) {\n\t\t\tariaSelectedText = this._ariaSelected ? ListItem.i18nBundle.getText(LIST_ITEM_SELECTED) : ListItem.i18nBundle.getText(LIST_ITEM_NOT_SELECTED);\n\t\t}\n\n\t\treturn ariaSelectedText;\n\t}\n\n\tget deleteText() {\n\t\treturn ListItem.i18nBundle.getText(DELETE);\n\t}\n\n\tget hasDeleteButtonSlot() {\n\t\treturn !!this.deleteButton.length;\n\t}\n\n\tget _accessibleNameRef(): string {\n\t\tif ((this as IAccessibleListItem).accessibleName) {\n\t\t\t// accessibleName is set - return labels excluding content\n\t\t\treturn `${this._id}-invisibleText`;\n\t\t}\n\n\t\t// accessibleName is not set - return _accInfo.listItemAriaLabel including content\n\t\treturn `${this._id}-content ${this._id}-invisibleText`;\n\t}\n\n\tget _accInfo(): AccInfo {\n\t\treturn {\n\t\t\trole: this.accessibleRole || this.role,\n\t\t\tariaExpanded: undefined,\n\t\t\tariaLevel: undefined,\n\t\t\tariaLabel: ListItem.i18nBundle.getText(ARIA_LABEL_LIST_ITEM_CHECKBOX),\n\t\t\tariaLabelRadioButton: ListItem.i18nBundle.getText(ARIA_LABEL_LIST_ITEM_RADIO_BUTTON),\n\t\t\tariaSelectedText: this.ariaSelectedText,\n\t\t\tariaHaspopup: this.ariaHaspopup || undefined,\n\t\t\tsetsize: this.accessibilityAttributes.ariaSetsize,\n\t\t\tposinset: this.accessibilityAttributes.ariaPosinset,\n\t\t};\n\t}\n\n\tget hasConfigurableMode() {\n\t\treturn true;\n\t}\n\n\tstatic async onDefine() {\n\t\tListItem.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n}\n\nexport default ListItem;\nexport type {\n\tIAccessibleListItem,\n\tSelectionRequestEventDetail,\n\tPressEventDetail,\n\tAccessibilityAttributes,\n};\n","/* eslint no-unused-vars: 0 */\nimport { html, svg, repeat, classMap, styleMap, ifDefined, unsafeHTML, scopeTag } from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\timport type Avatar from \"../../Avatar.js\";\n\timport type { ClassMapValue } from \"@ui5/webcomponents-base/dist/types.js\";\n\t\nfunction block0 (this: Avatar, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    ${ this.hasImage ? block1.call(this, context, tags, suffix) : block2.call(this, context, tags, suffix) }
    `;}\nfunction block1 (this: Avatar, context: UI5Element, tags: string[], suffix: string | undefined) { return html``;}\nfunction block2 (this: Avatar, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.icon ? block3.call(this, context, tags, suffix) : undefined }${ this.initials ? block4.call(this, context, tags, suffix) : undefined }`;}\nfunction block3 (this: Avatar, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-icon\", tags, suffix)} class=\"ui5-avatar-icon\" name=\"${ifDefined(this.icon)}\">` : html``;}\nfunction block4 (this: Avatar, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`${ifDefined(this.validInitials)}<${scopeTag(\"ui5-icon\", tags, suffix)} class=\"ui5-avatar-icon ui5-avatar-icon-fallback\" name=\"${ifDefined(this.fallbackIcon)}\">` : html`${ifDefined(this.validInitials)}`;}\n\n\nexport default block0;","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents\",fileName:\"themes/Avatar.css.ts\",content:`:host(:not([hidden])){display:inline-block;box-sizing:border-box;position:relative}:host(:not([hidden]).ui5_hovered){opacity:.7}:host(:is([interactive]):not([disabled])){cursor:pointer}:host(:is([interactive][pressed]):not([hidden])){background:var(--sapButton_Active_Background);border-color:var(--sapButton_Active_BorderColor);color:var(--sapButton_Active_TextColor)}:host(:is([interactive][pressed]):not([hidden]):hover){background:var(--sapButton_Selected_Hover_Background);border-color:var(--sapButton_Selected_Hover_BorderColor);color:var(--sapButton_Selected_TextColor)}:host(:is([interactive]):not([hidden]):not([pressed]):not([disabled]):hover){box-shadow:var(--ui5-v1-22-0-rc-3-avatar-hover-box-shadow-offset)}:host(:is([interactive][focused]):not([hidden]):not([pressed])){outline:var(--_ui5-v1-22-0-rc-3_avatar_outline);outline-offset:var(--_ui5-v1-22-0-rc-3_avatar_focus_offset)}:host(:is([disabled])){opacity:var(--sapContent_DisabledOpacity)}:host{height:3rem;width:3rem;border-radius:50%;border:var(--ui5-v1-22-0-rc-3-avatar-initials-border);outline:none;color:var(--ui5-v1-22-0-rc-3-avatar-initials-color)}.ui5-avatar-root{display:flex;align-items:center;justify-content:center;outline:none;height:100%;width:100%}:host([_size=\"XS\"]),:host([size=\"XS\"]){height:2rem;width:2rem;min-height:2rem;min-width:2rem;font-size:var(--_ui5-v1-22-0-rc-3_avatar_fontsize_XS)}:host([_size=\"S\"]),:host([size=\"S\"]){min-height:3rem;min-width:3rem;font-size:var(--_ui5-v1-22-0-rc-3_avatar_fontsize_S)}:host([_size=\"M\"]),:host([size=\"M\"]){min-height:4rem;min-width:4rem;font-size:var(--_ui5-v1-22-0-rc-3_avatar_fontsize_M)}:host([_size=\"L\"]),:host([size=\"L\"]){min-height:5rem;min-width:5rem;font-size:var(--_ui5-v1-22-0-rc-3_avatar_fontsize_L)}:host([_size=\"XL\"]),:host([size=\"XL\"]){min-height:7rem;min-width:7rem;font-size:var(--_ui5-v1-22-0-rc-3_avatar_fontsize_XL)}:host .ui5-avatar-icon{height:var(--_ui5-v1-22-0-rc-3_avatar_fontsize_S);width:var(--_ui5-v1-22-0-rc-3_avatar_fontsize_S);color:inherit}:host([_size=\"XS\"]) .ui5-avatar-icon,:host([size=\"XS\"]) .ui5-avatar-icon{height:var(--_ui5-v1-22-0-rc-3_avatar_icon_XS);width:var(--_ui5-v1-22-0-rc-3_avatar_icon_XS)}:host([_size=\"S\"]) .ui5-avatar-icon,:host([size=\"S\"]) .ui5-avatar-icon{height:var(--_ui5-v1-22-0-rc-3_avatar_icon_S);width:var(--_ui5-v1-22-0-rc-3_avatar_icon_S)}:host([_size=\"M\"]) .ui5-avatar-icon,:host([size=\"M\"]) .ui5-avatar-icon{height:var(--_ui5-v1-22-0-rc-3_avatar_icon_M);width:var(--_ui5-v1-22-0-rc-3_avatar_icon_M)}:host([_size=\"L\"]) .ui5-avatar-icon,:host([size=\"L\"]) .ui5-avatar-icon{height:var(--_ui5-v1-22-0-rc-3_avatar_icon_L);width:var(--_ui5-v1-22-0-rc-3_avatar_icon_L)}:host([_size=\"XL\"]) .ui5-avatar-icon,:host([size=\"XL\"]) .ui5-avatar-icon{height:var(--_ui5-v1-22-0-rc-3_avatar_icon_XL);width:var(--_ui5-v1-22-0-rc-3_avatar_icon_XL)}::slotted(*){border-radius:50%;width:100%;height:100%;pointer-events:none}:host([shape=\"Square\"]){border-radius:var(--ui5-v1-22-0-rc-3-avatar-border-radius)}:host([shape=\"Square\"]) ::slotted(*){border-radius:calc(var(--ui5-v1-22-0-rc-3-avatar-border-radius) - var(--ui5-v1-22-0-rc-3-avatar-border-radius-img-deduction))}:host(:not([color-scheme])),:host(:not([_has-image])),:host([_color-scheme=\"Accent6\"]),:host([ui5-avatar][color-scheme=\"Accent6\"]){background-color:var(--ui5-v1-22-0-rc-3-avatar-accent6);color:var(--ui5-v1-22-0-rc-3-avatar-accent6-color);border-color:var(--ui5-v1-22-0-rc-3-avatar-accent6-border-color)}:host([_color-scheme=\"Accent1\"]),:host([ui5-avatar][color-scheme=\"Accent1\"]){background-color:var(--ui5-v1-22-0-rc-3-avatar-accent1);color:var(--ui5-v1-22-0-rc-3-avatar-accent1-color);border-color:var(--ui5-v1-22-0-rc-3-avatar-accent1-border-color)}:host([_color-scheme=\"Accent2\"]),:host([ui5-avatar][color-scheme=\"Accent2\"]){background-color:var(--ui5-v1-22-0-rc-3-avatar-accent2);color:var(--ui5-v1-22-0-rc-3-avatar-accent2-color);border-color:var(--ui5-v1-22-0-rc-3-avatar-accent2-border-color)}:host([_color-scheme=\"Accent3\"]),:host([ui5-avatar][color-scheme=\"Accent3\"]){background-color:var(--ui5-v1-22-0-rc-3-avatar-accent3);color:var(--ui5-v1-22-0-rc-3-avatar-accent3-color);border-color:var(--ui5-v1-22-0-rc-3-avatar-accent3-border-color)}:host([_color-scheme=\"Accent4\"]),:host([ui5-avatar][color-scheme=\"Accent4\"]){background-color:var(--ui5-v1-22-0-rc-3-avatar-accent4);color:var(--ui5-v1-22-0-rc-3-avatar-accent4-color);border-color:var(--ui5-v1-22-0-rc-3-avatar-accent4-border-color)}:host([_color-scheme=\"Accent5\"]),:host([ui5-avatar][color-scheme=\"Accent5\"]){background-color:var(--ui5-v1-22-0-rc-3-avatar-accent5);color:var(--ui5-v1-22-0-rc-3-avatar-accent5-color);border-color:var(--ui5-v1-22-0-rc-3-avatar-accent5-border-color)}:host([_color-scheme=\"Accent7\"]),:host([ui5-avatar][color-scheme=\"Accent7\"]){background-color:var(--ui5-v1-22-0-rc-3-avatar-accent7);color:var(--ui5-v1-22-0-rc-3-avatar-accent7-color);border-color:var(--ui5-v1-22-0-rc-3-avatar-accent7-border-color)}:host([_color-scheme=\"Accent8\"]),:host([ui5-avatar][color-scheme=\"Accent8\"]){background-color:var(--ui5-v1-22-0-rc-3-avatar-accent8);color:var(--ui5-v1-22-0-rc-3-avatar-accent8-color);border-color:var(--ui5-v1-22-0-rc-3-avatar-accent8-border-color)}:host([_color-scheme=\"Accent9\"]),:host([ui5-avatar][color-scheme=\"Accent9\"]){background-color:var(--ui5-v1-22-0-rc-3-avatar-accent9);color:var(--ui5-v1-22-0-rc-3-avatar-accent9-color);border-color:var(--ui5-v1-22-0-rc-3-avatar-accent9-border-color)}:host([_color-scheme=\"Accent10\"]),:host([ui5-avatar][color-scheme=\"Accent10\"]){background-color:var(--ui5-v1-22-0-rc-3-avatar-accent10);color:var(--ui5-v1-22-0-rc-3-avatar-accent10-color);border-color:var(--ui5-v1-22-0-rc-3-avatar-accent10-border-color)}:host([_color-scheme=\"Placeholder\"]),:host([ui5-avatar][color-scheme=\"Placeholder\"]){background-color:var(--ui5-v1-22-0-rc-3-avatar-placeholder);color:var(--ui5-v1-22-0-rc-3-avatar-placeholder-color);border-color:var(--ui5-v1-22-0-rc-3-avatar-placeholder-border-color)}:host([_has-image]){color:var(--ui5-v1-22-0-rc-3-avatar-accent10-color);background-color:transparent;vertical-align:middle}.ui5-avatar-initials{color:inherit}.ui5-avatar-icon~.ui5-avatar-initials,.ui5-avatar-icon~.ui5-avatar-icon-fallback{display:none}.ui5-avatar-initials:not(.ui5-avatar-initials-hidden)+.ui5-avatar-icon-fallback{display:none}.ui5-avatar-initials-hidden{position:absolute;visibility:hidden;z-index:0;pointer-events:none}::slotted([slot=\"badge\"]){position:absolute;bottom:0;right:0;width:1.125rem;height:1.125rem;background:var(--sapButton_Emphasized_Background);border:var(--sapButton_Emphasized_Background);border-radius:1rem;color:var(--sapContent_BadgeTextColor);justify-content:center;font-family:\"72override\",var(--sapFontFamily);font-size:var(--sapFontSmallSize)}::slotted([ui5-badge][slot=\"badge\"]){padding:.1875rem}:host([_size=\"L\"]) ::slotted([slot=\"badge\"]),:host([size=\"L\"]) ::slotted([slot=\"badge\"]){width:1.25rem;height:1.25rem}:host([_size=\"XL\"]) ::slotted([slot=\"badge\"]),:host([size=\"XL\"]) ::slotted([slot=\"badge\"]){padding:.375rem;width:1.75rem;height:1.75rem}:host([shape=\"Square\"]) ::slotted([slot=\"badge\"]){bottom:-.125rem;right:-.125rem}:host([_size=\"L\"][shape=\"Square\"]) ::slotted([slot=\"badge\"]),:host([size=\"L\"][shape=\"Square\"]) ::slotted([slot=\"badge\"]){bottom:-.1875rem;right:-.1875rem}:host([_size=\"XL\"][shape=\"Square\"]) ::slotted([slot=\"badge\"]),:host([size=\"XL\"][shape=\"Square\"]) ::slotted([slot=\"badge\"]){bottom:-.25rem;right:-.25rem}\n`};\nexport default styleData;\n\t","/**\n * Different types of AvatarSize.\n *\n * @public\n */\nenum AvatarSize {\n\t/**\n\t * component size - 2rem\n\t * font size - 1rem\n\t * @public\n\t */\n\tXS = \"XS\",\n\n\t/**\n\t * component size - 3rem\n\t * font size - 1.5rem\n\t * @public\n\t */\n\tS = \"S\",\n\n\t/**\n\t * component size - 4rem\n\t * font size - 2rem\n\t * @public\n\t */\n\tM = \"M\",\n\n\t/**\n\t * component size - 5rem\n\t * font size - 2.5rem\n\t * @public\n\t */\n\tL = \"L\",\n\n\t/**\n\t * component size - 7rem\n\t * font size - 3rem\n\t * @public\n\t */\n\tXL = \"XL\",\n}\n\nexport default AvatarSize;\n","/**\n * Different types of AvatarShape.\n *\n * @public\n */\nenum AvatarShape {\n\t/**\n\t * Circular shape.\n\t * @public\n\t */\n\tCircle = \"Circle\",\n\n\t/**\n\t * Square shape.\n\t * @public\n\t */\n\tSquare = \"Square\",\n}\n\nexport default AvatarShape;\n","/**\n * Different types of AvatarColorScheme.\n *\n * @public\n */\nenum AvatarColorScheme {\n\t/**\n\t *\n\t * @public\n\t */\n\tAccent1 = \"Accent1\",\n\n\t/**\n\t *\n\t * @public\n\t */\n\tAccent2 = \"Accent2\",\n\n\t/**\n\t *\n\t * @public\n\t */\n\tAccent3 = \"Accent3\",\n\n\t/**\n\t *\n\t * @public\n\t */\n\tAccent4 = \"Accent4\",\n\n\t/**\n\t *\n\t * @public\n\t */\n\tAccent5 = \"Accent5\",\n\n\t/**\n\t *\n\t * @public\n\t */\n\tAccent6 = \"Accent6\",\n\n\t/**\n\t *\n\t * @public\n\t */\n\tAccent7 = \"Accent7\",\n\n\t/**\n\t *\n\t * @public\n\t */\n\tAccent8 = \"Accent8\",\n\n\t/**\n\t *\n\t * @public\n\t */\n\tAccent9 = \"Accent9\",\n\n\t/**\n\t *\n\t * @public\n\t */\n\tAccent10 = \"Accent10\",\n\n\t/**\n\t *\n\t * @public\n\t */\n\tPlaceholder = \"Placeholder\",\n}\n\nexport default AvatarColorScheme;\n","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"employee\";\nconst pathData = \"M448 512H64V384q0-26 10-49.5t27.5-41T142 266t50-10h64q-27 0-50-10t-40.5-27.5T138 178t-10-50q0-26 10-49.5t27.5-41T206 10t50-10q26 0 49.5 10t41 27.5 27.5 41 10 49.5q0 27-10 50t-27.5 40.5-41 27.5-49.5 10h64q26 0 49.5 10t41 27.5 27.5 41 10 49.5v128zM96 384v96h320v-96q0-40-28-68t-68-28H192q-40 0-68 28t-28 68zm160-160q40 0 68-28t28-68-28-68-68-28-68 28-28 68 28 68 68 28zm32 192v-32h96v32h-96z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v4\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v4/employee\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"employee\";\nconst pathData = \"M342 255q48 23 77 67.5t29 99.5v32q0 11-7.5 18.5T422 480H90q-11 0-18.5-7.5T64 454v-32q0-55 29-99.5t77-67.5l-4-5q-19-17-28.5-40.5T128 160q0-27 10-50t27.5-40.5 41-27.5T256 32t49.5 10.5 41 28T374 111t10 49q0 27-11 52t-31 43zm-163-95q0 32 22.5 54.5T256 237t54.5-22.5T333 160t-22.5-54.5T256 83t-54.5 22.5T179 160zm51 181l-25-15q-13-7-13-19v-6q-34 17-55.5 49T115 422v7h115v-88zm167 81q0-40-21-72t-56-49v6q0 12-13 19l-26 15v88h116v-7zm-71-70q11 0 18.5 7.5T352 378t-7.5 18-18.5 7h-12q-11 0-18.5-7t-7.5-18 7.5-18.5T314 352h12z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v5\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v5/employee\";\nexport { pathData, ltr, accData };","import { isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { pathData as pathDatav4, ltr, accData } from \"./v4/employee.js\";\nimport { pathData as pathDatav5 } from \"./v5/employee.js\";\n\nconst pathData = isLegacyThemeFamily() ? pathDatav4 : pathDatav5;\n\nexport default \"employee\";\nexport { pathData, ltr, accData };","import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport { isEnter, isSpace } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { IAvatarGroupItem } from \"./AvatarGroup.js\";\n// Template\nimport AvatarTemplate from \"./generated/templates/AvatarTemplate.lit.js\";\n\nimport { AVATAR_TOOLTIP } from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport AvatarCss from \"./generated/themes/Avatar.css.js\";\n\nimport Icon from \"./Icon.js\";\nimport AvatarSize from \"./types/AvatarSize.js\";\nimport AvatarShape from \"./types/AvatarShape.js\";\nimport AvatarColorScheme from \"./types/AvatarColorScheme.js\";\n\n// Icon\nimport \"@ui5/webcomponents-icons/dist/employee.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\n\n/**\n * @class\n *\n *

    Overview

    \n *\n * An image-like component that has different display options for representing images and icons\n * in different shapes and sizes, depending on the use case.\n *\n * The shape can be circular or square. There are several predefined sizes, as well as an option to\n * set a custom size.\n *\n *

    \n *

    Keyboard Handling

    \n *\n *
      \n *
    • [SPACE, ENTER, RETURN] - Fires the click event if the interactive property is set to true.
    • \n *
    • [SHIFT] - If [SPACE] is pressed, pressing [SHIFT] releases the component without triggering the click event.
    • \n *
    \n *

    \n *\n *

    ES6 Module Import

    \n *\n * import \"@ui5/webcomponents/dist/Avatar.js\";\n *\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.6\n * @implements {IAvatarGroupItem}\n * @public\n */\n@customElement({\n\ttag: \"ui5-avatar\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\tstyles: AvatarCss,\n\ttemplate: AvatarTemplate,\n\tdependencies: [Icon],\n})\n/**\n* Fired on mouseup, space and enter if avatar is interactive\n* Note: The event will not be fired if the disabled\n* property is set to true.\n* @private\n* @since 1.0.0-rc.11\n*/\n@event(\"click\")\nclass Avatar extends UI5Element implements ITabbable, IAvatarGroupItem {\n\t/**\n\t * Defines whether the component is disabled.\n\t * A disabled component can't be pressed or\n\t * focused, and it is not in the tab chain.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Defines if the avatar is interactive (focusable and pressable).\n\t * Note: This property won't have effect if the disabled\n\t * property is set to true.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tinteractive!: boolean;\n\n\t/**\n\t * Indicates if the elements is on focus\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused!: boolean;\n\n\t/**\n\t * Indicates if the elements is pressed\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tpressed!: boolean;\n\n\t/**\n\t * Defines the name of the UI5 Icon, that will be displayed.\n\t *
    \n\t * Note: If image slot is provided, the property will be ignored.\n\t *
    \n\t * Note: You should import the desired icon first, then use its name as \"icon\".\n\t *

    \n\t * import \"@ui5/webcomponents-icons/dist/{icon_name}.js\"\n\t *
    \n\t *
    <ui5-avatar icon=\"employee\">
    \n\t *
    \n\t * Note: If no icon or an empty one is provided, by default the \"employee\" icon should be displayed.\n\t *\n\t * See all the available icons in the Icon Explorer.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ticon!: string;\n\n\t/**\n\t * Defines the name of the fallback icon, which should be displayed in the following cases:\n\t *
      \n\t * \t
    • If the initials are not valid (more than 3 letters, unsupported languages or empty initials).
    • \n\t * \t
    • If there are three initials and they do not fit in the shape (e.g. WWW for some of the sizes).
    • \n\t * \t
    • If the image src is wrong.
    • \n\t *
    \n\t *\n\t *
    \n\t * Note: If not set, a default fallback icon \"employee\" is displayed.\n\t *
    \n\t * Note: You should import the desired icon first, then use its name as \"fallback-icon\".\n\t *

    \n\t * import \"@ui5/webcomponents-icons/dist/{icon_name}.js\"\n\t *
    \n\t *
    <ui5-avatar fallback-icon=\"alert\">
    \n\t *
    \n\t *\n\t * See all the available icons in the Icon Explorer.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tfallbackIcon!: string;\n\n\t/**\n\t * Defines the displayed initials.\n\t *
    \n\t * Up to three Latin letters can be displayed as initials.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tinitials!: string;\n\n\t/**\n\t * Defines the shape of the component.\n\t *\n\t * @default \"Circle\"\n\t * @public\n\t */\n\t@property({ type: AvatarShape, defaultValue: AvatarShape.Circle })\n\tshape!: `${AvatarShape}`;\n\n\t/**\n\t * Defines predefined size of the component.\n\t *\n\t * @default \"S\"\n\t * @public\n\t */\n\t@property({ type: AvatarSize, defaultValue: AvatarSize.S })\n\tsize!: `${AvatarSize}`;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: AvatarSize, defaultValue: AvatarSize.S })\n\t_size!: AvatarSize;\n\n\t/**\n\t * Defines the background color of the desired image.\n\t *\n\t * @default \"Accent6\"\n\t * @public\n\t */\n\t@property({ type: AvatarColorScheme, defaultValue: AvatarColorScheme.Accent6 })\n\tcolorScheme!: `${AvatarColorScheme}`;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: AvatarColorScheme, defaultValue: AvatarColorScheme.Accent6 })\n\t_colorScheme!: AvatarColorScheme;\n\n\t/**\n\t * Defines the text alternative of the component.\n\t * If not provided a default text alternative will be set, if present.\n\t *\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.7\n\t */\n\t@property()\n\taccessibleName!: string;\n\n\t/**\n\t * Defines the aria-haspopup value of the component when interactive property is true.\n\t *

    \n\t * @since 1.0.0-rc.15\n\t * @protected\n\t */\n\t@property()\n\tariaHaspopup!: string;\n\n\t@property({ noAttribute: true })\n\tforcedTabIndex!: string;\n\n\t@property({ type: Boolean })\n\t_hasImage!: boolean;\n\n\t/**\n\t * Receives the desired <img> tag\n\t *\n\t * Note: If you experience flickering of the provided image, you can hide the component until it is being defined with the following CSS:\n\t *

    \n\t * \n\t *\t\tui5-avatar:not(:defined) {
    \n\t *\t\t\t visibility: hidden;
    \n\t *\t\t}
    \n\t *
    \n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\timage!: Array;\n\n\t/**\n\t * Defines the optional badge that will be used for visual affordance.\n\t * Note: While the slot allows for custom badges, to achieve\n\t * the Fiori design, please use ui5-badge with ui5-icon\n\t * in the corresponding icon slot, without text nodes.\n\t *

    \n\t * Example:\n\t *

    \n\t * <ui5-avatar>
    \n\t *     <ui5-badge slot=\"badge\">
    \n\t *         <ui5-icon slot=\"icon\" name=\"employee\"></ui5-icon>
    \n\t *     </ui5-badge>
    \n\t * </ui5-avatar>\n\t *

    \n\t * \n\t * \n\t * \n\t * \n\t * \n\t *\n\t * @public\n\t * @since 1.7.0\n\t */\n\t@slot()\n\tbadge!: Array;\n\n\t_onclick?: (e: MouseEvent) => void;\n\tstatic i18nBundle: I18nBundle;\n\t_handleResizeBound: ResizeObserverCallback;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._handleResizeBound = this.handleResize.bind(this);\n\t}\n\n\tstatic async onDefine() {\n\t\tAvatar.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tget tabindex() {\n\t\treturn this.forcedTabIndex || (this._interactive ? \"0\" : \"-1\");\n\t}\n\n\t/**\n\t * Returns the effective avatar size.\n\t * @default \"S\"\n\t * @private\n\t */\n\tget effectiveSize(): AvatarSize {\n\t\t// we read the attribute, because the \"size\" property will always have a default value\n\t\treturn this.getAttribute(\"size\") as AvatarSize || this._size;\n\t}\n\n\t/**\n\t * Returns the effective background color.\n\t * @default \"Accent6\"\n\t * @private\n\t */\n\tget еffectiveBackgroundColor(): AvatarColorScheme {\n\t\t// we read the attribute, because the \"background-color\" property will always have a default value\n\t\treturn this.getAttribute(\"color-scheme\") as AvatarColorScheme || this._colorScheme;\n\t}\n\n\tget _role() {\n\t\treturn this._interactive ? \"button\" : \"img\";\n\t}\n\n\tget _ariaHasPopup() {\n\t\treturn this._getAriaHasPopup();\n\t}\n\n\tget _fallbackIcon() {\n\t\tif (this.fallbackIcon === \"\") {\n\t\t\tthis.fallbackIcon = \"employee\";\n\t\t}\n\n\t\treturn this.fallbackIcon;\n\t}\n\n\tget _interactive() {\n\t\treturn this.interactive && !this.disabled;\n\t}\n\n\tget validInitials() {\n\t\t// initials should consist of only 1,2 or 3 latin letters\n\t\tconst validInitials = /^[a-zA-Zà-üÀ-Ü]{1,3}$/,\n\t\t\tareInitialsValid = this.initials && validInitials.test(this.initials);\n\n\t\tif (areInitialsValid) {\n\t\t\treturn this.initials;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tget accessibleNameText() {\n\t\tif (this.accessibleName) {\n\t\t\treturn this.accessibleName;\n\t\t}\n\n\t\treturn Avatar.i18nBundle.getText(AVATAR_TOOLTIP) || undefined;\n\t}\n\n\tget hasImage() {\n\t\tthis._hasImage = !!this.image.length;\n\t\treturn this._hasImage;\n\t}\n\n\tget initialsContainer(): HTMLObjectElement | null {\n\t\treturn this.getDomRef()!.querySelector(\".ui5-avatar-initials\");\n\t }\n\n\tonBeforeRendering() {\n\t\tthis._onclick = this._interactive ? this._onClickHandler.bind(this) : undefined;\n\t}\n\n\tasync onAfterRendering() {\n\t\tawait renderFinished();\n\t\tif (this.initials && !this.icon) {\n\t\t\tthis._checkInitials();\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tthis.initialsContainer && ResizeHandler.register(this.initialsContainer,\n\t\t\tthis._handleResizeBound);\n\t}\n\n\tonExitDOM() {\n\t\tthis.initialsContainer && ResizeHandler.deregister(this.initialsContainer,\n\t\t\tthis._handleResizeBound);\n\t}\n\n\thandleResize() {\n\t\tif (this.initials && !this.icon) {\n\t\t\tthis._checkInitials();\n\t\t}\n\t}\n\n\t_checkInitials() {\n\t\tconst avatar = this.getDomRef()!,\n\t\t\tavatarInitials = avatar.querySelector(\".ui5-avatar-initials\");\n\t\t// if there aren`t initalts set - the fallBack icon should be shown\n\t\tif (!this.validInitials) {\n\t\t\tavatarInitials!.classList.add(\"ui5-avatar-initials-hidden\");\n\t\t\treturn;\n\t\t}\n\t\t// if initials` width is bigger than the avatar, an icon should be shown inside the avatar\n\t\tavatarInitials && avatarInitials.classList.remove(\"ui5-avatar-initials-hidden\");\n\t\tif (this.initials && this.initials.length === 3) {\n\t\t\tif (avatarInitials && avatarInitials.scrollWidth > avatar.scrollWidth) {\n\t\t\t\tavatarInitials.classList.add(\"ui5-avatar-initials-hidden\");\n\t\t\t}\n\t\t}\n\t}\n\n\t_onClickHandler(e: MouseEvent) {\n\t\t// prevent the native event and fire custom event to ensure the noConfict \"ui5-click\" is fired\n\t\te.stopPropagation();\n\t\tthis._fireClick();\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (!this._interactive) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._fireClick();\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault(); // prevent scrolling\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (this._interactive && !e.shiftKey && isSpace(e)) {\n\t\t\tthis._fireClick();\n\t\t}\n\t}\n\n\t_fireClick() {\n\t\tthis.fireEvent(\"click\");\n\t\tthis.pressed = !this.pressed;\n\t}\n\n\t_onfocusout() {\n\t\tthis.focused = false;\n\t}\n\n\t_onfocusin() {\n\t\tif (this._interactive) {\n\t\t\tthis.focused = true;\n\t\t}\n\t}\n\n\t_getAriaHasPopup() {\n\t\tif (!this._interactive || this.ariaHaspopup === \"\") {\n\t\t\treturn;\n\t\t}\n\n\t\treturn this.ariaHaspopup;\n\t}\n}\n\nAvatar.define();\n\nexport default Avatar;\n","/* eslint no-unused-vars: 0 */\nimport { html, svg, repeat, classMap, styleMap, ifDefined, unsafeHTML, scopeTag } from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\timport type StandardListItem from \"../../StandardListItem.js\";\n\timport type { ClassMapValue } from \"@ui5/webcomponents-base/dist/types.js\";\n\t\nfunction block0 (this: StandardListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
  • ${ this.placeSelectionElementBefore ? block1.call(this, context, tags, suffix) : undefined }
    ${ this.hasImageContent ? block7.call(this, context, tags, suffix) : block8.call(this, context, tags, suffix) }${ this.displayIconBegin ? block10.call(this, context, tags, suffix) : undefined }
    ${ this.description ? block11.call(this, context, tags, suffix) : undefined }${ !this.typeActive ? block13.call(this, context, tags, suffix) : undefined }
    ${ !this.description ? block14.call(this, context, tags, suffix) : undefined }
    ${ this.displayIconEnd ? block16.call(this, context, tags, suffix) : undefined }${ this.typeDetail ? block17.call(this, context, tags, suffix) : undefined }${ this.typeNavigation ? block18.call(this, context, tags, suffix) : undefined }${ this.navigated ? block19.call(this, context, tags, suffix) : undefined }${ this.placeSelectionElementAfter ? block20.call(this, context, tags, suffix) : undefined }${ifDefined(this._accInfo.listItemAriaLabel)}${ifDefined(this.accessibleName)}${ifDefined(this._accInfo.ariaSelectedText)}
  • `;}\nfunction block1 (this: StandardListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.modeSingleSelect ? block2.call(this, context, tags, suffix) : undefined }${ this.modeMultiSelect ? block3.call(this, context, tags, suffix) : undefined }${ this.renderDeleteButton ? block4.call(this, context, tags, suffix) : undefined }`;}\nfunction block2 (this: StandardListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-radio-button\", tags, suffix)} part=\"radio\" ?disabled=\"${this.isInactive}\" accessible-name=\"${ifDefined(this._accInfo.ariaLabelRadioButton)}\" tabindex=\"-1\" id=\"${ifDefined(this._id)}-singleSelectionElement\" class=\"ui5-li-singlesel-radiobtn\" ?checked=\"${this.selected}\" @click=\"${this.onSingleSelectionComponentPress}\">` : html``;}\nfunction block3 (this: StandardListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-checkbox\", tags, suffix)} part=\"checkbox\" ?disabled=\"${this.isInactive}\" ?indeterminate=${this.indeterminate} tabindex=\"-1\" id=\"${ifDefined(this._id)}-multiSelectionElement\" class=\"ui5-li-multisel-cb\" ?checked=\"${this.selected}\" accessible-name=\"${ifDefined(this._accInfo.ariaLabel)}\" @click=\"${this.onMultiSelectionComponentPress}\">` : html``;}\nfunction block4 (this: StandardListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    ${ this.hasDeleteButtonSlot ? block5.call(this, context, tags, suffix) : block6.call(this, context, tags, suffix) }
    `;}\nfunction block5 (this: StandardListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html``;}\nfunction block6 (this: StandardListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-button\", tags, suffix)} part=\"delete-button\" tabindex=\"-1\" data-sap-no-tab-ref id=\"${ifDefined(this._id)}-deleteSelectionElement\" design=\"Transparent\" icon=\"decline\" ?disabled=\"${this.disableDeleteButton}\" @click=\"${this.onDelete}\" tooltip=\"${ifDefined(this.deleteText)}\">` : html``;}\nfunction block7 (this: StandardListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    `;}\nfunction block8 (this: StandardListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.displayImage ? block9.call(this, context, tags, suffix) : undefined }`;}\nfunction block9 (this: StandardListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-avatar\", tags, suffix)} shape=\"Square\" class=\"ui5-li-img\">` : html``;}\nfunction block10 (this: StandardListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-icon\", tags, suffix)} part=\"icon\" name=\"${ifDefined(this.icon)}\" class=\"ui5-li-icon\" accessible-role=\"presentation\" aria-hidden=\"true\">` : html``;}\nfunction block11 (this: StandardListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    ${ifDefined(this.description)}${ this.additionalText ? block12.call(this, context, tags, suffix) : undefined }
    `;}\nfunction block12 (this: StandardListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ifDefined(this.additionalText)}`;}\nfunction block13 (this: StandardListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ifDefined(this.type)}`;}\nfunction block14 (this: StandardListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.additionalText ? block15.call(this, context, tags, suffix) : undefined }`;}\nfunction block15 (this: StandardListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ifDefined(this.additionalText)}`;}\nfunction block16 (this: StandardListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-icon\", tags, suffix)} part=\"icon\" name=\"${ifDefined(this.icon)}\" class=\"ui5-li-icon\" accessible-role=\"presentation\" aria-hidden=\"true\">` : html``;}\nfunction block17 (this: StandardListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`
    <${scopeTag(\"ui5-button\", tags, suffix)} part=\"detail-button\" design=\"Transparent\" icon=\"edit\" @click=\"${this.onDetailClick}\">
    ` : html`
    `;}\nfunction block18 (this: StandardListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-icon\", tags, suffix)} name =\"slim-arrow-right\">` : html``;}\nfunction block19 (this: StandardListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    `;}\nfunction block20 (this: StandardListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.modeSingleSelect ? block21.call(this, context, tags, suffix) : undefined }${ this.modeMultiSelect ? block22.call(this, context, tags, suffix) : undefined }${ this.renderDeleteButton ? block23.call(this, context, tags, suffix) : undefined }`;}\nfunction block21 (this: StandardListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-radio-button\", tags, suffix)} part=\"radio\" ?disabled=\"${this.isInactive}\" accessible-name=\"${ifDefined(this._accInfo.ariaLabelRadioButton)}\" tabindex=\"-1\" id=\"${ifDefined(this._id)}-singleSelectionElement\" class=\"ui5-li-singlesel-radiobtn\" ?checked=\"${this.selected}\" @click=\"${this.onSingleSelectionComponentPress}\">` : html``;}\nfunction block22 (this: StandardListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-checkbox\", tags, suffix)} part=\"checkbox\" ?disabled=\"${this.isInactive}\" ?indeterminate=${this.indeterminate} tabindex=\"-1\" id=\"${ifDefined(this._id)}-multiSelectionElement\" class=\"ui5-li-multisel-cb\" ?checked=\"${this.selected}\" accessible-name=\"${ifDefined(this._accInfo.ariaLabel)}\" @click=\"${this.onMultiSelectionComponentPress}\">` : html``;}\nfunction block23 (this: StandardListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    ${ this.hasDeleteButtonSlot ? block24.call(this, context, tags, suffix) : block25.call(this, context, tags, suffix) }
    `;}\nfunction block24 (this: StandardListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html``;}\nfunction block25 (this: StandardListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-button\", tags, suffix)} part=\"delete-button\" tabindex=\"-1\" data-sap-no-tab-ref id=\"${ifDefined(this._id)}-deleteSelectionElement\" design=\"Transparent\" icon=\"decline\" ?disabled=\"${this.disableDeleteButton}\" @click=\"${this.onDelete}\" tooltip=\"${ifDefined(this.deleteText)}\">` : html``;}\n\n\nexport default block0;","import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport ListItem from \"./ListItem.js\";\nimport type { IAccessibleListItem } from \"./ListItem.js\";\nimport Icon from \"./Icon.js\";\nimport Avatar from \"./Avatar.js\";\nimport WrappingType from \"./types/WrappingType.js\";\nimport StandardListItemTemplate from \"./generated/templates/StandardListItemTemplate.lit.js\";\n\n/**\n * @class\n * The ui5-li represents the simplest type of item for a ui5-list.\n *\n * This is a list item,\n * providing the most common use cases such as text,\n * image and icon.\n\n * @csspart title - Used to style the title of the list item\n * @csspart description - Used to style the description of the list item\n * @csspart additional-text - Used to style the additionalText of the list item\n * @csspart icon - Used to style the icon of the list item\n * @csspart native-li - Used to style the main li tag of the list item\n * @csspart content - Used to style the content area of the list item\n * @csspart detail-button - Used to style the button rendered when the list item is of type detail\n * @csspart delete-button - Used to style the button rendered when the list item is in delete mode\n * @csspart radio - Used to style the radio button rendered when the list item is in single selection mode\n * @csspart checkbox - Used to style the checkbox rendered when the list item is in multiple selection mode\n *\n * @slot {Node[]} default - Defines the text of the component.\n *

    \n * Note: Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n *\n * @constructor\n * @extends ListItem\n * @public\n */\n@customElement({\n\ttag: \"ui5-li\",\n\ttemplate: StandardListItemTemplate,\n\tdependencies: [\n\t\t...ListItem.dependencies,\n\t\tIcon,\n\t\tAvatar,\n\t],\n})\nclass StandardListItem extends ListItem implements IAccessibleListItem {\n\t/**\n\t * Defines the description displayed right under the item text, if such is present.\n\t * @default \"\"\n\t * @public\n\t * @since 0.8.0\n\t */\n\t@property()\n\tdescription!: string;\n\n\t/**\n\t * Defines the icon source URI.\n\t *

    \n\t * Note:\n\t * SAP-icons font provides numerous built-in icons. To find all the available icons, see the\n\t * Icon Explorer.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ticon!: string;\n\n\t/**\n\t * Defines whether the icon should be displayed in the beginning of the list item or in the end.\n\t *

    \n\t * Note: If image is set, the icon would be displayed after the image.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\ticonEnd!: boolean;\n\n\t/**\n\t * Defines the image source URI.\n\t *

    \n\t * Note: The image would be displayed in the beginning of the list item.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\timage!: string;\n\n\t/**\n\t * Defines the additionalText, displayed in the end of the list item.\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\tadditionalText!: string;\n\n\t/**\n\t * Defines the state of the additionalText.\n\t *
    \n\t * Available options are: \"None\" (by default), \"Success\", \"Warning\", \"Information\" and \"Error\".\n\t * @default \"None\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tadditionalTextState!: `${ValueState}`;\n\n\t/**\n\t * Defines the text alternative of the component.\n\t * Note: If not provided a default text alternative will be set, if present.\n\t *\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\tdeclare accessibleName: string;\n\n\t/**\n\t * Defines if the text of the component should wrap, they truncate by default.\n\t *\n\t *

    \n\t * Note: this property takes affect only if text node is provided to default slot of the component\n\t * @default \"None\"\n\t * @private\n\t * @since 1.5.0\n\t */\n\t@property({ type: WrappingType, defaultValue: WrappingType.None })\n\twrappingType!: `${WrappingType}`;\n\n\t/**\n\t * Indicates if the list item has text content.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\thasTitle!: boolean;\n\n\t@property({ type: Boolean })\n\t_hasImageContent!: boolean;\n\n\t/**\n\t * Note: While the slot allows option for setting custom avatar, to match the\n\t * design guidelines, please use the ui5-avatar with it`s default size - S.\n\t * Note: If bigger ui5-avatar needs to be used, then the size of the\n\t * ui5-li should be customized in order to fit.\n\t * @since 1.10.0\n\t * @public\n\t */\n\t@slot()\n\timageContent!: Array;\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\t\tthis.hasTitle = !!this.textContent;\n\t\tthis._hasImageContent = this.hasImageContent;\n\t}\n\n\tget displayImage(): boolean {\n\t\treturn !!this.image;\n\t}\n\n\tget displayIconBegin(): boolean {\n\t\treturn !!(this.icon && !this.iconEnd);\n\t}\n\n\tget displayIconEnd(): boolean {\n\t\treturn !!(this.icon && this.iconEnd);\n\t}\n\n\tget hasImageContent(): boolean {\n\t\treturn !!this.imageContent.length;\n\t}\n}\n\nStandardListItem.define();\n\nexport default StandardListItem;\n","/* eslint no-unused-vars: 0 */\nimport { html, svg, repeat, classMap, styleMap, ifDefined, unsafeHTML, scopeTag } from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\timport type Select from \"../../Select.js\";\n\timport type { ClassMapValue } from \"@ui5/webcomponents-base/dist/types.js\";\n\t\nfunction block0 (this: Select, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    ${ this.selectedOptionIcon ? block1.call(this, context, tags, suffix) : undefined }
    ${ this.hasCustomLabel ? block2.call(this, context, tags, suffix) : block3.call(this, context, tags, suffix) }
    ${ !this.readonly ? block4.call(this, context, tags, suffix) : undefined }${ this.hasValueState ? block5.call(this, context, tags, suffix) : undefined }
    `;}\nfunction block1 (this: Select, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-icon\", tags, suffix)} aria-hidden=\"true\" class=\"ui5-select-option-icon\" name=\"${ifDefined(this.selectedOptionIcon)}\">` : html``;}\nfunction block2 (this: Select, context: UI5Element, tags: string[], suffix: string | undefined) { return html``;}\nfunction block3 (this: Select, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ifDefined(this._text)}`;}\nfunction block4 (this: Select, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-icon\", tags, suffix)} name=\"slim-arrow-down\" input-icon ?pressed=\"${this._iconPressed}\">` : html``;}\nfunction block5 (this: Select, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ifDefined(this.valueStateText)}`;}\n\n\nexport default block0;","/* eslint no-unused-vars: 0 */\nimport { html, svg, repeat, classMap, styleMap, ifDefined, unsafeHTML, scopeTag } from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\ttype SelectPopover = any;\n\timport type { ClassMapValue } from \"@ui5/webcomponents-base/dist/types.js\";\n\t\nfunction block0 (this: SelectPopover, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.options ? block1.call(this, context, tags, suffix) : undefined }${ this.shouldOpenValueStateMessagePopover ? block13.call(this, context, tags, suffix) : undefined }`;}\nfunction block1 (this: SelectPopover, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-responsive-popover\", tags, suffix)} hide-arrow _disable-initial-focus placement-type=\"Bottom\" class=\"ui5-select-popover ${classMap(this.classes.popover as ClassMapValue)}\" horizontal-align=\"Left\" @ui5-after-open=\"${ifDefined(this._afterOpen)}\" @ui5-before-open=\"${ifDefined(this._beforeOpen)}\" @ui5-after-close=\"${ifDefined(this._afterClose)}\" @keydown=\"${this._onkeydown}\" style=${styleMap(this.styles.responsivePopover)}>${ this._isPhone ? block2.call(this, context, tags, suffix) : undefined }${ !this._isPhone ? block7.call(this, context, tags, suffix) : undefined }<${scopeTag(\"ui5-list\", tags, suffix)} mode=\"SingleSelectAuto\" separators=\"None\" @mousedown=\"${this._itemMousedown}\" @ui5-item-click=\"${ifDefined(this._handleItemPress)}\">${ repeat(this._syncedOptions, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block12.call(this, context, tags, suffix, item, index)) }` : html`${ this._isPhone ? block2.call(this, context, tags, suffix) : undefined }${ !this._isPhone ? block7.call(this, context, tags, suffix) : undefined }${ repeat(this._syncedOptions, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block12.call(this, context, tags, suffix, item, index)) }`;}\nfunction block2 (this: SelectPopover, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`
    ${ifDefined(this._headerTitleText)}<${scopeTag(\"ui5-button\", tags, suffix)} class=\"ui5-responsive-popover-close-btn\" icon=\"decline\" design=\"Transparent\" @click=\"${this._toggleRespPopover}\">
    ${ this.hasValueStateText ? block3.call(this, context, tags, suffix) : undefined }
    ` : html`
    ${ifDefined(this._headerTitleText)}
    ${ this.hasValueStateText ? block3.call(this, context, tags, suffix) : undefined }
    `;}\nfunction block3 (this: SelectPopover, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    ${ this.shouldDisplayDefaultValueStateMessage ? block4.call(this, context, tags, suffix) : block5.call(this, context, tags, suffix) }
    `;}\nfunction block4 (this: SelectPopover, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ifDefined(this.valueStateText)}`;}\nfunction block5 (this: SelectPopover, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ repeat(this.valueStateMessageText, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block6.call(this, context, tags, suffix, item, index)) }`;}\nfunction block6 (this: SelectPopover, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`${ifDefined(item)}`;}\nfunction block7 (this: SelectPopover, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.hasValueStateText ? block8.call(this, context, tags, suffix) : undefined }`;}\nfunction block8 (this: SelectPopover, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`
    <${scopeTag(\"ui5-icon\", tags, suffix)} class=\"ui5-input-value-state-message-icon\" name=\"${ifDefined(this._valueStateMessageInputIcon)}\">${ this.shouldDisplayDefaultValueStateMessage ? block9.call(this, context, tags, suffix) : block10.call(this, context, tags, suffix) }
    ` : html`
    ${ this.shouldDisplayDefaultValueStateMessage ? block9.call(this, context, tags, suffix) : block10.call(this, context, tags, suffix) }
    `;}\nfunction block9 (this: SelectPopover, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ifDefined(this.valueStateText)}`;}\nfunction block10 (this: SelectPopover, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ repeat(this.valueStateMessageText, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block11.call(this, context, tags, suffix, item, index)) }`;}\nfunction block11 (this: SelectPopover, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`${ifDefined(item)}`;}\nfunction block12 (this: SelectPopover, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return suffix ? html`<${scopeTag(\"ui5-li\", tags, suffix)} id=\"${ifDefined(item.id)}-li\" icon=\"${ifDefined(item.icon)}\" ?selected=\"${item.selected}\" ?focused=\"${item._focused}\" title=\"${ifDefined(item.title)}\" additional-text=\"${ifDefined(item.additionalText)}\" ?aria-selected=\"${item.selected}\" data-ui5-stable=\"${ifDefined(item.stableDomRef)}\">${ifDefined(item.textContent)}` : html`${ifDefined(item.textContent)}`;}\nfunction block13 (this: SelectPopover, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-popover\", tags, suffix)} skip-registry-update _disable-initial-focus prevent-focus-restore hide-arrow class=\"ui5-valuestatemessage-popover\" placement-type=\"Bottom\" horizontal-align=\"Left\">
    <${scopeTag(\"ui5-icon\", tags, suffix)} class=\"ui5-input-value-state-message-icon\" name=\"${ifDefined(this._valueStateMessageInputIcon)}\">${ this.shouldDisplayDefaultValueStateMessage ? block14.call(this, context, tags, suffix) : block15.call(this, context, tags, suffix) }
    ` : html`
    ${ this.shouldDisplayDefaultValueStateMessage ? block14.call(this, context, tags, suffix) : block15.call(this, context, tags, suffix) }
    `;}\nfunction block14 (this: SelectPopover, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ifDefined(this.valueStateText)}`;}\nfunction block15 (this: SelectPopover, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ repeat(this.valueStateMessageText, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block16.call(this, context, tags, suffix, item, index)) }`;}\nfunction block16 (this: SelectPopover, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`${ifDefined(item)}`;}\n\n\nexport default block0;","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents\",fileName:\"themes/Select.css.ts\",content:`:host{vertical-align:middle}.ui5-hidden-text{position:absolute;clip:rect(1px,1px,1px,1px);user-select:none;left:-1000px;top:-1000px;pointer-events:none;font-size:0}[input-icon]{color:var(--_ui5-v1-22-0-rc-3_input_icon_color);cursor:pointer;outline:none;padding:var(--_ui5-v1-22-0-rc-3_input_icon_padding);border-inline-start:var(--_ui5-v1-22-0-rc-3_input_icon_border);min-width:1rem;min-height:1rem;border-radius:var(--_ui5-v1-22-0-rc-3_input_icon_border_radius)}[input-icon][pressed]{background:var(--_ui5-v1-22-0-rc-3_input_icon_pressed_bg);box-shadow:var(--_ui5-v1-22-0-rc-3_input_icon_box_shadow);border-inline-start:var(--_ui5-v1-22-0-rc-3_select_hover_icon_left_border);color:var(--_ui5-v1-22-0-rc-3_input_icon_pressed_color)}[input-icon]:active{background-color:var(--sapButton_Active_Background);box-shadow:var(--_ui5-v1-22-0-rc-3_input_icon_box_shadow);border-inline-start:var(--_ui5-v1-22-0-rc-3_select_hover_icon_left_border);color:var(--_ui5-v1-22-0-rc-3_input_icon_pressed_color)}[input-icon]:not([pressed]):not(:active):hover{background:var(--_ui5-v1-22-0-rc-3_input_icon_hover_bg);box-shadow:var(--_ui5-v1-22-0-rc-3_input_icon_box_shadow)}[input-icon]:hover{border-inline-start:var(--_ui5-v1-22-0-rc-3_select_hover_icon_left_border);box-shadow:var(--_ui5-v1-22-0-rc-3_input_icon_box_shadow)}:host(:not([hidden])){display:inline-block}:host{width:var(--_ui5-v1-22-0-rc-3_input_width);min-width:calc(var(--_ui5-v1-22-0-rc-3_input_min_width) + (var(--_ui5-v1-22-0-rc-3-input-icons-count)*var(--_ui5-v1-22-0-rc-3_input_icon_width)));margin:var(--_ui5-v1-22-0-rc-3_input_margin_top_bottom) 0;height:var(--_ui5-v1-22-0-rc-3_input_height);color:var(--sapField_TextColor);font-size:var(--sapFontSize);font-family:\"72override\",var(--sapFontFamily);font-style:normal;border:var(--_ui5-v1-22-0-rc-3-input-border);border-radius:var(--_ui5-v1-22-0-rc-3_input_border_radius);box-sizing:border-box;text-align:start;transition:var(--_ui5-v1-22-0-rc-3_input_transition);background:var(--sapField_BackgroundStyle);background-color:var(--_ui5-v1-22-0-rc-3_input_background_color)}:host(:not([readonly])),:host([readonly][disabled]){box-shadow:var(--sapField_Shadow)}:host([focused]:not([opened])){border-color:var(--_ui5-v1-22-0-rc-3_input_focused_border_color);background-color:var(--sapField_Focus_Background)}.ui5-input-focusable-element{position:relative}:host([focused]:not([opened])) .ui5-input-focusable-element:after{content:var(--ui5-v1-22-0-rc-3_input_focus_pseudo_element_content);position:absolute;pointer-events:none;z-index:2;border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--_ui5-v1-22-0-rc-3_input_focus_outline_color);border-radius:var(--_ui5-v1-22-0-rc-3_input_focus_border_radius);top:var(--_ui5-v1-22-0-rc-3_input_focus_offset);bottom:var(--_ui5-v1-22-0-rc-3_input_focus_offset);left:var(--_ui5-v1-22-0-rc-3_input_focus_offset);right:var(--_ui5-v1-22-0-rc-3_input_focus_offset)}:host([focused][readonly]:not([opened])) .ui5-input-focusable-element:after{top:var(--_ui5-v1-22-0-rc-3_input_readonly_focus_offset);bottom:var(--_ui5-v1-22-0-rc-3_input_readonly_focus_offset);left:var(--_ui5-v1-22-0-rc-3_input_readonly_focus_offset);right:var(--_ui5-v1-22-0-rc-3_input_readonly_focus_offset);border-radius:var(--_ui5-v1-22-0-rc-3_input_readonly_focus_border_radius)}.ui5-input-root:before{content:\"\";position:absolute;width:calc(100% - 2px);left:1px;bottom:-2px;border-bottom-left-radius:8px;border-bottom-right-radius:8px;height:var(--_ui5-v1-22-0-rc-3_input_bottom_border_height);transition:var(--_ui5-v1-22-0-rc-3_input_transition);background-color:var(--_ui5-v1-22-0-rc-3_input_bottom_border_color)}.ui5-input-root{width:100%;height:100%;position:relative;background:transparent;display:inline-block;outline:none;box-sizing:border-box;color:inherit;transition:border-color .2s ease-in-out;border-radius:var(--_ui5-v1-22-0-rc-3_input_border_radius);overflow:hidden}:host([disabled]){opacity:var(--_ui5-v1-22-0-rc-3_input_disabled_opacity);cursor:default;pointer-events:none;background-color:var(--_ui5-v1-22-0-rc-3-input_disabled_background);border-color:var(--_ui5-v1-22-0-rc-3_input_disabled_border_color)}:host([disabled]) .ui5-input-root:before,:host([readonly]) .ui5-input-root:before{content:none}[inner-input]{background:transparent;color:inherit;border:none;font-style:inherit;-webkit-appearance:none;-moz-appearance:textfield;padding:var(--_ui5-v1-22-0-rc-3_input_inner_padding);box-sizing:border-box;min-width:var(--_ui5-v1-22-0-rc-3_input_min_width);width:100%;text-overflow:ellipsis;flex:1;outline:none;font-size:inherit;font-family:inherit;line-height:inherit;letter-spacing:inherit;word-spacing:inherit;text-align:inherit}[inner-input][inner-input-with-icon]{padding:var(--_ui5-v1-22-0-rc-3_input_inner_padding_with_icon)}.ui5-input-value-state-icon{height:100%;display:var(--_ui5-v1-22-0-rc-3-input-value-state-icon-display);align-items:center}.ui5-input-value-state-icon>svg{margin-right:8px}[inner-input]::selection{background:var(--sapSelectedColor);color:var(--sapContent_ContrastTextColor)}:host([disabled]) [inner-input]::-webkit-input-placeholder{visibility:hidden}:host([readonly]) [inner-input]::-webkit-input-placeholder{visibility:hidden}:host([disabled]) [inner-input]::-moz-placeholder{visibility:hidden}:host([readonly]) [inner-input]::-moz-placeholder{visibility:hidden}[inner-input]::-webkit-input-placeholder{font-weight:400;font-style:var(--_ui5-v1-22-0-rc-3_input_placeholder_style);color:var(--_ui5-v1-22-0-rc-3_input_placeholder_color);padding-right:.125rem}[inner-input]::-moz-placeholder{font-weight:400;font-style:var(--_ui5-v1-22-0-rc-3_input_placeholder_style);color:var(--_ui5-v1-22-0-rc-3_input_placeholder_color);padding-right:.125rem}:host([value-state=\"Error\"]) [inner-input]::-webkit-input-placeholder{color:var(--_ui5-v1-22-0-rc-3-input_error_placeholder_color);font-weight:var(--_ui5-v1-22-0-rc-3_input_value_state_error_warning_placeholder_font_weight)}:host([value-state=\"Error\"]) [inner-input]::-moz-placeholder{color:var(--_ui5-v1-22-0-rc-3-input_error_placeholder_color);font-weight:var(--_ui5-v1-22-0-rc-3_input_value_state_error_warning_placeholder_font_weight)}:host([value-state=\"Warning\"]) [inner-input]::-webkit-input-placeholder{font-weight:var(--_ui5-v1-22-0-rc-3_input_value_state_error_warning_placeholder_font_weight)}:host([value-state=\"Warning\"]) [inner-input]::-moz-placeholder{font-weight:var(--_ui5-v1-22-0-rc-3_input_value_state_error_warning_placeholder_font_weight)}:host([value-state=\"Success\"]) [inner-input]::-webkit-input-placeholder{color:var(--_ui5-v1-22-0-rc-3_input_placeholder_color)}:host([value-state=\"Success\"]) [inner-input]::-moz-placeholder{color:var(--_ui5-v1-22-0-rc-3_input_placeholder_color)}:host([value-state=\"Information\"]) [inner-input]::-webkit-input-placeholder{color:var(--_ui5-v1-22-0-rc-3_input_placeholder_color)}:host([value-state=\"Information\"]) [inner-input]::-moz-placeholder{color:var(--_ui5-v1-22-0-rc-3_input_placeholder_color)}.ui5-input-content{height:100%;box-sizing:border-box;display:flex;flex-direction:row;justify-content:flex-end;overflow:hidden;outline:none;background:transparent;color:inherit;border-radius:var(--_ui5-v1-22-0-rc-3_input_border_radius)}:host([readonly]:not([disabled])){border-color:var(--_ui5-v1-22-0-rc-3_input_readonly_border_color);background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--_ui5-v1-22-0-rc-3_input_readonly_background)}:host([value-state=\"None\"]:not([readonly]):hover),:host(:not([value-state]):not([readonly]):hover){border:var(--_ui5-v1-22-0-rc-3_input_hover_border);border-color:var(--_ui5-v1-22-0-rc-3_input_focused_border_color);box-shadow:var(--sapField_Hover_Shadow);background:var(--sapField_Hover_BackgroundStyle);background-color:var(--sapField_Hover_Background)}:host(:not([value-state]):not([readonly])[focused]:not([opened]):hover),:host([value-state=\"None\"]:not([readonly])[focused]:not([opened]):hover){box-shadow:none}:host([focused]):not([opened]) .ui5-input-root:before{content:none}:host(:not([readonly]):not([disabled])[value-state]:not([value-state=\"None\"])){border-width:var(--_ui5-v1-22-0-rc-3_input_state_border_width)}:host([value-state=\"Error\"]) [inner-input],:host([value-state=\"Warning\"]) [inner-input]{font-style:var(--_ui5-v1-22-0-rc-3_input_error_warning_font_style);text-indent:var(--_ui5-v1-22-0-rc-3_input_error_warning_text_indent)}:host([value-state=\"Error\"]) [inner-input]{font-weight:var(--_ui5-v1-22-0-rc-3_input_error_font_weight)}:host([value-state=\"Warning\"]) [inner-input]{font-weight:var(--_ui5-v1-22-0-rc-3_input_warning_font_weight)}:host([value-state=\"Error\"]:not([readonly]):not([disabled])){background:var(--sapField_InvalidBackgroundStyle);background-color:var(--sapField_InvalidBackground);border-color:var(--_ui5-v1-22-0-rc-3_input_value_state_error_border_color);box-shadow:var(--sapField_InvalidShadow)}:host([value-state=\"Error\"][focused]:not([opened]):not([readonly])){background-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_error_background);border-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_error_border_color)}:host([value-state=\"Error\"][focused]:not([opened]):not([readonly])) .ui5-input-focusable-element:after{border-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_error_focus_outline_color)}:host([value-state=\"Error\"]:not([readonly])) .ui5-input-root:before{background-color:var(--_ui5-v1-22-0-rc-3-input-value-state-error-border-botom-color)}:host([value-state=\"Error\"]:not([readonly]):not([focused]):hover),:host([value-state=\"Error\"]:not([readonly])[focused][opened]:hover){background-color:var(--_ui5-v1-22-0-rc-3_input_value_state_error_hover_background);box-shadow:var(--sapField_Hover_InvalidShadow)}:host([value-state=\"Error\"]:not([readonly]):not([disabled])),:host([value-state=\"Warning\"]:not([readonly]):not([disabled])),:host([value-state=\"Information\"]:not([readonly]):not([disabled])){border-style:var(--_ui5-v1-22-0-rc-3_input_error_warning_border_style)}:host([value-state=\"Warning\"]:not([readonly]):not([disabled])){background:var(--sapField_WarningBackgroundStyle);background-color:var(--sapField_WarningBackground);border-color:var(--_ui5-v1-22-0-rc-3_input_value_state_warning_border_color);box-shadow:var(--sapField_WarningShadow)}:host([value-state=\"Warning\"][focused]:not([opened]):not([readonly])){background-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_warning_background);border-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_warning_border_color)}:host([value-state=\"Warning\"][focused]:not([opened]):not([readonly])) .ui5-input-focusable-element:after{border-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_warning_focus_outline_color)}:host([value-state=\"Warning\"]:not([readonly])) .ui5-input-root:before{background-color:var(--_ui5-v1-22-0-rc-3_input_value_state_warning_border_botom_color)}:host([value-state=\"Warning\"]:not([readonly]):not([focused]):hover),:host([value-state=\"Warning\"]:not([readonly])[focused][opened]:hover){background-color:var(--sapField_Hover_Background);box-shadow:var(--sapField_Hover_WarningShadow)}:host([value-state=\"Success\"]:not([readonly]):not([disabled])){background:var(--sapField_SuccessBackgroundStyle);background-color:var(--sapField_SuccessBackground);border-color:var(--_ui5-v1-22-0-rc-3_input_value_state_success_border_color);border-width:var(--_ui5-v1-22-0-rc-3_input_value_state_success_border_width);box-shadow:var(--sapField_SuccessShadow)}:host([value-state=\"Success\"][focused]:not([opened]):not([readonly])){background-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_success_background);border-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_success_border_color)}:host([value-state=\"Success\"][focused]:not([opened]):not([readonly])) .ui5-input-focusable-element:after{border-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_success_focus_outline_color)}:host([value-state=\"Success\"]:not([readonly])) .ui5-input-root:before{background-color:var(--_ui5-v1-22-0-rc-3_input_value_state_success_border_botom_color)}:host([value-state=\"Success\"]:not([readonly]):not([focused]):hover),:host([value-state=\"Success\"]:not([readonly])[focused][opened]:hover){background-color:var(--sapField_Hover_Background);box-shadow:var(--sapField_Hover_SuccessShadow)}:host([value-state=\"Information\"]:not([readonly]):not([disabled])){background:var(--sapField_InformationBackgroundStyle);background-color:var(--sapField_InformationBackground);border-color:var(--_ui5-v1-22-0-rc-3_input_value_state_information_border_color);border-width:var(--_ui5-v1-22-0-rc-3_input_information_border_width);box-shadow:var(--sapField_InformationShadow)}:host([value-state=\"Information\"][focused]:not([opened]):not([readonly])){background-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_information_background);border-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_information_border_color)}:host([value-state=\"Information\"]:not([readonly])) .ui5-input-root:before{background-color:var(--_ui5-v1-22-0-rc-3_input_value_success_information_border_botom_color)}:host([value-state=\"Information\"]:not([readonly]):not([focused]):hover),:host([value-state=\"Information\"]:not([readonly])[focused][opened]:hover){background-color:var(--sapField_Hover_Background);box-shadow:var(--sapField_Hover_InformationShadow)}.ui5-input-icon-root{min-width:var(--_ui5-v1-22-0-rc-3_input_icon_min_width);height:100%;display:flex;justify-content:center;align-items:center}::slotted([ui5-icon][slot=\"icon\"]){align-self:start;padding:var(--_ui5-v1-22-0-rc-3_input_custom_icon_padding);box-sizing:content-box!important}:host([value-state=\"Error\"]) [input-icon],:host([value-state=\"Warning\"]) [input-icon]{padding:var(--_ui5-v1-22-0-rc-3_input_error_warning_icon_padding)}:host([value-state=\"Error\"][focused]) [input-icon],:host([value-state=\"Warning\"][focused]) [input-icon]{padding:var(--_ui5-v1-22-0-rc-3_input_error_warning_focused_icon_padding)}:host([value-state=\"Information\"]) [input-icon]{padding:var(--_ui5-v1-22-0-rc-3_input_information_icon_padding)}:host([value-state=\"Information\"][focused]) [input-icon]{padding:var(--_ui5-v1-22-0-rc-3_input_information_focused_icon_padding)}:host([value-state=\"Error\"]) ::slotted([input-icon][ui5-icon]),:host([value-state=\"Error\"]) ::slotted([ui5-icon][slot=\"icon\"]),:host([value-state=\"Warning\"]) ::slotted([ui5-icon][slot=\"icon\"]){padding:var(--_ui5-v1-22-0-rc-3_input_error_warning_custom_icon_padding)}:host([value-state=\"Error\"][focused]) ::slotted([input-icon][ui5-icon]),:host([value-state=\"Error\"][focused]) ::slotted([ui5-icon][slot=\"icon\"]),:host([value-state=\"Warning\"][focused]) ::slotted([ui5-icon][slot=\"icon\"]){padding:var(--_ui5-v1-22-0-rc-3_input_error_warning_custom_focused_icon_padding)}:host([value-state=\"Information\"]) ::slotted([ui5-icon][slot=\"icon\"]){padding:var(--_ui5-v1-22-0-rc-3_input_information_custom_icon_padding)}:host([value-state=\"Information\"][focused]) ::slotted([ui5-icon][slot=\"icon\"]){padding:var(--_ui5-v1-22-0-rc-3_input_information_custom_focused_icon_padding)}:host([value-state=\"Error\"]) [input-icon]:active,:host([value-state=\"Error\"]) [input-icon][pressed]{box-shadow:var(--_ui5-v1-22-0-rc-3_input_error_icon_box_shadow);color:var(--_ui5-v1-22-0-rc-3_input_icon_error_pressed_color)}:host([value-state=\"Error\"]) [input-icon]:not([pressed]):not(:active):hover{box-shadow:var(--_ui5-v1-22-0-rc-3_input_error_icon_box_shadow)}:host([value-state=\"Warning\"]) [input-icon]:active,:host([value-state=\"Warning\"]) [input-icon][pressed]{box-shadow:var(--_ui5-v1-22-0-rc-3_input_warning_icon_box_shadow);color:var(--_ui5-v1-22-0-rc-3_input_icon_warning_pressed_color)}:host([value-state=\"Warning\"]) [input-icon]:not([pressed]):not(:active):hover{box-shadow:var(--_ui5-v1-22-0-rc-3_input_warning_icon_box_shadow)}:host([value-state=\"Information\"]) [input-icon]:active,:host([value-state=\"Information\"]) [input-icon][pressed]{box-shadow:var(--_ui5-v1-22-0-rc-3_input_information_icon_box_shadow);color:var(--_ui5-v1-22-0-rc-3_input_icon_information_pressed_color)}:host([value-state=\"Information\"]) [input-icon]:not([pressed]):not(:active):hover{box-shadow:var(--_ui5-v1-22-0-rc-3_input_information_icon_box_shadow)}:host([value-state=\"Success\"]) [input-icon]:active,:host([value-state=\"Success\"]) [input-icon][pressed]{box-shadow:var(--_ui5-v1-22-0-rc-3_input_success_icon_box_shadow);color:var(--_ui5-v1-22-0-rc-3_input_icon_success_pressed_color)}:host([value-state=\"Success\"]) [input-icon]:not([pressed]):not(:active):hover{box-shadow:var(--_ui5-v1-22-0-rc-3_input_success_icon_box_shadow)}.ui5-input-clear-icon-wrapper{height:var(--_ui5-v1-22-0-rc-3_input_icon_wrapper_height);padding:0;width:var(--_ui5-v1-22-0-rc-3_input_icon_width);min-width:var(--_ui5-v1-22-0-rc-3_input_icon_width);display:flex;justify-content:center;align-items:center;box-sizing:border-box}:host([value-state]:not([value-state=\"None\"]):not([value-state=\"Success\"])) .ui5-input-clear-icon-wrapper{height:var(--_ui5-v1-22-0-rc-3_input_icon_wrapper_state_height);vertical-align:top}:host([value-state=\"Success\"]) .ui5-input-clear-icon-wrapper{height:var(--_ui5-v1-22-0-rc-3_input_icon_wrapper_success_state_height)}[ui5-icon].ui5-input-clear-icon{padding:0;color:inherit}[inner-input]::-webkit-outer-spin-button,[inner-input]::-webkit-inner-spin-button{-webkit-appearance:inherit;margin:inherit}.ui5-select-root{min-width:calc(var(--_ui5-v1-22-0-rc-3_input_min_width) + (var(--_ui5-v1-22-0-rc-3-input-icons-count)*var(--_ui5-v1-22-0-rc-3_input_icon_width)));width:100%;height:100%;display:flex;outline:none;cursor:pointer;overflow:hidden;border-radius:var(--_ui5-v1-22-0-rc-3_input_border_radius)}.ui5-select-label-root{flex-shrink:1;flex-grow:1;align-self:center;min-width:1rem;padding-inline-start:.5rem;cursor:pointer;outline:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--_ui5-v1-22-0-rc-3_select_label_color);font-family:\"72override\",var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400}.ui5-select-option-icon{padding-inline-start:.5rem;color:var(--sapField_TextColor);align-self:center}:host(:not([disabled])){cursor:pointer}\n`};\nexport default styleData;\n\t","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents\",fileName:\"themes/ResponsivePopoverCommon.css.ts\",content:`.input-root-phone{flex:1;position:relative;height:var(--_ui5-v1-22-0-rc-3_input_height);color:var(--sapField_TextColor);font-size:var(--sapFontSize);font-family:\"72override\",var(--sapFontFamily);background:var(--sapField_BackgroundStyle);background-color:var(--_ui5-v1-22-0-rc-3_input_background_color);border:var(--_ui5-v1-22-0-rc-3-input-border);border-radius:var(--_ui5-v1-22-0-rc-3_input_border_radius);box-sizing:border-box}.input-root-phone [inner-input]{padding:0 .5rem;width:100%;height:100%}.input-root-phone [inner-input]:focus{background-color:var(--sapField_Focus_Background)}.input-root-phone:focus-within:before{content:\"\";position:absolute;pointer-events:none;z-index:2;border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);border-radius:var(--_ui5-v1-22-0-rc-3_input_focus_border_radius);top:var(--_ui5-v1-22-0-rc-3_input_focus_offset);bottom:var(--_ui5-v1-22-0-rc-3_input_focus_offset);left:var(--_ui5-v1-22-0-rc-3_input_focus_offset);right:var(--_ui5-v1-22-0-rc-3_input_focus_offset)}.input-root-phone [value-state=Error] [input-icon][data-ui5-compact-size],.input-root-phone [value-state=Success] [input-icon][data-ui5-compact-size],.input-root-phone [value-state=Warning] [input-icon][data-ui5-compact-size]{padding:.1875rem .5rem}[inner-input]{background:transparent;color:inherit;border:none;font-style:normal;-webkit-appearance:none;-moz-appearance:textfield;line-height:normal;padding:var(--_ui5-v1-22-0-rc-3_input_inner_padding);box-sizing:border-box;min-width:3rem;text-overflow:ellipsis;flex:1;outline:none;font-size:inherit;font-family:inherit;border-radius:var(--_ui5-v1-22-0-rc-3_input_border_radius)}[inner-input]::selection,[inner-input]::-moz-selection{background:var(--sapSelectedColor);color:var(--sapContent_ContrastTextColor)}[inner-input]::-webkit-input-placeholder{font-style:italic;color:var(--sapField_PlaceholderTextColor)}[inner-input]::-moz-placeholder{font-style:italic;color:var(--sapField_PlaceholderTextColor)}.input-root-phone[value-state]:not([value-state=None]){border-width:var(--_ui5-v1-22-0-rc-3_input_state_border_width)}.input-root-phone[value-state=Error] [inner-input],.input-root-phone[value-state=Warning] [inner-input]{font-style:var(--_ui5-v1-22-0-rc-3_input_error_warning_font_style)}.input-root-phone[value-state=Error] [inner-input]{font-weight:var(--_ui5-v1-22-0-rc-3_input_error_font_weight)}.input-root-phone[value-state=Error]:not([readonly]){background:var(--sapField_InvalidBackgroundStyle);background-color:var(--sapField_InvalidBackground);border-color:var(--_ui5-v1-22-0-rc-3_input_value_state_error_border_color)}.input-root-phone[value-state=Error]:not([readonly]) [inner-input]:focus{background-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_error_background);border-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_error_border_color)}.input-root-phone[value-state=Error]:not([readonly]):focus-within:before{border-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_error_focus_outline_color)}.input-root-phone[value-state=Error]:not([readonly]):not([disabled]),.input-root-phone[value-state=Warning]:not([readonly]):not([disabled]),.input-root-phone[value-state=Information]:not([readonly]):not([disabled]){border-style:var(--_ui5-v1-22-0-rc-3_input_error_warning_border_style)}.input-root-phone[value-state=Warning]:not([readonly]){background:var(--sapField_WarningBackgroundStyle);background-color:var(--sapField_WarningBackground);border-color:var(--_ui5-v1-22-0-rc-3_input_value_state_warning_border_color)}.input-root-phone[value-state=Warning]:not([readonly]) [inner-input]:focus{background-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_warning_background);border-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_warning_border_color)}.input-root-phone[value-state=Warning]:not([readonly]):focus-within:before{border-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_warning_focus_outline_color)}.input-root-phone[value-state=Success]:not([readonly]){background:var(--sapField_SuccessBackgroundStyle);background-color:var(--sapField_SuccessBackground);border-color:var(--_ui5-v1-22-0-rc-3_input_value_state_success_border_color);border-width:var(--_ui5-v1-22-0-rc-3_input_value_state_success_border_width)}.input-root-phone[value-state=Success]:not([readonly]) [inner-input]:focus{background-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_success_background);border-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_success_border_color)}.input-root-phone[value-state=Success]:not([readonly]):focus-within:before{border-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_success_focus_outline_color)}.input-root-phone[value-state=Information]:not([readonly]){background:var(--sapField_InformationBackgroundStyle);background-color:var(--sapField_InformationBackground);border-color:var(--_ui5-v1-22-0-rc-3_input_value_state_information_border_color);border-width:var(--_ui5-v1-22-0-rc-3_input_information_border_width)}.input-root-phone[value-state=Information]:not([readonly]) [inner-input]:focus{background-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_information_background);border-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_information_border_color)}.ui5-multi-combobox-toggle-button{margin-left:.5rem}.ui5-responsive-popover-header{width:100%;min-height:2.5rem;display:flex;flex-direction:column}.ui5-responsive-popover-header-text{width:calc(100% - var(--_ui5-v1-22-0-rc-3_button_base_min_width))}.ui5-responsive-popover-header .row{box-sizing:border-box;padding:.25rem 1rem;min-height:2.5rem;display:flex;justify-content:center;align-items:center;font-size:var(--sapFontHeader5Size)}.ui5-responsive-popover-footer{display:flex;justify-content:flex-end;padding:.25rem 0;width:100%}.ui5-responsive-popover-close-btn{position:absolute;right:1rem}\n`};\nexport default styleData;\n\t","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents\",fileName:\"themes/ValueStateMessage.css.ts\",content:`.ui5-valuestatemessage-popover{border-radius:var(--_ui5-v1-22-0-rc-3_value_state_message_popover_border_radius);box-shadow:var(--_ui5-v1-22-0-rc-3_value_state_message_popover_box_shadow)}.ui5-input-value-state-message-icon{width:var(--_ui5-v1-22-0-rc-3_value_state_message_icon_width);height:var(--_ui5-v1-22-0-rc-3_value_state_message_icon_height);display:var(--_ui5-v1-22-0-rc-3_input_value_state_icon_display);position:absolute;padding-right:.375rem}.ui5-valuestatemessage-root .ui5-input-value-state-message-icon{left:var(--_ui5-v1-22-0-rc-3_input_value_state_icon_offset)}.ui5-input-value-state-message-icon[name=error]{color:var(--sapNegativeElementColor)}.ui5-input-value-state-message-icon[name=alert]{color:var(--sapCriticalElementColor)}.ui5-input-value-state-message-icon[name=success]{color:var(--sapPositiveElementColor)}.ui5-input-value-state-message-icon[name=information]{color:var(--sapInformativeElementColor)}.ui5-valuestatemessage-root{box-sizing:border-box;display:inline-block;color:var(--sapTextColor);font-size:var(--sapFontSmallSize);font-family:\"72override\",var(--sapFontFamily);height:auto;padding:var(--_ui5-v1-22-0-rc-3_value_state_message_padding);overflow:hidden;text-overflow:ellipsis;min-width:6.25rem;border:var(--_ui5-v1-22-0-rc-3_value_state_message_border);line-height:var(--_ui5-v1-22-0-rc-3_value_state_message_line_height)}[ui5-responsive-popover] .ui5-valuestatemessage-header,[ui5-popover] .ui5-valuestatemessage-header{min-height:2rem}[ui5-responsive-popover] .ui5-valuestatemessage-header{padding:var(--_ui5-v1-22-0-rc-3_value_state_header_padding);border:var(--_ui5-v1-22-0-rc-3_value_state_header_border);border-bottom:var(--_ui5-v1-22-0-rc-3_value_state_header_border_bottom);flex-grow:1;position:relative}.ui5-valuestatemessage--success{background:var(--sapSuccessBackground)}.ui5-valuestatemessage--warning{background:var(--sapWarningBackground)}.ui5-valuestatemessage--error{background:var(--sapErrorBackground)}.ui5-valuestatemessage--information{background:var(--sapInformationBackground)}.ui5-responsive-popover-header[focused],.ui5-responsive-popover-header:focus{outline-offset:var(--_ui5-v1-22-0-rc-3_value_state_header_offset);outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor)}.ui5-valuestatemessage-popover::part(header),.ui5-valuestatemessage-popover::part(content){padding:0}.ui5-valuestatemessage-popover::part(header),.ui5-valuestatemessage-popover::part(footer){min-height:0}.ui5-valuestatemessage-popover::part(header),.ui5-popover-with-value-state-header::part(header),.ui5-popover-with-value-state-header-phone::part(header){margin-bottom:0}.ui5-popover-with-value-state-header-phone .ui5-valuestatemessage-root{padding:var(--_ui5-v1-22-0-rc-3_value_state_message_padding_phone);width:100%}.ui5-popover-with-value-state-header-phone .ui5-input-value-state-message-icon{left:var(--_ui5-v1-22-0-rc-3_value_state_message_icon_offset_phone)}.ui5-popover-with-value-state-header-phone .ui5-valuestatemessage-header{position:relative;flex:none;top:0;left:0}.ui5-popover-with-value-state-header-phone::part(content){padding:0;overflow:hidden;display:flex;flex-direction:column}.ui5-popover-with-value-state-header-phone [ui5-list]{overflow:auto}[ui5-responsive-popover] .ui5-valuestatemessage--error{box-shadow:var(--_ui5-v1-22-0-rc-3_value_state_header_box_shadow_error)}[ui5-responsive-popover] .ui5-valuestatemessage--information{box-shadow:var(--_ui5-v1-22-0-rc-3_value_state_header_box_shadow_information)}[ui5-responsive-popover] .ui5-valuestatemessage--success{box-shadow:var(--_ui5-v1-22-0-rc-3_value_state_header_box_shadow_success)}[ui5-responsive-popover] .ui5-valuestatemessage--warning{box-shadow:var(--_ui5-v1-22-0-rc-3_value_state_header_box_shadow_warning)}[ui5-responsive-popover].ui5-popover-with-value-state-header .ui5-valuestatemessage-root:has(+[ui5-list]:empty){box-shadow:none}\n`};\nexport default styleData;\n\t","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents\",fileName:\"themes/SelectPopover.css.ts\",content:`.ui5-select-popover::part(content),.ui5-select-popover::part(header){padding:0}.ui5-select-popover [ui5-li]{height:var(--_ui5-v1-22-0-rc-3_list_item_dropdown_base_height)}.ui5-select-popover [ui5-li]::part(icon){color:var(--sapList_TextColor)}\n`};\nexport default styleData;\n\t","import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport connectToComponent from \"@ui5/webcomponents-base/dist/connectToComponent.js\";\nimport {\n\tisSpace,\n\tisUp,\n\tisDown,\n\tisEnter,\n\tisEscape,\n\tisHome,\n\tisEnd,\n\tisShow,\n\tisTabNext,\n\tisTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport DOMReference from \"@ui5/webcomponents-base/dist/types/DOMReference.js\";\nimport announce from \"@ui5/webcomponents-base/dist/util/InvisibleMessage.js\";\nimport { getFeature } from \"@ui5/webcomponents-base/dist/FeaturesRegistry.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport \"@ui5/webcomponents-icons/dist/information.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport \"@ui5/webcomponents-icons/dist/decline.js\";\nimport type { Timeout } from \"@ui5/webcomponents-base/dist/types.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport InvisibleMessageMode from \"@ui5/webcomponents-base/dist/types/InvisibleMessageMode.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport List from \"./List.js\";\nimport type { ListItemClickEventDetail } from \"./List.js\";\nimport {\n\tVALUE_STATE_SUCCESS,\n\tVALUE_STATE_INFORMATION,\n\tVALUE_STATE_ERROR,\n\tVALUE_STATE_WARNING,\n\tVALUE_STATE_TYPE_SUCCESS,\n\tVALUE_STATE_TYPE_INFORMATION,\n\tVALUE_STATE_TYPE_ERROR,\n\tVALUE_STATE_TYPE_WARNING,\n\tINPUT_SUGGESTIONS_TITLE,\n\tLIST_ITEM_POSITION,\n\tSELECT_ROLE_DESCRIPTION,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport Option from \"./Option.js\";\nimport Label from \"./Label.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport Popover from \"./Popover.js\";\nimport StandardListItem from \"./StandardListItem.js\";\nimport Icon from \"./Icon.js\";\nimport Button from \"./Button.js\";\n\n// Templates\nimport SelectTemplate from \"./generated/templates/SelectTemplate.lit.js\";\nimport SelectPopoverTemplate from \"./generated/templates/SelectPopoverTemplate.lit.js\";\n\n// Styles\nimport selectCss from \"./generated/themes/Select.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\nimport ValueStateMessageCss from \"./generated/themes/ValueStateMessage.css.js\";\nimport SelectPopoverCss from \"./generated/themes/SelectPopover.css.js\";\nimport type FormSupport from \"./features/InputElementsFormSupport.js\";\nimport type { IFormElement, NativeFormElement } from \"./features/InputElementsFormSupport.js\";\nimport type ListItemBase from \"./ListItemBase.js\";\nimport type SelectMenu from \"./SelectMenu.js\";\nimport type { SelectMenuOptionClick, SelectMenuChange } from \"./SelectMenu.js\";\n\n/**\n * Interface for components that may be slotted inside ui5-select as options\n *\n * @public\n */\ninterface IOption extends UI5Element {\n\tselected: boolean,\n\tdisabled: boolean,\n\ttitle: string,\n\ticon?: string | null,\n\tvalue: string,\n\tadditionalText?: string,\n\tfocused?: boolean,\n\ttext?: Array,\n\tstableDomRef: string,\n\tdisplayText?: string,\n}\n\ntype SelectChangeEventDetail = {\n\tselectedOption: IOption,\n}\ntype SelectLiveChangeEventDetail = {\n\tselectedOption: IOption,\n}\n\n/**\n * @class\n *\n *

    Overview

    \n *\n * The ui5-select component is used to create a drop-down list.\n *\n *

    Usage

    \n *\n * There are two main usages of the ui5-select>.\n *\n * 1. With Option (ui5-option) web component:\n *
    \n * The available options of the Select are defined by using the Option component.\n * The Option comes with predefined design and layout, including icon, text and additional-text.\n *

    \n *\n * 2. With SelectMenu (ui5-select-menu) and SelectMenuOption (ui5-select-menu-option) web components:\n *
    \n * The SelectMenu can be used as alternative to define the Select's dropdown\n * and can be used via the menu property of the Select to reference SelectMenu by its ID.\n * The component gives the possibility to customize the Select's dropdown\n * by slotting entirely custom options (via the SelectMenuOption component) and adding custom styles.\n *\n * Note: SelectMenu is a popover and placing it top-level in the HTML page is recommended,\n * because some page styles (for example transitions) can misplace the SelectMenu.\n *\n *

    Keyboard Handling

    \n * The ui5-select provides advanced keyboard handling.\n *
    \n *
      \n *
    • [F4, ALT+UP, ALT+DOWN, SPACE, ENTER] - Opens/closes the drop-down.
    • \n *
    • [UP, DOWN] - If the drop-down is closed - changes selection to the next or the previous option. If the drop-down is opened - moves focus to the next or the previous option.
    • \n *
    • [SPACE, ENTER] - If the drop-down is opened - selects the focused option.
    • \n *
    • [ESC] - Closes the drop-down without changing the selection.
    • \n *
    • [HOME] - Navigates to first option
    • \n *
    • [END] - Navigates to the last option
    • \n *
    \n *
    \n *\n *

    ES6 Module Import

    \n * import \"@ui5/webcomponents/dist/Select\";\n *
    \n * import \"@ui5/webcomponents/dist/Option\"; (comes with ui5-select)\n * @constructor\n * @extends UI5Element\n * @public\n * @since 0.8.0\n */\n@customElement({\n\ttag: \"ui5-select\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: SelectTemplate,\n\tstaticAreaTemplate: SelectPopoverTemplate,\n\tstyles: selectCss,\n\tstaticAreaStyles: [\n\t\tResponsivePopoverCommonCss,\n\t\tValueStateMessageCss,\n\t\tSelectPopoverCss,\n\t],\n\tdependencies: [\n\t\tOption,\n\t\tLabel,\n\t\tResponsivePopover,\n\t\tPopover,\n\t\tList,\n\t\tStandardListItem,\n\t\tIcon,\n\t\tButton,\n\t],\n})\n/**\n * Fired when the selected option changes.\n *\n * @allowPreventDefault\n * @param {IOption} selectedOption the selected option.\n * @public\n */\n@event(\"change\", {\n\tdetail: {\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\tselectedOption: { type: HTMLElement },\n\t},\n})\n/**\n * Fired when the user navigates through the options, but the selection is not finalized,\n * or when pressing the ESC key to revert the current selection.\n *\n * @param {IOption} selectedOption the selected option.\n * @public\n * @since 1.17.0\n */\n@event(\"live-change\", {\n\tdetail: {\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\tselectedOption: { type: HTMLElement },\n\t},\n})\n/**\n * Fired after the component's dropdown menu opens.\n *\n * @public\n */\n@event(\"open\")\n/**\n * Fired after the component's dropdown menu closes.\n *\n * @public\n */\n@event(\"close\")\nclass Select extends UI5Element implements IFormElement {\n\tstatic i18nBundle: I18nBundle;\n\n\t/**\n\t * Defines a reference (ID or DOM element) of component's menu of options\n\t * as alternative to define the select's dropdown.\n\t *

    \n\t * Note: Usage of ui5-select-menu is recommended.\n\t *\n\t * @default undefined\n\t * @public\n\t * @since 1.17.0\n\t */\n\t@property({ validator: DOMReference })\n\tmenu?: HTMLElement | string;\n\n\t/**\n\t * Defines whether the component is in disabled state.\n\t *

    \n\t * Note: A disabled component is noninteractive.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Determines the name with which the component will be submitted in an HTML form.\n\t * The value of the component will be the value of the currently selected ui5-option.\n\t *\n\t *

    \n\t * Important: For the name property to have effect, you must add the following import to your project:\n\t * import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";\n\t *\n\t *

    \n\t * Note: When set, a native input HTML element\n\t * will be created inside the ui5-select so that it can be submitted as\n\t * part of an HTML form. Do not use this property unless you need to submit a form.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tname!: string;\n\n\t/**\n\t * Defines the value state of the component.\n\t *\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tvalueState!: `${ValueState}`;\n\n\t/**\n\t * Defines whether the component is required.\n\t *\n\t * @since 1.0.0-rc.9\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\trequired!: boolean;\n\n\t/**\n\t * Defines whether the component is read-only.\n\t *

    \n\t * Note: A read-only component is not editable,\n\t * but still provides visual feedback upon user interaction.\n\t *\n\t * @default false\n\t * @since 1.21.0\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly!: boolean;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t *\n\t * @since 1.0.0-rc.9\n\t * @public\n\t * @default \"\"\n\t */\n\t@property()\n\taccessibleName!: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the select.\n\t *\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleNameRef!: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: String, noAttribute: true })\n\t_text?: string | null;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_iconPressed!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\topened!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: 0, noAttribute: true })\n\t_listWidth!: number;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: -1, noAttribute: true })\n\t_selectedIndex!: number;\n\n\t_syncedOptions: Array;\n\t_selectedIndexBeforeOpen: number;\n\t_escapePressed: boolean;\n\t_lastSelectedOption: IOption | null;\n\t_typedChars: string;\n\t_typingTimeoutID?: Timeout | number;\n\tresponsivePopover!: ResponsivePopover;\n\tselectedItem?: string | null;\n\tvalueStatePopover?: Popover;\n\n\tselectMenu?: SelectMenu;\n\n\t/**\n\t * Defines the component options.\n\t *\n\t *

    \n\t * Note: Only one selected option is allowed.\n\t * If more than one option is defined as selected, the last one would be considered as the selected one.\n\t *\n\t *

    \n\t * Note: Use the ui5-option component to define the desired options.\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, invalidateOnChildChange: true })\n\toptions!: Array;\n\n\t/**\n\t * The slot is used to render native input HTML element within Light DOM to enable form submit,\n\t * when name property is set.\n\t * @private\n\t */\n\t@slot()\n\tformSupport!: Array;\n\n\t/**\n\t * Defines the value state message that will be displayed as pop up under the component.\n\t *

    \n\t *\n\t * Note: If not specified, a default text (in the respective language) will be displayed.\n\t *

    \n\t * Note: The valueStateMessage would be displayed,\n\t * when the component is in Information, Warning or Error value state.\n\t *

    \n\t * Note: If the component has suggestionItems,\n\t * the valueStateMessage would be displayed as part of the same popover, if used on desktop, or dialog - on phone.\n\t * @public\n\t*/\n\t@slot()\n\tvalueStateMessage!: Array;\n\n\t/**\n\t * Defines the HTML element that will be displayed in the component input part,\n\t * representing the selected option.\n\t *

    \n\t *\n\t * Note: If not specified and ui5-select-menu-option is used,\n\t * either the option's display-text or its textContent will be displayed.\n\t *

    \n\t *\n\t * Note: If not specified and ui5-option is used,\n\t * the option's textContent will be displayed.\n\t *\n\t * @public\n\t * @since 1.17.0\n\t*/\n\t@slot()\n\tlabel!: Array;\n\n\t_onMenuClick: (e: CustomEvent) => void;\n\t_onMenuClose: () => void;\n\t_onMenuOpen: () => void;\n\t_onMenuBeforeOpen: () => void;\n\t_onMenuChange: (e: CustomEvent) => void;\n\t_attachMenuListeners: (menu: HTMLElement) => void;\n\t_detachMenuListeners: (menu: HTMLElement) => void;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._syncedOptions = [];\n\t\tthis._selectedIndexBeforeOpen = -1;\n\t\tthis._escapePressed = false;\n\t\tthis._lastSelectedOption = null;\n\t\tthis._typedChars = \"\";\n\n\t\tthis._onMenuClick = this.onMenuClick.bind(this);\n\t\tthis._onMenuClose = this.onMenuClose.bind(this);\n\t\tthis._onMenuOpen = this.onMenuOpen.bind(this);\n\t\tthis._onMenuBeforeOpen = this.onMenuBeforeOpen.bind(this);\n\t\tthis._onMenuChange = this.onMenuChange.bind(this);\n\t\tthis._attachMenuListeners = this.attachMenuListeners.bind(this);\n\t\tthis._detachMenuListeners = this.detachMenuListeners.bind(this);\n\n\t\tthis._upgradeProperty(\"value\");\n\t}\n\n\tonBeforeRendering() {\n\t\tconst menu = this._getSelectMenu();\n\n\t\tif (menu) {\n\t\t\tmenu.value = this.value;\n\t\t\t// To cause invalidation when the menu is used for another Select that could have the same value as the previous.\n\t\t\t// Otherwise, the menu won't re-render.\n\t\t\tmenu.selectId = this.__id;\n\t\t} else {\n\t\t\tthis._syncSelection();\n\t\t}\n\n\t\tthis._enableFormSupport();\n\n\t\tthis.style.setProperty(getScopedVarName(\"--_ui5-input-icons-count\"), `${this.iconsCount}`);\n\t}\n\n\tonAfterRendering() {\n\t\tthis.toggleValueStatePopover(this.shouldOpenValueStateMessagePopover);\n\n\t\tif (this._isPickerOpen) {\n\t\t\tif (!this._listWidth) {\n\t\t\t\tthis._listWidth = this.responsivePopover.offsetWidth;\n\t\t\t}\n\t\t}\n\n\t\tthis._attachRealDomRefs();\n\t}\n\n\t_onfocusin() {\n\t\tthis.focused = true;\n\t}\n\n\t_onfocusout() {\n\t\tthis.focused = false;\n\t}\n\n\tget _isPickerOpen() {\n\t\tconst menu = this._getSelectMenu();\n\n\t\tif (menu) {\n\t\t\treturn menu.open;\n\t\t}\n\n\t\treturn !!this.responsivePopover && this.responsivePopover.opened;\n\t}\n\n\tasync _respPopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.querySelector(\"[ui5-responsive-popover]\")!;\n\t}\n\n\t/**\n\t * Defines the value of the component:\n\t *
    \n\t * - when get - returns the value of the component, e.g. the value property of the selected option or its text content.\n\t *
    \n\t * - when set - selects the option with matching value property or text content.\n\t *

    \n\t * Note: If the given value does not match any existing option,\n\t * the first option will get selected.\n\t *\n\t * @public\n\t * @default \"\"\n\t * @since 1.20.0\n\t * @formProperty\n\t * @formEvents change liveChange\n\t */\n\tset value(newValue: string) {\n\t\tconst menu = this._getSelectMenu();\n\t\tconst selectOptions = Array.from(menu ? menu.children : this.children).filter(option => !option.getAttribute(\"disabled\")) as Array;\n\n\t\tselectOptions.forEach(option => {\n\t\t\toption.selected = !!((option.getAttribute(\"value\") || option.textContent) === newValue);\n\t\t});\n\t}\n\n\tget value(): string {\n\t\treturn this.selectedOption?.value || this.selectedOption?.textContent || \"\";\n\t}\n\n\t/**\n\t * Currently selected ui5-option element.\n\t * @public\n\t * @default undefined\n\t */\n\tget selectedOption(): IOption | undefined {\n\t\treturn this.selectOptions.find(option => option.selected);\n\t}\n\n\tonMenuClick(e: CustomEvent) {\n\t\tconst optionIndex: number = e.detail.optionIndex;\n\t\tthis._handleSelectionChange(optionIndex);\n\t}\n\n\tonMenuBeforeOpen() {\n\t\tthis._beforeOpen();\n\t}\n\n\tonMenuOpen() {\n\t\tthis._afterOpen();\n\t}\n\n\tonMenuClose() {\n\t\tthis._afterClose();\n\t}\n\n\tonMenuChange(e: CustomEvent) {\n\t\tthis._text = e.detail.text;\n\t\tthis._selectedIndex = e.detail.selectedIndex;\n\t}\n\n\t_toggleSelectMenu() {\n\t\tconst menu = this._getSelectMenu();\n\n\t\tif (!menu) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (menu.open) {\n\t\t\tmenu.close();\n\t\t} else {\n\t\t\tmenu.showAt(this, this.offsetWidth);\n\t\t}\n\t}\n\n\tonExitDOM(): void {\n\t\tconst menu = this._getSelectMenu();\n\t\tif (menu) {\n\t\t\tthis._detachMenuListeners(menu);\n\t\t}\n\t}\n\n\tasync _toggleRespPopover() {\n\t\tif (this.disabled || this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._iconPressed = true;\n\n\t\tconst menu = this._getSelectMenu();\n\t\tif (menu) {\n\t\t\tthis._toggleSelectMenu();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.responsivePopover = await this._respPopover();\n\t\tif (this._isPickerOpen) {\n\t\t\tthis.responsivePopover.close();\n\t\t} else {\n\t\t\tthis.responsivePopover.showAt(this);\n\t\t}\n\t}\n\n\tasync _attachRealDomRefs() {\n\t\tthis.responsivePopover = await this._respPopover();\n\n\t\tthis.options.forEach(option => {\n\t\t\toption._getRealDomRef = () => this.responsivePopover.querySelector(`*[data-ui5-stable=${option.stableDomRef}]`)!;\n\t\t});\n\t}\n\n\t_syncSelection() {\n\t\tlet lastSelectedOptionIndex = -1,\n\t\t\tfirstEnabledOptionIndex = -1;\n\t\tconst options = this._filteredItems;\n\t\tconst syncOpts = options.map((opt, index) => {\n\t\t\tif (opt.selected) {\n\t\t\t\tlastSelectedOptionIndex = index;\n\t\t\t}\n\t\t\tif (firstEnabledOptionIndex === -1) {\n\t\t\t\tfirstEnabledOptionIndex = index;\n\t\t\t}\n\n\t\t\topt.selected = false;\n\t\t\topt.focused = false;\n\n\t\t\treturn {\n\t\t\t\tselected: false,\n\t\t\t\tfocused: false,\n\t\t\t\ticon: opt.icon,\n\t\t\t\tvalue: opt.value,\n\t\t\t\ttextContent: opt.textContent,\n\t\t\t\ttitle: opt.title,\n\t\t\t\tadditionalText: opt.additionalText,\n\t\t\t\tid: opt._id,\n\t\t\t\tstableDomRef: opt.stableDomRef,\n\t\t\t};\n\t\t});\n\n\t\tif (lastSelectedOptionIndex > -1) {\n\t\t\tsyncOpts[lastSelectedOptionIndex].selected = true;\n\t\t\tsyncOpts[lastSelectedOptionIndex].focused = true;\n\t\t\toptions[lastSelectedOptionIndex].selected = true;\n\t\t\toptions[lastSelectedOptionIndex].focused = true;\n\t\t\tthis._text = syncOpts[lastSelectedOptionIndex].textContent;\n\t\t\tthis._selectedIndex = lastSelectedOptionIndex;\n\t\t} else {\n\t\t\tthis._text = \"\";\n\t\t\tthis._selectedIndex = -1;\n\t\t\tif (syncOpts[firstEnabledOptionIndex]) {\n\t\t\t\tsyncOpts[firstEnabledOptionIndex].selected = true;\n\t\t\t\tsyncOpts[firstEnabledOptionIndex].focused = true;\n\t\t\t\toptions[firstEnabledOptionIndex].selected = true;\n\t\t\t\toptions[firstEnabledOptionIndex].focused = true;\n\t\t\t\tthis._selectedIndex = firstEnabledOptionIndex;\n\t\t\t\tthis._text = options[firstEnabledOptionIndex].textContent;\n\t\t\t}\n\t\t}\n\n\t\tthis._syncedOptions = syncOpts as Array;\n\t}\n\n\t_getSelectMenu(): SelectMenu | undefined {\n\t\treturn connectToComponent({\n\t\t\thost: this,\n\t\t\tpropName: \"menu\",\n\t\t\tonConnect: this._attachMenuListeners,\n\t\t\tonDisconnect: this._detachMenuListeners,\n\t\t}) as SelectMenu;\n\t}\n\n\tattachMenuListeners(menu: HTMLElement) {\n\t\tmenu.addEventListener(\"ui5-after-close\", this._onMenuClose);\n\t\tmenu.addEventListener(\"ui5-after-open\", this._onMenuOpen);\n\t\tmenu.addEventListener(\"ui5-before-open\", this._onMenuBeforeOpen);\n\t\t// @ts-ignore\n\t\tmenu.addEventListener(\"ui5-option-click\", this._onMenuClick);\n\t\t// @ts-ignore\n\t\tmenu.addEventListener(\"ui5-menu-change\", this._onMenuChange);\n\t}\n\n\tdetachMenuListeners(menu: HTMLElement) {\n\t\tmenu.removeEventListener(\"ui5-after-close\", this._onMenuClose);\n\t\tmenu.removeEventListener(\"ui5-after-open\", this._onMenuOpen);\n\t\tmenu.removeEventListener(\"ui5-before-open\", this._onMenuBeforeOpen);\n\t\t// @ts-ignore\n\t\tmenu.removeEventListener(\"ui5-option-click\", this._onMenuClick);\n\t\t// @ts-ignore\n\t\tmenu.removeEventListener(\"ui5-menu-change\", this._onMenuChange);\n\t}\n\n\t_enableFormSupport() {\n\t\tconst formSupport = getFeature(\"FormSupport\");\n\t\tif (formSupport) {\n\t\t\tformSupport.syncNativeHiddenInput(this, (element: IFormElement, nativeInput: NativeFormElement) => {\n\t\t\t\tconst selectElement = (element as Select);\n\t\t\t\tnativeInput.disabled = !!element.disabled;\n\t\t\t\tnativeInput.value = selectElement.value;\n\t\t\t});\n\t\t} else if (this.name) {\n\t\t\tconsole.warn(`In order for the \"name\" property to have effect, you should also: import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";`); // eslint-disable-line\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tconst isTab = (isTabNext(e) || isTabPrevious(e));\n\n\t\tif (isTab && this._isPickerOpen) {\n\t\t\tconst menu = this._getSelectMenu();\n\t\t\tif (menu) {\n\t\t\t\tmenu.close(false, false, true /* preventFocusRestore */);\n\t\t\t} else {\n\t\t\t\tthis.responsivePopover.close();\n\t\t\t}\n\t\t} else if (isShow(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._toggleRespPopover();\n\t\t} else if (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t} else if (isEscape(e) && this._isPickerOpen) {\n\t\t\tthis._escapePressed = true;\n\t\t} else if (isHome(e)) {\n\t\t\tthis._handleHomeKey(e);\n\t\t} else if (isEnd(e)) {\n\t\t\tthis._handleEndKey(e);\n\t\t} else if (isEnter(e)) {\n\t\t\tthis._handleSelectionChange();\n\t\t} else if (isUp(e) || isDown(e)) {\n\t\t\tthis._handleArrowNavigation(e);\n\t\t}\n\t}\n\n\t_handleKeyboardNavigation(e: KeyboardEvent) {\n\t\tif (isEnter(e) || this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst typedCharacter = e.key.toLowerCase();\n\n\t\tthis._typedChars += typedCharacter;\n\n\t\t// We check if we have more than one characters and they are all duplicate, we set the\n\t\t// text to be the last input character (typedCharacter). If not, we set the text to be\n\t\t// the whole input string.\n\n\t\tconst text = (/^(.)\\1+$/i).test(this._typedChars) ? typedCharacter : this._typedChars;\n\n\t\tclearTimeout(this._typingTimeoutID);\n\n\t\tthis._typingTimeoutID = setTimeout(() => {\n\t\t\tthis._typedChars = \"\";\n\t\t\tthis._typingTimeoutID = -1;\n\t\t}, 1000);\n\n\t\tthis._selectTypedItem(text);\n\t}\n\n\t_selectTypedItem(text: string) {\n\t\tconst currentIndex = this._selectedIndex;\n\t\tconst itemToSelect = this._searchNextItemByText(text);\n\n\t\tif (itemToSelect) {\n\t\t\tconst nextIndex = this.selectOptions.indexOf(itemToSelect);\n\n\t\t\tthis._changeSelectedItem(this._selectedIndex, nextIndex);\n\n\t\t\tif (currentIndex !== this._selectedIndex) {\n\t\t\t\tthis.itemSelectionAnnounce();\n\t\t\t}\n\t\t}\n\t}\n\n\t_searchNextItemByText(text: string) {\n\t\tlet orderedOptions = this.selectOptions.slice(0);\n\t\tconst optionsAfterSelected = orderedOptions.splice(this._selectedIndex + 1, orderedOptions.length - this._selectedIndex);\n\t\tconst optionsBeforeSelected = orderedOptions.splice(0, orderedOptions.length - 1);\n\n\t\torderedOptions = optionsAfterSelected.concat(optionsBeforeSelected);\n\n\t\treturn orderedOptions.find(option => (option.displayText || option.textContent || \"\").toLowerCase().startsWith(text));\n\t}\n\n\t_handleHomeKey(e: KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tif (this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._changeSelectedItem(this._selectedIndex, 0);\n\t}\n\n\t_handleEndKey(e: KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tif (this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst lastIndex = this.selectOptions.length - 1;\n\t\tthis._changeSelectedItem(this._selectedIndex, lastIndex);\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tif (this._isPickerOpen) {\n\t\t\t\tthis._handleSelectionChange();\n\t\t\t} else {\n\t\t\t\tthis._toggleRespPopover();\n\t\t\t}\n\t\t}\n\t}\n\n\t_getSelectedItemIndex(item: ListItemBase) {\n\t\treturn this.selectOptions.findIndex(option => `${option._id}-li` === item.id);\n\t}\n\n\t_select(index: number) {\n\t\tthis.selectOptions[this._selectedIndex].selected = false;\n\n\t\tif (this._selectedIndex !== index) {\n\t\t\tthis.fireEvent(\"live-change\", { selectedOption: this.selectOptions[index] });\n\t\t}\n\n\t\tthis._selectedIndex = index;\n\t\tthis.selectOptions[index].selected = true;\n\t}\n\n\t/**\n\t * The user clicked on an item from the list\n\t * @private\n\t */\n\t_handleItemPress(e: CustomEvent) {\n\t\tconst item = e.detail.item;\n\t\tconst selectedItemIndex = this._getSelectedItemIndex(item);\n\n\t\tthis._handleSelectionChange(selectedItemIndex);\n\t}\n\n\t_itemMousedown(e: MouseEvent) {\n\t\t// prevent actual focus of items\n\t\te.preventDefault();\n\t}\n\n\t_onclick() {\n\t\tthis.getFocusDomRef()!.focus();\n\t\tthis._toggleRespPopover();\n\t}\n\n\t/**\n\t * The user selected an item with Enter or Space\n\t * @private\n\t */\n\t_handleSelectionChange(index = this._selectedIndex) {\n\t\tthis._select(index);\n\n\t\tthis._toggleRespPopover();\n\t}\n\n\t_scrollSelectedItem() {\n\t\tif (this._isPickerOpen) {\n\t\t\tconst itemRef = this._currentlySelectedOption?.getDomRef();\n\t\t\tif (itemRef) {\n\t\t\t\titemRef.scrollIntoView({\n\t\t\t\t\tbehavior: \"auto\",\n\t\t\t\t\tblock: \"nearest\",\n\t\t\t\t\tinline: \"nearest\",\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleArrowNavigation(e: KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tif (this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet nextIndex = -1;\n\t\tconst currentIndex = this._selectedIndex;\n\t\tconst isDownKey = isDown(e);\n\n\t\tif (isDownKey) {\n\t\t\tnextIndex = this._getNextOptionIndex();\n\t\t} else {\n\t\t\tnextIndex = this._getPreviousOptionIndex();\n\t\t}\n\n\t\tthis._changeSelectedItem(this._selectedIndex, nextIndex);\n\n\t\tif (currentIndex !== this._selectedIndex) {\n\t\t\t// Announce new item even if picker is opened.\n\t\t\t// The aria-activedescendents attribute can't be used,\n\t\t\t// because listitem elements are in different shadow dom\n\t\t\tthis.itemSelectionAnnounce();\n\t\t\tthis._scrollSelectedItem();\n\t\t}\n\t}\n\n\t_changeSelectedItem(oldIndex: number, newIndex: number) {\n\t\tconst options: Array = this.selectOptions;\n\n\t\tconst previousOption = options[oldIndex];\n\t\tpreviousOption.selected = false;\n\t\tpreviousOption.focused = false;\n\n\t\tconst nextOption = options[newIndex];\n\t\tnextOption.selected = true;\n\t\tnextOption.focused = true;\n\n\t\tthis._selectedIndex = newIndex;\n\n\t\tthis.fireEvent(\"live-change\", { selectedOption: nextOption });\n\n\t\tif (!this._isPickerOpen) {\n\t\t\t// arrow pressed on closed picker - do selection change\n\t\t\tthis._fireChangeEvent(nextOption);\n\t\t}\n\t}\n\n\t_getNextOptionIndex() {\n\t\tconst menu = this._getSelectMenu();\n\t\tif (menu) {\n\t\t\treturn this._selectedIndex === (menu.options.length - 1) ? this._selectedIndex : (this._selectedIndex + 1);\n\t\t}\n\t\treturn this._selectedIndex === (this.options.length - 1) ? this._selectedIndex : (this._selectedIndex + 1);\n\t}\n\n\t_getPreviousOptionIndex() {\n\t\treturn this._selectedIndex === 0 ? this._selectedIndex : (this._selectedIndex - 1);\n\t}\n\n\t_beforeOpen() {\n\t\tthis._selectedIndexBeforeOpen = this._selectedIndex;\n\t\tthis._lastSelectedOption = this.selectOptions[this._selectedIndex];\n\t}\n\n\t_afterOpen() {\n\t\tthis.opened = true;\n\t\tthis.fireEvent(\"open\");\n\t\tthis.itemSelectionAnnounce();\n\t\tthis._scrollSelectedItem();\n\t}\n\n\t_afterClose() {\n\t\tthis.opened = false;\n\t\tthis._iconPressed = false;\n\t\tthis._listWidth = 0;\n\n\t\tif (this._escapePressed) {\n\t\t\tthis._select(this._selectedIndexBeforeOpen);\n\t\t\tthis._escapePressed = false;\n\t\t} else if (this._lastSelectedOption !== this.selectOptions[this._selectedIndex]) {\n\t\t\tthis._fireChangeEvent(this.selectOptions[this._selectedIndex]);\n\t\t\tthis._lastSelectedOption = this.selectOptions[this._selectedIndex];\n\t\t}\n\t\tthis.fireEvent(\"close\");\n\t}\n\n\tget selectOptions(): Array {\n\t\tconst menu = this._getSelectMenu();\n\t\tif (menu) {\n\t\t\treturn menu.options;\n\t\t}\n\t\treturn this._filteredItems;\n\t}\n\n\tget hasCustomLabel() {\n\t\treturn !!this.label.length;\n\t}\n\n\t_fireChangeEvent(selectedOption: IOption) {\n\t\tconst changePrevented = !this.fireEvent(\"change\", { selectedOption }, true);\n\n\t\t// Angular two way data binding\n\t\tthis.selectedItem = selectedOption.textContent;\n\t\tthis.fireEvent(\"selected-item-changed\");\n\n\t\tif (changePrevented) {\n\t\t\tthis.selectedItem = this._lastSelectedOption!.textContent;\n\t\t\tthis._select(this._selectedIndexBeforeOpen);\n\t\t}\n\t}\n\n\tget valueStateTextMappings() {\n\t\treturn {\n\t\t\t[ValueState.Success]: Select.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t\t[ValueState.Information]: Select.i18nBundle.getText(VALUE_STATE_INFORMATION),\n\t\t\t[ValueState.Error]: Select.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t[ValueState.Warning]: Select.i18nBundle.getText(VALUE_STATE_WARNING),\n\t\t};\n\t}\n\n\tget valueStateTypeMappings() {\n\t\treturn {\n\t\t\t[ValueState.Success]: Select.i18nBundle.getText(VALUE_STATE_TYPE_SUCCESS),\n\t\t\t[ValueState.Information]: Select.i18nBundle.getText(VALUE_STATE_TYPE_INFORMATION),\n\t\t\t[ValueState.Error]: Select.i18nBundle.getText(VALUE_STATE_TYPE_ERROR),\n\t\t\t[ValueState.Warning]: Select.i18nBundle.getText(VALUE_STATE_TYPE_WARNING),\n\t\t};\n\t}\n\n\tget valueStateText() {\n\t\tlet valueStateText;\n\n\t\tif (this.shouldDisplayDefaultValueStateMessage) {\n\t\t\tvalueStateText = this.valueStateDefaultText;\n\t\t} else {\n\t\t\tvalueStateText = this.valueStateMessageText.map(el => el.textContent).join(\" \");\n\t\t}\n\n\t\treturn `${this.valueStateTypeText} ${valueStateText}`;\n\t}\n\n\tget valueStateDefaultText() {\n\t\treturn this.valueState !== ValueState.None ? this.valueStateTextMappings[this.valueState] : \"\";\n\t}\n\n\tget valueStateTypeText() {\n\t\treturn this.valueState !== ValueState.None ? this.valueStateTypeMappings[this.valueState] : \"\";\n\t}\n\n\tget hasValueState() {\n\t\treturn this.valueState !== ValueState.None;\n\t}\n\n\tget valueStateTextId() {\n\t\treturn this.hasValueState ? `${this._id}-valueStateDesc` : undefined;\n\t}\n\n\tget isDisabled() {\n\t\treturn this.disabled || undefined;\n\t}\n\n\tget _headerTitleText() {\n\t\treturn Select.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);\n\t}\n\n\tget _currentlySelectedOption() {\n\t\treturn this.selectOptions[this._selectedIndex];\n\t}\n\n\tget _effectiveTabIndex() {\n\t\treturn this.disabled\n\t\t|| (this.responsivePopover // Handles focus on Tab/Shift + Tab when the popover is opened\n\t\t&& this.responsivePopover.opened) ? \"-1\" : \"0\";\n\t}\n\n\t /**\n\t * This method is relevant for sap_horizon theme only\n\t */\n\tget _valueStateMessageInputIcon() {\n\t\tconst iconPerValueState = {\n\t\t\tError: \"error\",\n\t\t\tWarning: \"alert\",\n\t\t\tSuccess: \"sys-enter-2\",\n\t\t\tInformation: \"information\",\n\t\t};\n\n\t\treturn this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : \"\";\n\t}\n\n\tget iconsCount(): number {\n\t\treturn this.selectedOptionIcon ? 2 : 1;\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\tpopoverValueState: {\n\t\t\t\t\"ui5-valuestatemessage-root\": true,\n\t\t\t\t\"ui5-valuestatemessage--success\": this.valueState === ValueState.Success,\n\t\t\t\t\"ui5-valuestatemessage--error\": this.valueState === ValueState.Error,\n\t\t\t\t\"ui5-valuestatemessage--warning\": this.valueState === ValueState.Warning,\n\t\t\t\t\"ui5-valuestatemessage--information\": this.valueState === ValueState.Information,\n\t\t\t},\n\t\t\tpopover: {\n\t\t\t\t\"ui5-select-popover-valuestate\": this.hasValueState,\n\t\t\t},\n\t\t};\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\tpopoverHeader: {\n\t\t\t\t\"max-width\": `${this.offsetWidth}px`,\n\t\t\t},\n\t\t\tresponsivePopoverHeader: {\n\t\t\t\t\"display\": this._filteredItems.length && this._listWidth === 0 ? \"none\" : \"inline-block\",\n\t\t\t\t\"width\": `${this._filteredItems.length ? this._listWidth : this.offsetWidth}px`,\n\t\t\t},\n\t\t\tresponsivePopover: {\n\t\t\t\t\"min-width\": `${this.offsetWidth}px`,\n\t\t\t},\n\t\t};\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget valueStateMessageText() {\n\t\treturn this.getSlottedNodes(\"valueStateMessage\").map(el => el.cloneNode(true));\n\t}\n\n\tget shouldDisplayDefaultValueStateMessage() {\n\t\treturn !this.valueStateMessageText.length && this.hasValueStateText;\n\t}\n\n\tget hasValueStateText() {\n\t\treturn this.hasValueState && this.valueState !== ValueState.Success;\n\t}\n\n\tget shouldOpenValueStateMessagePopover() {\n\t\treturn this.focused && this.hasValueStateText && !this._iconPressed\n\t\t\t&& !this._isPickerOpen && !this._isPhone;\n\t}\n\n\tget _ariaRoleDescription() {\n\t\treturn Select.i18nBundle.getText(SELECT_ROLE_DESCRIPTION);\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget _filteredItems() {\n\t\treturn this.options.filter(option => !option.disabled);\n\t}\n\n\titemSelectionAnnounce() {\n\t\tlet text;\n\t\tconst optionsCount = this.selectOptions.length;\n\t\tconst itemPositionText = Select.i18nBundle.getText(LIST_ITEM_POSITION, this._selectedIndex + 1, optionsCount);\n\n\t\tif (this.focused && this._currentlySelectedOption) {\n\t\t\ttext = `${this._currentlySelectedOption.textContent as string} ${this._isPickerOpen ? itemPositionText : \"\"}`;\n\n\t\t\tannounce(text, InvisibleMessageMode.Polite);\n\t\t}\n\t}\n\n\tasync openValueStatePopover() {\n\t\tthis.valueStatePopover = await this._getPopover() as Popover;\n\t\tif (this.valueStatePopover) {\n\t\t\tthis.valueStatePopover.showAt(this);\n\t\t}\n\t}\n\n\tcloseValueStatePopover() {\n\t\tthis.valueStatePopover && this.valueStatePopover.close();\n\t}\n\n\ttoggleValueStatePopover(open: boolean) {\n\t\tif (open) {\n\t\t\tthis.openValueStatePopover();\n\t\t} else {\n\t\t\tthis.closeValueStatePopover();\n\t\t}\n\t}\n\n\tget selectedOptionIcon() {\n\t\treturn this.selectedOption && this.selectedOption.icon;\n\t}\n\n\tasync _getPopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.querySelector(\"[ui5-popover]\");\n\t}\n\n\tstatic async onDefine() {\n\t\tSelect.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n}\n\nSelect.define();\n\nexport default Select;\nexport type {\n\tSelectChangeEventDetail,\n\tSelectLiveChangeEventDetail,\n\tIOption,\n};\n","'use client';\n\nimport '@ui5/webcomponents/dist/Select.js';\nimport { withWebComponent } from '../../internal/withWebComponent.js';\n/**\n * The `Select` component is used to create a drop-down list.\n *\n * ### Usage\n *\n * There are two main usages of the `ui5-select>`. 1. With Option (`Option`) web component:\n * The available options of the Select are defined by using the Option component. The Option comes with predefined design and layout, including `icon`, `text` and `additional-text`.\n *\n * 2\\. With SelectMenu (`SelectMenu`) and SelectMenuOption (`SelectMenuOption`) web components:\n * The SelectMenu can be used as alternative to define the Select's dropdown and can be used via the `menu` property of the Select to reference SelectMenu by its ID. The component gives the possibility to customize the Select's dropdown by slotting entirely custom options (via the SelectMenuOption component) and adding custom styles. **Note:** SelectMenu is a popover and placing it top-level in the HTML page is recommended, because some page styles (for example transitions) can misplace the SelectMenu.\n *\n * ### Keyboard Handling\n *\n * The `Select` provides advanced keyboard handling.\n *\n * * \\[F4, ALT+UP, ALT+DOWN, SPACE, ENTER\\] - Opens/closes the drop-down.\n * * \\[UP, DOWN\\] - If the drop-down is closed - changes selection to the next or the previous option. If the drop-down is opened - moves focus to the next or the previous option.\n * * \\[SPACE, ENTER\\] - If the drop-down is opened - selects the focused option.\n * * \\[ESC\\] - Closes the drop-down without changing the selection.\n * * \\[HOME\\] - Navigates to first option\n * * \\[END\\] - Navigates to the last option\n *\n *\n *\n * `import \"@ui5/webcomponents/dist/Option\";` (comes with `Select`)\n *\n * __Note__: This is a UI5 Web Component! [Repository](https://github.com/SAP/ui5-webcomponents) | [Documentation](https://sap.github.io/ui5-webcomponents/playground/)\n */\nconst Select = withWebComponent('ui5-select', ['accessibleName', 'accessibleNameRef', 'menu', 'name', 'value', 'valueState'], ['disabled', 'readonly', 'required'], ['label', 'valueStateMessage'], ['change', 'close', 'live-change', 'open']);\nSelect.displayName = 'Select';\nexport { Select };","'use client';\n\nimport '@ui5/webcomponents/dist/Option.js';\nimport { withWebComponent } from '../../internal/withWebComponent.js';\n/**\n * The `Option` component defines the content of an option in the `Select`.\n *\n * @abstract\n * __Note__: This is a UI5 Web Component! [Repository](https://github.com/SAP/ui5-webcomponents) | [Documentation](https://sap.github.io/ui5-webcomponents/playground/)\n */\nconst Option = withWebComponent('ui5-option', ['additionalText', 'icon', 'value'], ['disabled', 'selected'], [], []);\nOption.displayName = 'Option';\nexport { Option };","export type NoInfer
    = [A][A extends any ? 0 : never]\n\nexport type PartialKeys = Omit & Partial>\n\nexport function memo(\n getDeps: () => [...TDeps],\n fn: (...args: NoInfer<[...TDeps]>) => TResult,\n opts: {\n key: false | string\n debug?: () => any\n onChange?: (result: TResult) => void\n initialDeps?: TDeps\n },\n) {\n let deps = opts.initialDeps ?? []\n let result: TResult | undefined\n\n return (): TResult => {\n let depTime: number\n if (opts.key && opts.debug?.()) depTime = Date.now()\n\n const newDeps = getDeps()\n\n const depsChanged =\n newDeps.length !== deps.length ||\n newDeps.some((dep: any, index: number) => deps[index] !== dep)\n\n if (!depsChanged) {\n return result!\n }\n\n deps = newDeps\n\n let resultTime: number\n if (opts.key && opts.debug?.()) resultTime = Date.now()\n\n result = fn(...newDeps)\n\n if (opts.key && opts.debug?.()) {\n const depEndTime = Math.round((Date.now() - depTime!) * 100) / 100\n const resultEndTime = Math.round((Date.now() - resultTime!) * 100) / 100\n const resultFpsPercentage = resultEndTime / 16\n\n const pad = (str: number | string, num: number) => {\n str = String(str)\n while (str.length < num) {\n str = ' ' + str\n }\n return str\n }\n\n console.info(\n `%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`,\n `\n font-size: .6rem;\n font-weight: bold;\n color: hsl(${Math.max(\n 0,\n Math.min(120 - 120 * resultFpsPercentage, 120),\n )}deg 100% 31%);`,\n opts?.key,\n )\n }\n\n opts?.onChange?.(result)\n\n return result!\n }\n}\n\nexport function notUndefined(value: T | undefined, msg?: string): T {\n if (value === undefined) {\n throw new Error(`Unexpected undefined${msg ? `: ${msg}` : ''}`)\n } else {\n return value\n }\n}\n\nexport const approxEqual = (a: number, b: number) => Math.abs(a - b) < 1\n","import { approxEqual, memo, notUndefined } from './utils'\n\nexport * from './utils'\n\n//\n\ntype ScrollDirection = 'forward' | 'backward'\n\ntype ScrollAlignment = 'start' | 'center' | 'end' | 'auto'\n\ntype ScrollBehavior = 'auto' | 'smooth'\n\nexport interface ScrollToOptions {\n align?: ScrollAlignment\n behavior?: ScrollBehavior\n}\n\ntype ScrollToOffsetOptions = ScrollToOptions\n\ntype ScrollToIndexOptions = ScrollToOptions\n\nexport interface Range {\n startIndex: number\n endIndex: number\n overscan: number\n count: number\n}\n\ntype Key = number | string\n\nexport interface VirtualItem {\n key: Key\n index: number\n start: number\n end: number\n size: number\n lane: number\n}\n\ninterface Rect {\n width: number\n height: number\n}\n\n//\n\nexport const defaultKeyExtractor = (index: number) => index\n\nexport const defaultRangeExtractor = (range: Range) => {\n const start = Math.max(range.startIndex - range.overscan, 0)\n const end = Math.min(range.endIndex + range.overscan, range.count - 1)\n\n const arr = []\n\n for (let i = start; i <= end; i++) {\n arr.push(i)\n }\n\n return arr\n}\n\nexport const observeElementRect = (\n instance: Virtualizer,\n cb: (rect: Rect) => void,\n) => {\n const element = instance.scrollElement\n if (!element) {\n return\n }\n\n const handler = (rect: Rect) => {\n const { width, height } = rect\n cb({ width: Math.round(width), height: Math.round(height) })\n }\n\n handler(element.getBoundingClientRect())\n\n const observer = new ResizeObserver((entries) => {\n const entry = entries[0]\n if (entry?.borderBoxSize) {\n const box = entry.borderBoxSize[0]\n if (box) {\n handler({ width: box.inlineSize, height: box.blockSize })\n return\n }\n }\n handler(element.getBoundingClientRect())\n })\n\n observer.observe(element, { box: 'border-box' })\n\n return () => {\n observer.unobserve(element)\n }\n}\n\nexport const observeWindowRect = (\n instance: Virtualizer,\n cb: (rect: Rect) => void,\n) => {\n const element = instance.scrollElement\n if (!element) {\n return\n }\n\n const handler = () => {\n cb({ width: element.innerWidth, height: element.innerHeight })\n }\n handler()\n\n element.addEventListener('resize', handler, {\n passive: true,\n })\n\n return () => {\n element.removeEventListener('resize', handler)\n }\n}\n\nexport const observeElementOffset = (\n instance: Virtualizer,\n cb: (offset: number) => void,\n) => {\n const element = instance.scrollElement\n if (!element) {\n return\n }\n\n const handler = () => {\n cb(element[instance.options.horizontal ? 'scrollLeft' : 'scrollTop'])\n }\n handler()\n\n element.addEventListener('scroll', handler, {\n passive: true,\n })\n\n return () => {\n element.removeEventListener('scroll', handler)\n }\n}\n\nexport const observeWindowOffset = (\n instance: Virtualizer,\n cb: (offset: number) => void,\n) => {\n const element = instance.scrollElement\n if (!element) {\n return\n }\n\n const handler = () => {\n cb(element[instance.options.horizontal ? 'scrollX' : 'scrollY'])\n }\n handler()\n\n element.addEventListener('scroll', handler, {\n passive: true,\n })\n\n return () => {\n element.removeEventListener('scroll', handler)\n }\n}\n\nexport const measureElement = (\n element: TItemElement,\n entry: ResizeObserverEntry | undefined,\n instance: Virtualizer,\n) => {\n if (entry?.borderBoxSize) {\n const box = entry.borderBoxSize[0]\n if (box) {\n const size = Math.round(\n box[instance.options.horizontal ? 'inlineSize' : 'blockSize'],\n )\n return size\n }\n }\n return Math.round(\n element.getBoundingClientRect()[\n instance.options.horizontal ? 'width' : 'height'\n ],\n )\n}\n\nexport const windowScroll = (\n offset: number,\n {\n adjustments = 0,\n behavior,\n }: { adjustments?: number; behavior?: ScrollBehavior },\n instance: Virtualizer,\n) => {\n const toOffset = offset + adjustments\n\n instance.scrollElement?.scrollTo?.({\n [instance.options.horizontal ? 'left' : 'top']: toOffset,\n behavior,\n })\n}\n\nexport const elementScroll = (\n offset: number,\n {\n adjustments = 0,\n behavior,\n }: { adjustments?: number; behavior?: ScrollBehavior },\n instance: Virtualizer,\n) => {\n const toOffset = offset + adjustments\n\n instance.scrollElement?.scrollTo?.({\n [instance.options.horizontal ? 'left' : 'top']: toOffset,\n behavior,\n })\n}\n\nexport interface VirtualizerOptions<\n TScrollElement extends Element | Window,\n TItemElement extends Element,\n> {\n // Required from the user\n count: number\n getScrollElement: () => TScrollElement | null\n estimateSize: (index: number) => number\n\n // Required from the framework adapter (but can be overridden)\n scrollToFn: (\n offset: number,\n options: { adjustments?: number; behavior?: ScrollBehavior },\n instance: Virtualizer,\n ) => void\n observeElementRect: (\n instance: Virtualizer,\n cb: (rect: Rect) => void,\n ) => void | (() => void)\n observeElementOffset: (\n instance: Virtualizer,\n cb: (offset: number) => void,\n ) => void | (() => void)\n\n // Optional\n debug?: any\n initialRect?: Rect\n onChange?: (\n instance: Virtualizer,\n sync: boolean,\n ) => void\n measureElement?: (\n element: TItemElement,\n entry: ResizeObserverEntry | undefined,\n instance: Virtualizer,\n ) => number\n overscan?: number\n horizontal?: boolean\n paddingStart?: number\n paddingEnd?: number\n scrollPaddingStart?: number\n scrollPaddingEnd?: number\n initialOffset?: number\n getItemKey?: (index: number) => Key\n rangeExtractor?: (range: Range) => number[]\n scrollMargin?: number\n scrollingDelay?: number\n indexAttribute?: string\n initialMeasurementsCache?: VirtualItem[]\n lanes?: number\n}\n\nexport class Virtualizer<\n TScrollElement extends Element | Window,\n TItemElement extends Element,\n> {\n private unsubs: (void | (() => void))[] = []\n options!: Required>\n scrollElement: TScrollElement | null = null\n isScrolling: boolean = false\n private isScrollingTimeoutId: ReturnType | null = null\n private scrollToIndexTimeoutId: ReturnType | null = null\n measurementsCache: VirtualItem[] = []\n private itemSizeCache = new Map()\n private pendingMeasuredCacheIndexes: number[] = []\n scrollRect: Rect\n scrollOffset: number\n scrollDirection: ScrollDirection | null = null\n private scrollAdjustments: number = 0\n measureElementCache = new Map()\n private observer = (() => {\n let _ro: ResizeObserver | null = null\n\n const get = () => {\n if (_ro) {\n return _ro\n } else if (typeof ResizeObserver !== 'undefined') {\n return (_ro = new ResizeObserver((entries) => {\n entries.forEach((entry) => {\n this._measureElement(entry.target as TItemElement, entry)\n })\n }))\n } else {\n return null\n }\n }\n\n return {\n disconnect: () => get()?.disconnect(),\n observe: (target: Element) =>\n get()?.observe(target, { box: 'border-box' }),\n unobserve: (target: Element) => get()?.unobserve(target),\n }\n })()\n range: { startIndex: number; endIndex: number } | null = null\n\n constructor(opts: VirtualizerOptions) {\n this.setOptions(opts)\n this.scrollRect = this.options.initialRect\n this.scrollOffset = this.options.initialOffset\n this.measurementsCache = this.options.initialMeasurementsCache\n this.measurementsCache.forEach((item) => {\n this.itemSizeCache.set(item.key, item.size)\n })\n\n this.maybeNotify()\n }\n\n setOptions = (opts: VirtualizerOptions) => {\n Object.entries(opts).forEach(([key, value]) => {\n if (typeof value === 'undefined') delete (opts as any)[key]\n })\n\n this.options = {\n debug: false,\n initialOffset: 0,\n overscan: 1,\n paddingStart: 0,\n paddingEnd: 0,\n scrollPaddingStart: 0,\n scrollPaddingEnd: 0,\n horizontal: false,\n getItemKey: defaultKeyExtractor,\n rangeExtractor: defaultRangeExtractor,\n onChange: () => {},\n measureElement,\n initialRect: { width: 0, height: 0 },\n scrollMargin: 0,\n scrollingDelay: 150,\n indexAttribute: 'data-index',\n initialMeasurementsCache: [],\n lanes: 1,\n ...opts,\n }\n }\n\n private notify = (sync: boolean) => {\n this.options.onChange?.(this, sync)\n }\n\n private maybeNotify = memo(\n () => {\n this.calculateRange()\n\n return [\n this.isScrolling,\n this.range ? this.range.startIndex : null,\n this.range ? this.range.endIndex : null,\n ]\n },\n (isScrolling) => {\n this.notify(isScrolling)\n },\n {\n key: process.env.NODE_ENV !== 'production' && 'maybeNotify',\n debug: () => this.options.debug,\n initialDeps: [\n this.isScrolling,\n this.range ? this.range.startIndex : null,\n this.range ? this.range.endIndex : null,\n ] as [boolean, number | null, number | null],\n },\n )\n\n private cleanup = () => {\n this.unsubs.filter(Boolean).forEach((d) => d!())\n this.unsubs = []\n this.scrollElement = null\n }\n\n _didMount = () => {\n this.measureElementCache.forEach(this.observer.observe)\n return () => {\n this.observer.disconnect()\n this.cleanup()\n }\n }\n\n _willUpdate = () => {\n const scrollElement = this.options.getScrollElement()\n\n if (this.scrollElement !== scrollElement) {\n this.cleanup()\n\n this.scrollElement = scrollElement\n\n this._scrollToOffset(this.scrollOffset, {\n adjustments: undefined,\n behavior: undefined,\n })\n\n this.unsubs.push(\n this.options.observeElementRect(this, (rect) => {\n this.scrollRect = rect\n this.maybeNotify()\n }),\n )\n\n this.unsubs.push(\n this.options.observeElementOffset(this, (offset) => {\n this.scrollAdjustments = 0\n\n if (this.scrollOffset === offset) {\n return\n }\n\n if (this.isScrollingTimeoutId !== null) {\n clearTimeout(this.isScrollingTimeoutId)\n this.isScrollingTimeoutId = null\n }\n\n this.isScrolling = true\n this.scrollDirection =\n this.scrollOffset < offset ? 'forward' : 'backward'\n this.scrollOffset = offset\n\n this.maybeNotify()\n\n this.isScrollingTimeoutId = setTimeout(() => {\n this.isScrollingTimeoutId = null\n this.isScrolling = false\n this.scrollDirection = null\n\n this.maybeNotify()\n }, this.options.scrollingDelay)\n }),\n )\n }\n }\n\n private getSize = () => {\n return this.scrollRect[this.options.horizontal ? 'width' : 'height']\n }\n\n private memoOptions = memo(\n () => [\n this.options.count,\n this.options.paddingStart,\n this.options.scrollMargin,\n this.options.getItemKey,\n ],\n (count, paddingStart, scrollMargin, getItemKey) => {\n this.pendingMeasuredCacheIndexes = []\n return {\n count,\n paddingStart,\n scrollMargin,\n getItemKey,\n }\n },\n {\n key: false,\n },\n )\n\n private getFurthestMeasurement = (\n measurements: VirtualItem[],\n index: number,\n ) => {\n const furthestMeasurementsFound = new Map()\n const furthestMeasurements = new Map()\n for (let m = index - 1; m >= 0; m--) {\n const measurement = measurements[m]!\n\n if (furthestMeasurementsFound.has(measurement.lane)) {\n continue\n }\n\n const previousFurthestMeasurement = furthestMeasurements.get(\n measurement.lane,\n )\n if (\n previousFurthestMeasurement == null ||\n measurement.end > previousFurthestMeasurement.end\n ) {\n furthestMeasurements.set(measurement.lane, measurement)\n } else if (measurement.end < previousFurthestMeasurement.end) {\n furthestMeasurementsFound.set(measurement.lane, true)\n }\n\n if (furthestMeasurementsFound.size === this.options.lanes) {\n break\n }\n }\n\n return furthestMeasurements.size === this.options.lanes\n ? Array.from(furthestMeasurements.values()).sort(\n (a, b) => a.end - b.end,\n )[0]\n : undefined\n }\n\n private getMeasurements = memo(\n () => [this.memoOptions(), this.itemSizeCache],\n ({ count, paddingStart, scrollMargin, getItemKey }, itemSizeCache) => {\n const min =\n this.pendingMeasuredCacheIndexes.length > 0\n ? Math.min(...this.pendingMeasuredCacheIndexes)\n : 0\n this.pendingMeasuredCacheIndexes = []\n\n const measurements = this.measurementsCache.slice(0, min)\n\n for (let i = min; i < count; i++) {\n const key = getItemKey(i)\n\n const furthestMeasurement =\n this.options.lanes === 1\n ? measurements[i - 1]\n : this.getFurthestMeasurement(measurements, i)\n\n const start = furthestMeasurement\n ? furthestMeasurement.end\n : paddingStart + scrollMargin\n\n const measuredSize = itemSizeCache.get(key)\n const size =\n typeof measuredSize === 'number'\n ? measuredSize\n : this.options.estimateSize(i)\n\n const end = start + size\n\n const lane = furthestMeasurement\n ? furthestMeasurement.lane\n : i % this.options.lanes\n\n measurements[i] = {\n index: i,\n start,\n size,\n end,\n key,\n lane,\n }\n }\n\n this.measurementsCache = measurements\n\n return measurements\n },\n {\n key: process.env.NODE_ENV !== 'production' && 'getMeasurements',\n debug: () => this.options.debug,\n },\n )\n\n calculateRange = memo(\n () => [this.getMeasurements(), this.getSize(), this.scrollOffset],\n (measurements, outerSize, scrollOffset) => {\n return (this.range =\n measurements.length > 0 && outerSize > 0\n ? calculateRange({\n measurements,\n outerSize,\n scrollOffset,\n })\n : null)\n },\n {\n key: process.env.NODE_ENV !== 'production' && 'calculateRange',\n debug: () => this.options.debug,\n },\n )\n\n private getIndexes = memo(\n () => [\n this.options.rangeExtractor,\n this.calculateRange(),\n this.options.overscan,\n this.options.count,\n ],\n (rangeExtractor, range, overscan, count) => {\n return range === null\n ? []\n : rangeExtractor({\n ...range,\n overscan,\n count,\n })\n },\n {\n key: process.env.NODE_ENV !== 'production' && 'getIndexes',\n debug: () => this.options.debug,\n },\n )\n\n indexFromElement = (node: TItemElement) => {\n const attributeName = this.options.indexAttribute\n const indexStr = node.getAttribute(attributeName)\n\n if (!indexStr) {\n console.warn(\n `Missing attribute name '${attributeName}={index}' on measured element.`,\n )\n return -1\n }\n\n return parseInt(indexStr, 10)\n }\n\n private _measureElement = (\n node: TItemElement,\n entry: ResizeObserverEntry | undefined,\n ) => {\n const item = this.measurementsCache[this.indexFromElement(node)]\n\n if (!item || !node.isConnected) {\n this.measureElementCache.forEach((cached, key) => {\n if (cached === node) {\n this.observer.unobserve(node)\n this.measureElementCache.delete(key)\n }\n })\n return\n }\n\n const prevNode = this.measureElementCache.get(item.key)\n\n if (prevNode !== node) {\n if (prevNode) {\n this.observer.unobserve(prevNode)\n }\n this.observer.observe(node)\n this.measureElementCache.set(item.key, node)\n }\n\n const measuredItemSize = this.options.measureElement(node, entry, this)\n\n this.resizeItem(item, measuredItemSize)\n }\n\n resizeItem = (item: VirtualItem, size: number) => {\n const itemSize = this.itemSizeCache.get(item.key) ?? item.size\n const delta = size - itemSize\n\n if (delta !== 0) {\n if (item.start < this.scrollOffset) {\n if (process.env.NODE_ENV !== 'production' && this.options.debug) {\n console.info('correction', delta)\n }\n\n this._scrollToOffset(this.scrollOffset, {\n adjustments: (this.scrollAdjustments += delta),\n behavior: undefined,\n })\n }\n\n this.pendingMeasuredCacheIndexes.push(item.index)\n this.itemSizeCache = new Map(this.itemSizeCache.set(item.key, size))\n\n this.notify(false)\n }\n }\n\n measureElement = (node: TItemElement | null) => {\n if (!node) {\n return\n }\n\n this._measureElement(node, undefined)\n }\n\n getVirtualItems = memo(\n () => [this.getIndexes(), this.getMeasurements()],\n (indexes, measurements) => {\n const virtualItems: VirtualItem[] = []\n\n for (let k = 0, len = indexes.length; k < len; k++) {\n const i = indexes[k]!\n const measurement = measurements[i]!\n\n virtualItems.push(measurement)\n }\n\n return virtualItems\n },\n {\n key: process.env.NODE_ENV !== 'production' && 'getIndexes',\n debug: () => this.options.debug,\n },\n )\n\n getVirtualItemForOffset = (offset: number) => {\n const measurements = this.getMeasurements()\n\n return notUndefined(\n measurements[\n findNearestBinarySearch(\n 0,\n measurements.length - 1,\n (index: number) => notUndefined(measurements[index]).start,\n offset,\n )\n ],\n )\n }\n\n getOffsetForAlignment = (toOffset: number, align: ScrollAlignment) => {\n const size = this.getSize()\n\n if (align === 'auto') {\n if (toOffset <= this.scrollOffset) {\n align = 'start'\n } else if (toOffset >= this.scrollOffset + size) {\n align = 'end'\n } else {\n align = 'start'\n }\n }\n\n if (align === 'start') {\n toOffset = toOffset\n } else if (align === 'end') {\n toOffset = toOffset - size\n } else if (align === 'center') {\n toOffset = toOffset - size / 2\n }\n\n const scrollSizeProp = this.options.horizontal\n ? 'scrollWidth'\n : 'scrollHeight'\n const scrollSize = this.scrollElement\n ? 'document' in this.scrollElement\n ? this.scrollElement.document.documentElement[scrollSizeProp]\n : this.scrollElement[scrollSizeProp]\n : 0\n\n const maxOffset = scrollSize - this.getSize()\n\n return Math.max(Math.min(maxOffset, toOffset), 0)\n }\n\n getOffsetForIndex = (index: number, align: ScrollAlignment = 'auto') => {\n index = Math.max(0, Math.min(index, this.options.count - 1))\n\n const measurement = notUndefined(this.getMeasurements()[index])\n\n if (align === 'auto') {\n if (\n measurement.end >=\n this.scrollOffset + this.getSize() - this.options.scrollPaddingEnd\n ) {\n align = 'end'\n } else if (\n measurement.start <=\n this.scrollOffset + this.options.scrollPaddingStart\n ) {\n align = 'start'\n } else {\n return [this.scrollOffset, align] as const\n }\n }\n\n const toOffset =\n align === 'end'\n ? measurement.end + this.options.scrollPaddingEnd\n : measurement.start - this.options.scrollPaddingStart\n\n return [this.getOffsetForAlignment(toOffset, align), align] as const\n }\n\n private isDynamicMode = () => this.measureElementCache.size > 0\n\n private cancelScrollToIndex = () => {\n if (this.scrollToIndexTimeoutId !== null) {\n clearTimeout(this.scrollToIndexTimeoutId)\n this.scrollToIndexTimeoutId = null\n }\n }\n\n scrollToOffset = (\n toOffset: number,\n { align = 'start', behavior }: ScrollToOffsetOptions = {},\n ) => {\n this.cancelScrollToIndex()\n\n if (behavior === 'smooth' && this.isDynamicMode()) {\n console.warn(\n 'The `smooth` scroll behavior is not fully supported with dynamic size.',\n )\n }\n\n this._scrollToOffset(this.getOffsetForAlignment(toOffset, align), {\n adjustments: undefined,\n behavior,\n })\n }\n\n scrollToIndex = (\n index: number,\n { align: initialAlign = 'auto', behavior }: ScrollToIndexOptions = {},\n ) => {\n index = Math.max(0, Math.min(index, this.options.count - 1))\n\n this.cancelScrollToIndex()\n\n if (behavior === 'smooth' && this.isDynamicMode()) {\n console.warn(\n 'The `smooth` scroll behavior is not fully supported with dynamic size.',\n )\n }\n\n const [toOffset, align] = this.getOffsetForIndex(index, initialAlign)\n\n this._scrollToOffset(toOffset, { adjustments: undefined, behavior })\n\n if (behavior !== 'smooth' && this.isDynamicMode()) {\n this.scrollToIndexTimeoutId = setTimeout(() => {\n this.scrollToIndexTimeoutId = null\n\n const elementInDOM = this.measureElementCache.has(\n this.options.getItemKey(index),\n )\n\n if (elementInDOM) {\n const [toOffset] = this.getOffsetForIndex(index, align)\n\n if (!approxEqual(toOffset, this.scrollOffset)) {\n this.scrollToIndex(index, { align, behavior })\n }\n } else {\n this.scrollToIndex(index, { align, behavior })\n }\n })\n }\n }\n\n scrollBy = (delta: number, { behavior }: ScrollToOffsetOptions = {}) => {\n this.cancelScrollToIndex()\n\n if (behavior === 'smooth' && this.isDynamicMode()) {\n console.warn(\n 'The `smooth` scroll behavior is not fully supported with dynamic size.',\n )\n }\n\n this._scrollToOffset(this.scrollOffset + delta, {\n adjustments: undefined,\n behavior,\n })\n }\n\n getTotalSize = () =>\n (this.getMeasurements()[this.options.count - 1]?.end ||\n this.options.paddingStart) -\n this.options.scrollMargin +\n this.options.paddingEnd\n\n private _scrollToOffset = (\n offset: number,\n {\n adjustments,\n behavior,\n }: {\n adjustments: number | undefined\n behavior: ScrollBehavior | undefined\n },\n ) => {\n this.options.scrollToFn(offset, { behavior, adjustments }, this)\n }\n\n measure = () => {\n this.itemSizeCache = new Map()\n this.notify(false)\n }\n}\n\nconst findNearestBinarySearch = (\n low: number,\n high: number,\n getCurrentValue: (i: number) => number,\n value: number,\n) => {\n while (low <= high) {\n const middle = ((low + high) / 2) | 0\n const currentValue = getCurrentValue(middle)\n\n if (currentValue < value) {\n low = middle + 1\n } else if (currentValue > value) {\n high = middle - 1\n } else {\n return middle\n }\n }\n\n if (low > 0) {\n return low - 1\n } else {\n return 0\n }\n}\n\nfunction calculateRange({\n measurements,\n outerSize,\n scrollOffset,\n}: {\n measurements: VirtualItem[]\n outerSize: number\n scrollOffset: number\n}) {\n const count = measurements.length - 1\n const getOffset = (index: number) => measurements[index]!.start\n\n const startIndex = findNearestBinarySearch(0, count, getOffset, scrollOffset)\n let endIndex = startIndex\n\n while (\n endIndex < count &&\n measurements[endIndex]!.end < scrollOffset + outerSize\n ) {\n endIndex++\n }\n\n return { startIndex, endIndex }\n}\n","import * as React from 'react'\nimport { flushSync } from 'react-dom'\nimport {\n elementScroll,\n observeElementOffset,\n observeElementRect,\n observeWindowOffset,\n observeWindowRect,\n PartialKeys,\n Virtualizer,\n VirtualizerOptions,\n windowScroll,\n} from '@tanstack/virtual-core'\nexport * from '@tanstack/virtual-core'\n\n//\n\nconst useIsomorphicLayoutEffect =\n typeof document !== 'undefined' ? React.useLayoutEffect : React.useEffect\n\nfunction useVirtualizerBase<\n TScrollElement extends Element | Window,\n TItemElement extends Element,\n>(\n options: VirtualizerOptions,\n): Virtualizer {\n const rerender = React.useReducer(() => ({}), {})[1]\n\n const resolvedOptions: VirtualizerOptions = {\n ...options,\n onChange: (instance, sync) => {\n if (sync) {\n flushSync(rerender)\n } else {\n rerender()\n }\n options.onChange?.(instance, sync)\n },\n }\n\n const [instance] = React.useState(\n () => new Virtualizer(resolvedOptions),\n )\n\n instance.setOptions(resolvedOptions)\n\n React.useEffect(() => {\n return instance._didMount()\n }, [])\n\n useIsomorphicLayoutEffect(() => {\n return instance._willUpdate()\n })\n\n return instance\n}\n\nexport function useVirtualizer<\n TScrollElement extends Element,\n TItemElement extends Element,\n>(\n options: PartialKeys<\n VirtualizerOptions,\n 'observeElementRect' | 'observeElementOffset' | 'scrollToFn'\n >,\n): Virtualizer {\n return useVirtualizerBase({\n observeElementRect: observeElementRect,\n observeElementOffset: observeElementOffset,\n scrollToFn: elementScroll,\n ...options,\n })\n}\n\nexport function useWindowVirtualizer(\n options: PartialKeys<\n VirtualizerOptions,\n | 'getScrollElement'\n | 'observeElementRect'\n | 'observeElementOffset'\n | 'scrollToFn'\n >,\n): Virtualizer {\n return useVirtualizerBase({\n getScrollElement: () => (typeof document !== 'undefined' ? window : null),\n observeElementRect: observeWindowRect,\n observeElementOffset: observeWindowOffset,\n scrollToFn: windowScroll,\n initialOffset: typeof document !== 'undefined' ? window.scrollY : undefined,\n ...options,\n })\n}\n","export const deprecationNotice = (component, message) => {\n if (process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test') {\n const value = `*** ui5-webcomponents-react Deprecation Notice - ${component} ***\\n`;\n // eslint-disable-next-line no-console\n if (console && console.warn) {\n // eslint-disable-next-line no-console\n console.warn(`${value}${message}`);\n }\n }\n};\nexport const enrichEventWithDetails = (event, payload = null) => {\n // safeguard\n if (!event) {\n return event;\n }\n if (event.hasOwnProperty('persist')) {\n // if there is a persist method, it's an SyntheticEvent so we need to persist it\n event.persist();\n }\n const shouldCreateNewDetails = event.detail === null || event.detail === undefined || typeof event.detail !== 'object';\n Object.defineProperty(event, 'detail', {\n value: shouldCreateNewDetails ? {} : event.detail,\n writable: true,\n configurable: true\n });\n Object.assign(event.detail, payload);\n return event;\n};\nexport { debounce } from './debounce.js';\nexport { throttle } from './throttle.js';\n","'use client';\nimport * as React from 'react';\nfunction getRandomId() {\n if ('randomUUID' in crypto) {\n return crypto.randomUUID();\n }\n const uint32 = window.crypto.getRandomValues(new Uint32Array(1))[0];\n return uint32.toString(16);\n}\nconst canUseUseId = 'useId' in React;\nexport function useIsomorphicId() {\n if (canUseUseId) {\n // TODO might be fixed by https://github.com/webpack/webpack/issues/14814\n return Reflect.get(React, 'useId')();\n }\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const localId = React.useRef(getRandomId()); // React version never changes at runtime\n return localId.current;\n}\n","'use client';\nimport I18nBundle, { getI18nBundle } from '@ui5/webcomponents-base/dist/i18nBundle.js';\nimport { useRef } from 'react';\nimport { useI18nContext } from '../context/I18nContext.js';\nimport { useIsomorphicLayoutEffect } from '../hooks/index.js';\nconst defaultBundle = new I18nBundle('defaultBundle');\nexport const useI18nBundle = (bundleName) => {\n const i18nContext = useI18nContext();\n if (!i18nContext) {\n throw new Error(`'useI18nBundle()' may be used only in the context of a '' component.`);\n }\n const i18nRef = useRef(i18nContext);\n useIsomorphicLayoutEffect(() => {\n const { i18nBundles, setI18nBundle } = i18nRef.current;\n let isMounted = true;\n if (!i18nBundles.hasOwnProperty(bundleName)) {\n getI18nBundle(bundleName).then((internalBundle) => {\n if (isMounted) {\n setI18nBundle(bundleName, internalBundle);\n }\n }, () => {\n // noop\n });\n }\n return () => {\n isMounted = false;\n };\n }, [bundleName]);\n return i18nContext.i18nBundles[bundleName] ?? defaultBundle;\n};\n","'use client';\nimport { getRTL } from '@ui5/webcomponents-base/dist/config/RTL.js';\nimport { useRef, useState } from 'react';\nimport { useIsomorphicLayoutEffect } from '../hooks/index.js';\nconst GLOBAL_DIR_CSS_VAR = '--_ui5_dir';\nconst detectRTL = (elementRef) => {\n if (!elementRef.current) {\n return getRTL();\n }\n const doc = window.document;\n const dirValues = ['ltr', 'rtl']; // exclude \"auto\" and \"\" from all calculations\n const locallyAppliedDir = getComputedStyle(elementRef.current).getPropertyValue(GLOBAL_DIR_CSS_VAR);\n // In that order, inspect the CSS Var (for modern browsers), the element itself, html and body (for IE fallback)\n if (dirValues.includes(locallyAppliedDir)) {\n return locallyAppliedDir === 'rtl';\n }\n if (dirValues.includes(elementRef.current?.dir)) {\n return elementRef.current?.dir === 'rtl';\n }\n if (dirValues.includes(doc.documentElement.dir)) {\n return doc.documentElement.dir === 'rtl';\n }\n if (dirValues.includes(doc.body.dir)) {\n return doc.body.dir === 'rtl';\n }\n // Finally, check the configuration for explicitly set RTL or language-implied RTL\n return getRTL();\n};\nconst useIsRTL = (elementRef) => {\n const [isRTL, setRTL] = useState(getRTL()); // use config RTL as best guess\n const isMounted = useRef(false);\n useIsomorphicLayoutEffect(() => {\n isMounted.current = true;\n setRTL(detectRTL(elementRef)); // update immediately while rendering\n const targets = [document.documentElement, document.body, elementRef.current].filter(Boolean);\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.attributeName === 'dir') {\n if (isMounted.current) {\n setRTL(detectRTL(elementRef));\n }\n }\n });\n });\n targets.forEach((target) => {\n // @ts-expect-error: target can never be a faulty value\n observer.observe(target, {\n attributes: true,\n childList: false,\n characterData: false,\n attributeFilter: ['dir']\n });\n });\n return () => {\n isMounted.current = false;\n observer.disconnect();\n };\n }, [isMounted, elementRef.current]);\n return isRTL;\n};\nexport { useIsRTL };\n","// Copied from https://github.com/jashkenas/underscore/blob/master/modules/debounce.js (31th May 2021)\nconst now = Date.now || (() => new Date().getTime());\n/**\n * When a sequence of calls of the returned function ends, the argument\n * function is triggered. The end of a sequence is defined by the `wait`\n * parameter.\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nconst debounce = (func, wait) => {\n let timeout;\n let previous;\n let args;\n let result;\n let context;\n const later = () => {\n const passed = now() - previous;\n if (wait > passed) {\n timeout = setTimeout(later, wait - passed);\n }\n else {\n timeout = null;\n result = func.apply(context, args);\n // This check is needed because `func` can recursively invoke `debounced`.\n if (!timeout)\n args = context = null;\n }\n };\n const debounced = function (..._args) {\n // @ts-expect-error: copied - no need to infer types here\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n context = this;\n args = _args;\n previous = now();\n if (!timeout) {\n timeout = setTimeout(later, wait);\n }\n return result;\n };\n debounced.cancel = () => {\n clearTimeout(timeout);\n timeout = args = context = null;\n };\n // @ts-expect-error: copied - no need to infer types here\n return debounced;\n};\nexport { debounce };\n","/**\n * Defines the rendering and height calculation behavior of subcomponents when `renderRowSubComponent` is used.\n */\nexport let AnalyticalTableSubComponentsBehavior = /*#__PURE__*/function (AnalyticalTableSubComponentsBehavior) {\n AnalyticalTableSubComponentsBehavior[\"Expandable\"] = \"Expandable\";\n AnalyticalTableSubComponentsBehavior[\"Visible\"] = \"Visible\";\n AnalyticalTableSubComponentsBehavior[\"IncludeHeight\"] = \"IncludeHeight\";\n AnalyticalTableSubComponentsBehavior[\"IncludeHeightExpandable\"] = \"IncludeHeightExpandable\";\n return AnalyticalTableSubComponentsBehavior;\n}({});","/**\n * Defines how the AnalyticalTable will render visible rows.\n *\n * __Note:__ When `\"Auto\"` is enabled, we recommend to use a fixed height for the outer container.\n */\nexport let AnalyticalTableVisibleRowCountMode = /*#__PURE__*/function (AnalyticalTableVisibleRowCountMode) {\n AnalyticalTableVisibleRowCountMode[\"Fixed\"] = \"Fixed\";\n AnalyticalTableVisibleRowCountMode[\"Auto\"] = \"Auto\";\n AnalyticalTableVisibleRowCountMode[\"AutoWithEmptyRows\"] = \"AutoWithEmptyRows\";\n AnalyticalTableVisibleRowCountMode[\"Interactive\"] = \"Interactive\";\n return AnalyticalTableVisibleRowCountMode;\n}({});","/**\n * Defines the `SelectionMode` of the AnalyticalTable.\n */\nexport let AnalyticalTableSelectionMode = /*#__PURE__*/function (AnalyticalTableSelectionMode) {\n AnalyticalTableSelectionMode[\"None\"] = \"None\";\n AnalyticalTableSelectionMode[\"SingleSelect\"] = \"SingleSelect\";\n AnalyticalTableSelectionMode[\"MultiSelect\"] = \"MultiSelect\";\n return AnalyticalTableSelectionMode;\n}({});","/**\n * Defines the selection behavior of the AnalyticalTable.\n */\nexport let AnalyticalTableSelectionBehavior = /*#__PURE__*/function (AnalyticalTableSelectionBehavior) {\n AnalyticalTableSelectionBehavior[\"Row\"] = \"Row\";\n AnalyticalTableSelectionBehavior[\"RowOnly\"] = \"RowOnly\";\n AnalyticalTableSelectionBehavior[\"RowSelector\"] = \"RowSelector\";\n return AnalyticalTableSelectionBehavior;\n}({});","/**\n * Defines the column growing behaviour.\n *\n * __Note:__ Custom cells with components instead of text as children are ignored by the `Smart` and `Grow` modes.\n * __Note:__ For performance reasons, the `Smart` and `Grow` modes base their calculation for table cell width on a subset of column cells. If the first 20 cells of a column are significantly smaller than the rest of the column cells, the content may still not be fully displayed for all cells.\n */\nexport let AnalyticalTableScaleWidthMode = /*#__PURE__*/function (AnalyticalTableScaleWidthMode) {\n AnalyticalTableScaleWidthMode[\"Default\"] = \"Default\";\n AnalyticalTableScaleWidthMode[\"Smart\"] = \"Smart\";\n AnalyticalTableScaleWidthMode[\"Grow\"] = \"Grow\";\n return AnalyticalTableScaleWidthMode;\n}({});","const TARGET = {\n key: \"TARGET\",\n defaultText: \"Target\"\n};\nconst DEVIATION = {\n key: \"DEVIATION\",\n defaultText: \"Deviation\"\n};\nconst ABORT = {\n key: \"ABORT\",\n defaultText: \"Abort\"\n};\nconst CANCEL = {\n key: \"CANCEL\",\n defaultText: \"Cancel\"\n};\nconst CLOSE = {\n key: \"CLOSE\",\n defaultText: \"Close\"\n};\nconst DELETE = {\n key: \"DELETE\",\n defaultText: \"Delete\"\n};\nconst IGNORE = {\n key: \"IGNORE\",\n defaultText: \"Ignore\"\n};\nconst NO = {\n key: \"NO\",\n defaultText: \"No\"\n};\nconst OK = {\n key: \"OK\",\n defaultText: \"OK\"\n};\nconst RETRY = {\n key: \"RETRY\",\n defaultText: \"Retry\"\n};\nconst YES = {\n key: \"YES\",\n defaultText: \"Yes\"\n};\nconst CLEAR_SORTING = {\n key: \"CLEAR_SORTING\",\n defaultText: \"Clear Sorting\"\n};\nconst SORT_ASCENDING = {\n key: \"SORT_ASCENDING\",\n defaultText: \"Sort Ascending\"\n};\nconst SORT_DESCENDING = {\n key: \"SORT_DESCENDING\",\n defaultText: \"Sort Descending\"\n};\nconst GROUP = {\n key: \"GROUP\",\n defaultText: \"Group\"\n};\nconst GROUPED = {\n key: \"GROUPED\",\n defaultText: \"Grouped\"\n};\nconst UNGROUP = {\n key: \"UNGROUP\",\n defaultText: \"Ungroup\"\n};\nconst DRAG_TO_RESIZE = {\n key: \"DRAG_TO_RESIZE\",\n defaultText: \"Drag to resize\"\n};\nconst PLEASE_WAIT = {\n key: \"PLEASE_WAIT\",\n defaultText: \"Please wait\"\n};\nconst CONFIRMATION = {\n key: \"CONFIRMATION\",\n defaultText: \"Confirmation\"\n};\nconst ERROR = {\n key: \"ERROR\",\n defaultText: \"Error\"\n};\nconst INFORMATION = {\n key: \"INFORMATION\",\n defaultText: \"Information\"\n};\nconst SUCCESS = {\n key: \"SUCCESS\",\n defaultText: \"Success\"\n};\nconst WARNING = {\n key: \"WARNING\",\n defaultText: \"Warning\"\n};\nconst SHOW_LESS = {\n key: \"SHOW_LESS\",\n defaultText: \"Show less\"\n};\nconst SHOW_MORE = {\n key: \"SHOW_MORE\",\n defaultText: \"Show more\"\n};\nconst EXPAND_GROUP = {\n key: \"EXPAND_GROUP\",\n defaultText: \"Expand Group\"\n};\nconst COLLAPSE_GROUP = {\n key: \"COLLAPSE_GROUP\",\n defaultText: \"Collapse Group\"\n};\nconst SHOW_FILTER_BAR = {\n key: \"SHOW_FILTER_BAR\",\n defaultText: \"Show Filter Bar\"\n};\nconst HIDE_FILTER_BAR = {\n key: \"HIDE_FILTER_BAR\",\n defaultText: \"Hide Filter Bar\"\n};\nconst CLEAR = {\n key: \"CLEAR\",\n defaultText: \"Clear\"\n};\nconst RESTORE = {\n key: \"RESTORE\",\n defaultText: \"Restore\"\n};\nconst FILTERS = {\n key: \"FILTERS\",\n defaultText: \"Filters\"\n};\nconst ADAPT_FILTERS = {\n key: \"ADAPT_FILTERS\",\n defaultText: \"Adapt Filters\"\n};\nconst GO = {\n key: \"GO\",\n defaultText: \"Go\"\n};\nconst SAVE = {\n key: \"SAVE\",\n defaultText: \"Save\"\n};\nconst SHOW_ON_FILTER_BAR = {\n key: \"SHOW_ON_FILTER_BAR\",\n defaultText: \"Show on Filter Bar\"\n};\nconst BASIC = {\n key: \"BASIC\",\n defaultText: \"Basic\"\n};\nconst SEARCH_FOR_FILTERS = {\n key: \"SEARCH_FOR_FILTERS\",\n defaultText: \"Search for filters\"\n};\nconst FIELDS_BY_ATTRIBUTE = {\n key: \"FIELDS_BY_ATTRIBUTE\",\n defaultText: \"Show Fields by Attribute\"\n};\nconst VISIBLE = {\n key: \"VISIBLE\",\n defaultText: \"Visible\"\n};\nconst ACTIVE = {\n key: \"ACTIVE\",\n defaultText: \"Active\"\n};\nconst VISIBLE_AND_ACTIVE = {\n key: \"VISIBLE_AND_ACTIVE\",\n defaultText: \"Visible and Active\"\n};\nconst MANDATORY = {\n key: \"MANDATORY\",\n defaultText: \"Mandatory\"\n};\nconst LIST_VIEW = {\n key: \"LIST_VIEW\",\n defaultText: \"List View\"\n};\nconst GROUP_VIEW = {\n key: \"GROUP_VIEW\",\n defaultText: \"Group View\"\n};\nconst SHOW_VALUES = {\n key: \"SHOW_VALUES\",\n defaultText: \"Show Values\"\n};\nconst HIDE_VALUES = {\n key: \"HIDE_VALUES\",\n defaultText: \"Hide Values\"\n};\nconst FIELD = {\n key: \"FIELD\",\n defaultText: \"Field\"\n};\nconst COLLAPSE_HEADER = {\n key: \"COLLAPSE_HEADER\",\n defaultText: \"Collapse Header\"\n};\nconst EXPAND_HEADER = {\n key: \"EXPAND_HEADER\",\n defaultText: \"Expand Header\"\n};\nconst PIN_HEADER = {\n key: \"PIN_HEADER\",\n defaultText: \"Pin Header\"\n};\nconst UNPIN_HEADER = {\n key: \"UNPIN_HEADER\",\n defaultText: \"Unpin Header\"\n};\nconst SEPARATOR = {\n key: \"SEPARATOR\",\n defaultText: \"Separator\"\n};\nconst AVAILABLE_ACTIONS = {\n key: \"AVAILABLE_ACTIONS\",\n defaultText: \"Available Actions\"\n};\nconst X_OF_Y = {\n key: \"X_OF_Y\",\n defaultText: \"Item {0} of {1}\"\n};\nconst MY_VIEWS = {\n key: \"MY_VIEWS\",\n defaultText: \"My Views\"\n};\nconst SAVE_VIEW = {\n key: \"SAVE_VIEW\",\n defaultText: \"Save View\"\n};\nconst MANAGE_VIEWS = {\n key: \"MANAGE_VIEWS\",\n defaultText: \"Manage Views\"\n};\nconst VIEW = {\n key: \"VIEW\",\n defaultText: \"View\"\n};\nconst VARIANT_MANAGEMENT_ERROR_DUPLICATE = {\n key: \"VARIANT_MANAGEMENT_ERROR_DUPLICATE\",\n defaultText: \"The view name already exists. Please enter a different name.\"\n};\nconst SPECIFY_VIEW_NAME = {\n key: \"SPECIFY_VIEW_NAME\",\n defaultText: \"Please specify a view name\"\n};\nconst SET_AS_DEFAULT = {\n key: \"SET_AS_DEFAULT\",\n defaultText: \"Set as Default\"\n};\nconst PUBLIC = {\n key: \"PUBLIC\",\n defaultText: \"Public\"\n};\nconst APPLY_AUTOMATICALLY = {\n key: \"APPLY_AUTOMATICALLY\",\n defaultText: \"Apply Automatically\"\n};\nconst SHARING = {\n key: \"SHARING\",\n defaultText: \"Sharing\"\n};\nconst DEFAULT = {\n key: \"DEFAULT\",\n defaultText: \"Default\"\n};\nconst CREATED_BY = {\n key: \"CREATED_BY\",\n defaultText: \"Created By\"\n};\nconst MANAGE = {\n key: \"MANAGE\",\n defaultText: \"Manage\"\n};\nconst PRIVATE = {\n key: \"PRIVATE\",\n defaultText: \"Private\"\n};\nconst MARK_AS_STANDARD = {\n key: \"MARK_AS_STANDARD\",\n defaultText: \"Use as standard view\"\n};\nconst MARK_AS_FAVORITE = {\n key: \"MARK_AS_FAVORITE\",\n defaultText: \"Mark as favorite view\"\n};\nconst DELETE_VIEW = {\n key: \"DELETE_VIEW\",\n defaultText: \"Delete view\"\n};\nconst SELECT_VIEW = {\n key: \"SELECT_VIEW\",\n defaultText: \"Select view\"\n};\nconst SEARCH_VARIANT = {\n key: \"SEARCH_VARIANT\",\n defaultText: \"Search variant\"\n};\nconst ALL = {\n key: \"ALL\",\n defaultText: \"All\"\n};\nconst SEARCH = {\n key: \"SEARCH\",\n defaultText: \"Search\"\n};\nconst SAVE_AS = {\n key: \"SAVE_AS\",\n defaultText: \"Save As\"\n};\nconst RESET = {\n key: \"RESET\",\n defaultText: \"Reset\"\n};\nconst SELECTED_AS_FAVORITE = {\n key: \"SELECTED_AS_FAVORITE\",\n defaultText: \"Selected as Favorite\"\n};\nconst UNSELECTED_AS_FAVORITE = {\n key: \"UNSELECTED_AS_FAVORITE\",\n defaultText: \"Unselected as Favorite\"\n};\nconst SELECT = {\n key: \"SELECT\",\n defaultText: \"Select\"\n};\nconst SELECTED = {\n key: \"SELECTED\",\n defaultText: \"Selected\"\n};\nconst PRESS_ARROW_KEYS_TO_MOVE = {\n key: \"PRESS_ARROW_KEYS_TO_MOVE\",\n defaultText: \"Press ARROW keys to move\"\n};\nconst LIST_NO_DATA = {\n key: \"LIST_NO_DATA\",\n defaultText: \"No data\"\n};\nconst EXPAND_NODE = {\n key: \"EXPAND_NODE\",\n defaultText: \"Expand Node\"\n};\nconst COLLAPSE_NODE = {\n key: \"COLLAPSE_NODE\",\n defaultText: \"Collapse Node\"\n};\nconst EXPAND_PRESS_SPACE = {\n key: \"EXPAND_PRESS_SPACE\",\n defaultText: \"To expand the row, press the spacebar\"\n};\nconst COLLAPSE_PRESS_SPACE = {\n key: \"COLLAPSE_PRESS_SPACE\",\n defaultText: \"To collapse the row, press the spacebar\"\n};\nconst SELECT_PRESS_SPACE = {\n key: \"SELECT_PRESS_SPACE\",\n defaultText: \"To select the row, press the spacebar\"\n};\nconst UNSELECT_PRESS_SPACE = {\n key: \"UNSELECT_PRESS_SPACE\",\n defaultText: \"To deselect the row, press the spacebar\"\n};\nconst INVALID_TABLE = {\n key: \"INVALID_TABLE\",\n defaultText: \"Invalid Table\"\n};\nconst FILTERED = {\n key: \"FILTERED\",\n defaultText: \"Filtered\"\n};\nconst ARIA_DESC_CARD_HEADER = {\n key: \"ARIA_DESC_CARD_HEADER\",\n defaultText: \"Card Header\"\n};\nconst SEMANTIC_COLOR_CRITICAL = {\n key: \"SEMANTIC_COLOR_CRITICAL\",\n defaultText: \"Warning\"\n};\nconst SEMANTIC_COLOR_GOOD = {\n key: \"SEMANTIC_COLOR_GOOD\",\n defaultText: \"Good\"\n};\nconst SEMANTIC_COLOR_NEUTRAL = {\n key: \"SEMANTIC_COLOR_NEUTRAL\",\n defaultText: \"Neutral\"\n};\nconst SEMANTIC_COLOR_ERROR = {\n key: \"SEMANTIC_COLOR_ERROR\",\n defaultText: \"Critical\"\n};\nconst NUMERICCONTENT_DEVIATION_UP = {\n key: \"NUMERICCONTENT_DEVIATION_UP\",\n defaultText: \"Ascending\"\n};\nconst NUMERICCONTENT_DEVIATION_DOWN = {\n key: \"NUMERICCONTENT_DEVIATION_DOWN\",\n defaultText: \"Descending\"\n};\nconst ARIA_OBJ_STATUS_DESC = {\n key: \"ARIA_OBJ_STATUS_DESC\",\n defaultText: \"Object Status Button\"\n};\nconst ARIA_OBJ_STATUS_DESC_INACTIVE = {\n key: \"ARIA_OBJ_STATUS_DESC_INACTIVE\",\n defaultText: \"Object Status\"\n};\nconst INDICATION_COLOR = {\n key: \"INDICATION_COLOR\",\n defaultText: \"Indication Color\"\n};\nconst EMPTY_VALUE = {\n key: \"EMPTY_VALUE\",\n defaultText: \"Empty Value\"\n};\nconst SELECT_ALL = {\n key: \"SELECT_ALL\",\n defaultText: \"Select All\"\n};\nconst DESELECT_ALL = {\n key: \"DESELECT_ALL\",\n defaultText: \"Deselect All\"\n};\nconst SHOW_FULL_TEXT = {\n key: \"SHOW_FULL_TEXT\",\n defaultText: \"Show the full text\"\n};\nconst CLOSE_POPOVER = {\n key: \"CLOSE_POPOVER\",\n defaultText: \"Close the popover\"\n};\nexport { TARGET, DEVIATION, ABORT, CANCEL, CLOSE, DELETE, IGNORE, NO, OK, RETRY, YES, CLEAR_SORTING, SORT_ASCENDING, SORT_DESCENDING, GROUP, GROUPED, UNGROUP, DRAG_TO_RESIZE, PLEASE_WAIT, CONFIRMATION, ERROR, INFORMATION, SUCCESS, WARNING, SHOW_LESS, SHOW_MORE, EXPAND_GROUP, COLLAPSE_GROUP, SHOW_FILTER_BAR, HIDE_FILTER_BAR, CLEAR, RESTORE, FILTERS, ADAPT_FILTERS, GO, SAVE, SHOW_ON_FILTER_BAR, BASIC, SEARCH_FOR_FILTERS, FIELDS_BY_ATTRIBUTE, VISIBLE, ACTIVE, VISIBLE_AND_ACTIVE, MANDATORY, LIST_VIEW, GROUP_VIEW, SHOW_VALUES, HIDE_VALUES, FIELD, COLLAPSE_HEADER, EXPAND_HEADER, PIN_HEADER, UNPIN_HEADER, SEPARATOR, AVAILABLE_ACTIONS, X_OF_Y, MY_VIEWS, SAVE_VIEW, MANAGE_VIEWS, VIEW, VARIANT_MANAGEMENT_ERROR_DUPLICATE, SPECIFY_VIEW_NAME, SET_AS_DEFAULT, PUBLIC, APPLY_AUTOMATICALLY, SHARING, DEFAULT, CREATED_BY, MANAGE, PRIVATE, MARK_AS_STANDARD, MARK_AS_FAVORITE, DELETE_VIEW, SELECT_VIEW, SEARCH_VARIANT, ALL, SEARCH, SAVE_AS, RESET, SELECTED_AS_FAVORITE, UNSELECTED_AS_FAVORITE, SELECT, SELECTED, PRESS_ARROW_KEYS_TO_MOVE, LIST_NO_DATA, EXPAND_NODE, COLLAPSE_NODE, EXPAND_PRESS_SPACE, COLLAPSE_PRESS_SPACE, SELECT_PRESS_SPACE, UNSELECT_PRESS_SPACE, INVALID_TABLE, FILTERED, ARIA_DESC_CARD_HEADER, SEMANTIC_COLOR_CRITICAL, SEMANTIC_COLOR_GOOD, SEMANTIC_COLOR_NEUTRAL, SEMANTIC_COLOR_ERROR, NUMERICCONTENT_DEVIATION_UP, NUMERICCONTENT_DEVIATION_DOWN, ARIA_OBJ_STATUS_DESC, ARIA_OBJ_STATUS_DESC_INACTIVE, INDICATION_COLOR, EMPTY_VALUE, SELECT_ALL, DESELECT_ALL, SHOW_FULL_TEXT, CLOSE_POPOVER };","import { ThemingParameters } from '@ui5/webcomponents-react-base';\nexport const TextStyles = {\n // Text Style\n text: {\n fontFamily: ThemingParameters.sapFontFamily,\n fontSize: ThemingParameters.sapFontSize,\n fontWeight: 'normal',\n color: ThemingParameters.sapTextColor,\n display: 'inline-block',\n boxSizing: 'border-box',\n whiteSpace: 'pre-line',\n wordWrap: 'break-word',\n maxWidth: '100%',\n '&::selection': {\n background: ThemingParameters.sapSelectedColor,\n color: ThemingParameters.sapContent_ContrastTextColor\n }\n },\n renderWhitespace: {\n whiteSpace: 'pre-wrap'\n },\n noWrap: {\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n wordWrap: 'normal',\n overflow: 'hidden',\n '&$renderWhitespace': {\n whiteSpace: 'pre'\n }\n },\n maxLines: {\n display: '-webkit-box',\n WebkitBoxOrient: 'vertical',\n overflow: 'hidden',\n WebkitLineClamp: 'var(--_ui5wcr_maxLines)'\n },\n hyphenated: {\n hyphens: 'auto'\n },\n emptyIndicator: {\n lineHeight: 'normal',\n color: ThemingParameters.sapTextColor\n },\n pseudoInvisibleText: {\n fontSize: 0,\n position: 'absolute',\n userSelect: 'none',\n left: 0,\n top: 0\n }\n};","'use client';\n\nimport { useI18nBundle } from '@ui5/webcomponents-react-base';\nimport { clsx } from 'clsx';\nimport React, { forwardRef } from 'react';\nimport { createUseStyles } from 'react-jss';\nimport { EMPTY_VALUE } from '../../i18n/i18n-defaults.js';\nimport { TextStyles } from './Text.jss.js';\nconst useStyles = createUseStyles(TextStyles, {\n name: 'Text'\n});\n/**\n * The `Text` component can be used for embedding text into your app. You can hyphenate the text with the use of the `wrapping` prop.\n *\n * __Note:__ Line breaks will always be visualized except when the wrapping property is set to false. In addition, tabs and whitespace can be preserved by setting the renderWhitespace property to true.\n */\nconst Text = /*#__PURE__*/forwardRef((props, ref) => {\n const {\n children,\n renderWhitespace,\n wrapping = true,\n className,\n style,\n maxLines,\n hyphenated,\n emptyIndicator,\n ...rest\n } = props;\n const classes = useStyles();\n const i18nBundle = useI18nBundle('@ui5/webcomponents-react');\n const classNameString = clsx(classes.text, wrapping === false && classes.noWrap, renderWhitespace && classes.renderWhitespace, typeof maxLines === 'number' && classes.maxLines, hyphenated && classes.hyphenated, className);\n const showEmptyIndicator = emptyIndicator && !children;\n const computedChildren = showEmptyIndicator ? /*#__PURE__*/React.createElement(\"span\", {\n \"aria-hidden\": showEmptyIndicator,\n \"data-component-name\": \"TextEmptyIndicator\",\n className: classes.emptyIndicator\n }, \"\\u2013\") : children;\n return /*#__PURE__*/React.createElement(\"span\", {\n ref: ref,\n style: {\n '--_ui5wcr_maxLines': typeof maxLines === 'number' ? maxLines : undefined,\n ...style\n },\n className: classNameString,\n ...rest\n }, computedChildren, showEmptyIndicator && /*#__PURE__*/React.createElement(\"span\", {\n className: classes.pseudoInvisibleText,\n \"data-component-name\": \"TextEmptyTextContainer\"\n }, i18nBundle.getText(EMPTY_VALUE)));\n});\nText.displayName = 'Text';\nexport { Text };","import { CssSizeVariables, ThemingParameters } from '@ui5/webcomponents-react-base';\nimport { CustomThemingParameters } from '../../themes/CustomVariables.js';\nconst styles = {\n table: {\n position: 'relative',\n width: '100%',\n maxWidth: '100%',\n overflowY: 'hidden',\n overflowX: 'auto',\n height: '100%',\n minHeight: '3rem',\n fontFamily: ThemingParameters.sapFontFamily,\n fontSize: ThemingParameters.sapFontSize,\n fontWeight: 'normal',\n backgroundColor: ThemingParameters.sapList_Background,\n // bottom border\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n insetBlockEnd: 0,\n insetInlineStart: 0,\n height: '1px',\n width: '100%',\n background: ThemingParameters.sapList_TableFooterBorder\n }\n },\n tableContainerWithScrollBar: {\n position: 'relative'\n },\n overlay: {\n position: 'absolute',\n zIndex: 1,\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n background: ThemingParameters.sapGroup_ContentBackground,\n opacity: 0.8,\n '&:focus': {\n outlineOffset: `calc(-1 * ${ThemingParameters.sapContent_FocusWidth})`,\n outline: `${ThemingParameters.sapContent_FocusWidth} ${ThemingParameters.sapContent_FocusStyle} ${ThemingParameters.sapContent_FocusColor}`\n }\n },\n tableHeaderRow: {\n height: CssSizeVariables.ui5WcrAnalyticalTableHeaderRowHeight,\n '& div:first-child $th': {\n borderInlineStart: `1px solid ${ThemingParameters.sapList_BorderColor}`\n }\n },\n hasNavigationIndicator: {\n '& $tableHeaderRow :nth-last-child(2) $th': {\n borderInlineEnd: 'none'\n },\n '& $tr :nth-last-child(2)': {\n borderInlineEnd: 'none'\n }\n },\n tableHeaderBackgroundElement: {\n boxSizing: 'border-box',\n position: 'absolute',\n left: 0,\n right: 0,\n height: CssSizeVariables.ui5WcrAnalyticalTableHeaderRowHeight,\n backgroundColor: ThemingParameters.sapList_HeaderBackground,\n borderBlockStart: CustomThemingParameters.AnalyticalTableOuterBorderBlock,\n borderBlockEnd: `${CustomThemingParameters.AnalyticalTableHeaderBorderWidth} solid ${ThemingParameters.sapList_HeaderBorderColor}`\n },\n tableBodyBackgroundElement: {\n boxSizing: 'border-box',\n position: 'absolute',\n left: 0,\n right: 0,\n bottom: 0,\n borderBlockEnd: `1px solid ${ThemingParameters.sapList_TableFooterBorder}`\n },\n th: {\n height: CssSizeVariables.ui5WcrAnalyticalTableHeaderRowHeight,\n color: ThemingParameters.sapList_HeaderTextColor,\n backgroundColor: ThemingParameters.sapList_HeaderBackground,\n borderBlockStart: CustomThemingParameters.AnalyticalTableOuterBorderBlock,\n borderBlockEnd: `${CustomThemingParameters.AnalyticalTableHeaderBorderWidth} solid ${ThemingParameters.sapList_HeaderBorderColor}`,\n borderInlineEnd: `1px solid ${ThemingParameters.sapList_BorderColor}`,\n paddingInline: ` 0.5rem`,\n textAlign: 'start',\n boxSizing: 'border-box',\n '&:hover': {\n backgroundColor: ThemingParameters.sapList_Hover_Background,\n color: CustomThemingParameters.AnalyticalTableHeaderActiveTextColor\n },\n '&:active': {\n backgroundColor: ThemingParameters.sapList_Active_Background,\n color: CustomThemingParameters.AnalyticalTableHeaderActiveTextColor\n },\n '&[data-column-id=\"__ui5wcr__internal_highlight_column\"]': {\n borderInlineEnd: '1px solid transparent'\n },\n '&:last-child': {\n '& [data-resizer]': {\n transform: 'translateX(0px)'\n }\n },\n '&:focus': {\n '&[data-column-id=\"__ui5wcr__internal_selection_column\"]': {\n borderInlineStart: '1px solid transparent'\n },\n outlineOffset: `calc(-1 * ${ThemingParameters.sapContent_FocusWidth})`,\n outline: `${ThemingParameters.sapContent_FocusWidth} ${ThemingParameters.sapContent_FocusStyle} ${ThemingParameters.sapContent_FocusColor}`\n }\n },\n tbody: {\n position: 'relative',\n overflowX: 'hidden',\n overflowY: 'auto',\n scrollbarWidth: 'none',\n boxSizing: 'border-box',\n '-ms-overflow-style': 'none',\n '&::-webkit-scrollbar': {\n width: '0 !important',\n height: '0 !important',\n display: 'none !important'\n }\n },\n alternateRowColor: {\n backgroundColor: ThemingParameters.sapList_AlternatingBackground\n },\n tr: {\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n color: ThemingParameters.sapList_TextColor,\n borderBlockEnd: `1px solid ${ThemingParameters.sapList_BorderColor}`,\n // needed for vertical virtualization\n marginBottom: '-1px',\n boxSizing: 'border-box',\n display: 'flex',\n '&:hover:not([data-empty-row])': {\n backgroundColor: ThemingParameters.sapList_Hover_Background\n },\n '&[data-is-selected]': {\n borderBlockEnd: `1px solid ${ThemingParameters.sapList_SelectionBorderColor}`,\n backgroundColor: ThemingParameters.sapList_SelectionBackgroundColor\n },\n '&[data-is-selected]:hover': {\n backgroundColor: ThemingParameters.sapList_Hover_SelectionBackground\n }\n },\n trActive: {\n '&:hover': {\n cursor: 'pointer'\n },\n '&:active': {\n backgroundColor: ThemingParameters.sapList_Active_Background,\n '& $tableCell': {\n borderInlineEnd: `1px solid ${ThemingParameters.sapList_Active_Background}`,\n color: `${ThemingParameters.sapList_Active_TextColor}`,\n '--sapTextColor': ThemingParameters.sapList_Active_TextColor\n }\n }\n },\n tableGroupHeader: {\n '&$tr': {\n fontFamily: CustomThemingParameters.AnalyticalTableHeaderFontFamily,\n backgroundColor: `${ThemingParameters.sapList_TableGroupHeaderBackground}`,\n borderColor: ThemingParameters.sapList_TableGroupHeaderBorderColor,\n color: ThemingParameters.sapList_TextColor,\n '& $tableCell': {\n borderInlineEnd: `1px solid transparent`\n }\n }\n },\n tableText: {\n display: 'inline-block',\n fontSize: ThemingParameters.sapFontSize,\n maxWidth: '100%',\n boxSizing: 'border-box',\n fontWeight: 'normal',\n overflow: 'hidden',\n wordWrap: 'normal',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n },\n tableCell: {\n height: '100%',\n boxSizing: 'border-box',\n borderInlineEnd: `1px solid ${ThemingParameters.sapList_BorderColor}`,\n display: 'inline-flex',\n padding: '0 0.5rem',\n '&:first-child': {\n borderInlineStart: CustomThemingParameters.AnalyticalTableOuterCellBorder\n },\n '&:last-child': {\n borderInlineEnd: CustomThemingParameters.AnalyticalTableOuterCellBorder\n },\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n alignItems: 'center',\n position: 'relative',\n '&:focus': {\n outlineOffset: `calc(-1 * ${ThemingParameters.sapContent_FocusWidth})`,\n outline: `${ThemingParameters.sapContent_FocusWidth} ${ThemingParameters.sapContent_FocusStyle} ${ThemingParameters.sapContent_FocusColor}`,\n '&[data-empty-row-cell]': {\n outline: 'none'\n }\n }\n },\n showVerticalEndBorder: {\n '& $tableCell': {\n borderInlineEnd: `1px solid ${ThemingParameters.sapList_BorderColor}`\n }\n },\n noDataContainer: {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n height: '100%',\n backgroundColor: ThemingParameters.sapList_Background,\n width: '100%',\n boxSizing: 'border-box',\n color: ThemingParameters.sapList_TextColor,\n fontFamily: ThemingParameters.sapFontFamily,\n fontSize: ThemingParameters.sapFontSize,\n fontWeight: 'normal',\n borderBlockEnd: `1px solid ${ThemingParameters.sapList_BorderColor}`\n },\n valueStateSuccess: {\n backgroundColor: ThemingParameters.sapSuccessColor\n },\n valueStateError: {\n backgroundColor: ThemingParameters.sapErrorColor\n },\n valueStateWarning: {\n backgroundColor: ThemingParameters.sapWarningColor\n },\n valueStateInformation: {\n backgroundColor: ThemingParameters.sapInformationColor\n },\n hiddenSmartColMeasure: {\n visibility: 'hidden',\n position: 'fixed',\n whiteSpace: 'nowrap',\n height: 0\n },\n hiddenSmartColMeasureHeader: {\n fontFamily: CustomThemingParameters.AnalyticalTableHeaderFontFamily\n },\n hiddenA11yText: {\n display: 'none'\n },\n checkBox: {\n '&::part(root)': {\n display: 'flex',\n width: 'unset',\n height: 'unset',\n justifyContent: 'center',\n minHeight: 'unset',\n minWidth: 'unset',\n padding: 0\n }\n }\n};\nexport default styles;","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\nimport { ICON_FILTER } from \"../generated/i18n/i18n-defaults.js\";\n\nconst name = \"filter\";\nconst pathData = \"M447.897 32q20 0 28.5 17t-2.5 33q-12 12-23 26-11 12-23 27t-26 30q-32 36-73 82-9 9-9 23v114l-101 91q-4 5-11 5-6 0-11-4t-5-12V270q0-13-10-23l-72-82q-14-15-27-30t-23-26.5-16-19l-6-7.5q-11-16-2.5-33t28.5-17h384zm-142 193q40-45 71-80 13-15 25.5-29.5t22.5-26 16.5-18.5l6.5-7h-384l6 7.5 16 18.5 22.5 25.5 26.5 29.5q31 35 71 80 18 20 18 45v158l64-58V270q0-27 18-45z\";\nconst ltr = false;\nconst accData = ICON_FILTER;\nconst collection = \"SAP-icons-v4\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, accData, collection, packageName });\n\nexport default \"SAP-icons-v4/filter\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\nimport { ICON_FILTER } from \"../generated/i18n/i18n-defaults.js\";\n\nconst name = \"filter\";\nconst pathData = \"M218 480q-11 0-18.5-7.5T192 454V265L38 74q-6-8-6-16 0-11 7.5-18.5T58 32h396q11 0 18.5 7.5T480 58q0 8-6 16L320 265v125q0 12-9 20l-77 64q-7 6-16 6zM111 83l126 157q6 6 6 16v144l26-22V256q0-9 5-16L401 83H111z\";\nconst ltr = false;\nconst accData = ICON_FILTER;\nconst collection = \"SAP-icons-v5\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, accData, collection, packageName });\n\nexport default \"SAP-icons-v5/filter\";\nexport { pathData, ltr, accData };","import { isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { pathData as pathDatav4, ltr, accData } from \"./v4/filter.js\";\nimport { pathData as pathDatav5 } from \"./v5/filter.js\";\n\nconst pathData = isLegacyThemeFamily() ? pathDatav4 : pathDatav5;\n\nexport default \"filter\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\nimport { ICON_GROUP_2 } from \"../generated/i18n/i18n-defaults.js\";\n\nconst name = \"group-2\";\nconst pathData = \"M415 64h64q14 0 23 9t9 23v320q0 13-9 22.5t-23 9.5h-64v-32h64V96h-64V64zM-1 416V96q0-14 9.5-23T31 64h64v32H31v320h64v32H31q-13 0-22.5-9.5T-1 416zm144-96h224q16 0 16 16 0 6-4.5 11t-11.5 5H143q-6 0-11-5t-5-11q0-7 5-11.5t11-4.5zm0-96h224q16 0 16 16 0 6-4.5 11t-11.5 5H143q-6 0-11-5t-5-11q0-7 5-11.5t11-4.5zm-16-80q0-7 5-11.5t11-4.5h224q16 0 16 16 0 6-4.5 11t-11.5 5H143q-6 0-11-5t-5-11z\";\nconst ltr = false;\nconst accData = ICON_GROUP_2;\nconst collection = \"SAP-icons-v4\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, accData, collection, packageName });\n\nexport default \"SAP-icons-v4/group-2\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\nimport { ICON_GROUP_2 } from \"../generated/i18n/i18n-defaults.js\";\n\nconst name = \"group-2\";\nconst pathData = \"M454 480h-44q-11 0-18.5-7.5T384 454t7.5-18 18.5-7h44q7 0 7-7V90q0-7-7-7h-44q-11 0-18.5-7T384 58t7.5-18.5T410 32h44q24 0 41 17t17 41v332q0 24-17 41t-41 17zm-352 0H58q-24 0-41-17T0 422V90q0-24 17-41t41-17h44q11 0 18.5 7.5T128 58t-7.5 18-18.5 7H58q-7 0-7 7v332q0 7 7 7h44q11 0 18.5 7t7.5 18-7.5 18.5T102 480zm256-301H154q-11 0-18.5-7t-7.5-18 7.5-18.5T154 128h204q11 0 18.5 7.5T384 154t-7.5 18-18.5 7zm0 96H154q-11 0-18.5-7t-7.5-18 7.5-18.5T154 224h204q11 0 18.5 7.5T384 250t-7.5 18-18.5 7zm-96 96H154q-11 0-18.5-7t-7.5-18 7.5-18.5T154 320h108q11 0 18.5 7.5T288 346t-7.5 18-18.5 7z\";\nconst ltr = false;\nconst accData = ICON_GROUP_2;\nconst collection = \"SAP-icons-v5\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, accData, collection, packageName });\n\nexport default \"SAP-icons-v5/group-2\";\nexport { pathData, ltr, accData };","import { isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { pathData as pathDatav4, ltr, accData } from \"./v4/group-2.js\";\nimport { pathData as pathDatav5 } from \"./v5/group-2.js\";\n\nconst pathData = isLegacyThemeFamily() ? pathDatav4 : pathDatav5;\n\nexport default \"group-2\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\nimport { ICON_SORT_ASCENDING } from \"../generated/i18n/i18n-defaults.js\";\n\nconst name = \"sort-ascending\";\nconst pathData = \"M82 288h351l15 32H65zm-48 96h446l15 32H17zm366-160H113l16-32h255zm-47-96H161l17-32h158z\";\nconst ltr = false;\nconst accData = ICON_SORT_ASCENDING;\nconst collection = \"SAP-icons-v4\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, accData, collection, packageName });\n\nexport default \"SAP-icons-v4/sort-ascending\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\nimport { ICON_SORT_ASCENDING } from \"../generated/i18n/i18n-defaults.js\";\n\nconst name = \"sort-ascending\";\nconst pathData = \"M358 147H154q-11 0-18.5-7t-7.5-18 7.5-18.5T154 96h204q11 0 18.5 7.5T384 122t-7.5 18-18.5 7zm64 128H90q-11 0-18.5-7T64 250t7.5-18.5T90 224h332q11 0 18.5 7.5T448 250t-7.5 18-18.5 7zm64 128H26q-11 0-18.5-7T0 378t7.5-18.5T26 352h460q11 0 18.5 7.5T512 378t-7.5 18-18.5 7z\";\nconst ltr = false;\nconst accData = ICON_SORT_ASCENDING;\nconst collection = \"SAP-icons-v5\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, accData, collection, packageName });\n\nexport default \"SAP-icons-v5/sort-ascending\";\nexport { pathData, ltr, accData };","import { isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { pathData as pathDatav4, ltr, accData } from \"./v4/sort-ascending.js\";\nimport { pathData as pathDatav5 } from \"./v5/sort-ascending.js\";\n\nconst pathData = isLegacyThemeFamily() ? pathDatav4 : pathDatav5;\n\nexport default \"sort-ascending\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\nimport { ICON_SORT_DESCENDING } from \"../generated/i18n/i18n-defaults.js\";\n\nconst name = \"sort-descending\";\nconst pathData = \"M17 96h478l-15 32H34zm431 96l-15 32H82l-17-32h383zm-335 96h287l-16 32H129zm48 96h192l-16 32H177z\";\nconst ltr = false;\nconst accData = ICON_SORT_DESCENDING;\nconst collection = \"SAP-icons-v4\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, accData, collection, packageName });\n\nexport default \"SAP-icons-v4/sort-descending\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\nimport { ICON_SORT_DESCENDING } from \"../generated/i18n/i18n-defaults.js\";\n\nconst name = \"sort-descending\";\nconst pathData = \"M486 96q11 0 18.5 7.5T512 122t-7.5 18-18.5 7H26q-11 0-18.5-7T0 122t7.5-18.5T26 96h460zm-64 128q11 0 18.5 7.5T448 250t-7.5 18-18.5 7H90q-11 0-18.5-7T64 250t7.5-18.5T90 224h332zm-64 128q11 0 18.5 7.5T384 378t-7.5 18-18.5 7H154q-11 0-18.5-7t-7.5-18 7.5-18.5T154 352h204z\";\nconst ltr = false;\nconst accData = ICON_SORT_DESCENDING;\nconst collection = \"SAP-icons-v5\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, accData, collection, packageName });\n\nexport default \"SAP-icons-v5/sort-descending\";\nexport { pathData, ltr, accData };","import { isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { pathData as pathDatav4, ltr, accData } from \"./v4/sort-descending.js\";\nimport { pathData as pathDatav5 } from \"./v5/sort-descending.js\";\n\nconst pathData = isLegacyThemeFamily() ? pathDatav4 : pathDatav5;\n\nexport default \"sort-descending\";\nexport { pathData, ltr, accData };","'use client';\n\nimport '@ui5/webcomponents/dist/Icon.js';\nimport { withWebComponent } from '../../internal/withWebComponent.js';\n/**\n * The `Icon` component represents an SVG icon. There are two main scenarios how the `Icon` component is used: as a purely decorative element,\n * or as an interactive element that can be focused and clicked.\n *\n * ### Usage\n *\n * 1\\. **Get familiar with the icons collections.**\n * Before displaying an icon, you need to explore the icons collections to find and import the desired icon.\n * Currently there are 3 icons collection, available as 3 npm packages:\n *\n * * [@ui5/webcomponents-icons](https://www.npmjs.com/package/@ui5/webcomponents-icons) represents the \"SAP-icons\" collection and includes the following [icons](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html#/overview/SAP-icons).\n * * [@ui5/webcomponents-icons-tnt](https://www.npmjs.com/package/@ui5/webcomponents-icons-tnt) represents the \"tnt\" collection and includes the following [icons](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html#/overview/SAP-icons-TNT).\n * * [@ui5/webcomponents-icons-icons-business-suite](https://www.npmjs.com/package/@ui5/webcomponents-icons-business-suite) represents the \"business-suite\" collection and includes the following [icons](https://ui5.sap.com/test-resources/sap/m/demokit/iconExplorer/webapp/index.html#/overview/BusinessSuiteInAppSymbols).\n *\n * 2\\. **After exploring the icons collections, add one or more of the packages as dependencies to your project.**\n * `npm i @ui5/webcomponents-icons`\n * `npm i @ui5/webcomponents-icons-tnt`\n * `npm i @ui5/webcomponents-icons-business-suite`\n *\n * 3\\. **Then, import the desired icon**.\n * `import \"@ui5/{package_name}/dist/{icon_name}.js\";`\n *\n * **For Example**:\n * For the standard \"SAP-icons\" icon collection, import an icon from the `@ui5/webcomponents-icons` package:\n * `import \"@ui5/webcomponents-icons/dist/employee.js\";`\n *\n * For the \"tnt\" (SAP Fiori Tools) icon collection, import an icon from the `@ui5/webcomponents-icons-tnt` package:\n * `import \"@ui5/webcomponents-icons-tnt/dist/antenna.js\";`\n *\n * For the \"business-suite\" (SAP Business Suite) icon collection, import an icon from the `@ui5/webcomponents-icons-business-suite` package:\n * `import \"@ui5/webcomponents-icons-business-suite/dist/ab-testing.js\";`\n *\n * 4\\. **Display the icon using the `Icon` web component.**\n * Set the icon collection (\"SAP-icons\", \"tnt\" or \"business-suite\" - \"SAP-icons\" is the default icon collection and can be skipped)\n * and the icon name to the `name` property.\n *\n * ``\n * ``\n * ``\n *\n *\n * ### Keyboard Handling\n *\n * * \\[SPACE, ENTER, RETURN\\] - Fires the `click` event if the `interactive` property is set to true.\n * * \\[SHIFT\\] - If \\[SPACE\\] or \\[ENTER\\],\\[RETURN\\] is pressed, pressing \\[SHIFT\\] releases the ui5-icon without triggering the click event.\n *\n * __Note__: This is a UI5 Web Component! [Repository](https://github.com/SAP/ui5-webcomponents) | [Documentation](https://sap.github.io/ui5-webcomponents/playground/)\n */\nconst Icon = withWebComponent('ui5-icon', ['accessibleName', 'accessibleRole', 'design', 'name'], ['interactive', 'showTooltip'], [], []);\nIcon.displayName = 'Icon';\nexport { Icon };","export let TextAlign = /*#__PURE__*/function (TextAlign) {\n TextAlign[\"Begin\"] = \"Begin\";\n TextAlign[\"End\"] = \"End\";\n TextAlign[\"Left\"] = \"Left\";\n TextAlign[\"Right\"] = \"Right\";\n TextAlign[\"Center\"] = \"Center\";\n TextAlign[\"Initial\"] = \"Initial\";\n return TextAlign;\n}({});","import { useEffect, useState } from 'react';\nexport function useServerSideEffect(effect) {\n useEffect(effect, []);\n}\nexport function useCanRenderPortal() {\n const [allowed, setAllowed] = useState(false);\n useEffect(() => {\n setAllowed(true);\n }, []);\n return allowed;\n}","export const stopPropagation = e => {\n e.stopPropagation();\n e.stopImmediatePropagation?.();\n};","/* eslint no-unused-vars: 0 */\nimport { html, svg, repeat, classMap, styleMap, ifDefined, unsafeHTML, scopeTag } from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\timport type CustomListItem from \"../../CustomListItem.js\";\n\timport type { ClassMapValue } from \"@ui5/webcomponents-base/dist/types.js\";\n\t\nfunction block0 (this: CustomListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
  • ${ this.placeSelectionElementBefore ? block1.call(this, context, tags, suffix) : undefined }
    ${ this.typeDetail ? block7.call(this, context, tags, suffix) : undefined }${ this.typeNavigation ? block8.call(this, context, tags, suffix) : undefined }${ this.navigated ? block9.call(this, context, tags, suffix) : undefined }${ this.placeSelectionElementAfter ? block10.call(this, context, tags, suffix) : undefined }${ifDefined(this._accInfo.listItemAriaLabel)}${ifDefined(this.accessibleName)}${ifDefined(this._accInfo.ariaSelectedText)}
  • `;}\nfunction block1 (this: CustomListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.modeSingleSelect ? block2.call(this, context, tags, suffix) : undefined }${ this.modeMultiSelect ? block3.call(this, context, tags, suffix) : undefined }${ this.renderDeleteButton ? block4.call(this, context, tags, suffix) : undefined }`;}\nfunction block2 (this: CustomListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-radio-button\", tags, suffix)} part=\"radio\" ?disabled=\"${this.isInactive}\" accessible-name=\"${ifDefined(this._accInfo.ariaLabelRadioButton)}\" tabindex=\"-1\" id=\"${ifDefined(this._id)}-singleSelectionElement\" class=\"ui5-li-singlesel-radiobtn\" ?checked=\"${this.selected}\" @click=\"${this.onSingleSelectionComponentPress}\">` : html``;}\nfunction block3 (this: CustomListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-checkbox\", tags, suffix)} part=\"checkbox\" ?disabled=\"${this.isInactive}\" ?indeterminate=${this.indeterminate} tabindex=\"-1\" id=\"${ifDefined(this._id)}-multiSelectionElement\" class=\"ui5-li-multisel-cb\" ?checked=\"${this.selected}\" accessible-name=\"${ifDefined(this._accInfo.ariaLabel)}\" @click=\"${this.onMultiSelectionComponentPress}\">` : html``;}\nfunction block4 (this: CustomListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    ${ this.hasDeleteButtonSlot ? block5.call(this, context, tags, suffix) : block6.call(this, context, tags, suffix) }
    `;}\nfunction block5 (this: CustomListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html``;}\nfunction block6 (this: CustomListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-button\", tags, suffix)} part=\"delete-button\" tabindex=\"-1\" data-sap-no-tab-ref id=\"${ifDefined(this._id)}-deleteSelectionElement\" design=\"Transparent\" icon=\"decline\" ?disabled=\"${this.disableDeleteButton}\" @click=\"${this.onDelete}\" tooltip=\"${ifDefined(this.deleteText)}\">` : html``;}\nfunction block7 (this: CustomListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`
    <${scopeTag(\"ui5-button\", tags, suffix)} part=\"detail-button\" design=\"Transparent\" icon=\"edit\" @click=\"${this.onDetailClick}\">
    ` : html`
    `;}\nfunction block8 (this: CustomListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-icon\", tags, suffix)} name =\"slim-arrow-right\">` : html``;}\nfunction block9 (this: CustomListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    `;}\nfunction block10 (this: CustomListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.modeSingleSelect ? block11.call(this, context, tags, suffix) : undefined }${ this.modeMultiSelect ? block12.call(this, context, tags, suffix) : undefined }${ this.renderDeleteButton ? block13.call(this, context, tags, suffix) : undefined }`;}\nfunction block11 (this: CustomListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-radio-button\", tags, suffix)} part=\"radio\" ?disabled=\"${this.isInactive}\" accessible-name=\"${ifDefined(this._accInfo.ariaLabelRadioButton)}\" tabindex=\"-1\" id=\"${ifDefined(this._id)}-singleSelectionElement\" class=\"ui5-li-singlesel-radiobtn\" ?checked=\"${this.selected}\" @click=\"${this.onSingleSelectionComponentPress}\">` : html``;}\nfunction block12 (this: CustomListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-checkbox\", tags, suffix)} part=\"checkbox\" ?disabled=\"${this.isInactive}\" ?indeterminate=${this.indeterminate} tabindex=\"-1\" id=\"${ifDefined(this._id)}-multiSelectionElement\" class=\"ui5-li-multisel-cb\" ?checked=\"${this.selected}\" accessible-name=\"${ifDefined(this._accInfo.ariaLabel)}\" @click=\"${this.onMultiSelectionComponentPress}\">` : html``;}\nfunction block13 (this: CustomListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    ${ this.hasDeleteButtonSlot ? block14.call(this, context, tags, suffix) : block15.call(this, context, tags, suffix) }
    `;}\nfunction block14 (this: CustomListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html``;}\nfunction block15 (this: CustomListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-button\", tags, suffix)} part=\"delete-button\" tabindex=\"-1\" data-sap-no-tab-ref id=\"${ifDefined(this._id)}-deleteSelectionElement\" design=\"Transparent\" icon=\"decline\" ?disabled=\"${this.disableDeleteButton}\" @click=\"${this.onDelete}\" tooltip=\"${ifDefined(this.deleteText)}\">` : html``;}\n\n\nexport default block0;","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents\",fileName:\"themes/CustomListItem.css.ts\",content:`:host(:not([hidden])){display:block}:host{min-height:var(--_ui5-v1-22-0-rc-3_list_item_base_height);height:auto;box-sizing:border-box}.ui5-li-root.ui5-custom-li-root{pointer-events:inherit;min-height:inherit}.ui5-li-root.ui5-custom-li-root .ui5-li-content{pointer-events:inherit}[ui5-checkbox].ui5-li-singlesel-radiobtn,[ui5-radio-button].ui5-li-singlesel-radiobtn{display:flex;align-items:center}.ui5-li-root.ui5-custom-li-root,[ui5-checkbox].ui5-li-singlesel-radiobtn,[ui5-radio-button].ui5-li-singlesel-radiobtn{min-width:var(--_ui5-v1-22-0-rc-3_custom_list_item_rb_min_width)}\n`};\nexport default styleData;\n\t","import { isTabNext, isTabPrevious } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { ClassMap } from \"@ui5/webcomponents-base/dist/types.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport ListItem from \"./ListItem.js\";\nimport CustomListItemTemplate from \"./generated/templates/CustomListItemTemplate.lit.js\";\n\n// Styles\nimport customListItemCss from \"./generated/themes/CustomListItem.css.js\";\n\n/**\n * @class\n *\n * A component to be used as custom list item within the ui5-list\n * the same way as the standard ui5-li.\n *\n * The component accepts arbitrary HTML content to allow full customization.\n *\n * @csspart native-li - Used to style the main li tag of the list item\n * @csspart content - Used to style the content area of the list item\n * @csspart detail-button - Used to style the button rendered when the list item is of type detail\n * @csspart delete-button - Used to style the button rendered when the list item is in delete mode\n * @csspart radio - Used to style the radio button rendered when the list item is in single selection mode\n * @csspart checkbox - Used to style the checkbox rendered when the list item is in multiple selection mode\n *\n * @slot {Node[]} default - Defines the content of the component.\n *\n * @constructor\n * @extends ListItem\n * @public\n */\n@customElement({\n\ttag: \"ui5-li-custom\",\n\ttemplate: CustomListItemTemplate,\n\tstyles: [ListItem.styles, customListItemCss],\n})\nclass CustomListItem extends ListItem {\n\t/**\n\t * Defines the text alternative of the component.\n\t * Note: If not provided a default text alternative will be set, if present.\n\t *\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\tdeclare accessibleName: string;\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tconst isTab = isTabNext(e) || isTabPrevious(e);\n\n\t\tif (!isTab && !this.focused) {\n\t\t\treturn;\n\t\t}\n\n\t\tsuper._onkeydown(e);\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tconst isTab = isTabNext(e) || isTabPrevious(e);\n\n\t\tif (!isTab && !this.focused) {\n\t\t\treturn;\n\t\t}\n\n\t\tsuper._onkeyup(e);\n\t}\n\n\tget classes(): ClassMap {\n\t\tconst result = super.classes;\n\n\t\tresult.main[\"ui5-custom-li-root\"] = true;\n\n\t\treturn result;\n\t}\n}\n\nCustomListItem.define();\n\nexport default CustomListItem;\n","'use client';\n\nimport '@ui5/webcomponents/dist/CustomListItem.js';\nimport { withWebComponent } from '../../internal/withWebComponent.js';\n/**\n * A component to be used as custom list item within the `List` the same way as the standard `StandardListItem`. The component accepts arbitrary HTML content to allow full customization.\n *\n * __Note__: This is a UI5 Web Component! [Repository](https://github.com/SAP/ui5-webcomponents) | [Documentation](https://sap.github.io/ui5-webcomponents/playground/)\n */\nconst CustomListItem = withWebComponent('ui5-li-custom', ['accessibleName', 'type'], ['navigated', 'selected'], ['deleteButton'], ['detail-click']);\nCustomListItem.displayName = 'CustomListItem';\nexport { CustomListItem };","'use client';\n\nimport '@ui5/webcomponents/dist/List.js';\nimport { withWebComponent } from '../../internal/withWebComponent.js';\n/**\n * The `List` component allows displaying a list of items, advanced keyboard handling support for navigating between items, and predefined modes to improve the development efficiency.\n *\n * The `List` is a container for the available list items:\n *\n * * `StandardListItem`\n * * `CustomListItem`\n * * `GroupHeaderListItem`\n *\n *\n *\n * To benefit from the built-in selection mechanism, you can use the available selection modes, such as `SingleSelect`, `MultiSelect` and `Delete`.\n *\n * Additionally, the `List` provides header, footer, and customization for the list item separators.\n *\n *\n * ### Keyboard Handling\n *\n * #### Basic Navigation\n *\n * The `List` provides advanced keyboard handling. When a list is focused the user can use the following keyboard shortcuts in order to perform a navigation:\n *\n * * \\[UP/DOWN\\] - Navigates up and down the items\n * * \\[HOME\\] - Navigates to first item\n * * \\[END\\] - Navigates to the last item\n *\n * The user can use the following keyboard shortcuts to perform actions (such as select, delete), when the `mode` property is in use:\n *\n * * \\[SPACE\\] - Select an item (if `type` is 'Active') when `mode` is selection\n * * \\[DELETE\\] - Delete an item if `mode` property is `Delete`\n *\n * #### Fast Navigation\n *\n * This component provides a build in fast navigation group which can be used via `F6 / Shift + F6` or `Ctrl + Alt(Option) + Down / Ctrl + Alt(Option) + Up`. In order to use this functionality, you need to import the following module: `import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"`\n *\n *\n * `import \"@ui5/webcomponents/dist/StandardListItem.js\";` (for `StandardListItem`)\n * `import \"@ui5/webcomponents/dist/CustomListItem.js\";` (for `CustomListItem`)\n * `import \"@ui5/webcomponents/dist/GroupHeaderListItem.js\";` (for `GroupHeaderListItem`)\n *\n * __Note__: This is a UI5 Web Component! [Repository](https://github.com/SAP/ui5-webcomponents) | [Documentation](https://sap.github.io/ui5-webcomponents/playground/)\n */\nconst List = withWebComponent('ui5-list', ['accessibleName', 'accessibleNameRef', 'accessibleRole', 'busyDelay', 'footerText', 'growing', 'headerText', 'mode', 'noDataText', 'separators'], ['busy', 'indent'], ['header'], ['item-click', 'item-close', 'item-delete', 'item-toggle', 'load-more', 'selection-change']);\nList.displayName = 'List';\nexport { List };","'use client';\n\nimport '@ui5/webcomponents/dist/Popover.js';\nimport { withWebComponent } from '../../internal/withWebComponent.js';\n/**\n * The `Popover` component displays additional information for an object in a compact way and without leaving the page. The Popover can contain various UI elements, such as fields, tables, images, and charts. It can also include actions in the footer.\n *\n * ### Structure\n *\n * The popover has three main areas:\n *\n * * Header (optional)\n * * Content\n * * Footer (optional)\n *\n * **Note:** The `Popover` is closed when the user clicks or taps outside the popover or selects an action within the popover. You can prevent this with the `modal` property. **Note:** We recommend placing popup-like components (`Dialog` and `Popover`) outside any other components. Preferably, the popup-like components should be placed in an upper level HTML element. Otherwise, in some cases the parent HTML elements can break the position and/or z-index management of the popup-like components. **Note:** We don't recommend nesting popup-like components (`Dialog`, `Popover`).\n *\n * __Note__: This is a UI5 Web Component! [Repository](https://github.com/SAP/ui5-webcomponents) | [Documentation](https://sap.github.io/ui5-webcomponents/playground/)\n */\nconst Popover = withWebComponent('ui5-popover', ['accessibleName', 'accessibleNameRef', 'accessibleRole', 'headerText', 'horizontalAlign', 'initialFocus', 'opener', 'placementType', 'verticalAlign'], ['allowTargetOverlap', 'hideArrow', 'hideBackdrop', 'modal', 'open', 'preventFocusRestore'], ['footer', 'header'], ['after-close', 'after-open', 'before-close', 'before-open']);\nPopover.displayName = 'Popover';\nexport { Popover };","'use client';\n\nimport '@ui5/webcomponents/dist/StandardListItem.js';\nimport { withWebComponent } from '../../internal/withWebComponent.js';\n/**\n * The `StandardListItem` represents the simplest type of item for a `List`. This is a list item, providing the most common use cases such as `text`, `image` and `icon`.\n *\n * __Note__: This is a UI5 Web Component! [Repository](https://github.com/SAP/ui5-webcomponents) | [Documentation](https://sap.github.io/ui5-webcomponents/playground/)\n */\nconst StandardListItem = withWebComponent('ui5-li', ['accessibleName', 'additionalText', 'additionalTextState', 'description', 'icon', 'image', 'type'], ['iconEnd', 'navigated', 'selected'], ['deleteButton', 'imageContent'], ['detail-click']);\nStandardListItem.displayName = 'StandardListItem';\nexport { StandardListItem };","import iconDecline from '@ui5/webcomponents-icons/dist/decline.js';\nimport iconFilter from '@ui5/webcomponents-icons/dist/filter.js';\nimport iconGroup from '@ui5/webcomponents-icons/dist/group-2.js';\nimport iconSortAscending from '@ui5/webcomponents-icons/dist/sort-ascending.js';\nimport iconSortDescending from '@ui5/webcomponents-icons/dist/sort-descending.js';\nimport { enrichEventWithDetails, ThemingParameters, useI18nBundle } from '@ui5/webcomponents-react-base';\nimport React, { useEffect, useRef } from 'react';\nimport { createPortal } from 'react-dom';\nimport { createUseStyles } from 'react-jss';\nimport { FlexBoxAlignItems, ListItemType, PopoverHorizontalAlign, PopoverPlacementType, TextAlign } from '../../../enums/index.js';\nimport { CLEAR_SORTING, GROUP, SORT_ASCENDING, SORT_DESCENDING, UNGROUP } from '../../../i18n/i18n-defaults.js';\nimport { useCanRenderPortal } from '../../../internal/ssr.js';\nimport { stopPropagation } from '../../../internal/stopPropagation.js';\nimport { getUi5TagWithSuffix } from '../../../internal/utils.js';\nimport { CustomListItem } from '../../../webComponents/CustomListItem/index.js';\nimport { Icon } from '../../../webComponents/Icon/index.js';\nimport { List } from '../../../webComponents/List/index.js';\nimport { Popover } from '../../../webComponents/Popover/index.js';\nimport { StandardListItem } from '../../../webComponents/StandardListItem/index.js';\nimport { FlexBox } from '../../FlexBox/index.js';\nconst styles = {\n popover: {\n fontWeight: 'normal',\n '&::part(content)': {\n padding: 0\n }\n },\n filterIcon: {\n paddingInlineEnd: '0.5rem',\n minWidth: '1rem',\n minHeight: '1rem',\n color: ThemingParameters.sapContent_NonInteractiveIconColor\n }\n};\nconst useStyles = createUseStyles(styles, {\n name: 'ColumnHeaderModal'\n});\nexport const ColumnHeaderModal = props => {\n const {\n column,\n onSort,\n onGroupBy,\n open,\n setPopoverOpen,\n portalContainer,\n isRtl,\n openerRef\n } = props;\n const classes = useStyles();\n const showFilter = column.canFilter;\n const showGroup = column.canGroupBy;\n const showSort = column.canSort;\n const ref = useRef(null);\n const listRef = useRef(null);\n const {\n Filter\n } = column;\n const i18nBundle = useI18nBundle('@ui5/webcomponents-react');\n const clearSortingText = i18nBundle.getText(CLEAR_SORTING);\n const sortAscendingText = i18nBundle.getText(SORT_ASCENDING);\n const sortDescendingText = i18nBundle.getText(SORT_DESCENDING);\n const groupText = i18nBundle.getText(GROUP);\n const ungroupText = i18nBundle.getText(UNGROUP);\n const handleSort = e => {\n const sortType = e.detail.item.getAttribute('data-sort');\n switch (sortType) {\n case 'asc':\n column.toggleSortBy(false, !!column.enableMultiSort);\n if (typeof onSort === 'function') {\n onSort(enrichEventWithDetails(e, {\n column,\n sortDirection: sortType\n }));\n }\n break;\n case 'desc':\n column.toggleSortBy(true, !!column.enableMultiSort);\n if (typeof onSort === 'function') {\n onSort(enrichEventWithDetails(e, {\n column,\n sortDirection: sortType\n }));\n }\n break;\n case 'clear':\n column.clearSortBy();\n if (typeof onSort === 'function') {\n onSort(enrichEventWithDetails(e, {\n column,\n sortDirection: sortType\n }));\n }\n break;\n case 'group':\n const willGroup = !column.isGrouped;\n column.toggleGroupBy(willGroup);\n if (typeof onGroupBy === 'function') {\n onGroupBy(enrichEventWithDetails(e, {\n column,\n isGrouped: willGroup\n }));\n }\n break;\n }\n setPopoverOpen(false);\n };\n const isSortedAscending = column.isSorted && column.isSortedDesc === false;\n const isSortedDescending = column.isSorted && column.isSortedDesc === true;\n const onAfterClose = e => {\n stopPropagation(e);\n setPopoverOpen(false);\n };\n const onAfterOpen = () => {\n listRef.current?.children?.[0]?.focus();\n };\n const horizontalAlign = (() => {\n switch (column.hAlign) {\n case TextAlign.Begin:\n return isRtl ? PopoverHorizontalAlign.Right : PopoverHorizontalAlign.Left;\n case TextAlign.End:\n return isRtl ? PopoverHorizontalAlign.Left : PopoverHorizontalAlign.Right;\n case TextAlign.Left:\n return PopoverHorizontalAlign.Left;\n case TextAlign.Right:\n return PopoverHorizontalAlign.Right;\n case TextAlign.Center:\n return PopoverHorizontalAlign.Center;\n default:\n return isRtl ? PopoverHorizontalAlign.Right : PopoverHorizontalAlign.Left;\n }\n })();\n const handleCustomLiKeyDown = e => {\n if (e.key === 'Enter') {\n setPopoverOpen(false);\n }\n };\n const handleListKeyDown = e => {\n if (e.key !== 'Escape') {\n stopPropagation(e);\n }\n };\n const canRenderPortal = useCanRenderPortal();\n useEffect(() => {\n if (open && ref.current && openerRef.current) {\n customElements.whenDefined(getUi5TagWithSuffix('ui5-popover')).then(() => {\n ref.current.opener = openerRef.current;\n if (canRenderPortal && open) {\n ref.current.showAt(openerRef.current);\n }\n }).catch(() => {\n // silently catch\n });\n }\n }, [open, canRenderPortal]);\n if (!canRenderPortal) {\n return null;\n }\n return /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement(Popover, {\n hideArrow: true,\n horizontalAlign: horizontalAlign,\n placementType: PopoverPlacementType.Bottom,\n ref: ref,\n className: classes.popover,\n onClick: stopPropagation,\n onAfterClose: onAfterClose,\n onAfterOpen: onAfterOpen\n }, /*#__PURE__*/React.createElement(List, {\n onItemClick: handleSort,\n ref: listRef,\n onKeyDown: handleListKeyDown\n }, isSortedAscending && /*#__PURE__*/React.createElement(StandardListItem, {\n type: ListItemType.Active,\n icon: iconDecline,\n \"data-sort\": \"clear\"\n }, clearSortingText), showSort && !isSortedAscending && /*#__PURE__*/React.createElement(StandardListItem, {\n type: ListItemType.Active,\n icon: iconSortAscending,\n \"data-sort\": \"asc\"\n }, sortAscendingText), showSort && !isSortedDescending && /*#__PURE__*/React.createElement(StandardListItem, {\n type: ListItemType.Active,\n icon: iconSortDescending,\n \"data-sort\": \"desc\"\n }, sortDescendingText), isSortedDescending && /*#__PURE__*/React.createElement(StandardListItem, {\n type: ListItemType.Active,\n icon: iconDecline,\n \"data-sort\": \"clear\"\n }, clearSortingText), showFilter &&\n /*#__PURE__*/\n //todo maybe need to enhance Input selection after ui5-webcomponents issue has been fixed (undefined is displayed as val)\n React.createElement(CustomListItem, {\n type: ListItemType.Inactive,\n onKeyDown: handleCustomLiKeyDown\n }, /*#__PURE__*/React.createElement(FlexBox, {\n alignItems: FlexBoxAlignItems.Center\n }, /*#__PURE__*/React.createElement(Icon, {\n name: iconFilter,\n className: classes.filterIcon,\n \"aria-hidden\": true\n }), /*#__PURE__*/React.createElement(Filter, {\n column: column,\n popoverRef: ref\n }))), showGroup && /*#__PURE__*/React.createElement(StandardListItem, {\n type: ListItemType.Active,\n icon: iconGroup,\n \"data-sort\": 'group'\n }, column.isGrouped ? ungroupText : groupText))), portalContainer ?? document.body);\n};\nColumnHeaderModal.displayName = 'ColumnHeaderModal';","import iconFilter from '@ui5/webcomponents-icons/dist/filter.js';\nimport iconGroup from '@ui5/webcomponents-icons/dist/group-2.js';\nimport iconSortAscending from '@ui5/webcomponents-icons/dist/sort-ascending.js';\nimport iconSortDescending from '@ui5/webcomponents-icons/dist/sort-descending.js';\nimport { ThemingParameters } from '@ui5/webcomponents-react-base';\nimport { clsx } from 'clsx';\nimport React, { useRef, useState } from 'react';\nimport { createUseStyles } from 'react-jss';\nimport { CustomThemingParameters } from '../../../themes/CustomVariables.js';\nimport { Icon } from '../../../webComponents/Icon/index.js';\nimport { Text } from '../../Text/index.js';\nimport { ColumnHeaderModal } from './ColumnHeaderModal.js';\nconst styles = {\n thContainer: {\n '&:first-child': {\n '& > [role=\"columnheader\"]': {\n borderInlineStart: CustomThemingParameters.AnalyticalTableOuterCellBorder\n }\n },\n '&:last-child': {\n '& > [role=\"columnheader\"]': {\n borderInlineEnd: CustomThemingParameters.AnalyticalTableOuterCellBorder\n }\n }\n },\n verticalEndBorder: {\n '&:last-child': {\n '& > [role=\"columnheader\"]': {\n borderInlineEnd: `1px solid ${ThemingParameters.sapList_BorderColor}`\n }\n }\n },\n header: {\n height: '100%',\n display: 'flex',\n alignItems: 'center',\n textAlign: 'start',\n fontFamily: CustomThemingParameters.AnalyticalTableHeaderFontFamily,\n fontSize: ThemingParameters.sapFontSize,\n fontWeight: 'normal',\n color: 'inherit',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n maxWidth: '100%',\n position: 'relative',\n width: '100%',\n overflowX: 'hidden',\n overflowY: 'hidden',\n boxSizing: 'border-box'\n },\n text: {\n color: 'inherit',\n fontFamily: 'inherit',\n width: '100%',\n textAlign: 'start'\n },\n iconContainer: {\n display: 'flex',\n position: 'absolute',\n color: ThemingParameters.sapContent_IconColor,\n insetInlineEnd: '0.5rem'\n },\n selectAllCheckBoxContainer: {\n display: 'flex',\n justifyContent: 'center'\n }\n};\nconst useStyles = createUseStyles(styles, {\n name: 'TableColumnHeader'\n});\nexport const ColumnHeader = props => {\n const classes = useStyles();\n const {\n id,\n children,\n column,\n columnId,\n className,\n style,\n onSort,\n onGroupBy,\n onDragEnter,\n onDragOver,\n onDragStart,\n onDrop,\n onDragEnd,\n headerTooltip,\n isDraggable,\n dragOver,\n role,\n virtualColumn,\n columnVirtualizer,\n isRtl,\n visibleColumnIndex,\n onClick,\n onKeyDown,\n portalContainer,\n isFiltered,\n title,\n 'aria-label': ariaLabel,\n 'aria-sort': ariaSort,\n showVerticalEndBorder\n } = props;\n const columnIndex = virtualColumn.index;\n const [popoverOpen, setPopoverOpen] = useState(false);\n const columnHeaderRef = useRef(null);\n const tooltip = (() => {\n if (headerTooltip) {\n return headerTooltip;\n }\n if (typeof children === 'string') {\n return children;\n }\n return null;\n })();\n const textStyle = (() => {\n let margin = 0;\n const style = {};\n if (column.hAlign) {\n style.textAlign = column.hAlign.toLowerCase();\n }\n if (column.isSorted) margin++;\n if (column.isGrouped) margin++;\n if (isFiltered) margin++;\n if (margin === 0) {\n return style;\n }\n if (margin > 0) margin += 0.5;\n style.marginInlineEnd = `${margin}rem`;\n return style;\n })();\n const hasPopover = column.canGroupBy || column.canSort || column.canFilter;\n const handleHeaderCellClick = e => {\n onClick?.(e);\n if (hasPopover) {\n setPopoverOpen(true);\n }\n };\n const directionStyles = isRtl ? {\n right: 0,\n transform: `translateX(-${virtualColumn.start}px)`\n } : {\n left: 0,\n transform: `translateX(${virtualColumn.start}px)`\n };\n const handleHeaderCellKeyDown = e => {\n onKeyDown?.(e);\n if (hasPopover && e.code === 'Enter') {\n setPopoverOpen(true);\n }\n if (e.code === 'Space') {\n e.preventDefault();\n }\n };\n const handleHeaderCellKeyUp = e => {\n if (hasPopover && e.code === 'Space' && !e.target.hasAttribute('ui5-li')) {\n setPopoverOpen(true);\n }\n };\n if (!column) return null;\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: columnHeaderRef,\n className: clsx(classes.thContainer, showVerticalEndBorder && classes.verticalEndBorder),\n style: {\n position: 'absolute',\n top: 0,\n width: `${virtualColumn.size}px`,\n ...directionStyles\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: columnVirtualizer.measureElement,\n \"data-visible-column-index\": visibleColumnIndex,\n \"data-visible-row-index\": 0,\n \"data-row-index\": 0,\n \"data-column-index\": columnIndex,\n tabIndex: -1,\n id: id,\n className: className,\n style: {\n ...style,\n borderInlineStart: dragOver ? `3px solid ${ThemingParameters.sapSelectedColor}` : undefined\n },\n \"aria-haspopup\": hasPopover ? 'menu' : undefined,\n role: role,\n draggable: isDraggable,\n onDragEnter: onDragEnter,\n onDragOver: onDragOver,\n onDragStart: onDragStart,\n onDrop: onDrop,\n onDragEnd: onDragEnd,\n \"data-column-id\": columnId,\n onClick: handleHeaderCellClick,\n onKeyDown: handleHeaderCellKeyDown,\n onKeyUp: handleHeaderCellKeyUp,\n \"aria-label\": ariaLabel,\n \"aria-sort\": ariaSort,\n title: title\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classes.header,\n \"data-h-align\": column.hAlign\n }, /*#__PURE__*/React.createElement(Text, {\n title: tooltip,\n wrapping: false,\n style: textStyle,\n className: clsx(classes.text, columnId === '__ui5wcr__internal_selection_column' && classes.selectAllCheckBoxContainer),\n \"data-component-name\": `AnalyticalTableHeaderHeaderContentContainer-${columnId}`\n }, children), /*#__PURE__*/React.createElement(\"div\", {\n className: classes.iconContainer,\n \"data-component-name\": `AnalyticalTableHeaderIconsContainer-${columnId}`\n }, isFiltered && /*#__PURE__*/React.createElement(Icon, {\n name: iconFilter,\n \"aria-hidden\": true\n }), column.isSorted && /*#__PURE__*/React.createElement(Icon, {\n name: column.isSortedDesc ? iconSortDescending : iconSortAscending,\n \"aria-hidden\": true\n }), column.isGrouped && /*#__PURE__*/React.createElement(Icon, {\n name: iconGroup,\n \"aria-hidden\": true\n }))), hasPopover && popoverOpen && /*#__PURE__*/React.createElement(ColumnHeaderModal, {\n isRtl: isRtl,\n column: column,\n onSort: onSort,\n onGroupBy: onGroupBy,\n openerRef: columnHeaderRef,\n open: popoverOpen,\n setPopoverOpen: setPopoverOpen,\n portalContainer: portalContainer\n })));\n};","import { ThemingParameters } from '@ui5/webcomponents-react-base';\nimport React, { forwardRef, Fragment } from 'react';\nimport { createUseStyles } from 'react-jss';\nimport { ColumnHeader } from './index.js';\nconst styles = {\n resizer: {\n display: 'inline-block',\n width: '3px',\n height: '100%',\n position: 'absolute',\n bottom: 0,\n top: 0,\n zIndex: 1,\n cursor: 'col-resize',\n '&:hover, &:active': {\n backgroundColor: ThemingParameters.sapContent_DragAndDropActiveColor\n }\n }\n};\nconst useStyles = createUseStyles(styles, {\n name: 'Resizer'\n});\nexport const ColumnHeaderContainer = /*#__PURE__*/forwardRef((props, ref) => {\n const {\n headerProps,\n headerGroup,\n onSort,\n onGroupByChanged,\n resizeInfo,\n isRtl,\n portalContainer,\n columnVirtualizer,\n uniqueId,\n showVerticalEndBorder\n } = props;\n const classes = useStyles();\n return /*#__PURE__*/React.createElement(\"div\", {\n ...headerProps,\n style: {\n width: `${columnVirtualizer.getTotalSize()}px`\n },\n ref: ref,\n \"data-component-name\": \"AnalyticalTableHeaderRow\"\n }, columnVirtualizer.getVirtualItems().map((virtualColumn, index) => {\n const column = headerGroup.headers[virtualColumn.index];\n if (!column) {\n return null;\n }\n const isLastColumn = !column.disableResizing && virtualColumn.index + 1 === headerGroup.headers.length;\n const resizerDirectionStyle = isRtl ? {\n right: `${column.totalFlexWidth + column.totalLeft - (isLastColumn ? 3 : 0)}px`,\n transform: 'translateX(50%)'\n } : {\n left: `${column.totalFlexWidth + column.totalLeft - (isLastColumn ? 3 : 0)}px`,\n transform: 'translateX(-50%)'\n };\n const {\n key,\n ...rest\n } = column.getHeaderProps();\n return /*#__PURE__*/React.createElement(Fragment, {\n key: key\n }, column.canResize && column.getResizerProps && /*#__PURE__*/React.createElement(\"div\", {\n ...column.getResizerProps(),\n \"data-resizer\": true,\n className: classes.resizer,\n style: resizerDirectionStyle\n }), /*#__PURE__*/React.createElement(ColumnHeader, {\n ...rest,\n showVerticalEndBorder: showVerticalEndBorder,\n id: `${uniqueId}${rest?.id ?? ''}`,\n columnId: rest.id,\n visibleColumnIndex: index,\n onSort: onSort,\n onGroupBy: onGroupByChanged,\n headerTooltip: column.headerTooltip,\n isDraggable: (column.canReorder || !column.disableDragAndDrop) && !resizeInfo.isResizingColumn,\n virtualColumn: virtualColumn,\n columnVirtualizer: columnVirtualizer,\n isRtl: isRtl,\n portalContainer: portalContainer\n }, column.render('Header')));\n }));\n});\nColumnHeaderContainer.displayName = 'ColumnHeaderContainer';","export let VerticalAlign = /*#__PURE__*/function (VerticalAlign) {\n VerticalAlign[\"Bottom\"] = \"Bottom\";\n VerticalAlign[\"Inherit\"] = \"Inherit\";\n VerticalAlign[\"Middle\"] = \"Middle\";\n VerticalAlign[\"Top\"] = \"Top\";\n return VerticalAlign;\n}({});","/**\n * Returns the caret (cursor) position of the specified text field (field).\n * Return value range is 0-field.value.length.\n */\nconst getCaretPosition = (field: HTMLInputElement): number | null => {\n\t// Initialize\n\tlet caretPos: number | null = 0;\n\n\tif (field.selectionStart || field.selectionStart === 0) { // Firefox support\n\t\tcaretPos = field.selectionDirection === \"backward\" ? field.selectionStart : field.selectionEnd;\n\t}\n\n\treturn caretPos;\n};\n\nconst setCaretPosition = (field: HTMLInputElement, caretPos: number | null) => {\n\tif (field.selectionStart) {\n\t\tfield.focus();\n\t\tfield.setSelectionRange(caretPos, caretPos);\n\t} else {\n\t\tfield.focus();\n\t}\n};\n\nexport {\n\tgetCaretPosition,\n\tsetCaretPosition,\n};\n","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"not-editable\";\nconst pathData = \"M443 104q5 7 5 12 0 6-5 11L118 453q-4 4-8 4L0 480l22-110q0-5 4-9L352 36q4-4 11-4t11 4zm-121 99l-46-45L52 381l46 46zm87-88l-46-44-64 64 45 45zm71 204l-63 64-65-64-33 32 66 63-66 66 33 32 65-66 63 66 32-32-66-66 66-63z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v4\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v4/not-editable\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"not-editable\";\nconst pathData = \"M504 94q7 7 7 18t-7 18L130 505q-9 7-18 7H26q-11 0-18.5-7.5T0 486v-86q0-10 8-18L381 7q9-7 18-7 11 0 18 7zm-55 18l-50-50-50 50 50 50zm-86 86l-50-50L62 400l50 50zm142 270q7 7 7 18t-7.5 18.5T486 512t-18-7l-37-38-38 38q-7 7-18 7t-18.5-7.5T349 486q0-10 8-18l38-37-38-38q-8-8-8-18 0-11 7.5-18.5T375 349q10 0 18 8l38 37 37-37q8-8 18-8 11 0 18.5 7.5T512 375t-7 18l-38 38z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v5\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v5/not-editable\";\nexport { pathData, ltr, accData };","import { isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { pathData as pathDatav4, ltr, accData } from \"./v4/not-editable.js\";\nimport { pathData as pathDatav5 } from \"./v5/not-editable.js\";\n\nconst pathData = isLegacyThemeFamily() ? pathDatav4 : pathDatav5;\n\nexport default \"not-editable\";\nexport { pathData, ltr, accData };","/**\n * Different input types.\n *\n * @public\n */\nenum InputType {\n\t/**\n\t * Defines a one-line text input field:\n\t * @public\n\t */\n\tText = \"Text\",\n\n\t/**\n\t * Used for input fields that must contain an e-mail address.\n\t * @public\n\t */\n\tEmail = \"Email\",\n\n\t/**\n\t * Defines a numeric input field.\n\t * @public\n\t */\n\tNumber = \"Number\",\n\n\t/**\n\t * Defines a password field.\n\t * @public\n\t */\n\tPassword = \"Password\",\n\n\t/**\n\t * Used for input fields that should contain a telephone number.\n\t * @public\n\t */\n\tTel = \"Tel\",\n\n\t/**\n\t * Used for input fields that should contain a URL address.\n\t * @public\n\t */\n\tURL = \"URL\",\n}\n\nexport default InputType;\n","/* eslint no-unused-vars: 0 */\nimport { html, svg, repeat, classMap, styleMap, ifDefined, unsafeHTML, scopeTag } from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\timport type Input from \"../../Input.js\";\n\timport type { ClassMapValue } from \"@ui5/webcomponents-base/dist/types.js\";\n\t\nfunction block0 (this: Input, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    ${ this._effectiveShowClearIcon ? block1.call(this, context, tags, suffix) : undefined }${ this.icon.length ? block2.call(this, context, tags, suffix) : undefined }
    ${unsafeHTML(this._valueStateInputIcon)}
    ${ this.showSuggestions ? block3.call(this, context, tags, suffix) : undefined }${ this.accInfo.input.ariaDescription ? block4.call(this, context, tags, suffix) : undefined }${ this.hasValueState ? block5.call(this, context, tags, suffix) : undefined }
    `;}\nfunction block1 (this: Input, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`
    <${scopeTag(\"ui5-icon\", tags, suffix)} tabindex=\"-1\" class=\"ui5-input-clear-icon\" name=\"decline\" accessible-name=\"${ifDefined(this.clearIconAccessibleName)}\">
    ` : html`
    `;}\nfunction block2 (this: Input, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    `;}\nfunction block3 (this: Input, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ifDefined(this.suggestionsText)}${ifDefined(this.availableSuggestionsCount)}`;}\nfunction block4 (this: Input, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ifDefined(this.accInfo.input.ariaDescription)}`;}\nfunction block5 (this: Input, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ifDefined(this.ariaValueStateHiddenText)}`;}\n\n\nexport default block0;","/* eslint no-unused-vars: 0 */\nimport { html, svg, repeat, classMap, styleMap, ifDefined, unsafeHTML, scopeTag } from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\timport type InputPopover from \"../../InputPopover.js\";\n\timport type { ClassMapValue } from \"@ui5/webcomponents-base/dist/types.js\";\n\t\nfunction block0 (this: InputPopover, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.showSuggestions ? block1.call(this, context, tags, suffix) : undefined }${ this.hasValueStateMessage ? block17.call(this, context, tags, suffix) : undefined } `;}\nfunction block1 (this: InputPopover, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-responsive-popover\", tags, suffix)} class=\"${classMap(this.classes.popover as ClassMapValue)}\" hide-arrow _disable-initial-focus placement-type=\"Bottom\" horizontal-align=\"Left\" style=\"${styleMap(this.styles.suggestionsPopover)}\" @ui5-after-open=\"${ifDefined(this._afterOpenPopover)}\" @ui5-after-close=\"${ifDefined(this._afterClosePopover)}\" @ui5-scroll=\"${ifDefined(this._scroll)}\">${ this._isPhone ? block2.call(this, context, tags, suffix) : undefined }${ !this._isPhone ? block7.call(this, context, tags, suffix) : undefined }<${scopeTag(\"ui5-list\", tags, suffix)} separators=\"${ifDefined(this.suggestionSeparators)}\" @mousedown=\"${this.onItemMouseDown}\" mode=\"SingleSelect\">${ repeat(this.suggestionObjects, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block12.call(this, context, tags, suffix, item, index)) }${ this._isPhone ? block16.call(this, context, tags, suffix) : undefined }` : html`${ this._isPhone ? block2.call(this, context, tags, suffix) : undefined }${ !this._isPhone ? block7.call(this, context, tags, suffix) : undefined }${ repeat(this.suggestionObjects, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block12.call(this, context, tags, suffix, item, index)) }${ this._isPhone ? block16.call(this, context, tags, suffix) : undefined }`;}\nfunction block2 (this: InputPopover, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`
    ${ifDefined(this._headerTitleText)}<${scopeTag(\"ui5-button\", tags, suffix)} class=\"ui5-responsive-popover-close-btn\" icon=\"decline\" design=\"Transparent\" @click=\"${this._closeRespPopover}\">
    <${scopeTag(\"ui5-input\", tags, suffix)} class=\"ui5-input-inner-phone\" type=\"${ifDefined(this.inputType)}\" .value=\"${ifDefined(this.value)}\" ?show-clear-icon=${this.showClearIcon} placeholder=\"${ifDefined(this.placeholder)}\" @ui5-input=\"${ifDefined(this._handleInput)}\" @ui5-change=\"${ifDefined(this._handleChange)}\">
    ${ this.hasValueStateMessage ? block3.call(this, context, tags, suffix) : undefined }` : html`
    ${ifDefined(this._headerTitleText)}
    ${ this.hasValueStateMessage ? block3.call(this, context, tags, suffix) : undefined }`;}\nfunction block3 (this: InputPopover, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`
    <${scopeTag(\"ui5-icon\", tags, suffix)} class=\"ui5-input-value-state-message-icon\" name=\"${ifDefined(this._valueStateMessageInputIcon)}\">${ this.shouldDisplayDefaultValueStateMessage ? block4.call(this, context, tags, suffix) : block5.call(this, context, tags, suffix) }
    ` : html`
    ${ this.shouldDisplayDefaultValueStateMessage ? block4.call(this, context, tags, suffix) : block5.call(this, context, tags, suffix) }
    `;}\nfunction block4 (this: InputPopover, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ifDefined(this.valueStateText)}`;}\nfunction block5 (this: InputPopover, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ repeat(this.valueStateMessageText, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block6.call(this, context, tags, suffix, item, index)) }`;}\nfunction block6 (this: InputPopover, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`${ifDefined(item)}`;}\nfunction block7 (this: InputPopover, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.hasValueStateMessage ? block8.call(this, context, tags, suffix) : undefined }`;}\nfunction block8 (this: InputPopover, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`
    <${scopeTag(\"ui5-icon\", tags, suffix)} class=\"ui5-input-value-state-message-icon\" name=\"${ifDefined(this._valueStateMessageInputIcon)}\">${ this.shouldDisplayDefaultValueStateMessage ? block9.call(this, context, tags, suffix) : block10.call(this, context, tags, suffix) }
    ` : html`
    ${ this.shouldDisplayDefaultValueStateMessage ? block9.call(this, context, tags, suffix) : block10.call(this, context, tags, suffix) }
    `;}\nfunction block9 (this: InputPopover, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ifDefined(this.valueStateText)}`;}\nfunction block10 (this: InputPopover, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ repeat(this.valueStateMessageText, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block11.call(this, context, tags, suffix, item, index)) }`;}\nfunction block11 (this: InputPopover, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`${ifDefined(item)}`;}\nfunction block12 (this: InputPopover, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`${ item.groupItem ? block13.call(this, context, tags, suffix, item, index) : block14.call(this, context, tags, suffix, item, index) }`;}\nfunction block13 (this: InputPopover, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return suffix ? html`<${scopeTag(\"ui5-li-groupheader\", tags, suffix)} data-ui5-key=\"${ifDefined(item.key)}\">${unsafeHTML(item.text)}` : html`${unsafeHTML(item.text)}`;}\nfunction block14 (this: InputPopover, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return suffix ? html`<${scopeTag(\"ui5-li-suggestion-item\", tags, suffix)} wrapping-type=\"Normal\" image=\"${ifDefined(item.image)}\" icon=\"${ifDefined(item.icon)}\" additional-text=\"${ifDefined(item.additionalText)}\" type=\"${ifDefined(item.type)}\" additional-text-state=\"${ifDefined(item.additionalTextState)}\" data-ui5-key=\"${ifDefined(item.key)}\">${unsafeHTML(item.text)}${ item.description ? block15.call(this, context, tags, suffix, item, index) : undefined }` : html`${unsafeHTML(item.text)}${ item.description ? block15.call(this, context, tags, suffix, item, index) : undefined }`;}\nfunction block15 (this: InputPopover, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`${unsafeHTML(item.description)}`;}\nfunction block16 (this: InputPopover, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`
    <${scopeTag(\"ui5-button\", tags, suffix)} design=\"Transparent\" @click=\"${this._closeRespPopover}\">OK
    ` : html`
    OK
    `;}\nfunction block17 (this: InputPopover, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-popover\", tags, suffix)} skip-registry-update _disable-initial-focus prevent-focus-restore hide-arrow class=\"ui5-valuestatemessage-popover\" placement-type=\"Bottom\" horizontal-align=\"${ifDefined(this._valueStatePopoverHorizontalAlign)}\">
    <${scopeTag(\"ui5-icon\", tags, suffix)} class=\"ui5-input-value-state-message-icon\" name=\"${ifDefined(this._valueStateMessageInputIcon)}\">${ this.shouldDisplayDefaultValueStateMessage ? block18.call(this, context, tags, suffix) : block19.call(this, context, tags, suffix) }
    ` : html`
    ${ this.shouldDisplayDefaultValueStateMessage ? block18.call(this, context, tags, suffix) : block19.call(this, context, tags, suffix) }
    `;}\nfunction block18 (this: InputPopover, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ifDefined(this.valueStateText)}`;}\nfunction block19 (this: InputPopover, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ repeat(this.valueStateMessageText, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block20.call(this, context, tags, suffix, item, index)) }`;}\nfunction block20 (this: InputPopover, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`${ifDefined(item)}`;}\n\n\nexport default block0;","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents\",fileName:\"themes/Input.css.ts\",content:`:host{vertical-align:middle}.ui5-hidden-text{position:absolute;clip:rect(1px,1px,1px,1px);user-select:none;left:-1000px;top:-1000px;pointer-events:none;font-size:0}[input-icon]{color:var(--_ui5-v1-22-0-rc-3_input_icon_color);cursor:pointer;outline:none;padding:var(--_ui5-v1-22-0-rc-3_input_icon_padding);border-inline-start:var(--_ui5-v1-22-0-rc-3_input_icon_border);min-width:1rem;min-height:1rem;border-radius:var(--_ui5-v1-22-0-rc-3_input_icon_border_radius)}[input-icon][pressed]{background:var(--_ui5-v1-22-0-rc-3_input_icon_pressed_bg);box-shadow:var(--_ui5-v1-22-0-rc-3_input_icon_box_shadow);border-inline-start:var(--_ui5-v1-22-0-rc-3_select_hover_icon_left_border);color:var(--_ui5-v1-22-0-rc-3_input_icon_pressed_color)}[input-icon]:active{background-color:var(--sapButton_Active_Background);box-shadow:var(--_ui5-v1-22-0-rc-3_input_icon_box_shadow);border-inline-start:var(--_ui5-v1-22-0-rc-3_select_hover_icon_left_border);color:var(--_ui5-v1-22-0-rc-3_input_icon_pressed_color)}[input-icon]:not([pressed]):not(:active):hover{background:var(--_ui5-v1-22-0-rc-3_input_icon_hover_bg);box-shadow:var(--_ui5-v1-22-0-rc-3_input_icon_box_shadow)}[input-icon]:hover{border-inline-start:var(--_ui5-v1-22-0-rc-3_select_hover_icon_left_border);box-shadow:var(--_ui5-v1-22-0-rc-3_input_icon_box_shadow)}:host(:not([hidden])){display:inline-block}:host{width:var(--_ui5-v1-22-0-rc-3_input_width);min-width:calc(var(--_ui5-v1-22-0-rc-3_input_min_width) + (var(--_ui5-v1-22-0-rc-3-input-icons-count)*var(--_ui5-v1-22-0-rc-3_input_icon_width)));margin:var(--_ui5-v1-22-0-rc-3_input_margin_top_bottom) 0;height:var(--_ui5-v1-22-0-rc-3_input_height);color:var(--sapField_TextColor);font-size:var(--sapFontSize);font-family:\"72override\",var(--sapFontFamily);font-style:normal;border:var(--_ui5-v1-22-0-rc-3-input-border);border-radius:var(--_ui5-v1-22-0-rc-3_input_border_radius);box-sizing:border-box;text-align:start;transition:var(--_ui5-v1-22-0-rc-3_input_transition);background:var(--sapField_BackgroundStyle);background-color:var(--_ui5-v1-22-0-rc-3_input_background_color)}:host(:not([readonly])),:host([readonly][disabled]){box-shadow:var(--sapField_Shadow)}:host([focused]:not([opened])){border-color:var(--_ui5-v1-22-0-rc-3_input_focused_border_color);background-color:var(--sapField_Focus_Background)}.ui5-input-focusable-element{position:relative}:host([focused]:not([opened])) .ui5-input-focusable-element:after{content:var(--ui5-v1-22-0-rc-3_input_focus_pseudo_element_content);position:absolute;pointer-events:none;z-index:2;border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--_ui5-v1-22-0-rc-3_input_focus_outline_color);border-radius:var(--_ui5-v1-22-0-rc-3_input_focus_border_radius);top:var(--_ui5-v1-22-0-rc-3_input_focus_offset);bottom:var(--_ui5-v1-22-0-rc-3_input_focus_offset);left:var(--_ui5-v1-22-0-rc-3_input_focus_offset);right:var(--_ui5-v1-22-0-rc-3_input_focus_offset)}:host([focused][readonly]:not([opened])) .ui5-input-focusable-element:after{top:var(--_ui5-v1-22-0-rc-3_input_readonly_focus_offset);bottom:var(--_ui5-v1-22-0-rc-3_input_readonly_focus_offset);left:var(--_ui5-v1-22-0-rc-3_input_readonly_focus_offset);right:var(--_ui5-v1-22-0-rc-3_input_readonly_focus_offset);border-radius:var(--_ui5-v1-22-0-rc-3_input_readonly_focus_border_radius)}.ui5-input-root:before{content:\"\";position:absolute;width:calc(100% - 2px);left:1px;bottom:-2px;border-bottom-left-radius:8px;border-bottom-right-radius:8px;height:var(--_ui5-v1-22-0-rc-3_input_bottom_border_height);transition:var(--_ui5-v1-22-0-rc-3_input_transition);background-color:var(--_ui5-v1-22-0-rc-3_input_bottom_border_color)}.ui5-input-root{width:100%;height:100%;position:relative;background:transparent;display:inline-block;outline:none;box-sizing:border-box;color:inherit;transition:border-color .2s ease-in-out;border-radius:var(--_ui5-v1-22-0-rc-3_input_border_radius);overflow:hidden}:host([disabled]){opacity:var(--_ui5-v1-22-0-rc-3_input_disabled_opacity);cursor:default;pointer-events:none;background-color:var(--_ui5-v1-22-0-rc-3-input_disabled_background);border-color:var(--_ui5-v1-22-0-rc-3_input_disabled_border_color)}:host([disabled]) .ui5-input-root:before,:host([readonly]) .ui5-input-root:before{content:none}[inner-input]{background:transparent;color:inherit;border:none;font-style:inherit;-webkit-appearance:none;-moz-appearance:textfield;padding:var(--_ui5-v1-22-0-rc-3_input_inner_padding);box-sizing:border-box;min-width:var(--_ui5-v1-22-0-rc-3_input_min_width);width:100%;text-overflow:ellipsis;flex:1;outline:none;font-size:inherit;font-family:inherit;line-height:inherit;letter-spacing:inherit;word-spacing:inherit;text-align:inherit}[inner-input][inner-input-with-icon]{padding:var(--_ui5-v1-22-0-rc-3_input_inner_padding_with_icon)}.ui5-input-value-state-icon{height:100%;display:var(--_ui5-v1-22-0-rc-3-input-value-state-icon-display);align-items:center}.ui5-input-value-state-icon>svg{margin-right:8px}[inner-input]::selection{background:var(--sapSelectedColor);color:var(--sapContent_ContrastTextColor)}:host([disabled]) [inner-input]::-webkit-input-placeholder{visibility:hidden}:host([readonly]) [inner-input]::-webkit-input-placeholder{visibility:hidden}:host([disabled]) [inner-input]::-moz-placeholder{visibility:hidden}:host([readonly]) [inner-input]::-moz-placeholder{visibility:hidden}[inner-input]::-webkit-input-placeholder{font-weight:400;font-style:var(--_ui5-v1-22-0-rc-3_input_placeholder_style);color:var(--_ui5-v1-22-0-rc-3_input_placeholder_color);padding-right:.125rem}[inner-input]::-moz-placeholder{font-weight:400;font-style:var(--_ui5-v1-22-0-rc-3_input_placeholder_style);color:var(--_ui5-v1-22-0-rc-3_input_placeholder_color);padding-right:.125rem}:host([value-state=\"Error\"]) [inner-input]::-webkit-input-placeholder{color:var(--_ui5-v1-22-0-rc-3-input_error_placeholder_color);font-weight:var(--_ui5-v1-22-0-rc-3_input_value_state_error_warning_placeholder_font_weight)}:host([value-state=\"Error\"]) [inner-input]::-moz-placeholder{color:var(--_ui5-v1-22-0-rc-3-input_error_placeholder_color);font-weight:var(--_ui5-v1-22-0-rc-3_input_value_state_error_warning_placeholder_font_weight)}:host([value-state=\"Warning\"]) [inner-input]::-webkit-input-placeholder{font-weight:var(--_ui5-v1-22-0-rc-3_input_value_state_error_warning_placeholder_font_weight)}:host([value-state=\"Warning\"]) [inner-input]::-moz-placeholder{font-weight:var(--_ui5-v1-22-0-rc-3_input_value_state_error_warning_placeholder_font_weight)}:host([value-state=\"Success\"]) [inner-input]::-webkit-input-placeholder{color:var(--_ui5-v1-22-0-rc-3_input_placeholder_color)}:host([value-state=\"Success\"]) [inner-input]::-moz-placeholder{color:var(--_ui5-v1-22-0-rc-3_input_placeholder_color)}:host([value-state=\"Information\"]) [inner-input]::-webkit-input-placeholder{color:var(--_ui5-v1-22-0-rc-3_input_placeholder_color)}:host([value-state=\"Information\"]) [inner-input]::-moz-placeholder{color:var(--_ui5-v1-22-0-rc-3_input_placeholder_color)}.ui5-input-content{height:100%;box-sizing:border-box;display:flex;flex-direction:row;justify-content:flex-end;overflow:hidden;outline:none;background:transparent;color:inherit;border-radius:var(--_ui5-v1-22-0-rc-3_input_border_radius)}:host([readonly]:not([disabled])){border-color:var(--_ui5-v1-22-0-rc-3_input_readonly_border_color);background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--_ui5-v1-22-0-rc-3_input_readonly_background)}:host([value-state=\"None\"]:not([readonly]):hover),:host(:not([value-state]):not([readonly]):hover){border:var(--_ui5-v1-22-0-rc-3_input_hover_border);border-color:var(--_ui5-v1-22-0-rc-3_input_focused_border_color);box-shadow:var(--sapField_Hover_Shadow);background:var(--sapField_Hover_BackgroundStyle);background-color:var(--sapField_Hover_Background)}:host(:not([value-state]):not([readonly])[focused]:not([opened]):hover),:host([value-state=\"None\"]:not([readonly])[focused]:not([opened]):hover){box-shadow:none}:host([focused]):not([opened]) .ui5-input-root:before{content:none}:host(:not([readonly]):not([disabled])[value-state]:not([value-state=\"None\"])){border-width:var(--_ui5-v1-22-0-rc-3_input_state_border_width)}:host([value-state=\"Error\"]) [inner-input],:host([value-state=\"Warning\"]) [inner-input]{font-style:var(--_ui5-v1-22-0-rc-3_input_error_warning_font_style);text-indent:var(--_ui5-v1-22-0-rc-3_input_error_warning_text_indent)}:host([value-state=\"Error\"]) [inner-input]{font-weight:var(--_ui5-v1-22-0-rc-3_input_error_font_weight)}:host([value-state=\"Warning\"]) [inner-input]{font-weight:var(--_ui5-v1-22-0-rc-3_input_warning_font_weight)}:host([value-state=\"Error\"]:not([readonly]):not([disabled])){background:var(--sapField_InvalidBackgroundStyle);background-color:var(--sapField_InvalidBackground);border-color:var(--_ui5-v1-22-0-rc-3_input_value_state_error_border_color);box-shadow:var(--sapField_InvalidShadow)}:host([value-state=\"Error\"][focused]:not([opened]):not([readonly])){background-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_error_background);border-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_error_border_color)}:host([value-state=\"Error\"][focused]:not([opened]):not([readonly])) .ui5-input-focusable-element:after{border-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_error_focus_outline_color)}:host([value-state=\"Error\"]:not([readonly])) .ui5-input-root:before{background-color:var(--_ui5-v1-22-0-rc-3-input-value-state-error-border-botom-color)}:host([value-state=\"Error\"]:not([readonly]):not([focused]):hover),:host([value-state=\"Error\"]:not([readonly])[focused][opened]:hover){background-color:var(--_ui5-v1-22-0-rc-3_input_value_state_error_hover_background);box-shadow:var(--sapField_Hover_InvalidShadow)}:host([value-state=\"Error\"]:not([readonly]):not([disabled])),:host([value-state=\"Warning\"]:not([readonly]):not([disabled])),:host([value-state=\"Information\"]:not([readonly]):not([disabled])){border-style:var(--_ui5-v1-22-0-rc-3_input_error_warning_border_style)}:host([value-state=\"Warning\"]:not([readonly]):not([disabled])){background:var(--sapField_WarningBackgroundStyle);background-color:var(--sapField_WarningBackground);border-color:var(--_ui5-v1-22-0-rc-3_input_value_state_warning_border_color);box-shadow:var(--sapField_WarningShadow)}:host([value-state=\"Warning\"][focused]:not([opened]):not([readonly])){background-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_warning_background);border-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_warning_border_color)}:host([value-state=\"Warning\"][focused]:not([opened]):not([readonly])) .ui5-input-focusable-element:after{border-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_warning_focus_outline_color)}:host([value-state=\"Warning\"]:not([readonly])) .ui5-input-root:before{background-color:var(--_ui5-v1-22-0-rc-3_input_value_state_warning_border_botom_color)}:host([value-state=\"Warning\"]:not([readonly]):not([focused]):hover),:host([value-state=\"Warning\"]:not([readonly])[focused][opened]:hover){background-color:var(--sapField_Hover_Background);box-shadow:var(--sapField_Hover_WarningShadow)}:host([value-state=\"Success\"]:not([readonly]):not([disabled])){background:var(--sapField_SuccessBackgroundStyle);background-color:var(--sapField_SuccessBackground);border-color:var(--_ui5-v1-22-0-rc-3_input_value_state_success_border_color);border-width:var(--_ui5-v1-22-0-rc-3_input_value_state_success_border_width);box-shadow:var(--sapField_SuccessShadow)}:host([value-state=\"Success\"][focused]:not([opened]):not([readonly])){background-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_success_background);border-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_success_border_color)}:host([value-state=\"Success\"][focused]:not([opened]):not([readonly])) .ui5-input-focusable-element:after{border-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_success_focus_outline_color)}:host([value-state=\"Success\"]:not([readonly])) .ui5-input-root:before{background-color:var(--_ui5-v1-22-0-rc-3_input_value_state_success_border_botom_color)}:host([value-state=\"Success\"]:not([readonly]):not([focused]):hover),:host([value-state=\"Success\"]:not([readonly])[focused][opened]:hover){background-color:var(--sapField_Hover_Background);box-shadow:var(--sapField_Hover_SuccessShadow)}:host([value-state=\"Information\"]:not([readonly]):not([disabled])){background:var(--sapField_InformationBackgroundStyle);background-color:var(--sapField_InformationBackground);border-color:var(--_ui5-v1-22-0-rc-3_input_value_state_information_border_color);border-width:var(--_ui5-v1-22-0-rc-3_input_information_border_width);box-shadow:var(--sapField_InformationShadow)}:host([value-state=\"Information\"][focused]:not([opened]):not([readonly])){background-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_information_background);border-color:var(--_ui5-v1-22-0-rc-3_input_focused_value_state_information_border_color)}:host([value-state=\"Information\"]:not([readonly])) .ui5-input-root:before{background-color:var(--_ui5-v1-22-0-rc-3_input_value_success_information_border_botom_color)}:host([value-state=\"Information\"]:not([readonly]):not([focused]):hover),:host([value-state=\"Information\"]:not([readonly])[focused][opened]:hover){background-color:var(--sapField_Hover_Background);box-shadow:var(--sapField_Hover_InformationShadow)}.ui5-input-icon-root{min-width:var(--_ui5-v1-22-0-rc-3_input_icon_min_width);height:100%;display:flex;justify-content:center;align-items:center}::slotted([ui5-icon][slot=\"icon\"]){align-self:start;padding:var(--_ui5-v1-22-0-rc-3_input_custom_icon_padding);box-sizing:content-box!important}:host([value-state=\"Error\"]) [input-icon],:host([value-state=\"Warning\"]) [input-icon]{padding:var(--_ui5-v1-22-0-rc-3_input_error_warning_icon_padding)}:host([value-state=\"Error\"][focused]) [input-icon],:host([value-state=\"Warning\"][focused]) [input-icon]{padding:var(--_ui5-v1-22-0-rc-3_input_error_warning_focused_icon_padding)}:host([value-state=\"Information\"]) [input-icon]{padding:var(--_ui5-v1-22-0-rc-3_input_information_icon_padding)}:host([value-state=\"Information\"][focused]) [input-icon]{padding:var(--_ui5-v1-22-0-rc-3_input_information_focused_icon_padding)}:host([value-state=\"Error\"]) ::slotted([input-icon][ui5-icon]),:host([value-state=\"Error\"]) ::slotted([ui5-icon][slot=\"icon\"]),:host([value-state=\"Warning\"]) ::slotted([ui5-icon][slot=\"icon\"]){padding:var(--_ui5-v1-22-0-rc-3_input_error_warning_custom_icon_padding)}:host([value-state=\"Error\"][focused]) ::slotted([input-icon][ui5-icon]),:host([value-state=\"Error\"][focused]) ::slotted([ui5-icon][slot=\"icon\"]),:host([value-state=\"Warning\"][focused]) ::slotted([ui5-icon][slot=\"icon\"]){padding:var(--_ui5-v1-22-0-rc-3_input_error_warning_custom_focused_icon_padding)}:host([value-state=\"Information\"]) ::slotted([ui5-icon][slot=\"icon\"]){padding:var(--_ui5-v1-22-0-rc-3_input_information_custom_icon_padding)}:host([value-state=\"Information\"][focused]) ::slotted([ui5-icon][slot=\"icon\"]){padding:var(--_ui5-v1-22-0-rc-3_input_information_custom_focused_icon_padding)}:host([value-state=\"Error\"]) [input-icon]:active,:host([value-state=\"Error\"]) [input-icon][pressed]{box-shadow:var(--_ui5-v1-22-0-rc-3_input_error_icon_box_shadow);color:var(--_ui5-v1-22-0-rc-3_input_icon_error_pressed_color)}:host([value-state=\"Error\"]) [input-icon]:not([pressed]):not(:active):hover{box-shadow:var(--_ui5-v1-22-0-rc-3_input_error_icon_box_shadow)}:host([value-state=\"Warning\"]) [input-icon]:active,:host([value-state=\"Warning\"]) [input-icon][pressed]{box-shadow:var(--_ui5-v1-22-0-rc-3_input_warning_icon_box_shadow);color:var(--_ui5-v1-22-0-rc-3_input_icon_warning_pressed_color)}:host([value-state=\"Warning\"]) [input-icon]:not([pressed]):not(:active):hover{box-shadow:var(--_ui5-v1-22-0-rc-3_input_warning_icon_box_shadow)}:host([value-state=\"Information\"]) [input-icon]:active,:host([value-state=\"Information\"]) [input-icon][pressed]{box-shadow:var(--_ui5-v1-22-0-rc-3_input_information_icon_box_shadow);color:var(--_ui5-v1-22-0-rc-3_input_icon_information_pressed_color)}:host([value-state=\"Information\"]) [input-icon]:not([pressed]):not(:active):hover{box-shadow:var(--_ui5-v1-22-0-rc-3_input_information_icon_box_shadow)}:host([value-state=\"Success\"]) [input-icon]:active,:host([value-state=\"Success\"]) [input-icon][pressed]{box-shadow:var(--_ui5-v1-22-0-rc-3_input_success_icon_box_shadow);color:var(--_ui5-v1-22-0-rc-3_input_icon_success_pressed_color)}:host([value-state=\"Success\"]) [input-icon]:not([pressed]):not(:active):hover{box-shadow:var(--_ui5-v1-22-0-rc-3_input_success_icon_box_shadow)}.ui5-input-clear-icon-wrapper{height:var(--_ui5-v1-22-0-rc-3_input_icon_wrapper_height);padding:0;width:var(--_ui5-v1-22-0-rc-3_input_icon_width);min-width:var(--_ui5-v1-22-0-rc-3_input_icon_width);display:flex;justify-content:center;align-items:center;box-sizing:border-box}:host([value-state]:not([value-state=\"None\"]):not([value-state=\"Success\"])) .ui5-input-clear-icon-wrapper{height:var(--_ui5-v1-22-0-rc-3_input_icon_wrapper_state_height);vertical-align:top}:host([value-state=\"Success\"]) .ui5-input-clear-icon-wrapper{height:var(--_ui5-v1-22-0-rc-3_input_icon_wrapper_success_state_height)}[ui5-icon].ui5-input-clear-icon{padding:0;color:inherit}[inner-input]::-webkit-outer-spin-button,[inner-input]::-webkit-inner-spin-button{-webkit-appearance:inherit;margin:inherit}\n`};\nexport default styleData;\n\t","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents\",fileName:\"themes/Suggestions.css.ts\",content:`.ui5-suggestions-popover{box-shadow:var(--sapContent_Shadow1)}.ui5-suggestions-popover::part(header),.ui5-suggestions-popover::part(content){padding:0}.ui5-suggestions-popover::part(footer){padding:0 1rem}.ui5-suggestions-popover [ui5-li]::part(icon),.ui5-suggestions-popover [ui5-li-suggestion-item]::part(icon){color:var(--sapList_TextColor)}.input-root-phone.native-input-wrapper{display:contents}.input-root-phone.native-input-wrapper:before{display:none}.native-input-wrapper .ui5-input-inner-phone{margin:0}\n`};\nexport default styleData;\n\t","import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport type { ClassMap } from \"@ui5/webcomponents-base/dist/types.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport {\n\tisPhone,\n\tisAndroid,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport { getFeature } from \"@ui5/webcomponents-base/dist/FeaturesRegistry.js\";\nimport {\n\tisUp,\n\tisDown,\n\tisSpace,\n\tisEnter,\n\tisBackSpace,\n\tisDelete,\n\tisEscape,\n\tisTabNext,\n\tisPageUp,\n\tisPageDown,\n\tisHome,\n\tisEnd,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n\tgetAssociatedLabelForTexts,\n\tgetAllAccessibleNameRefTexts,\n\tregisterUI5Element,\n\tderegisterUI5Element,\n} from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport { getCaretPosition, setCaretPosition } from \"@ui5/webcomponents-base/dist/util/Caret.js\";\nimport getActiveElement from \"@ui5/webcomponents-base/dist/util/getActiveElement.js\";\nimport \"@ui5/webcomponents-icons/dist/decline.js\";\nimport \"@ui5/webcomponents-icons/dist/not-editable.js\";\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport \"@ui5/webcomponents-icons/dist/information.js\";\nimport type SuggestionItem from \"./SuggestionItem.js\";\nimport type { InputSuggestion, SuggestionComponent } from \"./features/InputSuggestions.js\";\nimport type InputSuggestions from \"./features/InputSuggestions.js\";\nimport type FormSupportT from \"./features/InputElementsFormSupport.js\";\nimport type { IFormElement } from \"./features/InputElementsFormSupport.js\";\nimport type SuggestionListItem from \"./SuggestionListItem.js\";\nimport type { PopupScrollEventDetail } from \"./Popup.js\";\nimport InputType from \"./types/InputType.js\";\nimport Popover from \"./Popover.js\";\nimport Icon from \"./Icon.js\";\nimport type { IIcon } from \"./Icon.js\";\nimport type ListItemType from \"./types/ListItemType.js\";\n// Templates\nimport InputTemplate from \"./generated/templates/InputTemplate.lit.js\";\nimport InputPopoverTemplate from \"./generated/templates/InputPopoverTemplate.lit.js\";\nimport { StartsWith } from \"./Filters.js\";\n\nimport {\n\tVALUE_STATE_SUCCESS,\n\tVALUE_STATE_INFORMATION,\n\tVALUE_STATE_ERROR,\n\tVALUE_STATE_WARNING,\n\tVALUE_STATE_TYPE_SUCCESS,\n\tVALUE_STATE_TYPE_INFORMATION,\n\tVALUE_STATE_TYPE_ERROR,\n\tVALUE_STATE_TYPE_WARNING,\n\tINPUT_SUGGESTIONS,\n\tINPUT_SUGGESTIONS_TITLE,\n\tINPUT_SUGGESTIONS_ONE_HIT,\n\tINPUT_SUGGESTIONS_MORE_HITS,\n\tINPUT_SUGGESTIONS_NO_HIT,\n\tINPUT_CLEAR_ICON_ACC_NAME,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport inputStyles from \"./generated/themes/Input.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\nimport ValueStateMessageCss from \"./generated/themes/ValueStateMessage.css.js\";\nimport SuggestionsCss from \"./generated/themes/Suggestions.css.js\";\n\n/**\n * Interface for components that represent a suggestion item, usable in ui5-input\n *\n * @public\n */\ninterface IInputSuggestionItem extends UI5Element {\n\ttext: string;\n\tgroupItem: boolean;\n\tdescription?: string;\n\timage?: string;\n\ticon?: string;\n\tadditionalText?: string;\n\tadditionalTextState?: `${ValueState}`;\n\ttype?: `${ListItemType}`;\n}\n\ntype NativeInputAttributes = {\n\tmin?: number,\n\tmax?: number,\n\tstep?: number\n}\n\ntype AccInfo = {\n\tariaRoledescription?: string,\n\tariaDescribedBy?: string,\n\tariaHasPopup?: string,\n\tariaAutoComplete?: string,\n\trole?: string,\n\tariaControls?: string,\n\tariaExpanded?: string,\n\tariaDescription?: string,\n\tariaLabel?: string,\n}\n\n// all sementic events\nenum INPUT_EVENTS {\n\tCHANGE = \"change\",\n\tINPUT = \"input\",\n\tSUGGESTION_ITEM_SELECT = \"suggestion-item-select\",\n}\n\n// all user interactions\nenum INPUT_ACTIONS {\n\tACTION_ENTER = \"enter\",\n\tACTION_USER_INPUT = \"input\",\n}\n\ntype InputEventDetail = {\n\tinputType: string;\n}\n\ntype InputSuggestionItemSelectEventDetail = {\n\titem: IInputSuggestionItem;\n}\n\ntype InputSuggestionItemPreviewEventDetail = {\n\titem: IInputSuggestionItem;\n\ttargetRef: SuggestionListItem;\n}\n\ntype InputSuggestionScrollEventDetail = {\n\tscrollTop: number;\n\tscrollContainer: HTMLElement;\n}\n\n/**\n * @class\n *

    Overview

    \n *\n * The ui5-input component allows the user to enter and edit text or numeric values in one line.\n *
    \n * Additionally, you can provide suggestionItems,\n * that are displayed in a popover right under the input.\n *

    \n * The text field can be editable or read-only (readonly property),\n * and it can be enabled or disabled (disabled property).\n * To visualize semantic states, such as \"error\" or \"warning\", the valueState property is provided.\n * When the user makes changes to the text, the change event is fired,\n * which enables you to react on any text change.\n *

    \n * Note: If you are using the ui5-input as a single npm module,\n * don't forget to import the InputSuggestions module from\n * \"@ui5/webcomponents/dist/features/InputSuggestions.js\"\n * to enable the suggestions functionality.\n *\n *

    Keyboard Handling

    \n * The ui5-input provides the following keyboard shortcuts:\n *
    \n *\n *
      \n *
    • [ESC] - Closes the suggestion list, if open. If closed or not enabled, cancels changes and reverts to the value which the Input field had when it got the focus.
    • \n *
    • [ENTER] or [RETURN] - If suggestion list is open takes over the current matching item and closes it. If value state or group header is focused, does nothing.
    • \n *
    • [DOWN] - Focuses the next matching item in the suggestion list.
    • \n *
    • [UP] - Focuses the previous matching item in the suggestion list.
    • \n *
    • [HOME] - If focus is in the text input, moves caret before the first character. If focus is in the list, highlights the first item and updates the input accordingly.
    • \n *
    • [END] - If focus is in the text input, moves caret after the last character. If focus is in the list, highlights the last item and updates the input accordingly.
    • \n *
    • [PAGEUP] - If focus is in the list, moves highlight up by page size (10 items by default). If focus is in the input, does nothing.
    • \n *
    • [PAGEDOWN] - If focus is in the list, moves highlight down by page size (10 items by default). If focus is in the input, does nothing.
    • \n *
    \n *\n *

    ES6 Module Import

    \n *\n * import \"@ui5/webcomponents/dist/Input.js\";\n *
    \n * import \"@ui5/webcomponents/dist/features/InputSuggestions.js\"; (optional - for input suggestions support)\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n\ttag: \"ui5-input\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: InputTemplate,\n\tstaticAreaTemplate: InputPopoverTemplate,\n\tstyles: inputStyles,\n\tstaticAreaStyles: [ResponsivePopoverCommonCss, ValueStateMessageCss, SuggestionsCss],\n\tget dependencies() {\n\t\tconst Suggestions = getFeature(\"InputSuggestions\");\n\t\treturn ([Popover, Icon] as Array).concat(Suggestions ? Suggestions.dependencies : []);\n\t},\n})\n\n/**\n * Fired when the input operation has finished by pressing Enter or on focusout.\n *\n * @public\n */\n@event(\"change\")\n\n/**\n * Fired when the value of the component changes at each keystroke,\n * and when a suggestion item has been selected.\n *\n * @public\n */\n@event(\"input\")\n\n/**\n * Fired when a suggestion item, that is displayed in the suggestion popup, is selected.\n *\n * @param {HTMLElement} item The selected item.\n * @public\n * @allowPreventDefault\n */\n@event(\"suggestion-item-select\", {\n\tdetail: {\n\t\t/**\n\t \t* @public\n\t \t*/\n\t\titem: { type: HTMLElement },\n\t},\n})\n\n/**\n * Fired when the user navigates to a suggestion item via the ARROW keys,\n * as a preview, before the final selection.\n *\n * @param {HTMLElement} item The previewed suggestion item.\n * @param {HTMLElement} targetRef The DOM ref of the suggestion item.\n * @public\n * @since 1.0.0-rc.8\n */\n@event(\"suggestion-item-preview\", {\n\tdetail: {\n\t\t/**\n\t \t* @public\n\t \t*/\n\t\titem: { type: HTMLElement },\n\t\t/**\n\t \t* @public\n\t \t*/\n\t\ttargetRef: { type: HTMLElement },\n\t},\n})\n\n/**\n * Fired when the user scrolls the suggestion popover.\n *\n * @param {Integer} scrollTop The current scroll position.\n * @param {HTMLElement} scrollContainer The scroll container.\n * @protected\n * @since 1.0.0-rc.8\n */\n@event(\"suggestion-scroll\", {\n\tdetail: {\n\t\t/**\n\t \t* @public\n\t \t*/\n\t\tscrollTop: { type: Integer },\n\t\t/**\n\t \t* @public\n\t \t*/\n\t\tscrollContainer: { type: HTMLElement },\n\t},\n})\nclass Input extends UI5Element implements SuggestionComponent, IFormElement {\n\t/**\n\t * Defines whether the component is in disabled state.\n\t *

    \n\t * Note: A disabled component is completely noninteractive.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Defines if characters within the suggestions are to be highlighted\n\t * in case the input value matches parts of the suggestions text.\n\t *

    \n\t * Note: takes effect when showSuggestions is set to true\n\t *\n\t * @default false\n\t * @private\n\t * @since 1.0.0-rc.8\n\t */\n\t@property({ type: Boolean })\n\thighlight!: boolean;\n\n\t/**\n\t * Defines a short hint intended to aid the user with data entry when the\n\t * component has no value.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tplaceholder!: string;\n\n\t/**\n\t * Defines whether the component is read-only.\n\t *

    \n\t * Note: A read-only component is not editable,\n\t * but still provides visual feedback upon user interaction.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly!: boolean;\n\n\t/**\n\t * Defines whether the component is required.\n\t *\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.3\n\t */\n\t@property({ type: Boolean })\n\trequired!: boolean;\n\n\t/**\n\t * Defines whether the value will be autcompleted to match an item\n\t *\n\t * @default false\n\t * @public\n\t * @since 1.4.0\n\t */\n\t@property({ type: Boolean })\n\tnoTypeahead!: boolean;\n\n\t/**\n\t * Defines the HTML type of the component.\n\t *

    \n\t * Notes:\n\t *
      \n\t *
    • The particular effect of this property differs depending on the browser\n\t * and the current language settings, especially for type Number.
    • \n\t *
    • The property is mostly intended to be used with touch devices\n\t * that use different soft keyboard layouts depending on the given input type.
    • \n\t *
    \n\t *\n\t * @default \"Text\"\n\t * @public\n\t */\n\t@property({ type: InputType, defaultValue: InputType.Text })\n\ttype!: `${InputType}`;\n\n\t/**\n\t * Defines the value of the component.\n\t *

    \n\t * Note: The property is updated upon typing.\n\t *\n\t * @default \"\"\n\t * @formEvents change input\n\t * @formProperty\n\t * @public\n\t */\n\t@property()\n\tvalue!: string;\n\n\t/**\n\t * Defines the inner stored value of the component.\n\t *

    \n\t * Note: The property is updated upon typing. In some special cases the old value is kept (e.g. deleting the value after the dot in a float)\n\t *\n\t * @default \"\"\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_innerValue!: string;\n\n\t/**\n\t * Defines the value state of the component.\n\t *\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tvalueState!: `${ValueState}`;\n\n\t/**\n\t * Determines the name with which the component will be submitted in an HTML form.\n\t *\n\t *

    \n\t * Important: For the name property to have effect, you must add the following import to your project:\n\t * import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";\n\t *\n\t *

    \n\t * Note: When set, a native input HTML element\n\t * will be created inside the component so that it can be submitted as\n\t * part of an HTML form. Do not use this property unless you need to submit a form.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tname!: string;\n\n\t/**\n\t * Defines whether the component should show suggestions, if such are present.\n\t *

    \n\t * Note: You need to import the InputSuggestions module\n\t * from \"@ui5/webcomponents/dist/features/InputSuggestions.js\" to enable this functionality.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowSuggestions!: boolean;\n\n\t/**\n\t * Sets the maximum number of characters available in the input field.\n\t *

    \n\t * Note: This property is not compatible with the ui5-input type InputType.Number. If the ui5-input type is set to Number, the maxlength value is ignored.\n\t *\n\t * @default undefined\n\t * @since 1.0.0-rc.5\n\t * @public\n\t */\n\t@property({ validator: Integer })\n\tmaxlength?: number;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t *\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleName!: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the input.\n\t *\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ defaultValue: \"\" })\n\taccessibleNameRef!: string;\n\n\t/**\n\t * Defines whether the clear icon of the input will be shown.\n\t *\n\t * @default false\n\t * @public\n\t * @since 1.2.0\n\t */\n\t@property({ type: Boolean })\n\tshowClearIcon!: boolean;\n\n\t/**\n\t * Defines whether the clear icon is visible.\n\t *\n\t * @default false\n\t * @private\n\t * @since 1.2.0\n\t */\n\t@property({ type: Boolean })\n\t_effectiveShowClearIcon!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused!: boolean;\n\n\t@property({ type: Boolean })\n\topenOnMobile!: boolean;\n\n\t@property({ type: Boolean })\n\topen!: boolean;\n\n\t/**\n\t * Determines whether to manually show the suggestions popover\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_forceOpen!: boolean;\n\n\t/**\n\t * Indicates whether the visual focus is on the value state header\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_isValueStateFocused!: boolean;\n\n\t@property({ type: Object, noAttribute: true })\n\t_inputAccInfo!: AccInfo;\n\n\t@property({ type: Object, noAttribute: true })\n\t_nativeInputAttributes!: NativeInputAttributes;\n\n\t@property({ validator: Integer })\n\t_inputWidth?: number;\n\n\t@property({ validator: Integer })\n\t_listWidth?: number;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_isPopoverOpen!: boolean;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_inputIconFocused!: boolean;\n\n\t/**\n\t * Constantly updated value of texts collected from the associated labels\n\t * @private\n\t */\n\t@property({ type: String, noAttribute: true, defaultValue: undefined })\n\t_associatedLabelsTexts?: string;\n\n\t/**\n\t * Constantly updated value of texts collected from the accessibleNameRef elements\n\t * @private\n\t */\n\t@property({ type: String, noAttribute: true, defaultValue: undefined })\n\t_accessibleLabelsRefTexts?: string;\n\n\t/**\n\t * Defines the suggestion items.\n\t *

    \n\t * Example:\n\t *

    \n\t * <ui5-input show-suggestions>
    \n\t *     <ui5-suggestion-item text=\"Item #1\"></ui5-suggestion-item>
    \n\t *     <ui5-suggestion-item text=\"Item #2\"></ui5-suggestion-item>
    \n\t * </ui5-input>\n\t *
    \n\t * \n\t * \n\t * \n\t * \n\t * \n\t * \n\t * \n\t * \n\t *

    \n\t * Note: The suggestions would be displayed only if the showSuggestions\n\t * property is set to true.\n\t *

    \n\t * Note: The <ui5-suggestion-item> and <ui5-suggestion-group-item> are recommended to be used as suggestion items.\n\t *

    \n\t * Note: Importing the Input Suggestions Support feature:\n\t *
    \n\t * import \"@ui5/webcomponents/dist/features/InputSuggestions.js\";\n\t *
    \n\t * automatically imports the <ui5-suggestion-item> and <ui5-suggestion-group-item> for your convenience.\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\tsuggestionItems!: Array;\n\n\t/**\n\t * Defines the icon to be displayed in the component.\n\t *\n\t * @public\n\t */\n\t@slot()\n\ticon!: Array;\n\n\t/**\n\t * The slot is used for native input HTML element to enable form submit,\n\t * when name property is set.\n\t *\n\t * @private\n\t */\n\t@slot()\n\tformSupport!: Array;\n\n\t/**\n\t * Defines the value state message that will be displayed as pop up under the component.\n\t *

    \n\t *\n\t * Note: If not specified, a default text (in the respective language) will be displayed.\n\t *

    \n\t * Note: The valueStateMessage would be displayed,\n\t * when the component is in Information, Warning or Error value state.\n\t *

    \n\t * Note: If the component has suggestionItems,\n\t * the valueStateMessage would be displayed as part of the same popover, if used on desktop, or dialog - on phone.\n\t *\n\t * @since 1.0.0-rc.6\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\tinvalidateOnChildChange: true,\n\t\tcloned: true,\n\t})\n\tvalueStateMessage!: Array;\n\n\thasSuggestionItemSelected: boolean;\n\tvalueBeforeItemSelection: string;\n\tvalueBeforeItemPreview: string\n\tsuggestionSelectionCancelled: boolean;\n\tpreviousValue: string;\n\tfirstRendering: boolean;\n\ttypedInValue: string;\n\tlastConfirmedValue: string\n\tisTyping: boolean\n\tsuggestionObjects: Array;\n\t_handleResizeBound: ResizeObserverCallback;\n\t_keepInnerValue: boolean;\n\t_shouldAutocomplete?: boolean;\n\t_keyDown?: boolean;\n\t_isKeyNavigation?: boolean;\n\tSuggestions?: InputSuggestions;\n\tFormSupport?: typeof FormSupportT;\n\t_selectedText?: string;\n\t_clearIconClicked?: boolean;\n\t_focusedAfterClear: boolean;\n\t_performTextSelection?: boolean;\n\t_previewItem?: SuggestionListItem;\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\t\t// Indicates if there is selected suggestionItem.\n\t\tthis.hasSuggestionItemSelected = false;\n\n\t\t// Represents the value before user moves selection from suggestion item to another\n\t\t// and its value is updated after each move.\n\t\t// Note: Used to register and fire \"input\" event upon [SPACE] or [ENTER].\n\t\t// Note: The property \"value\" is updated upon selection move and can`t be used.\n\t\tthis.valueBeforeItemSelection = \"\";\n\n\t\t// Represents the value before user moves selection between the suggestion items\n\t\t// and its value remains the same when the user navigates up or down the list.\n\t\t// Note: Used to cancel selection upon [ESC].\n\t\tthis.valueBeforeItemPreview = \"\";\n\n\t\t// Indicates if the user selection has been canceled with [ESC].\n\t\tthis.suggestionSelectionCancelled = false;\n\n\t\t// tracks the value between focus in and focus out to detect that change event should be fired.\n\t\tthis.previousValue = \"\";\n\n\t\t// Indicates, if the component is rendering for first time.\n\t\tthis.firstRendering = true;\n\n\t\t// The typed in value.\n\t\tthis.typedInValue = \"\";\n\n\t\t// The last value confirmed by the user with \"ENTER\"\n\t\tthis.lastConfirmedValue = \"\";\n\n\t\t// Indicates, if the user is typing. Gets reset once popup is closed\n\t\tthis.isTyping = false;\n\n\t\t// Suggestions array initialization\n\t\tthis.suggestionObjects = [];\n\n\t\tthis._handleResizeBound = this._handleResize.bind(this);\n\n\t\tthis._keepInnerValue = false;\n\t\tthis._focusedAfterClear = false;\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._handleResizeBound);\n\t\tregisterUI5Element(this, this._updateAssociatedLabelsTexts.bind(this));\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._handleResizeBound);\n\t\tderegisterUI5Element(this);\n\t}\n\n\tonBeforeRendering() {\n\t\tif (!this._keepInnerValue) {\n\t\t\tthis._innerValue = this.value;\n\t\t}\n\n\t\tif (this.showSuggestions) {\n\t\t\tthis.enableSuggestions();\n\t\t\tthis.suggestionObjects = this.Suggestions!.defaultSlotProperties(this.typedInValue);\n\t\t}\n\n\t\tthis._effectiveShowClearIcon = (this.showClearIcon && !!this.value && !this.readonly && !this.disabled);\n\t\tthis.style.setProperty(getScopedVarName(\"--_ui5-input-icons-count\"), `${this.iconsCount}`);\n\n\t\tthis.FormSupport = getFeature(\"FormSupport\");\n\t\tconst hasItems = !!this.suggestionItems.length;\n\t\tconst hasValue = !!this.value;\n\t\tconst isFocused = this.shadowRoot!.querySelector(\"input\") === getActiveElement();\n\n\t\tif (this._isPhone) {\n\t\t\tthis.open = this.openOnMobile;\n\t\t} else if (this._forceOpen) {\n\t\t\tthis.open = true;\n\t\t} else {\n\t\t\tthis.open = hasValue && hasItems && isFocused && this.isTyping;\n\t\t}\n\n\t\tif (this.FormSupport) {\n\t\t\tthis.FormSupport.syncNativeHiddenInput(this);\n\t\t} else if (this.name) {\n\t\t\tconsole.warn(`In order for the \"name\" property to have effect, you should also: import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";`); // eslint-disable-line\n\t\t}\n\n\t\tconst value = this.value;\n\t\tconst innerInput = this.getInputDOMRefSync();\n\n\t\tif (!innerInput || !value) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst autoCompletedChars = innerInput.selectionEnd! - innerInput.selectionStart!;\n\n\t\t// Typehead causes issues on Android devices, so we disable it for now\n\t\t// If there is already a selection the autocomplete has already been performed\n\t\tif (this._shouldAutocomplete && !isAndroid() && !autoCompletedChars && !this._isKeyNavigation) {\n\t\t\tconst item = this._getFirstMatchingItem(value);\n\t\t\tif (item) {\n\t\t\t\tthis._handleTypeAhead(item);\n\t\t\t}\n\t\t}\n\t}\n\n\tasync onAfterRendering() {\n\t\tconst innerInput = this.getInputDOMRefSync()!;\n\n\t\tif (this.Suggestions && this.showSuggestions) {\n\t\t\tthis.Suggestions.toggle(this.open, {\n\t\t\t\tpreventFocusRestore: true,\n\t\t\t});\n\n\t\t\tthis._listWidth = await this.Suggestions._getListWidth();\n\t\t}\n\n\t\tif (this.shouldDisplayOnlyValueStateMessage) {\n\t\t\tthis.openPopover();\n\t\t} else {\n\t\t\tthis.closePopover();\n\t\t}\n\n\t\tif (this._performTextSelection) {\n\t\t\t// this is required to syncronize lit-html input's value and user's input\n\t\t\t// lit-html does not sync its stored value for the value property when the user is typing\n\t\t\tif (innerInput.value !== this._innerValue) {\n\t\t\t\tinnerInput.value = this._innerValue;\n\t\t\t}\n\n\t\t\tif (this.typedInValue.length && this.value.length) {\n\t\t\t\tinnerInput.setSelectionRange(this.typedInValue.length, this.value.length);\n\t\t\t}\n\t\t}\n\n\t\tthis._performTextSelection = false;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tthis._isKeyNavigation = true;\n\t\tthis._shouldAutocomplete = !this.noTypeahead && !(isBackSpace(e) || isDelete(e) || isEscape(e));\n\n\t\tif (isUp(e)) {\n\t\t\treturn this._handleUp(e);\n\t\t}\n\n\t\tif (isDown(e)) {\n\t\t\treturn this._handleDown(e);\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\treturn this._handleSpace(e);\n\t\t}\n\n\t\tif (isTabNext(e)) {\n\t\t\treturn this._handleTab();\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\treturn this._handleEnter(e);\n\t\t}\n\n\t\tif (isPageUp(e)) {\n\t\t\treturn this._handlePageUp(e);\n\t\t}\n\n\t\tif (isPageDown(e)) {\n\t\t\treturn this._handlePageDown(e);\n\t\t}\n\n\t\tif (isHome(e)) {\n\t\t\treturn this._handleHome(e);\n\t\t}\n\n\t\tif (isEnd(e)) {\n\t\t\treturn this._handleEnd(e);\n\t\t}\n\n\t\tif (isEscape(e)) {\n\t\t\treturn this._handleEscape();\n\t\t}\n\n\t\tif (this.showSuggestions) {\n\t\t\tthis._clearPopoverFocusAndSelection();\n\t\t}\n\n\t\tthis._keyDown = true;\n\t\tthis._isKeyNavigation = false;\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\t// The native Delete event does not update the value property \"on time\".\n\t\t// So, the (native) change event is always fired with the old value\n\t\tif (isDelete(e)) {\n\t\t\tthis.value = (e.target as HTMLInputElement).value;\n\t\t}\n\n\t\tthis._keyDown = false;\n\t}\n\n\t_handleUp(e: KeyboardEvent) {\n\t\tif (this.Suggestions && this.Suggestions.isOpened()) {\n\t\t\tthis.Suggestions.onUp(e);\n\t\t}\n\t}\n\n\t_handleDown(e: KeyboardEvent) {\n\t\tif (this.Suggestions && this.Suggestions.isOpened()) {\n\t\t\tthis.Suggestions.onDown(e);\n\t\t}\n\t}\n\n\t_handleSpace(e: KeyboardEvent) {\n\t\tif (this.Suggestions) {\n\t\t\tthis.Suggestions.onSpace(e);\n\t\t}\n\t}\n\n\t_handleTab() {\n\t\tif (this.Suggestions && (this.previousValue !== this.value)) {\n\t\t\tthis.Suggestions.onTab();\n\t\t}\n\t}\n\n\t_handleEnter(e: KeyboardEvent) {\n\t\tconst suggestionItemPressed = !!(this.Suggestions && this.Suggestions.onEnter(e));\n\n\t\tconst innerInput = this.getInputDOMRefSync()!;\n\t\t// Check for autocompleted item\n\t\tconst matchingItem = this.suggestionItems.find(item => {\n\t\t\treturn (item.text && item.text === this.value) || (item.textContent === this.value);\n\t\t});\n\n\t\tif (matchingItem) {\n\t\t\tconst itemText = matchingItem.text ? matchingItem.text : (matchingItem.textContent || \"\");\n\n\t\t\tinnerInput.setSelectionRange(itemText.length, itemText.length);\n\t\t\tif (!suggestionItemPressed) {\n\t\t\t\tthis.selectSuggestion(matchingItem, true);\n\t\t\t\tthis.open = false;\n\t\t\t}\n\t\t}\n\n\t\tif (this._isPhone && !this.suggestionItems.length && !this.isTypeNumber) {\n\t\t\tinnerInput.setSelectionRange(this.value.length, this.value.length);\n\t\t}\n\n\t\tif (!suggestionItemPressed) {\n\t\t\tthis.lastConfirmedValue = this.value;\n\n\t\t\tif (this.FormSupport) {\n\t\t\t\tthis.FormSupport.triggerFormSubmit(this);\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis.focused = true;\n\t}\n\n\t_handlePageUp(e: KeyboardEvent) {\n\t\tif (this._isSuggestionsFocused) {\n\t\t\tthis.Suggestions!.onPageUp(e);\n\t\t} else {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_handlePageDown(e: KeyboardEvent) {\n\t\tif (this._isSuggestionsFocused) {\n\t\t\tthis.Suggestions!.onPageDown(e);\n\t\t} else {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_handleHome(e: KeyboardEvent) {\n\t\tif (this._isSuggestionsFocused) {\n\t\t\tthis.Suggestions!.onHome(e);\n\t\t}\n\t}\n\n\t_handleEnd(e: KeyboardEvent) {\n\t\tif (this._isSuggestionsFocused) {\n\t\t\tthis.Suggestions!.onEnd(e);\n\t\t}\n\t}\n\n\t_handleEscape() {\n\t\tconst hasSuggestions = this.showSuggestions && !!this.Suggestions;\n\t\tconst isOpen = hasSuggestions && this.open;\n\t\tconst innerInput = this.getInputDOMRefSync()!;\n\t\tconst isAutoCompleted = innerInput.selectionEnd! - innerInput.selectionStart! > 0;\n\n\t\tthis.isTyping = false;\n\n\t\tif (!isOpen) {\n\t\t\tthis.value = this.lastConfirmedValue ? this.lastConfirmedValue : this.previousValue;\n\t\t\treturn;\n\t\t}\n\n\t\tif (isOpen && this.Suggestions!._isItemOnTarget()) {\n\t\t\t// Restore the value.\n\t\t\tthis.value = this.typedInValue || this.valueBeforeItemPreview;\n\n\t\t\t// Mark that the selection has been cancelled, so the popover can close\n\t\t\t// and not reopen, due to receiving focus.\n\t\t\tthis.suggestionSelectionCancelled = true;\n\t\t\tthis.focused = true;\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (isAutoCompleted) {\n\t\t\tthis.value = this.typedInValue;\n\t\t}\n\n\t\tif (this._isValueStateFocused) {\n\t\t\tthis._isValueStateFocused = false;\n\t\t\tthis.focused = true;\n\t\t}\n\t}\n\n\tasync _onfocusin(e: FocusEvent) {\n\t\tawait this.getInputDOMRef();\n\n\t\tthis.focused = true; // invalidating property\n\n\t\tif (!this._focusedAfterClear) {\n\t\t\tthis.previousValue = this.value;\n\t\t}\n\n\t\tthis.valueBeforeItemPreview = this.value;\n\t\tthis._inputIconFocused = !!e.target && e.target === this.querySelector(\"[ui5-icon]\");\n\t\tthis._focusedAfterClear = false;\n\t}\n\n\t/**\n\t * Called on \"focusin\" of the native input HTML Element.\n\t * Note: implemented in MultiInput, but used in the Input template.\n\t */\n\tinnerFocusIn(): void | undefined {}\n\n\t_onfocusout(e: FocusEvent) {\n\t\tconst toBeFocused = e.relatedTarget as HTMLElement;\n\t\tconst focusedOutToSuggestions = this.Suggestions && toBeFocused && toBeFocused.shadowRoot && toBeFocused.shadowRoot.contains(this.Suggestions.responsivePopover as Node);\n\t\tconst focusedOutToValueStateMessage = toBeFocused && toBeFocused.shadowRoot && toBeFocused.shadowRoot.querySelector(\".ui5-valuestatemessage-root\");\n\n\t\tthis._keepInnerValue = false;\n\n\t\tif (this.showClearIcon && !this._effectiveShowClearIcon) {\n\t\t\tthis._clearIconClicked = false;\n\t\t\tthis._handleChange();\n\t\t}\n\n\t\t// if focusout is triggered by pressing on suggestion item or value state message popover, skip invalidation, because re-rendering\n\t\t// will happen before \"itemPress\" event, which will make item \"active\" state not visualized\n\t\tif (focusedOutToSuggestions || focusedOutToValueStateMessage) {\n\t\t\te.stopImmediatePropagation();\n\t\t\treturn;\n\t\t}\n\n\t\tif (toBeFocused && (toBeFocused).classList.contains(this._id)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.open = false;\n\t\tthis._clearPopoverFocusAndSelection();\n\n\t\tif (!this._clearIconClicked) {\n\t\t\tthis.previousValue = \"\";\n\t\t}\n\n\t\tthis.lastConfirmedValue = \"\";\n\t\tthis.focused = false; // invalidating property\n\t\tthis.isTyping = false;\n\t\tthis._forceOpen = false;\n\t}\n\n\t_clearPopoverFocusAndSelection() {\n\t\tif (!this.showSuggestions || !this.Suggestions) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._isValueStateFocused = false;\n\t\tthis.hasSuggestionItemSelected = false;\n\n\t\tthis.Suggestions._deselectItems();\n\t\tthis.Suggestions._clearItemFocus();\n\t}\n\n\t_click() {\n\t\tif (isPhone() && !this.readonly && this.Suggestions) {\n\t\t\tthis.blur();\n\t\t\tthis.openOnMobile = true;\n\t\t}\n\t}\n\n\t_handleChange() {\n\t\tif (this._clearIconClicked) {\n\t\t\tthis._clearIconClicked = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.previousValue !== this.getInputDOMRefSync()!.value) {\n\t\t\tthis.fireEvent(INPUT_EVENTS.CHANGE);\n\t\t\tthis.previousValue = this.value;\n\t\t\tthis.typedInValue = this.value;\n\t\t}\n\t}\n\n\t_clear() {\n\t\tthis.value = \"\";\n\t\tthis.fireEvent(INPUT_EVENTS.INPUT);\n\t\tif (!this._isPhone) {\n\t\t\tthis.focus();\n\t\t\tthis._focusedAfterClear = true;\n\t\t}\n\t}\n\n\t_iconMouseDown() {\n\t\tthis._clearIconClicked = true;\n\t}\n\n\t_scroll(e: CustomEvent) {\n\t\tthis.fireEvent(\"suggestion-scroll\", {\n\t\t\tscrollTop: e.detail.scrollTop,\n\t\t\tscrollContainer: e.detail.targetRef,\n\t\t});\n\t}\n\n\t_handleInput(e: InputEvent | CustomEvent) {\n\t\tconst inputDomRef = this.getInputDOMRefSync();\n\t\tconst emptyValueFiredOnNumberInput = this.value && this.isTypeNumber && !inputDomRef!.value;\n\t\tconst eventType: string = (e as InputEvent).inputType\n\t\t\t|| (e.detail as InputEventDetail).inputType\n\t\t\t|| \"\";\n\t\tthis._keepInnerValue = false;\n\n\t\tconst allowedEventTypes = [\n\t\t\t\"deleteWordBackward\",\n\t\t\t\"deleteWordForward\",\n\t\t\t\"deleteSoftLineBackward\",\n\t\t\t\"deleteSoftLineForward\",\n\t\t\t\"deleteEntireSoftLine\",\n\t\t\t\"deleteHardLineBackward\",\n\t\t\t\"deleteHardLineForward\",\n\t\t\t\"deleteByDrag\",\n\t\t\t\"deleteByCut\",\n\t\t\t\"deleteContent\",\n\t\t\t\"deleteContentBackward\",\n\t\t\t\"deleteContentForward\",\n\t\t\t\"historyUndo\",\n\t\t];\n\n\t\tthis._shouldAutocomplete = !allowedEventTypes.includes(eventType) && !this.noTypeahead;\n\t\tthis.suggestionSelectionCancelled = false;\n\n\t\tif (e instanceof InputEvent) {\n\t\t\t// ---- Special cases of numeric Input ----\n\t\t\t// ---------------- Start -----------------\n\n\t\t\t// When the last character after the delimiter is removed.\n\t\t\t// In such cases, we want to skip the re-rendering of the\n\t\t\t// component as this leads to cursor repositioning and causes user experience issues.\n\n\t\t\t// There are few scenarios:\n\t\t\t// Example: type \"123.4\" and press BACKSPACE - the native input is firing event with the whole part as value (123).\n\t\t\t// Pressing BACKSPACE again will remove the delimiter and the native input will fire event with the whole part as value again (123).\n\t\t\t// Example: type \"123.456\", select/mark \"456\" and press BACKSPACE - the native input is firing event with the whole part as value (123).\n\t\t\t// Example: type \"123.456\", select/mark \"123.456\" and press BACKSPACE - the native input is firing event with empty value.\n\t\t\tconst delimiterCase = this.isTypeNumber\n\t\t\t\t&& (e.inputType === \"deleteContentForward\" || e.inputType === \"deleteContentBackward\")\n\t\t\t\t&& !(e.target as HTMLInputElement).value.includes(\".\")\n\t\t\t\t&& this.value.includes(\".\");\n\n\t\t\t// Handle special numeric notation with \"e\", example \"12.5e12\"\n\t\t\tconst eNotationCase = emptyValueFiredOnNumberInput && e.data === \"e\";\n\n\t\t\t// Handle special numeric notation with \"-\", example \"-3\"\n\t\t\t// When pressing BACKSPACE, the native input fires event with empty value\n\t\t\tconst minusRemovalCase = emptyValueFiredOnNumberInput\n\t\t\t\t&& this.value.startsWith(\"-\")\n\t\t\t\t&& this.value.length === 2\n\t\t\t\t&& (e.inputType === \"deleteContentForward\" || e.inputType === \"deleteContentBackward\");\n\n\t\t\tif (delimiterCase || eNotationCase || minusRemovalCase) {\n\t\t\t\tthis.value = (e.target as HTMLInputElement).value;\n\t\t\t\tthis._keepInnerValue = true;\n\t\t\t}\n\t\t\t// ----------------- End ------------------\n\t\t}\n\n\t\tif (e.target === inputDomRef) {\n\t\t\tthis.focused = true;\n\n\t\t\t// stop the native event, as the semantic \"input\" would be fired.\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis.fireEventByAction(INPUT_ACTIONS.ACTION_ENTER, e as InputEvent);\n\n\t\tthis.hasSuggestionItemSelected = false;\n\t\tthis._isValueStateFocused = false;\n\n\t\tif (this.Suggestions) {\n\t\t\tthis.Suggestions.updateSelectedItemPosition(-1);\n\t\t}\n\n\t\tthis.isTyping = true;\n\t}\n\n\t_startsWithMatchingItems(str: string): Array {\n\t\tconst textProp = this.suggestionItems[0].text ? \"text\" : \"textContent\";\n\n\t\treturn StartsWith(str, this.suggestionItems, textProp);\n\t}\n\n\t_getFirstMatchingItem(current: string) {\n\t\tif (!this.suggestionItems.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst matchingItems = this._startsWithMatchingItems(current).filter(item => !item.groupItem);\n\n\t\tif (matchingItems.length) {\n\t\t\treturn matchingItems[0];\n\t\t}\n\t}\n\n\t_handleTypeAhead(item: IInputSuggestionItem) {\n\t\tconst value = item.text ? item.text : item.textContent || \"\";\n\n\t\tthis._innerValue = value;\n\t\tthis.value = value;\n\t\tthis._performTextSelection = true;\n\n\t\tthis._shouldAutocomplete = false;\n\t}\n\n\t_handleResize() {\n\t\tthis._inputWidth = this.offsetWidth;\n\t}\n\n\t_updateAssociatedLabelsTexts() {\n\t\tthis._associatedLabelsTexts = getAssociatedLabelForTexts(this);\n\t\tthis._accessibleLabelsRefTexts = getAllAccessibleNameRefTexts(this);\n\t}\n\n\t_closeRespPopover() {\n\t\tthis.Suggestions!.close(true);\n\t}\n\n\tasync _afterOpenPopover() {\n\t\t// Set initial focus to the native input\n\t\tif (isPhone()) {\n\t\t\t(await this.getInputDOMRef())!.focus();\n\t\t}\n\t}\n\n\t_afterClosePopover() {\n\t\tthis.announceSelectedItem();\n\n\t\t// close device's keyboard and prevent further typing\n\t\tif (isPhone()) {\n\t\t\tthis.blur();\n\t\t\tthis.focused = false;\n\t\t}\n\n\t\tthis.openOnMobile = false;\n\t\tthis.open = false;\n\t\tthis._forceOpen = false;\n\n\t\tif (this.hasSuggestionItemSelected) {\n\t\t\tthis.focus();\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the value state popover is open.\n\t */\n\tisValueStateOpened() {\n\t\treturn !!this._isPopoverOpen;\n\t}\n\n\tasync openPopover() {\n\t\tconst popover = await this._getPopover();\n\n\t\tif (popover) {\n\t\t\tthis._isPopoverOpen = true;\n\t\t\tpopover.showAt(this);\n\t\t}\n\t}\n\n\tasync closePopover() {\n\t\tconst popover = await this._getPopover();\n\n\t\tpopover && popover.close();\n\t}\n\n\tasync _getPopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.querySelector(\"[ui5-popover]\")!;\n\t}\n\n\t/**\n\t * Manually opens the suggestions popover, assuming suggestions are enabled. Items must be preloaded for it to open.\n\t * @public\n\t * @since 1.3.0\n\t */\n\topenPicker() : void {\n\t\tif (!this.suggestionItems.length || this.disabled || this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._forceOpen = true;\n\t}\n\n\tenableSuggestions() {\n\t\tif (this.Suggestions) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst Suggestions = getFeature(\"InputSuggestions\");\n\n\t\tif (Suggestions) {\n\t\t\tthis.Suggestions = new Suggestions(this, \"suggestionItems\", true, false);\n\t\t} else {\n\t\t\tthrow new Error(`You have to import \"@ui5/webcomponents/dist/features/InputSuggestions.js\" module to use ui5-input suggestions`);\n\t\t}\n\t}\n\n\tselectSuggestion(item: IInputSuggestionItem, keyboardUsed: boolean) {\n\t\tif (item.groupItem) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst value = this.typedInValue || this.value;\n\t\tconst itemText = item.text || item.textContent || \"\"; // keep textContent for compatibility\n\t\tconst fireInput = keyboardUsed\n\t\t\t? this.valueBeforeItemSelection !== itemText : value !== itemText;\n\n\t\tthis.hasSuggestionItemSelected = true;\n\n\t\tconst valueOriginal = this.value;\n\t\tconst valueBeforeItemSelectionOriginal = this.valueBeforeItemSelection;\n\t\tconst lastConfirmedValueOriginal = this.lastConfirmedValue;\n\t\tconst performTextSelectionOriginal = this._performTextSelection;\n\t\tconst typedInValueOriginal = this.typedInValue;\n\t\tconst previousValueOriginal = this.previousValue;\n\n\t\tif (fireInput) {\n\t\t\tthis.value = itemText;\n\t\t\tthis.valueBeforeItemSelection = itemText;\n\t\t\tthis.lastConfirmedValue = itemText;\n\n\t\t\tthis._performTextSelection = true;\n\n\t\t\tthis.fireEvent(INPUT_EVENTS.CHANGE);\n\n\t\t\tif (isPhone()) {\n\t\t\t\tthis.fireEvent(INPUT_EVENTS.INPUT);\n\t\t\t}\n\n\t\t\t// value might change in the change event handler\n\t\t\tthis.typedInValue = this.value;\n\t\t\tthis.previousValue = this.value;\n\t\t}\n\n\t\tthis.valueBeforeItemPreview = \"\";\n\t\tthis.suggestionSelectionCancelled = false;\n\n\t\t// Fire suggestion-item-select event after input change events for backward compatibility, but revert all input properties set before suggestion was prevented.\n\t\t// For v2.0 this code will be reworked.\n\t\tconst isCancelledByUser = !this.fireEvent(INPUT_EVENTS.SUGGESTION_ITEM_SELECT, { item }, true);\n\n\t\tif (isCancelledByUser) {\n\t\t\tthis.Suggestions?._clearSelectedSuggestionAndAccInfo();\n\t\t\tthis.hasSuggestionItemSelected = false;\n\t\t\tthis.suggestionSelectionCancelled = true;\n\n\t\t\tif (fireInput) {\n\t\t\t\t// revert properties set during fireInput\n\t\t\t\tif (itemText === this.value) { // If no chnages were made to the input value after suggestion-item-select was prevented - revert value to the original text\n\t\t\t\t\tthis.value = valueOriginal;\n\t\t\t\t}\n\t\t\t\tthis.valueBeforeItemSelection = valueBeforeItemSelectionOriginal;\n\t\t\t\tthis.lastConfirmedValue = lastConfirmedValueOriginal;\n\t\t\t\tthis._performTextSelection = performTextSelectionOriginal;\n\t\t\t\tthis.typedInValue = typedInValueOriginal;\n\t\t\t\tthis.previousValue = previousValueOriginal;\n\t\t\t}\n\t\t}\n\n\t\tthis.isTyping = false;\n\t\tthis.openOnMobile = false;\n\t\tthis._forceOpen = false;\n\t}\n\n\tpreviewSuggestion(item: SuggestionListItem) {\n\t\tthis.valueBeforeItemSelection = this.value;\n\t\tthis.updateValueOnPreview(item);\n\t\tthis.announceSelectedItem();\n\t\tthis._previewItem = item;\n\t}\n\n\t/**\n\t * Updates the input value on item preview.\n\t * @param item The item that is on preview\n\t */\n\tupdateValueOnPreview(item: SuggestionListItem) {\n\t\tconst noPreview = item.type === \"Inactive\" || item.groupItem;\n\t\tconst itemValue = noPreview ? this.valueBeforeItemPreview : (item.effectiveTitle || item.textContent || \"\");\n\n\t\tthis.value = itemValue;\n\t\tthis._performTextSelection = true;\n\t}\n\n\t/**\n\t * The suggestion item on preview.\n\t * @default null\n\t * @public\n\t */\n\tget previewItem() : IInputSuggestionItem | null {\n\t\tif (!this._previewItem) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this.getSuggestionByListItem(this._previewItem);\n\t}\n\n\tasync fireEventByAction(action: INPUT_ACTIONS, e: InputEvent) {\n\t\tif (this.disabled || this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst inputValue = await this.getInputValue();\n\t\tconst isUserInput = action === INPUT_ACTIONS.ACTION_ENTER;\n\n\t\tthis.value = inputValue;\n\t\tthis.typedInValue = inputValue;\n\t\tthis.valueBeforeItemPreview = inputValue;\n\n\t\tif (isUserInput) { // input\n\t\t\tthis.fireEvent(INPUT_EVENTS.INPUT, { inputType: e.inputType });\n\t\t\t// Angular two way data binding\n\t\t\tthis.fireEvent(\"value-changed\");\n\t\t}\n\t}\n\n\tasync getInputValue() {\n\t\tconst domRef = this.getDomRef();\n\n\t\tif (domRef) {\n\t\t\treturn (await this.getInputDOMRef())!.value;\n\t\t}\n\t\treturn \"\";\n\t}\n\n\tasync getInputDOMRef() {\n\t\tif (isPhone() && this.Suggestions) {\n\t\t\tawait this.Suggestions._getSuggestionPopover();\n\t\t\treturn this.Suggestions.responsivePopover!.querySelector(\".ui5-input-inner-phone\")!;\n\t\t}\n\n\t\treturn this.nativeInput;\n\t}\n\n\tgetInputDOMRefSync() {\n\t\tif (isPhone() && this.Suggestions && this.Suggestions.responsivePopover) {\n\t\t\treturn this.Suggestions.responsivePopover.querySelector(\".ui5-input-inner-phone\")!.shadowRoot!.querySelector(\"input\")!;\n\t\t}\n\n\t\treturn this.nativeInput;\n\t}\n\n\t/**\n\t * Returns a reference to the native input element\n\t * @protected\n\t */\n\tget nativeInput() {\n\t\tconst domRef = this.getDomRef();\n\n\t\treturn domRef ? domRef.querySelector(`input`) : null;\n\t}\n\n\tget nativeInputWidth() {\n\t\treturn this.nativeInput ? this.nativeInput.offsetWidth : 0;\n\t}\n\n\tgetLabelableElementId() {\n\t\treturn this.getInputId();\n\t}\n\n\tgetSuggestionByListItem(item: SuggestionListItem): IInputSuggestionItem {\n\t\tconst key = parseInt(item.getAttribute(\"data-ui5-key\")!);\n\t\treturn this.suggestionItems[key];\n\t}\n\n\t/**\n\t * Returns if the suggestions popover is scrollable.\n\t * The method returns Promise that resolves to true,\n\t * if the popup is scrollable and false otherwise.\n\t */\n\tisSuggestionsScrollable() {\n\t\tif (!this.Suggestions) {\n\t\t\treturn Promise.resolve(false);\n\t\t}\n\n\t\treturn this.Suggestions._isScrollable();\n\t}\n\n\tgetInputId() {\n\t\treturn `${this._id}-inner`;\n\t}\n\n\t/* Suggestions interface */\n\tonItemMouseOver(e: MouseEvent) {\n\t\tconst item = e.target as SuggestionListItem;\n\t\tconst suggestion = this.getSuggestionByListItem(item);\n\t\tsuggestion && suggestion.fireEvent(\"mouseover\", {\n\t\t\titem: suggestion,\n\t\t\ttargetRef: item,\n\t\t});\n\t}\n\n\tonItemMouseOut(e: MouseEvent) {\n\t\tconst item = e.target as SuggestionListItem;\n\t\tconst suggestion = this.getSuggestionByListItem(item);\n\t\tsuggestion && suggestion.fireEvent(\"mouseout\", {\n\t\t\titem: suggestion,\n\t\t\ttargetRef: item,\n\t\t});\n\t}\n\n\tonItemMouseDown(e: MouseEvent) {\n\t\te.preventDefault();\n\t}\n\n\tonItemSelected(item: SuggestionItem, keyboardUsed: boolean) {\n\t\tthis.selectSuggestion(item, keyboardUsed);\n\t}\n\n\tonItemPreviewed(item: SuggestionListItem) {\n\t\tthis.previewSuggestion(item);\n\t\tthis.fireEvent(\"suggestion-item-preview\", {\n\t\t\titem: this.getSuggestionByListItem(item),\n\t\t\ttargetRef: item,\n\t\t});\n\t}\n\n\tget valueStateTypeMappings() {\n\t\treturn {\n\t\t\t\"Success\": Input.i18nBundle.getText(VALUE_STATE_TYPE_SUCCESS),\n\t\t\t\"Information\": Input.i18nBundle.getText(VALUE_STATE_TYPE_INFORMATION),\n\t\t\t\"Error\": Input.i18nBundle.getText(VALUE_STATE_TYPE_ERROR),\n\t\t\t\"Warning\": Input.i18nBundle.getText(VALUE_STATE_TYPE_WARNING),\n\t\t};\n\t}\n\n\tvalueStateTextMappings() {\n\t\treturn {\n\t\t\t\"Success\": Input.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t\t\"Information\": Input.i18nBundle.getText(VALUE_STATE_INFORMATION),\n\t\t\t\"Error\": Input.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t\"Warning\": Input.i18nBundle.getText(VALUE_STATE_WARNING),\n\t\t};\n\t}\n\n\tannounceSelectedItem() {\n\t\tconst invisibleText = this.shadowRoot!.querySelector(`[id=\"${this._id}-selectionText\"]`)!;\n\n\t\tinvisibleText.textContent = this.itemSelectionAnnounce;\n\t}\n\n\tget _readonly() {\n\t\treturn this.readonly && !this.disabled;\n\t}\n\n\tget _headerTitleText() {\n\t\treturn Input.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);\n\t}\n\n\tget clearIconAccessibleName() {\n\t\treturn Input.i18nBundle.getText(INPUT_CLEAR_ICON_ACC_NAME);\n\t}\n\n\tget inputType() {\n\t\treturn this.type.toLowerCase();\n\t}\n\n\tget isTypeNumber() {\n\t\treturn this.type === InputType.Number;\n\t}\n\n\tget suggestionsTextId() {\n\t\treturn this.showSuggestions ? `${this._id}-suggestionsText` : \"\";\n\t}\n\n\tget valueStateTextId() {\n\t\treturn this.hasValueState ? `${this._id}-valueStateDesc` : \"\";\n\t}\n\n\tget accInfo() {\n\t\tconst ariaHasPopupDefault = this.showSuggestions ? \"true\" : undefined;\n\t\tconst ariaAutoCompleteDefault = this.showSuggestions ? \"list\" : undefined;\n\t\tconst ariaDescribedBy = this._inputAccInfo.ariaDescribedBy ? `${this.suggestionsTextId} ${this.valueStateTextId} ${this._inputAccInfo.ariaDescribedBy}`.trim() : `${this.suggestionsTextId} ${this.valueStateTextId}`.trim();\n\n\t\tconst info = {\n\t\t\t\"input\": {\n\t\t\t\t\"ariaRoledescription\": this._inputAccInfo && (this._inputAccInfo.ariaRoledescription || undefined),\n\t\t\t\t\"ariaDescribedBy\": ariaDescribedBy || undefined,\n\t\t\t\t\"ariaInvalid\": this.valueState === ValueState.Error ? \"true\" : undefined,\n\t\t\t\t\"ariaHasPopup\": this._inputAccInfo.ariaHasPopup ? this._inputAccInfo.ariaHasPopup : ariaHasPopupDefault,\n\t\t\t\t\"ariaAutoComplete\": this._inputAccInfo.ariaAutoComplete ? this._inputAccInfo.ariaAutoComplete : ariaAutoCompleteDefault,\n\t\t\t\t\"role\": this._inputAccInfo && this._inputAccInfo.role,\n\t\t\t\t\"ariaControls\": this._inputAccInfo && this._inputAccInfo.ariaControls,\n\t\t\t\t\"ariaExpanded\": this._inputAccInfo && this._inputAccInfo.ariaExpanded,\n\t\t\t\t\"ariaDescription\": this._inputAccInfo && this._inputAccInfo.ariaDescription,\n\t\t\t\t\"ariaLabel\": (this._inputAccInfo && this._inputAccInfo.ariaLabel) || this._accessibleLabelsRefTexts || this.accessibleName || this._associatedLabelsTexts || undefined,\n\t\t\t},\n\t\t};\n\t\treturn info;\n\t}\n\n\tget nativeInputAttributes() {\n\t\treturn {\n\t\t\t\"min\": this.isTypeNumber ? this._nativeInputAttributes.min : undefined,\n\t\t\t\"max\": this.isTypeNumber ? this._nativeInputAttributes.max : undefined,\n\t\t\t\"step\": this.isTypeNumber ? (this._nativeInputAttributes.step || \"any\") : undefined,\n\t\t};\n\t}\n\n\tget ariaValueStateHiddenText() {\n\t\tif (!this.hasValueState) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst valueState = this.valueState !== ValueState.None ? this.valueStateTypeMappings[this.valueState] : \"\";\n\n\t\tif (this.shouldDisplayDefaultValueStateMessage) {\n\t\t\treturn this.valueStateText ? `${valueState} ${this.valueStateText}` : valueState;\n\t\t}\n\n\t\treturn `${valueState}`.concat(\" \", this.valueStateMessageText.map(el => el.textContent).join(\" \"));\n\t}\n\n\tget itemSelectionAnnounce() {\n\t\treturn this.Suggestions ? this.Suggestions.itemSelectionAnnounce : \"\";\n\t}\n\n\tget iconsCount(): number {\n\t\tconst slottedIconsCount = this.icon ? this.icon.length : 0;\n\t\tconst clearIconCount = Number(this._effectiveShowClearIcon) ?? 0;\n\t\treturn slottedIconsCount + clearIconCount;\n\t}\n\n\tget classes(): ClassMap {\n\t\treturn {\n\t\t\tpopover: {\n\t\t\t\t\"ui5-suggestions-popover\": this.showSuggestions,\n\t\t\t\t\"ui5-popover-with-value-state-header-phone\": this._isPhone && this.showSuggestions && this.hasValueStateMessage,\n\t\t\t\t\"ui5-popover-with-value-state-header\": !this._isPhone && this.showSuggestions && this.hasValueStateMessage,\n\t\t\t},\n\t\t\tpopoverValueState: {\n\t\t\t\t\"ui5-valuestatemessage-root\": true,\n\t\t\t\t\"ui5-valuestatemessage-header\": true,\n\t\t\t\t\"ui5-valuestatemessage--success\": this.valueState === ValueState.Success,\n\t\t\t\t\"ui5-valuestatemessage--error\": this.valueState === ValueState.Error,\n\t\t\t\t\"ui5-valuestatemessage--warning\": this.valueState === ValueState.Warning,\n\t\t\t\t\"ui5-valuestatemessage--information\": this.valueState === ValueState.Information,\n\t\t\t},\n\t\t};\n\t}\n\n\tget styles() {\n\t\tconst remSizeIxPx = parseInt(getComputedStyle(document.documentElement).fontSize);\n\n\t\tconst stylesObject = {\n\t\t\tpopoverHeader: {\n\t\t\t\t\"max-width\": this._inputWidth ? `${this._inputWidth}px` : \"\",\n\t\t\t},\n\t\t\tsuggestionPopoverHeader: {\n\t\t\t\t\"display\": this._listWidth === 0 ? \"none\" : \"inline-block\",\n\t\t\t\t\"width\": this._listWidth ? `${this._listWidth}px` : \"\",\n\t\t\t},\n\t\t\tsuggestionsPopover: {\n\t\t\t\t\"min-width\": this._inputWidth ? `${this._inputWidth}px` : \"\",\n\t\t\t\t\"max-width\": this._inputWidth && (this._inputWidth / remSizeIxPx) > 40 ? `${this._inputWidth}px` : \"40rem\",\n\t\t\t},\n\t\t\tinnerInput: {\n\t\t\t\t\"padding\": \"\",\n\t\t\t},\n\t\t};\n\n\t\treturn stylesObject;\n\t}\n\n\tget suggestionSeparators() {\n\t\treturn \"None\";\n\t}\n\n\tget valueStateMessageText() {\n\t\treturn this.getSlottedNodes(\"valueStateMessage\").map(el => el.cloneNode(true));\n\t}\n\n\tget shouldDisplayOnlyValueStateMessage() {\n\t\treturn this.hasValueStateMessage && !this.readonly && !this.open && this.focused;\n\t}\n\n\tget shouldDisplayDefaultValueStateMessage() {\n\t\treturn !this.valueStateMessage.length && this.hasValueStateMessage;\n\t}\n\n\tget hasValueState() {\n\t\treturn this.valueState !== ValueState.None;\n\t}\n\n\tget hasValueStateMessage() {\n\t\treturn this.hasValueState && this.valueState !== ValueState.Success\n\t\t\t&& (!this._inputIconFocused // Handles the cases when valueStateMessage is forwarded (from datepicker e.g.)\n\t\t\t\t|| !!(this._isPhone && this.Suggestions)); // Handles Input with suggestions on mobile\n\t}\n\n\tget valueStateText() {\n\t\treturn this.valueState !== ValueState.None ? this.valueStateTextMappings()[this.valueState] : undefined;\n\t}\n\n\tget suggestionsText() {\n\t\treturn Input.i18nBundle.getText(INPUT_SUGGESTIONS);\n\t}\n\n\tget availableSuggestionsCount() {\n\t\tif (this.showSuggestions && (this.value || this.Suggestions!.isOpened())) {\n\t\t\tconst nonGroupItems = this.suggestionObjects.filter(item => !item.groupItem);\n\n\t\t\tswitch (nonGroupItems.length) {\n\t\t\tcase 0:\n\t\t\t\treturn Input.i18nBundle.getText(INPUT_SUGGESTIONS_NO_HIT);\n\n\t\t\tcase 1:\n\t\t\t\treturn Input.i18nBundle.getText(INPUT_SUGGESTIONS_ONE_HIT);\n\n\t\t\tdefault:\n\t\t\t\treturn Input.i18nBundle.getText(INPUT_SUGGESTIONS_MORE_HITS, nonGroupItems.length);\n\t\t\t}\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget step() {\n\t\treturn this.isTypeNumber ? \"any\" : undefined;\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget _isSuggestionsFocused() {\n\t\treturn !this.focused && this.Suggestions && this.Suggestions.isOpened();\n\t}\n\n\t/**\n\t * Returns the placeholder value.\n\t * @protected\n\t */\n\tget _placeholder() {\n\t\treturn this.placeholder;\n\t}\n\n\t/**\n\t * This method is relevant for sap_horizon theme only\n\t */\n\tget _valueStateInputIcon() {\n\t\tconst iconPerValueState = {\n\t\t\tError: ``,\n\t\t\tWarning: ``,\n\t\t\tSuccess: ``,\n\t\t\tInformation: ``,\n\t\t};\n\n\t\tif (this.valueState !== ValueState.None) {\n\t\t\treturn `\n\t\t\t\n\t\t\t\t${iconPerValueState[this.valueState]};\n\t\t\t\n\t\t\t`;\n\t\t}\n\n\t\treturn \"\";\n\t}\n\n\tget _valueStatePopoverHorizontalAlign() {\n\t\treturn this.effectiveDir !== \"rtl\" ? \"Left\" : \"Right\";\n\t}\n\n\t/**\n\t * This method is relevant for sap_horizon theme only\n\t */\n\tget _valueStateMessageInputIcon() {\n\t\tconst iconPerValueState = {\n\t\t\tError: \"error\",\n\t\t\tWarning: \"alert\",\n\t\t\tSuccess: \"sys-enter-2\",\n\t\t\tInformation: \"information\",\n\t\t};\n\n\t\treturn this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : \"\";\n\t}\n\n\t/**\n\t * Returns the caret position inside the native input\n\t * @protected\n\t */\n\tgetCaretPosition(): number | null {\n\t\treturn getCaretPosition(this.nativeInput!);\n\t}\n\n\t/**\n\t * Sets the caret to a certain position inside the native input\n\t * @protected\n\t */\n\tsetCaretPosition(pos: number | null) {\n\t\tsetCaretPosition(this.nativeInput!, pos);\n\t}\n\n\t/**\n\t * Removes the fractional part of floating-point number.\n\t * @param value the numeric value of Input of type \"Number\"\n\t */\n\tremoveFractionalPart(value: string) {\n\t\tif (value.includes(\".\")) {\n\t\t\treturn value.slice(0, value.indexOf(\".\"));\n\t\t}\n\t\tif (value.includes(\",\")) {\n\t\t\treturn value.slice(0, value.indexOf(\",\"));\n\t\t}\n\n\t\treturn value;\n\t}\n\n\tstatic async onDefine() {\n\t\tconst Suggestions = getFeature(\"InputSuggestions\");\n\n\t\t[Input.i18nBundle] = await Promise.all([\n\t\t\tgetI18nBundle(\"@ui5/webcomponents\"),\n\t\t\tSuggestions ? Suggestions.init() : Promise.resolve(),\n\t\t]);\n\t}\n}\n\nInput.define();\n\nexport default Input;\nexport type {\n\tIInputSuggestionItem,\n\tInputSuggestionScrollEventDetail,\n\tInputSuggestionItemSelectEventDetail,\n\tInputSuggestionItemPreviewEventDetail,\n\tInputEventDetail,\n};\n","const escapeReg = /[[\\]{}()*+?.\\\\^$|]/g;\n\nconst escapeRegExp = (str: string): string => {\n\treturn str.replace(escapeReg, \"\\\\$&\");\n};\n\nconst StartsWithPerTerm = (value: string, items: Array, propName: string) => {\n\tconst reg = new RegExp(`(^|\\\\s)${escapeRegExp(value.toLowerCase())}.*`, \"g\");\n\n\treturn items.filter(item => {\n\t\tconst text = item[propName as keyof typeof item] as string;\n\n\t\treg.lastIndex = 0;\n\n\t\treturn reg.test(text.toLowerCase());\n\t});\n};\n\nconst StartsWith = (value: string, items: Array, propName: string): Array => items.filter(item => (item[propName as keyof typeof item] as string).toLowerCase().startsWith(value.toLowerCase()));\nconst Contains = (value: string, items: Array, propName: string): Array => items.filter(item => (item[propName as keyof typeof item] as string).toLowerCase().includes(value.toLowerCase()));\nconst None = (_: string, items: Array): Array => items;\n\nexport {\n\tStartsWithPerTerm,\n\tStartsWith,\n\tContains,\n\tNone,\n};\n","'use client';\n\nimport '@ui5/webcomponents/dist/Input.js';\nimport { withWebComponent } from '../../internal/withWebComponent.js';\n/**\n * The `Input` component allows the user to enter and edit text or numeric values in one line.\n * Additionally, you can provide `suggestionItems`, that are displayed in a popover right under the input.\n *\n * The text field can be editable or read-only (`readonly` property), and it can be enabled or disabled (`disabled` property). To visualize semantic states, such as \"error\" or \"warning\", the `valueState` property is provided. When the user makes changes to the text, the change event is fired, which enables you to react on any text change.\n *\n * **Note:** If you are using the `Input` as a single npm module, don't forget to import the `InputSuggestions` module from \"@ui5/webcomponents/dist/features/InputSuggestions.js\" to enable the suggestions functionality.\n *\n * ### Keyboard Handling\n *\n * The `Input` provides the following keyboard shortcuts:\n *\n * * \\[ESC\\] - Closes the suggestion list, if open. If closed or not enabled, cancels changes and reverts to the value which the Input field had when it got the focus.\n * * \\[ENTER\\] or \\[RETURN\\] - If suggestion list is open takes over the current matching item and closes it. If value state or group header is focused, does nothing.\n * * \\[DOWN\\] - Focuses the next matching item in the suggestion list.\n * * \\[UP\\] - Focuses the previous matching item in the suggestion list.\n * * \\[HOME\\] - If focus is in the text input, moves caret before the first character. If focus is in the list, highlights the first item and updates the input accordingly.\n * * \\[END\\] - If focus is in the text input, moves caret after the last character. If focus is in the list, highlights the last item and updates the input accordingly.\n * * \\[PAGEUP\\] - If focus is in the list, moves highlight up by page size (10 items by default). If focus is in the input, does nothing.\n * * \\[PAGEDOWN\\] - If focus is in the list, moves highlight down by page size (10 items by default). If focus is in the input, does nothing.\n *\n *\n * `import \"@ui5/webcomponents/dist/features/InputSuggestions.js\";` (optional - for input suggestions support)\n *\n * __Note__: This is a UI5 Web Component! [Repository](https://github.com/SAP/ui5-webcomponents) | [Documentation](https://sap.github.io/ui5-webcomponents/playground/)\n */\nconst Input = withWebComponent('ui5-input', ['accessibleName', 'accessibleNameRef', 'maxlength', 'name', 'placeholder', 'type', 'value', 'valueState'], ['disabled', 'noTypeahead', 'readonly', 'required', 'showClearIcon', 'showSuggestions'], ['icon', 'valueStateMessage'], ['change', 'input', 'suggestion-item-preview', 'suggestion-item-select']);\nInput.displayName = 'Input';\nexport { Input };","import React, { useCallback } from 'react';\nimport { stopPropagation } from '../../../../internal/stopPropagation.js';\nimport { Input } from '../../../../webComponents/Input/index.js';\nexport const DefaultFilterComponent = ({\n column\n}) => {\n const handleChange = useCallback(e => {\n column.setFilter(e.target.value || undefined);\n }, [column.setFilter]);\n const handleKeyDown = e => {\n if (e.key !== 'Enter') {\n stopPropagation(e);\n }\n };\n // todo remove \"undefined\" check if wc issue has been fixed (https://github.com/SAP/ui5-webcomponents/issues/2616)\n return /*#__PURE__*/React.createElement(Input, {\n onInput: handleChange,\n value: column.filterValue ?? '',\n showClearIcon: true,\n onKeyDown: handleKeyDown\n });\n};","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"navigation-down-arrow\";\nconst pathData = \"M425.5 137q9-9 22.5-9t22.5 9q10 10 10 23t-10 23l-193 197q-4 2-5 3-2 1-2.5 1.5t-2.5 1.5q-6 2-11 2-2 0-3-.5t-2-.5q-4 0-6-1t-3.5-2-3.5-2q-1-1-1.5-1t-1.5-1-2-1l-192-196q-10-10-10-23t10-23q9-9 22.5-9t22.5 9l154 155q16 10 32 0z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v4\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v4/navigation-down-arrow\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"navigation-down-arrow\";\nconst pathData = \"M96 186q0-11 7.5-18.5T122 160q10 0 18 8l116 121 116-121q8-8 18-8 11 0 18.5 7.5T416 186q0 10-7 17L275 344q-8 8-19 8-12 0-18-8L103 203q-7-7-7-17z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v5\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v5/navigation-down-arrow\";\nexport { pathData, ltr, accData };","import { isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { pathData as pathDatav4, ltr, accData } from \"./v4/navigation-down-arrow.js\";\nimport { pathData as pathDatav5 } from \"./v5/navigation-down-arrow.js\";\n\nconst pathData = isLegacyThemeFamily() ? pathDatav4 : pathDatav5;\n\nexport default \"navigation-down-arrow\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"navigation-right-arrow\";\nconst pathData = \"M296 268q11-12 0-23L139 86q-10-10-10-23t10-22q9-10 22-10t23 10l191 193q9 9 9 22.5t-9 22.5L183 471q-10 10-23 10t-23-10q-9-9-9-22.5t9-22.5z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v4\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v4/navigation-right-arrow\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"navigation-right-arrow\";\nconst pathData = \"M186 416q-11 0-18.5-7.5T160 390q0-10 8-18l121-116-121-116q-8-8-8-18 0-11 7.5-18.5T186 96q10 0 17 7l141 134q8 8 8 19 0 12-8 18L203 409q-7 7-17 7z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v5\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v5/navigation-right-arrow\";\nexport { pathData, ltr, accData };","import { isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { pathData as pathDatav4, ltr, accData } from \"./v4/navigation-right-arrow.js\";\nimport { pathData as pathDatav5 } from \"./v5/navigation-right-arrow.js\";\n\nconst pathData = isLegacyThemeFamily() ? pathDatav4 : pathDatav5;\n\nexport default \"navigation-right-arrow\";\nexport { pathData, ltr, accData };","'use client';\n\nimport '@ui5/webcomponents/dist/Button.js';\nimport { withWebComponent } from '../../internal/withWebComponent.js';\n/**\n * The `Button` component represents a simple push button. It enables users to trigger actions by clicking or tapping the `Button`, or by pressing certain keyboard keys, such as Enter.\n *\n * ### Usage\n *\n * For the `Button` UI, you can define text, icon, or both. You can also specify whether the text or the icon is displayed first.\n *\n * You can choose from a set of predefined types that offer different styling to correspond to the triggered action.\n *\n * You can set the `Button` as enabled or disabled. An enabled `Button` can be pressed by clicking or tapping it. The button changes its style to provide visual feedback to the user that it is pressed or hovered over with the mouse cursor. A disabled `Button` appears inactive and cannot be pressed.\n *\n * __Note__: This is a UI5 Web Component! [Repository](https://github.com/SAP/ui5-webcomponents) | [Documentation](https://sap.github.io/ui5-webcomponents/playground/)\n */\nconst Button = withWebComponent('ui5-button', ['accessibleName', 'accessibleNameRef', 'design', 'icon', 'tooltip', 'type'], ['disabled', 'iconEnd', 'submits'], [], ['click']);\nButton.displayName = 'Button';\nexport { Button };","import iconNavDownArrow from '@ui5/webcomponents-icons/dist/navigation-down-arrow.js';\nimport iconNavRightArrow from '@ui5/webcomponents-icons/dist/navigation-right-arrow.js';\nimport { CssSizeVariables, ThemingParameters, useCurrentTheme } from '@ui5/webcomponents-react-base';\nimport React from 'react';\nimport { createUseStyles } from 'react-jss';\nimport { ButtonDesign } from '../../../../enums/index.js';\nimport { Button, Icon } from '../../../../webComponents/index.js';\nconst getPadding = level => {\n switch (level) {\n case 0:\n return '0px';\n case 1:\n return CssSizeVariables.ui5WcrAnalyticalTableTreePaddingLevel1;\n case 2:\n return CssSizeVariables.ui5WcrAnalyticalTableTreePaddingLevel2;\n case 3:\n return CssSizeVariables.ui5WcrAnalyticalTableTreePaddingLevel3;\n default:\n return `calc(${CssSizeVariables.ui5WcrAnalyticalTableTreePaddingLevel3} + ${level - 3}rem * 0.5)`;\n }\n};\nconst useStyles = createUseStyles({\n container: {\n height: CssSizeVariables.ui5WcrAnalyticalTableExpandButtonHeight,\n marginInlineEnd: '0.125rem'\n },\n icon: {\n color: ThemingParameters.sapContent_IconColor,\n width: '100%',\n height: '100%',\n display: 'flex',\n alignItems: 'center',\n '&::part(root)': {\n padding: '0.375rem',\n width: CssSizeVariables.ui5WcrAnalyticalTableExpandIconHeight,\n height: CssSizeVariables.ui5WcrAnalyticalTableExpandIconHeight\n }\n },\n button: {\n color: ThemingParameters.sapTextColor,\n height: '100%',\n fontSize: '0.75rem'\n }\n}, {\n name: 'ExpandableIndicatorStyles'\n});\nexport const Expandable = props => {\n const {\n cell,\n row,\n column,\n visibleColumns: columns,\n webComponentsReactProperties\n } = props;\n const {\n renderRowSubComponent,\n alwaysShowSubComponent,\n translatableTexts\n } = webComponentsReactProperties;\n const currentTheme = useCurrentTheme();\n const classes = useStyles();\n const shouldRenderButton = currentTheme === 'sap_horizon' || currentTheme === 'sap_horizon_dark';\n const tableColumns = columns.filter(({\n id\n }) => id !== '__ui5wcr__internal_selection_column' && id !== '__ui5wcr__internal_highlight_column' && id !== '__ui5wcr__internal_navigation_column');\n const columnIndex = tableColumns.findIndex(col => col.id === column.id);\n let paddingLeft;\n if (row.canExpand) {\n paddingLeft = columnIndex === 0 ? getPadding(row.depth) : 0;\n } else {\n paddingLeft = columnIndex === 0 ? `calc(${getPadding(row.depth)} + 2rem)` : 0;\n }\n const style = {\n paddingInlineStart: paddingLeft\n };\n const rowProps = row.getToggleRowExpandedProps();\n const subComponentExpandable = typeof renderRowSubComponent === 'function' && !!renderRowSubComponent(row) && !alwaysShowSubComponent;\n return /*#__PURE__*/React.createElement(React.Fragment, null, columnIndex === 0 && (row.canExpand || subComponentExpandable) ?\n /*#__PURE__*/\n // todo rowProps should be applied to the whole row, not just the cell. We should consider refactoring this.\n React.createElement(\"span\", {\n title: row.isExpanded ? translatableTexts.collapseNodeA11yText : translatableTexts.expandNodeA11yText,\n style: {\n ...rowProps.style,\n ...style\n },\n className: classes.container,\n \"aria-expanded\": row.isExpanded,\n \"aria-label\": row.isExpanded ? translatableTexts.collapseA11yText : translatableTexts.expandA11yText\n }, shouldRenderButton ? /*#__PURE__*/React.createElement(Button, {\n icon: row.isExpanded ? iconNavDownArrow : iconNavRightArrow,\n design: ButtonDesign.Transparent,\n onClick: rowProps.onClick,\n className: classes.button\n }) : /*#__PURE__*/React.createElement(Icon, {\n onClick: rowProps.onClick,\n interactive: true,\n name: row.isExpanded ? iconNavDownArrow : iconNavRightArrow,\n \"data-component-name\": \"AnalyticalTableExpandIcon\",\n className: classes.icon\n })) : /*#__PURE__*/React.createElement(\"span\", {\n style: style\n }), cell.render('Cell'));\n};","import iconNavDownArrow from '@ui5/webcomponents-icons/dist/navigation-down-arrow.js';\nimport iconNavRightArrow from '@ui5/webcomponents-icons/dist/navigation-right-arrow.js';\nimport React from 'react';\nimport { TextAlign } from '../../../../enums/index.js';\nimport { Icon } from '../../../../webComponents/index.js';\nconst tableGroupExpandCollapseIcon = {\n color: 'var(--sapContent_IconColor)',\n height: '0.75rem',\n width: '0.75rem',\n padding: '0.625rem',\n display: 'block'\n};\nexport const Grouped = props => {\n const {\n cell,\n row,\n webComponentsReactProperties\n } = props;\n const {\n translatableTexts\n } = webComponentsReactProperties;\n const style = {};\n if (cell.column.hAlign && (cell.column.hAlign !== TextAlign.Left || cell.column.hAlign !== TextAlign.Begin)) {\n style.marginRight = 'auto';\n }\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"span\", {\n ...row.getToggleRowExpandedProps({\n style,\n column: cell.column\n }),\n title: row.isExpanded ? translatableTexts.collapseNodeA11yText : translatableTexts.expandNodeA11yText\n }, /*#__PURE__*/React.createElement(Icon, {\n name: row.isExpanded ? iconNavDownArrow : iconNavRightArrow,\n style: tableGroupExpandCollapseIcon\n })), cell.render('Cell'));\n};","import { ThemingParameters } from '@ui5/webcomponents-react-base';\nimport React from 'react';\nimport { createUseStyles } from 'react-jss';\nimport { makeRenderer } from 'react-table';\nimport { FlexBoxAlignItems, FlexBoxDirection, FlexBoxWrap } from '../../../../enums/index.js';\nimport { FlexBox } from '../../../FlexBox/index.js';\nimport { Text } from '../../../Text/index.js';\nconst PopInStyles = {\n container: {\n width: '100%'\n },\n defaultCell: {\n fontFamily: `${ThemingParameters.sapFontBoldFamily}`,\n '& *': {\n fontFamily: `${ThemingParameters.sapFontBoldFamily}`\n }\n },\n header: {\n height: '16px'\n }\n};\nconst useStyles = createUseStyles(PopInStyles, {\n name: 'PopIn'\n});\nexport const PopIn = instance => {\n const {\n state,\n contentToRender,\n cell,\n row,\n internalRowHeight\n } = instance;\n const classes = useStyles();\n return /*#__PURE__*/React.createElement(FlexBox, {\n direction: FlexBoxDirection.Column,\n className: classes.container\n }, /*#__PURE__*/React.createElement(FlexBox, {\n alignItems: contentToRender !== 'Grouped' && contentToRender !== 'Expandable' ? FlexBoxAlignItems.Start : FlexBoxAlignItems.Center,\n wrap: FlexBoxWrap.NoWrap,\n className: classes.defaultCell,\n style: {\n height: internalRowHeight\n }\n }, cell.render(contentToRender)), contentToRender !== 'Grouped' && state.popInColumns?.map(item => {\n const popInInstanceProps = row.allCells.find(cell => cell.column.id === item.id);\n const renderHeader = () => {\n if (item.column.PopInHeader) {\n return typeof item.column.PopInHeader === 'function' ? item.column.PopInHeader({\n ...instance,\n ...popInInstanceProps\n }) : item.column.PopInHeader;\n }\n return typeof item.column.Header === 'function' ? makeRenderer({\n ...instance,\n ...popInInstanceProps\n }, item.column)(item.column.Header) : item.column.Header;\n };\n const renderCell = () => {\n if (item.column?.Cell) {\n const cell = item.column.Cell;\n if (typeof cell === 'string') {\n return /*#__PURE__*/React.createElement(Text, {\n wrapping: false,\n title: cell\n }, cell);\n }\n return makeRenderer({\n ...instance,\n ...popInInstanceProps,\n isPopIn: true\n }, item.column)(item.column.Cell);\n }\n return popInInstanceProps?.value ? /*#__PURE__*/React.createElement(Text, {\n wrapping: false,\n title: popInInstanceProps.value\n }, popInInstanceProps.value) : null;\n };\n return /*#__PURE__*/React.createElement(FlexBox, {\n direction: FlexBoxDirection.Column,\n key: item.id\n }, item.column?.Header && /*#__PURE__*/React.createElement(\"div\", {\n className: classes.header\n }, renderHeader(), \":\"), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n height: internalRowHeight\n }\n }, popInInstanceProps && renderCell()));\n }));\n};","import { VerticalAlign } from '../../../../enums/index.js';\nimport { DefaultFilterComponent } from '../FilterComponent/index.js';\nimport { Cell } from './Cell.js';\nimport { Expandable } from './Expandable.js';\nimport { Grouped } from './Grouped.js';\nimport { PopIn } from './PopIn.js';\nimport { RepeatedValue } from './RepeatedValue.js';\nexport const DEFAULT_COLUMN_WIDTH = 60;\nexport const DefaultColumn = {\n Filter: DefaultFilterComponent,\n minWidth: DEFAULT_COLUMN_WIDTH,\n vAlign: VerticalAlign.Middle,\n Grouped: Grouped,\n Cell: Cell,\n Expandable: Expandable,\n RepeatedValue: RepeatedValue,\n PopIn: PopIn\n};","import React from 'react';\nexport const Cell = ({\n cell: {\n value = '',\n isGrouped\n },\n row,\n webComponentsReactProperties\n}) => {\n let cellContent = `${value ?? ''}`;\n if (isGrouped) {\n cellContent += ` (${row.subRows.length})`;\n }\n return /*#__PURE__*/React.createElement(\"span\", {\n title: cellContent,\n className: webComponentsReactProperties.classes.tableText\n }, cellContent);\n};","'use client';\nimport { getTheme } from '@ui5/webcomponents-base/dist/config/Theme.js';\nimport { attachThemeLoaded, detachThemeLoaded } from '@ui5/webcomponents-base/dist/Theming.js';\nimport { useEffect, useState } from 'react';\nexport function useCurrentTheme() {\n const [theme, setLocalTheme] = useState(getTheme());\n useEffect(() => {\n const onThemeSwitch = (newTheme) => {\n setLocalTheme(newTheme);\n };\n attachThemeLoaded(onThemeSwitch);\n return () => {\n detachThemeLoaded(onThemeSwitch);\n };\n }, []);\n return theme;\n}\n","export const RepeatedValue = () => null;","export let LoaderType = /*#__PURE__*/function (LoaderType) {\n LoaderType[\"Determinate\"] = \"Determinate\";\n LoaderType[\"Indeterminate\"] = \"Indeterminate\";\n return LoaderType;\n}({});","import { ThemingParameters } from '@ui5/webcomponents-react-base';\nexport const styles = {\n '@keyframes scroll': {\n '0%': {\n backgroundPosition: '-100% 0'\n },\n '100%': {\n backgroundPosition: '200% 0'\n }\n },\n loader: {\n position: 'relative',\n height: '0.25rem',\n width: '100%',\n '&:before': {\n content: '\"\"',\n width: '100%',\n height: '100%',\n position: 'absolute',\n left: 0,\n backgroundColor: ThemingParameters.sapContent_BusyColor,\n opacity: 0.15\n },\n '&$loaderDeterminate': {\n background: `linear-gradient(to right, ${ThemingParameters.sapContent_BusyColor}, ${ThemingParameters.sapContent_BusyColor})`,\n backgroundRepeat: 'repeat-y'\n },\n '&$loaderIndeterminate': {\n background: `linear-gradient(\n to right,\n transparent 0px,\n ${ThemingParameters.sapContent_BusyColor} calc(50% - 2rem),\n ${ThemingParameters.sapContent_BusyColor} calc(50% + 2rem),\n transparent 100%\n )`,\n backgroundSize: '40%',\n backgroundRepeat: 'repeat-y',\n animation: '$scroll 1.2s linear infinite'\n }\n },\n loaderDeterminate: {},\n loaderIndeterminate: {}\n};","'use client';\n\nimport { useI18nBundle } from '@ui5/webcomponents-react-base';\nimport { clsx } from 'clsx';\nimport React, { forwardRef, useEffect, useState } from 'react';\nimport { createUseStyles } from 'react-jss';\nimport { LoaderType } from '../../enums/index.js';\nimport { PLEASE_WAIT } from '../../i18n/i18n-defaults.js';\nimport { styles } from './Loader.jss.js';\nconst useStyles = createUseStyles(styles, {\n name: 'Loader'\n});\n/**\n * The `Loader` signals that an operation is currently being executed. It uses as little space as possible to allow the user to interact with the UI.
    \n * It can be used to signal a data update on an already existing dataset, or where an expansion will happen.\n */\nconst Loader = /*#__PURE__*/forwardRef((props, ref) => {\n const {\n className,\n type,\n progress,\n slot,\n style,\n delay,\n ...rest\n } = props;\n const classes = useStyles();\n const [isVisible, setIsVisible] = useState(delay === 0);\n const loaderClasses = clsx(classes.loader, className, classes[`loader${type}`]);\n const backgroundSize = type !== LoaderType.Determinate ? '40%' : progress;\n useEffect(() => {\n let timeout;\n if (delay > 0) {\n timeout = setTimeout(() => {\n setIsVisible(true);\n }, delay);\n }\n return () => {\n clearTimeout(timeout);\n };\n }, []);\n const i18nBundle = useI18nBundle('@ui5/webcomponents-react');\n if (!isVisible) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: ref,\n className: loaderClasses,\n \"data-component-name\": \"Loader\",\n \"aria-busy\": \"true\",\n role: \"progressbar\",\n title: i18nBundle.getText(PLEASE_WAIT),\n slot: slot,\n style: {\n ...style,\n backgroundSize\n },\n ...rest\n });\n});\nLoader.defaultProps = {\n type: LoaderType.Indeterminate,\n progress: '0px',\n delay: 0\n};\nLoader.displayName = 'Loader';\nexport { Loader };","import { CssSizeVariables } from '@ui5/webcomponents-react-base';\nimport React from 'react';\nimport { createUseStyles } from 'react-jss';\nimport { Loader } from '../../../Loader/index.js';\nconst styles = {\n loader: {\n position: 'absolute',\n top: CssSizeVariables.ui5WcrAnalyticalTableHeaderRowHeight,\n left: 0,\n right: 0,\n zIndex: 1\n }\n};\nconst useStyles = createUseStyles(styles, {\n name: 'LoadingComponent'\n});\nconst DefaultLoadingComponent = ({\n style\n}) => {\n const classes = useStyles();\n return /*#__PURE__*/React.createElement(Loader, {\n delay: 500,\n style: style,\n className: classes.loader\n });\n};\nDefaultLoadingComponent.displayName = 'DefaultLoadingComponent';\nexport { DefaultLoadingComponent };","import { TextAlign, VerticalAlign } from '../../../enums/index.js';\n\n// copied from https://github.com/tannerlinsley/react-table/blob/f97fb98509d0b27cc0bebcf3137872afe4f2809e/src/utils.js#L320-L347 (13. Jan 2021)\nconst reOpenBracket = /\\[/g;\nconst reCloseBracket = /]/g;\nfunction makePathArray(obj) {\n return flattenDeep(obj)\n // remove all periods in parts\n .map(d => String(d).replace('.', '_'))\n // join parts using period\n .join('.')\n // replace brackets with periods\n .replace(reOpenBracket, '.').replace(reCloseBracket, '')\n // split it back out on periods\n .split('.');\n}\nfunction flattenDeep(arr, newArr = []) {\n if (!Array.isArray(arr)) {\n newArr.push(arr);\n } else {\n for (let i = 0; i < arr.length; i += 1) {\n flattenDeep(arr[i], newArr);\n }\n }\n return newArr;\n}\n\n// copied from https://github.com/tannerlinsley/react-table/blob/master/src/utils.js#L169-L191 (13.Jan 2021)\nconst pathObjCache = new Map();\nexport function getBy(obj, path, def) {\n if (!path) {\n return obj;\n }\n const cacheKey = typeof path === 'function' ? path : JSON.stringify(path);\n const pathObj = pathObjCache.get(cacheKey) || (() => {\n const pathObj = makePathArray(path);\n pathObjCache.set(cacheKey, pathObj);\n return pathObj;\n })();\n let val;\n try {\n val = pathObj.reduce((cursor, pathPart) => {\n return cursor[pathPart];\n }, obj);\n } catch (e) {\n // continue regardless of error\n }\n return typeof val !== 'undefined' ? val : def;\n}\nexport const tagNamesWhichShouldNotSelectARow = new Set(['UI5-AVATAR', 'UI5-BUTTON', 'UI5-CALENDAR', 'UI5-CHECKBOX', 'UI5-COLOR-PICKER', 'UI5-COMBOBOX', 'UI5-DATE-PICKER', 'UI5-DATERANGE-PICKER', 'UI5-DATETIME-PICKER', 'UI5-DURATION-PICKER', 'UI5-FILE-UPLOADER', 'UI5-ICON', 'UI5-INPUT', 'UI5-LINK', 'UI5-MULTI-COMBOBOX', 'UI5-MULTI-INPUT', 'UI5-RADIO-BUTTON', 'UI5-RANGE-SLIDER', 'UI5-RATING-INDICATOR', 'UI5-SEGMENTED-BUTTON', 'UI5-SELECT', 'UI5-SLIDER', 'UI5-STEP-INPUT', 'UI5-SWITCH', 'UI5-TEXT-AREA', 'UI5-TIME-PICKER', 'UI5-TOGGLE-BUTTON', 'UI5-UPLOAD-COLLECTION']);\nexport const resolveCellAlignment = column => {\n const style = {};\n switch (column.hAlign) {\n case TextAlign.Begin:\n style.justifyContent = 'flex-start';\n style.textAlign = 'start';\n break;\n case TextAlign.Center:\n style.justifyContent = 'center';\n style.textAlign = 'center';\n break;\n case TextAlign.End:\n style.justifyContent = 'flex-end';\n style.textAlign = 'end';\n break;\n case TextAlign.Left:\n style.justifyContent = 'left';\n style.textAlign = 'left';\n break;\n case TextAlign.Right:\n style.justifyContent = 'right';\n style.textAlign = 'right';\n break;\n case TextAlign.Initial:\n style.justifyContent = 'initial';\n style.textAlign = 'initial';\n break;\n }\n switch (column.vAlign) {\n case VerticalAlign.Bottom:\n style.alignItems = 'flex-end';\n break;\n case VerticalAlign.Middle:\n style.alignItems = 'center';\n break;\n case VerticalAlign.Top:\n style.alignItems = 'flex-start';\n break;\n }\n return style;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function getRowHeight(rowHeight, tableRef) {\n if (rowHeight) {\n return rowHeight;\n }\n if (typeof document !== 'undefined') {\n return parseInt(getComputedStyle(tableRef.current ?? document.body).getPropertyValue('--_ui5wcr-AnalyticalTableRowHeight') || '44');\n }\n\n // fallback for SSR\n return 44;\n}\nexport function getSubRowsByString(subRowsKey, row) {\n if (!subRowsKey.includes('.')) {\n return row.subRows || row[subRowsKey];\n } else {\n return subRowsKey.split('.').reduce((acc, cur) => acc?.[cur], row);\n }\n}\n\n// copied from https://github.com/TanStack/table/blob/06703a56890122cedf1b2fa4b82982999537774e/src/plugin-hooks/useResizeColumns.js#L286-L296 (22. Aug 2023)\nexport function getLeafHeaders(header) {\n const leafHeaders = [];\n const recurseHeader = header => {\n if (header.columns && header.columns.length) {\n header.columns.map(recurseHeader);\n }\n leafHeaders.push(header);\n };\n recurseHeader(header);\n return leafHeaders;\n}","import { CssSizeVariables, ThemingParameters } from '@ui5/webcomponents-react-base';\nimport { clsx } from 'clsx';\nimport React from 'react';\nimport { createUseStyles } from 'react-jss';\nimport { resolveCellAlignment } from '../../util/index.js';\nconst getArrayOfLength = len => Array.from(Array(len).keys());\nconst useStyles = createUseStyles({\n '@keyframes placeholderShimmer': {\n '0%': {\n backgroundPositionX: '100%'\n },\n '100%': {\n backgroundPositionX: '0'\n }\n },\n animation: {\n animationDuration: '2s',\n animationFillMode: 'forwards',\n animationIterationCount: 'infinite',\n animationName: '$placeholderShimmer',\n animationTimingFunction: 'linear',\n backgroundImage: ThemingParameters.sapContent_Placeholderloading_Gradient,\n backgroundRepeat: 'no-repeat',\n backgroundSize: '1000px 104px'\n },\n row: {\n display: 'flex',\n alignItems: 'center',\n height: CssSizeVariables.ui5WcrAnalyticalTableRowHeight\n },\n cellContainer: {\n display: 'flex',\n paddingInline: '0.25rem',\n boxSizing: 'border-box'\n },\n cell: {\n height: ThemingParameters.sapFontSize,\n width: '60%',\n borderRadius: ThemingParameters.sapElement_BorderCornerRadius\n }\n}, {\n name: 'AnalyticalTablePlaceholder '\n});\nexport const TablePlaceholder = props => {\n const {\n columns,\n rows,\n style\n } = props;\n const classes = useStyles();\n return /*#__PURE__*/React.createElement(\"div\", {\n style: {\n backgroundColor: ThemingParameters.sapList_Background,\n width: '100%',\n ...style\n },\n \"data-component-name\": \"AnalyticalTableLoadingPlaceholder\"\n }, getArrayOfLength(rows).map((_, index) => {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classes.row,\n key: `row-${index}`\n }, columns.map(col => {\n return /*#__PURE__*/React.createElement(\"div\", {\n key: `row${index}-${col.id}`,\n className: classes.cellContainer,\n style: {\n width: col.totalWidth,\n ...resolveCellAlignment(col)\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: clsx(classes.cell, classes.animation)\n }));\n }));\n }));\n};\nTablePlaceholder.displayName = 'TablePlaceholder';\nTablePlaceholder.defaultProps = {\n rows: 5\n};","import React from 'react';\nexport const DefaultNoDataComponent = ({\n noDataText,\n className,\n style\n}) => {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: className,\n style: style\n }, noDataText);\n};","import { AnalyticalTableSelectionBehavior, AnalyticalTableSelectionMode } from '../../../enums/index.js';\nconst setCellProps = (cellProps, {\n cell,\n instance\n}) => {\n const {\n column,\n row,\n value\n } = cell;\n const columnIndex = instance.visibleColumns.findIndex(({\n id\n }) => id === column.id);\n const {\n alwaysShowSubComponent,\n renderRowSubComponent,\n translatableTexts,\n selectionMode,\n selectionBehavior\n } = instance.webComponentsReactProperties;\n const updatedCellProps = {\n 'aria-colindex': columnIndex + 1,\n role: 'gridcell'\n }; // aria index is 1 based, not 0\n\n const RowSubComponent = typeof renderRowSubComponent === 'function' ? renderRowSubComponent(row) : undefined;\n const rowIsExpandable = row.canExpand || RowSubComponent && !alwaysShowSubComponent;\n const userCols = instance.visibleColumns.filter(({\n id\n }) => id !== '__ui5wcr__internal_selection_column' && id !== '__ui5wcr__internal_highlight_column' && id !== '__ui5wcr__internal_navigation_column');\n const isFirstUserCol = userCols[0]?.id === column.id || userCols[0]?.accessor === column.accessor;\n updatedCellProps['data-is-first-column'] = isFirstUserCol;\n updatedCellProps['aria-label'] = column.headerLabel || (typeof column.Header === 'string' ? column.Header : '');\n if (updatedCellProps['aria-label']) {\n updatedCellProps['aria-label'] += ' ';\n }\n if (isFirstUserCol && rowIsExpandable || row.isGrouped && row.canExpand) {\n updatedCellProps.onKeyDown = row.getToggleRowExpandedProps?.()?.onKeyDown;\n let ariaLabel = '';\n if (row.isGrouped) {\n ariaLabel += translatableTexts.groupedA11yText + ',';\n }\n if (row.isExpanded) {\n updatedCellProps['aria-expanded'] = 'true';\n ariaLabel += ` ${translatableTexts.collapseA11yText}`;\n } else {\n updatedCellProps['aria-expanded'] = 'false';\n ariaLabel += ` ${translatableTexts.expandA11yText}`;\n }\n updatedCellProps['aria-label'] += ariaLabel;\n } else if (selectionMode !== AnalyticalTableSelectionMode.None && selectionBehavior !== AnalyticalTableSelectionBehavior.RowSelector && !row.isGrouped || column.id === '__ui5wcr__internal_selection_column') {\n if (row.isSelected) {\n updatedCellProps['aria-selected'] = 'true';\n updatedCellProps['aria-label'] += `${value ?? ''} ${translatableTexts.unselectA11yText}`;\n } else {\n updatedCellProps['aria-selected'] = 'false';\n updatedCellProps['aria-label'] += `${value ?? ''} ${translatableTexts.selectA11yText}`;\n }\n }\n return [cellProps, updatedCellProps];\n};\nconst setHeaderProps = (headerProps, {\n column,\n instance\n}) => {\n const {\n translatableTexts\n } = instance.webComponentsReactProperties;\n if (!column) {\n return headerProps;\n }\n const isFiltered = column?.filterValue && column?.filterValue.length > 0;\n const updatedProps = {};\n updatedProps['aria-label'] = column.headerLabel ??= '';\n if (updatedProps['aria-label']) {\n updatedProps['aria-label'] += ' ';\n }\n if (column.isSorted) {\n updatedProps['aria-sort'] = column.isSortedDesc ? 'descending' : 'ascending';\n }\n if (isFiltered) {\n updatedProps['aria-label'] += translatableTexts.filteredA11yText;\n }\n if (column.isGrouped) {\n if (updatedProps['aria-label']) {\n updatedProps['aria-label'] += ` ${translatableTexts.groupedA11yText}`;\n } else {\n updatedProps['aria-label'] += translatableTexts.groupedA11yText;\n }\n }\n return [headerProps, {\n isFiltered,\n ...updatedProps\n }];\n};\nexport const useA11y = hooks => {\n hooks.getCellProps.push(setCellProps);\n hooks.getHeaderProps.push(setHeaderProps);\n};\nuseA11y.pluginName = 'useA11y';","import { enrichEventWithDetails } from '@ui5/webcomponents-react-base';\nconst getColumnId = column => {\n return typeof column.accessor === 'string' ? column.accessor : column.id;\n};\nfunction getHeaderProps(props, {\n instance: {\n dispatch,\n state,\n columns,\n setColumnOrder,\n webComponentsReactProperties\n }\n}) {\n const {\n columnOrder,\n columnResizing,\n isRtl,\n dndColumn\n } = state;\n const {\n onColumnsReorder\n } = webComponentsReactProperties;\n const handleDragStart = e => {\n if (columnResizing.isResizingColumn || !e.target.draggable) {\n e.preventDefault();\n return;\n }\n e.dataTransfer.setData('text', e.currentTarget.dataset.columnId);\n };\n const handleDragOver = e => {\n e.preventDefault();\n };\n const handleDragEnter = e => {\n dispatch({\n type: 'COLUMN_DND_START',\n payload: e.currentTarget.dataset.columnId\n });\n };\n const handleOnDragEnd = () => {\n dispatch({\n type: 'COLUMN_DND_END'\n });\n };\n const handleOnDrop = e => {\n dispatch({\n type: 'COLUMN_DND_END'\n });\n const droppedColId = e.currentTarget.dataset.columnId;\n const draggedColId = e.dataTransfer.getData('text');\n if (droppedColId === draggedColId) return;\n const internalColumnOrder = columnOrder.length > 0 ? columnOrder : columns.map(col => getColumnId(col));\n const droppedColIdx = internalColumnOrder.findIndex(col => col === droppedColId);\n const draggedColIdx = internalColumnOrder.findIndex(col => col === draggedColId);\n const tempCols = [...internalColumnOrder];\n const targetIndex = droppedColIdx > draggedColIdx ? isRtl ? droppedColIdx : droppedColIdx - 1 : droppedColIdx;\n tempCols.splice(targetIndex, 0, tempCols.splice(draggedColIdx, 1)[0]);\n setColumnOrder(tempCols);\n if (typeof onColumnsReorder === 'function') {\n const columnsNewOrder = tempCols.map(tempColId => columns.find(col => getColumnId(col) === tempColId));\n onColumnsReorder(enrichEventWithDetails(e, {\n columnsNewOrder,\n column: columns[draggedColIdx]\n }));\n }\n };\n return [props, {\n onDragStart: handleDragStart,\n onDragEnter: handleDragEnter,\n onDragOver: handleDragOver,\n onDragEnd: handleOnDragEnd,\n onDrop: handleOnDrop,\n dragOver: dndColumn === props.id\n }];\n}\nexport function useColumnDragAndDrop(hooks) {\n hooks.getHeaderProps.push(getHeaderProps);\n}","import { useMemo } from 'react';\nimport { AnalyticalTableScaleWidthMode } from '../../../enums/index.js';\nimport { DEFAULT_COLUMN_WIDTH } from '../defaults/Column/index.js';\nconst ROW_SAMPLE_SIZE = 20;\nconst MAX_WIDTH = 700;\nconst CELL_PADDING_PX = 18; /* padding left and right 0.5rem each (16px) + borders (1px) + buffer (1px) */\n\nfunction findLongestString(str1, str2) {\n if (typeof str1 !== 'string' || typeof str2 !== 'string') {\n return str1 || str2 || undefined;\n }\n return str1.length > str2.length ? str1 : str2;\n}\nfunction getContentPxAvg(rowSample, columnIdOrAccessor, uniqueId) {\n return rowSample.reduce((acc, item) => {\n const dataPoint = item.values?.[columnIdOrAccessor];\n let val = 0;\n if (dataPoint) {\n val = stringToPx(dataPoint, uniqueId) + CELL_PADDING_PX;\n }\n return acc + val;\n }, 0) / (rowSample.length || 1);\n}\nfunction stringToPx(dataPoint, id, isHeader = false) {\n const elementId = isHeader ? 'scaleModeHelperHeader' : 'scaleModeHelper';\n const ruler = document.getElementById(`${elementId}-${id}`);\n if (ruler) {\n ruler.innerHTML = `${dataPoint}`;\n return ruler.scrollWidth;\n }\n return 0;\n}\nconst columnsDeps = (deps, {\n instance: {\n state,\n webComponentsReactProperties,\n visibleColumns,\n data,\n rows,\n columns\n }\n}) => {\n const isLoadingPlaceholder = !data?.length && webComponentsReactProperties.loading;\n const hasRows = rows?.length > 0;\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const colsEqual = useMemo(() => {\n return visibleColumns?.filter(col => col.id !== '__ui5wcr__internal_selection_column' && col.id !== '__ui5wcr__internal_highlight_column' && col.id !== '__ui5wcr__internal_navigation_column').every(visCol => {\n const id = visCol.id ?? visCol.accessor;\n return columns.some(item => {\n return item.accessor === id || item.id === id;\n });\n });\n }, [visibleColumns, columns]);\n return [...deps, hasRows, colsEqual, visibleColumns?.length, !state.tableColResized && state.tableClientWidth, state.hiddenColumns.length, webComponentsReactProperties.scaleWidthMode, isLoadingPlaceholder];\n};\nconst smartColumns = (columns, instance, hiddenColumns) => {\n const {\n rows,\n state,\n webComponentsReactProperties\n } = instance;\n const rowSample = rows.slice(0, ROW_SAMPLE_SIZE);\n const {\n tableClientWidth: totalWidth\n } = state;\n const visibleColumns = columns.filter(column => (column.isVisible ?? true) && !hiddenColumns.includes(column.id ?? column.accessor));\n const columnMeta = visibleColumns.reduce((metadata, column) => {\n const columnIdOrAccessor = column.id ?? column.accessor;\n if (column.id === '__ui5wcr__internal_selection_column' || column.id === '__ui5wcr__internal_highlight_column' || column.id === '__ui5wcr__internal_navigation_column') {\n metadata[columnIdOrAccessor] = {\n headerPx: column.width || column.minWidth || 60,\n contentPxAvg: 0\n };\n return metadata;\n }\n let headerPx, contentPxAvg;\n if (column.scaleWidthModeOptions?.cellString) {\n contentPxAvg = stringToPx(column.scaleWidthModeOptions.cellString, webComponentsReactProperties.uniqueId) + CELL_PADDING_PX;\n } else {\n contentPxAvg = getContentPxAvg(rowSample, columnIdOrAccessor, webComponentsReactProperties.uniqueId);\n }\n if (column.scaleWidthModeOptions?.headerString) {\n headerPx = Math.max(stringToPx(column.scaleWidthModeOptions.headerString, webComponentsReactProperties.uniqueId, true) + CELL_PADDING_PX, 60);\n } else {\n headerPx = typeof column.Header === 'string' ? Math.max(stringToPx(column.Header, webComponentsReactProperties.uniqueId, true) + CELL_PADDING_PX, 60) : 60;\n }\n metadata[columnIdOrAccessor] = {\n headerPx,\n contentPxAvg\n };\n return metadata;\n }, {});\n let totalContentPxAvgPrio1 = 0;\n let totalNumberColPrio2 = 0;\n\n // width reserved by predefined widths or columns defined by header\n const reservedWidth = visibleColumns.reduce((acc, column) => {\n const columnIdOrAccessor = column.id ?? column.accessor;\n const {\n contentPxAvg,\n headerPx\n } = columnMeta[columnIdOrAccessor];\n if (contentPxAvg > headerPx) {\n if (!column.minWidth && !column.width) {\n totalContentPxAvgPrio1 += columnMeta[columnIdOrAccessor].contentPxAvg;\n totalNumberColPrio2++;\n return acc;\n } else {\n return acc + Math.max(column.minWidth || 0, column.width || 0);\n }\n } else {\n if (!column.minWidth && !column.width) {\n totalNumberColPrio2++;\n }\n const max = Math.max(column.minWidth || 0, column.width || 0, headerPx);\n columnMeta[columnIdOrAccessor].headerDefinesWidth = true;\n return acc + max;\n }\n }, 0);\n const availableWidthPrio1 = totalWidth - reservedWidth;\n let availableWidthPrio2 = availableWidthPrio1;\n\n // Step 1: Give columns defined by content more space (priority 1)\n const visibleColumnsAdaptedPrio1 = visibleColumns.map(column => {\n const columnIdOrAccessor = column.id ?? column.accessor;\n const meta = columnMeta[columnIdOrAccessor];\n if (meta && !column.minWidth && !column.width && !meta.headerDefinesWidth) {\n let targetWidth;\n const {\n contentPxAvg,\n headerPx\n } = meta;\n if (availableWidthPrio1 > 0) {\n const factor = contentPxAvg / totalContentPxAvgPrio1;\n targetWidth = Math.max(Math.min(availableWidthPrio1 * factor, contentPxAvg), headerPx);\n availableWidthPrio2 -= targetWidth;\n }\n return {\n ...column,\n nextWidth: targetWidth || headerPx\n };\n }\n return column;\n });\n // Step 2: Give all columns more space (priority 2)\n return visibleColumnsAdaptedPrio1.map(column => {\n const columnIdOrAccessor = column.id ?? column.accessor;\n const meta = columnMeta[columnIdOrAccessor];\n const {\n headerPx\n } = meta;\n if (meta && !column.minWidth && !column.width) {\n let targetWidth = column.nextWidth || headerPx;\n if (availableWidthPrio2 > 0) {\n targetWidth = targetWidth + availableWidthPrio2 * (1 / totalNumberColPrio2);\n }\n return {\n ...column,\n width: targetWidth\n };\n } else {\n return {\n ...column,\n width: Math.max(column.width || 0, 60, headerPx)\n };\n }\n });\n};\nconst columns = (columns, {\n instance\n}) => {\n if (!instance.state || !instance.rows) {\n return columns;\n }\n const {\n rows,\n state\n } = instance;\n const {\n hiddenColumns,\n tableClientWidth: totalWidth\n } = state;\n const {\n scaleWidthMode,\n loading,\n uniqueId\n } = instance.webComponentsReactProperties;\n if (columns.length === 0 || !totalWidth || !AnalyticalTableScaleWidthMode[scaleWidthMode]) {\n return columns;\n }\n\n // map columns to visibleColumns\n const visibleColumns = instance.visibleColumns.map(visCol => {\n const column = columns.find(col => {\n return col.id === visCol.id || col.accessor !== undefined && visCol.id !== undefined && col.accessor === visCol.id;\n });\n if (column) {\n return column;\n }\n return column ?? false;\n }).filter(Boolean);\n if (scaleWidthMode === AnalyticalTableScaleWidthMode.Smart) {\n return smartColumns(columns, instance, hiddenColumns);\n }\n const calculateDefaultTableWidth = () => {\n const columnsWithWidthProperties = visibleColumns.filter(column => column.width ?? column.minWidth ?? column.maxWidth ?? false).map(column => ({\n accessor: column.id ?? column.accessor,\n minWidth: column.minWidth,\n width: column.width,\n maxWidth: column.maxWidth\n }));\n let availableWidth = totalWidth;\n let defaultColumnsCount = visibleColumns.length;\n const columnsWithFixedWidth = columnsWithWidthProperties.map(column => {\n const {\n width,\n minWidth,\n maxWidth,\n accessor\n } = column;\n if (width) {\n // necessary because of default minWidth\n const acceptedWidth = accessor !== '__ui5wcr__internal_highlight_column' && accessor !== '__ui5wcr__internal_selection_column' && accessor !== '__ui5wcr__internal_navigation_column' && width < 60 ? 60 : width;\n availableWidth -= acceptedWidth;\n defaultColumnsCount--;\n return acceptedWidth;\n }\n const columnsWithMaxWidth = columnsWithWidthProperties.filter(item => item.maxWidth);\n const aggregatedColumnsMaxWidth = columnsWithMaxWidth.reduce((acc, cur) => acc + cur.maxWidth, 0);\n const aggregatedColumnsMinWidth = columnsWithWidthProperties.filter(item => item.minWidth && !item.maxWidth).reduce((acc, cur) => acc + cur.minWidth, 0);\n if (minWidth > availableWidth / defaultColumnsCount) {\n // don't apply minWidth if enough space is available because of maxWidth properties\n if (availableWidth - aggregatedColumnsMaxWidth > aggregatedColumnsMinWidth + (visibleColumns.length - columnsWithWidthProperties.length) * 60) {\n // apply minWidth only if it's larger than the calculated available width\n if (minWidth > (availableWidth - aggregatedColumnsMaxWidth) / columnsWithMaxWidth.length) {\n availableWidth -= minWidth;\n defaultColumnsCount--;\n return minWidth;\n }\n return false;\n }\n availableWidth -= minWidth;\n defaultColumnsCount--;\n return minWidth;\n }\n if (maxWidth < availableWidth / defaultColumnsCount) {\n availableWidth -= maxWidth;\n defaultColumnsCount--;\n return maxWidth;\n }\n return false;\n }).filter(Boolean);\n const fixedWidth = columnsWithFixedWidth.reduce((acc, val) => acc + val, 0);\n // check if columns are visible and table has width\n if (visibleColumns.length > 0 && totalWidth > 0) {\n // set fixedWidth as defaultWidth if all visible columns have fixed value\n if (visibleColumns.length === columnsWithFixedWidth.length) {\n return fixedWidth / visibleColumns.length;\n }\n // spread default columns\n if (totalWidth >= fixedWidth + defaultColumnsCount * DEFAULT_COLUMN_WIDTH) {\n return (totalWidth - fixedWidth) / defaultColumnsCount;\n }\n }\n return DEFAULT_COLUMN_WIDTH;\n };\n const hasData = instance.data.length > 0;\n if (scaleWidthMode === AnalyticalTableScaleWidthMode.Default || !hasData && loading) {\n const defaultWidth = calculateDefaultTableWidth();\n return columns.map(column => ({\n ...column,\n width: column.width ?? defaultWidth\n }));\n }\n\n // AnalyticalTableScaleWidthMode.Grow\n\n const rowSample = rows.slice(0, ROW_SAMPLE_SIZE);\n const columnMeta = visibleColumns.reduce((acc, column) => {\n const columnIdOrAccessor = column.id ?? column.accessor;\n if (column.id === '__ui5wcr__internal_selection_column' || column.id === '__ui5wcr__internal_highlight_column' || column.id === '__ui5wcr__internal_navigation_column') {\n acc[columnIdOrAccessor] = {\n minHeaderWidth: column.width,\n fullWidth: column.width\n };\n return acc;\n }\n const smartWidth = findLongestString(column.scaleWidthModeOptions?.headerString, column.scaleWidthModeOptions?.cellString);\n if (smartWidth) {\n const width = Math.max(stringToPx(smartWidth, uniqueId) + CELL_PADDING_PX, 60);\n acc[columnIdOrAccessor] = {\n minHeaderWidth: width,\n fullWidth: width\n };\n return acc;\n }\n const minHeaderWidth = typeof column.Header === 'string' ? stringToPx(column.Header, uniqueId, true) + CELL_PADDING_PX : DEFAULT_COLUMN_WIDTH;\n acc[columnIdOrAccessor] = {\n minHeaderWidth,\n fullWidth: Math.max(minHeaderWidth, getContentPxAvg(rowSample, columnIdOrAccessor, uniqueId))\n };\n return acc;\n }, {});\n let reservedWidth = visibleColumns.reduce((acc, column) => {\n const {\n minHeaderWidth,\n fullWidth\n } = columnMeta[column.id ?? column.accessor];\n return acc + Math.max(column.minWidth || 0, column.width || 0, minHeaderWidth || 0, fullWidth) || 0;\n }, 0);\n let availableWidth = totalWidth - reservedWidth;\n if (availableWidth > 0) {\n let notReservedCount = 0;\n reservedWidth = visibleColumns.reduce((acc, column) => {\n const reserved = Math.max(column.minWidth || 0, column.width || 0) || 0;\n if (!reserved) {\n notReservedCount++;\n }\n return acc + reserved;\n }, 0);\n availableWidth = totalWidth - reservedWidth;\n return columns.map(column => {\n const isColumnVisible = (column.isVisible ?? true) && !hiddenColumns.includes(column.id ?? column.accessor);\n const meta = columnMeta[column.id ?? column.accessor];\n if (isColumnVisible && meta) {\n const {\n minHeaderWidth\n } = meta;\n const targetWidth = availableWidth / notReservedCount;\n return {\n ...column,\n width: column.width ?? targetWidth,\n minWidth: column.minWidth ?? minHeaderWidth\n };\n }\n return column;\n });\n }\n return columns.map(column => {\n const isColumnVisible = (column.isVisible ?? true) && !hiddenColumns.includes(column.id ?? column.accessor);\n const meta = columnMeta[column.id ?? column.accessor];\n if (isColumnVisible && meta) {\n const {\n fullWidth\n } = meta;\n return {\n ...column,\n width: column.width ?? fullWidth,\n maxWidth: column.maxWidth ?? MAX_WIDTH\n };\n }\n return column;\n });\n};\nexport const useDynamicColumnWidths = hooks => {\n hooks.columns.push(columns);\n hooks.columnsDeps.push(columnsDeps);\n};","import { useCallback, useEffect, useRef } from 'react';\nimport { actions } from 'react-table';\nimport { getLeafHeaders } from '../util/index.js';\nconst CELL_DATA_ATTRIBUTES = ['visibleColumnIndex', 'columnIndex', 'rowIndex', 'visibleRowIndex'];\nconst getFirstVisibleCell = (target, currentlyFocusedCell, noData) => {\n if (target.dataset.componentName === 'AnalyticalTableContainer' && target.querySelector('[data-component-name=\"AnalyticalTableBodyScrollableContainer\"]')) {\n const rowElements = target.querySelector('[data-component-name=\"AnalyticalTableBodyScrollableContainer\"]').children;\n const middleRowCell = target.querySelector(`div[data-visible-column-index=\"0\"][data-visible-row-index=\"${Math.round(rowElements.length / 2)}\"]`);\n middleRowCell?.focus({\n preventScroll: true\n });\n } else {\n const firstVisibleCell = noData ? target.querySelector(`div[data-visible-column-index=\"0\"][data-visible-row-index=\"0\"]`) : target.querySelector(`div[data-visible-column-index=\"0\"][data-visible-row-index=\"1\"]`);\n if (firstVisibleCell) {\n firstVisibleCell.tabIndex = 0;\n firstVisibleCell.focus();\n currentlyFocusedCell.current = firstVisibleCell;\n }\n }\n};\nfunction recursiveSubComponentElementSearch(element) {\n if (!element.parentElement) {\n return null;\n }\n if (element?.parentElement.dataset.subcomponent) {\n return element.parentElement;\n }\n return recursiveSubComponentElementSearch(element.parentElement);\n}\nconst findParentCell = target => {\n if (target === undefined || target === null) return;\n if (target.dataset.rowIndex !== undefined && target.dataset.columnIndex !== undefined || target.dataset.rowIndexSub !== undefined && target.dataset.columnIndexSub !== undefined) {\n return target;\n } else {\n return findParentCell(target.parentElement);\n }\n};\nconst setFocus = (currentlyFocusedCell, nextElement) => {\n currentlyFocusedCell.current.tabIndex = -1;\n if (nextElement) {\n nextElement.tabIndex = 0;\n nextElement.focus();\n currentlyFocusedCell.current = nextElement;\n }\n};\nconst navigateFromActiveSubCompItem = (currentlyFocusedCell, e) => {\n setFocus(currentlyFocusedCell, recursiveSubComponentElementSearch(e.target));\n};\nconst useGetTableProps = (tableProps, {\n instance: {\n webComponentsReactProperties,\n data,\n columns,\n state\n }\n}) => {\n const {\n showOverlay,\n tableRef\n } = webComponentsReactProperties;\n const currentlyFocusedCell = useRef(null);\n const noData = data.length === 0;\n useEffect(() => {\n if (showOverlay && currentlyFocusedCell.current) {\n currentlyFocusedCell.current.tabIndex = -1;\n currentlyFocusedCell.current = null;\n }\n }, [showOverlay]);\n const onTableBlur = e => {\n if (e.target.tagName === 'UI5-LI' || e.target.tagName === 'UI5-LI-CUSTOM') {\n currentlyFocusedCell.current = null;\n }\n };\n useEffect(() => {\n if (!showOverlay && data && columns && currentlyFocusedCell.current && tableRef.current && tableRef.current.tabIndex !== 0 && !tableRef.current.contains(currentlyFocusedCell.current)) {\n currentlyFocusedCell.current = null;\n tableRef.current.tabIndex = 0;\n }\n }, [data, columns, showOverlay]);\n const onTableFocus = useCallback(e => {\n if (e.target.dataset?.emptyRowCell === 'true' || e.target.dataset.subcomponentActiveElement) {\n return;\n }\n if (e.target.dataset.subcomponent) {\n e.target.tabIndex = 0;\n e.target.focus();\n currentlyFocusedCell.current = e.target;\n return;\n }\n const isFirstCellAvailable = e.target.querySelector('div[data-column-index=\"0\"][data-row-index=\"1\"]');\n if (e.target.dataset.componentName === 'AnalyticalTableContainer') {\n e.target.tabIndex = -1;\n if (currentlyFocusedCell.current) {\n const {\n dataset\n } = currentlyFocusedCell.current;\n const rowIndex = parseInt(dataset.rowIndex ?? dataset.rowIndexSub, 10);\n const columnIndex = parseInt(dataset.columnIndex ?? dataset.columnIndexSub, 10);\n if (e.target.querySelector(`div[data-column-index=\"${columnIndex}\"][data-row-index=\"${rowIndex}\"]`) || e.target.querySelector(`div[data-column-index-sub=\"${columnIndex}\"][data-row-index-sub=\"${rowIndex}\"]`)) {\n currentlyFocusedCell.current.tabIndex = 0;\n currentlyFocusedCell.current.focus({\n preventScroll: true\n });\n } else {\n getFirstVisibleCell(e.target, currentlyFocusedCell, noData);\n }\n } else if (isFirstCellAvailable) {\n const firstCell = e.target.querySelector('div[data-column-index]:not([data-column-id^=\"__ui5wcr__internal\"][data-row-index=\"0\"])');\n firstCell.tabIndex = 0;\n firstCell.focus({\n preventScroll: true\n });\n currentlyFocusedCell.current = firstCell;\n } else {\n getFirstVisibleCell(e.target, currentlyFocusedCell, noData);\n }\n } else {\n const tableCell = findParentCell(e.target);\n if (tableCell) {\n currentlyFocusedCell.current = tableCell;\n } else {\n getFirstVisibleCell(tableRef.current, currentlyFocusedCell, noData);\n }\n }\n }, [currentlyFocusedCell.current, tableRef.current, noData]);\n const onKeyboardNavigation = useCallback(e => {\n const {\n isRtl\n } = state;\n const isActiveItemInSubComponent = e.target.dataset.subcomponentActiveElement;\n // check if target is cell and if so proceed from there\n if (!currentlyFocusedCell.current && CELL_DATA_ATTRIBUTES.every(item => Object.keys(e.target.dataset).includes(item))) {\n currentlyFocusedCell.current = e.target;\n }\n if (currentlyFocusedCell.current) {\n const columnIndex = parseInt(currentlyFocusedCell.current.dataset.columnIndex ?? '0', 10);\n const rowIndex = parseInt(currentlyFocusedCell.current.dataset.rowIndex ?? currentlyFocusedCell.current.dataset.subcomponentRowIndex, 10);\n switch (e.key) {\n case 'End':\n {\n e.preventDefault();\n const visibleColumns = tableRef.current.querySelector(`div[data-component-name=\"AnalyticalTableHeaderRow\"]`).children;\n const lastVisibleColumn = Array.from(visibleColumns).slice(0).reduceRight((_, cur, index, arr) => {\n const columnIndex = parseInt(cur.children?.[0]?.dataset.columnIndex, 10);\n if (!isNaN(columnIndex)) {\n arr.length = 0;\n return columnIndex;\n }\n return 0;\n }, 0);\n const newElement = tableRef.current.querySelector(`div[data-visible-column-index=\"${lastVisibleColumn}\"][data-row-index=\"${rowIndex}\"]`);\n setFocus(currentlyFocusedCell, newElement);\n break;\n }\n case 'Home':\n {\n e.preventDefault();\n const newElement = tableRef.current.querySelector(`div[data-visible-column-index=\"0\"][data-row-index=\"${rowIndex}\"]`);\n setFocus(currentlyFocusedCell, newElement);\n break;\n }\n case 'PageDown':\n {\n e.preventDefault();\n if (currentlyFocusedCell.current.dataset.rowIndex === '0') {\n const newElement = tableRef.current.querySelector(`div[data-column-index=\"${columnIndex}\"][data-row-index=\"${rowIndex + 1}\"]`);\n setFocus(currentlyFocusedCell, newElement);\n } else {\n const lastVisibleRow = tableRef.current.querySelector(`div[data-component-name=\"AnalyticalTableBody\"]`)?.children?.[0].children.length;\n const newElement = tableRef.current.querySelector(`div[data-column-index=\"${columnIndex}\"][data-visible-row-index=\"${lastVisibleRow}\"]`);\n setFocus(currentlyFocusedCell, newElement);\n }\n break;\n }\n case 'PageUp':\n {\n e.preventDefault();\n if (currentlyFocusedCell.current.dataset.rowIndex <= '1') {\n const newElement = tableRef.current.querySelector(`div[data-column-index=\"${columnIndex}\"][data-row-index=\"0\"]`);\n setFocus(currentlyFocusedCell, newElement);\n } else {\n const newElement = tableRef.current.querySelector(`div[data-column-index=\"${columnIndex}\"][data-visible-row-index=\"1\"]`);\n setFocus(currentlyFocusedCell, newElement);\n }\n break;\n }\n case 'ArrowRight':\n {\n e.preventDefault();\n if (isActiveItemInSubComponent) {\n navigateFromActiveSubCompItem(currentlyFocusedCell, e);\n return;\n }\n const newElement = tableRef.current.querySelector(`div[data-column-index=\"${columnIndex + (isRtl ? -1 : 1)}\"][data-row-index=\"${rowIndex}\"]`);\n if (newElement) {\n setFocus(currentlyFocusedCell, newElement);\n // scroll to show full cell if it's only partial visible\n newElement.scrollIntoView({\n block: 'nearest'\n });\n }\n break;\n }\n case 'ArrowLeft':\n {\n e.preventDefault();\n if (isActiveItemInSubComponent) {\n navigateFromActiveSubCompItem(currentlyFocusedCell, e);\n return;\n }\n const newElement = tableRef.current.querySelector(`div[data-column-index=\"${columnIndex - (isRtl ? -1 : 1)}\"][data-row-index=\"${rowIndex}\"]`);\n if (newElement) {\n setFocus(currentlyFocusedCell, newElement);\n // scroll to show full cell if it's only partial visible\n newElement.scrollIntoView({\n block: 'nearest'\n });\n }\n break;\n }\n case 'ArrowDown':\n {\n e.preventDefault();\n if (isActiveItemInSubComponent) {\n navigateFromActiveSubCompItem(currentlyFocusedCell, e);\n return;\n }\n const parent = currentlyFocusedCell.current.parentElement;\n const firstChildOfParent = parent?.children?.[0];\n const hasSubcomponent = firstChildOfParent?.dataset?.subcomponent;\n const newElement = tableRef.current.querySelector(`div[data-column-index=\"${columnIndex}\"][data-row-index=\"${rowIndex + 1}\"]`);\n if (hasSubcomponent && !currentlyFocusedCell.current?.dataset?.subcomponent) {\n currentlyFocusedCell.current.tabIndex = -1;\n firstChildOfParent.tabIndex = 0;\n firstChildOfParent.dataset.rowIndexSub = `${rowIndex}`;\n firstChildOfParent.dataset.columnIndexSub = `${columnIndex}`;\n firstChildOfParent.focus();\n currentlyFocusedCell.current = firstChildOfParent;\n } else if (newElement) {\n setFocus(currentlyFocusedCell, newElement);\n }\n break;\n }\n case 'ArrowUp':\n {\n e.preventDefault();\n if (isActiveItemInSubComponent) {\n navigateFromActiveSubCompItem(currentlyFocusedCell, e);\n return;\n }\n let prevRowIndex = rowIndex - 1;\n const isSubComponent = e.target.dataset.subcomponent;\n if (isSubComponent) {\n prevRowIndex++;\n }\n const previousRowCell = tableRef.current.querySelector(`div[data-column-index=\"${columnIndex}\"][data-row-index=\"${prevRowIndex}\"]`);\n const firstChildPrevRow = previousRowCell?.parentElement.children[0];\n const hasSubcomponent = firstChildPrevRow?.dataset?.subcomponent;\n if (hasSubcomponent && !isSubComponent) {\n currentlyFocusedCell.current.tabIndex = -1;\n firstChildPrevRow.dataset.rowIndexSub = `${rowIndex - 1}`;\n firstChildPrevRow.dataset.columnIndexSub = `${columnIndex}`;\n firstChildPrevRow.tabIndex = 0;\n firstChildPrevRow.focus();\n currentlyFocusedCell.current = firstChildPrevRow;\n } else if (previousRowCell) {\n setFocus(currentlyFocusedCell, previousRowCell);\n }\n break;\n }\n }\n }\n }, [currentlyFocusedCell.current, tableRef.current, state?.isRtl]);\n if (showOverlay) {\n return tableProps;\n }\n return [tableProps, {\n onFocus: onTableFocus,\n onKeyDown: onKeyboardNavigation,\n onBlur: onTableBlur\n }];\n};\nfunction getPayload(e, column) {\n e.preventDefault();\n e.stopPropagation();\n const clientX = e.target.getBoundingClientRect().x + e.target.getBoundingClientRect().width;\n const columnId = column.id;\n const columnWidth = column.totalWidth;\n const headersToResize = getLeafHeaders(column);\n const headerIdWidths = headersToResize.map(d => [d.id, d.totalWidth]);\n return {\n clientX,\n columnId,\n columnWidth,\n headerIdWidths\n };\n}\nconst setHeaderProps = (headerProps, {\n instance: {\n dispatch\n },\n column\n}) => {\n // resize col with keyboard\n const handleKeyDown = e => {\n if (e.nativeEvent.shiftKey) {\n if (e.key === 'ArrowRight') {\n const payload = getPayload(e, column);\n dispatch({\n type: actions.columnStartResizing,\n ...payload\n });\n dispatch({\n type: actions.columnResizing,\n clientX: payload.clientX + 16\n });\n dispatch({\n type: actions.columnDoneResizing\n });\n return;\n }\n if (e.key === 'ArrowLeft') {\n const payload = getPayload(e, column);\n dispatch({\n type: actions.columnStartResizing,\n ...payload\n });\n dispatch({\n type: actions.columnResizing,\n clientX: payload.clientX - 16\n });\n dispatch({\n type: actions.columnDoneResizing\n });\n return;\n }\n }\n };\n return [headerProps, {\n onKeyDown: handleKeyDown\n }];\n};\nexport const useKeyboardNavigation = hooks => {\n hooks.getTableProps.push(useGetTableProps);\n hooks.getHeaderProps.push(setHeaderProps);\n};","const popInVisibleColumnsDeps = (deps, {\n instance: {\n state\n }\n}) => [...deps, state.tableClientWidth];\nconst popInVisibleColumns = (cols, {\n instance\n}) => {\n const {\n state,\n dispatch\n } = instance;\n const tableClientWidth = state.isScrollable ? state?.tableClientWidth + 13 /*scrollbar width*/ : state?.tableClientWidth;\n const popInColumns = cols.filter(item => item.responsivePopIn && tableClientWidth < item.responsiveMinWidth).map(item => ({\n id: item.id ?? item.accessor,\n column: item\n }));\n dispatch({\n type: 'SET_POPIN_COLUMNS',\n payload: popInColumns\n });\n return cols.filter(col => !popInColumns.some(item => item.id === (col.id ?? col.accessor)) && (col.hasOwnProperty('responsiveMinWidth') ? !tableClientWidth || tableClientWidth >= col.responsiveMinWidth : true));\n};\nexport const usePopIn = hooks => {\n hooks.visibleColumns.push(popInVisibleColumns);\n hooks.visibleColumnsDeps.push(popInVisibleColumnsDeps);\n};","const useGetResizerProps = props => {\n return {\n ...props,\n onMouseDown: e => {\n e.preventDefault();\n props.onMouseDown(e);\n }\n };\n};\nexport const useResizeColumnsConfig = hooks => {\n hooks.getResizerProps.push(useGetResizerProps);\n};\nuseResizeColumnsConfig.pluginName = 'useResizeColumnsConfig';","export let ValueState = /*#__PURE__*/function (ValueState) {\n ValueState[\"Error\"] = \"Error\";\n ValueState[\"None\"] = \"None\";\n ValueState[\"Success\"] = \"Success\";\n ValueState[\"Warning\"] = \"Warning\";\n ValueState[\"Information\"] = \"Information\";\n return ValueState;\n}({});","import React from 'react';\nimport { ValueState } from '../../../enums/index.js';\nconst baseStyles = {\n width: '100%',\n height: '100%'\n};\nconst StyleClassMap = new Map();\nStyleClassMap.set(ValueState.None, undefined);\nStyleClassMap.set(ValueState.Success, 'valueStateSuccess');\nStyleClassMap.set(ValueState.Warning, 'valueStateWarning');\nStyleClassMap.set(ValueState.Error, 'valueStateError');\nStyleClassMap.set(ValueState.Information, 'valueStateInformation');\n\n/*\n * COMPONENTS\n */\nconst Header = () => /*#__PURE__*/React.createElement(\"div\", {\n style: {\n width: '6px'\n }\n});\nconst Cell = instance => {\n const {\n cell,\n webComponentsReactProperties\n } = instance;\n const styleClass = StyleClassMap.get(cell.value) ? webComponentsReactProperties.classes[StyleClassMap.get(cell.value)] : undefined;\n return /*#__PURE__*/React.createElement(\"div\", {\n style: baseStyles,\n className: styleClass,\n \"data-component-name\": \"AnalyticalTableHighlightCell\"\n });\n};\n\n/*\n * TABLE HOOKS\n */\nconst columnsDeps = (deps, {\n instance: {\n webComponentsReactProperties\n }\n}) => {\n return [...deps, webComponentsReactProperties.withRowHighlight, webComponentsReactProperties.highlightField];\n};\nconst visibleColumnsDeps = (deps, {\n instance\n}) => [...deps, instance.webComponentsReactProperties.withRowHighlight];\nconst visibleColumns = (currentVisibleColumns, {\n instance: {\n webComponentsReactProperties\n }\n}) => {\n if (!webComponentsReactProperties.withRowHighlight) {\n return currentVisibleColumns.filter(({\n id\n }) => id !== '__ui5wcr__internal_highlight_column');\n }\n const highlightColumn = currentVisibleColumns.find(({\n id\n }) => id === '__ui5wcr__internal_highlight_column');\n return [highlightColumn, ...currentVisibleColumns.filter(({\n id\n }) => id !== '__ui5wcr__internal_highlight_column')];\n};\nconst columns = (currentColumns, {\n instance\n}) => {\n const {\n withRowHighlight,\n highlightField\n } = instance.webComponentsReactProperties;\n if (!withRowHighlight) {\n return currentColumns;\n }\n return [{\n id: '__ui5wcr__internal_highlight_column',\n accessor: highlightField,\n disableFilters: true,\n disableSortBy: true,\n disableGroupBy: true,\n disableResizing: true,\n disableDragAndDrop: true,\n width: 6,\n minWidth: 6,\n maxWidth: 6,\n Header,\n Cell\n }, ...currentColumns];\n};\nexport const useRowHighlight = hooks => {\n hooks.columns.push(columns);\n hooks.columnsDeps.push(columnsDeps);\n hooks.visibleColumnsDeps.push(visibleColumnsDeps);\n hooks.visibleColumns.push(visibleColumns);\n};\nuseRowHighlight.pluginName = 'useRowHighlight';","import React from 'react';\nconst baseStyles = {\n width: '100%',\n height: '100%'\n};\n\n/*\n * COMPONENTS\n */\nconst Header = () => /*#__PURE__*/React.createElement(\"div\", {\n style: {\n width: '6px'\n }\n});\nconst Cell = instance => {\n const {\n isNavigatedCell,\n webComponentsReactProperties\n } = instance;\n if (isNavigatedCell) {\n return /*#__PURE__*/React.createElement(\"div\", {\n style: baseStyles,\n className: webComponentsReactProperties.classes.valueStateInformation,\n \"data-component-name\": \"AnalyticalTableNavigatedCell\"\n });\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n style: baseStyles\n });\n};\n\n/*\n * TABLE HOOKS\n */\nconst columnsDeps = (deps, {\n instance: {\n webComponentsReactProperties\n }\n}) => {\n return [...deps, webComponentsReactProperties.withNavigationHighlight];\n};\nconst visibleColumnsDeps = (deps, {\n instance\n}) => [...deps, instance.webComponentsReactProperties.withNavigationHighlight];\nconst visibleColumns = (currentVisibleColumns, {\n instance: {\n webComponentsReactProperties\n }\n}) => {\n if (!webComponentsReactProperties.withNavigationHighlight) {\n return currentVisibleColumns.filter(({\n id\n }) => id !== '__ui5wcr__internal_navigation_column');\n }\n const highlightColumn = currentVisibleColumns.find(({\n id\n }) => id === '__ui5wcr__internal_navigation_column');\n return [...currentVisibleColumns.filter(({\n id\n }) => id !== '__ui5wcr__internal_navigation_column'), highlightColumn];\n};\nconst columns = (currentColumns, {\n instance\n}) => {\n const {\n withNavigationHighlight\n } = instance.webComponentsReactProperties;\n if (!withNavigationHighlight) {\n return currentColumns;\n }\n return [...currentColumns, {\n id: '__ui5wcr__internal_navigation_column',\n disableFilters: true,\n disableSortBy: true,\n disableGroupBy: true,\n disableResizing: true,\n disableDragAndDrop: true,\n width: 6,\n minWidth: 6,\n maxWidth: 6,\n Header,\n Cell\n }];\n};\nexport const useRowNavigationIndicators = hooks => {\n hooks.columns.push(columns);\n hooks.columnsDeps.push(columnsDeps);\n hooks.visibleColumnsDeps.push(visibleColumnsDeps);\n hooks.visibleColumns.push(visibleColumns);\n};","'use client';\n\nimport '@ui5/webcomponents/dist/CheckBox.js';\nimport { withWebComponent } from '../../internal/withWebComponent.js';\n/**\n * Allows the user to set a binary value, such as true/false or yes/no for an item.\n *\n * The `CheckBox` component consists of a box and a label that describes its purpose. If it's checked, an indicator is displayed inside the box. To check/uncheck the `CheckBox`, the user has to click or tap the square box or its label.\n *\n * The `CheckBox` component only has 2 states - checked and unchecked. Clicking or tapping toggles the `CheckBox` between checked and unchecked state.\n *\n * ### Usage\n *\n * You can define the checkbox text with via the `text` property. If the text exceeds the available width, it is truncated by default. In case you prefer text to wrap, set the `wrappingType` property to \"Normal\". The touchable area for toggling the `CheckBox` ends where the text ends.\n *\n * You can disable the `CheckBox` by setting the `disabled` property to `true`, or use the `CheckBox` in read-only mode by setting the `readonly` property to `true`.\n *\n *\n * ### Keyboard Handling\n *\n * The user can use the following keyboard shortcuts to toggle the checked state of the `CheckBox`.\n *\n * * \\[SPACE, ENTER\\] - Toggles between different states: checked, not checked.\n *\n * __Note__: This is a UI5 Web Component! [Repository](https://github.com/SAP/ui5-webcomponents) | [Documentation](https://sap.github.io/ui5-webcomponents/playground/)\n */\nconst CheckBox = withWebComponent('ui5-checkbox', ['accessibleName', 'accessibleNameRef', 'name', 'text', 'valueState', 'wrappingType'], ['checked', 'disabled', 'displayOnly', 'indeterminate', 'readonly', 'required'], [], ['change']);\nCheckBox.displayName = 'CheckBox';\nexport { CheckBox };","import { CssSizeVariablesNames, enrichEventWithDetails } from '@ui5/webcomponents-react-base';\nimport React from 'react';\nimport { AnalyticalTableSelectionBehavior, AnalyticalTableSelectionMode } from '../../../enums/index.js';\nimport { CheckBox } from '../../../webComponents/CheckBox/index.js';\nconst customCheckBoxStyling = {\n verticalAlign: 'middle',\n pointerEvents: 'none'\n};\n\n/*\n * COMPONENTS\n */\n\nconst Header = instance => {\n const {\n getToggleAllRowsSelectedProps,\n webComponentsReactProperties: {\n selectionMode\n }\n } = instance;\n if (selectionMode === AnalyticalTableSelectionMode.SingleSelect) {\n return null;\n }\n const checkBoxProps = getToggleAllRowsSelectedProps();\n return /*#__PURE__*/React.createElement(CheckBox, {\n ...checkBoxProps,\n style: customCheckBoxStyling,\n tabIndex: -1,\n onChange: undefined,\n checked: checkBoxProps.indeterminate ? true : checkBoxProps.checked\n });\n};\nconst Cell = ({\n row,\n webComponentsReactProperties: {\n selectionMode\n }\n}) => {\n if (selectionMode === AnalyticalTableSelectionMode.SingleSelect || row.isGrouped) {\n return null;\n }\n return /*#__PURE__*/React.createElement(CheckBox, {\n ...row.getToggleRowSelectedProps(),\n tabIndex: -1,\n style: customCheckBoxStyling,\n \"data-name\": \"internal_selection_column\"\n });\n};\nfunction getNextSelectedRowIds(rowsById) {\n return Object.keys(rowsById).reduce((acc, cur) => {\n acc[cur] = true;\n return acc;\n }, {});\n}\nconst headerProps = (props, {\n instance\n}) => {\n const {\n flatRows,\n webComponentsReactProperties: {\n onRowSelect,\n selectionMode,\n translatableTexts: {\n selectAllText,\n deselectAllText\n }\n },\n toggleAllRowsSelected,\n isAllRowsSelected,\n rowsById,\n dispatch,\n state: {\n filters,\n globalFilter\n }\n } = instance;\n const style = {\n ...props.style,\n cursor: 'pointer',\n display: 'flex',\n justifyContent: 'center'\n };\n if (props.key === 'header___ui5wcr__internal_selection_column' && selectionMode === AnalyticalTableSelectionMode.MultiSelect) {\n const onClick = e => {\n toggleAllRowsSelected(!isAllRowsSelected);\n const isFiltered = filters?.length > 0 || !!globalFilter;\n if (typeof onRowSelect === 'function') {\n if (isFiltered) {\n dispatch({\n type: 'SELECT_ROW_CB',\n payload: {\n event: e,\n row: undefined,\n selectAll: true,\n fired: true\n }\n });\n } else {\n onRowSelect(\n // cannot use instance.selectedFlatRows here as it only returns all rows on the first level\n enrichEventWithDetails(e, {\n allRowsSelected: !isAllRowsSelected,\n selectedFlatRows: !isAllRowsSelected ? flatRows : [],\n selectedRowIds: !isAllRowsSelected ? getNextSelectedRowIds(rowsById) : {}\n }));\n }\n }\n };\n const onKeyDown = e => {\n if (e.code === 'Space' || e.code === 'Enter') {\n e.preventDefault();\n onClick(e);\n }\n };\n return [props, {\n onClick,\n onKeyDown,\n style,\n title: isAllRowsSelected ? deselectAllText : selectAllText\n }];\n }\n return props;\n};\nconst columnDeps = (deps, {\n instance: {\n webComponentsReactProperties\n }\n}) => {\n return [...deps, webComponentsReactProperties.selectionMode, webComponentsReactProperties.selectionBehavior];\n};\nconst visibleColumnsDeps = (deps, {\n instance\n}) => [...deps, instance.webComponentsReactProperties.selectionMode, instance.webComponentsReactProperties.selectionBehavior];\nconst visibleColumns = (currentVisibleColumns, {\n instance: {\n webComponentsReactProperties\n }\n}) => {\n if (webComponentsReactProperties.selectionMode === AnalyticalTableSelectionMode.None || webComponentsReactProperties.selectionBehavior === AnalyticalTableSelectionBehavior.RowOnly) {\n return currentVisibleColumns;\n }\n const selectionColumn = currentVisibleColumns.find(({\n id\n }) => id === '__ui5wcr__internal_selection_column');\n return [selectionColumn, ...currentVisibleColumns.filter(({\n id\n }) => id !== '__ui5wcr__internal_selection_column')];\n};\nconst columns = (currentColumns, {\n instance\n}) => {\n const {\n webComponentsReactProperties\n } = instance;\n const {\n selectionMode,\n selectionBehavior,\n tableRef\n } = webComponentsReactProperties;\n if (selectionMode === AnalyticalTableSelectionMode.None || selectionBehavior === AnalyticalTableSelectionBehavior.RowOnly) {\n return currentColumns;\n }\n const tableSelectionColumnWidth = tableRef.current && parseInt(getComputedStyle(tableRef.current).getPropertyValue(CssSizeVariablesNames.ui5WcrAnalyticalTableSelectionColumnWidth), 10);\n const selectionColumnWidth = !isNaN(tableSelectionColumnWidth) ? tableSelectionColumnWidth : 47;\n return [{\n id: '__ui5wcr__internal_selection_column',\n disableFilters: true,\n disableSortBy: true,\n disableGroupBy: true,\n disableResizing: true,\n disableDragAndDrop: true,\n width: selectionColumnWidth,\n minWidth: selectionColumnWidth,\n maxWidth: selectionColumnWidth,\n Header,\n Cell\n }, ...currentColumns];\n};\nconst getCellProps = (props, {\n cell\n}) => {\n if (cell.column.id === '__ui5wcr__internal_selection_column') {\n const style = {\n ...props.style,\n cursor: 'pointer',\n justifyContent: 'center'\n };\n return [props, {\n style\n }];\n }\n return props;\n};\nconst setToggleAllRowsSelectedProps = (props, {\n instance: {\n webComponentsReactProperties\n }\n}) => {\n const {\n classes\n } = webComponentsReactProperties;\n return [props, {\n className: classes.checkBox,\n title: undefined\n }];\n};\nconst setToggleRowSelectedProps = (props, {\n instance: {\n webComponentsReactProperties\n }\n}) => {\n const {\n classes\n } = webComponentsReactProperties;\n return [props, {\n className: classes.checkBox,\n title: undefined\n }];\n};\nexport const useRowSelectionColumn = hooks => {\n hooks.getCellProps.push(getCellProps);\n hooks.getHeaderProps.push(headerProps);\n hooks.getToggleRowSelectedProps.push(setToggleRowSelectedProps);\n hooks.getToggleAllRowsSelectedProps.push(setToggleAllRowsSelectedProps);\n hooks.columns.push(columns);\n hooks.columnsDeps.push(columnDeps);\n hooks.visibleColumnsDeps.push(visibleColumnsDeps);\n hooks.visibleColumns.push(visibleColumns);\n};\nuseRowSelectionColumn.pluginName = 'useRowSelectionColumn';","import { enrichEventWithDetails } from '@ui5/webcomponents-react-base';\nimport { useEffect } from 'react';\nimport { AnalyticalTableSelectionMode } from '../../../enums/index.js';\nexport const useSelectionChangeCallback = hooks => {\n hooks.useControlledState.push((state, {\n instance\n }) => {\n const {\n selectedRowPayload,\n selectedRowIds,\n filters,\n globalFilter\n } = state;\n const {\n rowsById,\n preFilteredRowsById,\n webComponentsReactProperties,\n dispatch\n } = instance;\n const isFiltered = filters?.length > 0 || !!globalFilter;\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(() => {\n if (selectedRowPayload?.fired) {\n const {\n event: e,\n row: selRow,\n selectAll\n } = selectedRowPayload;\n const row = rowsById[selRow?.id];\n if (row || selectAll) {\n const payload = {\n row: row,\n isSelected: row?.isSelected,\n selectedFlatRows: row?.isSelected ? [row] : [],\n allRowsSelected: false,\n selectedRowIds\n };\n if (webComponentsReactProperties.selectionMode === AnalyticalTableSelectionMode.MultiSelect) {\n // when selecting a row on a filtered table, `preFilteredRowsById` has to be used, otherwise filtered out rows are undefined\n const tempRowsById = isFiltered ? preFilteredRowsById : rowsById;\n const selectedRowIdsArrayMapped = Object.keys(selectedRowIds).reduce((acc, key) => {\n if (selectedRowIds[key]) {\n acc.push(tempRowsById[key]);\n }\n return acc;\n }, []);\n payload.selectedFlatRows = selectedRowIdsArrayMapped;\n if (selectedRowIdsArrayMapped.length === Object.keys(tempRowsById).length) {\n payload.allRowsSelected = true;\n }\n if (selectAll) {\n dispatch({\n type: 'SELECT_ROW_CB',\n payload: {\n event: e,\n row,\n selectAll: false,\n fired: false\n }\n });\n webComponentsReactProperties?.onRowSelect(enrichEventWithDetails(e, {\n selectedFlatRows: payload.selectedFlatRows,\n allRowsSelected: payload.allRowsSelected,\n selectedRowIds: payload.selectedRowIds\n }));\n return;\n }\n }\n dispatch({\n type: 'SELECT_ROW_CB',\n payload: {\n event: e,\n row,\n fired: false\n }\n });\n webComponentsReactProperties?.onRowSelect(enrichEventWithDetails(e, payload));\n }\n }\n }, [selectedRowPayload?.fired, rowsById, webComponentsReactProperties.selectionMode, selectedRowIds, isFiltered]);\n return state;\n });\n};\nuseSelectionChangeCallback.pluginName = 'useSelectionChangeCallback';","import { enrichEventWithDetails } from '@ui5/webcomponents-react-base';\nimport { AnalyticalTableSelectionBehavior, AnalyticalTableSelectionMode } from '../../../enums/index.js';\nconst getRowProps = (rowProps, {\n row,\n instance\n}) => {\n const {\n webComponentsReactProperties,\n toggleRowSelected,\n selectedFlatRows,\n dispatch\n } = instance;\n const handleRowSelect = e => {\n const isSelectionCell = e.target.dataset.selectionCell === 'true';\n if (e.target?.dataset?.name !== 'internal_selection_column' && !(e.markerAllowTableRowSelection === true || e.nativeEvent?.markerAllowTableRowSelection === true) && webComponentsReactProperties.tagNamesWhichShouldNotSelectARow.has(e.target.tagName)) {\n return;\n }\n\n // don't select grouped rows\n if (row.isGrouped) {\n return;\n }\n const {\n selectionBehavior,\n selectionMode,\n onRowSelect,\n onRowClick\n } = webComponentsReactProperties;\n if (typeof onRowClick === 'function' && e.target?.dataset?.name !== 'internal_selection_column') {\n onRowClick(enrichEventWithDetails(e, {\n row\n }));\n }\n if (selectionMode === AnalyticalTableSelectionMode.None) {\n return;\n }\n\n // don't continue if the row was clicked and selection mode is row selector only\n if (selectionBehavior === AnalyticalTableSelectionBehavior.RowSelector && !isSelectionCell) {\n return;\n }\n\n // deselect other rows\n if (selectionMode === AnalyticalTableSelectionMode.SingleSelect) {\n for (const selectedRow of selectedFlatRows) {\n if (selectedRow.id !== row.id) {\n toggleRowSelected(selectedRow.id, false);\n }\n }\n }\n toggleRowSelected(row.id);\n if (typeof onRowSelect === 'function') {\n // update state to return instance values after update (see useSelectionChangeCallback hook)\n dispatch({\n type: 'SELECT_ROW_CB',\n payload: {\n event: e,\n row,\n fired: true\n }\n });\n }\n };\n return [rowProps, {\n onKeyDown: e => {\n if ((!e.target.hasAttribute('aria-expanded') || e.shiftKey && e.code === 'Space') && (e.key === 'Enter' || e.code === 'Space')) {\n if (!webComponentsReactProperties.tagNamesWhichShouldNotSelectARow.has(e.target.tagName)) {\n e.preventDefault();\n }\n handleRowSelect(e);\n }\n },\n onClick: handleRowSelect\n }];\n};\nexport const useSingleRowStateSelection = hooks => {\n hooks.getRowProps.push(getRowProps);\n};\nuseSingleRowStateSelection.pluginName = 'useSingleRowStateSelection';","import { AnalyticalTableSelectionBehavior, AnalyticalTableSelectionMode } from '../../../enums/index.js';\nimport { getSubRowsByString, resolveCellAlignment } from '../util/index.js';\nconst getHeaderGroupProps = (headerGroupProps, {\n instance\n}) => {\n const {\n classes\n } = instance.webComponentsReactProperties;\n return [headerGroupProps, {\n className: classes.tableHeaderRow\n }];\n};\nconst getHeaderProps = (columnProps, {\n instance,\n column\n}) => {\n const hasPopover = column.canGroupBy || column.canSort || column.canFilter;\n const {\n classes\n } = instance.webComponentsReactProperties;\n const style = {\n width: column.totalWidth\n };\n if (column.id === '__ui5wcr__internal_highlight_column' || column.id === '__ui5wcr__internal_selection_column' || column.id === '__ui5wcr__internal_navigation_column') {\n style.padding = 0;\n }\n if (hasPopover) {\n style.cursor = 'pointer';\n }\n return [columnProps, {\n className: classes.th,\n column,\n style: style,\n id: column.id\n }];\n};\nconst ROW_SELECTION_ATTRIBUTE = 'data-is-selected';\nconst getRowProps = (rowProps, {\n instance,\n row,\n userProps\n}) => {\n const {\n webComponentsReactProperties\n } = instance;\n const {\n classes,\n selectionBehavior,\n selectionMode,\n alternateRowColor,\n subRowsKey\n } = webComponentsReactProperties;\n let className = classes.tr;\n const rowCanBeSelected = [AnalyticalTableSelectionMode.SingleSelect, AnalyticalTableSelectionMode.MultiSelect].includes(selectionMode);\n if (row.isGrouped || instance.manualGroupBy && row.cells.some(item => item.column.isGrouped) && getSubRowsByString(subRowsKey, row.original) != null) {\n className += ` ${classes.tableGroupHeader}`;\n }\n if (alternateRowColor && userProps['aria-rowindex'] % 2 !== 1) {\n className += ` ${classes.alternateRowColor}`;\n }\n const newRowProps = {\n className,\n role: 'row'\n };\n if (rowCanBeSelected) {\n if (AnalyticalTableSelectionBehavior.RowSelector !== selectionBehavior) {\n newRowProps.className += ` ${classes.trActive}`;\n }\n if (row.isSelected) {\n newRowProps[ROW_SELECTION_ATTRIBUTE] = '';\n }\n }\n return [rowProps, newRowProps];\n};\nconst getCellProps = (cellProps, {\n cell: {\n column\n },\n instance\n}) => {\n const {\n classes\n } = instance.webComponentsReactProperties;\n const style = {\n width: `${column.totalWidth}px`,\n ...resolveCellAlignment(column)\n };\n let className = classes.tableCell;\n if (column.className) {\n className += ` ${column.className}`;\n }\n if (column.id === '__ui5wcr__internal_highlight_column' || column.id === '__ui5wcr__internal_selection_column' || column.id === '__ui5wcr__internal_navigation_column') {\n style.padding = 0;\n }\n return [cellProps, {\n className,\n style,\n tabIndex: -1\n }];\n};\nexport const useStyling = hooks => {\n hooks.getHeaderGroupProps.push(getHeaderGroupProps);\n hooks.getHeaderProps.push(getHeaderProps);\n hooks.getRowProps.push(getRowProps);\n hooks.getCellProps.push(getCellProps);\n};\nuseStyling.pluginName = 'useStyling';","import { useEffect, useRef } from 'react';\nexport const useTableScrollHandles = (ref, dispatch) => {\n let analyticalTableRef = useRef(null);\n if (ref) {\n analyticalTableRef = ref;\n }\n const scrollToRef = useRef({});\n useEffect(() => {\n if (analyticalTableRef.current) {\n Object.assign(analyticalTableRef.current, {\n scrollTo: (offset, align) => {\n if (typeof scrollToRef.current?.scrollToOffset === 'function') {\n scrollToRef.current.scrollToOffset(offset, {\n align\n });\n } else {\n dispatch({\n type: 'TRIGGER_PROG_SCROLL',\n payload: {\n direction: 'vertical',\n type: 'offset',\n args: [offset, {\n align\n }]\n }\n });\n }\n },\n scrollToItem: (index, align) => {\n if (typeof scrollToRef.current?.scrollToIndex === 'function') {\n scrollToRef.current.scrollToIndex(index, {\n align\n });\n } else {\n dispatch({\n type: 'TRIGGER_PROG_SCROLL',\n payload: {\n direction: 'vertical',\n type: 'item',\n args: [index, {\n align\n }]\n }\n });\n }\n },\n horizontalScrollTo: (offset, align) => {\n if (typeof scrollToRef.current?.horizontalScrollToOffset === 'function') {\n scrollToRef.current.horizontalScrollToOffset(offset, {\n align\n });\n } else {\n dispatch({\n type: 'TRIGGER_PROG_SCROLL',\n payload: {\n direction: 'horizontal',\n type: 'offset',\n args: [offset, {\n align\n }]\n }\n });\n }\n },\n horizontalScrollToItem: (index, align) => {\n if (typeof scrollToRef.current?.horizontalScrollToIndex === 'function') {\n scrollToRef.current.horizontalScrollToIndex(index, {\n align\n });\n } else {\n dispatch({\n type: 'TRIGGER_PROG_SCROLL',\n payload: {\n direction: 'horizontal',\n type: 'item',\n args: [index, {\n align\n }]\n }\n });\n }\n }\n });\n }\n }, []);\n return [analyticalTableRef, scrollToRef];\n};","import { enrichEventWithDetails } from '@ui5/webcomponents-react-base';\nconst getToggleRowExpandedProps = (rowProps, {\n row,\n instance,\n userProps\n}) => {\n const {\n manualGroupBy\n } = instance;\n const {\n onRowExpandChange,\n isTreeTable,\n renderRowSubComponent,\n alwaysShowSubComponent\n } = instance.webComponentsReactProperties;\n const onClick = (e, noPropagation = true) => {\n if (noPropagation) {\n e.stopPropagation();\n }\n let column = null;\n if (!isTreeTable && (!renderRowSubComponent || renderRowSubComponent && alwaysShowSubComponent)) {\n if (!manualGroupBy) {\n column = row.cells.find(cell => cell.column.id === row.groupByID)?.column;\n } else {\n column = userProps.column;\n }\n }\n onRowExpandChange(enrichEventWithDetails(e, {\n row,\n column\n }));\n row.toggleRowExpanded();\n };\n const onKeyDown = e => {\n if (e.code === 'F4') {\n e.preventDefault();\n onClick(e, false);\n } else if (!e.shiftKey && e.code === 'Space' || e.key === 'Enter') {\n // the `onClick` event of the `Icon` component already fires the event on ENTER/SPACE press\n if (e.target.hasAttribute('ui5-icon') || e.target.hasAttribute('ui5-button')) {\n return;\n }\n e.preventDefault();\n onClick(e, false);\n }\n };\n const {\n title: _0,\n ...toggleRowPropsWithoutTitle\n } = rowProps;\n return [toggleRowPropsWithoutTitle, {\n onClick,\n onKeyDown\n }];\n};\nexport const useToggleRowExpand = hooks => {\n hooks.getToggleRowExpandedProps.push(getToggleRowExpandedProps);\n};\nuseToggleRowExpand.pluginName = 'useToggleRowExpand';","const getVisibleColumnsWidth = instance => {\n const visibleColumnsWidth = instance.visibleColumns.map(item => item.totalWidth);\n Object.assign(instance, {\n visibleColumnsWidth\n });\n};\nexport const useVisibleColumnsWidth = hooks => {\n hooks.useInstance.push(getVisibleColumnsWidth);\n};\nuseVisibleColumnsWidth.pluginName = 'useVisibleColumnsWidth';","import { ThemingParameters, useSyncRef } from '@ui5/webcomponents-react-base';\nimport { clsx } from 'clsx';\nimport React, { forwardRef, useEffect, useRef } from 'react';\nimport { createUseStyles } from 'react-jss';\nimport { FlexBoxDirection, GlobalStyleClasses } from '../../../enums/index.js';\nimport { CustomThemingParameters } from '../../../themes/CustomVariables.js';\nimport { FlexBox } from '../../FlexBox/index.js';\nconst styles = {\n headerSection: {\n boxSizing: 'border-box',\n borderBlockStart: CustomThemingParameters.AnalyticalTableOuterBorderBlock,\n borderInlineEnd: CustomThemingParameters.AnalyticalTableOuterBorderInline,\n borderBlockEnd: `${CustomThemingParameters.AnalyticalTableHeaderBorderWidth} solid ${ThemingParameters.sapList_HeaderBorderColor}`,\n backgroundColor: ThemingParameters.sapList_HeaderBackground,\n borderInlineStart: `1px solid ${ThemingParameters.sapList_BorderColor}`,\n marginInlineStart: '-1px',\n width: `calc(${ThemingParameters.sapScrollBar_Dimension} + 2px)`\n },\n scrollbar: {\n overflowY: 'auto',\n borderInlineEnd: CustomThemingParameters.AnalyticalTableOuterBorderInline,\n borderBlockEnd: `1px solid ${ThemingParameters.sapList_TableFooterBorder}`,\n borderInlineStart: `1px solid ${ThemingParameters.sapList_BorderColor}`,\n marginInlineStart: '-1px',\n boxSizing: 'border-box'\n },\n bottomSection: {\n flexGrow: 1,\n backgroundColor: ThemingParameters.sapList_FooterBackground,\n boxSizing: 'border-box',\n borderInlineEnd: CustomThemingParameters.AnalyticalTableOuterBorderInline\n }\n};\nconst useStyles = createUseStyles(styles, {\n name: 'VerticalScrollbar'\n});\nexport const VerticalScrollbar = /*#__PURE__*/forwardRef((props, ref) => {\n const {\n internalRowHeight,\n tableRef,\n handleVerticalScrollBarScroll,\n tableBodyHeight,\n scrollContainerRef,\n parentRef\n } = props;\n const [componentRef, containerRef] = useSyncRef(ref);\n const scrollElementRef = useRef(null);\n const classes = useStyles();\n const hasHorizontalScrollbar = tableRef?.current?.offsetWidth !== tableRef?.current?.scrollWidth;\n useEffect(() => {\n const observer = new ResizeObserver(([entry]) => {\n if (containerRef.current && parentRef.current && entry.target.getBoundingClientRect().height > 0) {\n containerRef.current.scrollTop = parentRef.current.scrollTop;\n }\n });\n if (scrollElementRef.current) {\n observer.observe(scrollElementRef.current);\n }\n return () => {\n observer.disconnect();\n };\n }, []);\n const horizontalScrollbarSectionStyles = clsx(hasHorizontalScrollbar && classes.bottomSection);\n return /*#__PURE__*/React.createElement(FlexBox, {\n direction: FlexBoxDirection.Column,\n style: {\n position: 'relative'\n },\n \"data-component-name\": \"AnalyticalTableVerticalScrollbarContainer\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n height: `${internalRowHeight}px`\n },\n className: classes.headerSection\n }), /*#__PURE__*/React.createElement(\"div\", {\n ref: componentRef,\n style: {\n height: tableRef.current ? `${tableBodyHeight}px` : '0'\n },\n onScroll: handleVerticalScrollBarScroll,\n \"data-native-scrollbar\": props['data-native-scrollbar'],\n className: `${GlobalStyleClasses.sapScrollBar} ${classes.scrollbar}`,\n \"data-component-name\": \"AnalyticalTableVerticalScrollbar\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: scrollElementRef,\n style: {\n height: `${scrollContainerRef.current?.scrollHeight}px`,\n width: '1px',\n backgroundColor: ThemingParameters.sapList_Background\n }\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: horizontalScrollbarSectionStyles\n }));\n});\nVerticalScrollbar.displayName = 'VerticalScrollbar';","import React from 'react';\nexport const EmptyRow = ({\n virtualRow,\n className,\n children\n}) => {\n return /*#__PURE__*/React.createElement(\"div\", {\n \"data-empty-row\": \"true\",\n key: `empty_row_${virtualRow.index}`,\n className: className,\n style: {\n height: `${virtualRow.size}px`,\n transform: `translateY(${virtualRow.start}px)`,\n boxSizing: 'border-box'\n }\n }, children);\n};","import { ThemingParameters } from '@ui5/webcomponents-react-base';\nimport React, { useEffect, useRef } from 'react';\nimport { createUseStyles } from 'react-jss';\nconst styles = {\n subcomponent: {\n position: 'absolute',\n width: '100%',\n '&:focus': {\n outlineOffset: `calc(-1 * ${ThemingParameters.sapContent_FocusWidth})`,\n outline: `${ThemingParameters.sapContent_FocusWidth} ${ThemingParameters.sapContent_FocusStyle} ${ThemingParameters.sapContent_FocusColor}`\n }\n }\n};\nconst useStyles = createUseStyles(styles, {\n name: 'RowSubComponent'\n});\nexport const RowSubComponent = props => {\n const {\n subComponentsHeight,\n virtualRow,\n dispatch,\n row,\n rowHeight,\n children,\n rows,\n alwaysShowSubComponent,\n rowIndex\n } = props;\n const subComponentRef = useRef(null);\n const classes = useStyles();\n useEffect(() => {\n const subComponentHeightObserver = new ResizeObserver(entries => {\n entries.forEach(entry => {\n const target = entry.target.getBoundingClientRect();\n if (target) {\n // Firefox implements `borderBoxSize` as a single content rect, rather than an array\n const borderBoxSize = Array.isArray(entry.borderBoxSize) ? entry.borderBoxSize[0] : entry.borderBoxSize;\n // Safari doesn't implement `borderBoxSize`\n const subCompHeight = borderBoxSize?.blockSize ?? target.height;\n if (subComponentsHeight?.[virtualRow.index]?.subComponentHeight !== subCompHeight && subCompHeight !== 0) {\n // use most common sub-component height of first 10 sub-components as default height\n if (alwaysShowSubComponent && subComponentsHeight && Object.keys(subComponentsHeight).length === 10) {\n const objGroupedByHeight = Object.values(subComponentsHeight).reduce((acc, cur) => {\n const count = acc?.[cur.subComponentHeight];\n if (typeof count === 'number') {\n return {\n ...acc,\n [cur.subComponentHeight]: count + 1\n };\n }\n return {\n ...acc,\n [cur.subComponentHeight]: 1\n };\n }, {});\n const mostUsedHeight = Object.keys(objGroupedByHeight).reduce((a, b) => objGroupedByHeight[a] > objGroupedByHeight[b] ? a : b);\n const estimatedHeights = rows.reduce((acc, cur, index) => {\n acc[index] = {\n subComponentHeight: parseInt(mostUsedHeight),\n rowId: cur.id\n };\n return acc;\n }, {});\n dispatch({\n type: 'SUB_COMPONENTS_HEIGHT',\n payload: {\n ...estimatedHeights,\n ...subComponentsHeight\n }\n });\n } else {\n dispatch({\n type: 'SUB_COMPONENTS_HEIGHT',\n payload: {\n ...subComponentsHeight,\n [virtualRow.index]: {\n subComponentHeight: subCompHeight,\n rowId: row.id\n }\n }\n });\n }\n }\n // recalc if row id of row index has changed\n if (subComponentsHeight?.[virtualRow.index]?.rowId != null && subComponentsHeight?.[virtualRow.index]?.rowId !== row.id) {\n dispatch({\n type: 'SUB_COMPONENTS_HEIGHT',\n payload: {\n ...subComponentsHeight,\n [virtualRow.index]: {\n subComponentHeight: subCompHeight,\n rowId: row.id\n }\n }\n });\n }\n }\n });\n });\n if (subComponentRef.current?.firstChild) {\n subComponentHeightObserver.observe(subComponentRef.current?.firstChild);\n }\n return () => {\n subComponentHeightObserver.disconnect();\n };\n }, [subComponentRef.current?.firstChild, subComponentsHeight, row.id, subComponentsHeight?.[virtualRow.index]?.subComponentHeight, virtualRow.index]);\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: subComponentRef,\n \"data-subcomponent\": true,\n \"data-subcomponent-row-index\": rowIndex,\n tabIndex: -1,\n style: {\n boxSizing: 'border-box',\n transform: `translateY(${rowHeight}px)`\n },\n className: classes.subcomponent\n }, children);\n};","import { useVirtualizer } from '@tanstack/react-virtual';\nimport { clsx } from 'clsx';\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react';\nimport { AnalyticalTableSubComponentsBehavior } from '../../../enums/index.js';\nimport { getSubRowsByString } from '../util/index.js';\nimport { EmptyRow } from './EmptyRow.js';\nimport { RowSubComponent as SubComponent } from './RowSubComponent.js';\nconst measureElement = el => {\n return el.offsetHeight;\n};\nexport const VirtualTableBody = props => {\n const {\n alternateRowColor,\n classes,\n prepareRow,\n rows,\n itemCount,\n scrollToRef,\n isTreeTable,\n internalRowHeight,\n visibleRows,\n overscanCount,\n visibleColumns,\n parentRef,\n renderRowSubComponent,\n popInRowHeight,\n markNavigatedRow,\n isRtl,\n alwaysShowSubComponent,\n dispatch,\n subComponentsHeight,\n columnVirtualizer,\n manualGroupBy,\n subRowsKey,\n scrollContainerRef,\n subComponentsBehavior,\n triggerScroll\n } = props;\n const overscan = overscanCount ? overscanCount : Math.floor(visibleRows / 2);\n const rowHeight = popInRowHeight !== internalRowHeight ? popInRowHeight : internalRowHeight;\n const lastNonEmptyRow = useRef(null);\n const rowVirtualizer = useVirtualizer({\n count: itemCount,\n getScrollElement: () => parentRef.current,\n estimateSize: useCallback(index => {\n if (renderRowSubComponent && (rows[index]?.isExpanded || alwaysShowSubComponent) && subComponentsHeight?.[index]?.rowId === rows[index]?.id) {\n return rowHeight + (subComponentsHeight?.[index]?.subComponentHeight ?? 0);\n }\n return rowHeight;\n }, [rowHeight, rows, renderRowSubComponent, alwaysShowSubComponent, subComponentsHeight]),\n overscan,\n measureElement,\n indexAttribute: 'data-virtual-row-index'\n });\n scrollToRef.current = {\n ...scrollToRef.current,\n scrollToOffset: rowVirtualizer.scrollToOffset,\n scrollToIndex: rowVirtualizer.scrollToIndex\n };\n useEffect(() => {\n if (triggerScroll && triggerScroll.direction === 'vertical') {\n if (triggerScroll.type === 'offset') {\n rowVirtualizer.scrollToOffset(...triggerScroll.args);\n } else {\n rowVirtualizer.scrollToIndex(...triggerScroll.args);\n }\n }\n }, [triggerScroll]);\n const popInColumn = useMemo(() => visibleColumns.filter(item => item.id !== '__ui5wcr__internal_highlight_column' && item.id !== '__ui5wcr__internal_selection_column' && item.id !== '__ui5wcr__internal_navigation_column')[0], [visibleColumns]);\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: scrollContainerRef,\n \"data-component-name\": \"AnalyticalTableBodyScrollableContainer\",\n style: {\n position: 'relative',\n height: `${rowVirtualizer.getTotalSize()}px`,\n width: `${columnVirtualizer.getTotalSize()}px`\n }\n }, rowVirtualizer.getVirtualItems().map((virtualRow, visibleRowIndex) => {\n const row = rows[virtualRow.index];\n const rowIndexWithHeader = virtualRow.index + 1;\n if (!row || row.groupByVal === 'undefined') {\n const alternate = alternateRowColor && virtualRow.index % 2 !== 0;\n if (!lastNonEmptyRow.current?.cells) {\n return /*#__PURE__*/React.createElement(EmptyRow, {\n key: `empty_row_${virtualRow.index}`,\n virtualRow: virtualRow,\n className: clsx(classes.tr, alternate && classes.alternateRowColor)\n });\n }\n const cells = lastNonEmptyRow.current.cells;\n return /*#__PURE__*/React.createElement(EmptyRow, {\n key: `empty_row_${virtualRow.index}`,\n virtualRow: virtualRow,\n className: clsx(classes.tr, alternate && classes.alternateRowColor)\n }, cells.map(item => {\n const cellProps = item.getCellProps();\n const {\n 'aria-colindex': _0,\n 'aria-selected': _1,\n 'aria-label': _2,\n tabIndex: _3,\n ...emptyRowCellProps\n } = cellProps;\n return /*#__PURE__*/React.createElement(\"div\", {\n ...emptyRowCellProps,\n key: `${visibleRowIndex}-${emptyRowCellProps.key}`,\n \"data-empty-row-cell\": \"true\",\n tabIndex: -1,\n \"aria-hidden\": true,\n style: {\n ...emptyRowCellProps.style,\n cursor: 'unset'\n }\n });\n }));\n } else {\n lastNonEmptyRow.current = row;\n }\n prepareRow(row);\n const rowProps = row.getRowProps({\n 'aria-rowindex': virtualRow.index + 1,\n 'data-virtual-row-index': virtualRow.index\n });\n const isNavigatedCell = markNavigatedRow(row);\n const RowSubComponent = typeof renderRowSubComponent === 'function' ? renderRowSubComponent(row) : undefined;\n if ((!RowSubComponent || subComponentsBehavior === AnalyticalTableSubComponentsBehavior.IncludeHeightExpandable && !row.isExpanded) && subComponentsHeight && subComponentsHeight?.[virtualRow.index]?.subComponentHeight) {\n dispatch({\n type: 'SUB_COMPONENTS_HEIGHT',\n payload: {\n ...subComponentsHeight,\n [virtualRow.index]: {\n subComponentHeight: 0,\n rowId: row.id\n }\n }\n });\n }\n let updatedHeight = rowHeight;\n if (renderRowSubComponent && (rows[virtualRow.index]?.isExpanded || alwaysShowSubComponent) && subComponentsHeight?.[virtualRow.index]?.rowId === rows[virtualRow.index]?.id) {\n updatedHeight += subComponentsHeight?.[virtualRow.index]?.subComponentHeight ?? 0;\n }\n const measureRef = isTreeTable && renderRowSubComponent && (row.isExpanded || alwaysShowSubComponent) ? node => {\n rowVirtualizer.measureElement(node);\n } : rowVirtualizer.measureElement;\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/jsx-key\n React.createElement(\"div\", {\n ...rowProps,\n ref: measureRef,\n style: {\n ...(rowProps.style ?? {}),\n transform: `translateY(${virtualRow.start}px)`,\n position: 'absolute',\n boxSizing: 'border-box',\n height: `${updatedHeight}px`\n }\n }, RowSubComponent && (row.isExpanded || alwaysShowSubComponent) && /*#__PURE__*/React.createElement(SubComponent, {\n subComponentsHeight: subComponentsHeight,\n virtualRow: virtualRow,\n dispatch: dispatch,\n row: row,\n rowHeight: rowHeight,\n rows: rows,\n alwaysShowSubComponent: alwaysShowSubComponent,\n rowIndex: visibleRowIndex + 1\n }, RowSubComponent), columnVirtualizer.getVirtualItems().map((virtualColumn, visibleColumnIndex) => {\n const cell = row.cells[virtualColumn.index];\n const directionStyles = isRtl ? {\n transform: `translateX(-${virtualColumn.start}px)`,\n insertInlineStart: 0\n } : {\n transform: `translateX(${virtualColumn.start}px)`,\n insertInlineStart: 0\n };\n if (!cell) {\n return null;\n }\n const cellProps = cell.getCellProps();\n const allCellProps = {\n ...cellProps,\n ['data-visible-column-index']: visibleColumnIndex,\n ['data-column-index']: virtualColumn.index,\n ['data-visible-row-index']: visibleRowIndex + 1,\n ['data-row-index']: rowIndexWithHeader,\n style: {\n ...cellProps.style,\n position: 'absolute',\n width: `${virtualColumn.size}px`,\n top: 0,\n height: `${rowHeight}px`,\n ...directionStyles\n }\n };\n let contentToRender;\n if (cell.column.id === '__ui5wcr__internal_highlight_column' || cell.column.id === '__ui5wcr__internal_selection_column' || cell.column.id === '__ui5wcr__internal_navigation_column') {\n contentToRender = 'Cell';\n } else if (isTreeTable || !alwaysShowSubComponent && RowSubComponent) {\n contentToRender = 'Expandable';\n } else if (cell.isGrouped || manualGroupBy && cell.column.isGrouped && getSubRowsByString(subRowsKey, row.original) != null && cell.value !== undefined) {\n contentToRender = 'Grouped';\n } else if (cell.isAggregated) {\n contentToRender = 'Aggregated';\n } else if (cell.isPlaceholder) {\n contentToRender = 'RepeatedValue';\n } else {\n contentToRender = 'Cell';\n }\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/jsx-key\n React.createElement(\"div\", {\n ...allCellProps,\n \"data-selection-cell\": cell.column.id === '__ui5wcr__internal_selection_column'\n }, popInRowHeight !== internalRowHeight && popInColumn.id === cell.column.id ? cell.render('PopIn', {\n contentToRender,\n internalRowHeight\n }) : cell.render(contentToRender, isNavigatedCell === true ? {\n isNavigatedCell\n } : {}))\n );\n }))\n );\n }));\n};","import { enrichEventWithDetails } from '@ui5/webcomponents-react-base';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nexport const VirtualTableBodyContainer = props => {\n const {\n tableBodyHeight,\n totalColumnsWidth,\n children,\n parentRef,\n classes,\n infiniteScroll,\n infiniteScrollThreshold,\n onLoadMore,\n rows,\n internalRowHeight,\n handleExternalScroll,\n visibleRows,\n popInRowHeight,\n rowCollapsedFlag,\n dispatch\n } = props;\n const [isMounted, setIsMounted] = useState(false);\n useEffect(() => {\n if (parentRef.current) {\n setIsMounted(true);\n }\n }, [parentRef.current]);\n const dataLength = rows.length;\n const lastScrollTop = useRef(0);\n const firedInfiniteLoadEvents = useRef(new Set());\n const prevDataLength = useRef(dataLength);\n useEffect(() => {\n if (prevDataLength.current > dataLength) {\n // if prevData is larger because a row was collapsed, no scroll should be executed\n if (rowCollapsedFlag) {\n dispatch({\n type: 'ROW_COLLAPSED_FLAG',\n payload: false\n });\n } else {\n firedInfiniteLoadEvents.current.clear();\n parentRef.current.scrollTop = 0;\n lastScrollTop.current = 0;\n }\n }\n prevDataLength.current = dataLength;\n }, [dataLength, rowCollapsedFlag]);\n const onScroll = useCallback(event => {\n handleExternalScroll(enrichEventWithDetails(event, {\n rows,\n rowElements: event.target.children[0].children\n }));\n const scrollOffset = event.target.scrollTop;\n const isScrollingDown = lastScrollTop.current < scrollOffset;\n if (isScrollingDown && infiniteScroll) {\n lastScrollTop.current = scrollOffset;\n const currentLastRow = Math.floor(scrollOffset / popInRowHeight) + (popInRowHeight === internalRowHeight ? visibleRows : Math.floor(tableBodyHeight / popInRowHeight));\n if (rows.length - currentLastRow < infiniteScrollThreshold) {\n if (!firedInfiniteLoadEvents.current.has(rows.length)) {\n onLoadMore(event);\n }\n firedInfiniteLoadEvents.current.add(rows.length);\n }\n }\n }, [infiniteScroll, infiniteScrollThreshold, onLoadMore, rows, internalRowHeight, firedInfiniteLoadEvents, lastScrollTop, handleExternalScroll, popInRowHeight, tableBodyHeight]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classes.tbody,\n ref: parentRef,\n onScroll: onScroll,\n style: {\n position: 'relative',\n overflowY: 'auto',\n height: `${tableBodyHeight}px`,\n width: `${totalColumnsWidth}px`\n },\n \"data-component-name\": \"AnalyticalTableBody\"\n }, isMounted && children);\n};","import { actions } from 'react-table';\nexport const stateReducer = (state, action, _prevState, instance) => {\n const {\n payload\n } = action;\n if (state.isRtl && action.type === actions.columnResizing) {\n const {\n clientX\n } = action;\n const {\n startX,\n columnWidth,\n headerIdWidths\n } = state.columnResizing;\n const deltaX = startX - clientX;\n const percentageDeltaX = deltaX / columnWidth;\n const newColumnWidths = {};\n headerIdWidths.forEach(([headerId, headerWidth]) => {\n newColumnWidths[headerId] = Math.max(headerWidth + headerWidth * percentageDeltaX, 0);\n });\n return {\n ...state,\n columnResizing: {\n ...state.columnResizing,\n columnWidths: {\n ...state.columnResizing.columnWidths,\n ...newColumnWidths\n }\n }\n };\n }\n switch (action.type) {\n case 'toggleRowExpanded':\n // this flag disables scrolling to the top of the table if a table is collapsed\n if (!state.expanded[action.id]) {\n instance.dispatch({\n type: 'ROW_COLLAPSED_FLAG',\n payload: true\n });\n }\n return state;\n case 'TABLE_RESIZE':\n // tableClientWidth is misleading, as only when scaled the `clientWidth` is used. In all other cases `getBoundingClientRect` is measuring the width.\n return {\n ...state,\n tableClientWidth: payload.tableClientWidth\n };\n case 'VISIBLE_ROWS':\n return {\n ...state,\n visibleRows: payload.visibleRows\n };\n case 'TABLE_SCROLLING_ENABLED':\n return {\n ...state,\n isScrollable: payload.isScrollable\n };\n case 'SET_SELECTED_ROW_IDS':\n return {\n ...state,\n selectedRowIds: payload.selectedRowIds\n };\n case 'SET_POPIN_COLUMNS':\n return {\n ...state,\n popInColumns: payload\n };\n case 'INTERACTIVE_ROWS_HAVE_POPIN':\n return {\n ...state,\n interactiveRowsHavePopIn: payload\n };\n case 'IS_RTL':\n return {\n ...state,\n isRtl: payload.isRtl\n };\n case 'SUB_COMPONENTS_HEIGHT':\n return {\n ...state,\n subComponentsHeight: payload\n };\n case 'TABLE_COL_RESIZED':\n return {\n ...state,\n tableColResized: payload\n };\n case 'SELECT_ROW_CB':\n return {\n ...state,\n selectedRowPayload: payload\n };\n case 'ROW_COLLAPSED_FLAG':\n return {\n ...state,\n rowCollapsed: payload\n };\n case 'COLUMN_DND_START':\n return {\n ...state,\n dndColumn: payload\n };\n case 'COLUMN_DND_END':\n return {\n ...state,\n dndColumn: ''\n };\n // fallback if the component wasn't ready yet for scrolling (elements are not initialized), e.g. when calling `.scrollToItem` on mount\n case 'TRIGGER_PROG_SCROLL':\n return {\n ...state,\n triggerScroll: payload\n };\n default:\n return state;\n }\n};","'use client';\n\nimport '@ui5/webcomponents/dist/Title.js';\nimport { withWebComponent } from '../../internal/withWebComponent.js';\n/**\n * The `Title` component is used to display titles inside a page. It is a simple, large-sized text with explicit header/title semantics.\n *\n * __Note__: This is a UI5 Web Component! [Repository](https://github.com/SAP/ui5-webcomponents) | [Documentation](https://sap.github.io/ui5-webcomponents/playground/)\n */\nconst Title = withWebComponent('ui5-title', ['level', 'wrappingType'], [], [], []);\nTitle.displayName = 'Title';\nexport { Title };","import React, { forwardRef, isValidElement } from 'react';\nimport { Title } from '../../../webComponents/Title/index.js';\nconst styles = {\n minHeight: '1.5rem',\n display: 'flex',\n alignItems: 'center'\n};\nexport const TitleBar = /*#__PURE__*/forwardRef((props, ref) => {\n const {\n children,\n titleBarId\n } = props;\n return /*#__PURE__*/React.createElement(\"div\", {\n style: styles,\n ref: ref,\n id: titleBarId\n }, typeof children === 'string' && /*#__PURE__*/React.createElement(Title, null, children), /*#__PURE__*/isValidElement(children) && children);\n});\nTitleBar.displayName = 'TitleBar';","import { ThemingParameters, useI18nBundle } from '@ui5/webcomponents-react-base';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { createUseStyles } from 'react-jss';\nimport { DRAG_TO_RESIZE } from '../../i18n/i18n-defaults.js';\nimport { useCanRenderPortal } from '../../internal/ssr.js';\nconst verticalResizerStyles = {\n container: {\n overflow: 'hidden',\n position: 'relative',\n height: '5px',\n textAlign: 'center',\n cursor: 'row-resize',\n boxSizing: 'border-box',\n '&:hover': {\n backgroundColor: ThemingParameters.sapContent_DragAndDropActiveColor,\n color: ThemingParameters.sapHighlightTextColor\n },\n '&:before': {\n fontSize: '10px',\n fontFamily: ThemingParameters.sapFontFamily,\n top: 0,\n position: 'absolute',\n content: '\"\\u2981\\u2981\\u2981\\u2981\"',\n lineHeight: '5px',\n pointerEvents: 'none'\n }\n },\n resizer: {\n position: 'absolute',\n opacity: 0.5,\n backgroundColor: ThemingParameters.sapContent_DragAndDropActiveColor,\n height: '5px'\n }\n};\nconst useStyles = createUseStyles(verticalResizerStyles, {\n name: 'VerticalResizer'\n});\nconst isTouchEvent = (e, touchEvent) => {\n if (e.type === touchEvent) {\n return !(e.touches && e.touches.length > 1);\n }\n return false;\n};\nexport const VerticalResizer = props => {\n const {\n analyticalTableRef,\n dispatch,\n extensionsHeight,\n internalRowHeight,\n hasPopInColumns,\n popInRowHeight,\n portalContainer,\n rowsLength,\n visibleRows,\n handleOnLoadMore\n } = props;\n const classes = useStyles();\n const startY = useRef(null);\n const verticalResizerRef = useRef(null);\n const [resizerPosition, setResizerPosition] = useState(undefined);\n const [isDragging, setIsDragging] = useState(false);\n const [mountTouchEvents, setMountTouchEvents] = useState(false);\n const i18nBundle = useI18nBundle('@ui5/webcomponents-react');\n const handleResizeStart = useCallback(e => {\n e.preventDefault();\n const touchEvent = isTouchEvent(e, 'touchstart');\n startY.current = touchEvent ? Math.round(e.touches[0].pageY) : e.pageY;\n setMountTouchEvents(touchEvent);\n setIsDragging(true);\n }, [startY.current, setIsDragging]);\n const handleMove = useCallback(e => {\n setResizerPosition(prev => ({\n ...prev,\n top: isTouchEvent(e, 'touchmove') ? Math.round(e.touches[0].pageY) : e.pageY\n }));\n }, [setResizerPosition]);\n const handleResizeEnd = useCallback(e => {\n setIsDragging(false);\n const rowCount = Math.floor((analyticalTableRef.current.clientHeight + (isTouchEvent(e, 'touchend') ? Math.round(e.changedTouches[0].pageY) : e.pageY) - startY.current - extensionsHeight - 5 /*resizer height*/) / popInRowHeight);\n if (hasPopInColumns) {\n dispatch({\n type: 'INTERACTIVE_ROWS_HAVE_POPIN',\n payload: true\n });\n }\n dispatch({\n type: 'VISIBLE_ROWS',\n payload: {\n visibleRows: rowCount\n }\n });\n }, [analyticalTableRef.current?.clientHeight, startY.current, extensionsHeight, internalRowHeight, dispatch]);\n useEffect(() => {\n const removeEventListeners = () => {\n if (mountTouchEvents) {\n document.removeEventListener('touchmove', handleMove);\n document.removeEventListener('touchend', handleResizeEnd);\n } else {\n document.removeEventListener('mouseup', handleResizeEnd);\n document.removeEventListener('mousemove', handleMove);\n }\n };\n if (isDragging) {\n if (mountTouchEvents) {\n document.addEventListener('touchmove', handleMove);\n document.addEventListener('touchend', handleResizeEnd);\n } else {\n document.addEventListener('mousemove', handleMove);\n document.addEventListener('mouseup', handleResizeEnd);\n }\n } else {\n removeEventListeners();\n }\n return () => {\n removeEventListeners();\n };\n }, [isDragging]);\n useEffect(() => {\n const resizerPosTop = verticalResizerRef.current?.getBoundingClientRect()?.top + window.scrollY;\n const resizerPosLeft = verticalResizerRef.current?.getBoundingClientRect()?.left + window.scrollX;\n const resizerPosWidth = verticalResizerRef.current?.getBoundingClientRect()?.width;\n if (!isDragging && resizerPosTop > 0) {\n setResizerPosition({\n left: resizerPosLeft,\n top: resizerPosTop,\n width: resizerPosWidth\n });\n }\n }, [verticalResizerRef.current?.getBoundingClientRect()?.top, isDragging]);\n useEffect(() => {\n return () => {\n dispatch({\n type: 'WITH_POPIN',\n payload: false\n });\n };\n }, []);\n const isInitial = useRef(true);\n useEffect(() => {\n if (!isInitial.current && rowsLength <= visibleRows) {\n handleOnLoadMore({\n type: 'tableGrow'\n });\n }\n isInitial.current = false;\n }, [rowsLength, visibleRows]);\n const canRenderPortal = useCanRenderPortal();\n if (!canRenderPortal) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classes.container,\n ref: verticalResizerRef,\n onMouseDown: handleResizeStart,\n onTouchStart: handleResizeStart,\n role: \"separator\",\n title: i18nBundle.getText(DRAG_TO_RESIZE)\n }, resizerPosition && isDragging && /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement(\"div\", {\n className: classes.resizer,\n style: {\n top: resizerPosition.top,\n left: resizerPosition.left,\n width: resizerPosition.width\n }\n }), portalContainer ?? document.body));\n};","'use client';\n\nimport { useVirtualizer } from '@tanstack/react-virtual';\nimport { debounce, deprecationNotice, enrichEventWithDetails, useI18nBundle, useIsomorphicId, useIsomorphicLayoutEffect, useIsRTL, useSyncRef } from '@ui5/webcomponents-react-base';\nimport { clsx } from 'clsx';\nimport React, { forwardRef, useCallback, useEffect, useMemo, useRef } from 'react';\nimport { createUseStyles } from 'react-jss';\nimport { useColumnOrder, useExpanded, useFilters, useGlobalFilter, useGroupBy, useResizeColumns, useRowSelect, useSortBy, useTable } from 'react-table';\nimport { AnalyticalTableScaleWidthMode, AnalyticalTableSelectionBehavior, AnalyticalTableSelectionMode, AnalyticalTableSubComponentsBehavior, AnalyticalTableVisibleRowCountMode, GlobalStyleClasses } from '../../enums/index.js';\nimport { COLLAPSE_NODE, COLLAPSE_PRESS_SPACE, DESELECT_ALL, EXPAND_NODE, EXPAND_PRESS_SPACE, FILTERED, GROUPED, INVALID_TABLE, SELECT_ALL, SELECT_PRESS_SPACE, UNSELECT_PRESS_SPACE } from '../../i18n/i18n-defaults.js';\nimport { FlexBox } from '../FlexBox/index.js';\nimport { Text } from '../Text/index.js';\nimport styles from './AnayticalTable.jss.js';\nimport { ColumnHeaderContainer } from './ColumnHeader/ColumnHeaderContainer.js';\nimport { DefaultColumn } from './defaults/Column/index.js';\nimport { DefaultLoadingComponent } from './defaults/LoadingComponent/index.js';\nimport { TablePlaceholder } from './defaults/LoadingComponent/TablePlaceholder.js';\nimport { DefaultNoDataComponent } from './defaults/NoDataComponent/index.js';\nimport { useA11y } from './hooks/useA11y.js';\nimport { useColumnDragAndDrop } from './hooks/useDragAndDrop.js';\nimport { useDynamicColumnWidths } from './hooks/useDynamicColumnWidths.js';\nimport { useKeyboardNavigation } from './hooks/useKeyboardNavigation.js';\nimport { usePopIn } from './hooks/usePopIn.js';\nimport { useResizeColumnsConfig } from './hooks/useResizeColumnsConfig.js';\nimport { useRowHighlight } from './hooks/useRowHighlight.js';\nimport { useRowNavigationIndicators } from './hooks/useRowNavigationIndicator.js';\nimport { useRowSelectionColumn } from './hooks/useRowSelectionColumn.js';\nimport { useSelectionChangeCallback } from './hooks/useSelectionChangeCallback.js';\nimport { useSingleRowStateSelection } from './hooks/useSingleRowStateSelection.js';\nimport { useStyling } from './hooks/useStyling.js';\nimport { useTableScrollHandles } from './hooks/useTableScrollHandles.js';\nimport { useToggleRowExpand } from './hooks/useToggleRowExpand.js';\nimport { useVisibleColumnsWidth } from './hooks/useVisibleColumnsWidth.js';\nimport { VerticalScrollbar } from './scrollbars/VerticalScrollbar.js';\nimport { VirtualTableBody } from './TableBody/VirtualTableBody.js';\nimport { VirtualTableBodyContainer } from './TableBody/VirtualTableBodyContainer.js';\nimport { stateReducer } from './tableReducer/stateReducer.js';\nimport { TitleBar } from './TitleBar/index.js';\nimport { getRowHeight, getSubRowsByString, tagNamesWhichShouldNotSelectARow } from './util/index.js';\nimport { VerticalResizer } from './VerticalResizer.js';\n\n// When a sorted column is removed from the visible columns array (e.g. when \"popped-in\"), it doesn't clean up the sorted columns leading to an undefined `sortType`.\nconst sortTypesFallback = {\n undefined: () => undefined\n};\nconst useStyles = createUseStyles(styles, {\n name: 'AnalyticalTable'\n});\n/**\n * The `AnalyticalTable` provides a set of convenient functions for responsive table design, including virtualization of rows and columns, infinite scrolling and customizable columns that will, unless otherwise defined, distribute the available space equally among themselves.\n * It also provides several possibilities for working with the data, including sorting, filtering, grouping and aggregation.\n */\nconst AnalyticalTable = /*#__PURE__*/forwardRef((props, ref) => {\n const {\n alternateRowColor,\n adjustTableHeightOnPopIn,\n className,\n columnOrder,\n columns,\n data: rawData,\n extension,\n filterable,\n globalFilterValue,\n groupBy,\n groupable,\n header,\n headerRowHeight,\n highlightField,\n infiniteScroll,\n infiniteScrollThreshold,\n isTreeTable,\n loading,\n markNavigatedRow,\n minRows,\n noDataText,\n overscanCount,\n overscanCountHorizontal,\n portalContainer,\n retainColumnWidth,\n reactTableOptions,\n renderRowSubComponent,\n rowHeight,\n scaleWidthMode,\n scaleXFactor,\n selectedRowIds,\n selectionBehavior,\n selectionMode,\n showOverlay,\n sortable,\n style,\n subComponentsBehavior,\n subRowsKey,\n tableHooks,\n tableInstance,\n visibleRowCountMode,\n visibleRows,\n withNavigationHighlight,\n withRowHighlight,\n onColumnsReorder,\n onGroup,\n onLoadMore,\n onRowClick,\n onRowExpandChange,\n onRowSelect,\n onSort,\n onTableScroll,\n LoadingComponent,\n NoDataComponent,\n additionalEmptyRowsCount = 0,\n alwaysShowSubComponent: _omit,\n ...rest\n } = props;\n useEffect(() => {\n if (props.alwaysShowSubComponent != undefined) {\n deprecationNotice('alwaysShowSubComponent', '`alwaysShowSubComponent` is deprecated. Please use `subComponentsBehavior` instead!');\n }\n }, [props.alwaysShowSubComponent]);\n const alwaysShowSubComponent = subComponentsBehavior === AnalyticalTableSubComponentsBehavior.Visible || subComponentsBehavior === AnalyticalTableSubComponentsBehavior.IncludeHeight || props.alwaysShowSubComponent;\n const uniqueId = useIsomorphicId();\n const i18nBundle = useI18nBundle('@ui5/webcomponents-react');\n const titleBarId = useRef(`titlebar-${uniqueId}`).current;\n const invalidTableTextId = useRef(`invalidTableText-${uniqueId}`).current;\n const classes = useStyles();\n const tableRef = useRef(null);\n const parentRef = useRef(null);\n const verticalScrollBarRef = useRef(null);\n const getSubRows = useCallback(row => getSubRowsByString(subRowsKey, row) || [], [subRowsKey]);\n const invalidTableA11yText = i18nBundle.getText(INVALID_TABLE);\n const tableInstanceRef = useRef(null);\n const scrollContainerRef = useRef(null);\n tableInstanceRef.current = useTable({\n columns,\n data: rawData,\n defaultColumn: DefaultColumn,\n getSubRows,\n stateReducer,\n disableFilters: !filterable,\n disableSortBy: !sortable,\n disableGroupBy: isTreeTable || !alwaysShowSubComponent && renderRowSubComponent ? true : !groupable,\n selectSubRows: false,\n sortTypes: sortTypesFallback,\n webComponentsReactProperties: {\n translatableTexts: {\n selectAllText: i18nBundle.getText(SELECT_ALL),\n deselectAllText: i18nBundle.getText(DESELECT_ALL),\n expandA11yText: i18nBundle.getText(EXPAND_PRESS_SPACE),\n collapseA11yText: i18nBundle.getText(COLLAPSE_PRESS_SPACE),\n selectA11yText: i18nBundle.getText(SELECT_PRESS_SPACE),\n unselectA11yText: i18nBundle.getText(UNSELECT_PRESS_SPACE),\n expandNodeA11yText: i18nBundle.getText(EXPAND_NODE),\n collapseNodeA11yText: i18nBundle.getText(COLLAPSE_NODE),\n filteredA11yText: i18nBundle.getText(FILTERED),\n groupedA11yText: i18nBundle.getText(GROUPED)\n },\n tagNamesWhichShouldNotSelectARow,\n tableRef,\n selectionMode,\n selectionBehavior,\n classes,\n onRowSelect: onRowSelect,\n onRowClick,\n onRowExpandChange,\n isTreeTable,\n alternateRowColor,\n scaleWidthMode,\n loading,\n withRowHighlight,\n highlightField,\n withNavigationHighlight,\n markNavigatedRow,\n renderRowSubComponent,\n alwaysShowSubComponent,\n showOverlay,\n uniqueId,\n subRowsKey,\n onColumnsReorder\n },\n ...reactTableOptions\n }, useFilters, useGlobalFilter, useColumnOrder, useGroupBy, useSortBy, useExpanded, useRowSelect, useResizeColumns, useResizeColumnsConfig, useRowSelectionColumn, useSingleRowStateSelection, useSelectionChangeCallback, useRowHighlight, useRowNavigationIndicators, useDynamicColumnWidths, useStyling, useToggleRowExpand, useA11y, usePopIn, useVisibleColumnsWidth, useKeyboardNavigation, useColumnDragAndDrop, ...tableHooks);\n const {\n getTableProps,\n headerGroups,\n rows,\n prepareRow,\n setColumnOrder,\n dispatch,\n totalColumnsWidth,\n visibleColumns,\n visibleColumnsWidth,\n setGroupBy,\n setGlobalFilter\n } = tableInstanceRef.current;\n const tableState = tableInstanceRef.current.state;\n const {\n triggerScroll\n } = tableState;\n const [componentRef, updatedRef] = useSyncRef(ref);\n //@ts-expect-error: types are compatible\n const isRtl = useIsRTL(updatedRef);\n const columnVirtualizer = useVirtualizer({\n count: visibleColumnsWidth.length,\n getScrollElement: () => tableRef.current,\n estimateSize: useCallback(index => visibleColumnsWidth[index], [visibleColumnsWidth]),\n horizontal: true,\n overscan: isRtl ? Infinity : overscanCountHorizontal,\n indexAttribute: 'data-column-index',\n // necessary as otherwise values are rounded which leads to wrong total width calculation leading to unnecessary scrollbar\n measureElement: !scaleXFactor || scaleXFactor === 1 ? el => el.getBoundingClientRect().width : undefined\n });\n const [analyticalTableRef, scrollToRef] = useTableScrollHandles(updatedRef, dispatch);\n if (parentRef.current) {\n scrollToRef.current = {\n ...scrollToRef.current,\n horizontalScrollToOffset: columnVirtualizer.scrollToOffset,\n horizontalScrollToIndex: columnVirtualizer.scrollToIndex\n };\n }\n useEffect(() => {\n if (triggerScroll && triggerScroll.direction === 'horizontal') {\n if (triggerScroll.type === 'offset') {\n columnVirtualizer.scrollToOffset(...triggerScroll.args);\n } else {\n columnVirtualizer.scrollToIndex(...triggerScroll.args);\n }\n }\n }, [triggerScroll]);\n const includeSubCompRowHeight = !!renderRowSubComponent && (subComponentsBehavior === AnalyticalTableSubComponentsBehavior.IncludeHeight || subComponentsBehavior === AnalyticalTableSubComponentsBehavior.IncludeHeightExpandable) && !!tableState.subComponentsHeight && !!Object.keys(tableState.subComponentsHeight);\n if (tableInstance && {}.hasOwnProperty.call(tableInstance, 'current')) {\n tableInstance.current = tableInstanceRef.current;\n }\n if (typeof tableInstance === 'function') {\n tableInstance(tableInstanceRef.current);\n }\n const titleBarRef = useRef(null);\n const extensionRef = useRef(null);\n const headerRef = useRef(null);\n const extensionsHeight = (titleBarRef.current?.offsetHeight ?? 0) + (extensionRef.current?.offsetHeight ?? 0) + (headerRef.current?.offsetHeight ?? 0);\n const internalRowHeight = getRowHeight(rowHeight, tableRef);\n const internalHeaderRowHeight = headerRowHeight ?? internalRowHeight;\n const popInRowHeight = tableState?.popInColumns?.length > 0 ? internalRowHeight + tableState.popInColumns.length * (internalRowHeight + 16) : internalRowHeight;\n const internalVisibleRowCount = tableState.visibleRows ?? visibleRows;\n const updateTableClientWidth = useCallback(() => {\n if (tableRef.current) {\n dispatch({\n type: 'TABLE_RESIZE',\n payload: {\n tableClientWidth: !scaleXFactor || scaleXFactor === 1 ? tableRef.current.getBoundingClientRect().width : tableRef.current.clientWidth\n }\n });\n }\n }, [tableRef.current, scaleXFactor]);\n const updateRowsCount = useCallback(() => {\n if ((visibleRowCountMode === AnalyticalTableVisibleRowCountMode.Auto || visibleRowCountMode === AnalyticalTableVisibleRowCountMode.AutoWithEmptyRows) && analyticalTableRef.current?.parentElement) {\n const parentElement = analyticalTableRef.current?.parentElement;\n const tableYPosition = parentElement && getComputedStyle(parentElement).position === 'relative' && analyticalTableRef.current?.offsetTop ? analyticalTableRef.current?.offsetTop : 0;\n const parentHeight = parentElement?.getBoundingClientRect().height;\n const tableHeight = parentHeight ? parentHeight - tableYPosition : 0;\n const bodyHeight = tableHeight - extensionsHeight;\n let subCompsRowCount = 0;\n if (includeSubCompRowHeight) {\n let localBodyHeight = 0;\n let i = 0;\n while (localBodyHeight < bodyHeight) {\n if (tableState.subComponentsHeight[i]) {\n localBodyHeight += tableState.subComponentsHeight[i].subComponentHeight + popInRowHeight;\n } else if (rows[i]) {\n localBodyHeight += popInRowHeight;\n } else {\n break;\n }\n if (localBodyHeight >= bodyHeight) {\n break;\n }\n subCompsRowCount++;\n i++;\n }\n dispatch({\n type: 'VISIBLE_ROWS',\n payload: {\n visibleRows: Math.max(1, subCompsRowCount)\n }\n });\n } else {\n const rowCount = Math.max(1, Math.floor(bodyHeight / popInRowHeight));\n dispatch({\n type: 'VISIBLE_ROWS',\n payload: {\n visibleRows: rowCount\n }\n });\n }\n }\n }, [analyticalTableRef.current?.parentElement?.getBoundingClientRect().height, analyticalTableRef.current?.getBoundingClientRect().y, extensionsHeight, popInRowHeight, visibleRowCountMode, includeSubCompRowHeight, tableState.subComponentsHeight]);\n useEffect(() => {\n setGlobalFilter(globalFilterValue);\n }, [globalFilterValue, setGlobalFilter]);\n useEffect(() => {\n const debouncedWidthObserverFn = debounce(updateTableClientWidth, 60);\n const tableWidthObserver = new ResizeObserver(debouncedWidthObserverFn);\n tableWidthObserver.observe(tableRef.current);\n const debouncedHeightObserverFn = debounce(updateRowsCount, 60);\n const parentHeightObserver = new ResizeObserver(debouncedHeightObserverFn);\n if (analyticalTableRef.current?.parentElement) {\n parentHeightObserver.observe(analyticalTableRef.current?.parentElement);\n }\n return () => {\n debouncedHeightObserverFn.cancel();\n debouncedWidthObserverFn.cancel();\n tableWidthObserver.disconnect();\n parentHeightObserver.disconnect();\n };\n }, [updateTableClientWidth, updateRowsCount]);\n useIsomorphicLayoutEffect(() => {\n dispatch({\n type: 'IS_RTL',\n payload: {\n isRtl\n }\n });\n }, [isRtl]);\n useIsomorphicLayoutEffect(() => {\n updateTableClientWidth();\n }, [updateTableClientWidth]);\n useIsomorphicLayoutEffect(() => {\n updateRowsCount();\n }, [updateRowsCount]);\n useEffect(() => {\n if (tableState.visibleRows !== undefined && visibleRowCountMode === AnalyticalTableVisibleRowCountMode.Fixed) {\n dispatch({\n type: 'VISIBLE_ROWS',\n payload: {\n visibleRows: undefined\n }\n });\n }\n }, [visibleRowCountMode, tableState.visibleRows]);\n useEffect(() => {\n setGroupBy(groupBy);\n }, [groupBy, setGroupBy]);\n useEffect(() => {\n dispatch({\n type: 'SET_SELECTED_ROW_IDS',\n payload: {\n selectedRowIds\n }\n });\n }, [selectedRowIds]);\n useEffect(() => {\n if (tableState?.interactiveRowsHavePopIn && (!tableState?.popInColumns || tableState?.popInColumns?.length === 0)) {\n dispatch({\n type: 'WITH_POPIN',\n payload: false\n });\n }\n }, [tableState?.interactiveRowsHavePopIn, tableState?.popInColumns?.length]);\n const tableBodyHeight = useMemo(() => {\n if (typeof tableState.bodyHeight === 'number') {\n return tableState.bodyHeight;\n }\n let rowNum;\n if (visibleRowCountMode === AnalyticalTableVisibleRowCountMode.AutoWithEmptyRows) {\n rowNum = internalVisibleRowCount;\n } else {\n rowNum = rows.length < internalVisibleRowCount ? Math.max(rows.length, minRows) : internalVisibleRowCount;\n }\n const rowHeight = visibleRowCountMode === AnalyticalTableVisibleRowCountMode.Auto || visibleRowCountMode === AnalyticalTableVisibleRowCountMode.AutoWithEmptyRows || tableState.interactiveRowsHavePopIn || adjustTableHeightOnPopIn ? popInRowHeight : internalRowHeight;\n if (includeSubCompRowHeight) {\n let initialBodyHeightWithSubComps = 0;\n for (let i = 0; i < rowNum; i++) {\n if (tableState.subComponentsHeight[i]) {\n initialBodyHeightWithSubComps += tableState.subComponentsHeight[i].subComponentHeight + rowHeight;\n } else if (rows[i]) {\n initialBodyHeightWithSubComps += rowHeight;\n }\n }\n return initialBodyHeightWithSubComps;\n }\n return rowHeight * rowNum;\n }, [internalRowHeight, rows.length, internalVisibleRowCount, minRows, popInRowHeight, visibleRowCountMode, tableState.interactiveRowsHavePopIn, adjustTableHeightOnPopIn, includeSubCompRowHeight, tableState.subComponentsHeight, tableState.bodyHeight]);\n\n // scroll bar detection\n useEffect(() => {\n const visibleRowCount = rows.length < internalVisibleRowCount ? Math.max(rows.length, minRows) : internalVisibleRowCount;\n if (popInRowHeight !== internalRowHeight) {\n dispatch({\n type: 'TABLE_SCROLLING_ENABLED',\n payload: {\n isScrollable: visibleRowCount * popInRowHeight > tableBodyHeight || rows.length > visibleRowCount\n }\n });\n } else {\n dispatch({\n type: 'TABLE_SCROLLING_ENABLED',\n payload: {\n isScrollable: rows.length > visibleRowCount\n }\n });\n }\n }, [rows.length, minRows, internalVisibleRowCount, popInRowHeight, tableBodyHeight]);\n const noDataStyles = {\n height: `${tableBodyHeight}px`,\n width: totalColumnsWidth ? `${totalColumnsWidth}px` : '100%'\n };\n const onGroupByChanged = useCallback(e => {\n const {\n column,\n isGrouped\n } = e.detail;\n let groupedColumns;\n if (isGrouped) {\n groupedColumns = [...tableState.groupBy, column.id];\n } else {\n groupedColumns = tableState.groupBy.filter(group => group !== column.id);\n }\n setGroupBy(groupedColumns);\n onGroup(enrichEventWithDetails(e, {\n column,\n groupedColumns\n }));\n }, [tableState.groupBy, onGroup, setGroupBy]);\n useEffect(() => {\n if (columnOrder?.length > 0) {\n setColumnOrder(columnOrder);\n }\n }, [columnOrder]);\n const inlineStyle = useMemo(() => {\n const tableStyles = {\n maxWidth: '100%',\n overflowX: 'auto',\n display: 'flex',\n flexDirection: 'column'\n };\n if (!!rowHeight) {\n tableStyles['--_ui5wcr-AnalyticalTableRowHeight'] = `${rowHeight}px`;\n tableStyles['--_ui5wcr-AnalyticalTableHeaderRowHeight'] = `${rowHeight}px`;\n }\n if (!!headerRowHeight) {\n tableStyles['--_ui5wcr-AnalyticalTableHeaderRowHeight'] = `${headerRowHeight}px`;\n }\n if (tableState.tableClientWidth > 0) {\n return {\n ...tableStyles,\n ...style\n };\n }\n return {\n ...tableStyles,\n ...style,\n visibility: 'hidden'\n };\n }, [tableState.tableClientWidth, style, rowHeight, headerRowHeight]);\n useEffect(() => {\n if (retainColumnWidth && tableState.columnResizing?.isResizingColumn && tableState.tableColResized == null) {\n dispatch({\n type: 'TABLE_COL_RESIZED',\n payload: true\n });\n }\n if (tableState.tableColResized && !retainColumnWidth) {\n dispatch({\n type: 'TABLE_COL_RESIZED',\n payload: undefined\n });\n }\n }, [tableState.columnResizing, retainColumnWidth, tableState.tableColResized]);\n const handleBodyScroll = e => {\n if (typeof onTableScroll === 'function') {\n onTableScroll(e);\n }\n const targetScrollTop = e.currentTarget.scrollTop;\n if (verticalScrollBarRef.current) {\n const vertScrollbarScrollElement = verticalScrollBarRef.current.firstElementChild;\n if (vertScrollbarScrollElement.offsetHeight !== scrollContainerRef.current?.offsetHeight) {\n vertScrollbarScrollElement.style.height = `${scrollContainerRef.current.offsetHeight}px`;\n }\n if (verticalScrollBarRef.current.scrollTop !== targetScrollTop) {\n if (!e.currentTarget.isExternalVerticalScroll) {\n verticalScrollBarRef.current.scrollTop = targetScrollTop;\n verticalScrollBarRef.current.isExternalVerticalScroll = true;\n }\n e.currentTarget.isExternalVerticalScroll = false;\n }\n }\n };\n const handleVerticalScrollBarScroll = useCallback(e => {\n if (parentRef.current && !e.currentTarget.isExternalVerticalScroll) {\n parentRef.current.scrollTop = e.currentTarget.scrollTop;\n parentRef.current.isExternalVerticalScroll = true;\n }\n e.currentTarget.isExternalVerticalScroll = false;\n }, []);\n useEffect(() => {\n columnVirtualizer.measure();\n }, [columnVirtualizer, tableState.columnOrder, tableState.columnResizing?.isResizingColumn, columns]);\n const totalSize = columnVirtualizer.getTotalSize();\n const showVerticalEndBorder = tableState.tableClientWidth > totalSize;\n const tableClasses = clsx(classes.table, GlobalStyleClasses.sapScrollBar, withNavigationHighlight && classes.hasNavigationIndicator, showVerticalEndBorder && classes.showVerticalEndBorder);\n const handleOnLoadMore = e => {\n const rootNodes = rows.filter(row => row.depth === 0);\n onLoadMore(enrichEventWithDetails(e, {\n rowCount: rootNodes.length,\n totalRowCount: rows.length\n }));\n };\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n className: className,\n style: inlineStyle\n //@ts-expect-error: types are compatible\n ,\n ref: componentRef,\n ...rest\n }, header && /*#__PURE__*/React.createElement(TitleBar, {\n ref: titleBarRef,\n titleBarId: titleBarId\n }, header), extension && /*#__PURE__*/React.createElement(\"div\", {\n ref: extensionRef\n }, extension), /*#__PURE__*/React.createElement(FlexBox, {\n className: classes.tableContainerWithScrollBar,\n \"data-component-name\": \"AnalyticalTableContainerWithScrollbar\"\n }, showOverlay && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"span\", {\n id: invalidTableTextId,\n className: classes.hiddenA11yText,\n \"aria-hidden\": true\n }, invalidTableA11yText), /*#__PURE__*/React.createElement(\"div\", {\n tabIndex: 0,\n \"aria-labelledby\": `${titleBarId} ${invalidTableTextId}`,\n role: \"region\",\n \"data-component-name\": \"AnalyticalTableOverlay\",\n className: classes.overlay\n })), /*#__PURE__*/React.createElement(\"div\", {\n \"aria-labelledby\": titleBarId,\n ...getTableProps(),\n tabIndex: showOverlay ? -1 : 0,\n role: \"grid\",\n \"aria-rowcount\": rows.length,\n \"aria-colcount\": visibleColumns.length,\n \"data-per-page\": internalVisibleRowCount,\n \"data-component-name\": \"AnalyticalTableContainer\",\n ref: tableRef,\n \"data-native-scrollbar\": props['data-native-scrollbar'],\n className: tableClasses\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classes.tableHeaderBackgroundElement\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: classes.tableBodyBackgroundElement\n }), headerGroups.map(headerGroup => {\n let headerProps = {};\n if (headerGroup.getHeaderGroupProps) {\n headerProps = headerGroup.getHeaderGroupProps();\n }\n return tableRef.current && /*#__PURE__*/React.createElement(ColumnHeaderContainer, {\n ref: headerRef,\n key: headerProps.key,\n resizeInfo: tableState.columnResizing,\n headerProps: headerProps,\n headerGroup: headerGroup,\n onSort: onSort,\n onGroupByChanged: onGroupByChanged,\n isRtl: isRtl,\n portalContainer: portalContainer,\n columnVirtualizer: columnVirtualizer,\n uniqueId: uniqueId,\n showVerticalEndBorder: showVerticalEndBorder\n });\n }), loading && rawData?.length > 0 && /*#__PURE__*/React.createElement(LoadingComponent, {\n style: {\n width: `${totalColumnsWidth}px`\n }\n }), loading && rawData?.length === 0 && /*#__PURE__*/React.createElement(TablePlaceholder, {\n columns: visibleColumns,\n rows: minRows,\n style: noDataStyles\n }), !loading && rawData?.length === 0 && /*#__PURE__*/React.createElement(NoDataComponent, {\n noDataText: noDataText,\n className: classes.noDataContainer,\n style: noDataStyles\n }), rawData?.length > 0 && tableRef.current && /*#__PURE__*/React.createElement(VirtualTableBodyContainer, {\n rowCollapsedFlag: tableState.rowCollapsed,\n dispatch: dispatch,\n tableBodyHeight: tableBodyHeight,\n totalColumnsWidth: columnVirtualizer.getTotalSize(),\n parentRef: parentRef,\n classes: classes,\n infiniteScroll: infiniteScroll,\n infiniteScrollThreshold: infiniteScrollThreshold,\n onLoadMore: handleOnLoadMore,\n internalRowHeight: internalRowHeight,\n popInRowHeight: popInRowHeight,\n rows: rows,\n handleExternalScroll: handleBodyScroll,\n visibleRows: internalVisibleRowCount\n }, /*#__PURE__*/React.createElement(VirtualTableBody, {\n scrollContainerRef: scrollContainerRef,\n classes: classes,\n prepareRow: prepareRow,\n rows: rows,\n itemCount: Math.max(minRows, rows.length, visibleRowCountMode === AnalyticalTableVisibleRowCountMode.AutoWithEmptyRows ? internalVisibleRowCount : 0) + (!tableState.isScrollable ? additionalEmptyRowsCount : 0),\n scrollToRef: scrollToRef,\n isTreeTable: isTreeTable,\n internalRowHeight: internalRowHeight,\n popInRowHeight: popInRowHeight,\n visibleRows: internalVisibleRowCount,\n alternateRowColor: alternateRowColor,\n overscanCount: overscanCount,\n parentRef: parentRef,\n visibleColumns: visibleColumns,\n renderRowSubComponent: renderRowSubComponent,\n alwaysShowSubComponent: alwaysShowSubComponent,\n markNavigatedRow: markNavigatedRow,\n isRtl: isRtl,\n subComponentsHeight: tableState.subComponentsHeight,\n dispatch: dispatch,\n columnVirtualizer: columnVirtualizer,\n manualGroupBy: reactTableOptions?.manualGroupBy,\n subRowsKey: subRowsKey,\n subComponentsBehavior: subComponentsBehavior,\n triggerScroll: tableState.triggerScroll\n }))), (additionalEmptyRowsCount || tableState.isScrollable === undefined || tableState.isScrollable) && /*#__PURE__*/React.createElement(VerticalScrollbar, {\n tableBodyHeight: tableBodyHeight,\n internalRowHeight: internalHeaderRowHeight,\n tableRef: tableRef,\n handleVerticalScrollBarScroll: handleVerticalScrollBarScroll,\n ref: verticalScrollBarRef,\n \"data-native-scrollbar\": props['data-native-scrollbar'],\n scrollContainerRef: scrollContainerRef,\n parentRef: parentRef\n })), visibleRowCountMode === AnalyticalTableVisibleRowCountMode.Interactive && /*#__PURE__*/React.createElement(VerticalResizer, {\n popInRowHeight: popInRowHeight,\n hasPopInColumns: tableState?.popInColumns?.length > 0,\n analyticalTableRef: analyticalTableRef,\n dispatch: dispatch,\n extensionsHeight: extensionsHeight,\n internalRowHeight: internalRowHeight,\n portalContainer: portalContainer,\n rowsLength: rows.length,\n visibleRows: internalVisibleRowCount,\n handleOnLoadMore: handleOnLoadMore\n })), /*#__PURE__*/React.createElement(Text, {\n \"aria-hidden\": \"true\",\n id: `scaleModeHelper-${uniqueId}`,\n className: classes.hiddenSmartColMeasure,\n \"data-component-name\": \"AnalyticalTableScaleModeHelper\"\n }, ''), /*#__PURE__*/React.createElement(Text, {\n \"aria-hidden\": \"true\",\n id: `scaleModeHelperHeader-${uniqueId}`,\n className: clsx(classes.hiddenSmartColMeasure, classes.hiddenSmartColMeasureHeader),\n \"data-component-name\": \"AnalyticalTableScaleModeHelperHeader\"\n }, ''));\n});\nAnalyticalTable.displayName = 'AnalyticalTable';\nAnalyticalTable.defaultProps = {\n infiniteScrollThreshold: 20,\n loading: false,\n sortable: true,\n filterable: false,\n groupable: false,\n selectionMode: AnalyticalTableSelectionMode.None,\n selectionBehavior: AnalyticalTableSelectionBehavior.Row,\n scaleWidthMode: AnalyticalTableScaleWidthMode.Default,\n subComponentsBehavior: AnalyticalTableSubComponentsBehavior.Expandable,\n data: [],\n columns: [],\n minRows: 5,\n groupBy: [],\n NoDataComponent: DefaultNoDataComponent,\n LoadingComponent: DefaultLoadingComponent,\n noDataText: 'No Data',\n reactTableOptions: {},\n tableHooks: [],\n visibleRows: 15,\n subRowsKey: 'subRows',\n highlightField: 'status',\n markNavigatedRow: () => false,\n selectedRowIds: {},\n onGroup: () => {},\n onRowExpandChange: () => {},\n isTreeTable: false,\n alternateRowColor: false,\n overscanCountHorizontal: 5,\n visibleRowCountMode: AnalyticalTableVisibleRowCountMode.Fixed\n};\nexport { AnalyticalTable };","import { registerIconLoader, CollectionData } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst loadIconsBundle = async (collection: string): Promise => {\n let iconData: CollectionData;\n\n\tif (collection === \"SAP-icons-v5\") {\n\t\ticonData = (await import(/* webpackChunkName: \"ui5-webcomponents-sap-icons-v5\" */ \"../generated/assets/v5/SAP-icons.json\")).default;\n\t} else {\n\t\ticonData = (await import(/* webpackChunkName: \"ui5-webcomponents-sap-icons-v4\" */ \"../generated/assets/v4/SAP-icons.json\")).default;\n\t}\n\n if (typeof iconData === \"string\" && (iconData as string).endsWith(\".json\")) {\n throw new Error(\"[icons] Invalid bundling detected - dynamic JSON imports bundled as URLs. Switch to inlining JSON files from the build or use `import \\\"@ui5/webcomponents-icons/dist/Assets-static.js\\\". Check the \\\"Assets\\\" documentation for more information.\");\n }\n return iconData;\n}\n\nconst registerLoaders = () => {\n\tregisterIconLoader(\"SAP-icons-v4\", loadIconsBundle);\n\tregisterIconLoader(\"SAP-icons-v5\", loadIconsBundle);\n};\n\nregisterLoaders();\n","import {selectAdverts, selectCities, selectCitiesLoading} from \"../../redux/adverts/selectors\";\r\nimport {useDispatch, useSelector} from \"react-redux\";\r\nimport {AnalyticalTable, Grid, Link, Select, Option} from \"@ui5/webcomponents-react\";\r\nimport React, { useEffect } from \"react\";\r\nimport {Icon} from \"@ui5/webcomponents-react\";\r\nimport \"@ui5/webcomponents-icons/dist/AllIcons.js\"\r\nimport {AdvertDto} from \"../../models/AdvertDto\";\r\nimport { fetchAdvertsStart } from \"../../redux/adverts/advertSlices\";\r\n\r\n\r\nexport interface AdvertListProps {\r\n onSelectedAdvert: (advert: AdvertDto) => void;\r\n onLinkClick: (advertId: string) => void;\r\n}\r\n\r\n\r\nexport const AdvertList = (props: AdvertListProps) => {\r\n\r\n const dispatch = useDispatch();\r\n const adverts = useSelector(selectAdverts);\r\n const cities = useSelector(selectCities);\r\n const citiesLoading = useSelector(selectCitiesLoading);\r\n\r\n const [selectedCity, setSelectedCity] = React.useState(null);\r\n\r\n const options = [{city_id: -1, city_name: 'All'}, ...cities || []];\r\n\r\n const {onLinkClick} = props;\r\n\r\n useEffect(() => {\r\n\r\n if(selectedCity === null || isNaN(selectedCity)){\r\n return;\r\n }\r\n\r\n dispatch(fetchAdvertsStart(selectedCity));\r\n },[selectedCity])\r\n\r\n const columns = [\r\n {\r\n Header: 'Advert ID',\r\n accessor: 'advert_id',\r\n Cell: (props: any) => {\r\n\r\n return (\r\n <>\r\n onLinkClick(props.value)}>{props.value}\r\n \r\n );\r\n },\r\n width: 150\r\n },\r\n {\r\n Header:'City',\r\n accessor: 'city_name',\r\n width: 150\r\n },\r\n {\r\n Header: 'Room Count',\r\n accessor: 'rooms_count',\r\n width: 150\r\n },\r\n {\r\n Header: 'Direction',\r\n accessor: 'direction',\r\n Cell: (props: any) => {\r\n const {value} = props;\r\n\r\n const iconName = value > 0\r\n ? 'arrow-top'\r\n : value < 0\r\n ? 'arrow-bottom'\r\n : 'menu2';\r\n const design = value > 0\r\n ? 'Positive'\r\n : value < 0\r\n ? 'Negative'\r\n : 'Information';\r\n\r\n return (\r\n \r\n );\r\n },\r\n width: 100\r\n }\r\n ];\r\n\r\n const onRowSelected = (event: any) => {\r\n const currentRow = event?.detail?.row?.original as AdvertDto;\r\n if(!currentRow){\r\n return;\r\n }\r\n const {onSelectedAdvert} = props;\r\n console.log(currentRow);\r\n\r\n onSelectedAdvert(currentRow);\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n !citiesLoading &&\r\n (
    \r\n \r\n \r\n
    )\r\n }\r\n { adverts && onRowSelected(e)} />}\r\n \r\n );\r\n\r\n};\r\n\r\nfunction dispatch(arg0: { payload: number; type: \"advert/fetchAdvertsStart\"; }) {\r\n throw new Error(\"Function not implemented.\");\r\n}\r\n","import {AnalyticalTable, CommonProps} from \"@ui5/webcomponents-react\";\r\nimport {AdvertDto} from \"../../models/AdvertDto\";\r\nimport {render} from \"@testing-library/react\";\r\n\r\n\r\nexport interface AdvertPricesProps extends CommonProps {\r\n advertDto: AdvertDto | null;\r\n}\r\n\r\n\r\nexport const AdvertPrices = (props: AdvertPricesProps) => {\r\n\r\n const {advertDto} = props;\r\n const prices = advertDto?.prices ?? [];\r\n\r\n const columns = [\r\n {\r\n Header: 'Price',\r\n accessor: 'price',\r\n width: 100\r\n },\r\n {\r\n Header:'Date',\r\n accessor: 'date',\r\n width: 150\r\n },\r\n {\r\n Header: 'Currency',\r\n accessor: 'currency',\r\n width: 100\r\n },\r\n ];\r\n\r\n const renderPrices = () => {\r\n return (\r\n <>\r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n\r\n <>\r\n { advertDto && advertDto.prices && renderPrices()}\r\n \r\n );\r\n\r\n}\r\n","'use client';\n\nimport '@ui5/webcomponents/dist/Dialog.js';\nimport { withWebComponent } from '../../internal/withWebComponent.js';\n/**\n * The `Dialog` component is used to temporarily display some information in a size-limited window in front of the regular app screen. It is used to prompt the user for an action or a confirmation. The `Dialog` interrupts the current app processing as it is the only focused UI element and the main screen is dimmed/blocked. The dialog combines concepts known from other technologies where the windows have names such as dialog box, dialog window, pop-up, pop-up window, alert box, or message box.\n *\n * The `Dialog` is modal, which means that an user action is required before it is possible to return to the parent window. To open multiple dialogs, each dialog element should be separate in the markup. This will ensure the correct modal behavior. Avoid nesting dialogs within each other. The content of the `Dialog` is fully customizable.\n *\n * ### Structure\n *\n * A `Dialog` consists of a header, content, and a footer for action buttons. The `Dialog` is usually displayed at the center of the screen. Its position can be changed by the user. To enable this, you need to set the property `draggable` accordingly.\n *\n * ### Responsive Behavior\n *\n * The `stretch` property can be used to stretch the `Dialog` on full screen. **Note:** When a `ui5-bar` is used in the header or in the footer, you should remove the default dialog's paddings.\n * For more information see the sample \"Bar in Header/Footer\". **Note:** We recommend placing popup-like components (`Dialog` and `Popover`) outside any other components. Preferably, the popup-like components should be placed in an upper level HTML element. Otherwise, in some cases the parent HTML elements can break the position and/or z-index management of the popup-like components. **Note:** We don't recommend nesting popup-like components (`Dialog`, `Popover`).\n *\n * __Note__: This is a UI5 Web Component! [Repository](https://github.com/SAP/ui5-webcomponents) | [Documentation](https://sap.github.io/ui5-webcomponents/playground/)\n */\nconst Dialog = withWebComponent('ui5-dialog', ['accessibleName', 'accessibleNameRef', 'accessibleRole', 'headerText', 'initialFocus', 'state'], ['draggable', 'open', 'preventFocusRestore', 'resizable', 'stretch'], ['footer', 'header'], ['after-close', 'after-open', 'before-close', 'before-open']);\nDialog.displayName = 'Dialog';\nexport { Dialog };","'use client';\n\nimport '@ui5/webcomponents/dist/Label.js';\nimport { withWebComponent } from '../../internal/withWebComponent.js';\n/**\n * The `Label` is a component used to represent a label for elements like input, textarea, select.\n *\n * The `for` property of the `Label` must be the same as the id attribute of the related input element.\n *\n * Screen readers read out the label, when the user focuses the labelled control.\n *\n * The `Label` appearance can be influenced by properties, such as `required` and `wrappingType`. The appearance of the Label can be configured in a limited way by using the design property. For a broader choice of designs, you can use custom styles.\n *\n * __Note__: This is a UI5 Web Component! [Repository](https://github.com/SAP/ui5-webcomponents) | [Documentation](https://sap.github.io/ui5-webcomponents/playground/)\n */\nconst Label = withWebComponent('ui5-label', ['for', 'wrappingType'], ['required', 'showColon'], [], []);\nLabel.displayName = 'Label';\nexport { Label };","'use client';\n\nimport '@ui5/webcomponents/dist/ResponsivePopover.js';\nimport { withWebComponent } from '../../internal/withWebComponent.js';\n/**\n * The `ResponsivePopover` acts as a Popover on desktop and tablet, while on phone it acts as a Dialog. The component improves tremendously the user experience on mobile.\n *\n * ### Usage\n *\n * Use it when you want to make sure that all the content is visible on any device.\n *\n * __Note__: This is a UI5 Web Component! [Repository](https://github.com/SAP/ui5-webcomponents) | [Documentation](https://sap.github.io/ui5-webcomponents/playground/)\n */\nconst ResponsivePopover = withWebComponent('ui5-responsive-popover', ['accessibleName', 'accessibleNameRef', 'accessibleRole', 'headerText', 'horizontalAlign', 'initialFocus', 'opener', 'placementType', 'verticalAlign'], ['allowTargetOverlap', 'hideArrow', 'hideBackdrop', 'modal', 'open', 'preventFocusRestore'], ['footer', 'header'], ['after-close', 'after-open', 'before-close', 'before-open']);\nResponsivePopover.displayName = 'ResponsivePopover';\nexport { ResponsivePopover };","'use client';\n\nimport { useI18nBundle, useIsomorphicId } from '@ui5/webcomponents-react-base';\nimport { clsx } from 'clsx';\nimport React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { createUseStyles } from 'react-jss';\nimport { CLOSE_POPOVER, SHOW_FULL_TEXT, SHOW_LESS, SHOW_MORE } from '../../i18n/i18n-defaults.js';\nimport { useCanRenderPortal } from '../../internal/ssr.js';\nimport { getUi5TagWithSuffix } from '../../internal/utils.js';\nimport { Link } from '../../webComponents/index.js';\nimport { ResponsivePopover } from '../../webComponents/ResponsivePopover/index.js';\nimport { Text } from '../Text/index.js';\nimport { TextStyles } from '../Text/Text.jss.js';\nconst useStyles = createUseStyles({\n expandableText: {\n ...TextStyles.text\n },\n text: {\n display: 'inline'\n },\n ellipsis: {\n wordSpacing: '0.125rem'\n },\n popover: {\n maxWidth: '30rem',\n '&::part(content)': {\n padding: '1rem'\n }\n }\n}, {\n name: 'ExpandableText'\n});\n/**\n * The `ExpandableText` component can be used to display long texts inside a table, list or form.\n *\n * Initially, only the first characters from the text are shown with a \"Show More\" link which allows the full text to be displayed. The `showOverflowInPopover` property determines if the full text will be displayed expanded in place (default) or in a popover (`showOverflowInPopover: true`). If the text is expanded a \"Show Less\" link is displayed, which allows collapsing the text field.\n *\n * @since 1.23.0\n */\nconst ExpandableText = /*#__PURE__*/forwardRef((props, ref) => {\n const {\n children,\n emptyIndicator,\n renderWhitespace,\n hyphenated,\n showOverflowInPopover,\n maxCharacters = 100,\n portalContainer,\n className,\n ...rest\n } = props;\n const [collapsed, setCollapsed] = useState(true);\n const [popoverOpen, setPopoverOpen] = useState(false);\n const linkRef = useRef(null);\n const classes = useStyles();\n const uniqueId = useIsomorphicId();\n const i18nBundle = useI18nBundle('@ui5/webcomponents-react');\n const trimmedChildren = renderWhitespace ? children : children?.replace(/\\s+/g, ' ').trim();\n const isOverflow = trimmedChildren?.length >= maxCharacters;\n const strippedChildren = isOverflow && (collapsed || showOverflowInPopover) ? trimmedChildren?.slice(0, maxCharacters) : children;\n const handleClick = () => {\n if (showOverflowInPopover) {\n setPopoverOpen(prev => !prev);\n }\n setCollapsed(prev => !prev);\n };\n const closePopover = () => {\n setCollapsed(true);\n setPopoverOpen(false);\n };\n useEffect(() => {\n const tagName = getUi5TagWithSuffix('ui5-link');\n void customElements.whenDefined(tagName).then(() => {\n if (linkRef.current) {\n if (showOverflowInPopover) {\n linkRef.current.accessibilityAttributes = {\n hasPopup: 'Dialog'\n };\n } else {\n linkRef.current.accessibilityAttributes = {\n expanded: !collapsed\n };\n }\n }\n });\n }, [collapsed, showOverflowInPopover]);\n const canRenderPortal = useCanRenderPortal();\n if (showOverflowInPopover && !canRenderPortal) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"span\", {\n className: clsx(classes.expandableText, className),\n ...rest,\n ref: ref\n }, /*#__PURE__*/React.createElement(Text, {\n emptyIndicator: emptyIndicator,\n renderWhitespace: renderWhitespace,\n hyphenated: hyphenated,\n className: classes.text\n }, strippedChildren), isOverflow && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"span\", {\n className: classes.ellipsis\n }, showOverflowInPopover || collapsed ? '... ' : ' '), /*#__PURE__*/React.createElement(Link, {\n accessibleName: showOverflowInPopover ? collapsed ? i18nBundle.getText(CLOSE_POPOVER) : i18nBundle.getText(SHOW_FULL_TEXT) : undefined,\n accessibleRole: \"button\",\n onClick: handleClick,\n ref: linkRef,\n id: `${uniqueId}-link`\n }, collapsed ? i18nBundle.getText(SHOW_MORE) : i18nBundle.getText(SHOW_LESS))), showOverflowInPopover && popoverOpen && /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement(ResponsivePopover, {\n opener: `${uniqueId}-link`,\n open: true,\n onAfterClose: closePopover,\n className: classes.popover\n }, /*#__PURE__*/React.createElement(Text, {\n renderWhitespace: renderWhitespace,\n hyphenated: hyphenated,\n className: classes.text\n }, children)), portalContainer ?? document.body));\n});\nExpandableText.displayName = 'ExpandableText';\nexport { ExpandableText };","type TaskType =\t() => Promise;\nconst tasks = new WeakMap>();\n\nclass AnimationQueue {\n\tstatic get tasks() {\n\t\treturn tasks;\n\t}\n\n\tstatic enqueue(element: HTMLElement, task: TaskType) {\n\t\tif (!tasks.has(element)) {\n\t\t\ttasks.set(element, []);\n\t\t}\n\n\t\ttasks.get(element)!.push(task);\n\t}\n\n\tstatic run(element: HTMLElement, task: TaskType): Promise {\n\t\tif (!tasks.has(element)) {\n\t\t\ttasks.set(element, []);\n\t\t}\n\n\t\treturn task().then(() => {\n\t\t\tconst elementTasks = tasks.get(element);\n\n\t\t\tif (elementTasks!.length > 0) {\n\t\t\t\treturn AnimationQueue.run(element, elementTasks!.shift()!);\n\t\t\t}\n\t\t\ttasks.delete(element);\n\t\t});\n\t}\n\n\tstatic push(element: HTMLElement, task: TaskType) {\n\t\tconst elementTasks = tasks.get(element);\n\n\t\tif (elementTasks) {\n\t\t\tAnimationQueue.enqueue(element, task);\n\t\t} else {\n\t\t\tAnimationQueue.run(element, task);\n\t\t}\n\t}\n}\n\nexport default AnimationQueue;\n","import AnimationQueue from \"./AnimationQueue.js\";\n\ntype AnimateOptions = {\n\tbeforeStart?: () => void,\n\tduration: number,\n\telement: HTMLElement,\n\tadvance: (p: number) => void,\n};\n\nconst animate = (options: AnimateOptions) => {\n\tlet start: number | null = null;\n\tlet stopped = false;\n\tlet animationFrame: number;\n\tlet stop: () => void;\n\tlet advanceAnimation: (timestamp: number) => void;\n\n\tconst promise = new Promise((resolve, reject) => {\n\t\tadvanceAnimation = timestamp => {\n\t\t\tstart = start || timestamp;\n\n\t\t\tconst timeElapsed = timestamp - start;\n\t\t\tconst remaining = options.duration - timeElapsed;\n\n\t\t\tif (timeElapsed <= options.duration) {\n\t\t\t\tconst currentAdvance = 1 - remaining / options.duration; // easing formula (currently linear)\n\t\t\t\toptions.advance(currentAdvance);\n\t\t\t\tif (!stopped) {\n\t\t\t\t\tanimationFrame = requestAnimationFrame(advanceAnimation);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toptions.advance(1);\n\t\t\t\tresolve();\n\t\t\t}\n\t\t};\n\n\t\tstop = () => {\n\t\t\tstopped = true;\n\t\t\tcancelAnimationFrame(animationFrame);\n\t\t\treject(new Error(\"animation stopped\"));\n\t\t};\n\t}).catch((reason: Error) => reason);\n\n\tAnimationQueue.push(options.element, () => {\n\t\tif (typeof options.beforeStart === \"function\") {\n\t\t\toptions.beforeStart();\n\t\t}\n\n\t\trequestAnimationFrame(advanceAnimation);\n\n\t\treturn new Promise(resolve => {\n\t\t\tpromise.then(() => resolve());\n\t\t});\n\t});\n\n\treturn {\n\t\tpromise: () => promise,\n\t\tstop: () => stop,\n\t};\n};\nconst duration = 400;\n\nexport { duration };\nexport type { AnimateOptions };\nexport default animate;\n","import animate, { duration } from \"./animate.js\";\n\nconst scroll = (element: HTMLElement, dx: number, dy: number) => {\n\tlet scrollLeft: number;\n\tlet scrollTop: number;\n\n\treturn animate({\n\t\tbeforeStart: () => {\n\t\t\tscrollLeft = element.scrollLeft;\n\t\t\tscrollTop = element.scrollTop;\n\t\t},\n\t\tduration,\n\t\telement,\n\t\tadvance: progress => {\n\t\t\telement.scrollLeft = scrollLeft + (progress * dx); // easing - linear\n\t\t\telement.scrollTop = scrollTop + (progress * dy); // easing - linear\n\t\t},\n\t});\n};\n\nexport default scroll;\n","import { supportsTouch } from \"../Device.js\";\nimport EventProvider from \"../EventProvider.js\";\nimport scroll from \"../animations/scroll.js\";\nimport type UI5Element from \"../UI5Element.js\";\n\nconst scrollEventName = \"scroll\";\nconst touchEndEventName = supportsTouch() ? \"touchend\" : \"mouseup\";\n\ntype ScrollEnablementEventListenerParam = {\n\tisLeft: boolean;\n\tisRight: boolean\n}\ntype ScrollEnablementEventListenerReturn = void;\n\nclass ScrollEnablement extends EventProvider {\n\tcontainerComponent: UI5Element;\n\tmouseMove: (event: MouseEvent | TouchEvent) => void;\n\tmouseUp: (event: MouseEvent | TouchEvent) => void;\n\ttouchStart: (event: MouseEvent | TouchEvent) => void;\n\tcachedValue: { dragX: number, dragY: number };\n\tstartX: number;\n\tstartY: number;\n\t_container?: HTMLElement;\n\tsupportsTouch = supportsTouch();\n\t_canScroll?: boolean;\n\t_prevDragX?: number;\n\t_prevDragY?: number;\n\n\tconstructor(containerComponent: UI5Element) {\n\t\tsuper();\n\t\tthis.containerComponent = containerComponent;\n\t\tthis.mouseMove = this.ontouchmove.bind(this);\n\t\tthis.mouseUp = this.ontouchend.bind(this);\n\t\tthis.touchStart = this.ontouchstart.bind(this);\n\n\t\tthis.supportsTouch = supportsTouch();\n\n\t\t// On Android devices touchmove is thrown one more time than neccessary (together with touchend)\n\t\t// so we have to cache the previus coordinates in order to provide correct parameters in the\n\t\t// event for Android\n\t\tthis.cachedValue = { dragX: 0, dragY: 0 };\n\n\t\t// In components like Carousel you need to know if the user has clicked on something or swiped\n\t\t// in order to throw the needed event or not\n\t\tthis.startX = 0;\n\t\tthis.startY = 0;\n\n\t\tif (this.supportsTouch) {\n\t\t\tcontainerComponent.addEventListener(\"touchstart\", this.touchStart, { passive: true });\n\t\t\tcontainerComponent.addEventListener(\"touchmove\", this.mouseMove, { passive: true });\n\t\t\tcontainerComponent.addEventListener(\"touchend\", this.mouseUp, { passive: true });\n\t\t} else {\n\t\t\tcontainerComponent.addEventListener(\"mousedown\", this.touchStart, { passive: true });\n\t\t}\n\t}\n\n\tset scrollContainer(container: HTMLElement) {\n\t\tthis._container = container;\n\t}\n\n\tget scrollContainer() {\n\t\treturn this._container!;\n\t}\n\n\t/**\n\t * Scrolls the container to the left/top position, retrying retryCount times, if the container is not yet painted\n\t *\n\t * @param left\n\t * @param top\n\t * @param retryCount\n\t * @param retryInterval\n\t * @returns {Promise} resolved when scrolled successfully\n\t */\n\tasync scrollTo(left: number, top: number, retryCount = 0, retryInterval = 0) {\n\t\tlet containerPainted = this.scrollContainer.clientHeight > 0 && this.scrollContainer.clientWidth > 0;\n\n\t\t/* eslint-disable no-loop-func, no-await-in-loop */\n\t\twhile (!containerPainted && retryCount > 0) {\n\t\t\tawait new Promise(resolve => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tcontainerPainted = this.scrollContainer.clientHeight > 0 && this.scrollContainer.clientWidth > 0;\n\t\t\t\t\tretryCount--;\n\t\t\t\t\tresolve();\n\t\t\t\t}, retryInterval);\n\t\t\t});\n\t\t}\n\t\t/* eslint-disable no-loop-func, no-await-in-loop */\n\n\t\tthis._container!.scrollLeft = left;\n\t\tthis._container!.scrollTop = top;\n\t}\n\n\tmove(dx: number, dy: number, disableAnimation: boolean) {\n\t\tif (disableAnimation) {\n\t\t\tthis._container!.scrollLeft += dx;\n\t\t\tthis._container!.scrollTop += dy;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._container) {\n\t\t\treturn scroll(this._container, dx, dy);\n\t\t}\n\t}\n\n\tgetScrollLeft() {\n\t\treturn this._container!.scrollLeft;\n\t}\n\n\tgetScrollTop() {\n\t\treturn this._container!.scrollTop;\n\t}\n\n\t_isTouchInside(event: TouchEvent | MouseEvent) {\n\t\tlet touch = null;\n\t\tif (this.supportsTouch && event instanceof TouchEvent) {\n\t\t\ttouch = event.touches[0];\n\t\t}\n\n\t\tconst rect = this._container!.getBoundingClientRect();\n\t\tconst x = this.supportsTouch ? (touch as TouchInit).clientX : (event as MouseEvent).x;\n\t\tconst y = this.supportsTouch ? (touch as TouchInit).clientY : (event as MouseEvent).y;\n\n\t\treturn x! >= rect.left && x! <= rect.right\n\t\t\t&& y! >= rect.top && y! <= rect.bottom;\n\t}\n\n\tontouchstart(event: TouchEvent | MouseEvent) {\n\t\tlet touch = null;\n\t\tif (this.supportsTouch && event instanceof TouchEvent) {\n\t\t\ttouch = event.touches[0];\n\t\t}\n\n\t\tif (!touch) {\n\t\t\tdocument.addEventListener(\"mouseup\", this.mouseUp, { passive: true });\n\t\t\tdocument.addEventListener(\"mousemove\", this.mouseMove, { passive: true });\n\t\t} else {\n\t\t\t// Needed only on mobile\n\t\t\tthis.startX = touch.pageX;\n\t\t\tthis.startY = touch.pageY;\n\t\t}\n\n\t\tif (touch) {\n\t\t\tthis._prevDragX = touch.pageX;\n\t\t\tthis._prevDragY = touch.pageY;\n\t\t}\n\n\t\tif (event instanceof MouseEvent) {\n\t\t\tthis._prevDragX = event.x;\n\t\t\tthis._prevDragY = event.y;\n\t\t}\n\n\t\tthis._canScroll = this._isTouchInside(event);\n\t}\n\n\tontouchmove(event: TouchEvent | MouseEvent) {\n\t\tif (!this._canScroll) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst container = this._container;\n\t\tconst touch = this.supportsTouch ? (event as TouchEvent).touches[0] : null;\n\n\t\tconst dragX = this.supportsTouch ? (touch as TouchInit).pageX : (event as MouseEvent).x;\n\t\tconst dragY = this.supportsTouch ? (touch as TouchInit).pageY : (event as MouseEvent).y;\n\n\t\tcontainer!.scrollLeft += this._prevDragX! - dragX!;\n\t\tcontainer!.scrollTop += this._prevDragY! - dragY!;\n\n\t\tthis.fireEvent(scrollEventName, {\n\t\t\tisLeft: dragX! > this._prevDragX!,\n\t\t\tisRight: dragX! < this._prevDragX!,\n\t\t});\n\n\t\tthis.cachedValue.dragX = this._prevDragX!;\n\t\tthis.cachedValue.dragY = this._prevDragY!;\n\n\t\tthis._prevDragX = dragX;\n\t\tthis._prevDragY = dragY;\n\t}\n\n\tontouchend(event: TouchEvent | MouseEvent) {\n\t\tif (this.supportsTouch) {\n\t\t\tconst deltaX = Math.abs((event as TouchEvent).changedTouches[0].pageX - this.startX);\n\t\t\tconst deltaY = Math.abs((event as TouchEvent).changedTouches[0].pageY - this.startY);\n\n\t\t\tif (deltaX < 10 && deltaY < 10) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (!this._canScroll) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst container = this._container;\n\t\tconst dragX = this.supportsTouch ? (event as TouchEvent).changedTouches[0].pageX : (event as MouseEvent).x;\n\t\tconst dragY = this.supportsTouch ? (event as TouchEvent).changedTouches[0].pageY : (event as MouseEvent).y;\n\n\t\tcontainer!.scrollLeft += this._prevDragX! - dragX;\n\t\tcontainer!.scrollTop += this._prevDragY! - dragY;\n\n\t\tconst useCachedValues = dragX === this._prevDragX;\n\t\tconst _dragX = useCachedValues ? this.cachedValue.dragX : dragX;\n\t\t// const _dragY = useCachedValues ? this.cachedValue.dragY : dragY; add if needed\n\n\t\tthis.fireEvent(touchEndEventName, {\n\t\t\tisLeft: _dragX < this._prevDragX!,\n\t\t\tisRight: _dragX > this._prevDragX!,\n\t\t});\n\n\t\tthis._prevDragX = dragX;\n\t\tthis._prevDragY = dragY;\n\n\t\tif (!this.supportsTouch) {\n\t\t\tdocument.removeEventListener(\"mousemove\", this.mouseMove);\n\t\t\tdocument.removeEventListener(\"mouseup\", this.mouseUp);\n\t\t}\n\t}\n}\n\nexport default ScrollEnablement;\nexport type {\n\tScrollEnablementEventListenerParam,\n};\n","import { getAnimationMode as getConfiguredAnimationMode } from \"../InitialConfiguration.js\";\nimport AnimationMode from \"../types/AnimationMode.js\";\n\nlet curAnimationMode: `${AnimationMode}`;\n\n/**\n * Returns the animation mode - \"full\", \"basic\", \"minimal\" or \"none\".\n * @public\n * @returns { AnimationMode }\n */\nconst getAnimationMode = (): `${AnimationMode}` => {\n\tif (curAnimationMode === undefined) {\n\t\tcurAnimationMode = getConfiguredAnimationMode();\n\t}\n\n\treturn curAnimationMode;\n};\n\n/**\n * Sets the animation mode - \"full\", \"basic\", \"minimal\" or \"none\".\n * @public\n * @param { AnimationMode } animationMode\n */\nconst setAnimationMode = (animationMode: `${AnimationMode}`) => {\n\tif (animationMode in AnimationMode) {\n\t\tcurAnimationMode = animationMode;\n\t}\n};\n\nexport {\n\tgetAnimationMode,\n\tsetAnimationMode,\n};\n","/**\n * Different Carousel arrows placement.\n *\n * @public\n */\nenum CarouselArrowsPlacement {\n\t/**\n\t * Carousel arrows are placed on the sides of the current Carousel page.\n\t * @public\n\t */\n\tContent = \"Content\",\n\n\t/**\n\t * Carousel arrows are placed on the sides of the page indicator of the Carousel.\n\t * @public\n\t */\n\tNavigation = \"Navigation\",\n}\n\nexport default CarouselArrowsPlacement;\n","/**\n * Different Carousel page indicator styles.\n *\n * @public\n */\nenum CarouselPageIndicatorStyle {\n\t/**\n\t * The page indicator will be visualized as dots if there are fewer than 9 pages.\n\t * If there are more pages, the page indicator will switch to displaying the current page and the total number of pages. (e.g. X of Y)\n\t * @public\n\t */\n\tDefault = \"Default\",\n\n\t/**\n\t * The page indicator will display the current page and the total number of pages. (e.g. X of Y)\n\t * @public\n\t */\n\tNumeric = \"Numeric\",\n}\n\nexport default CarouselPageIndicatorStyle;\n","/**\n * Defines background designs.\n *\n * @public\n */\nenum BackgroundDesign {\n\t/**\n\t * A solid background color dependent on the theme.\n\t * @public\n\t */\n\tSolid = \"Solid\",\n\n\t/**\n\t * Transparent background.\n\t * @public\n\t */\n\tTransparent = \"Transparent\",\n\n\t/**\n\t * A translucent background depending on the opacity value of the theme.\n\t * @public\n\t */\n\tTranslucent = \"Translucent\",\n}\n\nexport default BackgroundDesign;\n","/**\n * Defines border designs.\n *\n * @public\n */\nenum BorderDesign {\n\t/**\n\t * A solid border color dependent on the theme.\n\t * @public\n\t */\n\tSolid = \"Solid\",\n\n\t/**\n\t * Specifies no border.\n\t * @public\n\t */\n\tNone = \"None\",\n}\n\nexport default BorderDesign;\n","/* eslint no-unused-vars: 0 */\nimport { html, svg, repeat, classMap, styleMap, ifDefined, unsafeHTML, scopeTag } from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\timport type Carousel from \"../../Carousel.js\";\n\timport type { ClassMapValue } from \"@ui5/webcomponents-base/dist/types.js\";\n\t\nfunction block0 (this: Carousel, context: UI5Element, tags: string[], suffix: string | undefined) { return html` `;}\nfunction block1 (this: Carousel, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html``;}\nfunction block2 (this: Carousel, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`` : html``;}\nfunction block3 (this: Carousel, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    ${ this.showArrows.navigation ? block4.call(this, context, tags, suffix) : undefined }${ this.showArrows.navigation ? block9.call(this, context, tags, suffix) : undefined }
    `;}\nfunction block4 (this: Carousel, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-button\", tags, suffix)} arrow-back tooltip=\"${ifDefined(this.previousPageText)}\" class=\"ui5-carousel-navigation-button ${classMap(this.classes.navPrevButton as ClassMapValue)}\" icon=\"slim-arrow-left\" tabindex=\"-1\" @click=${this._navButtonClick}>` : html``;}\nfunction block5 (this: Carousel, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.isPageTypeDots ? block6.call(this, context, tags, suffix) : block8.call(this, context, tags, suffix) }`;}\nfunction block6 (this: Carousel, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ repeat(this.dots, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block7.call(this, context, tags, suffix, item, index)) }`;}\nfunction block7 (this: Carousel, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html``;}\nfunction block8 (this: Carousel, context: UI5Element, tags: string[], suffix: string | undefined) { return html``;}\nfunction block9 (this: Carousel, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-button\", tags, suffix)} arrow-forward tooltip=\"${ifDefined(this.nextPageText)}\" class=\"ui5-carousel-navigation-button ${classMap(this.classes.navNextButton as ClassMapValue)}\" icon=\"slim-arrow-right\" tabindex=\"-1\" @click=${this._navButtonClick}>` : html``;}\n\n\nexport default block0;","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"slim-arrow-left\";\nconst pathData = \"M351.5 421q12 12 0 23-5 5-11 5t-11-5l-166-165q-9-10-9-23t9-23l165-164q5-5 11.5-5t11.5 5 5 11-5 11l-159 159q-6 6 0 12z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v4\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v4/slim-arrow-left\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"slim-arrow-left\";\nconst pathData = \"M326 96q11 0 18.5 7.5T352 122q0 10-8 18L223 256l121 116q8 8 8 18 0 11-7.5 18.5T326 416q-10 0-17-7L168 274q-8-6-8-18 0-11 8-19l141-134q7-7 17-7z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v5\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v5/slim-arrow-left\";\nexport { pathData, ltr, accData };","import { isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { pathData as pathDatav4, ltr, accData } from \"./v4/slim-arrow-left.js\";\nimport { pathData as pathDatav5 } from \"./v5/slim-arrow-left.js\";\n\nconst pathData = isLegacyThemeFamily() ? pathDatav4 : pathDatav5;\n\nexport default \"slim-arrow-left\";\nexport { pathData, ltr, accData };","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents\",fileName:\"themes/Carousel.css.ts\",content:`:host(:not([hidden])){display:inline-block}:host{width:100%;min-width:15.5rem;height:100%}.ui5-carousel-root:focus{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor)}.ui5-carousel-root{height:inherit;position:relative;display:flex;flex-direction:column;align-items:center;background:var(--ui5-v1-22-0-rc-3_carousel_background_color_translucent)}.ui5-carousel-background-solid{background:var(--ui5-v1-22-0-rc-3_carousel_background_color_solid)}.ui5-carousel-background-transparent{background:transparent}.ui5-carousel-viewport{width:100%;height:inherit;position:relative;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden;padding:1px;flex:1;min-height:0}.ui5-carousel-viewport.ui5-carousel-viewport--single{align-items:center}.ui5-carousel-content{height:100%;position:relative;display:flex;flex-direction:row;flex-wrap:nowrap;transition:transform .5s cubic-bezier(.46,0,.44,1);will-change:transform}.ui5-carousel-content.ui5-carousel-content-no-animation{transition:none}.ui5-carousel-content.ui5-carousel-content-has-navigation{height:calc(100% - 1rem)}.ui5-carousel-item{height:100%;display:flex;align-items:center;justify-content:center;padding:0 .75rem;box-sizing:border-box;transition:opacity .5s linear;will-change:opacity}.ui5-carousel-item--hidden{opacity:0}.ui5-carousel-navigation-arrows{width:100%;padding:0 .5rem;position:absolute;top:calc(50% - var(--ui5-v1-22-0-rc-3_carousel_button_size) / 2);left:0;display:flex;justify-content:space-between;box-sizing:border-box;pointer-events:none}.ui5-carousel-navigation-arrows>[ui5-button]{pointer-events:all}.ui5-carousel-navigation-wrapper{width:100%;height:2.75rem;display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;box-sizing:border-box}.ui5-carousel-navigation-wrapper-bg-solid{background:var(--sapPageFooter_Background)}.ui5-carousel-navigation-wrapper-bg-translucent{background:var(--ui5-v1-22-0-rc-3_carousel_background_color_translucent)}.ui5-carousel-navigation-wrapper-bg-transparent{background:transparent}.ui5-carousel-navigation-wrapper-border-solid{border-top:var(--sapElement_BorderWidth) solid var(--sapList_BorderColor)}.ui5-carousel-navigation-wrapper.ui5-carousel-navigation-with-buttons{height:3.5rem}.ui5-carousel-navigation-button{width:var(--ui5-v1-22-0-rc-3_carousel_button_size);height:var(--ui5-v1-22-0-rc-3_carousel_button_size);border-radius:50%;box-shadow:none;cursor:pointer;outline-offset:.1rem;--_ui5-v1-22-0-rc-3_button_focused_border_radius: 50%}.ui5-carousel-navigation-arrows .ui5-carousel-navigation-button{box-shadow:var(--sapContent_Shadow1)}.ui5-carousel-navigation-arrows .ui5-carousel-navigation-button:active{box-shadow:var(--ui5-v1-22-0-rc-3_carousel_navigation_button_active_box_shadow)}.ui5-carousel-navigation-button--hidden{visibility:hidden;padding:0}.ui5-carousel-navigation{width:9rem;height:2rem;display:flex;justify-content:center;align-items:center}.ui5-carousel-navigation-dot{box-sizing:border-box;width:var(--ui5-v1-22-0-rc-3_carousel_inactive_dot_size);height:var(--ui5-v1-22-0-rc-3_carousel_inactive_dot_size);margin:var(--ui5-v1-22-0-rc-3_carousel_inactive_dot_margin);border-radius:50%;background-color:var(--ui5-v1-22-0-rc-3_carousel_inactive_dot_background);border:var(--ui5-v1-22-0-rc-3_carousel_inactive_dot_border);transition:background-color .1s ease-in}.ui5-carousel-navigation-dot[active]{width:.5rem;height:.5rem;margin:0 .25rem;background-color:var(--ui5-v1-22-0-rc-3_carousel_active_dot_background);border:var(--ui5-v1-22-0-rc-3_carousel_active_dot_border)}.ui5-carousel-navigation-text{font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;color:var(--sapPageFooter_TextColor);white-space:nowrap;overflow:hidden;text-align:center;text-overflow:ellipsis}\n`};\nexport default styleData;\n\t","import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport {\n\tisLeft,\n\tisRight,\n\tisDown,\n\tisUp,\n\tisF7,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport ScrollEnablement from \"@ui5/webcomponents-base/dist/delegate/ScrollEnablement.js\";\nimport type { ScrollEnablementEventListenerParam } from \"@ui5/webcomponents-base/dist/delegate/ScrollEnablement.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport AnimationMode from \"@ui5/webcomponents-base/dist/types/AnimationMode.js\";\nimport { getAnimationMode } from \"@ui5/webcomponents-base/dist/config/AnimationMode.js\";\nimport {\n\tCAROUSEL_OF_TEXT,\n\tCAROUSEL_DOT_TEXT,\n\tCAROUSEL_PREVIOUS_ARROW_TEXT,\n\tCAROUSEL_NEXT_ARROW_TEXT,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport CarouselArrowsPlacement from \"./types/CarouselArrowsPlacement.js\";\nimport CarouselPageIndicatorStyle from \"./types/CarouselPageIndicatorStyle.js\";\nimport BackgroundDesign from \"./types/BackgroundDesign.js\";\nimport BorderDesign from \"./types/BorderDesign.js\";\nimport CarouselTemplate from \"./generated/templates/CarouselTemplate.lit.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-left.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\n\nimport Button from \"./Button.js\";\nimport Label from \"./Label.js\";\n\n// Styles\nimport CarouselCss from \"./generated/themes/Carousel.css.js\";\n\ntype CarouselNavigateEventDetail = {\n\tselectedIndex: number;\n}\n\n/**\n * @class\n *\n *

    Overview

    \n * The Carousel allows the user to browse through a set of items.\n * The component is mostly used for showing a gallery of images, but can hold any other HTML element.\n *
    \n * There are several ways to perform navigation:\n *
      \n *
    • on desktop - the user can navigate using the navigation arrows or with keyboard shorcuts.
    • \n *
    • on mobile - the user can use swipe gestures.
    • \n *
    \n *\n *

    Usage

    \n *\n *

    When to use:

    \n *\n *
      \n *
    • The items you want to display are very different from each other.
    • \n *
    • You want to display the items one after the other.
    • \n *
    \n *\n *

    When not to use:

    \n *\n *
      \n *
    • The items you want to display need to be visible at the same time.
    • \n *
    • The items you want to display are uniform and very similar.
    • \n *
    \n *\n *

    Keyboard Handling

    \n *\n *

    Basic Navigation

    \n * When the ui5-carousel is focused the user can navigate between the items\n * with the following keyboard shortcuts:\n *
    \n *
      \n *
    • [UP/DOWN] - Navigates to previous and next item
    • \n *
    • [LEFT/RIGHT] - Navigates to previous and next item
    • \n *
    \n *\n *

    Fast Navigation

    \n * This component provides a build in fast navigation group which can be used via F6 / Shift + F6 or Ctrl + Alt(Option) + Down / Ctrl + Alt(Option) + Up.\n * In order to use this functionality, you need to import the following module:\n * import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"\n *

    \n *\n *

    ES6 Module Import

    \n *\n * import \"@ui5/webcomponents/dist/Carousel.js\";\n *\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.6\n * @public\n * @csspart content - Used to style the content of the component\n */\n@customElement({\n\ttag: \"ui5-carousel\",\n\tlanguageAware: true,\n\tfastNavigation: true,\n\trenderer: litRender,\n\tstyles: CarouselCss,\n\ttemplate: CarouselTemplate,\n\tdependencies: [\n\t\tButton,\n\t\tLabel,\n\t],\n})\n/**\n * Fired whenever the page changes due to user interaction,\n * when the user clicks on the navigation arrows or while resizing,\n * based on the items-per-page-l, items-per-page-m and items-per-page-s properties.\n *\n * @param {Integer} selectedIndex the current selected index\n * @public\n * @since 1.0.0-rc.7\n */\n@event(\"navigate\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tselectedIndex: { type: Integer },\n\t},\n})\n\nclass Carousel extends UI5Element {\n\t/**\n\t * Defines whether the carousel should loop, i.e show the first page after the last page is reached and vice versa.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tcyclic!: boolean;\n\n\t/**\n\t * Defines the number of items per page on small size (up to 640px). One item per page shown by default.\n\t * @default 1\n\t * @public\n\t */\n\t@property({ validator: Integer, defaultValue: 1 })\n\titemsPerPageS!: number;\n\n\t/**\n\t * Defines the number of items per page on medium size (from 640px to 1024px). One item per page shown by default.\n\t * @default 1\n\t * @public\n\t */\n\t@property({ validator: Integer, defaultValue: 1 })\n\titemsPerPageM!: number;\n\n\t/**\n\t * Defines the number of items per page on large size (more than 1024px). One item per page shown by default.\n\t * @default 1\n\t * @public\n\t */\n\t@property({ validator: Integer, defaultValue: 1 })\n\titemsPerPageL!: number;\n\n\t/**\n\t * Defines the visibility of the navigation arrows.\n\t * If set to true the navigation arrows will be hidden.\n\t *

    \n\t * Note: The navigation arrows are never displayed on touch devices.\n\t * In this case, the user can swipe to navigate through the items.\n\t * @since 1.0.0-rc.15\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\thideNavigationArrows!: boolean;\n\n\t/**\n\t * Defines the visibility of the page indicator.\n\t * If set to true the page indicator will be hidden.\n\t * @since 1.0.0-rc.15\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\thidePageIndicator!: boolean;\n\n\t/**\n\t * Defines the style of the page indicator.\n\t * Available options are:\n\t *
      \n\t *
    • Default - The page indicator will be visualized as dots if there are fewer than 9 pages. If there are more pages, the page indicator will switch to displaying the current page and the total number of pages. (e.g. X of Y)
    • \n\t *
    • Numeric - The page indicator will display the current page and the total number of pages. (e.g. X of Y)
    • \n\t *
    \n\t * @since 1.10\n\t * @default \"Default\"\n\t * @public\n\t */\n\t@property({ type: CarouselPageIndicatorStyle, defaultValue: CarouselPageIndicatorStyle.Default })\n\tpageIndicatorStyle!: `${CarouselPageIndicatorStyle}`;\n\n\t/**\n\t * Defines the carousel's background design.\n\t * @since 1.14\n\t * @default \"Translucent\"\n\t * @public\n\t */\n\t@property({ type: BackgroundDesign, defaultValue: BackgroundDesign.Translucent })\n\tbackgroundDesign!: BackgroundDesign;\n\n\t/**\n\t * Defines the page indicator background design.\n\t * @since 1.14\n\t * @default \"Solid\"\n\t * @public\n\t */\n\t@property({ type: BackgroundDesign, defaultValue: BackgroundDesign.Solid })\n\tpageIndicatorBackgroundDesign!: BackgroundDesign;\n\n\t/**\n\t * Defines the page indicator border design.\n\t * @since 1.14\n\t * @default \"Solid\"\n\t * @public\n\t */\n\t@property({ type: BorderDesign, defaultValue: BorderDesign.Solid })\n\tpageIndicatorBorderDesign!: BorderDesign;\n\n\t/**\n\t * Defines the index of the initially selected item.\n\t * @default 0\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: 0 })\n\t_selectedIndex!: number;\n\n\t/**\n\t * Defines the position of arrows.\n\t *

    \n\t * Available options are:\n\t *
      \n\t *
    • Content - the arrows are placed on the sides of the current page.
    • \n\t *
    • Navigation - the arrows are placed on the sides of the page indicator.
    • \n\t *
    \n\t * @default \"Content\"\n\t * @public\n\t */\n\t@property({ type: CarouselArrowsPlacement, defaultValue: CarouselArrowsPlacement.Content })\n\tarrowsPlacement!: `${CarouselArrowsPlacement}`;\n\n\t/**\n\t * Defines the carousel width in pixels.\n\t * @private\n\t */\n\t@property({ validator: Integer })\n\t_width?: number;\n\n\t/**\n\t * Defines the carousel item width in pixels.\n\t * @private\n\t */\n\t@property({ validator: Integer })\n\t_itemWidth?: number;\n\n\t/**\n\t * If set to true navigation arrows are shown.\n\t * @private\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_visibleNavigationArrows!: boolean;\n\n\t_scrollEnablement: ScrollEnablement;\n\t_onResizeBound: ResizeObserverCallback;\n\t_resizing: boolean;\n\t_lastFocusedElements: Array;\n\t_orderOfLastFocusedPages: Array;\n\n\t/**\n\t * Defines the content of the component.\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, individualSlots: true })\n\tcontent!: Array;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tstatic get pageTypeLimit() {\n\t\treturn 9;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._scrollEnablement = new ScrollEnablement(this);\n\t\tthis._scrollEnablement.attachEvent(\"touchend\", e => {\n\t\t\tthis._updateScrolling(e);\n\t\t});\n\t\tthis._onResizeBound = this._onResize.bind(this);\n\t\tthis._resizing = false; // indicates if the carousel is in process of resizing\n\n\t\tthis._lastFocusedElements = [];\n\t\tthis._orderOfLastFocusedPages = [];\n\t}\n\n\tonBeforeRendering() {\n\t\tif (this.arrowsPlacement === CarouselArrowsPlacement.Navigation) {\n\t\t\tthis._visibleNavigationArrows = true;\n\t\t}\n\n\t\tthis.validateSelectedIndex();\n\t}\n\n\tonAfterRendering() {\n\t\tthis._scrollEnablement.scrollContainer = this.getDomRef()!;\n\t\tthis._resizing = false; // not invalidating\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._onResizeBound);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._onResizeBound);\n\t}\n\n\tvalidateSelectedIndex() {\n\t\tif (!this.isIndexInRange(this._selectedIndex)) {\n\t\t\tthis._selectedIndex = 0;\n\t\t}\n\t}\n\n\t_onResize() {\n\t\tconst previousItemsPerPage = this.effectiveItemsPerPage;\n\n\t\t// Set the resizing flag to suppress animation while resizing\n\t\tthis._resizing = true;\n\n\t\t// Change transitively effectiveItemsPerPage by modifying _width\n\t\tthis._width = this.offsetWidth;\n\t\tthis._itemWidth = Math.floor(this._width / this.effectiveItemsPerPage);\n\n\t\t// Items per page did not change or the current,\n\t\t// therefore page index does not need to be re-adjusted\n\t\tif (this.effectiveItemsPerPage === previousItemsPerPage) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._selectedIndex > this.pagesCount - 1) {\n\t\t\tthis._selectedIndex = this.pagesCount - 1;\n\t\t\tthis.fireEvent(\"navigate\", { selectedIndex: this._selectedIndex });\n\t\t}\n\t}\n\n\t_updateScrolling(e: ScrollEnablementEventListenerParam) {\n\t\tif (!e) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (e.isLeft) {\n\t\t\tthis.navigateLeft();\n\t\t} else if (e.isRight) {\n\t\t\tthis.navigateRight();\n\t\t}\n\t}\n\n\tasync _onkeydown(e: KeyboardEvent) {\n\t\tif (isF7(e)) {\n\t\t\tthis._handleF7Key(e);\n\t\t\treturn;\n\t\t}\n\n\t\tif (e.target !== this.getDomRef()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isLeft(e) || isDown(e)) {\n\t\t\tthis.navigateLeft();\n\t\t\tawait renderFinished();\n\t\t\tthis.getDomRef()!.focus();\n\t\t} else if (isRight(e) || isUp(e)) {\n\t\t\tthis.navigateRight();\n\t\t\tawait renderFinished();\n\t\t\tthis.getDomRef()!.focus();\n\t\t}\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tconst target = e.target as HTMLElement;\n\n\t\tif (target === this.getDomRef()) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet pageIndex = -1;\n\t\tfor (let i = 0; i < this.content.length; i++) {\n\t\t\tif (this.content[i].contains(target)) {\n\t\t\t\tpageIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (pageIndex === -1) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Save reference of the last focused element for each page\n\t\tthis._lastFocusedElements[pageIndex] = target;\n\n\t\tconst sortedPageIndex = this._orderOfLastFocusedPages.indexOf(pageIndex);\n\t\tif (sortedPageIndex === -1) {\n\t\t\tthis._orderOfLastFocusedPages.unshift(pageIndex);\n\t\t} else {\n\t\t\tthis._orderOfLastFocusedPages.splice(0, 0, this._orderOfLastFocusedPages.splice(sortedPageIndex, 1)[0]);\n\t\t}\n\t}\n\n\t_onmouseout() {\n\t\tif (this.arrowsPlacement === CarouselArrowsPlacement.Content) {\n\t\t\tthis._visibleNavigationArrows = false;\n\t\t}\n\t}\n\n\t_onmouseover() {\n\t\tif (this.arrowsPlacement === CarouselArrowsPlacement.Content) {\n\t\t\tthis._visibleNavigationArrows = true;\n\t\t}\n\t}\n\n\t_handleF7Key(e: KeyboardEvent) {\n\t\tconst lastFocusedElement = this._lastFocusedElements[this._getLastFocusedActivePageIndex];\n\n\t\tif (e.target === this.getDomRef() && lastFocusedElement) {\n\t\t\tlastFocusedElement.focus();\n\t\t} else {\n\t\t\tthis.getDomRef()!.focus();\n\t\t}\n\t}\n\n\tget _backgroundDesign() {\n\t\treturn this.backgroundDesign.toLowerCase();\n\t}\n\n\tget _getLastFocusedActivePageIndex() {\n\t\tfor (let i = 0; i < this._orderOfLastFocusedPages.length; i++) {\n\t\t\tconst pageIndex = this._orderOfLastFocusedPages[i];\n\n\t\t\tif (this.isItemInViewport(pageIndex)) {\n\t\t\t\treturn pageIndex;\n\t\t\t}\n\t\t}\n\n\t\treturn this._selectedIndex;\n\t}\n\n\tnavigateLeft() {\n\t\tthis._resizing = false;\n\n\t\tconst previousSelectedIndex = this._selectedIndex;\n\n\t\tif (this._selectedIndex - 1 < 0) {\n\t\t\tif (this.cyclic) {\n\t\t\t\tthis._selectedIndex = this.pagesCount - 1;\n\t\t\t}\n\t\t} else {\n\t\t\t--this._selectedIndex;\n\t\t}\n\n\t\tif (previousSelectedIndex !== this._selectedIndex) {\n\t\t\tthis.fireEvent(\"navigate\", { selectedIndex: this._selectedIndex });\n\t\t}\n\t}\n\n\tnavigateRight() {\n\t\tthis._resizing = false;\n\n\t\tconst previousSelectedIndex = this._selectedIndex;\n\n\t\tif (this._selectedIndex + 1 > this.pagesCount - 1) {\n\t\t\tif (this.cyclic) {\n\t\t\t\tthis._selectedIndex = 0;\n\t\t\t} else {\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else {\n\t\t\t++this._selectedIndex;\n\t\t}\n\n\t\tif (previousSelectedIndex !== this._selectedIndex) {\n\t\t\tthis.fireEvent(\"navigate\", { selectedIndex: this._selectedIndex });\n\t\t}\n\t}\n\n\t_navButtonClick(e: MouseEvent) {\n\t\tconst button = e.target as Button;\n\t\tif (button.hasAttribute(\"arrow-forward\")) {\n\t\t\tthis.navigateRight();\n\t\t} else {\n\t\t\tthis.navigateLeft();\n\t\t}\n\n\t\tthis.focus();\n\t}\n\n\t/**\n\t * Changes the currently displayed page.\n\t * @param itemIndex The index of the target page\n\t * @since 1.0.0-rc.15\n\t * @public\n\t */\n\tnavigateTo(itemIndex: number) : void {\n\t\tthis._resizing = false;\n\t\tthis._selectedIndex = itemIndex;\n\t}\n\n\t/**\n\t * Assuming that all items have the same width\n\t * @private\n\t */\n\tget items() {\n\t\treturn this.content.map((item, idx) => {\n\t\t\tconst visible = this.isItemInViewport(idx);\n\t\t\treturn {\n\t\t\t\tid: `${this._id}-carousel-item-${idx + 1}`,\n\t\t\t\titem,\n\t\t\t\ttabIndex: visible ? \"0\" : \"-1\",\n\t\t\t\tposinset: `${idx + 1}`,\n\t\t\t\tsetsize: `${this.content.length}`,\n\t\t\t\tstyles: {\n\t\t\t\t\twidth: `${this._itemWidth || 0}px`,\n\t\t\t\t},\n\t\t\t\tclasses: visible ? \"\" : \"ui5-carousel-item--hidden\",\n\t\t\t};\n\t\t});\n\t}\n\n\tget effectiveItemsPerPage(): number {\n\t\tif (!this._width) {\n\t\t\treturn this.itemsPerPageL;\n\t\t}\n\n\t\tif (this._width <= 640) {\n\t\t\treturn this.itemsPerPageS;\n\t\t}\n\n\t\tif (this._width <= 1024) {\n\t\t\treturn this.itemsPerPageM;\n\t\t}\n\n\t\treturn this.itemsPerPageL;\n\t}\n\n\tisItemInViewport(index: number): boolean {\n\t\treturn index >= this._selectedIndex && index <= this._selectedIndex + this.effectiveItemsPerPage - 1;\n\t}\n\n\tisIndexInRange(index: number): boolean {\n\t\treturn index >= 0 && index <= this.pagesCount - 1;\n\t}\n\n\t/**\n\t * @private\n\t */\n\tget renderNavigation() {\n\t\tif (!this.hasManyPages) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (this.arrowsPlacement === CarouselArrowsPlacement.Navigation && !this.hideNavigationArrows) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (this.hidePageIndicator) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tget hasManyPages() {\n\t\treturn this.pagesCount > 1;\n\t}\n\n\tget styles() {\n\t\tconst items = this._itemWidth || 0;\n\t\treturn {\n\t\t\tcontent: {\n\t\t\t\ttransform: `translateX(${this._isRTL ? \"\" : \"-\"}${this._selectedIndex * items}px`,\n\t\t\t},\n\t\t};\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\tviewport: {\n\t\t\t\t\"ui5-carousel-viewport\": true,\n\t\t\t\t\"ui5-carousel-viewport--single\": this.pagesCount === 1,\n\t\t\t},\n\t\t\tcontent: {\n\t\t\t\t\"ui5-carousel-content\": true,\n\t\t\t\t\"ui5-carousel-content-no-animation\": this.suppressAnimation,\n\t\t\t\t\"ui5-carousel-content-has-navigation\": this.renderNavigation,\n\t\t\t\t\"ui5-carousel-content-has-navigation-and-buttons\": this.renderNavigation && this.arrowsPlacement === CarouselArrowsPlacement.Navigation && !this.hideNavigationArrows,\n\t\t\t},\n\t\t\tnavigation: {\n\t\t\t\t\"ui5-carousel-navigation-wrapper\": true,\n\t\t\t\t\"ui5-carousel-navigation-with-buttons\": this.renderNavigation && this.arrowsPlacement === CarouselArrowsPlacement.Navigation && !this.hideNavigationArrows,\n\t\t\t\t[`ui5-carousel-navigation-wrapper-bg-${this.pageIndicatorBackgroundDesign.toLowerCase()}`]: true,\n\t\t\t\t[`ui5-carousel-navigation-wrapper-border-${this.pageIndicatorBorderDesign.toLowerCase()}`]: true,\n\t\t\t},\n\t\t\tnavPrevButton: {\n\t\t\t\t\"ui5-carousel-navigation-button--hidden\": !this.hasPrev,\n\t\t\t},\n\t\t\tnavNextButton: {\n\t\t\t\t\"ui5-carousel-navigation-button--hidden\": !this.hasNext,\n\t\t\t},\n\t\t};\n\t}\n\n\tget pagesCount() {\n\t\tconst items = this.content.length;\n\t\treturn items > this.effectiveItemsPerPage ? items - this.effectiveItemsPerPage + 1 : 1;\n\t}\n\n\tget isPageTypeDots() {\n\t\tif (this.pageIndicatorStyle === CarouselPageIndicatorStyle.Numeric) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn this.pagesCount < Carousel.pageTypeLimit;\n\t}\n\n\tget dots() {\n\t\tconst dots = [];\n\t\tconst pages = this.pagesCount;\n\n\t\tfor (let index = 0; index < pages; index++) {\n\t\t\tdots.push({\n\t\t\t\tactive: index === this._selectedIndex,\n\t\t\t\tariaLabel: Carousel.i18nBundle.getText(CAROUSEL_DOT_TEXT, index + 1, pages),\n\t\t\t});\n\t\t}\n\n\t\treturn dots;\n\t}\n\n\tget showArrows() {\n\t\tconst displayArrows = this._visibleNavigationArrows && this.hasManyPages && isDesktop();\n\n\t\treturn {\n\t\t\tcontent: !this.hideNavigationArrows && displayArrows && this.arrowsPlacement === CarouselArrowsPlacement.Content,\n\t\t\tnavigation: !this.hideNavigationArrows && displayArrows && this.arrowsPlacement === CarouselArrowsPlacement.Navigation,\n\t\t};\n\t}\n\n\tget hasPrev() {\n\t\treturn this.cyclic || this._selectedIndex - 1 >= 0;\n\t}\n\n\tget hasNext() {\n\t\treturn this.cyclic || this._selectedIndex + 1 <= this.pagesCount - 1;\n\t}\n\n\tget suppressAnimation() {\n\t\treturn this._resizing || getAnimationMode() === AnimationMode.None;\n\t}\n\n\tget _isRTL() {\n\t\treturn this.effectiveDir === \"rtl\";\n\t}\n\n\tget selectedIndexToShow() {\n\t\treturn this._isRTL ? this.pagesCount - (this.pagesCount - this._selectedIndex) + 1 : this._selectedIndex + 1;\n\t}\n\n\tget ofText() {\n\t\treturn Carousel.i18nBundle.getText(CAROUSEL_OF_TEXT);\n\t}\n\n\tget ariaActiveDescendant() {\n\t\treturn this.content.length ? `${this._id}-carousel-item-${this._selectedIndex + 1}` : undefined;\n\t}\n\n\tget nextPageText() {\n\t\treturn Carousel.i18nBundle.getText(CAROUSEL_NEXT_ARROW_TEXT);\n\t}\n\n\tget previousPageText() {\n\t\treturn Carousel.i18nBundle.getText(CAROUSEL_PREVIOUS_ARROW_TEXT);\n\t}\n\n\t/**\n\t * The indices of the currently visible items of the component.\n\t * @public\n\t * @since 1.0.0-rc.15\n\t * @default []\n\t */\n\tget visibleItemsIndices() : Array {\n\t\tconst visibleItemsIndices: Array = [];\n\n\t\tthis.items.forEach((item, index) => {\n\t\t\tif (this.isItemInViewport(index)) {\n\t\t\t\tvisibleItemsIndices.push(index);\n\t\t\t}\n\t\t});\n\n\t\treturn visibleItemsIndices;\n\t}\n\n\tstatic async onDefine() {\n\t\tCarousel.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n}\n\nCarousel.define();\n\nexport default Carousel;\nexport type {\n\tCarouselNavigateEventDetail,\n};\n","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"background\";\nconst pathData = \"M368 192q-20 0-34-14t-14-34 14-34 34-14 34 14 14 34-14 34-34 14zm80-160q14 0 23 9t9 23v384q0 14-9 23t-23 9H64q-13 0-22.5-9T32 448V64q0-14 9.5-23T64 32h384zm0 32H64v384h384V64zm-92 288l-58-85 22-43 96 128h-60zm-7 32H94l130-183z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v4\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v4/background\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"background\";\nconst pathData = \"M480 390q0 38-26 64t-64 26H122q-38 0-64-26t-26-64V122q0-38 26-64t64-26h268q38 0 64 26t26 64v268zm-397 2l90-96q8-8 19-8 7 0 14 4l41 26 87-87q9-7 18-7 7 0 11 3l66 32V122q0-17-11-28t-28-11H122q-17 0-28 11t-11 28v270zm85-184q-17 0-28.5-11.5T128 168t11.5-28.5T168 128t28.5 11.5T208 168t-11.5 28.5T168 208zm222 221q17 0 28-11t11-28v-73l-72-36-65 65 16 10q12 7 12 22 0 10-7.5 17.5T294 403q-8 0-13-4l-85-53-77 83h271z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v5\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v5/background\";\nexport { pathData, ltr, accData };","import { isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { pathData as pathDatav4, ltr, accData } from \"./v4/background.js\";\nimport { pathData as pathDatav5 } from \"./v5/background.js\";\n\nconst pathData = isLegacyThemeFamily() ? pathDatav4 : pathDatav5;\n\nexport default \"background\";\nexport { pathData, ltr, accData };","/**\n * Defines the layout of the content displayed in the ui5-media-gallery-item.\n *\n * @public\n */\nenum MediaGalleryItemLayout {\n\n\t/**\n\t * Recommended to use when the item contains an image.
    \n\t * When a thumbnail is selected, it makes the corresponding enlarged content appear in a square display area.\n\t * @public\n\t */\n\t Square = \"Square\",\n\n\t/**\n\t * Recommended to use when the item contains video content.
    \n\t * When a thumbnail is selected, it makes the corresponding enlarged content appear in a wide display area\n\t * (stretched to fill all of the available width) for optimal user experiance.\n\t * @public\n\t */\n\tWide = \"Wide\",\n}\n\nexport default MediaGalleryItemLayout;\n","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents-fiori\",fileName:\"themes/sap_horizon/parameters-bundle.css.ts\",content:`[data-ui5-compact-size],.ui5-content-density-compact,.sapUiSizeCompact{--_ui5-v1-22-0-rc-3_bar_base_height: 2.5rem;--_ui5-v1-22-0-rc-3_bar_subheader_height: 2.25rem;--_ui5-v1-22-0-rc-3_side_navigation_navigation_separator_margin: var(--_ui5-v1-22-0-rc-3_side_navigation_navigation_separator_margin_collapsed);--_ui5-v1-22-0-rc-3_side_navigation_padding: var(--_ui5-v1-22-0-rc-3_side_navigation_padding_compact);--_ui5-v1-22-0-rc-3_side_navigation_item_bottom_margin: var(--_ui5-v1-22-0-rc-3_side_navigation_item_bottom_margin_compact);--_ui5-v1-22-0-rc-3_side_navigation_item_height: 2rem;--_ui5-v1-22-0-rc-3_side_navigation_item_collapsed_icon_padding: 0;--_ui5-v1-22-0-rc-3_side_navigation_item_collapsed_hover_focus_padding_right: .5rem}:root{--_ui5-v1-22-0-rc-3_bar_base_height: 2.75rem;--_ui5-v1-22-0-rc-3_bar_subheader_height: 3rem;--_ui5-v1-22-0-rc-3_bar-start-container-padding-start: .75rem;--_ui5-v1-22-0-rc-3_bar-mid-container-padding-start-end: .5rem;--_ui5-v1-22-0-rc-3_bar-end-container-padding-end: .75rem;--_ui5-v1-22-0-rc-3_fcl_solid_bg: var(--sapShell_Background);--_ui5-v1-22-0-rc-3_fcl_decoration_top: linear-gradient(to top, var(--sapHighlightColor), transparent);--_ui5-v1-22-0-rc-3_fcl_decoration_bottom: linear-gradient(to bottom, var(--sapHighlightColor), transparent);--sapIllus_BrandColorPrimary: var(--sapContent_Illustrative_Color1);--sapIllus_BrandColorSecondary: var(--sapContent_Illustrative_Color2);--sapIllus_StrokeDetailColor: var(--sapContent_Illustrative_Color4);--sapIllus_Layering1: var(--sapContent_Illustrative_Color5);--sapIllus_Layering2: var(--sapContent_Illustrative_Color6);--sapIllus_BackgroundColor: var(--sapContent_Illustrative_Color7);--sapIllus_ObjectFillColor: var(--sapContent_Illustrative_Color8);--sapIllus_AccentColor: var(--sapContent_Illustrative_Color3);--sapIllus_NoColor: none;--sapIllus_PatternShadow: url(#sapIllus_PatternShadow);--sapIllus_PatternHighlight: url(#sapIllus_PatternHighlight);--_ui5-v1-22-0-rc-3_media_gallery_thumbnail_border: 1px solid var(--sapContent_ForegroundColor);--_ui5-v1-22-0-rc-3_media_gallery_thumbnail_selected_border: 2px solid var(--sapSelectedColor);--_ui5-v1-22-0-rc-3_media_gallery_thumbnail_focus_outline: var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);--_ui5-v1-22-0-rc-3_media_gallery_item_overlay_box_shadow: inset 0px 0px 80px rgba(0, 0, 0, .2);--_ui5-v1-22-0-rc-3_page_list_bg: var(--sapGroup_ContentBackground);--_ui5-v1-22-0-rc-3_page_transparent_bg: transparent;--_ui5-v1-22-0-rc-3_vsd_header_container: 2.75rem;--_ui5-v1-22-0-rc-3_vsd_sub_header_container_height: 2.75rem;--_ui5-v1-22-0-rc-3_vsd_content_li_padding: .375rem;--_ui5-v1-22-0-rc-3_vsd_content_height: 23.4375rem;--_ui5-v1-22-0-rc-3_vsd_expand_content_height: 26.1875rem;--_ui5-v1-22-0-rc-3_product_switch_item_width: 11.25rem;--_ui5-v1-22-0-rc-3_product_switch_item_height: 7rem;--_ui5-v1-22-0-rc-3_product_switch_item_outline_width: .0625rem;--_ui5-v1-22-0-rc-3_product_switch_item_outline_color: var(--sapContent_FocusColor);--_ui5-v1-22-0-rc-3_product_switch_item_outline: var(--_ui5-v1-22-0-rc-3_product_switch_item_outline_width) var(--_ui5-v1-22-0-rc-3_product_switch_item_outline_color) dotted;--_ui5-v1-22-0-rc-3_product_switch_item_outline_offset: -.1875rem;--_ui5-v1-22-0-rc-3_product_switch_item_outline_offset_positive: .1875rem;--_ui5-v1-22-0-rc-3_product_switch_item_active_outline_color: var(--sapContent_FocusColor);--_ui5-v1-22-0-rc-3_shellbar_root_height: 3.25rem;--_ui5-v1-22-0-rc-3_shellbar_logo_outline_color: var(--sapContent_FocusColor);--_ui5-v1-22-0-rc-3_shellbar_logo_outline: var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--_ui5-v1-22-0-rc-3_shellbar_logo_outline_color);--_ui5-v1-22-0-rc-3_shellbar_logo_outline_offset: -.125rem;--_ui5-v1-22-0-rc-3_shellbar_outline_offset: -.25rem;--_ui5-v1-22-0-rc-3_shellbar_button_border: none;--_ui5-v1-22-0-rc-3_shellbar_button_border_radius: var(--sapButton_BorderCornerRadius);--_ui5-v1-22-0-rc-3_shellbar_button_focused_border: .125rem solid var(--sapContent_FocusColor);--_ui5-v1-22-0-rc-3_shellbar_button_badge_border: 1px solid var(--sapContent_BadgeBackground);--_ui5-v1-22-0-rc-3_shellbar_logo_border_radius: .5rem;--_ui5-v1-22-0-rc-3_shellbar_button_box_shadow: var(--sapContent_Interaction_Shadow);--_ui5-v1-22-0-rc-3_shellbar_button_box_shadow_active: inset 0 0 0 .0625rem var(--sapButton_Lite_Active_BorderColor);--_ui5-v1-22-0-rc-3_shellbar_button_active_color: var(--sapShell_Active_TextColor);--_ui5-v1-22-0-rc-3_shellbar_logo_outline_border_radius: var(--sapField_BorderCornerRadius);--_ui5-v1-22-0-rc-3_shellbar_copilot_stop_color1: #0070F2;--_ui5-v1-22-0-rc-3_shellbar_copilot_stop_color2: #EBF8FF;--_ui5-v1-22-0-rc-3_shellbar_copilot_focus_offset: 3px;--_ui5-v1-22-0-rc-3_shellbar_search_button_border_radius: 50%;--_ui5-v1-22-0-rc-3_shellbar_search_button_size: 1.75rem;--_ui5-v1-22-0-rc-3_shellbar_search_field_height: 2.25rem;--_ui5-v1-22-0-rc-3_shellbar_search_field_background: var(--sapShell_InteractiveBackground);--_ui5-v1-22-0-rc-3_shellbar_search_field_border: none;--_ui5-v1-22-0-rc-3_shellbar_search_field_color: var(--sapShell_InteractiveTextColor);--_ui5-v1-22-0-rc-3_shellbar_search_field_background_hover: var(--sapShell_Hover_Background);--_ui5-v1-22-0-rc-3_shellbar_search_field_box_shadow: var(--sapField_Shadow), inset 0 -.0625rem var(--sapField_BorderColor);--_ui5-v1-22-0-rc-3_shellbar_search_field_box_shadow_hover: var(--sapField_Hover_Shadow), inset 0 -.0625rem var(--sapField_Hover_BorderColor);--_ui5-v1-22-0-rc-3_shellbar_input_focus_outline_color: var(--sapField_Active_BorderColor);--_ui5-v1-22-0-rc-3_shellbar_overflow_container_middle_height: 3rem;--_ui5-v1-22-0-rc-3_shellbar_menu_button_title_font_size: var(--sapFontHeader5Size);--_ui5-v1-22-0-rc-3_shellbar_input_border_radius: 1.125rem;--_ui5-v1-22-0-rc-3_shellbar_input_focus_border_radius: 1.125rem;--_ui5-v1-22-0-rc-3_shellbar_input_background_color: var(--sapShell_InteractiveBackground);--_ui5-v1-22-0-rc-3_TimelineItem_arrow_size: 1.625rem;--_ui5-v1-22-0-rc-3_TimelineItem_bubble_border_width: .125rem;--_ui5-v1-22-0-rc-3_TimelineItem_bubble_border_style: solid;--_ui5-v1-22-0-rc-3_TimelineItem_bubble_border_radius: var(--sapElement_BorderCornerRadius);--_ui5-v1-22-0-rc-3_TimelineItem_bubble_border_color: var(--sapGroup_ContentBorderColor);--_ui5-v1-22-0-rc-3_TimelineItem_bubble_border_top: -.25rem;--_ui5-v1-22-0-rc-3_TimelineItem_bubble_border_right: -.25rem;--_ui5-v1-22-0-rc-3_TimelineItem_bubble_border_bottom: -.25rem;--_ui5-v1-22-0-rc-3_TimelineItem_bubble_border_left: -.75rem;--_ui5-v1-22-0-rc-3_TimelineItem_bubble_rtl_left_offset: -.25rem;--_ui5-v1-22-0-rc-3_TimelineItem_bubble_rtl_right_offset: -.75rem;--_ui5-v1-22-0-rc-3_TimelineItem_bubble_focus_border_radius: .875rem;--_ui5-v1-22-0-rc-3_TimelineItem_horizontal_bubble_focus_top_offset: -.75rem;--_ui5-v1-22-0-rc-3_TimelineItem_horizontal_bubble_focus_left_offset: -.25rem;--_ui5-v1-22-0-rc-3_TimelineItem_bubble_content_padding: .5rem;--_ui5-v1-22-0-rc-3_TimelineItem_bubble_content_subtitle_padding_top: .125rem;--_ui5-v1-22-0-rc-3_TimelineItem_bubble_content_description_padding_top: .5rem;--_ui5-v1-22-0-rc-3_side_navigation_hover_border_style_color: none;--_ui5-v1-22-0-rc-3_side_navigation_hover_border_width: 0;--_ui5-v1-22-0-rc-3_side_navigation_group_border_width: 0 0 .0625rem 0;--_ui5-v1-22-0-rc-3_side_navigation_item_border_style_color: none;--_ui5-v1-22-0-rc-3_side_navigation_item_border_width: 0;--_ui5-v1-22-0-rc-3_side_navigation_last_item_border_style_color: none;--_ui5-v1-22-0-rc-3_side_navigation_item_padding_left: .5rem;--_ui5-v1-22-0-rc-3_side_navigation_no_icons_group_padding: 1rem;--_ui5-v1-22-0-rc-3_side_navigation_selected_item_border_color: var(--sapList_SelectionBorderColor);--_ui5-v1-22-0-rc-3_side_navigation_selected_border_width: 0 0 .0625rem 0;--_ui5-v1-22-0-rc-3_side_navigation_collapsed_selected_item_border_style_color: solid var(--_ui5-v1-22-0-rc-3_side_navigation_selected_item_border_color);--_ui5-v1-22-0-rc-3_side_navigation_collapsed_selected_group_border_color: var(--_ui5-v1-22-0-rc-3_side_navigation_selected_item_border_color);--_ui5-v1-22-0-rc-3_side_navigation_group_expanded_border_width: 0;--_ui5-v1-22-0-rc-3_side_navigation_group_bottom_border_color: var(--sapList_BorderColor);--_ui5-v1-22-0-rc-3_side_navigation_popup_arrow_box_shadow: var(--sapContent_Shadow2);--_ui5-v1-22-0-rc-3_side_navigation_width: 16rem;--_ui5-v1-22-0-rc-3_side_navigation_collapsed_width: 3.5rem;--_ui5-v1-22-0-rc-3_side_navigation_navigation_separator_margin: .5rem;--_ui5-v1-22-0-rc-3_side_navigation_navigation_separator_margin_collapsed: .5rem;--_ui5-v1-22-0-rc-3_side_navigation_navigation_separator_background_color: var(--sapToolbar_SeparatorColor);--_ui5-v1-22-0-rc-3_side_navigation_navigation_separator_radius: .125rem;--_ui5-v1-22-0-rc-3_side_navigation_navigation_separator_height: .0625rem;--_ui5-v1-22-0-rc-3_side_navigation_triangle_color: var(--sapContent_NonInteractiveIconColor);--_ui5-v1-22-0-rc-3_side_navigation_border_right: 0;--_ui5-v1-22-0-rc-3_side_navigation_border_radius: .5rem .5rem 0 0;--_ui5-v1-22-0-rc-3_side_navigation_phone_border_radius: .5rem;--_ui5-v1-22-0-rc-3_side_navigation_shadow_color1: color-mix(in srgb, var(--sapContent_ShadowColor) 16%, transparent);--_ui5-v1-22-0-rc-3_side_navigation_shadow_color2: color-mix(in srgb, var(--sapContent_ShadowColor) 16%, transparent);--_ui5-v1-22-0-rc-3_side_navigation_box_shadow: 0 0 .125rem 0 var(--_ui5-v1-22-0-rc-3_side_navigation_shadow_color1), 0 .5rem 1rem 0 var(--_ui5-v1-22-0-rc-3_side_navigation_shadow_color2);--_ui5-v1-22-0-rc-3_side_navigation_triangle_display: none;--_ui5-v1-22-0-rc-3_side_navigation_phone_width: 100%;--_ui5-v1-22-0-rc-3_side_navigation_icon_color: var(--sapList_TextColor);--_ui5-v1-22-0-rc-3_side_navigation_icon_font_size: 1.125rem;--_ui5-v1-22-0-rc-3_side_navigation_expand_icon_color: var(--sapList_TextColor);--_ui5-v1-22-0-rc-3_side_navigation_group_border_style_color: none;--_ui5-v1-22-0-rc-3_side_navigation_item_height: 2.5rem;--_ui5-v1-22-0-rc-3_side_navigation_item_border_radius: .375rem;--_ui5-v1-22-0-rc-3_side_navigation_item_bottom_margin: .25rem;--_ui5-v1-22-0-rc-3_side_navigation_item_bottom_margin_compact: .5rem;--_ui5-v1-22-0-rc-3_side_navigation_item_transition: background-color .3s ease-in-out;--_ui5-v1-22-0-rc-3_side_navigation_item_padding_right: 0;--_ui5-v1-22-0-rc-3_side_navigation_no_icons_nested_item_padding: 2rem;--_ui5-v1-22-0-rc-3_side_navigation_item_focus_border_offset: calc(-1 * var(--sapContent_FocusWidth));--_ui5-v1-22-0-rc-3_side_navigation_item_focus_border_radius: calc(var(--_ui5-v1-22-0-rc-3_side_navigation_item_border_radius) + var(--sapContent_FocusWidth));--_ui5-v1-22-0-rc-3_side_navigation_collapsed_selected_item_background: 0 100% / 100% .125rem no-repeat linear-gradient(0deg, var(--sapList_SelectionBorderColor), var(--sapList_SelectionBorderColor)), var(--sapList_SelectionBackgroundColor);--_ui5-v1-22-0-rc-3_side_navigation_selected_border_style_color: none;--_ui5-v1-22-0-rc-3_side_navigation_selected_and_focused_border_style_color: var(--_ui5-v1-22-0-rc-3_side_navigation_selected_border_style_color);--_ui5-v1-22-0-rc-3_side_navigation_group_icon_width: 2rem;--_ui5-v1-22-0-rc-3_side_navigation_group_text_weight: bold;--_ui5-v1-22-0-rc-3_side_navigation_group_bottom_margin_in_popup: .75rem;--_ui5-v1-22-0-rc-3_side_navigation_padding: .5rem;--_ui5-v1-22-0-rc-3_side_navigation_padding_compact: 1.5rem .75rem .75rem .75rem;--_ui5-v1-22-0-rc-3_side_navigation_parent_popup_padding: .75rem;--_ui5-v1-22-0-rc-3_side_navigation_parent_popup_border_radius: .75rem;--_ui5-v1-22-0-rc-3_side_navigation_popup_item_padding: 0 .5rem;--_ui5-v1-22-0-rc-3_side_navigation_popup_icon_width: .5rem;--_ui5-v1-22-0-rc-3_side_navigation_popup_shadow_color1: color-mix(in srgb, var(--sapContent_ShadowColor) 48%, transparent);--_ui5-v1-22-0-rc-3_side_navigation_popup_shadow_color2: color-mix(in srgb, var(--sapContent_ShadowColor) 16%, transparent);--_ui5-v1-22-0-rc-3_side_navigation_popup_box_shadow: 0 0 .125rem 0 var(--_ui5-v1-22-0-rc-3_side_navigation_popup_shadow_color1), 0 1rem 2rem 0 var(--_ui5-v1-22-0-rc-3_side_navigation_popup_shadow_color2);--_ui5-v1-22-0-rc-3_side_navigation_popup_title_text_size: 1.25rem;--_ui5-v1-22-0-rc-3_side_navigation_popup_title_line_height: 1.5rem;--_ui5-v1-22-0-rc-3_side_navigation_selection_indicator_display: inline-block;--_ui5-v1-22-0-rc-3_side_navigation_item_collapsed_icon_padding: 0 .25rem;--_ui5-v1-22-0-rc-3_side_navigation_item_collapsed_hover_focus_width: fit-content;--_ui5-v1-22-0-rc-3_side_navigation_item_collapsed_hover_focus_display: block;--_ui5-v1-22-0-rc-3_side_navigation_item_collapsed_hover_focus_padding_right: 1rem;--ui5-v1-22-0-rc-3_upload_collection_drag_overlay_border: .125rem dashed var(--sapContent_ForegroundBorderColor);--ui5-v1-22-0-rc-3_upload_collection_drop_overlay_border: .125rem solid var(--sapContent_DragAndDropActiveColor);--ui5-v1-22-0-rc-3_upload_collection_drop_overlay_background: transparent;--ui5-v1-22-0-rc-3_upload_collection_thumbnail_size: 3rem;--ui5-v1-22-0-rc-3_upload_collection_thumbnail_margin_inline_end: .75rem;--ui5-v1-22-0-rc-3_upload_collection_small_size_buttons_margin_inline_start: 0;--ui5-v1-22-0-rc-3_upload_collection_small_size_buttons_margin_block_start: .5rem;--_ui5-v1-22-0-rc-3_wiz_content_item_wrapper_padding: 1rem;--_ui5-v1-22-0-rc-3_wiz_content_item_wrapper_bg: var(--sapGroup_ContentBackground);--_ui5-v1-22-0-rc-3_wiz_tab_selection_line: var(--sapSelectedColor);--_ui5-v1-22-0-rc-3_wiz_tab_icon_color: var(--sapSelectedColor);--_ui5-v1-22-0-rc-3_wiz_tab_title_color: var(--sapTextColor);--_ui5-v1-22-0-rc-3_wiz_tab_title_font_family: var(--sapFontBoldFamily);--_ui5-v1-22-0-rc-3_wiz_tab_focus_outline: var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);--_ui5-v1-22-0-rc-3_wiz_tab_focus_border_radius: 8px;--_ui5-v1-22-0-rc-3_wiz_tab_border: 1px solid var(--sapContent_Selected_ForegroundColor);--_ui5-v1-22-0-rc-3_wiz_tab_active_separator_color: var(--sapContent_Selected_ForegroundColor);--_ui5-v1-22-0-rc-3_wiz_tab_selected_bg: var(--sapContent_Selected_ForegroundColor);--_ui5-v1-22-0-rc-3-notification_item-border-raius: .75rem;--_ui5-v1-22-0-rc-3_fcl_column_border: solid .0625rem var(--sapGroup_ContentBorderColor);--_ui5-v1-22-0-rc-3_media_gallery_overflow_btn_background: var(--sapButton_Background);--_ui5-v1-22-0-rc-3_media_gallery_overflow_btn_color: var(--sapButton_TextColor);--_ui5-v1-22-0-rc-3_media_gallery_overflow_btn_border: 1px solid var(--sapButton_BorderColor)}\n`};\nexport default styleData;\n\t","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents-fiori\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents-fiori\",fileName:\"themes/MediaGalleryItem.css.ts\",content:`:host{width:100%;height:100%;position:relative;display:flex}:host([_square]){height:0;padding-top:100%}.ui5-media-gallery-item-root{width:100%;height:100%;display:flex}:host([_square]) .ui5-media-gallery-item-root{position:absolute;top:0;left:0}:host([layout=\"Wide\"]) .ui5-media-gallery-item-root{align-items:center}:host([_thumbnail-design]) .ui5-media-gallery-item-root{border:var(--_ui5-v1-22-0-rc-3_media_gallery_thumbnail_border);box-sizing:border-box}:host([_interactive]) .ui5-media-gallery-item-root{cursor:pointer}:host([_thumbnail-design]:not([disabled]):not([selected])) .ui5-media-gallery-item-root:hover{border-color:var(--sapTile_Interactive_BorderColor);background:var(--sapList_Hover_Background)}:host([focused]) .ui5-media-gallery-item-root{outline:var(--_ui5-v1-22-0-rc-3_media_gallery_thumbnail_focus_outline);outline-offset:-1px}:host([_thumbnail-design][selected]) .ui5-media-gallery-item-root{border:var(--_ui5-v1-22-0-rc-3_media_gallery_thumbnail_selected_border)}:host([_thumbnail-design][focused][selected]) .ui5-media-gallery-item-root{outline-offset:-3px}.ui5-media-gallery-item-wrapper{width:100%;height:100%;display:flex;justify-content:center}:host([layout=\"Wide\"]) .ui5-media-gallery-item-wrapper{z-index:1}:host([layout=\"Wide\"]:not([_thumbnail-design])) .ui5-media-gallery-item-wrapper{height:56.25%}[ui5-icon]{position:absolute;width:4.5rem;height:4.55rem;align-self:center}.ui5-media-gallery-item-mask-layer{position:absolute;inset:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}:host(:not([_thumbnail-design])) .ui5-media-gallery-item-mask-layer{z-index:2;background:var(--sapBaseColor);mix-blend-mode:multiply;opacity:.2;box-shadow:var(--_ui5-v1-22-0-rc-3_media_gallery_item_overlay_box_shadow);pointer-events:none}:host(:not([_thumbnail-design])[layout=\"Wide\"]) .ui5-media-gallery-item-mask-layer{z-index:0}:host([disabled]) .ui5-media-gallery-item-mask-layer{z-index:2;background:var(--sapContent_ImagePlaceholderBackground);opacity:.5;cursor:default}::slotted([slot^=thumbnail]),:host([layout=\"Wide\"]) ::slotted(*){width:100%;height:100%;object-fit:cover}::slotted(*){max-width:100%;max-height:100%;object-fit:contain;margin:auto}\n`};\nexport default styleData;\n\t","/* eslint no-unused-vars: 0 */\nimport { html, svg, repeat, classMap, styleMap, ifDefined, unsafeHTML, scopeTag } from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\timport type MediaGalleryItem from \"../../MediaGalleryItem.js\";\n\timport type { ClassMapValue } from \"@ui5/webcomponents-base/dist/types.js\";\n\t\nfunction block0 (this: MediaGalleryItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html``;}\nfunction block1 (this: MediaGalleryItem, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-icon\", tags, suffix)} name=\"background\">` : html``;}\nfunction block2 (this: MediaGalleryItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html``;}\nfunction block3 (this: MediaGalleryItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html``;}\n\n\nexport default block0;","import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { isSpace, isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/background.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport MediaGalleryItemLayout from \"./types/MediaGalleryItemLayout.js\";\nimport type { IMediaGalleryItem } from \"./MediaGallery.js\";\n\n// Styles\nimport MediaGalleryItemCss from \"./generated/themes/MediaGalleryItem.css.js\";\n\n// Template\nimport MediaGalleryItemTemplate from \"./generated/templates/MediaGalleryItemTemplate.lit.js\";\n\n/**\n * @class\n *

    Overview

    \n * The ui5-media-gallery-item web component represents the items displayed in the\n * ui5-media-gallery web component.\n *

    \n * Note: ui5-media-gallery-item is not supported when used outside of ui5-media-gallery.\n *

    \n *\n *

    Keyboard Handling

    \n * The ui5-media-gallery provides advanced keyboard handling.\n * When focused, the user can use the following keyboard\n * shortcuts in order to perform a navigation:\n *
    \n *
      \n *
    • [SPACE/ENTER/RETURN] - Trigger ui5-click event
    • \n *
    \n *\n *

    ES6 Module Import

    \n * import \"@ui5/webcomponents-fiori/dist/MediaGalleryItem.js\"; (comes with ui5-media-gallery)\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @implements {IMediaGalleryItem}\n * @since 1.1.0\n */\n@customElement({\n\ttag: \"ui5-media-gallery-item\",\n\trenderer: litRender,\n\tstyles: MediaGalleryItemCss,\n\ttemplate: MediaGalleryItemTemplate,\n\tdependencies: [Icon],\n})\nclass MediaGalleryItem extends UI5Element implements IMediaGalleryItem {\n\t/**\n\t * Defines the selected state of the component.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tselected!: boolean;\n\n\t/**\n\t * Defines whether the component is in disabled state.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Determines the layout of the item container.\n\t *

    \n\t * Available options are:\n\t *
      \n\t *
    • Square
    • \n\t *
    • Wide
    • \n\t *
    \n\t *\n\t * @default \"Square\"\n\t * @public\n\t */\n\t@property({ type: MediaGalleryItemLayout, defaultValue: MediaGalleryItemLayout.Square })\n\tlayout!: `${MediaGalleryItemLayout}`;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_interactive!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_square!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_contentImageNotFound!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_thumbnailNotFound!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_thumbnailDesign!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property()\n\tforcedTabIndex!: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\tcontentHeight!: string;\n\n\t/**\n\t * Defines the content of the component.\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\tcontent!: Array;\n\n\t/**\n\t * Defines the content of the thumbnail.\n\t *\n\t * @public\n\t */\n\t@slot()\n\tthumbnail!: Array;\n\n\t_monitoredThumbnail: HTMLElement | null;\n\t_monitoredContent: HTMLElement | null;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._monitoredContent = null;\n\t\tthis._monitoredThumbnail = null;\n\t}\n\n\tonEnterDOM() {\n\t\tthis._thumbnailDesign = !isPhone();\n\t\tthis._interactive = !isPhone();\n\t\tthis._square = true;\n\t}\n\n\tget _thumbnail() {\n\t\treturn this.thumbnail.length ? this.thumbnail[0] : null;\n\t}\n\n\tget displayedContent() {\n\t\treturn this.content.length ? this.content[0] : null;\n\t}\n\n\tget _isThubmnailAvailable() {\n\t\treturn this._thumbnail && !this._thumbnailNotFound;\n\t}\n\n\tget _isContentAvailable() {\n\t\treturn this.displayedContent && !this._contentImageNotFound;\n\t}\n\n\tget _useThumbnail() {\n\t\treturn this._thumbnailDesign && this._isThubmnailAvailable;\n\t}\n\n\tget _useContent() {\n\t\treturn !this._useThumbnail && this._isContentAvailable;\n\t}\n\n\tget effectiveTabIndex() {\n\t\treturn this.disabled ? undefined : this.forcedTabIndex;\n\t}\n\n\tget _showBackgroundIcon() {\n\t\treturn this._thumbnailNotFound || this._contentImageNotFound;\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\twrapper: {\n\t\t\t\theight: this.contentHeight,\n\t\t\t},\n\t\t};\n\t}\n\n\tget _role() {\n\t\treturn this._interactive ? \"button\" : undefined;\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._monitorLoadingError();\n\t}\n\n\t_monitorLoadingError() {\n\t\tlet callback,\n\t\t\tsuccess;\n\t\tif (this._thumbnailDesign && this.thumbnail.length && (this._monitoredThumbnail !== this._thumbnail)) {\n\t\t\tthis._thumbnailNotFound = false; // reset flag\n\t\t\tcallback = this._updateThumbnailLoaded.bind(this);\n\t\t\tsuccess = this._attachListeners(this._thumbnail as HTMLImageElement, callback);\n\t\t\tsuccess && (this._monitoredThumbnail = this._thumbnail);\n\t\t}\n\t\tif (!this._useThumbnail && this.content.length && (this._monitoredContent !== this.displayedContent)) {\n\t\t\tthis._contentImageNotFound = false; // reset flag\n\t\t\tcallback = this._updateContentImageLoaded.bind(this);\n\t\t\tsuccess = this._attachListeners(this.displayedContent as HTMLImageElement, callback);\n\t\t\tsuccess && (this._monitoredContent = this.displayedContent);\n\t\t}\n\t}\n\n\t_attachListeners(element: HTMLImageElement, callback: (image: HTMLImageElement) => void) {\n\t\tconst isImg = element.tagName === \"IMG\",\n\t\t\timg = isImg ? element : element.querySelector(\"img\");\n\t\tif (img) {\n\t\t\tcallback(img);\n\t\t\timg.addEventListener(\"error\", () => {\n\t\t\t\tif (this.contains(img)) { // img still belongs to us\n\t\t\t\t\tcallback(img);\n\t\t\t\t}\n\t\t\t});\n\t\t\timg.addEventListener(\"load\", () => {\n\t\t\t\tif (this.contains(img)) { // img still belongs to us\n\t\t\t\t\tcallback(img);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn true;\n\t\t}\n\t}\n\n\t_updateContentImageLoaded(image: HTMLImageElement) {\n\t\tthis._contentImageNotFound = image.naturalHeight === 0 && image.naturalWidth === 0;\n\t}\n\n\t_updateThumbnailLoaded(image: HTMLImageElement) {\n\t\tthis._thumbnailNotFound = image.naturalHeight === 0 && image.naturalWidth === 0;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._fireItemClick();\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._fireItemClick();\n\t\t}\n\t}\n\n\t_onfocusout() {\n\t\tthis.focused = false;\n\t}\n\n\t_onfocusin() {\n\t\tthis.focused = true;\n\t}\n\n\t_fireItemClick() {\n\t\tthis.fireEvent(\"click\", { item: this });\n\t}\n}\n\nMediaGalleryItem.define();\n\nexport default MediaGalleryItem;\n","/**\n * Defines the layout type of the thumbnails list of the ui5-media-gallery component.\n *\n * @public\n */\nenum MediaGalleryLayout {\n\n\t/**\n\t * The layout is determined automatically.\n\t * @public\n\t */\n\t Auto = \"Auto\",\n\n\t/**\n\t * Displays the layout as a vertical split between the thumbnails list and the selected image.\n\t * @public\n\t */\n\tVertical = \"Vertical\",\n\n\t/**\n\t * Displays the layout as a horizontal split between the thumbnails list and the selected image.\n\t * @public\n\t */\n\tHorizontal = \"Horizontal\",\n}\n\nexport default MediaGalleryLayout;\n","/**\n * Defines the horizontal alignment of the thumbnails menu of the ui5-media-gallery component.\n *\n * @public\n */\nenum MediaGalleryMenuHorizontalAlign {\n\n\t/**\n\t * Displays the menu on the left side of the target.\n\t * @public\n\t */\n\tLeft = \"Left\",\n\n\t/**\n\t * Displays the menu on the right side of the target.\n\t * @public\n\t */\n\tRight = \"Right\",\n}\n\nexport default MediaGalleryMenuHorizontalAlign;\n","/**\n * Types for the vertical alignment of the thumbnails menu of the ui5-media-gallery component.\n *\n * @public\n */\nenum MediaGalleryMenuVerticalAlign {\n\t/**\n\t * Displays the menu at the top of the reference control.\n\t * @public\n\t */\n\tTop = \"Top\",\n\n\t/**\n\t * Displays the menu at the bottom of the reference control.\n\t * @public\n\t */\n\tBottom = \"Bottom\",\n}\n\nexport default MediaGalleryMenuVerticalAlign;\n","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents-fiori\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents-fiori\",fileName:\"themes/MediaGallery.css.ts\",content:`:host{height:100%}:host,.ui5-media-gallery-display-wrapper,.ui5-media-gallery-display{width:100%}.ui5-media-gallery-root{width:inherit;height:inherit;background:var(--sapBaseColor);display:flex;flex-direction:column;position:relative}:host([menu-vertical-align=\"Top\"]) .ui5-media-gallery-root{flex-direction:column-reverse}:host([effective-layout=\"Horizontal\"]) .ui5-media-gallery-root{flex-direction:row-reverse}:host([effective-layout=\"Horizontal\"][menu-horizontal-align=\"Right\"]) .ui5-media-gallery-root{flex-direction:row}.ui5-media-gallery-display-wrapper{display:flex;justify-content:center;position:relative}:host([effective-layout=\"Horizontal\"][show-all-thumbnails]) .ui5-media-gallery-display-wrapper{flex-grow:3;flex-basis:0}.ui5-media-gallery-display{position:relative;margin:1rem;display:flex;justify-content:center}.ui5-media-gallery-display [ui5-media-gallery-item]{z-index:1}[ui5-carousel]{width:calc(100% - 2rem)}[ui5-carousel]::part(item){padding:0;overflow:hidden}.ui5-media-gallery-thumbnails-wrapper{margin-block:1rem 0}:host([menu-vertical-align=\"Top\"]) .ui5-media-gallery-thumbnails-wrapper{margin-block:0 1rem}:host([effective-layout=\"Horizontal\"]) .ui5-media-gallery-thumbnails-wrapper{margin-inline:0 1rem}:host([effective-layout=\"Horizontal\"][menu-horizontal-align=\"Right\"]) .ui5-media-gallery-thumbnails-wrapper{margin-inline:1rem 0}:host([show-all-thumbnails]) .ui5-media-gallery-thumbnails-wrapper{overflow-x:auto;overflow-y:hidden}:host([effective-layout=\"Horizontal\"][show-all-thumbnails]) .ui5-media-gallery-thumbnails-wrapper{overflow-y:auto;overflow-x:hidden;flex-grow:1;flex-basis:0}.ui5-media-gallery-thumbnails-wrapper ul{height:5rem;display:flex;flex-wrap:nowrap;padding-left:0;margin-top:0;margin-bottom:0;list-style-type:none;padding-inline-start:0}:host([effective-layout=\"Horizontal\"]) ul{width:5rem;flex-wrap:wrap}:host([effective-layout=\"Horizontal\"][show-all-thumbnails][media-range=\"M\"]) ul{width:10rem}:host([effective-layout=\"Horizontal\"][show-all-thumbnails][media-range=\"L\"]) ul{width:15rem}:host([effective-layout=\"Horizontal\"][show-all-thumbnails][media-range=\"XL\"]) ul{width:20rem}.ui5-media-gallery-thumbnail,.ui5-media-gallery-overflow [ui5-button]{width:4rem;height:4rem;flex-shrink:0}.ui5-media-gallery-overflow [ui5-button]{background:var(--_ui5-v1-22-0-rc-3_media_gallery_overflow_btn_background);color:var(--_ui5-v1-22-0-rc-3_media_gallery_overflow_btn_color);border:var(--_ui5-v1-22-0-rc-3_media_gallery_overflow_btn_border)}.ui5-media-gallery-thumbnail,.ui5-media-gallery-overflow{margin:0 0 0 1rem}:host([menu-vertical-align=\"Top\"]) .ui5-media-gallery-thumbnail,:host([menu-vertical-align=\"Top\"]) .ui5-media-gallery-overflow{margin:1rem 0 0 1rem}:host([effective-layout=\"Horizontal\"]) .ui5-media-gallery-thumbnail,:host([effective-layout=\"Horizontal\"]) .ui5-media-gallery-overflow{margin:1rem 0 0 1rem}:host([effective-layout=\"Horizontal\"][menu-horizontal-align=\"Right\"]) .ui5-media-gallery-thumbnail,:host([effective-layout=\"Horizontal\"][menu-horizontal-align=\"Right\"]) .ui5-media-gallery-overflow{margin:1rem 1rem 0 0}\n`};\nexport default styleData;\n\t","/* eslint no-unused-vars: 0 */\nimport { html, svg, repeat, classMap, styleMap, ifDefined, unsafeHTML, scopeTag } from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\timport type MediaGallery from \"../../MediaGallery.js\";\n\timport type { ClassMapValue } from \"@ui5/webcomponents-base/dist/types.js\";\n\t\nfunction block0 (this: MediaGallery, context: UI5Element, tags: string[], suffix: string | undefined) { return html``;}\nfunction block1 (this: MediaGallery, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-carousel\", tags, suffix)} @ui5-navigate=\"${ifDefined(this._onCarouselNavigate)}\" hide-navigation-arrows>${ repeat(this._selectableItems, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block2.call(this, context, tags, suffix, item, index)) }` : html`${ repeat(this._selectableItems, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block2.call(this, context, tags, suffix, item, index)) }`;}\nfunction block2 (this: MediaGallery, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html``;}\nfunction block3 (this: MediaGallery, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-media-gallery-item\", tags, suffix)} ?_interactive=\"${ifDefined(this.interactiveDisplayArea)}\" ?_square=\"${ifDefined(this._shouldHaveSquareDisplay)}\" _tab-index=\"${ifDefined(this._mainItemTabIndex)}\">` : html``;}\nfunction block4 (this: MediaGallery, context: UI5Element, tags: string[], suffix: string | undefined) { return html``;}\nfunction block5 (this: MediaGallery, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html``;}\nfunction block6 (this: MediaGallery, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`` : html``;}\n\n\nexport default block0;","import ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport MediaRange from \"@ui5/webcomponents-base/dist/MediaRange.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport NavigationMode from \"@ui5/webcomponents-base/dist/types/NavigationMode.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport type { CarouselNavigateEventDetail } from \"@ui5/webcomponents/dist/Carousel.js\";\nimport Carousel from \"@ui5/webcomponents/dist/Carousel.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport MediaGalleryItem from \"./MediaGalleryItem.js\";\nimport MediaGalleryItemLayout from \"./types/MediaGalleryItemLayout.js\";\nimport MediaGalleryLayout from \"./types/MediaGalleryLayout.js\";\nimport MediaGalleryMenuHorizontalAlign from \"./types/MediaGalleryMenuHorizontalAlign.js\";\nimport MediaGalleryMenuVerticalAlign from \"./types/MediaGalleryMenuVerticalAlign.js\";\n\n// Styles\nimport MediaGalleryCss from \"./generated/themes/MediaGallery.css.js\";\n\n// Template\nimport MediaGalleryTemplate from \"./generated/templates/MediaGalleryTemplate.lit.js\";\n\n/**\n * Interface for components that can be slotted inside ui5-media-gallery as items.\n *\n * @public\n */\ninterface IMediaGalleryItem extends HTMLElement, ITabbable {\n\tselected: boolean,\n\tdisabled: boolean,\n\tfocused: boolean,\n\tdisplayedContent: HTMLElement | null;\n\tlayout: `${MediaGalleryItemLayout}`\n}\n\ntype MediaGallerySelectionChangeEventDetail = {\n\titem: IMediaGalleryItem;\n}\n\n// The allowed number of thumbnail columns on each size\n// (relevant when showAllThumbnails is enabled)\nconst COLUMNS_COUNT: Record = {\n\t\"S\": 1,\n\t\"M\": 2,\n\t\"L\": 3,\n\t\"XL\": 4,\n};\n\n/**\n * @class\n *\n *

    Overview

    \n *\n * The ui5-media-gallery component allows the user to browse through multimedia items. Currently,\n * the supported items are images and videos. The items should be defined using the ui5-media-gallery-item\n * component.\n *\n * The items are initially displayed as thumbnails. When the user selects a thumbnail, the corresponding item\n * is displayed in larger size.\n *
    \n * The component is responsive by default and adjusts the position of the menu with respect to viewport size,\n * but the application is able to further customize the layout via the provided API.\n *\n*

    Keyboard Handling

    \n * The ui5-media-gallery provides advanced keyboard handling.\n *
    \n * When the thumbnails menu is focused the following keyboard\n * shortcuts allow the user to navigate through the thumbnail items:\n *
    \n *\n *
      \n *
    • [UP/DOWN] - Navigates up and down the items
    • \n *
    • [HOME] - Navigates to first item
    • \n *
    • [END] - Navigates to the last item
    • \n *
    • [SPACE/ENTER] - Select an item
    • \n *
    \n *
    \n *\n *

    ES6 Module Import

    \n * import \"@ui5/webcomponents-fiori/dist/MediaGallery\";\n *
    \n * import \"@ui5/webcomponents-fiori/dist/MediaGalleryItem\";\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.1.0\n */\n@customElement({\n\ttag: \"ui5-media-gallery\",\n\trenderer: litRender,\n\tstyles: [MediaGalleryCss],\n\ttemplate: MediaGalleryTemplate,\n\tstaticAreaTemplate: MediaGalleryTemplate,\n\tdependencies: [\n\t\tMediaGalleryItem,\n\t\tButton,\n\t\tCarousel,\n\t],\n})\n\n/**\n * Fired when selection is changed by user interaction.\n *\n * @param {HTMLElement} item the selected item.\n * @public\n */\n@event(\"selection-change\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: { type: HTMLElement },\n\t},\n})\n\n/**\n * Fired when the thumbnails overflow button is clicked.\n *\n * @public\n */\n@event(\"overflow-click\")\n\n/**\n * Fired when the display area is clicked.
    \n * The display area is the central area that contains\n * the enlarged content of the currently selected item.\n *\n * @public\n */\n@event(\"display-area-click\")\n\nclass MediaGallery extends UI5Element {\n\t/**\n\t * If set to true, all thumbnails are rendered in a scrollable container.\n\t * If false, only up to five thumbnails are rendered, followed by\n\t * an overflow button that shows the count of the remaining thumbnails.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowAllThumbnails!: boolean;\n\n\t/**\n\t * If enabled, a display-area-click event is fired\n\t * when the user clicks or taps on the display area.\n\t *
    \n\t * The display area is the central area that contains\n\t * the enlarged content of the currently selected item.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tinteractiveDisplayArea!: boolean;\n\n\t/**\n\t * Determines the layout of the component.\n\t *\n\t * @default \"Auto\"\n\t * @public\n\t */\n\t@property({ type: MediaGalleryLayout, defaultValue: MediaGalleryLayout.Auto })\n\tlayout!: `${MediaGalleryLayout}`;\n\n\t/**\n\t * Determines the horizontal alignment of the thumbnails menu\n\t * vs. the central display area.\n\t *\n\t * @default \"Left\"\n\t * @public\n\t */\n\t@property({ type: MediaGalleryMenuHorizontalAlign, defaultValue: MediaGalleryMenuHorizontalAlign.Left })\n\tmenuHorizontalAlign!: `${MediaGalleryMenuHorizontalAlign}`;\n\n\t/**\n\t * Determines the vertical alignment of the thumbnails menu\n\t * vs. the central display area.\n\t *\n\t * @default \"Bottom\"\n\t * @public\n\t */\n\t@property({ type: MediaGalleryMenuVerticalAlign, defaultValue: MediaGalleryMenuVerticalAlign.Bottom })\n\tmenuVerticalAlign!: `${MediaGalleryMenuVerticalAlign}`;\n\n\t/**\n\t * Determines the actual applied layout type\n\t * (esp. needed when the app did not specify a fixed layout type\n\t * but selected Auto layout type).\n\t *\n\t * @default \"Vertical\"\n\t * @private\n\t */\n\t@property({ type: MediaGalleryLayout, defaultValue: MediaGalleryLayout.Vertical })\n\teffectiveLayout!: `${MediaGalleryLayout}`;\n\n\t/**\n\t * Defines the current media query size.\n\t *\n\t * @private\n\t */\n\t@property()\n\tmediaRange!: string;\n\n\t/**\n\t * The number of items in the overflow.\n\t *\n\t * @private\n\t */\n\t@property({ validator: Integer, noAttribute: true, defaultValue: 0 })\n\t_overflowSize!: number;\n\n\t/**\n\t * Defines the component items.\n\t *\n\t *

    \n\t * Note: Only one selected item is allowed.\n\t *\n\t *

    \n\t * Note: Use the ui5-media-gallery-item component to define the desired items.\n\t *\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\tindividualSlots: true,\n\t\tinvalidateOnChildChange: true,\n\t\t\"default\": true,\n\t})\n\titems!: Array;\n\n\t_itemNavigation: ItemNavigation;\n\t_onResize: () => void;\n\t_selectedItem?: IMediaGalleryItem;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._onResize = this._updateLayout.bind(this);\n\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tnavigationMode: NavigationMode.Auto,\n\t\t\tgetItemsCallback: () => this._getFocusableItems(),\n\t\t});\n\t}\n\n\tonEnterDOM() {\n\t\t!isPhone() && ResizeHandler.register(this, this._onResize);\n\t}\n\n\tonExitDOM() {\n\t\t!isPhone() && ResizeHandler.deregister(this, this._onResize);\n\t}\n\n\tonAfterRendering() {\n\t\tthis._updateLayout();\n\t\tthis._updateSelection();\n\t}\n\n\t_updateSelection() {\n\t\tlet itemToSelect = this.items.find(item => item.selected);\n\t\tif (!itemToSelect || !this._isSelectableItem(itemToSelect)) {\n\t\t\titemToSelect = this._findSelectableItem();\n\t\t}\n\t\tif (itemToSelect && itemToSelect !== this._selectedItem) {\n\t\t\tthis._selectItem(itemToSelect);\n\t\t}\n\t}\n\n\t_isSelectableItem(this: void, item: IMediaGalleryItem) {\n\t\treturn !item.disabled && !item.hidden;\n\t}\n\n\t_findSelectableItem() {\n\t\treturn this.items.find(this._isSelectableItem);\n\t}\n\n\t_updateMediaRange(width: number) {\n\t\tthis.mediaRange = MediaRange.getCurrentRange(MediaRange.RANGESETS.RANGE_4STEPS, width);\n\t}\n\n\t_updateLayout() {\n\t\tconst rootNode = this.getDomRef()!,\n\t\t\theight = rootNode.offsetHeight,\n\t\t\twidth = rootNode.offsetWidth;\n\n\t\tif (!width || !height || isPhone()) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._updateMediaRange(width);\n\t\tthis.effectiveLayout = this._infereffectiveLayout();\n\t\tthis._overflowSize = this._calculateOverflowSize(width, height);\n\n\t\tthis._toggleDisplaySquareSize(this._shouldHaveSquareDisplay);\n\t\tthis._toggleMainItem9x16size(this._shouldHaveWideDisplay);\n\t}\n\n\t_calculateOverflowSize(width: number, height: number) {\n\t\tconst marginSize = MediaGallery.THUMBNAIL_MARGIN;\n\t\tlet columnHeight,\n\t\t\tcolumnsCount;\n\n\t\tif (this.showAllThumbnails) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tif (this.effectiveLayout === MediaGalleryLayout.Horizontal) {\n\t\t\tcolumnHeight = height - marginSize;\n\t\t\tcolumnsCount = this.showAllThumbnails ? COLUMNS_COUNT[this.mediaRange] : 1;\n\t\t} else {\n\t\t\tcolumnHeight = width - (marginSize * 2); // column is flexed to appear as a row in this case\n\t\t\tcolumnsCount = 1;\n\t\t}\n\t\treturn this._getOverflowSize(columnHeight, columnsCount);\n\t}\n\n\t_toggleDisplaySquareSize(enable: boolean) {\n\t\tthis._display!.style.width = \"\"; // restore default width\n\n\t\tif (enable) {\n\t\t\tconst marginSize = MediaGallery.THUMBNAIL_MARGIN,\n\t\t\t\twidth = this._display!.offsetWidth;\n\n\t\t\tlet availableHeight = this.getDomRef()!.offsetHeight - (2 * marginSize);\n\t\t\tif (this.effectiveLayout === MediaGalleryLayout.Vertical) {\n\t\t\t\tavailableHeight -= (MediaGallery.THUMBNAIL_HEIGHT + marginSize);\n\t\t\t}\n\n\t\t\tif (width > availableHeight) {\n\t\t\t\t// set to square\n\t\t\t\tthis._display!.style.width = `${availableHeight}px`;\n\t\t\t}\n\t\t}\n\t}\n\n\t_toggleMainItem9x16size(enable: boolean) {\n\t\tif (!this._mainItem) {\n\t\t\treturn;\n\t\t}\n\t\tconst width = this._mainItem.offsetWidth,\n\t\t\tcontentHeight = enable ? `${(width / 16) * 9}px` : \"\";\n\n\t\tthis._mainItem.contentHeight = contentHeight;\n\t}\n\n\t_infereffectiveLayout() {\n\t\tif (this.layout === MediaGalleryLayout.Auto) {\n\t\t\treturn (this._isPhoneSize) ? MediaGalleryLayout.Vertical\n\t\t\t\t: MediaGalleryLayout.Horizontal;\n\t\t}\n\t\treturn this.layout;\n\t}\n\n\t_getMaxAllowedThumbnailsInColumn(columnHeight: number) {\n\t\tlet maxAllowedItems = Math.floor(columnHeight / MediaGallery.THUMBNAIL_HEIGHT);\n\t\tif (!this.showAllThumbnails) {\n\t\t\tmaxAllowedItems = Math.min(maxAllowedItems, 5);\n\t\t}\n\t\treturn maxAllowedItems;\n\t}\n\n\t_getOverflowSize(columnHeight: number, columnsCount: number) {\n\t\tconst maxAlowedThumbnailsInColumn = this._getMaxAllowedThumbnailsInColumn(columnHeight),\n\t\t\toverflowSize = Math.max(0, this.items.length - maxAlowedThumbnailsInColumn * columnsCount);\n\t\tif (overflowSize === this.items.length || overflowSize === 0) {\n\t\t\treturn overflowSize;\n\t\t}\n\t\treturn overflowSize + 1; // overflow 1 extra item to make room for overflow btn as well\n\t}\n\n\t_getFocusableItems() {\n\t\tif (!this._showThumbnails) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst items: Array = this._visibleItems.filter(item => !item.disabled);\n\n\t\tif (this._overflowBtn) {\n\t\t\titems.push(this._overflowBtn);\n\t\t}\n\t\treturn items;\n\t}\n\n\t_selectItem(item: IMediaGalleryItem, userInteraction = false) {\n\t\tif (item === this._selectedItem) {\n\t\t\treturn;\n\t\t}\n\t\tthis._selectedItem = item;\n\n\t\tthis._updateSelectedFlag(item);\n\t\tthis._itemNavigation.setCurrentItem(item);\n\n\t\tif (userInteraction) {\n\t\t\tthis.fireEvent(\"selection-change\", { item });\n\t\t}\n\n\t\tif (isPhone()) {\n\t\t\tthis._selectItemOnPhone(item);\n\t\t} else {\n\t\t\tthis._displayContent(item);\n\t\t}\n\t}\n\n\t_updateSelectedFlag(itemToSelect: IMediaGalleryItem) {\n\t\tthis.items.forEach(next => { next.selected = false; });\n\t\titemToSelect.selected = true;\n\t}\n\n\t_selectItemOnPhone(item: IMediaGalleryItem) {\n\t\tconst selectableItemIndex = this._selectableItems.indexOf(item),\n\t\t\tcarousel = this._carousel;\n\t\tcarousel && carousel.navigateTo(selectableItemIndex);\n\t}\n\n\t_displayContent(item: IMediaGalleryItem) {\n\t\tlet clone;\n\t\tconst mainItem = this._mainItem,\n\t\t\toldContent = mainItem!.displayedContent,\n\t\t\tnewContent = item.displayedContent;\n\n\t\tmainItem!._thumbnailDesign = false;\n\t\toldContent && oldContent.remove();\n\n\t\tif (newContent) {\n\t\t\tclone = newContent.cloneNode(true);\n\t\t\tmainItem!.layout = item.layout;\n\t\t\tmainItem!.appendChild(clone);\n\t\t}\n\t}\n\n\t_onThumbnailClick(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tconst item = target.closest(\"[ui5-media-gallery-item]\")!;\n\n\t\tif (item.disabled) {\n\t\t\treturn;\n\t\t}\n\t\tif (item !== this._selectedItem) {\n\t\t\tthis._selectItem(item, true /* userInteraction */);\n\t\t}\n\t}\n\n\t_onOverflowBtnClick() {\n\t\tthis.fireEvent(\"overflow-click\");\n\t}\n\n\t_onDisplayAreaClick() {\n\t\tif (!this.interactiveDisplayArea) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.fireEvent(\"display-area-click\");\n\t}\n\n\t_onCarouselNavigate(e: CustomEvent) {\n\t\tconst selectedIndex = e.detail.selectedIndex,\n\t\t\titem = this._selectableItems[selectedIndex];\n\n\t\tthis.fireEvent(\"selection-change\", { item });\n\t}\n\n\tget _mainItemTabIndex() {\n\t\treturn this.interactiveDisplayArea ? 0 : undefined;\n\t}\n\n\tget _selectableItems() {\n\t\treturn this.items.filter(this._isSelectableItem);\n\t}\n\n\tget _carousel() {\n\t\treturn this.shadowRoot!.querySelector(\"[ui5-carousel]\");\n\t}\n\n\tget _display() {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-media-gallery-display\");\n\t}\n\n\tget _mainItem() {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-media-gallery-display [ui5-media-gallery-item]\");\n\t}\n\n\tget _overflowBtn() {\n\t\treturn this.shadowRoot!.querySelector}\r\n header={{advertDetailsDto?.advert_id}}\r\n >\r\n\r\n { isDetailsLoading && }\r\n\r\n { !isDetailsLoading && (\r\n <>\r\n \r\n {advertDetailsDto?.city_name}\r\n \r\n \r\n {advertDetailsDto?.price}\r\n \r\n \r\n {advertDetailsDto?.currency}\r\n \r\n \r\n {advertDetailsDto?.rooms_count}\r\n \r\n \r\n {advertDetailsDto?.floor}\r\n \r\n \r\n {advertDetailsDto?.building_name}\r\n \r\n \r\n \r\n {advertDetailsDto?.description}\r\n \r\n \r\n\r\n \r\n \r\n {\r\n advertDetailsDto?.photos.map((photo, index) => {\r\n return (\r\n photo.map((item) => (\r\n \r\n \"photo\"\r\n \r\n ))\r\n );\r\n })\r\n }\r\n \r\n \r\n\r\n\r\n \r\n )}\r\n \r\n );\r\n\r\n});\r\n\r\nexport default AdvertDetailsModal;\r\n","import {\r\n\r\n CommonProps,\r\n FlexBox, FlexBoxJustifyContent,\r\n} from \"@ui5/webcomponents-react\";\r\nimport {AdvertList} from \"../AdvertList\";\r\nimport {AdvertDto} from \"../../models/AdvertDto\";\r\nimport {useState, useRef} from \"react\";\r\nimport {AdvertPrices} from \"../AdvertPrices\";\r\nimport AdvertDetailsModal from \"../AdvertDetails\";\r\nimport { createUseStyles } from 'react-jss';\r\n\r\nexport interface AdvertsPageProps extends CommonProps {\r\n}\r\n\r\ninterface SelectedAdvert {\r\n advertId: string;\r\n isOpened: boolean;\r\n}\r\n\r\nexport const AdvertsPage = (props: AdvertsPageProps) => {\r\n\r\n const classes = useStyles();\r\n\r\n const dialogRef = useRef(null);\r\n\r\n const [selectedAdvert, setSelectedAdvert] = useState(null);\r\n const [showAdvert, setShowAdvert] = useState({advertId: '', isOpened: false});\r\n\r\n\r\n const renderAdvertPrices = () => {\r\n\r\n return (\r\n <>\r\n { selectedAdvert && }\r\n \r\n );\r\n }\r\n\r\n const onSelectedAdvert = (advert: AdvertDto) => {\r\n setSelectedAdvert(advert);\r\n }\r\n\r\n const onLinkClicked = (advertId: string) => {\r\n setShowAdvert({advertId, isOpened: true});\r\n dialogRef?.current?.show();\r\n }\r\n\r\n const onClose = () => {\r\n dialogRef?.current?.close();\r\n setShowAdvert({advertId: '', isOpened: false});\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {renderAdvertPrices()}\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst useStyles = createUseStyles({\r\n container: {\r\n height: 'calc(100vh - 5rem)', // to compensate headers and bottom margin\r\n },\r\n sidebar: {\r\n flex: '1',\r\n margin: {\r\n left: '1rem',\r\n right: '1rem',\r\n },\r\n backgroundColor: 'white',\r\n\r\n },\r\n details: {\r\n flex: '2',\r\n marginRight: '1rem',\r\n },\r\n });","import React, {useEffect} from 'react';\nimport Loading from './Components/Loading';\nimport {useDispatch, useSelector} from \"react-redux\";\nimport {fetchAdvertsStart, fetchCitiesStart} from \"./redux/adverts/advertSlices\";\nimport {selectAdverts, selectAdvertLoading} from \"./redux/adverts/selectors\";\n\nimport {AdvertsPage} from \"./Components/AdvertsPage\";\n\nfunction App() {\n\n const dispatch = useDispatch();\n const adverts = useSelector(selectAdverts);\n const loading = useSelector(selectAdvertLoading);\n\n useEffect(() => {\n dispatch(fetchAdvertsStart(-1));\n dispatch(fetchCitiesStart());\n }, []);\n\n return (\n <>\n {loading && }\n {adverts && }\n \n );\n}\n\nexport default App;\n","import { ReportHandler } from 'web-vitals';\n\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","var createSymbol = function createSymbol(name) {\n return \"@@redux-saga/\" + name;\n};\n\nvar CANCEL =\n/*#__PURE__*/\ncreateSymbol('CANCEL_PROMISE');\nvar CHANNEL_END_TYPE =\n/*#__PURE__*/\ncreateSymbol('CHANNEL_END');\nvar IO =\n/*#__PURE__*/\ncreateSymbol('IO');\nvar MATCH =\n/*#__PURE__*/\ncreateSymbol('MATCH');\nvar MULTICAST =\n/*#__PURE__*/\ncreateSymbol('MULTICAST');\nvar SAGA_ACTION =\n/*#__PURE__*/\ncreateSymbol('SAGA_ACTION');\nvar SELF_CANCELLATION =\n/*#__PURE__*/\ncreateSymbol('SELF_CANCELLATION');\nvar TASK =\n/*#__PURE__*/\ncreateSymbol('TASK');\nvar TASK_CANCEL =\n/*#__PURE__*/\ncreateSymbol('TASK_CANCEL');\nvar TERMINATE =\n/*#__PURE__*/\ncreateSymbol('TERMINATE');\nvar SAGA_LOCATION =\n/*#__PURE__*/\ncreateSymbol('LOCATION');\n\nexport { CANCEL, CHANNEL_END_TYPE, IO, MATCH, MULTICAST, SAGA_ACTION, SAGA_LOCATION, SELF_CANCELLATION, TASK, TASK_CANCEL, TERMINATE };\n","import { TASK, SAGA_ACTION, MULTICAST, IO } from '@redux-saga/symbols';\n\nvar undef = function undef(v) {\n return v === null || v === undefined;\n};\nvar notUndef = function notUndef(v) {\n return v !== null && v !== undefined;\n};\nvar func = function func(f) {\n return typeof f === 'function';\n};\nvar number = function number(n) {\n return typeof n === 'number';\n};\nvar string = function string(s) {\n return typeof s === 'string';\n};\nvar array = Array.isArray;\nvar object = function object(obj) {\n return obj && !array(obj) && typeof obj === 'object';\n};\nvar promise = function promise(p) {\n return p && func(p.then);\n};\nvar iterator = function iterator(it) {\n return it && func(it.next) && func(it.throw);\n};\nvar iterable = function iterable(it) {\n return it && func(Symbol) ? func(it[Symbol.iterator]) : array(it);\n};\nvar task = function task(t) {\n return t && t[TASK];\n};\nvar sagaAction = function sagaAction(a) {\n return Boolean(a && a[SAGA_ACTION]);\n};\nvar observable = function observable(ob) {\n return ob && func(ob.subscribe);\n};\nvar buffer = function buffer(buf) {\n return buf && func(buf.isEmpty) && func(buf.take) && func(buf.put);\n};\nvar pattern = function pattern(pat) {\n return pat && (string(pat) || symbol(pat) || func(pat) || array(pat) && pat.every(pattern));\n};\nvar channel = function channel(ch) {\n return ch && func(ch.take) && func(ch.close);\n};\nvar stringableFunc = function stringableFunc(f) {\n return func(f) && f.hasOwnProperty('toString');\n};\nvar symbol = function symbol(sym) {\n return Boolean(sym) && typeof Symbol === 'function' && sym.constructor === Symbol && sym !== Symbol.prototype;\n};\nvar multicast = function multicast(ch) {\n return channel(ch) && ch[MULTICAST];\n};\nvar effect = function effect(eff) {\n return eff && eff[IO];\n};\n\nexport { array, buffer, channel, effect, func, iterable, iterator, multicast, notUndef, number, object, observable, pattern, promise, sagaAction, string, stringableFunc, symbol, task, undef };\n","import { TASK_CANCEL, TERMINATE, SAGA_LOCATION, SAGA_ACTION, IO, SELF_CANCELLATION } from '@redux-saga/symbols';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport { array, notUndef, pattern, multicast, channel, undef, effect, task, func, buffer, string, object } from '@redux-saga/is';\nimport delayP from '@redux-saga/delay-p';\n\nvar konst = function konst(v) {\n return function () {\n return v;\n };\n};\nvar kTrue =\n/*#__PURE__*/\nkonst(true);\n\nvar noop = function noop() {};\n\nif (process.env.NODE_ENV !== 'production' && typeof Proxy !== 'undefined') {\n noop =\n /*#__PURE__*/\n new Proxy(noop, {\n set: function set() {\n throw internalErr('There was an attempt to assign a property to internal `noop` function.');\n }\n });\n}\nvar identity = function identity(v) {\n return v;\n};\nvar hasSymbol = typeof Symbol === 'function';\nvar asyncIteratorSymbol = hasSymbol && Symbol.asyncIterator ? Symbol.asyncIterator : '@@asyncIterator';\nfunction check(value, predicate, error) {\n if (!predicate(value)) {\n throw new Error(error);\n }\n}\nvar assignWithSymbols = function assignWithSymbols(target, source) {\n _extends(target, source);\n\n if (Object.getOwnPropertySymbols) {\n Object.getOwnPropertySymbols(source).forEach(function (s) {\n target[s] = source[s];\n });\n }\n};\nvar flatMap = function flatMap(mapper, arr) {\n var _ref;\n\n return (_ref = []).concat.apply(_ref, arr.map(mapper));\n};\nfunction remove(array, item) {\n var index = array.indexOf(item);\n\n if (index >= 0) {\n array.splice(index, 1);\n }\n}\nfunction once(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n\n called = true;\n fn();\n };\n}\n\nvar kThrow = function kThrow(err) {\n throw err;\n};\n\nvar kReturn = function kReturn(value) {\n return {\n value: value,\n done: true\n };\n};\n\nfunction makeIterator(next, thro, name) {\n if (thro === void 0) {\n thro = kThrow;\n }\n\n if (name === void 0) {\n name = 'iterator';\n }\n\n var iterator = {\n meta: {\n name: name\n },\n next: next,\n throw: thro,\n return: kReturn,\n isSagaIterator: true\n };\n\n if (typeof Symbol !== 'undefined') {\n iterator[Symbol.iterator] = function () {\n return iterator;\n };\n }\n\n return iterator;\n}\nfunction logError(error, _ref2) {\n var sagaStack = _ref2.sagaStack;\n\n /*eslint-disable no-console*/\n console.error(error);\n console.error(sagaStack);\n}\nvar internalErr = function internalErr(err) {\n return new Error(\"\\n redux-saga: Error checking hooks detected an inconsistent state. This is likely a bug\\n in redux-saga code and not yours. Thanks for reporting this in the project's github repo.\\n Error: \" + err + \"\\n\");\n};\nvar createSetContextWarning = function createSetContextWarning(ctx, props) {\n return (ctx ? ctx + '.' : '') + \"setContext(props): argument \" + props + \" is not a plain object\";\n};\nvar FROZEN_ACTION_ERROR = \"You can't put (a.k.a. dispatch from saga) frozen actions.\\nWe have to define a special non-enumerable property on those actions for scheduling purposes.\\nOtherwise you wouldn't be able to communicate properly between sagas & other subscribers (action ordering would become far less predictable).\\nIf you are using redux and you care about this behaviour (frozen actions),\\nthen you might want to switch to freezing actions in a middleware rather than in action creator.\\nExample implementation:\\n\\nconst freezeActions = store => next => action => next(Object.freeze(action))\\n\"; // creates empty, but not-holey array\n\nvar createEmptyArray = function createEmptyArray(n) {\n return Array.apply(null, new Array(n));\n};\nvar wrapSagaDispatch = function wrapSagaDispatch(dispatch) {\n return function (action) {\n if (process.env.NODE_ENV !== 'production') {\n check(action, function (ac) {\n return !Object.isFrozen(ac);\n }, FROZEN_ACTION_ERROR);\n }\n\n return dispatch(Object.defineProperty(action, SAGA_ACTION, {\n value: true\n }));\n };\n};\nvar shouldTerminate = function shouldTerminate(res) {\n return res === TERMINATE;\n};\nvar shouldCancel = function shouldCancel(res) {\n return res === TASK_CANCEL;\n};\nvar shouldComplete = function shouldComplete(res) {\n return shouldTerminate(res) || shouldCancel(res);\n};\nfunction createAllStyleChildCallbacks(shape, parentCallback) {\n var keys = Object.keys(shape);\n var totalCount = keys.length;\n\n if (process.env.NODE_ENV !== 'production') {\n check(totalCount, function (c) {\n return c > 0;\n }, 'createAllStyleChildCallbacks: get an empty array or object');\n }\n\n var completedCount = 0;\n var completed;\n var results = array(shape) ? createEmptyArray(totalCount) : {};\n var childCallbacks = {};\n\n function checkEnd() {\n if (completedCount === totalCount) {\n completed = true;\n parentCallback(results);\n }\n }\n\n keys.forEach(function (key) {\n var chCbAtKey = function chCbAtKey(res, isErr) {\n if (completed) {\n return;\n }\n\n if (isErr || shouldComplete(res)) {\n parentCallback.cancel();\n parentCallback(res, isErr);\n } else {\n results[key] = res;\n completedCount++;\n checkEnd();\n }\n };\n\n chCbAtKey.cancel = noop;\n childCallbacks[key] = chCbAtKey;\n });\n\n parentCallback.cancel = function () {\n if (!completed) {\n completed = true;\n keys.forEach(function (key) {\n return childCallbacks[key].cancel();\n });\n }\n };\n\n return childCallbacks;\n}\nfunction getMetaInfo(fn) {\n return {\n name: fn.name || 'anonymous',\n location: getLocation(fn)\n };\n}\nfunction getLocation(instrumented) {\n return instrumented[SAGA_LOCATION];\n}\nfunction compose() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(void 0, arguments));\n };\n });\n}\n\nvar BUFFER_OVERFLOW = \"Channel's Buffer overflow!\";\nvar ON_OVERFLOW_THROW = 1;\nvar ON_OVERFLOW_DROP = 2;\nvar ON_OVERFLOW_SLIDE = 3;\nvar ON_OVERFLOW_EXPAND = 4;\nvar zeroBuffer = {\n isEmpty: kTrue,\n put: noop,\n take: noop\n};\n\nfunction ringBuffer(limit, overflowAction) {\n if (limit === void 0) {\n limit = 10;\n }\n\n var arr = new Array(limit);\n var length = 0;\n var pushIndex = 0;\n var popIndex = 0;\n\n var push = function push(it) {\n arr[pushIndex] = it;\n pushIndex = (pushIndex + 1) % limit;\n length++;\n };\n\n var take = function take() {\n if (length != 0) {\n var it = arr[popIndex];\n arr[popIndex] = null;\n length--;\n popIndex = (popIndex + 1) % limit;\n return it;\n }\n };\n\n var flush = function flush() {\n var items = [];\n\n while (length) {\n items.push(take());\n }\n\n return items;\n };\n\n return {\n isEmpty: function isEmpty() {\n return length == 0;\n },\n put: function put(it) {\n if (length < limit) {\n push(it);\n } else {\n var doubledLimit;\n\n switch (overflowAction) {\n case ON_OVERFLOW_THROW:\n throw new Error(BUFFER_OVERFLOW);\n\n case ON_OVERFLOW_SLIDE:\n arr[pushIndex] = it;\n pushIndex = (pushIndex + 1) % limit;\n popIndex = pushIndex;\n break;\n\n case ON_OVERFLOW_EXPAND:\n doubledLimit = 2 * limit;\n arr = flush();\n length = arr.length;\n pushIndex = arr.length;\n popIndex = 0;\n arr.length = doubledLimit;\n limit = doubledLimit;\n push(it);\n break;\n\n default: // DROP\n\n }\n }\n },\n take: take,\n flush: flush\n };\n}\n\nvar none = function none() {\n return zeroBuffer;\n};\nvar fixed = function fixed(limit) {\n return ringBuffer(limit, ON_OVERFLOW_THROW);\n};\nvar dropping = function dropping(limit) {\n return ringBuffer(limit, ON_OVERFLOW_DROP);\n};\nvar sliding = function sliding(limit) {\n return ringBuffer(limit, ON_OVERFLOW_SLIDE);\n};\nvar expanding = function expanding(initialSize) {\n return ringBuffer(initialSize, ON_OVERFLOW_EXPAND);\n};\n\nvar buffers = /*#__PURE__*/Object.freeze({\n __proto__: null,\n none: none,\n fixed: fixed,\n dropping: dropping,\n sliding: sliding,\n expanding: expanding\n});\n\nvar TAKE = 'TAKE';\nvar PUT = 'PUT';\nvar ALL = 'ALL';\nvar RACE = 'RACE';\nvar CALL = 'CALL';\nvar CPS = 'CPS';\nvar FORK = 'FORK';\nvar JOIN = 'JOIN';\nvar CANCEL = 'CANCEL';\nvar SELECT = 'SELECT';\nvar ACTION_CHANNEL = 'ACTION_CHANNEL';\nvar CANCELLED = 'CANCELLED';\nvar FLUSH = 'FLUSH';\nvar GET_CONTEXT = 'GET_CONTEXT';\nvar SET_CONTEXT = 'SET_CONTEXT';\n\nvar effectTypes = /*#__PURE__*/Object.freeze({\n __proto__: null,\n TAKE: TAKE,\n PUT: PUT,\n ALL: ALL,\n RACE: RACE,\n CALL: CALL,\n CPS: CPS,\n FORK: FORK,\n JOIN: JOIN,\n CANCEL: CANCEL,\n SELECT: SELECT,\n ACTION_CHANNEL: ACTION_CHANNEL,\n CANCELLED: CANCELLED,\n FLUSH: FLUSH,\n GET_CONTEXT: GET_CONTEXT,\n SET_CONTEXT: SET_CONTEXT\n});\n\nvar TEST_HINT = '\\n(HINT: if you are getting these errors in tests, consider using createMockTask from @redux-saga/testing-utils)';\n\nvar makeEffect = function makeEffect(type, payload) {\n var _ref;\n\n return _ref = {}, _ref[IO] = true, _ref.combinator = false, _ref.type = type, _ref.payload = payload, _ref;\n};\n\nvar isForkEffect = function isForkEffect(eff) {\n return effect(eff) && eff.type === FORK;\n};\n\nvar detach = function detach(eff) {\n if (process.env.NODE_ENV !== 'production') {\n check(eff, isForkEffect, 'detach(eff): argument must be a fork effect');\n }\n\n return makeEffect(FORK, _extends({}, eff.payload, {\n detached: true\n }));\n};\nfunction take(patternOrChannel, multicastPattern) {\n if (patternOrChannel === void 0) {\n patternOrChannel = '*';\n }\n\n if (process.env.NODE_ENV !== 'production' && arguments.length) {\n check(arguments[0], notUndef, 'take(patternOrChannel): patternOrChannel is undefined');\n }\n\n if (pattern(patternOrChannel)) {\n if (notUndef(multicastPattern)) {\n /* eslint-disable no-console */\n console.warn(\"take(pattern) takes one argument but two were provided. Consider passing an array for listening to several action types\");\n }\n\n return makeEffect(TAKE, {\n pattern: patternOrChannel\n });\n }\n\n if (multicast(patternOrChannel) && notUndef(multicastPattern) && pattern(multicastPattern)) {\n return makeEffect(TAKE, {\n channel: patternOrChannel,\n pattern: multicastPattern\n });\n }\n\n if (channel(patternOrChannel)) {\n if (notUndef(multicastPattern)) {\n /* eslint-disable no-console */\n console.warn(\"take(channel) takes one argument but two were provided. Second argument is ignored.\");\n }\n\n return makeEffect(TAKE, {\n channel: patternOrChannel\n });\n }\n\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\"take(patternOrChannel): argument \" + patternOrChannel + \" is not valid channel or a valid pattern\");\n }\n}\nvar takeMaybe = function takeMaybe() {\n var eff = take.apply(void 0, arguments);\n eff.payload.maybe = true;\n return eff;\n};\nfunction put(channel$1, action) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n check(channel$1, notUndef, 'put(channel, action): argument channel is undefined');\n check(channel$1, channel, \"put(channel, action): argument \" + channel$1 + \" is not a valid channel\");\n check(action, notUndef, 'put(channel, action): argument action is undefined');\n } else {\n check(channel$1, notUndef, 'put(action): argument action is undefined');\n }\n }\n\n if (undef(action)) {\n action = channel$1; // `undefined` instead of `null` to make default parameter work\n\n channel$1 = undefined;\n }\n\n return makeEffect(PUT, {\n channel: channel$1,\n action: action\n });\n}\nvar putResolve = function putResolve() {\n var eff = put.apply(void 0, arguments);\n eff.payload.resolve = true;\n return eff;\n};\nfunction all(effects) {\n var eff = makeEffect(ALL, effects);\n eff.combinator = true;\n return eff;\n}\nfunction race(effects) {\n var eff = makeEffect(RACE, effects);\n eff.combinator = true;\n return eff;\n} // this match getFnCallDescriptor logic\n\nvar validateFnDescriptor = function validateFnDescriptor(effectName, fnDescriptor) {\n check(fnDescriptor, notUndef, effectName + \": argument fn is undefined or null\");\n\n if (func(fnDescriptor)) {\n return;\n }\n\n var context = null;\n var fn;\n\n if (array(fnDescriptor)) {\n context = fnDescriptor[0];\n fn = fnDescriptor[1];\n check(fn, notUndef, effectName + \": argument of type [context, fn] has undefined or null `fn`\");\n } else if (object(fnDescriptor)) {\n context = fnDescriptor.context;\n fn = fnDescriptor.fn;\n check(fn, notUndef, effectName + \": argument of type {context, fn} has undefined or null `fn`\");\n } else {\n check(fnDescriptor, func, effectName + \": argument fn is not function\");\n return;\n }\n\n if (context && string(fn)) {\n check(context[fn], func, effectName + \": context arguments has no such method - \\\"\" + fn + \"\\\"\");\n return;\n }\n\n check(fn, func, effectName + \": unpacked fn argument (from [context, fn] or {context, fn}) is not a function\");\n};\n\nfunction getFnCallDescriptor(fnDescriptor, args) {\n var context = null;\n var fn;\n\n if (func(fnDescriptor)) {\n fn = fnDescriptor;\n } else {\n if (array(fnDescriptor)) {\n context = fnDescriptor[0];\n fn = fnDescriptor[1];\n } else {\n context = fnDescriptor.context;\n fn = fnDescriptor.fn;\n }\n\n if (context && string(fn) && func(context[fn])) {\n fn = context[fn];\n }\n }\n\n return {\n context: context,\n fn: fn,\n args: args\n };\n}\n\nvar isNotDelayEffect = function isNotDelayEffect(fn) {\n return fn !== delay;\n};\n\nfunction call(fnDescriptor) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var arg0 = typeof args[0] === 'number' ? args[0] : 'ms';\n check(fnDescriptor, isNotDelayEffect, \"instead of writing `yield call(delay, \" + arg0 + \")` where delay is an effect from `redux-saga/effects` you should write `yield delay(\" + arg0 + \")`\");\n validateFnDescriptor('call', fnDescriptor);\n }\n\n return makeEffect(CALL, getFnCallDescriptor(fnDescriptor, args));\n}\nfunction apply(context, fn, args) {\n if (args === void 0) {\n args = [];\n }\n\n var fnDescriptor = [context, fn];\n\n if (process.env.NODE_ENV !== 'production') {\n validateFnDescriptor('apply', fnDescriptor);\n }\n\n return makeEffect(CALL, getFnCallDescriptor([context, fn], args));\n}\nfunction cps(fnDescriptor) {\n if (process.env.NODE_ENV !== 'production') {\n validateFnDescriptor('cps', fnDescriptor);\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n return makeEffect(CPS, getFnCallDescriptor(fnDescriptor, args));\n}\nfunction fork(fnDescriptor) {\n if (process.env.NODE_ENV !== 'production') {\n validateFnDescriptor('fork', fnDescriptor);\n check(fnDescriptor, function (arg) {\n return !effect(arg);\n }, 'fork: argument must not be an effect');\n }\n\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n\n return makeEffect(FORK, getFnCallDescriptor(fnDescriptor, args));\n}\nfunction spawn(fnDescriptor) {\n if (process.env.NODE_ENV !== 'production') {\n validateFnDescriptor('spawn', fnDescriptor);\n }\n\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n return detach(fork.apply(void 0, [fnDescriptor].concat(args)));\n}\nfunction join(taskOrTasks) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n throw new Error('join(...tasks) is not supported any more. Please use join([...tasks]) to join multiple tasks.');\n }\n\n if (array(taskOrTasks)) {\n taskOrTasks.forEach(function (t) {\n check(t, task, \"join([...tasks]): argument \" + t + \" is not a valid Task object \" + TEST_HINT);\n });\n } else {\n check(taskOrTasks, task, \"join(task): argument \" + taskOrTasks + \" is not a valid Task object \" + TEST_HINT);\n }\n }\n\n return makeEffect(JOIN, taskOrTasks);\n}\nfunction cancel(taskOrTasks) {\n if (taskOrTasks === void 0) {\n taskOrTasks = SELF_CANCELLATION;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n throw new Error('cancel(...tasks) is not supported any more. Please use cancel([...tasks]) to cancel multiple tasks.');\n }\n\n if (array(taskOrTasks)) {\n taskOrTasks.forEach(function (t) {\n check(t, task, \"cancel([...tasks]): argument \" + t + \" is not a valid Task object \" + TEST_HINT);\n });\n } else if (taskOrTasks !== SELF_CANCELLATION && notUndef(taskOrTasks)) {\n check(taskOrTasks, task, \"cancel(task): argument \" + taskOrTasks + \" is not a valid Task object \" + TEST_HINT);\n }\n }\n\n return makeEffect(CANCEL, taskOrTasks);\n}\nfunction select(selector) {\n if (selector === void 0) {\n selector = identity;\n }\n\n for (var _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n args[_key5 - 1] = arguments[_key5];\n }\n\n if (process.env.NODE_ENV !== 'production' && arguments.length) {\n check(arguments[0], notUndef, 'select(selector, [...]): argument selector is undefined');\n check(selector, func, \"select(selector, [...]): argument \" + selector + \" is not a function\");\n }\n\n return makeEffect(SELECT, {\n selector: selector,\n args: args\n });\n}\n/**\n channel(pattern, [buffer]) => creates a proxy channel for store actions\n**/\n\nfunction actionChannel(pattern$1, buffer$1) {\n if (process.env.NODE_ENV !== 'production') {\n check(pattern$1, pattern, 'actionChannel(pattern,...): argument pattern is not valid');\n\n if (arguments.length > 1) {\n check(buffer$1, notUndef, 'actionChannel(pattern, buffer): argument buffer is undefined');\n check(buffer$1, buffer, \"actionChannel(pattern, buffer): argument \" + buffer$1 + \" is not a valid buffer\");\n }\n }\n\n return makeEffect(ACTION_CHANNEL, {\n pattern: pattern$1,\n buffer: buffer$1\n });\n}\nfunction cancelled() {\n return makeEffect(CANCELLED, {});\n}\nfunction flush(channel$1) {\n if (process.env.NODE_ENV !== 'production') {\n check(channel$1, channel, \"flush(channel): argument \" + channel$1 + \" is not valid channel\");\n }\n\n return makeEffect(FLUSH, channel$1);\n}\nfunction getContext(prop) {\n if (process.env.NODE_ENV !== 'production') {\n check(prop, string, \"getContext(prop): argument \" + prop + \" is not a string\");\n }\n\n return makeEffect(GET_CONTEXT, prop);\n}\nfunction setContext(props) {\n if (process.env.NODE_ENV !== 'production') {\n check(props, object, createSetContextWarning(null, props));\n }\n\n return makeEffect(SET_CONTEXT, props);\n}\nvar delay =\n/*#__PURE__*/\ncall.bind(null, delayP);\n\nexport { all as $, ALL as A, compose as B, CALL as C, logError as D, wrapSagaDispatch as E, FORK as F, GET_CONTEXT as G, identity as H, buffers as I, JOIN as J, detach as K, take as L, fork as M, cancel as N, call as O, PUT as P, delay as Q, RACE as R, SELECT as S, TAKE as T, actionChannel as U, sliding as V, race as W, effectTypes as X, takeMaybe as Y, put as Z, putResolve as _, CPS as a, apply as a0, cps as a1, spawn as a2, join as a3, select as a4, cancelled as a5, flush as a6, getContext as a7, setContext as a8, CANCEL as b, check as c, ACTION_CHANNEL as d, expanding as e, CANCELLED as f, FLUSH as g, SET_CONTEXT as h, internalErr as i, getMetaInfo as j, kTrue as k, createAllStyleChildCallbacks as l, createEmptyArray as m, none as n, once as o, assignWithSymbols as p, makeIterator as q, remove as r, shouldComplete as s, noop as t, flatMap as u, getLocation as v, createSetContextWarning as w, asyncIteratorSymbol as x, shouldCancel as y, shouldTerminate as z };\n","function deferred() {\n var def = {};\n def.promise = new Promise(function (resolve, reject) {\n def.resolve = resolve;\n def.reject = reject;\n });\n return def;\n}\nfunction arrayOfDeferred(length) {\n var arr = [];\n\n for (var i = 0; i < length; i++) {\n arr.push(deferred());\n }\n\n return arr;\n}\n\nexport default deferred;\nexport { arrayOfDeferred };\n","import { CHANNEL_END_TYPE, MULTICAST, MATCH, SAGA_ACTION, CANCEL, SELF_CANCELLATION, TERMINATE, TASK, TASK_CANCEL, IO } from '@redux-saga/symbols';\nexport { CANCEL, SAGA_LOCATION } from '@redux-saga/symbols';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport { string as string$1, array as array$1, stringableFunc, func, symbol as symbol$1, buffer, notUndef, promise, iterator, undef, object, channel as channel$1 } from '@redux-saga/is';\nimport { k as kTrue, e as expanding, c as check, o as once, r as remove, n as none, i as internalErr, T as TAKE, P as PUT, A as ALL, R as RACE, C as CALL, a as CPS, F as FORK, J as JOIN, b as CANCEL$1, S as SELECT, d as ACTION_CHANNEL, f as CANCELLED$1, g as FLUSH, G as GET_CONTEXT, h as SET_CONTEXT, j as getMetaInfo, l as createAllStyleChildCallbacks, m as createEmptyArray, p as assignWithSymbols, q as makeIterator, s as shouldComplete, t as noop, u as flatMap, v as getLocation, w as createSetContextWarning, x as asyncIteratorSymbol, y as shouldCancel, z as shouldTerminate, B as compose, D as logError, E as wrapSagaDispatch, H as identity } from './io-22ea0cf9.js';\nexport { I as buffers, K as detach } from './io-22ea0cf9.js';\nimport deferred from '@redux-saga/deferred';\nimport '@redux-saga/delay-p';\n\nvar queue = [];\n/**\n Variable to hold a counting semaphore\n - Incrementing adds a lock and puts the scheduler in a `suspended` state (if it's not\n already suspended)\n - Decrementing releases a lock. Zero locks puts the scheduler in a `released` state. This\n triggers flushing the queued tasks.\n**/\n\nvar semaphore = 0;\n/**\n Executes a task 'atomically'. Tasks scheduled during this execution will be queued\n and flushed after this task has finished (assuming the scheduler endup in a released\n state).\n**/\n\nfunction exec(task) {\n try {\n suspend();\n task();\n } finally {\n release();\n }\n}\n/**\n Executes or queues a task depending on the state of the scheduler (`suspended` or `released`)\n**/\n\n\nfunction asap(task) {\n queue.push(task);\n\n if (!semaphore) {\n suspend();\n flush();\n }\n}\n/**\n * Puts the scheduler in a `suspended` state and executes a task immediately.\n */\n\nfunction immediately(task) {\n try {\n suspend();\n return task();\n } finally {\n flush();\n }\n}\n/**\n Puts the scheduler in a `suspended` state. Scheduled tasks will be queued until the\n scheduler is released.\n**/\n\nfunction suspend() {\n semaphore++;\n}\n/**\n Puts the scheduler in a `released` state.\n**/\n\n\nfunction release() {\n semaphore--;\n}\n/**\n Releases the current lock. Executes all queued tasks if the scheduler is in the released state.\n**/\n\n\nfunction flush() {\n release();\n var task;\n\n while (!semaphore && (task = queue.shift()) !== undefined) {\n exec(task);\n }\n}\n\nvar array = function array(patterns) {\n return function (input) {\n return patterns.some(function (p) {\n return matcher(p)(input);\n });\n };\n};\nvar predicate = function predicate(_predicate) {\n return function (input) {\n return _predicate(input);\n };\n};\nvar string = function string(pattern) {\n return function (input) {\n return input.type === String(pattern);\n };\n};\nvar symbol = function symbol(pattern) {\n return function (input) {\n return input.type === pattern;\n };\n};\nvar wildcard = function wildcard() {\n return kTrue;\n};\nfunction matcher(pattern) {\n // prettier-ignore\n var matcherCreator = pattern === '*' ? wildcard : string$1(pattern) ? string : array$1(pattern) ? array : stringableFunc(pattern) ? string : func(pattern) ? predicate : symbol$1(pattern) ? symbol : null;\n\n if (matcherCreator === null) {\n throw new Error(\"invalid pattern: \" + pattern);\n }\n\n return matcherCreator(pattern);\n}\n\nvar END = {\n type: CHANNEL_END_TYPE\n};\nvar isEnd = function isEnd(a) {\n return a && a.type === CHANNEL_END_TYPE;\n};\nvar CLOSED_CHANNEL_WITH_TAKERS = 'Cannot have a closed channel with pending takers';\nvar INVALID_BUFFER = 'invalid buffer passed to channel factory function';\nvar UNDEFINED_INPUT_ERROR = \"Saga or channel was provided with an undefined action\\nHints:\\n - check that your Action Creator returns a non-undefined value\\n - if the Saga was started using runSaga, check that your subscribe source provides the action to its listeners\";\nfunction channel(buffer$1) {\n if (buffer$1 === void 0) {\n buffer$1 = expanding();\n }\n\n var closed = false;\n var takers = [];\n\n if (process.env.NODE_ENV !== 'production') {\n check(buffer$1, buffer, INVALID_BUFFER);\n }\n\n function checkForbiddenStates() {\n if (closed && takers.length) {\n throw internalErr(CLOSED_CHANNEL_WITH_TAKERS);\n }\n\n if (takers.length && !buffer$1.isEmpty()) {\n throw internalErr('Cannot have pending takers with non empty buffer');\n }\n }\n\n function put(input) {\n if (process.env.NODE_ENV !== 'production') {\n checkForbiddenStates();\n check(input, notUndef, UNDEFINED_INPUT_ERROR);\n }\n\n if (closed) {\n return;\n }\n\n if (takers.length === 0) {\n return buffer$1.put(input);\n }\n\n var cb = takers.shift();\n cb(input);\n }\n\n function take(cb) {\n if (process.env.NODE_ENV !== 'production') {\n checkForbiddenStates();\n check(cb, func, \"channel.take's callback must be a function\");\n }\n\n if (closed && buffer$1.isEmpty()) {\n cb(END);\n } else if (!buffer$1.isEmpty()) {\n cb(buffer$1.take());\n } else {\n takers.push(cb);\n\n cb.cancel = function () {\n remove(takers, cb);\n };\n }\n }\n\n function flush(cb) {\n if (process.env.NODE_ENV !== 'production') {\n checkForbiddenStates();\n check(cb, func, \"channel.flush' callback must be a function\");\n }\n\n if (closed && buffer$1.isEmpty()) {\n cb(END);\n return;\n }\n\n cb(buffer$1.flush());\n }\n\n function close() {\n if (process.env.NODE_ENV !== 'production') {\n checkForbiddenStates();\n }\n\n if (closed) {\n return;\n }\n\n closed = true;\n var arr = takers;\n takers = [];\n\n for (var i = 0, len = arr.length; i < len; i++) {\n var taker = arr[i];\n taker(END);\n }\n }\n\n return {\n take: take,\n put: put,\n flush: flush,\n close: close\n };\n}\nfunction eventChannel(subscribe, buffer) {\n if (buffer === void 0) {\n buffer = none();\n }\n\n var closed = false;\n var unsubscribe;\n var chan = channel(buffer);\n\n var close = function close() {\n if (closed) {\n return;\n }\n\n closed = true;\n\n if (func(unsubscribe)) {\n unsubscribe();\n }\n\n chan.close();\n };\n\n unsubscribe = subscribe(function (input) {\n if (isEnd(input)) {\n close();\n return;\n }\n\n chan.put(input);\n });\n\n if (process.env.NODE_ENV !== 'production') {\n check(unsubscribe, func, 'in eventChannel: subscribe should return a function to unsubscribe');\n }\n\n unsubscribe = once(unsubscribe);\n\n if (closed) {\n unsubscribe();\n }\n\n return {\n take: chan.take,\n flush: chan.flush,\n close: close\n };\n}\nfunction multicastChannel() {\n var _ref;\n\n var closed = false;\n var currentTakers = [];\n var nextTakers = currentTakers;\n\n function checkForbiddenStates() {\n if (closed && nextTakers.length) {\n throw internalErr(CLOSED_CHANNEL_WITH_TAKERS);\n }\n }\n\n var ensureCanMutateNextTakers = function ensureCanMutateNextTakers() {\n if (nextTakers !== currentTakers) {\n return;\n }\n\n nextTakers = currentTakers.slice();\n };\n\n var close = function close() {\n if (process.env.NODE_ENV !== 'production') {\n checkForbiddenStates();\n }\n\n closed = true;\n var takers = currentTakers = nextTakers;\n nextTakers = [];\n takers.forEach(function (taker) {\n taker(END);\n });\n };\n\n return _ref = {}, _ref[MULTICAST] = true, _ref.put = function put(input) {\n if (process.env.NODE_ENV !== 'production') {\n checkForbiddenStates();\n check(input, notUndef, UNDEFINED_INPUT_ERROR);\n }\n\n if (closed) {\n return;\n }\n\n if (isEnd(input)) {\n close();\n return;\n }\n\n var takers = currentTakers = nextTakers;\n\n for (var i = 0, len = takers.length; i < len; i++) {\n var taker = takers[i];\n\n if (taker[MATCH](input)) {\n taker.cancel();\n taker(input);\n }\n }\n }, _ref.take = function take(cb, matcher) {\n if (matcher === void 0) {\n matcher = wildcard;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n checkForbiddenStates();\n }\n\n if (closed) {\n cb(END);\n return;\n }\n\n cb[MATCH] = matcher;\n ensureCanMutateNextTakers();\n nextTakers.push(cb);\n cb.cancel = once(function () {\n ensureCanMutateNextTakers();\n remove(nextTakers, cb);\n });\n }, _ref.close = close, _ref;\n}\nfunction stdChannel() {\n var chan = multicastChannel();\n var put = chan.put;\n\n chan.put = function (input) {\n if (input[SAGA_ACTION]) {\n put(input);\n return;\n }\n\n asap(function () {\n put(input);\n });\n };\n\n return chan;\n}\n\nvar RUNNING = 0;\nvar CANCELLED = 1;\nvar ABORTED = 2;\nvar DONE = 3;\n\nfunction resolvePromise(promise, cb) {\n var cancelPromise = promise[CANCEL];\n\n if (func(cancelPromise)) {\n cb.cancel = cancelPromise;\n }\n\n promise.then(cb, function (error) {\n cb(error, true);\n });\n}\n\nvar current = 0;\nvar nextSagaId = (function () {\n return ++current;\n});\n\nvar _effectRunnerMap;\n\nfunction getIteratorMetaInfo(iterator, fn) {\n if (iterator.isSagaIterator) {\n return {\n name: iterator.meta.name\n };\n }\n\n return getMetaInfo(fn);\n}\n\nfunction createTaskIterator(_ref) {\n var context = _ref.context,\n fn = _ref.fn,\n args = _ref.args;\n\n // catch synchronous failures; see #152 and #441\n try {\n var result = fn.apply(context, args); // i.e. a generator function returns an iterator\n\n if (iterator(result)) {\n return result;\n }\n\n var resolved = false;\n\n var next = function next(arg) {\n if (!resolved) {\n resolved = true; // Only promises returned from fork will be interpreted. See #1573\n\n return {\n value: result,\n done: !promise(result)\n };\n } else {\n return {\n value: arg,\n done: true\n };\n }\n };\n\n return makeIterator(next);\n } catch (err) {\n // do not bubble up synchronous failures for detached forks\n // instead create a failed task. See #152 and #441\n return makeIterator(function () {\n throw err;\n });\n }\n}\n\nfunction runPutEffect(env, _ref2, cb) {\n var channel = _ref2.channel,\n action = _ref2.action,\n resolve = _ref2.resolve;\n\n /**\n Schedule the put in case another saga is holding a lock.\n The put will be executed atomically. ie nested puts will execute after\n this put has terminated.\n **/\n asap(function () {\n var result;\n\n try {\n result = (channel ? channel.put : env.dispatch)(action);\n } catch (error) {\n cb(error, true);\n return;\n }\n\n if (resolve && promise(result)) {\n resolvePromise(result, cb);\n } else {\n cb(result);\n }\n }); // Put effects are non cancellables\n}\n\nfunction runTakeEffect(env, _ref3, cb) {\n var _ref3$channel = _ref3.channel,\n channel = _ref3$channel === void 0 ? env.channel : _ref3$channel,\n pattern = _ref3.pattern,\n maybe = _ref3.maybe;\n\n var takeCb = function takeCb(input) {\n if (input instanceof Error) {\n cb(input, true);\n return;\n }\n\n if (isEnd(input) && !maybe) {\n cb(TERMINATE);\n return;\n }\n\n cb(input);\n };\n\n try {\n channel.take(takeCb, notUndef(pattern) ? matcher(pattern) : null);\n } catch (err) {\n cb(err, true);\n return;\n }\n\n cb.cancel = takeCb.cancel;\n}\n\nfunction runCallEffect(env, _ref4, cb, _ref5) {\n var context = _ref4.context,\n fn = _ref4.fn,\n args = _ref4.args;\n var task = _ref5.task;\n\n // catch synchronous failures; see #152\n try {\n var result = fn.apply(context, args);\n\n if (promise(result)) {\n resolvePromise(result, cb);\n return;\n }\n\n if (iterator(result)) {\n // resolve iterator\n proc(env, result, task.context, current, getMetaInfo(fn),\n /* isRoot */\n false, cb);\n return;\n }\n\n cb(result);\n } catch (error) {\n cb(error, true);\n }\n}\n\nfunction runCPSEffect(env, _ref6, cb) {\n var context = _ref6.context,\n fn = _ref6.fn,\n args = _ref6.args;\n\n // CPS (ie node style functions) can define their own cancellation logic\n // by setting cancel field on the cb\n // catch synchronous failures; see #152\n try {\n var cpsCb = function cpsCb(err, res) {\n if (undef(err)) {\n cb(res);\n } else {\n cb(err, true);\n }\n };\n\n fn.apply(context, args.concat(cpsCb));\n\n if (cpsCb.cancel) {\n cb.cancel = cpsCb.cancel;\n }\n } catch (error) {\n cb(error, true);\n }\n}\n\nfunction runForkEffect(env, _ref7, cb, _ref8) {\n var context = _ref7.context,\n fn = _ref7.fn,\n args = _ref7.args,\n detached = _ref7.detached;\n var parent = _ref8.task;\n var taskIterator = createTaskIterator({\n context: context,\n fn: fn,\n args: args\n });\n var meta = getIteratorMetaInfo(taskIterator, fn);\n immediately(function () {\n var child = proc(env, taskIterator, parent.context, current, meta, detached, undefined);\n\n if (detached) {\n cb(child);\n } else {\n if (child.isRunning()) {\n parent.queue.addTask(child);\n cb(child);\n } else if (child.isAborted()) {\n parent.queue.abort(child.error());\n } else {\n cb(child);\n }\n }\n }); // Fork effects are non cancellables\n}\n\nfunction runJoinEffect(env, taskOrTasks, cb, _ref9) {\n var task = _ref9.task;\n\n var joinSingleTask = function joinSingleTask(taskToJoin, cb) {\n if (taskToJoin.isRunning()) {\n var joiner = {\n task: task,\n cb: cb\n };\n\n cb.cancel = function () {\n if (taskToJoin.isRunning()) remove(taskToJoin.joiners, joiner);\n };\n\n taskToJoin.joiners.push(joiner);\n } else {\n if (taskToJoin.isAborted()) {\n cb(taskToJoin.error(), true);\n } else {\n cb(taskToJoin.result());\n }\n }\n };\n\n if (array$1(taskOrTasks)) {\n if (taskOrTasks.length === 0) {\n cb([]);\n return;\n }\n\n var childCallbacks = createAllStyleChildCallbacks(taskOrTasks, cb);\n taskOrTasks.forEach(function (t, i) {\n joinSingleTask(t, childCallbacks[i]);\n });\n } else {\n joinSingleTask(taskOrTasks, cb);\n }\n}\n\nfunction cancelSingleTask(taskToCancel) {\n if (taskToCancel.isRunning()) {\n taskToCancel.cancel();\n }\n}\n\nfunction runCancelEffect(env, taskOrTasks, cb, _ref10) {\n var task = _ref10.task;\n\n if (taskOrTasks === SELF_CANCELLATION) {\n cancelSingleTask(task);\n } else if (array$1(taskOrTasks)) {\n taskOrTasks.forEach(cancelSingleTask);\n } else {\n cancelSingleTask(taskOrTasks);\n }\n\n cb(); // cancel effects are non cancellables\n}\n\nfunction runAllEffect(env, effects, cb, _ref11) {\n var digestEffect = _ref11.digestEffect;\n var effectId = current;\n var keys = Object.keys(effects);\n\n if (keys.length === 0) {\n cb(array$1(effects) ? [] : {});\n return;\n }\n\n var childCallbacks = createAllStyleChildCallbacks(effects, cb);\n keys.forEach(function (key) {\n digestEffect(effects[key], effectId, childCallbacks[key], key);\n });\n}\n\nfunction runRaceEffect(env, effects, cb, _ref12) {\n var digestEffect = _ref12.digestEffect;\n var effectId = current;\n var keys = Object.keys(effects);\n var response = array$1(effects) ? createEmptyArray(keys.length) : {};\n var childCbs = {};\n var completed = false;\n keys.forEach(function (key) {\n var chCbAtKey = function chCbAtKey(res, isErr) {\n if (completed) {\n return;\n }\n\n if (isErr || shouldComplete(res)) {\n // Race Auto cancellation\n cb.cancel();\n cb(res, isErr);\n } else {\n cb.cancel();\n completed = true;\n response[key] = res;\n cb(response);\n }\n };\n\n chCbAtKey.cancel = noop;\n childCbs[key] = chCbAtKey;\n });\n\n cb.cancel = function () {\n // prevents unnecessary cancellation\n if (!completed) {\n completed = true;\n keys.forEach(function (key) {\n return childCbs[key].cancel();\n });\n }\n };\n\n keys.forEach(function (key) {\n if (completed) {\n return;\n }\n\n digestEffect(effects[key], effectId, childCbs[key], key);\n });\n}\n\nfunction runSelectEffect(env, _ref13, cb) {\n var selector = _ref13.selector,\n args = _ref13.args;\n\n try {\n var state = selector.apply(void 0, [env.getState()].concat(args));\n cb(state);\n } catch (error) {\n cb(error, true);\n }\n}\n\nfunction runChannelEffect(env, _ref14, cb) {\n var pattern = _ref14.pattern,\n buffer = _ref14.buffer;\n var chan = channel(buffer);\n var match = matcher(pattern);\n\n var taker = function taker(action) {\n if (!isEnd(action)) {\n env.channel.take(taker, match);\n }\n\n chan.put(action);\n };\n\n var close = chan.close;\n\n chan.close = function () {\n taker.cancel();\n close();\n };\n\n env.channel.take(taker, match);\n cb(chan);\n}\n\nfunction runCancelledEffect(env, data, cb, _ref15) {\n var task = _ref15.task;\n cb(task.isCancelled());\n}\n\nfunction runFlushEffect(env, channel, cb) {\n channel.flush(cb);\n}\n\nfunction runGetContextEffect(env, prop, cb, _ref16) {\n var task = _ref16.task;\n cb(task.context[prop]);\n}\n\nfunction runSetContextEffect(env, props, cb, _ref17) {\n var task = _ref17.task;\n assignWithSymbols(task.context, props);\n cb();\n}\n\nvar effectRunnerMap = (_effectRunnerMap = {}, _effectRunnerMap[TAKE] = runTakeEffect, _effectRunnerMap[PUT] = runPutEffect, _effectRunnerMap[ALL] = runAllEffect, _effectRunnerMap[RACE] = runRaceEffect, _effectRunnerMap[CALL] = runCallEffect, _effectRunnerMap[CPS] = runCPSEffect, _effectRunnerMap[FORK] = runForkEffect, _effectRunnerMap[JOIN] = runJoinEffect, _effectRunnerMap[CANCEL$1] = runCancelEffect, _effectRunnerMap[SELECT] = runSelectEffect, _effectRunnerMap[ACTION_CHANNEL] = runChannelEffect, _effectRunnerMap[CANCELLED$1] = runCancelledEffect, _effectRunnerMap[FLUSH] = runFlushEffect, _effectRunnerMap[GET_CONTEXT] = runGetContextEffect, _effectRunnerMap[SET_CONTEXT] = runSetContextEffect, _effectRunnerMap);\n\n/**\n Used to track a parent task and its forks\n In the fork model, forked tasks are attached by default to their parent\n We model this using the concept of Parent task && main Task\n main task is the main flow of the current Generator, the parent tasks is the\n aggregation of the main tasks + all its forked tasks.\n Thus the whole model represents an execution tree with multiple branches (vs the\n linear execution tree in sequential (non parallel) programming)\n\n A parent tasks has the following semantics\n - It completes if all its forks either complete or all cancelled\n - If it's cancelled, all forks are cancelled as well\n - It aborts if any uncaught error bubbles up from forks\n - If it completes, the return value is the one returned by the main task\n **/\n\nfunction forkQueue(mainTask, onAbort, cont) {\n var tasks = [];\n var result;\n var completed = false;\n addTask(mainTask);\n\n var getTasks = function getTasks() {\n return tasks;\n };\n\n function abort(err) {\n onAbort();\n cancelAll();\n cont(err, true);\n }\n\n function addTask(task) {\n tasks.push(task);\n\n task.cont = function (res, isErr) {\n if (completed) {\n return;\n }\n\n remove(tasks, task);\n task.cont = noop;\n\n if (isErr) {\n abort(res);\n } else {\n if (task === mainTask) {\n result = res;\n }\n\n if (!tasks.length) {\n completed = true;\n cont(result);\n }\n }\n };\n }\n\n function cancelAll() {\n if (completed) {\n return;\n }\n\n completed = true;\n tasks.forEach(function (t) {\n t.cont = noop;\n t.cancel();\n });\n tasks = [];\n }\n\n return {\n addTask: addTask,\n cancelAll: cancelAll,\n abort: abort,\n getTasks: getTasks\n };\n}\n\n// there can be only a single saga error created at any given moment\n\nfunction formatLocation(fileName, lineNumber) {\n return fileName + \"?\" + lineNumber;\n}\n\nfunction effectLocationAsString(effect) {\n var location = getLocation(effect);\n\n if (location) {\n var code = location.code,\n fileName = location.fileName,\n lineNumber = location.lineNumber;\n var source = code + \" \" + formatLocation(fileName, lineNumber);\n return source;\n }\n\n return '';\n}\n\nfunction sagaLocationAsString(sagaMeta) {\n var name = sagaMeta.name,\n location = sagaMeta.location;\n\n if (location) {\n return name + \" \" + formatLocation(location.fileName, location.lineNumber);\n }\n\n return name;\n}\n\nfunction cancelledTasksAsString(sagaStack) {\n var cancelledTasks = flatMap(function (i) {\n return i.cancelledTasks;\n }, sagaStack);\n\n if (!cancelledTasks.length) {\n return '';\n }\n\n return ['Tasks cancelled due to error:'].concat(cancelledTasks).join('\\n');\n}\n\nvar crashedEffect = null;\nvar sagaStack = [];\nvar addSagaFrame = function addSagaFrame(frame) {\n frame.crashedEffect = crashedEffect;\n sagaStack.push(frame);\n};\nvar clear = function clear() {\n crashedEffect = null;\n sagaStack.length = 0;\n}; // this sets crashed effect for the soon-to-be-reported saga frame\n// this slightly streatches the singleton nature of this module into wrong direction\n// as it's even less obvious what's the data flow here, but it is what it is for now\n\nvar setCrashedEffect = function setCrashedEffect(effect) {\n crashedEffect = effect;\n};\n/**\n @returns {string}\n\n @example\n The above error occurred in task errorInPutSaga {pathToFile}\n when executing effect put({type: 'REDUCER_ACTION_ERROR_IN_PUT'}) {pathToFile}\n created by fetchSaga {pathToFile}\n created by rootSaga {pathToFile}\n*/\n\nvar toString = function toString() {\n var firstSaga = sagaStack[0],\n otherSagas = sagaStack.slice(1);\n var crashedEffectLocation = firstSaga.crashedEffect ? effectLocationAsString(firstSaga.crashedEffect) : null;\n var errorMessage = \"The above error occurred in task \" + sagaLocationAsString(firstSaga.meta) + (crashedEffectLocation ? \" \\n when executing effect \" + crashedEffectLocation : '');\n return [errorMessage].concat(otherSagas.map(function (s) {\n return \" created by \" + sagaLocationAsString(s.meta);\n }), [cancelledTasksAsString(sagaStack)]).join('\\n');\n};\n\nfunction newTask(env, mainTask, parentContext, parentEffectId, meta, isRoot, cont) {\n var _task;\n\n if (cont === void 0) {\n cont = noop;\n }\n\n var status = RUNNING;\n var taskResult;\n var taskError;\n var deferredEnd = null;\n var cancelledDueToErrorTasks = [];\n var context = Object.create(parentContext);\n var queue = forkQueue(mainTask, function onAbort() {\n cancelledDueToErrorTasks.push.apply(cancelledDueToErrorTasks, queue.getTasks().map(function (t) {\n return t.meta.name;\n }));\n }, end);\n /**\n This may be called by a parent generator to trigger/propagate cancellation\n cancel all pending tasks (including the main task), then end the current task.\n Cancellation propagates down to the whole execution tree held by this Parent task\n It's also propagated to all joiners of this task and their execution tree/joiners\n Cancellation is noop for terminated/Cancelled tasks tasks\n **/\n\n function cancel() {\n if (status === RUNNING) {\n // Setting status to CANCELLED does not necessarily mean that the task/iterators are stopped\n // effects in the iterator's finally block will still be executed\n status = CANCELLED;\n queue.cancelAll(); // Ending with a TASK_CANCEL will propagate the Cancellation to all joiners\n\n end(TASK_CANCEL, false);\n }\n }\n\n function end(result, isErr) {\n if (!isErr) {\n // The status here may be RUNNING or CANCELLED\n // If the status is CANCELLED, then we do not need to change it here\n if (result === TASK_CANCEL) {\n status = CANCELLED;\n } else if (status !== CANCELLED) {\n status = DONE;\n }\n\n taskResult = result;\n deferredEnd && deferredEnd.resolve(result);\n } else {\n status = ABORTED;\n addSagaFrame({\n meta: meta,\n cancelledTasks: cancelledDueToErrorTasks\n });\n\n if (task.isRoot) {\n var sagaStack = toString(); // we've dumped the saga stack to string and are passing it to user's code\n // we know that it won't be needed anymore and we need to clear it\n\n clear();\n env.onError(result, {\n sagaStack: sagaStack\n });\n }\n\n taskError = result;\n deferredEnd && deferredEnd.reject(result);\n }\n\n task.cont(result, isErr);\n task.joiners.forEach(function (joiner) {\n joiner.cb(result, isErr);\n });\n task.joiners = null;\n }\n\n function setContext(props) {\n if (process.env.NODE_ENV !== 'production') {\n check(props, object, createSetContextWarning('task', props));\n }\n\n assignWithSymbols(context, props);\n }\n\n function toPromise() {\n if (deferredEnd) {\n return deferredEnd.promise;\n }\n\n deferredEnd = deferred();\n\n if (status === ABORTED) {\n deferredEnd.reject(taskError);\n } else if (status !== RUNNING) {\n deferredEnd.resolve(taskResult);\n }\n\n return deferredEnd.promise;\n }\n\n var task = (_task = {}, _task[TASK] = true, _task.id = parentEffectId, _task.meta = meta, _task.isRoot = isRoot, _task.context = context, _task.joiners = [], _task.queue = queue, _task.cancel = cancel, _task.cont = cont, _task.end = end, _task.setContext = setContext, _task.toPromise = toPromise, _task.isRunning = function isRunning() {\n return status === RUNNING;\n }, _task.isCancelled = function isCancelled() {\n return status === CANCELLED || status === RUNNING && mainTask.status === CANCELLED;\n }, _task.isAborted = function isAborted() {\n return status === ABORTED;\n }, _task.result = function result() {\n return taskResult;\n }, _task.error = function error() {\n return taskError;\n }, _task);\n return task;\n}\n\nfunction proc(env, iterator$1, parentContext, parentEffectId, meta, isRoot, cont) {\n if (process.env.NODE_ENV !== 'production' && iterator$1[asyncIteratorSymbol]) {\n throw new Error(\"redux-saga doesn't support async generators, please use only regular ones\");\n }\n\n var finalRunEffect = env.finalizeRunEffect(runEffect);\n /**\n Tracks the current effect cancellation\n Each time the generator progresses. calling runEffect will set a new value\n on it. It allows propagating cancellation to child effects\n **/\n\n next.cancel = noop;\n /** Creates a main task to track the main flow */\n\n var mainTask = {\n meta: meta,\n cancel: cancelMain,\n status: RUNNING\n };\n /**\n Creates a new task descriptor for this generator.\n A task is the aggregation of it's mainTask and all it's forked tasks.\n **/\n\n var task = newTask(env, mainTask, parentContext, parentEffectId, meta, isRoot, cont);\n var executingContext = {\n task: task,\n digestEffect: digestEffect\n };\n /**\n cancellation of the main task. We'll simply resume the Generator with a TASK_CANCEL\n **/\n\n function cancelMain() {\n if (mainTask.status === RUNNING) {\n mainTask.status = CANCELLED;\n next(TASK_CANCEL);\n }\n }\n /**\n attaches cancellation logic to this task's continuation\n this will permit cancellation to propagate down the call chain\n **/\n\n\n if (cont) {\n cont.cancel = task.cancel;\n } // kicks up the generator\n\n\n next(); // then return the task descriptor to the caller\n\n return task;\n /**\n * This is the generator driver\n * It's a recursive async/continuation function which calls itself\n * until the generator terminates or throws\n * @param {internal commands(TASK_CANCEL | TERMINATE) | any} arg - value, generator will be resumed with.\n * @param {boolean} isErr - the flag shows if effect finished with an error\n *\n * receives either (command | effect result, false) or (any thrown thing, true)\n */\n\n function next(arg, isErr) {\n try {\n var result;\n\n if (isErr) {\n result = iterator$1.throw(arg); // user handled the error, we can clear bookkept values\n\n clear();\n } else if (shouldCancel(arg)) {\n /**\n getting TASK_CANCEL automatically cancels the main task\n We can get this value here\n - By cancelling the parent task manually\n - By joining a Cancelled task\n **/\n mainTask.status = CANCELLED;\n /**\n Cancels the current effect; this will propagate the cancellation down to any called tasks\n **/\n\n next.cancel();\n /**\n If this Generator has a `return` method then invokes it\n This will jump to the finally block\n **/\n\n result = func(iterator$1.return) ? iterator$1.return(TASK_CANCEL) : {\n done: true,\n value: TASK_CANCEL\n };\n } else if (shouldTerminate(arg)) {\n // We get TERMINATE flag, i.e. by taking from a channel that ended using `take` (and not `takem` used to trap End of channels)\n result = func(iterator$1.return) ? iterator$1.return() : {\n done: true\n };\n } else {\n result = iterator$1.next(arg);\n }\n\n if (!result.done) {\n digestEffect(result.value, parentEffectId, next);\n } else {\n /**\n This Generator has ended, terminate the main task and notify the fork queue\n **/\n if (mainTask.status !== CANCELLED) {\n mainTask.status = DONE;\n }\n\n mainTask.cont(result.value);\n }\n } catch (error) {\n if (mainTask.status === CANCELLED) {\n throw error;\n }\n\n mainTask.status = ABORTED;\n mainTask.cont(error, true);\n }\n }\n\n function runEffect(effect, effectId, currCb) {\n /**\n each effect runner must attach its own logic of cancellation to the provided callback\n it allows this generator to propagate cancellation downward.\n ATTENTION! effect runners must setup the cancel logic by setting cb.cancel = [cancelMethod]\n And the setup must occur before calling the callback\n This is a sort of inversion of control: called async functions are responsible\n of completing the flow by calling the provided continuation; while caller functions\n are responsible for aborting the current flow by calling the attached cancel function\n Library users can attach their own cancellation logic to promises by defining a\n promise[CANCEL] method in their returned promises\n ATTENTION! calling cancel must have no effect on an already completed or cancelled effect\n **/\n if (promise(effect)) {\n resolvePromise(effect, currCb);\n } else if (iterator(effect)) {\n // resolve iterator\n proc(env, effect, task.context, effectId, meta,\n /* isRoot */\n false, currCb);\n } else if (effect && effect[IO]) {\n var effectRunner = effectRunnerMap[effect.type];\n effectRunner(env, effect.payload, currCb, executingContext);\n } else {\n // anything else returned as is\n currCb(effect);\n }\n }\n\n function digestEffect(effect, parentEffectId, cb, label) {\n if (label === void 0) {\n label = '';\n }\n\n var effectId = nextSagaId();\n env.sagaMonitor && env.sagaMonitor.effectTriggered({\n effectId: effectId,\n parentEffectId: parentEffectId,\n label: label,\n effect: effect\n });\n /**\n completion callback and cancel callback are mutually exclusive\n We can't cancel an already completed effect\n And We can't complete an already cancelled effectId\n **/\n\n var effectSettled; // Completion callback passed to the appropriate effect runner\n\n function currCb(res, isErr) {\n if (effectSettled) {\n return;\n }\n\n effectSettled = true;\n cb.cancel = noop; // defensive measure\n\n if (env.sagaMonitor) {\n if (isErr) {\n env.sagaMonitor.effectRejected(effectId, res);\n } else {\n env.sagaMonitor.effectResolved(effectId, res);\n }\n }\n\n if (isErr) {\n setCrashedEffect(effect);\n }\n\n cb(res, isErr);\n } // tracks down the current cancel\n\n\n currCb.cancel = noop; // setup cancellation logic on the parent cb\n\n cb.cancel = function () {\n // prevents cancelling an already completed effect\n if (effectSettled) {\n return;\n }\n\n effectSettled = true;\n currCb.cancel(); // propagates cancel downward\n\n currCb.cancel = noop; // defensive measure\n\n env.sagaMonitor && env.sagaMonitor.effectCancelled(effectId);\n };\n\n finalRunEffect(effect, effectId, currCb);\n }\n}\n\nvar RUN_SAGA_SIGNATURE = 'runSaga(options, saga, ...args)';\nvar NON_GENERATOR_ERR = RUN_SAGA_SIGNATURE + \": saga argument must be a Generator function!\";\nfunction runSaga(_ref, saga) {\n var _ref$channel = _ref.channel,\n channel = _ref$channel === void 0 ? stdChannel() : _ref$channel,\n dispatch = _ref.dispatch,\n getState = _ref.getState,\n _ref$context = _ref.context,\n context = _ref$context === void 0 ? {} : _ref$context,\n sagaMonitor = _ref.sagaMonitor,\n effectMiddlewares = _ref.effectMiddlewares,\n _ref$onError = _ref.onError,\n onError = _ref$onError === void 0 ? logError : _ref$onError;\n\n if (process.env.NODE_ENV !== 'production') {\n check(saga, func, NON_GENERATOR_ERR);\n }\n\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n var iterator$1 = saga.apply(void 0, args);\n\n if (process.env.NODE_ENV !== 'production') {\n check(iterator$1, iterator, NON_GENERATOR_ERR);\n }\n\n var effectId = nextSagaId();\n\n if (sagaMonitor) {\n // monitors are expected to have a certain interface, let's fill-in any missing ones\n sagaMonitor.rootSagaStarted = sagaMonitor.rootSagaStarted || noop;\n sagaMonitor.effectTriggered = sagaMonitor.effectTriggered || noop;\n sagaMonitor.effectResolved = sagaMonitor.effectResolved || noop;\n sagaMonitor.effectRejected = sagaMonitor.effectRejected || noop;\n sagaMonitor.effectCancelled = sagaMonitor.effectCancelled || noop;\n sagaMonitor.actionDispatched = sagaMonitor.actionDispatched || noop;\n sagaMonitor.rootSagaStarted({\n effectId: effectId,\n saga: saga,\n args: args\n });\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (notUndef(dispatch)) {\n check(dispatch, func, 'dispatch must be a function');\n }\n\n if (notUndef(getState)) {\n check(getState, func, 'getState must be a function');\n }\n\n if (notUndef(effectMiddlewares)) {\n var MIDDLEWARE_TYPE_ERROR = 'effectMiddlewares must be an array of functions';\n check(effectMiddlewares, array$1, MIDDLEWARE_TYPE_ERROR);\n effectMiddlewares.forEach(function (effectMiddleware) {\n return check(effectMiddleware, func, MIDDLEWARE_TYPE_ERROR);\n });\n }\n\n check(onError, func, 'onError passed to the redux-saga is not a function!');\n }\n\n var finalizeRunEffect;\n\n if (effectMiddlewares) {\n var middleware = compose.apply(void 0, effectMiddlewares);\n\n finalizeRunEffect = function finalizeRunEffect(runEffect) {\n return function (effect, effectId, currCb) {\n var plainRunEffect = function plainRunEffect(eff) {\n return runEffect(eff, effectId, currCb);\n };\n\n return middleware(plainRunEffect)(effect);\n };\n };\n } else {\n finalizeRunEffect = identity;\n }\n\n var env = {\n channel: channel,\n dispatch: wrapSagaDispatch(dispatch),\n getState: getState,\n sagaMonitor: sagaMonitor,\n onError: onError,\n finalizeRunEffect: finalizeRunEffect\n };\n return immediately(function () {\n var task = proc(env, iterator$1, context, effectId, getMetaInfo(saga),\n /* isRoot */\n true, undefined);\n\n if (sagaMonitor) {\n sagaMonitor.effectResolved(effectId, task);\n }\n\n return task;\n });\n}\n\nfunction sagaMiddlewareFactory(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$context = _ref.context,\n context = _ref$context === void 0 ? {} : _ref$context,\n _ref$channel = _ref.channel,\n channel = _ref$channel === void 0 ? stdChannel() : _ref$channel,\n sagaMonitor = _ref.sagaMonitor,\n options = _objectWithoutPropertiesLoose(_ref, [\"context\", \"channel\", \"sagaMonitor\"]);\n\n var boundRunSaga;\n\n if (process.env.NODE_ENV !== 'production') {\n check(channel, channel$1, 'options.channel passed to the Saga middleware is not a channel');\n }\n\n function sagaMiddleware(_ref2) {\n var getState = _ref2.getState,\n dispatch = _ref2.dispatch;\n boundRunSaga = runSaga.bind(null, _extends({}, options, {\n context: context,\n channel: channel,\n dispatch: dispatch,\n getState: getState,\n sagaMonitor: sagaMonitor\n }));\n return function (next) {\n return function (action) {\n if (sagaMonitor && sagaMonitor.actionDispatched) {\n sagaMonitor.actionDispatched(action);\n }\n\n var result = next(action); // hit reducers\n\n channel.put(action);\n return result;\n };\n };\n }\n\n sagaMiddleware.run = function () {\n if (process.env.NODE_ENV !== 'production' && !boundRunSaga) {\n throw new Error('Before running a Saga, you must mount the Saga middleware on the Store using applyMiddleware');\n }\n\n return boundRunSaga.apply(void 0, arguments);\n };\n\n sagaMiddleware.setContext = function (props) {\n if (process.env.NODE_ENV !== 'production') {\n check(props, object, createSetContextWarning('sagaMiddleware', props));\n }\n\n assignWithSymbols(context, props);\n };\n\n return sagaMiddleware;\n}\n\nexport default sagaMiddlewareFactory;\nexport { END, channel, eventChannel, isEnd, multicastChannel, runSaga, stdChannel };\n","import createSagaMiddleware__default from '@redux-saga/core';\nexport * from '@redux-saga/core';\n\n\n\nexport default createSagaMiddleware__default;\n","import {combineReducers} from \"redux\";\r\nimport advertReducer from \"./adverts/advertSlices\";\r\n\r\nexport const rootReducer = combineReducers({\r\n advert: advertReducer\r\n});\r\n","import '@redux-saga/symbols';\nimport '@babel/runtime/helpers/esm/extends';\nimport { channel, stringableFunc, func, notUndef } from '@redux-saga/is';\nimport { q as makeIterator, L as take, M as fork, N as cancel, O as call, Q as delay, U as actionChannel, V as sliding, W as race, c as check } from './io-22ea0cf9.js';\nexport { U as actionChannel, $ as all, a0 as apply, O as call, N as cancel, a5 as cancelled, a1 as cps, Q as delay, X as effectTypes, a6 as flush, M as fork, a7 as getContext, a3 as join, Z as put, _ as putResolve, W as race, a4 as select, a8 as setContext, a2 as spawn, L as take, Y as takeMaybe } from './io-22ea0cf9.js';\nimport '@redux-saga/delay-p';\n\nvar done = function done(value) {\n return {\n done: true,\n value: value\n };\n};\n\nvar qEnd = {};\nfunction safeName(patternOrChannel) {\n if (channel(patternOrChannel)) {\n return 'channel';\n }\n\n if (stringableFunc(patternOrChannel)) {\n return String(patternOrChannel);\n }\n\n if (func(patternOrChannel)) {\n return patternOrChannel.name;\n }\n\n return String(patternOrChannel);\n}\nfunction fsmIterator(fsm, startState, name) {\n var stateUpdater,\n errorState,\n effect,\n nextState = startState;\n\n function next(arg, error) {\n if (nextState === qEnd) {\n return done(arg);\n }\n\n if (error && !errorState) {\n nextState = qEnd;\n throw error;\n } else {\n stateUpdater && stateUpdater(arg);\n var currentState = error ? fsm[errorState](error) : fsm[nextState]();\n nextState = currentState.nextState;\n effect = currentState.effect;\n stateUpdater = currentState.stateUpdater;\n errorState = currentState.errorState;\n return nextState === qEnd ? done(arg) : effect;\n }\n }\n\n return makeIterator(next, function (error) {\n return next(null, error);\n }, name);\n}\n\nfunction takeEvery(patternOrChannel, worker) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n var yTake = {\n done: false,\n value: take(patternOrChannel)\n };\n\n var yFork = function yFork(ac) {\n return {\n done: false,\n value: fork.apply(void 0, [worker].concat(args, [ac]))\n };\n };\n\n var action,\n setAction = function setAction(ac) {\n return action = ac;\n };\n\n return fsmIterator({\n q1: function q1() {\n return {\n nextState: 'q2',\n effect: yTake,\n stateUpdater: setAction\n };\n },\n q2: function q2() {\n return {\n nextState: 'q1',\n effect: yFork(action)\n };\n }\n }, 'q1', \"takeEvery(\" + safeName(patternOrChannel) + \", \" + worker.name + \")\");\n}\n\nfunction takeLatest(patternOrChannel, worker) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n var yTake = {\n done: false,\n value: take(patternOrChannel)\n };\n\n var yFork = function yFork(ac) {\n return {\n done: false,\n value: fork.apply(void 0, [worker].concat(args, [ac]))\n };\n };\n\n var yCancel = function yCancel(task) {\n return {\n done: false,\n value: cancel(task)\n };\n };\n\n var task, action;\n\n var setTask = function setTask(t) {\n return task = t;\n };\n\n var setAction = function setAction(ac) {\n return action = ac;\n };\n\n return fsmIterator({\n q1: function q1() {\n return {\n nextState: 'q2',\n effect: yTake,\n stateUpdater: setAction\n };\n },\n q2: function q2() {\n return task ? {\n nextState: 'q3',\n effect: yCancel(task)\n } : {\n nextState: 'q1',\n effect: yFork(action),\n stateUpdater: setTask\n };\n },\n q3: function q3() {\n return {\n nextState: 'q1',\n effect: yFork(action),\n stateUpdater: setTask\n };\n }\n }, 'q1', \"takeLatest(\" + safeName(patternOrChannel) + \", \" + worker.name + \")\");\n}\n\nfunction takeLeading(patternOrChannel, worker) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n var yTake = {\n done: false,\n value: take(patternOrChannel)\n };\n\n var yCall = function yCall(ac) {\n return {\n done: false,\n value: call.apply(void 0, [worker].concat(args, [ac]))\n };\n };\n\n var action;\n\n var setAction = function setAction(ac) {\n return action = ac;\n };\n\n return fsmIterator({\n q1: function q1() {\n return {\n nextState: 'q2',\n effect: yTake,\n stateUpdater: setAction\n };\n },\n q2: function q2() {\n return {\n nextState: 'q1',\n effect: yCall(action)\n };\n }\n }, 'q1', \"takeLeading(\" + safeName(patternOrChannel) + \", \" + worker.name + \")\");\n}\n\nfunction throttle(delayLength, patternOrChannel, worker) {\n for (var _len = arguments.length, args = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n args[_key - 3] = arguments[_key];\n }\n\n var action, channel$1;\n\n var yTake = function yTake() {\n return {\n done: false,\n value: take(channel$1)\n };\n };\n\n var yFork = function yFork(ac) {\n return {\n done: false,\n value: fork.apply(void 0, [worker].concat(args, [ac]))\n };\n };\n\n var yDelay = {\n done: false,\n value: delay(delayLength)\n };\n\n var setAction = function setAction(ac) {\n return action = ac;\n };\n\n var setChannel = function setChannel(ch) {\n return channel$1 = ch;\n };\n\n var needsChannel = !channel(patternOrChannel);\n\n if (!needsChannel) {\n setChannel(patternOrChannel);\n }\n\n return fsmIterator({\n q1: function q1() {\n var yActionChannel = {\n done: false,\n value: actionChannel(patternOrChannel, sliding(1))\n };\n return {\n nextState: 'q2',\n effect: yActionChannel,\n stateUpdater: setChannel\n };\n },\n q2: function q2() {\n return {\n nextState: 'q3',\n effect: yTake(),\n stateUpdater: setAction\n };\n },\n q3: function q3() {\n return {\n nextState: 'q4',\n effect: yFork(action)\n };\n },\n q4: function q4() {\n return {\n nextState: 'q2',\n effect: yDelay\n };\n }\n }, needsChannel ? 'q1' : 'q2', \"throttle(\" + safeName(patternOrChannel) + \", \" + worker.name + \")\");\n}\n\nfunction retry(maxTries, delayLength, fn) {\n var counter = maxTries;\n\n for (var _len = arguments.length, args = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n args[_key - 3] = arguments[_key];\n }\n\n var yCall = {\n done: false,\n value: call.apply(void 0, [fn].concat(args))\n };\n var yDelay = {\n done: false,\n value: delay(delayLength)\n };\n return fsmIterator({\n q1: function q1() {\n return {\n nextState: 'q2',\n effect: yCall,\n errorState: 'q10'\n };\n },\n q2: function q2() {\n return {\n nextState: qEnd\n };\n },\n q10: function q10(error) {\n counter -= 1;\n\n if (counter <= 0) {\n throw error;\n }\n\n return {\n nextState: 'q1',\n effect: yDelay\n };\n }\n }, 'q1', \"retry(\" + fn.name + \")\");\n}\n\nfunction debounceHelper(delayLength, patternOrChannel, worker) {\n for (var _len = arguments.length, args = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n args[_key - 3] = arguments[_key];\n }\n\n var action, raceOutput;\n var yTake = {\n done: false,\n value: take(patternOrChannel)\n };\n var yRace = {\n done: false,\n value: race({\n action: take(patternOrChannel),\n debounce: delay(delayLength)\n })\n };\n\n var yFork = function yFork(ac) {\n return {\n done: false,\n value: fork.apply(void 0, [worker].concat(args, [ac]))\n };\n };\n\n var yNoop = function yNoop(value) {\n return {\n done: false,\n value: value\n };\n };\n\n var setAction = function setAction(ac) {\n return action = ac;\n };\n\n var setRaceOutput = function setRaceOutput(ro) {\n return raceOutput = ro;\n };\n\n return fsmIterator({\n q1: function q1() {\n return {\n nextState: 'q2',\n effect: yTake,\n stateUpdater: setAction\n };\n },\n q2: function q2() {\n return {\n nextState: 'q3',\n effect: yRace,\n stateUpdater: setRaceOutput\n };\n },\n q3: function q3() {\n return raceOutput.debounce ? {\n nextState: 'q1',\n effect: yFork(action)\n } : {\n nextState: 'q2',\n effect: yNoop(raceOutput.action),\n stateUpdater: setAction\n };\n }\n }, 'q1', \"debounce(\" + safeName(patternOrChannel) + \", \" + worker.name + \")\");\n}\n\nvar validateTakeEffect = function validateTakeEffect(fn, patternOrChannel, worker) {\n check(patternOrChannel, notUndef, fn.name + \" requires a pattern or channel\");\n check(worker, notUndef, fn.name + \" requires a saga parameter\");\n};\n\nfunction takeEvery$1(patternOrChannel, worker) {\n if (process.env.NODE_ENV !== 'production') {\n validateTakeEffect(takeEvery$1, patternOrChannel, worker);\n }\n\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n return fork.apply(void 0, [takeEvery, patternOrChannel, worker].concat(args));\n}\nfunction takeLatest$1(patternOrChannel, worker) {\n if (process.env.NODE_ENV !== 'production') {\n validateTakeEffect(takeLatest$1, patternOrChannel, worker);\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n return fork.apply(void 0, [takeLatest, patternOrChannel, worker].concat(args));\n}\nfunction takeLeading$1(patternOrChannel, worker) {\n if (process.env.NODE_ENV !== 'production') {\n validateTakeEffect(takeLeading$1, patternOrChannel, worker);\n }\n\n for (var _len3 = arguments.length, args = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n args[_key3 - 2] = arguments[_key3];\n }\n\n return fork.apply(void 0, [takeLeading, patternOrChannel, worker].concat(args));\n}\nfunction throttle$1(ms, patternOrChannel, worker) {\n if (process.env.NODE_ENV !== 'production') {\n check(patternOrChannel, notUndef, \"throttle requires a pattern or channel\");\n check(worker, notUndef, 'throttle requires a saga parameter');\n }\n\n for (var _len4 = arguments.length, args = new Array(_len4 > 3 ? _len4 - 3 : 0), _key4 = 3; _key4 < _len4; _key4++) {\n args[_key4 - 3] = arguments[_key4];\n }\n\n return fork.apply(void 0, [throttle, ms, patternOrChannel, worker].concat(args));\n}\nfunction retry$1(maxTries, delayLength, worker) {\n for (var _len5 = arguments.length, args = new Array(_len5 > 3 ? _len5 - 3 : 0), _key5 = 3; _key5 < _len5; _key5++) {\n args[_key5 - 3] = arguments[_key5];\n }\n\n return call.apply(void 0, [retry, maxTries, delayLength, worker].concat(args));\n}\nfunction debounce(delayLength, pattern, worker) {\n for (var _len6 = arguments.length, args = new Array(_len6 > 3 ? _len6 - 3 : 0), _key6 = 3; _key6 < _len6; _key6++) {\n args[_key6 - 3] = arguments[_key6];\n }\n\n return fork.apply(void 0, [debounceHelper, delayLength, pattern, worker].concat(args));\n}\n\nexport { debounce, retry$1 as retry, takeEvery$1 as takeEvery, takeLatest$1 as takeLatest, takeLeading$1 as takeLeading, throttle$1 as throttle };\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n let {responseType, withXSRFToken} = config;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let contentType;\n\n if (utils.isFormData(requestData)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else if ((contentType = requestHeaders.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n requestHeaders.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if(platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(config));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(fullPath))) {\n // Add xsrf header\n const xsrfValue = config.xsrfHeaderName && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.6.7\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import axios from 'axios';\r\n\r\nexport const fetchAdverts = async (cityId: number) => {\r\n return await axios.get(`https://dimria-advert-prices.azurewebsites.net/api/get_advertisements/${cityId}`);\r\n //return await axios.get(`http://localhost:7071/api/get_advertisements/${cityId}`);\r\n}\r\n\r\nexport const fetchAdvertDetails = async (advertId: string) => {\r\n return await axios.get(`https://dimria-advert-prices.azurewebsites.net/api/get_advert_details/${advertId}`);\r\n //return await axios.get(`http://localhost:7071/api/get_advert_details/${advertId}`);\r\n}\r\n\r\nexport const fetchCities = async () => {\r\n return await axios.get('https://dimria-advert-prices.azurewebsites.net/api/get_cities');\r\n //return await axios.get('http://localhost:7071/api/get_cities');\r\n}\r\n\r\n\r\nexport const delay = (ms: number) => new Promise(res => setTimeout(res, ms));\r\n\r\n","import {call, put, takeLatest} from 'redux-saga/effects';\r\nimport {\r\n fetchAdvertsStart,\r\n fetchAdvertsSuccess,\r\n fetchAdvertsFailure,\r\n fetchAdvertDetailsStart,\r\n fetchAdvertDetailsSuccess,\r\n fetchAdvertDetailsFailure,\r\n fetchCitiesStart,\r\n fetchCitiesSuccess,\r\n fetchCitiesFailure\r\n} from './advertSlices';\r\nimport {fetchAdverts, fetchAdvertDetails, fetchCities} from \"./requests\";\r\nimport {Action} from \"../../models/types\";\r\n\r\nfunction* fetchAdvertsAsync(action: ReturnType ) {\r\n try {\r\n\r\n const cityId = action.payload;\r\n\r\n // @ts-ignore\r\n const response = yield call(fetchAdverts, cityId);\r\n yield put(fetchAdvertsSuccess(response.data));\r\n } catch (error) {\r\n yield put(fetchAdvertsFailure(\"Error fetching data\"));\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchAdvertDetailsAsync(action: Action ) {\r\n try {\r\n\r\n const advertId = action.payload;\r\n\r\n // @ts-ignore\r\n const response = yield call(fetchAdvertDetails, advertId);\r\n if(response.status === 200){\r\n yield put(fetchAdvertDetailsSuccess(response.data));\r\n }\r\n else{\r\n throw new Error(\"Error fetching data details\");\r\n }\r\n\r\n }catch (error){\r\n yield put(fetchAdvertDetailsFailure(\"Error fetching data details\"));\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchCitiesAsync() {\r\n try {\r\n // @ts-ignore\r\n const response = yield call(fetchCities);\r\n yield put(fetchCitiesSuccess(response.data));\r\n } catch (error) {\r\n yield put(fetchCitiesFailure(\"Error fetching cities\"));\r\n console.log(error);\r\n }\r\n}\r\n\r\nexport function* advertsSaga() {\r\n yield takeLatest(fetchAdvertsStart.type, fetchAdvertsAsync);\r\n yield takeLatest(fetchAdvertDetailsStart.type, fetchAdvertDetailsAsync);\r\n yield takeLatest(fetchCitiesStart.type, fetchCitiesAsync);\r\n}\r\n","import {all} from 'redux-saga/effects';\r\n\r\nimport {advertsSaga} from './adverts/sagas';\r\n\r\nexport default function* rootSaga() {\r\n yield all([advertsSaga()]);\r\n}\r\n","import {configureStore} from '@reduxjs/toolkit';\r\nimport createSagaMiddleware from 'redux-saga';\r\nimport {rootReducer} from './rootReducer';\r\nimport rootSaga from './rootSaga';\r\n\r\nconst createStore = () => {\r\n const sagaMiddleware = createSagaMiddleware();\r\n const store = configureStore({\r\n reducer: rootReducer,\r\n middleware: (getDefaultMiddleware) => getDefaultMiddleware().concat(sagaMiddleware)\r\n });\r\n sagaMiddleware.run(rootSaga);\r\n return store;\r\n};\r\n\r\nexport default createStore;","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"palette\";\nconst pathData = \"M314 32q52 0 89.5 18T465 97t35.5 65.5T512 236q0 35-15.5 70T448 373q-21 20-47 39t-53.5 34-54.5 24.5-51 9.5q-33 0-54-22t-21-76q0-9 1-20t1-23q0-19-9-28.5t-21-9.5q-16 0-28 14.5t-23 32-22.5 32T38 394q-13 0-25.5-21T0 303q0-55 26-103.5T95.5 114 195 55t116-23h3zm112 317q54-49 54-113 0-30-9-60.5T442.5 120t-51-40.5T314 64h-3q-55 1-105.5 21t-89 53.5-61.5 76T32 303q0 23 3 36.5t6 19.5q5-5 10.5-13.5T61 330q6-10 13.5-21t17-20 21-14.5T139 269q23 0 42.5 17.5T201 339q0 7-.5 13.5T200 365q-1 5-1 9v8q0 25 4.5 38.5t11 19.5 14 7 13.5 1q20 0 44-8.5t48.5-22.5 48.5-32 43-36zM160 160q13 0 22.5 9t9.5 23q0 13-9.5 22.5T160 224q-14 0-23-9.5t-9-22.5q0-14 9-23t23-9zm256 0q0 13-9.5 22.5T384 192q-14 0-23-9.5t-9-22.5q0-14 9-23t23-9q13 0 22.5 9t9.5 23zm0 64q13 0 22.5 9t9.5 23q0 13-9.5 22.5T416 288q-14 0-23-9.5t-9-22.5q0-14 9-23t23-9zM272 96q20 0 34 14t14 34-14 34-34 14-34-14-14-34 14-34 34-14zm16 224q13 0 22.5 9t9.5 23q0 13-9.5 22.5T288 384q-14 0-23-9.5t-9-22.5q0-14 9-23t23-9z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v4\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v4/palette\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"palette\";\nconst pathData = \"M252 0q51 0 98 19.5T433 72t57.5 76.5T512 240q0 47-22.5 79.5T422 352H313q-21 0-29 10t-8 21q0 2 .5 7.5t3.5 11 9 10 17 4.5q20 0 33 13t13 31q0 14-9 25.5T322 502q-31 10-66 10-53 0-99.5-20.5T75 436t-55-82-20-99q0-53 20.5-99.5t55-81 80-54.5T252 0zm170 301q22 0 31-16.5t9-36.5q0-18-6.5-39t-17-41-22.5-37-24-29q-24-23-59.5-37T257 51q-43 0-80.5 16.5t-65.5 44T67 176t-16 79 16.5 79.5T112 400t65.5 44.5T256 461l19-1q-26-11-38.5-32T224 384q0-32 22.5-57.5T311 301h111zM192 96q13 0 22.5 9t9.5 23-9.5 23-22.5 9q-14 0-23-9t-9-23 9-23 23-9zm128 0q13 0 22.5 9t9.5 23-9.5 23-22.5 9q-14 0-23-9t-9-23 9-23 23-9zm-192 96q13 0 22.5 9t9.5 23-9 23-23 9-23-9-9-23 9.5-23 22.5-9zm256 0q13 0 22.5 9t9.5 23-9 23-23 9q-13 0-22.5-9t-9.5-23 9.5-23 22.5-9z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v5\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v5/palette\";\nexport { pathData, ltr, accData };","import { isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { pathData as pathDatav4, ltr, accData } from \"./v4/palette.js\";\nimport { pathData as pathDatav5 } from \"./v5/palette.js\";\n\nconst pathData = isLegacyThemeFamily() ? pathDatav4 : pathDatav5;\n\nexport default \"palette\";\nexport { pathData, ltr, accData };","/* eslint no-unused-vars: 0 */\nimport { html, svg, repeat, classMap, styleMap, ifDefined, unsafeHTML, scopeTag } from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\timport type ToggleButton from \"../../ToggleButton.js\";\n\timport type { ClassMapValue } from \"@ui5/webcomponents-base/dist/types.js\";\n\t\nfunction block0 (this: ToggleButton, context: UI5Element, tags: string[], suffix: string | undefined) { return html` `;}\nfunction block1 (this: ToggleButton, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-icon\", tags, suffix)} class=\"ui5-button-icon\" name=\"${ifDefined(this.icon)}\" accessible-role=\"${ifDefined(this.iconRole)}\" part=\"icon\" ?show-tooltip=${this.showIconTooltip}>` : html``;}\nfunction block2 (this: ToggleButton, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ifDefined(this.buttonTypeText)}`;}\n\n\nexport default block0;","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents\",fileName:\"themes/ToggleButton.css.ts\",content:`:host(:not([hidden])){display:inline-block}:host([design=\"Emphasized\"]:not([pressed])){text-shadow:var(--_ui5-v1-22-0-rc-3_toggle_button_emphasized_text_shadow)}:host([pressed]),:host([design=\"Default\"][pressed]),:host([design=\"Transparent\"][pressed]),:host([design=\"Emphasized\"][pressed]){background:var(--sapButton_Selected_Background);border-color:var(--sapButton_Selected_BorderColor);color:var(--sapButton_Selected_TextColor);text-shadow:none}:host([pressed]:hover),:host([pressed]:not([active]):not([non-interactive]):not([_is-touch]):hover),:host([design=\"Default\"][pressed]:hover),:host([design=\"Default\"][pressed]:not([active]):not([non-interactive]):not([_is-touch]):hover),:host([design=\"Transparent\"][pressed]:hover),:host([design=\"Transparent\"][pressed]:not([active]):not([non-interactive]):not([_is-touch]):hover),:host([design=\"Emphasized\"][pressed]:hover),:host([design=\"Emphasized\"][pressed]:not([active]):not([non-interactive]):not([_is-touch]):hover){background:var(--sapButton_Selected_Hover_Background);border-color:var(--sapButton_Selected_Hover_BorderColor);color:var(--sapButton_Selected_TextColor)}:host([active][focused]),:host([design=\"Default\"][active][focused]),:host([design=\"Transparent\"][active][focused]),:host([design=\"Emphasized\"][active][focused]){background:var(--sapButton_Active_Background);border-color:var(--sapButton_Active_BorderColor);color:var(--sapButton_Selected_TextColor)}:host([pressed]:not([active]):not([non-interactive]):not([_is-touch])),:host([design=\"Default\"][pressed]:not([active]):not([non-interactive]):not([_is-touch])),:host([design=\"Transparent\"][pressed]:not([active]):not([non-interactive]):not([_is-touch])),:host([design=\"Emphasized\"][pressed]:not([active]):not([non-interactive]):not([_is-touch])){background:var(--sapButton_Selected_Background);border-color:var(--sapButton_Selected_BorderColor);color:var(--sapButton_Selected_TextColor)}:host([design=\"Negative\"][pressed]){background:var(--sapButton_Reject_Selected_Background);border-color:var(--sapButton_Reject_Selected_BorderColor);color:var(--sapButton_Reject_Selected_TextColor)}:host([design=\"Negative\"][active][focused]){background:var(--sapButton_Reject_Active_Background);border-color:var(--sapButton_Reject_Active_BorderColor);color:var(--sapButton_Reject_Active_TextColor)}:host([design=\"Negative\"][pressed][active]:hover),:host([design=\"Negative\"][pressed]:not([active]):not([non-interactive]):not([_is-touch]):hover){background:var(--sapButton_Reject_Selected_Hover_Background);border-color:var(--sapButton_Reject_Selected_Hover_BorderColor);color:var(--sapButton_Reject_Selected_TextColor)}:host([design=\"Negative\"][pressed]:not([active]):not([non-interactive]):not([_is-touch])){background:var(--sapButton_Reject_Selected_Background);border-color:var(--sapButton_Reject_Selected_BorderColor);color:var(--sapButton_Reject_Selected_TextColor)}:host([design=\"Positive\"][pressed]){background:var(--sapButton_Accept_Selected_Background);border-color:var(--sapButton_Accept_Selected_BorderColor);color:var(--sapButton_Accept_Selected_TextColor)}:host([design=\"Positive\"][active][focused]){background:var(--sapButton_Accept_Active_Background);border-color:var(--sapButton_Accept_Active_BorderColor);color:var(--sapButton_Accept_Selected_TextColor)}:host([design=\"Positive\"][pressed][active]:hover),:host([design=\"Positive\"][pressed]:not([active]):not([non-interactive]):not([_is-touch]):hover){background:var(--sapButton_Accept_Selected_Hover_Background);border-color:var(--sapButton_Accept_Selected_Hover_BorderColor);color:var(--sapButton_Accept_Selected_TextColor)}:host([design=\"Positive\"][pressed]:not([active]):not([non-interactive]):not([_is-touch])){background:var(--sapButton_Accept_Selected_Background);border-color:var(--sapButton_Accept_Selected_BorderColor);color:var(--sapButton_Accept_Selected_TextColor)}:host([design=\"Attention\"][pressed]){background:var(--sapButton_Attention_Selected_Background);border-color:var(--sapButton_Attention_Selected_BorderColor);color:var(--sapButton_Attention_Selected_TextColor)}:host([design=\"Attention\"][active][focused]){background:var(--sapButton_Attention_Active_Background);border-color:var(--sapButton_Attention_Active_BorderColor);color:var(--sapButton_Attention_Active_TextColor)}:host([design=\"Attention\"][pressed][active]:hover),:host([design=\"Attention\"][pressed]:not([active]):not([non-interactive]):not([_is-touch]):hover){background:var(--sapButton_Attention_Selected_Hover_Background);border-color:var(--sapButton_Attention_Selected_Hover_BorderColor);color:var(--sapButton_Attention_Selected_TextColor)}:host([design=\"Attention\"][pressed]:not([active]):not([non-interactive]):not([_is-touch])){background:var(--sapButton_Attention_Selected_Background);border-color:var(--sapButton_Attention_Selected_BorderColor);color:var(--sapButton_Attention_Selected_TextColor)}\n`};\nexport default styleData;\n\t","import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\n\nimport { isSpaceShift } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isSafari } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport Button from \"./Button.js\";\nimport ToggleButtonTemplate from \"./generated/templates/ToggleButtonTemplate.lit.js\";\n\n// Styles\nimport toggleBtnCss from \"./generated/themes/ToggleButton.css.js\";\n\n/**\n * @class\n *\n *

    Overview

    \n *\n * The ui5-toggle-button component is an enhanced ui5-button\n * that can be toggled between pressed and normal states.\n * Users can use the ui5-toggle-button as a switch to turn a setting on or off.\n * It can also be used to represent an independent choice similar to a check box.\n *

    \n * Clicking or tapping on a ui5-toggle-button changes its state to pressed. The button returns to\n * its initial state when the user clicks or taps on it again.\n * By applying additional custom CSS-styling classes, apps can give a different style to any ui5-toggle-button.\n *\n *

    ES6 Module Import

    \n *\n * import \"@ui5/webcomponents/dist/ToggleButton\";\n *\n * @constructor\n * @extends Button\n * @public\n */\n@customElement({\n\ttag: \"ui5-toggle-button\",\n\ttemplate: ToggleButtonTemplate,\n\tstyles: [Button.styles, toggleBtnCss],\n})\nclass ToggleButton extends Button {\n\t/**\n\t * Determines whether the component is displayed as pressed.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tpressed!: boolean;\n\n\t_onclick() {\n\t\tthis.pressed = !this.pressed;\n\n\t\tif (isSafari()) {\n\t\t\tthis.getDomRef()!.focus();\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpaceShift(e)) {\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tsuper._onkeyup(e);\n\t}\n}\n\nToggleButton.define();\n\nexport default ToggleButton;\n","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\nimport { ICON_SEARCH } from \"../generated/i18n/i18n-defaults.js\";\n\nconst name = \"search\";\nconst pathData = \"M470 426q10 9 10 22.5T470 471q-9 9-22 9t-23-9L308 353q-45 31-100 31-36 0-68-13.5T84 333t-38-56-14-69q0-36 14-68t38-56 56-38 68-14 68 14 56 38 38 56 14 68q0 28-8.5 53T353 308zm-262-74q30 0 56-11t45.5-30.5 31-46T352 208t-11.5-56-31-45.5-45.5-31T208 64t-56.5 11.5-46 31T75 152t-11 56 11 56.5 30.5 46 46 30.5 56.5 11z\";\nconst ltr = true;\nconst accData = ICON_SEARCH;\nconst collection = \"SAP-icons-v4\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, accData, collection, packageName });\n\nexport default \"SAP-icons-v4/search\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\nimport { ICON_SEARCH } from \"../generated/i18n/i18n-defaults.js\";\n\nconst name = \"search\";\nconst pathData = \"M473 436q7 7 7 18t-7.5 18.5T454 480q-10 0-18-8l-95-95q-51 39-117 39-40 0-75-15t-61-41-41-61-15-75 15-75 41-61 61-41 75-15 75 15 61 41 41 61 15 75q0 64-39 117zM83 224q0 30 11 55.5t30 44.5 44.5 30 55.5 11 55.5-11 44.5-30 30-44.5 11-55.5-11-55.5-30-44.5-44.5-30T224 83t-55.5 11-44.5 30-30 44.5T83 224z\";\nconst ltr = true;\nconst accData = ICON_SEARCH;\nconst collection = \"SAP-icons-v5\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, accData, collection, packageName });\n\nexport default \"SAP-icons-v5/search\";\nexport { pathData, ltr, accData };","import { isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { pathData as pathDatav4, ltr, accData } from \"./v4/search.js\";\nimport { pathData as pathDatav5 } from \"./v5/search.js\";\n\nconst pathData = isLegacyThemeFamily() ? pathDatav4 : pathDatav5;\n\nexport default \"search\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"bell\";\nconst pathData = \"M32 416q0-7 15-21t31-40.5 25.5-67.5-1.5-101q-5-29 3-54.5t25-45 42-33T225 35q0-15 7-25t24-10q14 0 22.5 9t8.5 26q26 5 50 18t41 33 24.5 45.5T404 186q-12 60-1.5 101t27.5 67.5 33.5 40.5 16.5 21q0 14-9 23t-23 9H320q0 26-19 45t-45 19-45-19-19-45H64q-14 0-23-9t-9-23zm39 0h369q-10-11-25.5-30.5t-28-48.5-18-68 4.5-89q5-25-2.5-44T354 106q-19-23-42-32.5T256 64q-32 0-57.5 9.5T154 106q-10 11-18 30t-3 44q9 50 4 89t-16 68-25.5 48.5T71 416z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v4\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v4/bell\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"bell\";\nconst pathData = \"M475 374q5 7 5 16 0 11-7 18.5t-18 7.5H334q-5 27-27 45.5T256 480t-51-18.5-27-45.5H58q-11 0-18.5-7.5T32 390q0-10 6-16 1-1 8-9.5T61 341t14.5-35.5T82 260v-20q0-100 45-154t129-54 129.5 54T431 240v20q0 25 6.5 45.5T452 341t15 23.5 8 9.5zm-69-9q-11-20-19-46.5t-8-58.5v-20q0-32-5.5-60t-20-50-38-34.5T256 83t-59.5 12.5-38 34.5-20 50-5.5 60v20q0 32-8 58.5T106 365h300z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v5\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v5/bell\";\nexport { pathData, ltr, accData };","import { isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { pathData as pathDatav4, ltr, accData } from \"./v4/bell.js\";\nimport { pathData as pathDatav5 } from \"./v5/bell.js\";\n\nconst pathData = isLegacyThemeFamily() ? pathDatav4 : pathDatav5;\n\nexport default \"bell\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\nimport { ICON_OVERFLOW } from \"../generated/i18n/i18n-defaults.js\";\n\nconst name = \"overflow\";\nconst pathData = \"M448 192q26 0 45 19t19 45-19 45-45 19-45-19-19-45 19-45 45-19zm0 96q14 0 23-9t9-23-9-23-23-9-23 9-9 23 9 23 23 9zm-192-96q26 0 45 19t19 45-19 45-45 19-45-19-19-45 19-45 45-19zm0 96q14 0 23-9t9-23-9-23-23-9-23 9-9 23 9 23 23 9zM64 192q26 0 45 19t19 45-19 45-45 19-45-19-19-45 19-45 45-19zm0 96q14 0 23-9t9-23-9-23-23-9-23 9-9 23 9 23 23 9z\";\nconst ltr = false;\nconst accData = ICON_OVERFLOW;\nconst collection = \"SAP-icons-v4\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, accData, collection, packageName });\n\nexport default \"SAP-icons-v4/overflow\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\nimport { ICON_OVERFLOW } from \"../generated/i18n/i18n-defaults.js\";\n\nconst name = \"overflow\";\nconst pathData = \"M64 192q26 0 45 19t19 45-19 45-45 19-45-19-19-45 19-45 45-19zm192 0q26 0 45 19t19 45-19 45-45 19-45-19-19-45 19-45 45-19zm192 0q26 0 45 19t19 45-19 45-45 19-45-19-19-45 19-45 45-19z\";\nconst ltr = false;\nconst accData = ICON_OVERFLOW;\nconst collection = \"SAP-icons-v5\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, accData, collection, packageName });\n\nexport default \"SAP-icons-v5/overflow\";\nexport { pathData, ltr, accData };","import { isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { pathData as pathDatav4, ltr, accData } from \"./v4/overflow.js\";\nimport { pathData as pathDatav5 } from \"./v5/overflow.js\";\n\nconst pathData = isLegacyThemeFamily() ? pathDatav4 : pathDatav5;\n\nexport default \"overflow\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"grid\";\nconst pathData = \"M394 362h55q14 0 22.5 9t8.5 23v54q0 14-8.5 23t-22.5 9h-55q-14 0-22.5-9t-8.5-23v-54q0-14 8.5-23t22.5-9zM228 197h55q14 0 22.5 9t8.5 23v54q0 13-9 22.5t-22 9.5h-55q-13 0-22-9.5t-9-22.5v-54q0-14 8.5-23t22.5-9zm135-79V64q0-14 8.5-23t22.5-9h55q14 0 22.5 9t8.5 23v54q0 13-9 22.5t-22 9.5h-55q-13 0-22-9.5t-9-22.5zm31 79h55q14 0 22.5 9t8.5 23v54q0 13-9 22.5t-22 9.5h-55q-13 0-22-9.5t-9-22.5v-54q0-14 8.5-23t22.5-9zM63 32h55q14 0 22.5 9t8.5 23v54q0 13-9 22.5t-22 9.5H63q-13 0-22-9.5T32 118V64q0-14 8.5-23T63 32zM32 229q0-14 8.5-23t22.5-9h55q14 0 22.5 9t8.5 23v54q0 13-9 22.5t-22 9.5H63q-13 0-22-9.5T32 283v-54zm31 133h55q14 0 22.5 9t8.5 23v54q0 13-9 22.5t-22 9.5H63q-13 0-22-9.5T32 448v-54q0-14 8.5-23t22.5-9zM228 32h55q14 0 22.5 9t8.5 23v54q0 13-9 22.5t-22 9.5h-55q-13 0-22-9.5t-9-22.5V64q0-14 8.5-23t22.5-9zm-31 362q0-14 8.5-23t22.5-9h55q14 0 22.5 9t8.5 23v54q0 13-9 22.5t-22 9.5h-55q-13 0-22-9.5t-9-22.5v-54z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v4\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v4/grid\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"grid\";\nconst pathData = \"M80 128q-20 0-34-14T32 80t14-34 34-14 34 14 14 34-14 34-34 14zm176 0q-20 0-34-14t-14-34 14-34 34-14 34 14 14 34-14 34-34 14zm176 0q-20 0-34-14t-14-34 14-34 34-14 34 14 14 34-14 34-34 14zM80 208q20 0 34 14t14 34-14 34-34 14-34-14-14-34 14-34 34-14zm176 0q20 0 34 14t14 34-14 34-34 14-34-14-14-34 14-34 34-14zm176 0q20 0 34 14t14 34-14 34-34 14-34-14-14-34 14-34 34-14zM80 384q20 0 34 14t14 34-14 34-34 14-34-14-14-34 14-34 34-14zm176 0q20 0 34 14t14 34-14 34-34 14-34-14-14-34 14-34 34-14zm176 0q20 0 34 14t14 34-14 34-34 14-34-14-14-34 14-34 34-14z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v5\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v5/grid\";\nexport { pathData, ltr, accData };","import { isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { pathData as pathDatav4, ltr, accData } from \"./v4/grid.js\";\nimport { pathData as pathDatav5 } from \"./v5/grid.js\";\n\nconst pathData = isLegacyThemeFamily() ? pathDatav4 : pathDatav5;\n\nexport default \"grid\";\nexport { pathData, ltr, accData };","/* eslint no-unused-vars: 0 */\nimport { html, svg, repeat, classMap, styleMap, ifDefined, unsafeHTML, scopeTag } from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\timport type ShellBar from \"../../ShellBar.js\";\n\timport type { ClassMapValue } from \"@ui5/webcomponents-base/dist/types.js\";\n\t\nfunction block0 (this: ShellBar, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`
    ${ this.startButton.length ? block1.call(this, context, tags, suffix) : undefined }${ this.hasMenuItems ? block2.call(this, context, tags, suffix) : undefined }${ !this.hasMenuItems ? block8.call(this, context, tags, suffix) : undefined }${ this.secondaryTitle ? block11.call(this, context, tags, suffix) : undefined }
    ${ this._isXXLBreakpoint ? block12.call(this, context, tags, suffix) : undefined }
    ${ !this._isXXLBreakpoint ? block14.call(this, context, tags, suffix) : undefined }${ this.showCoPilot ? block18.call(this, context, tags, suffix) : undefined }${ repeat(this.customItemsInfo, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block19.call(this, context, tags, suffix, item, index)) }${ this.showNotifications ? block20.call(this, context, tags, suffix) : undefined }<${scopeTag(\"ui5-button\", tags, suffix)} id=\"${ifDefined(this._id)}-item-5\" style=\"${styleMap(this.styles.items.overflow)}\" class=\"${classMap(this.classes.items.overflow as ClassMapValue)} ui5-shellbar-button ui5-shellbar-overflow-button-shown ui5-shellbar-overflow-button\" icon=\"sap-icon://overflow\" @click=\"${this._handleOverflowPress}\" tooltip=\"${ifDefined(this._overflowText)}\" .accessibilityAttributes=${ifDefined(this.accInfo.overflow.accessibilityAttributes)} data-ui5-stable=\"overflow\">${ this.hasProfile ? block21.call(this, context, tags, suffix) : undefined }${ this.showProductSwitch ? block22.call(this, context, tags, suffix) : undefined }
    ` : html`
    ${ this.startButton.length ? block1.call(this, context, tags, suffix) : undefined }${ this.hasMenuItems ? block2.call(this, context, tags, suffix) : undefined }${ !this.hasMenuItems ? block8.call(this, context, tags, suffix) : undefined }${ this.secondaryTitle ? block11.call(this, context, tags, suffix) : undefined }
    ${ this._isXXLBreakpoint ? block12.call(this, context, tags, suffix) : undefined }
    ${ !this._isXXLBreakpoint ? block14.call(this, context, tags, suffix) : undefined }${ this.showCoPilot ? block18.call(this, context, tags, suffix) : undefined }${ repeat(this.customItemsInfo, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block19.call(this, context, tags, suffix, item, index)) }${ this.showNotifications ? block20.call(this, context, tags, suffix) : undefined }${ this.hasProfile ? block21.call(this, context, tags, suffix) : undefined }${ this.showProductSwitch ? block22.call(this, context, tags, suffix) : undefined }
    `;}\nfunction block1 (this: ShellBar, context: UI5Element, tags: string[], suffix: string | undefined) { return html``;}\nfunction block2 (this: ShellBar, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ !this.showLogoInMenuButton ? block3.call(this, context, tags, suffix) : undefined }${ this.showTitleInMenuButton ? block4.call(this, context, tags, suffix) : undefined }${ this.showMenuButton ? block5.call(this, context, tags, suffix) : undefined }`;}\nfunction block3 (this: ShellBar, context: UI5Element, tags: string[], suffix: string | undefined) { return html``;}\nfunction block4 (this: ShellBar, context: UI5Element, tags: string[], suffix: string | undefined) { return html`

    ${ifDefined(this.primaryTitle)}

    `;}\nfunction block5 (this: ShellBar, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`` : html``;}\nfunction block6 (this: ShellBar, context: UI5Element, tags: string[], suffix: string | undefined) { return html``;}\nfunction block7 (this: ShellBar, context: UI5Element, tags: string[], suffix: string | undefined) { return html`
    ${ifDefined(this.primaryTitle)}
    `;}\nfunction block8 (this: ShellBar, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.hasLogo ? block9.call(this, context, tags, suffix) : undefined }${ this.primaryTitle ? block10.call(this, context, tags, suffix) : undefined }`;}\nfunction block9 (this: ShellBar, context: UI5Element, tags: string[], suffix: string | undefined) { return html``;}\nfunction block10 (this: ShellBar, context: UI5Element, tags: string[], suffix: string | undefined) { return html`

    ${ifDefined(this.primaryTitle)}

    `;}\nfunction block11 (this: ShellBar, context: UI5Element, tags: string[], suffix: string | undefined) { return html`

    ${ifDefined(this.secondaryTitle)}

    `;}\nfunction block12 (this: ShellBar, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.hasSearchField ? block13.call(this, context, tags, suffix) : undefined }`;}\nfunction block13 (this: ShellBar, context: UI5Element, tags: string[], suffix: string | undefined) { return html``;}\nfunction block14 (this: ShellBar, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.hasSearchField ? block15.call(this, context, tags, suffix) : undefined }`;}\nfunction block15 (this: ShellBar, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`${ this._fullWidthSearch ? block16.call(this, context, tags, suffix) : undefined }
    ${ !this._fullWidthSearch ? block17.call(this, context, tags, suffix) : undefined }
    <${scopeTag(\"ui5-button\", tags, suffix)} id=\"${ifDefined(this._id)}-item-1\" class=\"${classMap(this.classes.items.search as ClassMapValue)} ui5-shellbar-button ui5-shellbar-search-button\" icon=\"sap-icon://search\" data-ui5-text=\"Search\" data-ui5-notifications-count=\"${ifDefined(this.notificationsCount)}\" data-ui5-stable=\"toggle-search\" @click=${this._handleSearchIconPress} tooltip=\"${ifDefined(this._searchText)}\" .accessibilityAttributes=${ifDefined(this.accInfo.search.accessibilityAttributes)}>` : html`${ this._fullWidthSearch ? block16.call(this, context, tags, suffix) : undefined }
    ${ !this._fullWidthSearch ? block17.call(this, context, tags, suffix) : undefined }
    `;}\nfunction block16 (this: ShellBar, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`
    <${scopeTag(\"ui5-button\", tags, suffix)} @click=${this._handleCancelButtonPress} class=\"ui5-shellbar-button\" data-ui5-stable=\"cancel-search\">${ifDefined(this._cancelBtnText)}
    ` : html`
    ${ifDefined(this._cancelBtnText)}
    `;}\nfunction block17 (this: ShellBar, context: UI5Element, tags: string[], suffix: string | undefined) { return html``;}\nfunction block18 (this: ShellBar, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-button\", tags, suffix)} id=\"${ifDefined(this._id)}-item-coPilot\" @click=${this._coPilotClick} tooltip=\"${ifDefined(this._copilotText)}\" class=\"${classMap(this.classes.items.copilot as ClassMapValue)} ui5-shellbar-button ui5-shellbar-coPilot\" icon=${ifDefined(this._coPilotIcon)} design=\"Transparent\" data-ui5-stable=\"copilot\" />` : html``;}\nfunction block19 (this: ShellBar, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return suffix ? html`<${scopeTag(\"ui5-button\", tags, suffix)} id=\"${ifDefined(item.id)}\" style=\"${styleMap(item.styles)}\" class=\"${ifDefined(item.classes)}\" icon=\"${ifDefined(item.icon)}\" tooltip=\"${ifDefined(item.title)}\" data-count=\"${ifDefined(item.count)}\" data-ui5-notifications-count=\"${ifDefined(this.notificationsCount)}\" data-ui5-external-action-item-id=\"${ifDefined(item.refItemid)}\" data-ui5-stable=\"${ifDefined(item.stableDomRef)}\" @click=${item.press}>` : html``;}\nfunction block20 (this: ShellBar, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-button\", tags, suffix)} id=\"${ifDefined(this._id)}-item-2\" style=\"${styleMap(this.styles.items.notification)}\" class=\"${classMap(this.classes.items.notification as ClassMapValue)} ui5-shellbar-button ui5-shellbar-bell-button\" icon=\"sap-icon://bell\" data-ui5-text=\"Notifications\" data-ui5-notifications-count=\"${ifDefined(this.notificationsCount)}\" @click=${this._handleNotificationsPress} tooltip=\"${ifDefined(this._notificationsText)}\" .accessibilityAttributes=${ifDefined(this.accInfo.notifications.accessibilityAttributes)} data-ui5-stable=\"notifications\">` : html``;}\nfunction block21 (this: ShellBar, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-button\", tags, suffix)} profile-btn id=\"${ifDefined(this._id)}-item-3\" @click=${this._handleProfilePress} style=\"${styleMap(this.styles.items.profile)}\" tooltip=\"${ifDefined(this._profileText)}\" class=\"ui5-shellbar-button ui5-shellbar-image-button\" .accessibilityAttributes=${ifDefined(this.accInfo.profile.accessibilityAttributes)} data-ui5-stable=\"profile\">` : html``;}\nfunction block22 (this: ShellBar, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-button\", tags, suffix)} id=\"${ifDefined(this._id)}-item-4\" style=\"${styleMap(this.styles.items.product)}\" class=\"${classMap(this.classes.items.product as ClassMapValue)} ui5-shellbar-button ui5-shellbar-button-product-switch\" icon=\"sap-icon://grid\" data-ui5-text=\"Product Switch\" @click=${this._handleProductSwitchPress} tooltip=\"${ifDefined(this._productsText)}\" .accessibilityAttributes=${ifDefined(this.accInfo.products.accessibilityAttributes)} data-ui5-stable=\"product-switch\">` : html``;}\n\n\nexport default block0;","/* eslint no-unused-vars: 0 */\nimport { html, svg, repeat, classMap, styleMap, ifDefined, unsafeHTML, scopeTag } from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\ttype ShellBarPopover = any;\n\timport type { ClassMapValue } from \"@ui5/webcomponents-base/dist/types.js\";\n\t\nfunction block0 (this: ShellBarPopover, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag(\"ui5-popover\", tags, suffix)} class=\"ui5-shellbar-menu-popover\" hide-arrow placement-type=\"Bottom\" @ui5-before-open=${ifDefined(this._menuPopoverBeforeOpen)} @ui5-after-close=${ifDefined(this._menuPopoverAfterClose)}><${scopeTag(\"ui5-list\", tags, suffix)} separators=\"None\" mode=\"SingleSelect\" @ui5-selection-change=${ifDefined(this._menuItemPress)}>${ repeat(this._menuPopoverItems, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block1.call(this, context, tags, suffix, item, index)) }<${scopeTag(\"ui5-popover\", tags, suffix)} class=\"ui5-shellbar-overflow-popover\" placement-type=\"Bottom\" horizontal-align=\"${ifDefined(this.popoverHorizontalAlign)}\" hide-arrow @ui5-before-open=${ifDefined(this._overflowPopoverBeforeOpen)} @ui5-after-close=${ifDefined(this._overflowPopoverAfterClose)}><${scopeTag(\"ui5-list\", tags, suffix)} separators=\"None\" @ui5-item-click=\"${ifDefined(this._handleActionListClick)}\">${ repeat(this._hiddenIcons, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block2.call(this, context, tags, suffix, item, index)) }` : html`${ repeat(this._menuPopoverItems, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block1.call(this, context, tags, suffix, item, index)) }${ repeat(this._hiddenIcons, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block2.call(this, context, tags, suffix, item, index)) }`;}\nfunction block1 (this: ShellBarPopover, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`${ifDefined(item)}`;}\nfunction block2 (this: ShellBarPopover, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return suffix ? html`<${scopeTag(\"ui5-li\", tags, suffix)} data-ui5-external-action-item-id=\"${ifDefined(item.refItemid)}\" icon=\"${ifDefined(item.icon)}\" type=\"Active\" @ui5-_press=\"${ifDefined(item.press)}\">${ifDefined(item.text)}` : html`${ifDefined(item.text)}`;}\n\n\nexport default block0;","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents-fiori\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents-fiori\",fileName:\"themes/ShellBar.css.ts\",content:`.ui5-hidden-text{position:absolute;clip:rect(1px,1px,1px,1px);user-select:none;left:-1000px;top:-1000px;pointer-events:none;font-size:0}:host(:not([hidden])){display:inline-block;width:100%}:host{--_ui5-v1-22-0-rc-3_input_placeholder_color: var(--sapShell_InteractiveTextColor);--_ui5-v1-22-0-rc-3_input_border_radius: var(--_ui5-v1-22-0-rc-3_shellbar_input_border_radius);--_ui5-v1-22-0-rc-3_input_focus_border_radius: var(--_ui5-v1-22-0-rc-3_shellbar_input_focus_border_radius);--_ui5-v1-22-0-rc-3_input_background_color: var(--_ui5-v1-22-0-rc-3_shellbar_input_background_color);--_ui5-v1-22-0-rc-3_input_focus_outline_color: var(--_ui5-v1-22-0-rc-3_shellbar_input_focus_outline_color);--_ui5-v1-22-0-rc-3_input_margin_top_bottom: 0}.ui5-shellbar-root{position:relative;display:flex;justify-content:space-between;align-items:center;background:var(--sapShellColor);height:var(--_ui5-v1-22-0-rc-3_shellbar_root_height);font-family:\"72override\",var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;box-sizing:border-box}.ui5-shellbar-menu-button,.ui5-shellbar-button,.ui5-shellbar-image-button,::slotted([ui5-button][slot=\"startButton\"]){height:2.25rem;padding:0;margin-inline-start:.5rem;border:.0625rem solid var(--sapButton_Lite_BorderColor);background:var(--sapButton_Lite_Background);outline-color:var(--_ui5-v1-22-0-rc-3_shellbar_logo_outline_color);color:var(--sapShell_TextColor);box-sizing:border-box;cursor:pointer;border-radius:var(--_ui5-v1-22-0-rc-3_shellbar_button_border_radius);position:relative;font-size:.75rem;font-weight:700;white-space:initial;overflow:initial;text-overflow:initial;line-height:inherit;letter-spacing:inherit;word-spacing:inherit}::slotted([ui5-button][slot=\"startButton\"]){margin-inline-start:0}::slotted([ui5-button][slot=\"startButton\"]:hover),.ui5-shellbar-menu-button.ui5-shellbar-menu-button--interactive:hover,.ui5-shellbar-button:hover,.ui5-shellbar-image-button:hover{background:var(--sapShell_Hover_Background);border-color:var(--sapButton_Lite_Hover_BorderColor);color:var(--sapShell_TextColor)}::slotted([ui5-button][slot=\"startButton\"][active]),.ui5-shellbar-menu-button.ui5-shellbar-menu-button--interactive:active,.ui5-shellbar-button[active],.ui5-shellbar-image-button:active{background:var(--sapShell_Active_Background);border-color:var(--sapButton_Lite_Active_BorderColor);color:var(--_ui5-v1-22-0-rc-3_shellbar_button_active_color)}.ui5-shellbar-menu-button.ui5-shellbar-menu-button--interactive:focus{outline:var(--_ui5-v1-22-0-rc-3_shellbar_logo_outline);outline-offset:var(--_ui5-v1-22-0-rc-3_shellbar_outline_offset)}slot[name=profile]{min-width:0}::slotted([ui5-avatar][slot=\"profile\"]){min-width:0;width:2rem;height:2rem;padding:.25rem;pointer-events:none}.ui5-shellbar-menu-button.ui5-shellbar-menu-button--interactive::-moz-focus-inner{border:none}.ui5-shellbar-menu-button-arrow,.ui5-shellbar-menu-button-title,.ui5-shellbar-title{display:inline-block;font-family:\"72override\",var(--sapFontFamily);margin:0;font-size:var(--_ui5-v1-22-0-rc-3_shellbar_menu_button_title_font_size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--sapShell_TextColor);flex:auto}:host(:not([primary-title])) .ui5-shellbar-menu-button{min-width:2.25rem;justify-content:center}.ui5-shellbar-secondary-title{display:inline-block;font-size:var(--sapFontSmallSize);color:var(--sapShell_TextColor);line-height:1rem;font-weight:400;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ui5-shellbar-menu-button--interactive .ui5-shellbar-menu-button-arrow{margin-inline-start:.375rem}.ui5-shellbar-overflow-container{display:flex;justify-content:center;align-items:center;height:100%;overflow:hidden}.ui5-shellbar-overflow-container-middle{align-self:center;height:var(--_ui5-v1-22-0-rc-3_shellbar_overflow_container_middle_height);width:0;flex-shrink:0;width:7.5rem}:host([breakpoint-size=\"S\"]) .ui5-shellbar-overflow-container-middle{width:0}:host([breakpoint-size=\"XXL\"]) .ui5-shellbar-with-searchfield .ui5-shellbar-overflow-container-middle{width:35rem}:host([breakpoint-size=\"S\"]) .ui5-shellbar-overflow-container-left{flex-shrink:0}:host([breakpoint-size=\"S\"]) .ui5-shellbar-menu-button{margin-inline-start:0}:host([breakpoint-size=\"S\"]) .ui5-shellbar-root{padding:0 1rem}:host([breakpoint-size=\"S\"]) .ui5-shellbar-search-full-width-wrapper{padding:0 1rem}:host([breakpoint-size=\"M\"]) .ui5-shellbar-root{padding:0 2rem}:host([breakpoint-size=\"M\"]) .ui5-shellbar-search-full-width-wrapper{padding:0 2rem}:host([breakpoint-size=\"L\"]) .ui5-shellbar-root{padding:0 2rem}:host([breakpoint-size=\"XL\"]) .ui5-shellbar-root{padding:0 3rem}:host([breakpoint-size=\"XXL\"]) .ui5-shellbar-root{padding:0 3rem}.ui5-shellbar-logo{cursor:pointer;padding:.25rem;max-height:2rem}.ui5-shellbar-logo:focus{outline:var(--_ui5-v1-22-0-rc-3_shellbar_logo_outline);outline-offset:var(--_ui5-v1-22-0-rc-3_shellbar_logo_outline_offset);border-radius:var(--_ui5-v1-22-0-rc-3_shellbar_logo_border_radius)}.ui5-shellbar-logo:hover{box-shadow:var(--_ui5-v1-22-0-rc-3_shellbar_button_box_shadow);border-radius:var(--_ui5-v1-22-0-rc-3_shellbar_logo_border_radius)}.ui5-shellbar-menu-button.ui5-shellbar-menu-button--interactive:hover{box-shadow:var(--_ui5-v1-22-0-rc-3_shellbar_button_box_shadow)}.ui5-shellbar-menu-button.ui5-shellbar-menu-button--interactive:active{box-shadow:var(--_ui5-v1-22-0-rc-3_shellbar_button_box_shadow_active)}.ui5-shellbar-menu-button.ui5-shellbar-menu-button--interactive:active .ui5-shellbar-menu-button-arrow,.ui5-shellbar-menu-button.ui5-shellbar-menu-button--interactive:active .ui5-shellbar-menu-button-title{color:var(--sapShell_Active_TextColor)}.ui5-shellbar-menu-button .ui5-shellbar-logo:hover{box-shadow:none}.ui5-shellbar-button{--_ui5-v1-22-0-rc-3_button_focused_border: var(--_ui5-v1-22-0-rc-3_shellbar_button_focused_border);width:2.5rem}.ui5-shellbar-search-button{--_ui5-v1-22-0-rc-3_button_focused_border_radius: var(--_ui5-v1-22-0-rc-3_shellbar_search_button_border_radius);--_ui5-v1-22-0-rc-3_shellbar_button_border_radius: var(--_ui5-v1-22-0-rc-3_shellbar_search_button_border_radius);height:var(--_ui5-v1-22-0-rc-3_shellbar_search_button_size);width:var(--_ui5-v1-22-0-rc-3_shellbar_search_button_size);min-width:var(--_ui5-v1-22-0-rc-3_shellbar_search_button_size)}.ui5-shellbar-image-buttonImage{border-radius:50%;width:1.75rem;height:1.75rem;display:flex;background-size:cover}.ui5-shellbar-image-button{display:flex;justify-content:center;align-items:center;min-width:2.25rem;height:2.25rem;display:inline-flex;padding:0}.ui5-shellbar-overflow-container-left{padding:0 .125rem;justify-content:flex-start;margin-inline-end:.5rem;max-width:75%;flex-shrink:1;flex-grow:0}.ui5-shellbar-overflow-container-left>:nth-child(n){margin-inline-end:.5rem}:host([breakpoint-size=\"XXL\"]) .ui5-shellbar-with-searchfield .ui5-shellbar-overflow-container-left{flex-basis:50%;max-width:calc(50% - 18.25rem)}.ui5-shellbar-menu-button{white-space:nowrap;overflow:hidden;display:flex;align-items:center;padding:.25rem .5rem;cursor:text;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ui5-shellbar-menu-button.ui5-shellbar-menu-button--interactive{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer;background:var(--sapButton_Lite_Background);border:var(--_ui5-v1-22-0-rc-3_shellbar_button_border);color:var(--sapShell_TextColor)}:host(:not([with-logo])) .ui5-shellbar-menu-button{margin-inline-start:0}.ui5-shellbar-overflow-container-right{padding:0 .125rem;display:block;overflow:hidden;box-sizing:border-box;white-space:nowrap;flex:1 1 auto;max-width:100%}:host(:not([show-search-field])) .ui5-shellbar-overflow-container-right{padding-inline-start:8rem}.ui5-shellbar-overflow-container-right .ui5-shellbar-overflow-container-right-child{display:flex;justify-content:flex-end;height:inherit;align-items:center}.ui5-shellbar-overflow-container-right-child .ui5-shellbar-button[data-count]:has(+.ui5-shellbar-overflow-button):before{inset-inline-end:var(--_ui5-v1-22-0-rc-3-shellbar-notification-btn-count-offset)}.ui5-shellbar-overflow-button{display:none}:host([breakpoint-size=\"M\"]) .ui5-shellbar-secondary-title{display:none}:host([breakpoint-size=\"S\"]) .ui5-shellbar-secondary-title{display:none}:host([breakpoint-size=\"S\"]) .ui5-shellbar-overflow-container-right{padding-inline-start:0}.ui5-shellbar-overflow-button-shown{display:inline-block}.ui5-shellbar-hidden-button,.ui5-shellbar-invisible-button{visibility:hidden}:host([breakpoint-size=\"L\"]) .ui5-shellbar-with-searchfield .ui5-shellbar-overflow-container-right{padding-inline-start:1rem}:host([breakpoint-size=\"XL\"]) .ui5-shellbar-with-searchfield .ui5-shellbar-overflow-container-right{padding-inline-start:1rem}:host(:not([notifications-count])) .ui5-shellbar-bell-button{position:relative}:host([notifications-count]:not([notifications-count=\"\"])) .ui5-shellbar-bell-button:before,.ui5-shellbar-button[data-count]:before{position:absolute;width:auto;height:1rem;min-width:1rem;background:var(--sapContent_BadgeBackground);border:var(--_ui5-v1-22-0-rc-3_shellbar_button_badge_border);color:var(--sapContent_BadgeTextColor);top:-.25rem;right:-.25rem;padding:0 .3125rem;border-radius:.5rem;display:flex;justify-content:center;align-items:center;font-size:var(--sapFontSmallSize);font-family:\"72override\",var(--sapFontFamily);z-index:2;box-sizing:border-box}:host([notifications-count]:not([notifications-count=\"\"])) .ui5-shellbar-bell-button:before{content:attr(data-ui5-notifications-count);inset-inline-end:var(--_ui5-v1-22-0-rc-3-shellbar-notification-btn-count-offset)}.ui5-shellbar-button[data-count]:before{content:attr(data-count)}.ui5-shellbar-menu-button{margin-inline-start:.5rem}.ui5-shellbar-search-field{align-items:center;flex-grow:1;min-width:240px;margin-inline-start:.5rem;max-width:25rem}.ui5-shellbar-search-full-width-wrapper .ui5-shellbar-search-full-field{height:2.25rem;width:100%}.ui5-shellbar-search-full-width-wrapper{position:absolute;top:0;left:0;background:var(--sapShellColor);height:100%;width:100%;z-index:100;display:flex;align-items:center;box-sizing:border-box}.ui5-shellbar-search-full-width-wrapper .ui5-shellbar-button{width:auto}::slotted([ui5-input]){background:var(--_ui5-v1-22-0-rc-3_shellbar_search_field_background);border:var(--_ui5-v1-22-0-rc-3_shellbar_search_field_border);box-shadow:var(--_ui5-v1-22-0-rc-3_shellbar_search_field_box_shadow);color:var(--_ui5-v1-22-0-rc-3_shellbar_search_field_color);height:2.25rem;width:100%}::slotted([ui5-input]:hover){background:var(--_ui5-v1-22-0-rc-3_shellbar_search_field_background_hover);box-shadow:var(--_ui5-v1-22-0-rc-3_shellbar_search_field_box_shadow_hover)}::slotted([ui5-input][focused]){outline:var(--_ui5-v1-22-0-rc-3_shellbar_search_field_outline_focused)}::slotted([slot=\"logo\"]){max-height:2rem;pointer-events:none}.ui5-shellbar-co-pilot-placeholder{width:2.75rem;height:2.75rem}::slotted([ui5-button][slot=\"startButton\"]){margin-inline:0 .5rem;justify-content:center;align-items:center}::slotted([ui5-button][profile-btn]){width:auto}\n`};\nexport default styleData;\n\t","import type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@ui5/webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@ui5/webcomponents-fiori\", \"sap_horizon\", async () => defaultTheme);\n\nconst styleData: StyleData = {packageName:\"@ui5/webcomponents-fiori\",fileName:\"themes/ShellBarPopover.css.ts\",content:`.ui5-shellbar-menu-popover::part(content),.ui5-shellbar-overflow-popover::part(content){padding:0}.ui5-shellbar-overflow-popover [ui5-li]::part(icon){color:var(--sapList_TextColor)}\n`};\nexport default styleData;\n\t","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"da\";\nconst pathData = \"M36 163l220 305 221-306-89-130H137zm220 349q-8 0-13-7L3 172q-3-5-3-10t3-9L117 6q5-6 12-6h267q9 0 13 7l100 146q3 4 3 9t-3 10L269 505q-5 7-13 7zm120-326q-26 9-39.5 22.5T315 248q-3 8-11 8t-11-8q-8-26-21.5-39.5T232 186q-8-2-8-10t8-11q26-9 39.5-22.5T293 103q3-7 11-7t11 7q8 26 21.5 39.5T376 165q8 3 8 11 0 3-1.5 6t-6.5 4z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v4\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v4/da\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"da\";\nconst pathData = \"M256.499 511.002q-12.975 0-20.959-10.979L5.988 180.647q-11.976-14.97 0-29.941L114.776 9.98Q122.76 0 134.736 0h255.502q14.97 0 20.959 10.979l95.813 140.725q9.98 14.97 0 28.943L277.458 500.023q-7.984 10.979-20.959 10.979zM57.887 166.674l198.612 275.462 198.612-276.46-77.848-114.775H147.712zm318.378 19.961q-25.95 7.985-39.423 21.459t-22.456 39.423q-1.996 7.984-9.98 7.984t-10.98-7.984q-8.982-25.95-22.455-39.423t-39.423-21.459q-7.985-2.994-7.985-10.978t7.985-10.979q25.95-7.984 39.423-21.957t22.456-39.922q2.994-7.984 10.978-7.984t9.981 7.984q8.982 25.95 22.456 39.922t39.423 21.957q7.985 2.995 7.985 10.979t-7.985 10.978z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v5\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v5/da\";\nexport { pathData, ltr, accData };","import { isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { pathData as pathDatav4, ltr, accData } from \"./v4/da.js\";\nimport { pathData as pathDatav5 } from \"./v5/da.js\";\n\nconst pathData = isLegacyThemeFamily() ? pathDatav4 : pathDatav5;\n\nexport default \"da\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"da-2\";\nconst pathData = \"M376 187q8-3 8-11t-8-10q-26-9-39.5-22.5T315 104q-3-8-11-8t-11 8q-8 26-21.5 39.5T232 166q-8 2-8 10t8 11q26 9 39.5 22.5T293 249q3 7 11 7t11-7q8-26 21.5-39.5T376 187zm132-35q4 7 4 15 0 7-5 15L277 502q-8 10-21 10t-21-10L5 182q-5-8-5-15 0-8 5-16L114 10q8-10 20-10h256q14 0 22 11z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v4\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v4/da-2\";\nexport { pathData, ltr, accData };","import { registerIcon } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nconst name = \"da-2\";\nconst pathData = \"M507.01 151.704q9.98 14.97 0 28.943L277.458 500.023q-7.984 10.979-20.959 10.979t-20.959-10.979L5.988 180.647q-11.976-14.97 0-29.941L114.776 9.98Q122.76 0 134.736 0h255.502q14.97 0 20.959 10.979zm-130.745 34.931q7.985-2.994 7.985-10.978t-7.985-10.979q-25.95-7.984-39.423-21.957T314.386 102.8q-1.996-7.984-9.98-7.984t-10.98 7.984q-7.984 25.95-21.956 39.922t-39.922 21.957q-7.985 2.995-7.985 10.979t7.985 10.978q25.95 7.985 39.922 21.459t21.957 39.423q2.994 7.984 10.978 7.984t9.981-7.984q8.982-25.95 22.456-39.423t39.423-21.459z\";\nconst ltr = false;\nconst accData = null;\nconst collection = \"SAP-icons-v5\";\nconst packageName = \"@ui5/webcomponents-icons\";\n\nregisterIcon(name, { pathData, ltr, collection, packageName });\n\nexport default \"SAP-icons-v5/da-2\";\nexport { pathData, ltr, accData };","import { isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { pathData as pathDatav4, ltr, accData } from \"./v4/da-2.js\";\nimport { pathData as pathDatav5 } from \"./v5/da-2.js\";\n\nconst pathData = isLegacyThemeFamily() ? pathDatav4 : pathDatav5;\n\nexport default \"da-2\";\nexport { pathData, ltr, accData };","import { I18nText } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nconst BARCODE_SCANNER_DIALOG_CANCEL_BUTTON_TXT: I18nText = {key: \"BARCODE_SCANNER_DIALOG_CANCEL_BUTTON_TXT\", defaultText: \"Cancel\"};const BARCODE_SCANNER_DIALOG_LOADING_TXT: I18nText = {key: \"BARCODE_SCANNER_DIALOG_LOADING_TXT\", defaultText: \"Loading\"};const FCL_START_COLUMN_TXT: I18nText = {key: \"FCL_START_COLUMN_TXT\", defaultText: \"First column\"};const FCL_MIDDLE_COLUMN_TXT: I18nText = {key: \"FCL_MIDDLE_COLUMN_TXT\", defaultText: \"Middle column\"};const FCL_END_COLUMN_TXT: I18nText = {key: \"FCL_END_COLUMN_TXT\", defaultText: \"Last column\"};const FCL_START_COLUMN_EXPAND_BUTTON_TOOLTIP: I18nText = {key: \"FCL_START_COLUMN_EXPAND_BUTTON_TOOLTIP\", defaultText: \"Expand the first column\"};const FCL_START_COLUMN_COLLAPSE_BUTTON_TOOLTIP: I18nText = {key: \"FCL_START_COLUMN_COLLAPSE_BUTTON_TOOLTIP\", defaultText: \"Collapse the first column\"};const FCL_END_COLUMN_EXPAND_BUTTON_TOOLTIP: I18nText = {key: \"FCL_END_COLUMN_EXPAND_BUTTON_TOOLTIP\", defaultText: \"Expand the last column\"};const FCL_END_COLUMN_COLLAPSE_BUTTON_TOOLTIP: I18nText = {key: \"FCL_END_COLUMN_COLLAPSE_BUTTON_TOOLTIP\", defaultText: \"Collapse the last column\"};const NOTIFICATION_LIST_ITEM_TXT: I18nText = {key: \"NOTIFICATION_LIST_ITEM_TXT\", defaultText: \"Notification\"};const NOTIFICATION_LIST_ITEM_SHOW_MORE: I18nText = {key: \"NOTIFICATION_LIST_ITEM_SHOW_MORE\", defaultText: \"Show More\"};const NOTIFICATION_LIST_ITEM_SHOW_LESS: I18nText = {key: \"NOTIFICATION_LIST_ITEM_SHOW_LESS\", defaultText: \"Show Less\"};const NOTIFICATION_LIST_ITEM_OVERLOW_BTN_TITLE: I18nText = {key: \"NOTIFICATION_LIST_ITEM_OVERLOW_BTN_TITLE\", defaultText: \"More\"};const NOTIFICATION_LIST_ITEM_CLOSE_BTN_TITLE: I18nText = {key: \"NOTIFICATION_LIST_ITEM_CLOSE_BTN_TITLE\", defaultText: \"Close\"};const NOTIFICATION_LIST_ITEM_READ: I18nText = {key: \"NOTIFICATION_LIST_ITEM_READ\", defaultText: \"read\"};const NOTIFICATION_LIST_ITEM_UNREAD: I18nText = {key: \"NOTIFICATION_LIST_ITEM_UNREAD\", defaultText: \"unread\"};const NOTIFICATION_LIST_ITEM_HIGH_PRIORITY_TXT: I18nText = {key: \"NOTIFICATION_LIST_ITEM_HIGH_PRIORITY_TXT\", defaultText: \"High Priority\"};const NOTIFICATION_LIST_ITEM_MEDIUM_PRIORITY_TXT: I18nText = {key: \"NOTIFICATION_LIST_ITEM_MEDIUM_PRIORITY_TXT\", defaultText: \"Medium Priority\"};const NOTIFICATION_LIST_ITEM_LOW_PRIORITY_TXT: I18nText = {key: \"NOTIFICATION_LIST_ITEM_LOW_PRIORITY_TXT\", defaultText: \"Low Priority\"};const NOTIFICATION_LIST_GROUP_ITEM_TXT: I18nText = {key: \"NOTIFICATION_LIST_GROUP_ITEM_TXT\", defaultText: \"Notification group\"};const NOTIFICATION_LIST_GROUP_ITEM_COUNTER_TXT: I18nText = {key: \"NOTIFICATION_LIST_GROUP_ITEM_COUNTER_TXT\", defaultText: \"Counter\"};const NOTIFICATION_LIST_GROUP_ITEM_CLOSE_BTN_TITLE: I18nText = {key: \"NOTIFICATION_LIST_GROUP_ITEM_CLOSE_BTN_TITLE\", defaultText: \"Close All\"};const NOTIFICATION_LIST_GROUP_ITEM_TOGGLE_BTN_COLLAPSE_TITLE: I18nText = {key: \"NOTIFICATION_LIST_GROUP_ITEM_TOGGLE_BTN_COLLAPSE_TITLE\", defaultText: \"Collapse Group\"};const NOTIFICATION_LIST_GROUP_ITEM_TOGGLE_BTN_EXPAND_TITLE: I18nText = {key: \"NOTIFICATION_LIST_GROUP_ITEM_TOGGLE_BTN_EXPAND_TITLE\", defaultText: \"Expand Group\"};const TIMELINE_ARIA_LABEL: I18nText = {key: \"TIMELINE_ARIA_LABEL\", defaultText: \"Timeline\"};const UPLOADCOLLECTIONITEM_CANCELBUTTON_TEXT: I18nText = {key: \"UPLOADCOLLECTIONITEM_CANCELBUTTON_TEXT\", defaultText: \"Cancel\"};const UPLOADCOLLECTIONITEM_RENAMEBUTTON_TEXT: I18nText = {key: \"UPLOADCOLLECTIONITEM_RENAMEBUTTON_TEXT\", defaultText: \"Rename\"};const UPLOADCOLLECTIONITEM_ERROR_STATE: I18nText = {key: \"UPLOADCOLLECTIONITEM_ERROR_STATE\", defaultText: \"Terminated\"};const UPLOADCOLLECTIONITEM_READY_STATE: I18nText = {key: \"UPLOADCOLLECTIONITEM_READY_STATE\", defaultText: \"Pending\"};const UPLOADCOLLECTIONITEM_UPLOADING_STATE: I18nText = {key: \"UPLOADCOLLECTIONITEM_UPLOADING_STATE\", defaultText: \"Uploading\"};const UPLOADCOLLECTIONITEM_TERMINATE_BUTTON_TEXT: I18nText = {key: \"UPLOADCOLLECTIONITEM_TERMINATE_BUTTON_TEXT\", defaultText: \"Terminate\"};const UPLOADCOLLECTIONITEM_RETRY_BUTTON_TEXT: I18nText = {key: \"UPLOADCOLLECTIONITEM_RETRY_BUTTON_TEXT\", defaultText: \"Retry\"};const UPLOADCOLLECTIONITEM_EDIT_BUTTON_TEXT: I18nText = {key: \"UPLOADCOLLECTIONITEM_EDIT_BUTTON_TEXT\", defaultText: \"Edit\"};const UPLOADCOLLECTION_NO_DATA_TEXT: I18nText = {key: \"UPLOADCOLLECTION_NO_DATA_TEXT\", defaultText: \"No files found\"};const UPLOADCOLLECTION_NO_DATA_DESCRIPTION: I18nText = {key: \"UPLOADCOLLECTION_NO_DATA_DESCRIPTION\", defaultText: \"Drop files to upload, or use the Upload button.\"};const UPLOADCOLLECTION_ARIA_ROLE_DESCRIPTION: I18nText = {key: \"UPLOADCOLLECTION_ARIA_ROLE_DESCRIPTION\", defaultText: \"Upload collection\"};const UPLOADCOLLECTION_DRAG_FILE_INDICATOR: I18nText = {key: \"UPLOADCOLLECTION_DRAG_FILE_INDICATOR\", defaultText: \"Drag files here\"};const UPLOADCOLLECTION_DROP_FILE_INDICATOR: I18nText = {key: \"UPLOADCOLLECTION_DROP_FILE_INDICATOR\", defaultText: \"Drop files to upload\"};const SHELLBAR_LABEL: I18nText = {key: \"SHELLBAR_LABEL\", defaultText: \"Shell Bar\"};const SHELLBAR_LOGO: I18nText = {key: \"SHELLBAR_LOGO\", defaultText: \"Logo\"};const SHELLBAR_COPILOT: I18nText = {key: \"SHELLBAR_COPILOT\", defaultText: \"Joule\"};const SHELLBAR_NOTIFICATIONS: I18nText = {key: \"SHELLBAR_NOTIFICATIONS\", defaultText: \"{0} Notifications\"};const SHELLBAR_PROFILE: I18nText = {key: \"SHELLBAR_PROFILE\", defaultText: \"Profile\"};const SHELLBAR_PRODUCTS: I18nText = {key: \"SHELLBAR_PRODUCTS\", defaultText: \"Products\"};const PRODUCT_SWITCH_CONTAINER_LABEL: I18nText = {key: \"PRODUCT_SWITCH_CONTAINER_LABEL\", defaultText: \"Products\"};const SHELLBAR_SEARCH: I18nText = {key: \"SHELLBAR_SEARCH\", defaultText: \"Search\"};const SHELLBAR_OVERFLOW: I18nText = {key: \"SHELLBAR_OVERFLOW\", defaultText: \"More\"};const SHELLBAR_CANCEL: I18nText = {key: \"SHELLBAR_CANCEL\", defaultText: \"Cancel\"};const WIZARD_NAV_ARIA_LABEL: I18nText = {key: \"WIZARD_NAV_ARIA_LABEL\", defaultText: \"Wizard Progress Bar\"};const WIZARD_LIST_ARIA_LABEL: I18nText = {key: \"WIZARD_LIST_ARIA_LABEL\", defaultText: \"Wizard Steps\"};const WIZARD_LIST_ARIA_DESCRIBEDBY: I18nText = {key: \"WIZARD_LIST_ARIA_DESCRIBEDBY\", defaultText: \"To activate press space bar or enter\"};const WIZARD_ACTIONSHEET_STEPS_ARIA_LABEL: I18nText = {key: \"WIZARD_ACTIONSHEET_STEPS_ARIA_LABEL\", defaultText: \"Steps\"};const WIZARD_OPTIONAL_STEP_ARIA_LABEL: I18nText = {key: \"WIZARD_OPTIONAL_STEP_ARIA_LABEL\", defaultText: \"Optional\"};const WIZARD_STEP_ACTIVE: I18nText = {key: \"WIZARD_STEP_ACTIVE\", defaultText: \"Active\"};const WIZARD_STEP_INACTIVE: I18nText = {key: \"WIZARD_STEP_INACTIVE\", defaultText: \"Inactive\"};const WIZARD_STEP_ARIA_LABEL: I18nText = {key: \"WIZARD_STEP_ARIA_LABEL\", defaultText: \"Step {0}\"};const WIZARD_NAV_ARIA_ROLE_DESCRIPTION: I18nText = {key: \"WIZARD_NAV_ARIA_ROLE_DESCRIPTION\", defaultText: \"Wizard\"};const WIZARD_NAV_STEP_DEFAULT_HEADING: I18nText = {key: \"WIZARD_NAV_STEP_DEFAULT_HEADING\", defaultText: \"Step\"};const VSD_DIALOG_TITLE_SORT: I18nText = {key: \"VSD_DIALOG_TITLE_SORT\", defaultText: \"View Settings\"};const VSD_SUBMIT_BUTTON: I18nText = {key: \"VSD_SUBMIT_BUTTON\", defaultText: \"OK\"};const VSD_CANCEL_BUTTON: I18nText = {key: \"VSD_CANCEL_BUTTON\", defaultText: \"Cancel\"};const VSD_RESET_BUTTON: I18nText = {key: \"VSD_RESET_BUTTON\", defaultText: \"Reset\"};const VSD_SORT_ORDER: I18nText = {key: \"VSD_SORT_ORDER\", defaultText: \"Sort Order\"};const VSD_FILTER_BY: I18nText = {key: \"VSD_FILTER_BY\", defaultText: \"Filter By\"};const VSD_SORT_BY: I18nText = {key: \"VSD_SORT_BY\", defaultText: \"Sort By\"};const VSD_ORDER_ASCENDING: I18nText = {key: \"VSD_ORDER_ASCENDING\", defaultText: \"Ascending\"};const VSD_ORDER_DESCENDING: I18nText = {key: \"VSD_ORDER_DESCENDING\", defaultText: \"Descending\"};const IM_TITLE_BEFORESEARCH: I18nText = {key: \"IM_TITLE_BEFORESEARCH\", defaultText: \"Let''s get some results\"};const IM_SUBTITLE_BEFORESEARCH: I18nText = {key: \"IM_SUBTITLE_BEFORESEARCH\", defaultText: \"Start by providing your search criteria.\"};const IM_TITLE_NOACTIVITIES: I18nText = {key: \"IM_TITLE_NOACTIVITIES\", defaultText: \"You''ve not added any activities yet\"};const IM_SUBTITLE_NOACTIVITIES: I18nText = {key: \"IM_SUBTITLE_NOACTIVITIES\", defaultText: \"Would you like to add one now?\"};const IM_TITLE_NOCOLUMNSSET: I18nText = {key: \"IM_TITLE_NOCOLUMNSSET\", defaultText: \"Add columns to see the content\"};const IM_SUBTITLE_NOCOLUMNSSET: I18nText = {key: \"IM_SUBTITLE_NOCOLUMNSSET\", defaultText: \"Select the columns you need in the table settings.\"};const IM_TITLE_NODATA: I18nText = {key: \"IM_TITLE_NODATA\", defaultText: \"There''s no data yet\"};const IM_SUBTITLE_NODATA: I18nText = {key: \"IM_SUBTITLE_NODATA\", defaultText: \"When there is, you''ll see it here.\"};const IM_TITLE_NOMAIL: I18nText = {key: \"IM_TITLE_NOMAIL\", defaultText: \"No new mail\"};const IM_SUBTITLE_NOMAIL: I18nText = {key: \"IM_SUBTITLE_NOMAIL\", defaultText: \"Check back again later.\"};const IM_TITLE_NOENTRIES: I18nText = {key: \"IM_TITLE_NOENTRIES\", defaultText: \"There are no entries yet\"};const IM_SUBTITLE_NOENTRIES: I18nText = {key: \"IM_SUBTITLE_NOENTRIES\", defaultText: \"When there are, you''ll see them here.\"};const IM_TITLE_NONOTIFICATIONS: I18nText = {key: \"IM_TITLE_NONOTIFICATIONS\", defaultText: \"You''ve no new notifications\"};const IM_SUBTITLE_NONOTIFICATIONS: I18nText = {key: \"IM_SUBTITLE_NONOTIFICATIONS\", defaultText: \"Check back again later.\"};const IM_TITLE_NOSAVEDITEMS: I18nText = {key: \"IM_TITLE_NOSAVEDITEMS\", defaultText: \"You''ve not added any favorites yet\"};const IM_SUBTITLE_NOSAVEDITEMS: I18nText = {key: \"IM_SUBTITLE_NOSAVEDITEMS\", defaultText: \"Would you like to create a list of your favorite items now?\"};const IM_TITLE_NOSEARCHRESULTS: I18nText = {key: \"IM_TITLE_NOSEARCHRESULTS\", defaultText: \"No results found\"};const IM_SUBTITLE_NOSEARCHRESULTS: I18nText = {key: \"IM_SUBTITLE_NOSEARCHRESULTS\", defaultText: \"Try changing your search criteria.\"};const IM_TITLE_NOTASKS: I18nText = {key: \"IM_TITLE_NOTASKS\", defaultText: \"You''ve no new tasks\"};const IM_SUBTITLE_NOTASKS: I18nText = {key: \"IM_SUBTITLE_NOTASKS\", defaultText: \"When you do, you''ll see them here.\"};const IM_TITLE_UNABLETOLOAD: I18nText = {key: \"IM_TITLE_UNABLETOLOAD\", defaultText: \"Unable to load data\"};const IM_SUBTITLE_UNABLETOLOAD: I18nText = {key: \"IM_SUBTITLE_UNABLETOLOAD\", defaultText: \"Check your internet connection. If that''s not it, try reloading. If that still doesn''t help, check with your administrator.\"};const IM_TITLE_UNABLETOLOADIMAGE: I18nText = {key: \"IM_TITLE_UNABLETOLOADIMAGE\", defaultText: \"Unable to load image\"};const IM_SUBTITLE_UNABLETOLOADIMAGE: I18nText = {key: \"IM_SUBTITLE_UNABLETOLOADIMAGE\", defaultText: \"We couldn''t find the image at the specified location, or the server isn''t responding.\"};const IM_TITLE_UNABLETOUPLOAD: I18nText = {key: \"IM_TITLE_UNABLETOUPLOAD\", defaultText: \"Unable to upload data\"};const IM_SUBTITLE_UNABLETOUPLOAD: I18nText = {key: \"IM_SUBTITLE_UNABLETOUPLOAD\", defaultText: \"Check your internet connection. If that''s not it, check the file format and file size. Otherwise, contact your administrator.\"};const IM_TITLE_UPLOADTOCLOUD: I18nText = {key: \"IM_TITLE_UPLOADTOCLOUD\", defaultText: \"Migrate to SAP Integration Suite\"};const IM_SUBTITLE_UPLOADTOCLOUD: I18nText = {key: \"IM_SUBTITLE_UPLOADTOCLOUD\", defaultText: \"Move your integration content from the existing Process Integration subscription to the Cloud Integration capability.\"};const IM_TITLE_ADDCOLUMN: I18nText = {key: \"IM_TITLE_ADDCOLUMN\", defaultText: \"Looks like there''s free space\"};const IM_SUBTITLE_ADDCOLUMN: I18nText = {key: \"IM_SUBTITLE_ADDCOLUMN\", defaultText: \"You can add more columns in the table settings.\"};const IM_TITLE_ADDPEOPLE: I18nText = {key: \"IM_TITLE_ADDPEOPLE\", defaultText: \"You''ve not added anyone to the calendar yet\"};const IM_SUBTITLE_ADDPEOPLE: I18nText = {key: \"IM_SUBTITLE_ADDPEOPLE\", defaultText: \"Do you want to add someone now?\"};const IM_TITLE_BALLOONSKY: I18nText = {key: \"IM_TITLE_BALLOONSKY\", defaultText: \"You''ve been appreciated!\"};const IM_SUBTITLE_BALLOONSKY: I18nText = {key: \"IM_SUBTITLE_BALLOONSKY\", defaultText: \"Keep up the great work!\"};const IM_TITLE_EMPTYPLANNINGCALENDAR: I18nText = {key: \"IM_TITLE_EMPTYPLANNINGCALENDAR\", defaultText: \"Nothing planned yet\"};const IM_SUBTITLE_EMPTYPLANNINGCALENDAR: I18nText = {key: \"IM_SUBTITLE_EMPTYPLANNINGCALENDAR\", defaultText: \"There are no activities in this time frame.\"};const IM_TITLE_FILTERTABLE: I18nText = {key: \"IM_TITLE_FILTERTABLE\", defaultText: \"Filter options are available\"};const IM_SUBTITLE_FILTERTABLE: I18nText = {key: \"IM_SUBTITLE_FILTERTABLE\", defaultText: \"Filters help you focus on what''s most relevant for you.\"};const IM_TITLE_GROUPTABLE: I18nText = {key: \"IM_TITLE_GROUPTABLE\", defaultText: \"Try grouping items for a better overview\"};const IM_SUBTITLE_GROUPTABLE: I18nText = {key: \"IM_SUBTITLE_GROUPTABLE\", defaultText: \"You can choose grouping categories in the group settings.\"};const IM_TITLE_NEWMAIL: I18nText = {key: \"IM_TITLE_NEWMAIL\", defaultText: \"New mail\"};const IM_SUBTITLE_NEWMAIL: I18nText = {key: \"IM_SUBTITLE_NEWMAIL\", defaultText: \"You have new mail in your inbox.\"};const IM_TITLE_NOFILTERRESULTS: I18nText = {key: \"IM_TITLE_NOFILTERRESULTS\", defaultText: \"No results found\"};const IM_SUBTITLE_NOFILTERRESULTS: I18nText = {key: \"IM_SUBTITLE_NOFILTERRESULTS\", defaultText: \"Try adjusting your filter criteria.\"};const IM_TITLE_PAGENOTFOUND: I18nText = {key: \"IM_TITLE_PAGENOTFOUND\", defaultText: \"Sorry, we can''t find this page\"};const IM_SUBTITLE_PAGENOTFOUND: I18nText = {key: \"IM_SUBTITLE_PAGENOTFOUND\", defaultText: \"Please check the URL you are using to call the app.\"};const IM_TITLE_RESIZECOLUMN: I18nText = {key: \"IM_TITLE_RESIZECOLUMN\", defaultText: \"Choose your own column width\"};const IM_SUBTITLE_RESIZECOLUMN: I18nText = {key: \"IM_SUBTITLE_RESIZECOLUMN\", defaultText: \"You can resize columns by dragging the column borders.\"};const IM_TITLE_SIGNOUT: I18nText = {key: \"IM_TITLE_SIGNOUT\", defaultText: \"You''ve been signed out\"};const IM_SUBTITLE_SIGNOUT: I18nText = {key: \"IM_SUBTITLE_SIGNOUT\", defaultText: \"You can now close this window.\"};const IM_TITLE_SORTCOLUMN: I18nText = {key: \"IM_TITLE_SORTCOLUMN\", defaultText: \"Not seeing the most important items first?\"};const IM_SUBTITLE_SORTCOLUMN: I18nText = {key: \"IM_SUBTITLE_SORTCOLUMN\", defaultText: \"Choose the sort criteria in the sort settings.\"};const IM_TITLE_SUCCESSSCREEN: I18nText = {key: \"IM_TITLE_SUCCESSSCREEN\", defaultText: \"Nicely done!\"};const IM_SUBTITLE_SUCCESSSCREEN: I18nText = {key: \"IM_SUBTITLE_SUCCESSSCREEN\", defaultText: \"You completed all your learning assignments.\"};const IM_TITLE_UPLOADCOLLECTION: I18nText = {key: \"IM_TITLE_UPLOADCOLLECTION\", defaultText: \"Drop files here\"};const IM_SUBTITLE_UPLOADCOLLECTION: I18nText = {key: \"IM_SUBTITLE_UPLOADCOLLECTION\", defaultText: \"You can also upload several files at once.\"};const IM_TITLE_ADDDIMENSIONS: I18nText = {key: \"IM_TITLE_ADDDIMENSIONS\", defaultText: \"Some dimensions are missing\"};const IM_SUBTITLE_ADDDIMENSIONS: I18nText = {key: \"IM_SUBTITLE_ADDDIMENSIONS\", defaultText: \"Add more dimensions to complete your chart.\"};const IM_TITLE_NODIMENSIONSSET: I18nText = {key: \"IM_TITLE_NODIMENSIONSSET\", defaultText: \"No Chart Data\"};const IM_SUBTITLE_NODIMENSIONSSET: I18nText = {key: \"IM_SUBTITLE_NODIMENSIONSSET\", defaultText: \"Try adjusting your chart settings.\"};const IM_TITLE_SURVEY: I18nText = {key: \"IM_TITLE_SURVEY\", defaultText: \"Your Opinion Matters\"};const IM_SUBTITLE_SURVEY: I18nText = {key: \"IM_SUBTITLE_SURVEY\", defaultText: \"We want to hear what you think about SAP software. Share your feedback with us by taking our short survey.\"};const DSC_SIDE_ARIA_LABEL: I18nText = {key: \"DSC_SIDE_ARIA_LABEL\", defaultText: \"Side Content\"};const SIDE_NAVIGATION_POPOVER_HIDDEN_TEXT: I18nText = {key: \"SIDE_NAVIGATION_POPOVER_HIDDEN_TEXT\", defaultText: \"Navigation\"};const SIDE_NAVIGATION_COLLAPSED_LIST_ARIA_ROLE_DESC: I18nText = {key: \"SIDE_NAVIGATION_COLLAPSED_LIST_ARIA_ROLE_DESC\", defaultText: \"Navigation List Menu Bar\"};const SIDE_NAVIGATION_COLLAPSED_LIST_ITEMS_ARIA_ROLE_DESC: I18nText = {key: \"SIDE_NAVIGATION_COLLAPSED_LIST_ITEMS_ARIA_ROLE_DESC\", defaultText: \"Navigation List Menu Item\"};const SIDE_NAVIGATION_LIST_ARIA_ROLE_DESC: I18nText = {key: \"SIDE_NAVIGATION_LIST_ARIA_ROLE_DESC\", defaultText: \"Navigation List Tree\"};const SIDE_NAVIGATION_LIST_ITEMS_ARIA_ROLE_DESC: I18nText = {key: \"SIDE_NAVIGATION_LIST_ITEMS_ARIA_ROLE_DESC\", defaultText: \"Navigation List Tree Item\"};const SIDE_NAVIGATION_OVERFLOW_ACCESSIBLE_NAME: I18nText = {key: \"SIDE_NAVIGATION_OVERFLOW_ACCESSIBLE_NAME\", defaultText: \"More Items\"};\nexport {BARCODE_SCANNER_DIALOG_CANCEL_BUTTON_TXT,BARCODE_SCANNER_DIALOG_LOADING_TXT,FCL_START_COLUMN_TXT,FCL_MIDDLE_COLUMN_TXT,FCL_END_COLUMN_TXT,FCL_START_COLUMN_EXPAND_BUTTON_TOOLTIP,FCL_START_COLUMN_COLLAPSE_BUTTON_TOOLTIP,FCL_END_COLUMN_EXPAND_BUTTON_TOOLTIP,FCL_END_COLUMN_COLLAPSE_BUTTON_TOOLTIP,NOTIFICATION_LIST_ITEM_TXT,NOTIFICATION_LIST_ITEM_SHOW_MORE,NOTIFICATION_LIST_ITEM_SHOW_LESS,NOTIFICATION_LIST_ITEM_OVERLOW_BTN_TITLE,NOTIFICATION_LIST_ITEM_CLOSE_BTN_TITLE,NOTIFICATION_LIST_ITEM_READ,NOTIFICATION_LIST_ITEM_UNREAD,NOTIFICATION_LIST_ITEM_HIGH_PRIORITY_TXT,NOTIFICATION_LIST_ITEM_MEDIUM_PRIORITY_TXT,NOTIFICATION_LIST_ITEM_LOW_PRIORITY_TXT,NOTIFICATION_LIST_GROUP_ITEM_TXT,NOTIFICATION_LIST_GROUP_ITEM_COUNTER_TXT,NOTIFICATION_LIST_GROUP_ITEM_CLOSE_BTN_TITLE,NOTIFICATION_LIST_GROUP_ITEM_TOGGLE_BTN_COLLAPSE_TITLE,NOTIFICATION_LIST_GROUP_ITEM_TOGGLE_BTN_EXPAND_TITLE,TIMELINE_ARIA_LABEL,UPLOADCOLLECTIONITEM_CANCELBUTTON_TEXT,UPLOADCOLLECTIONITEM_RENAMEBUTTON_TEXT,UPLOADCOLLECTIONITEM_ERROR_STATE,UPLOADCOLLECTIONITEM_READY_STATE,UPLOADCOLLECTIONITEM_UPLOADING_STATE,UPLOADCOLLECTIONITEM_TERMINATE_BUTTON_TEXT,UPLOADCOLLECTIONITEM_RETRY_BUTTON_TEXT,UPLOADCOLLECTIONITEM_EDIT_BUTTON_TEXT,UPLOADCOLLECTION_NO_DATA_TEXT,UPLOADCOLLECTION_NO_DATA_DESCRIPTION,UPLOADCOLLECTION_ARIA_ROLE_DESCRIPTION,UPLOADCOLLECTION_DRAG_FILE_INDICATOR,UPLOADCOLLECTION_DROP_FILE_INDICATOR,SHELLBAR_LABEL,SHELLBAR_LOGO,SHELLBAR_COPILOT,SHELLBAR_NOTIFICATIONS,SHELLBAR_PROFILE,SHELLBAR_PRODUCTS,PRODUCT_SWITCH_CONTAINER_LABEL,SHELLBAR_SEARCH,SHELLBAR_OVERFLOW,SHELLBAR_CANCEL,WIZARD_NAV_ARIA_LABEL,WIZARD_LIST_ARIA_LABEL,WIZARD_LIST_ARIA_DESCRIBEDBY,WIZARD_ACTIONSHEET_STEPS_ARIA_LABEL,WIZARD_OPTIONAL_STEP_ARIA_LABEL,WIZARD_STEP_ACTIVE,WIZARD_STEP_INACTIVE,WIZARD_STEP_ARIA_LABEL,WIZARD_NAV_ARIA_ROLE_DESCRIPTION,WIZARD_NAV_STEP_DEFAULT_HEADING,VSD_DIALOG_TITLE_SORT,VSD_SUBMIT_BUTTON,VSD_CANCEL_BUTTON,VSD_RESET_BUTTON,VSD_SORT_ORDER,VSD_FILTER_BY,VSD_SORT_BY,VSD_ORDER_ASCENDING,VSD_ORDER_DESCENDING,IM_TITLE_BEFORESEARCH,IM_SUBTITLE_BEFORESEARCH,IM_TITLE_NOACTIVITIES,IM_SUBTITLE_NOACTIVITIES,IM_TITLE_NOCOLUMNSSET,IM_SUBTITLE_NOCOLUMNSSET,IM_TITLE_NODATA,IM_SUBTITLE_NODATA,IM_TITLE_NOMAIL,IM_SUBTITLE_NOMAIL,IM_TITLE_NOENTRIES,IM_SUBTITLE_NOENTRIES,IM_TITLE_NONOTIFICATIONS,IM_SUBTITLE_NONOTIFICATIONS,IM_TITLE_NOSAVEDITEMS,IM_SUBTITLE_NOSAVEDITEMS,IM_TITLE_NOSEARCHRESULTS,IM_SUBTITLE_NOSEARCHRESULTS,IM_TITLE_NOTASKS,IM_SUBTITLE_NOTASKS,IM_TITLE_UNABLETOLOAD,IM_SUBTITLE_UNABLETOLOAD,IM_TITLE_UNABLETOLOADIMAGE,IM_SUBTITLE_UNABLETOLOADIMAGE,IM_TITLE_UNABLETOUPLOAD,IM_SUBTITLE_UNABLETOUPLOAD,IM_TITLE_UPLOADTOCLOUD,IM_SUBTITLE_UPLOADTOCLOUD,IM_TITLE_ADDCOLUMN,IM_SUBTITLE_ADDCOLUMN,IM_TITLE_ADDPEOPLE,IM_SUBTITLE_ADDPEOPLE,IM_TITLE_BALLOONSKY,IM_SUBTITLE_BALLOONSKY,IM_TITLE_EMPTYPLANNINGCALENDAR,IM_SUBTITLE_EMPTYPLANNINGCALENDAR,IM_TITLE_FILTERTABLE,IM_SUBTITLE_FILTERTABLE,IM_TITLE_GROUPTABLE,IM_SUBTITLE_GROUPTABLE,IM_TITLE_NEWMAIL,IM_SUBTITLE_NEWMAIL,IM_TITLE_NOFILTERRESULTS,IM_SUBTITLE_NOFILTERRESULTS,IM_TITLE_PAGENOTFOUND,IM_SUBTITLE_PAGENOTFOUND,IM_TITLE_RESIZECOLUMN,IM_SUBTITLE_RESIZECOLUMN,IM_TITLE_SIGNOUT,IM_SUBTITLE_SIGNOUT,IM_TITLE_SORTCOLUMN,IM_SUBTITLE_SORTCOLUMN,IM_TITLE_SUCCESSSCREEN,IM_SUBTITLE_SUCCESSSCREEN,IM_TITLE_UPLOADCOLLECTION,IM_SUBTITLE_UPLOADCOLLECTION,IM_TITLE_ADDDIMENSIONS,IM_SUBTITLE_ADDDIMENSIONS,IM_TITLE_NODIMENSIONSSET,IM_SUBTITLE_NODIMENSIONSSET,IM_TITLE_SURVEY,IM_SUBTITLE_SURVEY,DSC_SIDE_ARIA_LABEL,SIDE_NAVIGATION_POPOVER_HIDDEN_TEXT,SIDE_NAVIGATION_COLLAPSED_LIST_ARIA_ROLE_DESC,SIDE_NAVIGATION_COLLAPSED_LIST_ITEMS_ARIA_ROLE_DESC,SIDE_NAVIGATION_LIST_ARIA_ROLE_DESC,SIDE_NAVIGATION_LIST_ITEMS_ARIA_ROLE_DESC,SIDE_NAVIGATION_OVERFLOW_ACCESSIBLE_NAME};","import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { getFeature } from \"@ui5/webcomponents-base/dist/FeaturesRegistry.js\";\nimport AnimationMode from \"@ui5/webcomponents-base/dist/types/AnimationMode.js\";\nimport { getAnimationMode } from \"@ui5/webcomponents-base/dist/config/AnimationMode.js\";\nimport { isSpace, isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport StandardListItem from \"@ui5/webcomponents/dist/StandardListItem.js\";\nimport List from \"@ui5/webcomponents/dist/List.js\";\nimport type { ListSelectionChangeEventDetail } from \"@ui5/webcomponents/dist/List.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport ToggleButton from \"@ui5/webcomponents/dist/ToggleButton.js\";\nimport type Input from \"@ui5/webcomponents/dist/Input.js\";\nimport type { IButton } from \"@ui5/webcomponents/dist/Button.js\";\nimport HasPopup from \"@ui5/webcomponents/dist/types/HasPopup.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport \"@ui5/webcomponents-icons/dist/search.js\";\nimport \"@ui5/webcomponents-icons/dist/bell.js\";\nimport \"@ui5/webcomponents-icons/dist/overflow.js\";\nimport \"@ui5/webcomponents-icons/dist/grid.js\";\nimport type { Timeout, ClassMap } from \"@ui5/webcomponents-base/dist/types.js\";\nimport type ListItemBase from \"@ui5/webcomponents/dist/ListItemBase.js\";\nimport type ShellBarItem from \"./ShellBarItem.js\";\n\n// Templates\nimport ShellBarTemplate from \"./generated/templates/ShellBarTemplate.lit.js\";\nimport ShellBarPopoverTemplate from \"./generated/templates/ShellBarPopoverTemplate.lit.js\";\n\n// Styles\nimport shellBarStyles from \"./generated/themes/ShellBar.css.js\";\nimport ShellBarPopoverCss from \"./generated/themes/ShellBarPopover.css.js\";\n\n// Icons\nimport \"@ui5/webcomponents-icons/dist/da.js\";\nimport \"@ui5/webcomponents-icons/dist/da-2.js\";\n\nimport {\n\tSHELLBAR_LABEL,\n\tSHELLBAR_LOGO,\n\tSHELLBAR_COPILOT,\n\tSHELLBAR_NOTIFICATIONS,\n\tSHELLBAR_CANCEL,\n\tSHELLBAR_PROFILE,\n\tSHELLBAR_PRODUCTS,\n\tSHELLBAR_SEARCH,\n\tSHELLBAR_OVERFLOW,\n} from \"./generated/i18n/i18n-defaults.js\";\n\ntype ShellBarAccessibilityRoles = {\n\tlogoRole?: string;\n};\n\ntype ShellBarAccessibilityTexts = {\n\tlogoTitle?: string;\n\tprofileButtonTitle?: string;\n};\n\ntype ShellBarAccessibilityAttributesValue = {\n\texpanded?: \"true\" | \"false\" | boolean,\n\tariaHasPopup?: `${HasPopup}`,\n}\n\ntype ShellBarAccessibilityAttributes = {\n\tnotifications?: ShellBarAccessibilityAttributesValue;\n\tprofile?: ShellBarAccessibilityAttributesValue;\n\tproduct?: ShellBarAccessibilityAttributesValue;\n\tsearch?: ShellBarAccessibilityAttributesValue;\n\toverflow?: ShellBarAccessibilityAttributesValue;\n};\n\ntype ShellBarNotificationsClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ntype ShellBarProfileClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ntype ShellBarProductSwitchClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ntype ShellBarLogoClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ntype ShellBarCoPilotClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ntype ShellBarMenuItemClickEventDetail = {\n\titem: HTMLElement;\n};\n\ntype ShellBarSearchButtonEventDetail = {\n\ttargetRef: HTMLElement;\n\tsearchFieldVisible: boolean;\n};\n\ntype ShellBarCoPilot = {\n\tanimated?: boolean,\n\tanimationValues?: string,\n};\n\ninterface IShelBarItemInfo {\n\tid: string,\n\ticon?: string,\n\ttext: string,\n\tpriority: number,\n\tshow: boolean,\n\tcount?: string,\n\tcustom?: boolean,\n\ttitle?: string,\n\tstableDomRef?: string,\n\trefItemid?: string,\n\tpress: (e: MouseEvent) => void,\n\tstyles: object,\n\tdomOrder: number,\n\tclasses: string,\n\torder?: number,\n\tprofile?: boolean,\n}\n\nconst HANDLE_RESIZE_DEBOUNCE_RATE = 200; // ms\n\n/**\n * @class\n *

    Overview

    \n *\n * The ui5-shellbar is meant to serve as an application header\n * and includes numerous built-in features, such as: logo, profile image/icon, title, search field, notifications and so on.\n *

    \n *\n *

    Stable DOM Refs

    \n *\n * You can use the following stable DOM refs for the ui5-shellbar:\n *
      \n *
    • logo
    • \n *
    • copilot
    • \n *
    • notifications
    • \n *
    • overflow
    • \n *
    • profile
    • \n *
    • product-switch
    • \n *
    \n *\n *

    Keyboard Handling

    \n *\n *

    Fast Navigation

    \n * This component provides a build in fast navigation group which can be used via F6 / Shift + F6 or Ctrl + Alt(Option) + Down / Ctrl + Alt(Option) + Up.\n * In order to use this functionality, you need to import the following module:\n * import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"\n *

    \n *\n *

    ES6 Module Import

    \n * import \"@ui5/webcomponents-fiori/dist/ShellBar\";\n *\n * @csspart root - Used to style the outermost wrapper of the ui5-shellbar\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @since 0.8.0\n */\n\n@customElement({\n\ttag: \"ui5-shellbar\",\n\tfastNavigation: true,\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: ShellBarTemplate,\n\tstaticAreaTemplate: ShellBarPopoverTemplate,\n\tstyles: shellBarStyles,\n\tstaticAreaStyles: [ShellBarPopoverCss],\n\tdependencies: [\n\t\tButton,\n\t\tList,\n\t\tPopover,\n\t\tStandardListItem,\n\t],\n})\n/**\n *\n * Fired, when the notification icon is activated.\n *\n * @allowPreventDefault\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @public\n */\n@event(\"notifications-click\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\ttargetRef: { type: HTMLElement },\n\t},\n})\n\n/**\n * Fired, when the profile slot is present.\n *\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @public\n */\n@event(\"profile-click\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\ttargetRef: { type: HTMLElement },\n\t},\n})\n\n/**\n * Fired, when the product switch icon is activated.\n * Note: You can prevent closing of overflow popover by calling event.preventDefault().\n *\n * @allowPreventDefault\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @public\n */\n@event(\"product-switch-click\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\ttargetRef: { type: HTMLElement },\n\t},\n})\n\n/**\n * Fired, when the logo is activated.\n *\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @since 0.10\n * @public\n */\n@event(\"logo-click\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\ttargetRef: { type: HTMLElement },\n\t},\n})\n\n/**\n * Fired, when the co pilot is activated.\n *\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @since 0.10\n * @public\n */\n@event(\"co-pilot-click\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\ttargetRef: { type: HTMLElement },\n\t},\n})\n\n/**\n * Fired, when a menu item is activated\n * Note: You can prevent closing of overflow popover by calling event.preventDefault().\n *\n * @param {HTMLElement} item DOM ref of the activated list item\n * @since 0.10\n * @public\n */\n@event(\"menu-item-click\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: { type: HTMLElement },\n\t},\n})\n\n/**\n * Fired, when the search button is activated.\n * Note: You can prevent expanding/collapsing of the search field by calling event.preventDefault().\n *\n * @allowPreventDefault\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @param {Boolean} searchFieldVisible whether the search field is visible\n * @public\n */\n\n@event(\"search-button-click\", {\n\tdetail: {\n\t\ttargetRef: { type: HTMLElement },\n\t\tsearchFieldVisible: { type: Boolean },\n\t},\n})\n\nclass ShellBar extends UI5Element {\n\t/**\n\t * Defines the primaryTitle.\n\t *

    \n\t * Note: The primaryTitle would be hidden on S screen size (less than approx. 700px).\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tprimaryTitle!: string;\n\n\t/**\n\t * Defines the secondaryTitle.\n\t *

    \n\t * Note: The secondaryTitle would be hidden on S and M screen sizes (less than approx. 1300px).\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tsecondaryTitle!: string;\n\n\t/**\n\t * Defines the notificationsCount,\n\t * displayed in the notification icon top-right corner.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tnotificationsCount!: string;\n\n\t/**\n\t * Defines, if the notification icon would be displayed.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowNotifications!: boolean;\n\n\t/**\n\t * Defines, if the product switch icon would be displayed.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowProductSwitch!: boolean;\n\n\t/**\n\t * Defines, if the product CoPilot icon would be displayed.\n\t *
    Note: By default the co-pilot is displayed as static SVG.\n\t * If you need an animated co-pilot, you can import the \"@ui5/webcomponents-fiori/dist/features/CoPilotAnimation.js\" module as add-on feature.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowCoPilot!: boolean;\n\n\t/**\n\t * Defines, if the Search Field would be displayed when there is a valid searchField slot.\n\t *
    Note: By default the Search Field is not displayed.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowSearchField!: boolean;\n\n\t/**\n\t * An object of strings that defines additional accessibility roles for further customization.\n\t *\n\t * It supports the following fields:\n\t * - logoRole: the accessibility role for the logo\n\t * @default {}\n\t * @public\n\t * @since 1.6.0\n\t */\n\t@property({ type: Object })\n\taccessibilityRoles!: ShellBarAccessibilityRoles;\n\n\t/**\n\t * An object of strings that defines several additional accessibility texts\n\t * for even further customization.\n\t *\n\t * It supports the following fields:\n\t * - profileButtonTitle: defines the tooltip for the profile button\n\t * - logoTitle: defines the tooltip for the logo\n\t *\n\t * @default {}\n\t * @public\n\t * @since 1.1.0\n\t */\n\t@property({ type: Object })\n\taccessibilityTexts!: ShellBarAccessibilityTexts;\n\n\t/**\n\t * An object of strings that defines several additional accessibility attribute values\n\t * for customization depending on the use case.\n\t *\n\t * It supports the following fields:\n\t *\n\t *
      \n\t * \t\t
    • expanded: Indicates whether the anchor element, or another grouping element it controls, is currently expanded or collapsed. Accepts the following string values:\n\t *\t\t\t
        \n\t *\t\t\t\t
      • true
      • \n\t *\t\t\t\t
      • false
      • \n\t *\t\t\t
      \n\t * \t\t
    • \n\t * \t\t
    • hasPopup: Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by the anchor element. Accepts the following string values:\n\t * \t\t\t
        \n\t *\t\t\t\t
      • Dialog
      • \n\t *\t\t\t\t
      • Grid
      • \n\t *\t\t\t\t
      • ListBox
      • \n\t *\t\t\t\t
      • Menu
      • \n\t *\t\t\t\t
      • Tree
      • \n\t * \t\t\t
      \n\t * \t\t
    • \n\t *
    \n\t * @default {}\n\t * @public\n\t * @since 1.10.0\n\t */\n\t @property({ type: Object })\n\t accessibilityAttributes!: ShellBarAccessibilityAttributes;\n\n\t/**\n\t * @private\n\t */\n\t@property()\n\tbreakpointSize!: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\twithLogo!: boolean;\n\n\t@property({ type: Object })\n\t_itemsInfo!: Array;\n\n\t@property({ type: Object, multiple: true })\n\t_menuPopoverItems!: Array;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_menuPopoverExpanded!: boolean;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_overflowPopoverExpanded!: boolean;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_fullWidthSearch!: boolean;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_coPilotPressed!: boolean;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_isXXLBreakpoint!: boolean;\n\n\t/**\n\t * Defines the ui5-shellbar aditional items.\n\t *

    \n\t * Note:\n\t * You can use the  <ui5-shellbar-item></ui5-shellbar-item>.\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true, invalidateOnChildChange: true })\n\titems!: Array;\n\n\t/**\n\t * You can pass ui5-avatar to set the profile image/icon.\n\t * If no profile slot is set - profile will be excluded from actions.\n\t *\n\t * Note: We recommend not using the size attribute of ui5-avatar because\n\t * it should have specific size by design in the context of ui5-shellbar profile.\n\t * @since 1.0.0-rc.6\n\t * @public\n\t */\n\t@slot()\n\tprofile!: Array;\n\n\t/**\n\t * Defines the logo of the ui5-shellbar.\n\t * For example, you can use ui5-avatar or img elements as logo.\n\t * @since 1.0.0-rc.8\n\t * @public\n\t */\n\t@slot()\n\tlogo!: Array;\n\n\t/**\n\t * Defines the items displayed in menu after a click on the primary title.\n\t *

    \n\t * Note:\n\t * You can use the  <ui5-li></ui5-li> and its ancestors.\n\t *\n\t * @since 0.10\n\t * @public\n\t */\n\t@slot()\n\tmenuItems!: Array;\n\n\t/**\n\t * Defines the ui5-input, that will be used as a search field.\n\t *\n\t * @public\n\t */\n\t@slot()\n\tsearchField!: Array;\n\n\t/**\n\t * Defines a ui5-button in the bar that will be placed in the beginning.\n\t * We encourage this slot to be used for a back or home button.\n\t * It gets overstyled to match ShellBar's styling.\n\t *\n\t * @public\n\t */\n\t@slot()\n\tstartButton!: Array;\n\n\tstatic i18nBundle: I18nBundle;\n\toverflowPopover?: Popover | null;\n\tmenuPopover?: Popover | null;\n\t_isInitialRendering: boolean;\n\t_defaultItemPressPrevented: boolean;\n\tmenuItemsObserver: MutationObserver;\n\tcoPilot?: ShellBarCoPilot;\n\t_coPilotIcon: string;\n\t_debounceInterval?: Timeout | null;\n\t_hiddenIcons?: Array;\n\t_handleResize: ResizeObserverCallback;\n\t_headerPress: () => Promise;\n\n\tstatic get CO_PILOT_ICON_PRESSED() {\n\t\treturn \"sap-icon://da-2\";\n\t}\n\n\tstatic get CO_PILOT_ICON_UNPRESSED() {\n\t\treturn \"sap-icon://da\";\n\t}\n\n\tstatic get FIORI_3_BREAKPOINTS() {\n\t\treturn [\n\t\t\t599,\n\t\t\t1023,\n\t\t\t1439,\n\t\t\t1919,\n\t\t\t10000,\n\t\t];\n\t}\n\n\tstatic get FIORI_3_BREAKPOINTS_MAP(): Record {\n\t\treturn {\n\t\t\t\"599\": \"S\",\n\t\t\t\"1023\": \"M\",\n\t\t\t\"1439\": \"L\",\n\t\t\t\"1919\": \"XL\",\n\t\t\t\"10000\": \"XXL\",\n\t\t};\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._itemsInfo = [];\n\t\tthis._isInitialRendering = true;\n\t\tthis._coPilotIcon = ShellBar.CO_PILOT_ICON_UNPRESSED;\n\n\t\t// marks if preventDefault() is called in item's press handler\n\t\tthis._defaultItemPressPrevented = false;\n\n\t\tthis.menuItemsObserver = new MutationObserver(() => {\n\t\t\tthis._updateClonedMenuItems();\n\t\t});\n\n\t\tthis._headerPress = async () => {\n\t\t\tthis._updateClonedMenuItems();\n\n\t\t\tif (this.hasMenuItems) {\n\t\t\t\tconst menuPopover = await this._getMenuPopover();\n\t\t\t\tmenuPopover!.showAt(this.shadowRoot!.querySelector