{"version":3,"file":"static/js/main.0b95d80a.js","mappings":"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","sources":["../node_modules/tslib/tslib.es6.js","../node_modules/@fingerprintjs/fingerprintjs/dist/fp.esm.js","../node_modules/@pdftron/pdfjs-express-viewer/webviewer.min.js","../node_modules/@tanstack/query-core/build/esm/index.js","../node_modules/@tanstack/react-query/src/QueryClientProvider.tsx","../node_modules/@tanstack/react-query/src/isRestoring.tsx","../node_modules/@tanstack/react-query/src/QueryErrorResetBoundary.tsx","../node_modules/@tanstack/react-query/src/utils.ts","../node_modules/@tanstack/react-query/src/useBaseQuery.ts","../node_modules/@tanstack/react-query/src/Hydrate.tsx","../node_modules/@tanstack/react-query/src/useMutation.ts","../node_modules/@tanstack/react-query/src/useInfiniteQuery.ts","../node_modules/@tanstack/react-query/src/useIsFetching.ts","../node_modules/@tanstack/react-query/src/useIsMutating.ts","../node_modules/@tanstack/react-query/src/useQueries.ts","../node_modules/@tanstack/react-query/src/useQuery.ts","../node_modules/classnames/index.js","../node_modules/enquire.js/src/MediaQuery.js","../node_modules/enquire.js/src/MediaQueryDispatch.js","../node_modules/enquire.js/src/QueryHandler.js","../node_modules/enquire.js/src/Util.js","../node_modules/enquire.js/src/index.js","../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/invariant/browser.js","../node_modules/json2mq/index.js","../node_modules/lodash.debounce/index.js","../node_modules/multiselect-react-dropdown/dist/index.js","../node_modules/multiselect-react-dropdown/node_modules/style-inject/dist/style-inject.es.js","../node_modules/multiselect-react-dropdown/src/multiselect/multiselect.component.tsx","../node_modules/object-assign/index.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-device-detect/dist/lib.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-fast-compare/index.js","../node_modules/react-slick/lib/arrows.js","../node_modules/react-slick/lib/default-props.js","../node_modules/react-slick/lib/dots.js","../node_modules/react-slick/lib/index.js","../node_modules/react-slick/lib/initial-state.js","../node_modules/react-slick/lib/inner-slider.js","../node_modules/react-slick/lib/slider.js","../node_modules/react-slick/lib/track.js","../node_modules/react-slick/lib/utils/innerSliderUtils.js","../node_modules/react-to-print/lib/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/resize-observer-polyfill/dist/ResizeObserver.es.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/shallowequal/index.js","../node_modules/string-convert/camel2hyphen.js","../node_modules/ua-parser-js/dist/ua-parser.min.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../node_modules/use-sync-external-store/shim/index.js","../node_modules/warning/warning.js","../node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/classCallCheck.js","../node_modules/@babel/runtime/helpers/createClass.js","../node_modules/@babel/runtime/helpers/createSuper.js","../node_modules/@babel/runtime/helpers/defineProperty.js","../node_modules/@babel/runtime/helpers/get.js","../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/inherits.js","../node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/iterableToArray.js","../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/nonIterableRest.js","../node_modules/@babel/runtime/helpers/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/objectSpread2.js","../node_modules/@babel/runtime/helpers/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/slicedToArray.js","../node_modules/@babel/runtime/helpers/superPropBase.js","../node_modules/@babel/runtime/helpers/toConsumableArray.js","../node_modules/@babel/runtime/helpers/toPrimitive.js","../node_modules/@babel/runtime/helpers/toPropertyKey.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/underscore/modules/_setup.js","../node_modules/underscore/modules/restArguments.js","../node_modules/underscore/modules/isObject.js","../node_modules/underscore/modules/isNull.js","../node_modules/underscore/modules/isUndefined.js","../node_modules/underscore/modules/isBoolean.js","../node_modules/underscore/modules/isElement.js","../node_modules/underscore/modules/_tagTester.js","../node_modules/underscore/modules/isString.js","../node_modules/underscore/modules/isNumber.js","../node_modules/underscore/modules/isDate.js","../node_modules/underscore/modules/isRegExp.js","../node_modules/underscore/modules/isError.js","../node_modules/underscore/modules/isSymbol.js","../node_modules/underscore/modules/isArrayBuffer.js","../node_modules/underscore/modules/isFunction.js","../node_modules/underscore/modules/_hasObjectTag.js","../node_modules/underscore/modules/_stringTagBug.js","../node_modules/underscore/modules/isDataView.js","../node_modules/underscore/modules/isArray.js","../node_modules/underscore/modules/_has.js","../node_modules/underscore/modules/isArguments.js","../node_modules/underscore/modules/isFinite.js","../node_modules/underscore/modules/isNaN.js","../node_modules/underscore/modules/constant.js","../node_modules/underscore/modules/_createSizePropertyCheck.js","../node_modules/underscore/modules/_shallowProperty.js","../node_modules/underscore/modules/_getByteLength.js","../node_modules/underscore/modules/_isBufferLike.js","../node_modules/underscore/modules/isTypedArray.js","../node_modules/underscore/modules/_getLength.js","../node_modules/underscore/modules/_collectNonEnumProps.js","../node_modules/underscore/modules/keys.js","../node_modules/underscore/modules/isEmpty.js","../node_modules/underscore/modules/isMatch.js","../node_modules/underscore/modules/underscore.js","../node_modules/underscore/modules/_toBufferView.js","../node_modules/underscore/modules/isEqual.js","../node_modules/underscore/modules/allKeys.js","../node_modules/underscore/modules/_methodFingerprint.js","../node_modules/underscore/modules/isMap.js","../node_modules/underscore/modules/isWeakMap.js","../node_modules/underscore/modules/isSet.js","../node_modules/underscore/modules/isWeakSet.js","../node_modules/underscore/modules/values.js","../node_modules/underscore/modules/pairs.js","../node_modules/underscore/modules/invert.js","../node_modules/underscore/modules/functions.js","../node_modules/underscore/modules/_createAssigner.js","../node_modules/underscore/modules/extend.js","../node_modules/underscore/modules/extendOwn.js","../node_modules/underscore/modules/defaults.js","../node_modules/underscore/modules/_baseCreate.js","../node_modules/underscore/modules/create.js","../node_modules/underscore/modules/clone.js","../node_modules/underscore/modules/tap.js","../node_modules/underscore/modules/toPath.js","../node_modules/underscore/modules/_toPath.js","../node_modules/underscore/modules/_deepGet.js","../node_modules/underscore/modules/get.js","../node_modules/underscore/modules/has.js","../node_modules/underscore/modules/identity.js","../node_modules/underscore/modules/matcher.js","../node_modules/underscore/modules/property.js","../node_modules/underscore/modules/_optimizeCb.js","../node_modules/underscore/modules/_baseIteratee.js","../node_modules/underscore/modules/iteratee.js","../node_modules/underscore/modules/_cb.js","../node_modules/underscore/modules/mapObject.js","../node_modules/underscore/modules/noop.js","../node_modules/underscore/modules/propertyOf.js","../node_modules/underscore/modules/times.js","../node_modules/underscore/modules/random.js","../node_modules/underscore/modules/now.js","../node_modules/underscore/modules/_createEscaper.js","../node_modules/underscore/modules/_escapeMap.js","../node_modules/underscore/modules/escape.js","../node_modules/underscore/modules/unescape.js","../node_modules/underscore/modules/_unescapeMap.js","../node_modules/underscore/modules/templateSettings.js","../node_modules/underscore/modules/template.js","../node_modules/underscore/modules/result.js","../node_modules/underscore/modules/uniqueId.js","../node_modules/underscore/modules/chain.js","../node_modules/underscore/modules/_executeBound.js","../node_modules/underscore/modules/partial.js","../node_modules/underscore/modules/bind.js","../node_modules/underscore/modules/_isArrayLike.js","../node_modules/underscore/modules/_flatten.js","../node_modules/underscore/modules/bindAll.js","../node_modules/underscore/modules/memoize.js","../node_modules/underscore/modules/delay.js","../node_modules/underscore/modules/defer.js","../node_modules/underscore/modules/throttle.js","../node_modules/underscore/modules/debounce.js","../node_modules/underscore/modules/wrap.js","../node_modules/underscore/modules/negate.js","../node_modules/underscore/modules/compose.js","../node_modules/underscore/modules/after.js","../node_modules/underscore/modules/before.js","../node_modules/underscore/modules/once.js","../node_modules/underscore/modules/findKey.js","../node_modules/underscore/modules/_createPredicateIndexFinder.js","../node_modules/underscore/modules/findIndex.js","../node_modules/underscore/modules/findLastIndex.js","../node_modules/underscore/modules/sortedIndex.js","../node_modules/underscore/modules/_createIndexFinder.js","../node_modules/underscore/modules/indexOf.js","../node_modules/underscore/modules/lastIndexOf.js","../node_modules/underscore/modules/find.js","../node_modules/underscore/modules/findWhere.js","../node_modules/underscore/modules/each.js","../node_modules/underscore/modules/map.js","../node_modules/underscore/modules/_createReduce.js","../node_modules/underscore/modules/reduce.js","../node_modules/underscore/modules/reduceRight.js","../node_modules/underscore/modules/filter.js","../node_modules/underscore/modules/reject.js","../node_modules/underscore/modules/every.js","../node_modules/underscore/modules/some.js","../node_modules/underscore/modules/contains.js","../node_modules/underscore/modules/invoke.js","../node_modules/underscore/modules/pluck.js","../node_modules/underscore/modules/where.js","../node_modules/underscore/modules/max.js","../node_modules/underscore/modules/min.js","../node_modules/underscore/modules/toArray.js","../node_modules/underscore/modules/sample.js","../node_modules/underscore/modules/shuffle.js","../node_modules/underscore/modules/sortBy.js","../node_modules/underscore/modules/_group.js","../node_modules/underscore/modules/groupBy.js","../node_modules/underscore/modules/indexBy.js","../node_modules/underscore/modules/countBy.js","../node_modules/underscore/modules/partition.js","../node_modules/underscore/modules/size.js","../node_modules/underscore/modules/_keyInObj.js","../node_modules/underscore/modules/pick.js","../node_modules/underscore/modules/omit.js","../node_modules/underscore/modules/initial.js","../node_modules/underscore/modules/first.js","../node_modules/underscore/modules/rest.js","../node_modules/underscore/modules/last.js","../node_modules/underscore/modules/compact.js","../node_modules/underscore/modules/flatten.js","../node_modules/underscore/modules/difference.js","../node_modules/underscore/modules/without.js","../node_modules/underscore/modules/uniq.js","../node_modules/underscore/modules/union.js","../node_modules/underscore/modules/intersection.js","../node_modules/underscore/modules/unzip.js","../node_modules/underscore/modules/zip.js","../node_modules/underscore/modules/object.js","../node_modules/underscore/modules/range.js","../node_modules/underscore/modules/chunk.js","../node_modules/underscore/modules/_chainResult.js","../node_modules/underscore/modules/mixin.js","../node_modules/underscore/modules/underscore-array-methods.js","../node_modules/underscore/modules/index-default.js","../webpack/bootstrap","../webpack/runtime/amd options","../webpack/runtime/compat get default export","../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/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../../packages/react-router/lib/context.ts","../../packages/react-router/lib/router.ts","../../packages/react-router/lib/hooks.tsx","../../packages/react-router/lib/components.tsx","../node_modules/react-helmet-async/src/constants.js","../node_modules/react-helmet-async/src/utils.js","../node_modules/react-helmet-async/src/server.js","../node_modules/react-helmet-async/src/HelmetData.js","../node_modules/react-helmet-async/src/Provider.js","../node_modules/react-helmet-async/src/client.js","../node_modules/react-helmet-async/src/Dispatcher.js","../node_modules/react-helmet-async/src/index.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.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/nonIterableSpread.js","constants/Constants.js","../node_modules/url-slug/lib/index.js","helper/choosingAreaThemes.js","helper/castingObject.js","helper/helper.js","components/UI/Book24Link/Book24Link.js","../../packages/react-router-dom/index.tsx","components/UI/Sole24Link/Sole24Link.js","store/isLoadingcontext.js","helper/TealiumHelper.js","store/auth-context.js","store/token-context.js","hooks/http-request.js","components/Header/UserAction/Notifiche/Notifica/Notifica.js","components/Header/UserAction/Notifiche/NotificationsList.js","components/Header/UserAction/Notifiche/Notifiche.js","components/Header/UserAction/Profilo/Profilo.js","hooks/useManageNoteAndTagOnReader.js","components/UI/GenericDropdownlist/GenericDropdownList.js","hooks/outsideClickHook.js","components/Header/UserAction/UserAction.js","components/Header/MiniHeader/MiniHeader.js","components/Header/HeaderWrapper/HeaderWrapper.js","components/Header/HeaderFirstRowMinified/HeaderFirstRowMinified.js","components/Header/HeaderFirstRow/HeaderFirstRow.js","components/Header/HeaderSecondRow/HeaderSecondRow.js","components/Header/Header.js","helper/helperResearch.js","helper/helperFunctionGetDocument.js","store/get-documento.js","components/Header/Ricerca/MainDrawer.js","components/Header/Ricerca/Ricerca.js","components/Helper/Wrapper/Wrapper.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/dom-helpers/esm/canUseDOM.js","../node_modules/dom-helpers/esm/addEventListener.js","../node_modules/dom-helpers/esm/ownerDocument.js","../node_modules/dom-helpers/esm/removeEventListener.js","../node_modules/dom-helpers/esm/scrollbarSize.js","../node_modules/@restart/hooks/esm/useCallbackRef.js","../node_modules/@restart/hooks/esm/useCommittedRef.js","../node_modules/@restart/hooks/esm/useEventCallback.js","../node_modules/@restart/hooks/esm/useMergedRefs.js","../node_modules/@restart/hooks/esm/useWillUnmount.js","../node_modules/@restart/hooks/esm/useUpdatedRef.js","../node_modules/dom-helpers/esm/getComputedStyle.js","../node_modules/dom-helpers/esm/ownerWindow.js","../node_modules/dom-helpers/esm/hyphenate.js","../node_modules/dom-helpers/esm/hyphenateStyle.js","../node_modules/dom-helpers/esm/isTransform.js","../node_modules/dom-helpers/esm/css.js","../node_modules/dom-helpers/esm/listen.js","../node_modules/dom-helpers/esm/transitionEnd.js","../node_modules/dom-helpers/esm/triggerEvent.js","../node_modules/dom-helpers/esm/activeElement.js","../node_modules/dom-helpers/esm/contains.js","../node_modules/@restart/hooks/esm/useMounted.js","../node_modules/@restart/hooks/esm/usePrevious.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@restart/ui/esm/DataKey.js","../node_modules/@restart/ui/esm/ModalManager.js","../node_modules/@restart/ui/esm/getScrollbarWidth.js","../node_modules/@restart/ui/esm/useWindow.js","../node_modules/@restart/ui/esm/useWaitForDOMRef.js","../node_modules/@restart/hooks/esm/useIsomorphicEffect.js","../node_modules/@restart/ui/esm/NoopTransition.js","../node_modules/@restart/ui/esm/ImperativeTransition.js","../node_modules/@restart/ui/esm/utils.js","../node_modules/@restart/ui/esm/Modal.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/superPropBase.js","../node_modules/@babel/runtime/helpers/esm/get.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/dom-helpers/esm/hasClass.js","../node_modules/dom-helpers/esm/querySelectorAll.js","../node_modules/dom-helpers/esm/removeClass.js","../node_modules/react-bootstrap/esm/BootstrapModalManager.js","../node_modules/dom-helpers/esm/addClass.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/react-transition-group/esm/utils/reflow.js","../node_modules/react-bootstrap/esm/transitionEndListener.js","../node_modules/react-bootstrap/esm/safeFindDOMNode.js","../node_modules/react-bootstrap/esm/TransitionWrapper.js","../node_modules/react-bootstrap/esm/Fade.js","../node_modules/react-bootstrap/esm/triggerBrowserReflow.js","../node_modules/dom-helpers/esm/camelize.js","../node_modules/react-bootstrap/esm/ThemeProvider.js","../node_modules/react-bootstrap/esm/createWithBsPrefix.js","../node_modules/react-bootstrap/esm/ModalBody.js","../node_modules/react-bootstrap/esm/ModalContext.js","../node_modules/react-bootstrap/esm/ModalDialog.js","../node_modules/react-bootstrap/esm/ModalFooter.js","../node_modules/react-bootstrap/esm/CloseButton.js","../node_modules/react-bootstrap/esm/AbstractModalHeader.js","../node_modules/react-bootstrap/esm/ModalHeader.js","../node_modules/react-bootstrap/esm/divWithClassName.js","../node_modules/react-bootstrap/esm/ModalTitle.js","../node_modules/react-bootstrap/esm/Modal.js","components/Modals/Login.js","components/Modals/MessageManageSiac.js","components/UtilityWrapper/UtilityWrapper.js","hooks/useManageBodyClasses.js","components/Modals/SessioneScaduta.js","Pages/Offline.js","components/Helper/ChooseAreaTematica/ChooseAreaTematica.js","components/UI/AreaAllListHeader/AreaAllListHeader.js","components/UI/CarouselNavigator/CarouselNavigator.js","components/Prodotti/ProdottiWrapper/ProdottiWrapper.js","components/Prodotti/GestioneListaContinuaALeggere/GestioneListaContinuaALeggere.js","components/UI/Novita/Novita.js","components/UI/Bookmark/Bookmark.js","components/Prodotti/SchedaProdotto/SchedaProdottoHeader/SchedaProdottoHeader.js","components/Prodotti/ListaAutori/ListaAutori.js","components/Prodotti/SchedaProdotto/SchedaProdottoBody/SchedaProdottoBody.js","components/Prodotti/ThemeArea/ThemeArea.js","components/UI/ManageThematicArea/ManageThematicArea.js","../node_modules/react-bootstrap/esm/helpers.js","../node_modules/react-bootstrap/esm/getInitialPopperStyles.js","../node_modules/react-bootstrap/esm/Tooltip.js","../node_modules/@restart/hooks/esm/useTimeout.js","../node_modules/uncontrollable/lib/esm/utils.js","../node_modules/uncontrollable/lib/esm/hook.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/dequal/dist/index.mjs","../node_modules/@restart/hooks/esm/useSafeState.js","../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../node_modules/@popperjs/core/lib/utils/math.js","../node_modules/@popperjs/core/lib/utils/userAgent.js","../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../node_modules/@popperjs/core/lib/dom-utils/contains.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../node_modules/@popperjs/core/lib/utils/within.js","../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../node_modules/@popperjs/core/lib/enums.js","../node_modules/@popperjs/core/lib/modifiers/arrow.js","../node_modules/@popperjs/core/lib/utils/getVariation.js","../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../node_modules/@popperjs/core/lib/modifiers/flip.js","../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../node_modules/@popperjs/core/lib/modifiers/hide.js","../node_modules/@popperjs/core/lib/modifiers/offset.js","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../node_modules/@popperjs/core/lib/utils/debounce.js","../node_modules/@popperjs/core/lib/createPopper.js","../node_modules/@popperjs/core/lib/utils/mergeByName.js","../node_modules/@restart/ui/esm/popper.js","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../node_modules/@restart/ui/esm/usePopper.js","../node_modules/@restart/ui/esm/useClickOutside.js","../node_modules/@restart/ui/esm/useRootClose.js","../node_modules/@restart/ui/esm/mergeOptionsWithPopperConfig.js","../node_modules/@restart/ui/esm/Overlay.js","../node_modules/react-bootstrap/esm/PopoverHeader.js","../node_modules/react-bootstrap/esm/PopoverBody.js","../node_modules/react-bootstrap/esm/Popover.js","../node_modules/react-bootstrap/esm/Overlay.js","../node_modules/react-bootstrap/esm/useOverlayOffset.js","../node_modules/react-bootstrap/esm/OverlayTrigger.js","components/Prodotti/InAggiornamento/InAggiornamento.js","components/Prodotti/SchedaProdotto/SchedaProdottoFooter/SchedaProdottoFooter.js","components/Prodotti/SchedaProdotto/WrapperSchedaProdotto/WrapperSchedaProdotto.js","components/Prodotti/SchedaProdotto/SchedaProdotto.js","components/Prodotti/SchedaStrumentiPerProfessionisti/SchedaStrumentiPerProfessionisti.js","components/CarouselNoSlick/CarouselItem.js","store/manage-products-list-context.js","components/UI/CarouselNavigator/PrevArrow.js","components/UI/CarouselNavigator/NextArrow.js","components/Prodotti/Prodotti.js","components/Footer/Footer.js","webpack://biblioteca24/./src/components/UI/Spinner/Spinner.module.css?1e33","components/UI/Spinner/Spinner.js","components/Modals/Partecipazione.js","Pages/MyBooks.js","components/Prodotti/Prodotto/NavBarSchede/NavBarSchede.js","components/Prodotti/SchedaProdottoSpecifica/SchedaProdottoSpecifica.js","../node_modules/react-share/es/utils/assert.js","../node_modules/react-share/es/utils/objectToGetParams.js","../node_modules/react-share/es/ShareButton.js","../node_modules/react-share/es/hocs/createShareButton.js","../node_modules/react-share/es/FacebookShareButton.js","../node_modules/react-share/es/TwitterShareButton.js","../node_modules/react-share/es/LinkedinShareButton.js","../node_modules/react-share/es/EmailShareButton.js","components/Prodotti/Condivisione Prodotto/CondivisioneProdotto.js","components/Prodotti/SchedaProdottoSpecifica/StickyFoot.js","components/UI/Research/SearchCard/SearchCardContentPac.js","components/Modals/Pacchetti.js","Pages/Prodotto.js","helper/helperPacchetto.js","components/Prodotti/LibriPacchetto/LibroPacchetto/LibroPacchetto.js","components/Prodotti/LibriPacchetto/LibriPacchetto.js","components/UI/Paragraph/Paragraph.js","Pages/Pacchetto.js","components/Area/AreaBody/AreaBody.js","components/Area/AreaHeader/AreaHeader.js","components/Area/AreaComponent.js","components/Prodotti/ThemeArea/ListAreaTematica/ThemeListItem.js","components/Prodotti/ThemeArea/ListAreaTematica/ListAreaTematica.js","Pages/Area.js","components/Prodotti/SchedaProdottoAreaListaTematicaList/SchedaProdottoAreaListaTematicaBody/SchedaProdottoAreaListaTematicaBody.js","components/Prodotti/SchedaProdottoAreaListaTematicaList/SchedaProdottoAreaListaTematicaFooter/SchedaProdottoAreaListaTematicaFooter.js","components/Prodotti/SchedaProdottoAreaListaTematicaList/SchedaProdottoAreaListaTematicaHeader/SchedaProdottoAreaListaTematicaHeader.js","components/Prodotti/SchedaProdottoAreaListaTematicaList/SchedaProdottoAreaListaTematica/SchedaProdottoAreaListaTematica.js","components/Prodotti/SchedaProdottoAreaListaTematicaList/SchedaProdottoAreaListaTematicaWrapper/SchedaProdottoAreaListaTematicaWrapper.js","components/Prodotti/SchedaProdottoAreaListaTematicaList/SchedaProdottoAreaListaTematicaList.js","hooks/useFetchQuery.js","webpack://biblioteca24/./src/components/UI/Loader/Loader.module.css?aae1","components/UI/Loader/Loader.js","components/UI/Research/Pagination/Pagination.js","Pages/AllList.js","Pages/Notifications.js","components/PersonalArea/NotificationsFilter.js","components/PersonalArea/PersonalAreaNotifications.js","components/PersonalArea/PersonalAreaProfil.js","Pages/PersonalArea.js","webpack://biblioteca24/./src/components/UI/Research/SearchBar/SearchForType.module.css?6dd9","../node_modules/@restart/ui/esm/DropdownContext.js","../node_modules/@restart/ui/esm/DropdownMenu.js","../node_modules/@react-aria/ssr/dist/packages/@react-aria/ssr/src/SSRProvider.tsx","../node_modules/@restart/ui/esm/DropdownToggle.js","../node_modules/@restart/ui/esm/SelectableContext.js","../node_modules/@restart/ui/esm/NavContext.js","../node_modules/@restart/ui/esm/Button.js","../node_modules/@restart/ui/esm/DropdownItem.js","../node_modules/@restart/ui/esm/Dropdown.js","../node_modules/@restart/hooks/esm/useForceUpdate.js","../node_modules/@restart/hooks/esm/useEventListener.js","../node_modules/react-bootstrap/esm/DropdownContext.js","../node_modules/@restart/hooks/esm/useResizeObserver.js","../node_modules/@restart/ui/esm/Anchor.js","../node_modules/react-bootstrap/esm/DropdownItem.js","../node_modules/react-bootstrap/esm/InputGroupContext.js","../node_modules/react-bootstrap/esm/NavbarContext.js","../node_modules/react-bootstrap/esm/useWrappedRefWithWarning.js","../node_modules/react-bootstrap/esm/DropdownMenu.js","../node_modules/react-bootstrap/esm/Button.js","../node_modules/react-bootstrap/esm/DropdownToggle.js","../node_modules/react-bootstrap/esm/Dropdown.js","../node_modules/uuid/dist/esm-browser/rng.js","components/UI/Research/SearchBar/SearchForType.js","components/UI/Research/SearchBar/SearchBar.js","components/UI/Research/ResearchError/ResearchError.js","components/UI/Research/SearchEmpty/SearchEmpty.js","components/UI/Research/SearchCard/BuyCardContent.js","components/UI/Research/SearchCard/SearchCardContent.js","components/UI/Research/SearchCard/SearchCardFooterItem.js","components/UI/Research/SearchCard/SearchCardFooter.js","components/UI/Research/SearchResults/SearchResult.js","components/UI/Research/SearchResults/SearchResults.js","components/UI/Research/SearchBar/SearchForTypeForMob.js","components/UI/Research/SearchFilters/Filters/Filters.js","components/UI/Research/SearchFilters/FiltersByArea/FiltersByArea.js","components/UI/Research/SearchFilters/FiltersNotes/BookFilter/BookFilter.js","components/UI/Research/SearchFilters/FiltersNotes/ColorFilter/ColorObject.js","components/UI/Research/SearchFilters/FiltersNotes/ColorFilter/ColorFilter.js","components/UI/Research/SearchFilters/FiltersNotes/FilterWrapper.js","components/UI/Research/SearchFilters/FiltersNotes/TagFilter/TagFilter.js","components/UI/Research/SearchFilters/FiltersNotes/FiltersNotes.js","components/UI/Research/SearchFilters/FooterFilters/FooterFilters.js","components/UI/Research/SearchFilters/SearchFilters.js","Pages/Research.js","components/ReaderMain/ReaderPerApprofondire/ReaderNormaCommentata.js","components/ReaderMain/ReaderPerApprofondire/ReaderDisposizioniIntegrative.js","components/ReaderMain/ReaderPerApprofondire/ReaderCorrelati.js","components/ReaderMain/ReaderPerApprofondire/ReaderRiferimenti.js","components/ReaderMain/ReaderPerApprofondire/CorrelatiRiferimenti.js","Pages/SchedaPerApprofondire.js","components/UI/ProgressBar/ProgressBar.js","components/HeaderReader/HeaderReaderGoTo.js","components/UI/GoHome/GoHome.js","components/HeaderReader/DropdownMenuScroll.js","components/HeaderReader/DropdownMenuScrollItems/ListBookmarks.js","components/HeaderReader/BookmarksNotification.js","components/HeaderReader/DropdownMenuScrollItems/ListNotes.js","components/HeaderReader/NotesNotification.js","components/HeaderReader/HeaderRightIcon.js","hooks/getAndManageBookmarksAndNotes.js","components/HeaderReader/HeaderReader.js","components/ReaderFoot/ReaderFoot.js","components/ReaderHead/ReaderHead.js","components/ReaderHead/ReaderHeadGoTo.js","components/ReaderHead/ReaderHeadSwitchDocPerApprofondire.js","components/ReaderHead/ReaderMeta.js","components/ReaderHead/ReaderTitle.js","components/ReaderMain/ReaderContentContainer.js","components/ReaderMain/ReaderBlockMask/ReaderBlockMask.js","components/ReaderMain/ReaderBoxes/ReaderBoxesRel.js","components/ReaderMain/ReaderBoxes/ReaderBox.js","components/ReaderMain/ReaderBoxes/ReaderBoxesBottom.js","components/UI/ReaderLine/ReaderLine.js","components/ReaderMain/ReaderMain.js","components/ReaderMain/RenderParagraphs.js","components/ReaderMain/ReaderMainContainer.js","components/UI/ScrollUpButton/ScrollUpButton.js","../node_modules/uuid/dist/esm-browser/native.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/v4.js","helper/helperFunctionReader.js","hooks/saveAndDeleteReadingBook.js","components/ReaderMain/ReaderTools/ReaderToolsBookmarks.js","components/ReaderMain/ReaderTools/ReaderToolsTextSizeMenu.js","components/ReaderMain/ReaderTools/ReaderToolsTextSize.js","components/ReaderMain/ReaderTools/ReaderToolsPrint.js","components/PersonalArea/DossierFilter.js","components/Modals/Dossier.js","components/ReaderMain/ReaderTools/ReaderTools.js","components/ReaderMain/ReaderBoxes/ReaderBoxTop.js","components/UI/Toast/toast.js","hooks/useContextMenu.js","components/ReaderMain/ReaderDropdownNote.js","components/Modals/AddOrUpdateNote.js","components/Modals/AddOrUpdateTags.js","components/Modals/ConfirmResp.js","components/ReaderMain/ReaderTools/ReaderToolsMobile.js","components/ViewerPdf/ViewerPdfExpress.js","Pages/Reader.js","components/UI/Free/Free.js","components/UI/Updated/Updated.js","components/UI/ListLink/Link/Link.js","components/UI/ListLink/ListLink.js","classes/TreeNode.js","../node_modules/clsx/dist/clsx.m.js","../node_modules/is-in-browser/dist/module.js","../node_modules/jss/dist/jss.esm.js","../node_modules/@material-ui/styles/esm/mergeClasses/mergeClasses.js","../node_modules/@material-ui/styles/esm/makeStyles/multiKeyStore.js","../node_modules/@material-ui/styles/esm/useTheme/ThemeContext.js","../node_modules/@material-ui/styles/esm/useTheme/useTheme.js","../node_modules/@material-ui/styles/esm/ThemeProvider/nested.js","../node_modules/@material-ui/styles/esm/createGenerateClassName/createGenerateClassName.js","../node_modules/jss-plugin-rule-value-function/dist/jss-plugin-rule-value-function.esm.js","../node_modules/jss-plugin-global/dist/jss-plugin-global.esm.js","../node_modules/jss-plugin-nested/dist/jss-plugin-nested.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/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/@material-ui/styles/esm/StylesProvider/StylesProvider.js","../node_modules/@material-ui/styles/esm/jssPreset/jssPreset.js","../node_modules/@material-ui/styles/esm/makeStyles/indexCounter.js","../node_modules/@material-ui/utils/esm/deepmerge.js","../node_modules/@material-ui/styles/esm/getStylesCreator/getStylesCreator.js","../node_modules/@material-ui/styles/esm/getStylesCreator/noopTheme.js","../node_modules/@material-ui/styles/esm/makeStyles/makeStyles.js","../node_modules/@material-ui/styles/esm/getThemeProps/getThemeProps.js","../node_modules/@material-ui/styles/esm/withStyles/withStyles.js","../node_modules/@material-ui/core/esm/styles/createBreakpoints.js","../node_modules/@material-ui/core/esm/styles/createMixins.js","../node_modules/@material-ui/utils/esm/formatMuiErrorMessage.js","../node_modules/@material-ui/core/esm/colors/common.js","../node_modules/@material-ui/core/esm/colors/grey.js","../node_modules/@material-ui/core/esm/colors/indigo.js","../node_modules/@material-ui/core/esm/colors/pink.js","../node_modules/@material-ui/core/esm/colors/red.js","../node_modules/@material-ui/core/esm/colors/orange.js","../node_modules/@material-ui/core/esm/colors/blue.js","../node_modules/@material-ui/core/esm/colors/green.js","../node_modules/@material-ui/core/esm/styles/colorManipulator.js","../node_modules/@material-ui/core/esm/styles/createPalette.js","../node_modules/@material-ui/core/esm/styles/createTypography.js","../node_modules/@material-ui/core/esm/styles/shadows.js","../node_modules/@material-ui/core/esm/styles/shape.js","../node_modules/@material-ui/system/esm/breakpoints.js","../node_modules/@material-ui/system/esm/merge.js","../node_modules/@material-ui/system/esm/spacing.js","../node_modules/@material-ui/system/esm/memoize.js","../node_modules/@material-ui/core/esm/styles/createSpacing.js","../node_modules/@material-ui/core/esm/styles/transitions.js","../node_modules/@material-ui/core/esm/styles/zIndex.js","../node_modules/@material-ui/core/esm/styles/createTheme.js","../node_modules/@material-ui/core/esm/styles/defaultTheme.js","../node_modules/@material-ui/core/esm/styles/withStyles.js","../node_modules/@material-ui/core/esm/utils/useControlled.js","../node_modules/@material-ui/lab/esm/TreeView/TreeViewContext.js","../node_modules/@material-ui/lab/esm/TreeView/TreeView.js","../node_modules/@material-ui/core/esm/utils/capitalize.js","../node_modules/@material-ui/core/esm/Typography/Typography.js","../node_modules/@material-ui/core/esm/transitions/utils.js","../node_modules/@material-ui/core/esm/styles/useTheme.js","../node_modules/@material-ui/core/esm/utils/setRef.js","../node_modules/@material-ui/core/esm/utils/useForkRef.js","../node_modules/@material-ui/core/esm/Collapse/Collapse.js","../node_modules/@material-ui/lab/esm/TreeItem/TreeItem.js","components/Prodotti/Prodotto/SchedaSommario/CreateTreeView/CreateTreeView.js","../node_modules/react-iframe/dist/es/iframe.js","components/Prodotti/Prodotto/SchedaSommario/IFramePDF/IFramePDF.js","components/Prodotti/Prodotto/SchedaSommario/SchedaSommario.js","Pages/ReaderSummary.js","components/ReaderMain/ReaderCard.js","components/ReaderMain/ReaderMainUpdates/ReaderMainUpdates.js","Pages/ReaderUpdates.js","components/ReaderHead/ReaderHeadResearch.js","components/ReaderMain/ReaderMainResearch/ReaderResearchTop.js","components/ReaderMain/ReaderMainResearch/ReaderMainResearch.js","Pages/ReaderResearch.js","Pages/OldBrowser.js","Pages/NotFound.js","components/SecondResearch/BookPreview.js","components/SecondResearch/SecondResearchHeader.js","Pages/SecondResearch.js","components/QrCode/QrCodeError.js","components/QrCode/QrCodeSuccess.js","../node_modules/qr-scanner/src/qr-scanner.ts","components/QrCode/QrCodeBody.js","components/QrCode/QrCodeHeader.js","components/QrCode/QrCodeWrapper.js","Pages/QrCode.js","components/Modals/DeleteNoteModal.js","components/NoteDropdown/NoteDropdown.js","components/Note/NoteFooter.js","components/Note/NoteHead.js","components/Note/NoteSingle.js","components/Note/NoteList.js","components/Note/NoteSubTitle.js","components/Note/Note.js","Pages/Notes.js","components/FaqCard/FaqCard.js","components/FaqListItem/FaqListItem.js","components/FaqWrapper/FaqWrapper.js","Pages/FAQ.js","components/BancheDati/ExplorerDocItem.js","components/BancheDati/BDExplorerList.js","components/BancheDati/BDExplorer.js","store/context-tree.js","components/BancheDati/BDNavbarElement.js","components/BancheDati/BDNavbar.js","components/BancheDati/Expander.js","components/BancheDati/BDTree.js","Pages/BDIndex.js","Pages/Software.js","components/Helper/GenericsBox/GenericBox.js","components/Helper/PubblicitaBox/PubblicitaBox.js","components/Home/Home.js","components/Prodotti/Prodotto/SchedaAutori/SchedaAutori.js","components/Prodotti/Prodotto/SchedaDescrizione/SchedaDescrizione.js","components/Helmet/MetaTags.js","Pages/FrameNtPro.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/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/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","Pages/ReaderAuthors.js","Pages/ReaderDescription.js","App.js","reportWebVitals.js","index.js"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","/**\n * FingerprintJS v3.3.4 - Copyright (c) FingerprintJS, Inc, 2022 (https://fingerprint.com)\n * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license.\n *\n * This software contains code from open-source projects:\n * MurmurHash3 by Karan Lyons (https://github.com/karanlyons/murmurHash3.js)\n */\n\nimport { __awaiter, __generator, __assign, __spreadArrays } from 'tslib';\n\nvar version = \"3.3.4\";\n\nfunction wait(durationMs, resolveWith) {\n return new Promise(function (resolve) { return setTimeout(resolve, durationMs, resolveWith); });\n}\nfunction requestIdleCallbackIfAvailable(fallbackTimeout, deadlineTimeout) {\n if (deadlineTimeout === void 0) { deadlineTimeout = Infinity; }\n var requestIdleCallback = window.requestIdleCallback;\n if (requestIdleCallback) {\n // The function `requestIdleCallback` loses the binding to `window` here.\n // `globalThis` isn't always equal `window` (see https://github.com/fingerprintjs/fingerprintjs/issues/683).\n // Therefore, an error can occur. `call(window,` prevents the error.\n return new Promise(function (resolve) { return requestIdleCallback.call(window, function () { return resolve(); }, { timeout: deadlineTimeout }); });\n }\n else {\n return wait(Math.min(fallbackTimeout, deadlineTimeout));\n }\n}\nfunction isPromise(value) {\n return value && typeof value.then === 'function';\n}\n/**\n * Calls a maybe asynchronous function without creating microtasks when the function is synchronous.\n * Catches errors in both cases.\n *\n * If just you run a code like this:\n * ```\n * console.time('Action duration')\n * await action()\n * console.timeEnd('Action duration')\n * ```\n * The synchronous function time can be measured incorrectly because another microtask may run before the `await`\n * returns the control back to the code.\n */\nfunction awaitIfAsync(action, callback) {\n try {\n var returnedValue = action();\n if (isPromise(returnedValue)) {\n returnedValue.then(function (result) { return callback(true, result); }, function (error) { return callback(false, error); });\n }\n else {\n callback(true, returnedValue);\n }\n }\n catch (error) {\n callback(false, error);\n }\n}\n/**\n * If you run many synchronous tasks without using this function, the JS main loop will be busy and asynchronous tasks\n * (e.g. completing a network request, rendering the page) won't be able to happen.\n * This function allows running many synchronous tasks such way that asynchronous tasks can run too in background.\n */\nfunction forEachWithBreaks(items, callback, loopReleaseInterval) {\n if (loopReleaseInterval === void 0) { loopReleaseInterval = 16; }\n return __awaiter(this, void 0, void 0, function () {\n var lastLoopReleaseTime, i, now;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n lastLoopReleaseTime = Date.now();\n i = 0;\n _a.label = 1;\n case 1:\n if (!(i < items.length)) return [3 /*break*/, 4];\n callback(items[i], i);\n now = Date.now();\n if (!(now >= lastLoopReleaseTime + loopReleaseInterval)) return [3 /*break*/, 3];\n lastLoopReleaseTime = now;\n // Allows asynchronous actions and microtasks to happen\n return [4 /*yield*/, wait(0)];\n case 2:\n // Allows asynchronous actions and microtasks to happen\n _a.sent();\n _a.label = 3;\n case 3:\n ++i;\n return [3 /*break*/, 1];\n case 4: return [2 /*return*/];\n }\n });\n });\n}\n/**\n * Makes the given promise never emit an unhandled promise rejection console warning.\n * The promise will still pass errors to the next promises.\n *\n * Otherwise, promise emits a console warning unless it has a `catch` listener.\n */\nfunction suppressUnhandledRejectionWarning(promise) {\n promise.then(undefined, function () { return undefined; });\n}\n\n/*\n * Taken from https://github.com/karanlyons/murmurHash3.js/blob/a33d0723127e2e5415056c455f8aed2451ace208/murmurHash3.js\n */\n//\n// Given two 64bit ints (as an array of two 32bit ints) returns the two\n// added together as a 64bit int (as an array of two 32bit ints).\n//\nfunction x64Add(m, n) {\n m = [m[0] >>> 16, m[0] & 0xffff, m[1] >>> 16, m[1] & 0xffff];\n n = [n[0] >>> 16, n[0] & 0xffff, n[1] >>> 16, n[1] & 0xffff];\n var o = [0, 0, 0, 0];\n o[3] += m[3] + n[3];\n o[2] += o[3] >>> 16;\n o[3] &= 0xffff;\n o[2] += m[2] + n[2];\n o[1] += o[2] >>> 16;\n o[2] &= 0xffff;\n o[1] += m[1] + n[1];\n o[0] += o[1] >>> 16;\n o[1] &= 0xffff;\n o[0] += m[0] + n[0];\n o[0] &= 0xffff;\n return [(o[0] << 16) | o[1], (o[2] << 16) | o[3]];\n}\n//\n// Given two 64bit ints (as an array of two 32bit ints) returns the two\n// multiplied together as a 64bit int (as an array of two 32bit ints).\n//\nfunction x64Multiply(m, n) {\n m = [m[0] >>> 16, m[0] & 0xffff, m[1] >>> 16, m[1] & 0xffff];\n n = [n[0] >>> 16, n[0] & 0xffff, n[1] >>> 16, n[1] & 0xffff];\n var o = [0, 0, 0, 0];\n o[3] += m[3] * n[3];\n o[2] += o[3] >>> 16;\n o[3] &= 0xffff;\n o[2] += m[2] * n[3];\n o[1] += o[2] >>> 16;\n o[2] &= 0xffff;\n o[2] += m[3] * n[2];\n o[1] += o[2] >>> 16;\n o[2] &= 0xffff;\n o[1] += m[1] * n[3];\n o[0] += o[1] >>> 16;\n o[1] &= 0xffff;\n o[1] += m[2] * n[2];\n o[0] += o[1] >>> 16;\n o[1] &= 0xffff;\n o[1] += m[3] * n[1];\n o[0] += o[1] >>> 16;\n o[1] &= 0xffff;\n o[0] += m[0] * n[3] + m[1] * n[2] + m[2] * n[1] + m[3] * n[0];\n o[0] &= 0xffff;\n return [(o[0] << 16) | o[1], (o[2] << 16) | o[3]];\n}\n//\n// Given a 64bit int (as an array of two 32bit ints) and an int\n// representing a number of bit positions, returns the 64bit int (as an\n// array of two 32bit ints) rotated left by that number of positions.\n//\nfunction x64Rotl(m, n) {\n n %= 64;\n if (n === 32) {\n return [m[1], m[0]];\n }\n else if (n < 32) {\n return [(m[0] << n) | (m[1] >>> (32 - n)), (m[1] << n) | (m[0] >>> (32 - n))];\n }\n else {\n n -= 32;\n return [(m[1] << n) | (m[0] >>> (32 - n)), (m[0] << n) | (m[1] >>> (32 - n))];\n }\n}\n//\n// Given a 64bit int (as an array of two 32bit ints) and an int\n// representing a number of bit positions, returns the 64bit int (as an\n// array of two 32bit ints) shifted left by that number of positions.\n//\nfunction x64LeftShift(m, n) {\n n %= 64;\n if (n === 0) {\n return m;\n }\n else if (n < 32) {\n return [(m[0] << n) | (m[1] >>> (32 - n)), m[1] << n];\n }\n else {\n return [m[1] << (n - 32), 0];\n }\n}\n//\n// Given two 64bit ints (as an array of two 32bit ints) returns the two\n// xored together as a 64bit int (as an array of two 32bit ints).\n//\nfunction x64Xor(m, n) {\n return [m[0] ^ n[0], m[1] ^ n[1]];\n}\n//\n// Given a block, returns murmurHash3's final x64 mix of that block.\n// (`[0, h[0] >>> 1]` is a 33 bit unsigned right shift. This is the\n// only place where we need to right shift 64bit ints.)\n//\nfunction x64Fmix(h) {\n h = x64Xor(h, [0, h[0] >>> 1]);\n h = x64Multiply(h, [0xff51afd7, 0xed558ccd]);\n h = x64Xor(h, [0, h[0] >>> 1]);\n h = x64Multiply(h, [0xc4ceb9fe, 0x1a85ec53]);\n h = x64Xor(h, [0, h[0] >>> 1]);\n return h;\n}\n//\n// Given a string and an optional seed as an int, returns a 128 bit\n// hash using the x64 flavor of MurmurHash3, as an unsigned hex.\n//\nfunction x64hash128(key, seed) {\n key = key || '';\n seed = seed || 0;\n var remainder = key.length % 16;\n var bytes = key.length - remainder;\n var h1 = [0, seed];\n var h2 = [0, seed];\n var k1 = [0, 0];\n var k2 = [0, 0];\n var c1 = [0x87c37b91, 0x114253d5];\n var c2 = [0x4cf5ad43, 0x2745937f];\n var i;\n for (i = 0; i < bytes; i = i + 16) {\n k1 = [\n (key.charCodeAt(i + 4) & 0xff) |\n ((key.charCodeAt(i + 5) & 0xff) << 8) |\n ((key.charCodeAt(i + 6) & 0xff) << 16) |\n ((key.charCodeAt(i + 7) & 0xff) << 24),\n (key.charCodeAt(i) & 0xff) |\n ((key.charCodeAt(i + 1) & 0xff) << 8) |\n ((key.charCodeAt(i + 2) & 0xff) << 16) |\n ((key.charCodeAt(i + 3) & 0xff) << 24),\n ];\n k2 = [\n (key.charCodeAt(i + 12) & 0xff) |\n ((key.charCodeAt(i + 13) & 0xff) << 8) |\n ((key.charCodeAt(i + 14) & 0xff) << 16) |\n ((key.charCodeAt(i + 15) & 0xff) << 24),\n (key.charCodeAt(i + 8) & 0xff) |\n ((key.charCodeAt(i + 9) & 0xff) << 8) |\n ((key.charCodeAt(i + 10) & 0xff) << 16) |\n ((key.charCodeAt(i + 11) & 0xff) << 24),\n ];\n k1 = x64Multiply(k1, c1);\n k1 = x64Rotl(k1, 31);\n k1 = x64Multiply(k1, c2);\n h1 = x64Xor(h1, k1);\n h1 = x64Rotl(h1, 27);\n h1 = x64Add(h1, h2);\n h1 = x64Add(x64Multiply(h1, [0, 5]), [0, 0x52dce729]);\n k2 = x64Multiply(k2, c2);\n k2 = x64Rotl(k2, 33);\n k2 = x64Multiply(k2, c1);\n h2 = x64Xor(h2, k2);\n h2 = x64Rotl(h2, 31);\n h2 = x64Add(h2, h1);\n h2 = x64Add(x64Multiply(h2, [0, 5]), [0, 0x38495ab5]);\n }\n k1 = [0, 0];\n k2 = [0, 0];\n switch (remainder) {\n case 15:\n k2 = x64Xor(k2, x64LeftShift([0, key.charCodeAt(i + 14)], 48));\n // fallthrough\n case 14:\n k2 = x64Xor(k2, x64LeftShift([0, key.charCodeAt(i + 13)], 40));\n // fallthrough\n case 13:\n k2 = x64Xor(k2, x64LeftShift([0, key.charCodeAt(i + 12)], 32));\n // fallthrough\n case 12:\n k2 = x64Xor(k2, x64LeftShift([0, key.charCodeAt(i + 11)], 24));\n // fallthrough\n case 11:\n k2 = x64Xor(k2, x64LeftShift([0, key.charCodeAt(i + 10)], 16));\n // fallthrough\n case 10:\n k2 = x64Xor(k2, x64LeftShift([0, key.charCodeAt(i + 9)], 8));\n // fallthrough\n case 9:\n k2 = x64Xor(k2, [0, key.charCodeAt(i + 8)]);\n k2 = x64Multiply(k2, c2);\n k2 = x64Rotl(k2, 33);\n k2 = x64Multiply(k2, c1);\n h2 = x64Xor(h2, k2);\n // fallthrough\n case 8:\n k1 = x64Xor(k1, x64LeftShift([0, key.charCodeAt(i + 7)], 56));\n // fallthrough\n case 7:\n k1 = x64Xor(k1, x64LeftShift([0, key.charCodeAt(i + 6)], 48));\n // fallthrough\n case 6:\n k1 = x64Xor(k1, x64LeftShift([0, key.charCodeAt(i + 5)], 40));\n // fallthrough\n case 5:\n k1 = x64Xor(k1, x64LeftShift([0, key.charCodeAt(i + 4)], 32));\n // fallthrough\n case 4:\n k1 = x64Xor(k1, x64LeftShift([0, key.charCodeAt(i + 3)], 24));\n // fallthrough\n case 3:\n k1 = x64Xor(k1, x64LeftShift([0, key.charCodeAt(i + 2)], 16));\n // fallthrough\n case 2:\n k1 = x64Xor(k1, x64LeftShift([0, key.charCodeAt(i + 1)], 8));\n // fallthrough\n case 1:\n k1 = x64Xor(k1, [0, key.charCodeAt(i)]);\n k1 = x64Multiply(k1, c1);\n k1 = x64Rotl(k1, 31);\n k1 = x64Multiply(k1, c2);\n h1 = x64Xor(h1, k1);\n // fallthrough\n }\n h1 = x64Xor(h1, [0, key.length]);\n h2 = x64Xor(h2, [0, key.length]);\n h1 = x64Add(h1, h2);\n h2 = x64Add(h2, h1);\n h1 = x64Fmix(h1);\n h2 = x64Fmix(h2);\n h1 = x64Add(h1, h2);\n h2 = x64Add(h2, h1);\n return (('00000000' + (h1[0] >>> 0).toString(16)).slice(-8) +\n ('00000000' + (h1[1] >>> 0).toString(16)).slice(-8) +\n ('00000000' + (h2[0] >>> 0).toString(16)).slice(-8) +\n ('00000000' + (h2[1] >>> 0).toString(16)).slice(-8));\n}\n\n/**\n * Converts an error object to a plain object that can be used with `JSON.stringify`.\n * If you just run `JSON.stringify(error)`, you'll get `'{}'`.\n */\nfunction errorToObject(error) {\n var _a;\n return __assign({ name: error.name, message: error.message, stack: (_a = error.stack) === null || _a === void 0 ? void 0 : _a.split('\\n') }, error);\n}\n\n/*\n * This file contains functions to work with pure data only (no browser features, DOM, side effects, etc).\n */\n/**\n * Does the same as Array.prototype.includes but has better typing\n */\nfunction includes(haystack, needle) {\n for (var i = 0, l = haystack.length; i < l; ++i) {\n if (haystack[i] === needle) {\n return true;\n }\n }\n return false;\n}\n/**\n * Like `!includes()` but with proper typing\n */\nfunction excludes(haystack, needle) {\n return !includes(haystack, needle);\n}\n/**\n * Be careful, NaN can return\n */\nfunction toInt(value) {\n return parseInt(value);\n}\n/**\n * Be careful, NaN can return\n */\nfunction toFloat(value) {\n return parseFloat(value);\n}\nfunction replaceNaN(value, replacement) {\n return typeof value === 'number' && isNaN(value) ? replacement : value;\n}\nfunction countTruthy(values) {\n return values.reduce(function (sum, value) { return sum + (value ? 1 : 0); }, 0);\n}\nfunction round(value, base) {\n if (base === void 0) { base = 1; }\n if (Math.abs(base) >= 1) {\n return Math.round(value / base) * base;\n }\n else {\n // Sometimes when a number is multiplied by a small number, precision is lost,\n // for example 1234 * 0.0001 === 0.12340000000000001, and it's more precise divide: 1234 / (1 / 0.0001) === 0.1234.\n var counterBase = 1 / base;\n return Math.round(value * counterBase) / counterBase;\n }\n}\n/**\n * Parses a CSS selector into tag name with HTML attributes.\n * Only single element selector are supported (without operators like space, +, >, etc).\n *\n * Multiple values can be returned for each attribute. You decide how to handle them.\n */\nfunction parseSimpleCssSelector(selector) {\n var _a, _b;\n var errorMessage = \"Unexpected syntax '\" + selector + \"'\";\n var tagMatch = /^\\s*([a-z-]*)(.*)$/i.exec(selector);\n var tag = tagMatch[1] || undefined;\n var attributes = {};\n var partsRegex = /([.:#][\\w-]+|\\[.+?\\])/gi;\n var addAttribute = function (name, value) {\n attributes[name] = attributes[name] || [];\n attributes[name].push(value);\n };\n for (;;) {\n var match = partsRegex.exec(tagMatch[2]);\n if (!match) {\n break;\n }\n var part = match[0];\n switch (part[0]) {\n case '.':\n addAttribute('class', part.slice(1));\n break;\n case '#':\n addAttribute('id', part.slice(1));\n break;\n case '[': {\n var attributeMatch = /^\\[([\\w-]+)([~|^$*]?=(\"(.*?)\"|([\\w-]+)))?(\\s+[is])?\\]$/.exec(part);\n if (attributeMatch) {\n addAttribute(attributeMatch[1], (_b = (_a = attributeMatch[4]) !== null && _a !== void 0 ? _a : attributeMatch[5]) !== null && _b !== void 0 ? _b : '');\n }\n else {\n throw new Error(errorMessage);\n }\n break;\n }\n default:\n throw new Error(errorMessage);\n }\n }\n return [tag, attributes];\n}\n\nfunction ensureErrorWithMessage(error) {\n return error && typeof error === 'object' && 'message' in error ? error : { message: error };\n}\nfunction isFinalResultLoaded(loadResult) {\n return typeof loadResult !== 'function';\n}\n/**\n * Loads the given entropy source. Returns a function that gets an entropy component from the source.\n *\n * The result is returned synchronously to prevent `loadSources` from\n * waiting for one source to load before getting the components from the other sources.\n */\nfunction loadSource(source, sourceOptions) {\n var sourceLoadPromise = new Promise(function (resolveLoad) {\n var loadStartTime = Date.now();\n // `awaitIfAsync` is used instead of just `await` in order to measure the duration of synchronous sources\n // correctly (other microtasks won't affect the duration).\n awaitIfAsync(source.bind(null, sourceOptions), function () {\n var loadArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n loadArgs[_i] = arguments[_i];\n }\n var loadDuration = Date.now() - loadStartTime;\n // Source loading failed\n if (!loadArgs[0]) {\n return resolveLoad(function () { return ({ error: ensureErrorWithMessage(loadArgs[1]), duration: loadDuration }); });\n }\n var loadResult = loadArgs[1];\n // Source loaded with the final result\n if (isFinalResultLoaded(loadResult)) {\n return resolveLoad(function () { return ({ value: loadResult, duration: loadDuration }); });\n }\n // Source loaded with \"get\" stage\n resolveLoad(function () {\n return new Promise(function (resolveGet) {\n var getStartTime = Date.now();\n awaitIfAsync(loadResult, function () {\n var getArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n getArgs[_i] = arguments[_i];\n }\n var duration = loadDuration + Date.now() - getStartTime;\n // Source getting failed\n if (!getArgs[0]) {\n return resolveGet({ error: ensureErrorWithMessage(getArgs[1]), duration: duration });\n }\n // Source getting succeeded\n resolveGet({ value: getArgs[1], duration: duration });\n });\n });\n });\n });\n });\n suppressUnhandledRejectionWarning(sourceLoadPromise);\n return function getComponent() {\n return sourceLoadPromise.then(function (finalizeSource) { return finalizeSource(); });\n };\n}\n/**\n * Loads the given entropy sources. Returns a function that collects the entropy components.\n *\n * The result is returned synchronously in order to allow start getting the components\n * before the sources are loaded completely.\n *\n * Warning for package users:\n * This function is out of Semantic Versioning, i.e. can change unexpectedly. Usage is at your own risk.\n */\nfunction loadSources(sources, sourceOptions, excludeSources) {\n var includedSources = Object.keys(sources).filter(function (sourceKey) { return excludes(excludeSources, sourceKey); });\n var sourceGetters = Array(includedSources.length);\n // Using `forEachWithBreaks` allows asynchronous sources to complete between synchronous sources\n // and measure the duration correctly\n forEachWithBreaks(includedSources, function (sourceKey, index) {\n sourceGetters[index] = loadSource(sources[sourceKey], sourceOptions);\n });\n return function getComponents() {\n return __awaiter(this, void 0, void 0, function () {\n var components, _i, includedSources_1, sourceKey, componentPromises, _loop_1, state_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n components = {};\n for (_i = 0, includedSources_1 = includedSources; _i < includedSources_1.length; _i++) {\n sourceKey = includedSources_1[_i];\n components[sourceKey] = undefined;\n }\n componentPromises = Array(includedSources.length);\n _loop_1 = function () {\n var hasAllComponentPromises;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n hasAllComponentPromises = true;\n return [4 /*yield*/, forEachWithBreaks(includedSources, function (sourceKey, index) {\n if (!componentPromises[index]) {\n // `sourceGetters` may be incomplete at this point of execution because `forEachWithBreaks` is asynchronous\n if (sourceGetters[index]) {\n var componentPromise = sourceGetters[index]().then(function (component) { return (components[sourceKey] = component); });\n suppressUnhandledRejectionWarning(componentPromise);\n componentPromises[index] = componentPromise;\n }\n else {\n hasAllComponentPromises = false;\n }\n }\n })];\n case 1:\n _a.sent();\n if (hasAllComponentPromises) {\n return [2 /*return*/, \"break\"];\n }\n return [4 /*yield*/, wait(1)]; // Lets the source load loop continue\n case 2:\n _a.sent(); // Lets the source load loop continue\n return [2 /*return*/];\n }\n });\n };\n _a.label = 1;\n case 1: return [5 /*yield**/, _loop_1()];\n case 2:\n state_1 = _a.sent();\n if (state_1 === \"break\")\n return [3 /*break*/, 4];\n _a.label = 3;\n case 3: return [3 /*break*/, 1];\n case 4: return [4 /*yield*/, Promise.all(componentPromises)];\n case 5:\n _a.sent();\n return [2 /*return*/, components];\n }\n });\n });\n };\n}\n/**\n * Modifies an entropy source by transforming its returned value with the given function.\n * Keeps the source properties: sync/async, 1/2 stages.\n *\n * Warning for package users:\n * This function is out of Semantic Versioning, i.e. can change unexpectedly. Usage is at your own risk.\n */\nfunction transformSource(source, transformValue) {\n var transformLoadResult = function (loadResult) {\n if (isFinalResultLoaded(loadResult)) {\n return transformValue(loadResult);\n }\n return function () {\n var getResult = loadResult();\n if (isPromise(getResult)) {\n return getResult.then(transformValue);\n }\n return transformValue(getResult);\n };\n };\n return function (options) {\n var loadResult = source(options);\n if (isPromise(loadResult)) {\n return loadResult.then(transformLoadResult);\n }\n return transformLoadResult(loadResult);\n };\n}\n\n/*\n * Functions to help with features that vary through browsers\n */\n/**\n * Checks whether the browser is based on Trident (the Internet Explorer engine) without using user-agent.\n *\n * Warning for package users:\n * This function is out of Semantic Versioning, i.e. can change unexpectedly. Usage is at your own risk.\n */\nfunction isTrident() {\n var w = window;\n var n = navigator;\n // The properties are checked to be in IE 10, IE 11 and not to be in other browsers in October 2020\n return (countTruthy([\n 'MSCSSMatrix' in w,\n 'msSetImmediate' in w,\n 'msIndexedDB' in w,\n 'msMaxTouchPoints' in n,\n 'msPointerEnabled' in n,\n ]) >= 4);\n}\n/**\n * Checks whether the browser is based on EdgeHTML (the pre-Chromium Edge engine) without using user-agent.\n *\n * Warning for package users:\n * This function is out of Semantic Versioning, i.e. can change unexpectedly. Usage is at your own risk.\n */\nfunction isEdgeHTML() {\n // Based on research in October 2020\n var w = window;\n var n = navigator;\n return (countTruthy(['msWriteProfilerMark' in w, 'MSStream' in w, 'msLaunchUri' in n, 'msSaveBlob' in n]) >= 3 &&\n !isTrident());\n}\n/**\n * Checks whether the browser is based on Chromium without using user-agent.\n *\n * Warning for package users:\n * This function is out of Semantic Versioning, i.e. can change unexpectedly. Usage is at your own risk.\n */\nfunction isChromium() {\n // Based on research in October 2020. Tested to detect Chromium 42-86.\n var w = window;\n var n = navigator;\n return (countTruthy([\n 'webkitPersistentStorage' in n,\n 'webkitTemporaryStorage' in n,\n n.vendor.indexOf('Google') === 0,\n 'webkitResolveLocalFileSystemURL' in w,\n 'BatteryManager' in w,\n 'webkitMediaStream' in w,\n 'webkitSpeechGrammar' in w,\n ]) >= 5);\n}\n/**\n * Checks whether the browser is based on mobile or desktop Safari without using user-agent.\n * All iOS browsers use WebKit (the Safari engine).\n *\n * Warning for package users:\n * This function is out of Semantic Versioning, i.e. can change unexpectedly. Usage is at your own risk.\n */\nfunction isWebKit() {\n // Based on research in September 2020\n var w = window;\n var n = navigator;\n return (countTruthy([\n 'ApplePayError' in w,\n 'CSSPrimitiveValue' in w,\n 'Counter' in w,\n n.vendor.indexOf('Apple') === 0,\n 'getStorageUpdates' in n,\n 'WebKitMediaKeys' in w,\n ]) >= 4);\n}\n/**\n * Checks whether the WebKit browser is a desktop Safari.\n *\n * Warning for package users:\n * This function is out of Semantic Versioning, i.e. can change unexpectedly. Usage is at your own risk.\n */\nfunction isDesktopSafari() {\n var w = window;\n return (countTruthy([\n 'safari' in w,\n !('DeviceMotionEvent' in w),\n !('ongestureend' in w),\n !('standalone' in navigator),\n ]) >= 3);\n}\n/**\n * Checks whether the browser is based on Gecko (Firefox engine) without using user-agent.\n *\n * Warning for package users:\n * This function is out of Semantic Versioning, i.e. can change unexpectedly. Usage is at your own risk.\n */\nfunction isGecko() {\n var _a, _b;\n var w = window;\n // Based on research in September 2020\n return (countTruthy([\n 'buildID' in navigator,\n 'MozAppearance' in ((_b = (_a = document.documentElement) === null || _a === void 0 ? void 0 : _a.style) !== null && _b !== void 0 ? _b : {}),\n 'onmozfullscreenchange' in w,\n 'mozInnerScreenX' in w,\n 'CSSMozDocumentRule' in w,\n 'CanvasCaptureMediaStream' in w,\n ]) >= 4);\n}\n/**\n * Checks whether the browser is based on Chromium version ≥86 without using user-agent.\n * It doesn't check that the browser is based on Chromium, there is a separate function for this.\n */\nfunction isChromium86OrNewer() {\n // Checked in Chrome 85 vs Chrome 86 both on desktop and Android\n var w = window;\n return (countTruthy([\n !('MediaSettingsRange' in w),\n 'RTCEncodedAudioFrame' in w,\n '' + w.Intl === '[object Intl]',\n '' + w.Reflect === '[object Reflect]',\n ]) >= 3);\n}\n/**\n * Checks whether the browser is based on WebKit version ≥606 (Safari ≥12) without using user-agent.\n * It doesn't check that the browser is based on WebKit, there is a separate function for this.\n *\n * @link https://en.wikipedia.org/wiki/Safari_version_history#Release_history Safari-WebKit versions map\n */\nfunction isWebKit606OrNewer() {\n // Checked in Safari 9–14\n var w = window;\n return (countTruthy([\n 'DOMRectList' in w,\n 'RTCPeerConnectionIceEvent' in w,\n 'SVGGeometryElement' in w,\n 'ontransitioncancel' in w,\n ]) >= 3);\n}\n/**\n * Checks whether the device is an iPad.\n * It doesn't check that the engine is WebKit and that the WebKit isn't desktop.\n */\nfunction isIPad() {\n // Checked on:\n // Safari on iPadOS (both mobile and desktop modes): 8, 11, 12, 13, 14\n // Chrome on iPadOS (both mobile and desktop modes): 11, 12, 13, 14\n // Safari on iOS (both mobile and desktop modes): 9, 10, 11, 12, 13, 14\n // Chrome on iOS (both mobile and desktop modes): 9, 10, 11, 12, 13, 14\n // Before iOS 13. Safari tampers the value in \"request desktop site\" mode since iOS 13.\n if (navigator.platform === 'iPad') {\n return true;\n }\n var s = screen;\n var screenRatio = s.width / s.height;\n return (countTruthy([\n 'MediaSource' in window,\n !!Element.prototype.webkitRequestFullscreen,\n // iPhone 4S that runs iOS 9 matches this. But it won't match the criteria above, so it won't be detected as iPad.\n screenRatio > 0.65 && screenRatio < 1.53,\n ]) >= 2);\n}\n/**\n * Warning for package users:\n * This function is out of Semantic Versioning, i.e. can change unexpectedly. Usage is at your own risk.\n */\nfunction getFullscreenElement() {\n var d = document;\n return d.fullscreenElement || d.msFullscreenElement || d.mozFullScreenElement || d.webkitFullscreenElement || null;\n}\nfunction exitFullscreen() {\n var d = document;\n // `call` is required because the function throws an error without a proper \"this\" context\n return (d.exitFullscreen || d.msExitFullscreen || d.mozCancelFullScreen || d.webkitExitFullscreen).call(d);\n}\n/**\n * Checks whether the device runs on Android without using user-agent.\n *\n * Warning for package users:\n * This function is out of Semantic Versioning, i.e. can change unexpectedly. Usage is at your own risk.\n */\nfunction isAndroid() {\n var isItChromium = isChromium();\n var isItGecko = isGecko();\n // Only 2 browser engines are presented on Android.\n // Actually, there is also Android 4.1 browser, but it's not worth detecting it at the moment.\n if (!isItChromium && !isItGecko) {\n return false;\n }\n var w = window;\n // Chrome removes all words \"Android\" from `navigator` when desktop version is requested\n // Firefox keeps \"Android\" in `navigator.appVersion` when desktop version is requested\n return (countTruthy([\n 'onorientationchange' in w,\n 'orientation' in w,\n isItChromium && !('SharedWorker' in w),\n isItGecko && /android/i.test(navigator.appVersion),\n ]) >= 2);\n}\n\n/**\n * A deep description: https://fingerprint.com/blog/audio-fingerprinting/\n * Inspired by and based on https://github.com/cozylife/audio-fingerprint\n */\nfunction getAudioFingerprint() {\n var w = window;\n var AudioContext = w.OfflineAudioContext || w.webkitOfflineAudioContext;\n if (!AudioContext) {\n return -2 /* NotSupported */;\n }\n // In some browsers, audio context always stays suspended unless the context is started in response to a user action\n // (e.g. a click or a tap). It prevents audio fingerprint from being taken at an arbitrary moment of time.\n // Such browsers are old and unpopular, so the audio fingerprinting is just skipped in them.\n // See a similar case explanation at https://stackoverflow.com/questions/46363048/onaudioprocess-not-called-on-ios11#46534088\n if (doesCurrentBrowserSuspendAudioContext()) {\n return -1 /* KnownToSuspend */;\n }\n var hashFromIndex = 4500;\n var hashToIndex = 5000;\n var context = new AudioContext(1, hashToIndex, 44100);\n var oscillator = context.createOscillator();\n oscillator.type = 'triangle';\n oscillator.frequency.value = 10000;\n var compressor = context.createDynamicsCompressor();\n compressor.threshold.value = -50;\n compressor.knee.value = 40;\n compressor.ratio.value = 12;\n compressor.attack.value = 0;\n compressor.release.value = 0.25;\n oscillator.connect(compressor);\n compressor.connect(context.destination);\n oscillator.start(0);\n var _a = startRenderingAudio(context), renderPromise = _a[0], finishRendering = _a[1];\n var fingerprintPromise = renderPromise.then(function (buffer) { return getHash(buffer.getChannelData(0).subarray(hashFromIndex)); }, function (error) {\n if (error.name === \"timeout\" /* Timeout */ || error.name === \"suspended\" /* Suspended */) {\n return -3 /* Timeout */;\n }\n throw error;\n });\n // Suppresses the console error message in case when the fingerprint fails before requested\n suppressUnhandledRejectionWarning(fingerprintPromise);\n return function () {\n finishRendering();\n return fingerprintPromise;\n };\n}\n/**\n * Checks if the current browser is known to always suspend audio context\n */\nfunction doesCurrentBrowserSuspendAudioContext() {\n return isWebKit() && !isDesktopSafari() && !isWebKit606OrNewer();\n}\n/**\n * Starts rendering the audio context.\n * When the returned function is called, the render process starts finishing.\n */\nfunction startRenderingAudio(context) {\n var renderTryMaxCount = 3;\n var renderRetryDelay = 500;\n var runningMaxAwaitTime = 500;\n var runningSufficientTime = 5000;\n var finalize = function () { return undefined; };\n var resultPromise = new Promise(function (resolve, reject) {\n var isFinalized = false;\n var renderTryCount = 0;\n var startedRunningAt = 0;\n context.oncomplete = function (event) { return resolve(event.renderedBuffer); };\n var startRunningTimeout = function () {\n setTimeout(function () { return reject(makeInnerError(\"timeout\" /* Timeout */)); }, Math.min(runningMaxAwaitTime, startedRunningAt + runningSufficientTime - Date.now()));\n };\n var tryRender = function () {\n try {\n context.startRendering();\n switch (context.state) {\n case 'running':\n startedRunningAt = Date.now();\n if (isFinalized) {\n startRunningTimeout();\n }\n break;\n // Sometimes the audio context doesn't start after calling `startRendering` (in addition to the cases where\n // audio context doesn't start at all). A known case is starting an audio context when the browser tab is in\n // background on iPhone. Retries usually help in this case.\n case 'suspended':\n // The audio context can reject starting until the tab is in foreground. Long fingerprint duration\n // in background isn't a problem, therefore the retry attempts don't count in background. It can lead to\n // a situation when a fingerprint takes very long time and finishes successfully. FYI, the audio context\n // can be suspended when `document.hidden === false` and start running after a retry.\n if (!document.hidden) {\n renderTryCount++;\n }\n if (isFinalized && renderTryCount >= renderTryMaxCount) {\n reject(makeInnerError(\"suspended\" /* Suspended */));\n }\n else {\n setTimeout(tryRender, renderRetryDelay);\n }\n break;\n }\n }\n catch (error) {\n reject(error);\n }\n };\n tryRender();\n finalize = function () {\n if (!isFinalized) {\n isFinalized = true;\n if (startedRunningAt > 0) {\n startRunningTimeout();\n }\n }\n };\n });\n return [resultPromise, finalize];\n}\nfunction getHash(signal) {\n var hash = 0;\n for (var i = 0; i < signal.length; ++i) {\n hash += Math.abs(signal[i]);\n }\n return hash;\n}\nfunction makeInnerError(name) {\n var error = new Error(name);\n error.name = name;\n return error;\n}\n\n/**\n * Creates and keeps an invisible iframe while the given function runs.\n * The given function is called when the iframe is loaded and has a body.\n * The iframe allows to measure DOM sizes inside itself.\n *\n * Notice: passing an initial HTML code doesn't work in IE.\n *\n * Warning for package users:\n * This function is out of Semantic Versioning, i.e. can change unexpectedly. Usage is at your own risk.\n */\nfunction withIframe(action, initialHtml, domPollInterval) {\n var _a, _b, _c;\n if (domPollInterval === void 0) { domPollInterval = 50; }\n return __awaiter(this, void 0, void 0, function () {\n var d, iframe;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n d = document;\n _d.label = 1;\n case 1:\n if (!!d.body) return [3 /*break*/, 3];\n return [4 /*yield*/, wait(domPollInterval)];\n case 2:\n _d.sent();\n return [3 /*break*/, 1];\n case 3:\n iframe = d.createElement('iframe');\n _d.label = 4;\n case 4:\n _d.trys.push([4, , 10, 11]);\n return [4 /*yield*/, new Promise(function (_resolve, _reject) {\n var isComplete = false;\n var resolve = function () {\n isComplete = true;\n _resolve();\n };\n var reject = function (error) {\n isComplete = true;\n _reject(error);\n };\n iframe.onload = resolve;\n iframe.onerror = reject;\n var style = iframe.style;\n style.setProperty('display', 'block', 'important'); // Required for browsers to calculate the layout\n style.position = 'absolute';\n style.top = '0';\n style.left = '0';\n style.visibility = 'hidden';\n if (initialHtml && 'srcdoc' in iframe) {\n iframe.srcdoc = initialHtml;\n }\n else {\n iframe.src = 'about:blank';\n }\n d.body.appendChild(iframe);\n // WebKit in WeChat doesn't fire the iframe's `onload` for some reason.\n // This code checks for the loading state manually.\n // See https://github.com/fingerprintjs/fingerprintjs/issues/645\n var checkReadyState = function () {\n var _a, _b;\n // The ready state may never become 'complete' in Firefox despite the 'load' event being fired.\n // So an infinite setTimeout loop can happen without this check.\n // See https://github.com/fingerprintjs/fingerprintjs/pull/716#issuecomment-986898796\n if (isComplete) {\n return;\n }\n // Make sure iframe.contentWindow and iframe.contentWindow.document are both loaded\n // The contentWindow.document can miss in JSDOM (https://github.com/jsdom/jsdom).\n if (((_b = (_a = iframe.contentWindow) === null || _a === void 0 ? void 0 : _a.document) === null || _b === void 0 ? void 0 : _b.readyState) === 'complete') {\n resolve();\n }\n else {\n setTimeout(checkReadyState, 10);\n }\n };\n checkReadyState();\n })];\n case 5:\n _d.sent();\n _d.label = 6;\n case 6:\n if (!!((_b = (_a = iframe.contentWindow) === null || _a === void 0 ? void 0 : _a.document) === null || _b === void 0 ? void 0 : _b.body)) return [3 /*break*/, 8];\n return [4 /*yield*/, wait(domPollInterval)];\n case 7:\n _d.sent();\n return [3 /*break*/, 6];\n case 8: return [4 /*yield*/, action(iframe, iframe.contentWindow)];\n case 9: return [2 /*return*/, _d.sent()];\n case 10:\n (_c = iframe.parentNode) === null || _c === void 0 ? void 0 : _c.removeChild(iframe);\n return [7 /*endfinally*/];\n case 11: return [2 /*return*/];\n }\n });\n });\n}\n/**\n * Creates a DOM element that matches the given selector.\n * Only single element selector are supported (without operators like space, +, >, etc).\n */\nfunction selectorToElement(selector) {\n var _a = parseSimpleCssSelector(selector), tag = _a[0], attributes = _a[1];\n var element = document.createElement(tag !== null && tag !== void 0 ? tag : 'div');\n for (var _i = 0, _b = Object.keys(attributes); _i < _b.length; _i++) {\n var name_1 = _b[_i];\n var value = attributes[name_1].join(' ');\n // Changing the `style` attribute can cause a CSP error, therefore we change the `style.cssText` property.\n // https://github.com/fingerprintjs/fingerprintjs/issues/733\n if (name_1 === 'style') {\n addStyleString(element.style, value);\n }\n else {\n element.setAttribute(name_1, value);\n }\n }\n return element;\n}\n/**\n * Adds CSS styles from a string in such a way that doesn't trigger a CSP warning (unsafe-inline or unsafe-eval)\n */\nfunction addStyleString(style, source) {\n // We don't use `style.cssText` because browsers must block it when no `unsafe-eval` CSP is presented: https://csplite.com/csp145/#w3c_note\n // Even though the browsers ignore this standard, we don't use `cssText` just in case.\n for (var _i = 0, _a = source.split(';'); _i < _a.length; _i++) {\n var property = _a[_i];\n var match = /^\\s*([\\w-]+)\\s*:\\s*(.+?)(\\s*!([\\w-]+))?\\s*$/.exec(property);\n if (match) {\n var name_2 = match[1], value = match[2], priority = match[4];\n style.setProperty(name_2, value, priority || ''); // The last argument can't be undefined in IE11\n }\n }\n}\n\n// We use m or w because these two characters take up the maximum width.\n// And we use a LLi so that the same matching fonts can get separated.\nvar testString = 'mmMwWLliI0O&1';\n// We test using 48px font size, we may use any size. I guess larger the better.\nvar textSize = '48px';\n// A font will be compared against all the three default fonts.\n// And if for any default fonts it doesn't match, then that font is available.\nvar baseFonts = ['monospace', 'sans-serif', 'serif'];\nvar fontList = [\n // This is android-specific font from \"Roboto\" family\n 'sans-serif-thin',\n 'ARNO PRO',\n 'Agency FB',\n 'Arabic Typesetting',\n 'Arial Unicode MS',\n 'AvantGarde Bk BT',\n 'BankGothic Md BT',\n 'Batang',\n 'Bitstream Vera Sans Mono',\n 'Calibri',\n 'Century',\n 'Century Gothic',\n 'Clarendon',\n 'EUROSTILE',\n 'Franklin Gothic',\n 'Futura Bk BT',\n 'Futura Md BT',\n 'GOTHAM',\n 'Gill Sans',\n 'HELV',\n 'Haettenschweiler',\n 'Helvetica Neue',\n 'Humanst521 BT',\n 'Leelawadee',\n 'Letter Gothic',\n 'Levenim MT',\n 'Lucida Bright',\n 'Lucida Sans',\n 'Menlo',\n 'MS Mincho',\n 'MS Outlook',\n 'MS Reference Specialty',\n 'MS UI Gothic',\n 'MT Extra',\n 'MYRIAD PRO',\n 'Marlett',\n 'Meiryo UI',\n 'Microsoft Uighur',\n 'Minion Pro',\n 'Monotype Corsiva',\n 'PMingLiU',\n 'Pristina',\n 'SCRIPTINA',\n 'Segoe UI Light',\n 'Serifa',\n 'SimHei',\n 'Small Fonts',\n 'Staccato222 BT',\n 'TRAJAN PRO',\n 'Univers CE 55 Medium',\n 'Vrinda',\n 'ZWAdobeF',\n];\n// kudos to http://www.lalit.org/lab/javascript-css-font-detect/\nfunction getFonts() {\n // Running the script in an iframe makes it not affect the page look and not be affected by the page CSS. See:\n // https://github.com/fingerprintjs/fingerprintjs/issues/592\n // https://github.com/fingerprintjs/fingerprintjs/issues/628\n return withIframe(function (_, _a) {\n var document = _a.document;\n var holder = document.body;\n holder.style.fontSize = textSize;\n // div to load spans for the default fonts and the fonts to detect\n var spansContainer = document.createElement('div');\n var defaultWidth = {};\n var defaultHeight = {};\n // creates a span where the fonts will be loaded\n var createSpan = function (fontFamily) {\n var span = document.createElement('span');\n var style = span.style;\n style.position = 'absolute';\n style.top = '0';\n style.left = '0';\n style.fontFamily = fontFamily;\n span.textContent = testString;\n spansContainer.appendChild(span);\n return span;\n };\n // creates a span and load the font to detect and a base font for fallback\n var createSpanWithFonts = function (fontToDetect, baseFont) {\n return createSpan(\"'\" + fontToDetect + \"',\" + baseFont);\n };\n // creates spans for the base fonts and adds them to baseFontsDiv\n var initializeBaseFontsSpans = function () {\n return baseFonts.map(createSpan);\n };\n // creates spans for the fonts to detect and adds them to fontsDiv\n var initializeFontsSpans = function () {\n // Stores {fontName : [spans for that font]}\n var spans = {};\n var _loop_1 = function (font) {\n spans[font] = baseFonts.map(function (baseFont) { return createSpanWithFonts(font, baseFont); });\n };\n for (var _i = 0, fontList_1 = fontList; _i < fontList_1.length; _i++) {\n var font = fontList_1[_i];\n _loop_1(font);\n }\n return spans;\n };\n // checks if a font is available\n var isFontAvailable = function (fontSpans) {\n return baseFonts.some(function (baseFont, baseFontIndex) {\n return fontSpans[baseFontIndex].offsetWidth !== defaultWidth[baseFont] ||\n fontSpans[baseFontIndex].offsetHeight !== defaultHeight[baseFont];\n });\n };\n // create spans for base fonts\n var baseFontsSpans = initializeBaseFontsSpans();\n // create spans for fonts to detect\n var fontsSpans = initializeFontsSpans();\n // add all the spans to the DOM\n holder.appendChild(spansContainer);\n // get the default width for the three base fonts\n for (var index = 0; index < baseFonts.length; index++) {\n defaultWidth[baseFonts[index]] = baseFontsSpans[index].offsetWidth; // width for the default font\n defaultHeight[baseFonts[index]] = baseFontsSpans[index].offsetHeight; // height for the default font\n }\n // check available fonts\n return fontList.filter(function (font) { return isFontAvailable(fontsSpans[font]); });\n });\n}\n\nfunction getPlugins() {\n var rawPlugins = navigator.plugins;\n if (!rawPlugins) {\n return undefined;\n }\n var plugins = [];\n // Safari 10 doesn't support iterating navigator.plugins with for...of\n for (var i = 0; i < rawPlugins.length; ++i) {\n var plugin = rawPlugins[i];\n if (!plugin) {\n continue;\n }\n var mimeTypes = [];\n for (var j = 0; j < plugin.length; ++j) {\n var mimeType = plugin[j];\n mimeTypes.push({\n type: mimeType.type,\n suffixes: mimeType.suffixes,\n });\n }\n plugins.push({\n name: plugin.name,\n description: plugin.description,\n mimeTypes: mimeTypes,\n });\n }\n return plugins;\n}\n\n// https://www.browserleaks.com/canvas#how-does-it-work\nfunction getCanvasFingerprint() {\n var _a = makeCanvasContext(), canvas = _a[0], context = _a[1];\n if (!isSupported(canvas, context)) {\n return { winding: false, geometry: '', text: '' };\n }\n return {\n winding: doesSupportWinding(context),\n geometry: makeGeometryImage(canvas, context),\n // Text is unstable:\n // https://github.com/fingerprintjs/fingerprintjs/issues/583\n // https://github.com/fingerprintjs/fingerprintjs/issues/103\n // Therefore it's extracted into a separate image.\n text: makeTextImage(canvas, context),\n };\n}\nfunction makeCanvasContext() {\n var canvas = document.createElement('canvas');\n canvas.width = 1;\n canvas.height = 1;\n return [canvas, canvas.getContext('2d')];\n}\nfunction isSupported(canvas, context) {\n // TODO: look into: https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob\n return !!(context && canvas.toDataURL);\n}\nfunction doesSupportWinding(context) {\n // https://web.archive.org/web/20170825024655/http://blogs.adobe.com/webplatform/2013/01/30/winding-rules-in-canvas/\n // https://github.com/Modernizr/Modernizr/blob/master/feature-detects/canvas/winding.js\n context.rect(0, 0, 10, 10);\n context.rect(2, 2, 6, 6);\n return !context.isPointInPath(5, 5, 'evenodd');\n}\nfunction makeTextImage(canvas, context) {\n // Resizing the canvas cleans it\n canvas.width = 240;\n canvas.height = 60;\n context.textBaseline = 'alphabetic';\n context.fillStyle = '#f60';\n context.fillRect(100, 1, 62, 20);\n context.fillStyle = '#069';\n // It's important to use explicit built-in fonts in order to exclude the affect of font preferences\n // (there is a separate entropy source for them).\n context.font = '11pt \"Times New Roman\"';\n // The choice of emojis has a gigantic impact on rendering performance (especially in FF).\n // Some newer emojis cause it to slow down 50-200 times.\n // There must be no text to the right of the emoji, see https://github.com/fingerprintjs/fingerprintjs/issues/574\n // A bare emoji shouldn't be used because the canvas will change depending on the script encoding:\n // https://github.com/fingerprintjs/fingerprintjs/issues/66\n // Escape sequence shouldn't be used too because Terser will turn it into a bare unicode.\n var printedText = \"Cwm fjordbank gly \" + String.fromCharCode(55357, 56835) /* 😃 */;\n context.fillText(printedText, 2, 15);\n context.fillStyle = 'rgba(102, 204, 0, 0.2)';\n context.font = '18pt Arial';\n context.fillText(printedText, 4, 45);\n return save(canvas);\n}\nfunction makeGeometryImage(canvas, context) {\n // Resizing the canvas cleans it\n canvas.width = 122;\n canvas.height = 110;\n // Canvas blending\n // https://web.archive.org/web/20170826194121/http://blogs.adobe.com/webplatform/2013/01/28/blending-features-in-canvas/\n // http://jsfiddle.net/NDYV8/16/\n context.globalCompositeOperation = 'multiply';\n for (var _i = 0, _a = [\n ['#f2f', 40, 40],\n ['#2ff', 80, 40],\n ['#ff2', 60, 80],\n ]; _i < _a.length; _i++) {\n var _b = _a[_i], color = _b[0], x = _b[1], y = _b[2];\n context.fillStyle = color;\n context.beginPath();\n context.arc(x, y, 40, 0, Math.PI * 2, true);\n context.closePath();\n context.fill();\n }\n // Canvas winding\n // https://web.archive.org/web/20130913061632/http://blogs.adobe.com/webplatform/2013/01/30/winding-rules-in-canvas/\n // http://jsfiddle.net/NDYV8/19/\n context.fillStyle = '#f9c';\n context.arc(60, 60, 60, 0, Math.PI * 2, true);\n context.arc(60, 60, 20, 0, Math.PI * 2, true);\n context.fill('evenodd');\n return save(canvas);\n}\nfunction save(canvas) {\n // TODO: look into: https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob\n return canvas.toDataURL();\n}\n\n/**\n * This is a crude and primitive touch screen detection. It's not possible to currently reliably detect the availability\n * of a touch screen with a JS, without actually subscribing to a touch event.\n *\n * @see http://www.stucox.com/blog/you-cant-detect-a-touchscreen/\n * @see https://github.com/Modernizr/Modernizr/issues/548\n */\nfunction getTouchSupport() {\n var n = navigator;\n var maxTouchPoints = 0;\n var touchEvent;\n if (n.maxTouchPoints !== undefined) {\n maxTouchPoints = toInt(n.maxTouchPoints);\n }\n else if (n.msMaxTouchPoints !== undefined) {\n maxTouchPoints = n.msMaxTouchPoints;\n }\n try {\n document.createEvent('TouchEvent');\n touchEvent = true;\n }\n catch (_a) {\n touchEvent = false;\n }\n var touchStart = 'ontouchstart' in window;\n return {\n maxTouchPoints: maxTouchPoints,\n touchEvent: touchEvent,\n touchStart: touchStart,\n };\n}\n\nfunction getOsCpu() {\n return navigator.oscpu;\n}\n\nfunction getLanguages() {\n var n = navigator;\n var result = [];\n var language = n.language || n.userLanguage || n.browserLanguage || n.systemLanguage;\n if (language !== undefined) {\n result.push([language]);\n }\n if (Array.isArray(n.languages)) {\n // Starting from Chromium 86, there is only a single value in `navigator.language` in Incognito mode:\n // the value of `navigator.language`. Therefore the value is ignored in this browser.\n if (!(isChromium() && isChromium86OrNewer())) {\n result.push(n.languages);\n }\n }\n else if (typeof n.languages === 'string') {\n var languages = n.languages;\n if (languages) {\n result.push(languages.split(','));\n }\n }\n return result;\n}\n\nfunction getColorDepth() {\n return window.screen.colorDepth;\n}\n\nfunction getDeviceMemory() {\n // `navigator.deviceMemory` is a string containing a number in some unidentified cases\n return replaceNaN(toFloat(navigator.deviceMemory), undefined);\n}\n\nfunction getScreenResolution() {\n var s = screen;\n // Some browsers return screen resolution as strings, e.g. \"1200\", instead of a number, e.g. 1200.\n // I suspect it's done by certain plugins that randomize browser properties to prevent fingerprinting.\n // Some browsers even return screen resolution as not numbers.\n var parseDimension = function (value) { return replaceNaN(toInt(value), null); };\n var dimensions = [parseDimension(s.width), parseDimension(s.height)];\n dimensions.sort().reverse();\n return dimensions;\n}\n\nvar screenFrameCheckInterval = 2500;\nvar roundingPrecision = 10;\n// The type is readonly to protect from unwanted mutations\nvar screenFrameBackup;\nvar screenFrameSizeTimeoutId;\n/**\n * Starts watching the screen frame size. When a non-zero size appears, the size is saved and the watch is stopped.\n * Later, when `getScreenFrame` runs, it will return the saved non-zero size if the current size is null.\n *\n * This trick is required to mitigate the fact that the screen frame turns null in some cases.\n * See more on this at https://github.com/fingerprintjs/fingerprintjs/issues/568\n */\nfunction watchScreenFrame() {\n if (screenFrameSizeTimeoutId !== undefined) {\n return;\n }\n var checkScreenFrame = function () {\n var frameSize = getCurrentScreenFrame();\n if (isFrameSizeNull(frameSize)) {\n screenFrameSizeTimeoutId = setTimeout(checkScreenFrame, screenFrameCheckInterval);\n }\n else {\n screenFrameBackup = frameSize;\n screenFrameSizeTimeoutId = undefined;\n }\n };\n checkScreenFrame();\n}\nfunction getScreenFrame() {\n var _this = this;\n watchScreenFrame();\n return function () { return __awaiter(_this, void 0, void 0, function () {\n var frameSize;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n frameSize = getCurrentScreenFrame();\n if (!isFrameSizeNull(frameSize)) return [3 /*break*/, 2];\n if (screenFrameBackup) {\n return [2 /*return*/, __spreadArrays(screenFrameBackup)];\n }\n if (!getFullscreenElement()) return [3 /*break*/, 2];\n // Some browsers set the screen frame to zero when programmatic fullscreen is on.\n // There is a chance of getting a non-zero frame after exiting the fullscreen.\n // See more on this at https://github.com/fingerprintjs/fingerprintjs/issues/568\n return [4 /*yield*/, exitFullscreen()];\n case 1:\n // Some browsers set the screen frame to zero when programmatic fullscreen is on.\n // There is a chance of getting a non-zero frame after exiting the fullscreen.\n // See more on this at https://github.com/fingerprintjs/fingerprintjs/issues/568\n _a.sent();\n frameSize = getCurrentScreenFrame();\n _a.label = 2;\n case 2:\n if (!isFrameSizeNull(frameSize)) {\n screenFrameBackup = frameSize;\n }\n return [2 /*return*/, frameSize];\n }\n });\n }); };\n}\n/**\n * Sometimes the available screen resolution changes a bit, e.g. 1900x1440 → 1900x1439. A possible reason: macOS Dock\n * shrinks to fit more icons when there is too little space. The rounding is used to mitigate the difference.\n */\nfunction getRoundedScreenFrame() {\n var _this = this;\n var screenFrameGetter = getScreenFrame();\n return function () { return __awaiter(_this, void 0, void 0, function () {\n var frameSize, processSize;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, screenFrameGetter()];\n case 1:\n frameSize = _a.sent();\n processSize = function (sideSize) { return (sideSize === null ? null : round(sideSize, roundingPrecision)); };\n // It might look like I don't know about `for` and `map`.\n // In fact, such code is used to avoid TypeScript issues without using `as`.\n return [2 /*return*/, [processSize(frameSize[0]), processSize(frameSize[1]), processSize(frameSize[2]), processSize(frameSize[3])]];\n }\n });\n }); };\n}\nfunction getCurrentScreenFrame() {\n var s = screen;\n // Some browsers return screen resolution as strings, e.g. \"1200\", instead of a number, e.g. 1200.\n // I suspect it's done by certain plugins that randomize browser properties to prevent fingerprinting.\n //\n // Some browsers (IE, Edge ≤18) don't provide `screen.availLeft` and `screen.availTop`. The property values are\n // replaced with 0 in such cases to not lose the entropy from `screen.availWidth` and `screen.availHeight`.\n return [\n replaceNaN(toFloat(s.availTop), null),\n replaceNaN(toFloat(s.width) - toFloat(s.availWidth) - replaceNaN(toFloat(s.availLeft), 0), null),\n replaceNaN(toFloat(s.height) - toFloat(s.availHeight) - replaceNaN(toFloat(s.availTop), 0), null),\n replaceNaN(toFloat(s.availLeft), null),\n ];\n}\nfunction isFrameSizeNull(frameSize) {\n for (var i = 0; i < 4; ++i) {\n if (frameSize[i]) {\n return false;\n }\n }\n return true;\n}\n\nfunction getHardwareConcurrency() {\n // sometimes hardware concurrency is a string\n return replaceNaN(toInt(navigator.hardwareConcurrency), undefined);\n}\n\nfunction getTimezone() {\n var _a;\n var DateTimeFormat = (_a = window.Intl) === null || _a === void 0 ? void 0 : _a.DateTimeFormat;\n if (DateTimeFormat) {\n var timezone = new DateTimeFormat().resolvedOptions().timeZone;\n if (timezone) {\n return timezone;\n }\n }\n // For browsers that don't support timezone names\n // The minus is intentional because the JS offset is opposite to the real offset\n var offset = -getTimezoneOffset();\n return \"UTC\" + (offset >= 0 ? '+' : '') + Math.abs(offset);\n}\nfunction getTimezoneOffset() {\n var currentYear = new Date().getFullYear();\n // The timezone offset may change over time due to daylight saving time (DST) shifts.\n // The non-DST timezone offset is used as the result timezone offset.\n // Since the DST season differs in the northern and the southern hemispheres,\n // both January and July timezones offsets are considered.\n return Math.max(\n // `getTimezoneOffset` returns a number as a string in some unidentified cases\n toFloat(new Date(currentYear, 0, 1).getTimezoneOffset()), toFloat(new Date(currentYear, 6, 1).getTimezoneOffset()));\n}\n\nfunction getSessionStorage() {\n try {\n return !!window.sessionStorage;\n }\n catch (error) {\n /* SecurityError when referencing it means it exists */\n return true;\n }\n}\n\n// https://bugzilla.mozilla.org/show_bug.cgi?id=781447\nfunction getLocalStorage() {\n try {\n return !!window.localStorage;\n }\n catch (e) {\n /* SecurityError when referencing it means it exists */\n return true;\n }\n}\n\nfunction getIndexedDB() {\n // IE and Edge don't allow accessing indexedDB in private mode, therefore IE and Edge will have different\n // visitor identifier in normal and private modes.\n if (isTrident() || isEdgeHTML()) {\n return undefined;\n }\n try {\n return !!window.indexedDB;\n }\n catch (e) {\n /* SecurityError when referencing it means it exists */\n return true;\n }\n}\n\nfunction getOpenDatabase() {\n return !!window.openDatabase;\n}\n\nfunction getCpuClass() {\n return navigator.cpuClass;\n}\n\nfunction getPlatform() {\n // Android Chrome 86 and 87 and Android Firefox 80 and 84 don't mock the platform value when desktop mode is requested\n var platform = navigator.platform;\n // iOS mocks the platform value when desktop version is requested: https://github.com/fingerprintjs/fingerprintjs/issues/514\n // iPad uses desktop mode by default since iOS 13\n // The value is 'MacIntel' on M1 Macs\n // The value is 'iPhone' on iPod Touch\n if (platform === 'MacIntel') {\n if (isWebKit() && !isDesktopSafari()) {\n return isIPad() ? 'iPad' : 'iPhone';\n }\n }\n return platform;\n}\n\nfunction getVendor() {\n return navigator.vendor || '';\n}\n\n/**\n * Checks for browser-specific (not engine specific) global variables to tell browsers with the same engine apart.\n * Only somewhat popular browsers are considered.\n */\nfunction getVendorFlavors() {\n var flavors = [];\n for (var _i = 0, _a = [\n // Blink and some browsers on iOS\n 'chrome',\n // Safari on macOS\n 'safari',\n // Chrome on iOS (checked in 85 on 13 and 87 on 14)\n '__crWeb',\n '__gCrWeb',\n // Yandex Browser on iOS, macOS and Android (checked in 21.2 on iOS 14, macOS and Android)\n 'yandex',\n // Yandex Browser on iOS (checked in 21.2 on 14)\n '__yb',\n '__ybro',\n // Firefox on iOS (checked in 32 on 14)\n '__firefox__',\n // Edge on iOS (checked in 46 on 14)\n '__edgeTrackingPreventionStatistics',\n 'webkit',\n // Opera Touch on iOS (checked in 2.6 on 14)\n 'oprt',\n // Samsung Internet on Android (checked in 11.1)\n 'samsungAr',\n // UC Browser on Android (checked in 12.10 and 13.0)\n 'ucweb',\n 'UCShellJava',\n // Puffin on Android (checked in 9.0)\n 'puffinDevice',\n ]; _i < _a.length; _i++) {\n var key = _a[_i];\n var value = window[key];\n if (value && typeof value === 'object') {\n flavors.push(key);\n }\n }\n return flavors.sort();\n}\n\n/**\n * navigator.cookieEnabled cannot detect custom or nuanced cookie blocking configurations. For example, when blocking\n * cookies via the Advanced Privacy Settings in IE9, it always returns true. And there have been issues in the past with\n * site-specific exceptions. Don't rely on it.\n *\n * @see https://github.com/Modernizr/Modernizr/blob/master/feature-detects/cookies.js Taken from here\n */\nfunction areCookiesEnabled() {\n var d = document;\n // Taken from here: https://github.com/Modernizr/Modernizr/blob/master/feature-detects/cookies.js\n // navigator.cookieEnabled cannot detect custom or nuanced cookie blocking configurations. For example, when blocking\n // cookies via the Advanced Privacy Settings in IE9, it always returns true. And there have been issues in the past\n // with site-specific exceptions. Don't rely on it.\n // try..catch because some in situations `document.cookie` is exposed but throws a\n // SecurityError if you try to access it; e.g. documents created from data URIs\n // or in sandboxed iframes (depending on flags/context)\n try {\n // Create cookie\n d.cookie = 'cookietest=1; SameSite=Strict;';\n var result = d.cookie.indexOf('cookietest=') !== -1;\n // Delete cookie\n d.cookie = 'cookietest=1; SameSite=Strict; expires=Thu, 01-Jan-1970 00:00:01 GMT';\n return result;\n }\n catch (e) {\n return false;\n }\n}\n\n/**\n * Only single element selector are supported (no operators like space, +, >, etc).\n * `embed` and `position: fixed;` will be considered as blocked anyway because it always has no offsetParent.\n * Avoid `iframe` and anything with `[src=]` because they produce excess HTTP requests.\n *\n * See docs/content_blockers.md to learn how to make the list\n */\nvar filters = {\n abpIndo: [\n '#Iklan-Melayang',\n '#Kolom-Iklan-728',\n '#SidebarIklan-wrapper',\n 'a[title=\"7naga poker\" i]',\n '[title=\"ALIENBOLA\" i]',\n ],\n abpvn: [\n '#quangcaomb',\n '.iosAdsiosAds-layout',\n '.quangcao',\n '[href^=\"https://r88.vn/\"]',\n '[href^=\"https://zbet.vn/\"]',\n ],\n adBlockFinland: [\n '.mainostila',\n '.sponsorit',\n '.ylamainos',\n 'a[href*=\"/clickthrgh.asp?\"]',\n 'a[href^=\"https://app.readpeak.com/ads\"]',\n ],\n adBlockPersian: ['#navbar_notice_50', '.kadr', 'TABLE[width=\"140px\"]', '#divAgahi', '#ad2_inline'],\n adBlockWarningRemoval: [\n '#adblock-honeypot',\n '.adblocker-root',\n '.wp_adblock_detect',\n '.header-blocked-ad',\n '#ad_blocker',\n ],\n adGuardAnnoyances: ['amp-embed[type=\"zen\"]', '.hs-sosyal', '#cookieconsentdiv', 'div[class^=\"app_gdpr\"]', '.as-oil'],\n adGuardBase: ['.BetterJsPopOverlay', '#ad_300X250', '#bannerfloat22', '#ad-banner', '#campaign-banner'],\n adGuardChinese: ['.Zi_ad_a_H', 'a[href*=\"/od005.com\"]', 'a[href*=\".hthbet34.com\"]', '.qq_nr_lad', '#widget-quan'],\n adGuardFrench: [\n '#block-views-ads-sidebar-block-block',\n '#pavePub',\n '.ad-desktop-rectangle',\n '.mobile_adhesion',\n '.widgetadv',\n ],\n adGuardGerman: [\n '.banneritemwerbung_head_1',\n '.boxstartwerbung',\n '.werbung3',\n 'a[href^=\"http://www.eis.de/index.phtml?refid=\"]',\n 'a[href^=\"https://www.tipico.com/?affiliateId=\"]',\n ],\n adGuardJapanese: [\n '#kauli_yad_1',\n 'a[href^=\"http://ad2.trafficgate.net/\"]',\n '._popIn_infinite_ad',\n '.adgoogle',\n '.ad_regular3',\n ],\n adGuardMobile: ['amp-auto-ads', '.amp_ad', 'amp-embed[type=\"24smi\"]', '#mgid_iframe1', '#ad_inview_area'],\n adGuardRussian: [\n 'a[href^=\"https://ad.letmeads.com/\"]',\n '.reclama',\n 'div[id^=\"smi2adblock\"]',\n 'div[id^=\"AdFox_banner_\"]',\n '#ad_square',\n ],\n adGuardSocial: [\n 'a[href^=\"//www.stumbleupon.com/submit?url=\"]',\n 'a[href^=\"//telegram.me/share/url?\"]',\n '.etsy-tweet',\n '#inlineShare',\n '.popup-social',\n ],\n adGuardSpanishPortuguese: [\n '#barraPublicidade',\n '#Publicidade',\n '#publiEspecial',\n '#queTooltip',\n '[href^=\"http://ads.glispa.com/\"]',\n ],\n adGuardTrackingProtection: [\n '#qoo-counter',\n 'a[href^=\"http://click.hotlog.ru/\"]',\n 'a[href^=\"http://hitcounter.ru/top/stat.php\"]',\n 'a[href^=\"http://top.mail.ru/jump\"]',\n '#top100counter',\n ],\n adGuardTurkish: [\n '#backkapat',\n '#reklami',\n 'a[href^=\"http://adserv.ontek.com.tr/\"]',\n 'a[href^=\"http://izlenzi.com/campaign/\"]',\n 'a[href^=\"http://www.installads.net/\"]',\n ],\n bulgarian: ['td#freenet_table_ads', '#ea_intext_div', '.lapni-pop-over', '#xenium_hot_offers', '#newAd'],\n easyList: [\n '#AD_CONTROL_28',\n '.second-post-ads-wrapper',\n '.universalboxADVBOX03',\n '.advertisement-728x90',\n '.square_ads',\n ],\n easyListChina: [\n 'a[href*=\".wensixuetang.com/\"]',\n '.appguide-wrap[onclick*=\"bcebos.com\"]',\n '.frontpageAdvM',\n '#taotaole',\n '#aafoot.top_box',\n ],\n easyListCookie: [\n '#AdaCompliance.app-notice',\n '.text-center.rgpd',\n '.panel--cookie',\n '.js-cookies-andromeda',\n '.elxtr-consent',\n ],\n easyListCzechSlovak: ['#onlajny-stickers', '#reklamni-box', '.reklama-megaboard', '.sklik', '[id^=\"sklikReklama\"]'],\n easyListDutch: [\n '#advertentie',\n '#vipAdmarktBannerBlock',\n '.adstekst',\n 'a[href^=\"https://xltube.nl/click/\"]',\n '#semilo-lrectangle',\n ],\n easyListGermany: [\n '#Ad_Win2day',\n '#werbungsbox300',\n 'a[href^=\"http://www.rotlichtkartei.com/?sc=\"]',\n '#werbung_wideskyscraper_screen',\n 'a[href^=\"http://landing.parkplatzkartei.com/?ag=\"]',\n ],\n easyListItaly: [\n '.box_adv_annunci',\n '.sb-box-pubbliredazionale',\n 'a[href^=\"http://affiliazioniads.snai.it/\"]',\n 'a[href^=\"https://adserver.html.it/\"]',\n 'a[href^=\"https://affiliazioniads.snai.it/\"]',\n ],\n easyListLithuania: [\n '.reklamos_tarpas',\n '.reklamos_nuorodos',\n 'img[alt=\"Reklaminis skydelis\"]',\n 'img[alt=\"Dedikuoti.lt serveriai\"]',\n 'img[alt=\"Hostingas Serveriai.lt\"]',\n ],\n estonian: ['A[href*=\"http://pay4results24.eu\"]'],\n fanboyAnnoyances: [\n '#feedback-tab',\n '#taboola-below-article',\n '.feedburnerFeedBlock',\n '.widget-feedburner-counter',\n '[title=\"Subscribe to our blog\"]',\n ],\n fanboyAntiFacebook: ['.util-bar-module-firefly-visible'],\n fanboyEnhancedTrackers: [\n '.open.pushModal',\n '#issuem-leaky-paywall-articles-zero-remaining-nag',\n '#sovrn_container',\n 'div[class$=\"-hide\"][zoompage-fontsize][style=\"display: block;\"]',\n '.BlockNag__Card',\n ],\n fanboySocial: [\n '.td-tags-and-social-wrapper-box',\n '.twitterContainer',\n '.youtube-social',\n 'a[title^=\"Like us on Facebook\"]',\n 'img[alt^=\"Share on Digg\"]',\n ],\n frellwitSwedish: [\n 'a[href*=\"casinopro.se\"][target=\"_blank\"]',\n 'a[href*=\"doktor-se.onelink.me\"]',\n 'article.category-samarbete',\n 'div.holidAds',\n 'ul.adsmodern',\n ],\n greekAdBlock: [\n 'A[href*=\"adman.otenet.gr/click?\"]',\n 'A[href*=\"http://axiabanners.exodus.gr/\"]',\n 'A[href*=\"http://interactive.forthnet.gr/click?\"]',\n 'DIV.agores300',\n 'TABLE.advright',\n ],\n hungarian: ['#cemp_doboz', '.optimonk-iframe-container', '.ad__main', '[class*=\"GoogleAds\"]', '#hirdetesek_box'],\n iDontCareAboutCookies: [\n '.alert-info[data-block-track*=\"CookieNotice\"]',\n '.ModuleTemplateCookieIndicator',\n '.o--cookies--container',\n '.cookie-msg-info-container',\n '#cookies-policy-sticky',\n ],\n icelandicAbp: ['A[href^=\"/framework/resources/forms/ads.aspx\"]'],\n latvian: [\n 'a[href=\"http://www.salidzini.lv/\"][style=\"display: block; width: 120px; height: 40px; overflow: hidden; position: relative;\"]',\n 'a[href=\"http://www.salidzini.lv/\"][style=\"display: block; width: 88px; height: 31px; overflow: hidden; position: relative;\"]',\n ],\n listKr: [\n 'a[href*=\"//ad.planbplus.co.kr/\"]',\n '#livereAdWrapper',\n 'a[href*=\"//adv.imadrep.co.kr/\"]',\n 'ins.fastview-ad',\n '.revenue_unit_item.dable',\n ],\n listeAr: [\n '.geminiLB1Ad',\n '.right-and-left-sponsers',\n 'a[href*=\".aflam.info\"]',\n 'a[href*=\"booraq.org\"]',\n 'a[href*=\"dubizzle.com/ar/?utm_source=\"]',\n ],\n listeFr: [\n 'a[href^=\"http://promo.vador.com/\"]',\n '#adcontainer_recherche',\n 'a[href*=\"weborama.fr/fcgi-bin/\"]',\n '.site-pub-interstitiel',\n 'div[id^=\"crt-\"][data-criteo-id]',\n ],\n officialPolish: [\n '#ceneo-placeholder-ceneo-12',\n '[href^=\"https://aff.sendhub.pl/\"]',\n 'a[href^=\"http://advmanager.techfun.pl/redirect/\"]',\n 'a[href^=\"http://www.trizer.pl/?utm_source\"]',\n 'div#skapiec_ad',\n ],\n ro: [\n 'a[href^=\"//afftrk.altex.ro/Counter/Click\"]',\n 'a[href^=\"/magazin/\"]',\n 'a[href^=\"https://blackfridaysales.ro/trk/shop/\"]',\n 'a[href^=\"https://event.2performant.com/events/click\"]',\n 'a[href^=\"https://l.profitshare.ro/\"]',\n ],\n ruAd: [\n 'a[href*=\"//febrare.ru/\"]',\n 'a[href*=\"//utimg.ru/\"]',\n 'a[href*=\"://chikidiki.ru\"]',\n '#pgeldiz',\n '.yandex-rtb-block',\n ],\n thaiAds: ['a[href*=macau-uta-popup]', '#ads-google-middle_rectangle-group', '.ads300s', '.bumq', '.img-kosana'],\n webAnnoyancesUltralist: [\n '#mod-social-share-2',\n '#social-tools',\n '.ctpl-fullbanner',\n '.zergnet-recommend',\n '.yt.btn-link.btn-md.btn',\n ],\n};\n/**\n * The order of the returned array means nothing (it's always sorted alphabetically).\n *\n * Notice that the source is slightly unstable.\n * Safari provides a 2-taps way to disable all content blockers on a page temporarily.\n * Also content blockers can be disabled permanently for a domain, but it requires 4 taps.\n * So empty array shouldn't be treated as \"no blockers\", it should be treated as \"no signal\".\n * If you are a website owner, don't make your visitors want to disable content blockers.\n */\nfunction getDomBlockers(_a) {\n var debug = (_a === void 0 ? {} : _a).debug;\n return __awaiter(this, void 0, void 0, function () {\n var filterNames, allSelectors, blockedSelectors, activeBlockers;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (!isApplicable()) {\n return [2 /*return*/, undefined];\n }\n filterNames = Object.keys(filters);\n allSelectors = (_b = []).concat.apply(_b, filterNames.map(function (filterName) { return filters[filterName]; }));\n return [4 /*yield*/, getBlockedSelectors(allSelectors)];\n case 1:\n blockedSelectors = _c.sent();\n if (debug) {\n printDebug(blockedSelectors);\n }\n activeBlockers = filterNames.filter(function (filterName) {\n var selectors = filters[filterName];\n var blockedCount = countTruthy(selectors.map(function (selector) { return blockedSelectors[selector]; }));\n return blockedCount > selectors.length * 0.6;\n });\n activeBlockers.sort();\n return [2 /*return*/, activeBlockers];\n }\n });\n });\n}\nfunction isApplicable() {\n // Safari (desktop and mobile) and all Android browsers keep content blockers in both regular and private mode\n return isWebKit() || isAndroid();\n}\nfunction getBlockedSelectors(selectors) {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var d, root, elements, blockedSelectors, i, element, holder, i;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n d = document;\n root = d.createElement('div');\n elements = new Array(selectors.length);\n blockedSelectors = {} // Set() isn't used just in case somebody need older browser support\n ;\n forceShow(root);\n // First create all elements that can be blocked. If the DOM steps below are done in a single cycle,\n // browser will alternate tree modification and layout reading, that is very slow.\n for (i = 0; i < selectors.length; ++i) {\n element = selectorToElement(selectors[i]);\n holder = d.createElement('div') // Protects from unwanted effects of `+` and `~` selectors of filters\n ;\n forceShow(holder);\n holder.appendChild(element);\n root.appendChild(holder);\n elements[i] = element;\n }\n _b.label = 1;\n case 1:\n if (!!d.body) return [3 /*break*/, 3];\n return [4 /*yield*/, wait(50)];\n case 2:\n _b.sent();\n return [3 /*break*/, 1];\n case 3:\n d.body.appendChild(root);\n try {\n // Then check which of the elements are blocked\n for (i = 0; i < selectors.length; ++i) {\n if (!elements[i].offsetParent) {\n blockedSelectors[selectors[i]] = true;\n }\n }\n }\n finally {\n // Then remove the elements\n (_a = root.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(root);\n }\n return [2 /*return*/, blockedSelectors];\n }\n });\n });\n}\nfunction forceShow(element) {\n element.style.setProperty('display', 'block', 'important');\n}\nfunction printDebug(blockedSelectors) {\n var message = 'DOM blockers debug:\\n```';\n for (var _i = 0, _a = Object.keys(filters); _i < _a.length; _i++) {\n var filterName = _a[_i];\n message += \"\\n\" + filterName + \":\";\n for (var _b = 0, _c = filters[filterName]; _b < _c.length; _b++) {\n var selector = _c[_b];\n message += \"\\n \" + selector + \" \" + (blockedSelectors[selector] ? '🚫' : 'âž¡ï¸');\n }\n }\n // console.log is ok here because it's under a debug clause\n // eslint-disable-next-line no-console\n console.log(message + \"\\n```\");\n}\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@media/color-gamut\n */\nfunction getColorGamut() {\n // rec2020 includes p3 and p3 includes srgb\n for (var _i = 0, _a = ['rec2020', 'p3', 'srgb']; _i < _a.length; _i++) {\n var gamut = _a[_i];\n if (matchMedia(\"(color-gamut: \" + gamut + \")\").matches) {\n return gamut;\n }\n }\n return undefined;\n}\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@media/inverted-colors\n */\nfunction areColorsInverted() {\n if (doesMatch$4('inverted')) {\n return true;\n }\n if (doesMatch$4('none')) {\n return false;\n }\n return undefined;\n}\nfunction doesMatch$4(value) {\n return matchMedia(\"(inverted-colors: \" + value + \")\").matches;\n}\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@media/forced-colors\n */\nfunction areColorsForced() {\n if (doesMatch$3('active')) {\n return true;\n }\n if (doesMatch$3('none')) {\n return false;\n }\n return undefined;\n}\nfunction doesMatch$3(value) {\n return matchMedia(\"(forced-colors: \" + value + \")\").matches;\n}\n\nvar maxValueToCheck = 100;\n/**\n * If the display is monochrome (e.g. black&white), the value will be ≥0 and will mean the number of bits per pixel.\n * If the display is not monochrome, the returned value will be 0.\n * If the browser doesn't support this feature, the returned value will be undefined.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@media/monochrome\n */\nfunction getMonochromeDepth() {\n if (!matchMedia('(min-monochrome: 0)').matches) {\n // The media feature isn't supported by the browser\n return undefined;\n }\n // A variation of binary search algorithm can be used here.\n // But since expected values are very small (≤10), there is no sense in adding the complexity.\n for (var i = 0; i <= maxValueToCheck; ++i) {\n if (matchMedia(\"(max-monochrome: \" + i + \")\").matches) {\n return i;\n }\n }\n throw new Error('Too high value');\n}\n\n/**\n * @see https://www.w3.org/TR/mediaqueries-5/#prefers-contrast\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-contrast\n */\nfunction getContrastPreference() {\n if (doesMatch$2('no-preference')) {\n return 0 /* None */;\n }\n // The sources contradict on the keywords. Probably 'high' and 'low' will never be implemented.\n // Need to check it when all browsers implement the feature.\n if (doesMatch$2('high') || doesMatch$2('more')) {\n return 1 /* More */;\n }\n if (doesMatch$2('low') || doesMatch$2('less')) {\n return -1 /* Less */;\n }\n if (doesMatch$2('forced')) {\n return 10 /* ForcedColors */;\n }\n return undefined;\n}\nfunction doesMatch$2(value) {\n return matchMedia(\"(prefers-contrast: \" + value + \")\").matches;\n}\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion\n */\nfunction isMotionReduced() {\n if (doesMatch$1('reduce')) {\n return true;\n }\n if (doesMatch$1('no-preference')) {\n return false;\n }\n return undefined;\n}\nfunction doesMatch$1(value) {\n return matchMedia(\"(prefers-reduced-motion: \" + value + \")\").matches;\n}\n\n/**\n * @see https://www.w3.org/TR/mediaqueries-5/#dynamic-range\n */\nfunction isHDR() {\n if (doesMatch('high')) {\n return true;\n }\n if (doesMatch('standard')) {\n return false;\n }\n return undefined;\n}\nfunction doesMatch(value) {\n return matchMedia(\"(dynamic-range: \" + value + \")\").matches;\n}\n\nvar M = Math; // To reduce the minified code size\nvar fallbackFn = function () { return 0; };\n/**\n * @see https://gitlab.torproject.org/legacy/trac/-/issues/13018\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=531915\n */\nfunction getMathFingerprint() {\n // Native operations\n var acos = M.acos || fallbackFn;\n var acosh = M.acosh || fallbackFn;\n var asin = M.asin || fallbackFn;\n var asinh = M.asinh || fallbackFn;\n var atanh = M.atanh || fallbackFn;\n var atan = M.atan || fallbackFn;\n var sin = M.sin || fallbackFn;\n var sinh = M.sinh || fallbackFn;\n var cos = M.cos || fallbackFn;\n var cosh = M.cosh || fallbackFn;\n var tan = M.tan || fallbackFn;\n var tanh = M.tanh || fallbackFn;\n var exp = M.exp || fallbackFn;\n var expm1 = M.expm1 || fallbackFn;\n var log1p = M.log1p || fallbackFn;\n // Operation polyfills\n var powPI = function (value) { return M.pow(M.PI, value); };\n var acoshPf = function (value) { return M.log(value + M.sqrt(value * value - 1)); };\n var asinhPf = function (value) { return M.log(value + M.sqrt(value * value + 1)); };\n var atanhPf = function (value) { return M.log((1 + value) / (1 - value)) / 2; };\n var sinhPf = function (value) { return M.exp(value) - 1 / M.exp(value) / 2; };\n var coshPf = function (value) { return (M.exp(value) + 1 / M.exp(value)) / 2; };\n var expm1Pf = function (value) { return M.exp(value) - 1; };\n var tanhPf = function (value) { return (M.exp(2 * value) - 1) / (M.exp(2 * value) + 1); };\n var log1pPf = function (value) { return M.log(1 + value); };\n // Note: constant values are empirical\n return {\n acos: acos(0.123124234234234242),\n acosh: acosh(1e308),\n acoshPf: acoshPf(1e154),\n asin: asin(0.123124234234234242),\n asinh: asinh(1),\n asinhPf: asinhPf(1),\n atanh: atanh(0.5),\n atanhPf: atanhPf(0.5),\n atan: atan(0.5),\n sin: sin(-1e300),\n sinh: sinh(1),\n sinhPf: sinhPf(1),\n cos: cos(10.000000000123),\n cosh: cosh(1),\n coshPf: coshPf(1),\n tan: tan(-1e300),\n tanh: tanh(1),\n tanhPf: tanhPf(1),\n exp: exp(1),\n expm1: expm1(1),\n expm1Pf: expm1Pf(1),\n log1p: log1p(10),\n log1pPf: log1pPf(10),\n powPI: powPI(-100),\n };\n}\n\n/**\n * We use m or w because these two characters take up the maximum width.\n * Also there are a couple of ligatures.\n */\nvar defaultText = 'mmMwWLliI0fiflO&1';\n/**\n * Settings of text blocks to measure. The keys are random but persistent words.\n */\nvar presets = {\n /**\n * The default font. User can change it in desktop Chrome, desktop Firefox, IE 11,\n * Android Chrome (but only when the size is ≥ than the default) and Android Firefox.\n */\n default: [],\n /** OS font on macOS. User can change its size and weight. Applies after Safari restart. */\n apple: [{ font: '-apple-system-body' }],\n /** User can change it in desktop Chrome and desktop Firefox. */\n serif: [{ fontFamily: 'serif' }],\n /** User can change it in desktop Chrome and desktop Firefox. */\n sans: [{ fontFamily: 'sans-serif' }],\n /** User can change it in desktop Chrome and desktop Firefox. */\n mono: [{ fontFamily: 'monospace' }],\n /**\n * Check the smallest allowed font size. User can change it in desktop Chrome, desktop Firefox and desktop Safari.\n * The height can be 0 in Chrome on a retina display.\n */\n min: [{ fontSize: '1px' }],\n /** Tells one OS from another in desktop Chrome. */\n system: [{ fontFamily: 'system-ui' }],\n};\n/**\n * The result is a dictionary of the width of the text samples.\n * Heights aren't included because they give no extra entropy and are unstable.\n *\n * The result is very stable in IE 11, Edge 18 and Safari 14.\n * The result changes when the OS pixel density changes in Chromium 87. The real pixel density is required to solve,\n * but seems like it's impossible: https://stackoverflow.com/q/1713771/1118709.\n * The \"min\" and the \"mono\" (only on Windows) value may change when the page is zoomed in Firefox 87.\n */\nfunction getFontPreferences() {\n return withNaturalFonts(function (document, container) {\n var elements = {};\n var sizes = {};\n // First create all elements to measure. If the DOM steps below are done in a single cycle,\n // browser will alternate tree modification and layout reading, that is very slow.\n for (var _i = 0, _a = Object.keys(presets); _i < _a.length; _i++) {\n var key = _a[_i];\n var _b = presets[key], _c = _b[0], style = _c === void 0 ? {} : _c, _d = _b[1], text = _d === void 0 ? defaultText : _d;\n var element = document.createElement('span');\n element.textContent = text;\n element.style.whiteSpace = 'nowrap';\n for (var _e = 0, _f = Object.keys(style); _e < _f.length; _e++) {\n var name_1 = _f[_e];\n var value = style[name_1];\n if (value !== undefined) {\n element.style[name_1] = value;\n }\n }\n elements[key] = element;\n container.appendChild(document.createElement('br'));\n container.appendChild(element);\n }\n // Then measure the created elements\n for (var _g = 0, _h = Object.keys(presets); _g < _h.length; _g++) {\n var key = _h[_g];\n sizes[key] = elements[key].getBoundingClientRect().width;\n }\n return sizes;\n });\n}\n/**\n * Creates a DOM environment that provides the most natural font available, including Android OS font.\n * Measurements of the elements are zoom-independent.\n * Don't put a content to measure inside an absolutely positioned element.\n */\nfunction withNaturalFonts(action, containerWidthPx) {\n if (containerWidthPx === void 0) { containerWidthPx = 4000; }\n /*\n * Requirements for Android Chrome to apply the system font size to a text inside an iframe:\n * - The iframe mustn't have a `display: none;` style;\n * - The text mustn't be positioned absolutely;\n * - The text block must be wide enough.\n * 2560px on some devices in portrait orientation for the biggest font size option (32px);\n * - There must be much enough text to form a few lines (I don't know the exact numbers);\n * - The text must have the `text-size-adjust: none` style. Otherwise the text will scale in \"Desktop site\" mode;\n *\n * Requirements for Android Firefox to apply the system font size to a text inside an iframe:\n * - The iframe document must have a header: `<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />`.\n * The only way to set it is to use the `srcdoc` attribute of the iframe;\n * - The iframe content must get loaded before adding extra content with JavaScript;\n *\n * https://example.com as the iframe target always inherits Android font settings so it can be used as a reference.\n *\n * Observations on how page zoom affects the measurements:\n * - macOS Safari 11.1, 12.1, 13.1, 14.0: zoom reset + offsetWidth = 100% reliable;\n * - macOS Safari 11.1, 12.1, 13.1, 14.0: zoom reset + getBoundingClientRect = 100% reliable;\n * - macOS Safari 14.0: offsetWidth = 5% fluctuation;\n * - macOS Safari 14.0: getBoundingClientRect = 5% fluctuation;\n * - iOS Safari 9, 10, 11.0, 12.0: haven't found a way to zoom a page (pinch doesn't change layout);\n * - iOS Safari 13.1, 14.0: zoom reset + offsetWidth = 100% reliable;\n * - iOS Safari 13.1, 14.0: zoom reset + getBoundingClientRect = 100% reliable;\n * - iOS Safari 14.0: offsetWidth = 100% reliable;\n * - iOS Safari 14.0: getBoundingClientRect = 100% reliable;\n * - Chrome 42, 65, 80, 87: zoom 1/devicePixelRatio + offsetWidth = 1px fluctuation;\n * - Chrome 42, 65, 80, 87: zoom 1/devicePixelRatio + getBoundingClientRect = 100% reliable;\n * - Chrome 87: offsetWidth = 1px fluctuation;\n * - Chrome 87: getBoundingClientRect = 0.7px fluctuation;\n * - Firefox 48, 51: offsetWidth = 10% fluctuation;\n * - Firefox 48, 51: getBoundingClientRect = 10% fluctuation;\n * - Firefox 52, 53, 57, 62, 66, 67, 68, 71, 75, 80, 84: offsetWidth = width 100% reliable, height 10% fluctuation;\n * - Firefox 52, 53, 57, 62, 66, 67, 68, 71, 75, 80, 84: getBoundingClientRect = width 100% reliable, height 10%\n * fluctuation;\n * - Android Chrome 86: haven't found a way to zoom a page (pinch doesn't change layout);\n * - Android Firefox 84: font size in accessibility settings changes all the CSS sizes, but offsetWidth and\n * getBoundingClientRect keep measuring with regular units, so the size reflects the font size setting and doesn't\n * fluctuate;\n * - IE 11, Edge 18: zoom 1/devicePixelRatio + offsetWidth = 100% reliable;\n * - IE 11, Edge 18: zoom 1/devicePixelRatio + getBoundingClientRect = reflects the zoom level;\n * - IE 11, Edge 18: offsetWidth = 100% reliable;\n * - IE 11, Edge 18: getBoundingClientRect = 100% reliable;\n */\n return withIframe(function (_, iframeWindow) {\n var iframeDocument = iframeWindow.document;\n var iframeBody = iframeDocument.body;\n var bodyStyle = iframeBody.style;\n bodyStyle.width = containerWidthPx + \"px\";\n bodyStyle.webkitTextSizeAdjust = bodyStyle.textSizeAdjust = 'none';\n // See the big comment above\n if (isChromium()) {\n iframeBody.style.zoom = \"\" + 1 / iframeWindow.devicePixelRatio;\n }\n else if (isWebKit()) {\n iframeBody.style.zoom = 'reset';\n }\n // See the big comment above\n var linesOfText = iframeDocument.createElement('div');\n linesOfText.textContent = __spreadArrays(Array((containerWidthPx / 20) << 0)).map(function () { return 'word'; }).join(' ');\n iframeBody.appendChild(linesOfText);\n return action(iframeDocument, iframeBody);\n }, '<!doctype html><html><head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">');\n}\n\n/**\n * The list of entropy sources used to make visitor identifiers.\n *\n * This value isn't restricted by Semantic Versioning, i.e. it may be changed without bumping minor or major version of\n * this package.\n *\n * Note: Rollup and Webpack are smart enough to remove unused properties of this object during tree-shaking, so there is\n * no need to export the sources individually.\n */\nvar sources = {\n // READ FIRST:\n // See https://github.com/fingerprintjs/fingerprintjs/blob/master/contributing.md#how-to-make-an-entropy-source\n // to learn how entropy source works and how to make your own.\n // The sources run in this exact order.\n // The asynchronous sources are at the start to run in parallel with other sources.\n fonts: getFonts,\n domBlockers: getDomBlockers,\n fontPreferences: getFontPreferences,\n audio: getAudioFingerprint,\n screenFrame: getRoundedScreenFrame,\n osCpu: getOsCpu,\n languages: getLanguages,\n colorDepth: getColorDepth,\n deviceMemory: getDeviceMemory,\n screenResolution: getScreenResolution,\n hardwareConcurrency: getHardwareConcurrency,\n timezone: getTimezone,\n sessionStorage: getSessionStorage,\n localStorage: getLocalStorage,\n indexedDB: getIndexedDB,\n openDatabase: getOpenDatabase,\n cpuClass: getCpuClass,\n platform: getPlatform,\n plugins: getPlugins,\n canvas: getCanvasFingerprint,\n touchSupport: getTouchSupport,\n vendor: getVendor,\n vendorFlavors: getVendorFlavors,\n cookiesEnabled: areCookiesEnabled,\n colorGamut: getColorGamut,\n invertedColors: areColorsInverted,\n forcedColors: areColorsForced,\n monochrome: getMonochromeDepth,\n contrast: getContrastPreference,\n reducedMotion: isMotionReduced,\n hdr: isHDR,\n math: getMathFingerprint,\n};\n/**\n * Loads the built-in entropy sources.\n * Returns a function that collects the entropy components to make the visitor identifier.\n */\nfunction loadBuiltinSources(options) {\n return loadSources(sources, options, []);\n}\n\nvar commentTemplate = '$ if upgrade to Pro: https://fpjs.dev/pro';\nfunction getConfidence(components) {\n var openConfidenceScore = getOpenConfidenceScore(components);\n var proConfidenceScore = deriveProConfidenceScore(openConfidenceScore);\n return { score: openConfidenceScore, comment: commentTemplate.replace(/\\$/g, \"\" + proConfidenceScore) };\n}\nfunction getOpenConfidenceScore(components) {\n // In order to calculate the true probability of the visitor identifier being correct, we need to know the number of\n // website visitors (the higher the number, the less the probability because the fingerprint entropy is limited).\n // JS agent doesn't know the number of visitors, so we can only do an approximate assessment.\n if (isAndroid()) {\n return 0.4;\n }\n // Safari (mobile and desktop)\n if (isWebKit()) {\n return isDesktopSafari() ? 0.5 : 0.3;\n }\n var platform = components.platform.value || '';\n // Windows\n if (/^Win/.test(platform)) {\n // The score is greater than on macOS because of the higher variety of devices running Windows.\n // Chrome provides more entropy than Firefox according too\n // https://netmarketshare.com/browser-market-share.aspx?options=%7B%22filter%22%3A%7B%22%24and%22%3A%5B%7B%22platform%22%3A%7B%22%24in%22%3A%5B%22Windows%22%5D%7D%7D%5D%7D%2C%22dateLabel%22%3A%22Trend%22%2C%22attributes%22%3A%22share%22%2C%22group%22%3A%22browser%22%2C%22sort%22%3A%7B%22share%22%3A-1%7D%2C%22id%22%3A%22browsersDesktop%22%2C%22dateInterval%22%3A%22Monthly%22%2C%22dateStart%22%3A%222019-11%22%2C%22dateEnd%22%3A%222020-10%22%2C%22segments%22%3A%22-1000%22%7D\n // So we assign the same score to them.\n return 0.6;\n }\n // macOS\n if (/^Mac/.test(platform)) {\n // Chrome provides more entropy than Safari and Safari provides more entropy than Firefox.\n // Chrome is more popular than Safari and Safari is more popular than Firefox according to\n // https://netmarketshare.com/browser-market-share.aspx?options=%7B%22filter%22%3A%7B%22%24and%22%3A%5B%7B%22platform%22%3A%7B%22%24in%22%3A%5B%22Mac%20OS%22%5D%7D%7D%5D%7D%2C%22dateLabel%22%3A%22Trend%22%2C%22attributes%22%3A%22share%22%2C%22group%22%3A%22browser%22%2C%22sort%22%3A%7B%22share%22%3A-1%7D%2C%22id%22%3A%22browsersDesktop%22%2C%22dateInterval%22%3A%22Monthly%22%2C%22dateStart%22%3A%222019-11%22%2C%22dateEnd%22%3A%222020-10%22%2C%22segments%22%3A%22-1000%22%7D\n // So we assign the same score to them.\n return 0.5;\n }\n // Another platform, e.g. a desktop Linux. It's rare, so it should be pretty unique.\n return 0.7;\n}\nfunction deriveProConfidenceScore(openConfidenceScore) {\n return round(0.99 + 0.01 * openConfidenceScore, 0.0001);\n}\n\nfunction componentsToCanonicalString(components) {\n var result = '';\n for (var _i = 0, _a = Object.keys(components).sort(); _i < _a.length; _i++) {\n var componentKey = _a[_i];\n var component = components[componentKey];\n var value = component.error ? 'error' : JSON.stringify(component.value);\n result += \"\" + (result ? '|' : '') + componentKey.replace(/([:|\\\\])/g, '\\\\$1') + \":\" + value;\n }\n return result;\n}\nfunction componentsToDebugString(components) {\n return JSON.stringify(components, function (_key, value) {\n if (value instanceof Error) {\n return errorToObject(value);\n }\n return value;\n }, 2);\n}\nfunction hashComponents(components) {\n return x64hash128(componentsToCanonicalString(components));\n}\n/**\n * Makes a GetResult implementation that calculates the visitor id hash on demand.\n * Designed for optimisation.\n */\nfunction makeLazyGetResult(components) {\n var visitorIdCache;\n // This function runs very fast, so there is no need to make it lazy\n var confidence = getConfidence(components);\n // A plain class isn't used because its getters and setters aren't enumerable.\n return {\n get visitorId() {\n if (visitorIdCache === undefined) {\n visitorIdCache = hashComponents(this.components);\n }\n return visitorIdCache;\n },\n set visitorId(visitorId) {\n visitorIdCache = visitorId;\n },\n confidence: confidence,\n components: components,\n version: version,\n };\n}\n/**\n * A delay is required to ensure consistent entropy components.\n * See https://github.com/fingerprintjs/fingerprintjs/issues/254\n * and https://github.com/fingerprintjs/fingerprintjs/issues/307\n * and https://github.com/fingerprintjs/fingerprintjs/commit/945633e7c5f67ae38eb0fea37349712f0e669b18\n */\nfunction prepareForSources(delayFallback) {\n if (delayFallback === void 0) { delayFallback = 50; }\n // A proper deadline is unknown. Let it be twice the fallback timeout so that both cases have the same average time.\n return requestIdleCallbackIfAvailable(delayFallback, delayFallback * 2);\n}\n/**\n * The function isn't exported from the index file to not allow to call it without `load()`.\n * The hiding gives more freedom for future non-breaking updates.\n *\n * A factory function is used instead of a class to shorten the attribute names in the minified code.\n * Native private class fields could've been used, but TypeScript doesn't allow them with `\"target\": \"es5\"`.\n */\nfunction makeAgent(getComponents, debug) {\n var creationTime = Date.now();\n return {\n get: function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var startTime, components, result;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n startTime = Date.now();\n return [4 /*yield*/, getComponents()];\n case 1:\n components = _a.sent();\n result = makeLazyGetResult(components);\n if (debug || (options === null || options === void 0 ? void 0 : options.debug)) {\n // console.log is ok here because it's under a debug clause\n // eslint-disable-next-line no-console\n console.log(\"Copy the text below to get the debug data:\\n\\n```\\nversion: \" + result.version + \"\\nuserAgent: \" + navigator.userAgent + \"\\ntimeBetweenLoadAndGet: \" + (startTime - creationTime) + \"\\nvisitorId: \" + result.visitorId + \"\\ncomponents: \" + componentsToDebugString(components) + \"\\n```\");\n }\n return [2 /*return*/, result];\n }\n });\n });\n },\n };\n}\n/**\n * Sends an unpersonalized AJAX request to collect installation statistics\n */\nfunction monitor() {\n // The FingerprintJS CDN (https://github.com/fingerprintjs/cdn) replaces `window.__fpjs_d_m` with `true`\n if (window.__fpjs_d_m || Math.random() >= 0.001) {\n return;\n }\n try {\n var request = new XMLHttpRequest();\n request.open('get', \"https://m1.openfpcdn.io/fingerprintjs/v\" + version + \"/npm-monitoring\", true);\n request.send();\n }\n catch (error) {\n // console.error is ok here because it's an unexpected error handler\n // eslint-disable-next-line no-console\n console.error(error);\n }\n}\n/**\n * Builds an instance of Agent and waits a delay required for a proper operation.\n */\nfunction load(_a) {\n var _b = _a === void 0 ? {} : _a, delayFallback = _b.delayFallback, debug = _b.debug, _c = _b.monitoring, monitoring = _c === void 0 ? true : _c;\n return __awaiter(this, void 0, void 0, function () {\n var getComponents;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n if (monitoring) {\n monitor();\n }\n return [4 /*yield*/, prepareForSources(delayFallback)];\n case 1:\n _d.sent();\n getComponents = loadBuiltinSources({ debug: debug });\n return [2 /*return*/, makeAgent(getComponents, debug)];\n }\n });\n });\n}\n\n// The default export is a syntax sugar (`import * as FP from '...' → import FP from '...'`).\n// It should contain all the public exported values.\nvar index = { load: load, hashComponents: hashComponents, componentsToDebugString: componentsToDebugString };\n// The exports below are for private usage. They may change unexpectedly. Use them at your own risk.\n/** Not documented, out of Semantic Versioning, usage is at your own risk */\nvar murmurX64Hash128 = x64hash128;\n\nexport { componentsToDebugString, index as default, getFullscreenElement, getScreenFrame, hashComponents, isAndroid, isChromium, isDesktopSafari, isEdgeHTML, isGecko, isTrident, isWebKit, load, loadSources, murmurX64Hash128, prepareForSources, sources, transformSource };\n","!function(e,t){if(\"object\"==typeof exports&&\"object\"==typeof module)module.exports=t();else if(\"function\"==typeof define&&define.amd)define([],t);else{var n=t();for(var o in n)(\"object\"==typeof exports?exports:e)[o]=n[o]}}(window,(function(){return function(e){var t={};function n(o){if(t[o])return t[o].exports;var i=t[o]={i:o,l:!1,exports:{}};return e[o].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)n.d(o,i,function(t){return e[t]}.bind(null,i));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"/\",n(n.s=1)}([function(e,t){var n;n=function(){return this}();try{n=n||new Function(\"return this\")()}catch(e){\"object\"==typeof window&&(n=window)}e.exports=n},function(e,t,n){n(2),e.exports=n(6)},function(e,t,n){(function(o,i){var r,a;function s(e){return(s=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}!function(o,i){\"object\"==s(t)&&void 0!==e?i():void 0===(a=\"function\"==typeof(r=i)?r.call(t,n,t,e):r)||(e.exports=a)}(0,(function(){\"use strict\";function e(e){var t=this.constructor;return this.then((function(n){return t.resolve(e()).then((function(){return n}))}),(function(n){return t.resolve(e()).then((function(){return t.reject(n)}))}))}function t(){}function n(e){if(!(this instanceof n))throw new TypeError(\"Promises must be constructed via new\");if(\"function\"!=typeof e)throw new TypeError(\"not a function\");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],d(e,this)}function r(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,n._immediateFn((function(){var n=1===e._state?t.onFulfilled:t.onRejected;if(null!==n){var o;try{o=n(e._value)}catch(e){return void c(t.promise,e)}a(t.promise,o)}else(1===e._state?a:c)(t.promise,e._value)}))):e._deferreds.push(t)}function a(e,t){try{if(t===e)throw new TypeError(\"A promise cannot be resolved with itself.\");if(t&&(\"object\"==s(t)||\"function\"==typeof t)){var o=t.then;if(t instanceof n)return e._state=3,e._value=t,void l(e);if(\"function\"==typeof o)return void d(function(e,t){return function(){e.apply(t,arguments)}}(o,t),e)}e._state=1,e._value=t,l(e)}catch(t){c(e,t)}}function c(e,t){e._state=2,e._value=t,l(e)}function l(e){2===e._state&&0===e._deferreds.length&&n._immediateFn((function(){e._handled||n._unhandledRejectionFn(e._value)}));for(var t=0,o=e._deferreds.length;o>t;t++)r(e,e._deferreds[t]);e._deferreds=null}function d(e,t){var n=!1;try{e((function(e){n||(n=!0,a(t,e))}),(function(e){n||(n=!0,c(t,e))}))}catch(e){if(n)return;n=!0,c(t,e)}}var u=setTimeout;n.prototype.catch=function(e){return this.then(null,e)},n.prototype.then=function(e,n){var o=new this.constructor(t);return r(this,new function(e,t,n){this.onFulfilled=\"function\"==typeof e?e:null,this.onRejected=\"function\"==typeof t?t:null,this.promise=n}(e,n,o)),o},n.prototype.finally=e,n.all=function(e){return new n((function(t,n){function o(e,a){try{if(a&&(\"object\"==s(a)||\"function\"==typeof a)){var c=a.then;if(\"function\"==typeof c)return void c.call(a,(function(t){o(e,t)}),n)}i[e]=a,0==--r&&t(i)}catch(e){n(e)}}if(!e||void 0===e.length)throw new TypeError(\"Promise.all accepts an array\");var i=Array.prototype.slice.call(e);if(0===i.length)return t([]);for(var r=i.length,a=0;i.length>a;a++)o(a,i[a])}))},n.resolve=function(e){return e&&\"object\"==s(e)&&e.constructor===n?e:new n((function(t){t(e)}))},n.reject=function(e){return new n((function(t,n){n(e)}))},n.race=function(e){return new n((function(t,n){for(var o=0,i=e.length;i>o;o++)e[o].then(t,n)}))},n._immediateFn=\"function\"==typeof o&&function(e){o(e)}||function(e){u(e,0)},n._unhandledRejectionFn=function(e){void 0!==console&&console&&console.warn(\"Possible Unhandled Promise Rejection:\",e)};var f=function(){if(\"undefined\"!=typeof self)return self;if(\"undefined\"!=typeof window)return window;if(void 0!==i)return i;throw Error(\"unable to locate global object\")}();\"Promise\"in f?f.Promise.prototype.finally||(f.Promise.prototype.finally=e):f.Promise=n}))}).call(this,n(3).setImmediate,n(0))},function(e,t,n){(function(e){var o=void 0!==e&&e||\"undefined\"!=typeof self&&self||window,i=Function.prototype.apply;function r(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new r(i.call(setTimeout,o,arguments),clearTimeout)},t.setInterval=function(){return new r(i.call(setInterval,o,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},r.prototype.unref=r.prototype.ref=function(){},r.prototype.close=function(){this._clearFn.call(o,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},n(4),t.setImmediate=\"undefined\"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate=\"undefined\"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,n(0))},function(e,t,n){(function(e,t){!function(e,n){\"use strict\";if(!e.setImmediate){var o,i,r,a,s,c=1,l={},d=!1,u=e.document,f=Object.getPrototypeOf&&Object.getPrototypeOf(e);f=f&&f.setTimeout?f:e,\"[object process]\"==={}.toString.call(e.process)?o=function(e){t.nextTick((function(){h(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage(\"\",\"*\"),e.onmessage=n,t}}()?e.MessageChannel?((r=new MessageChannel).port1.onmessage=function(e){h(e.data)},o=function(e){r.port2.postMessage(e)}):u&&\"onreadystatechange\"in u.createElement(\"script\")?(i=u.documentElement,o=function(e){var t=u.createElement(\"script\");t.onreadystatechange=function(){h(e),t.onreadystatechange=null,i.removeChild(t),t=null},i.appendChild(t)}):o=function(e){setTimeout(h,0,e)}:(a=\"setImmediate$\"+Math.random()+\"$\",s=function(t){t.source===e&&\"string\"==typeof t.data&&0===t.data.indexOf(a)&&h(+t.data.slice(a.length))},e.addEventListener?e.addEventListener(\"message\",s,!1):e.attachEvent(\"onmessage\",s),o=function(t){e.postMessage(a+t,\"*\")}),f.setImmediate=function(e){\"function\"!=typeof e&&(e=new Function(\"\"+e));for(var t=new Array(arguments.length-1),n=0;n<t.length;n++)t[n]=arguments[n+1];var i={callback:e,args:t};return l[c]=i,o(c),c++},f.clearImmediate=p}function p(e){delete l[e]}function h(e){if(d)setTimeout(h,0,e);else{var t=l[e];if(t){d=!0;try{!function(e){var t=e.callback,n=e.args;switch(n.length){case 0:t();break;case 1:t(n[0]);break;case 2:t(n[0],n[1]);break;case 3:t(n[0],n[1],n[2]);break;default:t.apply(void 0,n)}}(t)}finally{p(e),d=!1}}}}}(\"undefined\"==typeof self?void 0===e?this:e:self)}).call(this,n(0),n(5))},function(e,t){var n,o,i=e.exports={};function r(){throw new Error(\"setTimeout has not been defined\")}function a(){throw new Error(\"clearTimeout has not been defined\")}function s(e){if(n===setTimeout)return setTimeout(e,0);if((n===r||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n=\"function\"==typeof setTimeout?setTimeout:r}catch(e){n=r}try{o=\"function\"==typeof clearTimeout?clearTimeout:a}catch(e){o=a}}();var c,l=[],d=!1,u=-1;function f(){d&&c&&(d=!1,c.length?l=c.concat(l):u=-1,l.length&&p())}function p(){if(!d){var e=s(f);d=!0;for(var t=l.length;t;){for(c=l,l=[];++u<t;)c&&c[u].run();u=-1,t=l.length}c=null,d=!1,function(e){if(o===clearTimeout)return clearTimeout(e);if((o===a||!o)&&clearTimeout)return o=clearTimeout,clearTimeout(e);try{o(e)}catch(t){try{return o.call(null,e)}catch(t){return o.call(this,e)}}}(e)}}function h(e,t){this.fun=e,this.array=t}function m(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];l.push(new h(e,t)),1!==l.length||d||s(p)},h.prototype.run=function(){this.fun.apply(null,this.array)},i.title=\"browser\",i.browser=!0,i.env={},i.argv=[],i.version=\"\",i.versions={},i.on=m,i.addListener=m,i.once=m,i.off=m,i.removeListener=m,i.removeAllListeners=m,i.emit=m,i.prependListener=m,i.prependOnceListener=m,i.listeners=function(e){return[]},i.binding=function(e){throw new Error(\"process.binding is not supported\")},i.cwd=function(){return\"/\"},i.chdir=function(e){throw new Error(\"process.chdir is not supported\")},i.umask=function(){return 0}},function(e,t,n){\"use strict\";n.r(t),n.d(t,\"getInstance\",(function(){return w}));var o={ASM:\"asm\",WASM:\"ems\",JS_WORKER:\"jsworker\",THREADED_WASM:\"wasm-threads\"};function i(e,t){if(\"string\"!=typeof e||!t)return e;var n=t.substr(0,t.lastIndexOf(\"/\"));return/^(\\/|%2F|[a-z0-9-]+:)/i.test(e)?e:n+\"/\"+e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){s(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var c={},l=0;window.isPdfjs=!0,\"undefined\"==typeof console&&(window.console={log:function(){},warn:function(){},error:function(){}});var d=function(){for(var e=1;e<arguments.length;e++)for(var t=Object.keys(arguments[e]),n=0;n<t.length;n++)arguments[0][t[n]]=arguments[e][t[n]];return arguments[0]},u=function(e){var t=[];return e.forEach((function(e){t.push(e)})),t},f=function(e,t){var n;try{n=new CustomEvent(e,{detail:t,bubbles:!0,cancelable:!0})}catch(o){(n=document.createEvent(\"Event\")).initEvent(e,!0,!0),n.detail=t}return n};window.PDFNet&&!c.skipPDFNetWebViewerWarning&&console.warn(\"PDFNet.js and WebViewer.js have been included in the same context. See https://www.pdftron.com/kb_same_context for an explanation of why this could be an error in your application.\");var p=new Map,h=new Map;c.WebViewer=function(e,t){var n=this;if(h.get(t))throw new Error(\"Two instances of WebViewer were created on the same HTML element. Please create a new element for each instance of WebViewer\");h.set(t,!0);t.addEventListener(\"ready\",(function e(){p.get(t).instance=n.getCompleteInstance(),t.removeEventListener(\"ready\",e)})),this._validateOptions(e);var o=e.webviewerServerURL||e.pdftronServer;e.fullAPI&&o&&(e.forceClientSideInit||console.warn(\"The fullAPI and webviewerServerURL options have both been set so the forceClientSideInit option is now enabled. This means that WebViewer will switch to client side rendering and processing to allow use of the full API.\"),e.forceClientSideInit=!0),this.options=d({},c.WebViewer.Options,e);var i=this.options.path.length-1;i>0&&\"/\"!==this.options.path[i]&&(this.options.path+=\"/\"),this.options.uiPath=this.options.path+this.options.uiPath,t||console.error(\"ViewerElement is not defined. This may be caused by calling the WebViewer constructor before the DOM is loaded, or an invalid selector. Please see http://r.pdftron.com/guides/quick-start for an example.\"),this.element=t,this.element.style.overflow=\"hidden\";var r=this;this.messageHandler=function(t){if(\"requestl\"===t.data&&t.source&&t.source.postMessage({type:\"responsel\",value:e.l||e.licenseKey},\"*\"),\"requestConfig\"===t.data.type&&t.data.id===r.id&&t.source){var n=e.config?r._correctRelativePath(e.config):\"\";t.source.postMessage({type:\"responseConfig\",value:n},\"*\")}},window.addEventListener(\"message\",this.messageHandler,!1),this.options.autoCreate&&this.create()};var m={licenseKey:void 0,enableAzureWorkaround:!1,isAdminUser:!1,isReadOnly:!1};c.WebViewer.prototype={version:\"8.7.1\",create:function(){if(this.options.initialDoc){var e=this._correctRelativePath(this.options.initialDoc);e=encodeURIComponent(JSON.stringify(e)),this.options.initialDoc=e}this._create()},_create:function(){this.id=++l,void 0===this._trigger&&(this._trigger=function(e,t){var n=f(e,t);this.element.dispatchEvent(n)});var e=this.options.type.replace(\" \",\"\").split(\",\");e.length<1&&(e[0]=\"html5\"),this._createViewer(e)},_validateOptions:function(e){for(var t=Object.keys(e),n=0;n<t.length;n++){var o=t[n];o in d({},m,c.WebViewer.Options)||console.warn(\"\".concat(o,\" is not a valid option name. See http://r.pdftron.com/api/options_anchor for all available options.\"))}var i=e.webviewerServerURL||e.pdftronServer;!e.enableRedaction||e.fullAPI||i||console.warn(\"FullAPI or WebViewer Server is needed to apply redactions\")},_notSupportedMobile:function(){var e=document.createElement(\"div\");e.id=\"webviewer-browser-unsupported\",e.textContent=\"PDF document viewing is not supported by this browser.\",this.element.appendChild(e)},_createViewer:function(e){var t,n=this;if(n.selectedType=null,this.isMobileDevice()){if(this.options.documentType&&\"xod\"!==this.options.documentType&&!this._testWebAssembly())return void this._notSupportedMobile();if(e=Array(\"html5Mobile\"),n.selectedType=\"html5Mobile\",this.options.mobileRedirect)return t=this.options.uiPath+this._getHTML5OptionsURL(),void(window.location=t)}for(var o=!1,i=!1,r=0;r<e.length;r++){if(\"html5mobile\"===e[r].toLowerCase()){if(this.options.documentType&&\"xod\"!==this.options.documentType&&!this._testWebAssembly())continue;if(o=!0,n._testHTML5()){if(this.options.mobileRedirect)return n.selectedType=\"html5Mobile\",t=this.options.uiPath+this._getHTML5OptionsURL(),void(window.location=t);if(this.options.xdomainProxyUrl||n.isSameOrigin(decodeURIComponent(n.options.initialDoc))||n._testCORS()){n.selectedType=\"html5Mobile\";break}i=!0}}if(\"html5\"===e[r].toLowerCase()&&(o=!0,n._testHTML5())){var a=n.isSameOrigin(decodeURIComponent(n.options.initialDoc));if(this.options.xdomainProxyUrl||a||n._testCORS()){n.selectedType=\"html5\";break}i=!0}}if(\"html5\"===n.selectedType)n._createHTML5();else if(\"html5Mobile\"===n.selectedType)n._createHTML5Mobile();else{var s;if(i?s=\"This browser does not support cross origin requests. Please configure xdomain to support CORS.\":o&&(s=\"Please use an HTML5 compatible browser.\"),s){var c=document.createElement(\"div\");c.id=\"webviewer-browser-unsupported\",c.textContent=s,n.element.appendChild(c)}}},_viewerLoaded:function(e){this._trigger(\"ready\");try{var t=e.contentWindow;if(t.postMessage({type:\"viewerLoaded\"},\"*\"),void 0!==this.options.encryption){var n=decodeURIComponent(this.options.initialDoc);this.options.initialDoc&&(n=JSON.parse(n));var o={decrypt:t.Core.Encryption.decrypt,decryptOptions:this.options.encryption,documentId:this.options.documentId,extension:\"xod\"};this.getInstance().loadDocument(n,o)}}catch(e){console.warn(\"Viewer is on a different domain, the promise from WebViewer function is rejected and API functions will not work because of cross domain permissions. See http://r.pdftron.com/kb_cross_origin for more information.\")}},_getHTML5OptionsURL:function(){var e,t,n,o=this.options,i=o.webviewerServerURL||o.pdftronServer,r=\"\";if(o.initialDoc&&(r+=\"#d=\".concat(o.initialDoc)),void 0===o.backendType&&(o.backendType=o.pdfBackend),o.documentType&&\"xod\"===o.documentType&&(e=o.documentType),o.preloadWorker&&\"xod\"===o.preloadWorker&&(e=o.preloadWorker),o.extension&&(e=o.extension),e&&(r+=\"&extension=\".concat(e)),o.documentType&&\"xod\"!==o.documentType&&(t=o.documentType),o.preloadWorker&&\"xod\"!==o.preloadWorker&&(t=o.preloadWorker),t&&(r+=\"&preloadWorker=\".concat(t)),o.backendType&&(r+=\"&pdf=\".concat(o.backendType,\"&office=\").concat(o.backendType,\"&legacyOffice=\").concat(o.backendType)),o.filename&&(r+=\"&filename=\".concat(o.filename)),void 0!==o.streaming&&(r+=\"&streaming=\".concat(o.streaming)),o.externalPath){var a=this._correctRelativePath(o.externalPath);a=encodeURIComponent(a),r+=\"&p=\".concat(a)}if(o.encryption&&(r+=\"&auto_load=false\"),o.enableAnnotations&&(r+=\"&a=1\"),o.disabledElements){var s=encodeURIComponent(o.disabledElements.join(\",\"));r+=\"&disabledElements=\".concat(s)}if(o.serverUrl){var c=this._correctRelativePath(o.serverUrl);c=encodeURIComponent(c),r+=\"&server_url=\".concat(c)}if(o.serverUrlHeaders&&(r+=\"&serverUrlHeaders=\".concat(JSON.stringify(o.serverUrlHeaders))),o.documentId&&(r+=\"&did=\".concat(o.documentId)),o.css){var l=this._correctRelativePath(o.css);l=encodeURIComponent(l),r+=\"&css=\".concat(l)}if(o.disableI18n&&(r+=\"&disableI18n=1\"),o.enableOfflineMode&&(r+=\"&offline=1\"),o.startOffline&&(r+=\"&startOffline=1\"),(o.enableReadOnlyMode||o.isReadOnly)&&(r+=\"&readonly=1\"),o.hideAnnotationPanel&&(r+=\"&hideAnnotationPanel=1\"),o.disableToolGroupReordering&&(r+=\"&disableToolGroupReordering=1\"),void 0!==o.annotationUser&&(r+=\"&user=\".concat(o.annotationUser)),void 0===o.annotationAdmin&&void 0===o.isAdminUser||(r+=\"&admin=\".concat(o.annotationAdmin||o.isAdminUser?1:0)),void 0!==o.custom&&(r+=\"&custom=\".concat(encodeURIComponent(o.custom))),void 0===o.showLocalFilePicker&&void 0===o.enableFilePicker||(r+=\"&filepicker=\".concat(o.showLocalFilePicker||o.enableFilePicker?1:0)),void 0!==o.fullAPI){if(o.fullAPI)throw new Error('\"fullAPI\" is not a valid constuctor option for PDF.js Express. Please make sure you are referring to the proper documentation (https://pdfjs.express/documentation)');r+=\"&pdfnet=\".concat(o.fullAPI?1:0)}(void 0!==o.enableRedaction&&(r+=\"&enableRedaction=\".concat(o.enableRedaction?1:0)),void 0!==o.disableVirtualDisplayMode&&(r+=\"&disableVirtualDisplayMode=\".concat(o.disableVirtualDisplayMode?1:0)),void 0!==o.enableMeasurement&&(r+=\"&enableMeasurement=\".concat(o.enableMeasurement?1:0)),void 0!==o.showToolbarControl&&(r+=\"&toolbar=\".concat(o.showToolbarControl?\"true\":\"false\")),void 0!==o.showPageHistoryButtons&&(r+=\"&pageHistory=\".concat(o.showPageHistoryButtons?1:0)),void 0!==o.notesInLeftPanel&&(r+=\"¬esInLeftPanel=\".concat(o.notesInLeftPanel?1:0)),void 0!==o.xdomainProxyUrl)&&(n=\"string\"==typeof o.xdomainProxyUrl?{url:o.xdomainProxyUrl}:o.xdomainProxyUrl,r+=\"&xdomain_urls=\".concat(encodeURIComponent(JSON.stringify(n))));return(o.azureWorkaround||o.enableAzureWorkaround)&&(r+=\"&azureWorkaround=1\"),o.enableOptimizedWorkers||(r+=\"&enableOptimizedWorkers=0\"),o.useDownloader||(r+=\"&useDownloader=0\"),o.disableWebsockets&&(r+=\"&disableWebsockets=1\"),o.disableStreaming&&(r+=\"&disableStreaming=1\"),o.forceClientSideInit&&(r+=\"&forceClientSideInit=1\"),o.loadAsPDF&&(r+=\"&loadAsPDF=1\"),void 0!==o.workerTransportPromise&&(r+=\"&useSharedWorker=\".concat(o.workerTransportPromise?\"true\":\"false\")),void 0!==i&&i&&(r+=\"&webviewerServerURL=\".concat(encodeURIComponent(i))),o.fallbackToClientSide&&(r+=\"&fallbackToClientSide=1\"),void 0!==o.singleServerMode&&(r+=\"&singleServerMode=\".concat(o.singleServerMode?\"true\":\"false\")),void 0!==o.accessibleMode&&(r+=\"&accessibleMode=\".concat(o.accessibleMode?1:0)),o.disableLogs&&(r+=\"&disableLogs=1\"),o.enableViewStateAnnotations&&(r+=\"&enableViewStateAnnotations=1\"),o.disableFlattenedAnnotations&&(r+=\"&disableFlattenedAnnotations=1\"),o.highContrastMode&&(r+=\"&highContrastMode=1\"),void 0!==o.selectAnnotationOnCreation&&(r+=\"&selectAnnotationOnCreation=\".concat(o.selectAnnotationOnCreation?1:0)),void 0!==o.autoFocusNoteOnAnnotationSelection&&(r+=\"&autoFocusNoteOnAnnotationSelection=\".concat(o.autoFocusNoteOnAnnotationSelection?1:0)),r+=\"&id=\".concat(this.id),(r+=\"&basePath=\".concat(encodeURIComponent(window.location.pathname))).length>0&&\"&\"===r[0]&&(r=\"#\".concat(r.slice(1))),r+=\"&webViewerJSVersion=\".concat(this.version)},setInstanceData:function(e){p.set(this.element,{iframe:e,l:this.options.l||this.options.licenseKey,workerTransportPromise:this.options.workerTransportPromise})},_createHTML5:function(){var e=this,t=this.options.uiPath+this._getHTML5OptionsURL(),n=document.createElement(\"iframe\");this.setInstanceData(n),n.id=\"webviewer-\".concat(this.id),n.src=t,n.title=\"webviewer\",n.frameBorder=0,n.width=\"100%\",n.height=\"100%\",n.setAttribute(\"allowfullscreen\",!0),n.setAttribute(\"webkitallowfullscreen\",!0),n.setAttribute(\"mozallowfullscreen\",!0),this.iframe=n,this.options.backgroundColor&&n.setAttribute(\"data-bgcolor\",this.options.backgroundColor),this.options.assetPath&&n.setAttribute(\"data-assetpath\",encodeURIComponent(this.options.assetPath)),this.element.appendChild(n);window.addEventListener(\"message\",(function t(n){if(\"viewerLoaded\"===n.data.type&&n.data.id===e.id)try{e.instance=e.iframe.contentWindow.instance}catch(e){}finally{window.removeEventListener(\"message\",t),e._viewerLoaded(e.iframe)}}))},_createHTML5Mobile:function(){var e=this,t=this.options.uiPath+this._getHTML5OptionsURL(),n=document.createElement(\"iframe\");this.setInstanceData(n),n.id=\"webviewer-\".concat(this.id),n.src=t,n.frameborder=0,this.options.assetPath&&n.setAttribute(\"data-assetpath\",encodeURIComponent(this.options.assetPath)),n.style.width=\"100%\",n.style.height=\"100%\",this.iframe=n,this.element.appendChild(n);window.addEventListener(\"message\",(function t(n){if(\"viewerLoaded\"===n.data.type&&n.data.id===e.id)try{e.instance=e.iframe.contentWindow.instance}catch(e){}finally{window.removeEventListener(\"message\",t),e._viewerLoaded(e.iframe)}}))},dispose:function(){p.delete(this.element),h.delete(this.element),this.instance.closeDocument(),window.removeEventListener(\"message\",this.messageHandler),this.iframe.removeEventListener(\"load\",this.loadListener),this.iframe=null},getInstance:function(){return this.instance},setCompleteInstance:function(e){this.completeInstance=e},getCompleteInstance:function(){return this.completeInstance},_correctRelativePath:function(e){var t=window.location.pathname;return Array.isArray(e)?e.map((function(e){return i(e,t)})):i(e,t)},_testHTML5:function(){try{var e=document.createElement(\"canvas\");return e&&e.getContext(\"2d\")}catch(e){return!1}},_testWebAssembly:function(){return!(!window.WebAssembly||!window.WebAssembly.validate)},_testCORS:function(){return\"XMLHttpRequest\"in window&&\"withCredentials\"in new XMLHttpRequest},isIE:function(){var e=navigator.userAgent.toLowerCase(),t=/(msie) ([\\w.]+)/.exec(e)||/(trident)(?:.*? rv:([\\w.]+)|)/.exec(e);return t?parseInt(t[2],10):t},isMobileDevice:function(){return!this.isIE()&&(0===this.scrollbarWidth()&&navigator.userAgent.match(/Edge/i)||navigator.userAgent.match(/Android/i)||navigator.userAgent.match(/webOS/i)||navigator.userAgent.match(/iPhone/i)||navigator.userAgent.match(/iPod/i)||navigator.userAgent.match(/iPad/i)||navigator.userAgent.match(/Touch/i)||navigator.userAgent.match(/IEMobile/i)||navigator.userAgent.match(/Silk/i))},scrollbarWidth:function(){var e=document.createElement(\"div\");e.style.cssText=\"width:100px;height:100px;overflow:scroll !important;position:absolute;top:-9999px\",document.body.appendChild(e);var t=e.offsetWidth-e.clientWidth;return document.body.removeChild(e),t},isSameOrigin:function(e){var t=window.location,n=document.createElement(\"a\");n.href=e,\"\"===n.host&&(n.href=n.href);var o=window.location.port,i=n.port;return\"http:\"===n.protocol?(i=i||\"80\",o=o||\"80\"):\"https:\"===n.protocol&&(i=i||\"443\",o=o||\"443\"),n.hostname===t.hostname&&n.protocol===t.protocol&&i===o}},c.WebViewer.Options={initialDoc:void 0,annotationAdmin:void 0,isAdminUser:void 0,annotationUser:void 0,assetPath:void 0,autoCreate:!0,autoFocusNoteOnAnnotationSelection:!0,azureWorkaround:!1,additionalTranslations:void 0,enableAzureWorkaround:!1,enableOptimizedWorkers:!0,backgroundColor:void 0,backendType:void 0,css:void 0,config:void 0,custom:void 0,documentId:void 0,documentType:void 0,preloadWorker:void 0,extension:void 0,enableAnnotations:!0,filename:void 0,disableI18n:!1,disabledElements:void 0,disableWebsockets:!1,enableOfflineMode:!1,enableReadOnlyMode:!1,isReadOnly:!1,enableRedaction:!1,disableVirtualDisplayMode:!1,enableMeasurement:!1,encryption:void 0,externalPath:void 0,hideAnnotationPanel:!1,disableToolGroupReordering:!1,uiPath:\"./ui/index.html\",l:void 0,licenseKey:void 0,mobileRedirect:!1,path:\"\",pdfBackend:void 0,webviewerServerURL:void 0,fallbackToClientSide:!1,singleServerMode:!1,fullAPI:!1,preloadPDFWorker:!0,serverUrl:void 0,serverUrlHeaders:void 0,showLocalFilePicker:!1,enableFilePicker:!1,showPageHistoryButtons:!0,showToolbarControl:void 0,startOffline:!1,streaming:void 0,type:\"html5\",useDownloader:!0,workerTransportPromise:void 0,xdomainProxyUrl:void 0,ui:void 0,forceClientSideInit:!1,loadAsPDF:!1,accessibleMode:void 0,disableLogs:!1,enableViewStateAnnotations:!1,highContrastMode:!1,selectAnnotationOnCreation:!1,notesInLeftPanel:!1,documentXFDFRetriever:void 0,disableFlattenedAnnotations:!1,disableStreaming:!1};var v=function(e,t){return new Promise((function(n,o){e.l=e.l||e.licenseKey,e.azureWorkaround=e.azureWorkaround||e.enableAzureWorkaround,e.annotationAdmin=e.annotationAdmin||e.isAdminUser,e.enableReadOnlyMode=e.enableReadOnlyMode||e.isReadOnly,e.showLocalFilePicker=e.showLocalFilePicker||e.enableFilePicker;t.addEventListener(\"ready\",(function r(){t.removeEventListener(\"ready\",r);try{var c=t.querySelector(\"iframe\").contentWindow;if(void 0===c.Tools)throw new Error(\"Viewer isn't instantiated correctly. It could be caused by the 'path' option in the WebViewer constructor not being defined correctly. The 'path' option should be relative to the HTML file you're loading the script on and the lib folder needs to be publicly accessible.\");var l=i.getInstance(),u={iframeWindow:c,dispose:i.dispose.bind(i)},f=d({},l,a(s({},l.UI_NAMESPACE_KEY,a(a({},l[l.UI_NAMESPACE_KEY]),u)),u));i.setCompleteInstance(f);var p=Promise.resolve();if(e.documentXFDFRetriever&&(p=f[l.CORE_NAMESPACE_KEY].documentViewer.setDocumentXFDFRetriever(e.documentXFDFRetriever)),e.additionalTranslations){var h=e.additionalTranslations;f[l.UI_NAMESPACE_KEY].setTranslations(h.language,h.translations)}p.then((function(){n(f)}))}catch(t){if(\"config\"in e&&\"\"!==e.config)return n();o(\"Viewer is on a different domain, the promise from WebViewer function is rejected and API functions will not work because of cross domain permissions. See https://www.pdftron.com/kb_cross_origin for more information.\")}}));var i=new c.WebViewer(e,t)}))},b=function(e){for(var t=u(p),n=0;n<t.length;n++){var o=t[n];if(o.iframe===e)return o}return null};v.l=function(e){var t=b(e);return t&&t.l},v.workerTransportPromise=function(e){var t=b(e);return t&&t.workerTransportPromise},v.WorkerTypes={ALL:\"all\",OFFICE:\"office\",LEGACY_OFFICE:\"legacyOffice\",PDF:\"pdf\",CONTENT_EDIT:\"contentEdit\"},v.BackendTypes=o;var w=function(e){var t=u(p);if(!t.length||!t.filter((function(e){return e.instance})).length)return console.warn(\"WebViewer.getInstance() was called before any instances were available\"),null;if(t.length>1&&!e)throw new Error(\"More than one instance of WebViewer was found, and no element was passed into getInstance(). Please specify which instance you want to get.\");return e?(p.get(e)||{}).instance:(t[0]||{}).instance};v.getInstance=w,window.WebViewer=v;t.default=v}])}));","/**\n * query-core\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nclass Subscribable {\n constructor() {\n this.listeners = [];\n this.subscribe = this.subscribe.bind(this);\n }\n\n subscribe(listener) {\n this.listeners.push(listener);\n this.onSubscribe();\n return () => {\n this.listeners = this.listeners.filter(x => x !== listener);\n this.onUnsubscribe();\n };\n }\n\n hasListeners() {\n return this.listeners.length > 0;\n }\n\n onSubscribe() {// Do nothing\n }\n\n onUnsubscribe() {// Do nothing\n }\n\n}\n\n// TYPES\n// UTILS\nconst isServer = typeof window === 'undefined';\nfunction noop() {\n return undefined;\n}\nfunction functionalUpdate(updater, input) {\n return typeof updater === 'function' ? updater(input) : updater;\n}\nfunction isValidTimeout(value) {\n return typeof value === 'number' && value >= 0 && value !== Infinity;\n}\nfunction difference(array1, array2) {\n return array1.filter(x => array2.indexOf(x) === -1);\n}\nfunction replaceAt(array, index, value) {\n const copy = array.slice(0);\n copy[index] = value;\n return copy;\n}\nfunction timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nfunction parseQueryArgs(arg1, arg2, arg3) {\n if (!isQueryKey(arg1)) {\n return arg1;\n }\n\n if (typeof arg2 === 'function') {\n return { ...arg3,\n queryKey: arg1,\n queryFn: arg2\n };\n }\n\n return { ...arg2,\n queryKey: arg1\n };\n}\nfunction parseMutationArgs(arg1, arg2, arg3) {\n if (isQueryKey(arg1)) {\n if (typeof arg2 === 'function') {\n return { ...arg3,\n mutationKey: arg1,\n mutationFn: arg2\n };\n }\n\n return { ...arg2,\n mutationKey: arg1\n };\n }\n\n if (typeof arg1 === 'function') {\n return { ...arg2,\n mutationFn: arg1\n };\n }\n\n return { ...arg1\n };\n}\nfunction parseFilterArgs(arg1, arg2, arg3) {\n return isQueryKey(arg1) ? [{ ...arg2,\n queryKey: arg1\n }, arg3] : [arg1 || {}, arg2];\n}\nfunction parseMutationFilterArgs(arg1, arg2, arg3) {\n return isQueryKey(arg1) ? [{ ...arg2,\n mutationKey: arg1\n }, arg3] : [arg1 || {}, arg2];\n}\nfunction matchQuery(filters, query) {\n const {\n type = 'all',\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale\n } = filters;\n\n if (isQueryKey(queryKey)) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false;\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false;\n }\n }\n\n if (type !== 'all') {\n const isActive = query.isActive();\n\n if (type === 'active' && !isActive) {\n return false;\n }\n\n if (type === 'inactive' && isActive) {\n return false;\n }\n }\n\n if (typeof stale === 'boolean' && query.isStale() !== stale) {\n return false;\n }\n\n if (typeof fetchStatus !== 'undefined' && fetchStatus !== query.state.fetchStatus) {\n return false;\n }\n\n if (predicate && !predicate(query)) {\n return false;\n }\n\n return true;\n}\nfunction matchMutation(filters, mutation) {\n const {\n exact,\n fetching,\n predicate,\n mutationKey\n } = filters;\n\n if (isQueryKey(mutationKey)) {\n if (!mutation.options.mutationKey) {\n return false;\n }\n\n if (exact) {\n if (hashQueryKey(mutation.options.mutationKey) !== hashQueryKey(mutationKey)) {\n return false;\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false;\n }\n }\n\n if (typeof fetching === 'boolean' && mutation.state.status === 'loading' !== fetching) {\n return false;\n }\n\n if (predicate && !predicate(mutation)) {\n return false;\n }\n\n return true;\n}\nfunction hashQueryKeyByOptions(queryKey, options) {\n const hashFn = (options == null ? void 0 : options.queryKeyHashFn) || hashQueryKey;\n return hashFn(queryKey);\n}\n/**\n * Default query keys hash function.\n * Hashes the value into a stable hash.\n */\n\nfunction hashQueryKey(queryKey) {\n return JSON.stringify(queryKey, (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => {\n result[key] = val[key];\n return result;\n }, {}) : val);\n}\n/**\n * Checks if key `b` partially matches with key `a`.\n */\n\nfunction partialMatchKey(a, b) {\n return partialDeepEqual(a, b);\n}\n/**\n * Checks if `b` partially matches with `a`.\n */\n\nfunction partialDeepEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (typeof a !== typeof b) {\n return false;\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n return !Object.keys(b).some(key => !partialDeepEqual(a[key], b[key]));\n }\n\n return false;\n}\n/**\n * This function returns `a` if `b` is deeply equal.\n * If not, it will replace any deeply equal children of `b` with those of `a`.\n * This can be used for structural sharing between JSON values for example.\n */\n\nfunction replaceEqualDeep(a, b) {\n if (a === b) {\n return a;\n }\n\n const array = isPlainArray(a) && isPlainArray(b);\n\n if (array || isPlainObject(a) && isPlainObject(b)) {\n const aSize = array ? a.length : Object.keys(a).length;\n const bItems = array ? b : Object.keys(b);\n const bSize = bItems.length;\n const copy = array ? [] : {};\n let equalItems = 0;\n\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i];\n copy[key] = replaceEqualDeep(a[key], b[key]);\n\n if (copy[key] === a[key]) {\n equalItems++;\n }\n }\n\n return aSize === bSize && equalItems === aSize ? a : copy;\n }\n\n return b;\n}\n/**\n * Shallow compare objects. Only works with objects that always have the same properties.\n */\n\nfunction shallowEqualObjects(a, b) {\n if (a && !b || b && !a) {\n return false;\n }\n\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n\n return true;\n}\nfunction isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n} // Copied from: https://github.com/jonschlinkert/is-plain-object\n\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n } // If has modified constructor\n\n\n const ctor = o.constructor;\n\n if (typeof ctor === 'undefined') {\n return true;\n } // If has modified prototype\n\n\n const prot = ctor.prototype;\n\n if (!hasObjectPrototype(prot)) {\n return false;\n } // If constructor does not have an Object-specific method\n\n\n if (!prot.hasOwnProperty('isPrototypeOf')) {\n return false;\n } // Most likely a plain Object\n\n\n return true;\n}\n\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nfunction isQueryKey(value) {\n return Array.isArray(value);\n}\nfunction isError(value) {\n return value instanceof Error;\n}\nfunction sleep(timeout) {\n return new Promise(resolve => {\n setTimeout(resolve, timeout);\n });\n}\n/**\n * Schedules a microtask.\n * This can be useful to schedule state updates after rendering.\n */\n\nfunction scheduleMicrotask(callback) {\n sleep(0).then(callback);\n}\nfunction getAbortController() {\n if (typeof AbortController === 'function') {\n return new AbortController();\n }\n}\nfunction replaceData(prevData, data, options) {\n // Use prev data if an isDataEqual function is defined and returns `true`\n if (options.isDataEqual != null && options.isDataEqual(prevData, data)) {\n return prevData;\n } else if (options.structuralSharing !== false) {\n // Structurally share data between prev and new data if needed\n return replaceEqualDeep(prevData, data);\n }\n\n return data;\n}\n\nclass FocusManager extends Subscribable {\n constructor() {\n super();\n\n this.setup = onFocus => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus(); // Listen to visibillitychange and focus\n\n\n window.addEventListener('visibilitychange', listener, false);\n window.addEventListener('focus', listener, false);\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('visibilitychange', listener);\n window.removeEventListener('focus', listener);\n };\n }\n };\n }\n\n onSubscribe() {\n if (!this.cleanup) {\n this.setEventListener(this.setup);\n }\n }\n\n onUnsubscribe() {\n if (!this.hasListeners()) {\n var _this$cleanup;\n\n (_this$cleanup = this.cleanup) == null ? void 0 : _this$cleanup.call(this);\n this.cleanup = undefined;\n }\n }\n\n setEventListener(setup) {\n var _this$cleanup2;\n\n this.setup = setup;\n (_this$cleanup2 = this.cleanup) == null ? void 0 : _this$cleanup2.call(this);\n this.cleanup = setup(focused => {\n if (typeof focused === 'boolean') {\n this.setFocused(focused);\n } else {\n this.onFocus();\n }\n });\n }\n\n setFocused(focused) {\n this.focused = focused;\n\n if (focused) {\n this.onFocus();\n }\n }\n\n onFocus() {\n this.listeners.forEach(listener => {\n listener();\n });\n }\n\n isFocused() {\n if (typeof this.focused === 'boolean') {\n return this.focused;\n } // document global can be unavailable in react native\n\n\n if (typeof document === 'undefined') {\n return true;\n }\n\n return [undefined, 'visible', 'prerender'].includes(document.visibilityState);\n }\n\n}\nconst focusManager = new FocusManager();\n\nclass OnlineManager extends Subscribable {\n constructor() {\n super();\n\n this.setup = onOnline => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onOnline(); // Listen to online\n\n\n window.addEventListener('online', listener, false);\n window.addEventListener('offline', listener, false);\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('online', listener);\n window.removeEventListener('offline', listener);\n };\n }\n };\n }\n\n onSubscribe() {\n if (!this.cleanup) {\n this.setEventListener(this.setup);\n }\n }\n\n onUnsubscribe() {\n if (!this.hasListeners()) {\n var _this$cleanup;\n\n (_this$cleanup = this.cleanup) == null ? void 0 : _this$cleanup.call(this);\n this.cleanup = undefined;\n }\n }\n\n setEventListener(setup) {\n var _this$cleanup2;\n\n this.setup = setup;\n (_this$cleanup2 = this.cleanup) == null ? void 0 : _this$cleanup2.call(this);\n this.cleanup = setup(online => {\n if (typeof online === 'boolean') {\n this.setOnline(online);\n } else {\n this.onOnline();\n }\n });\n }\n\n setOnline(online) {\n this.online = online;\n\n if (online) {\n this.onOnline();\n }\n }\n\n onOnline() {\n this.listeners.forEach(listener => {\n listener();\n });\n }\n\n isOnline() {\n if (typeof this.online === 'boolean') {\n return this.online;\n }\n\n if (typeof navigator === 'undefined' || typeof navigator.onLine === 'undefined') {\n return true;\n }\n\n return navigator.onLine;\n }\n\n}\nconst onlineManager = new OnlineManager();\n\nfunction defaultRetryDelay(failureCount) {\n return Math.min(1000 * 2 ** failureCount, 30000);\n}\n\nfunction canFetch(networkMode) {\n return (networkMode != null ? networkMode : 'online') === 'online' ? onlineManager.isOnline() : true;\n}\nclass CancelledError {\n constructor(options) {\n this.revert = options == null ? void 0 : options.revert;\n this.silent = options == null ? void 0 : options.silent;\n }\n\n}\nfunction isCancelledError(value) {\n return value instanceof CancelledError;\n}\nfunction createRetryer(config) {\n let isRetryCancelled = false;\n let failureCount = 0;\n let isResolved = false;\n let continueFn;\n let promiseResolve;\n let promiseReject;\n const promise = new Promise((outerResolve, outerReject) => {\n promiseResolve = outerResolve;\n promiseReject = outerReject;\n });\n\n const cancel = cancelOptions => {\n if (!isResolved) {\n reject(new CancelledError(cancelOptions));\n config.abort == null ? void 0 : config.abort();\n }\n };\n\n const cancelRetry = () => {\n isRetryCancelled = true;\n };\n\n const continueRetry = () => {\n isRetryCancelled = false;\n };\n\n const shouldPause = () => !focusManager.isFocused() || config.networkMode !== 'always' && !onlineManager.isOnline();\n\n const resolve = value => {\n if (!isResolved) {\n isResolved = true;\n config.onSuccess == null ? void 0 : config.onSuccess(value);\n continueFn == null ? void 0 : continueFn();\n promiseResolve(value);\n }\n };\n\n const reject = value => {\n if (!isResolved) {\n isResolved = true;\n config.onError == null ? void 0 : config.onError(value);\n continueFn == null ? void 0 : continueFn();\n promiseReject(value);\n }\n };\n\n const pause = () => {\n return new Promise(continueResolve => {\n continueFn = value => {\n if (isResolved || !shouldPause()) {\n return continueResolve(value);\n }\n };\n\n config.onPause == null ? void 0 : config.onPause();\n }).then(() => {\n continueFn = undefined;\n\n if (!isResolved) {\n config.onContinue == null ? void 0 : config.onContinue();\n }\n });\n }; // Create loop function\n\n\n const run = () => {\n // Do nothing if already resolved\n if (isResolved) {\n return;\n }\n\n let promiseOrValue; // Execute query\n\n try {\n promiseOrValue = config.fn();\n } catch (error) {\n promiseOrValue = Promise.reject(error);\n }\n\n Promise.resolve(promiseOrValue).then(resolve).catch(error => {\n var _config$retry, _config$retryDelay;\n\n // Stop if the fetch is already resolved\n if (isResolved) {\n return;\n } // Do we need to retry the request?\n\n\n const retry = (_config$retry = config.retry) != null ? _config$retry : 3;\n const retryDelay = (_config$retryDelay = config.retryDelay) != null ? _config$retryDelay : defaultRetryDelay;\n const delay = typeof retryDelay === 'function' ? retryDelay(failureCount, error) : retryDelay;\n const shouldRetry = retry === true || typeof retry === 'number' && failureCount < retry || typeof retry === 'function' && retry(failureCount, error);\n\n if (isRetryCancelled || !shouldRetry) {\n // We are done if the query does not need to be retried\n reject(error);\n return;\n }\n\n failureCount++; // Notify on fail\n\n config.onFail == null ? void 0 : config.onFail(failureCount, error); // Delay\n\n sleep(delay) // Pause if the document is not visible or when the device is offline\n .then(() => {\n if (shouldPause()) {\n return pause();\n }\n }).then(() => {\n if (isRetryCancelled) {\n reject(error);\n } else {\n run();\n }\n });\n });\n }; // Start loop\n\n\n if (canFetch(config.networkMode)) {\n run();\n } else {\n pause().then(run);\n }\n\n return {\n promise,\n cancel,\n continue: () => {\n continueFn == null ? void 0 : continueFn();\n },\n cancelRetry,\n continueRetry\n };\n}\n\nconst defaultLogger = console;\n\nfunction createNotifyManager() {\n let queue = [];\n let transactions = 0;\n\n let notifyFn = callback => {\n callback();\n };\n\n let batchNotifyFn = callback => {\n callback();\n };\n\n const batch = callback => {\n let result;\n transactions++;\n\n try {\n result = callback();\n } finally {\n transactions--;\n\n if (!transactions) {\n flush();\n }\n }\n\n return result;\n };\n\n const schedule = callback => {\n if (transactions) {\n queue.push(callback);\n } else {\n scheduleMicrotask(() => {\n notifyFn(callback);\n });\n }\n };\n /**\n * All calls to the wrapped function will be batched.\n */\n\n\n const batchCalls = callback => {\n return (...args) => {\n schedule(() => {\n callback(...args);\n });\n };\n };\n\n const flush = () => {\n const originalQueue = queue;\n queue = [];\n\n if (originalQueue.length) {\n scheduleMicrotask(() => {\n batchNotifyFn(() => {\n originalQueue.forEach(callback => {\n notifyFn(callback);\n });\n });\n });\n }\n };\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n\n\n const setNotifyFunction = fn => {\n notifyFn = fn;\n };\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n\n\n const setBatchNotifyFunction = fn => {\n batchNotifyFn = fn;\n };\n\n return {\n batch,\n batchCalls,\n schedule,\n setNotifyFunction,\n setBatchNotifyFunction\n };\n} // SINGLETON\n\nconst notifyManager = createNotifyManager();\n\nclass Removable {\n destroy() {\n this.clearGcTimeout();\n }\n\n scheduleGc() {\n this.clearGcTimeout();\n\n if (isValidTimeout(this.cacheTime)) {\n this.gcTimeout = setTimeout(() => {\n this.optionalRemove();\n }, this.cacheTime);\n }\n }\n\n updateCacheTime(newCacheTime) {\n // Default to 5 minutes (Infinity for server-side) if no cache time is set\n this.cacheTime = Math.max(this.cacheTime || 0, newCacheTime != null ? newCacheTime : isServer ? Infinity : 5 * 60 * 1000);\n }\n\n clearGcTimeout() {\n if (this.gcTimeout) {\n clearTimeout(this.gcTimeout);\n this.gcTimeout = undefined;\n }\n }\n\n}\n\n// CLASS\nclass Query extends Removable {\n constructor(config) {\n super();\n this.abortSignalConsumed = false;\n this.defaultOptions = config.defaultOptions;\n this.setOptions(config.options);\n this.observers = [];\n this.cache = config.cache;\n this.logger = config.logger || defaultLogger;\n this.queryKey = config.queryKey;\n this.queryHash = config.queryHash;\n this.initialState = config.state || getDefaultState$1(this.options);\n this.state = this.initialState;\n this.meta = config.meta;\n }\n\n setOptions(options) {\n this.options = { ...this.defaultOptions,\n ...options\n };\n this.meta = options == null ? void 0 : options.meta;\n this.updateCacheTime(this.options.cacheTime);\n }\n\n optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === 'idle') {\n this.cache.remove(this);\n }\n }\n\n setData(newData, options) {\n const data = replaceData(this.state.data, newData, this.options); // Set data and mark it as cached\n\n this.dispatch({\n data,\n type: 'success',\n dataUpdatedAt: options == null ? void 0 : options.updatedAt,\n manual: options == null ? void 0 : options.manual\n });\n return data;\n }\n\n setState(state, setStateOptions) {\n this.dispatch({\n type: 'setState',\n state,\n setStateOptions\n });\n }\n\n cancel(options) {\n var _this$retryer;\n\n const promise = this.promise;\n (_this$retryer = this.retryer) == null ? void 0 : _this$retryer.cancel(options);\n return promise ? promise.then(noop).catch(noop) : Promise.resolve();\n }\n\n destroy() {\n super.destroy();\n this.cancel({\n silent: true\n });\n }\n\n reset() {\n this.destroy();\n this.setState(this.initialState);\n }\n\n isActive() {\n return this.observers.some(observer => observer.options.enabled !== false);\n }\n\n isDisabled() {\n return this.getObserversCount() > 0 && !this.isActive();\n }\n\n isStale() {\n return this.state.isInvalidated || !this.state.dataUpdatedAt || this.observers.some(observer => observer.getCurrentResult().isStale);\n }\n\n isStaleByTime(staleTime = 0) {\n return this.state.isInvalidated || !this.state.dataUpdatedAt || !timeUntilStale(this.state.dataUpdatedAt, staleTime);\n }\n\n onFocus() {\n var _this$retryer2;\n\n const observer = this.observers.find(x => x.shouldFetchOnWindowFocus());\n\n if (observer) {\n observer.refetch({\n cancelRefetch: false\n });\n } // Continue fetch if currently paused\n\n\n (_this$retryer2 = this.retryer) == null ? void 0 : _this$retryer2.continue();\n }\n\n onOnline() {\n var _this$retryer3;\n\n const observer = this.observers.find(x => x.shouldFetchOnReconnect());\n\n if (observer) {\n observer.refetch({\n cancelRefetch: false\n });\n } // Continue fetch if currently paused\n\n\n (_this$retryer3 = this.retryer) == null ? void 0 : _this$retryer3.continue();\n }\n\n addObserver(observer) {\n if (this.observers.indexOf(observer) === -1) {\n this.observers.push(observer); // Stop the query from being garbage collected\n\n this.clearGcTimeout();\n this.cache.notify({\n type: 'observerAdded',\n query: this,\n observer\n });\n }\n }\n\n removeObserver(observer) {\n if (this.observers.indexOf(observer) !== -1) {\n this.observers = this.observers.filter(x => x !== observer);\n\n if (!this.observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.retryer) {\n if (this.abortSignalConsumed) {\n this.retryer.cancel({\n revert: true\n });\n } else {\n this.retryer.cancelRetry();\n }\n }\n\n this.scheduleGc();\n }\n\n this.cache.notify({\n type: 'observerRemoved',\n query: this,\n observer\n });\n }\n }\n\n getObserversCount() {\n return this.observers.length;\n }\n\n invalidate() {\n if (!this.state.isInvalidated) {\n this.dispatch({\n type: 'invalidate'\n });\n }\n }\n\n fetch(options, fetchOptions) {\n var _this$options$behavio, _context$fetchOptions;\n\n if (this.state.fetchStatus !== 'idle') {\n if (this.state.dataUpdatedAt && fetchOptions != null && fetchOptions.cancelRefetch) {\n // Silently cancel current fetch if the user wants to cancel refetches\n this.cancel({\n silent: true\n });\n } else if (this.promise) {\n var _this$retryer4;\n\n // make sure that retries that were potentially cancelled due to unmounts can continue\n (_this$retryer4 = this.retryer) == null ? void 0 : _this$retryer4.continueRetry(); // Return current promise if we are already fetching\n\n return this.promise;\n }\n } // Update config if passed, otherwise the config from the last execution is used\n\n\n if (options) {\n this.setOptions(options);\n } // Use the options from the first observer with a query function if no function is found.\n // This can happen when the query is hydrated or created with setQueryData.\n\n\n if (!this.options.queryFn) {\n const observer = this.observers.find(x => x.options.queryFn);\n\n if (observer) {\n this.setOptions(observer.options);\n }\n }\n\n if (!Array.isArray(this.options.queryKey)) {\n if (process.env.NODE_ENV !== 'production') {\n this.logger.error(\"As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']\");\n }\n }\n\n const abortController = getAbortController(); // Create query function context\n\n const queryFnContext = {\n queryKey: this.queryKey,\n pageParam: undefined,\n meta: this.meta\n }; // Adds an enumerable signal property to the object that\n // which sets abortSignalConsumed to true when the signal\n // is read.\n\n const addSignalProperty = object => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n if (abortController) {\n this.abortSignalConsumed = true;\n return abortController.signal;\n }\n\n return undefined;\n }\n });\n };\n\n addSignalProperty(queryFnContext); // Create fetch function\n\n const fetchFn = () => {\n if (!this.options.queryFn) {\n return Promise.reject('Missing queryFn');\n }\n\n this.abortSignalConsumed = false;\n return this.options.queryFn(queryFnContext);\n }; // Trigger behavior hook\n\n\n const context = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n state: this.state,\n fetchFn,\n meta: this.meta\n };\n addSignalProperty(context);\n (_this$options$behavio = this.options.behavior) == null ? void 0 : _this$options$behavio.onFetch(context); // Store state in case the current fetch needs to be reverted\n\n this.revertState = this.state; // Set to fetching state if not already in it\n\n if (this.state.fetchStatus === 'idle' || this.state.fetchMeta !== ((_context$fetchOptions = context.fetchOptions) == null ? void 0 : _context$fetchOptions.meta)) {\n var _context$fetchOptions2;\n\n this.dispatch({\n type: 'fetch',\n meta: (_context$fetchOptions2 = context.fetchOptions) == null ? void 0 : _context$fetchOptions2.meta\n });\n }\n\n const onError = error => {\n // Optimistically update state if needed\n if (!(isCancelledError(error) && error.silent)) {\n this.dispatch({\n type: 'error',\n error: error\n });\n }\n\n if (!isCancelledError(error)) {\n var _this$cache$config$on, _this$cache$config;\n\n // Notify cache callback\n (_this$cache$config$on = (_this$cache$config = this.cache.config).onError) == null ? void 0 : _this$cache$config$on.call(_this$cache$config, error, this);\n\n if (process.env.NODE_ENV !== 'production') {\n this.logger.error(error);\n }\n }\n\n if (!this.isFetchingOptimistic) {\n // Schedule query gc after fetching\n this.scheduleGc();\n }\n\n this.isFetchingOptimistic = false;\n }; // Try to fetch the data\n\n\n this.retryer = createRetryer({\n fn: context.fetchFn,\n abort: abortController == null ? void 0 : abortController.abort.bind(abortController),\n onSuccess: data => {\n var _this$cache$config$on2, _this$cache$config2;\n\n if (typeof data === 'undefined') {\n onError(new Error('Query data cannot be undefined'));\n return;\n }\n\n this.setData(data); // Notify cache callback\n\n (_this$cache$config$on2 = (_this$cache$config2 = this.cache.config).onSuccess) == null ? void 0 : _this$cache$config$on2.call(_this$cache$config2, data, this);\n\n if (!this.isFetchingOptimistic) {\n // Schedule query gc after fetching\n this.scheduleGc();\n }\n\n this.isFetchingOptimistic = false;\n },\n onError,\n onFail: () => {\n this.dispatch({\n type: 'failed'\n });\n },\n onPause: () => {\n this.dispatch({\n type: 'pause'\n });\n },\n onContinue: () => {\n this.dispatch({\n type: 'continue'\n });\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode\n });\n this.promise = this.retryer.promise;\n return this.promise;\n }\n\n dispatch(action) {\n const reducer = state => {\n var _action$meta, _action$dataUpdatedAt;\n\n switch (action.type) {\n case 'failed':\n return { ...state,\n fetchFailureCount: state.fetchFailureCount + 1\n };\n\n case 'pause':\n return { ...state,\n fetchStatus: 'paused'\n };\n\n case 'continue':\n return { ...state,\n fetchStatus: 'fetching'\n };\n\n case 'fetch':\n return { ...state,\n fetchFailureCount: 0,\n fetchMeta: (_action$meta = action.meta) != null ? _action$meta : null,\n fetchStatus: canFetch(this.options.networkMode) ? 'fetching' : 'paused',\n ...(!state.dataUpdatedAt && {\n error: null,\n status: 'loading'\n })\n };\n\n case 'success':\n return { ...state,\n data: action.data,\n dataUpdateCount: state.dataUpdateCount + 1,\n dataUpdatedAt: (_action$dataUpdatedAt = action.dataUpdatedAt) != null ? _action$dataUpdatedAt : Date.now(),\n error: null,\n isInvalidated: false,\n status: 'success',\n ...(!action.manual && {\n fetchStatus: 'idle',\n fetchFailureCount: 0\n })\n };\n\n case 'error':\n const error = action.error;\n\n if (isCancelledError(error) && error.revert && this.revertState) {\n return { ...this.revertState\n };\n }\n\n return { ...state,\n error: error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchStatus: 'idle',\n status: 'error'\n };\n\n case 'invalidate':\n return { ...state,\n isInvalidated: true\n };\n\n case 'setState':\n return { ...state,\n ...action.state\n };\n }\n };\n\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.observers.forEach(observer => {\n observer.onQueryUpdate(action);\n });\n this.cache.notify({\n query: this,\n type: 'updated',\n action\n });\n });\n }\n\n}\n\nfunction getDefaultState$1(options) {\n const data = typeof options.initialData === 'function' ? options.initialData() : options.initialData;\n const hasInitialData = typeof options.initialData !== 'undefined';\n const initialDataUpdatedAt = hasInitialData ? typeof options.initialDataUpdatedAt === 'function' ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0;\n const hasData = typeof data !== 'undefined';\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt != null ? initialDataUpdatedAt : Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? 'success' : 'loading',\n fetchStatus: 'idle'\n };\n}\n\n// CLASS\nclass QueryCache extends Subscribable {\n constructor(config) {\n super();\n this.config = config || {};\n this.queries = [];\n this.queriesMap = {};\n }\n\n build(client, options, state) {\n var _options$queryHash;\n\n const queryKey = options.queryKey;\n const queryHash = (_options$queryHash = options.queryHash) != null ? _options$queryHash : hashQueryKeyByOptions(queryKey, options);\n let query = this.get(queryHash);\n\n if (!query) {\n query = new Query({\n cache: this,\n logger: client.getLogger(),\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey),\n meta: options.meta\n });\n this.add(query);\n }\n\n return query;\n }\n\n add(query) {\n if (!this.queriesMap[query.queryHash]) {\n this.queriesMap[query.queryHash] = query;\n this.queries.push(query);\n this.notify({\n type: 'added',\n query\n });\n }\n }\n\n remove(query) {\n const queryInMap = this.queriesMap[query.queryHash];\n\n if (queryInMap) {\n query.destroy();\n this.queries = this.queries.filter(x => x !== query);\n\n if (queryInMap === query) {\n delete this.queriesMap[query.queryHash];\n }\n\n this.notify({\n type: 'removed',\n query\n });\n }\n }\n\n clear() {\n notifyManager.batch(() => {\n this.queries.forEach(query => {\n this.remove(query);\n });\n });\n }\n\n get(queryHash) {\n return this.queriesMap[queryHash];\n }\n\n getAll() {\n return this.queries;\n }\n\n find(arg1, arg2) {\n const [filters] = parseFilterArgs(arg1, arg2);\n\n if (typeof filters.exact === 'undefined') {\n filters.exact = true;\n }\n\n return this.queries.find(query => matchQuery(filters, query));\n }\n\n findAll(arg1, arg2) {\n const [filters] = parseFilterArgs(arg1, arg2);\n return Object.keys(filters).length > 0 ? this.queries.filter(query => matchQuery(filters, query)) : this.queries;\n }\n\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach(listener => {\n listener(event);\n });\n });\n }\n\n onFocus() {\n notifyManager.batch(() => {\n this.queries.forEach(query => {\n query.onFocus();\n });\n });\n }\n\n onOnline() {\n notifyManager.batch(() => {\n this.queries.forEach(query => {\n query.onOnline();\n });\n });\n }\n\n}\n\n// CLASS\nclass Mutation extends Removable {\n constructor(config) {\n super();\n this.options = { ...config.defaultOptions,\n ...config.options\n };\n this.mutationId = config.mutationId;\n this.mutationCache = config.mutationCache;\n this.logger = config.logger || defaultLogger;\n this.observers = [];\n this.state = config.state || getDefaultState();\n this.meta = config.meta;\n this.updateCacheTime(this.options.cacheTime);\n this.scheduleGc();\n }\n\n setState(state) {\n this.dispatch({\n type: 'setState',\n state\n });\n }\n\n addObserver(observer) {\n if (this.observers.indexOf(observer) === -1) {\n this.observers.push(observer); // Stop the mutation from being garbage collected\n\n this.clearGcTimeout();\n this.mutationCache.notify({\n type: 'observerAdded',\n mutation: this,\n observer\n });\n }\n }\n\n removeObserver(observer) {\n this.observers = this.observers.filter(x => x !== observer);\n this.scheduleGc();\n this.mutationCache.notify({\n type: 'observerRemoved',\n mutation: this,\n observer\n });\n }\n\n optionalRemove() {\n if (!this.observers.length) {\n if (this.state.status === 'loading') {\n this.scheduleGc();\n } else {\n this.mutationCache.remove(this);\n }\n }\n }\n\n continue() {\n if (this.retryer) {\n this.retryer.continue();\n return this.retryer.promise;\n }\n\n return this.execute();\n }\n\n async execute() {\n const executeMutation = () => {\n var _this$options$retry;\n\n this.retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject('No mutationFn found');\n }\n\n return this.options.mutationFn(this.state.variables);\n },\n onFail: () => {\n this.dispatch({\n type: 'failed'\n });\n },\n onPause: () => {\n this.dispatch({\n type: 'pause'\n });\n },\n onContinue: () => {\n this.dispatch({\n type: 'continue'\n });\n },\n retry: (_this$options$retry = this.options.retry) != null ? _this$options$retry : 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode\n });\n return this.retryer.promise;\n };\n\n const restored = this.state.status === 'loading';\n\n try {\n var _this$mutationCache$c3, _this$mutationCache$c4, _this$options$onSucce, _this$options2, _this$options$onSettl, _this$options3;\n\n if (!restored) {\n var _this$mutationCache$c, _this$mutationCache$c2, _this$options$onMutat, _this$options;\n\n this.dispatch({\n type: 'loading',\n variables: this.options.variables\n }); // Notify cache callback\n\n (_this$mutationCache$c = (_this$mutationCache$c2 = this.mutationCache.config).onMutate) == null ? void 0 : _this$mutationCache$c.call(_this$mutationCache$c2, this.state.variables, this);\n const context = await ((_this$options$onMutat = (_this$options = this.options).onMutate) == null ? void 0 : _this$options$onMutat.call(_this$options, this.state.variables));\n\n if (context !== this.state.context) {\n this.dispatch({\n type: 'loading',\n context,\n variables: this.state.variables\n });\n }\n }\n\n const data = await executeMutation(); // Notify cache callback\n\n (_this$mutationCache$c3 = (_this$mutationCache$c4 = this.mutationCache.config).onSuccess) == null ? void 0 : _this$mutationCache$c3.call(_this$mutationCache$c4, data, this.state.variables, this.state.context, this);\n await ((_this$options$onSucce = (_this$options2 = this.options).onSuccess) == null ? void 0 : _this$options$onSucce.call(_this$options2, data, this.state.variables, this.state.context));\n await ((_this$options$onSettl = (_this$options3 = this.options).onSettled) == null ? void 0 : _this$options$onSettl.call(_this$options3, data, null, this.state.variables, this.state.context));\n this.dispatch({\n type: 'success',\n data\n });\n return data;\n } catch (error) {\n try {\n var _this$mutationCache$c5, _this$mutationCache$c6, _this$options$onError, _this$options4, _this$options$onSettl2, _this$options5;\n\n // Notify cache callback\n (_this$mutationCache$c5 = (_this$mutationCache$c6 = this.mutationCache.config).onError) == null ? void 0 : _this$mutationCache$c5.call(_this$mutationCache$c6, error, this.state.variables, this.state.context, this);\n\n if (process.env.NODE_ENV !== 'production') {\n this.logger.error(error);\n }\n\n await ((_this$options$onError = (_this$options4 = this.options).onError) == null ? void 0 : _this$options$onError.call(_this$options4, error, this.state.variables, this.state.context));\n await ((_this$options$onSettl2 = (_this$options5 = this.options).onSettled) == null ? void 0 : _this$options$onSettl2.call(_this$options5, undefined, error, this.state.variables, this.state.context));\n throw error;\n } finally {\n this.dispatch({\n type: 'error',\n error: error\n });\n }\n }\n }\n\n dispatch(action) {\n const reducer = state => {\n switch (action.type) {\n case 'failed':\n return { ...state,\n failureCount: state.failureCount + 1\n };\n\n case 'pause':\n return { ...state,\n isPaused: true\n };\n\n case 'continue':\n return { ...state,\n isPaused: false\n };\n\n case 'loading':\n return { ...state,\n context: action.context,\n data: undefined,\n error: null,\n isPaused: !canFetch(this.options.networkMode),\n status: 'loading',\n variables: action.variables\n };\n\n case 'success':\n return { ...state,\n data: action.data,\n error: null,\n status: 'success',\n isPaused: false\n };\n\n case 'error':\n return { ...state,\n data: undefined,\n error: action.error,\n failureCount: state.failureCount + 1,\n isPaused: false,\n status: 'error'\n };\n\n case 'setState':\n return { ...state,\n ...action.state\n };\n }\n };\n\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.observers.forEach(observer => {\n observer.onMutationUpdate(action);\n });\n this.mutationCache.notify({\n mutation: this,\n type: 'updated',\n action\n });\n });\n }\n\n}\nfunction getDefaultState() {\n return {\n context: undefined,\n data: undefined,\n error: null,\n failureCount: 0,\n isPaused: false,\n status: 'idle',\n variables: undefined\n };\n}\n\n// CLASS\nclass MutationCache extends Subscribable {\n constructor(config) {\n super();\n this.config = config || {};\n this.mutations = [];\n this.mutationId = 0;\n }\n\n build(client, options, state) {\n const mutation = new Mutation({\n mutationCache: this,\n logger: client.getLogger(),\n mutationId: ++this.mutationId,\n options: client.defaultMutationOptions(options),\n state,\n defaultOptions: options.mutationKey ? client.getMutationDefaults(options.mutationKey) : undefined,\n meta: options.meta\n });\n this.add(mutation);\n return mutation;\n }\n\n add(mutation) {\n this.mutations.push(mutation);\n this.notify({\n type: 'added',\n mutation\n });\n }\n\n remove(mutation) {\n this.mutations = this.mutations.filter(x => x !== mutation);\n this.notify({\n type: 'removed',\n mutation\n });\n }\n\n clear() {\n notifyManager.batch(() => {\n this.mutations.forEach(mutation => {\n this.remove(mutation);\n });\n });\n }\n\n getAll() {\n return this.mutations;\n }\n\n find(filters) {\n if (typeof filters.exact === 'undefined') {\n filters.exact = true;\n }\n\n return this.mutations.find(mutation => matchMutation(filters, mutation));\n }\n\n findAll(filters) {\n return this.mutations.filter(mutation => matchMutation(filters, mutation));\n }\n\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach(listener => {\n listener(event);\n });\n });\n }\n\n resumePausedMutations() {\n const pausedMutations = this.mutations.filter(x => x.state.isPaused);\n return notifyManager.batch(() => pausedMutations.reduce((promise, mutation) => promise.then(() => mutation.continue().catch(noop)), Promise.resolve()));\n }\n\n}\n\nfunction infiniteQueryBehavior() {\n return {\n onFetch: context => {\n context.fetchFn = () => {\n var _context$fetchOptions, _context$fetchOptions2, _context$fetchOptions3, _context$fetchOptions4, _context$state$data, _context$state$data2;\n\n const refetchPage = (_context$fetchOptions = context.fetchOptions) == null ? void 0 : (_context$fetchOptions2 = _context$fetchOptions.meta) == null ? void 0 : _context$fetchOptions2.refetchPage;\n const fetchMore = (_context$fetchOptions3 = context.fetchOptions) == null ? void 0 : (_context$fetchOptions4 = _context$fetchOptions3.meta) == null ? void 0 : _context$fetchOptions4.fetchMore;\n const pageParam = fetchMore == null ? void 0 : fetchMore.pageParam;\n const isFetchingNextPage = (fetchMore == null ? void 0 : fetchMore.direction) === 'forward';\n const isFetchingPreviousPage = (fetchMore == null ? void 0 : fetchMore.direction) === 'backward';\n const oldPages = ((_context$state$data = context.state.data) == null ? void 0 : _context$state$data.pages) || [];\n const oldPageParams = ((_context$state$data2 = context.state.data) == null ? void 0 : _context$state$data2.pageParams) || [];\n let newPageParams = oldPageParams;\n let cancelled = false;\n\n const addSignalProperty = object => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n var _context$signal;\n\n if ((_context$signal = context.signal) != null && _context$signal.aborted) {\n cancelled = true;\n } else {\n var _context$signal2;\n\n (_context$signal2 = context.signal) == null ? void 0 : _context$signal2.addEventListener('abort', () => {\n cancelled = true;\n });\n }\n\n return context.signal;\n }\n });\n }; // Get query function\n\n\n const queryFn = context.options.queryFn || (() => Promise.reject('Missing queryFn'));\n\n const buildNewPages = (pages, param, page, previous) => {\n newPageParams = previous ? [param, ...newPageParams] : [...newPageParams, param];\n return previous ? [page, ...pages] : [...pages, page];\n }; // Create function to fetch a page\n\n\n const fetchPage = (pages, manual, param, previous) => {\n if (cancelled) {\n return Promise.reject('Cancelled');\n }\n\n if (typeof param === 'undefined' && !manual && pages.length) {\n return Promise.resolve(pages);\n }\n\n const queryFnContext = {\n queryKey: context.queryKey,\n pageParam: param,\n meta: context.meta\n };\n addSignalProperty(queryFnContext);\n const queryFnResult = queryFn(queryFnContext);\n const promise = Promise.resolve(queryFnResult).then(page => buildNewPages(pages, param, page, previous));\n return promise;\n };\n\n let promise; // Fetch first page?\n\n if (!oldPages.length) {\n promise = fetchPage([]);\n } // Fetch next page?\n else if (isFetchingNextPage) {\n const manual = typeof pageParam !== 'undefined';\n const param = manual ? pageParam : getNextPageParam(context.options, oldPages);\n promise = fetchPage(oldPages, manual, param);\n } // Fetch previous page?\n else if (isFetchingPreviousPage) {\n const manual = typeof pageParam !== 'undefined';\n const param = manual ? pageParam : getPreviousPageParam(context.options, oldPages);\n promise = fetchPage(oldPages, manual, param, true);\n } // Refetch pages\n else {\n newPageParams = [];\n const manual = typeof context.options.getNextPageParam === 'undefined';\n const shouldFetchFirstPage = refetchPage && oldPages[0] ? refetchPage(oldPages[0], 0, oldPages) : true; // Fetch first page\n\n promise = shouldFetchFirstPage ? fetchPage([], manual, oldPageParams[0]) : Promise.resolve(buildNewPages([], oldPageParams[0], oldPages[0])); // Fetch remaining pages\n\n for (let i = 1; i < oldPages.length; i++) {\n promise = promise.then(pages => {\n const shouldFetchNextPage = refetchPage && oldPages[i] ? refetchPage(oldPages[i], i, oldPages) : true;\n\n if (shouldFetchNextPage) {\n const param = manual ? oldPageParams[i] : getNextPageParam(context.options, pages);\n return fetchPage(pages, manual, param);\n }\n\n return Promise.resolve(buildNewPages(pages, oldPageParams[i], oldPages[i]));\n });\n }\n }\n\n const finalPromise = promise.then(pages => ({\n pages,\n pageParams: newPageParams\n }));\n return finalPromise;\n };\n }\n };\n}\nfunction getNextPageParam(options, pages) {\n return options.getNextPageParam == null ? void 0 : options.getNextPageParam(pages[pages.length - 1], pages);\n}\nfunction getPreviousPageParam(options, pages) {\n return options.getPreviousPageParam == null ? void 0 : options.getPreviousPageParam(pages[0], pages);\n}\n/**\n * Checks if there is a next page.\n * Returns `undefined` if it cannot be determined.\n */\n\nfunction hasNextPage(options, pages) {\n if (options.getNextPageParam && Array.isArray(pages)) {\n const nextPageParam = getNextPageParam(options, pages);\n return typeof nextPageParam !== 'undefined' && nextPageParam !== null && nextPageParam !== false;\n }\n}\n/**\n * Checks if there is a previous page.\n * Returns `undefined` if it cannot be determined.\n */\n\nfunction hasPreviousPage(options, pages) {\n if (options.getPreviousPageParam && Array.isArray(pages)) {\n const previousPageParam = getPreviousPageParam(options, pages);\n return typeof previousPageParam !== 'undefined' && previousPageParam !== null && previousPageParam !== false;\n }\n}\n\n// CLASS\nclass QueryClient {\n constructor(config = {}) {\n this.queryCache = config.queryCache || new QueryCache();\n this.mutationCache = config.mutationCache || new MutationCache();\n this.logger = config.logger || defaultLogger;\n this.defaultOptions = config.defaultOptions || {};\n this.queryDefaults = [];\n this.mutationDefaults = [];\n }\n\n mount() {\n this.unsubscribeFocus = focusManager.subscribe(() => {\n if (focusManager.isFocused()) {\n this.resumePausedMutations();\n this.queryCache.onFocus();\n }\n });\n this.unsubscribeOnline = onlineManager.subscribe(() => {\n if (onlineManager.isOnline()) {\n this.resumePausedMutations();\n this.queryCache.onOnline();\n }\n });\n }\n\n unmount() {\n var _this$unsubscribeFocu, _this$unsubscribeOnli;\n\n (_this$unsubscribeFocu = this.unsubscribeFocus) == null ? void 0 : _this$unsubscribeFocu.call(this);\n (_this$unsubscribeOnli = this.unsubscribeOnline) == null ? void 0 : _this$unsubscribeOnli.call(this);\n }\n\n isFetching(arg1, arg2) {\n const [filters] = parseFilterArgs(arg1, arg2);\n filters.fetchStatus = 'fetching';\n return this.queryCache.findAll(filters).length;\n }\n\n isMutating(filters) {\n return this.mutationCache.findAll({ ...filters,\n fetching: true\n }).length;\n }\n\n getQueryData(queryKey, filters) {\n var _this$queryCache$find;\n\n return (_this$queryCache$find = this.queryCache.find(queryKey, filters)) == null ? void 0 : _this$queryCache$find.state.data;\n }\n\n getQueriesData(queryKeyOrFilters) {\n return this.getQueryCache().findAll(queryKeyOrFilters).map(({\n queryKey,\n state\n }) => {\n const data = state.data;\n return [queryKey, data];\n });\n }\n\n setQueryData(queryKey, updater, options) {\n const query = this.queryCache.find(queryKey);\n const prevData = query == null ? void 0 : query.state.data;\n const data = functionalUpdate(updater, prevData);\n\n if (typeof data === 'undefined') {\n return undefined;\n }\n\n const parsedOptions = parseQueryArgs(queryKey);\n const defaultedOptions = this.defaultQueryOptions(parsedOptions);\n return this.queryCache.build(this, defaultedOptions).setData(data, { ...options,\n manual: true\n });\n }\n\n setQueriesData(queryKeyOrFilters, updater, options) {\n return notifyManager.batch(() => this.getQueryCache().findAll(queryKeyOrFilters).map(({\n queryKey\n }) => [queryKey, this.setQueryData(queryKey, updater, options)]));\n }\n\n getQueryState(queryKey, filters) {\n var _this$queryCache$find2;\n\n return (_this$queryCache$find2 = this.queryCache.find(queryKey, filters)) == null ? void 0 : _this$queryCache$find2.state;\n }\n\n removeQueries(arg1, arg2) {\n const [filters] = parseFilterArgs(arg1, arg2);\n const queryCache = this.queryCache;\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach(query => {\n queryCache.remove(query);\n });\n });\n }\n\n resetQueries(arg1, arg2, arg3) {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3);\n const queryCache = this.queryCache;\n const refetchFilters = {\n type: 'active',\n ...filters\n };\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach(query => {\n query.reset();\n });\n return this.refetchQueries(refetchFilters, options);\n });\n }\n\n cancelQueries(arg1, arg2, arg3) {\n const [filters, cancelOptions = {}] = parseFilterArgs(arg1, arg2, arg3);\n\n if (typeof cancelOptions.revert === 'undefined') {\n cancelOptions.revert = true;\n }\n\n const promises = notifyManager.batch(() => this.queryCache.findAll(filters).map(query => query.cancel(cancelOptions)));\n return Promise.all(promises).then(noop).catch(noop);\n }\n\n invalidateQueries(arg1, arg2, arg3) {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3);\n return notifyManager.batch(() => {\n var _ref, _filters$refetchType;\n\n this.queryCache.findAll(filters).forEach(query => {\n query.invalidate();\n });\n\n if (filters.refetchType === 'none') {\n return Promise.resolve();\n }\n\n const refetchFilters = { ...filters,\n type: (_ref = (_filters$refetchType = filters.refetchType) != null ? _filters$refetchType : filters.type) != null ? _ref : 'active'\n };\n return this.refetchQueries(refetchFilters, options);\n });\n }\n\n refetchQueries(arg1, arg2, arg3) {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3);\n const promises = notifyManager.batch(() => this.queryCache.findAll(filters).filter(query => !query.isDisabled()).map(query => {\n var _options$cancelRefetc;\n\n return query.fetch(undefined, { ...options,\n cancelRefetch: (_options$cancelRefetc = options == null ? void 0 : options.cancelRefetch) != null ? _options$cancelRefetc : true,\n meta: {\n refetchPage: filters.refetchPage\n }\n });\n }));\n let promise = Promise.all(promises).then(noop);\n\n if (!(options != null && options.throwOnError)) {\n promise = promise.catch(noop);\n }\n\n return promise;\n }\n\n fetchQuery(arg1, arg2, arg3) {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3);\n const defaultedOptions = this.defaultQueryOptions(parsedOptions); // https://github.com/tannerlinsley/react-query/issues/652\n\n if (typeof defaultedOptions.retry === 'undefined') {\n defaultedOptions.retry = false;\n }\n\n const query = this.queryCache.build(this, defaultedOptions);\n return query.isStaleByTime(defaultedOptions.staleTime) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);\n }\n\n prefetchQuery(arg1, arg2, arg3) {\n return this.fetchQuery(arg1, arg2, arg3).then(noop).catch(noop);\n }\n\n fetchInfiniteQuery(arg1, arg2, arg3) {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3);\n parsedOptions.behavior = infiniteQueryBehavior();\n return this.fetchQuery(parsedOptions);\n }\n\n prefetchInfiniteQuery(arg1, arg2, arg3) {\n return this.fetchInfiniteQuery(arg1, arg2, arg3).then(noop).catch(noop);\n }\n\n resumePausedMutations() {\n return this.mutationCache.resumePausedMutations();\n }\n\n getQueryCache() {\n return this.queryCache;\n }\n\n getMutationCache() {\n return this.mutationCache;\n }\n\n getLogger() {\n return this.logger;\n }\n\n getDefaultOptions() {\n return this.defaultOptions;\n }\n\n setDefaultOptions(options) {\n this.defaultOptions = options;\n }\n\n setQueryDefaults(queryKey, options) {\n const result = this.queryDefaults.find(x => hashQueryKey(queryKey) === hashQueryKey(x.queryKey));\n\n if (result) {\n result.defaultOptions = options;\n } else {\n this.queryDefaults.push({\n queryKey,\n defaultOptions: options\n });\n }\n }\n\n getQueryDefaults(queryKey) {\n if (!queryKey) {\n return undefined;\n } // Get the first matching defaults\n\n\n const firstMatchingDefaults = this.queryDefaults.find(x => partialMatchKey(queryKey, x.queryKey)); // Additional checks and error in dev mode\n\n if (process.env.NODE_ENV !== 'production') {\n // Retrieve all matching defaults for the given key\n const matchingDefaults = this.queryDefaults.filter(x => partialMatchKey(queryKey, x.queryKey)); // It is ok not having defaults, but it is error prone to have more than 1 default for a given key\n\n if (matchingDefaults.length > 1) {\n if (process.env.NODE_ENV !== 'production') {\n this.logger.error(\"[QueryClient] Several query defaults match with key '\" + JSON.stringify(queryKey) + \"'. The first matching query defaults are used. Please check how query defaults are registered. Order does matter here. cf. https://react-query.tanstack.com/reference/QueryClient#queryclientsetquerydefaults.\");\n }\n }\n }\n\n return firstMatchingDefaults == null ? void 0 : firstMatchingDefaults.defaultOptions;\n }\n\n setMutationDefaults(mutationKey, options) {\n const result = this.mutationDefaults.find(x => hashQueryKey(mutationKey) === hashQueryKey(x.mutationKey));\n\n if (result) {\n result.defaultOptions = options;\n } else {\n this.mutationDefaults.push({\n mutationKey,\n defaultOptions: options\n });\n }\n }\n\n getMutationDefaults(mutationKey) {\n if (!mutationKey) {\n return undefined;\n } // Get the first matching defaults\n\n\n const firstMatchingDefaults = this.mutationDefaults.find(x => partialMatchKey(mutationKey, x.mutationKey)); // Additional checks and error in dev mode\n\n if (process.env.NODE_ENV !== 'production') {\n // Retrieve all matching defaults for the given key\n const matchingDefaults = this.mutationDefaults.filter(x => partialMatchKey(mutationKey, x.mutationKey)); // It is ok not having defaults, but it is error prone to have more than 1 default for a given key\n\n if (matchingDefaults.length > 1) {\n if (process.env.NODE_ENV !== 'production') {\n this.logger.error(\"[QueryClient] Several mutation defaults match with key '\" + JSON.stringify(mutationKey) + \"'. The first matching mutation defaults are used. Please check how mutation defaults are registered. Order does matter here. cf. https://react-query.tanstack.com/reference/QueryClient#queryclientsetmutationdefaults.\");\n }\n }\n }\n\n return firstMatchingDefaults == null ? void 0 : firstMatchingDefaults.defaultOptions;\n }\n\n defaultQueryOptions(options) {\n if (options != null && options._defaulted) {\n return options;\n }\n\n const defaultedOptions = { ...this.defaultOptions.queries,\n ...this.getQueryDefaults(options == null ? void 0 : options.queryKey),\n ...options,\n _defaulted: true\n };\n\n if (!defaultedOptions.queryHash && defaultedOptions.queryKey) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(defaultedOptions.queryKey, defaultedOptions);\n } // dependent default values\n\n\n if (typeof defaultedOptions.refetchOnReconnect === 'undefined') {\n defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== 'always';\n }\n\n if (typeof defaultedOptions.useErrorBoundary === 'undefined') {\n defaultedOptions.useErrorBoundary = !!defaultedOptions.suspense;\n }\n\n return defaultedOptions;\n }\n\n defaultMutationOptions(options) {\n if (options != null && options._defaulted) {\n return options;\n }\n\n return { ...this.defaultOptions.mutations,\n ...this.getMutationDefaults(options == null ? void 0 : options.mutationKey),\n ...options,\n _defaulted: true\n };\n }\n\n clear() {\n this.queryCache.clear();\n this.mutationCache.clear();\n }\n\n}\n\nclass QueryObserver extends Subscribable {\n constructor(client, options) {\n super();\n this.client = client;\n this.options = options;\n this.trackedProps = new Set();\n this.selectError = null;\n this.bindMethods();\n this.setOptions(options);\n }\n\n bindMethods() {\n this.remove = this.remove.bind(this);\n this.refetch = this.refetch.bind(this);\n }\n\n onSubscribe() {\n if (this.listeners.length === 1) {\n this.currentQuery.addObserver(this);\n\n if (shouldFetchOnMount(this.currentQuery, this.options)) {\n this.executeFetch();\n }\n\n this.updateTimers();\n }\n }\n\n onUnsubscribe() {\n if (!this.listeners.length) {\n this.destroy();\n }\n }\n\n shouldFetchOnReconnect() {\n return shouldFetchOn(this.currentQuery, this.options, this.options.refetchOnReconnect);\n }\n\n shouldFetchOnWindowFocus() {\n return shouldFetchOn(this.currentQuery, this.options, this.options.refetchOnWindowFocus);\n }\n\n destroy() {\n this.listeners = [];\n this.clearStaleTimeout();\n this.clearRefetchInterval();\n this.currentQuery.removeObserver(this);\n }\n\n setOptions(options, notifyOptions) {\n const prevOptions = this.options;\n const prevQuery = this.currentQuery;\n this.options = this.client.defaultQueryOptions(options);\n\n if (typeof this.options.enabled !== 'undefined' && typeof this.options.enabled !== 'boolean') {\n throw new Error('Expected enabled to be a boolean');\n } // Keep previous query key if the user does not supply one\n\n\n if (!this.options.queryKey) {\n this.options.queryKey = prevOptions.queryKey;\n }\n\n this.updateQuery();\n const mounted = this.hasListeners(); // Fetch if there are subscribers\n\n if (mounted && shouldFetchOptionally(this.currentQuery, prevQuery, this.options, prevOptions)) {\n this.executeFetch();\n } // Update result\n\n\n this.updateResult(notifyOptions); // Update stale interval if needed\n\n if (mounted && (this.currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || this.options.staleTime !== prevOptions.staleTime)) {\n this.updateStaleTimeout();\n }\n\n const nextRefetchInterval = this.computeRefetchInterval(); // Update refetch interval if needed\n\n if (mounted && (this.currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || nextRefetchInterval !== this.currentRefetchInterval)) {\n this.updateRefetchInterval(nextRefetchInterval);\n }\n }\n\n getOptimisticResult(options) {\n const query = this.client.getQueryCache().build(this.client, options);\n return this.createResult(query, options);\n }\n\n getCurrentResult() {\n return this.currentResult;\n }\n\n trackResult(result) {\n const trackedResult = {};\n Object.keys(result).forEach(key => {\n Object.defineProperty(trackedResult, key, {\n configurable: false,\n enumerable: true,\n get: () => {\n this.trackedProps.add(key);\n return result[key];\n }\n });\n });\n return trackedResult;\n }\n\n getCurrentQuery() {\n return this.currentQuery;\n }\n\n remove() {\n this.client.getQueryCache().remove(this.currentQuery);\n }\n\n refetch({\n refetchPage,\n ...options\n } = {}) {\n return this.fetch({ ...options,\n meta: {\n refetchPage\n }\n });\n }\n\n fetchOptimistic(options) {\n const defaultedOptions = this.client.defaultQueryOptions(options);\n const query = this.client.getQueryCache().build(this.client, defaultedOptions);\n query.isFetchingOptimistic = true;\n return query.fetch().then(() => this.createResult(query, defaultedOptions));\n }\n\n fetch(fetchOptions) {\n var _fetchOptions$cancelR;\n\n return this.executeFetch({ ...fetchOptions,\n cancelRefetch: (_fetchOptions$cancelR = fetchOptions.cancelRefetch) != null ? _fetchOptions$cancelR : true\n }).then(() => {\n this.updateResult();\n return this.currentResult;\n });\n }\n\n executeFetch(fetchOptions) {\n // Make sure we reference the latest query as the current one might have been removed\n this.updateQuery(); // Fetch\n\n let promise = this.currentQuery.fetch(this.options, fetchOptions);\n\n if (!(fetchOptions != null && fetchOptions.throwOnError)) {\n promise = promise.catch(noop);\n }\n\n return promise;\n }\n\n updateStaleTimeout() {\n this.clearStaleTimeout();\n\n if (isServer || this.currentResult.isStale || !isValidTimeout(this.options.staleTime)) {\n return;\n }\n\n const time = timeUntilStale(this.currentResult.dataUpdatedAt, this.options.staleTime); // The timeout is sometimes triggered 1 ms before the stale time expiration.\n // To mitigate this issue we always add 1 ms to the timeout.\n\n const timeout = time + 1;\n this.staleTimeoutId = setTimeout(() => {\n if (!this.currentResult.isStale) {\n this.updateResult();\n }\n }, timeout);\n }\n\n computeRefetchInterval() {\n var _this$options$refetch;\n\n return typeof this.options.refetchInterval === 'function' ? this.options.refetchInterval(this.currentResult.data, this.currentQuery) : (_this$options$refetch = this.options.refetchInterval) != null ? _this$options$refetch : false;\n }\n\n updateRefetchInterval(nextInterval) {\n this.clearRefetchInterval();\n this.currentRefetchInterval = nextInterval;\n\n if (isServer || this.options.enabled === false || !isValidTimeout(this.currentRefetchInterval) || this.currentRefetchInterval === 0) {\n return;\n }\n\n this.refetchIntervalId = setInterval(() => {\n if (this.options.refetchIntervalInBackground || focusManager.isFocused()) {\n this.executeFetch();\n }\n }, this.currentRefetchInterval);\n }\n\n updateTimers() {\n this.updateStaleTimeout();\n this.updateRefetchInterval(this.computeRefetchInterval());\n }\n\n clearStaleTimeout() {\n if (this.staleTimeoutId) {\n clearTimeout(this.staleTimeoutId);\n this.staleTimeoutId = undefined;\n }\n }\n\n clearRefetchInterval() {\n if (this.refetchIntervalId) {\n clearInterval(this.refetchIntervalId);\n this.refetchIntervalId = undefined;\n }\n }\n\n createResult(query, options) {\n const prevQuery = this.currentQuery;\n const prevOptions = this.options;\n const prevResult = this.currentResult;\n const prevResultState = this.currentResultState;\n const prevResultOptions = this.currentResultOptions;\n const queryChange = query !== prevQuery;\n const queryInitialState = queryChange ? query.state : this.currentQueryInitialState;\n const prevQueryResult = queryChange ? this.currentResult : this.previousQueryResult;\n const {\n state\n } = query;\n let {\n dataUpdatedAt,\n error,\n errorUpdatedAt,\n fetchStatus,\n status\n } = state;\n let isPreviousData = false;\n let isPlaceholderData = false;\n let data; // Optimistically set result in fetching state if needed\n\n if (options._optimisticResults) {\n const mounted = this.hasListeners();\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n\n if (fetchOnMount || fetchOptionally) {\n fetchStatus = canFetch(query.options.networkMode) ? 'fetching' : 'paused';\n\n if (!dataUpdatedAt) {\n status = 'loading';\n }\n }\n\n if (options._optimisticResults === 'isRestoring') {\n fetchStatus = 'idle';\n }\n } // Keep previous data if needed\n\n\n if (options.keepPreviousData && !state.dataUpdateCount && prevQueryResult != null && prevQueryResult.isSuccess && status !== 'error') {\n data = prevQueryResult.data;\n dataUpdatedAt = prevQueryResult.dataUpdatedAt;\n status = prevQueryResult.status;\n isPreviousData = true;\n } // Select data if needed\n else if (options.select && typeof state.data !== 'undefined') {\n // Memoize select result\n if (prevResult && state.data === (prevResultState == null ? void 0 : prevResultState.data) && options.select === this.selectFn) {\n data = this.selectResult;\n } else {\n try {\n this.selectFn = options.select;\n data = options.select(state.data);\n data = replaceData(prevResult == null ? void 0 : prevResult.data, data, options);\n this.selectResult = data;\n this.selectError = null;\n } catch (selectError) {\n if (process.env.NODE_ENV !== 'production') {\n this.client.getLogger().error(selectError);\n }\n\n this.selectError = selectError;\n }\n }\n } // Use query data\n else {\n data = state.data;\n } // Show placeholder data if needed\n\n\n if (typeof options.placeholderData !== 'undefined' && typeof data === 'undefined' && status === 'loading') {\n let placeholderData; // Memoize placeholder data\n\n if (prevResult != null && prevResult.isPlaceholderData && options.placeholderData === (prevResultOptions == null ? void 0 : prevResultOptions.placeholderData)) {\n placeholderData = prevResult.data;\n } else {\n placeholderData = typeof options.placeholderData === 'function' ? options.placeholderData() : options.placeholderData;\n\n if (options.select && typeof placeholderData !== 'undefined') {\n try {\n placeholderData = options.select(placeholderData);\n placeholderData = replaceData(prevResult == null ? void 0 : prevResult.data, placeholderData, options);\n this.selectError = null;\n } catch (selectError) {\n if (process.env.NODE_ENV !== 'production') {\n this.client.getLogger().error(selectError);\n }\n\n this.selectError = selectError;\n }\n }\n }\n\n if (typeof placeholderData !== 'undefined') {\n status = 'success';\n data = placeholderData;\n isPlaceholderData = true;\n }\n }\n\n if (this.selectError) {\n error = this.selectError;\n data = this.selectResult;\n errorUpdatedAt = Date.now();\n status = 'error';\n }\n\n const isFetching = fetchStatus === 'fetching';\n const result = {\n status,\n fetchStatus,\n isLoading: status === 'loading',\n isSuccess: status === 'success',\n isError: status === 'error',\n data,\n dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: state.fetchFailureCount,\n errorUpdateCount: state.errorUpdateCount,\n isFetched: state.dataUpdateCount > 0 || state.errorUpdateCount > 0,\n isFetchedAfterMount: state.dataUpdateCount > queryInitialState.dataUpdateCount || state.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching: isFetching,\n isRefetching: isFetching && status !== 'loading',\n isLoadingError: status === 'error' && state.dataUpdatedAt === 0,\n isPaused: fetchStatus === 'paused',\n isPlaceholderData,\n isPreviousData,\n isRefetchError: status === 'error' && state.dataUpdatedAt !== 0,\n isStale: isStale(query, options),\n refetch: this.refetch,\n remove: this.remove\n };\n return result;\n }\n\n updateResult(notifyOptions) {\n const prevResult = this.currentResult;\n const nextResult = this.createResult(this.currentQuery, this.options);\n this.currentResultState = this.currentQuery.state;\n this.currentResultOptions = this.options; // Only notify and update result if something has changed\n\n if (shallowEqualObjects(nextResult, prevResult)) {\n return;\n }\n\n this.currentResult = nextResult; // Determine which callbacks to trigger\n\n const defaultNotifyOptions = {\n cache: true\n };\n\n const shouldNotifyListeners = () => {\n if (!prevResult) {\n return true;\n }\n\n const {\n notifyOnChangeProps\n } = this.options;\n\n if (notifyOnChangeProps === 'all' || !notifyOnChangeProps && !this.trackedProps.size) {\n return true;\n }\n\n const includedProps = new Set(notifyOnChangeProps != null ? notifyOnChangeProps : this.trackedProps);\n\n if (this.options.useErrorBoundary) {\n includedProps.add('error');\n }\n\n return Object.keys(this.currentResult).some(key => {\n const typedKey = key;\n const changed = this.currentResult[typedKey] !== prevResult[typedKey];\n return changed && includedProps.has(typedKey);\n });\n };\n\n if ((notifyOptions == null ? void 0 : notifyOptions.listeners) !== false && shouldNotifyListeners()) {\n defaultNotifyOptions.listeners = true;\n }\n\n this.notify({ ...defaultNotifyOptions,\n ...notifyOptions\n });\n }\n\n updateQuery() {\n const query = this.client.getQueryCache().build(this.client, this.options);\n\n if (query === this.currentQuery) {\n return;\n }\n\n const prevQuery = this.currentQuery;\n this.currentQuery = query;\n this.currentQueryInitialState = query.state;\n this.previousQueryResult = this.currentResult;\n\n if (this.hasListeners()) {\n prevQuery == null ? void 0 : prevQuery.removeObserver(this);\n query.addObserver(this);\n }\n }\n\n onQueryUpdate(action) {\n const notifyOptions = {};\n\n if (action.type === 'success') {\n notifyOptions.onSuccess = !action.manual;\n } else if (action.type === 'error' && !isCancelledError(action.error)) {\n notifyOptions.onError = true;\n }\n\n this.updateResult(notifyOptions);\n\n if (this.hasListeners()) {\n this.updateTimers();\n }\n }\n\n notify(notifyOptions) {\n notifyManager.batch(() => {\n // First trigger the configuration callbacks\n if (notifyOptions.onSuccess) {\n var _this$options$onSucce, _this$options, _this$options$onSettl, _this$options2;\n\n (_this$options$onSucce = (_this$options = this.options).onSuccess) == null ? void 0 : _this$options$onSucce.call(_this$options, this.currentResult.data);\n (_this$options$onSettl = (_this$options2 = this.options).onSettled) == null ? void 0 : _this$options$onSettl.call(_this$options2, this.currentResult.data, null);\n } else if (notifyOptions.onError) {\n var _this$options$onError, _this$options3, _this$options$onSettl2, _this$options4;\n\n (_this$options$onError = (_this$options3 = this.options).onError) == null ? void 0 : _this$options$onError.call(_this$options3, this.currentResult.error);\n (_this$options$onSettl2 = (_this$options4 = this.options).onSettled) == null ? void 0 : _this$options$onSettl2.call(_this$options4, undefined, this.currentResult.error);\n } // Then trigger the listeners\n\n\n if (notifyOptions.listeners) {\n this.listeners.forEach(listener => {\n listener(this.currentResult);\n });\n } // Then the cache listeners\n\n\n if (notifyOptions.cache) {\n this.client.getQueryCache().notify({\n query: this.currentQuery,\n type: 'observerResultsUpdated'\n });\n }\n });\n }\n\n}\n\nfunction shouldLoadOnMount(query, options) {\n return options.enabled !== false && !query.state.dataUpdatedAt && !(query.state.status === 'error' && options.retryOnMount === false);\n}\n\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.dataUpdatedAt > 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\n\nfunction shouldFetchOn(query, options, field) {\n if (options.enabled !== false) {\n const value = typeof field === 'function' ? field(query) : field;\n return value === 'always' || value !== false && isStale(query, options);\n }\n\n return false;\n}\n\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n return options.enabled !== false && (query !== prevQuery || prevOptions.enabled === false) && (!options.suspense || query.state.status !== 'error') && isStale(query, options);\n}\n\nfunction isStale(query, options) {\n return query.isStaleByTime(options.staleTime);\n}\n\nclass QueriesObserver extends Subscribable {\n constructor(client, queries) {\n super();\n this.client = client;\n this.queries = [];\n this.result = [];\n this.observers = [];\n this.observersMap = {};\n\n if (queries) {\n this.setQueries(queries);\n }\n }\n\n onSubscribe() {\n if (this.listeners.length === 1) {\n this.observers.forEach(observer => {\n observer.subscribe(result => {\n this.onUpdate(observer, result);\n });\n });\n }\n }\n\n onUnsubscribe() {\n if (!this.listeners.length) {\n this.destroy();\n }\n }\n\n destroy() {\n this.listeners = [];\n this.observers.forEach(observer => {\n observer.destroy();\n });\n }\n\n setQueries(queries, notifyOptions) {\n this.queries = queries;\n notifyManager.batch(() => {\n const prevObservers = this.observers;\n const newObserverMatches = this.findMatchingObservers(this.queries); // set options for the new observers to notify of changes\n\n newObserverMatches.forEach(match => match.observer.setOptions(match.defaultedQueryOptions, notifyOptions));\n const newObservers = newObserverMatches.map(match => match.observer);\n const newObserversMap = Object.fromEntries(newObservers.map(observer => [observer.options.queryHash, observer]));\n const newResult = newObservers.map(observer => observer.getCurrentResult());\n const hasIndexChange = newObservers.some((observer, index) => observer !== prevObservers[index]);\n\n if (prevObservers.length === newObservers.length && !hasIndexChange) {\n return;\n }\n\n this.observers = newObservers;\n this.observersMap = newObserversMap;\n this.result = newResult;\n\n if (!this.hasListeners()) {\n return;\n }\n\n difference(prevObservers, newObservers).forEach(observer => {\n observer.destroy();\n });\n difference(newObservers, prevObservers).forEach(observer => {\n observer.subscribe(result => {\n this.onUpdate(observer, result);\n });\n });\n this.notify();\n });\n }\n\n getCurrentResult() {\n return this.result;\n }\n\n getOptimisticResult(queries) {\n return this.findMatchingObservers(queries).map(match => match.observer.getOptimisticResult(match.defaultedQueryOptions));\n }\n\n findMatchingObservers(queries) {\n const prevObservers = this.observers;\n const defaultedQueryOptions = queries.map(options => this.client.defaultQueryOptions(options));\n const matchingObservers = defaultedQueryOptions.flatMap(defaultedOptions => {\n const match = prevObservers.find(observer => observer.options.queryHash === defaultedOptions.queryHash);\n\n if (match != null) {\n return [{\n defaultedQueryOptions: defaultedOptions,\n observer: match\n }];\n }\n\n return [];\n });\n const matchedQueryHashes = matchingObservers.map(match => match.defaultedQueryOptions.queryHash);\n const unmatchedQueries = defaultedQueryOptions.filter(defaultedOptions => !matchedQueryHashes.includes(defaultedOptions.queryHash));\n const unmatchedObservers = prevObservers.filter(prevObserver => !matchingObservers.some(match => match.observer === prevObserver));\n\n const getObserver = options => {\n const defaultedOptions = this.client.defaultQueryOptions(options);\n const currentObserver = this.observersMap[defaultedOptions.queryHash];\n return currentObserver != null ? currentObserver : new QueryObserver(this.client, defaultedOptions);\n };\n\n const newOrReusedObservers = unmatchedQueries.map((options, index) => {\n if (options.keepPreviousData) {\n // return previous data from one of the observers that no longer match\n const previouslyUsedObserver = unmatchedObservers[index];\n\n if (previouslyUsedObserver !== undefined) {\n return {\n defaultedQueryOptions: options,\n observer: previouslyUsedObserver\n };\n }\n }\n\n return {\n defaultedQueryOptions: options,\n observer: getObserver(options)\n };\n });\n\n const sortMatchesByOrderOfQueries = (a, b) => defaultedQueryOptions.indexOf(a.defaultedQueryOptions) - defaultedQueryOptions.indexOf(b.defaultedQueryOptions);\n\n return matchingObservers.concat(newOrReusedObservers).sort(sortMatchesByOrderOfQueries);\n }\n\n onUpdate(observer, result) {\n const index = this.observers.indexOf(observer);\n\n if (index !== -1) {\n this.result = replaceAt(this.result, index, result);\n this.notify();\n }\n }\n\n notify() {\n notifyManager.batch(() => {\n this.listeners.forEach(listener => {\n listener(this.result);\n });\n });\n }\n\n}\n\nclass InfiniteQueryObserver extends QueryObserver {\n // Type override\n // Type override\n // Type override\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(client, options) {\n super(client, options);\n }\n\n bindMethods() {\n super.bindMethods();\n this.fetchNextPage = this.fetchNextPage.bind(this);\n this.fetchPreviousPage = this.fetchPreviousPage.bind(this);\n }\n\n setOptions(options, notifyOptions) {\n super.setOptions({ ...options,\n behavior: infiniteQueryBehavior()\n }, notifyOptions);\n }\n\n getOptimisticResult(options) {\n options.behavior = infiniteQueryBehavior();\n return super.getOptimisticResult(options);\n }\n\n fetchNextPage({\n pageParam,\n ...options\n } = {}) {\n return this.fetch({ ...options,\n meta: {\n fetchMore: {\n direction: 'forward',\n pageParam\n }\n }\n });\n }\n\n fetchPreviousPage({\n pageParam,\n ...options\n } = {}) {\n return this.fetch({ ...options,\n meta: {\n fetchMore: {\n direction: 'backward',\n pageParam\n }\n }\n });\n }\n\n createResult(query, options) {\n var _state$data, _state$data2, _state$fetchMeta, _state$fetchMeta$fetc, _state$fetchMeta2, _state$fetchMeta2$fet;\n\n const {\n state\n } = query;\n const result = super.createResult(query, options);\n return { ...result,\n fetchNextPage: this.fetchNextPage,\n fetchPreviousPage: this.fetchPreviousPage,\n hasNextPage: hasNextPage(options, (_state$data = state.data) == null ? void 0 : _state$data.pages),\n hasPreviousPage: hasPreviousPage(options, (_state$data2 = state.data) == null ? void 0 : _state$data2.pages),\n isFetchingNextPage: state.fetchStatus === 'fetching' && ((_state$fetchMeta = state.fetchMeta) == null ? void 0 : (_state$fetchMeta$fetc = _state$fetchMeta.fetchMore) == null ? void 0 : _state$fetchMeta$fetc.direction) === 'forward',\n isFetchingPreviousPage: state.fetchStatus === 'fetching' && ((_state$fetchMeta2 = state.fetchMeta) == null ? void 0 : (_state$fetchMeta2$fet = _state$fetchMeta2.fetchMore) == null ? void 0 : _state$fetchMeta2$fet.direction) === 'backward'\n };\n }\n\n}\n\n// CLASS\nclass MutationObserver extends Subscribable {\n constructor(client, options) {\n super();\n this.client = client;\n this.setOptions(options);\n this.bindMethods();\n this.updateResult();\n }\n\n bindMethods() {\n this.mutate = this.mutate.bind(this);\n this.reset = this.reset.bind(this);\n }\n\n setOptions(options) {\n this.options = this.client.defaultMutationOptions(options);\n }\n\n onUnsubscribe() {\n if (!this.listeners.length) {\n var _this$currentMutation;\n\n (_this$currentMutation = this.currentMutation) == null ? void 0 : _this$currentMutation.removeObserver(this);\n }\n }\n\n onMutationUpdate(action) {\n this.updateResult(); // Determine which callbacks to trigger\n\n const notifyOptions = {\n listeners: true\n };\n\n if (action.type === 'success') {\n notifyOptions.onSuccess = true;\n } else if (action.type === 'error') {\n notifyOptions.onError = true;\n }\n\n this.notify(notifyOptions);\n }\n\n getCurrentResult() {\n return this.currentResult;\n }\n\n reset() {\n this.currentMutation = undefined;\n this.updateResult();\n this.notify({\n listeners: true\n });\n }\n\n mutate(variables, options) {\n this.mutateOptions = options;\n\n if (this.currentMutation) {\n this.currentMutation.removeObserver(this);\n }\n\n this.currentMutation = this.client.getMutationCache().build(this.client, { ...this.options,\n variables: typeof variables !== 'undefined' ? variables : this.options.variables\n });\n this.currentMutation.addObserver(this);\n return this.currentMutation.execute();\n }\n\n updateResult() {\n const state = this.currentMutation ? this.currentMutation.state : getDefaultState();\n const result = { ...state,\n isLoading: state.status === 'loading',\n isSuccess: state.status === 'success',\n isError: state.status === 'error',\n isIdle: state.status === 'idle',\n mutate: this.mutate,\n reset: this.reset\n };\n this.currentResult = result;\n }\n\n notify(options) {\n notifyManager.batch(() => {\n // First trigger the mutate callbacks\n if (this.mutateOptions) {\n if (options.onSuccess) {\n var _this$mutateOptions$o, _this$mutateOptions, _this$mutateOptions$o2, _this$mutateOptions2;\n\n (_this$mutateOptions$o = (_this$mutateOptions = this.mutateOptions).onSuccess) == null ? void 0 : _this$mutateOptions$o.call(_this$mutateOptions, this.currentResult.data, this.currentResult.variables, this.currentResult.context);\n (_this$mutateOptions$o2 = (_this$mutateOptions2 = this.mutateOptions).onSettled) == null ? void 0 : _this$mutateOptions$o2.call(_this$mutateOptions2, this.currentResult.data, null, this.currentResult.variables, this.currentResult.context);\n } else if (options.onError) {\n var _this$mutateOptions$o3, _this$mutateOptions3, _this$mutateOptions$o4, _this$mutateOptions4;\n\n (_this$mutateOptions$o3 = (_this$mutateOptions3 = this.mutateOptions).onError) == null ? void 0 : _this$mutateOptions$o3.call(_this$mutateOptions3, this.currentResult.error, this.currentResult.variables, this.currentResult.context);\n (_this$mutateOptions$o4 = (_this$mutateOptions4 = this.mutateOptions).onSettled) == null ? void 0 : _this$mutateOptions$o4.call(_this$mutateOptions4, undefined, this.currentResult.error, this.currentResult.variables, this.currentResult.context);\n }\n } // Then trigger the listeners\n\n\n if (options.listeners) {\n this.listeners.forEach(listener => {\n listener(this.currentResult);\n });\n }\n });\n }\n\n}\n\n// TYPES\n// FUNCTIONS\nfunction dehydrateMutation(mutation) {\n return {\n mutationKey: mutation.options.mutationKey,\n state: mutation.state\n };\n} // Most config is not dehydrated but instead meant to configure again when\n// consuming the de/rehydrated data, typically with useQuery on the client.\n// Sometimes it might make sense to prefetch data on the server and include\n// in the html-payload, but not consume it on the initial render.\n\n\nfunction dehydrateQuery(query) {\n return {\n state: query.state,\n queryKey: query.queryKey,\n queryHash: query.queryHash\n };\n}\n\nfunction defaultShouldDehydrateMutation(mutation) {\n return mutation.state.isPaused;\n}\n\nfunction defaultShouldDehydrateQuery(query) {\n return query.state.status === 'success';\n}\n\nfunction dehydrate(client, options = {}) {\n const mutations = [];\n const queries = [];\n\n if (options.dehydrateMutations !== false) {\n const shouldDehydrateMutation = options.shouldDehydrateMutation || defaultShouldDehydrateMutation;\n client.getMutationCache().getAll().forEach(mutation => {\n if (shouldDehydrateMutation(mutation)) {\n mutations.push(dehydrateMutation(mutation));\n }\n });\n }\n\n if (options.dehydrateQueries !== false) {\n const shouldDehydrateQuery = options.shouldDehydrateQuery || defaultShouldDehydrateQuery;\n client.getQueryCache().getAll().forEach(query => {\n if (shouldDehydrateQuery(query)) {\n queries.push(dehydrateQuery(query));\n }\n });\n }\n\n return {\n mutations,\n queries\n };\n}\nfunction hydrate(client, dehydratedState, options) {\n if (typeof dehydratedState !== 'object' || dehydratedState === null) {\n return;\n }\n\n const mutationCache = client.getMutationCache();\n const queryCache = client.getQueryCache(); // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n\n const mutations = dehydratedState.mutations || []; // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n\n const queries = dehydratedState.queries || [];\n mutations.forEach(dehydratedMutation => {\n var _options$defaultOptio;\n\n mutationCache.build(client, { ...(options == null ? void 0 : (_options$defaultOptio = options.defaultOptions) == null ? void 0 : _options$defaultOptio.mutations),\n mutationKey: dehydratedMutation.mutationKey\n }, dehydratedMutation.state);\n });\n queries.forEach(dehydratedQuery => {\n var _options$defaultOptio2;\n\n const query = queryCache.get(dehydratedQuery.queryHash); // Do not hydrate if an existing query exists with newer data\n\n if (query) {\n if (query.state.dataUpdatedAt < dehydratedQuery.state.dataUpdatedAt) {\n query.setState(dehydratedQuery.state);\n }\n\n return;\n } // Restore query\n\n\n queryCache.build(client, { ...(options == null ? void 0 : (_options$defaultOptio2 = options.defaultOptions) == null ? void 0 : _options$defaultOptio2.queries),\n queryKey: dehydratedQuery.queryKey,\n queryHash: dehydratedQuery.queryHash\n }, dehydratedQuery.state);\n });\n}\n\nexport { CancelledError, InfiniteQueryObserver, MutationCache, MutationObserver, QueriesObserver, QueryCache, QueryClient, QueryObserver, dehydrate, focusManager, hashQueryKey, hydrate, isCancelledError, isError, notifyManager, onlineManager, parseFilterArgs, parseMutationArgs, parseMutationFilterArgs, parseQueryArgs };\n//# sourceMappingURL=index.js.map\n","import * as React from 'react'\n\nimport { QueryClient } from '@tanstack/query-core'\nimport { ContextOptions } from './types'\n\ndeclare global {\n interface Window {\n ReactQueryClientContext?: React.Context<QueryClient | undefined>\n }\n}\n\nexport const defaultContext = React.createContext<QueryClient | undefined>(\n undefined,\n)\nconst QueryClientSharingContext = React.createContext<boolean>(false)\n\n// If we are given a context, we will use it.\n// Otherwise, if contextSharing is on, we share the first and at least one\n// instance of the context across the window\n// to ensure that if React Query is used across\n// different bundles or microfrontends they will\n// all use the same **instance** of context, regardless\n// of module scoping.\nfunction getQueryClientContext(\n context: React.Context<QueryClient | undefined> | undefined,\n contextSharing: boolean,\n) {\n if (context) {\n return context\n }\n if (contextSharing && typeof window !== 'undefined') {\n if (!window.ReactQueryClientContext) {\n window.ReactQueryClientContext = defaultContext\n }\n\n return window.ReactQueryClientContext\n }\n\n return defaultContext\n}\n\nexport const useQueryClient = ({ context }: ContextOptions = {}) => {\n const queryClient = React.useContext(\n getQueryClientContext(context, React.useContext(QueryClientSharingContext)),\n )\n\n if (!queryClient) {\n throw new Error('No QueryClient set, use QueryClientProvider to set one')\n }\n\n return queryClient\n}\n\ntype QueryClientProviderPropsBase = {\n client: QueryClient\n children?: React.ReactNode\n}\ntype QueryClientProviderPropsWithContext = ContextOptions & {\n contextSharing?: never\n} & QueryClientProviderPropsBase\ntype QueryClientProviderPropsWithContextSharing = {\n context?: never\n contextSharing?: boolean\n} & QueryClientProviderPropsBase\n\nexport type QueryClientProviderProps =\n | QueryClientProviderPropsWithContext\n | QueryClientProviderPropsWithContextSharing\n\nexport const QueryClientProvider = ({\n client,\n children,\n context,\n contextSharing = false,\n}: QueryClientProviderProps): JSX.Element => {\n React.useEffect(() => {\n client.mount()\n return () => {\n client.unmount()\n }\n }, [client])\n\n const Context = getQueryClientContext(context, contextSharing)\n\n return (\n <QueryClientSharingContext.Provider value={!context && contextSharing}>\n <Context.Provider value={client}>{children}</Context.Provider>\n </QueryClientSharingContext.Provider>\n )\n}\n","import * as React from 'react'\n\nconst IsRestoringContext = React.createContext(false)\n\nexport const useIsRestoring = () => React.useContext(IsRestoringContext)\nexport const IsRestoringProvider = IsRestoringContext.Provider\n","import * as React from 'react'\n\n// CONTEXT\n\ninterface QueryErrorResetBoundaryValue {\n clearReset: () => void\n isReset: () => boolean\n reset: () => void\n}\n\nfunction createValue(): QueryErrorResetBoundaryValue {\n let isReset = false\n return {\n clearReset: () => {\n isReset = false\n },\n reset: () => {\n isReset = true\n },\n isReset: () => {\n return isReset\n },\n }\n}\n\nconst QueryErrorResetBoundaryContext = React.createContext(createValue())\n\n// HOOK\n\nexport const useQueryErrorResetBoundary = () =>\n React.useContext(QueryErrorResetBoundaryContext)\n\n// COMPONENT\n\nexport interface QueryErrorResetBoundaryProps {\n children:\n | ((value: QueryErrorResetBoundaryValue) => React.ReactNode)\n | React.ReactNode\n}\n\nexport const QueryErrorResetBoundary = ({\n children,\n}: QueryErrorResetBoundaryProps) => {\n const [value] = React.useState(() => createValue())\n return (\n <QueryErrorResetBoundaryContext.Provider value={value}>\n {typeof children === 'function'\n ? (children as Function)(value)\n : children}\n </QueryErrorResetBoundaryContext.Provider>\n )\n}\n","export function shouldThrowError<T extends (...args: any[]) => boolean>(\n _useErrorBoundary: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow useErrorBoundary function to override throwing behavior on a per-error basis\n if (typeof _useErrorBoundary === 'function') {\n return _useErrorBoundary(...params)\n }\n\n return !!_useErrorBoundary\n}\n","import * as React from 'react'\nimport { useSyncExternalStore } from 'use-sync-external-store/shim'\n\nimport { QueryKey, notifyManager, QueryObserver } from '@tanstack/query-core'\nimport { useQueryErrorResetBoundary } from './QueryErrorResetBoundary'\nimport { useQueryClient } from './QueryClientProvider'\nimport { UseBaseQueryOptions } from './types'\nimport { shouldThrowError } from './utils'\nimport { useIsRestoring } from './isRestoring'\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n>(\n options: UseBaseQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n Observer: typeof QueryObserver,\n) {\n const queryClient = useQueryClient({ context: options.context })\n const isRestoring = useIsRestoring()\n const errorResetBoundary = useQueryErrorResetBoundary()\n const defaultedOptions = queryClient.defaultQueryOptions(options)\n\n // Make sure results are optimistically set in fetching state before subscribing or updating options\n defaultedOptions._optimisticResults = isRestoring\n ? 'isRestoring'\n : 'optimistic'\n\n // Include callbacks in batch renders\n if (defaultedOptions.onError) {\n defaultedOptions.onError = notifyManager.batchCalls(\n defaultedOptions.onError,\n )\n }\n\n if (defaultedOptions.onSuccess) {\n defaultedOptions.onSuccess = notifyManager.batchCalls(\n defaultedOptions.onSuccess,\n )\n }\n\n if (defaultedOptions.onSettled) {\n defaultedOptions.onSettled = notifyManager.batchCalls(\n defaultedOptions.onSettled,\n )\n }\n\n if (defaultedOptions.suspense) {\n // Always set stale time when using suspense to prevent\n // fetching again when directly mounting after suspending\n if (typeof defaultedOptions.staleTime !== 'number') {\n defaultedOptions.staleTime = 1000\n }\n }\n\n if (defaultedOptions.suspense || defaultedOptions.useErrorBoundary) {\n // Prevent retrying failed query if the error boundary has not been reset yet\n if (!errorResetBoundary.isReset()) {\n defaultedOptions.retryOnMount = false\n }\n }\n\n const [observer] = React.useState(\n () =>\n new Observer<TQueryFnData, TError, TData, TQueryData, TQueryKey>(\n queryClient,\n defaultedOptions,\n ),\n )\n\n const result = observer.getOptimisticResult(defaultedOptions)\n\n useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n isRestoring\n ? () => undefined\n : observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer, isRestoring],\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult(),\n )\n\n React.useEffect(() => {\n errorResetBoundary.clearReset()\n }, [errorResetBoundary])\n\n React.useEffect(() => {\n // Do not notify on updates because of changes in the options because\n // these changes should already be reflected in the optimistic result.\n observer.setOptions(defaultedOptions, { listeners: false })\n }, [defaultedOptions, observer])\n\n // Handle suspense\n if (\n defaultedOptions.suspense &&\n result.isLoading &&\n result.isFetching &&\n !isRestoring\n ) {\n throw observer\n .fetchOptimistic(defaultedOptions)\n .then(({ data }) => {\n defaultedOptions.onSuccess?.(data as TData)\n defaultedOptions.onSettled?.(data, null)\n })\n .catch((error) => {\n errorResetBoundary.clearReset()\n defaultedOptions.onError?.(error)\n defaultedOptions.onSettled?.(undefined, error)\n })\n }\n\n // Handle error boundary\n if (\n result.isError &&\n !errorResetBoundary.isReset() &&\n !result.isFetching &&\n shouldThrowError(defaultedOptions.useErrorBoundary, [\n result.error,\n observer.getCurrentQuery(),\n ])\n ) {\n throw result.error\n }\n\n // Handle result property usage tracking\n return !defaultedOptions.notifyOnChangeProps\n ? observer.trackResult(result)\n : result\n}\n","import * as React from 'react'\n\nimport { hydrate, HydrateOptions } from '@tanstack/query-core'\nimport { useQueryClient } from './QueryClientProvider'\nimport { ContextOptions } from './types'\n\nexport function useHydrate(\n state: unknown,\n options: HydrateOptions & ContextOptions = {},\n) {\n const queryClient = useQueryClient({ context: options.context })\n\n const optionsRef = React.useRef(options)\n optionsRef.current = options\n\n // Running hydrate again with the same queries is safe,\n // it wont overwrite or initialize existing queries,\n // relying on useMemo here is only a performance optimization.\n // hydrate can and should be run *during* render here for SSR to work properly\n React.useMemo(() => {\n if (state) {\n hydrate(queryClient, state, optionsRef.current)\n }\n }, [queryClient, state])\n}\n\nexport interface HydrateProps {\n state?: unknown\n options?: HydrateOptions\n children?: React.ReactNode\n}\n\nexport const Hydrate = ({ children, options, state }: HydrateProps) => {\n useHydrate(state, options)\n return children as React.ReactElement\n}\n","import * as React from 'react'\nimport { useSyncExternalStore } from 'use-sync-external-store/shim'\n\nimport {\n notifyManager,\n parseMutationArgs,\n MutationObserver,\n MutationFunction,\n MutationKey,\n} from '@tanstack/query-core'\nimport { useQueryClient } from './QueryClientProvider'\nimport {\n UseMutateFunction,\n UseMutationOptions,\n UseMutationResult,\n} from './types'\nimport { shouldThrowError } from './utils'\n\n// HOOK\n\nexport function useMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n options: UseMutationOptions<TData, TError, TVariables, TContext>,\n): UseMutationResult<TData, TError, TVariables, TContext>\nexport function useMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n mutationFn: MutationFunction<TData, TVariables>,\n options?: Omit<\n UseMutationOptions<TData, TError, TVariables, TContext>,\n 'mutationFn'\n >,\n): UseMutationResult<TData, TError, TVariables, TContext>\nexport function useMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n mutationKey: MutationKey,\n options?: Omit<\n UseMutationOptions<TData, TError, TVariables, TContext>,\n 'mutationKey'\n >,\n): UseMutationResult<TData, TError, TVariables, TContext>\nexport function useMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n mutationKey: MutationKey,\n mutationFn?: MutationFunction<TData, TVariables>,\n options?: Omit<\n UseMutationOptions<TData, TError, TVariables, TContext>,\n 'mutationKey' | 'mutationFn'\n >,\n): UseMutationResult<TData, TError, TVariables, TContext>\nexport function useMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n arg1:\n | MutationKey\n | MutationFunction<TData, TVariables>\n | UseMutationOptions<TData, TError, TVariables, TContext>,\n arg2?:\n | MutationFunction<TData, TVariables>\n | UseMutationOptions<TData, TError, TVariables, TContext>,\n arg3?: UseMutationOptions<TData, TError, TVariables, TContext>,\n): UseMutationResult<TData, TError, TVariables, TContext> {\n const options = parseMutationArgs(arg1, arg2, arg3)\n const queryClient = useQueryClient({ context: options.context })\n\n const [observer] = React.useState(\n () =>\n new MutationObserver<TData, TError, TVariables, TContext>(\n queryClient,\n options,\n ),\n )\n\n React.useEffect(() => {\n observer.setOptions(options)\n }, [observer, options])\n\n const result = useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer],\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult(),\n )\n\n const mutate = React.useCallback<\n UseMutateFunction<TData, TError, TVariables, TContext>\n >(\n (variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(noop)\n },\n [observer],\n )\n\n if (\n result.error &&\n shouldThrowError(observer.options.useErrorBoundary, [result.error])\n ) {\n throw result.error\n }\n\n return { ...result, mutate, mutateAsync: result.mutate }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nfunction noop() {}\n","import {\n QueryObserver,\n InfiniteQueryObserver,\n QueryFunction,\n QueryKey,\n parseQueryArgs,\n} from '@tanstack/query-core'\nimport { UseInfiniteQueryOptions, UseInfiniteQueryResult } from './types'\nimport { useBaseQuery } from './useBaseQuery'\n\n// HOOK\n\nexport function useInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n): UseInfiniteQueryResult<TData, TError>\nexport function useInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n queryKey: TQueryKey,\n options?: Omit<\n UseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n 'queryKey'\n >,\n): UseInfiniteQueryResult<TData, TError>\nexport function useInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n queryKey: TQueryKey,\n queryFn: QueryFunction<TQueryFnData, TQueryKey>,\n options?: Omit<\n UseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n 'queryKey' | 'queryFn'\n >,\n): UseInfiniteQueryResult<TData, TError>\nexport function useInfiniteQuery<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n arg1:\n | TQueryKey\n | UseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n arg2?:\n | QueryFunction<TQueryFnData, TQueryKey>\n | UseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n arg3?: UseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n): UseInfiniteQueryResult<TData, TError> {\n const options = parseQueryArgs(arg1, arg2, arg3)\n return useBaseQuery(\n options,\n InfiniteQueryObserver as typeof QueryObserver,\n ) as UseInfiniteQueryResult<TData, TError>\n}\n","import * as React from 'react'\nimport {\n QueryKey,\n notifyManager,\n parseFilterArgs,\n QueryFilters,\n} from '@tanstack/query-core'\n\nimport { useSyncExternalStore } from 'use-sync-external-store/shim'\nimport { ContextOptions } from './types'\nimport { useQueryClient } from './QueryClientProvider'\n\ninterface Options extends ContextOptions {}\n\nexport function useIsFetching(filters?: QueryFilters, options?: Options): number\nexport function useIsFetching(\n queryKey?: QueryKey,\n filters?: QueryFilters,\n options?: Options,\n): number\nexport function useIsFetching(\n arg1?: QueryKey | QueryFilters,\n arg2?: QueryFilters | Options,\n arg3?: Options,\n): number {\n const [filters, options = {}] = parseFilterArgs(arg1, arg2, arg3)\n const queryClient = useQueryClient({ context: options.context })\n const queryCache = queryClient.getQueryCache()\n\n return useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n queryCache.subscribe(notifyManager.batchCalls(onStoreChange)),\n [queryCache],\n ),\n () => queryClient.isFetching(filters),\n () => queryClient.isFetching(filters),\n )\n}\n","import * as React from 'react'\nimport { useSyncExternalStore } from 'use-sync-external-store/shim'\n\nimport {\n notifyManager,\n MutationKey,\n MutationFilters,\n parseMutationFilterArgs,\n} from '@tanstack/query-core'\nimport { ContextOptions } from './types'\nimport { useQueryClient } from './QueryClientProvider'\n\ninterface Options extends ContextOptions {}\n\nexport function useIsMutating(\n filters?: MutationFilters,\n options?: Options,\n): number\nexport function useIsMutating(\n mutationKey?: MutationKey,\n filters?: Omit<MutationFilters, 'mutationKey'>,\n options?: Options,\n): number\nexport function useIsMutating(\n arg1?: MutationKey | MutationFilters,\n arg2?: Omit<MutationFilters, 'mutationKey'> | Options,\n arg3?: Options,\n): number {\n const [filters, options = {}] = parseMutationFilterArgs(arg1, arg2, arg3)\n\n const queryClient = useQueryClient({ context: options.context })\n const mutationCache = queryClient.getMutationCache()\n\n return useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n mutationCache.subscribe(notifyManager.batchCalls(onStoreChange)),\n [mutationCache],\n ),\n () => queryClient.isMutating(filters),\n () => queryClient.isMutating(filters),\n )\n}\n","import * as React from 'react'\nimport { useSyncExternalStore } from 'use-sync-external-store/shim'\n\nimport {\n QueryKey,\n QueryFunction,\n notifyManager,\n QueriesObserver,\n} from '@tanstack/query-core'\nimport { useQueryClient } from './QueryClientProvider'\nimport { UseQueryOptions, UseQueryResult } from './types'\nimport { useIsRestoring } from './isRestoring'\n\n// This defines the `UseQueryOptions` that are accepted in `QueriesOptions` & `GetOptions`.\n// - `context` is omitted as it is passed as a root-level option to `useQueries` instead.\ntype UseQueryOptionsForUseQueries<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = Omit<UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'context'>\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\ntype GetOptions<T> =\n // Part 1: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }\n T extends {\n queryFnData: infer TQueryFnData\n error?: infer TError\n data: infer TData\n }\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryOptionsForUseQueries<unknown, TError, TData>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryOptionsForUseQueries<TQueryFnData>\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>\n select: (data: any) => infer TData\n }\n ? UseQueryOptionsForUseQueries<TQueryFnData, unknown, TData, TQueryKey>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? UseQueryOptionsForUseQueries<\n TQueryFnData,\n unknown,\n TQueryFnData,\n TQueryKey\n >\n : // Fallback\n UseQueryOptionsForUseQueries\n\ntype GetResults<T> =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? UseQueryResult<TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryResult<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryResult<TData, TError>\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? UseQueryResult<TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryResult<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryResult<TQueryFnData>\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<unknown, any>\n select: (data: any) => infer TData\n }\n ? UseQueryResult<TData>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, any> }\n ? UseQueryResult<TQueryFnData>\n : // Fallback\n UseQueryResult\n\n/**\n * QueriesOptions reducer recursively unwraps function arguments to infer/enforce type param\n */\nexport type QueriesOptions<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseQueryOptionsForUseQueries[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetOptions<Head>]\n : T extends [infer Head, ...infer Tail]\n ? QueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]>\n : unknown[] extends T\n ? T\n : // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!\n // use this to infer the param types in the case of Array.map() argument\n T extends UseQueryOptionsForUseQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >[]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData, TQueryKey>[]\n : // Fallback\n UseQueryOptionsForUseQueries[]\n\n/**\n * QueriesResults reducer recursively maps type param to results\n */\nexport type QueriesResults<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseQueryResult[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetResults<Head>]\n : T extends [infer Head, ...infer Tail]\n ? QueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]>\n : T extends UseQueryOptionsForUseQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >[]\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n UseQueryResult<unknown extends TData ? TQueryFnData : TData, TError>[]\n : // Fallback\n UseQueryResult[]\n\nexport function useQueries<T extends any[]>({\n queries,\n context,\n}: {\n queries: readonly [...QueriesOptions<T>]\n context?: UseQueryOptions['context']\n}): QueriesResults<T> {\n const queryClient = useQueryClient({ context })\n const isRestoring = useIsRestoring()\n\n const defaultedQueries = React.useMemo(\n () =>\n queries.map((options) => {\n const defaultedOptions = queryClient.defaultQueryOptions(options)\n\n // Make sure the results are already in fetching state before subscribing or updating options\n defaultedOptions._optimisticResults = isRestoring\n ? 'isRestoring'\n : 'optimistic'\n\n return defaultedOptions\n }),\n [queries, queryClient, isRestoring],\n )\n\n const [observer] = React.useState(\n () => new QueriesObserver(queryClient, defaultedQueries),\n )\n\n const result = observer.getOptimisticResult(defaultedQueries)\n\n useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n isRestoring\n ? () => undefined\n : observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer, isRestoring],\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult(),\n )\n\n React.useEffect(() => {\n // Do not notify on updates because of changes in the options because\n // these changes should already be reflected in the optimistic result.\n observer.setQueries(defaultedQueries, { listeners: false })\n }, [defaultedQueries, observer])\n\n return result as QueriesResults<T>\n}\n","import {\n parseQueryArgs,\n QueryFunction,\n QueryKey,\n QueryObserver,\n} from '@tanstack/query-core'\nimport { DefinedUseQueryResult, UseQueryOptions, UseQueryResult } from './types'\nimport { useBaseQuery } from './useBaseQuery'\n\n// HOOK\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: Omit<\n UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'initialData'\n > & { initialData?: () => undefined },\n): UseQueryResult<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: Omit<\n UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'initialData'\n > & { initialData: TQueryFnData | (() => TQueryFnData) },\n): DefinedUseQueryResult<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n): UseQueryResult<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n queryKey: TQueryKey,\n options?: Omit<\n UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'queryKey' | 'initialData'\n > & { initialData?: () => undefined },\n): UseQueryResult<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n queryKey: TQueryKey,\n options?: Omit<\n UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'queryKey' | 'initialData'\n > & { initialData: TQueryFnData | (() => TQueryFnData) },\n): DefinedUseQueryResult<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n queryKey: TQueryKey,\n options?: Omit<\n UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'queryKey'\n >,\n): UseQueryResult<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n queryKey: TQueryKey,\n queryFn: QueryFunction<TQueryFnData, TQueryKey>,\n options?: Omit<\n UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'queryKey' | 'queryFn' | 'initialData'\n > & { initialData?: () => undefined },\n): UseQueryResult<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n queryKey: TQueryKey,\n queryFn: QueryFunction<TQueryFnData, TQueryKey>,\n options?: Omit<\n UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'queryKey' | 'queryFn' | 'initialData'\n > & { initialData: TQueryFnData | (() => TQueryFnData) },\n): DefinedUseQueryResult<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n queryKey: TQueryKey,\n queryFn: QueryFunction<TQueryFnData, TQueryKey>,\n options?: Omit<\n UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'queryKey' | 'queryFn'\n >,\n): UseQueryResult<TData, TError>\n\nexport function useQuery<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n arg1: TQueryKey | UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n arg2?:\n | QueryFunction<TQueryFnData, TQueryKey>\n | UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n arg3?: UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n): UseQueryResult<TData, TError> {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3)\n return useBaseQuery(parsedOptions, QueryObserver)\n}\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","var QueryHandler = require('./QueryHandler');\nvar each = require('./Util').each;\n\n/**\n * Represents a single media query, manages it's state and registered handlers for this query\n *\n * @constructor\n * @param {string} query the media query string\n * @param {boolean} [isUnconditional=false] whether the media query should run regardless of whether the conditions are met. Primarily for helping older browsers deal with mobile-first design\n */\nfunction MediaQuery(query, isUnconditional) {\n this.query = query;\n this.isUnconditional = isUnconditional;\n this.handlers = [];\n this.mql = window.matchMedia(query);\n\n var self = this;\n this.listener = function(mql) {\n // Chrome passes an MediaQueryListEvent object, while other browsers pass MediaQueryList directly\n self.mql = mql.currentTarget || mql;\n self.assess();\n };\n this.mql.addListener(this.listener);\n}\n\nMediaQuery.prototype = {\n\n constuctor : MediaQuery,\n\n /**\n * add a handler for this query, triggering if already active\n *\n * @param {object} handler\n * @param {function} handler.match callback for when query is activated\n * @param {function} [handler.unmatch] callback for when query is deactivated\n * @param {function} [handler.setup] callback for immediate execution when a query handler is registered\n * @param {boolean} [handler.deferSetup=false] should the setup callback be deferred until the first time the handler is matched?\n */\n addHandler : function(handler) {\n var qh = new QueryHandler(handler);\n this.handlers.push(qh);\n\n this.matches() && qh.on();\n },\n\n /**\n * removes the given handler from the collection, and calls it's destroy methods\n *\n * @param {object || function} handler the handler to remove\n */\n removeHandler : function(handler) {\n var handlers = this.handlers;\n each(handlers, function(h, i) {\n if(h.equals(handler)) {\n h.destroy();\n return !handlers.splice(i,1); //remove from array and exit each early\n }\n });\n },\n\n /**\n * Determine whether the media query should be considered a match\n *\n * @return {Boolean} true if media query can be considered a match, false otherwise\n */\n matches : function() {\n return this.mql.matches || this.isUnconditional;\n },\n\n /**\n * Clears all handlers and unbinds events\n */\n clear : function() {\n each(this.handlers, function(handler) {\n handler.destroy();\n });\n this.mql.removeListener(this.listener);\n this.handlers.length = 0; //clear array\n },\n\n /*\n * Assesses the query, turning on all handlers if it matches, turning them off if it doesn't match\n */\n assess : function() {\n var action = this.matches() ? 'on' : 'off';\n\n each(this.handlers, function(handler) {\n handler[action]();\n });\n }\n};\n\nmodule.exports = MediaQuery;\n","var MediaQuery = require('./MediaQuery');\nvar Util = require('./Util');\nvar each = Util.each;\nvar isFunction = Util.isFunction;\nvar isArray = Util.isArray;\n\n/**\n * Allows for registration of query handlers.\n * Manages the query handler's state and is responsible for wiring up browser events\n *\n * @constructor\n */\nfunction MediaQueryDispatch () {\n if(!window.matchMedia) {\n throw new Error('matchMedia not present, legacy browsers require a polyfill');\n }\n\n this.queries = {};\n this.browserIsIncapable = !window.matchMedia('only all').matches;\n}\n\nMediaQueryDispatch.prototype = {\n\n constructor : MediaQueryDispatch,\n\n /**\n * Registers a handler for the given media query\n *\n * @param {string} q the media query\n * @param {object || Array || Function} options either a single query handler object, a function, or an array of query handlers\n * @param {function} options.match fired when query matched\n * @param {function} [options.unmatch] fired when a query is no longer matched\n * @param {function} [options.setup] fired when handler first triggered\n * @param {boolean} [options.deferSetup=false] whether setup should be run immediately or deferred until query is first matched\n * @param {boolean} [shouldDegrade=false] whether this particular media query should always run on incapable browsers\n */\n register : function(q, options, shouldDegrade) {\n var queries = this.queries,\n isUnconditional = shouldDegrade && this.browserIsIncapable;\n\n if(!queries[q]) {\n queries[q] = new MediaQuery(q, isUnconditional);\n }\n\n //normalise to object in an array\n if(isFunction(options)) {\n options = { match : options };\n }\n if(!isArray(options)) {\n options = [options];\n }\n each(options, function(handler) {\n if (isFunction(handler)) {\n handler = { match : handler };\n }\n queries[q].addHandler(handler);\n });\n\n return this;\n },\n\n /**\n * unregisters a query and all it's handlers, or a specific handler for a query\n *\n * @param {string} q the media query to target\n * @param {object || function} [handler] specific handler to unregister\n */\n unregister : function(q, handler) {\n var query = this.queries[q];\n\n if(query) {\n if(handler) {\n query.removeHandler(handler);\n }\n else {\n query.clear();\n delete this.queries[q];\n }\n }\n\n return this;\n }\n};\n\nmodule.exports = MediaQueryDispatch;\n","/**\n * Delegate to handle a media query being matched and unmatched.\n *\n * @param {object} options\n * @param {function} options.match callback for when the media query is matched\n * @param {function} [options.unmatch] callback for when the media query is unmatched\n * @param {function} [options.setup] one-time callback triggered the first time a query is matched\n * @param {boolean} [options.deferSetup=false] should the setup callback be run immediately, rather than first time query is matched?\n * @constructor\n */\nfunction QueryHandler(options) {\n this.options = options;\n !options.deferSetup && this.setup();\n}\n\nQueryHandler.prototype = {\n\n constructor : QueryHandler,\n\n /**\n * coordinates setup of the handler\n *\n * @function\n */\n setup : function() {\n if(this.options.setup) {\n this.options.setup();\n }\n this.initialised = true;\n },\n\n /**\n * coordinates setup and triggering of the handler\n *\n * @function\n */\n on : function() {\n !this.initialised && this.setup();\n this.options.match && this.options.match();\n },\n\n /**\n * coordinates the unmatch event for the handler\n *\n * @function\n */\n off : function() {\n this.options.unmatch && this.options.unmatch();\n },\n\n /**\n * called when a handler is to be destroyed.\n * delegates to the destroy or unmatch callbacks, depending on availability.\n *\n * @function\n */\n destroy : function() {\n this.options.destroy ? this.options.destroy() : this.off();\n },\n\n /**\n * determines equality by reference.\n * if object is supplied compare options, if function, compare match callback\n *\n * @function\n * @param {object || function} [target] the target for comparison\n */\n equals : function(target) {\n return this.options === target || this.options.match === target;\n }\n\n};\n\nmodule.exports = QueryHandler;\n","/**\n * Helper function for iterating over a collection\n *\n * @param collection\n * @param fn\n */\nfunction each(collection, fn) {\n var i = 0,\n length = collection.length,\n cont;\n\n for(i; i < length; i++) {\n cont = fn(collection[i], i);\n if(cont === false) {\n break; //allow early exit\n }\n }\n}\n\n/**\n * Helper function for determining whether target object is an array\n *\n * @param target the object under test\n * @return {Boolean} true if array, false otherwise\n */\nfunction isArray(target) {\n return Object.prototype.toString.apply(target) === '[object Array]';\n}\n\n/**\n * Helper function for determining whether target object is a function\n *\n * @param target the object under test\n * @return {Boolean} true if function, false otherwise\n */\nfunction isFunction(target) {\n return typeof target === 'function';\n}\n\nmodule.exports = {\n isFunction : isFunction,\n isArray : isArray,\n each : each\n};\n","var MediaQueryDispatch = require('./MediaQueryDispatch');\nmodule.exports = new MediaQueryDispatch();\n","'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 * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","var camel2hyphen = require('string-convert/camel2hyphen');\n\nvar isDimension = function (feature) {\n var re = /[height|width]$/;\n return re.test(feature);\n};\n\nvar obj2mq = function (obj) {\n var mq = '';\n var features = Object.keys(obj);\n features.forEach(function (feature, index) {\n var value = obj[feature];\n feature = camel2hyphen(feature);\n // Add px to dimension features\n if (isDimension(feature) && typeof value === 'number') {\n value = value + 'px';\n }\n if (value === true) {\n mq += feature;\n } else if (value === false) {\n mq += 'not ' + feature;\n } else {\n mq += '(' + feature + ': ' + value + ')';\n }\n if (index < features.length-1) {\n mq += ' and '\n }\n });\n return mq;\n};\n\nvar json2mq = function (query) {\n var mq = '';\n if (typeof query === 'string') {\n return query;\n }\n // Handling array of media queries\n if (query instanceof Array) {\n query.forEach(function (q, index) {\n mq += obj2mq(q);\n if (index < query.length-1) {\n mq += ', '\n }\n });\n return mq;\n }\n // Handling single media query\n return obj2mq(query);\n};\n\nmodule.exports = json2mq;","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","\n'use strict'\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./multiselect-react-dropdown.cjs.production.min.js')\n} else {\n module.exports = require('./multiselect-react-dropdown.cjs.development.js')\n}\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","// @ts-nocheck\nimport React, { useRef, useEffect } from \"react\";\nimport \"./styles.css\";\nimport CloseCircle from '../assets/svg/closeCircle.svg';\nimport CloseCircleDark from '../assets/svg/closeCircleDark.svg';\nimport CloseLine from '../assets/svg/closeLine.svg';\nimport CloseSquare from '../assets/svg/closeSquare.svg';\nimport DownArrow from '../assets/svg/downArrow.svg';\nimport {IMultiselectProps} from \"./interface\";\n\nconst closeIconTypes = {\n circle: CloseCircleDark,\n circle2: CloseCircle,\n close: CloseSquare,\n cancel: CloseLine\n};\n\nfunction useOutsideAlerter(ref, clickEvent) {\n useEffect(() => {\n function handleClickOutside(event) {\n if (ref.current && !ref.current.contains(event.target)) {\n clickEvent();\n }\n }\n\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [ref]);\n}\n\n/**\n* Component that alerts if you click outside of it\n*/\nfunction OutsideAlerter(props) {\n const wrapperRef = useRef(null);\n useOutsideAlerter(wrapperRef, props.outsideClick);\n return <div ref={wrapperRef}>{props.children}</div>;\n}\n\nexport class Multiselect extends React.Component<IMultiselectProps, any> {\n static defaultProps: IMultiselectProps;\n constructor(props) {\n super(props);\n this.state = {\n inputValue: \"\",\n options: props.options,\n filteredOptions: props.options,\n unfilteredOptions: props.options,\n selectedValues: Object.assign([], props.selectedValues),\n preSelectedValues: Object.assign([], props.selectedValues),\n toggleOptionsList: false,\n highlightOption: props.avoidHighlightFirstOption ? -1 : 0,\n\t\t\tshowCheckbox: props.showCheckbox,\n keepSearchTerm: props.keepSearchTerm,\n groupedObject: [],\n closeIconType: closeIconTypes[props.closeIcon] || closeIconTypes['circle']\n };\n // @ts-ignore\n this.optionTimeout = null;\n // @ts-ignore\n\t\tthis.searchWrapper = React.createRef();\n // @ts-ignore\n\t\tthis.searchBox = React.createRef();\n this.onChange = this.onChange.bind(this);\n this.onKeyPress = this.onKeyPress.bind(this);\n this.onFocus = this.onFocus.bind(this);\n this.onBlur = this.onBlur.bind(this);\n this.renderMultiselectContainer = this.renderMultiselectContainer.bind(this);\n this.renderSelectedList = this.renderSelectedList.bind(this);\n this.onRemoveSelectedItem = this.onRemoveSelectedItem.bind(this);\n this.toggelOptionList = this.toggelOptionList.bind(this);\n this.onArrowKeyNavigation = this.onArrowKeyNavigation.bind(this);\n this.onSelectItem = this.onSelectItem.bind(this);\n this.filterOptionsByInput = this.filterOptionsByInput.bind(this);\n this.removeSelectedValuesFromOptions = this.removeSelectedValuesFromOptions.bind(this);\n this.isSelectedValue = this.isSelectedValue.bind(this);\n this.fadeOutSelection = this.fadeOutSelection.bind(this);\n this.isDisablePreSelectedValues = this.isDisablePreSelectedValues.bind(this);\n this.renderGroupByOptions = this.renderGroupByOptions.bind(this);\n this.renderNormalOption = this.renderNormalOption.bind(this);\n this.listenerCallback = this.listenerCallback.bind(this);\n this.resetSelectedValues = this.resetSelectedValues.bind(this);\n this.getSelectedItems = this.getSelectedItems.bind(this);\n this.getSelectedItemsCount = this.getSelectedItemsCount.bind(this);\n this.hideOnClickOutside = this.hideOnClickOutside.bind(this);\n this.onCloseOptionList = this.onCloseOptionList.bind(this);\n this.isVisible = this.isVisible.bind(this);\n }\n\n initialSetValue() {\n const { showCheckbox, groupBy, singleSelect } = this.props;\n\t\tconst { options } = this.state;\n if (!showCheckbox && !singleSelect) {\n this.removeSelectedValuesFromOptions(false);\n\t\t}\n // if (singleSelect) {\n // this.hideOnClickOutside();\n // }\n\t\tif (groupBy) {\n\t\t\tthis.groupByOptions(options);\n\t\t}\n }\n\n resetSelectedValues() {\n const { unfilteredOptions } = this.state;\n return new Promise((resolve) => {\n this.setState({\n selectedValues: [],\n preSelectedValues: [],\n options: unfilteredOptions,\n filteredOptions: unfilteredOptions\n }, () => {\n // @ts-ignore\n resolve();\n this.initialSetValue();\n });\n });\n }\n\n getSelectedItems() {\n return this.state.selectedValues;\n }\n\n getSelectedItemsCount() {\n return this.state.selectedValues.length;\n }\n\n componentDidMount() {\n\t\tthis.initialSetValue();\n // @ts-ignore\n this.searchWrapper.current.addEventListener(\"click\", this.listenerCallback);\n }\n\n componentDidUpdate(prevProps) {\n const { options, selectedValues } = this.props;\n const { options: prevOptions, selectedValues: prevSelectedvalues } = prevProps;\n if (JSON.stringify(prevOptions) !== JSON.stringify(options)) {\n this.setState({ options, filteredOptions: options, unfilteredOptions: options }, this.initialSetValue);\n }\n if (JSON.stringify(prevSelectedvalues) !== JSON.stringify(selectedValues)) {\n this.setState({ selectedValues: Object.assign([], selectedValues), preSelectedValues: Object.assign([], selectedValues) }, this.initialSetValue);\n }\n }\n\n listenerCallback() {\n // @ts-ignore\n this.searchBox.current.focus();\n }\n\n componentWillUnmount() {\n // @ts-ignore\n if (this.optionTimeout) {\n // @ts-ignore\n clearTimeout(this.optionTimeout);\n }\n // @ts-ignore\n this.searchWrapper.current.removeEventListener('click', this.listenerCallback);\n }\n\n // Skipcheck flag - value will be true when the func called from on deselect anything.\n removeSelectedValuesFromOptions(skipCheck) {\n const { isObject, displayValue, groupBy } = this.props;\n const { selectedValues = [], unfilteredOptions, options } = this.state;\n if (!skipCheck && groupBy) {\n this.groupByOptions(options);\n }\n if (!selectedValues.length && !skipCheck) {\n return;\n }\n if (isObject) {\n let optionList = unfilteredOptions.filter(item => {\n return selectedValues.findIndex(\n v => v[displayValue] === item[displayValue]\n ) === -1\n ? true\n : false;\n });\n if (groupBy) {\n this.groupByOptions(optionList);\n }\n this.setState(\n { options: optionList, filteredOptions: optionList },\n this.filterOptionsByInput\n );\n return;\n }\n let optionList = unfilteredOptions.filter(\n item => selectedValues.indexOf(item) === -1\n );\n\n this.setState(\n { options: optionList, filteredOptions: optionList },\n this.filterOptionsByInput\n );\n }\n\n groupByOptions(options) {\n const { groupBy } = this.props;\n const groupedObject = options.reduce(function(r, a) {\n const key = a[groupBy] || \"Others\";\n r[key] = r[key] || [];\n r[key].push(a);\n return r;\n }, Object.create({}));\n\n this.setState({ groupedObject });\n }\n\n onChange(event) {\n const { onSearch } = this.props;\n this.setState(\n { inputValue: event.target.value },\n this.filterOptionsByInput\n );\n if (onSearch) {\n onSearch(event.target.value);\n }\n }\n\n onKeyPress(event) {\n const { onKeyPressFn } = this.props;\n if (onKeyPressFn) {\n onKeyPressFn(event, event.target.value);\n }\n }\n\n filterOptionsByInput() {\n let { options, filteredOptions, inputValue } = this.state;\n const { isObject, displayValue } = this.props;\n if (isObject) {\n options = filteredOptions.filter(i => this.matchValues(i[displayValue], inputValue))\n } else {\n options = filteredOptions.filter(i => this.matchValues(i, inputValue));\n }\n this.groupByOptions(options);\n this.setState({ options });\n }\n\n matchValues(value, search) {\n if (this.props.caseSensitiveSearch) {\n return value.indexOf(search) > -1;\n }\n if (value.toLowerCase) {\n return value.toLowerCase().indexOf(search.toLowerCase()) > -1;\n }\n return value.toString().indexOf(search) > -1;\n }\n\n onArrowKeyNavigation(e) {\n const {\n options,\n highlightOption,\n toggleOptionsList,\n inputValue,\n selectedValues\n } = this.state;\n const { disablePreSelectedValues } = this.props;\n if (e.keyCode === 8 && !inputValue && !disablePreSelectedValues && selectedValues.length) {\n this.onRemoveSelectedItem(selectedValues.length - 1);\n }\n if (!options.length) {\n return;\n }\n if (e.keyCode === 38) {\n if (highlightOption > 0) {\n this.setState(previousState => ({\n highlightOption: previousState.highlightOption - 1\n }));\n } else {\n this.setState({ highlightOption: options.length - 1 });\n }\n } else if (e.keyCode === 40) {\n if (highlightOption < options.length - 1) {\n this.setState(previousState => ({\n highlightOption: previousState.highlightOption + 1\n }));\n } else {\n this.setState({ highlightOption: 0 });\n }\n } else if (e.key === \"Enter\" && options.length && toggleOptionsList) {\n if (highlightOption === -1) {\n return;\n }\n this.onSelectItem(options[highlightOption]);\n }\n // TODO: Instead of scrollIntoView need to find better soln for scroll the dropwdown container.\n // setTimeout(() => {\n // const element = document.querySelector(\"ul.optionContainer .highlight\");\n // if (element) {\n // element.scrollIntoView();\n // }\n // });\n }\n\n onRemoveSelectedItem(item) {\n\t\tlet { selectedValues, index = 0 } = this.state;\n\t\tconst { onRemove, showCheckbox, displayValue, isObject } = this.props;\n if (isObject) {\n index = selectedValues.findIndex(\n i => i[displayValue] === item[displayValue]\n );\n } else {\n index = selectedValues.indexOf(item);\n }\n\t\tselectedValues.splice(index, 1);\n\t\tonRemove(selectedValues, item);\n this.setState({ selectedValues }, () => {\n if (!showCheckbox) {\n\t\t\t\tthis.removeSelectedValuesFromOptions(true);\n }\n });\n if (!this.props.closeOnSelect) {\n // @ts-ignore\n this.searchBox.current.focus();\n }\n }\n\n onSelectItem(item) {\n const { selectedValues } = this.state;\n const { selectionLimit, onSelect, singleSelect, showCheckbox } = this.props;\n if (!this.state.keepSearchTerm){\n this.setState({\n inputValue: ''\n });\n }\n if (singleSelect) {\n this.onSingleSelect(item);\n onSelect([item], item);\n return;\n }\n if (this.isSelectedValue(item)) {\n this.onRemoveSelectedItem(item);\n return;\n }\n if (selectionLimit == selectedValues.length) {\n return;\n }\n\t\tselectedValues.push(item);\n\t\tonSelect(selectedValues, item);\n this.setState({ selectedValues }, () => {\n if (!showCheckbox) {\n\t\t\t\tthis.removeSelectedValuesFromOptions(true);\n } else {\n this.filterOptionsByInput();\n }\n });\n if (!this.props.closeOnSelect) {\n // @ts-ignore\n this.searchBox.current.focus();\n }\n }\n\n onSingleSelect(item) {\n this.setState({ selectedValues: [item], toggleOptionsList: false });\n }\n\n isSelectedValue(item) {\n const { isObject, displayValue } = this.props;\n const { selectedValues } = this.state;\n if (isObject) {\n return (\n selectedValues.filter(i => i[displayValue] === item[displayValue])\n .length > 0\n );\n }\n return selectedValues.filter(i => i === item).length > 0;\n }\n\n renderOptionList() {\n const { groupBy, style, emptyRecordMsg, loading, loadingMessage = 'loading...' } = this.props;\n const { options } = this.state;\n if (loading) {\n return (\n <ul className={`optionContainer`} style={style['optionContainer']}>\n {typeof loadingMessage === 'string' && <span style={style['loadingMessage']} className={`notFound`}>{loadingMessage}</span>}\n {typeof loadingMessage !== 'string' && loadingMessage}\n </ul>\n );\n }\n return (\n <ul className={`optionContainer`} style={style['optionContainer']}>\n {options.length === 0 && <span style={style['notFound']} className={`notFound`}>{emptyRecordMsg}</span>}\n {!groupBy ? this.renderNormalOption() : this.renderGroupByOptions()}\n </ul>\n );\n }\n\n renderGroupByOptions() {\n const { isObject = false, displayValue, showCheckbox, style, singleSelect } = this.props;\n const { groupedObject } = this.state;\n return Object.keys(groupedObject).map(obj => {\n\t\t\treturn (\n\t\t\t\t<React.Fragment key={obj}>\n\t\t\t\t\t<li className=\"groupHeading\" style={style['groupHeading']}>{obj}</li>\n\t\t\t\t\t{groupedObject[obj].map((option, i) => {\n const isSelected = this.isSelectedValue(option);\n return (\n <li\n key={`option${i}`}\n style={style['option']}\n className={`groupChildEle option ${isSelected ? 'selected' : ''} ${this.fadeOutSelection(option) ? 'disableSelection' : ''} ${this.isDisablePreSelectedValues(option) ? 'disableSelection' : ''}`}\n onClick={() => this.onSelectItem(option)}\n >\n {showCheckbox && !singleSelect && (\n <input\n type=\"checkbox\"\n className={'checkbox'}\n readOnly\n checked={isSelected}\n />\n )}\n {this.props.optionValueDecorator(isObject ? option[displayValue] : (option || '').toString(), option)}\n </li>\n )}\n )}\n\t\t\t\t</React.Fragment>\n\t\t\t)\n\t\t});\n }\n\n renderNormalOption() {\n const { isObject = false, displayValue, showCheckbox, style, singleSelect } = this.props;\n const { highlightOption } = this.state;\n return this.state.options.map((option, i) => {\n const isSelected = this.isSelectedValue(option);\n return (\n <li\n key={`option${i}`}\n style={style['option']}\n className={`option ${isSelected ? 'selected' : ''} ${highlightOption === i ? `highlightOption highlight` : \"\"} ${this.fadeOutSelection(option) ? 'disableSelection' : ''} ${this.isDisablePreSelectedValues(option) ? 'disableSelection' : ''}`}\n onClick={() => this.onSelectItem(option)}\n >\n {showCheckbox && !singleSelect && (\n <input\n type=\"checkbox\"\n readOnly\n className={`checkbox`}\n checked={isSelected}\n />\n )}\n {this.props.optionValueDecorator(isObject ? option[displayValue] : (option || '').toString(), option)}\n </li>\n )\n });\n }\n\n renderSelectedList() {\n const { isObject = false, displayValue, style, singleSelect, customCloseIcon } = this.props;\n const { selectedValues, closeIconType } = this.state;\n return selectedValues.map((value, index) => (\n <span className={`chip ${singleSelect && 'singleChip'} ${this.isDisablePreSelectedValues(value) && 'disableSelection'}`} key={index} style={style['chips']}>\n {this.props.selectedValueDecorator(!isObject ? (value || '').toString() : value[displayValue], value)}\n {!this.isDisablePreSelectedValues(value) && (!customCloseIcon ? <img\n className=\"icon_cancel closeIcon\"\n src={closeIconType}\n onClick={() => this.onRemoveSelectedItem(value)}\n /> : <i className=\"custom-close\" onClick={() => this.onRemoveSelectedItem(value)}>{customCloseIcon}</i>)}\n </span>\n ));\n }\n\n isDisablePreSelectedValues(value) {\n const { isObject, disablePreSelectedValues, displayValue } = this.props;\n const { preSelectedValues } = this.state;\n if (!disablePreSelectedValues || !preSelectedValues.length) {\n return false;\n }\n if (isObject) {\n return (\n preSelectedValues.filter(i => i[displayValue] === value[displayValue])\n .length > 0\n );\n }\n return preSelectedValues.filter(i => i === value).length > 0;\n }\n\n fadeOutSelection(item) {\n const { selectionLimit, showCheckbox, singleSelect } = this.props;\n if (singleSelect) {\n return;\n }\n const { selectedValues } = this.state;\n if (selectionLimit == -1) {\n return false;\n }\n if (selectionLimit != selectedValues.length) {\n return false;\n }\n if (selectionLimit == selectedValues.length) {\n if (!showCheckbox) {\n return true;\n } else {\n if (this.isSelectedValue(item)) {\n return false;\n }\n return true;\n }\n }\n }\n\n toggelOptionList() {\n this.setState({\n toggleOptionsList: !this.state.toggleOptionsList,\n highlightOption: this.props.avoidHighlightFirstOption ? -1 : 0\n });\n }\n\n onCloseOptionList() {\n this.setState({\n toggleOptionsList: false,\n highlightOption: this.props.avoidHighlightFirstOption ? -1 : 0,\n inputValue: ''\n });\n }\n\n onFocus(){\n if (this.state.toggleOptionsList) {\n // @ts-ignore\n clearTimeout(this.optionTimeout);\n } else {\n this.toggelOptionList();\n }\n }\n\n onBlur(){\n this.setState({ inputValue: '' }, this.filterOptionsByInput);\n // @ts-ignore\n this.optionTimeout = setTimeout(this.onCloseOptionList, 250);\n }\n\n isVisible(elem) {\n return !!elem && !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length )\n }\n\n hideOnClickOutside() {\n const element = document.getElementsByClassName('multiselect-container')[0];\n const outsideClickListener = event => {\n if (element && !element.contains(event.target) && this.isVisible(element)) {\n this.toggelOptionList();\n }\n }\n document.addEventListener('click', outsideClickListener)\n }\n\n renderMultiselectContainer() {\n const { inputValue, toggleOptionsList, selectedValues } = this.state;\n const { placeholder, style, singleSelect, id, name, hidePlaceholder, disable, showArrow, className, customArrow, hideSelectedList } = this.props;\n return (\n <div className={`multiselect-container multiSelectContainer ${disable ? `disable_ms` : ''} ${className || ''}`} id={id || 'multiselectContainerReact'} style={style['multiselectContainer']}>\n <div className={`search-wrapper searchWrapper ${singleSelect ? 'singleSelect' : ''}`}\n ref={this.searchWrapper} style={style['searchBox']}\n onClick={singleSelect ? this.toggelOptionList : () => {}}\n >\n {!hideSelectedList && this.renderSelectedList()}\n <input\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tref={this.searchBox}\n className={`searchBox ${singleSelect && selectedValues.length ? 'display-none' : ''}`}\n id={`${id || 'search'}_input`}\n\t name={`${name || 'search_name'}_input`}\n onChange={this.onChange}\n onKeyPress={this.onKeyPress}\n value={inputValue}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n placeholder={((singleSelect && selectedValues.length) || (hidePlaceholder && selectedValues.length)) ? '' : placeholder}\n onKeyDown={this.onArrowKeyNavigation}\n style={style['inputField']}\n autoComplete=\"off\"\n disabled={singleSelect || disable}\n />\n {(singleSelect || showArrow) && (\n <>\n {customArrow ? <span className=\"icon_down_dir\">{customArrow}</span> : <img src={DownArrow} className={`icon_cancel icon_down_dir`} />}\n </>\n )}\n </div>\n <div\n className={`optionListContainer ${\n toggleOptionsList ? 'displayBlock' : 'displayNone'\n }`}\n onMouseDown={(e) => {\n e.preventDefault();\n }}\n >\n {this.renderOptionList()}\n </div>\n </div>\n );\n }\n\n render() {\n return (\n <OutsideAlerter outsideClick={this.onCloseOptionList}>\n {this.renderMultiselectContainer()}\n </OutsideAlerter>\n );\n }\n}\n\nMultiselect.defaultProps = {\n options: [],\n disablePreSelectedValues: false,\n selectedValues: [],\n isObject: true,\n displayValue: \"model\",\n showCheckbox: false,\n selectionLimit: -1,\n placeholder: \"Select\",\n\tgroupBy: \"\",\n\tstyle: {},\n\temptyRecordMsg: \"No Options Available\",\n\tonSelect: () => {},\n onRemove: () => {},\n onKeyPressFn: () => {},\n closeIcon: 'circle2',\n singleSelect: false,\n caseSensitiveSearch: false,\n id: '',\n name: '',\n closeOnSelect: true,\n avoidHighlightFirstOption: false,\n hidePlaceholder: false,\n showArrow: false,\n keepSearchTerm: false,\n customCloseIcon: '',\n className: '',\n customArrow: undefined,\n selectedValueDecorator: v => v,\n optionValueDecorator: v => v\n} as IMultiselectProps;\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar React = require('react');\nvar React__default = _interopDefault(React);\n\nvar UAParser = require('ua-parser-js/dist/ua-parser.min');\n\nvar ClientUAInstance = new UAParser();\nvar browser = ClientUAInstance.getBrowser();\nvar cpu = ClientUAInstance.getCPU();\nvar device = ClientUAInstance.getDevice();\nvar engine = ClientUAInstance.getEngine();\nvar os = ClientUAInstance.getOS();\nvar ua = ClientUAInstance.getUA();\nvar setUa = function setUa(userAgentString) {\n return ClientUAInstance.setUA(userAgentString);\n};\nvar parseUserAgent = function parseUserAgent(userAgent) {\n if (!userAgent) {\n console.error('No userAgent string was provided');\n return;\n }\n\n var UserAgentInstance = new UAParser(userAgent);\n return {\n UA: UserAgentInstance,\n browser: UserAgentInstance.getBrowser(),\n cpu: UserAgentInstance.getCPU(),\n device: UserAgentInstance.getDevice(),\n engine: UserAgentInstance.getEngine(),\n os: UserAgentInstance.getOS(),\n ua: UserAgentInstance.getUA(),\n setUserAgent: function setUserAgent(userAgentString) {\n return UserAgentInstance.setUA(userAgentString);\n }\n };\n};\n\nvar UAHelper = /*#__PURE__*/Object.freeze({\n ClientUAInstance: ClientUAInstance,\n browser: browser,\n cpu: cpu,\n device: device,\n engine: engine,\n os: os,\n ua: ua,\n setUa: setUa,\n parseUserAgent: parseUserAgent\n});\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nvar DeviceTypes = {\n Mobile: 'mobile',\n Tablet: 'tablet',\n SmartTv: 'smarttv',\n Console: 'console',\n Wearable: 'wearable',\n Embedded: 'embedded',\n Browser: undefined\n};\nvar BrowserTypes = {\n Chrome: 'Chrome',\n Firefox: 'Firefox',\n Opera: 'Opera',\n Yandex: 'Yandex',\n Safari: 'Safari',\n InternetExplorer: 'Internet Explorer',\n Edge: 'Edge',\n Chromium: 'Chromium',\n Ie: 'IE',\n MobileSafari: 'Mobile Safari',\n EdgeChromium: 'Edge Chromium',\n MIUI: 'MIUI Browser',\n SamsungBrowser: 'Samsung Browser'\n};\nvar OsTypes = {\n IOS: 'iOS',\n Android: 'Android',\n WindowsPhone: 'Windows Phone',\n Windows: 'Windows',\n MAC_OS: 'Mac OS'\n};\nvar InitialDeviceTypes = {\n isMobile: false,\n isTablet: false,\n isBrowser: false,\n isSmartTV: false,\n isConsole: false,\n isWearable: false\n};\n\nvar checkDeviceType = function checkDeviceType(type) {\n switch (type) {\n case DeviceTypes.Mobile:\n return {\n isMobile: true\n };\n\n case DeviceTypes.Tablet:\n return {\n isTablet: true\n };\n\n case DeviceTypes.SmartTv:\n return {\n isSmartTV: true\n };\n\n case DeviceTypes.Console:\n return {\n isConsole: true\n };\n\n case DeviceTypes.Wearable:\n return {\n isWearable: true\n };\n\n case DeviceTypes.Browser:\n return {\n isBrowser: true\n };\n\n case DeviceTypes.Embedded:\n return {\n isEmbedded: true\n };\n\n default:\n return InitialDeviceTypes;\n }\n};\nvar setUserAgent = function setUserAgent(userAgent) {\n return setUa(userAgent);\n};\nvar setDefaults = function setDefaults(p) {\n var d = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'none';\n return p ? p : d;\n};\nvar getNavigatorInstance = function getNavigatorInstance() {\n if (typeof window !== 'undefined') {\n if (window.navigator || navigator) {\n return window.navigator || navigator;\n }\n }\n\n return false;\n};\nvar isIOS13Check = function isIOS13Check(type) {\n var nav = getNavigatorInstance();\n return nav && nav.platform && (nav.platform.indexOf(type) !== -1 || nav.platform === 'MacIntel' && nav.maxTouchPoints > 1 && !window.MSStream);\n};\n\nvar browserPayload = function browserPayload(isBrowser, browser, engine, os, ua) {\n return {\n isBrowser: isBrowser,\n browserMajorVersion: setDefaults(browser.major),\n browserFullVersion: setDefaults(browser.version),\n browserName: setDefaults(browser.name),\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar mobilePayload = function mobilePayload(type, device, os, ua) {\n return _objectSpread2({}, type, {\n vendor: setDefaults(device.vendor),\n model: setDefaults(device.model),\n os: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n ua: setDefaults(ua)\n });\n};\nvar smartTvPayload = function smartTvPayload(isSmartTV, engine, os, ua) {\n return {\n isSmartTV: isSmartTV,\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar consolePayload = function consolePayload(isConsole, engine, os, ua) {\n return {\n isConsole: isConsole,\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar wearablePayload = function wearablePayload(isWearable, engine, os, ua) {\n return {\n isWearable: isWearable,\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar embeddedPayload = function embeddedPayload(isEmbedded, device, engine, os, ua) {\n return {\n isEmbedded: isEmbedded,\n vendor: setDefaults(device.vendor),\n model: setDefaults(device.model),\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\n\nfunction deviceDetect(userAgent) {\n var _ref = userAgent ? parseUserAgent(userAgent) : UAHelper,\n device = _ref.device,\n browser = _ref.browser,\n engine = _ref.engine,\n os = _ref.os,\n ua = _ref.ua;\n\n var type = checkDeviceType(device.type);\n var isBrowser = type.isBrowser,\n isMobile = type.isMobile,\n isTablet = type.isTablet,\n isSmartTV = type.isSmartTV,\n isConsole = type.isConsole,\n isWearable = type.isWearable,\n isEmbedded = type.isEmbedded;\n\n if (isBrowser) {\n return browserPayload(isBrowser, browser, engine, os, ua);\n }\n\n if (isSmartTV) {\n return smartTvPayload(isSmartTV, engine, os, ua);\n }\n\n if (isConsole) {\n return consolePayload(isConsole, engine, os, ua);\n }\n\n if (isMobile) {\n return mobilePayload(type, device, os, ua);\n }\n\n if (isTablet) {\n return mobilePayload(type, device, os, ua);\n }\n\n if (isWearable) {\n return wearablePayload(isWearable, engine, os, ua);\n }\n\n if (isEmbedded) {\n return embeddedPayload(isEmbedded, device, engine, os, ua);\n }\n}\n\nvar isMobileType = function isMobileType(_ref) {\n var type = _ref.type;\n return type === DeviceTypes.Mobile;\n};\nvar isTabletType = function isTabletType(_ref2) {\n var type = _ref2.type;\n return type === DeviceTypes.Tablet;\n};\nvar isMobileAndTabletType = function isMobileAndTabletType(_ref3) {\n var type = _ref3.type;\n return type === DeviceTypes.Mobile || type === DeviceTypes.Tablet;\n};\nvar isSmartTVType = function isSmartTVType(_ref4) {\n var type = _ref4.type;\n return type === DeviceTypes.SmartTv;\n};\nvar isBrowserType = function isBrowserType(_ref5) {\n var type = _ref5.type;\n return type === DeviceTypes.Browser;\n};\nvar isWearableType = function isWearableType(_ref6) {\n var type = _ref6.type;\n return type === DeviceTypes.Wearable;\n};\nvar isConsoleType = function isConsoleType(_ref7) {\n var type = _ref7.type;\n return type === DeviceTypes.Console;\n};\nvar isEmbeddedType = function isEmbeddedType(_ref8) {\n var type = _ref8.type;\n return type === DeviceTypes.Embedded;\n};\nvar getMobileVendor = function getMobileVendor(_ref9) {\n var vendor = _ref9.vendor;\n return setDefaults(vendor);\n};\nvar getMobileModel = function getMobileModel(_ref10) {\n var model = _ref10.model;\n return setDefaults(model);\n};\nvar getDeviceType = function getDeviceType(_ref11) {\n var type = _ref11.type;\n return setDefaults(type, 'browser');\n}; // os types\n\nvar isAndroidType = function isAndroidType(_ref12) {\n var name = _ref12.name;\n return name === OsTypes.Android;\n};\nvar isWindowsType = function isWindowsType(_ref13) {\n var name = _ref13.name;\n return name === OsTypes.Windows;\n};\nvar isMacOsType = function isMacOsType(_ref14) {\n var name = _ref14.name;\n return name === OsTypes.MAC_OS;\n};\nvar isWinPhoneType = function isWinPhoneType(_ref15) {\n var name = _ref15.name;\n return name === OsTypes.WindowsPhone;\n};\nvar isIOSType = function isIOSType(_ref16) {\n var name = _ref16.name;\n return name === OsTypes.IOS;\n};\nvar getOsVersion = function getOsVersion(_ref17) {\n var version = _ref17.version;\n return setDefaults(version);\n};\nvar getOsName = function getOsName(_ref18) {\n var name = _ref18.name;\n return setDefaults(name);\n}; // browser types\n\nvar isChromeType = function isChromeType(_ref19) {\n var name = _ref19.name;\n return name === BrowserTypes.Chrome;\n};\nvar isFirefoxType = function isFirefoxType(_ref20) {\n var name = _ref20.name;\n return name === BrowserTypes.Firefox;\n};\nvar isChromiumType = function isChromiumType(_ref21) {\n var name = _ref21.name;\n return name === BrowserTypes.Chromium;\n};\nvar isEdgeType = function isEdgeType(_ref22) {\n var name = _ref22.name;\n return name === BrowserTypes.Edge;\n};\nvar isYandexType = function isYandexType(_ref23) {\n var name = _ref23.name;\n return name === BrowserTypes.Yandex;\n};\nvar isSafariType = function isSafariType(_ref24) {\n var name = _ref24.name;\n return name === BrowserTypes.Safari || name === BrowserTypes.MobileSafari;\n};\nvar isMobileSafariType = function isMobileSafariType(_ref25) {\n var name = _ref25.name;\n return name === BrowserTypes.MobileSafari;\n};\nvar isOperaType = function isOperaType(_ref26) {\n var name = _ref26.name;\n return name === BrowserTypes.Opera;\n};\nvar isIEType = function isIEType(_ref27) {\n var name = _ref27.name;\n return name === BrowserTypes.InternetExplorer || name === BrowserTypes.Ie;\n};\nvar isMIUIType = function isMIUIType(_ref28) {\n var name = _ref28.name;\n return name === BrowserTypes.MIUI;\n};\nvar isSamsungBrowserType = function isSamsungBrowserType(_ref29) {\n var name = _ref29.name;\n return name === BrowserTypes.SamsungBrowser;\n};\nvar getBrowserFullVersion = function getBrowserFullVersion(_ref30) {\n var version = _ref30.version;\n return setDefaults(version);\n};\nvar getBrowserVersion = function getBrowserVersion(_ref31) {\n var major = _ref31.major;\n return setDefaults(major);\n};\nvar getBrowserName = function getBrowserName(_ref32) {\n var name = _ref32.name;\n return setDefaults(name);\n}; // engine types\n\nvar getEngineName = function getEngineName(_ref33) {\n var name = _ref33.name;\n return setDefaults(name);\n};\nvar getEngineVersion = function getEngineVersion(_ref34) {\n var version = _ref34.version;\n return setDefaults(version);\n};\nvar isElectronType = function isElectronType() {\n var nav = getNavigatorInstance();\n var ua = nav && nav.userAgent && nav.userAgent.toLowerCase();\n return typeof ua === 'string' ? /electron/.test(ua) : false;\n};\nvar isEdgeChromiumType = function isEdgeChromiumType(ua) {\n return typeof ua === 'string' && ua.indexOf('Edg/') !== -1;\n};\nvar getIOS13 = function getIOS13() {\n var nav = getNavigatorInstance();\n return nav && (/iPad|iPhone|iPod/.test(nav.platform) || nav.platform === 'MacIntel' && nav.maxTouchPoints > 1) && !window.MSStream;\n};\nvar getIPad13 = function getIPad13() {\n return isIOS13Check('iPad');\n};\nvar getIphone13 = function getIphone13() {\n return isIOS13Check('iPhone');\n};\nvar getIPod13 = function getIPod13() {\n return isIOS13Check('iPod');\n};\nvar getUseragent = function getUseragent(userAg) {\n return setDefaults(userAg);\n};\n\nfunction buildSelectorsObject(options) {\n var _ref = options ? options : UAHelper,\n device = _ref.device,\n browser = _ref.browser,\n os = _ref.os,\n engine = _ref.engine,\n ua = _ref.ua;\n\n return {\n isSmartTV: isSmartTVType(device),\n isConsole: isConsoleType(device),\n isWearable: isWearableType(device),\n isEmbedded: isEmbeddedType(device),\n isMobileSafari: isMobileSafariType(browser) || getIPad13(),\n isChromium: isChromiumType(browser),\n isMobile: isMobileAndTabletType(device) || getIPad13(),\n isMobileOnly: isMobileType(device),\n isTablet: isTabletType(device) || getIPad13(),\n isBrowser: isBrowserType(device),\n isDesktop: isBrowserType(device),\n isAndroid: isAndroidType(os),\n isWinPhone: isWinPhoneType(os),\n isIOS: isIOSType(os) || getIPad13(),\n isChrome: isChromeType(browser),\n isFirefox: isFirefoxType(browser),\n isSafari: isSafariType(browser),\n isOpera: isOperaType(browser),\n isIE: isIEType(browser),\n osVersion: getOsVersion(os),\n osName: getOsName(os),\n fullBrowserVersion: getBrowserFullVersion(browser),\n browserVersion: getBrowserVersion(browser),\n browserName: getBrowserName(browser),\n mobileVendor: getMobileVendor(device),\n mobileModel: getMobileModel(device),\n engineName: getEngineName(engine),\n engineVersion: getEngineVersion(engine),\n getUA: getUseragent(ua),\n isEdge: isEdgeType(browser) || isEdgeChromiumType(ua),\n isYandex: isYandexType(browser),\n deviceType: getDeviceType(device),\n isIOS13: getIOS13(),\n isIPad13: getIPad13(),\n isIPhone13: getIphone13(),\n isIPod13: getIPod13(),\n isElectron: isElectronType(),\n isEdgeChromium: isEdgeChromiumType(ua),\n isLegacyEdge: isEdgeType(browser) && !isEdgeChromiumType(ua),\n isWindows: isWindowsType(os),\n isMacOs: isMacOsType(os),\n isMIUI: isMIUIType(browser),\n isSamsungBrowser: isSamsungBrowserType(browser)\n };\n}\n\nvar isSmartTV = isSmartTVType(device);\nvar isConsole = isConsoleType(device);\nvar isWearable = isWearableType(device);\nvar isEmbedded = isEmbeddedType(device);\nvar isMobileSafari = isMobileSafariType(browser) || getIPad13();\nvar isChromium = isChromiumType(browser);\nvar isMobile = isMobileAndTabletType(device) || getIPad13();\nvar isMobileOnly = isMobileType(device);\nvar isTablet = isTabletType(device) || getIPad13();\nvar isBrowser = isBrowserType(device);\nvar isDesktop = isBrowserType(device);\nvar isAndroid = isAndroidType(os);\nvar isWinPhone = isWinPhoneType(os);\nvar isIOS = isIOSType(os) || getIPad13();\nvar isChrome = isChromeType(browser);\nvar isFirefox = isFirefoxType(browser);\nvar isSafari = isSafariType(browser);\nvar isOpera = isOperaType(browser);\nvar isIE = isIEType(browser);\nvar osVersion = getOsVersion(os);\nvar osName = getOsName(os);\nvar fullBrowserVersion = getBrowserFullVersion(browser);\nvar browserVersion = getBrowserVersion(browser);\nvar browserName = getBrowserName(browser);\nvar mobileVendor = getMobileVendor(device);\nvar mobileModel = getMobileModel(device);\nvar engineName = getEngineName(engine);\nvar engineVersion = getEngineVersion(engine);\nvar getUA = getUseragent(ua);\nvar isEdge = isEdgeType(browser) || isEdgeChromiumType(ua);\nvar isYandex = isYandexType(browser);\nvar deviceType = getDeviceType(device);\nvar isIOS13 = getIOS13();\nvar isIPad13 = getIPad13();\nvar isIPhone13 = getIphone13();\nvar isIPod13 = getIPod13();\nvar isElectron = isElectronType();\nvar isEdgeChromium = isEdgeChromiumType(ua);\nvar isLegacyEdge = isEdgeType(browser) && !isEdgeChromiumType(ua);\nvar isWindows = isWindowsType(os);\nvar isMacOs = isMacOsType(os);\nvar isMIUI = isMIUIType(browser);\nvar isSamsungBrowser = isSamsungBrowserType(browser);\nvar getSelectorsByUserAgent = function getSelectorsByUserAgent(userAgent) {\n if (!userAgent || typeof userAgent !== 'string') {\n console.error('No valid user agent string was provided');\n return;\n }\n\n var _UAHelper$parseUserAg = parseUserAgent(userAgent),\n device = _UAHelper$parseUserAg.device,\n browser = _UAHelper$parseUserAg.browser,\n os = _UAHelper$parseUserAg.os,\n engine = _UAHelper$parseUserAg.engine,\n ua = _UAHelper$parseUserAg.ua;\n\n return buildSelectorsObject({\n device: device,\n browser: browser,\n os: os,\n engine: engine,\n ua: ua\n });\n};\n\nvar AndroidView = function AndroidView(_ref) {\n var renderWithFragment = _ref.renderWithFragment,\n children = _ref.children,\n props = _objectWithoutProperties(_ref, [\"renderWithFragment\", \"children\"]);\n\n return isAndroid ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar BrowserView = function BrowserView(_ref2) {\n var renderWithFragment = _ref2.renderWithFragment,\n children = _ref2.children,\n props = _objectWithoutProperties(_ref2, [\"renderWithFragment\", \"children\"]);\n\n return isBrowser ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar IEView = function IEView(_ref3) {\n var renderWithFragment = _ref3.renderWithFragment,\n children = _ref3.children,\n props = _objectWithoutProperties(_ref3, [\"renderWithFragment\", \"children\"]);\n\n return isIE ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar IOSView = function IOSView(_ref4) {\n var renderWithFragment = _ref4.renderWithFragment,\n children = _ref4.children,\n props = _objectWithoutProperties(_ref4, [\"renderWithFragment\", \"children\"]);\n\n return isIOS ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar MobileView = function MobileView(_ref5) {\n var renderWithFragment = _ref5.renderWithFragment,\n children = _ref5.children,\n props = _objectWithoutProperties(_ref5, [\"renderWithFragment\", \"children\"]);\n\n return isMobile ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar TabletView = function TabletView(_ref6) {\n var renderWithFragment = _ref6.renderWithFragment,\n children = _ref6.children,\n props = _objectWithoutProperties(_ref6, [\"renderWithFragment\", \"children\"]);\n\n return isTablet ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar WinPhoneView = function WinPhoneView(_ref7) {\n var renderWithFragment = _ref7.renderWithFragment,\n children = _ref7.children,\n props = _objectWithoutProperties(_ref7, [\"renderWithFragment\", \"children\"]);\n\n return isWinPhone ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar MobileOnlyView = function MobileOnlyView(_ref8) {\n var renderWithFragment = _ref8.renderWithFragment,\n children = _ref8.children,\n viewClassName = _ref8.viewClassName,\n style = _ref8.style,\n props = _objectWithoutProperties(_ref8, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\"]);\n\n return isMobileOnly ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar SmartTVView = function SmartTVView(_ref9) {\n var renderWithFragment = _ref9.renderWithFragment,\n children = _ref9.children,\n props = _objectWithoutProperties(_ref9, [\"renderWithFragment\", \"children\"]);\n\n return isSmartTV ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar ConsoleView = function ConsoleView(_ref10) {\n var renderWithFragment = _ref10.renderWithFragment,\n children = _ref10.children,\n props = _objectWithoutProperties(_ref10, [\"renderWithFragment\", \"children\"]);\n\n return isConsole ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar WearableView = function WearableView(_ref11) {\n var renderWithFragment = _ref11.renderWithFragment,\n children = _ref11.children,\n props = _objectWithoutProperties(_ref11, [\"renderWithFragment\", \"children\"]);\n\n return isWearable ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar CustomView = function CustomView(_ref12) {\n var renderWithFragment = _ref12.renderWithFragment,\n children = _ref12.children,\n viewClassName = _ref12.viewClassName,\n style = _ref12.style,\n condition = _ref12.condition,\n props = _objectWithoutProperties(_ref12, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\", \"condition\"]);\n\n return condition ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\n\nfunction withOrientationChange(WrappedComponent) {\n return /*#__PURE__*/function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n var _this;\n\n _classCallCheck(this, _class);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(_class).call(this, props));\n _this.isEventListenerAdded = false;\n _this.handleOrientationChange = _this.handleOrientationChange.bind(_assertThisInitialized(_this));\n _this.onOrientationChange = _this.onOrientationChange.bind(_assertThisInitialized(_this));\n _this.onPageLoad = _this.onPageLoad.bind(_assertThisInitialized(_this));\n _this.state = {\n isLandscape: false,\n isPortrait: false\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: \"handleOrientationChange\",\n value: function handleOrientationChange() {\n if (!this.isEventListenerAdded) {\n this.isEventListenerAdded = true;\n }\n\n var orientation = window.innerWidth > window.innerHeight ? 90 : 0;\n this.setState({\n isPortrait: orientation === 0,\n isLandscape: orientation === 90\n });\n }\n }, {\n key: \"onOrientationChange\",\n value: function onOrientationChange() {\n this.handleOrientationChange();\n }\n }, {\n key: \"onPageLoad\",\n value: function onPageLoad() {\n this.handleOrientationChange();\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== undefined && isMobile) {\n if (!this.isEventListenerAdded) {\n this.handleOrientationChange();\n window.addEventListener(\"load\", this.onPageLoad, false);\n } else {\n window.removeEventListener(\"load\", this.onPageLoad, false);\n }\n\n window.addEventListener(\"resize\", this.onOrientationChange, false);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n window.removeEventListener(\"resize\", this.onOrientationChange, false);\n }\n }, {\n key: \"render\",\n value: function render() {\n return React__default.createElement(WrappedComponent, _extends({}, this.props, {\n isLandscape: this.state.isLandscape,\n isPortrait: this.state.isPortrait\n }));\n }\n }]);\n\n return _class;\n }(React__default.Component);\n}\n\nfunction useMobileOrientation() {\n var _useState = React.useState(function () {\n var orientation = window.innerWidth > window.innerHeight ? 90 : 0;\n return {\n isPortrait: orientation === 0,\n isLandscape: orientation === 90,\n orientation: orientation === 0 ? 'portrait' : 'landscape'\n };\n }),\n _useState2 = _slicedToArray(_useState, 2),\n state = _useState2[0],\n setState = _useState2[1];\n\n var handleOrientationChange = React.useCallback(function () {\n var orientation = window.innerWidth > window.innerHeight ? 90 : 0;\n var next = {\n isPortrait: orientation === 0,\n isLandscape: orientation === 90,\n orientation: orientation === 0 ? 'portrait' : 'landscape'\n };\n state.orientation !== next.orientation && setState(next);\n }, [state.orientation]);\n React.useEffect(function () {\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== undefined && isMobile) {\n handleOrientationChange();\n window.addEventListener(\"load\", handleOrientationChange, false);\n window.addEventListener(\"resize\", handleOrientationChange, false);\n }\n\n return function () {\n window.removeEventListener(\"resize\", handleOrientationChange, false);\n window.removeEventListener(\"load\", handleOrientationChange, false);\n };\n }, [handleOrientationChange]);\n return state;\n}\n\nfunction useDeviceData(userAgent) {\n var hookUserAgent = userAgent ? userAgent : window.navigator.userAgent;\n return parseUserAgent(hookUserAgent);\n}\n\nfunction useDeviceSelectors(userAgent) {\n var hookUserAgent = userAgent ? userAgent : window.navigator.userAgent;\n var deviceData = useDeviceData(hookUserAgent);\n var selectors = buildSelectorsObject(deviceData);\n return [selectors, deviceData];\n}\n\nexports.AndroidView = AndroidView;\nexports.BrowserTypes = BrowserTypes;\nexports.BrowserView = BrowserView;\nexports.ConsoleView = ConsoleView;\nexports.CustomView = CustomView;\nexports.IEView = IEView;\nexports.IOSView = IOSView;\nexports.MobileOnlyView = MobileOnlyView;\nexports.MobileView = MobileView;\nexports.OsTypes = OsTypes;\nexports.SmartTVView = SmartTVView;\nexports.TabletView = TabletView;\nexports.WearableView = WearableView;\nexports.WinPhoneView = WinPhoneView;\nexports.browserName = browserName;\nexports.browserVersion = browserVersion;\nexports.deviceDetect = deviceDetect;\nexports.deviceType = deviceType;\nexports.engineName = engineName;\nexports.engineVersion = engineVersion;\nexports.fullBrowserVersion = fullBrowserVersion;\nexports.getSelectorsByUserAgent = getSelectorsByUserAgent;\nexports.getUA = getUA;\nexports.isAndroid = isAndroid;\nexports.isBrowser = isBrowser;\nexports.isChrome = isChrome;\nexports.isChromium = isChromium;\nexports.isConsole = isConsole;\nexports.isDesktop = isDesktop;\nexports.isEdge = isEdge;\nexports.isEdgeChromium = isEdgeChromium;\nexports.isElectron = isElectron;\nexports.isEmbedded = isEmbedded;\nexports.isFirefox = isFirefox;\nexports.isIE = isIE;\nexports.isIOS = isIOS;\nexports.isIOS13 = isIOS13;\nexports.isIPad13 = isIPad13;\nexports.isIPhone13 = isIPhone13;\nexports.isIPod13 = isIPod13;\nexports.isLegacyEdge = isLegacyEdge;\nexports.isMIUI = isMIUI;\nexports.isMacOs = isMacOs;\nexports.isMobile = isMobile;\nexports.isMobileOnly = isMobileOnly;\nexports.isMobileSafari = isMobileSafari;\nexports.isOpera = isOpera;\nexports.isSafari = isSafari;\nexports.isSamsungBrowser = isSamsungBrowser;\nexports.isSmartTV = isSmartTV;\nexports.isTablet = isTablet;\nexports.isWearable = isWearable;\nexports.isWinPhone = isWinPhone;\nexports.isWindows = isWindows;\nexports.isYandex = isYandex;\nexports.mobileModel = mobileModel;\nexports.mobileVendor = mobileVendor;\nexports.osName = osName;\nexports.osVersion = osVersion;\nexports.parseUserAgent = parseUserAgent;\nexports.setUserAgent = setUserAgent;\nexports.useDeviceData = useDeviceData;\nexports.useDeviceSelectors = useDeviceSelectors;\nexports.useMobileOrientation = useMobileOrientation;\nexports.withOrientationChange = withOrientationChange;\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;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var da=new Set,ea={};function fa(a,b){ha(a,b);ha(a+\"Capture\",b)}\nfunction ha(a,b){ea[a]=b;for(a=0;a<b.length;a++)da.add(b[a])}\nvar ia=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,la=\n{},ma={};function oa(a){if(ja.call(ma,a))return!0;if(ja.call(la,a))return!1;if(ka.test(a))return ma[a]=!0;la[a]=!0;return!1}function pa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction qa(a,b,c,d){if(null===b||\"undefined\"===typeof b||pa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}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||!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1])qa(b,c,e,d)&&(c=null),d||null===e?oa(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c)))}\nvar ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for(\"react.element\"),wa=Symbol.for(\"react.portal\"),ya=Symbol.for(\"react.fragment\"),za=Symbol.for(\"react.strict_mode\"),Aa=Symbol.for(\"react.profiler\"),Ba=Symbol.for(\"react.provider\"),Ca=Symbol.for(\"react.context\"),Da=Symbol.for(\"react.forward_ref\"),Ea=Symbol.for(\"react.suspense\"),Fa=Symbol.for(\"react.suspense_list\"),Ga=Symbol.for(\"react.memo\"),Ha=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");\nvar Ia=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var Ja=Symbol.iterator;function Ka(a){if(null===a||\"object\"!==typeof a)return null;a=Ja&&a[Ja]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var A=Object.assign,La;function Ma(a){if(void 0===La)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||\"\"}return\"\\n\"+La+a}var Na=!1;\nfunction Oa(a,b){if(!a||Na)return\"\";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error();}catch(l){d=l}a()}}catch(l){if(l&&d&&\"string\"===typeof l.stack){for(var e=l.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"<anonymous>\")&&(k=k.replace(\"<anonymous>\",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<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));return A({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(p(92));if(eb(c)){if(1<c.length)throw Error(p(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}function kb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nfunction lb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?kb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar mb,nb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(\"http://www.w3.org/2000/svg\"!==a.namespaceURI||\"innerHTML\"in a)a.innerHTML=b;else{mb=mb||document.createElement(\"div\");mb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";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<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{if(Ib=!1,null!==zb||null!==Ab)Hb(),Fb()}}\nfunction Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,\"passive\",{get:function(){Lb=!0}});window.addEventListener(\"test\",Mb,Mb);window.removeEventListener(\"test\",Mb,Mb)}catch(a){Lb=!1}function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0;Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1;Pb=null;Nb.apply(Sb,arguments)}\nfunction Ub(a,b,c,d,e,f,g,h,k){Tb.apply(this,arguments);if(Ob){if(Ob){var l=Pb;Ob=!1;Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Wb(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Xb(a){if(Vb(a)!==a)throw Error(p(188));}\nfunction Yb(a){var b=a.alternate;if(!b){b=Vb(a);if(null===b)throw Error(p(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(p(189));}}if(c.alternate!==d)throw Error(p(190));}if(3!==c.tag)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){a=Yb(a);return null!==a?$b(a):null}function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=$b(a);if(null!==b)return b;a=a.sibling}return null}\nvar ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(a){if(lc&&\"function\"===typeof lc.onCommitFiberRoot)try{lc.onCommitFiberRoot(kc,a,void 0,128===(a.current.flags&128))}catch(b){}}\nvar oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(a){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;0<b;)c=31-oc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction vc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case 16:case 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 b+5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}\nfunction wc(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-oc(f),h=1<<g,k=e[g];if(-1===k){if(0===(h&c)||0!==(h&d))e[g]=vc(h,b)}else k<=b&&(a.expiredLanes|=h);f&=~h}}function xc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function yc(){var a=rc;rc<<=1;0===(rc&4194240)&&(rc=64);return a}function zc(a){for(var b=[],c=0;31>c;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<c;){var e=31-oc(c),f=1<<e;b[e]=0;d[e]=-1;a[e]=-1;c&=~f}}\nfunction Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-oc(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b);c&=~e}}var C=0;function Dc(a){a&=-a;return 1<a?4<a?0!==(a&268435455)?16:536870912:4:1}var Ec,Fc,Gc,Hc,Ic,Jc=!1,Kc=[],Lc=null,Mc=null,Nc=null,Oc=new Map,Pc=new Map,Qc=[],Rc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction Sc(a,b){switch(a){case \"focusin\":case \"focusout\":Lc=null;break;case \"dragenter\":case \"dragleave\":Mc=null;break;case \"mouseover\":case \"mouseout\":Nc=null;break;case \"pointerover\":case \"pointerout\":Oc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Pc.delete(b.pointerId)}}\nfunction Tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},null!==b&&(b=Cb(b),null!==b&&Fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction Uc(a,b,c,d,e){switch(b){case \"focusin\":return Lc=Tc(Lc,a,b,c,d,e),!0;case \"dragenter\":return Mc=Tc(Mc,a,b,c,d,e),!0;case \"mouseover\":return Nc=Tc(Nc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Oc.set(f,Tc(Oc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Pc.set(f,Tc(Pc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Vc(a){var b=Wc(a.target);if(null!==b){var c=Vb(b);if(null!==c)if(b=c.tag,13===b){if(b=Wb(c),null!==b){a.blockedOn=b;Ic(a.priority,function(){Gc(c)});return}}else if(3===b&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction Xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=Yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null===c){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d;c.target.dispatchEvent(d);wb=null}else return b=Cb(c),null!==b&&Fc(b),a.blockedOn=c,!1;b.shift()}return!0}function Zc(a,b,c){Xc(a)&&c.delete(b)}function $c(){Jc=!1;null!==Lc&&Xc(Lc)&&(Lc=null);null!==Mc&&Xc(Mc)&&(Mc=null);null!==Nc&&Xc(Nc)&&(Nc=null);Oc.forEach(Zc);Pc.forEach(Zc)}\nfunction ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstable_scheduleCallback(ca.unstable_NormalPriority,$c)))}\nfunction bd(a){function b(b){return ad(b,a)}if(0<Kc.length){ad(Kc[0],a);for(var c=1;c<Kc.length;c++){var d=Kc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Lc&&ad(Lc,a);null!==Mc&&ad(Mc,a);null!==Nc&&ad(Nc,a);Oc.forEach(b);Pc.forEach(b);for(c=0;c<Qc.length;c++)d=Qc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Qc.length&&(c=Qc[0],null===c.blockedOn);)Vc(c),null===c.blockedOn&&Qc.shift()}var cd=ua.ReactCurrentBatchConfig,dd=!0;\nfunction ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,fd(a,b,c,d)}finally{C=e,cd.transition=f}}\nfunction fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(null===e)hd(a,b,d,id,c),Sc(a,d);else if(Uc(e,a,b,c,d))d.stopPropagation();else if(Sc(a,d),b&4&&-1<Rc.indexOf(a)){for(;null!==e;){var f=Cb(e);null!==f&&Ec(f);f=Yc(a,b,c,d);null===f&&hd(a,b,d,id,c);if(f===e)break;e=f}null!==e&&d.stopPropagation()}else hd(a,b,d,null,c)}}var id=null;\nfunction Yc(a,b,c,d){id=null;a=xb(d);a=Wc(a);if(null!==a)if(b=Vb(a),null===b)a=null;else if(c=b.tag,13===c){a=Wb(b);if(null!==a)return a;a=null}else if(3===c){if(b.stateNode.current.memoizedState.isDehydrated)return 3===b.tag?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);id=a;return null}\nfunction jd(a){switch(a){case \"cancel\":case \"click\":case \"close\":case \"contextmenu\":case \"copy\":case \"cut\":case \"auxclick\":case \"dblclick\":case \"dragend\":case \"dragstart\":case \"drop\":case \"focusin\":case \"focusout\":case \"input\":case \"invalid\":case \"keydown\":case \"keypress\":case \"keyup\":case \"mousedown\":case \"mouseup\":case \"paste\":case \"pause\":case \"play\":case \"pointercancel\":case \"pointerdown\":case \"pointerup\":case \"ratechange\":case \"reset\":case \"resize\":case \"seeked\":case \"submit\":case \"touchcancel\":case \"touchend\":case \"touchstart\":case \"volumechange\":case \"change\":case \"selectionchange\":case \"textInput\":case \"compositionstart\":case \"compositionend\":case \"compositionupdate\":case \"beforeblur\":case \"afterblur\":case \"beforeinput\":case \"blur\":case \"fullscreenchange\":case \"focus\":case \"hashchange\":case \"popstate\":case \"select\":case \"selectstart\":return 1;case \"drag\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"mousemove\":case \"mouseout\":case \"mouseover\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"scroll\":case \"toggle\":case \"touchmove\":case \"wheel\":case \"mouseenter\":case \"mouseleave\":case \"pointerenter\":case \"pointerleave\":return 4;\ncase \"message\":switch(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var kd=null,ld=null,md=null;function nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}\nfunction od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}A(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=A({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=A({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=A({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=A({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=A({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=A({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=A({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=A({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=A({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=A({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=A({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=A({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=ia&&\"CompositionEvent\"in window,be=null;ia&&\"documentMode\"in document&&(be=document.documentMode);var ce=ia&&\"TextEvent\"in window&&!be,de=ia&&(!ae||be&&8<be&&11>=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.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(ia){var xe;if(ia){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));Jb(re,b)}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge;\nfunction Ie(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!He(a[e],b[e]))return!1}return!0}function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ke(a,b){var c=Je(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=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<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}\nvar Pe=ia&&\"documentMode\"in document&&11>=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\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nfunction Ve(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var We={animationend:Ve(\"Animation\",\"AnimationEnd\"),animationiteration:Ve(\"Animation\",\"AnimationIteration\"),animationstart:Ve(\"Animation\",\"AnimationStart\"),transitionend:Ve(\"Transition\",\"TransitionEnd\")},Xe={},Ye={};\nia&&(Ye=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),\"TransitionEvent\"in window||delete We.transitionend.transition);function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var b=We[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Ye)return Xe[a]=b[c];return a}var $e=Ze(\"animationend\"),af=Ze(\"animationiteration\"),bf=Ze(\"animationstart\"),cf=Ze(\"transitionend\"),df=new Map,ef=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");\nfunction ff(a,b){df.set(a,b);fa(b,[a])}for(var gf=0;gf<ef.length;gf++){var hf=ef[gf],jf=hf.toLowerCase(),kf=hf[0].toUpperCase()+hf.slice(1);ff(jf,\"on\"+kf)}ff($e,\"onAnimationEnd\");ff(af,\"onAnimationIteration\");ff(bf,\"onAnimationStart\");ff(\"dblclick\",\"onDoubleClick\");ff(\"focusin\",\"onFocus\");ff(\"focusout\",\"onBlur\");ff(cf,\"onTransitionEnd\");ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);\nha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var lf=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),mf=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(lf));\nfunction nf(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Ub(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a;}\nfunction D(a,b){var c=b[of];void 0===c&&(c=b[of]=new Set);var d=a+\"__bubble\";c.has(d)||(pf(b,a,2,!1),c.add(d))}function qf(a,b,c){var d=0;b&&(d|=4);pf(c,a,d,b)}var rf=\"_reactListening\"+Math.random().toString(36).slice(2);function sf(a){if(!a[rf]){a[rf]=!0;da.forEach(function(b){\"selectionchange\"!==b&&(mf.has(b)||qf(b,!1,a),qf(b,!0,a))});var b=9===a.nodeType?a:a.ownerDocument;null===b||b[rf]||(b[rf]=!0,qf(\"selectionchange\",!1,b))}}\nfunction pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;break;default:e=fd}c=e.bind(null,b,c,a);e=void 0;!Lb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction hd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d=f,e=xb(c),g=[];\na:{var h=df.get(a);if(void 0!==h){var k=td,n=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":n=\"focus\";k=Fd;break;case \"focusout\":n=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case $e:case af:case bf:k=Hd;break;case cf:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var t=0!==(b&4),J=!t&&\"scroll\"===a,x=t?null!==h?h+\"Capture\":null:h;t=[];for(var w=d,u;null!==\nw;){u=w;var F=u.stateNode;5===u.tag&&null!==F&&(u=F,null!==x&&(F=Kb(w,x),null!=F&&t.push(tf(w,F,u))));if(J)break;w=w.return}0<t.length&&(h=new k(h,n,null,c,e),g.push({event:h,listeners:t}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&c!==wb&&(n=c.relatedTarget||c.fromElement)&&(Wc(n)||n[uf]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(n=c.relatedTarget||c.toElement,k=d,n=n?Wc(n):null,null!==\nn&&(J=Vb(n),n!==J||5!==n.tag&&6!==n.tag))n=null}else k=null,n=d;if(k!==n){t=Bd;F=\"onMouseLeave\";x=\"onMouseEnter\";w=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)t=Td,F=\"onPointerLeave\",x=\"onPointerEnter\",w=\"pointer\";J=null==k?h:ue(k);u=null==n?h:ue(n);h=new t(F,w+\"leave\",k,c,e);h.target=J;h.relatedTarget=u;F=null;Wc(e)===d&&(t=new t(x,w+\"enter\",n,c,e),t.target=u,t.relatedTarget=J,F=t);J=F;if(k&&n)b:{t=k;x=n;w=0;for(u=t;u;u=vf(u))w++;u=0;for(F=x;F;F=vf(F))u++;for(;0<w-u;)t=vf(t),w--;for(;0<u-w;)x=\nvf(x),u--;for(;w--;){if(t===x||null!==x&&t===x.alternate)break b;t=vf(t);x=vf(x)}t=null}else t=null;null!==k&&wf(g,h,k,t,!1);null!==n&&null!==J&&wf(g,J,n,t,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var na=ve;else if(me(h))if(we)na=Fe;else{na=De;var xa=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(na=Ee);if(na&&(na=na(a,d))){ne(g,na,c,e);break a}xa&&xa(a,h,d);\"focusout\"===a&&(xa=h._wrapperState)&&\nxa.controlled&&\"number\"===h.type&&cb(h,\"number\",h.value)}xa=d?ue(d):window;switch(a){case \"focusin\":if(me(xa)||\"true\"===xa.contentEditable)Qe=xa,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var $a;if(ae)b:{switch(a){case \"compositionstart\":var ba=\"onCompositionStart\";break b;case \"compositionend\":ba=\"onCompositionEnd\";\nbreak b;case \"compositionupdate\":ba=\"onCompositionUpdate\";break b}ba=void 0}else ie?ge(a,c)&&(ba=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(ba=\"onCompositionStart\");ba&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==ba?\"onCompositionEnd\"===ba&&ie&&($a=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),xa=oe(d,ba),0<xa.length&&(ba=new Ld(ba,a,null,c,e),g.push({event:ba,listeners:xa}),$a?ba.data=$a:($a=he(c),null!==$a&&(ba.data=$a))));if($a=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),\n0<d.length&&(e=new Ld(\"onBeforeInput\",\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=$a)}se(g,b)})}function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Kb(a,c),null!=f&&d.unshift(tf(a,f,e)),f=Kb(a,b),null!=f&&d.push(tf(a,f,e)));a=a.return}return d}function vf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction wf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Kb(c,f),null!=k&&g.unshift(tf(c,k,h))):e||(k=Kb(c,f),null!=k&&g.push(tf(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}var xf=/\\r\\n?/g,yf=/\\u0000|\\uFFFD/g;function zf(a){return(\"string\"===typeof a?a:\"\"+a).replace(xf,\"\\n\").replace(yf,\"\")}function Af(a,b,c){b=zf(b);if(zf(a)!==b&&c)throw Error(p(425));}function Bf(){}\nvar Cf=null,Df=null;function Ef(a,b){return\"textarea\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}\nvar Ff=\"function\"===typeof setTimeout?setTimeout:void 0,Gf=\"function\"===typeof clearTimeout?clearTimeout:void 0,Hf=\"function\"===typeof Promise?Promise:void 0,Jf=\"function\"===typeof queueMicrotask?queueMicrotask:\"undefined\"!==typeof Hf?function(a){return Hf.resolve(null).then(a).catch(If)}:Ff;function If(a){setTimeout(function(){throw a;})}\nfunction Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;a.removeChild(c);if(e&&8===e.nodeType)if(c=e.data,\"/$\"===c){if(0===d){a.removeChild(e);bd(b);return}d--}else\"$\"!==c&&\"$?\"!==c&&\"$!\"!==c||d++;c=e}while(c);bd(b)}function Lf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;if(8===b){b=a.data;if(\"$\"===b||\"$!\"===b||\"$?\"===b)break;if(\"/$\"===b)return null}}return a}\nfunction Mf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var Nf=Math.random().toString(36).slice(2),Of=\"__reactFiber$\"+Nf,Pf=\"__reactProps$\"+Nf,uf=\"__reactContainer$\"+Nf,of=\"__reactEvents$\"+Nf,Qf=\"__reactListeners$\"+Nf,Rf=\"__reactHandles$\"+Nf;\nfunction Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b=c[uf]||c[Of]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Mf(a);null!==a;){if(c=a[Of])return c;a=Mf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[Of]||a[uf];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(33));}function Db(a){return a[Pf]||null}var Sf=[],Tf=-1;function Uf(a){return{current:a}}\nfunction E(a){0>Tf||(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<c.length;a++){var d=c[a];do d=d(!0);while(null!==d)}eg=null;fg=!1}catch(e){throw null!==eg&&(eg=eg.slice(a+1)),ac(fc,jg),e;}finally{C=b,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg=\"\";function tg(a,b){kg[lg++]=ng;kg[lg++]=mg;mg=a;ng=b}\nfunction ug(a,b,c){og[pg++]=rg;og[pg++]=sg;og[pg++]=qg;qg=a;var d=rg;a=sg;var e=32-oc(d)-1;d&=~(1<<e);c+=1;var f=32-oc(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32);d>>=g;e-=g;rg=1<<32-oc(b)+e|c<<e|d;sg=f+a}else rg=1<<f|c<<e|d,sg=a}function vg(a){null!==a.return&&(tg(a,1),ug(a,1,0))}function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;a===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;\nfunction Ag(a,b){var c=Bg(5,null,null,0);c.elementType=\"DELETED\";c.stateNode=b;c.return=a;b=a.deletions;null===b?(a.deletions=[c],a.flags|=16):b.push(c)}\nfunction Cg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,xg=a,yg=Lf(b.firstChild),!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,xg=a,yg=null,!0):!1;case 13:return b=8!==b.nodeType?null:b,null!==b?(c=null!==qg?{id:rg,overflow:sg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Bg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,xg=a,yg=\nnull,!0):!1;default:return!1}}function Dg(a){return 0!==(a.mode&1)&&0===(a.flags&128)}function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw Error(p(418));b=Lf(c.nextSibling);var d=xg;b&&Cg(a,b)?Ag(d,c):(a.flags=a.flags&-4097|2,I=!1,xg=a)}}else{if(Dg(a))throw Error(p(418));a.flags=a.flags&-4097|2;I=!1;xg=a}}}function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;xg=a}\nfunction Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;(b=3!==a.tag)&&!(b=5!==a.tag)&&(b=a.type,b=\"head\"!==b&&\"body\"!==b&&!Ef(a.type,a.memoizedProps));if(b&&(b=yg)){if(Dg(a))throw Hg(),Error(p(418));for(;b;)Ag(a,b),b=Lf(b.nextSibling)}Fg(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(p(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){yg=Lf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}yg=\nnull}}else yg=xg?Lf(a.stateNode.nextSibling):null;return!0}function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}function Ig(){yg=xg=null;I=!1}function Jg(a){null===zg?zg=[a]:zg.push(a)}var Kg=ua.ReactCurrentBatchConfig;function Lg(a,b){if(a&&a.defaultProps){b=A({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}var Mg=Uf(null),Ng=null,Og=null,Pg=null;function Qg(){Pg=Og=Ng=null}function Rg(a){var b=Mg.current;E(Mg);a._currentValue=b}\nfunction Sg(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}function Tg(a,b){Ng=a;Pg=Og=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(Ug=!0),a.firstContext=null)}\nfunction Vg(a){var b=a._currentValue;if(Pg!==a)if(a={context:a,memoizedValue:b,next:null},null===Og){if(null===Ng)throw Error(p(308));Og=a;Ng.dependencies={lanes:0,firstContext:a}}else Og=Og.next=a;return b}var Wg=null;function Xg(a){null===Wg?Wg=[a]:Wg.push(a)}function Yg(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,Xg(b)):(c.next=e.next,e.next=c);b.interleaved=c;return Zg(a,d)}\nfunction Zg(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var $g=!1;function ah(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction bh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function ch(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction dh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return Zg(a,c)}e=d.interleaved;null===e?(b.next=b,Xg(d)):(b.next=e.next,e.next=b);d.interleaved=b;return Zg(a,c)}function eh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction fh(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction gh(a,b,c,d){var e=a.updateQueue;$g=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:$g=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);hh|=g;a.lanes=g;a.memoizedState=q}}\nfunction ih(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(p(191,e));e.call(d)}}}var jh=(new aa.Component).refs;function kh(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:A({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar nh={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=L(),d=\nlh(a),e=ch(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);b=dh(a,e,d);null!==b&&(mh(b,a,d,c),eh(b,a,d))}};function oh(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Ie(c,d)||!Ie(e,f):!0}\nfunction ph(a,b,c){var d=!1,e=Vf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=Vg(f):(e=Zf(b)?Xf:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Yf(a,e):Vf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=nh;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction qh(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&nh.enqueueReplaceState(b,b.state,null)}\nfunction rh(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=jh;ah(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=Vg(f):(f=Zf(b)?Xf:H.current,e.context=Yf(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(kh(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||(b=e.state,\n\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&nh.enqueueReplaceState(e,e.state,null),gh(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4194308)}\nfunction sh(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===f)return b.ref;b=function(a){var b=e.refs;b===jh&&(b=e.refs={});null===a?delete b[f]:b[f]=a};b._stringRef=f;return b}if(\"string\"!==typeof a)throw Error(p(284));if(!c._owner)throw Error(p(290,a));}return a}\nfunction th(a,b){a=Object.prototype.toString.call(b);throw Error(p(31,\"[object Object]\"===a?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":a));}function uh(a){var b=a._init;return b(a._payload)}\nfunction vh(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.deletions=[c],b.flags|=16):d.push(c)}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=wh(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return b.flags|=1048576,c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags|=2,c):d;b.flags|=2;return c}function g(b){a&&\nnull===b.alternate&&(b.flags|=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=xh(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){var f=c.type;if(f===ya)return m(a,b,c.props.children,d,c.key);if(null!==b&&(b.elementType===f||\"object\"===typeof f&&null!==f&&f.$$typeof===Ha&&uh(f)===b.type))return d=e(b,c.props),d.ref=sh(a,b,c),d.return=a,d;d=yh(c.type,c.key,c.props,null,a.mode,d);d.ref=sh(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||\nb.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=zh(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Ah(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function q(a,b,c){if(\"string\"===typeof b&&\"\"!==b||\"number\"===typeof b)return b=xh(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case va:return c=yh(b.type,b.key,b.props,null,a.mode,c),\nc.ref=sh(a,null,b),c.return=a,c;case wa:return b=zh(b,a.mode,c),b.return=a,b;case Ha:var d=b._init;return q(a,d(b._payload),c)}if(eb(b)||Ka(b))return b=Ah(b,a.mode,c,null),b.return=a,b;th(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c&&\"\"!==c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case va:return c.key===e?k(a,b,c,d):null;case wa:return c.key===e?l(a,b,c,d):null;case Ha:return e=c._init,r(a,\nb,e(c._payload),d)}if(eb(c)||Ka(c))return null!==e?null:m(a,b,c,d,null);th(a,c)}return null}function y(a,b,c,d,e){if(\"string\"===typeof d&&\"\"!==d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case va:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e);case wa:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);case Ha:var f=d._init;return y(a,b,c,f(d._payload),e)}if(eb(d)||Ka(d))return a=a.get(c)||null,m(b,a,d,e,null);th(b,d)}return null}\nfunction n(e,g,h,k){for(var l=null,m=null,u=g,w=g=0,x=null;null!==u&&w<h.length;w++){u.index>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(;w<h.length;w++)u=q(e,h[w],k),null!==u&&(g=f(u,g,w),null===m?l=u:m.sibling=u,m=u);I&&tg(e,w);return l}for(u=d(e,u);w<h.length;w++)x=y(u,e,w,h[w],k),null!==x&&(a&&null!==x.alternate&&u.delete(null===\nx.key?w:x.key),g=f(x,g,w),null===m?l=x:m.sibling=x,m=x);a&&u.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function t(e,g,h,k){var l=Ka(h);if(\"function\"!==typeof l)throw Error(p(150));h=l.call(h);if(null==h)throw Error(p(151));for(var u=l=null,m=g,w=g=0,x=null,n=h.next();null!==m&&!n.done;w++,n=h.next()){m.index>w?(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;a<Nh.length;a++)Nh[a]._workInProgressVersionPrimary=null;Nh.length=0}var Ph=ua.ReactCurrentDispatcher,Qh=ua.ReactCurrentBatchConfig,Rh=0,N=null,O=null,P=null,Sh=!1,Th=!1,Uh=0,Vh=0;function Q(){throw Error(p(321));}function Wh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Xh(a,b,c,d,e,f){Rh=f;N=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;Ph.current=null===a||null===a.memoizedState?Yh:Zh;a=c(d,e);if(Th){f=0;do{Th=!1;Uh=0;if(25<=f)throw Error(p(301));f+=1;P=O=null;b.updateQueue=null;Ph.current=$h;a=c(d,e)}while(Th)}Ph.current=ai;b=null!==O&&null!==O.next;Rh=0;P=O=N=null;Sh=!1;if(b)throw Error(p(300));return a}function bi(){var a=0!==Uh;Uh=0;return a}\nfunction ci(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function di(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(p(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction ei(a,b){return\"function\"===typeof b?b(a):b}\nfunction fi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){f=e.next;d=d.baseState;var h=g=null,k=null,l=f;do{var m=l.lane;if((Rh&m)===m)null!==k&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:m,action:l.action,hasEagerState:l.hasEagerState,\neagerState:l.eagerState,next:null};null===k?(h=k=q,g=d):k=k.next=q;N.lanes|=m;hh|=m}l=l.next}while(null!==l&&l!==f);null===k?g=d:k.next=h;He(d,b.memoizedState)||(Ug=!0);b.memoizedState=d;b.baseState=g;b.baseQueue=k;c.lastRenderedState=d}a=c.interleaved;if(null!==a){e=a;do f=e.lane,N.lanes|=f,hh|=f,e=e.next;while(e!==a)}else null===e&&(c.lanes=0);return[b.memoizedState,c.dispatch]}\nfunction gi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(Ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function hi(){}\nfunction ii(a,b){var c=N,d=di(),e=b(),f=!He(d.memoizedState,e);f&&(d.memoizedState=e,Ug=!0);d=d.queue;ji(ki.bind(null,c,d,a),[a]);if(d.getSnapshot!==b||f||null!==P&&P.memoizedState.tag&1){c.flags|=2048;li(9,mi.bind(null,c,d,e,b),void 0,null);if(null===R)throw Error(p(349));0!==(Rh&30)||ni(c,b,e)}return e}function ni(a,b,c){a.flags|=16384;a={getSnapshot:b,value:c};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.stores=[a]):(c=b.stores,null===c?b.stores=[a]:c.push(a))}\nfunction mi(a,b,c,d){b.value=c;b.getSnapshot=d;oi(b)&&pi(a)}function ki(a,b,c){return c(function(){oi(b)&&pi(a)})}function oi(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c)}catch(d){return!0}}function pi(a){var b=Zg(a,1);null!==b&&mh(b,a,1,-1)}\nfunction qi(a){var b=ci();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ei,lastRenderedState:a};b.queue=a;a=a.dispatch=ri.bind(null,N,a);return[b.memoizedState,a]}\nfunction li(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function si(){return di().memoizedState}function ti(a,b,c,d){var e=ci();N.flags|=a;e.memoizedState=li(1|b,c,void 0,void 0===d?null:d)}\nfunction ui(a,b,c,d){var e=di();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&Wh(d,g.deps)){e.memoizedState=li(b,c,f,d);return}}N.flags|=a;e.memoizedState=li(1|b,c,f,d)}function vi(a,b){return ti(8390656,8,a,b)}function ji(a,b){return ui(2048,8,a,b)}function wi(a,b){return ui(4,2,a,b)}function xi(a,b){return ui(4,4,a,b)}\nfunction yi(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function zi(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ui(4,4,yi.bind(null,b,a),c)}function Ai(){}function Bi(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Ci(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Di(a,b,c){if(0===(Rh&21))return a.baseState&&(a.baseState=!1,Ug=!0),a.memoizedState=c;He(c,b)||(c=yc(),N.lanes|=c,hh|=c,a.baseState=!0);return b}function Ei(a,b){var c=C;C=0!==c&&4>c?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<c&&(b+=\"H\"+c.toString(32));b+=\":\"}else c=Vh++,b=\":\"+b+\"r\"+c.toString(32)+\":\";return a.memoizedState=b},unstable_isNewReconciler:!1},Zh={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:fi,useRef:si,useState:function(){return fi(ei)},\nuseDebugValue:Ai,useDeferredValue:function(a){var b=di();return Di(b,O.memoizedState,a)},useTransition:function(){var a=fi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1},$h={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:gi,useRef:si,useState:function(){return gi(ei)},useDebugValue:Ai,useDeferredValue:function(a){var b=di();return null===\nO?b.memoizedState=a:Di(b,O.memoizedState,a)},useTransition:function(){var a=gi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1};function Ki(a,b){try{var c=\"\",d=b;do c+=Pa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e,digest:null}}function Li(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}\nfunction Mi(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Ni=\"function\"===typeof WeakMap?WeakMap:Map;function Oi(a,b,c){c=ch(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Pi||(Pi=!0,Qi=d);Mi(a,b)};return c}\nfunction Ri(a,b,c){c=ch(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){return d(e)};c.callback=function(){Mi(a,b)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){Mi(a,b);\"function\"!==typeof d&&(null===Si?Si=new Set([this]):Si.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nfunction Ti(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new Ni;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ui.bind(null,a,b,c),b.then(a,a))}function Vi(a){do{var b;if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}\nfunction Wi(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=ch(-1,1),b.tag=2,dh(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}var Xi=ua.ReactCurrentOwner,Ug=!1;function Yi(a,b,c,d){b.child=null===a?Ch(b,null,c,d):Bh(b,a.child,c,d)}\nfunction Zi(a,b,c,d,e){c=c.render;var f=b.ref;Tg(b,e);d=Xh(a,b,c,d,f,e);c=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&c&&vg(b);b.flags|=1;Yi(a,b,d,e);return b.child}\nfunction aj(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!bj(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,cj(a,b,f,d,e);a=yh(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:Ie;if(c(g,d)&&a.ref===b.ref)return $i(a,b,e)}b.flags|=1;a=wh(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction cj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(Ug=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(Ug=!0);else return b.lanes=a.lanes,$i(a,b,e)}return dj(a,b,c,d,e)}\nfunction ej(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(fj,gj),gj|=c;else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(fj,gj),gj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;G(fj,gj);gj|=d}else null!==\nf?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(fj,gj),gj|=d;Yi(a,b,e,c);return b.child}function hj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function dj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;f=Yf(b,f);Tg(b,e);c=Xh(a,b,c,d,f,e);d=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&d&&vg(b);b.flags|=1;Yi(a,b,c,e);return b.child}\nfunction ij(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;Tg(b,e);if(null===b.stateNode)jj(a,b),ph(b,c,d),rh(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=Vg(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;q||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||\n(h!==d||k!==l)&&qh(b,g,d,l);$g=!1;var r=b.memoizedState;g.state=r;gh(b,d,g,e);k=b.memoizedState;h!==d||r!==k||Wf.current||$g?(\"function\"===typeof m&&(kh(b,c,m,d),k=b.memoizedState),(h=$g||oh(b,c,h,d,r,k,l))?(q||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&(b.flags|=4194308)):\n(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;bh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:Lg(b.type,h);g.props=l;q=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=Vg(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=\"function\"===typeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\n\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==q||r!==k)&&qh(b,g,d,k);$g=!1;r=b.memoizedState;g.state=r;gh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||$g?(\"function\"===typeof y&&(kh(b,c,y,d),n=b.memoizedState),(l=$g||oh(b,c,l,d,r,n,k)||!1)?(m||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,n,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&\ng.UNSAFE_componentWillUpdate(d,n,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===\na.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return kj(a,b,c,d,f,e)}\nfunction kj(a,b,c,d,e,f){hj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&dg(b,c,!1),$i(a,b,f);d=b.stateNode;Xi.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Bh(b,a.child,null,f),b.child=Bh(b,null,h,f)):Yi(a,b,h,f);b.memoizedState=d.state;e&&dg(b,c,!0);return b.child}function lj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1);Ih(a,b.containerInfo)}\nfunction mj(a,b,c,d,e){Ig();Jg(e);b.flags|=256;Yi(a,b,c,d);return b.child}var nj={dehydrated:null,treeContext:null,retryLane:0};function oj(a){return{baseLanes:a,cachePool:null,transitions:null}}\nfunction pj(a,b,c){var d=b.pendingProps,e=M.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(M,e&1);if(null===a){Eg(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:\"hidden\",children:g},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ng):f=qj(g,d,0,null),a=Ah(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=oj(c),b.memoizedState=nj,a):rj(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return sj(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:\"hidden\",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=wh(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=wh(h,f):(f=Ah(f,g,c,null),f.flags|=2);f.return=\nb;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?oj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=nj;return d}f=a.child;a=f.sibling;d=wh(f,{mode:\"visible\",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d}\nfunction rj(a,b){b=qj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function tj(a,b,c,d){null!==d&&Jg(d);Bh(b,a.child,null,c);a=rj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction sj(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=Li(Error(p(422))),tj(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=qj({mode:\"visible\",children:d.children},e,0,null);f=Ah(f,e,g,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Bh(b,a.child,null,g);b.child.memoizedState=oj(g);b.memoizedState=nj;return f}if(0===(b.mode&1))return tj(a,b,g,null);if(\"$!\"===e.data){d=e.nextSibling&&e.nextSibling.dataset;\nif(d)var h=d.dgst;d=h;f=Error(p(419));d=Li(f,d,void 0);return tj(a,b,g,d)}h=0!==(g&a.childLanes);if(Ug||h){d=R;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e=32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;\n0!==e&&e!==f.retryLane&&(f.retryLane=e,Zg(a,e),mh(d,a,e,-1))}uj();d=Li(Error(p(421)));return tj(a,b,g,d)}if(\"$?\"===e.data)return b.flags|=128,b.child=a.child,b=vj.bind(null,a),e._reactRetry=b,null;a=f.treeContext;yg=Lf(e.nextSibling);xg=b;I=!0;zg=null;null!==a&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b);b=rj(b,d.children);b.flags|=4096;return b}function wj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);Sg(a.return,b,c)}\nfunction xj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction yj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;Yi(a,b,d.children,c);d=M.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&wj(a,c,b);else if(19===a.tag)wj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(M,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Mh(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);xj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Mh(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}xj(b,!0,c,null,f);break;case \"together\":xj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction jj(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function $i(a,b,c){null!==a&&(b.dependencies=a.dependencies);hh|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=wh(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=wh(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction zj(a,b,c){switch(b.tag){case 3:lj(b);Ig();break;case 5:Kh(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:Ih(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Mg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(M,M.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return pj(a,b,c);G(M,M.current&1);a=$i(a,b,c);return null!==a?a.sibling:null}G(M,M.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return yj(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(M,M.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,ej(a,b,c)}return $i(a,b,c)}var Aj,Bj,Cj,Dj;\nAj=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Bj=function(){};\nCj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;Hh(Eh.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"select\":e=A({},e,{value:void 0});d=A({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===l){var h=e[l];for(g in h)h.hasOwnProperty(g)&&\n(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,\nc)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ea.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&D(\"scroll\",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",c);var l=f;if(b.updateQueue=l)b.flags|=4}};Dj=function(a,b,c,d){c!==d&&(b.flags|=4)};\nfunction Ej(a,b){if(!I)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}\nfunction Fj(a,b,c){var d=b.pendingProps;wg(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:d=b.stateNode;Jh();E(Wf);E(H);Oh();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags&256)||(b.flags|=1024,null!==zg&&(Gj(zg),zg=null));Bj(a,b);S(b);return null;case 5:Lh(b);var e=Hh(Gh.current);\nc=b.type;if(null!==a&&null!=b.stateNode)Cj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(p(166));S(b);return null}a=Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Of]=b;d[Pf]=f;a=0!==(b.mode&1);switch(c){case \"dialog\":D(\"cancel\",d);D(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",d);break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],d);break;case \"source\":D(\"error\",d);break;case \"img\":case \"image\":case \"link\":D(\"error\",\nd);D(\"load\",d);break;case \"details\":D(\"toggle\",d);break;case \"input\":Za(d,f);D(\"invalid\",d);break;case \"select\":d._wrapperState={wasMultiple:!!f.multiple};D(\"invalid\",d);break;case \"textarea\":hb(d,f),D(\"invalid\",d)}ub(c,f);e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,h,a),e=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,\nh,a),e=[\"children\",\"\"+h]):ea.hasOwnProperty(g)&&null!=h&&\"onScroll\"===g&&D(\"scroll\",d)}switch(c){case \"input\":Va(d);db(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=Bf)}d=e;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;\"http://www.w3.org/1999/xhtml\"===a&&(a=kb(c));\"http://www.w3.org/1999/xhtml\"===a?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\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;e<lf.length;e++)D(lf[e],a);e=d;break;case \"source\":D(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":D(\"error\",\na);D(\"load\",a);e=d;break;case \"details\":D(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);D(\"invalid\",a);break;case \"option\":e=d;break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=A({},d,{value:void 0});D(\"invalid\",a);break;case \"textarea\":hb(a,d);e=gb(a,d);D(\"invalid\",a);break;default:e=d}ub(c,e);h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?sb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&nb(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==\nc||\"\"!==k)&&ob(a,k):\"number\"===typeof k&&ob(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ea.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&D(\"scroll\",a):null!=k&&ta(a,f,k,g))}switch(c){case \"input\":Va(a);db(a,d,!1);break;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,\n!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=Bf)}switch(c){case \"button\":case \"input\":case \"select\":case \"textarea\":d=!!d.autoFocus;break a;case \"img\":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}null!==b.ref&&(b.flags|=512,b.flags|=2097152)}S(b);return null;case 6:if(a&&null!=b.stateNode)Dj(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(p(166));c=Hh(Gh.current);Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.memoizedProps;d[Of]=b;if(f=d.nodeValue!==c)if(a=\nxg,null!==a)switch(a.tag){case 3:Af(d.nodeValue,c,0!==(a.mode&1));break;case 5:!0!==a.memoizedProps.suppressHydrationWarning&&Af(d.nodeValue,c,0!==(a.mode&1))}f&&(b.flags|=4)}else d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}S(b);return null;case 13:E(M);d=b.memoizedState;if(null===a||null!==a.memoizedState&&null!==a.memoizedState.dehydrated){if(I&&null!==yg&&0!==(b.mode&1)&&0===(b.flags&128))Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),null!==d&&null!==d.dehydrated){if(null===\na){if(!f)throw Error(p(318));f=b.memoizedState;f=null!==f?f.dehydrated:null;if(!f)throw Error(p(317));f[Of]=b}else Ig(),0===(b.flags&128)&&(b.memoizedState=null),b.flags|=4;S(b);f=!1}else null!==zg&&(Gj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}if(0!==(b.flags&128))return b.lanes=c,b;d=null!==d;d!==(null!==a&&null!==a.memoizedState)&&d&&(b.child.flags|=8192,0!==(b.mode&1)&&(null===a||0!==(M.current&1)?0===T&&(T=3):uj()));null!==b.updateQueue&&(b.flags|=4);S(b);return null;case 4:return Jh(),\nBj(a,b),null===a&&sf(b.stateNode.containerInfo),S(b),null;case 10:return Rg(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:E(M);f=b.memoizedState;if(null===f)return S(b),null;d=0!==(b.flags&128);g=f.rendering;if(null===g)if(d)Ej(f,!1);else{if(0!==T||null!==a&&0!==(a.flags&128))for(a=b.child;null!==a;){g=Mh(a);if(null!==g){b.flags|=128;Ej(f,!1);d=g.updateQueue;null!==d&&(b.updateQueue=d,b.flags|=4);b.subtreeFlags=0;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=14680066,\ng=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;G(M,M.current&1|2);return b.child}a=\na.sibling}null!==f.tail&&B()>Hj&&(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;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;null!==h;){switch(h.tag){case 5:X=h.stateNode;Yj=!1;break a;case 3:X=h.stateNode.containerInfo;Yj=!0;break a;case 4:X=h.stateNode.containerInfo;Yj=!0;break a}h=h.return}if(null===X)throw Error(p(160));ak(f,g,e);X=null;Yj=!1;var k=e.alternate;null!==k&&(k.return=null);e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;null!==b;)ek(b,a),b=b.sibling}\nfunction ek(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:dk(b,a);fk(a);if(d&4){try{Qj(3,a,a.return),Rj(3,a)}catch(t){W(a,a.return,t)}try{Qj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);break;case 5:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);if(a.flags&32){var e=a.stateNode;try{ob(e,\"\")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,null!=e)){var f=a.memoizedProps,g=null!==c?c.memoizedProps:f,h=a.type,k=a.updateQueue;\na.updateQueue=null;if(null!==k)try{\"input\"===h&&\"radio\"===f.type&&null!=f.name&&ab(e,f);vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];\"style\"===m?sb(e,q):\"dangerouslySetInnerHTML\"===m?nb(e,q):\"children\"===m?ob(e,q):ta(e,m,q,l)}switch(h){case \"input\":bb(e,f);break;case \"textarea\":ib(e,f);break;case \"select\":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;null!=y?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(null!=f.defaultValue?fb(e,!!f.multiple,\nf.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:\"\",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:dk(b,a);fk(a);if(d&4){if(null===a.stateNode)throw Error(p(162));e=a.stateNode;f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:dk(b,a);fk(a);if(d&4&&null!==c&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:dk(b,a);fk(a);break;case 13:dk(b,a);fk(a);e=a.child;e.flags&8192&&(f=null!==e.memoizedState,e.stateNode.isHidden=f,!f||\nnull!==e.alternate&&null!==e.alternate.memoizedState||(gk=B()));d&4&&bk(a);break;case 22:m=null!==c&&null!==c.memoizedState;a.mode&1?(U=(l=U)||m,dk(b,a),U=l):dk(b,a);fk(a);if(d&8192){l=null!==a.memoizedState;if((a.stateNode.isHidden=l)&&!m&&0!==(a.mode&1))for(V=a,m=a.child;null!==m;){for(q=V=m;null!==V;){r=V;y=r.child;switch(r.tag){case 0:case 11:case 14:case 15:Qj(4,r,r.return);break;case 1:Mj(r,r.return);var n=r.stateNode;if(\"function\"===typeof n.componentWillUnmount){d=r;c=r.return;try{b=d,n.props=\nb.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Mj(r,r.return);break;case 22:if(null!==r.memoizedState){hk(q);continue}}null!==y?(y.return=r,V=y):hk(q)}m=m.sibling}a:for(m=null,q=a;;){if(5===q.tag){if(null===m){m=q;try{e=q.stateNode,l?(f=e.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(h=q.stateNode,k=q.memoizedProps.style,g=void 0!==k&&null!==k&&k.hasOwnProperty(\"display\")?k.display:null,h.style.display=\nrb(\"display\",g))}catch(t){W(a,a.return,t)}}}else if(6===q.tag){if(null===m)try{q.stateNode.nodeValue=l?\"\":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((22!==q.tag&&23!==q.tag||null===q.memoizedState||q===a)&&null!==q.child){q.child.return=q;q=q.child;continue}if(q===a)break a;for(;null===q.sibling;){if(null===q.return||q.return===a)break a;m===q&&(m=null);q=q.return}m===q&&(m=null);q.sibling.return=q.return;q=q.sibling}}break;case 19:dk(b,a);fk(a);d&4&&bk(a);break;case 21:break;default:dk(b,\na),fk(a)}}function fk(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;null!==c;){if(Uj(c)){var d=c;break a}c=c.return}throw Error(p(160));}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,\"\"),d.flags&=-33);var f=Vj(a);Xj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Vj(a);Wj(a,h,g);break;default:throw Error(p(161));}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function ik(a,b,c){V=a;jk(a,b,c)}\nfunction jk(a,b,c){for(var d=0!==(a.mode&1);null!==V;){var e=V,f=e.child;if(22===e.tag&&d){var g=null!==e.memoizedState||Kj;if(!g){var h=e.alternate,k=null!==h&&null!==h.memoizedState||U;h=Kj;var l=U;Kj=g;if((U=k)&&!l)for(V=e;null!==V;)g=V,k=g.child,22===g.tag&&null!==g.memoizedState?kk(e):null!==k?(k.return=g,V=k):kk(e);for(;null!==f;)V=f,jk(f,b,c),f=f.sibling;V=e;Kj=h;U=l}lk(a,b,c)}else 0!==(e.subtreeFlags&8772)&&null!==f?(f.return=e,V=f):lk(a,b,c)}}\nfunction lk(a){for(;null!==V;){var b=V;if(0!==(b.flags&8772)){var c=b.alternate;try{if(0!==(b.flags&8772))switch(b.tag){case 0:case 11:case 15:U||Rj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(null===c)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Lg(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;null!==f&&ih(b,f,d);break;case 3:var g=b.updateQueue;if(null!==g){c=null;if(null!==b.child)switch(b.child.tag){case 5:c=\nb.child.stateNode;break;case 1:c=b.child.stateNode}ih(b,g,c)}break;case 5:var h=b.stateNode;if(null===c&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case \"button\":case \"input\":case \"select\":case \"textarea\":k.autoFocus&&c.focus();break;case \"img\":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(null===b.memoizedState){var l=b.alternate;if(null!==l){var m=l.memoizedState;if(null!==m){var q=m.dehydrated;null!==q&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;\ndefault:throw Error(p(163));}U||b.flags&512&&Sj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}function hk(a){for(;null!==V;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}\nfunction kk(a){for(;null!==V;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Rj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(\"function\"===typeof d.componentDidMount){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Sj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Sj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(null!==h){h.return=b.return;V=h;break}V=b.return}}\nvar mk=Math.ceil,nk=ua.ReactCurrentDispatcher,ok=ua.ReactCurrentOwner,pk=ua.ReactCurrentBatchConfig,K=0,R=null,Y=null,Z=0,gj=0,fj=Uf(0),T=0,qk=null,hh=0,rk=0,sk=0,tk=null,uk=null,gk=0,Hj=Infinity,vk=null,Pi=!1,Qi=null,Si=null,wk=!1,xk=null,yk=0,zk=0,Ak=null,Bk=-1,Ck=0;function L(){return 0!==(K&6)?B():-1!==Bk?Bk:Bk=B()}\nfunction lh(a){if(0===(a.mode&1))return 1;if(0!==(K&2)&&0!==Z)return Z&-Z;if(null!==Kg.transition)return 0===Ck&&(Ck=yc()),Ck;a=C;if(0!==a)return a;a=window.event;a=void 0===a?16:jd(a.type);return a}function mh(a,b,c,d){if(50<zk)throw zk=0,Ak=null,Error(p(185));Ac(a,c,d);if(0===(K&2)||a!==R)a===R&&(0===(K&2)&&(rk|=c),4===T&&Dk(a,Z)),Ek(a,d),1===c&&0===K&&0===(b.mode&1)&&(Hj=B()+500,fg&&jg())}\nfunction Ek(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===R?Z:0);if(0===d)null!==c&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){null!=c&&bc(c);if(1===b)0===a.tag?ig(Fk.bind(null,a)):hg(Fk.bind(null,a)),Jf(function(){0===(K&6)&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Gk(c,Hk.bind(null,a))}a.callbackPriority=b;a.callbackNode=c}}\nfunction Hk(a,b){Bk=-1;Ck=0;if(0!==(K&6))throw Error(p(327));var c=a.callbackNode;if(Ik()&&a.callbackNode!==c)return null;var d=uc(a,a===R?Z:0);if(0===d)return null;if(0!==(d&30)||0!==(d&a.expiredLanes)||b)b=Jk(a,d);else{b=d;var e=K;K|=2;var f=Kk();if(R!==a||Z!==b)vk=null,Hj=B()+500,Lk(a,b);do try{Mk();break}catch(h){Nk(a,h)}while(1);Qg();nk.current=f;K=e;null!==Y?b=0:(R=null,Z=0,b=T)}if(0!==b){2===b&&(e=xc(a),0!==e&&(d=e,b=Ok(a,e)));if(1===b)throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;if(6===b)Dk(a,d);\nelse{e=a.current.alternate;if(0===(d&30)&&!Pk(e)&&(b=Jk(a,d),2===b&&(f=xc(a),0!==f&&(d=f,b=Ok(a,f))),1===b))throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;a.finishedWork=e;a.finishedLanes=d;switch(b){case 0:case 1:throw Error(p(345));case 2:Qk(a,uk,vk);break;case 3:Dk(a,d);if((d&130023424)===d&&(b=gk+500-B(),10<b)){if(0!==uc(a,0))break;e=a.suspendedLanes;if((e&d)!==d){L();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),b);break}Qk(a,uk,vk);break;case 4:Dk(a,d);if((d&4194240)===\nd)break;b=a.eventTimes;for(e=-1;0<d;){var g=31-oc(d);f=1<<g;g=b[g];g>e&&(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(10<d){a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),d);break}Qk(a,uk,vk);break;case 5:Qk(a,uk,vk);break;default:throw Error(p(329));}}}Ek(a,B());return a.callbackNode===c?Hk.bind(null,a):null}\nfunction Ok(a,b){var c=tk;a.current.memoizedState.isDehydrated&&(Lk(a,b).flags|=256);a=Jk(a,b);2!==a&&(b=uk,uk=c,null!==b&&Gj(b));return a}function Gj(a){null===uk?uk=a:uk.push.apply(uk,a)}\nfunction Pk(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(null!==c&&(c=c.stores,null!==c))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch(g){return!1}}}c=b.child;if(b.subtreeFlags&16384&&null!==c)c.return=b,b=c;else{if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return!0;b=b.return}b.sibling.return=b.return;b=b.sibling}}return!0}\nfunction Dk(a,b){b&=~sk;b&=~rk;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1;b&=~d}}function Fk(a){if(0!==(K&6))throw Error(p(327));Ik();var b=uc(a,0);if(0===(b&1))return Ek(a,B()),null;var c=Jk(a,b);if(0!==a.tag&&2===c){var d=xc(a);0!==d&&(b=d,c=Ok(a,d))}if(1===c)throw c=qk,Lk(a,0),Dk(a,b),Ek(a,B()),c;if(6===c)throw Error(p(345));a.finishedWork=a.current.alternate;a.finishedLanes=b;Qk(a,uk,vk);Ek(a,B());return null}\nfunction Rk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,0===K&&(Hj=B()+500,fg&&jg())}}function Sk(a){null!==xk&&0===xk.tag&&0===(K&6)&&Ik();var b=K;K|=1;var c=pk.transition,d=C;try{if(pk.transition=null,C=1,a)return a()}finally{C=d,pk.transition=c,K=b,0===(K&6)&&jg()}}function Ij(){gj=fj.current;E(fj)}\nfunction Lk(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Gf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;wg(d);switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&$f();break;case 3:Jh();E(Wf);E(H);Oh();break;case 5:Lh(d);break;case 4:Jh();break;case 13:E(M);break;case 19:E(M);break;case 10:Rg(d.type._context);break;case 22:case 23:Ij()}c=c.return}R=a;Y=a=wh(a.current,null);Z=gj=b;T=0;qk=null;sk=rk=hh=0;uk=tk=null;if(null!==Wg){for(b=\n0;b<Wg.length;b++)if(c=Wg[b],d=c.interleaved,null!==d){c.interleaved=null;var e=d.next,f=c.pending;if(null!==f){var g=f.next;f.next=e;d.next=g}c.pending=d}Wg=null}return a}\nfunction Nk(a,b){do{var c=Y;try{Qg();Ph.current=ai;if(Sh){for(var d=N.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}Sh=!1}Rh=0;P=O=N=null;Th=!1;Uh=0;ok.current=null;if(null===c||null===c.return){T=1;qk=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=Z;h.flags|=32768;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k,m=h,q=m.tag;if(0===(m.mode&1)&&(0===q||11===q||15===q)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,\nm.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Vi(g);if(null!==y){y.flags&=-257;Wi(y,g,h,f,b);y.mode&1&&Ti(f,l,b);b=y;k=l;var n=b.updateQueue;if(null===n){var t=new Set;t.add(k);b.updateQueue=t}else n.add(k);break a}else{if(0===(b&1)){Ti(f,l,b);uj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Vi(g);if(null!==J){0===(J.flags&65536)&&(J.flags|=256);Wi(J,g,h,f,b);Jg(Ki(k,h));break a}}f=k=Ki(k,h);4!==T&&(T=2);null===tk?tk=[f]:tk.push(f);f=g;do{switch(f.tag){case 3:f.flags|=65536;\nb&=-b;f.lanes|=b;var x=Oi(f,k,b);fh(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if(0===(f.flags&128)&&(\"function\"===typeof w.getDerivedStateFromError||null!==u&&\"function\"===typeof u.componentDidCatch&&(null===Si||!Si.has(u)))){f.flags|=65536;b&=-b;f.lanes|=b;var F=Ri(f,h,b);fh(f,F);break a}}f=f.return}while(null!==f)}Tk(c)}catch(na){b=na;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}function Kk(){var a=nk.current;nk.current=ai;return null===a?ai:a}\nfunction uj(){if(0===T||3===T||2===T)T=4;null===R||0===(hh&268435455)&&0===(rk&268435455)||Dk(R,Z)}function Jk(a,b){var c=K;K|=2;var d=Kk();if(R!==a||Z!==b)vk=null,Lk(a,b);do try{Uk();break}catch(e){Nk(a,e)}while(1);Qg();K=c;nk.current=d;if(null!==Y)throw Error(p(261));R=null;Z=0;return T}function Uk(){for(;null!==Y;)Vk(Y)}function Mk(){for(;null!==Y&&!cc();)Vk(Y)}function Vk(a){var b=Wk(a.alternate,a,gj);a.memoizedProps=a.pendingProps;null===b?Tk(a):Y=b;ok.current=null}\nfunction Tk(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&32768)){if(c=Fj(c,b,gj),null!==c){Y=c;return}}else{c=Jj(c,b);if(null!==c){c.flags&=32767;Y=c;return}if(null!==a)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6;Y=null;return}}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===T&&(T=5)}function Qk(a,b,c){var d=C,e=pk.transition;try{pk.transition=null,C=1,Xk(a,b,c,d)}finally{pk.transition=e,C=d}return null}\nfunction Xk(a,b,c,d){do Ik();while(null!==xk);if(0!==(K&6))throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(p(177));a.callbackNode=null;a.callbackPriority=0;var f=c.lanes|c.childLanes;Bc(a,f);a===R&&(Y=R=null,Z=0);0===(c.subtreeFlags&2064)&&0===(c.flags&2064)||wk||(wk=!0,Gk(hc,function(){Ik();return null}));f=0!==(c.flags&15990);if(0!==(c.subtreeFlags&15990)||f){f=pk.transition;pk.transition=null;\nvar g=C;C=1;var h=K;K|=4;ok.current=null;Pj(a,c);ek(c,a);Oe(Df);dd=!!Cf;Df=Cf=null;a.current=c;ik(c,a,e);dc();K=h;C=g;pk.transition=f}else a.current=c;wk&&(wk=!1,xk=a,yk=e);f=a.pendingLanes;0===f&&(Si=null);mc(c.stateNode,d);Ek(a,B());if(null!==b)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Pi)throw Pi=!1,a=Qi,Qi=null,a;0!==(yk&1)&&0!==a.tag&&Ik();f=a.pendingLanes;0!==(f&1)?a===Ak?zk++:(zk=0,Ak=a):zk=0;jg();return null}\nfunction Ik(){if(null!==xk){var a=Dc(yk),b=pk.transition,c=C;try{pk.transition=null;C=16>a?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;k<h.length;k++){var l=h[k];for(V=l;null!==V;){var m=V;switch(m.tag){case 0:case 11:case 15:Qj(8,m,f)}var q=m.child;if(null!==q)q.return=m,V=q;else for(;null!==V;){m=V;var r=m.sibling,y=m.return;Tj(m);if(m===\nl){V=null;break}if(null!==r){r.return=y;V=r;break}V=y}}}var n=f.alternate;if(null!==n){var t=n.child;if(null!==t){n.child=null;do{var J=t.sibling;t.sibling=null;t=J}while(null!==t)}}V=f}}if(0!==(f.subtreeFlags&2064)&&null!==g)g.return=f,V=g;else b:for(;null!==V;){f=V;if(0!==(f.flags&2048))switch(f.tag){case 0:case 11:case 15:Qj(9,f,f.return)}var x=f.sibling;if(null!==x){x.return=f.return;V=x;break b}V=f.return}}var w=a.current;for(V=w;null!==V;){g=V;var u=g.child;if(0!==(g.subtreeFlags&2064)&&null!==\nu)u.return=g,V=u;else b:for(g=w;null!==V;){h=V;if(0!==(h.flags&2048))try{switch(h.tag){case 0:case 11:case 15:Rj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(null!==F){F.return=h.return;V=F;break b}V=h.return}}K=e;jg();if(lc&&\"function\"===typeof lc.onPostCommitFiberRoot)try{lc.onPostCommitFiberRoot(kc,a)}catch(na){}d=!0}return d}finally{C=c,pk.transition=b}}return!1}function Yk(a,b,c){b=Ki(c,b);b=Oi(a,b,1);a=dh(a,b,1);b=L();null!==a&&(Ac(a,1,b),Ek(a,b))}\nfunction W(a,b,c){if(3===a.tag)Yk(a,a,c);else for(;null!==b;){if(3===b.tag){Yk(b,a,c);break}else if(1===b.tag){var d=b.stateNode;if(\"function\"===typeof b.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Si||!Si.has(d))){a=Ki(c,a);a=Ri(b,a,1);b=dh(b,a,1);a=L();null!==b&&(Ac(b,1,a),Ek(b,a));break}}b=b.return}}\nfunction Ui(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=L();a.pingedLanes|=a.suspendedLanes&c;R===a&&(Z&c)===c&&(4===T||3===T&&(Z&130023424)===Z&&500>B()-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<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:wa,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction el(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||1!==a.tag)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(p(171));}if(1===a.tag){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}\nfunction fl(a,b,c,d,e,f,g,h,k){a=cl(c,d,!0,a,e,f,g,h,k);a.context=el(null);c=a.current;d=L();e=lh(c);f=ch(d,e);f.callback=void 0!==b&&null!==b?b:null;dh(c,f,e);a.current.lanes=e;Ac(a,e,d);Ek(a,d);return a}function gl(a,b,c,d){var e=b.current,f=L(),g=lh(e);c=el(c);null===b.context?b.context=c:b.pendingContext=c;b=ch(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);a=dh(e,b,g);null!==a&&(mh(a,e,g,f),eh(a,e,g));return g}\nfunction hl(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function il(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function jl(a,b){il(a,b);(a=a.alternate)&&il(a,b)}function kl(){return null}var ll=\"function\"===typeof reportError?reportError:function(a){console.error(a)};function ml(a){this._internalRoot=a}\nnl.prototype.render=ml.prototype.render=function(a){var b=this._internalRoot;if(null===b)throw Error(p(409));gl(a,b,null,null)};nl.prototype.unmount=ml.prototype.unmount=function(){var a=this._internalRoot;if(null!==a){this._internalRoot=null;var b=a.containerInfo;Sk(function(){gl(null,a,null,null)});b[uf]=null}};function nl(a){this._internalRoot=a}\nnl.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&0!==b&&b<Qc[c].priority;c++);Qc.splice(c,0,a);0===c&&Vc(a)}};function ol(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType)}function pl(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function ql(){}\nfunction rl(a,b,c,d,e){if(e){if(\"function\"===typeof d){var f=d;d=function(){var a=hl(g);f.call(a)}}var g=fl(b,d,a,0,null,!1,!1,\"\",ql);a._reactRootContainer=g;a[uf]=g.current;sf(8===a.nodeType?a.parentNode:a);Sk();return g}for(;e=a.lastChild;)a.removeChild(e);if(\"function\"===typeof d){var h=d;d=function(){var a=hl(k);h.call(a)}}var k=cl(a,0,!1,null,null,!1,!1,\"\",ql);a._reactRootContainer=k;a[uf]=k.current;sf(8===a.nodeType?a.parentNode:a);Sk(function(){gl(b,k,c,d)});return k}\nfunction sl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(\"function\"===typeof e){var h=e;e=function(){var a=hl(g);h.call(a)}}gl(b,g,a,e)}else g=rl(c,b,a,e,d);return hl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);0!==c&&(Cc(b,c|1),Ek(b,B()),0===(K&6)&&(Hj=B()+500,jg()))}break;case 13:Sk(function(){var b=Zg(a,1);if(null!==b){var c=L();mh(b,a,1,c)}}),jl(a,1)}};\nFc=function(a){if(13===a.tag){var b=Zg(a,134217728);if(null!==b){var c=L();mh(b,a,134217728,c)}jl(a,134217728)}};Gc=function(a){if(13===a.tag){var b=lh(a),c=Zg(a,b);if(null!==c){var d=L();mh(c,a,b,d)}jl(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};\nyb=function(a,b,c){switch(b){case \"input\":bb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d);bb(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Rk;Hb=Sk;\nvar tl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Rk]},ul={findFiberByHostInstance:Wc,bundleType:0,version:\"18.2.0\",rendererPackageName:\"react-dom\"};\nvar vl={bundleType:ul.bundleType,version:ul.version,rendererPackageName:ul.rendererPackageName,rendererConfig:ul.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Zb(a);return null===a?null:a.stateNode},findFiberByHostInstance:ul.findFiberByHostInstance||\nkl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.2.0-next-9e3b772b8-20220608\"};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var wl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!wl.isDisabled&&wl.supportsFiber)try{kc=wl.inject(vl),lc=wl}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tl;\nexports.createPortal=function(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!ol(b))throw Error(p(200));return dl(a,b,null,c)};exports.createRoot=function(a,b){if(!ol(a))throw Error(p(299));var c=!1,d=\"\",e=ll;null!==b&&void 0!==b&&(!0===b.unstable_strictMode&&(c=!0),void 0!==b.identifierPrefix&&(d=b.identifierPrefix),void 0!==b.onRecoverableError&&(e=b.onRecoverableError));b=cl(a,1,!1,null,null,c,!1,d,e);a[uf]=b.current;sf(8===a.nodeType?a.parentNode:a);return new ml(b)};\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(p(188));a=Object.keys(a).join(\",\");throw Error(p(268,a));}a=Zb(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a){return Sk(a)};exports.hydrate=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!0,c)};\nexports.hydrateRoot=function(a,b,c){if(!ol(a))throw Error(p(405));var d=null!=c&&c.hydratedSources||null,e=!1,f=\"\",g=ll;null!==c&&void 0!==c&&(!0===c.unstable_strictMode&&(e=!0),void 0!==c.identifierPrefix&&(f=c.identifierPrefix),void 0!==c.onRecoverableError&&(g=c.onRecoverableError));b=fl(b,null,a,1,null!=c?c:null,e,!1,f,g);a[uf]=b.current;sf(a);if(d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),null==b.mutableSourceEagerHydrationData?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,\ne);return new nl(b)};exports.render=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!pl(a))throw Error(p(40));return a._reactRootContainer?(Sk(function(){sl(null,null,a,!1,function(){a._reactRootContainer=null;a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Rk;\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!pl(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return sl(a,b,c,!1,d)};exports.version=\"18.2.0-next-9e3b772b8-20220608\";\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.1\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n // START: Modifications:\n // 1. Extra `has<Type> &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PrevArrow = exports.NextArrow = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar PrevArrow = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(PrevArrow, _React$PureComponent);\n\n var _super = _createSuper(PrevArrow);\n\n function PrevArrow() {\n _classCallCheck(this, PrevArrow);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(PrevArrow, [{\n key: \"clickHandler\",\n value: function clickHandler(options, e) {\n if (e) {\n e.preventDefault();\n }\n\n this.props.clickHandler(options, e);\n }\n }, {\n key: \"render\",\n value: function render() {\n var prevClasses = {\n \"slick-arrow\": true,\n \"slick-prev\": true\n };\n var prevHandler = this.clickHandler.bind(this, {\n message: \"previous\"\n });\n\n if (!this.props.infinite && (this.props.currentSlide === 0 || this.props.slideCount <= this.props.slidesToShow)) {\n prevClasses[\"slick-disabled\"] = true;\n prevHandler = null;\n }\n\n var prevArrowProps = {\n key: \"0\",\n \"data-role\": \"none\",\n className: (0, _classnames[\"default\"])(prevClasses),\n style: {\n display: \"block\"\n },\n onClick: prevHandler\n };\n var customProps = {\n currentSlide: this.props.currentSlide,\n slideCount: this.props.slideCount\n };\n var prevArrow;\n\n if (this.props.prevArrow) {\n prevArrow = /*#__PURE__*/_react[\"default\"].cloneElement(this.props.prevArrow, _objectSpread(_objectSpread({}, prevArrowProps), customProps));\n } else {\n prevArrow = /*#__PURE__*/_react[\"default\"].createElement(\"button\", _extends({\n key: \"0\",\n type: \"button\"\n }, prevArrowProps), \" \", \"Previous\");\n }\n\n return prevArrow;\n }\n }]);\n\n return PrevArrow;\n}(_react[\"default\"].PureComponent);\n\nexports.PrevArrow = PrevArrow;\n\nvar NextArrow = /*#__PURE__*/function (_React$PureComponent2) {\n _inherits(NextArrow, _React$PureComponent2);\n\n var _super2 = _createSuper(NextArrow);\n\n function NextArrow() {\n _classCallCheck(this, NextArrow);\n\n return _super2.apply(this, arguments);\n }\n\n _createClass(NextArrow, [{\n key: \"clickHandler\",\n value: function clickHandler(options, e) {\n if (e) {\n e.preventDefault();\n }\n\n this.props.clickHandler(options, e);\n }\n }, {\n key: \"render\",\n value: function render() {\n var nextClasses = {\n \"slick-arrow\": true,\n \"slick-next\": true\n };\n var nextHandler = this.clickHandler.bind(this, {\n message: \"next\"\n });\n\n if (!(0, _innerSliderUtils.canGoNext)(this.props)) {\n nextClasses[\"slick-disabled\"] = true;\n nextHandler = null;\n }\n\n var nextArrowProps = {\n key: \"1\",\n \"data-role\": \"none\",\n className: (0, _classnames[\"default\"])(nextClasses),\n style: {\n display: \"block\"\n },\n onClick: nextHandler\n };\n var customProps = {\n currentSlide: this.props.currentSlide,\n slideCount: this.props.slideCount\n };\n var nextArrow;\n\n if (this.props.nextArrow) {\n nextArrow = /*#__PURE__*/_react[\"default\"].cloneElement(this.props.nextArrow, _objectSpread(_objectSpread({}, nextArrowProps), customProps));\n } else {\n nextArrow = /*#__PURE__*/_react[\"default\"].createElement(\"button\", _extends({\n key: \"1\",\n type: \"button\"\n }, nextArrowProps), \" \", \"Next\");\n }\n\n return nextArrow;\n }\n }]);\n\n return NextArrow;\n}(_react[\"default\"].PureComponent);\n\nexports.NextArrow = NextArrow;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar defaultProps = {\n accessibility: true,\n adaptiveHeight: false,\n afterChange: null,\n appendDots: function appendDots(dots) {\n return /*#__PURE__*/_react[\"default\"].createElement(\"ul\", {\n style: {\n display: \"block\"\n }\n }, dots);\n },\n arrows: true,\n autoplay: false,\n autoplaySpeed: 3000,\n beforeChange: null,\n centerMode: false,\n centerPadding: \"50px\",\n className: \"\",\n cssEase: \"ease\",\n customPaging: function customPaging(i) {\n return /*#__PURE__*/_react[\"default\"].createElement(\"button\", null, i + 1);\n },\n dots: false,\n dotsClass: \"slick-dots\",\n draggable: true,\n easing: \"linear\",\n edgeFriction: 0.35,\n fade: false,\n focusOnSelect: false,\n infinite: true,\n initialSlide: 0,\n lazyLoad: null,\n nextArrow: null,\n onEdge: null,\n onInit: null,\n onLazyLoadError: null,\n onReInit: null,\n pauseOnDotsHover: false,\n pauseOnFocus: false,\n pauseOnHover: true,\n prevArrow: null,\n responsive: null,\n rows: 1,\n rtl: false,\n slide: \"div\",\n slidesPerRow: 1,\n slidesToScroll: 1,\n slidesToShow: 1,\n speed: 500,\n swipe: true,\n swipeEvent: null,\n swipeToSlide: false,\n touchMove: true,\n touchThreshold: 5,\n useCSS: true,\n useTransform: true,\n variableWidth: false,\n vertical: false,\n waitForAnimate: true\n};\nvar _default = defaultProps;\nexports[\"default\"] = _default;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Dots = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar getDotCount = function getDotCount(spec) {\n var dots;\n\n if (spec.infinite) {\n dots = Math.ceil(spec.slideCount / spec.slidesToScroll);\n } else {\n dots = Math.ceil((spec.slideCount - spec.slidesToShow) / spec.slidesToScroll) + 1;\n }\n\n return dots;\n};\n\nvar Dots = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(Dots, _React$PureComponent);\n\n var _super = _createSuper(Dots);\n\n function Dots() {\n _classCallCheck(this, Dots);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Dots, [{\n key: \"clickHandler\",\n value: function clickHandler(options, e) {\n // In Autoplay the focus stays on clicked button even after transition\n // to next slide. That only goes away by click somewhere outside\n e.preventDefault();\n this.props.clickHandler(options);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n onMouseEnter = _this$props.onMouseEnter,\n onMouseOver = _this$props.onMouseOver,\n onMouseLeave = _this$props.onMouseLeave,\n infinite = _this$props.infinite,\n slidesToScroll = _this$props.slidesToScroll,\n slidesToShow = _this$props.slidesToShow,\n slideCount = _this$props.slideCount,\n currentSlide = _this$props.currentSlide;\n var dotCount = getDotCount({\n slideCount: slideCount,\n slidesToScroll: slidesToScroll,\n slidesToShow: slidesToShow,\n infinite: infinite\n });\n var mouseEvents = {\n onMouseEnter: onMouseEnter,\n onMouseOver: onMouseOver,\n onMouseLeave: onMouseLeave\n };\n var dots = [];\n\n for (var i = 0; i < dotCount; i++) {\n var _rightBound = (i + 1) * slidesToScroll - 1;\n\n var rightBound = infinite ? _rightBound : (0, _innerSliderUtils.clamp)(_rightBound, 0, slideCount - 1);\n\n var _leftBound = rightBound - (slidesToScroll - 1);\n\n var leftBound = infinite ? _leftBound : (0, _innerSliderUtils.clamp)(_leftBound, 0, slideCount - 1);\n var className = (0, _classnames[\"default\"])({\n \"slick-active\": infinite ? currentSlide >= leftBound && currentSlide <= rightBound : currentSlide === leftBound\n });\n var dotOptions = {\n message: \"dots\",\n index: i,\n slidesToScroll: slidesToScroll,\n currentSlide: currentSlide\n };\n var onClick = this.clickHandler.bind(this, dotOptions);\n dots = dots.concat( /*#__PURE__*/_react[\"default\"].createElement(\"li\", {\n key: i,\n className: className\n }, /*#__PURE__*/_react[\"default\"].cloneElement(this.props.customPaging(i), {\n onClick: onClick\n })));\n }\n\n return /*#__PURE__*/_react[\"default\"].cloneElement(this.props.appendDots(dots), _objectSpread({\n className: this.props.dotsClass\n }, mouseEvents));\n }\n }]);\n\n return Dots;\n}(_react[\"default\"].PureComponent);\n\nexports.Dots = Dots;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _slider = _interopRequireDefault(require(\"./slider\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar _default = _slider[\"default\"];\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar initialState = {\n animating: false,\n autoplaying: null,\n currentDirection: 0,\n currentLeft: null,\n currentSlide: 0,\n direction: 1,\n dragging: false,\n edgeDragged: false,\n initialized: false,\n lazyLoadedList: [],\n listHeight: null,\n listWidth: null,\n scrolling: false,\n slideCount: null,\n slideHeight: null,\n slideWidth: null,\n swipeLeft: null,\n swiped: false,\n // used by swipeEvent. differentites between touch and swipe.\n swiping: false,\n touchObject: {\n startX: 0,\n startY: 0,\n curX: 0,\n curY: 0\n },\n trackStyle: {},\n trackWidth: 0,\n targetSlide: 0\n};\nvar _default = initialState;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.InnerSlider = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _initialState = _interopRequireDefault(require(\"./initial-state\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash.debounce\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\n\nvar _track = require(\"./track\");\n\nvar _dots = require(\"./dots\");\n\nvar _arrows = require(\"./arrows\");\n\nvar _resizeObserverPolyfill = _interopRequireDefault(require(\"resize-observer-polyfill\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar InnerSlider = /*#__PURE__*/function (_React$Component) {\n _inherits(InnerSlider, _React$Component);\n\n var _super = _createSuper(InnerSlider);\n\n function InnerSlider(props) {\n var _this;\n\n _classCallCheck(this, InnerSlider);\n\n _this = _super.call(this, props);\n\n _defineProperty(_assertThisInitialized(_this), \"listRefHandler\", function (ref) {\n return _this.list = ref;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"trackRefHandler\", function (ref) {\n return _this.track = ref;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"adaptHeight\", function () {\n if (_this.props.adaptiveHeight && _this.list) {\n var elem = _this.list.querySelector(\"[data-index=\\\"\".concat(_this.state.currentSlide, \"\\\"]\"));\n\n _this.list.style.height = (0, _innerSliderUtils.getHeight)(elem) + \"px\";\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentDidMount\", function () {\n _this.props.onInit && _this.props.onInit();\n\n if (_this.props.lazyLoad) {\n var slidesToLoad = (0, _innerSliderUtils.getOnDemandLazySlides)(_objectSpread(_objectSpread({}, _this.props), _this.state));\n\n if (slidesToLoad.length > 0) {\n _this.setState(function (prevState) {\n return {\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n };\n });\n\n if (_this.props.onLazyLoad) {\n _this.props.onLazyLoad(slidesToLoad);\n }\n }\n }\n\n var spec = _objectSpread({\n listRef: _this.list,\n trackRef: _this.track\n }, _this.props);\n\n _this.updateState(spec, true, function () {\n _this.adaptHeight();\n\n _this.props.autoplay && _this.autoPlay(\"update\");\n });\n\n if (_this.props.lazyLoad === \"progressive\") {\n _this.lazyLoadTimer = setInterval(_this.progressiveLazyLoad, 1000);\n }\n\n _this.ro = new _resizeObserverPolyfill[\"default\"](function () {\n if (_this.state.animating) {\n _this.onWindowResized(false); // don't set trackStyle hence don't break animation\n\n\n _this.callbackTimers.push(setTimeout(function () {\n return _this.onWindowResized();\n }, _this.props.speed));\n } else {\n _this.onWindowResized();\n }\n });\n\n _this.ro.observe(_this.list);\n\n document.querySelectorAll && Array.prototype.forEach.call(document.querySelectorAll(\".slick-slide\"), function (slide) {\n slide.onfocus = _this.props.pauseOnFocus ? _this.onSlideFocus : null;\n slide.onblur = _this.props.pauseOnFocus ? _this.onSlideBlur : null;\n });\n\n if (window.addEventListener) {\n window.addEventListener(\"resize\", _this.onWindowResized);\n } else {\n window.attachEvent(\"onresize\", _this.onWindowResized);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentWillUnmount\", function () {\n if (_this.animationEndCallback) {\n clearTimeout(_this.animationEndCallback);\n }\n\n if (_this.lazyLoadTimer) {\n clearInterval(_this.lazyLoadTimer);\n }\n\n if (_this.callbackTimers.length) {\n _this.callbackTimers.forEach(function (timer) {\n return clearTimeout(timer);\n });\n\n _this.callbackTimers = [];\n }\n\n if (window.addEventListener) {\n window.removeEventListener(\"resize\", _this.onWindowResized);\n } else {\n window.detachEvent(\"onresize\", _this.onWindowResized);\n }\n\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n }\n\n _this.ro.disconnect();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentDidUpdate\", function (prevProps) {\n _this.checkImagesLoad();\n\n _this.props.onReInit && _this.props.onReInit();\n\n if (_this.props.lazyLoad) {\n var slidesToLoad = (0, _innerSliderUtils.getOnDemandLazySlides)(_objectSpread(_objectSpread({}, _this.props), _this.state));\n\n if (slidesToLoad.length > 0) {\n _this.setState(function (prevState) {\n return {\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n };\n });\n\n if (_this.props.onLazyLoad) {\n _this.props.onLazyLoad(slidesToLoad);\n }\n }\n } // if (this.props.onLazyLoad) {\n // this.props.onLazyLoad([leftMostSlide])\n // }\n\n\n _this.adaptHeight();\n\n var spec = _objectSpread(_objectSpread({\n listRef: _this.list,\n trackRef: _this.track\n }, _this.props), _this.state);\n\n var setTrackStyle = _this.didPropsChange(prevProps);\n\n setTrackStyle && _this.updateState(spec, setTrackStyle, function () {\n if (_this.state.currentSlide >= _react[\"default\"].Children.count(_this.props.children)) {\n _this.changeSlide({\n message: \"index\",\n index: _react[\"default\"].Children.count(_this.props.children) - _this.props.slidesToShow,\n currentSlide: _this.state.currentSlide\n });\n }\n\n if (_this.props.autoplay) {\n _this.autoPlay(\"update\");\n } else {\n _this.pause(\"paused\");\n }\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onWindowResized\", function (setTrackStyle) {\n if (_this.debouncedResize) _this.debouncedResize.cancel();\n _this.debouncedResize = (0, _lodash[\"default\"])(function () {\n return _this.resizeWindow(setTrackStyle);\n }, 50);\n\n _this.debouncedResize();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"resizeWindow\", function () {\n var setTrackStyle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var isTrackMounted = Boolean(_this.track && _this.track.node); // prevent warning: setting state on unmounted component (server side rendering)\n\n if (!isTrackMounted) return;\n\n var spec = _objectSpread(_objectSpread({\n listRef: _this.list,\n trackRef: _this.track\n }, _this.props), _this.state);\n\n _this.updateState(spec, setTrackStyle, function () {\n if (_this.props.autoplay) _this.autoPlay(\"update\");else _this.pause(\"paused\");\n }); // animating state should be cleared while resizing, otherwise autoplay stops working\n\n\n _this.setState({\n animating: false\n });\n\n clearTimeout(_this.animationEndCallback);\n delete _this.animationEndCallback;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"updateState\", function (spec, setTrackStyle, callback) {\n var updatedState = (0, _innerSliderUtils.initializedState)(spec);\n spec = _objectSpread(_objectSpread(_objectSpread({}, spec), updatedState), {}, {\n slideIndex: updatedState.currentSlide\n });\n var targetLeft = (0, _innerSliderUtils.getTrackLeft)(spec);\n spec = _objectSpread(_objectSpread({}, spec), {}, {\n left: targetLeft\n });\n var trackStyle = (0, _innerSliderUtils.getTrackCSS)(spec);\n\n if (setTrackStyle || _react[\"default\"].Children.count(_this.props.children) !== _react[\"default\"].Children.count(spec.children)) {\n updatedState[\"trackStyle\"] = trackStyle;\n }\n\n _this.setState(updatedState, callback);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"ssrInit\", function () {\n if (_this.props.variableWidth) {\n var _trackWidth = 0,\n _trackLeft = 0;\n var childrenWidths = [];\n var preClones = (0, _innerSliderUtils.getPreClones)(_objectSpread(_objectSpread(_objectSpread({}, _this.props), _this.state), {}, {\n slideCount: _this.props.children.length\n }));\n var postClones = (0, _innerSliderUtils.getPostClones)(_objectSpread(_objectSpread(_objectSpread({}, _this.props), _this.state), {}, {\n slideCount: _this.props.children.length\n }));\n\n _this.props.children.forEach(function (child) {\n childrenWidths.push(child.props.style.width);\n _trackWidth += child.props.style.width;\n });\n\n for (var i = 0; i < preClones; i++) {\n _trackLeft += childrenWidths[childrenWidths.length - 1 - i];\n _trackWidth += childrenWidths[childrenWidths.length - 1 - i];\n }\n\n for (var _i = 0; _i < postClones; _i++) {\n _trackWidth += childrenWidths[_i];\n }\n\n for (var _i2 = 0; _i2 < _this.state.currentSlide; _i2++) {\n _trackLeft += childrenWidths[_i2];\n }\n\n var _trackStyle = {\n width: _trackWidth + \"px\",\n left: -_trackLeft + \"px\"\n };\n\n if (_this.props.centerMode) {\n var currentWidth = \"\".concat(childrenWidths[_this.state.currentSlide], \"px\");\n _trackStyle.left = \"calc(\".concat(_trackStyle.left, \" + (100% - \").concat(currentWidth, \") / 2 ) \");\n }\n\n return {\n trackStyle: _trackStyle\n };\n }\n\n var childrenCount = _react[\"default\"].Children.count(_this.props.children);\n\n var spec = _objectSpread(_objectSpread(_objectSpread({}, _this.props), _this.state), {}, {\n slideCount: childrenCount\n });\n\n var slideCount = (0, _innerSliderUtils.getPreClones)(spec) + (0, _innerSliderUtils.getPostClones)(spec) + childrenCount;\n var trackWidth = 100 / _this.props.slidesToShow * slideCount;\n var slideWidth = 100 / slideCount;\n var trackLeft = -slideWidth * ((0, _innerSliderUtils.getPreClones)(spec) + _this.state.currentSlide) * trackWidth / 100;\n\n if (_this.props.centerMode) {\n trackLeft += (100 - slideWidth * trackWidth / 100) / 2;\n }\n\n var trackStyle = {\n width: trackWidth + \"%\",\n left: trackLeft + \"%\"\n };\n return {\n slideWidth: slideWidth + \"%\",\n trackStyle: trackStyle\n };\n });\n\n _defineProperty(_assertThisInitialized(_this), \"checkImagesLoad\", function () {\n var images = _this.list && _this.list.querySelectorAll && _this.list.querySelectorAll(\".slick-slide img\") || [];\n var imagesCount = images.length,\n loadedCount = 0;\n Array.prototype.forEach.call(images, function (image) {\n var handler = function handler() {\n return ++loadedCount && loadedCount >= imagesCount && _this.onWindowResized();\n };\n\n if (!image.onclick) {\n image.onclick = function () {\n return image.parentNode.focus();\n };\n } else {\n var prevClickHandler = image.onclick;\n\n image.onclick = function () {\n prevClickHandler();\n image.parentNode.focus();\n };\n }\n\n if (!image.onload) {\n if (_this.props.lazyLoad) {\n image.onload = function () {\n _this.adaptHeight();\n\n _this.callbackTimers.push(setTimeout(_this.onWindowResized, _this.props.speed));\n };\n } else {\n image.onload = handler;\n\n image.onerror = function () {\n handler();\n _this.props.onLazyLoadError && _this.props.onLazyLoadError();\n };\n }\n }\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"progressiveLazyLoad\", function () {\n var slidesToLoad = [];\n\n var spec = _objectSpread(_objectSpread({}, _this.props), _this.state);\n\n for (var index = _this.state.currentSlide; index < _this.state.slideCount + (0, _innerSliderUtils.getPostClones)(spec); index++) {\n if (_this.state.lazyLoadedList.indexOf(index) < 0) {\n slidesToLoad.push(index);\n break;\n }\n }\n\n for (var _index = _this.state.currentSlide - 1; _index >= -(0, _innerSliderUtils.getPreClones)(spec); _index--) {\n if (_this.state.lazyLoadedList.indexOf(_index) < 0) {\n slidesToLoad.push(_index);\n break;\n }\n }\n\n if (slidesToLoad.length > 0) {\n _this.setState(function (state) {\n return {\n lazyLoadedList: state.lazyLoadedList.concat(slidesToLoad)\n };\n });\n\n if (_this.props.onLazyLoad) {\n _this.props.onLazyLoad(slidesToLoad);\n }\n } else {\n if (_this.lazyLoadTimer) {\n clearInterval(_this.lazyLoadTimer);\n delete _this.lazyLoadTimer;\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slideHandler\", function (index) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var _this$props = _this.props,\n asNavFor = _this$props.asNavFor,\n beforeChange = _this$props.beforeChange,\n onLazyLoad = _this$props.onLazyLoad,\n speed = _this$props.speed,\n afterChange = _this$props.afterChange; // capture currentslide before state is updated\n\n var currentSlide = _this.state.currentSlide;\n\n var _slideHandler = (0, _innerSliderUtils.slideHandler)(_objectSpread(_objectSpread(_objectSpread({\n index: index\n }, _this.props), _this.state), {}, {\n trackRef: _this.track,\n useCSS: _this.props.useCSS && !dontAnimate\n })),\n state = _slideHandler.state,\n nextState = _slideHandler.nextState;\n\n if (!state) return;\n beforeChange && beforeChange(currentSlide, state.currentSlide);\n var slidesToLoad = state.lazyLoadedList.filter(function (value) {\n return _this.state.lazyLoadedList.indexOf(value) < 0;\n });\n onLazyLoad && slidesToLoad.length > 0 && onLazyLoad(slidesToLoad);\n\n if (!_this.props.waitForAnimate && _this.animationEndCallback) {\n clearTimeout(_this.animationEndCallback);\n afterChange && afterChange(currentSlide);\n delete _this.animationEndCallback;\n }\n\n _this.setState(state, function () {\n // asNavForIndex check is to avoid recursive calls of slideHandler in waitForAnimate=false mode\n if (asNavFor && _this.asNavForIndex !== index) {\n _this.asNavForIndex = index;\n asNavFor.innerSlider.slideHandler(index);\n }\n\n if (!nextState) return;\n _this.animationEndCallback = setTimeout(function () {\n var animating = nextState.animating,\n firstBatch = _objectWithoutProperties(nextState, [\"animating\"]);\n\n _this.setState(firstBatch, function () {\n _this.callbackTimers.push(setTimeout(function () {\n return _this.setState({\n animating: animating\n });\n }, 10));\n\n afterChange && afterChange(state.currentSlide);\n delete _this.animationEndCallback;\n });\n }, speed);\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"changeSlide\", function (options) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var spec = _objectSpread(_objectSpread({}, _this.props), _this.state);\n\n var targetSlide = (0, _innerSliderUtils.changeSlide)(spec, options);\n if (targetSlide !== 0 && !targetSlide) return;\n\n if (dontAnimate === true) {\n _this.slideHandler(targetSlide, dontAnimate);\n } else {\n _this.slideHandler(targetSlide);\n }\n\n _this.props.autoplay && _this.autoPlay(\"update\");\n\n if (_this.props.focusOnSelect) {\n var nodes = _this.list.querySelectorAll(\".slick-current\");\n\n nodes[0] && nodes[0].focus();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"clickHandler\", function (e) {\n if (_this.clickable === false) {\n e.stopPropagation();\n e.preventDefault();\n }\n\n _this.clickable = true;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"keyHandler\", function (e) {\n var dir = (0, _innerSliderUtils.keyHandler)(e, _this.props.accessibility, _this.props.rtl);\n dir !== \"\" && _this.changeSlide({\n message: dir\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"selectHandler\", function (options) {\n _this.changeSlide(options);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"disableBodyScroll\", function () {\n var preventDefault = function preventDefault(e) {\n e = e || window.event;\n if (e.preventDefault) e.preventDefault();\n e.returnValue = false;\n };\n\n window.ontouchmove = preventDefault;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"enableBodyScroll\", function () {\n window.ontouchmove = null;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"swipeStart\", function (e) {\n if (_this.props.verticalSwiping) {\n _this.disableBodyScroll();\n }\n\n var state = (0, _innerSliderUtils.swipeStart)(e, _this.props.swipe, _this.props.draggable);\n state !== \"\" && _this.setState(state);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"swipeMove\", function (e) {\n var state = (0, _innerSliderUtils.swipeMove)(e, _objectSpread(_objectSpread(_objectSpread({}, _this.props), _this.state), {}, {\n trackRef: _this.track,\n listRef: _this.list,\n slideIndex: _this.state.currentSlide\n }));\n if (!state) return;\n\n if (state[\"swiping\"]) {\n _this.clickable = false;\n }\n\n _this.setState(state);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"swipeEnd\", function (e) {\n var state = (0, _innerSliderUtils.swipeEnd)(e, _objectSpread(_objectSpread(_objectSpread({}, _this.props), _this.state), {}, {\n trackRef: _this.track,\n listRef: _this.list,\n slideIndex: _this.state.currentSlide\n }));\n if (!state) return;\n var triggerSlideHandler = state[\"triggerSlideHandler\"];\n delete state[\"triggerSlideHandler\"];\n\n _this.setState(state);\n\n if (triggerSlideHandler === undefined) return;\n\n _this.slideHandler(triggerSlideHandler);\n\n if (_this.props.verticalSwiping) {\n _this.enableBodyScroll();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"touchEnd\", function (e) {\n _this.swipeEnd(e);\n\n _this.clickable = true;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickPrev\", function () {\n // this and fellow methods are wrapped in setTimeout\n // to make sure initialize setState has happened before\n // any of such methods are called\n _this.callbackTimers.push(setTimeout(function () {\n return _this.changeSlide({\n message: \"previous\"\n });\n }, 0));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickNext\", function () {\n _this.callbackTimers.push(setTimeout(function () {\n return _this.changeSlide({\n message: \"next\"\n });\n }, 0));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickGoTo\", function (slide) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n slide = Number(slide);\n if (isNaN(slide)) return \"\";\n\n _this.callbackTimers.push(setTimeout(function () {\n return _this.changeSlide({\n message: \"index\",\n index: slide,\n currentSlide: _this.state.currentSlide\n }, dontAnimate);\n }, 0));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"play\", function () {\n var nextIndex;\n\n if (_this.props.rtl) {\n nextIndex = _this.state.currentSlide - _this.props.slidesToScroll;\n } else {\n if ((0, _innerSliderUtils.canGoNext)(_objectSpread(_objectSpread({}, _this.props), _this.state))) {\n nextIndex = _this.state.currentSlide + _this.props.slidesToScroll;\n } else {\n return false;\n }\n }\n\n _this.slideHandler(nextIndex);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"autoPlay\", function (playType) {\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n }\n\n var autoplaying = _this.state.autoplaying;\n\n if (playType === \"update\") {\n if (autoplaying === \"hovered\" || autoplaying === \"focused\" || autoplaying === \"paused\") {\n return;\n }\n } else if (playType === \"leave\") {\n if (autoplaying === \"paused\" || autoplaying === \"focused\") {\n return;\n }\n } else if (playType === \"blur\") {\n if (autoplaying === \"paused\" || autoplaying === \"hovered\") {\n return;\n }\n }\n\n _this.autoplayTimer = setInterval(_this.play, _this.props.autoplaySpeed + 50);\n\n _this.setState({\n autoplaying: \"playing\"\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"pause\", function (pauseType) {\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n _this.autoplayTimer = null;\n }\n\n var autoplaying = _this.state.autoplaying;\n\n if (pauseType === \"paused\") {\n _this.setState({\n autoplaying: \"paused\"\n });\n } else if (pauseType === \"focused\") {\n if (autoplaying === \"hovered\" || autoplaying === \"playing\") {\n _this.setState({\n autoplaying: \"focused\"\n });\n }\n } else {\n // pauseType is 'hovered'\n if (autoplaying === \"playing\") {\n _this.setState({\n autoplaying: \"hovered\"\n });\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDotsOver\", function () {\n return _this.props.autoplay && _this.pause(\"hovered\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDotsLeave\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"hovered\" && _this.autoPlay(\"leave\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onTrackOver\", function () {\n return _this.props.autoplay && _this.pause(\"hovered\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onTrackLeave\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"hovered\" && _this.autoPlay(\"leave\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSlideFocus\", function () {\n return _this.props.autoplay && _this.pause(\"focused\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSlideBlur\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"focused\" && _this.autoPlay(\"blur\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"render\", function () {\n var className = (0, _classnames[\"default\"])(\"slick-slider\", _this.props.className, {\n \"slick-vertical\": _this.props.vertical,\n \"slick-initialized\": true\n });\n\n var spec = _objectSpread(_objectSpread({}, _this.props), _this.state);\n\n var trackProps = (0, _innerSliderUtils.extractObject)(spec, [\"fade\", \"cssEase\", \"speed\", \"infinite\", \"centerMode\", \"focusOnSelect\", \"currentSlide\", \"lazyLoad\", \"lazyLoadedList\", \"rtl\", \"slideWidth\", \"slideHeight\", \"listHeight\", \"vertical\", \"slidesToShow\", \"slidesToScroll\", \"slideCount\", \"trackStyle\", \"variableWidth\", \"unslick\", \"centerPadding\", \"targetSlide\", \"useCSS\"]);\n var pauseOnHover = _this.props.pauseOnHover;\n trackProps = _objectSpread(_objectSpread({}, trackProps), {}, {\n onMouseEnter: pauseOnHover ? _this.onTrackOver : null,\n onMouseLeave: pauseOnHover ? _this.onTrackLeave : null,\n onMouseOver: pauseOnHover ? _this.onTrackOver : null,\n focusOnSelect: _this.props.focusOnSelect && _this.clickable ? _this.selectHandler : null\n });\n var dots;\n\n if (_this.props.dots === true && _this.state.slideCount >= _this.props.slidesToShow) {\n var dotProps = (0, _innerSliderUtils.extractObject)(spec, [\"dotsClass\", \"slideCount\", \"slidesToShow\", \"currentSlide\", \"slidesToScroll\", \"clickHandler\", \"children\", \"customPaging\", \"infinite\", \"appendDots\"]);\n var pauseOnDotsHover = _this.props.pauseOnDotsHover;\n dotProps = _objectSpread(_objectSpread({}, dotProps), {}, {\n clickHandler: _this.changeSlide,\n onMouseEnter: pauseOnDotsHover ? _this.onDotsLeave : null,\n onMouseOver: pauseOnDotsHover ? _this.onDotsOver : null,\n onMouseLeave: pauseOnDotsHover ? _this.onDotsLeave : null\n });\n dots = /*#__PURE__*/_react[\"default\"].createElement(_dots.Dots, dotProps);\n }\n\n var prevArrow, nextArrow;\n var arrowProps = (0, _innerSliderUtils.extractObject)(spec, [\"infinite\", \"centerMode\", \"currentSlide\", \"slideCount\", \"slidesToShow\", \"prevArrow\", \"nextArrow\"]);\n arrowProps.clickHandler = _this.changeSlide;\n\n if (_this.props.arrows) {\n prevArrow = /*#__PURE__*/_react[\"default\"].createElement(_arrows.PrevArrow, arrowProps);\n nextArrow = /*#__PURE__*/_react[\"default\"].createElement(_arrows.NextArrow, arrowProps);\n }\n\n var verticalHeightStyle = null;\n\n if (_this.props.vertical) {\n verticalHeightStyle = {\n height: _this.state.listHeight\n };\n }\n\n var centerPaddingStyle = null;\n\n if (_this.props.vertical === false) {\n if (_this.props.centerMode === true) {\n centerPaddingStyle = {\n padding: \"0px \" + _this.props.centerPadding\n };\n }\n } else {\n if (_this.props.centerMode === true) {\n centerPaddingStyle = {\n padding: _this.props.centerPadding + \" 0px\"\n };\n }\n }\n\n var listStyle = _objectSpread(_objectSpread({}, verticalHeightStyle), centerPaddingStyle);\n\n var touchMove = _this.props.touchMove;\n var listProps = {\n className: \"slick-list\",\n style: listStyle,\n onClick: _this.clickHandler,\n onMouseDown: touchMove ? _this.swipeStart : null,\n onMouseMove: _this.state.dragging && touchMove ? _this.swipeMove : null,\n onMouseUp: touchMove ? _this.swipeEnd : null,\n onMouseLeave: _this.state.dragging && touchMove ? _this.swipeEnd : null,\n onTouchStart: touchMove ? _this.swipeStart : null,\n onTouchMove: _this.state.dragging && touchMove ? _this.swipeMove : null,\n onTouchEnd: touchMove ? _this.touchEnd : null,\n onTouchCancel: _this.state.dragging && touchMove ? _this.swipeEnd : null,\n onKeyDown: _this.props.accessibility ? _this.keyHandler : null\n };\n var innerSliderProps = {\n className: className,\n dir: \"ltr\",\n style: _this.props.style\n };\n\n if (_this.props.unslick) {\n listProps = {\n className: \"slick-list\"\n };\n innerSliderProps = {\n className: className\n };\n }\n\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", innerSliderProps, !_this.props.unslick ? prevArrow : \"\", /*#__PURE__*/_react[\"default\"].createElement(\"div\", _extends({\n ref: _this.listRefHandler\n }, listProps), /*#__PURE__*/_react[\"default\"].createElement(_track.Track, _extends({\n ref: _this.trackRefHandler\n }, trackProps), _this.props.children)), !_this.props.unslick ? nextArrow : \"\", !_this.props.unslick ? dots : \"\");\n });\n\n _this.list = null;\n _this.track = null;\n _this.state = _objectSpread(_objectSpread({}, _initialState[\"default\"]), {}, {\n currentSlide: _this.props.initialSlide,\n slideCount: _react[\"default\"].Children.count(_this.props.children)\n });\n _this.callbackTimers = [];\n _this.clickable = true;\n _this.debouncedResize = null;\n\n var ssrState = _this.ssrInit();\n\n _this.state = _objectSpread(_objectSpread({}, _this.state), ssrState);\n return _this;\n }\n\n _createClass(InnerSlider, [{\n key: \"didPropsChange\",\n value: function didPropsChange(prevProps) {\n var setTrackStyle = false;\n\n for (var _i3 = 0, _Object$keys = Object.keys(this.props); _i3 < _Object$keys.length; _i3++) {\n var key = _Object$keys[_i3];\n\n if (!prevProps.hasOwnProperty(key)) {\n setTrackStyle = true;\n break;\n }\n\n if (_typeof(prevProps[key]) === \"object\" || typeof prevProps[key] === \"function\") {\n continue;\n }\n\n if (prevProps[key] !== this.props[key]) {\n setTrackStyle = true;\n break;\n }\n }\n\n return setTrackStyle || _react[\"default\"].Children.count(this.props.children) !== _react[\"default\"].Children.count(prevProps.children);\n }\n }]);\n\n return InnerSlider;\n}(_react[\"default\"].Component);\n\nexports.InnerSlider = InnerSlider;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _innerSlider = require(\"./inner-slider\");\n\nvar _json2mq = _interopRequireDefault(require(\"json2mq\"));\n\nvar _defaultProps = _interopRequireDefault(require(\"./default-props\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar enquire = (0, _innerSliderUtils.canUseDOM)() && require(\"enquire.js\");\n\nvar Slider = /*#__PURE__*/function (_React$Component) {\n _inherits(Slider, _React$Component);\n\n var _super = _createSuper(Slider);\n\n function Slider(props) {\n var _this;\n\n _classCallCheck(this, Slider);\n\n _this = _super.call(this, props);\n\n _defineProperty(_assertThisInitialized(_this), \"innerSliderRefHandler\", function (ref) {\n return _this.innerSlider = ref;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickPrev\", function () {\n return _this.innerSlider.slickPrev();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickNext\", function () {\n return _this.innerSlider.slickNext();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickGoTo\", function (slide) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return _this.innerSlider.slickGoTo(slide, dontAnimate);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickPause\", function () {\n return _this.innerSlider.pause(\"paused\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickPlay\", function () {\n return _this.innerSlider.autoPlay(\"play\");\n });\n\n _this.state = {\n breakpoint: null\n };\n _this._responsiveMediaHandlers = [];\n return _this;\n }\n\n _createClass(Slider, [{\n key: \"media\",\n value: function media(query, handler) {\n // javascript handler for css media query\n enquire.register(query, handler);\n\n this._responsiveMediaHandlers.push({\n query: query,\n handler: handler\n });\n } // handles responsive breakpoints\n\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n\n // performance monitoring\n //if (process.env.NODE_ENV !== 'production') {\n //const { whyDidYouUpdate } = require('why-did-you-update')\n //whyDidYouUpdate(React)\n //}\n if (this.props.responsive) {\n var breakpoints = this.props.responsive.map(function (breakpt) {\n return breakpt.breakpoint;\n }); // sort them in increasing order of their numerical value\n\n breakpoints.sort(function (x, y) {\n return x - y;\n });\n breakpoints.forEach(function (breakpoint, index) {\n // media query for each breakpoint\n var bQuery;\n\n if (index === 0) {\n bQuery = (0, _json2mq[\"default\"])({\n minWidth: 0,\n maxWidth: breakpoint\n });\n } else {\n bQuery = (0, _json2mq[\"default\"])({\n minWidth: breakpoints[index - 1] + 1,\n maxWidth: breakpoint\n });\n } // when not using server side rendering\n\n\n (0, _innerSliderUtils.canUseDOM)() && _this2.media(bQuery, function () {\n _this2.setState({\n breakpoint: breakpoint\n });\n });\n }); // Register media query for full screen. Need to support resize from small to large\n // convert javascript object to media query string\n\n var query = (0, _json2mq[\"default\"])({\n minWidth: breakpoints.slice(-1)[0]\n });\n (0, _innerSliderUtils.canUseDOM)() && this.media(query, function () {\n _this2.setState({\n breakpoint: null\n });\n });\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this._responsiveMediaHandlers.forEach(function (obj) {\n enquire.unregister(obj.query, obj.handler);\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n\n var settings;\n var newProps;\n\n if (this.state.breakpoint) {\n newProps = this.props.responsive.filter(function (resp) {\n return resp.breakpoint === _this3.state.breakpoint;\n });\n settings = newProps[0].settings === \"unslick\" ? \"unslick\" : _objectSpread(_objectSpread(_objectSpread({}, _defaultProps[\"default\"]), this.props), newProps[0].settings);\n } else {\n settings = _objectSpread(_objectSpread({}, _defaultProps[\"default\"]), this.props);\n } // force scrolling by one if centerMode is on\n\n\n if (settings.centerMode) {\n if (settings.slidesToScroll > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"slidesToScroll should be equal to 1 in centerMode, you are using \".concat(settings.slidesToScroll));\n }\n\n settings.slidesToScroll = 1;\n } // force showing one slide and scrolling by one if the fade mode is on\n\n\n if (settings.fade) {\n if (settings.slidesToShow > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"slidesToShow should be equal to 1 when fade is true, you're using \".concat(settings.slidesToShow));\n }\n\n if (settings.slidesToScroll > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"slidesToScroll should be equal to 1 when fade is true, you're using \".concat(settings.slidesToScroll));\n }\n\n settings.slidesToShow = 1;\n settings.slidesToScroll = 1;\n } // makes sure that children is an array, even when there is only 1 child\n\n\n var children = _react[\"default\"].Children.toArray(this.props.children); // Children may contain false or null, so we should filter them\n // children may also contain string filled with spaces (in certain cases where we use jsx strings)\n\n\n children = children.filter(function (child) {\n if (typeof child === \"string\") {\n return !!child.trim();\n }\n\n return !!child;\n }); // rows and slidesPerRow logic is handled here\n\n if (settings.variableWidth && (settings.rows > 1 || settings.slidesPerRow > 1)) {\n console.warn(\"variableWidth is not supported in case of rows > 1 or slidesPerRow > 1\");\n settings.variableWidth = false;\n }\n\n var newChildren = [];\n var currentWidth = null;\n\n for (var i = 0; i < children.length; i += settings.rows * settings.slidesPerRow) {\n var newSlide = [];\n\n for (var j = i; j < i + settings.rows * settings.slidesPerRow; j += settings.slidesPerRow) {\n var row = [];\n\n for (var k = j; k < j + settings.slidesPerRow; k += 1) {\n if (settings.variableWidth && children[k].props.style) {\n currentWidth = children[k].props.style.width;\n }\n\n if (k >= children.length) break;\n row.push( /*#__PURE__*/_react[\"default\"].cloneElement(children[k], {\n key: 100 * i + 10 * j + k,\n tabIndex: -1,\n style: {\n width: \"\".concat(100 / settings.slidesPerRow, \"%\"),\n display: \"inline-block\"\n }\n }));\n }\n\n newSlide.push( /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n key: 10 * i + j\n }, row));\n }\n\n if (settings.variableWidth) {\n newChildren.push( /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n key: i,\n style: {\n width: currentWidth\n }\n }, newSlide));\n } else {\n newChildren.push( /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n key: i\n }, newSlide));\n }\n }\n\n if (settings === \"unslick\") {\n var className = \"regular slider \" + (this.props.className || \"\");\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n className: className\n }, children);\n } else if (newChildren.length <= settings.slidesToShow) {\n settings.unslick = true;\n }\n\n return /*#__PURE__*/_react[\"default\"].createElement(_innerSlider.InnerSlider, _extends({\n style: this.props.style,\n ref: this.innerSliderRefHandler\n }, settings), newChildren);\n }\n }]);\n\n return Slider;\n}(_react[\"default\"].Component);\n\nexports[\"default\"] = Slider;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Track = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// given specifications/props for a slide, fetch all the classes that need to be applied to the slide\nvar getSlideClasses = function getSlideClasses(spec) {\n var slickActive, slickCenter, slickCloned;\n var centerOffset, index;\n\n if (spec.rtl) {\n index = spec.slideCount - 1 - spec.index;\n } else {\n index = spec.index;\n }\n\n slickCloned = index < 0 || index >= spec.slideCount;\n\n if (spec.centerMode) {\n centerOffset = Math.floor(spec.slidesToShow / 2);\n slickCenter = (index - spec.currentSlide) % spec.slideCount === 0;\n\n if (index > spec.currentSlide - centerOffset - 1 && index <= spec.currentSlide + centerOffset) {\n slickActive = true;\n }\n } else {\n slickActive = spec.currentSlide <= index && index < spec.currentSlide + spec.slidesToShow;\n }\n\n var focusedSlide;\n\n if (spec.targetSlide < 0) {\n focusedSlide = spec.targetSlide + spec.slideCount;\n } else if (spec.targetSlide >= spec.slideCount) {\n focusedSlide = spec.targetSlide - spec.slideCount;\n } else {\n focusedSlide = spec.targetSlide;\n }\n\n var slickCurrent = index === focusedSlide;\n return {\n \"slick-slide\": true,\n \"slick-active\": slickActive,\n \"slick-center\": slickCenter,\n \"slick-cloned\": slickCloned,\n \"slick-current\": slickCurrent // dubious in case of RTL\n\n };\n};\n\nvar getSlideStyle = function getSlideStyle(spec) {\n var style = {};\n\n if (spec.variableWidth === undefined || spec.variableWidth === false) {\n style.width = spec.slideWidth;\n }\n\n if (spec.fade) {\n style.position = \"relative\";\n\n if (spec.vertical) {\n style.top = -spec.index * parseInt(spec.slideHeight);\n } else {\n style.left = -spec.index * parseInt(spec.slideWidth);\n }\n\n style.opacity = spec.currentSlide === spec.index ? 1 : 0;\n\n if (spec.useCSS) {\n style.transition = \"opacity \" + spec.speed + \"ms \" + spec.cssEase + \", \" + \"visibility \" + spec.speed + \"ms \" + spec.cssEase;\n }\n }\n\n return style;\n};\n\nvar getKey = function getKey(child, fallbackKey) {\n return child.key || fallbackKey;\n};\n\nvar renderSlides = function renderSlides(spec) {\n var key;\n var slides = [];\n var preCloneSlides = [];\n var postCloneSlides = [];\n\n var childrenCount = _react[\"default\"].Children.count(spec.children);\n\n var startIndex = (0, _innerSliderUtils.lazyStartIndex)(spec);\n var endIndex = (0, _innerSliderUtils.lazyEndIndex)(spec);\n\n _react[\"default\"].Children.forEach(spec.children, function (elem, index) {\n var child;\n var childOnClickOptions = {\n message: \"children\",\n index: index,\n slidesToScroll: spec.slidesToScroll,\n currentSlide: spec.currentSlide\n }; // in case of lazyLoad, whether or not we want to fetch the slide\n\n if (!spec.lazyLoad || spec.lazyLoad && spec.lazyLoadedList.indexOf(index) >= 0) {\n child = elem;\n } else {\n child = /*#__PURE__*/_react[\"default\"].createElement(\"div\", null);\n }\n\n var childStyle = getSlideStyle(_objectSpread(_objectSpread({}, spec), {}, {\n index: index\n }));\n var slideClass = child.props.className || \"\";\n var slideClasses = getSlideClasses(_objectSpread(_objectSpread({}, spec), {}, {\n index: index\n })); // push a cloned element of the desired slide\n\n slides.push( /*#__PURE__*/_react[\"default\"].cloneElement(child, {\n key: \"original\" + getKey(child, index),\n \"data-index\": index,\n className: (0, _classnames[\"default\"])(slideClasses, slideClass),\n tabIndex: \"-1\",\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: _objectSpread(_objectSpread({\n outline: \"none\"\n }, child.props.style || {}), childStyle),\n onClick: function onClick(e) {\n child.props && child.props.onClick && child.props.onClick(e);\n\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n })); // if slide needs to be precloned or postcloned\n\n if (spec.infinite && spec.fade === false) {\n var preCloneNo = childrenCount - index;\n\n if (preCloneNo <= (0, _innerSliderUtils.getPreClones)(spec) && childrenCount !== spec.slidesToShow) {\n key = -preCloneNo;\n\n if (key >= startIndex) {\n child = elem;\n }\n\n slideClasses = getSlideClasses(_objectSpread(_objectSpread({}, spec), {}, {\n index: key\n }));\n preCloneSlides.push( /*#__PURE__*/_react[\"default\"].cloneElement(child, {\n key: \"precloned\" + getKey(child, key),\n \"data-index\": key,\n tabIndex: \"-1\",\n className: (0, _classnames[\"default\"])(slideClasses, slideClass),\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: _objectSpread(_objectSpread({}, child.props.style || {}), childStyle),\n onClick: function onClick(e) {\n child.props && child.props.onClick && child.props.onClick(e);\n\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n }));\n }\n\n if (childrenCount !== spec.slidesToShow) {\n key = childrenCount + index;\n\n if (key < endIndex) {\n child = elem;\n }\n\n slideClasses = getSlideClasses(_objectSpread(_objectSpread({}, spec), {}, {\n index: key\n }));\n postCloneSlides.push( /*#__PURE__*/_react[\"default\"].cloneElement(child, {\n key: \"postcloned\" + getKey(child, key),\n \"data-index\": key,\n tabIndex: \"-1\",\n className: (0, _classnames[\"default\"])(slideClasses, slideClass),\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: _objectSpread(_objectSpread({}, child.props.style || {}), childStyle),\n onClick: function onClick(e) {\n child.props && child.props.onClick && child.props.onClick(e);\n\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n }));\n }\n }\n });\n\n if (spec.rtl) {\n return preCloneSlides.concat(slides, postCloneSlides).reverse();\n } else {\n return preCloneSlides.concat(slides, postCloneSlides);\n }\n};\n\nvar Track = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(Track, _React$PureComponent);\n\n var _super = _createSuper(Track);\n\n function Track() {\n var _this;\n\n _classCallCheck(this, Track);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"node\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"handleRef\", function (ref) {\n _this.node = ref;\n });\n\n return _this;\n }\n\n _createClass(Track, [{\n key: \"render\",\n value: function render() {\n var slides = renderSlides(this.props);\n var _this$props = this.props,\n onMouseEnter = _this$props.onMouseEnter,\n onMouseOver = _this$props.onMouseOver,\n onMouseLeave = _this$props.onMouseLeave;\n var mouseEvents = {\n onMouseEnter: onMouseEnter,\n onMouseOver: onMouseOver,\n onMouseLeave: onMouseLeave\n };\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", _extends({\n ref: this.handleRef,\n className: \"slick-track\",\n style: this.props.trackStyle\n }, mouseEvents), slides);\n }\n }]);\n\n return Track;\n}(_react[\"default\"].PureComponent);\n\nexports.Track = Track;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.checkSpecKeys = exports.checkNavigable = exports.changeSlide = exports.canUseDOM = exports.canGoNext = void 0;\nexports.clamp = clamp;\nexports.swipeStart = exports.swipeMove = exports.swipeEnd = exports.slidesOnRight = exports.slidesOnLeft = exports.slideHandler = exports.siblingDirection = exports.safePreventDefault = exports.lazyStartIndex = exports.lazySlidesOnRight = exports.lazySlidesOnLeft = exports.lazyEndIndex = exports.keyHandler = exports.initializedState = exports.getWidth = exports.getTrackLeft = exports.getTrackCSS = exports.getTrackAnimateCSS = exports.getTotalSlides = exports.getSwipeDirection = exports.getSlideCount = exports.getRequiredLazySlides = exports.getPreClones = exports.getPostClones = exports.getOnDemandLazySlides = exports.getNavigableIndexes = exports.getHeight = exports.extractObject = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction clamp(number, lowerBound, upperBound) {\n return Math.max(lowerBound, Math.min(number, upperBound));\n}\n\nvar safePreventDefault = function safePreventDefault(event) {\n var passiveEvents = [\"onTouchStart\", \"onTouchMove\", \"onWheel\"];\n\n if (!passiveEvents.includes(event._reactName)) {\n event.preventDefault();\n }\n};\n\nexports.safePreventDefault = safePreventDefault;\n\nvar getOnDemandLazySlides = function getOnDemandLazySlides(spec) {\n var onDemandSlides = [];\n var startIndex = lazyStartIndex(spec);\n var endIndex = lazyEndIndex(spec);\n\n for (var slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n if (spec.lazyLoadedList.indexOf(slideIndex) < 0) {\n onDemandSlides.push(slideIndex);\n }\n }\n\n return onDemandSlides;\n}; // return list of slides that need to be present\n\n\nexports.getOnDemandLazySlides = getOnDemandLazySlides;\n\nvar getRequiredLazySlides = function getRequiredLazySlides(spec) {\n var requiredSlides = [];\n var startIndex = lazyStartIndex(spec);\n var endIndex = lazyEndIndex(spec);\n\n for (var slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n requiredSlides.push(slideIndex);\n }\n\n return requiredSlides;\n}; // startIndex that needs to be present\n\n\nexports.getRequiredLazySlides = getRequiredLazySlides;\n\nvar lazyStartIndex = function lazyStartIndex(spec) {\n return spec.currentSlide - lazySlidesOnLeft(spec);\n};\n\nexports.lazyStartIndex = lazyStartIndex;\n\nvar lazyEndIndex = function lazyEndIndex(spec) {\n return spec.currentSlide + lazySlidesOnRight(spec);\n};\n\nexports.lazyEndIndex = lazyEndIndex;\n\nvar lazySlidesOnLeft = function lazySlidesOnLeft(spec) {\n return spec.centerMode ? Math.floor(spec.slidesToShow / 2) + (parseInt(spec.centerPadding) > 0 ? 1 : 0) : 0;\n};\n\nexports.lazySlidesOnLeft = lazySlidesOnLeft;\n\nvar lazySlidesOnRight = function lazySlidesOnRight(spec) {\n return spec.centerMode ? Math.floor((spec.slidesToShow - 1) / 2) + 1 + (parseInt(spec.centerPadding) > 0 ? 1 : 0) : spec.slidesToShow;\n}; // get width of an element\n\n\nexports.lazySlidesOnRight = lazySlidesOnRight;\n\nvar getWidth = function getWidth(elem) {\n return elem && elem.offsetWidth || 0;\n};\n\nexports.getWidth = getWidth;\n\nvar getHeight = function getHeight(elem) {\n return elem && elem.offsetHeight || 0;\n};\n\nexports.getHeight = getHeight;\n\nvar getSwipeDirection = function getSwipeDirection(touchObject) {\n var verticalSwiping = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var xDist, yDist, r, swipeAngle;\n xDist = touchObject.startX - touchObject.curX;\n yDist = touchObject.startY - touchObject.curY;\n r = Math.atan2(yDist, xDist);\n swipeAngle = Math.round(r * 180 / Math.PI);\n\n if (swipeAngle < 0) {\n swipeAngle = 360 - Math.abs(swipeAngle);\n }\n\n if (swipeAngle <= 45 && swipeAngle >= 0 || swipeAngle <= 360 && swipeAngle >= 315) {\n return \"left\";\n }\n\n if (swipeAngle >= 135 && swipeAngle <= 225) {\n return \"right\";\n }\n\n if (verticalSwiping === true) {\n if (swipeAngle >= 35 && swipeAngle <= 135) {\n return \"up\";\n } else {\n return \"down\";\n }\n }\n\n return \"vertical\";\n}; // whether or not we can go next\n\n\nexports.getSwipeDirection = getSwipeDirection;\n\nvar canGoNext = function canGoNext(spec) {\n var canGo = true;\n\n if (!spec.infinite) {\n if (spec.centerMode && spec.currentSlide >= spec.slideCount - 1) {\n canGo = false;\n } else if (spec.slideCount <= spec.slidesToShow || spec.currentSlide >= spec.slideCount - spec.slidesToShow) {\n canGo = false;\n }\n }\n\n return canGo;\n}; // given an object and a list of keys, return new object with given keys\n\n\nexports.canGoNext = canGoNext;\n\nvar extractObject = function extractObject(spec, keys) {\n var newObject = {};\n keys.forEach(function (key) {\n return newObject[key] = spec[key];\n });\n return newObject;\n}; // get initialized state\n\n\nexports.extractObject = extractObject;\n\nvar initializedState = function initializedState(spec) {\n // spec also contains listRef, trackRef\n var slideCount = _react[\"default\"].Children.count(spec.children);\n\n var listNode = spec.listRef;\n var listWidth = Math.ceil(getWidth(listNode));\n var trackNode = spec.trackRef && spec.trackRef.node;\n var trackWidth = Math.ceil(getWidth(trackNode));\n var slideWidth;\n\n if (!spec.vertical) {\n var centerPaddingAdj = spec.centerMode && parseInt(spec.centerPadding) * 2;\n\n if (typeof spec.centerPadding === \"string\" && spec.centerPadding.slice(-1) === \"%\") {\n centerPaddingAdj *= listWidth / 100;\n }\n\n slideWidth = Math.ceil((listWidth - centerPaddingAdj) / spec.slidesToShow);\n } else {\n slideWidth = listWidth;\n }\n\n var slideHeight = listNode && getHeight(listNode.querySelector('[data-index=\"0\"]'));\n var listHeight = slideHeight * spec.slidesToShow;\n var currentSlide = spec.currentSlide === undefined ? spec.initialSlide : spec.currentSlide;\n\n if (spec.rtl && spec.currentSlide === undefined) {\n currentSlide = slideCount - 1 - spec.initialSlide;\n }\n\n var lazyLoadedList = spec.lazyLoadedList || [];\n var slidesToLoad = getOnDemandLazySlides(_objectSpread(_objectSpread({}, spec), {}, {\n currentSlide: currentSlide,\n lazyLoadedList: lazyLoadedList\n }));\n lazyLoadedList = lazyLoadedList.concat(slidesToLoad);\n var state = {\n slideCount: slideCount,\n slideWidth: slideWidth,\n listWidth: listWidth,\n trackWidth: trackWidth,\n currentSlide: currentSlide,\n slideHeight: slideHeight,\n listHeight: listHeight,\n lazyLoadedList: lazyLoadedList\n };\n\n if (spec.autoplaying === null && spec.autoplay) {\n state[\"autoplaying\"] = \"playing\";\n }\n\n return state;\n};\n\nexports.initializedState = initializedState;\n\nvar slideHandler = function slideHandler(spec) {\n var waitForAnimate = spec.waitForAnimate,\n animating = spec.animating,\n fade = spec.fade,\n infinite = spec.infinite,\n index = spec.index,\n slideCount = spec.slideCount,\n lazyLoad = spec.lazyLoad,\n currentSlide = spec.currentSlide,\n centerMode = spec.centerMode,\n slidesToScroll = spec.slidesToScroll,\n slidesToShow = spec.slidesToShow,\n useCSS = spec.useCSS;\n var lazyLoadedList = spec.lazyLoadedList;\n if (waitForAnimate && animating) return {};\n var animationSlide = index,\n finalSlide,\n animationLeft,\n finalLeft;\n var state = {},\n nextState = {};\n var targetSlide = infinite ? index : clamp(index, 0, slideCount - 1);\n\n if (fade) {\n if (!infinite && (index < 0 || index >= slideCount)) return {};\n\n if (index < 0) {\n animationSlide = index + slideCount;\n } else if (index >= slideCount) {\n animationSlide = index - slideCount;\n }\n\n if (lazyLoad && lazyLoadedList.indexOf(animationSlide) < 0) {\n lazyLoadedList = lazyLoadedList.concat(animationSlide);\n }\n\n state = {\n animating: true,\n currentSlide: animationSlide,\n lazyLoadedList: lazyLoadedList,\n targetSlide: animationSlide\n };\n nextState = {\n animating: false,\n targetSlide: animationSlide\n };\n } else {\n finalSlide = animationSlide;\n\n if (animationSlide < 0) {\n finalSlide = animationSlide + slideCount;\n if (!infinite) finalSlide = 0;else if (slideCount % slidesToScroll !== 0) finalSlide = slideCount - slideCount % slidesToScroll;\n } else if (!canGoNext(spec) && animationSlide > currentSlide) {\n animationSlide = finalSlide = currentSlide;\n } else if (centerMode && animationSlide >= slideCount) {\n animationSlide = infinite ? slideCount : slideCount - 1;\n finalSlide = infinite ? 0 : slideCount - 1;\n } else if (animationSlide >= slideCount) {\n finalSlide = animationSlide - slideCount;\n if (!infinite) finalSlide = slideCount - slidesToShow;else if (slideCount % slidesToScroll !== 0) finalSlide = 0;\n }\n\n if (!infinite && animationSlide + slidesToShow >= slideCount) {\n finalSlide = slideCount - slidesToShow;\n }\n\n animationLeft = getTrackLeft(_objectSpread(_objectSpread({}, spec), {}, {\n slideIndex: animationSlide\n }));\n finalLeft = getTrackLeft(_objectSpread(_objectSpread({}, spec), {}, {\n slideIndex: finalSlide\n }));\n\n if (!infinite) {\n if (animationLeft === finalLeft) animationSlide = finalSlide;\n animationLeft = finalLeft;\n }\n\n if (lazyLoad) {\n lazyLoadedList = lazyLoadedList.concat(getOnDemandLazySlides(_objectSpread(_objectSpread({}, spec), {}, {\n currentSlide: animationSlide\n })));\n }\n\n if (!useCSS) {\n state = {\n currentSlide: finalSlide,\n trackStyle: getTrackCSS(_objectSpread(_objectSpread({}, spec), {}, {\n left: finalLeft\n })),\n lazyLoadedList: lazyLoadedList,\n targetSlide: targetSlide\n };\n } else {\n state = {\n animating: true,\n currentSlide: finalSlide,\n trackStyle: getTrackAnimateCSS(_objectSpread(_objectSpread({}, spec), {}, {\n left: animationLeft\n })),\n lazyLoadedList: lazyLoadedList,\n targetSlide: targetSlide\n };\n nextState = {\n animating: false,\n currentSlide: finalSlide,\n trackStyle: getTrackCSS(_objectSpread(_objectSpread({}, spec), {}, {\n left: finalLeft\n })),\n swipeLeft: null,\n targetSlide: targetSlide\n };\n }\n }\n\n return {\n state: state,\n nextState: nextState\n };\n};\n\nexports.slideHandler = slideHandler;\n\nvar changeSlide = function changeSlide(spec, options) {\n var indexOffset, previousInt, slideOffset, unevenOffset, targetSlide;\n var slidesToScroll = spec.slidesToScroll,\n slidesToShow = spec.slidesToShow,\n slideCount = spec.slideCount,\n currentSlide = spec.currentSlide,\n previousTargetSlide = spec.targetSlide,\n lazyLoad = spec.lazyLoad,\n infinite = spec.infinite;\n unevenOffset = slideCount % slidesToScroll !== 0;\n indexOffset = unevenOffset ? 0 : (slideCount - currentSlide) % slidesToScroll;\n\n if (options.message === \"previous\") {\n slideOffset = indexOffset === 0 ? slidesToScroll : slidesToShow - indexOffset;\n targetSlide = currentSlide - slideOffset;\n\n if (lazyLoad && !infinite) {\n previousInt = currentSlide - slideOffset;\n targetSlide = previousInt === -1 ? slideCount - 1 : previousInt;\n }\n\n if (!infinite) {\n targetSlide = previousTargetSlide - slidesToScroll;\n }\n } else if (options.message === \"next\") {\n slideOffset = indexOffset === 0 ? slidesToScroll : indexOffset;\n targetSlide = currentSlide + slideOffset;\n\n if (lazyLoad && !infinite) {\n targetSlide = (currentSlide + slidesToScroll) % slideCount + indexOffset;\n }\n\n if (!infinite) {\n targetSlide = previousTargetSlide + slidesToScroll;\n }\n } else if (options.message === \"dots\") {\n // Click on dots\n targetSlide = options.index * options.slidesToScroll;\n } else if (options.message === \"children\") {\n // Click on the slides\n targetSlide = options.index;\n\n if (infinite) {\n var direction = siblingDirection(_objectSpread(_objectSpread({}, spec), {}, {\n targetSlide: targetSlide\n }));\n\n if (targetSlide > options.currentSlide && direction === \"left\") {\n targetSlide = targetSlide - slideCount;\n } else if (targetSlide < options.currentSlide && direction === \"right\") {\n targetSlide = targetSlide + slideCount;\n }\n }\n } else if (options.message === \"index\") {\n targetSlide = Number(options.index);\n }\n\n return targetSlide;\n};\n\nexports.changeSlide = changeSlide;\n\nvar keyHandler = function keyHandler(e, accessibility, rtl) {\n if (e.target.tagName.match(\"TEXTAREA|INPUT|SELECT\") || !accessibility) return \"\";\n if (e.keyCode === 37) return rtl ? \"next\" : \"previous\";\n if (e.keyCode === 39) return rtl ? \"previous\" : \"next\";\n return \"\";\n};\n\nexports.keyHandler = keyHandler;\n\nvar swipeStart = function swipeStart(e, swipe, draggable) {\n e.target.tagName === \"IMG\" && safePreventDefault(e);\n if (!swipe || !draggable && e.type.indexOf(\"mouse\") !== -1) return \"\";\n return {\n dragging: true,\n touchObject: {\n startX: e.touches ? e.touches[0].pageX : e.clientX,\n startY: e.touches ? e.touches[0].pageY : e.clientY,\n curX: e.touches ? e.touches[0].pageX : e.clientX,\n curY: e.touches ? e.touches[0].pageY : e.clientY\n }\n };\n};\n\nexports.swipeStart = swipeStart;\n\nvar swipeMove = function swipeMove(e, spec) {\n // spec also contains, trackRef and slideIndex\n var scrolling = spec.scrolling,\n animating = spec.animating,\n vertical = spec.vertical,\n swipeToSlide = spec.swipeToSlide,\n verticalSwiping = spec.verticalSwiping,\n rtl = spec.rtl,\n currentSlide = spec.currentSlide,\n edgeFriction = spec.edgeFriction,\n edgeDragged = spec.edgeDragged,\n onEdge = spec.onEdge,\n swiped = spec.swiped,\n swiping = spec.swiping,\n slideCount = spec.slideCount,\n slidesToScroll = spec.slidesToScroll,\n infinite = spec.infinite,\n touchObject = spec.touchObject,\n swipeEvent = spec.swipeEvent,\n listHeight = spec.listHeight,\n listWidth = spec.listWidth;\n if (scrolling) return;\n if (animating) return safePreventDefault(e);\n if (vertical && swipeToSlide && verticalSwiping) safePreventDefault(e);\n var swipeLeft,\n state = {};\n var curLeft = getTrackLeft(spec);\n touchObject.curX = e.touches ? e.touches[0].pageX : e.clientX;\n touchObject.curY = e.touches ? e.touches[0].pageY : e.clientY;\n touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(touchObject.curX - touchObject.startX, 2)));\n var verticalSwipeLength = Math.round(Math.sqrt(Math.pow(touchObject.curY - touchObject.startY, 2)));\n\n if (!verticalSwiping && !swiping && verticalSwipeLength > 10) {\n return {\n scrolling: true\n };\n }\n\n if (verticalSwiping) touchObject.swipeLength = verticalSwipeLength;\n var positionOffset = (!rtl ? 1 : -1) * (touchObject.curX > touchObject.startX ? 1 : -1);\n if (verticalSwiping) positionOffset = touchObject.curY > touchObject.startY ? 1 : -1;\n var dotCount = Math.ceil(slideCount / slidesToScroll);\n var swipeDirection = getSwipeDirection(spec.touchObject, verticalSwiping);\n var touchSwipeLength = touchObject.swipeLength;\n\n if (!infinite) {\n if (currentSlide === 0 && (swipeDirection === \"right\" || swipeDirection === \"down\") || currentSlide + 1 >= dotCount && (swipeDirection === \"left\" || swipeDirection === \"up\") || !canGoNext(spec) && (swipeDirection === \"left\" || swipeDirection === \"up\")) {\n touchSwipeLength = touchObject.swipeLength * edgeFriction;\n\n if (edgeDragged === false && onEdge) {\n onEdge(swipeDirection);\n state[\"edgeDragged\"] = true;\n }\n }\n }\n\n if (!swiped && swipeEvent) {\n swipeEvent(swipeDirection);\n state[\"swiped\"] = true;\n }\n\n if (!vertical) {\n if (!rtl) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n } else {\n swipeLeft = curLeft - touchSwipeLength * positionOffset;\n }\n } else {\n swipeLeft = curLeft + touchSwipeLength * (listHeight / listWidth) * positionOffset;\n }\n\n if (verticalSwiping) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n }\n\n state = _objectSpread(_objectSpread({}, state), {}, {\n touchObject: touchObject,\n swipeLeft: swipeLeft,\n trackStyle: getTrackCSS(_objectSpread(_objectSpread({}, spec), {}, {\n left: swipeLeft\n }))\n });\n\n if (Math.abs(touchObject.curX - touchObject.startX) < Math.abs(touchObject.curY - touchObject.startY) * 0.8) {\n return state;\n }\n\n if (touchObject.swipeLength > 10) {\n state[\"swiping\"] = true;\n safePreventDefault(e);\n }\n\n return state;\n};\n\nexports.swipeMove = swipeMove;\n\nvar swipeEnd = function swipeEnd(e, spec) {\n var dragging = spec.dragging,\n swipe = spec.swipe,\n touchObject = spec.touchObject,\n listWidth = spec.listWidth,\n touchThreshold = spec.touchThreshold,\n verticalSwiping = spec.verticalSwiping,\n listHeight = spec.listHeight,\n swipeToSlide = spec.swipeToSlide,\n scrolling = spec.scrolling,\n onSwipe = spec.onSwipe,\n targetSlide = spec.targetSlide,\n currentSlide = spec.currentSlide,\n infinite = spec.infinite;\n\n if (!dragging) {\n if (swipe) safePreventDefault(e);\n return {};\n }\n\n var minSwipe = verticalSwiping ? listHeight / touchThreshold : listWidth / touchThreshold;\n var swipeDirection = getSwipeDirection(touchObject, verticalSwiping); // reset the state of touch related state variables.\n\n var state = {\n dragging: false,\n edgeDragged: false,\n scrolling: false,\n swiping: false,\n swiped: false,\n swipeLeft: null,\n touchObject: {}\n };\n\n if (scrolling) {\n return state;\n }\n\n if (!touchObject.swipeLength) {\n return state;\n }\n\n if (touchObject.swipeLength > minSwipe) {\n safePreventDefault(e);\n\n if (onSwipe) {\n onSwipe(swipeDirection);\n }\n\n var slideCount, newSlide;\n var activeSlide = infinite ? currentSlide : targetSlide;\n\n switch (swipeDirection) {\n case \"left\":\n case \"up\":\n newSlide = activeSlide + getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state[\"currentDirection\"] = 0;\n break;\n\n case \"right\":\n case \"down\":\n newSlide = activeSlide - getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state[\"currentDirection\"] = 1;\n break;\n\n default:\n slideCount = activeSlide;\n }\n\n state[\"triggerSlideHandler\"] = slideCount;\n } else {\n // Adjust the track back to it's original position.\n var currentLeft = getTrackLeft(spec);\n state[\"trackStyle\"] = getTrackAnimateCSS(_objectSpread(_objectSpread({}, spec), {}, {\n left: currentLeft\n }));\n }\n\n return state;\n};\n\nexports.swipeEnd = swipeEnd;\n\nvar getNavigableIndexes = function getNavigableIndexes(spec) {\n var max = spec.infinite ? spec.slideCount * 2 : spec.slideCount;\n var breakpoint = spec.infinite ? spec.slidesToShow * -1 : 0;\n var counter = spec.infinite ? spec.slidesToShow * -1 : 0;\n var indexes = [];\n\n while (breakpoint < max) {\n indexes.push(breakpoint);\n breakpoint = counter + spec.slidesToScroll;\n counter += Math.min(spec.slidesToScroll, spec.slidesToShow);\n }\n\n return indexes;\n};\n\nexports.getNavigableIndexes = getNavigableIndexes;\n\nvar checkNavigable = function checkNavigable(spec, index) {\n var navigables = getNavigableIndexes(spec);\n var prevNavigable = 0;\n\n if (index > navigables[navigables.length - 1]) {\n index = navigables[navigables.length - 1];\n } else {\n for (var n in navigables) {\n if (index < navigables[n]) {\n index = prevNavigable;\n break;\n }\n\n prevNavigable = navigables[n];\n }\n }\n\n return index;\n};\n\nexports.checkNavigable = checkNavigable;\n\nvar getSlideCount = function getSlideCount(spec) {\n var centerOffset = spec.centerMode ? spec.slideWidth * Math.floor(spec.slidesToShow / 2) : 0;\n\n if (spec.swipeToSlide) {\n var swipedSlide;\n var slickList = spec.listRef;\n var slides = slickList.querySelectorAll && slickList.querySelectorAll(\".slick-slide\") || [];\n Array.from(slides).every(function (slide) {\n if (!spec.vertical) {\n if (slide.offsetLeft - centerOffset + getWidth(slide) / 2 > spec.swipeLeft * -1) {\n swipedSlide = slide;\n return false;\n }\n } else {\n if (slide.offsetTop + getHeight(slide) / 2 > spec.swipeLeft * -1) {\n swipedSlide = slide;\n return false;\n }\n }\n\n return true;\n });\n\n if (!swipedSlide) {\n return 0;\n }\n\n var currentIndex = spec.rtl === true ? spec.slideCount - spec.currentSlide : spec.currentSlide;\n var slidesTraversed = Math.abs(swipedSlide.dataset.index - currentIndex) || 1;\n return slidesTraversed;\n } else {\n return spec.slidesToScroll;\n }\n};\n\nexports.getSlideCount = getSlideCount;\n\nvar checkSpecKeys = function checkSpecKeys(spec, keysArray) {\n return keysArray.reduce(function (value, key) {\n return value && spec.hasOwnProperty(key);\n }, true) ? null : console.error(\"Keys Missing:\", spec);\n};\n\nexports.checkSpecKeys = checkSpecKeys;\n\nvar getTrackCSS = function getTrackCSS(spec) {\n checkSpecKeys(spec, [\"left\", \"variableWidth\", \"slideCount\", \"slidesToShow\", \"slideWidth\"]);\n var trackWidth, trackHeight;\n var trackChildren = spec.slideCount + 2 * spec.slidesToShow;\n\n if (!spec.vertical) {\n trackWidth = getTotalSlides(spec) * spec.slideWidth;\n } else {\n trackHeight = trackChildren * spec.slideHeight;\n }\n\n var style = {\n opacity: 1,\n transition: \"\",\n WebkitTransition: \"\"\n };\n\n if (spec.useTransform) {\n var WebkitTransform = !spec.vertical ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\" : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n var transform = !spec.vertical ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\" : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n var msTransform = !spec.vertical ? \"translateX(\" + spec.left + \"px)\" : \"translateY(\" + spec.left + \"px)\";\n style = _objectSpread(_objectSpread({}, style), {}, {\n WebkitTransform: WebkitTransform,\n transform: transform,\n msTransform: msTransform\n });\n } else {\n if (spec.vertical) {\n style[\"top\"] = spec.left;\n } else {\n style[\"left\"] = spec.left;\n }\n }\n\n if (spec.fade) style = {\n opacity: 1\n };\n if (trackWidth) style.width = trackWidth;\n if (trackHeight) style.height = trackHeight; // Fallback for IE8\n\n if (window && !window.addEventListener && window.attachEvent) {\n if (!spec.vertical) {\n style.marginLeft = spec.left + \"px\";\n } else {\n style.marginTop = spec.left + \"px\";\n }\n }\n\n return style;\n};\n\nexports.getTrackCSS = getTrackCSS;\n\nvar getTrackAnimateCSS = function getTrackAnimateCSS(spec) {\n checkSpecKeys(spec, [\"left\", \"variableWidth\", \"slideCount\", \"slidesToShow\", \"slideWidth\", \"speed\", \"cssEase\"]);\n var style = getTrackCSS(spec); // useCSS is true by default so it can be undefined\n\n if (spec.useTransform) {\n style.WebkitTransition = \"-webkit-transform \" + spec.speed + \"ms \" + spec.cssEase;\n style.transition = \"transform \" + spec.speed + \"ms \" + spec.cssEase;\n } else {\n if (spec.vertical) {\n style.transition = \"top \" + spec.speed + \"ms \" + spec.cssEase;\n } else {\n style.transition = \"left \" + spec.speed + \"ms \" + spec.cssEase;\n }\n }\n\n return style;\n};\n\nexports.getTrackAnimateCSS = getTrackAnimateCSS;\n\nvar getTrackLeft = function getTrackLeft(spec) {\n if (spec.unslick) {\n return 0;\n }\n\n checkSpecKeys(spec, [\"slideIndex\", \"trackRef\", \"infinite\", \"centerMode\", \"slideCount\", \"slidesToShow\", \"slidesToScroll\", \"slideWidth\", \"listWidth\", \"variableWidth\", \"slideHeight\"]);\n var slideIndex = spec.slideIndex,\n trackRef = spec.trackRef,\n infinite = spec.infinite,\n centerMode = spec.centerMode,\n slideCount = spec.slideCount,\n slidesToShow = spec.slidesToShow,\n slidesToScroll = spec.slidesToScroll,\n slideWidth = spec.slideWidth,\n listWidth = spec.listWidth,\n variableWidth = spec.variableWidth,\n slideHeight = spec.slideHeight,\n fade = spec.fade,\n vertical = spec.vertical;\n var slideOffset = 0;\n var targetLeft;\n var targetSlide;\n var verticalOffset = 0;\n\n if (fade || spec.slideCount === 1) {\n return 0;\n }\n\n var slidesToOffset = 0;\n\n if (infinite) {\n slidesToOffset = -getPreClones(spec); // bring active slide to the beginning of visual area\n // if next scroll doesn't have enough children, just reach till the end of original slides instead of shifting slidesToScroll children\n\n if (slideCount % slidesToScroll !== 0 && slideIndex + slidesToScroll > slideCount) {\n slidesToOffset = -(slideIndex > slideCount ? slidesToShow - (slideIndex - slideCount) : slideCount % slidesToScroll);\n } // shift current slide to center of the frame\n\n\n if (centerMode) {\n slidesToOffset += parseInt(slidesToShow / 2);\n }\n } else {\n if (slideCount % slidesToScroll !== 0 && slideIndex + slidesToScroll > slideCount) {\n slidesToOffset = slidesToShow - slideCount % slidesToScroll;\n }\n\n if (centerMode) {\n slidesToOffset = parseInt(slidesToShow / 2);\n }\n }\n\n slideOffset = slidesToOffset * slideWidth;\n verticalOffset = slidesToOffset * slideHeight;\n\n if (!vertical) {\n targetLeft = slideIndex * slideWidth * -1 + slideOffset;\n } else {\n targetLeft = slideIndex * slideHeight * -1 + verticalOffset;\n }\n\n if (variableWidth === true) {\n var targetSlideIndex;\n var trackElem = trackRef && trackRef.node;\n targetSlideIndex = slideIndex + getPreClones(spec);\n targetSlide = trackElem && trackElem.childNodes[targetSlideIndex];\n targetLeft = targetSlide ? targetSlide.offsetLeft * -1 : 0;\n\n if (centerMode === true) {\n targetSlideIndex = infinite ? slideIndex + getPreClones(spec) : slideIndex;\n targetSlide = trackElem && trackElem.children[targetSlideIndex];\n targetLeft = 0;\n\n for (var slide = 0; slide < targetSlideIndex; slide++) {\n targetLeft -= trackElem && trackElem.children[slide] && trackElem.children[slide].offsetWidth;\n }\n\n targetLeft -= parseInt(spec.centerPadding);\n targetLeft += targetSlide && (listWidth - targetSlide.offsetWidth) / 2;\n }\n }\n\n return targetLeft;\n};\n\nexports.getTrackLeft = getTrackLeft;\n\nvar getPreClones = function getPreClones(spec) {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n\n if (spec.variableWidth) {\n return spec.slideCount;\n }\n\n return spec.slidesToShow + (spec.centerMode ? 1 : 0);\n};\n\nexports.getPreClones = getPreClones;\n\nvar getPostClones = function getPostClones(spec) {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n\n return spec.slideCount;\n};\n\nexports.getPostClones = getPostClones;\n\nvar getTotalSlides = function getTotalSlides(spec) {\n return spec.slideCount === 1 ? 1 : getPreClones(spec) + spec.slideCount + getPostClones(spec);\n};\n\nexports.getTotalSlides = getTotalSlides;\n\nvar siblingDirection = function siblingDirection(spec) {\n if (spec.targetSlide > spec.currentSlide) {\n if (spec.targetSlide > spec.currentSlide + slidesOnRight(spec)) {\n return \"left\";\n }\n\n return \"right\";\n } else {\n if (spec.targetSlide < spec.currentSlide - slidesOnLeft(spec)) {\n return \"right\";\n }\n\n return \"left\";\n }\n};\n\nexports.siblingDirection = siblingDirection;\n\nvar slidesOnRight = function slidesOnRight(_ref) {\n var slidesToShow = _ref.slidesToShow,\n centerMode = _ref.centerMode,\n rtl = _ref.rtl,\n centerPadding = _ref.centerPadding;\n\n // returns no of slides on the right of active slide\n if (centerMode) {\n var right = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) right += 1;\n if (rtl && slidesToShow % 2 === 0) right += 1;\n return right;\n }\n\n if (rtl) {\n return 0;\n }\n\n return slidesToShow - 1;\n};\n\nexports.slidesOnRight = slidesOnRight;\n\nvar slidesOnLeft = function slidesOnLeft(_ref2) {\n var slidesToShow = _ref2.slidesToShow,\n centerMode = _ref2.centerMode,\n rtl = _ref2.rtl,\n centerPadding = _ref2.centerPadding;\n\n // returns no of slides on the left of active slide\n if (centerMode) {\n var left = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) left += 1;\n if (!rtl && slidesToShow % 2 === 0) left += 1;\n return left;\n }\n\n if (rtl) {\n return slidesToShow - 1;\n }\n\n return 0;\n};\n\nexports.slidesOnLeft = slidesOnLeft;\n\nvar canUseDOM = function canUseDOM() {\n return !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n};\n\nexports.canUseDOM = canUseDOM;","/*! For license information please see index.js.LICENSE.txt */\n!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t(require(\"react\"),require(\"react-dom\")):\"function\"==typeof define&&define.amd?define(\"lib\",[\"react\",\"react-dom\"],t):\"object\"==typeof exports?exports.lib=t(require(\"react\"),require(\"react-dom\")):e.lib=t(e.react,e[\"react-dom\"])}(\"undefined\"!=typeof self?self:this,(function(e,t){return function(){\"use strict\";var n={655:function(e,t,n){n.r(t),n.d(t,{__extends:function(){return o},__assign:function(){return i},__rest:function(){return a},__decorate:function(){return l},__param:function(){return c},__metadata:function(){return u},__awaiter:function(){return s},__generator:function(){return f},__createBinding:function(){return d},__exportStar:function(){return p},__values:function(){return h},__read:function(){return y},__spread:function(){return b},__spreadArrays:function(){return v},__spreadArray:function(){return g},__await:function(){return m},__asyncGenerator:function(){return w},__asyncDelegator:function(){return _},__asyncValues:function(){return P},__makeTemplateObject:function(){return O},__importStar:function(){return x},__importDefault:function(){return A},__classPrivateFieldGet:function(){return T},__classPrivateFieldSet:function(){return j}});var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},r(e,t)};function o(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var i=function(){return i=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},i.apply(this,arguments)};function a(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}function l(e,t,n,r){var o,i=arguments.length,a=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,r);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function c(e,t){return function(n,r){t(n,r,e)}}function u(e,t){if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function s(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{c(r.next(e))}catch(e){i(e)}}function l(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,l)}c((r=r.apply(e,t||[])).next())}))}function f(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:l(0),throw:l(1),return:l(2)},\"function\"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function l(i){return function(l){return function(i){if(n)throw new TypeError(\"Generator is already executing.\");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,l])}}}var d=Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]};function p(e,t){for(var n in e)\"default\"===n||Object.prototype.hasOwnProperty.call(t,n)||d(t,e,n)}function h(e){var t=\"function\"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&\"number\"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function y(e,t){var n=\"function\"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}function b(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(y(arguments[t]));return e}function v(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),o=0;for(t=0;t<n;t++)for(var i=arguments[t],a=0,l=i.length;a<l;a++,o++)r[o]=i[a];return r}function g(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}function m(e){return this instanceof m?(this.v=e,this):new m(e)}function w(e,t,n){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var r,o=n.apply(e,t||[]),i=[];return r={},a(\"next\"),a(\"throw\"),a(\"return\"),r[Symbol.asyncIterator]=function(){return this},r;function a(e){o[e]&&(r[e]=function(t){return new Promise((function(n,r){i.push([e,t,n,r])>1||l(e,t)}))})}function l(e,t){try{(n=o[e](t)).value instanceof m?Promise.resolve(n.value.v).then(c,u):s(i[0][2],n)}catch(e){s(i[0][3],e)}var n}function c(e){l(\"next\",e)}function u(e){l(\"throw\",e)}function s(e,t){e(t),i.shift(),i.length&&l(i[0][0],i[0][1])}}function _(e){var t,n;return t={},r(\"next\"),r(\"throw\",(function(e){throw e})),r(\"return\"),t[Symbol.iterator]=function(){return this},t;function r(r,o){t[r]=e[r]?function(t){return(n=!n)?{value:m(e[r](t)),done:\"return\"===r}:o?o(t):t}:o}}function P(e){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=h(e),t={},r(\"next\"),r(\"throw\"),r(\"return\"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){!function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)}(r,o,(t=e[n](t)).done,t.value)}))}}}function O(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e}var S=Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t};function x(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)\"default\"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&d(t,e,n);return S(t,e),t}function A(e){return e&&e.__esModule?e:{default:e}}function T(e,t,n,r){if(\"a\"===n&&!r)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"==typeof t?e!==t||!r:!t.has(e))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===n?r:\"a\"===n?r.call(e):r?r.value:t.get(e)}function j(e,t,n,r,o){if(\"m\"===r)throw new TypeError(\"Private method is not writable\");if(\"a\"===r&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"==typeof t?e!==t||!o:!t.has(e))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===r?o.call(e,n):o?o.value=n:t.set(e,n),n}},156:function(t){t.exports=e},111:function(e){e.exports=t}},r={};function o(e){var t=r[e];if(void 0!==t)return t.exports;var i=r[e]={exports:{}};return n[e](i,i.exports,o),i.exports}o.d=function(e,t){for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var i={};return function(){var e=i;Object.defineProperty(e,\"__esModule\",{value:!0}),e.useReactToPrint=e.PrintContextConsumer=void 0;var t=o(655),n=o(156),r=o(111),a=Object.prototype.hasOwnProperty.call(n,\"createContext\"),l=Object.prototype.hasOwnProperty.call(n,\"useMemo\")&&Object.prototype.hasOwnProperty.call(n,\"useCallback\"),c=a?n.createContext({}):null;e.PrintContextConsumer=c?c.Consumer:function(){return null};var u={copyStyles:!0,pageStyle:\"@page { size: auto; margin: 0mm; } @media print { body { -webkit-print-color-adjust: exact; } }\",removeAfterPrint:!1,suppressErrors:!1},s=function(e){function o(){var n=null!==e&&e.apply(this,arguments)||this;return n.startPrint=function(e){var t=n.props,r=t.onAfterPrint,o=t.onPrintError,i=t.print,a=t.documentTitle;setTimeout((function(){var t,l;if(e.contentWindow){if(e.contentWindow.focus(),i)i(e).then(n.handleRemoveIframe).catch((function(e){o?o(\"print\",e):n.logMessages([\"An error was thrown by the specified `print` function\"])}));else if(e.contentWindow.print){var c=null!==(l=null===(t=e.contentDocument)||void 0===t?void 0:t.title)&&void 0!==l?l:\"\",u=e.ownerDocument.title;a&&(e.ownerDocument.title=a,e.contentDocument&&(e.contentDocument.title=a)),e.contentWindow.print(),a&&(e.ownerDocument.title=u,e.contentDocument&&(e.contentDocument.title=c))}else n.logMessages([\"Printing for this browser is not currently possible: the browser does not have a `print` method available for iframes.\"]);r&&r(),n.handleRemoveIframe()}else n.logMessages([\"Printing failed because the `contentWindow` of the print iframe did not load. This is possibly an error with `react-to-print`. Please file an issue: https://github.com/gregnb/react-to-print/issues/\"])}),500)},n.triggerPrint=function(e){var t=n.props,r=t.onBeforePrint,o=t.onPrintError;if(r){var i=r();i&&\"function\"==typeof i.then?i.then((function(){n.startPrint(e)})).catch((function(e){o&&o(\"onBeforePrint\",e)})):n.startPrint(e)}else n.startPrint(e)},n.handleClick=function(){var e=n.props,t=e.onBeforeGetContent,r=e.onPrintError;if(t){var o=t();o&&\"function\"==typeof o.then?o.then(n.handlePrint).catch((function(e){r&&r(\"onBeforeGetContent\",e)})):n.handlePrint()}else n.handlePrint()},n.handlePrint=function(){var e=n.props,o=e.bodyClass,i=e.content,a=e.copyStyles,l=e.fonts,c=e.pageStyle,u=e.nonce,s=i();if(void 0!==s)if(null!==s){var f=document.createElement(\"iframe\");f.style.position=\"absolute\",f.style.top=\"-1000px\",f.style.left=\"-1000px\",f.id=\"printWindow\",f.srcdoc=\"<!DOCTYPE html>\";var d=(0,r.findDOMNode)(s);if(d){var p=d.cloneNode(!0),h=p instanceof Text,y=document.querySelectorAll(\"link[rel='stylesheet']\"),b=h?[]:p.querySelectorAll(\"img\"),v=h?[]:p.querySelectorAll(\"video\");n.linkTotal=y.length+b.length+v.length,n.linksLoaded=[],n.linksErrored=[],n.fontsLoaded=[],n.fontsErrored=[];var g=function(e,t){t?n.linksLoaded.push(e):(n.logMessages(['\"react-to-print\" was unable to load a linked node. It may be invalid. \"react-to-print\" will continue attempting to print the page. The linked node that errored was:',e]),n.linksErrored.push(e)),n.linksLoaded.length+n.linksErrored.length+n.fontsLoaded.length+n.fontsErrored.length===n.linkTotal&&n.triggerPrint(f)};f.onload=function(){var e,r,i,s;f.onload=null;var y=f.contentDocument||(null===(r=f.contentWindow)||void 0===r?void 0:r.document);if(y){y.body.appendChild(p),l&&((null===(i=f.contentDocument)||void 0===i?void 0:i.fonts)&&(null===(s=f.contentWindow)||void 0===s?void 0:s.FontFace)?l.forEach((function(e){var t=new FontFace(e.family,e.source);f.contentDocument.fonts.add(t),t.loaded.then((function(e){n.fontsLoaded.push(e)})).catch((function(e){n.fontsErrored.push(t),n.logMessages(['\"react-to-print\" was unable to load a font. \"react-to-print\" will continue attempting to print the page. The font that failed to load is:',t,\"The error from loading the font is:\",e])}))})):n.logMessages(['\"react-to-print\" is not able to load custom fonts because the browser does not support the FontFace API']));var m=\"function\"==typeof c?c():c;if(\"string\"!=typeof m)n.logMessages(['\"react-to-print\" expected a \"string\" from `pageStyle` but received \"'.concat(typeof m,'\". Styles from `pageStyle` will not be applied.')]);else{var w=y.createElement(\"style\");u&&(w.setAttribute(\"nonce\",u),y.head.setAttribute(\"nonce\",u)),w.appendChild(y.createTextNode(m)),y.head.appendChild(w)}if(o&&(e=y.body.classList).add.apply(e,(0,t.__spreadArray)([],(0,t.__read)(o.split(\" \")),!1)),!h){for(var _=h?[]:d.querySelectorAll(\"canvas\"),P=y.querySelectorAll(\"canvas\"),O=0;O<_.length;++O){var S=_[O],x=P[O].getContext(\"2d\");x&&x.drawImage(S,0,0)}for(O=0;O<b.length;O++){var A=b[O],T=A.getAttribute(\"src\");T?((k=new Image).onload=g.bind(null,A,!0),k.onerror=g.bind(null,A,!1),k.src=T):(n.logMessages(['\"react-to-print\" encountered an <img> tag with an empty \"src\" attribute. It will not attempt to pre-load it. The <img> is:',A],\"warning\"),g(A,!1))}for(O=0;O<v.length;O++){var j=v[O];j.preload=\"auto\";var k,E=j.getAttribute(\"poster\");E?((k=new Image).onload=g.bind(null,j,!0),k.onerror=g.bind(null,j,!1),k.src=E):j.readyState>=2?g(j,!0):(j.onloadeddata=g.bind(null,j,!0),j.onerror=g.bind(null,j,!1),j.onstalled=g.bind(null,j,!1))}var C=\"input\",M=d.querySelectorAll(C),R=y.querySelectorAll(C);for(O=0;O<M.length;O++)R[O].value=M[O].value;var I=\"input[type=checkbox],input[type=radio]\",q=d.querySelectorAll(I),D=y.querySelectorAll(I);for(O=0;O<q.length;O++)D[O].checked=q[O].checked;var L=\"select\",W=d.querySelectorAll(L),F=y.querySelectorAll(L);for(O=0;O<W.length;O++)F[O].value=W[O].value}if(a)for(var N=document.querySelectorAll(\"style, link[rel='stylesheet']\"),B=(O=0,N.length);O<B;++O){var G=N[O];if(\"style\"===G.tagName.toLowerCase()){var V=y.createElement(G.tagName),Y=G.sheet;if(Y){var z=\"\";try{for(var H=Y.cssRules.length,J=0;J<H;++J)\"string\"==typeof Y.cssRules[J].cssText&&(z+=\"\".concat(Y.cssRules[J].cssText,\"\\r\\n\"))}catch(e){n.logMessages([\"A stylesheet could not be accessed. This is likely due to the stylesheet having cross-origin imports, and many browsers block script access to cross-origin stylesheets. See https://github.com/gregnb/react-to-print/issues/429 for details. You may be able to load the sheet by both marking the stylesheet with the cross `crossorigin` attribute, and setting the `Access-Control-Allow-Origin` header on the server serving the stylesheet. Alternatively, host the stylesheet on your domain to avoid this issue entirely.\",G],\"warning\")}V.setAttribute(\"id\",\"react-to-print-\".concat(O)),u&&V.setAttribute(\"nonce\",u),V.appendChild(y.createTextNode(z)),y.head.appendChild(V)}}else if(G.getAttribute(\"href\")){V=y.createElement(G.tagName),J=0;for(var K=G.attributes.length;J<K;++J){var Q=G.attributes[J];Q&&V.setAttribute(Q.nodeName,Q.nodeValue||\"\")}V.onload=g.bind(null,V,!0),V.onerror=g.bind(null,V,!1),u&&V.setAttribute(\"nonce\",u),y.head.appendChild(V)}else n.logMessages(['\"react-to-print\" encountered a <link> tag with an empty \"href\" attribute. In addition to being invalid HTML, this can cause problems in many browsers, and so the <link> was not loaded. The <link> is:',G],\"warning\"),g(G,!0)}}0!==n.linkTotal&&a||n.triggerPrint(f)},n.handleRemoveIframe(!0),document.body.appendChild(f)}else n.logMessages(['\"react-to-print\" could not locate the DOM node corresponding with the `content` prop'])}else n.logMessages(['There is nothing to print because the \"content\" prop returned \"null\". Please ensure \"content\" is renderable before allowing \"react-to-print\" to be called.']);else n.logMessages([\"To print a functional component ensure it is wrapped with `React.forwardRef`, and ensure the forwarded ref is used. See the README for an example: https://github.com/gregnb/react-to-print#examples\"])},n.handleRemoveIframe=function(e){var t=n.props.removeAfterPrint;if(e||t){var r=document.getElementById(\"printWindow\");r&&document.body.removeChild(r)}},n.logMessages=function(e,t){void 0===t&&(t=\"error\"),n.props.suppressErrors||(\"error\"===t?console.error(e):\"warning\"===t&&console.warn(e))},n}return(0,t.__extends)(o,e),o.prototype.render=function(){var e=this.props,t=e.children,r=e.trigger;if(r)return n.cloneElement(r(),{onClick:this.handleClick});if(!c)return this.logMessages(['\"react-to-print\" requires React ^16.3.0 to be able to use \"PrintContext\"']),null;var o={handlePrint:this.handleClick};return n.createElement(c.Provider,{value:o},t)},o.defaultProps=u,o}(n.Component);e.default=s,e.useReactToPrint=function(e){if(!l)return e.suppressErrors||console.error('\"react-to-print\" requires React ^16.8.0 to be able to use \"useReactToPrint\"'),function(){throw new Error('\"react-to-print\" requires React ^16.8.0 to be able to use \"useReactToPrint\"')};var r=n.useMemo((function(){return new s((0,t.__assign)((0,t.__assign)({},u),e))}),[e]);return n.useCallback((function(){return r.handleClick()}),[r])}}(),i}()}));","/**\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<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};exports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;\nexports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=function(){throw Error(\"act(...) is not supported in production builds of React.\");};\nexports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};exports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};\nexports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};exports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};\nexports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.2.0\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array<Array>} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array<ResizeObserverSPI>}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the <html> itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element (<html>).\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array<ResizeObservation>}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map<Element, ResizeObservation>}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","/**\n * @license React\n * scheduler.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';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(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()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(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","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n","var camel2hyphen = function (str) {\n return str\n .replace(/[A-Z]/g, function (match) {\n return '-' + match.toLowerCase();\n })\n .toLowerCase();\n};\n\nmodule.exports = camel2hyphen;","/* UAParser.js v1.0.32\n Copyright © 2012-2021 Faisal Salman <f@faisalman.com>\n MIT License */\n(function(window,undefined){\"use strict\";var LIBVERSION=\"1.0.32\",EMPTY=\"\",UNKNOWN=\"?\",FUNC_TYPE=\"function\",UNDEF_TYPE=\"undefined\",OBJ_TYPE=\"object\",STR_TYPE=\"string\",MAJOR=\"major\",MODEL=\"model\",NAME=\"name\",TYPE=\"type\",VENDOR=\"vendor\",VERSION=\"version\",ARCHITECTURE=\"architecture\",CONSOLE=\"console\",MOBILE=\"mobile\",TABLET=\"tablet\",SMARTTV=\"smarttv\",WEARABLE=\"wearable\",EMBEDDED=\"embedded\",UA_MAX_LENGTH=350;var AMAZON=\"Amazon\",APPLE=\"Apple\",ASUS=\"ASUS\",BLACKBERRY=\"BlackBerry\",BROWSER=\"Browser\",CHROME=\"Chrome\",EDGE=\"Edge\",FIREFOX=\"Firefox\",GOOGLE=\"Google\",HUAWEI=\"Huawei\",LG=\"LG\",MICROSOFT=\"Microsoft\",MOTOROLA=\"Motorola\",OPERA=\"Opera\",SAMSUNG=\"Samsung\",SHARP=\"Sharp\",SONY=\"Sony\",XIAOMI=\"Xiaomi\",ZEBRA=\"Zebra\",FACEBOOK=\"Facebook\";var extend=function(regexes,extensions){var mergedRegexes={};for(var i in regexes){if(extensions[i]&&extensions[i].length%2===0){mergedRegexes[i]=extensions[i].concat(regexes[i])}else{mergedRegexes[i]=regexes[i]}}return mergedRegexes},enumerize=function(arr){var enums={};for(var i=0;i<arr.length;i++){enums[arr[i].toUpperCase()]=arr[i]}return enums},has=function(str1,str2){return typeof str1===STR_TYPE?lowerize(str2).indexOf(lowerize(str1))!==-1:false},lowerize=function(str){return str.toLowerCase()},majorize=function(version){return typeof version===STR_TYPE?version.replace(/[^\\d\\.]/g,EMPTY).split(\".\")[0]:undefined},trim=function(str,len){if(typeof str===STR_TYPE){str=str.replace(/^\\s\\s*/,EMPTY).replace(/\\s\\s*$/,EMPTY);return typeof len===UNDEF_TYPE?str:str.substring(0,UA_MAX_LENGTH)}};var rgxMapper=function(ua,arrays){var i=0,j,k,p,q,matches,match;while(i<arrays.length&&!matches){var regex=arrays[i],props=arrays[i+1];j=k=0;while(j<regex.length&&!matches){matches=regex[j++].exec(ua);if(!!matches){for(p=0;p<props.length;p++){match=matches[++k];q=props[p];if(typeof q===OBJ_TYPE&&q.length>0){if(q.length===2){if(typeof q[1]==FUNC_TYPE){this[q[0]]=q[1].call(this,match)}else{this[q[0]]=q[1]}}else if(q.length===3){if(typeof q[1]===FUNC_TYPE&&!(q[1].exec&&q[1].test)){this[q[0]]=match?q[1].call(this,match,q[2]):undefined}else{this[q[0]]=match?match.replace(q[1],q[2]):undefined}}else if(q.length===4){this[q[0]]=match?q[3].call(this,match.replace(q[1],q[2])):undefined}}else{this[q]=match?match:undefined}}}}i+=2}},strMapper=function(str,map){for(var i in map){if(typeof map[i]===OBJ_TYPE&&map[i].length>0){for(var j=0;j<map[i].length;j++){if(has(map[i][j],str)){return i===UNKNOWN?undefined:i}}}else if(has(map[i],str)){return i===UNKNOWN?undefined:i}}return str};var oldSafariMap={\"1.0\":\"/8\",1.2:\"/1\",1.3:\"/3\",\"2.0\":\"/412\",\"2.0.2\":\"/416\",\"2.0.3\":\"/417\",\"2.0.4\":\"/419\",\"?\":\"/\"},windowsVersionMap={ME:\"4.90\",\"NT 3.11\":\"NT3.51\",\"NT 4.0\":\"NT4.0\",2e3:\"NT 5.0\",XP:[\"NT 5.1\",\"NT 5.2\"],Vista:\"NT 6.0\",7:\"NT 6.1\",8:\"NT 6.2\",8.1:\"NT 6.3\",10:[\"NT 6.4\",\"NT 10.0\"],RT:\"ARM\"};var regexes={browser:[[/\\b(?:crmo|crios)\\/([\\w\\.]+)/i],[VERSION,[NAME,\"Chrome\"]],[/edg(?:e|ios|a)?\\/([\\w\\.]+)/i],[VERSION,[NAME,\"Edge\"]],[/(opera mini)\\/([-\\w\\.]+)/i,/(opera [mobiletab]{3,6})\\b.+version\\/([-\\w\\.]+)/i,/(opera)(?:.+version\\/|[\\/ ]+)([\\w\\.]+)/i],[NAME,VERSION],[/opios[\\/ ]+([\\w\\.]+)/i],[VERSION,[NAME,OPERA+\" Mini\"]],[/\\bopr\\/([\\w\\.]+)/i],[VERSION,[NAME,OPERA]],[/(kindle)\\/([\\w\\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\\/ ]?([\\w\\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\\/ ]?([\\w\\.]*)/i,/(ba?idubrowser)[\\/ ]?([\\w\\.]+)/i,/(?:ms|\\()(ie) ([\\w\\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale|qqbrowserlite|qq|duckduckgo)\\/([-\\w\\.]+)/i,/(weibo)__([\\d\\.]+)/i],[NAME,VERSION],[/(?:\\buc? ?browser|(?:juc.+)ucweb)[\\/ ]?([\\w\\.]+)/i],[VERSION,[NAME,\"UC\"+BROWSER]],[/microm.+\\bqbcore\\/([\\w\\.]+)/i,/\\bqbcore\\/([\\w\\.]+).+microm/i],[VERSION,[NAME,\"WeChat(Win) Desktop\"]],[/micromessenger\\/([\\w\\.]+)/i],[VERSION,[NAME,\"WeChat\"]],[/konqueror\\/([\\w\\.]+)/i],[VERSION,[NAME,\"Konqueror\"]],[/trident.+rv[: ]([\\w\\.]{1,9})\\b.+like gecko/i],[VERSION,[NAME,\"IE\"]],[/yabrowser\\/([\\w\\.]+)/i],[VERSION,[NAME,\"Yandex\"]],[/(avast|avg)\\/([\\w\\.]+)/i],[[NAME,/(.+)/,\"$1 Secure \"+BROWSER],VERSION],[/\\bfocus\\/([\\w\\.]+)/i],[VERSION,[NAME,FIREFOX+\" Focus\"]],[/\\bopt\\/([\\w\\.]+)/i],[VERSION,[NAME,OPERA+\" Touch\"]],[/coc_coc\\w+\\/([\\w\\.]+)/i],[VERSION,[NAME,\"Coc Coc\"]],[/dolfin\\/([\\w\\.]+)/i],[VERSION,[NAME,\"Dolphin\"]],[/coast\\/([\\w\\.]+)/i],[VERSION,[NAME,OPERA+\" Coast\"]],[/miuibrowser\\/([\\w\\.]+)/i],[VERSION,[NAME,\"MIUI \"+BROWSER]],[/fxios\\/([-\\w\\.]+)/i],[VERSION,[NAME,FIREFOX]],[/\\bqihu|(qi?ho?o?|360)browser/i],[[NAME,\"360 \"+BROWSER]],[/(oculus|samsung|sailfish|huawei)browser\\/([\\w\\.]+)/i],[[NAME,/(.+)/,\"$1 \"+BROWSER],VERSION],[/(comodo_dragon)\\/([\\w\\.]+)/i],[[NAME,/_/g,\" \"],VERSION],[/(electron)\\/([\\w\\.]+) safari/i,/(tesla)(?: qtcarbrowser|\\/(20\\d\\d\\.[-\\w\\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\\/ ]?([\\w\\.]+)/i],[NAME,VERSION],[/(metasr)[\\/ ]?([\\w\\.]+)/i,/(lbbrowser)/i,/\\[(linkedin)app\\]/i],[NAME],[/((?:fban\\/fbios|fb_iab\\/fb4a)(?!.+fbav)|;fbav\\/([\\w\\.]+);)/i],[[NAME,FACEBOOK],VERSION],[/safari (line)\\/([\\w\\.]+)/i,/\\b(line)\\/([\\w\\.]+)\\/iab/i,/(chromium|instagram)[\\/ ]([-\\w\\.]+)/i],[NAME,VERSION],[/\\bgsa\\/([\\w\\.]+) .*safari\\//i],[VERSION,[NAME,\"GSA\"]],[/headlesschrome(?:\\/([\\w\\.]+)| )/i],[VERSION,[NAME,CHROME+\" Headless\"]],[/ wv\\).+(chrome)\\/([\\w\\.]+)/i],[[NAME,CHROME+\" WebView\"],VERSION],[/droid.+ version\\/([\\w\\.]+)\\b.+(?:mobile safari|safari)/i],[VERSION,[NAME,\"Android \"+BROWSER]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\/v?([\\w\\.]+)/i],[NAME,VERSION],[/version\\/([\\w\\.\\,]+) .*mobile\\/\\w+ (safari)/i],[VERSION,[NAME,\"Mobile Safari\"]],[/version\\/([\\w(\\.|\\,)]+) .*(mobile ?safari|safari)/i],[VERSION,NAME],[/webkit.+?(mobile ?safari|safari)(\\/[\\w\\.]+)/i],[NAME,[VERSION,strMapper,oldSafariMap]],[/(webkit|khtml)\\/([\\w\\.]+)/i],[NAME,VERSION],[/(navigator|netscape\\d?)\\/([-\\w\\.]+)/i],[[NAME,\"Netscape\"],VERSION],[/mobile vr; rv:([\\w\\.]+)\\).+firefox/i],[VERSION,[NAME,FIREFOX+\" Reality\"]],[/ekiohf.+(flow)\\/([\\w\\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\\/ ]?([\\w\\.\\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([-\\w\\.]+)$/i,/(firefox)\\/([\\w\\.]+)/i,/(mozilla)\\/([\\w\\.]+) .+rv\\:.+gecko\\/\\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\\. ]?browser)[-\\/ ]?v?([\\w\\.]+)/i,/(links) \\(([\\w\\.]+)/i],[NAME,VERSION]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\\)]/i],[[ARCHITECTURE,\"amd64\"]],[/(ia32(?=;))/i],[[ARCHITECTURE,lowerize]],[/((?:i[346]|x)86)[;\\)]/i],[[ARCHITECTURE,\"ia32\"]],[/\\b(aarch64|arm(v?8e?l?|_?64))\\b/i],[[ARCHITECTURE,\"arm64\"]],[/\\b(arm(?:v[67])?ht?n?[fl]p?)\\b/i],[[ARCHITECTURE,\"armhf\"]],[/windows (ce|mobile); ppc;/i],[[ARCHITECTURE,\"arm\"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\\))/i],[[ARCHITECTURE,/ower/,EMPTY,lowerize]],[/(sun4\\w)[;\\)]/i],[[ARCHITECTURE,\"sparc\"]],[/((?:avr32|ia64(?=;))|68k(?=\\))|\\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\\b|pa-risc)/i],[[ARCHITECTURE,lowerize]]],device:[[/\\b(sch-i[89]0\\d|shw-m380s|sm-[ptx]\\w{2,4}|gt-[pn]\\d{2,4}|sgh-t8[56]9|nexus 10)/i],[MODEL,[VENDOR,SAMSUNG],[TYPE,TABLET]],[/\\b((?:s[cgp]h|gt|sm)-\\w+|galaxy nexus)/i,/samsung[- ]([-\\w]+)/i,/sec-(sgh\\w+)/i],[MODEL,[VENDOR,SAMSUNG],[TYPE,MOBILE]],[/\\((ip(?:hone|od)[\\w ]*);/i],[MODEL,[VENDOR,APPLE],[TYPE,MOBILE]],[/\\((ipad);[-\\w\\),; ]+apple/i,/applecoremedia\\/[\\w\\.]+ \\((ipad)/i,/\\b(ipad)\\d\\d?,\\d\\d?[;\\]].+ios/i],[MODEL,[VENDOR,APPLE],[TYPE,TABLET]],[/\\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\\d{2})\\b(?!.+d\\/s)/i],[MODEL,[VENDOR,HUAWEI],[TYPE,TABLET]],[/(?:huawei|honor)([-\\w ]+)[;\\)]/i,/\\b(nexus 6p|\\w{2,4}e?-[atu]?[ln][\\dx][012359c][adn]?)\\b(?!.+d\\/s)/i],[MODEL,[VENDOR,HUAWEI],[TYPE,MOBILE]],[/\\b(poco[\\w ]+)(?: bui|\\))/i,/\\b; (\\w+) build\\/hm\\1/i,/\\b(hm[-_ ]?note?[_ ]?(?:\\d\\w)?) bui/i,/\\b(redmi[\\-_ ]?(?:note|k)?[\\w_ ]+)(?: bui|\\))/i,/\\b(mi[-_ ]?(?:a\\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\\d?\\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\\))/i],[[MODEL,/_/g,\" \"],[VENDOR,XIAOMI],[TYPE,MOBILE]],[/\\b(mi[-_ ]?(?:pad)(?:[\\w_ ]+))(?: bui|\\))/i],[[MODEL,/_/g,\" \"],[VENDOR,XIAOMI],[TYPE,TABLET]],[/; (\\w+) bui.+ oppo/i,/\\b(cph[12]\\d{3}|p(?:af|c[al]|d\\w|e[ar])[mt]\\d0|x9007|a101op)\\b/i],[MODEL,[VENDOR,\"OPPO\"],[TYPE,MOBILE]],[/vivo (\\w+)(?: bui|\\))/i,/\\b(v[12]\\d{3}\\w?[at])(?: bui|;)/i],[MODEL,[VENDOR,\"Vivo\"],[TYPE,MOBILE]],[/\\b(rmx[12]\\d{3})(?: bui|;|\\))/i],[MODEL,[VENDOR,\"Realme\"],[TYPE,MOBILE]],[/\\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\\b[\\w ]+build\\//i,/\\bmot(?:orola)?[- ](\\w*)/i,/((?:moto[\\w\\(\\) ]+|xt\\d{3,4}|nexus 6)(?= bui|\\)))/i],[MODEL,[VENDOR,MOTOROLA],[TYPE,MOBILE]],[/\\b(mz60\\d|xoom[2 ]{0,2}) build\\//i],[MODEL,[VENDOR,MOTOROLA],[TYPE,TABLET]],[/((?=lg)?[vl]k\\-?\\d{3}) bui| 3\\.[-\\w; ]{10}lg?-([06cv9]{3,4})/i],[MODEL,[VENDOR,LG],[TYPE,TABLET]],[/(lm(?:-?f100[nv]?|-[\\w\\.]+)(?= bui|\\))|nexus [45])/i,/\\blg[-e;\\/ ]+((?!browser|netcast|android tv)\\w+)/i,/\\blg-?([\\d\\w]+) bui/i],[MODEL,[VENDOR,LG],[TYPE,MOBILE]],[/(ideatab[-\\w ]+)/i,/lenovo ?(s[56]000[-\\w]+|tab(?:[\\w ]+)|yt[-\\d\\w]{6}|tb[-\\d\\w]{6})/i],[MODEL,[VENDOR,\"Lenovo\"],[TYPE,TABLET]],[/(?:maemo|nokia).*(n900|lumia \\d+)/i,/nokia[-_ ]?([-\\w\\.]*)/i],[[MODEL,/_/g,\" \"],[VENDOR,\"Nokia\"],[TYPE,MOBILE]],[/(pixel c)\\b/i],[MODEL,[VENDOR,GOOGLE],[TYPE,TABLET]],[/droid.+; (pixel[\\daxl ]{0,6})(?: bui|\\))/i],[MODEL,[VENDOR,GOOGLE],[TYPE,MOBILE]],[/droid.+ (a?\\d[0-2]{2}so|[c-g]\\d{4}|so[-gl]\\w+|xq-a\\w[4-7][12])(?= bui|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i],[MODEL,[VENDOR,SONY],[TYPE,MOBILE]],[/sony tablet [ps]/i,/\\b(?:sony)?sgp\\w+(?: bui|\\))/i],[[MODEL,\"Xperia Tablet\"],[VENDOR,SONY],[TYPE,TABLET]],[/ (kb2005|in20[12]5|be20[12][59])\\b/i,/(?:one)?(?:plus)? (a\\d0\\d\\d)(?: b|\\))/i],[MODEL,[VENDOR,\"OnePlus\"],[TYPE,MOBILE]],[/(alexa)webm/i,/(kf[a-z]{2}wi)( bui|\\))/i,/(kf[a-z]+)( bui|\\)).+silk\\//i],[MODEL,[VENDOR,AMAZON],[TYPE,TABLET]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\\)).+silk\\//i],[[MODEL,/(.+)/g,\"Fire Phone $1\"],[VENDOR,AMAZON],[TYPE,MOBILE]],[/(playbook);[-\\w\\),; ]+(rim)/i],[MODEL,VENDOR,[TYPE,TABLET]],[/\\b((?:bb[a-f]|st[hv])100-\\d)/i,/\\(bb10; (\\w+)/i],[MODEL,[VENDOR,BLACKBERRY],[TYPE,MOBILE]],[/(?:\\b|asus_)(transfo[prime ]{4,10} \\w+|eeepc|slider \\w+|nexus 7|padfone|p00[cj])/i],[MODEL,[VENDOR,ASUS],[TYPE,TABLET]],[/ (z[bes]6[027][012][km][ls]|zenfone \\d\\w?)\\b/i],[MODEL,[VENDOR,ASUS],[TYPE,MOBILE]],[/(nexus 9)/i],[MODEL,[VENDOR,\"HTC\"],[TYPE,TABLET]],[/(htc)[-;_ ]{1,2}([\\w ]+(?=\\)| bui)|\\w+)/i,/(zte)[- ]([\\w ]+?)(?: bui|\\/|\\))/i,/(alcatel|geeksphone|nexian|panasonic|sony(?!-bra))[-_ ]?([-\\w]*)/i],[VENDOR,[MODEL,/_/g,\" \"],[TYPE,MOBILE]],[/droid.+; ([ab][1-7]-?[0178a]\\d\\d?)/i],[MODEL,[VENDOR,\"Acer\"],[TYPE,TABLET]],[/droid.+; (m[1-5] note) bui/i,/\\bmz-([-\\w]{2,})/i],[MODEL,[VENDOR,\"Meizu\"],[TYPE,MOBILE]],[/\\b(sh-?[altvz]?\\d\\d[a-ekm]?)/i],[MODEL,[VENDOR,SHARP],[TYPE,MOBILE]],[/(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\\w]*)/i,/(hp) ([\\w ]+\\w)/i,/(asus)-?(\\w+)/i,/(microsoft); (lumia[\\w ]+)/i,/(lenovo)[-_ ]?([-\\w]+)/i,/(jolla)/i,/(oppo) ?([\\w ]+) bui/i],[VENDOR,MODEL,[TYPE,MOBILE]],[/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\\/([\\w\\.]+)/i,/(nook)[\\w ]+build\\/(\\w+)/i,/(dell) (strea[kpr\\d ]*[\\dko])/i,/(le[- ]+pan)[- ]+(\\w{1,9}) bui/i,/(trinity)[- ]*(t\\d{3}) bui/i,/(gigaset)[- ]+(q\\w{1,9}) bui/i,/(vodafone) ([\\w ]+)(?:\\)| bui)/i],[VENDOR,MODEL,[TYPE,TABLET]],[/(surface duo)/i],[MODEL,[VENDOR,MICROSOFT],[TYPE,TABLET]],[/droid [\\d\\.]+; (fp\\du?)(?: b|\\))/i],[MODEL,[VENDOR,\"Fairphone\"],[TYPE,MOBILE]],[/(u304aa)/i],[MODEL,[VENDOR,\"AT&T\"],[TYPE,MOBILE]],[/\\bsie-(\\w*)/i],[MODEL,[VENDOR,\"Siemens\"],[TYPE,MOBILE]],[/\\b(rct\\w+) b/i],[MODEL,[VENDOR,\"RCA\"],[TYPE,TABLET]],[/\\b(venue[\\d ]{2,7}) b/i],[MODEL,[VENDOR,\"Dell\"],[TYPE,TABLET]],[/\\b(q(?:mv|ta)\\w+) b/i],[MODEL,[VENDOR,\"Verizon\"],[TYPE,TABLET]],[/\\b(?:barnes[& ]+noble |bn[rt])([\\w\\+ ]*) b/i],[MODEL,[VENDOR,\"Barnes & Noble\"],[TYPE,TABLET]],[/\\b(tm\\d{3}\\w+) b/i],[MODEL,[VENDOR,\"NuVision\"],[TYPE,TABLET]],[/\\b(k88) b/i],[MODEL,[VENDOR,\"ZTE\"],[TYPE,TABLET]],[/\\b(nx\\d{3}j) b/i],[MODEL,[VENDOR,\"ZTE\"],[TYPE,MOBILE]],[/\\b(gen\\d{3}) b.+49h/i],[MODEL,[VENDOR,\"Swiss\"],[TYPE,MOBILE]],[/\\b(zur\\d{3}) b/i],[MODEL,[VENDOR,\"Swiss\"],[TYPE,TABLET]],[/\\b((zeki)?tb.*\\b) b/i],[MODEL,[VENDOR,\"Zeki\"],[TYPE,TABLET]],[/\\b([yr]\\d{2}) b/i,/\\b(dragon[- ]+touch |dt)(\\w{5}) b/i],[[VENDOR,\"Dragon Touch\"],MODEL,[TYPE,TABLET]],[/\\b(ns-?\\w{0,9}) b/i],[MODEL,[VENDOR,\"Insignia\"],[TYPE,TABLET]],[/\\b((nxa|next)-?\\w{0,9}) b/i],[MODEL,[VENDOR,\"NextBook\"],[TYPE,TABLET]],[/\\b(xtreme\\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[VENDOR,\"Voice\"],MODEL,[TYPE,MOBILE]],[/\\b(lvtel\\-)?(v1[12]) b/i],[[VENDOR,\"LvTel\"],MODEL,[TYPE,MOBILE]],[/\\b(ph-1) /i],[MODEL,[VENDOR,\"Essential\"],[TYPE,MOBILE]],[/\\b(v(100md|700na|7011|917g).*\\b) b/i],[MODEL,[VENDOR,\"Envizen\"],[TYPE,TABLET]],[/\\b(trio[-\\w\\. ]+) b/i],[MODEL,[VENDOR,\"MachSpeed\"],[TYPE,TABLET]],[/\\btu_(1491) b/i],[MODEL,[VENDOR,\"Rotor\"],[TYPE,TABLET]],[/(shield[\\w ]+) b/i],[MODEL,[VENDOR,\"Nvidia\"],[TYPE,TABLET]],[/(sprint) (\\w+)/i],[VENDOR,MODEL,[TYPE,MOBILE]],[/(kin\\.[onetw]{3})/i],[[MODEL,/\\./g,\" \"],[VENDOR,MICROSOFT],[TYPE,MOBILE]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\\)/i],[MODEL,[VENDOR,ZEBRA],[TYPE,TABLET]],[/droid.+; (ec30|ps20|tc[2-8]\\d[kx])\\)/i],[MODEL,[VENDOR,ZEBRA],[TYPE,MOBILE]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[VENDOR,MODEL,[TYPE,CONSOLE]],[/droid.+; (shield) bui/i],[MODEL,[VENDOR,\"Nvidia\"],[TYPE,CONSOLE]],[/(playstation [345portablevi]+)/i],[MODEL,[VENDOR,SONY],[TYPE,CONSOLE]],[/\\b(xbox(?: one)?(?!; xbox))[\\); ]/i],[MODEL,[VENDOR,MICROSOFT],[TYPE,CONSOLE]],[/smart-tv.+(samsung)/i],[VENDOR,[TYPE,SMARTTV]],[/hbbtv.+maple;(\\d+)/i],[[MODEL,/^/,\"SmartTV\"],[VENDOR,SAMSUNG],[TYPE,SMARTTV]],[/(nux; netcast.+smarttv|lg (netcast\\.tv-201\\d|android tv))/i],[[VENDOR,LG],[TYPE,SMARTTV]],[/(apple) ?tv/i],[VENDOR,[MODEL,APPLE+\" TV\"],[TYPE,SMARTTV]],[/crkey/i],[[MODEL,CHROME+\"cast\"],[VENDOR,GOOGLE],[TYPE,SMARTTV]],[/droid.+aft(\\w)( bui|\\))/i],[MODEL,[VENDOR,AMAZON],[TYPE,SMARTTV]],[/\\(dtv[\\);].+(aquos)/i,/(aquos-tv[\\w ]+)\\)/i],[MODEL,[VENDOR,SHARP],[TYPE,SMARTTV]],[/(bravia[\\w ]+)( bui|\\))/i],[MODEL,[VENDOR,SONY],[TYPE,SMARTTV]],[/(mitv-\\w{5}) bui/i],[MODEL,[VENDOR,XIAOMI],[TYPE,SMARTTV]],[/\\b(roku)[\\dx]*[\\)\\/]((?:dvp-)?[\\d\\.]*)/i,/hbbtv\\/\\d+\\.\\d+\\.\\d+ +\\([\\w ]*; *(\\w[^;]*);([^;]*)/i],[[VENDOR,trim],[MODEL,trim],[TYPE,SMARTTV]],[/\\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\\b/i],[[TYPE,SMARTTV]],[/((pebble))app/i],[VENDOR,MODEL,[TYPE,WEARABLE]],[/droid.+; (glass) \\d/i],[MODEL,[VENDOR,GOOGLE],[TYPE,WEARABLE]],[/droid.+; (wt63?0{2,3})\\)/i],[MODEL,[VENDOR,ZEBRA],[TYPE,WEARABLE]],[/(quest( 2)?)/i],[MODEL,[VENDOR,FACEBOOK],[TYPE,WEARABLE]],[/(tesla)(?: qtcarbrowser|\\/[-\\w\\.]+)/i],[VENDOR,[TYPE,EMBEDDED]],[/droid .+?; ([^;]+?)(?: bui|\\) applew).+? mobile safari/i],[MODEL,[TYPE,MOBILE]],[/droid .+?; ([^;]+?)(?: bui|\\) applew).+?(?! mobile) safari/i],[MODEL,[TYPE,TABLET]],[/\\b((tablet|tab)[;\\/]|focus\\/\\d(?!.+mobile))/i],[[TYPE,TABLET]],[/(phone|mobile(?:[;\\/]| [ \\w\\/\\.]*safari)|pda(?=.+windows ce))/i],[[TYPE,MOBILE]],[/(android[-\\w\\. ]{0,9});.+buil/i],[MODEL,[VENDOR,\"Generic\"]]],engine:[[/windows.+ edge\\/([\\w\\.]+)/i],[VERSION,[NAME,EDGE+\"HTML\"]],[/webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i],[VERSION,[NAME,\"Blink\"]],[/(presto)\\/([\\w\\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\/([\\w\\.]+)/i,/ekioh(flow)\\/([\\w\\.]+)/i,/(khtml|tasman|links)[\\/ ]\\(?([\\w\\.]+)/i,/(icab)[\\/ ]([23]\\.[\\d\\.]+)/i],[NAME,VERSION],[/rv\\:([\\w\\.]{1,9})\\b.+(gecko)/i],[VERSION,NAME]],os:[[/microsoft (windows) (vista|xp)/i],[NAME,VERSION],[/(windows) nt 6\\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\\/ ]?([\\d\\.\\w ]*)/i,/(windows)[\\/ ]?([ntce\\d\\. ]+\\w)(?!.+xbox)/i],[NAME,[VERSION,strMapper,windowsVersionMap]],[/(win(?=3|9|n)|win 9x )([nt\\d\\.]+)/i],[[NAME,\"Windows\"],[VERSION,strMapper,windowsVersionMap]],[/ip[honead]{2,4}\\b(?:.*os ([\\w]+) like mac|; opera)/i,/cfnetwork\\/.+darwin/i],[[VERSION,/_/g,\".\"],[NAME,\"iOS\"]],[/(mac os x) ?([\\w\\. ]*)/i,/(macintosh|mac_powerpc\\b)(?!.+haiku)/i],[[NAME,\"Mac OS\"],[VERSION,/_/g,\".\"]],[/droid ([\\w\\.]+)\\b.+(android[- ]x86|harmonyos)/i],[VERSION,NAME],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\\/ ]?([\\w\\.]*)/i,/(blackberry)\\w*\\/([\\w\\.]*)/i,/(tizen|kaios)[\\/ ]([\\w\\.]+)/i,/\\((series40);/i],[NAME,VERSION],[/\\(bb(10);/i],[VERSION,[NAME,BLACKBERRY]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\\/ ]?([\\w\\.]*)/i],[VERSION,[NAME,\"Symbian\"]],[/mozilla\\/[\\d\\.]+ \\((?:mobile|tablet|tv|mobile; [\\w ]+); rv:.+ gecko\\/([\\w\\.]+)/i],[VERSION,[NAME,FIREFOX+\" OS\"]],[/web0s;.+rt(tv)/i,/\\b(?:hp)?wos(?:browser)?\\/([\\w\\.]+)/i],[VERSION,[NAME,\"webOS\"]],[/crkey\\/([\\d\\.]+)/i],[VERSION,[NAME,CHROME+\"cast\"]],[/(cros) [\\w]+ ([\\w\\.]+\\w)/i],[[NAME,\"Chromium OS\"],VERSION],[/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\\);]+)/i,/\\b(joli|palm)\\b ?(?:os)?\\/?([\\w\\.]*)/i,/(mint)[\\/\\(\\) ]?(\\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\\/ ]?(?!chrom|package)([-\\w\\.]*)/i,/(hurd|linux) ?([\\w\\.]*)/i,/(gnu) ?([\\w\\.]*)/i,/\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\/ ]?(?!amd|[ix346]{1,2}86)([\\w\\.]*)/i,/(haiku) (\\w+)/i],[NAME,VERSION],[/(sunos) ?([\\w\\.\\d]*)/i],[[NAME,\"Solaris\"],VERSION],[/((?:open)?solaris)[-\\/ ]?([\\w\\.]*)/i,/(aix) ((\\d)(?=\\.|\\)| )[\\w\\.])*/i,/\\b(beos|os\\/2|amigaos|morphos|openvms|fuchsia|hp-ux)/i,/(unix) ?([\\w\\.]*)/i],[NAME,VERSION]]};var UAParser=function(ua,extensions){if(typeof ua===OBJ_TYPE){extensions=ua;ua=undefined}if(!(this instanceof UAParser)){return new UAParser(ua,extensions).getResult()}var _ua=ua||(typeof window!==UNDEF_TYPE&&window.navigator&&window.navigator.userAgent?window.navigator.userAgent:EMPTY);var _rgxmap=extensions?extend(regexes,extensions):regexes;this.getBrowser=function(){var _browser={};_browser[NAME]=undefined;_browser[VERSION]=undefined;rgxMapper.call(_browser,_ua,_rgxmap.browser);_browser.major=majorize(_browser.version);return _browser};this.getCPU=function(){var _cpu={};_cpu[ARCHITECTURE]=undefined;rgxMapper.call(_cpu,_ua,_rgxmap.cpu);return _cpu};this.getDevice=function(){var _device={};_device[VENDOR]=undefined;_device[MODEL]=undefined;_device[TYPE]=undefined;rgxMapper.call(_device,_ua,_rgxmap.device);return _device};this.getEngine=function(){var _engine={};_engine[NAME]=undefined;_engine[VERSION]=undefined;rgxMapper.call(_engine,_ua,_rgxmap.engine);return _engine};this.getOS=function(){var _os={};_os[NAME]=undefined;_os[VERSION]=undefined;rgxMapper.call(_os,_ua,_rgxmap.os);return _os};this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}};this.getUA=function(){return _ua};this.setUA=function(ua){_ua=typeof ua===STR_TYPE&&ua.length>UA_MAX_LENGTH?trim(ua,UA_MAX_LENGTH):ua;return this};this.setUA(_ua);return this};UAParser.VERSION=LIBVERSION;UAParser.BROWSER=enumerize([NAME,VERSION,MAJOR]);UAParser.CPU=enumerize([ARCHITECTURE]);UAParser.DEVICE=enumerize([MODEL,VENDOR,TYPE,CONSOLE,MOBILE,SMARTTV,TABLET,WEARABLE,EMBEDDED]);UAParser.ENGINE=UAParser.OS=enumerize([NAME,VERSION]);if(typeof exports!==UNDEF_TYPE){if(typeof module!==UNDEF_TYPE&&module.exports){exports=module.exports=UAParser}exports.UAParser=UAParser}else{if(typeof define===FUNC_TYPE&&define.amd){define(function(){return UAParser})}else if(typeof window!==UNDEF_TYPE){window.UAParser=UAParser}}var $=typeof window!==UNDEF_TYPE&&(window.jQuery||window.Zepto);if($&&!$.ua){var parser=new UAParser;$.ua=parser.getResult();$.ua.get=function(){return parser.getUA()};$.ua.set=function(ua){parser.setUA(ua);var result=parser.getResult();for(var prop in result){$.ua[prop]=result[prop]}}}})(typeof window===\"object\"?window:this);","/**\n * @license React\n * use-sync-external-store-shim.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 e=require(\"react\");function h(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var k=\"function\"===typeof Object.is?Object.is:h,l=e.useState,m=e.useEffect,n=e.useLayoutEffect,p=e.useDebugValue;function q(a,b){var d=b(),f=l({inst:{value:d,getSnapshot:b}}),c=f[0].inst,g=f[1];n(function(){c.value=d;c.getSnapshot=b;r(c)&&g({inst:c})},[a,d,b]);m(function(){r(c)&&g({inst:c});return a(function(){r(c)&&g({inst:c})})},[a]);p(d);return d}\nfunction r(a){var b=a.getSnapshot;a=a.value;try{var d=b();return!k(a,d)}catch(f){return!0}}function t(a,b){return b()}var u=\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement?t:q;exports.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:u;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\nvar possibleConstructorReturn = require(\"./possibleConstructorReturn.js\");\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return possibleConstructorReturn(this, result);\n };\n}\nmodule.exports = _createSuper, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var superPropBase = require(\"./superPropBase.js\");\nfunction _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n module.exports = _get = Reflect.get.bind(), module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n } else {\n module.exports = _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n return desc.value;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n }\n return _get.apply(this, arguments);\n}\nmodule.exports = _get, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nmodule.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var defineProperty = require(\"./defineProperty.js\");\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nmodule.exports = _objectSpread2, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","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 exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\nfunction _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n return object;\n}\nmodule.exports = _superPropBase, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nmodule.exports = _toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}\nmodule.exports = _toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// Current version.\nexport var VERSION = '1.13.6';\n\n// Establish the root object, `window` (`self`) in the browser, `global`\n// on the server, or `this` in some virtual machines. We use `self`\n// instead of `window` for `WebWorker` support.\nexport var root = (typeof self == 'object' && self.self === self && self) ||\n (typeof global == 'object' && global.global === global && global) ||\n Function('return this')() ||\n {};\n\n// Save bytes in the minified (but not gzipped) version:\nexport var ArrayProto = Array.prototype, ObjProto = Object.prototype;\nexport var SymbolProto = typeof Symbol !== 'undefined' ? Symbol.prototype : null;\n\n// Create quick reference variables for speed access to core prototypes.\nexport var push = ArrayProto.push,\n slice = ArrayProto.slice,\n toString = ObjProto.toString,\n hasOwnProperty = ObjProto.hasOwnProperty;\n\n// Modern feature detection.\nexport var supportsArrayBuffer = typeof ArrayBuffer !== 'undefined',\n supportsDataView = typeof DataView !== 'undefined';\n\n// All **ECMAScript 5+** native function implementations that we hope to use\n// are declared here.\nexport var nativeIsArray = Array.isArray,\n nativeKeys = Object.keys,\n nativeCreate = Object.create,\n nativeIsView = supportsArrayBuffer && ArrayBuffer.isView;\n\n// Create references to these builtin functions because we override them.\nexport var _isNaN = isNaN,\n _isFinite = isFinite;\n\n// Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed.\nexport var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString');\nexport var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString',\n 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];\n\n// The largest integer that can be represented exactly.\nexport var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;\n","// Some functions take a variable number of arguments, or a few expected\n// arguments at the beginning and then a variable number of values to operate\n// on. This helper accumulates all remaining arguments past the function’s\n// argument length (or an explicit `startIndex`), into an array that becomes\n// the last argument. Similar to ES6’s \"rest parameter\".\nexport default function restArguments(func, startIndex) {\n startIndex = startIndex == null ? func.length - 1 : +startIndex;\n return function() {\n var length = Math.max(arguments.length - startIndex, 0),\n rest = Array(length),\n index = 0;\n for (; index < length; index++) {\n rest[index] = arguments[index + startIndex];\n }\n switch (startIndex) {\n case 0: return func.call(this, rest);\n case 1: return func.call(this, arguments[0], rest);\n case 2: return func.call(this, arguments[0], arguments[1], rest);\n }\n var args = Array(startIndex + 1);\n for (index = 0; index < startIndex; index++) {\n args[index] = arguments[index];\n }\n args[startIndex] = rest;\n return func.apply(this, args);\n };\n}\n","// Is a given variable an object?\nexport default function isObject(obj) {\n var type = typeof obj;\n return type === 'function' || (type === 'object' && !!obj);\n}\n","// Is a given value equal to null?\nexport default function isNull(obj) {\n return obj === null;\n}\n","// Is a given variable undefined?\nexport default function isUndefined(obj) {\n return obj === void 0;\n}\n","import { toString } from './_setup.js';\n\n// Is a given value a boolean?\nexport default function isBoolean(obj) {\n return obj === true || obj === false || toString.call(obj) === '[object Boolean]';\n}\n","// Is a given value a DOM element?\nexport default function isElement(obj) {\n return !!(obj && obj.nodeType === 1);\n}\n","import { toString } from './_setup.js';\n\n// Internal function for creating a `toString`-based type tester.\nexport default function tagTester(name) {\n var tag = '[object ' + name + ']';\n return function(obj) {\n return toString.call(obj) === tag;\n };\n}\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('String');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('Number');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('Date');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('RegExp');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('Error');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('Symbol');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('ArrayBuffer');\n","import tagTester from './_tagTester.js';\nimport { root } from './_setup.js';\n\nvar isFunction = tagTester('Function');\n\n// Optimize `isFunction` if appropriate. Work around some `typeof` bugs in old\n// v8, IE 11 (#1621), Safari 8 (#1929), and PhantomJS (#2236).\nvar nodelist = root.document && root.document.childNodes;\nif (typeof /./ != 'function' && typeof Int8Array != 'object' && typeof nodelist != 'function') {\n isFunction = function(obj) {\n return typeof obj == 'function' || false;\n };\n}\n\nexport default isFunction;\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('Object');\n","import { supportsDataView } from './_setup.js';\nimport hasObjectTag from './_hasObjectTag.js';\n\n// In IE 10 - Edge 13, `DataView` has string tag `'[object Object]'`.\n// In IE 11, the most common among them, this problem also applies to\n// `Map`, `WeakMap` and `Set`.\nexport var hasStringTagBug = (\n supportsDataView && hasObjectTag(new DataView(new ArrayBuffer(8)))\n ),\n isIE11 = (typeof Map !== 'undefined' && hasObjectTag(new Map));\n","import tagTester from './_tagTester.js';\nimport isFunction from './isFunction.js';\nimport isArrayBuffer from './isArrayBuffer.js';\nimport { hasStringTagBug } from './_stringTagBug.js';\n\nvar isDataView = tagTester('DataView');\n\n// In IE 10 - Edge 13, we need a different heuristic\n// to determine whether an object is a `DataView`.\nfunction ie10IsDataView(obj) {\n return obj != null && isFunction(obj.getInt8) && isArrayBuffer(obj.buffer);\n}\n\nexport default (hasStringTagBug ? ie10IsDataView : isDataView);\n","import { nativeIsArray } from './_setup.js';\nimport tagTester from './_tagTester.js';\n\n// Is a given value an array?\n// Delegates to ECMA5's native `Array.isArray`.\nexport default nativeIsArray || tagTester('Array');\n","import { hasOwnProperty } from './_setup.js';\n\n// Internal function to check whether `key` is an own property name of `obj`.\nexport default function has(obj, key) {\n return obj != null && hasOwnProperty.call(obj, key);\n}\n","import tagTester from './_tagTester.js';\nimport has from './_has.js';\n\nvar isArguments = tagTester('Arguments');\n\n// Define a fallback version of the method in browsers (ahem, IE < 9), where\n// there isn't any inspectable \"Arguments\" type.\n(function() {\n if (!isArguments(arguments)) {\n isArguments = function(obj) {\n return has(obj, 'callee');\n };\n }\n}());\n\nexport default isArguments;\n","import { _isFinite } from './_setup.js';\nimport isSymbol from './isSymbol.js';\n\n// Is a given object a finite number?\nexport default function isFinite(obj) {\n return !isSymbol(obj) && _isFinite(obj) && !isNaN(parseFloat(obj));\n}\n","import { _isNaN } from './_setup.js';\nimport isNumber from './isNumber.js';\n\n// Is the given value `NaN`?\nexport default function isNaN(obj) {\n return isNumber(obj) && _isNaN(obj);\n}\n","// Predicate-generating function. Often useful outside of Underscore.\nexport default function constant(value) {\n return function() {\n return value;\n };\n}\n","import { MAX_ARRAY_INDEX } from './_setup.js';\n\n// Common internal logic for `isArrayLike` and `isBufferLike`.\nexport default function createSizePropertyCheck(getSizeProperty) {\n return function(collection) {\n var sizeProperty = getSizeProperty(collection);\n return typeof sizeProperty == 'number' && sizeProperty >= 0 && sizeProperty <= MAX_ARRAY_INDEX;\n }\n}\n","// Internal helper to generate a function to obtain property `key` from `obj`.\nexport default function shallowProperty(key) {\n return function(obj) {\n return obj == null ? void 0 : obj[key];\n };\n}\n","import shallowProperty from './_shallowProperty.js';\n\n// Internal helper to obtain the `byteLength` property of an object.\nexport default shallowProperty('byteLength');\n","import createSizePropertyCheck from './_createSizePropertyCheck.js';\nimport getByteLength from './_getByteLength.js';\n\n// Internal helper to determine whether we should spend extensive checks against\n// `ArrayBuffer` et al.\nexport default createSizePropertyCheck(getByteLength);\n","import { supportsArrayBuffer, nativeIsView, toString } from './_setup.js';\nimport isDataView from './isDataView.js';\nimport constant from './constant.js';\nimport isBufferLike from './_isBufferLike.js';\n\n// Is a given value a typed array?\nvar typedArrayPattern = /\\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\\]/;\nfunction isTypedArray(obj) {\n // `ArrayBuffer.isView` is the most future-proof, so use it when available.\n // Otherwise, fall back on the above regular expression.\n return nativeIsView ? (nativeIsView(obj) && !isDataView(obj)) :\n isBufferLike(obj) && typedArrayPattern.test(toString.call(obj));\n}\n\nexport default supportsArrayBuffer ? isTypedArray : constant(false);\n","import shallowProperty from './_shallowProperty.js';\n\n// Internal helper to obtain the `length` property of an object.\nexport default shallowProperty('length');\n","import { nonEnumerableProps, ObjProto } from './_setup.js';\nimport isFunction from './isFunction.js';\nimport has from './_has.js';\n\n// Internal helper to create a simple lookup structure.\n// `collectNonEnumProps` used to depend on `_.contains`, but this led to\n// circular imports. `emulatedSet` is a one-off solution that only works for\n// arrays of strings.\nfunction emulatedSet(keys) {\n var hash = {};\n for (var l = keys.length, i = 0; i < l; ++i) hash[keys[i]] = true;\n return {\n contains: function(key) { return hash[key] === true; },\n push: function(key) {\n hash[key] = true;\n return keys.push(key);\n }\n };\n}\n\n// Internal helper. Checks `keys` for the presence of keys in IE < 9 that won't\n// be iterated by `for key in ...` and thus missed. Extends `keys` in place if\n// needed.\nexport default function collectNonEnumProps(obj, keys) {\n keys = emulatedSet(keys);\n var nonEnumIdx = nonEnumerableProps.length;\n var constructor = obj.constructor;\n var proto = (isFunction(constructor) && constructor.prototype) || ObjProto;\n\n // Constructor is a special case.\n var prop = 'constructor';\n if (has(obj, prop) && !keys.contains(prop)) keys.push(prop);\n\n while (nonEnumIdx--) {\n prop = nonEnumerableProps[nonEnumIdx];\n if (prop in obj && obj[prop] !== proto[prop] && !keys.contains(prop)) {\n keys.push(prop);\n }\n }\n}\n","import isObject from './isObject.js';\nimport { nativeKeys, hasEnumBug } from './_setup.js';\nimport has from './_has.js';\nimport collectNonEnumProps from './_collectNonEnumProps.js';\n\n// Retrieve the names of an object's own properties.\n// Delegates to **ECMAScript 5**'s native `Object.keys`.\nexport default function keys(obj) {\n if (!isObject(obj)) return [];\n if (nativeKeys) return nativeKeys(obj);\n var keys = [];\n for (var key in obj) if (has(obj, key)) keys.push(key);\n // Ahem, IE < 9.\n if (hasEnumBug) collectNonEnumProps(obj, keys);\n return keys;\n}\n","import getLength from './_getLength.js';\nimport isArray from './isArray.js';\nimport isString from './isString.js';\nimport isArguments from './isArguments.js';\nimport keys from './keys.js';\n\n// Is a given array, string, or object empty?\n// An \"empty\" object has no enumerable own-properties.\nexport default function isEmpty(obj) {\n if (obj == null) return true;\n // Skip the more expensive `toString`-based type checks if `obj` has no\n // `.length`.\n var length = getLength(obj);\n if (typeof length == 'number' && (\n isArray(obj) || isString(obj) || isArguments(obj)\n )) return length === 0;\n return getLength(keys(obj)) === 0;\n}\n","import keys from './keys.js';\n\n// Returns whether an object has a given set of `key:value` pairs.\nexport default function isMatch(object, attrs) {\n var _keys = keys(attrs), length = _keys.length;\n if (object == null) return !length;\n var obj = Object(object);\n for (var i = 0; i < length; i++) {\n var key = _keys[i];\n if (attrs[key] !== obj[key] || !(key in obj)) return false;\n }\n return true;\n}\n","import { VERSION } from './_setup.js';\n\n// If Underscore is called as a function, it returns a wrapped object that can\n// be used OO-style. This wrapper holds altered versions of all functions added\n// through `_.mixin`. Wrapped objects may be chained.\nexport default function _(obj) {\n if (obj instanceof _) return obj;\n if (!(this instanceof _)) return new _(obj);\n this._wrapped = obj;\n}\n\n_.VERSION = VERSION;\n\n// Extracts the result from a wrapped and chained object.\n_.prototype.value = function() {\n return this._wrapped;\n};\n\n// Provide unwrapping proxies for some methods used in engine operations\n// such as arithmetic and JSON stringification.\n_.prototype.valueOf = _.prototype.toJSON = _.prototype.value;\n\n_.prototype.toString = function() {\n return String(this._wrapped);\n};\n","import getByteLength from './_getByteLength.js';\n\n// Internal function to wrap or shallow-copy an ArrayBuffer,\n// typed array or DataView to a new view, reusing the buffer.\nexport default function toBufferView(bufferSource) {\n return new Uint8Array(\n bufferSource.buffer || bufferSource,\n bufferSource.byteOffset || 0,\n getByteLength(bufferSource)\n );\n}\n","import _ from './underscore.js';\nimport { toString, SymbolProto } from './_setup.js';\nimport getByteLength from './_getByteLength.js';\nimport isTypedArray from './isTypedArray.js';\nimport isFunction from './isFunction.js';\nimport { hasStringTagBug } from './_stringTagBug.js';\nimport isDataView from './isDataView.js';\nimport keys from './keys.js';\nimport has from './_has.js';\nimport toBufferView from './_toBufferView.js';\n\n// We use this string twice, so give it a name for minification.\nvar tagDataView = '[object DataView]';\n\n// Internal recursive comparison function for `_.isEqual`.\nfunction eq(a, b, aStack, bStack) {\n // Identical objects are equal. `0 === -0`, but they aren't identical.\n // See the [Harmony `egal` proposal](https://wiki.ecmascript.org/doku.php?id=harmony:egal).\n if (a === b) return a !== 0 || 1 / a === 1 / b;\n // `null` or `undefined` only equal to itself (strict comparison).\n if (a == null || b == null) return false;\n // `NaN`s are equivalent, but non-reflexive.\n if (a !== a) return b !== b;\n // Exhaust primitive checks\n var type = typeof a;\n if (type !== 'function' && type !== 'object' && typeof b != 'object') return false;\n return deepEq(a, b, aStack, bStack);\n}\n\n// Internal recursive comparison function for `_.isEqual`.\nfunction deepEq(a, b, aStack, bStack) {\n // Unwrap any wrapped objects.\n if (a instanceof _) a = a._wrapped;\n if (b instanceof _) b = b._wrapped;\n // Compare `[[Class]]` names.\n var className = toString.call(a);\n if (className !== toString.call(b)) return false;\n // Work around a bug in IE 10 - Edge 13.\n if (hasStringTagBug && className == '[object Object]' && isDataView(a)) {\n if (!isDataView(b)) return false;\n className = tagDataView;\n }\n switch (className) {\n // These types are compared by value.\n case '[object RegExp]':\n // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')\n case '[object String]':\n // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n // equivalent to `new String(\"5\")`.\n return '' + a === '' + b;\n case '[object Number]':\n // `NaN`s are equivalent, but non-reflexive.\n // Object(NaN) is equivalent to NaN.\n if (+a !== +a) return +b !== +b;\n // An `egal` comparison is performed for other numeric values.\n return +a === 0 ? 1 / +a === 1 / b : +a === +b;\n case '[object Date]':\n case '[object Boolean]':\n // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n // millisecond representations. Note that invalid dates with millisecond representations\n // of `NaN` are not equivalent.\n return +a === +b;\n case '[object Symbol]':\n return SymbolProto.valueOf.call(a) === SymbolProto.valueOf.call(b);\n case '[object ArrayBuffer]':\n case tagDataView:\n // Coerce to typed array so we can fall through.\n return deepEq(toBufferView(a), toBufferView(b), aStack, bStack);\n }\n\n var areArrays = className === '[object Array]';\n if (!areArrays && isTypedArray(a)) {\n var byteLength = getByteLength(a);\n if (byteLength !== getByteLength(b)) return false;\n if (a.buffer === b.buffer && a.byteOffset === b.byteOffset) return true;\n areArrays = true;\n }\n if (!areArrays) {\n if (typeof a != 'object' || typeof b != 'object') return false;\n\n // Objects with different constructors are not equivalent, but `Object`s or `Array`s\n // from different frames are.\n var aCtor = a.constructor, bCtor = b.constructor;\n if (aCtor !== bCtor && !(isFunction(aCtor) && aCtor instanceof aCtor &&\n isFunction(bCtor) && bCtor instanceof bCtor)\n && ('constructor' in a && 'constructor' in b)) {\n return false;\n }\n }\n // Assume equality for cyclic structures. The algorithm for detecting cyclic\n // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n\n // Initializing stack of traversed objects.\n // It's done here since we only need them for objects and arrays comparison.\n aStack = aStack || [];\n bStack = bStack || [];\n var length = aStack.length;\n while (length--) {\n // Linear search. Performance is inversely proportional to the number of\n // unique nested structures.\n if (aStack[length] === a) return bStack[length] === b;\n }\n\n // Add the first object to the stack of traversed objects.\n aStack.push(a);\n bStack.push(b);\n\n // Recursively compare objects and arrays.\n if (areArrays) {\n // Compare array lengths to determine if a deep comparison is necessary.\n length = a.length;\n if (length !== b.length) return false;\n // Deep compare the contents, ignoring non-numeric properties.\n while (length--) {\n if (!eq(a[length], b[length], aStack, bStack)) return false;\n }\n } else {\n // Deep compare objects.\n var _keys = keys(a), key;\n length = _keys.length;\n // Ensure that both objects contain the same number of properties before comparing deep equality.\n if (keys(b).length !== length) return false;\n while (length--) {\n // Deep compare each member\n key = _keys[length];\n if (!(has(b, key) && eq(a[key], b[key], aStack, bStack))) return false;\n }\n }\n // Remove the first object from the stack of traversed objects.\n aStack.pop();\n bStack.pop();\n return true;\n}\n\n// Perform a deep comparison to check if two objects are equal.\nexport default function isEqual(a, b) {\n return eq(a, b);\n}\n","import isObject from './isObject.js';\nimport { hasEnumBug } from './_setup.js';\nimport collectNonEnumProps from './_collectNonEnumProps.js';\n\n// Retrieve all the enumerable property names of an object.\nexport default function allKeys(obj) {\n if (!isObject(obj)) return [];\n var keys = [];\n for (var key in obj) keys.push(key);\n // Ahem, IE < 9.\n if (hasEnumBug) collectNonEnumProps(obj, keys);\n return keys;\n}\n","import getLength from './_getLength.js';\nimport isFunction from './isFunction.js';\nimport allKeys from './allKeys.js';\n\n// Since the regular `Object.prototype.toString` type tests don't work for\n// some types in IE 11, we use a fingerprinting heuristic instead, based\n// on the methods. It's not great, but it's the best we got.\n// The fingerprint method lists are defined below.\nexport function ie11fingerprint(methods) {\n var length = getLength(methods);\n return function(obj) {\n if (obj == null) return false;\n // `Map`, `WeakMap` and `Set` have no enumerable keys.\n var keys = allKeys(obj);\n if (getLength(keys)) return false;\n for (var i = 0; i < length; i++) {\n if (!isFunction(obj[methods[i]])) return false;\n }\n // If we are testing against `WeakMap`, we need to ensure that\n // `obj` doesn't have a `forEach` method in order to distinguish\n // it from a regular `Map`.\n return methods !== weakMapMethods || !isFunction(obj[forEachName]);\n };\n}\n\n// In the interest of compact minification, we write\n// each string in the fingerprints only once.\nvar forEachName = 'forEach',\n hasName = 'has',\n commonInit = ['clear', 'delete'],\n mapTail = ['get', hasName, 'set'];\n\n// `Map`, `WeakMap` and `Set` each have slightly different\n// combinations of the above sublists.\nexport var mapMethods = commonInit.concat(forEachName, mapTail),\n weakMapMethods = commonInit.concat(mapTail),\n setMethods = ['add'].concat(commonInit, forEachName, hasName);\n","import tagTester from './_tagTester.js';\nimport { isIE11 } from './_stringTagBug.js';\nimport { ie11fingerprint, mapMethods } from './_methodFingerprint.js';\n\nexport default isIE11 ? ie11fingerprint(mapMethods) : tagTester('Map');\n","import tagTester from './_tagTester.js';\nimport { isIE11 } from './_stringTagBug.js';\nimport { ie11fingerprint, weakMapMethods } from './_methodFingerprint.js';\n\nexport default isIE11 ? ie11fingerprint(weakMapMethods) : tagTester('WeakMap');\n","import tagTester from './_tagTester.js';\nimport { isIE11 } from './_stringTagBug.js';\nimport { ie11fingerprint, setMethods } from './_methodFingerprint.js';\n\nexport default isIE11 ? ie11fingerprint(setMethods) : tagTester('Set');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('WeakSet');\n","import keys from './keys.js';\n\n// Retrieve the values of an object's properties.\nexport default function values(obj) {\n var _keys = keys(obj);\n var length = _keys.length;\n var values = Array(length);\n for (var i = 0; i < length; i++) {\n values[i] = obj[_keys[i]];\n }\n return values;\n}\n","import keys from './keys.js';\n\n// Convert an object into a list of `[key, value]` pairs.\n// The opposite of `_.object` with one argument.\nexport default function pairs(obj) {\n var _keys = keys(obj);\n var length = _keys.length;\n var pairs = Array(length);\n for (var i = 0; i < length; i++) {\n pairs[i] = [_keys[i], obj[_keys[i]]];\n }\n return pairs;\n}\n","import keys from './keys.js';\n\n// Invert the keys and values of an object. The values must be serializable.\nexport default function invert(obj) {\n var result = {};\n var _keys = keys(obj);\n for (var i = 0, length = _keys.length; i < length; i++) {\n result[obj[_keys[i]]] = _keys[i];\n }\n return result;\n}\n","import isFunction from './isFunction.js';\n\n// Return a sorted list of the function names available on the object.\nexport default function functions(obj) {\n var names = [];\n for (var key in obj) {\n if (isFunction(obj[key])) names.push(key);\n }\n return names.sort();\n}\n","// An internal function for creating assigner functions.\nexport default function createAssigner(keysFunc, defaults) {\n return function(obj) {\n var length = arguments.length;\n if (defaults) obj = Object(obj);\n if (length < 2 || obj == null) return obj;\n for (var index = 1; index < length; index++) {\n var source = arguments[index],\n keys = keysFunc(source),\n l = keys.length;\n for (var i = 0; i < l; i++) {\n var key = keys[i];\n if (!defaults || obj[key] === void 0) obj[key] = source[key];\n }\n }\n return obj;\n };\n}\n","import createAssigner from './_createAssigner.js';\nimport allKeys from './allKeys.js';\n\n// Extend a given object with all the properties in passed-in object(s).\nexport default createAssigner(allKeys);\n","import createAssigner from './_createAssigner.js';\nimport keys from './keys.js';\n\n// Assigns a given object with all the own properties in the passed-in\n// object(s).\n// (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)\nexport default createAssigner(keys);\n","import createAssigner from './_createAssigner.js';\nimport allKeys from './allKeys.js';\n\n// Fill in a given object with default properties.\nexport default createAssigner(allKeys, true);\n","import isObject from './isObject.js';\nimport { nativeCreate } from './_setup.js';\n\n// Create a naked function reference for surrogate-prototype-swapping.\nfunction ctor() {\n return function(){};\n}\n\n// An internal function for creating a new object that inherits from another.\nexport default function baseCreate(prototype) {\n if (!isObject(prototype)) return {};\n if (nativeCreate) return nativeCreate(prototype);\n var Ctor = ctor();\n Ctor.prototype = prototype;\n var result = new Ctor;\n Ctor.prototype = null;\n return result;\n}\n","import baseCreate from './_baseCreate.js';\nimport extendOwn from './extendOwn.js';\n\n// Creates an object that inherits from the given prototype object.\n// If additional properties are provided then they will be added to the\n// created object.\nexport default function create(prototype, props) {\n var result = baseCreate(prototype);\n if (props) extendOwn(result, props);\n return result;\n}\n","import isObject from './isObject.js';\nimport isArray from './isArray.js';\nimport extend from './extend.js';\n\n// Create a (shallow-cloned) duplicate of an object.\nexport default function clone(obj) {\n if (!isObject(obj)) return obj;\n return isArray(obj) ? obj.slice() : extend({}, obj);\n}\n","// Invokes `interceptor` with the `obj` and then returns `obj`.\n// The primary purpose of this method is to \"tap into\" a method chain, in\n// order to perform operations on intermediate results within the chain.\nexport default function tap(obj, interceptor) {\n interceptor(obj);\n return obj;\n}\n","import _ from './underscore.js';\nimport isArray from './isArray.js';\n\n// Normalize a (deep) property `path` to array.\n// Like `_.iteratee`, this function can be customized.\nexport default function toPath(path) {\n return isArray(path) ? path : [path];\n}\n_.toPath = toPath;\n","import _ from './underscore.js';\nimport './toPath.js';\n\n// Internal wrapper for `_.toPath` to enable minification.\n// Similar to `cb` for `_.iteratee`.\nexport default function toPath(path) {\n return _.toPath(path);\n}\n","// Internal function to obtain a nested property in `obj` along `path`.\nexport default function deepGet(obj, path) {\n var length = path.length;\n for (var i = 0; i < length; i++) {\n if (obj == null) return void 0;\n obj = obj[path[i]];\n }\n return length ? obj : void 0;\n}\n","import toPath from './_toPath.js';\nimport deepGet from './_deepGet.js';\nimport isUndefined from './isUndefined.js';\n\n// Get the value of the (deep) property on `path` from `object`.\n// If any property in `path` does not exist or if the value is\n// `undefined`, return `defaultValue` instead.\n// The `path` is normalized through `_.toPath`.\nexport default function get(object, path, defaultValue) {\n var value = deepGet(object, toPath(path));\n return isUndefined(value) ? defaultValue : value;\n}\n","import _has from './_has.js';\nimport toPath from './_toPath.js';\n\n// Shortcut function for checking if an object has a given property directly on\n// itself (in other words, not on a prototype). Unlike the internal `has`\n// function, this public version can also traverse nested properties.\nexport default function has(obj, path) {\n path = toPath(path);\n var length = path.length;\n for (var i = 0; i < length; i++) {\n var key = path[i];\n if (!_has(obj, key)) return false;\n obj = obj[key];\n }\n return !!length;\n}\n","// Keep the identity function around for default iteratees.\nexport default function identity(value) {\n return value;\n}\n","import extendOwn from './extendOwn.js';\nimport isMatch from './isMatch.js';\n\n// Returns a predicate for checking whether an object has a given set of\n// `key:value` pairs.\nexport default function matcher(attrs) {\n attrs = extendOwn({}, attrs);\n return function(obj) {\n return isMatch(obj, attrs);\n };\n}\n","import deepGet from './_deepGet.js';\nimport toPath from './_toPath.js';\n\n// Creates a function that, when passed an object, will traverse that object’s\n// properties down the given `path`, specified as an array of keys or indices.\nexport default function property(path) {\n path = toPath(path);\n return function(obj) {\n return deepGet(obj, path);\n };\n}\n","// Internal function that returns an efficient (for current engines) version\n// of the passed-in callback, to be repeatedly applied in other Underscore\n// functions.\nexport default function optimizeCb(func, context, argCount) {\n if (context === void 0) return func;\n switch (argCount == null ? 3 : argCount) {\n case 1: return function(value) {\n return func.call(context, value);\n };\n // The 2-argument case is omitted because we’re not using it.\n case 3: return function(value, index, collection) {\n return func.call(context, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(context, accumulator, value, index, collection);\n };\n }\n return function() {\n return func.apply(context, arguments);\n };\n}\n","import identity from './identity.js';\nimport isFunction from './isFunction.js';\nimport isObject from './isObject.js';\nimport isArray from './isArray.js';\nimport matcher from './matcher.js';\nimport property from './property.js';\nimport optimizeCb from './_optimizeCb.js';\n\n// An internal function to generate callbacks that can be applied to each\n// element in a collection, returning the desired result — either `_.identity`,\n// an arbitrary callback, a property matcher, or a property accessor.\nexport default function baseIteratee(value, context, argCount) {\n if (value == null) return identity;\n if (isFunction(value)) return optimizeCb(value, context, argCount);\n if (isObject(value) && !isArray(value)) return matcher(value);\n return property(value);\n}\n","import _ from './underscore.js';\nimport baseIteratee from './_baseIteratee.js';\n\n// External wrapper for our callback generator. Users may customize\n// `_.iteratee` if they want additional predicate/iteratee shorthand styles.\n// This abstraction hides the internal-only `argCount` argument.\nexport default function iteratee(value, context) {\n return baseIteratee(value, context, Infinity);\n}\n_.iteratee = iteratee;\n","import _ from './underscore.js';\nimport baseIteratee from './_baseIteratee.js';\nimport iteratee from './iteratee.js';\n\n// The function we call internally to generate a callback. It invokes\n// `_.iteratee` if overridden, otherwise `baseIteratee`.\nexport default function cb(value, context, argCount) {\n if (_.iteratee !== iteratee) return _.iteratee(value, context);\n return baseIteratee(value, context, argCount);\n}\n","import cb from './_cb.js';\nimport keys from './keys.js';\n\n// Returns the results of applying the `iteratee` to each element of `obj`.\n// In contrast to `_.map` it returns an object.\nexport default function mapObject(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n var _keys = keys(obj),\n length = _keys.length,\n results = {};\n for (var index = 0; index < length; index++) {\n var currentKey = _keys[index];\n results[currentKey] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n}\n","// Predicate-generating function. Often useful outside of Underscore.\nexport default function noop(){}\n","import noop from './noop.js';\nimport get from './get.js';\n\n// Generates a function for a given object that returns a given property.\nexport default function propertyOf(obj) {\n if (obj == null) return noop;\n return function(path) {\n return get(obj, path);\n };\n}\n","import optimizeCb from './_optimizeCb.js';\n\n// Run a function **n** times.\nexport default function times(n, iteratee, context) {\n var accum = Array(Math.max(0, n));\n iteratee = optimizeCb(iteratee, context, 1);\n for (var i = 0; i < n; i++) accum[i] = iteratee(i);\n return accum;\n}\n","// Return a random integer between `min` and `max` (inclusive).\nexport default function random(min, max) {\n if (max == null) {\n max = min;\n min = 0;\n }\n return min + Math.floor(Math.random() * (max - min + 1));\n}\n","// A (possibly faster) way to get the current timestamp as an integer.\nexport default Date.now || function() {\n return new Date().getTime();\n};\n","import keys from './keys.js';\n\n// Internal helper to generate functions for escaping and unescaping strings\n// to/from HTML interpolation.\nexport default function createEscaper(map) {\n var escaper = function(match) {\n return map[match];\n };\n // Regexes for identifying a key that needs to be escaped.\n var source = '(?:' + keys(map).join('|') + ')';\n var testRegexp = RegExp(source);\n var replaceRegexp = RegExp(source, 'g');\n return function(string) {\n string = string == null ? '' : '' + string;\n return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;\n };\n}\n","// Internal list of HTML entities for escaping.\nexport default {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '`': '`'\n};\n","import createEscaper from './_createEscaper.js';\nimport escapeMap from './_escapeMap.js';\n\n// Function for escaping strings to HTML interpolation.\nexport default createEscaper(escapeMap);\n","import createEscaper from './_createEscaper.js';\nimport unescapeMap from './_unescapeMap.js';\n\n// Function for unescaping strings from HTML interpolation.\nexport default createEscaper(unescapeMap);\n","import invert from './invert.js';\nimport escapeMap from './_escapeMap.js';\n\n// Internal list of HTML entities for unescaping.\nexport default invert(escapeMap);\n","import _ from './underscore.js';\n\n// By default, Underscore uses ERB-style template delimiters. Change the\n// following template settings to use alternative delimiters.\nexport default _.templateSettings = {\n evaluate: /<%([\\s\\S]+?)%>/g,\n interpolate: /<%=([\\s\\S]+?)%>/g,\n escape: /<%-([\\s\\S]+?)%>/g\n};\n","import defaults from './defaults.js';\nimport _ from './underscore.js';\nimport './templateSettings.js';\n\n// When customizing `_.templateSettings`, if you don't want to define an\n// interpolation, evaluation or escaping regex, we need one that is\n// guaranteed not to match.\nvar noMatch = /(.)^/;\n\n// Certain characters need to be escaped so that they can be put into a\n// string literal.\nvar escapes = {\n \"'\": \"'\",\n '\\\\': '\\\\',\n '\\r': 'r',\n '\\n': 'n',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n};\n\nvar escapeRegExp = /\\\\|'|\\r|\\n|\\u2028|\\u2029/g;\n\nfunction escapeChar(match) {\n return '\\\\' + escapes[match];\n}\n\n// In order to prevent third-party code injection through\n// `_.templateSettings.variable`, we test it against the following regular\n// expression. It is intentionally a bit more liberal than just matching valid\n// identifiers, but still prevents possible loopholes through defaults or\n// destructuring assignment.\nvar bareIdentifier = /^\\s*(\\w|\\$)+\\s*$/;\n\n// JavaScript micro-templating, similar to John Resig's implementation.\n// Underscore templating handles arbitrary delimiters, preserves whitespace,\n// and correctly escapes quotes within interpolated code.\n// NB: `oldSettings` only exists for backwards compatibility.\nexport default function template(text, settings, oldSettings) {\n if (!settings && oldSettings) settings = oldSettings;\n settings = defaults({}, settings, _.templateSettings);\n\n // Combine delimiters into one regular expression via alternation.\n var matcher = RegExp([\n (settings.escape || noMatch).source,\n (settings.interpolate || noMatch).source,\n (settings.evaluate || noMatch).source\n ].join('|') + '|$', 'g');\n\n // Compile the template source, escaping string literals appropriately.\n var index = 0;\n var source = \"__p+='\";\n text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {\n source += text.slice(index, offset).replace(escapeRegExp, escapeChar);\n index = offset + match.length;\n\n if (escape) {\n source += \"'+\\n((__t=(\" + escape + \"))==null?'':_.escape(__t))+\\n'\";\n } else if (interpolate) {\n source += \"'+\\n((__t=(\" + interpolate + \"))==null?'':__t)+\\n'\";\n } else if (evaluate) {\n source += \"';\\n\" + evaluate + \"\\n__p+='\";\n }\n\n // Adobe VMs need the match returned to produce the correct offset.\n return match;\n });\n source += \"';\\n\";\n\n var argument = settings.variable;\n if (argument) {\n // Insure against third-party code injection. (CVE-2021-23358)\n if (!bareIdentifier.test(argument)) throw new Error(\n 'variable is not a bare identifier: ' + argument\n );\n } else {\n // If a variable is not specified, place data values in local scope.\n source = 'with(obj||{}){\\n' + source + '}\\n';\n argument = 'obj';\n }\n\n source = \"var __t,__p='',__j=Array.prototype.join,\" +\n \"print=function(){__p+=__j.call(arguments,'');};\\n\" +\n source + 'return __p;\\n';\n\n var render;\n try {\n render = new Function(argument, '_', source);\n } catch (e) {\n e.source = source;\n throw e;\n }\n\n var template = function(data) {\n return render.call(this, data, _);\n };\n\n // Provide the compiled source as a convenience for precompilation.\n template.source = 'function(' + argument + '){\\n' + source + '}';\n\n return template;\n}\n","import isFunction from './isFunction.js';\nimport toPath from './_toPath.js';\n\n// Traverses the children of `obj` along `path`. If a child is a function, it\n// is invoked with its parent as context. Returns the value of the final\n// child, or `fallback` if any child is undefined.\nexport default function result(obj, path, fallback) {\n path = toPath(path);\n var length = path.length;\n if (!length) {\n return isFunction(fallback) ? fallback.call(obj) : fallback;\n }\n for (var i = 0; i < length; i++) {\n var prop = obj == null ? void 0 : obj[path[i]];\n if (prop === void 0) {\n prop = fallback;\n i = length; // Ensure we don't continue iterating.\n }\n obj = isFunction(prop) ? prop.call(obj) : prop;\n }\n return obj;\n}\n","// Generate a unique integer id (unique within the entire client session).\n// Useful for temporary DOM ids.\nvar idCounter = 0;\nexport default function uniqueId(prefix) {\n var id = ++idCounter + '';\n return prefix ? prefix + id : id;\n}\n","import _ from './underscore.js';\n\n// Start chaining a wrapped Underscore object.\nexport default function chain(obj) {\n var instance = _(obj);\n instance._chain = true;\n return instance;\n}\n","import baseCreate from './_baseCreate.js';\nimport isObject from './isObject.js';\n\n// Internal function to execute `sourceFunc` bound to `context` with optional\n// `args`. Determines whether to execute a function as a constructor or as a\n// normal function.\nexport default function executeBound(sourceFunc, boundFunc, context, callingContext, args) {\n if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args);\n var self = baseCreate(sourceFunc.prototype);\n var result = sourceFunc.apply(self, args);\n if (isObject(result)) return result;\n return self;\n}\n","import restArguments from './restArguments.js';\nimport executeBound from './_executeBound.js';\nimport _ from './underscore.js';\n\n// Partially apply a function by creating a version that has had some of its\n// arguments pre-filled, without changing its dynamic `this` context. `_` acts\n// as a placeholder by default, allowing any combination of arguments to be\n// pre-filled. Set `_.partial.placeholder` for a custom placeholder argument.\nvar partial = restArguments(function(func, boundArgs) {\n var placeholder = partial.placeholder;\n var bound = function() {\n var position = 0, length = boundArgs.length;\n var args = Array(length);\n for (var i = 0; i < length; i++) {\n args[i] = boundArgs[i] === placeholder ? arguments[position++] : boundArgs[i];\n }\n while (position < arguments.length) args.push(arguments[position++]);\n return executeBound(func, bound, this, this, args);\n };\n return bound;\n});\n\npartial.placeholder = _;\nexport default partial;\n","import restArguments from './restArguments.js';\nimport isFunction from './isFunction.js';\nimport executeBound from './_executeBound.js';\n\n// Create a function bound to a given object (assigning `this`, and arguments,\n// optionally).\nexport default restArguments(function(func, context, args) {\n if (!isFunction(func)) throw new TypeError('Bind must be called on a function');\n var bound = restArguments(function(callArgs) {\n return executeBound(func, bound, context, this, args.concat(callArgs));\n });\n return bound;\n});\n","import createSizePropertyCheck from './_createSizePropertyCheck.js';\nimport getLength from './_getLength.js';\n\n// Internal helper for collection methods to determine whether a collection\n// should be iterated as an array or as an object.\n// Related: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength\n// Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094\nexport default createSizePropertyCheck(getLength);\n","import getLength from './_getLength.js';\nimport isArrayLike from './_isArrayLike.js';\nimport isArray from './isArray.js';\nimport isArguments from './isArguments.js';\n\n// Internal implementation of a recursive `flatten` function.\nexport default function flatten(input, depth, strict, output) {\n output = output || [];\n if (!depth && depth !== 0) {\n depth = Infinity;\n } else if (depth <= 0) {\n return output.concat(input);\n }\n var idx = output.length;\n for (var i = 0, length = getLength(input); i < length; i++) {\n var value = input[i];\n if (isArrayLike(value) && (isArray(value) || isArguments(value))) {\n // Flatten current level of array or arguments object.\n if (depth > 1) {\n flatten(value, depth - 1, strict, output);\n idx = output.length;\n } else {\n var j = 0, len = value.length;\n while (j < len) output[idx++] = value[j++];\n }\n } else if (!strict) {\n output[idx++] = value;\n }\n }\n return output;\n}\n","import restArguments from './restArguments.js';\nimport flatten from './_flatten.js';\nimport bind from './bind.js';\n\n// Bind a number of an object's methods to that object. Remaining arguments\n// are the method names to be bound. Useful for ensuring that all callbacks\n// defined on an object belong to it.\nexport default restArguments(function(obj, keys) {\n keys = flatten(keys, false, false);\n var index = keys.length;\n if (index < 1) throw new Error('bindAll must be passed function names');\n while (index--) {\n var key = keys[index];\n obj[key] = bind(obj[key], obj);\n }\n return obj;\n});\n","import has from './_has.js';\n\n// Memoize an expensive function by storing its results.\nexport default function memoize(func, hasher) {\n var memoize = function(key) {\n var cache = memoize.cache;\n var address = '' + (hasher ? hasher.apply(this, arguments) : key);\n if (!has(cache, address)) cache[address] = func.apply(this, arguments);\n return cache[address];\n };\n memoize.cache = {};\n return memoize;\n}\n","import restArguments from './restArguments.js';\n\n// Delays a function for the given number of milliseconds, and then calls\n// it with the arguments supplied.\nexport default restArguments(function(func, wait, args) {\n return setTimeout(function() {\n return func.apply(null, args);\n }, wait);\n});\n","import partial from './partial.js';\nimport delay from './delay.js';\nimport _ from './underscore.js';\n\n// Defers a function, scheduling it to run after the current call stack has\n// cleared.\nexport default partial(delay, _, 1);\n","import now from './now.js';\n\n// Returns a function, that, when invoked, will only be triggered at most once\n// during a given window of time. Normally, the throttled function will run\n// as much as it can, without ever going more than once per `wait` duration;\n// but if you'd like to disable the execution on the leading edge, pass\n// `{leading: false}`. To disable execution on the trailing edge, ditto.\nexport default function throttle(func, wait, options) {\n var timeout, context, args, result;\n var previous = 0;\n if (!options) options = {};\n\n var later = function() {\n previous = options.leading === false ? 0 : now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n };\n\n var throttled = function() {\n var _now = now();\n if (!previous && options.leading === false) previous = _now;\n var remaining = wait - (_now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = _now;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n\n throttled.cancel = function() {\n clearTimeout(timeout);\n previous = 0;\n timeout = context = args = null;\n };\n\n return throttled;\n}\n","import restArguments from './restArguments.js';\nimport now from './now.js';\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. If `immediate` is passed, the argument function will be\n// triggered at the beginning of the sequence instead of at the end.\nexport default function debounce(func, wait, immediate) {\n var timeout, previous, args, result, context;\n\n var later = function() {\n var passed = now() - previous;\n if (wait > passed) {\n timeout = setTimeout(later, wait - passed);\n } else {\n timeout = null;\n if (!immediate) result = func.apply(context, args);\n // This check is needed because `func` can recursively invoke `debounced`.\n if (!timeout) args = context = null;\n }\n };\n\n var debounced = restArguments(function(_args) {\n context = this;\n args = _args;\n previous = now();\n if (!timeout) {\n timeout = setTimeout(later, wait);\n if (immediate) result = func.apply(context, args);\n }\n return result;\n });\n\n debounced.cancel = function() {\n clearTimeout(timeout);\n timeout = args = context = null;\n };\n\n return debounced;\n}\n","import partial from './partial.js';\n\n// Returns the first function passed as an argument to the second,\n// allowing you to adjust arguments, run code before and after, and\n// conditionally execute the original function.\nexport default function wrap(func, wrapper) {\n return partial(wrapper, func);\n}\n","// Returns a negated version of the passed-in predicate.\nexport default function negate(predicate) {\n return function() {\n return !predicate.apply(this, arguments);\n };\n}\n","// Returns a function that is the composition of a list of functions, each\n// consuming the return value of the function that follows.\nexport default function compose() {\n var args = arguments;\n var start = args.length - 1;\n return function() {\n var i = start;\n var result = args[start].apply(this, arguments);\n while (i--) result = args[i].call(this, result);\n return result;\n };\n}\n","// Returns a function that will only be executed on and after the Nth call.\nexport default function after(times, func) {\n return function() {\n if (--times < 1) {\n return func.apply(this, arguments);\n }\n };\n}\n","// Returns a function that will only be executed up to (but not including) the\n// Nth call.\nexport default function before(times, func) {\n var memo;\n return function() {\n if (--times > 0) {\n memo = func.apply(this, arguments);\n }\n if (times <= 1) func = null;\n return memo;\n };\n}\n","import partial from './partial.js';\nimport before from './before.js';\n\n// Returns a function that will be executed at most one time, no matter how\n// often you call it. Useful for lazy initialization.\nexport default partial(before, 2);\n","import cb from './_cb.js';\nimport keys from './keys.js';\n\n// Returns the first key on an object that passes a truth test.\nexport default function findKey(obj, predicate, context) {\n predicate = cb(predicate, context);\n var _keys = keys(obj), key;\n for (var i = 0, length = _keys.length; i < length; i++) {\n key = _keys[i];\n if (predicate(obj[key], key, obj)) return key;\n }\n}\n","import cb from './_cb.js';\nimport getLength from './_getLength.js';\n\n// Internal function to generate `_.findIndex` and `_.findLastIndex`.\nexport default function createPredicateIndexFinder(dir) {\n return function(array, predicate, context) {\n predicate = cb(predicate, context);\n var length = getLength(array);\n var index = dir > 0 ? 0 : length - 1;\n for (; index >= 0 && index < length; index += dir) {\n if (predicate(array[index], index, array)) return index;\n }\n return -1;\n };\n}\n","import createPredicateIndexFinder from './_createPredicateIndexFinder.js';\n\n// Returns the first index on an array-like that passes a truth test.\nexport default createPredicateIndexFinder(1);\n","import createPredicateIndexFinder from './_createPredicateIndexFinder.js';\n\n// Returns the last index on an array-like that passes a truth test.\nexport default createPredicateIndexFinder(-1);\n","import cb from './_cb.js';\nimport getLength from './_getLength.js';\n\n// Use a comparator function to figure out the smallest index at which\n// an object should be inserted so as to maintain order. Uses binary search.\nexport default function sortedIndex(array, obj, iteratee, context) {\n iteratee = cb(iteratee, context, 1);\n var value = iteratee(obj);\n var low = 0, high = getLength(array);\n while (low < high) {\n var mid = Math.floor((low + high) / 2);\n if (iteratee(array[mid]) < value) low = mid + 1; else high = mid;\n }\n return low;\n}\n","import getLength from './_getLength.js';\nimport { slice } from './_setup.js';\nimport isNaN from './isNaN.js';\n\n// Internal function to generate the `_.indexOf` and `_.lastIndexOf` functions.\nexport default function createIndexFinder(dir, predicateFind, sortedIndex) {\n return function(array, item, idx) {\n var i = 0, length = getLength(array);\n if (typeof idx == 'number') {\n if (dir > 0) {\n i = idx >= 0 ? idx : Math.max(idx + length, i);\n } else {\n length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1;\n }\n } else if (sortedIndex && idx && length) {\n idx = sortedIndex(array, item);\n return array[idx] === item ? idx : -1;\n }\n if (item !== item) {\n idx = predicateFind(slice.call(array, i, length), isNaN);\n return idx >= 0 ? idx + i : -1;\n }\n for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) {\n if (array[idx] === item) return idx;\n }\n return -1;\n };\n}\n","import sortedIndex from './sortedIndex.js';\nimport findIndex from './findIndex.js';\nimport createIndexFinder from './_createIndexFinder.js';\n\n// Return the position of the first occurrence of an item in an array,\n// or -1 if the item is not included in the array.\n// If the array is large and already in sort order, pass `true`\n// for **isSorted** to use binary search.\nexport default createIndexFinder(1, findIndex, sortedIndex);\n","import findLastIndex from './findLastIndex.js';\nimport createIndexFinder from './_createIndexFinder.js';\n\n// Return the position of the last occurrence of an item in an array,\n// or -1 if the item is not included in the array.\nexport default createIndexFinder(-1, findLastIndex);\n","import isArrayLike from './_isArrayLike.js';\nimport findIndex from './findIndex.js';\nimport findKey from './findKey.js';\n\n// Return the first value which passes a truth test.\nexport default function find(obj, predicate, context) {\n var keyFinder = isArrayLike(obj) ? findIndex : findKey;\n var key = keyFinder(obj, predicate, context);\n if (key !== void 0 && key !== -1) return obj[key];\n}\n","import find from './find.js';\nimport matcher from './matcher.js';\n\n// Convenience version of a common use case of `_.find`: getting the first\n// object containing specific `key:value` pairs.\nexport default function findWhere(obj, attrs) {\n return find(obj, matcher(attrs));\n}\n","import optimizeCb from './_optimizeCb.js';\nimport isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\n\n// The cornerstone for collection functions, an `each`\n// implementation, aka `forEach`.\n// Handles raw objects in addition to array-likes. Treats all\n// sparse array-likes as if they were dense.\nexport default function each(obj, iteratee, context) {\n iteratee = optimizeCb(iteratee, context);\n var i, length;\n if (isArrayLike(obj)) {\n for (i = 0, length = obj.length; i < length; i++) {\n iteratee(obj[i], i, obj);\n }\n } else {\n var _keys = keys(obj);\n for (i = 0, length = _keys.length; i < length; i++) {\n iteratee(obj[_keys[i]], _keys[i], obj);\n }\n }\n return obj;\n}\n","import cb from './_cb.js';\nimport isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\n\n// Return the results of applying the iteratee to each element.\nexport default function map(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length,\n results = Array(length);\n for (var index = 0; index < length; index++) {\n var currentKey = _keys ? _keys[index] : index;\n results[index] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n}\n","import isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\nimport optimizeCb from './_optimizeCb.js';\n\n// Internal helper to create a reducing function, iterating left or right.\nexport default function createReduce(dir) {\n // Wrap code that reassigns argument variables in a separate function than\n // the one that accesses `arguments.length` to avoid a perf hit. (#1991)\n var reducer = function(obj, iteratee, memo, initial) {\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length,\n index = dir > 0 ? 0 : length - 1;\n if (!initial) {\n memo = obj[_keys ? _keys[index] : index];\n index += dir;\n }\n for (; index >= 0 && index < length; index += dir) {\n var currentKey = _keys ? _keys[index] : index;\n memo = iteratee(memo, obj[currentKey], currentKey, obj);\n }\n return memo;\n };\n\n return function(obj, iteratee, memo, context) {\n var initial = arguments.length >= 3;\n return reducer(obj, optimizeCb(iteratee, context, 4), memo, initial);\n };\n}\n","import createReduce from './_createReduce.js';\n\n// **Reduce** builds up a single result from a list of values, aka `inject`,\n// or `foldl`.\nexport default createReduce(1);\n","import createReduce from './_createReduce.js';\n\n// The right-associative version of reduce, also known as `foldr`.\nexport default createReduce(-1);\n","import cb from './_cb.js';\nimport each from './each.js';\n\n// Return all the elements that pass a truth test.\nexport default function filter(obj, predicate, context) {\n var results = [];\n predicate = cb(predicate, context);\n each(obj, function(value, index, list) {\n if (predicate(value, index, list)) results.push(value);\n });\n return results;\n}\n","import filter from './filter.js';\nimport negate from './negate.js';\nimport cb from './_cb.js';\n\n// Return all the elements for which a truth test fails.\nexport default function reject(obj, predicate, context) {\n return filter(obj, negate(cb(predicate)), context);\n}\n","import cb from './_cb.js';\nimport isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\n\n// Determine whether all of the elements pass a truth test.\nexport default function every(obj, predicate, context) {\n predicate = cb(predicate, context);\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length;\n for (var index = 0; index < length; index++) {\n var currentKey = _keys ? _keys[index] : index;\n if (!predicate(obj[currentKey], currentKey, obj)) return false;\n }\n return true;\n}\n","import cb from './_cb.js';\nimport isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\n\n// Determine if at least one element in the object passes a truth test.\nexport default function some(obj, predicate, context) {\n predicate = cb(predicate, context);\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length;\n for (var index = 0; index < length; index++) {\n var currentKey = _keys ? _keys[index] : index;\n if (predicate(obj[currentKey], currentKey, obj)) return true;\n }\n return false;\n}\n","import isArrayLike from './_isArrayLike.js';\nimport values from './values.js';\nimport indexOf from './indexOf.js';\n\n// Determine if the array or object contains a given item (using `===`).\nexport default function contains(obj, item, fromIndex, guard) {\n if (!isArrayLike(obj)) obj = values(obj);\n if (typeof fromIndex != 'number' || guard) fromIndex = 0;\n return indexOf(obj, item, fromIndex) >= 0;\n}\n","import restArguments from './restArguments.js';\nimport isFunction from './isFunction.js';\nimport map from './map.js';\nimport deepGet from './_deepGet.js';\nimport toPath from './_toPath.js';\n\n// Invoke a method (with arguments) on every item in a collection.\nexport default restArguments(function(obj, path, args) {\n var contextPath, func;\n if (isFunction(path)) {\n func = path;\n } else {\n path = toPath(path);\n contextPath = path.slice(0, -1);\n path = path[path.length - 1];\n }\n return map(obj, function(context) {\n var method = func;\n if (!method) {\n if (contextPath && contextPath.length) {\n context = deepGet(context, contextPath);\n }\n if (context == null) return void 0;\n method = context[path];\n }\n return method == null ? method : method.apply(context, args);\n });\n});\n","import map from './map.js';\nimport property from './property.js';\n\n// Convenience version of a common use case of `_.map`: fetching a property.\nexport default function pluck(obj, key) {\n return map(obj, property(key));\n}\n","import filter from './filter.js';\nimport matcher from './matcher.js';\n\n// Convenience version of a common use case of `_.filter`: selecting only\n// objects containing specific `key:value` pairs.\nexport default function where(obj, attrs) {\n return filter(obj, matcher(attrs));\n}\n","import isArrayLike from './_isArrayLike.js';\nimport values from './values.js';\nimport cb from './_cb.js';\nimport each from './each.js';\n\n// Return the maximum element (or element-based computation).\nexport default function max(obj, iteratee, context) {\n var result = -Infinity, lastComputed = -Infinity,\n value, computed;\n if (iteratee == null || (typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null)) {\n obj = isArrayLike(obj) ? obj : values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value != null && value > result) {\n result = value;\n }\n }\n } else {\n iteratee = cb(iteratee, context);\n each(obj, function(v, index, list) {\n computed = iteratee(v, index, list);\n if (computed > lastComputed || (computed === -Infinity && result === -Infinity)) {\n result = v;\n lastComputed = computed;\n }\n });\n }\n return result;\n}\n","import isArrayLike from './_isArrayLike.js';\nimport values from './values.js';\nimport cb from './_cb.js';\nimport each from './each.js';\n\n// Return the minimum element (or element-based computation).\nexport default function min(obj, iteratee, context) {\n var result = Infinity, lastComputed = Infinity,\n value, computed;\n if (iteratee == null || (typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null)) {\n obj = isArrayLike(obj) ? obj : values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value != null && value < result) {\n result = value;\n }\n }\n } else {\n iteratee = cb(iteratee, context);\n each(obj, function(v, index, list) {\n computed = iteratee(v, index, list);\n if (computed < lastComputed || (computed === Infinity && result === Infinity)) {\n result = v;\n lastComputed = computed;\n }\n });\n }\n return result;\n}\n","import isArray from './isArray.js';\nimport { slice } from './_setup.js';\nimport isString from './isString.js';\nimport isArrayLike from './_isArrayLike.js';\nimport map from './map.js';\nimport identity from './identity.js';\nimport values from './values.js';\n\n// Safely create a real, live array from anything iterable.\nvar reStrSymbol = /[^\\ud800-\\udfff]|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff]/g;\nexport default function toArray(obj) {\n if (!obj) return [];\n if (isArray(obj)) return slice.call(obj);\n if (isString(obj)) {\n // Keep surrogate pair characters together.\n return obj.match(reStrSymbol);\n }\n if (isArrayLike(obj)) return map(obj, identity);\n return values(obj);\n}\n","import isArrayLike from './_isArrayLike.js';\nimport values from './values.js';\nimport getLength from './_getLength.js';\nimport random from './random.js';\nimport toArray from './toArray.js';\n\n// Sample **n** random values from a collection using the modern version of the\n// [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher–Yates_shuffle).\n// If **n** is not specified, returns a single random element.\n// The internal `guard` argument allows it to work with `_.map`.\nexport default function sample(obj, n, guard) {\n if (n == null || guard) {\n if (!isArrayLike(obj)) obj = values(obj);\n return obj[random(obj.length - 1)];\n }\n var sample = toArray(obj);\n var length = getLength(sample);\n n = Math.max(Math.min(n, length), 0);\n var last = length - 1;\n for (var index = 0; index < n; index++) {\n var rand = random(index, last);\n var temp = sample[index];\n sample[index] = sample[rand];\n sample[rand] = temp;\n }\n return sample.slice(0, n);\n}\n","import sample from './sample.js';\n\n// Shuffle a collection.\nexport default function shuffle(obj) {\n return sample(obj, Infinity);\n}\n","import cb from './_cb.js';\nimport pluck from './pluck.js';\nimport map from './map.js';\n\n// Sort the object's values by a criterion produced by an iteratee.\nexport default function sortBy(obj, iteratee, context) {\n var index = 0;\n iteratee = cb(iteratee, context);\n return pluck(map(obj, function(value, key, list) {\n return {\n value: value,\n index: index++,\n criteria: iteratee(value, key, list)\n };\n }).sort(function(left, right) {\n var a = left.criteria;\n var b = right.criteria;\n if (a !== b) {\n if (a > b || a === void 0) return 1;\n if (a < b || b === void 0) return -1;\n }\n return left.index - right.index;\n }), 'value');\n}\n","import cb from './_cb.js';\nimport each from './each.js';\n\n// An internal function used for aggregate \"group by\" operations.\nexport default function group(behavior, partition) {\n return function(obj, iteratee, context) {\n var result = partition ? [[], []] : {};\n iteratee = cb(iteratee, context);\n each(obj, function(value, index) {\n var key = iteratee(value, index, obj);\n behavior(result, value, key);\n });\n return result;\n };\n}\n","import group from './_group.js';\nimport has from './_has.js';\n\n// Groups the object's values by a criterion. Pass either a string attribute\n// to group by, or a function that returns the criterion.\nexport default group(function(result, value, key) {\n if (has(result, key)) result[key].push(value); else result[key] = [value];\n});\n","import group from './_group.js';\n\n// Indexes the object's values by a criterion, similar to `_.groupBy`, but for\n// when you know that your index values will be unique.\nexport default group(function(result, value, key) {\n result[key] = value;\n});\n","import group from './_group.js';\nimport has from './_has.js';\n\n// Counts instances of an object that group by a certain criterion. Pass\n// either a string attribute to count by, or a function that returns the\n// criterion.\nexport default group(function(result, value, key) {\n if (has(result, key)) result[key]++; else result[key] = 1;\n});\n","import group from './_group.js';\n\n// Split a collection into two arrays: one whose elements all pass the given\n// truth test, and one whose elements all do not pass the truth test.\nexport default group(function(result, value, pass) {\n result[pass ? 0 : 1].push(value);\n}, true);\n","import isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\n\n// Return the number of elements in a collection.\nexport default function size(obj) {\n if (obj == null) return 0;\n return isArrayLike(obj) ? obj.length : keys(obj).length;\n}\n","// Internal `_.pick` helper function to determine whether `key` is an enumerable\n// property name of `obj`.\nexport default function keyInObj(value, key, obj) {\n return key in obj;\n}\n","import restArguments from './restArguments.js';\nimport isFunction from './isFunction.js';\nimport optimizeCb from './_optimizeCb.js';\nimport allKeys from './allKeys.js';\nimport keyInObj from './_keyInObj.js';\nimport flatten from './_flatten.js';\n\n// Return a copy of the object only containing the allowed properties.\nexport default restArguments(function(obj, keys) {\n var result = {}, iteratee = keys[0];\n if (obj == null) return result;\n if (isFunction(iteratee)) {\n if (keys.length > 1) iteratee = optimizeCb(iteratee, keys[1]);\n keys = allKeys(obj);\n } else {\n iteratee = keyInObj;\n keys = flatten(keys, false, false);\n obj = Object(obj);\n }\n for (var i = 0, length = keys.length; i < length; i++) {\n var key = keys[i];\n var value = obj[key];\n if (iteratee(value, key, obj)) result[key] = value;\n }\n return result;\n});\n","import restArguments from './restArguments.js';\nimport isFunction from './isFunction.js';\nimport negate from './negate.js';\nimport map from './map.js';\nimport flatten from './_flatten.js';\nimport contains from './contains.js';\nimport pick from './pick.js';\n\n// Return a copy of the object without the disallowed properties.\nexport default restArguments(function(obj, keys) {\n var iteratee = keys[0], context;\n if (isFunction(iteratee)) {\n iteratee = negate(iteratee);\n if (keys.length > 1) context = keys[1];\n } else {\n keys = map(flatten(keys, false, false), String);\n iteratee = function(value, key) {\n return !contains(keys, key);\n };\n }\n return pick(obj, iteratee, context);\n});\n","import { slice } from './_setup.js';\n\n// Returns everything but the last entry of the array. Especially useful on\n// the arguments object. Passing **n** will return all the values in\n// the array, excluding the last N.\nexport default function initial(array, n, guard) {\n return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n)));\n}\n","import initial from './initial.js';\n\n// Get the first element of an array. Passing **n** will return the first N\n// values in the array. The **guard** check allows it to work with `_.map`.\nexport default function first(array, n, guard) {\n if (array == null || array.length < 1) return n == null || guard ? void 0 : [];\n if (n == null || guard) return array[0];\n return initial(array, array.length - n);\n}\n","import { slice } from './_setup.js';\n\n// Returns everything but the first entry of the `array`. Especially useful on\n// the `arguments` object. Passing an **n** will return the rest N values in the\n// `array`.\nexport default function rest(array, n, guard) {\n return slice.call(array, n == null || guard ? 1 : n);\n}\n","import rest from './rest.js';\n\n// Get the last element of an array. Passing **n** will return the last N\n// values in the array.\nexport default function last(array, n, guard) {\n if (array == null || array.length < 1) return n == null || guard ? void 0 : [];\n if (n == null || guard) return array[array.length - 1];\n return rest(array, Math.max(0, array.length - n));\n}\n","import filter from './filter.js';\n\n// Trim out all falsy values from an array.\nexport default function compact(array) {\n return filter(array, Boolean);\n}\n","import _flatten from './_flatten.js';\n\n// Flatten out an array, either recursively (by default), or up to `depth`.\n// Passing `true` or `false` as `depth` means `1` or `Infinity`, respectively.\nexport default function flatten(array, depth) {\n return _flatten(array, depth, false);\n}\n","import restArguments from './restArguments.js';\nimport flatten from './_flatten.js';\nimport filter from './filter.js';\nimport contains from './contains.js';\n\n// Take the difference between one array and a number of other arrays.\n// Only the elements present in just the first array will remain.\nexport default restArguments(function(array, rest) {\n rest = flatten(rest, true, true);\n return filter(array, function(value){\n return !contains(rest, value);\n });\n});\n","import restArguments from './restArguments.js';\nimport difference from './difference.js';\n\n// Return a version of the array that does not contain the specified value(s).\nexport default restArguments(function(array, otherArrays) {\n return difference(array, otherArrays);\n});\n","import isBoolean from './isBoolean.js';\nimport cb from './_cb.js';\nimport getLength from './_getLength.js';\nimport contains from './contains.js';\n\n// Produce a duplicate-free version of the array. If the array has already\n// been sorted, you have the option of using a faster algorithm.\n// The faster algorithm will not work with an iteratee if the iteratee\n// is not a one-to-one function, so providing an iteratee will disable\n// the faster algorithm.\nexport default function uniq(array, isSorted, iteratee, context) {\n if (!isBoolean(isSorted)) {\n context = iteratee;\n iteratee = isSorted;\n isSorted = false;\n }\n if (iteratee != null) iteratee = cb(iteratee, context);\n var result = [];\n var seen = [];\n for (var i = 0, length = getLength(array); i < length; i++) {\n var value = array[i],\n computed = iteratee ? iteratee(value, i, array) : value;\n if (isSorted && !iteratee) {\n if (!i || seen !== computed) result.push(value);\n seen = computed;\n } else if (iteratee) {\n if (!contains(seen, computed)) {\n seen.push(computed);\n result.push(value);\n }\n } else if (!contains(result, value)) {\n result.push(value);\n }\n }\n return result;\n}\n","import restArguments from './restArguments.js';\nimport uniq from './uniq.js';\nimport flatten from './_flatten.js';\n\n// Produce an array that contains the union: each distinct element from all of\n// the passed-in arrays.\nexport default restArguments(function(arrays) {\n return uniq(flatten(arrays, true, true));\n});\n","import getLength from './_getLength.js';\nimport contains from './contains.js';\n\n// Produce an array that contains every item shared between all the\n// passed-in arrays.\nexport default function intersection(array) {\n var result = [];\n var argsLength = arguments.length;\n for (var i = 0, length = getLength(array); i < length; i++) {\n var item = array[i];\n if (contains(result, item)) continue;\n var j;\n for (j = 1; j < argsLength; j++) {\n if (!contains(arguments[j], item)) break;\n }\n if (j === argsLength) result.push(item);\n }\n return result;\n}\n","import max from './max.js';\nimport getLength from './_getLength.js';\nimport pluck from './pluck.js';\n\n// Complement of zip. Unzip accepts an array of arrays and groups\n// each array's elements on shared indices.\nexport default function unzip(array) {\n var length = (array && max(array, getLength).length) || 0;\n var result = Array(length);\n\n for (var index = 0; index < length; index++) {\n result[index] = pluck(array, index);\n }\n return result;\n}\n","import restArguments from './restArguments.js';\nimport unzip from './unzip.js';\n\n// Zip together multiple lists into a single array -- elements that share\n// an index go together.\nexport default restArguments(unzip);\n","import getLength from './_getLength.js';\n\n// Converts lists into objects. Pass either a single array of `[key, value]`\n// pairs, or two parallel arrays of the same length -- one of keys, and one of\n// the corresponding values. Passing by pairs is the reverse of `_.pairs`.\nexport default function object(list, values) {\n var result = {};\n for (var i = 0, length = getLength(list); i < length; i++) {\n if (values) {\n result[list[i]] = values[i];\n } else {\n result[list[i][0]] = list[i][1];\n }\n }\n return result;\n}\n","// Generate an integer Array containing an arithmetic progression. A port of\n// the native Python `range()` function. See\n// [the Python documentation](https://docs.python.org/library/functions.html#range).\nexport default function range(start, stop, step) {\n if (stop == null) {\n stop = start || 0;\n start = 0;\n }\n if (!step) {\n step = stop < start ? -1 : 1;\n }\n\n var length = Math.max(Math.ceil((stop - start) / step), 0);\n var range = Array(length);\n\n for (var idx = 0; idx < length; idx++, start += step) {\n range[idx] = start;\n }\n\n return range;\n}\n","import { slice } from './_setup.js';\n\n// Chunk a single array into multiple arrays, each containing `count` or fewer\n// items.\nexport default function chunk(array, count) {\n if (count == null || count < 1) return [];\n var result = [];\n var i = 0, length = array.length;\n while (i < length) {\n result.push(slice.call(array, i, i += count));\n }\n return result;\n}\n","import _ from './underscore.js';\n\n// Helper function to continue chaining intermediate results.\nexport default function chainResult(instance, obj) {\n return instance._chain ? _(obj).chain() : obj;\n}\n","import _ from './underscore.js';\nimport each from './each.js';\nimport functions from './functions.js';\nimport { push } from './_setup.js';\nimport chainResult from './_chainResult.js';\n\n// Add your own custom functions to the Underscore object.\nexport default function mixin(obj) {\n each(functions(obj), function(name) {\n var func = _[name] = obj[name];\n _.prototype[name] = function() {\n var args = [this._wrapped];\n push.apply(args, arguments);\n return chainResult(this, func.apply(_, args));\n };\n });\n return _;\n}\n","import _ from './underscore.js';\nimport each from './each.js';\nimport { ArrayProto } from './_setup.js';\nimport chainResult from './_chainResult.js';\n\n// Add all mutator `Array` functions to the wrapper.\neach(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {\n var method = ArrayProto[name];\n _.prototype[name] = function() {\n var obj = this._wrapped;\n if (obj != null) {\n method.apply(obj, arguments);\n if ((name === 'shift' || name === 'splice') && obj.length === 0) {\n delete obj[0];\n }\n }\n return chainResult(this, obj);\n };\n});\n\n// Add all accessor `Array` functions to the wrapper.\neach(['concat', 'join', 'slice'], function(name) {\n var method = ArrayProto[name];\n _.prototype[name] = function() {\n var obj = this._wrapped;\n if (obj != null) obj = method.apply(obj, arguments);\n return chainResult(this, obj);\n };\n});\n\nexport default _;\n","// Default Export\n// ==============\n// In this module, we mix our bundled exports into the `_` object and export\n// the result. This is analogous to setting `module.exports = _` in CommonJS.\n// Hence, this module is also the entry point of our UMD bundle and the package\n// entry point for CommonJS and AMD users. In other words, this is (the source\n// of) the module you are interfacing with when you do any of the following:\n//\n// ```js\n// // CommonJS\n// var _ = require('underscore');\n//\n// // AMD\n// define(['underscore'], function(_) {...});\n//\n// // UMD in the browser\n// // _ is available as a global variable\n// ```\nimport * as allExports from './index.js';\nimport { mixin } from './index.js';\n\n// Add all of the Underscore functions to the wrapper object.\nvar _ = mixin(allExports);\n// Legacy Node.js API.\n_._ = _;\n// Export the Underscore API.\nexport default _;\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\t// no module.id needed\n\t\t// no module.loaded needed\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// 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","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(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 = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(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 = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + chunkId + \".\" + {\"684\":\"5992358a\",\"787\":\"065169df\"}[chunkId] + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(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__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"biblioteca24:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(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\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(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(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\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 = function(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\t179: 0\n};\n\n__webpack_require__.f.j = function(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(function(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 = function(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} else installedChunks[chunkId] = 0;\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 = function(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(function(id) { return 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[\"webpackChunkbiblioteca24\"] = self[\"webpackChunkbiblioteca24\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nexport default function _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n };\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import * as React from \"react\";\nimport type { History, Location } from \"history\";\nimport { Action as NavigationType } from \"history\";\n\nimport type { RouteMatch } from \"./router\";\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level <Router> API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\nexport type Navigator = Pick<History, \"go\" | \"push\" | \"replace\" | \"createHref\">;\n\ninterface NavigationContextObject {\n basename: string;\n navigator: Navigator;\n static: boolean;\n}\n\nexport const NavigationContext = React.createContext<NavigationContextObject>(\n null!\n);\n\nif (__DEV__) {\n NavigationContext.displayName = \"Navigation\";\n}\n\ninterface LocationContextObject {\n location: Location;\n navigationType: NavigationType;\n}\n\nexport const LocationContext = React.createContext<LocationContextObject>(\n null!\n);\n\nif (__DEV__) {\n LocationContext.displayName = \"Location\";\n}\n\ninterface RouteContextObject {\n outlet: React.ReactElement | null;\n matches: RouteMatch[];\n}\n\nexport const RouteContext = React.createContext<RouteContextObject>({\n outlet: null,\n matches: [],\n});\n\nif (__DEV__) {\n RouteContext.displayName = \"Route\";\n}\n","import type { Location, Path, To } from \"history\";\nimport { parsePath } from \"history\";\n\nexport function invariant(cond: any, message: string): asserts cond {\n if (!cond) throw new Error(message);\n}\n\nexport function warning(cond: any, message: string): void {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging React Router!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nconst alreadyWarned: Record<string, boolean> = {};\nexport function warningOnce(key: string, cond: boolean, message: string) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n warning(false, message);\n }\n}\n\ntype ParamParseFailed = { failed: true };\n\ntype ParamParseSegment<Segment extends string> =\n // Check here if there exists a forward slash in the string.\n Segment extends `${infer LeftSegment}/${infer RightSegment}`\n ? // If there is a forward slash, then attempt to parse each side of the\n // forward slash.\n ParamParseSegment<LeftSegment> extends infer LeftResult\n ? ParamParseSegment<RightSegment> extends infer RightResult\n ? LeftResult extends string\n ? // If the left side is successfully parsed as a param, then check if\n // the right side can be successfully parsed as well. If both sides\n // can be parsed, then the result is a union of the two sides\n // (read: \"foo\" | \"bar\").\n RightResult extends string\n ? LeftResult | RightResult\n : LeftResult\n : // If the left side is not successfully parsed as a param, then check\n // if only the right side can be successfully parse as a param. If it\n // can, then the result is just right, else it's a failure.\n RightResult extends string\n ? RightResult\n : ParamParseFailed\n : ParamParseFailed\n : // If the left side didn't parse into a param, then just check the right\n // side.\n ParamParseSegment<RightSegment> extends infer RightResult\n ? RightResult extends string\n ? RightResult\n : ParamParseFailed\n : ParamParseFailed\n : // If there's no forward slash, then check if this segment starts with a\n // colon. If it does, then this is a dynamic segment, so the result is\n // just the remainder of the string. Otherwise, it's a failure.\n Segment extends `:${infer Remaining}`\n ? Remaining\n : ParamParseFailed;\n\n// Attempt to parse the given string segment. If it fails, then just return the\n// plain string type as a default fallback. Otherwise return the union of the\n// parsed string literals that were referenced as dynamic segments in the route.\nexport type ParamParseKey<Segment extends string> =\n ParamParseSegment<Segment> extends string\n ? ParamParseSegment<Segment>\n : string;\n\n/**\n * The parameters that were parsed from the URL path.\n */\nexport type Params<Key extends string = string> = {\n readonly [key in Key]: string | undefined;\n};\n\n/**\n * A route object represents a logical route, with (optionally) its child\n * routes organized in a tree-like structure.\n */\nexport interface RouteObject {\n caseSensitive?: boolean;\n children?: RouteObject[];\n element?: React.ReactNode;\n index?: boolean;\n path?: string;\n}\n\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/docs/en/v6/api#generatepath\n */\nexport function generatePath(path: string, params: Params = {}): string {\n return path\n .replace(/:(\\w+)/g, (_, key) => {\n invariant(params[key] != null, `Missing \":${key}\" param`);\n return params[key]!;\n })\n .replace(/\\/*\\*$/, (_) =>\n params[\"*\"] == null ? \"\" : params[\"*\"].replace(/^\\/*/, \"/\")\n );\n}\n\n/**\n * A RouteMatch contains info about how a route matched a URL.\n */\nexport interface RouteMatch<ParamKey extends string = string> {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params<ParamKey>;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The route object that was used to match.\n */\n route: RouteObject;\n}\n\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchroutes\n */\nexport function matchRoutes(\n routes: RouteObject[],\n locationArg: Partial<Location> | string,\n basename = \"/\"\n): RouteMatch[] | null {\n let location =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n let pathname = stripBasename(location.pathname || \"/\", basename);\n\n if (pathname == null) {\n return null;\n }\n\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n matches = matchRouteBranch(branches[i], pathname);\n }\n\n return matches;\n}\n\ninterface RouteMeta {\n relativePath: string;\n caseSensitive: boolean;\n childrenIndex: number;\n route: RouteObject;\n}\n\ninterface RouteBranch {\n path: string;\n score: number;\n routesMeta: RouteMeta[];\n}\n\nfunction flattenRoutes(\n routes: RouteObject[],\n branches: RouteBranch[] = [],\n parentsMeta: RouteMeta[] = [],\n parentPath = \"\"\n): RouteBranch[] {\n routes.forEach((route, index) => {\n let meta: RouteMeta = {\n relativePath: route.path || \"\",\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route,\n };\n\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(\n meta.relativePath.startsWith(parentPath),\n `Absolute route path \"${meta.relativePath}\" nested under path ` +\n `\"${parentPath}\" is not valid. An absolute child route path ` +\n `must start with the combined path of all its parent routes.`\n );\n\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n\n // Add the children before adding this route to the array so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n route.index !== true,\n `Index routes must not have child routes. Please remove ` +\n `all child routes from route path \"${path}\".`\n );\n\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n\n branches.push({ path, score: computeScore(path, route.index), routesMeta });\n });\n\n return branches;\n}\n\nfunction rankRouteBranches(branches: RouteBranch[]): void {\n branches.sort((a, b) =>\n a.score !== b.score\n ? b.score - a.score // Higher score first\n : compareIndexes(\n a.routesMeta.map((meta) => meta.childrenIndex),\n b.routesMeta.map((meta) => meta.childrenIndex)\n )\n );\n}\n\nconst paramRe = /^:\\w+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = (s: string) => s === \"*\";\n\nfunction computeScore(path: string, index: boolean | undefined): number {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n\n if (index) {\n initialScore += indexRouteValue;\n }\n\n return segments\n .filter((s) => !isSplat(s))\n .reduce(\n (score, segment) =>\n score +\n (paramRe.test(segment)\n ? dynamicSegmentValue\n : segment === \"\"\n ? emptySegmentValue\n : staticSegmentValue),\n initialScore\n );\n}\n\nfunction compareIndexes(a: number[], b: number[]): number {\n let siblings =\n a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n\n return siblings\n ? // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1]\n : // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\n\nfunction matchRouteBranch<ParamKey extends string = string>(\n branch: RouteBranch,\n pathname: string\n): RouteMatch<ParamKey>[] | null {\n let { routesMeta } = branch;\n\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches: RouteMatch[] = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname =\n matchedPathname === \"/\"\n ? pathname\n : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath(\n { path: meta.relativePath, caseSensitive: meta.caseSensitive, end },\n remainingPathname\n );\n\n if (!match) return null;\n\n Object.assign(matchedParams, match.params);\n\n let route = meta.route;\n\n matches.push({\n params: matchedParams,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: normalizePathname(\n joinPaths([matchedPathname, match.pathnameBase])\n ),\n route,\n });\n\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n\n return matches;\n}\n\n/**\n * A PathPattern is used to match on some portion of a URL pathname.\n */\nexport interface PathPattern<Path extends string = string> {\n /**\n * A string to match against a URL pathname. May contain `:id`-style segments\n * to indicate placeholders for dynamic parameters. May also end with `/*` to\n * indicate matching the rest of the URL pathname.\n */\n path: Path;\n /**\n * Should be `true` if the static portions of the `path` should be matched in\n * the same case.\n */\n caseSensitive?: boolean;\n /**\n * Should be `true` if this pattern should match the entire URL pathname.\n */\n end?: boolean;\n}\n\n/**\n * A PathMatch contains info about how a PathPattern matched on a URL pathname.\n */\nexport interface PathMatch<ParamKey extends string = string> {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params<ParamKey>;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The pattern that was used to match.\n */\n pattern: PathPattern;\n}\n\ntype Mutable<T> = {\n -readonly [P in keyof T]: T[P];\n};\n\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchpath\n */\nexport function matchPath<\n ParamKey extends ParamParseKey<Path>,\n Path extends string\n>(\n pattern: PathPattern<Path> | Path,\n pathname: string\n): PathMatch<ParamKey> | null {\n if (typeof pattern === \"string\") {\n pattern = { path: pattern, caseSensitive: false, end: true };\n }\n\n let [matcher, paramNames] = compilePath(\n pattern.path,\n pattern.caseSensitive,\n pattern.end\n );\n\n let match = pathname.match(matcher);\n if (!match) return null;\n\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params: Params = paramNames.reduce<Mutable<Params>>(\n (memo, paramName, index) => {\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname\n .slice(0, matchedPathname.length - splatValue.length)\n .replace(/(.)\\/+$/, \"$1\");\n }\n\n memo[paramName] = safelyDecodeURIComponent(\n captureGroups[index] || \"\",\n paramName\n );\n return memo;\n },\n {}\n );\n\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern,\n };\n}\n\nfunction compilePath(\n path: string,\n caseSensitive = false,\n end = true\n): [RegExp, string[]] {\n warning(\n path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"),\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n\n let paramNames: string[] = [];\n let regexpSource =\n \"^\" +\n path\n .replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^$?{}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(/:(\\w+)/g, (_: string, paramName: string) => {\n paramNames.push(paramName);\n return \"([^\\\\/]+)\";\n });\n\n if (path.endsWith(\"*\")) {\n paramNames.push(\"*\");\n regexpSource +=\n path === \"*\" || path === \"/*\"\n ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else {\n regexpSource += end\n ? \"\\\\/*$\" // When matching to the end, ignore trailing slashes\n : // Otherwise, match a word boundary or a proceeding /. The word boundary restricts\n // parent routes to matching only their own words and nothing more, e.g. parent\n // route \"/home\" should not match \"/home2\".\n // Additionally, allow paths starting with `.`, `-`, `~`, and url-encoded entities,\n // but do not consume the character in the matched path so they can match against\n // nested paths.\n \"(?:(?=[.~-]|%[0-9A-F]{2})|\\\\b|\\\\/|$)\";\n }\n\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n\n return [matcher, paramNames];\n}\n\nfunction safelyDecodeURIComponent(value: string, paramName: string) {\n try {\n return decodeURIComponent(value);\n } catch (error) {\n warning(\n false,\n `The value for the URL param \"${paramName}\" will not be decoded because` +\n ` the string \"${value}\" is a malformed URL segment. This is probably` +\n ` due to a bad percent encoding (${error}).`\n );\n\n return value;\n }\n}\n\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/docs/en/v6/api#resolvepath\n */\nexport function resolvePath(to: To, fromPathname = \"/\"): Path {\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\",\n } = typeof to === \"string\" ? parsePath(to) : to;\n\n let pathname = toPathname\n ? toPathname.startsWith(\"/\")\n ? toPathname\n : resolvePathname(toPathname, fromPathname)\n : fromPathname;\n\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash),\n };\n}\n\nfunction resolvePathname(relativePath: string, fromPathname: string): string {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n\n relativeSegments.forEach((segment) => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\n\nexport function resolveTo(\n toArg: To,\n routePathnames: string[],\n locationPathname: string\n): Path {\n let to = typeof toArg === \"string\" ? parsePath(toArg) : toArg;\n let toPathname = toArg === \"\" || to.pathname === \"\" ? \"/\" : to.pathname;\n\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `<Link to>` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n let from: string;\n if (toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n\n if (toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n\n // Each leading .. segment means \"go up one route\" instead of \"go up one\n // URL segment\". This is a key difference from how <a href> works and a\n // major reason we call this a \"to\" value instead of a \"href\".\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n\n to.pathname = toSegments.join(\"/\");\n }\n\n // If there are more \"..\" segments than parent routes, resolve relative to\n // the root / URL.\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n\n let path = resolvePath(to, from);\n\n // Ensure the pathname has a trailing slash if the original to value had one.\n if (\n toPathname &&\n toPathname !== \"/\" &&\n toPathname.endsWith(\"/\") &&\n !path.pathname.endsWith(\"/\")\n ) {\n path.pathname += \"/\";\n }\n\n return path;\n}\n\nexport function getToPathname(to: To): string | undefined {\n // Empty strings should be treated the same as / paths\n return to === \"\" || (to as Path).pathname === \"\"\n ? \"/\"\n : typeof to === \"string\"\n ? parsePath(to).pathname\n : to.pathname;\n}\n\nexport function stripBasename(\n pathname: string,\n basename: string\n): string | null {\n if (basename === \"/\") return pathname;\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n\n let nextChar = pathname.charAt(basename.length);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n\n return pathname.slice(basename.length) || \"/\";\n}\n\nexport const joinPaths = (paths: string[]): string =>\n paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n\nexport const normalizePathname = (pathname: string): string =>\n pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\nconst normalizeSearch = (search: string): string =>\n !search || search === \"?\"\n ? \"\"\n : search.startsWith(\"?\")\n ? search\n : \"?\" + search;\n\nconst normalizeHash = (hash: string): string =>\n !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n","import * as React from \"react\";\nimport type { Location, Path, To } from \"history\";\nimport { Action as NavigationType, parsePath } from \"history\";\n\nimport { LocationContext, NavigationContext, RouteContext } from \"./context\";\nimport type {\n ParamParseKey,\n Params,\n PathMatch,\n PathPattern,\n RouteMatch,\n RouteObject,\n} from \"./router\";\nimport {\n getToPathname,\n invariant,\n joinPaths,\n matchPath,\n matchRoutes,\n resolveTo,\n warning,\n warningOnce,\n} from \"./router\";\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usehref\n */\nexport function useHref(to: To): string {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useHref() may be used only in the context of a <Router> component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { hash, pathname, search } = useResolvedPath(to);\n\n let joinedPathname = pathname;\n if (basename !== \"/\") {\n let toPathname = getToPathname(to);\n let endsWithSlash = toPathname != null && toPathname.endsWith(\"/\");\n joinedPathname =\n pathname === \"/\"\n ? basename + (endsWithSlash ? \"/\" : \"\")\n : joinPaths([basename, pathname]);\n }\n\n return navigator.createHref({ pathname: joinedPathname, search, hash });\n}\n\n/**\n * Returns true if this component is a descendant of a <Router>.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useinroutercontext\n */\nexport function useInRouterContext(): boolean {\n return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/docs/en/v6/api#uselocation\n */\nexport function useLocation(): Location {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useLocation() may be used only in the context of a <Router> component.`\n );\n\n return React.useContext(LocationContext).location;\n}\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigationtype\n */\nexport function useNavigationType(): NavigationType {\n return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns true if the URL for the given \"to\" value matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * <NavLink>.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usematch\n */\nexport function useMatch<\n ParamKey extends ParamParseKey<Path>,\n Path extends string\n>(pattern: PathPattern<Path> | Path): PathMatch<ParamKey> | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useMatch() may be used only in the context of a <Router> component.`\n );\n\n let { pathname } = useLocation();\n return React.useMemo(\n () => matchPath<ParamKey, Path>(pattern, pathname),\n [pathname, pattern]\n );\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\nexport interface NavigateFunction {\n (to: To, options?: NavigateOptions): void;\n (delta: number): void;\n}\n\nexport interface NavigateOptions {\n replace?: boolean;\n state?: any;\n}\n\n/**\n * Returns an imperative method for changing the location. Used by <Link>s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigate\n */\nexport function useNavigate(): NavigateFunction {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useNavigate() may be used only in the context of a <Router> component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n matches.map((match) => match.pathnameBase)\n );\n\n let activeRef = React.useRef(false);\n React.useEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(\n activeRef.current,\n `You should call navigate() in a React.useEffect(), not when ` +\n `your component is first rendered.`\n );\n\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n\n let path = resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname\n );\n\n if (basename !== \"/\") {\n path.pathname = joinPaths([basename, path.pathname]);\n }\n\n (!!options.replace ? navigator.replace : navigator.push)(\n path,\n options.state\n );\n },\n [basename, navigator, routePathnamesJson, locationPathname]\n );\n\n return navigate;\n}\n\nconst OutletContext = React.createContext<unknown>(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/docs/en/v6/api#useoutletcontext\n */\nexport function useOutletContext<Context = unknown>(): Context {\n return React.useContext(OutletContext) as Context;\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by <Outlet> to render child routes.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useoutlet\n */\nexport function useOutlet(context?: unknown): React.ReactElement | null {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return (\n <OutletContext.Provider value={context}>{outlet}</OutletContext.Provider>\n );\n }\n return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useparams\n */\nexport function useParams<\n ParamsOrKey extends string | Record<string, string | undefined> = string\n>(): Readonly<\n [ParamsOrKey] extends [string] ? Params<ParamsOrKey> : Partial<ParamsOrKey>\n> {\n let { matches } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? (routeMatch.params as any) : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useresolvedpath\n */\nexport function useResolvedPath(to: To): Path {\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n matches.map((match) => match.pathnameBase)\n );\n\n return React.useMemo(\n () => resolveTo(to, JSON.parse(routePathnamesJson), locationPathname),\n [to, routePathnamesJson, locationPathname]\n );\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an <Outlet> to render their child route's\n * element.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useroutes\n */\nexport function useRoutes(\n routes: RouteObject[],\n locationArg?: Partial<Location> | string\n): React.ReactElement | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useRoutes() may be used only in the context of a <Router> component.`\n );\n\n let { matches: parentMatches } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n\n if (__DEV__) {\n // You won't get a warning about 2 different <Routes> under a <Route>\n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // <Routes>\n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // <Route path=\"blog\" element={<Blog />} />\n // <Route path=\"blog/feed\" element={<BlogFeed />} />\n // </Routes>\n //\n // function Blog() {\n // return (\n // <Routes>\n // <Route path=\"post/:id\" element={<Post />} />\n // </Routes>\n // );\n // }\n let parentPath = (parentRoute && parentRoute.path) || \"\";\n warningOnce(\n parentPathname,\n !parentRoute || parentPath.endsWith(\"*\"),\n `You rendered descendant <Routes> (or called \\`useRoutes()\\`) at ` +\n `\"${parentPathname}\" (under <Route path=\"${parentPath}\">) but the ` +\n `parent route path has no trailing \"*\". This means if you navigate ` +\n `deeper, the parent won't match anymore and therefore the child ` +\n `routes will never render.\\n\\n` +\n `Please change the parent <Route path=\"${parentPath}\"> to <Route ` +\n `path=\"${parentPath === \"/\" ? \"*\" : `${parentPath}/*`}\">.`\n );\n }\n\n let locationFromContext = useLocation();\n\n let location;\n if (locationArg) {\n let parsedLocationArg =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n invariant(\n parentPathnameBase === \"/\" ||\n parsedLocationArg.pathname?.startsWith(parentPathnameBase),\n `When overriding the location using \\`<Routes location>\\` or \\`useRoutes(routes, location)\\`, ` +\n `the location pathname must begin with the portion of the URL pathname that was ` +\n `matched by all parent routes. The current pathname base is \"${parentPathnameBase}\" ` +\n `but pathname \"${parsedLocationArg.pathname}\" was given in the \\`location\\` prop.`\n );\n\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n\n let pathname = location.pathname || \"/\";\n let remainingPathname =\n parentPathnameBase === \"/\"\n ? pathname\n : pathname.slice(parentPathnameBase.length) || \"/\";\n let matches = matchRoutes(routes, { pathname: remainingPathname });\n\n if (__DEV__) {\n warning(\n parentRoute || matches != null,\n `No routes matched location \"${location.pathname}${location.search}${location.hash}\" `\n );\n\n warning(\n matches == null ||\n matches[matches.length - 1].route.element !== undefined,\n `Matched leaf route at location \"${location.pathname}${location.search}${location.hash}\" does not have an element. ` +\n `This means it will render an <Outlet /> with a null value by default resulting in an \"empty\" page.`\n );\n }\n\n return _renderMatches(\n matches &&\n matches.map((match) =>\n Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([parentPathnameBase, match.pathname]),\n pathnameBase:\n match.pathnameBase === \"/\"\n ? parentPathnameBase\n : joinPaths([parentPathnameBase, match.pathnameBase]),\n })\n ),\n parentMatches\n );\n}\n\nexport function _renderMatches(\n matches: RouteMatch[] | null,\n parentMatches: RouteMatch[] = []\n): React.ReactElement | null {\n if (matches == null) return null;\n\n return matches.reduceRight((outlet, match, index) => {\n return (\n <RouteContext.Provider\n children={\n match.route.element !== undefined ? match.route.element : outlet\n }\n value={{\n outlet,\n matches: parentMatches.concat(matches.slice(0, index + 1)),\n }}\n />\n );\n }, null as React.ReactElement | null);\n}\n","import * as React from \"react\";\nimport type { InitialEntry, Location, MemoryHistory, To } from \"history\";\nimport {\n Action as NavigationType,\n createMemoryHistory,\n parsePath,\n} from \"history\";\n\nimport { LocationContext, NavigationContext, Navigator } from \"./context\";\nimport {\n useInRouterContext,\n useNavigate,\n useOutlet,\n useRoutes,\n _renderMatches,\n} from \"./hooks\";\nimport type { RouteMatch, RouteObject } from \"./router\";\nimport { invariant, normalizePathname, stripBasename, warning } from \"./router\";\n\nexport interface MemoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n}\n\n/**\n * A <Router> that stores all entries in memory.\n *\n * @see https://reactrouter.com/docs/en/v6/api#memoryrouter\n */\nexport function MemoryRouter({\n basename,\n children,\n initialEntries,\n initialIndex,\n}: MemoryRouterProps): React.ReactElement {\n let historyRef = React.useRef<MemoryHistory>();\n if (historyRef.current == null) {\n historyRef.current = createMemoryHistory({ initialEntries, initialIndex });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n <Router\n basename={basename}\n children={children}\n location={state.location}\n navigationType={state.action}\n navigator={history}\n />\n );\n}\n\nexport interface NavigateProps {\n to: To;\n replace?: boolean;\n state?: any;\n}\n\n/**\n * Changes the current location.\n *\n * Note: This API is mostly useful in React.Component subclasses that are not\n * able to use hooks. In functional components, we recommend you use the\n * `useNavigate` hook instead.\n *\n * @see https://reactrouter.com/docs/en/v6/api#navigate\n */\nexport function Navigate({ to, replace, state }: NavigateProps): null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of\n // the router loaded. We can help them understand how to avoid that.\n `<Navigate> may be used only in the context of a <Router> component.`\n );\n\n warning(\n !React.useContext(NavigationContext).static,\n `<Navigate> must not be used on the initial render in a <StaticRouter>. ` +\n `This is a no-op, but you should modify your code so the <Navigate> is ` +\n `only ever rendered in response to some user interaction or state change.`\n );\n\n let navigate = useNavigate();\n React.useEffect(() => {\n navigate(to, { replace, state });\n });\n\n return null;\n}\n\nexport interface OutletProps {\n context?: unknown;\n}\n\n/**\n * Renders the child route's element, if there is one.\n *\n * @see https://reactrouter.com/docs/en/v6/api#outlet\n */\nexport function Outlet(props: OutletProps): React.ReactElement | null {\n return useOutlet(props.context);\n}\n\nexport interface RouteProps {\n caseSensitive?: boolean;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n index?: boolean;\n path?: string;\n}\n\nexport interface PathRouteProps {\n caseSensitive?: boolean;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n index?: false;\n path: string;\n}\n\nexport interface LayoutRouteProps {\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n}\n\nexport interface IndexRouteProps {\n element?: React.ReactNode | null;\n index: true;\n}\n\n/**\n * Declares an element that should be rendered at a certain URL path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#route\n */\nexport function Route(\n _props: PathRouteProps | LayoutRouteProps | IndexRouteProps\n): React.ReactElement | null {\n invariant(\n false,\n `A <Route> is only ever to be used as the child of <Routes> element, ` +\n `never rendered directly. Please wrap your <Route> in a <Routes>.`\n );\n}\n\nexport interface RouterProps {\n basename?: string;\n children?: React.ReactNode;\n location: Partial<Location> | string;\n navigationType?: NavigationType;\n navigator: Navigator;\n static?: boolean;\n}\n\n/**\n * Provides location context for the rest of the app.\n *\n * Note: You usually won't render a <Router> directly. Instead, you'll render a\n * router that is more specific to your environment such as a <BrowserRouter>\n * in web browsers or a <StaticRouter> for server rendering.\n *\n * @see https://reactrouter.com/docs/en/v6/api#router\n */\nexport function Router({\n basename: basenameProp = \"/\",\n children = null,\n location: locationProp,\n navigationType = NavigationType.Pop,\n navigator,\n static: staticProp = false,\n}: RouterProps): React.ReactElement | null {\n invariant(\n !useInRouterContext(),\n `You cannot render a <Router> inside another <Router>.` +\n ` You should never have more than one in your app.`\n );\n\n let basename = normalizePathname(basenameProp);\n let navigationContext = React.useMemo(\n () => ({ basename, navigator, static: staticProp }),\n [basename, navigator, staticProp]\n );\n\n if (typeof locationProp === \"string\") {\n locationProp = parsePath(locationProp);\n }\n\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n state = null,\n key = \"default\",\n } = locationProp;\n\n let location = React.useMemo(() => {\n let trailingPathname = stripBasename(pathname, basename);\n\n if (trailingPathname == null) {\n return null;\n }\n\n return {\n pathname: trailingPathname,\n search,\n hash,\n state,\n key,\n };\n }, [basename, pathname, search, hash, state, key]);\n\n warning(\n location != null,\n `<Router basename=\"${basename}\"> is not able to match the URL ` +\n `\"${pathname}${search}${hash}\" because it does not start with the ` +\n `basename, so the <Router> won't render anything.`\n );\n\n if (location == null) {\n return null;\n }\n\n return (\n <NavigationContext.Provider value={navigationContext}>\n <LocationContext.Provider\n children={children}\n value={{ location, navigationType }}\n />\n </NavigationContext.Provider>\n );\n}\n\nexport interface RoutesProps {\n children?: React.ReactNode;\n location?: Partial<Location> | string;\n}\n\n/**\n * A container for a nested tree of <Route> elements that renders the branch\n * that best matches the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#routes\n */\nexport function Routes({\n children,\n location,\n}: RoutesProps): React.ReactElement | null {\n return useRoutes(createRoutesFromChildren(children), location);\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// UTILS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Creates a route config from a React \"children\" object, which is usually\n * either a `<Route>` element or an array of them. Used internally by\n * `<Routes>` to create a route config from its children.\n *\n * @see https://reactrouter.com/docs/en/v6/api#createroutesfromchildren\n */\nexport function createRoutesFromChildren(\n children: React.ReactNode\n): RouteObject[] {\n let routes: RouteObject[] = [];\n\n React.Children.forEach(children, (element) => {\n if (!React.isValidElement(element)) {\n // Ignore non-elements. This allows people to more easily inline\n // conditionals in their route config.\n return;\n }\n\n if (element.type === React.Fragment) {\n // Transparently support React.Fragment and its children.\n routes.push.apply(\n routes,\n createRoutesFromChildren(element.props.children)\n );\n return;\n }\n\n invariant(\n element.type === Route,\n `[${\n typeof element.type === \"string\" ? element.type : element.type.name\n }] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`\n );\n\n let route: RouteObject = {\n caseSensitive: element.props.caseSensitive,\n element: element.props.element,\n index: element.props.index,\n path: element.props.path,\n };\n\n if (element.props.children) {\n route.children = createRoutesFromChildren(element.props.children);\n }\n\n routes.push(route);\n });\n\n return routes;\n}\n\n/**\n * Renders the result of `matchRoutes()` into a React element.\n */\nexport function renderMatches(\n matches: RouteMatch[] | null\n): React.ReactElement | null {\n return _renderMatches(matches);\n}\n","export const TAG_PROPERTIES = {\n CHARSET: 'charset',\n CSS_TEXT: 'cssText',\n HREF: 'href',\n HTTPEQUIV: 'http-equiv',\n INNER_HTML: 'innerHTML',\n ITEM_PROP: 'itemprop',\n NAME: 'name',\n PROPERTY: 'property',\n REL: 'rel',\n SRC: 'src',\n};\n\nexport const ATTRIBUTE_NAMES = {\n BODY: 'bodyAttributes',\n HTML: 'htmlAttributes',\n TITLE: 'titleAttributes',\n};\n\nexport const TAG_NAMES = {\n BASE: 'base',\n BODY: 'body',\n HEAD: 'head',\n HTML: 'html',\n LINK: 'link',\n META: 'meta',\n NOSCRIPT: 'noscript',\n SCRIPT: 'script',\n STYLE: 'style',\n TITLE: 'title',\n FRAGMENT: 'Symbol(react.fragment)',\n};\n\nexport const SEO_PRIORITY_TAGS = {\n link: { rel: ['amphtml', 'canonical', 'alternate'] },\n script: { type: ['application/ld+json'] },\n meta: {\n charset: '',\n name: ['robots', 'description'],\n property: [\n 'og:type',\n 'og:title',\n 'og:url',\n 'og:image',\n 'og:image:alt',\n 'og:description',\n 'twitter:url',\n 'twitter:title',\n 'twitter:description',\n 'twitter:image',\n 'twitter:image:alt',\n 'twitter:card',\n 'twitter:site',\n ],\n },\n};\n\nexport const VALID_TAG_NAMES = Object.keys(TAG_NAMES).map(name => TAG_NAMES[name]);\n\nexport const REACT_TAG_MAP = {\n accesskey: 'accessKey',\n charset: 'charSet',\n class: 'className',\n contenteditable: 'contentEditable',\n contextmenu: 'contextMenu',\n 'http-equiv': 'httpEquiv',\n itemprop: 'itemProp',\n tabindex: 'tabIndex',\n};\n\nexport const HTML_TAG_MAP = Object.keys(REACT_TAG_MAP).reduce((obj, key) => {\n obj[REACT_TAG_MAP[key]] = key;\n return obj;\n}, {});\n\nexport const HELMET_ATTRIBUTE = 'data-rh';\n","import { TAG_NAMES, TAG_PROPERTIES, ATTRIBUTE_NAMES } from './constants';\n\nconst HELMET_PROPS = {\n DEFAULT_TITLE: 'defaultTitle',\n DEFER: 'defer',\n ENCODE_SPECIAL_CHARACTERS: 'encodeSpecialCharacters',\n ON_CHANGE_CLIENT_STATE: 'onChangeClientState',\n TITLE_TEMPLATE: 'titleTemplate',\n PRIORITIZE_SEO_TAGS: 'prioritizeSeoTags',\n};\n\nconst getInnermostProperty = (propsList, property) => {\n for (let i = propsList.length - 1; i >= 0; i -= 1) {\n const props = propsList[i];\n\n if (Object.prototype.hasOwnProperty.call(props, property)) {\n return props[property];\n }\n }\n\n return null;\n};\n\nconst getTitleFromPropsList = propsList => {\n let innermostTitle = getInnermostProperty(propsList, TAG_NAMES.TITLE);\n const innermostTemplate = getInnermostProperty(propsList, HELMET_PROPS.TITLE_TEMPLATE);\n if (Array.isArray(innermostTitle)) {\n innermostTitle = innermostTitle.join('');\n }\n if (innermostTemplate && innermostTitle) {\n // use function arg to avoid need to escape $ characters\n return innermostTemplate.replace(/%s/g, () => innermostTitle);\n }\n\n const innermostDefaultTitle = getInnermostProperty(propsList, HELMET_PROPS.DEFAULT_TITLE);\n\n return innermostTitle || innermostDefaultTitle || undefined;\n};\n\nconst getOnChangeClientState = propsList =>\n getInnermostProperty(propsList, HELMET_PROPS.ON_CHANGE_CLIENT_STATE) || (() => {});\n\nconst getAttributesFromPropsList = (tagType, propsList) =>\n propsList\n .filter(props => typeof props[tagType] !== 'undefined')\n .map(props => props[tagType])\n .reduce((tagAttrs, current) => ({ ...tagAttrs, ...current }), {});\n\nconst getBaseTagFromPropsList = (primaryAttributes, propsList) =>\n propsList\n .filter(props => typeof props[TAG_NAMES.BASE] !== 'undefined')\n .map(props => props[TAG_NAMES.BASE])\n .reverse()\n .reduce((innermostBaseTag, tag) => {\n if (!innermostBaseTag.length) {\n const keys = Object.keys(tag);\n\n for (let i = 0; i < keys.length; i += 1) {\n const attributeKey = keys[i];\n const lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n if (\n primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 &&\n tag[lowerCaseAttributeKey]\n ) {\n return innermostBaseTag.concat(tag);\n }\n }\n }\n\n return innermostBaseTag;\n }, []);\n\n// eslint-disable-next-line no-console\nconst warn = msg => console && typeof console.warn === 'function' && console.warn(msg);\n\nconst getTagsFromPropsList = (tagName, primaryAttributes, propsList) => {\n // Calculate list of tags, giving priority innermost component (end of the propslist)\n const approvedSeenTags = {};\n\n return propsList\n .filter(props => {\n if (Array.isArray(props[tagName])) {\n return true;\n }\n if (typeof props[tagName] !== 'undefined') {\n warn(\n `Helmet: ${tagName} should be of type \"Array\". Instead found type \"${typeof props[\n tagName\n ]}\"`\n );\n }\n return false;\n })\n .map(props => props[tagName])\n .reverse()\n .reduce((approvedTags, instanceTags) => {\n const instanceSeenTags = {};\n\n instanceTags\n .filter(tag => {\n let primaryAttributeKey;\n const keys = Object.keys(tag);\n for (let i = 0; i < keys.length; i += 1) {\n const attributeKey = keys[i];\n const lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n // Special rule with link tags, since rel and href are both primary tags, rel takes priority\n if (\n primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 &&\n !(\n primaryAttributeKey === TAG_PROPERTIES.REL &&\n tag[primaryAttributeKey].toLowerCase() === 'canonical'\n ) &&\n !(\n lowerCaseAttributeKey === TAG_PROPERTIES.REL &&\n tag[lowerCaseAttributeKey].toLowerCase() === 'stylesheet'\n )\n ) {\n primaryAttributeKey = lowerCaseAttributeKey;\n }\n // Special case for innerHTML which doesn't work lowercased\n if (\n primaryAttributes.indexOf(attributeKey) !== -1 &&\n (attributeKey === TAG_PROPERTIES.INNER_HTML ||\n attributeKey === TAG_PROPERTIES.CSS_TEXT ||\n attributeKey === TAG_PROPERTIES.ITEM_PROP)\n ) {\n primaryAttributeKey = attributeKey;\n }\n }\n\n if (!primaryAttributeKey || !tag[primaryAttributeKey]) {\n return false;\n }\n\n const value = tag[primaryAttributeKey].toLowerCase();\n\n if (!approvedSeenTags[primaryAttributeKey]) {\n approvedSeenTags[primaryAttributeKey] = {};\n }\n\n if (!instanceSeenTags[primaryAttributeKey]) {\n instanceSeenTags[primaryAttributeKey] = {};\n }\n\n if (!approvedSeenTags[primaryAttributeKey][value]) {\n instanceSeenTags[primaryAttributeKey][value] = true;\n return true;\n }\n\n return false;\n })\n .reverse()\n .forEach(tag => approvedTags.push(tag));\n\n // Update seen tags with tags from this instance\n const keys = Object.keys(instanceSeenTags);\n for (let i = 0; i < keys.length; i += 1) {\n const attributeKey = keys[i];\n const tagUnion = {\n ...approvedSeenTags[attributeKey],\n ...instanceSeenTags[attributeKey],\n };\n\n approvedSeenTags[attributeKey] = tagUnion;\n }\n\n return approvedTags;\n }, [])\n .reverse();\n};\n\nconst getAnyTrueFromPropsList = (propsList, checkedTag) => {\n if (Array.isArray(propsList) && propsList.length) {\n for (let index = 0; index < propsList.length; index += 1) {\n const prop = propsList[index];\n if (prop[checkedTag]) {\n return true;\n }\n }\n }\n return false;\n};\n\nconst reducePropsToState = propsList => ({\n baseTag: getBaseTagFromPropsList([TAG_PROPERTIES.HREF], propsList),\n bodyAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.BODY, propsList),\n defer: getInnermostProperty(propsList, HELMET_PROPS.DEFER),\n encode: getInnermostProperty(propsList, HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),\n htmlAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.HTML, propsList),\n linkTags: getTagsFromPropsList(\n TAG_NAMES.LINK,\n [TAG_PROPERTIES.REL, TAG_PROPERTIES.HREF],\n propsList\n ),\n metaTags: getTagsFromPropsList(\n TAG_NAMES.META,\n [\n TAG_PROPERTIES.NAME,\n TAG_PROPERTIES.CHARSET,\n TAG_PROPERTIES.HTTPEQUIV,\n TAG_PROPERTIES.PROPERTY,\n TAG_PROPERTIES.ITEM_PROP,\n ],\n propsList\n ),\n noscriptTags: getTagsFromPropsList(TAG_NAMES.NOSCRIPT, [TAG_PROPERTIES.INNER_HTML], propsList),\n onChangeClientState: getOnChangeClientState(propsList),\n scriptTags: getTagsFromPropsList(\n TAG_NAMES.SCRIPT,\n [TAG_PROPERTIES.SRC, TAG_PROPERTIES.INNER_HTML],\n propsList\n ),\n styleTags: getTagsFromPropsList(TAG_NAMES.STYLE, [TAG_PROPERTIES.CSS_TEXT], propsList),\n title: getTitleFromPropsList(propsList),\n titleAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.TITLE, propsList),\n prioritizeSeoTags: getAnyTrueFromPropsList(propsList, HELMET_PROPS.PRIORITIZE_SEO_TAGS),\n});\n\nexport const flattenArray = possibleArray =>\n Array.isArray(possibleArray) ? possibleArray.join('') : possibleArray;\n\nexport { reducePropsToState };\n\nconst checkIfPropsMatch = (props, toMatch) => {\n const keys = Object.keys(props);\n for (let i = 0; i < keys.length; i += 1) {\n // e.g. if rel exists in the list of allowed props [amphtml, alternate, etc]\n if (toMatch[keys[i]] && toMatch[keys[i]].includes(props[keys[i]])) {\n return true;\n }\n }\n return false;\n};\n\nexport const prioritizer = (elementsList, propsToMatch) => {\n if (Array.isArray(elementsList)) {\n return elementsList.reduce(\n (acc, elementAttrs) => {\n if (checkIfPropsMatch(elementAttrs, propsToMatch)) {\n acc.priority.push(elementAttrs);\n } else {\n acc.default.push(elementAttrs);\n }\n return acc;\n },\n { priority: [], default: [] }\n );\n }\n return { default: elementsList };\n};\n\nexport const without = (obj, key) => {\n return {\n ...obj,\n [key]: undefined,\n };\n};\n","import React from 'react';\nimport {\n HELMET_ATTRIBUTE,\n TAG_NAMES,\n REACT_TAG_MAP,\n TAG_PROPERTIES,\n ATTRIBUTE_NAMES,\n SEO_PRIORITY_TAGS,\n} from './constants';\nimport { flattenArray, prioritizer } from './utils';\n\nconst SELF_CLOSING_TAGS = [TAG_NAMES.NOSCRIPT, TAG_NAMES.SCRIPT, TAG_NAMES.STYLE];\n\nconst encodeSpecialCharacters = (str, encode = true) => {\n if (encode === false) {\n return String(str);\n }\n\n return String(str)\n .replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n};\n\nconst generateElementAttributesAsString = attributes =>\n Object.keys(attributes).reduce((str, key) => {\n const attr = typeof attributes[key] !== 'undefined' ? `${key}=\"${attributes[key]}\"` : `${key}`;\n return str ? `${str} ${attr}` : attr;\n }, '');\n\nconst generateTitleAsString = (type, title, attributes, encode) => {\n const attributeString = generateElementAttributesAsString(attributes);\n const flattenedTitle = flattenArray(title);\n return attributeString\n ? `<${type} ${HELMET_ATTRIBUTE}=\"true\" ${attributeString}>${encodeSpecialCharacters(\n flattenedTitle,\n encode\n )}</${type}>`\n : `<${type} ${HELMET_ATTRIBUTE}=\"true\">${encodeSpecialCharacters(\n flattenedTitle,\n encode\n )}</${type}>`;\n};\n\nconst generateTagsAsString = (type, tags, encode) =>\n tags.reduce((str, tag) => {\n const attributeHtml = Object.keys(tag)\n .filter(\n attribute =>\n !(attribute === TAG_PROPERTIES.INNER_HTML || attribute === TAG_PROPERTIES.CSS_TEXT)\n )\n .reduce((string, attribute) => {\n const attr =\n typeof tag[attribute] === 'undefined'\n ? attribute\n : `${attribute}=\"${encodeSpecialCharacters(tag[attribute], encode)}\"`;\n return string ? `${string} ${attr}` : attr;\n }, '');\n\n const tagContent = tag.innerHTML || tag.cssText || '';\n\n const isSelfClosing = SELF_CLOSING_TAGS.indexOf(type) === -1;\n\n return `${str}<${type} ${HELMET_ATTRIBUTE}=\"true\" ${attributeHtml}${\n isSelfClosing ? `/>` : `>${tagContent}</${type}>`\n }`;\n }, '');\n\nconst convertElementAttributesToReactProps = (attributes, initProps = {}) =>\n Object.keys(attributes).reduce((obj, key) => {\n obj[REACT_TAG_MAP[key] || key] = attributes[key];\n return obj;\n }, initProps);\n\nconst generateTitleAsReactComponent = (type, title, attributes) => {\n // assigning into an array to define toString function on it\n const initProps = {\n key: title,\n [HELMET_ATTRIBUTE]: true,\n };\n const props = convertElementAttributesToReactProps(attributes, initProps);\n\n return [React.createElement(TAG_NAMES.TITLE, props, title)];\n};\n\nconst generateTagsAsReactComponent = (type, tags) =>\n tags.map((tag, i) => {\n const mappedTag = {\n key: i,\n [HELMET_ATTRIBUTE]: true,\n };\n\n Object.keys(tag).forEach(attribute => {\n const mappedAttribute = REACT_TAG_MAP[attribute] || attribute;\n\n if (\n mappedAttribute === TAG_PROPERTIES.INNER_HTML ||\n mappedAttribute === TAG_PROPERTIES.CSS_TEXT\n ) {\n const content = tag.innerHTML || tag.cssText;\n mappedTag.dangerouslySetInnerHTML = { __html: content };\n } else {\n mappedTag[mappedAttribute] = tag[attribute];\n }\n });\n\n return React.createElement(type, mappedTag);\n });\n\nconst getMethodsForTag = (type, tags, encode) => {\n switch (type) {\n case TAG_NAMES.TITLE:\n return {\n toComponent: () =>\n generateTitleAsReactComponent(type, tags.title, tags.titleAttributes, encode),\n toString: () => generateTitleAsString(type, tags.title, tags.titleAttributes, encode),\n };\n case ATTRIBUTE_NAMES.BODY:\n case ATTRIBUTE_NAMES.HTML:\n return {\n toComponent: () => convertElementAttributesToReactProps(tags),\n toString: () => generateElementAttributesAsString(tags),\n };\n default:\n return {\n toComponent: () => generateTagsAsReactComponent(type, tags),\n toString: () => generateTagsAsString(type, tags, encode),\n };\n }\n};\n\nconst getPriorityMethods = ({ metaTags, linkTags, scriptTags, encode }) => {\n const meta = prioritizer(metaTags, SEO_PRIORITY_TAGS.meta);\n const link = prioritizer(linkTags, SEO_PRIORITY_TAGS.link);\n const script = prioritizer(scriptTags, SEO_PRIORITY_TAGS.script);\n\n // need to have toComponent() and toString()\n const priorityMethods = {\n toComponent: () => [\n ...generateTagsAsReactComponent(TAG_NAMES.META, meta.priority),\n ...generateTagsAsReactComponent(TAG_NAMES.LINK, link.priority),\n ...generateTagsAsReactComponent(TAG_NAMES.SCRIPT, script.priority),\n ],\n toString: () =>\n // generate all the tags as strings and concatenate them\n `${getMethodsForTag(TAG_NAMES.META, meta.priority, encode)} ${getMethodsForTag(\n TAG_NAMES.LINK,\n link.priority,\n encode\n )} ${getMethodsForTag(TAG_NAMES.SCRIPT, script.priority, encode)}`,\n };\n\n return {\n priorityMethods,\n metaTags: meta.default,\n linkTags: link.default,\n scriptTags: script.default,\n };\n};\n\nconst mapStateOnServer = props => {\n const {\n baseTag,\n bodyAttributes,\n encode,\n htmlAttributes,\n noscriptTags,\n styleTags,\n title = '',\n titleAttributes,\n prioritizeSeoTags,\n } = props;\n let { linkTags, metaTags, scriptTags } = props;\n let priorityMethods = {\n toComponent: () => {},\n toString: () => '',\n };\n if (prioritizeSeoTags) {\n ({ priorityMethods, linkTags, metaTags, scriptTags } = getPriorityMethods(props));\n }\n return {\n priority: priorityMethods,\n base: getMethodsForTag(TAG_NAMES.BASE, baseTag, encode),\n bodyAttributes: getMethodsForTag(ATTRIBUTE_NAMES.BODY, bodyAttributes, encode),\n htmlAttributes: getMethodsForTag(ATTRIBUTE_NAMES.HTML, htmlAttributes, encode),\n link: getMethodsForTag(TAG_NAMES.LINK, linkTags, encode),\n meta: getMethodsForTag(TAG_NAMES.META, metaTags, encode),\n noscript: getMethodsForTag(TAG_NAMES.NOSCRIPT, noscriptTags, encode),\n script: getMethodsForTag(TAG_NAMES.SCRIPT, scriptTags, encode),\n style: getMethodsForTag(TAG_NAMES.STYLE, styleTags, encode),\n title: getMethodsForTag(TAG_NAMES.TITLE, { title, titleAttributes }, encode),\n };\n};\n\nexport default mapStateOnServer;\n","import mapStateOnServer from './server';\n\nconst instances = [];\n\nexport function clearInstances() {\n instances.length = 0;\n}\n\nexport default class HelmetData {\n instances = [];\n\n value = {\n setHelmet: serverState => {\n this.context.helmet = serverState;\n },\n helmetInstances: {\n get: () => (this.canUseDOM ? instances : this.instances),\n add: instance => {\n (this.canUseDOM ? instances : this.instances).push(instance);\n },\n remove: instance => {\n const index = (this.canUseDOM ? instances : this.instances).indexOf(instance);\n (this.canUseDOM ? instances : this.instances).splice(index, 1);\n },\n },\n };\n\n constructor(context, canUseDOM = typeof document !== 'undefined') {\n this.context = context;\n this.canUseDOM = canUseDOM;\n\n if (!canUseDOM) {\n context.helmet = mapStateOnServer({\n baseTag: [],\n bodyAttributes: {},\n encodeSpecialCharacters: true,\n htmlAttributes: {},\n linkTags: [],\n metaTags: [],\n noscriptTags: [],\n scriptTags: [],\n styleTags: [],\n title: '',\n titleAttributes: {},\n });\n }\n }\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport HelmetData from './HelmetData';\n\nconst defaultValue = {};\n\nexport const Context = React.createContext(defaultValue);\n\nexport const providerShape = PropTypes.shape({\n setHelmet: PropTypes.func,\n helmetInstances: PropTypes.shape({\n get: PropTypes.func,\n add: PropTypes.func,\n remove: PropTypes.func,\n }),\n});\n\nconst canUseDOM = typeof document !== 'undefined';\n\nexport default class Provider extends Component {\n static canUseDOM = canUseDOM;\n\n static propTypes = {\n context: PropTypes.shape({\n helmet: PropTypes.shape(),\n }),\n children: PropTypes.node.isRequired,\n };\n\n static defaultProps = {\n context: {},\n };\n\n static displayName = 'HelmetProvider';\n\n constructor(props) {\n super(props);\n\n this.helmetData = new HelmetData(this.props.context, Provider.canUseDOM);\n }\n\n render() {\n return <Context.Provider value={this.helmetData.value}>{this.props.children}</Context.Provider>;\n }\n}\n","import { HELMET_ATTRIBUTE, TAG_NAMES, TAG_PROPERTIES } from './constants';\nimport { flattenArray } from './utils';\n\nconst updateTags = (type, tags) => {\n const headElement = document.head || document.querySelector(TAG_NAMES.HEAD);\n const tagNodes = headElement.querySelectorAll(`${type}[${HELMET_ATTRIBUTE}]`);\n const oldTags = [].slice.call(tagNodes);\n const newTags = [];\n let indexToDelete;\n\n if (tags && tags.length) {\n tags.forEach(tag => {\n const newElement = document.createElement(type);\n\n // eslint-disable-next-line\n for (const attribute in tag) {\n if (Object.prototype.hasOwnProperty.call(tag, attribute)) {\n if (attribute === TAG_PROPERTIES.INNER_HTML) {\n newElement.innerHTML = tag.innerHTML;\n } else if (attribute === TAG_PROPERTIES.CSS_TEXT) {\n if (newElement.styleSheet) {\n newElement.styleSheet.cssText = tag.cssText;\n } else {\n newElement.appendChild(document.createTextNode(tag.cssText));\n }\n } else {\n const value = typeof tag[attribute] === 'undefined' ? '' : tag[attribute];\n newElement.setAttribute(attribute, value);\n }\n }\n }\n\n newElement.setAttribute(HELMET_ATTRIBUTE, 'true');\n\n // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n if (\n oldTags.some((existingTag, index) => {\n indexToDelete = index;\n return newElement.isEqualNode(existingTag);\n })\n ) {\n oldTags.splice(indexToDelete, 1);\n } else {\n newTags.push(newElement);\n }\n });\n }\n\n oldTags.forEach(tag => tag.parentNode.removeChild(tag));\n newTags.forEach(tag => headElement.appendChild(tag));\n\n return {\n oldTags,\n newTags,\n };\n};\n\nconst updateAttributes = (tagName, attributes) => {\n const elementTag = document.getElementsByTagName(tagName)[0];\n\n if (!elementTag) {\n return;\n }\n\n const helmetAttributeString = elementTag.getAttribute(HELMET_ATTRIBUTE);\n const helmetAttributes = helmetAttributeString ? helmetAttributeString.split(',') : [];\n const attributesToRemove = [].concat(helmetAttributes);\n const attributeKeys = Object.keys(attributes);\n\n for (let i = 0; i < attributeKeys.length; i += 1) {\n const attribute = attributeKeys[i];\n const value = attributes[attribute] || '';\n\n if (elementTag.getAttribute(attribute) !== value) {\n elementTag.setAttribute(attribute, value);\n }\n\n if (helmetAttributes.indexOf(attribute) === -1) {\n helmetAttributes.push(attribute);\n }\n\n const indexToSave = attributesToRemove.indexOf(attribute);\n if (indexToSave !== -1) {\n attributesToRemove.splice(indexToSave, 1);\n }\n }\n\n for (let i = attributesToRemove.length - 1; i >= 0; i -= 1) {\n elementTag.removeAttribute(attributesToRemove[i]);\n }\n\n if (helmetAttributes.length === attributesToRemove.length) {\n elementTag.removeAttribute(HELMET_ATTRIBUTE);\n } else if (elementTag.getAttribute(HELMET_ATTRIBUTE) !== attributeKeys.join(',')) {\n elementTag.setAttribute(HELMET_ATTRIBUTE, attributeKeys.join(','));\n }\n};\n\nconst updateTitle = (title, attributes) => {\n if (typeof title !== 'undefined' && document.title !== title) {\n document.title = flattenArray(title);\n }\n\n updateAttributes(TAG_NAMES.TITLE, attributes);\n};\n\nconst commitTagChanges = (newState, cb) => {\n const {\n baseTag,\n bodyAttributes,\n htmlAttributes,\n linkTags,\n metaTags,\n noscriptTags,\n onChangeClientState,\n scriptTags,\n styleTags,\n title,\n titleAttributes,\n } = newState;\n updateAttributes(TAG_NAMES.BODY, bodyAttributes);\n updateAttributes(TAG_NAMES.HTML, htmlAttributes);\n\n updateTitle(title, titleAttributes);\n\n const tagUpdates = {\n baseTag: updateTags(TAG_NAMES.BASE, baseTag),\n linkTags: updateTags(TAG_NAMES.LINK, linkTags),\n metaTags: updateTags(TAG_NAMES.META, metaTags),\n noscriptTags: updateTags(TAG_NAMES.NOSCRIPT, noscriptTags),\n scriptTags: updateTags(TAG_NAMES.SCRIPT, scriptTags),\n styleTags: updateTags(TAG_NAMES.STYLE, styleTags),\n };\n\n const addedTags = {};\n const removedTags = {};\n\n Object.keys(tagUpdates).forEach(tagType => {\n const { newTags, oldTags } = tagUpdates[tagType];\n\n if (newTags.length) {\n addedTags[tagType] = newTags;\n }\n if (oldTags.length) {\n removedTags[tagType] = tagUpdates[tagType].oldTags;\n }\n });\n\n if (cb) {\n cb();\n }\n\n onChangeClientState(newState, addedTags, removedTags);\n};\n\n// eslint-disable-next-line\nlet _helmetCallback = null;\n\nconst handleStateChangeOnClient = newState => {\n if (_helmetCallback) {\n cancelAnimationFrame(_helmetCallback);\n }\n\n if (newState.defer) {\n _helmetCallback = requestAnimationFrame(() => {\n commitTagChanges(newState, () => {\n _helmetCallback = null;\n });\n });\n } else {\n commitTagChanges(newState);\n _helmetCallback = null;\n }\n};\n\nexport default handleStateChangeOnClient;\n","import { Component } from 'react';\nimport shallowEqual from 'shallowequal';\nimport handleStateChangeOnClient from './client';\nimport mapStateOnServer from './server';\nimport { reducePropsToState } from './utils';\nimport Provider, { providerShape } from './Provider';\n\nexport default class Dispatcher extends Component {\n static propTypes = {\n context: providerShape.isRequired,\n };\n\n static displayName = 'HelmetDispatcher';\n\n rendered = false;\n\n shouldComponentUpdate(nextProps) {\n return !shallowEqual(nextProps, this.props);\n }\n\n componentDidUpdate() {\n this.emitChange();\n }\n\n componentWillUnmount() {\n const { helmetInstances } = this.props.context;\n helmetInstances.remove(this);\n this.emitChange();\n }\n\n emitChange() {\n const { helmetInstances, setHelmet } = this.props.context;\n let serverState = null;\n const state = reducePropsToState(\n helmetInstances.get().map(instance => {\n const props = { ...instance.props };\n delete props.context;\n return props;\n })\n );\n if (Provider.canUseDOM) {\n handleStateChangeOnClient(state);\n } else if (mapStateOnServer) {\n serverState = mapStateOnServer(state);\n }\n setHelmet(serverState);\n }\n\n // componentWillMount will be deprecated\n // for SSR, initialize on first render\n // constructor is also unsafe in StrictMode\n init() {\n if (this.rendered) {\n return;\n }\n\n this.rendered = true;\n\n const { helmetInstances } = this.props.context;\n helmetInstances.add(this);\n this.emitChange();\n }\n\n render() {\n this.init();\n\n return null;\n }\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport fastCompare from 'react-fast-compare';\nimport invariant from 'invariant';\nimport { Context } from './Provider';\nimport HelmetData from './HelmetData';\nimport Dispatcher from './Dispatcher';\nimport { without } from './utils';\nimport { TAG_NAMES, VALID_TAG_NAMES, HTML_TAG_MAP } from './constants';\n\nexport { default as HelmetData } from './HelmetData';\nexport { default as HelmetProvider } from './Provider';\n\n/* eslint-disable class-methods-use-this */\nexport class Helmet extends Component {\n /**\n * @param {Object} base: {\"target\": \"_blank\", \"href\": \"http://mysite.com/\"}\n * @param {Object} bodyAttributes: {\"className\": \"root\"}\n * @param {String} defaultTitle: \"Default Title\"\n * @param {Boolean} defer: true\n * @param {Boolean} encodeSpecialCharacters: true\n * @param {Object} htmlAttributes: {\"lang\": \"en\", \"amp\": undefined}\n * @param {Array} link: [{\"rel\": \"canonical\", \"href\": \"http://mysite.com/example\"}]\n * @param {Array} meta: [{\"name\": \"description\", \"content\": \"Test description\"}]\n * @param {Array} noscript: [{\"innerHTML\": \"<img src='http://mysite.com/js/test.js'\"}]\n * @param {Function} onChangeClientState: \"(newState) => console.log(newState)\"\n * @param {Array} script: [{\"type\": \"text/javascript\", \"src\": \"http://mysite.com/js/test.js\"}]\n * @param {Array} style: [{\"type\": \"text/css\", \"cssText\": \"div { display: block; color: blue; }\"}]\n * @param {String} title: \"Title\"\n * @param {Object} titleAttributes: {\"itemprop\": \"name\"}\n * @param {String} titleTemplate: \"MySite.com - %s\"\n * @param {Boolean} prioritizeSeoTags: false\n */\n /* eslint-disable react/forbid-prop-types, react/require-default-props */\n static propTypes = {\n base: PropTypes.object,\n bodyAttributes: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n defaultTitle: PropTypes.string,\n defer: PropTypes.bool,\n encodeSpecialCharacters: PropTypes.bool,\n htmlAttributes: PropTypes.object,\n link: PropTypes.arrayOf(PropTypes.object),\n meta: PropTypes.arrayOf(PropTypes.object),\n noscript: PropTypes.arrayOf(PropTypes.object),\n onChangeClientState: PropTypes.func,\n script: PropTypes.arrayOf(PropTypes.object),\n style: PropTypes.arrayOf(PropTypes.object),\n title: PropTypes.string,\n titleAttributes: PropTypes.object,\n titleTemplate: PropTypes.string,\n prioritizeSeoTags: PropTypes.bool,\n helmetData: PropTypes.object,\n };\n /* eslint-enable react/prop-types, react/forbid-prop-types, react/require-default-props */\n\n static defaultProps = {\n defer: true,\n encodeSpecialCharacters: true,\n prioritizeSeoTags: false,\n };\n\n static displayName = 'Helmet';\n\n shouldComponentUpdate(nextProps) {\n return !fastCompare(without(this.props, 'helmetData'), without(nextProps, 'helmetData'));\n }\n\n mapNestedChildrenToProps(child, nestedChildren) {\n if (!nestedChildren) {\n return null;\n }\n\n switch (child.type) {\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.NOSCRIPT:\n return {\n innerHTML: nestedChildren,\n };\n\n case TAG_NAMES.STYLE:\n return {\n cssText: nestedChildren,\n };\n default:\n throw new Error(\n `<${child.type} /> elements are self-closing and can not contain children. Refer to our API for more information.`\n );\n }\n }\n\n flattenArrayTypeChildren({ child, arrayTypeChildren, newChildProps, nestedChildren }) {\n return {\n ...arrayTypeChildren,\n [child.type]: [\n ...(arrayTypeChildren[child.type] || []),\n {\n ...newChildProps,\n ...this.mapNestedChildrenToProps(child, nestedChildren),\n },\n ],\n };\n }\n\n mapObjectTypeChildren({ child, newProps, newChildProps, nestedChildren }) {\n switch (child.type) {\n case TAG_NAMES.TITLE:\n return {\n ...newProps,\n [child.type]: nestedChildren,\n titleAttributes: { ...newChildProps },\n };\n\n case TAG_NAMES.BODY:\n return {\n ...newProps,\n bodyAttributes: { ...newChildProps },\n };\n\n case TAG_NAMES.HTML:\n return {\n ...newProps,\n htmlAttributes: { ...newChildProps },\n };\n default:\n return {\n ...newProps,\n [child.type]: { ...newChildProps },\n };\n }\n }\n\n mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n let newFlattenedProps = { ...newProps };\n\n Object.keys(arrayTypeChildren).forEach(arrayChildName => {\n newFlattenedProps = {\n ...newFlattenedProps,\n [arrayChildName]: arrayTypeChildren[arrayChildName],\n };\n });\n\n return newFlattenedProps;\n }\n\n warnOnInvalidChildren(child, nestedChildren) {\n invariant(\n VALID_TAG_NAMES.some(name => child.type === name),\n typeof child.type === 'function'\n ? `You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.`\n : `Only elements types ${VALID_TAG_NAMES.join(\n ', '\n )} are allowed. Helmet does not support rendering <${\n child.type\n }> elements. Refer to our API for more information.`\n );\n\n invariant(\n !nestedChildren ||\n typeof nestedChildren === 'string' ||\n (Array.isArray(nestedChildren) &&\n !nestedChildren.some(nestedChild => typeof nestedChild !== 'string')),\n `Helmet expects a string as a child of <${child.type}>. Did you forget to wrap your children in braces? ( <${child.type}>{\\`\\`}</${child.type}> ) Refer to our API for more information.`\n );\n\n return true;\n }\n\n mapChildrenToProps(children, newProps) {\n let arrayTypeChildren = {};\n\n React.Children.forEach(children, child => {\n if (!child || !child.props) {\n return;\n }\n\n const { children: nestedChildren, ...childProps } = child.props;\n // convert React props to HTML attributes\n const newChildProps = Object.keys(childProps).reduce((obj, key) => {\n obj[HTML_TAG_MAP[key] || key] = childProps[key];\n return obj;\n }, {});\n\n let { type } = child;\n if (typeof type === 'symbol') {\n type = type.toString();\n } else {\n this.warnOnInvalidChildren(child, nestedChildren);\n }\n\n switch (type) {\n case TAG_NAMES.FRAGMENT:\n newProps = this.mapChildrenToProps(nestedChildren, newProps);\n break;\n\n case TAG_NAMES.LINK:\n case TAG_NAMES.META:\n case TAG_NAMES.NOSCRIPT:\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.STYLE:\n arrayTypeChildren = this.flattenArrayTypeChildren({\n child,\n arrayTypeChildren,\n newChildProps,\n nestedChildren,\n });\n break;\n\n default:\n newProps = this.mapObjectTypeChildren({\n child,\n newProps,\n newChildProps,\n nestedChildren,\n });\n break;\n }\n });\n\n return this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n }\n\n render() {\n const { children, ...props } = this.props;\n let newProps = { ...props };\n let { helmetData } = props;\n\n if (children) {\n newProps = this.mapChildrenToProps(children, newProps);\n }\n\n if (helmetData && !(helmetData instanceof HelmetData)) {\n helmetData = new HelmetData(helmetData.context, helmetData.instances);\n }\n\n return helmetData ? (\n // eslint-disable-next-line react/jsx-props-no-spreading\n <Dispatcher {...newProps} context={helmetData.value} helmetData={undefined} />\n ) : (\n <Context.Consumer>\n {(\n context // eslint-disable-next-line react/jsx-props-no-spreading\n ) => <Dispatcher {...newProps} context={context} />}\n </Context.Consumer>\n );\n }\n}\n","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","const prod = {\r\n extraModules: false,\r\n modules: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\"],\r\n socialLoginUrl: \"https://du.ilsole24ore.com/utenti/AuthFiles/SocialLogin/DUSocialLoginJS.ashx\",\r\n logout: \"https://du.ilsole24ore.com/utenti/AuthFiles/LogOff.aspx?RURL=https://book24ore.ilsole24ore.com\",\r\n scriptTealium: \"//tags.tiqcdn.com/utag/ilsole24ore/book24ore/prod/utag.sync.js\",\r\n urlSmart: \"https://smartfisco24.ilsole24ore.com/private/default.aspx\",\r\n url: {\r\n API_URL_SITO: 'https://book24ore.ilsole24ore.com/',\r\n API_URL_LOGIN_CENTRALE: 'https://api24.ilsole24ore.com/Users/userLogin?',\r\n API_URL_PROFILO: 'https://api24.ilsole24ore.com/Web/SSOLogin.aspx?',\r\n API_URL_GETPROFILO: 'https://api24.ilsole24ore.com/Users/userLoginSSO?',\r\n BACKEND_SERVICE: 'https://dwa.ilsole24ore.com/oth/api/',\r\n QRCODE_SERVICE: 'https://jsonorb.ilsole24ore.com/joplus/api/'\r\n },\r\n token: {\r\n STATIC_TOKEN: 'geZgfRZH2lUZJikdwXpJpoqSgWc+g82ndGHPFHoF0Sq6+7Q/9FyDD5Til+p8KaVIRoGq728W7RmunqNjcLYWSc0oczLZvf1Iu4Frk+JsoIbN/v9bxfNvBNzvgBSZmCsAQHX+WDwTyr3qXGNI3FIxta7cYW2+rie9GxrR/JdgkPMG9MU4/eqTErHCtrsWP9tD7aZCV7Eh7ebIFKK6l24hgbmE58D6vgHF9wiqyMzAGMpp1Q5Ya4kWCVSI4Uxi3MWMdQBesNw/y6OGQzHubLqdDOAsBTIfg0WkUpwlNuGZuwunDkBwjlQChLoo0rUCjxtRX1jcX8tGu9patEMYY3EAzqIAa3qOk8s8gzzpjjnwsQATsGq7/TNBI/70aNNO04l7vpIPQSo/ELGp7KIL9oBzKYn2hI8oT1Cc4Fr+U1Q+gwQgPZujQ0r3xqeNPdsmzDN1XuRXPMCGi3LOUfksgCHanW+ssy2IviGknfqGUbio6g5g/BjbOVSOmohXXLFOhqRv'\r\n },\r\n serviceToCall: {\r\n configSection: 'BD.Common.BDCommonServiceREST.svc/GetConfigSection',\r\n configSectionNoToken: 'BD.Common.BDCommonServiceREST.svc/GetConfigSectionNoToken', \r\n manageSiacSession: 'BD.USer.BDUserServiceREST.svc/ManageSiacSession',\r\n dynamicTokenExt: 'BD.USer.BDUserServiceREST.svc/GetDynamicTokenExt', \r\n dynamicTokenExtNoAcc: 'BD.USer.BDUserServiceREST.svc/GetDynamicTokenExtNoAccountingLog',\r\n getProdotti: 'BD.Common.BDCommonServiceREST.svc/GetData',\r\n refreshToken: 'BD.User.BDUserServiceREST.svc/RefreshToken',\r\n find: 'JsonData.UserDataREST.svc/FindByQuery',\r\n delete: 'JsonData.UserDataREST.svc/Delete',\r\n countNotification: 'Fuoco.InBox.FE.MessageServiceREST.svc/Count',\r\n getNotification: 'Fuoco.InBox.FE.MessageServiceREST.svc/Get',\r\n updateStateNotification: 'Fuoco.InBox.FE.MessageServiceREST.svc/Read',\r\n getDocumento: 'BD.Document.BDDocumentServiceREST.svc/GetDocument',\r\n getProdottiFrizzera: 'BD.Gpf.Document.BDGpfDocumentServiceREST.svc/GetDocument',\r\n getTaxonomy: 'BD.Taxonomy.BDTaxonomyServiceREST.svc/GetTaxonomy',\r\n getDocumentsByLeaf: 'BD.Document.BDDocumentServiceREST.svc/GetDocumentsByLeafListIndex',\r\n getSummarySmart: 'BD.Document.BDDocumentServiceREST.svc/GetSummarySmart',\r\n getResultSearch: 'BD.Search.BDSearchServiceREST.svc/PullSearch',\r\n save: 'JsonData.UserDataREST.svc/Save',\r\n update: 'JsonData.UserDataREST.svc/Update',\r\n qrCodeActivation: \"BD.User.BDUserServiceREST.svc/AttivaContenutiDigitali\",\r\n getUserType: \"BD.User.BDUserServiceREST.svc/GetUserProfile\",\r\n getTokenInfo: \"BD.User.BDUserServiceREST.svc/GetTokenInfo\",\r\n getDisposizioni: \"BD.Document.BDDocumentServiceREST.svc/GetDisposizioni\",\r\n getRelatedDocuments: \"BD.Document.BDDocumentServiceREST.svc/GetRelatedDocuments\",\r\n getCountReferences: \"BD.Document.BDDocumentServiceREST.svc/GetCountReferences\"\r\n },\r\n nameList: {\r\n strumentiProf: 'BIBLIOTECA24_Strumenti',\r\n ultimeUscite: 'BIBLIOTECA24_GetUltimeUscite',\r\n leggendo: 'biblioteca_leggendo',\r\n segnalibro: 'biblioteca_segnalibro',\r\n documentiConNote: 'biblioteca_segnati',\r\n note: 'biblioteca_note',\r\n continuaALegg: 'BIBLIOTECA24_GetLeggendo',\r\n proposteAbbon: 'BIBLIOTECA24_GetProposte',\r\n piuLetti: 'biblioteca_letto',\r\n listPiuLetti: 'BIBLIOTECA24_GetPiuLetti',\r\n tiPotrebbeInteressare: 'BIBLIOTECA24_GetInteressare',\r\n giaLetti: \"biblioteca_gialetto\",\r\n daLeggere: \"BIBLIOTECA24_DaLeggere\",\r\n tipoDocument: \"BIBLIOTECA24_GetTipoViewer\",\r\n getLittleSumm: \"BIBLIOTECA24_GetSommarietto_Precedente_Successivo\",\r\n getSchedaPac: \"BIBLIOTECA24_GetSchedaPacchetto\",\r\n getLibriPacc: \"BIBLIOTECA24_GetLibriPacchetto\",\r\n getLibriInteress: \"BIBLIOTECA24_GetInteressarePacchetto\",\r\n getTestataHtml: \"BIBLIOTECA24_GetTestata_DocumentoHtml\",\r\n getBuyOrNot: \"BIBLIOTECA24_GetLibriAcquistare\",\r\n getAggiornamentiReader: \"Biblioteca24_GetAggiornamenti\",\r\n getInformationBookmarks: \"BIBLIOTECA24_Segnalibro\",\r\n getBuyedOrNot: \"BIBLIOTECA24_Comprato\",\r\n getAnni: \"BIBLIOTECA24_GetAnni\",\r\n archivio: \"BIBLIOTECA24_GetLibriRicerca\",\r\n ricercaPerTitolo: \"BIBLIOTECA24_GetLibriRicercaTitolo\",\r\n getPacchetto: \"BIBLIOTECA24_GetProposte\",\r\n getDocumentoSommario: \"BIBLIOTECA24_GetDocumentoSommario\",\r\n getContenutiEsistentiQr: \"BIBLIOTECA24_ContenutiDigitali_Esistenti\",\r\n getAreeTematiche: \"BIBLIOTECA24_GetAreeTematiche\",\r\n getAggiungiPiuLetti: \"BIBLIOTECA24_Aggiungi_PiuLetti\",\r\n getNormaCommentata: \"PlusSmart_GetCorrelati_NormaCommentata_Legge\", \r\n },\r\n serviceDocumenti: {\r\n documento: 'BIBLIOTECA24_GetDocumento',\r\n autori: 'BIBLIOTECA24_GetAutori',\r\n libroPdf: \"BIBLIOTECA24_GetLibroPdf\",\r\n normaCommentata: \"Biblioteca24_GetCorrelati_NormaCommentata_Legge\"\r\n },\r\n jsonorb: {\r\n jsonorb_apikey: '918704ec-4811-45b6-a169-16bae3df69a8',\r\n jsonorb_addCache: true\r\n },\r\n appKey: 'DroidQuot',\r\n appId: '4263',\r\n xpath: \"/root\",\r\n src_dst: {\r\n app_js: '/dist/js/app.js'\r\n },\r\n imgGenericOG: \"https://book24ore.ilsole24ore.com/dist/img/og-generica.png\",\r\n imgLink: \"https://static.ilsole24ore.com/dda/\",\r\n imgLinkPacchetti: \"/dist/img/pacchetti/\",\r\n imgDefaultPacch: \"/dist/img/placeholder-pacchetto.png\",\r\n imgDefaultLibro: \"/dist/img/placeholder-libro.png\",\r\n imgDefault1: \"//via.placeholder.com/212x300\",\r\n imgDefault2: \"//via.placeholder.com/400x400\",\r\n imgDefault3: \"//via.placeholder.com/800x600\",\r\n imgFaq1: \"/dist/img/ricerca.png\",\r\n imgFaq2: \"/dist/img/organizza.png\",\r\n imgFaq3: \"/dist/img/lettura.png\",\r\n imgAdv: \"\",\r\n rows: 50,\r\n domain: '.ilsole24ore.com',\r\n siteCode: 'CO',\r\n bioMancante: 'Biografia mancante',\r\n getPDF: 'GetPdf',\r\n Research: {\r\n queryExtFirstPiece: '-idprovpart:(232 230 231 233 240) ',\r\n queryExtIsUpdated: ' AND biblio_aggiornamento:(1)'\r\n },\r\n Zoom: {\r\n initialScale: 1,\r\n minScale: 0.8,\r\n maxScale: 1.2,\r\n initialPositionX: 0,\r\n initialPositionY: 0\r\n },\r\n linkToViewerntpro: [\"https://viewerntpro.ilsole24ore.com/private/default.aspx?appid=4239&redirect=false&btnPrint=true&origine=\",\"#showdoc/\"],\r\n linkRegistration: \"https://du.ilsole24ore.com/utenti/Registrazione.aspx?schema=Reg2013&Pers=home2013&Newsletters=DURegCO&&SiteCode=CN\",\r\n forgotPassword: \"https://du.ilsole24ore.com/utenti/passwordReset.aspx?RURL=\",\r\n linkFooter: {\r\n datiSocietari: \"https://www.gruppo24ore.ilsole24ore.com/it-it/institutional/dati-societari\",\r\n websystem: \"https://24oresystem.ilsole24ore.com/it/digital\",\r\n informativaCookies: \"https://du.ilsole24ore.com/utenti/privacyfiles/informativa_cookies.html\",\r\n privacyPolicy: \"https://du.ilsole24ore.com/utenti/privacyfiles/privacy_policy.html\"\r\n },\r\n linkProfiloPersonale: \"https://du.ilsole24ore.com/utenti/areautente/my24_ilmioprofilo.aspx\",\r\n color: {\r\n seppia: ['s', '</span>'],\r\n yellow: ['y', '</span>'],\r\n pink: ['p', '</span>'],\r\n violet: ['v', '</span>']\r\n },\r\n filters: [\r\n {\r\n label: \"Solo libri in aggiornamento\",\r\n id: \"notifiche_solo-libri-in-aggiornamento\",\r\n dataValue: \"libri_aggiornamento\",\r\n checked: false\r\n },\r\n {\r\n label: \"Nuovi libri aggiunti\",\r\n id: \"notifiche_nuovi-libri-aggiunti\",\r\n dataValue: \"libri_nuovi\",\r\n checked: false\r\n }\r\n ],\r\n themeAreas: [\r\n {\r\n name: 'Fisco e imprese',\r\n id: 'FiscoEImprese',\r\n class: 'clr-fis',\r\n imgPath: '/dist/img/area-fisco.svg',\r\n link: '/Area/FiscoEImprese'\r\n },\r\n {\r\n name: 'Diritto',\r\n id: 'Diritto',\r\n class: 'clr-dir',\r\n imgPath: '/dist/img/area-diritto.svg',\r\n link: '/Area/Diritto'\r\n },\r\n {\r\n name: 'Lavoro',\r\n id: 'Lavoro',\r\n class: 'clr-lav',\r\n imgPath: '/dist/img/area-lavoro.svg',\r\n link: '/Area/Lavoro'\r\n },\r\n {\r\n name: 'PA',\r\n id: 'PA',\r\n class: 'clr-pa',\r\n imgPath: '/dist/img/area-pa.svg',\r\n link: '/Area/PA'\r\n },\r\n {\r\n name: 'Tecnici',\r\n id: 'Tecnici',\r\n class: 'clr-tec',\r\n imgPath: '/dist/img/area-tecnici.svg',\r\n link: '/Area/Tecnici'\r\n }\r\n ],\r\n types: [\"nuovoLibro\", \"aggiornamentoFrizzera\"],\r\n linkScopriDiPiu:\"https://24oreprofessionale.ilsole24ore.com/prodotti/book24ore/\",\r\n licenseKeyPdfExpress: '5SRuh9T7Fc3yiLyhIIHt',\r\n ip: 'https://api.ipify.org?format=json'\r\n};\r\n\r\nconst staging = { \r\n extraModules: false,\r\n modules: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\"],\r\n socialLoginUrl: \"http://duprovisioning.dlv.24orepro.in.ilsole24ore.it/Utenti/AuthFiles/SocialLogin/DUSocialLoginJS.ashx\",\r\n logout: \"http://duprovisioning.dlv.24orepro.in.ilsole24ore.it/Utenti/AuthFiles/LogOff.aspx?RURL=http://book24ore.dlv.24orepro.in.ilsole24ore.it/\",\r\n scriptTealium: \"//tags.tiqcdn.com/utag/ilsole24ore/book24ore/qa/utag.sync.js\",\r\n urlSmart: \"http://smart24fisco.dlv.24orepro.in.ilsole24ore.it/private/default.aspx\",\r\n url: {\r\n API_URL_SITO: 'http://book24ore.dlv.24orepro.in.ilsole24ore.it/',\r\n API_URL_LOGIN_CENTRALE: 'http://api24.dlv.24orepro.in.ilsole24ore.it/Users/userLogin?',\r\n API_URL_PROFILO: 'http://api24.dlv.24orepro.in.ilsole24ore.it/Web/SSOLogin.aspx?',\r\n API_URL_GETPROFILO: 'http://api24.dlv.24orepro.in.ilsole24ore.it/Users/userLoginSSO?',\r\n BACKEND_SERVICE: 'http://dwa.dlv.24orepro.in.ilsole24ore.it/oth/api/',\r\n QRCODE_SERVICE: 'https://jsonorb1dlv.ilsole24ore.com/api/'\r\n },\r\n token: {\r\n STATIC_TOKEN: 'geZgfRZH2lUZJikdwXpJpmdoEqmcbGEU+9uBN305JKsuqT9jbeVO5hazLTNTeWPBEDBDXs7/ITKhPDJftdt4CVoAVyfjbW9ZlnAXbewoUNbrfsx9ZbfPUTI0ElX0bXh8fqEqlDCre4K0NlQT1NaFQS7OOGkx+up85FHVbwDS3DybxzE5KFwQMNmMRs2oJh+d6nqcnUgdjS+a81JNJ8sPt7jErPh67Gm4YSrfQbV+lK/7HkrkqQuFKHxyjt2f56+/ZEVRvijdZGlCrsZHaS8ctkJcZw+zGFXXV/fcQcp1tLaVWPAa1gAiZdatBesyL9LXsOLVkoOOtozgQC+V37g+t9RBsYOepRAFQjogXhf88pBj0adrCB9/jHVDsVbNtsYYGR1X6Soa9bwZFBlIc0Ntd2VStnaTQlSesSmQb3+zRgwLyIZnOY0nAH9I6xZCcHSWHVHrOfk1/SeW0L4nzyh5be3UuXsMvpW1OfLqpTvS5zbTbWlrMM9xzVWGJ2Rsi5vL'\r\n },\r\n serviceToCall: {\r\n configSection: 'BD.Common.BDCommonServiceREST.svc/GetConfigSection',\r\n configSectionNoToken: 'BD.Common.BDCommonServiceREST.svc/GetConfigSectionNoToken',\r\n manageSiacSession: 'BD.USer.BDUserServiceREST.svc/ManageSiacSession',\r\n dynamicTokenExt: 'BD.USer.BDUserServiceREST.svc/GetDynamicTokenExt',\r\n dynamicTokenExtNoAcc: 'BD.USer.BDUserServiceREST.svc/GetDynamicTokenExtNoAccountingLog',\r\n getProdotti: 'BD.Common.BDCommonServiceREST.svc/GetData',\r\n refreshToken: 'BD.User.BDUserServiceREST.svc/RefreshToken',\r\n find: 'JsonData.UserDataREST.svc/FindByQuery',\r\n delete: 'JsonData.UserDataREST.svc/Delete',\r\n countNotification: 'Fuoco.InBox.FE.MessageServiceREST.svc/Count',\r\n getNotification: 'Fuoco.InBox.FE.MessageServiceREST.svc/Get',\r\n updateStateNotification: 'Fuoco.InBox.FE.MessageServiceREST.svc/Read',\r\n getDocumento: 'BD.Document.BDDocumentServiceREST.svc/GetDocument',\r\n getProdottiFrizzera: 'BD.Gpf.Document.BDGpfDocumentServiceREST.svc/GetDocument',\r\n getTaxonomy: 'BD.Taxonomy.BDTaxonomyServiceREST.svc/GetTaxonomy',\r\n getDocumentsByLeaf: 'BD.Document.BDDocumentServiceREST.svc/GetDocumentsByLeafListIndex',\r\n getSummarySmart: 'BD.Document.BDDocumentServiceREST.svc/GetSummarySmart',\r\n getResultSearch: 'BD.Search.BDSearchServiceREST.svc/PullSearch',\r\n save: 'JsonData.UserDataREST.svc/Save',\r\n update: 'JsonData.UserDataREST.svc/Update',\r\n qrCodeActivation: \"BD.User.BDUserServiceREST.svc/AttivaContenutiDigitali\",\r\n getUserType: \"BD.User.BDUserServiceREST.svc/GetUserProfile\",\r\n getTokenInfo: \"BD.User.BDUserServiceREST.svc/GetTokenInfo\",\r\n getDisposizioni: \"BD.Document.BDDocumentServiceREST.svc/GetDisposizioni\",\r\n getRelatedDocuments: \"BD.Document.BDDocumentServiceREST.svc/GetRelatedDocuments\",\r\n getCountReferences: \"BD.Document.BDDocumentServiceREST.svc/GetCountReferences\"\r\n },\r\n nameList: {\r\n strumentiProf: 'BIBLIOTECA24_Strumenti',\r\n ultimeUscite: 'BIBLIOTECA24_GetUltimeUscite',\r\n leggendo: 'biblioteca_leggendo',\r\n segnalibro: 'biblioteca_segnalibro',\r\n documentiConNote: 'biblioteca_segnati',\r\n note: 'biblioteca_note',\r\n continuaALegg: 'BIBLIOTECA24_GetLeggendo',\r\n proposteAbbon: 'BIBLIOTECA24_GetProposte',\r\n piuLetti: 'biblioteca_letto',\r\n listPiuLetti: 'BIBLIOTECA24_GetPiuLetti',\r\n tiPotrebbeInteressare: 'BIBLIOTECA24_GetInteressare',\r\n giaLetti: \"biblioteca_gialetto\",\r\n daLeggere: \"BIBLIOTECA24_DaLeggere\",\r\n tipoDocument: \"BIBLIOTECA24_GetTipoViewer\",\r\n getLittleSumm: \"BIBLIOTECA24_GetSommarietto_Precedente_Successivo\",\r\n getSchedaPac: \"BIBLIOTECA24_GetSchedaPacchetto\",\r\n getLibriPacc: \"BIBLIOTECA24_GetLibriPacchetto\",\r\n getLibriInteress: \"BIBLIOTECA24_GetInteressarePacchetto\",\r\n getTestataHtml: \"BIBLIOTECA24_GetTestata_DocumentoHtml\",\r\n getBuyOrNot: \"BIBLIOTECA24_GetLibriAcquistare\",\r\n getAggiornamentiReader: \"Biblioteca24_GetAggiornamenti\",\r\n getInformationBookmarks: \"BIBLIOTECA24_Segnalibro\",\r\n getBuyedOrNot: \"BIBLIOTECA24_Comprato\",\r\n getAnni: \"BIBLIOTECA24_GetAnni\",\r\n archivio: \"BIBLIOTECA24_GetLibriRicerca\", \r\n ricercaPerTitolo: \"BIBLIOTECA24_GetLibriRicercaTitolo\",\r\n getPacchetto: \"BIBLIOTECA24_GetProposte\",\r\n getDocumentoSommario: \"BIBLIOTECA24_GetDocumentoSommario\",\r\n getContenutiEsistentiQr: \"BIBLIOTECA24_ContenutiDigitali_Esistenti\",\r\n getAreeTematiche: \"BIBLIOTECA24_GetAreeTematiche\",\r\n getAggiungiPiuLetti: \"BIBLIOTECA24_Aggiungi_PiuLetti\",\r\n getNormaCommentata: \"PlusSmart_GetCorrelati_NormaCommentata_Legge\" \r\n },\r\n serviceDocumenti: {\r\n documento: 'BIBLIOTECA24_GetDocumento',\r\n autori: 'BIBLIOTECA24_GetAutori',\r\n libroPdf: \"BIBLIOTECA24_GetLibroPdf\",\r\n normaCommentata: \"Biblioteca24_GetCorrelati_NormaCommentata_Legge\"\r\n },\r\n jsonorb: {\r\n jsonorb_apikey: '918704ec-4811-45b6-a169-16bae3df69a8',\r\n jsonorb_addCache: true\r\n },\r\n appKey: 'DroidQuot',\r\n appId: '4263',\r\n xpath: \"/root\",\r\n src_dst: {\r\n app_js: '/dist/js/app.js'\r\n },\r\n imgGenericOG: \"https://book24ore.ilsole24ore.com/dist/img/og-generica.png\",\r\n imgLink: \"https://static.ilsole24ore.com/dda/\",\r\n imgLinkPacchetti: \"/dist/img/pacchetti/\",\r\n imgDefaultPacch: \"/dist/img/placeholder-pacchetto.png\",\r\n imgDefaultLibro: \"/dist/img/placeholder-libro.png\",\r\n imgDefault1: \"//via.placeholder.com/212x300\",\r\n imgDefault2: \"//via.placeholder.com/400x400\",\r\n imgDefault3: \"//via.placeholder.com/800x600\",\r\n imgFaq1: \"/dist/img/ricerca.png\",\r\n imgFaq2: \"/dist/img/organizza.png\",\r\n imgFaq3: \"/dist/img/lettura.png\",\r\n imgAdv: \"\",\r\n rows: 50,\r\n domain: '.dlv.24orepro.in.ilsole24ore.it',\r\n siteCode: 'CO',\r\n bioMancante: 'Biografia mancante',\r\n getPDF: 'GetPdf',\r\n Research: {\r\n queryExtFirstPiece: '-idprovpart:(232 230 231 233 240) ',\r\n queryExtIsUpdated: ' AND biblio_aggiornamento:(1)'\r\n },\r\n Zoom: {\r\n initialScale: 1,\r\n minScale: 0.8,\r\n maxScale: 1.2,\r\n initialPositionX: 0,\r\n initialPositionY: 0\r\n },\r\n linkToViewerntpro: [\"http://viewerntpro.dlv.24orepro.in.ilsole24ore.it/private/default.aspx?appid=4239&redirect=false&btnPrint=true&origine=\",\"#showdoc/\"],\r\n linkRegistration: \"https://du.ilsole24ore.com/utenti/Registrazione.aspx?schema=Reg2013&Pers=home2013&Newsletters=DURegCO&&SiteCode=CN\",\r\n forgotPassword: \"http://duprovisioning.dlv.24orepro.in.ilsole24ore.it/utenti/passwordReset.aspx?RURL=\",\r\n linkFooter: {\r\n datiSocietari: \"https://www.gruppo24ore.ilsole24ore.com/it-it/institutional/dati-societari\",\r\n websystem: \"https://24oresystem.ilsole24ore.com/it/digital\",\r\n informativaCookies: \"https://du.ilsole24ore.com/utenti/privacyfiles/informativa_cookies.html\",\r\n privacyPolicy: \"https://du.ilsole24ore.com/utenti/privacyfiles/privacy_policy.html\"\r\n },\r\n linkProfiloPersonale: \"http://duprovisioning.dlv.24orepro.in.ilsole24ore.it/Utenti/areautente/my24_ilmioprofilo.aspx\",\r\n color: {\r\n seppia: ['s', '</span>'],\r\n yellow: ['y', '</span>'],\r\n pink: ['p', '</span>'],\r\n violet: ['v', '</span>']\r\n },\r\n filters: [\r\n {\r\n label: \"Solo libri in aggiornamento\",\r\n id: \"notifiche_solo-libri-in-aggiornamento\",\r\n dataValue: \"libri_aggiornamento\",\r\n checked: false\r\n },\r\n {\r\n label: \"Nuovi libri aggiunti\",\r\n id: \"notifiche_nuovi-libri-aggiunti\",\r\n dataValue: \"libri_nuovi\",\r\n checked: false\r\n }\r\n ],\r\n themeAreas: [\r\n {\r\n name: 'Fisco e imprese',\r\n id: 'FiscoEImprese',\r\n class: 'clr-fis',\r\n imgPath: '/dist/img/area-fisco.svg',\r\n link: '/Area/FiscoEImprese'\r\n },\r\n {\r\n name: 'Diritto',\r\n id: 'Diritto',\r\n class: 'clr-dir',\r\n imgPath: '/dist/img/area-diritto.svg',\r\n link: '/Area/Diritto'\r\n },\r\n {\r\n name: 'Lavoro',\r\n id: 'Lavoro',\r\n class: 'clr-lav',\r\n imgPath: '/dist/img/area-lavoro.svg',\r\n link: '/Area/Lavoro'\r\n },\r\n {\r\n name: 'PA',\r\n id: 'PA',\r\n class: 'clr-pa',\r\n imgPath: '/dist/img/area-pa.svg',\r\n link: '/Area/PA'\r\n },\r\n {\r\n name: 'Tecnici',\r\n id: 'Tecnici',\r\n class: 'clr-tec',\r\n imgPath: '/dist/img/area-tecnici.svg',\r\n link: '/Area/Tecnici'\r\n }\r\n ],\r\n types: [\"nuovoLibro\", \"aggiornamentoFrizzera\"],\r\n linkScopriDiPiu:\"https://24oreprofessionale.ilsole24ore.com/prodotti/book24ore/\",\r\n licenseKeyPdfExpress: 'S4r4e9vEMtgQ6IT4sX6q',\r\n ip: 'https://api.ipify.org?format=json'\r\n};\r\n\r\nconst dev = {\r\n extraModules: true,\r\n modules: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\"],\r\n socialLoginUrl: \"http://duprovisioning.dev.24orepro.in.ilsole24ore.it/Utenti/AuthFiles/SocialLogin/DUSocialLoginJS.ashx\",\r\n logout: \"http://duprovisioning.dev.24orepro.in.ilsole24ore.it/Utenti/AuthFiles/LogOff.aspx?RURL=http://biblioteca24.dev.24orepro.in.ilsole24ore.it/\",\r\n scriptTealium: \"//tags.tiqcdn.com/utag/ilsole24ore/book24ore/qa/utag.sync.js\",\r\n urlSmart: \"http://smart24frizzera.dev.24orepro.in.ilsole24ore.it/private/default.aspx\",\r\n url: {\r\n API_URL_SITO: 'http://biblioteca24.dev.24orepro.in.ilsole24ore.it/',\r\n API_URL_LOGIN_CENTRALE: 'http://api24.dev.24orepro.in.ilsole24ore.it/Users/userLogin?',\r\n API_URL_GETPROFILO: 'http://api24.dev.24orepro.in.ilsole24ore.it/Users/userLoginSSO?',\r\n API_URL_PROFILO: 'http://api24.dev.24orepro.in.ilsole24ore.it/Web/SSOLogin.aspx?',\r\n BACKEND_SERVICE: 'http://dwa.dev.24orepro.in.ilsole24ore.it/api/'\r\n /*'http://jsonorb1.dev.24orepro.in.ilsole24ore.it/api/'*/,\r\n QRCODE_SERVICE: 'https://jsonorb1dlv.ilsole24ore.com/api/'\r\n },\r\n token: {\r\n STATIC_TOKEN: 'geZgfRZH2lUZJikdwXpJptTUaMfzIqGt4nyQ6zpXGYxS3+Y0fsVEL/rN8QX+wtJ9csV3w/y3jlAJP5b/SRft+IokUIJb09PLvFWTYZDULVwp9FwwhaQdm/jtmAy7oU0w+Qi4zxW+EeO9vCHnUgFauO3FUOzwXjEXji/yIxJFBH0Lhm1KtPWfsMH9MaCS/bLW/rwNxg27No7tVWt8kYbBi5hU/T2QjCNhjGUHLpT9Lz6rmjT3OvRhwjmIG2rIWqevszzt+TvsJmErbU4MeEtUWUldjK1tei400E6Q0kqZpQYIwMxEzIqwc6VNHtLhnfcjIGsCWDnEvHnCqrhrxZBggoUndwIqqS0h2Xr9RR1XHIVpufb3uqdP3+cA2OM3BsQ+eYLHRfO0bNmoKAVV31sYh9dFGoMghynBjhxiKUSEoDOPNmH6igwYJ1nmgUvwPswSVe9oop8L9mJWdrX60U/CQ88qw8iI3bvTooHAXq5A3dfPemEkssQ64/yhO3S8kor57FxmoNcFnp+kaXn/MBPWOkAu6JiOj1UqdL05KxaeKek='\r\n },\r\n serviceToCall: {\r\n configSection: 'BD.Common.BDCommonServiceREST.svc/GetConfigSection',\r\n configSectionNoToken: 'BD.Common.BDCommonServiceREST.svc/GetConfigSectionNoToken',\r\n manageSiacSession: 'BD.USer.BDUserServiceREST.svc/ManageSiacSession',\r\n dynamicTokenExt: 'BD.USer.BDUserServiceREST.svc/GetDynamicTokenExt',\r\n dynamicTokenExtNoAcc: 'BD.USer.BDUserServiceREST.svc/GetDynamicTokenExtNoAccountingLog',\r\n getProdotti: 'BD.Common.BDCommonServiceREST.svc/GetData',\r\n refreshToken: 'BD.User.BDUserServiceREST.svc/RefreshToken',\r\n find: 'JsonData.UserDataREST.svc/FindByQuery',\r\n delete: 'JsonData.UserDataREST.svc/Delete',\r\n countNotification: 'Fuoco.InBox.FE.MessageServiceREST.svc/Count',\r\n getNotification: 'Fuoco.InBox.FE.MessageServiceREST.svc/Get',\r\n updateStateNotification: 'Fuoco.InBox.FE.MessageServiceREST.svc/Read',\r\n getDocumento: 'BD.Document.BDDocumentServiceREST.svc/GetDocument',\r\n getProdottiFrizzera: 'BD.Gpf.Document.BDGpfDocumentServiceREST.svc/GetDocument',\r\n getTaxonomy: 'BD.Taxonomy.BDTaxonomyServiceREST.svc/GetTaxonomy',\r\n getDocumentsByLeaf: 'BD.Document.BDDocumentServiceREST.svc/GetDocumentsByLeafListIndex',\r\n getSummarySmart: 'BD.Document.BDDocumentServiceREST.svc/GetSummarySmart',\r\n getResultSearch: 'BD.Search.BDSearchServiceREST.svc/PullSearch',\r\n save: 'JsonData.UserDataREST.svc/Save',\r\n update: 'JsonData.UserDataREST.svc/Update',\r\n qrCodeActivation: \"BD.User.BDUserServiceREST.svc/AttivaContenutiDigitali\",\r\n getUserType: \"BD.User.BDUserServiceREST.svc/GetUserProfile\",\r\n getTokenInfo: \"BD.User.BDUserServiceREST.svc/GetTokenInfo\",\r\n getDisposizioni: \"BD.Document.BDDocumentServiceREST.svc/GetDisposizioni\",\r\n getRelatedDocuments: \"BD.Document.BDDocumentServiceREST.svc/GetRelatedDocuments\",\r\n getCountReferences: \"BD.Document.BDDocumentServiceREST.svc/GetCountReferences\"\r\n },\r\n nameList: {\r\n strumentiProf: 'BIBLIOTECA24_Strumenti',\r\n ultimeUscite: 'BIBLIOTECA24_GetUltimeUscite',\r\n leggendo: 'biblioteca_leggendo',\r\n segnalibro: 'biblioteca_segnalibro',\r\n documentiConNote: 'biblioteca_segnati',\r\n note: 'biblioteca_note',\r\n continuaALegg: 'BIBLIOTECA24_GetLeggendo',\r\n proposteAbbon: 'BIBLIOTECA24_GetProposte',\r\n piuLetti: 'biblioteca_letto',\r\n listPiuLetti: 'BIBLIOTECA24_GetPiuLetti',\r\n tiPotrebbeInteressare: 'BIBLIOTECA24_GetInteressare',\r\n giaLetti: \"biblioteca_gialetto\",\r\n daLeggere: \"BIBLIOTECA24_DaLeggere\",\r\n tipoDocument: \"BIBLIOTECA24_GetTipoViewer\",\r\n getLittleSumm: \"BIBLIOTECA24_GetSommarietto_Precedente_Successivo\",\r\n getSchedaPac: \"BIBLIOTECA24_GetSchedaPacchetto\",\r\n getLibriPacc: \"BIBLIOTECA24_GetLibriPacchetto\",\r\n getLibriInteress: \"BIBLIOTECA24_GetInteressarePacchetto\",\r\n getTestataHtml: \"BIBLIOTECA24_GetTestata_DocumentoHtml\",\r\n getBuyOrNot: \"BIBLIOTECA24_GetLibriAcquistare\",\r\n getAggiornamentiReader: \"Biblioteca24_GetAggiornamenti\",\r\n getInformationBookmarks: \"BIBLIOTECA24_Segnalibro\",\r\n getBuyedOrNot: \"BIBLIOTECA24_Comprato\",\r\n getAnni: \"BIBLIOTECA24_GetAnni\",\r\n archivio: \"BIBLIOTECA24_GetLibriRicerca\",\r\n ricercaPerTitolo: \"BIBLIOTECA24_GetLibriRicercaTitolo\",\r\n getPacchetto: \"BIBLIOTECA24_GetProposte\",\r\n getDocumentoSommario: \"BIBLIOTECA24_GetDocumentoSommario\",\r\n getContenutiEsistentiQr: \"BIBLIOTECA24_ContenutiDigitali_Esistenti\",\r\n getAreeTematiche: \"BIBLIOTECA24_GetAreeTematiche\",\r\n getAggiungiPiuLetti: \"BIBLIOTECA24_Aggiungi_PiuLetti\",\r\n getNormaCommentata: \"PlusSmart_GetCorrelati_NormaCommentata_Legge\", \r\n },\r\n serviceDocumenti: {\r\n documento: 'BIBLIOTECA24_GetDocumento',\r\n autori: 'BIBLIOTECA24_GetAutori',\r\n libroPdf: \"BIBLIOTECA24_GetLibroPdf\",\r\n normaCommentata: \"Biblioteca24_GetCorrelati_NormaCommentata_Legge\"\r\n },\r\n jsonorb: {\r\n jsonorb_apikey: '918704ec-4811-45b6-a169-16bae3df69a8',\r\n jsonorb_addCache: false\r\n },\r\n appKey: 'DroidQuot',\r\n appId: '4263',\r\n xpath: \"/root\",\r\n src_dst: {\r\n app_js: '/dist/js/app.js'\r\n },\r\n imgGenericOG: \"https://book24ore.ilsole24ore.com/dist/img/og-generica.png\",\r\n imgLink: \"https://static.ilsole24ore.com/dda/\",\r\n imgLinkPacchetti: \"/dist/img/pacchetti/\",\r\n imgDefaultPacch: \"/dist/img/placeholder-pacchetto.png\",\r\n imgDefaultLibro: \"/dist/img/placeholder-libro.png\",\r\n imgDefault1: \"//via.placeholder.com/212x300\",\r\n imgDefault2: \"//via.placeholder.com/400x400\",\r\n imgDefault3: \"//via.placeholder.com/800x600\",\r\n imgFaq1: \"/dist/img/ricerca.png\",\r\n imgFaq2: \"/dist/img/organizza.png\",\r\n imgFaq3: \"/dist/img/lettura.png\",\r\n imgAdv: \"\",\r\n rows: 50,\r\n domain: '.dev.24orepro.in.ilsole24ore.it',\r\n siteCode: 'CO',\r\n bioMancante: 'Biografia mancante',\r\n getPDF: 'GetPdf',\r\n Research: {\r\n queryExtFirstPiece: '-idprovpart:(232 230 231 233 240) ',\r\n queryExtIsUpdated: ' AND biblio_aggiornamento:(1)'\r\n },\r\n Zoom: {\r\n initialScale: 1,\r\n minScale: 0.8,\r\n maxScale: 1.2,\r\n initialPositionX: 0,\r\n initialPositionY: 0\r\n },\r\n linkToViewerntpro: [\"http://viewerntpro.dev.24orepro.in.ilsole24ore.it/private/default.aspx?appid=4239&redirect=false&btnPrint=true&origine=\", \"#showdoc/\"],\r\n linkRegistration: \"https://du.ilsole24ore.com/utenti/Registrazione.aspx?schema=Reg2013&Pers=home2013&Newsletters=DURegCO&&SiteCode=CN\",\r\n forgotPassword: \"http://duprovisioning.dev.24orepro.in.ilsole24ore.it/utenti/passwordReset.aspx?RURL=\",\r\n linkFooter: {\r\n datiSocietari: \"https://www.gruppo24ore.ilsole24ore.com/it-it/institutional/dati-societari\",\r\n websystem: \"https://24oresystem.ilsole24ore.com/it/digital\",\r\n informativaCookies: \"https://du.ilsole24ore.com/utenti/privacyfiles/informativa_cookies.html\",\r\n privacyPolicy: \"https://du.ilsole24ore.com/utenti/privacyfiles/privacy_policy.html\"\r\n },\r\n linkProfiloPersonale: \"http://duprovisioning.dev.24orepro.in.ilsole24ore.it/Utenti/areautente/my24_ilmioprofilo.aspx\",\r\n color: {\r\n seppia: ['s', '</span>'],\r\n yellow: ['y', '</span>'],\r\n pink: ['p', '</span>'],\r\n violet: ['v', '</span>']\r\n },\r\n filters: [\r\n {\r\n label: \"Solo libri in aggiornamento\",\r\n id: \"notifiche_solo-libri-in-aggiornamento\",\r\n dataValue: \"libri_aggiornamento\",\r\n checked: false\r\n },\r\n {\r\n label: \"Nuovi libri aggiunti\",\r\n id: \"notifiche_nuovi-libri-aggiunti\",\r\n dataValue: \"libri_nuovi\",\r\n checked: false\r\n }\r\n ],\r\n themeAreas: [\r\n {\r\n name: 'Fisco e imprese',\r\n id: 'FiscoEImprese',\r\n class: 'clr-fis',\r\n imgPath: '/dist/img/area-fisco.svg',\r\n link: '/Area/FiscoEImprese'\r\n },\r\n {\r\n name: 'Diritto',\r\n id: 'Diritto',\r\n class: 'clr-dir',\r\n imgPath: '/dist/img/area-diritto.svg',\r\n link: '/Area/Diritto'\r\n },\r\n {\r\n name: 'Lavoro',\r\n id: 'Lavoro',\r\n class: 'clr-lav',\r\n imgPath: '/dist/img/area-lavoro.svg',\r\n link: '/Area/Lavoro'\r\n },\r\n {\r\n name: 'PA',\r\n id: 'PA',\r\n class: 'clr-pa',\r\n imgPath: '/dist/img/area-pa.svg',\r\n link: '/Area/PA'\r\n },\r\n {\r\n name: 'Tecnici',\r\n id: 'Tecnici',\r\n class: 'clr-tec',\r\n imgPath: '/dist/img/area-tecnici.svg',\r\n link: '/Area/Tecnici'\r\n }\r\n ],\r\n linkScopriDiPiu:\"https://24oreprofessionale.ilsole24ore.com/prodotti/book24ore/\",\r\n types: [\"nuovoLibro\", \"aggiornamentoFrizzera\"],\r\n licenseKeyPdfExpress: 'wKtIu9xEKzdIgfRwV4Ng',\r\n ip: 'https://api.ipify.org?format=json'\r\n};\r\n\r\nexport const config = process.env.REACT_APP_ENV === 'development' ? dev : process.env.REACT_APP_ENV === 'staging' ? staging : prod;","const LOWERCASE_TRANSFORMER = function (fragments, separator) {\n return fragments.join(separator).toLowerCase()\n};\n\nconst SENTENCECASE_TRANSFORMER = function (fragments, separator) {\n const sentence = fragments.join(separator);\n return sentence.charAt(0).toUpperCase() + sentence.slice(1).toLowerCase()\n};\n\nconst TITLECASE_TRANSFORMER = function (fragments, separator) {\n const buffer = [];\n for (let index = 0; index < fragments.length; index++) {\n buffer.push(\n fragments[index].charAt(0).toUpperCase() +\n fragments[index].slice(1).toLowerCase()\n );\n }\n return buffer.join(separator)\n};\n\nconst UPPERCASE_TRANSFORMER = function (fragments, separator) {\n return fragments.join(separator).toUpperCase()\n};\n\nconst INVALID_SEPARATOR = /[^-._~!$&'()*+,;=]/;\n\nconst CAMELCASE_REGEXP_PATTERN = '(?:[a-z](?=[A-Z])|[A-Z](?=[A-Z][a-z]))';\n\nfunction validate (options, extra) {\n const camelCase = options.camelCase;\n\n if (camelCase !== undefined && typeof camelCase !== 'boolean') {\n throw new Error('camelCase must be a boolean: \"' + camelCase + '\".')\n }\n\n const separator = options.separator;\n extra = extra || {};\n\n if (\n separator !== undefined &&\n !('separator' in extra && separator === extra.separator)\n ) {\n if (typeof separator !== 'string') {\n throw new Error(\n 'separator must be a string' +\n ('separator' in extra ? ' or ' + extra.separator : '') + ': \"' +\n separator + '\".'\n )\n } else if (INVALID_SEPARATOR.test(separator)) {\n throw new Error(\n 'separator has an invalid character: \"' +\n separator.match(INVALID_SEPARATOR)[0] + '\".'\n )\n }\n }\n\n const transformer = options.transformer;\n\n if (\n transformer !== undefined &&\n transformer !== false &&\n typeof transformer !== 'function'\n ) {\n throw new Error(\n 'transformer must be false or a function: \"' +\n transformer + '\".'\n )\n }\n}\n\nfunction replace (string, definitions) {\n for (let index = 0, length = string.length; index < length; index++) {\n const char = string[index];\n const replacement = definitions[char];\n\n if (replacement !== undefined) {\n string = string.substr(0, index) +\n replacement +\n string.substr(index + 1);\n\n const addedCharsCount = String(replacement).length - 1;\n\n index += addedCharsCount;\n length += addedCharsCount;\n }\n }\n\n return string\n}\n\n// eslint-disable-next-line no-misleading-character-class\nconst COMBINING_CHARS = /[\\u0300-\\u036F\\u1AB0-\\u1AFF\\u1DC0-\\u1DFF]+/g;\n\nconst CONVERT = /[A-Za-z\\d]+/g;\n\nconst CONVERT_CAMELCASE = new RegExp(\n '[A-Za-z\\\\d]*?' + CAMELCASE_REGEXP_PATTERN + '|[A-Za-z\\\\d]+',\n 'g'\n);\n\nfunction convert (string, options) {\n options = options || {};\n\n if (process.env.NODE_ENV !== 'production') {\n validate(options);\n }\n\n const camelCase = options.camelCase !== undefined\n ? options.camelCase\n : true;\n\n const separator = options.separator !== undefined\n ? options.separator\n : '-';\n\n const transformer = options.transformer !== undefined\n ? options.transformer\n : LOWERCASE_TRANSFORMER;\n\n const fragments = (\n options.dictionary\n ? replace(String(string), options.dictionary)\n : String(string)\n )\n .normalize('NFKD')\n .replace(COMBINING_CHARS, '')\n .match(camelCase ? CONVERT_CAMELCASE : CONVERT);\n\n if (!fragments) {\n return ''\n }\n\n return transformer\n ? transformer(fragments, separator)\n : fragments.join(separator)\n}\n\nconst REVERT = /[^-._~!$&'()*+,;=]+/g;\n\nconst REVERT_CAMELCASE = new RegExp(\n '[^-._~!$&\\'()*+,;=]*?' + CAMELCASE_REGEXP_PATTERN + '|[^-._~!$&\\'()*+,;=]+',\n 'g'\n);\n\nconst REVERT_CAMELCASE_ONLY = new RegExp(\n '.*?' + CAMELCASE_REGEXP_PATTERN + '|.+',\n 'g'\n);\n\nfunction revert (slug, options) {\n options = options || {};\n\n if (process.env.NODE_ENV !== 'production') {\n validate(options, { separator: null });\n }\n\n const camelCase = options.camelCase !== undefined\n ? options.camelCase\n : false;\n\n const separator = options.separator;\n\n const transformer = options.transformer !== undefined\n ? options.transformer\n : false;\n\n let fragments;\n slug = String(slug);\n\n /* Determine which method will be used split the slug */\n\n if (separator === '') {\n fragments = camelCase ? slug.match(REVERT_CAMELCASE_ONLY) : [String(slug)];\n } else if (typeof separator === 'string') {\n fragments = slug.split(separator);\n } else {\n fragments = slug.match(camelCase ? REVERT_CAMELCASE : REVERT);\n }\n\n if (!fragments) {\n return ''\n }\n\n return transformer ? transformer(fragments, ' ') : fragments.join(' ')\n}\n\nexport { LOWERCASE_TRANSFORMER, SENTENCECASE_TRANSFORMER, TITLECASE_TRANSFORMER, UPPERCASE_TRANSFORMER, convert, convert as default, revert };\n","export function getAreaTheme (index) {\r\n switch(index){\r\n case 0:\r\n return \"Contabilità \";\r\n case 1:\r\n return \"Fisco e Imprese\";\r\n case 2:\r\n return \"Diritto\";\r\n case 3:\r\n return \"Lavoro\";\r\n case 4:\r\n return \"PA\";\r\n case 5:\r\n return \"Tecnici\";\r\n default:\r\n return \"\";\r\n }\r\n}","import { config } from '../constants/Constants';\r\nimport { getAreaTheme } from '../helper/choosingAreaThemes'\r\nimport { createImgLink } from './helper';\r\n\r\nexport const exportToArrayForFE = (name, data, documenti = undefined) => {\r\n\r\n if (data === null || data === undefined) {\r\n return [];\r\n }\r\n\r\n let arrayProducts = [];\r\n\r\n\r\n switch (name) {\r\n case (config.nameList.ultimeUscite):\r\n case (config.nameList.continuaALegg):\r\n case (config.nameList.proposteAbbon):\r\n case (config.nameList.listPiuLetti):\r\n case (config.nameList.tiPotrebbeInteressare):\r\n case (config.nameList.giaLetti):\r\n case (config.nameList.daLeggere):\r\n data.forEach((el) => {\r\n let index = documenti !== undefined && documenti.hasOwnProperty(\"idToDelete\") ? documenti.idToDelete.map(data => data.idProv).indexOf(parseInt(el?.idprovvedimento)) : -1;\r\n let idDocForReading = documenti !== undefined && documenti.hasOwnProperty(\"idDoc\") ? documenti.idDoc.map(data => data.idProv).indexOf(parseInt(el?.idprovvedimento)) : -1;\r\n arrayProducts.push({\r\n id: el.IdDocumento,\r\n isNew: el.novita === '0' ? false : true,\r\n isUpdating: el.aggiornamento === '0' ? false : true,\r\n title: el.titolo,\r\n auth: el.autore,\r\n img: el.immagine === '0' ? '' : el.immagine,\r\n themeArea: convertThemeArea(el.area_tematica),\r\n idForDelete: index !== -1 ? documenti.idToDelete[index].idToDelete : null,\r\n idForReading: idDocForReading !== -1 ? documenti.idDoc[idDocForReading].idDoc : null\r\n });\r\n });\r\n break;\r\n case (config.nameList.strumentiProf):\r\n data.forEach((el) => {\r\n arrayProducts.push({\r\n id: el.iddocumento,\r\n description: el.testo,\r\n title: el.titolo,\r\n url: el.link === '' ? '' : el.link,\r\n img: el.image === '0' ? '' : el.image,\r\n ordine: el.ordine\r\n });\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n return arrayProducts;\r\n}\r\nexport const convertArrayForFEBuyOrNot = (data) => {\r\n\r\n let arrayFEBuyOrNot = [];\r\n \r\n if (data === null) return [];\r\n\r\n data.forEach(element => {\r\n arrayFEBuyOrNot.push({\r\n idProv: element?.idprovvedimento,\r\n idDocType: element?.iddoctype,\r\n node: element?.nodo,\r\n buy: element?.acquista,\r\n themesArea: convertThemeArea(element.area_tematica),\r\n img: validURL(encodeURI(element.immagine)) ? element.immagine : element.immagine !== \"\" ? (config.imgLinkPacchetti + element.immagine + \".PNG\") : config.imgDefaultPacch,\r\n title: element.titolo,\r\n isPDF: parseInt(element.isPDF)\r\n });\r\n });\r\n\r\n return arrayFEBuyOrNot;\r\n}\r\nfunction validURL(str) {\r\n var pattern = new RegExp('^(https?:\\\\/\\\\/)?'+ // protocol\r\n '((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|'+ // domain name\r\n '((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))'+ // OR ip (v4) address\r\n '(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*'+ // port and path\r\n '(\\\\?[;&a-z\\\\d%_.~+=-]*)?'+ // query string\r\n '(\\\\#[-a-z\\\\d_]*)?$','i'); // fragment locator\r\n return !!pattern.test(str);\r\n }\r\nexport const convertArrayForFEResearch = (data) => {\r\n\r\n let arrayToReturn = [];\r\n let arrayIdProv = [];\r\n let arrayIdDocType = [];\r\n\r\n if (data.length === 0)\r\n return arrayToReturn;\r\n\r\n data.forEach((el) => {\r\n\r\n const prod = {\r\n editore: el.editore,\r\n abstract: el.abstract,\r\n idDocumento: el.idDocumento\r\n };\r\n\r\n const documents = el.documents !== undefined && el.documents !== null ? [...el.documents, prod] : [prod];\r\n\r\n arrayToReturn.push({\r\n id: el.idDocumento,\r\n idProv: el.idProvvedimento,\r\n isNew: el?.novita && el.novita === '1' ? true : false,\r\n isUpdating: el.aggiornamento === '1' ? true : false,\r\n updated: el.data,\r\n title: el.text1,\r\n auth: el.text2,\r\n desc: el.abstract,\r\n url: el.url === '' ? '' : el.url,\r\n img: el.Immagine === '' || el.Immagine === undefined || el.Immagine === null ? '' : el.Immagine,\r\n themeArea: convertThemeArea(el.argomento),\r\n documents: documents,\r\n isFrizzera: el.famiglia === 'Sistema Frizzera' ? 1 : 0,\r\n edit: el.editore,\r\n dataDocument: el.data\r\n });\r\n arrayIdProv.push(el.idProvvedimento);\r\n arrayIdDocType.push(el.idDocType);\r\n });\r\n\r\n return {\r\n arrayToReturn: arrayToReturn,\r\n arrayIdProv: arrayIdProv,\r\n arrayIdDocType: arrayIdDocType\r\n };\r\n}\r\n\r\nexport const convertArrayForFEResearchSecondLevel = (data) => {\r\n\r\n let arrayToReturn = [];\r\n if (data.length === 0)\r\n return arrayToReturn;\r\n\r\n data.forEach((el) => {\r\n arrayToReturn.push({\r\n id: el.idDocumento,\r\n idProv: el.idProvvedimento,\r\n isNew: el?.novita && el.novita === '1' ? true : false,\r\n isUpdating: el.aggiornamento === '1' ? true : false,\r\n updated: el.data,\r\n title: el.editore,\r\n pipe: '',\r\n category: el.prodotto !== '' ? el.prodotto : el.text1,\r\n paragraph: el.abstract,\r\n });\r\n });\r\n\r\n return arrayToReturn;\r\n}\r\n\r\nexport const converObjectForFE = (document) => {\r\n\r\n return {\r\n idDocument: document.IdDocumento,\r\n title: document.titolo,\r\n autori: document.autore,\r\n img: document.immagine === '' || document.immagine === '0' ? config.imgDefaultLibro : document.immagine,\r\n areaTematicaList: convertThemeArea(document.area_tematica),\r\n isUpdating: document.aggiornamento,\r\n type_desc: document.tipo_descrizione,\r\n descrizione: document.descrizione,\r\n aggiornato: document.data,\r\n type_summ: document.tipo_sommario,\r\n ind_summ: document.indice_sommario,\r\n node_indx_summ: document.nodo_indice_sommario,\r\n idDocType: document.iddoctype,\r\n idProv: document.idprovvedimento,\r\n pdf_summ: document.sommario_pdf,\r\n preview: document.anteprima,\r\n pack: document.nodo_pacchetto !== null ? document.nodo_pacchetto.split(\",\") : [],\r\n packString: document.nodo_pacchetto !== null ? document.nodo_pacchetto : \"\"\r\n };\r\n\r\n}\r\n\r\nexport const exportAutoriForFE = (autori) => {\r\n\r\n if (autori === null || autori === undefined) {\r\n return [];\r\n }\r\n\r\n let arrayProducts = [];\r\n\r\n autori.forEach((el) => {\r\n arrayProducts.push({\r\n idauth: el.idautore,\r\n auth: el.autore,\r\n surn: el.cognome,\r\n name: el.nome,\r\n bio: el.biografia === null ? config.bioMancante : el.biografia,\r\n img: el.foto === null ? '//via.placeholder.com/160x160' : el.foto //createImg(el.foto, el.idautore),\r\n });\r\n });\r\n\r\n return arrayProducts;\r\n}\r\n\r\n\r\nconst createImg = (img, idAutore) => {\r\n\r\n if (img === \"\" || idAutore === \"\") return \"\";\r\n\r\n return img.concat(idAutore).concat(\".JPG\");\r\n}\r\n\r\nexport const convertThemeArea = (themesArea) => {\r\n\r\n let convertedThemesArea = [];\r\n\r\n const splittedThemesArea = themesArea.split('');\r\n\r\n splittedThemesArea.forEach(function (el, index) {\r\n if (el === '0')\r\n return;\r\n convertedThemesArea.push({\r\n id: index,\r\n titleArea: getAreaTheme(index)\r\n });\r\n });\r\n\r\n return convertedThemesArea;\r\n}\r\n\r\nexport const convertArrayBookmarksForFe = (data) => {\r\n\r\n\r\n const arrayFE = [];\r\n\r\n data.forEach(el => {\r\n\r\n arrayFE.push({\r\n id: el.IdDocumento,\r\n title: el.titolo,\r\n descr: el.abstract,\r\n });\r\n });\r\n\r\n return arrayFE;\r\n};\r\n\r\nexport const convertArrayNotesForFe = (data) => {\r\n\r\n\r\n const arrayFE = [];\r\n\r\n data.forEach(el => {\r\n\r\n arrayFE.push({\r\n id: el.IdDocumento,\r\n title: el.titolo,\r\n noted: \"\",\r\n descr: el.abstract,\r\n text: \"\",\r\n });\r\n });\r\n\r\n return arrayFE;\r\n};\r\n\r\nexport const convertThemeAreaForLink = (theme) => {\r\n\r\n switch (theme) {\r\n case \"Fisco e Imprese\":\r\n return \"fisco\";\r\n case \"Diritto\":\r\n return \"diritto\";\r\n case \"PA\":\r\n return \"pa\";\r\n case \"Tecnici\":\r\n return \"pa\";\r\n case \"Lavoro\":\r\n return \"biblavoro\";\r\n }\r\n}","import { config } from '../constants/Constants';\r\nimport * as urlSlug from 'url-slug'\r\nimport { convertThemeArea } from './castingObject';\r\n\r\n\r\nexport function castForLogin(bodyToCast) {\r\n\r\n var formBody = [];\r\n\r\n for (var property in bodyToCast) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(bodyToCast[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n\r\n return formBody.join(\"&\");\r\n}\r\n\r\nexport const createCookieForDocument = (name, value, days, domain) => {\r\n\r\n var expires = \"\";\r\n if (days) {\r\n var date = new Date();\r\n date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));\r\n expires = \"; expires=\" + date.toGMTString();\r\n }\r\n domain = domain || \"\";\r\n if (domain) {\r\n domain = \"; domain=\" + domain;\r\n }\r\n\r\n document.cookie = name + \"=\" + value + expires + \"; path=/\" + domain;\r\n}\r\n\r\nexport const removeCookieSoleAuth = (name, value, days, domain) => {\r\n\r\n if (getCookie(name) !== null) {\r\n document.cookie = name + \"=\" + value + \"; expires=Session\" + \"; path=/\" + \"; Domain=\" + domain;\r\n }\r\n}\r\n\r\nexport const removeCookie = (name, value, domain) => {\r\n\r\n if (getCookie(name) !== null) {\r\n document.cookie = name.concat(\"=\").concat(value).concat(\"; expires=Session\").concat(\"; path=/\").concat(\"; Domain=\").concat(domain);\r\n }\r\n}\r\n\r\nexport const getCookie = (name) => {\r\n var nameEQ = name + \"=\";\r\n var ca = document.cookie.split(';');\r\n\r\n for (var i = 0; i < ca.length; i++) {\r\n var c = ca[i];\r\n while (c.charAt(0) === ' ') {\r\n c = c.substring(1, c.length);\r\n }\r\n\r\n if (c.indexOf(nameEQ) === 0) {\r\n return c.substring(nameEQ.length, c.length);\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nexport const settingArrayParamsWithAut = (documenti) => {\r\n\r\n\r\n if (documenti === undefined) return [];\r\n\r\n let inputParameters = {\r\n provvedimenti: '',\r\n iddoctype: '',\r\n };\r\n\r\n documenti.idProv.forEach((element, index) => {\r\n\r\n inputParameters.provvedimenti = inputParameters.provvedimenti.concat(element.idProv);\r\n\r\n if (index !== documenti.idProv.length - 1)\r\n inputParameters.provvedimenti = inputParameters.provvedimenti.concat(',');\r\n });\r\n\r\n documenti.idDoctype.forEach((element, index) => {\r\n\r\n inputParameters.iddoctype = inputParameters.iddoctype.concat(element.idDcTyp);\r\n\r\n if (index !== documenti.idDoctype.length - 1)\r\n inputParameters.iddoctype = inputParameters.iddoctype.concat(',');\r\n });\r\n\r\n\r\n return [\r\n {\r\n name: \"provvedimenti\",\r\n type: \"VarChar\",\r\n value: inputParameters.provvedimenti\r\n },\r\n {\r\n name: \"iddoctype\",\r\n type: \"VarChar\",\r\n value: inputParameters.iddoctype\r\n }];\r\n}\r\n\r\nexport const settingArrayParams = (documenti, areaTematica, rows) => {\r\n\r\n if (documenti === undefined && areaTematica === undefined && rows === undefined) {\r\n return [];\r\n }\r\n\r\n let inputParameters = '';\r\n\r\n if (documenti !== undefined) {\r\n documenti.forEach(element => {\r\n inputParameters = inputParameters.concat(element.idDocumento + ',');\r\n });\r\n }\r\n\r\n let arrayInputParam = areaTematica === undefined ? [] : [{\r\n name: 'area',\r\n type: 'VarChar',\r\n value: areaTematica\r\n }];\r\n\r\n const documentiToSend = inputParameters !== '' ? {\r\n name: 'documenti',\r\n type: 'VarChar',\r\n value: inputParameters\r\n } : null;\r\n\r\n if (documentiToSend !== null) {\r\n arrayInputParam = [...arrayInputParam, documentiToSend];\r\n }\r\n\r\n if (rows !== undefined) {\r\n arrayInputParam.push({\r\n name: 'rows',\r\n type: 'Int',\r\n value: rows\r\n });\r\n }\r\n\r\n return arrayInputParam;\r\n}\r\n\r\nexport const createImgLink = (imgNumber) => {\r\n\r\n if (imgNumber === \"\" || imgNumber === 0 || imgNumber === undefined || imgNumber === null) return \"\";\r\n\r\n const link = config.imgLink;\r\n\r\n const stringToArray = imgNumber.split('');\r\n\r\n if (stringToArray[0] === \"/\")\r\n return imgNumber;\r\n\r\n return link.concat(stringToArray[stringToArray.length - 1]).concat(\"/\").concat(imgNumber).concat(\".JPG\");\r\n\r\n};\r\n\r\nexport const checkSoleaAuth = () => {\r\n return document.cookie.split('; ')\r\n .find((row) => row.startsWith('SoleAuth='))\r\n ?.split('=')[1];\r\n};\r\n\r\nexport const splitFisco = (area) => {\r\n return area === \"FiscoEImprese\" ? \"Fisco e Imprese\" : area;\r\n};\r\n\r\nexport const filterFisco = (area) => {\r\n return area === \"Fisco e Imprese\" || area === \"FiscoEImprese\" ? \"Fisco\" : area;\r\n};\r\n\r\nexport const scrollTo = () => {\r\n window.scrollTo(0, 0);\r\n}\r\n\r\nexport const createUrlPdf = (pdfNumber) => {\r\n\r\n if (pdfNumber === \"\") return \"\";\r\n\r\n const link = config.imgLink;\r\n\r\n const stringToArray = pdfNumber.split('');\r\n\r\n if (stringToArray[0] === \"/\")\r\n return pdfNumber;\r\n\r\n return link.concat(stringToArray[stringToArray.length - 1]).concat(\"/\").concat(pdfNumber).concat(\".pdf\");\r\n};\r\n\r\nexport const addSubjects = (filters) => {\r\n\r\n let subjectsString = '';\r\n filters.forEach((el, index) => {\r\n subjectsString = subjectsString.concat('\"').concat(config.appId).concat('\\\\').concat(el).concat('\"');\r\n if (index < (filters.length - 1))\r\n subjectsString = subjectsString.concat(\" OR \");\r\n })\r\n\r\n return subjectsString;\r\n}\r\n\r\nexport const mustToken = (name) => {\r\n\r\n switch (name) {\r\n case (config.nameList.continuaALegg):\r\n return true;\r\n case (config.nameList.giaLetti):\r\n return true;\r\n case (config.nameList.tipoDocument):\r\n return true;\r\n case (config.nameList.getLittleSumm):\r\n return true;\r\n case (config.nameList.getTestataHtml):\r\n return true;\r\n case (config.nameList.daLeggere):\r\n return true;\r\n case ('banche dati'):\r\n return true;\r\n default:\r\n return false;\r\n }\r\n}\r\nexport const castDate = (date) => {\r\n\r\n const year = date !== undefined && date !== null ? new Date(date).getFullYear() : 1900;\r\n\r\n if (year === 1900) return \"\";\r\n\r\n let options = { 'day': '2-digit', 'month': 'long', 'year': 'numeric' };\r\n let dateFormat = new Date(date).toLocaleString('it-IT', options);\r\n return dateFormat;\r\n}\r\n\r\nexport const getYearAndMonth = (date) => {\r\n\r\n const month = getMonth(date);\r\n\r\n return month.concat(\" \").concat(date.split(\"-\")[0]);\r\n}\r\n\r\nexport const getMonth = (date) => {\r\n\r\n let options = { 'month': 'long' };\r\n let dateFormat = new Date(date).toLocaleString('it-IT', options);\r\n\r\n return dateFormat;\r\n}\r\n\r\nexport const getDateNow = () => {\r\n\r\n const today = new Date();\r\n const yyyy = today.getFullYear();\r\n let mm = today.getMonth() + 1; // Months start at 0!\r\n let dd = today.getDate();\r\n\r\n if (dd < 10) dd = '0' + dd;\r\n if (mm < 10) mm = '0' + mm;\r\n\r\n const formattedToday = dd + '/' + mm + '/' + yyyy;\r\n\r\n return formattedToday;\r\n}\r\n\r\nexport const userNotHaveToken = (error) => {\r\n\r\n if (error === null || error === undefined) return true;\r\n\r\n const arrayError = error.split(\",\");\r\n\r\n if (arrayError.length === 0) {\r\n return false;\r\n }\r\n\r\n const errorCode = arrayError[0].split(\" \")[2];\r\n\r\n if (errorCode === '1010') return true;\r\n\r\n return false;\r\n}\r\n\r\nexport const themeAreaDescription = (themeArea) => {\r\n switch (themeArea) {\r\n case \"Lavoro\":\r\n return \"Aggiornati con tutte le ultime novità normative, gli approfondimenti dottrinali più autorevoli e le soluzioni operative, i volumi coprono le principali tematiche giuslavoristiche.\";\r\n case \"Diritto\":\r\n return \"Aggiornati con tutte le ultime novità normative, giurisprudenziali e gli approfondimenti dottrinali più autorevoli. I manuali sono stati realizzati sulle principali specializzazioni legali.\";\r\n case \"Tecnici\":\r\n return \"Aggiornati con tutte le ultime novità normative e giurisprudenziali e gli approfondimenti dei nostri Esperti con un approccio pratico-operativo; i volumi analizzano le principali tematiche di interesse per i professionisti tecnici\";\r\n case \"PA\":\r\n return \"Aggiornati con tutte le ultime novità normative e giurisprudenziali e gli approfondimenti dei nostri Esperti con un approccio pratico-operativo; i volumi analizzano le principali tematiche di interesse per la pubblica amministrazione\";\r\n default:\r\n return \"Aggiornati con tutte le ultime novità normative, gli approfondimenti dottrinali più autorevoli e le applicazioni operative, i volumi coprono le principali tematiche fiscali.\";\r\n }\r\n}\r\n\r\nexport const isEmpty = (obj) => {\r\n return Object.keys(obj).length === 0;\r\n}\r\n\r\nexport const formattedNoteArrayForFE = (arrayNotes) => {\r\n\r\n let newArrayFormatted = [];\r\n arrayNotes.forEach(el => {\r\n\r\n let newObj = {\r\n idprovvedimento: el.data.idprovvedimento,\r\n title: el.data.bookTitle,\r\n subTitleList: [{\r\n idDocumento: el.data.iddocumento,\r\n subTitle: el.data.documentTitle,\r\n noteList: arrayFormatted(el.data.note)\r\n }]\r\n };\r\n\r\n let newIndx = newArrayFormatted.map(e => e.idprovvedimento).indexOf(el.data.idprovvedimento);\r\n if (newIndx !== -1) {\r\n newArrayFormatted[newIndx].subTitleList.push(newObj.subTitleList[0]);\r\n } else {\r\n newArrayFormatted.push(newObj);\r\n }\r\n\r\n });\r\n\r\n return newArrayFormatted;\r\n}\r\n\r\nconst arrayFormatted = (data) => {\r\n\r\n let arrayNote = [];\r\n\r\n data.forEach(el => {\r\n arrayNote.push({\r\n idNote: el.idNote,\r\n color: \"note noted--\" + el.color[0],\r\n text: el.underlinedText,\r\n note: el.text,\r\n tags: el.tag,\r\n date: el.date\r\n });\r\n });\r\n\r\n return arrayNote;\r\n}\r\n\r\nexport const filterNoteByColor = (notFilteredNotes, colorFilters) => {\r\n\r\n let newFilteredArray = [];\r\n\r\n notFilteredNotes.forEach(totNote => {\r\n\r\n let subTitleList = [];\r\n totNote.subTitleList.forEach(subNote => {\r\n let allNoteColored = [];\r\n\r\n subNote.noteList.forEach(nota => {\r\n\r\n colorFilters.forEach(color => {\r\n if (nota.color[nota.color.length - 1] === color[0])\r\n allNoteColored.push(nota);\r\n })\r\n\r\n });\r\n\r\n if (allNoteColored.length > 0) {\r\n let newObj = { ...subNote };\r\n newObj.noteList = allNoteColored;\r\n subTitleList.push(newObj);\r\n }\r\n\r\n });\r\n\r\n if (subTitleList.length > 0) {\r\n let newObj = { ...totNote }\r\n newObj.subTitleList = subTitleList;\r\n newFilteredArray.push(newObj);\r\n }\r\n });\r\n\r\n return newFilteredArray;\r\n}\r\n\r\nexport const filterNoteByTag = (notFilteredNotes, tagFilters) => {\r\n\r\n let newFilteredArray = [];\r\n\r\n notFilteredNotes.forEach(totNote => {\r\n\r\n let subTitleList = [];\r\n totNote.subTitleList.forEach(subNote => {\r\n let allNoteWithTag = [];\r\n\r\n subNote.noteList.forEach(nota => {\r\n\r\n tagFilters.forEach(tag => {\r\n let index = nota.tags.indexOf(tag);\r\n if (index !== -1) {\r\n index = allNoteWithTag.map(val => val.idNote).indexOf(nota.idNote);\r\n if (index === -1)\r\n allNoteWithTag.push(nota);\r\n }\r\n })\r\n\r\n });\r\n\r\n if (allNoteWithTag.length > 0) {\r\n let newObj = { ...subNote };\r\n newObj.noteList = allNoteWithTag;\r\n subTitleList.push(newObj);\r\n }\r\n\r\n });\r\n\r\n if (subTitleList.length > 0) {\r\n let newObj = { ...totNote }\r\n newObj.subTitleList = subTitleList;\r\n newFilteredArray.push(newObj);\r\n }\r\n });\r\n\r\n return newFilteredArray;\r\n}\r\n\r\nexport const filterByBook = (notFilteredNotes, booksFilters) => {\r\n\r\n let newFilteredArray = [];\r\n\r\n booksFilters.forEach(el => {\r\n let indx = notFilteredNotes.map(val => val.idprovvedimento).indexOf(parseInt(el));\r\n if (indx !== -1)\r\n newFilteredArray.push(notFilteredNotes[indx]);\r\n /*newFilteredArray = notFilteredNotes.filter(val => {\r\n return val.idprovvedimento === parseInt(el)\r\n });*/\r\n });\r\n\r\n return newFilteredArray;\r\n}\r\n\r\nexport const filterByWord = (notFilteredNotes, wordFilter) => {\r\n\r\n let newFilteredArray = [];\r\n\r\n notFilteredNotes.forEach(totNote => {\r\n\r\n let subTitleList = [];\r\n totNote.subTitleList.forEach(subNote => {\r\n let allNoteWithWord = [];\r\n\r\n subNote.noteList.forEach(nota => {\r\n\r\n if (nota.note === \"\") return;\r\n\r\n if (nota.note.includes(wordFilter))\r\n allNoteWithWord.push(nota);\r\n });\r\n\r\n if (allNoteWithWord.length > 0) {\r\n let newObj = { ...subNote };\r\n newObj.noteList = allNoteWithWord;\r\n subTitleList.push(newObj);\r\n }\r\n\r\n });\r\n\r\n if (subTitleList.length > 0) {\r\n let newObj = { ...totNote }\r\n newObj.subTitleList = subTitleList;\r\n newFilteredArray.push(newObj);\r\n }\r\n });\r\n\r\n return newFilteredArray;\r\n\r\n\r\n}\r\n\r\nexport const isChanged = (newFilteredArray, resultsNotes) => {\r\n\r\n if (newFilteredArray.length !== resultsNotes.length) return true;\r\n\r\n let isChanged = false;\r\n\r\n newFilteredArray.forEach(el => {\r\n let index = resultsNotes.map(element => element.idprovvedimento).indexOf(el.idprovvedimento);\r\n\r\n if (index === -1 || el.subTitleList.length !== resultsNotes[index].subTitleList.length || isChanged) {\r\n isChanged = true;\r\n return;\r\n }\r\n\r\n el.subTitleList.forEach(documents => {\r\n\r\n /*let indexDocument = resultsNotes.map(element => {\r\n if (element.subTitleList.length > index)\r\n return element.subTitleList[index].idDocumento;\r\n return -1;\r\n }).indexOf(documents.idDocumento);*/\r\n\r\n let indexDocument = resultsNotes.map(element => element.subTitleList[index]?.idDocumento).indexOf(documents.idDocumento);\r\n\r\n if (indexDocument === -1 || documents.noteList.length !== resultsNotes[index].subTitleList[indexDocument].noteList.length || isChanged) {\r\n isChanged = true;\r\n return;\r\n }\r\n\r\n documents.noteList.forEach(nota => {\r\n\r\n if (resultsNotes[index].subTitleList[indexDocument].noteList.map(element => element.idNote).indexOf(nota.idNote) === -1) {\r\n isChanged = true;\r\n return;\r\n }\r\n\r\n });\r\n })\r\n });\r\n\r\n return isChanged;\r\n}\r\n\r\nexport const titleUrlSlug = (title) => {\r\n\r\n return urlSlug.convert(title, {\r\n separator: \"-\",\r\n transformer: false\r\n });\r\n}\r\n\r\nexport const titleUrlSlugForTealium = (title) => {\r\n\r\n let titleFormatted = title.split(\" \");\r\n\r\n const newTitleFormatted = () => {\r\n\r\n let newTitle = \"\";\r\n titleFormatted.forEach((el, indx) => {\r\n if (el === \"-\")\r\n return;\r\n\r\n newTitle = newTitle.concat(el.replaceAll(\",\", \"\").replaceAll(\".\", \"\").replaceAll(\":\", \"\").replaceAll(\";\", \"\"));\r\n\r\n if (indx !== titleFormatted.length - 1)\r\n newTitle = newTitle.concat(\"-\");\r\n\r\n });\r\n\r\n return newTitle.toLowerCase();\r\n };\r\n\r\n return newTitleFormatted();\r\n}\r\n\r\nexport const changeCssClass = () => {\r\n\r\n let element = document.getElementsByClassName(\"ltool ltool--circle share-multi\")[0];\r\n element.classList.remove(\"ltool--circle\");\r\n element.classList.remove(\"ltool\");\r\n element.classList.add(\"itool\")\r\n\r\n element = document.getElementsByClassName(\"icon icon-google icon--multi\")[0];\r\n element.classList.add(\"icon--social\");\r\n\r\n element = document.getElementsByClassName(\"ltool ltool--circle share-fb\")[0];\r\n element.classList.remove(\"ltool\");\r\n element.classList.remove(\"ltool--circle\");\r\n element.classList.add(\"itool\");\r\n\r\n element = document.getElementsByClassName(\"icon icon-facebook\")[0];\r\n element.classList.add(\"icon--social\");\r\n\r\n element = document.getElementsByClassName(\"ltool ltool--circle share-tw\")[0];\r\n element.classList.remove(\"ltool\");\r\n element.classList.remove(\"ltool--circle\");\r\n element.classList.add(\"itool\");\r\n\r\n element = document.getElementsByClassName(\"icon icon-twitter\")[0];\r\n element.classList.add(\"icon--social\");\r\n\r\n element = document.getElementsByClassName(\"ltool ltool--circle share-in\")[0];\r\n element.classList.remove(\"ltool\");\r\n element.classList.remove(\"ltool--circle\");\r\n element.classList.add(\"itool\");\r\n\r\n element = document.getElementsByClassName(\"icon icon-linkedin\")[0];\r\n element.classList.add(\"icon--social\");\r\n}\r\n\r\nexport const getArea = (el) => {\r\n switch (el) {\r\n case \"Fisco\":\r\n return 0;\r\n case \"Diritto\":\r\n return 1;\r\n case \"Lavoro\":\r\n return 2;\r\n case \"PA\":\r\n return 3;\r\n case \"Tecnici\":\r\n return 4;\r\n default:\r\n return -1;\r\n }\r\n}\r\n\r\nexport const createInputParameters = (facet) => {\r\n\r\n let stringOfPath = \"\";\r\n\r\n if (facet === undefined || facet === null) return;\r\n\r\n facet.forEach((el, indx) => {\r\n stringOfPath = stringOfPath.concat(el.path);\r\n if (indx < facet.length - 1)\r\n stringOfPath = stringOfPath.concat(\",\");\r\n });\r\n\r\n return [{\r\n name: 'provbiblio',\r\n type: 'VarChar',\r\n value: stringOfPath\r\n }];\r\n}\r\n\r\nexport const createArrayInputParamsArchive = (filters, wordToSearch, revOrRec, onlyMyBook, isUpdated, year) => {\r\n\r\n let inputParams = [];\r\n\r\n\r\n let filtersArray = [\r\n {\r\n name: \"area_fisco\",\r\n type: \"Int\",\r\n value: 0\r\n },\r\n {\r\n name: \"area_diritto\",\r\n type: \"Int\",\r\n value: 0\r\n },\r\n {\r\n name: \"area_lavoro\",\r\n type: \"Int\",\r\n value: 0\r\n },\r\n {\r\n name: \"area_pa\",\r\n type: \"Int\",\r\n value: 0\r\n },\r\n {\r\n name: \"area_tecnici\",\r\n type: \"Int\",\r\n value: 0\r\n },\r\n ];\r\n\r\n if (filters !== undefined && filters !== null) {\r\n filters.forEach(el => {\r\n const indx = getArea(el);\r\n filtersArray[indx].value = 1;\r\n });\r\n }\r\n\r\n inputParams.push(...filtersArray);\r\n if (isUpdated !== undefined)\r\n inputParams.push({\r\n name: 'aggiornamento',\r\n type: 'Int',\r\n value: isUpdated ? 1 : 0\r\n });\r\n\r\n if (year !== undefined)\r\n inputParams.push({\r\n name: 'anno',\r\n type: 'Int',\r\n value: (year === \"tutti\" || year === null) ? 0 : parseInt(year)\r\n });\r\n\r\n return inputParams;\r\n}\r\n\r\nexport const convertArrayForFEArchive = (data) => {\r\n\r\n let arrayToReturn = [];\r\n\r\n data.forEach(el => {\r\n\r\n arrayToReturn.push({\r\n id: el.IdDocumento,\r\n idProv: el.idProvvedimento,\r\n isNew: el?.novita && el.novita === '1' ? true : false,\r\n isUpdating: el.aggiornamento === '1' ? true : false,\r\n updated: el.data,\r\n title: el.titolo,\r\n auth: el.autore,\r\n desc: el.abstract,\r\n url: '',\r\n img: el.immagine === '' || el.immagine === undefined || el.immagine === null ? '' : createImgLink(el.immagine),\r\n themeArea: convertThemeArea(el.area_tematica),\r\n documents: [],\r\n isFrizzera: el.famiglia === 'Sistema Frizzera' ? 1 : 0,\r\n edit: el.editore,\r\n dataDocument: el.data\r\n });\r\n\r\n })\r\n\r\n return arrayToReturn;\r\n}\r\n\r\nexport const bodyFormattedNotification = (token, nowTime) => {\r\n\r\n //const date = nowTime.getFullYear().concat(\"-\" + nowTime.getMonth().ToString()).concat(\"-\" + nowTime.getDay().ToString()).concat(\"T\" + nowTime.getHours().ToString()).concat(\":\" + nowTime.getMinutes().ToString()).concat(\"Z\");\r\n const date = nowTime.toISOString();\r\n\r\n return {\r\n \"useDefaultFilter\": false,\r\n \"query\": {\r\n \"$and\": [\r\n {\r\n \"data_inizio_pubblicazione\": {\r\n \"$lte\": {\r\n \"$date\": date.toString()\r\n }\r\n }\r\n },\r\n {\r\n \"data_fine_pubblicazione\": {\r\n \"$gte\": {\r\n \"$date\": date.toString()\r\n }\r\n }\r\n },\r\n {\r\n \"stato\": 0\r\n }\r\n ]\r\n },\r\n \"token\": token,\r\n \"encryptParams\": null\r\n }\r\n}\r\n\r\nexport const bodyFormattedNotificationGet = (token, nowTime) => {\r\n\r\n const date = nowTime.toISOString();\r\n\r\n return {\r\n \"parameters\": {\r\n \"appId\": config.appId,\r\n \"types\": config.types,\r\n \"query\": {\r\n \"$and\": [\r\n {\r\n \"data_inizio_pubblicazione\": {\r\n \"$lte\": {\r\n \"$date\": date\r\n }\r\n }\r\n },\r\n {\r\n \"data_fine_pubblicazione\": {\r\n \"$gte\": {\r\n \"$date\": date\r\n }\r\n }\r\n },\r\n {\r\n \"stato\": 0\r\n }\r\n ]\r\n }\r\n },\r\n \"token\": token,\r\n \"encryptParams\": null\r\n };\r\n}\r\n\r\nexport const bodyFormattedNotificationUpdateState = (token, idDocument, alert) => {\r\n\r\n return {\r\n \"query\": {\r\n \"$and\": [\r\n {\r\n \"data.properties.iddocumento\": idDocument\r\n },\r\n {\r\n \"data.tipo\": alert === \"Nuovo libro\" ? \"nuovoLibro\" : \"aggiornamentoFrizzera\"\r\n }\r\n ]\r\n },\r\n \"token\": token,\r\n \"encryptParams\": null\r\n }\r\n\r\n}\r\n\r\nexport const notificationListForFe = (data) => {\r\n\r\n if (data.Documents === null || data.Documents.length === 0) return []\r\n\r\n let arrayFormated = [];\r\n\r\n data.Documents.forEach((el) => {\r\n arrayFormated.push({\r\n id: el._id,\r\n title: el.titolo,\r\n alert: el.data.tipo === \"nuovoLibro\" ? \"Nuovo libro\" : \"Nuovo aggiornamento\",\r\n description: el.testo,\r\n img: createImgLink(el.data.properties.immagine),\r\n isRead: el.data.stato === 0 ? false : true,\r\n idDocument: el.data.properties.iddocumento,\r\n idProdotto: el.data.properties.idprodotto,\r\n date: castDateNote(el.data.timestamp.split(\" \")[0])\r\n });\r\n });\r\n\r\n return arrayFormated;\r\n}\r\n\r\nconst castDateNote = (date) => {\r\n\r\n const splitted = date.split(\"/\");\r\n return splitted[0] + \" \" + getMonth(splitted[1]);\r\n} \r\nexport const formatArea = (data) => {\r\n if(data === undefined || data === null) return\r\n \r\n let arr = [];\r\n data.Result.ResultSet.Root.forEach(e =>{\r\n arr.push(e.areatematica.split(\"\\\\\")[1]);\r\n })\r\n return arr;\r\n}","import React from 'react'\r\nimport { NavLink, useNavigate } from 'react-router-dom'\r\n\r\nconst Book24Link = ({settings}) => {\r\n\r\n const navigate = useNavigate();\r\n\r\n const closeMenu = (ev) => {\r\n ev.preventDefault();\r\n window.document.body.classList.remove(\"is-drawer-in\");\r\n navigate(\"/\");\r\n }\r\n\r\n return (\r\n <a className=\"nav-link\" /*to=\"/\"*/ {...settings} onClick={closeMenu} type='button'>\r\n <img className=\"nav-logo nav-logo--main\" src=\"/dist/img/book24ore.svg\" alt=\"Book24ORE\" />\r\n <span className=\"nav-logo-bg\"></span>\r\n </a>\r\n )\r\n}\r\n\r\nexport default Book24Link","/**\n * NOTE: If you refactor this to split up the modules into separate files,\n * you'll need to update the rollup config for react-router-dom-v5-compat.\n */\nimport * as React from \"react\";\nimport type { BrowserHistory, HashHistory, History } from \"history\";\nimport { createBrowserHistory, createHashHistory } from \"history\";\nimport {\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n Routes,\n createRoutesFromChildren,\n generatePath,\n matchRoutes,\n matchPath,\n createPath,\n parsePath,\n resolvePath,\n renderMatches,\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigate,\n useNavigationType,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useOutletContext,\n} from \"react-router\";\nimport type { To } from \"react-router\";\n\nfunction warning(cond: boolean, message: string): void {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging React Router!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// RE-EXPORTS\n////////////////////////////////////////////////////////////////////////////////\n\n// Note: Keep in sync with react-router exports!\nexport {\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n Routes,\n createRoutesFromChildren,\n generatePath,\n matchRoutes,\n matchPath,\n createPath,\n parsePath,\n renderMatches,\n resolvePath,\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigate,\n useNavigationType,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useOutletContext,\n};\n\nexport { NavigationType } from \"react-router\";\nexport type {\n Hash,\n Location,\n Path,\n To,\n MemoryRouterProps,\n NavigateFunction,\n NavigateOptions,\n NavigateProps,\n Navigator,\n OutletProps,\n Params,\n PathMatch,\n RouteMatch,\n RouteObject,\n RouteProps,\n PathRouteProps,\n LayoutRouteProps,\n IndexRouteProps,\n RouterProps,\n Pathname,\n Search,\n RoutesProps,\n} from \"react-router\";\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n UNSAFE_NavigationContext,\n UNSAFE_LocationContext,\n UNSAFE_RouteContext,\n} from \"react-router\";\n\n////////////////////////////////////////////////////////////////////////////////\n// COMPONENTS\n////////////////////////////////////////////////////////////////////////////////\n\nexport interface BrowserRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `<Router>` for use in web browsers. Provides the cleanest URLs.\n */\nexport function BrowserRouter({\n basename,\n children,\n window,\n}: BrowserRouterProps) {\n let historyRef = React.useRef<BrowserHistory>();\n if (historyRef.current == null) {\n historyRef.current = createBrowserHistory({ window });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n <Router\n basename={basename}\n children={children}\n location={state.location}\n navigationType={state.action}\n navigator={history}\n />\n );\n}\n\nexport interface HashRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `<Router>` for use in web browsers. Stores the location in the hash\n * portion of the URL so it is not sent to the server.\n */\nexport function HashRouter({ basename, children, window }: HashRouterProps) {\n let historyRef = React.useRef<HashHistory>();\n if (historyRef.current == null) {\n historyRef.current = createHashHistory({ window });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n <Router\n basename={basename}\n children={children}\n location={state.location}\n navigationType={state.action}\n navigator={history}\n />\n );\n}\n\nexport interface HistoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n history: History;\n}\n\n/**\n * A `<Router>` that accepts a pre-instantiated history object. It's important\n * to note that using your own history object is highly discouraged and may add\n * two versions of the history library to your bundles unless you use the same\n * version of the history library that React Router uses internally.\n */\nfunction HistoryRouter({ basename, children, history }: HistoryRouterProps) {\n const [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n <Router\n basename={basename}\n children={children}\n location={state.location}\n navigationType={state.action}\n navigator={history}\n />\n );\n}\n\nif (__DEV__) {\n HistoryRouter.displayName = \"unstable_HistoryRouter\";\n}\n\nexport { HistoryRouter as unstable_HistoryRouter };\n\nfunction isModifiedEvent(event: React.MouseEvent) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nexport interface LinkProps\n extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, \"href\"> {\n reloadDocument?: boolean;\n replace?: boolean;\n state?: any;\n to: To;\n}\n\n/**\n * The public API for rendering a history-aware <a>.\n */\nexport const Link = React.forwardRef<HTMLAnchorElement, LinkProps>(\n function LinkWithRef(\n { onClick, reloadDocument, replace = false, state, target, to, ...rest },\n ref\n ) {\n let href = useHref(to);\n let internalOnClick = useLinkClickHandler(to, { replace, state, target });\n function handleClick(\n event: React.MouseEvent<HTMLAnchorElement, MouseEvent>\n ) {\n if (onClick) onClick(event);\n if (!event.defaultPrevented && !reloadDocument) {\n internalOnClick(event);\n }\n }\n\n return (\n // eslint-disable-next-line jsx-a11y/anchor-has-content\n <a\n {...rest}\n href={href}\n onClick={handleClick}\n ref={ref}\n target={target}\n />\n );\n }\n);\n\nif (__DEV__) {\n Link.displayName = \"Link\";\n}\n\nexport interface NavLinkProps\n extends Omit<LinkProps, \"className\" | \"style\" | \"children\"> {\n children?:\n | React.ReactNode\n | ((props: { isActive: boolean }) => React.ReactNode);\n caseSensitive?: boolean;\n className?: string | ((props: { isActive: boolean }) => string | undefined);\n end?: boolean;\n style?:\n | React.CSSProperties\n | ((props: { isActive: boolean }) => React.CSSProperties);\n}\n\n/**\n * A <Link> wrapper that knows if it's \"active\" or not.\n */\nexport const NavLink = React.forwardRef<HTMLAnchorElement, NavLinkProps>(\n function NavLinkWithRef(\n {\n \"aria-current\": ariaCurrentProp = \"page\",\n caseSensitive = false,\n className: classNameProp = \"\",\n end = false,\n style: styleProp,\n to,\n children,\n ...rest\n },\n ref\n ) {\n let location = useLocation();\n let path = useResolvedPath(to);\n\n let locationPathname = location.pathname;\n let toPathname = path.pathname;\n if (!caseSensitive) {\n locationPathname = locationPathname.toLowerCase();\n toPathname = toPathname.toLowerCase();\n }\n\n let isActive =\n locationPathname === toPathname ||\n (!end &&\n locationPathname.startsWith(toPathname) &&\n locationPathname.charAt(toPathname.length) === \"/\");\n\n let ariaCurrent = isActive ? ariaCurrentProp : undefined;\n\n let className: string | undefined;\n if (typeof classNameProp === \"function\") {\n className = classNameProp({ isActive });\n } else {\n // If the className prop is not a function, we use a default `active`\n // class for <NavLink />s that are active. In v5 `active` was the default\n // value for `activeClassName`, but we are removing that API and can still\n // use the old default behavior for a cleaner upgrade path and keep the\n // simple styling rules working as they currently do.\n className = [classNameProp, isActive ? \"active\" : null]\n .filter(Boolean)\n .join(\" \");\n }\n\n let style =\n typeof styleProp === \"function\" ? styleProp({ isActive }) : styleProp;\n\n return (\n <Link\n {...rest}\n aria-current={ariaCurrent}\n className={className}\n ref={ref}\n style={style}\n to={to}\n >\n {typeof children === \"function\" ? children({ isActive }) : children}\n </Link>\n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// HOOKS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Handles the click behavior for router `<Link>` components. This is useful if\n * you need to create custom `<Link>` components with the same click behavior we\n * use in our exported `<Link>`.\n */\nexport function useLinkClickHandler<E extends Element = HTMLAnchorElement>(\n to: To,\n {\n target,\n replace: replaceProp,\n state,\n }: {\n target?: React.HTMLAttributeAnchorTarget;\n replace?: boolean;\n state?: any;\n } = {}\n): (event: React.MouseEvent<E, MouseEvent>) => void {\n let navigate = useNavigate();\n let location = useLocation();\n let path = useResolvedPath(to);\n\n return React.useCallback(\n (event: React.MouseEvent<E, MouseEvent>) => {\n if (\n event.button === 0 && // Ignore everything but left clicks\n (!target || target === \"_self\") && // Let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // Ignore clicks with modifier keys\n ) {\n event.preventDefault();\n\n // If the URL hasn't changed, a regular <a> will do a replace instead of\n // a push, so do the same here.\n let replace =\n !!replaceProp || createPath(location) === createPath(path);\n\n navigate(to, { replace, state });\n }\n },\n [location, navigate, path, replaceProp, state, target, to]\n );\n}\n\n/**\n * A convenient wrapper for reading and writing search parameters via the\n * URLSearchParams interface.\n */\nexport function useSearchParams(defaultInit?: URLSearchParamsInit) {\n warning(\n typeof URLSearchParams !== \"undefined\",\n `You cannot use the \\`useSearchParams\\` hook in a browser that does not ` +\n `support the URLSearchParams API. If you need to support Internet ` +\n `Explorer 11, we recommend you load a polyfill such as ` +\n `https://github.com/ungap/url-search-params\\n\\n` +\n `If you're unsure how to load polyfills, we recommend you check out ` +\n `https://polyfill.io/v3/ which provides some recommendations about how ` +\n `to load polyfills only for users that need them, instead of for every ` +\n `user.`\n );\n\n let defaultSearchParamsRef = React.useRef(createSearchParams(defaultInit));\n\n let location = useLocation();\n let searchParams = React.useMemo(() => {\n let searchParams = createSearchParams(location.search);\n\n for (let key of defaultSearchParamsRef.current.keys()) {\n if (!searchParams.has(key)) {\n defaultSearchParamsRef.current.getAll(key).forEach((value) => {\n searchParams.append(key, value);\n });\n }\n }\n\n return searchParams;\n }, [location.search]);\n\n let navigate = useNavigate();\n let setSearchParams = React.useCallback(\n (\n nextInit: URLSearchParamsInit,\n navigateOptions?: { replace?: boolean; state?: any }\n ) => {\n navigate(\"?\" + createSearchParams(nextInit), navigateOptions);\n },\n [navigate]\n );\n\n return [searchParams, setSearchParams] as const;\n}\n\nexport type ParamKeyValuePair = [string, string];\n\nexport type URLSearchParamsInit =\n | string\n | ParamKeyValuePair[]\n | Record<string, string | string[]>\n | URLSearchParams;\n\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n * let searchParams = new URLSearchParams([\n * ['sort', 'name'],\n * ['sort', 'price']\n * ]);\n *\n * you can do:\n *\n * let searchParams = createSearchParams({\n * sort: ['name', 'price']\n * });\n */\nexport function createSearchParams(\n init: URLSearchParamsInit = \"\"\n): URLSearchParams {\n return new URLSearchParams(\n typeof init === \"string\" ||\n Array.isArray(init) ||\n init instanceof URLSearchParams\n ? init\n : Object.keys(init).reduce((memo, key) => {\n let value = init[key];\n return memo.concat(\n Array.isArray(value) ? value.map((v) => [key, v]) : [[key, value]]\n );\n }, [] as ParamKeyValuePair[])\n );\n}\n","import React from 'react'\r\nimport { NavLink } from 'react-router-dom'\r\n\r\nconst Sole24Link = () => {\r\n return (\r\n <NavLink className=\"nav-link d-none d-md-block\" to=\"/\">\r\n <img className=\"nav-logo\" src=\"/dist/img/ilsole24ore.svg\" alt=\"il Sole 24 ORE\" />\r\n </NavLink>\r\n )\r\n}\r\n\r\nexport default Sole24Link","import React, { useState } from \"react\";\r\n\r\nconst isLoadingContext = React.createContext({\r\n isLoading: false\r\n});\r\n\r\nexport const IsLoadingContextProvider = (props) => {\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n //const [isLockedLoading, setIsLockedLoading] = useState(\"\");\r\n\r\n const setIfIsLoadingConfig = (props, timeout) => {\r\n if (props && !isLoading) {\r\n setIsLoading(true);\r\n return;\r\n }\r\n\r\n finishedLoading(timeout);\r\n };\r\n\r\n const finishedLoading = (timeout) => {\r\n\r\n let delay = setTimeout(() => {\r\n setIsLoading(false);\r\n }, timeout);\r\n\r\n return () => {\r\n clearTimeout(delay);\r\n };\r\n };\r\n\r\n const ctxValues = {\r\n isLoading: isLoading,\r\n setIfIsLoading: setIfIsLoadingConfig\r\n };\r\n\r\n return <isLoadingContext.Provider value={ctxValues}>{props.children}</isLoadingContext.Provider>\r\n};\r\n\r\nexport default isLoadingContext;","import { splitFisco, titleUrlSlugForTealium } from \"./helper\";\r\n\r\nexport const updateView = (page_name, authCtx, tokenCtx, titleSpecial, wordToSearch) => {\r\n\r\n let arraySplitPageName = page_name.split(\":\");\r\n\r\n let view = {\r\n page_name: page_name,\r\n page_category1: arraySplitPageName[0],\r\n page_category2: arraySplitPageName[1],\r\n page_category10: arraySplitPageName[1],\r\n page_content_type: titleSpecial === undefined ? page_name : titleSpecial,\r\n visitor_status: authCtx.isLoggedIn ? \"logged-in\" : \"not-logged-in\",\r\n user_status: authCtx.isLoggedIn ? tokenCtx?.userModules.length > 0 ? \"abbonato\" : \"registrato\" : \"\",\r\n user_email: authCtx.isLoggedIn ? authCtx.email : \"\",\r\n user_id: authCtx.isLoggedIn ? authCtx.username : \"\"\r\n };\r\n\r\n if (arraySplitPageName.length > 2) {\r\n view = {\r\n ...view,\r\n page_category3: arraySplitPageName[2] ?? \"\",\r\n page_category4: arraySplitPageName[3] ?? \"\",\r\n }\r\n }\r\n \r\n if (wordToSearch !== undefined) {\r\n view={\r\n ...view,\r\n search_terms: wordToSearch\r\n };\r\n }\r\n\r\n if (view.page_category2 === \"area\" && view?.page_category4 === \"lista\") {\r\n view.page_category10 = view.page_category2.concat(\"-\").concat(view.page_category4);\r\n }\r\n if (view.page_category2 === \"i-miei-libri\") {\r\n view.page_category10 = titleSpecial.split(\":\")[1];\r\n }\r\n if (view.page_category2 === \"reader\") {\r\n if (titleSpecial === \"book24ore:reader-anteprima\") {\r\n view.page_category10 = \"reader-anteprima\";\r\n } else if (titleSpecial === \"book24ore:reader-paid\") {\r\n view.page_category10 = \"reader-paid\";\r\n } else if (titleSpecial === \"book24ore:reader-bloccato\") {\r\n view.page_category10 = \"reader-bloccato\";\r\n }\r\n }\r\n if (view.page_category2 === \"le-mie-note\" || view.page_category2 === \"notifiche\") {\r\n view.page_category10 = \"area-loggato\";\r\n }\r\n\r\n window.utag.view(view);\r\n};\r\n\r\nexport const updateLink = (title, titleContainer, extraInformation) => {\r\n\r\n let link = {};\r\n\r\n if (extraInformation === \"login\" || extraInformation === \"logout\") {\r\n\r\n let arraySplit = titleContainer.split(\":\");\r\n link = {\r\n event_name: \"book24ore:\" + titleContainer.split(\":\")[0]\r\n };\r\n\r\n if (arraySplit.length > 1) {\r\n link = {\r\n ...link,\r\n user_email: arraySplit[1]\r\n }\r\n }\r\n\r\n window.utag.link(link);\r\n window.utag.link(window.uta_data);\r\n\r\n return;\r\n }\r\n\r\n const location = window.location.pathname.split(\"/\");\r\n\r\n const name_page = choosePageName(location, extraInformation)\r\n\r\n \r\n\r\n if (title.title === \"\" && title.name === \"\") {\r\n link = {\r\n event_name: name_page + \":\" + titleUrlSlugForTealium(titleContainer)\r\n };\r\n } else {\r\n link = {\r\n event_name: name_page + \":\" + titleUrlSlugForTealium(titleContainer),\r\n event_type: titleUrlSlugForTealium(title.title) + (title.name === \"\" ? \"\" : \":\" + title.name)\r\n };\r\n }\r\n\r\n window.utag.link(link);\r\n window.utag.link(window.uta_data);\r\n}\r\n\r\nconst choosePageName = (namePage, extraInformation) => {\r\n\r\n switch (namePage[1]) {\r\n case \"Area\":\r\n return \"book24ore:area:\" + titleUrlSlugForTealium(splitFisco(namePage[2]).toLowerCase());\r\n case \"Prodotto\":\r\n return `book24ore:prodotto:${titleUrlSlugForTealium(extraInformation)}`;\r\n case \"Pacchetto\":\r\n return `book24ore:pacchetto:${titleUrlSlugForTealium(extraInformation)}`;\r\n case \"miei-libri\":\r\n return `book24ore:i-miei-libri`;\r\n case \"ricerca\":\r\n return \"book24ore:ricerca:risultato\";\r\n case \"reader\":\r\n return `book24ore:reader:${titleUrlSlugForTealium(extraInformation)}:blocco`;\r\n default:\r\n return \"book24ore:home\";\r\n }\r\n}","import React, { useContext, useState } from \"react\";\r\nimport { useEffect } from \"react\";\r\nimport { castForLogin, removeCookieSoleAuth, checkSoleaAuth, removeCookie } from \"../helper/helper\";\r\nimport { config } from '../constants/Constants';\r\nimport useHttpRequest from \"../hooks/http-request\";\r\nimport isLoadingContext from \"./isLoadingcontext\";\r\nimport { updateLink } from \"../helper/TealiumHelper\";\r\n\r\nconst AuthContext = React.createContext({\r\n isLoggedIn: false,\r\n isSoleAuth: false,\r\n username: '',\r\n email: '',\r\n error: null,\r\n isLoading: false,\r\n showLoginModal: false,\r\n redirectUrl: '',\r\n onLogout: () => { },\r\n onLogin: (email, password, rememberMe) => { },\r\n});\r\n\r\nexport const AuthContexProvider = (props) => {\r\n\r\n const [username, setUsername] = useState('Utente');\r\n const [email, setEmail] = useState(\"\");\r\n const [isSoleAuth, setIsSoleAuth] = useState(checkSoleaAuth());\r\n const [isLoggedIn, setIsLoggedIn] = useState(false);\r\n const [error, setError] = useState(null);\r\n const [redirectUrl, setRedirectUrl] = useState('');\r\n const [showLoginModal, setShowLoginModal] = useState(false);\r\n const [provider, setProvider] = useState('');\r\n const [profile, setProfile] = useState(null);\r\n const isLoadingCtx = useContext(isLoadingContext);\r\n\r\n const response = useHttpRequest();\r\n\r\n const logoutHandler = (isClicked = false) => {\r\n setIsLoggedIn(false);\r\n setEmail(\"\");\r\n localStorage.removeItem(\"email\");\r\n localStorage.removeItem(\"isLoggedIn\");\r\n localStorage.removeItem(\"userLoggedWithoutToken\");\r\n localStorage.removeItem(\"userType\");\r\n removeCookieSoleAuth(\"SoleAuth\", \"\", -1, config.domain);\r\n setIsSoleAuth(undefined);\r\n setUsername('Utente');\r\n removeCookieSoleAuth(\"SoleRememberMe\", \"\", window.location.href.split(\"/\")[2]);\r\n removeCookie(\"plus_token\", \"\", window.location.href.split(\"/\")[2]);\r\n if (isClicked) {\r\n updateLink({ title: \"\", name: \"\" }, \"user-logout:\", \"logout\");\r\n }\r\n };\r\n\r\n const loginUserProfile = () => {\r\n\r\n const soleAuht = checkSoleaAuth();\r\n\r\n if (soleAuht === undefined || soleAuht === '' || soleAuht === null) {\r\n return;\r\n }\r\n\r\n\r\n const completeUrl = castForLogin({\r\n siteCode: config.siteCode\r\n });\r\n\r\n const settingInformationUser = (data) => {\r\n\r\n if (!data.Success) {\r\n logoutHandler();\r\n return;\r\n }\r\n\r\n setUsername(data.Result.username);\r\n setEmail(localStorage.getItem(\"email\"));\r\n localStorage.setItem('isLoggedIn', 1);\r\n\r\n setIsLoggedIn(true);\r\n setIsSoleAuth(checkSoleaAuth());\r\n };\r\n\r\n const request = {\r\n url: config.url.API_URL_GETPROFILO.concat(completeUrl),\r\n req: {\r\n method: 'GET',\r\n headers:\r\n {\r\n 'appKey': config.appKey,\r\n 'Content-Type': 'application/json; charset=utf-8',\r\n 'Cache-Control': 'no-store, no-cache, must-revalidate, max-age=0'\r\n }\r\n }\r\n };\r\n\r\n const resp = response.sendRequest(request, settingInformationUser, true, true);\r\n\r\n /*if (response.error !== '') {\r\n if(userNotHaveToken(response.error)){\r\n localStorage.setItem('isLoggedIn',1);\r\n setIsLoggedIn(true);\r\n setIsSoleAuth(checkSoleaAuth());\r\n localStorage.setItem(\"userLoggedWithoutToken\", 1);\r\n }\r\n else{\r\n logoutHandler();\r\n }\r\n }*/\r\n\r\n return resp;\r\n };\r\n\r\n const loginHandler = (email, password, rememberMe = 0, genericFunction, isClick = false) => {\r\n\r\n isLoadingCtx.setIfIsLoading(true);\r\n const getSoleAuth = (data) => {\r\n\r\n localStorage.setItem(\"email\", email);\r\n\r\n if (data.Exception !== undefined) {\r\n genericFunction(data.Exception)\r\n }\r\n\r\n const toAppendUrl = castForLogin({\r\n UserIdentity: data.Result.res,\r\n RURL: window.location.href\r\n });\r\n\r\n const request = {\r\n url: config.url.API_URL_PROFILO.concat(toAppendUrl),\r\n req: {\r\n method: 'GET',\r\n headers: {}\r\n }\r\n };\r\n\r\n const logged = (url) => {\r\n\r\n if (isClick) {\r\n updateLink({ title: \"\", name: \"\" }, `user-login:${email}`, \"login\");\r\n }\r\n\r\n window.location.href = url;\r\n };\r\n\r\n response.sendRequest(request, logged);\r\n };\r\n\r\n const toAppendUrl = castForLogin({\r\n username: email,\r\n password: password,\r\n RememberMe: rememberMe,\r\n siteCode: config.appId\r\n });\r\n\r\n const request = {\r\n url: config.url.API_URL_LOGIN_CENTRALE.concat(toAppendUrl),\r\n req: {\r\n method: 'GET',\r\n headers:\r\n {\r\n 'AppKey': config.appKey,\r\n 'Content-Type': 'application/json; charset=utf-8',\r\n 'Cache-Control': 'no-store, no-cache, must-revalidate, max-age=0'\r\n }\r\n }\r\n };\r\n\r\n response.sendRequest(request, getSoleAuth, false, true);\r\n\r\n };\r\n\r\n const settingShowLoginModalConf = (isShow) => {\r\n setShowLoginModal(isShow);\r\n };\r\n\r\n const loginSocialProfile = (provider, data) => {\r\n setProvider(provider);\r\n setProfile(data);\r\n };\r\n\r\n const contextValue = {\r\n isLoggedIn: isLoggedIn,\r\n isSoleAuth: isSoleAuth,\r\n error: error,\r\n showLoginModal: showLoginModal,\r\n username: username,\r\n redirectUrl: redirectUrl,\r\n email: email,\r\n onLogin: loginHandler,\r\n onLogout: logoutHandler,\r\n showModalLog: settingShowLoginModalConf,\r\n checkSoleaAuth: checkSoleaAuth,\r\n loginUserProfile: loginUserProfile,\r\n loginSocialProfile: loginSocialProfile\r\n };\r\n\r\n useEffect(() => {\r\n\r\n let checkSoleaAuthExp = setTimeout(() => {\r\n\r\n\r\n if (localStorage.getItem(\"isLoggedIn\")) {\r\n setIsLoggedIn(true);\r\n loginUserProfile();\r\n }\r\n\r\n }, 120000);\r\n\r\n return () => {\r\n clearTimeout(checkSoleaAuthExp);\r\n }\r\n });\r\n\r\n return <AuthContext.Provider value={contextValue}>{props.children}</AuthContext.Provider>\r\n};\r\n\r\nexport default AuthContext;","import React, { useContext, useEffect, useState } from \"react\";\r\nimport AuthContext from \"./auth-context\";\r\nimport useHttpRequest from \"../hooks/http-request\";\r\nimport { config } from '../constants/Constants';\r\nimport isLoadingContext from \"../store/isLoadingcontext\";\r\nimport { castForLogin, createCookieForDocument, getCookie, userNotHaveToken } from \"../helper/helper\";\r\nimport { getFingerPrint } from \"../helper/calculateFingerprint\";\r\n\r\nconst TokenContext = React.createContext({\r\n xmlconfig: window.xmlconfig,\r\n token: null,\r\n module: [],\r\n userModules: [],\r\n isSubscribed: false\r\n});\r\n\r\nexport const TokenContextProvider = (props) => {\r\n\r\n const [modules, setModules] = useState([]);\r\n const [provvedimenti, setProvvedimenti] = useState(\"\");\r\n const [modulesComplete, setModulesComplete] = useState([]);\r\n const [associazioneModuliPacchetti, setAssociazioneModuliPacchetti] = useState([]);\r\n const [arricchimenti, setArricchimenti] = useState([]);\r\n const [userModules, setUserModules] = useState(localStorage.getItem(\"userModules\") === null ? [] : localStorage.getItem(\"userModules\").split(\",\"));\r\n const [userModulesWithId, setUserModulesWithId] = useState(localStorage.getItem(\"userModulesWithId\") === null ? [] : JSON.parse(localStorage.getItem(\"userModulesWithId\")));\r\n const [isSubscribed, setIsSubscribed] = useState(userModules.length > 0 ? true : false);\r\n const [token, setToken] = useState(localStorage.getItem(\"token\"));\r\n const [ipAddress, setIpAddress] = useState('');\r\n const [callManageSIACSession, setCallManageSIACSession] = useState(false);\r\n const [fingerPrint, setFingerPrint] = useState(null);\r\n const [showMessageSiac, setShowMessageSiac] = useState(false);\r\n const [userType, setUserType] = useState(parseInt(localStorage.getItem(\"userType\")));\r\n const [selectedValuesToken, setSelectedValuesToken] = useState([]);\r\n\r\n const authCtx = useContext(AuthContext);\r\n const sendRqst = useHttpRequest();\r\n const isLoadingCtx = useContext(isLoadingContext);\r\n\r\n const loadProductConfig = () => {\r\n\r\n const bodyFormatted = {\r\n parameters: {\r\n xpath: config.xpath,\r\n appId: config.appId\r\n }\r\n };\r\n\r\n const setXmlConfig = (data) => {\r\n window.xmlconfig = data.Result.root;\r\n const array = window.xmlconfig.Moduli.Modulo;\r\n let modulesInArray = [];\r\n let modulesCompleteInArray = [];\r\n for (let i = 0; i < array.length; i++) {\r\n modulesInArray.push(array[i]['@id']);\r\n modulesCompleteInArray.push(array[i])\r\n }\r\n\r\n const arrayAssociazioneModuli = window.xmlconfig.AssociazioneModuliPacchetti.Associazione;\r\n let assModPacc = [];\r\n arrayAssociazioneModuli.forEach(element => {\r\n assModPacc.push(element);\r\n });\r\n\r\n setModules((prevModulesList) => { return prevModulesList.concat(modulesInArray); });\r\n setModulesComplete((prevModuleListComplete) => { return prevModuleListComplete.concat(modulesCompleteInArray) });\r\n setAssociazioneModuliPacchetti(assModPacc);\r\n setArricchimenti(window.xmlconfig.arricchimenti.item);\r\n //setAssociazioneModuliPacchetti((prevAssModPacc) => { return [...prevAssModPacc, assModPacc]; });\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.configSectionNoToken,\r\n req: {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST',\r\n }\r\n };\r\n\r\n const response = sendRqst.sendRequest(request, setXmlConfig, true);\r\n\r\n if (response.error) {\r\n return response;\r\n }\r\n };\r\n\r\n const loadProductConfigFromToken = (token) => {\r\n const bodyFormatted = {\r\n parameters : {\r\n xpath : config.xpath\r\n },\r\n token: token\r\n }\r\n\r\n const setNormaCommentataCorrelati = (data) => {\r\n window.xmlconfig = data.Result.root;\r\n\r\n const provvedimenti = window.xmlconfig.norma_commentata_correlati.sp['@provvlegge'];\r\n \r\n \r\n setProvvedimenti(provvedimenti);\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.configSection,\r\n req: {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST',\r\n }\r\n };\r\n\r\n const response = sendRqst.sendRequest(request, setNormaCommentataCorrelati, true);\r\n\r\n if (response.error) {\r\n return response;\r\n }\r\n };\r\n const callGetUserProfile = (token) => {\r\n\r\n const settingsResult = (data) => {\r\n\r\n if(data.StatusCode !== 200) return ;\r\n\r\n const userType = parseInt(data.Result['@user_type']);\r\n\r\n setUserType(userType);\r\n localStorage.setItem(\"userType\", userType);\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getUserType,\r\n req: {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey\r\n },\r\n body: JSON.stringify({ token: token }),\r\n method: 'POST',\r\n }\r\n }\r\n\r\n sendRqst.sendRequest(request, settingsResult);\r\n };\r\n\r\n const loadDynamicToken = (getDynamicTokenExtNoAccountingLog = false, arrayFor = [], byPassOldToken = false) => {\r\n\r\n if (token !== undefined && token !== null && !byPassOldToken && sessionStorage.getItem(\"isBookIntegrate\")!=\"fisco\") return;\r\n \r\n if(modules.length<=0){\r\n loadProductConfig();\r\n }\r\n const settingCookies = (data) => {\r\n if (data.Result.token === undefined)\r\n return;\r\n createCookieForDocument(\"plus_first_access\", \"true\");\r\n createCookieForDocument(\"plus_token\", data.Result.token, \"\", window.location.href.split(\"/\")[2]);\r\n authCtx.isLoggedIn = true;\r\n //qui controllare se il token \r\n setToken(data.Result.token);\r\n localStorage.setItem('token', data.Result.token);\r\n callGetUserProfile(data.Result.token);\r\n\r\n if (data.Result.modules === null) {\r\n setIsSubscribed(false);\r\n return;\r\n }\r\n if (data.Result.modules.length > 0){\r\n setUserModules(data.Result.modules);\r\n localStorage.setItem(\"userModules\", data.Result.modules);\r\n let arrayModulesUser = [];\r\n data.Result.modules.forEach(el => {\r\n let index = modulesComplete.map(el => el['@name']).indexOf(el);\r\n if (index !== -1) {\r\n arrayModulesUser.push(modulesComplete[index]);\r\n }\r\n });\r\n setUserModulesWithId(arrayModulesUser);\r\n localStorage.setItem(\"userModulesWithId\", JSON.stringify(arrayModulesUser));\r\n }\r\n if (getCookie(\"CustomPopupCookie\")) {\r\n const popupCookie = JSON.parse(getCookie(\"CustomPopupCookie\"));\r\n if (popupCookie.popups) {\r\n for (let i = 0; i < popupCookie.popups.length; i++) {\r\n if (popupCookie.popups[i]) {\r\n popupCookie.popups[i].loginCounter += 1;\r\n }\r\n }\r\n createCookieForDocument(\"CustomPopupCookie\", JSON.stringify(popupCookie), 365);\r\n }\r\n else {\r\n createCookieForDocument(\"CustomPopupCookie\", \"\", -1);\r\n }\r\n }\r\n setCallManageSIACSession(true);\r\n };\r\n\r\n\r\n const FingerprintJS = require('@fingerprintjs/fingerprintjs')\r\n\r\n const fpPromise = FingerprintJS.load();\r\n const response = (async () => {\r\n const fp = await fpPromise\r\n const result = await fp.get()\r\n\r\n setFingerPrint(result.visitorId);\r\n return {\r\n parameters: {\r\n userKey: authCtx.username,\r\n appId: config.appId,\r\n ipAddress: ipAddress,\r\n fingerPrint: result.visitorId,\r\n cSessions: true,\r\n skipVerificaModuli: getDynamicTokenExtNoAccountingLog ? byPassOldToken ? false : true : null,\r\n skipLoginProdotto: getDynamicTokenExtNoAccountingLog ? byPassOldToken ? false : true : null,\r\n data: {\r\n environment: \"ON\",\r\n modules: getDynamicTokenExtNoAccountingLog ? arrayFor : (modules.length>0 ? modules : config.modules),\r\n accountType: 0\r\n }\r\n }\r\n };\r\n })().then(bodyFormatted => {\r\n if(config.extraModules){\r\n bodyFormatted.parameters.extraModules = true;\r\n }\r\n let serviceToCall = getDynamicTokenExtNoAccountingLog ? config.serviceToCall.dynamicTokenExtNoAcc : config.serviceToCall.dynamicTokenExt;\r\n return {\r\n url: config.url.BACKEND_SERVICE + serviceToCall,\r\n req: {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST',\r\n }\r\n };\r\n }).then(requestToSend => {\r\n const response = sendRqst.sendRequest(requestToSend, settingCookies, true);\r\n return response;\r\n }).then(resp => {\r\n if (resp !== '' && resp !== undefined) {\r\n const statusCode = resp.match(/^[^,]*/mi)[0].split(\" \");\r\n if (userNotHaveToken(resp)) {\r\n //localStorage.setItem(\"userLoggedWithoutToken\", 1);\r\n loadDynamicToken(true)\r\n }\r\n else if (statusCode[statusCode.length - 1] === \"1002\") {\r\n loadDynamicToken(true)\r\n }\r\n else {\r\n logoutToken();\r\n authCtx.onLogout();\r\n }\r\n }\r\n });\r\n\r\n };\r\n\r\n useEffect(() => {\r\n /*if (!getCookie(\"plus_token\") && authCtx.isLoggedIn) {\r\n loadDynamicToken();\r\n }*/\r\n if (!(authCtx.isLoggedIn)) {\r\n setIsSubscribed(false);\r\n }\r\n }, [authCtx.isLoggedIn])\r\n\r\n useEffect(() => {\r\n\r\n if (!callManageSIACSession || fingerPrint === null || token === null) return;\r\n\r\n const manageResponseSiac = (data) => {\r\n\r\n setCallManageSIACSession(false);\r\n\r\n if ((data.StatusCode === 200 && Object.keys(data.Result).length === 0) || data.Result.error.code === \"-1\") {\r\n return;\r\n }\r\n\r\n setShowMessageSiac(true);\r\n }\r\n\r\n\r\n const bodyFormatted = {\r\n parameters: {\r\n appId: config.appId,\r\n type: \"check_access\",\r\n userName: authCtx.username,\r\n service: \"BIBLIOTECA24\",\r\n fingerPrint: fingerPrint\r\n },\r\n token: token,\r\n encryptParams: [\"parameters.userName\"]\r\n };\r\n\r\n const rqst = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.manageSiacSession,\r\n req: {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: \"POST\",\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(rqst, manageResponseSiac, null, null, \"manageSiacSession\");\r\n\r\n }, [callManageSIACSession, fingerPrint, token]);\r\n\r\n const tokenInfo = (token) => {\r\n\r\n const responseTokenInfo = (data) => {\r\n if (data.StatusCode === 200){\r\n setToken(localStorage.getItem(\"token\"));\r\n }else{\r\n refreshToken();\r\n }\r\n }\r\n\r\n const bodyFormatted = {\r\n parameters: {},\r\n token: token\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getTokenInfo,\r\n req: {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: \"POST\",\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, responseTokenInfo, false, null, \"tokenInfo\")\r\n };\r\n\r\n const refreshToken = () => {\r\n if (fingerPrint === null) return;\r\n const refreshedToken = (data) => {\r\n\r\n if ((data.StatusCode === 200 && Object.keys(data.Result).length === 0) || data.Result.error.code === \"-1\")\r\n return;\r\n\r\n logoutToken();\r\n authCtx.onLogout();\r\n }\r\n\r\n const bodyFormatted = {\r\n parameters: {\r\n appId: config.appId,\r\n type: \"refresh\",\r\n userName: authCtx.username,\r\n service: \"BIBLIOTECA24\",\r\n fingerPrint: fingerPrint\r\n },\r\n token: token,\r\n encryptParams: [\"parameters.userName\"]\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.manageSiacSession,\r\n req: {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: \"POST\",\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, refreshedToken, false, null, \"manageSiacSession\")\r\n };\r\n\r\n const logoutToken = () => {\r\n setToken(null);\r\n setIsSubscribed(false);\r\n localStorage.removeItem(\"token\");\r\n localStorage.removeItem(\"userModules\");\r\n localStorage.removeItem(\"userModulesWithId\");\r\n localStorage.removeItem(\"userType\");\r\n };\r\n\r\n const setIPConfig = (ip) => {\r\n setIpAddress(ip);\r\n }\r\n\r\n const closeMessageManageSiacConfig = (data) => {\r\n setShowMessageSiac(data);\r\n }\r\n\r\n const setSelectedValueTokenConfig = (modulesSelected) => {\r\n setSelectedValuesToken(modulesSelected);\r\n }\r\n\r\n useEffect(() => {\r\n let callLoadDynamicToken = setTimeout(() => {\r\n if (modules.length > 0 && authCtx.isLoggedIn) {\r\n loadDynamicToken();\r\n }\r\n\r\n }, 100);\r\n\r\n return () => {\r\n clearTimeout(callLoadDynamicToken);\r\n };\r\n }, [modules]);\r\n\r\n useEffect(() => {\r\n\r\n if (authCtx.isSoleAuth === undefined)\r\n logoutToken();\r\n\r\n }, [authCtx.isSoleAuth]);\r\n\r\n useEffect(() => {\r\n if (localStorage.getItem(\"token\")) {\r\n tokenInfo(localStorage.getItem(\"token\"));\r\n }\r\n\r\n return () => {};\r\n }, [localStorage.getItem(\"token\")]);\r\n\r\n useEffect(() => {\r\n\r\n let refreshingToken = setInterval(() => {\r\n\r\n if (localStorage.getItem(\"isLoggedIn\") && authCtx.isLoggedIn && localStorage.getItem(\"token\") && token !== null) {\r\n refreshToken();\r\n }\r\n\r\n }, 60000);\r\n\r\n return () => {\r\n clearTimeout(refreshingToken);\r\n }\r\n });\r\n\r\n useEffect(() => {\r\n\r\n if (userModules.length > 0) {\r\n setIsSubscribed(true);\r\n return;\r\n }\r\n\r\n setIsSubscribed(false);\r\n\r\n }, [userModules]);\r\n\r\n useEffect(() => { })\r\n\r\n const contextValues = {\r\n loadProduct: loadProductConfig,\r\n loadProductFromToken: loadProductConfigFromToken,\r\n loadDynToken: loadDynamicToken,\r\n logoutToken: logoutToken,\r\n setIpConf: setIPConfig,\r\n closeMessageManageSiac: closeMessageManageSiacConfig,\r\n setSelectedValuesToken: setSelectedValueTokenConfig,\r\n modulesComplete: modulesComplete,\r\n allmodules: modules,\r\n allProvvedimenti: provvedimenti,\r\n userModules: userModules,\r\n userModulesWithId: userModulesWithId,\r\n isSubscribed,\r\n allAssocModPac: associazioneModuliPacchetti,\r\n arricchimenti: arricchimenti,\r\n token: token,\r\n showMessageSiac: showMessageSiac,\r\n userType: userType,\r\n selectedValuesToken: selectedValuesToken\r\n };\r\n\r\n return <TokenContext.Provider value={contextValues}>{props.children}</TokenContext.Provider>\r\n}\r\n\r\nexport default TokenContext;","import { useCallback, useContext } from \"react\";\r\nimport { useState } from \"react\";\r\nimport { config } from \"../constants/Constants\";\r\nimport AuthContext from \"../store/auth-context\";\r\nimport isLoadingContext from \"../store/isLoadingcontext\";\r\nimport TokenContext from \"../store/token-context\";\r\n\r\nconst useHttpRequest = () => {\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [error, setError] = useState(null);\r\n const authCtx = useContext(AuthContext);\r\n const tokenCtx = useContext(TokenContext);\r\n const isLoadingCtx = useContext(isLoadingContext);\r\n\r\n const sendRequest = useCallback(async (requestConf, genericFunction, isCredential, isLogin, from) => {\r\n setError(null);\r\n const requestObjBase = {\r\n method: requestConf.req.method,\r\n body: requestConf.req.body,\r\n headers: requestConf.req.headers\r\n };\r\n\r\n const requestObjWithCred = {\r\n ...requestObjBase,\r\n credentials: 'include'\r\n };\r\n\r\n const response = await fetch(requestConf.url, isCredential ? requestObjWithCred : requestObjBase);\r\n try {\r\n //const response = await fetch(requestConf.url, isCredential ? requestObjWithCred : requestObjBase);\r\n if (response.ok && response.redirected)\r\n return genericFunction(requestConf.url);\r\n\r\n const data = await response.json();\r\n if ((data.StatusCode === 401 || data.StatusCode === 400)&& data.Exception.Message === \"token scaduto o non valido!\" && (localStorage.getItem(\"token\") !== null && localStorage.getItem(\"token\") !== undefined)) {\r\n authCtx.onLogout();\r\n } else if (data.StatusCode === 500 && data.Exception.Message === \"Authentication Exception.\" && authCtx.isLoggedIn) {\r\n authCtx.onLogout();\r\n }/*else if (data.StatusCode === 500 && data.Exception.ExceptionType === \"AuthenticationException\" && data.Exception.Message.indexOf(\"CodeStatus: 1002\") !== -1) {\r\n window.location.reload(false);\r\n }*/ else if (data.StatusCode === 500 && data.Exception.Message === \"token scaduto o non valido!\" && authCtx.isSoleAuth) {\r\n tokenCtx.loadDynToken();\r\n }else if((data.StatusCode === 500 || data.StatusCode === 400) && data.Exception.Message === \"token scaduto o non valido!\" && authCtx.isLoggedIn && !authCtx.isSoleAuth){\r\n localStorage.setItem(\"showModalSessione\", true);\r\n } else {\r\n genericFunction(data);\r\n }\r\n\r\n } catch (error) {\r\n if(from === \"manageSiacSession\" || from === \"tokenInfo\"){\r\n localStorage.removeItem(\"token\");\r\n window.location.reload(false);\r\n }\r\n\r\n isLoadingCtx.setIfIsLoading(false, 0);\r\n setError(error.message || 'Something went wrong');\r\n return error.message.toString();\r\n }\r\n finally {\r\n //isLoadingCtx.setIfIsLoading(false);\r\n }\r\n }, []);\r\n\r\n return {\r\n isLoading: isLoading,\r\n error: error,\r\n sendRequest: sendRequest\r\n };\r\n}\r\n\r\nexport default useHttpRequest;","import React, { useContext } from \"react\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { config } from \"../../../../../constants/Constants\";\r\nimport { bodyFormattedNotificationUpdateState } from \"../../../../../helper/helper\";\r\nimport useHttpRequest from \"../../../../../hooks/http-request\";\r\nimport TokenContext from \"../../../../../store/token-context\";\r\n\r\nconst Notifica = (props) => {\r\n \r\n const sendRequest = useHttpRequest();\r\n const tokenCtx = useContext(TokenContext);\r\n\r\n const notificationReaded = () => {\r\n\r\n if (tokenCtx.token === null || tokenCtx.token === undefined) return;\r\n\r\n const settingsTotNotification = (data) => {\r\n\r\n props.refreshCountAndNotification();\r\n }\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.updateStateNotification,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json-patch+json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormattedNotificationUpdateState(tokenCtx.token, props.notification.idDocument, props.notification.alert)),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRequest.sendRequest(request, settingsTotNotification);\r\n }\r\n\r\n return (\r\n <li className=\"list-item\">\r\n <div className={`card card-alert ${props.isLarge ? '' : 'card-alert--small'} ${props.notification.isRead ? 'is-read' : ''}`}>\r\n <div className=\"card-box\">\r\n <div className=\"card-content\">\r\n <figure className=\"card-img \">\r\n\r\n <span className=\"card-img-book\">\r\n <img src={props.notification.img} alt=\"\" />\r\n </span>\r\n\r\n </figure>\r\n <div className=\"card-body\">\r\n <span className=\"card-alert-label\">\r\n {props.notification.alert}\r\n {props.isLarge && <span className=\"card-alert-label-date\">{props.notification.date}</span>}\r\n </span>\r\n <h4 className=\"card-title\">\r\n <NavLink to={`/reader/${props.notification.idDocument}`} onClick={notificationReaded}>\r\n {props.notification.title}\r\n </NavLink>\r\n </h4>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n );\r\n};\r\n\r\nexport default Notifica;","import React from \"react\";\r\nimport Notifica from \"./Notifica/Notifica\";\r\n\r\nconst NotificationsList = (props) => {\r\n\r\n const notificationList = props.isLarge ? props?.notificationList : props?.notificationList.slice(0,4);\r\n\r\n const refreshCountAndNotification = () => {\r\n props.refreshCountAndNotification();\r\n }\r\n\r\n return (\r\n <React.Fragment>\r\n <ul className={`list ${props.isLarge ? 'list--large card-alert-list' : ''}` }>\r\n {notificationList?.length > 0 && notificationList.map(notification => (\r\n <Notifica\r\n isLarge={props.isLarge}\r\n notification={notification}\r\n key={notification.id}\r\n refreshCountAndNotification= {refreshCountAndNotification}\r\n ></Notifica>\r\n ))}\r\n </ul>\r\n </React.Fragment>\r\n );\r\n};\r\n\r\nexport default NotificationsList;","import React, { useEffect, useState } from \"react\";\r\nimport { useContext } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { config } from \"../../../../constants/Constants\";\r\nimport { bodyFormattedNotification, bodyFormattedNotificationGet, notificationListForFe } from \"../../../../helper/helper\";\r\nimport useHttpRequest from \"../../../../hooks/http-request\";\r\nimport TokenContext from \"../../../../store/token-context\";\r\nimport NotificationsList from \"./NotificationsList\";\r\n\r\nconst Notifiche = (props) => {\r\n\r\n const [notificationNumber, setNotificationNumber] = useState(0);\r\n const [notificationList, setNotificationList] = useState([]);\r\n const [refresh, setRefresh] = useState(false);\r\n\r\n const sendRequest = useHttpRequest();\r\n const tokenCtx = useContext(TokenContext);\r\n\r\n useEffect(() => {\r\n\r\n if (tokenCtx.token === null || tokenCtx.token === undefined) return;\r\n\r\n const settingsTotNotification = (data) => {\r\n\r\n if (data.Result !== undefined && data.Result !== null) {\r\n setNotificationNumber(data.Result.count);\r\n }\r\n }\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.countNotification,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json-patch+json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormattedNotification(tokenCtx.token, new Date())),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRequest.sendRequest(request, settingsTotNotification);\r\n\r\n }, [tokenCtx.token, refresh]);\r\n\r\n useEffect(() => {\r\n \r\n if (tokenCtx.token === null || tokenCtx.token === undefined) return;\r\n\r\n const settingsTotNotification = (data) => {\r\n\r\n const notificationListFe = notificationListForFe(data.Result);\r\n\r\n if (notificationListFe.length > 0) {\r\n setNotificationList(notificationListFe);\r\n }\r\n }\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getNotification,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json-patch+json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormattedNotificationGet(tokenCtx.token, new Date())),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRequest.sendRequest(request, settingsTotNotification);\r\n }, [tokenCtx.token, refresh]);\r\n\r\n const refreshCountAndNotification = () => {\r\n setRefresh(prev => !prev);\r\n }\r\n\r\n return (\r\n <React.Fragment>\r\n <div className=\"dropdown\">\r\n <a className=\"itool\" role={\"button\"} /*data-toggle=\"dropdown\"*/>\r\n <span className=\"icon icon-notification\"></span>\r\n <span className=\"badge\">{notificationNumber}</span>\r\n </a>\r\n <div className={`dropdown-menu dropdown-menu-right ${props.clickNotifyButton ? \"show\" : \"\"}`}>\r\n <div className=\"dropdown-menu-head\">\r\n <div className=\"dropdown-menu-head-top\">\r\n <span className=\"dropdown-menu-head-title\">\r\n Notifiche\r\n </span>\r\n\r\n <Link className=\"card-search-goto\" to=\"/notifiche\">\r\n Vedi tutte\r\n <span className=\"icon icon-arrow-right-small\"></span>\r\n </Link>\r\n </div>\r\n </div>\r\n\r\n <NotificationsList isLarge={false} notificationList={notificationList} refreshCountAndNotification={refreshCountAndNotification} />\r\n </div>\r\n </div>\r\n </React.Fragment>\r\n );\r\n};\r\n\r\nexport default Notifiche;","import React, { useContext } from \"react\";\r\nimport { NavLink, useNavigate } from \"react-router-dom\";\r\nimport AuthContext from \"../../../../store/auth-context\";\r\nimport {config} from \"../../../../constants/Constants\";\r\n\r\nconst Profilo = (props) => {\r\n\r\n const authCtx = useContext(AuthContext);\r\n const navigate = useNavigate();\r\n\r\n const logoutHandler = () => {\r\n if (authCtx.isLoggedIn)\r\n window.open(config.logout,\"_self\")\r\n //authCtx.onLogout(true);\r\n //navigate('/');\r\n };\r\n\r\n return (\r\n <React.Fragment>\r\n <div className=\"dropdown\" style={{display: props.isIntegrateInBD ? 'none' : 'block' }}>\r\n <a className=\"itool\" role=\"button\" /*data-toggle=\"dropdown\"*/ >\r\n <span className=\"icon icon-user\"></span>\r\n </a>\r\n\r\n <div className={`dropdown-menu dropdown-menu-right ${props.clickButton ? \"show\" : \"\"}`}>\r\n <div className=\"dropdown-menu-head\">\r\n <span className=\"dropdown-menu-head-title\">\r\n {authCtx.username}\r\n </span>\r\n </div>\r\n\r\n <NavLink className=\"licon\" to=\"/area-personale/profilo\">\r\n Il mio profilo\r\n <span className=\"icon icon-user\"></span>\r\n </NavLink>\r\n\r\n <NavLink className=\"licon\" to=\"/area-personale/notifiche\">\r\n Le mie notifiche\r\n <span className=\"icon icon-notification\"></span>\r\n </NavLink>\r\n\r\n <div className=\"dropdown-menu-foot\" onClick={logoutHandler}>\r\n <a className=\"licon\" >\r\n <div>Log out <span className=\"icon icon-logout\"></span></div>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </React.Fragment>\r\n );\r\n};\r\n\r\nexport default Profilo;","import { useContext } from \"react\"\r\nimport { config } from \"../constants/Constants\";\r\nimport AuthContext from \"../store/auth-context\";\r\nimport TokenContext from \"../store/token-context\";\r\nimport useHttpRequest from \"./http-request\";\r\n\r\nconst useManangeNoteAndTagOnReader = () => {\r\n\r\n const sendRqst = useHttpRequest();\r\n const tokenCtx = useContext(TokenContext);\r\n const loginCtx = useContext(AuthContext)\r\n\r\n const trueSave = (name, data, genericFunc) => {\r\n\r\n const savedData = (data) => {\r\n if (data.err === null || data.err === undefined) genericFunc(data);\r\n\r\n else genericFunc(null);\r\n }\r\n\r\n const bodyFormatted = {\r\n data,\r\n type: name,\r\n token: tokenCtx.token\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.save,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json-patch+json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, savedData, false);\r\n }\r\n\r\n const setDeleteConfig = (obj, genericFunc) => {\r\n\r\n const finishToDelete = (data) => {\r\n\r\n genericFunc(data);\r\n }\r\n\r\n const bodyFormatted = {\r\n token: tokenCtx.token,\r\n id: obj.prop1\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.delete,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json-patch+json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, finishToDelete, false);\r\n };\r\n\r\n const getDocumentEditWithNotes = (name, obj, blockOrNotContent, genericFunc) => {\r\n\r\n const saveObj = (data) => {\r\n\r\n if (data.Result !== null) return genericFunc(data);\r\n\r\n trueSave(name, { idprovvedimento: obj.prop1, iddocumento: obj.prop2, iddoctype: obj.prop3, documentText: obj.prop4 }, genericFunc);\r\n };\r\n\r\n if (tokenCtx.token === null || !blockOrNotContent) return;\r\n\r\n let query = {\r\n tipo: name,\r\n appId: config.appId,\r\n \"data.idprovvedimento\": obj.prop1,\r\n \"data.iddocumento\": obj.prop2,\r\n \"data.iddoctype\": obj.prop3\r\n };\r\n\r\n const bodyFormatted = {\r\n excludeUserKey: false,\r\n fields: {},\r\n pageNumber: 1,\r\n pageSize: 999,\r\n sort: null,\r\n query: query,\r\n getTotalDocs: false,\r\n token: tokenCtx.token,\r\n encryptParams: [\"query.userKey\"]\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.find,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json-patch+json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, saveObj, false);\r\n };\r\n\r\n const getNotesConfig = (name, obj, blockOrNotContent, genericFunc) => {\r\n\r\n const settingsNote = (data) => {\r\n\r\n genericFunc(data);\r\n }\r\n\r\n if (tokenCtx.token === null || !blockOrNotContent) return;\r\n\r\n let query = {\r\n tipo: name,\r\n appId: config.appId,\r\n };\r\n\r\n if (Object.keys(obj).length > 0) {\r\n query = {\r\n ...query,\r\n \"data.idprovvedimento\": obj.prop1,\r\n //\"data.iddocumento\": obj.prop2,\r\n \"data.iddoctype\": obj.prop3\r\n }\r\n }\r\n\r\n const bodyFormatted = {\r\n excludeUserKey: false,\r\n fields: {},\r\n pageNumber: 1,\r\n pageSize: 999,\r\n sort: null,\r\n query: query,\r\n getTotalDocs: false,\r\n token: tokenCtx.token,\r\n encryptParams: [\"query.userKey\"]\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.find,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json-patch+json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, settingsNote, false);\r\n };\r\n\r\n const getGenericTagConfig = (name, obj, genericFunc) => {\r\n\r\n const settingsNote = (data) => {\r\n\r\n genericFunc(data);\r\n }\r\n\r\n if (tokenCtx.token === null) return;\r\n\r\n let query = {\r\n tipo: name,\r\n appId: config.appId,\r\n };\r\n\r\n /*if(Object.keys(obj).length > 0) {\r\n query = {\r\n ...query,\r\n \"\": obj.prop1,\r\n }\r\n }*/\r\n\r\n const bodyFormatted = {\r\n excludeUserKey: false,\r\n fields: {},\r\n pageNumber: 1,\r\n pageSize: 999,\r\n sort: null,\r\n query: query,\r\n distinctField: obj.prop1,\r\n getTotalDocs: false,\r\n token: tokenCtx.token,\r\n encryptParams: [\"query.userKey\"]\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.find,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json-patch+json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, settingsNote, false);\r\n };\r\n\r\n const updateDocumentConfig = (documentToUpd, genericFunc) => {\r\n\r\n const updatedDocument = (data) => {\r\n\r\n genericFunc(data);\r\n }\r\n\r\n if (tokenCtx.token === null) return;\r\n\r\n const bodyFormatted = {\r\n id: documentToUpd._id.$oid,\r\n type: documentToUpd.tipo,\r\n data: documentToUpd.data,\r\n token: tokenCtx.token\r\n }\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.update,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json-patch+json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, updatedDocument, false);\r\n\r\n }\r\n\r\n const saveOrUpdateNoteConfig = (oldNotes, updatedNotes, idOfDocument, name, genericFunc) => {\r\n\r\n if (oldNotes.data.note.length === 0) {\r\n const objToSave = {\r\n ...idOfDocument,\r\n prop6: updatedNotes\r\n };\r\n saveNewNoteConfig(objToSave, name, genericFunc);\r\n return;\r\n }\r\n\r\n oldNotes.data.note = updatedNotes;\r\n updateNotesConfig(oldNotes, name, genericFunc);\r\n }\r\n\r\n const saveNewNoteConfig = (obj, name, genericFunc) => {\r\n\r\n const savedData = (data) => {\r\n if (data.err === null || data.err === undefined) genericFunc(data);\r\n\r\n else genericFunc(null);\r\n }\r\n\r\n const bodyFormatted = {\r\n data: {\r\n idprovvedimento: obj.prop1,\r\n iddocumento: obj.prop2,\r\n iddoctype: obj.prop3,\r\n bookTitle: obj.prop4,\r\n documentTitle: obj.prop5,\r\n note: obj.prop6\r\n },\r\n type: name,\r\n token: tokenCtx.token\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.save,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json-patch+json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, savedData, false);\r\n\r\n }\r\n\r\n const updateNotesConfig = (oldNotes, name, genericFunc) => {\r\n\r\n const updatedNotes = (data) => {\r\n genericFunc(data);\r\n }\r\n\r\n if (tokenCtx.token === null) return;\r\n\r\n const bodyFormatted = {\r\n id: oldNotes._id.$oid,\r\n type: name,\r\n data: oldNotes.data,\r\n token: tokenCtx.token\r\n }\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.update,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json-patch+json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, updatedNotes, false);\r\n }\r\n\r\n return {\r\n getDocumentEditWithNotes: getDocumentEditWithNotes,\r\n updateDocument: updateDocumentConfig,\r\n saveOrUpdateNote: saveOrUpdateNoteConfig,\r\n getNotes: getNotesConfig,\r\n getGenericTag: getGenericTagConfig,\r\n updateNotes: updateNotesConfig,\r\n setDelete: setDeleteConfig\r\n };\r\n}\r\n\r\nexport default useManangeNoteAndTagOnReader;","import React from \"react\";\r\nimport { Multiselect } from 'multiselect-react-dropdown';\r\n\r\n\r\nconst GenericDropdownList = (props) => {\r\n\r\n const addElement = (selectedItem) => {\r\n props.addElement(selectedItem);\r\n }\r\n\r\n const removeElement = (removedItem) => {\r\n props.removeElement(removedItem);\r\n }\r\n\r\n return (\r\n <React.Fragment>\r\n <Multiselect\r\n options={props.dropdownlist}\r\n selectedValues={props.ArraySelectedOptions}\r\n singleSelect={props.singleSelect}\r\n showCheckbox={props.showCheckbox}\r\n showArrow={true}\r\n displayValue=\"name\"\r\n onSelect={addElement}\r\n onRemove={removeElement}\r\n />\r\n </React.Fragment>\r\n )\r\n}\r\n\r\nexport default GenericDropdownList;","import React, { useRef, useEffect } from \"react\";\r\n\r\n/**\r\n * Hook that alerts clicks outside of the passed ref\r\n */\r\nconst useOutsideAlerter = (ref, closeAllMenu) => {\r\n\r\n\r\n useEffect(() => {\r\n /**\r\n * Alert if clicked on outside of element\r\n */\r\n function handleClickOutside(event) {\r\n if (ref.current && !ref.current.contains(event.target)) {\r\n closeAllMenu();\r\n return;\r\n }\r\n }\r\n // Bind the event listener\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n return () => {\r\n // Unbind the event listener on clean up\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, [ref]);\r\n}\r\n\r\n/**\r\n * Component that alerts if you click outside of it\r\n */\r\nexport default function OutsideAlerter(props) {\r\n const wrapperRef = useRef(null);\r\n\r\n useOutsideAlerter(wrapperRef, props.closeAllMenu);\r\n\r\n return <div ref={wrapperRef}>{props.children}</div>;\r\n}","import React, { useContext } from \"react\";\r\nimport Notifiche from \"./Notifiche/Notifiche\";\r\nimport Profilo from \"./Profilo/Profilo\";\r\nimport { NavLink } from 'react-router-dom';\r\nimport AuthContext from \"../../../store/auth-context\";\r\nimport { useEffect } from \"react\";\r\nimport { useState } from \"react\";\r\nimport useManangeNoteAndTagOnReader from \"../../../hooks/useManageNoteAndTagOnReader\";\r\nimport { config } from \"../../../constants/Constants\";\r\nimport TokenContext from \"../../../store/token-context\";\r\nimport GenericDropdownList from \"../../UI/GenericDropdownlist/GenericDropdownList\";\r\nimport OutsideAlerter from \"../../../hooks/outsideClickHook\";\r\n\r\nconst UserAction = (props) => {\r\n\r\n const authCtx = useContext(AuthContext);\r\n const tokenCtx = useContext(TokenContext);\r\n const noteAndTag = useManangeNoteAndTagOnReader();\r\n\r\n const [isDisabled, setIsDisabled] = useState(true);\r\n const [disabledMyNotes, setDisabledMyNotes] = useState(true);\r\n const [clickButton, setClickButton] = useState(false);\r\n const [clickNotifyButton, setClickNotifyButton] = useState(false);\r\n const [modules, setModules] = useState([]);\r\n const [arrayToken, setArrayToken] = useState([]);\r\n const [updateToken, setUpdateToken] = useState(false);\r\n\r\n const url = window.location.href.split(\"/\");\r\n\r\n const showLogin = () => {\r\n if (!authCtx.isLoggedIn)\r\n authCtx.showModalLog(true);\r\n }\r\n\r\n useEffect(() => {\r\n\r\n if (authCtx.isLoggedIn)\r\n setIsDisabled(false);\r\n\r\n }, [authCtx.isLoggedIn]);\r\n\r\n useEffect(() => {\r\n\r\n let delayFunction = setTimeout(() => {\r\n const activeElement = (data) => {\r\n\r\n if (data.Result.Documents.length > 0)\r\n setDisabledMyNotes(false);\r\n }\r\n\r\n noteAndTag.getNotes(config.nameList.note, {}, true, activeElement);\r\n }, 200);\r\n\r\n return () => clearTimeout(delayFunction);\r\n\r\n }, [authCtx.isLoggedIn, tokenCtx.token]);\r\n\r\n const setClick = (ev) => {\r\n ev.preventDefault();\r\n setClickButton(prev => !prev);\r\n setClickNotifyButton(false);\r\n };\r\n\r\n const setClickNotify = (ev) => {\r\n ev.preventDefault();\r\n setClickNotifyButton(prev => !prev);\r\n setClickButton(false);\r\n };\r\n\r\n useEffect(() => {\r\n\r\n if (tokenCtx.modulesComplete.length === 0 || (tokenCtx.userType < 3 && tokenCtx.userType > 4))\r\n return;\r\n\r\n let array = [];\r\n\r\n tokenCtx.modulesComplete.forEach(el => {\r\n array.push({\r\n id: el['@id'],\r\n name: el['@name']\r\n });\r\n });\r\n\r\n setModules(array);\r\n }, [tokenCtx.userType, tokenCtx.modulesComplete]);\r\n\r\n useEffect(() => {\r\n\r\n\r\n if (arrayToken.length === 0 && (!authCtx.isLoggedIn || (tokenCtx.userType < 3 || tokenCtx.userType > 4) || !updateToken)) return;\r\n\r\n if (arrayToken.length === 0) {\r\n tokenCtx.loadDynToken();\r\n setUpdateToken(false);\r\n tokenCtx.setSelectedValuesToken([]);\r\n return;\r\n }\r\n\r\n tokenCtx.setSelectedValuesToken(arrayToken);\r\n let modulesSelected = [];\r\n\r\n arrayToken.forEach(el => {\r\n modulesSelected.push(el.id);\r\n });\r\n\r\n tokenCtx.loadDynToken(true, modulesSelected, true);\r\n setUpdateToken(false);\r\n }, [updateToken, arrayToken]);\r\n\r\n const addElement = (addItem) => {\r\n setArrayToken(addItem);\r\n setUpdateToken(true);\r\n }\r\n\r\n const removeElement = (removeItem) => {\r\n setArrayToken(removeItem);\r\n setUpdateToken(true);\r\n }\r\n\r\n const closeAllMenu = () => {\r\n setClickButton(false);\r\n setClickNotifyButton(false);\r\n }\r\n\r\n return (\r\n <React.Fragment>\r\n <div className=\"mhead-nav\">\r\n <ul className=\"list-inline list-inline--large\">\r\n\r\n {(authCtx.isLoggedIn && (tokenCtx.userType === 3 || tokenCtx.userType === 4) && modules.length > 0) &&\r\n <li className=\"list-inline-item d-none d-lg-inline-block\">\r\n <GenericDropdownList\r\n dropdownlist={modules}\r\n ArraySelectedOptions={tokenCtx.selectedValuesToken}\r\n singleSelect={false}\r\n showCheckbox={true}\r\n addElement={addElement}\r\n removeElement={removeElement}\r\n />\r\n </li>\r\n }\r\n {url[3] !== \"\" &&\r\n <li className=\"list-inline-item d-none d-lg-inline-block\">\r\n <NavLink className=\"nav-link\" to=\"/\">\r\n Home\r\n </NavLink>\r\n </li>\r\n }\r\n <li className=\"list-inline-item d-none d-lg-inline-block\">\r\n <NavLink className=\"nav-link\" to=\"/ricerca\">\r\n Ricerca\r\n </NavLink>\r\n </li>\r\n <li className=\"list-inline-item d-none d-lg-inline-block\">\r\n <NavLink className=\"nav-link\" to=\"/qr\">\r\n Attiva un libro\r\n </NavLink>\r\n </li>\r\n <li className={\"list-inline-item d-none d-lg-inline-block\"}>\r\n <NavLink className={`nav-link${isDisabled || !tokenCtx.isSubscribed ? \" is-disabled\" : \"\"}`} to=\"/miei-libri\">\r\n I miei libri\r\n </NavLink>\r\n </li>\r\n\r\n <li className={\"list-inline-item d-none d-lg-inline-block\"}>\r\n <NavLink className={`nav-link${disabledMyNotes ? \" is-disabled\" : \"\"}`} to=\"/mie-note\">\r\n Le mie note\r\n </NavLink>\r\n </li>\r\n <OutsideAlerter closeAllMenu={closeAllMenu}>\r\n {authCtx.isLoggedIn &&\r\n <li className=\"list-inline-item\" onClick={setClickNotify}>\r\n <Notifiche clickNotifyButton={clickNotifyButton}></Notifiche>\r\n </li>\r\n }\r\n {!authCtx.isLoggedIn &&\r\n <a className=\"btn btn--icon-left btn--icon-big\" href=\"#modal-login\" data-toggle=\"modal\" onClick={showLogin}>\r\n Accedi\r\n <span className=\"icon icon-user\"></span>\r\n </a>\r\n }\r\n {authCtx.isLoggedIn &&\r\n <li className=\"list-inline-item\" onClick={setClick}>\r\n <Profilo clickButton={clickButton}></Profilo>\r\n </li>\r\n }\r\n </OutsideAlerter>\r\n </ul>\r\n </div>\r\n </React.Fragment >\r\n );\r\n};\r\n\r\nexport default UserAction;","import React from \"react\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport Book24Link from \"../../UI/Book24Link/Book24Link\";\r\nimport Sole24Link from \"../../UI/Sole24Link/Sole24Link\";\r\nimport UserAction from \"../UserAction/UserAction\";\r\n\r\nconst MiniHeader = (props) => {\r\n \r\n const openHambMenu = (ev) => {\r\n ev.preventDefault();\r\n\r\n document.body.classList.add(\"is-drawer-in\");\r\n }\r\n\r\n return (\r\n <React.Fragment>\r\n <div className=\"mhead-sticky\">\r\n <div className=\"mhead-top\" style={{display: props.isIntegrateInBD ? 'none' : 'block' }}>\r\n <div className=\"container\">\r\n <div className=\"mhead-wrapper\">\r\n\r\n <a className=\"mhead-menu\" role={\"button\"} data-toggle-class=\"is-drawer-in\" onClick={openHambMenu}>\r\n <span className=\"icon icon-menu\"></span>\r\n <span className=\"mhead-menu-label\">Naviga</span>\r\n </a>\r\n\r\n <div className=\"mhead-nav nav-lined nav-lined--logo\">\r\n <Book24Link/>\r\n {props.showLogoSole && <Sole24Link/>}\r\n </div>\r\n \r\n <UserAction></UserAction>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n {/*<span className=\"drawer-backdrop\" data-toggle-class=\"is-drawer-in\"></span>*/}\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default MiniHeader;","import React from 'react';\r\n\r\nconst HeaderWrapper = (props) => {\r\n\r\nreturn(\r\n <React.Fragment>\r\n <div className={`mhead mhead--${props.classSticky === undefined ? \"hp\" : \"sticky\"}`} data-main-header=\"\">\r\n {props.children}\r\n </div>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default HeaderWrapper;","import React from \"react\";\r\nimport Book24Link from \"../../UI/Book24Link/Book24Link\";\r\nimport Sole24Link from \"../../UI/Sole24Link/Sole24Link\";\r\nimport UserAction from \"../UserAction/UserAction\";\r\n\r\nconst HeaderFirstRowMinified = (props) => {\r\n\r\n const openHambMenu = (ev) => {\r\n ev.preventDefault();\r\n\r\n document.body.classList.add(\"is-drawer-in\");\r\n }\r\n\r\n return (\r\n <React.Fragment>\r\n <div className=\"mhead-top\" style={{display: props.isIntegrateInBD ? 'none' : 'block' }}>\r\n <div className=\"container\">\r\n <div className=\"mhead-wrapper\">\r\n <a className=\"mhead-menu\" role=\"button\" data-toggle-class=\"is-drawer-in\" onClick={openHambMenu}>\r\n <span className=\"icon icon-menu\"></span>\r\n <span className=\"mhead-menu-label\">Naviga</span>\r\n </a>\r\n\r\n <div className=\"mhead-nav nav-lined nav-lined--logo\">\r\n <Book24Link/>\r\n {props.showLogoSole && <Sole24Link/>}\r\n </div>\r\n \r\n <UserAction></UserAction>\r\n </div>\r\n </div>\r\n </div>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default HeaderFirstRowMinified;","import React from 'react';\r\nimport { NavLink } from 'react-router-dom';\r\nimport UserAction from '../UserAction/UserAction';\r\n\r\nconst HeaderFirstRow = (props) => {\r\n\r\n return (\r\n <React.Fragment>\r\n <div className=\"mhead-top\" style={{display: props.isIntegrateInBD ? 'none' : 'block' }}>\r\n <div className=\"container\">\r\n <div className=\"mhead-wrapper\">\r\n <div className=\"mhead-nav nav-lined nav-lined--logo\">\r\n <NavLink className=\"nav-link d-none d-md-block\" to=\"/\">\r\n <img className=\"nav-logo\" src=\"/dist/img/ilsole24ore.svg\" alt=\"il Sole 24 ORE\" />\r\n </NavLink>\r\n </div>\r\n <UserAction></UserAction>\r\n </div>\r\n </div>\r\n </div>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default HeaderFirstRow;","import React, { useRef, useState } from 'react';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport Book24Link from '../../UI/Book24Link/Book24Link';\r\n\r\nconst HeaderSecondRow = () => {\r\n\r\n const [wordToSearch, setWordToSearch] = useState('');\r\n\r\n const navigate = useNavigate();\r\n\r\n const searchHandler = (ev) => {\r\n\r\n if (ev.code === 'Enter') goToResearch(ev);\r\n\r\n setWordToSearch(ev.target.value);\r\n }\r\n const deleteLocalStorage = () => {\r\n localStorage.removeItem(\"filters\");\r\n localStorage.removeItem(\"revOrRec\");\r\n localStorage.removeItem(\"isUpdated\");\r\n localStorage.removeItem(\"year\");\r\n localStorage.removeItem(\"search category\");\r\n }\r\n const goToResearch = (ev) => {\r\n ev.preventDefault();\r\n deleteLocalStorage();\r\n\r\n const newWord = wordToSearch.trim();\r\n\r\n if (newWord !== undefined) {\r\n localStorage.setItem('word', newWord);\r\n navigate(`/ricerca/${1}`);\r\n }\r\n }\r\n\r\n return (\r\n <React.Fragment>\r\n <div className=\"mhead-main\">\r\n <div className=\"container\">\r\n <div className=\"mhead-wrapper\">\r\n <div className=\"mhead-logo\">\r\n <Book24Link/>\r\n </div>\r\n <div className=\"mhead-search\">\r\n <div className=\"search-input\">\r\n <input className=\"input input--round input--shadow\" type=\"text\" placeholder=\"Cerca in Book24ORE\" onKeyUp={searchHandler}/>\r\n <button className=\"search-input-submit\" type=\"submit\" onClick={goToResearch}>\r\n <span className=\"icon icon-search\"></span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default HeaderSecondRow;","import React from 'react';\r\nimport MiniHeader from './MiniHeader/MiniHeader';\r\nimport HeaderWrapper from './HeaderWrapper/HeaderWrapper';\r\nimport HeaderFirstRowMinified from './HeaderFirstRowMinified/HeaderFirstRowMinified';\r\nimport HeaderFirstRow from './HeaderFirstRow/HeaderFirstRow';\r\nimport HeaderSecondRow from './HeaderSecondRow/HeaderSecondRow';\r\n\r\nconst Header = (props) => {\r\n\r\n \r\n return (\r\n <React.Fragment>\r\n <HeaderWrapper classSticky={props.classSticky}>\r\n {(props.showSecondRow && props.isDesktop) &&\r\n <HeaderFirstRow isIntegrateInBD={props.isIntegrateInBD}></HeaderFirstRow>\r\n }\r\n {!props.showSecondRow &&\r\n <HeaderFirstRowMinified showLogoSole={props.showLogoSole} isIntegrateInBD={props.isIntegrateInBD}></HeaderFirstRowMinified>\r\n }\r\n\r\n {(props.showSecondRow && props.isDesktop) && <HeaderSecondRow></HeaderSecondRow>}\r\n </HeaderWrapper>\r\n {props.showSecondRow && <MiniHeader showLogoSole={props.showLogoSole} isIntegrateInBD={props.isIntegrateInBD}></MiniHeader>}\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default Header;","import { config } from \"../constants/Constants\";\r\nimport { addSubjects } from \"./helper\";\r\n\r\nexport const bodyFormattedResearch = (filters, wordToSearch, revOrRec, tokenCtx, onlyMyBook, isUpdated, isFirstLevel, isFrizzera, year, auth, changeCategory) => {\r\n\r\n const onlyMyB = onlyMyBook === \"true\" || onlyMyBook === true;\r\n\r\n let queryExt = config.Research.queryExtFirstPiece;\r\n\r\n if (isFirstLevel) {\r\n const materia = filters.length === 0 ? '' : \"materia:(\".concat(addSubjects(filters)).concat(\")\");\r\n queryExt = queryExt.concat(materia !== '' ? 'AND '.concat(materia) : '');\r\n if (isUpdated) {\r\n queryExt = queryExt.concat(config.Research.queryExtIsUpdated);\r\n }\r\n if (year !== \"tutti\") {\r\n if (year > 2019)\r\n queryExt = queryExt.concat('AND ').concat(`data:[${year}-01-01T00:00:00Z TO ${year}-12-31T23:59:59Z]`);\r\n else\r\n queryExt = queryExt.concat('AND ').concat(`numero:${year}`);\r\n }\r\n } else {\r\n const idProv = filters.length === 0 ? '' : `${isFrizzera === \"1\" ? 'idperiodico' : 'idprovvedimento'}:(${filters[0]})`;\r\n queryExt = queryExt.concat(idProv !== '' ? 'AND '.concat(idProv) : '');\r\n }\r\n\r\n let parameters = {\r\n parameters:\r\n {\r\n \"useNLPR\": false,\r\n \"excludeNotSearchablePackets\": true,\r\n \"order\": revOrRec[0],\r\n \"orderLucene\": revOrRec[1],\r\n \"groups\": isFirstLevel ? true : false,\r\n \"invokePush\": false,\r\n \"queryLucene\": \"\",\r\n \"queryWord\": wordToSearch,\r\n \"queryExt\": queryExt,\r\n \"extraFacet\": \"\",\r\n \"didYouMean\": false,\r\n \"rows\": 100,\r\n \"start\": 0,\r\n \"enableQD\": false,\r\n \"modulo24Embedded\": false,\r\n \"addQueryExtBuca\": false,\r\n \"use_pcpa\": false,\r\n \"pacchettiRicercaEstremi\": \"\",\r\n \"excludeNotSearchablePacketsEstremi\": false,\r\n \"getNovitaCount\": false,\r\n \"staticToken\": (!onlyMyB || !isFirstLevel) ? config.token.STATIC_TOKEN : '',\r\n \"queryBiblioteca\": true,\r\n \"coreDocType\": (isFirstLevel) ? changeCategory : null\r\n },\r\n \"token\": (onlyMyB && isFirstLevel) ? tokenCtx.token : ''\r\n };\r\n if (changeCategory === 4) {\r\n parameters.parameters.rows = 200\r\n }\r\n if (changeCategory === 3) {\r\n parameters = {\r\n parameters:\r\n {\r\n ...parameters.parameters,\r\n facet: \"provbiblio\",\r\n facetMinCount: 1,\r\n facetSortIndex: true,\r\n hierarchical: false,\r\n facetPrefix: 0\r\n },\r\n token: parameters.token\r\n }\r\n }\r\n\r\n return parameters;\r\n}\r\n\r\nexport const bodyFormattedAcquista = (idProvvedimenti, idDocType, token) => {\r\n\r\n const tokenNotExist = token.token === undefined || token.token === null || token.token === \"\";\r\n return {\r\n parameters: {\r\n name: config.nameList.getBuyOrNot,\r\n inputParameters: [\r\n {\r\n name: \"idprovvedimento\",\r\n type: \"VarChar\",\r\n value: idProvvedimenti\r\n },\r\n {\r\n name: \"iddoctype\",\r\n type: \"VarChar\",\r\n value: idDocType\r\n },\r\n {\r\n name: \"bypass\",\r\n type: \"Int\",\r\n value: tokenNotExist ? 1 : 0\r\n }\r\n ],\r\n staticToken: tokenNotExist ? config.token.STATIC_TOKEN : \"\"\r\n },\r\n token: tokenNotExist ? \"\" : token.token\r\n }\r\n}","import { config } from \"../constants/Constants\";\r\nimport { mustToken } from \"./helper\";\r\n\r\nexport const createArrayInputParams = (id) => {\r\n\r\n return [{\r\n name: \"iddocumento\",\r\n type: \"Int\",\r\n value: id\r\n }];\r\n};\r\n\r\nexport const bodyFormatted = (name, id, tokenCtx, useDynamicToken=false) => {\r\n\r\n return {\r\n parameters: {\r\n name: name,\r\n inputParameters: createArrayInputParams(id),\r\n staticToken: useDynamicToken ? '' : config.token.STATIC_TOKEN,\r\n },\r\n token: useDynamicToken ? tokenCtx.token : '',\r\n };\r\n\r\n};\r\n\r\nexport const bodyFormattedRelDoc = (docId, rows, tokenCtx) => {\r\n return {\r\n parameters: {\r\n documentId: docId,\r\n rows: rows,\r\n staticToken: tokenCtx ? '' : config.token.STATIC_TOKEN,\r\n },\r\n token: tokenCtx ? tokenCtx : ''\r\n };\r\n};\r\n\r\nexport const bodyFormattedRefDoc = (docId, correlati, tokenCtx) => {\r\n return {\r\n parameters: {\r\n idDocumento: docId,\r\n correlati: correlati\r\n },\r\n token: tokenCtx ? tokenCtx : ''\r\n };\r\n};\r\nexport const bodyFormattedSumm = (ind_summ, node_indx_summ, tokenCtx, name) => {\r\n\r\n let wantDynamicToken = name === undefined ? '' : name;\r\n return {\r\n parameters: {\r\n packages: \"\",\r\n taxId: ind_summ,\r\n taxParentId: node_indx_summ,\r\n leafDocuments: false,\r\n use_pcpa: true,\r\n start: 0,\r\n rows: 9999,\r\n staticToken: mustToken(wantDynamicToken) ? '' : config.token.STATIC_TOKEN,\r\n },\r\n token: mustToken(wantDynamicToken) ? tokenCtx.token : ''\r\n };\r\n};\r\n\r\nexport const bodyFormattedLeafDocuments = (ind_summ, node_indx_summ, tokenCtx, name) => {\r\n\r\n let wantDynamicToken = name === undefined ? '' : name;\r\n return {\r\n parameters: {\r\n taxId: ind_summ,\r\n nodeId: node_indx_summ,\r\n start: 0,\r\n rows: 9999,\r\n staticToken: mustToken(wantDynamicToken) ? '' : config.token.STATIC_TOKEN,\r\n },\r\n token: mustToken(wantDynamicToken) ? tokenCtx.token : ''\r\n };\r\n};\r\n\r\nexport const bodyFormattedSummSmart = (idProv, iddoctype, tokenCtx, withDynamicToken) => {\r\n\r\n return {\r\n parameters: {\r\n provvId: idProv,\r\n docTypeId: iddoctype,\r\n full: true,\r\n staticToken: withDynamicToken ? '' : config.token.STATIC_TOKEN,\r\n },\r\n token: withDynamicToken ? tokenCtx.token : ''\r\n };\r\n}\r\n\r\nexport const getRequestSumm = (id, type_summ, ind_summ, node_indx_summ, idProv, iddoctype, tokenCtx, withDynamicToken) => {\r\n\r\n if (type_summ === config.serviceToCall.getTaxonomy.split(\"/\")[1]) {\r\n return {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getTaxonomy,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormattedSumm(ind_summ, node_indx_summ, tokenCtx)),\r\n method: \"POST\"\r\n }\r\n };\r\n } else if (type_summ === config.serviceToCall.getSummarySmart.split(\"/\")[1]) {\r\n return {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getSummarySmart,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormattedSummSmart(idProv, iddoctype, tokenCtx, withDynamicToken)),\r\n method: \"POST\"\r\n }\r\n };\r\n }\r\n}\r\n\r\nexport const castArrayForFE = (array) => {\r\n\r\n let castedArray = [];\r\n\r\n array.forEach((el) => {\r\n castedArray.push({\r\n id: el.Id,\r\n name: el.Description,\r\n parent: el.Parent === null || el.Parent === undefined ? '0' : el.Parent.toString(),\r\n children: [],\r\n leaf: el.Leaf,\r\n documentId: el.Leaf ? el.DocumentId : '',\r\n livello: el.Leaf ? 3 : el.Parent !== null && el.Parent !== undefined && el.Parent !== 0 ? 2 : 1,\r\n });\r\n });\r\n\r\n return castedArray;\r\n};\r\n\r\nexport const formattedLeafArrayForFE = (array) => {\r\n \r\n let arrayCastedForFE= []\r\n\r\n array.forEach(el => {\r\n\r\n arrayCastedForFE.push({\r\n idDoc: el.idDocumento,\r\n idProv: el.idProvvedimento,\r\n idDocType: el.idDocType,\r\n upTitle: el.text1,\r\n object: el.text2,\r\n text: el.abstract,\r\n family: el.famiglia,\r\n subFamily: el.sottoFamiglia\r\n });\r\n })\r\n\r\n return arrayCastedForFE;\r\n};","import React, { useContext, useState } from \"react\";\r\nimport { config } from \"../constants/Constants\";\r\nimport { converObjectForFE, exportAutoriForFE, exportToArrayForFE } from \"../helper/castingObject\";\r\nimport useHttpRequest from \"../hooks/http-request\";\r\nimport TokenContext from \"./token-context\";\r\nimport { bodyFormatted, getRequestSumm, castArrayForFE } from \"../helper/helperFunctionGetDocument\";\r\nimport { mustToken } from \"../helper/helper\";\r\n\r\nconst GetDocumentContext = React.createContext({\r\n id: 0,\r\n prodotto: undefined,\r\n document: '',\r\n typeSumm: '',\r\n indexSumm: '',\r\n pdfSumm: '',\r\n tiPotrebbeInteressare: [],\r\n sommario: []\r\n});\r\n\r\n\r\nexport const GetDocumentContextProvider = (props) => {\r\n\r\n const [id, setId] = useState();\r\n const [pdfSumm, setPdfSumm] = useState();\r\n const [prodotto, setProdotto] = useState(undefined);\r\n const [document, setDocument] = useState('');\r\n const [autori, setAutori] = useState([]);\r\n const [tiPotrebbeInteressare, setTiPotrebbeInteressare] = useState([]);\r\n const [typeSumm, setTypeSumm] = useState(\"\");\r\n const [sommarioArray, setSommarioArray] = useState([]);\r\n const [indexSumm, setIndexSumm] = useState([]);\r\n const [libroPdf, setLibroPdf] = useState([]);\r\n\r\n const sendRqst = useHttpRequest();\r\n const tokenCtx = useContext(TokenContext);\r\n\r\n\r\n const getDocumentoFromIdConfig = (id, withDynamicToken = false) => {\r\n\r\n const settingProdotto = (data) => {\r\n\r\n if (data.Result.ResultSet === null) {\r\n getDocumentoFromIdConfig(id, true)\r\n }\r\n\r\n const productForFe = converObjectForFE(data.Result.ResultSet.Root[0]);\r\n setProdotto(productForFe);\r\n setId(productForFe.idDocument);\r\n setTypeSumm(productForFe.type_summ);\r\n\r\n settingDescrizioneConfig(productForFe);\r\n settingAutoriConfig(productForFe.idDocument);\r\n setIndexSumm(productForFe.ind_summ);\r\n getSommarioConfig(productForFe);\r\n settingLibroPdfConfig(productForFe.idDocument);\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted(config.serviceDocumenti.documento, id, tokenCtx, withDynamicToken)),\r\n method: \"POST\"\r\n }\r\n };\r\n sendRqst.sendRequest(request, settingProdotto);\r\n };\r\n\r\n const settingDescrizioneConfig = (document) => {\r\n\r\n\r\n if (document.type_desc !== 'GetDocument') {\r\n setDocument(document.descrizione);\r\n return;\r\n }\r\n\r\n const descrizione = (data) => {\r\n setDocument(data.Result.TestoDoc);\r\n };\r\n\r\n const bodyFormatted = {\r\n documentId: document.idDocument,\r\n parameters: {\r\n reference: \"false\",\r\n staticToken: mustToken('') ? '' : config.token.STATIC_TOKEN,\r\n },\r\n token: mustToken('') ? tokenCtx.token : '',\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getDocumento,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, descrizione);\r\n };\r\n\r\n const settingAutoriConfig = (id) => {\r\n\r\n const settingAutori = (data) => {\r\n\r\n let autoriForFe = [];\r\n\r\n if (data.Result.ResultSet !== null)\r\n autoriForFe = exportAutoriForFE(data.Result.ResultSet.Root);\r\n\r\n setAutori(autoriForFe);\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted(config.serviceDocumenti.autori, id, tokenCtx)),\r\n method: \"POST\"\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, settingAutori);\r\n };\r\n\r\n const settingLibroPdfConfig = (id) => {\r\n\r\n const settingLibroPdf = (data) => {\r\n\r\n let libropdf = 0;\r\n\r\n if (data.Result.ResultSet !== null)\r\n libropdf = data.Result.ResultSet.Root[0].iddocumento;\r\n\r\n setLibroPdf(libropdf);\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted(config.serviceDocumenti.libroPdf, id, tokenCtx)),\r\n method: \"POST\"\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, settingLibroPdf);\r\n };\r\n\r\n const getListConfig = (name, id) => {\r\n\r\n const setList = (data) => {\r\n const listForFE = exportToArrayForFE(name, data.Result.ResultSet.Root);\r\n\r\n setTiPotrebbeInteressare(listForFE);\r\n };\r\n\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted(config.nameList.tiPotrebbeInteressare, id, tokenCtx)),\r\n method: \"POST\"\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, setList);\r\n\r\n };\r\n\r\n const getSommarioConfig = (productForFe, withDynamicToken = false) => {\r\n\r\n if (productForFe.type_summ === config.getPDF) {\r\n setPdfSumm(productForFe.pdf_summ);\r\n return;\r\n }\r\n\r\n const settingSommarioArray = (data) => {\r\n\r\n if (productForFe.type_summ === config.serviceToCall.getTaxonomy.split(\"/\")[1]){\r\n if(data.Result.CountNodes === 0){\r\n getSommarioConfig(productForFe, true);\r\n }\r\n setSommarioArray(castArrayForFE(data.Result.Nodes));\r\n }\r\n else {\r\n if (data.Result.Documents[0].DocsFound === 0) {\r\n getSommarioConfig(productForFe, true);\r\n }\r\n setSommarioArray(data.Result.Documents[0].Documents);\r\n }\r\n\r\n };\r\n\r\n const request = getRequestSumm(productForFe.id, productForFe.type_summ, productForFe.ind_summ, productForFe.node_indx_summ, productForFe.idProv, productForFe.idDocType, tokenCtx, withDynamicToken);\r\n\r\n sendRqst.sendRequest(request, settingSommarioArray);\r\n };\r\n\r\n const docCtxValue = {\r\n getDocumentoFromId: getDocumentoFromIdConfig,\r\n settingDescrizione: settingDescrizioneConfig,\r\n settingAutori: settingAutoriConfig,\r\n getList: getListConfig,\r\n getLibroPdfConfig: settingLibroPdfConfig,\r\n sommarioArray: sommarioArray,\r\n tiPotrebbeInteressare: tiPotrebbeInteressare,\r\n id: id,\r\n prodotto: prodotto,\r\n descrizione: document,\r\n autori: autori,\r\n typeSumm: typeSumm,\r\n indexSumm: indexSumm,\r\n pdfSumm: pdfSumm,\r\n libroPdf: libroPdf\r\n };\r\n\r\n return <GetDocumentContext.Provider value={docCtxValue}>{props.children}</GetDocumentContext.Provider>\r\n}\r\n\r\nexport default GetDocumentContext;","import React, { useContext, useEffect, useState } from 'react';\r\nimport { Link, NavLink, useLocation } from 'react-router-dom';\r\nimport { titleUrlSlug } from '../../../helper/helper';\r\nimport TokenContext from '../../../store/token-context';\r\nimport GetDocumentContext from \"../../../store/get-documento\";\r\nimport isLoadingContext from \"../../../store/isLoadingcontext\";\r\nimport { config } from \"../../../constants/Constants\";\r\n\r\nconst chooseURL = (title, idProv, idDocType, title_book, titleSummary, libropdf) => {\r\n\r\n switch (title) {\r\n case 'Ultimi aggiornamenti':\r\n return `/reader-updates/${titleUrlSlug(titleSummary)}/`;\r\n case 'Sommario':\r\n return `/reader-summary/${titleUrlSlug(titleSummary)}/`;\r\n case 'software':\r\n return `/arricchimenti/${idDocType}/${idProv}/`;\r\n case 'indice':\r\n return `/index/${titleUrlSlug(title_book)}/`;\r\n case 'Ricerca':\r\n return '/ricerca';\r\n case 'Attiva un libro':\r\n return \"/qr\";\r\n case 'I miei libri':\r\n return \"/miei-libri\";\r\n case 'Le mie note':\r\n return \"/mie-note\";\r\n case 'Descrizione':\r\n return `/reader-descrizione/${titleUrlSlug(titleSummary)}/`;\r\n case 'Autori':\r\n return `/reader-autori/${titleUrlSlug(titleSummary)}/`;\r\n case 'Versione Pdf':\r\n return `/reader/${libropdf}`;\r\n default:\r\n return '/NotFound';\r\n }\r\n}\r\n\r\nconst readerDrawerNotFrizz = [\r\n {\r\n \"text\": \"Descrizione\",\r\n \"span\": \"icon icon-info\",\r\n \"linkClass\": \"drawer-link drawer-link--icon\",\r\n \"type\": \"Descrizione\",\r\n \"obj\": {}\r\n },\r\n {\r\n \"text\": \"Autori\",\r\n \"span\": \"icon icon-edit\",\r\n \"linkClass\": \"drawer-link drawer-link--icon\",\r\n \"type\": \"Autori\",\r\n \"obj\": {},\r\n },\r\n {\r\n \"text\": \"Sommario\",\r\n \"span\": \"icon icon-index\",\r\n \"linkClass\": \"drawer-link--icon\",\r\n \"type\": \"Sommario\",\r\n \"obj\": {}\r\n }, \r\n];\r\n\r\nconst readerDrawerFrizz = [\r\n {\r\n \"text\": \"Descrizione\",\r\n \"span\": \"icon icon-info\",\r\n \"linkClass\": \"drawer-link drawer-link--icon\",\r\n \"type\": \"Descrizione\",\r\n \"obj\": {}\r\n },\r\n {\r\n \"text\": \"Autori\",\r\n \"span\": \"icon icon-edit\",\r\n \"linkClass\": \"drawer-link drawer-link--icon\",\r\n \"type\": \"Autori\",\r\n \"obj\": {},\r\n },\r\n {\r\n \"text\": \"Sommario\",\r\n \"span\": \"icon icon-index\",\r\n \"linkClass\": \"drawer-link--icon\",\r\n \"type\": \"Sommario\",\r\n \"obj\": {},\r\n },\r\n {\r\n \"text\": \"Ultimi aggiornamenti\",\r\n \"span\": \"icon icon-history\",\r\n \"linkClass\": \"drawer-link--icon\",\r\n \"type\": \"Ultimi aggiornamenti\",\r\n \"obj\": {}\r\n }];\r\n\r\nconst MainDrawer = (props) => {\r\n\r\n const id = props?.id ? props.id : 0;\r\n const tokenCtx = useContext(TokenContext);\r\n const documentCtx = useContext(GetDocumentContext);\r\n const isLoadingCtx = useContext(isLoadingContext);\r\n const location = useLocation();\r\n\r\n let classicDrawer = [\r\n { \"text\": \"Ricerca\" },\r\n { \"text\": \"Attiva un libro\" }\r\n ];\r\n const [libroPdf, setLibroPdf] = useState('');\r\n const [readerDrawer, setReaderDrawer] = useState(props.tipoDocument === 'Sistema Frizzera' ? readerDrawerFrizz : readerDrawerNotFrizz)\r\n\r\n const [drawerList, setDrawerList] = useState([]);\r\n\r\n if (props.tipoDocument === 'pdf') {\r\n\r\n const summaryIndex = readerDrawer.findIndex(object => object.text === \"Sommario\");\r\n let newArrayDrawer = [...readerDrawer];\r\n\r\n if (summaryIndex > -1) {\r\n newArrayDrawer.splice(summaryIndex, 1);\r\n setReaderDrawer(newArrayDrawer);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n\r\n isLoadingCtx.setIfIsLoading(true);\r\n if(readerDrawer.findIndex(object => object.text === \"Versione Pdf\")){\r\n documentCtx.getLibroPdfConfig(id);\r\n }\r\n \r\n let getProduct = setTimeout(() => {\r\n documentCtx.getList(config.nameList.tiPotrebbeInteressare, id);\r\n }, 200);\r\n\r\n return () => {\r\n clearTimeout(getProduct);\r\n };\r\n }, [id]);\r\n \r\n\r\n useEffect(() => {\r\n \r\n if (readerDrawer.map(x => x.text).indexOf(\"Versione Pdf\") !== -1) {\r\n return;\r\n }\r\n if (documentCtx.libroPdf != 0 )\r\n {\r\n readerDrawer.push({\r\n \"text\": \"Versione Pdf\",\r\n \"span\": \"icon icon-pdf\",\r\n \"linkClass\": \"drawer-link drawer-link--icon\",\r\n \"type\": \"Versione Pdf\",\r\n \"obj\": {},\r\n \"libropdf\": documentCtx.libroPdf\r\n });\r\n }\r\n })\r\n\r\n useEffect(() => {\r\n\r\n if (tokenCtx.arricchimenti.length === 0 || readerDrawer[0]?.text === \"Arricchimenti\") return;\r\n\r\n if (id !== 0 && props.idProvvedimento && props.idDocType) {\r\n let arricchimento = {};\r\n if (readerDrawer.map(x => x.text).indexOf(\"Arricchimenti\") !== -1) {\r\n return;\r\n }\r\n\r\n tokenCtx.arricchimenti.forEach(element => {\r\n\r\n if (parseInt(element['@idProvvedimento']) === props.idProvvedimento && parseInt(element['@iddoctype']) === props.idDocType) {\r\n \r\n arricchimento = {\r\n \"text\": \"Arricchimenti\",\r\n \"span\": \"icon icon-download\",\r\n \"linkClass\": \"drawer-link--icon\",\r\n \"type\": element['@tipo'],\r\n \"idProv\": element['@idProvvedimento'],\r\n \"idDocType\": element['@iddoctype'],\r\n \"obj\": element,\r\n };\r\n setReaderDrawer(prev => [...prev, arricchimento]);\r\n\r\n if (location.pathname.split(\"/\")[1] === \"reader\")\r\n document.body.classList.add(\"is-drawer-in\");\r\n }\r\n });\r\n }\r\n\r\n }, [tokenCtx.arricchimenti, id]);\r\n\r\n useEffect(() => {\r\n\r\n if (props.isReader) {\r\n setDrawerList(readerDrawer);\r\n return;\r\n }\r\n\r\n if (tokenCtx.token !== null)\r\n classicDrawer = [...classicDrawer, { \"text\": \"I miei libri\" }, { \"text\": \"Le mie note\" }]\r\n\r\n setDrawerList(classicDrawer);\r\n\r\n }, [props.isReader, readerDrawer, tokenCtx])\r\n\r\n return (\r\n <div className=\"drawer-main\">\r\n <ul className=\"list list--large\">\r\n {props.isReader && \r\n drawerList.map(((item, index) => (\r\n <li className=\"list-item\" key={Math.random()}>\r\n {props.title &&\r\n <NavLink reloadDocument\r\n className={`drawer-link ${item.linkClass ? item.linkClass : ''}`}\r\n to={`${chooseURL(item.type, item.idProv, item.idDocType, item.obj['@titolo'], props.title, item.libropdf)}${item.type != 'Versione Pdf' ? id : ''}/${item.type === 'indice' ? item.obj['@idindice'] : ''}`}\r\n state={{ obj: item.obj }}\r\n onClick={() => document.body.classList.remove(\"is-drawer-in\")}\r\n >\r\n {item.text}\r\n {item.span ? <span className={item.span}></span> : ''}\r\n </NavLink>\r\n }\r\n </li>\r\n )))\r\n }\r\n {!props?.isReader &&\r\n drawerList.map(((item, index) => (\r\n <li className=\"list-item\" key={Math.random()}>\r\n <NavLink reloadDocument\r\n className=\"drawer-link\"\r\n to={`${chooseURL(item.text)}`}>\r\n {item.text}\r\n </NavLink>\r\n </li>\r\n )))\r\n }\r\n </ul>\r\n </div>\r\n );\r\n}\r\n\r\nexport default MainDrawer;","import React, { useContext, useRef } from \"react\";\r\nimport { useState } from \"react\";\r\nimport { NavLink, useNavigate } from \"react-router-dom\";\r\nimport { config } from \"../../../constants/Constants\";\r\nimport { convertArrayForFEBuyOrNot } from \"../../../helper/castingObject\";\r\nimport { bodyFormattedAcquista } from \"../../../helper/helperResearch\";\r\nimport useHttpRequest from \"../../../hooks/http-request\";\r\nimport isLoadingContext from \"../../../store/isLoadingcontext\";\r\nimport TokenContext from \"../../../store/token-context\";\r\nimport Book24Link from \"../../UI/Book24Link/Book24Link\";\r\nimport MainDrawer from \"./MainDrawer\";\r\n\r\nconst Ricerca = (props) => {\r\n\r\n const [isActiveHambMenu, setIsActiveHambMenu] = useState(false)\r\n const searchPlaceholder = props.isReader ? 'Cerca nel libro' : 'Cerca in Book24ORE';\r\n const wordToSearch = useRef(null);\r\n const [resultBuyOrNot, setResultBuyOrNot] = useState(null);\r\n const sendRqst = useHttpRequest();\r\n const tokenCtx = useContext(TokenContext);\r\n const loadingCtx = useContext(isLoadingContext);\r\n\r\n const img = props.img === undefined || props.img === \"\" ? config.imgDefaultLibro : props.img;\r\n\r\n const navigate = useNavigate();\r\n\r\n const getBuyOrNot = (ev) => {\r\n\r\n if (ev.key !== 'Enter') return;\r\n\r\n const buyOrNot = (data) => {\r\n\r\n const buyOrNot = convertArrayForFEBuyOrNot(data.Result.ResultSet);\r\n\r\n\r\n goTo(buyOrNot.node);\r\n //setResultResearch(arrayToReturn);\r\n //isLoadingCtx.setIfIsLoading(false, 400);\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE.concat(config.serviceToCall.getProdotti),\r\n req: {\r\n method: 'POST',\r\n headers:\r\n {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormattedAcquista(props.idProvvedimento, props.idDocType, tokenCtx))\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, buyOrNot);\r\n };\r\n\r\n const goTo = (node) => {\r\n\r\n localStorage.setItem(\"img\", img);\r\n localStorage.setItem(\"word\", wordToSearch.current);\r\n localStorage.setItem(\"node\", node);\r\n localStorage.setItem(\"isReader\", true);\r\n localStorage.setItem(\"idDocument\", props.idDoc)\r\n\r\n navigate(`/ricerca/level2/${props.idProvvedimento}/${props.testo}/${props.title}/${props.tipoDocument === \"Sistema Frizzera\" ? 1 : 0}`);\r\n }\r\n\r\n const goToResearchByEnter = (ev) => {\r\n \r\n //ev.preventDefault();\r\n if(ev.key !== \"Enter\") return;\r\n\r\n const newWord = wordToSearch.current.value;\r\n\r\n if (newWord !== undefined) {\r\n localStorage.setItem('word', newWord);\r\n navigate(`/ricerca/${1}`);\r\n }\r\n document.body.classList.remove(\"is-drawer-in\");\r\n }\r\n\r\n const goToResearchByClick = (ev) => {\r\n\r\n if(ev.button !== 0) return;\r\n\r\n const newWord = wordToSearch.current.value;\r\n\r\n if (newWord !== undefined) {\r\n localStorage.setItem('word', newWord);\r\n navigate(`/ricerca/${1}`);\r\n }\r\n document.body.classList.remove(\"is-drawer-in\");\r\n }\r\n\r\n const removeMenu = (ev) => {\r\n ev.preventDefault();\r\n\r\n document.body.classList.remove(\"is-drawer-in\");\r\n }\r\n\r\n return (\r\n <React.Fragment>\r\n <div className={`drawer ${props.isReader ? 'drawer--book' : ''}`}>\r\n <div className=\"drawer-head\">\r\n <Book24Link /*settings={{ reloadDocument: true }}*/ />\r\n\r\n <a className=\"itool\" role=\"button\" data-toggle-class=\"is-drawer-in\" onClick={removeMenu}>\r\n <span className=\"icon icon-cross\"></span>\r\n </a>\r\n </div>\r\n\r\n {props.isReader && props.id &&\r\n <>\r\n <div className=\"drawer-book mhead-reader\">\r\n <figure className=\"card-img \">\r\n <NavLink to={\"/reader/\" + props.id}>\r\n <span className=\"card-img-book\">\r\n <img src={img} alt=\"\" />\r\n </span>\r\n </NavLink>\r\n </figure>\r\n <NavLink to={\"/reader/\" + props.id}>\r\n <span className=\"drawer-book-title mhead-reader-title\">\r\n {props.title}\r\n </span>\r\n </NavLink>\r\n </div>\r\n\r\n <div className=\"drawer-search\">\r\n <div className=\"search-input\">\r\n <input className=\"input input--round input--shadow\" type=\"text\" placeholder={searchPlaceholder} onKeyDown={getBuyOrNot} ref={wordToSearch} />\r\n <button className=\"search-input-submit\" type=\"submit\" onClick={getBuyOrNot}>\r\n <span className=\"icon icon-search\"></span>\r\n </button>\r\n </div>\r\n </div>\r\n </>\r\n }\r\n {!props.isReader &&\r\n <div className=\"drawer-search\">\r\n <div className=\"search-input\">\r\n <input className=\"input input--round input--shadow\" type=\"text\" placeholder={searchPlaceholder} onKeyDown={goToResearchByEnter} ref={wordToSearch} />\r\n <button className=\"search-input-submit\" type=\"submit\" onClick={goToResearchByClick}>\r\n <span className=\"icon icon-search\"></span>\r\n </button>\r\n </div>\r\n </div>\r\n }\r\n\r\n {props.tipoDocument !== null &&\r\n <MainDrawer\r\n isReader={props.isReader}\r\n tipoDocument={props.tipoDocument}\r\n id={props.id}\r\n idProvvedimento={props.idProvvedimento}\r\n idDocType={props.idDocType}\r\n title={props.title}\r\n />\r\n }\r\n\r\n <div className=\"drawer-foot\">\r\n <NavLink className=\"nav-link\" to=\"/\" reloadDocument>\r\n <img className=\"nav-logo\" src=\"/dist/img/ilsole24ore.svg\" alt=\"il Sole 24 ORE\" />\r\n </NavLink>\r\n </div>\r\n </div>\r\n <span className=\"drawer-backdrop\" data-toggle-class=\"is-drawer-in\"/*{isActiveHambMenu ? \"is-drawer-in\": \"\"} onClick={setIsActiveHambMenu(prev => !prev)}*/></span>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default Ricerca;","import React from \"react\";\r\n\r\nconst Wrapper = (props) => {\r\n\r\n return (\r\n <React.Fragment>\r\n <div id='pg-wrapper'>\r\n <div id=\"wrapper\">\r\n {props.children}\r\n </div>\r\n </div>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default Wrapper;","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","export default !!(typeof window !== 'undefined' && window.document && window.document.createElement);","/* eslint-disable no-return-assign */\nimport canUseDOM from './canUseDOM';\nexport var optionsSupported = false;\nexport var onceSupported = false;\n\ntry {\n var options = {\n get passive() {\n return optionsSupported = true;\n },\n\n get once() {\n // eslint-disable-next-line no-multi-assign\n return onceSupported = optionsSupported = true;\n }\n\n };\n\n if (canUseDOM) {\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, true);\n }\n} catch (e) {\n /* */\n}\n\n/**\n * An `addEventListener` ponyfill, supports the `once` option\n * \n * @param node the element\n * @param eventName the event name\n * @param handle the handler\n * @param options event options\n */\nfunction addEventListener(node, eventName, handler, options) {\n if (options && typeof options !== 'boolean' && !onceSupported) {\n var once = options.once,\n capture = options.capture;\n var wrappedHandler = handler;\n\n if (!onceSupported && once) {\n wrappedHandler = handler.__once || function onceHandler(event) {\n this.removeEventListener(eventName, onceHandler, capture);\n handler.call(this, event);\n };\n\n handler.__once = wrappedHandler;\n }\n\n node.addEventListener(eventName, wrappedHandler, optionsSupported ? options : capture);\n }\n\n node.addEventListener(eventName, handler, options);\n}\n\nexport default addEventListener;","/**\n * Returns the owner document of a given element.\n * \n * @param node the element\n */\nexport default function ownerDocument(node) {\n return node && node.ownerDocument || document;\n}","/**\n * A `removeEventListener` ponyfill\n * \n * @param node the element\n * @param eventName the event name\n * @param handle the handler\n * @param options event options\n */\nfunction removeEventListener(node, eventName, handler, options) {\n var capture = options && typeof options !== 'boolean' ? options.capture : options;\n node.removeEventListener(eventName, handler, capture);\n\n if (handler.__once) {\n node.removeEventListener(eventName, handler.__once, capture);\n }\n}\n\nexport default removeEventListener;","import canUseDOM from './canUseDOM';\nvar size;\nexport default function scrollbarSize(recalc) {\n if (!size && size !== 0 || recalc) {\n if (canUseDOM) {\n var scrollDiv = document.createElement('div');\n scrollDiv.style.position = 'absolute';\n scrollDiv.style.top = '-9999px';\n scrollDiv.style.width = '50px';\n scrollDiv.style.height = '50px';\n scrollDiv.style.overflow = 'scroll';\n document.body.appendChild(scrollDiv);\n size = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n }\n }\n\n return size;\n}","import { useState } from 'react';\n/**\n * A convenience hook around `useState` designed to be paired with\n * the component [callback ref](https://reactjs.org/docs/refs-and-the-dom.html#callback-refs) api.\n * Callback refs are useful over `useRef()` when you need to respond to the ref being set\n * instead of lazily accessing it in an effect.\n *\n * ```ts\n * const [element, attachRef] = useCallbackRef<HTMLDivElement>()\n *\n * useEffect(() => {\n * if (!element) return\n *\n * const calendar = new FullCalendar.Calendar(element)\n *\n * return () => {\n * calendar.destroy()\n * }\n * }, [element])\n *\n * return <div ref={attachRef} />\n * ```\n *\n * @category refs\n */\n\nexport default function useCallbackRef() {\n return useState(null);\n}","import { useEffect, useRef } from 'react';\n/**\n * Creates a `Ref` whose value is updated in an effect, ensuring the most recent\n * value is the one rendered with. Generally only required for Concurrent mode usage\n * where previous work in `render()` may be discarded before being used.\n *\n * This is safe to access in an event handler.\n *\n * @param value The `Ref` value\n */\n\nfunction useCommittedRef(value) {\n var ref = useRef(value);\n useEffect(function () {\n ref.current = value;\n }, [value]);\n return ref;\n}\n\nexport default useCommittedRef;","import { useCallback } from 'react';\nimport useCommittedRef from './useCommittedRef';\nexport default function useEventCallback(fn) {\n var ref = useCommittedRef(fn);\n return useCallback(function () {\n return ref.current && ref.current.apply(ref, arguments);\n }, [ref]);\n}","import { useMemo } from 'react';\n\nvar toFnRef = function toFnRef(ref) {\n return !ref || typeof ref === 'function' ? ref : function (value) {\n ref.current = value;\n };\n};\n\nexport function mergeRefs(refA, refB) {\n var a = toFnRef(refA);\n var b = toFnRef(refB);\n return function (value) {\n if (a) a(value);\n if (b) b(value);\n };\n}\n/**\n * Create and returns a single callback ref composed from two other Refs.\n *\n * ```tsx\n * const Button = React.forwardRef((props, ref) => {\n * const [element, attachRef] = useCallbackRef<HTMLButtonElement>();\n * const mergedRef = useMergedRefs(ref, attachRef);\n *\n * return <button ref={mergedRef} {...props}/>\n * })\n * ```\n *\n * @param refA A Callback or mutable Ref\n * @param refB A Callback or mutable Ref\n * @category refs\n */\n\nfunction useMergedRefs(refA, refB) {\n return useMemo(function () {\n return mergeRefs(refA, refB);\n }, [refA, refB]);\n}\n\nexport default useMergedRefs;","import useUpdatedRef from './useUpdatedRef';\nimport { useEffect } from 'react';\n/**\n * Attach a callback that fires when a component unmounts\n *\n * @param fn Handler to run when the component unmounts\n * @category effects\n */\n\nexport default function useWillUnmount(fn) {\n var onUnmount = useUpdatedRef(fn);\n useEffect(function () {\n return function () {\n return onUnmount.current();\n };\n }, []);\n}","import { useRef } from 'react';\n/**\n * Returns a ref that is immediately updated with the new value\n *\n * @param value The Ref value\n * @category refs\n */\n\nexport default function useUpdatedRef(value) {\n var valueRef = useRef(value);\n valueRef.current = value;\n return valueRef;\n}","import ownerWindow from './ownerWindow';\n/**\n * Returns one or all computed style properties of an element.\n * \n * @param node the element\n * @param psuedoElement the style property\n */\n\nexport default function getComputedStyle(node, psuedoElement) {\n return ownerWindow(node).getComputedStyle(node, psuedoElement);\n}","import ownerDocument from './ownerDocument';\n/**\n * Returns the owner window of a given element.\n * \n * @param node the element\n */\n\nexport default function ownerWindow(node) {\n var doc = ownerDocument(node);\n return doc && doc.defaultView || window;\n}","var rUpper = /([A-Z])/g;\nexport default function hyphenate(string) {\n return string.replace(rUpper, '-$1').toLowerCase();\n}","/**\n * Copyright 2013-2014, Facebook, Inc.\n * All rights reserved.\n * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/hyphenateStyleName.js\n */\nimport hyphenate from './hyphenate';\nvar msPattern = /^ms-/;\nexport default function hyphenateStyleName(string) {\n return hyphenate(string).replace(msPattern, '-ms-');\n}","var supportedTransforms = /^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i;\nexport default function isTransform(value) {\n return !!(value && supportedTransforms.test(value));\n}","import getComputedStyle from './getComputedStyle';\nimport hyphenate from './hyphenateStyle';\nimport isTransform from './isTransform';\n\nfunction style(node, property) {\n var css = '';\n var transforms = '';\n\n if (typeof property === 'string') {\n return node.style.getPropertyValue(hyphenate(property)) || getComputedStyle(node).getPropertyValue(hyphenate(property));\n }\n\n Object.keys(property).forEach(function (key) {\n var value = property[key];\n\n if (!value && value !== 0) {\n node.style.removeProperty(hyphenate(key));\n } else if (isTransform(key)) {\n transforms += key + \"(\" + value + \") \";\n } else {\n css += hyphenate(key) + \": \" + value + \";\";\n }\n });\n\n if (transforms) {\n css += \"transform: \" + transforms + \";\";\n }\n\n node.style.cssText += \";\" + css;\n}\n\nexport default style;","import addEventListener from './addEventListener';\nimport removeEventListener from './removeEventListener';\n\nfunction listen(node, eventName, handler, options) {\n addEventListener(node, eventName, handler, options);\n return function () {\n removeEventListener(node, eventName, handler, options);\n };\n}\n\nexport default listen;","import css from './css';\nimport listen from './listen';\nimport triggerEvent from './triggerEvent';\n\nfunction parseDuration(node) {\n var str = css(node, 'transitionDuration') || '';\n var mult = str.indexOf('ms') === -1 ? 1000 : 1;\n return parseFloat(str) * mult;\n}\n\nfunction emulateTransitionEnd(element, duration, padding) {\n if (padding === void 0) {\n padding = 5;\n }\n\n var called = false;\n var handle = setTimeout(function () {\n if (!called) triggerEvent(element, 'transitionend', true);\n }, duration + padding);\n var remove = listen(element, 'transitionend', function () {\n called = true;\n }, {\n once: true\n });\n return function () {\n clearTimeout(handle);\n remove();\n };\n}\n\nexport default function transitionEnd(element, handler, duration, padding) {\n if (duration == null) duration = parseDuration(element) || 0;\n var removeEmulate = emulateTransitionEnd(element, duration, padding);\n var remove = listen(element, 'transitionend', handler);\n return function () {\n removeEmulate();\n remove();\n };\n}","/**\n * Triggers an event on a given element.\n * \n * @param node the element\n * @param eventName the event name to trigger\n * @param bubbles whether the event should bubble up\n * @param cancelable whether the event should be cancelable\n */\nexport default function triggerEvent(node, eventName, bubbles, cancelable) {\n if (bubbles === void 0) {\n bubbles = false;\n }\n\n if (cancelable === void 0) {\n cancelable = true;\n }\n\n if (node) {\n var event = document.createEvent('HTMLEvents');\n event.initEvent(eventName, bubbles, cancelable);\n node.dispatchEvent(event);\n }\n}","import ownerDocument from './ownerDocument';\n/**\n * Returns the actively focused element safely.\n *\n * @param doc the document to check\n */\n\nexport default function activeElement(doc) {\n if (doc === void 0) {\n doc = ownerDocument();\n }\n\n // Support: IE 9 only\n // IE9 throws an \"Unspecified error\" accessing document.activeElement from an <iframe>\n try {\n var active = doc.activeElement; // IE11 returns a seemingly empty object in some cases when accessing\n // document.activeElement from an <iframe>\n\n if (!active || !active.nodeName) return null;\n return active;\n } catch (e) {\n /* ie throws if no active element */\n return doc.body;\n }\n}","/* eslint-disable no-bitwise, no-cond-assign */\n\n/**\n * Checks if an element contains another given element.\n * \n * @param context the context element\n * @param node the element to check\n */\nexport default function contains(context, node) {\n // HTML DOM and SVG DOM may have different support levels,\n // so we need to check on context instead of a document root element.\n if (context.contains) return context.contains(node);\n if (context.compareDocumentPosition) return context === node || !!(context.compareDocumentPosition(node) & 16);\n}","import { useRef, useEffect } from 'react';\n/**\n * Track whether a component is current mounted. Generally less preferable than\n * properlly canceling effects so they don't run after a component is unmounted,\n * but helpful in cases where that isn't feasible, such as a `Promise` resolution.\n *\n * @returns a function that returns the current isMounted state of the component\n *\n * ```ts\n * const [data, setData] = useState(null)\n * const isMounted = useMounted()\n *\n * useEffect(() => {\n * fetchdata().then((newData) => {\n * if (isMounted()) {\n * setData(newData);\n * }\n * })\n * })\n * ```\n */\n\nexport default function useMounted() {\n var mounted = useRef(true);\n var isMounted = useRef(function () {\n return mounted.current;\n });\n useEffect(function () {\n mounted.current = true;\n return function () {\n mounted.current = false;\n };\n }, []);\n return isMounted.current;\n}","import { useEffect, useRef } from 'react';\n/**\n * Store the last of some value. Tracked via a `Ref` only updating it\n * after the component renders.\n *\n * Helpful if you need to compare a prop value to it's previous value during render.\n *\n * ```ts\n * function Component(props) {\n * const lastProps = usePrevious(props)\n *\n * if (lastProps.foo !== props.foo)\n * resetValueFromProps(props.foo)\n * }\n * ```\n *\n * @param value the value to track\n */\n\nexport default function usePrevious(value) {\n var ref = useRef(null);\n useEffect(function () {\n ref.current = value;\n });\n return ref.current;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export const ATTRIBUTE_PREFIX = `data-rr-ui-`;\nexport const PROPERTY_PREFIX = `rrUi`;\nexport function dataAttr(property) {\n return `${ATTRIBUTE_PREFIX}${property}`;\n}\nexport function dataProp(property) {\n return `${PROPERTY_PREFIX}${property}`;\n}","import css from 'dom-helpers/css';\nimport { dataAttr } from './DataKey';\nimport getBodyScrollbarWidth from './getScrollbarWidth';\nexport const OPEN_DATA_ATTRIBUTE = dataAttr('modal-open');\n\n/**\n * Manages a stack of Modals as well as ensuring\n * body scrolling is is disabled and padding accounted for\n */\nclass ModalManager {\n constructor({\n ownerDocument,\n handleContainerOverflow = true,\n isRTL = false\n } = {}) {\n this.handleContainerOverflow = handleContainerOverflow;\n this.isRTL = isRTL;\n this.modals = [];\n this.ownerDocument = ownerDocument;\n }\n getScrollbarWidth() {\n return getBodyScrollbarWidth(this.ownerDocument);\n }\n getElement() {\n return (this.ownerDocument || document).body;\n }\n setModalAttributes(_modal) {\n // For overriding\n }\n removeModalAttributes(_modal) {\n // For overriding\n }\n setContainerStyle(containerState) {\n const style = {\n overflow: 'hidden'\n };\n\n // we are only interested in the actual `style` here\n // because we will override it\n const paddingProp = this.isRTL ? 'paddingLeft' : 'paddingRight';\n const container = this.getElement();\n containerState.style = {\n overflow: container.style.overflow,\n [paddingProp]: container.style[paddingProp]\n };\n if (containerState.scrollBarWidth) {\n // use computed style, here to get the real padding\n // to add our scrollbar width\n style[paddingProp] = `${parseInt(css(container, paddingProp) || '0', 10) + containerState.scrollBarWidth}px`;\n }\n container.setAttribute(OPEN_DATA_ATTRIBUTE, '');\n css(container, style);\n }\n reset() {\n [...this.modals].forEach(m => this.remove(m));\n }\n removeContainerStyle(containerState) {\n const container = this.getElement();\n container.removeAttribute(OPEN_DATA_ATTRIBUTE);\n Object.assign(container.style, containerState.style);\n }\n add(modal) {\n let modalIdx = this.modals.indexOf(modal);\n if (modalIdx !== -1) {\n return modalIdx;\n }\n modalIdx = this.modals.length;\n this.modals.push(modal);\n this.setModalAttributes(modal);\n if (modalIdx !== 0) {\n return modalIdx;\n }\n this.state = {\n scrollBarWidth: this.getScrollbarWidth(),\n style: {}\n };\n if (this.handleContainerOverflow) {\n this.setContainerStyle(this.state);\n }\n return modalIdx;\n }\n remove(modal) {\n const modalIdx = this.modals.indexOf(modal);\n if (modalIdx === -1) {\n return;\n }\n this.modals.splice(modalIdx, 1);\n\n // if that was the last modal in a container,\n // clean up the container\n if (!this.modals.length && this.handleContainerOverflow) {\n this.removeContainerStyle(this.state);\n }\n this.removeModalAttributes(modal);\n }\n isTopModal(modal) {\n return !!this.modals.length && this.modals[this.modals.length - 1] === modal;\n }\n}\nexport default ModalManager;","/**\n * Get the width of the vertical window scrollbar if it's visible\n */\nexport default function getBodyScrollbarWidth(ownerDocument = document) {\n const window = ownerDocument.defaultView;\n return Math.abs(window.innerWidth - ownerDocument.documentElement.clientWidth);\n}","import { createContext, useContext } from 'react';\nimport canUseDOM from 'dom-helpers/canUseDOM';\nconst Context = /*#__PURE__*/createContext(canUseDOM ? window : undefined);\nexport const WindowProvider = Context.Provider;\n\n/**\n * The document \"window\" placed in React context. Helpful for determining\n * SSR context, or when rendering into an iframe.\n *\n * @returns the current window\n */\nexport default function useWindow() {\n return useContext(Context);\n}","import ownerDocument from 'dom-helpers/ownerDocument';\nimport canUseDOM from 'dom-helpers/canUseDOM';\nimport { useState, useEffect } from 'react';\nimport useWindow from './useWindow';\nexport const resolveContainerRef = (ref, document) => {\n if (!canUseDOM) return null;\n if (ref == null) return (document || ownerDocument()).body;\n if (typeof ref === 'function') ref = ref();\n if (ref && 'current' in ref) ref = ref.current;\n if (ref && ('nodeType' in ref || ref.getBoundingClientRect)) return ref;\n return null;\n};\nexport default function useWaitForDOMRef(ref, onResolved) {\n const window = useWindow();\n const [resolvedRef, setRef] = useState(() => resolveContainerRef(ref, window == null ? void 0 : window.document));\n if (!resolvedRef) {\n const earlyRef = resolveContainerRef(ref);\n if (earlyRef) setRef(earlyRef);\n }\n useEffect(() => {\n if (onResolved && resolvedRef) {\n onResolved(resolvedRef);\n }\n }, [onResolved, resolvedRef]);\n useEffect(() => {\n const nextRef = resolveContainerRef(ref);\n if (nextRef !== resolvedRef) {\n setRef(nextRef);\n }\n }, [ref, resolvedRef]);\n return resolvedRef;\n}","import { useEffect, useLayoutEffect } from 'react';\nvar isReactNative = typeof global !== 'undefined' && // @ts-ignore\nglobal.navigator && // @ts-ignore\nglobal.navigator.product === 'ReactNative';\nvar isDOM = typeof document !== 'undefined';\n/**\n * Is `useLayoutEffect` in a DOM or React Native environment, otherwise resolves to useEffect\n * Only useful to avoid the console warning.\n *\n * PREFER `useEffect` UNLESS YOU KNOW WHAT YOU ARE DOING.\n *\n * @category effects\n */\n\nexport default isDOM || isReactNative ? useLayoutEffect : useEffect;","import useEventCallback from '@restart/hooks/useEventCallback';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport { cloneElement, useEffect, useRef } from 'react';\nfunction NoopTransition({\n children,\n in: inProp,\n onExited,\n mountOnEnter,\n unmountOnExit\n}) {\n const ref = useRef(null);\n const hasEnteredRef = useRef(inProp);\n const handleExited = useEventCallback(onExited);\n useEffect(() => {\n if (inProp) hasEnteredRef.current = true;else {\n handleExited(ref.current);\n }\n }, [inProp, handleExited]);\n const combinedRef = useMergedRefs(ref, children.ref);\n const child = /*#__PURE__*/cloneElement(children, {\n ref: combinedRef\n });\n if (inProp) return child;\n if (unmountOnExit) {\n return null;\n }\n if (!hasEnteredRef.current && mountOnEnter) {\n return null;\n }\n return child;\n}\nexport default NoopTransition;","import useMergedRefs from '@restart/hooks/useMergedRefs';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport useIsomorphicEffect from '@restart/hooks/useIsomorphicEffect';\nimport React, { useRef, cloneElement, useState } from 'react';\nimport NoopTransition from './NoopTransition';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function useTransition({\n in: inProp,\n onTransition\n}) {\n const ref = useRef(null);\n const isInitialRef = useRef(true);\n const handleTransition = useEventCallback(onTransition);\n useIsomorphicEffect(() => {\n if (!ref.current) {\n return undefined;\n }\n let stale = false;\n handleTransition({\n in: inProp,\n element: ref.current,\n initial: isInitialRef.current,\n isStale: () => stale\n });\n return () => {\n stale = true;\n };\n }, [inProp, handleTransition]);\n useIsomorphicEffect(() => {\n isInitialRef.current = false;\n // this is for strict mode\n return () => {\n isInitialRef.current = true;\n };\n }, []);\n return ref;\n}\n/**\n * Adapts an imperative transition function to a subset of the RTG `<Transition>` component API.\n *\n * ImperativeTransition does not support mounting options or `appear` at the moment, meaning\n * that it always acts like: `mountOnEnter={true} unmountOnExit={true} appear={true}`\n */\nexport default function ImperativeTransition({\n children,\n in: inProp,\n onExited,\n onEntered,\n transition\n}) {\n const [exited, setExited] = useState(!inProp);\n\n // TODO: I think this needs to be in an effect\n if (inProp && exited) {\n setExited(false);\n }\n const ref = useTransition({\n in: !!inProp,\n onTransition: options => {\n const onFinish = () => {\n if (options.isStale()) return;\n if (options.in) {\n onEntered == null ? void 0 : onEntered(options.element, options.initial);\n } else {\n setExited(true);\n onExited == null ? void 0 : onExited(options.element);\n }\n };\n Promise.resolve(transition(options)).then(onFinish, error => {\n if (!options.in) setExited(true);\n throw error;\n });\n }\n });\n const combinedRef = useMergedRefs(ref, children.ref);\n return exited && !inProp ? null : /*#__PURE__*/cloneElement(children, {\n ref: combinedRef\n });\n}\nexport function renderTransition(Component, runTransition, props) {\n if (Component) {\n return /*#__PURE__*/_jsx(Component, Object.assign({}, props));\n }\n if (runTransition) {\n return /*#__PURE__*/_jsx(ImperativeTransition, Object.assign({}, props, {\n transition: runTransition\n }));\n }\n return /*#__PURE__*/_jsx(NoopTransition, Object.assign({}, props));\n}","/* eslint-disable import/prefer-default-export */\nexport function isEscKey(e) {\n return e.code === 'Escape' || e.keyCode === 27;\n}","const _excluded = [\"show\", \"role\", \"className\", \"style\", \"children\", \"backdrop\", \"keyboard\", \"onBackdropClick\", \"onEscapeKeyDown\", \"transition\", \"runTransition\", \"backdropTransition\", \"runBackdropTransition\", \"autoFocus\", \"enforceFocus\", \"restoreFocus\", \"restoreFocusOptions\", \"renderDialog\", \"renderBackdrop\", \"manager\", \"container\", \"onShow\", \"onHide\", \"onExit\", \"onExited\", \"onExiting\", \"onEnter\", \"onEntering\", \"onEntered\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* eslint-disable @typescript-eslint/no-use-before-define, react/prop-types */\n\nimport activeElement from 'dom-helpers/activeElement';\nimport contains from 'dom-helpers/contains';\nimport canUseDOM from 'dom-helpers/canUseDOM';\nimport listen from 'dom-helpers/listen';\nimport { useState, useRef, useCallback, useImperativeHandle, forwardRef, useEffect } from 'react';\nimport * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport useMounted from '@restart/hooks/useMounted';\nimport useWillUnmount from '@restart/hooks/useWillUnmount';\nimport usePrevious from '@restart/hooks/usePrevious';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport ModalManager from './ModalManager';\nimport useWaitForDOMRef from './useWaitForDOMRef';\nimport useWindow from './useWindow';\nimport { renderTransition } from './ImperativeTransition';\nimport { isEscKey } from './utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nlet manager;\nfunction getManager(window) {\n if (!manager) manager = new ModalManager({\n ownerDocument: window == null ? void 0 : window.document\n });\n return manager;\n}\nfunction useModalManager(provided) {\n const window = useWindow();\n const modalManager = provided || getManager(window);\n const modal = useRef({\n dialog: null,\n backdrop: null\n });\n return Object.assign(modal.current, {\n add: () => modalManager.add(modal.current),\n remove: () => modalManager.remove(modal.current),\n isTopModal: () => modalManager.isTopModal(modal.current),\n setDialogRef: useCallback(ref => {\n modal.current.dialog = ref;\n }, []),\n setBackdropRef: useCallback(ref => {\n modal.current.backdrop = ref;\n }, [])\n });\n}\nconst Modal = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n show = false,\n role = 'dialog',\n className,\n style,\n children,\n backdrop = true,\n keyboard = true,\n onBackdropClick,\n onEscapeKeyDown,\n transition,\n runTransition,\n backdropTransition,\n runBackdropTransition,\n autoFocus = true,\n enforceFocus = true,\n restoreFocus = true,\n restoreFocusOptions,\n renderDialog,\n renderBackdrop = props => /*#__PURE__*/_jsx(\"div\", Object.assign({}, props)),\n manager: providedManager,\n container: containerRef,\n onShow,\n onHide = () => {},\n onExit,\n onExited,\n onExiting,\n onEnter,\n onEntering,\n onEntered\n } = _ref,\n rest = _objectWithoutPropertiesLoose(_ref, _excluded);\n const container = useWaitForDOMRef(containerRef);\n const modal = useModalManager(providedManager);\n const isMounted = useMounted();\n const prevShow = usePrevious(show);\n const [exited, setExited] = useState(!show);\n const lastFocusRef = useRef(null);\n useImperativeHandle(ref, () => modal, [modal]);\n if (canUseDOM && !prevShow && show) {\n lastFocusRef.current = activeElement();\n }\n\n // TODO: I think this needs to be in an effect\n if (show && exited) {\n setExited(false);\n }\n const handleShow = useEventCallback(() => {\n modal.add();\n removeKeydownListenerRef.current = listen(document, 'keydown', handleDocumentKeyDown);\n removeFocusListenerRef.current = listen(document, 'focus',\n // the timeout is necessary b/c this will run before the new modal is mounted\n // and so steals focus from it\n () => setTimeout(handleEnforceFocus), true);\n if (onShow) {\n onShow();\n }\n\n // autofocus after onShow to not trigger a focus event for previous\n // modals before this one is shown.\n if (autoFocus) {\n const currentActiveElement = activeElement(document);\n if (modal.dialog && currentActiveElement && !contains(modal.dialog, currentActiveElement)) {\n lastFocusRef.current = currentActiveElement;\n modal.dialog.focus();\n }\n }\n });\n const handleHide = useEventCallback(() => {\n modal.remove();\n removeKeydownListenerRef.current == null ? void 0 : removeKeydownListenerRef.current();\n removeFocusListenerRef.current == null ? void 0 : removeFocusListenerRef.current();\n if (restoreFocus) {\n var _lastFocusRef$current;\n // Support: <=IE11 doesn't support `focus()` on svg elements (RB: #917)\n (_lastFocusRef$current = lastFocusRef.current) == null ? void 0 : _lastFocusRef$current.focus == null ? void 0 : _lastFocusRef$current.focus(restoreFocusOptions);\n lastFocusRef.current = null;\n }\n });\n\n // TODO: try and combine these effects: https://github.com/react-bootstrap/react-overlays/pull/794#discussion_r409954120\n\n // Show logic when:\n // - show is `true` _and_ `container` has resolved\n useEffect(() => {\n if (!show || !container) return;\n handleShow();\n }, [show, container, /* should never change: */handleShow]);\n\n // Hide cleanup logic when:\n // - `exited` switches to true\n // - component unmounts;\n useEffect(() => {\n if (!exited) return;\n handleHide();\n }, [exited, handleHide]);\n useWillUnmount(() => {\n handleHide();\n });\n\n // --------------------------------\n\n const handleEnforceFocus = useEventCallback(() => {\n if (!enforceFocus || !isMounted() || !modal.isTopModal()) {\n return;\n }\n const currentActiveElement = activeElement();\n if (modal.dialog && currentActiveElement && !contains(modal.dialog, currentActiveElement)) {\n modal.dialog.focus();\n }\n });\n const handleBackdropClick = useEventCallback(e => {\n if (e.target !== e.currentTarget) {\n return;\n }\n onBackdropClick == null ? void 0 : onBackdropClick(e);\n if (backdrop === true) {\n onHide();\n }\n });\n const handleDocumentKeyDown = useEventCallback(e => {\n if (keyboard && isEscKey(e) && modal.isTopModal()) {\n onEscapeKeyDown == null ? void 0 : onEscapeKeyDown(e);\n if (!e.defaultPrevented) {\n onHide();\n }\n }\n });\n const removeFocusListenerRef = useRef();\n const removeKeydownListenerRef = useRef();\n const handleHidden = (...args) => {\n setExited(true);\n onExited == null ? void 0 : onExited(...args);\n };\n if (!container) {\n return null;\n }\n const dialogProps = Object.assign({\n role,\n ref: modal.setDialogRef,\n // apparently only works on the dialog role element\n 'aria-modal': role === 'dialog' ? true : undefined\n }, rest, {\n style,\n className,\n tabIndex: -1\n });\n let dialog = renderDialog ? renderDialog(dialogProps) : /*#__PURE__*/_jsx(\"div\", Object.assign({}, dialogProps, {\n children: /*#__PURE__*/React.cloneElement(children, {\n role: 'document'\n })\n }));\n dialog = renderTransition(transition, runTransition, {\n unmountOnExit: true,\n mountOnEnter: true,\n appear: true,\n in: !!show,\n onExit,\n onExiting,\n onExited: handleHidden,\n onEnter,\n onEntering,\n onEntered,\n children: dialog\n });\n let backdropElement = null;\n if (backdrop) {\n backdropElement = renderBackdrop({\n ref: modal.setBackdropRef,\n onClick: handleBackdropClick\n });\n backdropElement = renderTransition(backdropTransition, runBackdropTransition, {\n in: !!show,\n appear: true,\n mountOnEnter: true,\n unmountOnExit: true,\n children: backdropElement\n });\n }\n return /*#__PURE__*/_jsx(_Fragment, {\n children: /*#__PURE__*/ReactDOM.createPortal( /*#__PURE__*/_jsxs(_Fragment, {\n children: [backdropElement, dialog]\n }), container)\n });\n});\nModal.displayName = 'Modal';\nexport default Object.assign(Modal, {\n Manager: ModalManager\n});","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n return object;\n}","import superPropBase from \"./superPropBase.js\";\nexport default function _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get.bind();\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n return desc.value;\n };\n }\n return _get.apply(this, arguments);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return possibleConstructorReturn(this, result);\n };\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","/**\n * Checks if a given element has a CSS class.\n * \n * @param element the element\n * @param className the CSS class name\n */\nexport default function hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);\n return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}","var toArray = Function.prototype.bind.call(Function.prototype.call, [].slice);\n/**\n * Runs `querySelectorAll` on a given element.\n * \n * @param element the element\n * @param selector the selector\n */\n\nexport default function qsa(element, selector) {\n return toArray(element.querySelectorAll(selector));\n}","function replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp(\"(^|\\\\s)\" + classToRemove + \"(?:\\\\s|$)\", 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n/**\n * Removes a CSS class from a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\n\nexport default function removeClass(element, className) {\n if (element.classList) {\n element.classList.remove(className);\n } else if (typeof element.className === 'string') {\n element.className = replaceClassName(element.className, className);\n } else {\n element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n }\n}","import addClass from 'dom-helpers/addClass';\nimport css from 'dom-helpers/css';\nimport qsa from 'dom-helpers/querySelectorAll';\nimport removeClass from 'dom-helpers/removeClass';\nimport ModalManager from '@restart/ui/ModalManager';\nconst Selector = {\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top',\n NAVBAR_TOGGLER: '.navbar-toggler'\n};\nclass BootstrapModalManager extends ModalManager {\n adjustAndStore(prop, element, adjust) {\n const actual = element.style[prop];\n // TODO: DOMStringMap and CSSStyleDeclaration aren't strictly compatible\n // @ts-ignore\n element.dataset[prop] = actual;\n css(element, {\n [prop]: `${parseFloat(css(element, prop)) + adjust}px`\n });\n }\n restore(prop, element) {\n const value = element.dataset[prop];\n if (value !== undefined) {\n delete element.dataset[prop];\n css(element, {\n [prop]: value\n });\n }\n }\n setContainerStyle(containerState) {\n super.setContainerStyle(containerState);\n const container = this.getElement();\n addClass(container, 'modal-open');\n if (!containerState.scrollBarWidth) return;\n const paddingProp = this.isRTL ? 'paddingLeft' : 'paddingRight';\n const marginProp = this.isRTL ? 'marginLeft' : 'marginRight';\n qsa(container, Selector.FIXED_CONTENT).forEach(el => this.adjustAndStore(paddingProp, el, containerState.scrollBarWidth));\n qsa(container, Selector.STICKY_CONTENT).forEach(el => this.adjustAndStore(marginProp, el, -containerState.scrollBarWidth));\n qsa(container, Selector.NAVBAR_TOGGLER).forEach(el => this.adjustAndStore(marginProp, el, containerState.scrollBarWidth));\n }\n removeContainerStyle(containerState) {\n super.removeContainerStyle(containerState);\n const container = this.getElement();\n removeClass(container, 'modal-open');\n const paddingProp = this.isRTL ? 'paddingLeft' : 'paddingRight';\n const marginProp = this.isRTL ? 'marginLeft' : 'marginRight';\n qsa(container, Selector.FIXED_CONTENT).forEach(el => this.restore(paddingProp, el));\n qsa(container, Selector.STICKY_CONTENT).forEach(el => this.restore(marginProp, el));\n qsa(container, Selector.NAVBAR_TOGGLER).forEach(el => this.restore(marginProp, el));\n }\n}\nlet sharedManager;\nexport function getSharedManager(options) {\n if (!sharedManager) sharedManager = new BootstrapModalManager(options);\n return sharedManager;\n}\nexport default BootstrapModalManager;","import hasClass from './hasClass';\n/**\n * Adds a CSS class to a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\nexport default function addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!hasClass(element, className)) if (typeof element.className === 'string') element.className = element.className + \" \" + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + \" \" + className);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","export default {\n disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * <Transition in={inProp} timeout={duration}>\n * {state => (\n * <div style={{\n * ...defaultStyle,\n * ...transitionStyles[state]\n * }}>\n * I'm a fade Transition!\n * </div>\n * )}\n * </Transition>\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * <div>\n * <Transition in={inProp} timeout={500}>\n * {state => (\n * // ...\n * )}\n * </Transition>\n * <button onClick={() => setInProp(true)}>\n * Click to Enter\n * </button>\n * </div>\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * <Transition in={this.state.in} timeout={150}>\n * {state => (\n * <MyComponent className={`fade fade-${state}`} />\n * )}\n * </Transition>\n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `<CSSTransition>` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};","import css from 'dom-helpers/css';\nimport transitionEnd from 'dom-helpers/transitionEnd';\nfunction parseDuration(node, property) {\n const str = css(node, property) || '';\n const mult = str.indexOf('ms') === -1 ? 1000 : 1;\n return parseFloat(str) * mult;\n}\nexport default function transitionEndListener(element, handler) {\n const duration = parseDuration(element, 'transitionDuration');\n const delay = parseDuration(element, 'transitionDelay');\n const remove = transitionEnd(element, e => {\n if (e.target === element) {\n remove();\n handler(e);\n }\n }, duration + delay);\n}","import ReactDOM from 'react-dom';\nexport default function safeFindDOMNode(componentOrElement) {\n if (componentOrElement && 'setState' in componentOrElement) {\n return ReactDOM.findDOMNode(componentOrElement);\n }\n return componentOrElement != null ? componentOrElement : null;\n}","import React, { useCallback, useRef } from 'react';\nimport Transition from 'react-transition-group/Transition';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport safeFindDOMNode from './safeFindDOMNode';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n// Normalizes Transition callbacks when nodeRef is used.\nconst TransitionWrapper = /*#__PURE__*/React.forwardRef(({\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited,\n addEndListener,\n children,\n childRef,\n ...props\n}, ref) => {\n const nodeRef = useRef(null);\n const mergedRef = useMergedRefs(nodeRef, childRef);\n const attachRef = r => {\n mergedRef(safeFindDOMNode(r));\n };\n const normalize = callback => param => {\n if (callback && nodeRef.current) {\n callback(nodeRef.current, param);\n }\n };\n\n /* eslint-disable react-hooks/exhaustive-deps */\n const handleEnter = useCallback(normalize(onEnter), [onEnter]);\n const handleEntering = useCallback(normalize(onEntering), [onEntering]);\n const handleEntered = useCallback(normalize(onEntered), [onEntered]);\n const handleExit = useCallback(normalize(onExit), [onExit]);\n const handleExiting = useCallback(normalize(onExiting), [onExiting]);\n const handleExited = useCallback(normalize(onExited), [onExited]);\n const handleAddEndListener = useCallback(normalize(addEndListener), [addEndListener]);\n /* eslint-enable react-hooks/exhaustive-deps */\n\n return /*#__PURE__*/_jsx(Transition, {\n ref: ref,\n ...props,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: handleAddEndListener,\n nodeRef: nodeRef,\n children: typeof children === 'function' ? (status, innerProps) => children(status, {\n ...innerProps,\n ref: attachRef\n }) : /*#__PURE__*/React.cloneElement(children, {\n ref: attachRef\n })\n });\n});\nexport default TransitionWrapper;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useCallback } from 'react';\nimport { ENTERED, ENTERING } from 'react-transition-group/Transition';\nimport transitionEndListener from './transitionEndListener';\nimport triggerBrowserReflow from './triggerBrowserReflow';\nimport TransitionWrapper from './TransitionWrapper';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst fadeStyles = {\n [ENTERING]: 'show',\n [ENTERED]: 'show'\n};\nconst Fade = /*#__PURE__*/React.forwardRef(({\n className,\n children,\n transitionClasses = {},\n onEnter,\n ...rest\n}, ref) => {\n const props = {\n in: false,\n timeout: 300,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n ...rest\n };\n const handleEnter = useCallback((node, isAppearing) => {\n triggerBrowserReflow(node);\n onEnter == null ? void 0 : onEnter(node, isAppearing);\n }, [onEnter]);\n return /*#__PURE__*/_jsx(TransitionWrapper, {\n ref: ref,\n addEndListener: transitionEndListener,\n ...props,\n onEnter: handleEnter,\n childRef: children.ref,\n children: (status, innerProps) => /*#__PURE__*/React.cloneElement(children, {\n ...innerProps,\n className: classNames('fade', className, children.props.className, fadeStyles[status], transitionClasses[status])\n })\n });\n});\nFade.displayName = 'Fade';\nexport default Fade;","// reading a dimension prop will cause the browser to recalculate,\n// which will let our animations work\nexport default function triggerBrowserReflow(node) {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n node.offsetHeight;\n}","var rHyphen = /-(.)/g;\nexport default function camelize(string) {\n return string.replace(rHyphen, function (_, chr) {\n return chr.toUpperCase();\n });\n}","import * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const DEFAULT_BREAKPOINTS = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];\nexport const DEFAULT_MIN_BREAKPOINT = 'xs';\nconst ThemeContext = /*#__PURE__*/React.createContext({\n prefixes: {},\n breakpoints: DEFAULT_BREAKPOINTS,\n minBreakpoint: DEFAULT_MIN_BREAKPOINT\n});\nconst {\n Consumer,\n Provider\n} = ThemeContext;\nfunction ThemeProvider({\n prefixes = {},\n breakpoints = DEFAULT_BREAKPOINTS,\n minBreakpoint = DEFAULT_MIN_BREAKPOINT,\n dir,\n children\n}) {\n const contextValue = useMemo(() => ({\n prefixes: {\n ...prefixes\n },\n breakpoints,\n minBreakpoint,\n dir\n }), [prefixes, breakpoints, minBreakpoint, dir]);\n return /*#__PURE__*/_jsx(Provider, {\n value: contextValue,\n children: children\n });\n}\nexport function useBootstrapPrefix(prefix, defaultPrefix) {\n const {\n prefixes\n } = useContext(ThemeContext);\n return prefix || prefixes[defaultPrefix] || defaultPrefix;\n}\nexport function useBootstrapBreakpoints() {\n const {\n breakpoints\n } = useContext(ThemeContext);\n return breakpoints;\n}\nexport function useBootstrapMinBreakpoint() {\n const {\n minBreakpoint\n } = useContext(ThemeContext);\n return minBreakpoint;\n}\nexport function useIsRTL() {\n const {\n dir\n } = useContext(ThemeContext);\n return dir === 'rtl';\n}\nfunction createBootstrapComponent(Component, opts) {\n if (typeof opts === 'string') opts = {\n prefix: opts\n };\n const isClassy = Component.prototype && Component.prototype.isReactComponent;\n // If it's a functional component make sure we don't break it with a ref\n const {\n prefix,\n forwardRefAs = isClassy ? 'ref' : 'innerRef'\n } = opts;\n const Wrapped = /*#__PURE__*/React.forwardRef(({\n ...props\n }, ref) => {\n props[forwardRefAs] = ref;\n const bsPrefix = useBootstrapPrefix(props.bsPrefix, prefix);\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n bsPrefix: bsPrefix\n });\n });\n Wrapped.displayName = `Bootstrap(${Component.displayName || Component.name})`;\n return Wrapped;\n}\nexport { createBootstrapComponent, Consumer as ThemeConsumer };\nexport default ThemeProvider;","import classNames from 'classnames';\nimport camelize from 'dom-helpers/camelize';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pascalCase = str => str[0].toUpperCase() + camelize(str).slice(1);\n// TODO: emstricten & fix the typing here! `createWithBsPrefix<TElementType>...`\nexport default function createWithBsPrefix(prefix, {\n displayName = pascalCase(prefix),\n Component,\n defaultProps\n} = {}) {\n const BsComponent = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Tag = Component || 'div',\n ...props\n }, ref) => {\n const componentProps = {\n ...defaultProps,\n ...props\n };\n const resolvedPrefix = useBootstrapPrefix(bsPrefix, prefix);\n return /*#__PURE__*/_jsx(Tag, {\n ref: ref,\n className: classNames(className, resolvedPrefix),\n ...componentProps\n });\n });\n BsComponent.displayName = displayName;\n return BsComponent;\n}","import createWithBsPrefix from './createWithBsPrefix';\nexport default createWithBsPrefix('modal-body');","import * as React from 'react';\nconst ModalContext = /*#__PURE__*/React.createContext({\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onHide() {}\n});\nexport default ModalContext;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ModalDialog = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n contentClassName,\n centered,\n size,\n fullscreen,\n children,\n scrollable,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'modal');\n const dialogClass = `${bsPrefix}-dialog`;\n const fullScreenClass = typeof fullscreen === 'string' ? `${bsPrefix}-fullscreen-${fullscreen}` : `${bsPrefix}-fullscreen`;\n return /*#__PURE__*/_jsx(\"div\", {\n ...props,\n ref: ref,\n className: classNames(dialogClass, className, size && `${bsPrefix}-${size}`, centered && `${dialogClass}-centered`, scrollable && `${dialogClass}-scrollable`, fullscreen && fullScreenClass),\n children: /*#__PURE__*/_jsx(\"div\", {\n className: classNames(`${bsPrefix}-content`, contentClassName),\n children: children\n })\n });\n});\nModalDialog.displayName = 'ModalDialog';\nexport default ModalDialog;","import createWithBsPrefix from './createWithBsPrefix';\nexport default createWithBsPrefix('modal-footer');","import PropTypes from 'prop-types';\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst propTypes = {\n /** An accessible label indicating the relevant information about the Close Button. */\n 'aria-label': PropTypes.string,\n /** A callback fired after the Close Button is clicked. */\n onClick: PropTypes.func,\n /**\n * Render different color variant for the button.\n *\n * Omitting this will render the default dark color.\n */\n variant: PropTypes.oneOf(['white'])\n};\nconst CloseButton = /*#__PURE__*/React.forwardRef(({\n className,\n variant,\n 'aria-label': ariaLabel = 'Close',\n ...props\n}, ref) => /*#__PURE__*/_jsx(\"button\", {\n ref: ref,\n type: \"button\",\n className: classNames('btn-close', variant && `btn-close-${variant}`, className),\n \"aria-label\": ariaLabel,\n ...props\n}));\nCloseButton.displayName = 'CloseButton';\nCloseButton.propTypes = propTypes;\nexport default CloseButton;","import * as React from 'react';\nimport { useContext } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport CloseButton from './CloseButton';\nimport ModalContext from './ModalContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst AbstractModalHeader = /*#__PURE__*/React.forwardRef(({\n closeLabel = 'Close',\n closeVariant,\n closeButton = false,\n onHide,\n children,\n ...props\n}, ref) => {\n const context = useContext(ModalContext);\n const handleClick = useEventCallback(() => {\n context == null ? void 0 : context.onHide();\n onHide == null ? void 0 : onHide();\n });\n return /*#__PURE__*/_jsxs(\"div\", {\n ref: ref,\n ...props,\n children: [children, closeButton && /*#__PURE__*/_jsx(CloseButton, {\n \"aria-label\": closeLabel,\n variant: closeVariant,\n onClick: handleClick\n })]\n });\n});\nexport default AbstractModalHeader;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport AbstractModalHeader from './AbstractModalHeader';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ModalHeader = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n closeLabel = 'Close',\n closeButton = false,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'modal-header');\n return /*#__PURE__*/_jsx(AbstractModalHeader, {\n ref: ref,\n ...props,\n className: classNames(className, bsPrefix),\n closeLabel: closeLabel,\n closeButton: closeButton\n });\n});\nModalHeader.displayName = 'ModalHeader';\nexport default ModalHeader;","import * as React from 'react';\nimport classNames from 'classnames';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default (className => /*#__PURE__*/React.forwardRef((p, ref) => /*#__PURE__*/_jsx(\"div\", {\n ...p,\n ref: ref,\n className: classNames(p.className, className)\n})));","import createWithBsPrefix from './createWithBsPrefix';\nimport divWithClassName from './divWithClassName';\nconst DivStyledAsH4 = divWithClassName('h4');\nexport default createWithBsPrefix('modal-title', {\n Component: DivStyledAsH4\n});","import classNames from 'classnames';\nimport addEventListener from 'dom-helpers/addEventListener';\nimport canUseDOM from 'dom-helpers/canUseDOM';\nimport ownerDocument from 'dom-helpers/ownerDocument';\nimport removeEventListener from 'dom-helpers/removeEventListener';\nimport getScrollbarSize from 'dom-helpers/scrollbarSize';\nimport useCallbackRef from '@restart/hooks/useCallbackRef';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport useWillUnmount from '@restart/hooks/useWillUnmount';\nimport transitionEnd from 'dom-helpers/transitionEnd';\nimport * as React from 'react';\nimport { useCallback, useMemo, useRef, useState } from 'react';\nimport BaseModal from '@restart/ui/Modal';\nimport { getSharedManager } from './BootstrapModalManager';\nimport Fade from './Fade';\nimport ModalBody from './ModalBody';\nimport ModalContext from './ModalContext';\nimport ModalDialog from './ModalDialog';\nimport ModalFooter from './ModalFooter';\nimport ModalHeader from './ModalHeader';\nimport ModalTitle from './ModalTitle';\nimport { useBootstrapPrefix, useIsRTL } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable no-use-before-define, react/no-multi-comp */\nfunction DialogTransition(props) {\n return /*#__PURE__*/_jsx(Fade, {\n ...props,\n timeout: null\n });\n}\nfunction BackdropTransition(props) {\n return /*#__PURE__*/_jsx(Fade, {\n ...props,\n timeout: null\n });\n}\n\n/* eslint-enable no-use-before-define */\nconst Modal = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n style,\n dialogClassName,\n contentClassName,\n children,\n dialogAs: Dialog = ModalDialog,\n 'aria-labelledby': ariaLabelledby,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n /* BaseModal props */\n\n show = false,\n animation = true,\n backdrop = true,\n keyboard = true,\n onEscapeKeyDown,\n onShow,\n onHide,\n container,\n autoFocus = true,\n enforceFocus = true,\n restoreFocus = true,\n restoreFocusOptions,\n onEntered,\n onExit,\n onExiting,\n onEnter,\n onEntering,\n onExited,\n backdropClassName,\n manager: propsManager,\n ...props\n}, ref) => {\n const [modalStyle, setStyle] = useState({});\n const [animateStaticModal, setAnimateStaticModal] = useState(false);\n const waitingForMouseUpRef = useRef(false);\n const ignoreBackdropClickRef = useRef(false);\n const removeStaticModalAnimationRef = useRef(null);\n const [modal, setModalRef] = useCallbackRef();\n const mergedRef = useMergedRefs(ref, setModalRef);\n const handleHide = useEventCallback(onHide);\n const isRTL = useIsRTL();\n bsPrefix = useBootstrapPrefix(bsPrefix, 'modal');\n const modalContext = useMemo(() => ({\n onHide: handleHide\n }), [handleHide]);\n function getModalManager() {\n if (propsManager) return propsManager;\n return getSharedManager({\n isRTL\n });\n }\n function updateDialogStyle(node) {\n if (!canUseDOM) return;\n const containerIsOverflowing = getModalManager().getScrollbarWidth() > 0;\n const modalIsOverflowing = node.scrollHeight > ownerDocument(node).documentElement.clientHeight;\n setStyle({\n paddingRight: containerIsOverflowing && !modalIsOverflowing ? getScrollbarSize() : undefined,\n paddingLeft: !containerIsOverflowing && modalIsOverflowing ? getScrollbarSize() : undefined\n });\n }\n const handleWindowResize = useEventCallback(() => {\n if (modal) {\n updateDialogStyle(modal.dialog);\n }\n });\n useWillUnmount(() => {\n removeEventListener(window, 'resize', handleWindowResize);\n removeStaticModalAnimationRef.current == null ? void 0 : removeStaticModalAnimationRef.current();\n });\n\n // We prevent the modal from closing during a drag by detecting where the\n // click originates from. If it starts in the modal and then ends outside\n // don't close.\n const handleDialogMouseDown = () => {\n waitingForMouseUpRef.current = true;\n };\n const handleMouseUp = e => {\n if (waitingForMouseUpRef.current && modal && e.target === modal.dialog) {\n ignoreBackdropClickRef.current = true;\n }\n waitingForMouseUpRef.current = false;\n };\n const handleStaticModalAnimation = () => {\n setAnimateStaticModal(true);\n removeStaticModalAnimationRef.current = transitionEnd(modal.dialog, () => {\n setAnimateStaticModal(false);\n });\n };\n const handleStaticBackdropClick = e => {\n if (e.target !== e.currentTarget) {\n return;\n }\n handleStaticModalAnimation();\n };\n const handleClick = e => {\n if (backdrop === 'static') {\n handleStaticBackdropClick(e);\n return;\n }\n if (ignoreBackdropClickRef.current || e.target !== e.currentTarget) {\n ignoreBackdropClickRef.current = false;\n return;\n }\n onHide == null ? void 0 : onHide();\n };\n const handleEscapeKeyDown = e => {\n if (keyboard) {\n onEscapeKeyDown == null ? void 0 : onEscapeKeyDown(e);\n } else {\n // Call preventDefault to stop modal from closing in @restart/ui.\n e.preventDefault();\n if (backdrop === 'static') {\n // Play static modal animation.\n handleStaticModalAnimation();\n }\n }\n };\n const handleEnter = (node, isAppearing) => {\n if (node) {\n updateDialogStyle(node);\n }\n onEnter == null ? void 0 : onEnter(node, isAppearing);\n };\n const handleExit = node => {\n removeStaticModalAnimationRef.current == null ? void 0 : removeStaticModalAnimationRef.current();\n onExit == null ? void 0 : onExit(node);\n };\n const handleEntering = (node, isAppearing) => {\n onEntering == null ? void 0 : onEntering(node, isAppearing);\n\n // FIXME: This should work even when animation is disabled.\n addEventListener(window, 'resize', handleWindowResize);\n };\n const handleExited = node => {\n if (node) node.style.display = ''; // RHL removes it sometimes\n onExited == null ? void 0 : onExited(node);\n\n // FIXME: This should work even when animation is disabled.\n removeEventListener(window, 'resize', handleWindowResize);\n };\n const renderBackdrop = useCallback(backdropProps => /*#__PURE__*/_jsx(\"div\", {\n ...backdropProps,\n className: classNames(`${bsPrefix}-backdrop`, backdropClassName, !animation && 'show')\n }), [animation, backdropClassName, bsPrefix]);\n const baseModalStyle = {\n ...style,\n ...modalStyle\n };\n\n // If `display` is not set to block, autoFocus inside the modal fails\n // https://github.com/react-bootstrap/react-bootstrap/issues/5102\n baseModalStyle.display = 'block';\n const renderDialog = dialogProps => /*#__PURE__*/_jsx(\"div\", {\n role: \"dialog\",\n ...dialogProps,\n style: baseModalStyle,\n className: classNames(className, bsPrefix, animateStaticModal && `${bsPrefix}-static`, !animation && 'show'),\n onClick: backdrop ? handleClick : undefined,\n onMouseUp: handleMouseUp,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledby,\n \"aria-describedby\": ariaDescribedby,\n children: /*#__PURE__*/_jsx(Dialog, {\n ...props,\n onMouseDown: handleDialogMouseDown,\n className: dialogClassName,\n contentClassName: contentClassName,\n children: children\n })\n });\n return /*#__PURE__*/_jsx(ModalContext.Provider, {\n value: modalContext,\n children: /*#__PURE__*/_jsx(BaseModal, {\n show: show,\n ref: mergedRef,\n backdrop: backdrop,\n container: container,\n keyboard: true // Always set true - see handleEscapeKeyDown\n ,\n autoFocus: autoFocus,\n enforceFocus: enforceFocus,\n restoreFocus: restoreFocus,\n restoreFocusOptions: restoreFocusOptions,\n onEscapeKeyDown: handleEscapeKeyDown,\n onShow: onShow,\n onHide: onHide,\n onEnter: handleEnter,\n onEntering: handleEntering,\n onEntered: onEntered,\n onExit: handleExit,\n onExiting: onExiting,\n onExited: handleExited,\n manager: getModalManager(),\n transition: animation ? DialogTransition : undefined,\n backdropTransition: animation ? BackdropTransition : undefined,\n renderBackdrop: renderBackdrop,\n renderDialog: renderDialog\n })\n });\n});\nModal.displayName = 'Modal';\nexport default Object.assign(Modal, {\n Body: ModalBody,\n Header: ModalHeader,\n Title: ModalTitle,\n Footer: ModalFooter,\n Dialog: ModalDialog,\n TRANSITION_DURATION: 300,\n BACKDROP_TRANSITION_DURATION: 150\n});","import React, { useContext, useRef, useState } from \"react\";\r\nimport AuthContext from \"../../store/auth-context\";\r\n// React-Bootstrap\r\nimport Modal from 'react-bootstrap/Modal';\r\nimport { config } from \"../../constants/Constants\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport useScript from \"../../hooks/useScript\";\r\nimport { useEffect } from \"react\";\r\nimport { changeCssClass } from \"../../helper/helper\";\r\n\r\n\r\nconst LoginModal = (props) => {\r\n\r\n const [error, setError] = useState(null);\r\n //useScript(config.socialLoginUrl);\r\n\r\n const handleClose = () => {\r\n setError(null);\r\n autCtx.showModalLog(false);\r\n };\r\n\r\n const usernameInputRef = useRef();\r\n const passwordInputRef = useRef();\r\n const rememberMeInputRef = useRef();\r\n\r\n const autCtx = useContext(AuthContext);\r\n\r\n const loginHandler = (event) => {\r\n event.preventDefault();\r\n\r\n const username = usernameInputRef.current.value;\r\n const password = passwordInputRef.current.value;\r\n const rememberMe = rememberMeInputRef.current.checked ? 1 : 0;\r\n\r\n const settingsError = (error) => {\r\n setError(error.Description);\r\n }\r\n\r\n setError(null);\r\n autCtx.onLogin(username, password, rememberMe, settingsError, true);\r\n };\r\n\r\n useEffect(() => {\r\n try {\r\n window.showSocialButtons(\"CO\", \"\", \"home2019.css\");\r\n changeCssClass();\r\n\r\n } catch (err) {\r\n\r\n }\r\n })\r\n\r\n const pageUrl = window.location.href;\r\n\r\n\r\n const [isPwdShown, setIsPwdShown] = useState(false);\r\n\r\n const showPwd = () => {\r\n const inputHtml = document.querySelector('input#login-password');\r\n inputHtml.type = 'text'\r\n setIsPwdShown(true);\r\n }\r\n\r\n const hidePwd = () => {\r\n const inputHtml = document.querySelector('input#login-password');\r\n inputHtml.type = 'password'\r\n setIsPwdShown(false);\r\n }\r\n\r\n return (\r\n <React.Fragment>\r\n <Modal show={autCtx.showLoginModal} onHide={handleClose}>\r\n <div className=\"modal\" tabIndex=\"-1\" role=\"dialog\" style={{ 'display': 'block' }}>\r\n <div className=\"modal-dialog modal-dialog-centered modal-login\">\r\n <div className=\"modal-content modal-content--light\">\r\n\r\n <Modal.Header className=\"modal-header\">\r\n <span className=\"modal-header-spacer\"></span>\r\n <div className=\"mhead-logo\">\r\n <span className=\"nav-link\">\r\n <img className=\"nav-logo nav-logo--main\" src=\"/dist/img/book24ore.svg\" alt=\"Book24ORE\" />\r\n <span className=\"nav-logo-bg\"></span>\r\n </span>\r\n </div>\r\n <button onClick={handleClose} role=\"button\" className=\"itool\" data-dismiss=\"modal\" aria-label=\"Close\">\r\n <span className=\"icon icon-close\"></span>\r\n </button>\r\n </Modal.Header>\r\n\r\n <Modal.Body className=\"modal-body\">\r\n <div className=\"text-center\">\r\n <h3 className=\"modal-title modal-title--big\">Accedi per continuare</h3>\r\n <p className=\"modal-txt\">\r\n Inserisci username e password per accedere ai servizi del Sole 24 Ore\r\n </p>\r\n </div>\r\n\r\n <div className=\"modal-form\">\r\n <form onSubmit={loginHandler}>\r\n <div className=\"form-group form-group--labelin\">\r\n <input className=\"input\" type=\"text\" id=\"login-username\" placeholder=\"\" ref={usernameInputRef} onChange={() => setError(null)} />\r\n <label className=\"label\" htmlFor=\"login-username\" >Username o email</label>\r\n </div>\r\n\r\n <div className=\"form-group form-group--labelin form-group--toggle\">\r\n <input className=\"input\" type=\"password\" id=\"login-password\" placeholder=\"\" ref={passwordInputRef} onChange={() => setError(null)} />\r\n <label className=\"label\" htmlFor=\"login-password\">Password</label>\r\n {!isPwdShown &&\r\n <button className=\"input-btntoggle\" onClick={showPwd} type=\"button\">Mostra</button>\r\n }\r\n {isPwdShown &&\r\n <button className=\"input-btntoggle\" onClick={hidePwd} type=\"button\">Nascondi</button>\r\n }\r\n </div>\r\n\r\n <div className=\"form-group form-group--help\">\r\n <div className=\"custom-control custom-checkbox\">\r\n <input type=\"checkbox\" className=\"custom-control-input\" id=\"remember_me\" ref={rememberMeInputRef} />\r\n <label className=\"custom-control-label\" htmlFor=\"remember_me\">\r\n Ricordami\r\n </label>\r\n </div>\r\n <NavLink\r\n className=\"label ml-auto\"\r\n to={`${config.forgotPassword}${pageUrl}`}\r\n target=\"_blank\">\r\n Recupera password\r\n </NavLink>\r\n </div>\r\n\r\n <button type=\"submit\" className=\"btn btn--big btn--black btn--full\">Accedi</button>\r\n\r\n\r\n </form>\r\n {error !== null &&\r\n <div className=\"modal-soclogin\">\r\n <p className=\"modal-txt modal-txt--big\" htmlFor=\"login-error\" style={{ color: \"red\" }}>\r\n <span>{error}</span>\r\n </p>\r\n </div>\r\n }\r\n\r\n <div id=\"socialLogin\"></div>\r\n </div>\r\n </Modal.Body>\r\n\r\n <Modal.Footer className=\"modal-footer\">\r\n <p className=\"modal-txt modal-txt--big\">\r\n Non hai un account?\r\n <a href={config.linkRegistration} target=\"_blank\">Registrati qui</a>\r\n </p>\r\n </Modal.Footer>\r\n </div>\r\n </div>\r\n </div>\r\n </Modal>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default LoginModal;","import React from \"react\";\r\nimport { useContext } from \"react\";\r\n// React-Bootstrap\r\nimport Modal from 'react-bootstrap/Modal';\r\nimport AuthContext from \"../../store/auth-context\";\r\nimport TokenContext from \"../../store/token-context\";\r\n\r\nconst MessageManageSiac = (props) => {\r\n\r\n const tokenCtx = useContext(TokenContext);\r\n const authCtx = useContext(AuthContext);\r\n\r\n const handleClose = () => {\r\n tokenCtx.closeMessageManageSiac(false);\r\n tokenCtx.logoutToken();\r\n authCtx.onLogout();\r\n };\r\n\r\n return (\r\n <Modal show={props.show} onHide={handleClose}>\r\n <div className=\"modal-content\">\r\n <a role=\"button\" className=\"modal-close\" data-dismiss=\"modal\" aria-label=\"Close\" onClick={handleClose}>\r\n <span className=\"icon icon-cross-small\"></span>\r\n </a>\r\n <Modal.Header className=\"modal-header\">\r\n <h3 className=\"modal-title modal-title--icon\">\r\n Accesso non consentito\r\n <span className=\"icon icon-info-o\"></span>\r\n </h3>\r\n </Modal.Header>\r\n\r\n <Modal.Body className=\"modal-body\">\r\n <p className=\"modal-txt\">\r\n È stato raggiunto il numero massimo di accessi consentiti per questa utenza.\r\n </p>\r\n </Modal.Body>\r\n </div>\r\n </Modal>\r\n )\r\n}\r\n\r\nexport default MessageManageSiac;","\r\nimport React from 'react'\r\n\r\nconst UtilityWrapper = (props) => {\r\n\r\n return (\r\n <div className=\"main-content \">\r\n <div className=\"errorpage\">\r\n <div className=\"container\">\r\n {props.children}\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default UtilityWrapper;","import { useEffect } from 'react';\r\n\r\nconst useManageBodyClasses = () => {\r\n\r\n useEffect(() => {\r\n if (document.body.className.includes('is-home')) {\r\n document.body.classList.remove('is-home');\r\n }\r\n else {\r\n return;\r\n }\r\n }, []);\r\n\r\n};\r\n\r\nexport default useManageBodyClasses;","import React, { useContext } from \"react\";\r\nimport Modal from 'react-bootstrap/Modal';\r\nimport { NavLink, useNavigate } from \"react-router-dom\";\r\nimport AuthContext from \"../../store/auth-context\";\r\nimport { useState } from \"react\";\r\n\r\nconst SessioneScaduta = (props) => {\r\n\r\n const authCtx = useContext(AuthContext);\r\n const navigate = useNavigate();\r\n const logoutHandler = () => {\r\n if (authCtx.isLoggedIn)\r\n authCtx.onLogout(true);\r\n localStorage.removeItem(\"showModalSessione\");\r\n handleClose();\r\n navigate('/');\r\n };\r\n\r\n const handleClose = () => {\r\n props.closeModal({ showModal: false });\r\n };\r\n\r\n return (\r\n <Modal show={props.show} onHide={handleClose}>\r\n <div className=\"modal\" tabIndex=\"-1\" role=\"dialog\" style={{ 'display': 'block' }}>\r\n <div className=\"modal-dialog modal-dialog-centered modal-message\">\r\n <div className=\"modal-content\">\r\n <Modal.Header className=\"modal-header\">\r\n <h3 className=\"modal-title\">Sessione scaduta</h3>\r\n </Modal.Header>\r\n\r\n <Modal.Body className=\"modal-body\">\r\n <p className=\"modal-txt\">\r\n La sessione è scaduta. Effettua nuovamente l'accesso per consultare i libri del tuo abbonamento. \r\n <span role=\"button\" onClick={logoutHandler}> Clicca qui</span>\r\n </p>\r\n </Modal.Body>\r\n </div>\r\n </div>\r\n </div>\r\n </Modal>\r\n )\r\n}\r\n\r\nexport default SessioneScaduta;","import React, { useContext, useState, useEffect } from 'react'\r\nimport Header from '../components/Header/Header';\r\nimport Ricerca from '../components/Header/Ricerca/Ricerca';\r\nimport Wrapper from '../components/Helper/Wrapper/Wrapper';\r\nimport LoginModal from '../components/Modals/Login';\r\nimport MessageManageSiac from '../components/Modals/MessageManageSiac';\r\nimport UtilityWrapper from '../components/UtilityWrapper/UtilityWrapper';\r\nimport useManageBodyClasses from '../hooks/useManageBodyClasses';\r\nimport AuthContext from '../store/auth-context';\r\nimport TokenContext from '../store/token-context';\r\nimport SessioneScaduta from \"../components/Modals/SessioneScaduta\"\r\nconst Offline = (props) => {\r\n\r\n const authCtx = useContext(AuthContext);\r\n const tokenCtx= useContext(TokenContext);\r\n\r\n const [showSessione, setShowSessione] = useState(false);\r\n const [showModal, setShowModal] = useState(true);\r\n useEffect(() => {\r\n setShowSessione(localStorage.getItem(\"showModalSessione\") ? true : false);\r\n });\r\n useManageBodyClasses();\r\n\r\n return (\r\n <React.Fragment>\r\n <Wrapper>\r\n <Header showSecondRow={false} classSticky=\"sticky\" isIntegrateInBD={props.isIntegrateInBD}></Header>\r\n {authCtx.showLoginModal && <LoginModal show={authCtx.showLoginModal}></LoginModal> }\r\n {tokenCtx.showMessageSiac && <MessageManageSiac show={tokenCtx.showMessageSiac}></MessageManageSiac>}\r\n {showSessione && <SessioneScaduta show={showSessione} closeModal={(dismiss) => { setShowModal(dismiss.showModal) }}></SessioneScaduta>}\r\n <UtilityWrapper>\r\n <figure className=\"errorpage-img\">\r\n <img className=\"img-fluid\" src=\"/dist/img/offline.svg\" alt=\"\"/>\r\n </figure>\r\n <h1 className=\"errorpage-title\">\r\n <span className=\"errorpage-title-light\">Oops! </span>\r\n Sei Offline\r\n </h1>\r\n <p className=\"errorpage-text\">\r\n Nessuna connessione disponibile. Accedi ad una rete Internet per visualizzare correttamente tutti i contenuti di Book24ORE\r\n </p>\r\n <a className=\"btn btn--black btn--big\" href=\"#\">Ricarica pagina</a>\r\n </UtilityWrapper>\r\n\r\n <Ricerca></Ricerca>\r\n\r\n <div className=\"offline-wrapper\">\r\n <div className=\"container\">\r\n <p className=\"offline\">\r\n <span className=\"icon icon-offline\"></span>\r\n Nessuna connessione\r\n <span className=\"offline-status\">Ultimo aggiornamento: 28 Ottobre</span>\r\n </p>\r\n </div>\r\n </div>\r\n \r\n </Wrapper>\r\n </React.Fragment>\r\n )\r\n}\r\n\r\nexport default Offline;","export const ChooseAreaTematica = (themeArea) => {\r\n\r\n switch (themeArea) {\r\n case \"Contabilità \":\r\n return \"clr-con\";\r\n case \"Fisco e Imprese\":\r\n return \"clr-fis\";\r\n case \"Diritto\":\r\n return \"clr-dir\";\r\n case \"Lavoro\":\r\n return \"clr-lav\";\r\n case \"PA\":\r\n return \"clr-pa\";\r\n case \"Tecnici\":\r\n return \"clr-tec\";\r\n default:\r\n return \"\";\r\n }\r\n}","import React from 'react';\r\nimport { ChooseAreaTematica } from '../../Helper/ChooseAreaTematica/ChooseAreaTematica';\r\n\r\nconst AreaAllListHeader = (props) => {\r\n\r\n let classToUse = ChooseAreaTematica(props.themeArea);\r\n\r\n return (\r\n <React.Fragment>\r\n <div className={`heading heading--small ${classToUse} ${props.isPersonalArea ? 'heading--user' : ''}`} >\r\n <div className={`heading-wrapper ${props.themeArea ? 'bgr' : ''}`}>\r\n <div className=\"container\">\r\n <h1 className={`heading-title ${props.themeArea ? 'clr' : ''}`}>\r\n {`${props.themeArea ? props.themeArea : props.title}`}\r\n </h1>\r\n {props.children}\r\n </div>\r\n </div>\r\n </div>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default AreaAllListHeader;","import React from 'react';\r\n\r\nconst CarouselNavigator = () => {\r\n return (\r\n <React.Fragment>\r\n <nav className=\"carousel-nav d-none d-md-block\">\r\n <a className=\"carousel-btn carousel-btn--prev hide\"><span className=\"icon icon-arrow-left\"></span></a>\r\n <a className=\"carousel-btn carousel-btn--next hide\"><span className=\"icon icon-arrow-right\"></span></a>\r\n </nav>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default CarouselNavigator;","import React from \"react\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport CarouselNavigator from \"../../UI/CarouselNavigator/CarouselNavigator\";\r\n\r\nconst ProdottiWrapper = (props) => {\r\n\r\n const next = () => {\r\n props.next();\r\n };\r\n\r\n const previous = () => {\r\n props.previous();\r\n };\r\n\r\n return (\r\n <React.Fragment>\r\n <section className={`${\"section\"} ${props.sectionClassName}`}>\r\n <div className=\"container\">\r\n <div className=\"carousel-wrapper\">\r\n <div className=\"section-head\">\r\n <h2 className=\"section-title\">{props.title}</h2>\r\n\r\n {props.seeAll && \r\n <NavLink className=\"btn btn--all btn--icon-right\" to=\"/ricerca/daMieiLibri\">\r\n Vedi tutti <span className=\"icon icon-arrow-right\"></span>\r\n </NavLink>\r\n }\r\n\r\n {!props.seeAll && <CarouselNavigator previous={previous} next={next}></CarouselNavigator>}\r\n </div>\r\n\r\n {props.children}\r\n\r\n </div>\r\n\r\n </div>\r\n </section>\r\n </React.Fragment>\r\n );\r\n\r\n}\r\n\r\nexport default ProdottiWrapper;","import React from \"react\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { titleUrlSlug } from \"../../../helper/helper\";\r\nimport { updateLink } from \"../../../helper/TealiumHelper\";\r\n\r\nconst GestioneListaContinuaALeggere = (props) => {\r\n\r\n const deleteBook = (ev) => {\r\n ev.preventDefault();\r\n \r\n props.removeBook(props.idForDelete);\r\n\r\n updateLink({ title: props.title, name: \"rimuovi\" }, props.titleContainer);\r\n }\r\n\r\n const title = titleUrlSlug(props.title?.split(\"/\")[0].replaceAll(\" \", \"_\"));\r\n\r\n return (\r\n <React.Fragment>\r\n <div className=\"card-action\">\r\n\r\n <NavLink className=\"card-action-link\" to={`/Prodotto/${title}/${props.idProduct}/SchedaDescrizione`} role=\"button\" onClick={(ev) => {updateLink({ title: props.title, name: \"info\" }, props.titleContainer) }}>\r\n <span className=\"icon icon-info\"></span>\r\n info\r\n </NavLink>\r\n\r\n <a className=\"card-action-link\" onClick={deleteBook} role=\"button\">\r\n <span className=\"icon icon-remove\"></span>\r\n rimuovi\r\n </a>\r\n\r\n </div>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default GestioneListaContinuaALeggere;","import React from \"react\";\r\n\r\nconst Novita = () => {\r\n\r\n //useScript('/dist/js/app.js');\r\n\r\n return (\r\n <React.Fragment>\r\n <span className=\"card-news\">Novità </span>\r\n </React.Fragment>\r\n )\r\n}\r\n\r\nexport default Novita;","import React from 'react';\r\n\r\nconst Bookmark = () => {\r\n\r\n return(\r\n <React.Fragment>\r\n <span className=\"icon icon-bookmark-o card-bookmark\"></span>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default Bookmark;","import React from \"react\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { config } from \"../../../../constants/Constants\";\r\nimport { titleUrlSlug } from \"../../../../helper/helper\";\r\nimport { updateLink } from \"../../../../helper/TealiumHelper\";\r\n\r\nconst SchedaProdottoHeader = (props) => {\r\n var img = \"\";\r\n\r\n if(validURL(encodeURI(props.img))){\r\n img = props.img\r\n }else{\r\n img = props.img === '' ? (props.isSubscription ? config.imgDefaultPacch : config.imgDefaultLibro) : props.img;\r\n }\r\n\r\n const title = titleUrlSlug(props.title?.split(\"/\")[0].replaceAll(\" \", \"_\"));\r\n const link = !props.goToReaderDocument ? `/Prodotto/${title}/${props.idProduct}/SchedaDescrizione` : `/reader/${props.idForReading}`\r\n\r\n function validURL(str) {\r\n var pattern = new RegExp('^(https?:\\\\/\\\\/)?'+ // protocol\r\n '((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|'+ // domain name\r\n '((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))'+ // OR ip (v4) address\r\n '(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*'+ // port and path\r\n '(\\\\?[;&a-z\\\\d%_.~+=-]*)?'+ // query string\r\n '(\\\\#[-a-z\\\\d_]*)?$','i'); // fragment locator\r\n return !!pattern.test(str);\r\n }\r\n\r\n return (\r\n <React.Fragment>\r\n <figure className=\"card-img \">\r\n {props.isSubscription &&\r\n <NavLink to={`/Pacchetto/${props.idProduct}`} onClick={(ev) => {updateLink({ title: props.title, name: \"prodotto\" }, props.titleContainer) }}>\r\n <img className=\"card-img-full\" src={img} alt=\"\" />\r\n </NavLink>\r\n }\r\n {!props.isSubscription &&\r\n <NavLink to={link} onClick={(ev) => {updateLink({ title: props.title, name: \"prodotto\" }, props.titleContainer, props.title) }}>\r\n <span className=\"card-img-book\">\r\n <img src={img} alt=\"\" />\r\n </span>\r\n </NavLink>\r\n }\r\n </figure>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default SchedaProdottoHeader;","import React from \"react\";\r\nimport useScript from \"../../../hooks/useScript\";\r\nimport { config } from \"../../../constants/Constants\";\r\n\r\nconst ListaAutori = (props) => {\r\n\r\n let auth= <>{props.listAutori}</>;\r\n\r\n if(!props.isAbbonamento)\r\n {\r\n auth = <>Autori: {props.listAutori}</>\r\n }\r\n\r\n return (\r\n <React.Fragment>\r\n {auth}\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default ListaAutori;","import React from \"react\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { titleUrlSlug } from \"../../../../helper/helper\";\r\nimport { updateLink } from \"../../../../helper/TealiumHelper\";\r\nimport ListaAutori from \"../../ListaAutori/ListaAutori\";\r\n\r\nconst SchedaProdottoBody = (props) => {\r\n\r\n const d = new Date(props.dataDocument);\r\n let year = d.getFullYear();\r\n const title = titleUrlSlug(props.title?.split(\"/\")[0].replaceAll(\" \", \"_\"));\r\n const link = !props.goToReaderDocument ? `/Prodotto/${title}/${props.idProduct}/SchedaDescrizione` : `/reader/${props.idForReading}`;\r\n\r\n return (\r\n <React.Fragment>\r\n <div className=\"card-body-main\">\r\n <h4 className=\"card-title\">\r\n {props.isFromAnotherPage !== \"daMieiLibri\" &&\r\n <NavLink to={`${!props.isSubscription ? link : \"/Pacchetto/\" + props.idProduct}`} onClick={(ev) => { updateLink({ title: props.title, name: \"prodotto\" }, props.titleContainer, props.title) }}>\r\n {props.title}\r\n </NavLink>\r\n }\r\n {props.isFromAnotherPage === \"daMieiLibri\" &&\r\n <NavLink to={`${!props.isSubscription && year > 2020 ? \"/Prodotto/\" + title + \"/\" + props.idProduct + \"/SchedaDescrizione\" : \"/reader/\" + props.idProduct}`}\r\n onClick={(ev) => {\r\n updateLink({ title: props.title, name: \"prodotto\" }, props.titleContainer, props.title);\r\n localStorage.setItem(\"mantieniIFiltri\", true);\r\n }}>\r\n {props.title}\r\n </NavLink>\r\n }\r\n </h4>\r\n <p className=\"card-auth\">\r\n <ListaAutori isAbbonamento={props.isAbbonamento} listAutori={props.listAutori}></ListaAutori>\r\n </p>\r\n <p className=\"card-time\">\r\n {props.data}\r\n </p>\r\n </div>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default SchedaProdottoBody;","import React from \"react\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { splitFisco } from \"../../../helper/helper\";\r\nimport { updateLink } from \"../../../helper/TealiumHelper\";\r\n\r\nconst themeArea = (props) => {\r\n\r\n const themeArea = props.themeArea === \"Fisco e Imprese\" ? \"FiscoEImprese\" : props.themeArea;\r\n\r\n const classAreaTematica = () => {\r\n switch (themeArea) {\r\n case \"Contabilità \":\r\n return \"clr-con\";\r\n case \"FiscoEImprese\":\r\n return \"clr-fis\";\r\n case \"Diritto\":\r\n return \"clr-dir\";\r\n case \"Lavoro\":\r\n return \"clr-lav\";\r\n case \"PA\":\r\n return \"clr-pa\";\r\n case \"Tecnici\":\r\n return \"clr-tec\";\r\n default:\r\n return \"\";\r\n }\r\n };\r\n\r\n return (\r\n <React.Fragment>\r\n <li className=\"list-inline-item\">\r\n <span className={classAreaTematica()}>\r\n <NavLink className=\"tag clr bgr\" to={\"/Area/\" + themeArea} onClick={(ev) => {updateLink({ title: props.title, name: \"area\" }, props.titleContainer, props.title) }}>\r\n {props.themeArea}\r\n </NavLink>\r\n </span>\r\n </li>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default themeArea;","import React, { useState, useEffect } from \"react\";\r\nimport { updateLink } from \"../../../helper/TealiumHelper\";\r\nimport ThemeArea from \"../../Prodotti/ThemeArea/ThemeArea\";\r\n\r\nconst ManageThematicArea = (props) => {\r\n\r\n const [areaTematicaList, setAreaTematica] = useState(props.themeArea.length > 1 ? props.themeArea.slice(0, 2) : props.themeArea);\r\n const [expandAreaTematiche, setExpandAreaTematiche] = useState(false);\r\n\r\n const ShowAllAreeTematiche = (event) => {\r\n event.stopPropagation();\r\n setExpandAreaTematiche((prevExpandAreaTematiche) => {\r\n return !prevExpandAreaTematiche;\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n let ShowOrHideAreaTematicaList = setTimeout(() => {\r\n setAreaTematica(expandAreaTematiche ? props.themeArea : props.themeArea.slice(0, 2));\r\n }, 20);\r\n\r\n return () => {\r\n clearTimeout(ShowOrHideAreaTematicaList);\r\n };\r\n }, [props.themeArea, expandAreaTematiche]);\r\n\r\n return (\r\n <React.Fragment>\r\n {\r\n areaTematicaList.map(prod => (<ThemeArea\r\n key={prod.id}\r\n themeArea={prod.titleArea}\r\n titleContainer={props.titleContainer}\r\n title={/*window.location.pathname.split(\"/\")[1] === \"ricerca\" ? props.title : prod.titleArea*/props.title}\r\n />\r\n ))\r\n }\r\n\r\n {\r\n props.themeArea.length > 2 &&\r\n <li className=\"list-inline-item\">\r\n <span className=\"tag tag--small clr\" onClick={ShowAllAreeTematiche}>\r\n {!expandAreaTematiche ? '+' : '-'}{props.themeArea.length - 2}\r\n </span>\r\n </li>\r\n }\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default ManageThematicArea;","import * as React from 'react';\nexport class BsPrefixComponent extends React.Component {}\n\n// Need to use this instead of typeof Component to get proper type checking.\n\nexport function getOverlayDirection(placement, isRTL) {\n let bsDirection = placement;\n if (placement === 'left') {\n bsDirection = isRTL ? 'end' : 'start';\n } else if (placement === 'right') {\n bsDirection = isRTL ? 'start' : 'end';\n }\n return bsDirection;\n}","export default function getInitialPopperStyles(position = 'absolute') {\n return {\n position,\n top: '0',\n left: '0',\n opacity: '0',\n pointerEvents: 'none'\n };\n}","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useIsRTL } from './ThemeProvider';\nimport { getOverlayDirection } from './helpers';\nimport getInitialPopperStyles from './getInitialPopperStyles';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst Tooltip = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n placement = 'right',\n className,\n style,\n children,\n arrowProps,\n hasDoneInitialMeasure,\n popper,\n show,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'tooltip');\n const isRTL = useIsRTL();\n const [primaryPlacement] = (placement == null ? void 0 : placement.split('-')) || [];\n const bsDirection = getOverlayDirection(primaryPlacement, isRTL);\n let computedStyle = style;\n if (show && !hasDoneInitialMeasure) {\n computedStyle = {\n ...style,\n ...getInitialPopperStyles(popper == null ? void 0 : popper.strategy)\n };\n }\n return /*#__PURE__*/_jsxs(\"div\", {\n ref: ref,\n style: computedStyle,\n role: \"tooltip\",\n \"x-placement\": primaryPlacement,\n className: classNames(className, bsPrefix, `bs-tooltip-${bsDirection}`),\n ...props,\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: \"tooltip-arrow\",\n ...arrowProps\n }), /*#__PURE__*/_jsx(\"div\", {\n className: `${bsPrefix}-inner`,\n children: children\n })]\n });\n});\nTooltip.displayName = 'Tooltip';\nexport default Tooltip;","import { useMemo, useRef } from 'react';\nimport useMounted from './useMounted';\nimport useWillUnmount from './useWillUnmount';\n/*\n * Browsers including Internet Explorer, Chrome, Safari, and Firefox store the\n * delay as a 32-bit signed integer internally. This causes an integer overflow\n * when using delays larger than 2,147,483,647 ms (about 24.8 days),\n * resulting in the timeout being executed immediately.\n *\n * via: https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout\n */\n\nvar MAX_DELAY_MS = Math.pow(2, 31) - 1;\n\nfunction setChainedTimeout(handleRef, fn, timeoutAtMs) {\n var delayMs = timeoutAtMs - Date.now();\n handleRef.current = delayMs <= MAX_DELAY_MS ? setTimeout(fn, delayMs) : setTimeout(function () {\n return setChainedTimeout(handleRef, fn, timeoutAtMs);\n }, MAX_DELAY_MS);\n}\n/**\n * Returns a controller object for setting a timeout that is properly cleaned up\n * once the component unmounts. New timeouts cancel and replace existing ones.\n *\n *\n *\n * ```tsx\n * const { set, clear } = useTimeout();\n * const [hello, showHello] = useState(false);\n * //Display hello after 5 seconds\n * set(() => showHello(true), 5000);\n * return (\n * <div className=\"App\">\n * {hello ? <h3>Hello</h3> : null}\n * </div>\n * );\n * ```\n */\n\n\nexport default function useTimeout() {\n var isMounted = useMounted(); // types are confused between node and web here IDK\n\n var handleRef = useRef();\n useWillUnmount(function () {\n return clearTimeout(handleRef.current);\n });\n return useMemo(function () {\n var clear = function clear() {\n return clearTimeout(handleRef.current);\n };\n\n function set(fn, delayMs) {\n if (delayMs === void 0) {\n delayMs = 0;\n }\n\n if (!isMounted()) return;\n clear();\n\n if (delayMs <= MAX_DELAY_MS) {\n // For simplicity, if the timeout is short, just set a normal timeout.\n handleRef.current = setTimeout(fn, delayMs);\n } else {\n setChainedTimeout(handleRef, fn, Date.now() + delayMs);\n }\n }\n\n return {\n set: set,\n clear: clear\n };\n }, []);\n}","import invariant from 'invariant';\n\nvar noop = function noop() {};\n\nfunction readOnlyPropType(handler, name) {\n return function (props, propName) {\n if (props[propName] !== undefined) {\n if (!props[handler]) {\n return new Error(\"You have provided a `\" + propName + \"` prop to `\" + name + \"` \" + (\"without an `\" + handler + \"` handler prop. This will render a read-only field. \") + (\"If the field should be mutable use `\" + defaultKey(propName) + \"`. \") + (\"Otherwise, set `\" + handler + \"`.\"));\n }\n }\n };\n}\n\nexport function uncontrolledPropTypes(controlledValues, displayName) {\n var propTypes = {};\n Object.keys(controlledValues).forEach(function (prop) {\n // add default propTypes for folks that use runtime checks\n propTypes[defaultKey(prop)] = noop;\n\n if (process.env.NODE_ENV !== 'production') {\n var handler = controlledValues[prop];\n !(typeof handler === 'string' && handler.trim().length) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Uncontrollable - [%s]: the prop `%s` needs a valid handler key name in order to make it uncontrollable', displayName, prop) : invariant(false) : void 0;\n propTypes[prop] = readOnlyPropType(handler, displayName);\n }\n });\n return propTypes;\n}\nexport function isProp(props, prop) {\n return props[prop] !== undefined;\n}\nexport function defaultKey(key) {\n return 'default' + key.charAt(0).toUpperCase() + key.substr(1);\n}\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nexport function canAcceptRef(component) {\n return !!component && (typeof component !== 'function' || component.prototype && component.prototype.isReactComponent);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\n\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\n\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n\nimport { useCallback, useRef, useState } from 'react';\nimport * as Utils from './utils';\n\nfunction useUncontrolledProp(propValue, defaultValue, handler) {\n var wasPropRef = useRef(propValue !== undefined);\n\n var _useState = useState(defaultValue),\n stateValue = _useState[0],\n setState = _useState[1];\n\n var isProp = propValue !== undefined;\n var wasProp = wasPropRef.current;\n wasPropRef.current = isProp;\n /**\n * If a prop switches from controlled to Uncontrolled\n * reset its value to the defaultValue\n */\n\n if (!isProp && wasProp && stateValue !== defaultValue) {\n setState(defaultValue);\n }\n\n return [isProp ? propValue : stateValue, useCallback(function (value) {\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 (handler) handler.apply(void 0, [value].concat(args));\n setState(value);\n }, [handler])];\n}\n\nexport { useUncontrolledProp };\nexport default function useUncontrolled(props, config) {\n return Object.keys(config).reduce(function (result, fieldName) {\n var _extends2;\n\n var _ref = result,\n defaultValue = _ref[Utils.defaultKey(fieldName)],\n propsValue = _ref[fieldName],\n rest = _objectWithoutPropertiesLoose(_ref, [Utils.defaultKey(fieldName), fieldName].map(_toPropertyKey));\n\n var handlerName = config[fieldName];\n\n var _useUncontrolledProp = useUncontrolledProp(propsValue, defaultValue, props[handlerName]),\n value = _useUncontrolledProp[0],\n handler = _useUncontrolledProp[1];\n\n return _extends({}, rest, (_extends2 = {}, _extends2[fieldName] = value, _extends2[handlerName] = handler, _extends2));\n }, props);\n}","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n var F = function F() {};\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","var has = Object.prototype.hasOwnProperty;\n\nfunction find(iter, tar, key) {\n\tfor (key of iter.keys()) {\n\t\tif (dequal(key, tar)) return key;\n\t}\n}\n\nexport function dequal(foo, bar) {\n\tvar ctor, len, tmp;\n\tif (foo === bar) return true;\n\n\tif (foo && bar && (ctor=foo.constructor) === bar.constructor) {\n\t\tif (ctor === Date) return foo.getTime() === bar.getTime();\n\t\tif (ctor === RegExp) return foo.toString() === bar.toString();\n\n\t\tif (ctor === Array) {\n\t\t\tif ((len=foo.length) === bar.length) {\n\t\t\t\twhile (len-- && dequal(foo[len], bar[len]));\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (ctor === Set) {\n\t\t\tif (foo.size !== bar.size) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tfor (len of foo) {\n\t\t\t\ttmp = len;\n\t\t\t\tif (tmp && typeof tmp === 'object') {\n\t\t\t\t\ttmp = find(bar, tmp);\n\t\t\t\t\tif (!tmp) return false;\n\t\t\t\t}\n\t\t\t\tif (!bar.has(tmp)) return false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\n\t\tif (ctor === Map) {\n\t\t\tif (foo.size !== bar.size) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tfor (len of foo) {\n\t\t\t\ttmp = len[0];\n\t\t\t\tif (tmp && typeof tmp === 'object') {\n\t\t\t\t\ttmp = find(bar, tmp);\n\t\t\t\t\tif (!tmp) return false;\n\t\t\t\t}\n\t\t\t\tif (!dequal(len[1], bar.get(tmp))) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\n\t\tif (ctor === ArrayBuffer) {\n\t\t\tfoo = new Uint8Array(foo);\n\t\t\tbar = new Uint8Array(bar);\n\t\t} else if (ctor === DataView) {\n\t\t\tif ((len=foo.byteLength) === bar.byteLength) {\n\t\t\t\twhile (len-- && foo.getInt8(len) === bar.getInt8(len));\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (ArrayBuffer.isView(foo)) {\n\t\t\tif ((len=foo.byteLength) === bar.byteLength) {\n\t\t\t\twhile (len-- && foo[len] === bar[len]);\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (!ctor || typeof foo === 'object') {\n\t\t\tlen = 0;\n\t\t\tfor (ctor in foo) {\n\t\t\t\tif (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;\n\t\t\t\tif (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;\n\t\t\t}\n\t\t\treturn Object.keys(bar).length === len;\n\t\t}\n\t}\n\n\treturn foo !== foo && bar !== bar;\n}\n","import { useCallback } from 'react';\nimport useMounted from './useMounted';\n\nfunction useSafeState(state) {\n var isMounted = useMounted();\n return [state[0], useCallback(function (nextState) {\n if (!isMounted()) return;\n return state[1](nextState);\n }, [isMounted, state[1]])];\n}\n\nexport default useSafeState;","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n if (!isHTMLElement(arrowElement)) {\n console.error(['Popper: \"arrow\" element must be an HTMLElement (not an SVGElement).', 'To use an SVG arrow, wrap it in an HTMLElement that will be used as', 'the arrow.'].join(' '));\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: \"arrow\" modifier\\'s `element` must be a child of the popper', 'element.'].join(' '));\n }\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref) {\n var x = _ref.x,\n y = _ref.y;\n var win = window;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n\n if (process.env.NODE_ENV !== \"production\") {\n var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || '';\n\n if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) {\n return transitionProperty.indexOf(property) >= 0;\n })) {\n console.warn(['Popper: Detected CSS transitions on at least one of the following', 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".', '\\n\\n', 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow', 'for smooth transitions, or remove these properties from the CSS', 'transition declaration on the popper element if only transitioning', 'opacity or background-color for example.', '\\n\\n', 'We recommend using the popper element as a wrapper around an inner', 'element that can have any CSS property transitioned for animations.'].join(' '));\n }\n }\n\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If <html> has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on <html>\n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: The `allowedAutoPlacements` option did not allow any', 'placements. Ensure the `placement` option matches the variation', 'of the allowed placements.', 'For example, \"auto\" cannot be used to allow \"bottom-start\".', 'Use \"auto-start\" instead.'].join(' '));\n }\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport getComputedStyle from \"./dom-utils/getComputedStyle.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport validateModifiers from \"./utils/validateModifiers.js\";\nimport uniqueBy from \"./utils/uniqueBy.js\";\nimport getBasePlacement from \"./utils/getBasePlacement.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nimport { auto } from \"./enums.js\";\nvar INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nvar INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n }); // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n\n if (process.env.NODE_ENV !== \"production\") {\n var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function (_ref) {\n var name = _ref.name;\n return name;\n });\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n var flipModifier = state.orderedModifiers.find(function (_ref2) {\n var name = _ref2.name;\n return name === 'flip';\n });\n\n if (!flipModifier) {\n console.error(['Popper: \"auto\" placements require the \"flip\" modifier be', 'present and enabled to work.'].join(' '));\n }\n }\n\n var _getComputedStyle = getComputedStyle(popper),\n marginTop = _getComputedStyle.marginTop,\n marginRight = _getComputedStyle.marginRight,\n marginBottom = _getComputedStyle.marginBottom,\n marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n\n\n if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) {\n return parseFloat(margin);\n })) {\n console.warn(['Popper: CSS \"margin\" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' '));\n }\n }\n\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n var __debug_loops__ = 0;\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (process.env.NODE_ENV !== \"production\") {\n __debug_loops__ += 1;\n\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref3) {\n var name = _ref3.name,\n _ref3$options = _ref3.options,\n options = _ref3$options === void 0 ? {} : _ref3$options,\n effect = _ref3.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import arrow from '@popperjs/core/lib/modifiers/arrow';\nimport computeStyles from '@popperjs/core/lib/modifiers/computeStyles';\nimport eventListeners from '@popperjs/core/lib/modifiers/eventListeners';\nimport flip from '@popperjs/core/lib/modifiers/flip';\nimport hide from '@popperjs/core/lib/modifiers/hide';\nimport offset from '@popperjs/core/lib/modifiers/offset';\nimport popperOffsets from '@popperjs/core/lib/modifiers/popperOffsets';\nimport preventOverflow from '@popperjs/core/lib/modifiers/preventOverflow';\nimport { placements } from '@popperjs/core/lib/enums';\nimport { popperGenerator } from '@popperjs/core/lib/popper-base';\n\n// For the common JS build we will turn this file into a bundle with no imports.\n// This is b/c the Popper lib is all esm files, and would break in a common js only environment\nexport const createPopper = popperGenerator({\n defaultModifiers: [hide, popperOffsets, computeStyles, eventListeners, offset, flip, preventOverflow, arrow]\n});\nexport { placements };","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","const _excluded = [\"enabled\", \"placement\", \"strategy\", \"modifiers\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { dequal } from 'dequal';\nimport useSafeState from '@restart/hooks/useSafeState';\nimport { createPopper } from './popper';\nconst disabledApplyStylesModifier = {\n name: 'applyStyles',\n enabled: false,\n phase: 'afterWrite',\n fn: () => undefined\n};\n\n// until docjs supports type exports...\n\nconst ariaDescribedByModifier = {\n name: 'ariaDescribedBy',\n enabled: true,\n phase: 'afterWrite',\n effect: ({\n state\n }) => () => {\n const {\n reference,\n popper\n } = state.elements;\n if ('removeAttribute' in reference) {\n const ids = (reference.getAttribute('aria-describedby') || '').split(',').filter(id => id.trim() !== popper.id);\n if (!ids.length) reference.removeAttribute('aria-describedby');else reference.setAttribute('aria-describedby', ids.join(','));\n }\n },\n fn: ({\n state\n }) => {\n var _popper$getAttribute;\n const {\n popper,\n reference\n } = state.elements;\n const role = (_popper$getAttribute = popper.getAttribute('role')) == null ? void 0 : _popper$getAttribute.toLowerCase();\n if (popper.id && role === 'tooltip' && 'setAttribute' in reference) {\n const ids = reference.getAttribute('aria-describedby');\n if (ids && ids.split(',').indexOf(popper.id) !== -1) {\n return;\n }\n reference.setAttribute('aria-describedby', ids ? `${ids},${popper.id}` : popper.id);\n }\n }\n};\nconst EMPTY_MODIFIERS = [];\n/**\n * Position an element relative some reference element using Popper.js\n *\n * @param referenceElement\n * @param popperElement\n * @param {object} options\n * @param {object=} options.modifiers Popper.js modifiers\n * @param {boolean=} options.enabled toggle the popper functionality on/off\n * @param {string=} options.placement The popper element placement relative to the reference element\n * @param {string=} options.strategy the positioning strategy\n * @param {function=} options.onCreate called when the popper is created\n * @param {function=} options.onUpdate called when the popper is updated\n *\n * @returns {UsePopperState} The popper state\n */\nfunction usePopper(referenceElement, popperElement, _ref = {}) {\n let {\n enabled = true,\n placement = 'bottom',\n strategy = 'absolute',\n modifiers = EMPTY_MODIFIERS\n } = _ref,\n config = _objectWithoutPropertiesLoose(_ref, _excluded);\n const prevModifiers = useRef(modifiers);\n const popperInstanceRef = useRef();\n const update = useCallback(() => {\n var _popperInstanceRef$cu;\n (_popperInstanceRef$cu = popperInstanceRef.current) == null ? void 0 : _popperInstanceRef$cu.update();\n }, []);\n const forceUpdate = useCallback(() => {\n var _popperInstanceRef$cu2;\n (_popperInstanceRef$cu2 = popperInstanceRef.current) == null ? void 0 : _popperInstanceRef$cu2.forceUpdate();\n }, []);\n const [popperState, setState] = useSafeState(useState({\n placement,\n update,\n forceUpdate,\n attributes: {},\n styles: {\n popper: {},\n arrow: {}\n }\n }));\n const updateModifier = useMemo(() => ({\n name: 'updateStateModifier',\n enabled: true,\n phase: 'write',\n requires: ['computeStyles'],\n fn: ({\n state\n }) => {\n const styles = {};\n const attributes = {};\n Object.keys(state.elements).forEach(element => {\n styles[element] = state.styles[element];\n attributes[element] = state.attributes[element];\n });\n setState({\n state,\n styles,\n attributes,\n update,\n forceUpdate,\n placement: state.placement\n });\n }\n }), [update, forceUpdate, setState]);\n const nextModifiers = useMemo(() => {\n if (!dequal(prevModifiers.current, modifiers)) {\n prevModifiers.current = modifiers;\n }\n return prevModifiers.current;\n }, [modifiers]);\n useEffect(() => {\n if (!popperInstanceRef.current || !enabled) return;\n popperInstanceRef.current.setOptions({\n placement,\n strategy,\n modifiers: [...nextModifiers, updateModifier, disabledApplyStylesModifier]\n });\n }, [strategy, placement, updateModifier, enabled, nextModifiers]);\n useEffect(() => {\n if (!enabled || referenceElement == null || popperElement == null) {\n return undefined;\n }\n popperInstanceRef.current = createPopper(referenceElement, popperElement, Object.assign({}, config, {\n placement,\n strategy,\n modifiers: [...nextModifiers, ariaDescribedByModifier, updateModifier]\n }));\n return () => {\n if (popperInstanceRef.current != null) {\n popperInstanceRef.current.destroy();\n popperInstanceRef.current = undefined;\n setState(s => Object.assign({}, s, {\n attributes: {},\n styles: {\n popper: {}\n }\n }));\n }\n };\n // This is only run once to _create_ the popper\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [enabled, referenceElement, popperElement]);\n return popperState;\n}\nexport default usePopper;","import contains from 'dom-helpers/contains';\nimport listen from 'dom-helpers/listen';\nimport ownerDocument from 'dom-helpers/ownerDocument';\nimport { useCallback, useEffect, useRef } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport warning from 'warning';\nconst noop = () => {};\nfunction isLeftClickEvent(event) {\n return event.button === 0;\n}\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\nexport const getRefTarget = ref => ref && ('current' in ref ? ref.current : ref);\nconst InitialTriggerEvents = {\n click: 'mousedown',\n mouseup: 'mousedown',\n pointerup: 'pointerdown'\n};\n\n/**\n * The `useClickOutside` hook registers your callback on the document that fires\n * when a pointer event is registered outside of the provided ref or element.\n *\n * @param {Ref<HTMLElement>| HTMLElement} ref The element boundary\n * @param {function} onClickOutside\n * @param {object=} options\n * @param {boolean=} options.disabled\n * @param {string=} options.clickTrigger The DOM event name (click, mousedown, etc) to attach listeners on\n */\nfunction useClickOutside(ref, onClickOutside = noop, {\n disabled,\n clickTrigger = 'click'\n} = {}) {\n const preventMouseClickOutsideRef = useRef(false);\n const waitingForTrigger = useRef(false);\n const handleMouseCapture = useCallback(e => {\n const currentTarget = getRefTarget(ref);\n warning(!!currentTarget, 'ClickOutside captured a close event but does not have a ref to compare it to. ' + 'useClickOutside(), should be passed a ref that resolves to a DOM node');\n preventMouseClickOutsideRef.current = !currentTarget || isModifiedEvent(e) || !isLeftClickEvent(e) || !!contains(currentTarget, e.target) || waitingForTrigger.current;\n waitingForTrigger.current = false;\n }, [ref]);\n const handleInitialMouse = useEventCallback(e => {\n const currentTarget = getRefTarget(ref);\n if (currentTarget && contains(currentTarget, e.target)) {\n waitingForTrigger.current = true;\n }\n });\n const handleMouse = useEventCallback(e => {\n if (!preventMouseClickOutsideRef.current) {\n onClickOutside(e);\n }\n });\n useEffect(() => {\n if (disabled || ref == null) return undefined;\n const doc = ownerDocument(getRefTarget(ref));\n\n // Store the current event to avoid triggering handlers immediately\n // https://github.com/facebook/react/issues/20074\n let currentEvent = (doc.defaultView || window).event;\n let removeInitialTriggerListener = null;\n if (InitialTriggerEvents[clickTrigger]) {\n removeInitialTriggerListener = listen(doc, InitialTriggerEvents[clickTrigger], handleInitialMouse, true);\n }\n\n // Use capture for this listener so it fires before React's listener, to\n // avoid false positives in the contains() check below if the target DOM\n // element is removed in the React mouse callback.\n const removeMouseCaptureListener = listen(doc, clickTrigger, handleMouseCapture, true);\n const removeMouseListener = listen(doc, clickTrigger, e => {\n // skip if this event is the same as the one running when we added the handlers\n if (e === currentEvent) {\n currentEvent = undefined;\n return;\n }\n handleMouse(e);\n });\n let mobileSafariHackListeners = [];\n if ('ontouchstart' in doc.documentElement) {\n mobileSafariHackListeners = [].slice.call(doc.body.children).map(el => listen(el, 'mousemove', noop));\n }\n return () => {\n removeInitialTriggerListener == null ? void 0 : removeInitialTriggerListener();\n removeMouseCaptureListener();\n removeMouseListener();\n mobileSafariHackListeners.forEach(remove => remove());\n };\n }, [ref, disabled, clickTrigger, handleMouseCapture, handleInitialMouse, handleMouse]);\n}\nexport default useClickOutside;","import listen from 'dom-helpers/listen';\nimport ownerDocument from 'dom-helpers/ownerDocument';\nimport { useEffect } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport useClickOutside, { getRefTarget } from './useClickOutside';\nimport { isEscKey } from './utils';\nconst noop = () => {};\n/**\n * The `useRootClose` hook registers your callback on the document\n * when rendered. Powers the `<Overlay/>` component. This is used achieve modal\n * style behavior where your callback is triggered when the user tries to\n * interact with the rest of the document or hits the `esc` key.\n *\n * @param {Ref<HTMLElement>| HTMLElement} ref The element boundary\n * @param {function} onRootClose\n * @param {object=} options\n * @param {boolean=} options.disabled\n * @param {string=} options.clickTrigger The DOM event name (click, mousedown, etc) to attach listeners on\n */\nfunction useRootClose(ref, onRootClose, {\n disabled,\n clickTrigger\n} = {}) {\n const onClose = onRootClose || noop;\n useClickOutside(ref, onClose, {\n disabled,\n clickTrigger\n });\n const handleKeyUp = useEventCallback(e => {\n if (isEscKey(e)) {\n onClose(e);\n }\n });\n useEffect(() => {\n if (disabled || ref == null) return undefined;\n const doc = ownerDocument(getRefTarget(ref));\n\n // Store the current event to avoid triggering handlers immediately\n // https://github.com/facebook/react/issues/20074\n let currentEvent = (doc.defaultView || window).event;\n const removeKeyupListener = listen(doc, 'keyup', e => {\n // skip if this event is the same as the one running when we added the handlers\n if (e === currentEvent) {\n currentEvent = undefined;\n return;\n }\n handleKeyUp(e);\n });\n return () => {\n removeKeyupListener();\n };\n }, [ref, disabled, handleKeyUp]);\n}\nexport default useRootClose;","export function toModifierMap(modifiers) {\n const result = {};\n if (!Array.isArray(modifiers)) {\n return modifiers || result;\n }\n\n // eslint-disable-next-line no-unused-expressions\n modifiers == null ? void 0 : modifiers.forEach(m => {\n result[m.name] = m;\n });\n return result;\n}\nexport function toModifierArray(map = {}) {\n if (Array.isArray(map)) return map;\n return Object.keys(map).map(k => {\n map[k].name = k;\n return map[k];\n });\n}\nexport default function mergeOptionsWithPopperConfig({\n enabled,\n enableEvents,\n placement,\n flip,\n offset,\n fixed,\n containerPadding,\n arrowElement,\n popperConfig = {}\n}) {\n var _modifiers$eventListe, _modifiers$preventOve, _modifiers$preventOve2, _modifiers$offset, _modifiers$arrow;\n const modifiers = toModifierMap(popperConfig.modifiers);\n return Object.assign({}, popperConfig, {\n placement,\n enabled,\n strategy: fixed ? 'fixed' : popperConfig.strategy,\n modifiers: toModifierArray(Object.assign({}, modifiers, {\n eventListeners: {\n enabled: enableEvents,\n options: (_modifiers$eventListe = modifiers.eventListeners) == null ? void 0 : _modifiers$eventListe.options\n },\n preventOverflow: Object.assign({}, modifiers.preventOverflow, {\n options: containerPadding ? Object.assign({\n padding: containerPadding\n }, (_modifiers$preventOve = modifiers.preventOverflow) == null ? void 0 : _modifiers$preventOve.options) : (_modifiers$preventOve2 = modifiers.preventOverflow) == null ? void 0 : _modifiers$preventOve2.options\n }),\n offset: {\n options: Object.assign({\n offset\n }, (_modifiers$offset = modifiers.offset) == null ? void 0 : _modifiers$offset.options)\n },\n arrow: Object.assign({}, modifiers.arrow, {\n enabled: !!arrowElement,\n options: Object.assign({}, (_modifiers$arrow = modifiers.arrow) == null ? void 0 : _modifiers$arrow.options, {\n element: arrowElement\n })\n }),\n flip: Object.assign({\n enabled: !!flip\n }, modifiers.flip)\n }))\n });\n}","import * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport useCallbackRef from '@restart/hooks/useCallbackRef';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport { useState } from 'react';\nimport usePopper from './usePopper';\nimport useRootClose from './useRootClose';\nimport useWaitForDOMRef from './useWaitForDOMRef';\nimport mergeOptionsWithPopperConfig from './mergeOptionsWithPopperConfig';\nimport { renderTransition } from './ImperativeTransition';\n/**\n * Built on top of `Popper.js`, the overlay component is\n * great for custom tooltip overlays.\n */\nconst Overlay = /*#__PURE__*/React.forwardRef((props, outerRef) => {\n const {\n flip,\n offset,\n placement,\n containerPadding,\n popperConfig = {},\n transition: Transition,\n runTransition\n } = props;\n const [rootElement, attachRef] = useCallbackRef();\n const [arrowElement, attachArrowRef] = useCallbackRef();\n const mergedRef = useMergedRefs(attachRef, outerRef);\n const container = useWaitForDOMRef(props.container);\n const target = useWaitForDOMRef(props.target);\n const [exited, setExited] = useState(!props.show);\n const popper = usePopper(target, rootElement, mergeOptionsWithPopperConfig({\n placement,\n enableEvents: !!props.show,\n containerPadding: containerPadding || 5,\n flip,\n offset,\n arrowElement,\n popperConfig\n }));\n\n // TODO: I think this needs to be in an effect\n if (props.show && exited) {\n setExited(false);\n }\n const handleHidden = (...args) => {\n setExited(true);\n if (props.onExited) {\n props.onExited(...args);\n }\n };\n\n // Don't un-render the overlay while it's transitioning out.\n const mountOverlay = props.show || !exited;\n useRootClose(rootElement, props.onHide, {\n disabled: !props.rootClose || props.rootCloseDisabled,\n clickTrigger: props.rootCloseEvent\n });\n if (!mountOverlay) {\n // Don't bother showing anything if we don't have to.\n return null;\n }\n const {\n onExit,\n onExiting,\n onEnter,\n onEntering,\n onEntered\n } = props;\n let child = props.children(Object.assign({}, popper.attributes.popper, {\n style: popper.styles.popper,\n ref: mergedRef\n }), {\n popper,\n placement,\n show: !!props.show,\n arrowProps: Object.assign({}, popper.attributes.arrow, {\n style: popper.styles.arrow,\n ref: attachArrowRef\n })\n });\n child = renderTransition(Transition, runTransition, {\n in: !!props.show,\n appear: true,\n mountOnEnter: true,\n unmountOnExit: true,\n children: child,\n onExit,\n onExiting,\n onExited: handleHidden,\n onEnter,\n onEntering,\n onEntered\n });\n return container ? /*#__PURE__*/ReactDOM.createPortal(child, container) : null;\n});\nOverlay.displayName = 'Overlay';\nexport default Overlay;","import createWithBsPrefix from './createWithBsPrefix';\nexport default createWithBsPrefix('popover-header');","import createWithBsPrefix from './createWithBsPrefix';\nexport default createWithBsPrefix('popover-body');","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useIsRTL } from './ThemeProvider';\nimport PopoverHeader from './PopoverHeader';\nimport PopoverBody from './PopoverBody';\nimport { getOverlayDirection } from './helpers';\nimport getInitialPopperStyles from './getInitialPopperStyles';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst Popover = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n placement = 'right',\n className,\n style,\n children,\n body,\n arrowProps,\n hasDoneInitialMeasure,\n popper,\n show,\n ...props\n}, ref) => {\n const decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'popover');\n const isRTL = useIsRTL();\n const [primaryPlacement] = (placement == null ? void 0 : placement.split('-')) || [];\n const bsDirection = getOverlayDirection(primaryPlacement, isRTL);\n let computedStyle = style;\n if (show && !hasDoneInitialMeasure) {\n computedStyle = {\n ...style,\n ...getInitialPopperStyles(popper == null ? void 0 : popper.strategy)\n };\n }\n return /*#__PURE__*/_jsxs(\"div\", {\n ref: ref,\n role: \"tooltip\",\n style: computedStyle,\n \"x-placement\": primaryPlacement,\n className: classNames(className, decoratedBsPrefix, primaryPlacement && `bs-popover-${bsDirection}`),\n ...props,\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: \"popover-arrow\",\n ...arrowProps\n }), body ? /*#__PURE__*/_jsx(PopoverBody, {\n children: children\n }) : children]\n });\n});\nexport default Object.assign(Popover, {\n Header: PopoverHeader,\n Body: PopoverBody,\n // Default popover offset.\n // https://github.com/twbs/bootstrap/blob/5c32767e0e0dbac2d934bcdee03719a65d3f1187/js/src/popover.js#L28\n POPPER_OFFSET: [0, 8]\n});","import * as React from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport BaseOverlay from '@restart/ui/Overlay';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport useIsomorphicEffect from '@restart/hooks/useIsomorphicEffect';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport useOverlayOffset from './useOverlayOffset';\nimport Fade from './Fade';\nimport safeFindDOMNode from './safeFindDOMNode';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction wrapRefs(props, arrowProps) {\n const {\n ref\n } = props;\n const {\n ref: aRef\n } = arrowProps;\n props.ref = ref.__wrapped || (ref.__wrapped = r => ref(safeFindDOMNode(r)));\n arrowProps.ref = aRef.__wrapped || (aRef.__wrapped = r => aRef(safeFindDOMNode(r)));\n}\nconst Overlay = /*#__PURE__*/React.forwardRef(({\n children: overlay,\n transition = Fade,\n popperConfig = {},\n rootClose = false,\n placement = 'top',\n show: outerShow = false,\n ...outerProps\n}, outerRef) => {\n const popperRef = useRef({});\n const [firstRenderedState, setFirstRenderedState] = useState(null);\n const [ref, modifiers] = useOverlayOffset(outerProps.offset);\n const mergedRef = useMergedRefs(outerRef, ref);\n const actualTransition = transition === true ? Fade : transition || undefined;\n const handleFirstUpdate = useEventCallback(state => {\n setFirstRenderedState(state);\n popperConfig == null ? void 0 : popperConfig.onFirstUpdate == null ? void 0 : popperConfig.onFirstUpdate(state);\n });\n useIsomorphicEffect(() => {\n if (firstRenderedState) {\n popperRef.current.scheduleUpdate == null ? void 0 : popperRef.current.scheduleUpdate();\n }\n }, [firstRenderedState]);\n useEffect(() => {\n if (!outerShow) {\n setFirstRenderedState(null);\n }\n }, [outerShow]);\n return /*#__PURE__*/_jsx(BaseOverlay, {\n ...outerProps,\n ref: mergedRef,\n popperConfig: {\n ...popperConfig,\n modifiers: modifiers.concat(popperConfig.modifiers || []),\n onFirstUpdate: handleFirstUpdate\n },\n transition: actualTransition,\n rootClose: rootClose,\n placement: placement,\n show: outerShow,\n children: (overlayProps, {\n arrowProps,\n popper: popperObj,\n show\n }) => {\n var _popperObj$state, _popperObj$state$modi;\n wrapRefs(overlayProps, arrowProps);\n // Need to get placement from popper object, handling case when overlay is flipped using 'flip' prop\n const updatedPlacement = popperObj == null ? void 0 : popperObj.placement;\n const popper = Object.assign(popperRef.current, {\n state: popperObj == null ? void 0 : popperObj.state,\n scheduleUpdate: popperObj == null ? void 0 : popperObj.update,\n placement: updatedPlacement,\n outOfBoundaries: (popperObj == null ? void 0 : (_popperObj$state = popperObj.state) == null ? void 0 : (_popperObj$state$modi = _popperObj$state.modifiersData.hide) == null ? void 0 : _popperObj$state$modi.isReferenceHidden) || false,\n strategy: popperConfig.strategy\n });\n const hasDoneInitialMeasure = !!firstRenderedState;\n if (typeof overlay === 'function') return overlay({\n ...overlayProps,\n placement: updatedPlacement,\n show,\n ...(!transition && show && {\n className: 'show'\n }),\n popper,\n arrowProps,\n hasDoneInitialMeasure\n });\n return /*#__PURE__*/React.cloneElement(overlay, {\n ...overlayProps,\n placement: updatedPlacement,\n arrowProps,\n popper,\n hasDoneInitialMeasure,\n className: classNames(overlay.props.className, !transition && show && 'show'),\n style: {\n ...overlay.props.style,\n ...overlayProps.style\n }\n });\n }\n });\n});\nOverlay.displayName = 'Overlay';\nexport default Overlay;","import { useMemo, useRef } from 'react';\nimport hasClass from 'dom-helpers/hasClass';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport Popover from './Popover';\n\n// This is meant for internal use.\n// This applies a custom offset to the overlay if it's a popover.\nexport default function useOverlayOffset(customOffset) {\n const overlayRef = useRef(null);\n const popoverClass = useBootstrapPrefix(undefined, 'popover');\n const offset = useMemo(() => ({\n name: 'offset',\n options: {\n offset: () => {\n if (overlayRef.current && hasClass(overlayRef.current, popoverClass)) {\n return customOffset || Popover.POPPER_OFFSET;\n }\n return customOffset || [0, 0];\n }\n }\n }), [customOffset, popoverClass]);\n return [overlayRef, [offset]];\n}","import contains from 'dom-helpers/contains';\nimport * as React from 'react';\nimport { cloneElement, useCallback, useRef } from 'react';\nimport useTimeout from '@restart/hooks/useTimeout';\nimport warning from 'warning';\nimport { useUncontrolledProp } from 'uncontrollable';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport Overlay from './Overlay';\nimport safeFindDOMNode from './safeFindDOMNode';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction normalizeDelay(delay) {\n return delay && typeof delay === 'object' ? delay : {\n show: delay,\n hide: delay\n };\n}\n\n// Simple implementation of mouseEnter and mouseLeave.\n// React's built version is broken: https://github.com/facebook/react/issues/4251\n// for cases when the trigger is disabled and mouseOut/Over can cause flicker\n// moving from one child element to another.\nfunction handleMouseOverOut(\n// eslint-disable-next-line @typescript-eslint/no-shadow\nhandler, args, relatedNative) {\n const [e] = args;\n const target = e.currentTarget;\n const related = e.relatedTarget || e.nativeEvent[relatedNative];\n if ((!related || related !== target) && !contains(target, related)) {\n handler(...args);\n }\n}\nfunction OverlayTrigger({\n trigger = ['hover', 'focus'],\n overlay,\n children,\n popperConfig = {},\n show: propsShow,\n defaultShow = false,\n onToggle,\n delay: propsDelay,\n placement,\n flip = placement && placement.indexOf('auto') !== -1,\n ...props\n}) {\n const triggerNodeRef = useRef(null);\n const mergedRef = useMergedRefs(triggerNodeRef, children.ref);\n const timeout = useTimeout();\n const hoverStateRef = useRef('');\n const [show, setShow] = useUncontrolledProp(propsShow, defaultShow, onToggle);\n const delay = normalizeDelay(propsDelay);\n const {\n onFocus,\n onBlur,\n onClick\n } = typeof children !== 'function' ? React.Children.only(children).props : {};\n const attachRef = r => {\n mergedRef(safeFindDOMNode(r));\n };\n const handleShow = useCallback(() => {\n timeout.clear();\n hoverStateRef.current = 'show';\n if (!delay.show) {\n setShow(true);\n return;\n }\n timeout.set(() => {\n if (hoverStateRef.current === 'show') setShow(true);\n }, delay.show);\n }, [delay.show, setShow, timeout]);\n const handleHide = useCallback(() => {\n timeout.clear();\n hoverStateRef.current = 'hide';\n if (!delay.hide) {\n setShow(false);\n return;\n }\n timeout.set(() => {\n if (hoverStateRef.current === 'hide') setShow(false);\n }, delay.hide);\n }, [delay.hide, setShow, timeout]);\n const handleFocus = useCallback((...args) => {\n handleShow();\n onFocus == null ? void 0 : onFocus(...args);\n }, [handleShow, onFocus]);\n const handleBlur = useCallback((...args) => {\n handleHide();\n onBlur == null ? void 0 : onBlur(...args);\n }, [handleHide, onBlur]);\n const handleClick = useCallback((...args) => {\n setShow(!show);\n onClick == null ? void 0 : onClick(...args);\n }, [onClick, setShow, show]);\n const handleMouseOver = useCallback((...args) => {\n handleMouseOverOut(handleShow, args, 'fromElement');\n }, [handleShow]);\n const handleMouseOut = useCallback((...args) => {\n handleMouseOverOut(handleHide, args, 'toElement');\n }, [handleHide]);\n const triggers = trigger == null ? [] : [].concat(trigger);\n const triggerProps = {\n ref: attachRef\n };\n if (triggers.indexOf('click') !== -1) {\n triggerProps.onClick = handleClick;\n }\n if (triggers.indexOf('focus') !== -1) {\n triggerProps.onFocus = handleFocus;\n triggerProps.onBlur = handleBlur;\n }\n if (triggers.indexOf('hover') !== -1) {\n process.env.NODE_ENV !== \"production\" ? warning(triggers.length > 1, '[react-bootstrap] Specifying only the `\"hover\"` trigger limits the visibility of the overlay to just mouse users. Consider also including the `\"focus\"` trigger so that touch and keyboard only users can see the overlay as well.') : void 0;\n triggerProps.onMouseOver = handleMouseOver;\n triggerProps.onMouseOut = handleMouseOut;\n }\n return /*#__PURE__*/_jsxs(_Fragment, {\n children: [typeof children === 'function' ? children(triggerProps) : /*#__PURE__*/cloneElement(children, triggerProps), /*#__PURE__*/_jsx(Overlay, {\n ...props,\n show: show,\n onHide: handleHide,\n flip: flip,\n placement: placement,\n popperConfig: popperConfig,\n target: triggerNodeRef.current,\n children: overlay\n })]\n });\n}\nexport default OverlayTrigger;","import React from \"react\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\n\r\nconst InAggiornamento = (props) => {\r\n\r\n const tooltip = (<Tooltip id=\"tooltip\">\r\n Sempre aggiornato\r\n </Tooltip>);\r\n\r\n return (\r\n <React.Fragment>\r\n {(props.isUpdating === \"1\") &&\r\n /*\r\n <span className=\"\">\r\n <a className=\"tag clr bgr\" role={\"button\"}>\r\n Sempre aggiornato\r\n </a>\r\n </span>\r\n */\r\n <span className=\"itool itool--small\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"\" data-original-title=\"Sempre aggiornato\">\r\n <OverlayTrigger placement=\"top\" overlay={tooltip}>\r\n <span className=\"icon icon-history\"></span>\r\n </OverlayTrigger>\r\n </span>\r\n }\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default InAggiornamento;","import React from \"react\";\r\nimport ManageThematicArea from \"../../../UI/ManageThematicArea/ManageThematicArea\";\r\nimport InAggiornamento from \"../../InAggiornamento/InAggiornamento\";\r\n\r\nconst SchedaProdottoFooter = (props) => {\r\n\r\n return (\r\n <React.Fragment>\r\n <div className={props.isManageable ? \"card-foot card-foot--tool\" : \"card-foot card-foot--flex d-none d-md-flex\"}>\r\n <ul className=\"list-inline list-inline--small\">\r\n <ManageThematicArea themeArea={props.themeArea} titleContainer={props.titleContainer} title={props.title}></ManageThematicArea>\r\n </ul>\r\n <InAggiornamento isUpdating={props.isUpdating}></InAggiornamento>\r\n </div>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default SchedaProdottoFooter;","import React from 'react';\r\n\r\nconst WrapperSchedaProdotto = (props) => {\r\n\r\n return (\r\n <React.Fragment>\r\n <div className={`${props.classNameCard} ${props.isSubscription ? \"card--multi\" : \"\"}`}>\r\n <div className=\"card-box\">\r\n {props.children}\r\n </div>\r\n </div>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default WrapperSchedaProdotto;","import React, { useContext } from 'react';\r\nimport GestioneListaContinuaALeggere from '../GestioneListaContinuaALeggere/GestioneListaContinuaALeggere.js';\r\nimport Novita from '../../UI/Novita/Novita.js';\r\nimport Bookmark from '../../UI/Bookmark/Bookmark';\r\nimport SchedaProdottoHeader from './SchedaProdottoHeader/SchedaProdottoHeader.js';\r\nimport SchedaProdottoBody from './SchedaProdottoBody/SchedaProdottoBody.js';\r\nimport SchedaProdottoFooter from './SchedaProdottoFooter/SchedaProdottoFooter.js';\r\nimport WrapperSchedaProdotto from './WrapperSchedaProdotto/WrapperSchedaProdotto.js';\r\nimport { createImgLink } from \"../../../helper/helper\";\r\nimport { config } from '../../../constants/Constants.js';\r\n\r\nconst SchedaProdotto = (props) => {\r\n var img = \"\"\r\n const removeBook = (idForDelete) => {\r\n props.deleteProductList(idForDelete);\r\n };\r\n\r\n if(validURL(encodeURI(props.img))){\r\n img = props.img\r\n }else{\r\n img = !props.isAbbonamento ? createImgLink(props.img) : config.imgLinkPacchetti + props.img + \".PNG\";\r\n }\r\n \r\n function validURL(str) {\r\n var pattern = new RegExp('^(https?:\\\\/\\\\/)?'+ // protocol\r\n '((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|'+ // domain name\r\n '((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))'+ // OR ip (v4) address\r\n '(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*'+ // port and path\r\n '(\\\\?[;&a-z\\\\d%_.~+=-]*)?'+ // query string\r\n '(\\\\#[-a-z\\\\d_]*)?$','i'); // fragment locator\r\n return !!pattern.test(str);\r\n }\r\n return (\r\n <React.Fragment>\r\n <div className=\"col carousel-slide scrolling-item \">\r\n <WrapperSchedaProdotto classNameCard={props.classNameCard} isSubscription={props.isSubscription} isAllList={props.isAllList}>\r\n <div className=\"card-content\">\r\n <SchedaProdottoHeader isSubscription={props.isSubscription} img={img} idProduct={props.idProduct} title={props.title} goToReaderDocument={props.goToReaderDocument} idForReading={props.idForReading} titleContainer={props.titleContainer}></SchedaProdottoHeader>\r\n\r\n <div className=\"card-body\">\r\n <SchedaProdottoBody\r\n isSubscription={props.isSubscription}\r\n title={props.title}\r\n idProduct={props.idProduct}\r\n listAutori={props.listAutori}\r\n isAbbonamento={props.isAbbonamento}\r\n goToReaderDocument={props.goToReaderDocument} \r\n idForReading={props.idForReading}\r\n titleContainer={props.titleContainer}\r\n ></SchedaProdottoBody>\r\n\r\n <SchedaProdottoFooter\r\n themeArea={props.themeArea}\r\n isUpdating={props.isUpdating}\r\n titleContainer={props.titleContainer}\r\n title={props.title}\r\n ></SchedaProdottoFooter>\r\n\r\n\r\n </div>\r\n </div>\r\n\r\n {props.isManageable && <GestioneListaContinuaALeggere removeBook={removeBook} idProduct={props.idProduct} idForDelete={props.idForDelete} title={props.title} titleContainer={props.titleContainer}></GestioneListaContinuaALeggere>}\r\n\r\n {props.isNew && <Novita />}\r\n\r\n {props.hasBookmark && <Bookmark />}\r\n\r\n </WrapperSchedaProdotto>\r\n </div>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default SchedaProdotto;","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { updateLink } from \"../../../helper/TealiumHelper\";\r\n\r\nconst SchedaStrumentiPerProfessionisti = (props) => {\r\n\r\n /*<Link to={`/Pacchetto/${props.idProduct}`}>*/\r\n\r\n\r\n return (\r\n <React.Fragment>\r\n <div className=\"col carousel-slide scrolling-item scrolling-item--large\">\r\n\r\n <div className=\"card card--tool \">\r\n <div className=\"card-box\">\r\n <div className=\"card-content\">\r\n <a href={props.url} onClick={(ev) => {updateLink({ title: props.title, name: \"\" }, props.titleContainer) }}>\r\n <figure className=\"card-img\">\r\n <span className=\"card-img-tool\">\r\n <img className=\"card-img-full\" src={props.img} alt=\"\" />\r\n </span>\r\n </figure>\r\n </a>\r\n <div className=\"card-body\">\r\n <h4 className=\"card-title\">\r\n <a href={props.url} onClick={(ev) => {updateLink({ title: props.title, name: \"\" }, props.titleContainer) }}>\r\n {props.title}\r\n </a>\r\n </h4>\r\n <p className=\"card-txt\">\r\n {props.description}\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default SchedaStrumentiPerProfessionisti;","import React from 'react';\r\nimport { createImgLink } from '../../helper/helper';\r\nimport SchedaProdottoBody from '../Prodotti/SchedaProdotto/SchedaProdottoBody/SchedaProdottoBody';\r\nimport SchedaProdottoFooter from '../Prodotti/SchedaProdotto/SchedaProdottoFooter/SchedaProdottoFooter';\r\nimport SchedaProdottoHeader from '../Prodotti/SchedaProdotto/SchedaProdottoHeader/SchedaProdottoHeader';\r\nimport GestioneListaContinuaALeggere from '../Prodotti/GestioneListaContinuaALeggere/GestioneListaContinuaALeggere'\r\nimport Novita from '../UI/Novita/Novita'\r\nimport Bookmark from '../UI/Bookmark/Bookmark'\r\n\r\nconst CarouselItem = (props) => {\r\n\r\n const { index, item } = props;\r\n\r\n const removeBook = () => {\r\n props.deleteProductList(props.idForDelete);\r\n };\r\n\r\n const img = createImgLink(item.img);\r\n\r\n return (\r\n <div className={`col-md-4 col-lg-3 scrolling-item ${index === 3 ? 'd-md-none d-lg-block' : ''} ${index >= 4 ? 'd-none' : ''}`}>\r\n <div className={props.classNameCard}>\r\n <div className=\"card-box\">\r\n <div className=\"card-content\">\r\n <SchedaProdottoHeader isSubscription={props.isSubscription} img={img} title={item.title} idProduct={item.id} goToReaderDocument={props.goToReaderDocument} idForReading={item.idForReading} titleContainer = {props.titleContainer}/>\r\n\r\n <div className=\"card-body\">\r\n <SchedaProdottoBody\r\n isSubscription={item.isSubscription}\r\n title={item.title}\r\n idProduct={item.id}\r\n listAutori={item.auth}\r\n isAbbonamento={item.isAbbonamento}\r\n goToReaderDocument={props.goToReaderDocument} \r\n idForReading={props.idForReading}\r\n titleContainer = {props.titleContainer}\r\n ></SchedaProdottoBody>\r\n\r\n <SchedaProdottoFooter\r\n themeArea={item.themeArea}\r\n isUpdating={item.isUpdating}\r\n title={item.title}\r\n titleContainer = {props.titleContainer}\r\n ></SchedaProdottoFooter>\r\n </div>\r\n </div>\r\n\r\n {props.isManageable && <GestioneListaContinuaALeggere removeBook={removeBook} title={item.title} titleContainer = {props.titleContainer}></GestioneListaContinuaALeggere>}\r\n\r\n {props.isNew && <Novita />}\r\n\r\n {props.hasBookmark && <Bookmark />}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nexport default CarouselItem;","import React, { useContext, useState } from \"react\";\r\n\r\nimport useHttpRequest from \"../hooks/http-request\";\r\nimport { config } from '../constants/Constants';\r\nimport TokenContext from \"./token-context\";\r\n\r\nimport { exportToArrayForFE } from \"../helper/castingObject\";\r\nimport { mustToken, settingArrayParams, settingArrayParamsWithAut } from \"../helper/helper\";\r\nimport AuthContext from \"./auth-context\";\r\n\r\nconst ManageProductListsContext = React.createContext({\r\n ultimeUscite: [],\r\n strumentiPerProfessionisti: [],\r\n continuaALeggere: [],\r\n proposteDiAbbonamento: [],\r\n allList: [],\r\n piuLetti: [],\r\n giaLetti: [],\r\n daLeggere: [],\r\n saveIsFinishToRead: []\r\n});\r\n\r\nconst chooseName = (tipo, returnRightName) => {\r\n\r\n switch (tipo) {\r\n case (config.nameList.giaLetti):\r\n return tipo;\r\n case (config.nameList.daLeggere):\r\n return tipo;\r\n default:\r\n return returnRightName;\r\n }\r\n};\r\n\r\nexport const ManageProductListsContextProvider = (props) => {\r\n\r\n const [ultimeUscite, setUltimeUscite] = useState([]);\r\n const [strumentiPerProfessionisti, setStrumentiPerProfessionisti] = useState([]);\r\n const [continuaALeggere, setContinuaALeggere] = useState([]);\r\n const [proposteDiAbbonamento, setProposteDiAbbonamento] = useState([]);\r\n const [piuLetti, setPiuLetti] = useState([]);\r\n const [allList, setAllList] = useState([]);\r\n const [giaLetti, setGiaLetti] = useState([]);\r\n const [daLeggere, setDaLeggere] = useState([]);\r\n const [saveIsFinishToRead, setSaveIsFinishToRead] = useState(null);\r\n\r\n\r\n const tokenCtx = useContext(TokenContext);\r\n const loginCtx = useContext(AuthContext);\r\n const sendRqst = useHttpRequest();\r\n\r\n //Senza Passare Dalla FindByQuery\r\n const getListConfig = (name, documenti, areaTematica, rows, tipo) => {\r\n\r\n const settingList = (name, arrayProduct, tipo) => {\r\n name = chooseName(tipo, name);\r\n switch (name) {\r\n case config.nameList.ultimeUscite:\r\n if (rows !== undefined) {\r\n setAllList(arrayProduct);\r\n }\r\n else {\r\n setUltimeUscite(arrayProduct);\r\n }\r\n break;\r\n case config.nameList.continuaALegg:\r\n setContinuaALeggere(arrayProduct);\r\n break;\r\n case config.nameList.strumentiProf:\r\n setStrumentiPerProfessionisti(arrayProduct);\r\n break;\r\n case config.nameList.proposteAbbon:\r\n setProposteDiAbbonamento(arrayProduct);\r\n break;\r\n case config.nameList.listPiuLetti:\r\n setPiuLetti(arrayProduct);\r\n break;\r\n case config.nameList.giaLetti:\r\n setGiaLetti(arrayProduct);\r\n break;\r\n case config.nameList.daLeggere:\r\n setDaLeggere(arrayProduct);\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const castInList = (data) => {\r\n\r\n let arrayProduct = [];\r\n\r\n if (data.Result.ResultSet !== null && data.Result.ResultSet !== undefined) {\r\n arrayProduct = exportToArrayForFE(name, data.Result.ResultSet.Root, documenti);\r\n }\r\n\r\n settingList(name, arrayProduct, tipo);\r\n };\r\n\r\n let arrayInputParams = settingArrayParams(documenti, areaTematica, rows);\r\n\r\n if (loginCtx.isLoggedIn && name === config.nameList.proposteAbbon) {\r\n let userModules = '';\r\n\r\n tokenCtx.userModulesWithId.forEach((el, index) => {\r\n\r\n userModules = userModules.concat(el['@id']);\r\n\r\n if (index < tokenCtx.userModulesWithId.length) {\r\n userModules = userModules.concat(\",\");\r\n }\r\n\r\n });\r\n if(userModules){\r\n arrayInputParams = [...arrayInputParams,\r\n {\r\n name: 'moduli_utente',\r\n type: 'VarChar',\r\n value: userModules\r\n }\r\n ];\r\n }\r\n }\r\n if(name === \"BIBLIOTECA24_GetProposte\"){\r\n arrayInputParams = [...arrayInputParams,\r\n {\r\n name: 'loggato',\r\n type: 'Int',\r\n value: loginCtx.isLoggedIn ? 1 : 0\r\n }\r\n ];\r\n }\r\n let bodyFormatted = {\r\n parameters: {\r\n name: name,\r\n inputParameters: arrayInputParams,\r\n staticToken: mustToken(name) ? '' : config.token.STATIC_TOKEN,\r\n },\r\n token: mustToken(name) ? tokenCtx.token : '',\r\n };\r\n\r\n if (loginCtx.isLoggedIn && name === config.nameList.proposteAbbon && tokenCtx.token) {\r\n bodyFormatted.parameters.staticToken = '';\r\n bodyFormatted.token = tokenCtx.token;\r\n }\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n\r\n const response = sendRqst.sendRequest(request, castInList, false);\r\n\r\n if (response.error) {\r\n return response;\r\n }\r\n };\r\n\r\n const getFindByQueryConfig = (name, sort, themeArea) => {\r\n\r\n if(!tokenCtx.token) return false\r\n const castInList = (data) => {\r\n\r\n let provvedimenti = [];\r\n let iddoctype = [];\r\n let iddocumenti = [];\r\n let idToDelete = [];\r\n let documenti = [];\r\n let tipo;\r\n\r\n if (data.Result === null) getListWithAutConfig(name, null, undefined);\r\n\r\n data.Result.Documents.forEach(element => {\r\n\r\n provvedimenti.push({\r\n idProv: element.data.idprovvedimento\r\n });\r\n iddoctype.push({\r\n idDcTyp: element.data.iddoctype\r\n });\r\n iddocumenti.push({\r\n idProv: element.data.idprovvedimento,\r\n idDoc: element.data.iddocumento\r\n })\r\n idToDelete.push({\r\n idProv: element.data.idprovvedimento,\r\n idToDelete: element._id.$oid\r\n });\r\n tipo = element.tipo;\r\n });\r\n const letName = config.nameList.continuaALegg;\r\n\r\n documenti = {\r\n idProv: provvedimenti,\r\n idDoctype: iddoctype,\r\n idDoc: iddocumenti,\r\n idToDelete: idToDelete\r\n };\r\n\r\n getListWithAutConfig(letName, documenti, tipo);\r\n };\r\n\r\n let query = {\r\n tipo: name,\r\n appId: config.appId\r\n };\r\n\r\n if (sort === undefined) {\r\n query = { ...query, userKey: loginCtx.username }\r\n }\r\n\r\n const bodyFormatted = {\r\n excludeUserKey: sort === undefined ? false : true,\r\n fields: {},\r\n pageNumber: 1,\r\n pageSize: 999,\r\n sort: null,\r\n query: query,\r\n getTotalDocs: false,\r\n token: tokenCtx.token ? tokenCtx.token : config.token.STATIC_TOKEN,\r\n encryptParams: sort === undefined ? [\"query.userKey\"] : null\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.find,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json-patch+json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, castInList, false);\r\n };\r\n\r\n const getFindByQueryGiaLettoConfig = (name, sort, themeArea) => {\r\n\r\n const castInList = (data) => {\r\n\r\n let documenti = [];\r\n let provvedimenti = [];\r\n let iddoctype = [];\r\n let idDocumenti = [];\r\n let idToDelete = [];\r\n let tipo;\r\n\r\n data.Result.Documents.forEach(element => {\r\n\r\n //evita risposta duplicati\r\n if (!provvedimenti.some(prov => prov.idProv == element.data.idprovvedimento)) {\r\n provvedimenti.push({\r\n idProv: element.data.idprovvedimento\r\n });\r\n }\r\n iddoctype.push({\r\n idDcTyp: element.data.iddoctype\r\n });\r\n\r\n idToDelete.push({\r\n idProv: element.data.idprovvedimento,\r\n idToDelete: element._id.$oid\r\n });\r\n\r\n idDocumenti.push({\r\n idProv: element.data.idprovvedimento,\r\n idDoc: element.data.iddocumento\r\n });\r\n\r\n tipo = element.tipo;\r\n });\r\n\r\n documenti = {\r\n idProv: provvedimenti,\r\n idDoctype: iddoctype,\r\n idToDelete: idToDelete\r\n };\r\n\r\n setSaveIsFinishToRead(idDocumenti)\r\n getListWithAutConfig(config.nameList.continuaALegg, documenti, tipo);\r\n };\r\n\r\n let query = {\r\n tipo: name,\r\n appId: config.appId\r\n };\r\n\r\n if (sort === undefined) {\r\n query = { ...query, userKey: loginCtx.username }\r\n }\r\n\r\n const bodyFormatted = {\r\n excludeUserKey: sort === undefined ? false : true,\r\n fields: {},\r\n pageNumber: 1,\r\n pageSize: 999,\r\n sort: null, //sort === undefined ? null : sort,\r\n query: query,\r\n getTotalDocs: false,\r\n token: tokenCtx.token ? tokenCtx.token : config.token.STATIC_TOKEN,\r\n encryptParams: sort === undefined ? [\"query.userKey\"] : null\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.find,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json-patch+json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, castInList, false);\r\n };\r\n\r\n const deleteProdToContinuaALeggereConfig = (idForDelete) => {\r\n\r\n const reloadContinuaALeggere = () => {\r\n getFindByQueryConfig(config.nameList.leggendo);\r\n };\r\n\r\n const bodyFormatted = {\r\n token: tokenCtx.token,\r\n id: idForDelete\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.delete,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, reloadContinuaALeggere, false);\r\n };\r\n\r\n const getListWithAutConfig = (name, documenti, tipo) => {\r\n\r\n\r\n const settingList = (name, arrayProduct, tipo) => {\r\n name = chooseName(tipo, name);\r\n switch (name) {\r\n case config.nameList.continuaALegg:\r\n setContinuaALeggere(arrayProduct);\r\n break;\r\n case config.nameList.leggendo :\r\n setContinuaALeggere(arrayProduct);\r\n break;\r\n case config.nameList.giaLetti:\r\n setGiaLetti(arrayProduct);\r\n break;\r\n case config.nameList.daLeggere:\r\n setDaLeggere(arrayProduct);\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const castInList = (data) => {\r\n\r\n let arrayProduct = [];\r\n\r\n if (data.Result.ResultSet !== null && data.Result.ResultSet !== undefined) {\r\n arrayProduct = exportToArrayForFE(name, data.Result.ResultSet.Root, documenti);\r\n }\r\n\r\n\r\n settingList(name, arrayProduct, tipo);\r\n };\r\n\r\n\r\n if (documenti === null) settingList(name, [], undefined);\r\n\r\n const arrayInputParams = settingArrayParamsWithAut(documenti);\r\n\r\n const bodyFormatted = {\r\n parameters: {\r\n name: name,\r\n inputParameters: arrayInputParams,\r\n staticToken: mustToken(name) ? '' : config.token.STATIC_TOKEN,\r\n },\r\n token: mustToken(name) ? tokenCtx.token : '',\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, castInList, false);\r\n };\r\n\r\n const contextValues = {\r\n getList: getListConfig,\r\n getFindByQuery: getFindByQueryConfig,\r\n deleteProdToContinuaALeggere: deleteProdToContinuaALeggereConfig,\r\n getFindByQueryGiaLetto: getFindByQueryGiaLettoConfig,\r\n ultimeUscite: ultimeUscite,\r\n strumentiPerProfessionisti: strumentiPerProfessionisti,\r\n continuaALeggere: continuaALeggere,\r\n proposteDiAbbonamento: proposteDiAbbonamento,\r\n allList: allList,\r\n piuLetti: piuLetti,\r\n giaLetti: giaLetti,\r\n daLeggere: daLeggere,\r\n saveIsFinishToRead: saveIsFinishToRead\r\n };\r\n\r\n return <ManageProductListsContext.Provider value={contextValues}>{props.children}</ManageProductListsContext.Provider>\r\n}\r\n\r\nexport default ManageProductListsContext;","import React from 'react'\r\n\r\nconst PrevArrow = ({onClick, className}) => {\r\n return (\r\n <a \r\n onClick={onClick} \r\n className={`${className} carousel-btn carousel-btn--prev absolute-arrow-left`} \r\n >\r\n <span className=\"icon icon-arrow-left\"></span>\r\n </a>\r\n )\r\n}\r\n\r\nexport default PrevArrow","import React from 'react'\r\n\r\nconst NextArrow = ({onClick, className}) => {\r\n return (\r\n <a \r\n onClick={onClick} \r\n className={`${className} carousel-btn carousel-btn--next absolute-arrow-right`}\r\n >\r\n <span className=\"icon icon-arrow-right\"></span>\r\n </a>\r\n )\r\n}\r\n\r\nexport default NextArrow","import React, { useRef } from 'react';\r\nimport Slider from 'react-slick';\r\nimport { config } from '../../constants/Constants';\r\nimport ProdottiWrapper from './ProdottiWrapper/ProdottiWrapper';\r\nimport SchedaProdotto from \"./SchedaProdotto/SchedaProdotto\";\r\nimport SchedaStrumentiPerProfessionisti from \"./SchedaStrumentiPerProfessionisti/SchedaStrumentiPerProfessionisti\";\r\nimport CarouselItem from '../CarouselNoSlick/CarouselItem';\r\nimport { useContext } from 'react';\r\nimport ManageProductListsContext from '../../store/manage-products-list-context';\r\nimport PrevArrow from '../UI/CarouselNavigator/PrevArrow';\r\nimport NextArrow from '../UI/CarouselNavigator/NextArrow';\r\n\r\nconst Prodotti = (props) => {\r\n\r\n const schedaProdCar = useRef();\r\n const productListsCtx = useContext(ManageProductListsContext)\r\n\r\n const deleteProductList = (idForDelete) => {\r\n productListsCtx.deleteProdToContinuaALeggere(idForDelete);\r\n\r\n if(props.updateList !== undefined)\r\n {\r\n props.updateList(props.title);\r\n }\r\n //props.deleteProductList(idForDelete);\r\n };\r\n\r\n const next = () => {\r\n schedaProdCar?.current?.slickNext(); \r\n };\r\n\r\n const previous = () => {\r\n schedaProdCar?.current?.slickPrev();\r\n };\r\n\r\n \r\n const settings = {\r\n className: \"row carousel scrolling slick-dotted \",\r\n slide:\"col carousel-slide scrolling-item\",\r\n dots: true,\r\n infinite: false,\r\n speed: 500,\r\n slidesToShow: !props.isProfessionalTool ? 4 : 3,\r\n slidesToScroll: !props.isProfessionalTool ? 4 : 3,\r\n arrows: true,\r\n prevArrow: <PrevArrow/>,\r\n nextArrow: <NextArrow/>,\r\n initialSlide: 0,\r\n responsive: [\r\n {\r\n breakpoint: 1539,\r\n settings: {\r\n slidesToShow: !props.isProfessionalTool ? 4 : 3,\r\n slidesToScroll: !props.isProfessionalTool ? 4 : 3\r\n }\r\n },\r\n {\r\n breakpoint: 1023,\r\n settings: {\r\n slidesToShow: !props.isProfessionalTool ? 3 : 2,\r\n slidesToScroll: !props.isProfessionalTool ? 3 : 2,\r\n }\r\n },\r\n {\r\n breakpoint: 767,\r\n settings: \"unslick\"\r\n }\r\n ]\r\n };\r\n\r\n let windowWidth = window.innerWidth;\r\n\r\n if (windowWidth > 766 && windowWidth < 1024) {\r\n settings.slidesToScroll = !props.isProfessionalTool ? 3 : 2\r\n settings.slidesToShow = !props.isProfessionalTool ? 3 : 2\r\n } else if (windowWidth > 1023) {\r\n settings.slidesToScroll = !props.isProfessionalTool ? 4 : 3\r\n settings.slidesToShow = !props.isProfessionalTool ? 4 : 3\r\n }\r\n\r\n const goToReaderDocument = props.title === \"Continua a leggere\";\r\n\r\n return (\r\n <React.Fragment>\r\n {props.prodList.length > 0 &&\r\n <ProdottiWrapper sectionClassName={props.sectionClassName} title={props.title} next={next} previous={previous} seeAll={props.seeAll}>\r\n {!props.isProfessionalTool && !props.notSlick &&\r\n <Slider ref={schedaProdCar} {...settings}>\r\n {!props.isProfessionalTool &&\r\n props.prodList.map((prod, index) => (\r\n <SchedaProdotto\r\n key={index}\r\n idProduct={prod.id}\r\n idForDelete={prod.idForDelete}\r\n isNew={prod.isNew}\r\n isUpdating={prod.isUpdating}\r\n title={prod.title}\r\n img={prod.img === '' ? \"\" : prod.img}\r\n listAutori={prod.auth}\r\n themeArea={prod.themeArea}\r\n idForReading={prod.idForReading}\r\n isManageable={props.isManageable}\r\n hasBookmark={props.hasBookmark}\r\n isSubscription={props.isSubscription}\r\n classNameCard={props.classNameCard}\r\n deleteProductList={deleteProductList}\r\n isAbbonamento= {props.isAbbonamento}\r\n goToReaderDocument= {goToReaderDocument}\r\n titleContainer = {props.title}\r\n ></SchedaProdotto>\r\n ))\r\n }\r\n </Slider>\r\n }\r\n\r\n {props.notSlick && \r\n <div className=\"row scrolling\" data-slide={props.dataSlide} data-slide-md={props.dataSlideMd} data-dots>\r\n {props.prodList && props.prodList.map((item, index) => (\r\n <CarouselItem \r\n key={index}\r\n item={item} \r\n index={index} \r\n isManageable={props.isManageable}\r\n hasBookmark={props.hasBookmark}\r\n isSubscription={props.isSubscription}\r\n classNameCard={props.classNameCard}\r\n isAbbonamento= {props.isAbbonamento}\r\n deleteProductList={deleteProductList}\r\n goToReaderDocument= {goToReaderDocument}\r\n titleContainer = {props.title}\r\n />\r\n ))}\r\n </div>\r\n }\r\n \r\n {props.isProfessionalTool &&\r\n <Slider ref={schedaProdCar} {...settings}>\r\n {props.isProfessionalTool &&\r\n props.prodList.map((prod, index) => (\r\n <SchedaStrumentiPerProfessionisti\r\n key={index}\r\n idProduct={prod.id}\r\n img={prod.img === '' ? config.imgDefault2 : prod.img}\r\n title={prod.title}\r\n description={prod.description}\r\n url={prod.url}\r\n titleContainer = {props.title}\r\n />\r\n ))\r\n }\r\n </Slider>\r\n }\r\n </ProdottiWrapper>\r\n }\r\n </React.Fragment >\r\n );\r\n}\r\n\r\nexport default Prodotti;","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { config } from \"../../constants/Constants\";\r\nimport Book24Link from \"../UI/Book24Link/Book24Link\";\r\nimport Sole24Link from \"../UI/Sole24Link/Sole24Link\";\r\n\r\nconst Footer = (props) => {\r\n\r\n return (\r\n <React.Fragment>\r\n <footer className=\"mfoot\" style={{display: props.isIntegrateInBD ? 'none' : 'block' }}>\r\n <div className=\"container\">\r\n <div className=\"mfoot-wrapper\">\r\n <div className=\"mfoot-nav nav-lined nav-lined--logo\">\r\n <Book24Link/>\r\n <Sole24Link/>\r\n </div>\r\n <div className=\"mfoot-nav nav-lined d-print-none\">\r\n <Link className=\"nav-link\" to=\"/qr\">QR Code</Link>\r\n <Link className=\"nav-link\" to=\"/FAQ\">FAQ</Link>\r\n <a className=\"nav-link\" href={config.linkScopriDiPiu}>Perché abbonarsi</a>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"mfoot-box\">\r\n <div className=\"container-fluid\">\r\n <p className=\"mfoot-box-txt\">\r\n P.I. 00777910159\r\n <span className=\"mfoot-box-line\"> </span>\r\n <a href={config.linkFooter.datiSocietari} target=\"_blank\">Dati societari</a>\r\n <br className=\"d-md-none\" /><span className=\"mfoot-box-line d-none d-md-inline-block\"> </span>\r\n © Copyright Il Sole 24 Ore Tutti i diritti riservati\r\n <br className=\"d-xl-none\" />\r\n <span className=\"mfoot-box-line d-none d-xl-inline-block\"> </span>\r\n Per la tua pubblicità sul sito: \r\n <a href={config.linkFooter.websystem} target=\"_blank\"> Websystem</a>\r\n <br className=\"d-sm-block d-md-none\" />\r\n <span className=\"mfoot-box-line d-none d-md-inline-block\"> </span>\r\n <a href={config.linkFooter.informativaCookies} target=\"_blank\">Informativa sui cookie</a>\r\n <span className=\"mfoot-box-line\"> </span>\r\n <a href={config.linkFooter.privacyPolicy} target=\"_blank\">Privacy policy</a>\r\n </p>\r\n </div>\r\n </div>\r\n </footer>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default Footer;","// extracted by mini-css-extract-plugin\nexport default {\"backdrop\":\"Spinner_backdrop__hKw33\",\"spinner\":\"Spinner_spinner__Cb9mL\"};","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport classes from './Spinner.module.css'\r\n\r\nconst BackDrop = () => {\r\n return <div className={classes.backdrop}></div>\r\n}\r\n\r\nconst SpinnerBody = () => {\r\n return (\r\n <div className={classes.spinner}>\r\n <div className=\"loader\">\r\n <svg width=\"84\" height=\"120\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path fill=\"#fff\" d=\"M0 0h84v120H0z\" />\r\n <path fill=\"#EEFCF3\" d=\"M3 3h78v114H3z\" />\r\n <mask id=\"a\" style={{ maskType: \"alpha\" }} maskUnits=\"userSpaceOnUse\" x=\"3\" y=\"3\" width=\"78\" height=\"114\">\r\n <path fill=\"#EEFCF3\" d=\"M3 3h78v114H3z\" />\r\n </mask>\r\n <g mask=\"url(#a)\">\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M19.595 118.197h7.45V96.966h-7.45v21.231Zm7.45-21.232h-7.45V89.66\" fill=\"#D8F8E3\" />\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12.144 118.197h7.45V96.966h-7.45v21.231Zm7.45-28.538v7.306h-7.45\" fill=\"#99E6B4\" />\r\n <path d=\"M59.196 124.81c16.024 0 29.015-12.937 29.015-28.896 0-15.959-12.99-28.896-29.015-28.896-16.024 0-29.014 12.938-29.014 28.896 0 15.959 12.99 28.896 29.014 28.896Z\" fill=\"#99E6B4\" /><path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M39.39 94.627c.14-.21.264-.432.37-.663l.008-.015h-.001a4.813 4.813 0 0 0-.46-4.775 1.57 1.57 0 0 1-.385-1.026h3.175c0 .358-.126.69-.335.958.21-.265.338-.597.338-.96H66.8v8.716H38.146l1.244-2.235Z\" fill=\"#fff\" />\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M37.53 106.076v-6.779l2.645 1.541c-.041.174-.81 2.218-.81 2.218l.285.226c.62-.394 1.15-.259 1.87.456.609.605 2.244 1.02 2.244 1.02-.174.17-1.306 1.446-2.81 1.446 0 0 .706.475.737.742.11.952-.286 2.208-.286 2.943 0 1.316 1.088 2.382 2.43 2.382h7.288c2.683 0 4.858 2.134 4.858 4.765H34.093a19.14 19.14 0 0 0 3.437-10.96ZM44.958 74.735h6.082c14.639 0 26.507 11.63 26.523 25.981v16.32h-16.64v-16.29h-.001c-.023-5.333-4.438-9.65-9.882-9.65-6.287 0-11.383-4.997-11.383-11.163 0-2.87 2.373-5.198 5.3-5.198Z\" fill=\"#19AE4A\" />\r\n <path fill=\"#99E6B4\" d=\"M9 18h66v6H9zM18.59 28h48v6h-48z\" />\r\n </g>\r\n </svg>\r\n <svg width=\"84\" height=\"120\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path fill=\"#fff\" d=\"M0 0h84v120H0z\" />\r\n <path fill=\"#F0F9FF\" d=\"M3 3h78v114H3z\" />\r\n <mask id=\"a\" style={{ maskType: \"alpha\" }} maskUnits=\"userSpaceOnUse\" x=\"3\" y=\"3\" width=\"78\" height=\"114\">\r\n <path fill=\"#F0F9FF\" d=\"M3 3h78v114H3z\" />\r\n </mask>\r\n <g mask=\"url(#a)\">\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M31.654 90.597c0-12.225 9.95-22.135 22.225-22.135 12.274 0 22.224 9.91 22.224 22.135 0 12.224-9.95 22.134-22.224 22.134-12.275 0-22.225-9.91-22.225-22.134Z\" fill=\"#52AEFF\" /><path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M36.321 90.597c0-9.657 7.86-17.486 17.558-17.486 9.696 0 17.557 7.828 17.557 17.486 0 9.656-7.86 17.485-17.557 17.485S36.32 100.253 36.32 90.597Z\" fill=\"#fff\" />\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M64.442 90.612c0-7.168 5.835-12.98 13.033-12.98 7.198 0 13.032 5.812 13.032 12.98 0 7.169-5.835 12.979-13.032 12.979-7.198 0-13.033-5.81-13.033-12.979Z\" fill=\"#158BFF\" /><path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M95.453 105.717c-14.545 0-23.528-7.62-46.772-7.62-23.245 0-30.684 17.999-45.229 17.999h92v-10.379Z\" fill=\"#99D3FF\" />\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M26.492 114.818c-2.053 1.626-5.178 2.927-8.911 2.927-6.905 0-12.597-3.624-14.883-9.711h-4.246v-4.74H1.72c-.047-.464-.047-.743-.047-1.301 0-.371 0-.743.047-1.208h-3.267v-4.692h4.246c2.286-6.087 8.118-9.944 14.79-9.944 3.546 0 5.925.79 8.024 2.091L22.9 93.816c-1.353-.93-3.266-1.348-5.412-1.348-2.66 0-5.366 1.069-6.998 3.624h11.383l-2.192 4.693H9.09c-.047.465-.047.79-.047 1.208 0 .372 0 .837.047 1.301H18.7l-2.1 4.74H10.77c1.587 2.184 4.06 3.252 6.812 3.252 2.38 0 4.339-.697 5.692-1.765l3.22 5.297Z\" fill=\"#52AEFF\" />\r\n <path fill=\"#99D3FF\" d=\"M9 18h66v6H9zM18.59 28h48v6h-48z\" />\r\n </g>\r\n </svg>\r\n <svg width=\"84\" height=\"120\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path fill=\"#fff\" d=\"M0 0h84v120H0z\" /><path fill=\"#FFF0F0\" d=\"M3 3h78v114H3z\" />\r\n <mask id=\"a\" style={{ maskType: \"alpha\" }} maskUnits=\"userSpaceOnUse\" x=\"3\" y=\"3\" width=\"78\" height=\"114\">\r\n <path fill=\"#FFF0F0\" d=\"M3 3h78v114H3z\" />\r\n </mask>\r\n <g mask=\"url(#a)\">\r\n <path d=\"M84.142 70.851H54.978v46.743h29.164V70.851Z\" fill=\"#fff\" />\r\n <path d=\"M63.275 123.593c16.288 0 29.49-13.15 29.49-29.37s-13.203-29.37-29.49-29.37-29.49 13.15-29.49 29.37 13.203 29.37 29.49 29.37Z\" fill=\"#F6B1B1\" />\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M62.622 98.983c.263-.41 2.022-4.293 2.504-5.148.482-.856.178-2.92-.122-4.325-.152-.708-.113-1.195-.113-1.195H87.61V117.936l-.958 3.633-3.828 1.738c0-3.119-2.692-6.121-5.357-7.294-2.665-1.173-4.835-1.544-7.19-1.544-2.356 0-2.852.124-3.905-.74-1.054-.865-.653-2.596-.356-3.165.297-.568.16-.75.045-1.296-.114-.546-.547-1.046-.776-1.228-.228-.182-.205-.591-.114-.887.091-.295.365-.682.594-.682 0 0-.708-.114-.982-.409a1.206 1.206 0 0 1-.343-.705c-.022-.159.234-.638.378-.901s.343-.659.21-1.45c-.132-.791-1.015-.835-1.412-.857-.398-.022-1.28-.286-1.59-.902-.309-.615-.066-1.231.596-2.264Z\" fill=\"#FEFEFE\" />\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M15.92 114.998h35.727V88.971H15.92v26.027Z\" fill=\"#FFF0F0\" /><path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M50.139 88.323a2.602 2.602 0 0 1 2.607 2.597v22.138h4.063a3.894 3.894 0 0 1-3.757 3.884l-.146.003H14.664a3.895 3.895 0 0 1-3.903-3.887h4.062l.001-22.138a2.602 2.602 0 0 1 2.607-2.597H50.14Zm-.887 2.546H18.318c-.335 0-.61.25-.648.574l-.004.075-.001 21.54h13.411c0 .402.308.733.701.773l.08.004h3.856l.08-.004a.78.78 0 0 0 .697-.694l.004-.079h13.41v-21.54a.65.65 0 0 0-.576-.644l-.076-.005Z\" fill=\"#F05C5C\" />\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M98.911 88.46v-1.214H63.785l-5.087 1.213h40.213ZM63.785 87.205h3.393v-10.09h-3.393v10.09Z\" fill=\"#fff\" /><path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M95.475 76.844a17.555 17.555 0 0 0-14.127-7.09c-9.708 0-17.563 7.823-17.563 17.492h31.06\" fill=\"#F05C5C\" />\r\n <path fill=\"#F6B1B1\" d=\"M9 18h66v6H9zM18.59 28h48v6h-48z\" />\r\n </g>\r\n </svg>\r\n <svg width=\"84\" height=\"120\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path fill=\"#fff\" d=\"M0 0h84v120H0z\" />\r\n <path fill=\"#FFF0E6\" d=\"M3 3h78v114H3z\" />\r\n <mask id=\"a\" style={{ maskType: \"alpha\" }} maskUnits=\"userSpaceOnUse\" x=\"3\" y=\"3\" width=\"78\" height=\"114\">\r\n <path fill=\"#FFF0E6\" d=\"M3 3h78v114H3z\" />\r\n </mask>\r\n <g mask=\"url(#a)\">\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M31.577 116.046h42.338v-22.25H31.577v22.25Z\" fill=\"#421B00\" />\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M27.948 96.386h8.074v-2.59h-8.074v2.59ZM47.218 96.386h8.074v-2.59h-8.074v2.59Z\" fill=\"#FF8E3D\" />\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M48.692 116.048h5.126V96.386h-5.126v19.662Zm10.719 0h5.126V96.387H59.41v19.661Zm-20.354 0h5.126V96.387h-5.126v19.661Zm-9.635 0h5.126V96.386h-5.126v19.662Zm40.707 0h5.126V96.386H70.13v19.662Z\" fill=\"#FFE1CC\" />\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M57.936 96.386h8.074v-2.59h-8.074v2.59ZM37.583 96.386h8.074v-2.59h-8.074v2.59ZM68.655 96.386h8.074v-2.59h-8.074v2.59Z\" fill=\"#FF8E3D\" />\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M8 117h78l-.14-13c-20.286 0-32.608 6.5-53.592 6.5C22.92 110.5 8 117 8 117Z\" fill=\"#FDB681\" />\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M18 93.987h9.785L52.34 73.255l24.553 20.732h9.663l-34.216-28.89L18 93.986Z\" fill=\"#FF8E3D\" />\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M27.07 93.987h50.537L52.34 72.65l-25.27 21.336Z\" fill=\"#FFE1CC\" />\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M40.927 82.429c1.41 1.403 1.276 3.812 1.276 3.812s-2.419.133-3.828-1.27c-1.41-1.404-1.276-3.813-1.276-3.813s2.418-.133 3.828 1.27ZM64.77 75.593a6.325 6.325 0 0 0 1.276-.974c2.47-2.46 2.236-6.68 2.236-6.68s-4.238-.233-6.707 2.226a6.526 6.526 0 0 0-1.213 1.706l4.408 3.722Z\" fill=\"#FDB681\" />\r\n <path fill=\"#FDB681\" d=\"M9 18h66v6H9zM19 28h48v6H19z\" />\r\n </g>\r\n </svg>\r\n <svg width=\"84\" height=\"120\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path fill=\"#fff\" d=\"M0 0h84v120H0z\" />\r\n <path fill=\"#EBFCFF\" d=\"M3 3h78v114H3z\" />\r\n <mask id=\"a\" style={{ maskType: \"alpha\" }} maskUnits=\"userSpaceOnUse\" x=\"3\" y=\"3\" width=\"78\" height=\"114\">\r\n <path fill=\"#EBFCFF\" d=\"M3 3h78v114H3z\" />\r\n </mask>\r\n <g mask=\"url(#a)\">\r\n <mask id=\"b\" style={{ maskType: \"alpha\" }} maskUnits=\"userSpaceOnUse\" x=\"-20\" y=\"95\" width=\"101\" height=\"22\">\r\n <path d=\"M-19.503 95.639H80.994v20.457H-19.503V95.639Z\" fill=\"#fff\" />\r\n </mask>\r\n <g mask=\"url(#b)\">\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M94.05 109.019c-14.524 0-23.494-13.727-46.708-13.727-23.213 0-30.642 20.646-45.167 20.646h91.876v-6.919Z\" fill=\"#A2EAF6\" />\r\n </g>\r\n <mask id=\"c\" style={{ maskType: \"alpha\" }} maskUnits=\"userSpaceOnUse\" x=\"36\" y=\"68\" width=\"45\" height=\"49\">\r\n <path d=\"M36.611 68.442h44.383v47.654H36.61V68.442Z\" fill=\"#fff\" />\r\n </mask>\r\n <g mask=\"url(#c)\">\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M80.994 116.096H36.666l-.055-33.765 13.954-13.889h30.429v47.654Z\" fill=\"#DBFAFF\" />\r\n </g>\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M36.611 82.33h30.382v33.766H36.611V82.331Z\" fill=\"#3FABC0\" />\r\n <mask id=\"d\" style={{ maskType: \"alpha\" }} maskUnits=\"userSpaceOnUse\" x=\"36\" y=\"68\" width=\"45\" height=\"15\">\r\n <path d=\"M36.666 68.442h44.328v13.889H36.666V68.442Z\" fill=\"#fff\" />\r\n </mask>\r\n <g mask=\"url(#d)\">\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M36.666 82.33h30.382l13.946-13.888h-30.43L36.667 82.331Z\" fill=\"#6ED1E2\" />\r\n </g>\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M47.922 116.096h7.76V99.214h-7.76v16.882Z\" fill=\"#FEFEFE\" />\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M29.907 95.832c-1.69 1.683-4.59 1.524-4.59 1.524s-.16-2.888 1.53-4.571c1.69-1.683 4.59-1.524 4.59-1.524s.16 2.888-1.53 4.571ZM12.905 91.458c1.69 1.683 1.53 4.57 1.53 4.57s-2.9.16-4.59-1.523c-1.69-1.683-1.53-4.571-1.53-4.571s2.9-.16 4.59 1.524Z\" fill=\"#6ED1E2\" /><path fill=\"#A2EAF6\" d=\"M9 18h66v6H9zM18.59 28h48v6h-48z\" />\r\n </g>\r\n </svg>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nconst Spinner = () => {\r\n return (\r\n <>\r\n {ReactDOM.createPortal(<BackDrop></BackDrop>, document.getElementById('backdrop-root'))}\r\n {ReactDOM.createPortal(<SpinnerBody></SpinnerBody>, document.getElementById('spinner-root'))}\r\n </>\r\n )\r\n}\r\n\r\nexport default Spinner;","import React from \"react\";\r\n// React-Bootstrap\r\nimport Modal from 'react-bootstrap/Modal';\r\n\r\n\r\nconst Partecipazioni = (props) => {\r\n\r\n const handleClose = () => {\r\n props.closeModal({ showModal: false });\r\n };\r\n\r\n return (\r\n <Modal show={props.show} onHide={handleClose}>\r\n <div className=\"modal\" tabIndex=\"-1\" role=\"dialog\" style={{ 'display': 'block' }}>\r\n <div className=\"modal-dialog modal-dialog-centered modal-message\">\r\n <div className=\"modal-content\">\r\n <a role=\"button\" className=\"modal-close\" data-dismiss=\"modal\" aria-label=\"Close\" onClick={handleClose}>\r\n <span className=\"icon icon-cross-small\"></span>\r\n </a>\r\n <Modal.Header className=\"modal-header\">\r\n <h3 className=\"modal-title\">Partecipa alla presentazione di Valore24 Business plan</h3>\r\n </Modal.Header>\r\n\r\n <Modal.Body className=\"modal-body\">\r\n <p className=\"modal-txt\">\r\n Scopri come gestire la pianificaione finanziaria e il controllo di gestione in maniera semplice, intuitiva e veloce.\r\n </p>\r\n </Modal.Body>\r\n </div>\r\n </div>\r\n </div>\r\n </Modal>\r\n )\r\n}\r\n\r\nexport default Partecipazioni;","import React, { useContext, useEffect } from \"react\";\r\nimport { useParams } from 'react-router-dom';\r\n// Components\r\nimport Wrapper from \"../components/Helper/Wrapper/Wrapper\";\r\nimport Header from \"../components/Header/Header\"\r\nimport AreaAllListHeader from \"../components/UI/AreaAllListHeader/AreaAllListHeader\";\r\nimport Prodotti from \"../components/Prodotti/Prodotti\";\r\nimport Ricerca from \"../components/Header/Ricerca/Ricerca\";\r\nimport Footer from \"../components/Footer/Footer\";\r\nimport TokenContext from \"../store/token-context\";\r\nimport ManageProductListsContext from \"../store/manage-products-list-context\";\r\nimport { config } from \"../constants/Constants\";\r\nimport { useState } from \"react\";\r\nimport LoginModal from \"../components/Modals/Login\";\r\nimport AuthContext from \"../store/auth-context\";\r\nimport { useNavigate } from \"react-router-dom\";\r\nimport useManageBodyClasses from \"../hooks/useManageBodyClasses\";\r\nimport isLoadingContext from \"../store/isLoadingcontext\";\r\nimport Spinner from \"../components/UI/Spinner/Spinner\";\r\nimport MessageManageSiac from \"../components/Modals/MessageManageSiac\";\r\nimport Partecipazione from \"../components/Modals/Partecipazione\";\r\nimport { updateView } from \"../helper/TealiumHelper\";\r\nimport SessioneScaduta from \"../components/Modals/SessioneScaduta\"\r\n\r\nconst MyBooks = (props) => {\r\n const handleClose = () => {\r\n setShowModal(false);\r\n };\r\n const navigate = useNavigate();\r\n const tokenCtx = useContext(TokenContext);\r\n const productListsCtx = useContext(ManageProductListsContext);\r\n const authCtx = useContext(AuthContext);\r\n const loadingCtx = useContext(isLoadingContext);\r\n const { isBookIntegrate } = useParams();\r\n const [showSessione, setShowSessione] = useState(false);\r\n const [showModalPartecipazione, setShowModalPartecipazione] = useState(false);\r\n const [continuaALeggere, setContinuaALeggere] = useState([]);\r\n const [giaLetti, setGiaLetti] = useState([]);\r\n const [daLeggere, setDaLeggere] = useState([]);\r\n const [piuLetti, setPiuLetti] = useState([]);\r\n const [showModal, setShowModal] = useState(true);\r\n if (localStorage.getItem(\"isLoggedIn\") !== \"1\") {\r\n navigate('/');\r\n }\r\n \r\n useEffect(() => {\r\n setShowSessione(localStorage.getItem(\"showModalSessione\") ? true : false);\r\n });\r\n useEffect(() => {\r\n if(!isBookIntegrate) return;\r\n sessionStorage.setItem(\"isBookIntegrate\", isBookIntegrate)\r\n //SETIsIntegrateInBD(true);\r\n }, [isBookIntegrate]);\r\n useEffect(() => {\r\n\r\n let clearFunct = setTimeout(() => {\r\n if (!authCtx.isLoggedIn && !localStorage.getItem(\"isLoggedIn\")) {\r\n navigate('/');\r\n }\r\n }, 400);\r\n\r\n return () => {\r\n clearTimeout(clearFunct);\r\n };\r\n\r\n }, [authCtx.isLoggedIn]);\r\n\r\n useEffect(() => {\r\n\r\n if (localStorage.getItem(\"isLoggedIn\") !== \"1\") {\r\n navigate('/');\r\n return;\r\n }\r\n\r\n /*let waitForSettingLoggedIn = setTimeout(() => {\r\n\r\n if (!authCtx.isLoggedIn)\r\n navigate('/');\r\n }, 600);\r\n\r\n return () => clearTimeout(waitForSettingLoggedIn);*/\r\n })\r\n\r\n useEffect(() => {\r\n\r\n loadingCtx.setIfIsLoading(true);\r\n\r\n if (authCtx.username === \"Utente\") return;\r\n\r\n let loadLists = setTimeout(() => {\r\n\r\n productListsCtx.getFindByQuery(config.nameList.leggendo);\r\n productListsCtx.getList(config.nameList.daLeggere);\r\n productListsCtx.getFindByQueryGiaLetto(config.nameList.giaLetti);\r\n productListsCtx.getList(config.nameList.listPiuLetti);\r\n\r\n }, 200);\r\n\r\n return () => {\r\n clearTimeout(loadLists);\r\n };\r\n\r\n }, [tokenCtx.token, authCtx.username]);\r\n\r\n useEffect(() => {\r\n setContinuaALeggere(productListsCtx.continuaALeggere);\r\n }, [productListsCtx.continuaALeggere]);\r\n\r\n useEffect(() => {\r\n setGiaLetti(productListsCtx.giaLetti);\r\n }, [productListsCtx.giaLetti]);\r\n\r\n useEffect(() => {\r\n setDaLeggere(productListsCtx.daLeggere);\r\n loadingCtx.setIfIsLoading(false, 4000);\r\n }, [productListsCtx.daLeggere]);\r\n\r\n useEffect(() => {\r\n setPiuLetti(productListsCtx.piuLetti);\r\n }, [productListsCtx.piuLetti]);\r\n\r\n\r\n const updateList = (nameList) => {\r\n switch (nameList) {\r\n case \"Continua a Leggere\":\r\n productListsCtx.getFindByQuery(config.nameList.leggendo);\r\n break;\r\n case \"Letti di recente\":\r\n productListsCtx.getList(config.nameList.daLeggere);\r\n break;\r\n case \"I libri del tuo abbonamento\":\r\n productListsCtx.getFindByQueryGiaLetto(config.nameList.giaLetti);\r\n break;\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n\r\n if (window.utag === null || window.utag === undefined) return;\r\n\r\n updateView(`book24ore:i-miei-libri`, authCtx, tokenCtx, \"book24ore:area-loggato\");\r\n\r\n }, [tokenCtx.token, , authCtx.isLoggedIn, window.utag, authCtx.isLoggedIn])\r\n\r\n useManageBodyClasses();\r\n\r\n return (\r\n <React.Fragment>\r\n <Wrapper>\r\n <Header showSecondRow={false} classSticky=\"sticky\" isIntegrateInBD={props.isIntegrateInBD}></Header>\r\n {authCtx.showLoginModal && <LoginModal show={authCtx.showLoginModal}></LoginModal>}\r\n {tokenCtx.showMessageSiac && <MessageManageSiac show={tokenCtx.showMessageSiac}></MessageManageSiac>}\r\n {authCtx.isLoggedIn && <Partecipazione show={showModalPartecipazione} closeModal={(dismiss) => { setShowModalPartecipazione(dismiss.showModalPartecipazione) }}></Partecipazione>}\r\n {showSessione && <SessioneScaduta show={showSessione} closeModal={(dismiss) => { setShowModal(dismiss.showModal) }}></SessioneScaduta>}\r\n {loadingCtx.isLoading && <Spinner></Spinner>}\r\n <AreaAllListHeader\r\n title=\"I miei libri\"\r\n />\r\n <div className=\"main-content\">\r\n {(continuaALeggere.length > 0 && authCtx.isLoggedIn) &&\r\n <Prodotti title=\"Continua a leggere\"\r\n prodList={continuaALeggere}\r\n isSubscription={false}\r\n isManageable={true}\r\n hasBookmark={true}\r\n sectionClassName=\"\"\r\n classNameCard=\"card card--book card--action\"\r\n dataSlide=\"4\"\r\n dataSlideMd=\"3\"\r\n isProfessionalTool={false}\r\n updateList={updateList}\r\n />\r\n }\r\n {(daLeggere.length > 0 && authCtx.isLoggedIn) &&\r\n <Prodotti title=\"I libri del tuo abbonamento\"\r\n prodList={daLeggere}\r\n seeAll={true}\r\n isSubscription={false}\r\n isManageable={false}\r\n hasBookmark={false}\r\n sectionClassName=\"\"\r\n classNameCard=\"card card--book card--action\"\r\n dataSlide=\"4\"\r\n dataSlideMd=\"3\"\r\n notSlick={true}\r\n updateList={updateList}\r\n />\r\n }\r\n {(giaLetti.length > 0 && authCtx.isLoggedIn) &&\r\n <Prodotti title=\"Letti di recente\"\r\n prodList={giaLetti}\r\n isSubscription={false}\r\n isManageable={true}\r\n hasBookmark={false}\r\n sectionClassName=\"\"\r\n classNameCard=\"card card--book card--action\"\r\n dataSlide=\"4\"\r\n dataSlideMd=\"3\"\r\n isProfessionalTool={false}\r\n notSlick={false}\r\n updateList={updateList}\r\n />\r\n }\r\n\r\n {piuLetti.length > 0 && <Prodotti title=\"I più letti di Book24ORE\"\r\n prodList={piuLetti}\r\n isSubscription={false}\r\n isManageable={false}\r\n hasBookmark={false}\r\n sectionClassName=\"\"\r\n classNameCard=\"card card--book \"\r\n dataSlide=\"4\"\r\n dataSlideMd=\"3\"\r\n isProfessionalTool={false} />}\r\n </div>\r\n <Footer isIntegrateInBD={props.isIntegrateInBD}></Footer>\r\n <Ricerca></Ricerca>\r\n </Wrapper>\r\n\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default MyBooks;","import React from \"react\";\r\nimport { NavLink, useParams } from \"react-router-dom\";\r\nimport { titleUrlSlug } from \"../../../../helper/helper\";\r\n\r\nconst NavBarSchede = (props) => {\r\n\r\n let { id } = useParams();\r\n\r\n const title = titleUrlSlug(props.title?.split(\"/\")[0].replaceAll(\" \", \"_\"));\r\n \r\n return (\r\n <React.Fragment>\r\n <div className=\"tab\">\r\n <ul className=\"list-inline list-inline--large\">\r\n\r\n <li className=\"list-inline-item\">\r\n <NavLink className={(state) => \"tab-link \" + (state.isActive ? \"is-active\" : \"\")} defaultChecked={true} id=\"Descrizione\" to={`/Prodotto/${title}/${id}/SchedaDescrizione`}>\r\n Descrizione\r\n </NavLink>\r\n </li>\r\n <li className=\"list-inline-item\">\r\n <NavLink className={(state) => \"tab-link \" + (state.isActive ? \"is-active\" : \"\")} id=\"Autori\" to={`/Prodotto/${title}/${id}/SchedaAutori`}>\r\n Autori\r\n </NavLink>\r\n </li>\r\n <li className=\"list-inline-item\">\r\n <NavLink className={(state) => \"tab-link \" + (state.isActive ? \"is-active\" : \"\")} id=\"Sommario\" to={`/Prodotto/${title}/${id}/SchedaSommario`}>\r\n Sommario\r\n </NavLink>\r\n </li>\r\n </ul>\r\n </div>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default NavBarSchede;","import React, { useContext, useEffect, useState } from \"react\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { config } from \"../../../constants/Constants\";\r\nimport { convertArrayForFEBuyOrNot } from \"../../../helper/castingObject\";\r\nimport { createImgLink } from \"../../../helper/helper\";\r\nimport { updateLink } from \"../../../helper/TealiumHelper\";\r\nimport useHttpRequest from \"../../../hooks/http-request\";\r\nimport AuthContext from \"../../../store/auth-context\";\r\nimport TokenContext from \"../../../store/token-context\";\r\n\r\nconst SchedaProdottoSpecifica = (props) => {\r\n\r\n const [pacchetti, setPacchetti] = useState([]);\r\n\r\n const authCtx = useContext(AuthContext);\r\n const img = validURL(encodeURI(props.img)) ? props.img : createImgLink(props.img);\r\n const tokenCtx = useContext(TokenContext);\r\n const sendRqst = useHttpRequest();\r\n\r\n useEffect(() => {\r\n\r\n if (props.isPacchetto || props.pack.length === 1) return;\r\n\r\n const settingsBuyOrNot = (data) => {\r\n\r\n if (data.Result.ResultSet === null) {\r\n setPacchetti([]);\r\n return;\r\n }\r\n\r\n setPacchetti(convertArrayForFEBuyOrNot(data.Result.ResultSet.Root));\r\n }\r\n\r\n const bodyFormatted = {\r\n \"parameters\": {\r\n \"name\": config.nameList.getPacchetto,\r\n \"inputParameters\": [{\r\n \"name\": \"nodi\",\r\n \"type\": \"VarChar\",\r\n \"value\": props.packString\r\n }],\r\n \"staticToken\": authCtx.isLoggedIn ? \"\" : config.token.STATIC_TOKEN\r\n },\r\n \"token\": authCtx.isLoggedIn ? tokenCtx.token : \"\"\r\n };\r\n\r\n const rqs = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(rqs, settingsBuyOrNot);\r\n\r\n }, []);\r\n\r\n const showModalPacchettiHandle = () => {\r\n props.showModalPacchettiHandle(\r\n {\r\n settingBuyOrNot: pacchetti,\r\n showModal: true\r\n }\r\n );\r\n }\r\n function validURL(str) {\r\n var pattern = new RegExp('^(https?:\\\\/\\\\/)?' + // protocol\r\n '((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|' + // domain name\r\n '((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))' + // OR ip (v4) address\r\n '(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*' + // port and path\r\n '(\\\\?[;&a-z\\\\d%_.~+=-]*)?' + // query string\r\n '(\\\\#[-a-z\\\\d_]*)?$', 'i'); // fragment locator\r\n return !!pattern.test(str);\r\n }\r\n return (\r\n <React.Fragment>\r\n <div className=\"col-lg-4 order-lg-first d-none d-lg-block\">\r\n <div className=\"sticky-wrapper\">\r\n \r\n <div className=\"sticky sticky--side\">\r\n\r\n\r\n <figure className=\"card-img \">\r\n {!props.isPacchetto &&\r\n <NavLink to={`/reader/${props.isBuyed ? props.idDocument : props.preview}`} onClick={(ev) => { updateLink({ title: \"immagine-prodotto\", name: \"\" }, props.titleContainer, props.titleTealium) }}>\r\n <span className=\"card-img-book\">\r\n <img className=\"\" src={props.img === \"\" ? config.imgDefaultLibro : img} alt=\"\" />\r\n </span>\r\n </NavLink>\r\n }\r\n\r\n {props.isPacchetto &&\r\n <a className=\"btn btn--big btn--full\" href={`${props.link === null ? '' : props.link}`}>\r\n <img className=\"card-img-full\" src={props.img === \"\" ? config.imgDefaultPacch : img} alt=\"\" />\r\n </a>\r\n }\r\n </figure>\r\n {(props.isBuyed !== undefined) &&\r\n <>\r\n {(!props.isPacchetto && props.preview) &&\r\n <>\r\n {!props.isBuyed &&\r\n <NavLink className=\"btn btn--big btn--full btn--shadow\" to={`/reader/${props.preview}`} onClick={(ev) => { updateLink({ title: \"Leggi Anteprima\", name: \"\" }, props.titleContainer, props.titleTealium) }}>\r\n Leggi Anteprima\r\n </NavLink>\r\n }\r\n {props.isBuyed &&\r\n <NavLink className=\"btn btn--black btn--big btn--full btn--shadow\" to={`/reader/${props.idDocument}`} onClick={(ev) => { updateLink({ title: \"Leggi\", name: \"\" }, props.titleContainer, props.titleTealium) }}>\r\n Leggi\r\n </NavLink>\r\n }\r\n </>\r\n }\r\n {!props.isPacchetto && !props.isBuyed &&\r\n <div className=\"btn-wlabel\">\r\n {props.pack.length === 1 &&\r\n <NavLink className=\"btn btn--black btn--big btn--full btn--shadow\" role={\"button\"} to={`/pacchetto/${props.pack}`} onClick={(ev) => { updateLink({ title: \"Acquista\", name: \"\" }, props.titleContainer, props.titleTealium) }}>\r\n Acquista\r\n </NavLink>\r\n }\r\n {props.pack.length > 1 &&\r\n <a className=\"btn btn--black btn--big btn--full btn--shadow\" onClick={showModalPacchettiHandle}>\r\n Acquista\r\n </a>\r\n }\r\n\r\n <span className=\"btn-labelinfo\">\r\n Acquistabile solo con pacchetto\r\n </span>\r\n </div>\r\n }\r\n {(props.isPacchetto && (!props.isBuyed || !authCtx.isLoggedIn)) &&\r\n <div>\r\n <a className=\"btn btn--big btn--full\" href={`${props.link === null ? '' : props.link}`} onClick={(ev) => { updateLink({ title: \"Acquista\", name: \"\" }, props.titleContainer, props.titleTealium) }} target=\"_parent\">\r\n Acquista\r\n </a>\r\n </div>\r\n }\r\n </>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default SchedaProdottoSpecifica;","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar AssertionError = /** @class */ (function (_super) {\n __extends(AssertionError, _super);\n function AssertionError(message) {\n var _this = _super.call(this, message) || this;\n _this.name = 'AssertionError';\n return _this;\n }\n return AssertionError;\n}(Error));\nexport default function assert(value, message) {\n if (!value) {\n throw new AssertionError(message);\n }\n}\n","export default function objectToGetParams(object) {\n var params = Object.entries(object)\n .filter(function (_a) {\n var value = _a[1];\n return value !== undefined && value !== null;\n })\n .map(function (_a) {\n var key = _a[0], value = _a[1];\n return \"\".concat(encodeURIComponent(key), \"=\").concat(encodeURIComponent(String(value)));\n });\n return params.length > 0 ? \"?\".concat(params.join('&')) : '';\n}\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React, { Component } from 'react';\nimport cx from 'classnames';\nvar isPromise = function (obj) {\n return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function';\n};\nvar getBoxPositionOnWindowCenter = function (width, height) { return ({\n left: window.outerWidth / 2 + (window.screenX || window.screenLeft || 0) - width / 2,\n top: window.outerHeight / 2 + (window.screenY || window.screenTop || 0) - height / 2,\n}); };\nvar getBoxPositionOnScreenCenter = function (width, height) { return ({\n top: (window.screen.height - height) / 2,\n left: (window.screen.width - width) / 2,\n}); };\nfunction windowOpen(url, _a, onClose) {\n var height = _a.height, width = _a.width, configRest = __rest(_a, [\"height\", \"width\"]);\n var config = __assign({ height: height, width: width, location: 'no', toolbar: 'no', status: 'no', directories: 'no', menubar: 'no', scrollbars: 'yes', resizable: 'no', centerscreen: 'yes', chrome: 'yes' }, configRest);\n var shareDialog = window.open(url, '', Object.keys(config)\n .map(function (key) { return \"\".concat(key, \"=\").concat(config[key]); })\n .join(', '));\n if (onClose) {\n var interval_1 = window.setInterval(function () {\n try {\n if (shareDialog === null || shareDialog.closed) {\n window.clearInterval(interval_1);\n onClose(shareDialog);\n }\n }\n catch (e) {\n /* eslint-disable no-console */\n console.error(e);\n /* eslint-enable no-console */\n }\n }, 1000);\n }\n return shareDialog;\n}\nvar ShareButton = /** @class */ (function (_super) {\n __extends(ShareButton, _super);\n function ShareButton() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.openShareDialog = function (link) {\n var _a = _this.props, onShareWindowClose = _a.onShareWindowClose, _b = _a.windowHeight, windowHeight = _b === void 0 ? 400 : _b, _c = _a.windowPosition, windowPosition = _c === void 0 ? 'windowCenter' : _c, _d = _a.windowWidth, windowWidth = _d === void 0 ? 550 : _d;\n var windowConfig = __assign({ height: windowHeight, width: windowWidth }, (windowPosition === 'windowCenter'\n ? getBoxPositionOnWindowCenter(windowWidth, windowHeight)\n : getBoxPositionOnScreenCenter(windowWidth, windowHeight)));\n windowOpen(link, windowConfig, onShareWindowClose);\n };\n _this.handleClick = function (event) { return __awaiter(_this, void 0, void 0, function () {\n var _a, beforeOnClick, disabled, networkLink, onClick, url, openShareDialogOnClick, opts, link, returnVal;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = this.props, beforeOnClick = _a.beforeOnClick, disabled = _a.disabled, networkLink = _a.networkLink, onClick = _a.onClick, url = _a.url, openShareDialogOnClick = _a.openShareDialogOnClick, opts = _a.opts;\n link = networkLink(url, opts);\n if (disabled) {\n return [2 /*return*/];\n }\n event.preventDefault();\n if (!beforeOnClick) return [3 /*break*/, 2];\n returnVal = beforeOnClick();\n if (!isPromise(returnVal)) return [3 /*break*/, 2];\n return [4 /*yield*/, returnVal];\n case 1:\n _b.sent();\n _b.label = 2;\n case 2:\n if (openShareDialogOnClick) {\n this.openShareDialog(link);\n }\n if (onClick) {\n onClick(event, link);\n }\n return [2 /*return*/];\n }\n });\n }); };\n return _this;\n }\n ShareButton.prototype.render = function () {\n var _a = this.props, beforeOnClick = _a.beforeOnClick, children = _a.children, className = _a.className, disabled = _a.disabled, disabledStyle = _a.disabledStyle, forwardedRef = _a.forwardedRef, networkLink = _a.networkLink, networkName = _a.networkName, onShareWindowClose = _a.onShareWindowClose, openShareDialogOnClick = _a.openShareDialogOnClick, opts = _a.opts, resetButtonStyle = _a.resetButtonStyle, style = _a.style, url = _a.url, windowHeight = _a.windowHeight, windowPosition = _a.windowPosition, windowWidth = _a.windowWidth, rest = __rest(_a, [\"beforeOnClick\", \"children\", \"className\", \"disabled\", \"disabledStyle\", \"forwardedRef\", \"networkLink\", \"networkName\", \"onShareWindowClose\", \"openShareDialogOnClick\", \"opts\", \"resetButtonStyle\", \"style\", \"url\", \"windowHeight\", \"windowPosition\", \"windowWidth\"]);\n var newClassName = cx('react-share__ShareButton', {\n 'react-share__ShareButton--disabled': !!disabled,\n disabled: !!disabled,\n }, className);\n var newStyle = resetButtonStyle\n ? __assign(__assign({ backgroundColor: 'transparent', border: 'none', padding: 0, font: 'inherit', color: 'inherit', cursor: 'pointer' }, style), (disabled && disabledStyle)) : __assign(__assign({}, style), (disabled && disabledStyle));\n return (React.createElement(\"button\", __assign({}, rest, { \"aria-label\": rest['aria-label'] || networkName, className: newClassName, onClick: this.handleClick, ref: forwardedRef, style: newStyle }), children));\n };\n ShareButton.defaultProps = {\n disabledStyle: { opacity: 0.6 },\n openShareDialogOnClick: true,\n resetButtonStyle: true,\n };\n return ShareButton;\n}(Component));\nexport default ShareButton;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport React, { forwardRef } from 'react';\nimport ShareButton from '../ShareButton';\nfunction createShareButton(networkName, link, optsMap, defaultProps) {\n function CreatedButton(props, ref) {\n var opts = optsMap(props);\n var passedProps = __assign({}, props);\n // remove keys from passed props that are passed as opts\n var optsKeys = Object.keys(opts);\n optsKeys.forEach(function (key) {\n delete passedProps[key];\n });\n return (React.createElement(ShareButton, __assign({}, defaultProps, passedProps, { forwardedRef: ref, networkName: networkName, networkLink: link, opts: optsMap(props) })));\n }\n CreatedButton.displayName = \"ShareButton-\".concat(networkName);\n return forwardRef(CreatedButton);\n}\nexport default createShareButton;\n","import assert from './utils/assert';\nimport objectToGetParams from './utils/objectToGetParams';\nimport createShareButton from './hocs/createShareButton';\nfunction facebookLink(url, _a) {\n var quote = _a.quote, hashtag = _a.hashtag;\n assert(url, 'facebook.url');\n return ('https://www.facebook.com/sharer/sharer.php' +\n objectToGetParams({\n u: url,\n quote: quote,\n hashtag: hashtag,\n }));\n}\nvar FacebookShareButton = createShareButton('facebook', facebookLink, function (props) { return ({\n quote: props.quote,\n hashtag: props.hashtag,\n}); }, {\n windowWidth: 550,\n windowHeight: 400,\n});\nexport default FacebookShareButton;\n","import assert from './utils/assert';\nimport objectToGetParams from './utils/objectToGetParams';\nimport createShareButton from './hocs/createShareButton';\nfunction twitterLink(url, _a) {\n var title = _a.title, via = _a.via, _b = _a.hashtags, hashtags = _b === void 0 ? [] : _b, _c = _a.related, related = _c === void 0 ? [] : _c;\n assert(url, 'twitter.url');\n assert(Array.isArray(hashtags), 'twitter.hashtags is not an array');\n assert(Array.isArray(related), 'twitter.related is not an array');\n return ('https://twitter.com/share' +\n objectToGetParams({\n url: url,\n text: title,\n via: via,\n hashtags: hashtags.length > 0 ? hashtags.join(',') : undefined,\n related: related.length > 0 ? related.join(',') : undefined,\n }));\n}\nvar TwitterShareButton = createShareButton('twitter', twitterLink, function (props) { return ({\n hashtags: props.hashtags,\n title: props.title,\n via: props.via,\n related: props.related,\n}); }, {\n windowWidth: 550,\n windowHeight: 400,\n});\nexport default TwitterShareButton;\n","import assert from './utils/assert';\nimport objectToGetParams from './utils/objectToGetParams';\nimport createShareButton from './hocs/createShareButton';\nfunction linkedinLink(url, _a) {\n var title = _a.title, summary = _a.summary, source = _a.source;\n assert(url, 'linkedin.url');\n return ('https://linkedin.com/shareArticle' +\n objectToGetParams({ url: url, mini: 'true', title: title, summary: summary, source: source }));\n}\nvar LinkedinShareButton = createShareButton('linkedin', linkedinLink, function (_a) {\n var title = _a.title, summary = _a.summary, source = _a.source;\n return ({ title: title, summary: summary, source: source });\n}, {\n windowWidth: 750,\n windowHeight: 600,\n});\nexport default LinkedinShareButton;\n","import objectToGetParams from './utils/objectToGetParams';\nimport createShareButton from './hocs/createShareButton';\nfunction emailLink(url, _a) {\n var subject = _a.subject, body = _a.body, separator = _a.separator;\n return 'mailto:' + objectToGetParams({ subject: subject, body: body ? body + separator + url : url });\n}\nvar EmailShareButton = createShareButton('email', emailLink, function (props) { return ({\n subject: props.subject,\n body: props.body,\n separator: props.separator || ' ',\n}); }, {\n openShareDialogOnClick: false,\n onClick: function (_, link) {\n window.location.href = link;\n },\n});\nexport default EmailShareButton;\n","import React, { useState, useEffect, useRef } from \"react\";\r\nimport { createImgLink } from \"../../../helper/helper\";\r\n\r\nimport {\r\n FacebookShareButton, FacebookIcon,\r\n TwitterShareButton, TwitterIcon,\r\n LinkedinShareButton, LinkedinIcon,\r\n EmailShareButton, EmailIcon\r\n} from 'react-share';\r\nimport { config } from \"../../../constants/Constants\";\r\n\r\nconst CondivisioneProdotto = (props) => {\r\n\r\n const pageUrl = window.location.href;\r\n const imgUrl = createImgLink(props.img) === config.imgDefaultLibro ? `${config.url.API_URL_SITO}${config.imgDefaultLibro}` : createImgLink(props.img);\r\n const [showModalShare, setShowModalShare] = useState(false);\r\n const ref = useRef();\r\n\r\n /* useEffect(() => {\r\n const handleClickOutside = (event) => {\r\n if (!ref.current.contains(event.target)) {\r\n setShowModalShare(false);\r\n }\r\n };\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n }, [ref]);*/\r\n\r\n return (\r\n <React.Fragment>\r\n <div className=\"share\">\r\n <a className=\"itool itool--clear\" role={\"button\"} data-toggle=\"dropdown\" aria-expanded=\"true\" ref={ref} onClick={() => setShowModalShare(!showModalShare)}>\r\n <span className=\"icon icon-share\"></span>\r\n </a>\r\n <div id=\"dropdown-share\" className={`dropdown-menu dropdown-menu-right ${showModalShare ? \"show\" : \"\"}`} x-placement=\"bottom-end\" style={{ position: \"absolute\", willChange: \"transform\", \"top\": \"0px\", \"left\": \"0px\", \"transform\": \"translate3d(-76px, 32px, 0px)\" }}>\r\n <div className=\"share-links\">\r\n\r\n <FacebookShareButton url={pageUrl} className=\"itool itool--small itool--clear\">\r\n <span className=\"icon icon-facebook\"></span>\r\n </FacebookShareButton>\r\n\r\n <TwitterShareButton url={pageUrl} className=\"itool itool--small itool--clear\">\r\n <span className=\"icon icon-twitter\"></span>\r\n </TwitterShareButton>\r\n\r\n <LinkedinShareButton url={pageUrl} className=\"itool itool--small itool--clear\">\r\n <span className=\"icon icon-linkedin\"></span>\r\n </LinkedinShareButton>\r\n\r\n <EmailShareButton url={pageUrl} className=\"itool itool--small itool--clear\">\r\n <span className=\"icon icon-mail\"></span>\r\n </EmailShareButton>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default CondivisioneProdotto;","import React from \"react\";\r\nimport { useContext } from \"react\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { config } from \"../../../constants/Constants\";\r\nimport { createImgLink } from \"../../../helper/helper\";\r\nimport { updateLink } from \"../../../helper/TealiumHelper\";\r\nimport AuthContext from \"../../../store/auth-context\";\r\n\r\nconst StickyFoot = (props) => {\r\n\r\n const img = createImgLink(props.img);\r\n const authCtx = useContext(AuthContext);\r\n return (\r\n <React.Fragment>\r\n <div className=\"page-preview d-lg-none\">\r\n <figure className=\"card-img \">\r\n {!props.isPacchetto &&\r\n <NavLink to={`/reader/${props.isBuyed ? props.idDocument : props.preview}`}>\r\n\r\n <span className=\"card-img-book\">\r\n <img src={props.img === \"\" ? config.imgDefaultLibro : img} alt=\"\" />\r\n </span>\r\n\r\n </NavLink>\r\n }\r\n {props.isPacchetto &&\r\n <NavLink to={((!props.isBuyed || !authCtx.isLoggedIn) && props.link !== null) ? props.link : \"\"}>\r\n <img className=\"card-img-full\" src={props.img === \"\" ? config.imgDefaultPacch : img} alt=\"\" />\r\n </NavLink>\r\n }\r\n </figure>\r\n\r\n {(!props.isBuyed || !authCtx.isLoggedIn) &&\r\n <div className=\"page-stickyfoot\">\r\n <div className=\"row small-gutters\">\r\n \r\n <div className=\"col-6\">\r\n <NavLink className=\"btn btn--big btn--full\" to={`/reader/${props.preview}`}>\r\n Leggi Anteprima\r\n </NavLink>\r\n </div>\r\n \r\n <div className=\"col-6\">\r\n {!props.isPacchetto && !props.isBuyed &&\r\n <div className=\"btn-wlabel\">\r\n <NavLink className=\"btn btn--black btn--big btn--full btn--shadow\" role={\"button\"} to={`/pacchetto/${props.pack}`}>\r\n Acquista\r\n </NavLink>\r\n </div>\r\n }\r\n {(props.isPacchetto && (!props.isBuyed || !authCtx.isLoggedIn)) &&\r\n <a className=\"btn btn--big btn--full btn--black\" href={`${props.link === null ? '' : props.link}`} onClick={(ev) => {updateLink({ title: \"acquista\", name: \"\" }, \"scheda\", props.pacchetto) }}>\r\n Acquista\r\n </a>\r\n }\r\n\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default StickyFoot;","import React from \"react\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { config } from \"../../../../constants/Constants\";\r\nimport ManageThematicArea from \"../../ManageThematicArea/ManageThematicArea\";\r\n\r\nconst SearchCardContentPac = (props) => {\r\n\r\n const pacchetto = props.pac;\r\n\r\n const img = pacchetto.img === \"\" ? config.imgDefault3 : pacchetto.img;\r\n\r\n return (\r\n <React.Fragment>\r\n <li className=\"list-item\">\r\n <NavLink className=\"cardsubs\" to={`/pacchetto/${pacchetto.node}`}>\r\n <figure className=\"card-img cardsubs-img\">\r\n <img className=\"card-img-full\" src={img} alt=\"\" />\r\n </figure>\r\n <div className=\"cardsubs-content\">\r\n <h4 className=\"cardsubs-title\">\r\n {pacchetto.title}\r\n </h4>\r\n <ManageThematicArea themeArea={pacchetto.themesArea}/>\r\n </div>\r\n </NavLink>\r\n\r\n </li>\r\n </React.Fragment>\r\n )\r\n}\r\n\r\nexport default SearchCardContentPac;","import React from \"react\";\r\n// React-Bootstrap\r\nimport Modal from 'react-bootstrap/Modal';\r\nimport SearchCardContentPac from \"../UI/Research/SearchCard/SearchCardContentPac\";\r\n\r\nconst Pacchetti = (props) => {\r\n\r\n const handleClose = () => {\r\n props.closeModalPacchettiHandle(false);\r\n };\r\n\r\n return (\r\n <Modal show={props.modalPacchetti} onHide={handleClose}>\r\n <div className=\"modal-content\">\r\n <a role=\"button\" className=\"modal-close\" data-dismiss=\"modal\" aria-label=\"Close\" onClick={handleClose}>\r\n <span className=\"icon icon-cross-small\"></span>\r\n </a>\r\n <Modal.Header className=\"modal-header\">\r\n <h3 className=\"modal-title\">Seleziona l’abbonamento</h3>\r\n </Modal.Header>\r\n\r\n <Modal.Body className=\"modal-body\">\r\n <p className=\"modal-txt\">\r\n Questo libro è acquistabile nei seguenti pacchetti di abbonamento. Seleziona quello più adatto a te\r\n </p>\r\n\r\n <div className=\"modal-cards-wrapper\">\r\n <ul className=\"list list--mid\">\r\n {props.buyOrNot?.map((pac, i) => (\r\n <SearchCardContentPac\r\n pac={pac}\r\n key={i}\r\n />\r\n ))\r\n }\r\n </ul>\r\n </div>\r\n </Modal.Body>\r\n </div>\r\n </Modal>\r\n )\r\n}\r\n\r\nexport default Pacchetti;","import React, { useContext, useEffect, useState } from \"react\";\r\nimport { useParams, Outlet, NavLink, useLocation } from \"react-router-dom\";\r\n// Components\r\nimport InAggiornamento from \"../components/Prodotti/InAggiornamento/InAggiornamento\";\r\nimport NavBarSchede from \"../components/Prodotti/Prodotto/NavBarSchede/NavBarSchede\";\r\nimport Header from \"../components/Header/Header\";\r\nimport Wrapper from \"../components/Helper/Wrapper/Wrapper\";\r\nimport Footer from \"../components/Footer/Footer\";\r\nimport Ricerca from \"../components/Header/Ricerca/Ricerca\";\r\nimport Prodotti from \"../components/Prodotti/Prodotti\";\r\nimport SchedaProdottoSpecifica from \"../components/Prodotti/SchedaProdottoSpecifica/SchedaProdottoSpecifica\";\r\nimport CondivisioneProdotto from \"../components/Prodotti/Condivisione Prodotto/CondivisioneProdotto\";\r\nimport ManageThematicArea from \"../components/UI/ManageThematicArea/ManageThematicArea\";\r\nimport LoginModal from \"../components/Modals/Login\";\r\nimport SessioneScaduta from '../components/Modals/SessioneScaduta';\r\nimport AuthContext from \"../store/auth-context\";\r\nimport GetDocumentContext from \"../store/get-documento\";\r\nimport { config } from \"../constants/Constants\";\r\nimport useManageBodyClasses from \"../hooks/useManageBodyClasses\";\r\nimport isLoadingContext from \"../store/isLoadingcontext\";\r\nimport Spinner from \"../components/UI/Spinner/Spinner\";\r\nimport StickyFoot from \"../components/Prodotti/SchedaProdottoSpecifica/StickyFoot\";\r\nimport useHttpRequest from \"../hooks/http-request\";\r\nimport TokenContext from \"../store/token-context\";\r\nimport Pacchetti from \"../components/Modals/Pacchetti\";\r\nimport { Helmet, HelmetProvider } from \"react-helmet-async\";\r\nimport { createImgLink, splitFisco, titleUrlSlug } from \"../helper/helper\";\r\nimport MessageManageSiac from \"../components/Modals/MessageManageSiac\";\r\nimport { updateView } from \"../helper/TealiumHelper\";\r\n\r\nconst Prodotto = (props) => {\r\n\r\n\r\n const [tiPotrebbeInteressare, setTiPotrebbeInteressare] = useState([]);\r\n const [isBuyed, setIsBuyed] = useState(undefined);\r\n const [prodotto, setProdotto] = useState(undefined);\r\n const [modalPacchetti, setModalPacchetti] = useState(false);\r\n const [buyOrNot, setBuyOrNot] = useState(false);\r\n\r\n const { id } = useParams();\r\n\r\n const authCtx = useContext(AuthContext);\r\n const tokenCtx = useContext(TokenContext);\r\n const documentCtx = useContext(GetDocumentContext);\r\n const isLoadingCtx = useContext(isLoadingContext);\r\n const location = useLocation();\r\n const sendRqst = useHttpRequest();\r\n const [showSessione, setShowSessione] = useState(false);\r\n const [showModal, setShowModal] = useState(true);\r\n useEffect(() => {\r\n setShowSessione(localStorage.getItem(\"showModalSessione\") ? true : false);\r\n });\r\n useEffect(() => {\r\n\r\n isLoadingCtx.setIfIsLoading(true);\r\n\r\n let getProduct = setTimeout(() => {\r\n documentCtx.getDocumentoFromId(id);\r\n documentCtx.getList(config.nameList.tiPotrebbeInteressare, id);\r\n }, 200);\r\n\r\n return () => {\r\n clearTimeout(getProduct);\r\n };\r\n }, [id]);\r\n\r\n useEffect(() => {\r\n setTiPotrebbeInteressare(documentCtx.tiPotrebbeInteressare)\r\n\r\n }, [documentCtx.tiPotrebbeInteressare]);\r\n\r\n useEffect(() => {\r\n\r\n if (documentCtx.prodotto !== undefined)\r\n setProdotto(documentCtx.prodotto);\r\n\r\n }, [documentCtx.prodotto]);\r\n\r\n useEffect(() => {\r\n\r\n window.scrollTo(0, 0);\r\n }, [id]);\r\n\r\n useEffect(() => {\r\n if (tokenCtx.token === null || !authCtx.isLoggedIn) {\r\n setIsBuyed(false);\r\n return;\r\n }\r\n\r\n const settingsBuyOrNot = (data) => {\r\n\r\n if (parseInt(data.Result.ResultSet.Root[0].comprato) > 0) {\r\n setIsBuyed(true);\r\n return;\r\n }\r\n\r\n setIsBuyed(false);\r\n }\r\n\r\n const bodyFormatted = {\r\n \"parameters\": {\r\n \"name\": config.nameList.getBuyedOrNot,\r\n \"inputParameters\": [{\r\n \"name\": \"iddocumento\",\r\n \"type\": \"Int\",\r\n \"value\": id\r\n }],\r\n \"staticToken\": authCtx.isLoggedIn ? \"\" : config.token.STATIC_TOKEN\r\n },\r\n \"token\": authCtx.isLoggedIn ? tokenCtx.token : \"\"\r\n };\r\n\r\n const rqs = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(rqs, settingsBuyOrNot);\r\n\r\n }, [tokenCtx.token, authCtx.isLoggedIn]);\r\n\r\n const showModalPacchettiHandle = (val) => {\r\n setModalPacchetti(val.showModal);\r\n setBuyOrNot(val.settingBuyOrNot)\r\n };\r\n\r\n const closeModalPacchettiHandle = (val) => {\r\n setModalPacchetti(val);\r\n }\r\n\r\n useEffect(() => {\r\n\r\n isLoadingCtx.setIfIsLoading(false, 1000);\r\n\r\n }, [isLoadingCtx.isLoading])\r\n\r\n useManageBodyClasses();\r\n\r\n return (\r\n <React.Fragment>\r\n <HelmetProvider>\r\n {prodotto !== undefined &&\r\n <Helmet>\r\n <title>{prodotto.title} | Book24ORE</title>\r\n <link rel=\"canonical\" href={window.location.href} />\r\n <meta name=\"description\" content={prodotto.descrizione.length >= 300 ? prodotto.descrizione.substr(0, 300) : prodotto.descrizione} />\r\n <meta name=\"keywords\" content=\"libri, volumi, informazione professionale, edicola, diritto, fisco, lavoro, aziende, pubblica amministrazione\" />\r\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\r\n <meta property=\"og:title\" content={prodotto.title.length >= 95 ? prodotto.title.substr(0, 90) : prodotto.title} />\r\n <meta property=\"og:type\" content=\"article\" />\r\n <meta property=\"og:url\" content={config.url.API_URL_SITO + location.pathname.replace(\"/\", \"\")} />\r\n <meta property=\"og:image\" content={createImgLink(prodotto.img)} />\r\n <meta property=\"og:image:width\" content=\"450\" />\r\n <meta property=\"og:image:height\" content=\"370\" />\r\n <meta property=\"og:site_name\" content={prodotto.title.length >= 95 ? prodotto.title.substr(0, 90) : prodotto.title} />\r\n <meta property=\"og:description\" content={prodotto.descrizione.length >= 300 ? prodotto.descrizione.substr(0, 300) : prodotto.descrizione} />\r\n <meta name=\"twitter:card\" content=\"summary\" />\r\n <meta name=\"twitter:title\" content=\"Book24ORE - Il Sole 24 ORE\" />\r\n <meta name=\"twitter:description\" content={prodotto.descrizione.length >= 300 ? prodotto.descrizione.substr(0, 300) : prodotto.descrizione} />\r\n <meta name=\"twitter:image\" content={createImgLink(prodotto.img)} />\r\n </Helmet>\r\n }\r\n <Wrapper>\r\n <Header showSecondRow={false} classSticky=\"sticky\" isIntegrateInBD={props.isIntegrateInBD}></Header>\r\n {authCtx.showLoginModal && <LoginModal show={authCtx.showLoginModal}></LoginModal>}\r\n {tokenCtx.showMessageSiac && <MessageManageSiac show={tokenCtx.showMessageSiac}></MessageManageSiac>}\r\n {showSessione && <SessioneScaduta show={showSessione} closeModal={(dismiss) => { setShowModal(dismiss.showModal) }}></SessioneScaduta>}\r\n {isLoadingCtx.isLoading && <Spinner></Spinner>}\r\n {\r\n modalPacchetti && <Pacchetti\r\n buyOrNot={buyOrNot}\r\n closeModalPacchettiHandle={closeModalPacchettiHandle}\r\n modalPacchetti={modalPacchetti} />\r\n }\r\n {prodotto !== undefined &&\r\n <div className=\"main-content\">\r\n\r\n <section className=\"section\">\r\n <div className=\"container\">\r\n <div className=\"row\">\r\n <div className=\"col-lg-8\">\r\n <div className=\"page\">\r\n <div className=\"page-head\" data-page-header>\r\n {prodotto.type_summ === \"GetPdf\" &&\r\n <NavLink to={`/reader/${prodotto.idDocument}`}>\r\n <h1 className=\"page-title\">\r\n {prodotto.title}\r\n </h1>\r\n </NavLink>\r\n }\r\n\r\n {prodotto.type_summ !== \"GetPdf\" &&\r\n <NavLink to={`/reader/${prodotto.preview === \"0\" ? prodotto.idDocument : prodotto.preview}`}>\r\n <h1 className=\"page-title\">\r\n {prodotto.title}\r\n </h1>\r\n </NavLink>\r\n }\r\n\r\n <p className=\"page-auth\">\r\n Autori: {prodotto.autori}\r\n </p>\r\n <ul className=\"list-inline list-inline--small\">\r\n\r\n <ManageThematicArea themeArea={prodotto.areaTematicaList}></ManageThematicArea>\r\n\r\n <InAggiornamento isUpdating={prodotto.isUpdating}></InAggiornamento>\r\n\r\n\r\n </ul>\r\n\r\n <p className=\"page-time\">\r\n {`${prodotto.isUpdating === \"1\" ? \"Aggiornato il: \" : \"Pubblicato il: \"} ${prodotto.aggiornato}`}\r\n </p>\r\n\r\n <CondivisioneProdotto img={prodotto.img} title={prodotto.title}></CondivisioneProdotto>\r\n <StickyFoot\r\n isPacchetto={false}\r\n prezzoMensile={prodotto.prezzoMensile}\r\n prezzoAnnuale={prodotto.prezzoAnnuale}\r\n img={prodotto.img}\r\n idDocument={prodotto.idDocument}\r\n preview={prodotto.preview}\r\n pack={prodotto.pack}\r\n isBuyed={isBuyed}\r\n />\r\n\r\n <NavBarSchede title={prodotto.title}></NavBarSchede>\r\n </div>\r\n <div>\r\n <Outlet />\r\n </div>\r\n </div>\r\n </div>\r\n <SchedaProdottoSpecifica\r\n isPacchetto={false}\r\n prezzoMensile={prodotto.prezzoMensile}\r\n prezzoAnnuale={prodotto.prezzoAnnuale}\r\n img={prodotto.img}\r\n preview={prodotto.preview}\r\n idDocument={prodotto.idDocument}\r\n pack={prodotto.pack}\r\n packString={prodotto.packString}\r\n isBuyed={isBuyed}\r\n showModalPacchettiHandle={showModalPacchettiHandle}\r\n titleContainer={\"scheda\"}\r\n titleTealium={prodotto.title}\r\n />\r\n\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n }\r\n {tiPotrebbeInteressare.length > 0 &&\r\n <Prodotti\r\n title=\"Ti potrebbe interessare\"\r\n prodList={tiPotrebbeInteressare}\r\n isSubscription={false}\r\n isManageable={false}\r\n sectionClassName=\"\"\r\n classNameCard=\"card card--book \"\r\n dataSlide=\"4\"\r\n dataSlideMd=\"3\"\r\n isProfessionalTool={false}></Prodotti>\r\n }\r\n <Footer isIntegrateInBD={props.isIntegrateInBD}></Footer>\r\n <Ricerca></Ricerca>\r\n </Wrapper>\r\n </HelmetProvider>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default Prodotto;","import { config } from \"../constants/Constants\"\r\nimport { convertThemeArea } from \"./castingObject\";\r\nimport { castDate, createImgLink, filterFisco } from \"./helper\";\r\n\r\nexport const bodyFormattedGetSchedaPacchetto = (id) => {\r\n return {\r\n \"parameters\": {\r\n \"name\": config.nameList.getSchedaPac,\r\n \"inputParameters\": [{\r\n \"name\": \"nodo\",\r\n \"type\": \"Int\",\r\n \"value\": id\r\n }],\r\n \"staticToken\": config.token.STATIC_TOKEN\r\n },\r\n \"token\": \"\"\r\n }\r\n};\r\n\r\nexport const bodyFormattedBooks = (pacchetti, isPacchetti) => {\r\n var obj = {\r\n \"parameters\": {\r\n \"name\": config.nameList.getLibriPacc,\r\n \"inputParameters\": [{\r\n \"name\": \"idpacchetti\",\r\n \"type\": \"VarChar\",\r\n \"value\": isPacchetti ? pacchetti : \"\"\r\n }],\r\n \"staticToken\": config.token.STATIC_TOKEN\r\n },\r\n \"token\": \"\"\r\n }\r\n if(!isPacchetti){\r\n var el = {\r\n \"name\": \"modulocruscotto\",\r\n \"type\": \"VarChar\",\r\n \"value\": pacchetti\r\n }\r\n obj.parameters.inputParameters.push(el);\r\n }\r\n return obj\r\n};\r\n\r\nexport const bodyFormattedGetTiPotrbbIntPacc = (areaTematica, idDocs) => {\r\n return {\r\n \"parameters\": {\r\n \"name\": config.nameList.getLibriInteress,\r\n \"inputParameters\": [\r\n {\r\n \"name\": \"area\",\r\n \"type\": \"VarChar\",\r\n \"value\": areaTematica\r\n },\r\n {\r\n \"name\": \"documenti\",\r\n \"type\": \"VarChar\",\r\n \"value\": idDocs\r\n }\r\n ],\r\n \"staticToken\": config.token.STATIC_TOKEN\r\n },\r\n \"token\": \"\"\r\n }\r\n};\r\n\r\nexport const castObjForFe = (obj) => {\r\n\r\n var img = \"\";\r\n if(validURL(encodeURI(obj.immagine))){\r\n img = obj.immagine;\r\n }else{\r\n img = obj.immagine !== \"\" ? config.imgLinkPacchetti + obj.immagine + \".PNG\" : \"\";\r\n }\r\n function validURL(str) {\r\n var pattern = new RegExp('^(https?:\\\\/\\\\/)?'+ // protocol\r\n '((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|'+ // domain name\r\n '((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))'+ // OR ip (v4) address\r\n '(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*'+ // port and path\r\n '(\\\\?[;&a-z\\\\d%_.~+=-]*)?'+ // query string\r\n '(\\\\#[-a-z\\\\d_]*)?$','i'); // fragment locator\r\n return !!pattern.test(str);\r\n }\r\n return {\r\n title: obj.titolo,\r\n text: obj.descrizione,\r\n img: img,\r\n areaTematicaList: convertThemeArea(obj.area_tematica),\r\n link: obj.link,\r\n module: obj.modulo\r\n };\r\n};\r\n\r\nexport const castArrayForFe = (array) => {\r\n\r\n let arrayForFe = [];\r\n let arrayIdDocument = '';\r\n\r\n array.forEach((element, index) => {\r\n arrayForFe.push({\r\n id: element.IdDocumento,\r\n title: element.titolo,\r\n listAutori: element.autore,\r\n img: element.immagine === \"\" ? \"\" : createImgLink(element.immagine),\r\n themeArea: convertThemeArea(element.area_tematica),\r\n isUpdating: element.aggiornamento === \"0\" ? false : true,\r\n isNew: element.novita === \"0\" ? false : true,\r\n aggiornato: castDate(element.data)\r\n });\r\n\r\n arrayIdDocument = arrayIdDocument.concat(element.IdDocumento);\r\n if (array.length - 1 !== index) \r\n arrayIdDocument = arrayIdDocument.concat(\",\");\r\n });\r\n\r\n return {\r\n arrayForFe:arrayForFe,\r\n idDocumentsConcat: arrayIdDocument\r\n };\r\n};\r\n\r\nexport const castArrayTiPotrIntForFe = (array) => {\r\n\r\n let arrayForFe = [];\r\n\r\n array.forEach(element => {\r\n arrayForFe.push({\r\n id: element.IdDocumento,\r\n title: element.titolo,\r\n auth: element.autore,\r\n img: element.immagine === \"\" ? \"\" : element.immagine,\r\n isNew: element.novita === \"0\" ? false : true,\r\n themeArea: convertThemeArea(element.area_tematica),\r\n isUpdating: element.aggiornamento === \"0\" ? false : true,\r\n });\r\n });\r\n\r\n return arrayForFe;\r\n};\r\n\r\nexport const castThemeAreaInString = (themeArea) => {\r\n\r\n let themeAreaCasted = \"\";\r\n\r\n themeArea.forEach((element, index) => {\r\n let elementUpd = filterFisco(element.titleArea);\r\n themeAreaCasted = themeAreaCasted.concat(elementUpd).concat(index === themeArea.length - 1 ? \"\" : \",\");\r\n });\r\n\r\n return themeAreaCasted;\r\n}","import React from \"react\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { config } from \"../../../../constants/Constants\";\r\nimport { titleUrlSlug } from \"../../../../helper/helper\";\r\nimport { updateLink } from \"../../../../helper/TealiumHelper\";\r\nimport ManageThematicArea from \"../../../UI/ManageThematicArea/ManageThematicArea\";\r\nimport Novita from \"../../../UI/Novita/Novita\";\r\nimport InAggiornamento from \"../../InAggiornamento/InAggiornamento\";\r\nimport ListaAutori from \"../../ListaAutori/ListaAutori\";\r\n\r\nconst LibroPacchetto = (props) => {\r\n\r\n const img = props.prodotto.img === \"\" ? config.imgDefaultLibro : props.prodotto.img;\r\n const title = titleUrlSlug(props.prodotto?.title?.split(\"/\")[0].replaceAll(\" \", \"_\"));\r\n \r\n return (\r\n <React.Fragment>\r\n <li className=\"list-item\">\r\n <div className=\"card card--hor \">\r\n <div className=\"card-box\">\r\n <div className=\"card-content\">\r\n <figure className=\"card-img \">\r\n <NavLink to={\"/Prodotto/\" + title + \"/\" + props.prodotto.id + \"/SchedaDescrizione\"} onClick={(ev) => {updateLink({ title: props.prodotto.title, name: \"prodotto\" }, props.titleContainer, props.pacchetto) }}>\r\n\r\n <span className=\"card-img-book\">\r\n <img src={img} alt=\"\" />\r\n </span>\r\n\r\n </NavLink>\r\n </figure>\r\n\r\n\r\n <div className=\"card-body\">\r\n <div className=\"card-body-main\">\r\n <h4 className=\"card-title\">\r\n <NavLink to={\"/Prodotto/\" + title + \"/\" + props.prodotto.id + \"/SchedaDescrizione\"} onClick={(ev) => {updateLink({ title: props.prodotto.title, name: \"prodotto\" }, props.titleContainer, props.pacchetto) }}>\r\n {props.prodotto.title}\r\n </NavLink>\r\n </h4>\r\n\r\n <p className=\"card-auth\">\r\n <ListaAutori listAutori={props.prodotto.listAutori}></ListaAutori>\r\n </p>\r\n <p className=\"card-time\">\r\n {`${props.isUpdating || props.isUpdating === \"1\" ? \"Aggiornato il: \" : \"Pubblicato il: \"}`} {props.prodotto.aggiornato}\r\n </p>\r\n </div>\r\n\r\n <div className=\"card-foot card-foot--flex d-none d-md-flex\">\r\n <ul className=\"list-inline list-inline--small\">\r\n <ManageThematicArea themeArea={props.prodotto.themeArea}></ManageThematicArea>\r\n </ul>\r\n <InAggiornamento isUpdating={props.prodotto.isUpdating}></InAggiornamento>\r\n </div>\r\n </div>\r\n </div>\r\n {props.prodotto.isNew && <Novita />}\r\n </div>\r\n </div>\r\n </li>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default LibroPacchetto;","import React, { useContext, useEffect, useState } from \"react\";\r\nimport { config } from \"../../../constants/Constants\";\r\nimport { bodyFormattedBooks, castArrayForFe } from \"../../../helper/helperPacchetto\";\r\nimport useHttpRequest from \"../../../hooks/http-request\";\r\nimport TokenContext from \"../../../store/token-context\";\r\nimport LibroPacchetto from \"./LibroPacchetto/LibroPacchetto\";\r\n\r\nconst LibriPacchetto = (props) => {\r\n\r\n const [libri, setLibri] = useState(null)\r\n\r\n const tokenCtx = useContext(TokenContext);\r\n const sendRqst = useHttpRequest();\r\n\r\n useEffect(() => {\r\n const setBooksPac = (data) => {\r\n\r\n if (data.Result.ResultSet === null) return;\r\n\r\n const obj = castArrayForFe(data.Result.ResultSet.Root);\r\n\r\n setLibri(obj.arrayForFe);\r\n props.settingsIdDocuments(obj.idDocumentsConcat);\r\n }; \r\n var bodyFormatted = null;\r\n if(parseInt(props.modules)>= 1000){\r\n bodyFormatted = bodyFormattedBooks(props.modules, false);\r\n }else{\r\n bodyFormatted = bodyFormattedBooks(props.pacchetti, true);\r\n }\r\n \r\n\r\n const rqs = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(rqs, setBooksPac);\r\n\r\n }, [tokenCtx.allAssocModPac]);\r\n\r\n return (\r\n <React.Fragment>\r\n {libri && libri.map(libro => (\r\n <LibroPacchetto key={Math.random().toString()} prodotto={libro} isUpdating={libro.isUpdating} titleContainer={props.titleContainer} pacchetto={props.pacchetto}></LibroPacchetto>\r\n ))\r\n }\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default LibriPacchetto;","import React from \"react\";\r\n\r\nconst Paragraph = (props) => {\r\n\r\n const srcImg = props?.img?.includes('via.placeholder') ? '/dist/img/placeholder-autore.png' : props.img;\r\n\r\n const description = props.text === \"\" ? \"Biografia non disponibile\" : props.text;\r\n\r\n return (\r\n <React.Fragment> \r\n {props.title && \r\n <h2 className={props.classTitle}>\r\n {props.title}\r\n </h2>\r\n }\r\n {description && \r\n <p className={props.classPar}>\r\n {description}\r\n </p>\r\n }\r\n {props.viewImg &&\r\n <figure className=\"page-authbox-img\">\r\n <img className=\"img-cover\" src={srcImg} alt=\"\" />\r\n </figure>}\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default Paragraph;","import React, { useContext, useEffect, useState } from \"react\";\r\nimport Footer from \"../components/Footer/Footer\";\r\nimport Header from \"../components/Header/Header\";\r\nimport Ricerca from \"../components/Header/Ricerca/Ricerca\";\r\nimport Wrapper from \"../components/Helper/Wrapper/Wrapper\";\r\nimport LibriPacchetto from \"../components/Prodotti/LibriPacchetto/LibriPacchetto\";\r\nimport Prodotti from \"../components/Prodotti/Prodotti\";\r\nimport SchedaProdottoSpecifica from \"../components/Prodotti/SchedaProdottoSpecifica/SchedaProdottoSpecifica\";\r\nimport ManageThematicArea from \"../components/UI/ManageThematicArea/ManageThematicArea\";\r\nimport Paragraph from \"../components/UI/Paragraph/Paragraph\";\r\nimport LoginModal from \"../components/Modals/Login\";\r\nimport AuthContext from \"../store/auth-context\";\r\nimport { NavLink, useParams } from \"react-router-dom\";\r\nimport { bodyFormattedGetSchedaPacchetto, bodyFormattedGetTiPotrbbIntPacc, castArrayTiPotrIntForFe, castObjForFe, castThemeAreaInString } from \"../helper/helperPacchetto\";\r\nimport useHttpRequest from \"../hooks/http-request\";\r\nimport { config } from \"../constants/Constants\";\r\nimport TokenContext from \"../store/token-context\";\r\nimport Spinner from \"../components/UI/Spinner/Spinner\";\r\nimport isLoadingContext from \"../store/isLoadingcontext\";\r\nimport useManageBodyClasses from \"../hooks/useManageBodyClasses\";\r\nimport StickyFoot from \"../components/Prodotti/SchedaProdottoSpecifica/StickyFoot\";\r\nimport MessageManageSiac from \"../components/Modals/MessageManageSiac\";\r\nimport { updateView } from \"../helper/TealiumHelper\";\r\nimport { titleUrlSlug, titleUrlSlugForTealium } from \"../helper/helper\";\r\nimport SessioneScaduta from \"../components/Modals/SessioneScaduta\";\r\n\r\nconst Pacchetto = (props) => {\r\n\r\n const { id } = useParams();\r\n const authCtx = useContext(AuthContext);\r\n const tokenCtx = useContext(TokenContext);\r\n const isLoadingCtx = useContext(isLoadingContext);\r\n const sendRqst = useHttpRequest();\r\n const [showSessione, setShowSessione] = useState(false);\r\n const [showModal, setShowModal] = useState(true);\r\n useEffect(() => {\r\n setShowSessione(localStorage.getItem(\"showModalSessione\") ? true : false);\r\n });\r\n const [pacchetto, setPacchetto] = useState(null);\r\n const [pacchetti, setPacchetti] = useState(null);\r\n const [isBuyed, setIsBuyed] = useState(false);\r\n const [tiPotrebbeInteressare, setTiPotrebbeInteressare] = useState(null);\r\n const [idDocuments, setIdDocuments] = useState(null);\r\n\r\n useEffect(() => {\r\n\r\n let functionDelay = setTimeout(() => {\r\n isLoadingCtx.setIfIsLoading(true);\r\n const setHeaderPacchetto = (data) => {\r\n\r\n if (data.Result.ResultSet === null) return;\r\n\r\n const pacchetto = castObjForFe(data.Result.ResultSet.Root[0]);\r\n\r\n setPacchetto(pacchetto);\r\n updateView(`book24ore:pacchetto:${titleUrlSlugForTealium(pacchetto.title)}`,authCtx, tokenCtx, \"book24ore:pacchetto\");\r\n\r\n if (tokenCtx.allAssocModPac.length === 0) {\r\n tokenCtx.loadProduct();\r\n }\r\n };\r\n const bodyFormatted = bodyFormattedGetSchedaPacchetto(id);\r\n\r\n const rqs = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(rqs, setHeaderPacchetto);\r\n }, 300)\r\n\r\n return () => {\r\n clearTimeout(functionDelay);\r\n };\r\n\r\n }, [id, tokenCtx.allAssocModPac]);\r\n\r\n useEffect(() => {\r\n\r\n if (tokenCtx.allAssocModPac.length === 0 || pacchetto === null) return;\r\n\r\n const arrayAssociazioneModuli = tokenCtx.allAssocModPac;\r\n arrayAssociazioneModuli.forEach(element => {\r\n if(pacchetto.module>=1000) {\r\n setPacchetti(pacchetto.module) \r\n return;\r\n }\r\n if (element[\"@modulo\"] === pacchetto.module) {\r\n setPacchetti(element[\"@pacchetto\"]);\r\n }\r\n });\r\n \r\n }, [tokenCtx.allAssocModPac, pacchetto]);\r\n\r\n useEffect(() => {\r\n\r\n if (pacchetto === null || idDocuments === null) return;\r\n\r\n const setListInteressare = (data) => {\r\n\r\n isLoadingCtx.setIfIsLoading(false);\r\n if (data.Result.ResultSet === null) return;\r\n\r\n setTiPotrebbeInteressare(castArrayTiPotrIntForFe(data.Result.ResultSet.Root));\r\n };\r\n\r\n const castAreaTems = castThemeAreaInString(pacchetto.areaTematicaList);\r\n\r\n const bodyFormatted = bodyFormattedGetTiPotrbbIntPacc(castAreaTems, idDocuments);\r\n\r\n const rqs = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(rqs, setListInteressare);\r\n\r\n }, [pacchetto, idDocuments]);\r\n\r\n const settingsIdDocuments = (idDocuments) => {\r\n if (idDocuments === undefined) return;\r\n\r\n setIdDocuments(idDocuments);\r\n };\r\n\r\n useEffect(() => {\r\n if (pacchetto === null || tokenCtx.modulesComplete.length === 0) return;\r\n\r\n let namePacchetto = '';\r\n tokenCtx.modulesComplete.forEach(el => {\r\n if (el['@id'] === pacchetto.module)\r\n namePacchetto = el['@name'];\r\n });\r\n\r\n setIsBuyed(tokenCtx.userModules.some(el => el === namePacchetto));\r\n\r\n }, [tokenCtx.userModules, pacchetto]);\r\n\r\n /*useEffect(() => {\r\n\r\n if(window.utag === null || window.utag === undefined || pacchetto === null) return;\r\n\r\n updateView(`book24ore:pacchetto:${titleUrlSlugForTealium(pacchetto.title)}`,authCtx, tokenCtx, \"book24ore:pacchetto\");\r\n \r\n },[tokenCtx.token, window.utag, authCtx.isLoggedIn, pacchetto])*/\r\n\r\n useManageBodyClasses();\r\n\r\n return (\r\n <React.Fragment>\r\n <Wrapper>\r\n <Header showSecondRow={false} classSticky=\"sticky\" isIntegrateInBD={props.isIntegrateInBD}></Header>\r\n {authCtx.showLoginModal && <LoginModal show={authCtx.showLoginModal}></LoginModal>}\r\n {tokenCtx.showMessageSiac && <MessageManageSiac show={tokenCtx.showMessageSiac}></MessageManageSiac>}\r\n {showSessione && <SessioneScaduta show={showSessione} closeModal={(dismiss) => { setShowModal(dismiss.showModal) }}></SessioneScaduta>}\r\n {isLoadingCtx.isLoading && <Spinner></Spinner>}\r\n {pacchetto !== null &&\r\n <section className=\"section\">\r\n <div className=\"container\">\r\n <div className=\"row\">\r\n <div className=\"col-lg-8\">\r\n <div className=\"page\">\r\n <div className=\"page-head\" data-page-header>\r\n <h1 className=\"page-title\">\r\n {pacchetto.title}\r\n </h1>\r\n <ul className=\"list-inline list-inline--small\">\r\n <ManageThematicArea themeArea={pacchetto.areaTematicaList}></ManageThematicArea>\r\n </ul>\r\n\r\n <StickyFoot\r\n isPacchetto={true}\r\n link={pacchetto.link}\r\n img={pacchetto.img}\r\n isBuyed={isBuyed}\r\n pacchetto={pacchetto.title}\r\n />\r\n\r\n\r\n </div>\r\n <Paragraph\r\n key={Math.random()}\r\n classPar=\"page-txt\"\r\n text={pacchetto.text}\r\n typeText=\"par\"\r\n />\r\n <Paragraph\r\n key={Math.random()}\r\n classTitle=\"page-subtitle\"\r\n title=\"Libri compresi nel pacchetto\"\r\n typeText=\"subtit\"\r\n />\r\n <ul className=\"list list--large\">\r\n {pacchetti && <LibriPacchetto idPacchetto={pacchetto.id} modules={pacchetto.module} pacchetti={pacchetti} settingsIdDocuments={settingsIdDocuments} titleContainer=\"Libri compresi\" pacchetto={pacchetto.title}></LibriPacchetto>}\r\n </ul>\r\n\r\n </div>\r\n </div>\r\n\r\n <SchedaProdottoSpecifica\r\n isPacchetto={true}\r\n link={pacchetto.link}\r\n img={pacchetto.img}\r\n isBuyed={isBuyed}\r\n titleContainer={\"scheda\"}\r\n titleTealium={pacchetto.title}\r\n />\r\n </div>\r\n </div>\r\n </section>\r\n }\r\n {tiPotrebbeInteressare && <Prodotti\r\n title=\"Ti potrebbe interessare\"\r\n prodList={tiPotrebbeInteressare}\r\n isSubscription={false}\r\n isManageable={false}\r\n sectionClassName=\"\"\r\n classNameCard=\"card card--book \"\r\n dataSlide=\"4\"\r\n dataSlideMd=\"3\"\r\n isProfessionalTool={false}></Prodotti>}\r\n <Footer isIntegrateInBD={props.isIntegrateInBD}></Footer>\r\n <Ricerca></Ricerca>\r\n </Wrapper>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default Pacchetto;","import React, { useState, useContext, useEffect } from 'react';\r\nimport { NavLink } from \"react-router-dom\";\r\nimport Prodotti from '../../Prodotti/Prodotti';\r\nimport Button from '../../UI/Button/Button';\r\nimport ManageProductListsContext from \"../../../store/manage-products-list-context\";\r\nimport { config } from '../../../constants/Constants';\r\nimport TokenContext from '../../../store/token-context';\r\nimport AuthContext from '../../../store/auth-context';\r\nimport { filterFisco, splitFisco } from '../../../helper/helper';\r\nimport isLoadingContext from '../../../store/isLoadingcontext';\r\nimport Spinner from '../../UI/Spinner/Spinner';\r\n\r\nconst AreaBody = (props) => {\r\n\r\n const tokenCtx = useContext(TokenContext);\r\n const authCtx = useContext(AuthContext);\r\n const productListsCtx = useContext(ManageProductListsContext);\r\n const isLoadingCtx = useContext(isLoadingContext);\r\n\r\n const [ultimeUscite, setUltimeUscite] = useState([]);\r\n const [proposteDiAbbonamento, setProposteDiAbbonamento] = useState([]);\r\n const [piuLetti, setPiuLetti] = useState([]);\r\n\r\n useEffect(() => {\r\n\r\n let setList = setTimeout(() => {\r\n\r\n let themeAr = filterFisco(props.themeArea);\r\n\r\n productListsCtx.getList(config.nameList.ultimeUscite, undefined, themeAr);\r\n productListsCtx.getList(config.nameList.proposteAbbon, undefined, themeAr);\r\n productListsCtx.getList(config.nameList.listPiuLetti, undefined, themeAr);\r\n\r\n isLoadingCtx.setIfIsLoading(true);\r\n\r\n }, 200);\r\n\r\n return () => {\r\n clearTimeout(setList);\r\n };\r\n }, [props.themeArea, tokenCtx.token]);\r\n\r\n useEffect(() => {\r\n setUltimeUscite(productListsCtx.ultimeUscite);\r\n\r\n if (productListsCtx.ultimeUscite?.length > 0)\r\n isLoadingCtx.setIfIsLoading(false, 400);\r\n\r\n }, [productListsCtx.ultimeUscite]);\r\n\r\n useEffect(() => {\r\n setProposteDiAbbonamento(productListsCtx.proposteDiAbbonamento);\r\n }, [productListsCtx.proposteDiAbbonamento]);\r\n\r\n useEffect(() => {\r\n setPiuLetti(productListsCtx.piuLetti);\r\n }, [productListsCtx.piuLetti]);\r\n\r\n return (\r\n <React.Fragment>\r\n {isLoadingCtx.isLoading && <Spinner></Spinner>}\r\n {ultimeUscite.length > 0 && <Prodotti title=\"Ultime Uscite\"\r\n prodList={ultimeUscite}\r\n isSubscription={false}\r\n isManageable={false}\r\n sectionClassName=\"\"\r\n classNameCard=\"card card--book \"\r\n dataSlide=\"4\"\r\n dataSlideMd=\"3\"\r\n isProfessionalTool={false} />}\r\n\r\n {proposteDiAbbonamento.length > 0 && <Prodotti title=\"Proposte di abbonamento\"\r\n prodList={proposteDiAbbonamento}\r\n isSubscription={true}\r\n isManageable={false}\r\n sectionClassName=\"\"\r\n classNameCard=\"card card--book \"\r\n dataSlide=\"4\"\r\n dataSlideMd=\"3\"\r\n isProfessionalTool={false}\r\n isAbbonamento={true} />}\r\n\r\n {piuLetti.length > 0 && <Prodotti title=\"I più letti\"\r\n prodList={piuLetti}\r\n isSubscription={false}\r\n isManageable={false}\r\n sectionClassName=\"\"\r\n classNameCard=\"card card--book card--action\"\r\n dataSlide=\"4\"\r\n dataSlideMd=\"3\"\r\n isProfessionalTool={false} />}\r\n <section class=\"section section--light\">\r\n <div class=\"container\">\r\n <div class=\"text-center\">\r\n <NavLink to={`/Area/${props.themeArea}/AllList`} className=\"btn btn--big btn--black\">\r\n {`Scopri tutti i prodotti ${splitFisco(props.themeArea)}`}\r\n </NavLink>\r\n {/*<Button titleButton={`Scopri tutti i prodotti ${splitFisco(props.themeArea)}`}\r\n classDiv={\"btn btn--big btn--black\"}\r\n url={`/Area/${props.themeArea}/AllList`}\r\n titleContainer={\"Scopri tutti i prodotti\"}\r\n themeArea={splitFisco(props.themeArea)}>\r\n </Button>*/}\r\n </div>\r\n </div>\r\n </section>\r\n\r\n\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default AreaBody;","import React from \"react\";\r\nimport { ChooseAreaTematica } from \"../../Helper/ChooseAreaTematica/ChooseAreaTematica\";\r\nimport { splitFisco, themeAreaDescription } from \"../../../helper/helper\"; \r\n\r\nconst AreaHeader = (props) => {\r\n\r\n //chiamata per ritornare le info dell'area tematica\r\n\r\n let areaImg = `/dist/img/${props.themeArea}-themearea.png`;\r\n\r\n let infoAreaTematica = {\r\n title: splitFisco(props.themeArea),\r\n text: themeAreaDescription(props.themeArea),\r\n img: areaImg\r\n }; \r\n\r\n let classToUse = ChooseAreaTematica(infoAreaTematica.title);\r\n \r\n return (\r\n <React.Fragment>\r\n <div className={`heading heading--img ${classToUse}`}> \r\n <div className=\"heading-wrapper bgr\">\r\n <div className=\"container\">\r\n <h1 className=\"heading-title clr\">\r\n {infoAreaTematica.title}\r\n </h1>\r\n <p className=\"heading-txt clr\">\r\n {infoAreaTematica.text}\r\n </p>\r\n </div>\r\n <figure className=\"heading-img\">\r\n <img className=\"img-cover\" src={infoAreaTematica.img} alt=\"\"/>\r\n </figure>\r\n </div>\r\n </div>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default AreaHeader;","import React from \"react\";\r\nimport { Outlet } from \"react-router-dom\";\r\nimport AreaBody from \"./AreaBody/AreaBody\";\r\nimport AreaHeader from \"./AreaHeader/AreaHeader\";\r\n\r\nconst AreaComponent = (props) => {\r\n\r\n return (\r\n <React.Fragment>\r\n <div className=\"main-content\">\r\n <AreaHeader themeArea={props.themeArea}></AreaHeader>\r\n <section>\r\n <AreaBody themeArea={props.themeArea}></AreaBody>\r\n </section>\r\n <div>\r\n <Outlet></Outlet>\r\n </div>\r\n </div>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default AreaComponent;","import React from 'react'\r\nimport { NavLink } from 'react-router-dom'\r\nimport { updateLink } from '../../../../helper/TealiumHelper'\r\n\r\nconst ThemeListItem = ({themeArea}) => {\r\n\r\n return (\r\n <div className=\"col-md-6 col-lg-4\">\r\n <div className={themeArea.class}>\r\n <NavLink className=\"cardarea clr brd bgr\" to={themeArea.link} onClick={(ev) => {updateLink({ title: themeArea.name, name: \"\" }, \"le altre aree tematiche\") }}>\r\n {themeArea.name}\r\n <img className=\"cardarea-img\" src={themeArea.imgPath} alt=\"\" />\r\n </NavLink>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default ThemeListItem","import React from 'react';\r\nimport { NavLink, useParams } from 'react-router-dom';\r\nimport { config } from '../../../../constants/Constants';\r\nimport ThemeListItem from './ThemeListItem';\r\n\r\nconst ListAreaTematica = () => {\r\n\r\n const {themeArea: currentArea} = useParams();\r\n\r\n return (\r\n <React.Fragment>\r\n <section className=\"section \">\r\n <div className=\"container\">\r\n <div className=\"section-head\">\r\n <h2 className=\"section-title\">Le altre aree tematiche</h2>\r\n </div>\r\n <div className=\"row row-cols-md-3\">\r\n {config.themeAreas.map((area, i) => (\r\n <React.Fragment key={i}>\r\n {(currentArea !== area.id) &&\r\n <ThemeListItem themeArea={area} currentArea={currentArea}/>\r\n }\r\n </React.Fragment>\r\n ))}\r\n </div>\r\n </div>\r\n </section>\r\n\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default ListAreaTematica;","import React, { useContext, useEffect, useState } from 'react';\r\nimport { useParams } from 'react-router-dom';\r\nimport AreaComponent from '../components/Area/AreaComponent';\r\nimport Footer from '../components/Footer/Footer';\r\nimport Header from '../components/Header/Header';\r\nimport Ricerca from '../components/Header/Ricerca/Ricerca';\r\nimport Wrapper from '../components/Helper/Wrapper/Wrapper';\r\nimport LoginModal from '../components/Modals/Login';\r\nimport MessageManageSiac from '../components/Modals/MessageManageSiac';\r\nimport ListAreaTematica from '../components/Prodotti/ThemeArea/ListAreaTematica/ListAreaTematica';\r\nimport { splitFisco, titleUrlSlug } from '../helper/helper';\r\nimport { updateView } from '../helper/TealiumHelper';\r\nimport useManageBodyClasses from '../hooks/useManageBodyClasses';\r\nimport AuthContext from '../store/auth-context';\r\nimport TokenContext from '../store/token-context';\r\nimport SessioneScaduta from \"../components/Modals/SessioneScaduta\"\r\n\r\nconst Area = (props) => {\r\n\r\n let {themeArea} = useParams();\r\n\r\n const [tArea, setTArea] = useState(themeArea);\r\n const [showSessione, setShowSessione] = useState(false);\r\n const [showModal, setShowModal] = useState(true);\r\n\r\n const authCtx = useContext(AuthContext);\r\n const tokenCtx = useContext(TokenContext);\r\n \r\n useEffect(() => {\r\n setTArea(themeArea);\r\n window.scrollTo(0, 0);\r\n },[themeArea]);\r\n\r\n useEffect(() => {\r\n setShowSessione(localStorage.getItem(\"showModalSessione\") ? true : false);\r\n });\r\n\r\n useEffect(() => {\r\n\r\n if(window.utag === null || window.utag === undefined) return;\r\n\r\n updateView(`book24ore:area:${titleUrlSlug(splitFisco(themeArea).toLowerCase())}:home`,authCtx, tokenCtx);\r\n \r\n },[tokenCtx.token, , authCtx.isLoggedIn, window.utag])\r\n\r\n useManageBodyClasses();\r\n\r\n return (\r\n <React.Fragment>\r\n <Wrapper>\r\n <Header showSecondRow={false} classSticky=\"sticky\" isIntegrateInBD={props.isIntegrateInBD}></Header>\r\n {authCtx.showLoginModal && <LoginModal show={authCtx.showLoginModal}></LoginModal> }\r\n {tokenCtx.showMessageSiac && <MessageManageSiac show={tokenCtx.showMessageSiac}></MessageManageSiac>}\r\n {showSessione && <SessioneScaduta show={showSessione} closeModal={(dismiss) => { setShowModal(dismiss.showModal) }}></SessioneScaduta>}\r\n <AreaComponent themeArea={tArea}></AreaComponent>\r\n <ListAreaTematica />\r\n <Footer isIntegrateInBD={props.isIntegrateInBD}></Footer>\r\n <Ricerca></Ricerca>\r\n </Wrapper>\r\n </React.Fragment>\r\n );\r\n\r\n}\r\n\r\nexport default Area;","import React from \"react\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { titleUrlSlug } from \"../../../../helper/helper\";\r\nimport { updateLink } from \"../../../../helper/TealiumHelper\";\r\nimport ListaAutori from \"../../ListaAutori/ListaAutori\";\r\n\r\nconst SchedaProdottoAreaListaTematicaBody = (props) => {\r\n\r\n const title = titleUrlSlug(props.title?.split(\"/\")[0].replaceAll(\" \", \"_\"));\r\n\r\n return (\r\n <React.Fragment>\r\n <div className=\"card-body\">\r\n <div className=\"card-body-main\">\r\n <h4 className=\"card-title\">\r\n <NavLink to={`${!props.isSubscription ? \"/Prodotto/\" + title + \"/\" + props.idProduct + \"/SchedaDescrizione\" : \"/Pacchetto/\" + props.idProduct}`}\r\n onClick={(ev) => { updateLink({ title: props.title, name: \"prodotto\" }, props.titleContainer) }}>\r\n {props.title}\r\n </NavLink>\r\n </h4>\r\n\r\n <p className=\"card-auth\">\r\n <ListaAutori listAutori={props.listAutori} />\r\n </p>\r\n </div>\r\n {props.children}\r\n </div>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default SchedaProdottoAreaListaTematicaBody;","import React from \"react\";\r\nimport { updateLink } from \"../../../../helper/TealiumHelper\";\r\nimport ManageThematicArea from \"../../../UI/ManageThematicArea/ManageThematicArea\";\r\n\r\nimport InAggiornamento from \"../../InAggiornamento/InAggiornamento\";\r\n\r\nconst SchedaProdottoAreaListaTematicaFooter = (props) => {\r\n\r\n return (\r\n <React.Fragment>\r\n <div className=\"card-foot card-foot--flex d-none d-md-flex\">\r\n <ul className=\"list-inline list-inline--small\">\r\n <ManageThematicArea themeArea={props.themeArea} titleContainer={props.titleContainer}></ManageThematicArea>\r\n </ul>\r\n <InAggiornamento isUpdating={props.isUpdating}></InAggiornamento>\r\n </div>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default SchedaProdottoAreaListaTematicaFooter;","import React from \"react\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { config } from \"../../../../constants/Constants\";\r\nimport { titleUrlSlug } from \"../../../../helper/helper\";\r\nimport { updateLink } from \"../../../../helper/TealiumHelper\";\r\nimport Novita from \"../../../UI/Novita/Novita\";\r\n\r\nconst SchedaProdottoAreaListaTematicaHeader = (props) => {\r\n\r\n const img = props.img === \"\" ? (props.isSubscription ? config.imgDefaultPacch : config.imgDefaultLibro) : props.img;\r\n const title = titleUrlSlug(props.title?.split(\"/\")[0].replaceAll(\" \", \"_\"));\r\n\r\n return (\r\n <React.Fragment>\r\n\r\n <div className={`card card--book ${props.isSubscription ? \"card--multi\" : \"\"}`}>\r\n <div className=\"card-box\">\r\n <div className=\"card-content\">\r\n <figure className=\"card-img \">\r\n <NavLink to={`${!props.isSubscription ? \"/Prodotto/\" + title + \"/\" + props.id + \"/SchedaDescrizione\" : \"/Pacchetto/\" + props.id}`}\r\n onClick={(ev) => { updateLink({ title: props.title, name: \"prodotto\" }, props.titleContainer) }}\r\n >\r\n\r\n {props.isSubscription &&\r\n <img className=\"card-img-full\" src={img} alt=\"\" />\r\n }\r\n {!props.isSubscription &&\r\n <span className=\"card-img-book\">\r\n <img src={img} alt=\"\" />\r\n </span>\r\n }\r\n </NavLink>\r\n </figure>\r\n {props.children}\r\n </div>\r\n {props.isNew && <Novita />}\r\n </div>\r\n </div>\r\n\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default SchedaProdottoAreaListaTematicaHeader;","import React from \"react\";\r\nimport { createImgLink } from \"../../../../helper/helper\";\r\nimport SchedaProdottoAreaListaTematicaBody from \"../SchedaProdottoAreaListaTematicaBody/SchedaProdottoAreaListaTematicaBody\";\r\nimport SchedaProdottoAreaListaTematicaFooter from \"../SchedaProdottoAreaListaTematicaFooter/SchedaProdottoAreaListaTematicaFooter\";\r\nimport SchedaProdottoAreaListaTematicaHeader from \"../SchedaProdottoAreaListaTematicaHeader/SchedaProdottoAreaListaTematicaHeader\";\r\n\r\nconst SchedaProdottoAreaListaTematica = (props) => {\r\n\r\n const img = createImgLink(props.product.img);\r\n\r\n return (\r\n <React.Fragment>\r\n <div className=\"col\">\r\n <SchedaProdottoAreaListaTematicaHeader\r\n img={img}\r\n id={props.product.id}\r\n title={props.product.title}\r\n isNew={props.product.isNew}\r\n isSubscription={props.product.isSubscription}\r\n titleContainer={props.titleContainer}\r\n >\r\n <SchedaProdottoAreaListaTematicaBody\r\n isSubscription={props.product.isSubscription}\r\n title={props.product.title}\r\n idProduct={props.product.id}\r\n listAutori={props.product.auth}\r\n img={img}\r\n titleContainer={props.titleContainer}\r\n >\r\n <SchedaProdottoAreaListaTematicaFooter\r\n themeArea={props.product.themeArea}\r\n isUpdating={props.product.isUpdating}\r\n titleContainer={props.titleContainer}\r\n />\r\n </SchedaProdottoAreaListaTematicaBody>\r\n </SchedaProdottoAreaListaTematicaHeader>\r\n </div>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default SchedaProdottoAreaListaTematica;","import React from 'react';\r\n\r\nconst SchedaProdottoAreaListaTematicaWrapper = (props) => {\r\n\r\n return (\r\n <React.Fragment>\r\n <section className=\"section \">\r\n <div className=\"container\">\r\n {props.children}\r\n </div>\r\n </section>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default SchedaProdottoAreaListaTematicaWrapper;","import React from \"react\";\r\nimport SchedaProdotto from \"../SchedaProdotto/SchedaProdotto\";\r\nimport SchedaProdottoAreaListaTematica from \"./SchedaProdottoAreaListaTematica/SchedaProdottoAreaListaTematica\";\r\nimport SchedaProdottoAreaListaTematicaWrapper from \"./SchedaProdottoAreaListaTematicaWrapper/SchedaProdottoAreaListaTematicaWrapper\";\r\n\r\nconst SchedaProdottoAreaListaTematicaList = (props) => {\r\n\r\n return (\r\n <React.Fragment>\r\n <SchedaProdottoAreaListaTematicaWrapper>\r\n <div className=\"card-list\">\r\n <div className=\"row row-cols-sm-2 row-cols-md-3 row-cols-lg-4\">\r\n {props.allProductsAbbo.length > 0 &&\r\n props.allProductsAbbo.map((prod, index) => (\r\n <SchedaProdotto\r\n key={Math.random()}\r\n idProduct={prod.id}\r\n idForDelete={prod.idForDelete}\r\n isNew={prod.isNew}\r\n isUpdating={prod.isUpdating}\r\n title={prod.title}\r\n img={prod.img === '' ? \"\" : prod.img}\r\n listAutori={prod.auth}\r\n themeArea={prod.themeArea}\r\n isManageable={false}\r\n hasBookmark={false}\r\n isSubscription={true}\r\n classNameCard={\"card card--book\"}\r\n isAbbonamento={true}\r\n deleteProductList={[]}\r\n titleContainer={\"lista\"}\r\n ></SchedaProdotto>\r\n ))\r\n }\r\n </div>\r\n <div className=\"row row-cols-sm-2 row-cols-md-3 row-cols-lg-4\">\r\n {props.allProducts.map(product => (\r\n <SchedaProdottoAreaListaTematica\r\n key={product.id}\r\n product={product}\r\n titleContainer={\"lista\"}\r\n />\r\n ))}\r\n </div>\r\n </div>\r\n </SchedaProdottoAreaListaTematicaWrapper>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default SchedaProdottoAreaListaTematicaList;","import { useContext } from \"react\";\r\n// React Query\r\nimport { useQuery } from \"@tanstack/react-query\";\r\n\r\nimport { mustToken, settingArrayParams } from \"../helper/helper\";\r\nimport { config } from '../constants/Constants';\r\nimport TokenContext from \"../store/token-context\";\r\n\r\nconst useFetchQuery = (key, themeArea, rows, configQuery=\"\", doc=undefined) => {\r\n \r\n const tokenCtx = useContext(TokenContext);\r\n \r\n // queryFn: the function that will get the data. It must returns a promise.\r\n const fetchData = async ({ queryKey }) => {\r\n\r\n // removing the themeArea from the queryKey in order to pass the rigth parameter to the request\r\n const name = queryKey[0].split('--')[0];\r\n const arrayInputParams = settingArrayParams(doc, themeArea, rows);\r\n \r\n const bodyFormatted = {\r\n parameters: {\r\n 'name': name,\r\n 'inputParameters': arrayInputParams,\r\n 'staticToken': mustToken(name) ? '' : config.token.STATIC_TOKEN,\r\n },\r\n 'token': mustToken(name) ? tokenCtx.token : '',\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n \r\n const response = await fetch(request.url, {\r\n method: request.req.method,\r\n body: request.req.body,\r\n headers: request.req.headers \r\n });\r\n \r\n if (!response.ok) {\r\n throw new Error('Network response was not ok');\r\n }\r\n\r\n return response.json();\r\n };\r\n\r\n return useQuery(\r\n key, \r\n fetchData, \r\n // Query options\r\n { \r\n onSuccess: configQuery.onSuccess,\r\n onError: configQuery.onError,\r\n keepPreviousData: true,\r\n // for dependent queries: as long as the dependence value is false the query does not start\r\n enabled: configQuery.dependence ? !!configQuery.dependence : true\r\n }\r\n );\r\n };\r\n \r\n export default useFetchQuery;\r\n \r\n // 'key' is always an array with one or more values. The name of the query is required and must be the first value.\r\n // All of this values are passed in the queryFn as the queryKey.\r\n //\r\n // 'themeArea' is a string contains the theme area.\r\n //\r\n // 'rows' is a number: the number of results to get.\r\n //\r\n // 'configQuery' is an empty string by default, but you can pass in different options by using an object.\r\n // 'onSuccess' and 'onError' are functions.","// extracted by mini-css-extract-plugin\nexport default {\"ldsEllipsis\":\"Loader_ldsEllipsis__Y+f6R\",\"fis\":\"Loader_fis__GwPtD\",\"dir\":\"Loader_dir__ZqLj4\",\"lav\":\"Loader_lav__HQM4c\",\"pa\":\"Loader_pa__Qjdhq\",\"tec\":\"Loader_tec__jvyug\",\"ldsEllipsis1\":\"Loader_ldsEllipsis1__Oc-Nh\",\"ldsEllipsis2\":\"Loader_ldsEllipsis2__w3D3y\",\"ldsEllipsis3\":\"Loader_ldsEllipsis3__uhAO+\"};","import React from 'react';\r\nimport styles from './Loader.module.css';\r\n\r\nconst Loader = (themeArea) => {\r\n\r\n let divClass = '';\r\n\r\n switch (themeArea.themeArea) {\r\n case 'Fisco':\r\n divClass = 'fis'\r\n break;\r\n case 'Diritto':\r\n divClass = 'dir'\r\n break;\r\n case 'Lavoro':\r\n divClass = 'lav'\r\n break;\r\n case 'PA':\r\n divClass = 'pa'\r\n break;\r\n case 'Tecnici':\r\n divClass = 'tec'\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n return(\r\n <React.Fragment>\r\n <div className={styles.ldsEllipsis}>\r\n <div className={styles[divClass]}></div>\r\n <div className={styles[divClass]}></div>\r\n <div className={styles[divClass]}></div>\r\n <div className={styles[divClass]}></div>\r\n </div>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default Loader;","import React from 'react';\r\n\r\nconst Pagination = ({ currentPage, setCurrentPage, pages, isResearch=false, isSection=true}) => {\r\n\r\n return(\r\n <div className={`${isResearch ? \"search-foot\" : \"\"} ${isSection ? \"section-foot text-center\" : \"\"}`}>\r\n <nav className=\"pager\">\r\n <ul className=\"list-inline d-none d-md-block\">\r\n <li className=\"list-inline-item\" \r\n onClick={() => currentPage !== 1 && setCurrentPage((page) => page - 1)}>\r\n\r\n <a className={`pager-link ${currentPage === 1 ? \"disabled\" : \"\"}`} href=\"#\">\r\n <span className=\"icon icon-arrow-left\"></span>\r\n </a>\r\n </li>\r\n\r\n {pages && pages.map((page, i) => (\r\n <li className=\"list-inline-item\" onClick={() => setCurrentPage(page)} key={i}>\r\n <a className={`pager-link ${currentPage === page ? \"current\" : \"\"}`} href=\"#\">{page}</a>\r\n </li>\r\n ))}\r\n\r\n <li className=\"list-inline-item\" \r\n onClick={() => currentPage !== pages.length && setCurrentPage((page) => page + 1)}>\r\n\r\n <a className={`pager-link ${currentPage === pages.length ? \"disabled\" : \"\"}`} href=\"#\">\r\n <span className=\"icon icon-arrow-right\"></span>\r\n </a>\r\n </li>\r\n </ul>\r\n\r\n <div className=\"pager-mobile d-md-none\">\r\n <a href=\"#\"\r\n className={`itool itool--big btn--shadow ${currentPage === 1 ? \"disabled\" : \"\"}`} \r\n onClick={() => currentPage !== 1 && setCurrentPage((page) => page - 1)}>\r\n\r\n <span className=\"icon icon-chevron-left\"></span>\r\n </a>\r\n\r\n <a href=\"#\" \r\n className={`itool itool--big btn--shadow ml-auto ${currentPage === pages.length ? \"disabled\" : \"\"}`} \r\n onClick={() => currentPage !== pages && setCurrentPage((page) => page + 1)}>\r\n\r\n <span className=\"icon icon-chevron-right\"></span>\r\n </a>\r\n </div>\r\n </nav>\r\n </div>\r\n );\r\n}\r\n\r\nexport default Pagination;\r\n","import React from \"react\";\r\nimport { useEffect } from \"react\";\r\nimport { useContext } from \"react\";\r\nimport { useState } from \"react\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport Footer from \"../components/Footer/Footer\";\r\nimport Header from \"../components/Header/Header\";\r\nimport Ricerca from \"../components/Header/Ricerca/Ricerca\";\r\nimport Wrapper from \"../components/Helper/Wrapper/Wrapper\";\r\nimport LoginModal from \"../components/Modals/Login\";\r\nimport SchedaProdottoAreaListaTematicaList from \"../components/Prodotti/SchedaProdottoAreaListaTematicaList/SchedaProdottoAreaListaTematicaList\";\r\nimport AreaAllListHeader from \"../components/UI/AreaAllListHeader/AreaAllListHeader\";\r\nimport { config } from \"../constants/Constants\";\r\nimport AuthContext from \"../store/auth-context\";\r\nimport ManageProductListsContext from \"../store/manage-products-list-context\";\r\nimport TokenContext from \"../store/token-context\";\r\nimport useFetchQuery from \"../hooks/useFetchQuery\";\r\nimport { exportToArrayForFE } from \"../helper/castingObject\";\r\nimport Loader from \"../components/UI/Loader/Loader\";\r\nimport Pagination from \"../components/UI/Research/Pagination/Pagination\";\r\nimport { filterFisco, splitFisco, titleUrlSlug } from \"../helper/helper\";\r\nimport useManageBodyClasses from \"../hooks/useManageBodyClasses\";\r\nimport Prodotti from \"../components/Prodotti/Prodotti\";\r\nimport MessageManageSiac from \"../components/Modals/MessageManageSiac\";\r\nimport { updateView } from \"../helper/TealiumHelper\";\r\nimport SessioneScaduta from \"../components/Modals/SessioneScaduta\"\r\n\r\nconst AllList = (props) => {\r\n\r\n let { themeArea } = useParams();\r\n\r\n const [tArea, setTArea] = useState(splitFisco(themeArea));\r\n const [allProductByAreaTematica, setAllProductByAreaTematica] = useState([]);\r\n const [allAbboByAreaTematica, setAllAbboByAreaTematica] = useState([])\r\n const [showSessione, setShowSessione] = useState(false);\r\n const [showModal, setShowModal] = useState(true);\r\n\r\n const tokenCtx = useContext(TokenContext);\r\n const authCtx = useContext(AuthContext);\r\n const productListsCtx = useContext(ManageProductListsContext);\r\n\r\n useEffect(() => {\r\n setTArea(splitFisco(themeArea));\r\n }, [themeArea]);\r\n\r\n useEffect(() => {\r\n setAllProductByAreaTematica(productListsCtx.allList);\r\n }, [productListsCtx.allList]);\r\n\r\n useEffect(() => {\r\n setShowSessione(localStorage.getItem(\"showModalSessione\") ? true : false);\r\n });\r\n // Fetching the data and pagination with react query\r\n const { data, error, isLoading } = useFetchQuery([`${config.nameList.ultimeUscite}--${themeArea}`], filterFisco(themeArea), 200, { dependence: themeArea && tokenCtx.token });\r\n const prods = data?.Result?.ResultSet?.Root;\r\n\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [prodPerPage, setProdPerPage] = useState(36);\r\n\r\n const indexOfLastProd = currentPage * prodPerPage;\r\n const indexOfFirstProd = indexOfLastProd - prodPerPage;\r\n const currentProds = prods?.slice(indexOfFirstProd, indexOfLastProd);\r\n\r\n let pages = [];\r\n\r\n for (let i = 1; i <= Math.ceil(prods?.length / prodPerPage); i++) {\r\n pages.push(i);\r\n }\r\n\r\n const arrayProduct = exportToArrayForFE(config.nameList.ultimeUscite, currentProds);\r\n\r\n useEffect(() => {\r\n\r\n let setList = setTimeout(() => {\r\n\r\n let themeAr = filterFisco(themeArea);\r\n\r\n productListsCtx.getList(config.nameList.proposteAbbon, undefined, themeAr);\r\n\r\n }, 200);\r\n\r\n return () => {\r\n clearTimeout(setList);\r\n };\r\n }, [tArea, tokenCtx.token]);\r\n\r\n useEffect(() => {\r\n setAllAbboByAreaTematica(productListsCtx.proposteDiAbbonamento);\r\n }, [productListsCtx.proposteDiAbbonamento]);\r\n\r\n useEffect(() => {\r\n\r\n if(window.utag === null || window.utag === undefined) return;\r\n\r\n updateView(`book24ore:area:${titleUrlSlug(splitFisco(themeArea).toLowerCase())}:lista`,authCtx, tokenCtx, \"book24ore:area-lista\");\r\n \r\n },[tokenCtx.token, authCtx.isLoggedIn, authCtx.isLoggedIn])\r\n\r\n useManageBodyClasses();\r\n\r\n return (\r\n <React.Fragment>\r\n <Wrapper>\r\n <Header showSecondRow={false} classSticky={\"sticky\"} isIntegrateInBD={props.isIntegrateInBD}></Header>\r\n {authCtx.showLoginModal && <LoginModal show={authCtx.showLoginModal}></LoginModal>}\r\n {tokenCtx.showMessageSiac && <MessageManageSiac show={tokenCtx.showMessageSiac}></MessageManageSiac>}\r\n {showSessione && <SessioneScaduta show={showSessione} closeModal={(dismiss) => { setShowModal(dismiss.showModal) }}></SessioneScaduta>}\r\n <AreaAllListHeader themeArea={splitFisco(tArea)}></AreaAllListHeader>\r\n\r\n {isLoading && <Loader themeArea={tArea} />}\r\n {arrayProduct.length > 0 && <SchedaProdottoAreaListaTematicaList allProducts={arrayProduct} allProductsAbbo={allAbboByAreaTematica}></SchedaProdottoAreaListaTematicaList>}\r\n\r\n <Pagination\r\n currentPage={currentPage}\r\n setCurrentPage={setCurrentPage}\r\n pages={pages}\r\n isSection={true}\r\n ></Pagination>\r\n\r\n <Footer isIntegrateInBD={props.isIntegrateInBD}></Footer>\r\n <Ricerca></Ricerca>\r\n </Wrapper>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default AllList;","import React, { useContext } from 'react'\r\nimport Footer from '../components/Footer/Footer';\r\nimport Header from '../components/Header/Header';\r\nimport Ricerca from '../components/Header/Ricerca/Ricerca';\r\nimport Wrapper from '../components/Helper/Wrapper/Wrapper';\r\nimport AreaAllListHeader from '../components/UI/AreaAllListHeader/AreaAllListHeader';\r\nimport LoginModal from '../components/Modals/Login';\r\nimport AuthContext from '../store/auth-context';\r\nimport NotificationsList from '../components/Header/UserAction/Notifiche/NotificationsList';\r\nimport useManageBodyClasses from '../hooks/useManageBodyClasses';\r\nimport TokenContext from '../store/token-context';\r\nimport useHttpRequest from '../hooks/http-request';\r\nimport { useState } from 'react';\r\nimport { config } from '../constants/Constants';\r\nimport { useEffect } from 'react';\r\nimport { bodyFormattedNotificationGet, notificationListForFe } from '../helper/helper';\r\nimport MessageManageSiac from '../components/Modals/MessageManageSiac';\r\nimport { updateView } from '../helper/TealiumHelper';\r\nimport SessioneScaduta from \"../components/Modals/SessioneScaduta\"\r\n\r\nconst Notifications = (props) => {\r\n\r\n const authCtx = useContext(AuthContext);\r\n const [notificationList, setNotificationList] = useState([]);\r\n\r\n const sendRequest = useHttpRequest();\r\n const tokenCtx = useContext(TokenContext);\r\n const [showSessione, setShowSessione] = useState(false);\r\n const [showModal, setShowModal] = useState(true);\r\n useEffect(() => {\r\n setShowSessione(localStorage.getItem(\"showModalSessione\") ? true : false);\r\n });\r\n useEffect(() => {\r\n if (tokenCtx.token === null || tokenCtx.token === undefined) return;\r\n\r\n const settingsTotNotification = (data) => {\r\n\r\n const notificationListFe = notificationListForFe(data.Result);\r\n\r\n if (notificationListFe.length > 0) {\r\n setNotificationList(notificationListFe);\r\n }\r\n }\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getNotification,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json-patch+json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormattedNotificationGet(tokenCtx.token, new Date())),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRequest.sendRequest(request, settingsTotNotification);\r\n }, []);\r\n\r\n useEffect(() => {\r\n\r\n if(window.utag === null || window.utag === undefined) return;\r\n\r\n updateView(\"book24ore:notifiche\",authCtx, tokenCtx, \"book24ore:area-loggato\");\r\n \r\n },[tokenCtx.token, authCtx.isLoggedIn, window.utag])\r\n\r\n\r\n useManageBodyClasses();\r\n\r\n return (\r\n <React.Fragment>\r\n <Wrapper>\r\n <Header showSecondRow={false} classSticky=\"sticky\" isIntegrateInBD={props.isIntegrateInBD}></Header>\r\n {authCtx.showLoginModal && <LoginModal show={authCtx.showLoginModal}></LoginModal> }\r\n {tokenCtx.showMessageSiac && <MessageManageSiac show={tokenCtx.showMessageSiac}></MessageManageSiac>}\r\n {showSessione && <SessioneScaduta show={showSessione} closeModal={(dismiss) => { setShowModal(dismiss.showModal) }}></SessioneScaduta>}\r\n <div className=\"main-content\">\r\n <AreaAllListHeader title=\"Notifiche\"/>\r\n <section className=\"section\">\r\n <div className=\"container\">\r\n <section className=\"section \">\r\n <div className=\"container\">\r\n <div className=\"card-list\">\r\n <NotificationsList isLarge={true} notificationList={notificationList}></NotificationsList>\r\n </div>\r\n { /* Pagination component goes in here */}\r\n </div>\r\n </section>\r\n </div>\r\n </section>\r\n </div>\r\n <Footer isIntegrateInBD={props.isIntegrateInBD}></Footer>\r\n <Ricerca></Ricerca>\r\n </Wrapper>\r\n </React.Fragment>\r\n )\r\n}\r\n\r\nexport default Notifications;","import React from 'react';\r\n\r\nconst NotificationsFilter = (props) => {\r\n\r\n const filter = props.filter;\r\n\r\n const checked = (ev) => {\r\n if(ev.target.dataset.value === undefined) return;\r\n\r\n const isCheckedOrNot = ev.target.dataset.value;\r\n props.addFilter(isCheckedOrNot);\r\n }\r\n \r\n return (\r\n <div className=\"col\">\r\n <div className=\"page-user-item\">\r\n <div className=\"custom-control custom-checkbox\">\r\n <input\r\n type=\"checkbox\"\r\n className=\"custom-control-input\"\r\n defaultChecked={filter.checked}\r\n data-value={filter.dataValue}\r\n name={filter.id}\r\n id={filter.id}\r\n onClick={checked}\r\n />\r\n <label className=\"custom-control-label\" htmlFor={filter.id}>\r\n {filter.label}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default NotificationsFilter","import React, { useContext, useEffect, useState } from 'react';\r\nimport { config } from '../../constants/Constants';\r\nimport useHttpRequest from '../../hooks/http-request';\r\nimport NotificationsFilter from './NotificationsFilter';\r\nimport useFindByquery from '../../hooks/useFindByQuery';\r\nimport TokenContext from '../../store/token-context';\r\nimport AuthContext from '../../store/auth-context';\r\nimport { updateView } from '../../helper/TealiumHelper';\r\n\r\nconst PersonalAreaNotifications = () => {\r\n \r\n const tokenCtx = useContext(TokenContext);\r\n \r\n const loginCtx = useContext(AuthContext);\r\n const sendRqst = useHttpRequest();\r\n \r\n const [checkboxesList, setCheckboxesList] = useState([]);\r\n const [alreadyExist, setAlreadyExist] = useState(false);\r\n const [userId, setUserId] = useState('');\r\n \r\n const filters = config.filters;\r\n\r\n /* FETCHING FILTERS */\r\n useEffect(() => {\r\n\r\n if(tokenCtx.token === null) return;\r\n\r\n const afterFetch = (data) => {\r\n\r\n if (data.Result) {\r\n\r\n setAlreadyExist(true);\r\n setUserId(data.Result.Documents[0]['_id']['$oid']);\r\n\r\n const savedFilters = data.Result.Documents[0].data;\r\n let savedFiltersArray = [];\r\n \r\n for (const filter in savedFilters) {\r\n if (savedFilters[filter]) {\r\n savedFiltersArray.push(filter)\r\n }\r\n const checkbox = document.querySelector(`[data-value=${filter}]`);\r\n checkbox.checked = savedFilters[filter];\r\n }\r\n \r\n setCheckboxesList(savedFiltersArray);\r\n }\r\n };\r\n\r\n /* FETCHING FILTERS REQUEST */\r\n const query = {\r\n tipo: \"preferenze_utente\",\r\n appId: config.appId,\r\n userKey: loginCtx.username\r\n };\r\n\r\n const bodyFormatted = {\r\n fields: {},\r\n pageNumber: 1,\r\n pageSize: 1,\r\n sort: null,\r\n query: query,\r\n getTotalDocs: false,\r\n token: tokenCtx.token ? tokenCtx.token : config.token.STATIC_TOKEN,\r\n encryptParams: [\"query.userKey\"]\r\n };\r\n \r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.find,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json-patch+json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, afterFetch);\r\n }, [tokenCtx.token, alreadyExist, loginCtx.username])\r\n\r\n /* SAVING FILTERS */\r\n const saveFilters = (name, data) => {\r\n const bodyFormatted = {\r\n data,\r\n type: name,\r\n token: tokenCtx.token\r\n };\r\n \r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.save,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json-patch+json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n \r\n const afterSave = (data) => {\r\n setAlreadyExist(true);\r\n };\r\n\r\n sendRqst.sendRequest(request, afterSave);\r\n };\r\n\r\n /* UPDATING FILTERS */\r\n const updateFilters = (name, data) => {\r\n const bodyFormatted = {\r\n id: userId,\r\n data,\r\n type: name,\r\n token: tokenCtx.token\r\n }\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.update,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json-patch+json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n const afterUpdate = (data) => {};\r\n sendRqst.sendRequest(request, afterUpdate);\r\n }\r\n\r\n /* HANDLE SUBMIT EVENT */\r\n const handleSubmit = () => {\r\n\r\n let checkedFilters = {};\r\n\r\n checkboxesList.forEach((checkbox) => {\r\n checkedFilters[checkbox] = true;\r\n })\r\n\r\n if ((!Object.keys(checkedFilters).length)) {\r\n checkedFilters = {libri_aggiornamento: false, libri_nuovi: false};\r\n }\r\n\r\n if (alreadyExist) {\r\n updateFilters(\"preferenze_utente\", checkedFilters);\r\n return;\r\n }\r\n \r\n saveFilters(\"preferenze_utente\", checkedFilters);\r\n }\r\n\r\n /* MANAGE SELECTED FILTERS */\r\n const addFilter = (filterCheckedOrNot) => {\r\n \r\n let index = checkboxesList.indexOf(filterCheckedOrNot);\r\n\r\n if(index === -1){\r\n setCheckboxesList(prev => [filterCheckedOrNot, ...prev]);\r\n return;\r\n }\r\n\r\n let array = [...checkboxesList]\r\n array.splice(index,1);\r\n setCheckboxesList(array);\r\n }\r\n \r\n\r\n useEffect(() => {\r\n\r\n if(window.utag === null || window.utag === undefined) return;\r\n\r\n updateView(\"book24ore:area-personale:le-mie-notifiche\",loginCtx, tokenCtx, \"book24ore:area-personale\");\r\n \r\n },[tokenCtx.token, loginCtx.isLoggedIn, window.utag]);\r\n\r\n return(\r\n <section className=\"page-user\">\r\n <div className=\"container\">\r\n <div className=\"page-user-head\">\r\n <h4 className=\"page-user-title\">\r\n Filtra\r\n </h4>\r\n <p className=\"page-user-txt\">\r\n Imposta la ricezione degli alert via mail per poter sempre essere informato sui tuoi libri di Book24ORE.\r\n </p>\r\n </div>\r\n\r\n {/* Filters */}\r\n <div className=\"row row-cols-1 row-cols-lg-3\">\r\n {filters && filters.map((filter, i) => (\r\n <NotificationsFilter filter={filter} key={i} addFilter={addFilter} />\r\n ))}\r\n </div>\r\n\r\n <div className=\"page-user-foot\">\r\n <a className=\"btn\" href=\"#\">\r\n Annulla\r\n </a>\r\n <a className=\"btn btn--black\" href=\"#\" onClick={handleSubmit}>\r\n Salva\r\n </a>\r\n </div>\r\n </div>\r\n </section>\r\n );\r\n}\r\n\r\nexport default PersonalAreaNotifications;","import React from 'react';\r\nimport { useContext } from 'react';\r\nimport { useEffect } from 'react';\r\nimport { updateView } from '../../helper/TealiumHelper';\r\nimport { config } from \"../../constants/Constants\";\r\nimport AuthContext from '../../store/auth-context';\r\nimport TokenContext from '../../store/token-context';\r\n\r\nconst PersonalAreaProfil = () => {\r\n\r\n const tokenCtx = useContext(TokenContext);\r\n const authCtx = useContext(AuthContext);\r\n\r\n useEffect(() => {\r\n\r\n if(window.utag === null || window.utag === undefined) return;\r\n\r\n updateView(\"book24ore:area-personale:il-mio-profilo\",authCtx, tokenCtx, \"book24ore:area-personale\");\r\n \r\n },[tokenCtx.token, authCtx.isLoggedIn, window.utag])\r\n\r\n return(\r\n <section className=\"page-user\">\r\n <div className=\"container\">\r\n \r\n <iframe src={`${config.linkProfiloPersonale}`} width=\"100%\" height=\"2000px\" frameBorder=\"0\"></iframe>\r\n \r\n </div>\r\n </section>\r\n );\r\n}\r\n\r\nexport default PersonalAreaProfil;","import React, { useContext, useEffect, useState } from 'react'\r\nimport { NavLink, useNavigate, useParams } from 'react-router-dom';\r\nimport Footer from '../components/Footer/Footer';\r\nimport Header from '../components/Header/Header';\r\nimport Ricerca from '../components/Header/Ricerca/Ricerca';\r\nimport Wrapper from '../components/Helper/Wrapper/Wrapper';\r\nimport AreaAllListHeader from '../components/UI/AreaAllListHeader/AreaAllListHeader';\r\nimport LoginModal from '../components/Modals/Login';\r\nimport SessioneScaduta from '../components/Modals/SessioneScaduta';\r\nimport AuthContext from '../store/auth-context';\r\nimport PersonalAreaNotifications from '../components/PersonalArea/PersonalAreaNotifications';\r\nimport PersonalAreaProfil from '../components/PersonalArea/PersonalAreaProfil';\r\nimport useManageBodyClasses from '../hooks/useManageBodyClasses';\r\nimport MessageManageSiac from '../components/Modals/MessageManageSiac';\r\nimport TokenContext from '../store/token-context';\r\n\r\nconst PersonalArea = (props) => {\r\n\r\n const authCtx = useContext(AuthContext);\r\n const tokenCtx= useContext(TokenContext);\r\n const params = useParams();\r\n const navigate = useNavigate();\r\n const [showSessione, setShowSessione] = useState(false);\r\n const [showModal, setShowModal] = useState(true);\r\n useEffect(() => {\r\n setShowSessione(localStorage.getItem(\"showModalSessione\") ? true : false);\r\n });\r\n if (localStorage.getItem(\"isLoggedIn\") !== \"1\") {\r\n navigate('/');\r\n }\r\n\r\n useEffect(() => {\r\n\r\n let clearFunct = setTimeout(() => {\r\n if (!authCtx.isLoggedIn) {\r\n navigate('/');\r\n }\r\n }, 400);\r\n\r\n return () => {\r\n clearTimeout(clearFunct);\r\n };\r\n\r\n }, [authCtx.isLoggedIn]);\r\n\r\n useManageBodyClasses();\r\n\r\n return (\r\n <React.Fragment>\r\n <Wrapper>\r\n <Header showSecondRow={false} classSticky=\"sticky\" isIntegrateInBD={props.isIntegrateInBD}></Header>\r\n {authCtx.showLoginModal && <LoginModal show={authCtx.showLoginModal}></LoginModal> }\r\n {tokenCtx.showMessageSiac && <MessageManageSiac show={tokenCtx.showMessageSiac}></MessageManageSiac>}\r\n {showSessione && <SessioneScaduta show={showSessione} closeModal={(dismiss) => { setShowModal(dismiss.showModal) }}></SessioneScaduta>}\r\n <div className=\"main-content\">\r\n\r\n <AreaAllListHeader title=\"Personalizza Book24ORE\" isPersonalArea={true}>\r\n <div className=\"tab\">\r\n <ul className=\"list-inline list-inline--large\">\r\n <li className=\"list-inline-item\">\r\n <NavLink className={(state) => \"tab-link \" + (state.isActive ? \"is-active\" : \"\")} to=\"/area-personale/profilo\">\r\n Il mio profilo\r\n </NavLink>\r\n </li>\r\n <li className=\"list-inline-item\">\r\n <NavLink className={(state) => \"tab-link \" + (state.isActive ? \"is-active\" : \"\")} to=\"/area-personale/notifiche\">\r\n Le mie notifiche\r\n </NavLink>\r\n </li>\r\n </ul>\r\n </div>\r\n </AreaAllListHeader>\r\n \r\n { params.section === 'profilo' && <PersonalAreaProfil/>}\r\n { params.section === 'notifiche' && <PersonalAreaNotifications/>}\r\n </div>\r\n\r\n <Footer isIntegrateInBD={props.isIntegrateInBD}></Footer>\r\n <Ricerca></Ricerca>\r\n </Wrapper>\r\n </React.Fragment>\r\n )\r\n}\r\n\r\nexport default PersonalArea;","// extracted by mini-css-extract-plugin\nexport default {\"disabled\":\"SearchForType_disabled__71KRu\",\"disabledText\":\"SearchForType_disabledText__PdU4c\"};","import * as React from 'react';\nconst DropdownContext = /*#__PURE__*/React.createContext(null);\nexport default DropdownContext;","const _excluded = [\"children\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport { useContext, useRef } from 'react';\nimport * as React from 'react';\nimport useCallbackRef from '@restart/hooks/useCallbackRef';\nimport DropdownContext from './DropdownContext';\nimport usePopper from './usePopper';\nimport useClickOutside from './useClickOutside';\nimport mergeOptionsWithPopperConfig from './mergeOptionsWithPopperConfig';\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst noop = () => {};\n\n/**\n * @memberOf Dropdown\n * @param {object} options\n * @param {boolean} options.flip Automatically adjust the menu `drop` position based on viewport edge detection\n * @param {[number, number]} options.offset Define an offset distance between the Menu and the Toggle\n * @param {boolean} options.show Display the menu manually, ignored in the context of a `Dropdown`\n * @param {boolean} options.usePopper opt in/out of using PopperJS to position menus. When disabled you must position it yourself.\n * @param {string} options.rootCloseEvent The pointer event to listen for when determining \"clicks outside\" the menu for triggering a close.\n * @param {object} options.popperConfig Options passed to the [`usePopper`](/api/usePopper) hook.\n */\nexport function useDropdownMenu(options = {}) {\n const context = useContext(DropdownContext);\n const [arrowElement, attachArrowRef] = useCallbackRef();\n const hasShownRef = useRef(false);\n const {\n flip,\n offset,\n rootCloseEvent,\n fixed = false,\n placement: placementOverride,\n popperConfig = {},\n enableEventListeners = true,\n usePopper: shouldUsePopper = !!context\n } = options;\n const show = (context == null ? void 0 : context.show) == null ? !!options.show : context.show;\n if (show && !hasShownRef.current) {\n hasShownRef.current = true;\n }\n const handleClose = e => {\n context == null ? void 0 : context.toggle(false, e);\n };\n const {\n placement,\n setMenu,\n menuElement,\n toggleElement\n } = context || {};\n const popper = usePopper(toggleElement, menuElement, mergeOptionsWithPopperConfig({\n placement: placementOverride || placement || 'bottom-start',\n enabled: shouldUsePopper,\n enableEvents: enableEventListeners == null ? show : enableEventListeners,\n offset,\n flip,\n fixed,\n arrowElement,\n popperConfig\n }));\n const menuProps = Object.assign({\n ref: setMenu || noop,\n 'aria-labelledby': toggleElement == null ? void 0 : toggleElement.id\n }, popper.attributes.popper, {\n style: popper.styles.popper\n });\n const metadata = {\n show,\n placement,\n hasShown: hasShownRef.current,\n toggle: context == null ? void 0 : context.toggle,\n popper: shouldUsePopper ? popper : null,\n arrowProps: shouldUsePopper ? Object.assign({\n ref: attachArrowRef\n }, popper.attributes.arrow, {\n style: popper.styles.arrow\n }) : {}\n };\n useClickOutside(menuElement, handleClose, {\n clickTrigger: rootCloseEvent,\n disabled: !show\n });\n return [menuProps, metadata];\n}\nconst defaultProps = {\n usePopper: true\n};\n/**\n * Also exported as `<Dropdown.Menu>` from `Dropdown`.\n *\n * @displayName DropdownMenu\n * @memberOf Dropdown\n */\nfunction DropdownMenu(_ref) {\n let {\n children\n } = _ref,\n options = _objectWithoutPropertiesLoose(_ref, _excluded);\n const [props, meta] = useDropdownMenu(options);\n return /*#__PURE__*/_jsx(_Fragment, {\n children: children(props, meta)\n });\n}\nDropdownMenu.displayName = 'DropdownMenu';\nDropdownMenu.defaultProps = defaultProps;\n\n/** @component */\nexport default DropdownMenu;","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n// We must avoid a circular dependency with @react-aria/utils, and this useLayoutEffect is\n// guarded by a check that it only runs on the client side.\n// eslint-disable-next-line rulesdir/useLayoutEffectRule\nimport React, {ReactNode, useContext, useLayoutEffect, useMemo, useRef, useState} from 'react';\n\n// To support SSR, the auto incrementing id counter is stored in a context. This allows\n// it to be reset on every request to ensure the client and server are consistent.\n// There is also a prefix string that is used to support async loading components\n// Each async boundary must be wrapped in an SSR provider, which appends to the prefix\n// and resets the current id counter. This ensures that async loaded components have\n// consistent ids regardless of the loading order.\ninterface SSRContextValue {\n prefix: string,\n current: number,\n isSSR: boolean\n}\n\n// Default context value to use in case there is no SSRProvider. This is fine for\n// client-only apps. In order to support multiple copies of React Aria potentially\n// being on the page at once, the prefix is set to a random number. SSRProvider\n// will reset this to zero for consistency between server and client, so in the\n// SSR case multiple copies of React Aria is not supported.\nconst defaultContext: SSRContextValue = {\n prefix: String(Math.round(Math.random() * 10000000000)),\n current: 0,\n isSSR: false\n};\n\nconst SSRContext = React.createContext<SSRContextValue>(defaultContext);\n\nexport interface SSRProviderProps {\n /** Your application here. */\n children: ReactNode\n}\n\n/**\n * When using SSR with React Aria, applications must be wrapped in an SSRProvider.\n * This ensures that auto generated ids are consistent between the client and server.\n */\nexport function SSRProvider(props: SSRProviderProps): JSX.Element {\n let cur = useContext(SSRContext);\n let counter = useCounter(cur === defaultContext);\n let [isSSR, setIsSSR] = useState(true);\n let value: SSRContextValue = useMemo(() => ({\n // If this is the first SSRProvider, start with an empty string prefix, otherwise\n // append and increment the counter.\n prefix: cur === defaultContext ? '' : `${cur.prefix}-${counter}`,\n current: 0,\n isSSR\n }), [cur, counter, isSSR]);\n\n // If on the client, and the component was initially server rendered,\n // then schedule a layout effect to update the component after hydration.\n if (typeof window !== 'undefined') {\n // This if statement technically breaks the rules of hooks, but is safe\n // because the condition never changes after mounting.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useLayoutEffect(() => {\n setIsSSR(false);\n }, []);\n }\n\n return (\n <SSRContext.Provider value={value}>\n {props.children}\n </SSRContext.Provider>\n );\n}\n\nlet canUseDOM = Boolean(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\nlet componentIds = new WeakMap();\n\nfunction useCounter(isDisabled = false) {\n let ctx = useContext(SSRContext);\n let ref = useRef<number | null>(null);\n if (ref.current === null && !isDisabled) {\n // In strict mode, React renders components twice, and the ref will be reset to null on the second render.\n // This means our id counter will be incremented twice instead of once. This is a problem because on the\n // server, components are only rendered once and so ids generated on the server won't match the client.\n // In React 18, useId was introduced to solve this, but it is not available in older versions. So to solve this\n // we need to use some React internals to access the underlying Fiber instance, which is stable between renders.\n // This is exposed as ReactCurrentOwner in development, which is all we need since StrictMode only runs in development.\n // To ensure that we only increment the global counter once, we store the starting id for this component in\n // a weak map associated with the Fiber. On the second render, we reset the global counter to this value.\n // Since React runs the second render immediately after the first, this is safe.\n // @ts-ignore\n let currentOwner = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED?.ReactCurrentOwner?.current;\n if (currentOwner) {\n let prevComponentValue = componentIds.get(currentOwner);\n if (prevComponentValue == null) {\n // On the first render, and first call to useId, store the id and state in our weak map.\n componentIds.set(currentOwner, {\n id: ctx.current,\n state: currentOwner.memoizedState\n });\n } else if (currentOwner.memoizedState !== prevComponentValue.state) {\n // On the second render, the memoizedState gets reset by React.\n // Reset the counter, and remove from the weak map so we don't\n // do this for subsequent useId calls.\n ctx.current = prevComponentValue.id;\n componentIds.delete(currentOwner);\n }\n }\n\n ref.current = ++ctx.current;\n }\n\n return ref.current;\n}\n\n/** @private */\nexport function useSSRSafeId(defaultId?: string): string {\n let ctx = useContext(SSRContext);\n\n // If we are rendering in a non-DOM environment, and there's no SSRProvider,\n // provide a warning to hint to the developer to add one.\n if (ctx === defaultContext && !canUseDOM) {\n console.warn('When server rendering, you must wrap your application in an <SSRProvider> to ensure consistent ids are generated between the client and server.');\n }\n\n let counter = useCounter(!!defaultId);\n return defaultId || `react-aria${ctx.prefix}-${counter}`;\n}\n\n/**\n * Returns whether the component is currently being server side rendered or\n * hydrated on the client. Can be used to delay browser-specific rendering\n * until after hydration.\n */\nexport function useIsSSR(): boolean {\n let cur = useContext(SSRContext);\n return cur.isSSR;\n}\n","import { useContext, useCallback } from 'react';\nimport * as React from 'react';\nimport { useSSRSafeId } from './ssr';\nimport DropdownContext from './DropdownContext';\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const isRoleMenu = el => {\n var _el$getAttribute;\n return ((_el$getAttribute = el.getAttribute('role')) == null ? void 0 : _el$getAttribute.toLowerCase()) === 'menu';\n};\nconst noop = () => {};\n\n/**\n * Wires up Dropdown toggle functionality, returning a set a props to attach\n * to the element that functions as the dropdown toggle (generally a button).\n *\n * @memberOf Dropdown\n */\nexport function useDropdownToggle() {\n const id = useSSRSafeId();\n const {\n show = false,\n toggle = noop,\n setToggle,\n menuElement\n } = useContext(DropdownContext) || {};\n const handleClick = useCallback(e => {\n toggle(!show, e);\n }, [show, toggle]);\n const props = {\n id,\n ref: setToggle || noop,\n onClick: handleClick,\n 'aria-expanded': !!show\n };\n\n // This is maybe better down in an effect, but\n // the component is going to update anyway when the menu element\n // is set so might return new props.\n if (menuElement && isRoleMenu(menuElement)) {\n props['aria-haspopup'] = true;\n }\n return [props, {\n show,\n toggle\n }];\n}\n/**\n * Also exported as `<Dropdown.Toggle>` from `Dropdown`.\n *\n * @displayName DropdownToggle\n * @memberOf Dropdown\n */\nfunction DropdownToggle({\n children\n}) {\n const [props, meta] = useDropdownToggle();\n return /*#__PURE__*/_jsx(_Fragment, {\n children: children(props, meta)\n });\n}\nDropdownToggle.displayName = 'DropdownToggle';\n\n/** @component */\nexport default DropdownToggle;","import * as React from 'react';\nconst SelectableContext = /*#__PURE__*/React.createContext(null);\nexport const makeEventKey = (eventKey, href = null) => {\n if (eventKey != null) return String(eventKey);\n return href || null;\n};\nexport default SelectableContext;","import * as React from 'react';\nconst NavContext = /*#__PURE__*/React.createContext(null);\nNavContext.displayName = 'NavContext';\nexport default NavContext;","const _excluded = [\"as\", \"disabled\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function isTrivialHref(href) {\n return !href || href.trim() === '#';\n}\nexport function useButtonProps({\n tagName,\n disabled,\n href,\n target,\n rel,\n role,\n onClick,\n tabIndex = 0,\n type\n}) {\n if (!tagName) {\n if (href != null || target != null || rel != null) {\n tagName = 'a';\n } else {\n tagName = 'button';\n }\n }\n const meta = {\n tagName\n };\n if (tagName === 'button') {\n return [{\n type: type || 'button',\n disabled\n }, meta];\n }\n const handleClick = event => {\n if (disabled || tagName === 'a' && isTrivialHref(href)) {\n event.preventDefault();\n }\n if (disabled) {\n event.stopPropagation();\n return;\n }\n onClick == null ? void 0 : onClick(event);\n };\n const handleKeyDown = event => {\n if (event.key === ' ') {\n event.preventDefault();\n handleClick(event);\n }\n };\n if (tagName === 'a') {\n // Ensure there's a href so Enter can trigger anchor button.\n href || (href = '#');\n if (disabled) {\n href = undefined;\n }\n }\n return [{\n role: role != null ? role : 'button',\n // explicitly undefined so that it overrides the props disabled in a spread\n // e.g. <Tag {...props} {...hookProps} />\n disabled: undefined,\n tabIndex: disabled ? undefined : tabIndex,\n href,\n target: tagName === 'a' ? target : undefined,\n 'aria-disabled': !disabled ? undefined : disabled,\n rel: tagName === 'a' ? rel : undefined,\n onClick: handleClick,\n onKeyDown: handleKeyDown\n }, meta];\n}\nconst Button = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n let {\n as: asProp,\n disabled\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n const [buttonProps, {\n tagName: Component\n }] = useButtonProps(Object.assign({\n tagName: asProp,\n disabled\n }, props));\n return /*#__PURE__*/_jsx(Component, Object.assign({}, props, buttonProps, {\n ref: ref\n }));\n});\nButton.displayName = 'Button';\nexport default Button;","const _excluded = [\"eventKey\", \"disabled\", \"onClick\", \"active\", \"as\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport SelectableContext, { makeEventKey } from './SelectableContext';\nimport NavContext from './NavContext';\nimport Button from './Button';\nimport { dataAttr } from './DataKey';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * Create a dropdown item. Returns a set of props for the dropdown item component\n * including an `onClick` handler that prevents selection when the item is disabled\n */\nexport function useDropdownItem({\n key,\n href,\n active,\n disabled,\n onClick\n}) {\n const onSelectCtx = useContext(SelectableContext);\n const navContext = useContext(NavContext);\n const {\n activeKey\n } = navContext || {};\n const eventKey = makeEventKey(key, href);\n const isActive = active == null && key != null ? makeEventKey(activeKey) === eventKey : active;\n const handleClick = useEventCallback(event => {\n if (disabled) return;\n onClick == null ? void 0 : onClick(event);\n if (onSelectCtx && !event.isPropagationStopped()) {\n onSelectCtx(eventKey, event);\n }\n });\n return [{\n onClick: handleClick,\n 'aria-disabled': disabled || undefined,\n 'aria-selected': isActive,\n [dataAttr('dropdown-item')]: ''\n }, {\n isActive\n }];\n}\nconst DropdownItem = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n let {\n eventKey,\n disabled,\n onClick,\n active,\n as: Component = Button\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n const [dropdownItemProps] = useDropdownItem({\n key: eventKey,\n href: props.href,\n disabled,\n onClick,\n active\n });\n return /*#__PURE__*/_jsx(Component, Object.assign({}, props, {\n ref: ref\n }, dropdownItemProps));\n});\nDropdownItem.displayName = 'DropdownItem';\nexport default DropdownItem;","import qsa from 'dom-helpers/querySelectorAll';\nimport addEventListener from 'dom-helpers/addEventListener';\nimport { useCallback, useRef, useEffect, useMemo, useContext } from 'react';\nimport * as React from 'react';\nimport { useUncontrolledProp } from 'uncontrollable';\nimport usePrevious from '@restart/hooks/usePrevious';\nimport useForceUpdate from '@restart/hooks/useForceUpdate';\nimport useEventListener from '@restart/hooks/useEventListener';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport DropdownContext from './DropdownContext';\nimport DropdownMenu from './DropdownMenu';\nimport DropdownToggle, { isRoleMenu } from './DropdownToggle';\nimport DropdownItem from './DropdownItem';\nimport SelectableContext from './SelectableContext';\nimport { dataAttr } from './DataKey';\nimport useWindow from './useWindow';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction useRefWithUpdate() {\n const forceUpdate = useForceUpdate();\n const ref = useRef(null);\n const attachRef = useCallback(element => {\n ref.current = element;\n // ensure that a menu set triggers an update for consumers\n forceUpdate();\n }, [forceUpdate]);\n return [ref, attachRef];\n}\n\n/**\n * @displayName Dropdown\n * @public\n */\nfunction Dropdown({\n defaultShow,\n show: rawShow,\n onSelect,\n onToggle: rawOnToggle,\n itemSelector = `* [${dataAttr('dropdown-item')}]`,\n focusFirstItemOnShow,\n placement = 'bottom-start',\n children\n}) {\n const window = useWindow();\n const [show, onToggle] = useUncontrolledProp(rawShow, defaultShow, rawOnToggle);\n\n // We use normal refs instead of useCallbackRef in order to populate the\n // the value as quickly as possible, otherwise the effect to focus the element\n // may run before the state value is set\n const [menuRef, setMenu] = useRefWithUpdate();\n const menuElement = menuRef.current;\n const [toggleRef, setToggle] = useRefWithUpdate();\n const toggleElement = toggleRef.current;\n const lastShow = usePrevious(show);\n const lastSourceEvent = useRef(null);\n const focusInDropdown = useRef(false);\n const onSelectCtx = useContext(SelectableContext);\n const toggle = useCallback((nextShow, event, source = event == null ? void 0 : event.type) => {\n onToggle(nextShow, {\n originalEvent: event,\n source\n });\n }, [onToggle]);\n const handleSelect = useEventCallback((key, event) => {\n onSelect == null ? void 0 : onSelect(key, event);\n toggle(false, event, 'select');\n if (!event.isPropagationStopped()) {\n onSelectCtx == null ? void 0 : onSelectCtx(key, event);\n }\n });\n const context = useMemo(() => ({\n toggle,\n placement,\n show,\n menuElement,\n toggleElement,\n setMenu,\n setToggle\n }), [toggle, placement, show, menuElement, toggleElement, setMenu, setToggle]);\n if (menuElement && lastShow && !show) {\n focusInDropdown.current = menuElement.contains(menuElement.ownerDocument.activeElement);\n }\n const focusToggle = useEventCallback(() => {\n if (toggleElement && toggleElement.focus) {\n toggleElement.focus();\n }\n });\n const maybeFocusFirst = useEventCallback(() => {\n const type = lastSourceEvent.current;\n let focusType = focusFirstItemOnShow;\n if (focusType == null) {\n focusType = menuRef.current && isRoleMenu(menuRef.current) ? 'keyboard' : false;\n }\n if (focusType === false || focusType === 'keyboard' && !/^key.+$/.test(type)) {\n return;\n }\n const first = qsa(menuRef.current, itemSelector)[0];\n if (first && first.focus) first.focus();\n });\n useEffect(() => {\n if (show) maybeFocusFirst();else if (focusInDropdown.current) {\n focusInDropdown.current = false;\n focusToggle();\n }\n // only `show` should be changing\n }, [show, focusInDropdown, focusToggle, maybeFocusFirst]);\n useEffect(() => {\n lastSourceEvent.current = null;\n });\n const getNextFocusedChild = (current, offset) => {\n if (!menuRef.current) return null;\n const items = qsa(menuRef.current, itemSelector);\n let index = items.indexOf(current) + offset;\n index = Math.max(0, Math.min(index, items.length));\n return items[index];\n };\n useEventListener(useCallback(() => window.document, [window]), 'keydown', event => {\n var _menuRef$current, _toggleRef$current;\n const {\n key\n } = event;\n const target = event.target;\n const fromMenu = (_menuRef$current = menuRef.current) == null ? void 0 : _menuRef$current.contains(target);\n const fromToggle = (_toggleRef$current = toggleRef.current) == null ? void 0 : _toggleRef$current.contains(target);\n\n // Second only to https://github.com/twbs/bootstrap/blob/8cfbf6933b8a0146ac3fbc369f19e520bd1ebdac/js/src/dropdown.js#L400\n // in inscrutability\n const isInput = /input|textarea/i.test(target.tagName);\n if (isInput && (key === ' ' || key !== 'Escape' && fromMenu || key === 'Escape' && target.type === 'search')) {\n return;\n }\n if (!fromMenu && !fromToggle) {\n return;\n }\n if (key === 'Tab' && (!menuRef.current || !show)) {\n return;\n }\n lastSourceEvent.current = event.type;\n const meta = {\n originalEvent: event,\n source: event.type\n };\n switch (key) {\n case 'ArrowUp':\n {\n const next = getNextFocusedChild(target, -1);\n if (next && next.focus) next.focus();\n event.preventDefault();\n return;\n }\n case 'ArrowDown':\n event.preventDefault();\n if (!show) {\n onToggle(true, meta);\n } else {\n const next = getNextFocusedChild(target, 1);\n if (next && next.focus) next.focus();\n }\n return;\n case 'Tab':\n // on keydown the target is the element being tabbed FROM, we need that\n // to know if this event is relevant to this dropdown (e.g. in this menu).\n // On `keyup` the target is the element being tagged TO which we use to check\n // if focus has left the menu\n addEventListener(target.ownerDocument, 'keyup', e => {\n var _menuRef$current2;\n if (e.key === 'Tab' && !e.target || !((_menuRef$current2 = menuRef.current) != null && _menuRef$current2.contains(e.target))) {\n onToggle(false, meta);\n }\n }, {\n once: true\n });\n break;\n case 'Escape':\n if (key === 'Escape') {\n event.preventDefault();\n event.stopPropagation();\n }\n onToggle(false, meta);\n break;\n default:\n }\n });\n return /*#__PURE__*/_jsx(SelectableContext.Provider, {\n value: handleSelect,\n children: /*#__PURE__*/_jsx(DropdownContext.Provider, {\n value: context,\n children: children\n })\n });\n}\nDropdown.displayName = 'Dropdown';\nDropdown.Menu = DropdownMenu;\nDropdown.Toggle = DropdownToggle;\nDropdown.Item = DropdownItem;\nexport default Dropdown;","import { useReducer } from 'react';\n/**\n * Returns a function that triggers a component update. the hook equivalent to\n * `this.forceUpdate()` in a class component. In most cases using a state value directly\n * is preferable but may be required in some advanced usages of refs for interop or\n * when direct DOM manipulation is required.\n *\n * ```ts\n * const forceUpdate = useForceUpdate();\n *\n * const updateOnClick = useCallback(() => {\n * forceUpdate()\n * }, [forceUpdate])\n *\n * return <button type=\"button\" onClick={updateOnClick}>Hi there</button>\n * ```\n */\n\nexport default function useForceUpdate() {\n // The toggling state value is designed to defeat React optimizations for skipping\n // updates when they are stricting equal to the last state value\n var _useReducer = useReducer(function (state) {\n return !state;\n }, false),\n dispatch = _useReducer[1];\n\n return dispatch;\n}","import { useEffect } from 'react';\nimport useEventCallback from './useEventCallback';\n\n/**\n * Attaches an event handler outside directly to specified DOM element\n * bypassing the react synthetic event system.\n *\n * @param element The target to listen for events on\n * @param event The DOM event name\n * @param handler An event handler\n * @param capture Whether or not to listen during the capture event phase\n */\nexport default function useEventListener(eventTarget, event, listener, capture) {\n if (capture === void 0) {\n capture = false;\n }\n\n var handler = useEventCallback(listener);\n useEffect(function () {\n var target = typeof eventTarget === 'function' ? eventTarget() : eventTarget;\n target.addEventListener(event, handler, capture);\n return function () {\n return target.removeEventListener(event, handler, capture);\n };\n }, [eventTarget]);\n}","import * as React from 'react';\nconst DropdownContext = /*#__PURE__*/React.createContext({});\nDropdownContext.displayName = 'DropdownContext';\nexport default DropdownContext;","import { useState } from 'react';\nimport useEffect from './useIsomorphicEffect';\nvar targetMap = new WeakMap();\nvar resizeObserver;\n\nfunction getResizeObserver() {\n // eslint-disable-next-line no-return-assign\n return resizeObserver = resizeObserver || new window.ResizeObserver(function (entries) {\n entries.forEach(function (entry) {\n var handler = targetMap.get(entry.target);\n if (handler) handler(entry.contentRect);\n });\n });\n}\n/**\n * Efficiently observe size changes on an element. Depends on the `ResizeObserver` api,\n * and polyfills are needed in older browsers.\n *\n * ```ts\n * const [ref, attachRef] = useCallbackRef(null);\n *\n * const rect = useResizeObserver(ref);\n *\n * return (\n * <div ref={attachRef}>\n * {JSON.stringify(rect)}\n * </div>\n * )\n * ```\n *\n * @param element The DOM element to observe\n */\n\n\nexport default function useResizeObserver(element) {\n var _useState = useState(null),\n rect = _useState[0],\n setRect = _useState[1];\n\n useEffect(function () {\n if (!element) return;\n getResizeObserver().observe(element);\n setRect(element.getBoundingClientRect());\n targetMap.set(element, function (rect) {\n setRect(rect);\n });\n return function () {\n targetMap.delete(element);\n };\n }, [element]);\n return rect;\n}","const _excluded = [\"onKeyDown\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/anchor-has-content */\n\nimport * as React from 'react';\nimport { useEventCallback } from '@restart/hooks';\nimport { useButtonProps } from './Button';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function isTrivialHref(href) {\n return !href || href.trim() === '#';\n}\n/**\n * An generic `<a>` component that covers a few A11y cases, ensuring that\n * cases where the `href` is missing or trivial like \"#\" are treated like buttons.\n */\nconst Anchor = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n let {\n onKeyDown\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n const [buttonProps] = useButtonProps(Object.assign({\n tagName: 'a'\n }, props));\n const handleKeyDown = useEventCallback(e => {\n buttonProps.onKeyDown(e);\n onKeyDown == null ? void 0 : onKeyDown(e);\n });\n if (isTrivialHref(props.href) || props.role === 'button') {\n return /*#__PURE__*/_jsx(\"a\", Object.assign({\n ref: ref\n }, props, buttonProps, {\n onKeyDown: handleKeyDown\n }));\n }\n return /*#__PURE__*/_jsx(\"a\", Object.assign({\n ref: ref\n }, props, {\n onKeyDown: onKeyDown\n }));\n});\nAnchor.displayName = 'Anchor';\nexport default Anchor;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useDropdownItem } from '@restart/ui/DropdownItem';\nimport Anchor from '@restart/ui/Anchor';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DropdownItem = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n eventKey,\n disabled = false,\n onClick,\n active,\n as: Component = Anchor,\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'dropdown-item');\n const [dropdownItemProps, meta] = useDropdownItem({\n key: eventKey,\n href: props.href,\n disabled,\n onClick,\n active\n });\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n ...dropdownItemProps,\n ref: ref,\n className: classNames(className, prefix, meta.isActive && 'active', disabled && 'disabled')\n });\n});\nDropdownItem.displayName = 'DropdownItem';\nexport default DropdownItem;","import * as React from 'react';\nconst context = /*#__PURE__*/React.createContext(null);\ncontext.displayName = 'InputGroupContext';\nexport default context;","import * as React from 'react';\n\n// TODO: check\n\nconst context = /*#__PURE__*/React.createContext(null);\ncontext.displayName = 'NavbarContext';\nexport default context;","import invariant from 'invariant';\nimport { useCallback } from 'react';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nexport default function useWrappedRefWithWarning(ref, componentName) {\n // @ts-ignore\n if (!(process.env.NODE_ENV !== \"production\")) return ref;\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const warningRef = useCallback(refValue => {\n !(refValue == null || !refValue.isReactComponent) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `${componentName} injected a ref to a provided \\`as\\` component that resolved to a component instance instead of a DOM element. ` + 'Use `React.forwardRef` to provide the injected ref to the class component as a prop in order to pass it directly to a DOM element') : invariant(false) : void 0;\n }, [componentName]);\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return useMergedRefs(warningRef, ref);\n}","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useDropdownMenu } from '@restart/ui/DropdownMenu';\nimport useIsomorphicEffect from '@restart/hooks/useIsomorphicEffect';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport warning from 'warning';\nimport DropdownContext from './DropdownContext';\nimport InputGroupContext from './InputGroupContext';\nimport NavbarContext from './NavbarContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport useWrappedRefWithWarning from './useWrappedRefWithWarning';\nimport { alignPropType } from './types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function getDropdownMenuPlacement(alignEnd, dropDirection, isRTL) {\n const topStart = isRTL ? 'top-end' : 'top-start';\n const topEnd = isRTL ? 'top-start' : 'top-end';\n const bottomStart = isRTL ? 'bottom-end' : 'bottom-start';\n const bottomEnd = isRTL ? 'bottom-start' : 'bottom-end';\n const leftStart = isRTL ? 'right-start' : 'left-start';\n const leftEnd = isRTL ? 'right-end' : 'left-end';\n const rightStart = isRTL ? 'left-start' : 'right-start';\n const rightEnd = isRTL ? 'left-end' : 'right-end';\n let placement = alignEnd ? bottomEnd : bottomStart;\n if (dropDirection === 'up') placement = alignEnd ? topEnd : topStart;else if (dropDirection === 'end') placement = alignEnd ? rightEnd : rightStart;else if (dropDirection === 'start') placement = alignEnd ? leftEnd : leftStart;else if (dropDirection === 'down-centered') placement = 'bottom';else if (dropDirection === 'up-centered') placement = 'top';\n return placement;\n}\nconst DropdownMenu = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n align,\n rootCloseEvent,\n flip = true,\n show: showProps,\n renderOnMount,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n popperConfig,\n variant,\n ...props\n}, ref) => {\n let alignEnd = false;\n const isNavbar = useContext(NavbarContext);\n const prefix = useBootstrapPrefix(bsPrefix, 'dropdown-menu');\n const {\n align: contextAlign,\n drop,\n isRTL\n } = useContext(DropdownContext);\n align = align || contextAlign;\n const isInputGroup = useContext(InputGroupContext);\n const alignClasses = [];\n if (align) {\n if (typeof align === 'object') {\n const keys = Object.keys(align);\n process.env.NODE_ENV !== \"production\" ? warning(keys.length === 1, 'There should only be 1 breakpoint when passing an object to `align`') : void 0;\n if (keys.length) {\n const brkPoint = keys[0];\n const direction = align[brkPoint];\n\n // .dropdown-menu-end is required for responsively aligning\n // left in addition to align left classes.\n alignEnd = direction === 'start';\n alignClasses.push(`${prefix}-${brkPoint}-${direction}`);\n }\n } else if (align === 'end') {\n alignEnd = true;\n }\n }\n const placement = getDropdownMenuPlacement(alignEnd, drop, isRTL);\n const [menuProps, {\n hasShown,\n popper,\n show,\n toggle\n }] = useDropdownMenu({\n flip,\n rootCloseEvent,\n show: showProps,\n usePopper: !isNavbar && alignClasses.length === 0,\n offset: [0, 2],\n popperConfig,\n placement\n });\n menuProps.ref = useMergedRefs(useWrappedRefWithWarning(ref, 'DropdownMenu'), menuProps.ref);\n useIsomorphicEffect(() => {\n // Popper's initial position for the menu is incorrect when\n // renderOnMount=true. Need to call update() to correct it.\n if (show) popper == null ? void 0 : popper.update();\n }, [show]);\n if (!hasShown && !renderOnMount && !isInputGroup) return null;\n\n // For custom components provide additional, non-DOM, props;\n if (typeof Component !== 'string') {\n menuProps.show = show;\n menuProps.close = () => toggle == null ? void 0 : toggle(false);\n menuProps.align = align;\n }\n let style = props.style;\n if (popper != null && popper.placement) {\n // we don't need the default popper style,\n // menus are display: none when not shown.\n style = {\n ...props.style,\n ...menuProps.style\n };\n props['x-placement'] = popper.placement;\n }\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n ...menuProps,\n style: style\n // Bootstrap css requires this data attrib to style responsive menus.\n ,\n ...((alignClasses.length || isNavbar) && {\n 'data-bs-popper': 'static'\n }),\n className: classNames(className, prefix, show && 'show', alignEnd && `${prefix}-end`, variant && `${prefix}-${variant}`, ...alignClasses)\n });\n});\nDropdownMenu.displayName = 'DropdownMenu';\nexport default DropdownMenu;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useButtonProps } from '@restart/ui/Button';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Button = /*#__PURE__*/React.forwardRef(({\n as,\n bsPrefix,\n variant = 'primary',\n size,\n active = false,\n disabled = false,\n className,\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'btn');\n const [buttonProps, {\n tagName\n }] = useButtonProps({\n tagName: as,\n disabled,\n ...props\n });\n const Component = tagName;\n return /*#__PURE__*/_jsx(Component, {\n ...buttonProps,\n ...props,\n ref: ref,\n disabled: disabled,\n className: classNames(className, prefix, active && 'active', variant && `${prefix}-${variant}`, size && `${prefix}-${size}`, props.href && disabled && 'disabled')\n });\n});\nButton.displayName = 'Button';\nexport default Button;","import useMergedRefs from '@restart/hooks/useMergedRefs';\nimport DropdownContext from '@restart/ui/DropdownContext';\nimport { useDropdownToggle } from '@restart/ui/DropdownToggle';\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport Button from './Button';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport useWrappedRefWithWarning from './useWrappedRefWithWarning';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DropdownToggle = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n split,\n className,\n childBsPrefix,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = Button,\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'dropdown-toggle');\n const dropdownContext = useContext(DropdownContext);\n if (childBsPrefix !== undefined) {\n props.bsPrefix = childBsPrefix;\n }\n const [toggleProps] = useDropdownToggle();\n toggleProps.ref = useMergedRefs(toggleProps.ref, useWrappedRefWithWarning(ref, 'DropdownToggle'));\n\n // This intentionally forwards size and variant (if set) to the\n // underlying component, to allow it to render size and style variants.\n return /*#__PURE__*/_jsx(Component, {\n className: classNames(className, prefix, split && `${prefix}-split`, (dropdownContext == null ? void 0 : dropdownContext.show) && 'show'),\n ...toggleProps,\n ...props\n });\n});\nDropdownToggle.displayName = 'DropdownToggle';\nexport default DropdownToggle;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport BaseDropdown from '@restart/ui/Dropdown';\nimport { useUncontrolled } from 'uncontrollable';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport DropdownContext from './DropdownContext';\nimport DropdownItem from './DropdownItem';\nimport DropdownMenu, { getDropdownMenuPlacement } from './DropdownMenu';\nimport DropdownToggle from './DropdownToggle';\nimport InputGroupContext from './InputGroupContext';\nimport { useBootstrapPrefix, useIsRTL } from './ThemeProvider';\nimport createWithBsPrefix from './createWithBsPrefix';\nimport { alignPropType } from './types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DropdownHeader = createWithBsPrefix('dropdown-header', {\n defaultProps: {\n role: 'heading'\n }\n});\nconst DropdownDivider = createWithBsPrefix('dropdown-divider', {\n Component: 'hr',\n defaultProps: {\n role: 'separator'\n }\n});\nconst DropdownItemText = createWithBsPrefix('dropdown-item-text', {\n Component: 'span'\n});\nconst Dropdown = /*#__PURE__*/React.forwardRef((pProps, ref) => {\n const {\n bsPrefix,\n drop = 'down',\n show,\n className,\n align = 'start',\n onSelect,\n onToggle,\n focusFirstItemOnShow,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n navbar: _4,\n autoClose = true,\n ...props\n } = useUncontrolled(pProps, {\n show: 'onToggle'\n });\n const isInputGroup = useContext(InputGroupContext);\n const prefix = useBootstrapPrefix(bsPrefix, 'dropdown');\n const isRTL = useIsRTL();\n const isClosingPermitted = source => {\n // autoClose=false only permits close on button click\n if (autoClose === false) return source === 'click';\n\n // autoClose=inside doesn't permit close on rootClose\n if (autoClose === 'inside') return source !== 'rootClose';\n\n // autoClose=outside doesn't permit close on select\n if (autoClose === 'outside') return source !== 'select';\n return true;\n };\n const handleToggle = useEventCallback((nextShow, meta) => {\n if (meta.originalEvent.currentTarget === document && (meta.source !== 'keydown' || meta.originalEvent.key === 'Escape')) meta.source = 'rootClose';\n if (isClosingPermitted(meta.source)) onToggle == null ? void 0 : onToggle(nextShow, meta);\n });\n const alignEnd = align === 'end';\n const placement = getDropdownMenuPlacement(alignEnd, drop, isRTL);\n const contextValue = useMemo(() => ({\n align,\n drop,\n isRTL\n }), [align, drop, isRTL]);\n const directionClasses = {\n down: prefix,\n 'down-centered': `${prefix}-center`,\n up: 'dropup',\n 'up-centered': 'dropup-center dropup',\n end: 'dropend',\n start: 'dropstart'\n };\n return /*#__PURE__*/_jsx(DropdownContext.Provider, {\n value: contextValue,\n children: /*#__PURE__*/_jsx(BaseDropdown, {\n placement: placement,\n show: show,\n onSelect: onSelect,\n onToggle: handleToggle,\n focusFirstItemOnShow: focusFirstItemOnShow,\n itemSelector: `.${prefix}-item:not(.disabled):not(:disabled)`,\n children: isInputGroup ? props.children : /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref,\n className: classNames(className, show && 'show', directionClasses[drop])\n })\n })\n });\n});\nDropdown.displayName = 'Dropdown';\nexport default Object.assign(Dropdown, {\n Toggle: DropdownToggle,\n Menu: DropdownMenu,\n Item: DropdownItem,\n ItemText: DropdownItemText,\n Divider: DropdownDivider,\n Header: DropdownHeader\n});","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import React from \"react\";\r\nimport { useState } from \"react\";\r\nimport { useParams } from 'react-router-dom';\r\nimport styles from \"./SearchForType.module.css\";\r\nimport { Dropdown } from \"react-bootstrap\";\r\n\r\nconst SearchForType = (props) => {\r\n\r\n const { isFromAnotherPage } = useParams();\r\n const [isActive, setIsActive] = useState(1);\r\n const returnRightChoice = (searchForCategory) => {\r\n\r\n switch (searchForCategory) {\r\n case \"Tutto\":\r\n setIsActive(1);\r\n break;\r\n case \"Testo\":\r\n setIsActive(2);\r\n break;\r\n case \"Titolo\":\r\n setIsActive(3);\r\n break;\r\n case \"Autore\":\r\n setIsActive(4);\r\n break;\r\n default:\r\n setIsActive(2);\r\n break;\r\n }\r\n };\r\n\r\n const [optChoosed, setOptChoosed] = useState(localStorage.getItem(\"search category\") === null ? \"Tutto\" : () => {\r\n if ((isFromAnotherPage === undefined || isFromAnotherPage === null || isFromAnotherPage === \"daMieiLibri\") && (localStorage.getItem(\"mantieniIFiltri\") === null || localStorage.getItem(\"mantieniIFiltri\") === false)) {\r\n setIsActive(1);\r\n return \"Tutto\";\r\n }else{\r\n returnRightChoice(localStorage.getItem(\"search category\"));\r\n return localStorage.getItem(\"search category\");\r\n }\r\n \r\n });\r\n\r\n const changeResearch = (ev) => {\r\n\r\n const searchForCategory = ev.target.getAttribute('value');\r\n\r\n setOptChoosed(searchForCategory);\r\n returnRightChoice(searchForCategory);\r\n\r\n localStorage.setItem(\"search category\", searchForCategory);\r\n props.searchForCategory(searchForCategory);\r\n };\r\n\r\n\r\n return (\r\n <React.Fragment>\r\n <Dropdown>\r\n <Dropdown.Toggle className={`search-multi-box d-none d-lg-block ${props.searchError ? styles.disabled : \"\"}`} as={\"style\"}>\r\n <label className=\"search-label\">Cerca in</label>\r\n <a className={`search-opt ${props.searchError ? styles.disabledText : \"\"}`} role={\"button\"} >\r\n {optChoosed}\r\n </a>\r\n </Dropdown.Toggle>\r\n <Dropdown.Menu className={`dropdown-menu`} id=\"dropdownTarget\">\r\n <ul className=\"list list--mid\" >\r\n\r\n <li className=\"list-item\" disabled={true}>\r\n <a className={`search-opt ${isActive === 1 ? \"is-active\" : \"\"}`} role={\"button\"} value=\"Tutto\" onClick={changeResearch}>\r\n Tutto\r\n </a>\r\n </li>\r\n\r\n <li className=\"list-item\">\r\n <a className={`search-opt ${isActive === 2 ? \"is-active\" : \"\"}`} role={\"button\"} value=\"Testo\" onClick={changeResearch}>\r\n Testo\r\n </a>\r\n </li>\r\n\r\n <li className=\"list-item\">\r\n <a className={`search-opt ${isActive === 3 ? \"is-active\" : \"\"}`} role={\"button\"} value=\"Titolo\" onClick={changeResearch}>\r\n Titolo\r\n </a>\r\n </li>\r\n\r\n <li className=\"list-item\">\r\n <a className={`search-opt ${isActive === 4 ? \"is-active\" : \"\"}`} role={\"button\"} value=\"Autore\" onClick={changeResearch}>\r\n Autore\r\n </a>\r\n </li>\r\n\r\n </ul>\r\n </Dropdown.Menu>\r\n </Dropdown>\r\n </React.Fragment>\r\n )\r\n}\r\n\r\nexport default SearchForType;","import React, { useRef, useState } from 'react';\r\nimport { useEffect } from 'react';\r\nimport { useParams } from 'react-router-dom';\r\nimport SearchForType from './SearchForType';\r\nimport styles from \"./SearchForType.module.css\";\r\n\r\nconst SearchBar = (props) => {\r\n\r\n //const wordToSearch = useRef();\r\n const { isFromAnotherPage } = useParams();\r\n const [wordToSearch, setWordToSearch] = useState(null);\r\n const defaultVal = localStorage.getItem(\"word\") === undefined || props.isBack !== \"1\" ? \"\" : localStorage.getItem(\"word\");\r\n const searchError = (props.testo === '' || isFromAnotherPage === 'daMieiLibri');\r\n\r\n const wordHandler = (ev) => {\r\n\r\n if (ev.key === 'Enter') addNewWord(ev);\r\n\r\n setWordToSearch(ev.target.value);\r\n }\r\n\r\n const addNewWord = (ev) => {\r\n\r\n ev.preventDefault();\r\n\r\n const newWord = wordToSearch.trim();\r\n\r\n if (newWord !== undefined && newWord !== localStorage.getItem(\"word\")) {\r\n\r\n props.addNewWord(newWord.trim());\r\n }\r\n\r\n };\r\n\r\n const searchForCategory = (searchForCategory) => {\r\n props.searchForCategory(searchForCategory);\r\n }\r\n\r\n useEffect(() => {\r\n\r\n if (localStorage.getItem(\"word\"))\r\n setWordToSearch(localStorage.getItem(\"word\"));\r\n else if (localStorage.getItem(\"word\") === undefined)\r\n setWordToSearch(\"\");\r\n\r\n }, [isFromAnotherPage]);\r\n\r\n const addSearchPanelIn = (ev) => {\r\n \r\n ev.preventDefault();\r\n\r\n if (document.body.className.includes('is-search-panel-in')) {\r\n document.body.classList.remove('is-search-panel-in');\r\n return;\r\n }\r\n\r\n document.body.classList.add(\"is-search-panel-in\");\r\n }\r\n\r\n return (\r\n <React.Fragment>\r\n <div className=\"search-head\">\r\n <div className=\"search-multi\">\r\n <div className=\"search-multi-box\">\r\n <label className=\"search-label\">Cerca</label>\r\n <input className=\"input search-multi-input\" type=\"text\" placeholder={props.placeHolder}\r\n defaultValue={defaultVal}\r\n onKeyUp={wordHandler}\r\n /*ref={wordToSearch}*/ />\r\n </div>\r\n {window.location.pathname !== \"/mie-note\" &&\r\n <div className={`search-multi-box d-none d-lg-block`} /*${searchError ? styles.disabled : \"\"}*/ >\r\n <SearchForType searchForCategory={searchForCategory} /*searchError={searchError}*/></SearchForType>\r\n </div>\r\n }\r\n <a className=\"itool d-lg-none\" role={\"button\"} /*data-toggle-class=\"is-search-panel-in\"*/ onClick={addSearchPanelIn}>\r\n <span className=\"icon icon-filter\"></span>\r\n </a>\r\n <button className=\"btn btn--big btn--round btn--black btn--icon-left d-none d-lg-block\" type=\"submit\" onClick={addNewWord}>\r\n Cerca <span className=\"icon icon-search\"></span>\r\n </button>\r\n <button className=\"itool itool--black d-lg-none\" type=\"submit\" onClick={addNewWord}>\r\n <span className=\"icon icon-search\"></span>\r\n </button>\r\n </div>\r\n </div>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default SearchBar;","import React from \"react\";\r\n\r\nconst ResearchError = (props) => {\r\n\r\n return (\r\n <div className=\"empty\">\r\n <div className=\"empty-content\">\r\n <h2 className=\"empty-title empty-title--small\">\r\n <span className=\"empty-title-gray\">Non ci sono risultati corrispondenti per la ricerca</span> [{props.testo}]\r\n </h2>\r\n\r\n <ul className=\"empty-list\">\r\n\r\n <li className=\"empty-list-item\">\r\n Assicurarsi che tutte le parole siano state digitate correttamente.\r\n </li>\r\n\r\n <li className=\"empty-list-item\">\r\n Provare con parole chiave diverse.\r\n </li>\r\n\r\n <li className=\"empty-list-item\">\r\n Provare con parole chiave più generiche.\r\n </li>\r\n\r\n </ul>\r\n\r\n\r\n </div>\r\n\r\n <figure className=\"empty-img\">\r\n <img className=\"img-fluid d-md-none\" src=\"/dist/img/help-ricerca-error--small.png\" alt=\"\" />\r\n <img className=\"img-fluid d-none d-md-block\" src=\"/dist/img/help-ricerca-error.png\" alt=\"\" />\r\n </figure>\r\n\r\n </div>\r\n );\r\n};\r\n\r\nexport default ResearchError;","import React from \"react\";\r\n\r\nconst SearchEmpty = () => {\r\n\r\n return (\r\n <div className=\"empty\">\r\n <div className=\"empty-content\">\r\n <h2 className=\"empty-title \">\r\n Inizia la tua ricerca su Book24ORE\r\n </h2>\r\n\r\n <p className=\"empty-txt\">\r\n Inserisci una parola chiave nella barra di ricerca per trovare le informazioni che ti interessano\r\n </p>\r\n\r\n\r\n </div>\r\n\r\n <figure className=\"empty-img\">\r\n <img className=\"img-fluid d-md-none\" src=\"/dist/img/help-ricerca--small.png\" alt=\"\" />\r\n <img className=\"img-fluid d-none d-md-block\" src=\"/dist/img/help-ricerca.png\" alt=\"\" />\r\n </figure>\r\n\r\n </div>\r\n );\r\n}\r\n\r\nexport default SearchEmpty;","import React, { useEffect } from \"react\";\r\nimport { NavLink, useNavigate, useParams } from \"react-router-dom\";\r\nimport { titleUrlSlug } from \"../../../../helper/helper\";\r\nimport { updateLink } from \"../../../../helper/TealiumHelper\";\r\n\r\nconst BuyCardContent = (props) => {\r\n\r\n let buyOrNot = [];\r\n\r\n const { isFromAnotherPage } = useParams();\r\n\r\n const navigate = useNavigate();\r\n\r\n props.resultBuyOrNot.forEach(element => {\r\n\r\n if (element.idProv.toString() === props.idProv.toString()) {\r\n buyOrNot.push(element);\r\n }\r\n });\r\n\r\n const showModalPacchettiHandle = () => {\r\n props.showModalPacchettiHandle(\r\n {\r\n showModal: true,\r\n settingBuyOrNot: buyOrNot\r\n }\r\n );\r\n }\r\n\r\n const goTo = () => {\r\n updateLink({ title: props.prodotto.title, name: \"tutti-i-risultati\" }, props.titleContainer)\r\n localStorage.setItem(\"img\", props.img);\r\n localStorage.setItem(\"node\", buyOrNot[0].node);\r\n localStorage.setItem(\"id\", props.prodotto.id);\r\n localStorage.setItem(\"titleNotSlug\", props.title);\r\n\r\n\r\n navigate(`/ricerca/level2/${props.idProv}/${props.testo}/${titleUrlSlug(props.title)}/${props.isFrizzera}`)\r\n }\r\n\r\n return (\r\n <React.Fragment>\r\n {isFromAnotherPage !== \"daMieiLibri\" &&\r\n <li className=\"list-inline-item\">\r\n <a className=\"btn \" role={\"button\"} onClick={goTo}>\r\n Tutti i risultati\r\n </a>\r\n </li>\r\n }\r\n {buyOrNot.length === 0 &&\r\n <li className=\"list-inline-item\">\r\n <NavLink className=\"btn btn--black\" to={``}>\r\n PAC. VEN. NON. DEF.\r\n </NavLink>\r\n </li>\r\n }\r\n {(buyOrNot.length === 1 && buyOrNot[0].buy === '1') &&\r\n <li className=\"list-inline-item\">\r\n <NavLink className=\"btn btn--black\" to={`/pacchetto/${buyOrNot[0].node}`} onClick={(ev) => { updateLink({ title: props.prodotto.title, name: \"acquista\" }, props.titleContainer) }}>\r\n Acquista\r\n </NavLink>\r\n </li>\r\n }\r\n {(buyOrNot.length === 1 && buyOrNot[0].buy === '0') &&\r\n <li className=\"list-inline-item\">\r\n <NavLink className=\"btn btn--black\" to={`/reader/${props.prodotto.id}`} onClick={(ev) => { updateLink({ title: props.prodotto.title, name: \"leggi\" }, props.titleContainer) }}>\r\n Leggi\r\n </NavLink>\r\n </li>\r\n }\r\n {(buyOrNot.length > 1) &&\r\n <li className=\"list-inline-item\">\r\n <a className=\"btn btn--black\" onClick={showModalPacchettiHandle}>\r\n Acquista\r\n </a>\r\n </li>\r\n }\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default BuyCardContent;","import React, { useEffect, useState } from 'react';\r\nimport { NavLink, useParams } from 'react-router-dom';\r\nimport { config } from '../../../../constants/Constants';\r\nimport { titleUrlSlug } from '../../../../helper/helper';\r\nimport { updateLink } from '../../../../helper/TealiumHelper';\r\nimport Pacchetti from '../../../Modals/Pacchetti';\r\nimport SchedaProdottoBody from '../../../Prodotti/SchedaProdotto/SchedaProdottoBody/SchedaProdottoBody';\r\nimport ManageThematicArea from '../../ManageThematicArea/ManageThematicArea'\r\nimport BuyCardContent from './BuyCardContent';\r\n\r\nconst SearchCardContent = (props) => {\r\n\r\n const { isFromAnotherPage } = useParams();\r\n const [modalPacchetti, setModalPacchetti] = useState(false);\r\n const [buyOrNot, setBuyOrNot] = useState(null);\r\n const prodotto = props.prodotto;\r\n const img = prodotto.img !== '' ? prodotto.img : config.imgDefaultLibro;\r\n\r\n const showModalPacchettiHandle = (val) => {\r\n setModalPacchetti(val.showModal);\r\n setBuyOrNot(val.settingBuyOrNot);\r\n };\r\n\r\n const closeModalPacchettiHandle = (val) => {\r\n setModalPacchetti(val);\r\n }\r\n\r\n return (\r\n <React.Fragment>\r\n {\r\n modalPacchetti && <Pacchetti\r\n buyOrNot={buyOrNot}\r\n closeModalPacchettiHandle={closeModalPacchettiHandle}\r\n modalPacchetti={modalPacchetti} />\r\n }\r\n\r\n <div className=\"card-content\">\r\n\r\n <figure className=\"card-img \">\r\n <NavLink to={`/Prodotto/${titleUrlSlug(prodotto?.title)}/${prodotto.id}/SchedaDescrizione`}\r\n onClick={(ev) => {\r\n updateLink({ title: prodotto.title, name: \"prodotto\" }, \"card\");\r\n if (isFromAnotherPage === \"daMieiLibri\")\r\n localStorage.setItem(\"mantieniIFiltri\", true)\r\n }}>\r\n <span className=\"card-img-book\">\r\n <img src={img} alt=\"\" />\r\n </span>\r\n </NavLink>\r\n </figure>\r\n\r\n <div className=\"card-body\">\r\n <SchedaProdottoBody\r\n title={prodotto.title}\r\n idProduct={prodotto.id}\r\n listAutori={prodotto.auth}\r\n dataDocument={prodotto.dataDocument}\r\n document={prodotto.documents[0]}\r\n data={prodotto.datas}\r\n isFromAnotherPage={props.isFromAnotherPage}\r\n titleContainer={\"card\"}\r\n ></SchedaProdottoBody>\r\n\r\n <div className=\"card-foot \">\r\n <ul className=\"list-inline list-inline--small\">\r\n <ManageThematicArea themeArea={prodotto.themeArea} title={prodotto.title} titleContainer=\"card\" />\r\n </ul>\r\n <ul className=\"list-inline list-inline--large card-foot-btn\">\r\n {props.resultBuyOrNot && isFromAnotherPage !== \"daMieiLibri\" &&\r\n <>\r\n <BuyCardContent\r\n resultBuyOrNot={props.resultBuyOrNot}\r\n showModalPacchettiHandle={showModalPacchettiHandle}\r\n idProv={prodotto.idProv}\r\n prodotto={prodotto}\r\n img={img}\r\n testo={props.testo}\r\n title={prodotto.title}\r\n isFrizzera={prodotto.isFrizzera}\r\n titleContainer={\"card\"}\r\n />\r\n </>\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default SearchCardContent;","import React from 'react';\r\nimport { useEffect } from 'react';\r\nimport { useState } from 'react';\r\nimport { NavLink } from 'react-router-dom';\r\n\r\nconst SearchCardFooterItem = (props) => {\r\n\r\n const prodotto = props.prodotto;\r\n\r\n const [isPDF, setIsPDF] = useState(0);\r\n\r\n useEffect(() => {\r\n\r\n props.resultBuyOrNot.forEach(element => {\r\n\r\n if (element.idProv.toString() === props.idProv.toString()) {\r\n setIsPDF(element.isPDF);\r\n }\r\n });\r\n },[props.resultBuyOrNot]);\r\n\r\n return(\r\n <li className=\"list-lined-item\">\r\n <h6 className=\"card-search-title\">\r\n <button \r\n className={(props.itemId === 0) ? '' : 'collapsed'}\r\n type=\"button\" data-toggle=\"collapse\" \r\n data-target={`#res-${props.resultId}-${props.itemId}`} \r\n aria-expanded={(props.itemId === 0) ? 'true' : 'false'} >\r\n\r\n {prodotto.editore}\r\n <span className=\"icon icon-angle-right\"></span>\r\n </button>\r\n </h6>\r\n <div \r\n className={`collapse ${(props.itemId === 0) ? 'show' : ''}`} \r\n id={`res-${props.resultId}-${props.itemId}`} \r\n data-parent=\"#res-card-1\">\r\n\r\n <p className=\"card-search-txt\">\r\n {prodotto.abstract}\r\n </p>\r\n <NavLink className=\"card-search-goto\" to={`/reader/${prodotto.idDocumento}`}>\r\n {`${isPDF === 1 ? \"Vai al libro\" : \"Vai al capitolo\"}`} <span className=\"icon icon-arrow-right-small\"></span>\r\n </NavLink>\r\n </div>\r\n </li>\r\n );\r\n}\r\n\r\nexport default SearchCardFooterItem;","import React from 'react';\r\nimport SearchCardFooterItem from './SearchCardFooterItem';\r\n\r\nconst SearchCardFooter = (props) => {\r\n\r\n const footerItems = props.documents;\r\n\r\n return(\r\n <div className=\"card-search\">\r\n <div className=\"card-search-results\" id=\"res-card-1\">\r\n <ul className=\"list-lined list-lined--large\">\r\n {footerItems && footerItems.map((item, i) => (\r\n <SearchCardFooterItem resultId={props.resultId} prodotto={item} itemId={i} key={i} resultBuyOrNot={props.resultBuyOrNot} idProv={props.idProv}></SearchCardFooterItem>\r\n ))}\r\n </ul>\r\n </div>\r\n {footerItems && footerItems.length > 1 && <span className=\"card-search-info\">\r\n e risultati in altri capitoli\r\n </span>}\r\n </div>\r\n );\r\n}\r\n\r\nexport default SearchCardFooter;","import React from 'react';\r\nimport Bookmark from '../../Bookmark/Bookmark';\r\nimport Novita from '../../Novita/Novita';\r\nimport SearchCardContent from '../SearchCard/SearchCardContent';\r\nimport SearchCardFooter from '../SearchCard/SearchCardFooter';\r\n\r\nconst SearchResult = (props) => {\r\n\r\n return (\r\n <li className=\"list-item\">\r\n <div className=\"card card--hor \">\r\n <div className=\"card-box\">\r\n \r\n <>\r\n <SearchCardContent prodotto={props.prodotto} testo={props.testo} resultBuyOrNot={props.resultBuyOrNot} isFromAnotherPage={props.isFromAnotherPage}></SearchCardContent>\r\n\r\n {props?.prodotto?.isNew && <Novita />}\r\n {props?.prodotto?.hasBookmark && <Bookmark />}\r\n\r\n {(props.prodotto?.documents?.length > 0 && props.isFromAnotherPage !== \"daMieiLibri\") && <SearchCardFooter resultId={props.prodotto.id} documents={props.prodotto.documents} resultBuyOrNot={props.resultBuyOrNot} idProv={props.prodotto.idProv}></SearchCardFooter>}\r\n </>\r\n \r\n </div>\r\n </div>\r\n </li>\r\n );\r\n}\r\n\r\nexport default SearchResult;","import React, { useContext, useEffect, useState } from 'react';\r\nimport { useParams } from 'react-router';\r\nimport ResearchError from '../ResearchError/ResearchError';\r\nimport SearchEmpty from '../SearchEmpty/SearchEmpty';\r\nimport SearchResult from './SearchResult';\r\n\r\nconst SearchResults = (props) => {\r\n\r\n const { isFromAnotherPage } = useParams();\r\n\r\n const [isActive, setIsActive] = useState(isFromAnotherPage === \"daMieiLibri\" ? 0 : 1);\r\n\r\n const addOrRemoveFilter = (ev) => {\r\n const newFilter = ev.target.getAttribute('value') === '0' ? ['D', 'data desc', 0] : ['R', 'score desc', 1];\r\n\r\n setIsActive(newFilter[2]);\r\n\r\n props.updateResearchList(newFilter);\r\n };\r\n\r\n const searchError = props?.resultResearch === null || props.resultResearch?.length === 0 || props.testo === '';\r\n\r\n return (\r\n <React.Fragment>\r\n <div className=\"search-results\">\r\n {isFromAnotherPage !== 'daMieiLibri' &&\r\n <div className=\"search-top\">\r\n <div className={`switch ${searchError ? 'is-disabled' : ''}`}>\r\n <a className={`switch-left ${isActive === 1 ? \"active\" : \"\"}`} role=\"button\" value='1' onClick={addOrRemoveFilter}>Più rilevante</a>\r\n <span className=\"switch-slider\"></span>\r\n <a className={`switch-right ${isActive === 0 ? \"active\" : \"\"}`} role=\"button\" value='0' onClick={addOrRemoveFilter}>Più recente</a>\r\n </div>\r\n </div>\r\n }\r\n <>\r\n {((props.resultResearch === null || props.resultResearch === undefined) && isFromAnotherPage !== \"daMieiLibri\") &&\r\n <SearchEmpty></SearchEmpty>\r\n }\r\n {(props.resultResearch !== null) &&\r\n <>\r\n {props.resultResearch.length === 0 && <ResearchError testo={props.testo}></ResearchError>}\r\n {props.resultResearch.length > 0 &&\r\n\r\n <ul className=\"list list--large\">\r\n {props.resultResearch && props.resultResearch.map((prodotto, i) => (\r\n <SearchResult\r\n prodotto={prodotto}\r\n resultBuyOrNot={props.resultBuyOrNot}\r\n isFromAnotherPage={props.isFromAnotherPage}\r\n resultId={i}\r\n key={i}\r\n testo={props.testo}\r\n />\r\n ))}\r\n </ul>\r\n }\r\n </>\r\n }\r\n </>\r\n </div>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default SearchResults;\r\n\r\n","import React from \"react\";\r\nimport { useState } from \"react\";\r\nimport { useParams } from \"react-router-dom\";\r\n\r\nconst SearchForTypeForMob = (props) => {\r\n\r\n const [isActive, setIsActive] = useState(1);\r\n\r\n const { isFromAnotherPage } = useParams();\r\n\r\n const returnRightChoice = (searchForCategory) => {\r\n\r\n switch (searchForCategory) {\r\n case \"Tutto\":\r\n setIsActive(1);\r\n break;\r\n case \"Testo\":\r\n setIsActive(2);\r\n break;\r\n case \"Titolo\":\r\n setIsActive(3);\r\n break;\r\n case \"Autore\":\r\n setIsActive(4);\r\n break;\r\n default:\r\n setIsActive(2);\r\n break;\r\n }\r\n };\r\n\r\n const changeResearch = (ev) => {\r\n\r\n const searchForCategory = ev.target.getAttribute('value');\r\n\r\n returnRightChoice(searchForCategory);\r\n\r\n localStorage.setItem(\"search category\", searchForCategory);\r\n props.searchForCategory(searchForCategory);\r\n };\r\n\r\n\r\n return (\r\n <React.Fragment>\r\n <div className=\"search-side d-lg-none\">\r\n <h4 className=\"search-side-title\">Cerca in</h4>\r\n\r\n <ul className=\"list list--large\" >\r\n\r\n <li className=\"list-item\">\r\n <div className=\"custom-control custom-radio\">\r\n <input type=\"radio\" className=\"custom-control-input\" name=\"cerca-in\" id=\"area_tutto\" value=\"Tutto\"\r\n checked={isActive === 1}\r\n disabled={props.searchError || isFromAnotherPage === 'daMieiLibri'}\r\n onClick={changeResearch}\r\n />\r\n <label className=\"custom-control-label\" htmlFor=\"area_tutto\">\r\n Tutto\r\n </label>\r\n </div>\r\n </li>\r\n\r\n <li className=\"list-item\">\r\n <div className=\"custom-control custom-radio\">\r\n <input type=\"radio\" className=\"custom-control-input\" name=\"cerca-in\" id=\"area_testo\" value=\"Testo\"\r\n checked={isActive === 2}\r\n disabled={props.searchError || isFromAnotherPage === 'daMieiLibri'}\r\n onClick={changeResearch}\r\n />\r\n <label className=\"custom-control-label\" htmlFor=\"area_testo\">\r\n Testo\r\n </label>\r\n </div>\r\n </li>\r\n\r\n <li className=\"list-item\">\r\n <div className=\"custom-control custom-radio\">\r\n <input type=\"radio\" className=\"custom-control-input\" name=\"cerca-in\" id=\"area_titolo\" value=\"Titolo\"\r\n checked={isActive === 3}\r\n disabled={props.searchError || isFromAnotherPage === 'daMieiLibri'}\r\n onClick={changeResearch}\r\n />\r\n <label className=\"custom-control-label\" htmlFor=\"area_titolo\">\r\n Titolo\r\n </label>\r\n </div>\r\n </li>\r\n\r\n <li className=\"list-item\">\r\n <div className=\"custom-control custom-radio\">\r\n <input type=\"radio\" className=\"custom-control-input\" name=\"cerca-in\" id=\"area_autore\" value=\"Autore\"\r\n checked={isActive === 4}\r\n disabled={props.searchError || isFromAnotherPage === 'daMieiLibri'}\r\n onClick={changeResearch}\r\n />\r\n <label className=\"custom-control-label\" htmlFor=\"area_autore\">\r\n Autore\r\n </label>\r\n </div>\r\n </li>\r\n\r\n </ul>\r\n </div>\r\n </React.Fragment>\r\n )\r\n}\r\n\r\nexport default SearchForTypeForMob;","import React from \"react\";\r\nimport { useState } from \"react\";\r\nimport { useContext } from \"react\";\r\nimport { useEffect } from \"react\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport { config } from \"../../../../../constants/Constants\";\r\nimport useHttpRequest from \"../../../../../hooks/http-request\";\r\nimport TokenContext from \"../../../../../store/token-context\";\r\nimport AuthContext from \"../../../../../store/auth-context\";\r\n\r\nconst Filters = (props) => {\r\n\r\n const { isFromAnotherPage } = useParams();\r\n const [isUpdated, setIsUpdated] = useState(false);\r\n const [myBook, setMyBook] = useState(isFromAnotherPage === \"daMieiLibri\");\r\n const [listYear, setListYear] = useState([\"tutti\"]);\r\n const [selected, setSelected] = useState(\"\");\r\n const authCtx = useContext(AuthContext);\r\n const sendRqst = useHttpRequest();\r\n const tokenCtx = useContext(TokenContext);\r\n\r\n const searchError = (props.resultResearch === null || props.testo === '');\r\n\r\n const addOrRemoveFilter = (event) => {\r\n\r\n\r\n if (event.target.value === \"isUpdated\") {\r\n setIsUpdated(!isUpdated);\r\n } else if (event.target.value === \"MyBook\") {\r\n setMyBook(!myBook);\r\n }\r\n\r\n props.addOrRemoveFilter(event.target.value);\r\n };\r\n\r\n const changeYear = (event) => {\r\n\r\n const sel = event.target.value;\r\n setSelected(sel);\r\n props.changeYear(sel);\r\n }\r\n\r\n useEffect(() => {\r\n\r\n if (props.isBack !== \"1\" && localStorage.getItem(\"mantieniIFiltri\") === null) return;\r\n\r\n localStorage.setItem(\"MyBook\", isFromAnotherPage === \"daMieiLibri\");\r\n if (localStorage.getItem(\"MyBook\") === \"true\")\r\n setMyBook(true);\r\n if (localStorage.getItem(\"isUpdated\") === \"true\")\r\n setIsUpdated(true);\r\n if(localStorage.getItem(\"year\"))\r\n setSelected(localStorage.getItem(\"year\"));\r\n\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (props.isBack !== \"1\" && localStorage.getItem(\"mantieniIFiltri\") === null) return;\r\n\r\n setMyBook(localStorage.getItem(\"MyBook\") === \"true\");\r\n setIsUpdated(localStorage.getItem(\"isUpdated\") === \"true\");\r\n setSelected(localStorage.getItem(\"year\"))\r\n }, [isFromAnotherPage]);\r\n\r\n useEffect(() => {\r\n\r\n if (props.clear) {\r\n setIsUpdated(false);\r\n setMyBook(false);\r\n }\r\n\r\n props.changeClear(false);\r\n }, [props.clear]);\r\n\r\n\r\n useEffect(() => {\r\n\r\n if (tokenCtx.token === undefined || tokenCtx.token === null || listYear.length > 1) return;\r\n\r\n const settingsYears = (data) => {\r\n\r\n if (Object.keys(data.Result).length === 0 || data.Result.ResultSet === null) return;\r\n\r\n let array = [];\r\n\r\n data.Result.ResultSet.Root.forEach(el => {\r\n\r\n if (el !== null && el.anno !== \"1900\")\r\n array.push(el.anno);\r\n });\r\n\r\n setListYear([\"tutti\", ...array]);\r\n };\r\n\r\n const body = {\r\n \"parameters\": {\r\n \"name\": config.nameList.getAnni,\r\n \"staticToken\": \"\"\r\n },\r\n \"token\": tokenCtx.token\r\n }\r\n\r\n const rqst = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n method: 'POST',\r\n headers:\r\n {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(body)\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(rqst, settingsYears)\r\n\r\n }, [tokenCtx.token]);\r\n\r\n return (\r\n <React.Fragment>\r\n <div className=\"search-side\">\r\n <h4 className=\"search-side-title\">Filtra</h4>\r\n <ul className=\"list list--large\">\r\n <li className=\"list-item\">\r\n <div className=\"custom-control custom-switch\">\r\n <input type=\"checkbox\" className=\"custom-control-input\" id=\"switch-updating\" value='isUpdated' onClick={addOrRemoveFilter} checked={isUpdated} disabled={searchError && isFromAnotherPage !== 'daMieiLibri'} />\r\n <label className=\"custom-control-label\" htmlFor=\"switch-updating\">Solo libri in aggiornamento</label>\r\n </div>\r\n </li>\r\n {props.isLoggedIn &&\r\n <>\r\n <li className=\"list-item\">\r\n <div className=\"custom-control custom-switch\">\r\n <input type=\"checkbox\" className=\"custom-control-input\" id=\"switch-my\" value='MyBook' onClick={addOrRemoveFilter} checked={myBook} disabled={searchError || isFromAnotherPage === 'daMieiLibri'} />\r\n <label className=\"custom-control-label\" htmlFor=\"switch-my\">Solo tra i miei libri</label>\r\n </div>\r\n </li>\r\n <li className=\"list-item\">\r\n <div className=\"custom-select\">\r\n <select className=\"custom-select-input\" onChange={changeYear} disabled={searchError && isFromAnotherPage !== \"daMieiLibri\"} value={selected}>\r\n {listYear.map(year => (\r\n <option key={Math.random()} value={year}>{year}</option>\r\n ))}\r\n </select>\r\n <label className=\"custom-select-label\">Anno di pubblicazione</label>\r\n </div>\r\n </li>\r\n </>\r\n }\r\n </ul>\r\n </div>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default Filters;","import React from \"react\";\r\nimport { useState } from \"react\";\r\nimport { useEffect } from \"react\";\r\nimport { useContext } from \"react\";\r\nimport { useParams } from \"react-router\";\r\nimport { config } from \"../../../../../constants/Constants\";\r\nimport useHttpRequest from \"../../../../../hooks/http-request\";\r\nimport TokenContext from \"../../../../../store/token-context\";\r\nimport AuthContext from \"../../../../../store/auth-context\";\r\nimport { formatArea } from \"../../../../../helper/helper\";\r\n\r\nconst FiltersByArea = (props) => {\r\n\r\n const arrayFilter = localStorage.getItem(\"filters\")?.split(\",\");\r\n const { isFromAnotherPage } = useParams();\r\n\r\n const searchError = props.resultResearch === null || (props.testo === '' && isFromAnotherPage !== 'daMieiLibri');\r\n\r\n const authCtx = useContext(AuthContext);\r\n const sendRqst = useHttpRequest();\r\n const tokenCtx = useContext(TokenContext);\r\n\r\n const [fisco, setFisco] = useState(false);\r\n const [diritto, setDiritto] = useState(false);\r\n const [lavoro, setLavoro] = useState(false);\r\n const [PA, setPA] = useState(false);\r\n const [tecnici, setTecnici] = useState(false);\r\n\r\n const [areaFisco, setAreaFisco] = useState(false);\r\n const [areaDiritto, setAreaDiritto] = useState(false);\r\n const [areaLavoro, setAreaLavoro] = useState(false);\r\n const [areaPA, setAreaPA] = useState(false);\r\n const [areaTecnici, setAreaTecnici] = useState(false);\r\n const [areaTematicaUtente, setAreaTematicaUtente] = useState([]);\r\n\r\n const addOrRemoveFilter = (event) => {\r\n\r\n props.addOrRemoveFilter(event.target.value);\r\n setRightFilter(event.target.value);\r\n\r\n };\r\n\r\n const isChecked = (materia) => {\r\n\r\n if (arrayFilter === undefined || arrayFilter === null) return false;\r\n\r\n if (!arrayFilter.find(el => el === materia)) {\r\n return false;\r\n }\r\n\r\n return true;\r\n };\r\n\r\n const setRightFilter = (data) => {\r\n\r\n switch (data) {\r\n case \"Fisco\":\r\n setFisco(!fisco);\r\n break;\r\n case \"Diritto\":\r\n setDiritto(!diritto);\r\n break;\r\n case \"Lavoro\":\r\n setLavoro(!lavoro);\r\n break;\r\n case \"PA\":\r\n setPA(!PA);\r\n break;\r\n case \"Tecnici\":\r\n setTecnici(!tecnici);\r\n break;\r\n\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if(isFromAnotherPage !== 'daMieiLibri' && localStorage.getItem(\"MyBook\") === \"false\"){\r\n setAreaTematicaUtente([]); return\r\n }\r\n const setAreaDisabled = (result) => {\r\n setAreaTematicaUtente(formatArea(result));\r\n\r\n }\r\n const bodyFormatted = {\r\n parameters: {\r\n 'name': config.nameList.getAreeTematiche,\r\n 'inputParameters': [],\r\n \"staticToken\": \"\"\r\n },\r\n \"token\": tokenCtx.token\r\n };\r\n const request = {\r\n url: config.url.BACKEND_SERVICE.concat(config.serviceToCall.getProdotti),\r\n req: {\r\n method: 'POST',\r\n headers:\r\n {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted)\r\n }\r\n };\r\n sendRqst.sendRequest(request, setAreaDisabled);\r\n }, [isFromAnotherPage, localStorage.getItem(\"MyBook\"), tokenCtx.token]);\r\n\r\n useEffect(() => {\r\n if (props.isBack !== \"1\" && !props.clear && localStorage.getItem(\"mantieniIFiltri\") === null) return;\r\n\r\n setFisco(isChecked(\"Fisco\"));\r\n setDiritto(isChecked(\"Diritto\"));\r\n setLavoro(isChecked(\"Lavoro\"));\r\n setPA(isChecked(\"PA\"));\r\n setTecnici(isChecked(\"Tecnici\"));\r\n\r\n props.changeClear(false);\r\n \r\n }, [props.clear]);\r\n \r\n useEffect(() => {\r\n\r\n if(areaTematicaUtente.length === 0 && isFromAnotherPage !== \"daMieiLibri\"){\r\n setAreaFisco(false);\r\n setAreaDiritto(false);\r\n setAreaLavoro(false);\r\n setAreaPA(false);\r\n setAreaTecnici(false);\r\n return\r\n }\r\n if (areaTematicaUtente.find(el => el === \"Fisco\")) setAreaFisco(false); else setAreaFisco(true);\r\n if (areaTematicaUtente.find(el => el === \"Diritto\")) setAreaDiritto(false); else setAreaDiritto(true);\r\n if (areaTematicaUtente.find(el => el === \"Lavoro\")) setAreaLavoro(false); else setAreaLavoro(true);\r\n if (areaTematicaUtente.find(el => el === \"PA\")) setAreaPA(false); else setAreaPA(true);\r\n if (areaTematicaUtente.find(el => el === \"Tecnici\")) setAreaTecnici(false); else setAreaTecnici(true);\r\n }, [areaTematicaUtente]);\r\n\r\n return (\r\n <React.Fragment>\r\n <div className=\"search-side\">\r\n <h4 className=\"search-side-title\">Filtra per area</h4>\r\n <ul className=\"list list--large\">\r\n <li className=\"list-item\">\r\n <div className=\"custom-control custom-checkbox\">\r\n <input type=\"checkbox\" className=\"custom-control-input\" id=\"area_fisco-e-imprese\" value='Fisco' onClick={addOrRemoveFilter} checked={fisco} disabled={searchError || areaFisco} />\r\n <label className=\"custom-control-label\" htmlFor=\"area_fisco-e-imprese\">\r\n Fisco e imprese\r\n </label>\r\n </div>\r\n </li>\r\n <li className=\"list-item\">\r\n <div className=\"custom-control custom-checkbox\">\r\n <input type=\"checkbox\" className=\"custom-control-input\" id=\"area_diritto\" value='Diritto' onClick={addOrRemoveFilter} checked={diritto} disabled={searchError || areaDiritto} />\r\n <label className=\"custom-control-label\" htmlFor=\"area_diritto\">\r\n Diritto\r\n </label>\r\n </div>\r\n </li>\r\n <li className=\"list-item\">\r\n <div className=\"custom-control custom-checkbox\">\r\n <input type=\"checkbox\" className=\"custom-control-input\" id=\"area_lavoro\" value='Lavoro' onClick={addOrRemoveFilter} checked={lavoro} disabled={searchError || areaLavoro} />\r\n <label className=\"custom-control-label\" htmlFor=\"area_lavoro\">\r\n Lavoro\r\n </label>\r\n </div>\r\n </li>\r\n <li className=\"list-item\">\r\n <div className=\"custom-control custom-checkbox\">\r\n <input type=\"checkbox\" className=\"custom-control-input\" id=\"area_pa\" value='PA' onClick={addOrRemoveFilter} checked={PA} disabled={searchError || areaPA} />\r\n <label className=\"custom-control-label\" htmlFor=\"area_pa\">\r\n PA\r\n </label>\r\n </div>\r\n </li>\r\n <li className=\"list-item\">\r\n <div className=\"custom-control custom-checkbox\">\r\n <input type=\"checkbox\" className=\"custom-control-input\" id=\"area_tecnici\" value='Tecnici' onClick={addOrRemoveFilter} checked={tecnici} disabled={searchError || areaTecnici} />\r\n <label className=\"custom-control-label\" htmlFor=\"area_tecnici\">\r\n Tecnici\r\n </label>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </React.Fragment >\r\n );\r\n}\r\n\r\nexport default FiltersByArea;","import React from 'react'\r\n\r\nconst BookFilter = (props) => {\r\n\r\n const bookFilters = props.filterBookArray;\r\n \r\n const filteringBook = (ev) => {\r\n\r\n props.filteringBook(ev.currentTarget.id);\r\n };\r\n\r\n return (\r\n <ul className=\"list list--large\">\r\n {bookFilters && bookFilters.map((filter, index) => (\r\n <li className=\"list-item\" key={index}>\r\n <div className=\"custom-control custom-checkbox\">\r\n <input type=\"checkbox\" className=\"custom-control-input\" id={filter.id} onClick={filteringBook}/>\r\n <label className=\"custom-control-label d-block\" htmlFor={filter.id}>\r\n <span className=\"search-side-label\">{filter.name}</span>\r\n </label>\r\n </div>\r\n </li>\r\n ))}\r\n </ul>\r\n )\r\n}\r\n\r\nexport default BookFilter","import React, { useState } from \"react\";\r\n\r\nconst ColorObject = (props) => {\r\n\r\n const [isActive, setIsActive] = useState(false);\r\n\r\n const filteringByColor = (ev) => {\r\n\r\n const color = ev.currentTarget.dataset.value;\r\n\r\n setIsActive(!isActive);\r\n\r\n props.filteringByColor(color);\r\n }\r\n\r\n\r\n return (\r\n <React.Fragment>\r\n <li className=\"list-inline-item\">\r\n <a className={`${props.filter.className} ${isActive ? 'is-active' : ''}`} role=\"button\" data-value={props.filter.value} onClick={filteringByColor}>\r\n <span className=\"icon icon-check\"></span>\r\n </a>\r\n </li>\r\n </React.Fragment>\r\n )\r\n}\r\n\r\nexport default ColorObject;","import React, { useState } from 'react'\r\nimport ColorObject from './ColorObject';\r\n\r\nconst ColorFilter = (props) => {\r\n\r\n const colorFilters = [\r\n { className: \"itool noted--s\", value: \"seppia\" },\r\n { className: \"itool noted--y\", value: \"yellow\" },\r\n { className: \"itool noted--p\", value: \"pink\" },\r\n { className: \"itool noted--v\", value: \"violet\" }\r\n ]\r\n\r\n const filteringByColor = (color) => {\r\n props.filteringByColor(color);\r\n }\r\n\r\n return (\r\n <ul className=\"list-inline list-inline--large\">\r\n {colorFilters && colorFilters.map((filter, index) => (\r\n <ColorObject filter={filter} filteringByColor={filteringByColor} key={index}></ColorObject>\r\n ))}\r\n </ul>\r\n )\r\n}\r\n\r\nexport default ColorFilter","import React from 'react'\r\n\r\nconst FilterWrapper = (props) => {\r\n return (\r\n <div className=\"search-side\">\r\n <h4 className=\"search-side-title\">{props.title}</h4>\r\n {props.children}\r\n </div>\r\n )\r\n}\r\n\r\nexport default FilterWrapper","import React from 'react'\r\n\r\nconst TagFilter = (props) => {\r\n\r\n const filteringByTag = (ev) => {\r\n\r\n const tagToFilter = ev.currentTarget.id;\r\n\r\n props.filteringByTag(tagToFilter);\r\n };\r\n\r\n return (\r\n <div className=\"tag-list\">\r\n {props.mostUsedTag && props.mostUsedTag.map((filter, index) => (\r\n <div className=\"tag-list-action\" key={index}>\r\n <div className=\"custom-control custom-checkbox\">\r\n <input type=\"checkbox\" className=\"custom-control-input\" id={filter} onClick={filteringByTag}/>\r\n <label className=\"custom-control-label\" htmlFor={filter}>\r\n <span className=\"tag\">\r\n {filter}\r\n </span>\r\n </label>\r\n </div>\r\n {/*<div className=\"tag-list-action-btn\">\r\n <a className=\"itool itool--clear\" href=\"#\">\r\n <span className=\"icon icon-edit\"></span>\r\n </a>\r\n <a className=\"itool itool--clear\" href=\"#\">\r\n <span className=\"icon icon-delete\"></span>\r\n </a>\r\n </div>*/}\r\n </div>\r\n ))}\r\n </div>\r\n )\r\n}\r\n\r\nexport default TagFilter","import React from 'react'\r\nimport BookFilter from './BookFilter/BookFilter'\r\nimport ColorFilter from './ColorFilter/ColorFilter'\r\nimport FilterWrapper from './FilterWrapper'\r\nimport TagFilter from './TagFilter/TagFilter'\r\nimport TagFilterByNotes from './TagFilterByNotes'\r\n\r\nconst FiltersNotes = (props) => {\r\n\r\n let filterBookArray = [];\r\n\r\n props.notFilteredNotes.forEach(element => {\r\n filterBookArray.push({\r\n id: element.idprovvedimento,\r\n name: element.title\r\n })\r\n });\r\n\r\n const filteringBook = (idToFilter) => {\r\n\r\n props.filteringBook(idToFilter)\r\n }\r\n\r\n const filteringByColor = (colorToFilter) => {\r\n\r\n props.filteringByColor(colorToFilter);\r\n }\r\n\r\n const filteringByTag = (tagToFilter) => {\r\n\r\n props.filteringByTag(tagToFilter);\r\n }\r\n\r\n const filteringForNotes = (isFilter) => {\r\n props.filteringForNotes(isFilter);\r\n }\r\n\r\n\r\n return (\r\n <>\r\n {/*<FilterWrapper title=\"Filtra per note\">\r\n <TagFilterByNotes filteringForNotes={filteringForNotes}></TagFilterByNotes>\r\n </FilterWrapper>*/}\r\n <FilterWrapper title=\"Filtra per tag\">\r\n <TagFilter filteringByTag={filteringByTag} mostUsedTag={props.mostUsedTag} />\r\n </FilterWrapper>\r\n\r\n <FilterWrapper title=\"Filtra per libro\">\r\n <BookFilter filterBookArray={filterBookArray} filteringBook={filteringBook} />\r\n </FilterWrapper>\r\n\r\n <FilterWrapper title=\"Filtra per colore\">\r\n <ColorFilter filteringByColor={filteringByColor} />\r\n </FilterWrapper>\r\n </>\r\n )\r\n}\r\n\r\nexport default FiltersNotes","import React from \"react\";\r\n\r\nconst FooterFilters = (props) => {\r\n\r\n const clearFilters = () => {\r\n props.clearFilters();\r\n }\r\n\r\n const hideMenu = () => {\r\n document.body.classList.remove('is-search-panel-in');\r\n }\r\n\r\n return (\r\n <React.Fragment>\r\n <a className=\"search-label\" role=\"button\" onClick={clearFilters}>\r\n Cancella filtri\r\n </a>\r\n <a className=\"btn btn--black\" role=\"button\" onClick={hideMenu}>\r\n Mostra risultati\r\n </a>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default FooterFilters;","import React, { useState } from 'react';\r\nimport { useParams } from 'react-router-dom';\r\nimport SearchForType from '../SearchBar/SearchForType';\r\nimport SearchForTypeForMob from '../SearchBar/SearchForTypeForMob';\r\nimport Filters from './Filters/Filters';\r\nimport FiltersByArea from './FiltersByArea/FiltersByArea';\r\nimport FiltersNotes from './FiltersNotes/FiltersNotes';\r\nimport FooterFilters from './FooterFilters/FooterFilters';\r\n\r\nconst SearchFilters = (props) => {\r\n\r\n const [clear, setClear] = useState(false);\r\n const { isFromAnotherPage } = useParams();\r\n const searchError = (props.testo === '' || isFromAnotherPage === 'daMieiLibri');\r\n\r\n const addOrRemoveFilter = (newFilter) => {\r\n props.addOrRemoveFilter(newFilter);\r\n };\r\n\r\n const filteringBook = (idToFilter) => {\r\n\r\n props.filteringBook(idToFilter)\r\n }\r\n\r\n const filteringByColor = (colorToFilter) => {\r\n\r\n props.filteringByColor(colorToFilter);\r\n }\r\n\r\n const filteringByTag = (tagToFilter) => {\r\n\r\n props.filteringByTag(tagToFilter);\r\n }\r\n\r\n const filteringForNotes = (isFilter) => {\r\n props.filteringForNotes(isFilter);\r\n }\r\n\r\n const clearFilters = () => {\r\n props.clearFilters();\r\n setClear(true);\r\n }\r\n\r\n const changeClear = () => {\r\n setClear(false);\r\n }\r\n const changeYear = (year) => {\r\n props.changeYear(year);\r\n }\r\n\r\n const searchForCategory = (searchForCategory) => {\r\n props.searchForCategory(searchForCategory);\r\n }\r\n\r\n return (\r\n <div className=\"sticky-wrapper\">\r\n <div className=\"sticky sticky--side\">\r\n <div className=\"search-panel\">\r\n <div className=\"search-panel-head d-lg-none\">\r\n <h2 className=\"search-panel-title\">\r\n Filtri\r\n </h2>\r\n <a className=\"itool\" role=\"button\" data-toggle-class=\"is-search-panel-in\" onClick={() => document.body.classList.remove('is-search-panel-in')}>\r\n <span className=\"icon icon-cross\"></span>\r\n </a>\r\n </div>\r\n <div className=\"search-panel-scroll\">\r\n {props.isResearch &&\r\n <>\r\n <SearchForTypeForMob searchForCategory={searchForCategory} searchError={searchError}></SearchForTypeForMob>\r\n <Filters isLoggedIn={props.isLoggedIn} changeYear={changeYear} addOrRemoveFilter={addOrRemoveFilter} testo={props.testo} resultResearch={props.resultResearch} isBack={props.isBack} clear={clear} changeClear={changeClear}></Filters>\r\n <FiltersByArea addOrRemoveFilter={addOrRemoveFilter} testo={props.testo} resultResearch={props.resultResearch} isBack={props.isBack} clear={clear} changeClear={changeClear}></FiltersByArea>\r\n </>\r\n }\r\n {props.isNotes &&\r\n <FiltersNotes\r\n resultsNotes={props.resultsNotes}\r\n notFilteredNotes={props.notFilteredNotes}\r\n mostUsedTag={props.mostUsedTag}\r\n filteringBook={filteringBook}\r\n filteringByColor={filteringByColor}\r\n filteringByTag={filteringByTag}\r\n filteringForNotes={filteringForNotes}\r\n />\r\n }\r\n </div>\r\n <div className=\"search-panel-foot d-lg-none\">\r\n <FooterFilters clearFilters={clearFilters}></FooterFilters>\r\n </div>\r\n </div>\r\n <span className=\"search-panel-backdrop\" data-toggle-class=\"is-search-panel-in\"></span>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nexport default SearchFilters;","import React, { useContext, useEffect, useState } from 'react'\r\nimport Footer from '../components/Footer/Footer';\r\nimport Header from '../components/Header/Header';\r\nimport Ricerca from '../components/Header/Ricerca/Ricerca';\r\nimport Wrapper from '../components/Helper/Wrapper/Wrapper';\r\nimport AreaAllListHeader from '../components/UI/AreaAllListHeader/AreaAllListHeader';\r\nimport SearchBar from '../components/UI/Research/SearchBar/SearchBar';\r\nimport SearchResults from '../components/UI/Research/SearchResults/SearchResults';\r\nimport SearchFilters from '../components/UI/Research/SearchFilters/SearchFilters';\r\nimport LoginModal from '../components/Modals/Login';\r\nimport SessioneScaduta from \"../components/Modals/SessioneScaduta\";\r\nimport AuthContext from '../store/auth-context';\r\nimport useHttpRequest from '../hooks/http-request';\r\nimport { config } from '../constants/Constants';\r\nimport TokenContext from '../store/token-context';\r\nimport { convertArrayForFEBuyOrNot, convertArrayForFEResearch } from '../helper/castingObject';\r\nimport { bodyFormattedAcquista, bodyFormattedResearch } from '../helper/helperResearch';\r\nimport { useLocation, useNavigate, useParams } from 'react-router-dom';\r\nimport Spinner from '../components/UI/Spinner/Spinner';\r\nimport isLoadingContext from '../store/isLoadingcontext';\r\nimport useManageBodyClasses from '../hooks/useManageBodyClasses';\r\nimport { convertArrayForFEArchive, getCookie, createArrayInputParamsArchive, createInputParameters } from '../helper/helper';\r\nimport MessageManageSiac from '../components/Modals/MessageManageSiac';\r\nimport { updateView } from '../helper/TealiumHelper';\r\n\r\nconst deleteLocalStorage = () => {\r\n localStorage.removeItem(\"filters\");\r\n localStorage.removeItem(\"revOrRec\");\r\n localStorage.removeItem(\"isUpdated\");\r\n localStorage.removeItem(\"year\");\r\n localStorage.removeItem(\"search category\");\r\n}\r\n\r\nconst returnRightCategory = (category) => {\r\n\r\n switch (category) {\r\n case \"Tutto\":\r\n return 1;\r\n case \"Testo\":\r\n return 2;\r\n case \"Titolo\":\r\n return 3;\r\n case \"Autore\":\r\n return 4;\r\n default:\r\n return 1;\r\n }\r\n}\r\n\r\nconst Research = (props) => {\r\n const authCtx = useContext(AuthContext);\r\n const tokenCtx = useContext(TokenContext);\r\n const navigate = useNavigate();\r\n const location = useLocation();\r\n const { isFromAnotherPage } = useParams();\r\n const { isBookIntegrate } = useParams();\r\n const [resultResearch, setResultResearch] = useState(null);\r\n const [resultBuyOrNot, setResultBuyOrNot] = useState(null);\r\n const [wordToSearch, setWordToSearch] = useState('');\r\n const [revOrRec, setRevOrRec] = useState(isFromAnotherPage === \"daMieiLibri\" ? ['D', 'data desc'] : ['', 'score desc']);\r\n const [filters, setFilters] = useState([]);\r\n const [onlyMyBook, setOnlyMyBook] = useState(isFromAnotherPage === \"daMieiLibri\");\r\n const [isUpdated, setIsUpdated] = useState(false);\r\n const [year, setYear] = useState(\"tutti\");\r\n const [changeCategory, setChangeCategory] = useState(1);\r\n const sendRqst = useHttpRequest();\r\n const isLoadingCtx = useContext(isLoadingContext);\r\n const [showSessione, setShowSessione] = useState(false);\r\n const [showModal, setShowModal] = useState(true);\r\n useEffect(() => {\r\n setShowSessione(localStorage.getItem(\"showModalSessione\") ? true : false);\r\n });\r\n useEffect(() => {\r\n\r\n if ((isFromAnotherPage === undefined || isFromAnotherPage === null || isFromAnotherPage === \"daMieiLibri\") && (localStorage.getItem(\"mantieniIFiltri\") === null || localStorage.getItem(\"mantieniIFiltri\") === false)) {\r\n\r\n deleteLocalStorage();\r\n localStorage.removeItem(\"word\");\r\n setWordToSearch('');\r\n setResultResearch(null);\r\n\r\n return;\r\n }\r\n\r\n if (localStorage.getItem(\"MyBook\"))\r\n setOnlyMyBook(localStorage.getItem(\"MyBook\") === \"true\");\r\n if (localStorage.getItem(\"filters\"))\r\n setFilters(localStorage.getItem(\"filters\").split(\",\"));\r\n if (localStorage.getItem(\"revOrRec\"))\r\n setRevOrRec(localStorage.getItem(\"revOrRec\"));\r\n if (localStorage.getItem(\"word\"))\r\n setWordToSearch(localStorage.getItem(\"word\"));\r\n if (localStorage.getItem(\"isUpdated\"))\r\n setIsUpdated(localStorage.getItem(\"isUpdated\"));\r\n if (localStorage.getItem(\"year\"))\r\n setYear(localStorage.getItem(\"year\"));\r\n if (localStorage.getItem(\"search category\"))\r\n setChangeCategory(returnRightCategory(localStorage.getItem(\"search category\")))\r\n\r\n localStorage.removeItem(\"mantieniIFiltri\");\r\n\r\n }, [isFromAnotherPage]);\r\n\r\n const updateResearchList = (filter) => {\r\n\r\n if (filter === 'MyBook') {\r\n setOnlyMyBook(!onlyMyBook);\r\n localStorage.setItem(\"MyBook\", !onlyMyBook);\r\n return;\r\n }\r\n\r\n if (filter === 'isUpdated') {\r\n setIsUpdated(!isUpdated);\r\n localStorage.setItem(\"isUpdated\", !isUpdated);\r\n return;\r\n }\r\n\r\n if (filters.find(el => el === filter)) {\r\n const index = filters.indexOf(filter);\r\n const newArray = [...filters];\r\n newArray.splice(index, 1);\r\n setFilters(newArray);\r\n localStorage.setItem(\"filters\", newArray);\r\n } else {\r\n const newArray = [...filters, filter];\r\n setFilters(newArray);\r\n localStorage.setItem(\"filters\", newArray);\r\n }\r\n };\r\n\r\n const mostRecOrMostRev = (value) => {\r\n localStorage.setItem(\"revOrRec\", value);\r\n setRevOrRec(value);\r\n }\r\n\r\n const addNewWord = (word) => {\r\n if (word.trim() === '') {\r\n setResultResearch(null);\r\n localStorage.removeItem(\"word\", word);\r\n }\r\n localStorage.setItem(\"word\", word);\r\n setWordToSearch(word);\r\n };\r\n\r\n const addSearchCategory = (searchForCategory) => {\r\n\r\n const category = returnRightCategory(searchForCategory)\r\n setChangeCategory(category);\r\n }\r\n\r\n const getBuyOrNot = (arrayIdProv, arrayIdDocType, arrayToReturn) => {\r\n\r\n const buyOrNot = (data) => {\r\n\r\n const buyOrNot = convertArrayForFEBuyOrNot(data.Result.ResultSet.Root);\r\n\r\n setResultBuyOrNot(buyOrNot);\r\n setResultResearch(arrayToReturn);\r\n updateView(`book24ore:ricerca:risultato`, authCtx, tokenCtx, \"book24ore:ricerca\", wordToSearch);\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE.concat(config.serviceToCall.getProdotti),\r\n req: {\r\n method: 'POST',\r\n headers:\r\n {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormattedAcquista(arrayIdProv, arrayIdDocType, tokenCtx))\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, buyOrNot);\r\n };\r\n\r\n const changeYear = (year) => {\r\n localStorage.setItem(\"year\", year);\r\n setYear(year);\r\n }\r\n\r\n const clearFilters = () => {\r\n\r\n deleteLocalStorage();\r\n setOnlyMyBook(false);\r\n setIsUpdated(false);\r\n setRevOrRec(['', 'score desc']);\r\n setYear(\"tutti\");\r\n setChangeCategory(1)\r\n setFilters([]);\r\n }\r\n useEffect(() => {\r\n if(!isBookIntegrate) return;\r\n sessionStorage.setItem(\"isBookIntegrate\", isBookIntegrate)\r\n //SETIsIntegrateInBD(true);\r\n }, [isBookIntegrate]);\r\n\r\n useEffect(() => {\r\n\r\n if (resultResearch === null || resultResearch === undefined || resultResearch.length === 0)\r\n return;\r\n isLoadingCtx.setIfIsLoading(false, 600);\r\n\r\n }, [resultResearch]);\r\n\r\n useEffect(() => {\r\n let wordSaved = localStorage.getItem(\"word\");\r\n\r\n if ((location.pathname === \"/ricerca\" || location.pathname === \"/ricerca/daMieiLibri\" || location.pathname === \"/ricerca/daMieiLibri/fisco\") && wordSaved !== null) {\r\n navigate(\"/ricerca/1\");\r\n //navigate(0);\r\n }\r\n\r\n if (wordSaved === undefined || wordSaved === null) {\r\n if (isFromAnotherPage !== \"daMieiLibri\" || (isFromAnotherPage === \"daMieiLibri\" && (!authCtx.isLoggedIn && localStorage.getItem(\"isLoggedIn\") === null))) {\r\n\r\n if (window.utag === null || window.utag === undefined)\r\n return;\r\n\r\n updateView(`book24ore:ricerca:inizia`, authCtx, tokenCtx, \"book24ore:ricerca\");\r\n\r\n return;\r\n } else {\r\n isLoadingCtx.setIfIsLoading(true);\r\n archive();\r\n return;\r\n }\r\n }\r\n const isNotSetting = ((wordSaved === undefined || wordSaved === null) || (isFromAnotherPage === undefined || isFromAnotherPage === null));\r\n\r\n if (wordToSearch === '' && (isNotSetting)) {\r\n isLoadingCtx.setIfIsLoading(false, 200);\r\n return;\r\n }\r\n\r\n const settingNewResList = (data) => {\r\n\r\n if (changeCategory === 3) {\r\n ricercaPerTitolo(data.Result.Facets);\r\n //return;\r\n }\r\n\r\n let arraysForFe = convertArrayForFEResearch(data.Result.Documents);\r\n\r\n if (arraysForFe.length === 0) {\r\n setResultBuyOrNot(null);\r\n updateView(`book24ore:ricerca:nessun-risultato`, authCtx, tokenCtx, \"book24ore:ricerca\", wordToSearch);\r\n setResultResearch([]);\r\n isLoadingCtx.setIfIsLoading(false, 400);\r\n return;\r\n }\r\n\r\n\r\n getBuyOrNot(arraysForFe.arrayIdProv.toString(), arraysForFe.arrayIdDocType.toString(), arraysForFe.arrayToReturn);\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE.concat(config.serviceToCall.getResultSearch),\r\n req: {\r\n method: 'POST',\r\n headers:\r\n {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormattedResearch(filters, wordToSearch ? wordToSearch : wordSaved, revOrRec, tokenCtx, onlyMyBook, isUpdated, true, undefined, year, authCtx, changeCategory))\r\n }\r\n };\r\n\r\n if (((wordToSearch !== '' && !isLoadingCtx.isLoading) || (wordSaved !== '' && wordToSearch == ''))) {\r\n isLoadingCtx.setIfIsLoading(true);\r\n sendRqst.sendRequest(request, settingNewResList, false, false);\r\n }\r\n\r\n }, [filters, wordToSearch, revOrRec, onlyMyBook, isUpdated, year, authCtx.isLoggedIn, window.utag, changeCategory, tokenCtx.token]);\r\n\r\n\r\n const archive = () => {\r\n\r\n isLoadingCtx.setIfIsLoading(true);\r\n\r\n const settingsResult = (data) => {\r\n\r\n let arrayResult = [];\r\n\r\n if (data.Result.ResultSet !== null)\r\n arrayResult = convertArrayForFEArchive(data.Result.ResultSet.Root);\r\n\r\n setResultResearch(arrayResult);\r\n isLoadingCtx.setIfIsLoading(false, 400);\r\n }\r\n\r\n let filters = localStorage.getItem(\"filters\") ? localStorage.getItem(\"filters\").split(\",\") : [];\r\n\r\n const bodyFormatted = {\r\n parameters: {\r\n name: config.nameList.archivio,\r\n inputParameters: createArrayInputParamsArchive(filters, wordToSearch, revOrRec, onlyMyBook, localStorage.getItem(\"isUpdated\"), localStorage.getItem(\"year\")),\r\n },\r\n token: tokenCtx.token ? tokenCtx.token : getCookie(\"plus_token\")\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, settingsResult, false, false)\r\n }\r\n\r\n const ricercaPerTitolo = (facet) => {\r\n\r\n const settingsResult = (data) => {\r\n\r\n let arrayResult = [];\r\n\r\n if (data.Result.ResultSet !== null)\r\n arrayResult = convertArrayForFEArchive(data.Result.ResultSet.Root);\r\n\r\n setResultResearch(arrayResult);\r\n isLoadingCtx.setIfIsLoading(false, 400);\r\n }\r\n\r\n const bodyFormatted = {\r\n parameters: {\r\n name: config.nameList.ricercaPerTitolo,\r\n inputParameters: createInputParameters(facet),\r\n staticToken: authCtx.isLoggedIn && onlyMyBook ? \"\" : config.token.STATIC_TOKEN\r\n },\r\n token: authCtx.isLoggedIn && onlyMyBook ? tokenCtx.token : \"\"\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, settingsResult, false, false)\r\n\r\n }\r\n\r\n useManageBodyClasses();\r\n\r\n return (\r\n <React.Fragment>\r\n\r\n <Wrapper>\r\n <Header showSecondRow={false} classSticky=\"sticky\" isIntegrateInBD={props.isIntegrateInBD}></Header>\r\n {authCtx.showLoginModal && <LoginModal show={authCtx.showLoginModal}></LoginModal>}\r\n {tokenCtx.showMessageSiac && <MessageManageSiac show={tokenCtx.showMessageSiac}></MessageManageSiac>}\r\n {showSessione && <SessioneScaduta show={showSessione} closeModal={(dismiss) => { setShowModal(dismiss.showModal) }}></SessioneScaduta>}\r\n {isLoadingCtx.isLoading && <Spinner></Spinner>}\r\n <div className=\"main-content\">\r\n <AreaAllListHeader title=\"Ricerca\" />\r\n <section className=\"section\">\r\n <div className=\"container\">\r\n <div className=\"row\">\r\n <div className=\"col-lg-8\">\r\n <div className=\"search\">\r\n\r\n <SearchBar addNewWord={addNewWord} searchForCategory={addSearchCategory} isBack={isFromAnotherPage} placeHolder=\"Inserisci parola chiave\"></SearchBar>\r\n <SearchResults\r\n updateResearchList={mostRecOrMostRev}\r\n resultResearch={resultResearch}\r\n testo={wordToSearch}\r\n isBack={isFromAnotherPage}\r\n resultBuyOrNot={resultBuyOrNot}\r\n isFromAnotherPage={isFromAnotherPage}\r\n /*isLoading={isLoading}*/ />\r\n\r\n {/* Pagination component goes in here */}\r\n </div>\r\n </div>\r\n <div className=\"col-lg-4 order-lg-first\">\r\n <SearchFilters\r\n isLoggedIn={authCtx.isLoggedIn}\r\n addOrRemoveFilter={updateResearchList}\r\n testo={wordToSearch}\r\n resultResearch={resultResearch}\r\n isBack={isFromAnotherPage}\r\n isResearch={true}\r\n clearFilters={clearFilters}\r\n changeYear={changeYear}\r\n searchForCategory={addSearchCategory}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n <Footer isIntegrateInBD={props.isIntegrateInBD}></Footer>\r\n <Ricerca></Ricerca>\r\n </Wrapper>\r\n </React.Fragment>\r\n )\r\n}\r\n\r\nexport default Research;\r\n","import React from 'react';\r\nimport { config } from \"../../../constants/Constants\";\r\n\r\nconst ReaderNormaCommentata = (props) => {\r\n const url = document.location.ancestorOrigins[0] + \"/private/default.aspx\";\r\n return (\r\n <React.Fragment>\r\n { props.listNormaCommentata && props.listNormaCommentata.length !== 0 &&\r\n <div className=\"reader-box-wrapper\">\r\n \r\n <div className=\"reader-box\">\r\n <h5 className=\"reader-box-title\">Norma commentata</h5>\r\n <ul className=\"list list--large\">\r\n {props.listNormaCommentata.map(((item, index) => (\r\n <li className=\"list-item\" key={item.iddocumento}>\r\n \r\n <a target=\"_parent\" className=\"bdcard\" href={url + \"#showdoc/\" + item.iddocumento + \"/?ref=book24\"}>\r\n <div className=\"ncard-fam \">\r\n <h4 className=\"h-meta\">\r\n \r\n <span className=\"upper\">{item.famiglia}</span>\r\n <span className=\"pipe\">|</span>\r\n <span className=\"serif italic\">{item.SottoFamiglia}</span>\r\n \r\n </h4>\r\n </div>\r\n\r\n \r\n\r\n <div className=\"ncard\">\r\n \r\n <h3 className=\"ncard-title serif\" dangerouslySetInnerHTML={{ __html: item.Text1 }} />\r\n\r\n <p className=\"ncard-text\" dangerouslySetInnerHTML={{ __html: item.abstract }} />\r\n \r\n {/*<p className=\"ncard-meta ncard-meta-img\">\r\n <image className=\"retina\" src=\"https://misc.hellobnkr.it/smart24/placeholder/24x24@2x.png\" alt=\"Prodotto\" width=\"24\" height=\"24\"></image>\r\n <span className=\"strong\">Testata</span>\r\n <span className=\"pipe\">|</span>\r\n <time>data</time>\r\n </p>*/}\r\n \r\n </div>\r\n </a>\r\n\r\n \r\n </li>\r\n )))\r\n }\r\n </ul>\r\n </div>\r\n\r\n \r\n </div>\r\n}\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default ReaderNormaCommentata;","import React from 'react';\r\nimport { config } from \"../../../constants/Constants\";\r\n\r\nconst ReaderDisposizioniIntegrative = (props) => {\r\n const url = document.location.ancestorOrigins[0] + \"/private/default.aspx\";\r\n return (\r\n <React.Fragment>\r\n {props.listDisIntegrative && props.listDisIntegrative.length !== 0 &&\r\n <div className=\"reader-box-wrapper\">\r\n\r\n <div className=\"reader-box\">\r\n <h5 className=\"reader-box-title\">Disposizioni Integrative</h5>\r\n <ul className=\"list list--large\">\r\n {props.listDisIntegrative.map(((item, index) => (\r\n <li className=\"list-item\">\r\n\r\n <a target=\"_parent\" className=\"bdcard\" href={url + \"#showdoc/\" + item.idDocumento + \"/?ref=book24\"}>\r\n <div className=\"ncard-fam \">\r\n <h4 className=\"h-meta\">\r\n\r\n <span className=\"upper\">{item.famiglia}</span>\r\n <span className=\"pipe\">|</span>\r\n <span className=\"serif italic\">{item.sottoFamiglia}</span>\r\n\r\n </h4>\r\n </div>\r\n\r\n\r\n\r\n <div className=\"ncard\">\r\n\r\n <h3 className=\"ncard-title \" dangerouslySetInnerHTML={{ __html: item.text1 }} />\r\n\r\n\r\n <p className=\"ncard-subtitle\" dangerouslySetInnerHTML={{ __html: item.text2 }} />\r\n\r\n <p className=\"ncard-text\" dangerouslySetInnerHTML={{ __html: item.abstract }} />\r\n\r\n </div>\r\n </a>\r\n\r\n\r\n </li>\r\n )))\r\n }\r\n </ul>\r\n </div>\r\n\r\n\r\n </div>\r\n }\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default ReaderDisposizioniIntegrative;","import React, { useContext, useEffect, useRef, useState } from 'react';\r\nimport { config } from \"../../../constants/Constants\";\r\nconst ReaderCorrelati = (props) => {\r\n\r\n const idDoc = props.id;\r\n\r\n const listCorrelati = props.listCorrelati;\r\n const url = document.location.ancestorOrigins[0] + \"/private/default.aspx\";\r\n\r\n return (\r\n <React.Fragment>\r\n { listCorrelati && listCorrelati.length !== 0 &&\r\n <div className=\"reader-box-wrapper\">\r\n <div className=\"reader-box\">\r\n <h5 className=\"reader-box-title\">Correlati in evidenza</h5>\r\n <ul className=\"list list--large\">\r\n {listCorrelati.map(((item, index) => (\r\n <li className=\"list-item\" key={item.idDocumento}>\r\n \r\n <a target=\"_parent\" className=\"bdcard\" href={url + \"#showdoc/\" + item.idDocumento + \"/?ref=book24\"}>\r\n <div className=\"ncard-fam \">\r\n <h4 className=\"h-meta\">\r\n \r\n <span className=\"upper\">{item.famiglia}</span>\r\n <span className=\"pipe\">|</span>\r\n <span className=\"serif italic\">{item.sottoFamiglia}</span>\r\n \r\n </h4>\r\n </div>\r\n\r\n\r\n\r\n <div className=\"ncard\">\r\n \r\n <h3 className=\"ncard-title \" dangerouslySetInnerHTML={{ __html: item.text1 }} />\r\n \r\n \r\n <p className=\"ncard-subtitle\" dangerouslySetInnerHTML={{ __html: item.text2 }} />\r\n \r\n <p className=\"ncard-text\" dangerouslySetInnerHTML={{ __html: item.abstract }} />\r\n \r\n </div>\r\n </a>\r\n\r\n \r\n </li>\r\n )))\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n }\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default ReaderCorrelati;","import React, { useContext, useEffect, useRef, useState } from 'react';\r\nimport { useParams } from 'react-router-dom';\r\nimport TokenContext from \"../../../store/token-context\";\r\nimport useHttpRequest from \"../../../hooks/http-request\";\r\nimport { config } from \"../../../constants/Constants\";\r\nimport { bodyFormattedRefDoc } from '../../../helper/helperFunctionGetDocument';\r\nimport { getCookie } from '../../../helper/helper';\r\n\r\nconst ReaderRiferimenti = (props) => {\r\n const idDoc = props.id;\r\n const listRiferimenti = props.listRiferimenti;\r\n const url = document.location.ancestorOrigins[0] + \"/private/default.aspx\";\r\n\r\n return (\r\n <React.Fragment>\r\n { listRiferimenti && listRiferimenti.length !== 0 &&\r\n <div className=\"reader-box-wrapper\">\r\n <div className=\"reader-box\">\r\n <h5 className=\"reader-box-title\">Riferimenti</h5>\r\n {listRiferimenti.map(((item, index) => (\r\n <div className=\"reader-rel\" key={index}>\r\n <h6 className=\"reader-rel-title\">\r\n {item.nomeFamiglia}\r\n </h6>\r\n <ul className=\"list-lined\">\r\n {item.sottoFamiglie.map(((sottofam, index) => (\r\n <li className=\"list-lined-item\" key={sottofam.documentId}>\r\n <a target=\"_parent\" className=\"reader-rel-link reader-rel-link--counter\" href={url + \"#references/[0/\" + idDoc + \"]/[152/\" + encodeURIComponent(item.nomeFamiglia) + \"/\" + encodeURIComponent(sottofam.nome) + \"]\"}>\r\n {sottofam.nome}\r\n <span className=\"reader-rel-counter\">({sottofam.numDocsRiferiti})</span>\r\n </a>\r\n </li>\r\n )))\r\n }\r\n </ul>\r\n </div>\r\n )))\r\n }\r\n</div>\r\n\r\n </div>\r\n}\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default ReaderRiferimenti;","import React, { useContext, useEffect, useRef, useState } from 'react';\r\nimport { useParams } from 'react-router-dom';\r\nimport TokenContext from \"../../../store/token-context\";\r\nimport useHttpRequest from \"../../../hooks/http-request\";\r\nimport { config } from \"../../../constants/Constants\";\r\nimport { bodyFormattedRelDoc } from '../../../helper/helperFunctionGetDocument';\r\nimport { getCookie } from '../../../helper/helper';\r\n\r\nimport ReaderCorrelati from \"./ReaderCorrelati\";\r\nimport ReaderRiferimenti from \"./ReaderRiferimenti\";\r\nconst CorrelatiRiferimenti = (props) => {\r\n\r\n const idDoc = props.id;\r\n\r\n\r\n return (\r\n <React.Fragment>\r\n <ReaderCorrelati id={idDoc} listCorrelati={props.listCorrelati}></ReaderCorrelati>\r\n <ReaderRiferimenti id={idDoc} listDocReferences={props.listDocReferences}></ReaderRiferimenti>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default CorrelatiRiferimenti;","import React from 'react';\r\nimport ReaderNormaCommentata from \"../components/ReaderMain/ReaderPerApprofondire/ReaderNormaCommentata\";\r\nimport ReaderDisposizioniIntegrative from \"../components/ReaderMain/ReaderPerApprofondire/ReaderDisposizioniIntegrative\";\r\nimport CorrelatiRiferimenti from \"../components/ReaderMain/ReaderPerApprofondire/CorrelatiRiferimenti\";\r\nimport ReaderRiferimenti from \"../components/ReaderMain/ReaderPerApprofondire/ReaderRiferimenti\";\r\n\r\nconst SchedaPerApprofondire = (props) => {\r\n\r\n const idDoc = props.id;\r\n\r\n return (\r\n <React.Fragment>\r\n <div className=\"reader-main\">\r\n <div className=\"container\">\r\n <div className=\"reader-container\">\r\n <ReaderNormaCommentata id={idDoc} approfondire={props.approfondire} listNormaCommentata={props.listNormaCommentata}></ReaderNormaCommentata>\r\n <ReaderDisposizioniIntegrative id={idDoc} listDisIntegrative={props.listDisIntegrative}></ReaderDisposizioniIntegrative>\r\n <ReaderRiferimenti id={idDoc} approfondire={props.approfondire} listRiferimenti={props.listRiferimenti}></ReaderRiferimenti>\r\n <CorrelatiRiferimenti id={idDoc} listCorrelati={props.listCorrelati} listDocReferences={props.listDocReferences}></CorrelatiRiferimenti>\r\n </div>\r\n </div>\r\n </div>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default SchedaPerApprofondire;","import React from 'react';\r\n\r\nconst ProgressBar = () => {\r\n\r\n return(\r\n <div className=\"progressbar-wrapper\">\r\n <div className=\"progressbar\"></div>\r\n </div>\r\n );\r\n}\r\n\r\nexport default ProgressBar;","import React from 'react';\r\nimport { NavLink, useLocation } from 'react-router-dom';\r\nimport { config } from '../../constants/Constants';\r\n\r\nconst HeaderReaderGoTo= (props) => {\r\n\r\n const goTo = props.littleSumm;\r\n const locate = useLocation();\r\n\r\n return(\r\n <div className=\"mhead-goto mhead-goto--reader\">\r\n <div className=\"container-fluid\">\r\n <ul className=\"list-inline list-inline--large mhead-goto-scroll\">\r\n {goTo && goTo.map((item, index) => (\r\n <li className=\"list-inline-item\" key={index}>\r\n <NavLink className=\"mhead-goto-link \" to={\"/reader/\" + item.idDoc}>\r\n {item.text}\r\n </NavLink>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nexport default HeaderReaderGoTo;","import React from \"react\";\r\nimport { NavLink } from \"react-router-dom\";\r\n\r\nconst GoHome = (props) => {\r\n\r\n return (\r\n <React.Fragment>\r\n <li className=\"list-inline-item\" style={{display: props.isIntegrateInBD ? 'none' : 'block' }}>\r\n <NavLink className=\"itool\" role={\"button\"} to=\"/\">\r\n <span className=\"icon icon-home\"></span>\r\n </NavLink>\r\n </li>\r\n </React.Fragment >\r\n )\r\n};\r\n\r\nexport default GoHome;","import React from 'react';\r\n\r\nconst DropdownMenuScroll = (props) => {\r\n\r\n return (\r\n <>\r\n <div className=\"dropdown-menu-scroll\">\r\n <ul className=\"list-lined list-lined--large\">\r\n {props.children}\r\n </ul>\r\n </div>\r\n </>\r\n );\r\n}\r\n\r\nexport default DropdownMenuScroll;","import React from \"react\";\r\nimport { NavLink } from \"react-router-dom\";\r\n\r\nconst ListBookmarks = (props) => {\r\n\r\n const item = props.item;\r\n\r\n return (\r\n <React.Fragment>\r\n <li className=\"list-lined-item\">\r\n <div className=\"card-note card-note--action \">\r\n <NavLink to={`/reader/${item.id}`}>\r\n <span className=\"card-note-title\">\r\n {item.title}\r\n </span>\r\n <span className=\"card-note-noted\">\r\n {item.descr}\r\n </span>\r\n </NavLink>\r\n </div>\r\n </li>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default ListBookmarks;","import React from \"react\";\r\nimport { useState } from \"react\";\r\nimport { useEffect } from \"react\";\r\nimport { useRef } from \"react\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport DropdownMenuScroll from \"./DropdownMenuScroll\";\r\nimport ListBookmarks from \"./DropdownMenuScrollItems/ListBookmarks\";\r\n\r\nconst BookmarksNotification = (props) => {\r\n\r\n const searchWord = useRef(null);\r\n const [itemsFiltered, setItemsFiltered] = useState(props.bookmarks);\r\n const [bookmarksShow, setBookmarksShow] = useState(false);\r\n\r\n const filterByWord = (ev) => {\r\n ev.preventDefault();\r\n\r\n const result = props.bookmarks.filter(val => {\r\n return val.title.toLowerCase().includes(searchWord.current.value.toLowerCase()) ||\r\n val.descr.toLowerCase().includes(searchWord.current.value.toLowerCase())\r\n });\r\n\r\n setItemsFiltered(result);\r\n }\r\n\r\n let item = {\r\n name: 'Segnalibri',\r\n placeholder: 'Cerca tra i segnalibri',\r\n spanIcon: 'icon icon-bookmark-list',\r\n };\r\n\r\n useEffect(() => {\r\n setItemsFiltered(props.bookmarks);\r\n },[props.bookmarks])\r\n\r\n return (\r\n <React.Fragment>\r\n <div className={`dropdown ${bookmarksShow ? \"show\" : \"\"}`}>\r\n <a className={`itool ${props.isFree ? 'is-disabled' : ''}`} role=\"button\" data-toggle=\"dropdown\" onClick={(ev) => {ev.preventDefault(); setBookmarksShow(prev => !prev)}}>\r\n <span className={item.spanIcon}></span>\r\n </a>\r\n <div className={`dropdown-menu dropdown-menu-right ${bookmarksShow ? \"show\" : \"\"}`}>\r\n <div className=\"dropdown-menu-head\">\r\n <div className=\"dropdown-menu-head-top\">\r\n <span className=\"dropdown-menu-head-title\">{item.name}</span>\r\n {item?.link &&\r\n <NavLink className={item.link.class} to={item.link.path}>\r\n {item.link.content}\r\n <span className={item.link.spanIcon}></span>\r\n </NavLink>\r\n }\r\n </div>\r\n <div className=\"search-input\">\r\n <input className=\"input input--round input--shadow\" type=\"text\" placeholder={item.placeholder} ref={searchWord} onChange={filterByWord} />\r\n {/*<button className=\"search-input-submit\" type=\"submit\" onClick={filterByWord}>\r\n <span className=\"icon icon-search\"></span>\r\n </button>*/}\r\n </div>\r\n </div>\r\n {itemsFiltered?.length > 0 &&\r\n <DropdownMenuScroll option={item.name}>\r\n {itemsFiltered && itemsFiltered.map((item, index) => (\r\n <ListBookmarks item={item} key={Math.random()} ></ListBookmarks>\r\n ))}\r\n </DropdownMenuScroll>\r\n }\r\n </div>\r\n </div>\r\n </React.Fragment >\r\n )\r\n}\r\n\r\nexport default BookmarksNotification;","import React from \"react\";\r\nimport { NavLink } from \"react-router-dom\";\r\n\r\nconst ListNotes = (props) => {\r\n\r\n const item = props.item;\r\n return (\r\n <React.Fragment>\r\n <li className=\"list-lined-item\">\r\n <NavLink className=\"card-note\" to=\"/mie-note\">\r\n <span className=\"card-note-title\">\r\n {props.titleNote}\r\n </span>\r\n <span className={`card-note-noted noted--${item.color[0]}`}>\r\n <div dangerouslySetInnerHTML={{ __html: item.underlinedText }} />\r\n {/**/}\r\n </span>\r\n {item.text &&\r\n <span className=\"card-note-txt\">\r\n {item.text}\r\n <span className=\"icon icon-note\"></span>\r\n </span>\r\n }\r\n </NavLink>\r\n </li>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default ListNotes;","import React from \"react\";\r\nimport { useState } from \"react\";\r\nimport { useEffect } from \"react\";\r\nimport { useRef } from \"react\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport DropdownMenuScroll from \"./DropdownMenuScroll\";\r\nimport ListNotes from \"./DropdownMenuScrollItems/ListNotes\";\r\n\r\nconst NotesNotification = (props) => {\r\n\r\n const searchWord = useRef(null);\r\n const [itemsFiltered, setItemsFiltered] = useState(props.notes.note); \r\n const [notificationShow, setNotificationShow] = useState(false);\r\n\r\n const filterByWord = (ev) => {\r\n ev.preventDefault();\r\n\r\n const result = props.notes.filter(val => {\r\n return val.underlinedText.toLowerCase().includes(searchWord.current.value.toLowerCase()) ||\r\n val.text.toLowerCase().includes(searchWord.current.value.toLowerCase())\r\n });\r\n\r\n setItemsFiltered(result);\r\n }\r\n\r\n const item = {\r\n name: 'Note',\r\n placeholder: 'Cerca tra le mie note',\r\n spanIcon: 'icon icon-note',\r\n link: {\r\n class: 'card-search-goto',\r\n path: '/mie-note',\r\n content: 'Gestisci note',\r\n spanIcon: 'icon icon-arrow-right-small'\r\n },\r\n titleNote: props.notes.documentTitle,\r\n dropdownList: props.notes\r\n };\r\n\r\n useEffect(() => {\r\n\r\n setItemsFiltered(props.notes)\r\n }, [props.notes])\r\n\r\n return (\r\n <React.Fragment>\r\n <div className={`dropdown ${notificationShow ? \"show\" : \"\"}`}>\r\n <a className={`itool ${props.isFree ? 'is-disabled' : ''}`} role={\"button\"} data-toggle=\"dropdown\" onClick={(ev) => {ev.preventDefault(); setNotificationShow(prev => !prev);}}>\r\n <span className={item.spanIcon}></span>\r\n </a>\r\n <div className={`dropdown-menu dropdown-menu-right ${notificationShow ? \"show\" : \"\"}`}>\r\n <div className=\"dropdown-menu-head\">\r\n <div className=\"dropdown-menu-head-top\">\r\n <span className=\"dropdown-menu-head-title\">{item.name}</span>\r\n {item?.link &&\r\n <NavLink className={item.link.class} to={item.link.path}>\r\n {item.link.content}\r\n <span className={item.link.spanIcon}></span>\r\n </NavLink>\r\n }\r\n </div>\r\n <div className=\"search-input\">\r\n <input className=\"input input--round input--shadow\" type=\"text\" placeholder={item.placeholder} ref={searchWord} onChange={filterByWord} />\r\n {/*<button className=\"search-input-submit\" type=\"submit\" onClick={filterByWord}>\r\n <span className=\"icon icon-search\"></span>\r\n </button>*/}\r\n </div>\r\n </div>\r\n {itemsFiltered?.length > 0 &&\r\n <DropdownMenuScroll option={item.name}>\r\n {itemsFiltered && itemsFiltered.map((item, index) => (\r\n <ListNotes item={item} titleNote={item.titleNote} key={Math.random()}></ListNotes>\r\n ))}\r\n </DropdownMenuScroll>\r\n }\r\n </div>\r\n </div>\r\n </React.Fragment>\r\n )\r\n}\r\n\r\nexport default NotesNotification;","import React, { useEffect, useState } from 'react';\r\nimport { NavLink } from 'react-router-dom';\r\nimport GoHome from '../UI/GoHome/GoHome';\r\nimport BookmarksNotification from './BookmarksNotification';\r\nimport NotesNotification from './NotesNotification';\r\n\r\nconst HeaderRightIcon = (props) => {\r\n\r\n const [notes, setNotes] = useState([]);\r\n\r\n useEffect(() => {\r\n\r\n if (!props.notesForMenu || props.notesForMenu.length === 0) return;\r\n\r\n let notesMerge = []\r\n props.notesForMenu.forEach(el => {\r\n notesMerge = [...notesMerge, ...el.data.note];\r\n });\r\n \r\n setNotes(notesMerge);\r\n\r\n }, [props.notesForMenu]);\r\n\r\n return (\r\n <React.Fragment>\r\n <GoHome isIntegrateInBD={props.isIntegrateInBD}></GoHome>\r\n {props.bookmarks !== null &&\r\n <li className=\"list-inline-item\">\r\n <BookmarksNotification bookmarks={props.bookmarks}></BookmarksNotification>\r\n </li>\r\n }\r\n {notes.length > 0 && props.tipoDocument === 'html' &&\r\n <li className=\"list-inline-item\">\r\n <NotesNotification notes={notes} notesForMenu={props.notesForMenu}></NotesNotification>\r\n </li>\r\n }\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default HeaderRightIcon;","import { useContext, useState } from \"react\";\r\nimport { config } from \"../constants/Constants\";\r\nimport { convertArrayBookmarksForFe } from \"../helper/castingObject\";\r\nimport AuthContext from \"../store/auth-context\";\r\nimport TokenContext from \"../store/token-context\";\r\nimport useHttpRequest from \"./http-request\";\r\n\r\nconst useGetAndManageBookMarksAndNotes = () => {\r\n\r\n const [result, setResult] = useState();\r\n\r\n const loginCtx = useContext(AuthContext);\r\n const tokenCtx = useContext(TokenContext);\r\n const sendRqst = useHttpRequest();\r\n\r\n const getBookmarksConfig = (name, obj, genericFunc) => {\r\n\r\n const getBookmarksList = (documentsId) => {\r\n\r\n const settingsListBookmarks = (data) => {\r\n \r\n let res = data.Result\r\n if(res === null) genericFunc([]);\r\n\r\n res = res.ResultSet.Root;\r\n\r\n const arrayForFe = convertArrayBookmarksForFe(res);\r\n\r\n genericFunc(arrayForFe);\r\n };\r\n\r\n const bodyFormatted = {\r\n \"parameters\": {\r\n \"name\": config.nameList.getInformationBookmarks,\r\n \"inputParameters\": [{\r\n \"name\": \"documenti\",\r\n \"type\": \"VarChar\",\r\n \"value\": documentsId\r\n }],\r\n \"staticToken\": config.token.STATIC_TOKEN\r\n },\r\n \"token\": \"\"\r\n };\r\n\r\n const rqs = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(rqs, settingsListBookmarks);\r\n }\r\n \r\n const bookmarksGetting = (data) => {\r\n\r\n let documentsId = \"\";\r\n\r\n data.Result?.Documents?.forEach((element,index) => {\r\n\r\n if(element.data.iddocumento === undefined) return; \r\n\r\n documentsId = documentsId.concat(element.data.iddocumento);\r\n \r\n if (data.length - 1 !== index) \r\n documentsId = documentsId.concat(\",\");\r\n\r\n });\r\n getBookmarksList(documentsId);\r\n\r\n };\r\n\r\n if (tokenCtx.token === null) return true;\r\n\r\n let query = {\r\n tipo: name,\r\n appId: config.appId,\r\n \"data.idprovvedimento\": obj.prop2\r\n };\r\n\r\n const bodyFormatted = {\r\n excludeUserKey: false,\r\n fields: {},\r\n pageNumber: 1,\r\n pageSize: 999,\r\n sort: null,\r\n query: query,\r\n getTotalDocs: false,\r\n token: tokenCtx.token,\r\n encryptParams: [\"query.userKey\"]\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.find,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json-patch+json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, bookmarksGetting, false);\r\n };\r\n\r\n return {\r\n getBookmarks: getBookmarksConfig,\r\n result: result\r\n }\r\n}\r\n\r\nexport default useGetAndManageBookMarksAndNotes;","import React, { useContext, useEffect, useState } from 'react';\r\nimport { config } from '../../constants/Constants';\r\nimport ProgressBar from '../UI/ProgressBar/ProgressBar';\r\nimport HeaderReaderGoTo from './HeaderReaderGoTo';\r\nimport HeaderRightIcon from './HeaderRightIcon';\r\nimport AuthContext from '../../store/auth-context';\r\nimport Profilo from '../Header/UserAction/Profilo/Profilo';\r\nimport useGetAndManageBookMarksAndNotes from '../../hooks/getAndManageBookmarksAndNotes';\r\nimport useManangeNoteAndTagOnReader from '../../hooks/useManageNoteAndTagOnReader';\r\nimport BookmarksNotification from './BookmarksNotification';\r\nimport NotesNotification from './NotesNotification';\r\nimport TokenContext from '../../store/token-context';\r\nimport { NavLink, useLocation, useNavigate } from 'react-router-dom';\r\nimport { useRef } from 'react';\r\nimport useHttpRequest from '../../hooks/http-request';\r\nimport isLoadingContext from '../../store/isLoadingcontext';\r\nimport { convertArrayForFEBuyOrNot } from '../../helper/castingObject';\r\nimport { bodyFormattedAcquista } from '../../helper/helperResearch';\r\nimport { titleUrlSlug } from '../../helper/helper';\r\nimport GoHome from '../UI/GoHome/GoHome';\r\n\r\nconst HeaderReader = (props) => {\r\n\r\n const [isActiveHambMenu, setIsActiveHambMenu] = useState(false);\r\n\r\n const authCtx = useContext(AuthContext);\r\n const wordToSearch = useRef(null);\r\n const [resultBuyOrNot, setResultBuyOrNot] = useState(null);\r\n const [clickButton, setClickButton] = useState(false);\r\n const sendRqst = useHttpRequest();\r\n const tokenCtx = useContext(TokenContext);\r\n const loadingCtx = useContext(isLoadingContext);\r\n const location = useLocation();\r\n\r\n const img = props.img === undefined || props.img === \"\" ? config.imgDefaultLibro : props.img;\r\n const searchPlaceholder = props.isReader ? 'Cerca nel libro' : 'Cerca in Book24ORE';\r\n const title = props.title;\r\n\r\n const navigate = useNavigate();\r\n\r\n const getBuyOrNot = (ev) => {\r\n\r\n if (ev.key !== 'Enter' && ev.button !== 0) return;\r\n //loadingCtx.setIfIsLoadingConfig(true);\r\n\r\n const buyOrNot = (data) => {\r\n\r\n const buyOrNot = convertArrayForFEBuyOrNot(data.Result.ResultSet.Root);\r\n\r\n goTo(buyOrNot[0].node);\r\n //setResultResearch(arrayToReturn);\r\n //isLoadingCtx.setIfIsLoading(false, 400);\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE.concat(config.serviceToCall.getProdotti),\r\n req: {\r\n method: 'POST',\r\n headers:\r\n {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormattedAcquista(props.idProv, props.idDocType, tokenCtx))\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, buyOrNot);\r\n };\r\n\r\n const goTo = (node) => {\r\n\r\n localStorage.setItem(\"img\", img);\r\n localStorage.setItem(\"word\", wordToSearch.current.value);\r\n localStorage.setItem(\"node\", node);\r\n localStorage.setItem(\"isReader\", true);\r\n localStorage.setItem(\"id\", props.idDoc);\r\n //loadingCtx.setIfIsLoadingConfig(false, 0);\r\n\r\n navigate(`/ricerca/level2/${props.idProv}/${wordToSearch.current.value}/${titleUrlSlug(props.title)}/${props.tipoDocument === \"Sistema Frizzera\" ? 1 : 0}`);\r\n }\r\n\r\n const showLogin = () => {\r\n if (!authCtx.isLoggedIn)\r\n authCtx.showModalLog(true);\r\n };\r\n\r\n const openHambMenu = (ev) => {\r\n ev.preventDefault();\r\n\r\n document.body.classList.add(\"is-drawer-in\")\r\n }\r\n\r\n const setClick = (ev) => {\r\n ev.preventDefault();\r\n setClickButton(prev => !prev);\r\n };\r\n\r\n return (\r\n <>\r\n <div className=\"mhead mhead--sticky mhead--reader\" data-main-header>\r\n <div className=\"mhead-top d-none d-print-block\" >\r\n <div className=\"container-fluid\">\r\n <div className=\"mhead-wrapper\">\r\n <img className=\"nav-logo nav-logo--main\" src=\"/dist/img/book24ore.svg\" alt=\"Book24ORE\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"mhead-top\" >\r\n <div className=\"container-fluid\">\r\n <div className=\"mhead-wrapper\">\r\n\r\n {/* Header left */}\r\n <div className=\"mhead-nav mhead-reader\">\r\n <figure className=\"card-img \">\r\n { props.idDoc &&\r\n <NavLink to={\"/reader/\" + props.idDoc}>\r\n <span className=\"card-img-book\">\r\n <img src={img} alt=\"\" />\r\n </span>\r\n </NavLink>\r\n }\r\n </figure>\r\n <a className=\"itool\" role=\"button\" data-toggle-class=\"is-drawer-in\" onClick={openHambMenu}/*{isActiveHambMenu ? \"is-drawer-in\": \"\"} onClick={setIsActiveHambMenu(prev => !prev)}*/>\r\n <span className=\"icon icon-index\"></span>\r\n </a>\r\n <span className=\"mhead-reader-title d-none d-md-block d-print-block\">\r\n {title}\r\n </span>\r\n </div>\r\n\r\n {/* Header right */}\r\n <div className=\"mhead-nav\">\r\n <ul className=\"list-inline list-inline--large\">\r\n {props.tipoDocument !== \"pdf\" &&\r\n <li className=\"list-inline-item d-none d-lg-block\">\r\n <div className=\"search-input\">\r\n <input className=\"input input--round input--shadow\" type=\"text\" placeholder={searchPlaceholder} onKeyDown={getBuyOrNot} ref={wordToSearch} />\r\n <button className=\"search-input-submit\" type=\"submit\" onClick={getBuyOrNot}>\r\n <span className=\"icon icon-search\"></span>\r\n </button>\r\n </div>\r\n </li>\r\n }\r\n\r\n {/* Bookmarks & Notes */}\r\n {authCtx.isLoggedIn &&\r\n <HeaderRightIcon isFree={props.isFree} bookmarks={props.bookmarks} notes={props.notes} tipoDocument={props.tipoDocument} isIntegrateInBD={props.isIntegrateInBD} notesForMenu={props.notesForMenu}/>\r\n }\r\n\r\n {!authCtx.isLoggedIn &&\r\n <>\r\n <GoHome></GoHome>\r\n <a className=\"btn btn--icon-left btn--icon-big\" href=\"#modal-login\" data-toggle=\"modal\" onClick={showLogin}>\r\n Accedi\r\n <span className=\"icon icon-user\"></span>\r\n </a>\r\n </>\r\n }\r\n {authCtx.isLoggedIn &&\r\n <li className=\"list-inline-item\" onClick={setClick}>\r\n <Profilo clickButton={clickButton} isIntegrateInBD={props.isIntegrateInBD}></Profilo>\r\n </li>\r\n }\r\n\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n {props.page !== 'research' && location.pathname.split(\"/\")[1] === \"reader\" &&\r\n <ProgressBar />\r\n }\r\n </div>\r\n\r\n {props.page !== 'research' && props.tipoDocument !== 'pdf' &&\r\n <HeaderReaderGoTo page={props.page} littleSumm={props.littleSumm} />\r\n }\r\n\r\n </>\r\n );\r\n}\r\n\r\nexport default HeaderReader;","import React from 'react';\r\nimport { NavLink, useNavigate } from 'react-router-dom';\r\nimport { isEmpty } from '../../helper/helper';\r\n\r\nconst ReaderFoot = (props) => {\r\n\r\n return (\r\n <div className=\"reader-foot\" data-page-footer>\r\n\r\n <div className=\"reader-nav\">\r\n {Object.keys(props.nextChap).length > 0 &&\r\n <NavLink className=\"reader-nav-btn reader-nav-btn--next\" to={`${!isEmpty(props.nextChap) ? \"/reader/\" + props.nextChap.idDoc : \"#\"}`}>\r\n <span className=\"reader-nav-label\">Capitolo successivo</span>\r\n <span className=\"reader-nav-title\">{props.nextChap.text}</span>\r\n <span className=\"icon icon-arrow-right\"></span>\r\n </NavLink>\r\n }\r\n {!(props.page === 'summary') && Object.keys(props.prevChap).length > 0 &&\r\n <NavLink className=\"reader-nav-btn reader-nav-btn--prev order-md-first\" to={`${!isEmpty(props.prevChap) ? \"/reader/\" + props.prevChap.idDoc : \"#\"}`}>\r\n <span className=\"reader-nav-label\">Capitolo precedente</span>\r\n <span className=\"reader-nav-title\">{props.prevChap.text}</span>\r\n <span className=\"icon icon-arrow-left\"></span>\r\n </NavLink>\r\n }\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nexport default ReaderFoot;","import React from 'react';\r\n\r\nconst ReaderHead = (props) => {\r\n\r\n return(\r\n <div className=\"reader-head\" data-page-header>\r\n <div className=\"container\">\r\n <div className=\"reader-container\">\r\n {props.children}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nexport default ReaderHead;","import React from 'react';\r\nimport { NavLink } from 'react-router-dom';\r\n\r\nconst ReaderHeadGoTo = (props) => {\r\n\r\n const goTo = props.littleSumm;\r\n\r\n return (\r\n <>\r\n {goTo.length > 0 && \r\n <ul className=\"list-inline list-inline--large reader-head-nav\">\r\n <li className=\"list-inline-item\">\r\n <span className=\"reader-head-nav-label\">\r\n Prossimi capitoli: \r\n </span>\r\n </li>\r\n {goTo.map((item, index) => (\r\n <li className=\"list-inline-item\" key={index}>\r\n <React.Fragment>\r\n <NavLink className=\"reader-head-nav-link\" to={\"/reader/\" + item.idDoc}>\r\n {item.text}\r\n </NavLink>\r\n {item?.isUpdated &&\r\n <a className=\"page-label\" role={\"button\"}>\r\n Aggiornato\r\n </a>\r\n }\r\n </React.Fragment>\r\n </li>\r\n ))}\r\n </ul>\r\n }\r\n </>\r\n );\r\n}\r\n\r\nexport default ReaderHeadGoTo;","import React, { useContext, useEffect, useState, useParams } from \"react\";\r\nimport { NavLink } from 'react-router-dom';\r\n\r\nconst ReaderHeadSwitchDocPerApprofondire = (props) => {\r\n\r\n const idDoc = props.id;\r\n const showApprofondire = props.showPerApprofondire\r\n\r\n return (\r\n <>\r\n <div className=\"tab\">\r\n <ul className=\"list-inline list-inline--large\">\r\n <li className=\"list-inline-item\">\r\n <NavLink className={\"tab-link \" + (!showApprofondire ? \"is-active\" : \"\")} id=\"Documento\" to={\"/reader/\" + idDoc} >\r\n Documento\r\n </NavLink>\r\n </li>\r\n <li className=\"list-inline-item\">\r\n <NavLink className={\"tab-link \" + (showApprofondire ? \"is-active\" : \"\")} id=\"Approfondire\" to={\"/reader/\" + idDoc + \"/SchedaPerApprofondire\"} >\r\n Per approfondire\r\n </NavLink>\r\n </li>\r\n </ul>\r\n </div>\r\n </>\r\n );\r\n}\r\n\r\nexport default ReaderHeadSwitchDocPerApprofondire;","import React from 'react';\r\n\r\nconst ReaderMeta = (props) => {\r\n\r\n const auth = props.document.auth === null || props.document.auth === undefined || props.document.auth === \"\";\r\n return (\r\n <p className=\"reader-meta\">\r\n {props.isLink &&\r\n <>\r\n <a className=\"reader-meta-part reader-meta-subh\" href=\"#\">\r\n {props.document.upTitlLeft}\r\n </a>\r\n {(props.document.upTitlRight !== '' && props.document.upTitlRight !== undefined) &&\r\n <a className=\"reader-meta-part reader-meta-subh\" href=\"#\">\r\n {props.document.upTitlRight}\r\n </a>\r\n }\r\n </>\r\n }\r\n {props.isSpan && Object.keys(props.document).length !== 0 &&\r\n <>\r\n {(props.document.upd !== \"\" || props.document.upd !== undefined) &&\r\n <span className=\"reader-meta-part reader-meta-time\">\r\n {`${props.getTipo.sempreaggiornato === \"1\"? \"Aggiornato il: \" : \"Pubblicato il: \"} ${props.document.upd}`} \r\n </span>\r\n }\r\n {!auth && <span className=\"reader-meta-part reader-meta-auth\">\r\n {props.document.auth}\r\n </span>}\r\n </>\r\n }\r\n </p>\r\n );\r\n}\r\n\r\nexport default ReaderMeta;","import React from 'react';\r\nimport { NavLink } from 'react-router-dom';\r\nimport { isEmpty } from '../../helper/helper';\r\n\r\nconst ReaderTitle = (props) => {\r\n\r\n const getScrollbarWidth = function () {\r\n document.documentElement.style.setProperty('--scrollbar-width', (window.innerWidth - document.documentElement.clientWidth) + \"px\");\r\n }\r\n\r\n getScrollbarWidth();\r\n\r\n return (\r\n <React.Fragment>\r\n <h1 className=\"reader-title\">\r\n {props.title && decodeURI(props.title)}\r\n {props.page === 'mainReader' &&\r\n <>\r\n {Object.keys(props.prevChap).length > 0 &&\r\n <NavLink className=\"reader-head-goto reader-head-goto--prev\" to={`${!isEmpty(props.prevChap) ? \"/reader/\" + props.prevChap.idDoc : \"#\"}`}>\r\n <span className=\"icon icon-arrow-left\"></span>\r\n </NavLink>\r\n }\r\n {Object.keys(props.nextChap).length > 0 &&\r\n <NavLink className=\"reader-head-goto reader-head-goto--next\" to={`${!isEmpty(props.nextChap) ? \"/reader/\" + props.nextChap.idDoc : \"#\"}`}>\r\n <span className=\"icon icon-arrow-right\"></span>\r\n </NavLink>\r\n }\r\n </>\r\n }\r\n </h1>\r\n {props.getTipo !== undefined && props.getTipo.abstract !== \"\" &&\r\n <p className=\"reader-abstract\">\r\n {props.getTipo.abstract}\r\n </p>\r\n }\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default ReaderTitle;","import React from 'react';\r\n\r\nconst ReaderContentContainer = (props) => {\r\n\r\n return (\r\n <div className=\"main-content\">\r\n {props.tipoDocument !== 'pdf' &&\r\n <div className=\"reader\" data-reader>\r\n {props.children}\r\n </div>\r\n }\r\n {props.tipoDocument === 'pdf' &&\r\n props.children\r\n }\r\n </div>\r\n );\r\n}\r\n\r\nexport default ReaderContentContainer;","import React, { useContext, useEffect, useState } from \"react\";\r\nimport { config } from \"../../../constants/Constants\";\r\nimport { titleUrlSlugForTealium } from \"../../../helper/helper\";\r\nimport { bodyFormattedAcquista } from \"../../../helper/helperResearch\";\r\nimport { updateLink, updateView } from \"../../../helper/TealiumHelper\";\r\nimport useHttpRequest from \"../../../hooks/http-request\";\r\nimport AuthContext from \"../../../store/auth-context\";\r\nimport TokenContext from \"../../../store/token-context\";\r\n\r\n\r\n\r\nconst ReaderBlockMask = (props) => {\r\n\r\n const [urlAcquista, setUrlAcquista] = useState();\r\n const [titolo, setTitolo] = useState();\r\n\r\n const authCtx = useContext(AuthContext);\r\n const tokenCtx = useContext(TokenContext);\r\n const sendRqst = useHttpRequest();\r\n \r\n const img = props.img !== \"\" ? props.img : config.imgDefaultLibro;\r\n\r\n const showLoginModal = () => {\r\n authCtx.showModalLog(true);\r\n };\r\n\r\n useEffect(() => {\r\n\r\n if(props.idProvv === undefined || props.idDocType === undefined) return;\r\n\r\n const settingUrlAndPacchetto = (data) => {\r\n\r\n const result = data.Result.ResultSet?.Root[0];\r\n \r\n if(result === undefined || result === null) return;\r\n\r\n setTitolo(result.titolo);\r\n setUrlAcquista(result.url);\r\n\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE.concat(config.serviceToCall.getProdotti),\r\n req: {\r\n method: 'POST',\r\n headers:\r\n {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormattedAcquista(props.idProvv, props.idDocType, tokenCtx))\r\n }\r\n };\r\n \r\n sendRqst.sendRequest(request, settingUrlAndPacchetto);\r\n \r\n });\r\n\r\n\r\n useEffect(() => {\r\n \r\n if (props.title === undefined) return;\r\n\r\n updateView(`book24ore:reader:${titleUrlSlugForTealium(props.title)}:bloccato`, authCtx, tokenCtx, `book24ore:reader-bloccato`);\r\n \r\n }, [props.title]);\r\n\r\n return (\r\n <React.Fragment>\r\n <div className=\"lock-wrapper\">\r\n <div className=\"container\">\r\n <div className=\"lock\">\r\n <div className=\"lock-head\">\r\n <h2 className=\"lock-title\">\r\n Continua a leggere\r\n <span className=\"lock-title-book\">\r\n {props.title}\r\n </span>\r\n </h2>\r\n <p className=\"lock-txt\">\r\n Questo libro fa parte del pacchetto <strong>{titolo}</strong>\r\n </p>\r\n </div>\r\n <div className=\"lock-content\">\r\n <a className=\"btn btn--big btn--black lock-buy\" href={urlAcquista} onClick={(ev) => {updateLink({ title: props.title, name: \"acquista\" }, \"paywall\", props.title) }}>\r\n Acquista il pacchetto su Shopping24\r\n </a>\r\n\r\n <div className=\"lock-info\">\r\n <div className=\"lock-info-content\">\r\n <h4 className=\"lock-info-title\">\r\n Con Book24ORE otterrai\r\n </h4>\r\n <ul className=\"list\">\r\n\r\n <li className=\"list-item\">\r\n <span className=\"lock-info-feature\">\r\n <span className=\"icon icon-check\"></span>\r\n Un’area personale con tutti i tuoi libri\r\n </span>\r\n </li>\r\n\r\n <li className=\"list-item\">\r\n <span className=\"lock-info-feature\">\r\n <span className=\"icon icon-check\"></span>\r\n Possibilità di evidenziare e aggiungere note nei libri con area dedicata per organizzarle\r\n </span>\r\n </li>\r\n\r\n <li className=\"list-item\">\r\n <span className=\"lock-info-feature\">\r\n <span className=\"icon icon-check\"></span>\r\n Libri sempre in aggiornamento con contenuti speciali\r\n </span>\r\n </li>\r\n\r\n </ul>\r\n <a className=\"lock-info-link\" href=\"https://24oreprofessionale.ilsole24ore.com/prodotti/book24ore\">\r\n Perché abbonarsi\r\n </a>\r\n </div>\r\n\r\n <figure className=\"card-img \">\r\n <a href=\"#\">\r\n\r\n <span className=\"card-img-book\">\r\n <img src={img} alt=\"\" />\r\n </span>\r\n\r\n </a>\r\n </figure>\r\n\r\n </div>\r\n </div>\r\n {!authCtx.isLoggedIn && <div className=\"lock-foot\">\r\n <p className=\"lock-foot-txt\">\r\n Ha già acquistato il libro?\r\n </p>\r\n <a className=\"btn\" onClick={showLoginModal}>\r\n Accedi\r\n </a>\r\n </div>}\r\n </div>\r\n </div>\r\n </div>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default ReaderBlockMask;","import React from 'react';\r\n\r\nconst ReaderBoxesRel = (props) => {\r\n\r\n const item = props.item;\r\n\r\n return(\r\n <div className=\"reader-rel\">\r\n <h6 className=\"reader-rel-title\">\r\n <a href={item.linkPath}><span dangerouslySetInnerHTML={{__html: item.title}}/></a>\r\n </h6>\r\n {item.listItems && item.listItems.map((listItem, index) => ( \r\n <a className=\"reader-rel-link \" href={listItem.linkPath}>\r\n <span dangerouslySetInnerHTML={{__html: listItem.title}} /> \r\n </a> \r\n ))}\r\n \r\n </div>\r\n );\r\n}\r\n\r\nexport default ReaderBoxesRel;","import React from 'react';\r\nimport ReaderBoxesRel from './ReaderBoxesRel';\r\n\r\nconst ReaderBox = (props) => {\r\n\r\n return(\r\n <div className=\"reader-box\">\r\n <h5 className=\"reader-box-title\"><div dangerouslySetInnerHTML={{__html: props.title}}/></h5>\r\n \r\n {props.items && props.items.map((item, index) => (\r\n <ReaderBoxesRel item={item} key={index}/>\r\n ))}\r\n </div>\r\n );\r\n}\r\n\r\nexport default ReaderBox;","import React from 'react';\r\nimport ReaderBox from './ReaderBox';\r\n\r\n\r\nconst ReaderBoxesBottom = (props) => {\r\n\r\n const normaCommentata = props.normaCommentata;\r\n const itemsBox1 = [\r\n {\r\n title: normaCommentata.Text1,\r\n linkPath: '/ntPro/Norma-commentata/bibfisco/' + normaCommentata.iddocumento,\r\n listItems: [\r\n {\r\n title: normaCommentata.Text2,\r\n linkPath: '/ntPro/Norma-commentata/bibfisco/' + normaCommentata.iddocumento,\r\n }\r\n ]\r\n }\r\n ];\r\n\r\n const itemsBox2 = [\r\n {\r\n title: 'Approfondimenti',\r\n linkPath: '#',\r\n listItems: [\r\n {\r\n title: 'Operazioni imponibili',\r\n linkPath: '#',\r\n spanCounter: '999'\r\n },\r\n {\r\n title: 'Operazioni imponibili',\r\n linkPath: '#',\r\n spanCounter: '999'\r\n }\r\n ]\r\n },\r\n {\r\n title: 'Giurisprudenza',\r\n linkPath: '#',\r\n listItems: [\r\n {\r\n title: 'Operazioni imponibili',\r\n linkPath: '#',\r\n spanCounter: '999'\r\n },\r\n {\r\n title: 'Operazioni imponibili',\r\n linkPath: '#',\r\n spanCounter: '999'\r\n }\r\n ]\r\n }\r\n ];\r\n\r\n return(\r\n <div className=\"reader-box-wrapper\">\r\n <div className=\"row\">\r\n <div className=\"col-md-6\">\r\n <ReaderBox title='Norma Commentata' items={itemsBox1} />\r\n {/*<ReaderBox title='Approfondimenti' items={itemsBox2}/>*/}\r\n </div>\r\n {/*\r\n <div className=\"col-md-6\">\r\n <div className=\"reader-box\">\r\n <h5 className=\"reader-box-title\">Correlati in evidenza</h5>\r\n <ul className=\"list-lined\">\r\n <li className=\"list-lined-item\">\r\n <a className=\"ncard-slim\" href=\"#\">\r\n <span className=\"ncard-fam\">\r\n <span className=\"h-meta\">\r\n <span className=\"serif italic\">famiglia 2° livello</span>\r\n </span>\r\n </span>\r\n <span className=\"ncard\">\r\n <span className=\"ncard-title\">Tipo parte provvedimento</span>\r\n <span className=\"ncard-subtitle\">Rubrica o oggetto - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</span>\r\n </span>\r\n </a>\r\n </li>\r\n <li className=\"list-lined-item\">\r\n <a className=\"ncard-slim\" href=\"#\">\r\n <span className=\"ncard-fam\">\r\n <span className=\"h-meta\">\r\n <span className=\"serif italic\">famiglia 2° livello</span>\r\n </span>\r\n </span>\r\n <span className=\"ncard-pre\">\r\n <span className=\"ncard-pre-text\">\r\n <span className=\"strong\">Ente</span>\r\n <span className=\"pipe\">|</span>\r\n <span className=\"light\">Organo</span>\r\n <span className=\"pipe\">|</span>\r\n <span className=\"strong\">Tipo provvedimento n. - estensione n.</span>\r\n <span className=\"pipe\">|</span>\r\n <time>data</time>\r\n </span>\r\n </span>\r\n <span className=\"ncard\">\r\n <span className=\"ncard-title\">Tipo parte provvedimento</span>\r\n <span className=\"ncard-subtitle\">Rubrica o oggetto - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</span>\r\n </span>\r\n </a>\r\n </li>\r\n <li className=\"list-lined-item\">\r\n <a className=\"ncard-slim\" href=\"#\">\r\n <span className=\"ncard-fam\">\r\n <span className=\"h-meta\">\r\n <span className=\"serif italic\">famiglia 2° livello</span>\r\n </span>\r\n </span>\r\n <span className=\"ncard-pre\">\r\n <span className=\"ncard-pre-text\">\r\n <span className=\"strong\">Ente</span>\r\n <span className=\"pipe\">|</span>\r\n <span className=\"light\">Organo</span>\r\n <span className=\"pipe\">|</span>\r\n <span className=\"strong\">Tipo provvedimento n. - estensione n.</span>\r\n <span className=\"pipe\">|</span>\r\n <time>data</time>\r\n </span>\r\n </span>\r\n <span className=\"ncard\">\r\n <span className=\"ncard-title\">Tipo parte provvedimento</span>\r\n <span className=\"ncard-subtitle\">Rubrica o oggetto - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</span>\r\n </span>\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n */}\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nexport default ReaderBoxesBottom;","import React from 'react';\r\n\r\nconst ReaderLine = () => {\r\n\r\n return(\r\n <hr className=\"reader-line d-print-none\"/>\r\n );\r\n}\r\n\r\nexport default ReaderLine;","import React, { useEffect } from 'react';\r\nimport { useState } from 'react';\r\nimport { useContext } from 'react';\r\nimport { titleUrlSlugForTealium } from '../../helper/helper';\r\nimport { updateView } from '../../helper/TealiumHelper';\r\nimport AuthContext from '../../store/auth-context';\r\nimport TokenContext from '../../store/token-context';\r\nimport ReaderBlockMask from './ReaderBlockMask/ReaderBlockMask';\r\nimport ReaderBoxesBottom from './ReaderBoxes/ReaderBoxesBottom';\r\nimport ReaderLine from '../UI/ReaderLine/ReaderLine'; \r\n\r\nconst ReaderMain = (props, ref) => {\r\n//const ReaderMain = (props) => {\r\n\r\n const authCtx = useContext(AuthContext);\r\n const tokenCtx = useContext(TokenContext);\r\n const title = props.paragraph.title;\r\n const regex = /(<span class=\"titolo-paragrafo\".*?<\\/span>)/mi;\r\n const textPar = props.paragraph.textPar?.replace(regex, '');\r\n\r\n const [idDocument, setIdDocument] = useState(-1);\r\n\r\n useEffect(() => {\r\n\r\n if (props.activatedCtxMenu) {\r\n document.getElementById(\"readerMain\").addEventListener('contextmenu', event => event.preventDefault());\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n var element = document.querySelectorAll(\"a.btn.btn-light.btn-full\");\r\n \r\n \r\n if(document.querySelector('.expandible.expandible-sm')){\r\n document.querySelector('.expandible.expandible-sm').replaceWith(...document.querySelector('.expandible.expandible-sm').childNodes);\r\n }\r\n /*if(document.querySelector('.table-wrap')){\r\n document.querySelector('.table-wrap').replaceWith(...document.querySelector('.table-wrap').childNodes);\r\n }*/\r\n if(document.querySelector('.panel-collapse.collapse.in')){\r\n document.querySelector('.panel-collapse.collapse.in').replaceWith(...document.querySelector('.panel-collapse.collapse.in').childNodes);\r\n }\r\n\r\n Array.prototype.forEach.call( element, function( node ) {\r\n node.parentNode.removeChild( node );\r\n });\r\n \r\n\r\n }, [])\r\n // fix the pointers to the paragraphs\r\n useEffect(() => {\r\n const pointers = document.querySelectorAll('p.reader-note a[href^=\"#\"]');\r\n\r\n const handleClickNote = (e, id) => {\r\n e.preventDefault();\r\n const para = document.querySelector(`span.reader-txt span#textComplete a[name=\"${id}\"], span.reader-txt span#textComplete a[id=\"${id}\"]`);\r\n para.scrollIntoView({ behavior: 'smooth', block: 'start' });\r\n }\r\n\r\n pointers.forEach((pointer) => {\r\n const id = pointer.hash.split('#')[1];\r\n pointer.addEventListener('click', (e) => handleClickNote(e, id))\r\n })\r\n }, [])\r\n\r\n // fix the pointers to the notes\r\n useEffect(() => {\r\n const pointers = document.querySelectorAll('span.reader-txt span#textComplete a[href^=\"#\"]');\r\n\r\n const handleClickPara = (e, id) => {\r\n e.preventDefault();\r\n const note = document.querySelector(`p.reader-note a[name=\"${id}\"], p.reader-note a[id=\"${id}\"]`);\r\n note.scrollIntoView({ behavior: 'smooth', block: 'start' });\r\n }\r\n\r\n pointers.forEach((pointer, i) => {\r\n const id = pointer.hash.split('#')[1];\r\n pointer.addEventListener('click', (e) => handleClickPara(e, id))\r\n })\r\n\r\n }, []);\r\n\r\n /*useEffect(() => {\r\n\r\n if (Object.keys(props.getTipo).length === 0 || props.title === undefined || !props.buyedOrFreeContent || idDocument === props.idDocument) return;\r\n\r\n setIdDocument(props.idDocument);\r\n\r\n }, [props.title, props.getTipo]);\r\n\r\n useEffect(() => {\r\n\r\n if(props.idDocument === undefined) \r\n return;\r\n\r\n if (props.getTipo.free === \"1\") {\r\n updateView(`book24ore:reader:${titleUrlSlugForTealium(props.title)}:anteprima`, authCtx, tokenCtx, `book24ore:reader-anteprima`);\r\n return;\r\n }\r\n if (props.getTipo.comprato === \"1\") {\r\n updateView(`book24ore:reader:${titleUrlSlugForTealium(props.title)}:paid`, authCtx, tokenCtx, `book24ore:reader-paid`);\r\n return;\r\n }\r\n\r\n }, []);*/\r\n\r\n return (\r\n <React.Fragment>\r\n <div id=\"readerMain\" className={\"reader-entry has-gotonav\"}>\r\n <h3 className=\"reader-txt-title\">\r\n <div dangerouslySetInnerHTML={{ __html: title }} />\r\n </h3>\r\n {props.paragraph.novitaCount === 0 &&\r\n <span className=\"reader-txt\">\r\n <span id=\"textComplete\" dangerouslySetInnerHTML={{ __html: textPar }} />\r\n </span>\r\n }\r\n {props.paragraph.novitaCount !== 0 &&\r\n <div className=\"reader-box-wrapper\" data-target id=\"reader-update\">\r\n <div className=\"reader-box reader-box--update\">\r\n <span className=\"page-label\">Aggiornato</span>\r\n <span className=\"reader-txt\">\r\n <span dangerouslySetInnerHTML={{ __html: textPar }} />\r\n </span>\r\n </div>\r\n </div>\r\n }\r\n {props.paragraph.noteBE && authCtx.isLoggedIn &&\r\n <div className=\"reader-box-wrapper\">\r\n <div id=\"noteComplete\" className=\"reader-box\">\r\n <h5 className='reader-box-title'>NOTE</h5>\r\n <ul className=\"list\">\r\n\r\n <li className=\"list-item\">\r\n <p className=\"reader-note\">\r\n <span id=\"note-id-exclude\" dangerouslySetInnerHTML={{ __html: props.paragraph.noteBE }} />\r\n </p>\r\n </li>\r\n\r\n </ul>\r\n </div>\r\n </div>\r\n }\r\n {props.normaCommentata != null && props.normaCommentata.iddocumento != undefined && !sessionStorage.getItem(\"isBookIntegrate\") &&\r\n <> \r\n <ReaderLine></ReaderLine>\r\n <ReaderBoxesBottom\r\n normaCommentata={props.normaCommentata}\r\n />\r\n </>\r\n }\r\n {/*props.activatedCtxMenu && <ReaderDropdownNote paragraphToEdit = {props.paragraph.textPar}></ReaderDropdownNote>*/}\r\n </div>\r\n\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default ReaderMain;","import React from 'react';\r\n\r\nconst ReaderMainContainer = (props) => {\r\n\r\n return (\r\n <React.Fragment>\r\n <div id='pg-wrapper'>\r\n <div id=\"wrapper\">\r\n {props.children}\r\n </div>\r\n </div>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default ReaderMainContainer;","import React from 'react';\r\n\r\nconst ReaderMainContainer = (props) => {\r\n\r\n return (\r\n <>\r\n {\r\n props.tipoDocument !== 'pdf' &&\r\n <div className={\"reader-main \" + props.zoomText}>\r\n <div className=\"container\">\r\n <div className=\"reader-container\">\r\n {props.children}\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n {\r\n props.tipoDocument === 'pdf' &&\r\n <div className='pdfreader'>\r\n {props.children}\r\n </div>\r\n }\r\n </>\r\n );\r\n}\r\n\r\nexport default ReaderMainContainer;","import React from 'react'\r\n\r\nconst ScrollUpButton = () => {\r\n return (\r\n <a className=\"itool itool--dark reader-tool-top\" role=\"button\" onClick={() => window.scrollTo({top: 0, left: 0, behavior: 'smooth'})}>\r\n <span className=\"icon icon-arrow-up\"></span>\r\n </a>\r\n )\r\n}\r\n\r\nexport default ScrollUpButton","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","import { v4 as uuidv4 } from \"uuid\";\r\nimport { config } from \"../constants/Constants\";\r\nimport { castDate, createImgLink, getDateNow, getMonth, getYearAndMonth } from \"./helper\";\r\nimport { createArrayInputParams } from \"./helperFunctionGetDocument\";\r\n\r\nexport const bodyFormattedReader = (id, name, tokenCtx) => {\r\n\r\n return {\r\n parameters: {\r\n name: name,\r\n inputParameters: [{\r\n \"name\": \"iddocumento\",\r\n \"type\": \"Int\",\r\n \"value\": id\r\n }],\r\n staticToken: tokenCtx.token !== null ? '' : config.token.STATIC_TOKEN,\r\n },\r\n token: tokenCtx.token !== null ? tokenCtx.token : '',\r\n };\r\n}\r\n\r\nexport const bodyFormattedProvvedimenti = (id, provv, name, tokenCtx) => {\r\n\r\n return {\r\n parameters: {\r\n name: name,\r\n inputParameters: [{\r\n \"name\": \"iddocumento\",\r\n \"type\": \"Int\",\r\n \"value\": id\r\n },\r\n {\r\n \"name\": \"provvedimenti\",\r\n \"type\": \"NVarChar\",\r\n \"value\": provv\r\n }],\r\n staticToken: tokenCtx !== null ? '' : config.token.STATIC_TOKEN,\r\n },\r\n token: tokenCtx !== null ? tokenCtx : '',\r\n };\r\n}\r\nexport const bodyFormattedGetTipoView = (name, id, tokenCtx) => {\r\n\r\n const isUserHaveToken = localStorage.getItem(\"token\") !== null;\r\n\r\n return {\r\n parameters: {\r\n name: name,\r\n inputParameters: createArrayInputParams(id),\r\n staticToken: !isUserHaveToken ? config.token.STATIC_TOKEN : '',\r\n },\r\n token: isUserHaveToken ? tokenCtx.token : ''\r\n };\r\n\r\n};\r\n\r\nexport const chooseDocument = (type) => {\r\n switch (type) {\r\n case (\"1\"):\r\n return \"pdf\";\r\n case (\"2\"):\r\n return \"html\";\r\n case (\"3\"):\r\n return \"Sistema Frizzera\";\r\n default:\r\n return \"null\";\r\n }\r\n}\r\n\r\nexport const bodyPDF = (id, token, isComprato, pdfUrl) => {\r\n return {\r\n documentId: parseInt(id),\r\n parameters: {\r\n references: false,\r\n getBinaryDoc: true,\r\n getPdfLibro: pdfUrl?.length > 0 ? true : false,\r\n checkUserPackages: true,\r\n staticToken: token === null || isComprato !== \"1\" ? config.token.STATIC_TOKEN : \"\"\r\n },\r\n token: token !== null && isComprato === \"1\" ? token : \"\"\r\n };\r\n}\r\n\r\nexport const bodyHTML = (id, token, isComprato) => {\r\n\r\n return {\r\n documentId: parseInt(id),\r\n parameters: {\r\n references: false,\r\n staticToken: token === null || isComprato !== \"1\" ? config.token.STATIC_TOKEN : \"\"\r\n },\r\n token: token !== null && isComprato === \"1\" ? token : \"\"\r\n };\r\n\r\n}\r\n\r\nexport const bodyFrizzera = (id, token, isComprato) => {\r\n\r\n return {\r\n parameters: {\r\n documentId: parseInt(id),\r\n source: \"direct\",\r\n textParagraphs: true,\r\n staticToken: token === null || isComprato !== \"1\" ? config.token.STATIC_TOKEN : \"\"\r\n },\r\n token: token !== null && isComprato === \"1\" ? token : \"\"\r\n };\r\n}\r\n\r\nexport const chooseBody = (typeDocument, id, token, isComprato, pdfUrl) => {\r\n\r\n switch (typeDocument) {\r\n case (\"pdf\"):\r\n return bodyPDF(id, token, isComprato, pdfUrl);\r\n case (\"html\"):\r\n return bodyHTML(id, token, isComprato);\r\n case (\"Sistema Frizzera\"):\r\n return bodyFrizzera(id, token, isComprato);\r\n default:\r\n return null;\r\n };\r\n}\r\n\r\nexport const chooseURL = (typeDocument) => {\r\n\r\n let url = config.url.BACKEND_SERVICE;\r\n\r\n switch (typeDocument) {\r\n case (\"pdf\"):\r\n return url.concat(config.serviceToCall.getDocumento);\r\n case (\"html\"):\r\n return url.concat(config.serviceToCall.getDocumento);\r\n case (\"Sistema Frizzera\"):\r\n return url.concat(config.serviceToCall.getProdottiFrizzera);\r\n default:\r\n return url;\r\n }\r\n}\r\n\r\nexport const FormattedDocumentForFE = (document, typeDocument, showPremiumContent, pdfUrl) => {\r\n\r\n switch (typeDocument) {\r\n case (\"pdf\"):\r\n return objectForFePdf(document, showPremiumContent, pdfUrl);\r\n case (\"html\"):\r\n return objectForFeHtml(document, showPremiumContent);\r\n case (\"Sistema Frizzera\"):\r\n return objectForFeFrizzera(document, showPremiumContent);\r\n default:\r\n return {};\r\n }\r\n\r\n}\r\n\r\nconst objectForFePdf = (document, showPremiumContent, pdfUrl) => {\r\n\r\n return {\r\n id: document.DocumentId,\r\n upTitlLeft: document.Section,\r\n upTitlRight: document.SubSection,\r\n titleDoc: encodeURI(document.ChapterTitle),\r\n paragraphs: [{}],\r\n novitaCountTot: 0,\r\n auth: document.Author,\r\n upd: castDate(document.Date),\r\n title_book: document.ChapterTitle,\r\n binaryDoc: showPremiumContent ? pdfUrl?.length > 0 ? document.BinaryPdfDoc : document.BinaryDoc : '',\r\n img: createImgLink(document.Immagine),\r\n idProvv: document.ProvvId,\r\n idDocType: document.DocTypeId,\r\n mainTitle: document.MainTitle === null ? document.ChapterTitle : document.MainTitle\r\n };\r\n}\r\n\r\nconst objectForFeHtml = (document, showPremiumContent) => {\r\n return {\r\n id: document.DocumentId,\r\n upTitlLeft: document.Section,\r\n upTitlRight: '',\r\n titleDoc: encodeURI(document.ChapterTitle),\r\n paragraphs: [\r\n {\r\n documentId: document.DocumentId,\r\n title: document.Title,\r\n novitaCount: 0,\r\n textPar: showPremiumContent ? (document.documentText === '' ? document.TestoDoc : document.documentText) : document.Abstract,\r\n noteBE: document.Nota\r\n }\r\n ],\r\n novitaCountTot: 0,\r\n auth: document.Author,\r\n upd: castDate(document.DateDocument),\r\n title_book: document.ChapterTitle,\r\n img: createImgLink(document.Immagine),\r\n idProvv: document.ProvvId,\r\n idDocType: document.DocTypeId,\r\n mainTitle: document.MainTitle,\r\n };\r\n}\r\n\r\nconst objectForFeFrizzera = (document, showPremiumContent) => {\r\n\r\n const viewFreeContent = {\r\n documentId: document.DocumentId,\r\n title: encodeURI(document.ChapterTitle),\r\n novitaCount: 0,\r\n textPar: document.Abstract\r\n };\r\n\r\n const paragraphs = createArrayParagraphs(document.Paragraphs, showPremiumContent, viewFreeContent);\r\n\r\n return {\r\n id: document.DocumentId,\r\n upTitlLeft: document.Section,\r\n upTitlRight: document.SubSection,\r\n titleDoc: document.ChapterTitle,\r\n paragraphs: paragraphs.paragraphs,\r\n novitaCountTot: paragraphs.novitaCountTot,\r\n auth: document.Author,\r\n upd: castDate(document.Date),\r\n nav: '', //da aggiungere\r\n title_book: document.TaxType,\r\n img: document.Immagine,\r\n idProvv: document.IdProvvedimento,\r\n idDocType: document.IdDocType,\r\n mainTitle: document.Titolo\r\n };\r\n\r\n}\r\n\r\nconst createArrayParagraphs = (paragraphs, showPremiumContent, viewFreeContent) => {\r\n\r\n let array = [];\r\n let novitaCountTot = 0;\r\n\r\n if (!showPremiumContent) {\r\n\r\n array.push(viewFreeContent);\r\n\r\n return {\r\n paragraphs: array,\r\n novitaCountTot: novitaCountTot\r\n };\r\n }\r\n\r\n paragraphs.forEach(element => {\r\n novitaCountTot += element.NovitaCount;\r\n\r\n array.push({\r\n documentId: element.DocumentId,\r\n title: element.Title,\r\n novitaCount: element.NovitaCount,\r\n textPar: element.Text\r\n });\r\n });\r\n\r\n return {\r\n paragraphs: array,\r\n novitaCountTot: novitaCountTot\r\n };\r\n}\r\n\r\nexport const castArrayForFELittleSumm = (littleSumm) => {\r\n\r\n let array = [];\r\n let next = {};\r\n let prev = {};\r\n\r\n littleSumm.forEach(element => {\r\n switch (element.tipo) {\r\n case \"2\":\r\n prev = {\r\n idDoc: element.iddocumento,\r\n text: element.titolo,\r\n isUpdated: element.aggiornato === \"0\" ? false : true,\r\n };\r\n break;\r\n case \"3\":\r\n next = {\r\n idDoc: element.iddocumento,\r\n text: element.titolo,\r\n isUpdated: element.aggiornato === \"0\" ? false : true,\r\n };\r\n break;\r\n default:\r\n array.push({\r\n idDoc: element.iddocumento,\r\n text: element.titolo,\r\n isUpdated: element.aggiornato === \"0\" ? false : true\r\n });\r\n break;\r\n }\r\n });\r\n\r\n return {\r\n prevChap: prev,\r\n nextChap: next,\r\n summ: array,\r\n };\r\n}\r\n\r\nexport const viewContent = (getTipoV, tokenCtx) => {\r\n\r\n if (tokenCtx.token !== null && getTipoV.comprato === \"1\") return true;\r\n\r\n return getTipoV.free === \"1\";\r\n}\r\n\r\nexport const formattedUpdateListForFE = (updatesList) => {\r\n\r\n let arrayForFE = [];\r\n let _ = require('underscore');\r\n\r\n let alldates = _.groupBy(updatesList, function (obj) {\r\n return getYearAndMonth(obj.data);\r\n });\r\n\r\n let months = Object.keys(alldates);\r\n\r\n const translateForFE = (array) => {\r\n\r\n let arrayTranslated = [];\r\n\r\n array.forEach(el => {\r\n arrayTranslated.push({\r\n id: el.iddocumento,\r\n title: el.titolo,\r\n paragraph: el.abstract,\r\n pipe: el.sezione\r\n });\r\n })\r\n\r\n return arrayTranslated;\r\n };\r\n\r\n months.forEach(el => {\r\n arrayForFE.push({\r\n title: el,\r\n list: translateForFE(alldates[el])\r\n })\r\n });\r\n\r\n return arrayForFE;\r\n\r\n}\r\n\r\nexport const selectColor = (value) => {\r\n\r\n switch (value) {\r\n case \"seppia\":\r\n return config.color.seppia;\r\n case \"yellow\":\r\n return config.color.yellow;\r\n case \"pink\":\r\n return config.color.pink;\r\n case \"violet\":\r\n return config.color.violet;\r\n default:\r\n return;\r\n }\r\n\r\n}\r\n\r\nexport const getTagHtml = (string, indx) => {\r\n\r\n let count = 0;\r\n\r\n for (let i = indx; i < string.length; i++) {\r\n count++;\r\n\r\n if (string[i] === \">\") {\r\n break;\r\n }\r\n }\r\n\r\n return string.substring(indx, (indx + count));\r\n}\r\n\r\nconst editTextToEdit = (textToEdit, initialSpan, finalSpan) => {\r\n\r\n let aggiungiSpan = 0;\r\n\r\n for (let i = 0; i < textToEdit.length; i++) {\r\n\r\n if (textToEdit[i] === \"<\") {\r\n let tagHtml = getTagHtml(textToEdit, i);\r\n\r\n if (tagHtml !== \"\" && textToEdit[i + 1] === \"/\" && isNotParticularTag(tagHtml)) {\r\n\r\n if (aggiungiSpan === 0 && tagHtml !== \"</p>\") {\r\n\r\n let newIndex = i + tagHtml.length;\r\n\r\n textToEdit = textToEdit.slice(0, newIndex) + initialSpan + textToEdit.slice(newIndex)\r\n\r\n newIndex = newIndex + initialSpan.length;\r\n\r\n if (textToEdit[newIndex] === \"<\" || i === 0)\r\n newIndex--;\r\n\r\n i = newIndex;\r\n aggiungiSpan++;\r\n continue;\r\n } else if (aggiungiSpan === 0 && tagHtml === \"</p>\") {\r\n i = i + tagHtml.length;\r\n continue;\r\n }\r\n\r\n if ((i + tagHtml.length) === textToEdit.length) {\r\n textToEdit = textToEdit.slice(0, (i)) + finalSpan + textToEdit.slice((i));\r\n } else {\r\n textToEdit = textToEdit.slice(0, i) + finalSpan + textToEdit.slice(i);\r\n }\r\n\r\n let newIndex = i + finalSpan.length;\r\n\r\n\r\n if (textToEdit[newIndex] === \"<\" || i === 0)\r\n newIndex--;\r\n\r\n i = newIndex;\r\n aggiungiSpan--;\r\n\r\n } else if (tagHtml !== \"\" && textToEdit[i + 1] !== \"/\" && isNotParticularTag(tagHtml)) {\r\n\r\n if (i === 0 && !tagHtml.startsWith(\"<p\") && !tagHtml.startsWith(\"<li\")) {\r\n textToEdit = textToEdit.slice(0, i) + initialSpan + textToEdit.slice(i);\r\n i = i + tagHtml.length + initialSpan.length - 1;\r\n aggiungiSpan++;\r\n continue;\r\n }\r\n\r\n if (aggiungiSpan > 0 && !tagHtml.startsWith(\"<p\")) {\r\n\r\n textToEdit = textToEdit.slice(0, (i)) + finalSpan + textToEdit.slice((i))\r\n\r\n let newIndex = i + finalSpan.length;\r\n\r\n if (textToEdit[newIndex] === \"<\" || i === 0)\r\n newIndex--;\r\n\r\n i = newIndex;\r\n aggiungiSpan--;\r\n continue;\r\n }\r\n\r\n if ((i - tagHtml.length) <= 0) {\r\n textToEdit = textToEdit.slice(0, (i + tagHtml.length)) + initialSpan + textToEdit.slice((i + tagHtml.length));\r\n } else {\r\n textToEdit = textToEdit.slice(0, (i + tagHtml.length)) + initialSpan + textToEdit.slice((i + tagHtml.length));\r\n }\r\n\r\n let newIndex = i + tagHtml.length + initialSpan.length;\r\n\r\n\r\n if (textToEdit[newIndex] === \"<\" || i === 0)\r\n newIndex--;\r\n\r\n i = newIndex;\r\n aggiungiSpan++;\r\n }\r\n } else if (i === 0) {\r\n textToEdit = textToEdit.slice(0, i) + initialSpan + textToEdit.slice(i);\r\n i = i + initialSpan.length - 1;\r\n aggiungiSpan++;\r\n } else if (i === (textToEdit.length - 1) && textToEdit[i] !== \">\") {\r\n textToEdit = textToEdit.slice(0, i + 1) + finalSpan + textToEdit.slice(i + 1);\r\n i = i + finalSpan.length;\r\n aggiungiSpan--;\r\n }\r\n }\r\n\r\n for (let i = 0; i < aggiungiSpan; i++) {\r\n textToEdit = textToEdit.slice(0, textToEdit.length) + finalSpan + textToEdit.slice(textToEdit.length + 1);\r\n }\r\n\r\n return textToEdit;\r\n}\r\n\r\nexport const editDocument = (editedText, textToEdit, range, color, noteToUpd, titleDoc) => {\r\n\r\n let newDocument = editedText;\r\n\r\n let existNote = Object.keys(noteToUpd).length > 0;\r\n\r\n let id = existNote ? noteToUpd.idNote : uuidv4();\r\n let colorToInsert = selectColor(color);\r\n let initialSpan = `<span id=\"${id}\" class=\"noted noted--${colorToInsert[0]}\" name=\"buttonEdit\" style=\"white-space: pre-wrap\">`;\r\n let finalSpan = `${colorToInsert[1]}`;\r\n let forEdit = `<button id=\"${id}\" class=\"icon icon-edit\" name=\"buttonEdit\"></button>`;\r\n\r\n if (!existNote) {\r\n\r\n const newParag = editTextToEdit(textToEdit, initialSpan, finalSpan);\r\n\r\n newDocument = newDocument.slice(0, range.start) + newDocument.slice(range.end);\r\n\r\n newDocument = newDocument.slice(0, range.start) + newParag + forEdit + newDocument.slice(range.start);\r\n\r\n range.end = range.start + newParag.length + forEdit.length;\r\n\r\n } else {\r\n newDocument = newDocument.replaceAll(noteToUpd.startSpan, initialSpan);\r\n }\r\n\r\n return {\r\n newDocument: newDocument,\r\n note: {\r\n idNote: id,\r\n startNote: range.start,\r\n endNote: range.end,\r\n startSpan: initialSpan,\r\n endSpan: finalSpan,\r\n color: color,\r\n text: existNote ? noteToUpd.text : '',\r\n tag: existNote ? noteToUpd.tag : [],\r\n date: getDateNow(),\r\n startButton: forEdit,\r\n titleNote: titleDoc\r\n }\r\n }\r\n}\r\n\r\nexport const cleanDocument = (noteToUpd, editedText, startNote, endNote, spanStart, spanEnd) => {\r\n\r\n let newDocument = editedText;\r\n\r\n if (Object.keys(noteToUpd).length === 0) return newDocument;\r\n\r\n newDocument = newDocument.slice(0, startNote) + \"\" + newDocument.slice(startNote);\r\n const newEnd = endNote - spanStart.length;\r\n newDocument = newDocument.slice(0, endNote) + \"\" + newDocument.slice(endNote);\r\n\r\n return newDocument;\r\n}\r\n\r\nexport const isNotParticularTag = (string) => {\r\n\r\n if (string === \"<ul>\" || string.startsWith(\"<ul\"))\r\n return false;\r\n else if (string === \"</ul>\")\r\n return false;\r\n else if (string === \"<td>\" || string.startsWith(\"<td\"))\r\n return false;\r\n else if (string === \"</td>\")\r\n return false;\r\n else if (string === \"<table>\" || string.startsWith(\"<table\"))\r\n return false;\r\n else if (string === \"</table>\")\r\n return false;\r\n else if (string === \"<tbody>\" || string.startsWith(\"<tbody\"))\r\n return false\r\n else if (string === \"</tbody>\")\r\n return false;\r\n else if (string === \"<tr>\" || string.startsWith(\"<tr\"))\r\n return false;\r\n else if (string === \"</tr>\")\r\n return false;\r\n else if (string === \"<div>\" || string.startsWith(\"<div\"))\r\n return false;\r\n else if (string === \"</div>\")\r\n return false;\r\n\r\n return true;\r\n}\r\n\r\n\r\nexport const beginTagInString = (string) => {\r\n\r\n if (string.startsWith(\"<p\"))\r\n return \"p\";\r\n else if (string.startsWith(\"<b\"))\r\n return \"b\";\r\n else if (string.startsWith(\"<i\"))\r\n return \"i\";\r\n else if (string.startsWith(\"<li\"))\r\n return \"li\";\r\n else if (string.startsWith(\"<ul\"))\r\n return \"ul\";\r\n else if (string.startsWith(\"<div\"))\r\n return \"div\";\r\n else if (string.startsWith(\"<span\"))\r\n return \"span\";\r\n else if (string.startsWith(\"<table\"))\r\n return \"table;\"\r\n else if (string.startsWith(\"<tbody\"))\r\n return \"tbody\";\r\n else if (string.startsWith(\"<tr\"))\r\n return \"tr\";\r\n else if (string.startsWith(\"<td>\"))\r\n return \"td\";\r\n else if (string.startsWith(\"<h1\"))\r\n return \"h1\";\r\n else if (string.startsWith(\"<h2\"))\r\n return \"h2\";\r\n else if (string.startsWith(\"<h3\"))\r\n return \"h3\";\r\n else if (string.startsWith(\"<h4\"))\r\n return \"h4\";\r\n else if (string.startsWith(\"<h5\"))\r\n return \"h5\";\r\n else if (string.startsWith(\"<h6\"))\r\n return \"h6\";\r\n else if (string.startsWith(\"<a\"))\r\n return \"a\"\r\n else if (string.startsWith(\"<em\"))\r\n return \"em\";\r\n else\r\n return \"\";\r\n}\r\n\r\nexport const endTagInString = (string) => {\r\n\r\n if (string.endsWith(\"</p>\"))\r\n return \"p\";\r\n else if (string.endsWith(\"</b>\"))\r\n return \"b\";\r\n else if (string.endsWith(\"</i>\"))\r\n return \"i\";\r\n else if (string.endsWith(\"</li>\",))\r\n return \"li\";\r\n else if (string.endsWith(\"</ul>\",))\r\n return \"ul\";\r\n else if (string.endsWith(\"</div>\",))\r\n return \"div\";\r\n else if (string.endsWith(\"</span>\"))\r\n return \"span\";\r\n else if (string.endsWith(\"</table>\"))\r\n return \"table\";\r\n else if (string.endsWith(\"</tbody>\"))\r\n return \"tbody\";\r\n else if (string.endsWith(\"</tr>\"))\r\n return \"tr\";\r\n else if (string.endsWith(\"</td>\"))\r\n return \"td\";\r\n else if (string.endsWith(\"</h1>\"))\r\n return \"h1\";\r\n else if (string.endsWith(\"</h2>\"))\r\n return \"h2\";\r\n else if (string.endsWith(\"</h3>\"))\r\n return \"h3\";\r\n else if (string.endsWith(\"</h4>\"))\r\n return \"h4\";\r\n else if (string.endsWith(\"</h5>\"))\r\n return \"h5\";\r\n else if (string.endsWith(\"</h6>\"))\r\n return \"h6\";\r\n else if (string.endsWith(\"</a>\"))\r\n return \"a\"\r\n else if (string.endsWith(\"</em>\"))\r\n return \"em\";\r\n else\r\n return \"\";\r\n}\r\n\r\nexport const existNoteForThisParagraph = (id, notes) => {\r\n\r\n if (notes === null || id === null) return {};\r\n\r\n let noteToUpd = {}\r\n notes.forEach(el => {\r\n if (id === el.idNote)\r\n noteToUpd = el;\r\n });\r\n\r\n return noteToUpd;\r\n};\r\n\r\nexport const updateNotes = (newNote, arrayNotes) => {\r\n\r\n let arrayNotesOld = { ...arrayNotes };\r\n let indexToUpd = -1;\r\n\r\n if (Object.keys(arrayNotesOld).length === 0) return [newNote];\r\n\r\n //if(arrayNotesOld?.data === undefined) arrayNotesOld\r\n arrayNotesOld.data.note.forEach((el, index) => {\r\n\r\n if (el.idNote === newNote.idNote) indexToUpd = index;\r\n });\r\n\r\n if (indexToUpd !== -1) {\r\n arrayNotesOld = arrayNotesOld.data.note.filter((item, index) => { return index !== indexToUpd });\r\n }\r\n else {\r\n return [...arrayNotesOld.data.note, newNote];\r\n }\r\n\r\n if (arrayNotesOld.length !== 0)\r\n return [...arrayNotesOld, newNote];\r\n\r\n return [newNote];\r\n};\r\n\r\nexport const cleanSpan = (toClean, range, noteToUpd) => {\r\n\r\n if (noteToUpd.underlinedText !== undefined && noteToUpd.underlinedText !== null && noteToUpd.underlinedText !== \"\")\r\n return noteToUpd.underlinedText;\r\n\r\n let substringToClean = toClean.substring(range.start, range.end);\r\n\r\n substringToClean = substringToClean.replace(/<\\/?span[^>]*>/g, \"\");\r\n\r\n return substringToClean.replace(/<\\/?button[^>]*>/g, \"\");\r\n} ","import { useContext, useState } from \"react\";\r\nimport { config } from \"../constants/Constants\";\r\nimport AuthContext from \"../store/auth-context\";\r\nimport TokenContext from \"../store/token-context\";\r\nimport useHttpRequest from \"./http-request\";\r\nimport { bodyFormattedReader } from '../helper/helperFunctionReader';\r\n\r\nconst useSaveAndDeleteReadingBook = () => {\r\n\r\n const sendRqst = useHttpRequest();\r\n const tokenCtx = useContext(TokenContext);\r\n const [result, setResult] = useState(false);\r\n const loginCtx = useContext(AuthContext)\r\n const [giaLetti, setGiaLetti] = useState(false);\r\n const setSaveConfig = (name, obj, blockOrNotContent) => {\r\n\r\n const saveObj = (data) => {\r\n\r\n if (data.Result !== null) {\r\n if (data.Result.Documents[0].data.iddocumento === obj.prop3)\r\n return;\r\n aggiungiPiuLetti(obj.prop3)\r\n updateContinuaALeggere(data.Result.Documents[0], obj.prop3);\r\n return;\r\n }\r\n\r\n const result = trueSave(name, { idprovvedimento: obj.prop1, iddoctype: obj.prop2, iddocumento: obj.prop3 });\r\n\r\n setResult(result);\r\n };\r\n\r\n if (tokenCtx.token === null || !blockOrNotContent) return;\r\n\r\n let query = {\r\n tipo: name,\r\n appId: config.appId,\r\n \"data.idprovvedimento\": obj.prop1,\r\n \"data.iddoctype\": obj.prop2\r\n };\r\n\r\n const bodyFormatted = {\r\n excludeUserKey: false,\r\n fields: {},\r\n pageNumber: 1,\r\n pageSize: 999,\r\n sort: null,\r\n query: query,\r\n getTotalDocs: false,\r\n token: tokenCtx.token,\r\n encryptParams: [\"query.userKey\"]\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.find,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json-patch+json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, saveObj, false);\r\n };\r\n const aggiungiPiuLetti = (idDocument) => {\r\n\r\n const setPiuLetti = (data) => {\r\n if (data.Result.ResultSet === null) {\r\n setGiaLetti(true);\r\n return;\r\n }\r\n }\r\n\r\n const bodyFormatted = bodyFormattedReader(idDocument, config.nameList.getAggiungiPiuLetti, tokenCtx);\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, setPiuLetti);\r\n };\r\n\r\n const updateContinuaALeggere = (dataToUpd, idDocument) => {\r\n\r\n const updatedDocument = (data) => {\r\n\r\n setResult(data.Result);\r\n }\r\n\r\n if (tokenCtx.token === null) return;\r\n\r\n dataToUpd.data.iddocumento = idDocument;\r\n const bodyFormatted = {\r\n id: dataToUpd._id.$oid,\r\n type: dataToUpd.tipo,\r\n data: dataToUpd.data,\r\n token: tokenCtx.token\r\n }\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.update,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json-patch+json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, updatedDocument, false);\r\n\r\n }\r\n\r\n const trueSave = (name, data, genericFunc) => {\r\n\r\n const savedData = (data) => {\r\n if (data.err === null || data.err === undefined) genericFunc(true, \"saved\");\r\n\r\n else genericFunc(false, \"saved\");\r\n }\r\n\r\n const bodyFormatted = {\r\n data,\r\n type: name,\r\n token: tokenCtx.token\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.save,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json-patch+json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, savedData, false);\r\n }\r\n\r\n const setDeleteConfig = (array, obj, genericFunc) => {\r\n\r\n let index = array.map(val => val.data.iddocumento).indexOf(parseInt(obj.prop2));\r\n let toDelete = array[index];\r\n\r\n const finishToDelete = (data) => {\r\n\r\n if (data.err === null || data.err === undefined) genericFunc(false, \"deleted\");\r\n\r\n else genericFunc(true, \"deleted\");\r\n }\r\n\r\n const bodyFormatted = {\r\n token: tokenCtx.token,\r\n id: toDelete._id.$oid\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.delete,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json-patch+json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, finishToDelete, false);\r\n\r\n };\r\n\r\n const getAlreadySavedConfig = (name, obj, blockOrNotContent, wantToSave, genericFunc) => {\r\n\r\n const saveObj = (data) => {\r\n\r\n const checkIfExist = (array, prop) => {\r\n\r\n let res = false;\r\n\r\n if (array === undefined || array === null) return res;\r\n\r\n array.forEach(element => {\r\n\r\n if (element.data.iddocumento == parseInt(prop)) res = true;\r\n\r\n });\r\n\r\n return res;\r\n };\r\n\r\n if (data.Result === null && !wantToSave) return genericFunc(false);\r\n\r\n const res = checkIfExist(data?.Result?.Documents, obj.prop2);\r\n\r\n if (!wantToSave) {\r\n return genericFunc(res, \"\");\r\n }\r\n\r\n if (!res) {\r\n trueSave(name, { idprovvedimento: obj.prop1, iddocumento: obj.prop2 }, genericFunc);\r\n return;\r\n }\r\n\r\n setDeleteConfig(data?.Result?.Documents, obj, genericFunc);\r\n };\r\n\r\n if (tokenCtx.token === null) return true;\r\n\r\n let query = {\r\n tipo: name,\r\n appId: config.appId,\r\n \"data.idprovvedimento\": obj.prop1\r\n };\r\n\r\n const bodyFormatted = {\r\n excludeUserKey: false,\r\n fields: {},\r\n pageNumber: 1,\r\n pageSize: 999,\r\n sort: null,\r\n query: query,\r\n getTotalDocs: false,\r\n token: tokenCtx.token,\r\n encryptParams: [\"query.userKey\"]\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.find,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json-patch+json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, saveObj, false);\r\n };\r\n\r\n return {\r\n setSaveBook: setSaveConfig,\r\n setDeleteBook: setDeleteConfig,\r\n getAlreadySaved: getAlreadySavedConfig,\r\n result: result\r\n };\r\n}\r\n\r\nexport default useSaveAndDeleteReadingBook;","import React, { useContext, useEffect, useState } from \"react\";\r\nimport { config } from \"../../../constants/Constants\";\r\nimport useSaveAndDeleteReadingBook from \"../../../hooks/saveAndDeleteReadingBook\";\r\nimport AuthContext from \"../../../store/auth-context\";\r\n\r\nconst ReaderToolsBookmarks = (props) => {\r\n\r\n const saveDeleteB = useSaveAndDeleteReadingBook();\r\n const authCtx = useContext(AuthContext);\r\n const [isSaved, setIsSaved] = useState(true);\r\n\r\n const handleSaved = () => {\r\n\r\n if (!authCtx.isLoggedIn) {\r\n return;\r\n }\r\n\r\n const settingsSaved = (res, name) => {\r\n\r\n setIsSaved(res);\r\n props.handleSaved({ res: res, name: name, nameMenu: 'bookmarks' });\r\n }\r\n\r\n const obj = {\r\n prop1: props.idProv,\r\n prop2: props.idDoc\r\n };\r\n\r\n saveDeleteB.getAlreadySaved(config.nameList.segnalibro, obj, props.buyedOrFreeContent, true, settingsSaved);\r\n\r\n };\r\n\r\n useEffect(() => {\r\n\r\n let callingHttp = setTimeout(() => {\r\n const setWhenResIsBack = (res) => {\r\n setIsSaved(res);\r\n }\r\n\r\n const obj = {\r\n prop1: props.idProv,\r\n prop2: props.idDoc\r\n };\r\n\r\n\r\n if (authCtx.isLoggedIn && props?.idDoc) {\r\n saveDeleteB.getAlreadySaved(config.nameList.segnalibro, obj, props.buyedOrFreeContent, false, setWhenResIsBack);\r\n }\r\n }, 400);\r\n\r\n return () => {\r\n clearTimeout(callingHttp);\r\n }\r\n\r\n }, [authCtx.isLoggedIn, props.idDoc]);\r\n\r\n return (\r\n <React.Fragment>\r\n <li className={props.class}>\r\n <a className={`itool ${(!authCtx.isLoggedIn || isSaved) ? 'is-active' : ''}`} role=\"button\" data-toggle-class=\"is-toast-in\" onClick={handleSaved}>\r\n <span className=\"icon icon-bookmark\"></span>\r\n </a>\r\n </li>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default ReaderToolsBookmarks;","import React from \"react\";\r\nimport { useState } from \"react\";\r\n\r\nconst ReaderToolsTextSizeMenu = (props) => {\r\n\r\n const [isActive, setIsActive] = useState(2);\r\n\r\n const settingZoom = (ev) => {\r\n\r\n switch (ev.target.getAttribute('value')) {\r\n case (\"small\"):\r\n setIsActive(1);\r\n props.settingZoom(\"set-text-small\");\r\n break;\r\n case (\"normal\"):\r\n setIsActive(2);\r\n props.settingZoom(\"\");\r\n break;\r\n case (\"big\"):\r\n setIsActive(3);\r\n props.settingZoom(\"set-text-big\");\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n return (\r\n <React.Fragment>\r\n <div className={`dropdown-menu dropdown-menu-right ${props.show ? \"show\" : \"\"}`}>\r\n <ul className=\"list list--mid\">\r\n\r\n <li className=\"list-item\">\r\n <a className={\"licon \" + (isActive === 1 ? \"is-active\" : \"\")} role=\"button\" value=\"small\" onClick={settingZoom}>\r\n Piccolo\r\n <span className=\"icon icon-text-size icon--t-small\"></span>\r\n </a>\r\n </li>\r\n\r\n <li className=\"list-item\">\r\n <a className={\"licon \" + (isActive === 2 ? \"is-active\" : \"\")} role=\"button\" value=\"normal\" onClick={settingZoom}>\r\n Medio\r\n <span className=\"icon icon-text-size \"></span>\r\n </a>\r\n </li>\r\n\r\n <li className=\"list-item\">\r\n <a className={\"licon \" + (isActive === 3 ? \"is-active\" : \"\")} role=\"button\" value=\"big\" onClick={settingZoom}>\r\n Grande\r\n <span className=\"icon icon-text-size icon--t-big\"></span>\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </React.Fragment>\r\n )\r\n}\r\n\r\nexport default ReaderToolsTextSizeMenu;","import React, { useState } from \"react\";\r\nimport ReaderToolsTextSizeMenu from \"./ReaderToolsTextSizeMenu\";\r\n\r\nconst ReaderToolsTextSize = (props) => {\r\n\r\n const settingZoom = (zoom) => {\r\n props.settingZoom(zoom);\r\n setShow(false);\r\n };\r\n\r\n const [show, setShow] = useState(false);\r\n\r\n return (\r\n <React.Fragment>\r\n <li className={show ? props.class + \"show\" : props.class}>\r\n <a className=\"itool \" role={\"button\"} data-toggle=\"dropdown\" onClick={() => {setShow(prev => !prev)}}>\r\n <span className=\"icon icon-text-size\"></span>\r\n </a>\r\n <ReaderToolsTextSizeMenu settingZoom={settingZoom} show={show}></ReaderToolsTextSizeMenu>\r\n </li>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default ReaderToolsTextSize;","import React, { useState } from \"react\";\r\n\r\nconst ReaderToolsPrint = (props) => {\r\n\r\n const Print = () =>{ \r\n var html = \"\";\r\n html +='<!DOCTYPE html>';\r\n html +='<html lang=\"en\">';\r\n html +='<head>';\r\n html +='<meta charset=\"utf-8\" />';\r\n html +=' <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">';\r\n html +=' <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">';\r\n html +=' <title>Book24</title>';\r\n html +=' <link rel=\"stylesheet\" href=\"/dist/css/style-biblioteca24.css\" />';\r\n html +='</head>';\r\n html +='<body>';\r\n html += document.getElementById(\"wrapper\").innerHTML + '</body></html>';\r\n\r\n var _iframe = document.createElement(\"IFRAME\");\r\n document.getElementsByTagName('body')[0].appendChild(_iframe);\r\n\r\n var docif = _iframe.contentWindow.document;\r\n docif.write(html);\r\n docif.close();\r\n\r\n _iframe.contentWindow.focus();\r\n setTimeout(function () {\r\n _iframe.contentWindow.print();\r\n setTimeout(function () {\r\n document.getElementsByTagName('body')[0].removeChild(_iframe);\r\n }, 1000);\r\n }, 1000);\r\n\r\n };\r\n \r\n return (\r\n <React.Fragment>\r\n {\r\n <li className=\"list-item\">\r\n <a className=\"itool \" role=\"button\" data-toggle=\"tooltip\" data-placement=\"left\" title=\"\" data-original-title=\"Stampa\" onClick={Print}>\r\n <span className=\"icon icon-print\"></span>\r\n </a>\r\n </li>\r\n }\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default ReaderToolsPrint;","import React from 'react';\r\n\r\nconst DossierFilter = (props) => {\r\n\r\n const dossierList = props.dossierList;\r\n\r\n const checked = (ev) => {\r\n if(ev.target.dataset.value === undefined) return;\r\n\r\n const isCheckedOrNot = ev.target.dataset.value;\r\n props.addFilter(isCheckedOrNot);\r\n }\r\n \r\n return (\r\n <div className=\"page-user-item\">\r\n {dossierList.map(dossier => (\r\n <div className=\"custom-control custom-checkbox\">\r\n <input\r\n type=\"checkbox\"\r\n className=\"custom-control-input\"\r\n defaultChecked={dossier.checked}\r\n data-value={dossier.data.name}\r\n name={dossier._id}\r\n id={dossier._id}\r\n onClick={checked}\r\n />\r\n <label className=\"custom-control-label\" htmlFor={dossier._id}>\r\n {dossier.data.name}\r\n </label>\r\n </div>\r\n ))}\r\n </div>\r\n )\r\n}\r\n\r\nexport default DossierFilter","import React, { useContext, useEffect, useRef, useState } from \"react\";\r\nimport TokenContext from '../../store/token-context';\r\nimport useHttpRequest from '../../hooks/http-request';\r\nimport AuthContext from '../../store/auth-context';\r\nimport { config } from '../../constants/Constants';\r\nimport { getCookie } from '../../helper/helper';\r\n// React-Bootstrap\r\nimport Modal from 'react-bootstrap/Modal';\r\nimport DossierFilter from '../PersonalArea/DossierFilter';\r\n\r\nconst Dossier = (props) => {\r\n const tokenCtx = useContext(TokenContext);\r\n \r\n const loginCtx = useContext(AuthContext);\r\n const sendRqst = useHttpRequest();\r\n const tokenPlus = getCookie(\"plus_token_forDomain\");\r\n const [showCreate, setShowCreate] = useState(false);\r\n const [dossierList, setDossierList] = useState([]);\r\n const [newNameDossier, setNewNameDossier] = useState(\"\");\r\n\r\n const handleChange = (e) => {\r\n setNewNameDossier(e.target.value);\r\n };\r\n const handleClose = () => {\r\n props.handleClose({ showModal: false });\r\n };\r\n const handleCreate = () => {\r\n setShowCreate(true);\r\n };\r\n\r\n const saveFilters = () => {\r\n var data = {name: newNameDossier, date: new Date().toISOString()}\r\n const bodyFormatted = {\r\n data,\r\n type: \"dossier\",\r\n token: tokenPlus\r\n };\r\n \r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.save,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json-patch+json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n \r\n const afterSave = (data) => {\r\n setShowCreate(false);\r\n getAllFilters();\r\n };\r\n\r\n sendRqst.sendRequest(request, afterSave);\r\n };\r\n const getAllFilters = () => {\r\n if(tokenCtx.token === null || !props.showModalPartecipazione) return;\r\n setShowCreate(false);\r\n setNewNameDossier(\"\");\r\n const afterFetch = (data) => {\r\n\r\n if (data.Result) {\r\n\r\n setDossierList(data.Result.Documents);\r\n let savedFiltersArray = [];\r\n \r\n for (const filter in dossierList) {\r\n if (dossierList[filter]) {\r\n savedFiltersArray.push(filter)\r\n }\r\n const checkbox = document.querySelector(`[data-value=${filter}]`);\r\n checkbox.checked = dossierList[filter];\r\n }\r\n }\r\n };\r\n\r\n /* FETCHING FILTERS REQUEST */\r\n const query = {\r\n \"$and\": [\r\n {\r\n \"appId\": \"4218\"\r\n },\r\n {\r\n \"userKey\": loginCtx.username.toLocaleLowerCase()\r\n },\r\n {\r\n \"tipo\": \"dossier\"\r\n },\r\n {\r\n \"data.name\": {\r\n \"$ne\": \"PreferitiSmart24Fisco\"\r\n }\r\n },\r\n {\r\n \"data.name\": {\r\n \"$ne\": \"PreferitiSmartNew\"\r\n }\r\n }\r\n ]\r\n };\r\n \r\n\r\n const bodyFormatted = {\r\n fields: {\"data.name\":1,\"data.date\":1,\"data.documents\":1,\"data.notes\":1},\r\n pageNumber: 1,\r\n pageSize: 999,\r\n query: query,\r\n token: tokenPlus\r\n };\r\n \r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.find,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json-patch+json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, afterFetch);\r\n };\r\n\r\n \r\n useEffect(() => {\r\n getAllFilters();\r\n }, [tokenCtx.token, loginCtx.username, props.showModalPartecipazione])\r\n\r\n return (\r\n <Modal show={props.showModalPartecipazione} onHide={handleClose}>\r\n <div className=\"modal\" tabIndex=\"-1\" role=\"dialog\" style={{ 'display': 'block' }}>\r\n <div className=\"modal-dialog\">\r\n <div className=\"modal-content\">\r\n <a role=\"button\" className=\"modal-close\" data-dismiss=\"modal\" aria-label=\"Close\" onClick={handleClose}>\r\n <span className=\"icon icon-cross-small\"></span>\r\n </a>\r\n <Modal.Header className=\"modal-header\">\r\n <h3 className=\"modal-title\">I miei Dossier</h3>\r\n </Modal.Header>\r\n\r\n <Modal.Body className=\"modal-body\">\r\n {showCreate &&\r\n <div className=\"container\">\r\n <div className=\"page-user-foot\">\r\n <input class=\"input\" type=\"text\" value={newNameDossier} placeholder=\"Inserisci titolo del dossier\" maxlength=\"60\" onChange={handleChange} />\r\n <a className={`btn btn--black ${!newNameDossier ? 'disabled' : ''}`} href=\"#\" onClick={saveFilters}>\r\n Salva\r\n </a>\r\n </div>\r\n </div>}\r\n {!showCreate && <div className=\"container\">\r\n {/*<div className=\"page-user-head\">\r\n <h4 className=\"page-user-title\">\r\n Filtra\r\n </h4>\r\n <p className=\"page-user-txt\">\r\n Imposta la ricezione degli alert via mail per poter sempre essere informato sui tuoi libri di Book24ORE.\r\n </p>\r\n </div>*/}\r\n\r\n {/* Filters */}\r\n \r\n {dossierList &&\r\n <DossierFilter dossierList={dossierList} />\r\n }\r\n \r\n\r\n <div className=\"page-user-foot\">\r\n <a className=\"btn\" href=\"#\" onClick={handleCreate}>\r\n Crea nuovo dossier\r\n </a>\r\n <a className=\"btn btn--black\" href=\"#\">\r\n Conferma\r\n </a>\r\n </div>\r\n </div>}\r\n\r\n </Modal.Body>\r\n </div>\r\n </div>\r\n </div>\r\n </Modal>\r\n )\r\n}\r\n\r\nexport default Dossier;","import React, { useEffect, useState } from 'react';\r\nimport ScrollUpButton from '../../UI/ScrollUpButton/ScrollUpButton';\r\nimport ReaderToolsBookmarks from './ReaderToolsBookmarks';\r\nimport ReaderToolsDossier from './ReaderToolsDossier';\r\nimport ReaderToolsTextSize from './ReaderToolsTextSize';\r\nimport ReaderToolsPrint from './ReaderToolsPrint';\r\nimport Dossier from '../../Modals/Dossier';\r\n\r\nconst ReaderTools = (props) => {\r\n\r\n const [showModalPartecipazione, setShowModalPartecipazione] = useState(false);\r\n\r\n const handleClose = () => {\r\n setShowModalPartecipazione(false)\r\n };\r\n const settingZoom = (cssClass) => {\r\n props.settingZoom(cssClass);\r\n };\r\n\r\n const handleSaved = (data) => {\r\n props.handleSaved(data);\r\n }\r\n\r\n const showModalDossier = (data) => {\r\n setShowModalPartecipazione(data);\r\n }\r\n return (\r\n <div className=\"reader-tool d-none d-md-block\">\r\n <div className=\"sticky-wrapper\">\r\n <div className=\"sticky\">\r\n <ul className=\"list\">\r\n <ReaderToolsBookmarks handleSaved={handleSaved} idProv={props.idProv} idDoc={props.idDoc} class=\"list-item\"></ReaderToolsBookmarks>\r\n {/*<ReaderToolsDossier showModalDossier={showModalDossier} class=\"list-item\"></ReaderToolsDossier>*/}\r\n <ReaderToolsTextSize settingZoom={settingZoom} class=\"list-item\"></ReaderToolsTextSize>\r\n <ReaderToolsPrint></ReaderToolsPrint>\r\n </ul>\r\n\r\n </div>\r\n </div>\r\n <ScrollUpButton />\r\n <Dossier showModalPartecipazione={showModalPartecipazione} handleClose={handleClose}></Dossier>\r\n </div>\r\n\r\n\r\n );\r\n}\r\n\r\nexport default ReaderTools;","import React from 'react';\r\n\r\nconst ReaderBox = (props) => {\r\n\r\n const updated = `${props.document.novitaCountTot > 1 ? `sono presenti ${props.document.novitaCountTot} aggiornamenti` : `è presente ${props.document.novitaCountTot} aggiornamento`}`;\r\n \r\n const handleClickScroll = () => {\r\n const element = document.getElementById('reader-update');\r\n if (element) {\r\n element.scrollIntoView({ behavior: 'smooth', block: 'start' });\r\n }\r\n };\r\n\r\n return (\r\n <React.Fragment>\r\n {props.document.novitaCountTot > 0 &&\r\n <div className=\"reader-box-wrapper d-print-none\">\r\n <div className=\"reader-box reader-box--small reader-box--update reader-box--icon\">\r\n <p className=\"reader-box-txt\">\r\n In questo documento <span className=\"black\"> {updated} </span>.\r\n </p>\r\n <button className=\"reader-goto reader-goto--right\" data-scroll-to onClick={handleClickScroll}>\r\n Vedi aggiornamenti <span className=\"icon icon-arrow-right-small\"></span>\r\n </button>\r\n <span className=\"itool\">\r\n <span className=\"icon icon-history\"></span>\r\n </span>\r\n </div>\r\n </div>\r\n }\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default ReaderBox;","import React from \"react\";\r\n\r\nconst Toast = (props) => {\r\n\r\n const closedSaved = () => {\r\n //props.handleSaved({name:\"close\"})\r\n document.body.classList.remove('is-toast-in');\r\n }\r\n\r\n return (\r\n <React.Fragment>\r\n <div className={\"toastn \" + props.classHeader}>\r\n <span className={\"icon \" + props.iconBody}></span>\r\n {props.message}\r\n <a className=\"toastn-close\" role=\"button\" data-toggle-class=\"is-toast-in\" onClick={closedSaved}>\r\n <span className=\"icon icon-cross-small\"></span>\r\n </a>\r\n </div>\r\n </React.Fragment>\r\n )\r\n}\r\n\r\nexport default Toast;","import { useContext } from \"react\";\r\nimport { useEffect, useCallback, useState } from \"react\";\r\n//import { Platform } from 'react-native';\r\nimport { beginTagInString, endTagInString, getTagHtml } from \"../helper/helperFunctionReader\";\r\nimport AuthContext from \"../store/auth-context\";\r\n\r\nconst useContextMenu = () => {\r\n\r\n const [anchorPoint, setAnchorPoint] = useState({ x: 0, y: 0 });\r\n const [show, setShow] = useState(false);\r\n const [textToEdit, setTextToEdit] = useState('');\r\n const [textCompleteToEdit, setTextCompleteToEdit] = useState('');\r\n const [range, setRange] = useState({ start: 0, end: 0 });\r\n const [id, setId] = useState(null);\r\n const [textToCopy, setTextToCopy] = useState(\"\");\r\n const [disable, setDisable] = useState(false);\r\n\r\n const authCtx = useContext(AuthContext);\r\n\r\n const handleContextMenu = useCallback(\r\n (event) => {\r\n //event.preventDefault();\r\n\r\n window.setTimeout(() => {\r\n const select = window.getSelection();\r\n let idNote = null;\r\n\r\n if (select.isCollapsed && event.target.getAttribute(\"name\") !== \"buttonEdit\") return;\r\n \r\n if (event.pageX !== undefined && event.pageY !== undefined) {\r\n setAnchorPoint({ x: event.pageX, y: event.pageY });\r\n }\r\n else {\r\n setAnchorPoint({ x: event.changedTouches[0].pageX, y: event.changedTouches[0].pageY });\r\n }\r\n\r\n if (event.target.getAttribute(\"name\") === \"buttonEdit\") {\r\n idNote = event.target.id;\r\n //setShow(true);\r\n setId(idNote);\r\n //return;\r\n }\r\n\r\n setTextToEdit(select.toString());\r\n let output = select.toString();\r\n if (select.anchorNode && (select.anchorNode == select.extentNode)) {\r\n if (select.toString() == select.anchorNode.textContent) {\r\n output = select.anchorNode.parentElement.outerHTML\r\n }\r\n } \r\n setTextToCopy(output);\r\n let html = getSelectionHtml();\r\n //is smartphone && isspan\r\n if(getMobileOperatingSystem() && event.target.localName === \"span\"){ \r\n setShow(true);\r\n }else if(!getMobileOperatingSystem() && event.target.localName === \"button\"){\r\n setShow(true);\r\n }else if(event.target.localName === \"i\" || event.target.localName === \"p\" || event.target.localName === \"span\"){\r\n setShow(true);\r\n }else{\r\n setShow(false);\r\n }\r\n let containNote = html.html.includes(\"reader-box-title\") || html.html.includes(\"note-id-exclude\");\r\n if (html.html.length > 16000 || containNote){\r\n setDisable(true);\r\n return;\r\n } \r\n let editedText = document.getElementById(\"textComplete\").innerHTML;\r\n if(document.getElementById(\"noteComplete\")) editedText = editedText.concat(document.getElementById(\"noteComplete\").innerHTML);\r\n const start = findStart(editedText, html);\r\n if(document.getElementById(\"textComplete\").innerHTML.length < start.start || document.getElementById(\"textComplete\").innerHTML.length < start.end){\r\n setDisable(true);\r\n return;\r\n }\r\n const newTextCompleteToEdit = editedText.substring(start.start, start.end);\r\n setTextCompleteToEdit(html.ancestorWithParagraph.innerHTML.trim());\r\n setTextToEdit(newTextCompleteToEdit);\r\n setRange({ start: start.start, end: start.end })\r\n setDisable(false);\r\n }, 0)\r\n },\r\n [setShow, setAnchorPoint]\r\n );\r\n\r\n const tryToFindStart = (editedText, html) => {\r\n\r\n let indx = {\r\n start: editedText.indexOf(html.html),\r\n end: editedText.indexOf(html.html) + html.html.length\r\n };\r\n\r\n let newHtml = html.html;\r\n\r\n while (indx.start === -1) {\r\n\r\n let beginHtmlTag = beginTagInString(newHtml);\r\n\r\n if (beginHtmlTag !== \"\") {\r\n\r\n beginHtmlTag = getTagHtml(newHtml, 0);\r\n\r\n let withoutInitialTag = newHtml.substring(beginHtmlTag.length, newHtml.length);\r\n\r\n indx.start = editedText.indexOf(withoutInitialTag);\r\n indx.end = indx.start + withoutInitialTag.length;\r\n\r\n if (indx.start !== -1) return indx;\r\n\r\n }\r\n\r\n let endHtmlTag = endTagInString(newHtml);\r\n\r\n if (endHtmlTag !== \"\") {\r\n\r\n endHtmlTag = \"</\".concat(endHtmlTag).concat(\">\");\r\n\r\n let withoutEndingTag = newHtml.substring(0, (newHtml.length - endHtmlTag.length));\r\n\r\n indx.start = editedText.indexOf(withoutEndingTag);\r\n indx.end = indx.start + withoutEndingTag.length;\r\n\r\n if (indx.start !== -1) return indx;\r\n\r\n }\r\n\r\n if (indx.start === -1 && beginHtmlTag !== \"\" && endHtmlTag !== \"\") {\r\n\r\n let withoutBeginAndEndingTag = newHtml.substring(beginHtmlTag.length, (newHtml.length - endHtmlTag.length));\r\n\r\n indx.start = editedText.indexOf(withoutBeginAndEndingTag);\r\n indx.end = indx.start + withoutBeginAndEndingTag.length;\r\n }\r\n\r\n newHtml = newHtml.substring(0 + beginHtmlTag.length, (newHtml.length - endHtmlTag.length));\r\n }\r\n\r\n return indx;\r\n }\r\n\r\n const findStart = (editedText, html) => {\r\n\r\n let startIndex = tryToFindStart(editedText, html);\r\n\r\n if (startIndex.start !== -1) {\r\n return startIndex;\r\n }\r\n\r\n let lengthString = html.html.length / 2;\r\n startIndex = editedText.indexOf(html.html.substring(0, lengthString));\r\n\r\n for (let i = 0; i < (startIndex + html.ancestor.length); i++) {\r\n if (editedText[startIndex + i] !== html.html[i]) {\r\n return {\r\n start: startIndex,\r\n end: startIndex + i\r\n };\r\n }\r\n }\r\n }\r\n\r\n const handleClick = useCallback(() => (show ? setShow(false) : null), [show]);\r\n\r\n const getSelectionHtml = () => {\r\n let html = \"\";\r\n if (typeof window.getSelection != \"undefined\") {\r\n let sel = window.getSelection();\r\n if (sel.rangeCount) {\r\n let container = document.createElement(\"div\");\r\n for (let i = 0, len = sel.rangeCount; i < len; ++i) {\r\n container.appendChild(sel.getRangeAt(i).cloneContents());\r\n html = {\r\n html: container.innerHTML,\r\n ancestor: sel.getRangeAt(0).commonAncestorContainer.innerHTML === undefined ? sel.getRangeAt(0).commonAncestorContainer.textContent : sel.getRangeAt(0).commonAncestorContainer.innerHTML,\r\n ancestorWithParagraph: sel.baseNode.parentElement\r\n }\r\n }\r\n }\r\n } else if (typeof document.selection != \"undefined\") {\r\n if (document.selection.type == \"Text\") {\r\n html = document.selection.createRange().htmlText;\r\n }\r\n }\r\n return html;\r\n }\r\n\r\n const cleanFunction = () => {\r\n setAnchorPoint({ x: 0, y: 0 });\r\n setShow(false);\r\n setTextToEdit('');\r\n setTextCompleteToEdit('');\r\n setRange({ start: 0, end: 0 });\r\n setId(null);\r\n }\r\n\r\n const getMobileOperatingSystem = () => {\r\n var userAgent = navigator.userAgent || navigator.vendor || window.opera;\r\n\r\n // Windows Phone must come first because its UA also contains \"Android\"\r\n if (/windows phone/i.test(userAgent)) {\r\n return true;\r\n }\r\n\r\n if (/android/i.test(userAgent)) {\r\n return true;\r\n }\r\n\r\n // iOS detection from: http://stackoverflow.com/a/9039885/177710\r\n if (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n useEffect(() => {\r\n\r\n if (!authCtx.isLoggedIn) return;\r\n\r\n let element = document.getElementById('readerMain');\r\n let elementEdit = document.getElementsByClassName('icon icon-edit');\r\n\r\n const isMobile = getMobileOperatingSystem();\r\n\r\n for (let i = 0; i < elementEdit.length; i++) {\r\n elementEdit[i].addEventListener(\"touchstart\", handleContextMenu);\r\n elementEdit[i].addEventListener(\"click\", handleContextMenu);\r\n };\r\n if(!element) return\r\n element.addEventListener(\"touchend\", handleContextMenu);\r\n element.addEventListener(\"touchstart\", handleContextMenu);\r\n element.addEventListener(\"mouseup\", handleClick);\r\n element.addEventListener(\"click\", handleContextMenu);\r\n\r\n return () => {\r\n for (let i = 0; i < elementEdit.length; i++) {\r\n elementEdit[i].removeEventListener(\"click\", handleContextMenu);\r\n elementEdit[i].removeEventListener(\"touchstart\", handleContextMenu);\r\n }\r\n element.removeEventListener(\"touchend\", handleContextMenu);\r\n element.removeEventListener(\"touchstart\", handleContextMenu);\r\n element.removeEventListener(\"mouseup\", handleClick);\r\n element.removeEventListener(\"click\", handleContextMenu);\r\n };\r\n });\r\n\r\n return { anchorPoint, show, textToEdit, textCompleteToEdit, range, handleClick, id, cleanFunction, textToCopy, disable, getMobileOperatingSystem };\r\n};\r\n\r\nexport default useContextMenu;","import React from 'react';\r\nimport { config } from '../../constants/Constants';\r\nimport { cleanSpan, editDocument, existNoteForThisParagraph, selectColor, updateNotes } from '../../helper/helperFunctionReader';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport useContextMenu from '../../hooks/useContextMenu';\r\nimport useManangeNoteAndTagOnReader from '../../hooks/useManageNoteAndTagOnReader';\r\nimport { getDateNow } from '../../helper/helper';\r\n\r\nconst ReaderDropdownNote = (props) => {\r\n\r\n const { anchorPoint, show, textToEdit, textCompleteToEdit, range, handleClick, id, cleanFunction, textToCopy, disable } = useContextMenu();\r\n\r\n const noteAndTag = useManangeNoteAndTagOnReader();\r\n\r\n const copyToClipboard = (ev) => {\r\n\r\n ev.preventDefault();\r\n\r\n handleClick();\r\n navigator.clipboard.writeText(textToCopy);\r\n };\r\n\r\n const addTag = (ev) => {\r\n ev.preventDefault();\r\n\r\n cleanFunction();\r\n\r\n const color = \"seppia\";\r\n\r\n let editedText = document.getElementById(\"textComplete\").innerHTML;\r\n if(document.getElementById(\"noteComplete\")) editedText = editedText.concat(editedText = editedText.concat(document.getElementById(\"noteComplete\").innerHTML));\r\n\r\n if (!editedText.includes(textCompleteToEdit)) return;\r\n\r\n const start = editedText.indexOf(textCompleteToEdit);\r\n\r\n const paragraphNote = {\r\n startPar: start,\r\n endPar: start + textCompleteToEdit.length\r\n };\r\n\r\n const noteToUpd = existNoteForThisParagraph(id, props.notes.data.note);\r\n\r\n if (Object.keys(noteToUpd).length > 0) {\r\n props.addOrUpdateNoteTag({ showModal: true, noteToUpd: { noteToUpd: noteToUpd } });\r\n return;\r\n }\r\n\r\n let idNote = Object.keys(noteToUpd).length === 0 ? uuidv4() : noteToUpd.idNote;\r\n\r\n let colorToInsert = selectColor(color);\r\n let initialSpan = `<span id=\"${id}\" class=\"noted noted--${colorToInsert[0]}\" style=\"white-space: pre-wrap\" />`;\r\n let finalSpan = `${colorToInsert[1]}`;\r\n let forEdit = `<button id=\"${id}\" class=\"icon icon-edit\" name=\"buttonEdit\"></button>`;\r\n\r\n let nota = {\r\n textCompleteToEdit: textCompleteToEdit,\r\n textToEdit: textToEdit,\r\n noteToUpd: {\r\n idNote: idNote,\r\n ...paragraphNote,\r\n startNote: range.start,\r\n endNote: range.end,\r\n startSpan: initialSpan,\r\n endSpan: finalSpan,\r\n color: color,\r\n text: '',\r\n tag: [],\r\n startButton: forEdit,\r\n date: getDateNow(),\r\n titleNote: props.document.titleDoc\r\n }\r\n };\r\n \r\n props.addOrUpdateNoteTag({ showModal: true, noteToUpd: nota });\r\n };\r\n\r\n const addNote = (ev) => {\r\n\r\n ev.preventDefault();\r\n\r\n cleanFunction();\r\n\r\n const color = \"seppia\";\r\n\r\n let editedText = document.getElementById(\"textComplete\").innerHTML;\r\n if(document.getElementById(\"noteComplete\")) editedText = editedText.concat(editedText = editedText.concat(document.getElementById(\"noteComplete\").innerHTML));\r\n\r\n if (!editedText.includes(textCompleteToEdit)) return;\r\n\r\n const start = editedText.indexOf(textCompleteToEdit);\r\n\r\n const paragraphNote = {\r\n startPar: start,\r\n endPar: start + textCompleteToEdit.length\r\n };\r\n\r\n const noteToUpd = existNoteForThisParagraph(id, props.notes.data.note);\r\n\r\n if (Object.keys(noteToUpd).length > 0) {\r\n props.addOrUpdateNote({ showModal: true, noteToUpd: { noteToUpd: noteToUpd } });\r\n return;\r\n }\r\n\r\n let idNote = Object.keys(noteToUpd).length === 0 ? uuidv4() : noteToUpd.idNote;\r\n\r\n let colorToInsert = selectColor(color);\r\n let initialSpan = `<span id=\"${id}\" class=\"noted noted--${colorToInsert[0]}\" name=\"buttonEdit\" style=\"white-space: pre-wrap\" />`;\r\n let finalSpan = `${colorToInsert[1]}`;\r\n let forEdit = `<button id=\"${id}\" class=\"icon icon-edit\" name=\"buttonEdit\"></button>`;\r\n\r\n let nota = {\r\n textCompleteToEdit: textCompleteToEdit,\r\n textToEdit: textToEdit,\r\n noteToUpd: {\r\n idNote: idNote,\r\n ...paragraphNote,\r\n startNote: range.start,\r\n endNote: range.end,\r\n startSpan: initialSpan,\r\n endSpan: finalSpan,\r\n color: color,\r\n text: '',\r\n tag: [],\r\n startButton: forEdit,\r\n date: getDateNow(),\r\n titleNote: props.document.titleDoc\r\n }\r\n };\r\n\r\n \r\n \r\n props.addOrUpdateNote({ showModal: true, noteToUpd: nota });\r\n };\r\n\r\n const addColor = (ev) => {\r\n\r\n ev.preventDefault();\r\n\r\n const color = ev.target.getAttribute('value');\r\n\r\n let editedText = document.getElementById(\"textComplete\").innerHTML;\r\n //editedText = editedText.concat(editedText = editedText.concat(document.getElementById(\"noteComplete\").innerHTML));\r\n\r\n if (!editedText.includes(textCompleteToEdit)) return;\r\n\r\n const start = editedText.indexOf(textCompleteToEdit);\r\n\r\n const paragraphNote = {\r\n startPar: start,\r\n endPar: start + textCompleteToEdit.length\r\n };\r\n\r\n let updatedNotes = [];\r\n\r\n //const noteToUpd = {}; \r\n\r\n //per update\r\n const noteToUpd = existNoteForThisParagraph(id, props.notes.data.note);\r\n //editedText = cleanDocument(noteToUpd, editedText, noteToUpd.startNote, noteToUpd.endNote, noteToUpd.spanStart, noteToUpd.spanEnd);\r\n\r\n const objEdit = editDocument(editedText, textToEdit, range, color, noteToUpd, props.document.titleDoc);\r\n\r\n const newNote = {\r\n underlinedText: cleanSpan(objEdit.newDocument, range, noteToUpd),\r\n ...objEdit.note,\r\n ...paragraphNote\r\n }\r\n\r\n updatedNotes = updateNotes(newNote, props.notes);\r\n //updateNota\r\n\r\n props.textWithNote.data.documentText = objEdit.newDocument;\r\n\r\n const documentToUpd = {\r\n ...props.textWithNote\r\n };\r\n\r\n const salvaNota = (data) => {\r\n\r\n const refreshDocument = () => {\r\n cleanFunction();\r\n props.refreshDocument({ prop1: props.document.idProvv, prop2: props.document.id, prop3: props.document.idDocType });\r\n };\r\n\r\n noteAndTag.saveOrUpdateNote(props.notes, updatedNotes, { prop1: props.document.idProvv, prop2: props.document.id, prop3: props.document.idDocType, prop4: props.document.mainTitle, prop5: props.document.titleDoc }, config.nameList.note, refreshDocument);\r\n }\r\n\r\n noteAndTag.updateDocument(documentToUpd, salvaNota);\r\n };\r\n\r\n const deleteNote = (ev) => {\r\n ev.preventDefault();\r\n \r\n cleanFunction();\r\n \r\n if (id === null) return;\r\n\r\n const noteToUpd = existNoteForThisParagraph(id, props.notes.data.note);\r\n\r\n if (Object.keys(noteToUpd).length > 0) {\r\n props.deleteNote({ showModal: true, noteToUpd: { noteToUpd: noteToUpd } });\r\n return;\r\n }\r\n }\r\n\r\n return (\r\n <React.Fragment>\r\n {show &&\r\n <div id=\"dropdownmenu\">\r\n <span className=\"dropdown-menu dropdown-menu--context show\" style={{ top: anchorPoint.y, left: anchorPoint.x, position: 'absolute' }}>\r\n <span className=\"list-inline list-inline--large list-inline--nowrap\">\r\n <span className=\"list-inline-item\">\r\n <a className={`itool itool--small noted--s ${disable ? 'is-disabled' : ''}`} role=\"button\" value=\"seppia\" onClick={addColor}>\r\n <span className=\"icon icon-check\"></span>\r\n </a>\r\n </span>\r\n <span className=\"list-inline-item\">\r\n <a className={`itool itool--small noted--y ${disable ? 'is-disabled' : ''}`} role=\"button\" value=\"yellow\" onClick={addColor}>\r\n <span className=\"icon icon-check\"></span>\r\n </a>\r\n </span>\r\n <span className=\"list-inline-item\">\r\n <a className={`itool itool--small noted--p ${disable ? 'is-disabled' : ''}`} role=\"button\" value=\"pink\" onClick={addColor}>\r\n <span className=\"icon icon-check\"></span>\r\n </a>\r\n </span>\r\n <span className=\"list-inline-item\">\r\n <a className={`itool itool--small noted--v ${disable ? 'is-disabled' : ''}`} role=\"button\" value=\"violet\" onClick={addColor}>\r\n <span className=\"icon icon-check\"></span>\r\n </a>\r\n </span>\r\n </span>\r\n <a className={`licon `} role=\"button\" onClick={copyToClipboard} name=\"buttonEdit\">\r\n Copia testo <span className=\"icon icon-copy\"></span>\r\n </a>\r\n <a className={`licon ${disable ? 'is-disabled' : ''}`} role=\"button\" onClick={addNote} name=\"buttonEdit\">\r\n Aggiungi nota <span className=\"icon icon-note\"></span>\r\n </a>\r\n <a className={`licon ${disable ? 'is-disabled' : ''}`} role=\"button\" onClick={addTag} name=\"buttonEdit\">\r\n Aggiungi tag <span className=\"icon icon-tag\"></span>\r\n </a>\r\n <span className={`dropdown-menu-foot`}>\r\n <a className={`licon ${id === null ? 'is-disabled' : ''}`} role=\"button\" onClick={deleteNote} >\r\n Elimina\r\n <span className=\"icon icon-delete\"></span>\r\n </a>\r\n </span>\r\n </span>\r\n </div>\r\n }\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default ReaderDropdownNote;","import Modal from 'react-bootstrap/Modal';\r\nimport React from \"react\";\r\nimport { useRef } from 'react';\r\nimport { useEffect } from 'react';\r\nimport { cleanSpan, editDocument, existNoteForThisParagraph, updateNotes } from '../../helper/helperFunctionReader';\r\nimport { config } from '../../constants/Constants';\r\nimport useContextMenu from '../../hooks/useContextMenu';\r\nimport useManangeNoteAndTagOnReader from '../../hooks/useManageNoteAndTagOnReader';\r\n\r\nconst AddOrUpdateNote = (props) => {\r\n\r\n const { handleClick, cleanFunction } = useContextMenu();\r\n\r\n const noteAndTag = useManangeNoteAndTagOnReader();\r\n\r\n const textArea = useRef();\r\n\r\n let textCompleteToEdit = props.showAddUpdateNote.noteToUpd.textCompleteToEdit;\r\n let textToEdit = props.showAddUpdateNote.noteToUpd.textToEdit;\r\n\r\n let newRef = props.showAddUpdateNote.noteToUpd?.noteToUpd === undefined ? props.showAddUpdateNote.noteToUpd.text : props.showAddUpdateNote.noteToUpd?.noteToUpd.text;\r\n\r\n\r\n const handleClose = () => {\r\n props.closeModal({ showModal: false, noteToUpd: {} });\r\n };\r\n\r\n const saveNoteHandle = (ev) => {\r\n\r\n ev.preventDefault();\r\n let newNote = props.showAddUpdateNote.noteToUpd.noteToUpd;\r\n\r\n let editedText = document.getElementById(\"textComplete\").innerHTML\r\n \r\n //const noteToUpd = {};\r\n\r\n //per update\r\n const noteToUpd = existNoteForThisParagraph(newNote.idNote, props.notes.data.note);\r\n\r\n let updatedNewNote = {};\r\n let documentToUpd = {};\r\n let updatedNotes = [];\r\n\r\n if (Object.keys(noteToUpd).length > 0) {\r\n noteToUpd.text = textArea.current.value;\r\n updatedNotes = updateNotes(noteToUpd, props.notes);\r\n } else {\r\n let objEdit = editDocument(editedText, textToEdit, { start: newNote.startNote, end: newNote.endNote }, newNote.color, noteToUpd, props.document.titleDoc);\r\n objEdit.note.text = textArea.current.value;\r\n updatedNewNote = {\r\n underlinedText: cleanSpan(objEdit.newDocument, { start: objEdit.note.startNote, end: objEdit.note.endNote }, noteToUpd),\r\n ...objEdit.note,\r\n ...{\r\n startPar: newNote.startPar,\r\n endPar: newNote.endPar\r\n }\r\n };\r\n updatedNotes = updateNotes(updatedNewNote, props.notes);\r\n props.textWithNote.data.documentText = objEdit.newDocument;\r\n\r\n documentToUpd = {\r\n ...props.textWithNote\r\n };\r\n }\r\n\r\n const salvaNota = () => {\r\n\r\n const refreshDocument = () => {\r\n cleanFunction();\r\n //handleClose();\r\n props.refreshDocument({ showModal: false, noteToUpd: {} });\r\n };\r\n\r\n noteAndTag.saveOrUpdateNote(props.notes, updatedNotes, { prop1: props.document.idProvv, prop2: props.document.id, prop3: props.document.idDocType, prop4: props.document.mainTitle, prop5: props.document.titleDoc }, config.nameList.note, refreshDocument);\r\n\r\n };\r\n\r\n if (Object.keys(documentToUpd).length > 0)\r\n noteAndTag.updateDocument(documentToUpd, salvaNota);\r\n else\r\n salvaNota();\r\n\r\n };\r\n\r\n useEffect(() => {\r\n\r\n if (newRef !== undefined)\r\n textArea.current.value = newRef;\r\n\r\n }, [newRef]);\r\n\r\n return (\r\n <React.Fragment>\r\n <Modal show={props.showAddUpdateNote.showModal} onHide={handleClose}>\r\n <div className=\"modal-content\">\r\n <Modal.Header className=\"modal-header\">\r\n <a role=\"button\" className=\"modal-close\" data-dismiss=\"modal\" aria-label=\"Close\" onClick={handleClose}>\r\n <span className=\"icon icon-cross-small\"></span>\r\n </a>\r\n <h3 className=\"modal-title\">{` ${newRef === \"\" ? \"Aggiungi\" : \"Modifica\"} nota`}</h3>\r\n </Modal.Header>\r\n\r\n <Modal.Body className=\"modal-body\">\r\n <textarea className=\"textarea\" ref={textArea}></textarea>\r\n </Modal.Body>\r\n\r\n <div className=\"modal-footer\">\r\n <a className=\"btn btn--txt\" role=\"button\" onClick={handleClose}>Annulla</a>\r\n <a className=\"btn btn--black \" role=\"button\" onClick={saveNoteHandle}>Salva</a>\r\n </div>\r\n </div>\r\n </Modal>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default AddOrUpdateNote;","import React from \"react\";\r\nimport { useEffect } from \"react\";\r\nimport { useRef } from \"react\";\r\nimport { useState } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { config } from \"../../constants/Constants\";\r\nimport { cleanSpan, editDocument, existNoteForThisParagraph, updateNotes } from \"../../helper/helperFunctionReader\";\r\nimport useContextMenu from \"../../hooks/useContextMenu\";\r\nimport useManangeNoteAndTagOnReader from \"../../hooks/useManageNoteAndTagOnReader\";\r\n\r\n\r\nconst AddOrUpdateTags = (props) => {\r\n\r\n const [arrayTags, setArrayTags] = useState([]);\r\n const [arrayTagsNotEdit, setArrayTagsNoteEdit] = useState([]);\r\n const [inputTag, setInputTag] = useState('');\r\n const [notSaveDisabled, setNotSaveDisabled] = useState(false);\r\n const [arrayTagMostUsed, setArrayTagMostUsed] = useState(props.tagMostUsed);\r\n const [showCreateTag, setShowCreateTag] = useState(false);\r\n\r\n const newTag = useRef(null);\r\n const { cleanFunction, handleClick, id } = useContextMenu();\r\n const noteAndTag = useManangeNoteAndTagOnReader();\r\n\r\n let textCompleteToEdit = props.showAddUpdateTagNote.noteToUpd.textCompleteToEdit;\r\n let textToEdit = props.showAddUpdateTagNote.noteToUpd.textToEdit;\r\n\r\n handleClick();\r\n\r\n const handleClose = () => {\r\n props.closeModal({ showModal: false, noteToUpd: {} });\r\n };\r\n\r\n const deleteTag = (ev) => {\r\n\r\n ev.preventDefault();\r\n\r\n let tagToDelete = ev.currentTarget.dataset.value;\r\n\r\n let index = arrayTags.indexOf(tagToDelete);\r\n\r\n let newArrayTag = arrayTags;\r\n newArrayTag.splice(index, 1);\r\n\r\n setArrayTags([...newArrayTag]);\r\n }\r\n\r\n const addTag = (ev) => {\r\n\r\n ev.preventDefault();\r\n\r\n let tagToAdd = ev.currentTarget.dataset.value;\r\n\r\n if (tagToAdd === undefined) {\r\n tagToAdd = newTag.current.value;\r\n newTag.current.value = \"\";\r\n setInputTag(\"\");\r\n setShowCreateTag(newTag.current.value !== \"\");\r\n }\r\n\r\n setArrayTags(prev => [...prev, tagToAdd]);\r\n setArrayTagMostUsed(props.tagMostUsed);\r\n }\r\n\r\n const addNewTagFromInput = () => {\r\n setInputTag(newTag.current.value);\r\n\r\n const result = props.tagMostUsed.filter(tag => tag.toLowerCase().includes(newTag.current.value.toLowerCase()))\r\n setArrayTagMostUsed(result);\r\n setShowCreateTag(newTag.current.value !== \"\");\r\n }\r\n\r\n const saveTagHandler = (ev) => {\r\n\r\n ev.preventDefault();\r\n\r\n let newNote = props.showAddUpdateTagNote.noteToUpd.noteToUpd;\r\n\r\n let editedText = document.getElementById(\"textComplete\").innerHTML;\r\n\r\n //per update\r\n const noteToUpd = existNoteForThisParagraph(newNote.idNote, props.notes.data.note);\r\n\r\n let updatedNewNote = {};\r\n let documentToUpd = {};\r\n let updatedNotes = [];\r\n\r\n if (Object.keys(noteToUpd).length > 0) {\r\n noteToUpd.tag = arrayTags;\r\n updatedNotes = updateNotes(noteToUpd, props.notes);\r\n } else {\r\n let objEdit = editDocument(editedText, textToEdit, { start: newNote.startNote, end: newNote.endNote }, newNote.color, noteToUpd, props.document.titleDoc);\r\n objEdit.note.tag = arrayTags;\r\n updatedNewNote = {\r\n underlinedText: cleanSpan(objEdit.newDocument, { start: objEdit.note.startNote, end: objEdit.note.endNote },noteToUpd),\r\n ...objEdit.note,\r\n ...{\r\n startPar: newNote.startPar,\r\n endPar: newNote.endPar\r\n }\r\n };\r\n updatedNotes = updateNotes(updatedNewNote, props.notes);\r\n props.textWithNote.data.documentText = objEdit.newDocument;\r\n\r\n documentToUpd = {\r\n ...props.textWithNote\r\n };\r\n }\r\n\r\n const salvaNota = () => {\r\n\r\n const refreshDocument = () => {\r\n cleanFunction();\r\n //handleClose();\r\n props.refreshDocument({ showModal: false, noteToUpd: {} });\r\n };\r\n\r\n noteAndTag.saveOrUpdateNote(props.notes, updatedNotes, { prop1: props.document.idProvv, prop2: props.document.id, prop3: props.document.idDocType, prop4: props.document.mainTitle, prop5: props.document.titleDoc }, config.nameList.note, refreshDocument);\r\n\r\n };\r\n\r\n if (Object.keys(documentToUpd).length > 0)\r\n noteAndTag.updateDocument(documentToUpd, salvaNota);\r\n else\r\n salvaNota();\r\n\r\n }\r\n\r\n\r\n useEffect(() => {\r\n\r\n if (arrayTagsNotEdit.length !== arrayTags.length) {\r\n\r\n setNotSaveDisabled(true);\r\n return;\r\n }\r\n \r\n let setDisabled = false;\r\n arrayTags.forEach(tag => {\r\n \r\n if (arrayTagsNotEdit.indexOf(tag) === -1) {\r\n setNotSaveDisabled(true);\r\n setDisabled= true;\r\n return;\r\n }\r\n });\r\n \r\n if(!setDisabled)\r\n setNotSaveDisabled(false);\r\n\r\n }, [arrayTags]);\r\n\r\n useEffect(() => {\r\n\r\n let idNote = props.showAddUpdateTagNote.noteToUpd.noteToUpd.idNote;\r\n if (idNote === null) return;\r\n\r\n const indexNote = props.notes.data.note.map(val => val.idNote).indexOf(idNote);\r\n\r\n if(indexNote === -1) return;\r\n\r\n setArrayTagsNoteEdit([...props.notes.data.note[indexNote].tag]);\r\n setArrayTags([...props.notes.data.note[indexNote].tag]);\r\n\r\n }, [id])\r\n\r\n return (\r\n <React.Fragment>\r\n <Modal show={props.showAddUpdateTagNote.showModal} onHide={handleClose}>\r\n <div className=\"modal-content\">\r\n <a role=\"button\" className=\"modal-close\" data-dismiss=\"modal\" aria-label=\"Close\" onClick={handleClose}>\r\n <span className=\"icon icon-cross-small\"></span>\r\n </a>\r\n\r\n <Modal.Header className=\"modal-header\">\r\n <h3 className=\"modal-title\">Aggiungi Tag</h3>\r\n </Modal.Header>\r\n\r\n <Modal.Body className=\"modal-body\">\r\n <input className=\"input\" type=\"text\" placeholder=\"Aggiungi tag\" ref={newTag} onChange={addNewTagFromInput} maxLength={60} />\r\n\r\n {showCreateTag &&\r\n <div className=\"tag-btn\" onClick={addTag}>\r\n <a className=\"btn btn--round btn--icon-left\" role=\"button\">\r\n Crea <strong>{inputTag}</strong> <span className=\"icon icon-plus\"></span>\r\n </a>\r\n </div>\r\n }\r\n\r\n {!showCreateTag &&\r\n <ul className=\"list-inline tag-list-current\">\r\n {arrayTags.map((tag) => (\r\n <li className=\"list-inline-item\" key={Math.random()}>\r\n <span className=\"tag tag--del\">\r\n {tag}\r\n <a className=\"tag-del\" role=\"button\" data-value={tag} onClick={deleteTag} >\r\n <span className=\"icon icon-cross-small\"></span>\r\n </a>\r\n </span>\r\n </li>\r\n ))}\r\n </ul>\r\n }\r\n\r\n <ul className=\"list tag-list-search\">\r\n {arrayTagMostUsed.map(tag => (\r\n <li className=\"list-item\" key={Math.random()}>\r\n <a className=\"search-opt \" role=\"button\" data-value={tag} onClick={addTag}>\r\n {tag}\r\n </a>\r\n </li>\r\n ))}\r\n </ul>\r\n\r\n </Modal.Body>\r\n\r\n <div className=\"modal-footer\">\r\n <a className=\"btn btn--txt\" role=\"button\" onClick={handleClose}>Annulla</a>\r\n <a className={`btn btn--black ${notSaveDisabled ? \"\" : \"disabled\"}`} role=\"button\" onClick={saveTagHandler}>Salva</a>\r\n </div>\r\n </div>\r\n </Modal>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default AddOrUpdateTags;","import React from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { config } from \"../../constants/Constants\";\r\nimport useContextMenu from \"../../hooks/useContextMenu\";\r\nimport useManangeNoteAndTagOnReader from \"../../hooks/useManageNoteAndTagOnReader\";\r\n\r\nconst ConfirmResp = (props) => {\r\n\r\n const { cleanFunction } = useContextMenu();\r\n\r\n const noteAndTag = useManangeNoteAndTagOnReader();\r\n\r\n const handleClose = () => {\r\n props.closeModal({ showModal: false, noteToUpd: {} });\r\n };\r\n\r\n const deleteNote = (ev) => {\r\n\r\n ev.preventDefault();\r\n\r\n let notaToDelete = props.showDeleteNote.noteToUpd.noteToUpd;\r\n\r\n let spanToReplace = \"\";\r\n let buttonToReplace = \"\";\r\n let newArrayNote = [];\r\n props.notes.data.note.forEach((element) => {\r\n if (element.idNote === notaToDelete.idNote) {\r\n spanToReplace = element.startSpan;\r\n buttonToReplace = element.startButton;\r\n return;\r\n }\r\n newArrayNote.push(element);\r\n });\r\n\r\n let textWithNote = props.textWithNote; \r\n let documentText = textWithNote.data.documentText;\r\n documentText = documentText.replace(spanToReplace, '<span style=\"white-space: pre-wrap\">');\r\n documentText = documentText.replace(buttonToReplace, '');\r\n textWithNote.data.documentText = documentText;\r\n\r\n const finishUpdateDocument = () => {\r\n\r\n const refreshNote = () => {\r\n cleanFunction();\r\n //handleClose();\r\n props.refreshDocument({ showModal: false, noteToUpd: {} });\r\n };\r\n\r\n if (newArrayNote.length === 0) {\r\n noteAndTag.setDelete({ prop1: props.notes._id.$oid }, refreshNote);\r\n } else {\r\n props.notes.data.note = newArrayNote;\r\n noteAndTag.updateNotes(props.notes, config.nameList.note, refreshNote);\r\n }\r\n }\r\n\r\n if (newArrayNote.length === 0) {\r\n noteAndTag.setDelete({ prop1: textWithNote._id.$oid }, finishUpdateDocument);\r\n } else {\r\n noteAndTag.updateDocument(textWithNote, finishUpdateDocument);\r\n }\r\n }\r\n\r\n return (\r\n <React.Fragment>\r\n <Modal show={props.showDeleteNote.showModal} onHide={handleClose}>\r\n <div className=\"modal-content\">\r\n <a role=\"button\" className=\"modal-close\" data-dismiss=\"modal\" aria-label=\"Close\" onClick={handleClose}>\r\n <span className=\"icon icon-cross-small\"></span>\r\n </a>\r\n\r\n <Modal.Header className=\"modal-header\">\r\n <h3 className=\"modal-title\">{props.title}</h3>\r\n </Modal.Header>\r\n\r\n <Modal.Body className=\"modal-body\">\r\n <p className=\"modal-txt\">\r\n {props.message}\r\n </p>\r\n </Modal.Body>\r\n\r\n <Modal.Footer className=\"modal-footer\">\r\n <a className=\"btn btn--txt\" role=\"button\" onClick={handleClose}>Annulla</a>\r\n <a className=\"btn btn--black \" role=\"button\" onClick={deleteNote}>Elimina</a>\r\n </Modal.Footer>\r\n </div>\r\n </Modal>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default ConfirmResp;","import React from \"react\";\r\nimport { scrollTo } from \"../../../helper/helper\";\r\nimport ScrollUpButton from \"../../UI/ScrollUpButton/ScrollUpButton\";\r\nimport ReaderToolsBookmarks from './ReaderToolsBookmarks';\r\nimport ReaderToolsTextSize from './ReaderToolsTextSize';\r\nimport ReaderToolsPrint from \"./ReaderToolsPrint\";\r\n\r\nconst ReaderToolsMobile = (props) => {\r\n\r\n \r\n const settingZoom = (cssClass) => {\r\n props.settingZoom(cssClass);\r\n };\r\n\r\n const handleSaved = (data) => {\r\n props.handleSaved(data);\r\n }\r\n\r\n return (\r\n <div className=\"reader-tool d-md-none\">\r\n <ul className=\"list-inline list-inline-mid\">\r\n <ReaderToolsBookmarks handleSaved={handleSaved} idProv={props.idProv} idDoc={props.idDoc} class=\"list-inline-item\"></ReaderToolsBookmarks>\r\n <ReaderToolsTextSize settingZoom={settingZoom} class=\"list-inline-item\"></ReaderToolsTextSize>\r\n <ReaderToolsPrint></ReaderToolsPrint>\r\n </ul>\r\n <ScrollUpButton />\r\n\r\n </div>\r\n\r\n\r\n );\r\n}\r\n\r\nexport default ReaderToolsMobile;","import React from \"react\";\r\nimport WebViewer from '@pdftron/pdfjs-express-viewer';\r\nimport { useRef } from \"react\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { config } from \"../../constants/Constants\";\r\n\r\nconst ViewerPdfExpress = (props) => {\r\n\r\n const headerReader = document.querySelector('.mhead.mhead--sticky.mhead--reader');\r\n headerReader.classList.add('mb-0');\r\n const instance = useRef();\r\n const viewer = useRef(null);\r\n\r\n const base64string = `data:application/pdf;base64,${props.pdfDoc}`\r\n\r\n function base64ToBlob(base64) {\r\n const binaryString = window.atob(base64);\r\n const len = binaryString.length;\r\n const bytes = new Uint8Array(len);\r\n for (let i = 0; i < len; ++i) {\r\n bytes[i] = binaryString.charCodeAt(i);\r\n }\r\n\r\n return new Blob([bytes], { type: 'application/pdf' });\r\n };\r\n\r\n useEffect(() => {\r\n if (instance.current) {\r\n instance.current.loadDocument(base64ToBlob(props.pdfDoc))\r\n }\r\n }, [props.pdfDoc])\r\n\r\n\r\n useEffect(() => {\r\n if (!props.pdfDoc) return;\r\n WebViewer({\r\n path: '/webviewer/lib',\r\n licenseKey: config.licenseKeyPdfExpress,\r\n css: '../../index.css',\r\n disabledElements: [\r\n 'contextMenuPopup',\r\n 'selectToolButton',\r\n 'marqueeToolButton',\r\n 'panToolButton',\r\n 'themeChangeButton'\r\n ]\r\n }, viewer.current).then(instance => {\r\n const { Core, UI } = instance;\r\n instance.UI.loadDocument(base64ToBlob(props.pdfDoc), { filename: 'myfile.pdf' });\r\n const Feature = instance.UI.Feature;\r\n const LayoutMode = instance.UI.LayoutMode;\r\n const iframeDoc = instance.UI.iframeWindow.document;\r\n instance.UI.setLanguage('it');\r\n instance.UI.disableFeatures([instance.UI.Feature.Annotations])\r\n //instance.UI.disableFeatures([Feature.Print]);\r\n instance.UI.disableFeatures([Feature.Download]);\r\n instance.UI.disableFeatures([Feature.PageNavigation]);\r\n instance.UI.disableFeatures([Feature.Theme]);\r\n instance.UI.setLayoutMode(LayoutMode.Continuous);\r\n instance.UI.setMinZoomLevel('25%');\r\n instance.UI.setZoomLevel('100%');\r\n instance.UI.setMaxZoomLevel('200%');\r\n instance.UI.disableReplyForAnnotations();\r\n instance.UI.disableFadePageNavigationComponent();\r\n instance.UI.setPrintQuality(2);\r\n instance.disableElements(['documentControl']);\r\n\r\n\r\n var currentPageNumber = 1;\r\n instance.updateElement('printButton', {\r\n onClick: () => {\r\n //calcolo per trovare la pagina visualizzata per mandare in stampa solo questa e quella successiva\r\n const totalPages = instance.Core.documentViewer.getPageCount();\r\n // console.log(\"tot: \" + totalPages);\r\n const nextPageNumber = currentPageNumber < totalPages ? currentPageNumber + 1 : null;\r\n\r\n printCurrentAndNextPage();\r\n }\r\n });\r\n\r\n function printCurrentAndNextPage() {\r\n //SM24-14311 - stampare solo la pagina in consultazione e quella successiva\r\n\r\n const document = instance.Core.documentViewer.getDocument();\r\n const totalPages = instance.Core.documentViewer.getPageCount();\r\n\r\n //controllo se c'� una pagina successiva\r\n const nextPageNumber = currentPageNumber < totalPages ? currentPageNumber + 1 : null;\r\n\r\n // const pagesToPrint = nextPageNumber ? [currentPageNumber, nextPageNumber] : [currentPageNumber];\r\n const pagesToPrint = [currentPageNumber];\r\n\r\n if (nextPageNumber) {\r\n pagesToPrint.push(nextPageNumber);\r\n }\r\n\r\n //stampa solo la pagina corrente e quella successiva\r\n instance.UI.printInBackground({\r\n pagesToPrint: pagesToPrint, // Passa solo pagine valide\r\n includeComments: false,\r\n includeAnnotations: false,\r\n maintainPageOrientation: true,\r\n fitToPage: false,\r\n onProgress: function (pageNumber, htmlElement) {\r\n //durante la stampa\r\n },\r\n });\r\n };\r\n\r\n // eventlistner per aggiornare il numero della pagina corrente quando cambia la visualizzazione per poter intercettarla per la stampa\r\n instance.Core.documentViewer.addEventListener('pageNumberUpdated', (pageNumber) => {\r\n currentPageNumber = pageNumber;\r\n });\r\n\r\n /* Styles the viewer */\r\n const header = iframeDoc.querySelector('.Header');\r\n header.style.cssText = 'background-color: #fff8f0;';\r\n\r\n const icons = iframeDoc.querySelectorAll('.Icon');\r\n icons.forEach(icon => {\r\n icon.style.cssText = 'color: #3d3d3d;';\r\n });\r\n\r\n const dividers = iframeDoc.querySelectorAll('.divider');\r\n dividers.forEach(divider => {\r\n divider.style.cssText = 'background-color: #efcca9;';\r\n });\r\n\r\n\r\n const docContainer = iframeDoc.querySelector('.DocumentContainer');\r\n docContainer.style.cssText = 'background-color: rgb(61, 61, 61); padding-top: 30px; padding-bottom:30px';\r\n\r\n const zoomOverlayButton = iframeDoc.querySelector('div.CustomElement[data-element=zoomOverlayButton]');\r\n zoomOverlayButton.style.cssText = 'background: transparent;';\r\n\r\n const zoomOverlay = iframeDoc.querySelector('div.CustomElement[data-element=zoomOverlayButton] div.zoom-overlay');\r\n zoomOverlay.style.cssText = 'background: #fff; border: 1px solid #efcca9;';\r\n /* end styles */\r\n\r\n // adding an event listener for when a document is loaded\r\n Core.documentViewer.addEventListener('documentLoaded', () => {\r\n // instance.UI.disableElements([ 'searchButton','menuButton','leftPanelButton','viewControlsButton','panToolButton','selectToolButton' ]);\r\n console.log('document loaded');\r\n });\r\n\r\n });\r\n }, [props.pdfDoc]);\r\n\r\n\r\n return (\r\n <React.Fragment>\r\n <div className=\"pdfreader-main h-80vh\">\r\n <div className=\"pdfreader-content h-80vh\" ref={viewer}></div>\r\n </div>\r\n </React.Fragment>\r\n )\r\n}\r\n\r\nexport default ViewerPdfExpress;","import React, { useContext, useEffect, useRef, useState } from 'react';\r\nimport { useParams } from 'react-router-dom';\r\nimport Footer from \"../components/Footer/Footer\";\r\nimport Ricerca from '../components/Header/Ricerca/Ricerca';\r\nimport HeaderReader from '../components/HeaderReader/HeaderReader';\r\nimport Wrapper from '../components/Helper/Wrapper/Wrapper';\r\nimport ReaderFoot from '../components/ReaderFoot/ReaderFoot';\r\nimport ReaderHead from '../components/ReaderHead/ReaderHead';\r\nimport ReaderHeadGoTo from '../components/ReaderHead/ReaderHeadGoTo';\r\nimport ReaderHeadSwitchDocPerApprofondire from '../components/ReaderHead/ReaderHeadSwitchDocPerApprofondire';\r\nimport ReaderMeta from '../components/ReaderHead/ReaderMeta';\r\nimport ReaderTitle from '../components/ReaderHead/ReaderTitle';\r\nimport ReaderContentContainer from '../components/ReaderMain/ReaderContentContainer';\r\nimport ReaderMain from '../components/ReaderMain/ReaderMain';\r\nimport RenderParagraphs from '../components/ReaderMain/RenderParagraphs';\r\nimport ReaderMainContainer from '../components/ReaderMain/ReaderMainContainer';\r\nimport ReaderTools from '../components/ReaderMain/ReaderTools/ReaderTools';\r\nimport ReaderBoxTop from '../components/ReaderMain/ReaderBoxes/ReaderBoxTop';\r\nimport { config } from '../constants/Constants';\r\nimport { bodyFormattedProvvedimenti, bodyFormattedGetTipoView, bodyFormattedReader, castArrayForFELittleSumm, chooseBody, chooseDocument, chooseURL, FormattedDocumentForFE, viewContent } from '../helper/helperFunctionReader';\r\nimport { bodyFormattedRelDoc, bodyFormattedRefDoc } from '../helper/helperFunctionGetDocument';\r\nimport useHttpRequest from '../hooks/http-request';\r\nimport TokenContext from '../store/token-context';\r\nimport ReaderBlockMask from '../components/ReaderMain/ReaderBlockMask/ReaderBlockMask';\r\nimport AuthContext from '../store/auth-context';\r\nimport LoginModal from '../components/Modals/Login';\r\nimport Toast from '../components/UI/Toast/toast';\r\nimport useSaveAndDeleteReadingBook from '../hooks/saveAndDeleteReadingBook';\r\nimport { useReactToPrint } from 'react-to-print';\r\nimport isLoadingContext from '../store/isLoadingcontext';\r\nimport Spinner from '../components/UI/Spinner/Spinner';\r\nimport ReaderDropdownNote from '../components/ReaderMain/ReaderDropdownNote';\r\nimport useManangeNoteAndTagOnReader from '../hooks/useManageNoteAndTagOnReader';\r\nimport AddOrUpdateNote from '../components/Modals/AddOrUpdateNote';\r\nimport AddOrUpdateTags from '../components/Modals/AddOrUpdateTags';\r\nimport ConfirmResp from '../components/Modals/ConfirmResp';\r\nimport useManageBodyClasses from '../hooks/useManageBodyClasses';\r\nimport useGetAndManageBookMarksAndNotes from '../hooks/getAndManageBookmarksAndNotes';\r\nimport ReaderToolsMobile from '../components/ReaderMain/ReaderTools/ReaderToolsMobile';\r\nimport ManageProductListsContext from '../store/manage-products-list-context';\r\nimport ViewerPdfExpress from '../components/ViewerPdf/ViewerPdfExpress';\r\nimport MessageManageSiac from '../components/Modals/MessageManageSiac';\r\nimport { updateView } from '../helper/TealiumHelper';\r\nimport { titleUrlSlugForTealium, getCookie } from '../helper/helper';\r\nimport SessioneScaduta from \"../components/Modals/SessioneScaduta\";\r\nimport SchedaPerApprofondire from './SchedaPerApprofondire';\r\nimport ReaderBoxesBottom from '../components/ReaderMain/ReaderBoxes/ReaderBoxesBottom';\r\nimport ReaderLine from '../components/UI/ReaderLine/ReaderLine';\r\nconst Reader = (props) => {\r\n\r\n const { id } = useParams();\r\n\r\n \r\n const [tipoDocument, setTipoDocument] = useState(null);\r\n const [zoomText, setZoomText] = useState(\"\");\r\n const [updatedList, setUpdateList] = useState(\"all\");\r\n const [bookmarks, setBookmarks] = useState(null);\r\n const [refreshBookmarks, setRefreshBookmarks] = useState(false);\r\n const [littleSumm, setLittleSumm] = useState([]);\r\n const [documentReturns, setDocumentReturns] = useState({});\r\n const [buyedOrFreeContent, setBuyedOrFreeContent] = useState(true);\r\n const [pdfDoc, setPdfDoc] = useState(null);\r\n const [nextChap, setNextChap] = useState({});\r\n const [prevChap, setPrevChap] = useState({});\r\n const [notes, setNotes] = useState({ data: { note: [] } });\r\n const [notesForMenu, setNotesForMenu] = useState([]);\r\n const [textWithNote, setTextWithNote] = useState(null);\r\n const [getTipo, setGetTipo] = useState({});\r\n const [showAddUpdateNote, setShowAddUpdateNote] = useState(false);\r\n const [showAddUpdateTagNote, setShowAddUpdateTagNote] = useState(false);\r\n const [showDeleteNote, setShowDeleteNote] = useState(false);\r\n const [tagMostUsed, setTagMostUsed] = useState([]);\r\n const [rerender, setRerender] = useState(0);\r\n const [rightToastIn, setRightToastIn] = useState({ message: \"\", classHeader: \"\", iconBody: \"\" });\r\n const [normaCommentata, setNormaCommentata] = useState({});\r\n\r\n const token = getCookie(\"plus_token_forDomain\");\r\n const tokenCtx = useContext(TokenContext);\r\n const authCtx = useContext(AuthContext);\r\n const isLoadingCtx = useContext(isLoadingContext);\r\n const productListsCtx = useContext(ManageProductListsContext);\r\n const sendRqst = useHttpRequest();\r\n const saveDeleteB = useSaveAndDeleteReadingBook();\r\n const noteAndTag = useManangeNoteAndTagOnReader();\r\n const getBooksAndNotes = useGetAndManageBookMarksAndNotes();\r\n const [showSessione, setShowSessione] = useState(false);\r\n const [showModal, setShowModal] = useState(true);\r\n const { isBookIntegrate } = useParams();\r\n const [listNormaCommentata, setListNormaCommentata] = useState([]);\r\n const [listCorrelati, setListCorrelati] = useState([]);\r\n const [listDocReferences, setDocReferences] = useState([]);\r\n const [listDisIntegrative, setListDisIntegrative] = useState([]);\r\n const [listRiferimenti, setRiferimenti] = useState([]);\r\n\r\n useEffect(() => {\r\n //tokenCtx.loadProductFromToken(token);\r\n \r\n getRiferimenti(id);\r\n }, [id, listDocReferences]);\r\n \r\n const getRiferimenti = (idDocument) => {\r\n \r\n const riferimenti = (data) => {\r\n \r\n let riferimenti = null;\r\n if (data.Result.ResultSet !== null)\r\n riferimenti = data.Result.referencesFamiglia;\r\n \r\n setRiferimenti(riferimenti);\r\n }\r\n \r\n const bodyFormatted = bodyFormattedRefDoc(idDocument, listDocReferences, token);\r\n \r\n \r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getCountReferences,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json-patch+json',\r\n 'accept': \"*/*\",\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache,\r\n \r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n \r\n sendRqst.sendRequest(request, riferimenti);\r\n };\r\n useEffect(() => {\r\n //tokenCtx.loadProductFromToken(token);\r\n \r\n getDispIntegrative(id);\r\n }, [id]);\r\n \r\n const getDispIntegrative = (idDocument) => {\r\n \r\n const dispIntegrative = (data) => {\r\n\r\n let dispIntegrative = null;\r\n if (data.Result.ResultSet !== null)\r\n dispIntegrative = data.Result.Documents;\r\n \r\n setListDisIntegrative(dispIntegrative);\r\n }\r\n const row = \"2\";\r\n \r\n const bodyFormatted = bodyFormattedRelDoc(idDocument, row, token);\r\n \r\n \r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getDisposizioni,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json-patch+json',\r\n 'accept': \"*/*\",\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache,\r\n \r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n \r\n sendRqst.sendRequest(request, dispIntegrative);\r\n };\r\n\r\n useEffect(() => {\r\n //tokenCtx.loadProductFromToken(token);\r\n\r\n getCorrelati(id);\r\n }, [id]);\r\n\r\n const getCorrelati = (idDocument) => {\r\n\r\n const correlatiEvidenza = (data) => {\r\n\r\n let correlatiEvidenza = null;\r\n if (data.Result.ResultSet !== null)\r\n correlatiEvidenza = data.Result.Documents;\r\n\r\n setListCorrelati(correlatiEvidenza);\r\n\r\n let docReferences = [];\r\n\r\n correlatiEvidenza.forEach(element => {\r\n docReferences.push(element.idDocumento)\r\n });\r\n setDocReferences(docReferences)\r\n }\r\n const row = \"2\";\r\n\r\n const bodyFormatted = bodyFormattedRelDoc(idDocument, row, token);\r\n\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getRelatedDocuments,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json-patch+json',\r\n 'accept': \"*/*\",\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache,\r\n\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, correlatiEvidenza);\r\n };\r\n\r\n useEffect(() => {\r\n getNormaCommentata(id);\r\n }, [id, tokenCtx.allProvvedimenti]);\r\n\r\n const getNormaCommentata = (idDocument) => {\r\n tokenCtx.loadProductFromToken(token);\r\n const normaCommentata = (data) => {\r\n\r\n let normaCommentata = null;\r\n if (data.Result.ResultSet !== null)\r\n normaCommentata = data.Result.ResultSet.Root;\r\n\r\n setListNormaCommentata(normaCommentata);\r\n }\r\n\r\n const provv = tokenCtx.allProvvedimenti;\r\n\r\n const bodyFormatted = bodyFormattedProvvedimenti(idDocument, provv, config.nameList.getNormaCommentata, token);\r\n\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, normaCommentata);\r\n };\r\n useEffect(() => {\r\n if (!isBookIntegrate) return;\r\n sessionStorage.setItem(\"isBookIntegrate\", isBookIntegrate)\r\n //SETIsIntegrateInBD(true);\r\n }, [isBookIntegrate]);\r\n useEffect(() => {\r\n setShowSessione(localStorage.getItem(\"showModalSessione\") ? true : false);\r\n });\r\n useEffect(() => {\r\n\r\n /*if (localStorage.getItem(\"token\") !== null || localStorage.getItem(\"token\") !== undefined && (!authCtx.isLoggedIn && tokenCtx.token !== undefined && tokenCtx.token !== null)) {\r\n return;\r\n }*/\r\n\r\n isLoadingCtx.setIfIsLoading(true);\r\n let loadProduct = setTimeout(() => {\r\n\r\n if (authCtx.isLoggedIn && tokenCtx.token !== undefined && tokenCtx.token !== null) {\r\n productListsCtx.getFindByQueryGiaLetto(config.nameList.giaLetti);\r\n }\r\n\r\n const tipoDocument = (data) => {\r\n\r\n let typeDocument = null;\r\n\r\n\r\n if (data.Result.ResultSet.Root === null) {\r\n setTipoDocument(typeDocument);\r\n return;\r\n }\r\n const getTipoV = data.Result.ResultSet.Root[0];\r\n typeDocument = chooseDocument(getTipoV.tipo);\r\n\r\n setTipoDocument(typeDocument);\r\n setGetTipo(getTipoV);\r\n const showPremiumContent = viewContent(getTipoV, tokenCtx);\r\n setBuyedOrFreeContent(showPremiumContent);\r\n loadDocument(typeDocument, getTipoV.pdfurl, showPremiumContent, getTipoV.comprato, getTipoV);\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormattedGetTipoView(config.nameList.tipoDocument, id, tokenCtx)),\r\n method: \"POST\"\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, tipoDocument);\r\n }, 200);\r\n\r\n return () => {\r\n clearTimeout(loadProduct);\r\n };\r\n\r\n }, [id, rerender, tokenCtx.token, authCtx.isLoggedIn]);\r\n\r\n const loadDocument = (typeDocument, pdfUrl, showPremiumContent, isComprato, getTipoV) => {\r\n\r\n const setDocumentJson = (data) => {\r\n\r\n let document = {};\r\n\r\n if (typeDocument !== 'Sistema Frizzera') {\r\n testataHtml(data.Result.DocumentId, data.Result, typeDocument, showPremiumContent, pdfUrl, getTipoV);\r\n //isLoadingCtx.setIfIsLoading(false, 0);\r\n return;\r\n }\r\n\r\n document = data.Result;\r\n\r\n const res = FormattedDocumentForFE(document, typeDocument, showPremiumContent);\r\n if (getTipoV.free === \"1\") {\r\n updateView(`book24ore:reader:${titleUrlSlugForTealium(res.mainTitle)}:anteprima`, authCtx, tokenCtx, `book24ore:reader-anteprima`);\r\n }\r\n else if (getTipoV.comprato === \"1\" && tokenCtx.token !== null) {\r\n updateView(`book24ore:reader:${titleUrlSlugForTealium(res.mainTitle)}:paid`, authCtx, tokenCtx, `book24ore:reader-paid`);\r\n }\r\n setDocumentReturns(res);\r\n if (authCtx.isLoggedIn && tokenCtx.token !== null && tokenCtx.token !== undefined) {\r\n saveDeleteB.setSaveBook(config.nameList.leggendo, { prop1: parseInt(res.idProvv), prop2: parseInt(res.idDocType), prop3: parseInt(res.id) }, showPremiumContent);\r\n }\r\n\r\n loadLittleSumm();\r\n if (typeDocument === 'Sistema Frizzera') {\r\n var pacchetti = \"4553\";\r\n settingNormaCommentataConfig(data.Result.DocumentId, pacchetti);\r\n }\r\n };\r\n\r\n if (typeDocument === 'pdf' && pdfUrl !== null) {\r\n setPdfDoc(pdfUrl);\r\n }\r\n\r\n const bodyFormatted = chooseBody(typeDocument, id, tokenCtx.token, isComprato, pdfUrl);\r\n\r\n if (bodyFormatted === null)\r\n return;\r\n\r\n const url = chooseURL(typeDocument);\r\n\r\n const request = {\r\n url: url,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: \"POST\"\r\n }\r\n }\r\n\r\n sendRqst.sendRequest(request, setDocumentJson);\r\n };\r\n\r\n const settingNormaCommentataConfig = (id, pacchetti) => {\r\n\r\n const settingNormaCommentata = (data) => {\r\n\r\n let normaCommentata = null;\r\n\r\n if (data.Result.ResultSet !== null)\r\n normaCommentata = data.Result.ResultSet.Root[0];\r\n\r\n setNormaCommentata(normaCommentata);\r\n };\r\n\r\n const bodyFormatted = {\r\n \"parameters\": {\r\n \"name\": config.serviceDocumenti.normaCommentata,\r\n \"inputParameters\": [{\r\n \"name\": \"iddocumento\",\r\n \"type\": \"Int\",\r\n \"value\": id\r\n }, {\r\n \"name\": \"idpacchetti\",\r\n \"type\": \"VarChar\",\r\n \"value\": pacchetti\r\n }],\r\n \"staticToken\": authCtx.isLoggedIn ? \"\" : config.token.STATIC_TOKEN\r\n },\r\n \"token\": authCtx.isLoggedIn ? tokenCtx.token : \"\"\r\n };\r\n\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: \"POST\"\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, settingNormaCommentata);\r\n };\r\n\r\n const loadLittleSumm = () => {\r\n\r\n const setLittleSummJson = (data) => {\r\n\r\n if (data.Result.ResultSet === null) {\r\n setLittleSumm([]);\r\n return;\r\n }\r\n\r\n const objJson = castArrayForFELittleSumm(data.Result.ResultSet.Root);\r\n\r\n setLittleSumm(objJson.summ);\r\n setPrevChap(objJson.prevChap);\r\n setNextChap(objJson.nextChap);\r\n\r\n saveIsLastChapter(objJson.nextChap);\r\n\r\n\r\n }\r\n\r\n const bodyFormatted = bodyFormattedReader(id, config.nameList.getLittleSumm, tokenCtx);\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, setLittleSummJson);\r\n };\r\n\r\n const saveFinishedToRead = () => {\r\n\r\n const finishToSave = (data) => {\r\n productListsCtx.getFindByQueryGiaLetto(config.nameList.giaLetti);\r\n }\r\n\r\n const bodyFormatted = {\r\n data: {\r\n iddocumento: documentReturns.id,\r\n idprovvedimento: documentReturns.idProvv,\r\n iddoctype: documentReturns.idDocType\r\n },\r\n type: config.nameList.giaLetti,\r\n token: tokenCtx.token\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.save,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json-patch+json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, finishToSave);\r\n }\r\n\r\n const testataHtml = (id, dataRes, typeDocument, showPremiumContent, pdfUrl, getTipoV) => {\r\n\r\n const setTestataDocumentHtml = (data) => {\r\n\r\n let document = data.Result.ResultSet;\r\n if (document === null) {\r\n isLoadingCtx.setIfIsLoading(false, 0);\r\n return;\r\n }\r\n document = document.Root[0];\r\n\r\n document = {\r\n Section: document.sezione,\r\n ChapterTitle: document.titolo,\r\n Date: document.data,\r\n page: document.pagina,\r\n Author: document.autore,\r\n TaxType: document.titolo,\r\n Immagine: document.immagine,\r\n MainTitle: document.sezione\r\n };\r\n\r\n document = { ...document, ...dataRes };\r\n\r\n const settingsFinalResult = (data) => {\r\n\r\n let documentText = '';\r\n\r\n if (data !== null && data.Result.Documents !== undefined) {\r\n documentText = data.Result.Documents[0].data.documentText;\r\n setTextWithNote(data.Result.Documents[0]);\r\n } else if (data !== null && data.Result.data !== undefined && data.Result.data.documentText !== '') {\r\n documentText = data.Result.data.documentText;\r\n setTextWithNote(data.Result);\r\n }\r\n\r\n document = { ...document, documentText: documentText };\r\n\r\n const settingsNote = (data) => {\r\n //const res = formattedNoteArrayForFE(data);\r\n if (data.Result !== null) {\r\n let index = -1;\r\n\r\n data.Result.Documents.forEach((el, indx) => {\r\n if (document.DocumentId === el.data.iddocumento)\r\n index = indx;\r\n });\r\n\r\n setNotes(index !== -1 ? data.Result.Documents[index] : { data: { note: [] } });\r\n setNotesForMenu(data.Result.Documents);\r\n }\r\n else {\r\n setNotes({ data: { note: [] } });\r\n setNotesForMenu([])\r\n }\r\n isLoadingCtx.setIfIsLoading(false, 200);\r\n };\r\n\r\n noteAndTag.getNotes(config.nameList.note, { prop1: parseInt(document.ProvvId), prop2: parseInt(document.DocumentId), prop3: parseInt(document.DocTypeId) }, showPremiumContent, settingsNote);\r\n\r\n const res = FormattedDocumentForFE(document, typeDocument, showPremiumContent, pdfUrl);\r\n\r\n if (getTipoV.free === \"1\") {\r\n updateView(`book24ore:reader:${titleUrlSlugForTealium(res.mainTitle)}:anteprima`, authCtx, tokenCtx, `book24ore:reader-anteprima`);\r\n }\r\n else if (getTipoV.comprato === \"1\" && tokenCtx.token !== null) {\r\n updateView(`book24ore:reader:${titleUrlSlugForTealium(res.mainTitle)}:paid`, authCtx, tokenCtx, `book24ore:reader-paid`);\r\n }\r\n\r\n setDocumentReturns(res);\r\n\r\n saveDeleteB.setSaveBook(config.nameList.leggendo, { prop1: parseInt(res.idProvv), prop2: parseInt(res.idDocType), prop3: parseInt(res.id) }, showPremiumContent);\r\n loadLittleSumm();\r\n }\r\n\r\n if (typeDocument === 'html' && authCtx.isLoggedIn) {\r\n noteAndTag.getDocumentEditWithNotes(config.nameList.documentiConNote, { prop1: parseInt(document.ProvvId), prop2: parseInt(document.DocumentId), prop3: parseInt(document.DocTypeId), prop4: document.TestoDoc }, showPremiumContent, settingsFinalResult)\r\n settingsFinalResult({ Result: { data: { documentText: '' } } });\r\n }\r\n else {\r\n settingsFinalResult({ Result: { data: { documentText: '' } } });\r\n }\r\n };\r\n\r\n const bodyFormatted = bodyFormattedReader(id, config.nameList.getTestataHtml, tokenCtx);\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, setTestataDocumentHtml);\r\n };\r\n\r\n const refreshDocument = (obj) => {\r\n\r\n setShowAddUpdateNote(obj);\r\n setShowAddUpdateTagNote(obj);\r\n setShowDeleteNote(obj);\r\n setRerender(prev => prev + 1);\r\n }\r\n\r\n const saveIsLastChapter = (nextChap) => {\r\n\r\n if (tokenCtx.token === null || tokenCtx.token === undefined || authCtx.username === \"Utente\" || productListsCtx.saveIsFinishToRead === undefined || tipoDocument === 'pdf' || documentReturns.id === undefined)\r\n return;\r\n\r\n let index = productListsCtx.saveIsFinishToRead === null ? -1 : productListsCtx.saveIsFinishToRead.map(x => x.idDoc).indexOf(documentReturns.id);\r\n\r\n if (Object.keys(nextChap).length === 0 && index === -1) {\r\n saveFinishedToRead();\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n\r\n if (documentReturns.id === undefined && documentReturns.idProvv === undefined && !refreshBookmarks) return;\r\n\r\n const settingsList = (res) => {\r\n\r\n setBookmarks(res);\r\n setRefreshBookmarks(false);\r\n };\r\n\r\n if (updatedList === \"bookmarks\" || updatedList === \"all\")\r\n getBooksAndNotes.getBookmarks(config.nameList.segnalibro, { iddocumento: props.idDoc, idprovvedimento: props.idProv }, settingsList);\r\n\r\n\r\n }, [tokenCtx.token, documentReturns.id, documentReturns.idProvv, refreshBookmarks]);\r\n\r\n /*const handlePrint = useReactToPrint({\r\n content: () => printComponent.current,\r\n });*/\r\n\r\n const handleSaved = (data) => {\r\n\r\n if (data.name === \"close\") {\r\n props.handleSaved(false);\r\n return;\r\n }\r\n\r\n props.handleSaved(true);\r\n\r\n if (data.name === \"deleted\") {\r\n setRightToastIn({ message: \"Pagina rimossa dai tuoi segnalibri\", classHeader: \"toastn--remove\", iconBody: \"icon-remove\" });\r\n } else {\r\n setRightToastIn({ message: \"Pagina salvata nei tuoi segnalibri\", classHeader: \"\", iconBody: \"icon-bookmark-list\" });\r\n }\r\n\r\n setUpdateList(data.nameMenu);\r\n setRefreshBookmarks(true);\r\n }\r\n\r\n const settingZoom = (data) => {\r\n setZoomText(data);\r\n };\r\n\r\n const savePdfToLastPage = () => {\r\n\r\n if (tokenCtx.token === null || tokenCtx.token === undefined || authCtx.username === \"Utente\" || productListsCtx.saveIsFinishToRead === undefined) return;\r\n\r\n let index = productListsCtx.saveIsFinishToRead === null ? -1 : productListsCtx.saveIsFinishToRead.map(x => x.idDoc).indexOf(documentReturns.id);\r\n\r\n if (index === -1) {\r\n saveFinishedToRead();\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n\r\n window.scrollTo(0, 0);\r\n }, [id]);\r\n\r\n useEffect(() => {\r\n isLoadingCtx.setIfIsLoading(false, 200);\r\n }, [littleSumm]);\r\n\r\n /*useEffect(() => {\r\n isLoadingCtx.setIfIsLoading(false, 1200);\r\n }, [documentReturns]);*/\r\n\r\n useEffect(() => {\r\n\r\n const settingMostUsedTag = (data) => {\r\n\r\n if (data.Result.Documents.length === 0) return;\r\n\r\n setTagMostUsed(data.Result.Documents);\r\n }\r\n\r\n noteAndTag.getGenericTag(config.nameList.note, { prop1: \"data.note.tag\" }, settingMostUsedTag);\r\n }, []);\r\n\r\n useManageBodyClasses();\r\n\r\n return (\r\n <React.Fragment>\r\n {\r\n <React.Fragment>\r\n {isLoadingCtx.isLoading && <Spinner></Spinner>}\r\n <Wrapper>\r\n {authCtx.showLoginModal && <LoginModal show={authCtx.showLoginModal}></LoginModal>}\r\n {tokenCtx.showMessageSiac && <MessageManageSiac show={tokenCtx.showMessageSiac}></MessageManageSiac>}\r\n {showSessione && <SessioneScaduta show={showSessione} closeModal={(dismiss) => { setShowModal(dismiss.showModal) }}></SessioneScaduta>}\r\n <HeaderReader\r\n isFree={props.isFree}\r\n isReader={true}\r\n page='mainReader'\r\n title={documentReturns.mainTitle}\r\n idDoc={documentReturns.id}\r\n idProv={documentReturns.idProvv}\r\n idDocType={documentReturns.idDocType}\r\n littleSumm={littleSumm}\r\n tipoDocument={tipoDocument}\r\n img={documentReturns.img}\r\n updatedList={updatedList}\r\n notes={notes}\r\n notesForMenu={notesForMenu}\r\n bookmarks={bookmarks}\r\n testo={\"\"}\r\n isIntegrateInBD={props.isIntegrateInBD}\r\n /*setIsActiveHambMenu={setIsActiveHambMenu(prev => !prev)}\r\n isActiveHambMenu={isActiveHambMenu}*/\r\n />\r\n\r\n\r\n <ReaderContentContainer tipoDocument={tipoDocument}>\r\n {tipoDocument !== 'pdf' &&\r\n <ReaderHead>\r\n <ReaderMeta isLink={true} document={documentReturns} getTipo={getTipo} />\r\n <ReaderTitle\r\n title={documentReturns.titleDoc}\r\n page='mainReader'\r\n prevChap={prevChap}\r\n nextChap={nextChap}\r\n getTipo={getTipo}\r\n />\r\n <ReaderMeta isSpan={true} document={documentReturns} getTipo={getTipo} />\r\n {tipoDocument !== 'pdf' && <ReaderHeadGoTo page='mainReader' littleSumm={littleSumm} />}\r\n {(tipoDocument !== 'pdf' && getCookie(\"plus_token_forDomain\")) && props.isIntegrateInBD && ((listNormaCommentata && listNormaCommentata.length>0) || (listRiferimenti && listRiferimenti.length>0) || (listCorrelati && listCorrelati.length>0) || (listDocReferences && listDocReferences.length>0) || (listDisIntegrative && listDisIntegrative.length>0)) && <ReaderHeadSwitchDocPerApprofondire id={id} showPerApprofondire={props.perApprofondire} />}\r\n </ReaderHead>\r\n }\r\n {(props.perApprofondire && getCookie(\"plus_token_forDomain\")) &&\r\n <SchedaPerApprofondire id={id} approfondire={props.perApprofondire} listNormaCommentata={listNormaCommentata} listCorrelati={listCorrelati} listRiferimenti={listRiferimenti} listDocReferences={listDocReferences} listDisIntegrative={listDisIntegrative}></SchedaPerApprofondire>\r\n }\r\n {!props.perApprofondire &&\r\n <ReaderMainContainer zoomText={zoomText} tipoDocument={tipoDocument}>\r\n {(tipoDocument !== 'pdf' && documentReturns !== undefined) &&\r\n <ReaderToolsMobile\r\n idDoc={documentReturns.id}\r\n idProv={documentReturns.idProvv}\r\n buyedOrFreeContent={buyedOrFreeContent}\r\n settingZoom={settingZoom}\r\n handleSaved={handleSaved}\r\n />\r\n }\r\n\r\n {tipoDocument === 'Sistema Frizzera' && <ReaderBoxTop document={documentReturns} />}\r\n {tipoDocument === 'pdf' &&\r\n <>\r\n {buyedOrFreeContent &&\r\n /*<ViewerPdf pdfUrl={pdfDoc}\r\n pdfDoc={documentReturns.binaryDoc}\r\n savePdfToLastPage={savePdfToLastPage}\r\n ></ViewerPdf>*/\r\n <ViewerPdfExpress\r\n pdfDoc={documentReturns.binaryDoc}\r\n savePdfToLastPage={savePdfToLastPage} />\r\n }\r\n </>\r\n }\r\n <RenderParagraphs>\r\n {\r\n tipoDocument !== 'pdf' && documentReturns.paragraphs !== undefined &&\r\n documentReturns.paragraphs.map((par, index) => (\r\n <ReaderMain\r\n isFree={props.isFree}\r\n paragraph={par}\r\n buyedOrFreeContent={buyedOrFreeContent}\r\n title={documentReturns.mainTitle}\r\n img={documentReturns.img}\r\n idProvv={documentReturns.idProvv}\r\n idDocType={documentReturns.idDocType}\r\n idDocument={documentReturns.id}\r\n index={index}\r\n key={index}\r\n activatedCtxMenu={tipoDocument === 'html'}\r\n getTipo={getTipo}\r\n normaCommentata={normaCommentata}\r\n />\r\n ))\r\n }\r\n </RenderParagraphs>\r\n {normaCommentata != null && normaCommentata.iddocumento != undefined && !sessionStorage.getItem(\"isBookIntegrate\") &&\r\n <>\r\n <ReaderLine></ReaderLine>\r\n <ReaderBoxesBottom\r\n normaCommentata={normaCommentata}\r\n />\r\n </>\r\n }\r\n {(tipoDocument !== 'pdf' && documentReturns !== undefined) &&\r\n <ReaderTools\r\n idDoc={documentReturns.id}\r\n idProv={documentReturns.idProvv}\r\n buyedOrFreeContent={buyedOrFreeContent}\r\n settingZoom={settingZoom}\r\n handleSaved={handleSaved}\r\n\r\n />\r\n }\r\n </ReaderMainContainer>\r\n }\r\n {!buyedOrFreeContent &&\r\n <ReaderBlockMask title={documentReturns.mainTitle}\r\n img={documentReturns.img}\r\n idProvv={documentReturns.idProvv}\r\n idDocType={documentReturns.idDocType}></ReaderBlockMask>\r\n }\r\n\r\n {tipoDocument === 'html' && documentReturns?.paragraphs !== undefined &&\r\n <ReaderDropdownNote document={documentReturns}\r\n notes={notes}\r\n textWithNote={textWithNote}\r\n refreshDocument={refreshDocument}\r\n addOrUpdateNote={(note) => setShowAddUpdateNote(note)}\r\n addOrUpdateNoteTag={(note) => setShowAddUpdateTagNote(note)}\r\n deleteNote={(note) => setShowDeleteNote(note)} />\r\n }\r\n {tipoDocument !== 'pdf' && <ReaderFoot prevChap={prevChap} nextChap={nextChap} />}\r\n {(showAddUpdateNote !== undefined && showAddUpdateNote.showModal) &&\r\n <AddOrUpdateNote showAddUpdateNote={showAddUpdateNote}\r\n document={documentReturns}\r\n closeModal={(dismiss) => { setShowAddUpdateNote(dismiss) }}\r\n notes={notes}\r\n textWithNote={textWithNote}\r\n refreshDocument={refreshDocument} />\r\n }\r\n {(showAddUpdateTagNote !== undefined && showAddUpdateTagNote.showModal) &&\r\n <AddOrUpdateTags showAddUpdateTagNote={showAddUpdateTagNote}\r\n document={documentReturns}\r\n closeModal={(dismiss) => { setShowAddUpdateTagNote(dismiss) }}\r\n notes={notes}\r\n textWithNote={textWithNote}\r\n refreshDocument={refreshDocument}\r\n tagMostUsed={tagMostUsed}\r\n />\r\n }\r\n {(showDeleteNote !== undefined && showDeleteNote.showModal) &&\r\n <ConfirmResp showDeleteNote={showDeleteNote}\r\n document={documentReturns}\r\n closeModal={(dismiss) => { setShowDeleteNote(dismiss) }}\r\n title=\"Elimina Nota\"\r\n message=\"Sei sicuro di voler eliminare la nota?\"\r\n notes={notes}\r\n textWithNote={textWithNote}\r\n refreshDocument={refreshDocument}\r\n />\r\n }\r\n\r\n </ReaderContentContainer>\r\n <Footer isIntegrateInBD={props.isIntegrateInBD} />\r\n\r\n </Wrapper>\r\n </React.Fragment>\r\n }\r\n <Ricerca isReader={true}\r\n img={documentReturns.img}\r\n title={documentReturns.mainTitle}\r\n tipoDocument={tipoDocument}\r\n id={documentReturns.id}\r\n idProvvedimento={documentReturns.idProvv}\r\n idDocType={documentReturns.idDocType}\r\n testo={\"\"}\r\n /*setIsActiveHambMenu={setIsActiveHambMenu(prev => !prev)}\r\n isActiveHambMenu={isActiveHambMenu}*/\r\n />\r\n {authCtx.isLoggedIn && <Toast message={rightToastIn.message} handleSaved={handleSaved} classHeader={rightToastIn.classHeader} iconBody={rightToastIn.iconBody}></Toast>}\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default Reader;","import React from \"react\";\r\n\r\nconst Free = () => {\r\n\r\n return(\r\n <React.Fragment>\r\n <span className=\"page-label page-label--green\">Free</span>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default Free;","import React from \"react\";\r\n\r\nconst Updated = () => {\r\n\r\n return(\r\n <React.Fragment>\r\n <span className=\"page-label\">Aggiornato</span>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default Updated;","import React from \"react\";\r\nimport { NavLink, useNavigate } from \"react-router-dom\";\r\nimport { config } from \"../../../../constants/Constants\";\r\nimport useHttpRequest from \"../../../../hooks/http-request\";\r\nimport Free from \"../../Free/Free\";\r\nimport Updated from \"../../Updated/Updated\";\r\n\r\nconst Link = (props) => {\r\n\r\n const navigate = useNavigate();\r\n const sendRequest = useHttpRequest();\r\n\r\n const chooseUrl = () => {\r\n\r\n if(props.url !== 0) \r\n navigate(`/reader/${props.url}`);\r\n\r\n const goTo = (data) => {\r\n navigate(`/reader/${data.Result.ResultSet.Root[0].IdDocumento}`);\r\n }\r\n\r\n const bodyFormatted = {\r\n \"parameters\": {\r\n \"name\": config.nameList.getDocumentoSommario,\r\n \"inputParameters\": [{\r\n \"name\": \"idindice\",\r\n \"type\": \"Int\",\r\n \"value\": props.indexSumm\r\n },\r\n {\r\n \"name\": \"idnodo\",\r\n \"type\": \"Int\",\r\n \"value\": props.fromTree.id\r\n }],\r\n \"staticToken\": config.token.STATIC_TOKEN\r\n },\r\n \"token\": \"\"\r\n }\r\n\r\n const rqst = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: \"POST\"\r\n }\r\n }\r\n\r\n sendRequest.sendRequest(rqst, goTo);\r\n }\r\n\r\n return (\r\n <React.Fragment>\r\n <li className=\"list-item\">\r\n {\r\n /*<NavLink className=\"page-link\" to={`/reader/${props.url}`} target=\"_blank\">\r\n {props.title}\r\n </NavLink>*/\r\n }\r\n <a className=\"page-link\" role={\"button\"} onClick={chooseUrl}>\r\n {props.title}\r\n </a>\r\n {props.isFree && <Free></Free>}\r\n {props.isUpdated && <Updated></Updated>}\r\n </li>\r\n </React.Fragment>\r\n );\r\n};\r\n\r\nexport default Link;","import React from \"react\";\r\nimport Link from \"./Link/Link\";\r\n\r\nconst ListLink = (props) => {\r\n\r\n return (\r\n <React.Fragment>\r\n <h4 className=\"page-h4\"></h4>\r\n <ul className=\"list list--large page-list\">\r\n {props.listSommario.map(sommario => (<Link\r\n key={Math.random()}\r\n title={sommario.Text1}\r\n url={sommario.DocumentId}\r\n typeSumm={props.typeSumm}\r\n isLeaf= {props.isLeaf}\r\n isFree={sommario.isFree}\r\n isUpdated={sommario.isUpdated}\r\n />\r\n ))}\r\n </ul>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default ListLink;","export default class TreeNode {\r\n constructor(props) {\r\n this.root = props.root;\r\n this.id = props.id;\r\n this.name = props.name;\r\n this.leaf = props.leaf;\r\n this.documentId = props.documentId;\r\n this.children = props.children || [];\r\n this.parent = props.parent;\r\n this.livello = props.livello;\r\n }\r\n \r\n traverse(callback) {\r\n function goThrough(node) {\r\n callback(node);\r\n node.children.forEach((child) => {\r\n goThrough(child);\r\n });\r\n }\r\n if (this.root) {\r\n goThrough(this.root);\r\n } else {\r\n goThrough(this);\r\n }\r\n }\r\n \r\n hasChild(id) {\r\n return this.children.reduce((prev, curr) => prev && curr.id === id, false);\r\n }\r\n \r\n addNode(value, parentId) {\r\n if (this.search(value.id) !== null) return this;\r\n \r\n const newNode = new TreeNode({\r\n ...value,\r\n root: this.root || this\r\n });\r\n \r\n if (this.root === null) {\r\n this.root = newNode;\r\n return this;\r\n }\r\n \r\n this.traverse((node) => {\r\n if (node.id === parentId) {\r\n node.children.push(newNode);\r\n }\r\n });\r\n return this;\r\n }\r\n \r\n addChildren(values, parentId) {\r\n values.map((value) => this.addNode(value, parentId));\r\n return this;\r\n }\r\n \r\n removeNode(value) {\r\n this.traverse((node) => {\r\n node.children.forEach((childNode, index) => {\r\n if (childNode.id === value.id) {\r\n node.children.splice(index, 1);\r\n }\r\n });\r\n });\r\n return this;\r\n }\r\n \r\n search(id) {\r\n let returnNode = null;\r\n this.traverse((node) => {\r\n if (node.id === id) {\r\n returnNode = node;\r\n }\r\n });\r\n return returnNode;\r\n }\r\n \r\n searchByName(name) {\r\n let returnNode = null;\r\n this.traverse((node) => {\r\n if (node.name.includes(name)) {\r\n returnNode = node;\r\n }\r\n });\r\n return returnNode;\r\n }\r\n \r\n displayLeafs(parent) {\r\n const parentNode =\r\n typeof parent === \"string\" ? this.search(parent) : parent;\r\n if (!parentNode) return [];\r\n \r\n const leafsRet = [];\r\n \r\n if (parentNode.children && !parentNode.children.length) {\r\n return [parentNode];\r\n }\r\n \r\n parentNode.children.forEach((child) => leafsRet.push(child));\r\n \r\n return leafsRet.flat();\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))for(t=0;t<e.length;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f);else for(t in e)e[t]&&(n&&(n+=\" \"),n+=t);return n}export function clsx(){for(var e,t,f=0,n=\"\";f<arguments.length;)(e=arguments[f++])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexport var isBrowser = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\" && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === 'object' && document.nodeType === 9;\n\nexport default isBrowser;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport isInBrowser from 'is-in-browser';\nimport warning from 'tiny-warning';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\n\nvar plainObjectConstrurctor = {}.constructor;\nfunction cloneStyle(style) {\n if (style == null || typeof style !== 'object') return style;\n if (Array.isArray(style)) return style.map(cloneStyle);\n if (style.constructor !== plainObjectConstrurctor) return style;\n var newStyle = {};\n\n for (var name in style) {\n newStyle[name] = cloneStyle(style[name]);\n }\n\n return newStyle;\n}\n\n/**\n * Create a rule instance.\n */\n\nfunction createRule(name, decl, options) {\n if (name === void 0) {\n name = 'unnamed';\n }\n\n var jss = options.jss;\n var declCopy = cloneStyle(decl);\n var rule = jss.plugins.onCreateRule(name, declCopy, options);\n if (rule) return rule; // It is an at-rule and it has no instance.\n\n if (name[0] === '@') {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Unknown rule \" + name) : void 0;\n }\n\n return null;\n}\n\nvar join = function join(value, by) {\n var result = '';\n\n for (var i = 0; i < value.length; i++) {\n // Remove !important from the value, it will be readded later.\n if (value[i] === '!important') break;\n if (result) result += by;\n result += value[i];\n }\n\n return result;\n};\n/**\n * Converts JSS array value to a CSS string.\n *\n * `margin: [['5px', '10px']]` > `margin: 5px 10px;`\n * `border: ['1px', '2px']` > `border: 1px, 2px;`\n * `margin: [['5px', '10px'], '!important']` > `margin: 5px 10px !important;`\n * `color: ['red', !important]` > `color: red !important;`\n */\n\n\nvar toCssValue = function toCssValue(value) {\n if (!Array.isArray(value)) return value;\n var cssValue = ''; // Support space separated values via `[['5px', '10px']]`.\n\n if (Array.isArray(value[0])) {\n for (var i = 0; i < value.length; i++) {\n if (value[i] === '!important') break;\n if (cssValue) cssValue += ', ';\n cssValue += join(value[i], ' ');\n }\n } else cssValue = join(value, ', '); // Add !important, because it was ignored.\n\n\n if (value[value.length - 1] === '!important') {\n cssValue += ' !important';\n }\n\n return cssValue;\n};\n\nfunction getWhitespaceSymbols(options) {\n if (options && options.format === false) {\n return {\n linebreak: '',\n space: ''\n };\n }\n\n return {\n linebreak: '\\n',\n space: ' '\n };\n}\n\n/**\n * Indent a string.\n * http://jsperf.com/array-join-vs-for\n */\n\nfunction indentStr(str, indent) {\n var result = '';\n\n for (var index = 0; index < indent; index++) {\n result += ' ';\n }\n\n return result + str;\n}\n/**\n * Converts a Rule to CSS string.\n */\n\n\nfunction toCss(selector, style, options) {\n if (options === void 0) {\n options = {};\n }\n\n var result = '';\n if (!style) return result;\n var _options = options,\n _options$indent = _options.indent,\n indent = _options$indent === void 0 ? 0 : _options$indent;\n var fallbacks = style.fallbacks;\n\n if (options.format === false) {\n indent = -Infinity;\n }\n\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak,\n space = _getWhitespaceSymbols.space;\n\n if (selector) indent++; // Apply fallbacks first.\n\n if (fallbacks) {\n // Array syntax {fallbacks: [{prop: value}]}\n if (Array.isArray(fallbacks)) {\n for (var index = 0; index < fallbacks.length; index++) {\n var fallback = fallbacks[index];\n\n for (var prop in fallback) {\n var value = fallback[prop];\n\n if (value != null) {\n if (result) result += linebreak;\n result += indentStr(prop + \":\" + space + toCssValue(value) + \";\", indent);\n }\n }\n }\n } else {\n // Object syntax {fallbacks: {prop: value}}\n for (var _prop in fallbacks) {\n var _value = fallbacks[_prop];\n\n if (_value != null) {\n if (result) result += linebreak;\n result += indentStr(_prop + \":\" + space + toCssValue(_value) + \";\", indent);\n }\n }\n }\n }\n\n for (var _prop2 in style) {\n var _value2 = style[_prop2];\n\n if (_value2 != null && _prop2 !== 'fallbacks') {\n if (result) result += linebreak;\n result += indentStr(_prop2 + \":\" + space + toCssValue(_value2) + \";\", indent);\n }\n } // Allow empty style in this case, because properties will be added dynamically.\n\n\n if (!result && !options.allowEmpty) return result; // When rule is being stringified before selector was defined.\n\n if (!selector) return result;\n indent--;\n if (result) result = \"\" + linebreak + result + linebreak;\n return indentStr(\"\" + selector + space + \"{\" + result, indent) + indentStr('}', indent);\n}\n\nvar escapeRegex = /([[\\].#*$><+~=|^:(),\"'`\\s])/g;\nvar nativeEscape = typeof CSS !== 'undefined' && CSS.escape;\nvar escape = (function (str) {\n return nativeEscape ? nativeEscape(str) : str.replace(escapeRegex, '\\\\$1');\n});\n\nvar BaseStyleRule =\n/*#__PURE__*/\nfunction () {\n function BaseStyleRule(key, style, options) {\n this.type = 'style';\n this.isProcessed = false;\n var sheet = options.sheet,\n Renderer = options.Renderer;\n this.key = key;\n this.options = options;\n this.style = style;\n if (sheet) this.renderer = sheet.renderer;else if (Renderer) this.renderer = new Renderer();\n }\n /**\n * Get or set a style property.\n */\n\n\n var _proto = BaseStyleRule.prototype;\n\n _proto.prop = function prop(name, value, options) {\n // It's a getter.\n if (value === undefined) return this.style[name]; // Don't do anything if the value has not changed.\n\n var force = options ? options.force : false;\n if (!force && this.style[name] === value) return this;\n var newValue = value;\n\n if (!options || options.process !== false) {\n newValue = this.options.jss.plugins.onChangeValue(value, name, this);\n }\n\n var isEmpty = newValue == null || newValue === false;\n var isDefined = name in this.style; // Value is empty and wasn't defined before.\n\n if (isEmpty && !isDefined && !force) return this; // We are going to remove this value.\n\n var remove = isEmpty && isDefined;\n if (remove) delete this.style[name];else this.style[name] = newValue; // Renderable is defined if StyleSheet option `link` is true.\n\n if (this.renderable && this.renderer) {\n if (remove) this.renderer.removeProperty(this.renderable, name);else this.renderer.setProperty(this.renderable, name, newValue);\n return this;\n }\n\n var sheet = this.options.sheet;\n\n if (sheet && sheet.attached) {\n process.env.NODE_ENV !== \"production\" ? warning(false, '[JSS] Rule is not linked. Missing sheet option \"link: true\".') : void 0;\n }\n\n return this;\n };\n\n return BaseStyleRule;\n}();\nvar StyleRule =\n/*#__PURE__*/\nfunction (_BaseStyleRule) {\n _inheritsLoose(StyleRule, _BaseStyleRule);\n\n function StyleRule(key, style, options) {\n var _this;\n\n _this = _BaseStyleRule.call(this, key, style, options) || this;\n var selector = options.selector,\n scoped = options.scoped,\n sheet = options.sheet,\n generateId = options.generateId;\n\n if (selector) {\n _this.selectorText = selector;\n } else if (scoped !== false) {\n _this.id = generateId(_assertThisInitialized(_assertThisInitialized(_this)), sheet);\n _this.selectorText = \".\" + escape(_this.id);\n }\n\n return _this;\n }\n /**\n * Set selector string.\n * Attention: use this with caution. Most browsers didn't implement\n * selectorText setter, so this may result in rerendering of entire Style Sheet.\n */\n\n\n var _proto2 = StyleRule.prototype;\n\n /**\n * Apply rule to an element inline.\n */\n _proto2.applyTo = function applyTo(renderable) {\n var renderer = this.renderer;\n\n if (renderer) {\n var json = this.toJSON();\n\n for (var prop in json) {\n renderer.setProperty(renderable, prop, json[prop]);\n }\n }\n\n return this;\n }\n /**\n * Returns JSON representation of the rule.\n * Fallbacks are not supported.\n * Useful for inline styles.\n */\n ;\n\n _proto2.toJSON = function toJSON() {\n var json = {};\n\n for (var prop in this.style) {\n var value = this.style[prop];\n if (typeof value !== 'object') json[prop] = value;else if (Array.isArray(value)) json[prop] = toCssValue(value);\n }\n\n return json;\n }\n /**\n * Generates a CSS string.\n */\n ;\n\n _proto2.toString = function toString(options) {\n var sheet = this.options.sheet;\n var link = sheet ? sheet.options.link : false;\n var opts = link ? _extends({}, options, {\n allowEmpty: true\n }) : options;\n return toCss(this.selectorText, this.style, opts);\n };\n\n _createClass(StyleRule, [{\n key: \"selector\",\n set: function set(selector) {\n if (selector === this.selectorText) return;\n this.selectorText = selector;\n var renderer = this.renderer,\n renderable = this.renderable;\n if (!renderable || !renderer) return;\n var hasChanged = renderer.setSelector(renderable, selector); // If selector setter is not implemented, rerender the rule.\n\n if (!hasChanged) {\n renderer.replaceRule(renderable, this);\n }\n }\n /**\n * Get selector string.\n */\n ,\n get: function get() {\n return this.selectorText;\n }\n }]);\n\n return StyleRule;\n}(BaseStyleRule);\nvar pluginStyleRule = {\n onCreateRule: function onCreateRule(key, style, options) {\n if (key[0] === '@' || options.parent && options.parent.type === 'keyframes') {\n return null;\n }\n\n return new StyleRule(key, style, options);\n }\n};\n\nvar defaultToStringOptions = {\n indent: 1,\n children: true\n};\nvar atRegExp = /@([\\w-]+)/;\n/**\n * Conditional rule for @media, @supports\n */\n\nvar ConditionalRule =\n/*#__PURE__*/\nfunction () {\n function ConditionalRule(key, styles, options) {\n this.type = 'conditional';\n this.isProcessed = false;\n this.key = key;\n var atMatch = key.match(atRegExp);\n this.at = atMatch ? atMatch[1] : 'unknown'; // Key might contain a unique suffix in case the `name` passed by user was duplicate.\n\n this.query = options.name || \"@\" + this.at;\n this.options = options;\n this.rules = new RuleList(_extends({}, options, {\n parent: this\n }));\n\n for (var name in styles) {\n this.rules.add(name, styles[name]);\n }\n\n this.rules.process();\n }\n /**\n * Get a rule.\n */\n\n\n var _proto = ConditionalRule.prototype;\n\n _proto.getRule = function getRule(name) {\n return this.rules.get(name);\n }\n /**\n * Get index of a rule.\n */\n ;\n\n _proto.indexOf = function indexOf(rule) {\n return this.rules.indexOf(rule);\n }\n /**\n * Create and register rule, run plugins.\n */\n ;\n\n _proto.addRule = function addRule(name, style, options) {\n var rule = this.rules.add(name, style, options);\n if (!rule) return null;\n this.options.jss.plugins.onProcessRule(rule);\n return rule;\n }\n /**\n * Replace rule, run plugins.\n */\n ;\n\n _proto.replaceRule = function replaceRule(name, style, options) {\n var newRule = this.rules.replace(name, style, options);\n if (newRule) this.options.jss.plugins.onProcessRule(newRule);\n return newRule;\n }\n /**\n * Generates a CSS string.\n */\n ;\n\n _proto.toString = function toString(options) {\n if (options === void 0) {\n options = defaultToStringOptions;\n }\n\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n\n if (options.indent == null) options.indent = defaultToStringOptions.indent;\n if (options.children == null) options.children = defaultToStringOptions.children;\n\n if (options.children === false) {\n return this.query + \" {}\";\n }\n\n var children = this.rules.toString(options);\n return children ? this.query + \" {\" + linebreak + children + linebreak + \"}\" : '';\n };\n\n return ConditionalRule;\n}();\nvar keyRegExp = /@media|@supports\\s+/;\nvar pluginConditionalRule = {\n onCreateRule: function onCreateRule(key, styles, options) {\n return keyRegExp.test(key) ? new ConditionalRule(key, styles, options) : null;\n }\n};\n\nvar defaultToStringOptions$1 = {\n indent: 1,\n children: true\n};\nvar nameRegExp = /@keyframes\\s+([\\w-]+)/;\n/**\n * Rule for @keyframes\n */\n\nvar KeyframesRule =\n/*#__PURE__*/\nfunction () {\n function KeyframesRule(key, frames, options) {\n this.type = 'keyframes';\n this.at = '@keyframes';\n this.isProcessed = false;\n var nameMatch = key.match(nameRegExp);\n\n if (nameMatch && nameMatch[1]) {\n this.name = nameMatch[1];\n } else {\n this.name = 'noname';\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Bad keyframes name \" + key) : void 0;\n }\n\n this.key = this.type + \"-\" + this.name;\n this.options = options;\n var scoped = options.scoped,\n sheet = options.sheet,\n generateId = options.generateId;\n this.id = scoped === false ? this.name : escape(generateId(this, sheet));\n this.rules = new RuleList(_extends({}, options, {\n parent: this\n }));\n\n for (var name in frames) {\n this.rules.add(name, frames[name], _extends({}, options, {\n parent: this\n }));\n }\n\n this.rules.process();\n }\n /**\n * Generates a CSS string.\n */\n\n\n var _proto = KeyframesRule.prototype;\n\n _proto.toString = function toString(options) {\n if (options === void 0) {\n options = defaultToStringOptions$1;\n }\n\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n\n if (options.indent == null) options.indent = defaultToStringOptions$1.indent;\n if (options.children == null) options.children = defaultToStringOptions$1.children;\n\n if (options.children === false) {\n return this.at + \" \" + this.id + \" {}\";\n }\n\n var children = this.rules.toString(options);\n if (children) children = \"\" + linebreak + children + linebreak;\n return this.at + \" \" + this.id + \" {\" + children + \"}\";\n };\n\n return KeyframesRule;\n}();\nvar keyRegExp$1 = /@keyframes\\s+/;\nvar refRegExp = /\\$([\\w-]+)/g;\n\nvar findReferencedKeyframe = function findReferencedKeyframe(val, keyframes) {\n if (typeof val === 'string') {\n return val.replace(refRegExp, function (match, name) {\n if (name in keyframes) {\n return keyframes[name];\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Referenced keyframes rule \\\"\" + name + \"\\\" is not defined.\") : void 0;\n return match;\n });\n }\n\n return val;\n};\n/**\n * Replace the reference for a animation name.\n */\n\n\nvar replaceRef = function replaceRef(style, prop, keyframes) {\n var value = style[prop];\n var refKeyframe = findReferencedKeyframe(value, keyframes);\n\n if (refKeyframe !== value) {\n style[prop] = refKeyframe;\n }\n};\n\nvar pluginKeyframesRule = {\n onCreateRule: function onCreateRule(key, frames, options) {\n return typeof key === 'string' && keyRegExp$1.test(key) ? new KeyframesRule(key, frames, options) : null;\n },\n // Animation name ref replacer.\n onProcessStyle: function onProcessStyle(style, rule, sheet) {\n if (rule.type !== 'style' || !sheet) return style;\n if ('animation-name' in style) replaceRef(style, 'animation-name', sheet.keyframes);\n if ('animation' in style) replaceRef(style, 'animation', sheet.keyframes);\n return style;\n },\n onChangeValue: function onChangeValue(val, prop, rule) {\n var sheet = rule.options.sheet;\n\n if (!sheet) {\n return val;\n }\n\n switch (prop) {\n case 'animation':\n return findReferencedKeyframe(val, sheet.keyframes);\n\n case 'animation-name':\n return findReferencedKeyframe(val, sheet.keyframes);\n\n default:\n return val;\n }\n }\n};\n\nvar KeyframeRule =\n/*#__PURE__*/\nfunction (_BaseStyleRule) {\n _inheritsLoose(KeyframeRule, _BaseStyleRule);\n\n function KeyframeRule() {\n return _BaseStyleRule.apply(this, arguments) || this;\n }\n\n var _proto = KeyframeRule.prototype;\n\n /**\n * Generates a CSS string.\n */\n _proto.toString = function toString(options) {\n var sheet = this.options.sheet;\n var link = sheet ? sheet.options.link : false;\n var opts = link ? _extends({}, options, {\n allowEmpty: true\n }) : options;\n return toCss(this.key, this.style, opts);\n };\n\n return KeyframeRule;\n}(BaseStyleRule);\nvar pluginKeyframeRule = {\n onCreateRule: function onCreateRule(key, style, options) {\n if (options.parent && options.parent.type === 'keyframes') {\n return new KeyframeRule(key, style, options);\n }\n\n return null;\n }\n};\n\nvar FontFaceRule =\n/*#__PURE__*/\nfunction () {\n function FontFaceRule(key, style, options) {\n this.type = 'font-face';\n this.at = '@font-face';\n this.isProcessed = false;\n this.key = key;\n this.style = style;\n this.options = options;\n }\n /**\n * Generates a CSS string.\n */\n\n\n var _proto = FontFaceRule.prototype;\n\n _proto.toString = function toString(options) {\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n\n if (Array.isArray(this.style)) {\n var str = '';\n\n for (var index = 0; index < this.style.length; index++) {\n str += toCss(this.at, this.style[index]);\n if (this.style[index + 1]) str += linebreak;\n }\n\n return str;\n }\n\n return toCss(this.at, this.style, options);\n };\n\n return FontFaceRule;\n}();\nvar keyRegExp$2 = /@font-face/;\nvar pluginFontFaceRule = {\n onCreateRule: function onCreateRule(key, style, options) {\n return keyRegExp$2.test(key) ? new FontFaceRule(key, style, options) : null;\n }\n};\n\nvar ViewportRule =\n/*#__PURE__*/\nfunction () {\n function ViewportRule(key, style, options) {\n this.type = 'viewport';\n this.at = '@viewport';\n this.isProcessed = false;\n this.key = key;\n this.style = style;\n this.options = options;\n }\n /**\n * Generates a CSS string.\n */\n\n\n var _proto = ViewportRule.prototype;\n\n _proto.toString = function toString(options) {\n return toCss(this.key, this.style, options);\n };\n\n return ViewportRule;\n}();\nvar pluginViewportRule = {\n onCreateRule: function onCreateRule(key, style, options) {\n return key === '@viewport' || key === '@-ms-viewport' ? new ViewportRule(key, style, options) : null;\n }\n};\n\nvar SimpleRule =\n/*#__PURE__*/\nfunction () {\n function SimpleRule(key, value, options) {\n this.type = 'simple';\n this.isProcessed = false;\n this.key = key;\n this.value = value;\n this.options = options;\n }\n /**\n * Generates a CSS string.\n */\n // eslint-disable-next-line no-unused-vars\n\n\n var _proto = SimpleRule.prototype;\n\n _proto.toString = function toString(options) {\n if (Array.isArray(this.value)) {\n var str = '';\n\n for (var index = 0; index < this.value.length; index++) {\n str += this.key + \" \" + this.value[index] + \";\";\n if (this.value[index + 1]) str += '\\n';\n }\n\n return str;\n }\n\n return this.key + \" \" + this.value + \";\";\n };\n\n return SimpleRule;\n}();\nvar keysMap = {\n '@charset': true,\n '@import': true,\n '@namespace': true\n};\nvar pluginSimpleRule = {\n onCreateRule: function onCreateRule(key, value, options) {\n return key in keysMap ? new SimpleRule(key, value, options) : null;\n }\n};\n\nvar plugins = [pluginStyleRule, pluginConditionalRule, pluginKeyframesRule, pluginKeyframeRule, pluginFontFaceRule, pluginViewportRule, pluginSimpleRule];\n\nvar defaultUpdateOptions = {\n process: true\n};\nvar forceUpdateOptions = {\n force: true,\n process: true\n /**\n * Contains rules objects and allows adding/removing etc.\n * Is used for e.g. by `StyleSheet` or `ConditionalRule`.\n */\n\n};\n\nvar RuleList =\n/*#__PURE__*/\nfunction () {\n // Rules registry for access by .get() method.\n // It contains the same rule registered by name and by selector.\n // Original styles object.\n // Used to ensure correct rules order.\n function RuleList(options) {\n this.map = {};\n this.raw = {};\n this.index = [];\n this.counter = 0;\n this.options = options;\n this.classes = options.classes;\n this.keyframes = options.keyframes;\n }\n /**\n * Create and register rule.\n *\n * Will not render after Style Sheet was rendered the first time.\n */\n\n\n var _proto = RuleList.prototype;\n\n _proto.add = function add(name, decl, ruleOptions) {\n var _this$options = this.options,\n parent = _this$options.parent,\n sheet = _this$options.sheet,\n jss = _this$options.jss,\n Renderer = _this$options.Renderer,\n generateId = _this$options.generateId,\n scoped = _this$options.scoped;\n\n var options = _extends({\n classes: this.classes,\n parent: parent,\n sheet: sheet,\n jss: jss,\n Renderer: Renderer,\n generateId: generateId,\n scoped: scoped,\n name: name,\n keyframes: this.keyframes,\n selector: undefined\n }, ruleOptions); // When user uses .createStyleSheet(), duplicate names are not possible, but\n // `sheet.addRule()` opens the door for any duplicate rule name. When this happens\n // we need to make the key unique within this RuleList instance scope.\n\n\n var key = name;\n\n if (name in this.raw) {\n key = name + \"-d\" + this.counter++;\n } // We need to save the original decl before creating the rule\n // because cache plugin needs to use it as a key to return a cached rule.\n\n\n this.raw[key] = decl;\n\n if (key in this.classes) {\n // E.g. rules inside of @media container\n options.selector = \".\" + escape(this.classes[key]);\n }\n\n var rule = createRule(key, decl, options);\n if (!rule) return null;\n this.register(rule);\n var index = options.index === undefined ? this.index.length : options.index;\n this.index.splice(index, 0, rule);\n return rule;\n }\n /**\n * Replace rule.\n * Create a new rule and remove old one instead of overwriting\n * because we want to invoke onCreateRule hook to make plugins work.\n */\n ;\n\n _proto.replace = function replace(name, decl, ruleOptions) {\n var oldRule = this.get(name);\n var oldIndex = this.index.indexOf(oldRule);\n\n if (oldRule) {\n this.remove(oldRule);\n }\n\n var options = ruleOptions;\n if (oldIndex !== -1) options = _extends({}, ruleOptions, {\n index: oldIndex\n });\n return this.add(name, decl, options);\n }\n /**\n * Get a rule by name or selector.\n */\n ;\n\n _proto.get = function get(nameOrSelector) {\n return this.map[nameOrSelector];\n }\n /**\n * Delete a rule.\n */\n ;\n\n _proto.remove = function remove(rule) {\n this.unregister(rule);\n delete this.raw[rule.key];\n this.index.splice(this.index.indexOf(rule), 1);\n }\n /**\n * Get index of a rule.\n */\n ;\n\n _proto.indexOf = function indexOf(rule) {\n return this.index.indexOf(rule);\n }\n /**\n * Run `onProcessRule()` plugins on every rule.\n */\n ;\n\n _proto.process = function process() {\n var plugins = this.options.jss.plugins; // We need to clone array because if we modify the index somewhere else during a loop\n // we end up with very hard-to-track-down side effects.\n\n this.index.slice(0).forEach(plugins.onProcessRule, plugins);\n }\n /**\n * Register a rule in `.map`, `.classes` and `.keyframes` maps.\n */\n ;\n\n _proto.register = function register(rule) {\n this.map[rule.key] = rule;\n\n if (rule instanceof StyleRule) {\n this.map[rule.selector] = rule;\n if (rule.id) this.classes[rule.key] = rule.id;\n } else if (rule instanceof KeyframesRule && this.keyframes) {\n this.keyframes[rule.name] = rule.id;\n }\n }\n /**\n * Unregister a rule.\n */\n ;\n\n _proto.unregister = function unregister(rule) {\n delete this.map[rule.key];\n\n if (rule instanceof StyleRule) {\n delete this.map[rule.selector];\n delete this.classes[rule.key];\n } else if (rule instanceof KeyframesRule) {\n delete this.keyframes[rule.name];\n }\n }\n /**\n * Update the function values with a new data.\n */\n ;\n\n _proto.update = function update() {\n var name;\n var data;\n var options;\n\n if (typeof (arguments.length <= 0 ? undefined : arguments[0]) === 'string') {\n name = arguments.length <= 0 ? undefined : arguments[0];\n data = arguments.length <= 1 ? undefined : arguments[1];\n options = arguments.length <= 2 ? undefined : arguments[2];\n } else {\n data = arguments.length <= 0 ? undefined : arguments[0];\n options = arguments.length <= 1 ? undefined : arguments[1];\n name = null;\n }\n\n if (name) {\n this.updateOne(this.get(name), data, options);\n } else {\n for (var index = 0; index < this.index.length; index++) {\n this.updateOne(this.index[index], data, options);\n }\n }\n }\n /**\n * Execute plugins, update rule props.\n */\n ;\n\n _proto.updateOne = function updateOne(rule, data, options) {\n if (options === void 0) {\n options = defaultUpdateOptions;\n }\n\n var _this$options2 = this.options,\n plugins = _this$options2.jss.plugins,\n sheet = _this$options2.sheet; // It is a rules container like for e.g. ConditionalRule.\n\n if (rule.rules instanceof RuleList) {\n rule.rules.update(data, options);\n return;\n }\n\n var style = rule.style;\n plugins.onUpdate(data, rule, sheet, options); // We rely on a new `style` ref in case it was mutated during onUpdate hook.\n\n if (options.process && style && style !== rule.style) {\n // We need to run the plugins in case new `style` relies on syntax plugins.\n plugins.onProcessStyle(rule.style, rule, sheet); // Update and add props.\n\n for (var prop in rule.style) {\n var nextValue = rule.style[prop];\n var prevValue = style[prop]; // We need to use `force: true` because `rule.style` has been updated during onUpdate hook, so `rule.prop()` will not update the CSSOM rule.\n // We do this comparison to avoid unneeded `rule.prop()` calls, since we have the old `style` object here.\n\n if (nextValue !== prevValue) {\n rule.prop(prop, nextValue, forceUpdateOptions);\n }\n } // Remove props.\n\n\n for (var _prop in style) {\n var _nextValue = rule.style[_prop];\n var _prevValue = style[_prop]; // We need to use `force: true` because `rule.style` has been updated during onUpdate hook, so `rule.prop()` will not update the CSSOM rule.\n // We do this comparison to avoid unneeded `rule.prop()` calls, since we have the old `style` object here.\n\n if (_nextValue == null && _nextValue !== _prevValue) {\n rule.prop(_prop, null, forceUpdateOptions);\n }\n }\n }\n }\n /**\n * Convert rules to a CSS string.\n */\n ;\n\n _proto.toString = function toString(options) {\n var str = '';\n var sheet = this.options.sheet;\n var link = sheet ? sheet.options.link : false;\n\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n\n for (var index = 0; index < this.index.length; index++) {\n var rule = this.index[index];\n var css = rule.toString(options); // No need to render an empty rule.\n\n if (!css && !link) continue;\n if (str) str += linebreak;\n str += css;\n }\n\n return str;\n };\n\n return RuleList;\n}();\n\nvar StyleSheet =\n/*#__PURE__*/\nfunction () {\n function StyleSheet(styles, options) {\n this.attached = false;\n this.deployed = false;\n this.classes = {};\n this.keyframes = {};\n this.options = _extends({}, options, {\n sheet: this,\n parent: this,\n classes: this.classes,\n keyframes: this.keyframes\n });\n\n if (options.Renderer) {\n this.renderer = new options.Renderer(this);\n }\n\n this.rules = new RuleList(this.options);\n\n for (var name in styles) {\n this.rules.add(name, styles[name]);\n }\n\n this.rules.process();\n }\n /**\n * Attach renderable to the render tree.\n */\n\n\n var _proto = StyleSheet.prototype;\n\n _proto.attach = function attach() {\n if (this.attached) return this;\n if (this.renderer) this.renderer.attach();\n this.attached = true; // Order is important, because we can't use insertRule API if style element is not attached.\n\n if (!this.deployed) this.deploy();\n return this;\n }\n /**\n * Remove renderable from render tree.\n */\n ;\n\n _proto.detach = function detach() {\n if (!this.attached) return this;\n if (this.renderer) this.renderer.detach();\n this.attached = false;\n return this;\n }\n /**\n * Add a rule to the current stylesheet.\n * Will insert a rule also after the stylesheet has been rendered first time.\n */\n ;\n\n _proto.addRule = function addRule(name, decl, options) {\n var queue = this.queue; // Plugins can create rules.\n // In order to preserve the right order, we need to queue all `.addRule` calls,\n // which happen after the first `rules.add()` call.\n\n if (this.attached && !queue) this.queue = [];\n var rule = this.rules.add(name, decl, options);\n if (!rule) return null;\n this.options.jss.plugins.onProcessRule(rule);\n\n if (this.attached) {\n if (!this.deployed) return rule; // Don't insert rule directly if there is no stringified version yet.\n // It will be inserted all together when .attach is called.\n\n if (queue) queue.push(rule);else {\n this.insertRule(rule);\n\n if (this.queue) {\n this.queue.forEach(this.insertRule, this);\n this.queue = undefined;\n }\n }\n return rule;\n } // We can't add rules to a detached style node.\n // We will redeploy the sheet once user will attach it.\n\n\n this.deployed = false;\n return rule;\n }\n /**\n * Replace a rule in the current stylesheet.\n */\n ;\n\n _proto.replaceRule = function replaceRule(nameOrSelector, decl, options) {\n var oldRule = this.rules.get(nameOrSelector);\n if (!oldRule) return this.addRule(nameOrSelector, decl, options);\n var newRule = this.rules.replace(nameOrSelector, decl, options);\n\n if (newRule) {\n this.options.jss.plugins.onProcessRule(newRule);\n }\n\n if (this.attached) {\n if (!this.deployed) return newRule; // Don't replace / delete rule directly if there is no stringified version yet.\n // It will be inserted all together when .attach is called.\n\n if (this.renderer) {\n if (!newRule) {\n this.renderer.deleteRule(oldRule);\n } else if (oldRule.renderable) {\n this.renderer.replaceRule(oldRule.renderable, newRule);\n }\n }\n\n return newRule;\n } // We can't replace rules to a detached style node.\n // We will redeploy the sheet once user will attach it.\n\n\n this.deployed = false;\n return newRule;\n }\n /**\n * Insert rule into the StyleSheet\n */\n ;\n\n _proto.insertRule = function insertRule(rule) {\n if (this.renderer) {\n this.renderer.insertRule(rule);\n }\n }\n /**\n * Create and add rules.\n * Will render also after Style Sheet was rendered the first time.\n */\n ;\n\n _proto.addRules = function addRules(styles, options) {\n var added = [];\n\n for (var name in styles) {\n var rule = this.addRule(name, styles[name], options);\n if (rule) added.push(rule);\n }\n\n return added;\n }\n /**\n * Get a rule by name or selector.\n */\n ;\n\n _proto.getRule = function getRule(nameOrSelector) {\n return this.rules.get(nameOrSelector);\n }\n /**\n * Delete a rule by name.\n * Returns `true`: if rule has been deleted from the DOM.\n */\n ;\n\n _proto.deleteRule = function deleteRule(name) {\n var rule = typeof name === 'object' ? name : this.rules.get(name);\n\n if (!rule || // Style sheet was created without link: true and attached, in this case we\n // won't be able to remove the CSS rule from the DOM.\n this.attached && !rule.renderable) {\n return false;\n }\n\n this.rules.remove(rule);\n\n if (this.attached && rule.renderable && this.renderer) {\n return this.renderer.deleteRule(rule.renderable);\n }\n\n return true;\n }\n /**\n * Get index of a rule.\n */\n ;\n\n _proto.indexOf = function indexOf(rule) {\n return this.rules.indexOf(rule);\n }\n /**\n * Deploy pure CSS string to a renderable.\n */\n ;\n\n _proto.deploy = function deploy() {\n if (this.renderer) this.renderer.deploy();\n this.deployed = true;\n return this;\n }\n /**\n * Update the function values with a new data.\n */\n ;\n\n _proto.update = function update() {\n var _this$rules;\n\n (_this$rules = this.rules).update.apply(_this$rules, arguments);\n\n return this;\n }\n /**\n * Updates a single rule.\n */\n ;\n\n _proto.updateOne = function updateOne(rule, data, options) {\n this.rules.updateOne(rule, data, options);\n return this;\n }\n /**\n * Convert rules to a CSS string.\n */\n ;\n\n _proto.toString = function toString(options) {\n return this.rules.toString(options);\n };\n\n return StyleSheet;\n}();\n\nvar PluginsRegistry =\n/*#__PURE__*/\nfunction () {\n function PluginsRegistry() {\n this.plugins = {\n internal: [],\n external: []\n };\n this.registry = {};\n }\n\n var _proto = PluginsRegistry.prototype;\n\n /**\n * Call `onCreateRule` hooks and return an object if returned by a hook.\n */\n _proto.onCreateRule = function onCreateRule(name, decl, options) {\n for (var i = 0; i < this.registry.onCreateRule.length; i++) {\n var rule = this.registry.onCreateRule[i](name, decl, options);\n if (rule) return rule;\n }\n\n return null;\n }\n /**\n * Call `onProcessRule` hooks.\n */\n ;\n\n _proto.onProcessRule = function onProcessRule(rule) {\n if (rule.isProcessed) return;\n var sheet = rule.options.sheet;\n\n for (var i = 0; i < this.registry.onProcessRule.length; i++) {\n this.registry.onProcessRule[i](rule, sheet);\n }\n\n if (rule.style) this.onProcessStyle(rule.style, rule, sheet);\n rule.isProcessed = true;\n }\n /**\n * Call `onProcessStyle` hooks.\n */\n ;\n\n _proto.onProcessStyle = function onProcessStyle(style, rule, sheet) {\n for (var i = 0; i < this.registry.onProcessStyle.length; i++) {\n rule.style = this.registry.onProcessStyle[i](rule.style, rule, sheet);\n }\n }\n /**\n * Call `onProcessSheet` hooks.\n */\n ;\n\n _proto.onProcessSheet = function onProcessSheet(sheet) {\n for (var i = 0; i < this.registry.onProcessSheet.length; i++) {\n this.registry.onProcessSheet[i](sheet);\n }\n }\n /**\n * Call `onUpdate` hooks.\n */\n ;\n\n _proto.onUpdate = function onUpdate(data, rule, sheet, options) {\n for (var i = 0; i < this.registry.onUpdate.length; i++) {\n this.registry.onUpdate[i](data, rule, sheet, options);\n }\n }\n /**\n * Call `onChangeValue` hooks.\n */\n ;\n\n _proto.onChangeValue = function onChangeValue(value, prop, rule) {\n var processedValue = value;\n\n for (var i = 0; i < this.registry.onChangeValue.length; i++) {\n processedValue = this.registry.onChangeValue[i](processedValue, prop, rule);\n }\n\n return processedValue;\n }\n /**\n * Register a plugin.\n */\n ;\n\n _proto.use = function use(newPlugin, options) {\n if (options === void 0) {\n options = {\n queue: 'external'\n };\n }\n\n var plugins = this.plugins[options.queue]; // Avoids applying same plugin twice, at least based on ref.\n\n if (plugins.indexOf(newPlugin) !== -1) {\n return;\n }\n\n plugins.push(newPlugin);\n this.registry = [].concat(this.plugins.external, this.plugins.internal).reduce(function (registry, plugin) {\n for (var name in plugin) {\n if (name in registry) {\n registry[name].push(plugin[name]);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Unknown hook \\\"\" + name + \"\\\".\") : void 0;\n }\n }\n\n return registry;\n }, {\n onCreateRule: [],\n onProcessRule: [],\n onProcessStyle: [],\n onProcessSheet: [],\n onChangeValue: [],\n onUpdate: []\n });\n };\n\n return PluginsRegistry;\n}();\n\n/**\n * Sheets registry to access all instances in one place.\n */\n\nvar SheetsRegistry =\n/*#__PURE__*/\nfunction () {\n function SheetsRegistry() {\n this.registry = [];\n }\n\n var _proto = SheetsRegistry.prototype;\n\n /**\n * Register a Style Sheet.\n */\n _proto.add = function add(sheet) {\n var registry = this.registry;\n var index = sheet.options.index;\n if (registry.indexOf(sheet) !== -1) return;\n\n if (registry.length === 0 || index >= this.index) {\n registry.push(sheet);\n return;\n } // Find a position.\n\n\n for (var i = 0; i < registry.length; i++) {\n if (registry[i].options.index > index) {\n registry.splice(i, 0, sheet);\n return;\n }\n }\n }\n /**\n * Reset the registry.\n */\n ;\n\n _proto.reset = function reset() {\n this.registry = [];\n }\n /**\n * Remove a Style Sheet.\n */\n ;\n\n _proto.remove = function remove(sheet) {\n var index = this.registry.indexOf(sheet);\n this.registry.splice(index, 1);\n }\n /**\n * Convert all attached sheets to a CSS string.\n */\n ;\n\n _proto.toString = function toString(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n attached = _ref.attached,\n options = _objectWithoutPropertiesLoose(_ref, [\"attached\"]);\n\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n\n var css = '';\n\n for (var i = 0; i < this.registry.length; i++) {\n var sheet = this.registry[i];\n\n if (attached != null && sheet.attached !== attached) {\n continue;\n }\n\n if (css) css += linebreak;\n css += sheet.toString(options);\n }\n\n return css;\n };\n\n _createClass(SheetsRegistry, [{\n key: \"index\",\n\n /**\n * Current highest index number.\n */\n get: function get() {\n return this.registry.length === 0 ? 0 : this.registry[this.registry.length - 1].options.index;\n }\n }]);\n\n return SheetsRegistry;\n}();\n\n/**\n * This is a global sheets registry. Only DomRenderer will add sheets to it.\n * On the server one should use an own SheetsRegistry instance and add the\n * sheets to it, because you need to make sure to create a new registry for\n * each request in order to not leak sheets across requests.\n */\n\nvar sheets = new SheetsRegistry();\n\n/* eslint-disable */\n\n/**\n * Now that `globalThis` is available on most platforms\n * (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis#browser_compatibility)\n * we check for `globalThis` first. `globalThis` is necessary for jss\n * to run in Agoric's secure version of JavaScript (SES). Under SES,\n * `globalThis` exists, but `window`, `self`, and `Function('return\n * this')()` are all undefined for security reasons.\n *\n * https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\n */\nvar globalThis$1 = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' && window.Math === Math ? window : typeof self !== 'undefined' && self.Math === Math ? self : Function('return this')();\n\nvar ns = '2f1acc6c3a606b082e5eef5e54414ffb';\nif (globalThis$1[ns] == null) globalThis$1[ns] = 0; // Bundle may contain multiple JSS versions at the same time. In order to identify\n// the current version with just one short number and use it for classes generation\n// we use a counter. Also it is more accurate, because user can manually reevaluate\n// the module.\n\nvar moduleId = globalThis$1[ns]++;\n\nvar maxRules = 1e10;\n/**\n * Returns a function which generates unique class names based on counters.\n * When new generator function is created, rule counter is reseted.\n * We need to reset the rule counter for SSR for each request.\n */\n\nvar createGenerateId = function createGenerateId(options) {\n if (options === void 0) {\n options = {};\n }\n\n var ruleCounter = 0;\n\n var generateId = function generateId(rule, sheet) {\n ruleCounter += 1;\n\n if (ruleCounter > maxRules) {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] You might have a memory leak. Rule counter is at \" + ruleCounter + \".\") : void 0;\n }\n\n var jssId = '';\n var prefix = '';\n\n if (sheet) {\n if (sheet.options.classNamePrefix) {\n prefix = sheet.options.classNamePrefix;\n }\n\n if (sheet.options.jss.id != null) {\n jssId = String(sheet.options.jss.id);\n }\n }\n\n if (options.minify) {\n // Using \"c\" because a number can't be the first char in a class name.\n return \"\" + (prefix || 'c') + moduleId + jssId + ruleCounter;\n }\n\n return prefix + rule.key + \"-\" + moduleId + (jssId ? \"-\" + jssId : '') + \"-\" + ruleCounter;\n };\n\n return generateId;\n};\n\n/**\n * Cache the value from the first time a function is called.\n */\n\nvar memoize = function memoize(fn) {\n var value;\n return function () {\n if (!value) value = fn();\n return value;\n };\n};\n/**\n * Get a style property value.\n */\n\n\nvar getPropertyValue = function getPropertyValue(cssRule, prop) {\n try {\n // Support CSSTOM.\n if (cssRule.attributeStyleMap) {\n return cssRule.attributeStyleMap.get(prop);\n }\n\n return cssRule.style.getPropertyValue(prop);\n } catch (err) {\n // IE may throw if property is unknown.\n return '';\n }\n};\n/**\n * Set a style property.\n */\n\n\nvar setProperty = function setProperty(cssRule, prop, value) {\n try {\n var cssValue = value;\n\n if (Array.isArray(value)) {\n cssValue = toCssValue(value);\n } // Support CSSTOM.\n\n\n if (cssRule.attributeStyleMap) {\n cssRule.attributeStyleMap.set(prop, cssValue);\n } else {\n var indexOfImportantFlag = cssValue ? cssValue.indexOf('!important') : -1;\n var cssValueWithoutImportantFlag = indexOfImportantFlag > -1 ? cssValue.substr(0, indexOfImportantFlag - 1) : cssValue;\n cssRule.style.setProperty(prop, cssValueWithoutImportantFlag, indexOfImportantFlag > -1 ? 'important' : '');\n }\n } catch (err) {\n // IE may throw if property is unknown.\n return false;\n }\n\n return true;\n};\n/**\n * Remove a style property.\n */\n\n\nvar removeProperty = function removeProperty(cssRule, prop) {\n try {\n // Support CSSTOM.\n if (cssRule.attributeStyleMap) {\n cssRule.attributeStyleMap.delete(prop);\n } else {\n cssRule.style.removeProperty(prop);\n }\n } catch (err) {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] DOMException \\\"\" + err.message + \"\\\" was thrown. Tried to remove property \\\"\" + prop + \"\\\".\") : void 0;\n }\n};\n/**\n * Set the selector.\n */\n\n\nvar setSelector = function setSelector(cssRule, selectorText) {\n cssRule.selectorText = selectorText; // Return false if setter was not successful.\n // Currently works in chrome only.\n\n return cssRule.selectorText === selectorText;\n};\n/**\n * Gets the `head` element upon the first call and caches it.\n * We assume it can't be null.\n */\n\n\nvar getHead = memoize(function () {\n return document.querySelector('head');\n});\n/**\n * Find attached sheet with an index higher than the passed one.\n */\n\nfunction findHigherSheet(registry, options) {\n for (var i = 0; i < registry.length; i++) {\n var sheet = registry[i];\n\n if (sheet.attached && sheet.options.index > options.index && sheet.options.insertionPoint === options.insertionPoint) {\n return sheet;\n }\n }\n\n return null;\n}\n/**\n * Find attached sheet with the highest index.\n */\n\n\nfunction findHighestSheet(registry, options) {\n for (var i = registry.length - 1; i >= 0; i--) {\n var sheet = registry[i];\n\n if (sheet.attached && sheet.options.insertionPoint === options.insertionPoint) {\n return sheet;\n }\n }\n\n return null;\n}\n/**\n * Find a comment with \"jss\" inside.\n */\n\n\nfunction findCommentNode(text) {\n var head = getHead();\n\n for (var i = 0; i < head.childNodes.length; i++) {\n var node = head.childNodes[i];\n\n if (node.nodeType === 8 && node.nodeValue.trim() === text) {\n return node;\n }\n }\n\n return null;\n}\n/**\n * Find a node before which we can insert the sheet.\n */\n\n\nfunction findPrevNode(options) {\n var registry = sheets.registry;\n\n if (registry.length > 0) {\n // Try to insert before the next higher sheet.\n var sheet = findHigherSheet(registry, options);\n\n if (sheet && sheet.renderer) {\n return {\n parent: sheet.renderer.element.parentNode,\n node: sheet.renderer.element\n };\n } // Otherwise insert after the last attached.\n\n\n sheet = findHighestSheet(registry, options);\n\n if (sheet && sheet.renderer) {\n return {\n parent: sheet.renderer.element.parentNode,\n node: sheet.renderer.element.nextSibling\n };\n }\n } // Try to find a comment placeholder if registry is empty.\n\n\n var insertionPoint = options.insertionPoint;\n\n if (insertionPoint && typeof insertionPoint === 'string') {\n var comment = findCommentNode(insertionPoint);\n\n if (comment) {\n return {\n parent: comment.parentNode,\n node: comment.nextSibling\n };\n } // If user specifies an insertion point and it can't be found in the document -\n // bad specificity issues may appear.\n\n\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Insertion point \\\"\" + insertionPoint + \"\\\" not found.\") : void 0;\n }\n\n return false;\n}\n/**\n * Insert style element into the DOM.\n */\n\n\nfunction insertStyle(style, options) {\n var insertionPoint = options.insertionPoint;\n var nextNode = findPrevNode(options);\n\n if (nextNode !== false && nextNode.parent) {\n nextNode.parent.insertBefore(style, nextNode.node);\n return;\n } // Works with iframes and any node types.\n\n\n if (insertionPoint && typeof insertionPoint.nodeType === 'number') {\n var insertionPointElement = insertionPoint;\n var parentNode = insertionPointElement.parentNode;\n if (parentNode) parentNode.insertBefore(style, insertionPointElement.nextSibling);else process.env.NODE_ENV !== \"production\" ? warning(false, '[JSS] Insertion point is not in the DOM.') : void 0;\n return;\n }\n\n getHead().appendChild(style);\n}\n/**\n * Read jss nonce setting from the page if the user has set it.\n */\n\n\nvar getNonce = memoize(function () {\n var node = document.querySelector('meta[property=\"csp-nonce\"]');\n return node ? node.getAttribute('content') : null;\n});\n\nvar _insertRule = function insertRule(container, rule, index) {\n try {\n if ('insertRule' in container) {\n container.insertRule(rule, index);\n } // Keyframes rule.\n else if ('appendRule' in container) {\n container.appendRule(rule);\n }\n } catch (err) {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] \" + err.message) : void 0;\n return false;\n }\n\n return container.cssRules[index];\n};\n\nvar getValidRuleInsertionIndex = function getValidRuleInsertionIndex(container, index) {\n var maxIndex = container.cssRules.length; // In case previous insertion fails, passed index might be wrong\n\n if (index === undefined || index > maxIndex) {\n // eslint-disable-next-line no-param-reassign\n return maxIndex;\n }\n\n return index;\n};\n\nvar createStyle = function createStyle() {\n var el = document.createElement('style'); // Without it, IE will have a broken source order specificity if we\n // insert rules after we insert the style tag.\n // It seems to kick-off the source order specificity algorithm.\n\n el.textContent = '\\n';\n return el;\n};\n\nvar DomRenderer =\n/*#__PURE__*/\nfunction () {\n // Will be empty if link: true option is not set, because\n // it is only for use together with insertRule API.\n function DomRenderer(sheet) {\n this.getPropertyValue = getPropertyValue;\n this.setProperty = setProperty;\n this.removeProperty = removeProperty;\n this.setSelector = setSelector;\n this.hasInsertedRules = false;\n this.cssRules = [];\n // There is no sheet when the renderer is used from a standalone StyleRule.\n if (sheet) sheets.add(sheet);\n this.sheet = sheet;\n\n var _ref = this.sheet ? this.sheet.options : {},\n media = _ref.media,\n meta = _ref.meta,\n element = _ref.element;\n\n this.element = element || createStyle();\n this.element.setAttribute('data-jss', '');\n if (media) this.element.setAttribute('media', media);\n if (meta) this.element.setAttribute('data-meta', meta);\n var nonce = getNonce();\n if (nonce) this.element.setAttribute('nonce', nonce);\n }\n /**\n * Insert style element into render tree.\n */\n\n\n var _proto = DomRenderer.prototype;\n\n _proto.attach = function attach() {\n // In the case the element node is external and it is already in the DOM.\n if (this.element.parentNode || !this.sheet) return;\n insertStyle(this.element, this.sheet.options); // When rules are inserted using `insertRule` API, after `sheet.detach().attach()`\n // most browsers create a new CSSStyleSheet, except of all IEs.\n\n var deployed = Boolean(this.sheet && this.sheet.deployed);\n\n if (this.hasInsertedRules && deployed) {\n this.hasInsertedRules = false;\n this.deploy();\n }\n }\n /**\n * Remove style element from render tree.\n */\n ;\n\n _proto.detach = function detach() {\n if (!this.sheet) return;\n var parentNode = this.element.parentNode;\n if (parentNode) parentNode.removeChild(this.element); // In the most browsers, rules inserted using insertRule() API will be lost when style element is removed.\n // Though IE will keep them and we need a consistent behavior.\n\n if (this.sheet.options.link) {\n this.cssRules = [];\n this.element.textContent = '\\n';\n }\n }\n /**\n * Inject CSS string into element.\n */\n ;\n\n _proto.deploy = function deploy() {\n var sheet = this.sheet;\n if (!sheet) return;\n\n if (sheet.options.link) {\n this.insertRules(sheet.rules);\n return;\n }\n\n this.element.textContent = \"\\n\" + sheet.toString() + \"\\n\";\n }\n /**\n * Insert RuleList into an element.\n */\n ;\n\n _proto.insertRules = function insertRules(rules, nativeParent) {\n for (var i = 0; i < rules.index.length; i++) {\n this.insertRule(rules.index[i], i, nativeParent);\n }\n }\n /**\n * Insert a rule into element.\n */\n ;\n\n _proto.insertRule = function insertRule(rule, index, nativeParent) {\n if (nativeParent === void 0) {\n nativeParent = this.element.sheet;\n }\n\n if (rule.rules) {\n var parent = rule;\n var latestNativeParent = nativeParent;\n\n if (rule.type === 'conditional' || rule.type === 'keyframes') {\n var _insertionIndex = getValidRuleInsertionIndex(nativeParent, index); // We need to render the container without children first.\n\n\n latestNativeParent = _insertRule(nativeParent, parent.toString({\n children: false\n }), _insertionIndex);\n\n if (latestNativeParent === false) {\n return false;\n }\n\n this.refCssRule(rule, _insertionIndex, latestNativeParent);\n }\n\n this.insertRules(parent.rules, latestNativeParent);\n return latestNativeParent;\n }\n\n var ruleStr = rule.toString();\n if (!ruleStr) return false;\n var insertionIndex = getValidRuleInsertionIndex(nativeParent, index);\n\n var nativeRule = _insertRule(nativeParent, ruleStr, insertionIndex);\n\n if (nativeRule === false) {\n return false;\n }\n\n this.hasInsertedRules = true;\n this.refCssRule(rule, insertionIndex, nativeRule);\n return nativeRule;\n };\n\n _proto.refCssRule = function refCssRule(rule, index, cssRule) {\n rule.renderable = cssRule; // We only want to reference the top level rules, deleteRule API doesn't support removing nested rules\n // like rules inside media queries or keyframes\n\n if (rule.options.parent instanceof StyleSheet) {\n this.cssRules.splice(index, 0, cssRule);\n }\n }\n /**\n * Delete a rule.\n */\n ;\n\n _proto.deleteRule = function deleteRule(cssRule) {\n var sheet = this.element.sheet;\n var index = this.indexOf(cssRule);\n if (index === -1) return false;\n sheet.deleteRule(index);\n this.cssRules.splice(index, 1);\n return true;\n }\n /**\n * Get index of a CSS Rule.\n */\n ;\n\n _proto.indexOf = function indexOf(cssRule) {\n return this.cssRules.indexOf(cssRule);\n }\n /**\n * Generate a new CSS rule and replace the existing one.\n */\n ;\n\n _proto.replaceRule = function replaceRule(cssRule, rule) {\n var index = this.indexOf(cssRule);\n if (index === -1) return false;\n this.element.sheet.deleteRule(index);\n this.cssRules.splice(index, 1);\n return this.insertRule(rule, index);\n }\n /**\n * Get all rules elements.\n */\n ;\n\n _proto.getRules = function getRules() {\n return this.element.sheet.cssRules;\n };\n\n return DomRenderer;\n}();\n\nvar instanceCounter = 0;\n\nvar Jss =\n/*#__PURE__*/\nfunction () {\n function Jss(options) {\n this.id = instanceCounter++;\n this.version = \"10.9.2\";\n this.plugins = new PluginsRegistry();\n this.options = {\n id: {\n minify: false\n },\n createGenerateId: createGenerateId,\n Renderer: isInBrowser ? DomRenderer : null,\n plugins: []\n };\n this.generateId = createGenerateId({\n minify: false\n });\n\n for (var i = 0; i < plugins.length; i++) {\n this.plugins.use(plugins[i], {\n queue: 'internal'\n });\n }\n\n this.setup(options);\n }\n /**\n * Prepares various options, applies plugins.\n * Should not be used twice on the same instance, because there is no plugins\n * deduplication logic.\n */\n\n\n var _proto = Jss.prototype;\n\n _proto.setup = function setup(options) {\n if (options === void 0) {\n options = {};\n }\n\n if (options.createGenerateId) {\n this.options.createGenerateId = options.createGenerateId;\n }\n\n if (options.id) {\n this.options.id = _extends({}, this.options.id, options.id);\n }\n\n if (options.createGenerateId || options.id) {\n this.generateId = this.options.createGenerateId(this.options.id);\n }\n\n if (options.insertionPoint != null) this.options.insertionPoint = options.insertionPoint;\n\n if ('Renderer' in options) {\n this.options.Renderer = options.Renderer;\n } // eslint-disable-next-line prefer-spread\n\n\n if (options.plugins) this.use.apply(this, options.plugins);\n return this;\n }\n /**\n * Create a Style Sheet.\n */\n ;\n\n _proto.createStyleSheet = function createStyleSheet(styles, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n index = _options.index;\n\n if (typeof index !== 'number') {\n index = sheets.index === 0 ? 0 : sheets.index + 1;\n }\n\n var sheet = new StyleSheet(styles, _extends({}, options, {\n jss: this,\n generateId: options.generateId || this.generateId,\n insertionPoint: this.options.insertionPoint,\n Renderer: this.options.Renderer,\n index: index\n }));\n this.plugins.onProcessSheet(sheet);\n return sheet;\n }\n /**\n * Detach the Style Sheet and remove it from the registry.\n */\n ;\n\n _proto.removeStyleSheet = function removeStyleSheet(sheet) {\n sheet.detach();\n sheets.remove(sheet);\n return this;\n }\n /**\n * Create a rule without a Style Sheet.\n * [Deprecated] will be removed in the next major version.\n */\n ;\n\n _proto.createRule = function createRule$1(name, style, options) {\n if (style === void 0) {\n style = {};\n }\n\n if (options === void 0) {\n options = {};\n }\n\n // Enable rule without name for inline styles.\n if (typeof name === 'object') {\n return this.createRule(undefined, name, style);\n }\n\n var ruleOptions = _extends({}, options, {\n name: name,\n jss: this,\n Renderer: this.options.Renderer\n });\n\n if (!ruleOptions.generateId) ruleOptions.generateId = this.generateId;\n if (!ruleOptions.classes) ruleOptions.classes = {};\n if (!ruleOptions.keyframes) ruleOptions.keyframes = {};\n\n var rule = createRule(name, style, ruleOptions);\n\n if (rule) this.plugins.onProcessRule(rule);\n return rule;\n }\n /**\n * Register plugin. Passed function will be invoked with a rule instance.\n */\n ;\n\n _proto.use = function use() {\n var _this = this;\n\n for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {\n plugins[_key] = arguments[_key];\n }\n\n plugins.forEach(function (plugin) {\n _this.plugins.use(plugin);\n });\n return this;\n };\n\n return Jss;\n}();\n\nvar createJss = function createJss(options) {\n return new Jss(options);\n};\n\n/**\n * SheetsManager is like a WeakMap which is designed to count StyleSheet\n * instances and attach/detach automatically.\n * Used in react-jss.\n */\n\nvar SheetsManager =\n/*#__PURE__*/\nfunction () {\n function SheetsManager() {\n this.length = 0;\n this.sheets = new WeakMap();\n }\n\n var _proto = SheetsManager.prototype;\n\n _proto.get = function get(key) {\n var entry = this.sheets.get(key);\n return entry && entry.sheet;\n };\n\n _proto.add = function add(key, sheet) {\n if (this.sheets.has(key)) return;\n this.length++;\n this.sheets.set(key, {\n sheet: sheet,\n refs: 0\n });\n };\n\n _proto.manage = function manage(key) {\n var entry = this.sheets.get(key);\n\n if (entry) {\n if (entry.refs === 0) {\n entry.sheet.attach();\n }\n\n entry.refs++;\n return entry.sheet;\n }\n\n warning(false, \"[JSS] SheetsManager: can't find sheet to manage\");\n return undefined;\n };\n\n _proto.unmanage = function unmanage(key) {\n var entry = this.sheets.get(key);\n\n if (entry) {\n if (entry.refs > 0) {\n entry.refs--;\n if (entry.refs === 0) entry.sheet.detach();\n }\n } else {\n warning(false, \"SheetsManager: can't find sheet to unmanage\");\n }\n };\n\n _createClass(SheetsManager, [{\n key: \"size\",\n get: function get() {\n return this.length;\n }\n }]);\n\n return SheetsManager;\n}();\n\n/**\n* Export a constant indicating if this browser has CSSTOM support.\n* https://developers.google.com/web/updates/2018/03/cssom\n*/\nvar hasCSSTOMSupport = typeof CSS === 'object' && CSS != null && 'number' in CSS;\n\n/**\n * Extracts a styles object with only props that contain function values.\n */\nfunction getDynamicStyles(styles) {\n var to = null;\n\n for (var key in styles) {\n var value = styles[key];\n var type = typeof value;\n\n if (type === 'function') {\n if (!to) to = {};\n to[key] = value;\n } else if (type === 'object' && value !== null && !Array.isArray(value)) {\n var extracted = getDynamicStyles(value);\n\n if (extracted) {\n if (!to) to = {};\n to[key] = extracted;\n }\n }\n }\n\n return to;\n}\n\n/**\n * A better abstraction over CSS.\n *\n * @copyright Oleg Isonen (Slobodskoi) / Isonen 2014-present\n * @website https://github.com/cssinjs/jss\n * @license MIT\n */\nvar index = createJss();\n\nexport default index;\nexport { RuleList, SheetsManager, SheetsRegistry, createJss as create, createGenerateId, createRule, getDynamicStyles, hasCSSTOMSupport, sheets, toCssValue };\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { getDisplayName } from '@material-ui/utils';\nexport default function mergeClasses() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var baseClasses = options.baseClasses,\n newClasses = options.newClasses,\n Component = options.Component;\n\n if (!newClasses) {\n return baseClasses;\n }\n\n var nextClasses = _extends({}, baseClasses);\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof newClasses === 'string') {\n console.error([\"Material-UI: The value `\".concat(newClasses, \"` \") + \"provided to the classes prop of \".concat(getDisplayName(Component), \" is incorrect.\"), 'You might want to use the className prop instead.'].join('\\n'));\n return baseClasses;\n }\n }\n\n Object.keys(newClasses).forEach(function (key) {\n if (process.env.NODE_ENV !== 'production') {\n if (!baseClasses[key] && newClasses[key]) {\n console.error([\"Material-UI: The key `\".concat(key, \"` \") + \"provided to the classes prop is not implemented in \".concat(getDisplayName(Component), \".\"), \"You can only override one of the following: \".concat(Object.keys(baseClasses).join(','), \".\")].join('\\n'));\n }\n\n if (newClasses[key] && typeof newClasses[key] !== 'string') {\n console.error([\"Material-UI: The key `\".concat(key, \"` \") + \"provided to the classes prop is not valid for \".concat(getDisplayName(Component), \".\"), \"You need to provide a non empty string instead of: \".concat(newClasses[key], \".\")].join('\\n'));\n }\n }\n\n if (newClasses[key]) {\n nextClasses[key] = \"\".concat(baseClasses[key], \" \").concat(newClasses[key]);\n }\n });\n return nextClasses;\n}","// Used https://github.com/thinkloop/multi-key-cache as inspiration\nvar multiKeyStore = {\n set: function set(cache, key1, key2, value) {\n var subCache = cache.get(key1);\n\n if (!subCache) {\n subCache = new Map();\n cache.set(key1, subCache);\n }\n\n subCache.set(key2, value);\n },\n get: function get(cache, key1, key2) {\n var subCache = cache.get(key1);\n return subCache ? subCache.get(key2) : undefined;\n },\n delete: function _delete(cache, key1, key2) {\n var subCache = cache.get(key1);\n subCache.delete(key2);\n }\n};\nexport default multiKeyStore;","import React from 'react';\nvar ThemeContext = React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'ThemeContext';\n}\n\nexport default ThemeContext;","import React from 'react';\nimport ThemeContext from './ThemeContext';\nexport default function useTheme() {\n var theme = React.useContext(ThemeContext);\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(theme);\n }\n\n return theme;\n}","var hasSymbol = typeof Symbol === 'function' && Symbol.for;\nexport default hasSymbol ? Symbol.for('mui.nested') : '__THEME_NESTED__';","import nested from '../ThemeProvider/nested';\n/**\n * This is the list of the style rule name we use as drop in replacement for the built-in\n * pseudo classes (:checked, :disabled, :focused, etc.).\n *\n * Why do they exist in the first place?\n * These classes are used at a specificity of 2.\n * It allows them to override previously definied styles as well as\n * being untouched by simple user overrides.\n */\n\nvar pseudoClasses = ['checked', 'disabled', 'error', 'focused', 'focusVisible', 'required', 'expanded', 'selected']; // Returns a function which generates unique class names based on counters.\n// When new generator function is created, rule counter is reset.\n// We need to reset the rule counter for SSR for each request.\n//\n// It's inspired by\n// https://github.com/cssinjs/jss/blob/4e6a05dd3f7b6572fdd3ab216861d9e446c20331/src/utils/createGenerateClassName.js\n\nexport default function createGenerateClassName() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _options$disableGloba = options.disableGlobal,\n disableGlobal = _options$disableGloba === void 0 ? false : _options$disableGloba,\n _options$productionPr = options.productionPrefix,\n productionPrefix = _options$productionPr === void 0 ? 'jss' : _options$productionPr,\n _options$seed = options.seed,\n seed = _options$seed === void 0 ? '' : _options$seed;\n var seedPrefix = seed === '' ? '' : \"\".concat(seed, \"-\");\n var ruleCounter = 0;\n\n var getNextCounterId = function getNextCounterId() {\n ruleCounter += 1;\n\n if (process.env.NODE_ENV !== 'production') {\n if (ruleCounter >= 1e10) {\n console.warn(['Material-UI: You might have a memory leak.', 'The ruleCounter is not supposed to grow that much.'].join(''));\n }\n }\n\n return ruleCounter;\n };\n\n return function (rule, styleSheet) {\n var name = styleSheet.options.name; // Is a global static MUI style?\n\n if (name && name.indexOf('Mui') === 0 && !styleSheet.options.link && !disableGlobal) {\n // We can use a shorthand class name, we never use the keys to style the components.\n if (pseudoClasses.indexOf(rule.key) !== -1) {\n return \"Mui-\".concat(rule.key);\n }\n\n var prefix = \"\".concat(seedPrefix).concat(name, \"-\").concat(rule.key);\n\n if (!styleSheet.options.theme[nested] || seed !== '') {\n return prefix;\n }\n\n return \"\".concat(prefix, \"-\").concat(getNextCounterId());\n }\n\n if (process.env.NODE_ENV === 'production') {\n return \"\".concat(seedPrefix).concat(productionPrefix).concat(getNextCounterId());\n }\n\n var suffix = \"\".concat(rule.key, \"-\").concat(getNextCounterId()); // Help with debuggability.\n\n if (styleSheet.options.classNamePrefix) {\n return \"\".concat(seedPrefix).concat(styleSheet.options.classNamePrefix, \"-\").concat(suffix);\n }\n\n return \"\".concat(seedPrefix).concat(suffix);\n };\n}","import warning from 'tiny-warning';\nimport { createRule } from 'jss';\n\nvar now = Date.now();\nvar fnValuesNs = \"fnValues\" + now;\nvar fnRuleNs = \"fnStyle\" + ++now;\n\nvar functionPlugin = function functionPlugin() {\n return {\n onCreateRule: function onCreateRule(name, decl, options) {\n if (typeof decl !== 'function') return null;\n var rule = createRule(name, {}, options);\n rule[fnRuleNs] = decl;\n return rule;\n },\n onProcessStyle: function onProcessStyle(style, rule) {\n // We need to extract function values from the declaration, so that we can keep core unaware of them.\n // We need to do that only once.\n // We don't need to extract functions on each style update, since this can happen only once.\n // We don't support function values inside of function rules.\n if (fnValuesNs in rule || fnRuleNs in rule) return style;\n var fnValues = {};\n\n for (var prop in style) {\n var value = style[prop];\n if (typeof value !== 'function') continue;\n delete style[prop];\n fnValues[prop] = value;\n }\n\n rule[fnValuesNs] = fnValues;\n return style;\n },\n onUpdate: function onUpdate(data, rule, sheet, options) {\n var styleRule = rule;\n var fnRule = styleRule[fnRuleNs]; // If we have a style function, the entire rule is dynamic and style object\n // will be returned from that function.\n\n if (fnRule) {\n // Empty object will remove all currently defined props\n // in case function rule returns a falsy value.\n styleRule.style = fnRule(data) || {};\n\n if (process.env.NODE_ENV === 'development') {\n for (var prop in styleRule.style) {\n if (typeof styleRule.style[prop] === 'function') {\n process.env.NODE_ENV !== \"production\" ? warning(false, '[JSS] Function values inside function rules are not supported.') : void 0;\n break;\n }\n }\n }\n }\n\n var fnValues = styleRule[fnValuesNs]; // If we have a fn values map, it is a rule with function values.\n\n if (fnValues) {\n for (var _prop in fnValues) {\n styleRule.prop(_prop, fnValues[_prop](data), options);\n }\n }\n }\n };\n};\n\nexport default functionPlugin;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport { RuleList } from 'jss';\n\nvar at = '@global';\nvar atPrefix = '@global ';\n\nvar GlobalContainerRule =\n/*#__PURE__*/\nfunction () {\n function GlobalContainerRule(key, styles, options) {\n this.type = 'global';\n this.at = at;\n this.isProcessed = false;\n this.key = key;\n this.options = options;\n this.rules = new RuleList(_extends({}, options, {\n parent: this\n }));\n\n for (var selector in styles) {\n this.rules.add(selector, styles[selector]);\n }\n\n this.rules.process();\n }\n /**\n * Get a rule.\n */\n\n\n var _proto = GlobalContainerRule.prototype;\n\n _proto.getRule = function getRule(name) {\n return this.rules.get(name);\n }\n /**\n * Create and register rule, run plugins.\n */\n ;\n\n _proto.addRule = function addRule(name, style, options) {\n var rule = this.rules.add(name, style, options);\n if (rule) this.options.jss.plugins.onProcessRule(rule);\n return rule;\n }\n /**\n * Replace rule, run plugins.\n */\n ;\n\n _proto.replaceRule = function replaceRule(name, style, options) {\n var newRule = this.rules.replace(name, style, options);\n if (newRule) this.options.jss.plugins.onProcessRule(newRule);\n return newRule;\n }\n /**\n * Get index of a rule.\n */\n ;\n\n _proto.indexOf = function indexOf(rule) {\n return this.rules.indexOf(rule);\n }\n /**\n * Generates a CSS string.\n */\n ;\n\n _proto.toString = function toString(options) {\n return this.rules.toString(options);\n };\n\n return GlobalContainerRule;\n}();\n\nvar GlobalPrefixedRule =\n/*#__PURE__*/\nfunction () {\n function GlobalPrefixedRule(key, style, options) {\n this.type = 'global';\n this.at = at;\n this.isProcessed = false;\n this.key = key;\n this.options = options;\n var selector = key.substr(atPrefix.length);\n this.rule = options.jss.createRule(selector, style, _extends({}, options, {\n parent: this\n }));\n }\n\n var _proto2 = GlobalPrefixedRule.prototype;\n\n _proto2.toString = function toString(options) {\n return this.rule ? this.rule.toString(options) : '';\n };\n\n return GlobalPrefixedRule;\n}();\n\nvar separatorRegExp = /\\s*,\\s*/g;\n\nfunction addScope(selector, scope) {\n var parts = selector.split(separatorRegExp);\n var scoped = '';\n\n for (var i = 0; i < parts.length; i++) {\n scoped += scope + \" \" + parts[i].trim();\n if (parts[i + 1]) scoped += ', ';\n }\n\n return scoped;\n}\n\nfunction handleNestedGlobalContainerRule(rule, sheet) {\n var options = rule.options,\n style = rule.style;\n var rules = style ? style[at] : null;\n if (!rules) return;\n\n for (var name in rules) {\n sheet.addRule(name, rules[name], _extends({}, options, {\n selector: addScope(name, rule.selector)\n }));\n }\n\n delete style[at];\n}\n\nfunction handlePrefixedGlobalRule(rule, sheet) {\n var options = rule.options,\n style = rule.style;\n\n for (var prop in style) {\n if (prop[0] !== '@' || prop.substr(0, at.length) !== at) continue;\n var selector = addScope(prop.substr(at.length), rule.selector);\n sheet.addRule(selector, style[prop], _extends({}, options, {\n selector: selector\n }));\n delete style[prop];\n }\n}\n/**\n * Convert nested rules to separate, remove them from original styles.\n */\n\n\nfunction jssGlobal() {\n function onCreateRule(name, styles, options) {\n if (!name) return null;\n\n if (name === at) {\n return new GlobalContainerRule(name, styles, options);\n }\n\n if (name[0] === '@' && name.substr(0, atPrefix.length) === atPrefix) {\n return new GlobalPrefixedRule(name, styles, options);\n }\n\n var parent = options.parent;\n\n if (parent) {\n if (parent.type === 'global' || parent.options.parent && parent.options.parent.type === 'global') {\n options.scoped = false;\n }\n }\n\n if (!options.selector && options.scoped === false) {\n options.selector = name;\n }\n\n return null;\n }\n\n function onProcessRule(rule, sheet) {\n if (rule.type !== 'style' || !sheet) return;\n handleNestedGlobalContainerRule(rule, sheet);\n handlePrefixedGlobalRule(rule, sheet);\n }\n\n return {\n onCreateRule: onCreateRule,\n onProcessRule: onProcessRule\n };\n}\n\nexport default jssGlobal;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport warning from 'tiny-warning';\n\nvar separatorRegExp = /\\s*,\\s*/g;\nvar parentRegExp = /&/g;\nvar refRegExp = /\\$([\\w-]+)/g;\n/**\n * Convert nested rules to separate, remove them from original styles.\n */\n\nfunction jssNested() {\n // Get a function to be used for $ref replacement.\n function getReplaceRef(container, sheet) {\n return function (match, key) {\n var rule = container.getRule(key) || sheet && sheet.getRule(key);\n\n if (rule) {\n return rule.selector;\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Could not find the referenced rule \\\"\" + key + \"\\\" in \\\"\" + (container.options.meta || container.toString()) + \"\\\".\") : void 0;\n return key;\n };\n }\n\n function replaceParentRefs(nestedProp, parentProp) {\n var parentSelectors = parentProp.split(separatorRegExp);\n var nestedSelectors = nestedProp.split(separatorRegExp);\n var result = '';\n\n for (var i = 0; i < parentSelectors.length; i++) {\n var parent = parentSelectors[i];\n\n for (var j = 0; j < nestedSelectors.length; j++) {\n var nested = nestedSelectors[j];\n if (result) result += ', '; // Replace all & by the parent or prefix & with the parent.\n\n result += nested.indexOf('&') !== -1 ? nested.replace(parentRegExp, parent) : parent + \" \" + nested;\n }\n }\n\n return result;\n }\n\n function getOptions(rule, container, prevOptions) {\n // Options has been already created, now we only increase index.\n if (prevOptions) return _extends({}, prevOptions, {\n index: prevOptions.index + 1\n });\n var nestingLevel = rule.options.nestingLevel;\n nestingLevel = nestingLevel === undefined ? 1 : nestingLevel + 1;\n\n var options = _extends({}, rule.options, {\n nestingLevel: nestingLevel,\n index: container.indexOf(rule) + 1 // We don't need the parent name to be set options for chlid.\n\n });\n\n delete options.name;\n return options;\n }\n\n function onProcessStyle(style, rule, sheet) {\n if (rule.type !== 'style') return style;\n var styleRule = rule;\n var container = styleRule.options.parent;\n var options;\n var replaceRef;\n\n for (var prop in style) {\n var isNested = prop.indexOf('&') !== -1;\n var isNestedConditional = prop[0] === '@';\n if (!isNested && !isNestedConditional) continue;\n options = getOptions(styleRule, container, options);\n\n if (isNested) {\n var selector = replaceParentRefs(prop, styleRule.selector); // Lazily create the ref replacer function just once for\n // all nested rules within the sheet.\n\n if (!replaceRef) replaceRef = getReplaceRef(container, sheet); // Replace all $refs.\n\n selector = selector.replace(refRegExp, replaceRef);\n var name = styleRule.key + \"-\" + prop;\n\n if ('replaceRule' in container) {\n // for backward compatibility\n container.replaceRule(name, style[prop], _extends({}, options, {\n selector: selector\n }));\n } else {\n container.addRule(name, style[prop], _extends({}, options, {\n selector: selector\n }));\n }\n } else if (isNestedConditional) {\n // Place conditional right after the parent rule to ensure right ordering.\n container.addRule(prop, {}, options).addRule(styleRule.key, style[prop], {\n selector: styleRule.selector\n });\n }\n\n delete style[prop];\n }\n\n return style;\n }\n\n return {\n onProcessStyle: onProcessStyle\n };\n}\n\nexport default jssNested;\n","/* eslint-disable no-var, prefer-template */\nvar uppercasePattern = /[A-Z]/g\nvar msPattern = /^ms-/\nvar cache = {}\n\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase()\n}\n\nfunction hyphenateStyleName(name) {\n if (cache.hasOwnProperty(name)) {\n return cache[name]\n }\n\n var hName = name.replace(uppercasePattern, toHyphenLower)\n return (cache[name] = msPattern.test(hName) ? '-' + hName : hName)\n}\n\nexport default hyphenateStyleName\n","import hyphenate from 'hyphenate-style-name';\n\n/**\n * Convert camel cased property names to dash separated.\n */\n\nfunction convertCase(style) {\n var converted = {};\n\n for (var prop in style) {\n var key = prop.indexOf('--') === 0 ? prop : hyphenate(prop);\n converted[key] = style[prop];\n }\n\n if (style.fallbacks) {\n if (Array.isArray(style.fallbacks)) converted.fallbacks = style.fallbacks.map(convertCase);else converted.fallbacks = convertCase(style.fallbacks);\n }\n\n return converted;\n}\n/**\n * Allow camel cased property names by converting them back to dasherized.\n */\n\n\nfunction camelCase() {\n function onProcessStyle(style) {\n if (Array.isArray(style)) {\n // Handle rules like @font-face, which can have multiple styles in an array\n for (var index = 0; index < style.length; index++) {\n style[index] = convertCase(style[index]);\n }\n\n return style;\n }\n\n return convertCase(style);\n }\n\n function onChangeValue(value, prop, rule) {\n if (prop.indexOf('--') === 0) {\n return value;\n }\n\n var hyphenatedProp = hyphenate(prop); // There was no camel case in place\n\n if (prop === hyphenatedProp) return value;\n rule.prop(hyphenatedProp, value); // Core will ignore that property value we set the proper one above.\n\n return null;\n }\n\n return {\n onProcessStyle: onProcessStyle,\n onChangeValue: onChangeValue\n };\n}\n\nexport default camelCase;\n","import { hasCSSTOMSupport } from 'jss';\n\nvar px = hasCSSTOMSupport && CSS ? CSS.px : 'px';\nvar ms = hasCSSTOMSupport && CSS ? CSS.ms : 'ms';\nvar percent = hasCSSTOMSupport && CSS ? CSS.percent : '%';\n/**\n * Generated jss-plugin-default-unit CSS property units\n */\n\nvar defaultUnits = {\n // Animation properties\n 'animation-delay': ms,\n 'animation-duration': ms,\n // Background properties\n 'background-position': px,\n 'background-position-x': px,\n 'background-position-y': px,\n 'background-size': px,\n // Border Properties\n border: px,\n 'border-bottom': px,\n 'border-bottom-left-radius': px,\n 'border-bottom-right-radius': px,\n 'border-bottom-width': px,\n 'border-left': px,\n 'border-left-width': px,\n 'border-radius': px,\n 'border-right': px,\n 'border-right-width': px,\n 'border-top': px,\n 'border-top-left-radius': px,\n 'border-top-right-radius': px,\n 'border-top-width': px,\n 'border-width': px,\n 'border-block': px,\n 'border-block-end': px,\n 'border-block-end-width': px,\n 'border-block-start': px,\n 'border-block-start-width': px,\n 'border-block-width': px,\n 'border-inline': px,\n 'border-inline-end': px,\n 'border-inline-end-width': px,\n 'border-inline-start': px,\n 'border-inline-start-width': px,\n 'border-inline-width': px,\n 'border-start-start-radius': px,\n 'border-start-end-radius': px,\n 'border-end-start-radius': px,\n 'border-end-end-radius': px,\n // Margin properties\n margin: px,\n 'margin-bottom': px,\n 'margin-left': px,\n 'margin-right': px,\n 'margin-top': px,\n 'margin-block': px,\n 'margin-block-end': px,\n 'margin-block-start': px,\n 'margin-inline': px,\n 'margin-inline-end': px,\n 'margin-inline-start': px,\n // Padding properties\n padding: px,\n 'padding-bottom': px,\n 'padding-left': px,\n 'padding-right': px,\n 'padding-top': px,\n 'padding-block': px,\n 'padding-block-end': px,\n 'padding-block-start': px,\n 'padding-inline': px,\n 'padding-inline-end': px,\n 'padding-inline-start': px,\n // Mask properties\n 'mask-position-x': px,\n 'mask-position-y': px,\n 'mask-size': px,\n // Width and height properties\n height: px,\n width: px,\n 'min-height': px,\n 'max-height': px,\n 'min-width': px,\n 'max-width': px,\n // Position properties\n bottom: px,\n left: px,\n top: px,\n right: px,\n inset: px,\n 'inset-block': px,\n 'inset-block-end': px,\n 'inset-block-start': px,\n 'inset-inline': px,\n 'inset-inline-end': px,\n 'inset-inline-start': px,\n // Shadow properties\n 'box-shadow': px,\n 'text-shadow': px,\n // Column properties\n 'column-gap': px,\n 'column-rule': px,\n 'column-rule-width': px,\n 'column-width': px,\n // Font and text properties\n 'font-size': px,\n 'font-size-delta': px,\n 'letter-spacing': px,\n 'text-decoration-thickness': px,\n 'text-indent': px,\n 'text-stroke': px,\n 'text-stroke-width': px,\n 'word-spacing': px,\n // Motion properties\n motion: px,\n 'motion-offset': px,\n // Outline properties\n outline: px,\n 'outline-offset': px,\n 'outline-width': px,\n // Perspective properties\n perspective: px,\n 'perspective-origin-x': percent,\n 'perspective-origin-y': percent,\n // Transform properties\n 'transform-origin': percent,\n 'transform-origin-x': percent,\n 'transform-origin-y': percent,\n 'transform-origin-z': percent,\n // Transition properties\n 'transition-delay': ms,\n 'transition-duration': ms,\n // Alignment properties\n 'vertical-align': px,\n 'flex-basis': px,\n // Some random properties\n 'shape-margin': px,\n size: px,\n gap: px,\n // Grid properties\n grid: px,\n 'grid-gap': px,\n 'row-gap': px,\n 'grid-row-gap': px,\n 'grid-column-gap': px,\n 'grid-template-rows': px,\n 'grid-template-columns': px,\n 'grid-auto-rows': px,\n 'grid-auto-columns': px,\n // Not existing properties.\n // Used to avoid issues with jss-plugin-expand integration.\n 'box-shadow-x': px,\n 'box-shadow-y': px,\n 'box-shadow-blur': px,\n 'box-shadow-spread': px,\n 'font-line-height': px,\n 'text-shadow-x': px,\n 'text-shadow-y': px,\n 'text-shadow-blur': px\n};\n\n/**\n * Clones the object and adds a camel cased property version.\n */\n\nfunction addCamelCasedVersion(obj) {\n var regExp = /(-[a-z])/g;\n\n var replace = function replace(str) {\n return str[1].toUpperCase();\n };\n\n var newObj = {};\n\n for (var key in obj) {\n newObj[key] = obj[key];\n newObj[key.replace(regExp, replace)] = obj[key];\n }\n\n return newObj;\n}\n\nvar units = addCamelCasedVersion(defaultUnits);\n/**\n * Recursive deep style passing function\n */\n\nfunction iterate(prop, value, options) {\n if (value == null) return value;\n\n if (Array.isArray(value)) {\n for (var i = 0; i < value.length; i++) {\n value[i] = iterate(prop, value[i], options);\n }\n } else if (typeof value === 'object') {\n if (prop === 'fallbacks') {\n for (var innerProp in value) {\n value[innerProp] = iterate(innerProp, value[innerProp], options);\n }\n } else {\n for (var _innerProp in value) {\n value[_innerProp] = iterate(prop + \"-\" + _innerProp, value[_innerProp], options);\n }\n } // eslint-disable-next-line no-restricted-globals\n\n } else if (typeof value === 'number' && isNaN(value) === false) {\n var unit = options[prop] || units[prop]; // Add the unit if available, except for the special case of 0px.\n\n if (unit && !(value === 0 && unit === px)) {\n return typeof unit === 'function' ? unit(value).toString() : \"\" + value + unit;\n }\n\n return value.toString();\n }\n\n return value;\n}\n/**\n * Add unit to numeric values.\n */\n\n\nfunction defaultUnit(options) {\n if (options === void 0) {\n options = {};\n }\n\n var camelCasedOptions = addCamelCasedVersion(options);\n\n function onProcessStyle(style, rule) {\n if (rule.type !== 'style') return style;\n\n for (var prop in style) {\n style[prop] = iterate(prop, style[prop], camelCasedOptions);\n }\n\n return style;\n }\n\n function onChangeValue(value, prop) {\n return iterate(prop, value, camelCasedOptions);\n }\n\n return {\n onProcessStyle: onProcessStyle,\n onChangeValue: onChangeValue\n };\n}\n\nexport default defaultUnit;\n","import isInBrowser from 'is-in-browser';\nimport _toConsumableArray from '@babel/runtime/helpers/esm/toConsumableArray';\n\n// Export javascript style and css style vendor prefixes.\nvar js = '';\nvar css = '';\nvar vendor = '';\nvar browser = '';\nvar isTouch = isInBrowser && 'ontouchstart' in document.documentElement; // We should not do anything if required serverside.\n\nif (isInBrowser) {\n // Order matters. We need to check Webkit the last one because\n // other vendors use to add Webkit prefixes to some properties\n var jsCssMap = {\n Moz: '-moz-',\n ms: '-ms-',\n O: '-o-',\n Webkit: '-webkit-'\n };\n\n var _document$createEleme = document.createElement('p'),\n style = _document$createEleme.style;\n\n var testProp = 'Transform';\n\n for (var key in jsCssMap) {\n if (key + testProp in style) {\n js = key;\n css = jsCssMap[key];\n break;\n }\n } // Correctly detect the Edge browser.\n\n\n if (js === 'Webkit' && 'msHyphens' in style) {\n js = 'ms';\n css = jsCssMap.ms;\n browser = 'edge';\n } // Correctly detect the Safari browser.\n\n\n if (js === 'Webkit' && '-apple-trailing-word' in style) {\n vendor = 'apple';\n }\n}\n/**\n * Vendor prefix string for the current browser.\n *\n * @type {{js: String, css: String, vendor: String, browser: String}}\n * @api public\n */\n\n\nvar prefix = {\n js: js,\n css: css,\n vendor: vendor,\n browser: browser,\n isTouch: isTouch\n};\n\n/**\n * Test if a keyframe at-rule should be prefixed or not\n *\n * @param {String} vendor prefix string for the current browser.\n * @return {String}\n * @api public\n */\n\nfunction supportedKeyframes(key) {\n // Keyframes is already prefixed. e.g. key = '@-webkit-keyframes a'\n if (key[1] === '-') return key; // No need to prefix IE/Edge. Older browsers will ignore unsupported rules.\n // https://caniuse.com/#search=keyframes\n\n if (prefix.js === 'ms') return key;\n return \"@\" + prefix.css + \"keyframes\" + key.substr(10);\n}\n\n// https://caniuse.com/#search=appearance\n\nvar appearence = {\n noPrefill: ['appearance'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'appearance') return false;\n if (prefix.js === 'ms') return \"-webkit-\" + prop;\n return prefix.css + prop;\n }\n};\n\n// https://caniuse.com/#search=color-adjust\n\nvar colorAdjust = {\n noPrefill: ['color-adjust'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'color-adjust') return false;\n if (prefix.js === 'Webkit') return prefix.css + \"print-\" + prop;\n return prop;\n }\n};\n\nvar regExp = /[-\\s]+(.)?/g;\n/**\n * Replaces the letter with the capital letter\n *\n * @param {String} match\n * @param {String} c\n * @return {String}\n * @api private\n */\n\nfunction toUpper(match, c) {\n return c ? c.toUpperCase() : '';\n}\n/**\n * Convert dash separated strings to camel-cased.\n *\n * @param {String} str\n * @return {String}\n * @api private\n */\n\n\nfunction camelize(str) {\n return str.replace(regExp, toUpper);\n}\n\n/**\n * Convert dash separated strings to pascal cased.\n *\n * @param {String} str\n * @return {String}\n * @api private\n */\n\nfunction pascalize(str) {\n return camelize(\"-\" + str);\n}\n\n// but we can use a longhand property instead.\n// https://caniuse.com/#search=mask\n\nvar mask = {\n noPrefill: ['mask'],\n supportedProperty: function supportedProperty(prop, style) {\n if (!/^mask/.test(prop)) return false;\n\n if (prefix.js === 'Webkit') {\n var longhand = 'mask-image';\n\n if (camelize(longhand) in style) {\n return prop;\n }\n\n if (prefix.js + pascalize(longhand) in style) {\n return prefix.css + prop;\n }\n }\n\n return prop;\n }\n};\n\n// https://caniuse.com/#search=text-orientation\n\nvar textOrientation = {\n noPrefill: ['text-orientation'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'text-orientation') return false;\n\n if (prefix.vendor === 'apple' && !prefix.isTouch) {\n return prefix.css + prop;\n }\n\n return prop;\n }\n};\n\n// https://caniuse.com/#search=transform\n\nvar transform = {\n noPrefill: ['transform'],\n supportedProperty: function supportedProperty(prop, style, options) {\n if (prop !== 'transform') return false;\n\n if (options.transform) {\n return prop;\n }\n\n return prefix.css + prop;\n }\n};\n\n// https://caniuse.com/#search=transition\n\nvar transition = {\n noPrefill: ['transition'],\n supportedProperty: function supportedProperty(prop, style, options) {\n if (prop !== 'transition') return false;\n\n if (options.transition) {\n return prop;\n }\n\n return prefix.css + prop;\n }\n};\n\n// https://caniuse.com/#search=writing-mode\n\nvar writingMode = {\n noPrefill: ['writing-mode'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'writing-mode') return false;\n\n if (prefix.js === 'Webkit' || prefix.js === 'ms' && prefix.browser !== 'edge') {\n return prefix.css + prop;\n }\n\n return prop;\n }\n};\n\n// https://caniuse.com/#search=user-select\n\nvar userSelect = {\n noPrefill: ['user-select'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'user-select') return false;\n\n if (prefix.js === 'Moz' || prefix.js === 'ms' || prefix.vendor === 'apple') {\n return prefix.css + prop;\n }\n\n return prop;\n }\n};\n\n// https://caniuse.com/#search=multicolumn\n// https://github.com/postcss/autoprefixer/issues/491\n// https://github.com/postcss/autoprefixer/issues/177\n\nvar breakPropsOld = {\n supportedProperty: function supportedProperty(prop, style) {\n if (!/^break-/.test(prop)) return false;\n\n if (prefix.js === 'Webkit') {\n var jsProp = \"WebkitColumn\" + pascalize(prop);\n return jsProp in style ? prefix.css + \"column-\" + prop : false;\n }\n\n if (prefix.js === 'Moz') {\n var _jsProp = \"page\" + pascalize(prop);\n\n return _jsProp in style ? \"page-\" + prop : false;\n }\n\n return false;\n }\n};\n\n// See https://github.com/postcss/autoprefixer/issues/324.\n\nvar inlineLogicalOld = {\n supportedProperty: function supportedProperty(prop, style) {\n if (!/^(border|margin|padding)-inline/.test(prop)) return false;\n if (prefix.js === 'Moz') return prop;\n var newProp = prop.replace('-inline', '');\n return prefix.js + pascalize(newProp) in style ? prefix.css + newProp : false;\n }\n};\n\n// Camelization is required because we can't test using.\n// CSS syntax for e.g. in FF.\n\nvar unprefixed = {\n supportedProperty: function supportedProperty(prop, style) {\n return camelize(prop) in style ? prop : false;\n }\n};\n\nvar prefixed = {\n supportedProperty: function supportedProperty(prop, style) {\n var pascalized = pascalize(prop); // Return custom CSS variable without prefixing.\n\n if (prop[0] === '-') return prop; // Return already prefixed value without prefixing.\n\n if (prop[0] === '-' && prop[1] === '-') return prop;\n if (prefix.js + pascalized in style) return prefix.css + prop; // Try webkit fallback.\n\n if (prefix.js !== 'Webkit' && \"Webkit\" + pascalized in style) return \"-webkit-\" + prop;\n return false;\n }\n};\n\n// https://caniuse.com/#search=scroll-snap\n\nvar scrollSnap = {\n supportedProperty: function supportedProperty(prop) {\n if (prop.substring(0, 11) !== 'scroll-snap') return false;\n\n if (prefix.js === 'ms') {\n return \"\" + prefix.css + prop;\n }\n\n return prop;\n }\n};\n\n// https://caniuse.com/#search=overscroll-behavior\n\nvar overscrollBehavior = {\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'overscroll-behavior') return false;\n\n if (prefix.js === 'ms') {\n return prefix.css + \"scroll-chaining\";\n }\n\n return prop;\n }\n};\n\nvar propMap = {\n 'flex-grow': 'flex-positive',\n 'flex-shrink': 'flex-negative',\n 'flex-basis': 'flex-preferred-size',\n 'justify-content': 'flex-pack',\n order: 'flex-order',\n 'align-items': 'flex-align',\n 'align-content': 'flex-line-pack' // 'align-self' is handled by 'align-self' plugin.\n\n}; // Support old flex spec from 2012.\n\nvar flex2012 = {\n supportedProperty: function supportedProperty(prop, style) {\n var newProp = propMap[prop];\n if (!newProp) return false;\n return prefix.js + pascalize(newProp) in style ? prefix.css + newProp : false;\n }\n};\n\nvar propMap$1 = {\n flex: 'box-flex',\n 'flex-grow': 'box-flex',\n 'flex-direction': ['box-orient', 'box-direction'],\n order: 'box-ordinal-group',\n 'align-items': 'box-align',\n 'flex-flow': ['box-orient', 'box-direction'],\n 'justify-content': 'box-pack'\n};\nvar propKeys = Object.keys(propMap$1);\n\nvar prefixCss = function prefixCss(p) {\n return prefix.css + p;\n}; // Support old flex spec from 2009.\n\n\nvar flex2009 = {\n supportedProperty: function supportedProperty(prop, style, _ref) {\n var multiple = _ref.multiple;\n\n if (propKeys.indexOf(prop) > -1) {\n var newProp = propMap$1[prop];\n\n if (!Array.isArray(newProp)) {\n return prefix.js + pascalize(newProp) in style ? prefix.css + newProp : false;\n }\n\n if (!multiple) return false;\n\n for (var i = 0; i < newProp.length; i++) {\n if (!(prefix.js + pascalize(newProp[0]) in style)) {\n return false;\n }\n }\n\n return newProp.map(prefixCss);\n }\n\n return false;\n }\n};\n\n// plugins = [\n// ...plugins,\n// breakPropsOld,\n// inlineLogicalOld,\n// unprefixed,\n// prefixed,\n// scrollSnap,\n// flex2012,\n// flex2009\n// ]\n// Plugins without 'noPrefill' value, going last.\n// 'flex-*' plugins should be at the bottom.\n// 'flex2009' going after 'flex2012'.\n// 'prefixed' going after 'unprefixed'\n\nvar plugins = [appearence, colorAdjust, mask, textOrientation, transform, transition, writingMode, userSelect, breakPropsOld, inlineLogicalOld, unprefixed, prefixed, scrollSnap, overscrollBehavior, flex2012, flex2009];\nvar propertyDetectors = plugins.filter(function (p) {\n return p.supportedProperty;\n}).map(function (p) {\n return p.supportedProperty;\n});\nvar noPrefill = plugins.filter(function (p) {\n return p.noPrefill;\n}).reduce(function (a, p) {\n a.push.apply(a, _toConsumableArray(p.noPrefill));\n return a;\n}, []);\n\nvar el;\nvar cache = {};\n\nif (isInBrowser) {\n el = document.createElement('p'); // We test every property on vendor prefix requirement.\n // Once tested, result is cached. It gives us up to 70% perf boost.\n // http://jsperf.com/element-style-object-access-vs-plain-object\n //\n // Prefill cache with known css properties to reduce amount of\n // properties we need to feature test at runtime.\n // http://davidwalsh.name/vendor-prefix\n\n var computed = window.getComputedStyle(document.documentElement, '');\n\n for (var key$1 in computed) {\n // eslint-disable-next-line no-restricted-globals\n if (!isNaN(key$1)) cache[computed[key$1]] = computed[key$1];\n } // Properties that cannot be correctly detected using the\n // cache prefill method.\n\n\n noPrefill.forEach(function (x) {\n return delete cache[x];\n });\n}\n/**\n * Test if a property is supported, returns supported property with vendor\n * prefix if required. Returns `false` if not supported.\n *\n * @param {String} prop dash separated\n * @param {Object} [options]\n * @return {String|Boolean}\n * @api public\n */\n\n\nfunction supportedProperty(prop, options) {\n if (options === void 0) {\n options = {};\n }\n\n // For server-side rendering.\n if (!el) return prop; // Remove cache for benchmark tests or return property from the cache.\n\n if (process.env.NODE_ENV !== 'benchmark' && cache[prop] != null) {\n return cache[prop];\n } // Check if 'transition' or 'transform' natively supported in browser.\n\n\n if (prop === 'transition' || prop === 'transform') {\n options[prop] = prop in el.style;\n } // Find a plugin for current prefix property.\n\n\n for (var i = 0; i < propertyDetectors.length; i++) {\n cache[prop] = propertyDetectors[i](prop, el.style, options); // Break loop, if value found.\n\n if (cache[prop]) break;\n } // Reset styles for current property.\n // Firefox can even throw an error for invalid properties, e.g., \"0\".\n\n\n try {\n el.style[prop] = '';\n } catch (err) {\n return false;\n }\n\n return cache[prop];\n}\n\nvar cache$1 = {};\nvar transitionProperties = {\n transition: 1,\n 'transition-property': 1,\n '-webkit-transition': 1,\n '-webkit-transition-property': 1\n};\nvar transPropsRegExp = /(^\\s*[\\w-]+)|, (\\s*[\\w-]+)(?![^()]*\\))/g;\nvar el$1;\n/**\n * Returns prefixed value transition/transform if needed.\n *\n * @param {String} match\n * @param {String} p1\n * @param {String} p2\n * @return {String}\n * @api private\n */\n\nfunction prefixTransitionCallback(match, p1, p2) {\n if (p1 === 'var') return 'var';\n if (p1 === 'all') return 'all';\n if (p2 === 'all') return ', all';\n var prefixedValue = p1 ? supportedProperty(p1) : \", \" + supportedProperty(p2);\n if (!prefixedValue) return p1 || p2;\n return prefixedValue;\n}\n\nif (isInBrowser) el$1 = document.createElement('p');\n/**\n * Returns prefixed value if needed. Returns `false` if value is not supported.\n *\n * @param {String} property\n * @param {String} value\n * @return {String|Boolean}\n * @api public\n */\n\nfunction supportedValue(property, value) {\n // For server-side rendering.\n var prefixedValue = value;\n if (!el$1 || property === 'content') return value; // It is a string or a number as a string like '1'.\n // We want only prefixable values here.\n // eslint-disable-next-line no-restricted-globals\n\n if (typeof prefixedValue !== 'string' || !isNaN(parseInt(prefixedValue, 10))) {\n return prefixedValue;\n } // Create cache key for current value.\n\n\n var cacheKey = property + prefixedValue; // Remove cache for benchmark tests or return value from cache.\n\n if (process.env.NODE_ENV !== 'benchmark' && cache$1[cacheKey] != null) {\n return cache$1[cacheKey];\n } // IE can even throw an error in some cases, for e.g. style.content = 'bar'.\n\n\n try {\n // Test value as it is.\n el$1.style[property] = prefixedValue;\n } catch (err) {\n // Return false if value not supported.\n cache$1[cacheKey] = false;\n return false;\n } // If 'transition' or 'transition-property' property.\n\n\n if (transitionProperties[property]) {\n prefixedValue = prefixedValue.replace(transPropsRegExp, prefixTransitionCallback);\n } else if (el$1.style[property] === '') {\n // Value with a vendor prefix.\n prefixedValue = prefix.css + prefixedValue; // Hardcode test to convert \"flex\" to \"-ms-flexbox\" for IE10.\n\n if (prefixedValue === '-ms-flex') el$1.style[property] = '-ms-flexbox'; // Test prefixed value.\n\n el$1.style[property] = prefixedValue; // Return false if value not supported.\n\n if (el$1.style[property] === '') {\n cache$1[cacheKey] = false;\n return false;\n }\n } // Reset styles for current property.\n\n\n el$1.style[property] = ''; // Write current value to cache.\n\n cache$1[cacheKey] = prefixedValue;\n return cache$1[cacheKey];\n}\n\nexport { prefix, supportedKeyframes, supportedProperty, supportedValue };\n","import { supportedKeyframes, supportedValue, supportedProperty } from 'css-vendor';\nimport { toCssValue } from 'jss';\n\n/**\n * Add vendor prefix to a property name when needed.\n */\n\nfunction jssVendorPrefixer() {\n function onProcessRule(rule) {\n if (rule.type === 'keyframes') {\n var atRule = rule;\n atRule.at = supportedKeyframes(atRule.at);\n }\n }\n\n function prefixStyle(style) {\n for (var prop in style) {\n var value = style[prop];\n\n if (prop === 'fallbacks' && Array.isArray(value)) {\n style[prop] = value.map(prefixStyle);\n continue;\n }\n\n var changeProp = false;\n var supportedProp = supportedProperty(prop);\n if (supportedProp && supportedProp !== prop) changeProp = true;\n var changeValue = false;\n var supportedValue$1 = supportedValue(supportedProp, toCssValue(value));\n if (supportedValue$1 && supportedValue$1 !== value) changeValue = true;\n\n if (changeProp || changeValue) {\n if (changeProp) delete style[prop];\n style[supportedProp || prop] = supportedValue$1 || value;\n }\n }\n\n return style;\n }\n\n function onProcessStyle(style, rule) {\n if (rule.type !== 'style') return style;\n return prefixStyle(style);\n }\n\n function onChangeValue(value, prop) {\n return supportedValue(prop, toCssValue(value)) || value;\n }\n\n return {\n onProcessRule: onProcessRule,\n onProcessStyle: onProcessStyle,\n onChangeValue: onChangeValue\n };\n}\n\nexport default jssVendorPrefixer;\n","/**\n * Sort props by length.\n */\nfunction jssPropsSort() {\n var sort = function sort(prop0, prop1) {\n if (prop0.length === prop1.length) {\n return prop0 > prop1 ? 1 : -1;\n }\n\n return prop0.length - prop1.length;\n };\n\n return {\n onProcessStyle: function onProcessStyle(style, rule) {\n if (rule.type !== 'style') return style;\n var newStyle = {};\n var props = Object.keys(style).sort(sort);\n\n for (var i = 0; i < props.length; i++) {\n newStyle[props[i]] = style[props[i]];\n }\n\n return newStyle;\n }\n };\n}\n\nexport default jssPropsSort;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { exactProp } from '@material-ui/utils';\nimport createGenerateClassName from '../createGenerateClassName';\nimport { create } from 'jss';\nimport jssPreset from '../jssPreset'; // Default JSS instance.\n\nvar jss = create(jssPreset()); // Use a singleton or the provided one by the context.\n//\n// The counter-based approach doesn't tolerate any mistake.\n// It's much safer to use the same counter everywhere.\n\nvar generateClassName = createGenerateClassName(); // Exported for test purposes\n\nexport var sheetsManager = new Map();\nvar defaultOptions = {\n disableGeneration: false,\n generateClassName: generateClassName,\n jss: jss,\n sheetsCache: null,\n sheetsManager: sheetsManager,\n sheetsRegistry: null\n};\nexport var StylesContext = React.createContext(defaultOptions);\n\nif (process.env.NODE_ENV !== 'production') {\n StylesContext.displayName = 'StylesContext';\n}\n\nvar injectFirstNode;\nexport default function StylesProvider(props) {\n var children = props.children,\n _props$injectFirst = props.injectFirst,\n injectFirst = _props$injectFirst === void 0 ? false : _props$injectFirst,\n _props$disableGenerat = props.disableGeneration,\n disableGeneration = _props$disableGenerat === void 0 ? false : _props$disableGenerat,\n localOptions = _objectWithoutProperties(props, [\"children\", \"injectFirst\", \"disableGeneration\"]);\n\n var outerOptions = React.useContext(StylesContext);\n\n var context = _extends({}, outerOptions, {\n disableGeneration: disableGeneration\n }, localOptions);\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof window === 'undefined' && !context.sheetsManager) {\n console.error('Material-UI: You need to use the ServerStyleSheets API when rendering on the server.');\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (context.jss.options.insertionPoint && injectFirst) {\n console.error('Material-UI: You cannot use a custom insertionPoint and <StylesContext injectFirst> at the same time.');\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (injectFirst && localOptions.jss) {\n console.error('Material-UI: You cannot use the jss and injectFirst props at the same time.');\n }\n }\n\n if (!context.jss.options.insertionPoint && injectFirst && typeof window !== 'undefined') {\n if (!injectFirstNode) {\n var head = document.head;\n injectFirstNode = document.createComment('mui-inject-first');\n head.insertBefore(injectFirstNode, head.firstChild);\n }\n\n context.jss = create({\n plugins: jssPreset().plugins,\n insertionPoint: injectFirstNode\n });\n }\n\n return /*#__PURE__*/React.createElement(StylesContext.Provider, {\n value: context\n }, children);\n}\nprocess.env.NODE_ENV !== \"production\" ? StylesProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: PropTypes.node.isRequired,\n\n /**\n * You can disable the generation of the styles with this option.\n * It can be useful when traversing the React tree outside of the HTML\n * rendering step on the server.\n * Let's say you are using react-apollo to extract all\n * the queries made by the interface server-side - you can significantly speed up the traversal with this prop.\n */\n disableGeneration: PropTypes.bool,\n\n /**\n * JSS's class name generator.\n */\n generateClassName: PropTypes.func,\n\n /**\n * By default, the styles are injected last in the <head> element of the page.\n * As a result, they gain more specificity than any other style sheet.\n * If you want to override Material-UI's styles, set this prop.\n */\n injectFirst: PropTypes.bool,\n\n /**\n * JSS's instance.\n */\n jss: PropTypes.object,\n\n /**\n * @ignore\n */\n serverGenerateClassName: PropTypes.func,\n\n /**\n * @ignore\n *\n * Beta feature.\n *\n * Cache for the sheets.\n */\n sheetsCache: PropTypes.object,\n\n /**\n * @ignore\n *\n * The sheetsManager is used to deduplicate style sheet injection in the page.\n * It's deduplicating using the (theme, styles) couple.\n * On the server, you should provide a new instance for each request.\n */\n sheetsManager: PropTypes.object,\n\n /**\n * @ignore\n *\n * Collect the sheets.\n */\n sheetsRegistry: PropTypes.object\n} : void 0;\n\nif (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? StylesProvider.propTypes = exactProp(StylesProvider.propTypes) : void 0;\n}","import functions from 'jss-plugin-rule-value-function';\nimport global from 'jss-plugin-global';\nimport nested from 'jss-plugin-nested';\nimport camelCase from 'jss-plugin-camel-case';\nimport defaultUnit from 'jss-plugin-default-unit';\nimport vendorPrefixer from 'jss-plugin-vendor-prefixer';\nimport propsSort from 'jss-plugin-props-sort'; // Subset of jss-preset-default with only the plugins the Material-UI components are using.\n\nexport default function jssPreset() {\n return {\n plugins: [functions(), global(), nested(), camelCase(), defaultUnit(), // Disable the vendor prefixer server-side, it does nothing.\n // This way, we can get a performance boost.\n // In the documentation, we are using `autoprefixer` to solve this problem.\n typeof window === 'undefined' ? null : vendorPrefixer(), propsSort()]\n };\n}","/* eslint-disable import/prefer-default-export */\n// Global index counter to preserve source order.\n// We create the style sheet during the creation of the component,\n// children are handled after the parents, so the order of style elements would be parent->child.\n// It is a problem though when a parent passes a className\n// which needs to override any child's styles.\n// StyleSheet of the child has a higher specificity, because of the source order.\n// So our solution is to render sheets them in the reverse order child->sheet, so\n// that parent has a higher specificity.\nvar indexCounter = -1e9;\nexport function increment() {\n indexCounter += 1;\n\n if (process.env.NODE_ENV !== 'production') {\n if (indexCounter >= 0) {\n console.warn(['Material-UI: You might have a memory leak.', 'The indexCounter is not supposed to grow that much.'].join('\\n'));\n }\n }\n\n return indexCounter;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nexport function isPlainObject(item) {\n return item && _typeof(item) === 'object' && item.constructor === Object;\n}\nexport default function deepmerge(target, source) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n clone: true\n };\n var output = options.clone ? _extends({}, target) : target;\n\n if (isPlainObject(target) && isPlainObject(source)) {\n Object.keys(source).forEach(function (key) {\n // Avoid prototype pollution\n if (key === '__proto__') {\n return;\n }\n\n if (isPlainObject(source[key]) && key in target) {\n output[key] = deepmerge(target[key], source[key], options);\n } else {\n output[key] = source[key];\n }\n });\n }\n\n return output;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { deepmerge } from '@material-ui/utils';\nimport noopTheme from './noopTheme';\nexport default function getStylesCreator(stylesOrCreator) {\n var themingEnabled = typeof stylesOrCreator === 'function';\n\n if (process.env.NODE_ENV !== 'production') {\n if (_typeof(stylesOrCreator) !== 'object' && !themingEnabled) {\n console.error(['Material-UI: The `styles` argument provided is invalid.', 'You need to provide a function generating the styles or a styles object.'].join('\\n'));\n }\n }\n\n return {\n create: function create(theme, name) {\n var styles;\n\n try {\n styles = themingEnabled ? stylesOrCreator(theme) : stylesOrCreator;\n } catch (err) {\n if (process.env.NODE_ENV !== 'production') {\n if (themingEnabled === true && theme === noopTheme) {\n // TODO: prepend error message/name instead\n console.error(['Material-UI: The `styles` argument provided is invalid.', 'You are providing a function without a theme in the context.', 'One of the parent elements needs to use a ThemeProvider.'].join('\\n'));\n }\n }\n\n throw err;\n }\n\n if (!name || !theme.overrides || !theme.overrides[name]) {\n return styles;\n }\n\n var overrides = theme.overrides[name];\n\n var stylesWithOverrides = _extends({}, styles);\n\n Object.keys(overrides).forEach(function (key) {\n if (process.env.NODE_ENV !== 'production') {\n if (!stylesWithOverrides[key]) {\n console.warn(['Material-UI: You are trying to override a style that does not exist.', \"Fix the `\".concat(key, \"` key of `theme.overrides.\").concat(name, \"`.\")].join('\\n'));\n }\n }\n\n stylesWithOverrides[key] = deepmerge(stylesWithOverrides[key], overrides[key]);\n });\n return stylesWithOverrides;\n },\n options: {}\n };\n}","// We use the same empty object to ref count the styles that don't need a theme object.\nvar noopTheme = {};\nexport default noopTheme;","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport React from 'react';\nimport { getDynamicStyles } from 'jss';\nimport mergeClasses from '../mergeClasses';\nimport multiKeyStore from './multiKeyStore';\nimport useTheme from '../useTheme';\nimport { StylesContext } from '../StylesProvider';\nimport { increment } from './indexCounter';\nimport getStylesCreator from '../getStylesCreator';\nimport noopTheme from '../getStylesCreator/noopTheme';\n\nfunction getClasses(_ref, classes, Component) {\n var state = _ref.state,\n stylesOptions = _ref.stylesOptions;\n\n if (stylesOptions.disableGeneration) {\n return classes || {};\n }\n\n if (!state.cacheClasses) {\n state.cacheClasses = {\n // Cache for the finalized classes value.\n value: null,\n // Cache for the last used classes prop pointer.\n lastProp: null,\n // Cache for the last used rendered classes pointer.\n lastJSS: {}\n };\n } // Tracks if either the rendered classes or classes prop has changed,\n // requiring the generation of a new finalized classes object.\n\n\n var generate = false;\n\n if (state.classes !== state.cacheClasses.lastJSS) {\n state.cacheClasses.lastJSS = state.classes;\n generate = true;\n }\n\n if (classes !== state.cacheClasses.lastProp) {\n state.cacheClasses.lastProp = classes;\n generate = true;\n }\n\n if (generate) {\n state.cacheClasses.value = mergeClasses({\n baseClasses: state.cacheClasses.lastJSS,\n newClasses: classes,\n Component: Component\n });\n }\n\n return state.cacheClasses.value;\n}\n\nfunction attach(_ref2, props) {\n var state = _ref2.state,\n theme = _ref2.theme,\n stylesOptions = _ref2.stylesOptions,\n stylesCreator = _ref2.stylesCreator,\n name = _ref2.name;\n\n if (stylesOptions.disableGeneration) {\n return;\n }\n\n var sheetManager = multiKeyStore.get(stylesOptions.sheetsManager, stylesCreator, theme);\n\n if (!sheetManager) {\n sheetManager = {\n refs: 0,\n staticSheet: null,\n dynamicStyles: null\n };\n multiKeyStore.set(stylesOptions.sheetsManager, stylesCreator, theme, sheetManager);\n }\n\n var options = _extends({}, stylesCreator.options, stylesOptions, {\n theme: theme,\n flip: typeof stylesOptions.flip === 'boolean' ? stylesOptions.flip : theme.direction === 'rtl'\n });\n\n options.generateId = options.serverGenerateClassName || options.generateClassName;\n var sheetsRegistry = stylesOptions.sheetsRegistry;\n\n if (sheetManager.refs === 0) {\n var staticSheet;\n\n if (stylesOptions.sheetsCache) {\n staticSheet = multiKeyStore.get(stylesOptions.sheetsCache, stylesCreator, theme);\n }\n\n var styles = stylesCreator.create(theme, name);\n\n if (!staticSheet) {\n staticSheet = stylesOptions.jss.createStyleSheet(styles, _extends({\n link: false\n }, options));\n staticSheet.attach();\n\n if (stylesOptions.sheetsCache) {\n multiKeyStore.set(stylesOptions.sheetsCache, stylesCreator, theme, staticSheet);\n }\n }\n\n if (sheetsRegistry) {\n sheetsRegistry.add(staticSheet);\n }\n\n sheetManager.staticSheet = staticSheet;\n sheetManager.dynamicStyles = getDynamicStyles(styles);\n }\n\n if (sheetManager.dynamicStyles) {\n var dynamicSheet = stylesOptions.jss.createStyleSheet(sheetManager.dynamicStyles, _extends({\n link: true\n }, options));\n dynamicSheet.update(props);\n dynamicSheet.attach();\n state.dynamicSheet = dynamicSheet;\n state.classes = mergeClasses({\n baseClasses: sheetManager.staticSheet.classes,\n newClasses: dynamicSheet.classes\n });\n\n if (sheetsRegistry) {\n sheetsRegistry.add(dynamicSheet);\n }\n } else {\n state.classes = sheetManager.staticSheet.classes;\n }\n\n sheetManager.refs += 1;\n}\n\nfunction update(_ref3, props) {\n var state = _ref3.state;\n\n if (state.dynamicSheet) {\n state.dynamicSheet.update(props);\n }\n}\n\nfunction detach(_ref4) {\n var state = _ref4.state,\n theme = _ref4.theme,\n stylesOptions = _ref4.stylesOptions,\n stylesCreator = _ref4.stylesCreator;\n\n if (stylesOptions.disableGeneration) {\n return;\n }\n\n var sheetManager = multiKeyStore.get(stylesOptions.sheetsManager, stylesCreator, theme);\n sheetManager.refs -= 1;\n var sheetsRegistry = stylesOptions.sheetsRegistry;\n\n if (sheetManager.refs === 0) {\n multiKeyStore.delete(stylesOptions.sheetsManager, stylesCreator, theme);\n stylesOptions.jss.removeStyleSheet(sheetManager.staticSheet);\n\n if (sheetsRegistry) {\n sheetsRegistry.remove(sheetManager.staticSheet);\n }\n }\n\n if (state.dynamicSheet) {\n stylesOptions.jss.removeStyleSheet(state.dynamicSheet);\n\n if (sheetsRegistry) {\n sheetsRegistry.remove(state.dynamicSheet);\n }\n }\n}\n\nfunction useSynchronousEffect(func, values) {\n var key = React.useRef([]);\n var output; // Store \"generation\" key. Just returns a new object every time\n\n var currentKey = React.useMemo(function () {\n return {};\n }, values); // eslint-disable-line react-hooks/exhaustive-deps\n // \"the first render\", or \"memo dropped the value\"\n\n if (key.current !== currentKey) {\n key.current = currentKey;\n output = func();\n }\n\n React.useEffect(function () {\n return function () {\n if (output) {\n output();\n }\n };\n }, [currentKey] // eslint-disable-line react-hooks/exhaustive-deps\n );\n}\n\nexport default function makeStyles(stylesOrCreator) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var name = options.name,\n classNamePrefixOption = options.classNamePrefix,\n Component = options.Component,\n _options$defaultTheme = options.defaultTheme,\n defaultTheme = _options$defaultTheme === void 0 ? noopTheme : _options$defaultTheme,\n stylesOptions2 = _objectWithoutProperties(options, [\"name\", \"classNamePrefix\", \"Component\", \"defaultTheme\"]);\n\n var stylesCreator = getStylesCreator(stylesOrCreator);\n var classNamePrefix = name || classNamePrefixOption || 'makeStyles';\n stylesCreator.options = {\n index: increment(),\n name: name,\n meta: classNamePrefix,\n classNamePrefix: classNamePrefix\n };\n\n var useStyles = function useStyles() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var theme = useTheme() || defaultTheme;\n\n var stylesOptions = _extends({}, React.useContext(StylesContext), stylesOptions2);\n\n var instance = React.useRef();\n var shouldUpdate = React.useRef();\n useSynchronousEffect(function () {\n var current = {\n name: name,\n state: {},\n stylesCreator: stylesCreator,\n stylesOptions: stylesOptions,\n theme: theme\n };\n attach(current, props);\n shouldUpdate.current = false;\n instance.current = current;\n return function () {\n detach(current);\n };\n }, [theme, stylesCreator]);\n React.useEffect(function () {\n if (shouldUpdate.current) {\n update(instance.current, props);\n }\n\n shouldUpdate.current = true;\n });\n var classes = getClasses(instance.current, props.classes, Component);\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(classes);\n }\n\n return classes;\n };\n\n return useStyles;\n}","/* eslint-disable no-restricted-syntax */\nexport default function getThemeProps(params) {\n var theme = params.theme,\n name = params.name,\n props = params.props;\n\n if (!theme || !theme.props || !theme.props[name]) {\n return props;\n } // Resolve default props, code borrow from React source.\n // https://github.com/facebook/react/blob/15a8f031838a553e41c0b66eb1bcf1da8448104d/packages/react/src/ReactElement.js#L221\n\n\n var defaultProps = theme.props[name];\n var propName;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n\n return props;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport { chainPropTypes, getDisplayName } from '@material-ui/utils';\nimport makeStyles from '../makeStyles';\nimport getThemeProps from '../getThemeProps';\nimport useTheme from '../useTheme'; // Link a style sheet with a component.\n// It does not modify the component passed to it;\n// instead, it returns a new component, with a `classes` property.\n\nvar withStyles = function withStyles(stylesOrCreator) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return function (Component) {\n var defaultTheme = options.defaultTheme,\n _options$withTheme = options.withTheme,\n withTheme = _options$withTheme === void 0 ? false : _options$withTheme,\n name = options.name,\n stylesOptions = _objectWithoutProperties(options, [\"defaultTheme\", \"withTheme\", \"name\"]);\n\n if (process.env.NODE_ENV !== 'production') {\n if (Component === undefined) {\n throw new Error(['You are calling withStyles(styles)(Component) with an undefined component.', 'You may have forgotten to import it.'].join('\\n'));\n }\n }\n\n var classNamePrefix = name;\n\n if (process.env.NODE_ENV !== 'production') {\n if (!name) {\n // Provide a better DX outside production.\n var displayName = getDisplayName(Component);\n\n if (displayName !== undefined) {\n classNamePrefix = displayName;\n }\n }\n }\n\n var useStyles = makeStyles(stylesOrCreator, _extends({\n defaultTheme: defaultTheme,\n Component: Component,\n name: name || Component.displayName,\n classNamePrefix: classNamePrefix\n }, stylesOptions));\n var WithStyles = /*#__PURE__*/React.forwardRef(function WithStyles(props, ref) {\n var classesProp = props.classes,\n innerRef = props.innerRef,\n other = _objectWithoutProperties(props, [\"classes\", \"innerRef\"]); // The wrapper receives only user supplied props, which could be a subset of\n // the actual props Component might receive due to merging with defaultProps.\n // So copying it here would give us the same result in the wrapper as well.\n\n\n var classes = useStyles(_extends({}, Component.defaultProps, props));\n var theme;\n var more = other;\n\n if (typeof name === 'string' || withTheme) {\n // name and withTheme are invariant in the outer scope\n // eslint-disable-next-line react-hooks/rules-of-hooks\n theme = useTheme() || defaultTheme;\n\n if (name) {\n more = getThemeProps({\n theme: theme,\n name: name,\n props: other\n });\n } // Provide the theme to the wrapped component.\n // So we don't have to use the `withTheme()` Higher-order Component.\n\n\n if (withTheme && !more.theme) {\n more.theme = theme;\n }\n }\n\n return /*#__PURE__*/React.createElement(Component, _extends({\n ref: innerRef || ref,\n classes: classes\n }, more));\n });\n process.env.NODE_ENV !== \"production\" ? WithStyles.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * Use that prop to pass a ref to the decorated component.\n * @deprecated\n */\n innerRef: chainPropTypes(PropTypes.oneOfType([PropTypes.func, PropTypes.object]), function (props) {\n if (props.innerRef == null) {\n return null;\n }\n\n return null; // return new Error(\n // 'Material-UI: The `innerRef` prop is deprecated and will be removed in v5. ' +\n // 'Refs are now automatically forwarded to the inner component.',\n // );\n })\n } : void 0;\n\n if (process.env.NODE_ENV !== 'production') {\n WithStyles.displayName = \"WithStyles(\".concat(getDisplayName(Component), \")\");\n }\n\n hoistNonReactStatics(WithStyles, Component);\n\n if (process.env.NODE_ENV !== 'production') {\n // Exposed for test purposes.\n WithStyles.Naked = Component;\n WithStyles.options = options;\n WithStyles.useStyles = useStyles;\n }\n\n return WithStyles;\n };\n};\n\nexport default withStyles;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n// Sorted ASC by size. That's important.\n// It can't be configured as it's used statically for propTypes.\nexport var keys = ['xs', 'sm', 'md', 'lg', 'xl']; // Keep in mind that @media is inclusive by the CSS specification.\n\nexport default function createBreakpoints(breakpoints) {\n var _breakpoints$values = breakpoints.values,\n values = _breakpoints$values === void 0 ? {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920\n } : _breakpoints$values,\n _breakpoints$unit = breakpoints.unit,\n unit = _breakpoints$unit === void 0 ? 'px' : _breakpoints$unit,\n _breakpoints$step = breakpoints.step,\n step = _breakpoints$step === void 0 ? 5 : _breakpoints$step,\n other = _objectWithoutProperties(breakpoints, [\"values\", \"unit\", \"step\"]);\n\n function up(key) {\n var value = typeof values[key] === 'number' ? values[key] : key;\n return \"@media (min-width:\".concat(value).concat(unit, \")\");\n }\n\n function down(key) {\n var endIndex = keys.indexOf(key) + 1;\n var upperbound = values[keys[endIndex]];\n\n if (endIndex === keys.length) {\n // xl down applies to all sizes\n return up('xs');\n }\n\n var value = typeof upperbound === 'number' && endIndex > 0 ? upperbound : key;\n return \"@media (max-width:\".concat(value - step / 100).concat(unit, \")\");\n }\n\n function between(start, end) {\n var endIndex = keys.indexOf(end);\n\n if (endIndex === keys.length - 1) {\n return up(start);\n }\n\n return \"@media (min-width:\".concat(typeof values[start] === 'number' ? values[start] : start).concat(unit, \") and \") + \"(max-width:\".concat((endIndex !== -1 && typeof values[keys[endIndex + 1]] === 'number' ? values[keys[endIndex + 1]] : end) - step / 100).concat(unit, \")\");\n }\n\n function only(key) {\n return between(key, key);\n }\n\n var warnedOnce = false;\n\n function width(key) {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n warnedOnce = true;\n console.warn([\"Material-UI: The `theme.breakpoints.width` utility is deprecated because it's redundant.\", 'Use the `theme.breakpoints.values` instead.'].join('\\n'));\n }\n }\n\n return values[key];\n }\n\n return _extends({\n keys: keys,\n values: values,\n up: up,\n down: down,\n between: between,\n only: only,\n width: width\n }, other);\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function createMixins(breakpoints, spacing, mixins) {\n var _toolbar;\n\n return _extends({\n gutters: function gutters() {\n var styles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n console.warn(['Material-UI: theme.mixins.gutters() is deprecated.', 'You can use the source of the mixin directly:', \"\\n paddingLeft: theme.spacing(2),\\n paddingRight: theme.spacing(2),\\n [theme.breakpoints.up('sm')]: {\\n paddingLeft: theme.spacing(3),\\n paddingRight: theme.spacing(3),\\n },\\n \"].join('\\n'));\n return _extends({\n paddingLeft: spacing(2),\n paddingRight: spacing(2)\n }, styles, _defineProperty({}, breakpoints.up('sm'), _extends({\n paddingLeft: spacing(3),\n paddingRight: spacing(3)\n }, styles[breakpoints.up('sm')])));\n },\n toolbar: (_toolbar = {\n minHeight: 56\n }, _defineProperty(_toolbar, \"\".concat(breakpoints.up('xs'), \" and (orientation: landscape)\"), {\n minHeight: 48\n }), _defineProperty(_toolbar, breakpoints.up('sm'), {\n minHeight: 64\n }), _toolbar)\n }, mixins);\n}","/**\n * WARNING: Don't import this directly.\n * Use `MuiError` from `@material-ui/utils/macros/MuiError.macro` instead.\n * @param {number} code\n */\nexport default function formatMuiErrorMessage(code) {\n // Apply babel-plugin-transform-template-literals in loose mode\n // loose mode is safe iff we're concatenating primitives\n // see https://babeljs.io/docs/en/babel-plugin-transform-template-literals#loose\n\n /* eslint-disable prefer-template */\n var url = 'https://mui.com/production-error/?code=' + code;\n\n for (var i = 1; i < arguments.length; i += 1) {\n // rest params over-transpile for this case\n // eslint-disable-next-line prefer-rest-params\n url += '&args[]=' + encodeURIComponent(arguments[i]);\n }\n\n return 'Minified Material-UI error #' + code + '; visit ' + url + ' for the full message.';\n /* eslint-enable prefer-template */\n}","var common = {\n black: '#000',\n white: '#fff'\n};\nexport default common;","var grey = {\n 50: '#fafafa',\n 100: '#f5f5f5',\n 200: '#eeeeee',\n 300: '#e0e0e0',\n 400: '#bdbdbd',\n 500: '#9e9e9e',\n 600: '#757575',\n 700: '#616161',\n 800: '#424242',\n 900: '#212121',\n A100: '#d5d5d5',\n A200: '#aaaaaa',\n A400: '#303030',\n A700: '#616161'\n};\nexport default grey;","var indigo = {\n 50: '#e8eaf6',\n 100: '#c5cae9',\n 200: '#9fa8da',\n 300: '#7986cb',\n 400: '#5c6bc0',\n 500: '#3f51b5',\n 600: '#3949ab',\n 700: '#303f9f',\n 800: '#283593',\n 900: '#1a237e',\n A100: '#8c9eff',\n A200: '#536dfe',\n A400: '#3d5afe',\n A700: '#304ffe'\n};\nexport default indigo;","var pink = {\n 50: '#fce4ec',\n 100: '#f8bbd0',\n 200: '#f48fb1',\n 300: '#f06292',\n 400: '#ec407a',\n 500: '#e91e63',\n 600: '#d81b60',\n 700: '#c2185b',\n 800: '#ad1457',\n 900: '#880e4f',\n A100: '#ff80ab',\n A200: '#ff4081',\n A400: '#f50057',\n A700: '#c51162'\n};\nexport default pink;","var red = {\n 50: '#ffebee',\n 100: '#ffcdd2',\n 200: '#ef9a9a',\n 300: '#e57373',\n 400: '#ef5350',\n 500: '#f44336',\n 600: '#e53935',\n 700: '#d32f2f',\n 800: '#c62828',\n 900: '#b71c1c',\n A100: '#ff8a80',\n A200: '#ff5252',\n A400: '#ff1744',\n A700: '#d50000'\n};\nexport default red;","var orange = {\n 50: '#fff3e0',\n 100: '#ffe0b2',\n 200: '#ffcc80',\n 300: '#ffb74d',\n 400: '#ffa726',\n 500: '#ff9800',\n 600: '#fb8c00',\n 700: '#f57c00',\n 800: '#ef6c00',\n 900: '#e65100',\n A100: '#ffd180',\n A200: '#ffab40',\n A400: '#ff9100',\n A700: '#ff6d00'\n};\nexport default orange;","var blue = {\n 50: '#e3f2fd',\n 100: '#bbdefb',\n 200: '#90caf9',\n 300: '#64b5f6',\n 400: '#42a5f5',\n 500: '#2196f3',\n 600: '#1e88e5',\n 700: '#1976d2',\n 800: '#1565c0',\n 900: '#0d47a1',\n A100: '#82b1ff',\n A200: '#448aff',\n A400: '#2979ff',\n A700: '#2962ff'\n};\nexport default blue;","var green = {\n 50: '#e8f5e9',\n 100: '#c8e6c9',\n 200: '#a5d6a7',\n 300: '#81c784',\n 400: '#66bb6a',\n 500: '#4caf50',\n 600: '#43a047',\n 700: '#388e3c',\n 800: '#2e7d32',\n 900: '#1b5e20',\n A100: '#b9f6ca',\n A200: '#69f0ae',\n A400: '#00e676',\n A700: '#00c853'\n};\nexport default green;","import { formatMuiErrorMessage as _formatMuiErrorMessage } from \"@material-ui/utils\";\n\n/* eslint-disable no-use-before-define */\n\n/**\n * Returns a number whose value is limited to the given range.\n *\n * @param {number} value The value to be clamped\n * @param {number} min The lower boundary of the output range\n * @param {number} max The upper boundary of the output range\n * @returns {number} A number in the range [min, max]\n */\nfunction clamp(value) {\n var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n\n if (process.env.NODE_ENV !== 'production') {\n if (value < min || value > max) {\n console.error(\"Material-UI: The value provided \".concat(value, \" is out of range [\").concat(min, \", \").concat(max, \"].\"));\n }\n }\n\n return Math.min(Math.max(min, value), max);\n}\n/**\n * Converts a color from CSS hex format to CSS rgb format.\n *\n * @param {string} color - Hex color, i.e. #nnn or #nnnnnn\n * @returns {string} A CSS rgb color string\n */\n\n\nexport function hexToRgb(color) {\n color = color.substr(1);\n var re = new RegExp(\".{1,\".concat(color.length >= 6 ? 2 : 1, \"}\"), 'g');\n var colors = color.match(re);\n\n if (colors && colors[0].length === 1) {\n colors = colors.map(function (n) {\n return n + n;\n });\n }\n\n return colors ? \"rgb\".concat(colors.length === 4 ? 'a' : '', \"(\").concat(colors.map(function (n, index) {\n return index < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1000) / 1000;\n }).join(', '), \")\") : '';\n}\n\nfunction intToHex(int) {\n var hex = int.toString(16);\n return hex.length === 1 ? \"0\".concat(hex) : hex;\n}\n/**\n * Converts a color from CSS rgb format to CSS hex format.\n *\n * @param {string} color - RGB color, i.e. rgb(n, n, n)\n * @returns {string} A CSS rgb color string, i.e. #nnnnnn\n */\n\n\nexport function rgbToHex(color) {\n // Idempotent\n if (color.indexOf('#') === 0) {\n return color;\n }\n\n var _decomposeColor = decomposeColor(color),\n values = _decomposeColor.values;\n\n return \"#\".concat(values.map(function (n) {\n return intToHex(n);\n }).join(''));\n}\n/**\n * Converts a color from hsl format to rgb format.\n *\n * @param {string} color - HSL color values\n * @returns {string} rgb color values\n */\n\nexport function hslToRgb(color) {\n color = decomposeColor(color);\n var _color = color,\n values = _color.values;\n var h = values[0];\n var s = values[1] / 100;\n var l = values[2] / 100;\n var a = s * Math.min(l, 1 - l);\n\n var f = function f(n) {\n var k = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : (n + h / 30) % 12;\n return l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n };\n\n var type = 'rgb';\n var rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)];\n\n if (color.type === 'hsla') {\n type += 'a';\n rgb.push(values[3]);\n }\n\n return recomposeColor({\n type: type,\n values: rgb\n });\n}\n/**\n * Returns an object with the type and values of a color.\n *\n * Note: Does not support rgb % values.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {object} - A MUI color object: {type: string, values: number[]}\n */\n\nexport function decomposeColor(color) {\n // Idempotent\n if (color.type) {\n return color;\n }\n\n if (color.charAt(0) === '#') {\n return decomposeColor(hexToRgb(color));\n }\n\n var marker = color.indexOf('(');\n var type = color.substring(0, marker);\n\n if (['rgb', 'rgba', 'hsl', 'hsla'].indexOf(type) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? \"Material-UI: Unsupported `\".concat(color, \"` color.\\nWe support the following formats: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla().\") : _formatMuiErrorMessage(3, color));\n }\n\n var values = color.substring(marker + 1, color.length - 1).split(',');\n values = values.map(function (value) {\n return parseFloat(value);\n });\n return {\n type: type,\n values: values\n };\n}\n/**\n * Converts a color object with type and values to a string.\n *\n * @param {object} color - Decomposed color\n * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla'\n * @param {array} color.values - [n,n,n] or [n,n,n,n]\n * @returns {string} A CSS color string\n */\n\nexport function recomposeColor(color) {\n var type = color.type;\n var values = color.values;\n\n if (type.indexOf('rgb') !== -1) {\n // Only convert the first 3 values to int (i.e. not alpha)\n values = values.map(function (n, i) {\n return i < 3 ? parseInt(n, 10) : n;\n });\n } else if (type.indexOf('hsl') !== -1) {\n values[1] = \"\".concat(values[1], \"%\");\n values[2] = \"\".concat(values[2], \"%\");\n }\n\n return \"\".concat(type, \"(\").concat(values.join(', '), \")\");\n}\n/**\n * Calculates the contrast ratio between two colors.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n *\n * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} A contrast ratio value in the range 0 - 21.\n */\n\nexport function getContrastRatio(foreground, background) {\n var lumA = getLuminance(foreground);\n var lumB = getLuminance(background);\n return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);\n}\n/**\n * The relative brightness of any point in a color space,\n * normalized to 0 for darkest black and 1 for lightest white.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} The relative brightness of the color in the range 0 - 1\n */\n\nexport function getLuminance(color) {\n color = decomposeColor(color);\n var rgb = color.type === 'hsl' ? decomposeColor(hslToRgb(color)).values : color.values;\n rgb = rgb.map(function (val) {\n val /= 255; // normalized\n\n return val <= 0.03928 ? val / 12.92 : Math.pow((val + 0.055) / 1.055, 2.4);\n }); // Truncate at 3 digits\n\n return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3));\n}\n/**\n * Darken or lighten a color, depending on its luminance.\n * Light colors are darkened, dark colors are lightened.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {number} coefficient=0.15 - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\n\nexport function emphasize(color) {\n var coefficient = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0.15;\n return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient);\n}\nvar warnedOnce = false;\n/**\n * Set the absolute transparency of a color.\n * Any existing alpha values are overwritten.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {number} value - value to set the alpha channel to in the range 0 -1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n *\n * @deprecated\n * Use `import { alpha } from '@material-ui/core/styles'` instead.\n */\n\nexport function fade(color, value) {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n warnedOnce = true;\n console.error(['Material-UI: The `fade` color utility was renamed to `alpha` to better describe its functionality.', '', \"You should use `import { alpha } from '@material-ui/core/styles'`\"].join('\\n'));\n }\n }\n\n return alpha(color, value);\n}\n/**\n * Set the absolute transparency of a color.\n * Any existing alpha value is overwritten.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {number} value - value to set the alpha channel to in the range 0-1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\n\nexport function alpha(color, value) {\n color = decomposeColor(color);\n value = clamp(value);\n\n if (color.type === 'rgb' || color.type === 'hsl') {\n color.type += 'a';\n }\n\n color.values[3] = value;\n return recomposeColor(color);\n}\n/**\n * Darkens a color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\n\nexport function darken(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clamp(coefficient);\n\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] *= 1 - coefficient;\n } else if (color.type.indexOf('rgb') !== -1) {\n for (var i = 0; i < 3; i += 1) {\n color.values[i] *= 1 - coefficient;\n }\n }\n\n return recomposeColor(color);\n}\n/**\n * Lightens a color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\n\nexport function lighten(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clamp(coefficient);\n\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] += (100 - color.values[2]) * coefficient;\n } else if (color.type.indexOf('rgb') !== -1) {\n for (var i = 0; i < 3; i += 1) {\n color.values[i] += (255 - color.values[i]) * coefficient;\n }\n }\n\n return recomposeColor(color);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport { formatMuiErrorMessage as _formatMuiErrorMessage } from \"@material-ui/utils\";\nimport { deepmerge } from '@material-ui/utils';\nimport common from '../colors/common';\nimport grey from '../colors/grey';\nimport indigo from '../colors/indigo';\nimport pink from '../colors/pink';\nimport red from '../colors/red';\nimport orange from '../colors/orange';\nimport blue from '../colors/blue';\nimport green from '../colors/green';\nimport { darken, getContrastRatio, lighten } from './colorManipulator';\nexport var light = {\n // The colors used to style the text.\n text: {\n // The most important text.\n primary: 'rgba(0, 0, 0, 0.87)',\n // Secondary text.\n secondary: 'rgba(0, 0, 0, 0.54)',\n // Disabled text have even lower visual prominence.\n disabled: 'rgba(0, 0, 0, 0.38)',\n // Text hints.\n hint: 'rgba(0, 0, 0, 0.38)'\n },\n // The color used to divide different elements.\n divider: 'rgba(0, 0, 0, 0.12)',\n // The background colors used to style the surfaces.\n // Consistency between these values is important.\n background: {\n paper: common.white,\n default: grey[50]\n },\n // The colors used to style the action elements.\n action: {\n // The color of an active action like an icon button.\n active: 'rgba(0, 0, 0, 0.54)',\n // The color of an hovered action.\n hover: 'rgba(0, 0, 0, 0.04)',\n hoverOpacity: 0.04,\n // The color of a selected action.\n selected: 'rgba(0, 0, 0, 0.08)',\n selectedOpacity: 0.08,\n // The color of a disabled action.\n disabled: 'rgba(0, 0, 0, 0.26)',\n // The background color of a disabled action.\n disabledBackground: 'rgba(0, 0, 0, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(0, 0, 0, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.12\n }\n};\nexport var dark = {\n text: {\n primary: common.white,\n secondary: 'rgba(255, 255, 255, 0.7)',\n disabled: 'rgba(255, 255, 255, 0.5)',\n hint: 'rgba(255, 255, 255, 0.5)',\n icon: 'rgba(255, 255, 255, 0.5)'\n },\n divider: 'rgba(255, 255, 255, 0.12)',\n background: {\n paper: grey[800],\n default: '#303030'\n },\n action: {\n active: common.white,\n hover: 'rgba(255, 255, 255, 0.08)',\n hoverOpacity: 0.08,\n selected: 'rgba(255, 255, 255, 0.16)',\n selectedOpacity: 0.16,\n disabled: 'rgba(255, 255, 255, 0.3)',\n disabledBackground: 'rgba(255, 255, 255, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(255, 255, 255, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.24\n }\n};\n\nfunction addLightOrDark(intent, direction, shade, tonalOffset) {\n var tonalOffsetLight = tonalOffset.light || tonalOffset;\n var tonalOffsetDark = tonalOffset.dark || tonalOffset * 1.5;\n\n if (!intent[direction]) {\n if (intent.hasOwnProperty(shade)) {\n intent[direction] = intent[shade];\n } else if (direction === 'light') {\n intent.light = lighten(intent.main, tonalOffsetLight);\n } else if (direction === 'dark') {\n intent.dark = darken(intent.main, tonalOffsetDark);\n }\n }\n}\n\nexport default function createPalette(palette) {\n var _palette$primary = palette.primary,\n primary = _palette$primary === void 0 ? {\n light: indigo[300],\n main: indigo[500],\n dark: indigo[700]\n } : _palette$primary,\n _palette$secondary = palette.secondary,\n secondary = _palette$secondary === void 0 ? {\n light: pink.A200,\n main: pink.A400,\n dark: pink.A700\n } : _palette$secondary,\n _palette$error = palette.error,\n error = _palette$error === void 0 ? {\n light: red[300],\n main: red[500],\n dark: red[700]\n } : _palette$error,\n _palette$warning = palette.warning,\n warning = _palette$warning === void 0 ? {\n light: orange[300],\n main: orange[500],\n dark: orange[700]\n } : _palette$warning,\n _palette$info = palette.info,\n info = _palette$info === void 0 ? {\n light: blue[300],\n main: blue[500],\n dark: blue[700]\n } : _palette$info,\n _palette$success = palette.success,\n success = _palette$success === void 0 ? {\n light: green[300],\n main: green[500],\n dark: green[700]\n } : _palette$success,\n _palette$type = palette.type,\n type = _palette$type === void 0 ? 'light' : _palette$type,\n _palette$contrastThre = palette.contrastThreshold,\n contrastThreshold = _palette$contrastThre === void 0 ? 3 : _palette$contrastThre,\n _palette$tonalOffset = palette.tonalOffset,\n tonalOffset = _palette$tonalOffset === void 0 ? 0.2 : _palette$tonalOffset,\n other = _objectWithoutProperties(palette, [\"primary\", \"secondary\", \"error\", \"warning\", \"info\", \"success\", \"type\", \"contrastThreshold\", \"tonalOffset\"]); // Use the same logic as\n // Bootstrap: https://github.com/twbs/bootstrap/blob/1d6e3710dd447de1a200f29e8fa521f8a0908f70/scss/_functions.scss#L59\n // and material-components-web https://github.com/material-components/material-components-web/blob/ac46b8863c4dab9fc22c4c662dc6bd1b65dd652f/packages/mdc-theme/_functions.scss#L54\n\n\n function getContrastText(background) {\n var contrastText = getContrastRatio(background, dark.text.primary) >= contrastThreshold ? dark.text.primary : light.text.primary;\n\n if (process.env.NODE_ENV !== 'production') {\n var contrast = getContrastRatio(background, contrastText);\n\n if (contrast < 3) {\n console.error([\"Material-UI: The contrast ratio of \".concat(contrast, \":1 for \").concat(contrastText, \" on \").concat(background), 'falls below the WCAG recommended absolute minimum contrast ratio of 3:1.', 'https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast'].join('\\n'));\n }\n }\n\n return contrastText;\n }\n\n var augmentColor = function augmentColor(color) {\n var mainShade = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;\n var lightShade = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 300;\n var darkShade = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 700;\n color = _extends({}, color);\n\n if (!color.main && color[mainShade]) {\n color.main = color[mainShade];\n }\n\n if (!color.main) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? \"Material-UI: The color provided to augmentColor(color) is invalid.\\nThe color object needs to have a `main` property or a `\".concat(mainShade, \"` property.\") : _formatMuiErrorMessage(4, mainShade));\n }\n\n if (typeof color.main !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? \"Material-UI: The color provided to augmentColor(color) is invalid.\\n`color.main` should be a string, but `\".concat(JSON.stringify(color.main), \"` was provided instead.\\n\\nDid you intend to use one of the following approaches?\\n\\nimport {\\xA0green } from \\\"@material-ui/core/colors\\\";\\n\\nconst theme1 = createTheme({ palette: {\\n primary: green,\\n} });\\n\\nconst theme2 = createTheme({ palette: {\\n primary: { main: green[500] },\\n} });\") : _formatMuiErrorMessage(5, JSON.stringify(color.main)));\n }\n\n addLightOrDark(color, 'light', lightShade, tonalOffset);\n addLightOrDark(color, 'dark', darkShade, tonalOffset);\n\n if (!color.contrastText) {\n color.contrastText = getContrastText(color.main);\n }\n\n return color;\n };\n\n var types = {\n dark: dark,\n light: light\n };\n\n if (process.env.NODE_ENV !== 'production') {\n if (!types[type]) {\n console.error(\"Material-UI: The palette type `\".concat(type, \"` is not supported.\"));\n }\n }\n\n var paletteOutput = deepmerge(_extends({\n // A collection of common colors.\n common: common,\n // The palette type, can be light or dark.\n type: type,\n // The colors used to represent primary interface elements for a user.\n primary: augmentColor(primary),\n // The colors used to represent secondary interface elements for a user.\n secondary: augmentColor(secondary, 'A400', 'A200', 'A700'),\n // The colors used to represent interface elements that the user should be made aware of.\n error: augmentColor(error),\n // The colors used to represent potentially dangerous actions or important messages.\n warning: augmentColor(warning),\n // The colors used to present information to the user that is neutral and not necessarily important.\n info: augmentColor(info),\n // The colors used to indicate the successful completion of an action that user triggered.\n success: augmentColor(success),\n // The grey colors.\n grey: grey,\n // Used by `getContrastText()` to maximize the contrast between\n // the background and the text.\n contrastThreshold: contrastThreshold,\n // Takes a background color and returns the text color that maximizes the contrast.\n getContrastText: getContrastText,\n // Generate a rich color object.\n augmentColor: augmentColor,\n // Used by the functions below to shift a color's luminance by approximately\n // two indexes within its tonal palette.\n // E.g., shift from Red 500 to Red 300 or Red 700.\n tonalOffset: tonalOffset\n }, types[type]), other);\n return paletteOutput;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport { deepmerge } from '@material-ui/utils';\n\nfunction round(value) {\n return Math.round(value * 1e5) / 1e5;\n}\n\nvar warnedOnce = false;\n\nfunction roundWithDeprecationWarning(value) {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n console.warn(['Material-UI: The `theme.typography.round` helper is deprecated.', 'Head to https://mui.com/r/migration-v4/#theme for a migration path.'].join('\\n'));\n warnedOnce = true;\n }\n }\n\n return round(value);\n}\n\nvar caseAllCaps = {\n textTransform: 'uppercase'\n};\nvar defaultFontFamily = '\"Roboto\", \"Helvetica\", \"Arial\", sans-serif';\n/**\n * @see @link{https://material.io/design/typography/the-type-system.html}\n * @see @link{https://material.io/design/typography/understanding-typography.html}\n */\n\nexport default function createTypography(palette, typography) {\n var _ref = typeof typography === 'function' ? typography(palette) : typography,\n _ref$fontFamily = _ref.fontFamily,\n fontFamily = _ref$fontFamily === void 0 ? defaultFontFamily : _ref$fontFamily,\n _ref$fontSize = _ref.fontSize,\n fontSize = _ref$fontSize === void 0 ? 14 : _ref$fontSize,\n _ref$fontWeightLight = _ref.fontWeightLight,\n fontWeightLight = _ref$fontWeightLight === void 0 ? 300 : _ref$fontWeightLight,\n _ref$fontWeightRegula = _ref.fontWeightRegular,\n fontWeightRegular = _ref$fontWeightRegula === void 0 ? 400 : _ref$fontWeightRegula,\n _ref$fontWeightMedium = _ref.fontWeightMedium,\n fontWeightMedium = _ref$fontWeightMedium === void 0 ? 500 : _ref$fontWeightMedium,\n _ref$fontWeightBold = _ref.fontWeightBold,\n fontWeightBold = _ref$fontWeightBold === void 0 ? 700 : _ref$fontWeightBold,\n _ref$htmlFontSize = _ref.htmlFontSize,\n htmlFontSize = _ref$htmlFontSize === void 0 ? 16 : _ref$htmlFontSize,\n allVariants = _ref.allVariants,\n pxToRem2 = _ref.pxToRem,\n other = _objectWithoutProperties(_ref, [\"fontFamily\", \"fontSize\", \"fontWeightLight\", \"fontWeightRegular\", \"fontWeightMedium\", \"fontWeightBold\", \"htmlFontSize\", \"allVariants\", \"pxToRem\"]);\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof fontSize !== 'number') {\n console.error('Material-UI: `fontSize` is required to be a number.');\n }\n\n if (typeof htmlFontSize !== 'number') {\n console.error('Material-UI: `htmlFontSize` is required to be a number.');\n }\n }\n\n var coef = fontSize / 14;\n\n var pxToRem = pxToRem2 || function (size) {\n return \"\".concat(size / htmlFontSize * coef, \"rem\");\n };\n\n var buildVariant = function buildVariant(fontWeight, size, lineHeight, letterSpacing, casing) {\n return _extends({\n fontFamily: fontFamily,\n fontWeight: fontWeight,\n fontSize: pxToRem(size),\n // Unitless following https://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/\n lineHeight: lineHeight\n }, fontFamily === defaultFontFamily ? {\n letterSpacing: \"\".concat(round(letterSpacing / size), \"em\")\n } : {}, casing, allVariants);\n };\n\n var variants = {\n h1: buildVariant(fontWeightLight, 96, 1.167, -1.5),\n h2: buildVariant(fontWeightLight, 60, 1.2, -0.5),\n h3: buildVariant(fontWeightRegular, 48, 1.167, 0),\n h4: buildVariant(fontWeightRegular, 34, 1.235, 0.25),\n h5: buildVariant(fontWeightRegular, 24, 1.334, 0),\n h6: buildVariant(fontWeightMedium, 20, 1.6, 0.15),\n subtitle1: buildVariant(fontWeightRegular, 16, 1.75, 0.15),\n subtitle2: buildVariant(fontWeightMedium, 14, 1.57, 0.1),\n body1: buildVariant(fontWeightRegular, 16, 1.5, 0.15),\n body2: buildVariant(fontWeightRegular, 14, 1.43, 0.15),\n button: buildVariant(fontWeightMedium, 14, 1.75, 0.4, caseAllCaps),\n caption: buildVariant(fontWeightRegular, 12, 1.66, 0.4),\n overline: buildVariant(fontWeightRegular, 12, 2.66, 1, caseAllCaps)\n };\n return deepmerge(_extends({\n htmlFontSize: htmlFontSize,\n pxToRem: pxToRem,\n round: roundWithDeprecationWarning,\n // TODO v5: remove\n fontFamily: fontFamily,\n fontSize: fontSize,\n fontWeightLight: fontWeightLight,\n fontWeightRegular: fontWeightRegular,\n fontWeightMedium: fontWeightMedium,\n fontWeightBold: fontWeightBold\n }, variants), other, {\n clone: false // No need to clone deep\n\n });\n}","var shadowKeyUmbraOpacity = 0.2;\nvar shadowKeyPenumbraOpacity = 0.14;\nvar shadowAmbientShadowOpacity = 0.12;\n\nfunction createShadow() {\n return [\"\".concat(arguments.length <= 0 ? undefined : arguments[0], \"px \").concat(arguments.length <= 1 ? undefined : arguments[1], \"px \").concat(arguments.length <= 2 ? undefined : arguments[2], \"px \").concat(arguments.length <= 3 ? undefined : arguments[3], \"px rgba(0,0,0,\").concat(shadowKeyUmbraOpacity, \")\"), \"\".concat(arguments.length <= 4 ? undefined : arguments[4], \"px \").concat(arguments.length <= 5 ? undefined : arguments[5], \"px \").concat(arguments.length <= 6 ? undefined : arguments[6], \"px \").concat(arguments.length <= 7 ? undefined : arguments[7], \"px rgba(0,0,0,\").concat(shadowKeyPenumbraOpacity, \")\"), \"\".concat(arguments.length <= 8 ? undefined : arguments[8], \"px \").concat(arguments.length <= 9 ? undefined : arguments[9], \"px \").concat(arguments.length <= 10 ? undefined : arguments[10], \"px \").concat(arguments.length <= 11 ? undefined : arguments[11], \"px rgba(0,0,0,\").concat(shadowAmbientShadowOpacity, \")\")].join(',');\n} // Values from https://github.com/material-components/material-components-web/blob/be8747f94574669cb5e7add1a7c54fa41a89cec7/packages/mdc-elevation/_variables.scss\n\n\nvar shadows = ['none', createShadow(0, 2, 1, -1, 0, 1, 1, 0, 0, 1, 3, 0), createShadow(0, 3, 1, -2, 0, 2, 2, 0, 0, 1, 5, 0), createShadow(0, 3, 3, -2, 0, 3, 4, 0, 0, 1, 8, 0), createShadow(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), createShadow(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), createShadow(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), createShadow(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), createShadow(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), createShadow(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), createShadow(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), createShadow(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), createShadow(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), createShadow(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), createShadow(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), createShadow(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), createShadow(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), createShadow(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), createShadow(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), createShadow(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), createShadow(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), createShadow(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), createShadow(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), createShadow(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), createShadow(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8)];\nexport default shadows;","var shape = {\n borderRadius: 4\n};\nexport default shape;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport PropTypes from 'prop-types';\nimport merge from './merge'; // The breakpoint **start** at this value.\n// For instance with the first breakpoint xs: [xs, sm[.\n\nvar values = {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920\n};\nvar defaultBreakpoints = {\n // Sorted ASC by size. That's important.\n // It can't be configured as it's used statically for propTypes.\n keys: ['xs', 'sm', 'md', 'lg', 'xl'],\n up: function up(key) {\n return \"@media (min-width:\".concat(values[key], \"px)\");\n }\n};\nexport function handleBreakpoints(props, propValue, styleFromPropValue) {\n if (process.env.NODE_ENV !== 'production') {\n if (!props.theme) {\n console.error('Material-UI: You are calling a style function without a theme value.');\n }\n }\n\n if (Array.isArray(propValue)) {\n var themeBreakpoints = props.theme.breakpoints || defaultBreakpoints;\n return propValue.reduce(function (acc, item, index) {\n acc[themeBreakpoints.up(themeBreakpoints.keys[index])] = styleFromPropValue(propValue[index]);\n return acc;\n }, {});\n }\n\n if (_typeof(propValue) === 'object') {\n var _themeBreakpoints = props.theme.breakpoints || defaultBreakpoints;\n\n return Object.keys(propValue).reduce(function (acc, breakpoint) {\n acc[_themeBreakpoints.up(breakpoint)] = styleFromPropValue(propValue[breakpoint]);\n return acc;\n }, {});\n }\n\n var output = styleFromPropValue(propValue);\n return output;\n}\n\nfunction breakpoints(styleFunction) {\n var newStyleFunction = function newStyleFunction(props) {\n var base = styleFunction(props);\n var themeBreakpoints = props.theme.breakpoints || defaultBreakpoints;\n var extended = themeBreakpoints.keys.reduce(function (acc, key) {\n if (props[key]) {\n acc = acc || {};\n acc[themeBreakpoints.up(key)] = styleFunction(_extends({\n theme: props.theme\n }, props[key]));\n }\n\n return acc;\n }, null);\n return merge(base, extended);\n };\n\n newStyleFunction.propTypes = process.env.NODE_ENV !== 'production' ? _extends({}, styleFunction.propTypes, {\n xs: PropTypes.object,\n sm: PropTypes.object,\n md: PropTypes.object,\n lg: PropTypes.object,\n xl: PropTypes.object\n }) : {};\n newStyleFunction.filterProps = ['xs', 'sm', 'md', 'lg', 'xl'].concat(_toConsumableArray(styleFunction.filterProps));\n return newStyleFunction;\n}\n\nexport default breakpoints;","import { deepmerge } from '@material-ui/utils';\n\nfunction merge(acc, item) {\n if (!item) {\n return acc;\n }\n\n return deepmerge(acc, item, {\n clone: false // No need to clone deep, it's way faster.\n\n });\n}\n\nexport default merge;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport responsivePropType from './responsivePropType';\nimport { handleBreakpoints } from './breakpoints';\nimport merge from './merge';\nimport memoize from './memoize';\nvar properties = {\n m: 'margin',\n p: 'padding'\n};\nvar directions = {\n t: 'Top',\n r: 'Right',\n b: 'Bottom',\n l: 'Left',\n x: ['Left', 'Right'],\n y: ['Top', 'Bottom']\n};\nvar aliases = {\n marginX: 'mx',\n marginY: 'my',\n paddingX: 'px',\n paddingY: 'py'\n}; // memoize() impact:\n// From 300,000 ops/sec\n// To 350,000 ops/sec\n\nvar getCssProperties = memoize(function (prop) {\n // It's not a shorthand notation.\n if (prop.length > 2) {\n if (aliases[prop]) {\n prop = aliases[prop];\n } else {\n return [prop];\n }\n }\n\n var _prop$split = prop.split(''),\n _prop$split2 = _slicedToArray(_prop$split, 2),\n a = _prop$split2[0],\n b = _prop$split2[1];\n\n var property = properties[a];\n var direction = directions[b] || '';\n return Array.isArray(direction) ? direction.map(function (dir) {\n return property + dir;\n }) : [property + direction];\n});\nvar spacingKeys = ['m', 'mt', 'mr', 'mb', 'ml', 'mx', 'my', 'p', 'pt', 'pr', 'pb', 'pl', 'px', 'py', 'margin', 'marginTop', 'marginRight', 'marginBottom', 'marginLeft', 'marginX', 'marginY', 'padding', 'paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft', 'paddingX', 'paddingY'];\nexport function createUnarySpacing(theme) {\n var themeSpacing = theme.spacing || 8;\n\n if (typeof themeSpacing === 'number') {\n return function (abs) {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof abs !== 'number') {\n console.error(\"Material-UI: Expected spacing argument to be a number, got \".concat(abs, \".\"));\n }\n }\n\n return themeSpacing * abs;\n };\n }\n\n if (Array.isArray(themeSpacing)) {\n return function (abs) {\n if (process.env.NODE_ENV !== 'production') {\n if (abs > themeSpacing.length - 1) {\n console.error([\"Material-UI: The value provided (\".concat(abs, \") overflows.\"), \"The supported values are: \".concat(JSON.stringify(themeSpacing), \".\"), \"\".concat(abs, \" > \").concat(themeSpacing.length - 1, \", you need to add the missing values.\")].join('\\n'));\n }\n }\n\n return themeSpacing[abs];\n };\n }\n\n if (typeof themeSpacing === 'function') {\n return themeSpacing;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n console.error([\"Material-UI: The `theme.spacing` value (\".concat(themeSpacing, \") is invalid.\"), 'It should be a number, an array or a function.'].join('\\n'));\n }\n\n return function () {\n return undefined;\n };\n}\n\nfunction getValue(transformer, propValue) {\n if (typeof propValue === 'string' || propValue == null) {\n return propValue;\n }\n\n var abs = Math.abs(propValue);\n var transformed = transformer(abs);\n\n if (propValue >= 0) {\n return transformed;\n }\n\n if (typeof transformed === 'number') {\n return -transformed;\n }\n\n return \"-\".concat(transformed);\n}\n\nfunction getStyleFromPropValue(cssProperties, transformer) {\n return function (propValue) {\n return cssProperties.reduce(function (acc, cssProperty) {\n acc[cssProperty] = getValue(transformer, propValue);\n return acc;\n }, {});\n };\n}\n\nfunction spacing(props) {\n var theme = props.theme;\n var transformer = createUnarySpacing(theme);\n return Object.keys(props).map(function (prop) {\n // Using a hash computation over an array iteration could be faster, but with only 28 items,\n // it's doesn't worth the bundle size.\n if (spacingKeys.indexOf(prop) === -1) {\n return null;\n }\n\n var cssProperties = getCssProperties(prop);\n var styleFromPropValue = getStyleFromPropValue(cssProperties, transformer);\n var propValue = props[prop];\n return handleBreakpoints(props, propValue, styleFromPropValue);\n }).reduce(merge, {});\n}\n\nspacing.propTypes = process.env.NODE_ENV !== 'production' ? spacingKeys.reduce(function (obj, key) {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\nspacing.filterProps = spacingKeys;\nexport default spacing;","export default function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) {\n cache[arg] = fn(arg);\n }\n\n return cache[arg];\n };\n}","import { createUnarySpacing } from '@material-ui/system';\nvar warnOnce;\nexport default function createSpacing() {\n var spacingInput = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 8;\n\n // Already transformed.\n if (spacingInput.mui) {\n return spacingInput;\n } // Material Design layouts are visually balanced. Most measurements align to an 8dp grid applied, which aligns both spacing and the overall layout.\n // Smaller components, such as icons and type, can align to a 4dp grid.\n // https://material.io/design/layout/understanding-layout.html#usage\n\n\n var transform = createUnarySpacing({\n spacing: spacingInput\n });\n\n var spacing = function spacing() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!(args.length <= 4)) {\n console.error(\"Material-UI: Too many arguments provided, expected between 0 and 4, got \".concat(args.length));\n }\n }\n\n if (args.length === 0) {\n return transform(1);\n }\n\n if (args.length === 1) {\n return transform(args[0]);\n }\n\n return args.map(function (argument) {\n if (typeof argument === 'string') {\n return argument;\n }\n\n var output = transform(argument);\n return typeof output === 'number' ? \"\".concat(output, \"px\") : output;\n }).join(' ');\n }; // Backward compatibility, to remove in v5.\n\n\n Object.defineProperty(spacing, 'unit', {\n get: function get() {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnOnce || process.env.NODE_ENV === 'test') {\n console.error(['Material-UI: theme.spacing.unit usage has been deprecated.', 'It will be removed in v5.', 'You can replace `theme.spacing.unit * y` with `theme.spacing(y)`.', '', 'You can use the `https://github.com/mui-org/material-ui/tree/master/packages/material-ui-codemod/README.md#theme-spacing-api` migration helper to make the process smoother.'].join('\\n'));\n }\n\n warnOnce = true;\n }\n\n return spacingInput;\n }\n });\n spacing.mui = true;\n return spacing;\n}","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n// Follow https://material.google.com/motion/duration-easing.html#duration-easing-natural-easing-curves\n// to learn the context in which each easing should be used.\nexport var easing = {\n // This is the most common easing curve.\n easeInOut: 'cubic-bezier(0.4, 0, 0.2, 1)',\n // Objects enter the screen at full velocity from off-screen and\n // slowly decelerate to a resting point.\n easeOut: 'cubic-bezier(0.0, 0, 0.2, 1)',\n // Objects leave the screen at full velocity. They do not decelerate when off-screen.\n easeIn: 'cubic-bezier(0.4, 0, 1, 1)',\n // The sharp curve is used by objects that may return to the screen at any time.\n sharp: 'cubic-bezier(0.4, 0, 0.6, 1)'\n}; // Follow https://material.io/guidelines/motion/duration-easing.html#duration-easing-common-durations\n// to learn when use what timing\n\nexport var duration = {\n shortest: 150,\n shorter: 200,\n short: 250,\n // most basic recommended timing\n standard: 300,\n // this is to be used in complex animations\n complex: 375,\n // recommended when something is entering screen\n enteringScreen: 225,\n // recommended when something is leaving screen\n leavingScreen: 195\n};\n\nfunction formatMs(milliseconds) {\n return \"\".concat(Math.round(milliseconds), \"ms\");\n}\n/**\n * @param {string|Array} props\n * @param {object} param\n * @param {string} param.prop\n * @param {number} param.duration\n * @param {string} param.easing\n * @param {number} param.delay\n */\n\n\nexport default {\n easing: easing,\n duration: duration,\n create: function create() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['all'];\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var _options$duration = options.duration,\n durationOption = _options$duration === void 0 ? duration.standard : _options$duration,\n _options$easing = options.easing,\n easingOption = _options$easing === void 0 ? easing.easeInOut : _options$easing,\n _options$delay = options.delay,\n delay = _options$delay === void 0 ? 0 : _options$delay,\n other = _objectWithoutProperties(options, [\"duration\", \"easing\", \"delay\"]);\n\n if (process.env.NODE_ENV !== 'production') {\n var isString = function isString(value) {\n return typeof value === 'string';\n };\n\n var isNumber = function isNumber(value) {\n return !isNaN(parseFloat(value));\n };\n\n if (!isString(props) && !Array.isArray(props)) {\n console.error('Material-UI: Argument \"props\" must be a string or Array.');\n }\n\n if (!isNumber(durationOption) && !isString(durationOption)) {\n console.error(\"Material-UI: Argument \\\"duration\\\" must be a number or a string but found \".concat(durationOption, \".\"));\n }\n\n if (!isString(easingOption)) {\n console.error('Material-UI: Argument \"easing\" must be a string.');\n }\n\n if (!isNumber(delay) && !isString(delay)) {\n console.error('Material-UI: Argument \"delay\" must be a number or a string.');\n }\n\n if (Object.keys(other).length !== 0) {\n console.error(\"Material-UI: Unrecognized argument(s) [\".concat(Object.keys(other).join(','), \"].\"));\n }\n }\n\n return (Array.isArray(props) ? props : [props]).map(function (animatedProp) {\n return \"\".concat(animatedProp, \" \").concat(typeof durationOption === 'string' ? durationOption : formatMs(durationOption), \" \").concat(easingOption, \" \").concat(typeof delay === 'string' ? delay : formatMs(delay));\n }).join(',');\n },\n getAutoHeightDuration: function getAutoHeightDuration(height) {\n if (!height) {\n return 0;\n }\n\n var constant = height / 36; // https://www.wolframalpha.com/input/?i=(4+%2B+15+*+(x+%2F+36+)+**+0.25+%2B+(x+%2F+36)+%2F+5)+*+10\n\n return Math.round((4 + 15 * Math.pow(constant, 0.25) + constant / 5) * 10);\n }\n};","// We need to centralize the zIndex definitions as they work\n// like global values in the browser.\nvar zIndex = {\n mobileStepper: 1000,\n speedDial: 1050,\n appBar: 1100,\n drawer: 1200,\n modal: 1300,\n snackbar: 1400,\n tooltip: 1500\n};\nexport default zIndex;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport { deepmerge } from '@material-ui/utils';\nimport createBreakpoints from './createBreakpoints';\nimport createMixins from './createMixins';\nimport createPalette from './createPalette';\nimport createTypography from './createTypography';\nimport shadows from './shadows';\nimport shape from './shape';\nimport createSpacing from './createSpacing';\nimport transitions from './transitions';\nimport zIndex from './zIndex';\n\nfunction createTheme() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _options$breakpoints = options.breakpoints,\n breakpointsInput = _options$breakpoints === void 0 ? {} : _options$breakpoints,\n _options$mixins = options.mixins,\n mixinsInput = _options$mixins === void 0 ? {} : _options$mixins,\n _options$palette = options.palette,\n paletteInput = _options$palette === void 0 ? {} : _options$palette,\n spacingInput = options.spacing,\n _options$typography = options.typography,\n typographyInput = _options$typography === void 0 ? {} : _options$typography,\n other = _objectWithoutProperties(options, [\"breakpoints\", \"mixins\", \"palette\", \"spacing\", \"typography\"]);\n\n var palette = createPalette(paletteInput);\n var breakpoints = createBreakpoints(breakpointsInput);\n var spacing = createSpacing(spacingInput);\n var muiTheme = deepmerge({\n breakpoints: breakpoints,\n direction: 'ltr',\n mixins: createMixins(breakpoints, spacing, mixinsInput),\n overrides: {},\n // Inject custom styles\n palette: palette,\n props: {},\n // Provide default props\n shadows: shadows,\n typography: createTypography(palette, typographyInput),\n spacing: spacing,\n shape: shape,\n transitions: transitions,\n zIndex: zIndex\n }, other);\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n muiTheme = args.reduce(function (acc, argument) {\n return deepmerge(acc, argument);\n }, muiTheme);\n\n if (process.env.NODE_ENV !== 'production') {\n var pseudoClasses = ['checked', 'disabled', 'error', 'focused', 'focusVisible', 'required', 'expanded', 'selected'];\n\n var traverse = function traverse(node, parentKey) {\n var depth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var key; // eslint-disable-next-line guard-for-in, no-restricted-syntax\n\n for (key in node) {\n var child = node[key];\n\n if (depth === 1) {\n if (key.indexOf('Mui') === 0 && child) {\n traverse(child, key, depth + 1);\n }\n } else if (pseudoClasses.indexOf(key) !== -1 && Object.keys(child).length > 0) {\n if (process.env.NODE_ENV !== 'production') {\n console.error([\"Material-UI: The `\".concat(parentKey, \"` component increases \") + \"the CSS specificity of the `\".concat(key, \"` internal state.\"), 'You can not override it like this: ', JSON.stringify(node, null, 2), '', 'Instead, you need to use the $ruleName syntax:', JSON.stringify({\n root: _defineProperty({}, \"&$\".concat(key), child)\n }, null, 2), '', 'https://mui.com/r/pseudo-classes-guide'].join('\\n'));\n } // Remove the style to prevent global conflicts.\n\n\n node[key] = {};\n }\n }\n };\n\n traverse(muiTheme.overrides);\n }\n\n return muiTheme;\n}\n\nvar warnedOnce = false;\nexport function createMuiTheme() {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n warnedOnce = true;\n console.error(['Material-UI: the createMuiTheme function was renamed to createTheme.', '', \"You should use `import { createTheme } from '@material-ui/core/styles'`\"].join('\\n'));\n }\n }\n\n return createTheme.apply(void 0, arguments);\n}\nexport default createTheme;","import createTheme from './createTheme';\nvar defaultTheme = createTheme();\nexport default defaultTheme;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { withStyles as withStylesWithoutDefault } from '@material-ui/styles';\nimport defaultTheme from './defaultTheme';\n\nfunction withStyles(stylesOrCreator, options) {\n return withStylesWithoutDefault(stylesOrCreator, _extends({\n defaultTheme: defaultTheme\n }, options));\n}\n\nexport default withStyles;","/* eslint-disable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */\nimport * as React from 'react';\nexport default function useControlled(_ref) {\n var controlled = _ref.controlled,\n defaultProp = _ref.default,\n name = _ref.name,\n _ref$state = _ref.state,\n state = _ref$state === void 0 ? 'value' : _ref$state;\n\n var _React$useRef = React.useRef(controlled !== undefined),\n isControlled = _React$useRef.current;\n\n var _React$useState = React.useState(defaultProp),\n valueState = _React$useState[0],\n setValue = _React$useState[1];\n\n var value = isControlled ? controlled : valueState;\n\n if (process.env.NODE_ENV !== 'production') {\n React.useEffect(function () {\n if (isControlled !== (controlled !== undefined)) {\n console.error([\"Material-UI: A component is changing the \".concat(isControlled ? '' : 'un', \"controlled \").concat(state, \" state of \").concat(name, \" to be \").concat(isControlled ? 'un' : '', \"controlled.\"), 'Elements should not switch from uncontrolled to controlled (or vice versa).', \"Decide between using a controlled or uncontrolled \".concat(name, \" \") + 'element for the lifetime of the component.', \"The nature of the state is determined during the first render, it's considered controlled if the value is not `undefined`.\", 'More info: https://fb.me/react-controlled-components'].join('\\n'));\n }\n }, [controlled]);\n\n var _React$useRef2 = React.useRef(defaultProp),\n defaultValue = _React$useRef2.current;\n\n React.useEffect(function () {\n if (!isControlled && defaultValue !== defaultProp) {\n console.error([\"Material-UI: A component is changing the default \".concat(state, \" state of an uncontrolled \").concat(name, \" after being initialized. \") + \"To suppress this warning opt to use a controlled \".concat(name, \".\")].join('\\n'));\n }\n }, [JSON.stringify(defaultProp)]);\n }\n\n var setValueIfUncontrolled = React.useCallback(function (newValue) {\n if (!isControlled) {\n setValue(newValue);\n }\n }, []);\n return [value, setValueIfUncontrolled];\n}","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\n\nvar TreeViewContext = React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n TreeViewContext.displayName = 'TreeViewContext';\n}\n\nexport default TreeViewContext;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { useControlled } from '@material-ui/core/utils';\nimport TreeViewContext from './TreeViewContext';\nexport var styles = {\n /* Styles applied to the root element. */\n root: {\n padding: 0,\n margin: 0,\n listStyle: 'none'\n }\n};\n\nfunction arrayDiff(arr1, arr2) {\n if (arr1.length !== arr2.length) return true;\n\n for (var i = 0; i < arr1.length; i += 1) {\n if (arr1[i] !== arr2[i]) return true;\n }\n\n return false;\n}\n\nvar findNextFirstChar = function findNextFirstChar(firstChars, startIndex, char) {\n for (var i = startIndex; i < firstChars.length; i += 1) {\n if (char === firstChars[i]) {\n return i;\n }\n }\n\n return -1;\n};\n\nvar defaultExpandedDefault = [];\nvar defaultSelectedDefault = [];\nvar TreeView = /*#__PURE__*/React.forwardRef(function TreeView(props, ref) {\n var children = props.children,\n classes = props.classes,\n className = props.className,\n defaultCollapseIcon = props.defaultCollapseIcon,\n defaultEndIcon = props.defaultEndIcon,\n _props$defaultExpande = props.defaultExpanded,\n defaultExpanded = _props$defaultExpande === void 0 ? defaultExpandedDefault : _props$defaultExpande,\n defaultExpandIcon = props.defaultExpandIcon,\n defaultParentIcon = props.defaultParentIcon,\n _props$defaultSelecte = props.defaultSelected,\n defaultSelected = _props$defaultSelecte === void 0 ? defaultSelectedDefault : _props$defaultSelecte,\n _props$disableSelecti = props.disableSelection,\n disableSelection = _props$disableSelecti === void 0 ? false : _props$disableSelecti,\n _props$multiSelect = props.multiSelect,\n multiSelect = _props$multiSelect === void 0 ? false : _props$multiSelect,\n expandedProp = props.expanded,\n onNodeSelect = props.onNodeSelect,\n onNodeToggle = props.onNodeToggle,\n selectedProp = props.selected,\n other = _objectWithoutProperties(props, [\"children\", \"classes\", \"className\", \"defaultCollapseIcon\", \"defaultEndIcon\", \"defaultExpanded\", \"defaultExpandIcon\", \"defaultParentIcon\", \"defaultSelected\", \"disableSelection\", \"multiSelect\", \"expanded\", \"onNodeSelect\", \"onNodeToggle\", \"selected\"]);\n\n var _React$useState = React.useState(null),\n tabbable = _React$useState[0],\n setTabbable = _React$useState[1];\n\n var _React$useState2 = React.useState(null),\n focusedNodeId = _React$useState2[0],\n setFocusedNodeId = _React$useState2[1];\n\n var nodeMap = React.useRef({});\n var firstCharMap = React.useRef({});\n var visibleNodes = React.useRef([]);\n\n var _useControlled = useControlled({\n controlled: expandedProp,\n default: defaultExpanded,\n name: 'TreeView',\n state: 'expanded'\n }),\n _useControlled2 = _slicedToArray(_useControlled, 2),\n expanded = _useControlled2[0],\n setExpandedState = _useControlled2[1];\n\n var _useControlled3 = useControlled({\n controlled: selectedProp,\n default: defaultSelected,\n name: 'TreeView',\n state: 'selected'\n }),\n _useControlled4 = _slicedToArray(_useControlled3, 2),\n selected = _useControlled4[0],\n setSelectedState = _useControlled4[1];\n /*\n * Status Helpers\n */\n\n\n var isExpanded = React.useCallback(function (id) {\n return Array.isArray(expanded) ? expanded.indexOf(id) !== -1 : false;\n }, [expanded]);\n var isSelected = React.useCallback(function (id) {\n return Array.isArray(selected) ? selected.indexOf(id) !== -1 : selected === id;\n }, [selected]);\n\n var isTabbable = function isTabbable(id) {\n return tabbable === id;\n };\n\n var isFocused = function isFocused(id) {\n return focusedNodeId === id;\n };\n /*\n * Node Helpers\n */\n\n\n var getNextNode = function getNextNode(id) {\n var nodeIndex = visibleNodes.current.indexOf(id);\n\n if (nodeIndex !== -1 && nodeIndex + 1 < visibleNodes.current.length) {\n return visibleNodes.current[nodeIndex + 1];\n }\n\n return null;\n };\n\n var getPreviousNode = function getPreviousNode(id) {\n var nodeIndex = visibleNodes.current.indexOf(id);\n\n if (nodeIndex !== -1 && nodeIndex - 1 >= 0) {\n return visibleNodes.current[nodeIndex - 1];\n }\n\n return null;\n };\n\n var getLastNode = function getLastNode() {\n return visibleNodes.current[visibleNodes.current.length - 1];\n };\n\n var getFirstNode = function getFirstNode() {\n return visibleNodes.current[0];\n };\n\n var getParent = function getParent(id) {\n return nodeMap.current[id].parent;\n };\n\n var getNodesInRange = function getNodesInRange(a, b) {\n var aIndex = visibleNodes.current.indexOf(a);\n var bIndex = visibleNodes.current.indexOf(b);\n var start = Math.min(aIndex, bIndex);\n var end = Math.max(aIndex, bIndex);\n return visibleNodes.current.slice(start, end + 1);\n };\n /*\n * Focus Helpers\n */\n\n\n var focus = function focus(id) {\n if (id) {\n setTabbable(id);\n setFocusedNodeId(id);\n }\n };\n\n var focusNextNode = function focusNextNode(id) {\n return focus(getNextNode(id));\n };\n\n var focusPreviousNode = function focusPreviousNode(id) {\n return focus(getPreviousNode(id));\n };\n\n var focusFirstNode = function focusFirstNode() {\n return focus(getFirstNode());\n };\n\n var focusLastNode = function focusLastNode() {\n return focus(getLastNode());\n };\n\n var focusByFirstCharacter = function focusByFirstCharacter(id, char) {\n var start;\n var index;\n var lowercaseChar = char.toLowerCase();\n var firstCharIds = [];\n var firstChars = []; // This really only works since the ids are strings\n\n Object.keys(firstCharMap.current).forEach(function (nodeId) {\n var firstChar = firstCharMap.current[nodeId];\n var map = nodeMap.current[nodeId];\n var visible = map.parent ? isExpanded(map.parent) : true;\n\n if (visible) {\n firstCharIds.push(nodeId);\n firstChars.push(firstChar);\n }\n }); // Get start index for search based on position of currentItem\n\n start = firstCharIds.indexOf(id) + 1;\n\n if (start === nodeMap.current.length) {\n start = 0;\n } // Check remaining slots in the menu\n\n\n index = findNextFirstChar(firstChars, start, lowercaseChar); // If not found in remaining slots, check from beginning\n\n if (index === -1) {\n index = findNextFirstChar(firstChars, 0, lowercaseChar);\n } // If match was found...\n\n\n if (index > -1) {\n focus(firstCharIds[index]);\n }\n };\n /*\n * Expansion Helpers\n */\n\n\n var toggleExpansion = function toggleExpansion(event) {\n var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : focusedNodeId;\n var newExpanded;\n\n if (expanded.indexOf(value) !== -1) {\n newExpanded = expanded.filter(function (id) {\n return id !== value;\n });\n setTabbable(function (oldTabbable) {\n var map = nodeMap.current[oldTabbable];\n\n if (oldTabbable && (map && map.parent ? map.parent.id : null) === value) {\n return value;\n }\n\n return oldTabbable;\n });\n } else {\n newExpanded = [value].concat(expanded);\n }\n\n if (onNodeToggle) {\n onNodeToggle(event, newExpanded);\n }\n\n setExpandedState(newExpanded);\n };\n\n var expandAllSiblings = function expandAllSiblings(event, id) {\n var map = nodeMap.current[id];\n var parent = nodeMap.current[map.parent];\n var diff;\n\n if (parent) {\n diff = parent.children.filter(function (child) {\n return !isExpanded(child);\n });\n } else {\n var topLevelNodes = nodeMap.current[-1].children;\n diff = topLevelNodes.filter(function (node) {\n return !isExpanded(node);\n });\n }\n\n var newExpanded = expanded.concat(diff);\n\n if (diff.length > 0) {\n setExpandedState(newExpanded);\n\n if (onNodeToggle) {\n onNodeToggle(event, newExpanded);\n }\n }\n };\n /*\n * Selection Helpers\n */\n\n\n var lastSelectedNode = React.useRef(null);\n var lastSelectionWasRange = React.useRef(false);\n var currentRangeSelection = React.useRef([]);\n\n var handleRangeArrowSelect = function handleRangeArrowSelect(event, nodes) {\n var base = selected;\n var start = nodes.start,\n next = nodes.next,\n current = nodes.current;\n\n if (!next || !current) {\n return;\n }\n\n if (currentRangeSelection.current.indexOf(current) === -1) {\n currentRangeSelection.current = [];\n }\n\n if (lastSelectionWasRange.current) {\n if (currentRangeSelection.current.indexOf(next) !== -1) {\n base = base.filter(function (id) {\n return id === start || id !== current;\n });\n currentRangeSelection.current = currentRangeSelection.current.filter(function (id) {\n return id === start || id !== current;\n });\n } else {\n base.push(next);\n currentRangeSelection.current.push(next);\n }\n } else {\n base.push(next);\n currentRangeSelection.current.push(current, next);\n }\n\n if (onNodeSelect) {\n onNodeSelect(event, base);\n }\n\n setSelectedState(base);\n };\n\n var handleRangeSelect = function handleRangeSelect(event, nodes) {\n var base = selected;\n var start = nodes.start,\n end = nodes.end; // If last selection was a range selection ignore nodes that were selected.\n\n if (lastSelectionWasRange.current) {\n base = selected.filter(function (id) {\n return currentRangeSelection.current.indexOf(id) === -1;\n });\n }\n\n var range = getNodesInRange(start, end);\n currentRangeSelection.current = range;\n var newSelected = base.concat(range);\n newSelected = newSelected.filter(function (id, i) {\n return newSelected.indexOf(id) === i;\n });\n\n if (onNodeSelect) {\n onNodeSelect(event, newSelected);\n }\n\n setSelectedState(newSelected);\n };\n\n var handleMultipleSelect = function handleMultipleSelect(event, value) {\n var newSelected = [];\n\n if (selected.indexOf(value) !== -1) {\n newSelected = selected.filter(function (id) {\n return id !== value;\n });\n } else {\n newSelected = [value].concat(selected);\n }\n\n if (onNodeSelect) {\n onNodeSelect(event, newSelected);\n }\n\n setSelectedState(newSelected);\n };\n\n var handleSingleSelect = function handleSingleSelect(event, value) {\n var newSelected = multiSelect ? [value] : value;\n\n if (onNodeSelect) {\n onNodeSelect(event, newSelected);\n }\n\n setSelectedState(newSelected);\n };\n\n var selectNode = function selectNode(event, id) {\n var multiple = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (id) {\n if (multiple) {\n handleMultipleSelect(event, id);\n } else {\n handleSingleSelect(event, id);\n }\n\n lastSelectedNode.current = id;\n lastSelectionWasRange.current = false;\n currentRangeSelection.current = [];\n return true;\n }\n\n return false;\n };\n\n var selectRange = function selectRange(event, nodes) {\n var stacked = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var _nodes$start = nodes.start,\n start = _nodes$start === void 0 ? lastSelectedNode.current : _nodes$start,\n end = nodes.end,\n current = nodes.current;\n\n if (stacked) {\n handleRangeArrowSelect(event, {\n start: start,\n next: end,\n current: current\n });\n } else {\n handleRangeSelect(event, {\n start: start,\n end: end\n });\n }\n\n lastSelectionWasRange.current = true;\n return true;\n };\n\n var rangeSelectToFirst = function rangeSelectToFirst(event, id) {\n if (!lastSelectedNode.current) {\n lastSelectedNode.current = id;\n }\n\n var start = lastSelectionWasRange.current ? lastSelectedNode.current : id;\n return selectRange(event, {\n start: start,\n end: getFirstNode()\n });\n };\n\n var rangeSelectToLast = function rangeSelectToLast(event, id) {\n if (!lastSelectedNode.current) {\n lastSelectedNode.current = id;\n }\n\n var start = lastSelectionWasRange.current ? lastSelectedNode.current : id;\n return selectRange(event, {\n start: start,\n end: getLastNode()\n });\n };\n\n var selectNextNode = function selectNextNode(event, id) {\n return selectRange(event, {\n end: getNextNode(id),\n current: id\n }, true);\n };\n\n var selectPreviousNode = function selectPreviousNode(event, id) {\n return selectRange(event, {\n end: getPreviousNode(id),\n current: id\n }, true);\n };\n\n var selectAllNodes = function selectAllNodes(event) {\n return selectRange(event, {\n start: getFirstNode(),\n end: getLastNode()\n });\n };\n /*\n * Mapping Helpers\n */\n\n\n var addNodeToNodeMap = function addNodeToNodeMap(id, childrenIds) {\n var currentMap = nodeMap.current[id];\n nodeMap.current[id] = _extends({}, currentMap, {\n children: childrenIds,\n id: id\n });\n childrenIds.forEach(function (childId) {\n var currentChildMap = nodeMap.current[childId];\n nodeMap.current[childId] = _extends({}, currentChildMap, {\n parent: id,\n id: childId\n });\n });\n };\n\n var getNodesToRemove = React.useCallback(function (id) {\n var map = nodeMap.current[id];\n var nodes = [];\n\n if (map) {\n nodes.push(id);\n\n if (map.children) {\n nodes.concat(map.children);\n map.children.forEach(function (node) {\n nodes.concat(getNodesToRemove(node));\n });\n }\n }\n\n return nodes;\n }, []);\n var cleanUpFirstCharMap = React.useCallback(function (nodes) {\n var newMap = _extends({}, firstCharMap.current);\n\n nodes.forEach(function (node) {\n if (newMap[node]) {\n delete newMap[node];\n }\n });\n firstCharMap.current = newMap;\n }, []);\n var removeNodeFromNodeMap = React.useCallback(function (id) {\n var nodes = getNodesToRemove(id);\n cleanUpFirstCharMap(nodes);\n\n var newMap = _extends({}, nodeMap.current);\n\n nodes.forEach(function (node) {\n var map = newMap[node];\n\n if (map) {\n if (map.parent) {\n var parentMap = newMap[map.parent];\n\n if (parentMap && parentMap.children) {\n var parentChildren = parentMap.children.filter(function (c) {\n return c !== node;\n });\n newMap[map.parent] = _extends({}, parentMap, {\n children: parentChildren\n });\n }\n }\n\n delete newMap[node];\n }\n });\n nodeMap.current = newMap;\n setFocusedNodeId(function (oldFocusedNodeId) {\n if (oldFocusedNodeId === id) {\n return null;\n }\n\n return oldFocusedNodeId;\n });\n }, [getNodesToRemove, cleanUpFirstCharMap]);\n\n var mapFirstChar = function mapFirstChar(id, firstChar) {\n firstCharMap.current[id] = firstChar;\n };\n\n var prevChildIds = React.useRef([]);\n\n var _React$useState3 = React.useState(false),\n childrenCalculated = _React$useState3[0],\n setChildrenCalculated = _React$useState3[1];\n\n React.useEffect(function () {\n var childIds = [];\n React.Children.forEach(children, function (child) {\n if ( /*#__PURE__*/React.isValidElement(child) && child.props.nodeId) {\n childIds.push(child.props.nodeId);\n }\n });\n\n if (arrayDiff(prevChildIds.current, childIds)) {\n nodeMap.current[-1] = {\n parent: null,\n children: childIds\n };\n childIds.forEach(function (id, index) {\n if (index === 0) {\n setTabbable(id);\n }\n });\n visibleNodes.current = nodeMap.current[-1].children;\n prevChildIds.current = childIds;\n setChildrenCalculated(true);\n }\n }, [children]);\n React.useEffect(function () {\n var buildVisible = function buildVisible(nodes) {\n var list = [];\n\n for (var i = 0; i < nodes.length; i += 1) {\n var item = nodes[i];\n list.push(item);\n var childs = nodeMap.current[item].children;\n\n if (isExpanded(item) && childs) {\n list = list.concat(buildVisible(childs));\n }\n }\n\n return list;\n };\n\n if (childrenCalculated) {\n visibleNodes.current = buildVisible(nodeMap.current[-1].children);\n }\n }, [expanded, childrenCalculated, isExpanded, children]);\n\n var noopSelection = function noopSelection() {\n return false;\n };\n\n return /*#__PURE__*/React.createElement(TreeViewContext.Provider, {\n value: {\n icons: {\n defaultCollapseIcon: defaultCollapseIcon,\n defaultExpandIcon: defaultExpandIcon,\n defaultParentIcon: defaultParentIcon,\n defaultEndIcon: defaultEndIcon\n },\n focus: focus,\n focusFirstNode: focusFirstNode,\n focusLastNode: focusLastNode,\n focusNextNode: focusNextNode,\n focusPreviousNode: focusPreviousNode,\n focusByFirstCharacter: focusByFirstCharacter,\n expandAllSiblings: expandAllSiblings,\n toggleExpansion: toggleExpansion,\n isExpanded: isExpanded,\n isFocused: isFocused,\n isSelected: isSelected,\n selectNode: disableSelection ? noopSelection : selectNode,\n selectRange: disableSelection ? noopSelection : selectRange,\n selectNextNode: disableSelection ? noopSelection : selectNextNode,\n selectPreviousNode: disableSelection ? noopSelection : selectPreviousNode,\n rangeSelectToFirst: disableSelection ? noopSelection : rangeSelectToFirst,\n rangeSelectToLast: disableSelection ? noopSelection : rangeSelectToLast,\n selectAllNodes: disableSelection ? noopSelection : selectAllNodes,\n isTabbable: isTabbable,\n multiSelect: multiSelect,\n getParent: getParent,\n mapFirstChar: mapFirstChar,\n addNodeToNodeMap: addNodeToNodeMap,\n removeNodeFromNodeMap: removeNodeFromNodeMap\n }\n }, /*#__PURE__*/React.createElement(\"ul\", _extends({\n role: \"tree\",\n \"aria-multiselectable\": multiSelect,\n className: clsx(classes.root, className),\n ref: ref\n }, other), children));\n});\nprocess.env.NODE_ENV !== \"production\" ? TreeView.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The default icon used to collapse the node.\n */\n defaultCollapseIcon: PropTypes.node,\n\n /**\n * The default icon displayed next to a end node. This is applied to all\n * tree nodes and can be overridden by the TreeItem `icon` prop.\n */\n defaultEndIcon: PropTypes.node,\n\n /**\n * Expanded node ids. (Uncontrolled)\n */\n defaultExpanded: PropTypes.arrayOf(PropTypes.string),\n\n /**\n * The default icon used to expand the node.\n */\n defaultExpandIcon: PropTypes.node,\n\n /**\n * The default icon displayed next to a parent node. This is applied to all\n * parent nodes and can be overridden by the TreeItem `icon` prop.\n */\n defaultParentIcon: PropTypes.node,\n\n /**\n * Selected node ids. (Uncontrolled)\n * When `multiSelect` is true this takes an array of strings; when false (default) a string.\n */\n defaultSelected: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.string]),\n\n /**\n * If `true` selection is disabled.\n */\n disableSelection: PropTypes.bool,\n\n /**\n * Expanded node ids. (Controlled)\n */\n expanded: PropTypes.arrayOf(PropTypes.string),\n\n /**\n * If true `ctrl` and `shift` will trigger multiselect.\n */\n multiSelect: PropTypes.bool,\n\n /**\n * Callback fired when tree items are selected/unselected.\n *\n * @param {object} event The event source of the callback\n * @param {(array|string)} value of the selected nodes. When `multiSelect` is true\n * this is an array of strings; when false (default) a string.\n */\n onNodeSelect: PropTypes.func,\n\n /**\n * Callback fired when tree items are expanded/collapsed.\n *\n * @param {object} event The event source of the callback.\n * @param {array} nodeIds The ids of the expanded nodes.\n */\n onNodeToggle: PropTypes.func,\n\n /**\n * Selected node ids. (Controlled)\n * When `multiSelect` is true this takes an array of strings; when false (default) a string.\n */\n selected: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.string])\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiTreeView'\n})(TreeView);","import { formatMuiErrorMessage as _formatMuiErrorMessage } from \"@material-ui/utils\";\n// It should to be noted that this function isn't equivalent to `text-transform: capitalize`.\n//\n// A strict capitalization should uppercase the first letter of each word a the sentence.\n// We only handle the first word.\nexport default function capitalize(string) {\n if (typeof string !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? \"Material-UI: capitalize(string) expects a string argument.\" : _formatMuiErrorMessage(7));\n }\n\n return string.charAt(0).toUpperCase() + string.slice(1);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport withStyles from '../styles/withStyles';\nimport capitalize from '../utils/capitalize';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n margin: 0\n },\n\n /* Styles applied to the root element if `variant=\"body2\"`. */\n body2: theme.typography.body2,\n\n /* Styles applied to the root element if `variant=\"body1\"`. */\n body1: theme.typography.body1,\n\n /* Styles applied to the root element if `variant=\"caption\"`. */\n caption: theme.typography.caption,\n\n /* Styles applied to the root element if `variant=\"button\"`. */\n button: theme.typography.button,\n\n /* Styles applied to the root element if `variant=\"h1\"`. */\n h1: theme.typography.h1,\n\n /* Styles applied to the root element if `variant=\"h2\"`. */\n h2: theme.typography.h2,\n\n /* Styles applied to the root element if `variant=\"h3\"`. */\n h3: theme.typography.h3,\n\n /* Styles applied to the root element if `variant=\"h4\"`. */\n h4: theme.typography.h4,\n\n /* Styles applied to the root element if `variant=\"h5\"`. */\n h5: theme.typography.h5,\n\n /* Styles applied to the root element if `variant=\"h6\"`. */\n h6: theme.typography.h6,\n\n /* Styles applied to the root element if `variant=\"subtitle1\"`. */\n subtitle1: theme.typography.subtitle1,\n\n /* Styles applied to the root element if `variant=\"subtitle2\"`. */\n subtitle2: theme.typography.subtitle2,\n\n /* Styles applied to the root element if `variant=\"overline\"`. */\n overline: theme.typography.overline,\n\n /* Styles applied to the root element if `variant=\"srOnly\"`. Only accessible to screen readers. */\n srOnly: {\n position: 'absolute',\n height: 1,\n width: 1,\n overflow: 'hidden'\n },\n\n /* Styles applied to the root element if `align=\"left\"`. */\n alignLeft: {\n textAlign: 'left'\n },\n\n /* Styles applied to the root element if `align=\"center\"`. */\n alignCenter: {\n textAlign: 'center'\n },\n\n /* Styles applied to the root element if `align=\"right\"`. */\n alignRight: {\n textAlign: 'right'\n },\n\n /* Styles applied to the root element if `align=\"justify\"`. */\n alignJustify: {\n textAlign: 'justify'\n },\n\n /* Styles applied to the root element if `nowrap={true}`. */\n noWrap: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n },\n\n /* Styles applied to the root element if `gutterBottom={true}`. */\n gutterBottom: {\n marginBottom: '0.35em'\n },\n\n /* Styles applied to the root element if `paragraph={true}`. */\n paragraph: {\n marginBottom: 16\n },\n\n /* Styles applied to the root element if `color=\"inherit\"`. */\n colorInherit: {\n color: 'inherit'\n },\n\n /* Styles applied to the root element if `color=\"primary\"`. */\n colorPrimary: {\n color: theme.palette.primary.main\n },\n\n /* Styles applied to the root element if `color=\"secondary\"`. */\n colorSecondary: {\n color: theme.palette.secondary.main\n },\n\n /* Styles applied to the root element if `color=\"textPrimary\"`. */\n colorTextPrimary: {\n color: theme.palette.text.primary\n },\n\n /* Styles applied to the root element if `color=\"textSecondary\"`. */\n colorTextSecondary: {\n color: theme.palette.text.secondary\n },\n\n /* Styles applied to the root element if `color=\"error\"`. */\n colorError: {\n color: theme.palette.error.main\n },\n\n /* Styles applied to the root element if `display=\"inline\"`. */\n displayInline: {\n display: 'inline'\n },\n\n /* Styles applied to the root element if `display=\"block\"`. */\n displayBlock: {\n display: 'block'\n }\n };\n};\nvar defaultVariantMapping = {\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n h6: 'h6',\n subtitle1: 'h6',\n subtitle2: 'h6',\n body1: 'p',\n body2: 'p'\n};\nvar Typography = /*#__PURE__*/React.forwardRef(function Typography(props, ref) {\n var _props$align = props.align,\n align = _props$align === void 0 ? 'inherit' : _props$align,\n classes = props.classes,\n className = props.className,\n _props$color = props.color,\n color = _props$color === void 0 ? 'initial' : _props$color,\n component = props.component,\n _props$display = props.display,\n display = _props$display === void 0 ? 'initial' : _props$display,\n _props$gutterBottom = props.gutterBottom,\n gutterBottom = _props$gutterBottom === void 0 ? false : _props$gutterBottom,\n _props$noWrap = props.noWrap,\n noWrap = _props$noWrap === void 0 ? false : _props$noWrap,\n _props$paragraph = props.paragraph,\n paragraph = _props$paragraph === void 0 ? false : _props$paragraph,\n _props$variant = props.variant,\n variant = _props$variant === void 0 ? 'body1' : _props$variant,\n _props$variantMapping = props.variantMapping,\n variantMapping = _props$variantMapping === void 0 ? defaultVariantMapping : _props$variantMapping,\n other = _objectWithoutProperties(props, [\"align\", \"classes\", \"className\", \"color\", \"component\", \"display\", \"gutterBottom\", \"noWrap\", \"paragraph\", \"variant\", \"variantMapping\"]);\n\n var Component = component || (paragraph ? 'p' : variantMapping[variant] || defaultVariantMapping[variant]) || 'span';\n return /*#__PURE__*/React.createElement(Component, _extends({\n className: clsx(classes.root, className, variant !== 'inherit' && classes[variant], color !== 'initial' && classes[\"color\".concat(capitalize(color))], noWrap && classes.noWrap, gutterBottom && classes.gutterBottom, paragraph && classes.paragraph, align !== 'inherit' && classes[\"align\".concat(capitalize(align))], display !== 'initial' && classes[\"display\".concat(capitalize(display))]),\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Typography.propTypes = {\n /**\n * Set the text-align on the component.\n */\n align: PropTypes.oneOf(['inherit', 'left', 'center', 'right', 'justify']),\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object.isRequired,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: PropTypes.oneOf(['initial', 'inherit', 'primary', 'secondary', 'textPrimary', 'textSecondary', 'error']),\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n * Overrides the behavior of the `variantMapping` prop.\n */\n component: PropTypes\n /* @typescript-to-proptypes-ignore */\n .elementType,\n\n /**\n * Controls the display type\n */\n display: PropTypes.oneOf(['initial', 'block', 'inline']),\n\n /**\n * If `true`, the text will have a bottom margin.\n */\n gutterBottom: PropTypes.bool,\n\n /**\n * If `true`, the text will not wrap, but instead will truncate with a text overflow ellipsis.\n *\n * Note that text overflow can only happen with block or inline-block level elements\n * (the element needs to have a width in order to overflow).\n */\n noWrap: PropTypes.bool,\n\n /**\n * If `true`, the text will have a bottom margin.\n */\n paragraph: PropTypes.bool,\n\n /**\n * Applies the theme typography styles.\n */\n variant: PropTypes.oneOf(['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'subtitle1', 'subtitle2', 'body1', 'body2', 'caption', 'button', 'overline', 'srOnly', 'inherit']),\n\n /**\n * The component maps the variant prop to a range of different HTML element types.\n * For instance, subtitle1 to `<h6>`.\n * If you wish to change that mapping, you can provide your own.\n * Alternatively, you can use the `component` prop.\n */\n variantMapping: PropTypes.object\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiTypography'\n})(Typography);","export var reflow = function reflow(node) {\n return node.scrollTop;\n};\nexport function getTransitionProps(props, options) {\n var timeout = props.timeout,\n _props$style = props.style,\n style = _props$style === void 0 ? {} : _props$style;\n return {\n duration: style.transitionDuration || typeof timeout === 'number' ? timeout : timeout[options.mode] || 0,\n delay: style.transitionDelay\n };\n}","import { useTheme as useThemeWithoutDefault } from '@material-ui/styles';\nimport React from 'react';\nimport defaultTheme from './defaultTheme';\nexport default function useTheme() {\n var theme = useThemeWithoutDefault() || defaultTheme;\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(theme);\n }\n\n return theme;\n}","// TODO v5: consider to make it private\nexport default function setRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}","import * as React from 'react';\nimport setRef from './setRef';\nexport default function useForkRef(refA, refB) {\n /**\n * This will create a new function if the ref props change and are defined.\n * This means react will call the old forkRef with `null` and the new forkRef\n * with the ref. Cleanup naturally emerges from this behavior\n */\n return React.useMemo(function () {\n if (refA == null && refB == null) {\n return null;\n }\n\n return function (refValue) {\n setRef(refA, refValue);\n setRef(refB, refValue);\n };\n }, [refA, refB]);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { chainPropTypes } from '@material-ui/utils';\nimport { Transition } from 'react-transition-group';\nimport withStyles from '../styles/withStyles';\nimport { duration } from '../styles/transitions';\nimport deprecatedPropType from '../utils/deprecatedPropType';\nimport { getTransitionProps } from '../transitions/utils';\nimport useTheme from '../styles/useTheme';\nimport { useForkRef } from '../utils';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n height: 0,\n overflow: 'hidden',\n transition: theme.transitions.create('height')\n },\n\n /* Styles applied to the root element when the transition has entered. */\n entered: {\n height: 'auto',\n overflow: 'visible'\n },\n\n /* Styles applied to the root element when the transition has exited and `collapsedSize` != 0px. */\n hidden: {\n visibility: 'hidden'\n },\n\n /* Styles applied to the outer wrapper element. */\n wrapper: {\n // Hack to get children with a negative margin to not falsify the height computation.\n display: 'flex'\n },\n\n /* Styles applied to the inner wrapper element. */\n wrapperInner: {\n width: '100%'\n }\n };\n};\n/**\n * The Collapse transition is used by the\n * [Vertical Stepper](/components/steppers/#vertical-stepper) StepContent component.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\n\nvar Collapse = /*#__PURE__*/React.forwardRef(function Collapse(props, ref) {\n var children = props.children,\n classes = props.classes,\n className = props.className,\n collapsedHeight = props.collapsedHeight,\n _props$collapsedSize = props.collapsedSize,\n collapsedSizeProp = _props$collapsedSize === void 0 ? '0px' : _props$collapsedSize,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n _props$disableStrictM = props.disableStrictModeCompat,\n disableStrictModeCompat = _props$disableStrictM === void 0 ? false : _props$disableStrictM,\n inProp = props.in,\n onEnter = props.onEnter,\n onEntered = props.onEntered,\n onEntering = props.onEntering,\n onExit = props.onExit,\n onExited = props.onExited,\n onExiting = props.onExiting,\n style = props.style,\n _props$timeout = props.timeout,\n timeout = _props$timeout === void 0 ? duration.standard : _props$timeout,\n _props$TransitionComp = props.TransitionComponent,\n TransitionComponent = _props$TransitionComp === void 0 ? Transition : _props$TransitionComp,\n other = _objectWithoutProperties(props, [\"children\", \"classes\", \"className\", \"collapsedHeight\", \"collapsedSize\", \"component\", \"disableStrictModeCompat\", \"in\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"style\", \"timeout\", \"TransitionComponent\"]);\n\n var theme = useTheme();\n var timer = React.useRef();\n var wrapperRef = React.useRef(null);\n var autoTransitionDuration = React.useRef();\n var collapsedSize = typeof (collapsedHeight || collapsedSizeProp) === 'number' ? \"\".concat(collapsedHeight || collapsedSizeProp, \"px\") : collapsedHeight || collapsedSizeProp;\n React.useEffect(function () {\n return function () {\n clearTimeout(timer.current);\n };\n }, []);\n var enableStrictModeCompat = theme.unstable_strictMode && !disableStrictModeCompat;\n var nodeRef = React.useRef(null);\n var handleRef = useForkRef(ref, enableStrictModeCompat ? nodeRef : undefined);\n\n var normalizedTransitionCallback = function normalizedTransitionCallback(callback) {\n return function (nodeOrAppearing, maybeAppearing) {\n if (callback) {\n var _ref = enableStrictModeCompat ? [nodeRef.current, nodeOrAppearing] : [nodeOrAppearing, maybeAppearing],\n _ref2 = _slicedToArray(_ref, 2),\n node = _ref2[0],\n isAppearing = _ref2[1]; // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n\n\n if (isAppearing === undefined) {\n callback(node);\n } else {\n callback(node, isAppearing);\n }\n }\n };\n };\n\n var handleEnter = normalizedTransitionCallback(function (node, isAppearing) {\n node.style.height = collapsedSize;\n\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n });\n var handleEntering = normalizedTransitionCallback(function (node, isAppearing) {\n var wrapperHeight = wrapperRef.current ? wrapperRef.current.clientHeight : 0;\n\n var _getTransitionProps = getTransitionProps({\n style: style,\n timeout: timeout\n }, {\n mode: 'enter'\n }),\n transitionDuration = _getTransitionProps.duration;\n\n if (timeout === 'auto') {\n var duration2 = theme.transitions.getAutoHeightDuration(wrapperHeight);\n node.style.transitionDuration = \"\".concat(duration2, \"ms\");\n autoTransitionDuration.current = duration2;\n } else {\n node.style.transitionDuration = typeof transitionDuration === 'string' ? transitionDuration : \"\".concat(transitionDuration, \"ms\");\n }\n\n node.style.height = \"\".concat(wrapperHeight, \"px\");\n\n if (onEntering) {\n onEntering(node, isAppearing);\n }\n });\n var handleEntered = normalizedTransitionCallback(function (node, isAppearing) {\n node.style.height = 'auto';\n\n if (onEntered) {\n onEntered(node, isAppearing);\n }\n });\n var handleExit = normalizedTransitionCallback(function (node) {\n var wrapperHeight = wrapperRef.current ? wrapperRef.current.clientHeight : 0;\n node.style.height = \"\".concat(wrapperHeight, \"px\");\n\n if (onExit) {\n onExit(node);\n }\n });\n var handleExited = normalizedTransitionCallback(onExited);\n var handleExiting = normalizedTransitionCallback(function (node) {\n var wrapperHeight = wrapperRef.current ? wrapperRef.current.clientHeight : 0;\n\n var _getTransitionProps2 = getTransitionProps({\n style: style,\n timeout: timeout\n }, {\n mode: 'exit'\n }),\n transitionDuration = _getTransitionProps2.duration;\n\n if (timeout === 'auto') {\n var duration2 = theme.transitions.getAutoHeightDuration(wrapperHeight);\n node.style.transitionDuration = \"\".concat(duration2, \"ms\");\n autoTransitionDuration.current = duration2;\n } else {\n node.style.transitionDuration = typeof transitionDuration === 'string' ? transitionDuration : \"\".concat(transitionDuration, \"ms\");\n }\n\n node.style.height = collapsedSize;\n\n if (onExiting) {\n onExiting(node);\n }\n });\n\n var addEndListener = function addEndListener(nodeOrNext, maybeNext) {\n var next = enableStrictModeCompat ? nodeOrNext : maybeNext;\n\n if (timeout === 'auto') {\n timer.current = setTimeout(next, autoTransitionDuration.current || 0);\n }\n };\n\n return /*#__PURE__*/React.createElement(TransitionComponent, _extends({\n in: inProp,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: addEndListener,\n nodeRef: enableStrictModeCompat ? nodeRef : undefined,\n timeout: timeout === 'auto' ? null : timeout\n }, other), function (state, childProps) {\n return /*#__PURE__*/React.createElement(Component, _extends({\n className: clsx(classes.root, classes.container, className, {\n 'entered': classes.entered,\n 'exited': !inProp && collapsedSize === '0px' && classes.hidden\n }[state]),\n style: _extends({\n minHeight: collapsedSize\n }, style),\n ref: handleRef\n }, childProps), /*#__PURE__*/React.createElement(\"div\", {\n className: classes.wrapper,\n ref: wrapperRef\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classes.wrapperInner\n }, children)));\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Collapse.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content node to be collapsed.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: chainPropTypes(PropTypes.object, function (props) {\n if (props.classes && props.classes.container) {\n throw new Error(['Material-UI: the classes.container key is deprecated.', 'Use `classes.root` instead', 'The name of the pseudo-class was changed for consistency.'].join('\\n'));\n }\n\n return null;\n }),\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The height of the container when collapsed.\n * @deprecated The prop was renamed to support the addition of horizontal orientation, use `collapsedSize` instead.\n */\n collapsedHeight: deprecatedPropType(PropTypes.oneOfType([PropTypes.number, PropTypes.string]), 'The prop was renamed to support the vertical orientation, use `collapsedSize` instead'),\n\n /**\n * The height of the container when collapsed.\n */\n collapsedSize: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes\n /* @typescript-to-proptypes-ignore */\n .elementType,\n\n /**\n * Enable this prop if you encounter 'Function components cannot be given refs',\n * use `unstable_createStrictModeTheme`,\n * and can't forward the ref in the passed `Component`.\n */\n disableStrictModeCompat: PropTypes.bool,\n\n /**\n * If `true`, the component will transition in.\n */\n in: PropTypes.bool,\n\n /**\n * @ignore\n */\n onEnter: PropTypes.func,\n\n /**\n * @ignore\n */\n onEntered: PropTypes.func,\n\n /**\n * @ignore\n */\n onEntering: PropTypes.func,\n\n /**\n * @ignore\n */\n onExit: PropTypes.func,\n\n /**\n * @ignore\n */\n onExited: PropTypes.func,\n\n /**\n * @ignore\n */\n onExiting: PropTypes.func,\n\n /**\n * @ignore\n */\n style: PropTypes.object,\n\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n *\n * Set to 'auto' to automatically calculate transition time based on height.\n */\n timeout: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nCollapse.muiSupportAuto = true;\nexport default withStyles(styles, {\n name: 'MuiCollapse'\n})(Collapse);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n\n/* eslint-disable jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport Typography from '@material-ui/core/Typography';\nimport Collapse from '@material-ui/core/Collapse';\nimport { alpha, withStyles, useTheme } from '@material-ui/core/styles';\nimport { useForkRef } from '@material-ui/core/utils';\nimport TreeViewContext from '../TreeView/TreeViewContext';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n listStyle: 'none',\n margin: 0,\n padding: 0,\n outline: 0,\n WebkitTapHighlightColor: 'transparent',\n '&:focus > $content $label': {\n backgroundColor: theme.palette.action.hover\n },\n '&$selected > $content $label': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n },\n '&$selected > $content $label:hover, &$selected:focus > $content $label': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n\n /* Pseudo-class applied to the root element when expanded. */\n expanded: {},\n\n /* Pseudo-class applied to the root element when selected. */\n selected: {},\n\n /* Styles applied to the `role=\"group\"` element. */\n group: {\n margin: 0,\n padding: 0,\n marginLeft: 17\n },\n\n /* Styles applied to the tree node content. */\n content: {\n width: '100%',\n display: 'flex',\n alignItems: 'center',\n cursor: 'pointer'\n },\n\n /* Styles applied to the tree node icon and collapse/expand icon. */\n iconContainer: {\n marginRight: 4,\n width: 15,\n display: 'flex',\n flexShrink: 0,\n justifyContent: 'center',\n '& svg': {\n fontSize: 18\n }\n },\n\n /* Styles applied to the label element. */\n label: {\n width: '100%',\n paddingLeft: 4,\n position: 'relative',\n '&:hover': {\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n }\n };\n};\n\nvar isPrintableCharacter = function isPrintableCharacter(str) {\n return str && str.length === 1 && str.match(/\\S/);\n};\n\nvar TreeItem = /*#__PURE__*/React.forwardRef(function TreeItem(props, ref) {\n var children = props.children,\n classes = props.classes,\n className = props.className,\n collapseIcon = props.collapseIcon,\n endIcon = props.endIcon,\n expandIcon = props.expandIcon,\n iconProp = props.icon,\n label = props.label,\n nodeId = props.nodeId,\n onClick = props.onClick,\n onLabelClick = props.onLabelClick,\n onIconClick = props.onIconClick,\n onFocus = props.onFocus,\n onKeyDown = props.onKeyDown,\n onMouseDown = props.onMouseDown,\n _props$TransitionComp = props.TransitionComponent,\n TransitionComponent = _props$TransitionComp === void 0 ? Collapse : _props$TransitionComp,\n TransitionProps = props.TransitionProps,\n other = _objectWithoutProperties(props, [\"children\", \"classes\", \"className\", \"collapseIcon\", \"endIcon\", \"expandIcon\", \"icon\", \"label\", \"nodeId\", \"onClick\", \"onLabelClick\", \"onIconClick\", \"onFocus\", \"onKeyDown\", \"onMouseDown\", \"TransitionComponent\", \"TransitionProps\"]);\n\n var _React$useContext = React.useContext(TreeViewContext),\n contextIcons = _React$useContext.icons,\n focus = _React$useContext.focus,\n focusFirstNode = _React$useContext.focusFirstNode,\n focusLastNode = _React$useContext.focusLastNode,\n focusNextNode = _React$useContext.focusNextNode,\n focusPreviousNode = _React$useContext.focusPreviousNode,\n focusByFirstCharacter = _React$useContext.focusByFirstCharacter,\n selectNode = _React$useContext.selectNode,\n selectRange = _React$useContext.selectRange,\n selectNextNode = _React$useContext.selectNextNode,\n selectPreviousNode = _React$useContext.selectPreviousNode,\n rangeSelectToFirst = _React$useContext.rangeSelectToFirst,\n rangeSelectToLast = _React$useContext.rangeSelectToLast,\n selectAllNodes = _React$useContext.selectAllNodes,\n expandAllSiblings = _React$useContext.expandAllSiblings,\n toggleExpansion = _React$useContext.toggleExpansion,\n isExpanded = _React$useContext.isExpanded,\n isFocused = _React$useContext.isFocused,\n isSelected = _React$useContext.isSelected,\n isTabbable = _React$useContext.isTabbable,\n multiSelect = _React$useContext.multiSelect,\n getParent = _React$useContext.getParent,\n mapFirstChar = _React$useContext.mapFirstChar,\n addNodeToNodeMap = _React$useContext.addNodeToNodeMap,\n removeNodeFromNodeMap = _React$useContext.removeNodeFromNodeMap;\n\n var nodeRef = React.useRef(null);\n var contentRef = React.useRef(null);\n var handleRef = useForkRef(nodeRef, ref);\n var icon = iconProp;\n var expandable = Boolean(Array.isArray(children) ? children.length : children);\n var expanded = isExpanded ? isExpanded(nodeId) : false;\n var focused = isFocused ? isFocused(nodeId) : false;\n var tabbable = isTabbable ? isTabbable(nodeId) : false;\n var selected = isSelected ? isSelected(nodeId) : false;\n var icons = contextIcons || {};\n var theme = useTheme();\n\n if (!icon) {\n if (expandable) {\n if (!expanded) {\n icon = expandIcon || icons.defaultExpandIcon;\n } else {\n icon = collapseIcon || icons.defaultCollapseIcon;\n }\n\n if (!icon) {\n icon = icons.defaultParentIcon;\n }\n } else {\n icon = endIcon || icons.defaultEndIcon;\n }\n }\n\n var handleClick = function handleClick(event) {\n if (!focused) {\n focus(nodeId);\n }\n\n var multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey); // If already expanded and trying to toggle selection don't close\n\n if (expandable && !event.defaultPrevented && !(multiple && isExpanded(nodeId))) {\n toggleExpansion(event, nodeId);\n }\n\n if (multiple) {\n if (event.shiftKey) {\n selectRange(event, {\n end: nodeId\n });\n } else {\n selectNode(event, nodeId, true);\n }\n } else {\n selectNode(event, nodeId);\n }\n\n if (onClick) {\n onClick(event);\n }\n };\n\n var handleMouseDown = function handleMouseDown(event) {\n if (event.shiftKey || event.ctrlKey || event.metaKey) {\n event.preventDefault();\n }\n\n if (onMouseDown) {\n onMouseDown(event);\n }\n };\n\n var handleNextArrow = function handleNextArrow(event) {\n if (expandable) {\n if (expanded) {\n focusNextNode(nodeId);\n } else {\n toggleExpansion(event);\n }\n }\n\n return true;\n };\n\n var handlePreviousArrow = function handlePreviousArrow(event) {\n if (expanded) {\n toggleExpansion(event, nodeId);\n return true;\n }\n\n var parent = getParent(nodeId);\n\n if (parent) {\n focus(parent);\n return true;\n }\n\n return false;\n };\n\n var handleKeyDown = function handleKeyDown(event) {\n var flag = false;\n var key = event.key;\n\n if (event.altKey || event.currentTarget !== event.target) {\n return;\n }\n\n var ctrlPressed = event.ctrlKey || event.metaKey;\n\n switch (key) {\n case ' ':\n if (nodeRef.current === event.currentTarget) {\n if (multiSelect && event.shiftKey) {\n flag = selectRange(event, {\n end: nodeId\n });\n } else if (multiSelect) {\n flag = selectNode(event, nodeId, true);\n } else {\n flag = selectNode(event, nodeId);\n }\n }\n\n event.stopPropagation();\n break;\n\n case 'Enter':\n if (nodeRef.current === event.currentTarget && expandable) {\n toggleExpansion(event);\n flag = true;\n }\n\n event.stopPropagation();\n break;\n\n case 'ArrowDown':\n if (multiSelect && event.shiftKey) {\n selectNextNode(event, nodeId);\n }\n\n focusNextNode(nodeId);\n flag = true;\n break;\n\n case 'ArrowUp':\n if (multiSelect && event.shiftKey) {\n selectPreviousNode(event, nodeId);\n }\n\n focusPreviousNode(nodeId);\n flag = true;\n break;\n\n case 'ArrowRight':\n if (theme.direction === 'rtl') {\n flag = handlePreviousArrow(event);\n } else {\n flag = handleNextArrow(event);\n }\n\n break;\n\n case 'ArrowLeft':\n if (theme.direction === 'rtl') {\n flag = handleNextArrow(event);\n } else {\n flag = handlePreviousArrow(event);\n }\n\n break;\n\n case 'Home':\n if (multiSelect && ctrlPressed && event.shiftKey) {\n rangeSelectToFirst(event, nodeId);\n }\n\n focusFirstNode();\n flag = true;\n break;\n\n case 'End':\n if (multiSelect && ctrlPressed && event.shiftKey) {\n rangeSelectToLast(event, nodeId);\n }\n\n focusLastNode();\n flag = true;\n break;\n\n default:\n if (key === '*') {\n expandAllSiblings(event, nodeId);\n flag = true;\n } else if (multiSelect && ctrlPressed && key.toLowerCase() === 'a') {\n flag = selectAllNodes(event);\n } else if (!ctrlPressed && !event.shiftKey && isPrintableCharacter(key)) {\n focusByFirstCharacter(nodeId, key);\n flag = true;\n }\n\n }\n\n if (flag) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n\n var handleFocus = function handleFocus(event) {\n if (!focused && event.currentTarget === event.target) {\n focus(nodeId);\n }\n\n if (onFocus) {\n onFocus(event);\n }\n };\n\n React.useEffect(function () {\n if (addNodeToNodeMap) {\n var childIds = [];\n React.Children.forEach(children, function (child) {\n if ( /*#__PURE__*/React.isValidElement(child) && child.props.nodeId) {\n childIds.push(child.props.nodeId);\n }\n });\n addNodeToNodeMap(nodeId, childIds);\n }\n }, [children, nodeId, addNodeToNodeMap]);\n React.useEffect(function () {\n if (removeNodeFromNodeMap) {\n return function () {\n removeNodeFromNodeMap(nodeId);\n };\n }\n\n return undefined;\n }, [nodeId, removeNodeFromNodeMap]);\n React.useEffect(function () {\n if (mapFirstChar && label) {\n mapFirstChar(nodeId, contentRef.current.textContent.substring(0, 1).toLowerCase());\n }\n }, [mapFirstChar, nodeId, label]);\n React.useEffect(function () {\n if (focused) {\n nodeRef.current.focus();\n }\n }, [focused]);\n var ariaSelected;\n\n if (multiSelect) {\n ariaSelected = selected;\n } else if (selected) {\n // single-selection trees unset aria-selected\n ariaSelected = true;\n }\n\n return /*#__PURE__*/React.createElement(\"li\", _extends({\n className: clsx(classes.root, className, expanded && classes.expanded, selected && classes.selected),\n role: \"treeitem\",\n onKeyDown: handleKeyDown,\n onFocus: handleFocus,\n \"aria-expanded\": expandable ? expanded : null,\n \"aria-selected\": ariaSelected,\n ref: handleRef,\n tabIndex: tabbable ? 0 : -1\n }, other), /*#__PURE__*/React.createElement(\"div\", {\n className: classes.content,\n onClick: handleClick,\n onMouseDown: handleMouseDown,\n ref: contentRef\n }, /*#__PURE__*/React.createElement(\"div\", {\n onClick: onIconClick,\n className: classes.iconContainer\n }, icon), /*#__PURE__*/React.createElement(Typography, {\n onClick: onLabelClick,\n component: \"div\",\n className: classes.label\n }, label)), children && /*#__PURE__*/React.createElement(TransitionComponent, _extends({\n unmountOnExit: true,\n className: classes.group,\n in: expanded,\n component: \"ul\",\n role: \"group\"\n }, TransitionProps), children));\n});\nprocess.env.NODE_ENV !== \"production\" ? TreeItem.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The icon used to collapse the node.\n */\n collapseIcon: PropTypes.node,\n\n /**\n * The icon displayed next to a end node.\n */\n endIcon: PropTypes.node,\n\n /**\n * The icon used to expand the node.\n */\n expandIcon: PropTypes.node,\n\n /**\n * The icon to display next to the tree node's label.\n */\n icon: PropTypes.node,\n\n /**\n * The tree node label.\n */\n label: PropTypes.node,\n\n /**\n * The id of the node.\n */\n nodeId: PropTypes.string.isRequired,\n\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * `onClick` handler for the icon container. Call `event.preventDefault()` to prevent `onNodeToggle` from being called.\n */\n onIconClick: PropTypes.func,\n\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n\n /**\n * `onClick` handler for the label container. Call `event.preventDefault()` to prevent `onNodeToggle` from being called.\n */\n onLabelClick: PropTypes.func,\n\n /**\n * @ignore\n */\n onMouseDown: PropTypes.func,\n\n /**\n * The component used for the transition.\n * [Follow this guide](/components/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n */\n TransitionComponent: PropTypes.elementType,\n\n /**\n * Props applied to the [`Transition`](http://reactcommunity.org/react-transition-group/transition#Transition-props) element.\n */\n TransitionProps: PropTypes.object\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiTreeItem'\n})(TreeItem);","import React, { useContext, useState } from \"react\";\r\nimport TreeNode from \"../../../../../classes/TreeNode\";\r\nimport TreeView from \"@material-ui/lab/TreeView\";\r\nimport TreeItem from \"@material-ui/lab/TreeItem\";\r\nimport useHttpRequest from \"../../../../../hooks/http-request\";\r\nimport { bodyFormattedSumm, castArrayForFE } from \"../../../../../helper/helperFunctionGetDocument\";\r\nimport { config } from \"../../../../../constants/Constants\";\r\nimport GetDocumentContext from \"../../../../../store/get-documento\";\r\nimport TokenContext from \"../../../../../store/token-context\";\r\nimport Link from \"../../../../UI/ListLink/Link/Link\";\r\nimport './CreateTreeView.css';\r\n\r\nconst CreateTreeView = (props) => {\r\n\r\n const [expanded, setExpanded] = useState([\"0\"]);\r\n const [selected, setSelected] = useState(\"0\");\r\n const [tree, setTree] = useState(new TreeNode({\r\n id: \"0\",\r\n name: \"\",\r\n children: props.sommario,\r\n leaf: false,\r\n parent: \"0\",\r\n livello: 0\r\n })\r\n );\r\n\r\n const sendRqst = useHttpRequest();\r\n const getDocumento = useContext(GetDocumentContext);\r\n const tokenCtx = useContext(TokenContext);\r\n\r\n const handleChange = (event, nodeId) => {\r\n if (nodeId === '0') return;\r\n\r\n const node = tree.search(nodeId);\r\n if (expanded.find(el => el === nodeId && node && node.children.length > 0)) {\r\n const index = expanded.indexOf(nodeId);\r\n const newArray = [...expanded];\r\n newArray.splice(index, 1);\r\n setExpanded(newArray);\r\n setSelected(node.parent);\r\n }\r\n else if (!expanded.find(el => el === nodeId) && node && node.children.length > 0) {\r\n setSelected(nodeId);\r\n setExpanded([...expanded, nodeId]);\r\n }\r\n else if (node && !node.children.length) {\r\n\r\n const settingChildren = (data) => {\r\n const array = castArrayForFE(data.Result.Nodes);\r\n setTree(tree.addChildren(array, nodeId));\r\n setSelected(nodeId);\r\n setExpanded([...expanded, nodeId]);\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getTaxonomy,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormattedSumm(getDocumento.indexSumm, nodeId, tokenCtx)),\r\n method: \"POST\"\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, settingChildren);\r\n }\r\n };\r\n\r\n const createItemFromTree = (fromTree) => {\r\n\r\n const name = fromTree.name;\r\n const classes = fromTree.livello === 1 ? 'page-subtitle' : fromTree.livello === 2 ? 'page-h3' : '';\r\n\r\n if (fromTree.children.length) {\r\n if (fromTree.livello !== 1) {\r\n return (\r\n <React.Fragment>\r\n <TreeItem \r\n key={fromTree.id} \r\n nodeId={fromTree.id} \r\n label={\r\n <h3 className=\"reader-summary-subtitle\">\r\n {name}\r\n </h3>\r\n } \r\n classes={{ label: classes }} \r\n >\r\n <h4 className=\"page-h4\"></h4>\r\n <ul className=\"specificClasses list list--large page-list\">\r\n {fromTree.children.length > 0 &&\r\n fromTree.children.map((child) => createItemFromTree(child)\r\n )}\r\n </ul>\r\n </TreeItem>\r\n </React.Fragment>\r\n );\r\n } else {\r\n return (\r\n <TreeItem \r\n key={fromTree.id} \r\n nodeId={fromTree.id} \r\n classes={{ label: classes }} \r\n label={\r\n <li className=\"list-lined-item lined\">\r\n <div className=\"reader-summary-item\">\r\n <a className=\"reader-summary-title collapsed\" role={\"button\"} data-toggle=\"collapse\" aria-expanded=\"false\">\r\n {name}\r\n <span className=\"icon icon-angle-right\"></span>\r\n </a>\r\n </div>\r\n </li>\r\n }\r\n >\r\n <div className=\"reader-summary-wrapper\">\r\n {fromTree.children.length > 0 &&\r\n fromTree.children.map((child) =>\r\n createItemFromTree(child)\r\n )}\r\n </div>\r\n </TreeItem>\r\n );\r\n }\r\n }\r\n return (\r\n <React.Fragment>\r\n {\r\n fromTree.leaf &&\r\n <Link url={fromTree.documentId} title={fromTree.name} fromTree={fromTree} indexSumm={getDocumento.indexSumm}/>\r\n }\r\n {\r\n !fromTree.leaf && \r\n <>\r\n { fromTree.livello === 1 &&\r\n <TreeItem \r\n key={fromTree.id} \r\n nodeId={fromTree.id} \r\n classes={{ label: classes }}\r\n label={\r\n <li className=\"list-lined-item lined\">\r\n <div className=\"reader-summary-item\">\r\n <a className=\"reader-summary-title collapsed\" role={\"button\"} data-toggle=\"collapse\" data-target=\"#sommario-1\" aria-expanded=\"false\">\r\n {name}\r\n <span className=\"icon icon-angle-right\"></span>\r\n </a>\r\n </div>\r\n </li>\r\n } \r\n ></TreeItem>\r\n }\r\n { fromTree.livello !== 1 &&\r\n <TreeItem \r\n key={fromTree.id} \r\n nodeId={fromTree.id} \r\n label={\r\n <h3 className=\"reader-summary-subtitle\">\r\n {name}\r\n </h3>\r\n } \r\n classes={{ label: classes }} \r\n >\r\n <h4 className=\"page-h4\"></h4>\r\n <ul className=\"specificClasses list list--large page-list\">\r\n {fromTree.children.length > 0 &&\r\n fromTree.children.map((child) => createItemFromTree(child)\r\n )}\r\n </ul>\r\n </TreeItem>\r\n }\r\n </>\r\n }\r\n </React.Fragment>\r\n );\r\n };\r\n\r\n return (\r\n <React.Fragment>\r\n <TreeView\r\n selected={selected}\r\n onNodeSelect={handleChange}\r\n expanded={expanded}\r\n >\r\n {createItemFromTree(tree)}\r\n </TreeView>\r\n </React.Fragment>\r\n );\r\n};\r\n\r\nexport default CreateTreeView;","import React from \"react\";\nimport objectAssign from \"object-assign\";\nconst Iframe = ({ url, allowFullScreen, position, display, height, width, overflow, styles, onLoad, onMouseOver, onMouseOut, scrolling, id, frameBorder, ariaHidden, sandbox, allow, className, title, ariaLabel, ariaLabelledby, name, target, loading, importance, referrerpolicy, allowpaymentrequest, src, key }) => {\n const defaultProps = objectAssign({\n src: src || url,\n target: target || null,\n style: {\n position: position || null,\n display: display || \"initial\",\n overflow: overflow || null\n },\n scrolling: scrolling || null,\n allowpaymentrequest: allowpaymentrequest || null,\n importance: importance || null,\n sandbox: (sandbox && [...sandbox].join(\" \")) || null,\n loading: loading || null,\n styles: styles || null,\n name: name || null,\n className: className || null,\n allowFullscreen: \"allowFullScreen\" || null,\n referrerpolicy: referrerpolicy || null,\n title: title || null,\n allow: allow || null,\n id: id || null,\n \"aria-labelledby\": ariaLabelledby || null,\n \"aria-hidden\": ariaHidden || null,\n \"aria-label\": ariaLabel || null,\n width: width || null,\n height: height || null,\n onLoad: onLoad || null,\n onMouseOver: onMouseOver || null,\n onMouseOut: onMouseOut || null,\n key: key || \"iframe\"\n });\n let props = Object.create(null);\n for (let prop of Object.keys(defaultProps)) {\n if (defaultProps[prop] != null) {\n props[prop] = defaultProps[prop];\n }\n }\n for (let i of Object.keys(props.style)) {\n if (props.style[i] == null) {\n delete props.style[i];\n }\n }\n if (props.styles) {\n for (let key of Object.keys(props.styles)) {\n if (props.styles.hasOwnProperty(key)) {\n props.style[key] = props.styles[key];\n }\n if (Object.keys(props.styles).pop() == key) {\n delete props.styles;\n }\n }\n }\n if (allowFullScreen) {\n if (\"allow\" in props) {\n const currentAllow = props.allow.replace(\"fullscreen\", \"\");\n props.allow = `fullscreen ${currentAllow.trim()}`.trim();\n }\n else {\n props.allow = \"fullscreen\";\n }\n }\n if (frameBorder >= 0) {\n if (!props.style.hasOwnProperty(\"border\")) {\n props.style.border = frameBorder;\n }\n }\n return React.createElement(\"iframe\", Object.assign({}, props));\n};\nexport default Iframe;\n","import React from 'react';\r\nimport Iframe from 'react-iframe'\r\nimport { createUrlPdf } from '../../../../../helper/helper';\r\n\r\nconst IFramePDF = (props) => {\r\n\r\n const url = createUrlPdf(props.pdf_summ);\r\n\r\n return(\r\n <React.Fragment>\r\n <Iframe url={url}\r\n width=\"640px\"\r\n height=\"840px\"\r\n id=\"\"\r\n className=\"\"\r\n display=\"block\"\r\n position=\"relative\"/>\r\n </React.Fragment>\r\n );\r\n};\r\n\r\nexport default IFramePDF;","import React, { useContext, useEffect, useState } from \"react\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport { config } from \"../../../../constants/Constants\";\r\nimport { titleUrlSlug } from \"../../../../helper/helper\";\r\nimport { updateView } from \"../../../../helper/TealiumHelper\";\r\nimport AuthContext from \"../../../../store/auth-context\";\r\nimport GetDocumentContext from \"../../../../store/get-documento\";\r\nimport TokenContext from \"../../../../store/token-context\";\r\nimport ListLink from \"../../../UI/ListLink/ListLink\";\r\nimport CreateTreeView from \"./CreateTreeView/CreateTreeView\";\r\nimport IFramePDF from \"./IFramePDF/IFramePDF\";\r\n\r\n\r\nconst Sommario = (props) => {\r\n\r\n const [sommario, setSommario] = useState([]);\r\n const [typeSumm, setTypeSumm] = useState(\"\");\r\n const [pdfSumm, setPdfSumm] = useState(undefined);\r\n const { isBookIntegrate } = useParams();\r\n let { id } = useParams();\r\n\r\n const getDocumentCtx= useContext(GetDocumentContext);\r\n const authCtx = useContext(AuthContext);\r\n const tokenCtx = useContext(TokenContext);\r\n useEffect(() => {\r\n if(!isBookIntegrate) return;\r\n sessionStorage.setItem(\"isBookIntegrate\", isBookIntegrate)\r\n //SETIsIntegrateInBD(true);\r\n }, [isBookIntegrate]);\r\n useEffect(() => {\r\n let reload = setTimeout(() => {\r\n getDocumentCtx.getDocumentoFromId(id)\r\n },200);\r\n \r\n return () => {\r\n clearTimeout(reload);\r\n };\r\n }, [id]);\r\n\r\n useEffect(() => {\r\n\r\n setSommario(getDocumentCtx.sommarioArray);\r\n\r\n },[getDocumentCtx.sommarioArray]);\r\n\r\n useEffect(() => {\r\n\r\n setTypeSumm(getDocumentCtx.typeSumm);\r\n\r\n }, [getDocumentCtx.typeSumm]);\r\n\r\n useEffect(() => {\r\n\r\n setPdfSumm(getDocumentCtx.pdfSumm);\r\n \r\n }, [getDocumentCtx.pdfSumm]);\r\n\r\n useEffect(() => {\r\n\r\n if(window.utag === null || window.utag === undefined) return;\r\n\r\n updateView(`book24ore:prodotto:${titleUrlSlug(getDocumentCtx.prodotto?.title.toLowerCase())}:sommario`,authCtx, tokenCtx, \"book24ore:prodotto\");\r\n \r\n },[tokenCtx.token, authCtx.isLoggedIn, window.utag])\r\n\r\n return (\r\n <div className=\"reader-summary\">\r\n {(typeSumm === config.serviceToCall.getSummarySmart.split(\"/\")[1] && sommario.length > 0) && <ListLink key={Math.random()} listSommario={sommario} typeSumm={getDocumentCtx.typeSumm}></ListLink>}\r\n {(typeSumm === config.serviceToCall.getTaxonomy.split(\"/\")[1] && sommario.length > 0) && \r\n <CreateTreeView sommario={sommario}></CreateTreeView>\r\n }\r\n {(typeSumm === config.getPDF && pdfSumm !== undefined) && <IFramePDF pdf_summ={pdfSumm}></IFramePDF>}\r\n </div>\r\n );\r\n}\r\n\r\nexport default Sommario;","import React from 'react';\r\nimport { useContext } from 'react';\r\nimport { useRef } from 'react';\r\nimport { useState } from 'react';\r\nimport { useEffect } from 'react';\r\nimport { useParams } from 'react-router-dom';\r\nimport Footer from \"../components/Footer/Footer\";\r\nimport Ricerca from '../components/Header/Ricerca/Ricerca';\r\nimport HeaderReader from '../components/HeaderReader/HeaderReader';\r\nimport Wrapper from '../components/Helper/Wrapper/Wrapper';\r\nimport LoginModal from '../components/Modals/Login';\r\nimport SessioneScaduta from \"../components/Modals/SessioneScaduta\";\r\nimport MessageManageSiac from '../components/Modals/MessageManageSiac';\r\nimport Sommario from '../components/Prodotti/Prodotto/SchedaSommario/SchedaSommario';\r\nimport ReaderFoot from '../components/ReaderFoot/ReaderFoot';\r\nimport ReaderHead from '../components/ReaderHead/ReaderHead';\r\nimport ReaderHeadGoTo from '../components/ReaderHead/ReaderHeadGoTo';\r\nimport ReaderTitle from '../components/ReaderHead/ReaderTitle';\r\nimport ReaderContentContainer from '../components/ReaderMain/ReaderContentContainer';\r\nimport ReaderMainContainer from '../components/ReaderMain/ReaderMainContainer';\r\nimport ReaderMainSummary from '../components/ReaderMain/ReaderMainSummary/ReaderMainSummary';\r\nimport ReaderTools from '../components/ReaderMain/ReaderTools/ReaderTools';\r\nimport { config } from '../constants/Constants';\r\nimport { bodyFormattedGetTipoView, bodyFormattedReader, castArrayForFELittleSumm, chooseBody, chooseDocument, chooseURL, FormattedDocumentForFE, viewContent } from '../helper/helperFunctionReader';\r\nimport useHttpRequest from '../hooks/http-request';\r\nimport useSaveAndDeleteReadingBook from '../hooks/saveAndDeleteReadingBook';\r\nimport useManageBodyClasses from '../hooks/useManageBodyClasses';\r\nimport AuthContext from '../store/auth-context';\r\nimport isLoadingContext from '../store/isLoadingcontext';\r\nimport TokenContext from '../store/token-context';\r\n\r\nconst ReaderSummary = (props) => {\r\n\r\n const { id } = useParams();\r\n\r\n const [tipoDocument, setTipoDocument] = useState(null);\r\n const [documentReturns, setDocumentReturns] = useState({});\r\n const [nextChap, setNextChap] = useState({});\r\n const [prevChap, setPrevChap] = useState({});\r\n\r\n const authCtx = useContext(AuthContext);\r\n const tokenCtx = useContext(TokenContext);\r\n const sendRqst = useHttpRequest();\r\n const isLoadingCtx = useContext(isLoadingContext);\r\n const saveDeleteB = useSaveAndDeleteReadingBook();\r\n const [showSessione, setShowSessione] = useState(false);\r\n const [showModal, setShowModal] = useState(true);\r\n useEffect(() => {\r\n setShowSessione(localStorage.getItem(\"showModalSessione\") ? true : false);\r\n });\r\n useEffect(() => {\r\n\r\n isLoadingCtx.setIfIsLoading(true);\r\n\r\n const tipoDocument = (data) => {\r\n\r\n let typeDocument = null;\r\n\r\n\r\n if (data.Result.ResultSet.Root === null) {\r\n setTipoDocument(typeDocument);\r\n return;\r\n }\r\n\r\n const getTipoV = data.Result.ResultSet.Root[0];\r\n typeDocument = chooseDocument(getTipoV.tipo);\r\n\r\n setTipoDocument(typeDocument);\r\n const showPremiumContent = viewContent(getTipoV, tokenCtx);\r\n loadDocument(typeDocument, getTipoV.pdfurl, showPremiumContent, getTipoV.comprato);\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormattedGetTipoView(config.nameList.tipoDocument, id, tokenCtx)),\r\n method: \"POST\"\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, tipoDocument);\r\n\r\n }, [id, tokenCtx.token]);\r\n\r\n const testataHtml = (id, dataRes, typeDocument, showPremiumContent) => {\r\n\r\n const setTestataDocumentHtml = (data) => {\r\n\r\n let document = data.Result.ResultSet;\r\n if (document === null) {\r\n isLoadingCtx.setIfIsLoading(false);\r\n return;\r\n }\r\n\r\n document = document.Root[0];\r\n\r\n document = {\r\n Section: document.sezione,\r\n ChapterTitle: document.titolo,\r\n Date: document.data,\r\n page: document.pagina,\r\n Author: document.autore,\r\n TaxType: document.titolo,\r\n Immagine: document.immagine\r\n };\r\n\r\n document = { ...document, ...dataRes };\r\n const res = FormattedDocumentForFE(document, typeDocument, showPremiumContent)\r\n setDocumentReturns(res);\r\n saveDeleteB.setSaveBook(config.nameList.leggendo, { prop1: parseInt(res.idProvv), prop2: parseInt(res.idDocType), prop3: parseInt(res.id) }, showPremiumContent);\r\n };\r\n\r\n const bodyFormatted = bodyFormattedReader(id, config.nameList.getTestataHtml, tokenCtx);\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, setTestataDocumentHtml);\r\n };\r\n\r\n const loadDocument = (typeDocument, pdfUrl, showPremiumContent, isComprato) => {\r\n\r\n const setDocumentJson = (data) => {\r\n\r\n let document = {};\r\n\r\n if (typeDocument !== 'Sistema Frizzera') {\r\n testataHtml(data.Result.DocumentId, data.Result, typeDocument, showPremiumContent);\r\n return;\r\n }\r\n\r\n document = data.Result;\r\n\r\n const res = FormattedDocumentForFE(document, typeDocument, showPremiumContent);\r\n setDocumentReturns(res);\r\n loadLittleSumm();\r\n };\r\n\r\n const bodyFormatted = chooseBody(typeDocument, id, tokenCtx.token, isComprato);\r\n\r\n if (bodyFormatted === null)\r\n return;\r\n\r\n const url = chooseURL(typeDocument);\r\n\r\n const request = {\r\n url: url,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: \"POST\"\r\n }\r\n }\r\n\r\n sendRqst.sendRequest(request, setDocumentJson);\r\n };\r\n\r\n const loadLittleSumm = () => {\r\n\r\n const setLittleSummJson = (data) => {\r\n\r\n if (data.Result.ResultSet === null) {\r\n return;\r\n }\r\n\r\n const objJson = castArrayForFELittleSumm(data.Result.ResultSet.Root);\r\n\r\n setPrevChap(objJson.prevChap);\r\n setNextChap(objJson.nextChap);\r\n isLoadingCtx.setIfIsLoading(false, 0);\r\n\r\n }\r\n\r\n const bodyFormatted = bodyFormattedReader(id, config.nameList.getLittleSumm, tokenCtx);\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, setLittleSummJson);\r\n };\r\n\r\n useManageBodyClasses();\r\n\r\n return (\r\n <>\r\n <Wrapper>\r\n {authCtx.showLoginModal && <LoginModal show={authCtx.showLoginModal}></LoginModal>}\r\n {tokenCtx.showMessageSiac && <MessageManageSiac show={tokenCtx.showMessageSiac}></MessageManageSiac>}\r\n {showSessione && <SessioneScaduta show={showSessione} closeModal={(dismiss) => { setShowModal(dismiss.showModal) }}></SessioneScaduta>}\r\n <HeaderReader page='summary'\r\n title={documentReturns.mainTitle}\r\n tipoDocument={tipoDocument}\r\n img={documentReturns.img}\r\n isReader={true}\r\n idDoc={documentReturns.id}\r\n idProv={documentReturns.idProvv}\r\n idDocType={documentReturns.idDocType}\r\n isIntegrateInBD={props.isIntegrateInBD}\r\n />\r\n\r\n <ReaderContentContainer>\r\n <ReaderHead>\r\n <ReaderTitle title='Sommario' />\r\n {/*<ReaderHeadGoTo page='summary' />*/}\r\n </ReaderHead>\r\n\r\n <ReaderMainContainer>\r\n {/*<ReaderTools />*/}\r\n <Sommario></Sommario>\r\n {/*<ReaderTools />*/}\r\n </ReaderMainContainer>\r\n\r\n {tipoDocument !== 'pdf' && <ReaderFoot prevChap={prevChap} nextChap={nextChap} />}\r\n </ReaderContentContainer>\r\n\r\n <Footer isIntegrateInBD={props.isIntegrateInBD}/>\r\n </Wrapper>\r\n\r\n <Ricerca isReader={true}\r\n img={documentReturns.img}\r\n title={documentReturns.upTitlLeft}\r\n tipoDocument={tipoDocument}\r\n id={documentReturns.id}\r\n idProvvedimento={documentReturns.idProvv}\r\n idDocType={documentReturns.idDocType} />\r\n </>\r\n );\r\n}\r\n\r\nexport default ReaderSummary;","import React from 'react';\r\nimport { NavLink } from 'react-router-dom';\r\n\r\nconst ReaderCard = ({ itemList }) => {\r\n\r\n const isNotReader = localStorage.getItem(\"isReader\") === null;\r\n\r\n return (\r\n <li className=\"list-item\">\r\n <NavLink className=\"bdcard\" to={`/reader/${itemList.id}`} /*target={`${isNotReader ? '_blank' : ''}`}*/>\r\n <div className=\"ncard-fam \">\r\n <h4 className=\"h-meta\">\r\n {itemList.category}\r\n {itemList.pipe &&\r\n <>\r\n {itemList.category !== undefined && <span className=\"pipe\">|</span>}\r\n {itemList.pipe}\r\n </>\r\n }\r\n </h4>\r\n </div>\r\n <div className=\"ncard\">\r\n <h3 className=\"ncard-title serif\">\r\n {itemList.title}\r\n {itemList.isUpdated &&\r\n <span className=\"page-label\">Aggiornato</span>\r\n }\r\n </h3>\r\n <p className=\"ncard-text\">\r\n {itemList.paragraph}\r\n </p>\r\n </div>\r\n </NavLink>\r\n </li>\r\n );\r\n}\r\n\r\nexport default ReaderCard;","import React from 'react';\r\nimport { useEffect } from 'react';\r\nimport { useContext } from 'react';\r\nimport { useState } from 'react';\r\nimport { config } from '../../../constants/Constants';\r\nimport { bodyFormatted } from '../../../helper/helperFunctionGetDocument';\r\nimport { formattedUpdateListForFE } from '../../../helper/helperFunctionReader';\r\nimport useHttpRequest from '../../../hooks/http-request';\r\nimport TokenContext from '../../../store/token-context';\r\nimport ReaderCard from '../ReaderCard';\r\n\r\nconst ReaderMainUpdates = (props) => {\r\n\r\n const [updatesList, setUpdatesList] = useState([]);\r\n\r\n const tokenCtx = useContext(TokenContext);\r\n const sendRqst = useHttpRequest();\r\n\r\n useEffect(() => {\r\n\r\n const settingsUpdateList = data => {\r\n\r\n if (data.Result.ResultSet === null) return;\r\n\r\n const resultFormatted = formattedUpdateListForFE(data.Result.ResultSet.Root);\r\n\r\n setUpdatesList(resultFormatted);\r\n };\r\n\r\n const rqst = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted(config.nameList.getAggiornamentiReader, props.id, tokenCtx)),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(rqst, settingsUpdateList)\r\n\r\n }, [props.id]);\r\n\r\n return (\r\n <>\r\n {updatesList && updatesList.map((item, index) => (\r\n <div className=\"reader-uplist\" key={index}>\r\n <h2 className=\"page-subtitle text-capitalize\">\r\n {item.title}\r\n </h2>\r\n <ul className=\"list list--large\">\r\n {item.list && item.list.map((itemList, i) => (\r\n <ReaderCard itemList={itemList} key={i} />\r\n ))}\r\n </ul>\r\n </div>\r\n ))}\r\n </>\r\n );\r\n}\r\n\r\nexport default ReaderMainUpdates;","import React from 'react';\r\nimport { useState } from 'react';\r\nimport { useEffect } from 'react';\r\nimport { useContext } from 'react';\r\nimport { useParams } from 'react-router-dom';\r\nimport Footer from \"../components/Footer/Footer\";\r\nimport Ricerca from '../components/Header/Ricerca/Ricerca';\r\nimport HeaderReader from '../components/HeaderReader/HeaderReader';\r\nimport Wrapper from '../components/Helper/Wrapper/Wrapper';\r\nimport LoginModal from '../components/Modals/Login';\r\nimport SessioneScaduta from \"../components/Modals/SessioneScaduta\";\r\nimport MessageManageSiac from '../components/Modals/MessageManageSiac';\r\nimport ReaderHead from '../components/ReaderHead/ReaderHead';\r\nimport ReaderHeadGoTo from '../components/ReaderHead/ReaderHeadGoTo';\r\nimport ReaderTitle from '../components/ReaderHead/ReaderTitle';\r\nimport ReaderContentContainer from '../components/ReaderMain/ReaderContentContainer';\r\nimport ReaderMainContainer from '../components/ReaderMain/ReaderMainContainer';\r\nimport ReaderMainUpdates from '../components/ReaderMain/ReaderMainUpdates/ReaderMainUpdates';\r\nimport ReaderTools from '../components/ReaderMain/ReaderTools/ReaderTools';\r\nimport { config } from '../constants/Constants';\r\nimport { bodyFormattedGetTipoView, bodyFormattedReader, chooseBody, chooseDocument, chooseURL, FormattedDocumentForFE, viewContent } from '../helper/helperFunctionReader';\r\nimport useHttpRequest from '../hooks/http-request';\r\nimport useSaveAndDeleteReadingBook from '../hooks/saveAndDeleteReadingBook';\r\nimport useManageBodyClasses from '../hooks/useManageBodyClasses';\r\nimport AuthContext from '../store/auth-context';\r\nimport isLoadingContext from '../store/isLoadingcontext';\r\nimport TokenContext from '../store/token-context';\r\n\r\nconst ReaderUpdates = (props) => {\r\n\r\n const { id } = useParams();\r\n\r\n const [tipoDocument, setTipoDocument] = useState(null);\r\n const [documentReturns, setDocumentReturns] = useState({});\r\n\r\n const authCtx = useContext(AuthContext);\r\n const tokenCtx = useContext(TokenContext);\r\n const sendRqst = useHttpRequest();\r\n const saveDeleteB = useSaveAndDeleteReadingBook();\r\n const isLoadingCtx = useContext(isLoadingContext);\r\n const [showSessione, setShowSessione] = useState(false);\r\n const [showModal, setShowModal] = useState(true);\r\n useEffect(() => {\r\n setShowSessione(localStorage.getItem(\"showModalSessione\") ? true : false);\r\n });\r\n useEffect(() => {\r\n\r\n isLoadingCtx.setIfIsLoading(true);\r\n const tipoDocument = (data) => {\r\n\r\n let typeDocument = null;\r\n\r\n\r\n if (data.Result.ResultSet.Root === null) {\r\n setTipoDocument(typeDocument);\r\n return;\r\n }\r\n\r\n const getTipoV = data.Result.ResultSet.Root[0];\r\n typeDocument = chooseDocument(getTipoV.tipo);\r\n\r\n setTipoDocument(typeDocument);\r\n const showPremiumContent = viewContent(getTipoV, tokenCtx);\r\n loadDocument(typeDocument, getTipoV.pdfurl, showPremiumContent, getTipoV.comprato);\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormattedGetTipoView(config.nameList.tipoDocument, id, tokenCtx)),\r\n method: \"POST\"\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, tipoDocument);\r\n\r\n }, [id, tokenCtx.token]);\r\n\r\n const testataHtml = (id, dataRes, typeDocument, showPremiumContent) => {\r\n\r\n const setTestataDocumentHtml = (data) => {\r\n\r\n let document = data.Result.ResultSet;\r\n if (document === null) {\r\n isLoadingCtx.setIfIsLoading(false);\r\n return;\r\n }\r\n document = document.Root[0];\r\n\r\n document = {\r\n Section: document.sezione,\r\n ChapterTitle: document.titolo,\r\n Date: document.data,\r\n page: document.pagina,\r\n Author: document.autore,\r\n TaxType: document.titolo,\r\n Immagine: document.immagine\r\n };\r\n\r\n document = { ...document, ...dataRes };\r\n const res = FormattedDocumentForFE(document, typeDocument, showPremiumContent)\r\n setDocumentReturns(res);\r\n saveDeleteB.setSaveBook(config.nameList.leggendo, { prop1: parseInt(res.idProvv), prop2: parseInt(res.idDocType), prop3: parseInt(res.id) }, showPremiumContent);\r\n };\r\n\r\n const bodyFormatted = bodyFormattedReader(id, config.nameList.getTestataHtml, tokenCtx);\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, setTestataDocumentHtml);\r\n };\r\n\r\n const loadDocument = (typeDocument, pdfUrl, showPremiumContent, isComprato) => {\r\n\r\n const setDocumentJson = (data) => {\r\n\r\n let document = {};\r\n\r\n if (typeDocument !== 'Sistema Frizzera') {\r\n testataHtml(data.Result.DocumentId, data.Result, typeDocument, showPremiumContent);\r\n return;\r\n }\r\n\r\n document = data.Result;\r\n\r\n const res = FormattedDocumentForFE(document, typeDocument, showPremiumContent);\r\n setDocumentReturns(res);\r\n };\r\n\r\n const bodyFormatted = chooseBody(typeDocument, id, tokenCtx.token, isComprato);\r\n\r\n if (bodyFormatted === null)\r\n return;\r\n\r\n const url = chooseURL(typeDocument);\r\n\r\n const request = {\r\n url: url,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: \"POST\"\r\n }\r\n }\r\n\r\n sendRqst.sendRequest(request, setDocumentJson);\r\n };\r\n\r\n useManageBodyClasses();\r\n\r\n return (\r\n <>\r\n <Wrapper>\r\n {authCtx.showLoginModal && <LoginModal show={authCtx.showLoginModal}></LoginModal>}\r\n {tokenCtx.showMessageSiac && <MessageManageSiac show={tokenCtx.showMessageSiac}></MessageManageSiac>}\r\n {showSessione && <SessioneScaduta show={showSessione} closeModal={(dismiss) => { setShowModal(dismiss.showModal) }}></SessioneScaduta>}\r\n <HeaderReader page='updates'\r\n title={documentReturns.mainTitle}\r\n tipoDocument={tipoDocument}\r\n img={documentReturns.img}\r\n isReader={true}\r\n idDoc={documentReturns.id}\r\n idProv={documentReturns.idProvv}\r\n idDocType={documentReturns.idDocType} \r\n isIntegrateInBD={props.isIntegrateInBD}\r\n />\r\n\r\n <ReaderContentContainer>\r\n <ReaderHead>\r\n <ReaderTitle title='Aggiornamenti' />\r\n {/*<ReaderHeadGoTo page='updates' />*/}\r\n </ReaderHead>\r\n\r\n <ReaderMainContainer>\r\n {/*<ReaderTools />*/}\r\n <ReaderMainUpdates id={documentReturns.id} />\r\n {/*<ReaderTools />*/}\r\n </ReaderMainContainer>\r\n\r\n {/* Pagination components goes here */}\r\n </ReaderContentContainer>\r\n\r\n <Footer isIntegrateInBD={props.isIntegrateInBD}/>\r\n </Wrapper>\r\n\r\n <Ricerca\r\n isReader={true}\r\n img={documentReturns.img}\r\n title={documentReturns.upTitlLeft}\r\n tipoDocument={tipoDocument}\r\n id={documentReturns.id}\r\n idProvvedimento={documentReturns.idProvv}\r\n idDocType={documentReturns.idDocType} />\r\n </>\r\n );\r\n}\r\n\r\nexport default ReaderUpdates;","import React from 'react';\r\n\r\nconst ReaderHeadResearch = () => {\r\n\r\n return(\r\n <>\r\n <a className=\"reader-goto reader-goto--left\" href=\"#\">\r\n Torna alla lettura\r\n <span className=\"icon icon-arrow-left-small\"></span>\r\n </a>\r\n\r\n <div className=\"search-multi\">\r\n <div className=\"search-multi-box\">\r\n <label className=\"search-label\">Cerca</label>\r\n <input className=\"input search-multi-input\" type=\"text\" placeholder=\"Inserisci parola chiave\" defaultValue=\"Testo cercato\"/>\r\n </div>\r\n \r\n \r\n <button className=\"btn btn--big btn--round btn--black btn--icon-left d-none d-lg-block\" type=\"submit\">\r\n Cerca <span className=\"icon icon-search\"></span>\r\n </button>\r\n <button className=\"itool itool--black d-lg-none\" type=\"submit\">\r\n <span className=\"icon icon-search\"></span>\r\n </button>\r\n </div>\r\n </>\r\n\r\n );\r\n}\r\n\r\nexport default ReaderHeadResearch;","import React from 'react';\r\n\r\nconst ReaderResearchTop = (props) => {\r\n\r\n const documentFind = props.numberDocumentsFind !== null ? props.numberDocumentsFind : 0;\r\n \r\n return(\r\n <div className=\"search-top\">\r\n <span className=\"search-top-info\">\r\n {props.isLevelTwo ? \r\n <>{documentFind} risultati per <strong>{props.title}</strong></>\r\n :\r\n <>Circa 1000 risultati</>\r\n }\r\n </span>\r\n\r\n {!props.isLevelTwo && \r\n <a className=\"btn btn--icon-right\" href=\"#\">\r\n Cerca in tutti i libri\r\n <span className=\"icon icon-arrow-right\"></span>\r\n </a>\r\n }\r\n </div>\r\n );\r\n}\r\n\r\nexport default ReaderResearchTop;","import React from 'react';\r\nimport ReaderCard from '../ReaderCard';\r\nimport ReaderResearchTop from './ReaderResearchTop';\r\n\r\nconst ReaderMainResearch = () => {\r\n\r\n const researchList = [\r\n {\r\n category: 'Soggetti',\r\n pipe: '1. Iva europea e imposta nazionale',\r\n title: '1.1 L\\'armonizzazione dell \\'imposta a livello europeo',\r\n paragraph: 'Primi 300 caratteri - dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec…',\r\n },\r\n {\r\n category: 'Soggetti',\r\n pipe: '1. Iva europea e imposta nazionale',\r\n title: '1.1 L\\'armonizzazione dell \\'imposta a livello europeo',\r\n paragraph: 'Primi 300 caratteri - dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec…',\r\n isUpdated: true\r\n },\r\n {\r\n category: 'Soggetti',\r\n pipe: '1. Iva europea e imposta nazionale',\r\n title: '1.1 L\\'armonizzazione dell \\'imposta a livello europeo',\r\n paragraph: 'Primi 300 caratteri - dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec…',\r\n },\r\n {\r\n category: 'Soggetti',\r\n pipe: '1. Iva europea e imposta nazionale',\r\n title: '1.1 L\\'armonizzazione dell \\'imposta a livello europeo',\r\n paragraph: 'Primi 300 caratteri - dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec…',\r\n },\r\n {\r\n category: 'Soggetti',\r\n pipe: '1. Iva europea e imposta nazionale',\r\n title: '1.1 L\\'armonizzazione dell \\'imposta a livello europeo',\r\n paragraph: 'Primi 300 caratteri - dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec…',\r\n isUpdated: true\r\n },\r\n {\r\n category: 'Soggetti',\r\n pipe: '1. Iva europea e imposta nazionale',\r\n title: '1.1 L\\'armonizzazione dell \\'imposta a livello europeo',\r\n paragraph: 'Primi 300 caratteri - dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec…',\r\n isUpdated: true\r\n },\r\n {\r\n category: 'Soggetti',\r\n pipe: '1. Iva europea e imposta nazionale',\r\n title: '1.1 L\\'armonizzazione dell \\'imposta a livello europeo',\r\n paragraph: 'Primi 300 caratteri - dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec…',\r\n },\r\n {\r\n category: 'Soggetti',\r\n pipe: '1. Iva europea e imposta nazionale',\r\n title: '1.1 L\\'armonizzazione dell \\'imposta a livello europeo',\r\n paragraph: 'Primi 300 caratteri - dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec…',\r\n isUpdated: true\r\n },\r\n ]\r\n\r\n return(\r\n <>\r\n <ReaderResearchTop/>\r\n <div className=\"reader-uplist\">\r\n <ul className=\"list list--large\">\r\n {researchList && researchList.map((item, index) => (\r\n <ReaderCard itemList={item} key={index}/>\r\n ))}\r\n </ul>\r\n </div>\r\n </>\r\n );\r\n}\r\n\r\nexport default ReaderMainResearch;","import React from 'react';\r\nimport Footer from \"../components/Footer/Footer\";\r\nimport Ricerca from '../components/Header/Ricerca/Ricerca';\r\nimport HeaderReader from '../components/HeaderReader/HeaderReader';\r\nimport Wrapper from '../components/Helper/Wrapper/Wrapper';\r\nimport ReaderHead from '../components/ReaderHead/ReaderHead';\r\nimport ReaderHeadResearch from '../components/ReaderHead/ReaderHeadResearch';\r\nimport ReaderContentContainer from '../components/ReaderMain/ReaderContentContainer';\r\nimport ReaderMainContainer from '../components/ReaderMain/ReaderMainContainer';\r\nimport ReaderMainResearch from '../components/ReaderMain/ReaderMainResearch/ReaderMainResearch';\r\nimport useManageBodyClasses from '../hooks/useManageBodyClasses';\r\n\r\nconst ReaderResearch = (props) => {\r\n\r\n useManageBodyClasses();\r\n\r\n return(\r\n <>\r\n <Wrapper>\r\n <HeaderReader page='research' isIntegrateInBD={props.isIntegrateInBD}/>\r\n\r\n <ReaderContentContainer>\r\n <ReaderHead>\r\n <ReaderHeadResearch/>\r\n </ReaderHead>\r\n\r\n <ReaderMainContainer>\r\n <ReaderMainResearch/>\r\n </ReaderMainContainer> \r\n \r\n {/* Pagination components goes here */}\r\n </ReaderContentContainer>\r\n\r\n <Footer isIntegrateInBD={props.isIntegrateInBD}/>\r\n </Wrapper>\r\n\r\n <Ricerca isReader={true}/>\r\n </>\r\n );\r\n}\r\n\r\n\r\nexport default ReaderResearch;","import React, { useContext, useEffect, useState } from 'react'\r\nimport Header from '../components/Header/Header';\r\nimport Ricerca from '../components/Header/Ricerca/Ricerca';\r\nimport Wrapper from '../components/Helper/Wrapper/Wrapper';\r\nimport LoginModal from '../components/Modals/Login';\r\nimport MessageManageSiac from '../components/Modals/MessageManageSiac';\r\nimport UtilityWrapper from '../components/UtilityWrapper/UtilityWrapper';\r\nimport useManageBodyClasses from '../hooks/useManageBodyClasses';\r\nimport AuthContext from '../store/auth-context';\r\nimport TokenContext from '../store/token-context';\r\nimport SessioneScaduta from '../components/Modals/SessioneScaduta';\r\n\r\nconst OldBrowser = () => {\r\n\r\n const authCtx = useContext(AuthContext);\r\n const tokenCtx= useContext(TokenContext);\r\n const [showSessione, setShowSessione] = useState(false);\r\n const [showModal, setShowModal] = useState(true);\r\n useEffect(() => {\r\n setShowSessione(localStorage.getItem(\"showModalSessione\") ? true : false);\r\n });\r\n const oldBrowsers = [\r\n { title: 'Safari', text: 'versione 13 e successive' },\r\n { title: 'Firefox', text: 'versione 70 e successive' },\r\n { title: 'Internet Explorer e Microsoft Edge', text: 'versione 44 e successive' },\r\n { title: 'Chrome', text: 'versione 78 e successive' },\r\n ];\r\n\r\n useManageBodyClasses();\r\n\r\n return (\r\n <React.Fragment>\r\n <Wrapper>\r\n <Header showSecondRow={false} classSticky=\"sticky\"></Header>\r\n {authCtx.showLoginModal && <LoginModal show={authCtx.showLoginModal}></LoginModal> }\r\n {tokenCtx.showMessageSiac && <MessageManageSiac show={tokenCtx.showMessageSiac}></MessageManageSiac>}\r\n {showSessione && <SessioneScaduta show={showSessione} closeModal={(dismiss) => { setShowModal(dismiss.showModal) }}></SessioneScaduta>}\r\n <UtilityWrapper>\r\n <h1 className=\"errorpage-title\">\r\n <span className=\"errorpage-title-light\">Oops!</span>\r\n Browser non supportato\r\n </h1>\r\n <p className=\"errorpage-text\">\r\n Book24ORE non è disponibile sul browser che stai utilizzando. <br />Puoi accedere utilizzando un browser di ultima generazione tra quelli elencati di seguito\r\n </p>\r\n <div className=\"oldb\">\r\n <ul className=\"list-lined\">\r\n {oldBrowsers && oldBrowsers.map((item, index) => (\r\n <li className=\"list-lined-item\" key={index}>\r\n <a className=\"oldb-item\" role={\"listitem\"}>\r\n <strong>{item.title}</strong>\r\n {item.text}\r\n </a>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n </UtilityWrapper>\r\n \r\n <Ricerca></Ricerca>\r\n </Wrapper>\r\n </React.Fragment>\r\n )\r\n}\r\n\r\nexport default OldBrowser;","import React, { useContext, useEffect, useState } from 'react'\r\nimport { NavLink } from 'react-router-dom';\r\nimport CarouselItem from '../components/CarouselNoSlick/CarouselItem';\r\nimport Footer from '../components/Footer/Footer';\r\nimport Header from '../components/Header/Header';\r\nimport Ricerca from '../components/Header/Ricerca/Ricerca';\r\nimport Wrapper from '../components/Helper/Wrapper/Wrapper';\r\nimport LoginModal from '../components/Modals/Login';\r\nimport MessageManageSiac from '../components/Modals/MessageManageSiac';\r\nimport UtilityWrapper from '../components/UtilityWrapper/UtilityWrapper';\r\nimport { config } from '../constants/Constants';\r\nimport useManageBodyClasses from '../hooks/useManageBodyClasses';\r\nimport AuthContext from '../store/auth-context';\r\nimport ManageProductListsContext from '../store/manage-products-list-context';\r\nimport TokenContext from '../store/token-context';\r\nimport SessioneScaduta from \"../components/Modals/SessioneScaduta\"\r\n\r\nconst NotFound = (props) => {\r\n\r\n const authCtx = useContext(AuthContext);\r\n const tokenCtx= useContext(TokenContext);\r\n const productCtx = useContext(ManageProductListsContext);\r\n const [showSessione, setShowSessione] = useState(false);\r\n const [showModal, setShowModal] = useState(true);\r\n const [carouselList, setCarouselList] = useState([]);\r\n useEffect(() => {\r\n setShowSessione(localStorage.getItem(\"showModalSessione\") ? true : false);\r\n });\r\n useEffect(() => {\r\n\r\n if(productCtx.ultimeUscite.length === 0)\r\n productCtx.getList(config.nameList.ultimeUscite);\r\n else\r\n setCarouselList(productCtx.ultimeUscite);\r\n\r\n }, [productCtx.ultimeUscite]);\r\n\r\n useManageBodyClasses();\r\n\r\n return (\r\n <React.Fragment>\r\n <Wrapper>\r\n <Header showSecondRow={false} classSticky=\"sticky\" isIntegrateInBD={props.isIntegrateInBD}></Header>\r\n {authCtx.showLoginModal && <LoginModal show={authCtx.showLoginModal}></LoginModal>}\r\n {tokenCtx.showMessageSiac && <MessageManageSiac show={tokenCtx.showMessageSiac}></MessageManageSiac>}\r\n {showSessione && <SessioneScaduta show={showSessione} closeModal={(dismiss) => { setShowModal(dismiss.showModal) }}></SessioneScaduta>}\r\n <UtilityWrapper>\r\n <h1 className=\"errorpage-title\">\r\n <span className=\"errorpage-title-light\">Oops! </span>\r\n Pagina non trovata\r\n </h1>\r\n <p className=\"errorpage-text\">\r\n Spiacenti, non riusciamo a trovare la pagina che stai cercando, possiamo suggerirti le ultime uscite oppure tornare alla Homepage\r\n </p>\r\n <section className=\"section\">\r\n <div className=\"container\">\r\n <div className=\"row scrolling\">\r\n {carouselList && carouselList.map((item, index) => (\r\n <CarouselItem item={item} index={index} key={index} classNameCard=\"card card--book\"/>\r\n ))}\r\n </div>\r\n </div>\r\n </section>\r\n <NavLink className=\"btn btn--black btn--big\" to=\"/\">Torna alla Homepage</NavLink>\r\n </UtilityWrapper>\r\n\r\n <Footer isIntegrateInBD={props.isIntegrateInBD}/>\r\n\r\n <Ricerca></Ricerca>\r\n </Wrapper>\r\n </React.Fragment>\r\n )\r\n}\r\n\r\nexport default NotFound;","import React from 'react';\r\nimport { NavLink } from 'react-router-dom';\r\n\r\nconst BookPreview = (props) => {\r\n\r\n return (\r\n <>\r\n <figure className=\"card-img \">\r\n <a role=\"button\">\r\n <span className=\"card-img-book\">\r\n <img src={props.img} alt=\"\" />\r\n </span>\r\n </a>\r\n </figure>\r\n {props.node === undefined && !props.isBuyed &&\r\n <NavLink className=\"btn btn--black btn--big btn--full btn--shadow\" to={``}>\r\n PAC. VEN. NON. DEF.\r\n </NavLink>\r\n }\r\n {props.node !== undefined && !props.isBuyed &&\r\n <NavLink className=\"btn btn--black btn--big btn--full btn--shadow\" to={`/pacchetto/${props.node}`}>\r\n Acquista\r\n </NavLink>\r\n }\r\n </>\r\n );\r\n}\r\n\r\nexport default BookPreview;","import React from 'react';\r\nimport { useNavigate } from 'react-router-dom';\r\n\r\nconst SecondResearchHeader = (props) => {\r\n\r\n const navigate = useNavigate();\r\n\r\n const isNtPro = props.isNtPro;\r\n const isNotReader = localStorage.getItem(\"isReader\") === null;\r\n\r\n const goTo = () => {\r\n\r\n localStorage.removeItem(\"img\");\r\n localStorage.removeItem(\"titleNotSlug\")\r\n const id = localStorage.getItem(\"idDocument\") === \"undefined\" || localStorage.getItem(\"idDocument\") === null ? localStorage.getItem(\"id\") : localStorage.getItem(\"idDocument\");\r\n \r\n if (!isNotReader) {\r\n localStorage.removeItem(\"word\");\r\n localStorage.removeItem(\"isReader\");\r\n localStorage.removeItem(\"id\");\r\n }\r\n \r\n if (props.isNtPro) {\r\n navigate(-1);\r\n }\r\n\r\n navigate(isNotReader ? \"/ricerca/1\" : \"/reader/\" + id);\r\n }\r\n\r\n return (\r\n <div className=\"mhead mhead--sticky\" data-main-header style={ isNtPro ? { \"marginBottom\":'0px !important'} : {}}>\r\n <div className=\"mhead-top\" style={{display: props.isIntegrateInBD ? 'none' : 'block' }}>\r\n <div className=\"container\">\r\n <div className=\"mhead-modal\">\r\n <h2 className=\"mhead-modal-title\">\r\n {props.title}\r\n </h2>\r\n <a className=\"mhead-modal-close\" onClick={goTo} role=\"button\">\r\n <span className=\"icon icon-close\"></span>\r\n <span className=\"mhead-modal-close-label\">Chiudi</span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nexport default SecondResearchHeader;","import React, { useContext, useEffect, useState } from 'react';\r\nimport { useParams } from 'react-router-dom';\r\nimport Footer from \"../components/Footer/Footer\";\r\nimport Wrapper from '../components/Helper/Wrapper/Wrapper';\r\nimport ReaderCard from '../components/ReaderMain/ReaderCard';\r\nimport ReaderResearchTop from '../components/ReaderMain/ReaderMainResearch/ReaderResearchTop';\r\nimport BookPreview from '../components/SecondResearch/BookPreview';\r\nimport SecondResearchHeader from '../components/SecondResearch/SecondResearchHeader';\r\nimport Spinner from '../components/UI/Spinner/Spinner';\r\nimport { config } from '../constants/Constants';\r\nimport { convertArrayForFEResearch, convertArrayForFEResearchSecondLevel } from '../helper/castingObject';\r\nimport { bodyFormattedResearch } from '../helper/helperResearch';\r\nimport useHttpRequest from '../hooks/http-request';\r\nimport useManageBodyClasses from '../hooks/useManageBodyClasses';\r\nimport AuthContext from '../store/auth-context';\r\nimport isLoadingContext from '../store/isLoadingcontext';\r\nimport TokenContext from '../store/token-context';\r\n\r\nconst SecondResearch = (props) => {\r\n\r\n let { idProv, word, title, isFrizzera } = useParams();\r\n\r\n const defaultRevOrRec = ['D', 'data desc'];\r\n const bookTitle = localStorage.getItem(\"titleNotSlug\");\r\n\r\n const [researchList, setResearchList] = useState(null);\r\n const [img, setImg] = useState(null);\r\n const [node, setNode] = useState(null);\r\n const [isBuyed, setIsBuyed] = useState(false);\r\n\r\n const tokenCtx = useContext(TokenContext);\r\n const authCtx = useContext(AuthContext);\r\n const loadingCtx = useContext(isLoadingContext);\r\n const sendRqst = useHttpRequest();\r\n\r\n useEffect(() => {\r\n\r\n if (word === '') {\r\n return;\r\n }\r\n\r\n loadingCtx.setIfIsLoading(true);\r\n const settingNewResList = (data) => {\r\n\r\n const result = convertArrayForFEResearchSecondLevel(data.Result.Documents);\r\n setResearchList(result);\r\n let getImg = localStorage.getItem(\"img\");\r\n getImg = getImg !== null && getImg !== undefined && getImg !== \"\" ? getImg : config.imgDefaultLibro;\r\n let getNode = localStorage.getItem(\"node\");\r\n getNode = getNode !== null && getNode !== undefined && getNode !== \"\" ? localStorage.getItem(\"node\") : \"\";\r\n\r\n setImg(getImg);\r\n setNode(getNode);\r\n loadingCtx.setIfIsLoading(false, 400);\r\n };\r\n\r\n const filters = [idProv]\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE.concat(config.serviceToCall.getResultSearch),\r\n req: {\r\n method: 'POST',\r\n headers:\r\n {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormattedResearch(filters, word, defaultRevOrRec, tokenCtx, false, false, false, isFrizzera))\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, settingNewResList, false, false);\r\n\r\n }, [idProv]);\r\n\r\n useEffect(() => {\r\n \r\n const id = localStorage.getItem(\"id\");\r\n\r\n if (tokenCtx.token === null || id === 0 || id === undefined) return;\r\n\r\n const settingsBuyOrNot = (data) => {\r\n\r\n if (parseInt(data.Result.ResultSet.Root[0].comprato) > 0) {\r\n setIsBuyed(true);\r\n return;\r\n }\r\n\r\n setIsBuyed(false);\r\n }\r\n\r\n const bodyFormatted = {\r\n \"parameters\": {\r\n \"name\": config.nameList.getBuyedOrNot,\r\n \"inputParameters\": [{\r\n \"name\": \"iddocumento\",\r\n \"type\": \"Int\",\r\n \"value\": id\r\n }],\r\n \"staticToken\": authCtx.isLoggedIn ? \"\" : config.token.STATIC_TOKEN\r\n },\r\n \"token\": authCtx.isLoggedIn ? tokenCtx.token : \"\"\r\n };\r\n\r\n const rqs = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(rqs, settingsBuyOrNot);\r\n\r\n }, [tokenCtx]);\r\n\r\n /*useEffect(() => {\r\n\r\n if(loadingCtx.isLoading) {\r\n \r\n loadingCtx.setIfIsLoading(false, 300);\r\n }\r\n\r\n },[loadingCtx.isLoading])*/\r\n\r\n useManageBodyClasses();\r\n\r\n return (\r\n <Wrapper>\r\n <SecondResearchHeader title={bookTitle} isIntegrateInBD={props.isIntegrateInBD}/>\r\n {loadingCtx.isLoading && <Spinner></Spinner>}\r\n <div className=\"main-content \">\r\n <section className=\"section\">\r\n <div className=\"container\">\r\n\r\n {/* Book preview on top (!d-lg) */}\r\n <div className=\"page-preview d-lg-none\">\r\n <BookPreview img={img} node={node} isBuyed={isBuyed}/>\r\n </div>\r\n\r\n <div className=\"row\">\r\n <div className=\"col-lg-8\">\r\n <ReaderResearchTop isLevelTwo={true} title={bookTitle} numberDocumentsFind={ researchList?.length} />\r\n\r\n <ul className=\"list list--large\">\r\n {researchList && researchList.map((item, index) => (\r\n <ReaderCard itemList={item} key={index} />\r\n ))}\r\n </ul>\r\n\r\n {/* Pagination component goes in here */}\r\n </div>\r\n\r\n {/* Book preview on the left (only d-lg) */}\r\n <div className=\"col-lg-4 order-lg-first d-none d-lg-block\">\r\n <div className=\"sticky-wrapper\">\r\n <div className=\"sticky sticky--side\">\r\n <BookPreview img={img} node={node} isBuyed={isBuyed}/>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n\r\n <Footer isIntegrateInBD={props.isIntegrateInBD}/>\r\n </Wrapper>\r\n );\r\n}\r\n\r\n\r\nexport default SecondResearch;","import React from \"react\";\r\n\r\nconst QrCodeError = (props) => {\r\n\r\n const resetQrCode = () => {\r\n props.resetQrCode({ response: \"sleep\", message: \"\" });\r\n props.count();\r\n };\r\n\r\n return (\r\n <React.Fragment>\r\n <p className=\"qrpage-text\">\r\n {props.errorMessage}\r\n </p>\r\n <a className=\"btn btn--black btn--big\" role=\"button\" onClick={resetQrCode}>Riprova scansione</a>\r\n </React.Fragment>\r\n )\r\n}\r\n\r\nexport default QrCodeError;","import React from \"react\";\r\nimport { useNavigate } from \"react-router-dom\";\r\nimport { config } from \"../../constants/Constants\";\r\n\r\nconst QrCodeSuccess = (props) => {\r\n\r\n //const img = props.img === undefined ? config.imgDefaultLibro : props.img;\r\n\r\n const navigate = useNavigate();\r\n\r\n const loginHandler = (ev) => {\r\n ev.preventDefault();\r\n\r\n props.loginHandler(true);\r\n }\r\n const goToMyBook = () => {\r\n navigate(\"/miei-libri\")\r\n }\r\n\r\n return (\r\n <React.Fragment>\r\n <div className=\"qrpage-book\">\r\n {props.isSuccess &&\r\n <>\r\n {/*<figure className=\"card-img \">\r\n <NavLink to={`/prodotto/${props.id}`}>\r\n <span className=\"card-img-book\">\r\n <img src={img} alt=\"\" />\r\n </span>\r\n </NavLink>\r\n </figure>*/}\r\n <p className=\"qrpage-text\" dangerouslySetInnerHTML={{ __html: props.successMessage }}></p>\r\n {!props.isDifferentAbbo &&\r\n <p className=\"qrpage-text\">\r\n Vai nella pagina i <a className=\"page-link\" role={\"button\"} onClick={goToMyBook}>Tuoi Libri</a> e comincia a sfruttare subito il tuo abbonamento.\r\n </p>\r\n }\r\n </>\r\n }\r\n {!props.isSuccess &&\r\n <>\r\n <a className=\"btn btn--black btn--big btn--full\" role=\"button\" onClick={loginHandler}>Accedi</a>\r\n <a className=\"qrpage-link\" href={config.linkRegistration} target=\"_blank\">\r\n Non hai un account? <strong>Registrati qui</strong>\r\n </a>\r\n </>\r\n }\r\n </div>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default QrCodeSuccess;","class QrScanner {\n static readonly DEFAULT_CANVAS_SIZE = 400;\n static readonly NO_QR_CODE_FOUND = 'No QR code found';\n private static _disableBarcodeDetector = false;\n private static _workerMessageId = 0;\n\n /** @deprecated */\n static set WORKER_PATH(workerPath: string) {\n console.warn('Setting QrScanner.WORKER_PATH is not required and not supported anymore. '\n + 'Have a look at the README for new setup instructions.');\n }\n\n static async hasCamera(): Promise<boolean> {\n try {\n return !!(await QrScanner.listCameras(false)).length;\n } catch (e) {\n return false;\n }\n }\n\n static async listCameras(requestLabels = false): Promise<Array<QrScanner.Camera>> {\n if (!navigator.mediaDevices) return [];\n\n const enumerateCameras = async (): Promise<Array<MediaDeviceInfo>> =>\n (await navigator.mediaDevices.enumerateDevices()).filter((device) => device.kind === 'videoinput');\n\n // Note that enumerateDevices can always be called and does not prompt the user for permission.\n // However, enumerateDevices only includes device labels if served via https and an active media stream exists\n // or permission to access the camera was given. Therefore, if we're not getting labels but labels are requested\n // ask for camera permission by opening a stream.\n let openedStream: MediaStream | undefined;\n try {\n if (requestLabels && (await enumerateCameras()).every((camera) => !camera.label)) {\n openedStream = await navigator.mediaDevices.getUserMedia({ audio: false, video: true });\n }\n } catch (e) {\n // Fail gracefully, especially if the device has no camera or on mobile when the camera is already in use\n // and some browsers disallow a second stream.\n }\n\n try {\n return (await enumerateCameras()).map((camera, i) => ({\n id: camera.deviceId,\n label: camera.label || (i === 0 ? 'Default Camera' : `Camera ${i + 1}`),\n }));\n } finally {\n // close the stream we just opened for getting camera access for listing the device labels\n if (openedStream) {\n console.warn('Call listCameras after successfully starting a QR scanner to avoid creating '\n + 'a temporary video stream');\n QrScanner._stopVideoStream(openedStream);\n }\n }\n }\n\n readonly $video: HTMLVideoElement;\n readonly $canvas: HTMLCanvasElement;\n readonly $overlay?: HTMLDivElement;\n private readonly $codeOutlineHighlight?: SVGSVGElement;\n private readonly _onDecode?: (result: QrScanner.ScanResult) => void;\n private readonly _legacyOnDecode?: (result: string) => void;\n private readonly _legacyCanvasSize: number = QrScanner.DEFAULT_CANVAS_SIZE;\n private _preferredCamera: QrScanner.FacingMode | QrScanner.DeviceId = 'environment';\n private readonly _maxScansPerSecond: number = 25;\n private _lastScanTimestamp: number = -1;\n private _scanRegion: QrScanner.ScanRegion;\n private _codeOutlineHighlightRemovalTimeout?: number;\n private _qrEnginePromise: Promise<Worker | BarcodeDetector>\n private _active: boolean = false;\n private _paused: boolean = false;\n private _flashOn: boolean = false;\n private _destroyed: boolean = false;\n\n constructor(\n video: HTMLVideoElement,\n onDecode: (result: QrScanner.ScanResult) => void,\n options: {\n onDecodeError?: (error: Error | string) => void,\n calculateScanRegion?: (video: HTMLVideoElement) => QrScanner.ScanRegion,\n preferredCamera?: QrScanner.FacingMode | QrScanner.DeviceId,\n maxScansPerSecond?: number;\n highlightScanRegion?: boolean,\n highlightCodeOutline?: boolean,\n overlay?: HTMLDivElement,\n /** just a temporary flag until we switch entirely to the new api */\n returnDetailedScanResult?: true,\n },\n );\n /** @deprecated */\n constructor(\n video: HTMLVideoElement,\n onDecode: (result: string) => void,\n onDecodeError?: (error: Error | string) => void,\n calculateScanRegion?: (video: HTMLVideoElement) => QrScanner.ScanRegion,\n preferredCamera?: QrScanner.FacingMode | QrScanner.DeviceId,\n );\n /** @deprecated */\n constructor(\n video: HTMLVideoElement,\n onDecode: (result: string) => void,\n onDecodeError?: (error: Error | string) => void,\n canvasSize?: number,\n preferredCamera?: QrScanner.FacingMode | QrScanner.DeviceId,\n );\n /** @deprecated */\n constructor(video: HTMLVideoElement, onDecode: (result: string) => void, canvasSize?: number);\n constructor(\n video: HTMLVideoElement,\n onDecode: ((result: QrScanner.ScanResult) => void) | ((result: string) => void),\n canvasSizeOrOnDecodeErrorOrOptions?: number | ((error: Error | string) => void) | {\n onDecodeError?: (error: Error | string) => void,\n calculateScanRegion?: (video: HTMLVideoElement) => QrScanner.ScanRegion,\n preferredCamera?: QrScanner.FacingMode | QrScanner.DeviceId,\n maxScansPerSecond?: number;\n highlightScanRegion?: boolean,\n highlightCodeOutline?: boolean,\n overlay?: HTMLDivElement,\n /** just a temporary flag until we switch entirely to the new api */\n returnDetailedScanResult?: true,\n },\n canvasSizeOrCalculateScanRegion?: number | ((video: HTMLVideoElement) => QrScanner.ScanRegion),\n preferredCamera?: QrScanner.FacingMode | QrScanner.DeviceId,\n ) {\n this.$video = video;\n this.$canvas = document.createElement('canvas');\n\n if (canvasSizeOrOnDecodeErrorOrOptions && typeof canvasSizeOrOnDecodeErrorOrOptions === 'object') {\n // we got an options object using the new api\n this._onDecode = onDecode as QrScanner['_onDecode'];\n } else {\n if (canvasSizeOrOnDecodeErrorOrOptions || canvasSizeOrCalculateScanRegion || preferredCamera) {\n console.warn('You\\'re using a deprecated version of the QrScanner constructor which will be removed in '\n + 'the future');\n } else {\n // Only video and onDecode were specified and we can't distinguish between new or old api usage. For\n // backwards compatibility we have to assume the old api for now. The options object is marked as non-\n // optional in the parameter list above to make clear that ScanResult instead of string is only passed\n // if an options object was provided. However, in the future once legacy support is removed, the options\n // object should become optional.\n console.warn('Note that the type of the scan result passed to onDecode will change in the future. '\n + 'To already switch to the new api today, you can pass returnDetailedScanResult: true.');\n }\n this._legacyOnDecode = onDecode as QrScanner['_legacyOnDecode'];\n }\n\n const options = typeof canvasSizeOrOnDecodeErrorOrOptions === 'object'\n ? canvasSizeOrOnDecodeErrorOrOptions\n : {};\n this._onDecodeError = options.onDecodeError || (typeof canvasSizeOrOnDecodeErrorOrOptions === 'function'\n ? canvasSizeOrOnDecodeErrorOrOptions\n : this._onDecodeError);\n this._calculateScanRegion = options.calculateScanRegion || (typeof canvasSizeOrCalculateScanRegion==='function'\n ? canvasSizeOrCalculateScanRegion\n : this._calculateScanRegion);\n this._preferredCamera = options.preferredCamera || preferredCamera || this._preferredCamera;\n this._legacyCanvasSize = typeof canvasSizeOrOnDecodeErrorOrOptions === 'number'\n ? canvasSizeOrOnDecodeErrorOrOptions\n : typeof canvasSizeOrCalculateScanRegion === 'number'\n ? canvasSizeOrCalculateScanRegion\n : this._legacyCanvasSize;\n this._maxScansPerSecond = options.maxScansPerSecond || this._maxScansPerSecond;\n\n this._onPlay = this._onPlay.bind(this);\n this._onLoadedMetaData = this._onLoadedMetaData.bind(this);\n this._onVisibilityChange = this._onVisibilityChange.bind(this);\n this._updateOverlay = this._updateOverlay.bind(this);\n\n // @ts-ignore\n video.disablePictureInPicture = true;\n // Allow inline playback on iPhone instead of requiring full screen playback,\n // see https://webkit.org/blog/6784/new-video-policies-for-ios/\n // @ts-ignore\n video.playsInline = true;\n // Allow play() on iPhone without requiring a user gesture. Should not really be needed as camera stream\n // includes no audio, but just to be safe.\n video.muted = true;\n\n // Avoid Safari stopping the video stream on a hidden video.\n // See https://github.com/cozmo/jsQR/issues/185\n let shouldHideVideo = false;\n if (video.hidden) {\n video.hidden = false;\n shouldHideVideo = true;\n }\n if (!document.body.contains(video)) {\n document.body.appendChild(video);\n shouldHideVideo = true;\n }\n const videoContainer = video.parentElement!;\n\n if (options.highlightScanRegion || options.highlightCodeOutline) {\n const gotExternalOverlay = !!options.overlay;\n this.$overlay = options.overlay || document.createElement('div');\n const overlayStyle = this.$overlay.style;\n overlayStyle.position = 'absolute';\n overlayStyle.display = 'none';\n overlayStyle.pointerEvents = 'none';\n this.$overlay.classList.add('scan-region-highlight');\n if (!gotExternalOverlay && options.highlightScanRegion) {\n // default style; can be overwritten via css, e.g. by changing the svg's stroke color, hiding the\n // .scan-region-highlight-svg, setting a border, outline, background, etc.\n this.$overlay.innerHTML = '<svg class=\"scan-region-highlight-svg\" viewBox=\"0 0 238 238\" '\n + 'preserveAspectRatio=\"none\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;'\n + 'fill:none;stroke:#e9b213;stroke-width:4;stroke-linecap:round;stroke-linejoin:round\">'\n + '<path d=\"M31 2H10a8 8 0 0 0-8 8v21M207 2h21a8 8 0 0 1 8 8v21m0 176v21a8 8 0 0 1-8 8h-21m-176 '\n + '0H10a8 8 0 0 1-8-8v-21\"/></svg>';\n try {\n this.$overlay.firstElementChild!.animate({ transform: ['scale(.98)', 'scale(1.01)'] }, {\n duration: 400,\n iterations: Infinity,\n direction: 'alternate',\n easing: 'ease-in-out',\n });\n } catch (e) {}\n videoContainer.insertBefore(this.$overlay, this.$video.nextSibling);\n }\n if (options.highlightCodeOutline) {\n // default style; can be overwritten via css\n this.$overlay.insertAdjacentHTML(\n 'beforeend',\n '<svg class=\"code-outline-highlight\" preserveAspectRatio=\"none\" style=\"display:none;width:100%;'\n + 'height:100%;fill:none;stroke:#e9b213;stroke-width:5;stroke-dasharray:25;'\n + 'stroke-linecap:round;stroke-linejoin:round\"><polygon/></svg>',\n );\n this.$codeOutlineHighlight = this.$overlay.lastElementChild as SVGSVGElement;\n }\n }\n this._scanRegion = this._calculateScanRegion(video);\n\n requestAnimationFrame(() => {\n // Checking in requestAnimationFrame which should avoid a potential additional re-flow for getComputedStyle.\n const videoStyle = window.getComputedStyle(video);\n if (videoStyle.display === 'none') {\n video.style.setProperty('display', 'block', 'important');\n shouldHideVideo = true;\n }\n if (videoStyle.visibility !== 'visible') {\n video.style.setProperty('visibility', 'visible', 'important');\n shouldHideVideo = true;\n }\n if (shouldHideVideo) {\n // Hide the video in a way that doesn't cause Safari to stop the playback.\n console.warn('QrScanner has overwritten the video hiding style to avoid Safari stopping the playback.');\n video.style.opacity = '0';\n video.style.width = '0';\n video.style.height = '0';\n if (this.$overlay && this.$overlay.parentElement) {\n this.$overlay.parentElement.removeChild(this.$overlay);\n }\n // @ts-ignore\n delete this.$overlay!;\n // @ts-ignore\n delete this.$codeOutlineHighlight!;\n }\n\n if (this.$overlay) {\n this._updateOverlay();\n }\n });\n\n video.addEventListener('play', this._onPlay);\n video.addEventListener('loadedmetadata', this._onLoadedMetaData);\n document.addEventListener('visibilitychange', this._onVisibilityChange);\n window.addEventListener('resize', this._updateOverlay);\n\n this._qrEnginePromise = QrScanner.createQrEngine();\n }\n\n async hasFlash(): Promise<boolean> {\n let stream: MediaStream | undefined;\n try {\n if (this.$video.srcObject) {\n if (!(this.$video.srcObject instanceof MediaStream)) return false; // srcObject is not a camera stream\n stream = this.$video.srcObject;\n } else {\n stream = (await this._getCameraStream()).stream;\n }\n return 'torch' in stream.getVideoTracks()[0].getSettings();\n } catch (e) {\n return false;\n } finally {\n // close the stream we just opened for detecting whether it supports flash\n if (stream && stream !== this.$video.srcObject) {\n console.warn('Call hasFlash after successfully starting the scanner to avoid creating '\n + 'a temporary video stream');\n QrScanner._stopVideoStream(stream);\n }\n }\n }\n\n isFlashOn(): boolean {\n return this._flashOn;\n }\n\n async toggleFlash(): Promise<void> {\n if (this._flashOn) {\n await this.turnFlashOff();\n } else {\n await this.turnFlashOn();\n }\n }\n\n async turnFlashOn(): Promise<void> {\n if (this._flashOn || this._destroyed) return;\n this._flashOn = true;\n if (!this._active || this._paused) return; // flash will be turned on later on .start()\n try {\n if (!await this.hasFlash()) throw 'No flash available';\n // Note that the video track is guaranteed to exist and to be a MediaStream due to the check in hasFlash\n await (this.$video.srcObject as MediaStream).getVideoTracks()[0].applyConstraints({\n // @ts-ignore: constraint 'torch' is unknown to ts\n advanced: [{ torch: true }],\n });\n } catch (e) {\n this._flashOn = false;\n throw e;\n }\n }\n\n async turnFlashOff(): Promise<void> {\n if (!this._flashOn) return;\n // applyConstraints with torch: false does not work to turn the flashlight off, as a stream's torch stays\n // continuously on, see https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints#torch. Therefore,\n // we have to stop the stream to turn the flashlight off.\n this._flashOn = false;\n await this._restartVideoStream();\n }\n\n destroy(): void {\n this.$video.removeEventListener('loadedmetadata', this._onLoadedMetaData);\n this.$video.removeEventListener('play', this._onPlay);\n document.removeEventListener('visibilitychange', this._onVisibilityChange);\n window.removeEventListener('resize', this._updateOverlay);\n\n this._destroyed = true;\n this._flashOn = false;\n this.stop(); // sets this._paused = true and this._active = false\n QrScanner._postWorkerMessage(this._qrEnginePromise, 'close');\n }\n\n async start(): Promise<void> {\n if (this._destroyed) throw new Error('The QR scanner can not be started as it had been destroyed.');\n if (this._active && !this._paused) return;\n\n if (window.location.protocol !== 'https:') {\n // warn but try starting the camera anyways\n console.warn('The camera stream is only accessible if the page is transferred via https.');\n }\n\n this._active = true;\n if (document.hidden) return; // camera will be started as soon as tab is in foreground\n this._paused = false;\n if (this.$video.srcObject) {\n // camera stream already/still set\n await this.$video.play();\n return;\n }\n\n try {\n const { stream, facingMode } = await this._getCameraStream();\n if (!this._active || this._paused) {\n // was stopped in the meantime\n QrScanner._stopVideoStream(stream);\n return;\n }\n this._setVideoMirror(facingMode);\n this.$video.srcObject = stream;\n await this.$video.play();\n\n // Restart the flash if it was previously on\n if (this._flashOn) {\n this._flashOn = false; // force turnFlashOn to restart the flash\n this.turnFlashOn().catch(() => {});\n }\n } catch (e) {\n if (this._paused) return;\n this._active = false;\n throw e;\n }\n }\n\n stop(): void {\n this.pause();\n this._active = false;\n }\n\n async pause(stopStreamImmediately = false): Promise<boolean> {\n this._paused = true;\n if (!this._active) return true;\n this.$video.pause();\n\n if (this.$overlay) {\n this.$overlay.style.display = 'none';\n }\n\n const stopStream = () => {\n if (this.$video.srcObject instanceof MediaStream) {\n // revoke srcObject only if it's a stream which was likely set by us\n QrScanner._stopVideoStream(this.$video.srcObject);\n this.$video.srcObject = null;\n }\n };\n\n if (stopStreamImmediately) {\n stopStream();\n return true;\n }\n\n await new Promise((resolve) => setTimeout(resolve, 300));\n if (!this._paused) return false;\n stopStream();\n return true;\n }\n\n async setCamera(facingModeOrDeviceId: QrScanner.FacingMode | QrScanner.DeviceId): Promise<void> {\n if (facingModeOrDeviceId === this._preferredCamera) return;\n this._preferredCamera = facingModeOrDeviceId;\n // Restart the scanner with the new camera which will also update the video mirror and the scan region.\n await this._restartVideoStream();\n }\n\n static async scanImage(\n imageOrFileOrBlobOrUrl: HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | OffscreenCanvas | ImageBitmap\n | SVGImageElement | File | Blob | URL | String,\n options: {\n scanRegion?: QrScanner.ScanRegion | null,\n qrEngine?: Worker | BarcodeDetector | Promise<Worker | BarcodeDetector> | null,\n canvas?: HTMLCanvasElement | null,\n disallowCanvasResizing?: boolean,\n alsoTryWithoutScanRegion?: boolean,\n /** just a temporary flag until we switch entirely to the new api */\n returnDetailedScanResult?: true,\n },\n ): Promise<QrScanner.ScanResult>;\n /** @deprecated */\n static async scanImage(\n imageOrFileOrBlobOrUrl: HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | OffscreenCanvas | ImageBitmap\n | SVGImageElement | File | Blob | URL | String,\n scanRegion?: QrScanner.ScanRegion | null,\n qrEngine?: Worker | BarcodeDetector | Promise<Worker | BarcodeDetector> | null,\n canvas?: HTMLCanvasElement | null,\n disallowCanvasResizing?: boolean,\n alsoTryWithoutScanRegion?: boolean,\n ): Promise<string>;\n static async scanImage(\n imageOrFileOrBlobOrUrl: HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | OffscreenCanvas | ImageBitmap\n | SVGImageElement | File | Blob | URL | String,\n scanRegionOrOptions?: QrScanner.ScanRegion | {\n scanRegion?: QrScanner.ScanRegion | null,\n qrEngine?: Worker | BarcodeDetector | Promise<Worker | BarcodeDetector> | null,\n canvas?: HTMLCanvasElement | null,\n disallowCanvasResizing?: boolean,\n alsoTryWithoutScanRegion?: boolean,\n /** just a temporary flag until we switch entirely to the new api */\n returnDetailedScanResult?: true,\n } | null,\n qrEngine?: Worker | BarcodeDetector | Promise<Worker | BarcodeDetector> | null,\n canvas?: HTMLCanvasElement | null,\n disallowCanvasResizing: boolean = false,\n alsoTryWithoutScanRegion: boolean = false,\n ): Promise<string | QrScanner.ScanResult> {\n let scanRegion: QrScanner.ScanRegion | null | undefined;\n let returnDetailedScanResult = false;\n if (scanRegionOrOptions && (\n 'scanRegion' in scanRegionOrOptions\n || 'qrEngine' in scanRegionOrOptions\n || 'canvas' in scanRegionOrOptions\n || 'disallowCanvasResizing' in scanRegionOrOptions\n || 'alsoTryWithoutScanRegion' in scanRegionOrOptions\n || 'returnDetailedScanResult' in scanRegionOrOptions\n )) {\n // we got an options object using the new api\n scanRegion = scanRegionOrOptions.scanRegion;\n qrEngine = scanRegionOrOptions.qrEngine;\n canvas = scanRegionOrOptions.canvas;\n disallowCanvasResizing = scanRegionOrOptions.disallowCanvasResizing || false;\n alsoTryWithoutScanRegion = scanRegionOrOptions.alsoTryWithoutScanRegion || false;\n returnDetailedScanResult = true;\n } else if (scanRegionOrOptions || qrEngine || canvas || disallowCanvasResizing || alsoTryWithoutScanRegion) {\n console.warn('You\\'re using a deprecated api for scanImage which will be removed in the future.');\n } else {\n // Only imageOrFileOrBlobOrUrl was specified and we can't distinguish between new or old api usage. For\n // backwards compatibility we have to assume the old api for now. The options object is marked as non-\n // optional in the parameter list above to make clear that ScanResult instead of string is only returned if\n // an options object was provided. However, in the future once legacy support is removed, the options object\n // should become optional.\n console.warn('Note that the return type of scanImage will change in the future. To already switch to the '\n + 'new api today, you can pass returnDetailedScanResult: true.');\n }\n\n const gotExternalEngine = !!qrEngine;\n\n try {\n let image: HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | OffscreenCanvas | ImageBitmap\n | SVGImageElement;\n let canvasContext: CanvasRenderingContext2D;\n [qrEngine, image] = await Promise.all([\n qrEngine || QrScanner.createQrEngine(),\n QrScanner._loadImage(imageOrFileOrBlobOrUrl),\n ]);\n [canvas, canvasContext] = QrScanner._drawToCanvas(image, scanRegion, canvas, disallowCanvasResizing);\n let detailedScanResult: QrScanner.ScanResult;\n\n if (qrEngine instanceof Worker) {\n const qrEngineWorker = qrEngine; // for ts to know that it's still a worker later in the event listeners\n if (!gotExternalEngine) {\n // Enable scanning of inverted color qr codes.\n QrScanner._postWorkerMessageSync(qrEngineWorker, 'inversionMode', 'both');\n }\n detailedScanResult = await new Promise((resolve, reject) => {\n let timeout: number;\n let onMessage: (event: MessageEvent) => void;\n let onError: (error: ErrorEvent | string) => void;\n let expectedResponseId = -1;\n onMessage = (event: MessageEvent) => {\n if (event.data.id !== expectedResponseId) {\n return;\n }\n qrEngineWorker.removeEventListener('message', onMessage);\n qrEngineWorker.removeEventListener('error', onError);\n clearTimeout(timeout);\n if (event.data.data !== null) {\n resolve({\n data: event.data.data,\n cornerPoints: QrScanner._convertPoints(event.data.cornerPoints, scanRegion),\n });\n } else {\n reject(QrScanner.NO_QR_CODE_FOUND);\n }\n };\n onError = (error: ErrorEvent | string) => {\n qrEngineWorker.removeEventListener('message', onMessage);\n qrEngineWorker.removeEventListener('error', onError);\n clearTimeout(timeout);\n const errorMessage = !error ? 'Unknown Error' : ((error as ErrorEvent).message || error);\n reject('Scanner error: ' + errorMessage);\n };\n qrEngineWorker.addEventListener('message', onMessage);\n qrEngineWorker.addEventListener('error', onError);\n timeout = setTimeout(() => onError('timeout'), 10000);\n const imageData = canvasContext.getImageData(0, 0, canvas!.width, canvas!.height);\n expectedResponseId = QrScanner._postWorkerMessageSync(\n qrEngineWorker,\n 'decode',\n imageData,\n [imageData.data.buffer],\n );\n });\n } else {\n detailedScanResult = await Promise.race([\n new Promise<QrScanner.ScanResult>((resolve, reject) => window.setTimeout(\n () => reject('Scanner error: timeout'),\n 10000,\n )),\n (async (): Promise<QrScanner.ScanResult> => {\n try {\n const [scanResult] = await qrEngine.detect(canvas!);\n if (!scanResult) throw QrScanner.NO_QR_CODE_FOUND;\n return {\n data: scanResult.rawValue,\n cornerPoints: QrScanner._convertPoints(scanResult.cornerPoints, scanRegion),\n };\n } catch (e) {\n const errorMessage = (e as Error).message || e as string;\n if (/not implemented|service unavailable/.test(errorMessage)) {\n // Not implemented can apparently for some reason happen even though getSupportedFormats\n // in createQrScanner reported that it's supported, see issue #98.\n // Service unavailable can happen after some time when the BarcodeDetector crashed and\n // can theoretically be recovered from by creating a new BarcodeDetector. However, in\n // newer browsers this issue does not seem to be present anymore and therefore we do not\n // apply this optimization anymore but just set _disableBarcodeDetector in both cases.\n // Also note that if we got an external qrEngine that crashed, we should possibly notify\n // the caller about it, but we also don't do this here, as it's such an unlikely case.\n QrScanner._disableBarcodeDetector = true;\n // retry without passing the broken BarcodeScanner instance\n return QrScanner.scanImage(imageOrFileOrBlobOrUrl, {\n scanRegion,\n canvas,\n disallowCanvasResizing,\n alsoTryWithoutScanRegion,\n });\n }\n throw `Scanner error: ${errorMessage}`;\n }\n })(),\n ]);\n }\n return returnDetailedScanResult ? detailedScanResult : detailedScanResult.data;\n } catch (e) {\n if (!scanRegion || !alsoTryWithoutScanRegion) throw e;\n const detailedScanResult = await QrScanner.scanImage(\n imageOrFileOrBlobOrUrl,\n { qrEngine, canvas, disallowCanvasResizing },\n );\n return returnDetailedScanResult ? detailedScanResult : detailedScanResult.data;\n } finally {\n if (!gotExternalEngine) {\n QrScanner._postWorkerMessage(qrEngine!, 'close');\n }\n }\n }\n\n setGrayscaleWeights(red: number, green: number, blue: number, useIntegerApproximation: boolean = true): void {\n // Note that for the native BarcodeDecoder or if the worker was destroyed, this is a no-op. However, the native\n // implementations work also well with colored qr codes.\n QrScanner._postWorkerMessage(\n this._qrEnginePromise,\n 'grayscaleWeights',\n { red, green, blue, useIntegerApproximation }\n );\n }\n\n setInversionMode(inversionMode: QrScanner.InversionMode): void {\n // Note that for the native BarcodeDecoder or if the worker was destroyed, this is a no-op. However, the native\n // implementations scan normal and inverted qr codes by default\n QrScanner._postWorkerMessage(this._qrEnginePromise, 'inversionMode', inversionMode);\n }\n\n static async createQrEngine(): Promise<Worker | BarcodeDetector>;\n /** @deprecated */\n static async createQrEngine(workerPath: string): Promise<Worker | BarcodeDetector>;\n static async createQrEngine(workerPath?: string): Promise<Worker | BarcodeDetector> {\n if (workerPath) {\n console.warn('Specifying a worker path is not required and not supported anymore.');\n }\n const useNativeBarcodeDetector = !QrScanner._disableBarcodeDetector\n && ('BarcodeDetector' in window && BarcodeDetector.getSupportedFormats\n ? (await BarcodeDetector.getSupportedFormats()).includes('qr_code')\n : false);\n return useNativeBarcodeDetector\n ? new BarcodeDetector({ formats: ['qr_code'] })\n // @ts-ignore no types defined\n : (import('./qr-scanner-worker.min.js') as Promise<{ createWorker: () => Worker }>)\n .then((module) => module.createWorker());\n }\n\n private _onPlay(): void {\n this._scanRegion = this._calculateScanRegion(this.$video);\n this._updateOverlay();\n if (this.$overlay) {\n this.$overlay.style.display = '';\n }\n this._scanFrame();\n }\n\n private _onLoadedMetaData(): void {\n this._scanRegion = this._calculateScanRegion(this.$video);\n this._updateOverlay();\n }\n\n private _onVisibilityChange(): void {\n if (document.hidden) {\n this.pause();\n } else if (this._active) {\n this.start();\n }\n }\n\n private _calculateScanRegion(video: HTMLVideoElement): QrScanner.ScanRegion {\n // Default scan region calculation. Note that this can be overwritten in the constructor.\n const smallestDimension = Math.min(video.videoWidth, video.videoHeight);\n const scanRegionSize = Math.round(2 / 3 * smallestDimension);\n return {\n x: Math.round((video.videoWidth - scanRegionSize) / 2),\n y: Math.round((video.videoHeight - scanRegionSize) / 2),\n width: scanRegionSize,\n height: scanRegionSize,\n downScaledWidth: this._legacyCanvasSize,\n downScaledHeight: this._legacyCanvasSize,\n };\n }\n\n private _updateOverlay(): void {\n requestAnimationFrame(() => {\n // Running in requestAnimationFrame which should avoid a potential additional re-flow for getComputedStyle\n // and offsetWidth, offsetHeight, offsetLeft, offsetTop.\n if (!this.$overlay) return;\n const video = this.$video;\n const videoWidth = video.videoWidth;\n const videoHeight = video.videoHeight;\n const elementWidth = video.offsetWidth;\n const elementHeight = video.offsetHeight;\n const elementX = video.offsetLeft;\n const elementY = video.offsetTop;\n\n const videoStyle = window.getComputedStyle(video);\n const videoObjectFit = videoStyle.objectFit;\n const videoAspectRatio = videoWidth / videoHeight;\n const elementAspectRatio = elementWidth / elementHeight;\n let videoScaledWidth: number;\n let videoScaledHeight: number;\n switch (videoObjectFit) {\n case 'none':\n videoScaledWidth = videoWidth;\n videoScaledHeight = videoHeight;\n break;\n case 'fill':\n videoScaledWidth = elementWidth;\n videoScaledHeight = elementHeight;\n break;\n default: // 'cover', 'contains', 'scale-down'\n if (videoObjectFit === 'cover'\n ? videoAspectRatio > elementAspectRatio\n : videoAspectRatio < elementAspectRatio) {\n // The scaled height is the element height\n // - for 'cover' if the video aspect ratio is wider than the element aspect ratio\n // (scaled height matches element height and scaled width overflows element width)\n // - for 'contains'/'scale-down' if element aspect ratio is wider than the video aspect ratio\n // (scaled height matched element height and element width overflows scaled width)\n videoScaledHeight = elementHeight;\n videoScaledWidth = videoScaledHeight * videoAspectRatio;\n } else {\n videoScaledWidth = elementWidth;\n videoScaledHeight = videoScaledWidth / videoAspectRatio;\n }\n if (videoObjectFit === 'scale-down') {\n // for 'scale-down' the dimensions are the minimum of 'contains' and 'none'\n videoScaledWidth = Math.min(videoScaledWidth, videoWidth);\n videoScaledHeight = Math.min(videoScaledHeight, videoHeight);\n }\n }\n\n // getComputedStyle is so nice to convert keywords (left, center, right, top, bottom) to percent and makes\n // sure to set the default of 50% if only one or no component was provided, therefore we can be sure that\n // both components are set. Additionally, it converts units other than px (e.g. rem) to px.\n const [videoX, videoY] = videoStyle.objectPosition.split(' ').map((length, i) => {\n const lengthValue = parseFloat(length);\n return length.endsWith('%')\n ? (!i ? elementWidth - videoScaledWidth : elementHeight - videoScaledHeight) * lengthValue / 100\n : lengthValue;\n });\n\n const regionWidth = this._scanRegion.width || videoWidth;\n const regionHeight = this._scanRegion.height || videoHeight;\n const regionX = this._scanRegion.x || 0;\n const regionY = this._scanRegion.y || 0;\n\n const overlayStyle = this.$overlay.style;\n overlayStyle.width = `${regionWidth / videoWidth * videoScaledWidth}px`;\n overlayStyle.height = `${regionHeight / videoHeight * videoScaledHeight}px`;\n overlayStyle.top = `${elementY + videoY + regionY / videoHeight * videoScaledHeight}px`;\n const isVideoMirrored = /scaleX\\(-1\\)/.test(video.style.transform!);\n overlayStyle.left = `${elementX\n + (isVideoMirrored ? elementWidth - videoX - videoScaledWidth : videoX)\n + (isVideoMirrored ? videoWidth - regionX - regionWidth : regionX) / videoWidth * videoScaledWidth}px`;\n // apply same mirror as on video\n overlayStyle.transform = video.style.transform;\n });\n }\n\n private static _convertPoints(\n points: QrScanner.Point[],\n scanRegion?: QrScanner.ScanRegion | null,\n ): QrScanner.Point[] {\n if (!scanRegion) return points;\n const offsetX = scanRegion.x || 0;\n const offsetY = scanRegion.y || 0;\n const scaleFactorX = scanRegion.width && scanRegion.downScaledWidth\n ? scanRegion.width / scanRegion.downScaledWidth\n : 1;\n const scaleFactorY = scanRegion.height && scanRegion.downScaledHeight\n ? scanRegion.height / scanRegion.downScaledHeight\n : 1;\n for (const point of points) {\n point.x = point.x * scaleFactorX + offsetX;\n point.y = point.y * scaleFactorY + offsetY;\n }\n return points;\n }\n\n private _scanFrame(): void {\n if (!this._active || this.$video.paused || this.$video.ended) return;\n // If requestVideoFrameCallback is available use that to avoid unnecessary scans on the same frame as the\n // camera's framerate can be lower than the screen refresh rate and this._maxScansPerSecond, especially in dark\n // settings where the exposure time is longer. Both, requestVideoFrameCallback and requestAnimationFrame are not\n // being fired if the tab is in the background, which is what we want.\n const requestFrame = 'requestVideoFrameCallback' in this.$video\n // @ts-ignore\n ? this.$video.requestVideoFrameCallback.bind(this.$video)\n : requestAnimationFrame;\n requestFrame(async () => {\n if (this.$video.readyState <= 1) {\n // Skip scans until the video is ready as drawImage() only works correctly on a video with readyState\n // > 1, see https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/drawImage#Notes.\n // This also avoids false positives for videos paused after a successful scan which remains visible on\n // the canvas until the video is started again and ready.\n this._scanFrame();\n return;\n }\n\n const timeSinceLastScan = Date.now() - this._lastScanTimestamp;\n const minimumTimeBetweenScans = 1000 / this._maxScansPerSecond;\n if (timeSinceLastScan < minimumTimeBetweenScans) {\n await new Promise((resolve) => setTimeout(resolve, minimumTimeBetweenScans - timeSinceLastScan));\n }\n // console.log('Scan rate:', Math.round(1000 / (Date.now() - this._lastScanTimestamp)));\n this._lastScanTimestamp = Date.now();\n\n let result: QrScanner.ScanResult | undefined;\n try {\n result = await QrScanner.scanImage(this.$video, {\n scanRegion: this._scanRegion,\n qrEngine: this._qrEnginePromise,\n canvas: this.$canvas,\n });\n } catch (error) {\n if (!this._active) return;\n this._onDecodeError(error as Error | string);\n }\n\n if (QrScanner._disableBarcodeDetector && !(await this._qrEnginePromise instanceof Worker)) {\n // replace the disabled BarcodeDetector\n this._qrEnginePromise = QrScanner.createQrEngine();\n }\n\n if (result) {\n if (this._onDecode) {\n this._onDecode(result);\n } else if (this._legacyOnDecode) {\n this._legacyOnDecode(result.data);\n }\n\n if (this.$codeOutlineHighlight) {\n clearTimeout(this._codeOutlineHighlightRemovalTimeout);\n this._codeOutlineHighlightRemovalTimeout = undefined;\n this.$codeOutlineHighlight.setAttribute(\n 'viewBox',\n `${this._scanRegion.x || 0} `\n + `${this._scanRegion.y || 0} `\n + `${this._scanRegion.width || this.$video.videoWidth} `\n + `${this._scanRegion.height || this.$video.videoHeight}`,\n );\n const polygon = this.$codeOutlineHighlight.firstElementChild!;\n polygon.setAttribute('points', result.cornerPoints.map(({x, y}) => `${x},${y}`).join(' '));\n this.$codeOutlineHighlight.style.display = '';\n }\n } else if (this.$codeOutlineHighlight && !this._codeOutlineHighlightRemovalTimeout) {\n // hide after timeout to make it flash less when on some frames the QR code is detected and on some not\n this._codeOutlineHighlightRemovalTimeout = setTimeout(\n () => this.$codeOutlineHighlight!.style.display = 'none',\n 100,\n );\n }\n\n this._scanFrame();\n });\n }\n\n private _onDecodeError(error: Error | string): void {\n // default error handler; can be overwritten in the constructor\n if (error === QrScanner.NO_QR_CODE_FOUND) return;\n console.log(error);\n }\n\n private async _getCameraStream(): Promise<{ stream: MediaStream, facingMode: QrScanner.FacingMode }> {\n if (!navigator.mediaDevices) throw 'Camera not found.';\n\n const preferenceType = /^(environment|user)$/.test(this._preferredCamera)\n ? 'facingMode'\n : 'deviceId';\n const constraintsWithoutCamera: Array<MediaTrackConstraints> = [{\n width: { min: 1024 }\n }, {\n width: { min: 768 }\n }, {}];\n const constraintsWithCamera = constraintsWithoutCamera.map((constraint) => Object.assign({}, constraint, {\n [preferenceType]: { exact: this._preferredCamera },\n }));\n\n for (const constraints of [...constraintsWithCamera, ...constraintsWithoutCamera]) {\n try {\n const stream = await navigator.mediaDevices.getUserMedia({ video: constraints, audio: false });\n // Try to determine the facing mode from the stream, otherwise use a guess or 'environment' as\n // default. Note that the guess is not always accurate as Safari returns cameras of different facing\n // mode, even for exact facingMode constraints.\n const facingMode = this._getFacingMode(stream)\n || (constraints.facingMode\n ? this._preferredCamera as QrScanner.FacingMode // a facing mode we were able to fulfill\n : (this._preferredCamera === 'environment'\n ? 'user' // switch as _preferredCamera was environment but we are not able to fulfill it\n : 'environment' // switch from unfulfilled user facingMode or default to environment\n )\n );\n return { stream, facingMode };\n } catch (e) {}\n }\n\n throw 'Camera not found.';\n }\n\n private async _restartVideoStream(): Promise<void> {\n // Note that we always pause the stream and not only if !this._paused as even if this._paused === true, the\n // stream might still be running, as it's by default only stopped after a delay of 300ms.\n const wasPaused = this._paused;\n const paused = await this.pause(true);\n if (!paused || wasPaused || !this._active) return;\n await this.start();\n }\n\n private static _stopVideoStream(stream : MediaStream): void {\n for (const track of stream.getTracks()) {\n track.stop(); // note that this will also automatically turn the flashlight off\n stream.removeTrack(track);\n }\n }\n\n private _setVideoMirror(facingMode: QrScanner.FacingMode): void {\n // in user facing mode mirror the video to make it easier for the user to position the QR code\n const scaleFactor = facingMode === 'user'? -1 : 1;\n this.$video.style.transform = 'scaleX(' + scaleFactor + ')';\n }\n\n private _getFacingMode(videoStream: MediaStream): QrScanner.FacingMode | null {\n const videoTrack = videoStream.getVideoTracks()[0];\n if (!videoTrack) return null; // unknown\n // inspired by https://github.com/JodusNodus/react-qr-reader/blob/master/src/getDeviceId.js#L13\n return /rear|back|environment/i.test(videoTrack.label)\n ? 'environment'\n : /front|user|face/i.test(videoTrack.label)\n ? 'user'\n : null; // unknown\n }\n\n private static _drawToCanvas(\n image: HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | OffscreenCanvas | ImageBitmap\n | SVGImageElement,\n scanRegion?: QrScanner.ScanRegion | null,\n canvas?: HTMLCanvasElement | null,\n disallowCanvasResizing= false,\n ): [HTMLCanvasElement, CanvasRenderingContext2D] {\n canvas = canvas || document.createElement('canvas');\n const scanRegionX = scanRegion && scanRegion.x ? scanRegion.x : 0;\n const scanRegionY = scanRegion && scanRegion.y ? scanRegion.y : 0;\n const scanRegionWidth = scanRegion && scanRegion.width\n ? scanRegion.width\n : (image as HTMLVideoElement).videoWidth || image.width as number;\n const scanRegionHeight = scanRegion && scanRegion.height\n ? scanRegion.height\n : (image as HTMLVideoElement).videoHeight || image.height as number;\n\n if (!disallowCanvasResizing) {\n const canvasWidth = scanRegion && scanRegion.downScaledWidth\n ? scanRegion.downScaledWidth\n : scanRegionWidth;\n const canvasHeight = scanRegion && scanRegion.downScaledHeight\n ? scanRegion.downScaledHeight\n : scanRegionHeight;\n // Setting the canvas width or height clears the canvas, even if the values didn't change, therefore only\n // set them if they actually changed.\n if (canvas.width !== canvasWidth) {\n canvas.width = canvasWidth;\n }\n if (canvas.height !== canvasHeight) {\n canvas.height = canvasHeight;\n }\n }\n\n const context = canvas.getContext('2d', { alpha: false })!;\n context.imageSmoothingEnabled = false; // gives less blurry images\n context.drawImage(\n image,\n scanRegionX, scanRegionY, scanRegionWidth, scanRegionHeight,\n 0, 0, canvas.width, canvas.height,\n );\n return [canvas, context];\n }\n\n private static async _loadImage(\n imageOrFileOrBlobOrUrl: HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | OffscreenCanvas | ImageBitmap\n | SVGImageElement | File | Blob | URL | String,\n ): Promise<HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | OffscreenCanvas | ImageBitmap\n | SVGImageElement > {\n if (imageOrFileOrBlobOrUrl instanceof Image) {\n await QrScanner._awaitImageLoad(imageOrFileOrBlobOrUrl);\n return imageOrFileOrBlobOrUrl;\n } else if (imageOrFileOrBlobOrUrl instanceof HTMLVideoElement\n || imageOrFileOrBlobOrUrl instanceof HTMLCanvasElement\n || imageOrFileOrBlobOrUrl instanceof SVGImageElement\n || 'OffscreenCanvas' in window && imageOrFileOrBlobOrUrl instanceof OffscreenCanvas\n || 'ImageBitmap' in window && imageOrFileOrBlobOrUrl instanceof ImageBitmap) {\n return imageOrFileOrBlobOrUrl;\n } else if (imageOrFileOrBlobOrUrl instanceof File || imageOrFileOrBlobOrUrl instanceof Blob\n || imageOrFileOrBlobOrUrl instanceof URL || typeof imageOrFileOrBlobOrUrl === 'string') {\n const image = new Image();\n if (imageOrFileOrBlobOrUrl instanceof File || imageOrFileOrBlobOrUrl instanceof Blob) {\n image.src = URL.createObjectURL(imageOrFileOrBlobOrUrl);\n } else {\n image.src = imageOrFileOrBlobOrUrl.toString();\n }\n try {\n await QrScanner._awaitImageLoad(image);\n return image;\n } finally {\n if (imageOrFileOrBlobOrUrl instanceof File || imageOrFileOrBlobOrUrl instanceof Blob) {\n URL.revokeObjectURL(image.src);\n }\n }\n } else {\n throw 'Unsupported image type.';\n }\n }\n\n private static async _awaitImageLoad(image: HTMLImageElement): Promise<void> {\n if (image.complete && image.naturalWidth !== 0) return; // already loaded\n await new Promise<void>((resolve, reject) => {\n const listener = (event: ErrorEvent | Event) => {\n image.removeEventListener('load', listener);\n image.removeEventListener('error', listener);\n if (event instanceof ErrorEvent) {\n reject('Image load error');\n } else {\n resolve();\n }\n };\n image.addEventListener('load', listener);\n image.addEventListener('error', listener);\n });\n }\n\n private static async _postWorkerMessage(\n qrEngineOrQrEnginePromise: Worker | BarcodeDetector | Promise<Worker | BarcodeDetector>,\n type: string,\n data?: any,\n transfer?: Transferable[],\n ): Promise<number> {\n return QrScanner._postWorkerMessageSync(await qrEngineOrQrEnginePromise, type, data, transfer);\n }\n\n // sync version of _postWorkerMessage without performance overhead of async functions\n private static _postWorkerMessageSync(\n qrEngine: Worker | BarcodeDetector,\n type: string,\n data?: any,\n transfer?: Transferable[],\n ): number {\n if (!(qrEngine instanceof Worker)) return -1;\n const id = QrScanner._workerMessageId++;\n qrEngine.postMessage({\n id,\n type,\n data,\n }, transfer);\n return id;\n }\n}\n\ndeclare namespace QrScanner {\n export interface ScanRegion {\n x?: number;\n y?: number;\n width?: number;\n height?: number;\n downScaledWidth?: number;\n downScaledHeight?: number;\n }\n\n export type FacingMode = 'environment' | 'user';\n export type DeviceId = string;\n\n export interface Camera {\n id: DeviceId;\n label: string;\n }\n\n export type InversionMode = 'original' | 'invert' | 'both';\n\n export interface Point {\n x: number;\n y: number;\n }\n\n export interface ScanResult {\n data: string;\n // In clockwise order, starting at top left, but this might not be guaranteed in the future.\n cornerPoints: QrScanner.Point[];\n }\n}\n\n// simplified from https://wicg.github.io/shape-detection-api/#barcode-detection-api\ndeclare class BarcodeDetector {\n constructor(options?: { formats: string[] });\n static getSupportedFormats(): Promise<string[]>;\n detect(image: ImageBitmapSource): Promise<Array<{ rawValue: string, cornerPoints: QrScanner.Point[] }>>;\n}\n\nexport default QrScanner;\n","import React, { useContext, useEffect, useRef, useState } from \"react\";\r\nimport QrCodeError from \"./QrCodeError\";\r\nimport QrCodeSuccess from \"./QrCodeSuccess\";\r\nimport QrScanner from \"qr-scanner\";\r\nimport useHttpRequest from \"../../hooks/http-request\";\r\nimport AuthContext from \"../../store/auth-context\";\r\nimport { config } from \"../../constants/Constants\";\r\nimport TokenContext from \"../../store/token-context\";\r\nimport { useParams } from \"react-router\";\r\n\r\nconst QrCodeBody = (props) => {\r\n\r\n const qrElement = useRef();\r\n const { qrCode } = useParams();\r\n const [isLogged, setIsLogged] = useState(false);\r\n const [resultQrScann, setResultQrScann] = useState();\r\n const sendRqs = useHttpRequest();\r\n const authCtx = useContext(AuthContext);\r\n const tokenCtx = useContext(TokenContext);\r\n const [countQrScann, setCountQrScann] = useState(0);\r\n //let qrScanner = {};\r\n\r\n const loginHandler = (data) => {\r\n\r\n props.loginHandler(data);\r\n };\r\n\r\n const resetQrCode = (data) => {\r\n\r\n props.resetQrCode(data);\r\n };\r\n\r\n const CheckIfOldSubscr = (qr, messagge) => {\r\n\r\n const setMessage = (result) => {\r\n\r\n if (result.Result.ResultSet === null || result.Result.ResultSet === undefined) {\r\n props.activationSuccess(messagge, false);\r\n return;\r\n }\r\n props.activationSuccess(result.Result.ResultSet.Root[0].message, true);\r\n }\r\n\r\n const body = {\r\n parameters: {\r\n name: config.nameList.getContenutiEsistentiQr,\r\n inputParameters: [\r\n {\r\n name: \"qrcode\",\r\n type: \"VarChar\",\r\n value: qr,\r\n\r\n }\r\n ]\r\n },\r\n token: tokenCtx.token\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json'\r\n },\r\n method: \"POST\",\r\n body: JSON.stringify(body)\r\n }\r\n };\r\n\r\n sendRqs.sendRequest(request, setMessage);\r\n\r\n\r\n }\r\n \r\n const manageDigitalContent = (result) => {\r\n\r\n if (result.data === undefined || result.data === null || result.data === \"\") props.resetQrCode(\"error\");\r\n\r\n //props.qrScanner.destroy();\r\n\r\n let resultSplitted = result.data.split(\"|\");\r\n let qrCode = resultSplitted[0];\r\n\r\n if (resultSplitted.length === 1) {\r\n resultSplitted = result.data.split(\"/\");\r\n qrCode = resultSplitted[resultSplitted.length - 1];\r\n }\r\n\r\n\r\n const successActivationDigitalProduct = (result) => {\r\n\r\n //const bookActivated = formattedForFe(result);\r\n //da inserire se è andato a buon fine\r\n if (result.Result.Success) {\r\n tokenCtx.loadDynToken();\r\n CheckIfOldSubscr(resultSplitted[resultSplitted.length - 1], result.Result.messaggio.replaceAll(\" 00:00:00\", \"\"));\r\n } else if (!result.Result.Success) {\r\n props.resetQrCode({ response: \"error\", message: result.Result.messaggio });\r\n } else {\r\n props.resetQrCode({ response: \"error\", message: \"Sembrerebbe che qualcosa non sia andata a buon fine, ti chiediamo di riprovare, grazie.\" });\r\n }\r\n }\r\n\r\n\r\n const body = {\r\n parameters: {\r\n \"username\": authCtx.username,\r\n \"qrcode\": qrCode,\r\n \"staticToken\": config.token.STATIC_TOKEN\r\n },\r\n \"token\": tokenCtx.token\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.qrCodeActivation,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json'\r\n },\r\n method: \"POST\",\r\n body: JSON.stringify(body)\r\n }\r\n };\r\n\r\n sendRqs.sendRequest(request, successActivationDigitalProduct);\r\n };\r\n\r\n useEffect(() => {\r\n if (props.result !== \"sleep\" || !isLogged || !authCtx.isLoggedIn) return;\r\n\r\n let qrScanner = new QrScanner(qrElement.current, result => setQr(result), { returnDetailedScanResult: true});\r\n\r\n props.settingsQrScanner(qrScanner);\r\n \r\n }, [props.result, isLogged, tokenCtx.token, authCtx.isLoggedIn]);\r\n const setQr = (result) => {\r\n setResultQrScann(result);\r\n setCountQrScann(countQrScann+1);\r\n }\r\n useEffect(() => {\r\n \r\n if(Object.keys(props.qrScanner).length === 0) return;\r\n \r\n props.qrScanner.start();\r\n\r\n },[props.qrScanner]);\r\n\r\n useEffect(() => {\r\n setIsLogged(authCtx.isLoggedIn);\r\n }, [authCtx.isLoggedIn]);\r\n\r\n useEffect(() => {\r\n if(!resultQrScann || countQrScann>1) return\r\n manageDigitalContent(resultQrScann)\r\n props.qrScanner.stop();\r\n }, [resultQrScann]);\r\n const setCount = () => {\r\n setCountQrScann(0);\r\n }\r\n return (\r\n <React.Fragment>\r\n {\r\n props.result === \"sleep\" && isLogged &&\r\n <div className=\"qrpage-scan\">\r\n <div className=\"qrpage-scan-content\">\r\n <video className=\"qrpage-scan-widget\" style={{ background: \"gray\" }} ref={qrElement}></video>\r\n </div>\r\n </div>\r\n }\r\n {\r\n props.result === \"sleep\" && !isLogged &&\r\n <QrCodeSuccess loginHandler={loginHandler} book={props.book} isSuccess={false}></QrCodeSuccess>\r\n }\r\n {\r\n props.result === \"success\" &&\r\n <QrCodeSuccess successMessage={props.successMessage} isSuccess={true} isDifferentAbbo={props.isDifferentAbbo}></QrCodeSuccess>\r\n }\r\n {\r\n props.result === 'error' &&\r\n <QrCodeError resetQrCode={resetQrCode} errorMessage={props.errorMessage} count={setCount}></QrCodeError>\r\n }\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default QrCodeBody;","import React, { useContext, useEffect, useState } from \"react\";\r\nimport AuthContext from \"../../store/auth-context\";\r\n\r\nconst QrCodeHeader = (props) => {\r\n\r\n const [isLogged, setIsLogged] = useState(false);\r\n const authCtx = useContext(AuthContext);\r\n\r\n useEffect(() => {\r\n setIsLogged(authCtx.isLoggedIn);\r\n }, [authCtx.isLoggedIn])\r\n\r\n return (\r\n <React.Fragment>\r\n {props.result === \"sleep\" &&\r\n <>\r\n <h1 className=\"qrpage-title\">\r\n Scansione QR Code\r\n </h1>\r\n {isLogged &&\r\n < p className=\"qrpage-text\">\r\n Accetta l’utilizzo della camera del tuo computer e scansione il QR code presente nel tuo libro.\r\n </p>\r\n }\r\n {!isLogged &&\r\n <p className=\"qrpage-text\">\r\n Accedi o Registrati al sole 24 Ore per avviare la scansione del tuo QR code.\r\n </p>\r\n }\r\n </>\r\n }\r\n {\r\n props.result === 'success' &&\r\n <>\r\n <h1 className=\"qrpage-title\">\r\n Scansione effettuata con successo\r\n </h1>\r\n {!props.isDifferentAbbo &&\r\n <p className=\"qrpage-text\">\r\n Potrai leggere online il libro attraverso il servizio Book24ORE.\r\n </p>\r\n }\r\n {/*<p className=\"qrpage-text\">\r\n Potrai leggere <strong>[{props.titleBook}]</strong> online attraverso il servizio Biblioteca24.\r\n <br />Accedi o Registrati al sole 24 Ore per iniziare la tua esperienza.\r\n </p>*/}\r\n </>\r\n }\r\n {\r\n props.result === 'error' &&\r\n <>\r\n <h1 className=\"qrpage-title\">\r\n Ci dispiace, scansione non riuscita\r\n </h1>\r\n <p className=\"qrpage-text\">\r\n Sembrerebbe che qualcosa non sia andata a buon fine, ti chiediamo di riprovare, grazie.\r\n </p>\r\n </>\r\n }\r\n </React.Fragment >\r\n )\r\n}\r\n\r\nexport default QrCodeHeader;","import React from \"react\";\r\n\r\nconst QrCodeWrapper = (props) => {\r\n\r\n return (\r\n <React.Fragment>\r\n <div className=\"main-content \">\r\n <div className=\"qrpage\">\r\n <div className=\"container\">\r\n\r\n {props.children}\r\n </div>\r\n </div>\r\n </div>\r\n </React.Fragment>\r\n )\r\n}\r\n\r\nexport default QrCodeWrapper;","import React, { useContext, useState, useEffect } from \"react\";\r\nimport Header from \"../components/Header/Header\";\r\nimport Footer from \"../components/Footer/Footer\";\r\nimport LoginModal from \"../components/Modals/Login\";\r\nimport SessioneScaduta from \"../components/Modals/SessioneScaduta\";\r\nimport QrCodeBody from \"../components/QrCode/QrCodeBody\";\r\nimport QrCodeHeader from \"../components/QrCode/QrCodeHeader\";\r\nimport QrCodeWrapper from \"../components/QrCode/QrCodeWrapper\";\r\nimport AuthContext from \"../store/auth-context\";\r\nimport useManageBodyClasses from \"../hooks/useManageBodyClasses\";\r\nimport Ricerca from \"../components/Header/Ricerca/Ricerca\";\r\nimport MessageManageSiac from \"../components/Modals/MessageManageSiac\";\r\nimport TokenContext from \"../store/token-context\";\r\nimport { updateView } from \"../helper/TealiumHelper\";\r\n\r\nconst QrCode = (props) => {\r\n\r\n const [result, setResult] = useState(\"sleep\");\r\n const [bookActivated, setBookActivated] = useState({});\r\n const [successMessage, setSuccessMessage] = useState(\"\");\r\n const [errorMessage, setErrorMessage] = useState(\"\");\r\n const [isDifferentAbbo, setIsDifferentAbbo] = useState(false);\r\n const authCtx = useContext(AuthContext);\r\n const tokenCtx = useContext(TokenContext);\r\n const [showSessione, setShowSessione] = useState(false);\r\n const [showModal, setShowModal] = useState(true);\r\n useEffect(() => {\r\n setShowSessione(localStorage.getItem(\"showModalSessione\") ? true : false);\r\n });\r\n const loginHandler = (data) => {\r\n\r\n authCtx.showModalLog(data)\r\n };\r\n\r\n const activationSuccess = (data, isDiffAbb) => {\r\n\r\n setResult(\"success\");\r\n setSuccessMessage(data);\r\n setIsDifferentAbbo(isDiffAbb)\r\n };\r\n\r\n const resetQrCode = (data) => {\r\nconsole.log(\"qui\")\r\n setResult(data.response);\r\n setErrorMessage(data.message);\r\n }\r\n\r\n useEffect(() => {\r\n\r\n if (window.utag === null || window.utag === undefined) return;\r\n\r\n updateView(\"book24ore:attiva-libro\", authCtx, tokenCtx, \"book24ore:attiva-libro\");\r\n\r\n }, [tokenCtx.token, authCtx.isLoggedIn, window.utag]);\r\n\r\n useManageBodyClasses();\r\n\r\n return (\r\n <React.Fragment>\r\n <Header showSecondRow={false} classSticky={\"sticky\"} isIntegrateInBD={props.isIntegrateInBD}></Header>\r\n {authCtx.showLoginModal && <LoginModal show={authCtx.showLoginModal} />}\r\n {tokenCtx.showMessageSiac && <MessageManageSiac show={tokenCtx.showMessageSiac}></MessageManageSiac>}\r\n {showSessione && <SessioneScaduta show={showSessione} closeModal={(dismiss) => { setShowModal(dismiss.showModal) }}></SessioneScaduta>}\r\n <QrCodeWrapper>\r\n <QrCodeHeader result={result} titleBook={bookActivated.titleBook} isDifferentAbbo={isDifferentAbbo} />\r\n <QrCodeBody loginHandler={loginHandler}\r\n result={result}\r\n resetQrCode={resetQrCode}\r\n activationSuccess={activationSuccess}\r\n isDifferentAbbo={isDifferentAbbo}\r\n book={bookActivated}\r\n errorMessage={errorMessage}\r\n successMessage={successMessage}\r\n qrScanner={props.qrScanner} \r\n settingsQrScanner={props.settingsQrScanner}\r\n />\r\n </QrCodeWrapper>\r\n <Ricerca />\r\n <Footer isIntegrateInBD={props.isIntegrateInBD}/>\r\n </React.Fragment>\r\n )\r\n}\r\n\r\nexport default QrCode;","import React from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\n\r\nconst DeleteNoteModal = (props) => {\r\n\r\n const handleClose = () => {\r\n props.closeModal();\r\n };\r\n\r\n const deleteNote = (ev) => {\r\n ev.preventDefault();\r\n\r\n props.deleteNote();\r\n }\r\n \r\n return (\r\n <React.Fragment>\r\n <Modal show={props.showModal} onHide={handleClose}>\r\n <div className=\"modal-content\">\r\n <a role=\"button\" className=\"modal-close\" data-dismiss=\"modal\" aria-label=\"Close\" onClick={handleClose}>\r\n <span className=\"icon icon-cross-small\"></span>\r\n </a>\r\n\r\n <Modal.Header className=\"modal-header\">\r\n <h3 className=\"modal-title\">{props.title}</h3>\r\n </Modal.Header>\r\n\r\n <Modal.Body className=\"modal-body\">\r\n <p className=\"modal-txt\">\r\n {props.message}\r\n </p>\r\n </Modal.Body>\r\n\r\n <Modal.Footer className=\"modal-footer\">\r\n <a className=\"btn btn--txt\" role=\"button\" onClick={handleClose}>Annulla</a>\r\n <a className=\"btn btn--black \" role=\"button\" onClick={deleteNote}>Elimina</a>\r\n </Modal.Footer>\r\n </div>\r\n </Modal>\r\n </React.Fragment>\r\n )\r\n\r\n}\r\n\r\nexport default DeleteNoteModal;","import React from 'react'\r\n\r\nconst NoteDropdown = (props) => {\r\n\r\n const myTags = props.tags;\r\n\r\n const pressedTag = (ev) => {\r\n\r\n const newTag= ev.currentTarget.dataset.value;\r\n props.addTag(newTag);\r\n }\r\n\r\n return (\r\n <div id=\"tagMenu\" className=\"dropdown-menu show\">\r\n <div className=\"dropdown-menu-head\">\r\n <span className=\"dropdown-menu-head-title\">Miei tag</span>\r\n </div>\r\n <div className=\"dropdown-menu-scroll dropdown-menu-scroll--small\">\r\n <ul className=\"list list--mid\">\r\n {myTags && myTags.map((tag, index) => (\r\n <li className=\"list-item\" key={Math.random()}>\r\n <a className=\"search-opt \" role=\"button\" onClick={pressedTag} data-value={tag}>\r\n {tag}\r\n </a>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default NoteDropdown","import React, { useRef } from 'react'\r\nimport { useState } from 'react';\r\nimport NoteDropdown from '../NoteDropdown/NoteDropdown';\r\n\r\nconst NoteFooter = (props) => {\r\n\r\n\r\n const tags = props.tags;\r\n const [show, setShow] = useState(false);\r\n const newTag = useRef(null);\r\n\r\n\r\n const deleteTag = (ev) => {\r\n ev.preventDefault();\r\n\r\n const tagToDelete = ev.currentTarget.dataset.value;\r\n\r\n\r\n let array = [...tags];\r\n let index = array.indexOf(tagToDelete);\r\n array.splice(index);\r\n props.editNoteTag(array);\r\n }\r\n\r\n const addTag = (dataTag) => {\r\n\r\n //setTags(prev => [...prev, tagToAdd]);\r\n\r\n setShow(false);\r\n const newTagNote = [...tags, dataTag];\r\n newTag.current.value = null;\r\n\r\n props.editNoteTag(newTagNote);\r\n\r\n }\r\n\r\n const insertTagByEnter = (ev) => {\r\n\r\n if (ev.which !== 13) return;\r\n\r\n addTag(newTag.current.value);\r\n setShow(false)\r\n }\r\n\r\n const showMenuTag = (e) => {\r\n\r\n if (e.currentTarget === e.target) {\r\n setShow(true)\r\n }\r\n\r\n }\r\n\r\n const hideMenuTag = (e) => {\r\n\r\n window.setTimeout(() => {\r\n setShow(false);\r\n }, 200)\r\n }\r\n\r\n return (\r\n\r\n <div className=\"note-tag\">\r\n <ul className=\"list-inline\">\r\n {tags && tags.map((tag =>\r\n <li className=\"list-inline-item\" key={Math.random()}>\r\n\r\n <span className=\"tag tag--del\">\r\n {tag}\r\n <a className=\"tag-del\" role=\"button\" onClick={deleteTag} data-value={tag}>\r\n <span className=\"icon icon-cross-small\"></span>\r\n </a>\r\n </span>\r\n\r\n </li>\r\n ))}\r\n <li className=\"list-inline-item\">\r\n <div className=\"dropdown\">\r\n <input id=\"tag\" className=\"input input--clear\" type=\"text\" placeholder=\"Aggiungi Tag…\"\r\n /*onFocus={() => setShow(true)}*/\r\n onKeyUp={insertTagByEnter}\r\n onFocus={showMenuTag}\r\n onBlur={hideMenuTag}\r\n ref={newTag}\r\n maxLength={60}\r\n />\r\n </div>\r\n </li>\r\n {show && <NoteDropdown tags={props.mostUsedTag} addTag={addTag} />}\r\n </ul>\r\n <span className=\"icon icon-tag\"></span>\r\n </div>\r\n\r\n )\r\n}\r\n\r\nexport default NoteFooter","import React from 'react'\r\nimport { NavLink } from 'react-router-dom'\r\n\r\nconst NoteHead = ({ date, idDoc }) => {\r\n return (\r\n <div className=\"note-head\">\r\n <span className=\"note-time\">\r\n {date}\r\n </span>\r\n <NavLink className=\"card-search-goto\" to={`/reader/${idDoc}`}>\r\n Vai al libro <span className=\"icon icon-arrow-right-small\"></span>\r\n </NavLink>\r\n </div>\r\n )\r\n}\r\n\r\nexport default NoteHead","import React, { useEffect, useRef, useState } from \"react\";\r\nimport DeleteNoteModal from \"../Modals/DeleteNoteModal\";\r\nimport NoteFooter from \"./NoteFooter\";\r\nimport NoteHead from \"./NoteHead\";\r\n\r\nconst NoteSingle = (props) => {\r\n\r\n let editedNota = useRef(null);\r\n\r\n const [note, setNote] = useState(props.note);\r\n const [showDelete, setShowDelete] = useState(false);\r\n\r\n\r\n const editNoteTag = (newTags) => {\r\n\r\n let newNote = { ...note };\r\n\r\n newNote.tags = newTags;\r\n setNote(newNote);\r\n }\r\n\r\n const deleteNote = (ev) => {\r\n ev.preventDefault();\r\n\r\n setShowDelete(true);\r\n //props.deleteNote({ note, idDoc: props.idDocumento });\r\n }\r\n\r\n const trueDelete = () => {\r\n props.deleteNote({ note, idDoc: props.idDocumento });\r\n }\r\n\r\n const saveNote = (ev) => {\r\n ev.preventDefault();\r\n\r\n let newNote = { ...note, idDoc: props.idDocumento };\r\n\r\n if (editedNota.current.textContent !== null) {\r\n\r\n newNote.note = editedNota.current.textContent;\r\n }\r\n\r\n props.editNote(newNote);\r\n }\r\n\r\n return (\r\n <React.Fragment>\r\n <DeleteNoteModal deleteNote={trueDelete} title=\"Elimina Nota\" message=\"Sicuro di voler eliminate la nota?\" showModal={showDelete} closeModal={() => setShowDelete(false)}></DeleteNoteModal>\r\n <li className=\"list-item\">\r\n <div className={note.color} id={note.idNote}>\r\n <NoteHead date={note.date} idDoc={props.idDocumento} />\r\n\r\n <span className=\"reader-txt\">\r\n <div dangerouslySetInnerHTML={{ __html: note.text }}></div>\r\n </span>\r\n\r\n <div className=\"note-textarea note-textarea--empty\">\r\n <p\r\n className=\"input input--clear textarea\"\r\n data-placeholder=\"Aggiungi nota…\"\r\n contentEditable=\"true\"\r\n style={{ height: 20 }}\r\n ref={editedNota}\r\n suppressContentEditableWarning={true}\r\n >{note.note}</p>\r\n <span className=\"icon icon-note\"></span>\r\n </div>\r\n\r\n <div className=\"note-foot\">\r\n <NoteFooter tags={note.tags} mostUsedTag={props.mostUsedTag} editNoteTag={editNoteTag} />\r\n <div className=\"note-foot-buttons\">\r\n <a className=\"btn btn--outline\" role=\"button\" onClick={saveNote}>\r\n Salva\r\n </a>\r\n <a className=\"btn btn--outline\" role=\"button\" onClick={deleteNote}>\r\n Elimina\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n </React.Fragment>\r\n )\r\n}\r\n\r\nexport default NoteSingle;","import React from 'react'\r\nimport NoteSingle from './NoteSingle';\r\n\r\nconst NoteList = (props) => {\r\n\r\n const editNote = (editedNote) => {\r\n props.editNote(editedNote)\r\n };\r\n\r\n const deleteNote = (noteToDelete) => {\r\n props.deleteNote(noteToDelete);\r\n }\r\n\r\n return (\r\n <ul className=\"list list--large note-list\">\r\n {props.noteList && props.noteList.map((note, index) => (\r\n <NoteSingle note={note}\r\n idDocumento={props.idDocumento}\r\n key={Math.random()}\r\n mostUsedTag={props.mostUsedTag}\r\n editNote={editNote}\r\n deleteNote={deleteNote}\r\n />\r\n ))}\r\n </ul>\r\n )\r\n}\r\n\r\nexport default NoteList","import React, { useState } from 'react'\r\nimport NoteList from './NoteList'\r\n\r\nconst NoteSubTitle = (props) => {\r\n\r\n const [show, setShow] = useState(false);\r\n\r\n const editNote = (editedNote) => {\r\n props.editNote(editedNote);\r\n }\r\n\r\n const deleteNote = (noteToDelete) => {\r\n props.deleteNote(noteToDelete);\r\n }\r\n\r\n return (\r\n <li className=\"list-lined-item\">\r\n <h6 className=\"note-book-subtitle\">\r\n <button type=\"button\" data-toggle=\"collapse\" data-target={props.item.dataTarget}\r\n aria-expanded={`${show ? true : false}`}\r\n onClick={() => setShow(!show)}\r\n className={`${show ? \"\" : \"collapsed\"}`}>\r\n {decodeURIComponent(props.item.subTitle)}\r\n <span className=\"icon icon-angle-right\"></span>\r\n </button>\r\n </h6>\r\n <div className={`collapse ${show ? \"show\" : \"\"}`} id={props.item.id}>\r\n {/*item.noteList.maps(item => ())*/}\r\n <NoteList noteList={props.item.noteList}\r\n idDocumento={props.item.idDocumento}\r\n mostUsedTag={props.mostUsedTag}\r\n editNote={editNote}\r\n deleteNote={deleteNote}\r\n />\r\n </div>\r\n </li>\r\n )\r\n}\r\n\r\nexport default NoteSubTitle","import React from 'react'\r\nimport NoteSubTitle from './NoteSubTitle'\r\n\r\nconst Note = (props) => {\r\n\r\n const editNote = (editedNote) => {\r\n props.editNote(editedNote);\r\n };\r\n\r\n const deleteNote = (noteToDelete) => {\r\n props.deleteNote(noteToDelete);\r\n }\r\n\r\n return (\r\n <div className=\"note-book\">\r\n <h2 className=\"page-title note-book-title\">\r\n {props.title}\r\n </h2>\r\n <div className=\"note-book-list\">\r\n <ul className=\"list-lined list-lined--large\">\r\n {props.subTitleList && props.subTitleList.map((item, index) => (\r\n <NoteSubTitle item={item}\r\n key={Math.random()}\r\n mostUsedTag={props.mostUsedTag}\r\n editNote={editNote}\r\n deleteNote={deleteNote}\r\n />\r\n ))}\r\n </ul>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default Note","import React, { useContext } from \"react\";\r\n// Components\r\nimport Wrapper from \"../components/Helper/Wrapper/Wrapper\";\r\nimport Header from \"../components/Header/Header\"\r\nimport AreaAllListHeader from \"../components/UI/AreaAllListHeader/AreaAllListHeader\";\r\nimport Ricerca from \"../components/Header/Ricerca/Ricerca\";\r\nimport Footer from \"../components/Footer/Footer\";\r\nimport LoginModal from \"../components/Modals/Login\";\r\nimport AuthContext from \"../store/auth-context\";\r\nimport SearchFilters from \"../components/UI/Research/SearchFilters/SearchFilters\";\r\nimport SearchBar from \"../components/UI/Research/SearchBar/SearchBar\";\r\nimport Note from \"../components/Note/Note\";\r\nimport NoteEmpty from \"../components/NoteEmpty/NoteEmpty\";\r\nimport { useNavigate } from \"react-router-dom\";\r\nimport { useState } from \"react\";\r\nimport { useEffect } from \"react\";\r\nimport useManangeNoteAndTagOnReader from \"../hooks/useManageNoteAndTagOnReader\";\r\nimport { config } from \"../constants/Constants\";\r\nimport { filterByBook, filterByWord, filterNoteByColor, filterNoteByTag, formattedNoteArrayForFE, isChanged } from \"../helper/helper\";\r\nimport Spinner from \"../components/UI/Spinner/Spinner\";\r\nimport TokenContext from \"../store/token-context\";\r\nimport useManageBodyClasses from \"../hooks/useManageBodyClasses\";\r\nimport MessageManageSiac from \"../components/Modals/MessageManageSiac\";\r\nimport { updateView } from \"../helper/TealiumHelper\";\r\nimport SessioneScaduta from \"../components/Modals/SessioneScaduta\"\r\n\r\nconst Notes = (props) => {\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [resultsNotes, setResultsNotes] = useState([]);\r\n const [notFilteredNotes, setNotFilteredNotes] = useState([]);\r\n const [idBookFilters, setIdBookFilters] = useState([]);\r\n const [colorFilters, setColorFilters] = useState([]);\r\n const [tagFilters, setTagFilters] = useState([]);\r\n const [wordFilter, setWordFilter] = useState(\"\");\r\n const [noteWithText, setNoteWithText] = useState(false);\r\n const [showSessione, setShowSessione] = useState(false);\r\n const [showModal, setShowModal] = useState(true);\r\n const [mostUsedTag, setMostUsedTag] = useState([]);\r\n const [refresh, setRefresh] = useState(true);\r\n\r\n \r\n const [resultsNotesForEdit, setResultsNotesForEdit] = useState([]);\r\n\r\n const authCtx = useContext(AuthContext);\r\n const tokenCtx = useContext(TokenContext);\r\n const noteAndTag = useManangeNoteAndTagOnReader();\r\n const navigate = useNavigate();\r\n\r\n if (localStorage.getItem(\"isLoggedIn\") !== \"1\") {\r\n navigate('/');\r\n }\r\n\r\n useEffect(() => {\r\n setShowSessione(localStorage.getItem(\"showModalSessione\") ? true : false);\r\n });\r\n\r\n useEffect(() => {\r\n\r\n let clearFunct = setTimeout(() => {\r\n if (!authCtx.isLoggedIn) {\r\n navigate('/');\r\n }\r\n }, 400);\r\n\r\n return () => {\r\n clearTimeout(clearFunct);\r\n };\r\n\r\n }, [authCtx.isLoggedIn]);\r\n\r\n useEffect(() => {\r\n\r\n if (!refresh) return;\r\n\r\n setIsLoading(true);\r\n\r\n const settingsNote = (data) => {\r\n\r\n if (data.Result === null) {\r\n setResultsNotesForEdit([]);\r\n setNotFilteredNotes([]);\r\n setResultsNotes([]);\r\n setRefresh(false);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n const res = formattedNoteArrayForFE(data.Result.Documents);\r\n\r\n if (res.length > 0) {\r\n setResultsNotesForEdit(data.Result.Documents);\r\n setNotFilteredNotes(res);\r\n setResultsNotes(res);\r\n getMostUsedTag();\r\n }\r\n\r\n setRefresh(false);\r\n setIsLoading(false);\r\n };\r\n\r\n noteAndTag.getNotes(config.nameList.note, {}, true, settingsNote);\r\n\r\n }, [refresh]);\r\n\r\n const getMostUsedTag = () => {\r\n\r\n const settingMostUsedTag = (data) => {\r\n\r\n if (data.Result.Documents.length === 0) return;\r\n\r\n setMostUsedTag(data.Result.Documents);\r\n }\r\n\r\n noteAndTag.getGenericTag(config.nameList.note, { prop1: \"data.note.tag\" }, settingMostUsedTag);\r\n }\r\n\r\n const editNote = (editedNote) => {\r\n\r\n const refreshNote = (data) => {\r\n\r\n setRefresh(true);\r\n };\r\n\r\n let index = resultsNotesForEdit.map(val => val.data.iddocumento).indexOf(editedNote.idDoc);\r\n let noteToUpd = { ...resultsNotesForEdit[index] };\r\n\r\n noteToUpd.data.note.forEach(element => {\r\n if (element.idNote === editedNote.idNote) {\r\n element.tag = [...editedNote.tags];\r\n element.text = editedNote.note;\r\n }\r\n });\r\n\r\n noteAndTag.updateNotes(noteToUpd, config.nameList.note, refreshNote);\r\n }\r\n\r\n const deleteNote = (notaToDelete) => {\r\n\r\n let index = resultsNotesForEdit.map(val => val.data.iddocumento).indexOf(notaToDelete.idDoc);\r\n let noteToUpd = { ...resultsNotesForEdit[index] };\r\n\r\n let spanToReplace = \"\";\r\n let buttonToReplace = \"\";\r\n let newArrayNote = [];\r\n noteToUpd.data.note.forEach((element) => {\r\n if (element.idNote === notaToDelete.note.idNote) {\r\n spanToReplace = element.startSpan;\r\n buttonToReplace = element.startButton;\r\n return;\r\n }\r\n newArrayNote.push(element);\r\n });\r\n\r\n const replaceTextForDeleteNote = (data) => {\r\n\r\n let documentText = data.Result.Documents[0].data.documentText;\r\n documentText = documentText.replace(spanToReplace, '<span>');\r\n documentText = documentText.replace(buttonToReplace, '<span>');\r\n data.Result.Documents[0].data.documentText = documentText;\r\n\r\n const finishUpdateDocument = (data) => {\r\n\r\n const refreshNote = (data) => {\r\n\r\n setRefresh(true);\r\n };\r\n\r\n if (newArrayNote.length === 0) {\r\n noteAndTag.setDelete({ prop1: noteToUpd._id.$oid }, refreshNote);\r\n } else {\r\n noteToUpd.data.note = newArrayNote;\r\n noteAndTag.updateNotes(noteToUpd, config.nameList.note, refreshNote);\r\n }\r\n }\r\n\r\n if (newArrayNote.length === 0) {\r\n noteAndTag.setDelete({ prop1: data.Result.Documents[0]._id.$oid }, finishUpdateDocument);\r\n } else {\r\n noteAndTag.updateDocument(data.Result.Documents[0], finishUpdateDocument);\r\n }\r\n }\r\n\r\n noteAndTag.getDocumentEditWithNotes(config.nameList.documentiConNote, { prop1: parseInt(noteToUpd.data.idprovvedimento), prop2: parseInt(noteToUpd.data.iddocumento), prop3: parseInt(noteToUpd.data.iddoctype), prop4: \"\" }, true, replaceTextForDeleteNote)\r\n }\r\n\r\n const filteringBook = (idToFilter) => {\r\n\r\n const indx = idBookFilters.indexOf(idToFilter);\r\n\r\n if (indx === -1) {\r\n setIdBookFilters(prev => [...prev, idToFilter]);\r\n return;\r\n }\r\n\r\n let array = [...idBookFilters];\r\n array.splice(indx, 1);\r\n setIdBookFilters(array);\r\n };\r\n\r\n const filteringByColor = (color) => {\r\n\r\n const indx = colorFilters.indexOf(color);\r\n\r\n if (indx === -1) {\r\n setColorFilters(prev => [...prev, color]);\r\n return;\r\n }\r\n\r\n let array = [...colorFilters];\r\n array.splice(indx, 1);\r\n setColorFilters(array);\r\n }\r\n\r\n const filteringByTag = (tagToFilter) => {\r\n\r\n const indx = tagFilters.indexOf(tagToFilter);\r\n\r\n if (indx === -1) {\r\n setTagFilters(prev => [...prev, tagToFilter]);\r\n return;\r\n }\r\n\r\n let array = [...tagFilters];\r\n array.splice(indx, 1);\r\n setTagFilters(array);\r\n }\r\n\r\n const filteringForNotes = (isFilter) => {\r\n setNoteWithText(isFilter);\r\n }\r\n\r\n const filteringByWord = (wordToFilter) => {\r\n\r\n if (wordToFilter === wordFilter) return;\r\n\r\n setWordFilter(wordToFilter);\r\n };\r\n\r\n useEffect(() => {\r\n\r\n let delayedFunctionFiltes = setTimeout(() => {\r\n\r\n if (colorFilters.length === 0 && idBookFilters.length === 0 && tagFilters.length === 0 && !noteWithText && wordFilter === \"\" && notFilteredNotes.length !== 0) {\r\n setResultsNotes(notFilteredNotes);\r\n return;\r\n }\r\n\r\n let newFilteredArray = notFilteredNotes;\r\n\r\n if (colorFilters.length > 0) {\r\n newFilteredArray = filterNoteByColor(newFilteredArray, colorFilters);\r\n }\r\n if (tagFilters.length > 0) {\r\n newFilteredArray = filterNoteByTag(newFilteredArray, tagFilters);\r\n }\r\n if (idBookFilters.length > 0) {\r\n newFilteredArray = filterByBook(newFilteredArray, idBookFilters);\r\n }\r\n if (wordFilter !== \"\") {\r\n newFilteredArray = filterByWord(newFilteredArray, wordFilter)\r\n }\r\n\r\n if (isChanged(newFilteredArray, resultsNotes)) {\r\n setResultsNotes(newFilteredArray);\r\n }\r\n }, 200);\r\n\r\n return () => {\r\n\r\n clearTimeout(delayedFunctionFiltes);\r\n };\r\n\r\n }, [colorFilters, tagFilters, idBookFilters, noteWithText, wordFilter])\r\n\r\n useEffect(() => {\r\n\r\n if (window.utag === null || window.utag === undefined) return;\r\n\r\n updateView(\"book24ore:le-mie-note\", authCtx, tokenCtx, \"book24ore:area-loggato\");\r\n\r\n }, [tokenCtx.token, authCtx.isLoggedIn, window.utag]);\r\n\r\n useManageBodyClasses();\r\n\r\n return (\r\n <React.Fragment>\r\n <Wrapper>\r\n <Header showSecondRow={false} classSticky=\"sticky\" isIntegrateInBD={props.isIntegrateInBD}></Header>\r\n {authCtx.showLoginModal && <LoginModal show={authCtx.showLoginModal}></LoginModal>}\r\n {tokenCtx.showMessageSiac && <MessageManageSiac show={tokenCtx.showMessageSiac}></MessageManageSiac>}\r\n {showSessione && <SessioneScaduta show={showSessione} closeModal={(dismiss) => { setShowModal(dismiss.showModal) }}></SessioneScaduta>}\r\n <div className=\"main-content \">\r\n <AreaAllListHeader title=\"Le mie note\" />\r\n {/*isLoading && <Spinner></Spinner>*/}\r\n\r\n <section className=\"section\">\r\n <div className=\"container\">\r\n <div className=\"row\">\r\n <div className=\"col-lg-8\">\r\n <div className=\"search\">\r\n {<SearchBar placeHolder=\"Cerca tra le note\" addNewWord={filteringByWord} />}\r\n\r\n {/*(resultsNotes.length === 0 || !resultsNotes) &&\r\n <NoteEmpty />*/}\r\n {resultsNotes && resultsNotes.length !== 0 &&\r\n <div className=\"search-results\">\r\n {resultsNotes.map((note, index) => (\r\n <Note title={note.title}\r\n key={Math.random()}\r\n subTitleList={note.subTitleList}\r\n resultsNotesForEdit={resultsNotesForEdit}\r\n mostUsedTag={mostUsedTag}\r\n editNote={editNote}\r\n deleteNote={deleteNote} />\r\n ))}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n <div className=\"col-lg-4 order-lg-first\">\r\n <SearchFilters\r\n isNotes={true}\r\n resultsNotes={resultsNotes}\r\n notFilteredNotes={notFilteredNotes}\r\n mostUsedTag={mostUsedTag}\r\n filteringBook={filteringBook}\r\n filteringByColor={filteringByColor}\r\n filteringByTag={filteringByTag}\r\n filteringForNotes={filteringForNotes}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n\r\n <Footer isIntegrateInBD={props.isIntegrateInBD}></Footer>\r\n <Ricerca></Ricerca>\r\n </Wrapper>\r\n\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default Notes;","import React from 'react'\r\n\r\nconst FaqCard = ({card}) => {\r\n return (\r\n <div className=\"col-md\">\r\n <figure className=\"faqpage-feature-img\">\r\n <img className=\"img-fluid\" src={card.img} alt=\"\"/>\r\n </figure>\r\n <h4 className=\"faqpage-feature-title\">\r\n {card.title}\r\n </h4>\r\n <p className=\"faqpage-feature-txt\">\r\n {card.text}\r\n </p>\r\n </div>\r\n )\r\n}\r\n\r\nexport default FaqCard","import React from 'react'\r\n\r\nconst FaqListItem = ({ faq, index }) => {\r\n return (\r\n <li className=\"list-item\">\r\n <div className=\"faqpage-faq\">\r\n <a className=\"faqpage-faq-title\" role={\"button\"} data-toggle=\"collapse\" data-target={`#faq-${index + 1}`}>\r\n { faq.q }\r\n <span className=\"icon icon-plus\"></span>\r\n </a>\r\n <div className=\"collapse\" id={`faq-${index + 1}`}>\r\n <div className=\"faqpage-faq-txt-wrapper\">\r\n <div className=\"faqpage-faq-txt\">\r\n <p dangerouslySetInnerHTML={{ __html: faq.a }} />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n )\r\n}\r\n\r\nexport default FaqListItem","import React from 'react'\r\n\r\nconst FaqWrapper = (props) => {\r\n\r\n return (\r\n <div className={`faqpage ${props.isLight ? 'faqpage--light' : ''}`}>\r\n <div className=\"container\">\r\n {props.children}\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default FaqWrapper","import React, { useContext, useState } from 'react'\r\nimport { useEffect } from 'react';\r\nimport FaqCard from '../components/FaqCard/FaqCard';\r\nimport FaqListItem from '../components/FaqListItem/FaqListItem';\r\nimport FaqWrapper from '../components/FaqWrapper/FaqWrapper';\r\nimport Footer from '../components/Footer/Footer';\r\nimport Header from '../components/Header/Header';\r\nimport Ricerca from '../components/Header/Ricerca/Ricerca';\r\nimport Wrapper from '../components/Helper/Wrapper/Wrapper';\r\nimport LoginModal from '../components/Modals/Login';\r\nimport MessageManageSiac from '../components/Modals/MessageManageSiac';\r\nimport { config } from '../constants/Constants';\r\nimport { updateView } from '../helper/TealiumHelper';\r\nimport useManageBodyClasses from '../hooks/useManageBodyClasses';\r\nimport AuthContext from '../store/auth-context';\r\nimport TokenContext from '../store/token-context';\r\nimport SessioneScaduta from \"../components/Modals/SessioneScaduta\"\r\n\r\nconst FAQ = (props) => {\r\n\r\n const [showSessione, setShowSessione] = useState(false);\r\n const [showModal, setShowModal] = useState(true);\r\n\r\n const authCtx = useContext(AuthContext);\r\n const tokenCtx = useContext(TokenContext);\r\n\r\n const faqCards = [\r\n { img: config.imgFaq1 === \"\" ? config.imgDefault3 : config.imgFaq1, title: 'Ricerca avanzata', text: 'Puoi cercare i contenuti di tuo interesse in tutto il catalogo o limitare la ricerca ai libri del tuo abbonamento o al singolo libro. Inoltre, puoi cercare per titolo, per autore o in tutti i contenuti.' },\r\n { img: config.imgFaq2 === \"\" ? config.imgDefault3 : config.imgFaq2, title: 'Volumi organizzati per area tematica', text: 'Naviga tra le aree tematiche (Fisco e imprese, Diritto, Lavoro, Tecnici, Pubblica amministrazione) e i relativi pacchetti di abbonamento (Manuali, Guide pratiche, fascicoli di attualità , Punto lavoro, ecc.) per trovare l\\'offerta più adatta alle tue esigenze.' },\r\n { img: config.imgFaq3 === \"\" ? config.imgDefault3 : config.imgFaq3, title: 'Esperienza di lettura', text: 'Nei libri di Book24 potrai sottolineare, aggiungere note, ridimensionare il testo e molto altro per un’esperienza di lettura più adatta a te.' }\r\n ];\r\n\r\n const faqs = [\r\n {\r\n q: \"E' possibile visualizzare una guida alle funzionalità del prodotto?\",\r\n a: \"Le consigliamo il video tutorial al seguente link: <a href='https://youtu.be/lFzKxwmEbEg' target='_blank'>https://youtu.be/lFzKxwmEbEg</a>\"\r\n },\r\n {\r\n q: \"Come faccio a sapere di quali volumi è composto un pacchetto di abbonamento?\",\r\n a: \"Basta andare nella pagina relativa al pacchetto di abbonamento per visualizzare tutti i volumi che, fino a quel momento, sono stati pubblicati e integrati nel pacchetto.\"\r\n },\r\n {\r\n q: \"I volumi presenti in un pacchetto di abbonamento cambiano nel tempo?\",\r\n a: \"Sì. I pacchetti sono aggiornati con i nuovi volumi pubblicati, in base ai criteri definiti dall'Editore.\"\r\n },\r\n {\r\n q: \"Book24ORE è un sito di e-commerce o una piattaforma di consultazione?\",\r\n a: \"Entrambi. Book24ORE è un catalogo on line relativo a tutte le novità editoriali per il mondo professionale: commercialisti, avvocati, consulenti del lavoro, professionisti tecnici, dipendenti e funzionari della pubblica amministrazione. È possibile consultare l'indice, la descrizione, il profilo autorale, e visualizzare in anteprima alcune porzioni del testo, oltre a effettuare l'acquisto dei pacchetti in abbonamento. <br /> Book24ORE è anche una piattaforma di consultazione dei volumi acquistati, accessibile da tutti i device. Oltre ai testi, sarà possibile accedere a contenuti integrativi e di arricchimento, ove previsto dall'Editore.\"\r\n },\r\n {\r\n q: \"Come faccio a sapere quali libri fanno parte della mia biblioteca?\",\r\n a: \"È sufficiente andare nella sezione 'I miei libri' dopo aver effettuato la login. L'area mostrerà tutti i volumi che rientrano nel proprio abbonamento, oltre a quelli acquistati o attivati singolarmente.\"\r\n },\r\n {\r\n q: \"In quali formati sono consultabili i volumi su Book24ORE?\",\r\n a: \"Book24ORE gestisce pubblicazioni in diversi formati: pdf, html a edizione e html in aggiornamento continuo.\"\r\n },\r\n {\r\n q: \"Come distinguo i volumi 'in aggiornamento' da quelli a 'edizione'?\",\r\n a: \"I primi riportano l'indicazione 'data di aggiornamento' accanto alla data; i secondi, l'indicazione 'data di pubblicazione'.\"\r\n },\r\n {\r\n q: \"Cosa caratterizza i volumi 'in aggiornamento'?\",\r\n a: \"Book24ORE permette di annotare, taggare, evidenziare i testi, oltre a inserire i segnalibri. Sarà inoltre possibile effettuare una ricerca all'interno delle note, dei tag e dei segnalibri, sia all'interno del singolo volume che all'interno di tutti i volumi del proprio abbonamento. <br /> Queste funzionalità sono possibili esclusivamente sui volumi in html a edizione. <br /> È inoltre possibile copiare porzioni di testo su tutti i formati.\"\r\n },\r\n {\r\n q: \"Ho acquistato un volume con QRcode. Come faccio ad accedere alla versione on line?\",\r\n a: \"Basta accedere alla sezione «Attiva un libro» nel menu in alto a destra e inquadrare il QR Code, dopo aver abilitato - se necessario - la camera del PC/Mobile. <br /> Per accedere al servizio, è necessario essere registrato ai servizi del Sole 24 Ore. Una volta completata la registrazione (in caso di nuovo utente) o inserite le credenziali (per i già registrati), sarà possibile accedere alla versione digitale del libro e a eventuali contenuti aggiuntivi accedendo all'area «I miei libri» del sito Book24ORE da qualsiasi device.\"\r\n }\r\n ];\r\n\r\n useEffect(() => {\r\n document.body.classList.remove('is-drawer-in');\r\n }, []);\r\n\r\n useEffect(() => {\r\n\r\n if (window.utag === null || window.utag === undefined) return;\r\n\r\n updateView(\"book24ore:faq\", authCtx, tokenCtx, \"book24ore:faq\");\r\n\r\n }, [tokenCtx.token, authCtx.isLoggedIn, window.utag]);\r\n\r\n useEffect(() => {\r\n setShowSessione(localStorage.getItem(\"showModalSessione\") ? true : false);\r\n });\r\n useManageBodyClasses();\r\n\r\n return (\r\n <React.Fragment>\r\n <Wrapper>\r\n <Header showSecondRow={false} classSticky={\"sticky\"} isIntegrateInBD={props.isIntegrateInBD}></Header>\r\n {authCtx.showLoginModal && <LoginModal show={authCtx.showLoginModal}></LoginModal>}\r\n {tokenCtx.showMessageSiac && <MessageManageSiac show={tokenCtx.showMessageSiac}></MessageManageSiac>}\r\n {showSessione && <SessioneScaduta show={showSessione} closeModal={(dismiss) => { setShowModal(dismiss.showModal) }}></SessioneScaduta>}\r\n <div className=\"main-content \">\r\n <FaqWrapper>\r\n <h1 className=\"faqpage-title\">\r\n Scopri Book<span className=\"faqpage-title-light\">24ORE</span>\r\n </h1>\r\n <p className=\"faqpage-text\">\r\n Book24ORE è la nuova biblioteca professionale del Sole 24 ORE. La piattaforma raccoglie l'ampio patrimonio di pubblicazioni - manuali, guide pratiche, instant - edito dal Sole 24 ORE per il mondo professionale.\r\n </p>\r\n <div className=\"faqpage-feature\">\r\n <div className=\"row\">\r\n {faqCards && faqCards.map((card, index) => (\r\n <FaqCard card={card} key={index} />\r\n ))}\r\n </div>\r\n </div>\r\n </FaqWrapper>\r\n\r\n <FaqWrapper isLight={true}>\r\n <h2 className=\"faqpage-title faqpage-title--small\">\r\n Hai delle domande? Abbiamo delle risposte\r\n </h2>\r\n <p className=\"faqpage-text\">\r\n Continuiamo a migliorare le funzionalità che offriamo ai nostri lettori e abbonati, per fornire loro un servizio sempre pronto a rispondere alle loro esigenze.\r\n </p>\r\n <div className=\"faqpage-list\">\r\n <ul className=\"list list--mid\">\r\n {faqs && faqs.map((faq, index) => (\r\n <FaqListItem faq={faq} index={index} key={index} />\r\n ))}\r\n </ul>\r\n </div>\r\n </FaqWrapper>\r\n </div>\r\n\r\n <Footer isIntegrateInBD={props.isIntegrateInBD}></Footer>\r\n <Ricerca></Ricerca>\r\n </Wrapper>\r\n </React.Fragment>\r\n )\r\n}\r\n\r\nexport default FAQ","import React from 'react'\r\nimport { useContext } from 'react';\r\nimport { NavLink, useParams } from 'react-router-dom';\r\nimport { convertThemeAreaForLink } from '../../helper/castingObject';\r\nimport GetDocumentContext from '../../store/get-documento';\r\n\r\nconst ExplorerDocItem = ({ doc }) => {\r\n\r\n const { title } = useParams();\r\n const documentCtx = useContext(GetDocumentContext);\r\n\r\n const urlNtPro = convertThemeAreaForLink(documentCtx.prodotto.areaTematicaList[0].titleArea);\r\n let indice = \"\";\r\n\r\n return (\r\n <li className=\"list-item\">\r\n <NavLink\r\n className=\"bdcard\"\r\n /*target={\"_blank\"}*/\r\n to={`/ntPro/${title}/${urlNtPro}/${doc.idDoc}`}>\r\n {(doc.family || doc.subfamily) &&\r\n <div className=\"ncard-fam \">\r\n <h4 className=\"h-meta\">\r\n <div dangerouslySetInnerHTML={{ __html: doc.upTitle }} />\r\n {/*doc.family && <span className=\"upper\">Famiglia</span>}\r\n {doc.family && doc.subfamily && <span className=\"pipe\">|</span>}\r\n {doc.subfamily && <span className=\"serif italic\">Sottofamiglia</span>*/}\r\n </h4>\r\n </div>\r\n }\r\n <div className=\"ncard\">\r\n {doc.object &&\r\n <h3 className=\"ncard-title serif\">\r\n <div dangerouslySetInnerHTML={{ __html: doc.object }} />\r\n </h3>\r\n }\r\n {/*<p className=\"ncard-text\">\r\n <div dangerouslySetInnerHTML={{ __html: doc.text }} />\r\n </p>*/}\r\n {(doc.family || doc.subFamily) &&\r\n <p className=\"ncard-meta ncard-meta-img\">\r\n <img className=\"retina\" src=\"https://misc.hellobnkr.it/smart24/placeholder/24x24@2x.png\" alt=\"Prodotto\" width=\"24\" height=\"24\" />\r\n {doc.family && <span className=\"strong\">{doc.family}</span>}\r\n {(doc.family && doc.subFamily) && <span className=\"pipe\">|</span>}\r\n {doc.subFamily && <time>{doc.subFamily}</time>}\r\n </p>\r\n }\r\n </div>\r\n </NavLink>\r\n </li>\r\n )\r\n}\r\n\r\nexport default ExplorerDocItem","import React from 'react'\r\nimport ExplorerDocItem from './ExplorerDocItem';\r\nimport ExplorerFolderItem from './ExplorerFolderItem';\r\n\r\nconst BDExplorerList = (props) => {\r\n\r\n //const docs = props.levels?.filter((level) => level.Leaf );\r\n const folders = props.levels?.filter((level) => !(level.Leaf) );\r\n\r\n return (\r\n <ul className=\"list list--large\">\r\n\r\n {props.documentsByLeaf && props.documentsByLeaf.map((doc, i) => (\r\n <ExplorerDocItem doc={doc} key={Math.random()}/> \r\n ))}\r\n\r\n {/*folders && !props.documentsByLeaf && folders.map((folder, i) => (\r\n <ExplorerFolderItem folder={folder} key={Math.random()}/>\r\n ))*/}\r\n\r\n </ul>\r\n )\r\n}\r\n\r\nexport default BDExplorerList","import React from 'react'\r\nimport BDExplorerList from './BDExplorerList'\r\nimport BDSearch from './BDSearch'\r\n\r\nconst BDExplorer = (props) => {\r\n return (\r\n <React.Fragment>\r\n <div className='col-lg-8 bdindex-explorer'>\r\n {\r\n props.documentsByLeaf && props.documentsByLeaf.length>0 &&\r\n <div className=\"bdindex-scroll\">\r\n {/*<BDSearch/>*/}\r\n <BDExplorerList levels={props.levels} documentsByLeaf={props.documentsByLeaf}/>\r\n </div>\r\n \r\n }\r\n {\r\n (!props.documentsByLeaf || props.documentsByLeaf.length===0) &&\r\n <div class=\"bdindex-empty\">\r\n <img className=\"img-fluid\" src=\"../../../dist/img/indice.png\" alt=\"\"/>\r\n </div>\r\n }\r\n </div>\r\n </React.Fragment>\r\n )\r\n}\r\n\r\nexport default BDExplorer","import React, { useContext, useState } from 'react';\r\nimport TreeNode from '../classes/TreeNode';\r\nimport { config } from '../constants/Constants';\r\nimport { bodyFormattedLeafDocuments, bodyFormattedSumm, castArrayForFE, formattedLeafArrayForFE } from '../helper/helperFunctionGetDocument';\r\nimport useHttpRequest from '../hooks/http-request';\r\nimport TokenContext from './token-context';\r\n\r\nconst TreeContext = React.createContext({\r\n idDocument: null,\r\n order: null,\r\n expanded: [\"0\"],\r\n index: null,\r\n navBar: [''],\r\n array: [],\r\n selected: \"0\",\r\n newLeafArray: [],\r\n tree: new TreeNode({\r\n id: \"0\",\r\n name: \"\",\r\n children: \"\",\r\n leaf: false,\r\n parent: \"0\",\r\n livello: 0\r\n })\r\n})\r\n\r\nexport const TreeContextProvider = (props) => {\r\n\r\n const [idDocument, setIdDocument] = useState(null);\r\n const [order, setOrder] = useState(null);\r\n const [expanded, setExpanded] = useState([\"0\"]);\r\n const [navBar, setNavBar] = useState([]);\r\n const [array, setArray] = useState([]);\r\n const [selected, setSelected] = useState(\"0\");\r\n const [newLeafArray, setNewLeafArray] = useState([]);\r\n const [tree, setTree] = useState({});\r\n const [elementHtml, setElementHtml] = useState(-1);\r\n const [goToElementId, setGoToElementId] = useState(\"-1\");\r\n\r\n\r\n const sendRqst = useHttpRequest();\r\n const tokenCtx = useContext(TokenContext);\r\n\r\n const settingsInitialStateConfig = (title, sommario, order, idDocument) => {\r\n\r\n setNavBar([{ el: title.replaceAll(\"-\", \" \"), id: \"0\" }])\r\n setTree(new TreeNode({\r\n id: \"0\",\r\n name: title.replaceAll(\"-\", \" \"),\r\n children: sommario,\r\n leaf: false,\r\n parent: \"0\",\r\n livello: 0\r\n }));\r\n setOrder(order);\r\n setIdDocument(idDocument);\r\n setElementHtml(-1);\r\n }\r\n\r\n const handleChangeConfig = (event, nodeId, label) => {\r\n\r\n const node = tree.search(nodeId);\r\n\r\n if (event !== undefined) {\r\n\r\n setElementHtml(event.target.getAttribute(\"data-value\"));\r\n }\r\n\r\n if (expanded.find(el => el === nodeId && node && node.children.length > 0)) {\r\n const index = expanded.indexOf(nodeId);\r\n const newArray = [...expanded];\r\n newArray.splice(index);\r\n setExpanded(newArray);\r\n\r\n const indexNavBar = navBar.map(el => el.el).indexOf(node.name);\r\n const newArrayNavBar = [...navBar];\r\n if (nodeId === \"0\") {\r\n newArrayNavBar.splice(indexNavBar + 1);\r\n setNavBar(newArrayNavBar);\r\n setSelected(node.parent);\r\n return;\r\n }\r\n newArrayNavBar.splice(indexNavBar);\r\n setNavBar(newArrayNavBar);\r\n setSelected(node.parent);\r\n }\r\n else if (!expanded.find(el => el === nodeId) && node && node.children.length > 0) {\r\n setSelected(nodeId);\r\n setExpanded([...expanded, nodeId]);\r\n if (nodeId !== \"0\") {\r\n setNavBar([...navBar, { el: node.name, id: nodeId }])\r\n }\r\n }\r\n else if (node && !node.children.length) {\r\n\r\n const settingChildren = (data) => {\r\n const array = castArrayForFE(data.Result.Nodes);\r\n setTree(tree.addChildren(array, nodeId));\r\n setSelected(nodeId);\r\n setExpanded([...expanded, nodeId]);\r\n if (nodeId !== \"0\") {\r\n setNavBar([...navBar, { el: node.name, id: nodeId }]);\r\n setArray(array);\r\n }\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getTaxonomy,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormattedSumm(order, nodeId, tokenCtx, 'banche dati')),\r\n method: \"POST\"\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, settingChildren);\r\n }\r\n }\r\n\r\n const getDocumentLeafConfig = (event) => {\r\n\r\n const nodeId = event.currentTarget.dataset.value;\r\n\r\n if (event !== undefined) {\r\n setElementHtml(event.target.getAttribute(\"data-value\"));\r\n }\r\n\r\n const settingDocumentListFromLeaf = (data) => {\r\n if (data.Result?.Documents?.length === 0) return;\r\n\r\n setNewLeafArray(formattedLeafArrayForFE(data.Result.Documents));\r\n }\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getDocumentsByLeaf,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormattedLeafDocuments(order, nodeId, tokenCtx, 'banche dati')),\r\n method: \"POST\"\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, settingDocumentListFromLeaf);\r\n }\r\n\r\n const setElementHtmlByChangeRouteConfig = (element) => {\r\n setElementHtml(element);\r\n }\r\n\r\n const setElementIdConfig = (id) => {\r\n setGoToElementId(id);\r\n }\r\n\r\n const contextValue = {\r\n expanded: expanded,\r\n navBar: navBar,\r\n array: array,\r\n selected: selected,\r\n tree: tree,\r\n newLeafArray: newLeafArray,\r\n idDocument: idDocument,\r\n elementHtml: elementHtml,\r\n goToElementId: goToElementId,\r\n handleChange: handleChangeConfig,\r\n getDocumentLeaf: getDocumentLeafConfig,\r\n settingsInitialState: settingsInitialStateConfig,\r\n setElementHtmlByChangeRoute: setElementHtmlByChangeRouteConfig,\r\n setElementId: setElementIdConfig\r\n };\r\n\r\n return <TreeContext.Provider value={contextValue}>{props.children}</TreeContext.Provider>\r\n}\r\n\r\nexport default TreeContext;","import React, { useContext } from \"react\";\r\nimport TreeContext from \"../../store/context-tree\";\r\n\r\nconst BDNavbarElement = (props) => {\r\n\r\n const treeCtx = useContext(TreeContext);\r\n\r\n return (\r\n <React.Fragment>\r\n <li className=\"list-inline-item bdindex-nav-list-item\">\r\n <a className=\"bdindex-nav-link \" role=\"button\" onClick={ev => {\r\n ev.preventDefault();\r\n treeCtx.setElementId(props.el.id);\r\n }}>\r\n {props.el.el}\r\n </a>\r\n </li>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default BDNavbarElement;","import React from 'react'\r\nimport BDNavbarElement from './BDNavbarElement'\r\n\r\nconst BDNavbar = (props) => {\r\n\r\n const listNav = props.navBarList;\r\n\r\n return (\r\n <div className=\"bdindex-nav\">\r\n <div className=\"container-fluid\">\r\n <ul className=\"list-inline bdindex-nav-list\">\r\n {listNav !== null && listNav !== undefined &&\r\n listNav.map(el => (\r\n <BDNavbarElement el={el} key={Math.random()}></BDNavbarElement>\r\n ))\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default BDNavbar","import React from 'react'\r\n\r\nconst Expander = () => {\r\n\r\n const expandedBDIndx = () => {\r\n let expandOrCollapse = document.body.getElementsByClassName(\"bdindex\");\r\n\r\n if(expandOrCollapse[0].className.includes(\"is-expanded\")){\r\n expandOrCollapse[0].classList.remove(\"is-expanded\");\r\n return;\r\n }\r\n\r\n expandOrCollapse[0].classList.add(\"is-expanded\");\r\n };\r\n\r\n return (\r\n <a className=\"bdindex-tree-expander\" role={\"button\"} /*data-toggle-class=\"is-expanded\"*/ onClick={expandedBDIndx}>\r\n <span className=\"bdindex-tree-expander-icon\"></span>\r\n </a>\r\n )\r\n}\r\n\r\nexport default Expander","import React, { useEffect, useState } from 'react'\r\nimport CurrentLevel from './CurrentLevel'\r\nimport Expander from './Expander'\r\nimport { useParams } from 'react-router'\r\nimport { useContext } from 'react'\r\nimport { TreeItem, TreeView } from '@material-ui/lab'\r\nimport TreeNode from '../../classes/TreeNode'\r\nimport TreeContext from '../../store/context-tree'\r\nimport useContextMenu from '../../hooks/useContextMenu'\r\n\r\n\r\n\r\nconst BDTree = (props) => {\r\n\r\n const [index, setIndex] = useState(null);\r\n const treeCtx = useContext(TreeContext);\r\n const { getMobileOperatingSystem } = useContextMenu();\r\n const { id, order, title } = useParams();\r\n\r\n\r\n const [expanded, setExpanded] = useState([\"0\"]);\r\n const [selected, setSelected] = useState(\"0\");\r\n const [updateTree, setUpdateTree] = useState(false);\r\n const [tree, setTree] = useState(new TreeNode({\r\n id: \"0\",\r\n name: title.replaceAll(\"-\", \" \"),\r\n children: props.sommario,\r\n leaf: false,\r\n parent: \"0\",\r\n livello: 0\r\n })\r\n );\r\n\r\n useEffect(() => {\r\n\r\n if (treeCtx.idDocument === id) {\r\n setUpdateTree(true);\r\n return;\r\n }\r\n\r\n treeCtx.settingsInitialState(title, props.sommario, order, id);\r\n\r\n }, [id]);\r\n\r\n useEffect(()=> {\r\n\r\n if(treeCtx.goToElementId === \"-1\" || treeCtx.goToElementId === undefined || tree.children.length === 0) \r\n return;\r\n\r\n const element = document.getElementById(treeCtx.goToElementId);\r\n element.scrollIntoView();\r\n window.scroll(0, 0); \r\n\r\n },[treeCtx.goToElementId, tree])\r\n\r\n useEffect(() => {\r\n\r\n if (Object.keys(treeCtx.tree).length === 0) return;\r\n\r\n setTree(treeCtx.tree);\r\n\r\n }, [treeCtx.tree]);\r\n\r\n useEffect(() => {\r\n\r\n setSelected(treeCtx.selected);\r\n }, [treeCtx.selected]);\r\n\r\n useEffect(() => {\r\n \r\n setExpanded(treeCtx.expanded);\r\n }, [treeCtx.expanded]);\r\n\r\n useEffect(() => {\r\n\r\n if (Object.keys(treeCtx.tree).length === 0 || tree.children.length > 0) {\r\n return;\r\n }\r\n\r\n treeCtx.handleChange(undefined, \"0\", undefined);\r\n\r\n }, [tree])\r\n\r\n useEffect(() => {\r\n\r\n if (!updateTree || tree.children.length === 0) {\r\n return\r\n }\r\n\r\n const element = document.querySelectorAll(`[data-value='${treeCtx.elementHtml}']`);\r\n if(element[0] === undefined) return;\r\n element[0].scrollIntoView();\r\n window.scroll(0, 0);\r\n setUpdateTree(false);\r\n\r\n }, [updateTree, tree])\r\n\r\n const handleChange = (event, nodeId, label) => {\r\n treeCtx.handleChange(event, nodeId, label);\r\n };\r\n\r\n const getDocumentLeaf = (event) => {\r\n treeCtx.getDocumentLeaf(event);\r\n }\r\n const setExpandedLast = (event) => {\r\n const isMobile = getMobileOperatingSystem();\r\n if(!isMobile) return;\r\n setExpanded([]);\r\n }\r\n const dubleFunction = (event) => {\r\n getDocumentLeaf(event);\r\n setExpandedLast(event);\r\n }\r\n const createItemFromTree = (fromTree) => {\r\n\r\n const name = fromTree.name;\r\n\r\n if (fromTree.children.length) {\r\n return (\r\n <React.Fragment>\r\n \r\n <TreeItem\r\n key={fromTree.id}\r\n nodeId={fromTree.id}\r\n id={fromTree.id}\r\n label={\r\n <li className=\"list-lined-item sole-sans\" style={{display: 'block' }}>\r\n <a className=\"bdindex-tree-link\" role={\"button\"}>\r\n <span className=\"icon icon-angle-right icon--status\"></span>\r\n <span className=\"icon icon-folder\"></span>\r\n {name}\r\n </a>\r\n </li>\r\n }\r\n >\r\n <ul className=\"bdindex-list\">\r\n {fromTree.children.length > 0 &&\r\n fromTree.children.map((child) => createItemFromTree(child)\r\n )}\r\n </ul>\r\n </TreeItem>\r\n </React.Fragment >\r\n );\r\n }\r\n return (\r\n <React.Fragment>\r\n {\r\n fromTree.leaf &&\r\n <li key={fromTree.id} className=\"list-lined-item sole-sans last-level\" style={{display: 'block' }}>\r\n <a className=\"bdindex-tree-link\" role={\"button\"} onClick={dubleFunction} data-value={fromTree.id}>\r\n <span className=\"icon icon-angle-right icon--status\"></span>\r\n <span className=\"icon icon-folder\"></span>\r\n {fromTree.name}\r\n </a>\r\n </li>\r\n }\r\n {\r\n !fromTree.leaf &&\r\n <TreeItem\r\n key={fromTree.id}\r\n nodeId={fromTree.id}\r\n id={fromTree.id}\r\n label={\r\n <li className=\"list-lined-item sole-sans \" style={{display: 'block' }}>\r\n <a className=\"bdindex-tree-link\" role={\"button\"}>\r\n <span className=\"icon icon-angle-right icon--status\"></span>\r\n <span className=\"icon icon-folder\"></span>\r\n {name}\r\n </a>\r\n </li>\r\n }\r\n />\r\n }\r\n </React.Fragment >\r\n );\r\n };\r\n\r\n return (\r\n <React.Fragment>\r\n <div className=\"col-lg-4 bdindex-tree\">\r\n <div className=\"bdindex-scroll\">\r\n <TreeView\r\n selected={selected}\r\n onNodeSelect={handleChange}\r\n expanded={expanded}\r\n >\r\n {createItemFromTree(tree)}\r\n </TreeView>\r\n </div>\r\n <Expander />\r\n </div>\r\n </React.Fragment>\r\n );\r\n};\r\n\r\nexport default BDTree;","import React, { useContext, useState } from 'react'\r\nimport { useEffect } from 'react';\r\nimport { useNavigate, useParams } from 'react-router-dom';\r\nimport BDExplorer from '../components/BancheDati/BDExplorer';\r\nimport BDNavbar from '../components/BancheDati/BDNavbar';\r\nimport BDTree from '../components/BancheDati/BDTree';\r\nimport Footer from '../components/Footer/Footer';\r\nimport Header from '../components/Header/Header';\r\nimport Ricerca from '../components/Header/Ricerca/Ricerca';\r\nimport HeaderReader from '../components/HeaderReader/HeaderReader';\r\nimport Wrapper from '../components/Helper/Wrapper/Wrapper';\r\nimport LoginModal from '../components/Modals/Login';\r\nimport MessageManageSiac from '../components/Modals/MessageManageSiac';\r\nimport { config } from '../constants/Constants';\r\nimport { bodyFormattedGetTipoView, bodyFormattedReader, chooseBody, chooseDocument, chooseURL, FormattedDocumentForFE, viewContent } from '../helper/helperFunctionReader';\r\nimport useHttpRequest from '../hooks/http-request';\r\nimport useSaveAndDeleteReadingBook from '../hooks/saveAndDeleteReadingBook';\r\nimport useManageBodyClasses from '../hooks/useManageBodyClasses';\r\nimport AuthContext from '../store/auth-context';\r\nimport TreeContext from '../store/context-tree';\r\nimport GetDocumentContext from '../store/get-documento';\r\nimport isLoadingContext from '../store/isLoadingcontext';\r\nimport TokenContext from '../store/token-context';\r\n\r\nconst BDIndex = (props) => {\r\n\r\n const { id, title } = useParams();\r\n const authCtx = useContext(AuthContext);\r\n const tokenCtx = useContext(TokenContext);\r\n const isLoadingCtx = useContext(isLoadingContext);\r\n const documentCtx = useContext(GetDocumentContext);\r\n const treeCtx = useContext(TreeContext);\r\n const sendRqst = useHttpRequest();\r\n const navigate = useNavigate();\r\n\r\n const [nestedLevels, setNestedLevels] = useState(null);\r\n const [documentsByLeaf, setDocumentsByLeaf] = useState(null);\r\n const [tipoDocument, setTipoDocument] = useState('');\r\n const saveDeleteB = useSaveAndDeleteReadingBook();\r\n const [documentReturns, setDocumentReturns] = useState({});\r\n const [navBarList, setNavBarList] = useState([]);\r\n\r\n useEffect(() => {\r\n setNestedLevels(treeCtx.array);\r\n setNavBarList(treeCtx.navBar);\r\n\r\n }, [treeCtx.navBar, treeCtx.array]);\r\n\r\n const getDocumentsByLeaf = (documentsLeaf) => {\r\n setDocumentsByLeaf(documentsLeaf);\r\n }\r\n\r\n useEffect(() => {\r\n\r\n setDocumentsByLeaf(treeCtx.newLeafArray);\r\n\r\n }, [treeCtx.newLeafArray]);\r\n\r\n useEffect(() => {\r\n\r\n let getProduct = setTimeout(() => {\r\n documentCtx.getDocumentoFromId(id);\r\n }, 200);\r\n\r\n return () => {\r\n clearTimeout(getProduct);\r\n };\r\n }, [id]);\r\n\r\n useEffect(() => {\r\n\r\n isLoadingCtx.setIfIsLoading(true);\r\n\r\n const tipoDocument = (data) => {\r\n\r\n let typeDocument = null;\r\n\r\n if (data.Result.ResultSet.Root === null) {\r\n setTipoDocument(typeDocument);\r\n return;\r\n }\r\n\r\n const getTipoV = data.Result.ResultSet.Root[0];\r\n typeDocument = chooseDocument(getTipoV.tipo);\r\n\r\n setTipoDocument(typeDocument);\r\n const showPremiumContent = viewContent(getTipoV, tokenCtx);\r\n loadDocument(typeDocument, getTipoV.pdfurl, showPremiumContent, getTipoV.comprato);\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormattedGetTipoView(config.nameList.tipoDocument, id, tokenCtx)),\r\n method: \"POST\"\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, tipoDocument);\r\n\r\n }, [id, tokenCtx.token]);\r\n\r\n useEffect(() => {\r\n\r\n if (tokenCtx.token === null || tokenCtx.token === undefined) {\r\n navigate('/')\r\n }\r\n\r\n }, [tokenCtx])\r\n\r\n const testataHtml = (id, dataRes, typeDocument, showPremiumContent) => {\r\n\r\n const setTestataDocumentHtml = (data) => {\r\n\r\n let document = data.Result.ResultSet;\r\n if (document === null) {\r\n isLoadingCtx.setIfIsLoading(false);\r\n return;\r\n }\r\n document = document.Root[0];\r\n\r\n document = {\r\n Section: document.sezione,\r\n ChapterTitle: document.titolo,\r\n Date: document.data,\r\n page: document.pagina,\r\n Author: document.autore,\r\n TaxType: document.titolo,\r\n Immagine: document.immagine\r\n };\r\n\r\n document = { ...document, ...dataRes };\r\n const res = FormattedDocumentForFE(document, typeDocument, showPremiumContent)\r\n setDocumentReturns(res);\r\n saveDeleteB.setSaveBook(config.nameList.leggendo, { prop1: parseInt(res.idProvv), prop2: parseInt(res.idDocType), prop3: parseInt(res.id) }, showPremiumContent);\r\n };\r\n\r\n const bodyFormatted = bodyFormattedReader(id, config.nameList.getTestataHtml, tokenCtx);\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, setTestataDocumentHtml);\r\n };\r\n\r\n const loadDocument = (typeDocument, pdfUrl, showPremiumContent, isComprato) => {\r\n\r\n const setDocumentJson = (data) => {\r\n\r\n let document = {};\r\n\r\n if (typeDocument !== 'Sistema Frizzera') {\r\n testataHtml(data.Result.DocumentId, data.Result, typeDocument, showPremiumContent);\r\n return;\r\n }\r\n\r\n document = data.Result;\r\n\r\n const res = FormattedDocumentForFE(document, typeDocument, showPremiumContent);\r\n setDocumentReturns(res);\r\n };\r\n\r\n const bodyFormatted = chooseBody(typeDocument, id, tokenCtx.token, isComprato);\r\n\r\n if (bodyFormatted === null)\r\n return;\r\n\r\n const url = chooseURL(typeDocument);\r\n\r\n const request = {\r\n url: url,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: \"POST\"\r\n }\r\n }\r\n\r\n sendRqst.sendRequest(request, setDocumentJson);\r\n };\r\n\r\n document.body.classList.remove(\"is-drawer-in\");\r\n useManageBodyClasses();\r\n\r\n return (\r\n <React.Fragment>\r\n <Wrapper>\r\n {authCtx.showLoginModal && <LoginModal show={authCtx.showLoginModal}></LoginModal>}\r\n {tokenCtx.showMessageSiac && <MessageManageSiac show={tokenCtx.showMessageSiac}></MessageManageSiac>}\r\n <HeaderReader page='summary'\r\n title={documentReturns.title_book}\r\n tipoDocument={tipoDocument}\r\n img={documentReturns.img}\r\n isReader={true}\r\n idDoc={documentReturns.id}\r\n idProv={documentReturns.idProvv}\r\n idDocType={documentReturns.idDocType}\r\n isIntegrateInBD={props.isIntegrateInBD}\r\n />\r\n\r\n <div className=\"main-content \">\r\n <BDNavbar navBarList={navBarList} />\r\n\r\n <div className=\"bdindex\" data-toggle-class-target>\r\n <div className=\"container-fluid\">\r\n <div className=\"row\">\r\n <BDTree getDocumentsByLeaf={getDocumentsByLeaf} navBarList={navBarList} />\r\n <BDExplorer levels={nestedLevels} documentsByLeaf={documentsByLeaf} />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <Footer isIntegrateInBD={props.isIntegrateInBD}></Footer>\r\n <Ricerca isReader={true}\r\n img={documentReturns.img}\r\n title={documentReturns.title_book}\r\n tipoDocument={tipoDocument}\r\n id={id}\r\n idProvvedimento={documentReturns.idProvv}\r\n idDocType={documentReturns.idDocType} />\r\n </Wrapper>\r\n </React.Fragment>\r\n\r\n )\r\n}\r\n\r\nexport default BDIndex","import React, { useContext, useEffect, useState } from 'react'\r\nimport { useNavigate, useParams } from 'react-router';\r\nimport Footer from '../components/Footer/Footer';\r\nimport Ricerca from '../components/Header/Ricerca/Ricerca';\r\nimport HeaderReader from '../components/HeaderReader/HeaderReader';\r\nimport Wrapper from '../components/Helper/Wrapper/Wrapper';\r\nimport LoginModal from '../components/Modals/Login';\r\nimport SessioneScaduta from \"../components/Modals/SessioneScaduta\";\r\nimport MessageManageSiac from '../components/Modals/MessageManageSiac';\r\nimport { config } from '../constants/Constants';\r\nimport { bodyFormattedGetTipoView, bodyFormattedReader, chooseBody, chooseDocument, chooseURL, FormattedDocumentForFE, viewContent } from '../helper/helperFunctionReader';\r\nimport useHttpRequest from '../hooks/http-request';\r\nimport useSaveAndDeleteReadingBook from '../hooks/saveAndDeleteReadingBook';\r\nimport useManageBodyClasses from '../hooks/useManageBodyClasses';\r\nimport AuthContext from '../store/auth-context';\r\nimport isLoadingContext from '../store/isLoadingcontext';\r\nimport TokenContext from '../store/token-context';\r\n\r\nconst Software = (props) => {\r\n\r\n\r\n const authCtx = useContext(AuthContext);\r\n const tokenCtx = useContext(TokenContext);\r\n const navigate = useNavigate();\r\n\r\n const { idDocType, idProv, id } = useParams();\r\n const [tipoDocument, setTipoDocument] = useState(null);\r\n const sendRqst = useHttpRequest();\r\n const saveDeleteB = useSaveAndDeleteReadingBook();\r\n const isLoadingCtx = useContext(isLoadingContext);\r\n const [documentReturns, setDocumentReturns] = useState({});\r\n\r\n const [enrichment, setEnrichment] = useState(null);\r\n const [showSessione, setShowSessione] = useState(false);\r\n const [showModal, setShowModal] = useState(true);\r\n useEffect(() => {\r\n setShowSessione(localStorage.getItem(\"showModalSessione\") ? true : false);\r\n });\r\n useEffect(() => {\r\n\r\n if ([tokenCtx.arricchimenti].length === 0) return;\r\n\r\n tokenCtx.arricchimenti.forEach(element => {\r\n if (element['@idProvvedimento'] === idProv && element['@iddoctype'] === idDocType) {\r\n let obj = {\r\n title: element['@titolo'],\r\n text1: element['@descrizione'],\r\n text2: element['@avvertenze'],\r\n link: element['@link'],\r\n nameButton: element['@bottone']\r\n };\r\n setEnrichment(obj);\r\n }\r\n });\r\n\r\n }, [tokenCtx.arricchimenti]);\r\n\r\n useEffect(() => {\r\n\r\n isLoadingCtx.setIfIsLoading(true);\r\n const tipoDocument = (data) => {\r\n\r\n let typeDocument = null;\r\n\r\n\r\n if (data.Result.ResultSet.Root === null) {\r\n setTipoDocument(typeDocument);\r\n return;\r\n }\r\n\r\n const getTipoV = data.Result.ResultSet.Root[0];\r\n typeDocument = chooseDocument(getTipoV.tipo);\r\n\r\n setTipoDocument(typeDocument);\r\n const showPremiumContent = viewContent(getTipoV, tokenCtx);\r\n loadDocument(typeDocument, getTipoV.pdfurl, showPremiumContent, getTipoV.comprato);\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormattedGetTipoView(config.nameList.tipoDocument, id, tokenCtx)),\r\n method: \"POST\"\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, tipoDocument);\r\n\r\n }, [id, tokenCtx.token]);\r\n\r\n useEffect(() => {\r\n\r\n if (tokenCtx.token === null || tokenCtx.token === undefined) {\r\n navigate('/')\r\n }\r\n\r\n }, [tokenCtx])\r\n\r\n const testataHtml = (id, dataRes, typeDocument, showPremiumContent) => {\r\n\r\n const setTestataDocumentHtml = (data) => {\r\n\r\n let document = data.Result.ResultSet;\r\n if (document === null) {\r\n isLoadingCtx.setIfIsLoading(false);\r\n return;\r\n }\r\n document = document.Root[0];\r\n\r\n document = {\r\n Section: document.sezione,\r\n ChapterTitle: document.titolo,\r\n Date: document.data,\r\n page: document.pagina,\r\n Author: document.autore,\r\n TaxType: document.titolo,\r\n Immagine: document.immagine\r\n };\r\n\r\n document = { ...document, ...dataRes };\r\n const res = FormattedDocumentForFE(document, typeDocument, showPremiumContent)\r\n setDocumentReturns(res);\r\n saveDeleteB.setSaveBook(config.nameList.leggendo, { prop1: parseInt(res.idProvv), prop2: parseInt(res.idDocType), prop3: parseInt(res.id) }, showPremiumContent);\r\n };\r\n\r\n const bodyFormatted = bodyFormattedReader(id, config.nameList.getTestataHtml, tokenCtx);\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, setTestataDocumentHtml);\r\n };\r\n\r\n const loadDocument = (typeDocument, pdfUrl, showPremiumContent, isComprato) => {\r\n\r\n const setDocumentJson = (data) => {\r\n\r\n let document = {};\r\n\r\n if (typeDocument !== 'Sistema Frizzera') {\r\n testataHtml(data.Result.DocumentId, data.Result, typeDocument, showPremiumContent);\r\n return;\r\n }\r\n\r\n document = data.Result;\r\n\r\n const res = FormattedDocumentForFE(document, typeDocument, showPremiumContent);\r\n setDocumentReturns(res);\r\n };\r\n\r\n const bodyFormatted = chooseBody(typeDocument, id, tokenCtx.token, isComprato);\r\n\r\n if (bodyFormatted === null)\r\n return;\r\n\r\n const url = chooseURL(typeDocument);\r\n\r\n const request = {\r\n url: url,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: \"POST\"\r\n }\r\n }\r\n\r\n sendRqst.sendRequest(request, setDocumentJson);\r\n };\r\n\r\n const openInNewTab = () => {\r\n window.open(enrichment.link);\r\n }\r\n\r\n useManageBodyClasses();\r\n\r\n return (\r\n <React.Fragment>\r\n <Wrapper>\r\n {authCtx.showLoginModal && <LoginModal show={authCtx.showLoginModal}></LoginModal>}\r\n {tokenCtx.showMessageSiac && <MessageManageSiac show={tokenCtx.showMessageSiac}></MessageManageSiac>}\r\n {showSessione && <SessioneScaduta show={showSessione} closeModal={(dismiss) => { setShowModal(dismiss.showModal) }}></SessioneScaduta>}\r\n <HeaderReader\r\n page='summary'\r\n title={documentReturns.upTitlLeft}\r\n tipoDocument={tipoDocument}\r\n img={documentReturns.img}\r\n isReader={true}\r\n idDoc={documentReturns.id}\r\n idProv={documentReturns.idProvv}\r\n idDocType={documentReturns.idDocType}\r\n isIntegrateInBD={props.isIntegrateInBD}\r\n />\r\n\r\n <div className=\"main-content\">\r\n <section className=\"section\">\r\n <div className='container'>\r\n {enrichment &&\r\n <>\r\n <div className='enrichment-head'>\r\n <h1 className='page-title sole-sans enrichment-title'>{enrichment.title}</h1>\r\n <div className='btn-wlabel'>\r\n <a className=\"btn btn--black btn--big btn--full btn--shadow\" role=\"button\" onClick={openInNewTab}>\r\n {`${enrichment.nameButton ?? \"Scarica\"}`}\r\n </a>\r\n {/*<NavLink target=\"_blank\" to={`/${}`}></NavLink>*/}\r\n </div>\r\n </div>\r\n {enrichment.text1 &&\r\n <>\r\n <h2 className='section-title ml-0'>Descrizione</h2>\r\n <p className='page-txt'>\r\n {enrichment.text1}\r\n </p>\r\n </>\r\n }\r\n {enrichment.text2 &&\r\n <>\r\n <h2 className='section-title ml-0'>Avvertenze</h2>\r\n <p className='page-txt'>\r\n {enrichment.text2}\r\n </p>\r\n </>\r\n }\r\n </>\r\n }\r\n </div>\r\n </section>\r\n </div>\r\n\r\n <Footer isIntegrateInBD={props.isIntegrateInBD}></Footer>\r\n <Ricerca isReader={true}\r\n img={documentReturns.img}\r\n title={documentReturns.title_book}\r\n tipoDocument={tipoDocument}\r\n id={id}\r\n idProvvedimento={idProv}\r\n idDocType={idDocType}\r\n />\r\n </Wrapper>\r\n </React.Fragment>\r\n )\r\n}\r\n\r\nexport default Software;","import React from \"react\";\r\nimport { updateLink } from \"../../../helper/TealiumHelper\";\r\n\r\nconst GenericBox = (props) => {\r\n\r\n return (\r\n <React.Fragment>\r\n <section className=\"section \">\r\n <div className=\"container\">\r\n <div className=\"boxcta\">\r\n <span className=\"boxcta-txt\">\r\n {props.text}\r\n </span>\r\n <div className=\"boxcta-foot\">\r\n <a className=\"btn btn--black btn--icon-right\" href={props.scopriDiPiu} onClick={(ev) => {updateLink({ title: \"scopri-di-più\", name: \"\" }, \"Box cta\") }}>\r\n Scopri di più <span className=\"icon icon-arrow-right-small\"></span>\r\n </a>\r\n </div>\r\n <figure className=\"boxcta-img\">\r\n <img className=\"img-cover\" src={props.imgCover} alt=\"\" />\r\n </figure>\r\n </div>\r\n </div>\r\n </section>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default GenericBox;","import React from \"react\";\r\n\r\nconst PubblicitaBox = (props) => {\r\n\r\n return (\r\n <React.Fragment>\r\n {props.img !== \"\" &&\r\n <div className=\"abox abox--fullwidth section d-none d-lg-block\">\r\n <img src={props.img} alt=\"\" className=\"img-full\" />\r\n </div>\r\n }\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default PubblicitaBox;","import React, { useContext, useEffect, useState } from \"react\";\r\nimport { useParams } from 'react-router-dom';\r\n// Helper\r\nimport GenericBox from \"../Helper/GenericsBox/GenericBox\";\r\nimport Wrapper from \"../Helper/Wrapper/Wrapper\";\r\nimport PubblicitaBox from \"../Helper/PubblicitaBox/PubblicitaBox\";\r\n// Components\r\nimport Header from \"../Header/Header\";\r\nimport Footer from \"../Footer/Footer\";\r\nimport Prodotti from \"../Prodotti/Prodotti\";\r\nimport ListAreaTematica from \"../Prodotti/ThemeArea/ListAreaTematica/ListAreaTematica\";\r\nimport Ricerca from \"../Header/Ricerca/Ricerca\";\r\nimport AuthContext from \"../../store/auth-context\";\r\nimport TokenContext from \"../../store/token-context\";\r\nimport { config } from \"../../constants/Constants\";\r\nimport ManageProductListsContext from \"../../store/manage-products-list-context\";\r\nimport LoginModal from \"../Modals/Login\";\r\nimport Spinner from \"../UI/Spinner/Spinner\";\r\nimport isLoadingContext from \"../../store/isLoadingcontext\";\r\nimport MessageManageSiac from \"../Modals/MessageManageSiac\";\r\nimport { updateView } from \"../../helper/TealiumHelper\";\r\nimport { Helmet, HelmetProvider } from \"react-helmet-async\";\r\nimport { checkSoleaAuth } from '../../helper/helper';\r\nimport { useNavigate } from \"react-router-dom\";\r\nimport SessioneScaduta from \"../Modals/SessioneScaduta\"\r\nimport useHttpRequest from '../../hooks/http-request';\r\n\r\nconst Home = (props) => {\r\n const [ultimeUscite, setUltimeUscite] = useState([]);\r\n const [continuaALeggere, setContinuaALeggere] = useState([]);\r\n const [strumentiPerProfessionisti, setStrumentiPerProfessionisti] = useState([]);\r\n const [proposteDiAbbonamento, setProposteDiAbbonamento] = useState([]);\r\n const [showSessione, setShowSessione] = useState(false);\r\n const [showModal, setShowModal] = useState(true);\r\n const authCtx = useContext(AuthContext);\r\n const tokenCtx = useContext(TokenContext);\r\n const sendRqst = useHttpRequest();\r\n const productListsCtx = useContext(ManageProductListsContext);\r\n const isLoadingCtx = useContext(isLoadingContext);\r\n const { isBookIntegrate } = useParams();\r\n const navigate = useNavigate();\r\n\r\n useEffect(() => {\r\n if(!isBookIntegrate) return;\r\n sessionStorage.setItem(\"isBookIntegrate\", isBookIntegrate)\r\n //SETIsIntegrateInBD(true);\r\n }, [isBookIntegrate]);\r\n useEffect(() => {\r\n\r\n let loadLists = setTimeout(() => {\r\n\r\n productListsCtx.getList(config.nameList.ultimeUscite);\r\n productListsCtx.getList(config.nameList.strumentiProf);\r\n productListsCtx.getList(config.nameList.proposteAbbon);\r\n if (authCtx.username !== \"Utente\") {\r\n productListsCtx.getFindByQuery(config.nameList.leggendo);\r\n }\r\n\r\n if (!isLoadingContext.isLoading) isLoadingCtx.setIfIsLoading(true);\r\n\r\n\r\n }, 200);\r\n\r\n return () => {\r\n clearTimeout(loadLists);\r\n };\r\n\r\n }, [tokenCtx.token, authCtx.username, tokenCtx.userModulesWithId]);\r\n\r\n useEffect(() => {\r\n setUltimeUscite(productListsCtx.ultimeUscite);\r\n }, [productListsCtx.ultimeUscite]);\r\n\r\n useEffect(() => {\r\n setShowSessione(localStorage.getItem(\"showModalSessione\") ? true : false);\r\n });\r\n\r\n useEffect(() => {\r\n setContinuaALeggere(productListsCtx.continuaALeggere);\r\n //isLoadingCtx.setIfIsLoading(false);\r\n }, [productListsCtx.continuaALeggere]);\r\n\r\n useEffect(() => {\r\n setProposteDiAbbonamento(productListsCtx.proposteDiAbbonamento);\r\n }, [productListsCtx.proposteDiAbbonamento]);\r\n\r\n useEffect(() => {\r\n setStrumentiPerProfessionisti(productListsCtx.strumentiPerProfessionisti);\r\n }, [productListsCtx.strumentiPerProfessionisti]);\r\n\r\n /*const deleteProductList = (idForDelete) => {\r\n productListsCtx.deleteProdToContinuaALeggere(idForDelete);\r\n };*/\r\n\r\n useEffect(() => {\r\n isLoadingCtx.setIfIsLoading(false, 1200);\r\n \r\n }, [isLoadingCtx.isLoading]);\r\n\r\n useEffect(() => {\r\n if (!(document.body.className.includes('is-home'))) {\r\n document.body.className += ' is-home';\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n\r\n if (window.utag === null || window.utag === undefined) return;\r\n\r\n updateView(\"book24ore:home\", authCtx, tokenCtx);\r\n\r\n }, [tokenCtx.token, authCtx.isLoggedIn, window.utag])\r\n\r\n useEffect(() => {\r\n const soleauth = checkSoleaAuth();\r\n if((soleauth !== undefined && soleauth !== '' && soleauth !== null) && localStorage.getItem(\"isLoggedIn\") === \"1\" && isLoadingCtx.isLoading){\r\n navigate(`/miei-libri`);\r\n }\r\n \r\n }, [localStorage.getItem(\"isLoggedIn\")]);\r\n return (\r\n <React.Fragment>\r\n <HelmetProvider>\r\n <Helmet>\r\n <title>\"Book24ORE - Il Sole 24 ORE\"</title>\r\n <meta name=\"description\" content=\"Book24 ORE, il nuovo servizio in abbonamento del Gruppo 24 ORE: cerca tra oltre 100 titoli firmati Il Sole 24 Ore in diverse aree tematiche consultabili on line.\" />\r\n <link rel=\"canonical\" href={window.location.href} />\r\n <meta name=\"keywords\" content=\"libri, volumi, informazione professionale, edicola, diritto, fisco, lavoro, aziende, pubblica amministrazione\" />\r\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\r\n <meta property=\"og:title\" content=\"Book24ORE - Il Sole 24 ORE\" />\r\n <meta property=\"og:type\" content=\"article\" />\r\n <meta property=\"og:url\" content=\"https://book24.ilsole24ore.com\" />\r\n <meta property=\"og:image\" content={config.imgGenericOG} />\r\n <meta property=\"og:image:width\" content=\"450\" />\r\n <meta property=\"og:image:height\" content=\"370\" />\r\n <meta property=\"og:site_name\" content=\"Book24ORE - Il Sole 24 ORE\" />\r\n <meta property=\"og:description\" content=\"Book24 ORE, il nuovo servizio in abbonamento del Gruppo 24 ORE: cerca tra oltre 100 titoli firmati Il Sole 24 Ore in diverse aree tematiche consultabili on line.\" />\r\n <meta name=\"twitter:card\" content=\"summary\" />\r\n <meta name=\"twitter:title\" content=\"Book24ORE - Il Sole 24 ORE\" />\r\n <meta name=\"twitter:description\" content=\"Book24 ORE, il nuovo servizio in abbonamento del Gruppo 24 ORE: cerca tra oltre 100 titoli firmati Il Sole 24 Ore in diverse aree tematiche consultabili on line.\" />\r\n <meta name=\"twitter:image\" content={config.imgGenericOG} />\r\n </Helmet>\r\n\r\n <Wrapper>\r\n <Header showSecondRow={true} showLogoSole={true} isDesktop={props.isDesktop} isIntegrateInBD={props.isIntegrateInBD}></Header>\r\n {authCtx.showLoginModal && <LoginModal show={authCtx.showLoginModal}></LoginModal>}\r\n {tokenCtx.showMessageSiac && <MessageManageSiac show={tokenCtx.showMessageSiac}></MessageManageSiac>}\r\n {showSessione && <SessioneScaduta show={showSessione} closeModal={(dismiss) => { setShowModal(dismiss.showModal) }}></SessioneScaduta>}\r\n {isLoadingCtx.isLoading && <Spinner></Spinner>}\r\n <div className=\"main-content\">\r\n <Prodotti title=\"Ultime uscite\"\r\n prodList={ultimeUscite}\r\n isSubscription={false}\r\n isManageable={false}\r\n hasBookmark={false}\r\n sectionClassName=\"\"\r\n classNameCard=\"card card--book \"\r\n dataSlide=\"4\"\r\n dataSlideMd=\"3\"\r\n isProfessionalTool={false}\r\n isAllList={false} />\r\n {authCtx.isLoggedIn && <Prodotti title=\"Continua a leggere\"\r\n prodList={continuaALeggere}\r\n isSubscription={false}\r\n isManageable={true}\r\n hasBookmark={true}\r\n sectionClassName=\"section--light\"\r\n classNameCard=\"card card--book card--action\"\r\n dataSlide=\"4\"\r\n dataSlideMd=\"3\"\r\n isProfessionalTool={false}\r\n isAllList={false}\r\n /*deleteProductList={deleteProductList}*/\r\n />}\r\n <ListAreaTematica />\r\n {!tokenCtx.token && \r\n <GenericBox\r\n text=\"Book24ORE è la biblioteca digitale del Sole 24 Ore con centinaia di libri specializzati e tutti i fascicoli di attualità per i professionisti. Scegli tra i vari pacchetti proposti per area tematica e per tipologia e scopri tutte le funzionalità .\"\r\n scopriDiPiu={config.linkScopriDiPiu}\r\n imgCover=\"dist\\img\\fascia--scopri-di-piu.png\"\r\n />\r\n }\r\n <Prodotti title=\"Proposte di abbonamento\"\r\n prodList={proposteDiAbbonamento}\r\n isSubscription={true}\r\n isManageable={false}\r\n hasBookmark={false}\r\n sectionClassName=\"\"\r\n classNameCard=\"card card--book \"\r\n dataSlide=\"4\"\r\n dataSlideMd=\"3\"\r\n isProfessionalTool={false}\r\n isAllList={false}\r\n isAbbonamento={true} />\r\n <PubblicitaBox img={config.imgAdv} />\r\n <Prodotti title=\"Strumenti per i professionisti\"\r\n prodList={strumentiPerProfessionisti}\r\n isSubscription={true}\r\n isManageable={false}\r\n hasBookmark={false}\r\n sectionClassName=\"\"\r\n classNameCard=\"card card--tool\"\r\n dataSlide=\"3\"\r\n dataSlideMd=\"2\"\r\n isProfessionalTool={true}\r\n isAllList={false} />\r\n\r\n </div>\r\n\r\n <Footer isIntegrateInBD={props.isIntegrateInBD}></Footer>\r\n </Wrapper>\r\n <Ricerca></Ricerca>\r\n </HelmetProvider>\r\n </React.Fragment >\r\n );\r\n}\r\n\r\nexport default Home;","import React, { useContext, useEffect, useState } from \"react\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport { config } from \"../../../../constants/Constants\";\r\nimport { titleUrlSlug } from \"../../../../helper/helper\";\r\nimport { updateView } from \"../../../../helper/TealiumHelper\";\r\nimport AuthContext from \"../../../../store/auth-context\";\r\nimport GetDocumentContext from \"../../../../store/get-documento\";\r\nimport TokenContext from \"../../../../store/token-context\";\r\nimport Paragraph from \"../../../UI/Paragraph/Paragraph\";\r\n\r\n\r\nconst SchedaAutori = (props) => {\r\n\r\n const [autori, setAutori] = useState([]);\r\n\r\n const documentoCtx = useContext(GetDocumentContext);\r\n const authCtx = useContext(AuthContext);\r\n const tokenCtx = useContext(TokenContext);\r\n\r\n let { id } = useParams();\r\n\r\n\r\n useEffect(() => {\r\n\r\n if (documentoCtx.autori.length > 0)\r\n setAutori(documentoCtx.autori);\r\n else\r\n setAutori([])\r\n\r\n }, [documentoCtx.autori]);\r\n\r\n useEffect(() => {\r\n let getProduct = setTimeout(() => {\r\n documentoCtx.getDocumentoFromId(id);\r\n documentoCtx.getList(config.nameList.tiPotrebbeInteressare, id);\r\n }, 200);\r\n\r\n return () => {\r\n clearTimeout(getProduct);\r\n };\r\n }, [id]);\r\n\r\n useEffect(() => {\r\n\r\n if(window.utag === null || window.utag === undefined) return;\r\n\r\n updateView(`book24ore:prodotto:${titleUrlSlug(documentoCtx.prodotto.title.toLowerCase())}:autori`,authCtx, tokenCtx, \"book24ore:prodotto\");\r\n \r\n },[tokenCtx.token, authCtx.isLoggedIn, window.utag]);\r\n\r\n return (\r\n <React.Fragment>\r\n <ul className=\"list-lined list-lined--large\">\r\n {documentoCtx.autori.length > 0 && documentoCtx.autori.map((auth, index) => (\r\n <li className=\"list-lined-item\" key={index}>\r\n <div className=\"page-authbox\">\r\n <Paragraph\r\n title={auth.auth}\r\n classTitle=\"page-subtitle\"\r\n text={auth.bio}\r\n classPar={\"page-txt\"}\r\n img={auth.img}\r\n viewImg={true}\r\n />\r\n </div>\r\n </li>\r\n ))}\r\n </ul>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default SchedaAutori;","import React, { useContext, useEffect, useState } from \"react\";\r\nimport { titleUrlSlug } from \"../../../../helper/helper\";\r\nimport { updateView } from \"../../../../helper/TealiumHelper\";\r\nimport AuthContext from \"../../../../store/auth-context\";\r\nimport GetDocumentContext from \"../../../../store/get-documento\";\r\nimport TokenContext from \"../../../../store/token-context\";\r\nimport { useParams } from 'react-router-dom';\r\n\r\nconst SchedaDescrizione = (props) => {\r\n\r\n const [descrizione, setDescrizione] = useState('')\r\n const [libroPdf, setLibroPdf] = useState('')\r\n const documentCtx = useContext(GetDocumentContext);\r\n const authCtx = useContext(AuthContext);\r\n const tokenCtx = useContext(TokenContext);\r\n const { isBookIntegrate } = useParams();\r\n useEffect(() => {\r\n if(!isBookIntegrate) return;\r\n sessionStorage.setItem(\"isBookIntegrate\", isBookIntegrate)\r\n //SETIsIntegrateInBD(true);\r\n }, [isBookIntegrate]);\r\n useEffect(() => {\r\n setDescrizione(documentCtx.descrizione);\r\n }, [documentCtx.descrizione]);\r\n\r\n useEffect(() => {\r\n setLibroPdf(documentCtx.libroPdf);\r\n }, [documentCtx.libroPdf]);\r\n\r\n useEffect(() => {\r\n\r\n if (window.utag === null || window.utag === undefined) return;\r\n\r\n updateView(`book24ore:prodotto:${titleUrlSlug(documentCtx.prodotto.title.toLowerCase())}:descrizione`, authCtx, tokenCtx, \"book24ore:prodotto\");\r\n\r\n }, [tokenCtx.token, window.utag, authCtx.isLoggedIn,])\r\n\r\n return (\r\n <React.Fragment>\r\n {props.isReader &&\r\n <>\r\n <h3 className=\"reader-txt-title\">\r\n {props.title}\r\n </h3>\r\n <p className=\"reader-txt\" dangerouslySetInnerHTML={{ __html: descrizione }} />\r\n </>\r\n }\r\n {!props.isReader &&\r\n <div className=\"page-txt\">\r\n <div dangerouslySetInnerHTML={{ __html: descrizione }} />\r\n {libroPdf != 0 && \r\n <> \r\n <br /> \r\n <p><b>Versione Pdf</b></p> \r\n <p>\r\n <i>Accedendo ai contenuti dal pulsante ‘leggi’ o dal sommario del testo, approderai alla versione e-book del volume, che consente di navigare tra i capitoli, visualizzare gli ultimi aggiornamenti - se disponibili - stampare o salvare il capitolo, riprendere la lettura dal punto in era stata interrotta nella sessione precedente e molte altre funzionalità .\r\n\r\n Se invece vuoi leggere la versione pdf, che replica l’edizione a stampa del volume senza aggiornamenti successivi e senza la possibilità di stampare o salvare il contenuto, <a className=\"page-link\" href={\"/reader/\" + libroPdf}>clicca qui</a>. </i>\r\n </p> \r\n </>\r\n }\r\n </div> \r\n }\r\n \r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default SchedaDescrizione;","import React from 'react'\r\nimport { Helmet } from 'react-helmet-async'\r\n\r\nconst MetaTags = ({title=\"Book24ORE\", description=\"Book24ORE\", img=\"dist/img/og-generica.png\", type=\"website\", author=\"\" }) => {\r\n\r\n const url = window.location.href;\r\n\r\n return (\r\n <Helmet>\r\n <meta name='description' content={description} />\r\n \r\n { /* OGS tags */ }\r\n <meta property=\"og:image\" content={img}/>\r\n <meta property=\"og:url\" content={url} />\r\n <meta property=\"og:type\" content={type} />\r\n <meta property=\"og:title\" content={title} />\r\n <meta property=\"og:description\" content={description} />\r\n\r\n { /* Twitter tags */ }\r\n <meta name=\"twitter:creator\" content={author} />\r\n <meta name=\"twitter:card\" content={type} />\r\n <meta name=\"twitter:title\" content={title} />\r\n <meta name=\"twitter:description\" content={description} />\r\n </Helmet>\r\n )\r\n}\r\n\r\nexport default MetaTags","import React from \"react\";\r\nimport Iframe from \"react-iframe\";\r\nimport { useParams } from \"react-router\";\r\nimport SecondResearchHeader from \"../components/SecondResearch/SecondResearchHeader\";\r\nimport { config } from \"../constants/Constants\";\r\n\r\nconst FrameNtPro = (props) => {\r\n\r\n const { title, area, idDoc } = useParams();\r\n\r\n const titleWhiteSpace = title.replaceAll(\"-\", \" \");\r\n return (\r\n <React.Fragment>\r\n <SecondResearchHeader title={titleWhiteSpace} isNtPro={true} isIntegrateInBD={props.isIntegrateInBD}/>\r\n <section className=\"section\">\r\n <div className=\"container\">\r\n <div className=\"row\">\r\n \r\n <div className=\"page\">\r\n <Iframe url={config.linkToViewerntpro[0] + area + config.linkToViewerntpro[1] + idDoc}\r\n width=\"1280px\"\r\n height=\"1680px\"\r\n id=\"\"\r\n className=\"\"\r\n display=\"block\"\r\n position=\"relative\" \r\n styles={{border: \"none\"}}\r\n />\r\n </div>\r\n </div>\r\n <div className=\"col-lg-8\">\r\n </div>\r\n </div>\r\n </section>\r\n </React.Fragment>\r\n )\r\n}\r\n\r\nexport default FrameNtPro;","'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 const pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\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<any, any>} 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<boolean>}\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 if (reducer(descriptor, name, obj) !== false) {\n reducedDescriptors[name] = 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\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};\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<any>} 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<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} 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<String|Number>} 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<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} 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","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default FormData;\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\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 isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\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 */\n const isStandardBrowserWebWorkerEnv = (() => {\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\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n isStandardBrowserWebWorkerEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\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<any>} 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<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\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\nconst DEFAULT_CONTENT_TYPE = {\n 'Content-Type': undefined\n};\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 if (!hasJSONContentType) {\n return data;\n }\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 }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\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\nfunction isValidHeaderName(str) {\n return /^[-_a-zA-Z]+$/.test(str.trim());\n}\n\nfunction matchHeaderValue(context, value, header, filter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, 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)) {\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\nutils.freezeMethods(AxiosHeaders.prototype);\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","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n const cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n// Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function 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 \"<scheme>://\" 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.isStandardBrowserEnv ?\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 it's 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 const responseType = config.responseType;\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 if (utils.isFormData(requestData) && (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv)) {\n requestHeaders.setContentType(false); // Let the browser set it\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.isStandardBrowserEnv) {\n // Add xsrf header\n const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath))\n && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\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\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 for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n if((adapter = utils.isString(nameOrAdapter) ? knownAdapters[nameOrAdapter.toLowerCase()] : nameOrAdapter)) {\n break;\n }\n }\n\n if (!adapter) {\n if (adapter === false) {\n throw new AxiosError(\n `Adapter ${nameOrAdapter} is not supported by the environment`,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n throw new Error(\n utils.hasOwnProp(knownAdapters, nameOrAdapter) ?\n `Adapter '${nameOrAdapter}' is not available in the build` :\n `Unknown adapter '${nameOrAdapter}'`\n );\n }\n\n if (!utils.isFunction(adapter)) {\n throw new TypeError('adapter is not a function');\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 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(config1).concat(Object.keys(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.3.2\";","'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 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 !== undefined) {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n let contextHeaders;\n\n // Flatten headers\n contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n contextHeaders && 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 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.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 React from \"react\";\r\nimport { useEffect } from \"react\";\r\nimport { useContext } from \"react\";\r\nimport { useState } from \"react\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport Footer from \"../components/Footer/Footer\";\r\nimport Ricerca from \"../components/Header/Ricerca/Ricerca\";\r\nimport HeaderReader from \"../components/HeaderReader/HeaderReader\";\r\nimport Wrapper from \"../components/Helper/Wrapper/Wrapper\";\r\nimport LoginModal from \"../components/Modals/Login\";\r\nimport MessageManageSiac from \"../components/Modals/MessageManageSiac\";\r\nimport SchedaAutori from \"../components/Prodotti/Prodotto/SchedaAutori/SchedaAutori\";\r\nimport ReaderFoot from \"../components/ReaderFoot/ReaderFoot\";\r\nimport ReaderHead from \"../components/ReaderHead/ReaderHead\";\r\nimport ReaderTitle from \"../components/ReaderHead/ReaderTitle\";\r\nimport ReaderContentContainer from \"../components/ReaderMain/ReaderContentContainer\";\r\nimport ReaderMainContainer from \"../components/ReaderMain/ReaderMainContainer\";\r\nimport { config } from \"../constants/Constants\";\r\nimport { bodyFormattedGetTipoView, bodyFormattedReader, castArrayForFELittleSumm, chooseBody, chooseDocument, chooseURL, FormattedDocumentForFE, viewContent } from \"../helper/helperFunctionReader\";\r\nimport useHttpRequest from \"../hooks/http-request\";\r\nimport useSaveAndDeleteReadingBook from \"../hooks/saveAndDeleteReadingBook\";\r\nimport useManageBodyClasses from \"../hooks/useManageBodyClasses\";\r\nimport AuthContext from \"../store/auth-context\";\r\nimport GetDocumentContext from \"../store/get-documento\";\r\nimport isLoadingContext from \"../store/isLoadingcontext\";\r\nimport TokenContext from \"../store/token-context\";\r\nimport SessioneScaduta from \"../components/Modals/SessioneScaduta\";\r\n\r\nconst ReaderAuthors = (props) => {\r\n\r\n const { id } = useParams();\r\n\r\n const [tipoDocument, setTipoDocument] = useState(null);\r\n const [documentReturns, setDocumentReturns] = useState({});\r\n const [nextChap, setNextChap] = useState({});\r\n const [prevChap, setPrevChap] = useState({});\r\n\r\n const authCtx = useContext(AuthContext);\r\n const tokenCtx = useContext(TokenContext);\r\n const documentCtx = useContext(GetDocumentContext);\r\n const sendRqst = useHttpRequest();\r\n const isLoadingCtx = useContext(isLoadingContext);\r\n const saveDeleteB = useSaveAndDeleteReadingBook();\r\n const [showSessione, setShowSessione] = useState(false);\r\n const [showModal, setShowModal] = useState(true);\r\n useEffect(() => {\r\n setShowSessione(localStorage.getItem(\"showModalSessione\") ? true : false);\r\n });\r\n useEffect(() => {\r\n\r\n isLoadingCtx.setIfIsLoading(true);\r\n\r\n documentCtx.getDocumentoFromId(id);\r\n\r\n const tipoDocument = (data) => {\r\n\r\n let typeDocument = null;\r\n\r\n\r\n if (data.Result.ResultSet.Root === null) {\r\n setTipoDocument(typeDocument);\r\n return;\r\n }\r\n\r\n const getTipoV = data.Result.ResultSet.Root[0];\r\n typeDocument = chooseDocument(getTipoV.tipo);\r\n\r\n setTipoDocument(typeDocument);\r\n const showPremiumContent = viewContent(getTipoV, tokenCtx);\r\n loadDocument(typeDocument, getTipoV.pdfurl, showPremiumContent, getTipoV.comprato);\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormattedGetTipoView(config.nameList.tipoDocument, id, tokenCtx)),\r\n method: \"POST\"\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, tipoDocument);\r\n\r\n }, [id, tokenCtx.token]);\r\n\r\n const testataHtml = (id, dataRes, typeDocument, showPremiumContent) => {\r\n\r\n const setTestataDocumentHtml = (data) => {\r\n\r\n let document = data.Result.ResultSet;\r\n if (document === null) {\r\n isLoadingCtx.setIfIsLoading(false);\r\n return;\r\n }\r\n document = document.Root[0];\r\n\r\n document = {\r\n Section: document.sezione,\r\n ChapterTitle: document.titolo,\r\n Date: document.data,\r\n page: document.pagina,\r\n Author: document.autore,\r\n TaxType: document.titolo,\r\n Immagine: document.immagine\r\n };\r\n\r\n document = { ...document, ...dataRes };\r\n const res = FormattedDocumentForFE(document, typeDocument, showPremiumContent)\r\n setDocumentReturns(res);\r\n saveDeleteB.setSaveBook(config.nameList.leggendo, { prop1: parseInt(res.idProvv), prop2: parseInt(res.idDocType), prop3: parseInt(res.id) }, showPremiumContent);\r\n };\r\n\r\n const bodyFormatted = bodyFormattedReader(id, config.nameList.getTestataHtml, tokenCtx);\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, setTestataDocumentHtml);\r\n };\r\n\r\n const loadDocument = (typeDocument, pdfUrl, showPremiumContent, isComprato) => {\r\n\r\n const setDocumentJson = (data) => {\r\n\r\n let document = {};\r\n\r\n if (typeDocument !== 'Sistema Frizzera') {\r\n testataHtml(data.Result.DocumentId, data.Result, typeDocument, showPremiumContent);\r\n return;\r\n }\r\n\r\n document = data.Result;\r\n\r\n const res = FormattedDocumentForFE(document, typeDocument, showPremiumContent);\r\n setDocumentReturns(res);\r\n loadLittleSumm();\r\n };\r\n\r\n const bodyFormatted = chooseBody(typeDocument, id, tokenCtx.token, isComprato);\r\n\r\n if (bodyFormatted === null)\r\n return;\r\n\r\n const url = chooseURL(typeDocument);\r\n\r\n const request = {\r\n url: url,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: \"POST\"\r\n }\r\n }\r\n\r\n sendRqst.sendRequest(request, setDocumentJson);\r\n };\r\n\r\n const loadLittleSumm = () => {\r\n\r\n const setLittleSummJson = (data) => {\r\n\r\n if (data.Result.ResultSet === null) {\r\n return;\r\n }\r\n\r\n const objJson = castArrayForFELittleSumm(data.Result.ResultSet.Root);\r\n\r\n setPrevChap(objJson.prevChap);\r\n setNextChap(objJson.nextChap);\r\n\r\n }\r\n\r\n const bodyFormatted = bodyFormattedReader(id, config.nameList.getLittleSumm, tokenCtx);\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, setLittleSummJson);\r\n };\r\n\r\n useManageBodyClasses();\r\n\r\n return (\r\n <React.Fragment>\r\n <Wrapper>\r\n {authCtx.showLoginModal && <LoginModal show={authCtx.showLoginModal}></LoginModal>}\r\n {tokenCtx.showMessageSiac && <MessageManageSiac show={tokenCtx.showMessageSiac}></MessageManageSiac>}\r\n {showSessione && <SessioneScaduta show={showSessione} closeModal={(dismiss) => { setShowModal(dismiss.showModal) }}></SessioneScaduta>}\r\n <HeaderReader page='autori'\r\n title={documentReturns.mainTitle}\r\n tipoDocument={tipoDocument}\r\n img={documentReturns.img}\r\n isReader={true}\r\n idDoc={documentReturns.id}\r\n idProv={documentReturns.idProvv}\r\n idDocType={documentReturns.idDocType}\r\n isIntegrateInBD={props.isIntegrateInBD}\r\n />\r\n\r\n <ReaderContentContainer>\r\n <ReaderHead>\r\n <ReaderTitle title='Autori' />\r\n {/*<ReaderHeadGoTo page='summary' />*/}\r\n </ReaderHead>\r\n\r\n <ReaderMainContainer>\r\n {/*<ReaderTools />*/}\r\n {(documentCtx.descrizione !== undefined && documentCtx.prodotto !== undefined) && <SchedaAutori isReader={true} title={documentReturns.upTitlLeft}></SchedaAutori>}\r\n {/*<ReaderTools />*/}\r\n </ReaderMainContainer>\r\n\r\n {/*<ReaderFoot page='summary'/>*/}\r\n {tipoDocument !== 'pdf' && <ReaderFoot prevChap={prevChap} nextChap={nextChap} />}\r\n </ReaderContentContainer>\r\n\r\n <Footer isIntegrateInBD={props.isIntegrateInBD}/>\r\n </Wrapper>\r\n\r\n <Ricerca isReader={true}\r\n img={documentReturns.img}\r\n title={documentReturns.upTitlLeft}\r\n tipoDocument={tipoDocument}\r\n id={documentReturns.id}\r\n idProvvedimento={documentReturns.idProvv}\r\n idDocType={documentReturns.idDocType} />\r\n </React.Fragment>\r\n );\r\n};\r\n\r\nexport default ReaderAuthors;","import React from \"react\";\r\nimport { useEffect } from \"react\";\r\nimport { useState } from \"react\";\r\nimport { useContext } from \"react\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport Footer from \"../components/Footer/Footer\";\r\nimport Ricerca from \"../components/Header/Ricerca/Ricerca\";\r\nimport HeaderReader from \"../components/HeaderReader/HeaderReader\";\r\nimport Wrapper from \"../components/Helper/Wrapper/Wrapper\";\r\nimport LoginModal from \"../components/Modals/Login\";\r\nimport MessageManageSiac from \"../components/Modals/MessageManageSiac\";\r\nimport SchedaDescrizione from \"../components/Prodotti/Prodotto/SchedaDescrizione/SchedaDescrizione\";\r\nimport ReaderFoot from \"../components/ReaderFoot/ReaderFoot\";\r\nimport ReaderHead from \"../components/ReaderHead/ReaderHead\";\r\nimport ReaderTitle from \"../components/ReaderHead/ReaderTitle\";\r\nimport ReaderContentContainer from \"../components/ReaderMain/ReaderContentContainer\";\r\nimport ReaderMainContainer from \"../components/ReaderMain/ReaderMainContainer\";\r\nimport { config } from \"../constants/Constants\";\r\nimport { bodyFormattedGetTipoView, bodyFormattedReader, castArrayForFELittleSumm, chooseBody, chooseDocument, chooseURL, FormattedDocumentForFE, viewContent } from \"../helper/helperFunctionReader\";\r\nimport useHttpRequest from \"../hooks/http-request\";\r\nimport useSaveAndDeleteReadingBook from \"../hooks/saveAndDeleteReadingBook\";\r\nimport useManageBodyClasses from \"../hooks/useManageBodyClasses\";\r\nimport AuthContext from \"../store/auth-context\";\r\nimport GetDocumentContext from \"../store/get-documento\";\r\nimport isLoadingContext from \"../store/isLoadingcontext\";\r\nimport TokenContext from \"../store/token-context\";\r\nimport SessioneScaduta from \"../components/Modals/SessioneScaduta\";\r\nconst ReaderDescription = (props) => {\r\n\r\n const { id } = useParams();\r\n\r\n const [tipoDocument, setTipoDocument] = useState(null);\r\n const [documentReturns, setDocumentReturns] = useState({});\r\n const [nextChap, setNextChap] = useState({});\r\n const [prevChap, setPrevChap] = useState({});\r\n\r\n const authCtx = useContext(AuthContext);\r\n const tokenCtx = useContext(TokenContext);\r\n const documentCtx = useContext(GetDocumentContext);\r\n const sendRqst = useHttpRequest();\r\n const isLoadingCtx = useContext(isLoadingContext);\r\n const saveDeleteB = useSaveAndDeleteReadingBook();\r\n const [showSessione, setShowSessione] = useState(false);\r\n const [showModal, setShowModal] = useState(true);\r\n useEffect(() => {\r\n setShowSessione(localStorage.getItem(\"showModalSessione\") ? true : false);\r\n });\r\n useEffect(() => {\r\n\r\n isLoadingCtx.setIfIsLoading(true);\r\n\r\n documentCtx.getDocumentoFromId(id);\r\n\r\n const tipoDocument = (data) => {\r\n\r\n let typeDocument = null;\r\n\r\n\r\n if (data.Result.ResultSet.Root === null) {\r\n setTipoDocument(typeDocument);\r\n return;\r\n }\r\n\r\n const getTipoV = data.Result.ResultSet.Root[0];\r\n typeDocument = chooseDocument(getTipoV.tipo);\r\n\r\n setTipoDocument(typeDocument);\r\n const showPremiumContent = viewContent(getTipoV, tokenCtx);\r\n loadDocument(typeDocument, getTipoV.pdfurl, showPremiumContent, getTipoV.comprato);\r\n };\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormattedGetTipoView(config.nameList.tipoDocument, id, tokenCtx)),\r\n method: \"POST\"\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, tipoDocument);\r\n\r\n }, [id, tokenCtx.token]);\r\n\r\n const testataHtml = (id, dataRes, typeDocument, showPremiumContent) => {\r\n\r\n const setTestataDocumentHtml = (data) => {\r\n\r\n let document = data.Result.ResultSet;\r\n if (document === null) {\r\n isLoadingCtx.setIfIsLoading(false);\r\n return;\r\n }\r\n document = document.Root[0];\r\n\r\n document = {\r\n Section: document.sezione,\r\n ChapterTitle: document.titolo,\r\n Date: document.data,\r\n page: document.pagina,\r\n Author: document.autore,\r\n TaxType: document.titolo,\r\n Immagine: document.immagine\r\n };\r\n\r\n document = { ...document, ...dataRes };\r\n const res = FormattedDocumentForFE(document, typeDocument, showPremiumContent)\r\n setDocumentReturns(res);\r\n saveDeleteB.setSaveBook(config.nameList.leggendo, { prop1: parseInt(res.idProvv), prop2: parseInt(res.idDocType), prop3: parseInt(res.id) }, showPremiumContent);\r\n };\r\n\r\n const bodyFormatted = bodyFormattedReader(id, config.nameList.getTestataHtml, tokenCtx);\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, setTestataDocumentHtml);\r\n };\r\n\r\n const loadDocument = (typeDocument, pdfUrl, showPremiumContent, isComprato) => {\r\n\r\n const setDocumentJson = (data) => {\r\n\r\n let document = {};\r\n\r\n if (typeDocument !== 'Sistema Frizzera') {\r\n testataHtml(data.Result.DocumentId, data.Result, typeDocument, showPremiumContent);\r\n return;\r\n }\r\n\r\n document = data.Result;\r\n\r\n const res = FormattedDocumentForFE(document, typeDocument, showPremiumContent);\r\n setDocumentReturns(res);\r\n loadLittleSumm();\r\n };\r\n\r\n const bodyFormatted = chooseBody(typeDocument, id, tokenCtx.token, isComprato);\r\n\r\n if (bodyFormatted === null)\r\n return;\r\n\r\n const url = chooseURL(typeDocument);\r\n\r\n const request = {\r\n url: url,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: \"POST\"\r\n }\r\n }\r\n\r\n sendRqst.sendRequest(request, setDocumentJson);\r\n };\r\n\r\n const loadLittleSumm = () => {\r\n\r\n const setLittleSummJson = (data) => {\r\n\r\n if (data.Result.ResultSet === null) {\r\n return;\r\n }\r\n\r\n const objJson = castArrayForFELittleSumm(data.Result.ResultSet.Root);\r\n\r\n setPrevChap(objJson.prevChap);\r\n setNextChap(objJson.nextChap);\r\n\r\n }\r\n\r\n const bodyFormatted = bodyFormattedReader(id, config.nameList.getLittleSumm, tokenCtx);\r\n\r\n const request = {\r\n url: config.url.BACKEND_SERVICE + config.serviceToCall.getProdotti,\r\n req: {\r\n headers: {\r\n 'jsonorb-apikey': config.jsonorb.jsonorb_apikey,\r\n 'Content-Type': 'application/json',\r\n 'jsonorb-addcache': config.jsonorb.jsonorb_addCache\r\n },\r\n body: JSON.stringify(bodyFormatted),\r\n method: 'POST'\r\n }\r\n };\r\n\r\n sendRqst.sendRequest(request, setLittleSummJson);\r\n };\r\n\r\n useManageBodyClasses();\r\n\r\n return (\r\n <React.Fragment>\r\n <Wrapper>\r\n {authCtx.showLoginModal && <LoginModal show={authCtx.showLoginModal}></LoginModal>}\r\n {tokenCtx.showMessageSiac && <MessageManageSiac show={tokenCtx.showMessageSiac}></MessageManageSiac>}\r\n {showSessione && <SessioneScaduta show={showSessione} closeModal={(dismiss) => { setShowModal(dismiss.showModal) }}></SessioneScaduta>}\r\n <HeaderReader page='descrizione'\r\n title={documentReturns.mainTitle}\r\n tipoDocument={tipoDocument}\r\n img={documentReturns.img}\r\n isReader={true}\r\n idDoc={documentReturns.id}\r\n idProv={documentReturns.idProvv}\r\n idDocType={documentReturns.idDocType}\r\n isIntegrateInBD={props.isIntegrateInBD}\r\n />\r\n\r\n <ReaderContentContainer>\r\n <ReaderHead>\r\n <ReaderTitle title='Descrizione' />\r\n {/*<ReaderHeadGoTo page='summary' />*/}\r\n </ReaderHead>\r\n\r\n <ReaderMainContainer>\r\n {/*<ReaderTools />*/}\r\n {(documentCtx.descrizione !== undefined && documentCtx.prodotto !== undefined) && <SchedaDescrizione isReader={true} title={documentReturns.upTitlLeft}></SchedaDescrizione>}\r\n {/*<ReaderTools />*/}\r\n </ReaderMainContainer>\r\n\r\n {/*<ReaderFoot page='summary'/>*/}\r\n {tipoDocument !== 'pdf' && <ReaderFoot prevChap={prevChap} nextChap={nextChap} />}\r\n </ReaderContentContainer>\r\n\r\n <Footer isIntegrateInBD={props.isIntegrateInBD}/>\r\n </Wrapper>\r\n\r\n <Ricerca isReader={true}\r\n img={documentReturns.img}\r\n title={documentReturns.upTitlLeft}\r\n tipoDocument={tipoDocument}\r\n id={documentReturns.id}\r\n idProvvedimento={documentReturns.idProvv}\r\n idDocType={documentReturns.idDocType} />\r\n\r\n </React.Fragment>\r\n );\r\n};\r\n\r\nexport default ReaderDescription;","import './App.css';\r\nimport React, { useContext, useEffect, useState } from 'react';\r\nimport { Route, Routes, useLocation, useParams } from \"react-router-dom\";\r\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query';\r\nimport { Helmet, HelmetProvider } from 'react-helmet-async';\r\nimport { browserName, browserVersion, isDesktop } from 'react-device-detect';\r\nimport { getCookie } from './helper/helper';\r\n// Pages\r\nimport Offline from './Pages/Offline';\r\nimport MyBooks from './Pages/MyBooks';\r\nimport Prodotto from \"./Pages/Prodotto\";\r\nimport Pacchetto from './Pages/Pacchetto';\r\nimport Area from './Pages/Area';\r\nimport AllList from './Pages/AllList';\r\nimport Notifications from './Pages/Notifications';\r\nimport PersonalArea from './Pages/PersonalArea';\r\nimport Research from './Pages/Research';\r\nimport SchedaPerApprofondire from './Pages/SchedaPerApprofondire';\r\nimport Reader from './Pages/Reader';\r\nimport ReaderSummary from './Pages/ReaderSummary';\r\nimport ReaderUpdates from './Pages/ReaderUpdates';\r\nimport ReaderResearch from './Pages/ReaderResearch';\r\nimport OldBrowser from './Pages/OldBrowser';\r\nimport NotFound from './Pages/NotFound';\r\nimport SecondResearch from './Pages/SecondResearch';\r\nimport QrCode from './Pages/QrCode';\r\nimport Notes from './Pages/Notes';\r\nimport FAQ from './Pages/FAQ';\r\nimport BDIndex from './Pages/BDIndex';\r\nimport Software from './Pages/Software';\r\n// Components\r\nimport Home from './components/Home/Home.js';\r\nimport SchedaSommario from './components/Prodotti/Prodotto/SchedaSommario/SchedaSommario';\r\nimport SchedaAutori from \"./components/Prodotti/Prodotto/SchedaAutori/SchedaAutori\";\r\nimport SchedaDescrizione from './components/Prodotti/Prodotto/SchedaDescrizione/SchedaDescrizione';\r\nimport AuthContext from './store/auth-context';\r\nimport TokenContext from './store/token-context';\r\nimport { checkSoleaAuth } from './helper/helper';\r\nimport Spinner from './components/UI/Spinner/Spinner';\r\nimport MetaTags from './components/Helmet/MetaTags';\r\nimport { config } from './constants/Constants';\r\nimport FrameNtPro from './Pages/FrameNtPro';\r\nimport axios from 'axios';\r\nimport ReaderAuthors from './Pages/ReaderAuthors';\r\nimport ReaderDescription from './Pages/ReaderDescription';\r\n\r\nconst queryClient = new QueryClient();\r\n\r\nfunction App() {\r\n\r\n const authCtx = useContext(AuthContext);\r\n const tokenCtx = useContext(TokenContext);\r\n const location = useLocation();\r\n const [isLoading, setIfIsLoading] = useState(true);\r\n const [isIntegrateInBD, setIsIntegrateInBD] = useState(false);\r\n const [isSaved, setIsSaved] = useState(false);\r\n const [ip, setIp] = useState(null);\r\n const [isDesktopDevice, setIsDesktopDevice] = useState(true);\r\n const [qrScanner, setQrScanner] = useState({});\r\n const token = getCookie(\"plus_token_forDomain\");\r\n\r\n\r\n const isOldBrowser = function () {\r\n\r\n switch (browserName) {\r\n case \"Chrome\":\r\n if (browserVersion < 78) return true;\r\n case \"Firefox\":\r\n if (browserVersion < 70) return true;\r\n case \"Trident\":\r\n if (browserVersion < 44) return true;\r\n case \"Edge\":\r\n if (browserVersion < 44) return true;\r\n case \"Safari\":\r\n if (browserVersion < 13) return true;\r\n case \"Mobile Safari\":\r\n if (browserVersion < 13) return true;\r\n default:\r\n return false;\r\n\r\n }\r\n\r\n }\r\n\r\n const handleSaved = (save) => {\r\n document.body.classList.add(\"is-toast-in\");\r\n setIsSaved(!isSaved);\r\n }\r\n\r\n const getUserIp = async () => {\r\n const res = await axios.get(config.ip);\r\n setIp(res.data.ip);\r\n }\r\n\r\n const settingsQrScanner = (qrCode) => {\r\n setQrScanner(qrCode);\r\n }\r\n\r\n useEffect(() => {\r\n getUserIp();\r\n }, []);\r\n\r\n useEffect(() => {\r\n\r\n if (!authCtx.isLoggedIn) return;\r\n\r\n let loadProds = setTimeout(() => {\r\n\r\n if (authCtx.isLoggedIn) {\r\n tokenCtx.loadProduct();\r\n }\r\n setIfIsLoading(false);\r\n\r\n }, 400);\r\n\r\n return () => {\r\n clearTimeout(loadProds);\r\n };\r\n }, [authCtx.isLoggedIn]);\r\n\r\n useEffect(() => {\r\n if(!sessionStorage.getItem(\"isBookIntegrate\")) return;\r\n setIsIntegrateInBD(true);\r\n }, [sessionStorage.getItem(\"isBookIntegrate\")]);\r\n\r\n useEffect(() => {\r\n if (ip === null) return;\r\n\r\n tokenCtx.setIpConf(ip);\r\n }, [ip]);\r\n\r\n useEffect(() => {\r\n\r\n let auth = setTimeout(() => {\r\n const soleauth = checkSoleaAuth();\r\n if (soleauth === undefined || soleauth === '' || soleauth === null) {\r\n setIfIsLoading(false)\r\n }\r\n if ((soleauth !== undefined && soleauth !== '' && soleauth !== null) && localStorage.getItem(\"isLoggedIn\") === null) {\r\n setIfIsLoading(true);\r\n authCtx.loginUserProfile();\r\n }\r\n if (soleauth !== '' && localStorage.getItem(\"isLoggedIn\") !== null && localStorage.getItem(\"token\") === null) {\r\n if (localStorage.getItem(\"userLoggedWithoutToken\")) {\r\n setIfIsLoading(false);\r\n } else {\r\n localStorage.removeItem(\"isLoggedIn\");\r\n }\r\n }\r\n if (soleauth !== '' && localStorage.getItem(\"isLoggedIn\") === \"1\" && localStorage.getItem(\"token\") !== null) {\r\n if (authCtx.username === 'Utente') {\r\n authCtx.loginUserProfile();\r\n }\r\n localStorage.removeItem(\"userLoggedWithoutToken\");\r\n setIfIsLoading(false);\r\n }\r\n }, 200);\r\n\r\n return () => {\r\n clearTimeout(auth);\r\n };\r\n\r\n });\r\n\r\n useEffect(() => {\r\n let delayedClose = setTimeout(() => {\r\n document.body.classList.remove('is-toast-in');\r\n }, 1000);\r\n\r\n return () => {\r\n clearTimeout(delayedClose);\r\n }\r\n }, [isSaved]);\r\n\r\n useEffect(() => {\r\n\r\n window.top.postMessage(\"book24\", \"*\");\r\n\r\n if (location.pathname === \"/qr\" || Object.keys(qrScanner).length === 0) return;\r\n\r\n qrScanner.destroy();\r\n\r\n }, [location.pathname]);\r\n\r\n return (\r\n <HelmetProvider>\r\n <Helmet>\r\n <script\r\n src={config.socialLoginUrl}\r\n integrity=\"\"\r\n crossorigin=\"anonymous\"\r\n async\r\n ></script>\r\n {/*<!-- Tealium sync script -->*/}\r\n <script src={config.scriptTealium}></script>\r\n </Helmet>\r\n <QueryClientProvider client={queryClient}>\r\n <MetaTags />\r\n {/*<div className={`App ${isSaved ? 'is-toast-in' : ''}`}>*/}\r\n <div className=\"App \">\r\n <Routes>\r\n <Route path=\"/:isBookIntegrate\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} {!isOldBrowser() && <Home isDesktop={isDesktop} isIntegrateInBD={isIntegrateInBD}></Home>} {isOldBrowser() && <OldBrowser></OldBrowser>}</>} />\r\n <Route path=\"/\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} {!isOldBrowser() && <Home isDesktop={isDesktop} isIntegrateInBD={isIntegrateInBD}></Home>} {isOldBrowser() && <OldBrowser></OldBrowser>}</>} />\r\n <Route path=\"/miei-libri\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <MyBooks isIntegrateInBD={isIntegrateInBD}></MyBooks> </>} />\r\n <Route path=\"/miei-libri/:isBookIntegrate\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <MyBooks isIntegrateInBD={isIntegrateInBD}></MyBooks> </>} />\r\n <Route path=\"/Prodotto/:nomeLibro/:id\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <Prodotto isIntegrateInBD={isIntegrateInBD}></Prodotto> </>}>\r\n <Route path=\"/Prodotto/:nomeLibro/:id/SchedaDescrizione/:isBookIntegrate\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <SchedaDescrizione></SchedaDescrizione></>} />\r\n <Route path=\"/Prodotto/:nomeLibro/:id/SchedaDescrizione\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <SchedaDescrizione></SchedaDescrizione></>} />\r\n <Route path=\"/Prodotto/:nomeLibro/:id/SchedaAutori\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <SchedaAutori></SchedaAutori></>} />\r\n <Route path=\"/Prodotto/:nomeLibro/:id/SchedaSommario\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <SchedaSommario></SchedaSommario></>} />\r\n <Route path=\"/Prodotto/:nomeLibro/:id/SchedaSommario/:isBookIntegrate\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <SchedaSommario></SchedaSommario></>} />\r\n </Route>\r\n <Route path=\"/Pacchetto/:id\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <Pacchetto isIntegrateInBD={isIntegrateInBD}></Pacchetto></>} />\r\n <Route path=\"/Area/:themeArea\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <Area isIntegrateInBD={isIntegrateInBD}></Area></>} />\r\n <Route path=\"/Area/:themeArea/AllList\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <AllList isIntegrateInBD={isIntegrateInBD}></AllList></>} />\r\n <Route path=\"/ricerca\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <Research isIntegrateInBD={isIntegrateInBD}></Research></>} />\r\n <Route path=\"/ricerca/:isFromAnotherPage/:isBookIntegrate\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <Research isIntegrateInBD={isIntegrateInBD}></Research></>} />\r\n <Route path=\"/ricerca/:isFromAnotherPage\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <Research isIntegrateInBD={isIntegrateInBD}></Research></>} />\r\n <Route path=\"/ricerca/level2/:idProv/:word/:title/:isFrizzera\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <SecondResearch isIntegrateInBD={isIntegrateInBD}></SecondResearch></>} />\r\n <Route path=\"/notifiche\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <Notifications isIntegrateInBD={isIntegrateInBD}></Notifications></>} />\r\n <Route path=\"/area-personale/:section\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <PersonalArea isIntegrateInBD={isIntegrateInBD}></PersonalArea></>} />\r\n <Route path=\"/reader/:id\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <Reader handleSaved={handleSaved} perApprofondire={false} isIntegrateInBD={isIntegrateInBD}></Reader></>} />\r\n <Route path=\"/reader/:id/:isBookIntegrate\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <Reader handleSaved={handleSaved} perApprofondire={false} isIntegrateInBD={isIntegrateInBD}></Reader></>} />\r\n <Route path=\"/reader/:id/SchedaPerApprofondire\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <Reader handleSaved={handleSaved} perApprofondire={true} isIntegrateInBD={isIntegrateInBD}></Reader></>} />\r\n {/*<Route path=\"/reader-free\" element={<>{isLoading && <Spinner></Spinner>} <Reader isFree={true}></Reader></>} />*/}\r\n <Route path=\"/reader-descrizione/:title/:id\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <ReaderDescription isIntegrateInBD={isIntegrateInBD}></ReaderDescription></>} />\r\n <Route path=\"/reader-autori/:title/:id\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <ReaderAuthors isIntegrateInBD={isIntegrateInBD}></ReaderAuthors></>} />\r\n <Route path=\"/reader-summary/:title/:id\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <ReaderSummary isIntegrateInBD={isIntegrateInBD}></ReaderSummary></>} />\r\n <Route path=\"/reader-updates/:title/:id\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <ReaderUpdates isIntegrateInBD={isIntegrateInBD}></ReaderUpdates></>} />\r\n <Route path=\"/reader-research\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <ReaderResearch isIntegrateInBD={isIntegrateInBD}></ReaderResearch></>} />\r\n <Route path=\"/index/:title/:id/:order\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <BDIndex isIntegrateInBD={isIntegrateInBD}></BDIndex></>} />\r\n <Route path=\"/ntPro/:title/:area/:idDoc\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <FrameNtPro isIntegrateInBD={isIntegrateInBD}></FrameNtPro></>} />\r\n <Route path=\"/arricchimenti/:idDocType/:idProv/:id\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <Software isIntegrateInBD={isIntegrateInBD}></Software></>} />\r\n <Route path=\"/FAQ\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <FAQ isIntegrateInBD={isIntegrateInBD}></FAQ></>} />\r\n <Route path=\"/notes\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <Notes isIntegrateInBD={isIntegrateInBD}></Notes></>} />\r\n <Route path=\"/offline\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <Offline isIntegrateInBD={isIntegrateInBD}></Offline></>} />\r\n <Route path=\"*\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <NotFound isIntegrateInBD={isIntegrateInBD}></NotFound></>} />\r\n <Route path=\"/qr\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <QrCode qrScanner={qrScanner} settingsQrScanner={settingsQrScanner} isIntegrateInBD={isIntegrateInBD}></QrCode></>} />\r\n <Route path=\"/qr/:qrCode\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <QrCode qrScanner={qrScanner} settingsQrScanner={settingsQrScanner} isIntegrateInBD={isIntegrateInBD}></QrCode></>} />\r\n <Route path=\"/mie-note\" element={<>{isLoading && localStorage.getItem(\"token\") && <Spinner></Spinner>} <Notes isIntegrateInBD={isIntegrateInBD}></Notes></>} />\r\n </Routes>\r\n </div>\r\n </QueryClientProvider>\r\n </HelmetProvider>\r\n );\r\n}\r\n\r\nexport default App;","const reportWebVitals = onPerfEntry => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n getCLS(onPerfEntry);\r\n getFID(onPerfEntry);\r\n getFCP(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n getTTFB(onPerfEntry);\r\n });\r\n }\r\n};\r\n\r\nexport default reportWebVitals;\r\n","//import './polyfill/polyfill';\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom/client';\r\nimport './index.css';\r\nimport App from './App';\r\nimport reportWebVitals from './reportWebVitals';\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport { AuthContexProvider } from './store/auth-context';\r\nimport { TokenContextProvider } from './store/token-context';\r\nimport { IsLoadingContextProvider } from './store/isLoadingcontext';\r\nimport { ManageProductListsContextProvider } from './store/manage-products-list-context';\r\nimport { GetDocumentContextProvider } from './store/get-documento';\r\nimport { TreeContextProvider } from './store/context-tree';\r\n\r\nconst root = ReactDOM.createRoot(document.getElementById('root'));\r\nroot.render(\r\n <IsLoadingContextProvider>\r\n <AuthContexProvider>\r\n <TokenContextProvider>\r\n <ManageProductListsContextProvider>\r\n <GetDocumentContextProvider>\r\n <TreeContextProvider>\r\n <BrowserRouter>\r\n <App />\r\n </BrowserRouter>\r\n </TreeContextProvider>\r\n </GetDocumentContextProvider>\r\n </ManageProductListsContextProvider>\r\n </TokenContextProvider>\r\n </AuthContexProvider>\r\n </IsLoadingContextProvider>\r\n\r\n);\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","Symbol","iterator","v","op","TypeError","pop","push","create","__spreadArrays","il","r","Array","k","a","j","jl","version","wait","durationMs","resolveWith","setTimeout","isPromise","awaitIfAsync","action","callback","returnedValue","error","forEachWithBreaks","items","loopReleaseInterval","lastLoopReleaseTime","now","_a","Date","suppressUnhandledRejectionWarning","promise","undefined","x64Add","m","o","x64Multiply","x64Rotl","x64LeftShift","x64Xor","x64Fmix","h","x64hash128","key","seed","remainder","bytes","h1","h2","k1","k2","c1","c2","charCodeAt","toString","slice","toInt","parseInt","toFloat","parseFloat","replaceNaN","replacement","isNaN","countTruthy","values","reduce","sum","round","base","Math","abs","counterBase","ensureErrorWithMessage","message","isFinalResultLoaded","loadResult","loadSources","sources","sourceOptions","excludeSources","includedSources","keys","filter","sourceKey","haystack","needle","l","includes","sourceGetters","index","source","sourceLoadPromise","resolveLoad","loadStartTime","bind","loadArgs","_i","loadDuration","duration","resolveGet","getStartTime","getArgs","finalizeSource","loadSource","components","includedSources_1","componentPromises","_loop_1","hasAllComponentPromises","componentPromise","component","all","transformSource","transformValue","transformLoadResult","getResult","options","isTrident","w","window","navigator","isEdgeHTML","isChromium","vendor","indexOf","isWebKit","isDesktopSafari","isGecko","_b","document","documentElement","style","getFullscreenElement","d","fullscreenElement","msFullscreenElement","mozFullScreenElement","webkitFullscreenElement","exitFullscreen","msExitFullscreen","mozCancelFullScreen","webkitExitFullscreen","isAndroid","isItChromium","isItGecko","test","appVersion","makeInnerError","name","Error","withIframe","initialHtml","domPollInterval","_c","iframe","_d","createElement","_resolve","_reject","isComplete","onload","onerror","setProperty","position","top","left","visibility","srcdoc","src","appendChild","checkReadyState","contentWindow","readyState","parentNode","removeChild","selectorToElement","selector","errorMessage","tagMatch","exec","tag","attributes","partsRegex","addAttribute","match","part","attributeMatch","parseSimpleCssSelector","element","name_1","join","addStyleString","setAttribute","split","property","name_2","priority","baseFonts","fontList","doesSupportWinding","context","rect","isPointInPath","makeTextImage","canvas","width","height","textBaseline","fillStyle","fillRect","font","printedText","String","fromCharCode","fillText","save","makeGeometryImage","globalCompositeOperation","color","x","beginPath","arc","PI","closePath","fill","toDataURL","screenFrameBackup","screenFrameSizeTimeoutId","getScreenFrame","_this","checkScreenFrame","frameSize","getCurrentScreenFrame","isFrameSizeNull","screen","availTop","availWidth","availLeft","availHeight","filters","abpIndo","abpvn","adBlockFinland","adBlockPersian","adBlockWarningRemoval","adGuardAnnoyances","adGuardBase","adGuardChinese","adGuardFrench","adGuardGerman","adGuardJapanese","adGuardMobile","adGuardRussian","adGuardSocial","adGuardSpanishPortuguese","adGuardTrackingProtection","adGuardTurkish","bulgarian","easyList","easyListChina","easyListCookie","easyListCzechSlovak","easyListDutch","easyListGermany","easyListItaly","easyListLithuania","estonian","fanboyAnnoyances","fanboyAntiFacebook","fanboyEnhancedTrackers","fanboySocial","frellwitSwedish","greekAdBlock","hungarian","iDontCareAboutCookies","icelandicAbp","latvian","listKr","listeAr","listeFr","officialPolish","ro","ruAd","thaiAds","webAnnoyancesUltralist","getBlockedSelectors","selectors","root","elements","blockedSelectors","holder","forceShow","offsetParent","doesMatch$4","matchMedia","matches","doesMatch$3","doesMatch$2","doesMatch$1","doesMatch","M","fallbackFn","presets","default","apple","serif","fontFamily","sans","mono","min","fontSize","system","fonts","spansContainer","defaultWidth","defaultHeight","createSpan","span","textContent","baseFontsSpans","map","fontsSpans","spans","baseFont","fontToDetect","createSpanWithFonts","fontList_1","initializeFontsSpans","offsetWidth","offsetHeight","fontSpans","some","baseFontIndex","domBlockers","debug","filterNames","activeBlockers","concat","filterName","console","log","printDebug","sort","fontPreferences","containerWidthPx","iframeWindow","iframeDocument","iframeBody","bodyStyle","webkitTextSizeAdjust","textSizeAdjust","zoom","devicePixelRatio","linesOfText","withNaturalFonts","container","sizes","text","whiteSpace","_e","_f","_g","_h","getBoundingClientRect","audio","AudioContext","OfflineAudioContext","webkitOfflineAudioContext","isWebKit606OrNewer","oscillator","createOscillator","type","frequency","compressor","createDynamicsCompressor","threshold","knee","ratio","attack","release","connect","destination","start","renderTryMaxCount","renderRetryDelay","runningMaxAwaitTime","runningSufficientTime","finalize","isFinalized","renderTryCount","startedRunningAt","oncomplete","event","renderedBuffer","startRunningTimeout","tryRender","startRendering","state","hidden","startRenderingAudio","renderPromise","finishRendering","fingerprintPromise","buffer","signal","hash","getHash","getChannelData","subarray","screenFrame","screenFrameGetter","processSize","sideSize","osCpu","oscpu","languages","language","userLanguage","browserLanguage","systemLanguage","isArray","Intl","Reflect","isChromium86OrNewer","colorDepth","deviceMemory","screenResolution","parseDimension","dimensions","reverse","hardwareConcurrency","timezone","DateTimeFormat","resolvedOptions","timeZone","offset","currentYear","getFullYear","max","getTimezoneOffset","sessionStorage","localStorage","indexedDB","openDatabase","cpuClass","platform","screenRatio","Element","webkitRequestFullscreen","isIPad","plugins","rawPlugins","plugin","mimeTypes","mimeType","suffixes","description","getContext","makeCanvasContext","isSupported","winding","geometry","touchSupport","touchEvent","maxTouchPoints","msMaxTouchPoints","createEvent","touchStart","vendorFlavors","flavors","cookiesEnabled","cookie","colorGamut","gamut","invertedColors","forcedColors","monochrome","contrast","reducedMotion","hdr","math","acos","acosh","asin","asinh","atanh","atan","sin","sinh","cos","cosh","tan","tanh","exp","expm1","log1p","acoshPf","sqrt","asinhPf","atanhPf","sinhPf","coshPf","tanhPf","expm1Pf","log1pPf","powPI","pow","getConfidence","openConfidenceScore","getOpenConfidenceScore","proConfidenceScore","deriveProConfidenceScore","score","comment","replace","componentsToDebugString","JSON","stringify","_key","stack","errorToObject","hashComponents","componentKey","componentsToCanonicalString","prepareForSources","delayFallback","fallbackTimeout","deadlineTimeout","Infinity","requestIdleCallback","timeout","requestIdleCallbackIfAvailable","makeAgent","getComponents","creationTime","get","startTime","visitorIdCache","visitorId","confidence","makeLazyGetResult","userAgent","load","monitoring","__fpjs_d_m","random","request","XMLHttpRequest","open","send","monitor","murmurX64Hash128","module","exports","c","defineProperty","enumerable","toStringTag","__esModule","Function","constructor","_state","_handled","_value","_deferreds","_immediateFn","onFulfilled","onRejected","_unhandledRejectionFn","u","catch","finally","race","warn","self","setImmediate","_id","_clearFn","clearTimeout","setInterval","clearInterval","close","unref","ref","enroll","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","clearImmediate","getPrototypeOf","process","nextTick","postMessage","importScripts","onmessage","data","addEventListener","attachEvent","MessageChannel","port1","port2","onreadystatechange","args","run","fun","array","title","browser","env","argv","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","ASM","WASM","JS_WORKER","THREADED_WASM","substr","lastIndexOf","getOwnPropertySymbols","getOwnPropertyDescriptor","forEach","getOwnPropertyDescriptors","defineProperties","configurable","writable","isPdfjs","CustomEvent","detail","bubbles","cancelable","initEvent","PDFNet","skipPDFNetWebViewerWarning","Map","WebViewer","set","instance","getCompleteInstance","removeEventListener","_validateOptions","webviewerServerURL","pdftronServer","fullAPI","forceClientSideInit","Options","path","uiPath","overflow","messageHandler","licenseKey","id","config","_correctRelativePath","autoCreate","enableAzureWorkaround","isAdminUser","isReadOnly","initialDoc","encodeURIComponent","_create","_trigger","dispatchEvent","_createViewer","enableRedaction","_notSupportedMobile","selectedType","isMobileDevice","documentType","_testWebAssembly","mobileRedirect","_getHTML5OptionsURL","location","toLowerCase","_testHTML5","xdomainProxyUrl","isSameOrigin","decodeURIComponent","_testCORS","_createHTML5","_createHTML5Mobile","_viewerLoaded","encryption","parse","decrypt","Core","Encryption","decryptOptions","documentId","extension","getInstance","loadDocument","backendType","pdfBackend","preloadWorker","filename","streaming","externalPath","enableAnnotations","disabledElements","serverUrl","serverUrlHeaders","css","disableI18n","enableOfflineMode","startOffline","enableReadOnlyMode","hideAnnotationPanel","disableToolGroupReordering","annotationUser","annotationAdmin","custom","showLocalFilePicker","enableFilePicker","disableVirtualDisplayMode","enableMeasurement","showToolbarControl","showPageHistoryButtons","notesInLeftPanel","url","azureWorkaround","enableOptimizedWorkers","useDownloader","disableWebsockets","disableStreaming","loadAsPDF","workerTransportPromise","fallbackToClientSide","singleServerMode","accessibleMode","disableLogs","enableViewStateAnnotations","disableFlattenedAnnotations","highContrastMode","selectAnnotationOnCreation","autoFocusNoteOnAnnotationSelection","pathname","setInstanceData","frameBorder","backgroundColor","assetPath","frameborder","dispose","delete","closeDocument","loadListener","setCompleteInstance","completeInstance","WebAssembly","validate","isIE","scrollbarWidth","cssText","clientWidth","href","host","port","protocol","hostname","additionalTranslations","preloadPDFWorker","ui","documentXFDFRetriever","querySelector","Tools","UI_NAMESPACE_KEY","CORE_NAMESPACE_KEY","documentViewer","setDocumentXFDFRetriever","setTranslations","translations","b","WorkerTypes","ALL","OFFICE","LEGACY_OFFICE","PDF","CONTENT_EDIT","BackendTypes","Subscribable","subscribe","listener","onSubscribe","onUnsubscribe","hasListeners","isServer","noop","isValidTimeout","difference","array1","array2","timeUntilStale","updatedAt","staleTime","parseQueryArgs","arg1","arg2","arg3","isQueryKey","queryKey","queryFn","parseMutationArgs","mutationKey","mutationFn","parseFilterArgs","parseMutationFilterArgs","matchQuery","query","exact","fetchStatus","predicate","stale","queryHash","hashQueryKeyByOptions","partialMatchKey","isActive","isStale","matchMutation","mutation","fetching","hashQueryKey","status","queryKeyHashFn","val","isPlainObject","partialDeepEqual","replaceEqualDeep","isPlainArray","aSize","bItems","bSize","copy","equalItems","hasObjectPrototype","ctor","prot","sleep","scheduleMicrotask","replaceData","prevData","isDataEqual","structuralSharing","focusManager","super","setup","onFocus","cleanup","setEventListener","_this$cleanup","_this$cleanup2","focused","setFocused","isFocused","visibilityState","onlineManager","onOnline","online","setOnline","isOnline","onLine","defaultRetryDelay","failureCount","canFetch","networkMode","CancelledError","revert","silent","isCancelledError","createRetryer","continueFn","promiseResolve","promiseReject","isRetryCancelled","isResolved","outerResolve","outerReject","shouldPause","onSuccess","onError","pause","continueResolve","onPause","onContinue","promiseOrValue","fn","_config$retry","_config$retryDelay","retry","retryDelay","delay","shouldRetry","onFail","cancel","cancelOptions","abort","continue","cancelRetry","continueRetry","defaultLogger","queue","transactions","notifyFn","batchNotifyFn","schedule","flush","originalQueue","batch","batchCalls","setNotifyFunction","setBatchNotifyFunction","Removable","destroy","clearGcTimeout","scheduleGc","cacheTime","gcTimeout","optionalRemove","updateCacheTime","newCacheTime","Query","abortSignalConsumed","defaultOptions","setOptions","observers","cache","logger","initialState","initialData","initialDataUpdatedAt","hasData","dataUpdateCount","dataUpdatedAt","errorUpdateCount","errorUpdatedAt","fetchFailureCount","fetchMeta","isInvalidated","meta","remove","setData","newData","dispatch","manual","setState","setStateOptions","_this$retryer","retryer","reset","observer","enabled","isDisabled","getObserversCount","getCurrentResult","isStaleByTime","_this$retryer2","find","shouldFetchOnWindowFocus","refetch","cancelRefetch","_this$retryer3","shouldFetchOnReconnect","addObserver","notify","removeObserver","invalidate","fetch","fetchOptions","_this$options$behavio","_context$fetchOptions","_this$retryer4","abortController","AbortController","queryFnContext","pageParam","addSignalProperty","object","_context$fetchOptions2","fetchFn","behavior","onFetch","revertState","_this$cache$config$on","_this$cache$config","isFetchingOptimistic","_this$cache$config$on2","_this$cache$config2","_action$meta","_action$dataUpdatedAt","notifyManager","onQueryUpdate","QueryCache","queries","queriesMap","build","client","_options$queryHash","getLogger","defaultQueryOptions","getQueryDefaults","add","queryInMap","clear","getAll","findAll","Mutation","mutationId","mutationCache","getDefaultState","execute","async","executeMutation","_this$options$retry","variables","restored","_this$mutationCache$c","_this$mutationCache$c2","onMutate","_this$options$onMutat","_this$options","_this$mutationCache$c3","_this$mutationCache$c4","_this$options$onSucce","_this$options2","_this$options$onSettl","_this$options3","onSettled","_this$mutationCache$c5","_this$mutationCache$c6","_this$options$onError","_this$options4","_this$options$onSettl2","_this$options5","isPaused","onMutationUpdate","MutationCache","mutations","defaultMutationOptions","getMutationDefaults","resumePausedMutations","pausedMutations","infiniteQueryBehavior","_context$fetchOptions3","_context$fetchOptions4","_context$state$data","_context$state$data2","refetchPage","fetchMore","isFetchingNextPage","direction","isFetchingPreviousPage","oldPages","pages","oldPageParams","pageParams","newPageParams","cancelled","buildNewPages","param","page","previous","fetchPage","_context$signal","_context$signal2","aborted","queryFnResult","getNextPageParam","getPreviousPageParam","hasNextPage","nextPageParam","hasPreviousPage","previousPageParam","QueryObserver","trackedProps","Set","selectError","bindMethods","currentQuery","shouldFetchOnMount","executeFetch","updateTimers","shouldFetchOn","refetchOnReconnect","refetchOnWindowFocus","clearStaleTimeout","clearRefetchInterval","notifyOptions","prevOptions","prevQuery","updateQuery","mounted","shouldFetchOptionally","updateResult","updateStaleTimeout","nextRefetchInterval","computeRefetchInterval","currentRefetchInterval","updateRefetchInterval","getOptimisticResult","getQueryCache","createResult","currentResult","trackResult","trackedResult","getCurrentQuery","fetchOptimistic","defaultedOptions","_fetchOptions$cancelR","throwOnError","staleTimeoutId","_this$options$refetch","refetchInterval","nextInterval","refetchIntervalId","refetchIntervalInBackground","prevResult","prevResultState","currentResultState","prevResultOptions","currentResultOptions","queryChange","queryInitialState","currentQueryInitialState","prevQueryResult","previousQueryResult","isPreviousData","isPlaceholderData","_optimisticResults","fetchOnMount","fetchOptionally","keepPreviousData","isSuccess","select","selectFn","selectResult","placeholderData","isFetching","isLoading","isError","isFetched","isFetchedAfterMount","isRefetching","isLoadingError","isRefetchError","nextResult","defaultNotifyOptions","notifyOnChangeProps","size","includedProps","useErrorBoundary","typedKey","has","retryOnMount","refetchOnMount","field","suspense","QueriesObserver","observersMap","setQueries","onUpdate","prevObservers","newObserverMatches","findMatchingObservers","defaultedQueryOptions","newObservers","newObserversMap","fromEntries","newResult","hasIndexChange","matchingObservers","flatMap","matchedQueryHashes","unmatchedQueries","unmatchedObservers","prevObserver","getObserver","currentObserver","newOrReusedObservers","previouslyUsedObserver","InfiniteQueryObserver","fetchNextPage","fetchPreviousPage","_state$data","_state$data2","_state$fetchMeta","_state$fetchMeta$fetc","_state$fetchMeta2","_state$fetchMeta2$fet","MutationObserver","mutate","_this$currentMutation","currentMutation","mutateOptions","getMutationCache","isIdle","_this$mutateOptions$o","_this$mutateOptions","_this$mutateOptions$o2","_this$mutateOptions2","_this$mutateOptions$o3","_this$mutateOptions3","_this$mutateOptions$o4","_this$mutateOptions4","defaultShouldDehydrateMutation","defaultShouldDehydrateQuery","hydrate","dehydratedState","queryCache","dehydratedMutation","_options$defaultOptio","dehydratedQuery","_options$defaultOptio2","defaultContext","React","createContext","QueryClientSharingContext","getQueryClientContext","contextSharing","ReactQueryClientContext","useQueryClient","queryClient","useContext","IsRestoringContext","useIsRestoring","IsRestoringProvider","Provider","createValue","isReset","clearReset","QueryErrorResetBoundaryContext","useQueryErrorResetBoundary","shouldThrowError","_useErrorBoundary","params","useBaseQuery","Observer","isRestoring","errorResetBoundary","useState","useSyncExternalStore","useCallback","onStoreChange","useEffect","useHydrate","optionsRef","useRef","current","useMemo","children","queryDefaults","mutationDefaults","mount","unsubscribeFocus","unsubscribeOnline","unmount","_this$unsubscribeFocu","_this$unsubscribeOnli","isMutating","getQueryData","_this$queryCache$find","getQueriesData","queryKeyOrFilters","setQueryData","updater","input","parsedOptions","setQueriesData","getQueryState","_this$queryCache$find2","removeQueries","resetQueries","refetchFilters","refetchQueries","cancelQueries","promises","invalidateQueries","_ref","_filters$refetchType","refetchType","_options$cancelRefetc","fetchQuery","prefetchQuery","fetchInfiniteQuery","prefetchInfiniteQuery","getDefaultOptions","setDefaultOptions","setQueryDefaults","firstMatchingDefaults","setMutationDefaults","_defaulted","Context","dehydrateMutations","shouldDehydrateMutation","dehydrateQueries","shouldDehydrateQuery","mutateAsync","defaultedQueries","hasOwn","classNames","classes","arg","argType","inner","QueryHandler","require","each","MediaQuery","isUnconditional","handlers","mql","currentTarget","assess","constuctor","addHandler","handler","qh","removeHandler","equals","splice","Util","isFunction","MediaQueryDispatch","browserIsIncapable","register","q","shouldDegrade","unregister","deferSetup","initialised","unmatch","target","collection","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","isMemo","ForwardRef","render","Memo","getOwnPropertyNames","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","descriptor","for","z","$$typeof","A","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","condition","format","argIndex","framesToPop","camel2hyphen","obj2mq","obj","mq","features","feature","isDimension","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","freeGlobal","global","freeSelf","objectToString","nativeMax","nativeMin","isObject","toNumber","isObjectLike","isSymbol","other","valueOf","isBinary","func","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","leadingEdge","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","remainingWait","debounced","isInvoking","insertAt","head","getElementsByTagName","firstChild","insertBefore","styleSheet","createTextNode","closeIconTypes","circle","circle2","OutsideAlerter","props","clickEvent","wrapperRef","outsideClick","handleClickOutside","contains","Multiselect","inputValue","filteredOptions","unfilteredOptions","selectedValues","preSelectedValues","toggleOptionsList","highlightOption","avoidHighlightFirstOption","showCheckbox","keepSearchTerm","groupedObject","closeIconType","closeIcon","optionTimeout","searchWrapper","createRef","searchBox","onChange","onKeyPress","onBlur","renderMultiselectContainer","renderSelectedList","onRemoveSelectedItem","toggelOptionList","onArrowKeyNavigation","onSelectItem","filterOptionsByInput","removeSelectedValuesFromOptions","isSelectedValue","fadeOutSelection","isDisablePreSelectedValues","renderGroupByOptions","renderNormalOption","listenerCallback","resetSelectedValues","getSelectedItems","getSelectedItemsCount","hideOnClickOutside","onCloseOptionList","isVisible","initialSetValue","groupBy","singleSelect","groupByOptions","_proto","_this2","componentDidMount","componentDidUpdate","prevProps","prevSelectedvalues","focus","componentWillUnmount","skipCheck","displayValue","optionList","findIndex","item","onSearch","onKeyPressFn","_this3","matchValues","search","caseSensitiveSearch","keyCode","disablePreSelectedValues","previousState","onRemove","_this4","closeOnSelect","selectionLimit","onSelect","onSingleSelect","_this5","renderOptionList","emptyRecordMsg","loadingMessage","loading","className","optionContainer","notFound","groupHeading","option","isSelected","_this6","onClick","readOnly","checked","optionValueDecorator","_this7","customCloseIcon","_this8","chips","selectedValueDecorator","elem","getClientRects","getElementsByClassName","_this9","placeholder","hidePlaceholder","disable","showArrow","customArrow","multiselectContainer","hideSelectedList","onKeyDown","inputField","autoComplete","disabled","onMouseDown","preventDefault","Component","propIsEnumerable","propertyIsEnumerable","toObject","test1","test2","test3","letter","err","shouldUseNative","from","symbols","to","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","getShim","isRequired","ReactPropTypes","bigint","bool","number","string","symbol","any","arrayOf","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","checkPropTypes","PropTypes","ex","React__default","UAParser","ClientUAInstance","getBrowser","cpu","getCPU","device","getDevice","engine","getEngine","os","getOS","ua","getUA","setUa","userAgentString","setUA","parseUserAgent","UserAgentInstance","UA","setUserAgent","UAHelper","freeze","ownKeys","enumerableOnly","sym","_typeof","_defineProperties","_defineProperty","_extends","_getPrototypeOf","setPrototypeOf","__proto__","_setPrototypeOf","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","_assertThisInitialized","ReferenceError","_slicedToArray","arr","_arrayWithHoles","_s","_arr","_n","_iterableToArrayLimit","minLen","_arrayLikeToArray","_unsupportedIterableToArray","_nonIterableRest","len","arr2","DeviceTypes","BrowserTypes","Chrome","Firefox","Opera","Yandex","Safari","InternetExplorer","Edge","Chromium","Ie","MobileSafari","EdgeChromium","MIUI","SamsungBrowser","OsTypes","IOS","Android","WindowsPhone","Windows","MAC_OS","InitialDeviceTypes","isMobile","isTablet","isBrowser","isSmartTV","isConsole","isWearable","setDefaults","getNavigatorInstance","isIOS13Check","nav","MSStream","mobilePayload","_objectSpread2","model","osVersion","isMobileType","isTabletType","_ref2","isMobileAndTabletType","_ref3","isSmartTVType","_ref4","isBrowserType","_ref5","isWearableType","_ref6","isConsoleType","_ref7","isEmbeddedType","_ref8","getMobileVendor","_ref9","getMobileModel","_ref10","getDeviceType","_ref11","isAndroidType","_ref12","isWindowsType","_ref13","isMacOsType","_ref14","isWinPhoneType","_ref15","isIOSType","_ref16","getOsVersion","_ref17","getOsName","_ref18","isChromeType","_ref19","isFirefoxType","_ref20","isChromiumType","_ref21","isEdgeType","_ref22","isYandexType","_ref23","isSafariType","_ref24","isMobileSafariType","_ref25","isOperaType","_ref26","isIEType","_ref27","isMIUIType","_ref28","isSamsungBrowserType","_ref29","getBrowserFullVersion","_ref30","getBrowserVersion","_ref31","major","getBrowserName","_ref32","getEngineName","_ref33","getEngineVersion","_ref34","isElectronType","isEdgeChromiumType","getIOS13","getIPad13","getIphone13","getIPod13","getUseragent","userAg","buildSelectorsObject","isEmbedded","isMobileSafari","isMobileOnly","isDesktop","isWinPhone","isIOS","isChrome","isFirefox","isSafari","isOpera","osName","fullBrowserVersion","browserVersion","browserName","mobileVendor","mobileModel","engineName","engineVersion","isEdge","isYandex","deviceType","isIOS13","isIPad13","isIPhone13","isIPod13","isElectron","isEdgeChromium","isLegacyEdge","isWindows","isMacOs","isMIUI","isSamsungBrowser","useDeviceData","hookUserAgent","aa","ca","da","ea","fa","ha","ia","ja","ka","la","ma","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","ra","sa","toUpperCase","ta","pa","qa","oa","removeAttribute","setAttributeNS","xlinkHref","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","trim","Na","Oa","prepareStackTrace","construct","Pa","Qa","_context","_payload","_init","Ra","Sa","Ta","nodeName","Va","_valueTracker","getValue","setValue","stopTracking","Ua","Wa","Xa","activeElement","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","initialValue","controlled","ab","bb","cb","db","ownerDocument","eb","fb","selected","defaultSelected","gb","dangerouslySetInnerHTML","hb","ib","jb","kb","lb","mb","nb","namespaceURI","innerHTML","MSApp","execUnsafeLocalFunction","ob","lastChild","nodeType","nodeValue","pb","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","rb","sb","charAt","substring","tb","menuitem","area","br","col","embed","hr","img","keygen","link","track","wbr","ub","vb","is","wb","xb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","return","flags","Wb","memoizedState","dehydrated","Xb","Zb","child","sibling","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","B","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","clz32","pc","qc","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","C","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","isDehydrated","containerInfo","Xc","Yc","shift","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","dd","ed","transition","fd","gd","hd","Uc","stopPropagation","jd","kd","ld","md","nd","od","charCode","pd","qd","rd","_reactName","_targetInst","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","timeStamp","isTrusted","td","ud","view","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","code","repeat","locale","which","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","date","datetime","email","month","password","range","tel","week","me","ne","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","De","Ee","Fe","He","Je","Ke","nextSibling","Le","compareDocumentPosition","Me","HTMLIFrameElement","Ne","contentEditable","Oe","focusedElem","selectionRange","end","selectionStart","selectionEnd","defaultView","getSelection","extend","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","scrollTop","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","D","of","pf","qf","rf","sf","capture","passive","J","F","tf","uf","parentWindow","vf","wf","na","xa","$a","ba","je","char","ke","unshift","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","Gf","Hf","Jf","queueMicrotask","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","E","G","Vf","H","Wf","Xf","Yf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","I","zg","Ag","Bg","deletions","Cg","pendingProps","treeContext","retryLane","Dg","mode","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","_currentValue","Sg","childLanes","Tg","dependencies","firstContext","lanes","Ug","Vg","memoizedValue","Wg","Xg","Yg","interleaved","Zg","$g","ah","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","bh","ch","eventTime","lane","payload","dh","K","eh","fh","gh","hh","ih","jh","refs","kh","nh","isMounted","_reactInternals","enqueueSetState","L","lh","mh","enqueueReplaceState","enqueueForceUpdate","oh","shouldComponentUpdate","isPureReactComponent","ph","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","rh","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","sh","_owner","_stringRef","th","uh","vh","wh","xh","yh","implementation","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","tagName","Jh","Kh","Lh","Mh","revealOrder","Nh","Oh","_workInProgressVersionPrimary","Ph","ReactCurrentDispatcher","Qh","Rh","N","O","Sh","Th","Uh","Vh","Q","Wh","Xh","Yh","Zh","$h","ai","bi","ci","baseQueue","di","ei","fi","lastRenderedReducer","hasEagerState","eagerState","lastRenderedState","gi","hi","ii","ji","ki","getSnapshot","li","mi","R","ni","lastEffect","stores","oi","pi","qi","ri","deps","si","ti","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","readContext","useImperativeHandle","useInsertionEffect","useLayoutEffect","useReducer","useDebugValue","useDeferredValue","useTransition","useMutableSource","useId","unstable_isNewReconciler","identifierPrefix","Ki","digest","Li","Mi","Ni","WeakMap","Oi","Pi","Qi","Ri","componentDidCatch","Si","componentStack","Ti","pingCache","Ui","Vi","Wi","Xi","ReactCurrentOwner","Yi","Zi","$i","aj","bj","cj","dj","ej","baseLanes","cachePool","transitions","fj","gj","hj","ij","jj","UNSAFE_componentWillUpdate","componentWillUpdate","kj","lj","pendingContext","mj","Aj","Cj","Dj","nj","oj","pj","fallback","qj","rj","tj","dataset","dgst","uj","vj","_reactRetry","sj","subtreeFlags","wj","xj","isBackwards","rendering","renderingStartTime","last","tail","tailMode","yj","Ej","S","Fj","Gj","wasMultiple","multiple","suppressHydrationWarning","onclick","createElementNS","autoFocus","T","Hj","Ij","Jj","Kj","U","Lj","WeakSet","V","Mj","W","Nj","Oj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","_reactRootContainer","Xj","X","Yj","Zj","ak","onCommitFiberUnmount","bk","ck","dk","ek","fk","isHidden","gk","hk","display","ik","jk","kk","lk","__reactInternalSnapshotBeforeUpdate","Wk","mk","ceil","nk","ok","pk","Y","Z","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","finishedWork","finishedLanes","Qk","timeoutHandle","Rk","Sk","Tk","Uk","Vk","mutableReadLanes","Bc","Pj","onCommitFiberRoot","mc","onRecoverableError","Xk","onPostCommitFiberRoot","Yk","Zk","al","isReactComponent","pendingChildren","bl","mutableSourceEagerHydrationData","cl","pendingSuspenseBoundaries","dl","el","fl","gl","hl","zj","$k","ll","reportError","ml","_internalRoot","nl","ol","pl","ql","sl","rl","unstable_scheduleHydration","querySelectorAll","form","tl","usingClientEntryPoint","Events","ul","findFiberByHostInstance","bundleType","rendererPackageName","vl","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","wl","supportsFiber","inject","createPortal","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","hasElementType","hasMap","hasSet","hasArrayBuffer","ArrayBuffer","isView","equal","it","entries","RegExp","PrevArrow","NextArrow","_react","_interopRequireDefault","_classnames","_innerSliderUtils","_objectSpread","_classCallCheck","Constructor","_createClass","protoProps","staticProps","_inherits","subClass","superClass","_createSuper","Derived","hasNativeReflectConstruct","sham","Proxy","Boolean","_isNativeReflectConstruct","Super","NewTarget","_possibleConstructorReturn","_React$PureComponent","_super","clickHandler","prevClasses","prevHandler","infinite","currentSlide","slideCount","slidesToShow","prevArrowProps","customProps","prevArrow","cloneElement","PureComponent","_React$PureComponent2","_super2","nextClasses","nextHandler","canGoNext","nextArrowProps","nextArrow","_default","accessibility","adaptiveHeight","afterChange","appendDots","dots","arrows","autoplay","autoplaySpeed","beforeChange","centerMode","centerPadding","cssEase","customPaging","dotsClass","draggable","easing","edgeFriction","fade","focusOnSelect","initialSlide","lazyLoad","onEdge","onInit","onLazyLoadError","onReInit","pauseOnDotsHover","pauseOnFocus","pauseOnHover","responsive","rows","rtl","slide","slidesPerRow","slidesToScroll","speed","swipe","swipeEvent","swipeToSlide","touchMove","touchThreshold","useCSS","useTransform","variableWidth","vertical","waitForAnimate","Dots","spec","_this$props","onMouseEnter","onMouseOver","onMouseLeave","dotCount","mouseEvents","_rightBound","rightBound","clamp","_leftBound","leftBound","dotOptions","animating","autoplaying","currentDirection","currentLeft","dragging","edgeDragged","initialized","lazyLoadedList","listHeight","listWidth","scrolling","slideHeight","slideWidth","swipeLeft","swiped","swiping","touchObject","startX","startY","curX","curY","trackStyle","trackWidth","targetSlide","InnerSlider","_initialState","_lodash","_track","_dots","_arrows","_resizeObserverPolyfill","_React$Component","list","getHeight","slidesToLoad","getOnDemandLazySlides","prevState","onLazyLoad","listRef","trackRef","updateState","adaptHeight","autoPlay","lazyLoadTimer","progressiveLazyLoad","onWindowResized","callbackTimers","observe","onfocus","onSlideFocus","onblur","onSlideBlur","animationEndCallback","timer","autoplayTimer","disconnect","checkImagesLoad","setTrackStyle","didPropsChange","Children","count","changeSlide","debouncedResize","resizeWindow","isTrackMounted","updatedState","initializedState","slideIndex","targetLeft","getTrackLeft","getTrackCSS","_trackWidth","_trackLeft","childrenWidths","preClones","getPreClones","postClones","getPostClones","_i2","_trackStyle","currentWidth","childrenCount","trackLeft","images","imagesCount","loadedCount","image","prevClickHandler","_index","dontAnimate","asNavFor","_slideHandler","slideHandler","nextState","asNavForIndex","innerSlider","firstBatch","nodes","clickable","dir","keyHandler","ontouchmove","verticalSwiping","disableBodyScroll","swipeStart","swipeMove","swipeEnd","triggerSlideHandler","enableBodyScroll","Number","nextIndex","playType","play","pauseType","trackProps","extractObject","onTrackOver","onTrackLeave","selectHandler","dotProps","onDotsLeave","onDotsOver","arrowProps","verticalHeightStyle","centerPaddingStyle","padding","listStyle","listProps","onMouseMove","onMouseUp","onTouchStart","onTouchMove","onTouchEnd","touchEnd","onTouchCancel","innerSliderProps","unslick","listRefHandler","Track","trackRefHandler","ssrState","ssrInit","_i3","_Object$keys","_innerSlider","_json2mq","_defaultProps","enquire","canUseDOM","Slider","slickPrev","slickNext","slickGoTo","breakpoint","_responsiveMediaHandlers","breakpoints","breakpt","bQuery","minWidth","maxWidth","media","settings","newProps","resp","toArray","newChildren","newSlide","row","tabIndex","innerSliderRefHandler","getSlideClasses","slickActive","slickCenter","slickCloned","centerOffset","floor","getKey","fallbackKey","renderSlides","slides","preCloneSlides","postCloneSlides","startIndex","lazyStartIndex","endIndex","lazyEndIndex","childOnClickOptions","childStyle","getSlideStyle","slideClass","slideClasses","outline","preCloneNo","_len","handleRef","checkSpecKeys","checkNavigable","slidesOnRight","slidesOnLeft","siblingDirection","safePreventDefault","lazySlidesOnRight","lazySlidesOnLeft","getWidth","getTrackAnimateCSS","getTotalSlides","getSwipeDirection","getSlideCount","getRequiredLazySlides","getNavigableIndexes","lowerBound","upperBound","onDemandSlides","requiredSlides","xDist","yDist","swipeAngle","atan2","canGo","newObject","listNode","trackNode","centerPaddingAdj","finalSlide","animationLeft","finalLeft","animationSlide","indexOffset","previousInt","slideOffset","previousTargetSlide","curLeft","swipeLength","verticalSwipeLength","positionOffset","swipeDirection","touchSwipeLength","onSwipe","minSwipe","activeSlide","counter","indexes","navigables","prevNavigable","swipedSlide","slickList","every","offsetTop","offsetLeft","currentIndex","keysArray","trackHeight","trackChildren","WebkitTransition","WebkitTransform","transform","msTransform","marginTop","marginLeft","slidesToOffset","targetSlideIndex","trackElem","childNodes","right","__extends","__rest","__decorate","__param","__metadata","__createBinding","__exportStar","__values","__read","__spread","__spreadArray","__await","__asyncGenerator","__asyncDelegator","__asyncValues","__makeTemplateObject","__importStar","__importDefault","__classPrivateFieldGet","__classPrivateFieldSet","decorate","metadata","throw","asyncIterator","raw","useReactToPrint","PrintContextConsumer","Consumer","copyStyles","pageStyle","removeAfterPrint","suppressErrors","startPrint","onAfterPrint","onPrintError","print","documentTitle","handleRemoveIframe","logMessages","contentDocument","triggerPrint","onBeforePrint","handleClick","onBeforeGetContent","handlePrint","bodyClass","content","nonce","cloneNode","Text","linkTotal","linksLoaded","linksErrored","fontsLoaded","fontsErrored","FontFace","family","loaded","classList","drawImage","getAttribute","Image","preload","onloadeddata","onstalled","sheet","cssRules","getElementById","trigger","__self","__source","jsx","jsxs","forceUpdate","escape","_status","_result","only","_currentValue2","_threadCount","_defaultValue","_globalName","createFactory","forwardRef","isValidElement","lazy","memo","startTransition","unstable_act","MapShim","getIndex","entry","class_1","__entries__","ctx","global$1","requestAnimationFrame$1","requestAnimationFrame","transitionKeys","mutationObserverSupported","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","leadingCall","trailingCall","resolvePending","proxy","timeoutCallback","throttle","connect_","disconnect_","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","childList","characterData","subtree","instance_","defineConfigurable","getWindowOf","emptyRect","createRectInit","getBordersSize","styles","positions","getHTMLElementContentRect","clientHeight","getComputedStyle","paddings","positions_1","getPaddings","horizPad","vertPad","bottom","boxSizing","isDocumentElement","vertScrollbar","horizScrollbar","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","getSVGContentRect","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","broadcastRect","ResizeObserverEntry","rectInit","contentRect","Constr","DOMRectReadOnly","createReadOnlyRect","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","observations","unobserve","clearActive","observation","ResizeObserver","method","sortIndex","performance","expirationTime","priorityLevel","scheduling","isInputPending","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","unstable_wrapCallback","objA","objB","compareContext","ret","keysA","keysB","bHasOwnProperty","idx","valueA","valueB","str","FUNC_TYPE","UNDEF_TYPE","OBJ_TYPE","STR_TYPE","MODEL","NAME","TYPE","VENDOR","VERSION","ARCHITECTURE","CONSOLE","MOBILE","TABLET","SMARTTV","WEARABLE","EMBEDDED","AMAZON","APPLE","ASUS","BLACKBERRY","FIREFOX","GOOGLE","HUAWEI","LG","MICROSOFT","MOTOROLA","OPERA","SAMSUNG","SHARP","SONY","XIAOMI","ZEBRA","FACEBOOK","enumerize","enums","str1","str2","lowerize","rgxMapper","arrays","regex","strMapper","windowsVersionMap","ME","XP","Vista","RT","regexes","CHROME","EDGE","extensions","_ua","_rgxmap","mergedRegexes","_browser","_cpu","_device","_engine","_os","BROWSER","CPU","DEVICE","ENGINE","OS","define","$","jQuery","Zepto","parser","prop","inst","warning","arrayLikeToArray","asyncGeneratorStep","gen","_next","_throw","info","toPropertyKey","isNativeReflectConstruct","possibleConstructorReturn","superPropBase","_get","receiver","desc","iter","_x","_r","objectWithoutPropertiesLoose","assertThisInitialized","_regeneratorRuntime","Op","$Symbol","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","makeInvokeMethod","tryCatch","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","_invoke","AsyncIterator","PromiseImpl","invoke","record","unwrapped","previousPromise","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","_sent","dispatchException","abrupt","methodName","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","isGeneratorFunction","genFun","mark","awrap","skipTempReset","prev","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","arrayWithoutHoles","iterableToArray","nonIterableSpread","hint","prim","toPrimitive","res","ArrayProto","ObjProto","SymbolProto","supportsArrayBuffer","supportsDataView","DataView","nativeIsArray","nativeKeys","nativeCreate","nativeIsView","_isNaN","_isFinite","isFinite","hasEnumBug","nonEnumerableProps","MAX_ARRAY_INDEX","restArguments","rest","isNull","isUndefined","isBoolean","tagTester","nodelist","Int8Array","hasStringTagBug","hasObjectTag","isIE11","isDataView","getInt8","isArrayBuffer","isArguments","isNumber","constant","createSizePropertyCheck","getSizeProperty","sizeProperty","shallowProperty","getByteLength","typedArrayPattern","isBufferLike","collectNonEnumProps","emulatedSet","nonEnumIdx","proto","isEmpty","getLength","isString","isMatch","attrs","_keys","_wrapped","toBufferView","bufferSource","Uint8Array","byteOffset","toJSON","tagDataView","eq","aStack","bStack","deepEq","areArrays","isTypedArray","aCtor","bCtor","isEqual","allKeys","ie11fingerprint","methods","weakMapMethods","forEachName","commonInit","mapTail","mapMethods","setMethods","pairs","invert","functions","names","createAssigner","keysFunc","defaults","baseCreate","Ctor","extendOwn","clone","tap","interceptor","toPath","deepGet","_has","identity","matcher","optimizeCb","argCount","accumulator","baseIteratee","iteratee","mapObject","results","currentKey","propertyOf","times","accum","getTime","createEscaper","escaper","testRegexp","replaceRegexp","escapeMap","templateSettings","evaluate","interpolate","noMatch","escapes","escapeRegExp","escapeChar","bareIdentifier","template","oldSettings","argument","variable","idCounter","uniqueId","prefix","chain","_chain","executeBound","sourceFunc","boundFunc","callingContext","partial","boundArgs","bound","callArgs","flatten","depth","strict","output","isArrayLike","memoize","hasher","address","later","throttled","_now","remaining","debounce","immediate","passed","_args","wrapper","negate","compose","after","before","findKey","createPredicateIndexFinder","sortedIndex","low","high","mid","createIndexFinder","predicateFind","findLastIndex","findWhere","createReduce","reducer","initial","fromIndex","guard","contextPath","pluck","where","computed","lastComputed","reStrSymbol","sample","rand","temp","shuffle","sortBy","criteria","group","partition","pass","keyInObj","pick","first","compact","_flatten","otherArrays","uniq","isSorted","seen","intersection","argsLength","unzip","chunk","chainResult","mixin","allExports","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","amdO","getter","definition","chunkId","miniCssF","globalThis","inProgress","dataWebpackPrefix","script","needAttach","scripts","charset","nc","onScriptComplete","doneFns","installedChunks","installedChunkData","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","runtime","chunkLoadingGlobal","NavigationContext","LocationContext","RouteContext","outlet","invariant","cond","matchRoutes","routes","locationArg","basename","stripBasename","parsePath","branches","flattenRoutes","siblings","compareIndexes","routesMeta","childrenIndex","rankRouteBranches","matchRouteBranch","parentsMeta","parentPath","route","relativePath","caseSensitive","startsWith","joinPaths","computeScore","paramRe","isSplat","segments","initialScore","segment","branch","matchedParams","matchedPathname","remainingPathname","matchPath","pathnameBase","normalizePathname","pattern","paramNames","regexpSource","paramName","endsWith","compilePath","captureGroups","splatValue","safelyDecodeURIComponent","resolveTo","toArg","routePathnames","locationPathname","toPathname","routePathnameIndex","toSegments","fromPathname","resolvePathname","normalizeSearch","normalizeHash","resolvePath","nextChar","paths","useHref","useInRouterContext","useResolvedPath","joinedPathname","getToPathname","endsWithSlash","createHref","useLocation","useNavigate","routePathnamesJson","activeRef","navigate","go","OutletContext","useParams","routeMatch","_renderMatches","parentMatches","reduceRight","React.createElement","Outlet","useOutlet","Route","_props","Router","basenameProp","locationProp","navigationType","NavigationType","static","staticProp","navigationContext","trailingPathname","Routes","parentParams","parentPathnameBase","locationFromContext","parsedLocationArg","_parsedLocationArg$pa","useRoutes","createRoutesFromChildren","TAG_PROPERTIES","TAG_NAMES","BASE","BODY","HEAD","HTML","LINK","META","NOSCRIPT","SCRIPT","STYLE","TITLE","FRAGMENT","SEO_PRIORITY_TAGS","rel","VALID_TAG_NAMES","REACT_TAG_MAP","accesskey","class","contenteditable","contextmenu","itemprop","tabindex","HTML_TAG_MAP","getInnermostProperty","propsList","getTitleFromPropsList","innermostTitle","innermostTemplate","innermostDefaultTitle","getOnChangeClientState","getAttributesFromPropsList","tagType","tagAttrs","getBaseTagFromPropsList","primaryAttributes","innermostBaseTag","lowerCaseAttributeKey","getTagsFromPropsList","approvedSeenTags","approvedTags","instanceTags","instanceSeenTags","primaryAttributeKey","attributeKey","tagUnion","getAnyTrueFromPropsList","checkedTag","flattenArray","possibleArray","prioritizer","elementsList","propsToMatch","acc","elementAttrs","toMatch","without","_extends2","SELF_CLOSING_TAGS","encodeSpecialCharacters","encode","generateElementAttributesAsString","attr","convertElementAttributesToReactProps","initProps","generateTagsAsReactComponent","tags","mappedTag","_mappedTag","mappedAttribute","attribute","getMethodsForTag","toComponent","generateTitleAsReactComponent","titleAttributes","_initProps","attributeString","flattenedTitle","generateTagsAsString","attributeHtml","tagContent","isSelfClosing","mapStateOnServer","baseTag","bodyAttributes","htmlAttributes","noscriptTags","styleTags","_props$title","linkTags","metaTags","scriptTags","priorityMethods","prioritizeSeoTags","_getPriorityMethods","noscript","instances","HelmetData","setHelmet","helmet","serverState","helmetInstances","providerShape","helmetData","updateTags","indexToDelete","headElement","tagNodes","oldTags","newTags","newElement","existingTag","isEqualNode","updateAttributes","elementTag","helmetAttributeString","helmetAttributes","attributesToRemove","attributeKeys","indexToSave","commitTagChanges","newState","onChangeClientState","tagUpdates","addedTags","removedTags","_tagUpdates$tagType","_helmetCallback","Dispatcher","rendered","nextProps","shallowEqual","emitChange","defer","cancelAnimationFrame","init","Helmet","fastCompare","mapNestedChildrenToProps","nestedChildren","flattenArrayTypeChildren","arrayTypeChildren","newChildProps","mapObjectTypeChildren","_extends3","_extends4","mapArrayTypeChildrenToProps","newFlattenedProps","arrayChildName","_extends5","warnOnInvalidChildren","nestedChild","mapChildrenToProps","childProps","defaultTitle","titleTemplate","_toPropertyKey","extraModules","modules","socialLoginUrl","logout","scriptTealium","urlSmart","API_URL_SITO","API_URL_LOGIN_CENTRALE","API_URL_PROFILO","API_URL_GETPROFILO","BACKEND_SERVICE","QRCODE_SERVICE","token","STATIC_TOKEN","serviceToCall","configSection","configSectionNoToken","manageSiacSession","dynamicTokenExt","dynamicTokenExtNoAcc","getProdotti","refreshToken","countNotification","getNotification","updateStateNotification","getDocumento","getProdottiFrizzera","getTaxonomy","getDocumentsByLeaf","getSummarySmart","getResultSearch","update","qrCodeActivation","getUserType","getTokenInfo","getDisposizioni","getRelatedDocuments","getCountReferences","nameList","strumentiProf","ultimeUscite","leggendo","segnalibro","documentiConNote","note","continuaALegg","proposteAbbon","piuLetti","listPiuLetti","tiPotrebbeInteressare","giaLetti","daLeggere","tipoDocument","getLittleSumm","getSchedaPac","getLibriPacc","getLibriInteress","getTestataHtml","getBuyOrNot","getAggiornamentiReader","getInformationBookmarks","getBuyedOrNot","getAnni","archivio","ricercaPerTitolo","getPacchetto","getDocumentoSommario","getContenutiEsistentiQr","getAreeTematiche","getAggiungiPiuLetti","getNormaCommentata","serviceDocumenti","documento","autori","libroPdf","normaCommentata","jsonorb","jsonorb_apikey","jsonorb_addCache","appKey","appId","xpath","src_dst","app_js","imgGenericOG","imgLink","imgLinkPacchetti","imgDefaultPacch","imgDefaultLibro","imgDefault1","imgDefault2","imgDefault3","imgFaq1","imgFaq2","imgFaq3","imgAdv","domain","siteCode","bioMancante","getPDF","Research","queryExtFirstPiece","queryExtIsUpdated","Zoom","initialScale","minScale","maxScale","initialPositionX","initialPositionY","linkToViewerntpro","linkRegistration","forgotPassword","linkFooter","datiSocietari","websystem","informativaCookies","privacyPolicy","linkProfiloPersonale","seppia","yellow","pink","violet","dataValue","themeAreas","imgPath","types","linkScopriDiPiu","licenseKeyPdfExpress","ip","LOWERCASE_TRANSFORMER","fragments","separator","CAMELCASE_REGEXP_PATTERN","COMBINING_CHARS","CONVERT","CONVERT_CAMELCASE","convert","camelCase","transformer","dictionary","definitions","addedCharsCount","normalize","getAreaTheme","exportToArrayForFE","documenti","arrayProducts","idToDelete","idProv","idprovvedimento","idDocForReading","idDoc","IdDocumento","isNew","novita","isUpdating","aggiornamento","titolo","auth","autore","immagine","themeArea","convertThemeArea","area_tematica","idForDelete","idForReading","iddocumento","testo","ordine","convertArrayForFEBuyOrNot","arrayFEBuyOrNot","idDocType","iddoctype","nodo","buy","acquista","themesArea","validURL","encodeURI","isPDF","converObjectForFE","idDocument","areaTematicaList","type_desc","tipo_descrizione","descrizione","aggiornato","type_summ","tipo_sommario","ind_summ","indice_sommario","node_indx_summ","nodo_indice_sommario","pdf_summ","sommario_pdf","preview","anteprima","pack","nodo_pacchetto","packString","convertedThemesArea","titleArea","castForLogin","bodyToCast","formBody","encodedKey","encodedValue","createCookieForDocument","days","expires","setTime","toGMTString","removeCookieSoleAuth","getCookie","removeCookie","nameEQ","settingArrayParams","areaTematica","inputParameters","idDocumento","arrayInputParam","documentiToSend","createImgLink","imgNumber","stringToArray","checkSoleaAuth","splitFisco","filterFisco","mustToken","castDate","toLocaleString","getMonth","getDateNow","today","yyyy","mm","getDate","userNotHaveToken","arrayError","themeAreaDescription","arrayFormatted","arrayNote","idNote","underlinedText","titleUrlSlug","urlSlug","titleUrlSlugForTealium","titleFormatted","newTitle","indx","replaceAll","newTitleFormatted","createInputParameters","facet","stringOfPath","createArrayInputParamsArchive","wordToSearch","revOrRec","onlyMyBook","isUpdated","year","inputParams","filtersArray","getArea","convertArrayForFEArchive","arrayToReturn","idProvvedimento","updated","abstract","documents","isFrizzera","famiglia","edit","editore","dataDocument","bodyFormattedNotification","nowTime","toISOString","bodyFormattedNotificationGet","notificationListForFe","Documents","arrayFormated","alert","tipo","properties","isRead","stato","idProdotto","idprodotto","castDateNote","timestamp","splitted","ev","alt","BrowserRouter","historyRef","createBrowserHistory","history","listen","Link","reloadDocument","internalOnClick","replaceProp","isModifiedEvent","createPath","useLinkClickHandler","NavLink","ariaCurrentProp","classNameProp","styleProp","ariaCurrent","isLoadingContext","IsLoadingContextProvider","setIsLoading","finishedLoading","ctxValues","setIfIsLoading","updateView","page_name","authCtx","tokenCtx","titleSpecial","arraySplitPageName","page_category1","page_category2","page_category10","page_content_type","visitor_status","isLoggedIn","user_status","userModules","user_email","user_id","username","page_category3","page_category4","search_terms","utag","updateLink","titleContainer","extraInformation","arraySplit","event_name","uta_data","name_page","choosePageName","event_type","namePage","AuthContext","isSoleAuth","showLoginModal","redirectUrl","onLogout","onLogin","rememberMe","AuthContexProvider","setUsername","setEmail","setIsSoleAuth","setIsLoggedIn","setShowLoginModal","setProvider","setProfile","isLoadingCtx","response","useHttpRequest","logoutHandler","isClicked","removeItem","loginUserProfile","soleAuht","completeUrl","req","headers","sendRequest","Success","Result","getItem","setItem","contextValue","genericFunction","isClick","getSoleAuth","Exception","toAppendUrl","UserIdentity","RURL","RememberMe","showModalLog","isShow","loginSocialProfile","provider","checkSoleaAuthExp","TokenContext","xmlconfig","isSubscribed","TokenContextProvider","setModules","provvedimenti","setProvvedimenti","modulesComplete","setModulesComplete","associazioneModuliPacchetti","setAssociazioneModuliPacchetti","arricchimenti","setArricchimenti","setUserModules","userModulesWithId","setUserModulesWithId","setIsSubscribed","setToken","ipAddress","setIpAddress","callManageSIACSession","setCallManageSIACSession","fingerPrint","setFingerPrint","showMessageSiac","setShowMessageSiac","userType","setUserType","selectedValuesToken","setSelectedValuesToken","sendRqst","loadProductConfig","bodyFormatted","parameters","Moduli","Modulo","modulesInArray","modulesCompleteInArray","arrayAssociazioneModuli","AssociazioneModuliPacchetti","Associazione","assModPacc","prevModulesList","prevModuleListComplete","callGetUserProfile","StatusCode","loadDynamicToken","getDynamicTokenExtNoAccountingLog","arrayFor","byPassOldToken","settingCookies","arrayModulesUser","popupCookie","popups","loginCounter","FingerprintJS","fpPromise","fp","userKey","cSessions","skipVerificaModuli","skipLoginProdotto","environment","accountType","requestToSend","statusCode","logoutToken","userName","service","encryptParams","rqst","callLoadDynamicToken","tokenInfo","refreshingToken","contextValues","loadProduct","loadProductFromToken","norma_commentata_correlati","sp","loadDynToken","setIpConf","closeMessageManageSiac","modulesSelected","allmodules","allProvvedimenti","allAssocModPac","setError","requestConf","isCredential","isLogin","requestObjBase","requestObjWithCred","credentials","redirected","json","Message","reload","isLarge","notification","refreshCountAndNotification","notificationList","notificationNumber","setNotificationNumber","setNotificationList","setRefresh","notificationListFe","role","clickNotifyButton","isIntegrateInBD","clickButton","saveNewNoteConfig","genericFunc","prop1","prop2","prop3","bookTitle","prop4","prop5","prop6","updateNotesConfig","oldNotes","$oid","getDocumentEditWithNotes","blockOrNotContent","excludeUserKey","fields","pageNumber","pageSize","getTotalDocs","trueSave","documentText","updateDocument","documentToUpd","saveOrUpdateNote","updatedNotes","idOfDocument","objToSave","getNotes","getGenericTag","distinctField","updateNotes","setDelete","dropdownlist","ArraySelectedOptions","selectedItem","addElement","removedItem","removeElement","closeAllMenu","noteAndTag","useManangeNoteAndTagOnReader","setIsDisabled","disabledMyNotes","setDisabledMyNotes","setClickButton","setClickNotifyButton","arrayToken","setArrayToken","updateToken","setUpdateToken","delayFunction","addItem","showLogoSole","classSticky","setWordToSearch","goToResearch","newWord","onKeyUp","showSecondRow","bodyFormattedResearch","isFirstLevel","changeCategory","onlyMyB","queryExt","materia","subjectsString","addSubjects","facetMinCount","facetSortIndex","hierarchical","facetPrefix","bodyFormattedAcquista","idProvvedimenti","tokenNotExist","staticToken","createArrayInputParams","useDynamicToken","bodyFormattedRelDoc","docId","bodyFormattedSumm","wantDynamicToken","packages","taxId","taxParentId","leafDocuments","use_pcpa","bodyFormattedLeafDocuments","nodeId","bodyFormattedSummSmart","withDynamicToken","provvId","docTypeId","full","getRequestSumm","castArrayForFE","castedArray","Description","parent","Parent","leaf","Leaf","DocumentId","livello","GetDocumentContext","prodotto","typeSumm","indexSumm","pdfSumm","sommario","GetDocumentContextProvider","setId","setPdfSumm","setProdotto","setDocument","setAutori","setTiPotrebbeInteressare","setTypeSumm","sommarioArray","setSommarioArray","setIndexSumm","setLibroPdf","settingDescrizioneConfig","reference","TestoDoc","settingAutoriConfig","autoriForFe","ResultSet","idauth","idautore","surn","cognome","nome","bio","biografia","foto","exportAutoriForFE","Root","settingLibroPdfConfig","libropdf","getSommarioConfig","productForFe","settingSommarioArray","CountNodes","Nodes","DocsFound","docCtxValue","getDocumentoFromId","getDocumentoFromIdConfig","settingProdotto","settingDescrizione","settingAutori","getList","listForFE","getLibroPdfConfig","chooseURL","title_book","titleSummary","readerDrawerNotFrizz","readerDrawerFrizz","documentCtx","classicDrawer","readerDrawer","setReaderDrawer","drawerList","setDrawerList","summaryIndex","newArrayDrawer","getProduct","arricchimento","isReader","linkClass","searchPlaceholder","buyOrNot","goTo","optionsSupported","onceSupported","eventName","wrappedHandler","__once","onceHandler","scrollbarSize","recalc","scrollDiv","useCallbackRef","useEventCallback","useCommittedRef","toFnRef","refA","refB","mergeRefs","useWillUnmount","onUnmount","valueRef","useUpdatedRef","psuedoElement","doc","ownerWindow","rUpper","msPattern","hyphenateStyleName","hyphenate","supportedTransforms","transforms","getPropertyValue","isTransform","removeProperty","emulateTransitionEnd","called","triggerEvent","transitionEnd","mult","parseDuration","removeEmulate","useMounted","usePrevious","dataAttr","OPEN_DATA_ATTRIBUTE","ModalManager","handleContainerOverflow","isRTL","modals","innerWidth","getBodyScrollbarWidth","_modal","containerState","paddingProp","getElement","scrollBarWidth","modal","modalIdx","setModalAttributes","getScrollbarWidth","setContainerStyle","removeContainerStyle","removeModalAttributes","useWindow","resolveContainerRef","useWaitForDOMRef","onResolved","resolvedRef","setRef","earlyRef","nextRef","isReactNative","product","inProp","in","onExited","mountOnEnter","unmountOnExit","hasEnteredRef","handleExited","combinedRef","useMergedRefs","ImperativeTransition","onEntered","exited","setExited","onTransition","isInitialRef","handleTransition","useIsomorphicEffect","renderTransition","runTransition","_jsx","NoopTransition","isEscKey","manager","_excluded","useModalManager","provided","modalManager","getManager","dialog","backdrop","isTopModal","setDialogRef","setBackdropRef","Modal","show","keyboard","onBackdropClick","onEscapeKeyDown","backdropTransition","runBackdropTransition","enforceFocus","restoreFocus","restoreFocusOptions","renderDialog","renderBackdrop","providedManager","containerRef","onShow","onHide","onExit","onExiting","onEnter","onEntering","prevShow","lastFocusRef","handleShow","removeKeydownListenerRef","handleDocumentKeyDown","removeFocusListenerRef","handleEnforceFocus","currentActiveElement","handleHide","_lastFocusRef$current","handleBackdropClick","dialogProps","appear","backdropElement","_Fragment","ReactDOM","_jsxs","Manager","_superPropBase","hasClass","baseVal","qsa","replaceClassName","origClass","classToRemove","sharedManager","Selector","BootstrapModalManager","adjust","actual","marginProp","adjustAndStore","restore","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","Transition","initialStatus","isMounting","enter","appearStatus","nextCallback","_inheritsLoose","updateStatus","nextStatus","cancelNextCallback","getTimeouts","exit","mounting","nodeRef","forceReflow","performEnter","performExit","appearing","maybeNode","maybeAppearing","timeouts","enterTimeout","safeSetState","onTransitionEnd","setNextCallback","doesNotHaveTimeoutOrListener","addEndListener","maybeNextCallback","TransitionGroupContext","transitionEndListener","safeFindDOMNode","componentOrElement","TransitionWrapper","childRef","mergedRef","attachRef","handleEnter","handleEntering","handleEntered","handleExit","handleExiting","handleAddEndListener","innerProps","fadeStyles","Fade","transitionClasses","isAppearing","triggerBrowserReflow","rHyphen","DEFAULT_BREAKPOINTS","ThemeContext","prefixes","minBreakpoint","useBootstrapPrefix","defaultPrefix","useIsRTL","pascalCase","chr","createWithBsPrefix","BsComponent","bsPrefix","as","Tag","componentProps","resolvedPrefix","ModalDialog","contentClassName","centered","fullscreen","scrollable","dialogClass","fullScreenClass","variant","CloseButton","ariaLabel","AbstractModalHeader","closeLabel","closeVariant","closeButton","ModalContext","ModalHeader","DivStyledAsH4","DialogTransition","BackdropTransition","dialogClassName","dialogAs","Dialog","ariaLabelledby","ariaDescribedby","backdropClassName","propsManager","modalStyle","setStyle","animateStaticModal","setAnimateStaticModal","waitingForMouseUpRef","ignoreBackdropClickRef","removeStaticModalAnimationRef","setModalRef","modalContext","getModalManager","getSharedManager","updateDialogStyle","containerIsOverflowing","modalIsOverflowing","scrollHeight","paddingRight","getScrollbarSize","paddingLeft","handleWindowResize","handleDialogMouseDown","handleMouseUp","handleStaticModalAnimation","handleStaticBackdropClick","backdropProps","baseModalStyle","BaseModal","Body","ModalBody","Header","Title","ModalTitle","Footer","ModalFooter","TRANSITION_DURATION","BACKDROP_TRANSITION_DURATION","handleClose","autCtx","usernameInputRef","passwordInputRef","rememberMeInputRef","showSocialButtons","changeCssClass","pageUrl","isPwdShown","setIsPwdShown","onSubmit","htmlFor","closeModal","showModal","showSessione","setShowSessione","setShowModal","useManageBodyClasses","Login","dismiss","ChooseAreaTematica","classToUse","isPersonalArea","sectionClassName","seeAll","idProduct","removeBook","isSubscription","goToReaderDocument","listAutori","isAbbonamento","isFromAnotherPage","classAreaTematica","setAreaTematica","expandAreaTematiche","setExpandAreaTematiche","ShowOrHideAreaTematicaList","prod","ThemeArea","prevExpandAreaTematiche","getOverlayDirection","placement","bsDirection","getInitialPopperStyles","pointerEvents","Tooltip","hasDoneInitialMeasure","popper","primaryPlacement","computedStyle","strategy","MAX_DELAY_MS","setChainedTimeout","timeoutAtMs","delayMs","useTimeout","defaultKey","_toPrimitive","useUncontrolledProp","propValue","wasPropRef","_useState","stateValue","isProp","wasProp","__reactInternalSnapshotFlag","__reactInternalSnapshot","__suppressDeprecationWarning","allowArrayLike","normalCompletion","didErr","_e2","tar","dequal","foo","bar","tmp","byteLength","getBasePlacement","getWindow","isHTMLElement","HTMLElement","isShadowRoot","ShadowRoot","getUAString","uaData","userAgentData","brands","brand","isLayoutViewport","includeScale","isFixedStrategy","clientRect","scaleX","scaleY","visualViewport","addVisualOffsets","getLayoutRect","rootNode","getRootNode","isSameNode","getNodeName","isTableElement","getDocumentElement","getParentNode","assignedSlot","getTrueOffsetParent","getOffsetParent","currentNode","perspective","contain","willChange","getContainingBlock","getMainAxisFromPlacement","within","mathMax","mathMin","mergePaddingObject","paddingObject","expandToHashMap","hashMap","auto","basePlacements","viewport","variationPlacements","placements","modifierPhases","phase","_state$modifiersData$","arrowElement","arrow","popperOffsets","modifiersData","basePlacement","axis","rects","toPaddingObject","arrowRect","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","center","axisProp","effect","_options$element","requires","requiresIfExists","getVariation","unsetSides","mapToStyles","_Object$assign2","popperRect","variation","offsets","gpuAcceleration","adaptive","roundOffsets","isFixed","_offsets$x","_offsets$y","hasX","hasY","sideX","sideY","win","heightProp","widthProp","_Object$assign","commonStyles","dpr","roundOffsetsByDPR","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","_options$scroll","scroll","_options$resize","resize","scrollParents","scrollParent","getOppositePlacement","matched","getOppositeVariationPlacement","getWindowScroll","pageXOffset","pageYOffset","getWindowScrollBarX","isScrollParent","_getComputedStyle","overflowX","overflowY","getScrollParent","listScrollParents","_element$ownerDocumen","isBody","updatedList","rectToClientRect","getClientRectFromMixedType","clippingParent","html","layoutViewport","getViewportRect","clientTop","clientLeft","getInnerBoundingClientRect","winScroll","scrollWidth","getDocumentRect","getClippingRect","boundary","rootBoundary","mainClippingParents","clippingParents","clipperElement","getClippingParents","firstClippingParent","clippingRect","accRect","computeOffsets","commonX","commonY","mainAxis","detectOverflow","_options","_options$placement","_options$strategy","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","clippingClientRect","contextElement","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","_skip","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","flipVariations","allowedAutoPlacements","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","_options$allowedAutoP","allPlacements","allowedPlacements","overflows","computeAutoPlacement","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","isVertical","mainVariationSide","altVariationSide","checks","check","_loop","fittingPlacement","getSideOffsets","preventedOffsets","isAnySideFullyClipped","side","_options$offset","invertDistance","skidding","distance","distanceAndSkiddingToXY","_data$state$placement","_options$tether","tether","_options$tetherOffset","tetherOffset","isBasePlacement","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","maxLen","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","clientOffset","offsetModifierValue","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","_offset","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","withinMaxClamp","getCompositeRect","elementOrVirtualElement","isOffsetParentAnElement","offsetParentIsScaled","isElementScaled","getNodeScroll","modifiers","visited","modifier","dep","depModifier","DEFAULT_OPTIONS","areValidElements","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","orderedModifiers","effectCleanupFns","isDestroyed","setOptionsAction","cleanupModifierEffects","orderModifiers","merged","existing","mergeByName","_ref3$options","cleanupFn","noopFn","_state$elements","_state$orderedModifie","_state$orderedModifie2","onFirstUpdate","createPopper","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","computeStyles","eventListeners","flip","disabledApplyStylesModifier","ariaDescribedByModifier","ids","_popper$getAttribute","EMPTY_MODIFIERS","referenceElement","popperElement","prevModifiers","popperInstanceRef","_popperInstanceRef$cu","_popperInstanceRef$cu2","useSafeState","popperState","updateModifier","nextModifiers","isLeftClickEvent","getRefTarget","InitialTriggerEvents","click","mouseup","pointerup","onClickOutside","clickTrigger","preventMouseClickOutsideRef","waitingForTrigger","handleMouseCapture","handleInitialMouse","handleMouse","currentEvent","removeInitialTriggerListener","removeMouseCaptureListener","removeMouseListener","mobileSafariHackListeners","onRootClose","onClose","useClickOutside","handleKeyUp","removeKeyupListener","toModifierArray","mergeOptionsWithPopperConfig","_modifiers$eventListe","_modifiers$preventOve","_modifiers$preventOve2","_modifiers$offset","_modifiers$arrow","enableEvents","fixed","containerPadding","popperConfig","toModifierMap","Overlay","outerRef","rootElement","attachArrowRef","usePopper","mountOverlay","useRootClose","rootClose","rootCloseDisabled","rootCloseEvent","Popover","decoratedBsPrefix","PopoverBody","PopoverHeader","POPPER_OFFSET","overlay","outerShow","outerProps","popperRef","firstRenderedState","setFirstRenderedState","customOffset","overlayRef","popoverClass","useOverlayOffset","actualTransition","handleFirstUpdate","BaseOverlay","overlayProps","_popperObj$state","_popperObj$state$modi","popperObj","aRef","__wrapped","wrapRefs","updatedPlacement","outOfBoundaries","hide","handleMouseOverOut","relatedNative","related","propsShow","defaultShow","onToggle","propsDelay","triggerNodeRef","hoverStateRef","setShow","normalizeDelay","handleFocus","handleBlur","handleMouseOver","handleMouseOut","triggers","triggerProps","onMouseOut","tooltip","isManageable","classNameCard","isAllList","deleteProductList","hasBookmark","ManageProductListsContext","strumentiPerProfessionisti","continuaALeggere","proposteDiAbbonamento","allList","saveIsFinishToRead","chooseName","returnRightName","ManageProductListsContextProvider","setUltimeUscite","setStrumentiPerProfessionisti","setContinuaALeggere","setProposteDiAbbonamento","setPiuLetti","setAllList","setGiaLetti","setDaLeggere","setSaveIsFinishToRead","loginCtx","getFindByQueryConfig","iddocumenti","getListWithAutConfig","idDcTyp","letName","idDoctype","settingList","arrayProduct","arrayInputParams","settingArrayParamsWithAut","getFindByQuery","deleteProdToContinuaALeggere","getFindByQueryGiaLetto","idDocumenti","prov","schedaProdCar","productListsCtx","updateList","isProfessionalTool","windowWidth","prodList","notSlick","dataSlide","dataSlideMd","BackDrop","SpinnerBody","xmlns","maskType","maskUnits","mask","fillRule","clipRule","loadingCtx","isBookIntegrate","showModalPartecipazione","setShowModalPartecipazione","clearFunct","loadLists","Partecipazione","pacchetti","setPacchetti","isPacchetto","rqs","isBuyed","titleTealium","showModalPacchettiHandle","settingBuyOrNot","extendStatics","__","AssertionError","assert","objectToGetParams","getBoxPositionOnWindowCenter","outerWidth","screenLeft","outerHeight","screenTop","getBoxPositionOnScreenCenter","windowOpen","configRest","toolbar","directories","menubar","scrollbars","resizable","centerscreen","chrome","shareDialog","interval_1","closed","ShareButton","openShareDialog","onShareWindowClose","windowHeight","windowPosition","beforeOnClick","networkLink","openShareDialogOnClick","opts","returnVal","disabledStyle","forwardedRef","networkName","resetButtonStyle","newClassName","cx","newStyle","border","cursor","optsMap","CreatedButton","passedProps","createShareButton","quote","hashtag","via","hashtags","summary","mini","subject","showModalShare","setShowModalShare","pacchetto","pac","closeModalPacchettiHandle","modalPacchetti","setIsBuyed","setModalPacchetti","setBuyOrNot","scrollTo","comprato","prezzoMensile","prezzoAnnuale","bodyFormattedBooks","isPacchetti","libri","setLibri","arrayForFe","arrayIdDocument","idDocumentsConcat","castArrayForFe","settingsIdDocuments","libro","srcImg","classTitle","classPar","viewImg","setPacchetto","idDocuments","setIdDocuments","functionDelay","bodyFormattedGetSchedaPacchetto","modulo","castObjForFe","idDocs","castAreaTems","themeAreaCasted","elementUpd","castThemeAreaInString","castArrayTiPotrIntForFe","namePacchetto","typeText","idPacchetto","setList","themeAr","areaImg","infoAreaTematica","currentArea","tArea","setTArea","allProductsAbbo","allProducts","configQuery","fetchData","useQuery","dependence","divClass","currentPage","setCurrentPage","isResearch","isSection","setAllProductByAreaTematica","allAbboByAreaTematica","setAllAbboByAreaTematica","useFetchQuery","prods","prodPerPage","indexOfLastProd","indexOfFirstProd","currentProds","isCheckedOrNot","addFilter","checkboxesList","setCheckboxesList","alreadyExist","setAlreadyExist","userId","setUserId","savedFilters","savedFiltersArray","filterCheckedOrNot","checkedFilters","checkbox","libri_aggiornamento","libri_nuovi","updateFilters","saveFilters","section","useDropdownMenu","DropdownContext","hasShownRef","placementOverride","enableEventListeners","shouldUsePopper","toggle","setMenu","menuElement","toggleElement","menuProps","hasShown","DropdownMenu","$704cf1d3b684cc5c$var$defaultContext","isSSR","$704cf1d3b684cc5c$var$SSRContext","$704cf1d3b684cc5c$var$canUseDOM","$704cf1d3b684cc5c$var$componentIds","$704cf1d3b684cc5c$var$useCounter","_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","currentOwner","_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner","prevComponentValue","isRoleMenu","_el$getAttribute","useDropdownToggle","defaultId","useSSRSafeId","setToggle","DropdownToggle","makeEventKey","eventKey","NavContext","useButtonProps","isTrivialHref","Button","asProp","buttonProps","useDropdownItem","onSelectCtx","SelectableContext","activeKey","DropdownItem","dropdownItemProps","useRefWithUpdate","Dropdown","rawShow","rawOnToggle","itemSelector","focusFirstItemOnShow","menuRef","toggleRef","lastShow","lastSourceEvent","focusInDropdown","nextShow","originalEvent","handleSelect","focusToggle","maybeFocusFirst","focusType","getNextFocusedChild","eventTarget","useEventListener","_menuRef$current","_toggleRef$current","fromMenu","fromToggle","_menuRef$current2","Toggle","Item","Anchor","handleKeyDown","useWrappedRefWithWarning","getDropdownMenuPlacement","alignEnd","dropDirection","align","showProps","renderOnMount","isNavbar","NavbarContext","contextAlign","drop","isInputGroup","InputGroupContext","alignClasses","brkPoint","childBsPrefix","dropdownContext","toggleProps","DropdownHeader","DropdownDivider","DropdownItemText","pProps","fieldName","Utils","propsValue","handlerName","_useUncontrolledProp","useUncontrolled","navbar","autoClose","handleToggle","directionClasses","down","up","BaseDropdown","getRandomValues","ItemText","Divider","setIsActive","returnRightChoice","searchForCategory","optChoosed","setOptChoosed","changeResearch","searchError","defaultVal","isBack","addNewWord","placeHolder","resultBuyOrNot","datas","setIsPDF","itemId","resultId","footerItems","addOrRemoveFilter","newFilter","updateResearchList","resultResearch","setIsUpdated","myBook","setMyBook","listYear","setListYear","setSelected","changeClear","anno","sel","changeYear","arrayFilter","fisco","setFisco","diritto","setDiritto","lavoro","setLavoro","PA","setPA","tecnici","setTecnici","areaFisco","setAreaFisco","areaDiritto","setAreaDiritto","areaLavoro","setAreaLavoro","areaPA","setAreaPA","areaTecnici","setAreaTecnici","areaTematicaUtente","setAreaTematicaUtente","setRightFilter","isChecked","areatematica","formatArea","bookFilters","filterBookArray","filteringBook","filteringByColor","colorFilters","filteringByTag","tagToFilter","mostUsedTag","notFilteredNotes","idToFilter","colorToFilter","clearFilters","setClear","isNotes","resultsNotes","filteringForNotes","isFilter","deleteLocalStorage","returnRightCategory","category","setResultResearch","setResultBuyOrNot","setRevOrRec","setFilters","setOnlyMyBook","setYear","setChangeCategory","addSearchCategory","wordSaved","archive","Facets","arraysForFe","arrayIdProv","arrayIdDocType","text1","text2","Immagine","argomento","convertArrayForFEResearch","arrayResult","word","newArray","ancestorOrigins","listNormaCommentata","SottoFamiglia","Text1","listDisIntegrative","sottoFamiglia","listCorrelati","listRiferimenti","nomeFamiglia","sottoFamiglie","sottofam","numDocsRiferiti","listDocReferences","approfondire","littleSumm","descr","searchWord","bookmarks","itemsFiltered","setItemsFiltered","bookmarksShow","setBookmarksShow","spanIcon","isFree","titleNote","notes","notificationShow","setNotificationShow","dropdownList","setNotes","notesForMenu","notesMerge","getBookmarks","documentsId","arrayFE","convertArrayBookmarksForFe","getBookmarksList","nextChap","prevChap","showApprofondire","showPerApprofondire","isLink","upTitlLeft","upTitlRight","isSpan","upd","getTipo","sempreaggiornato","decodeURI","urlAcquista","setUrlAcquista","setTitolo","idProvv","linkPath","listItems","listItem","itemsBox1","Text2","paragraph","textPar","activatedCtxMenu","replaceWith","pointers","pointer","scrollIntoView","block","handleClickNote","handleClickPara","novitaCount","noteBE","zoomText","randomUUID","crypto","rnds8","rng","byteToHex","unsafeStringify","buf","native","rnds","bodyFormattedReader","bodyFormattedGetTipoView","isUserHaveToken","chooseDocument","chooseBody","typeDocument","isComprato","pdfUrl","references","getBinaryDoc","getPdfLibro","checkUserPackages","bodyPDF","bodyHTML","textParagraphs","bodyFrizzera","FormattedDocumentForFE","showPremiumContent","objectForFePdf","objectForFeHtml","objectForFeFrizzera","Section","SubSection","titleDoc","ChapterTitle","paragraphs","novitaCountTot","Author","binaryDoc","BinaryPdfDoc","BinaryDoc","ProvvId","DocTypeId","mainTitle","MainTitle","Abstract","Nota","DateDocument","viewFreeContent","createArrayParagraphs","Paragraphs","TaxType","IdProvvedimento","IdDocType","Titolo","NovitaCount","castArrayForFELittleSumm","summ","viewContent","getTipoV","free","formattedUpdateListForFE","updatesList","arrayForFE","alldates","months","translateForFE","arrayTranslated","pipe","sezione","selectColor","getTagHtml","editDocument","editedText","textToEdit","noteToUpd","newDocument","existNote","uuidv4","colorToInsert","initialSpan","finalSpan","forEdit","startSpan","newParag","aggiungiSpan","tagHtml","isNotParticularTag","newIndex","editTextToEdit","startNote","endNote","endSpan","startButton","endTagInString","existNoteForThisParagraph","newNote","arrayNotes","arrayNotesOld","indexToUpd","cleanSpan","toClean","substringToClean","setResult","aggiungiPiuLetti","updateContinuaALeggere","dataToUpd","setDeleteConfig","toDelete","setSaveBook","setDeleteBook","getAlreadySaved","wantToSave","checkIfExist","saveDeleteB","useSaveAndDeleteReadingBook","isSaved","setIsSaved","callingHttp","buyedOrFreeContent","handleSaved","nameMenu","settingZoom","_iframe","docif","write","dossierList","dossier","tokenPlus","showCreate","setShowCreate","setDossierList","newNameDossier","setNewNameDossier","getAllFilters","toLocaleLowerCase","maxlength","cssClass","classHeader","iconBody","anchorPoint","setAnchorPoint","setTextToEdit","textCompleteToEdit","setTextCompleteToEdit","setRange","textToCopy","setTextToCopy","setDisable","handleContextMenu","isCollapsed","extentNode","parentElement","outerHTML","getSelectionHtml","getMobileOperatingSystem","localName","containNote","findStart","newTextCompleteToEdit","ancestorWithParagraph","newHtml","beginHtmlTag","withoutInitialTag","endHtmlTag","withoutEndingTag","withoutBeginAndEndingTag","tryToFindStart","lengthString","ancestor","getRangeAt","cloneContents","commonAncestorContainer","baseNode","selection","htmlText","opera","elementEdit","cleanFunction","useContextMenu","addColor","paragraphNote","startPar","endPar","objEdit","textWithNote","refreshDocument","clipboard","writeText","addOrUpdateNote","nota","addOrUpdateNoteTag","deleteNote","textArea","showAddUpdateNote","newRef","updatedNewNote","salvaNota","arrayTags","setArrayTags","arrayTagsNotEdit","setArrayTagsNoteEdit","inputTag","setInputTag","notSaveDisabled","setNotSaveDisabled","tagMostUsed","arrayTagMostUsed","setArrayTagMostUsed","showCreateTag","setShowCreateTag","newTag","showAddUpdateTagNote","deleteTag","tagToDelete","newArrayTag","addTag","tagToAdd","setDisabled","indexNote","maxLength","showDeleteNote","notaToDelete","spanToReplace","buttonToReplace","newArrayNote","finishUpdateDocument","refreshNote","viewer","pdfDoc","base64ToBlob","base64","binaryString","atob","Blob","UI","Feature","LayoutMode","iframeDoc","setLanguage","disableFeatures","Annotations","Download","PageNavigation","Theme","setLayoutMode","Continuous","setMinZoomLevel","setZoomLevel","setMaxZoomLevel","disableReplyForAnnotations","disableFadePageNavigationComponent","setPrintQuality","disableElements","currentPageNumber","updateElement","getPageCount","getDocument","totalPages","nextPageNumber","pagesToPrint","printInBackground","includeComments","includeAnnotations","maintainPageOrientation","fitToPage","onProgress","htmlElement","printCurrentAndNextPage","icon","divider","setTipoDocument","setZoomText","setUpdateList","setBookmarks","refreshBookmarks","setRefreshBookmarks","setLittleSumm","documentReturns","setDocumentReturns","setBuyedOrFreeContent","setPdfDoc","setNextChap","setPrevChap","setNotesForMenu","setTextWithNote","setGetTipo","setShowAddUpdateNote","setShowAddUpdateTagNote","setShowDeleteNote","setTagMostUsed","rerender","setRerender","rightToastIn","setRightToastIn","setNormaCommentata","getBooksAndNotes","useGetAndManageBookMarksAndNotes","setListNormaCommentata","setListCorrelati","setDocReferences","setListDisIntegrative","setRiferimenti","getRiferimenti","correlati","bodyFormattedRefDoc","riferimenti","referencesFamiglia","getDispIntegrative","dispIntegrative","getCorrelati","correlatiEvidenza","docReferences","provv","bodyFormattedProvvedimenti","pdfurl","loadLittleSumm","settingNormaCommentataConfig","testataHtml","objJson","saveIsLastChapter","saveFinishedToRead","dataRes","pagina","settingsFinalResult","perApprofondire","ReaderBoxTop","savePdfToLastPage","RenderParagraphs","par","fromTree","listSommario","isLeaf","TreeNode","goThrough","curr","parentId","newNode","traverse","addNode","childNode","returnNode","leafsRet","flat","plainObjectConstrurctor","cloneStyle","createRule","decl","jss","declCopy","rule","onCreateRule","by","toCssValue","cssValue","getWhitespaceSymbols","linebreak","space","indentStr","indent","toCss","_options$indent","fallbacks","_getWhitespaceSymbols","_prop","_prop2","_value2","allowEmpty","escapeRegex","nativeEscape","CSS","BaseStyleRule","isProcessed","Renderer","renderer","force","newValue","onChangeValue","isDefined","renderable","attached","StyleRule","_BaseStyleRule","scoped","generateId","selectorText","_proto2","applyTo","setSelector","replaceRule","pluginStyleRule","defaultToStringOptions","atRegExp","ConditionalRule","atMatch","at","rules","RuleList","getRule","addRule","onProcessRule","newRule","keyRegExp","pluginConditionalRule","defaultToStringOptions$1","nameRegExp","KeyframesRule","frames","nameMatch","keyRegExp$1","refRegExp","findReferencedKeyframe","keyframes","replaceRef","refKeyframe","pluginKeyframesRule","onProcessStyle","KeyframeRule","pluginKeyframeRule","FontFaceRule","keyRegExp$2","pluginFontFaceRule","ViewportRule","pluginViewportRule","SimpleRule","keysMap","pluginSimpleRule","defaultUpdateOptions","forceUpdateOptions","ruleOptions","oldRule","oldIndex","nameOrSelector","updateOne","nextValue","_nextValue","_prevValue","StyleSheet","deployed","attach","deploy","detach","insertRule","deleteRule","addRules","added","_this$rules","PluginsRegistry","internal","external","registry","onProcessSheet","processedValue","use","newPlugin","SheetsRegistry","_temp","sheets","globalThis$1","ns","createGenerateId","ruleCounter","jssId","classNamePrefix","minify","cssRule","attributeStyleMap","indexOfImportantFlag","cssValueWithoutImportantFlag","getHead","findPrevNode","insertionPoint","findHigherSheet","findHighestSheet","findCommentNode","getNonce","_insertRule","appendRule","getValidRuleInsertionIndex","maxIndex","DomRenderer","hasInsertedRules","createStyle","nextNode","insertionPointElement","insertStyle","insertRules","nativeParent","latestNativeParent","_insertionIndex","refCssRule","ruleStr","insertionIndex","nativeRule","getRules","instanceCounter","Jss","isInBrowser","createStyleSheet","removeStyleSheet","createJss","hasCSSTOMSupport","getDynamicStyles","extracted","mergeClasses","baseClasses","newClasses","multiKeyStore","key1","key2","subCache","useTheme","pseudoClasses","fnValuesNs","fnRuleNs","fnValues","styleRule","fnRule","atPrefix","GlobalContainerRule","GlobalPrefixedRule","separatorRegExp","addScope","scope","parts","handleNestedGlobalContainerRule","handlePrefixedGlobalRule","parentRegExp","getReplaceRef","replaceParentRefs","nestedProp","parentProp","parentSelectors","nestedSelectors","nested","getOptions","nestingLevel","isNested","isNestedConditional","uppercasePattern","toHyphenLower","hName","convertCase","converted","hyphenatedProp","px","ms","percent","addCamelCasedVersion","regExp","newObj","units","margin","inset","motion","gap","grid","iterate","innerProp","_innerProp","unit","camelCasedOptions","js","isTouch","jsCssMap","Moz","Webkit","appearence","noPrefill","supportedProperty","colorAdjust","toUpper","camelize","pascalize","longhand","textOrientation","writingMode","userSelect","breakPropsOld","inlineLogicalOld","newProp","unprefixed","prefixed","pascalized","scrollSnap","overscrollBehavior","propMap","flex2012","propMap$1","propKeys","prefixCss","flex2009","propertyDetectors","_toConsumableArray","key$1","el$1","cache$1","transitionProperties","transPropsRegExp","prefixTransitionCallback","p1","p2","prefixedValue","supportedValue","cacheKey","prefixStyle","changeProp","supportedProp","changeValue","supportedValue$1","atRule","supportedKeyframes","prop0","defaultUnit","vendorPrefixer","propsSort","generateClassName","_options$disableGloba","disableGlobal","_options$productionPr","productionPrefix","_options$seed","seedPrefix","getNextCounterId","theme","createGenerateClassName","disableGeneration","sheetsCache","sheetsManager","sheetsRegistry","StylesContext","indexCounter","increment","deepmerge","getStylesCreator","stylesOrCreator","themingEnabled","overrides","stylesWithOverrides","getClasses","stylesOptions","cacheClasses","lastProp","lastJSS","generate","stylesCreator","sheetManager","staticSheet","dynamicStyles","serverGenerateClassName","dynamicSheet","useSynchronousEffect","makeStyles","classNamePrefixOption","_options$defaultTheme","defaultTheme","noopTheme","stylesOptions2","useStyles","shouldUpdate","getThemeProps","_options$withTheme","withTheme","WithStyles","innerRef","more","createBreakpoints","_breakpoints$values","xs","sm","xl","_breakpoints$unit","_breakpoints$step","between","upperbound","createMixins","spacing","_toolbar","gutters","minHeight","formatMuiErrorMessage","black","white","A100","A200","A400","A700","decomposeColor","colors","hexToRgb","marker","_formatMuiErrorMessage","recomposeColor","getLuminance","rgb","hslToRgb","toFixed","alpha","darken","coefficient","lighten","light","primary","secondary","background","paper","common","grey","hover","hoverOpacity","selectedOpacity","disabledBackground","disabledOpacity","focusOpacity","activatedOpacity","dark","addLightOrDark","intent","shade","tonalOffset","tonalOffsetLight","tonalOffsetDark","main","createPalette","palette","_palette$primary","indigo","_palette$secondary","_palette$error","red","_palette$warning","orange","_palette$info","blue","_palette$success","success","green","_palette$type","_palette$contrastThre","contrastThreshold","_palette$tonalOffset","getContrastText","contrastText","foreground","lumA","lumB","getContrastRatio","augmentColor","mainShade","lightShade","darkShade","roundWithDeprecationWarning","caseAllCaps","textTransform","defaultFontFamily","createTypography","typography","_ref$fontFamily","_ref$fontSize","_ref$fontWeightLight","fontWeightLight","_ref$fontWeightRegula","fontWeightRegular","_ref$fontWeightMedium","fontWeightMedium","_ref$fontWeightBold","fontWeightBold","_ref$htmlFontSize","htmlFontSize","allVariants","pxToRem2","pxToRem","coef","buildVariant","letterSpacing","casing","variants","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","caption","overline","createShadow","borderRadius","defaultBreakpoints","directions","aliases","marginX","marginY","paddingX","paddingY","getCssProperties","_prop$split2","spacingKeys","createUnarySpacing","themeSpacing","getStyleFromPropValue","cssProperties","cssProperty","transformed","styleFromPropValue","themeBreakpoints","_themeBreakpoints","handleBreakpoints","merge","filterProps","createSpacing","spacingInput","mui","easeInOut","easeOut","easeIn","sharp","shortest","shorter","short","standard","complex","enteringScreen","leavingScreen","formatMs","milliseconds","_options$duration","durationOption","_options$easing","easingOption","_options$delay","animatedProp","getAutoHeightDuration","mobileStepper","speedDial","appBar","drawer","snackbar","createTheme","_options$breakpoints","breakpointsInput","_options$mixins","mixinsInput","_options$palette","paletteInput","_options$typography","typographyInput","muiTheme","shadows","withStylesWithoutDefault","useControlled","defaultProp","isControlled","_React$useState","valueState","findNextFirstChar","firstChars","defaultExpandedDefault","defaultSelectedDefault","TreeView","defaultCollapseIcon","defaultEndIcon","_props$defaultExpande","defaultExpanded","defaultExpandIcon","defaultParentIcon","_props$defaultSelecte","_props$disableSelecti","disableSelection","_props$multiSelect","multiSelect","expandedProp","expanded","onNodeSelect","onNodeToggle","selectedProp","tabbable","setTabbable","_React$useState2","focusedNodeId","setFocusedNodeId","nodeMap","firstCharMap","visibleNodes","_useControlled2","setExpandedState","_useControlled4","setSelectedState","isExpanded","getNextNode","nodeIndex","getPreviousNode","getLastNode","getFirstNode","lastSelectedNode","lastSelectionWasRange","currentRangeSelection","handleRangeArrowSelect","handleRangeSelect","aIndex","bIndex","getNodesInRange","newSelected","handleMultipleSelect","handleSingleSelect","selectRange","stacked","_nodes$start","getNodesToRemove","cleanUpFirstCharMap","newMap","removeNodeFromNodeMap","parentMap","parentChildren","oldFocusedNodeId","prevChildIds","_React$useState3","childrenCalculated","setChildrenCalculated","childIds","arr1","arrayDiff","buildVisible","childs","noopSelection","TreeViewContext","icons","focusFirstNode","focusLastNode","focusNextNode","focusPreviousNode","focusByFirstCharacter","lowercaseChar","firstCharIds","firstChar","expandAllSiblings","diff","newExpanded","toggleExpansion","oldTabbable","selectNode","selectNextNode","selectPreviousNode","rangeSelectToFirst","rangeSelectToLast","selectAllNodes","isTabbable","getParent","mapFirstChar","addNodeToNodeMap","childrenIds","currentMap","childId","currentChildMap","clsx","withStyles","capitalize","defaultVariantMapping","Typography","_props$align","_props$color","_props$display","_props$gutterBottom","gutterBottom","_props$noWrap","noWrap","_props$paragraph","_props$variant","_props$variantMapping","variantMapping","srOnly","alignLeft","textAlign","alignCenter","alignRight","alignJustify","textOverflow","marginBottom","colorInherit","colorPrimary","colorSecondary","colorTextPrimary","colorTextSecondary","colorError","displayInline","displayBlock","getTransitionProps","_props$style","transitionDuration","transitionDelay","useThemeWithoutDefault","useForkRef","refValue","Collapse","collapsedHeight","_props$collapsedSize","collapsedSize","collapsedSizeProp","_props$component","_props$disableStrictM","disableStrictModeCompat","_props$timeout","_props$TransitionComp","TransitionComponent","autoTransitionDuration","enableStrictModeCompat","normalizedTransitionCallback","nodeOrAppearing","wrapperHeight","duration2","nodeOrNext","maybeNext","entered","wrapperInner","muiSupportAuto","TreeItem","collapseIcon","endIcon","expandIcon","iconProp","onLabelClick","onIconClick","TransitionProps","_React$useContext","contextIcons","contentRef","expandable","ariaSelected","handleNextArrow","handlePreviousArrow","flag","ctrlPressed","iconContainer","WebkitTapHighlightColor","alignItems","marginRight","justifyContent","setExpanded","tree","setTree","addChildren","createItemFromTree","allowFullScreen","onLoad","ariaHidden","sandbox","allow","importance","referrerpolicy","allowpaymentrequest","objectAssign","allowFullscreen","currentAllow","pdfNumber","createUrlPdf","setSommario","getDocumentCtx","itemList","setUpdatesList","resultFormatted","documentFind","numberDocumentsFind","isLevelTwo","researchList","oldBrowsers","productCtx","carouselList","setCarouselList","isNtPro","isNotReader","defaultRevOrRec","setResearchList","setImg","setNode","convertArrayForFEResearchSecondLevel","getImg","getNode","resetQrCode","successMessage","isDifferentAbbo","loginHandler","onDecode","DEFAULT_CANVAS_SIZE","$video","$canvas","_onDecode","canvasSizeOrCalculateScanRegion","_legacyOnDecode","canvasSizeOrOnDecodeErrorOrOptions","_onDecodeError","onDecodeError","_calculateScanRegion","calculateScanRegion","_preferredCamera","preferredCamera","_legacyCanvasSize","_maxScansPerSecond","maxScansPerSecond","_onPlay","_onLoadedMetaData","_onVisibilityChange","_updateOverlay","video","disablePictureInPicture","playsInline","muted","shouldHideVideo","highlightScanRegion","highlightCodeOutline","$overlay","overlayStyle","gotExternalOverlay","firstElementChild","animate","iterations","videoContainer","insertAdjacentHTML","$codeOutlineHighlight","lastElementChild","_scanRegion","videoStyle","_qrEnginePromise","QrScanner","createQrEngine","hasFlash","srcObject","MediaStream","stream","_getCameraStream","getVideoTracks","getSettings","_stopVideoStream","isFlashOn","_flashOn","toggleFlash","turnFlashOff","turnFlashOn","_destroyed","_active","_paused","applyConstraints","advanced","torch","_restartVideoStream","_postWorkerMessage","facingMode","_setVideoMirror","stopStreamImmediately","stopStream","setCamera","facingModeOrDeviceId","setGrayscaleWeights","useIntegerApproximation","setInversionMode","inversionMode","_scanFrame","videoWidth","scanRegionSize","videoHeight","downScaledWidth","downScaledHeight","videoObjectFit","videoScaledWidth","elementWidth","videoScaledHeight","elementHeight","videoAspectRatio","elementAspectRatio","videoY","lengthValue","regionWidth","regionHeight","elementY","regionY","elementX","isVideoMirrored","videoX","regionX","paused","ended","requestVideoFrameCallback","timeSinceLastScan","minimumTimeBetweenScans","_lastScanTimestamp","scanImage","scanRegion","qrEngine","_disableBarcodeDetector","Worker","_codeOutlineHighlightRemovalTimeout","cornerPoints","NO_QR_CODE_FOUND","mediaDevices","constraint","preferenceType","constraints","wasPaused","_getFacingMode","videoStream","videoTrack","workerPath","hasCamera","listCameras","requestLabels","enumerateCameras","camera","getUserMedia","openedStream","deviceId","imageOrFileOrBlobOrUrl","scanRegionOrOptions","disallowCanvasResizing","alsoTryWithoutScanRegion","returnDetailedScanResult","_loadImage","_drawToCanvas","canvasContext","gotExternalEngine","_postWorkerMessageSync","qrEngineWorker","onMessage","expectedResponseId","_convertPoints","imageData","detailedScanResult","scanResult","rawValue","BarcodeDetector","getSupportedFormats","formats","import_308","createWorker","points","point","scaleFactorX","offsetX","scaleFactorY","offsetY","removeTrack","scanRegionWidth","scanRegionHeight","canvasWidth","canvasHeight","imageSmoothingEnabled","scanRegionX","scanRegionY","_awaitImageLoad","HTMLVideoElement","HTMLCanvasElement","SVGImageElement","OffscreenCanvas","ImageBitmap","File","URL","createObjectURL","revokeObjectURL","naturalWidth","ErrorEvent","qrEngineOrQrEnginePromise","transfer","qrElement","qrCode","isLogged","setIsLogged","resultQrScann","setResultQrScann","sendRqs","countQrScann","setCountQrScann","manageDigitalContent","resultSplitted","qr","messagge","activationSuccess","CheckIfOldSubscr","messaggio","qrScanner","setQr","settingsQrScanner","book","bookActivated","setSuccessMessage","setErrorMessage","setIsDifferentAbbo","titleBook","isDiffAbb","myTags","pressedTag","editNoteTag","dataTag","newTagNote","editedNota","setNote","showDelete","setShowDelete","suppressContentEditableWarning","editNote","editedNote","noteToDelete","noteList","dataTarget","subTitle","subTitleList","setResultsNotes","setNotFilteredNotes","idBookFilters","setIdBookFilters","setColorFilters","tagFilters","setTagFilters","wordFilter","setWordFilter","noteWithText","setNoteWithText","setMostUsedTag","resultsNotesForEdit","setResultsNotesForEdit","newArrayFormatted","newIndx","formattedNoteArrayForFE","getMostUsedTag","delayedFunctionFiltes","newFilteredArray","totNote","subNote","allNoteColored","filterNoteByColor","allNoteWithTag","filterNoteByTag","booksFilters","filterByBook","allNoteWithWord","filterByWord","isChanged","indexDocument","wordToFilter","card","faq","isLight","faqCards","faqs","urlNtPro","convertThemeAreaForLink","subfamily","upTitle","subFamily","levels","level","documentsByLeaf","TreeContext","navBar","newLeafArray","TreeContextProvider","setIdDocument","setOrder","setNavBar","setArray","setNewLeafArray","elementHtml","setElementHtml","goToElementId","setGoToElementId","handleChange","indexNavBar","newArrayNavBar","getDocumentLeaf","arrayCastedForFE","formattedLeafArrayForFE","settingsInitialState","setElementHtmlByChangeRoute","setElementId","treeCtx","listNav","navBarList","expandOrCollapse","updateTree","setUpdateTree","dubleFunction","nestedLevels","setNestedLevels","setDocumentsByLeaf","setNavBarList","documentsLeaf","enrichment","setEnrichment","nameButton","scopriDiPiu","imgCover","soleauth","documentoCtx","setDescrizione","author","titleWhiteSpace","kindOf","thing","kindOfTest","typeOfTest","isDate","isFile","isBlob","isFileList","isURLSearchParams","allOwnKeys","_global","isContextDefined","TypedArray","isHTMLForm","isRegExp","reduceDescriptors","descriptors","reducedDescriptors","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","isBuffer","isFormData","FormData","isArrayBufferView","isStream","caseless","assignValue","targetKey","stripBOM","inherits","superConstructor","toFlatObject","sourceObj","destObj","propFilter","searchString","lastIndex","forEachEntry","pair","matchAll","hasOwnProp","freezeMethods","toObjectSet","arrayOrString","delimiter","toCamelCase","toFiniteNumber","generateString","alphabet","isSpecCompliantForm","append","toJSONObject","visit","reducedValue","AxiosError","captureStackTrace","utils","fileName","lineNumber","columnNumber","axiosError","cause","isVisitable","removeBrackets","renderKey","predicates","formData","metaTokens","visitor","defaultVisitor","useBlob","convertValue","Buffer","isFlatArray","exposedHelpers","charMap","AxiosURLSearchParams","_pairs","toFormData","encoder","_encode","buildURL","serializedParams","serializeFn","serialize","hashmarkIndex","InterceptorManager","synchronous","runWhen","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","URLSearchParams","isStandardBrowserEnv","isStandardBrowserWebWorkerEnv","WorkerGlobalScope","protocols","buildPath","isNumericKey","isLast","arrayToObject","parsePropPath","DEFAULT_CONTENT_TYPE","transitional","transitionalDefaults","adapter","transformRequest","contentType","getContentType","hasJSONContentType","isObjectPayload","formDataToJSON","setContentType","helpers","toURLEncodedForm","formSerializer","_FormData","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","parseHeaders","tokens","tokensRE","parseTokens","deleted","deleteHeader","normalized","formatHeader","targets","asStrings","accessors","defineAccessor","accessorName","buildAccessors","accessor","transformData","fns","isCancel","__CANCEL__","CanceledError","secure","read","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","originURL","msie","urlParsingNode","resolveURL","requestURL","samplesCount","firstSampleTS","timestamps","chunkLength","startedAt","bytesCount","progressEventReducer","isDownloadStream","bytesNotified","_speedometer","speedometer","total","lengthComputable","progressBytes","rate","progress","estimated","onCanceled","requestData","requestHeaders","cancelToken","unsubscribe","unescape","btoa","fullPath","onloadend","responseHeaders","getAllResponseHeaders","settle","responseText","statusText","paramsSerializer","responseURL","onabort","ontimeout","timeoutErrorMessage","xsrfValue","withCredentials","isURLSameOrigin","cookies","setRequestHeader","onDownloadProgress","onUploadProgress","upload","parseProtocol","knownAdapters","http","xhr","xhrAdapter","adapters","nameOrAdapter","throwIfCancellationRequested","throwIfRequested","dispatchRequest","reason","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","transport","httpAgent","httpsAgent","socketPath","responseEncoding","configValue","validators","deprecatedWarnings","validator","formatMessage","opt","assertOptions","schema","allowUnknown","Axios","instanceConfig","interceptors","configOrUrl","contextHeaders","boolean","function","requestInterceptorChain","synchronousRequestInterceptors","responseInterceptorChain","newConfig","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","defaultConfig","Cancel","spread","isAxiosError","formToJSON","QueryClient","setIsIntegrateInBD","setIp","setQrScanner","isOldBrowser","getUserIp","loadProds","delayedClose","integrity","crossorigin","QueryClientProvider","SchedaSommario","onPerfEntry","getCLS","getFID","getFCP","getLCP","getTTFB","reportWebVitals"],"sourceRoot":""}