├── (webpack) ├── web-vitals │ └── web-vitals.es5.umd.min.js └── webpack │ ├── empty.js │ ├── global.js │ ├── harmony-module.js │ └── module.js ├── README.md ├── Screenshot.png ├── client ├── head-manager.ts ├── index.tsx ├── next.js ├── normalize-trailing-slash.ts ├── page-loader.ts ├── performance-relayer.ts ├── request-idle-callback.ts ├── route-loader.ts ├── router.ts └── with-router.tsx ├── content-security-policy.js ├── dotenv-muster.js ├── lib ├── buildPath.ts ├── contentful │ └── contentfulClient.ts ├── datadog.ts ├── env.ts ├── gtm.ts ├── httpHeaderUtils.ts ├── jsonToCss.ts ├── marketo.ts ├── mergeQueryParams.ts ├── optimizelyExperiments.ts ├── page-behaviors │ ├── BookCustomDemo.tsx │ ├── CSFPage.tsx │ ├── CareersLocation.tsx │ ├── CareersPage.tsx │ ├── CdaUpdater.tsx │ ├── ChatbotSurveryPage.tsx │ ├── CustomStyles.tsx │ ├── EarlyStage.tsx │ ├── ExitIntentModal.tsx │ ├── G2Page.tsx │ ├── HomepageDIS.tsx │ ├── InboundPage.tsx │ ├── MobileCarousels.tsx │ ├── MobilePage.tsx │ ├── PageBehaviors.tsx │ ├── PricingPage.tsx │ ├── ResolutionBotLP.tsx │ └── WhatIsIntercom.tsx ├── polyfills.ts ├── render.tsx ├── sentry.js ├── teammateAppUrl.ts ├── transformedComponents.tsx ├── useFetchNewsUpdates.ts ├── useFocusableGroup.ts ├── useKeyboardAccessibleGroup.ts ├── useModalOpenState.ts └── validEmail.ts ├── next-server └── lib │ ├── amp-context.ts │ ├── amp.ts │ ├── dynamic.tsx │ ├── head-manager-context.ts │ ├── head.tsx │ ├── i18n │ └── normalize-locale-path.ts │ ├── loadable-context.ts │ ├── loadable.js │ ├── mitt.ts │ ├── router-context.ts │ ├── router │ ├── router.ts │ └── utils │ │ ├── format-url.ts │ │ ├── get-asset-path-from-route.ts │ │ ├── is-dynamic.ts │ │ ├── parse-relative-url.ts │ │ ├── querystring.ts │ │ ├── resolve-rewrites-noop.ts │ │ ├── route-matcher.ts │ │ └── route-regex.ts │ ├── runtime-config.ts │ ├── side-effect.tsx │ └── utils.ts ├── node_modules ├── @contentful │ ├── rich-text-html-renderer │ │ └── dist │ │ │ └── rich-text-html-renderer.es5.js │ ├── rich-text-react-renderer │ │ └── dist │ │ │ └── rich-text-react-renderer.es5.js │ └── rich-text-types │ │ └── dist │ │ └── rich-text-types.es5.js ├── @daniel.husar │ └── focus-trap │ │ └── dest │ │ ├── helpers.js │ │ └── index.js ├── @datadog │ ├── browser-core │ │ └── esm │ │ │ ├── boot │ │ │ └── init.js │ │ │ ├── browser │ │ │ ├── cookie.js │ │ │ ├── fetchProxy.js │ │ │ └── xhrProxy.js │ │ │ ├── domain │ │ │ ├── configuration.js │ │ │ ├── error │ │ │ │ ├── trackConsoleError.js │ │ │ │ └── trackRuntimeError.js │ │ │ ├── internalMonitoring.js │ │ │ ├── oldCookiesMigration.js │ │ │ ├── sessionManagement.js │ │ │ ├── tracekit │ │ │ │ ├── computeStackTrace.js │ │ │ │ └── report.js │ │ │ └── transportConfiguration.js │ │ │ ├── tools │ │ │ ├── boundedBuffer.js │ │ │ ├── catchUserErrors.js │ │ │ ├── contextManager.js │ │ │ ├── display.js │ │ │ ├── error.js │ │ │ ├── errorFilter.js │ │ │ ├── limitModification.js │ │ │ ├── observable.js │ │ │ ├── timeUtils.js │ │ │ ├── urlPolyfill.js │ │ │ └── utils.js │ │ │ └── transport │ │ │ └── transport.js │ ├── browser-rum-core │ │ └── esm │ │ │ ├── boot │ │ │ ├── buildEnv.js │ │ │ ├── rumPublicApi.js │ │ │ └── startRum.js │ │ │ ├── browser │ │ │ ├── domMutationObservable.js │ │ │ └── performanceCollection.js │ │ │ ├── domain │ │ │ ├── assembly.js │ │ │ ├── foregroundContexts.js │ │ │ ├── internalContext.js │ │ │ ├── lifeCycle.js │ │ │ ├── parentContexts.js │ │ │ ├── requestCollection.js │ │ │ ├── rumEventsCollection │ │ │ │ ├── action │ │ │ │ │ ├── actionCollection.js │ │ │ │ │ ├── getActionNameFromElement.js │ │ │ │ │ └── trackActions.js │ │ │ │ ├── error │ │ │ │ │ └── errorCollection.js │ │ │ │ ├── longTask │ │ │ │ │ └── longTaskCollection.js │ │ │ │ ├── resource │ │ │ │ │ ├── matchRequestTiming.js │ │ │ │ │ ├── resourceCollection.js │ │ │ │ │ └── resourceUtils.js │ │ │ │ └── view │ │ │ │ │ ├── trackFirstHidden.js │ │ │ │ │ ├── trackInitialViewTimings.js │ │ │ │ │ ├── trackLocationChanges.js │ │ │ │ │ ├── trackViewMetrics.js │ │ │ │ │ ├── trackViews.js │ │ │ │ │ └── viewCollection.js │ │ │ ├── rumSession.js │ │ │ ├── tracing │ │ │ │ ├── getDocumentTraceId.js │ │ │ │ └── tracer.js │ │ │ ├── trackEventCounts.js │ │ │ └── trackPageActivities.js │ │ │ ├── rawRumEvent.types.js │ │ │ └── transport │ │ │ └── batch.js │ └── browser-rum │ │ └── esm │ │ ├── boot │ │ ├── recorderApi.js │ │ ├── rum.entry.js │ │ └── startRecording.js │ │ ├── constants.js │ │ ├── domain │ │ ├── record │ │ │ ├── mutationBatch.js │ │ │ ├── mutationObserver.js │ │ │ ├── observer.js │ │ │ ├── privacy.js │ │ │ ├── record.js │ │ │ ├── serializationUtils.js │ │ │ ├── serialize.js │ │ │ ├── types.js │ │ │ └── utils.js │ │ └── segmentCollection │ │ │ ├── deflateWorker.js │ │ │ ├── segment.js │ │ │ └── segmentCollection.js │ │ ├── transport │ │ └── send.js │ │ └── types.js ├── @intercom │ └── gtm-js │ │ └── dist │ │ └── gtm.js ├── @next │ └── polyfill-module │ │ └── dist │ │ └── polyfill-module.js ├── @reach │ ├── auto-id │ │ └── dist │ │ │ └── auto-id.esm.js │ ├── descendants │ │ └── dist │ │ │ └── descendants.esm.js │ ├── tabs │ │ └── dist │ │ │ └── tabs.esm.js │ └── utils │ │ └── dist │ │ └── utils.esm.js ├── @sentry │ └── browser │ │ ├── esm │ │ ├── backend.js │ │ ├── client.js │ │ ├── eventbuilder.js │ │ ├── helpers.js │ │ ├── index.js │ │ ├── integrations │ │ │ ├── breadcrumbs.js │ │ │ ├── dedupe.js │ │ │ ├── globalhandlers.js │ │ │ ├── linkederrors.js │ │ │ ├── trycatch.js │ │ │ └── useragent.js │ │ ├── parsers.js │ │ ├── sdk.js │ │ ├── tracekit.js │ │ ├── transports │ │ │ ├── base.js │ │ │ ├── fetch.js │ │ │ └── xhr.js │ │ └── version.js │ │ └── node_modules │ │ └── @sentry │ │ ├── core │ │ └── esm │ │ │ ├── api.js │ │ │ ├── basebackend.js │ │ │ ├── baseclient.js │ │ │ ├── integration.js │ │ │ ├── integrations │ │ │ ├── functiontostring.js │ │ │ └── inboundfilters.js │ │ │ ├── request.js │ │ │ ├── sdk.js │ │ │ ├── transports │ │ │ └── noop.js │ │ │ └── version.js │ │ ├── hub │ │ └── esm │ │ │ ├── hub.js │ │ │ ├── scope.js │ │ │ └── session.js │ │ ├── minimal │ │ └── esm │ │ │ └── index.js │ │ ├── types │ │ └── esm │ │ │ ├── session.js │ │ │ ├── severity.js │ │ │ └── status.js │ │ └── utils │ │ └── esm │ │ ├── browser.js │ │ ├── dsn.js │ │ ├── error.js │ │ ├── instrument.js │ │ ├── is.js │ │ ├── logger.js │ │ ├── memo.js │ │ ├── misc.js │ │ ├── node.js │ │ ├── object.js │ │ ├── polyfill.js │ │ ├── promisebuffer.js │ │ ├── stacktrace.js │ │ ├── string.js │ │ ├── supports.js │ │ ├── syncpromise.js │ │ └── time.js ├── base64-js │ └── index.js ├── buffer │ └── index.js ├── classnames │ ├── bind.js │ └── index.js ├── core-js │ ├── es │ │ ├── map │ │ │ └── index.js │ │ ├── object │ │ │ └── assign.js │ │ ├── set │ │ │ └── index.js │ │ └── typed-array │ │ │ ├── index.js │ │ │ └── methods.js │ ├── internals │ │ ├── a-function.js │ │ ├── a-possible-prototype.js │ │ ├── add-to-unscopables.js │ │ ├── an-instance.js │ │ ├── an-object.js │ │ ├── array-buffer-native.js │ │ ├── array-buffer-view-core.js │ │ ├── array-buffer.js │ │ ├── array-copy-within.js │ │ ├── array-fill.js │ │ ├── array-includes.js │ │ ├── array-iteration.js │ │ ├── array-last-index-of.js │ │ ├── array-method-is-strict.js │ │ ├── array-reduce.js │ │ ├── array-sort.js │ │ ├── array-species-create.js │ │ ├── check-correctness-of-iteration.js │ │ ├── classof-raw.js │ │ ├── classof.js │ │ ├── collection-strong.js │ │ ├── collection.js │ │ ├── copy-constructor-properties.js │ │ ├── correct-prototype-getter.js │ │ ├── create-iterator-constructor.js │ │ ├── create-non-enumerable-property.js │ │ ├── create-property-descriptor.js │ │ ├── define-iterator.js │ │ ├── descriptors.js │ │ ├── document-create-element.js │ │ ├── dom-iterables.js │ │ ├── engine-ff-version.js │ │ ├── engine-is-ie-or-edge.js │ │ ├── engine-user-agent.js │ │ ├── engine-v8-version.js │ │ ├── engine-webkit-version.js │ │ ├── enum-bug-keys.js │ │ ├── export.js │ │ ├── fails.js │ │ ├── freezing.js │ │ ├── function-bind-context.js │ │ ├── get-built-in.js │ │ ├── get-iterator-method.js │ │ ├── global.js │ │ ├── has.js │ │ ├── hidden-keys.js │ │ ├── html.js │ │ ├── ie8-dom-define.js │ │ ├── ieee754.js │ │ ├── indexed-object.js │ │ ├── inherit-if-required.js │ │ ├── inspect-source.js │ │ ├── internal-metadata.js │ │ ├── internal-state.js │ │ ├── is-array-iterator-method.js │ │ ├── is-array.js │ │ ├── is-forced.js │ │ ├── is-object.js │ │ ├── is-pure.js │ │ ├── iterate.js │ │ ├── iterator-close.js │ │ ├── iterators-core.js │ │ ├── iterators.js │ │ ├── native-symbol.js │ │ ├── native-weak-map.js │ │ ├── object-assign.js │ │ ├── object-create.js │ │ ├── object-define-properties.js │ │ ├── object-define-property.js │ │ ├── object-get-own-property-descriptor.js │ │ ├── object-get-own-property-names.js │ │ ├── object-get-own-property-symbols.js │ │ ├── object-get-prototype-of.js │ │ ├── object-keys-internal.js │ │ ├── object-keys.js │ │ ├── object-property-is-enumerable.js │ │ ├── object-set-prototype-of.js │ │ ├── object-to-string.js │ │ ├── own-keys.js │ │ ├── path.js │ │ ├── redefine-all.js │ │ ├── redefine.js │ │ ├── require-object-coercible.js │ │ ├── set-global.js │ │ ├── set-species.js │ │ ├── set-to-string-tag.js │ │ ├── shared-key.js │ │ ├── shared-store.js │ │ ├── shared.js │ │ ├── species-constructor.js │ │ ├── string-multibyte.js │ │ ├── to-absolute-index.js │ │ ├── to-index.js │ │ ├── to-indexed-object.js │ │ ├── to-integer.js │ │ ├── to-length.js │ │ ├── to-object.js │ │ ├── to-offset.js │ │ ├── to-positive-integer.js │ │ ├── to-primitive.js │ │ ├── to-string-tag-support.js │ │ ├── typed-array-constructor.js │ │ ├── typed-array-constructors-require-wrappers.js │ │ ├── typed-array-from-species-and-list.js │ │ ├── typed-array-from.js │ │ ├── uid.js │ │ ├── use-symbol-as-uid.js │ │ └── well-known-symbol.js │ ├── modules │ │ ├── es.array.iterator.js │ │ ├── es.map.js │ │ ├── es.object.assign.js │ │ ├── es.object.to-string.js │ │ ├── es.set.js │ │ ├── es.string.iterator.js │ │ ├── es.typed-array.copy-within.js │ │ ├── es.typed-array.every.js │ │ ├── es.typed-array.fill.js │ │ ├── es.typed-array.filter.js │ │ ├── es.typed-array.find-index.js │ │ ├── es.typed-array.find.js │ │ ├── es.typed-array.float32-array.js │ │ ├── es.typed-array.float64-array.js │ │ ├── es.typed-array.for-each.js │ │ ├── es.typed-array.from.js │ │ ├── es.typed-array.includes.js │ │ ├── es.typed-array.index-of.js │ │ ├── es.typed-array.int16-array.js │ │ ├── es.typed-array.int32-array.js │ │ ├── es.typed-array.int8-array.js │ │ ├── es.typed-array.iterator.js │ │ ├── es.typed-array.join.js │ │ ├── es.typed-array.last-index-of.js │ │ ├── es.typed-array.map.js │ │ ├── es.typed-array.of.js │ │ ├── es.typed-array.reduce-right.js │ │ ├── es.typed-array.reduce.js │ │ ├── es.typed-array.reverse.js │ │ ├── es.typed-array.set.js │ │ ├── es.typed-array.slice.js │ │ ├── es.typed-array.some.js │ │ ├── es.typed-array.sort.js │ │ ├── es.typed-array.subarray.js │ │ ├── es.typed-array.to-locale-string.js │ │ ├── es.typed-array.to-string.js │ │ ├── es.typed-array.uint16-array.js │ │ ├── es.typed-array.uint32-array.js │ │ ├── es.typed-array.uint8-array.js │ │ ├── es.typed-array.uint8-clamped-array.js │ │ └── web.dom-collections.iterator.js │ └── stable │ │ ├── map │ │ └── index.js │ │ ├── object │ │ └── assign.js │ │ ├── set │ │ └── index.js │ │ └── typed-array │ │ └── index.js ├── date-fns │ └── esm │ │ ├── _lib │ │ └── toInteger │ │ │ └── index.js │ │ ├── addMilliseconds │ │ └── index.js │ │ ├── addMonths │ │ └── index.js │ │ ├── addYears │ │ └── index.js │ │ ├── getDaysInMonth │ │ └── index.js │ │ ├── isAfter │ │ └── index.js │ │ └── toDate │ │ └── index.js ├── dd-trace │ ├── browser.js │ ├── ext │ │ ├── exporters.js │ │ ├── formats.js │ │ ├── index.js │ │ ├── kinds.js │ │ ├── priority.js │ │ ├── scopes.js │ │ ├── tags.js │ │ └── types.js │ └── packages │ │ ├── datadog-plugin-fetch │ │ └── src │ │ │ └── index.js │ │ ├── datadog-plugin-xmlhttprequest │ │ └── src │ │ │ └── index.js │ │ └── dd-trace │ │ ├── browser.js │ │ └── src │ │ ├── analytics_sampler.js │ │ ├── config.js │ │ ├── constants.js │ │ ├── exporters │ │ └── browser │ │ │ └── index.js │ │ ├── format.js │ │ ├── id.js │ │ ├── instrumenter.js │ │ ├── log.js │ │ ├── noop │ │ ├── span.js │ │ ├── span_context.js │ │ └── tracer.js │ │ ├── opentracing │ │ ├── propagation │ │ │ ├── binary.js │ │ │ ├── http.js │ │ │ ├── log.js │ │ │ └── text_map.js │ │ ├── span.js │ │ ├── span_context.js │ │ └── tracer.js │ │ ├── platform │ │ ├── browser │ │ │ ├── crypto.js │ │ │ ├── env.js │ │ │ ├── exporter.js │ │ │ ├── index.js │ │ │ ├── loader.js │ │ │ ├── metrics.js │ │ │ ├── now.js │ │ │ ├── startup-log.js │ │ │ ├── tags.js │ │ │ └── validate.js │ │ └── index.js │ │ ├── plugins │ │ ├── browser.js │ │ └── util │ │ │ ├── http.js │ │ │ └── tx.js │ │ ├── priority_sampler.js │ │ ├── proxy.js │ │ ├── rate_limiter.js │ │ ├── sampler.js │ │ ├── scope │ │ ├── base.js │ │ ├── noop │ │ │ ├── scope.js │ │ │ └── scope_manager.js │ │ ├── scope_manager.js │ │ └── zone.js │ │ ├── span_processor.js │ │ ├── tagger.js │ │ ├── tracer.js │ │ └── util.js ├── decode-uri-component │ └── index.js ├── dotenv │ └── lib │ │ └── main.js ├── enquire.js │ └── src │ │ ├── MediaQuery.js │ │ ├── MediaQueryDispatch.js │ │ ├── QueryHandler.js │ │ ├── Util.js │ │ └── index.js ├── exenv │ └── index.js ├── focus-visible │ └── dist │ │ └── focus-visible.js ├── formik │ ├── dist │ │ └── formik.esm.js │ └── node_modules │ │ ├── deepmerge │ │ └── dist │ │ │ └── es.js │ │ └── react-fast-compare │ │ └── index.js ├── hoist-non-react-statics │ └── dist │ │ └── hoist-non-react-statics.cjs.js ├── html-dom-parser │ ├── lib │ │ └── client │ │ │ ├── constants.js │ │ │ ├── domparser.js │ │ │ ├── html-to-dom.js │ │ │ └── utilities.js │ └── node_modules │ │ └── domhandler │ │ ├── lib │ │ └── node.js │ │ └── node_modules │ │ └── domelementtype │ │ └── lib │ │ └── index.js ├── html-react-parser │ ├── index.js │ ├── index.mjs │ └── lib │ │ ├── attributes-to-props.js │ │ ├── dom-to-react.js │ │ └── utilities.js ├── ieee754 │ └── index.js ├── inline-style-parser │ └── index.js ├── isarray │ └── index.js ├── js-cookie │ └── src │ │ └── js.cookie.js ├── json2mq │ └── index.js ├── koalas │ └── index.js ├── limiter │ ├── index.js │ └── lib │ │ ├── clock.js │ │ ├── rateLimiter.js │ │ └── tokenBucket.js ├── lodash-es │ ├── _DataView.js │ ├── _Hash.js │ ├── _ListCache.js │ ├── _Map.js │ ├── _MapCache.js │ ├── _Promise.js │ ├── _Set.js │ ├── _Stack.js │ ├── _Symbol.js │ ├── _Uint8Array.js │ ├── _WeakMap.js │ ├── _arrayEach.js │ ├── _arrayFilter.js │ ├── _arrayLikeKeys.js │ ├── _arrayMap.js │ ├── _arrayPush.js │ ├── _assignValue.js │ ├── _assocIndexOf.js │ ├── _baseAssign.js │ ├── _baseAssignIn.js │ ├── _baseAssignValue.js │ ├── _baseClone.js │ ├── _baseCreate.js │ ├── _baseGetAllKeys.js │ ├── _baseGetTag.js │ ├── _baseIsArguments.js │ ├── _baseIsMap.js │ ├── _baseIsNative.js │ ├── _baseIsSet.js │ ├── _baseIsTypedArray.js │ ├── _baseKeys.js │ ├── _baseKeysIn.js │ ├── _baseTimes.js │ ├── _baseToString.js │ ├── _baseUnary.js │ ├── _cloneArrayBuffer.js │ ├── _cloneBuffer.js │ ├── _cloneDataView.js │ ├── _cloneRegExp.js │ ├── _cloneSymbol.js │ ├── _cloneTypedArray.js │ ├── _copyArray.js │ ├── _copyObject.js │ ├── _copySymbols.js │ ├── _copySymbolsIn.js │ ├── _coreJsData.js │ ├── _defineProperty.js │ ├── _freeGlobal.js │ ├── _getAllKeys.js │ ├── _getAllKeysIn.js │ ├── _getMapData.js │ ├── _getNative.js │ ├── _getPrototype.js │ ├── _getRawTag.js │ ├── _getSymbols.js │ ├── _getSymbolsIn.js │ ├── _getTag.js │ ├── _getValue.js │ ├── _hashClear.js │ ├── _hashDelete.js │ ├── _hashGet.js │ ├── _hashHas.js │ ├── _hashSet.js │ ├── _initCloneArray.js │ ├── _initCloneByTag.js │ ├── _initCloneObject.js │ ├── _isIndex.js │ ├── _isKeyable.js │ ├── _isMasked.js │ ├── _isPrototype.js │ ├── _listCacheClear.js │ ├── _listCacheDelete.js │ ├── _listCacheGet.js │ ├── _listCacheHas.js │ ├── _listCacheSet.js │ ├── _mapCacheClear.js │ ├── _mapCacheDelete.js │ ├── _mapCacheGet.js │ ├── _mapCacheHas.js │ ├── _mapCacheSet.js │ ├── _memoizeCapped.js │ ├── _nativeCreate.js │ ├── _nativeKeys.js │ ├── _nativeKeysIn.js │ ├── _nodeUtil.js │ ├── _objectToString.js │ ├── _overArg.js │ ├── _root.js │ ├── _stackClear.js │ ├── _stackDelete.js │ ├── _stackGet.js │ ├── _stackHas.js │ ├── _stackSet.js │ ├── _stringToPath.js │ ├── _toKey.js │ ├── _toSource.js │ ├── clone.js │ ├── cloneDeep.js │ ├── eq.js │ ├── isArguments.js │ ├── isArray.js │ ├── isArrayLike.js │ ├── isBuffer.js │ ├── isFunction.js │ ├── isLength.js │ ├── isMap.js │ ├── isObject.js │ ├── isObjectLike.js │ ├── isPlainObject.js │ ├── isSet.js │ ├── isSymbol.js │ ├── isTypedArray.js │ ├── keys.js │ ├── keysIn.js │ ├── memoize.js │ ├── stubArray.js │ ├── stubFalse.js │ ├── toPath.js │ └── toString.js ├── lodash.debounce │ └── index.js ├── lodash.kebabcase │ └── index.js ├── lodash.pick │ └── index.js ├── lodash │ └── lodash.js ├── lottie-react │ └── build │ │ └── index.umd.js ├── lottie-web │ └── build │ │ └── player │ │ └── lottie.js ├── next │ ├── app.js │ ├── dist │ │ ├── build │ │ │ ├── polyfills │ │ │ │ ├── fetch │ │ │ │ │ └── whatwg-fetch.js │ │ │ │ └── object-assign.js │ │ │ └── webpack │ │ │ │ └── loaders │ │ │ │ ├── next-client-pages-loader-3acdb43d68238.js │ │ │ │ └── next-client-pages-loader.js │ │ └── next-server │ │ │ └── server │ │ │ └── denormalize-page-path.js │ ├── dynamic.js │ ├── head.js │ ├── node_modules │ │ └── @babel │ │ │ └── runtime │ │ │ ├── helpers │ │ │ ├── arrayLikeToArray.js │ │ │ ├── arrayWithHoles.js │ │ │ ├── arrayWithoutHoles.js │ │ │ ├── assertThisInitialized.js │ │ │ ├── asyncToGenerator.js │ │ │ ├── classCallCheck.js │ │ │ ├── construct.js │ │ │ ├── createClass.js │ │ │ ├── defineProperty.js │ │ │ ├── esm │ │ │ │ ├── arrayLikeToArray.js │ │ │ │ ├── arrayWithHoles.js │ │ │ │ ├── arrayWithoutHoles.js │ │ │ │ ├── assertThisInitialized.js │ │ │ │ ├── asyncToGenerator.js │ │ │ │ ├── classCallCheck.js │ │ │ │ ├── construct.js │ │ │ │ ├── createClass.js │ │ │ │ ├── defineProperty.js │ │ │ │ ├── extends.js │ │ │ │ ├── getPrototypeOf.js │ │ │ │ ├── inherits.js │ │ │ │ ├── isNativeFunction.js │ │ │ │ ├── isNativeReflectConstruct.js │ │ │ │ ├── iterableToArray.js │ │ │ │ ├── iterableToArrayLimit.js │ │ │ │ ├── nonIterableRest.js │ │ │ │ ├── nonIterableSpread.js │ │ │ │ ├── objectWithoutProperties.js │ │ │ │ ├── objectWithoutPropertiesLoose.js │ │ │ │ ├── possibleConstructorReturn.js │ │ │ │ ├── setPrototypeOf.js │ │ │ │ ├── slicedToArray.js │ │ │ │ ├── toConsumableArray.js │ │ │ │ ├── typeof.js │ │ │ │ ├── unsupportedIterableToArray.js │ │ │ │ └── wrapNativeSuper.js │ │ │ ├── extends.js │ │ │ ├── getPrototypeOf.js │ │ │ ├── inherits.js │ │ │ ├── interopRequireDefault.js │ │ │ ├── interopRequireWildcard.js │ │ │ ├── isNativeReflectConstruct.js │ │ │ ├── iterableToArray.js │ │ │ ├── iterableToArrayLimit.js │ │ │ ├── nonIterableRest.js │ │ │ ├── nonIterableSpread.js │ │ │ ├── possibleConstructorReturn.js │ │ │ ├── setPrototypeOf.js │ │ │ ├── slicedToArray.js │ │ │ ├── toConsumableArray.js │ │ │ ├── typeof.js │ │ │ └── unsupportedIterableToArray.js │ │ │ └── regenerator │ │ │ └── index.js │ └── router.js ├── node-fetch │ └── browser.js ├── node-libs-browser │ └── node_modules │ │ └── path-browserify │ │ └── index.js ├── opentracing │ └── lib │ │ ├── binary_carrier.js │ │ ├── constants.js │ │ ├── ext │ │ └── tags.js │ │ ├── functions.js │ │ ├── global_tracer.js │ │ ├── index.js │ │ ├── mock_tracer │ │ ├── index.js │ │ ├── mock_context.js │ │ ├── mock_report.js │ │ ├── mock_span.js │ │ └── mock_tracer.js │ │ ├── noop.js │ │ ├── reference.js │ │ ├── span.js │ │ ├── span_context.js │ │ └── tracer.js ├── picturefill │ └── dist │ │ └── picturefill.js ├── process │ └── browser.js ├── prop-types │ ├── factoryWithThrowingShims.js │ ├── index.js │ └── lib │ │ └── ReactPropTypesSecret.js ├── query-string │ └── index.js ├── querystring-es3 │ ├── decode.js │ ├── encode.js │ └── index.js ├── querystringify │ └── index.js ├── react-dom │ ├── cjs │ │ └── react-dom.production.min.js │ └── index.js ├── react-is │ ├── cjs │ │ └── react-is.production.min.js │ └── index.js ├── react-lazyload │ └── lib │ │ ├── index.js │ │ └── utils │ │ ├── debounce.js │ │ ├── event.js │ │ ├── scrollParent.js │ │ └── throttle.js ├── react-lifecycles-compat │ └── react-lifecycles-compat.es.js ├── react-modal │ └── lib │ │ ├── components │ │ ├── Modal.js │ │ └── ModalPortal.js │ │ ├── helpers │ │ ├── ariaAppHider.js │ │ ├── classList.js │ │ ├── focusManager.js │ │ ├── safeHTMLElement.js │ │ ├── scopeTab.js │ │ └── tabbable.js │ │ └── index.js ├── react-property │ ├── index.js │ └── lib │ │ ├── HTMLDOMPropertyConfig.js │ │ ├── SVGDOMPropertyConfig.js │ │ └── injection.js ├── react-remove-scroll-bar │ └── dist │ │ └── es2015 │ │ ├── component.js │ │ ├── constants.js │ │ └── utils.js ├── react-remove-scroll │ └── dist │ │ └── es2015 │ │ ├── Combination.js │ │ ├── SideEffect.js │ │ ├── UI.js │ │ ├── aggresiveCapture.js │ │ ├── handleScroll.js │ │ ├── medium.js │ │ └── sidecar.js ├── react-slick │ └── lib │ │ ├── arrows.js │ │ ├── default-props.js │ │ ├── dots.js │ │ ├── index.js │ │ ├── initial-state.js │ │ ├── inner-slider.js │ │ ├── slider.js │ │ ├── track.js │ │ └── utils │ │ └── innerSliderUtils.js ├── react-style-singleton │ └── dist │ │ └── es2015 │ │ ├── component.js │ │ ├── hook.js │ │ └── singleton.js ├── react-uid │ └── dist │ │ └── es2015 │ │ ├── context.js │ │ ├── hooks.js │ │ └── uid.js ├── react │ ├── cjs │ │ └── react.production.min.js │ └── index.js ├── regenerator-runtime │ └── runtime.js ├── requires-port │ └── index.js ├── resize-observer-polyfill │ └── dist │ │ └── ResizeObserver.es.js ├── scheduler │ ├── cjs │ │ └── scheduler.production.min.js │ └── index.js ├── shimmer │ └── index.js ├── smoothscroll-polyfill │ └── dist │ │ └── smoothscroll.js ├── split-on-first │ └── index.js ├── strict-uri-encode │ └── index.js ├── string-convert │ └── camel2hyphen.js ├── string-hash │ └── index.js ├── style-to-js │ └── cjs │ │ ├── index.js │ │ └── utilities.js ├── style-to-object │ └── index.js ├── styled-jsx │ ├── dist │ │ ├── lib │ │ │ └── stylesheet.js │ │ ├── style.js │ │ └── stylesheet-registry.js │ └── style.js ├── tiny-warning │ └── dist │ │ └── tiny-warning.esm.js ├── tslib │ └── tslib.es6.js ├── url-parse │ └── index.js ├── use-callback-ref │ └── dist │ │ └── es2015 │ │ ├── assignRef.js │ │ ├── useMergeRef.js │ │ └── useRef.js ├── use-sidecar │ └── dist │ │ └── es2015 │ │ ├── exports.js │ │ └── medium.js ├── use-subscription │ ├── cjs │ │ └── use-subscription.production.min.js │ └── index.js ├── uuid │ └── dist │ │ └── esm-browser │ │ ├── md5.js │ │ ├── nil.js │ │ ├── parse.js │ │ ├── regex.js │ │ ├── rng.js │ │ ├── sha1.js │ │ ├── stringify.js │ │ ├── v1.js │ │ ├── v3.js │ │ ├── v35.js │ │ ├── v4.js │ │ ├── v5.js │ │ ├── validate.js │ │ └── version.js ├── warning │ └── warning.js └── xtend │ └── immutable.js ├── pages ├── [...path].tsx ├── _app-3d062c738bf0d.tsx ├── _app.tsx └── index.tsx ├── server └── cspMiddleware.js ├── src ├── components │ ├── bespoke │ │ └── resources │ │ │ ├── link │ │ │ └── component.tsx │ │ │ └── links │ │ │ ├── component.tsx │ │ │ └── index.ts │ ├── common │ │ ├── EntryControlPanel.tsx │ │ ├── EntryMarker.tsx │ │ ├── FaviconLinks.tsx │ │ ├── GtmTrackingInitializer.tsx │ │ ├── Intercom.tsx │ │ ├── Layout.tsx │ │ ├── LocaleLinks.tsx │ │ ├── LocalePicker.tsx │ │ ├── Modal.tsx │ │ ├── Page.tsx │ │ ├── SEOMetadata.tsx │ │ ├── SkipToContent.tsx │ │ └── styles.scss │ └── context │ │ ├── AssignedVariationsContext.ts │ │ ├── CTALinkOverridePropsContext.tsx │ │ ├── ChatWithUsContext.tsx │ │ ├── CurrentLocaleContext.ts │ │ ├── CurrentPathContext.ts │ │ ├── EditingContext.ts │ │ ├── LocalesContext.tsx │ │ ├── MarketoFormOverridePropsContext.tsx │ │ ├── MarketoFormsContext.tsx │ │ ├── MediaContext.tsx │ │ ├── PageContext.tsx │ │ ├── ServerPropsContext.ts │ │ ├── SignupCTAOverridePropsContext.tsx │ │ └── SignupCTAParamsContext.tsx ├── fonts │ ├── FiveEyesCondensed-Bold.woff │ ├── FiveEyesCondensed-Bold.woff2 │ ├── Graphik-Bold.woff │ ├── Graphik-Bold.woff2 │ ├── Graphik-BoldItalic.woff │ ├── Graphik-BoldItalic.woff2 │ ├── Graphik-Regular.woff │ ├── Graphik-Regular.woff2 │ ├── Graphik-RegularItalic.woff │ ├── Graphik-RegularItalic.woff2 │ ├── Graphik-Semibold.woff │ ├── Graphik-Semibold.woff2 │ ├── Graphik-SemiboldItalic.woff │ ├── Graphik-SemiboldItalic.woff2 │ ├── Honey-BoldBanner.woff │ ├── Honey-BoldBanner.woff2 │ ├── Honey-ExtraboldBanner.woff │ ├── Honey-ExtraboldBanner.woff2 │ ├── IntercomBrand-Medium.woff │ ├── IntercomBrand-Medium.woff2 │ ├── IntercomBrush-Large.woff │ ├── IntercomBrush-Large.woff2 │ ├── IntercomBrush-Small.woff │ ├── IntercomBrush-Small.woff2 │ ├── SmileScript.woff │ └── SmileScript.woff2 ├── images │ ├── Wire-SVGs │ │ ├── Wire-1.svg │ │ ├── Wire-2.svg │ │ ├── Wire-3.svg │ │ ├── Wire-4.svg │ │ └── Wire-5.svg │ ├── apple-touch-icon-ipad.png │ ├── apple-touch-icon-iphone.png │ ├── apple-touch-icon-iphone4.png │ ├── contentful.png │ ├── ctf-branch.svg │ ├── favicon.png │ ├── intercom-logo.png │ ├── magic-line-4.svg │ ├── magic-line-6.svg │ ├── magic-line-sparkle-left.svg │ ├── magic-line-sparkle-right.svg │ ├── new-tab-icon.svg │ ├── optimizely.png │ ├── proactive-support-icon.svg │ ├── product-icon.svg │ ├── resolution-bot-icon.svg │ ├── star-empty.svg │ ├── star-half.svg │ └── star.svg ├── library │ ├── components │ │ ├── ActivePeopleRow │ │ │ └── component.tsx │ │ ├── AddonPricingModal │ │ │ ├── component.tsx │ │ │ └── styles.scss │ │ ├── CapabilitiesCarousel │ │ │ ├── component.tsx │ │ │ └── index.ts │ │ ├── CapabilitiesCarouselSlide │ │ │ └── component.tsx │ │ ├── CapabilityLabel │ │ │ └── component.tsx │ │ ├── CardContainer │ │ │ ├── component.tsx │ │ │ └── styles.scss │ │ ├── ComponentGroup │ │ │ └── component.tsx │ │ ├── EditorialStoryGrid │ │ │ └── component.tsx │ │ ├── EmailCapture │ │ │ └── component.tsx │ │ ├── EnterpriseSolutionBanner │ │ │ ├── component.tsx │ │ │ └── styles.scss │ │ ├── ExitIntentPopup │ │ │ ├── component.tsx │ │ │ └── styles.scss │ │ ├── FeatureSection │ │ │ └── component.tsx │ │ ├── FeatureSpotlight │ │ │ └── component.tsx │ │ ├── FeatureSpotlightBase │ │ │ ├── component.tsx │ │ │ └── styles.scss │ │ ├── FeaturesModal │ │ │ ├── component.tsx │ │ │ ├── index.ts │ │ │ └── styles.scss │ │ ├── FeaturesModalGroup │ │ │ └── component.tsx │ │ ├── FeaturesModalItem │ │ │ └── component.tsx │ │ ├── Footer │ │ │ ├── component.tsx │ │ │ └── styles.scss │ │ ├── GatedContent │ │ │ └── component.tsx │ │ ├── HeaderNavigation │ │ │ ├── component.tsx │ │ │ ├── headerLogo.tsx │ │ │ ├── headerNavigationCTA.tsx │ │ │ ├── headerNavigationCompact.tsx │ │ │ ├── headerNavigationDesktop.tsx │ │ │ ├── headerNavigationLinkBadge.tsx │ │ │ ├── headerNavigationMenu.tsx │ │ │ ├── headerNavigationMenuItem.tsx │ │ │ ├── headerNavigationMenuSection.tsx │ │ │ ├── headerNavigationMenubar.tsx │ │ │ ├── headerNavigationSignInLink.tsx │ │ │ ├── headerNavigationSpotlight.tsx │ │ │ ├── icon.tsx │ │ │ └── index.ts │ │ ├── Hero │ │ │ ├── component.tsx │ │ │ └── styles.scss │ │ ├── HeroWithCTA │ │ │ └── component.tsx │ │ ├── HomepageHero │ │ │ ├── component.tsx │ │ │ └── index.ts │ │ ├── HowPricingWorksModal │ │ │ └── component.tsx │ │ ├── IDLink │ │ │ └── component.tsx │ │ ├── LogoParty │ │ │ ├── component.tsx │ │ │ ├── headingsPair.tsx │ │ │ ├── index.ts │ │ │ └── singleHeading.tsx │ │ ├── MagicLine │ │ │ ├── image-props.ts │ │ │ └── magic-line.tsx │ │ ├── MarketoFormV2 │ │ │ ├── Field.tsx │ │ │ ├── component.tsx │ │ │ ├── fields │ │ │ │ ├── Checkbox.tsx │ │ │ │ ├── Input.tsx │ │ │ │ ├── RadioButtons.tsx │ │ │ │ ├── Select.tsx │ │ │ │ └── Textarea.tsx │ │ │ └── utils │ │ │ │ ├── getInitialValues.ts │ │ │ │ ├── getValidationErrorIfAny.ts │ │ │ │ ├── metrics.ts │ │ │ │ └── submission.ts │ │ ├── PlanColumnGroup │ │ │ ├── component.tsx │ │ │ └── styles.scss │ │ ├── PlanColumnGroupLayout │ │ │ ├── PricingModalRenderer.tsx │ │ │ ├── component.tsx │ │ │ └── styles.scss │ │ ├── PricingAddOnCard │ │ │ ├── component.tsx │ │ │ ├── horizontal-pricing-add-on-card.tsx │ │ │ ├── styles.scss │ │ │ └── vertical-pricing-add-on-card.tsx │ │ ├── PricingAddOns │ │ │ └── component.tsx │ │ ├── PricingModal │ │ │ └── component.tsx │ │ ├── PricingTable │ │ │ ├── component.tsx │ │ │ └── styles.scss │ │ ├── PricingTierCard │ │ │ ├── component.tsx │ │ │ └── styles.scss │ │ ├── Section │ │ │ └── component.tsx │ │ ├── SignUpCTA │ │ │ ├── buttonOnlyCTAContext.tsx │ │ │ ├── component.tsx │ │ │ └── submission.ts │ │ ├── SolutionCards │ │ │ └── component.tsx │ │ ├── SolutionFeature │ │ │ └── component.tsx │ │ ├── SolutionFeaturesModal │ │ │ └── component.tsx │ │ ├── SolutionWithTiers │ │ │ └── component.tsx │ │ ├── TestimonialSmall │ │ │ └── component.tsx │ │ ├── TestimonialTextOnly │ │ │ ├── component.tsx │ │ │ └── index.ts │ │ ├── TierPricingSection │ │ │ └── component.tsx │ │ ├── ValuePropsWithModalVideo │ │ │ ├── component.tsx │ │ │ └── styles.scss │ │ ├── WatchADemoCTA │ │ │ ├── component.tsx │ │ │ └── styles.scss │ │ └── WiredCardsComponent │ │ │ └── component.tsx │ ├── elements │ │ ├── AccordionSection │ │ │ └── element.tsx │ │ ├── CTAButton │ │ │ ├── component.tsx │ │ │ └── styles.scss │ │ ├── CTALink │ │ │ ├── element.tsx │ │ │ └── styles.scss │ │ ├── CardRow │ │ │ └── component.tsx │ │ ├── CheckMarks │ │ │ ├── element.tsx │ │ │ ├── styles.scss │ │ │ └── themes.ts │ │ ├── Chevron │ │ │ └── component.tsx │ │ ├── CloseButton │ │ │ └── element.tsx │ │ ├── EditorialStory │ │ │ └── component.tsx │ │ ├── EmailForm │ │ │ └── element.tsx │ │ ├── FeatureListItem │ │ │ └── element.tsx │ │ ├── FeatureListSimple │ │ │ └── element.tsx │ │ ├── FooterBlogLinks │ │ │ └── component.tsx │ │ ├── FooterHeadingLink │ │ │ └── component.tsx │ │ ├── FooterSection │ │ │ ├── component.tsx │ │ │ └── styles.scss │ │ ├── HeroHeadings │ │ │ └── component.tsx │ │ ├── Image │ │ │ ├── component.tsx │ │ │ ├── placeholder.tsx │ │ │ └── transformImageProps.tsx │ │ ├── ImageCard │ │ │ └── component.tsx │ │ ├── ImageOrAutoplayVideo │ │ │ └── component.tsx │ │ ├── IntercomLogo │ │ │ └── element.tsx │ │ ├── IntercomWordmark │ │ │ └── element.tsx │ │ ├── JumpLink │ │ │ ├── element.tsx │ │ │ └── styles.scss │ │ ├── LoadingAnimation │ │ │ └── element.tsx │ │ ├── Logo │ │ │ └── element.tsx │ │ ├── LottieVideo │ │ │ └── element.tsx │ │ ├── ModalWithPersistedState │ │ │ └── element.tsx │ │ ├── NewSticker │ │ │ └── element.tsx │ │ ├── PlanCtaCard │ │ │ └── component.tsx │ │ ├── PriceForPeriod │ │ │ └── element.tsx │ │ ├── ProductList │ │ │ └── component.tsx │ │ ├── RichText │ │ │ ├── component.tsx │ │ │ ├── index.ts │ │ │ └── style.scss │ │ ├── Select │ │ │ └── component.tsx │ │ ├── SocialProofCard │ │ │ ├── component.tsx │ │ │ └── styles.scss │ │ ├── SolutionCard │ │ │ └── element.tsx │ │ ├── Statistic │ │ │ └── component.tsx │ │ ├── Tag │ │ │ └── component.tsx │ │ ├── TagGroup │ │ │ └── component.tsx │ │ ├── Text │ │ │ ├── component.tsx │ │ │ ├── index.ts │ │ │ └── styles.ts │ │ ├── TextLink │ │ │ └── element.tsx │ │ ├── Tooltip │ │ │ ├── element.tsx │ │ │ └── index.ts │ │ ├── TranscriptButton │ │ │ └── component.tsx │ │ ├── ValuePropWithModalVideo │ │ │ ├── component.tsx │ │ │ └── styles.scss │ │ ├── VideoAutoplay │ │ │ └── component.tsx │ │ ├── VideoPlayer │ │ │ └── component.tsx │ │ ├── VisuallyHidden │ │ │ └── component.tsx │ │ ├── WhatsIncludedDrawer │ │ │ └── element.tsx │ │ ├── WiredCardElement │ │ │ └── element.tsx │ │ └── WistiaVideo │ │ │ └── element.tsx │ ├── hooks │ │ ├── use-children-sanitizer │ │ │ └── use-sanitizer.ts │ │ ├── useIosInputScrollEvents │ │ │ └── ios.ts │ │ └── useIsomorphicLayoutEffect.ts │ ├── images │ │ ├── accent-left.svg │ │ ├── accent-right.svg │ │ ├── addon-plus.svg │ │ ├── addon.svg │ │ ├── book-demo-background.png │ │ ├── bottom-texture-11.svg │ │ ├── bottom-texture-4.svg │ │ ├── brand-magic-star-logo-pond.svg │ │ ├── brand-magic-transition.svg │ │ ├── bullet-point.svg │ │ ├── caret.svg │ │ ├── checkmark-white.svg │ │ ├── checkmark.svg │ │ ├── csf-page │ │ │ ├── section-1.png │ │ │ ├── section-2.png │ │ │ ├── section-3.png │ │ │ ├── section-4.png │ │ │ ├── section-5.png │ │ │ ├── section-6.png │ │ │ └── section-7.png │ │ ├── edge-texture.svg │ │ ├── email_pattern.gif │ │ ├── feature-checkmark.svg │ │ ├── icons │ │ │ ├── controls--play.svg │ │ │ ├── product--articles.svg │ │ │ ├── product--at-sign.svg │ │ │ ├── product--bell.svg │ │ │ ├── product--bots.svg │ │ │ ├── product--contacts.svg │ │ │ ├── product--inbox.svg │ │ │ ├── product--messenger.svg │ │ │ ├── product--outbound.svg │ │ │ ├── product--reports.svg │ │ │ ├── product--series.svg │ │ │ ├── product--tours.svg │ │ │ ├── product--user.svg │ │ │ ├── product-apps.svg │ │ │ ├── sparkle-icon.svg │ │ │ ├── use-cases--magnet.svg │ │ │ ├── use-cases--target-shooting.svg │ │ │ └── use-cases--wheel.svg │ │ ├── menu_line_new.svg │ │ ├── mobile-carousels │ │ │ ├── hero.png │ │ │ ├── texture-1.png │ │ │ ├── texture-2.png │ │ │ ├── texture-3.png │ │ │ ├── texture-4.png │ │ │ ├── texture-5.png │ │ │ └── texture-6.png │ │ ├── modal-bottom-curve-texture.svg │ │ ├── modal-bottom-edge-texture.svg │ │ ├── modal-edge-texture.svg │ │ ├── paper-tear-top-white.png │ │ ├── spanner.svg │ │ ├── statistic-background.svg │ │ ├── top-texture.svg │ │ ├── torn-bottom-3.svg │ │ └── torn-top-3.svg │ ├── providers │ │ └── toggleProvider │ │ │ ├── index.ts │ │ │ └── toggleProvider.tsx │ ├── styles │ │ ├── pages │ │ │ ├── book-custom-demo.scss │ │ │ ├── chatbot-survey-page.scss │ │ │ ├── g2-page.scss │ │ │ ├── homepage-dis.scss │ │ │ ├── mobile-page.scss │ │ │ ├── pricing-page.scss │ │ │ ├── resolution-bot-lp.scss │ │ │ └── what-is-intercom.scss │ │ └── vendor │ │ │ └── vendor.scss │ └── utils │ │ ├── analytics │ │ ├── analyticsEvent.ts │ │ └── trackEvent.ts │ │ ├── color-scheme │ │ └── color-scheme.ts │ │ ├── colors-compatibility.ts │ │ ├── constants │ │ ├── animation.ts │ │ ├── colors.ts │ │ ├── layout.ts │ │ ├── mediaQueries.ts │ │ ├── modal.ts │ │ ├── textAlign.ts │ │ ├── themes.ts │ │ └── typography.ts │ │ ├── getSignupIntentRedirectPath.ts │ │ ├── googleTagManager.ts │ │ ├── html-sanitizer.ts │ │ ├── icons.tsx │ │ ├── index.ts │ │ ├── ios.ts │ │ ├── isElementVisible.ts │ │ ├── localization │ │ ├── currentUILocaleStore.ts │ │ └── default-corpus.ts │ │ ├── mediaQuery.tsx │ │ ├── mediaStore.ts │ │ ├── network.ts │ │ ├── queryParams.ts │ │ ├── textUtils.ts │ │ └── windowSize.ts ├── styles │ ├── constants.ts │ └── global.scss └── transformers │ ├── CTA.tsx │ ├── ContentfulFeaturesModal.tsx │ ├── ContentfulPricingTable.tsx │ ├── SEOMetadata.ts │ ├── components │ ├── ContentfulActivePeopleRow.tsx │ ├── ContentfulAddonPricingModal.tsx │ ├── ContentfulCapabilitiesCarousel.tsx │ ├── ContentfulCardContainer.tsx │ ├── ContentfulComponentGroup.tsx │ ├── ContentfulEditorialStoryGrid.tsx │ ├── ContentfulEmailCapture.tsx │ ├── ContentfulEnterpriseSolutionBanner.tsx │ ├── ContentfulFeatureSection.tsx │ ├── ContentfulFeatureSpotlight.tsx │ ├── ContentfulFeatureSpotlightBase.tsx │ ├── ContentfulFooter.tsx │ ├── ContentfulGatedContent.tsx │ ├── ContentfulHeaderNavigation.tsx │ ├── ContentfulHeroWithCTA.tsx │ ├── ContentfulHomepageHero.tsx │ ├── ContentfulHowPricingWorks.tsx │ ├── ContentfulIDLink.tsx │ ├── ContentfulLayout.tsx │ ├── ContentfulLearnLinks.tsx │ ├── ContentfulLogoParty.tsx │ ├── ContentfulMarketoForm.tsx │ ├── ContentfulPlanColumnGroup.tsx │ ├── ContentfulPlanColumnGroupLayout.tsx │ ├── ContentfulPricingAddOnCard.tsx │ ├── ContentfulPricingAddOns.tsx │ ├── ContentfulPricingModal.tsx │ ├── ContentfulPricingTierCard.tsx │ ├── ContentfulSolutionCards.tsx │ ├── ContentfulSolutionFeature.tsx │ ├── ContentfulSolutionFeatures.tsx │ ├── ContentfulSolutionWithTiers.tsx │ ├── ContentfulTestimonialSmall.tsx │ ├── ContentfulTestimonialTextOnly.tsx │ ├── ContentfulTierPricingSection.tsx │ ├── ContentfulValuePropsWithModalVideo.tsx │ ├── ContentfulVariationContainer.scss │ ├── ContentfulVariationContainer.tsx │ ├── ContentfulWatchADemoCTA.tsx │ └── ContentfulWiredCards.tsx │ └── elements │ ├── ContentfulCTAButton.tsx │ ├── ContentfulCTALink.tsx │ ├── ContentfulCheckmarks.tsx │ ├── ContentfulEditorialStory.tsx │ ├── ContentfulFeatureListItem.tsx │ ├── ContentfulFeatureListSimple.tsx │ ├── ContentfulFooterLink.tsx │ ├── ContentfulFooterSectionElement.tsx │ ├── ContentfulImage.tsx │ ├── ContentfulJumpLink.tsx │ ├── ContentfulLogo.tsx │ ├── ContentfulModalButton.tsx │ ├── ContentfulOpenMessenger.tsx │ ├── ContentfulPriceForPeriod.tsx │ ├── ContentfulProductList.tsx │ ├── ContentfulSignUpCTA.tsx │ ├── ContentfulSolutionCard.tsx │ ├── ContentfulStatistic.tsx │ ├── ContentfulValuePropWithModalVideo.tsx │ ├── ContentfulVideoOrImage.tsx │ ├── ContentfulVideoPlayer.tsx │ ├── ContentfulWhatsIncludedItem.tsx │ └── ContentfulWiredCard.tsx └── webpack └── bootstrap.html /README.md: -------------------------------------------------------------------------------- 1 | # Intercom homepage code base (for studying only) 2 | 3 | This repo contains (some) code from https://www.intercom.com - by Intercom. We're not write or update anything on this, it's original code that downloaded through Chrome debuger tool. 4 | 5 | Notes: 6 | 7 | ```marketing-site``` in this repo equivalent to ```root``` folder. Example: 8 | 9 | ``` 10 | import LocaleLinks from 'marketing-site/src/components/common/LocaleLinks' 11 | ``` 12 | 13 | is equivalent to: 14 | 15 | ``` 16 | import LocaleLinks from 'src/components/common/LocaleLinks' 17 | ``` 18 | 19 | **Cong Nguyen** -------------------------------------------------------------------------------- /Screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ladifire-opensource/intercom.com-homepage/6b70b730a39cb5b90187947cc9a53ed47f3cc8ce/Screenshot.png -------------------------------------------------------------------------------- /client/next.js: -------------------------------------------------------------------------------- 1 | import initNext, * as next from './' 2 | 3 | window.next = next 4 | 5 | initNext().catch(console.error) 6 | -------------------------------------------------------------------------------- /lib/env.ts: -------------------------------------------------------------------------------- 1 | export const dev = process.env.NODE_ENV !== 'production' 2 | export const preview = process.env.CONTENTFUL_PREVIEW === 'true' 3 | export const staging = process.env.STAGING === 'true' 4 | export const test = process.env.NODE_ENV === 'test' 5 | export const production = !dev && !preview && !staging 6 | -------------------------------------------------------------------------------- /lib/httpHeaderUtils.ts: -------------------------------------------------------------------------------- 1 | export const headerContentTypeJson = { 'Content-Type': 'application/json' } 2 | -------------------------------------------------------------------------------- /lib/mergeQueryParams.ts: -------------------------------------------------------------------------------- 1 | import queryString from 'query-string' 2 | 3 | export default function mergeQueryParams(url: string, queryParams: object): string { 4 | const parsedUrl = queryString.parseUrl(url) 5 | 6 | const hash = (url.match(/#.+$/) || [''])[0] 7 | 8 | let query = queryString.stringify({ ...parsedUrl.query, ...queryParams }) 9 | if (query) { 10 | query = '?' + query 11 | } 12 | 13 | return parsedUrl.url + query + hash 14 | } 15 | -------------------------------------------------------------------------------- /lib/page-behaviors/CdaUpdater.tsx: -------------------------------------------------------------------------------- 1 | import React, { useEffect } from 'react' 2 | import { IPageBehaviorComponentProps } from './PageBehaviors' 3 | 4 | export default function CdaUpdater({ data, children }: IPageBehaviorComponentProps) { 5 | useEffect(() => { 6 | window.Intercom('update', data.configuration) 7 | }, [data.configuration]) 8 | 9 | return <>{children} 10 | } 11 | -------------------------------------------------------------------------------- /lib/page-behaviors/ChatbotSurveryPage.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { IPageBehaviorComponentProps } from './PageBehaviors' 3 | import styles from 'marketing-site/src/library/styles/pages/chatbot-survey-page.scss' 4 | 5 | export default function ChatbotSurveyPage({ children }: IPageBehaviorComponentProps) { 6 | return ( 7 | <> 8 | {children} 9 | 10 | 11 | ) 12 | } 13 | -------------------------------------------------------------------------------- /lib/page-behaviors/CustomStyles.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import jsonToCss from 'marketing-site/lib/jsonToCss' 3 | import { IPageBehaviorComponentProps } from './PageBehaviors' 4 | 5 | export default function CustomStyles({ children, data }: IPageBehaviorComponentProps) { 6 | return ( 7 | <> 8 | 9 | {children} 10 | 11 | ) 12 | } 13 | -------------------------------------------------------------------------------- /lib/page-behaviors/G2Page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { IPageBehaviorComponentProps } from './PageBehaviors' 3 | import styles from 'marketing-site/src/library/styles/pages/g2-page.scss' 4 | 5 | export default function G2Page({ children }: IPageBehaviorComponentProps) { 6 | return ( 7 | <> 8 | {children} 9 | 10 | 11 | ) 12 | } 13 | -------------------------------------------------------------------------------- /lib/page-behaviors/HomepageDIS.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { IPageBehaviorComponentProps } from './PageBehaviors' 3 | import styles from 'marketing-site/src/library/styles/pages/homepage-dis.scss' 4 | 5 | export default function HomepageDIS({ children }: IPageBehaviorComponentProps) { 6 | return ( 7 | <> 8 | {children} 9 | 10 | 11 | ) 12 | } 13 | -------------------------------------------------------------------------------- /lib/page-behaviors/MobilePage.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { IPageBehaviorComponentProps } from './PageBehaviors' 3 | import styles from 'marketing-site/src/library/styles/pages/mobile-page.scss' 4 | 5 | export default function MobilePage({ children }: IPageBehaviorComponentProps) { 6 | return ( 7 | <> 8 | {children} 9 | 10 | 11 | ) 12 | } 13 | -------------------------------------------------------------------------------- /lib/page-behaviors/PricingPage.tsx: -------------------------------------------------------------------------------- 1 | import styles from 'marketing-site/src/library/styles/pages/pricing-page.scss' 2 | import React from 'react' 3 | import { IPageBehaviorComponentProps } from './PageBehaviors' 4 | 5 | export default function PricingPage({ children }: IPageBehaviorComponentProps) { 6 | return ( 7 | <> 8 | {children} 9 | 10 | 11 | ) 12 | } 13 | -------------------------------------------------------------------------------- /lib/page-behaviors/ResolutionBotLP.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { IPageBehaviorComponentProps } from './PageBehaviors' 3 | import styles from 'marketing-site/src/library/styles/pages/resolution-bot-lp.scss' 4 | 5 | export default function ResolutionBotLP({ children }: IPageBehaviorComponentProps) { 6 | return ( 7 | <> 8 | {children} 9 | 10 | 11 | ) 12 | } 13 | -------------------------------------------------------------------------------- /lib/page-behaviors/WhatIsIntercom.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { IPageBehaviorComponentProps } from './PageBehaviors' 3 | import styles from 'marketing-site/src/library/styles/pages/what-is-intercom.scss' 4 | 5 | export default function WhatIsIntercom({ children }: IPageBehaviorComponentProps) { 6 | return ( 7 | <> 8 | {children} 9 | 10 | 11 | ) 12 | } 13 | -------------------------------------------------------------------------------- /lib/polyfills.ts: -------------------------------------------------------------------------------- 1 | import 'whatwg-fetch' 2 | import 'core-js/modules/es.object.assign' 3 | import 'picturefill' 4 | import 'smoothscroll-polyfill' 5 | import 'focus-visible' 6 | -------------------------------------------------------------------------------- /lib/teammateAppUrl.ts: -------------------------------------------------------------------------------- 1 | export const TEAMMATE_APP_URL = 'https://app.intercom.com' 2 | export const TEAMMATE_APP_DEV_URL = 'http://app.intercom.test' 3 | 4 | export function setTeammateAppUrl(url: string): string { 5 | return process.env.NODE_ENV === 'development' && url.startsWith(TEAMMATE_APP_URL) 6 | ? url.replace(TEAMMATE_APP_URL, TEAMMATE_APP_DEV_URL) 7 | : url 8 | } 9 | -------------------------------------------------------------------------------- /lib/useModalOpenState.ts: -------------------------------------------------------------------------------- 1 | import { useState } from 'react' 2 | 3 | export default function useModalOpenState(): [boolean, () => void, () => void] { 4 | const [modalOpen, setModalOpen] = useState(false) 5 | 6 | function openModal() { 7 | setModalOpen(true) 8 | } 9 | 10 | function closeModal() { 11 | setModalOpen(false) 12 | } 13 | 14 | return [modalOpen, openModal, closeModal] 15 | } 16 | -------------------------------------------------------------------------------- /lib/validEmail.ts: -------------------------------------------------------------------------------- 1 | export const VALID_EMAIL = 2 | /^[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$/ 3 | -------------------------------------------------------------------------------- /next-server/lib/amp-context.ts: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | 3 | export const AmpStateContext: React.Context = React.createContext({}) 4 | 5 | if (process.env.NODE_ENV !== 'production') { 6 | AmpStateContext.displayName = 'AmpStateContext' 7 | } 8 | -------------------------------------------------------------------------------- /next-server/lib/amp.ts: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { AmpStateContext } from './amp-context' 3 | 4 | export function isInAmpMode({ 5 | ampFirst = false, 6 | hybrid = false, 7 | hasQuery = false, 8 | } = {}): boolean { 9 | return ampFirst || (hybrid && hasQuery) 10 | } 11 | 12 | export function useAmp(): boolean { 13 | // Don't assign the context value to a variable to save bytes 14 | return isInAmpMode(React.useContext(AmpStateContext)) 15 | } 16 | -------------------------------------------------------------------------------- /next-server/lib/head-manager-context.ts: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | 3 | export const HeadManagerContext: React.Context<{ 4 | updateHead?: (state: any) => void 5 | mountedInstances?: any 6 | updateScripts?: (state: any) => void 7 | scripts?: any 8 | }> = React.createContext({}) 9 | 10 | if (process.env.NODE_ENV !== 'production') { 11 | HeadManagerContext.displayName = 'HeadManagerContext' 12 | } 13 | -------------------------------------------------------------------------------- /next-server/lib/loadable-context.ts: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | 3 | type CaptureFn = (moduleName: string) => void 4 | 5 | export const LoadableContext = React.createContext(null) 6 | 7 | if (process.env.NODE_ENV !== 'production') { 8 | LoadableContext.displayName = 'LoadableContext' 9 | } 10 | -------------------------------------------------------------------------------- /next-server/lib/router-context.ts: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { NextRouter } from './router/router' 3 | 4 | export const RouterContext = React.createContext(null as any) 5 | 6 | if (process.env.NODE_ENV !== 'production') { 7 | RouterContext.displayName = 'RouterContext' 8 | } 9 | -------------------------------------------------------------------------------- /next-server/lib/router/utils/get-asset-path-from-route.ts: -------------------------------------------------------------------------------- 1 | // Translates a logical route into its pages asset path (relative from a common prefix) 2 | // "asset path" being its javascript file, data file, prerendered html,... 3 | export default function getAssetPathFromRoute( 4 | route: string, 5 | ext: string = '' 6 | ): string { 7 | const path = 8 | route === '/' 9 | ? '/index' 10 | : /^\/index(\/|$)/.test(route) 11 | ? `/index${route}` 12 | : `${route}` 13 | return path + ext 14 | } 15 | -------------------------------------------------------------------------------- /next-server/lib/router/utils/is-dynamic.ts: -------------------------------------------------------------------------------- 1 | // Identify /[param]/ in route string 2 | const TEST_ROUTE = /\/\[[^/]+?\](?=\/|$)/ 3 | 4 | export function isDynamicRoute(route: string): boolean { 5 | return TEST_ROUTE.test(route) 6 | } 7 | -------------------------------------------------------------------------------- /next-server/lib/router/utils/resolve-rewrites-noop.ts: -------------------------------------------------------------------------------- 1 | export default function resolveRewrites() {} 2 | -------------------------------------------------------------------------------- /next-server/lib/runtime-config.ts: -------------------------------------------------------------------------------- 1 | let runtimeConfig: any 2 | 3 | export default () => { 4 | return runtimeConfig 5 | } 6 | 7 | export function setConfig(configValue: any): void { 8 | runtimeConfig = configValue 9 | } 10 | -------------------------------------------------------------------------------- /node_modules/@datadog/browser-core/esm/tools/catchUserErrors.js: -------------------------------------------------------------------------------- 1 | import { display } from './display'; 2 | export function catchUserErrors(fn, errorMsg) { 3 | return function () { 4 | var args = []; 5 | for (var _i = 0; _i < arguments.length; _i++) { 6 | args[_i] = arguments[_i]; 7 | } 8 | try { 9 | return fn.apply(void 0, args); 10 | } 11 | catch (err) { 12 | display.error(errorMsg, err); 13 | } 14 | }; 15 | } 16 | //# sourceMappingURL=catchUserErrors.js.map -------------------------------------------------------------------------------- /node_modules/@datadog/browser-core/esm/tools/contextManager.js: -------------------------------------------------------------------------------- 1 | export function createContextManager() { 2 | var context = {}; 3 | return { 4 | get: function () { return context; }, 5 | add: function (key, value) { 6 | context[key] = value; 7 | }, 8 | remove: function (key) { 9 | delete context[key]; 10 | }, 11 | set: function (newContext) { 12 | context = newContext; 13 | }, 14 | }; 15 | } 16 | //# sourceMappingURL=contextManager.js.map -------------------------------------------------------------------------------- /node_modules/@datadog/browser-core/esm/tools/display.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable no-console, local-rules/disallow-side-effects */ 2 | /** 3 | * Keep references on console methods to avoid triggering patched behaviors 4 | * 5 | * NB: in some setup, console could already be patched by another SDK. 6 | * In this case, some display messages can be sent by the other SDK 7 | * but we should be safe from infinite loop nonetheless. 8 | */ 9 | export var display = { 10 | log: console.log.bind(console), 11 | warn: console.warn.bind(console), 12 | error: console.error.bind(console), 13 | }; 14 | //# sourceMappingURL=display.js.map -------------------------------------------------------------------------------- /node_modules/@datadog/browser-rum-core/esm/boot/buildEnv.js: -------------------------------------------------------------------------------- 1 | export var buildEnv = { 2 | buildMode: 'release', 3 | datacenter: 'us', 4 | sdkVersion: '3.0.2', 5 | }; 6 | //# sourceMappingURL=buildEnv.js.map -------------------------------------------------------------------------------- /node_modules/@datadog/browser-rum/esm/boot/rum.entry.js: -------------------------------------------------------------------------------- 1 | import { defineGlobal, getGlobalObject } from '@datadog/browser-core'; 2 | import { makeRumPublicApi, startRum } from '@datadog/browser-rum-core'; 3 | import { startRecording } from './startRecording'; 4 | import { makeRecorderApi } from './recorderApi'; 5 | var recorderApi = makeRecorderApi(startRecording); 6 | export var datadogRum = makeRumPublicApi(startRum, recorderApi); 7 | defineGlobal(getGlobalObject(), 'DD_RUM', datadogRum); 8 | //# sourceMappingURL=rum.entry.js.map -------------------------------------------------------------------------------- /node_modules/@datadog/browser-rum/esm/constants.js: -------------------------------------------------------------------------------- 1 | export var PRIVACY_ATTR_NAME = 'data-dd-privacy'; 2 | export var PRIVACY_ATTR_VALUE_HIDDEN = 'hidden'; 3 | export var PRIVACY_ATTR_VALUE_INPUT_IGNORED = 'input-ignored'; 4 | export var PRIVACY_ATTR_VALUE_INPUT_MASKED = 'input-masked'; 5 | export var PRIVACY_CLASS_HIDDEN = 'dd-privacy-hidden'; 6 | export var PRIVACY_CLASS_INPUT_IGNORED = 'dd-privacy-input-ignored'; 7 | export var PRIVACY_CLASS_INPUT_MASKED = 'dd-privacy-input-masked'; 8 | //# sourceMappingURL=constants.js.map -------------------------------------------------------------------------------- /node_modules/@datadog/browser-rum/esm/types.js: -------------------------------------------------------------------------------- 1 | export { IncrementalSource } from './domain/record/types'; 2 | export var RecordType = { 3 | FullSnapshot: 2, 4 | IncrementalSnapshot: 3, 5 | Meta: 4, 6 | Focus: 6, 7 | ViewEnd: 7, 8 | }; 9 | //# sourceMappingURL=types.js.map -------------------------------------------------------------------------------- /node_modules/@sentry/browser/esm/version.js: -------------------------------------------------------------------------------- 1 | // TODO: Remove in the next major release and rely only on @sentry/core SDK_VERSION and SdkInfo metadata 2 | export var SDK_NAME = 'sentry.javascript.browser'; 3 | //# sourceMappingURL=version.js.map -------------------------------------------------------------------------------- /node_modules/@sentry/browser/node_modules/@sentry/core/esm/version.js: -------------------------------------------------------------------------------- 1 | export var SDK_VERSION = '6.11.0'; 2 | //# sourceMappingURL=version.js.map -------------------------------------------------------------------------------- /node_modules/@sentry/browser/node_modules/@sentry/utils/esm/stacktrace.js: -------------------------------------------------------------------------------- 1 | var defaultFunctionName = ''; 2 | /** 3 | * Safely extract function name from itself 4 | */ 5 | export function getFunctionName(fn) { 6 | try { 7 | if (!fn || typeof fn !== 'function') { 8 | return defaultFunctionName; 9 | } 10 | return fn.name || defaultFunctionName; 11 | } 12 | catch (e) { 13 | // Just accessing custom props in some Selenium environments 14 | // can cause a "Permission denied" exception (see raven-js#495). 15 | return defaultFunctionName; 16 | } 17 | } 18 | //# sourceMappingURL=stacktrace.js.map -------------------------------------------------------------------------------- /node_modules/core-js/es/map/index.js: -------------------------------------------------------------------------------- 1 | require('../../modules/es.map'); 2 | require('../../modules/es.object.to-string'); 3 | require('../../modules/es.string.iterator'); 4 | require('../../modules/web.dom-collections.iterator'); 5 | var path = require('../../internals/path'); 6 | 7 | module.exports = path.Map; 8 | -------------------------------------------------------------------------------- /node_modules/core-js/es/object/assign.js: -------------------------------------------------------------------------------- 1 | require('../../modules/es.object.assign'); 2 | var path = require('../../internals/path'); 3 | 4 | module.exports = path.Object.assign; 5 | -------------------------------------------------------------------------------- /node_modules/core-js/es/set/index.js: -------------------------------------------------------------------------------- 1 | require('../../modules/es.set'); 2 | require('../../modules/es.object.to-string'); 3 | require('../../modules/es.string.iterator'); 4 | require('../../modules/web.dom-collections.iterator'); 5 | var path = require('../../internals/path'); 6 | 7 | module.exports = path.Set; 8 | -------------------------------------------------------------------------------- /node_modules/core-js/es/typed-array/index.js: -------------------------------------------------------------------------------- 1 | require('../../modules/es.typed-array.int8-array'); 2 | require('../../modules/es.typed-array.uint8-array'); 3 | require('../../modules/es.typed-array.uint8-clamped-array'); 4 | require('../../modules/es.typed-array.int16-array'); 5 | require('../../modules/es.typed-array.uint16-array'); 6 | require('../../modules/es.typed-array.int32-array'); 7 | require('../../modules/es.typed-array.uint32-array'); 8 | require('../../modules/es.typed-array.float32-array'); 9 | require('../../modules/es.typed-array.float64-array'); 10 | require('./methods'); 11 | 12 | module.exports = require('../../internals/global'); 13 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/a-function.js: -------------------------------------------------------------------------------- 1 | module.exports = function (it) { 2 | if (typeof it != 'function') { 3 | throw TypeError(String(it) + ' is not a function'); 4 | } return it; 5 | }; 6 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/a-possible-prototype.js: -------------------------------------------------------------------------------- 1 | var isObject = require('../internals/is-object'); 2 | 3 | module.exports = function (it) { 4 | if (!isObject(it) && it !== null) { 5 | throw TypeError("Can't set " + String(it) + ' as a prototype'); 6 | } return it; 7 | }; 8 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/an-instance.js: -------------------------------------------------------------------------------- 1 | module.exports = function (it, Constructor, name) { 2 | if (!(it instanceof Constructor)) { 3 | throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation'); 4 | } return it; 5 | }; 6 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/an-object.js: -------------------------------------------------------------------------------- 1 | var isObject = require('../internals/is-object'); 2 | 3 | module.exports = function (it) { 4 | if (!isObject(it)) { 5 | throw TypeError(String(it) + ' is not an object'); 6 | } return it; 7 | }; 8 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/array-buffer-native.js: -------------------------------------------------------------------------------- 1 | // eslint-disable-next-line es/no-typed-arrays -- safe 2 | module.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined'; 3 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/array-method-is-strict.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var fails = require('../internals/fails'); 3 | 4 | module.exports = function (METHOD_NAME, argument) { 5 | var method = [][METHOD_NAME]; 6 | return !!method && fails(function () { 7 | // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing 8 | method.call(null, argument || function () { throw 1; }, 1); 9 | }); 10 | }; 11 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/classof-raw.js: -------------------------------------------------------------------------------- 1 | var toString = {}.toString; 2 | 3 | module.exports = function (it) { 4 | return toString.call(it).slice(8, -1); 5 | }; 6 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/correct-prototype-getter.js: -------------------------------------------------------------------------------- 1 | var fails = require('../internals/fails'); 2 | 3 | module.exports = !fails(function () { 4 | function F() { /* empty */ } 5 | F.prototype.constructor = null; 6 | // eslint-disable-next-line es/no-object-getprototypeof -- required for testing 7 | return Object.getPrototypeOf(new F()) !== F.prototype; 8 | }); 9 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/create-non-enumerable-property.js: -------------------------------------------------------------------------------- 1 | var DESCRIPTORS = require('../internals/descriptors'); 2 | var definePropertyModule = require('../internals/object-define-property'); 3 | var createPropertyDescriptor = require('../internals/create-property-descriptor'); 4 | 5 | module.exports = DESCRIPTORS ? function (object, key, value) { 6 | return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); 7 | } : function (object, key, value) { 8 | object[key] = value; 9 | return object; 10 | }; 11 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/create-property-descriptor.js: -------------------------------------------------------------------------------- 1 | module.exports = function (bitmap, value) { 2 | return { 3 | enumerable: !(bitmap & 1), 4 | configurable: !(bitmap & 2), 5 | writable: !(bitmap & 4), 6 | value: value 7 | }; 8 | }; 9 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/descriptors.js: -------------------------------------------------------------------------------- 1 | var fails = require('../internals/fails'); 2 | 3 | // Detect IE8's incomplete defineProperty implementation 4 | module.exports = !fails(function () { 5 | // eslint-disable-next-line es/no-object-defineproperty -- required for testing 6 | return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; 7 | }); 8 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/document-create-element.js: -------------------------------------------------------------------------------- 1 | var global = require('../internals/global'); 2 | var isObject = require('../internals/is-object'); 3 | 4 | var document = global.document; 5 | // typeof document.createElement is 'object' in old IE 6 | var EXISTS = isObject(document) && isObject(document.createElement); 7 | 8 | module.exports = function (it) { 9 | return EXISTS ? document.createElement(it) : {}; 10 | }; 11 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/engine-ff-version.js: -------------------------------------------------------------------------------- 1 | var userAgent = require('../internals/engine-user-agent'); 2 | 3 | var firefox = userAgent.match(/firefox\/(\d+)/i); 4 | 5 | module.exports = !!firefox && +firefox[1]; 6 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/engine-is-ie-or-edge.js: -------------------------------------------------------------------------------- 1 | var UA = require('../internals/engine-user-agent'); 2 | 3 | module.exports = /MSIE|Trident/.test(UA); 4 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/engine-user-agent.js: -------------------------------------------------------------------------------- 1 | var getBuiltIn = require('../internals/get-built-in'); 2 | 3 | module.exports = getBuiltIn('navigator', 'userAgent') || ''; 4 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/engine-v8-version.js: -------------------------------------------------------------------------------- 1 | var global = require('../internals/global'); 2 | var userAgent = require('../internals/engine-user-agent'); 3 | 4 | var process = global.process; 5 | var versions = process && process.versions; 6 | var v8 = versions && versions.v8; 7 | var match, version; 8 | 9 | if (v8) { 10 | match = v8.split('.'); 11 | version = match[0] < 4 ? 1 : match[0] + match[1]; 12 | } else if (userAgent) { 13 | match = userAgent.match(/Edge\/(\d+)/); 14 | if (!match || match[1] >= 74) { 15 | match = userAgent.match(/Chrome\/(\d+)/); 16 | if (match) version = match[1]; 17 | } 18 | } 19 | 20 | module.exports = version && +version; 21 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/engine-webkit-version.js: -------------------------------------------------------------------------------- 1 | var userAgent = require('../internals/engine-user-agent'); 2 | 3 | var webkit = userAgent.match(/AppleWebKit\/(\d+)\./); 4 | 5 | module.exports = !!webkit && +webkit[1]; 6 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/enum-bug-keys.js: -------------------------------------------------------------------------------- 1 | // IE8- don't enum bug keys 2 | module.exports = [ 3 | 'constructor', 4 | 'hasOwnProperty', 5 | 'isPrototypeOf', 6 | 'propertyIsEnumerable', 7 | 'toLocaleString', 8 | 'toString', 9 | 'valueOf' 10 | ]; 11 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/fails.js: -------------------------------------------------------------------------------- 1 | module.exports = function (exec) { 2 | try { 3 | return !!exec(); 4 | } catch (error) { 5 | return true; 6 | } 7 | }; 8 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/freezing.js: -------------------------------------------------------------------------------- 1 | var fails = require('../internals/fails'); 2 | 3 | module.exports = !fails(function () { 4 | // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing 5 | return Object.isExtensible(Object.preventExtensions({})); 6 | }); 7 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/get-built-in.js: -------------------------------------------------------------------------------- 1 | var path = require('../internals/path'); 2 | var global = require('../internals/global'); 3 | 4 | var aFunction = function (variable) { 5 | return typeof variable == 'function' ? variable : undefined; 6 | }; 7 | 8 | module.exports = function (namespace, method) { 9 | return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) 10 | : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method]; 11 | }; 12 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/get-iterator-method.js: -------------------------------------------------------------------------------- 1 | var classof = require('../internals/classof'); 2 | var Iterators = require('../internals/iterators'); 3 | var wellKnownSymbol = require('../internals/well-known-symbol'); 4 | 5 | var ITERATOR = wellKnownSymbol('iterator'); 6 | 7 | module.exports = function (it) { 8 | if (it != undefined) return it[ITERATOR] 9 | || it['@@iterator'] 10 | || Iterators[classof(it)]; 11 | }; 12 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/global.js: -------------------------------------------------------------------------------- 1 | var check = function (it) { 2 | return it && it.Math == Math && it; 3 | }; 4 | 5 | // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 6 | module.exports = 7 | // eslint-disable-next-line es/no-global-this -- safe 8 | check(typeof globalThis == 'object' && globalThis) || 9 | check(typeof window == 'object' && window) || 10 | // eslint-disable-next-line no-restricted-globals -- safe 11 | check(typeof self == 'object' && self) || 12 | check(typeof global == 'object' && global) || 13 | // eslint-disable-next-line no-new-func -- fallback 14 | (function () { return this; })() || Function('return this')(); 15 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/has.js: -------------------------------------------------------------------------------- 1 | var toObject = require('../internals/to-object'); 2 | 3 | var hasOwnProperty = {}.hasOwnProperty; 4 | 5 | module.exports = Object.hasOwn || function hasOwn(it, key) { 6 | return hasOwnProperty.call(toObject(it), key); 7 | }; 8 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/hidden-keys.js: -------------------------------------------------------------------------------- 1 | module.exports = {}; 2 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/html.js: -------------------------------------------------------------------------------- 1 | var getBuiltIn = require('../internals/get-built-in'); 2 | 3 | module.exports = getBuiltIn('document', 'documentElement'); 4 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/ie8-dom-define.js: -------------------------------------------------------------------------------- 1 | var DESCRIPTORS = require('../internals/descriptors'); 2 | var fails = require('../internals/fails'); 3 | var createElement = require('../internals/document-create-element'); 4 | 5 | // Thank's IE8 for his funny defineProperty 6 | module.exports = !DESCRIPTORS && !fails(function () { 7 | // eslint-disable-next-line es/no-object-defineproperty -- requied for testing 8 | return Object.defineProperty(createElement('div'), 'a', { 9 | get: function () { return 7; } 10 | }).a != 7; 11 | }); 12 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/indexed-object.js: -------------------------------------------------------------------------------- 1 | var fails = require('../internals/fails'); 2 | var classof = require('../internals/classof-raw'); 3 | 4 | var split = ''.split; 5 | 6 | // fallback for non-array-like ES3 and non-enumerable old V8 strings 7 | module.exports = fails(function () { 8 | // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 9 | // eslint-disable-next-line no-prototype-builtins -- safe 10 | return !Object('z').propertyIsEnumerable(0); 11 | }) ? function (it) { 12 | return classof(it) == 'String' ? split.call(it, '') : Object(it); 13 | } : Object; 14 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/inspect-source.js: -------------------------------------------------------------------------------- 1 | var store = require('../internals/shared-store'); 2 | 3 | var functionToString = Function.toString; 4 | 5 | // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper 6 | if (typeof store.inspectSource != 'function') { 7 | store.inspectSource = function (it) { 8 | return functionToString.call(it); 9 | }; 10 | } 11 | 12 | module.exports = store.inspectSource; 13 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/is-array-iterator-method.js: -------------------------------------------------------------------------------- 1 | var wellKnownSymbol = require('../internals/well-known-symbol'); 2 | var Iterators = require('../internals/iterators'); 3 | 4 | var ITERATOR = wellKnownSymbol('iterator'); 5 | var ArrayPrototype = Array.prototype; 6 | 7 | // check on default Array iterator 8 | module.exports = function (it) { 9 | return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); 10 | }; 11 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/is-array.js: -------------------------------------------------------------------------------- 1 | var classof = require('../internals/classof-raw'); 2 | 3 | // `IsArray` abstract operation 4 | // https://tc39.es/ecma262/#sec-isarray 5 | // eslint-disable-next-line es/no-array-isarray -- safe 6 | module.exports = Array.isArray || function isArray(arg) { 7 | return classof(arg) == 'Array'; 8 | }; 9 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/is-forced.js: -------------------------------------------------------------------------------- 1 | var fails = require('../internals/fails'); 2 | 3 | var replacement = /#|\.prototype\./; 4 | 5 | var isForced = function (feature, detection) { 6 | var value = data[normalize(feature)]; 7 | return value == POLYFILL ? true 8 | : value == NATIVE ? false 9 | : typeof detection == 'function' ? fails(detection) 10 | : !!detection; 11 | }; 12 | 13 | var normalize = isForced.normalize = function (string) { 14 | return String(string).replace(replacement, '.').toLowerCase(); 15 | }; 16 | 17 | var data = isForced.data = {}; 18 | var NATIVE = isForced.NATIVE = 'N'; 19 | var POLYFILL = isForced.POLYFILL = 'P'; 20 | 21 | module.exports = isForced; 22 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/is-object.js: -------------------------------------------------------------------------------- 1 | module.exports = function (it) { 2 | return typeof it === 'object' ? it !== null : typeof it === 'function'; 3 | }; 4 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/is-pure.js: -------------------------------------------------------------------------------- 1 | module.exports = false; 2 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/iterator-close.js: -------------------------------------------------------------------------------- 1 | var anObject = require('../internals/an-object'); 2 | 3 | module.exports = function (iterator) { 4 | var returnMethod = iterator['return']; 5 | if (returnMethod !== undefined) { 6 | return anObject(returnMethod.call(iterator)).value; 7 | } 8 | }; 9 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/iterators.js: -------------------------------------------------------------------------------- 1 | module.exports = {}; 2 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/native-weak-map.js: -------------------------------------------------------------------------------- 1 | var global = require('../internals/global'); 2 | var inspectSource = require('../internals/inspect-source'); 3 | 4 | var WeakMap = global.WeakMap; 5 | 6 | module.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap)); 7 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/object-get-own-property-names.js: -------------------------------------------------------------------------------- 1 | var internalObjectKeys = require('../internals/object-keys-internal'); 2 | var enumBugKeys = require('../internals/enum-bug-keys'); 3 | 4 | var hiddenKeys = enumBugKeys.concat('length', 'prototype'); 5 | 6 | // `Object.getOwnPropertyNames` method 7 | // https://tc39.es/ecma262/#sec-object.getownpropertynames 8 | // eslint-disable-next-line es/no-object-getownpropertynames -- safe 9 | exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { 10 | return internalObjectKeys(O, hiddenKeys); 11 | }; 12 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/object-get-own-property-symbols.js: -------------------------------------------------------------------------------- 1 | // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe 2 | exports.f = Object.getOwnPropertySymbols; 3 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/object-keys-internal.js: -------------------------------------------------------------------------------- 1 | var has = require('../internals/has'); 2 | var toIndexedObject = require('../internals/to-indexed-object'); 3 | var indexOf = require('../internals/array-includes').indexOf; 4 | var hiddenKeys = require('../internals/hidden-keys'); 5 | 6 | module.exports = function (object, names) { 7 | var O = toIndexedObject(object); 8 | var i = 0; 9 | var result = []; 10 | var key; 11 | for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key); 12 | // Don't enum bug & hidden keys 13 | while (names.length > i) if (has(O, key = names[i++])) { 14 | ~indexOf(result, key) || result.push(key); 15 | } 16 | return result; 17 | }; 18 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/object-keys.js: -------------------------------------------------------------------------------- 1 | var internalObjectKeys = require('../internals/object-keys-internal'); 2 | var enumBugKeys = require('../internals/enum-bug-keys'); 3 | 4 | // `Object.keys` method 5 | // https://tc39.es/ecma262/#sec-object.keys 6 | // eslint-disable-next-line es/no-object-keys -- safe 7 | module.exports = Object.keys || function keys(O) { 8 | return internalObjectKeys(O, enumBugKeys); 9 | }; 10 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/object-to-string.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support'); 3 | var classof = require('../internals/classof'); 4 | 5 | // `Object.prototype.toString` method implementation 6 | // https://tc39.es/ecma262/#sec-object.prototype.tostring 7 | module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() { 8 | return '[object ' + classof(this) + ']'; 9 | }; 10 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/own-keys.js: -------------------------------------------------------------------------------- 1 | var getBuiltIn = require('../internals/get-built-in'); 2 | var getOwnPropertyNamesModule = require('../internals/object-get-own-property-names'); 3 | var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols'); 4 | var anObject = require('../internals/an-object'); 5 | 6 | // all object keys, includes non-enumerable and symbols 7 | module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { 8 | var keys = getOwnPropertyNamesModule.f(anObject(it)); 9 | var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; 10 | return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys; 11 | }; 12 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/path.js: -------------------------------------------------------------------------------- 1 | var global = require('../internals/global'); 2 | 3 | module.exports = global; 4 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/redefine-all.js: -------------------------------------------------------------------------------- 1 | var redefine = require('../internals/redefine'); 2 | 3 | module.exports = function (target, src, options) { 4 | for (var key in src) redefine(target, key, src[key], options); 5 | return target; 6 | }; 7 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/require-object-coercible.js: -------------------------------------------------------------------------------- 1 | // `RequireObjectCoercible` abstract operation 2 | // https://tc39.es/ecma262/#sec-requireobjectcoercible 3 | module.exports = function (it) { 4 | if (it == undefined) throw TypeError("Can't call method on " + it); 5 | return it; 6 | }; 7 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/set-global.js: -------------------------------------------------------------------------------- 1 | var global = require('../internals/global'); 2 | var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); 3 | 4 | module.exports = function (key, value) { 5 | try { 6 | createNonEnumerableProperty(global, key, value); 7 | } catch (error) { 8 | global[key] = value; 9 | } return value; 10 | }; 11 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/set-to-string-tag.js: -------------------------------------------------------------------------------- 1 | var defineProperty = require('../internals/object-define-property').f; 2 | var has = require('../internals/has'); 3 | var wellKnownSymbol = require('../internals/well-known-symbol'); 4 | 5 | var TO_STRING_TAG = wellKnownSymbol('toStringTag'); 6 | 7 | module.exports = function (it, TAG, STATIC) { 8 | if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) { 9 | defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG }); 10 | } 11 | }; 12 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/shared-key.js: -------------------------------------------------------------------------------- 1 | var shared = require('../internals/shared'); 2 | var uid = require('../internals/uid'); 3 | 4 | var keys = shared('keys'); 5 | 6 | module.exports = function (key) { 7 | return keys[key] || (keys[key] = uid(key)); 8 | }; 9 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/shared-store.js: -------------------------------------------------------------------------------- 1 | var global = require('../internals/global'); 2 | var setGlobal = require('../internals/set-global'); 3 | 4 | var SHARED = '__core-js_shared__'; 5 | var store = global[SHARED] || setGlobal(SHARED, {}); 6 | 7 | module.exports = store; 8 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/shared.js: -------------------------------------------------------------------------------- 1 | var IS_PURE = require('../internals/is-pure'); 2 | var store = require('../internals/shared-store'); 3 | 4 | (module.exports = function (key, value) { 5 | return store[key] || (store[key] = value !== undefined ? value : {}); 6 | })('versions', []).push({ 7 | version: '3.14.0', 8 | mode: IS_PURE ? 'pure' : 'global', 9 | copyright: '© 2021 Denis Pushkarev (zloirock.ru)' 10 | }); 11 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/species-constructor.js: -------------------------------------------------------------------------------- 1 | var anObject = require('../internals/an-object'); 2 | var aFunction = require('../internals/a-function'); 3 | var wellKnownSymbol = require('../internals/well-known-symbol'); 4 | 5 | var SPECIES = wellKnownSymbol('species'); 6 | 7 | // `SpeciesConstructor` abstract operation 8 | // https://tc39.es/ecma262/#sec-speciesconstructor 9 | module.exports = function (O, defaultConstructor) { 10 | var C = anObject(O).constructor; 11 | var S; 12 | return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S); 13 | }; 14 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/to-absolute-index.js: -------------------------------------------------------------------------------- 1 | var toInteger = require('../internals/to-integer'); 2 | 3 | var max = Math.max; 4 | var min = Math.min; 5 | 6 | // Helper for a popular repeating case of the spec: 7 | // Let integer be ? ToInteger(index). 8 | // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). 9 | module.exports = function (index, length) { 10 | var integer = toInteger(index); 11 | return integer < 0 ? max(integer + length, 0) : min(integer, length); 12 | }; 13 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/to-index.js: -------------------------------------------------------------------------------- 1 | var toInteger = require('../internals/to-integer'); 2 | var toLength = require('../internals/to-length'); 3 | 4 | // `ToIndex` abstract operation 5 | // https://tc39.es/ecma262/#sec-toindex 6 | module.exports = function (it) { 7 | if (it === undefined) return 0; 8 | var number = toInteger(it); 9 | var length = toLength(number); 10 | if (number !== length) throw RangeError('Wrong length or index'); 11 | return length; 12 | }; 13 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/to-indexed-object.js: -------------------------------------------------------------------------------- 1 | // toObject with fallback for non-array-like ES3 strings 2 | var IndexedObject = require('../internals/indexed-object'); 3 | var requireObjectCoercible = require('../internals/require-object-coercible'); 4 | 5 | module.exports = function (it) { 6 | return IndexedObject(requireObjectCoercible(it)); 7 | }; 8 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/to-integer.js: -------------------------------------------------------------------------------- 1 | var ceil = Math.ceil; 2 | var floor = Math.floor; 3 | 4 | // `ToInteger` abstract operation 5 | // https://tc39.es/ecma262/#sec-tointeger 6 | module.exports = function (argument) { 7 | return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument); 8 | }; 9 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/to-length.js: -------------------------------------------------------------------------------- 1 | var toInteger = require('../internals/to-integer'); 2 | 3 | var min = Math.min; 4 | 5 | // `ToLength` abstract operation 6 | // https://tc39.es/ecma262/#sec-tolength 7 | module.exports = function (argument) { 8 | return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 9 | }; 10 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/to-object.js: -------------------------------------------------------------------------------- 1 | var requireObjectCoercible = require('../internals/require-object-coercible'); 2 | 3 | // `ToObject` abstract operation 4 | // https://tc39.es/ecma262/#sec-toobject 5 | module.exports = function (argument) { 6 | return Object(requireObjectCoercible(argument)); 7 | }; 8 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/to-offset.js: -------------------------------------------------------------------------------- 1 | var toPositiveInteger = require('../internals/to-positive-integer'); 2 | 3 | module.exports = function (it, BYTES) { 4 | var offset = toPositiveInteger(it); 5 | if (offset % BYTES) throw RangeError('Wrong offset'); 6 | return offset; 7 | }; 8 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/to-positive-integer.js: -------------------------------------------------------------------------------- 1 | var toInteger = require('../internals/to-integer'); 2 | 3 | module.exports = function (it) { 4 | var result = toInteger(it); 5 | if (result < 0) throw RangeError("The argument can't be less than 0"); 6 | return result; 7 | }; 8 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/to-string-tag-support.js: -------------------------------------------------------------------------------- 1 | var wellKnownSymbol = require('../internals/well-known-symbol'); 2 | 3 | var TO_STRING_TAG = wellKnownSymbol('toStringTag'); 4 | var test = {}; 5 | 6 | test[TO_STRING_TAG] = 'z'; 7 | 8 | module.exports = String(test) === '[object z]'; 9 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/typed-array-from-species-and-list.js: -------------------------------------------------------------------------------- 1 | var aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor; 2 | var speciesConstructor = require('../internals/species-constructor'); 3 | 4 | module.exports = function (instance, list) { 5 | var C = speciesConstructor(instance, instance.constructor); 6 | var index = 0; 7 | var length = list.length; 8 | var result = new (aTypedArrayConstructor(C))(length); 9 | while (length > index) result[index] = list[index++]; 10 | return result; 11 | }; 12 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/uid.js: -------------------------------------------------------------------------------- 1 | var id = 0; 2 | var postfix = Math.random(); 3 | 4 | module.exports = function (key) { 5 | return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36); 6 | }; 7 | -------------------------------------------------------------------------------- /node_modules/core-js/internals/use-symbol-as-uid.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable es/no-symbol -- required for testing */ 2 | var NATIVE_SYMBOL = require('../internals/native-symbol'); 3 | 4 | module.exports = NATIVE_SYMBOL 5 | && !Symbol.sham 6 | && typeof Symbol.iterator == 'symbol'; 7 | -------------------------------------------------------------------------------- /node_modules/core-js/modules/es.map.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var collection = require('../internals/collection'); 3 | var collectionStrong = require('../internals/collection-strong'); 4 | 5 | // `Map` constructor 6 | // https://tc39.es/ecma262/#sec-map-objects 7 | module.exports = collection('Map', function (init) { 8 | return function Map() { return init(this, arguments.length ? arguments[0] : undefined); }; 9 | }, collectionStrong); 10 | -------------------------------------------------------------------------------- /node_modules/core-js/modules/es.object.assign.js: -------------------------------------------------------------------------------- 1 | var $ = require('../internals/export'); 2 | var assign = require('../internals/object-assign'); 3 | 4 | // `Object.assign` method 5 | // https://tc39.es/ecma262/#sec-object.assign 6 | // eslint-disable-next-line es/no-object-assign -- required for testing 7 | $({ target: 'Object', stat: true, forced: Object.assign !== assign }, { 8 | assign: assign 9 | }); 10 | -------------------------------------------------------------------------------- /node_modules/core-js/modules/es.object.to-string.js: -------------------------------------------------------------------------------- 1 | var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support'); 2 | var redefine = require('../internals/redefine'); 3 | var toString = require('../internals/object-to-string'); 4 | 5 | // `Object.prototype.toString` method 6 | // https://tc39.es/ecma262/#sec-object.prototype.tostring 7 | if (!TO_STRING_TAG_SUPPORT) { 8 | redefine(Object.prototype, 'toString', toString, { unsafe: true }); 9 | } 10 | -------------------------------------------------------------------------------- /node_modules/core-js/modules/es.set.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var collection = require('../internals/collection'); 3 | var collectionStrong = require('../internals/collection-strong'); 4 | 5 | // `Set` constructor 6 | // https://tc39.es/ecma262/#sec-set-objects 7 | module.exports = collection('Set', function (init) { 8 | return function Set() { return init(this, arguments.length ? arguments[0] : undefined); }; 9 | }, collectionStrong); 10 | -------------------------------------------------------------------------------- /node_modules/core-js/modules/es.typed-array.copy-within.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); 3 | var $copyWithin = require('../internals/array-copy-within'); 4 | 5 | var aTypedArray = ArrayBufferViewCore.aTypedArray; 6 | var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 7 | 8 | // `%TypedArray%.prototype.copyWithin` method 9 | // https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin 10 | exportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) { 11 | return $copyWithin.call(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined); 12 | }); 13 | -------------------------------------------------------------------------------- /node_modules/core-js/modules/es.typed-array.every.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); 3 | var $every = require('../internals/array-iteration').every; 4 | 5 | var aTypedArray = ArrayBufferViewCore.aTypedArray; 6 | var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 7 | 8 | // `%TypedArray%.prototype.every` method 9 | // https://tc39.es/ecma262/#sec-%typedarray%.prototype.every 10 | exportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) { 11 | return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); 12 | }); 13 | -------------------------------------------------------------------------------- /node_modules/core-js/modules/es.typed-array.fill.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); 3 | var $fill = require('../internals/array-fill'); 4 | 5 | var aTypedArray = ArrayBufferViewCore.aTypedArray; 6 | var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 7 | 8 | // `%TypedArray%.prototype.fill` method 9 | // https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill 10 | // eslint-disable-next-line no-unused-vars -- required for `.length` 11 | exportTypedArrayMethod('fill', function fill(value /* , start, end */) { 12 | return $fill.apply(aTypedArray(this), arguments); 13 | }); 14 | -------------------------------------------------------------------------------- /node_modules/core-js/modules/es.typed-array.find-index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); 3 | var $findIndex = require('../internals/array-iteration').findIndex; 4 | 5 | var aTypedArray = ArrayBufferViewCore.aTypedArray; 6 | var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 7 | 8 | // `%TypedArray%.prototype.findIndex` method 9 | // https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex 10 | exportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) { 11 | return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); 12 | }); 13 | -------------------------------------------------------------------------------- /node_modules/core-js/modules/es.typed-array.find.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); 3 | var $find = require('../internals/array-iteration').find; 4 | 5 | var aTypedArray = ArrayBufferViewCore.aTypedArray; 6 | var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 7 | 8 | // `%TypedArray%.prototype.find` method 9 | // https://tc39.es/ecma262/#sec-%typedarray%.prototype.find 10 | exportTypedArrayMethod('find', function find(predicate /* , thisArg */) { 11 | return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); 12 | }); 13 | -------------------------------------------------------------------------------- /node_modules/core-js/modules/es.typed-array.float32-array.js: -------------------------------------------------------------------------------- 1 | var createTypedArrayConstructor = require('../internals/typed-array-constructor'); 2 | 3 | // `Float32Array` constructor 4 | // https://tc39.es/ecma262/#sec-typedarray-objects 5 | createTypedArrayConstructor('Float32', function (init) { 6 | return function Float32Array(data, byteOffset, length) { 7 | return init(this, data, byteOffset, length); 8 | }; 9 | }); 10 | -------------------------------------------------------------------------------- /node_modules/core-js/modules/es.typed-array.float64-array.js: -------------------------------------------------------------------------------- 1 | var createTypedArrayConstructor = require('../internals/typed-array-constructor'); 2 | 3 | // `Float64Array` constructor 4 | // https://tc39.es/ecma262/#sec-typedarray-objects 5 | createTypedArrayConstructor('Float64', function (init) { 6 | return function Float64Array(data, byteOffset, length) { 7 | return init(this, data, byteOffset, length); 8 | }; 9 | }); 10 | -------------------------------------------------------------------------------- /node_modules/core-js/modules/es.typed-array.for-each.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); 3 | var $forEach = require('../internals/array-iteration').forEach; 4 | 5 | var aTypedArray = ArrayBufferViewCore.aTypedArray; 6 | var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 7 | 8 | // `%TypedArray%.prototype.forEach` method 9 | // https://tc39.es/ecma262/#sec-%typedarray%.prototype.foreach 10 | exportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) { 11 | $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); 12 | }); 13 | -------------------------------------------------------------------------------- /node_modules/core-js/modules/es.typed-array.from.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers'); 3 | var exportTypedArrayStaticMethod = require('../internals/array-buffer-view-core').exportTypedArrayStaticMethod; 4 | var typedArrayFrom = require('../internals/typed-array-from'); 5 | 6 | // `%TypedArray%.from` method 7 | // https://tc39.es/ecma262/#sec-%typedarray%.from 8 | exportTypedArrayStaticMethod('from', typedArrayFrom, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS); 9 | -------------------------------------------------------------------------------- /node_modules/core-js/modules/es.typed-array.includes.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); 3 | var $includes = require('../internals/array-includes').includes; 4 | 5 | var aTypedArray = ArrayBufferViewCore.aTypedArray; 6 | var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 7 | 8 | // `%TypedArray%.prototype.includes` method 9 | // https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes 10 | exportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) { 11 | return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); 12 | }); 13 | -------------------------------------------------------------------------------- /node_modules/core-js/modules/es.typed-array.index-of.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); 3 | var $indexOf = require('../internals/array-includes').indexOf; 4 | 5 | var aTypedArray = ArrayBufferViewCore.aTypedArray; 6 | var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 7 | 8 | // `%TypedArray%.prototype.indexOf` method 9 | // https://tc39.es/ecma262/#sec-%typedarray%.prototype.indexof 10 | exportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) { 11 | return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); 12 | }); 13 | -------------------------------------------------------------------------------- /node_modules/core-js/modules/es.typed-array.int16-array.js: -------------------------------------------------------------------------------- 1 | var createTypedArrayConstructor = require('../internals/typed-array-constructor'); 2 | 3 | // `Int16Array` constructor 4 | // https://tc39.es/ecma262/#sec-typedarray-objects 5 | createTypedArrayConstructor('Int16', function (init) { 6 | return function Int16Array(data, byteOffset, length) { 7 | return init(this, data, byteOffset, length); 8 | }; 9 | }); 10 | -------------------------------------------------------------------------------- /node_modules/core-js/modules/es.typed-array.int32-array.js: -------------------------------------------------------------------------------- 1 | var createTypedArrayConstructor = require('../internals/typed-array-constructor'); 2 | 3 | // `Int32Array` constructor 4 | // https://tc39.es/ecma262/#sec-typedarray-objects 5 | createTypedArrayConstructor('Int32', function (init) { 6 | return function Int32Array(data, byteOffset, length) { 7 | return init(this, data, byteOffset, length); 8 | }; 9 | }); 10 | -------------------------------------------------------------------------------- /node_modules/core-js/modules/es.typed-array.int8-array.js: -------------------------------------------------------------------------------- 1 | var createTypedArrayConstructor = require('../internals/typed-array-constructor'); 2 | 3 | // `Int8Array` constructor 4 | // https://tc39.es/ecma262/#sec-typedarray-objects 5 | createTypedArrayConstructor('Int8', function (init) { 6 | return function Int8Array(data, byteOffset, length) { 7 | return init(this, data, byteOffset, length); 8 | }; 9 | }); 10 | -------------------------------------------------------------------------------- /node_modules/core-js/modules/es.typed-array.join.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); 3 | 4 | var aTypedArray = ArrayBufferViewCore.aTypedArray; 5 | var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 6 | var $join = [].join; 7 | 8 | // `%TypedArray%.prototype.join` method 9 | // https://tc39.es/ecma262/#sec-%typedarray%.prototype.join 10 | // eslint-disable-next-line no-unused-vars -- required for `.length` 11 | exportTypedArrayMethod('join', function join(separator) { 12 | return $join.apply(aTypedArray(this), arguments); 13 | }); 14 | -------------------------------------------------------------------------------- /node_modules/core-js/modules/es.typed-array.reduce.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); 3 | var $reduce = require('../internals/array-reduce').left; 4 | 5 | var aTypedArray = ArrayBufferViewCore.aTypedArray; 6 | var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 7 | 8 | // `%TypedArray%.prototype.reduce` method 9 | // https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce 10 | exportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) { 11 | return $reduce(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); 12 | }); 13 | -------------------------------------------------------------------------------- /node_modules/core-js/modules/es.typed-array.some.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); 3 | var $some = require('../internals/array-iteration').some; 4 | 5 | var aTypedArray = ArrayBufferViewCore.aTypedArray; 6 | var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 7 | 8 | // `%TypedArray%.prototype.some` method 9 | // https://tc39.es/ecma262/#sec-%typedarray%.prototype.some 10 | exportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) { 11 | return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); 12 | }); 13 | -------------------------------------------------------------------------------- /node_modules/core-js/modules/es.typed-array.uint16-array.js: -------------------------------------------------------------------------------- 1 | var createTypedArrayConstructor = require('../internals/typed-array-constructor'); 2 | 3 | // `Uint16Array` constructor 4 | // https://tc39.es/ecma262/#sec-typedarray-objects 5 | createTypedArrayConstructor('Uint16', function (init) { 6 | return function Uint16Array(data, byteOffset, length) { 7 | return init(this, data, byteOffset, length); 8 | }; 9 | }); 10 | -------------------------------------------------------------------------------- /node_modules/core-js/modules/es.typed-array.uint32-array.js: -------------------------------------------------------------------------------- 1 | var createTypedArrayConstructor = require('../internals/typed-array-constructor'); 2 | 3 | // `Uint32Array` constructor 4 | // https://tc39.es/ecma262/#sec-typedarray-objects 5 | createTypedArrayConstructor('Uint32', function (init) { 6 | return function Uint32Array(data, byteOffset, length) { 7 | return init(this, data, byteOffset, length); 8 | }; 9 | }); 10 | -------------------------------------------------------------------------------- /node_modules/core-js/modules/es.typed-array.uint8-array.js: -------------------------------------------------------------------------------- 1 | var createTypedArrayConstructor = require('../internals/typed-array-constructor'); 2 | 3 | // `Uint8Array` constructor 4 | // https://tc39.es/ecma262/#sec-typedarray-objects 5 | createTypedArrayConstructor('Uint8', function (init) { 6 | return function Uint8Array(data, byteOffset, length) { 7 | return init(this, data, byteOffset, length); 8 | }; 9 | }); 10 | -------------------------------------------------------------------------------- /node_modules/core-js/modules/es.typed-array.uint8-clamped-array.js: -------------------------------------------------------------------------------- 1 | var createTypedArrayConstructor = require('../internals/typed-array-constructor'); 2 | 3 | // `Uint8ClampedArray` constructor 4 | // https://tc39.es/ecma262/#sec-typedarray-objects 5 | createTypedArrayConstructor('Uint8', function (init) { 6 | return function Uint8ClampedArray(data, byteOffset, length) { 7 | return init(this, data, byteOffset, length); 8 | }; 9 | }, true); 10 | -------------------------------------------------------------------------------- /node_modules/core-js/stable/map/index.js: -------------------------------------------------------------------------------- 1 | var parent = require('../../es/map'); 2 | 3 | module.exports = parent; 4 | -------------------------------------------------------------------------------- /node_modules/core-js/stable/object/assign.js: -------------------------------------------------------------------------------- 1 | var parent = require('../../es/object/assign'); 2 | 3 | module.exports = parent; 4 | -------------------------------------------------------------------------------- /node_modules/core-js/stable/set/index.js: -------------------------------------------------------------------------------- 1 | var parent = require('../../es/set'); 2 | 3 | module.exports = parent; 4 | -------------------------------------------------------------------------------- /node_modules/core-js/stable/typed-array/index.js: -------------------------------------------------------------------------------- 1 | var parent = require('../../es/typed-array'); 2 | 3 | module.exports = parent; 4 | -------------------------------------------------------------------------------- /node_modules/date-fns/esm/_lib/toInteger/index.js: -------------------------------------------------------------------------------- 1 | export default function toInteger(dirtyNumber) { 2 | if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) { 3 | return NaN; 4 | } 5 | 6 | var number = Number(dirtyNumber); 7 | 8 | if (isNaN(number)) { 9 | return number; 10 | } 11 | 12 | return number < 0 ? Math.ceil(number) : Math.floor(number); 13 | } -------------------------------------------------------------------------------- /node_modules/dd-trace/browser.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = require('./packages/dd-trace/browser') 4 | -------------------------------------------------------------------------------- /node_modules/dd-trace/ext/exporters.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | module.exports = { 3 | LOG: 'log', 4 | BROWSER: 'browser', 5 | AGENT: 'agent' 6 | } 7 | -------------------------------------------------------------------------------- /node_modules/dd-trace/ext/formats.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const opentracing = require('opentracing') 4 | 5 | module.exports = { 6 | TEXT_MAP: opentracing.FORMAT_TEXT_MAP, 7 | HTTP_HEADERS: opentracing.FORMAT_HTTP_HEADERS, 8 | BINARY: opentracing.FORMAT_BINARY, 9 | LOG: 'log' 10 | } 11 | -------------------------------------------------------------------------------- /node_modules/dd-trace/ext/index.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const formats = require('./formats') 4 | const kinds = require('./kinds') 5 | const priority = require('./priority') 6 | const tags = require('./tags') 7 | const types = require('./types') 8 | const exporters = require('./exporters') 9 | 10 | module.exports = { 11 | formats, 12 | kinds, 13 | priority, 14 | tags, 15 | types, 16 | exporters 17 | } 18 | -------------------------------------------------------------------------------- /node_modules/dd-trace/ext/kinds.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = { 4 | SERVER: 'server', 5 | CLIENT: 'client', 6 | PRODUCER: 'producer', 7 | CONSUMER: 'consumer' 8 | } 9 | -------------------------------------------------------------------------------- /node_modules/dd-trace/ext/priority.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = { 4 | USER_REJECT: -1, 5 | AUTO_REJECT: 0, 6 | AUTO_KEEP: 1, 7 | USER_KEEP: 2 8 | } 9 | -------------------------------------------------------------------------------- /node_modules/dd-trace/ext/scopes.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = { 4 | ASYNC_RESOURCE: 'async_resource', 5 | ASYNC_LOCAL_STORAGE: 'async_local_storage', 6 | ASYNC_HOOKS: 'async_hooks', 7 | NOOP: 'noop' 8 | } 9 | -------------------------------------------------------------------------------- /node_modules/dd-trace/ext/types.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = { 4 | HTTP: 'http', 5 | WEB: 'web' 6 | } 7 | -------------------------------------------------------------------------------- /node_modules/dd-trace/packages/dd-trace/src/analytics_sampler.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const ANALYTICS = require('../../../ext/tags').ANALYTICS 4 | 5 | let enabled = false 6 | 7 | module.exports = { 8 | enable () { 9 | enabled = true 10 | }, 11 | 12 | disable () { 13 | enabled = false 14 | }, 15 | 16 | sample (span, rate, inherit) { 17 | if (typeof rate === 'object') { 18 | this.sample(span, rate[span.context()._name], inherit) 19 | } else if (rate !== undefined) { 20 | span.setTag(ANALYTICS, rate) 21 | } else if (inherit && enabled) { 22 | span.setTag(ANALYTICS, 1) 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /node_modules/dd-trace/packages/dd-trace/src/constants.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = { 4 | SAMPLE_RATE_METRIC_KEY: '_sample_rate', 5 | SAMPLING_PRIORITY_KEY: '_sampling_priority_v1', 6 | ANALYTICS_KEY: '_dd1.sr.eausr', 7 | ORIGIN_KEY: '_dd.origin', 8 | HOSTNAME_KEY: '_dd.hostname', 9 | REFERENCE_NOOP: 'noop', 10 | SAMPLING_RULE_DECISION: '_dd.rule_psr', 11 | SAMPLING_LIMIT_DECISION: '_dd.limit_psr', 12 | SAMPLING_AGENT_DECISION: '_dd.agent_psr' 13 | } 14 | -------------------------------------------------------------------------------- /node_modules/dd-trace/packages/dd-trace/src/noop/span_context.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const DatadogSpanContext = require('../opentracing/span_context') 4 | const priority = require('../../../../ext/priority') 5 | 6 | const USER_REJECT = priority.USER_REJECT 7 | 8 | class NoopSpanContext extends DatadogSpanContext { 9 | constructor (props) { 10 | super(props) 11 | 12 | this._traceFlags.sampled = false 13 | this._sampling.priority = USER_REJECT 14 | } 15 | } 16 | 17 | module.exports = NoopSpanContext 18 | -------------------------------------------------------------------------------- /node_modules/dd-trace/packages/dd-trace/src/opentracing/propagation/binary.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | class BinaryPropagator { 4 | inject (spanContext, carrier) {} 5 | 6 | extract (carrier) { 7 | return null 8 | } 9 | } 10 | 11 | module.exports = BinaryPropagator 12 | -------------------------------------------------------------------------------- /node_modules/dd-trace/packages/dd-trace/src/opentracing/propagation/http.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const TextMapPropagator = require('./text_map') 4 | 5 | class HttpPropagator extends TextMapPropagator {} 6 | 7 | module.exports = HttpPropagator 8 | -------------------------------------------------------------------------------- /node_modules/dd-trace/packages/dd-trace/src/platform/browser/crypto.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = window.crypto || window.msCrypto 4 | -------------------------------------------------------------------------------- /node_modules/dd-trace/packages/dd-trace/src/platform/browser/env.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = name => window[name] 4 | -------------------------------------------------------------------------------- /node_modules/dd-trace/packages/dd-trace/src/platform/browser/exporter.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const BrowserExporter = require('../../exporters/browser') 4 | 5 | module.exports = () => BrowserExporter 6 | -------------------------------------------------------------------------------- /node_modules/dd-trace/packages/dd-trace/src/platform/browser/loader.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | class Loader { 4 | constructor (instrumenter) { 5 | this._instrumenter = instrumenter 6 | } 7 | 8 | reload (plugins) { 9 | plugins.forEach((meta, plugin) => { 10 | this._instrumenter.unload(plugin) 11 | this._instrumenter.load(plugin, meta) 12 | }) 13 | } 14 | 15 | load (instrumentation, config) { 16 | const nodule = window[instrumentation.name] 17 | const override = this._instrumenter.patch(instrumentation, nodule, config) 18 | 19 | window[instrumentation.name] = override || nodule 20 | } 21 | } 22 | 23 | module.exports = Loader 24 | -------------------------------------------------------------------------------- /node_modules/dd-trace/packages/dd-trace/src/platform/browser/metrics.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | // TODO: consider implementing browser metrics 4 | 5 | let metrics = null 6 | 7 | module.exports = function () { 8 | return metrics || (metrics = { // cache the metrics instance 9 | start: () => {}, 10 | 11 | stop: () => {}, 12 | 13 | track () { 14 | return { 15 | finish: () => {} 16 | } 17 | }, 18 | 19 | boolean () {}, 20 | 21 | histogram () {}, 22 | 23 | count () {}, 24 | 25 | gauge () {}, 26 | 27 | increment () {}, 28 | 29 | decrement () {} 30 | }) 31 | } 32 | -------------------------------------------------------------------------------- /node_modules/dd-trace/packages/dd-trace/src/platform/browser/now.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = () => window.performance.now() 4 | -------------------------------------------------------------------------------- /node_modules/dd-trace/packages/dd-trace/src/platform/browser/startup-log.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = { 4 | startupLog: () => {}, 5 | setStartupLogConfig: () => {}, 6 | setStartupLogInstrumenter: () => {}, 7 | setSamplingRules: () => {} 8 | } 9 | -------------------------------------------------------------------------------- /node_modules/dd-trace/packages/dd-trace/src/platform/browser/tags.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = () => { 4 | const rum = window.DD_RUM 5 | const context = rum && rum.getInternalContext && rum.getInternalContext() 6 | 7 | return { ...context } 8 | } 9 | -------------------------------------------------------------------------------- /node_modules/dd-trace/packages/dd-trace/src/platform/browser/validate.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | // TODO: validate user agent 4 | 5 | function validate () {} 6 | 7 | module.exports = validate 8 | -------------------------------------------------------------------------------- /node_modules/dd-trace/packages/dd-trace/src/platform/index.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = { 4 | use (impl) { 5 | Object.assign(this, impl) 6 | }, 7 | 8 | configure (config) { 9 | this._config = config 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /node_modules/dd-trace/packages/dd-trace/src/plugins/browser.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = { 4 | 'fetch': require('../../../datadog-plugin-fetch/src'), 5 | 'xmlhttprequest': require('../../../datadog-plugin-xmlhttprequest/src') 6 | } 7 | -------------------------------------------------------------------------------- /node_modules/dd-trace/packages/dd-trace/src/plugins/util/http.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const tx = require('./tx') 4 | 5 | const http = { 6 | isPeer (origin, peers) { 7 | if (!origin) return false 8 | 9 | for (const peer of peers) { 10 | if (origin === peer) return true 11 | if (peer instanceof RegExp && peer.test(origin)) return true 12 | } 13 | 14 | return false 15 | } 16 | } 17 | 18 | module.exports = Object.assign({}, tx, http) 19 | -------------------------------------------------------------------------------- /node_modules/dd-trace/packages/dd-trace/src/sampler.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | class Sampler { 4 | constructor (rate) { 5 | this._rate = rate 6 | } 7 | 8 | rate () { 9 | return this._rate 10 | } 11 | 12 | isSampled () { 13 | return this._rate === 1 || Math.random() < this._rate 14 | } 15 | } 16 | 17 | module.exports = Sampler 18 | -------------------------------------------------------------------------------- /node_modules/dd-trace/packages/dd-trace/src/scope/noop/scope.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | class Scope { 4 | constructor (span, finishSpanOnClose) { 5 | this._span = span 6 | this._finishSpanOnClose = finishSpanOnClose 7 | this.close() 8 | } 9 | 10 | span () { 11 | return this._span 12 | } 13 | 14 | close () { 15 | if (this._finishSpanOnClose) { 16 | this._span.finish() 17 | } 18 | } 19 | } 20 | 21 | module.exports = Scope 22 | -------------------------------------------------------------------------------- /node_modules/dd-trace/packages/dd-trace/src/scope/noop/scope_manager.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const Span = require('opentracing').Span 4 | const Scope = require('./scope') 5 | 6 | let singleton = null 7 | 8 | const span = new Span() 9 | 10 | class ScopeManager { 11 | constructor () { 12 | if (!singleton) { 13 | singleton = this 14 | } 15 | 16 | return singleton 17 | } 18 | 19 | active () { 20 | return new Scope(span) 21 | } 22 | 23 | activate (span, finishSpanOnClose) { 24 | return new Scope(span, finishSpanOnClose) 25 | } 26 | } 27 | 28 | module.exports = ScopeManager 29 | -------------------------------------------------------------------------------- /node_modules/dd-trace/packages/dd-trace/src/scope/scope_manager.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const ScopeManager = require('./noop/scope_manager') 4 | 5 | module.exports = ScopeManager 6 | -------------------------------------------------------------------------------- /node_modules/dd-trace/packages/dd-trace/src/util.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | function isTrue (str) { 4 | str = String(str).toLowerCase() 5 | return str === 'true' || str === '1' 6 | } 7 | 8 | function isFalse (str) { 9 | str = String(str).toLowerCase() 10 | return str === 'false' || str === '0' 11 | } 12 | 13 | module.exports = { 14 | isTrue, 15 | isFalse 16 | } 17 | -------------------------------------------------------------------------------- /node_modules/enquire.js/src/index.js: -------------------------------------------------------------------------------- 1 | var MediaQueryDispatch = require('./MediaQueryDispatch'); 2 | module.exports = new MediaQueryDispatch(); 3 | -------------------------------------------------------------------------------- /node_modules/html-react-parser/index.mjs: -------------------------------------------------------------------------------- 1 | import HTMLReactParser from './index.js'; 2 | 3 | export var domToReact = HTMLReactParser.domToReact; 4 | export var htmlToDOM = HTMLReactParser.htmlToDOM; 5 | export var attributesToProps = HTMLReactParser.attributesToProps; 6 | 7 | export default HTMLReactParser; 8 | -------------------------------------------------------------------------------- /node_modules/isarray/index.js: -------------------------------------------------------------------------------- 1 | var toString = {}.toString; 2 | 3 | module.exports = Array.isArray || function (arr) { 4 | return toString.call(arr) == '[object Array]'; 5 | }; 6 | -------------------------------------------------------------------------------- /node_modules/limiter/index.js: -------------------------------------------------------------------------------- 1 | 2 | exports.RateLimiter = require('./lib/rateLimiter'); 3 | exports.TokenBucket = require('./lib/tokenBucket'); 4 | -------------------------------------------------------------------------------- /node_modules/limiter/lib/clock.js: -------------------------------------------------------------------------------- 1 | var getMilliseconds = function() { 2 | if (typeof process !== 'undefined' && process.hrtime) { 3 | var hrtime = process.hrtime(); 4 | var seconds = hrtime[0]; 5 | var nanoseconds = hrtime[1]; 6 | 7 | return seconds * 1e3 + Math.floor(nanoseconds / 1e6); 8 | } 9 | 10 | return new Date().getTime(); 11 | } 12 | 13 | module.exports = getMilliseconds; 14 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_DataView.js: -------------------------------------------------------------------------------- 1 | import getNative from './_getNative.js'; 2 | import root from './_root.js'; 3 | 4 | /* Built-in method references that are verified to be native. */ 5 | var DataView = getNative(root, 'DataView'); 6 | 7 | export default DataView; 8 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_Map.js: -------------------------------------------------------------------------------- 1 | import getNative from './_getNative.js'; 2 | import root from './_root.js'; 3 | 4 | /* Built-in method references that are verified to be native. */ 5 | var Map = getNative(root, 'Map'); 6 | 7 | export default Map; 8 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_Promise.js: -------------------------------------------------------------------------------- 1 | import getNative from './_getNative.js'; 2 | import root from './_root.js'; 3 | 4 | /* Built-in method references that are verified to be native. */ 5 | var Promise = getNative(root, 'Promise'); 6 | 7 | export default Promise; 8 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_Set.js: -------------------------------------------------------------------------------- 1 | import getNative from './_getNative.js'; 2 | import root from './_root.js'; 3 | 4 | /* Built-in method references that are verified to be native. */ 5 | var Set = getNative(root, 'Set'); 6 | 7 | export default Set; 8 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_Symbol.js: -------------------------------------------------------------------------------- 1 | import root from './_root.js'; 2 | 3 | /** Built-in value references. */ 4 | var Symbol = root.Symbol; 5 | 6 | export default Symbol; 7 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_Uint8Array.js: -------------------------------------------------------------------------------- 1 | import root from './_root.js'; 2 | 3 | /** Built-in value references. */ 4 | var Uint8Array = root.Uint8Array; 5 | 6 | export default Uint8Array; 7 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_WeakMap.js: -------------------------------------------------------------------------------- 1 | import getNative from './_getNative.js'; 2 | import root from './_root.js'; 3 | 4 | /* Built-in method references that are verified to be native. */ 5 | var WeakMap = getNative(root, 'WeakMap'); 6 | 7 | export default WeakMap; 8 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_arrayEach.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A specialized version of `_.forEach` for arrays without support for 3 | * iteratee shorthands. 4 | * 5 | * @private 6 | * @param {Array} [array] The array to iterate over. 7 | * @param {Function} iteratee The function invoked per iteration. 8 | * @returns {Array} Returns `array`. 9 | */ 10 | function arrayEach(array, iteratee) { 11 | var index = -1, 12 | length = array == null ? 0 : array.length; 13 | 14 | while (++index < length) { 15 | if (iteratee(array[index], index, array) === false) { 16 | break; 17 | } 18 | } 19 | return array; 20 | } 21 | 22 | export default arrayEach; 23 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_arrayMap.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A specialized version of `_.map` for arrays without support for iteratee 3 | * shorthands. 4 | * 5 | * @private 6 | * @param {Array} [array] The array to iterate over. 7 | * @param {Function} iteratee The function invoked per iteration. 8 | * @returns {Array} Returns the new mapped array. 9 | */ 10 | function arrayMap(array, iteratee) { 11 | var index = -1, 12 | length = array == null ? 0 : array.length, 13 | result = Array(length); 14 | 15 | while (++index < length) { 16 | result[index] = iteratee(array[index], index, array); 17 | } 18 | return result; 19 | } 20 | 21 | export default arrayMap; 22 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_arrayPush.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Appends the elements of `values` to `array`. 3 | * 4 | * @private 5 | * @param {Array} array The array to modify. 6 | * @param {Array} values The values to append. 7 | * @returns {Array} Returns `array`. 8 | */ 9 | function arrayPush(array, values) { 10 | var index = -1, 11 | length = values.length, 12 | offset = array.length; 13 | 14 | while (++index < length) { 15 | array[offset + index] = values[index]; 16 | } 17 | return array; 18 | } 19 | 20 | export default arrayPush; 21 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_assocIndexOf.js: -------------------------------------------------------------------------------- 1 | import eq from './eq.js'; 2 | 3 | /** 4 | * Gets the index at which the `key` is found in `array` of key-value pairs. 5 | * 6 | * @private 7 | * @param {Array} array The array to inspect. 8 | * @param {*} key The key to search for. 9 | * @returns {number} Returns the index of the matched value, else `-1`. 10 | */ 11 | function assocIndexOf(array, key) { 12 | var length = array.length; 13 | while (length--) { 14 | if (eq(array[length][0], key)) { 15 | return length; 16 | } 17 | } 18 | return -1; 19 | } 20 | 21 | export default assocIndexOf; 22 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_baseAssign.js: -------------------------------------------------------------------------------- 1 | import copyObject from './_copyObject.js'; 2 | import keys from './keys.js'; 3 | 4 | /** 5 | * The base implementation of `_.assign` without support for multiple sources 6 | * or `customizer` functions. 7 | * 8 | * @private 9 | * @param {Object} object The destination object. 10 | * @param {Object} source The source object. 11 | * @returns {Object} Returns `object`. 12 | */ 13 | function baseAssign(object, source) { 14 | return object && copyObject(source, keys(source), object); 15 | } 16 | 17 | export default baseAssign; 18 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_baseAssignIn.js: -------------------------------------------------------------------------------- 1 | import copyObject from './_copyObject.js'; 2 | import keysIn from './keysIn.js'; 3 | 4 | /** 5 | * The base implementation of `_.assignIn` without support for multiple sources 6 | * or `customizer` functions. 7 | * 8 | * @private 9 | * @param {Object} object The destination object. 10 | * @param {Object} source The source object. 11 | * @returns {Object} Returns `object`. 12 | */ 13 | function baseAssignIn(object, source) { 14 | return object && copyObject(source, keysIn(source), object); 15 | } 16 | 17 | export default baseAssignIn; 18 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_baseIsArguments.js: -------------------------------------------------------------------------------- 1 | import baseGetTag from './_baseGetTag.js'; 2 | import isObjectLike from './isObjectLike.js'; 3 | 4 | /** `Object#toString` result references. */ 5 | var argsTag = '[object Arguments]'; 6 | 7 | /** 8 | * The base implementation of `_.isArguments`. 9 | * 10 | * @private 11 | * @param {*} value The value to check. 12 | * @returns {boolean} Returns `true` if `value` is an `arguments` object, 13 | */ 14 | function baseIsArguments(value) { 15 | return isObjectLike(value) && baseGetTag(value) == argsTag; 16 | } 17 | 18 | export default baseIsArguments; 19 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_baseIsMap.js: -------------------------------------------------------------------------------- 1 | import getTag from './_getTag.js'; 2 | import isObjectLike from './isObjectLike.js'; 3 | 4 | /** `Object#toString` result references. */ 5 | var mapTag = '[object Map]'; 6 | 7 | /** 8 | * The base implementation of `_.isMap` without Node.js optimizations. 9 | * 10 | * @private 11 | * @param {*} value The value to check. 12 | * @returns {boolean} Returns `true` if `value` is a map, else `false`. 13 | */ 14 | function baseIsMap(value) { 15 | return isObjectLike(value) && getTag(value) == mapTag; 16 | } 17 | 18 | export default baseIsMap; 19 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_baseIsSet.js: -------------------------------------------------------------------------------- 1 | import getTag from './_getTag.js'; 2 | import isObjectLike from './isObjectLike.js'; 3 | 4 | /** `Object#toString` result references. */ 5 | var setTag = '[object Set]'; 6 | 7 | /** 8 | * The base implementation of `_.isSet` without Node.js optimizations. 9 | * 10 | * @private 11 | * @param {*} value The value to check. 12 | * @returns {boolean} Returns `true` if `value` is a set, else `false`. 13 | */ 14 | function baseIsSet(value) { 15 | return isObjectLike(value) && getTag(value) == setTag; 16 | } 17 | 18 | export default baseIsSet; 19 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_baseTimes.js: -------------------------------------------------------------------------------- 1 | /** 2 | * The base implementation of `_.times` without support for iteratee shorthands 3 | * or max array length checks. 4 | * 5 | * @private 6 | * @param {number} n The number of times to invoke `iteratee`. 7 | * @param {Function} iteratee The function invoked per iteration. 8 | * @returns {Array} Returns the array of results. 9 | */ 10 | function baseTimes(n, iteratee) { 11 | var index = -1, 12 | result = Array(n); 13 | 14 | while (++index < n) { 15 | result[index] = iteratee(index); 16 | } 17 | return result; 18 | } 19 | 20 | export default baseTimes; 21 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_baseUnary.js: -------------------------------------------------------------------------------- 1 | /** 2 | * The base implementation of `_.unary` without support for storing metadata. 3 | * 4 | * @private 5 | * @param {Function} func The function to cap arguments for. 6 | * @returns {Function} Returns the new capped function. 7 | */ 8 | function baseUnary(func) { 9 | return function(value) { 10 | return func(value); 11 | }; 12 | } 13 | 14 | export default baseUnary; 15 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_cloneArrayBuffer.js: -------------------------------------------------------------------------------- 1 | import Uint8Array from './_Uint8Array.js'; 2 | 3 | /** 4 | * Creates a clone of `arrayBuffer`. 5 | * 6 | * @private 7 | * @param {ArrayBuffer} arrayBuffer The array buffer to clone. 8 | * @returns {ArrayBuffer} Returns the cloned array buffer. 9 | */ 10 | function cloneArrayBuffer(arrayBuffer) { 11 | var result = new arrayBuffer.constructor(arrayBuffer.byteLength); 12 | new Uint8Array(result).set(new Uint8Array(arrayBuffer)); 13 | return result; 14 | } 15 | 16 | export default cloneArrayBuffer; 17 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_cloneDataView.js: -------------------------------------------------------------------------------- 1 | import cloneArrayBuffer from './_cloneArrayBuffer.js'; 2 | 3 | /** 4 | * Creates a clone of `dataView`. 5 | * 6 | * @private 7 | * @param {Object} dataView The data view to clone. 8 | * @param {boolean} [isDeep] Specify a deep clone. 9 | * @returns {Object} Returns the cloned data view. 10 | */ 11 | function cloneDataView(dataView, isDeep) { 12 | var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; 13 | return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); 14 | } 15 | 16 | export default cloneDataView; 17 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_cloneRegExp.js: -------------------------------------------------------------------------------- 1 | /** Used to match `RegExp` flags from their coerced string values. */ 2 | var reFlags = /\w*$/; 3 | 4 | /** 5 | * Creates a clone of `regexp`. 6 | * 7 | * @private 8 | * @param {Object} regexp The regexp to clone. 9 | * @returns {Object} Returns the cloned regexp. 10 | */ 11 | function cloneRegExp(regexp) { 12 | var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); 13 | result.lastIndex = regexp.lastIndex; 14 | return result; 15 | } 16 | 17 | export default cloneRegExp; 18 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_cloneSymbol.js: -------------------------------------------------------------------------------- 1 | import Symbol from './_Symbol.js'; 2 | 3 | /** Used to convert symbols to primitives and strings. */ 4 | var symbolProto = Symbol ? Symbol.prototype : undefined, 5 | symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; 6 | 7 | /** 8 | * Creates a clone of the `symbol` object. 9 | * 10 | * @private 11 | * @param {Object} symbol The symbol object to clone. 12 | * @returns {Object} Returns the cloned symbol object. 13 | */ 14 | function cloneSymbol(symbol) { 15 | return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}; 16 | } 17 | 18 | export default cloneSymbol; 19 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_cloneTypedArray.js: -------------------------------------------------------------------------------- 1 | import cloneArrayBuffer from './_cloneArrayBuffer.js'; 2 | 3 | /** 4 | * Creates a clone of `typedArray`. 5 | * 6 | * @private 7 | * @param {Object} typedArray The typed array to clone. 8 | * @param {boolean} [isDeep] Specify a deep clone. 9 | * @returns {Object} Returns the cloned typed array. 10 | */ 11 | function cloneTypedArray(typedArray, isDeep) { 12 | var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; 13 | return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); 14 | } 15 | 16 | export default cloneTypedArray; 17 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_copyArray.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copies the values of `source` to `array`. 3 | * 4 | * @private 5 | * @param {Array} source The array to copy values from. 6 | * @param {Array} [array=[]] The array to copy values to. 7 | * @returns {Array} Returns `array`. 8 | */ 9 | function copyArray(source, array) { 10 | var index = -1, 11 | length = source.length; 12 | 13 | array || (array = Array(length)); 14 | while (++index < length) { 15 | array[index] = source[index]; 16 | } 17 | return array; 18 | } 19 | 20 | export default copyArray; 21 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_copySymbols.js: -------------------------------------------------------------------------------- 1 | import copyObject from './_copyObject.js'; 2 | import getSymbols from './_getSymbols.js'; 3 | 4 | /** 5 | * Copies own symbols of `source` to `object`. 6 | * 7 | * @private 8 | * @param {Object} source The object to copy symbols from. 9 | * @param {Object} [object={}] The object to copy symbols to. 10 | * @returns {Object} Returns `object`. 11 | */ 12 | function copySymbols(source, object) { 13 | return copyObject(source, getSymbols(source), object); 14 | } 15 | 16 | export default copySymbols; 17 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_copySymbolsIn.js: -------------------------------------------------------------------------------- 1 | import copyObject from './_copyObject.js'; 2 | import getSymbolsIn from './_getSymbolsIn.js'; 3 | 4 | /** 5 | * Copies own and inherited symbols of `source` to `object`. 6 | * 7 | * @private 8 | * @param {Object} source The object to copy symbols from. 9 | * @param {Object} [object={}] The object to copy symbols to. 10 | * @returns {Object} Returns `object`. 11 | */ 12 | function copySymbolsIn(source, object) { 13 | return copyObject(source, getSymbolsIn(source), object); 14 | } 15 | 16 | export default copySymbolsIn; 17 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_coreJsData.js: -------------------------------------------------------------------------------- 1 | import root from './_root.js'; 2 | 3 | /** Used to detect overreaching core-js shims. */ 4 | var coreJsData = root['__core-js_shared__']; 5 | 6 | export default coreJsData; 7 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_defineProperty.js: -------------------------------------------------------------------------------- 1 | import getNative from './_getNative.js'; 2 | 3 | var defineProperty = (function() { 4 | try { 5 | var func = getNative(Object, 'defineProperty'); 6 | func({}, '', {}); 7 | return func; 8 | } catch (e) {} 9 | }()); 10 | 11 | export default defineProperty; 12 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_freeGlobal.js: -------------------------------------------------------------------------------- 1 | /** Detect free variable `global` from Node.js. */ 2 | var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; 3 | 4 | export default freeGlobal; 5 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_getAllKeys.js: -------------------------------------------------------------------------------- 1 | import baseGetAllKeys from './_baseGetAllKeys.js'; 2 | import getSymbols from './_getSymbols.js'; 3 | import keys from './keys.js'; 4 | 5 | /** 6 | * Creates an array of own enumerable property names and symbols of `object`. 7 | * 8 | * @private 9 | * @param {Object} object The object to query. 10 | * @returns {Array} Returns the array of property names and symbols. 11 | */ 12 | function getAllKeys(object) { 13 | return baseGetAllKeys(object, keys, getSymbols); 14 | } 15 | 16 | export default getAllKeys; 17 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_getAllKeysIn.js: -------------------------------------------------------------------------------- 1 | import baseGetAllKeys from './_baseGetAllKeys.js'; 2 | import getSymbolsIn from './_getSymbolsIn.js'; 3 | import keysIn from './keysIn.js'; 4 | 5 | /** 6 | * Creates an array of own and inherited enumerable property names and 7 | * symbols of `object`. 8 | * 9 | * @private 10 | * @param {Object} object The object to query. 11 | * @returns {Array} Returns the array of property names and symbols. 12 | */ 13 | function getAllKeysIn(object) { 14 | return baseGetAllKeys(object, keysIn, getSymbolsIn); 15 | } 16 | 17 | export default getAllKeysIn; 18 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_getMapData.js: -------------------------------------------------------------------------------- 1 | import isKeyable from './_isKeyable.js'; 2 | 3 | /** 4 | * Gets the data for `map`. 5 | * 6 | * @private 7 | * @param {Object} map The map to query. 8 | * @param {string} key The reference key. 9 | * @returns {*} Returns the map data. 10 | */ 11 | function getMapData(map, key) { 12 | var data = map.__data__; 13 | return isKeyable(key) 14 | ? data[typeof key == 'string' ? 'string' : 'hash'] 15 | : data.map; 16 | } 17 | 18 | export default getMapData; 19 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_getNative.js: -------------------------------------------------------------------------------- 1 | import baseIsNative from './_baseIsNative.js'; 2 | import getValue from './_getValue.js'; 3 | 4 | /** 5 | * Gets the native function at `key` of `object`. 6 | * 7 | * @private 8 | * @param {Object} object The object to query. 9 | * @param {string} key The key of the method to get. 10 | * @returns {*} Returns the function if it's native, else `undefined`. 11 | */ 12 | function getNative(object, key) { 13 | var value = getValue(object, key); 14 | return baseIsNative(value) ? value : undefined; 15 | } 16 | 17 | export default getNative; 18 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_getPrototype.js: -------------------------------------------------------------------------------- 1 | import overArg from './_overArg.js'; 2 | 3 | /** Built-in value references. */ 4 | var getPrototype = overArg(Object.getPrototypeOf, Object); 5 | 6 | export default getPrototype; 7 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_getValue.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Gets the value at `key` of `object`. 3 | * 4 | * @private 5 | * @param {Object} [object] The object to query. 6 | * @param {string} key The key of the property to get. 7 | * @returns {*} Returns the property value. 8 | */ 9 | function getValue(object, key) { 10 | return object == null ? undefined : object[key]; 11 | } 12 | 13 | export default getValue; 14 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_hashClear.js: -------------------------------------------------------------------------------- 1 | import nativeCreate from './_nativeCreate.js'; 2 | 3 | /** 4 | * Removes all key-value entries from the hash. 5 | * 6 | * @private 7 | * @name clear 8 | * @memberOf Hash 9 | */ 10 | function hashClear() { 11 | this.__data__ = nativeCreate ? nativeCreate(null) : {}; 12 | this.size = 0; 13 | } 14 | 15 | export default hashClear; 16 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_hashDelete.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Removes `key` and its value from the hash. 3 | * 4 | * @private 5 | * @name delete 6 | * @memberOf Hash 7 | * @param {Object} hash The hash to modify. 8 | * @param {string} key The key of the value to remove. 9 | * @returns {boolean} Returns `true` if the entry was removed, else `false`. 10 | */ 11 | function hashDelete(key) { 12 | var result = this.has(key) && delete this.__data__[key]; 13 | this.size -= result ? 1 : 0; 14 | return result; 15 | } 16 | 17 | export default hashDelete; 18 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_initCloneObject.js: -------------------------------------------------------------------------------- 1 | import baseCreate from './_baseCreate.js'; 2 | import getPrototype from './_getPrototype.js'; 3 | import isPrototype from './_isPrototype.js'; 4 | 5 | /** 6 | * Initializes an object clone. 7 | * 8 | * @private 9 | * @param {Object} object The object to clone. 10 | * @returns {Object} Returns the initialized clone. 11 | */ 12 | function initCloneObject(object) { 13 | return (typeof object.constructor == 'function' && !isPrototype(object)) 14 | ? baseCreate(getPrototype(object)) 15 | : {}; 16 | } 17 | 18 | export default initCloneObject; 19 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_isKeyable.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Checks if `value` is suitable for use as unique object key. 3 | * 4 | * @private 5 | * @param {*} value The value to check. 6 | * @returns {boolean} Returns `true` if `value` is suitable, else `false`. 7 | */ 8 | function isKeyable(value) { 9 | var type = typeof value; 10 | return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') 11 | ? (value !== '__proto__') 12 | : (value === null); 13 | } 14 | 15 | export default isKeyable; 16 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_isMasked.js: -------------------------------------------------------------------------------- 1 | import coreJsData from './_coreJsData.js'; 2 | 3 | /** Used to detect methods masquerading as native. */ 4 | var maskSrcKey = (function() { 5 | var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); 6 | return uid ? ('Symbol(src)_1.' + uid) : ''; 7 | }()); 8 | 9 | /** 10 | * Checks if `func` has its source masked. 11 | * 12 | * @private 13 | * @param {Function} func The function to check. 14 | * @returns {boolean} Returns `true` if `func` is masked, else `false`. 15 | */ 16 | function isMasked(func) { 17 | return !!maskSrcKey && (maskSrcKey in func); 18 | } 19 | 20 | export default isMasked; 21 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_isPrototype.js: -------------------------------------------------------------------------------- 1 | /** Used for built-in method references. */ 2 | var objectProto = Object.prototype; 3 | 4 | /** 5 | * Checks if `value` is likely a prototype object. 6 | * 7 | * @private 8 | * @param {*} value The value to check. 9 | * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. 10 | */ 11 | function isPrototype(value) { 12 | var Ctor = value && value.constructor, 13 | proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; 14 | 15 | return value === proto; 16 | } 17 | 18 | export default isPrototype; 19 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_listCacheClear.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Removes all key-value entries from the list cache. 3 | * 4 | * @private 5 | * @name clear 6 | * @memberOf ListCache 7 | */ 8 | function listCacheClear() { 9 | this.__data__ = []; 10 | this.size = 0; 11 | } 12 | 13 | export default listCacheClear; 14 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_listCacheGet.js: -------------------------------------------------------------------------------- 1 | import assocIndexOf from './_assocIndexOf.js'; 2 | 3 | /** 4 | * Gets the list cache value for `key`. 5 | * 6 | * @private 7 | * @name get 8 | * @memberOf ListCache 9 | * @param {string} key The key of the value to get. 10 | * @returns {*} Returns the entry value. 11 | */ 12 | function listCacheGet(key) { 13 | var data = this.__data__, 14 | index = assocIndexOf(data, key); 15 | 16 | return index < 0 ? undefined : data[index][1]; 17 | } 18 | 19 | export default listCacheGet; 20 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_listCacheHas.js: -------------------------------------------------------------------------------- 1 | import assocIndexOf from './_assocIndexOf.js'; 2 | 3 | /** 4 | * Checks if a list cache value for `key` exists. 5 | * 6 | * @private 7 | * @name has 8 | * @memberOf ListCache 9 | * @param {string} key The key of the entry to check. 10 | * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 11 | */ 12 | function listCacheHas(key) { 13 | return assocIndexOf(this.__data__, key) > -1; 14 | } 15 | 16 | export default listCacheHas; 17 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_listCacheSet.js: -------------------------------------------------------------------------------- 1 | import assocIndexOf from './_assocIndexOf.js'; 2 | 3 | /** 4 | * Sets the list cache `key` to `value`. 5 | * 6 | * @private 7 | * @name set 8 | * @memberOf ListCache 9 | * @param {string} key The key of the value to set. 10 | * @param {*} value The value to set. 11 | * @returns {Object} Returns the list cache instance. 12 | */ 13 | function listCacheSet(key, value) { 14 | var data = this.__data__, 15 | index = assocIndexOf(data, key); 16 | 17 | if (index < 0) { 18 | ++this.size; 19 | data.push([key, value]); 20 | } else { 21 | data[index][1] = value; 22 | } 23 | return this; 24 | } 25 | 26 | export default listCacheSet; 27 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_mapCacheClear.js: -------------------------------------------------------------------------------- 1 | import Hash from './_Hash.js'; 2 | import ListCache from './_ListCache.js'; 3 | import Map from './_Map.js'; 4 | 5 | /** 6 | * Removes all key-value entries from the map. 7 | * 8 | * @private 9 | * @name clear 10 | * @memberOf MapCache 11 | */ 12 | function mapCacheClear() { 13 | this.size = 0; 14 | this.__data__ = { 15 | 'hash': new Hash, 16 | 'map': new (Map || ListCache), 17 | 'string': new Hash 18 | }; 19 | } 20 | 21 | export default mapCacheClear; 22 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_mapCacheDelete.js: -------------------------------------------------------------------------------- 1 | import getMapData from './_getMapData.js'; 2 | 3 | /** 4 | * Removes `key` and its value from the map. 5 | * 6 | * @private 7 | * @name delete 8 | * @memberOf MapCache 9 | * @param {string} key The key of the value to remove. 10 | * @returns {boolean} Returns `true` if the entry was removed, else `false`. 11 | */ 12 | function mapCacheDelete(key) { 13 | var result = getMapData(this, key)['delete'](key); 14 | this.size -= result ? 1 : 0; 15 | return result; 16 | } 17 | 18 | export default mapCacheDelete; 19 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_mapCacheGet.js: -------------------------------------------------------------------------------- 1 | import getMapData from './_getMapData.js'; 2 | 3 | /** 4 | * Gets the map value for `key`. 5 | * 6 | * @private 7 | * @name get 8 | * @memberOf MapCache 9 | * @param {string} key The key of the value to get. 10 | * @returns {*} Returns the entry value. 11 | */ 12 | function mapCacheGet(key) { 13 | return getMapData(this, key).get(key); 14 | } 15 | 16 | export default mapCacheGet; 17 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_mapCacheHas.js: -------------------------------------------------------------------------------- 1 | import getMapData from './_getMapData.js'; 2 | 3 | /** 4 | * Checks if a map value for `key` exists. 5 | * 6 | * @private 7 | * @name has 8 | * @memberOf MapCache 9 | * @param {string} key The key of the entry to check. 10 | * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 11 | */ 12 | function mapCacheHas(key) { 13 | return getMapData(this, key).has(key); 14 | } 15 | 16 | export default mapCacheHas; 17 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_mapCacheSet.js: -------------------------------------------------------------------------------- 1 | import getMapData from './_getMapData.js'; 2 | 3 | /** 4 | * Sets the map `key` to `value`. 5 | * 6 | * @private 7 | * @name set 8 | * @memberOf MapCache 9 | * @param {string} key The key of the value to set. 10 | * @param {*} value The value to set. 11 | * @returns {Object} Returns the map cache instance. 12 | */ 13 | function mapCacheSet(key, value) { 14 | var data = getMapData(this, key), 15 | size = data.size; 16 | 17 | data.set(key, value); 18 | this.size += data.size == size ? 0 : 1; 19 | return this; 20 | } 21 | 22 | export default mapCacheSet; 23 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_nativeCreate.js: -------------------------------------------------------------------------------- 1 | import getNative from './_getNative.js'; 2 | 3 | /* Built-in method references that are verified to be native. */ 4 | var nativeCreate = getNative(Object, 'create'); 5 | 6 | export default nativeCreate; 7 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_nativeKeys.js: -------------------------------------------------------------------------------- 1 | import overArg from './_overArg.js'; 2 | 3 | /* Built-in method references for those with the same name as other `lodash` methods. */ 4 | var nativeKeys = overArg(Object.keys, Object); 5 | 6 | export default nativeKeys; 7 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_nativeKeysIn.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This function is like 3 | * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) 4 | * except that it includes inherited enumerable properties. 5 | * 6 | * @private 7 | * @param {Object} object The object to query. 8 | * @returns {Array} Returns the array of property names. 9 | */ 10 | function nativeKeysIn(object) { 11 | var result = []; 12 | if (object != null) { 13 | for (var key in Object(object)) { 14 | result.push(key); 15 | } 16 | } 17 | return result; 18 | } 19 | 20 | export default nativeKeysIn; 21 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_objectToString.js: -------------------------------------------------------------------------------- 1 | /** Used for built-in method references. */ 2 | var objectProto = Object.prototype; 3 | 4 | /** 5 | * Used to resolve the 6 | * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) 7 | * of values. 8 | */ 9 | var nativeObjectToString = objectProto.toString; 10 | 11 | /** 12 | * Converts `value` to a string using `Object.prototype.toString`. 13 | * 14 | * @private 15 | * @param {*} value The value to convert. 16 | * @returns {string} Returns the converted string. 17 | */ 18 | function objectToString(value) { 19 | return nativeObjectToString.call(value); 20 | } 21 | 22 | export default objectToString; 23 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_overArg.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Creates a unary function that invokes `func` with its argument transformed. 3 | * 4 | * @private 5 | * @param {Function} func The function to wrap. 6 | * @param {Function} transform The argument transform. 7 | * @returns {Function} Returns the new function. 8 | */ 9 | function overArg(func, transform) { 10 | return function(arg) { 11 | return func(transform(arg)); 12 | }; 13 | } 14 | 15 | export default overArg; 16 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_root.js: -------------------------------------------------------------------------------- 1 | import freeGlobal from './_freeGlobal.js'; 2 | 3 | /** Detect free variable `self`. */ 4 | var freeSelf = typeof self == 'object' && self && self.Object === Object && self; 5 | 6 | /** Used as a reference to the global object. */ 7 | var root = freeGlobal || freeSelf || Function('return this')(); 8 | 9 | export default root; 10 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_stackClear.js: -------------------------------------------------------------------------------- 1 | import ListCache from './_ListCache.js'; 2 | 3 | /** 4 | * Removes all key-value entries from the stack. 5 | * 6 | * @private 7 | * @name clear 8 | * @memberOf Stack 9 | */ 10 | function stackClear() { 11 | this.__data__ = new ListCache; 12 | this.size = 0; 13 | } 14 | 15 | export default stackClear; 16 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_stackDelete.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Removes `key` and its value from the stack. 3 | * 4 | * @private 5 | * @name delete 6 | * @memberOf Stack 7 | * @param {string} key The key of the value to remove. 8 | * @returns {boolean} Returns `true` if the entry was removed, else `false`. 9 | */ 10 | function stackDelete(key) { 11 | var data = this.__data__, 12 | result = data['delete'](key); 13 | 14 | this.size = data.size; 15 | return result; 16 | } 17 | 18 | export default stackDelete; 19 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_stackGet.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Gets the stack value for `key`. 3 | * 4 | * @private 5 | * @name get 6 | * @memberOf Stack 7 | * @param {string} key The key of the value to get. 8 | * @returns {*} Returns the entry value. 9 | */ 10 | function stackGet(key) { 11 | return this.__data__.get(key); 12 | } 13 | 14 | export default stackGet; 15 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_stackHas.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Checks if a stack value for `key` exists. 3 | * 4 | * @private 5 | * @name has 6 | * @memberOf Stack 7 | * @param {string} key The key of the entry to check. 8 | * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 9 | */ 10 | function stackHas(key) { 11 | return this.__data__.has(key); 12 | } 13 | 14 | export default stackHas; 15 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_toKey.js: -------------------------------------------------------------------------------- 1 | import isSymbol from './isSymbol.js'; 2 | 3 | /** Used as references for various `Number` constants. */ 4 | var INFINITY = 1 / 0; 5 | 6 | /** 7 | * Converts `value` to a string key if it's not a string or symbol. 8 | * 9 | * @private 10 | * @param {*} value The value to inspect. 11 | * @returns {string|symbol} Returns the key. 12 | */ 13 | function toKey(value) { 14 | if (typeof value == 'string' || isSymbol(value)) { 15 | return value; 16 | } 17 | var result = (value + ''); 18 | return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; 19 | } 20 | 21 | export default toKey; 22 | -------------------------------------------------------------------------------- /node_modules/lodash-es/_toSource.js: -------------------------------------------------------------------------------- 1 | /** Used for built-in method references. */ 2 | var funcProto = Function.prototype; 3 | 4 | /** Used to resolve the decompiled source of functions. */ 5 | var funcToString = funcProto.toString; 6 | 7 | /** 8 | * Converts `func` to its source code. 9 | * 10 | * @private 11 | * @param {Function} func The function to convert. 12 | * @returns {string} Returns the source code. 13 | */ 14 | function toSource(func) { 15 | if (func != null) { 16 | try { 17 | return funcToString.call(func); 18 | } catch (e) {} 19 | try { 20 | return (func + ''); 21 | } catch (e) {} 22 | } 23 | return ''; 24 | } 25 | 26 | export default toSource; 27 | -------------------------------------------------------------------------------- /node_modules/lodash-es/isArray.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Checks if `value` is classified as an `Array` object. 3 | * 4 | * @static 5 | * @memberOf _ 6 | * @since 0.1.0 7 | * @category Lang 8 | * @param {*} value The value to check. 9 | * @returns {boolean} Returns `true` if `value` is an array, else `false`. 10 | * @example 11 | * 12 | * _.isArray([1, 2, 3]); 13 | * // => true 14 | * 15 | * _.isArray(document.body.children); 16 | * // => false 17 | * 18 | * _.isArray('abc'); 19 | * // => false 20 | * 21 | * _.isArray(_.noop); 22 | * // => false 23 | */ 24 | var isArray = Array.isArray; 25 | 26 | export default isArray; 27 | -------------------------------------------------------------------------------- /node_modules/lodash-es/stubArray.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This method returns a new empty array. 3 | * 4 | * @static 5 | * @memberOf _ 6 | * @since 4.13.0 7 | * @category Util 8 | * @returns {Array} Returns the new empty array. 9 | * @example 10 | * 11 | * var arrays = _.times(2, _.stubArray); 12 | * 13 | * console.log(arrays); 14 | * // => [[], []] 15 | * 16 | * console.log(arrays[0] === arrays[1]); 17 | * // => false 18 | */ 19 | function stubArray() { 20 | return []; 21 | } 22 | 23 | export default stubArray; 24 | -------------------------------------------------------------------------------- /node_modules/lodash-es/stubFalse.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This method returns `false`. 3 | * 4 | * @static 5 | * @memberOf _ 6 | * @since 4.13.0 7 | * @category Util 8 | * @returns {boolean} Returns `false`. 9 | * @example 10 | * 11 | * _.times(2, _.stubFalse); 12 | * // => [false, false] 13 | */ 14 | function stubFalse() { 15 | return false; 16 | } 17 | 18 | export default stubFalse; 19 | -------------------------------------------------------------------------------- /node_modules/next/app.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./dist/pages/_app') 2 | -------------------------------------------------------------------------------- /node_modules/next/dist/build/polyfills/fetch/whatwg-fetch.js: -------------------------------------------------------------------------------- 1 | "use strict";/* globals self */exports.Headers=self.Headers;exports.Request=self.Request;exports.Response=self.Response;exports.fetch=self.fetch; 2 | //# sourceMappingURL=whatwg-fetch.js.map -------------------------------------------------------------------------------- /node_modules/next/dist/build/polyfills/object-assign.js: -------------------------------------------------------------------------------- 1 | "use strict";var assign=Object.assign.bind(Object);module.exports=assign;module.exports.default=module.exports; 2 | //# sourceMappingURL=object-assign.js.map -------------------------------------------------------------------------------- /node_modules/next/dist/build/webpack/loaders/next-client-pages-loader-3acdb43d68238.js: -------------------------------------------------------------------------------- 1 | 2 | (window.__NEXT_P = window.__NEXT_P || []).push([ 3 | "/", 4 | function () { 5 | return require("private-next-pages/index.tsx"); 6 | } 7 | ]); 8 | -------------------------------------------------------------------------------- /node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js: -------------------------------------------------------------------------------- 1 | 2 | (window.__NEXT_P = window.__NEXT_P || []).push([ 3 | "/_app", 4 | function () { 5 | return require("private-next-pages/_app.tsx"); 6 | } 7 | ]); 8 | -------------------------------------------------------------------------------- /node_modules/next/dist/next-server/server/denormalize-page-path.js: -------------------------------------------------------------------------------- 1 | "use strict";exports.__esModule=true;exports.normalizePathSep=normalizePathSep;exports.denormalizePagePath=denormalizePagePath;function normalizePathSep(path){return path.replace(/\\/g,'/');}function denormalizePagePath(page){page=normalizePathSep(page);if(page.startsWith('/index/')){page=page.slice(6);}else if(page==='/index'){page='/';}return page;} 2 | //# sourceMappingURL=denormalize-page-path.js.map -------------------------------------------------------------------------------- /node_modules/next/dynamic.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./dist/next-server/lib/dynamic') 2 | -------------------------------------------------------------------------------- /node_modules/next/head.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./dist/next-server/lib/head') 2 | -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/arrayLikeToArray.js: -------------------------------------------------------------------------------- 1 | function _arrayLikeToArray(arr, len) { 2 | if (len == null || len > arr.length) len = arr.length; 3 | 4 | for (var i = 0, arr2 = new Array(len); i < len; i++) { 5 | arr2[i] = arr[i]; 6 | } 7 | 8 | return arr2; 9 | } 10 | 11 | module.exports = _arrayLikeToArray; -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/arrayWithHoles.js: -------------------------------------------------------------------------------- 1 | function _arrayWithHoles(arr) { 2 | if (Array.isArray(arr)) return arr; 3 | } 4 | 5 | module.exports = _arrayWithHoles; -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js: -------------------------------------------------------------------------------- 1 | var arrayLikeToArray = require("./arrayLikeToArray"); 2 | 3 | function _arrayWithoutHoles(arr) { 4 | if (Array.isArray(arr)) return arrayLikeToArray(arr); 5 | } 6 | 7 | module.exports = _arrayWithoutHoles; -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/assertThisInitialized.js: -------------------------------------------------------------------------------- 1 | function _assertThisInitialized(self) { 2 | if (self === void 0) { 3 | throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); 4 | } 5 | 6 | return self; 7 | } 8 | 9 | module.exports = _assertThisInitialized; -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/classCallCheck.js: -------------------------------------------------------------------------------- 1 | function _classCallCheck(instance, Constructor) { 2 | if (!(instance instanceof Constructor)) { 3 | throw new TypeError("Cannot call a class as a function"); 4 | } 5 | } 6 | 7 | module.exports = _classCallCheck; -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/defineProperty.js: -------------------------------------------------------------------------------- 1 | function _defineProperty(obj, key, value) { 2 | if (key in obj) { 3 | Object.defineProperty(obj, key, { 4 | value: value, 5 | enumerable: true, 6 | configurable: true, 7 | writable: true 8 | }); 9 | } else { 10 | obj[key] = value; 11 | } 12 | 13 | return obj; 14 | } 15 | 16 | module.exports = _defineProperty; -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js: -------------------------------------------------------------------------------- 1 | export default function _arrayLikeToArray(arr, len) { 2 | if (len == null || len > arr.length) len = arr.length; 3 | 4 | for (var i = 0, arr2 = new Array(len); i < len; i++) { 5 | arr2[i] = arr[i]; 6 | } 7 | 8 | return arr2; 9 | } -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js: -------------------------------------------------------------------------------- 1 | export default function _arrayWithHoles(arr) { 2 | if (Array.isArray(arr)) return arr; 3 | } -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js: -------------------------------------------------------------------------------- 1 | import arrayLikeToArray from "@babel/runtime/helpers/esm/arrayLikeToArray"; 2 | export default function _arrayWithoutHoles(arr) { 3 | if (Array.isArray(arr)) return arrayLikeToArray(arr); 4 | } -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js: -------------------------------------------------------------------------------- 1 | export default function _assertThisInitialized(self) { 2 | if (self === void 0) { 3 | throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); 4 | } 5 | 6 | return self; 7 | } -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/esm/classCallCheck.js: -------------------------------------------------------------------------------- 1 | export default function _classCallCheck(instance, Constructor) { 2 | if (!(instance instanceof Constructor)) { 3 | throw new TypeError("Cannot call a class as a function"); 4 | } 5 | } -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/esm/createClass.js: -------------------------------------------------------------------------------- 1 | function _defineProperties(target, props) { 2 | for (var i = 0; i < props.length; i++) { 3 | var descriptor = props[i]; 4 | descriptor.enumerable = descriptor.enumerable || false; 5 | descriptor.configurable = true; 6 | if ("value" in descriptor) descriptor.writable = true; 7 | Object.defineProperty(target, descriptor.key, descriptor); 8 | } 9 | } 10 | 11 | export default function _createClass(Constructor, protoProps, staticProps) { 12 | if (protoProps) _defineProperties(Constructor.prototype, protoProps); 13 | if (staticProps) _defineProperties(Constructor, staticProps); 14 | return Constructor; 15 | } -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/esm/defineProperty.js: -------------------------------------------------------------------------------- 1 | export default function _defineProperty(obj, key, value) { 2 | if (key in obj) { 3 | Object.defineProperty(obj, key, { 4 | value: value, 5 | enumerable: true, 6 | configurable: true, 7 | writable: true 8 | }); 9 | } else { 10 | obj[key] = value; 11 | } 12 | 13 | return obj; 14 | } -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/esm/extends.js: -------------------------------------------------------------------------------- 1 | export default function _extends() { 2 | _extends = Object.assign || function (target) { 3 | for (var i = 1; i < arguments.length; i++) { 4 | var source = arguments[i]; 5 | 6 | for (var key in source) { 7 | if (Object.prototype.hasOwnProperty.call(source, key)) { 8 | target[key] = source[key]; 9 | } 10 | } 11 | } 12 | 13 | return target; 14 | }; 15 | 16 | return _extends.apply(this, arguments); 17 | } -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js: -------------------------------------------------------------------------------- 1 | export default function _getPrototypeOf(o) { 2 | _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { 3 | return o.__proto__ || Object.getPrototypeOf(o); 4 | }; 5 | return _getPrototypeOf(o); 6 | } -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/esm/inherits.js: -------------------------------------------------------------------------------- 1 | import setPrototypeOf from "@babel/runtime/helpers/esm/setPrototypeOf"; 2 | export default function _inherits(subClass, superClass) { 3 | if (typeof superClass !== "function" && superClass !== null) { 4 | throw new TypeError("Super expression must either be null or a function"); 5 | } 6 | 7 | subClass.prototype = Object.create(superClass && superClass.prototype, { 8 | constructor: { 9 | value: subClass, 10 | writable: true, 11 | configurable: true 12 | } 13 | }); 14 | if (superClass) setPrototypeOf(subClass, superClass); 15 | } -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js: -------------------------------------------------------------------------------- 1 | export default function _isNativeFunction(fn) { 2 | return Function.toString.call(fn).indexOf("[native code]") !== -1; 3 | } -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js: -------------------------------------------------------------------------------- 1 | export default function _isNativeReflectConstruct() { 2 | if (typeof Reflect === "undefined" || !Reflect.construct) return false; 3 | if (Reflect.construct.sham) return false; 4 | if (typeof Proxy === "function") return true; 5 | 6 | try { 7 | Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); 8 | return true; 9 | } catch (e) { 10 | return false; 11 | } 12 | } -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/esm/iterableToArray.js: -------------------------------------------------------------------------------- 1 | export default function _iterableToArray(iter) { 2 | if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); 3 | } -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js: -------------------------------------------------------------------------------- 1 | export default function _nonIterableRest() { 2 | throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); 3 | } -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js: -------------------------------------------------------------------------------- 1 | export default function _nonIterableSpread() { 2 | throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); 3 | } -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js: -------------------------------------------------------------------------------- 1 | export default function _objectWithoutPropertiesLoose(source, excluded) { 2 | if (source == null) return {}; 3 | var target = {}; 4 | var sourceKeys = Object.keys(source); 5 | var key, i; 6 | 7 | for (i = 0; i < sourceKeys.length; i++) { 8 | key = sourceKeys[i]; 9 | if (excluded.indexOf(key) >= 0) continue; 10 | target[key] = source[key]; 11 | } 12 | 13 | return target; 14 | } -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js: -------------------------------------------------------------------------------- 1 | import _typeof from "@babel/runtime/helpers/esm/typeof"; 2 | import assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized"; 3 | export default function _possibleConstructorReturn(self, call) { 4 | if (call && (_typeof(call) === "object" || typeof call === "function")) { 5 | return call; 6 | } 7 | 8 | return assertThisInitialized(self); 9 | } -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js: -------------------------------------------------------------------------------- 1 | export default function _setPrototypeOf(o, p) { 2 | _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { 3 | o.__proto__ = p; 4 | return o; 5 | }; 6 | 7 | return _setPrototypeOf(o, p); 8 | } -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/esm/slicedToArray.js: -------------------------------------------------------------------------------- 1 | import arrayWithHoles from "@babel/runtime/helpers/esm/arrayWithHoles"; 2 | import iterableToArrayLimit from "@babel/runtime/helpers/esm/iterableToArrayLimit"; 3 | import unsupportedIterableToArray from "@babel/runtime/helpers/esm/unsupportedIterableToArray"; 4 | import nonIterableRest from "@babel/runtime/helpers/esm/nonIterableRest"; 5 | export default function _slicedToArray(arr, i) { 6 | return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest(); 7 | } -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js: -------------------------------------------------------------------------------- 1 | import arrayWithoutHoles from "@babel/runtime/helpers/esm/arrayWithoutHoles"; 2 | import iterableToArray from "@babel/runtime/helpers/esm/iterableToArray"; 3 | import unsupportedIterableToArray from "@babel/runtime/helpers/esm/unsupportedIterableToArray"; 4 | import nonIterableSpread from "@babel/runtime/helpers/esm/nonIterableSpread"; 5 | export default function _toConsumableArray(arr) { 6 | return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread(); 7 | } -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/esm/typeof.js: -------------------------------------------------------------------------------- 1 | export default function _typeof(obj) { 2 | "@babel/helpers - typeof"; 3 | 4 | if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { 5 | _typeof = function _typeof(obj) { 6 | return typeof obj; 7 | }; 8 | } else { 9 | _typeof = function _typeof(obj) { 10 | return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; 11 | }; 12 | } 13 | 14 | return _typeof(obj); 15 | } -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js: -------------------------------------------------------------------------------- 1 | import arrayLikeToArray from "@babel/runtime/helpers/esm/arrayLikeToArray"; 2 | export default function _unsupportedIterableToArray(o, minLen) { 3 | if (!o) return; 4 | if (typeof o === "string") return arrayLikeToArray(o, minLen); 5 | var n = Object.prototype.toString.call(o).slice(8, -1); 6 | if (n === "Object" && o.constructor) n = o.constructor.name; 7 | if (n === "Map" || n === "Set") return Array.from(o); 8 | if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen); 9 | } -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/extends.js: -------------------------------------------------------------------------------- 1 | function _extends() { 2 | module.exports = _extends = Object.assign || function (target) { 3 | for (var i = 1; i < arguments.length; i++) { 4 | var source = arguments[i]; 5 | 6 | for (var key in source) { 7 | if (Object.prototype.hasOwnProperty.call(source, key)) { 8 | target[key] = source[key]; 9 | } 10 | } 11 | } 12 | 13 | return target; 14 | }; 15 | 16 | return _extends.apply(this, arguments); 17 | } 18 | 19 | module.exports = _extends; -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/getPrototypeOf.js: -------------------------------------------------------------------------------- 1 | function _getPrototypeOf(o) { 2 | module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { 3 | return o.__proto__ || Object.getPrototypeOf(o); 4 | }; 5 | return _getPrototypeOf(o); 6 | } 7 | 8 | module.exports = _getPrototypeOf; -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/inherits.js: -------------------------------------------------------------------------------- 1 | var setPrototypeOf = require("./setPrototypeOf"); 2 | 3 | function _inherits(subClass, superClass) { 4 | if (typeof superClass !== "function" && superClass !== null) { 5 | throw new TypeError("Super expression must either be null or a function"); 6 | } 7 | 8 | subClass.prototype = Object.create(superClass && superClass.prototype, { 9 | constructor: { 10 | value: subClass, 11 | writable: true, 12 | configurable: true 13 | } 14 | }); 15 | if (superClass) setPrototypeOf(subClass, superClass); 16 | } 17 | 18 | module.exports = _inherits; -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/interopRequireDefault.js: -------------------------------------------------------------------------------- 1 | function _interopRequireDefault(obj) { 2 | return obj && obj.__esModule ? obj : { 3 | "default": obj 4 | }; 5 | } 6 | 7 | module.exports = _interopRequireDefault; -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js: -------------------------------------------------------------------------------- 1 | function _isNativeReflectConstruct() { 2 | if (typeof Reflect === "undefined" || !Reflect.construct) return false; 3 | if (Reflect.construct.sham) return false; 4 | if (typeof Proxy === "function") return true; 5 | 6 | try { 7 | Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); 8 | return true; 9 | } catch (e) { 10 | return false; 11 | } 12 | } 13 | 14 | module.exports = _isNativeReflectConstruct; -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/iterableToArray.js: -------------------------------------------------------------------------------- 1 | function _iterableToArray(iter) { 2 | if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); 3 | } 4 | 5 | module.exports = _iterableToArray; -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/nonIterableRest.js: -------------------------------------------------------------------------------- 1 | function _nonIterableRest() { 2 | throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); 3 | } 4 | 5 | module.exports = _nonIterableRest; -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/nonIterableSpread.js: -------------------------------------------------------------------------------- 1 | function _nonIterableSpread() { 2 | throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); 3 | } 4 | 5 | module.exports = _nonIterableSpread; -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js: -------------------------------------------------------------------------------- 1 | var _typeof = require("@babel/runtime/helpers/typeof"); 2 | 3 | var assertThisInitialized = require("./assertThisInitialized"); 4 | 5 | function _possibleConstructorReturn(self, call) { 6 | if (call && (_typeof(call) === "object" || typeof call === "function")) { 7 | return call; 8 | } 9 | 10 | return assertThisInitialized(self); 11 | } 12 | 13 | module.exports = _possibleConstructorReturn; -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/setPrototypeOf.js: -------------------------------------------------------------------------------- 1 | function _setPrototypeOf(o, p) { 2 | module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { 3 | o.__proto__ = p; 4 | return o; 5 | }; 6 | 7 | return _setPrototypeOf(o, p); 8 | } 9 | 10 | module.exports = _setPrototypeOf; -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/slicedToArray.js: -------------------------------------------------------------------------------- 1 | var arrayWithHoles = require("./arrayWithHoles"); 2 | 3 | var iterableToArrayLimit = require("./iterableToArrayLimit"); 4 | 5 | var unsupportedIterableToArray = require("./unsupportedIterableToArray"); 6 | 7 | var nonIterableRest = require("./nonIterableRest"); 8 | 9 | function _slicedToArray(arr, i) { 10 | return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest(); 11 | } 12 | 13 | module.exports = _slicedToArray; -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/toConsumableArray.js: -------------------------------------------------------------------------------- 1 | var arrayWithoutHoles = require("./arrayWithoutHoles"); 2 | 3 | var iterableToArray = require("./iterableToArray"); 4 | 5 | var unsupportedIterableToArray = require("./unsupportedIterableToArray"); 6 | 7 | var nonIterableSpread = require("./nonIterableSpread"); 8 | 9 | function _toConsumableArray(arr) { 10 | return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread(); 11 | } 12 | 13 | module.exports = _toConsumableArray; -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/typeof.js: -------------------------------------------------------------------------------- 1 | function _typeof(obj) { 2 | "@babel/helpers - typeof"; 3 | 4 | if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { 5 | module.exports = _typeof = function _typeof(obj) { 6 | return typeof obj; 7 | }; 8 | } else { 9 | module.exports = _typeof = function _typeof(obj) { 10 | return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; 11 | }; 12 | } 13 | 14 | return _typeof(obj); 15 | } 16 | 17 | module.exports = _typeof; -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js: -------------------------------------------------------------------------------- 1 | var arrayLikeToArray = require("./arrayLikeToArray"); 2 | 3 | function _unsupportedIterableToArray(o, minLen) { 4 | if (!o) return; 5 | if (typeof o === "string") return arrayLikeToArray(o, minLen); 6 | var n = Object.prototype.toString.call(o).slice(8, -1); 7 | if (n === "Object" && o.constructor) n = o.constructor.name; 8 | if (n === "Map" || n === "Set") return Array.from(o); 9 | if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen); 10 | } 11 | 12 | module.exports = _unsupportedIterableToArray; -------------------------------------------------------------------------------- /node_modules/next/node_modules/@babel/runtime/regenerator/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require("regenerator-runtime"); 2 | -------------------------------------------------------------------------------- /node_modules/next/router.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./dist/client/router') 2 | -------------------------------------------------------------------------------- /node_modules/opentracing/lib/binary_carrier.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | /** 4 | * Convenience class to use as a binary carrier. 5 | * 6 | * Any valid Object with a field named `buffer` may be used as a binary carrier; 7 | * this class is only one such type of object that can be used. 8 | */ 9 | var BinaryCarrier = /** @class */ (function () { 10 | function BinaryCarrier(buffer) { 11 | this.buffer = buffer; 12 | } 13 | return BinaryCarrier; 14 | }()); 15 | exports.default = BinaryCarrier; 16 | //# sourceMappingURL=binary_carrier.js.map -------------------------------------------------------------------------------- /node_modules/opentracing/lib/mock_tracer/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | var mock_context_1 = require("./mock_context"); 4 | exports.MockContext = mock_context_1.default; 5 | var mock_span_1 = require("./mock_span"); 6 | exports.MockSpan = mock_span_1.default; 7 | var mock_tracer_1 = require("./mock_tracer"); 8 | exports.MockTracer = mock_tracer_1.default; 9 | //# sourceMappingURL=index.js.map -------------------------------------------------------------------------------- /node_modules/prop-types/lib/ReactPropTypesSecret.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2013-present, Facebook, Inc. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | 'use strict'; 9 | 10 | var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; 11 | 12 | module.exports = ReactPropTypesSecret; 13 | -------------------------------------------------------------------------------- /node_modules/querystring-es3/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.decode = exports.parse = require('./decode'); 4 | exports.encode = exports.stringify = require('./encode'); 5 | -------------------------------------------------------------------------------- /node_modules/react-is/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-is.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-is.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /node_modules/react-modal/lib/helpers/safeHTMLElement.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.canUseDOM = undefined; 7 | 8 | var _exenv = require("exenv"); 9 | 10 | var _exenv2 = _interopRequireDefault(_exenv); 11 | 12 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 13 | 14 | var EE = _exenv2.default; 15 | 16 | var SafeHTMLElement = EE.canUseDOM ? window.HTMLElement : {}; 17 | 18 | var canUseDOM = exports.canUseDOM = EE.canUseDOM; 19 | 20 | exports.default = SafeHTMLElement; -------------------------------------------------------------------------------- /node_modules/react-modal/lib/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | 7 | var _Modal = require("./components/Modal"); 8 | 9 | var _Modal2 = _interopRequireDefault(_Modal); 10 | 11 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 12 | 13 | exports.default = _Modal2.default; 14 | module.exports = exports["default"]; -------------------------------------------------------------------------------- /node_modules/react-property/lib/injection.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | MUST_USE_PROPERTY: 1, 3 | HAS_BOOLEAN_VALUE: 4, 4 | HAS_NUMERIC_VALUE: 8, 5 | HAS_POSITIVE_NUMERIC_VALUE: 24, 6 | HAS_OVERLOADED_BOOLEAN_VALUE: 32 7 | }; 8 | -------------------------------------------------------------------------------- /node_modules/react-remove-scroll-bar/dist/es2015/constants.js: -------------------------------------------------------------------------------- 1 | export var zeroRightClassName = 'right-scroll-bar-position'; 2 | export var fullWidthClassName = 'width-before-scroll-bar'; 3 | export var noScrollbarsClassName = 'with-scroll-bars-hidden'; 4 | -------------------------------------------------------------------------------- /node_modules/react-remove-scroll/dist/es2015/Combination.js: -------------------------------------------------------------------------------- 1 | import * as tslib_1 from "tslib"; 2 | import * as React from 'react'; 3 | import { RemoveScroll } from './UI'; 4 | import SideCar from './sidecar'; 5 | var ReactRemoveScroll = React.forwardRef(function (props, ref) { return (React.createElement(RemoveScroll, tslib_1.__assign({}, props, { ref: ref, sideCar: SideCar }))); }); 6 | ReactRemoveScroll.classNames = RemoveScroll.classNames; 7 | export default ReactRemoveScroll; 8 | -------------------------------------------------------------------------------- /node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js: -------------------------------------------------------------------------------- 1 | var passiveSupported = false; 2 | if (typeof window !== 'undefined') { 3 | try { 4 | var options = Object.defineProperty({}, 'passive', { 5 | get: function () { 6 | passiveSupported = true; 7 | return true; 8 | } 9 | }); 10 | window.addEventListener('test', options, options); 11 | window.removeEventListener('test', options, options); 12 | } 13 | catch (err) { 14 | passiveSupported = false; 15 | } 16 | } 17 | export var nonPassive = passiveSupported ? { passive: false } : false; 18 | -------------------------------------------------------------------------------- /node_modules/react-remove-scroll/dist/es2015/medium.js: -------------------------------------------------------------------------------- 1 | import { createSidecarMedium } from 'use-sidecar'; 2 | export var effectCar = createSidecarMedium(); 3 | -------------------------------------------------------------------------------- /node_modules/react-remove-scroll/dist/es2015/sidecar.js: -------------------------------------------------------------------------------- 1 | import { exportSidecar } from 'use-sidecar'; 2 | import { RemoveScrollSideCar } from './SideEffect'; 3 | import { effectCar } from './medium'; 4 | export default exportSidecar(effectCar, RemoveScrollSideCar); 5 | -------------------------------------------------------------------------------- /node_modules/react-slick/lib/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports["default"] = void 0; 7 | 8 | var _slider = _interopRequireDefault(require("./slider")); 9 | 10 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 11 | 12 | var _default = _slider["default"]; 13 | exports["default"] = _default; -------------------------------------------------------------------------------- /node_modules/react-style-singleton/dist/es2015/component.js: -------------------------------------------------------------------------------- 1 | import { styleHookSingleton } from "./hook"; 2 | export var styleSingleton = function () { 3 | var useStyle = styleHookSingleton(); 4 | var Sheet = function (_a) { 5 | var styles = _a.styles; 6 | useStyle(styles); 7 | return null; 8 | }; 9 | return Sheet; 10 | }; 11 | -------------------------------------------------------------------------------- /node_modules/react-style-singleton/dist/es2015/hook.js: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import { stylesheetSingleton } from "./singleton"; 3 | export var styleHookSingleton = function () { 4 | var sheet = stylesheetSingleton(); 5 | return function (styles) { 6 | React.useEffect(function () { 7 | sheet.add(styles); 8 | return function () { 9 | sheet.remove(); 10 | }; 11 | }, []); 12 | }; 13 | }; 14 | -------------------------------------------------------------------------------- /node_modules/react-uid/dist/es2015/context.js: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import { generateUID } from "./uid"; 3 | export var createSource = function (prefix) { 4 | if (prefix === void 0) { prefix = ''; } 5 | return ({ 6 | value: 1, 7 | prefix: prefix, 8 | uid: generateUID() 9 | }); 10 | }; 11 | export var counter = createSource(); 12 | export var source = React.createContext(createSource()); 13 | export var getId = function (source) { return source.value++; }; 14 | export var getPrefix = function (source) { return source ? source.prefix : ''; }; 15 | -------------------------------------------------------------------------------- /node_modules/react/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /node_modules/scheduler/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/scheduler.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/scheduler.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /node_modules/split-on-first/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = (string, separator) => { 4 | if (!(typeof string === 'string' && typeof separator === 'string')) { 5 | throw new TypeError('Expected the arguments to be of type `string`'); 6 | } 7 | 8 | if (separator === '') { 9 | return [string]; 10 | } 11 | 12 | const separatorIndex = string.indexOf(separator); 13 | 14 | if (separatorIndex === -1) { 15 | return [string]; 16 | } 17 | 18 | return [ 19 | string.slice(0, separatorIndex), 20 | string.slice(separatorIndex + separator.length) 21 | ]; 22 | }; 23 | -------------------------------------------------------------------------------- /node_modules/strict-uri-encode/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = str => encodeURIComponent(str).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`); 3 | -------------------------------------------------------------------------------- /node_modules/string-convert/camel2hyphen.js: -------------------------------------------------------------------------------- 1 | var camel2hyphen = function (str) { 2 | return str 3 | .replace(/[A-Z]/g, function (match) { 4 | return '-' + match.toLowerCase(); 5 | }) 6 | .toLowerCase(); 7 | }; 8 | 9 | module.exports = camel2hyphen; -------------------------------------------------------------------------------- /node_modules/string-hash/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | function hash(str) { 4 | var hash = 5381, 5 | i = str.length; 6 | 7 | while(i) { 8 | hash = (hash * 33) ^ str.charCodeAt(--i); 9 | } 10 | 11 | /* JavaScript does bitwise operations (like XOR, above) on 32-bit signed 12 | * integers. Since we want the results to be always positive, convert the 13 | * signed int to an unsigned by doing an unsigned bitshift. */ 14 | return hash >>> 0; 15 | } 16 | 17 | module.exports = hash; 18 | -------------------------------------------------------------------------------- /node_modules/styled-jsx/style.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./dist/style') 2 | -------------------------------------------------------------------------------- /node_modules/tiny-warning/dist/tiny-warning.esm.js: -------------------------------------------------------------------------------- 1 | var isProduction = process.env.NODE_ENV === 'production'; 2 | function warning(condition, message) { 3 | if (!isProduction) { 4 | if (condition) { 5 | return; 6 | } 7 | 8 | var text = "Warning: " + message; 9 | 10 | if (typeof console !== 'undefined') { 11 | console.warn(text); 12 | } 13 | 14 | try { 15 | throw Error(text); 16 | } catch (x) {} 17 | } 18 | } 19 | 20 | export default warning; 21 | -------------------------------------------------------------------------------- /node_modules/use-callback-ref/dist/es2015/assignRef.js: -------------------------------------------------------------------------------- 1 | export function assignRef(ref, value) { 2 | if (typeof ref === 'function') { 3 | ref(value); 4 | } 5 | else if (ref != null) { 6 | ref.current = value; 7 | } 8 | return ref; 9 | } 10 | -------------------------------------------------------------------------------- /node_modules/use-callback-ref/dist/es2015/useMergeRef.js: -------------------------------------------------------------------------------- 1 | import { useCallbackRef } from './useRef'; 2 | import { assignRef } from './assignRef'; 3 | export function useMergeRefs(refs, defaultValue) { 4 | return useCallbackRef(defaultValue, function (newValue) { 5 | return refs.forEach(function (ref) { return assignRef(ref, newValue); }); 6 | }); 7 | } 8 | -------------------------------------------------------------------------------- /node_modules/use-subscription/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/use-subscription.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/use-subscription.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/nil.js: -------------------------------------------------------------------------------- 1 | export default '00000000-0000-0000-0000-000000000000'; -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/regex.js: -------------------------------------------------------------------------------- 1 | export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/v3.js: -------------------------------------------------------------------------------- 1 | import v35 from './v35.js'; 2 | import md5 from './md5.js'; 3 | var v3 = v35('v3', 0x30, md5); 4 | export default v3; -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/v4.js: -------------------------------------------------------------------------------- 1 | import rng from './rng.js'; 2 | import stringify from './stringify.js'; 3 | 4 | function v4(options, buf, offset) { 5 | options = options || {}; 6 | var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` 7 | 8 | rnds[6] = rnds[6] & 0x0f | 0x40; 9 | rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided 10 | 11 | if (buf) { 12 | offset = offset || 0; 13 | 14 | for (var i = 0; i < 16; ++i) { 15 | buf[offset + i] = rnds[i]; 16 | } 17 | 18 | return buf; 19 | } 20 | 21 | return stringify(rnds); 22 | } 23 | 24 | export default v4; -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/v5.js: -------------------------------------------------------------------------------- 1 | import v35 from './v35.js'; 2 | import sha1 from './sha1.js'; 3 | var v5 = v35('v5', 0x50, sha1); 4 | export default v5; -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/validate.js: -------------------------------------------------------------------------------- 1 | import REGEX from './regex.js'; 2 | 3 | function validate(uuid) { 4 | return typeof uuid === 'string' && REGEX.test(uuid); 5 | } 6 | 7 | export default validate; -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/version.js: -------------------------------------------------------------------------------- 1 | import validate from './validate.js'; 2 | 3 | function version(uuid) { 4 | if (!validate(uuid)) { 5 | throw TypeError('Invalid UUID'); 6 | } 7 | 8 | return parseInt(uuid.substr(14, 1), 16); 9 | } 10 | 11 | export default version; -------------------------------------------------------------------------------- /node_modules/xtend/immutable.js: -------------------------------------------------------------------------------- 1 | module.exports = extend 2 | 3 | var hasOwnProperty = Object.prototype.hasOwnProperty; 4 | 5 | function extend() { 6 | var target = {} 7 | 8 | for (var i = 0; i < arguments.length; i++) { 9 | var source = arguments[i] 10 | 11 | for (var key in source) { 12 | if (hasOwnProperty.call(source, key)) { 13 | target[key] = source[key] 14 | } 15 | } 16 | } 17 | 18 | return target 19 | } 20 | -------------------------------------------------------------------------------- /server/cspMiddleware.js: -------------------------------------------------------------------------------- 1 | const generatePolicyString = require('../content-security-policy') 2 | const { v4: uuid } = require('uuid') 3 | 4 | const NONCE_TEMPLATE = '___CSP_NONCE_TO_BE_REPLACED_BY_NGINX___' 5 | 6 | /** 7 | * This middleware adds our Content Security Policy. 8 | */ 9 | module.exports = function cspMiddleware(req, res, next) { 10 | const nonce = Buffer.from(uuid()).toString('base64') 11 | 12 | req.nonce = nonce 13 | res.set('Content-Security-Policy', generatePolicyString('default', nonce)) 14 | res.set('X-Nonce', nonce) // This will be used by NGINX to replace all NONCE_TEMPLATE occurrences 15 | 16 | next() 17 | } 18 | 19 | module.exports.NONCE_TEMPLATE = NONCE_TEMPLATE 20 | -------------------------------------------------------------------------------- /src/components/common/styles.scss: -------------------------------------------------------------------------------- 1 | 2 | import css from 'styled-jsx/css'; 3 | 4 | export default css`.locale-picker__container { 5 | & ul { 6 | margin-left: -10px; 7 | } 8 | 9 | & li { 10 | display: inline-block; 11 | } 12 | } 13 | 14 | .locale-picker__link { 15 | @include focusable($inlineOffset: 0, $blockOffset: 0); 16 | 17 | display: block; 18 | color: $black; 19 | text-decoration: none; 20 | padding: 10px; 21 | 22 | &:hover, 23 | &:focus { 24 | outline: none; 25 | text-decoration: underline; 26 | } 27 | } 28 | ` -------------------------------------------------------------------------------- /src/components/context/AssignedVariationsContext.ts: -------------------------------------------------------------------------------- 1 | import { createContext, useContext } from 'react' 2 | 3 | export interface IAssignedVariation { 4 | variationKey: string 5 | source: string 6 | } 7 | export interface IAssignedVariations { 8 | [experimentKey: string]: IAssignedVariation 9 | } 10 | 11 | const AssignedVariationsContext = createContext({}) 12 | 13 | export function useAssignedVariations() { 14 | return useContext(AssignedVariationsContext) 15 | } 16 | 17 | export default AssignedVariationsContext 18 | -------------------------------------------------------------------------------- /src/components/context/CurrentLocaleContext.ts: -------------------------------------------------------------------------------- 1 | import { createContext } from 'react' 2 | 3 | import { Locale } from 'contentful' 4 | 5 | // Placeholder, replaced by locale fetched from contentful 6 | const defaultContext: Locale = { 7 | code: 'en-US', 8 | name: '', 9 | default: false, 10 | fallbackCode: '', 11 | sys: { 12 | id: '', 13 | type: 'Locale', 14 | version: 0, 15 | }, 16 | } 17 | const CurrentLocaleContext = createContext(defaultContext) 18 | 19 | CurrentLocaleContext.displayName = 'CurrentLocaleContext' 20 | 21 | export default CurrentLocaleContext 22 | -------------------------------------------------------------------------------- /src/components/context/EditingContext.ts: -------------------------------------------------------------------------------- 1 | import { createContext } from 'react' 2 | 3 | const EditingContext = createContext(false) 4 | 5 | EditingContext.displayName = 'EditorUIContext' 6 | 7 | export default EditingContext 8 | -------------------------------------------------------------------------------- /src/components/context/LocalesContext.tsx: -------------------------------------------------------------------------------- 1 | import { createContext } from 'react' 2 | 3 | import { Locale } from 'contentful' 4 | 5 | const LocalesContext = createContext([]) 6 | 7 | LocalesContext.displayName = 'LocalesContext' 8 | 9 | export default LocalesContext 10 | -------------------------------------------------------------------------------- /src/components/context/MarketoFormsContext.tsx: -------------------------------------------------------------------------------- 1 | import { IMarketoField } from 'marketing-site/lib/marketo/client' 2 | import { createContext, useContext } from 'react' 3 | 4 | export interface IMarketoFormWithFields { 5 | id: number 6 | fields: IMarketoField[] 7 | } 8 | 9 | const MarketoFormsContext = createContext([]) 10 | 11 | MarketoFormsContext.displayName = 'MarketoFormsContext' 12 | 13 | export function useMarketoForms() { 14 | return useContext(MarketoFormsContext) 15 | } 16 | 17 | export default MarketoFormsContext 18 | -------------------------------------------------------------------------------- /src/components/context/PageContext.tsx: -------------------------------------------------------------------------------- 1 | import { createContext, useContext } from 'react' 2 | import { IPage } from 'marketing-site/@types/generated/contentful' 3 | 4 | const PageContext = createContext(null) 5 | PageContext.displayName = 'PageContext' 6 | 7 | export const usePage = () => useContext(PageContext) 8 | 9 | export default PageContext 10 | -------------------------------------------------------------------------------- /src/components/context/ServerPropsContext.ts: -------------------------------------------------------------------------------- 1 | import { createContext, useContext } from 'react' 2 | 3 | export interface IServerPropsContext { 4 | nonce: string 5 | query: { [key: string]: string | string[] } 6 | cookie: { [key: string]: string | number } 7 | } 8 | 9 | const ServerPropsContext = createContext({ 10 | nonce: '', 11 | query: {}, 12 | cookie: {}, 13 | }) 14 | 15 | ServerPropsContext.displayName = 'ServerPropsContext' 16 | 17 | export default ServerPropsContext 18 | 19 | export const useServerPropsContext = () => useContext(ServerPropsContext) 20 | -------------------------------------------------------------------------------- /src/fonts/FiveEyesCondensed-Bold.woff: -------------------------------------------------------------------------------- 1 | export default "/_next/static/fonts/FiveEyesCondensed-Bold-8c8fdbe11a5cf3feb6fb2401985ed789.woff"; -------------------------------------------------------------------------------- /src/fonts/FiveEyesCondensed-Bold.woff2: -------------------------------------------------------------------------------- 1 | export default "/_next/static/fonts/FiveEyesCondensed-Bold-57d11e78f5cecdae2bbb243c05bfada2.woff2"; -------------------------------------------------------------------------------- /src/fonts/Graphik-Bold.woff: -------------------------------------------------------------------------------- 1 | export default "/_next/static/fonts/Graphik-Bold-1cfe3bedc7b123e25ff0fe10269d721c.woff"; -------------------------------------------------------------------------------- /src/fonts/Graphik-Bold.woff2: -------------------------------------------------------------------------------- 1 | export default "/_next/static/fonts/Graphik-Bold-e22c181f623a92da8f930cceec3eabea.woff2"; -------------------------------------------------------------------------------- /src/fonts/Graphik-BoldItalic.woff: -------------------------------------------------------------------------------- 1 | export default "/_next/static/fonts/Graphik-BoldItalic-a5053e7156f1dde26beeeb325609f455.woff"; -------------------------------------------------------------------------------- /src/fonts/Graphik-BoldItalic.woff2: -------------------------------------------------------------------------------- 1 | export default "/_next/static/fonts/Graphik-BoldItalic-f63eff3efcd0fcbfb3bf6c1d60c4db40.woff2"; -------------------------------------------------------------------------------- /src/fonts/Graphik-Regular.woff: -------------------------------------------------------------------------------- 1 | export default "/_next/static/fonts/Graphik-Regular-fb0cb27361bfaf9a6dcebdce23b3bce4.woff"; -------------------------------------------------------------------------------- /src/fonts/Graphik-Regular.woff2: -------------------------------------------------------------------------------- 1 | export default "/_next/static/fonts/Graphik-Regular-303ba2a54367d2fb1fe1b4c1176c2e46.woff2"; -------------------------------------------------------------------------------- /src/fonts/Graphik-RegularItalic.woff: -------------------------------------------------------------------------------- 1 | export default "/_next/static/fonts/Graphik-RegularItalic-0eabd6bcddbadd80aa485273f9da60a9.woff"; -------------------------------------------------------------------------------- /src/fonts/Graphik-RegularItalic.woff2: -------------------------------------------------------------------------------- 1 | export default "/_next/static/fonts/Graphik-RegularItalic-82dc76075a9b8bf893442f58c61ddc14.woff2"; -------------------------------------------------------------------------------- /src/fonts/Graphik-Semibold.woff: -------------------------------------------------------------------------------- 1 | export default "/_next/static/fonts/Graphik-Semibold-a439eb2d9f9c12509fb3dc2c79b7a5ae.woff"; -------------------------------------------------------------------------------- /src/fonts/Graphik-Semibold.woff2: -------------------------------------------------------------------------------- 1 | export default "/_next/static/fonts/Graphik-Semibold-b553d5b97ac3ab320b0b4f26f0e3a937.woff2"; -------------------------------------------------------------------------------- /src/fonts/Graphik-SemiboldItalic.woff: -------------------------------------------------------------------------------- 1 | export default "/_next/static/fonts/Graphik-SemiboldItalic-b3371d533336c2a3a21124b9ec0dbb8f.woff"; -------------------------------------------------------------------------------- /src/fonts/Graphik-SemiboldItalic.woff2: -------------------------------------------------------------------------------- 1 | export default "/_next/static/fonts/Graphik-SemiboldItalic-3cc714464c4dda0bdd55b34acf6d6d34.woff2"; -------------------------------------------------------------------------------- /src/fonts/Honey-BoldBanner.woff: -------------------------------------------------------------------------------- 1 | export default "/_next/static/fonts/Honey-BoldBanner-29360f6aedb194eef3ed8222b5a4ceae.woff"; -------------------------------------------------------------------------------- /src/fonts/Honey-BoldBanner.woff2: -------------------------------------------------------------------------------- 1 | export default "/_next/static/fonts/Honey-BoldBanner-bf0a0a940984a91ac5606ab55c29da14.woff2"; -------------------------------------------------------------------------------- /src/fonts/Honey-ExtraboldBanner.woff: -------------------------------------------------------------------------------- 1 | export default "/_next/static/fonts/Honey-ExtraboldBanner-e504e7a9f2882288f33c74b2dec02dd2.woff"; -------------------------------------------------------------------------------- /src/fonts/Honey-ExtraboldBanner.woff2: -------------------------------------------------------------------------------- 1 | export default "/_next/static/fonts/Honey-ExtraboldBanner-88240800eb5734510bf3e313c420196e.woff2"; -------------------------------------------------------------------------------- /src/fonts/IntercomBrand-Medium.woff: -------------------------------------------------------------------------------- 1 | export default "/_next/static/fonts/IntercomBrand-Medium-a526ae1139ab4f4b44b0c1b7bb905ed5.woff"; -------------------------------------------------------------------------------- /src/fonts/IntercomBrand-Medium.woff2: -------------------------------------------------------------------------------- 1 | export default "/_next/static/fonts/IntercomBrand-Medium-e7ea990a8b61fd08ce6c253103f85294.woff2"; -------------------------------------------------------------------------------- /src/fonts/IntercomBrush-Large.woff: -------------------------------------------------------------------------------- 1 | export default "/_next/static/fonts/IntercomBrush-Large-9f54175db25cbee3fcd91fd445fe2210.woff"; -------------------------------------------------------------------------------- /src/fonts/IntercomBrush-Large.woff2: -------------------------------------------------------------------------------- 1 | export default "/_next/static/fonts/IntercomBrush-Large-caf445695fe6269e29ad10c93d4b7a00.woff2"; -------------------------------------------------------------------------------- /src/fonts/IntercomBrush-Small.woff: -------------------------------------------------------------------------------- 1 | export default "/_next/static/fonts/IntercomBrush-Small-7771b9f870c00c1c502f6bea7df12ce6.woff"; -------------------------------------------------------------------------------- /src/fonts/IntercomBrush-Small.woff2: -------------------------------------------------------------------------------- 1 | export default "/_next/static/fonts/IntercomBrush-Small-0bbf0a388644b884be00f56fc9e225de.woff2"; -------------------------------------------------------------------------------- /src/fonts/SmileScript.woff: -------------------------------------------------------------------------------- 1 | export default "/_next/static/fonts/SmileScript-dd0712bb75fb4ebd3a2b996970aa22c0.woff"; -------------------------------------------------------------------------------- /src/fonts/SmileScript.woff2: -------------------------------------------------------------------------------- 1 | export default "/_next/static/fonts/SmileScript-5bc3a4194d38e74d52db7df5c232c76e.woff2"; -------------------------------------------------------------------------------- /src/images/Wire-SVGs/Wire-1.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/Wire-1-8adcbce62f300b6a9303cc8cff69845c.svg"; -------------------------------------------------------------------------------- /src/images/Wire-SVGs/Wire-2.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/Wire-2-892ba49416658af402a78b9aa9380709.svg"; -------------------------------------------------------------------------------- /src/images/Wire-SVGs/Wire-3.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/Wire-3-e947c190e44b228c1e950b609545a03b.svg"; -------------------------------------------------------------------------------- /src/images/Wire-SVGs/Wire-4.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/Wire-4-ce43bf6dfdf53f25984d7fb7bcf12bda.svg"; -------------------------------------------------------------------------------- /src/images/Wire-SVGs/Wire-5.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/Wire-5-1f945e324329fdff8b97f279d7a766f6.svg"; -------------------------------------------------------------------------------- /src/images/apple-touch-icon-ipad.png: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/apple-touch-icon-ipad-0c43afbb09c7e7724f5cb157db5833ee.png"; -------------------------------------------------------------------------------- /src/images/apple-touch-icon-iphone.png: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/apple-touch-icon-iphone-b761c0b251b0c1aac4e31ffd7b6a63f0.png"; -------------------------------------------------------------------------------- /src/images/apple-touch-icon-iphone4.png: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/apple-touch-icon-iphone4-bf02872bffa1c34b908b6df87969d388.png"; -------------------------------------------------------------------------------- /src/images/contentful.png: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/contentful-0a708178727ec9e419e1bad0b5cdbade.png"; -------------------------------------------------------------------------------- /src/images/ctf-branch.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/ctf-branch-a9c8d757b4c93ed7e57d9ecc2bf27913.svg"; -------------------------------------------------------------------------------- /src/images/favicon.png: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/favicon-7cd406a550f3945296d8e7e6e1bbc65f.png"; -------------------------------------------------------------------------------- /src/images/intercom-logo.png: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/intercom-logo-7b36b3b2916d7eaacad8cbcec92ead24.png"; -------------------------------------------------------------------------------- /src/images/magic-line-4.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/magic-line-4-1abbb4ef6830b2a40cfc683df33fac89.svg"; -------------------------------------------------------------------------------- /src/images/magic-line-6.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/magic-line-6-0864dd6baa3fbdc44c23ffe3327b8c0b.svg"; -------------------------------------------------------------------------------- /src/images/magic-line-sparkle-left.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/magic-line-sparkle-left-b244c6667bc5d2f4b6cb403db5b557f6.svg"; -------------------------------------------------------------------------------- /src/images/magic-line-sparkle-right.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/magic-line-sparkle-right-56432331251a3d7567d733c20a7f82b8.svg"; -------------------------------------------------------------------------------- /src/images/new-tab-icon.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/new-tab-icon-b709d2bf8c6899c56602fb5d9f1f3a1e.svg"; -------------------------------------------------------------------------------- /src/images/optimizely.png: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/optimizely-b159c1d9e24d649da5b4362e9113cf72.png"; -------------------------------------------------------------------------------- /src/images/proactive-support-icon.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/proactive-support-icon-1bb115ab49e839df0adc41ae12d98214.svg"; -------------------------------------------------------------------------------- /src/images/product-icon.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/product-icon-12557f3cca74875fe577cd311392f2c8.svg"; -------------------------------------------------------------------------------- /src/images/resolution-bot-icon.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/resolution-bot-icon-5340716ec430aee57e5b8853a4e86739.svg"; -------------------------------------------------------------------------------- /src/images/star-empty.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/star-empty-03ee22410ea1934e2635f4ed2b4420e2.svg"; -------------------------------------------------------------------------------- /src/images/star-half.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/star-half-773f39fe482086686de3da273b9bbac3.svg"; -------------------------------------------------------------------------------- /src/images/star.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/star-b4773292e178edc004965104b5c900e8.svg"; -------------------------------------------------------------------------------- /src/library/components/CapabilitiesCarousel/index.ts: -------------------------------------------------------------------------------- 1 | import { IProps as ICapabilitiesCarouselSlide } from 'marketing-site/src/library/components/CapabilitiesCarouselSlide/index' 2 | import { mq, withMediaQuery } from 'marketing-site/src/library/utils' 3 | import { CapabilitiesCarousel as CapabilitiesCarouselComponent } from './component' 4 | 5 | export const CapabilitiesCarousel = withMediaQuery( 6 | // @ts-ignore 7 | 'isMobile', 8 | mq.mobile, 9 | CapabilitiesCarouselComponent, 10 | ) 11 | 12 | export interface IProps { 13 | slides: ICapabilitiesCarouselSlide[] 14 | } 15 | -------------------------------------------------------------------------------- /src/library/components/CapabilitiesCarouselSlide/component.tsx: -------------------------------------------------------------------------------- 1 | import { VideoAutoplay } from 'marketing-site/src/library/elements/VideoAutoplay' 2 | import React from 'react' 3 | import { IProps } from './index' 4 | 5 | export function CapabilitiesCarouselSlide({ 6 | video, 7 | alt, 8 | videoWebm, 9 | fallbackImage, 10 | playOnce, 11 | }: IProps) { 12 | return ( 13 | 20 | ) 21 | } 22 | -------------------------------------------------------------------------------- /src/library/components/ComponentGroup/component.tsx: -------------------------------------------------------------------------------- 1 | import { Entry } from 'contentful' 2 | import { IComponentGroupFields } from 'marketing-site/@types/generated/contentful' 3 | import { renderEntry } from 'marketing-site/lib/render' 4 | import EntryMarker from 'marketing-site/src/components/common/EntryMarker' 5 | import React from 'react' 6 | 7 | export function ComponentGroup({ components }: IComponentGroupFields) { 8 | return ( 9 | <> 10 | {components.map((entry: Entry<{}>, index: number) => ( 11 | 12 | {renderEntry(entry)} 13 | 14 | ))} 15 | 16 | ) 17 | } 18 | -------------------------------------------------------------------------------- /src/library/components/HomepageHero/index.ts: -------------------------------------------------------------------------------- 1 | import { HomepageHero as HomepageHeroComponent } from './component' 2 | import { mq, withMediaQuery } from '../../utils' 3 | 4 | export const HomepageHero = withMediaQuery( 5 | // @ts-ignore 6 | 'isMobile', 7 | mq.mobile, 8 | HomepageHeroComponent, 9 | ) 10 | 11 | export interface IProps { 12 | renderEmailForm: () => React.ReactNode 13 | isMobile?: boolean 14 | headline: string 15 | headline2: string 16 | } 17 | -------------------------------------------------------------------------------- /src/library/components/IDLink/component.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { IProps } from './index' 3 | 4 | export function IDLink({ id, offsetFromTop }: IProps) { 5 | return ( 6 |
7 | 14 |
15 | ) 16 | } 17 | -------------------------------------------------------------------------------- /src/library/components/SignUpCTA/buttonOnlyCTAContext.tsx: -------------------------------------------------------------------------------- 1 | import { createContext } from 'react' 2 | 3 | const ButtonOnlyCTAContext = createContext(false) 4 | 5 | export default ButtonOnlyCTAContext 6 | -------------------------------------------------------------------------------- /src/library/components/TestimonialTextOnly/index.ts: -------------------------------------------------------------------------------- 1 | import { mq, RichText, withMediaQuery } from '../../utils' 2 | import { TestimonialTextOnly as TestimonialTextOnlyPure } from './component' 3 | import { IProps as IImage } from '../../elements/Image' 4 | 5 | export const TestimonialTextOnly = withMediaQuery('isMobile', mq.mobile, TestimonialTextOnlyPure) 6 | 7 | export interface IProps { 8 | headline?: string 9 | quote: string 10 | result: string 11 | resultCopy: RichText 12 | resultLink?: RichText 13 | resultLogo?: string 14 | hasQuotationMark?: boolean 15 | isMobile: boolean 16 | avatar?: IImage 17 | } 18 | -------------------------------------------------------------------------------- /src/library/elements/CTAButton/styles.scss: -------------------------------------------------------------------------------- 1 | 2 | import css from 'styled-jsx/css'; 3 | 4 | export default css.global`/* @styled-jsx=global */ 5 | 6 | .cta-button { 7 | @include button; 8 | position: relative; 9 | 10 | svg { 11 | margin-left: 8px; 12 | vertical-align: middle; 13 | margin-top: -2px; 14 | } 15 | } 16 | ` -------------------------------------------------------------------------------- /src/library/elements/CTALink/styles.scss: -------------------------------------------------------------------------------- 1 | 2 | import css from 'styled-jsx/css'; 3 | 4 | export default css.global`/* @styled-jsx=global */ 5 | 6 | .cta-link { 7 | @include button; 8 | 9 | svg { 10 | margin-left: 8px; 11 | vertical-align: middle; 12 | margin-top: -2px; 13 | } 14 | } 15 | ` -------------------------------------------------------------------------------- /src/library/elements/FooterHeadingLink/component.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { Text } from '../Text' 3 | import { IProps } from './index' 4 | 5 | export class FooterHeadingLink extends React.PureComponent { 6 | render() { 7 | const { text, url } = this.props 8 | return ( 9 | <> 10 | 11 |

12 | {text} 13 |

14 |
15 | 16 | ) 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/library/elements/FooterSection/styles.scss: -------------------------------------------------------------------------------- 1 | 2 | import css from 'styled-jsx/css'; 3 | 4 | export default css.global`/* @styled-jsx=global */ 5 | 6 | .footer-section { 7 | &__header { 8 | margin: 0 0 8px; 9 | } 10 | 11 | &__list-item { 12 | width: 100%; 13 | margin: 0; 14 | } 15 | } 16 | ` -------------------------------------------------------------------------------- /src/library/elements/ImageCard/component.tsx: -------------------------------------------------------------------------------- 1 | import { Image, IProps } from 'marketing-site/src/library/elements/Image' 2 | import React from 'react' 3 | 4 | export const ImageCard = (props: IProps) => { 5 | return ( 6 | <> 7 | 8 | 17 | 18 | ) 19 | } 20 | -------------------------------------------------------------------------------- /src/library/elements/RichText/index.ts: -------------------------------------------------------------------------------- 1 | export { RichText } from './component' 2 | import { Document } from '@contentful/rich-text-types' 3 | 4 | interface IPropsWithHtmlRequired { 5 | html: string 6 | document?: Document 7 | behaviour?: 'Default' | 'Typography' | undefined 8 | } 9 | 10 | interface IPropsWithRichTextRequired { 11 | html?: string 12 | document: Document 13 | behaviour?: 'Default' | 'Typography' | undefined 14 | } 15 | 16 | export type IProps = IPropsWithHtmlRequired | IPropsWithRichTextRequired 17 | -------------------------------------------------------------------------------- /src/library/elements/Tag/component.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { Text } from '../Text' 3 | import { TextLink } from '../TextLink' 4 | import { IProps } from './index' 5 | 6 | export class Tag extends React.PureComponent { 7 | render() { 8 | const { text, url } = this.props 9 | return ( 10 | 11 | {text} 12 | 13 | ) 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/library/elements/Text/index.ts: -------------------------------------------------------------------------------- 1 | export { Text, BlockText } from './component' 2 | 3 | export type SizeOptions = 4 | | 'heading+' 5 | | 'heading' 6 | | 'xxl+' 7 | | 'xxl' 8 | | 'xl+' 9 | | 'xl' 10 | | 'lg+' 11 | | 'lg' 12 | | 'md+' 13 | | 'md' 14 | | 'caption+' 15 | | 'caption' 16 | | 'body+' 17 | | 'body' 18 | | 'lg-eyebrow' 19 | | 'xxl++' 20 | | 'lg-percentage' 21 | 22 | export interface IProps { 23 | size: SizeOptions 24 | children: React.ReactNode 25 | } 26 | -------------------------------------------------------------------------------- /src/library/elements/Tooltip/index.ts: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | 3 | export { Tooltip } from './element' 4 | 5 | export interface IProps { 6 | above?: boolean 7 | children: React.ReactNode 8 | text?: string 9 | eyebrow?: string 10 | icon?: string 11 | } 12 | -------------------------------------------------------------------------------- /src/library/hooks/useIsomorphicLayoutEffect.ts: -------------------------------------------------------------------------------- 1 | import { useLayoutEffect, useEffect } from 'react' 2 | 3 | // A server-friendly way of using useLayoutEffect 4 | export const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect 5 | -------------------------------------------------------------------------------- /src/library/images/accent-left.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/accent-left-774fd671a1b7dfc18ef707b80bfd01b7.svg"; -------------------------------------------------------------------------------- /src/library/images/accent-right.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/accent-right-968e04b6dcb6f0d35e1e54b93a81b311.svg"; -------------------------------------------------------------------------------- /src/library/images/addon-plus.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/addon-plus-8dd41a08e6b0b92cafd7bb3b547c6281.svg"; -------------------------------------------------------------------------------- /src/library/images/addon.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/addon-8a16823feee20135ef62113891b9070b.svg"; -------------------------------------------------------------------------------- /src/library/images/book-demo-background.png: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/book-demo-background-493d38d5a55310edd4f05859ed9b803b.png"; -------------------------------------------------------------------------------- /src/library/images/bottom-texture-11.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/bottom-texture-11-44ca785b6323040490537fc2c62d87a0.svg"; -------------------------------------------------------------------------------- /src/library/images/bottom-texture-4.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/bottom-texture-4-44fd8a069a3cdc7adc7a3836abbf4b11.svg"; -------------------------------------------------------------------------------- /src/library/images/brand-magic-star-logo-pond.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/brand-magic-star-logo-pond-a17b7c34fdbb6d8199dff58ed4e0964a.svg"; -------------------------------------------------------------------------------- /src/library/images/brand-magic-transition.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/brand-magic-transition-28e920ec51089a19eb22a986e4db14dc.svg"; -------------------------------------------------------------------------------- /src/library/images/bullet-point.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/bullet-point-d206f6061722f16647ffa8d7909e6e20.svg"; -------------------------------------------------------------------------------- /src/library/images/caret.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/caret-e0bcde45dd7b6bc2c1c3b19ba0295394.svg"; -------------------------------------------------------------------------------- /src/library/images/checkmark-white.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/checkmark-white-cab643cb20b6a8b01dabd3828b057848.svg"; -------------------------------------------------------------------------------- /src/library/images/checkmark.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/checkmark-c322e619eeb9b7c09987bc74072de6dd.svg"; -------------------------------------------------------------------------------- /src/library/images/csf-page/section-1.png: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/section-1-6be3c1a56710036af33c9aefaf648c6d.png"; -------------------------------------------------------------------------------- /src/library/images/csf-page/section-2.png: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/section-2-4eb665f6163c88f3a40e5c29d044ceb0.png"; -------------------------------------------------------------------------------- /src/library/images/csf-page/section-3.png: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/section-3-7d21c9afa5bbefd152440f328d237037.png"; -------------------------------------------------------------------------------- /src/library/images/csf-page/section-4.png: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/section-4-81ec37f2a6ffa8f9de6d145e4465d15c.png"; -------------------------------------------------------------------------------- /src/library/images/csf-page/section-5.png: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/section-5-53df396cd53f70ec32bb9d065a1bb6cf.png"; -------------------------------------------------------------------------------- /src/library/images/csf-page/section-6.png: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/section-6-8f7222bcf712f5759b456e724d9f9c30.png"; -------------------------------------------------------------------------------- /src/library/images/csf-page/section-7.png: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/section-7-69ba766e1cacd6c7ea678cd794a80fe3.png"; -------------------------------------------------------------------------------- /src/library/images/edge-texture.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/edge-texture-a364a1f85ca4e1e224610491de2e5270.svg"; -------------------------------------------------------------------------------- /src/library/images/email_pattern.gif: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/email_pattern-85b59533ccbe9d6583ba17667adb9a90.gif"; -------------------------------------------------------------------------------- /src/library/images/feature-checkmark.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/feature-checkmark-3c4cdaad268409bfb36583867cb003dc.svg"; -------------------------------------------------------------------------------- /src/library/images/icons/controls--play.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/controls--play-01dc2d8d5edd96c40758724024255430.svg"; -------------------------------------------------------------------------------- /src/library/images/icons/product--articles.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/product--articles-769ed5078294d3071247cca82938fe72.svg"; -------------------------------------------------------------------------------- /src/library/images/icons/product--at-sign.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/product--at-sign-e1ca881c020993313c5f10a1fcbb081c.svg"; -------------------------------------------------------------------------------- /src/library/images/icons/product--bell.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/product--bell-6b24037e7e5ff7d05219cd7f4e512d40.svg"; -------------------------------------------------------------------------------- /src/library/images/icons/product--bots.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/product--bots-ac0b984db25faf2100e1cdc044a35edf.svg"; -------------------------------------------------------------------------------- /src/library/images/icons/product--contacts.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/product--contacts-80c66b8aa07c79f038efb5136e6f61ba.svg"; -------------------------------------------------------------------------------- /src/library/images/icons/product--inbox.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/product--inbox-b3c7e3677db33bc849d9ff552a4dafd2.svg"; -------------------------------------------------------------------------------- /src/library/images/icons/product--messenger.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/product--messenger-e9769688ade62ebf70fcbf88c48fc483.svg"; -------------------------------------------------------------------------------- /src/library/images/icons/product--outbound.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/product--outbound-f4577fa817dd042a36421797b8b6fc93.svg"; -------------------------------------------------------------------------------- /src/library/images/icons/product--reports.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/product--reports-289d7cc47c6531ea88ed4d4ed8eb65f3.svg"; -------------------------------------------------------------------------------- /src/library/images/icons/product--series.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/product--series-7514dd17437bf9f4926ce452c1c0f370.svg"; -------------------------------------------------------------------------------- /src/library/images/icons/product--tours.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/product--tours-6b408d067af90ee5d8ce887edd0fefea.svg"; -------------------------------------------------------------------------------- /src/library/images/icons/product--user.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/product--user-8f772f82adb361101e83a068fcdea54f.svg"; -------------------------------------------------------------------------------- /src/library/images/icons/product-apps.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/product-apps-8bf54484a6d1a91e5cb4a4a07029f3fb.svg"; -------------------------------------------------------------------------------- /src/library/images/icons/sparkle-icon.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/sparkle-icon-6e8ddf13dd93b8127ef6da266a59e3e5.svg"; -------------------------------------------------------------------------------- /src/library/images/icons/use-cases--magnet.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/use-cases--magnet-c99af2490f07247e4df2c64b3955131c.svg"; -------------------------------------------------------------------------------- /src/library/images/icons/use-cases--target-shooting.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/use-cases--target-shooting-15ee6ccb9d7c1cdbc09b578f67a41a43.svg"; -------------------------------------------------------------------------------- /src/library/images/icons/use-cases--wheel.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/use-cases--wheel-7850eabcec67843661d3c993c679eceb.svg"; -------------------------------------------------------------------------------- /src/library/images/menu_line_new.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/menu_line_new-215d252eebd15fcccfdfab4969fef9c2.svg"; -------------------------------------------------------------------------------- /src/library/images/mobile-carousels/hero.png: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/hero-5ad1e3e2e2ea04d633d00e33cdfcdd56.png"; -------------------------------------------------------------------------------- /src/library/images/mobile-carousels/texture-1.png: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/texture-1-a3f210dc3adbceeaaed27e4706b8020a.png"; -------------------------------------------------------------------------------- /src/library/images/mobile-carousels/texture-2.png: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/texture-2-248ff7ffb9d46adb5ae115504ad8c59e.png"; -------------------------------------------------------------------------------- /src/library/images/mobile-carousels/texture-3.png: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/texture-3-d017ff4514215d6e7849aa9ede90dfbe.png"; -------------------------------------------------------------------------------- /src/library/images/mobile-carousels/texture-4.png: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/texture-4-f1b718d80d7548589e93ab27c7a8f62c.png"; -------------------------------------------------------------------------------- /src/library/images/mobile-carousels/texture-5.png: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/texture-5-a353746f7fb0f1c870f74d3da80bfa1f.png"; -------------------------------------------------------------------------------- /src/library/images/mobile-carousels/texture-6.png: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/texture-6-5e6c167f09d3f5ce541b875e2875a70d.png"; -------------------------------------------------------------------------------- /src/library/images/modal-bottom-curve-texture.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/modal-bottom-curve-texture-954c4ba29442999400c85b5e247f02c1.svg"; -------------------------------------------------------------------------------- /src/library/images/modal-bottom-edge-texture.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/modal-bottom-edge-texture-793586f532d5586b2f3a90df3016a260.svg"; -------------------------------------------------------------------------------- /src/library/images/modal-edge-texture.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/modal-edge-texture-3597c6c28a603428a769ba900c7ae619.svg"; -------------------------------------------------------------------------------- /src/library/images/paper-tear-top-white.png: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/paper-tear-top-white-c46891bd7d4bf037e402306d58853647.png"; -------------------------------------------------------------------------------- /src/library/images/spanner.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/spanner-ef3cf67073b9ca0db1293397c52df0c8.svg"; -------------------------------------------------------------------------------- /src/library/images/statistic-background.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/statistic-background-516655e8db91775dd9b93699d9bffc5d.svg"; -------------------------------------------------------------------------------- /src/library/images/top-texture.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/top-texture-03a9aa675b1799dcfa099e20123c151d.svg"; -------------------------------------------------------------------------------- /src/library/images/torn-bottom-3.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/torn-bottom-3-93f8ce02e6a377dca22f3547c384daf8.svg"; -------------------------------------------------------------------------------- /src/library/images/torn-top-3.svg: -------------------------------------------------------------------------------- 1 | export default "/_next/static/images/torn-top-3-67bcead42672d543a98266ce54490df6.svg"; -------------------------------------------------------------------------------- /src/library/styles/pages/book-custom-demo.scss: -------------------------------------------------------------------------------- 1 | 2 | import postcssStyledJsxUrlLoader_0 from '../../images/book-demo-background.png'; 3 | import css from 'styled-jsx/css'; 4 | 5 | export default css.global`/* @styled-jsx=global */ 6 | 7 | #layout-wrapper.book-custom-demo { 8 | width: 50%; 9 | } 10 | 11 | html { 12 | background: url("${postcssStyledJsxUrlLoader_0}") no-repeat right center; 13 | background-position: 100% 0; 14 | background-size: 50%; 15 | } 16 | 17 | button.hidden { 18 | visibility: hidden; 19 | } 20 | ` -------------------------------------------------------------------------------- /src/library/styles/pages/g2-page.scss: -------------------------------------------------------------------------------- 1 | 2 | import css from 'styled-jsx/css'; 3 | 4 | export default css.global`/* @styled-jsx=global */ 5 | 6 | #layout-wrapper.g2-page { 7 | .section--featureSpotlight { 8 | margin-top: 0; 9 | margin-bottom: 0; 10 | } 11 | 12 | .feature-spotlight__background { 13 | padding: 0; 14 | 15 | &::after { 16 | height: 0; 17 | } 18 | } 19 | } 20 | ` -------------------------------------------------------------------------------- /src/library/styles/pages/pricing-page.scss: -------------------------------------------------------------------------------- 1 | 2 | import css from 'styled-jsx/css'; 3 | 4 | export default css.global`/* @styled-jsx=global */ 5 | 6 | #layout-wrapper.pricing-page { 7 | #main { 8 | padding-top: 0; 9 | 10 | @include media-query(tablet) { 11 | padding-top: 20px; 12 | } 13 | } 14 | 15 | .section--headingBlock { 16 | padding-bottom: 20px; 17 | margin: 0; 18 | 19 | h1 span { 20 | font-size: 32px; 21 | 22 | @include media-query(tablet) { 23 | font-size: 36px; 24 | } 25 | } 26 | 27 | @include media-query(tablet) { 28 | margin: 20px 0; 29 | } 30 | } 31 | } 32 | ` -------------------------------------------------------------------------------- /src/library/styles/vendor/vendor.scss: -------------------------------------------------------------------------------- 1 | 2 | import css from 'styled-jsx/css'; 3 | 4 | export default css.global`/* @styled-jsx=global */ 5 | 6 | @import 'vendor/react-slick'; 7 | @import '@reach/menu-button/styles'; 8 | @import 'swiper/swiper.scss'; 9 | @import 'swiper/components/navigation/navigation'; 10 | ` -------------------------------------------------------------------------------- /src/library/utils/constants/animation.ts: -------------------------------------------------------------------------------- 1 | interface ITiming { 2 | FAST: number 3 | STANDARD: number 4 | } 5 | 6 | export const TIMING: ITiming = { 7 | FAST: 250, 8 | STANDARD: 500, 9 | } 10 | 11 | export const BUMP_UP = { 12 | TRANSITION: 'transform 0.5s', 13 | TRANSFORM: 'translateY(-10px)', 14 | } 15 | -------------------------------------------------------------------------------- /src/library/utils/constants/colors.ts: -------------------------------------------------------------------------------- 1 | export enum Color { 2 | Black = '#000000', 3 | Blue = '#326BFF', 4 | Gray = '#E7E7E7', 5 | LightBlue = '#C4E0FD', 6 | LightGray = '#F5F5F5', 7 | LightOrange = '#eF8D5D', 8 | LightPurple = '#AB89E1', 9 | LightTeal = '#B3FFF8', 10 | LightYellow = '#FFD953', 11 | Orange = '#F56D29', 12 | Purple = '#5A378A', 13 | Teal = '#6AFDEF', 14 | UIGray = '#A0A0A0', 15 | UIError = '#FC5B3F', 16 | UISuccess = '#6AFDB3', 17 | UIWarning = '#FFD935', 18 | White = '#FFFFFF', 19 | Yellow = '#F5C000', 20 | Red = '#FF0000', 21 | Transparent = 'transparent', 22 | } 23 | -------------------------------------------------------------------------------- /src/library/utils/constants/mediaQueries.ts: -------------------------------------------------------------------------------- 1 | export const mqBreakpoints = { 2 | largePhone: 414, 3 | tablet: 768, 4 | laptop: 990, 5 | desktop: 1024, 6 | desktopLg: 1440, 7 | desktopXLg: 1600, 8 | } 9 | 10 | export const mq = { 11 | largePhone: `max-width: ${mqBreakpoints.largePhone}px`, 12 | mobile: `max-width: ${mqBreakpoints.tablet - 1}px`, 13 | tablet: `min-width: ${mqBreakpoints.tablet}px`, 14 | laptop: `min-width: ${mqBreakpoints.laptop}px`, 15 | desktop: `min-width: ${mqBreakpoints.desktop}px`, 16 | desktopLg: `min-width: ${mqBreakpoints.desktopLg}px`, 17 | desktopXLg: `min-width: ${mqBreakpoints.desktopXLg}px`, 18 | } 19 | -------------------------------------------------------------------------------- /src/library/utils/constants/textAlign.ts: -------------------------------------------------------------------------------- 1 | export enum TextAlign { 2 | Left = 'left', 3 | Right = 'right', 4 | Center = 'center', 5 | } 6 | 7 | export function getTextAlignByKey(textAlignStr: keyof typeof TextAlign): TextAlign { 8 | return TextAlign[textAlignStr] 9 | } 10 | -------------------------------------------------------------------------------- /src/library/utils/constants/typography.ts: -------------------------------------------------------------------------------- 1 | export const fontGraphik = 'Graphik, Helvetica, Arial, sans-serif' 2 | export const fontHoney = `'Honey Bold Banner', ${fontGraphik}` 3 | export const fontSmileScript = 'Smile Script' 4 | 5 | export const SMARTQUOTE_OPEN = String.fromCharCode(8220) 6 | export const SMARTQUOTE_CLOSE = String.fromCharCode(8221) 7 | -------------------------------------------------------------------------------- /src/library/utils/ios.ts: -------------------------------------------------------------------------------- 1 | export const isIosSafari = () => { 2 | const userAgent = typeof window !== 'undefined' ? window.navigator.userAgent : '' 3 | const iOS = !!userAgent.match(/iP(ad|hone)/i) 4 | const webkit = !!userAgent.match(/WebKit/i) 5 | 6 | return iOS && webkit && !userAgent.match(/CriOS/i) 7 | } 8 | -------------------------------------------------------------------------------- /src/library/utils/network.ts: -------------------------------------------------------------------------------- 1 | export function loadImage(url: string) { 2 | return new Promise((resolve) => { 3 | const img = new window.Image() 4 | img.crossOrigin = 'Anonymous' 5 | img.addEventListener('load', resolve, false) 6 | img.addEventListener('error', resolve, false) 7 | img.src = url 8 | }) 9 | } 10 | -------------------------------------------------------------------------------- /src/library/utils/textUtils.ts: -------------------------------------------------------------------------------- 1 | export const makeHyphensUnbreakable = (text: string) => { 2 | const unbreakableHyphen = '‑' 3 | return text.replace(/-/g, unbreakableHyphen) 4 | } 5 | -------------------------------------------------------------------------------- /src/transformers/components/ContentfulComponentGroup.tsx: -------------------------------------------------------------------------------- 1 | import { IComponentGroup } from 'marketing-site/@types/generated/contentful' 2 | import EntryMarker from 'marketing-site/src/components/common/EntryMarker' 3 | import { ComponentGroup } from 'marketing-site/src/library/components/ComponentGroup' 4 | import React from 'react' 5 | 6 | export const ContentfulComponentGroup = (data: IComponentGroup) => { 7 | return ( 8 | 9 | {() => } 10 | 11 | ) 12 | } 13 | -------------------------------------------------------------------------------- /src/transformers/components/ContentfulIDLink.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { IProps as IIDLink, IDLink } from 'marketing-site/src/library/components/IDLink' 3 | import { IIdLink as IContentfulIDLink } from 'marketing-site/@types/generated/contentful' 4 | import EntryMarker from 'marketing-site/src/components/common/EntryMarker' 5 | 6 | export const ContentfulIDLink = (data: IContentfulIDLink) => { 7 | return ( 8 | 9 | 10 | 11 | ) 12 | } 13 | 14 | export function transformIDLink(data: IContentfulIDLink): IIDLink { 15 | return { 16 | ...data.fields, 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/transformers/elements/ContentfulCheckmarks.tsx: -------------------------------------------------------------------------------- 1 | import { ICheckmarks as IContentfulCheckmarks } from 'marketing-site/@types/generated/contentful' 2 | import { IProps as ICheckmarks } from 'marketing-site/src/library/elements/CheckMarks' 3 | 4 | export function transformCheckmarks({ fields }: IContentfulCheckmarks): ICheckmarks { 5 | return { 6 | ...fields, 7 | items: fields.checkmarkText as [string, string, string], 8 | vertical: fields.vertical === true, 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/transformers/elements/ContentfulFeatureListItem.tsx: -------------------------------------------------------------------------------- 1 | import { IProps as FeatureListItem } from 'marketing-site/src/library/elements/FeatureListItem' 2 | import { IFeatureListItem as IContentfulFeatureListItem } from 'marketing-site/@types/generated/contentful' 3 | import { documentToHtmlString } from '@contentful/rich-text-html-renderer' 4 | 5 | // Transformer Function 6 | export function transformFeatureListItem({ fields }: IContentfulFeatureListItem): FeatureListItem { 7 | return { 8 | ...fields, 9 | richText: documentToHtmlString(fields.richText), 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/transformers/elements/ContentfulFooterLink.tsx: -------------------------------------------------------------------------------- 1 | import { IProps as IFooterLink } from 'marketing-site/src/library/elements/FooterHeadingLink' 2 | import { IFooterLinks as IContentfulFooterLink } from 'marketing-site/@types/generated/contentful' 3 | 4 | export function transformFooterLink({ fields }: IContentfulFooterLink): IFooterLink { 5 | return { 6 | ...fields, 7 | text: fields.title, 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/transformers/elements/ContentfulJumpLink.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { IJumpLink as IContentfulJumpLink } from 'marketing-site/@types/generated/contentful' 3 | import { IProps as IJumpLink, JumpLink } from 'marketing-site/src/library/elements/JumpLink' 4 | 5 | export function ContentfulJumpLink(data: IContentfulJumpLink) { 6 | return 7 | } 8 | 9 | export function transformJumpLink({ fields }: IContentfulJumpLink): IJumpLink { 10 | return { 11 | ...fields, 12 | elementToScrollTo: fields.idLink, 13 | text: fields.label, 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/transformers/elements/ContentfulLogo.tsx: -------------------------------------------------------------------------------- 1 | import { ILogo as IContentfulLogo } from 'marketing-site/@types/generated/contentful' 2 | import { IProps as ILogo } from 'marketing-site/src/library/elements/Logo' 3 | 4 | export function transformLogo({ fields }: IContentfulLogo): ILogo { 5 | return { 6 | ...fields, 7 | logoUrl: fields.logoUrl.fields.file.url, 8 | width: fields.logoUrl.fields.file.details.image?.width, 9 | height: fields.logoUrl.fields.file.details.image?.height, 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/transformers/elements/ContentfulOpenMessenger.tsx: -------------------------------------------------------------------------------- 1 | import { IOpenMessenger } from 'marketing-site/src/library/elements/FooterSection' 2 | import { IOpenMessenger as IContentfulOpenMessenger } from 'marketing-site/@types/generated/contentful' 3 | 4 | export function transformOpenMessenger({ fields }: IContentfulOpenMessenger): IOpenMessenger { 5 | return { 6 | text: fields.title, 7 | url: fields.fallbackUrl, 8 | openMessenger: true, 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/transformers/elements/ContentfulPriceForPeriod.tsx: -------------------------------------------------------------------------------- 1 | import { IPriceForPeriod } from 'marketing-site/src/library/elements/PriceForPeriod' 2 | import { IPriceForPeriod as IContentfulPriceForPeriod } from 'marketing-site/@types/generated/contentful' 3 | 4 | export function transformPriceForPeriod({ fields }: IContentfulPriceForPeriod): IPriceForPeriod { 5 | return { 6 | ...fields, 7 | price: fields.price, 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/transformers/elements/ContentfulWiredCard.tsx: -------------------------------------------------------------------------------- 1 | import { IWiredCardElement as IContentfulWiredCard } from 'marketing-site/@types/generated/contentful' 2 | import { IProps as IWiredCard } from 'marketing-site/src/library/elements/WiredCardElement' 3 | import * as Utils from 'marketing-site/src/library/utils' 4 | 5 | export function transformWiredCard({ fields }: IContentfulWiredCard): IWiredCard { 6 | return { 7 | ...fields, 8 | title: fields?.title, 9 | description: fields.description, 10 | companyName: fields?.companyName, 11 | companyLogo: fields.companyLogo?.fields.file.url, 12 | bgColor: Utils.getHexColorFromName(fields.bgColor), 13 | } 14 | } 15 | --------------------------------------------------------------------------------